Repository: andrew-hoffman/halfnes
Branch: master
Commit: 16476263cd95
Files: 152
Total size: 2.2 MB
Directory structure:
gitextract_4vbeh24w/
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── nbactions.xml
├── pom.xml
└── src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── grapeshot/
│ │ └── halfnes/
│ │ ├── APU.java
│ │ ├── CPU.java
│ │ ├── CPURAM.java
│ │ ├── FileUtils.java
│ │ ├── HeadlessNES.java
│ │ ├── JInputHelper.java
│ │ ├── JavaFXNES.java
│ │ ├── NES.java
│ │ ├── PPU.java
│ │ ├── PrefsSingleton.java
│ │ ├── ROMLoader.java
│ │ ├── Twiddler.form
│ │ ├── Twiddler.java
│ │ ├── audio/
│ │ │ ├── AudioOutInterface.java
│ │ │ ├── CircularBuffer.java
│ │ │ ├── ExpansionSoundChip.java
│ │ │ ├── FDSSoundChip.java
│ │ │ ├── FFT.java
│ │ │ ├── MMC5SoundChip.java
│ │ │ ├── Namco163SoundChip.java
│ │ │ ├── NoiseTimer.java
│ │ │ ├── Reverberator.java
│ │ │ ├── SquareTimer.java
│ │ │ ├── Sunsoft5BSoundChip.java
│ │ │ ├── SwingAudioImpl.java
│ │ │ ├── Timer.java
│ │ │ ├── TriangleTimer.java
│ │ │ ├── VRC6SoundChip.java
│ │ │ └── VRC7SoundChip.java
│ │ ├── cheats/
│ │ │ ├── ActionReplay.java
│ │ │ ├── ActionReplayGui.form
│ │ │ ├── ActionReplayGui.java
│ │ │ └── Patch.java
│ │ ├── halfNES.java
│ │ ├── mappers/
│ │ │ ├── Action52Mapper.java
│ │ │ ├── AfterburnerMapper.java
│ │ │ ├── AnromMapper.java
│ │ │ ├── BadMapperException.java
│ │ │ ├── BnromMapper.java
│ │ │ ├── CaltronMapper.java
│ │ │ ├── CnromMapper.java
│ │ │ ├── CodemastersMapper.java
│ │ │ ├── ColorDreamsMapper.java
│ │ │ ├── CrazyClimberMapper.java
│ │ │ ├── CrimeBustersMapper.java
│ │ │ ├── FME7Mapper.java
│ │ │ ├── GnromMapper.java
│ │ │ ├── IremH3001Mapper.java
│ │ │ ├── MIMICMapper.java
│ │ │ ├── MMC1Mapper.java
│ │ │ ├── MMC2Mapper.java
│ │ │ ├── MMC3Mapper.java
│ │ │ ├── MMC4Mapper.java
│ │ │ ├── MMC5Mapper.java
│ │ │ ├── Mapper.java
│ │ │ ├── Mapper107.java
│ │ │ ├── Mapper112.java
│ │ │ ├── Mapper119.java
│ │ │ ├── Mapper140.java
│ │ │ ├── Mapper15.java
│ │ │ ├── Mapper152.java
│ │ │ ├── Mapper182.java
│ │ │ ├── Mapper185.java
│ │ │ ├── Mapper200.java
│ │ │ ├── Mapper201.java
│ │ │ ├── Mapper203.java
│ │ │ ├── Mapper212.java
│ │ │ ├── Mapper213.java
│ │ │ ├── Mapper214.java
│ │ │ ├── Mapper225.java
│ │ │ ├── Mapper226.java
│ │ │ ├── Mapper229.java
│ │ │ ├── Mapper231.java
│ │ │ ├── Mapper240.java
│ │ │ ├── Mapper241.java
│ │ │ ├── Mapper242.java
│ │ │ ├── Mapper244.java
│ │ │ ├── Mapper246.java
│ │ │ ├── Mapper255.java
│ │ │ ├── Mapper31.java
│ │ │ ├── Mapper33.java
│ │ │ ├── Mapper36.java
│ │ │ ├── Mapper47.java
│ │ │ ├── Mapper48.java
│ │ │ ├── Mapper58.java
│ │ │ ├── Mapper60.java
│ │ │ ├── Mapper61.java
│ │ │ ├── Mapper62.java
│ │ │ ├── Mapper70.java
│ │ │ ├── Mapper72.java
│ │ │ ├── Mapper76.java
│ │ │ ├── Mapper78.java
│ │ │ ├── Mapper86.java
│ │ │ ├── Mapper87.java
│ │ │ ├── Mapper92.java
│ │ │ ├── Mapper94.java
│ │ │ ├── Mapper97.java
│ │ │ ├── NINA_001_Mapper.java
│ │ │ ├── NINA_003_006_Mapper.java
│ │ │ ├── NSFMapper.java
│ │ │ ├── NSFPlayerFont.java
│ │ │ ├── NamcoMapper.java
│ │ │ ├── Namcot34x3Mapper.java
│ │ │ ├── NromMapper.java
│ │ │ ├── Sunsoft01Mapper.java
│ │ │ ├── Sunsoft02Mapper.java
│ │ │ ├── Sunsoft03Mapper.java
│ │ │ ├── TengenRamboMapper.java
│ │ │ ├── UnromMapper.java
│ │ │ ├── VRC1Mapper.java
│ │ │ ├── VRC2Mapper.java
│ │ │ ├── VRC3Mapper.java
│ │ │ ├── VRC4Mapper.java
│ │ │ ├── VRC6Mapper.java
│ │ │ └── VRC7Mapper.java
│ │ ├── ui/
│ │ │ ├── ControllerImpl.java
│ │ │ ├── ControllerInterface.java
│ │ │ ├── ControlsDialog.form
│ │ │ ├── ControlsDialog.java
│ │ │ ├── DebugUI.java
│ │ │ ├── DummyController.java
│ │ │ ├── FrameLimiterImpl.java
│ │ │ ├── FrameLimiterInterface.java
│ │ │ ├── GUIInterface.java
│ │ │ ├── HeadlessUI.java
│ │ │ ├── NESFileFilter.java
│ │ │ ├── OnScreenMenu.java
│ │ │ ├── Oscilloscope.java
│ │ │ ├── PreferencesDialog.form
│ │ │ ├── PreferencesDialog.java
│ │ │ ├── PuppetController.java
│ │ │ └── SwingUI.java
│ │ ├── utils.java
│ │ └── video/
│ │ ├── AltNTSCRenderer.java
│ │ ├── NTSCRenderer.java
│ │ ├── NesColors.java
│ │ ├── RGBRenderer.java
│ │ └── Renderer.java
│ ├── java-templates/
│ │ └── com/
│ │ └── grapeshot/
│ │ └── halfnes/
│ │ └── ProjectInfo.java
│ └── resources/
│ ├── changelog.txt
│ └── todo.txt
└── test/
├── java/
│ └── com/
│ └── grapeshot/
│ └── halfnes/
│ ├── JInputTest.java
│ └── nestest/
│ └── NesTest.java
└── resources/
└── nestest/
├── compare.log
├── nestest.log
└── nestest.nes
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*.class
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
nesdebug*.txt
#unnecessary javadocs
/lib/javadoc/**
/lib/src/**
/proguard4.7/examples/**
/proguard4.7/src/**
/build/**
#include necessary jars for building
!jarsplice-0.40-CLI-CUSTPATCH.jar
!proguard*.jar
!retrace.jar
/dist/
/HalfNES.exe
proguard4.7
/HalfNES.app
/*.app
/battletoads double dragon.txt
/justbreedbug.txt
/.idea
/*.iml
/target
/.settings/
.classpath
.project
================================================
FILE: .travis.yml
================================================
language: java
jdk:
- oraclejdk8
================================================
FILE: LICENSE
================================================
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname}
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
.
================================================
FILE: README.md
================================================
[DOWNLOAD HERE](https://github.com/andrew-hoffman/halfnes/releases)
halfnes
=======
An accurate NES/Famicom emulator
[]
(https://gitter.im/andrew-hoffman/halfnes?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Current Features
----------------
- Joystick support through both DirectInput and xInput (thanks Zlika)
- Cross-Platform
- Supports Mapper 0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 15, 19, 21, 22, 23, 24, 25, 26,
31, 33, 34, 38, 41, 48, 58, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
75, 76, 78, 79, 86, 87, 88, 89, 92, 93, 94, 97, 107, 112, 113, 118, 119, 140,
152, 154, 180, 182, 185, 200, 201, 203, 206, 212, 213, 214, 225, 226, 229, 231,
240, 241, 242, 244, 246, 255
- Accurate sound core
- Fast display code
- Battery save support (No savestates! Come on. You can live without them.)
- Remappable controls
- Full screen mode
- NTSC filter
- NSF player
Running HalfNES
---------------
Download the latest version from https://github.com/andrew-hoffman/halfnes/releases .
There are two versions of HalfNES included in this package: a Windows
executable and a JAR file for other platforms.
Use whichever one works best on your platform, but you will need
Java 8 or newer installed no matter what file is to be used.
Linux users will need to set execute permissions on the JAR.
# Default Controls (See Preferences dialog to remap them)
Controller 1:
- D-Pad: Arrow Keys
- B Button: Z
- A Button: X
- Select: Right Shift
- Start: Enter
# Controller 2:
- D-Pad: WASD
- B Button: F
- A Button: G
- Select: R
- Start: T
The keys mapped to the A and B buttons are used to change tracks in the NSF player.
# Note on joystick support
The first detected gamepad will be used as Controller 1, and the second
will be Controller 2. Currently the buttons used are not configurable.
(the controller needs to be plugged in before a game is loaded in order to be detected.)
# Compatibility
At this point in
development, almost all US released games will start, but certain games
still have graphics corruption or freezing problems. Please report any
issues you encounter with the emulator or with games on the Github Issues page
(https://github.com/andrew-hoffman/halfnes/issues).
PAL games are now supported as well but are likely to have more issues.
Please change the system type to PAL in preferences to run these.
Building instructions
---------------------
The project requires JInput library to build.
The project comes with a Maven build script that will automatically download
that and package the natives as a library. To use it you will need to
install Maven, change to the project directory and run
mvn install
and that should produce an exe and a JAR with all the natives in the
/target/ directory under the project root.
Do NOT ask me where to find ROM files of commercial games. Some public
domain homebrew ROMs are available at www.pdroms.de for testing
purposes.
A 2 ghz Athlon 64 or better is currently required to run all games full
speed. (The NTSC filter requires MUCH more processing power, however.)
Saved games are placed in the folder that the ROM file is in for
now.
If you are having problems getting the emulator to run, make sure to
update your Java Runtime to the latest version. Go to
http://java.com/en/download/manual.jsp and get the correct version for
your OS.
Special Thanks to the NESDev wiki and forum community for the invaluable
NES hardware reference that made this project possible.
================================================
FILE: nbactions.xml
================================================
run
jar
process-classes
org.codehaus.mojo:exec-maven-plugin:1.2.1:exec
-classpath %classpath com.grapeshot.halfnes.halfNES
java
debug
jar
process-classes
org.codehaus.mojo:exec-maven-plugin:1.2.1:exec
-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} -classpath %classpath com.grapeshot.halfnes.halfNES
java
true
================================================
FILE: pom.xml
================================================
4.0.0
com.grapeshot
halfnes
0.6.3-SNAPSHOT
net.java.jinput
jinput
2.0.6
org.testng
testng
6.9.9
test
org.mockito
mockito-core
1.9.5
test
UTF-8
UTF-8
org.apache.maven.plugins
maven-compiler-plugin
3.3
1.8
1.8
org.apache.maven.plugins
maven-source-plugin
2.2.1
attach-sources
jar
test-jar
org.apache.maven.plugins
maven-javadoc-plugin
2.9
attach-javadocs
jar
test-jar
false
false
org.codehaus.mojo
templating-maven-plugin
1.0.0
filter-src
filter-sources
halfNES
An accurate NES/Famicom emulator
https://github.com/andrew-hoffman/halfnes
2010
andrew-hoffman
Andrew Hoffman
Klaus Hauschild
Stephen Chin
Thomas Lorblanches
Nawrot Krzystof
https://github.com/andrew-hoffman/halfnes
scm:git:https://github.com/andrew-hoffman/halfnes.git
scm:git:https://github.com/andrew-hoffman/halfnes.git
3.0.5
make-binary
package
maven-assembly-plugin
2.6
make-assembly
package
single
jar-with-dependencies
com.grapeshot.halfnes.halfNES
com.akathist.maven.plugins.launch4j
launch4j-maven-plugin
1.7.8
package
launch4j
gui
target/halfNES.exe
target/${project.build.finalName}-jar-with-dependencies.jar
1.8.0
128
1024
================================================
FILE: src/main/java/com/grapeshot/halfnes/APU.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes;
import com.grapeshot.halfnes.ui.Oscilloscope;
import com.grapeshot.halfnes.audio.*;
import com.grapeshot.halfnes.mappers.Mapper;
import java.util.ArrayList;
public class APU {
public int samplerate;
private final Timer[] timers = {new SquareTimer(8, 2), new SquareTimer(8, 2),
new TriangleTimer(), new NoiseTimer()};
private double cyclespersample;
public final NES nes;
CPU cpu;
CPURAM cpuram;
public int sprdma_count;
private int apucycle = 0, remainder = 0;
private int[] noiseperiod;
// different for PAL
private long accum = 0;
private final ArrayList expnSound = new ArrayList<>();
private boolean soundFiltering;
private final static int[] TNDLOOKUP = initTndLookup(), SQUARELOOKUP = initSquareLookup();
private int framectrreload;
private int framectrdiv = 7456;
private int dckiller = -6392; //removes icky power on thump
private int lpaccum = 0;
private boolean apuintflag = true, statusdmcint = false, statusframeint = false;
private int framectr = 0, ctrmode = 4;
private final boolean[] lenCtrEnable = {true, true, true, true};
private final int[] volume = new int[4];
//dmc instance variables
private int[] dmcperiods;
private int dmcrate = 0x36, dmcpos = 0, dmcshiftregister = 0, dmcbuffer = 0,
dmcvalue = 0, dmcsamplelength = 1, dmcsamplesleft = 0,
dmcstartaddr = 0xc000, dmcaddr = 0xc000, dmcbitsleft = 8;
private boolean dmcsilence = true, dmcirq = false, dmcloop = false, dmcBufferEmpty = true;
//length ctr instance variables
private final int[] lengthctr = {0, 0, 0, 0};
private final static int[] lenctrload = {10, 254, 20, 2, 40, 4, 80, 6,
160, 8, 60, 10, 14, 12, 26, 14, 12, 16, 24, 18, 48, 20, 96, 22,
192, 24, 72, 26, 16, 28, 32, 30};
private final boolean[] lenctrHalt = {true, true, true, true};
//linear counter instance vars
private int linearctr = 0;
private int linctrreload = 0;
private boolean linctrflag = false;
//instance variables for envelope units
private final int[] envelopeValue = {15, 15, 15, 15};
private final int[] envelopeCounter = {0, 0, 0, 0};
private final int[] envelopePos = {0, 0, 0, 0};
private final boolean[] envConstVolume = {true, true, true, true};
private final boolean[] envelopeStartFlag = {false, false, false, false};
//instance variables for sweep unit
private final boolean[] sweepenable = {false, false},
sweepnegate = {false, false},
sweepsilence = {false, false},
sweepreload = {false, false};
private final int[] sweepperiod = {15, 15}, sweepshift = {0, 0}, sweeppos = {0, 0};
private int cyclesperframe;
private AudioOutInterface ai;
public APU(final NES nes, final CPU cpu, final CPURAM cpuram) {
this.samplerate = 1; //just in case we can't init audio
//then init the audio stream
this.nes = nes;
this.cpu = cpu;
this.cpuram = cpuram;
setParameters();
}
private static int[] initTndLookup() {
int[] lookup = new int[203];
for (int i = 0; i < lookup.length; ++i) {
lookup[i] = (int) ((163.67 / (24329.0 / i + 100)) * 49151);
}
return lookup;
}
private static int[] initSquareLookup() {
//fill square, triangle volume lookup tables
int[] lookup = new int[31];
for (int i = 0; i < lookup.length; ++i) {
lookup[i] = (int) ((95.52 / (8128.0 / i + 100)) * 49151);
}
return lookup;
}
public final synchronized void setParameters() {
Mapper.TVType tvtype = cpuram.mapper.getTVType();
soundFiltering = PrefsSingleton.get().getBoolean("soundFiltering", true);
samplerate = PrefsSingleton.get().getInt("sampleRate", 44100);
if (ai != null) {
ai.destroy();
}
ai = new SwingAudioImpl(nes, samplerate, tvtype);
if (PrefsSingleton.get().getBoolean("showScope", false)) {
ai = new Oscilloscope(ai);
}
//pick the appropriate pitches and lengths for NTSC or PAL
switch (tvtype) {
case NTSC:
default:
this.dmcperiods = new int[]{428, 380, 340, 320, 286, 254, 226, 214, 190, 160, 142, 128, 106, 84, 72, 54};
this.noiseperiod = new int[]{4, 8, 16, 32, 64, 96, 128, 160, 202, 254, 380, 508, 762, 1016, 2034, 4068};
this.framectrreload = 7456;
cyclespersample = 1789773.0 / samplerate;
cyclesperframe = 29781;
break;
case DENDY:
this.dmcperiods = new int[]{428, 380, 340, 320, 286, 254, 226, 214, 190, 160, 142, 128, 106, 84, 72, 54};
this.noiseperiod = new int[]{4, 8, 16, 32, 64, 96, 128, 160, 202, 254, 380, 508, 762, 1016, 2034, 4068};
this.framectrreload = 7456;
cyclespersample = 1773448.0 / samplerate;
cyclesperframe = 35469;
break;
case PAL:
cyclespersample = 1662607.0 / samplerate;
this.dmcperiods = new int[]{398, 354, 316, 298, 276, 236, 210, 198, 176, 148, 132, 118, 98, 78, 66, 50};
this.noiseperiod = new int[]{4, 8, 14, 30, 60, 88, 118, 148, 188, 236, 354, 472, 708, 944, 1890, 3778};
this.framectrreload = 8312;
cyclesperframe = 33252;
break;
}
// ai = new Reverberator(ai, 2,0.7,0.8,0.99);
// ai = new Reverberator(ai, 243,0.5,0.7,0.99);
// ai = new Reverberator(ai, 4001,0.3,0.5,0.99);
// ai = new Reverberator(ai, 20382,0.2,0.3,0.9);
}
public boolean bufferHasLessThan(int samples) {
return ai.bufferHasLessThan(samples);
}
public final int read(final int addr) {
updateto((int) cpu.clocks);
switch (addr) {
case 0x15:
//returns channel status
//for future ref: NEED to put those ternary operators in parentheses!
//otherwise order of operations does the wrong thing.
final int returnval = ((lengthctr[0] > 0) ? 1 : 0)
| ((lengthctr[1] > 0) ? 2 : 0)
| ((lengthctr[2] > 0) ? 4 : 0)
| ((lengthctr[3] > 0) ? 8 : 0)
| ((dmcsamplesleft > 0) ? 16 : 0)
| (statusframeint ? 64 : 0)
| (statusdmcint ? 128 : 0);
if (statusframeint) {
//System.err.println("Frame interrupt ack at " + cpu.cycles);
--cpu.interrupt;
statusframeint = false;
}
//System.err.println("*" + utils.hex(returnval));
return returnval;
case 0x16:
nes.getcontroller1().strobe();
return nes.getcontroller1().getbyte() | 0x40;
case 0x17:
nes.getcontroller2().strobe();
return nes.getcontroller2().getbyte() | 0x40;
default:
return 0x40; //open bus
}
}
final private static int[][] DUTYLOOKUP = {
{0, 1, 0, 0, 0, 0, 0, 0},
{0, 1, 1, 0, 0, 0, 0, 0},
{0, 1, 1, 1, 1, 0, 0, 0},
{1, 0, 0, 1, 1, 1, 1, 1}
};
public void addExpnSound(ExpansionSoundChip chip) {
expnSound.add(chip);
}
public void destroy() {
ai.destroy();
}
public void pause() {
ai.pause();
}
public void resume() {
ai.resume();
}
public final void write(final int reg, final int data) {
//This is how values written to any of the APU's memory
//mapped registers change the state of the system.
updateto((int) cpu.clocks - 1);
//System.err.println("Wrote " + utils.hex(data) + " to " + utils.hex(reg) + " @ cycle " + cpu.cycles);
switch (reg) {
case 0x0:
//length counter 1 halt
lenctrHalt[0] = ((data & (utils.BIT5)) != 0);
// pulse 1 duty cycle
timers[0].setduty(DUTYLOOKUP[data >> 6]);
// and envelope
envConstVolume[0] = ((data & (utils.BIT4)) != 0);
envelopeValue[0] = data & 15;
//setvolumes();
break;
case 0x1:
//pulse 1 sweep setup
//sweep enabled
sweepenable[0] = ((data & (utils.BIT7)) != 0);
//sweep divider period
sweepperiod[0] = (data >> 4) & 7;
//sweep negate flag
sweepnegate[0] = ((data & (utils.BIT3)) != 0);
//sweep shift count
sweepshift[0] = (data & 7);
sweepreload[0] = true;
break;
case 0x2:
// pulse 1 timer low bit
timers[0].setperiod((timers[0].getperiod() & 0xfe00) + (data << 1));
break;
case 0x3:
// length counter load, timer 1 high bits
if (lenCtrEnable[0]) {
lengthctr[0] = lenctrload[data >> 3];
}
timers[0].setperiod((timers[0].getperiod() & 0x1ff) + ((data & 7) << 9));
// sequencer restarted
timers[0].reset();
//envelope also restarted
envelopeStartFlag[0] = true;
break;
case 0x4:
//length counter 2 halt
lenctrHalt[1] = ((data & (utils.BIT5)) != 0);
// pulse 2 duty cycle
timers[1].setduty(DUTYLOOKUP[data >> 6]);
// and envelope
envConstVolume[1] = ((data & (utils.BIT4)) != 0);
envelopeValue[1] = data & 15;
//setvolumes();
break;
case 0x5:
//pulse 2 sweep setup
//sweep enabled
sweepenable[1] = ((data & (utils.BIT7)) != 0);
//sweep divider period
sweepperiod[1] = (data >> 4) & 7;
//sweep negate flag
sweepnegate[1] = ((data & (utils.BIT3)) != 0);
//sweep shift count
sweepshift[1] = (data & 7);
sweepreload[1] = true;
break;
case 0x6:
// pulse 2 timer low bit
timers[1].setperiod((timers[1].getperiod() & 0xfe00) + (data << 1));
break;
case 0x7:
if (lenCtrEnable[1]) {
lengthctr[1] = lenctrload[data >> 3];
}
timers[1].setperiod((timers[1].getperiod() & 0x1ff) + ((data & 7) << 9));
// sequencer restarted
timers[1].reset();
//envelope also restarted
envelopeStartFlag[1] = true;
break;
case 0x8:
//triangle linear counter load
linctrreload = data & 0x7f;
//and length counter halt
lenctrHalt[2] = ((data & (utils.BIT7)) != 0);
break;
case 0x9:
break;
case 0xA:
// triangle low bits of timer
timers[2].setperiod((((timers[2].getperiod() * 1) & 0xff00) + data));
break;
case 0xB:
// triangle length counter load
// and high bits of timer
if (lenCtrEnable[2]) {
lengthctr[2] = lenctrload[data >> 3];
}
timers[2].setperiod((((timers[2].getperiod() * 1) & 0xff) + ((data & 7) << 8)));
linctrflag = true;
break;
case 0xC:
//noise halt and envelope
lenctrHalt[3] = ((data & (utils.BIT5)) != 0);
envConstVolume[3] = ((data & (utils.BIT4)) != 0);
envelopeValue[3] = data & 0xf;
//setvolumes();
break;
case 0xD:
break;
case 0xE:
timers[3].setduty(((data & (utils.BIT7)) != 0) ? 6 : 1);
timers[3].setperiod(noiseperiod[data & 15]);
break;
case 0xF:
//noise length counter load, envelope restart
if (lenCtrEnable[3]) {
lengthctr[3] = lenctrload[data >> 3];
}
envelopeStartFlag[3] = true;
break;
case 0x10:
dmcirq = ((data & (utils.BIT7)) != 0);
dmcloop = ((data & (utils.BIT6)) != 0);
dmcrate = dmcperiods[data & 0xf];
if (!dmcirq && statusdmcint) {
--cpu.interrupt;
statusdmcint = false;
}
//System.err.println(dmcirq ? "dmc irq on" : "dmc irq off");
break;
case 0x11:
dmcvalue = data & 0x7f;
break;
case 0x12:
dmcstartaddr = (data << 6) + 0xc000;
break;
case 0x13:
dmcsamplelength = (data << 4) + 1;
break;
case 0x14:
//sprite dma
for (int i = 0; i < 256; ++i) {
cpuram.write(0x2004, cpuram.read((data << 8) + i));
}
//account for time stolen from cpu
sprdma_count = 2;
break;
case 0x15:
//status register
// counter enable(silence channel when bit is off)
for (int i = 0; i < 4; ++i) {
lenCtrEnable[i] = ((data & (1 << i)) != 0);
//THIS was the channels not cutting off bug! If you toggle a channel's
//status on and off very quickly then the length counter should
//IMMEDIATELY be forced to zero.
if (!lenCtrEnable[i]) {
lengthctr[i] = 0;
}
}
if (((data & (utils.BIT4)) != 0)) {
if (dmcsamplesleft == 0) {
restartdmc();
}
} else {
dmcsamplesleft = 0;
dmcsilence = true;
}
if (statusdmcint) {
--cpu.interrupt;
statusdmcint = false;
}
break;
case 0x16:
// latch controller 1 + 2
nes.getcontroller1().output(((data & (utils.BIT0)) != 0));
nes.getcontroller2().output(((data & (utils.BIT0)) != 0));
break;
case 0x17:
ctrmode = ((data & (utils.BIT7)) != 0) ? 5 : 4;
//System.err.println("reset " + ctrmode + ' ' + cpu.cycles);
apuintflag = ((data & (utils.BIT6)) != 0);
//set is no interrupt, clear is an interrupt
framectr = 0;
framectrdiv = framectrreload + 8; //Why +8?
if (apuintflag && statusframeint) {
statusframeint = false;
--cpu.interrupt;
//System.err.println("Frame interrupt off at " + cpu.cycles);
}
if (ctrmode == 5) {
//everything frame counter runs is clocked no matter what
setenvelope();
setlinctr();
setlength();
setsweep();
}
break;
default:
break;
}
}
public final void updateto(final int cpucycle) {
//still have to run this even if sound is disabled, some games rely on DMC IRQ etc.
if (soundFiltering) {
//linear sampling code
//should really be a FIR filter + decimator instead
//but I don't have the DSP experience to design something like that
//that would be fast enough to work / not require calculating every sample
//this works well enough at eliminating aliasing anyway.
while (apucycle < cpucycle) {
++remainder;
clockdmc();
if (--framectrdiv <= 0) {
framectrdiv = framectrreload;
clockframecounter();
}
timers[0].clock();
timers[1].clock();
if (lengthctr[2] > 0 && linearctr > 0) {
timers[2].clock();
}
timers[3].clock();
if (!expnSound.isEmpty()) {
for (ExpansionSoundChip c : expnSound) {
c.clock(1);
}
}
accum += getOutputLevel();
if ((apucycle % cyclespersample) < 1) {
//not quite right - there's a non-integer # cycles per sample.
ai.outputSample(lowpass_filter(highpass_filter((int) (accum / remainder))));
remainder = 0;
accum = 0;
}
++apucycle;
}
} else {
//point sampling code
while (apucycle < cpucycle) {
++remainder;
clockdmc();
if (--framectrdiv <= 0) {
framectrdiv = framectrreload;
clockframecounter();
}
if ((apucycle % cyclespersample) < 1) {
//not quite right - there's a non-integer # cycles per sample.
timers[0].clock(remainder);
timers[1].clock(remainder);
if (lengthctr[2] > 0 && linearctr > 0) {
timers[2].clock(remainder);
}
timers[3].clock(remainder);
int mixvol = getOutputLevel();
if (!expnSound.isEmpty()) {
for (ExpansionSoundChip c : expnSound) {
c.clock(remainder);
}
}
remainder = 0;
ai.outputSample(lowpass_filter(highpass_filter(mixvol)));
}
++apucycle;
}
}
}
private int getOutputLevel() {
int vol;
vol = SQUARELOOKUP[volume[0] * timers[0].getval()
+ volume[1] * timers[1].getval()];
vol += TNDLOOKUP[3 * timers[2].getval()
+ 2 * volume[3] * timers[3].getval()
+ dmcvalue];
if (!expnSound.isEmpty()) {
vol *= 0.8;
for (ExpansionSoundChip c : expnSound) {
vol += c.getval();
}
}
return vol; //as usual, lack of unsigned types causes unending pain.
}
private int highpass_filter(int sample) {
//for killing the dc in the signal
sample -= dckiller;
dckiller += sample >> 8;//the actual high pass part
dckiller += (sample > 0 ? 1 : -1);//guarantees the signal decays to exactly zero
return sample;
}
private int lowpass_filter(int sample) {
return lpaccum += 0.5 * (sample - lpaccum); //y = y + a * (x - y)
}
public final void finishframe() {
updateto(cyclesperframe);
apucycle = 0;
ai.flushFrame(nes.isFrameLimiterOn());
}
private void clockframecounter() {
//System.err.println("frame ctr clock " + framectr + ' ' + cpu.cycles);
//should be ~4x a frame, 240 Hz
//but the problem is this isn't exactly related to the video signal,
//it's a completely separate timer, so the phase can shift in relation to the
//video signal. also in the current implementation APU interrupts can only be fired when
//an APU register is written/read from, or @ end of frame. So both of those need work
if ((ctrmode == 4)
|| (ctrmode == 5 && (framectr != 3))) {
setenvelope();
setlinctr();
}
if ((ctrmode == 4 && (framectr == 1 || framectr == 3))
|| (ctrmode == 5 && (framectr == 1 || framectr == 4))) {
setlength();
setsweep();
}
if (!apuintflag && (framectr == 3) && (ctrmode == 4) && !statusframeint) {
++cpu.interrupt;
//System.err.println("frame interrupt set at " + cpu.cycles);
statusframeint = true;
}
++framectr;
framectr %= ctrmode;
setvolumes();
}
private void setvolumes() {
volume[0] = ((lengthctr[0] <= 0 || sweepsilence[0]) ? 0 : (((envConstVolume[0]) ? envelopeValue[0] : envelopeCounter[0])));
volume[1] = ((lengthctr[1] <= 0 || sweepsilence[1]) ? 0 : (((envConstVolume[1]) ? envelopeValue[1] : envelopeCounter[1])));
volume[3] = ((lengthctr[3] <= 0) ? 0 : ((envConstVolume[3]) ? envelopeValue[3] : envelopeCounter[3]));
//System.err.println("setvolumes " + volume[1]);
}
private void clockdmc() {
if (dmcBufferEmpty && dmcsamplesleft > 0) {
dmcfillbuffer();
}
dmcpos = (dmcpos + 1) % dmcrate;
if (dmcpos == 0) {
if (dmcbitsleft <= 0) {
dmcbitsleft = 8;
if (dmcBufferEmpty) {
dmcsilence = true;
} else {
dmcsilence = false;
dmcshiftregister = dmcbuffer;
dmcBufferEmpty = true;
}
}
if (!dmcsilence) {
dmcvalue += (((dmcshiftregister & (utils.BIT0)) != 0) ? 2 : -2);
//DMC output register doesn't wrap around
if (dmcvalue > 0x7f) {
dmcvalue = 0x7f;
}
if (dmcvalue < 0) {
dmcvalue = 0;
}
dmcshiftregister >>= 1;
--dmcbitsleft;
}
}
}
private void dmcfillbuffer() {
if (dmcsamplesleft > 0) {
dmcbuffer = cpuram.read(dmcaddr++);
dmcBufferEmpty = false;
cpu.stealcycles(4);
//DPCM Does steal cpu cycles - this should actually vary between 1-4
//can't do this properly without a cycle accurate cpu/ppu
if (dmcaddr > 0xffff) {
dmcaddr = 0x8000;
}
--dmcsamplesleft;
if (dmcsamplesleft == 0) {
if (dmcloop) {
restartdmc();
} else if (dmcirq && !statusdmcint) {
//this is supposed to fire after we've just READ the
//last byte, not when coming back AFTER reading the last byte
//and finding that there are no more bytes left to read.
//that meant all dmc timing was too long.
++cpu.interrupt;
statusdmcint = true;
//System.err.println("dmc irq fire");
}
}
} else {
dmcsilence = true;
}
}
private void restartdmc() {
dmcaddr = dmcstartaddr;
dmcsamplesleft = dmcsamplelength;
dmcsilence = false;
}
private void setlength() {
for (int i = 0; i < 4; ++i) {
if (!lenctrHalt[i] && lengthctr[i] > 0) {
--lengthctr[i];
if (lengthctr[i] == 0) {
setvolumes();
}
}
}
}
private void setlinctr() {
if (linctrflag) {
linearctr = linctrreload;
} else if (linearctr > 0) {
--linearctr;
}
if (!lenctrHalt[2]) {
linctrflag = false;
}
}
private void setenvelope() {
//System.err.println("envelope");
for (int i = 0; i < 4; ++i) {
if (envelopeStartFlag[i]) {
envelopeStartFlag[i] = false;
envelopePos[i] = envelopeValue[i] + 1;
envelopeCounter[i] = 15;
} else {
--envelopePos[i];
}
if (envelopePos[i] <= 0) {
envelopePos[i] = envelopeValue[i] + 1;
if (envelopeCounter[i] > 0) {
--envelopeCounter[i];
} else if (lenctrHalt[i] && envelopeCounter[i] <= 0) {
envelopeCounter[i] = 15;
}
}
}
}
private void setsweep() {
//System.err.println("sweep");
for (int i = 0; i < 2; ++i) {
sweepsilence[i] = false;
if (sweepreload[i]) {
sweepreload[i] = false;
sweeppos[i] = sweepperiod[i];
}
++sweeppos[i];
final int rawperiod = (timers[i].getperiod() >> 1);
int shiftedperiod = (rawperiod >> sweepshift[i]);
if (sweepnegate[i]) {
//invert bits of period
//add 1 on second channel only
shiftedperiod = -shiftedperiod + i;
}
shiftedperiod += rawperiod;
if ((rawperiod < 8) || shiftedperiod > 0x7ff) {
// silence channel
sweepsilence[i] = true;
} else if (sweepenable[i] && (sweepshift[i] != 0) && lengthctr[i] > 0
&& sweeppos[i] > sweepperiod[i]) {
sweeppos[i] = 0;
timers[i].setperiod(shiftedperiod << 1);
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/CPU.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
public final class CPU {
private final CPURAM ram;
private int cycles; //increment to steal cycles from cpu
public int clocks; //use for synchronizing with cpu
private int A, X, Y, S; // registers
public int PC;
private boolean carryFlag = false, zeroFlag = false,
interruptsDisabled = true, decimalModeFlag = false;
private boolean overflowFlag = false, negativeFlag = false,
previntflag = false, nmi = false, prevnmi = false, logging = false;
private int pb = 0;// set to 1 if access crosses page boundary
public int interrupt = 0;
public boolean nmiNext = false, idle = false;
private final static boolean decimalModeEnable = false,
idleLoopSkip = true;
//NES 6502 is missing decimal mode, but most other 6502s have it
private boolean interruptDelay = false;
private final static String[] opcodes = opcodes();
//Battletoads Hack until I get around to making a truly cycle accurate CPU core.
//Delays the write of a STA, STX, or STY until the first cycle of the NEXT instruction
//which is enough to move it a few PPU clocks after the scroll is changed
//making sure that Battletoads gets its sprite 0 hit.
final private static boolean battletoadsHackOn = true;
private boolean dirtyBattletoadsHack = false;
private int hackAddr = 0;
private int hackData = 0;
private static enum dummy {
ONCARRY, ALWAYS; //type of dummy read
}
OutputStreamWriter w; //debug log writer
public CPU(final CPURAM cpuram) {
ram = cpuram;
//ram is the ONLY thing the cpu tries to talk to.
if (logging) {
startLog();
}
}
public void startLog() {
logging = true;
try {
w = new OutputStreamWriter(new FileOutputStream(new File("nesdebug.txt")), StandardCharsets.UTF_8);
} catch (IOException e) {
System.err.println("Cannot create debug log" + e.getLocalizedMessage());
}
}
public void startLog(String path) {
logging = true;
try {
w = new OutputStreamWriter(new FileOutputStream(new File(path)), StandardCharsets.UTF_8);
} catch (IOException e) {
System.err.println("Cannot create debug log" + e.getLocalizedMessage());
}
}
public void stopLog() {
logging = false;
flushLog();
}
public void init() {
init(null);
}
public void init(Integer initialPC) {// different than reset
// puts RAM in NES poweron state
for (int i = 0; i < 0x800; ++i) {
ram.write(i, 0xFF);
}
//poweron RAM values from one specific console (nesdev wiki pre-2015)
ram.write(0x0008, 0xF7);
ram.write(0x0009, 0xEF);
ram.write(0x000A, 0xDF);
ram.write(0x000F, 0xBF);
for (int i = 0x4000; i <= 0x400F; ++i) {
ram.write(i, 0x00);
}
ram.write(0x4015, 0x00);
ram.write(0x4017, 0x00);
//clocks = 27393; //correct for position we start vblank in
A = 0;
X = 0;
Y = 0;
S = 0xFD;
if (initialPC == null) {
PC = ram.read(0xFFFD) * 256 + ram.read(0xFFFC);
} else {
PC = initialPC;
}
}
public void reset() {
PC = ram.read(0xFFFD) * 256 + ram.read(0xFFFC);
ram.write(0x4015, 0);
ram.write(0x4017, ram.read(0x4017));
//disable audio on reset
S -= 3;
S &= 0xff;
interruptsDisabled = true;
}
public void modcycles() {
//System.err.println(clocks);
clocks = 0;
}
public void stealcycles(int cyclestosteal) {
cycles += cyclestosteal;
log("**STEAL " + cyclestosteal + "**");
}
public final void runcycle(final int scanline, final int pixel) {
ram.read(0x4000); //attempt to sync the APU every cycle and make dmc irqs work properly, which they still don't. Feh.
++clocks;
//guard against overflows
// if ((A & 0xff) != A) {
// System.err.println("houston we have A problem");
// }
// if ((X & 0xff) != X) {
// System.err.println("houston we have X problem");
// }
// if ((Y & 0xff) != Y) {
// System.err.println("houston we have Y problem");
// }
// if ((S & 0xff) != S) {
// System.err.println("houston we have S problem");
// }
// if ((PC & 0xffff) != PC) {
// System.err.println("houston we have PC problem");
// }
if (ram.apu.sprdma_count > 0) {
ram.apu.sprdma_count--;
if (ram.apu.sprdma_count == 0) {
cycles += 513;
}
//this doesn't look right any more
//who patched this in and when? (wasn't me, it was for some bug...)
}
if (dirtyBattletoadsHack && cycles == 1) {
ram.write(hackAddr, hackData);
dirtyBattletoadsHack = false;
}
if (cycles-- > 0) { //count down cycles until there is work to do again
return;
}
//now we're at the start of a new instruction
//handle nmi requests (NMI line is edge sensitive not level sensitive)
if (nmiNext) {
nmi();
nmiNext = false;
}
if (nmi && !prevnmi) {//only trigger on positive rising edge of NMI
nmiNext = true;
}
prevnmi = nmi;
if (interrupt > 0) {
if (!interruptsDisabled && !interruptDelay) {
interrupt();
cycles += 7;
return;
} else if (interruptDelay) {
interruptDelay = false;
if (!previntflag) {
interrupt();
cycles += 7;
return;
}
}
} else {
interruptDelay = false;
}
//Idle loop skipping
if (idle && idleLoopSkip) {
cycles += 3; //not accurate should depend on type of instr we skip decoding
return;
}
pb = 0;
final int instr = ram.read(PC++);
//note:
if (logging) {
//that looks redundant, but this is a really expensive operation to create the log string
//also, logging *might* trigger side effects if logging while executing
//code from i/o registers (reading twice). So we don't want to do it always.
//TODO: Optimize this! It gets called a LOT
//and slows logging to 16 fps
//even when not actually writing anything
String op = String.format(opcodes[instr],
ram.read(PC),
ram.read(PC + 1),
PC + (byte) (ram.read(PC)) + 1);
log(utils.hex(PC - 1) + " " + utils.hex(instr)
+ String.format(" %-14s ", op)
+ status() + " CYC:" + pixel + " SL:" + scanline + "\n");
}
if (cycles == 0) {
flushLog();
}
switch (instr) {
// ADC
case 0x69:
adc(imm());
cycles += 2;
break;
case 0x65:
adc(zpg());
cycles += 3;
break;
case 0x75:
adc(zpg(X));
cycles += 4;
break;
case 0x6d:
adc(abs());
cycles += 4;
break;
case 0x7d:
adc(abs(X, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0x79:
adc(abs(Y, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0x61:
adc(indX());
cycles += 6;
break;
case 0x71:
adc(indY(dummy.ONCARRY));
cycles += 5 + pb;
break;
// AHX (unofficial)
case 0x93:
ahx(indY(dummy.ALWAYS));
cycles += 6;
break;
case 0x9f:
ahx(abs(Y, dummy.ALWAYS));
cycles += 5;
break;
// ALR (unofficial)
case 0x4b:
alr(imm());
cycles += 2;
break;
// ANC (unofficial)
case 0x0b:
anc(imm());
cycles += 2;
break;
case 0x2b:
anc(imm());
cycles += 2;
break;
// AND
case 0x29:
and(imm());
cycles += 2;
break;
case 0x25:
and(zpg());
cycles += 3;
break;
case 0x35:
and(zpg(X));
cycles += 4;
break;
case 0x2D:
and(abs());
cycles += 4;
break;
case 0x3D:
and(abs(X, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0x39:
and(abs(Y, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0x21:
and(indX());
cycles += 6;
break;
case 0x31:
and(indY(dummy.ONCARRY));
cycles += 5 + pb;
break;
// ARR (unofficial)
case 0x6b:
arr(imm());
cycles += 2;
break;
// ASL
case 0x0A:
aslA();
cycles += 2;
break;
case 0x06:
asl(zpg());
cycles += 5;
break;
case 0x16:
asl(zpg(X));
cycles += 6;
break;
case 0x0e:
asl(abs());
cycles += 6;
break;
case 0x1e:
asl(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// AXS (unofficial)
case 0xcb:
axs(imm());
cycles += 2;
break;
// BIT
case 0x24:
bit(zpg());
cycles += 3;
break;
case 0x2c:
bit(abs());
cycles += 4;
break;
// Branches: every branch uses rel. addressing
case 0x10:
branch(!negativeFlag);
cycles += 2 + pb;
break;
case 0x30:
branch(negativeFlag);
cycles += 2 + pb;
break;
case 0x50:
branch(!overflowFlag);
cycles += 2 + pb;
break;
case 0x70:
branch(overflowFlag);
cycles += 2 + pb;
break;
case 0x90:
branch(!carryFlag);
cycles += 2 + pb;
break;
case 0xB0:
branch(carryFlag);
cycles += 2 + pb;
break;
case 0xD0:
branch(!zeroFlag);
cycles += 2 + pb;
break;
case 0xF0:
branch(zeroFlag);
cycles += 2 + pb;
break;
// BRK
case 0x00:
//System.err.println("Hey! A break!");
breakinterrupt();
cycles += 7;
break;
// CMP
case 0xc9:
cmp(A, imm());
cycles += 2;
break;
case 0xc5:
cmp(A, zpg());
cycles += 3;
break;
case 0xd5:
cmp(A, zpg(X));
cycles += 4;
break;
case 0xcd:
cmp(A, abs());
cycles += 4;
break;
case 0xdd:
cmp(A, abs(X, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0xd9:
cmp(A, abs(Y, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0xc1:
cmp(A, indX());
cycles += 6;
break;
case 0xd1:
cmp(A, indY(dummy.ONCARRY));
cycles += 5 + pb;
break;
// CPX
case 0xe0:
cmp(X, imm());
cycles += 2;
break;
case 0xe4:
cmp(X, zpg());
cycles += 3;
break;
case 0xec:
cmp(X, abs());
cycles += 4;
break;
// CPY
case 0xc0:
cmp(Y, imm());
cycles += 2;
break;
case 0xc4:
cmp(Y, zpg());
cycles += 3;
break;
case 0xcc:
cmp(Y, abs());
cycles += 4;
break;
// DEC
case 0xc6:
dec(zpg());
cycles += 5;
break;
case 0xd6:
dec(zpg(X));
cycles += 6;
break;
case 0xce:
dec(abs());
cycles += 6;
break;
case 0xde:
dec(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// DCP (unofficial)
case 0xc3:
dcp(A, indX());
cycles += 8;
break;
case 0xd3:
dcp(A, indY(dummy.ALWAYS));
cycles += 8;
break;
case 0xc7:
dcp(A, zpg());
cycles += 5;
break;
case 0xd7:
dcp(A, zpg(X));
cycles += 6;
break;
case 0xdb:
dcp(A, abs(Y, dummy.ALWAYS));
cycles += 7;
break;
case 0xcf:
dcp(A, abs());
cycles += 6;
break;
case 0xdf:
dcp(A, abs(X, dummy.ALWAYS));
cycles += 7;
break;
// EOR
case 0x49:
eor(imm());
cycles += 2;
break;
case 0x45:
eor(zpg());
cycles += 3;
break;
case 0x55:
eor(zpg(X));
cycles += 4;
break;
case 0x4d:
eor(abs());
cycles += 4;
break;
case 0x5d:
eor(abs(X, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0x59:
eor(abs(Y, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0x41:
eor(indX());
cycles += 6;
break;
case 0x51:
eor(indY(dummy.ONCARRY));
cycles += 5 + pb;
break;
// Flag set/clear
case 0x18:
carryFlag = false;
cycles += 2;
break;
case 0x38:
carryFlag = true;
cycles += 2;
break;
case 0x58:
//cli
//interrupts shouldn't fire for 1 cycle after cli
delayInterrupt();
interruptsDisabled = false;
cycles += 2;
break;
case 0x78:
//sei
delayInterrupt();
interruptsDisabled = true;
cycles += 2;
break;
case 0xb8:
overflowFlag = false;
cycles += 2;
break;
case 0xd8:
decimalModeFlag = false;
cycles += 2;
break;// decimal mode doesnt
case 0xf8:
decimalModeFlag = true;
cycles += 2;
break;// do anything on NES
// INC
case 0xe6:
inc(zpg());
cycles += 5;
break;
case 0xf6:
inc(zpg(X));
cycles += 6;
break;
case 0xee:
inc(abs());
cycles += 6;
break;
case 0xfe:
inc(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// ISC (unofficial)
case 0xe3:
isc(indX());
cycles += 8;
break;
case 0xf3:
isc(indY(dummy.ALWAYS));
cycles += 8;
break;
case 0xe7:
isc(zpg());
cycles += 5;
break;
case 0xf7:
isc(zpg(X));
cycles += 6;
break;
case 0xfb:
isc(abs(Y, dummy.ALWAYS));
cycles += 7;
break;
case 0xef:
isc(abs());
cycles += 6;
break;
case 0xff:
isc(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// JMP
case 0x4c:
int tempe = PC;
PC = abs();
if (PC == (tempe - 1)) {
idle = true;
}
cycles += 3;
break;
case 0x6c:
int tempf = PC;
PC = ind();
if (PC == (tempf - 1)) {
idle = true;
}
cycles += 5;
break;
// JSR
case 0x20:
jsr(abs());
cycles += 6;
break;
// KIL (unofficial)
case 0x02:
case 0x12:
case 0x22:
case 0x32:
case 0x42:
case 0x52:
case 0x62:
case 0x72:
case 0x92:
case 0xb2:
case 0xd2:
case 0xf2:
System.err.println("KIL - CPU locked");
flushLog();
ram.apu.nes.runEmulation = false;
break;
// LAS (unofficial)
case 0xbb:
las(abs(Y, dummy.ONCARRY));
cycles += 4 + pb;
break;
// LAX (unofficial)
case 0xa3:
lax(indX());
cycles += 6;
break;
case 0xb3:
lax(indY(dummy.ONCARRY));
cycles += 5 + pb;
break;
case 0xa7:
lax(zpg());
cycles += 3;
break;
case 0xb7:
lax(zpg(Y));
cycles += 4;
break;
case 0xab:
lax(imm());
cycles += 2;
break;
case 0xaf:
lax(abs());
cycles += 4;
break;
case 0xbf:
lax(abs(Y, dummy.ONCARRY));
cycles += 4 + pb;
break;
// LDA
case 0xa9:
lda(imm());
cycles += 2;
break;
case 0xa5:
lda(zpg());
cycles += 3;
break;
case 0xb5:
lda(zpg(X));
cycles += 4;
break;
case 0xad:
lda(abs());
cycles += 4;
break;
case 0xbd:
lda(abs(X, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0xb9:
lda(abs(Y, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0xa1:
lda(indX());
cycles += 6;
break;
case 0xb1:
lda(indY(dummy.ONCARRY));
cycles += 5 + pb;
break;
// LDX
case 0xa2:
ldx(imm());
cycles += 2;
break;
case 0xa6:
ldx(zpg());
cycles += 3;
break;
case 0xb6:
ldx(zpg(Y));
cycles += 4;
break;
case 0xae:
ldx(abs());
cycles += 4;
break;
case 0xbe:
ldx(abs(Y, dummy.ONCARRY));
cycles += 4 + pb;
break;
// LDY
case 0xa0:
ldy(imm());
cycles += 2;
break;
case 0xa4:
ldy(zpg());
cycles += 3;
break;
case 0xb4:
ldy(zpg(X));
cycles += 4;
break;
case 0xac:
ldy(abs());
cycles += 4;
break;
case 0xbc:
ldy(abs(X, dummy.ONCARRY));
cycles += 4 + pb;
break;
// LSR
case 0x4a:
lsrA();
cycles += 2;
break;
case 0x46:
lsr(zpg());
cycles += 5;
break;
case 0x56:
lsr(zpg(X));
cycles += 6;
break;
case 0x4e:
lsr(abs());
cycles += 6;
break;
case 0x5e:
lsr(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// NOP
case 0x1a:
case 0x3a:
case 0x5a:
case 0x7a:
case 0xda:
case 0xEA:
case 0xfa:
cycles += 2;
break;
case 0x80:
case 0x82:
case 0xc2:
case 0xe2:
case 0x89:
imm();
cycles += 2;
break;
case 0x04:
case 0x44:
case 0x64:
zpg();
cycles += 3;
break;
case 0x14:
case 0x34:
case 0x54:
case 0x74:
case 0xd4:
case 0xf4:
zpg(X);
cycles += 4;
break;
case 0x0C:
abs();
cycles += 4;
break;
case 0x1c:
case 0x3c:
case 0x5c:
case 0x7c:
case 0xdc:
case 0xfc:
abs(X, dummy.ONCARRY);
cycles += 4 + pb;
break;
// ORA
case 0x09:
ora(imm());
cycles += 2;
break;
case 0x05:
ora(zpg());
cycles += 3;
break;
case 0x15:
ora(zpg(X));
cycles += 4;
break;
case 0x0d:
ora(abs());
cycles += 4;
break;
case 0x1d:
ora(abs(X, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0x19:
ora(abs(Y, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0x01:
ora(indX());
cycles += 6;
break;
case 0x11:
ora(indY(dummy.ONCARRY));
cycles += 5 + pb;
break;
// Register instrs.
case 0xAA:
X = A;
cycles += 2;
setflags(A);
break;
case 0x8a:
A = X;
cycles += 2;
setflags(A);
break;
case 0xca:
X--;
X &= 0xFF;
setflags(X);
cycles += 2;
break;
case 0xe8:
X++;
X &= 0xFF;
setflags(X);
cycles += 2;
break;
case 0xa8:
Y = A;
cycles += 2;
setflags(A);
break;
case 0x98:
A = Y;
cycles += 2;
setflags(A);
break;
case 0x88:
Y--;
Y &= 0xFF;
setflags(Y);
cycles += 2;
break;
case 0xc8:
Y++;
Y &= 0xFF;
setflags(Y);
cycles += 2;
break;
// RLA (unofficial)
case 0x23:
rla(indX());
cycles += 8;
break;
case 0x33:
rla(indY(dummy.ALWAYS));
cycles += 8;
break;
case 0x27:
rla(zpg());
cycles += 5;
break;
case 0x37:
rla(zpg(X));
cycles += 6;
break;
case 0x3b:
rla(abs(Y, dummy.ALWAYS));
cycles += 7;
break;
case 0x2f:
rla(abs());
cycles += 6;
break;
case 0x3f:
rla(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// ROL
case 0x2a:
rolA();
cycles += 2;
break;
case 0x26:
rol(zpg());
cycles += 5;
break;
case 0x36:
rol(zpg(X));
cycles += 6;
break;
case 0x2e:
rol(abs());
cycles += 6;
break;
case 0x3e:
rol(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// ROR
case 0x6a:
rorA();
cycles += 2;
break;
case 0x66:
ror(zpg());
cycles += 5;
break;
case 0x76:
ror(zpg(X));
cycles += 6;
break;
case 0x6e:
ror(abs());
cycles += 6;
break;
case 0x7e:
ror(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// RRA (unofficial)
case 0x63:
rra(indX());
cycles += 8;
break;
case 0x73:
rra(indY(dummy.ALWAYS));
cycles += 8;
break;
case 0x67:
rra(zpg());
cycles += 5;
break;
case 0x77:
rra(zpg(X));
cycles += 6;
break;
case 0x7b:
rra(abs(Y, dummy.ALWAYS));
cycles += 7;
break;
case 0x6f:
rra(abs());
cycles += 6;
break;
case 0x7f:
rra(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// RTI
case 0x40:
rti();
cycles += 6;
break;
// RTS
case 0x60:
rts();
cycles += 6;
break;
// SAX (unofficial)
case 0x83:
sax(indX());
cycles += 6;
break;
case 0x87:
sax(zpg());
cycles += 3;
break;
case 0x97:
sax(zpg(Y));
cycles += 4;
break;
case 0x8f:
sax(abs());
cycles += 4;
break;
// SBC
case 0xE1:
sbc(indX());
cycles += 6;
break;
case 0xF1:
sbc(indY(dummy.ONCARRY));
cycles += 5 + pb;
break;
case 0xE5:
sbc(zpg());
cycles += 3;
break;
case 0xF5:
sbc(zpg(X));
cycles += 4;
break;
case 0xE9:
sbc(imm());
cycles += 2;
break;
case 0xF9:
sbc(abs(Y, dummy.ONCARRY));
cycles += 4 + pb;
break;
case 0xeb:
sbc(imm());
cycles += 2;
break;
case 0xEd:
sbc(abs());
cycles += 4;
break;
case 0xFd:
sbc(abs(X, dummy.ONCARRY));
cycles += 4 + pb;
break;
// SHX (unofficial)
case 0x9e:
shx(abs(Y, dummy.ALWAYS));
cycles += 5;
break;
// SHY (unofficial)
case 0x9c:
shy(abs(X, dummy.ALWAYS));
cycles += 5;
break;
// SLO (unofficial)
case 0x03:
slo(indX());
cycles += 8;
break;
case 0x07:
slo(zpg());
cycles += 5;
break;
case 0x0f:
slo(abs());
cycles += 6;
break;
case 0x13:
slo(indY(dummy.ALWAYS));
cycles += 8;
break;
case 0x17:
slo(zpg(X));
cycles += 6;
break;
case 0x1b:
slo(abs(Y, dummy.ALWAYS));
cycles += 7;
break;
case 0x1f:
slo(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// SRE (unofficial)
case 0x43:
sre(indX());
cycles += 8;
break;
case 0x53:
sre(indY(dummy.ALWAYS));
cycles += 8;
break;
case 0x47:
sre(zpg());
cycles += 5;
break;
case 0x57:
sre(zpg(X));
cycles += 6;
break;
case 0x5b:
sre(abs(Y, dummy.ALWAYS));
cycles += 7;
break;
case 0x4f:
sre(abs());
cycles += 6;
break;
case 0x5f:
sre(abs(X, dummy.ALWAYS));
cycles += 7;
break;
// STA
case 0x85:
sta(zpg());
cycles += 3;
break;
case 0x95:
sta(zpg(X));
cycles += 4;
break;
case 0x8d:
sta(abs());
cycles += 4;
break;
case 0x9d:
sta(abs(X, dummy.ALWAYS));
cycles += 5;
break;
case 0x99:
sta(abs(Y, dummy.ALWAYS));
cycles += 5;
break;
case 0x81:
sta(indX());
cycles += 6;
break;
case 0x91:
sta(indY(dummy.ALWAYS));
cycles += 6;
break;
// Stack instructions
case 0x9A:
S = X;
cycles += 2;
break;
case 0xBA:
X = S;
cycles += 2;
setflags(X);
break;
case 0x48:
ram.read(PC + 1); //dummy fetch
push(A);
cycles += 3;
break;
case 0x68:
ram.read(PC + 1); //dummy fetch
A = pop();
setflags(A);
cycles += 4;
break;
case 0x08:
ram.read(PC + 1); //dummy fetch
push(flagstobyte() | utils.BIT4);
cycles += 3;
break;
case 0x28:
//plp
delayInterrupt();
ram.read(PC + 1); //dummy fetch
bytetoflags(pop());
cycles += 4;
break;
// STX
case 0x86:
stx(zpg());
cycles += 3;
break;
case 0x96:
stx(zpg(Y));
cycles += 4;
break;
case 0x8E:
stx(abs());
cycles += 4;
break;
// STY
case 0x84:
sty(zpg());
cycles += 3;
break;
case 0x94:
sty(zpg(X));
cycles += 4;
break;
case 0x8c:
sty(abs());
cycles += 4;
break;
// TAS (unofficial)
case 0x9b:
tas(abs(Y, dummy.ALWAYS));
cycles += 5;
break;
// XAA (unofficial)
case 0x8b:
xaa(imm());
cycles += 2;
break;
default:
cycles += 2;
System.err.println("Illegal opcode:" + utils.hex(instr) + " @ "
+ utils.hex(PC - 1));
break;
}
pb = 0;
PC &= 0xffff;
}
/*
really every instruction should be reading from or writing something to memory every cycle.
Even when all that's happening that cycle is the processor updating state internally
Fetching the next opcode cn overlap with last cycle of prev instruction
if that last cycle is purely internal.
but since the second cycle of all instructions (even single byte ones)
is reading the nest byte after the PC, the fastest we can do even a single
byte NOP instruction is still 2 cycles.
that's where the dummy reads+writes come from.
how to represent this in the smallest space possible?
probably the way they did it on the real chip:
using a PLA that does certain things conditionally based on bits of the current
opcode and the current cycle (up to 7 i suppose)
Bisqwit did some really nifty template stuff with his C==10 emu that I can't match.
*/
private void delayInterrupt() {
interruptDelay = true;
previntflag = interruptsDisabled;
}
private void rol(final int addr) {
int data = (ram.read(addr));
ram.write(addr, data); //dummy write
data = (data << 1) | (carryFlag ? 1 : 0);
carryFlag = ((data & (utils.BIT8)) != 0);
data &= 0xFF;
setflags(data);
ram.write(addr, data);
}
private void rolA() {
A = A << 1 | (carryFlag ? 1 : 0);
carryFlag = ((A & (utils.BIT8)) != 0);
A &= 0xFF;
setflags(A);
}
private void ror(final int addr) {
int data = ram.read(addr);
ram.write(addr, data); //dummy write
final boolean tmp = carryFlag;
carryFlag = ((data & (utils.BIT0)) != 0);
data >>= 1;
data &= 0x7F;
data |= (tmp ? 0x80 : 0);
setflags(data);
ram.write(addr, data);
}
private void rorA() {
final boolean tmp = carryFlag;
carryFlag = ((A & (utils.BIT0)) != 0);
A >>= 1;
A &= 0x7F;
A |= (tmp ? 128 : 0);
setflags(A);
}
public void setNMI(boolean val) {
this.nmi = val;
}
private void nmi() {
idle = false;
log("**NMI**");
//System.err.println(" NMI");
push(PC >> 8); // high bit 1st
push((PC) & 0xFF);// check that this pushes right address
push(flagstobyte() & ~utils.BIT4);
PC = ram.read(0xFFFA) + (ram.read(0xFFFB) << 8);
cycles += 7;
interruptsDisabled = true;
}
private void interrupt() {
idle = false;
log("**INTERRUPT**");
//System.err.println("IRQ " + interrupt);
push(PC >> 8); // high bit 1st
push(PC & 0xFF);// check that this pushes right address
push(flagstobyte() & ~utils.BIT4);
//jump to reset vector
PC = ram.read(0xFFFE) + (ram.read(0xFFFF) << 8);
interruptsDisabled = true;
}
private void breakinterrupt() {
//same as interrupt but BRK flag is turned on
log("**BREAK**");
ram.read(PC++); //dummy fetch
push(PC >> 8); // high bit 1st
push(PC & 0xFF);// check that this pushes right address
push(flagstobyte() | utils.BIT4 | utils.BIT5);//push byte w/bits 4+5 set
PC = ram.read(0xFFFE) + (ram.read(0xFFFF) << 8);
interruptsDisabled = true;
}
private void lsr(final int addr) {
int data = ram.read(addr);
ram.write(addr, data); //dummy write
carryFlag = ((data & (utils.BIT0)) != 0);
data >>= 1;
data &= 0x7F;
ram.write(addr, data);
setflags(data);
}
private void lsrA() {
carryFlag = ((A & (utils.BIT0)) != 0);
A >>= 1;
A &= 0x7F;
setflags(A);
}
private void eor(final int addr) {
A ^= ram.read(addr);
A &= 0xff;
setflags(A);
}
private void ora(final int addr) {
A |= ram.read(addr);
A &= 0xff;
setflags(A);
}
// Instructions
private void bit(final int addr) {
final int data = ram.read(addr);
zeroFlag = ((data & A) == 0);
negativeFlag = ((data & (utils.BIT7)) != 0);
overflowFlag = ((data & (utils.BIT6)) != 0);
}
private void jsr(final int addr) {
PC--;
ram.read(PC); //dummy fetch
push(PC >> 8); // high bit 1st
push(PC & 0xFF);// check that this pushes right address
PC = addr;
}
private void rts() {
ram.read(PC++); //dummy fetch
PC = (pop() & 0xff) | (pop() << 8);// page crossing bug again?
PC++;
}
private void rti() {
//System.err.println("RTI");
ram.read(PC++); //dummy fetch
bytetoflags(pop());
PC = (pop() & 0xff) | (pop() << 8); // not plus one
}
private int pop() {
++S;
S &= 0xff;
return ram.read(0x100 + S);
}
public void push(final int byteToPush) {
ram.write((0x100 + (S & 0xff)), byteToPush);
--S;
S &= 0xff;
}
private void branch(final boolean isTaken) {
if (isTaken) {
final int pcprev = PC + 1;// store prev. PC
PC = rel();
// System.err.println(pcprev + " "+ PC);
//page boundary penalty
if ((pcprev & 0xff00) != (PC & 0xff00)) {
pb = 2;//page crossing for branch takes 2 cycles
} else {
cycles++;
}
if ((pcprev - 2) == PC) {
idle = true;
}
} else {
rel();
// have to do the memory access even if we're not branching
}
}
private void inc(final int addr) {
int tmp = ram.read(addr);
ram.write(addr, tmp);
//dummy write
++tmp;
tmp &= 0xff;
ram.write(addr, tmp);
//THEN real write
setflags(tmp);
}
private void dec(final int addr) {
int tmp = ram.read(addr);
ram.write(addr, tmp);
//dummy write
--tmp;
tmp &= 0xff;
ram.write(addr, tmp);
//THEN real write
setflags(tmp);
}
private void adc(final int addr) {
final int value = ram.read(addr);
int result;
if (decimalModeFlag && decimalModeEnable) {
int AL = (A & 0xF) + (value & 0xF) + (carryFlag ? 1 : 0);
if (AL >= 0x0A) {
AL = ((AL + 0x6) & 0xF) + 0x10;
}
result = (A & 0xF0) + (value & 0xF0) + AL;
if (result >= 0xA0) {
result += 0x60;
}
} else {
result = value + A + (carryFlag ? 1 : 0);
}
carryFlag = (result >> 8 != 0);
// set overflow flag
overflowFlag = (((A ^ value) & 0x80) == 0)
&& (((A ^ result) & 0x80) != 0);
A = result & 0xff;
setflags(A);// set other flags
}
private void sbc(final int addr) {
final int value = ram.read(addr);
int result;
if (decimalModeFlag && decimalModeEnable) {
int AL = (A & 0xF) - (value & 0xF) + (carryFlag ? 1 : 0) - 1;
if (AL < 0) {
AL = ((AL - 0x6) & 0xF) - 0x10;
}
result = (A & 0xF0) + (value & 0xF0) + AL;
if (result < 0) {
result -= 0x60;
}
} else {
result = A - value - (carryFlag ? 0 : 1);
}
carryFlag = (result >> 8 == 0);
// set overflow flag
overflowFlag = (((A ^ value) & 0x80) != 0)
&& (((A ^ result) & 0x80) != 0);
A = result & 0xff;
setflags(A);// set other flags
}
private void and(final int addr) {
A &= ram.read(addr);
setflags(A);
}
private void asl(final int addr) {
int data = ram.read(addr);
ram.write(addr, data); //dummy write
carryFlag = ((data & (utils.BIT7)) != 0);
data = data << 1;
data &= 0xff;
setflags(data);
ram.write(addr, data);
}
private void aslA() {
carryFlag = ((A & (utils.BIT7)) != 0);
A <<= 1;
A &= 0xff;
setflags(A);
}
private void cmp(final int regval, final int addr) {
final int result = regval - ram.read(addr);
if (result < 0) {
negativeFlag = ((result & (utils.BIT7)) != 0);
carryFlag = false;
zeroFlag = false;
} else if (result == 0) {
negativeFlag = false;
carryFlag = true;
zeroFlag = true;
} else {
negativeFlag = ((result & (utils.BIT7)) != 0);
carryFlag = true;
zeroFlag = false;
}
}
private void lda(final int addr) {
A = ram.read(addr);
setflags(A);
}
private void ldx(final int addr) {
X = ram.read(addr);
setflags(X);
}
private void ldy(final int addr) {
Y = ram.read(addr);
setflags(Y);
}
private void setflags(final int result) {
zeroFlag = (result == 0);
negativeFlag = ((result & (utils.BIT7)) != 0);
}
private void sta(final int addr) {
if (!battletoadsHackOn) {
ram.write(addr, A);
} else {
hackAddr = addr;
hackData = A;
dirtyBattletoadsHack = true;
}
}
private void stx(final int addr) {
if (!battletoadsHackOn) {
ram.write(addr, X);
} else {
hackAddr = addr;
hackData = X;
dirtyBattletoadsHack = true;
}
}
private void sty(final int addr) {
if (!battletoadsHackOn) {
ram.write(addr, Y);
} else {
hackAddr = addr;
hackData = Y;
dirtyBattletoadsHack = true;
}
}
// Unofficial opcodes
private void ahx(final int addr) {
final int data = (A & X & ((addr >> 8) + 1)) & 0xFF;
final int tmp = (addr - Y) & 0xFF;
if ((Y + tmp) <= 0xFF) {
ram.write(addr, data);
} else {
ram.write(addr, ram.read(addr));
}
}
private void alr(final int addr) {
and(addr);
lsrA();
}
private void anc(final int addr) {
and(addr);
carryFlag = negativeFlag;
}
private void arr(final int addr) {
A = (((ram.read(addr) & A) >> 1) | (carryFlag ? 0x80 : 0x00));
setflags(A);
carryFlag = ((A & (utils.BIT6)) != 0);
overflowFlag = carryFlag ^ ((A & (utils.BIT5)) != 0);
}
private void axs(final int addr) {
X = ((A & X) - ram.read(addr)) & 0xff;
setflags(X);
carryFlag = (X >= 0);
}
private void dcp(final int regval, final int addr) {
dec(addr);
cmp(regval, addr);
}
private void las(final int addr) {
S &= ram.read(addr);
A = X = S;
setflags(S);
}
private void lax(final int addr) {
A = X = ram.read(addr);
setflags(A);
}
private void isc(final int addr) {
inc(addr);
sbc(addr);
}
private void rla(final int addr) {
rol(addr);
and(addr);
}
private void rra(int addr) {
ror(addr);
adc(addr);
}
private void sax(int addr) {
ram.write(addr, (A & X) & 0xFF);
}
private void shx(final int addr) {
final int data = (X & ((addr >> 8) + 1)) & 0xFF;
final int tmp = (addr - Y) & 0xFF;
if ((Y + tmp) <= 0xFF) {
ram.write(addr, data);
} else {
ram.write(addr, ram.read(addr));
}
}
private void shy(final int addr) {
final int data = (Y & ((addr >> 8) + 1)) & 0xFF;
final int tmp = (addr - X) & 0xFF;
if ((X + tmp) <= 0xFF) {
ram.write(addr, data);
} else {
ram.write(addr, ram.read(addr));
}
}
private void slo(int addr) {
asl(addr);
ora(addr);
}
private void sre(int addr) {
lsr(addr);
eor(addr);
}
private void tas(int addr) {
S = A & X;
final int data = (S & ((addr >> 8) + 1)) & 0xFF;
final int tmp = (addr - Y) & 0xFF;
if ((Y + tmp) <= 0xFF) {
ram.write(addr, data);
} else {
ram.write(addr, ram.read(addr));
}
}
private void xaa(int addr) {
A = X & ram.read(addr);
setflags(A);
}
// Functions for memory address types; each returns the _memory_address_ for
// the next fn
private int imm() {
return PC++;
}
private int zpg() {
// zero page mode
return ram.read(PC++);
}
private int zpg(final int reg) {
// zero page added to register (modulus page boundary)
return (ram.read(PC++) + reg) & 0xff;
}
private int rel() {
// returns actual value of PC, not memory location to look at
// because only branches use this
return ((byte) ram.read(PC++)) + PC;
}
private int abs() {
// absolute mode
return ram.read(PC++) + (ram.read(PC++) << 8);
}
private int abs(final int reg, final dummy dummy) {
// absolute plus value from reg
final int addr = (ram.read(PC++) | (ram.read(PC++) << 8));
if (addr >> 8 != (addr + reg) >> 8) {
pb = 1;
}
if ((addr & 0xFF00) != ((addr + reg) & 0xFF00) && dummy == dummy.ONCARRY) {
ram.read((addr & 0xFF00) | ((addr + reg) & 0xFF));
}
if (dummy == dummy.ALWAYS) {
ram.read((addr & 0xFF00) | ((addr + reg) & 0xFF));
}
return (addr + reg) & 0xffff;
}
private int ind() {
// weird mode. only used by jmp
final int readloc = abs();
return ram.read(readloc)
+ (ram.read(((readloc & 0xff) == 0xff) ? readloc - 0xff
: readloc + 1) << 8);
//if reading from the last byte in a page, high bit of address
//is taken from first byte on the page, not first byte on NEXT page.
}
private int indX() {
// indirect mode
final int arg = ram.read(PC++);
return ram.read((arg + X) & 0xff)
+ (ram.read((arg + 1 + X) & 0xff) << 8);
// doesn't suffer from the same bug as jump indirect
}
private int indY(final dummy dummy) {
final int arg = ram.read(PC++);
final int addr = (ram.read((arg) & 0xff) | (ram.read((arg + 1) & 0xff) << 8));
if (addr >> 8 != (addr + Y) >> 8) {
pb = 1;
}
if ((addr & 0xFF00) != ((addr + Y) & 0xFF00) && dummy == dummy.ONCARRY) {
ram.read((addr & 0xFF00) | ((addr + Y) & 0xFF));
}
if (dummy == dummy.ALWAYS) {
ram.read((addr & 0xFF00) | ((addr + Y) & 0xFF));
}
return (addr + Y) & 0xffff;
}
public final int flagstobyte() {
return ((negativeFlag ? utils.BIT7 : 0)
| (overflowFlag ? utils.BIT6 : 0)
| utils.BIT5
| (decimalModeFlag ? utils.BIT3 : 0)
| (interruptsDisabled ? utils.BIT2 : 0)
| (zeroFlag ? utils.BIT1 : 0)
| (carryFlag ? utils.BIT0 : 0));
}
private void bytetoflags(final int statusbyte) {
negativeFlag = ((statusbyte & utils.BIT7) != 0);
overflowFlag = ((statusbyte & utils.BIT6) != 0);
//breakFlag = ((b & 32) != 0);
// unusedFlag = ((b & 16) != 0);
// actually nestest wants the unused flag to always be zero,
// and doesn't set the break flag with a plp
decimalModeFlag = ((statusbyte & utils.BIT3) != 0);
interruptsDisabled = ((statusbyte & utils.BIT2) != 0);
zeroFlag = ((statusbyte & utils.BIT1) != 0);
carryFlag = ((statusbyte & utils.BIT0) != 0);
}
public String status() {
//TODO: convert to format string. lots of wasted strings
return " PC:" + utils.hex(PC) + " A:" + utils.hex(A) + " X:"
+ utils.hex(X) + " Y:" + utils.hex(Y) + " P:"
+ utils.hex(flagstobyte()) + " SP:" + utils.hex(S);
}
public static String[] opcodes() {
//%1 1st byte, %2 2nd byte, %3 relative offset from PC
//odd combination of format string and eventual syntax in file here.
String[] op = new String[0x100];
op[0x00] = "BRK";
op[0x01] = "ORA $(%2$02X%1$02X,x)";
op[0x02] = "KIL";
op[0x03] = "SLO $(%2$02X%1$02X,x)";
op[0x04] = "NOP $%1$02X";
op[0x05] = "ORA $%1$02X";
op[0x06] = "ASL $%1$02X";
op[0x07] = "SLO $%1$02X";
op[0x08] = "PHP";
op[0x09] = "ORA #$%1$02X";
op[0x0A] = "ASL A";
op[0x0B] = "ANC #$%1$02X";
op[0x0C] = "NOP $%2$02X%1$02X";
op[0x0D] = "ORA $%2$02X%1$02X";
op[0x0E] = "ASL $%2$02X%1$02X";
op[0x0F] = "SLO $%2$02X%1$02X";
op[0x10] = "BPL $%3$02X";
op[0x11] = "ORA ($%1$02X), y";
op[0x12] = "KIL";
op[0x13] = "SLO ($%1$02X), y";
op[0x14] = "NOP $%1$02X,x";
op[0x15] = "ORA $%1$02X,x";
op[0x16] = "ASL $%1$02X,x";
op[0x17] = "SLO $%1$02X,x";
op[0x18] = "CLC";
op[0x19] = "ORA $%2$02X%1$02X,y";
op[0x1A] = "NOP";
op[0x1B] = "SLO $%2$02X%1$02X,y";
op[0x1C] = "NOP $%2$02X%1$02X,x";
op[0x1D] = "ORA $%2$02X%1$02X,x";
op[0x1E] = "ASL $%2$02X%1$02X,x";
op[0x1F] = "SLO $%2$02X%1$02X,x";
op[0x20] = "JSR $%2$02X%1$02X";
op[0x21] = "AND $(%2$02X%1$02X,x)";
op[0x22] = "KIL";
op[0x23] = "RLA $(%2$02X%1$02X,x)";
op[0x24] = "BIT $%1$02X";
op[0x25] = "AND $%1$02X";
op[0x26] = "ROL $%1$02X";
op[0x27] = "RLA $%1$02X";
op[0x28] = "PLP";
op[0x29] = "AND #$%1$02X";
op[0x2A] = "ROL";
op[0x2B] = "ANC #$%1$02X";
op[0x2C] = "BIT $%2$02X%1$02X";
op[0x2D] = "AND $%2$02X%1$02X";
op[0x2E] = "ROL $%2$02X%1$02X";
op[0x2F] = "RLA $%2$02X%1$02X";
op[0x30] = "BMI $%3$02X";
op[0x31] = "AND ($%1$02X), y";
op[0x32] = "KIL";
op[0x33] = "RLA ($%1$02X), y";
op[0x34] = "NOP $%1$02X,x";
op[0x35] = "AND $%1$02X,x";
op[0x36] = "ROL $%1$02X,x";
op[0x37] = "RLA $%1$02X,x";
op[0x38] = "SEC";
op[0x39] = "AND $%2$02X%1$02X,y";
op[0x3A] = "NOP";
op[0x3B] = "RLA $%2$02X%1$02X,y";
op[0x3C] = "NOP $%2$02X%1$02X,x";
op[0x3D] = "AND $%2$02X%1$02X,x";
op[0x3E] = "ROL $%2$02X%1$02X,x";
op[0x3F] = "RLA $%2$02X%1$02X,x";
op[0x40] = "RTI";
op[0x41] = "EOR $(%2$02X%1$02X,x)";
op[0x42] = "KIL";
op[0x43] = "SRE $(%2$02X%1$02X,x)";
op[0x44] = "NOP $%1$02X";
op[0x45] = "EOR $%1$02X";
op[0x46] = "LSR $%1$02X";
op[0x47] = "SRE $%1$02X";
op[0x48] = "PHA";
op[0x49] = "EOR #$%1$02X";
op[0x4A] = "LSR";
op[0x4B] = "ALR #$%1$02X";
op[0x4C] = "JMP $%2$02X%1$02X";
op[0x4D] = "EOR $%2$02X%1$02X";
op[0x4E] = "LSR $%2$02X%1$02X";
op[0x4F] = "SRE $%2$02X%1$02X";
op[0x50] = "BVC $%3$02X";
op[0x51] = "EOR ($%1$02X), y";
op[0x52] = "KIL";
op[0x53] = "SRE ($%1$02X), y";
op[0x54] = "NOP $%1$02X,x";
op[0x55] = "EOR $%1$02X,x";
op[0x56] = "LSR $%1$02X,x";
op[0x57] = "SRE $%1$02X,x";
op[0x58] = "CLI";
op[0x59] = "EOR $%2$02X%1$02X,y";
op[0x5A] = "NOP";
op[0x5B] = "SRE $%2$02X%1$02X,y";
op[0x5C] = "NOP $%2$02X%1$02X,x";
op[0x5D] = "EOR $%2$02X%1$02X,x";
op[0x5E] = "LSR $%2$02X%1$02X,x";
op[0x5F] = "SRE $%2$02X%1$02X,x";
op[0x60] = "RTS";
op[0x61] = "ADC $(%2$02X%1$02X,x)";
op[0x62] = "KIL";
op[0x63] = "RRA $(%2$02X%1$02X,x)";
op[0x64] = "NOP $%1$02X";
op[0x65] = "ADC $%1$02X";
op[0x66] = "ROR $%1$02X";
op[0x67] = "RRA $%1$02X";
op[0x68] = "PLA";
op[0x69] = "ADC #$%1$02X";
op[0x6A] = "ROR";
op[0x6B] = "ARR #$%1$02X";
op[0x6C] = "JMP ($%2$02X%1$02X)";
op[0x6D] = "ADC $%2$02X%1$02X";
op[0x6E] = "ROR $%2$02X%1$02X";
op[0x6F] = "RRA $%2$02X%1$02X";
op[0x70] = "BVS $%3$02X";
op[0x71] = "ADC ($%1$02X), y";
op[0x72] = "KIL";
op[0x73] = "RRA ($%1$02X), y";
op[0x74] = "NOP $%1$02X,x";
op[0x75] = "ADC $%1$02X,x";
op[0x76] = "ROR $%1$02X,x";
op[0x77] = "RRA $%1$02X,x";
op[0x78] = "SEI";
op[0x79] = "ADC $%2$02X%1$02X,y";
op[0x7A] = "NOP";
op[0x7B] = "RRA $%2$02X%1$02X,y";
op[0x7C] = "NOP $%2$02X%1$02X,x";
op[0x7D] = "ADC $%2$02X%1$02X,x";
op[0x7E] = "ROR $%2$02X%1$02X,x";
op[0x7F] = "RRA $%2$02X%1$02X,x";
op[0x80] = "NOP #$%1$02X";
op[0x81] = "STA $(%2$02X%1$02X,x)";
op[0x82] = "NOP #$%1$02X";
op[0x83] = "SAX $(%2$02X%1$02X,x)";
op[0x84] = "STY $%1$02X";
op[0x85] = "STA $%1$02X";
op[0x86] = "STX $%1$02X";
op[0x87] = "SAX $%1$02X";
op[0x88] = "DEY";
op[0x89] = "NOP #$%1$02X";
op[0x8A] = "TXA";
op[0x8B] = "XAA #$%1$02X";
op[0x8C] = "STY $%2$02X%1$02X";
op[0x8D] = "STA $%2$02X%1$02X";
op[0x8E] = "STX $%2$02X%1$02X";
op[0x8F] = "SAX $%2$02X%1$02X";
op[0x90] = "BCC $%3$02X";
op[0x91] = "STA ($%1$02X), y";
op[0x92] = "KIL";
op[0x93] = "AHX ($%1$02X), y";
op[0x94] = "STY $%1$02X,x";
op[0x95] = "STA $%1$02X,x";
op[0x96] = "STX $%1$02X,y";
op[0x97] = "SAX $%1$02X,y";
op[0x98] = "TYA";
op[0x99] = "STA $%2$02X%1$02X,y";
op[0x9A] = "TXS";
op[0x9B] = "TAS $%2$02X%1$02X,y";
op[0x9C] = "SHY $%2$02X%1$02X,x";
op[0x9D] = "STA $%2$02X%1$02X,x";
op[0x9E] = "SHX $%2$02X%1$02X,y";
op[0x9F] = "AHX $%2$02X%1$02X,y";
op[0xA0] = "LDY #$%1$02X";
op[0xA1] = "LDA $(%2$02X%1$02X,x)";
op[0xA2] = "LDX #$%1$02X";
op[0xA3] = "LAX $(%2$02X%1$02X,x)";
op[0xA4] = "LDY $%1$02X";
op[0xA5] = "LDA $%1$02X";
op[0xA6] = "LDX $%1$02X";
op[0xA7] = "LAX $%1$02X";
op[0xA8] = "TAY";
op[0xA9] = "LDA #$%1$02X";
op[0xAA] = "TAX";
op[0xAB] = "LAX #$%1$02X";
op[0xAC] = "LDY $%2$02X%1$02X";
op[0xAD] = "LDA $%2$02X%1$02X";
op[0xAE] = "LDX $%2$02X%1$02X";
op[0xAF] = "LAX $%2$02X%1$02X";
op[0xB0] = "BCS $%3$02X";
op[0xB1] = "LDA ($%1$02X), y";
op[0xB2] = "KIL";
op[0xB3] = "LAX ($%1$02X), y";
op[0xB4] = "LDY $%1$02X,x";
op[0xB5] = "LDA $%1$02X,x";
op[0xB6] = "LDX $%1$02X,y";
op[0xB7] = "LAX $%1$02X,y";
op[0xB8] = "CLV";
op[0xB9] = "LDA $%2$02X%1$02X,y";
op[0xBA] = "TSX";
op[0xBB] = "LAS $%2$02X%1$02X,y";
op[0xBC] = "LDY $%2$02X%1$02X,x";
op[0xBD] = "LDA $%2$02X%1$02X,x";
op[0xBE] = "LDX $%2$02X%1$02X,y";
op[0xBF] = "LAX $%2$02X%1$02X,y";
op[0xC0] = "CPY #$%1$02X";
op[0xC1] = "CMP $(%2$02X%1$02X,x)";
op[0xC2] = "NOP #$%1$02X";
op[0xC3] = "DCP $(%2$02X%1$02X,x)";
op[0xC4] = "CPY $%1$02X";
op[0xC5] = "CMP $%1$02X";
op[0xC6] = "DEC $%1$02X";
op[0xC7] = "DCP $%1$02X";
op[0xC8] = "INY";
op[0xC9] = "CMP #$%1$02X";
op[0xCA] = "DEX";
op[0xCB] = "AXS #$%1$02X";
op[0xCC] = "CPY $%2$02X%1$02X";
op[0xCD] = "CMP $%2$02X%1$02X";
op[0xCE] = "DEC $%2$02X%1$02X";
op[0xCF] = "DCP $%2$02X%1$02X";
op[0xD0] = "BNE $%3$02X";
op[0xD1] = "CMP ($%1$02X), y";
op[0xD2] = "KIL";
op[0xD3] = "DCP ($%1$02X), y";
op[0xD4] = "NOP $%1$02X,x";
op[0xD5] = "CMP $%1$02X,x";
op[0xD6] = "DEC $%1$02X,x";
op[0xD7] = "DCP $%1$02X,x";
op[0xD8] = "CLD";
op[0xD9] = "CMP $%2$02X%1$02X,y";
op[0xDA] = "NOP";
op[0xDB] = "DCP $%2$02X%1$02X,y"; //did i delete this line somehow?
op[0xDC] = "NOP $%2$02X%1$02X,x";
op[0xDD] = "CMP $%2$02X%1$02X,x";
op[0xDE] = "DEC $%2$02X%1$02X,x";
op[0xDF] = "DCP $%2$02X%1$02X,x";
op[0xE0] = "CPX #$%1$02X";
op[0xE1] = "SBC $(%2$02X%1$02X,x)";
op[0xE2] = "NOP #$%1$02X";
op[0xE3] = "ISC $(%2$02X%1$02X,x)";
op[0xE4] = "CPX $%1$02X";
op[0xE5] = "SBC $%1$02X";
op[0xE6] = "INC $%1$02X";
op[0xE7] = "ISC $%1$02X";
op[0xE8] = "INX";
op[0xE9] = "SBC #$%1$02X";
op[0xEA] = "NOP";
op[0xEB] = "SBC #$%1$02X";
op[0xEC] = "CPX $%2$02X%1$02X";
op[0xED] = "SBC $%2$02X%1$02X";
op[0xEE] = "INC $%2$02X%1$02X";
op[0xEF] = "ISC $%2$02X%1$02X";
op[0xF0] = "BEQ $%3$02X";
op[0xF1] = "SBC ($%1$02X), y";
op[0xF2] = "KIL";
op[0xF3] = "ISC ($%1$02X), y";
op[0xF4] = "NOP $%1$02X,x";
op[0xF5] = "SBC $%1$02X,x";
op[0xF6] = "INC $%1$02X,x";
op[0xF7] = "ISC $%1$02X,x";
op[0xF8] = "SED";
op[0xF9] = "SBC $%2$02X%1$02X,y";
op[0xFA] = "NOP";
op[0xFB] = "ISC $%2$02X%1$02X,y";
op[0xFC] = "NOP $%2$02X%1$02X,x";
op[0xFD] = "SBC $%2$02X%1$02X,x";
op[0xFE] = "INC $%2$02X%1$02X,x";
op[0xFF] = "ISC $%2$02X%1$02X,x";
return op;
}
//these methods are needed for NSF playing use
public void setRegA(int value) {
A = value & 0xff;
}
public void setRegX(int value) {
X = value & 0xff;
}
public void setPC(int value) {
PC = value & 0xffff;
idle = false;
log("**PC SET**");
}
public final void log(String tolog) {
if (logging) {
try {
w.write(tolog);
} catch (IOException e) {
System.err.println("Cannot write to debug log" + e.getLocalizedMessage());
}
}
}
private void flushLog() {
if (logging) {
try {
w.flush();
} catch (IOException e) {
System.err.println("Cannot write to debug log" + e.getLocalizedMessage());
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/CPURAM.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes;
import com.grapeshot.halfnes.cheats.Patch;
import com.grapeshot.halfnes.mappers.Mapper;
import java.util.Arrays;
import java.util.HashMap;
/**
*
* @author Andrew Hoffman
*
*
*/
public class CPURAM {
private final int[] wram = new int[2048];
Mapper mapper;
public APU apu;
PPU ppu; //need these to call their write handlers from here.
private HashMap patches = new HashMap<>();
public CPURAM(final Mapper mappy) {
mapper = mappy;
// init memory
Arrays.fill(wram, 0xff);
}
public final int read(final int addr) {
if (!patches.isEmpty()) {
int retval = _read(addr);
Patch p = patches.get(addr);
if (p != null && p.getAddress() == addr && p.matchesData(retval)) {
return p.getData();
}
return retval;
} else {
return _read(addr);
}
}
public final int _read(final int addr) {
if (addr > 0x4018) {
return mapper.cartRead(addr);
} else if (addr <= 0x1fff) {
return wram[addr & 0x7FF];
} else if (addr <= 0x3fff) {
// 8 byte ppu regs; mirrored lots
return ppu.read(addr & 7);
} else if (0x4000 <= addr && addr <= 0x4018) {
return apu.read(addr - 0x4000);
} else {
return addr >> 8; //open bus
}
}
public final void write(final int addr, final int data) {
// if((data & 0xff) != data){
// System.err.println("DANGER WILL ROBINSON");
// }
if (addr > 0x4018) {
mapper.cartWrite(addr, data);
} else if (addr <= 0x1fff) {
wram[addr & 0x7FF] = data;
} else if (addr <= 0x3fff) {
// 8 byte ppu regs; mirrored lots
ppu.write(addr & 7, data);
} else if (0x4000 <= addr && addr <= 0x4018) {
apu.write(addr - 0x4000, data);
}
}
public void setAPU(APU apu) {
this.apu = apu;
}
public void setPPU(PPU ppu) {
this.ppu = ppu;
}
public void setPatches(HashMap p) {
this.patches = p;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/FileUtils.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes;
import java.awt.EventQueue;
import java.io.*;
/**
*
* @author Andrew
*/
public class FileUtils {
private FileUtils() {}
public static String getExtension(final File f) {
return getExtension(f.getName());
}
public static String getExtension(final String s) {
if (s == null || s.equals("")) {
return "";
}
int split = s.lastIndexOf('.');
if (split < 0) {
return "";
}
return s.substring(split);
}
public static String stripExtension(final File f) {
String s = f.getName();
if (s == null || s.equals("")) {
return "";
}
int split = s.lastIndexOf('.');
if (split < 0) {
return "";
}
return s.substring(0, split);
}
public static String stripExtension(final String s) {
if (s == null || s.equals("")) {
return "";
}
int split = s.lastIndexOf('.');
if (split < 0) {
return "";
}
return s.substring(0, split);
}
public static void writetofile(final int[] array, final String path) {
//note: does NOT write the ints directly to the file - only the low bytes.
AsyncWriter writer = new AsyncWriter(array, path);
writer.run();
}
public static void asyncwritetofile(final int[] array, final String path) {
//now does the file writing in the dispatch thread
//hopefully that will eliminate annoying hitches when file system's slow
//and not do pathological stuff like threads are prone to
AsyncWriter writer = new AsyncWriter(array, path);
EventQueue.invokeLater(writer);
}
private static class AsyncWriter implements Runnable {
private final int[] a;
private final String path;
public AsyncWriter(final int[] a, final String path) {
this.a = a;
this.path = path;
}
@Override
public void run() {
if (a != null && path != null) {
try {
FileOutputStream b = new FileOutputStream(path);
byte[] buf = new byte[a.length];
for (int i = 0; i < a.length; ++i) {
buf[i] = (byte) (a[i] & 0xff);
}
b.write(buf);
b.flush();
b.close();
} catch (IOException e) {
System.err.print("Could not save. ");
System.err.println(e);
}
}
}
}
public static String getFilenamefromPath(String path) {
return new File(path).getName();
}
public static int[] readfromfile(final String path) {
File f = new File(path);
byte[] bytes = new byte[(int) f.length()];
FileInputStream fis;
try {
fis = new FileInputStream(f);
fis.read(bytes);
} catch (IOException e) {
// TODO Auto-generated catch block
System.err.println("Failed to load file");
e.printStackTrace();
}
int[] ints = new int[bytes.length];
for (int i = 0;
i < bytes.length;
i++) {
ints[i] = (short) (bytes[i] & 0xFF);
}
return ints;
}
public static boolean exists(final String path) {
File f = new File(path);
return f.canRead() && !f.isDirectory();
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/HeadlessNES.java
================================================
package com.grapeshot.halfnes;
import com.grapeshot.halfnes.ui.HeadlessUI;
import com.grapeshot.halfnes.ui.PuppetController;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
/**
* @author Mitchell Skaggs
*/
public class HeadlessNES {
private HeadlessNES() {}
public static final int scale = 4;
public static void main(String[] args) {
BufferedImage bufferedImage = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB_PRE);
HeadlessUI ui = new HeadlessUI("src/test/resources/nestest/nestest.nes", true);
for (int i = 0; i < 100; i++) {
ui.runFrame();
}
ui.getController1().pressButton(PuppetController.Button.START);
ui.runFrame();
ui.getController1().releaseButton(PuppetController.Button.START);
for (int i = 0; i < 5; i++) {
ui.runFrame();
}
BufferedImage image = ui.getLastFrame();
JFrame frame = new JFrame("Display") {
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawImage(image, 0, 0, image.getWidth() * scale, image.getHeight() * scale, this);
}
};
frame.setSize(256 * scale, 224 * scale);
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/JInputHelper.java
================================================
package com.grapeshot.halfnes;
import java.io.*;
import java.lang.reflect.Field;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.security.AccessController;
import java.security.PrivilegedAction;
/**
* Created by KlausH on 29.11.2015.
*/
public enum JInputHelper {
;
private static final String[] NATIVE_LIBRARIES = new String[]{
// Windows
"jinput-dx8.dll",
"jinput-dx8_64.dll",
"jinput-raw.dll",
"jinput-raw_64.dll",
"jinput-wintab.dll",
"jinput-wintab.dll",
// Linux
"libjinput-linux.so",
"libjinput-linux64.so",
// OsX (Mac)
"libjinput-osx.jnilib",};
public static void setupJInput() {
try {
File nativesDirectory = createTempDirectory();
unpackNativeLibraries(nativesDirectory);
setLibraryPath(nativesDirectory);
fixInputPluginForWindows8();
} catch (Exception exception) {
throw new RuntimeException("Unable to setup native libraries.", exception);
}
}
private static void unpackNativeLibraries(File nativesDirectory) throws IOException {
for (String nativeLibrary : NATIVE_LIBRARIES) {
unpackNativeLibrary(nativesDirectory, nativeLibrary);
}
}
private static void unpackNativeLibrary(File nativesDirectory, String nativeLibrary) throws IOException {
try (InputStream nativeLibraryInputStream = ClassLoader.getSystemResourceAsStream(nativeLibrary)) {
File nativeLibraryTempFile = new File(nativesDirectory, nativeLibrary);
nativeLibraryTempFile.deleteOnExit();
if (!nativeLibraryTempFile.exists()) {
try (BufferedOutputStream nativeLibraryTempFileOutputStream
= new BufferedOutputStream(new FileOutputStream(nativeLibraryTempFile))) {
byte[] buffer = new byte[4096];
int length;
while ((length = nativeLibraryInputStream.read(buffer)) > 0) {
nativeLibraryTempFileOutputStream.write(buffer, 0, length);
}
}
}
}
}
private static File createTempDirectory() throws IOException {
String tmpdir = System.getProperty("java.io.tmpdir") + "/halfnes-" + NES.VERSION;
System.err.println(tmpdir);
File f = new File(tmpdir);
if (!f.exists()) {
f.mkdir();
}
//File nativeDirectory = Files.createTempDirectory("halfNES-natives").toFile();
f.deleteOnExit();
return f;
}
private static void setLibraryPath(final File nativesDirectory) throws NoSuchFieldException, IllegalAccessException {
System.setProperty("java.library.path", nativesDirectory.getAbsolutePath());
final Field fieldSysPath = ClassLoader.class.getDeclaredField("sys_paths");
fieldSysPath.setAccessible(true);
fieldSysPath.set(null, null);
}
private static void fixInputPluginForWindows8() {
AccessController.doPrivileged((PrivilegedAction) () -> {
String os = System.getProperty("os.name", "").trim();
if (os.startsWith("Windows")) {
if (os.startsWith("Windows 8")) {
// disable default plugin lookup
System.setProperty("jinput.useDefaultPlugin", "false");
// set to same as windows 7
System.setProperty("net.java.games.input.plugins", "net.java.games.input.DirectAndRawInputEnvironmentPlugin");
}
if (os.startsWith("Windows 10") || isWindows10()) {
// disable default plugin lookup
System.setProperty("jinput.useDefaultPlugin", "false");
// set fallback to AWT plugin
System.setProperty("net.java.games.input.plugins", "net.java.games.input.DirectAndRawInputEnvironmentPlugin");
}
}
return null;
});
}
private static boolean isWindows10() {
try {
Process process = Runtime.getRuntime().exec("cmd.exe /c ver");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream(), StandardCharsets.UTF_8));
bufferedReader.readLine();
String line = bufferedReader.readLine();
process.waitFor();
return line.contains("10");
} catch (Exception exception) {
throw new RuntimeException(exception);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/JavaFXNES.java
================================================
package com.grapeshot.halfnes;
import com.grapeshot.halfnes.ui.ControllerImpl;
import com.grapeshot.halfnes.ui.GUIInterface;
import com.grapeshot.halfnes.ui.OnScreenMenu;
import com.grapeshot.halfnes.video.NesColors;
import java.nio.ByteBuffer;
import java.util.List;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.geometry.Insets;
import javafx.geometry.Rectangle2D;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.image.PixelWriter;
import javafx.scene.image.WritablePixelFormat;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCombination;
import javafx.scene.paint.Color;
import javafx.scene.transform.Scale;
import javafx.stage.Stage;
/**
* @author Stephen Chin - steveonjava@gmail.com
*/
public class JavaFXNES extends Application implements GUIInterface {
// Set the overscan insets to match your config
// And make sure your framebuffer is set to:
// * screen.width + overscan.right
// * screen.height + overscan.bottom
//overscan for PC
private static final Insets overscan = new Insets(0, 0, 0, 0);
//overscan for Pi screen
//private static final Insets overscan = new Insets(-59, 160, 150, 0);
private static final Insets extraOverscan = new Insets(8, 0, 8, 0);
private NES nes;
private Canvas gameCanvas;
private Stage stage;
private OnScreenMenu menu;
@Override
public void start(Stage stage) throws Exception {
this.stage = stage;
//Rectangle2D bounds = Screen.getPrimary().getBounds();
Rectangle2D bounds = new Rectangle2D(0,0,640,480);
gameCanvas = new Canvas(256, 240);
stage.addEventHandler(javafx.stage.WindowEvent.WINDOW_CLOSE_REQUEST, e -> nes.quit());
menu = new OnScreenMenu(this);
//menu.setPadding(extraOverscan);
menu.setPrefWidth(256);
menu.setPrefHeight(240);
Group root = new Group(gameCanvas, menu);
Scene scene = new Scene(root, bounds.getWidth(), bounds.getHeight(), Color.BLACK);
stage.setScene(scene);
//stage.setFullScreen(true);
stage.setFullScreenExitKeyCombination(KeyCombination.valueOf("F11"));
stage.addEventHandler(javafx.scene.input.KeyEvent.KEY_PRESSED, e -> {
if (e.getCode().equals(KeyCode.ESCAPE)) {
menu.show();
}
});
root.setLayoutX(overscan.getRight() - overscan.getLeft() - extraOverscan.getLeft() * bounds.getWidth() / 256);
root.setLayoutY(overscan.getBottom() - overscan.getTop() - extraOverscan.getTop() * bounds.getHeight() / 240);
root.getTransforms().add(new Scale(
(bounds.getWidth() - (overscan.getRight() - overscan.getLeft())) / (256 - extraOverscan.getLeft() - extraOverscan.getRight()),
(bounds.getHeight() - (overscan.getBottom() - overscan.getTop())) / (240 - extraOverscan.getTop() - extraOverscan.getBottom())));
nes = new NES(this);
ControllerImpl padController1 = new ControllerImpl(scene, 0);
ControllerImpl padController2 = new ControllerImpl(scene, 1);
padController1.startEventQueue();
padController2.startEventQueue();
nes.setControllers(padController1, padController2);
final List params = getParameters().getRaw();
new Thread(() -> {
if (params.isEmpty()) {
nes.run();
} else {
nes.run(params.get(0));
}
}, "Game Thread").start();
}
public static void main(String[] args) {
JInputHelper.setupJInput();
launch(args);
}
@Override
public NES getNes() {
return nes;
}
@Override
public void setNES(NES nes) {
this.nes = nes;
}
final byte[] buffer = new byte[256 * 240 * 4];
final WritablePixelFormat format = WritablePixelFormat.getByteBgraPreInstance();
private final long[] frametimes = new long[60];
private int frametimeptr = 0;
private double fps;
@Override
public void setFrame(int[] nespixels, int[] bgcolor, boolean dotcrawl) {
Platform.runLater(() -> {
frametimes[frametimeptr] = nes.getFrameTime();
++frametimeptr;
frametimeptr %= frametimes.length;
if (frametimeptr == 0) {
long averageframes = 0;
for (long l : frametimes) {
averageframes += l;
}
averageframes /= frametimes.length;
fps = 1E9 / averageframes;
stage.setTitle(String.format("HalfNES %s, %2.2f fps",
// + ((nes.frameskip > 0) ? " frameskip " + nes.frameskip : ""),
NES.VERSION,
// nes.getCurrentRomName(),
fps));
}
PixelWriter writer = gameCanvas.getGraphicsContext2D().getPixelWriter();
for (int i = 0; i < nespixels.length; i++) {
byte[] colbytes = NesColors.colbytes[(nespixels[i] & 0x1c0) >> 6][nespixels[i] & 0x3f];
System.arraycopy(colbytes, 0, buffer, i * 4, 3);
}
writer.setPixels(0, 0, 256, 240, format, buffer, 0, 256 * 4);
});
}
@Override
public void messageBox(String message) {
System.out.println("message = " + message);
}
@Override
public void run() {
Platform.runLater(() -> {
stage.show();
menu.show();
});
}
@Override
public void render() {
// whatever...
}
public void loadROMs(String path) {
menu.loadROMs(path);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/NES.java
================================================
/**
*
* @author Andrew Hoffman
*/
package com.grapeshot.halfnes;
import com.grapeshot.halfnes.cheats.ActionReplay;
import com.grapeshot.halfnes.mappers.BadMapperException;
import com.grapeshot.halfnes.mappers.Mapper;
import com.grapeshot.halfnes.ui.ControllerInterface;
import com.grapeshot.halfnes.ui.FrameLimiterImpl;
import com.grapeshot.halfnes.ui.FrameLimiterInterface;
import com.grapeshot.halfnes.ui.GUIInterface;
import javafx.application.Platform;
public class NES implements ProjectInfo {
private Mapper mapper;
private APU apu;
private CPU cpu;
private CPURAM cpuram;
private PPU ppu;
private GUIInterface gui;
private ControllerInterface controller1, controller2;
public boolean runEmulation = false;
private boolean dontSleep = false;
private boolean shutdown = false;
public long frameStartTime, framecount, frameDoneTime;
private boolean frameLimiterOn = true;
private String curRomPath, curRomName;
private final FrameLimiterInterface limiter = new FrameLimiterImpl(this, 16639267);
// Pro Action Replay device
private ActionReplay actionReplay;
public NES(GUIInterface gui) {
if (gui != null) {
this.gui = gui;
gui.setNES(this);
gui.run();
}
}
public CPURAM getCPURAM() {
return this.cpuram;
}
public CPU getCPU() {
return this.cpu;
}
public void run(final String romtoload) {
Thread.currentThread().setPriority(Thread.NORM_PRIORITY + 1);
//set thread priority higher than the interface thread
curRomPath = romtoload;
gui.loadROMs(romtoload);
run();
}
public void run() {
while (!shutdown) {
if (runEmulation) {
frameStartTime = System.nanoTime();
actionReplay.applyPatches();
runframe();
if (frameLimiterOn && !dontSleep) {
limiter.sleep();
}
frameDoneTime = System.nanoTime() - frameStartTime;
} else {
limiter.sleepFixed();
if (ppu != null && framecount > 1) {
gui.render();
}
}
}
}
private synchronized void runframe() {
//run cpu, ppu for a whole frame
ppu.runFrame();
//do end of frame stuff
dontSleep = apu.bufferHasLessThan(1000);
//if the audio buffer is completely drained, don't sleep for this frame
//this is to prevent the emulator from getting stuck sleeping too much
//on a slow system or when the audio buffer runs dry.
apu.finishframe();
cpu.modcycles();
// if (framecount == 13 * 60) {
// cpu.startLog();
// System.err.println("log on");
// }
//render the frame
ppu.renderFrame(gui);
if ((framecount & 2047) == 0) {
//save sram every 30 seconds or so
saveSRAM(true);
}
++framecount;
//System.err.println(framecount);
}
public void setControllers(ControllerInterface controller1, ControllerInterface controller2) {
this.controller1 = controller1;
this.controller2 = controller2;
}
public void toggleFrameLimiter() {
frameLimiterOn = !frameLimiterOn;
}
public synchronized void loadROM(final String filename) {
loadROM(filename, null);
}
public synchronized void loadROM(final String filename, Integer initialPC) {
runEmulation = false;
if (FileUtils.exists(filename)
&& (FileUtils.getExtension(filename).equalsIgnoreCase(".nes")
|| FileUtils.getExtension(filename).equalsIgnoreCase(".nsf"))) {
Mapper newmapper;
try {
final ROMLoader loader = new ROMLoader(filename);
loader.parseHeader();
newmapper = Mapper.getCorrectMapper(loader);
newmapper.setLoader(loader);
newmapper.loadrom();
} catch (BadMapperException e) {
gui.messageBox("Error Loading File: ROM is"
+ " corrupted or uses an unsupported mapper.\n" + e.getMessage());
return;
} catch (Exception e) {
gui.messageBox("Error Loading File: ROM is"
+ " corrupted or uses an unsupported mapper.\n" + e.toString() + e.getMessage());
e.printStackTrace();
return;
}
if (apu != null) {
//if rom already running save its sram before closing
apu.destroy();
saveSRAM(false);
//also get rid of mapper etc.
mapper.destroy();
cpu = null;
cpuram = null;
ppu = null;
}
mapper = newmapper;
//now some annoying getting of all the references where they belong
cpuram = mapper.getCPURAM();
actionReplay = new ActionReplay(cpuram);
cpu = mapper.cpu;
ppu = mapper.ppu;
apu = new APU(this, cpu, cpuram);
cpuram.setAPU(apu);
cpuram.setPPU(ppu);
curRomPath = filename;
curRomName = FileUtils.getFilenamefromPath(filename);
framecount = 0;
//if savestate exists, load it
if (mapper.hasSRAM()) {
loadSRAM();
}
//and start emulation
cpu.init(initialPC);
mapper.init();
setParameters();
runEmulation = true;
} else {
gui.messageBox("Could not load file:\nFile " + filename + "\n"
+ "does not exist or is not a valid NES game.");
}
}
private void saveSRAM(final boolean async) {
if (mapper != null && mapper.hasSRAM() && mapper.supportsSaves()) {
if (async) {
FileUtils.asyncwritetofile(mapper.getPRGRam(), FileUtils.stripExtension(curRomPath) + ".sav");
} else {
FileUtils.writetofile(mapper.getPRGRam(), FileUtils.stripExtension(curRomPath) + ".sav");
}
}
}
private void loadSRAM() {
final String name = FileUtils.stripExtension(curRomPath) + ".sav";
if (FileUtils.exists(name) && mapper.supportsSaves()) {
mapper.setPRGRAM(FileUtils.readfromfile(name));
}
}
public void quit() {
//save SRAM and quit
//should wait for any save sram workers to be done before here
if (cpu != null && curRomPath != null) {
runEmulation = false;
saveSRAM(false);
}
//there might be some subtle threading bug with saving?
//System.Exit is very dirty and does NOT let the delete on exit handler
//fire so the natives stick around...
shutdown = true;
Platform.exit();
}
public synchronized void reset() {
if (cpu != null) {
mapper.reset();
cpu.reset();
runEmulation = true;
apu.pause();
apu.resume();
}
//reset frame counter as well because PPU is reset
//on Famicom, PPU is not reset when Reset is pressed
//but some NES games expect it to be and you get garbage.
framecount = 0;
}
public synchronized void reloadROM() {
loadROM(curRomPath);
}
public synchronized void pause() {
if (apu != null) {
apu.pause();
}
runEmulation = false;
}
public long getFrameTime() {
return frameDoneTime;
}
public String getrominfo() {
if (mapper != null) {
return mapper.getrominfo();
}
return null;
}
public synchronized void frameAdvance() {
runEmulation = false;
if (cpu != null) {
runframe();
}
}
public synchronized void resume() {
if (apu != null) {
apu.resume();
}
if (cpu != null) {
runEmulation = true;
}
}
public String getCurrentRomName() {
return curRomName;
}
public boolean isFrameLimiterOn() {
return frameLimiterOn;
}
public void messageBox(final String string) {
if (gui != null) {
gui.messageBox(string);
}
}
public ControllerInterface getcontroller1() {
return controller1;
}
public ControllerInterface getcontroller2() {
return controller2;
}
public synchronized void setParameters() {
if (apu != null) {
apu.setParameters();
}
if (ppu != null) {
ppu.setParameters();
}
if (limiter != null && mapper != null) {
switch (mapper.getTVType()) {
case NTSC:
default:
limiter.setInterval(16639267);
break;
case PAL:
case DENDY:
limiter.setInterval(19997200);
}
}
}
/**
* Access to the Pro Action Replay device.
*/
public synchronized ActionReplay getActionReplay() {
return actionReplay;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/PPU.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes;
import static com.grapeshot.halfnes.PrefsSingleton.get;
import com.grapeshot.halfnes.mappers.Mapper;
import com.grapeshot.halfnes.ui.DebugUI;
import com.grapeshot.halfnes.ui.GUIInterface;
import static com.grapeshot.halfnes.utils.reverseByte;
import java.awt.image.BufferedImage;
import static java.awt.image.BufferedImage.TYPE_INT_BGR;
import java.util.Arrays;
import static java.util.Arrays.fill;
import static java.util.Arrays.fill;
public class PPU {
public Mapper mapper;
private int oamaddr, oamstart, readbuffer = 0;
private int loopyV = 0x0;//ppu memory pointer
private int loopyT = 0x0;//temp pointer
private int loopyX = 0;//fine x scroll
public int scanline = 0;
public int cycles = 0;
private int framecount = 0;
private int div = 2;
private final int[] OAM = new int[256], secOAM = new int[32],
spriteshiftregH = new int[8],
spriteshiftregL = new int[8], spriteXlatch = new int[8],
spritepals = new int[8], bitmap = new int[240 * 256];
private int found, bgShiftRegH, bgShiftRegL, bgAttrShiftRegH, bgAttrShiftRegL;
private final boolean[] spritebgflags = new boolean[8];
private boolean even = true, bgpattern = true, sprpattern, spritesize, nmicontrol,
grayscale, bgClip, spriteClip, bgOn, spritesOn,
vblankflag, sprite0hit, spriteoverflow;
private int emph;
public final int[] pal;
private DebugUI debuggui;
private int vraminc = 1;
private final static boolean PPUDEBUG = get().getBoolean("ntView", false);
private BufferedImage nametableView;
private final int[] bgcolors = new int[256];
private int openbus = 0; //the last value written to the PPU
private int nextattr;
private int linelowbits;
private int linehighbits;
private int penultimateattr;
private int numscanlines;
private int vblankline;
private final int[] cpudivider = {3, 3, 3, 3, 3};
public PPU(final Mapper mapper) {
this.pal = new int[]{0x09, 0x01, 0x00, 0x01, 0x00, 0x02, 0x02, 0x0D,
0x08, 0x10, 0x08, 0x24, 0x00, 0x00, 0x04, 0x2C, 0x09, 0x01, 0x34,
0x03, 0x00, 0x04, 0x00, 0x14, 0x08, 0x3A, 0x00, 0x02, 0x00, 0x20,
0x2C, 0x08};
/*
power-up pallette checked by Blargg's power_up_palette test. Different
revs of NES PPU might give different initial results but there's a test
expecting this set of values and nesemu1, BizHawk, RockNES, MyNes use it
*/
this.mapper = mapper;
fill(OAM, 0xff);
if (PPUDEBUG) {
nametableView = new BufferedImage(512, 480, TYPE_INT_BGR);
debuggui = new DebugUI(512, 480);
debuggui.run();
}
setParameters();
}
final void setParameters() {
//set stuff to NTSC or PAL or Dendy values
switch (mapper.getTVType()) {
case NTSC:
default:
numscanlines = 262;
vblankline = 241;
cpudivider[0] = 3;
break;
case PAL:
numscanlines = 312;
vblankline = 241;
cpudivider[0] = 4;
break;
case DENDY:
numscanlines = 312;
vblankline = 291;
cpudivider[0] = 3;
break;
}
}
public void runFrame() {
for (int line = 0; line < numscanlines; ++line) {
clockLine(line);
}
}
/**
* Performs a read from a PPU register, as well as causes any side effects
* of reading that specific register.
*
* @param regnum register to read (address with 0x2000 already subtracted)
* @return the data in the PPU register, or open bus (the last value written
* to a PPU register) if the register is read only
*/
public final int read(final int regnum) {
switch (regnum) {
case 2:
even = true;
if (scanline == 241) {
if (cycles == 1) {//suppress NMI flag if it was just turned on this same cycle
vblankflag = false;
}
//OK, uncommenting this makes blargg's NMI suppression test
//work but breaks Antarctic Adventure.
//I'm going to need a cycle accurate CPU to fix that...
// if (cycles < 4) {
// //show vblank flag but cancel pending NMI before the CPU
// //can actually do anything with it
// //TODO: use proper interface for this
// mapper.cpu.nmiNext = false;
// }
}
openbus = (vblankflag ? 0x80 : 0)
| (sprite0hit ? 0x40 : 0)
| (spriteoverflow ? 0x20 : 0)
| (openbus & 0x1f);
vblankflag = false;
break;
case 4:
// reading this is NOT reliable but some games do it anyways
openbus = OAM[oamaddr];
//System.err.println("codemasters?");
if (renderingOn() && (scanline <= 240)) {
if (cycles < 64) {
return 0xFF;
} else if (cycles <= 256) {
return 0x00;
} //Micro Machines relies on this:
else if (cycles < 320) {
return 0xFF;
} //and this:
else {
return secOAM[0]; //is this the right value @ the time?
}
}
break;
case 7:
// PPUDATA
// correct behavior. read is delayed by one
// -unless- is a read from sprite pallettes
final int temp;
if ((loopyV & 0x3fff) < 0x3f00) {
temp = readbuffer;
readbuffer = mapper.ppuRead(loopyV & 0x3fff);
} else {
readbuffer = mapper.ppuRead((loopyV & 0x3fff) - 0x1000);
temp = mapper.ppuRead(loopyV);
}
if (!renderingOn() || (scanline > 240 && scanline < (numscanlines - 1))) {
loopyV += vraminc;
} else {
//if 2007 is read during rendering PPU increments both horiz
//and vert counters erroneously.
incLoopyVHoriz();
incLoopyVVert();
}
openbus = temp;
break;
// and don't increment on read
default:
return openbus; // last value written to ppu
}
return openbus;
}
/**
* Performs a write to a PPU register
*
* @param regnum register number from 0 to 7, memory addresses are decoded
* to these elsewhere
* @param data the value to write to the register (0x00 to 0xff valid)
*/
public final void write(final int regnum, final int data) {
// if (regnum != 4 /*&& regnum != 7*/) {
// System.err.println("PPU write - wrote " + utils.hex(data) + " to reg "
// + utils.hex(regnum + 0x2000)
// + " frame " + framecount + " scanline " + scanline);
// }
//debugdraw();
openbus = data;
switch (regnum) {
case 0: //PPUCONTROL (2000)
//set 2 bits of vram address (nametable select)
//bits 0 and 1 affect loopyT to change nametable start by 0x400
loopyT &= ~0xc00;
loopyT |= (data & 3) << 10;
/*
SMB1 writes here at the end of its main loop and if this write
lands on one exact PPU clock, the address bits are set to 0.
This only happens on one CPU/PPU alignment of real hardware
though so it only shows up ~33% of the time.
*/
vraminc = (((data & (utils.BIT2)) != 0) ? 32 : 1);
sprpattern = ((data & (utils.BIT3)) != 0);
bgpattern = ((data & (utils.BIT4)) != 0);
spritesize = ((data & (utils.BIT5)) != 0);
/*bit 6 is kind of a halt and catch fire situation since it outputs
ppu color data on the EXT pins that are tied to ground if set
and that'll make the PPU get very hot from sourcing the current.
Only really useful for the NESRGB interposer board, kind of
useless for emulators. I will ignore it.
*/
nmicontrol = ((data & (utils.BIT7)) != 0);
break;
case 1: //PPUMASK (2001)
grayscale = ((data & (utils.BIT0)) != 0);
bgClip = !((data & (utils.BIT1)) != 0); //clip left 8 pixels when its on
spriteClip = !((data & (utils.BIT2)) != 0);
bgOn = ((data & (utils.BIT3)) != 0);
spritesOn = ((data & (utils.BIT4)) != 0);
emph = (data & 0xe0) << 1;
if (numscanlines == 312) {
//if PAL switch position of red and green emphasis bits (6 and 5)
//red is bit 6 -> bit 7
//green is bit 7 -> bit 6
int red = (emph >> 6) & 1;
int green = (emph >> 7) & 1;
emph &= 0xf3f;
emph |= (red << 7) | (green << 6);
}
break;
case 3:
// PPUOAMADDR (2003)
// most games just write zero and use the dma
oamaddr = data & 0xff;
break;
case 4:
// PPUOAMDATA(2004)
if ((oamaddr & 3) == 2) {
OAM[oamaddr++] = (data & 0xE3);
} else {
OAM[oamaddr++] = data;
}
oamaddr &= 0xff;
// games don't usually write this directly anyway, it's unreliable
break;
// PPUSCROLL(2005)
case 5:
if (even) {
// update horizontal scroll
loopyT &= ~0x1f;
loopyX = data & 7;
loopyT |= data >> 3;
even = false;
} else {
// update vertical scroll
loopyT &= ~0x7000;
loopyT |= ((data & 7) << 12);
loopyT &= ~0x3e0;
loopyT |= (data & 0xf8) << 2;
even = true;
}
break;
case 6:
// PPUADDR (2006)
if (even) {
// high byte
loopyT &= 0xc0ff;
loopyT |= ((data & 0x3f) << 8);
loopyT &= 0x3fff;
even = false;
} else {
loopyT &= 0xfff00;
loopyT |= data;
loopyV = loopyT;
even = true;
}
break;
case 7:
// PPUDATA
mapper.ppuWrite((loopyV & 0x3fff), data);
if (!renderingOn() || (scanline > 240 && scanline < (numscanlines - 1))) {
loopyV += vraminc;
} else if ((loopyV & 0x7000) == 0x7000) {
int YScroll = loopyV & 0x3E0;
loopyV &= 0xFFF;
switch (YScroll) {
case 0x3A0:
loopyV ^= 0xBA0;
break;
case 0x3E0:
loopyV ^= 0x3E0;
break;
default:
loopyV += 0x20;
break;
}
} else {
// while rendering, it seems to drop by 1 line, regardless of increment mode
loopyV += 0x1000;
}
break;
default:
break;
}
}
/**
* PPU is on if either background or sprites are enabled
*
* @return true
*/
public boolean renderingOn() {
return bgOn || spritesOn;
}
/**
* MMC3 scan line counter isn't clocked if background and sprites are using
* the same half of the pattern table
*
* @return true if PPU is rendering and BG and sprites are using different
* pattern tables
*/
public final boolean mmc3CounterClocking() {
return (bgpattern != sprpattern) && renderingOn();
}
/**
* Runs the PPU emulation for one NES scan line.
*/
public final void clockLine(int scanline) {
//skip a PPU clock on line 0 of odd frames when rendering is on
//and we are in NTSC mode (pal has no skip)
int skip = (numscanlines == 262
&& scanline == 0
&& renderingOn()
&& !((framecount & (utils.BIT1)) != 0)) ? 1 : 0;
for (cycles = skip; cycles < 341; ++cycles) {
clock();
}
}
private int tileAddr = 0;
private int cpudividerctr = 0;
/**
* runs the emulation for one PPU clock cycle.
*/
public final void clock() {
//cycle based ppu stuff will go here
if (cycles == 1) {
if (scanline == 0) {
dotcrawl = renderingOn();
}
if (scanline < 240) {
bgcolors[scanline] = pal[0];
}
}
if (scanline < 240 || scanline == (numscanlines - 1)) {
//on all rendering lines
if (renderingOn()
&& ((cycles >= 1 && cycles <= 256)
|| (cycles >= 321 && cycles <= 336))) {
//fetch background tiles, load shift registers
bgFetch();
} else if (cycles == 257 && renderingOn()) {
//x scroll reset
//horizontal bits of loopyV = loopyT
loopyV &= ~0x41f;
loopyV |= loopyT & 0x41f;
} else if (cycles > 257 && cycles <= 341) {
//clear the oam address from pxls 257-341 continuously
oamaddr = 0;
}
if ((cycles == 340) && renderingOn()) {
//read the same nametable byte twice
//this signals the MMC5 to increment the scanline counter
fetchNTByte();
fetchNTByte();
}
if (cycles == 65 && renderingOn()) {
oamstart = oamaddr;
}
if (cycles == 260 && renderingOn()) {
//evaluate sprites for NEXT scanline (as long as either background or sprites are enabled)
//this does in fact happen on scanline 261 but it doesn't do anything useful
//it's cycle 260 because that's when the first important sprite byte is read
//actually sprite overflow should be set by sprite eval somewhat before
//so this needs to be split into 2 parts, the eval and the data fetches
evalSprites();
}
if (scanline == (numscanlines - 1)) {
if (cycles == 0) {// turn off vblank, sprite 0, sprite overflow flags
vblankflag = false;
sprite0hit = false;
spriteoverflow = false;
} else if (cycles >= 280 && cycles <= 304 && renderingOn()) {
//loopyV = (all of)loopyT for each of these cycles
loopyV = loopyT;
}
}
} else if (scanline == vblankline && cycles == 1) {
//handle vblank on / off
vblankflag = true;
}
if (!renderingOn() || (scanline > 240 && scanline < (numscanlines - 1))) {
//HACK ALERT
//handle the case of MMC3 mapper watching A12 toggle
//even when read or write aren't asserted on the bus
//needed to pass Blargg's mmc3 tests
mapper.checkA12(loopyV & 0x3fff);
}
if (scanline < 240 && cycles >= 1 && cycles <= 256) {
int bufferoffset = (scanline << 8) + (cycles - 1);
//bg drawing
if (bgOn) { //if background is on, draw a dot of that first
final boolean isBG = drawBGPixel(bufferoffset);
//sprite drawing
drawSprites(scanline, cycles - 1, isBG);
} else if (spritesOn) {
//just the sprites then
int bgcolor = ((loopyV > 0x3f00 && loopyV < 0x3fff) ? mapper.ppuRead(loopyV) : pal[0]);
bitmap[bufferoffset] = bgcolor;
drawSprites(scanline, cycles - 1, true);
} else {
//rendering is off, so draw either the background color OR
//if the PPU address points to the palette, draw that color instead.
int bgcolor = ((loopyV > 0x3f00 && loopyV < 0x3fff) ? mapper.ppuRead(loopyV) : pal[0]);
bitmap[bufferoffset] = bgcolor;
}
//deal with the grayscale flag
if (grayscale) {
bitmap[bufferoffset] &= 0x30;
}
//handle color emphasis
bitmap[bufferoffset] = (bitmap[bufferoffset] & 0x3f) | emph;
}
//handle nmi
if (vblankflag && nmicontrol) {
//pull NMI line on when conditions are right
mapper.cpu.setNMI(true);
} else {
mapper.cpu.setNMI(false);
}
//clock CPU, once every 3 ppu cycles
div = (div + 1) % cpudivider[cpudividerctr];
if (div == 0) {
mapper.cpu.runcycle(scanline, cycles);
mapper.cpucycle(1);
cpudividerctr = (cpudividerctr + 1) % cpudivider.length;
}
if (cycles == 257) {
mapper.notifyscanline(scanline);
} else if (cycles == 340) {
scanline = (scanline + 1) % numscanlines;
if (scanline == 0) {
++framecount;
}
}
}
private void bgFetch() {
//fetch tiles for background
//on real PPU this logic is repurposed for sprite fetches as well
//System.err.println(hex(loopyV));
bgAttrShiftRegH |= ((nextattr >> 1) & 1);
bgAttrShiftRegL |= (nextattr & 1);
//background fetches
switch ((cycles - 1) & 7) {
case 1:
fetchNTByte();
break;
case 3:
//fetch attribute (FIX MATH)
penultimateattr = getAttribute(((loopyV & 0xc00) + 0x23c0),
(loopyV) & 0x1f,
(((loopyV) & 0x3e0) >> 5));
break;
case 5:
//fetch low bg byte
linelowbits = mapper.ppuRead((tileAddr)
+ ((loopyV & 0x7000) >> 12));
break;
case 7:
//fetch high bg byte
linehighbits = mapper.ppuRead((tileAddr) + 8
+ ((loopyV & 0x7000) >> 12));
bgShiftRegL |= linelowbits;
bgShiftRegH |= linehighbits;
nextattr = penultimateattr;
if (cycles != 256) {
incLoopyVHoriz();
} else {
incLoopyVVert();
}
break;
default:
break;
}
if (cycles >= 321 && cycles <= 336) {
bgShiftClock();
}
}
private void incLoopyVVert() {
//increment loopy_v to next row of tiles
if ((loopyV & 0x7000) == 0x7000) {
//reset the fine scroll bits and increment tile address to next row
loopyV &= ~0x7000;
int y = (loopyV & 0x03E0) >> 5;
if (y == 29) {
//if row is 29 zero fine scroll and bump to next nametable
y = 0;
loopyV ^= 0x0800;
} else {
//increment (wrap to 5 bits) but if row is already over 29
//we don't bump loopyV to next nt.
y = (y + 1) & 31;
}
loopyV = (loopyV & ~0x03E0) | (y << 5);
} else {
//increment the fine scroll
loopyV += 0x1000;
}
}
private void incLoopyVHoriz() {
//increment horizontal part of loopyv
if ((loopyV & 0x001F) == 31) // if coarse X == 31
{
loopyV &= ~0x001F; // coarse X = 0
loopyV ^= 0x0400;// switch horizontal nametable
} else {
loopyV += 1;// increment coarse X
}
}
private void fetchNTByte() {
//fetch nt byte
tileAddr = mapper.ppuRead(
((loopyV & 0xc00) | 0x2000) + (loopyV & 0x3ff)) * 16
+ (bgpattern ? 0x1000 : 0);
}
private boolean drawBGPixel(int bufferoffset) {
//background drawing
//loopyX picks bits
final boolean isBG;
if (bgClip && (bufferoffset & 0xff) < 8) {
//left hand of screen clipping
//(needs to be marked as BG and not cause a sprite hit)
bitmap[bufferoffset] = pal[0];
isBG = true;
} else {
final int bgPix = (((bgShiftRegH >> -loopyX + 16) & 1) << 1)
+ ((bgShiftRegL >> -loopyX + 16) & 1);
final int bgPal = (((bgAttrShiftRegH >> -loopyX + 8) & 1) << 1)
+ ((bgAttrShiftRegL >> -loopyX + 8) & 1);
isBG = (bgPix == 0);
bitmap[bufferoffset] = isBG ? pal[0] : pal[(bgPal << 2) + bgPix];
}
bgShiftClock();
return isBG;
}
private void bgShiftClock() {
bgShiftRegH <<= 1;
bgShiftRegL <<= 1;
bgAttrShiftRegH <<= 1;
bgAttrShiftRegL <<= 1;
}
boolean dotcrawl = true;
private boolean sprite0here = false;
/**
* evaluates PPU sprites for the NEXT scanline
*/
private void evalSprites() {
sprite0here = false;
int ypos, offset;
found = 0;
Arrays.fill(secOAM, 0xff);
//primary evaluation
//need to emulate behavior when OAM address is set to nonzero here
for (int spritestart = oamstart; spritestart < 255; spritestart += 4) {
//for each sprite, first we cull the non-visible ones
ypos = OAM[spritestart];
offset = scanline - ypos;
if (ypos > scanline || offset > (spritesize ? 15 : 7)) {
//sprite is out of range vertically
continue;
}
//if we're here it's a valid renderable sprite
if (spritestart == 0) {
sprite0here = true;
}
//actually which sprite is flagged for sprite 0 depends on the starting
//oam address which is, on the real thing, not necessarily zero.
if (found >= 8) {
//if more than 8 sprites, set overflow bit and STOP looking
//todo: add "no sprite limit" option back
spriteoverflow = true;
break; //also the real PPU does strange stuff on sprite overflow
//todo: emulate register trashing that happens when overflow
} else {
//set up ye sprite for rendering
secOAM[found * 4] = OAM[spritestart];
// secOAM[found * 4 + 1] = OAM[spritestart + 1];
// secOAM[found * 4 + 2] = OAM[spritestart + 2];
// secOAM[found * 4 + 3] = OAM[spritestart + 3];
final int oamextra = OAM[spritestart + 2];
//bg flag
spritebgflags[found] = ((oamextra & (utils.BIT5)) != 0);
//x value
spriteXlatch[found] = OAM[spritestart + 3];
spritepals[found] = ((oamextra & 3) + 4) * 4;
if (((oamextra & (utils.BIT7)) != 0)) {
//if sprite is flipped vertically, reverse the offset
offset = (spritesize ? 15 : 7) - offset;
}
//now correction for the fact that 8x16 tiles are 2 separate tiles
if (offset > 7) {
offset += 8;
}
//get tile address (8x16 sprites can use both pattern tbl pages but only the even tiles)
final int tilenum = OAM[spritestart + 1];
spriteFetch(spritesize, tilenum, offset, oamextra);
++found;
}
}
for (int i = found; i < 8; ++i) {
//fill unused sprite registers with zeros
spriteshiftregL[found] = 0;
spriteshiftregH[found] = 0;
//also, we need to do 8 reads no matter how many sprites we found
//dummy reads are to sprite 0xff
spriteFetch(spritesize, 0xff, 0, 0);
}
}
private void spriteFetch(final boolean spritesize, final int tilenum, int offset, final int oamextra) {
int tilefetched;
if (spritesize) {
tilefetched = ((tilenum & 1) * 0x1000)
+ (tilenum & 0xfe) * 16;
} else {
tilefetched = tilenum * 16
+ ((sprpattern) ? 0x1000 : 0);
}
tilefetched += offset;
//now load up the shift registers for said sprite
final boolean hflip = ((oamextra & (utils.BIT6)) != 0);
if (!hflip) {
spriteshiftregL[found] = reverseByte(mapper.ppuRead(tilefetched));
spriteshiftregH[found] = reverseByte(mapper.ppuRead(tilefetched + 8));
} else {
spriteshiftregL[found] = mapper.ppuRead(tilefetched);
spriteshiftregH[found] = mapper.ppuRead(tilefetched + 8);
}
}
/**
* draws appropriate pixel of the sprites selected by sprite evaluation
*/
private void drawSprites(int line, int x, boolean bgflag) {
final int startdraw = !spriteClip ? 0 : 8;//sprite left 8 pixels clip
int sprpxl = 0;
int index = 7;
//check all the used sprite slots to see if any sprite covers this pixel
for (int y = found - 1; y >= 0; --y) {
int off = x - spriteXlatch[y];
if (off >= 0 && off <= 8) {
if ((spriteshiftregH[y] & 1) + (spriteshiftregL[y] & 1) != 0) {
index = y;
sprpxl = 2 * (spriteshiftregH[y] & 1) + (spriteshiftregL[y] & 1);
}
spriteshiftregH[y] >>= 1;
spriteshiftregL[y] >>= 1;
}
}
if (sprpxl == 0 || x < startdraw || !spritesOn) {
//no opaque sprite pixel here
return;
}
if (sprite0here && (index == 0) && !bgflag
&& x < 255) {
//sprite 0 hit!
sprite0hit = true;
}
//now, FINALLY, drawing.
if (!spritebgflags[index] || bgflag) {
bitmap[(line << 8) + x] = pal[spritepals[index] + sprpxl];
}
}
/**
* Read the appropriate color attribute byte for the current tile. this is
* fetched 2x as often as it really needs to be, the MMC5 takes advantage of
* that for ExGrafix mode.
*
* @param ntstart //start of the current attribute table
* @param tileX //x position of tile (0-31)
* @param tileY //y position of tile (0-29)
* @return attribute table value (0-3)
*/
private int getAttribute(final int ntstart, final int tileX, final int tileY) {
final int base = mapper.ppuRead(ntstart + (tileX >> 2) + 8 * (tileY >> 2));
if (((tileY & (utils.BIT1)) != 0)) {
if (((tileX & (utils.BIT1)) != 0)) {
return (base >> 6) & 3;
} else {
return (base >> 4) & 3;
}
} else if (((tileX & (utils.BIT1)) != 0)) {
return (base >> 2) & 3;
} else {
return base & 3;
}
}
/**
* draw all 4 nametables/tileset/pallette to debug window. (for the
* nametable viewer)
*/
private void debugDraw() {
for (int i = 0; i < 32; ++i) {
for (int j = 0; j < 30; ++j) {
nametableView.setRGB(i * 8, j * 8, 8, 8,
debugGetTile(mapper.ppuRead(0x2000 + i + 32 * j) * 16
+ (bgpattern ? 0x1000 : 0)), 0, 8);
}
}
for (int i = 0; i < 32; ++i) {
for (int j = 0; j < 30; ++j) {
nametableView.setRGB(i * 8 + 255, j * 8, 8, 8,
debugGetTile(mapper.ppuRead(0x2400 + i + 32 * j) * 16
+ (bgpattern ? 0x1000 : 0)), 0, 8);
}
}
for (int i = 0; i < 32; ++i) {
for (int j = 0; j < 30; ++j) {
nametableView.setRGB(i * 8, j * 8 + 239, 8, 8,
debugGetTile(mapper.ppuRead(0x2800 + i + 32 * j) * 16
+ (bgpattern ? 0x1000 : 0)), 0, 8);
}
}
for (int i = 0; i < 32; ++i) {
for (int j = 0; j < 30; ++j) {
nametableView.setRGB(i * 8 + 255, j * 8 + 239, 8, 8,
debugGetTile(mapper.ppuRead(0x2C00 + i + 32 * j) * 16
+ (bgpattern ? 0x1000 : 0)), 0, 8);
}
}
//draw the tileset
// for (int i = 0; i < 16; ++i) {
// for (int j = 0; j < 32; ++j) {
// nametableView.setRGB(i * 8, j * 8, 8, 8,
// debugGetTile((i + 16 * j) * 16), 0, 8);
// }
// }
//draw the palettes on the bottom.
// for (int i = 0; i < 32; ++i) {
// for (int j = 0; j < 16; ++j) {
// for (int k = 0; k < 16; ++k) {
// nametableView.setRGB(j + i * 16, k + 256, nescolor[0][pal[i]]);
// }
// }
// }
debuggui.setFrame(nametableView);
//debugbuff.clear();
}
/**
* Fetches 8x8 NES tile stored at the given offset. This is an artifact of
* the first renderer I wrote which drew 8 scanlines at a time.
*
* @return an 8x8 array with colors stored as RGB packed in int
*/
private int[] debugGetTile(final int offset) {
//read one whole tile from nametable and convert from bitplane to packed
//only used for debugging
int[] dat = new int[64];
for (int i = 0; i < 8; ++i) {
//per line of tile ( 1 byte)
for (int j = 0; j < 8; ++j) {
//per pixel(1 bit)
dat[8 * i + j]
= ((((mapper.ppuRead(i + offset) & (utils.BIT7 - j)) != 0))
? 0x555555 : 0)
+ ((((mapper.ppuRead(i + offset + 8) & (utils.BIT7 - j)) != 0))
? 0xaaaaaa : 0);
}
}
return dat;
}
/**
* Sends off a frame of NES video to be rendered by the GUI. also includes
* dot crawl flag and BG color to be displayed around edges which are needed
* for the NTSC renderer.
*
* @param gui the GUI window to render to
*/
public final void renderFrame(GUIInterface gui) {
if (PPUDEBUG) {
debugDraw();
}
if (gui != null) {
gui.setFrame(bitmap, bgcolors, dotcrawl);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/PrefsSingleton.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes;
import java.util.prefs.Preferences;
/**
*
* @author Andrew
*/
public class PrefsSingleton {
private static Preferences instance = null;
protected PrefsSingleton() {
// Exists only to defeat instantiation.
}
public synchronized static Preferences get() {
if (instance == null) {
instance = Preferences.userNodeForPackage(com.grapeshot.halfnes.NES.class);
}
return instance;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ROMLoader.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes;
import com.grapeshot.halfnes.mappers.BadMapperException;
import com.grapeshot.halfnes.mappers.Mapper;
public class ROMLoader {
//this is the oldest code in the project... I'm honestly ashamed
//at how it's structured but for now it works.
//TODO: fix this up
//this SHOULD do just enough to figure out the file type
//and the correct mapper for it, and no more.
public String name;
public int prgsize;
public int chrsize;
public Mapper.MirrorType scrolltype;
public Mapper.TVType tvtype;
public int mappertype;
public int submapper;
public int prgoff, chroff;
public boolean savesram = false;
public int[] header;
private final int[] therom;
public ROMLoader(String filename) {
therom = FileUtils.readfromfile(filename);
name = filename;
}
private void ReadHeader(int len) {
// iNES header is 16 bytes, nsf header is 128,
//other headers increasingly large
header = new int[len];
System.arraycopy(therom, 0, header, 0, len);
}
public void parseHeader() throws BadMapperException {
ReadHeader(16);
// decode iNES 1.0 headers
// 1st 4 bytes : $4E $45 $53 $1A
if (header[0] == 'N' && header[1] == 'E'
&& header[2] == 'S' && header[3] == 0x1A) {
//a valid iNES file, proceed
scrolltype = ((header[6] & (utils.BIT3)) != 0)
? Mapper.MirrorType.FOUR_SCREEN_MIRROR
: ((header[6] & (utils.BIT0)) != 0)
? Mapper.MirrorType.V_MIRROR
: Mapper.MirrorType.H_MIRROR;
savesram = ((header[6] & (utils.BIT1)) != 0);
mappertype = (header[6] >> 4);
//detect NES 2.0 format for the rest of the header
if (((header[7] >> 2) & 3) == 2) {
System.err.println("NES 2 format");
//nes 2
//mapper buts 4-7 in byte 7
mappertype += ((header[7] >> 4) << 4);
//mapper bits 8-12 in byte 8
mappertype += ((header[8] & 15) << 8);
//submapper number is the high 4 bits of byte 8
submapper = (header[8] >> 4);
//extra prg and chr bits in byte 9
prgsize = Math.min(therom.length - 16,
16384 * (header[4] + ((header[9] & 15) << 8)));
if (prgsize == 0) {
throw new BadMapperException("No PRG ROM size in header");
}
chrsize = Math.min(therom.length - 16 - prgsize,
8192 * (header[5] + ((header[9] >> 4) << 8)));
//prg ram size in header byte 10
//chr ram size byte 11
//tv type is byte 12
if ((header[12] & 3) == 1) {
//pal mode only rom
tvtype = Mapper.TVType.PAL;
System.err.println("pal");
} else {
//if ntsc only or works on both we'll use ntsc
tvtype = Mapper.TVType.NTSC;
}
//byte 13 is Vs. System palettes that i don't deal with yet
//byte 14 and 15 must be zero
} else {
//nes 1 format, with hacks
prgsize = Math.min(therom.length - 16, 16384 * header[4]);
if (prgsize == 0) {
throw new BadMapperException("No PRG ROM size in header");
//someone made this field zero on a 4mb multicart ROM
//and someone ELSE made this zero for an 8k PRG dump (no-intro)
//so if anyone gets this error make some heuristics to fix it.
//basically no multicarts > 2mb in iNES 1.0 format
}
chrsize = Math.min(therom.length - 16 - prgsize, 8192 * header[5]);
if (header[11] + header[12] + header[13] + header[14]
+ header[15] == 0) {
//only consider upper bytes of mapper # if the end bytes are zero
mappertype += ((header[7] >> 4) << 4);
if (((header[9] & (utils.BIT0)) != 0)) {
//detect tv type though it's not really used
tvtype = Mapper.TVType.PAL;
System.err.println("pal header type 1");
} else if ((header[10] & 3) == 2) {
tvtype = Mapper.TVType.PAL;
System.err.println("pal header type 2");
} else {
tvtype = Mapper.TVType.NTSC;
}
} else {
System.err.println("diskdude (please clean your roms)");
tvtype = Mapper.TVType.NTSC;
}
}
// calc offsets; header not incl. here
prgoff = 0;
chroff = 0 + prgsize;
} else if (('N' == header[0]) && ('E' == header[1])
&& ('S' == header[2]) && ('M' == header[3])
&& (0x1a == header[4])) {
//nsf file
mappertype = -1;
//reread header since it's 128 bytes
ReadHeader(128);
prgsize = therom.length - 128;
} else if (header[0] == 'U') {
throw new BadMapperException("This is a UNIF file with the wrong extension");
} else {
throw new BadMapperException("iNES Header Invalid");
}
}
public int[] load(int size, int offset) {
int[] bindata = new int[size];
System.arraycopy(therom, offset + header.length, bindata, 0, size);
return bindata;
}
public int romlen() {
return therom.length - header.length;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/Twiddler.form
================================================
================================================
FILE: src/main/java/com/grapeshot/halfnes/Twiddler.java
================================================
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.grapeshot.halfnes;
/**
*
* @author Andrew the brain dead simplest way I could tweak a value with a
* minimum hassle.
*/
public class Twiddler extends javax.swing.JFrame {
double d = 0;
/**
* Creates new form Twiddler
*/
public Twiddler() {
initComponents();
}
public Twiddler(double v) {
initComponents();
d = v;
jTextField1.setText(Double.toString(v));
}
public double get() {
return d;
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTextField1.setText("0");
jButton1.setText("Apply");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 198, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButton1)
.addContainerGap(24, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(19, 19, 19)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1))
.addContainerGap(25, Short.MAX_VALUE))
);
pack();
}// //GEN-END:initComponents
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
d = Double.parseDouble(jTextField1.getText());
}//GEN-LAST:event_jButton1ActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JTextField jTextField1;
// End of variables declaration//GEN-END:variables
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/AudioOutInterface.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
/**
*
* @author Andrew
*/
public interface AudioOutInterface {
public void outputSample(int sample);
public void flushFrame(boolean waitIfBufferFull);
public void pause();
public void resume();
public void destroy();
public boolean bufferHasLessThan(int samples);
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/CircularBuffer.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
/**
*
* @author Andrew
*/
public class CircularBuffer {
int[] buffer;
int bufsize;
int write_ptr;
int read_ptr;
public CircularBuffer(int size) {
//gives you a circular FIFO of indicated size.
//size rounded up to nearest power of two. Limited to 2^26 b/c that's 256mb
for (int i = 0; i < 26; ++i) {
int q = (int) Math.pow(2, i);
if (q > (size)) {
buffer = new int[q];
bufsize = q;
break;
}
}
if (buffer == null) {
throw new UnsupportedOperationException("Buffer too large");
}
write_ptr = size - 2;
read_ptr = 0;
}
public void write(final int data) {
buffer[write_ptr] = data;
++write_ptr;
write_ptr &= (bufsize - 1);
}
public int read() {
final int retval = buffer[read_ptr];
++read_ptr;
read_ptr &= (bufsize - 1);
return retval;
}
public void advanceRead(int amt) {
read_ptr = (read_ptr + amt) & (bufsize - 1);
}
public void advanceWrite(int amt) {
write_ptr = (write_ptr + amt) & (bufsize - 1);
}
public int peek() {
return buffer[read_ptr];
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/ExpansionSoundChip.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
/**
*
* @author Andrew
*/
public interface ExpansionSoundChip {
public void clock(final int cycles);
public void write(int register, int data);
public int getval();
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/FDSSoundChip.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
public class FDSSoundChip implements ExpansionSoundChip {
//emulates the wavetable channel in the FDS 2C33 sound chip
//(does anything ever read back from these registers? they aren't all write-only)
//io enable: must be set for any other register to work
boolean regEnable = true;
//wavetable RAM (actually only 6 bits wide)
int[] wavetable = new int[64];
int waveAddr, waveOut,
waveAccum; //16 bits
boolean waveWriteEnable; //holds channel at last output value when on and
//allows access to wavetable RAM. does NOT stop wave unit.
//envelopes
boolean volEnvDirection, volEnvDisable, modEnvDirection, modEnvDisable;
int volEnvSpeed, modEnvSpeed, envClockMultiplier = 0xe8;//bios sets it thus?
int pitch; //12 bits
//modulation
boolean modDisable;
int modCtr, //7 bits SIGNED +63 to -64
modFreq, //12 bits
modAccum;
int[] modTable = new int[64]; //3 bits wide
int modTableAddr; //six bits, not settable from register
//Volumes
int masterVol, volGain, modGain;
//the lowpass
int lpaccum;
int modout;
boolean BothEnvDisable, haltWaveAndReset;
@Override
public void clock(int cycles) {
for (int i = 0; i < cycles; ++i) {
runUnits();
}
}
private void runUnits() {
//increment wave accumulator
if ((pitch + modout) > 0 && !haltWaveAndReset) {
waveAccum += (pitch + modout);
if ((waveAccum & 0xffff) != waveAccum) {
//increment wave position on overflow
waveAccum &= 0xffff;
waveAddr = (waveAddr + 1) & 63;
}
}
//increment modulator
if (modFreq > 0 && !modDisable) {
modAccum += modFreq;
if ((modAccum & 0xffff) != modAccum) {
//and when that overflows run the rest of the modulation stuff
modAccum &= 0xffff;
CalculateModulator();
}
} else if (modDisable) {
modAccum = 0;
modout = 0;
}
if (!haltWaveAndReset && !BothEnvDisable && (envClockMultiplier != 0)) {
CalculateEnvelopes();
}
if (!waveWriteEnable) {
waveOut = wavetable[waveAddr];
}
int tmp = (volGain > 32) ? 32 : volGain;
int out = (waveOut * tmp);
//apply master volume attenuator
switch (masterVol) {
case 0:
default:
out *= 8;
break;
case 1:
out *= 5;
break;
case 2:
out *= 4;
break;
case 3:
out *= 3;
break;
}
//do a little lowpass (about 2khz)
out += lpaccum;
lpaccum -= out >> 6;
}
private void CalculateModulator() {
switch (modTable[modTableAddr]) {
case 0:
default:
modCtr += 0;
break;
case 1:
modCtr += 1;
break;
case 2:
modCtr += 2;
break;
case 3:
modCtr += 4;
break;
case 4:
modCtr = 0;
break;
case 5:
modCtr -= 4;
break;
case 6:
modCtr -= 2;
break;
case 7:
modCtr -= 1;
break;
}
modTableAddr = ++modTableAddr & 63;
//wrap mod counter to 7 bits signed again
modCtr = (modCtr << 25) >> 25;
//apply modulator result (code pretty much from nesdev wiki)
//thanks rainwarrior (thrainwarrior)
// pitch = $4082/4083 (12-bit unsigned pitch value)
// counter = $4085 (7-bit signed mod counter)
// gain = $4084 (6-bit unsigned mod gain)
// 1. multiply counter by gain, lose lowest 4 bits of result but "round" in a strange way
int temp = modCtr * modGain;
int remainder = temp & 0xF;
temp >>= 4;
if ((remainder > 0) && ((temp & 0x80) == 0)) {
if (modCtr < 0) {
temp -= 1;
} else {
temp += 2;
}
}
// 2. wrap if a certain range is exceeded
if (temp >= 192) {
temp -= 256;
} else if (temp < -64) {
temp += 256;
}
// 3. multiply result by pitch, then round to nearest while dropping 6 bits
temp = pitch * temp;
remainder = temp & 0x3F;
temp >>= 6;
if (remainder >= 32) {
temp += 1;
}
// final mod result is in temp
modout = temp;
}
int modEnvAccum, volEnvAccum;
private void CalculateEnvelopes() {
if (!modEnvDisable) {
++modEnvAccum;
if (modEnvAccum > (8 * envClockMultiplier * (modEnvSpeed + 1))) {
modEnvAccum = 0;
if (modEnvDirection) {
//increase
if (modGain < 32) {
++modGain;
}
} else {
//decrease
if (modGain > 0) {
--modGain;
}
}
}
}
if (!volEnvDisable) {
++volEnvAccum;
if (volEnvAccum > (8 * envClockMultiplier * (volEnvSpeed + 1))) {
volEnvAccum = 0;
if (volEnvDirection) {
//increase
if (volGain < 32) {
++volGain;
}
} else {
//decrease
if (volGain > 0) {
--volGain;
}
}
}
}
}
@Override
public void write(int register, int data) {
if (register == 0x4023) {
//enable register, must be 1 for anything else to work
regEnable = ((data & (utils.BIT0)) != 0);
}
if (regEnable) {
if (register >= 0x4040 && register <= 0x407f) {
//wavetable write
if (waveWriteEnable) {
wavetable[(register - 0x4040) & 63] = (data & 63);
}
} else if (register == 0x4080) {
//volume envelope enable and speed
volEnvDisable = ((data & (utils.BIT7)) != 0); //ON when it's FALSE
volEnvDirection = ((data & (utils.BIT6)) != 0);
if (volEnvDisable) {
volGain = (data & 63);
}
volEnvSpeed = (data & 63);
volEnvAccum = 0;
} else if (register == 0x4082) {
//low 8 bits of wave frequency
pitch &= 0xf00;
pitch |= (data & 0xff);
} else if (register == 0x4083) {
//frequency high, wave reset and phase
pitch &= 0xff;
pitch |= (data & 0xf) << 8;
haltWaveAndReset = ((data & (utils.BIT7)) != 0);
if (haltWaveAndReset) {
waveAccum = 0;
waveAddr = 0;
}
//uh is it write 1 to enable or DISable here??
//todo: do something with envelope enables bit 6
BothEnvDisable = ((data & (utils.BIT6)) != 0);
} else if (register == 0x4084) {
//modulator envelope enable and speed
modEnvDisable = ((data & (utils.BIT7)) != 0);
modEnvDirection = ((data & (utils.BIT6)) != 0);
if (modEnvDisable) {
modGain = data & 0x3f;
}
modEnvSpeed = data & 0x3f;
modAccum = 0;
modEnvAccum = 0;
} else if (register == 0x4085) {
//set modulator counter directly
//Bio Miracle Bokutte Opa uses this, requires very tight timing
//sign extend
modCtr = ((data & 0x7f) << 25) >> 25;
//modTableAddr = 0;
} else if (register == 0x4086) {
//low 8 bits of mod freq
modFreq &= 0xf00;
modFreq |= (data & 0xff);
} else if (register == 0x4087) {
//high 4 bits of mod freq, reset and phase
modFreq &= 0xff;
modFreq |= (data & 0xf) << 8;
//setting frequency to 0 disables modulation too
//i think this is 1 to disable.
modDisable = ((data & (utils.BIT7)) != 0);
} else if (register == 0x4088) {
//write data to 2 consecutive entries of modulator table
if (modDisable) {
for (int i = 0; i < 2; ++i) {
modTable[modTableAddr] = data & 7;
modTableAddr = (modTableAddr + 1) & 63;
}
}
modAccum = 0; //?
} else if (register == 0x4089) {
//wave write protect and master vol
masterVol = data & 3;
waveWriteEnable = ((data & (utils.BIT7)) != 0);
} else if (register == 0x408A) {
//sets speed of volume and sweep envelopes
//(or 0 to disable them)
//normally 0xff
envClockMultiplier = data;
}
}
}
public int read(int register) {
if ((register >= 0x4040) && (register < 0x4080)) {
return wavetable[register - 0x4040] | 0x40;
} else if (register == 0x4090) {
//volume gain
return volGain;
} else if (register == 0x4092) {
//modulator gain
return modGain;
} else {
//System.err.println("what goes here " + utils.hex(register));
//why are nsfs reading from 4080 and 4084? there's nothing there
return 0x40;
}
}
@Override
public int getval() {
return lpaccum;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/FFT.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
/**
*
* @author Andrew
*/
public class FFT {
//note to self: works, des not give sensible results when plotted
//on a linear scale! why? you should know this. hearing's logarithmic.
int n, m;
// Lookup tables. Only need to recompute when size of FFT changes.
double[] cos;
double[] sin;
public FFT(int n) {
this.n = n;
this.m = (int) (Math.log(n) / Math.log(2));
// Make sure n is a power of 2
if (n != (1 << m)) {
throw new RuntimeException("FFT length must be power of 2");
}
// precompute tables
cos = new double[n / 2];
sin = new double[n / 2];
for (int i = 0; i < n / 2; i++) {
cos[i] = Math.cos(-2 * Math.PI * i / n);
sin[i] = Math.sin(-2 * Math.PI * i / n);
}
}
public void fft(double[] x, double[] y) {
int i, j, k, n1, n2, a;
double c, s, t1, t2;
// Bit-reverse
j = 0;
n2 = n / 2;
for (i = 1; i < n - 1; i++) {
n1 = n2;
while (j >= n1) {
j = j - n1;
n1 = n1 / 2;
}
j = j + n1;
if (i < j) {
t1 = x[i];
x[i] = x[j];
x[j] = t1;
t1 = y[i];
y[i] = y[j];
y[j] = t1;
}
}
// FFT
n1 = 0;
n2 = 1;
for (i = 0; i < m; i++) {
n1 = n2;
n2 = n2 + n2;
a = 0;
for (j = 0; j < n1; j++) {
c = cos[a];
s = sin[a];
a += 1 << (m - i - 1);
for (k = j; k < n; k = k + n2) {
t1 = c * x[k + n1] - s * y[k + n1];
t2 = s * x[k + n1] + c * y[k + n1];
x[k + n1] = x[k] - t1;
y[k + n1] = y[k] - t2;
x[k] = x[k] + t1;
y[k] = y[k] + t2;
}
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/MMC5SoundChip.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
public class MMC5SoundChip implements ExpansionSoundChip {
//really quickly hacked together. Need better interfaces for this kind of thing.
private final Timer[] timers = {new SquareTimer(8, 2), new SquareTimer(8, 2)};
final private static int[] DUTYLOOKUP = {1, 2, 4, 6};
private final int[] volume = new int[2];
private final boolean[] lenCtrEnable = {true, true, true, true};
private boolean pcmMode, pcmIRQen;
private int cycles, pcmOut;
@Override
public final void clock(final int cycle) {
cycles += cycle;
if ((cycles % 7445) != cycles) {
clockframecounter();
cycles %= 6445;
}
timers[0].clock(cycle);
timers[1].clock(cycle);
}
@Override
public void write(int register, int data) {
switch (register) {
case 0x0:
//length counter 1 halt
lenctrHalt[0] = ((data & (utils.BIT5)) != 0);
// pulse 1 duty cycle
timers[0].setduty(DUTYLOOKUP[data >> 6]);
// and envelope
envConstVolume[0] = ((data & (utils.BIT4)) != 0);
envelopeValue[0] = data & 15;
//setvolumes();
break;
case 0x1:
//pulse 1 sweep setup
//mmc5 lacks a sweep
break;
case 0x2:
// pulse 1 timer low bit
timers[0].setperiod((timers[0].getperiod() & 0xfe00) + (data << 1));
break;
case 0x3:
// length counter load, timer 1 high bits
if (lenCtrEnable[0]) {
lengthctr[0] = LENCTRLOAD[data >> 3];
}
timers[0].setperiod((timers[0].getperiod() & 0x1ff) + ((data & 7) << 9));
// sequencer restarted
timers[0].reset();
//envelope also restarted
envelopeStartFlag[0] = true;
break;
case 0x4:
//length counter 2 halt
lenctrHalt[1] = ((data & (utils.BIT5)) != 0);
// pulse 2 duty cycle
timers[1].setduty(DUTYLOOKUP[data >> 6]);
// and envelope
envConstVolume[1] = ((data & (utils.BIT4)) != 0);
envelopeValue[1] = data & 15;
//setvolumes();
break;
case 0x5:
//pulse 2 sweep setup
break;
case 0x6:
// pulse 2 timer low bit
timers[1].setperiod((timers[1].getperiod() & 0xfe00) + (data << 1));
break;
case 0x7:
if (lenCtrEnable[1]) {
lengthctr[1] = LENCTRLOAD[data >> 3];
}
timers[1].setperiod((timers[1].getperiod() & 0x1ff) + ((data & 7) << 9));
// sequencer restarted
timers[1].reset();
//envelope also restarted
envelopeStartFlag[1] = true;
break;
case 0x10:
pcmMode = ((data & (utils.BIT0)) != 0);
//true = read mode, false = write mode
//read mode watches ALL reads in first 8k of PRG ROM
//and writes to dpcm reg
//(no way to implement w/o refactors)
pcmIRQen = ((data & (utils.BIT7)) != 0);
if (pcmIRQen || pcmMode) {
System.err.println("Implement the MMC5 PCM IRQ, something's using it!");
}
break;
case 0x11:
if (!pcmMode) {
if (data != 0) {
pcmOut = data;
} else {
//should trip an irq, but no way to in current design
}
}
break;
default:
break;
}
}
@Override
public int getval() {
int accum = 0;
for (int i = 0; i < 2; ++i) {
accum += volume[i] * timers[i].getval() * 750;
}
accum += pcmOut << 5;
return accum;
}
public int status() {
return (lengthctr[0] == 0 ? 0 : 1) + (lengthctr[1] == 0 ? 0 : 2);
}
private int[] lengthctr = {0, 0, 0, 0};
private final static int[] LENCTRLOAD = {10, 254, 20, 2, 40, 4, 80, 6,
160, 8, 60, 10, 14, 12, 26, 14, 12, 16, 24, 18, 48, 20, 96, 22,
192, 24, 72, 26, 16, 28, 32, 30};
private final boolean[] lenctrHalt = {true, true, true, true};
private void setlength() {
for (int i = 0; i < 4; ++i) {
if (!lenctrHalt[i] && lengthctr[i] > 0) {
--lengthctr[i];
if (lengthctr[i] == 0) {
setvolumes();
}
}
}
}
//instance variables for envelope units
private final int[] envelopeValue = {15, 15, 15, 15};
private final int[] envelopeCounter = {0, 0, 0, 0};
private final int[] envelopePos = {0, 0, 0, 0};
private final boolean[] envConstVolume = {true, true, true, true};
private final boolean[] envelopeStartFlag = {false, false, false, false};
private void setenvelope() {
for (int i = 0; i < 2; ++i) {
if (envelopeStartFlag[i]) {
envelopeStartFlag[i] = false;
envelopePos[i] = envelopeValue[i] + 1;
envelopeCounter[i] = 15;
} else {
--envelopePos[i];
}
if (envelopePos[i] <= 0) {
envelopePos[i] = envelopeValue[i] + 1;
if (envelopeCounter[i] > 0) {
--envelopeCounter[i];
} else if (lenctrHalt[i] && envelopeCounter[i] <= 0) {
envelopeCounter[i] = 15;
}
}
}
}
private void setvolumes() {
volume[0] = ((lengthctr[0] <= 0) ? 0 : (((envConstVolume[0]) ? envelopeValue[0] : envelopeCounter[0])));
volume[1] = ((lengthctr[1] <= 0) ? 0 : (((envConstVolume[1]) ? envelopeValue[1] : envelopeCounter[1])));
//System.err.println("setvolumes " + volume[1]);
}
private int framectr = 0;
private final int ctrmode = 4;
private void clockframecounter() {
//System.err.println("frame ctr clock " + framectr);
//should be ~4x a frame, 240 Hz
//separate timebase from the NES APU though
if (framectr < 4) {
setenvelope();
}
if ((ctrmode == 4 && (framectr == 1 || framectr == 3))
|| (ctrmode == 5 && (framectr == 0 || framectr == 2))) {
setlength();
}
++framectr;
framectr %= ctrmode;
setvolumes();
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/Namco163SoundChip.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
public class Namco163SoundChip implements ExpansionSoundChip {
/*
Warning for anyone making Namco 163 music:
* As the number of channels used increases, the sample rate decreases.
* Since the original chip only outputs one channel at a time and cycles
* between them, using all 8 channels causes very noticeable 10khz noise
* which is not implemented here.
*/
private final int[] registers = new int[128], out = new int[8];
private int numch, cycpos = 0, curch = 0;
@Override
public void clock(int cycles) {
numch = 1 + ((registers[127] >> 4) & 7);
for (int i = 0; i < cycles; ++i) {
cycpos = ++cycpos % 15;
if (cycpos == 0) {
curch = ++curch % numch;
clock_channel(curch);
}
}
}
private void clock_channel(final int ch) {
//get channel register start position
final int off = 0x80 - (8 * (ch + 1));
//get phase/freq value
int phase = (registers[off + 5] << 16) + (registers[off + 3] << 8) + registers[off + 1];
final int f = ((registers[off + 4] & 3) << 16) + (registers[off + 2] << 8) + registers[off];
//get waveform length
int len = (64 - (registers[off + 4] >> 2)) * 4;
//ugly heuristics: some NSFs were written with the
//expectation that you couldn't have more than 32 byte samples
//and that this field loops. Rolling Thunder shows this isn't the case
//but the NSFs work in Nintendlator/Nestopia and so have to work
//well if there's more than 3 zero samples in the wave data i guess
//the longer length probably isn't legit.
if (len > 32 && registers[off + 4] != 0) {
for (int i = 2; (i << 2) < len; ++i) {
if (registers[i - 2] == 0 && registers[i - 1] == 0 && registers[i] == 0) {
len = 0x20 - (registers[off + 4] & 0x1C);
//System.err.println("truncation");
break;
}
}
}
//get waveform start position
final int wavestart = registers[off + 6];
//get volume
phase = (phase + f) % (len << 16);
final int volume = registers[off + 7] & 0xf;
final int output = (getWavefromRAM(((phase >> 16) + wavestart) & 0xff) - 8) * volume;
//store phase back
registers[off + 5] = (phase >> 16) & 0xff;
registers[off + 3] = (phase >> 8) & 0xff;
registers[off + 1] = phase & 0xff;
out[ch] = output * 16;
output();
}
private int getWavefromRAM(final int addr) {
final int b = registers[(addr) >> 1];
return ((addr & (utils.BIT0)) != 0) ? b >> 4 : b & 0xf;
}
@Override
public void write(int register, int data) {
//System.err.println(numch);
registers[register] = data;
}
public int read(int register) {
return registers[register];
}
@Override
public int getval() {
return lpaccum << 2;
}
int lpaccum = 0;
private void output() {
int sample = 0;
for (int i = 0; i < numch; ++i) {
sample += out[i];
}
//this low pass filter is here to reduce noise in games using 8 channels
//while still letting me output 1 after the other like the real chip does
sample += lpaccum;
lpaccum -= sample * (1 / 16.);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/NoiseTimer.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
public class NoiseTimer extends Timer {
private int divider = 0;
private int[] values = genvalues(1, 1);
private int prevduty = 1;
private final static int periodadd = 0;
public NoiseTimer() {
period = 0;
}
@Override
public void setduty(int duty) {
if (duty != prevduty) {
values = genvalues(duty, values[position]);
position = 0;
}
prevduty = duty;
}
@Override
public final void clock() {
++divider;
// note: stay away from negative division to avoid rounding problems
int periods = (divider + period + periodadd) / (period + periodadd);
if (periods < 0) {
periods = 0; // can happen if period or periodadd were made smaller
}
position = (position + periods) % values.length;
divider -= (period + periodadd) * periods;
}
@Override
public final int getval() {
return (values[position] & 1);
}
@Override
public final void reset() {
position = 0;
}
@Override
public final void clock(final int cycles) {
divider += cycles;
// note: stay away from negative division to avoid rounding problems
int periods = (divider + period + periodadd) / (period + periodadd);
if (periods < 0) {
periods = 0; // can happen if period or periodadd were made smaller
}
position = (position + periods) % values.length;
divider -= (period + periodadd) * periods;
}
@Override
public final void setperiod(final int newperiod) {
period = newperiod;
}
public static int[] genvalues(int whichbit, int seed) {
int[] tehsuck = new int[(whichbit == 1) ? 32767 : 93];
for (int i = 0; i < tehsuck.length; ++i) {
seed = (seed >> 1)
| ((((seed & (1 << whichbit)) != 0)
^ ((seed & (utils.BIT0)) != 0))
? 16384 : 0);
tehsuck[i] = seed;
}
return tehsuck;
}
@Override
public void setduty(int[] duty) {
throw new UnsupportedOperationException("Not supported on noise channel.");
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/Reverberator.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
/**
*
* @author Andrew
*/
public class Reverberator implements AudioOutInterface {
AudioOutInterface iface;
CircularBuffer cb;
double echo, lp_coef, hp_coef;
public Reverberator(AudioOutInterface i, int length, double echo_gain, double lp_coef, double hp_coef) {
this.echo = echo_gain;
this.lp_coef = lp_coef;
this.hp_coef = hp_coef;
iface = i;
cb = new CircularBuffer(length);
}
int lpaccum = 0;
private int lowpass_filter(int sample) {
sample += lpaccum;
lpaccum -= sample * lp_coef;
return lpaccum;
}
private int dckiller = 0;
private int highpass_filter(int sample) {
//for killing the dc in the signal
sample += dckiller;
dckiller -= sample * hp_coef;//the actual high pass part
dckiller += (sample > 0 ? -1 : 1);//guarantees the signal decays to exactly zero
return sample;
}
@Override
public void outputSample(int sample) {
sample -= cb.read() * echo;
if (sample < -32768) {
sample = -32768;
//System.err.println("clip");
}
if (sample > 32767) {
sample = 32767;
//System.err.println("clop");
}
cb.write(lowpass_filter(highpass_filter(sample)));
if (!(iface == null)) {
iface.outputSample(sample);
}
}
@Override
public void flushFrame(boolean waitIfBufferFull) {
if (!(iface == null)) {
iface.flushFrame(waitIfBufferFull);
}
}
@Override
public void pause() {
if (!(iface == null)) {
iface.pause();
}
}
@Override
public void resume() {
if (!(iface == null)) {
iface.resume();
}
}
@Override
public void destroy() {
if (!(iface == null)) {
iface.destroy();
}
}
@Override
public boolean bufferHasLessThan(int samples) {
if (!(iface == null)) {
return iface.bufferHasLessThan(samples);
} else {
return false;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/SquareTimer.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
/**
*
* @author Andrew
*/
public class SquareTimer extends Timer {
protected int[] values;
final private int periodadd;
private int divider = 0;
@Override
public final void clock() {
if (period + periodadd <= 0) {
return;
}
++divider;
// note: stay away from negative division to avoid rounding problems
int periods = (divider + period + periodadd) / (period + periodadd);
if (periods < 0) {
periods = 0; // can happen if period or periodadd were made smaller
}
position = (position + periods) % values.length;
divider -= (period + periodadd) * periods;
}
@Override
public final void clock(final int cycles) {
if (period < 8) {
return;
}
divider += cycles;
// note: stay away from negative division to avoid rounding problems
int periods = (divider + period + periodadd) / (period + periodadd);
if (periods < 0) {
periods = 0; // can happen if period or periodadd were made smaller
}
position = (position + periods) % values.length;
divider -= (period + periodadd) * periods;
}
public SquareTimer(final int ctrlen, final int periodadd) {
this.periodadd = periodadd;
values = new int[ctrlen];
period = 0;
position = 0;
setduty(ctrlen / 2);
}
public SquareTimer(final int ctrlen) {
this.periodadd = 0;
values = new int[ctrlen];
period = 0;
position = 0;
setduty(ctrlen / 2);
}
@Override
public final void reset() {
position = 0;
}
@Override
public final void setduty(final int duty) {
for (int i = 0; i < values.length; ++i) {
values[i] = (i < duty) ? 1 : 0;
}
}
@Override
public final void setduty(int[] dutyarray) {
values = dutyarray;
}
@Override
public final int getval() {
return values[position];
}
@Override
public final void setperiod(final int newperiod) {
period = newperiod;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/Sunsoft5BSoundChip.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
public class Sunsoft5BSoundChip implements ExpansionSoundChip {
//not complete... missing volume envelopes and noise channel at the moment.
//sound test for Gimmick - Hold Select, push Start on title screen
private final Timer[] timers = {new SquareTimer(32), new SquareTimer(32), new SquareTimer(32)};
private final boolean[] enable = {false, false, false};
private final boolean[] useenvelope = {false, false, false};
private final int[] volume = {0, 0, 0};
int enval = 0;
private static final int[] VOLTBL = getvoltbl();
@Override
public final void write(final int register, final int data) {
//System.err.println(register + " " + data);
switch (register) {
case 0:
timers[0].setperiod((timers[0].getperiod() & 0xf00) + data);
break;
case 1:
timers[0].setperiod((timers[0].getperiod() & 0xff) + ((data & 0xf) << 8));
break;
case 2:
timers[1].setperiod((timers[1].getperiod() & 0xf00) + data);
break;
case 3:
timers[1].setperiod((timers[1].getperiod() & 0xff) + ((data & 0xf) << 8));
break;
case 4:
timers[2].setperiod((timers[2].getperiod() & 0xf00) + data);
break;
case 5:
timers[2].setperiod((timers[2].getperiod() & 0xff) + ((data & 0xf) << 8));
break;
case 7:
for (int i = 0; i < 3; ++i) {
enable[i] = !(((data & (1 << i)) != 0));
}
break;
case 8:
volume[0] = data & 0xf;
useenvelope[0] = ((data & (utils.BIT4)) != 0);
break;
case 9:
volume[1] = data & 0xf;
useenvelope[1] = ((data & (utils.BIT4)) != 0);
break;
case 10:
volume[2] = data & 0xf;
useenvelope[2] = ((data & (utils.BIT4)) != 0);
break;
case 13:
enval = 15;
break;
default:
//System.err.println("Unrecognized register write to " + register + " ," + data);
}
}
@Override
public final void clock(final int cycle) {
clockenvelope(cycle);
timers[0].clock(cycle);
timers[1].clock(cycle);
timers[2].clock(cycle);
}
@Override
public final int getval() {
return (enable[0] ? ((useenvelope[0] ? enval : VOLTBL[volume[0]]) * timers[0].getval()) : 0)
+ (enable[1] ? ((useenvelope[1] ? enval : VOLTBL[volume[1]]) * timers[1].getval()) : 0)
+ (enable[2] ? ((useenvelope[2] ? enval : VOLTBL[volume[2]]) * timers[2].getval()) : 0);
}
public static int[] getvoltbl() {
//the AY-3-8910 volume levels are NOT linear, but logarithmic.
int[] vols = new int[16];
for (int i = 0; i < 16; ++i) {
vols[i] = (int) (90 * Math.pow(1.4, i));
//matches YMZ284 datasheet info
}
//utils.printarray(vols);
return vols;
}
private void clockenvelope(final int cycles) {
enval = 0; //gimmick only uses the envelope to mute a channel.
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/SwingAudioImpl.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
import com.grapeshot.halfnes.NES;
import com.grapeshot.halfnes.PrefsSingleton;
import com.grapeshot.halfnes.audio.AudioOutInterface;
import com.grapeshot.halfnes.mappers.Mapper;
import javax.sound.sampled.*;
/**
*
* @author Andrew
*/
public class SwingAudioImpl implements AudioOutInterface {
private boolean soundEnable;
private SourceDataLine sdl;
private byte[] audiobuf;
private int bufptr = 0;
private float outputvol;
public SwingAudioImpl(final NES nes, final int samplerate, Mapper.TVType tvtype) {
soundEnable = PrefsSingleton.get().getBoolean("soundEnable", true);
outputvol = (float) (PrefsSingleton.get().getInt("outputvol", 13107) / 16384.);
double fps;
switch (tvtype) {
case NTSC:
default:
fps = 60.;
break;
case PAL:
case DENDY:
fps = 50.;
break;
}
if (soundEnable) {
final int samplesperframe = (int) Math.ceil((samplerate * 2) / fps);
audiobuf = new byte[samplesperframe * 2];
try {
AudioFormat af = new AudioFormat(
samplerate,
16,//bit
2,//channel
true,//signed
false //little endian
//(works everywhere, afaict, but macs need 44100 sample rate)
);
sdl = AudioSystem.getSourceDataLine(af);
sdl.open(af, samplesperframe * 4 * 2 /*ch*/ * 2 /*bytes/sample*/);
//create 4 frame audio buffer
sdl.start();
} catch (LineUnavailableException a) {
System.err.println(a);
nes.messageBox("Unable to inintialize sound.");
soundEnable = false;
} catch (IllegalArgumentException a) {
System.err.println(a);
nes.messageBox("Unable to inintialize sound.");
soundEnable = false;
}
}
}
@Override
public final void flushFrame(final boolean waitIfBufferFull) {
if (soundEnable) {
// if (sdl.available() == sdl.getBufferSize()) {
// System.err.println("Audio is underrun");
// }
if (sdl.available() < bufptr) {
// System.err.println("Audio is blocking");
if (waitIfBufferFull) {
//write to audio buffer and don't worry if it blocks
sdl.write(audiobuf, 0, bufptr);
}
//else don't bother to write if the buffer is full
} else {
sdl.write(audiobuf, 0, bufptr);
}
}
bufptr = 0;
}
@Override
public final void outputSample(int sample) {
if (soundEnable) {
sample *= outputvol;
if (sample < -32768) {
sample = -32768;
//System.err.println("clip");
}
if (sample > 32767) {
sample = 32767;
//System.err.println("clop");
}
//left ch
int lch = sample;
audiobuf[bufptr] = (byte) (lch & 0xff);
audiobuf[bufptr + 1] = (byte) ((lch >> 8) & 0xff);
//right ch
int rch = sample;
audiobuf[bufptr + 2] = (byte) (rch & 0xff);
audiobuf[bufptr + 3] = (byte) ((rch >> 8) & 0xff);
bufptr += 4;
}
}
@Override
public void pause() {
if (soundEnable) {
sdl.flush();
sdl.stop();
}
}
@Override
public void resume() {
if (soundEnable) {
sdl.start();
}
}
@Override
public final void destroy() {
if (soundEnable) {
sdl.stop();
sdl.close();
}
}
public final boolean bufferHasLessThan(final int samples) {
//returns true if the audio buffer has less than the specified amt of samples remaining in it
return (sdl == null) ? false : ((sdl.getBufferSize() - sdl.available()) <= samples);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/Timer.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
public abstract class Timer {
protected int period;
protected int position;
public final int getperiod() {
return period;
}
public abstract void setperiod(final int newperiod);
public abstract void setduty(int duty);
public abstract void setduty(int[] duty);
public abstract void reset();
public abstract void clock();
public abstract void clock(final int cycles);
public abstract int getval();
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/TriangleTimer.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
/**
*
* @author Andrew
*/
public class TriangleTimer extends Timer {
private int divider = 0;
private final static int periodadd = 1;
private final static int[] triangle = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
5, 4, 3, 2, 1, 0};
public TriangleTimer() {
period = 0;
position = 0;
}
@Override
public final void reset() {
//no way to reset the triangle
}
@Override
public final void clock() {
if (period == 0) {
return;
}
++divider;
// note: stay away from negative division to avoid rounding problems
int periods = (divider + period + periodadd) / (period + periodadd);
if (periods < 0) {
periods = 0; // can happen if period or periodadd were made smaller
}
position = (position + periods) & 0x1F;
divider -= (period + periodadd) * periods;
}
@Override
public final void clock(final int cycles) {
if (period == 0) {
return;
}
divider += cycles;
// note: stay away from negative division to avoid rounding problems
int periods = (divider + period + periodadd) / (period + periodadd);
if (periods < 0) {
periods = 0; // can happen if period or periodadd were made smaller
}
position = (position + periods) & 0x1F;
divider -= (period + periodadd) * periods;
}
@Override
public final int getval() {
return (period == 0) ? 7 : triangle[position];
//needed to avoid screech when period is zero
}
@Override
public final void setperiod(final int newperiod) {
period = newperiod;
if (period == 0) {
position = 7;
}
}
@Override
public void setduty(int duty) {
throw new UnsupportedOperationException("Triangle counter has no duty setting.");
}
@Override
public void setduty(int[] duty) {
throw new UnsupportedOperationException("Triangle counter has no duty setting.");
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/VRC6SoundChip.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
public class VRC6SoundChip implements ExpansionSoundChip {
//to access sound test in Castlevania 3(J) -
//Hold down A+B while resetting, push Start twice
private final Timer[] timers = {new SquareTimer(16), new SquareTimer(16)};
private final boolean[] enable = {true, true, true};
private final int[] volume = {0, 0, 0};
private int sawdivider = 15;
private int sawctr = 0;
private int sawaccum = 0;
private int sawseq = 0;
private boolean clocknow = false;
@Override
public final void write(final int register, final int data) {
switch (register) {
case 0x9000:
volume[0] = data & 0xf;
//duty cycle is between 12.5% and 50% unless last bit set and then it's forced to 100%
timers[0].setduty(((data & (utils.BIT7)) != 0) ? 16 : (((data >> 4) & 7) + 1));
break;
case 0x9001:
timers[0].setperiod((timers[0].getperiod() & 0xf00) + data);
break;
case 0x9002:
timers[0].setperiod((timers[0].getperiod() & 0xff) + ((data & 0xf) << 8));
enable[0] = ((data & (utils.BIT7)) != 0);
break;
case 0xa000:
volume[1] = data & 0xf;
timers[1].setduty(((data & (utils.BIT7)) != 0) ? 16 : (((data >> 4) & 7) + 1));
break;
case 0xa001:
timers[1].setperiod((timers[1].getperiod() & 0xf00) + data);
break;
case 0xa002:
timers[1].setperiod((timers[1].getperiod() & 0xff) + ((data & 0xf) << 8));
enable[1] = ((data & (utils.BIT7)) != 0);
break;
case 0xb000:
//saw accumulator
sawaccum = data & 0x3f;
break;
case 0xb001:
sawdivider &= 0xf00;
sawdivider += data;
break;
case 0xb002:
sawdivider &= 0xff;
sawdivider += ((data & 0xf) << 8);
enable[2] = ((data & (utils.BIT7)) != 0);
break;
}
}
@Override
public final void clock(final int cycle) {
timers[0].clock(cycle);
timers[1].clock(cycle);
for (int i = 0; i < cycle; ++i) {
clocksaw();
}
}
@Override
public final int getval() {
return 320 * (((enable[0] ? volume[0] : 0) * timers[0].getval()
+ (enable[1] ? volume[1] : 0) * timers[1].getval())
+ (enable[2] ? ((volume[2] & 0xff) >> 3) : 0));
}
private void clocksaw() {
--sawctr;
if (sawctr < 0) {
sawctr = sawdivider;
if (clocknow) {
clocknow = false;
volume[2] += sawaccum;
++sawseq;
if (sawseq > 6) {
sawseq = 0;
volume[2] = 0;
}
} else {
clocknow = true;
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/audio/VRC7SoundChip.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.audio;
//import com.grapeshot.halfnes.ui.DebugUI;
import static com.grapeshot.halfnes.utils.*;
//import java.awt.image.BufferedImage;
import java.util.Arrays;
/**
*
* @author Andrew
*/
public class VRC7SoundChip implements ExpansionSoundChip {
//Emulates the YM2413 sound chip, pretty much only found in Lagrange Point
//sound test in lagrange point: hold A and B on controller 2 and reset.
//the VRC7 version is permanently forced into percussion mode
//but there's no percussion output pin,
//so it only supports 6 output channels instead of 9.
private static enum EnvState {
CUTOFF, ATTACK, DECAY, RELEASE;
}
private final EnvState[] modenv_state = new EnvState[6], carenv_state = new EnvState[6];
private final int[] vol = new int[6], freq = new int[6],
octave = new int[6], instrument = new int[6],
mod = new int[6],
oldmodout = new int[6], out = new int[6];
private final boolean[] key = new boolean[6], chSust = new boolean[6];
private int fmctr = 0, amctr = 0; //free running counter for indices
private final double[] phase = new double[6];
private final int[] usertone = new int[8], modenv_vol = new int[6], carenv_vol = new int[6];
private final int[][] instdata = { //instrument parameters
usertone, //modifiable user tone register is instrument 0
//finally accurate dumped hardcoded instruments from ROM! (Mar 2019)
{0x03, 0x21, 0x05, 0x06, 0xE8, 0x81, 0x42, 0x27}, //Bell
{0x13, 0x41, 0x14, 0x0D, 0xD8, 0xF6, 0x23, 0x12}, //Guitar
{0x11, 0x11, 0x08, 0x08, 0xFA, 0xB2, 0x20, 0x12}, //Wurlitzer
{0x31, 0x61, 0x0c, 0x07, 0xA8, 0x64, 0x61, 0x27}, //Flute
{0x32, 0x21, 0x1E, 0x06, 0xE1, 0x76, 0x01, 0x28}, //Clarinet
{0x02, 0x01, 0x06, 0x00, 0xA3, 0xE2, 0xF4, 0xF4}, //Synth
{0x21, 0x61, 0x1D, 0x07, 0x82, 0x81, 0x11, 0x07}, //Trumpet
{0x23, 0x21, 0x22, 0x17, 0xA2, 0x72, 0x01, 0x17}, //Organ
{0x35, 0x11, 0x25, 0x00, 0x40, 0x73, 0x72, 0x01}, //Bells
{0xB5, 0x01, 0x0F, 0x0F, 0xA8, 0xA5, 0x51, 0x02}, //Vibes
{0x17, 0xC1, 0x24, 0x07, 0xF8, 0xF8, 0x22, 0x12}, //Vibraphone
{0x71, 0x23, 0x11, 0x06, 0x65, 0x74, 0x18, 0x16}, //Tutti
{0x01, 0x02, 0xD3, 0x05, 0xC9, 0x95, 0x03, 0x02}, //Fretless
{0x61, 0x63, 0x0C, 0x00, 0x94, 0xC0, 0x33, 0xF6}, //Synth Bass
{0x21, 0x72, 0x0D, 0x00, 0xC1, 0xD5, 0x56, 0x06} //Sweep
};
private final static int[] LOGSIN = genlogsintbl(), EXP = genexptbl(),
AM = genamtbl();
private final static double[] MULTIPLIER = {0.5, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 10, 12, 12, 15, 15}, VIBRATO = genvibtbl();
private final static int[] KEYSCALE = {0, 1536, 2048, 2368, 2560,
2752, 2880, 3008, 3072, 3200, 3264, 3328, 3392, 3456, 3520, 3584
};
public VRC7SoundChip() {
Arrays.fill(modenv_state, EnvState.CUTOFF);
Arrays.fill(carenv_state, EnvState.CUTOFF);
Arrays.fill(modenv_vol, 511);
Arrays.fill(carenv_vol, 511);
}
public static int clamp(final int a) {
return (a != (a & 0xff)) ? ((a < 0) ? 0 : 255) : a;
}
private static double[] genvibtbl() {
//vibrato wavetable. Yes this is a waste of memory. sue me.
//from looking at genplus gx code, the vibrato depth is supposed
//to vary per octave, but exactly how is complex.
double l = 1789773 / 6.;
double f = 6.4;
int depth = 10; //blatant guess
double[] tbl = new double[(int) Math.ceil(l / f)];
for (int x = 0; x < tbl.length; ++x) {
tbl[x] = (depth * tri(2 * Math.PI * f * x / l));
}
return tbl;
}
private static int[] genamtbl() {
double l = 1789773 / 6.;
double f = 3.7;
int depth = 128;
int[] tbl = new int[(int) Math.ceil(l / f)];//one full cycle of wave
for (int x = 0; x < tbl.length; ++x) {
tbl[x] = (int) (depth * tri(2 * Math.PI * f * x / l) + depth);
//should be a triangle wave?
}
return tbl;
}
private static double tri(double x) {
//triangle wave function.
x %= 2 * Math.PI;
if (x < (Math.PI / 2)) {
return x / (Math.PI);
} else if (x < (3 * Math.PI) / 2) {
return 1 - (x / (Math.PI));
} else {
return x / (Math.PI) - 2;
}
}
private static int[] genlogsintbl() {
int[] tbl = new int[256];
for (int i = 0; i < tbl.length; ++i) {
//y = round(-log(sin((x+0.5)*pi/256/2))/log(2)*256)
//see https://docs.google.com/Doc?id=dd8kqn9f_13cqjkf4gp for info
tbl[i] = (int) Math.round(-Math.log(Math.sin((i + 0.5) * Math.PI / 256 / 2)) / Math.log(2) * 256);
}
return tbl;
}
private static int[] genexptbl() {
int[] tbl = new int[256];
for (int i = 0; i < tbl.length; ++i) {
//y = round((power(2, x/256)-1)*1024)
tbl[i] = (int) Math.round((Math.pow(2, i / 256.) - 1) * 1024.);
}
return tbl;
}
@Override
public final void write(int register, int data) {
switch (register) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
//parameters for instrument 0 (user settable instrument)
usertone[register & 7] = data;
break;
case 0x10:
case 0x11:
case 0x12:
case 0x13:
case 0x14:
case 0x15: //frequency registers for ch. 0-5
int n = register - 0x10;
freq[n] = (freq[n] & 0xf00) | data;
break;
case 0x20:
case 0x21:
case 0x22:
case 0x23:
case 0x24:
case 0x25: // ??stooof
//f: Upper bit of frequency
//o: Octave Select
//t: Channel keying on/off (key on = note starts, key off: note decays).
//s: bit 5 is _channel_ sustain,
//?: bit 6 and 7 are unused?
int m = register - 0x20;
octave[m] = (data >> 1) & 7;
freq[m] = (freq[m] & 0xff) | ((data & 1) << 8);
if (((data & (BIT4)) != 0) && !key[m]) {
//when note is keyed on
carenv_state[m] = EnvState.CUTOFF;
modenv_state[m] = EnvState.CUTOFF;
// printarray(key);
}
//TODO: when key is released,
//modulator release shouldn't do anything if sustain is on
//http://famitracker.com/forum/posts.php?id=6804
key[m] = ((data & (BIT4)) != 0);
chSust[m] = ((data & (BIT5)) != 0);
break;
case 0x30:
case 0x31:
case 0x32:
case 0x33:
case 0x34:
case 0x35: //top 4 bits instrument number, bottom 4 volume
int j = register - 0x30;
vol[j] = data & 0xf;
//System.err.println(j + " " + hex(data));
instrument[j] = (data >> 4) & 0xf;
break;
default:
//System.err.println(hex(register) + " doesn't exist " + hex(data));
}
}
int ch = 0;
@Override
public final void clock(final int cycle) {
/*
real chip runs at ~3.6 mhz from a separate oscillator
but this emulation operates at NTSC NES clock freq of 1.789
this would be a problem if anyone wanted to use it on a PAL system
real chip takes 72 cycles to advance through all ch (49716 hz)
I update all ch every 36 NES clocks (about the same speed) but I do the
carrier and the modulator in the same cycle instead of separately
*/
for (int i = 0; i < cycle; ++i) {
ch = (ch + 1) % (36);
if (ch < 6) {
operate();
}
}
}
private void operate() {
fmctr = (fmctr + 1) % VIBRATO.length;
amctr = (amctr + 1) % AM.length;
phase[ch] += (1 / 512.) * (freq[ch] << (octave[ch]));
//Tuned this with audacity so it's definitely ok this time.
phase[ch] %= 1024;
int[] inst = instdata[instrument[ch]];
//envelopes
int modEnvelope = setenvelope(inst, modenv_state, modenv_vol, ch, false)
<< 2;
int carEnvelope = setenvelope(inst, carenv_state, carenv_vol, ch, true)
<< 2;
//key scaling
int keyscale = KEYSCALE[freq[ch] >> 5] - 512 * (7 - octave[ch]);
if (keyscale < 0) {
keyscale = 0;
}
int modks = inst[2] >> 6;
modks = (modks == 0) ? 0 : (keyscale >> (3 - modks));
int carks = (inst[3] >> 6);
carks = (carks == 0) ? 0 : (keyscale >> (3 - carks));
int fb = (~inst[3] & 7);
//now the operator cells
//invaluable info: http://gendev.spritesmind.net/forum/viewtopic.php?t=386
//http://www.smspower.org/maxim/Documents/YM2413ApplicationManual
//http://forums.nesdev.com/viewtopic.php?f=3&t=9102
final double modVibrato = ((inst[0] & (BIT6)) != 0) ? VIBRATO[fmctr] * (1 << octave[ch]) : 0;
final double modFreqMultiplier = MULTIPLIER[inst[0] & 0xf];
final int modFeedback = (fb == 7) ? 0 : (mod[ch] + oldmodout[ch]) >> (2 + fb);
//no i don't know why it adds the last 2 old outputs but MAME
//does it that way and the feedback doesn't sound right w/o it
final int mod_f = modFeedback + (int) (modVibrato + modFreqMultiplier * phase[ch]);
//each of these values is an attenuation value
final int modVol = (inst[2] & 0x3f) * 32;//modulator vol
final int modAM = ((inst[0] & (BIT7)) != 0) ? AM[amctr] : 0;
final boolean modRectify = ((inst[3] & (BIT3)) != 0);
//calculate modulator operator value
mod[ch] = operator(mod_f, (int) (modVol + modEnvelope + modks + modAM), modRectify) << 2;
oldmodout[ch] = mod[ch];
//now repeat most of that for the carrier
final double carVibrato = ((inst[1] & (BIT6)) != 0) ? VIBRATO[fmctr] * (freq[ch] << octave[ch]) / 512. : 0;
final double carFreqMultiplier = MULTIPLIER[inst[1] & 0xf];
final int carFeedback = (mod[ch] + oldmodout[ch]) >> 1; //inaccurately named
final int car_f = carFeedback + (int) (carVibrato + carFreqMultiplier * phase[ch]);
final int carVol = vol[ch] * 128; //4 bits for carrier vol not 6
final int carAM = ((inst[1] & (BIT7)) != 0) ? AM[amctr] : 0;
final boolean carRectify = ((inst[3] & (BIT4)) != 0);
out[ch] = operator(car_f, (int) (carVol + carEnvelope + carks + carAM), carRectify) << 2;
outputSample(ch);
}
private int operator(final int phase, final int gain, final boolean rectify) {
return exp((logsin(phase, rectify) + gain));
}
private int exp(int val) {
//perform e^x function on 13 bit fp output value using the hardware table on the chip
//value should never be negative; if it is, find out why.
// if (val < 0) {
// val = 0;
// System.err.println("why");
//
// }
//values saturate instead of rolling over in the actual hardware
if (val > (BIT13) - 1) {
val = (BIT13) - 1;
}
//val &= (BIT12); //uncomment for sega smash pack vol. 1 for dreamcast
int mantissa = EXP[(-val & 0xff)];
int exponent = (-val) >> 8;
// int a = (int) Math.scalb(mantissa + 1024, exponent) * s; //correct but slow
return ((((mantissa + 1024) >> (-exponent)))) * s; //not correct for negative #s
}
private int s; // sign flag: positive (1), negative (-1) or muted (0)
private int logsin(final int x, final boolean rectify) {
//s stores sign of the output, in actual hw the sign bit bypasses
//everything else and goes directly to the dac.
switch ((x >> 8) & 3) {
case 0:
s = 1;
return LOGSIN[(x & 0xff)];
case 1:
s = 1;
return LOGSIN[255 - (x & 0xff)];
case 2:
s = rectify ? 0 : -1;
return LOGSIN[(x & 0xff)];
case 3:
default:
s = rectify ? 0 : -1;
return LOGSIN[255 - (x & 0xff)];
}
}
int lpaccum = 0;
int lpaccum2 = 0;
private void outputSample(int ch) {
int sample = out[ch] * 24;
//two stage low pass filter (looked @ schematic of hybrid on PCB)
sample += lpaccum;
lpaccum -= sample >> 2;
int j = lpaccum;
j += lpaccum2;
lpaccum2 -= j >> 2;
}
@Override
public final int getval() {
return lpaccum2;
}
final private static int ZEROVOL = 8388608; //2^23
final private static int MAXVOL = 0;
// Twiddler t = new Twiddler(0.4);
private int setenvelope(final int[] instrument, final EnvState[] state,
final int[] vol, final int ch, final boolean isCarrier) {
final boolean keyscaleRate = ((instrument[(isCarrier ? 1 : 0)] & (BIT4)) != 0);
final int ksrShift = keyscaleRate ?
(octave[ch] << 1) + (freq[ch] >> 8)
: octave[ch] >> 1;
//^ the key scaling bit (java should really have unions, this is such a mess)
/*
Most of these constants were computed backwards from a
table in a badly translated YM2413 technical manual
(that was given in ms to decay 40db) and are thus only approximate.
The key scaling stuff is similarly just a best guess.
I suspect it's a 23 bit int value and each envelope update changes
at least 1 LSB
*/
//from docs on the OPL3: envelope starts at 511 (max attenuation)
//and counts down to zero (no attenuation)
//on real HW the envelope out is probably the upper 9 bits of a 23 bit
//attenuation register (this would add 1 LSB per clock at slowest rate)
//System.err.println(state[ch]);
switch (state[ch]) {
default:
case CUTOFF:
if (vol[ch] < ZEROVOL) {
vol[ch] += 16384; //decay to off in 10ms
/*
programmer's manual seems to say it takes a few ms to decay
before the new note starts its attack run.
need to listen really hard to the HW recordings and tune
this by ear
*/
} else {
vol[ch] = ZEROVOL;
if (key[ch]) {
/*the programmer's manual suggests that sound has to
decay back to zero volume when keyed on before the attack
happens, but other references don't say this
*/
state[ch] = EnvState.ATTACK;
phase[ch] = 0;
//reset phase to avoid popping? can't tell if the chip does this.
}
}
break;
case ATTACK:
if (vol[ch] > MAXVOL + 8) {
vol[ch]-= ATTACKVAL[
(instrument[(isCarrier ? 5 : 4)] >> 4) * 4
+ ksrShift
];
} else {
state[ch] = EnvState.DECAY;
}
if (!key[ch]) {
state[ch] = EnvState.RELEASE;
}
break;
case DECAY:
if (vol[ch] < ((instrument[(isCarrier ? 7 : 6)] >> 4)) * 524288) { // <-- check this 524288
//the higher the sustain value is, the lower the volume when
//it switches to sustain.
vol[ch] += DECAYVAL[(instrument[(isCarrier ? 5 : 4)] & 0xf) * 4
+ ksrShift];
} else {
state[ch] = EnvState.RELEASE;
}
if (!key[ch]) {
state[ch] = EnvState.RELEASE;
}
break;
case RELEASE:
//there are 3 things we need to know:
//1. Is the key on?
//2. Is the channel sustain bit set?
//3. Is bit 5 in patch register 0 or 1 set?
//What makes this especially confusing is that the sustain bit in the patch
//is bit 5 and the sustain bit in the channel is *also* a bit 5,
//in its respective register (ugh)
//for consistency with it though let's call the channel sustain SUS
//and the patch register D5
boolean d5 = ((instrument[isCarrier ? 1 : 0] & (BIT5)) != 0);
boolean SUS = chSust[ch];
if (key[ch]) {
//if we're keyed on
if (d5) {
//sustained tone
//don't decay at all
} else {
//percussive tone
//decay at release rate
vol[ch] += DECAYVAL[(instrument[(isCarrier ? 7 : 6)] & 0xf) * 4
+ ksrShift];
}
} else {
//key is off
if (d5) {
//sustained tone
if (SUS) {
//decay at rate of 1.2 seconds to cut off
vol[ch] += DECAYVAL[5 * 4
+ ksrShift];
} else {
//decay at release rate
vol[ch] += DECAYVAL[(instrument[(isCarrier ? 7 : 6)] & 0xf) * 4
+ ksrShift];
}
} else {
//percussive tone
if (SUS) {
//decay at rate of 1.2 seconds to cut off
vol[ch] += DECAYVAL[5 * 4
+ ksrShift];
} else {
//decay at release rate prime, 310ms to cutoff
//according to the docs,
//or a rate of 7 according
//to tests on nesdev forums.
vol[ch] += DECAYVAL[7 * 4
+ ksrShift];
//maybe we do apply key scaling to these still
}
}
}
break;
//there was also something about one of the decay values not working
//if a modulator or something
//on the famitracker forums or somewhere
}
if (vol[ch] < MAXVOL) {
vol[ch] = MAXVOL;
}
if (vol[ch] > ZEROVOL) {
vol[ch] = ZEROVOL;
}
if(state[ch] == EnvState.ATTACK){
//logarithmic envelope attack
//48 dB - (48 dB * ln(EGC) / ln(1<<23)) from Disch's doc
//also accounting for env ctr is running down not up
//this is slow and probably wrong vs real chip
//but stays for now bc it works and sounds ok
int output = 8388608 - (int)(8388608 * Math.log(8388608 - vol[ch]) / Math.log(8388608));
return output >> 14;
}
return vol[ch] >> 14;
}
private final static int[] ATTACKVAL = {0, 0, 0, 0,
98, 120, 146, 171,
195, 216, 293, 341,
390, 471, 602, 683,
780, 964, 1168, 1366,
1560, 1927, 2315, 2731,
3075, 3855, 4682, 5461,
6242, 8035, 9364, 10921,
12480, 15423, 18727, 21856,
24960, 30847, 37413, 43713,
51130, 61580, 74991, 87425,
99841, 123161, 149319, 173949,
200870, 241044, 281218, 312464,
337461, 401739, 496266, 562435,
602609, 766957, 937392, 1205218,
8388607, 8388607, 8388607, 8388607,
8388607, 8388607, 8388607, 8388607,
8388607, 8388607, 8388607, 8388607,
8388607, 8388607, 8388607, 8388607};
private final static int[] DECAYVAL = {0, 0, 0, 0,
8, 10, 12, 14, //+2
16, 20, 24, 28, //+4
32, 40, 48, 56, //+8
65, 77, 96, 112, //+16
129, 161, 193, 224, //+32
258, 321, 386, 449, //+64
516, 643, 771, 898, //+128
1032, 1285, 1542, 1796, //+256
2064, 2570, 3084, 3591, //+512
4211, 5268, 6167, 7183, //+1024
8255, 10282, 12407, 14360, //+2048
16510, 20552, 24668, 28745, //+4096
33020, 41154, 49336, 57391, //+8192
66169, 82308, 98673, 114783, //+16384
132859, 132859, 132859, 132859,
132859, 132859, 132859, 132859,
132859, 132859, 132859, 132859,
132859, 132859, 132859, 132859,};
}
//these 2 tables calculated with excel based on the envelope length table
//in the YM2413 programming guide.
//decay table is SO CLOSE to neat powers of 2
//and it really has to be created with simple logic
//on the real chip where there is no table of envelope values.
================================================
FILE: src/main/java/com/grapeshot/halfnes/cheats/ActionReplay.java
================================================
package com.grapeshot.halfnes.cheats;
import com.grapeshot.halfnes.CPURAM;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* Emulation of the Pro Action Replay device. This device allows to apply "RAM
* codes" to have extra lives, ammo, time, etc...
*
* @author Thomas Lorblanches
*/
public class ActionReplay {
private static final int RAM_SIZE = 0x07FF;
private final CPURAM cpuram;
// Memory patches for Pro Action Replay codes
private final HashMap patches = new HashMap<>();
// List of addresses for the "find code" feature
private final List foundAddresses = new ArrayList<>();
/**
* Creates a new Pro Action Replay device which will act on the given
* memory.
*
* @param cpuram - memory
*/
public ActionReplay(CPURAM cpuram) {
this.cpuram = cpuram;
}
/**
* Get the list of patches currently applied.
*/
public HashMap getPatches() {
return patches;
}
/**
* Add a memory patch. The patch is permanent (the value is constantly
* written into memory until a new game is loaded).
*/
public void addMemoryPatch(Patch patch) {
if (!patches.containsKey(patch.getAddress())) {
patches.put((Integer) patch.getAddress(), patch);
}
}
/**
* Patches the memory with Pro Action Replay codes.
*/
public void applyPatches() {
cpuram.setPatches(patches);
}
/**
* Remove all the patches.
*/
public void clear() {
patches.clear();
}
/**
* Find where in RAM can be found the given value. This method begins a new
* search.
*
* @param value - value to be found.
* @return the list of addresses where the value were found.
*/
public List newSearchInMemory(byte value) {
foundAddresses.clear();
for (int address = 0; address < RAM_SIZE; address++) {
if ((cpuram.read(address) & 0xFF) == (value & 0xFF)) {
foundAddresses.add(address);
}
}
return foundAddresses;
}
/**
* Gets the list memory addresses of the current search.
*/
public List getFoundAddresses() {
return foundAddresses;
}
/**
* Find where at the previously found addresses can be found the given
* value. This method continue a previously started search.
*
* @param value - value to be found.
* @return the list of addresses where the value were found.
*/
public List continueSearch(byte value) {
List addressesToRemove = new ArrayList<>();
for (int address : foundAddresses) {
if ((cpuram.read(address) & 0xFF) != (value & 0xFF)) {
addressesToRemove.add(address);
}
}
foundAddresses.removeAll(addressesToRemove);
return foundAddresses;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/cheats/ActionReplayGui.form
================================================
================================================
FILE: src/main/java/com/grapeshot/halfnes/cheats/ActionReplayGui.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.cheats;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
import static com.grapeshot.halfnes.utils.*;
/**
* Dialog box to configure and apply Pro Action Replay cheat codes.
*
* @author Thomas Lorblanches
*/
public class ActionReplayGui extends javax.swing.JDialog {
private static final int ADDRESS_LENGTH = 6;
private static final int DATA_LENGTH = 2;
private static final int CODE_LENGTH = ADDRESS_LENGTH + DATA_LENGTH;
private Patch patch = null;
private final ActionReplay actionReplay;
/**
* Creates new form ActionReplayGui
*/
public ActionReplayGui(java.awt.Frame parent, boolean modal, ActionReplay actionReplay) {
super(parent, modal);
initComponents();
setLocationRelativeTo(null);
textCode.requestFocusInWindow();
textCode.setDocument(new PlainDocument() {
@Override
public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException {
if (str == null) {
return;
}
if (((getLength() + str.length()) <= CODE_LENGTH) && (str.matches("[0-9a-fA-FAEGIKLNOPSTUVXYZaegiklnopstuvxyz]*"))) {
super.insertString(offset, str, attr);
}
}
});
textFindData.setDocument(new PlainDocument() {
@Override
public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException {
if (str == null) {
return;
}
if (((getLength() + str.length()) <= 3) && (str.matches("[0-9]*"))) {
super.insertString(offset, str, attr);
}
}
});
listPossibleAddresses.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (e.getValueIsAdjusting()) {
return;
}
if (listPossibleAddresses.getSelectedIndex() == -1) {
btnTry.setEnabled(false);
} else {
btnTry.setEnabled(true);
}
}
});
this.actionReplay = actionReplay;
updateCurrentCodesList();
updateListPossibleCodes();
}
private void updateCurrentCodesList() {
final Patch[] patches = actionReplay.getPatches().values().toArray(new Patch[0]);
final String[] patchesStr = new String[patches.length];
for (int i = 0; i < patches.length; i++) {
patchesStr[i] = patches[i].toString().toUpperCase();
}
currentCodesList.setListData(patchesStr);
}
private void updateListPossibleCodes() {
List adrStr = new ArrayList<>();
for (Integer adr : actionReplay.getFoundAddresses()) {
String str = Integer.toHexString(adr).toUpperCase();
while (str.length() < ADDRESS_LENGTH) {
str = "0" + str;
}
adrStr.add(str);
}
listPossibleAddresses.setListData(adrStr.toArray());
}
private boolean isCodeValid() {
final String code = textCode.getText();
if ((code.length() == 8) && code.matches("[0-9a-fA-F]*")) {
btnApply.setEnabled(true);
final int data = (Integer.parseInt(textCode.getText().substring(textCode.getText().length() - 2), 16) & 0xFF);
final int address = Integer.parseInt(textCode.getText().substring(0, textCode.getText().length() - 2), 16);
patch = new Patch(address, data);
return true;
} else if ((code.length() == 6) && code.matches("[AEGIKLNOPSTUVXYZaegiklnopstuvxyz]*")) {
//game genie type 1 code
long c = GGtoHex(code);
if (!((c & (BIT15)) != 0)) { //check bit 15 is false
//now descramble this value into address and data
final int address = 0x8000
| ((int) ((c >> 10) & 1) << 14)
| ((int) ((c >> 9) & 1) << 13)
| ((int) ((c >> 8) & 1) << 12)
| ((int) ((c >> 7) & 1) << 11)
| ((int) ((c >> 2) & 1) << 10)
| ((int) ((c >> 1) & 1) << 9)
| ((int) ((c >> 0) & 1) << 8)
| ((int) ((c >> 19) & 1) << 7)
| ((int) ((c >> 14) & 1) << 6)
| ((int) ((c >> 13) & 1) << 5)
| ((int) ((c >> 12) & 1) << 4)
| ((int) ((c >> 11) & 1) << 3)
| ((int) ((c >> 6) & 1) << 2)
| ((int) ((c >> 5) & 1) << 1)
| ((int) ((c >> 4) & 1));
final int data = ((int) ((c >> 23) & 1) << 7)
| ((int) ((c >> 18) & 1) << 6)
| ((int) ((c >> 17) & 1) << 5)
| ((int) ((c >> 16) & 1) << 4)
| ((int) ((c >> 3) & 1) << 3)
| ((int) ((c >> 22) & 1) << 2)
| ((int) ((c >> 21) & 1) << 1)
| (int) ((c >> 20) & 1);
btnApply.setEnabled(true);
patch = new Patch(address, data);
return true;
}
} else if ((code.length() == 8) && code.matches("[AEGIKLNOPSTUVXYZaegiklnopstuvxyz]*")) {
//game genie type 2 code
long c = GGtoHex(code);
if (((c & (1 << 23)) != 0)) { //check bit 15 is true
//now descramble this value into address and data
final int address
= 0x8000
| ((int) ((c >> 18) & 1) << 14)
| ((int) ((c >> 17) & 1) << 13)
| ((int) ((c >> 16) & 1) << 12)
| ((int) ((c >> 15) & 1) << 11)
| ((int) ((c >> 10) & 1) << 10)
| ((int) ((c >> 9) & 1) << 9)
| ((int) ((c >> 8) & 1) << 8)
| ((int) ((c >> 27) & 1) << 7)
| ((int) ((c >> 22) & 1) << 6)
| ((int) ((c >> 21) & 1) << 5)
| ((int) ((c >> 20) & 1) << 4)
| ((int) ((c >> 19) & 1) << 3)
| ((int) ((c >> 14) & 1) << 2)
| ((int) ((c >> 13) & 1) << 1)
| ((int) ((c >> 12) & 1));
final int data
= ((int) ((c >> 31) & 1) << 7)
| ((int) ((c >> 26) & 1) << 6)
| ((int) ((c >> 25) & 1) << 5)
| ((int) ((c >> 24) & 1) << 4)
| ((int) ((c >> 3) & 1) << 3)
| ((int) ((c >> 30) & 1) << 2)
| ((int) ((c >> 29) & 1) << 1)
| ((int) ((c >> 28) & 1));
final int check
= //8 char game genie codes use a check byte so val is only
//patched when rom value matches this.
((int) ((c >> 7) & 1) << 7)
| ((int) ((c >> 2) & 1) << 6)
| ((int) ((c >> 1) & 1) << 5)
| ((int) ((c >> 0) & 1) << 4)
| ((int) ((c >> 11) & 1) << 3)
| ((int) ((c >> 6) & 1) << 2)
| ((int) ((c >> 5) & 1) << 1)
| ((int) ((c >> 4) & 1));
btnApply.setEnabled(true);
patch = new Patch(address, data, check);
return true;
}
}
btnApply.setEnabled(false);
patch = null;
return false;
}
private final static String ggMap = "APZLGITYEOXUKSVN";
private long GGtoHex(String code) {
//converts a game genie code to a hex string
//the individual bits still need to be unscrambled
code = code.toUpperCase(Locale.ENGLISH);
long ret = 0;
for (int i = 0; i < code.length(); ++i) {
ret *= 16;
ret += ggMap.indexOf(code.charAt(i));
}
return ret;
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
jScrollPane2 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
tabbedPan = new javax.swing.JTabbedPane();
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
panelApplyCode = new javax.swing.JPanel();
textCode = new javax.swing.JTextField();
btnApply = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jScrollPane4 = new javax.swing.JScrollPane();
currentCodesList = new javax.swing.JList();
btnRemoveAll = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
jScrollPane3 = new javax.swing.JScrollPane();
jTextArea2 = new javax.swing.JTextArea();
jPanel4 = new javax.swing.JPanel();
textFindData = new javax.swing.JTextField();
btnSearch = new javax.swing.JButton();
btnReset = new javax.swing.JButton();
jPanel5 = new javax.swing.JPanel();
jScrollPane5 = new javax.swing.JScrollPane();
listPossibleAddresses = new javax.swing.JList();
btnTry = new javax.swing.JButton();
btnClose = new javax.swing.JButton();
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane2.setViewportView(jTable1);
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Cheat Codes");
setModal(true);
setName("actionReplayDialog"); // NOI18N
setResizable(false);
tabbedPan.setMinimumSize(new java.awt.Dimension(10, 128));
jTextArea1.setEditable(false);
jTextArea1.setBackground(new java.awt.Color(240, 240, 240));
jTextArea1.setColumns(20);
jTextArea1.setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N
jTextArea1.setRows(5);
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...");
jScrollPane1.setViewportView(jTextArea1);
panelApplyCode.setBorder(javax.swing.BorderFactory.createTitledBorder("Add new code"));
textCode.setColumns(8);
textCode.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
textCode.addCaretListener(new javax.swing.event.CaretListener() {
public void caretUpdate(javax.swing.event.CaretEvent evt) {
textCodeCaretUpdate(evt);
}
});
btnApply.setText("Apply");
btnApply.setEnabled(false);
btnApply.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnApplyActionPerformed(evt);
}
});
javax.swing.GroupLayout panelApplyCodeLayout = new javax.swing.GroupLayout(panelApplyCode);
panelApplyCode.setLayout(panelApplyCodeLayout);
panelApplyCodeLayout.setHorizontalGroup(
panelApplyCodeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelApplyCodeLayout.createSequentialGroup()
.addContainerGap()
.addComponent(textCode, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btnApply)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelApplyCodeLayout.setVerticalGroup(
panelApplyCodeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelApplyCodeLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelApplyCodeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(textCode, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnApply))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Currently applied codes"));
currentCodesList.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
currentCodesList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
jScrollPane4.setViewportView(currentCodesList);
btnRemoveAll.setText("Remove all");
btnRemoveAll.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRemoveAllActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(btnRemoveAll)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(btnRemoveAll)
.addGap(0, 96, Short.MAX_VALUE))
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
.addContainerGap())
);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 468, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(panelApplyCode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(20, 20, 20)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addContainerGap(13, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(panelApplyCode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(16, Short.MAX_VALUE))
);
tabbedPan.addTab("Apply", jPanel1);
jTextArea2.setEditable(false);
jTextArea2.setBackground(new java.awt.Color(240, 240, 240));
jTextArea2.setColumns(20);
jTextArea2.setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N
jTextArea2.setRows(5);
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!");
jScrollPane3.setViewportView(jTextArea2);
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Search"));
textFindData.setColumns(8);
textFindData.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
textFindData.addCaretListener(new javax.swing.event.CaretListener() {
public void caretUpdate(javax.swing.event.CaretEvent evt) {
textFindDataCaretUpdate(evt);
}
});
btnSearch.setText("Search");
btnSearch.setEnabled(false);
btnSearch.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSearchActionPerformed(evt);
}
});
btnReset.setText("Reset Search");
btnReset.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnResetActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(textFindData, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btnSearch)
.addContainerGap(42, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnReset)
.addContainerGap())
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(textFindData, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnSearch))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 7, Short.MAX_VALUE)
.addComponent(btnReset)
.addContainerGap())
);
jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Possible addresses"));
listPossibleAddresses.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
listPossibleAddresses.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
jScrollPane5.setViewportView(listPossibleAddresses);
btnTry.setText("Try");
btnTry.setEnabled(false);
btnTry.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTryActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE)
.addComponent(btnTry)
.addGap(18, 18, 18))
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addComponent(btnTry)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 468, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(13, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
tabbedPan.addTab("Find", jPanel2);
btnClose.setText("Close");
btnClose.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCloseActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(tabbedPan, javax.swing.GroupLayout.PREFERRED_SIZE, 496, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnClose)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(tabbedPan, javax.swing.GroupLayout.PREFERRED_SIZE, 315, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btnClose)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
tabbedPan.getAccessibleContext().setAccessibleName("");
pack();
}// //GEN-END:initComponents
private void btnCloseActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnCloseActionPerformed
{//GEN-HEADEREND:event_btnCloseActionPerformed
this.dispose();
}//GEN-LAST:event_btnCloseActionPerformed
private void btnApplyActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnApplyActionPerformed
{//GEN-HEADEREND:event_btnApplyActionPerformed
if (isCodeValid()) {
actionReplay.addMemoryPatch(patch);
this.setVisible(false);
}
}//GEN-LAST:event_btnApplyActionPerformed
private void textCodeCaretUpdate(javax.swing.event.CaretEvent evt)//GEN-FIRST:event_textCodeCaretUpdate
{//GEN-HEADEREND:event_textCodeCaretUpdate
isCodeValid();
}//GEN-LAST:event_textCodeCaretUpdate
private void btnRemoveAllActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnRemoveAllActionPerformed
{//GEN-HEADEREND:event_btnRemoveAllActionPerformed
actionReplay.clear();
updateCurrentCodesList();
}//GEN-LAST:event_btnRemoveAllActionPerformed
private void btnResetActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnResetActionPerformed
{//GEN-HEADEREND:event_btnResetActionPerformed
actionReplay.getFoundAddresses().clear();
updateListPossibleCodes();
}//GEN-LAST:event_btnResetActionPerformed
private void textFindDataCaretUpdate(javax.swing.event.CaretEvent evt)//GEN-FIRST:event_textFindDataCaretUpdate
{//GEN-HEADEREND:event_textFindDataCaretUpdate
if (textFindData.getText().matches("[0-9]+")) {
btnSearch.setEnabled(true);
} else {
btnSearch.setEnabled(false);
}
}//GEN-LAST:event_textFindDataCaretUpdate
private void btnSearchActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnSearchActionPerformed
{//GEN-HEADEREND:event_btnSearchActionPerformed
if (actionReplay.getFoundAddresses().isEmpty()) {
actionReplay.newSearchInMemory((byte) Integer.parseInt(textFindData.getText(), 16));
} else {
actionReplay.continueSearch((byte) Integer.parseInt(textFindData.getText(), 16));
}
updateListPossibleCodes();
}//GEN-LAST:event_btnSearchActionPerformed
private void btnTryActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnTryActionPerformed
{//GEN-HEADEREND:event_btnTryActionPerformed
textCode.setText(listPossibleAddresses.getSelectedValue().toString());
tabbedPan.setSelectedIndex(0);
}//GEN-LAST:event_btnTryActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btnApply;
private javax.swing.JButton btnClose;
private javax.swing.JButton btnRemoveAll;
private javax.swing.JButton btnReset;
private javax.swing.JButton btnSearch;
private javax.swing.JButton btnTry;
private javax.swing.JList currentCodesList;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane5;
private javax.swing.JTable jTable1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextArea jTextArea2;
private javax.swing.JList listPossibleAddresses;
private javax.swing.JPanel panelApplyCode;
private javax.swing.JTabbedPane tabbedPan;
private javax.swing.JTextField textCode;
private javax.swing.JTextField textFindData;
// End of variables declaration//GEN-END:variables
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/cheats/Patch.java
================================================
package com.grapeshot.halfnes.cheats;
/**
* A patch object includes an address to modify and the value to write at this
* address. Patch objects are immutable and then thread-safe.
*
* @author Thomas Lorblanches
*/
public class Patch {
private final int type; //0 = no compare read, 1 = do
private final int address;
private final int data;
private final int cmpData;
/**
* Creates a patch.
*
* @param address - in-memory address to be patched.
* @param data - data to write in the address.
*/
public Patch(int address, int data) {
this.address = address;
this.data = data;
this.type = 0;
this.cmpData = 0;
}
public Patch(int address, int data, int check) {
this.address = address;
this.data = data;
this.type = 1;
this.cmpData = check;
}
/**
* Returns the address to patch.
*/
public int getAddress() {
return address;
}
/**
* Returns the value to write in the address.
*/
public int getData() {
return data;
}
/**
* Returns true if the check matches the data or it's a code type that
* doesn't check data bus
*/
public boolean matchesData(int data) {
return (type == 0) || (data == cmpData);
}
@Override
public int hashCode() {
int hash = 5;
hash = 71 * hash + this.address;
hash = 71 * hash + this.data;
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Patch other = (Patch) obj;
if (this.address != other.address) {
return false;
}
if (this.data != other.data) {
return false;
}
return true;
}
@Override
public String toString() {
String addStr = Integer.toHexString(address);
String datStr = Integer.toHexString(data & 0xFF);
StringBuilder builder = new StringBuilder();
for (int i = 0; i < 6 - addStr.length(); i++) {
builder.append("0");
}
builder.append(addStr);
for (int i = 0; i < 2 - datStr.length(); i++) {
builder.append("0");
}
builder.append(datStr);
return builder.toString().toUpperCase();
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/halfNES.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes;
import com.grapeshot.halfnes.ui.SwingUI;
import java.io.*;
import javax.swing.*;
public class halfNES {
private halfNES() {}
public static void main(String[] args) throws IOException {
JInputHelper.setupJInput();
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
System.err.println("Could not set system look and feel. Meh.");
}
new SwingUI().start(args);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Action52Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
public class Action52Mapper extends Mapper {
int[] ram = new int[4];
int prgchip = 0;
int prgpage = 0;
int chrpage = 0;
boolean prgmode = false;
@Override
public void loadrom() throws BadMapperException {
super.loadrom();
cartWrite(0x8000, 0);
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr <= 0x5fff) {
ram[addr & 3] = data & 0xf;
} else if (addr >= 0x8000) {
chrpage = ((addr & 0xf) << 2) + (data & 3);
prgmode = ((addr & (utils.BIT5)) != 0);
prgpage = (addr >> 6) & 0x1f;
prgchip = (addr >> 11) & 3;
setmirroring((((addr & (utils.BIT13)) != 0)) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (chrpage * 8 + i)) % chrsize;
}
int off = 0;
switch (prgchip) {
case 0:
off = 0;
break;
case 1:
off = 0x080000;
break;
case 3:
off = 0x100000;
break;
default:
System.err.println("Who knows.");
}
if (prgmode) {
for (int i = 0; i < 16; ++i) {
prg_map[i] = ((1024 * ((16 * prgpage) + i)) + off) % prgsize;
prg_map[i + 16] = ((1024 * ((16 * prgpage) + i)) + off) % prgsize;
}
} else {
for (int i = 0; i < 32; ++i) {
prg_map[i] = ((1024 * ((32 * (prgpage >> 1)) + i)) + off) % prgsize;
}
}
}
}
@Override
public final int cartRead(final int addr) {
// by default has wram at 0x6000 and cartridge at 0x8000-0xfff
// but some mappers have different so override for those
if (addr >= 0x8000) {
return prg[prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023)];
} else if (addr < 0x6000) {
return ram[addr & 3] & 0xf;
}
return addr >> 8; //open bus
}
public void reset() {
cartWrite(0x8000, 0);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/AfterburnerMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.utils;
import java.util.Arrays;
/**
*
* @author Andrew
*/
public class AfterburnerMapper extends Mapper {
//the Afterburner mapper is special in that it uses ROM name tables
private int bank = 0x0;
boolean useromnt = false;
int romnt1, romnt2;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//movable bank, should really be random. eh, effort
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
} else if (addr <= 0x8fff) {
setppubank(2, 0, data);
} else if (addr <= 0x9fff) {
setppubank(2, 2, data);
} else if (addr <= 0xafff) {
setppubank(2, 4, data);
} else if (addr <= 0xbfff) {
setppubank(2, 6, data);
} else if (addr <= 0xcfff) {
romnt1 = data | 0x80;
} else if (addr <= 0xdfff) {
romnt2 = data | 0x80;
} else if (addr <= 0xefff) {
useromnt = ((data & (utils.BIT4)) != 0);
setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
} else if (addr <= 0xffff) {
bank = data & 0xf;
//remap PRG bank (1st bank switchable, 2nd bank mapped to LAST bank)
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);
}
}
}
private void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banksize * banknum) + i)) % chrsize;
}
}
public int ppuRead(int addr) {
if (addr < 0x2000) {
return chr[chr_map[addr >> 10] + (addr & 1023)];
} else {
switch (addr & 0xc00) {
case 0:
return (useromnt ? chr[(addr & 0x3ff) + (romnt1 * 1024)] : nt0[addr & 0x3ff]);
case 0x400:
return (useromnt ? chr[(addr & 0x3ff) + (romnt2 * 1024)] : nt1[addr & 0x3ff]);
case 0x800:
return (useromnt ? chr[(addr & 0x3ff) + (romnt2 * 1024)] : nt2[addr & 0x3ff]);
case 0xc00:
default:
if (addr >= 0x3f00) {
addr &= 0x1f;
if (addr >= 0x10 && ((addr & 3) == 0)) {
addr -= 0x10;
}
return ppu.pal[addr];
} else {
return (useromnt ? chr[(addr & 0x3ff) + (romnt1 * 1024)] : nt3[addr & 0x3ff]);
}
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/AnromMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class AnromMapper extends Mapper {
@Override
public void loadrom() throws BadMapperException {
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//remap all 32k of PRG to 32 x bank #
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + (32 * (data & 15)))) & (prgsize - 1);
}
setmirroring(((data & (utils.BIT4)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/BadMapperException.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
public class BadMapperException extends Exception {
public String e;
public BadMapperException(String e) {
this.e = e;
}
@Override
public String getMessage() {
return e;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/BnromMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
public class BnromMapper extends Mapper {
@Override
public void loadrom() throws BadMapperException {
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//remap all 32k of PRG to 32 x bank #
int bankstart = 32 * (data & 15);
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + bankstart)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/CaltronMapper.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class CaltronMapper extends Mapper {
int reg = 0;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr >= 0x6000 && addr <= 0x67FF) {
reg = addr & 0xFF;
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * (addr & 7))) & (prgsize - 1);
}
setmirroring(((addr & (utils.BIT5)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
} else if (addr >= 0x8000 && addr <= 0xFFFF && (reg & 4) != 0) {
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * ((reg >> 1 & 0xC) | (data & 3)))) & (chrsize - 1);
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/CnromMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
public class CnromMapper extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * (data & 0xff))) & (chrsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/CodemastersMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
public class CodemastersMapper extends Mapper {
private int bank = 0x0;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//movable bank, should really be random. eh, effort
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
if (addr < 0xc000) {
if (crc == 0x1BC686A8L) {
//fire hawk is only game with mapper controlled mirroring
//micro machines glitches hard if this is on
setmirroring((((data & (utils.BIT4)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0));
}
} else {
bank = data & 0xf;
//remap PRG bank (1st bank switchable, 2nd bank mapped to LAST bank)
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/ColorDreamsMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
/**
*
* @author Andrew
*/
public class ColorDreamsMapper extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 1; i <= 8; ++i) {
chr_map[8 - i] = chrsize - (1024 * i);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
final int prgselect = data & 0xf;
final int chrselect = data >> 4;
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/CrazyClimberMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
public class CrazyClimberMapper extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//movable (second) bank; first one is fixed
for (int i = 0; i < 16; ++i) {
prg_map[16 + i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int bank = (data & 7);
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[16 + i] = (1024 * (i + 16 * bank)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/CrimeBustersMapper.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class CrimeBustersMapper extends Mapper {
//Mapper 38 - GNROM (mapper 066) variant for Crime Busters
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int prgselect = data & 3;
int chrselect = (data >> 2) & 3;
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/FME7Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.utils;
import com.grapeshot.halfnes.*;
import com.grapeshot.halfnes.audio.*;
/**
*
* @author Andrew
*/
public class FME7Mapper extends Mapper {
private int commandRegister = 0;
private int soundCommand = 0;
private int[] charbanks = new int[8]; //8 1k char rom banks
private int[] prgbanks = new int[4]; //4 8k prg banks - PLUS 1 8k fixed one
private boolean ramEnable = true;
private boolean ramSelect = false;
private int irqcounter = 0xffff; //really needs to be unsigned but we'll cheese it
private boolean irqenabled;
private boolean irqclock;
private boolean hasInitSound = false;
private final ExpansionSoundChip sndchip = new Sunsoft5BSoundChip();
private boolean interrupted = false;
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//on startup:
prg_map = new int[40]; //(trollface)
//fixed bank maps to last 8k of rom, set everything else to last chunk
//as well.
for (int i = 1; i <= 40; ++i) {
prg_map[40 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
}
@Override
public final int cartRead(int addr) {
//five possible rom banks.
if (addr >= 0x6000) {
if (addr < 0x8000 && ramSelect) {
if (ramEnable) {
return prgram[addr - 0x6000];
} else {
return addr >> 8; //open bus
}
}
return prg[prg_map[(addr - 0x6000) >> 10] + (addr & 1023)];
}
return addr >> 8; //open bus
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
if (addr == 0x8000) {
//command register
commandRegister = data & 0xf;
} else if (addr == 0xc000) {
//sound command register
soundCommand = data & 0xf;
if (!hasInitSound) {
//only initialize the sound chip if anything writes a sound command.
cpuram.apu.addExpnSound(sndchip);
hasInitSound = true;
}
} else if (addr == 0xa000) {
//mapper data register
switch (commandRegister) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
//char bank switches
charbanks[commandRegister] = data;
setbanks();
break;
case 8:
ramEnable = ((data & (utils.BIT7)) != 0);
ramSelect = ((data & (utils.BIT6)) != 0);
prgbanks[0] = data & 0x3f;
setbanks();
break;
case 9:
case 0xa:
case 0xb:
//prg bank switch
prgbanks[commandRegister - 8] = data;
setbanks();
break;
case 0xc:
//mirroring select
switch (data & 3) {
case 0:
setmirroring(Mapper.MirrorType.V_MIRROR);
break;
case 1:
setmirroring(Mapper.MirrorType.H_MIRROR);
break;
case 2:
setmirroring(Mapper.MirrorType.SS_MIRROR0);
break;
case 3:
setmirroring(Mapper.MirrorType.SS_MIRROR1);
break;
}
case 0xd:
//irq - let's put this in and hope it works
irqclock = ((data & (utils.BIT7)) != 0);
//2015-05: test by Teppples says that any value written here
//will acknowledge a pending interrupt
irqenabled = ((data & (utils.BIT0)) != 0);
if (interrupted && cpu.interrupt > 0) {
--cpu.interrupt;
}
interrupted = false;
//System.err.println(cpu.interrupt);
break;
case 0xe:
irqcounter &= 0xff00;
irqcounter |= data;
break;
case 0xf:
irqcounter &= 0xff;
irqcounter |= (data << 8);
break;
}
} else if (addr == 0xe000) {
sndchip.write(soundCommand, data);
}
}
@Override
public void cpucycle(int cycles) {
if (irqclock) {
if (irqcounter == 0) {
irqcounter = 0xffff;
if (irqenabled && !interrupted) {
interrupted = true;
++cpu.interrupt;
//System.err.println("FME7 Interrupt");
}
} else {
--irqcounter;
}
}
}
private void setbanks() {
for (int i = 0; i < 8; ++i) {
for (int j = 0; j < 4; ++j) {
prg_map[i + 8 * j] = (1024 * (i + (prgbanks[j] * 8))) % prgsize;
}
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * charbanks[i]) % chrsize;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/GnromMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
/**
*
* @author Andrew
*/
public class GnromMapper extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 1; i <= 8; ++i) {
chr_map[8 - i] = chrsize - (1024 * i);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int prgselect = (data >> 4) & 3;
int chrselect = data & 3;
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/IremH3001Mapper.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class IremH3001Mapper extends Mapper {
private int[] chrbank = {0, 0, 0, 0, 0, 0, 0, 0};
private int irqctr, irqreload = 0;
private boolean irqenable, interrupted = false;
@Override
public void loadrom() throws BadMapperException {
// needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xCFFF) {
super.cartWrite(addr, data);
return;
}
if (addr >= 0x8000 && addr <= 0x8FFF) { //PRG Reg 0
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + (data * 8))) & (prgsize - 1);
}
} else if (addr == 0x9001) { //Mirroring
setmirroring(((data & (utils.BIT7)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
} else if (addr == 0x9003) { //IRQ Enable
irqenable = ((data & (utils.BIT7)) != 0);
if (interrupted) {
--cpu.interrupt;
interrupted = false;
}
} else if (addr == 0x9004) { //IRQ Reload
irqctr = irqreload;
if (interrupted) {
--cpu.interrupt;
interrupted = false;
}
} else if (addr == 0x9005) { //High 8 bits of IRQ Reload
irqreload = (irqreload & 0x00FF) | (data << 8);
} else if (addr == 0x9006) { //Low 8 bits of IRQ Reload
irqreload = (irqreload & 0xFF00) | data;
} else if (addr >= 0xA000 && addr <= 0xAFFF) { //PRG Reg 1
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + data * 8)) & (prgsize - 1);
}
} else if (addr >= 0xB000 && addr <= 0xBFFF) { //CHR Regs
chrbank[addr & 7] = data;
setppubank(1, (addr & 7), chrbank[addr & 7]);
} else if (addr >= 0xC000 && addr <= 0xCFFF) { //PRG Reg 2
for (int i = 0; i < 8; ++i) {
prg_map[i + 16] = (1024 * (i + data * 8)) & (prgsize - 1);
}
}
}
@Override
public void cpucycle(final int cycles) {
if (irqenable) {
if (irqctr <= 0) {
if (!interrupted) {
++cpu.interrupt;
interrupted = true;
}
irqenable = false;
} else {
irqctr -= cycles;
}
}
}
private void setppubank(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * (banknum + i)) & (chrsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/MIMICMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
/**
*
* @author Andrew
*/
public class MIMICMapper extends Mapper {
//a stripped down mmc3 clone for namco/tengen games.
//almost everything using this is marked as mapper 4 and works fine like that
private int whichbank = 0;
private int[] chrreg = {0, 0, 0, 0, 0, 0};
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//bankswitches here
System.err.println(utils.hex(addr) + " " + utils.hex(data));
if (addr == 0x8001) {
data &= 0x3f;
if (whichbank <= 5) {
chrreg[whichbank] = data;
setupchr();
} else if (whichbank == 6) {
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + (data * 8))) % prgsize;
}
} else if (whichbank == 7) {
System.err.println(data * 8);
//bank 7 always swappable, always in same place
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;
}
}
} else if (addr == 0x8000) {
//bank select
whichbank = data & 7;
}
}
private void setupchr() {
setppubank(1, 4, chrreg[2]);
setppubank(1, 5, chrreg[3]);
setppubank(1, 6, chrreg[4]);
setppubank(1, 7, chrreg[5]);
setppubank(2, 0, (chrreg[0] >> 1) << 1);
setppubank(2, 2, (chrreg[1] >> 1) << 1);
}
private void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/MMC1Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class MMC1Mapper extends Mapper {
private int mmc1shift = 0;
private int mmc1latch = 0;
private int mmc1ctrl = 0xc;
private int mmc1chr0 = 0;
private int mmc1chr1 = 0;
private int mmc1prg = 0;
private boolean soromlatch = false;
private double cpucycleprev = 0; // for Bill and Ted fix
private long framecountprev = 0;
@Override
public void loadrom() throws BadMapperException {
// needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
setbanks();
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
if (cpu.clocks == cpucycleprev && cpuram.apu.nes.framecount == framecountprev) {
return; //bill and ted fix - prevents 2 writes too close together
//from being acknowledged
//if I ever go to a cycle based core instead of opcode based this needs to change.
}
framecountprev = cpuram.apu.nes.framecount;
//and this is extremely ugly/likely to break
//but is needed to prevent the Bill+Ted fix from breaking Dr Mario intro.
cpucycleprev = cpu.clocks;
if (((data & (utils.BIT7)) != 0)) {
// reset shift register
mmc1shift = 0;
mmc1latch = 0;
mmc1ctrl |= 0xc;
setbanks();
return;
}
mmc1shift = (mmc1shift >> 1) + (data & 1) * 16;
++mmc1latch;
// mmc1shift &= 0x1f;
if (mmc1latch < 5) {
return; // no need to do anything
} else {
if (addr >= 0x8000 && addr <= 0x9fff) {
// mmc1control
mmc1ctrl = mmc1shift & 0x1f;
MirrorType mirtype;
switch (mmc1ctrl & 3) {
case 0:
mirtype = MirrorType.SS_MIRROR0;
break;
case 1:
mirtype = MirrorType.SS_MIRROR1;
break;
case 2:
mirtype = MirrorType.V_MIRROR;
break;
default:
mirtype = MirrorType.H_MIRROR;
break;
}
setmirroring(mirtype);
} else if (addr >= 0xa000 && addr <= 0xbfff) {
// mmc1chr0
mmc1chr0 = mmc1shift & 0x1f;
if (prgsize > 262144) {
//SOROM boards use the high bit of CHR to switch between 1st and last
//256k of the PRG ROM
mmc1chr0 &= 0xf;
soromlatch = ((mmc1shift & (utils.BIT4)) != 0);
}
} else if (addr >= 0xc000 && addr <= 0xdfff) {
// mmc1chr1
mmc1chr1 = mmc1shift & 0x1f;
if (prgsize > 262144) {
mmc1chr1 &= 0xf;
}
} else if (addr >= 0xe000 && addr <= 0xffff) {
// mmc1prg
mmc1prg = mmc1shift & 0xf;
}
// System.err.println("Mapper Bankswitch: Write " + utils.hex(mmc1shift) + " @ " + utils.hex(addr));
setbanks();
mmc1latch = 0;
mmc1shift = 0;
}
}
private void setbanks() {
// chr bank 0
if (((mmc1ctrl & (utils.BIT4)) != 0)) {
// 4k bank mode
for (int i = 0; i < 4; ++i) {
chr_map[i] = (1024 * (i + 4 * mmc1chr0)) % chrsize;
}
for (int i = 0; i < 4; ++i) {
chr_map[i + 4] = (1024 * (i + 4 * mmc1chr1)) % chrsize;
}
} else {
// 8k bank mode
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * (mmc1chr0 >> 1))) % chrsize;
}
}
// prg bank
if (!((mmc1ctrl & (utils.BIT3)) != 0)) {
// 32k switch
// ignore low bank bit
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i + 32768 * (mmc1prg >> 1)) % prgsize;
}
} else if (!((mmc1ctrl & (utils.BIT2)) != 0)) {
// fix 1st bank, 16k switch 2nd bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i);
}
for (int i = 0; i < 16; ++i) {
prg_map[i + 16] = (1024 * i + 16384 * mmc1prg) % prgsize;
}
} else {
// fix last bank, switch 1st bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i + 16384 * mmc1prg) % prgsize;
}
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = (prgsize - (1024 * i));
if ((prg_map[32 - i]) > 262144) {
prg_map[32 - i] -= 262144;
}
}
}
//if more thn 256k ROM AND SOROM latch is on
if (soromlatch && (prgsize > 262144)) {
//add 256k to all of the prg bank #s
for (int i = 0; i < prg_map.length; ++i) {
prg_map[i] += 262144;
}
}
//utils.printarray(prg_map);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/MMC2Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
/**
*
* @author Andrew
*/
public class MMC2Mapper extends Mapper {
boolean chrlatchL = true;
boolean chrlatchR = false;
int chrbankL1 = 0;
int chrbankR1 = 0;
int chrbankL2 = 0;
int chrbankR2 = 0;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//on startup:
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
} else if (addr >= 0xa000 && addr <= 0xafff) {
//remap prg
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * (data & 0xf))) & (chrsize - 1);
}
} else if (addr >= 0xb000 && addr <= 0xbfff) {
chrbankL1 = data & 0x1f;
setupPPUBanks();
} else if (addr >= 0xc000 && addr <= 0xcfff) {
chrbankL2 = data & 0x1f;
setupPPUBanks();
} else if (addr >= 0xd000 && addr <= 0xdfff) {
chrbankR1 = data & 0x1f;
setupPPUBanks();
} else if (addr >= 0xe000 && addr <= 0xefff) {
chrbankR2 = data & 0x1f;
setupPPUBanks();
} else if (addr >= 0xf000 && addr <= 0xffff) {
setmirroring((((data & (utils.BIT0)) != 0)) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
}
@Override
public int ppuRead(final int addr) {
int retval = super.ppuRead(addr);
if (((addr & (utils.BIT3)) != 0)) {
//latch fires after 2nd read from pattern table
//A3 will be on for 2nd read b/c it's tile low bytes
switch (addr >> 4) {
//read of the 2nd byte of tile fd/fe/1fd/1fe
//switches the set of character banks used for that side
//of the pattern table
case 0xfd:
if ((addr & 3) == 0) {
chrlatchL = false;
setupPPUBanks();
}
break;
case 0xfe:
if ((addr & 3) == 0) {
chrlatchL = true;
setupPPUBanks();
break;
}
case 0x1fd:
chrlatchR = false;
setupPPUBanks();
break;
case 0x1fe:
chrlatchR = true;
setupPPUBanks();
default:
break;
}
}
return retval;
}
// public void notifyscanline(final int scanline) {
// System.err.println(" ScanLine " + scanline + " " + chrlatchL);
// }
private void setupPPUBanks() {
if (chrlatchL) {
setppubank(4, 0, chrbankL2);
} else {
setppubank(4, 0, chrbankL1);
}
if (chrlatchR) {
setppubank(4, 4, chrbankR2);
} else {
setppubank(4, 4, chrbankR1);
}
}
private void setppubank(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banksize * banknum) + i)) % chrsize;
}
//utils.printarray(chr_map);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/MMC3Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
/**
*
* @author Andrew
*/
public class MMC3Mapper extends Mapper {
protected int whichbank = 0;
protected boolean prgconfig = false;
protected boolean chrconfig = false;
protected int irqctrreload = 0;
protected int irqctr = 0;
protected boolean irqenable = false;
protected boolean irqreload = false;
protected int bank6 = 0;
protected int[] chrreg = {0, 0, 0, 0, 0, 0};
protected boolean interrupted = false;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
setbank6();
//cpuram.setPrgRAMEnable(false);
}
@Override
public void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//bankswitches here
//different register for even/odd writes
//System.err.println("mmc3 write " + utils.hex(addr) + " " + utils.hex(data));
if (((addr & (utils.BIT0)) != 0)) {
//odd registers
if ((addr >= 0x8000) && (addr <= 0x9fff)) {
//bank change
//System.err.println("setting " + whichbank + " " + data + " " + prgconfig);
if (whichbank <= 5) {
chrreg[whichbank] = data;
setupchr();
} else if (whichbank == 6) {
bank6 = data;
setbank6();
} else if (whichbank == 7) {
//bank 7 always swappable, always in same place
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;
}
}
} else if ((addr >= 0xA000) && (addr <= 0xbfff)) {
//prg ram write protect
//cpuram.setPrgRAMEnable(!utils.getbit(data, 7));
} else if ((addr >= 0xc000) && (addr <= 0xdfff)) {
//any value here reloads irq counter
irqreload = true;
} else if ((addr >= 0xe000) && (addr <= 0xffff)) {
//iany value here enables interrupts
irqenable = true;
}
} else {
//even registers
if ((addr >= 0x8000) && (addr <= 0x9fff)) {
//bank select
whichbank = data & 7;
prgconfig = ((data & (utils.BIT6)) != 0);
//if bit is false, 8000-9fff swappable and c000-dfff fixed to 2nd to last bank
//if bit is true, c000-dfff swappable and 8000-9fff fixed to 2nd to last bank
chrconfig = ((data & (utils.BIT7)) != 0);
//if false: 2 2k banks @ 0000-0fff, 4 1k banks in 1000-1fff
//if true: 4 1k banks @ 0000-0fff, 2 2k banks @ 1000-1fff
setupchr();
setbank6(); //OOPS FORGOT THIS I GUESS
} else if ((addr >= 0xA000) && (addr <= 0xbfff)) {
//mirroring setup
if (scrolltype != MirrorType.FOUR_SCREEN_MIRROR) {
setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
} else if ((addr >= 0xc000) && (addr <= 0xdfff)) {
//value written here used to reload irq counter _@ end of scanline_
irqctrreload = data;
} else if ((addr >= 0xe000) && (addr <= 0xffff)) {
//any value here disables IRQ and acknowledges
if (interrupted) {
--cpu.interrupt;
}
interrupted = false;
irqenable = false;
}
}
}
protected void setupchr() {
if (chrconfig) {
setppubank(1, 0, chrreg[2]);
setppubank(1, 1, chrreg[3]);
setppubank(1, 2, chrreg[4]);
setppubank(1, 3, chrreg[5]);
//Lowest bit of bank number IS IGNORED for the 2k banks
setppubank(2, 4, (chrreg[0] >> 1) << 1);
setppubank(2, 6, (chrreg[1] >> 1) << 1);
} else {
setppubank(1, 4, chrreg[2]);
setppubank(1, 5, chrreg[3]);
setppubank(1, 6, chrreg[4]);
setppubank(1, 7, chrreg[5]);
setppubank(2, 0, (chrreg[0] >> 1) << 1);
setppubank(2, 2, (chrreg[1] >> 1) << 1);
}
}
protected void setbank6() {
if (!prgconfig) {
//map c000-dfff to last bank, 8000-9fff to selected bank
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + (bank6 * 8))) % prgsize;
prg_map[i + 16] = ((prgsize - 16384) + 1024 * i);
}
} else {
//map 8000-9fff to last bank, c000 to dfff to selected bank
for (int i = 0; i < 8; ++i) {
prg_map[i] = ((prgsize - 16384) + 1024 * i);
prg_map[i + 16] = (1024 * (i + (bank6 * 8))) % prgsize;
}
}
}
private boolean lastA12 = false;
@Override
public int ppuRead(int addr) {
//note: to pass blargg's mmc3 tests the vram address is read
//in a loop while the PPU is not rendering
//actually the read signal is not asserted then
//but I have no other way to call into the mapper code when
//the address changes.
checkA12(addr);
return super.ppuRead(addr);
}
@Override
public void ppuWrite(int addr, int data) {
checkA12(addr);
super.ppuWrite(addr, data);
}
int a12timer = 0;
@Override
public void checkA12(int addr) {
//run on every PPU cycle (wasteful...)
//clocks scanline counter every time A12 line goes from low to high
//on PPU address bus, _except_ when it has been less than 8 PPU cycles
//since the line last went low.
boolean a12 = ((addr & (utils.BIT12)) != 0);
if (a12 && (!lastA12)) {
//rising edge
if ((a12timer <= 0)) {
clockScanCounter();
}
} else if (!a12 && lastA12) {
//falling edge
a12timer = 8;
}
--a12timer;
lastA12 = a12;
}
private void clockScanCounter() {
if (irqreload || (irqctr == 0)) {
//System.err.println(ppu.scanline + "reloading" + irqctrreload);
irqctr = irqctrreload;
irqreload = false;
} else {
--irqctr;
}
if ((irqctr == 0) && irqenable && !interrupted) {
++cpu.interrupt;
interrupted = true;
//System.err.println("interrupt line " + ppu.scanline + " reload " + irqctrreload);
}
}
protected void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/MMC4Mapper.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class MMC4Mapper extends Mapper {
boolean chrlatchL = true;
boolean chrlatchR = false;
int chrbankL1 = 0;
int chrbankR1 = 0;
int chrbankL2 = 0;
int chrbankR2 = 0;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//on startup:
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
} else if (addr >= 0x8000 && addr <= 0xafff) {
//remap prg
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * data)) & (prgsize - 1);
}
} else if (addr >= 0xb000 && addr <= 0xbfff) {
chrbankL1 = data & 0x1f;
setupPPUBanks();
} else if (addr >= 0xc000 && addr <= 0xcfff) {
chrbankL2 = data & 0x1f;
setupPPUBanks();
} else if (addr >= 0xd000 && addr <= 0xdfff) {
chrbankR1 = data & 0x1f;
setupPPUBanks();
} else if (addr >= 0xe000 && addr <= 0xefff) {
chrbankR2 = data & 0x1f;
setupPPUBanks();
} else if (addr >= 0xf000 && addr <= 0xffff) {
setmirroring((((data & (utils.BIT0)) != 0)) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
}
@Override
public int ppuRead(final int addr) {
int retval = super.ppuRead(addr);
if (((addr & (utils.BIT3)) != 0)) {
//latch fires after 2nd read from pattern table
//A3 will be on for 2nd read b/c it's tile low bytes
switch (addr >> 4) {
//read of the 2nd byte of tile fd/fe/1fd/1fe
//switches the set of character banks used for that side
//of the pattern table
case 0xfd:
chrlatchL = false;
setupPPUBanks();
break;
case 0xfe:
chrlatchL = true;
setupPPUBanks();
break;
case 0x1fd:
chrlatchR = false;
setupPPUBanks();
break;
case 0x1fe:
chrlatchR = true;
setupPPUBanks();
default:
break;
}
}
return retval;
}
private void setupPPUBanks() {
if (chrlatchL) {
setppubank(4, 0, chrbankL2);
} else {
setppubank(4, 0, chrbankL1);
}
if (chrlatchR) {
setppubank(4, 4, chrbankR2);
} else {
setppubank(4, 4, chrbankR1);
}
}
private void setppubank(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banksize * banknum) + i)) % chrsize;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/MMC5Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.utils;
import com.grapeshot.halfnes.audio.MMC5SoundChip;
import java.util.Arrays;
/**
*
* @author Andrew
*/
public class MMC5Mapper extends Mapper {
//the infamous kitchen sink mapper
final int[] exram = new int[1024];
private int exramMode, chrMode, prgMode;
private int wramWrite1, wramWrite2, multiplier1, multiplier2;
private int prgpage, chrOr, wrambank;
boolean scanctrEnable, irqPend;
private final int[] chrregsA = new int[8];
private final int[] chrregsB = new int[4];
private final int[] prgregs = new int[4];
private final int[] chrmapB = new int[4];
private final boolean[] romHere = new boolean[3];
private int scanctrLine, irqCounter = 20;
private final int[] fillnt = new int[1024];
private MMC5SoundChip soundchip;
private boolean inFrame = false;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//on startup:
prgregs[3] = (prgsize / 8192) - 1;
prgregs[2] = (prgsize / 8192) - 1;
prgregs[1] = (prgsize / 8192) - 1;
prgregs[0] = (prgsize / 8192) - 1;
prgMode = 3;
setupPRG();
for (int i = 0; i < 8; ++i) {
chr_map[i] = 1024 * i;
}
prgram = new int[65536];
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x5c00) {
//System.err.println("MMC5 Write register "+ utils.hex(addr) + " d " + utils.hex(data));
switch (addr) {
case 0x5000:
case 0x5001:
case 0x5002:
case 0x5003:
case 0x5004:
case 0x5005:
case 0x5006:
case 0x5007:
case 0x5010:
case 0x5011:
case 0x5015:
if (soundchip == null) {
soundchip = new MMC5SoundChip();
cpuram.apu.addExpnSound(soundchip);
}
//sound chip
soundchip.write(addr - 0x5000, data);
break;
case 0x5100:
//prg mode select
prgMode = data & 3;
setupPRG();
break;
case 0x5101:
//chr mode select
chrMode = data & 3;
setupCHR();
break;
case 0x5102:
//wram write protect 1
wramWrite1 = data;
break;
case 0x5103:
//wram write protect 2
wramWrite2 = data;
break;
case 0x5104:
//exRAM mode - none of these are properly supported!
exramMode = data & 3;
break;
case 0x5105:
//mirror mode
setMirroring(data, exram);
break;
case 0x5106:
//fill tile
Arrays.fill(fillnt, 0, 32 * 30, data);
break;
case 0x5107:
//fill attribute
Arrays.fill(fillnt, 32 * 30, fillnt.length, data & 0x3 + (data & 3) << 2 + (data & 3) << 4 + (data & 3) << 6);
break;
case 0x5113:
//PRG RAM register
wrambank = data & 7;
break;
case 0x5114:
//prg reg 1
prgregs[0] = data & 0x7f;
romHere[0] = ((data & (utils.BIT7)) != 0);
setupPRG();
break;
case 0x5115:
//prg reg 2
prgregs[1] = data & 0x7f;
romHere[1] = ((data & (utils.BIT7)) != 0);
setupPRG();
break;
case 0x5116:
//prg reg 3
prgregs[2] = data & 0x7f;
romHere[2] = ((data & (utils.BIT7)) != 0);
setupPRG();
break;
case 0x5117:
//prg reg 4
prgregs[3] = data & 0x7f;
setupPRG();
break;
case 0x5120:
chrregsA[0] = data | chrOr;
setupCHR();
break;
case 0x5121:
chrregsA[1] = data | chrOr;
setupCHR();
break;
case 0x5122:
chrregsA[2] = data | chrOr;
setupCHR();
break;
case 0x5123:
chrregsA[3] = data | chrOr;
setupCHR();
break;
case 0x5124:
chrregsA[4] = data | chrOr;
setupCHR();
break;
case 0x5125:
chrregsA[5] = data | chrOr;
setupCHR();
break;
case 0x5126:
chrregsA[6] = data | chrOr;
setupCHR();
break;
case 0x5127:
chrregsA[7] = data | chrOr;
setupCHR();
break;
//chr regs A
case 0x5128:
chrregsB[0] = data | chrOr;
setupCHR();
break;
case 0x5129:
chrregsB[1] = data | chrOr;
setupCHR();
break;
case 0x512a:
chrregsB[2] = data | chrOr;
setupCHR();
break;
case 0x512b:
chrregsB[3] = data | chrOr;
setupCHR();
break;
//chr regs b
case 0x5130:
//chr bank high bits (CHR_OR)
//System.err.println(data);
chrOr = (data & 3) << 8;
break;
case 0x5200:
//splitscreen control
if (((data & (utils.BIT7)) != 0)) {
System.err.println("Split screen mode not supported yet");
}
break;
case 0x5201:
//splitscreen scroll
break;
case 0x5202:
//splitscreen chr page
break;
case 0x5203:
//irq trigger
scanctrLine = data;
break;
case 0x5204:
//irq control
scanctrEnable = ((data & (utils.BIT7)) != 0);
break;
case 0x5205:
multiplier1 = data;
break;
case 0x5206:
multiplier2 = data;
break;
default:
break;
}
} else if (addr < 0x6000) {
//exram
exram[addr - 0x5c00] = data;
} else if (addr < 0x8000) {
final int wramaddr = wrambank * 8192 + (addr - 0x6000);
//System.err.println("wrote wram " + utils.hex(wramaddr));
prgram[wramaddr] = data;
} else if (addr < 0xA000 && !romHere[0] && prgMode == 3) {
System.err.println("RAM write to 0x8000 area");
prgram[((prgregs[0] & 7) * 8192) + (addr - 0x8000)] = data;
} else if (addr < 0xC000 && !romHere[1]) {
int subaddr = (prgMode == 3) ? 0xA000 : 0x8000;
int prgbank = (prgMode == 3) ? (prgregs[1] & 7) : ((prgregs[1] & 7) >> 1);
int ramaddr = (prgbank * ((prgMode == 3) ? 8192 : 16384)) + (addr - subaddr);
////System.err.println("RAM write to 0xA000 area " + utils.hex(addr) + " " + prgbank);
//System.err.println(utils.hex(ramaddr));
prgram[ramaddr] = data;
} else if (addr < 0xE000 && !romHere[2]) {
System.err.println("RAM write to 0xC000 area " + utils.hex(addr));
prgram[((prgregs[2] & 7) * 8192) + (addr - 0xc000)] = data;
} else {
System.err.println("unsupported mmc5 write " + utils.hex(addr)
+ romHere[0] + romHere[1] + romHere[2] + prgMode);
}
}
@Override
public final int cartRead(final int addr) {
//hook for turning off PPU in frame flag since idk how the real thing works
if (!ppu.renderingOn() || ppu.scanline > 241) {
inFrame = false;
}
if (addr >= 0x8000) {
//rom or maybe wram
if (prgMode == 0
|| ((prgMode == 1) && (addr >= 0xc000 || romHere[1]))
|| ((prgMode == 2) && ((addr >= 0xe000 || (addr >= 0xc000 && romHere[2]) || romHere[1]))
|| ((prgMode == 3) && (addr >= 0xe000
|| (addr >= 0xc000 && romHere[2])
|| (addr >= 0xa000 && romHere[1])
|| romHere[0])))) {
return prg[prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023)];
} else {
//don't know quite how to deal with this yet
System.err.println("MMC5 wants RAM at " + utils.hex(addr));
return 0xffff;
}
} else if (addr >= 0x6000) {
//wram
int ramaddr = wrambank * 8192 + (addr - 0x6000);
//System.err.println("reading prgram from " + utils.hex(ramaddr));
return prgram[ramaddr];
} else if (addr >= 0x5c00) {
//exram
return exram[addr - 0x5c00];
} else {
switch (addr) {
case 0x5015:
//sound status
if (soundchip != null) {
return soundchip.status();
}
return addr >> 8;
case 0x5204:
//irq status
int stat = (irqPend ? 0x80 : 0) + (inFrame ? 0x40 : 0);
if (irqPend) {
irqPend = false;
--cpu.interrupt;
}
return stat;
case 0x5205:
return (multiplier1 * multiplier2) & 0xff;
case 0x5206:
//multiplier
return ((multiplier1 * multiplier2) >> 8) & 0xff;
default:
return addr >> 8;
}
}
}
public void setupPRG() {
//does NOT support mapping RAM in yet!
switch (prgMode) {
default:
case 0:
setcpubank(32, 0, (prgregs[3] & 0x7f) >> 2);
break;
case 1:
setcpubank(16, 16, (prgregs[3] & 0x7f) >> 1);
setcpubank(16, 0, (prgregs[1] & 0x7f) >> 1);
break;
case 2:
setcpubank(8, 24, prgregs[3] & 0x7f);
setcpubank(8, 16, prgregs[2] & 0x7f);
setcpubank(8, 8, (prgregs[1] & 0x7f) | 1);
setcpubank(8, 0, (prgregs[1] & 0x7e));
break;
case 3:
setcpubank(8, 24, prgregs[3] & 0x7f);
setcpubank(8, 16, prgregs[2] & 0x7f);
setcpubank(8, 8, prgregs[1] & 0x7f);
setcpubank(8, 0, prgregs[0] & 0x7f);
break;
}
// System.err.println(prgMode);
// utils.printarray(prgregs);
// utils.printarray(prg_map);
}
public void setupCHR() {
switch (chrMode) {
default:
case 0:
setppubank(8, 0, chrregsA[7]);
setppubankB(4, 0, chrregsB[3]);
break;
case 1:
setppubank(4, 4, chrregsA[7]);
setppubank(4, 0, chrregsA[3]);
setppubankB(4, 0, chrregsB[3]);
break;
case 2:
setppubank(2, 6, chrregsA[7]);
setppubank(2, 4, chrregsA[5]);
setppubank(2, 2, chrregsA[3]);
setppubank(2, 0, chrregsA[1]);
setppubankB(2, 2, chrregsB[3]);
setppubankB(2, 0, chrregsB[1]);
break;
case 3:
setppubank(1, 7, chrregsA[7]);
setppubank(1, 6, chrregsA[6]);
setppubank(1, 5, chrregsA[5]);
setppubank(1, 4, chrregsA[4]);
setppubank(1, 3, chrregsA[3]);
setppubank(1, 2, chrregsA[2]);
setppubank(1, 1, chrregsA[1]);
setppubank(1, 0, chrregsA[0]);
setppubankB(1, 3, chrregsB[3]);
setppubankB(1, 2, chrregsB[2]);
setppubankB(1, 1, chrregsB[1]);
setppubankB(1, 0, chrregsB[0]);
break;
}
}
private void setppubank(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
}
private void setppubankB(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
chrmapB[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
}
private void setcpubank(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
prg_map[i + bankpos] = (1024 * ((banknum * banksize) + i)) & (prgsize - 1);
}
}
private int fetchcount, exlatch, lastfetch, prevfetch, prevprevfetch;
private boolean spritemode = false;
@Override
public int ppuRead(final int addr) {
//so how DO we detect which reads are which without
//seeing the nametable reads?
//well, as it turns out in the real NES, the MMC5 can in fact see everything
//put on the PPU bus, whether or not the CS line is asserted for it.
//must be something to do with 8x16 sprites, and with
//the 34 reads per scanline of background
//it reads 34 bg tiles (68 bytes) then 16 sprite tiles (32 bytes)
if (addr < 0x2000) {
// System.err.print("p");
//pattern table read
if (++fetchcount == 3) {
spritemode = true;
//System.err.println(" sprites");
}
if (spritemode) {
return chr[chr_map[addr >> 10] + (addr & 1023)];
} else {
//bg mode
//System.err.print("t");
if (exramMode == 1) {
if (exlatch == 2) {
//fetch 3: tile bitmap a
++exlatch;
return chr[((chrOr * 1024) | ((exram[lastfetch] & 0x3f) * 4096) | (addr & 4095)) % chr.length];
} else if (exlatch == 3) {
//fetch 4: tile bitmap b (+ 8 bytes from tile bitmap a)
exlatch = 0;
return chr[((chrOr * 1024) | ((exram[lastfetch] & 0x3f) * 4096) | (addr & 4095)) % chr.length];
}
}
return chr[chrmapB[(addr >> 10) & 3] + (addr & 1023)];
}
} else {
// System.err.print("n");
//nametable read
if (prevfetch == prevprevfetch && prevprevfetch == addr) {
//last 3 fetches are the same and that's the signal
//to increment the scan line counter
//unfortunately I don't know how the MMC5 resets the counter when PPU is off yet
incScanline();
exlatch = 0;
}
prevprevfetch = prevfetch;
prevfetch = addr;
spritemode = false;
fetchcount = 0;
// System.err.println(" bg");
if (exramMode == 1) {
if (exlatch == 0) {
//fetch 1: nametable fetch
++exlatch;
lastfetch = addr & 0x3ff;
} else if (exlatch == 1) {
++exlatch;
//fetch 2: attribute table fetch
int theone = exram[lastfetch];
return ((theone & 0xc0) >> 6) | ((theone & 0xc0) >> 4) | ((theone & 0xc0) >> 2) | (theone & 0xc0);
}
}
return super.ppuRead(addr);
}
}
public void incScanline() {
if (!inFrame) {
inFrame = true;
irqCounter = 0;
if (irqPend) {
irqPend = false;
--cpu.interrupt;
}
} else {
if (irqCounter++ == scanctrLine) {
irqPend = true;
}
if (irqPend && scanctrEnable) {
++cpu.interrupt;
}
}
}
public void setMirroring(int ntsetup, int[] exram) {
//hook for the MMC5
switch (ntsetup & 3) {
case 0:
default:
nt0 = pput0;
break;
case 1:
nt0 = pput1;
break;
case 2:
nt0 = exram;
break;
case 3:
nt0 = fillnt;
}
ntsetup >>= 2;
switch (ntsetup & 3) {
case 0:
default:
nt1 = pput0;
break;
case 1:
nt1 = pput1;
break;
case 2:
nt1 = exram;
break;
case 3:
nt1 = fillnt;
break;
}
ntsetup >>= 2;
switch (ntsetup & 3) {
case 0:
default:
nt2 = pput0;
break;
case 1:
nt2 = pput1;
break;
case 2:
nt2 = exram;
break;
case 3:
nt2 = fillnt;
break;
}
ntsetup >>= 2;
switch (ntsetup & 3) {
case 0:
default:
nt3 = pput0;
break;
case 1:
nt3 = pput1;
break;
case 2:
nt3 = exram;
break;
case 3:
nt3 = fillnt;
break;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
import com.grapeshot.halfnes.PPU;
import java.util.Arrays;
import java.util.prefs.Preferences;
import java.util.zip.CRC32;
public abstract class Mapper {
protected ROMLoader loader;
protected int mappertype, submapper, prgsize, prgoff, chroff, chrsize;
public CPU cpu;
public CPURAM cpuram;
public PPU ppu;
protected int[] prg, chr, chr_map, prg_map, prgram = new int[8192];
protected MirrorType scrolltype;
protected boolean haschrram = false, hasprgram = true, savesram = false;
// PPU nametables
protected final int[] pput0 = new int[0x400], pput1 = new int[0x400],
pput2 = new int[0x400], pput3 = new int[0x400];
//99% of games only use 2 of these, but we have to create 4 and use ptrs to them
//for those with extra RAM for 4 screen mirror
protected int[] nt0, nt1, nt2, nt3;
//and these are pointers to the nametables, so for singlescreen when we switch
//and then switch back the data in the other singlescreen NT isn't gone.
long crc;
TVType region;
Preferences prefs = PrefsSingleton.get();
public boolean supportsSaves() {
return savesram;
}
public void destroy() {
cpu = null;
cpuram = null;
ppu = null;
}
public static enum MirrorType {
H_MIRROR, V_MIRROR, SS_MIRROR0, SS_MIRROR1, FOUR_SCREEN_MIRROR
};
public static enum TVType {
NTSC,
PAL,
DENDY;
}
public static long crc32(int[] array) {
CRC32 c = new CRC32();
for (int i : array) {
c.update(i);
}
return c.getValue();
}
public void loadrom() throws BadMapperException {
loader.parseHeader();
prgsize = loader.prgsize;
mappertype = loader.mappertype;
prgoff = loader.prgoff;
chroff = loader.chroff;
chrsize = loader.chrsize;
scrolltype = loader.scrolltype;
savesram = loader.savesram;
prg = loader.load(prgsize, prgoff);
region = loader.tvtype;
submapper = loader.submapper;
crc = crc32(prg);
//System.err.println(utils.hex(crc));
//crc "database" for certain impossible-to-recognize games
if ((crc == 0x41243492L) //low g man (u)
|| (crc == 0x98CCD385L)//low g man (e)
) {
hasprgram = false;
}
chr = loader.load(chrsize, chroff);
if (chrsize == 0) {//chr ram
haschrram = true;
chrsize = 8192;
chr = new int[8192];
}
prg_map = new int[32];
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
chr_map = new int[8];
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
cpuram = new CPURAM(this);
cpu = new CPU(cpuram);
ppu = new PPU(this);
Arrays.fill(pput0, 0xa0);
Arrays.fill(pput1, 0xb0);
Arrays.fill(pput2, 0xc0);
Arrays.fill(pput3, 0xd0);
setmirroring(scrolltype);
}
public void reset() {
//this is empty so that mappers w/o some specific instructions
//on soft reset need not implement this
}
//write into the cartridge's address space
public void cartWrite(final int addr, final int data) {
//default no-mapper operation just writes if in PRG RAM range
if (addr >= 0x6000 && addr < 0x8000) {
prgram[addr & 0x1fff] = data;
}
}
public int cartRead(final int addr) {
// by default has wram at 0x6000 and cartridge at 0x8000-0xfff
// but some mappers have different so override for those
if (addr >= 0x8000) {
return prg[prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023)];
} else if (addr >= 0x6000 && hasprgram) {
return prgram[addr & 0x1fff];
}
return addr >> 8; //open bus
}
public int ppuRead(int addr) {
if (addr < 0x2000) {
return chr[chr_map[addr >> 10] + (addr & 1023)];
} else {
switch (addr & 0xc00) {
case 0:
return nt0[addr & 0x3ff];
case 0x400:
return nt1[addr & 0x3ff];
case 0x800:
return nt2[addr & 0x3ff];
case 0xc00:
default:
if (addr >= 0x3f00) {
addr &= 0x1f;
if (addr >= 0x10 && ((addr & 3) == 0)) {
addr -= 0x10;
}
return ppu.pal[addr];
} else {
return nt3[addr & 0x3ff];
}
}
}
}
public void ppuWrite(int addr, final int data) {
addr &= 0x3fff;
if (addr < 0x2000) {
if (haschrram) {
// Shame on you, Milon's Secret Castle. What possible
// reason could you have to write to your own chr rom?
chr[chr_map[addr >> 10] + (addr & 1023)] = data;
// anyway, only allowing writes when there's actual ram here.
}
} else {
switch (addr & 0xc00) {
case 0x0:
nt0[addr & 0x3ff] = data;
break;
case 0x400:
nt1[addr & 0x3ff] = data;
break;
case 0x800:
nt2[addr & 0x3ff] = data;
break;
case 0xc00:
if (addr >= 0x3f00 && addr <= 0x3fff) {
addr &= 0x1f;
//System.err.println("wrote "+utils.hex(data)+" to palette index " + utils.hex(addr));
if (addr >= 0x10 && ((addr & 3) == 0)) { //0x10,0x14,0x18 etc are mirrors of 0x0, 0x4,0x8 etc
addr -= 0x10;
}
ppu.pal[addr] = (data & 0x3f);
} else {
nt3[addr & 0x3ff] = data;
}
break;
default:
System.err.println("where?");
}
}
}
public void notifyscanline(final int scanline) {
//this is empty so that mappers w/o a scanline counter need not implement
}
public void cpucycle(int cycles) {
//do it right for once
}
public static Mapper getCorrectMapper(final ROMLoader l) throws BadMapperException {
int type = l.mappertype;
boolean haschr = (l.chrsize == 0);
switch (type) {
case -1:
return new NSFMapper();
case 0:
return new NromMapper();
case 1:
return new MMC1Mapper();
case 2:
return new UnromMapper();
case 3:
return new CnromMapper();
case 4:
return new MMC3Mapper();
case 5:
return new MMC5Mapper();
case 7:
return new AnromMapper();
case 9:
return new MMC2Mapper();
case 10:
return new MMC4Mapper();
case 11:
return new ColorDreamsMapper();
case 15:
case 169:
return new Mapper15();
case 19:
return new NamcoMapper();
case 21:
case 23:
case 25:
//VRC4 has three different mapper numbers for six different address line layouts
//some of which really should be VRC2
//but they're all handled in the same file
//there's a proposal for submapper #s in iNES 2.0
return new VRC4Mapper(type);
case 22:
return new VRC2Mapper();
case 24:
case 26:
return new VRC6Mapper(type);
case 31:
return new Mapper31();
case 33:
return new Mapper33();
case 34:
if (haschr) {
return new BnromMapper();
} else {
return new NINA_001_Mapper();
}
case 36:
return new Mapper36();
case 38:
return new CrimeBustersMapper();
case 41:
return new CaltronMapper();
case 47:
return new Mapper47();
case 48:
return new Mapper48();
case 58:
return new Mapper58();
case 60:
return new Mapper60();
case 61:
return new Mapper61();
case 62:
return new Mapper62();
case 64:
return new TengenRamboMapper();
case 65:
return new IremH3001Mapper();
case 66:
return new GnromMapper();
case 67:
return new Sunsoft03Mapper();
case 68:
return new AfterburnerMapper();
case 69:
return new FME7Mapper();
case 70:
return new Mapper70();
case 71:
return new CodemastersMapper();
case 72:
return new Mapper72();
case 73:
return new VRC3Mapper();
case 75:
return new VRC1Mapper();
case 76:
return new Mapper76();
case 78:
return new Mapper78();
case 79:
case 113:
return new NINA_003_006_Mapper(type);
case 85:
return new VRC7Mapper();
case 86:
return new Mapper86();
case 87:
return new Mapper87();
case 88:
case 154:
return new Namcot34x3Mapper(type);
case 89:
case 93:
return new Sunsoft02Mapper(type);
case 92:
return new Mapper92();
case 94:
return new Mapper94();
case 97:
return new Mapper97();
case 107:
return new Mapper107();
case 112:
return new Mapper112();
case 119:
return new Mapper119();
case 140:
return new Mapper140();
case 152:
return new Mapper152();
case 180:
return new CrazyClimberMapper();
case 182:
return new Mapper182();
case 184:
return new Sunsoft01Mapper();
case 185:
return new Mapper185();
case 200:
return new Mapper200();
case 201:
return new Mapper201();
case 203:
return new Mapper203();
case 206:
return new MIMICMapper();
case 212:
return new Mapper212();
case 213:
return new Mapper213();
case 214:
return new Mapper214();
case 225:
return new Mapper225();
case 226:
return new Mapper226();
case 228:
return new Action52Mapper();
case 229:
return new Mapper229();
case 231:
return new Mapper231();
case 240:
return new Mapper240();
case 241:
return new Mapper241();
case 242:
return new Mapper242();
case 244:
return new Mapper244();
case 246:
return new Mapper246();
case 255:
return new Mapper255();
default:
System.err.println("unsupported mapper # " + type);
throw new BadMapperException("Unsupported mapper: " + type);
}
}
public String getrominfo() {
return ("ROM INFO: \n"
+ "Filename: " + loader.name + "\n"
+ "Mapper: " + mappertype + "\n"
+ "PRG Size: " + prgsize / 1024 + " K\n"
+ "CHR Size: " + (haschrram ? 0 : chrsize / 1024) + " K\n"
+ "Mirroring: " + scrolltype.toString() + "\n"
+ "Battery Save: " + ((savesram) ? "Yes" : "No")) + "\n"
+ "CRC: " + utils.hex(this.crc);
}
public boolean hasSRAM() {
return savesram;
}
public void setLoader(final ROMLoader l) {
loader = l;
}
public CPURAM getCPURAM() {
return cpuram;
}
public void checkA12(int addr) {
//needed for mmc3 irq counter
}
public void setPRGRAM(final int[] newprgram) {
prgram = newprgram.clone();
}
public int[] getPRGRam() {
return prgram.clone();
}
public final void setmirroring(final Mapper.MirrorType type) {
switch (type) {
case H_MIRROR:
nt0 = pput0;
nt1 = pput0;
nt2 = pput1;
nt3 = pput1;
break;
case V_MIRROR:
nt0 = pput0;
nt1 = pput1;
nt2 = pput0;
nt3 = pput1;
break;
case SS_MIRROR0:
nt0 = pput0;
nt1 = pput0;
nt2 = pput0;
nt3 = pput0;
break;
case SS_MIRROR1:
nt0 = pput1;
nt1 = pput1;
nt2 = pput1;
nt3 = pput1;
break;
case FOUR_SCREEN_MIRROR:
default:
nt0 = pput0;
nt1 = pput1;
nt2 = pput2;
nt3 = pput3;
break;
}
}
public TVType getTVType() {
int prefsregion = prefs.getInt("region", 0);
switch (prefsregion) {
case 0:
default://auto detect
return region;
case 1: //ntsc
return TVType.NTSC;
case 2: //pal
return TVType.PAL;
case 3: //dendy
return TVType.DENDY;
}
}
public void init() {
} //needed for NSF initialization
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper107.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper107 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int prgselect = data >> 1;
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * data)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper112.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper112 extends Mapper {
//Chinese variant of MIMIC mapper
private int whichbank = 0;
private int[] chrreg = {0, 0, 0, 0, 0, 0, 0, 0};
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//bankswitches here
//System.err.println(utils.hex(addr) + " " + utils.hex(data));
if (addr == 0xA000) {
if (whichbank >= 2) {
chrreg[whichbank - 2] = data;
setupchr();
} else if (whichbank == 0) {
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + (data * 8))) % prgsize;
}
} else if (whichbank == 1) {
//System.err.println(data * 8);
//bank 7 always swappable, always in same place
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;
}
}
} else if (addr == 0x8000) {
//bank select
whichbank = data & 7;
} else if (addr == 0xE000) {
setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
}
private void setupchr() {
setppubank(1, 4, chrreg[2]);
setppubank(1, 5, chrreg[3]);
setppubank(1, 6, chrreg[4]);
setppubank(1, 7, chrreg[5]);
setppubank(2, 0, (chrreg[0] >> 1) << 1);
setppubank(2, 2, (chrreg[1] >> 1) << 1);
}
private void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper119.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
//TQROM mapper
//mmc3 derivative with chr ram and rom
public class Mapper119 extends MMC3Mapper {
int[] chrRam = new int[8192];
@Override
public int ppuRead(final int addr) {
if (addr < 0x2000) {
checkA12(addr);
return (chr_map[addr >> 10] > 65535)
? chrRam[(chr_map[addr >> 10] + (addr & 1023)) & 8191]
: chr[(chr_map[addr >> 10] & 65535) + (addr & 1023)];
} else {
return super.ppuRead(addr);
}
}
@Override
public void ppuWrite(final int addr, final int data) {
if (addr < 0x2000) {
checkA12(addr);
if (chr_map[addr >> 10] > 63) {
chrRam[(chr_map[addr >> 10] + (addr & 1023)) & 8191] = data;
}
} else {
super.ppuWrite(addr, data);
}
}
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//on startup:
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * i);
prg_map[i + 8] = (1024 * i);
//yes this actually matters; MMC3 does NOT start up in a random state
//(at least Smash TV and TMNT3 expect certain banks w/o even setting up mapper)
}
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
setbank6();
//cpuram.setPrgRAMEnable(false);
}
protected void setppubank(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i));
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper140.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper140 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x6000 || addr > 0x7fff) {
super.cartWrite(addr, data);
return;
}
int prgselect = (data >> 4) & 3;
int chrselect = data & 0xF;
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper15.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper15 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
// needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int prgbank = (data << 1) & 0xFE;
int prgflip = data >> 7;
setmirroring(((data & (utils.BIT6)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
switch (addr & 0xFFF) {
case 0x000:
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * (prgbank | 0 ^ prgflip))) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[8 + i] = (1024 * (i + 8 * (prgbank | 1 ^ prgflip))) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[16 + i] = (1024 * (i + 8 * (prgbank | 2 ^ prgflip))) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[24 + i] = (1024 * (i + 8 * (prgbank | 3 ^ prgflip))) & (prgsize - 1);
}
break;
case 0x001:
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * (prgbank | (0 ^ prgflip)))) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[8 + i] = (1024 * (i + 8 * (prgbank | (1 ^ prgflip)))) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[16 + i] = (1024 * (i + 8 * (0x7E | (0 ^ prgflip)))) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[24 + i] = (1024 * (i + 8 * (0x7F | (1 ^ prgflip)))) & (prgsize - 1);
}
break;
case 0x002:
prgbank |= prgflip;
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * prgbank)) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[8 + i] = (1024 * (i + 8 * prgbank)) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[16 + i] = (1024 * (i + 8 * prgbank)) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[24 + i] = (1024 * (i + 8 * prgbank)) & (prgsize - 1);
}
break;
case 0x003:
prgbank |= prgflip;
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * prgbank)) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[8 + i] = (1024 * (i + 8 * (prgbank + 1))) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[16 + i] = (1024 * (i + 8 * (prgbank + (~addr >> 1 & 1)))) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
prg_map[24 + i] = (1024 * (i + 8 * (prgbank + 1))) & (prgsize - 1);
}
break;
default:
break;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper152.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper152 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int prgselect = (byte) ((data >> 4) & 0xF);
int chrselect = (data & 0xF);
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
setmirroring(((data & (utils.BIT7)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper182.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper182 extends Mapper {
//Pirate MMC3 clone with scrambled registers
private int whichbank = 0;
private boolean prgconfig = false;
private boolean chrconfig = false;
private int irqctrreload = 0;
private int irqctr = 0;
private boolean irqenable = false;
private boolean irqreload = false;
private int bank6 = 0;
private int[] chrreg = {0, 0, 0, 0, 0, 0};
private boolean interrupted = false;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
setbank6();
//cpuram.setPrgRAMEnable(false);
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//bankswitches here
//different register for even/odd writes
if (((addr & (utils.BIT0)) != 0)) {
//odd registers
if ((addr >= 0x8000) && (addr <= 0x9fff)) {
//mirroring setup
setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
} else if ((addr >= 0xA000) && (addr <= 0xBFFF)) {
//prg ram write protect
//cpuram.setPrgRAMEnable(!utils.getbit(data, 7));
} else if ((addr >= 0xC000) && (addr <= 0xDFFF)) {
//any value here reloads irq counter _@ end of scanline_
irqreload = true;
irqctrreload = data;
} else if ((addr >= 0xE000) && (addr <= 0xFFFF)) {
//any value here enables interrupts
irqenable = true;
}
} else {
//even registers
if ((addr >= 0xA000) && (addr <= 0xBFFF)) {
//bank select
whichbank = data & 7;
prgconfig = ((data & (utils.BIT4)) != 0);
//if bit is false, 8000-9fff swappable and c000-dfff fixed to 2nd to last bank
//if bit is true, c000-dfff swappable and 8000-9fff fixed to 2nd to last bank
chrconfig = ((data & (utils.BIT5)) != 0);
//if false: 2 2k banks @ 0000-0fff, 4 1k banks in 1000-1fff
//if true: 4 1k banks @ 0000-0fff, 2 2k banks @ 1000-1fff
setupchr();
setbank6(); //OOPS FORGOT THIS I GUESS
} else if ((addr >= 0xC000) && (addr <= 0xDFFF)) {
//bank select
switch (whichbank) {
case 0:
chrreg[0] = data;
setupchr();
break;
case 1:
chrreg[3] = data;
setupchr();
break;
case 2:
chrreg[1] = data;
setupchr();
break;
case 3:
chrreg[5] = data;
setupchr();
break;
case 4:
bank6 = data;
setbank6();
break;
case 5:
//bank 5 always swappable, always in same place
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;
}
break;
case 6:
chrreg[2] = data;
setupchr();
break;
case 7:
chrreg[4] = data;
setupchr();
break;
}
} else if ((addr >= 0xE000) && (addr <= 0xFFFF)) {
//any value here disables IRQ and acknowledges
if (interrupted) {
--cpu.interrupt;
}
interrupted = false;
irqenable = false;
irqctr = irqctrreload;
}
}
}
private void setupchr() {
if (chrconfig) {
setppubank(1, 0, chrreg[2]);
setppubank(1, 1, chrreg[3]);
setppubank(1, 2, chrreg[4]);
setppubank(1, 3, chrreg[5]);
//Lowest bit of bank number IS IGNORED for the 2k banks
setppubank(2, 4, (chrreg[0] >> 1) << 1);
setppubank(2, 6, (chrreg[1] >> 1) << 1);
} else {
setppubank(1, 4, chrreg[2]);
setppubank(1, 5, chrreg[3]);
setppubank(1, 6, chrreg[4]);
setppubank(1, 7, chrreg[5]);
setppubank(2, 0, (chrreg[0] >> 1) << 1);
setppubank(2, 2, (chrreg[1] >> 1) << 1);
}
}
private void setbank6() {
if (!prgconfig) {
//map c000-dfff to last bank, 8000-9fff to selected bank
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + (bank6 * 8))) % prgsize;
prg_map[i + 16] = ((prgsize - 16384) + 1024 * i);
}
} else {
//map 8000-9fff to last bank, c000 to dfff to selected bank
for (int i = 0; i < 8; ++i) {
prg_map[i] = ((prgsize - 16384) + 1024 * i);
prg_map[i + 16] = (1024 * (i + (bank6 * 8))) % prgsize;
}
}
}
@Override
public void notifyscanline(int scanline) {
//Scanline counter
if (scanline > 239 && scanline != 261) {
//clocked on LAST line of vblank and all lines of frame. Not on 240.
return;
}
if (!ppu.mmc3CounterClocking()) {
return;
}
if (irqreload) {
irqreload = false;
irqctr = irqctrreload;
}
if (irqctr-- <= 0) {
if (irqctrreload == 0) {
return;
//irqs stop being generated if reload set to zero
}
if (irqenable && !interrupted) {
++cpu.interrupt;
interrupted = true;
}
irqctr = irqctrreload;
}
}
private void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper185.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
//CNROM with copy protection
public class Mapper185 extends Mapper {
boolean chr_enabled = true;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public int ppuRead(int addr) {
if (!chr_enabled) {
chr_enabled = true;
return 0x12;
}
if (addr < 0x2000) {
return chr[chr_map[addr >> 10] + (addr & 1023)];
} else {
return super.ppuRead(addr);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * (data & 3))) & (chrsize - 1);
//copy protection
chr_enabled = ((chr_map[i] & 0xF) > 0 && (chr_map[i] != 0x13));
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper200.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper200 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public int cartRead(final int addr) {
// by default has wram at 0x6000 and cartridge at 0x8000-0xfff
// but some mappers have different so override for those
if (addr < 0x4000) {
return prg[prg_map[((addr & 0x3fff)) >> 10] + (addr & 1023)];
} else {
return prg[prg_map[((addr & 0x3fff)) >> 10] + ((addr - 0x4000) & 1023)];
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int reg = addr & 7;
setmirroring(((data & (utils.BIT3)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * reg)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * reg)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper201.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper201 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * addr)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * addr)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper203.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper203 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public int cartRead(final int addr) {
return prg[prg_map[((addr & 0x3fff)) >> 10] + ((addr & 0x3fff) & 1023)];
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int prgselect = data >> 2;
int chrselect = data & 3;
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper212.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper212 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 16; ++i) {
prg_map[16 + i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
} else if (addr >= 0x8000 && addr <= 0xBFFF) {
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * addr)) & (prgsize - 1);
}
for (int i = 0; i < 16; ++i) {
prg_map[i + 16] = (1024 * (i + 16 * addr)) & (prgsize - 1);
}
} else if (addr >= 0xC000 && addr <= 0xFFFF) {
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * (addr >> 1))) & (prgsize - 1);
}
}
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * addr)) & (chrsize - 1);
}
setmirroring(((addr & (utils.BIT4)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper213.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper213 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * (addr >> 3))) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * (addr >> 1))) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper214.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper214 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * addr)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * (addr >> 2))) & (prgsize - 1);
}
for (int i = 0; i < 16; ++i) {
prg_map[i + 16] = (1024 * (i + 16 * (addr >> 2))) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper225.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper225 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
setmirroring(
((addr & (0xD)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
int bank = addr >> 7 & 0x1F;
if ((addr & 0x1000) != 0) {
bank = (bank << 1) | (addr >> 6 & 1);
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);
}
for (int i = 0; i < 16; ++i) {
prg_map[i + 16] = (1024 * (i + 16 * bank)) & (prgsize - 1);
}
} else {
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * bank)) & (prgsize - 1);
}
}
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * addr)) & (chrsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper226.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper226 extends Mapper {
int[] reg = {0, 0};
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xFFFF) {
super.cartWrite(addr, data);
return;
}
reg[addr & 1] = data;
int bank = ((reg[0] >> 1 & 0x0F) | (reg[0] >> 3 & 0x10) | (reg[1] << 5 & 0x20));
setmirroring(((reg[0] & (utils.BIT6)) != 0) ? MirrorType.V_MIRROR : MirrorType.H_MIRROR);
if ((reg[0] & 0x20) != 0) {
bank = (bank << 1) | (reg[0] & 1);
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);
}
for (int i = 0; i < 16; ++i) {
prg_map[i + 16] = (1024 * (i + 16 * bank)) & (prgsize - 1);
}
} else {
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * bank)) & (prgsize - 1);
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper229.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper229 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * addr)) & (chrsize - 1);
}
//remap PRG bank
int bank = (addr & 0x1E) != 0 ? (addr & 0x1F) : 0;
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);
}
bank = (addr & 0x1E) != 0 ? (addr & 0x1F) : 1;
for (int i = 0; i < 16; ++i) {
prg_map[i + 16] = (1024 * (i + 16 * bank)) & (prgsize - 1);
}
setmirroring(((addr & (utils.BIT5)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper231.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper231 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
setmirroring(((addr & (utils.BIT7)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
int prg = addr & 0x1E;
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * prg)) & (prgsize - 1);
}
for (int i = 0; i < 16; ++i) {
prg_map[i + 16] = (1024 * (i + 16 * (prg | (addr >> 5 & 1)))) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper240.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper240 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x4020 || addr > 0x5fff) {
super.cartWrite(addr, data);
return;
}
int prgselect = (data >> 4) & 0xF;
int chrselect = data & 0xF;
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper241.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper241 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * data)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper242.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper242 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xFFFF) {
super.cartWrite(addr, data);
return;
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * (addr >> 3))) & (prgsize - 1);
}
setmirroring(((addr & (utils.BIT1)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper244.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper244 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8065 || addr > 0x80E4) {
super.cartWrite(addr, data);
return;
}
if (addr < 0x80A5) {
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * ((addr - 0x8065) & 3))) & (prgsize - 1);
}
} else {
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * ((addr - 0x80A5) & 7))) & (chrsize - 1);
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper246.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper246 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 24; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 8; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x6000 || addr > 0x67ff) {
super.cartWrite(addr, data);
return;
}
switch (addr & 7) {
case 0:
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * data)) & (prgsize - 1);
}
break;
case 1:
for (int i = 0; i < 8; ++i) {
prg_map[8 + i] = (1024 * (i + 8 * data)) & (prgsize - 1);
}
break;
case 2:
for (int i = 0; i < 8; ++i) {
prg_map[16 + i] = (1024 * (i + 8 * data)) & (prgsize - 1);
}
break;
case 3:
for (int i = 0; i < 8; ++i) {
prg_map[24 + i] = (1024 * (i + 8 * data)) & (prgsize - 1);
}
break;
case 4:
for (int i = 0; i < 2; ++i) {
chr_map[i] = (1024 * (i + 2 * data)) & (chrsize - 1);
}
break;
case 5:
for (int i = 0; i < 2; ++i) {
chr_map[2 + i] = (1024 * (i + 2 * data)) & (chrsize - 1);
}
break;
case 6:
for (int i = 0; i < 2; ++i) {
chr_map[4 + i] = (1024 * (i + 2 * data)) & (chrsize - 1);
}
break;
case 7:
for (int i = 0; i < 2; ++i) {
chr_map[6 + i] = (1024 * (i + 2 * data)) & (chrsize - 1);
}
break;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper255.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper255 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
final int mode = (~addr >> 12 & 1);
final int bank = (addr >> 8 & 0x40) | (addr >> 6 & 0x3F);
setmirroring(((addr & 0x2000) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * ((addr >> 8 & 0x40) | (addr & 0x3F)))) & (chrsize - 1);
}
//remap PRG banks
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * (bank & ~mode))) & (prgsize - 1);
}
for (int i = 0; i < 16; ++i) {
prg_map[16 + i] = (1024 * (i + 16 * (bank | mode))) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper31.java
================================================
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
public class Mapper31 extends Mapper {
//mapper for NSF compilations, based on BNROM with NSF type bankswitch
//written in about 20mins so i could listen to 2a03puritans
public boolean nsfBanking;
public int[] nsfBanks = {00, 00, 00, 00, 00, 00, 00, 0xff};
@Override
public void loadrom() throws BadMapperException {
// needs to be in every mapper. Fill with initial cfg
super.loadrom();
setBanks();
}
@Override
public void cartWrite(final int addr, final int data) {
if (addr >= 0x6000 && addr < 0x8000) {
//default no-mapper operation just writes if in PRG RAM range
prgram[addr & 0x1fff] = data;
} else if ((addr >= 0x5000) && (addr < 0x6000)) {
nsfBanks[addr & 7] = data;
//System.err.println(addr - 0x5ff8 + " " + data);
setBanks();
} else {
System.err.println("write to " + utils.hex(addr) + " goes nowhere");
}
}
@Override
public int cartRead(final int addr) {
// by default has wram at 0x6000 and cartridge at 0x8000-0xfff
// but some mappers have different so override for those
if (addr >= 0x8000) {
int fuuu = prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023);
return prg[fuuu];
} else if (addr >= 0x6000 && hasprgram) {
return prgram[addr & 0x1fff];
} else if ((addr >= 0x5000)) {
return nsfBanks[addr & 7];
}
System.err.println("reading open bus " + utils.hex(addr));
return addr >> 8; //open bus
}
private void setBanks() {
for (int i = 0; i < prg_map.length; ++i) {
prg_map[i] = (4096 * nsfBanks[i / 4]) + (1024 * (i % 4));
if ((prg_map[i]) >= prg.length) {
// System.err.println("broken banks");
prg_map[i] &= ((this.prgsize) - 1);
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper33.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper33 extends Mapper {
int prgbank0, prgbank1 = 0;
int[] chrbank = {0, 0, 0, 0, 0, 0};
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xBFFF) {
super.cartWrite(addr, data);
} else if (addr <= 0x9FFF) {
switch (addr & 3) {
case 0:
prgbank0 = data;
setmirroring(((data & (utils.BIT6)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
setbanks();
break;
case 1:
prgbank1 = data;
setbanks();
break;
case 2:
chrbank[0] = data;
setbanks();
break;
case 3:
chrbank[1] = data;
setbanks();
break;
}
} else if (addr <= 0xBFFF) {
switch (addr & 3) {
case 0:
chrbank[2] = data;
setbanks();
break;
case 1:
chrbank[3] = data;
setbanks();
break;
case 2:
chrbank[4] = data;
setbanks();
break;
case 3:
chrbank[5] = data;
setbanks();
break;
}
}
}
private void setbanks() {
//map prg banks
//last two banks fixed to the last two banks in ROM
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
//first bank set to prg0 register
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * prgbank0)) & (prgsize - 1);
}
//second bank set to prg1 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) & (prgsize - 1);
}
//map chr banks
setppubank(1, 4, chrbank[2]);
setppubank(1, 5, chrbank[3]);
setppubank(1, 6, chrbank[4]);
setppubank(1, 7, chrbank[5]);
setppubank(2, 0, chrbank[0]);
setppubank(2, 2, chrbank[1]);
}
private void setppubank(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * (i + (banksize * banknum))) & (chrsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper36.java
================================================
package com.grapeshot.halfnes.mappers;
public class Mapper36 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 1; i <= 8; ++i) {
chr_map[8 - i] = chrsize - (1024 * i);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8400 || addr > 0xfffe) {
super.cartWrite(addr, data);
return;
}
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * data)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * (data >> 4))) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper47.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
/**
*
* @author Andrew
*/
public class Mapper47 extends MMC3Mapper {
//official Nintendo multicart mapper, mmc3 variant
//used for super spike vball, nintendo world cup
private int multibank = 1;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
setbank6();
}
@Override
public void cartWrite(int addr, int data) {
if (addr < 0x6000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//multicart bankswitches here
if ((addr >= 0x6000) && (addr <= 0x7fff)) {
multibank = data & 1;
//setup all banks
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = ((1024 * (i + (data * 8))) % 131072) + multibank * 131072;
}
setbank6();
setupchr();
for (int i = 1; i <= 8; ++i) {
prg_map[32 - i] = 131072 - (1024 * i) + multibank * 131072;
}
}
//different register for even/odd writes
if (((addr & (utils.BIT0)) != 0)) {
//odd registers
if ((addr >= 0x8000) && (addr <= 0x9fff)) {
//bank change
//System.err.println("setting " + whichbank + " " + data + " " + prgconfig);
if (whichbank <= 5) {
chrreg[whichbank] = data;
setupchr();
} else if (whichbank == 6) {
bank6 = data;
setbank6();
} else if (whichbank == 7) {
//bank 7 always swappable, always in same place
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = ((1024 * (i + (data * 8))) % 131072) + multibank * 131072;
}
}
} else if ((addr >= 0xA000) && (addr <= 0xbfff)) {
//prg ram write protect
//cpuram.setPrgRAMEnable(!utils.getbit(data, 7));
} else if ((addr >= 0xc000) && (addr <= 0xdfff)) {
//any value here reloads irq counter
irqreload = true;
} else if ((addr >= 0xe000) && (addr <= 0xffff)) {
//iany value here enables interrupts
irqenable = true;
}
} else {
//even registers
if ((addr >= 0x8000) && (addr <= 0x9fff)) {
//bank select
whichbank = data & 7;
prgconfig = ((data & (utils.BIT6)) != 0);
//if bit is false, 8000-9fff swappable and c000-dfff fixed to 2nd to last bank
//if bit is true, c000-dfff swappable and 8000-9fff fixed to 2nd to last bank
chrconfig = ((data & (utils.BIT7)) != 0);
//if false: 2 2k banks @ 0000-0fff, 4 1k banks in 1000-1fff
//if true: 4 1k banks @ 0000-0fff, 2 2k banks @ 1000-1fff
setupchr();
setbank6(); //OOPS FORGOT THIS I GUESS
} else if ((addr >= 0xA000) && (addr <= 0xbfff)) {
//mirroring setup
if (scrolltype != MirrorType.FOUR_SCREEN_MIRROR) {
setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
} else if ((addr >= 0xc000) && (addr <= 0xdfff)) {
//value written here used to reload irq counter _@ end of scanline_
irqctrreload = data;
} else if ((addr >= 0xe000) && (addr <= 0xffff)) {
//any value here disables IRQ and acknowledges
if (interrupted) {
--cpu.interrupt;
}
interrupted = false;
irqenable = false;
}
}
}
protected void setbank6() {
if (!prgconfig) {
//map c000-dfff to last bank, 8000-9fff to selected bank
for (int i = 0; i < 8; ++i) {
prg_map[i] = ((1024 * (i + (bank6 * 8))) % 131072) + multibank * 131072;
prg_map[i + 16] = ((131072 - 16384) + 1024 * (i + multibank * 128));
}
} else {
//map 8000-9fff to last bank, c000 to dfff to selected bank
for (int i = 0; i < 8; ++i) {
prg_map[i] = ((131072 - 16384) + 1024 * (i + multibank * 128));
prg_map[i + 16] = ((1024 * (i + (bank6 * 8))) % 131072) + multibank * 131072;
}
}
}
protected void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = ((1024 * ((banknum) + i)) % (chrsize / 2)) + multibank * 131072;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper48.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper48 extends Mapper {
int prgbank0, prgbank1 = 0;
int[] chrbank = {0, 0, 0, 0, 0, 0};
private int irqctrreload = 0;
private int irqctr = 0;
private boolean irqenable = false;
private boolean irqreload = false;
private boolean interrupted = false;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xFFFF) {
super.cartWrite(addr, data);
return;
} else if (addr <= 0x9FFF) {
switch (addr & 3) {
case 0:
prgbank0 = data;
setbanks();
break;
case 1:
prgbank1 = data;
setbanks();
break;
case 2:
chrbank[0] = data;
setbanks();
break;
case 3:
chrbank[1] = data;
setbanks();
break;
}
} else if (addr <= 0xBFFF) {
switch (addr & 3) {
case 0:
chrbank[2] = data;
setbanks();
break;
case 1:
chrbank[3] = data;
setbanks();
break;
case 2:
chrbank[4] = data;
setbanks();
break;
case 3:
chrbank[5] = data;
setbanks();
break;
}
} else if (addr <= 0xDFFF) {
switch (addr & 3) {
case 0:
//value written here used to reload irq counter _@ end of scanline_
irqctrreload = data & 0xFF;
irqreload = true;
break;
case 1:
//any value here reloads irq counter
irqctr = data;
irqreload = true;
break;
case 2:
//any value here enables interrupts
irqenable = true;
break;
case 3:
//any value here disables IRQ and acknowledges
if (interrupted) {
--cpu.interrupt;
}
interrupted = false;
irqenable = false;
irqctr = irqctrreload;
break;
}
} else if (addr <= 0xFFFF) {
switch (addr & 3) {
case 0:
setmirroring(((data & (utils.BIT6)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
break;
}
}
}
private void setbanks() {
//map prg banks
//last two banks fixed to the last two banks in ROM
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
//first bank set to prg0 register
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * prgbank0)) & (prgsize - 1);
}
//second bank set to prg1 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) & (prgsize - 1);
}
//map chr banks
setppubank(1, 4, chrbank[2]);
setppubank(1, 5, chrbank[3]);
setppubank(1, 6, chrbank[4]);
setppubank(1, 7, chrbank[5]);
setppubank(2, 0, chrbank[0]);
setppubank(2, 2, chrbank[1]);
}
private void setppubank(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * (i + (banksize * banknum))) & (chrsize - 1);
}
}
@Override
public void notifyscanline(int scanline) {
//Scanline counter
if (scanline > 239 && scanline != 261) {
//clocked on LAST line of vblank and all lines of frame. Not on 240.
return;
}
if (!ppu.mmc3CounterClocking()) {
return;
}
if (irqreload) {
irqreload = false;
irqctr = irqctrreload;
}
if (irqctr-- <= 0) {
if (irqctrreload == 0) {
return;
//irqs stop being generated if reload set to zero
}
if (irqenable && !interrupted) {
++cpu.interrupt;
interrupted = true;
}
irqctr = irqctrreload;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper58.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper58 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void reset() {
cartWrite(0x8000, cartRead(0x8000));
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
setmirroring(((addr & (utils.BIT7)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * (addr >> 3))) & (chrsize - 1);
}
int prgselect = addr & ~(~addr >> 6 & 1);
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
prgselect = addr | (~addr >> 6 & 1);
for (int i = 0; i < 16; ++i) {
prg_map[16 + i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper60.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper60 extends Mapper {
int reg = 0;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 16; ++i) {
prg_map[i + 16] = (1024 * i) & (prgsize - 1);
}
}
@Override
public void reset() {
reg = (reg + 1) & 3;
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * reg)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * reg)) & (prgsize - 1);
}
for (int i = 0; i < 16; ++i) {
prg_map[i + 16] = (1024 * (i + 16 * reg)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper61.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper61 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public void reset() {
cartWrite(0x8000, cartRead(0x8000));
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
switch (addr & 0x30) {
case 0x00:
case 0x30:
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * (addr & 0xF))) & (prgsize - 1);
}
break;
case 0x10:
case 0x20:
int prgselect = (addr << 1 & 0x1E) | (addr >> 4 & 2);
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);
}
for (int i = 0; i < 16; ++i) {
prg_map[i + 16] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);
}
}
setmirroring(((addr & (utils.BIT7)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper62.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper62 extends Mapper {
boolean prg_mode;
int prgselect, chrselect;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
prg_mode =
((addr & (utils.BIT5)) != 0);
prgselect = (addr & 0x40) | ((addr >> 8) & 0x3F);
chrselect = (addr << 2) | (data & 3);
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
if (prg_mode) {
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
for (int i = 0; i < 16; ++i) {
prg_map[16 + i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
} else {
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * (prgselect >> 1))) & (prgsize - 1);
}
}
setmirroring(
((addr & (utils.BIT7)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper70.java
================================================
package com.grapeshot.halfnes.mappers;
public class Mapper70 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int prgselect = (byte) ((data >> 4) & 0xF);
int chrselect = (data & 0xF);
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper72.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper72 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
if ((data & 0x40) != 0) {
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * (data & 0xF))) & (chrsize - 1);
}
}
if ((data & 0x80) != 0) {
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * (data & 0xF))) & (prgsize - 1);
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper76.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
/**
*
* @author Andrew
*/
public class Mapper76 extends Mapper {
//a stripped down mmc3 clone for namco/tengen games.
//almost everything using this is marked as mapper 4 and works fine like that
private int whichbank = 0;
private int[] chrreg = {0, 0, 0, 0, 0, 0};
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//bankswitches here
if (addr == 0x8001) {
if (whichbank <= 5) {
chrreg[whichbank] = data;
setupchr();
} else if (whichbank == 6) {
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + (data * 8))) % prgsize;
}
} else if (whichbank == 7) {
//bank 7 always swappable, always in same place
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;
}
}
} else if (addr == 0x8000) {
//bank select
whichbank = data & 7;
}
}
private void setupchr() {
setppubank(2, 0, (chrreg[2]) << 1);
setppubank(2, 2, (chrreg[3]) << 1);
setppubank(2, 4, (chrreg[4]) << 1);
setppubank(2, 6, (chrreg[5]) << 1);
}
private void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) & (chrsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper78.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
/**
*
* @author Andrew
*/
public class Mapper78 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 1; i <= 8; ++i) {
chr_map[8 - i] = chrsize - (1024 * i);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
//System.out.println(data);
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int prgselect = data & 7;
int chrselect = (data >> 4) & 0xf;
if (crc == 0x42392440) //Cosmo Carrier
{
setmirroring(((data & (utils.BIT3)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0);
} else {
setmirroring(((data & (utils.BIT3)) != 0) ? MirrorType.V_MIRROR : MirrorType.H_MIRROR);
}
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper86.java
================================================
package com.grapeshot.halfnes.mappers;
public class Mapper86 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr >= 0x6000 && addr <= 0x6FFF) {
int prgselect = (data >> 4) & 3;
int chrselect = (data & 3) | ((data & 0x40) >> 4);
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);
}
} else if (addr >= 0x7000 && addr <= 0x7FFF) {
if ((data & 0x30) != 0x20) {
return;
}
//TODO: add sound control by using external sound files
switch (data & 0x1F) {
case 0:
System.out.println("\"Strike!\"");
break;
case 1:
System.out.println("\"Ball!\"");
break;
case 2:
System.out.println("\"Time!\"");
break;
case 3:
System.out.println("\"Out!\"");
break;
case 4:
System.out.println("\"Safe!\"");
break;
case 5:
System.out.println("\"Foul!\"");
break;
case 6:
System.out.println("\"Fair!\"");
break;
case 7:
System.out.println("\"You're out!\"");
break;
case 8:
System.out.println("\"Play ball!\"");
break;
case 9:
System.out.println("\"Ball 4!\"");
break;
case 10:
System.out.println("\"Home run!\"");
break;
case 11:
System.out.println("\"New pitcher\"");
break;
case 12:
System.out.println("\"Ouch!\"");
break;
case 13:
System.out.println("\"Dummy!\"");
break;
case 14:
System.out.println("*crack*");
break;
case 15:
System.out.println("*cheer*");
break;
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper87.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
public class Mapper87 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr >= 0x6000 && addr < 0x8000) {
//remap CHR bank
int bit0 = (data >> 1) & 1;
int bit1 = data & 1;
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * ((bit1 << 1) + bit0))) & (chrsize - 1);
}
} else {
super.cartWrite(addr, data);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper92.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper92 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 16; ++i) {
prg_map[16 + i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
if ((data & 0x40) != 0) {
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * (data & 0xF))) & (chrsize - 1);
}
}
if ((data & 0x80) != 0) {
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[16 + i] = (1024 * (i + 16 * (data & 0xF))) & (prgsize - 1);
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper94.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
public class Mapper94 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int prgselect = (byte) ((data >> 2) & 7);
//remap PRG bank (1st bank switchable, 2nd bank mapped to LAST bank)
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Mapper97.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Mapper97 extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[16 - i] = prgsize - (1024 * i);
}
//swappable bank
for (int i = 0; i < 16; ++i) {
prg_map[16 + i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
int prgselect = (byte) (data & 0xF);
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[16 + i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
int mirroring = data >> 6;
switch (mirroring) {
case 0:
setmirroring(MirrorType.SS_MIRROR0);
break;
case 1:
setmirroring(MirrorType.H_MIRROR);
break;
case 2:
setmirroring(MirrorType.V_MIRROR);
break;
case 3:
setmirroring(MirrorType.SS_MIRROR1);
break;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/NINA_001_Mapper.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class NINA_001_Mapper extends Mapper {
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x7ffd || addr > 0x7fff) {
super.cartWrite(addr, data);
return;
}
switch (addr) {
case 0x7FFD:
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * data)) & (prgsize - 1);
}
break;
case 0x7FFE:
for (int i = 0; i < 4; ++i) {
chr_map[i] = (1024 * (i + 4 * data)) & (chrsize - 1);
}
break;
case 0x7FFF:
for (int i = 0; i < 4; ++i) {
chr_map[4 + i] = (1024 * (i + 4 * data)) & (chrsize - 1);
}
break;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/NINA_003_006_Mapper.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class NINA_003_006_Mapper extends Mapper {
boolean m113 = true;
public NINA_003_006_Mapper(int mappernum) {
super();
switch (mappernum) {
//mappers 79 and 113 differ mainly on whether they can control mirroring or not
case 79:
m113 = false;
break;
case 113:
m113 = true;
break;
}
}
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void reset() {
for (int i = 0x4100; i < 0x6000; i += 0x200) {
cartWrite(i, i + 0xFF);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x4100 || addr > 0x5fff) {
super.cartWrite(addr, data);
return;
}
if (m113) {
setmirroring(((data & (utils.BIT7)) != 0) ? MirrorType.V_MIRROR : MirrorType.H_MIRROR);
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * ((data >> 3 & 8) | (data & 7)))) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * (data >> 3 & 7))) & (prgsize - 1);
}
} else {
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * data)) & (chrsize - 1);
}
//remap PRG bank
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * (i + 32 * (data >> 3))) & (prgsize - 1);
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/NSFMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
import com.grapeshot.halfnes.audio.*;
import java.util.Arrays;
/**
*
* @author Andrew
*/
public class NSFMapper extends Mapper {
//a nsf playing mapper
//TODO: add the extra bankswitches required when playing FDS
private int load, init, play, song, numSongs;
public boolean nsfBanking;
public int[] nsfStartBanks = new int[10], nsfBanks = new int[10];
private int sndchip;
boolean vrc6 = false, vrc7 = false, mmc5 = false,
n163 = false, s5b = false, hasInitSound = false, fds = false;
private boolean n163autoincrement = false;
private int n163soundAddr = 0;
private int mmc5multiplier1, mmc5multiplier2;
private int vrc7regaddr = 0;
private int s5bSoundCommand = 0;
private Namco163SoundChip n163Audio;
private VRC6SoundChip vrc6Audio;
private VRC7SoundChip vrc7Audio;
private Sunsoft5BSoundChip s5bAudio;
private MMC5SoundChip mmc5Audio;
private static final String trackstr = "Track --- / --- <-B A->";
private FDSSoundChip fdsAudio;
@Override
public void loadrom() throws BadMapperException {
loader.parseHeader();
prgsize = loader.prgsize;
mappertype = loader.mappertype;
prgoff = loader.prgoff;
for (int i = 0x70; i < 0x78; ++i) {
if (loader.header[i] != 0) {
nsfBanking = true;
nsfStartBanks[i - 0x70] = loader.header[i];
}
}
prgoff = 0;
load = loader.header[0x08] + (loader.header[0x09] << 8);
init = loader.header[0x0a] + (loader.header[0x0b] << 8);
play = loader.header[0x0c] + (loader.header[0x0d] << 8);
numSongs = loader.header[6] - 1;
song = loader.header[7] - 1;
if (loader.header[0x7a] == 1) {
//pal only tune
this.region = TVType.PAL;
//System.err.println("pal only tune");
} else {
this.region = TVType.NTSC;
}
chroff = 0;
chrsize = 0;
scrolltype = MirrorType.V_MIRROR;
sndchip = loader.header[0x7B];
if (!nsfBanking && load < 0x8000) {
//no banking
//System.err.println("What do I do with this???");
throw new BadMapperException("NSF with no banking loading low");
}
// pad to 4k bank size and copy in starting
//from where the load addr is in a 4k bank
//to the end of the file, padding the end to a 4k bank as well
//so total number of banks can be 2 more than # of 4k
//chunks in the file.
int paddingLen = (nsfBanking) ? load & 0x0fff : load - 0x8000;
prg = new int[1024 * 1024];
System.arraycopy(loader.load(loader.romlen(), prgoff), 0, prg, paddingLen, loader.romlen());
crc = crc32(prg);
haschrram = true;
chrsize = 8192;
chr = new int[8192];
prg_map = new int[(((sndchip & (utils.BIT2)) != 0)) ? 40 : 32];
if (!nsfBanking) {
//identity mapping from 1st loaded bank
for (int i = 0; i < 8; ++i) {
nsfStartBanks[i] = i;
}
}
//additional headache for NSFs with FDS:
if (((sndchip & (utils.BIT2)) != 0)) {
//got to copy some stuff into 6000 - 7fff just because
nsfStartBanks[8] = nsfStartBanks[6];
nsfStartBanks[9] = nsfStartBanks[7];
}
chr_map = new int[8];
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
cpuram = new CPURAM(this);
cpu = new CPU(cpuram);
ppu = new PPU(this);
Arrays.fill(pput0, 0x00);
setmirroring(scrolltype);
//System.out.println(sndchip);
//set up the PPU to display titles
//pick a random color based on the tune's crc (why not?)
ppu.pal[0] = 0x3f;
ppu.pal[1] = 0x20 + (int) (crc % 12);
ppu.pal[2] = 0x20 + (int) (crc % 12);
ppu.pal[3] = 0x20 + (int) (crc % 12);
chr = NSFPlayerFont.font;
}
@Override
public void init() {
//now that we've set up the initial CPU state, do it all over again
//in order to match the NSF spec.
//set banks back to the way they were originally
nsfBanks = nsfStartBanks.clone();
setBanks();
//clear all ram to 0
for (int i = 0; i <= 0x7ff; ++i) {
cpuram.write(i, 0);
}
//initialize sound registers
for (int i = 0x4000; i <= 0x4013; ++i) {
cpuram.write(i, 0);
}
cpuram.write(0x4015, 0x0f);
//disable frame counter on APU
cpuram.write(0x4017, 0x40);
//simulate a jump to the play address
cpu.push(0xff);
cpu.push(0xfa);
cpu.setPC(init);
cpu.interrupt = -99999; //no interrupts for you
cpu.setRegA(song);
if (this.region == TVType.PAL) {
cpu.setRegX(0x01);
} else {
cpu.setRegX(0x00);
}
//copy titles to ppu nametable
for (int i = 0; i < 32 * 24; ++i) {
//random pattern from basic one liner
pput0[i] = (Math.random() > 0.5) ? 0x2f : 0x5c;
}
for (int i = 0; i < 96; ++i) {
pput0[i + (32 * 25)] = loader.header[i + 0xe];
}
for (int i = 0; i < trackstr.length(); ++i) {
pput0[i + (32 * 28)] = trackstr.charAt(i);
}
if (!hasInitSound) {
setSoundChip();
hasInitSound = true;
}
if (!fds) { //DON'T CLEAR THIS WHEN STUFF LOADS HERE
for (int i = 0x6000; i <= 0x7fff; ++i) {
cpuram.write(i, 0);
}
}
}
@Override
public void reset() {
song = loader.header[7] - 1;
init();
cpu.setPC(init);
}
//write into the cartridge's address space
@Override
public void cartWrite(final int addr, final int data) {
if (n163 && addr == 0xF800) {
n163autoincrement = ((data & (utils.BIT7)) != 0);
n163soundAddr = data & 0x7f;
} else if (n163 && addr == 0x4800) {
n163Audio.write(n163soundAddr, data);
if (n163autoincrement) {
n163soundAddr = ++n163soundAddr & 0x7f;
}
} else if (s5b && addr == 0xE000) {
s5bAudio.write(s5bSoundCommand, data);
} else if (s5b && addr == 0xC000) {
s5bSoundCommand = data & 0xF;
} else if (vrc6 && addr >= 0xB000 && addr <= 0xB002) {
vrc6Audio.write((addr & 0xf000) + (addr & 3), data);
} else if (vrc6 && addr >= 0xA000 && addr <= 0xA002) {
vrc6Audio.write((addr & 0xf000) + (addr & 3), data);
} else if (vrc7 && addr == 0x9030) {
vrc7Audio.write(vrc7regaddr, data);
} else if (vrc7 && addr == 0x9010) {
vrc7regaddr = data;
} else if (vrc6 && addr >= 0x9000 && addr <= 0x9002) {
vrc6Audio.write((addr & 0xf000) + (addr & 3), data);
} else if (fds && nsfBanking && addr >= 0x6000) {
if (addr < 0x8000) {
int fuuu = prg_map[((addr - 0x6000) >> 10) + 32] + (addr & 1023);
prg[fuuu] = data;
} else {
int fuuu = prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023);
prg[fuuu] = data;
}
} else if (fds && !nsfBanking && addr >= 0x6000) {
if (addr < 0x8000) {
prgram[addr - 0x6000] = data;
} else {
int fuuu = prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023);
prg[fuuu] = data;
}
} else if (addr >= 0x6000 && addr < 0x8000) {
//default no-mapper operation just writes if in PRG RAM range
prgram[addr & 0x1fff] = data;
} else if ((addr >= 0x5ff8) && (addr < 0x6000)) {
nsfBanks[addr - 0x5ff8] = data;
//System.err.println(addr - 0x5ff8 + " " + data);
setBanks();
} else if (fds && nsfBanking && (addr == 0x5ff6)) {
//System.err.println("fds request bank " + data + " in ram0");
nsfBanks[8] = data;
setBanks();
} else if (fds && nsfBanking && (addr >= 0x5ff7)) {
//System.err.println("fds request bank " + data + " in ram1");
nsfBanks[9] = data;
setBanks();
} else if (mmc5 && (addr >= 0x5C00) && (addr <= 0x5FF5)) {
prgram[addr - 0x5C00] = data; //RAM emulates ExRAM here
} else if (mmc5 && (addr == 0x5206)) {
mmc5multiplier2 = data;
} else if (mmc5 && (addr == 0x5205)) {
mmc5multiplier1 = data;
} else if (mmc5 && (addr >= 0x5000) && (addr <= 0x5015)) {
mmc5Audio.write(addr - 0x5000, data);
} else if (fds && (addr >= 0x4040) && (addr <= 0x4092)) {
fdsAudio.write(addr, data);
} else {
//System.err.println("write to " + utils.hex(addr) + " goes nowhere");
}
}
@Override
public int cartRead(final int addr) {
// by default has wram at 0x6000 and cartridge at 0x8000-0xfff
// but some mappers have different so override for those
if (addr >= 0x8000) {
if (addr > 0xfffa) {
//reads of last part of RAM should always
//give the reset vectors here, no matter what
//NSF bank is mapped there.
switch (addr) {
case 0xfffb:
return 0x4c;
case 0xfffc:
return 0xfb;
case 0xfffd:
return 0xff;
default:
return 0x00;
}
}
int fuuu = prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023);
return prg[fuuu];
} else if (addr >= 0x6000 && hasprgram) {
if (fds && nsfBanking) {
int fuuu = prg_map[((addr - 0x6000) >> 10) + 32] + (addr & 1023);
return prg[fuuu];
} else {
return prgram[addr & 0x1fff];
}
} else if ((addr >= 0x5ff8)) {
return nsfBanks[addr - 0x5ff8];
} else if (fds && nsfBanking && (addr == 0x5ff6)) {
return nsfBanks[8];
} else if (fds && nsfBanking && (addr == 0x5ff7)) {
return nsfBanks[9];
} else if (mmc5 && addr >= 0x5C00) {
return prgram[addr - 0x5C00]; //RAM emulates ExRAM here
} else if (mmc5 && addr == 0x5206) {
return ((mmc5multiplier1 * mmc5multiplier2) >> 8) & 0xff;
} else if (mmc5 && addr == 0x5205) {
return (mmc5multiplier1 * mmc5multiplier2) & 0xff;
} else if (mmc5 && addr == 0x5015) {
return mmc5Audio.status();
} else if (n163 && addr == 0x4800) {
//System.err.println("readback");
int retval = n163Audio.read(n163soundAddr);
if (n163autoincrement) {
n163soundAddr = ++n163soundAddr & 0x7f;
}
return retval;
} else if (fds && (addr >= 0x4040) && (addr < 0x4093)) {
return fdsAudio.read(addr);
}
//System.err.println("reading open bus " + utils.hex(addr));
return addr >> 8; //open bus
}
@Override
public void ppuWrite(int addr, final int data) {
}
int control, prevcontrol;
int unfinishedcounter = 0;
int time = 4;
@Override
public void notifyscanline(final int scanline) {
if (scanline == 240) {
//make sure init isn't still running
if (cpu.PC != 0xFFFB) {
//if not in idle loop
if (unfinishedcounter < time) {
++unfinishedcounter;
/*System.err.println("Init routine hasn't returned in "
+ unfinishedcounter + " frames");
*/
return;
} else if (unfinishedcounter == time) {
++unfinishedcounter;
//System.err.println("giving up");
}
//if we've given it a few frames
//and it still hasn't returned from init, then it probably
//isn't going to (supernsf)
//so we move blithely forward.
} else {
unfinishedcounter = 0;
}
//set PPU registers to enable rendering
ppu.write(6, 0);
ppu.write(6, 0);
ppu.write(5, 0);
ppu.write(0, 0);
ppu.write(1, utils.BIT1 | utils.BIT3 | utils.BIT4);
//write track number to screen
writeTracks();
//todo: visualization effects
//read the controller
prevcontrol = control;
control = 0;
//strobe
cpuram.write(0x4016, 1);
cpuram.write(0x4016, 0);
//read each button out
for (int i = 0; i < 8; ++i) {
control = (control << 1) + (((cpuram.read(0x4016) & 3) != 0) ? 1 : 0);
}
//change song number if we get a button press
if (((control & 0x80) != 0) && ((prevcontrol & 0x80) == 0)) {
++song;
if (song > numSongs) {
song = 0;
}
//System.err.println("next song");
init();
} else if (((control & 0x40) != 0) && ((prevcontrol & 0x40) == 0)) {
--song;
if (song < 0) {
song = numSongs;
}
//System.err.println("previous song");
init();
} else //fake a jsr to the play address from wherever
//unless this is a supernsf
if (unfinishedcounter <= time) {
cpu.push((cpu.PC - 1) >> 8);
cpu.push((cpu.PC - 1) & 0xff);
cpu.setPC(play);
}
}
}
@Override
public String getrominfo() {
return "NSF INFO: \n"
+ "Filename: " + loader.name + "\n"
+ "Size: " + loader.romlen() / 1024 + " K\n"
+ "Expansion Sound: " + expSound() + "\n"
+ "Track: " + (song + 1) + " / " + (numSongs + 1) + "\n"
+ "Load Address: " + utils.hex(load) + "\n"
+ "Init Address: " + utils.hex(init) + "\n"
+ "Play Address: " + utils.hex(play) + "\n"
+ "Banking? " + (nsfBanking ? "Yes" : "No") + "\n"
+ "CRC: " + utils.hex(this.crc);
}
private String expSound() {
String chips = "";
if (vrc6) {
chips += "VRC6 ";
}
if (vrc7) {
chips += "VRC7 ";
}
if (n163) {
chips += "Namco 163 ";
}
if (mmc5) {
chips += "MMC5 ";
}
if (s5b) {
chips += "Sunsoft 5B ";
}
if (fds) {
chips += "FDS ";
}
return ((chips.length() > 0) ? chips : "None");
}
private void setBanks() {
for (int i = 0; i < prg_map.length; ++i) {
prg_map[i] = (4096 * nsfBanks[i / 4]) + (1024 * (i % 4));
if ((prg_map[i]) >= prg.length) {
//System.err.println("broken banks");
prg_map[i] %= prg.length; //probably a bad idea in general though
//but who knows what a NSF wants when it tries
//to switch a bank not in the file?
//there's no "alias it to a power of 2" for nsfs since the file
//size doesn't need to be a power of 2 and you can start loading
//the file halfway into a bank.
}
}
//utils.printarray(prg_map);
//utils.printarray(nsfStartBanks);
}
private void setSoundChip() {
if (((sndchip & (utils.BIT0)) != 0)) {
//VRC6 audio
vrc6 = true;
vrc6Audio = new VRC6SoundChip();
cpuram.apu.addExpnSound(vrc6Audio);
}
if (((sndchip & (utils.BIT1)) != 0)) {
//VRC7 audio
vrc7 = true;
vrc7Audio = new VRC7SoundChip();
cpuram.apu.addExpnSound(vrc7Audio);
}
if (((sndchip & (utils.BIT2)) != 0)) {
//FDS audio, not yet implemented
fds = true;
fdsAudio = new FDSSoundChip();
cpuram.apu.addExpnSound(fdsAudio);
}
if (((sndchip & (utils.BIT3)) != 0)) {
//MMC5 audio
mmc5 = true;
mmc5Audio = new MMC5SoundChip();
cpuram.apu.addExpnSound(mmc5Audio);
}
if (((sndchip & (utils.BIT4)) != 0)) {
//Namco 163 audio
n163 = true;
n163Audio = new Namco163SoundChip();
cpuram.apu.addExpnSound(n163Audio);
}
if (((sndchip & (utils.BIT5)) != 0)) {
//Sunsoft 5B audio
s5b = true;
s5bAudio = new Sunsoft5BSoundChip();
cpuram.apu.addExpnSound(s5bAudio);
}
}
private void writeTracks() {
String cur = String.format("%3d / %-3d", song + 1, numSongs + 1);
for (int i = 0; i < cur.length(); ++i) {
pput0[i + (32 * 28) + 6] = cur.charAt(i);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/NSFPlayerFont.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
/**
*
* @author Andrew
*/
public class NSFPlayerFont {
private NSFPlayerFont() {}
//file auto-generated from Dwedit's ascii.chr by bin2h.exe
public final static int[] font = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C,
0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x30, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x30,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6,
0xCC, 0x18, 0x30, 0x66, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x18,
0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0xFC, 0x30,
0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x4C,
0xC6, 0xC6, 0xC6, 0x64, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x38, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x0E,
0x3C, 0x78, 0xE0, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7E, 0x0C, 0x18, 0x3C, 0x06, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x3C, 0x6C, 0xCC,
0xFE, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFC, 0xC0, 0xFC, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x60, 0xC0, 0xFC, 0xC6,
0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFE, 0xC6, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x7C, 0xC6, 0xC6,
0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
0x30, 0x00, 0x00, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCC, 0x0C, 0x18,
0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE,
0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFC, 0xC6, 0xC6, 0xFC, 0xC6, 0xC6, 0xFC, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66,
0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8,
0xCC, 0xC6, 0xC6, 0xC6, 0xCC, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xFC, 0xC0, 0xC0, 0xFE,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC0,
0xC0, 0xFC, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3E, 0x60, 0xC0, 0xCE, 0xC6, 0x66, 0x3E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6,
0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x06, 0x06, 0x06,
0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC6, 0xCC, 0xD8, 0xF0, 0xF8, 0xDC, 0xCE, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60,
0x60, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE,
0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFC, 0xC6, 0xC6, 0xC6, 0xFC, 0xC0, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6,
0xC6, 0xC6, 0xDE, 0xCC, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFC, 0xC6, 0xC6, 0xCE, 0xF8, 0xDC, 0xCE, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCC, 0xC0,
0x7C, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC6, 0xC6, 0xC6, 0xEE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xD6, 0xFE, 0xFE,
0xEE, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC6, 0xEE, 0x7C, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18,
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
0x0E, 0x1C, 0x38, 0x70, 0xE0, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x60,
0x30, 0x18, 0x0C, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6C,
0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x18, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3B, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x7C, 0x66, 0x66,
0x66, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3E, 0x60, 0x60, 0x60, 0x3E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x3E, 0x66, 0x66, 0x66,
0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3C, 0x66, 0x7E, 0x60, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0E, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3E, 0x66, 0x66, 0x3E, 0x06, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00,
0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x66, 0x3C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x62, 0x64,
0x68, 0x7C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x6B, 0x6B,
0x6B, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66,
0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06,
0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x6E, 0x70, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x40, 0x3C, 0x06, 0x7C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0xFC,
0x30, 0x30, 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66,
0x66, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x63, 0x6B, 0x6B, 0x6B, 0x36, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x36, 0x1C,
0x36, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x66, 0x66, 0x2C, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x0C, 0x18, 0x30,
0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C,
0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x30,
0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38,
0x6C, 0xC6, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,};
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/NamcoMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.audio.*;
import com.grapeshot.halfnes.utils;
import java.util.Arrays;
/**
*
* @author Andrew
*/
public class NamcoMapper extends Mapper {
private int soundAddr = 0;
private boolean autoincrement = false, irqenable = false,
interrupted = false, chrramenable0 = false, chrramenable1 = false;
Namco163SoundChip sound = new Namco163SoundChip();
private boolean hasInitSound = false;
private int irqcounter = 0x3fff;
private int[] chrbanks = new int[8], chr_ram = new int[16384];
@Override
public void loadrom() throws BadMapperException {
super.loadrom();
// needs to be in every mapper. Fill with initial cfg
for (int i = 1; i <= 32; ++i) {
//map last banks in to start off
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public int cartRead(final int addr) {
if (addr >= 0x4800 && addr < 0x5000) {
//read sound ram
if (!hasInitSound) {
cpuram.apu.addExpnSound((ExpansionSoundChip) sound);
hasInitSound = true;
}
int retval = sound.read(soundAddr);
if (autoincrement) {
soundAddr = ++soundAddr & 0x7f;
}
return retval;
} else if (addr < 0x5800) {
irqack();
return irqcounter & 0xff;
} else if (addr < 0x6000) {
//read high bits of irq ctr and enable bit and ack irqs
irqack();
return ((irqcounter >> 8) & 0x7f) | (irqenable ? 0x80 : 0);
} else if (addr >= 0x8000) {
return prg[prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023)];
} else if (addr >= 0x6000 && hasprgram) {
return prgram[addr & 0x1fff];
}
return addr >> 8; //open bus
}
public final void cartWrite(final int addr, final int data) {
if (addr < 0x4800 || ((addr >= 0x6000) && (addr < 0x8000)) || addr > 0xffff) {
//need to add WRAM protection here
super.cartWrite(addr, data);
return;
} else if (addr <= 0x4fff) {
//write to sound chip
if (!hasInitSound) {
cpuram.apu.addExpnSound((ExpansionSoundChip) sound);
hasInitSound = true;
}
sound.write(soundAddr, data);
if (autoincrement) {
soundAddr = ++soundAddr & 0x7f;
}
} else if (addr <= 0x57ff) {
//irq counter low bits
irqcounter &= 0x7f00;
irqcounter |= data;
irqack();
} else if (addr <= 0x5fff) {
//irq counter high 7 bits
irqcounter &= 0xff;
irqcounter |= ((data & 0x7f) << 8);
irqenable = ((data & (utils.BIT7)) != 0);
irqack();
//and bit 7 is irq enable
} else if (addr <= 0xbfff) {
//select chr pages
int bank = (addr >> 11) & 7;
setppubank(1, bank, data);
chrbanks[bank] = data;
//note: pages E0-FF are chr ram if a bit is set
} else if (addr <= 0xc7ff) {
//nametable select (can map chr rom in: how?)
//on namco 175 this is PRG RAM enable instead?
if (data < 0xe0) {
//use chr rom as the nametable
//i hope it doesnt try to write while it's chr rom
nt0 = Arrays.copyOfRange(chr, (data * 1024), (data + 1) * 1024);
} else {
nt0 = (((data & (utils.BIT0)) != 0) ? pput1 : pput0);
}
} else if (addr <= 0xc8ff) {
//nametable select 2
if (data < 0xe0) {
nt1 = Arrays.copyOfRange(chr, (data * 1024), (data + 1) * 1024);
} else {
nt1 = (((data & (utils.BIT0)) != 0) ? pput1 : pput0);
}
} else if (addr <= 0xd7ff) {
//nametable select 3
if (data < 0xe0) {
nt2 = Arrays.copyOfRange(chr, (data * 1024), (data + 1) * 1024);
} else {
nt2 = (((data & (utils.BIT0)) != 0) ? pput1 : pput0);
}
} else if (addr <= 0xdfff) {
//nametable select 4
if (data < 0xe0) {
nt3 = Arrays.copyOfRange(chr, (data * 1024), (data + 1) * 1024);
} else {
nt3 = (((data & (utils.BIT0)) != 0) ? pput1 : pput0);
}
} else if (addr <= 0xe7ff) {
//prg select 1 (1st 6 bits) and mirroring
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * (data & 63))) % prgsize;
}
} else if (addr <= 0xefff) {
//prg select 2 (1st 6 bits) and CHR RAM enable
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + 8 * (data & 63))) % prgsize;
}
chrramenable0 = !((data & (utils.BIT6)) != 0);
chrramenable1 = !((data & (utils.BIT7)) != 0);
} else if (addr <= 0xf7ff) {
for (int i = 0; i < 8; ++i) {
prg_map[i + 16] = (1024 * (i + 8 * (data & 63))) % prgsize;
}
//prg select 3 (1st 6 bits)
} else if (addr <= 0xffff) {
//write protect for prg ram on namco 163
//also sound address port (7 bits)
autoincrement = ((data & (utils.BIT7)) != 0);
soundAddr = data & 0x7f;
}
}
private void irqack() {
if (interrupted) {
--cpu.interrupt;
interrupted = false;
}
}
@Override
public void cpucycle(int cycles) {
irqcounter += cycles;
if (irqcounter > 0x7fff) {
irqcounter = 0x7fff;
}
if (irqcounter == 0x7fff && irqenable && !interrupted) {
++cpu.interrupt;
interrupted = true;
}
}
private void setppubank(final int banksize, final int bankpos, final int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) & (chrsize - 1);
}
// utils.printarray(chr_map);
}
@Override
public int ppuRead(int addr) {
//i can't find any games that use this additional chr ram
//so who knows if this works?
if (addr < 0x1000) {
if (chrramenable0 && chrbanks[addr >> 10] > 0xe0) {
return chr_ram[chr_map[addr >> 10] + (addr & 1023)];
} else {
return chr[chr_map[addr >> 10] + (addr & 1023)];
}
} else if (addr < 0x2000) {
if (chrramenable1 && chrbanks[addr >> 10] > 0xe0) {
return chr_ram[chr_map[addr >> 10] - (0xe0 << 10) + (addr & 1023)];
} else {
return chr[chr_map[addr >> 10] + (addr & 1023)];
}
} else {
return super.ppuRead(addr);
}
}
@Override
public void ppuWrite(int addr, final int data) {
addr &= 0x3fff;
if (addr < 0x1000) {
if (chrramenable0 && chrbanks[addr >> 10] > 0xe0) {
chr_ram[chr_map[addr >> 10] - (0xe0 << 10) + (addr & 1023)] = data;
} else {
chr[chr_map[addr >> 10] + (addr & 1023)] = data;
}
} else if (addr < 0x2000) {
if (chrramenable1 && chrbanks[addr >> 10] > 0xe0) {
chr_ram[chr_map[addr >> 10] - (0xe0 << 10) + (addr & 1023)] = data;
} else {
chr[chr_map[addr >> 10] + (addr & 1023)] = data;
}
} else {
super.ppuWrite(addr, data);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Namcot34x3Mapper.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Namcot34x3Mapper extends Mapper {
//MIMIC variant with increased support for CHR up to 128 kB
//NAMCOT-3433 / NAMCOT-3443 (mapper 88) - no mirroring
//NAMCOT-3453 (mapper 154) - single-screen mirroring
private boolean mirroring = false;
private int whichbank = 0;
private int[] chrreg = {0, 0, 0, 0, 0, 0};
public Namcot34x3Mapper(int mappernum) {
super();
mirroring = (mappernum == 154);
}
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//bankswitches here
//System.err.println(utils.hex(addr) + " " + utils.hex(data));
if (addr == 0x8001) {
if (whichbank <= 5) {
chrreg[whichbank] = data & 0x3f;
setupchr();
} else if (whichbank == 6) {
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + (data * 8))) % prgsize;
}
} else if (whichbank == 7) {
//System.err.println(data * 8);
//bank 7 always swappable, always in same place
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;
}
}
} else if (addr == 0x8000) {
//bank select
whichbank = data & 7;
}
if (mirroring) {
setmirroring(((data & (utils.BIT6)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0);
}
}
private void setupchr() {
setppubank(1, 4, (chrreg[2] | 0x40));
setppubank(1, 5, (chrreg[3] | 0x40));
setppubank(1, 6, (chrreg[4] | 0x40));
setppubank(1, 7, (chrreg[5] | 0x40));
setppubank(2, 0, (chrreg[0] >> 1) << 1);
setppubank(2, 2, (chrreg[1] >> 1) << 1);
}
private void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * (banknum + i)) % chrsize;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/NromMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
/**
* Speed optimization for NROM games: copy everything to linear mapping and
* don't use the bankswitching capability at all
*
* thanks to Stephen Chin - steveonjava@gmail.com
*/
public class NromMapper extends Mapper {
@Override
public void loadrom() throws BadMapperException {
super.loadrom();
//copy the whole rom around so we need to do less math
int[] shiftedprg = new int[65536];
System.arraycopy(prg, 0, shiftedprg, 0x8000, prg.length);
if (prgsize <= 16384) {
//double up the rom if 16k
System.arraycopy(prg, 0, shiftedprg, 0xc000, prg.length);
}
prg = shiftedprg;
}
@Override
public int cartRead(final int addr) {
if (addr >= 0x8000) {
return prg[addr];
} else if (addr >= 0x6000 && hasprgram) {
return prgram[addr & 0x1fff];
}
return addr >> 8; //open bus
}
@Override
public int ppuRead(int addr) {
if (addr < 0x2000) {
//math is hard let's go shopping
return chr[addr];
} else {
switch (addr & 0xc00) {
case 0:
return nt0[addr & 0x3ff];
case 0x400:
return nt1[addr & 0x3ff];
case 0x800:
return nt2[addr & 0x3ff];
case 0xc00:
default:
if (addr >= 0x3f00) {
addr &= 0x1f;
if (addr >= 0x10 && ((addr & 3) == 0)) {
addr -= 0x10;
}
return ppu.pal[addr];
} else {
return nt3[addr & 0x3ff];
}
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Sunsoft01Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
public class Sunsoft01Mapper extends Mapper {
private int lowBank = 0;
private int highBank = 0;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 0; i < 32; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr >= 0x6000 && addr < 0x8000) {
lowBank = data & 7;
highBank = (data >> 4) & 7;
//remap CHR bank 0
for (int i = 0; i < 4; ++i) {
chr_map[i] = (1024 * (i + lowBank * 4)) % chrsize;
}
//remap CHR bank 1
for (int i = 0; i < 4; ++i) {
chr_map[4 + i] = (1024 * (i + highBank * 4)) % chrsize;
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Sunsoft02Mapper.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Sunsoft02Mapper extends Mapper {
boolean m93;
public Sunsoft02Mapper(int mappernum) {
super();
m93 = (mappernum == 93);
}
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
int prgselect;
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
if (m93) {
prgselect = (data >> 4) & 15;
} else {
prgselect = (data >> 4) & 7;
setmirroring(((data & (utils.BIT3)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0);
int chrselect = ((data & 7) | (data >> 7) * 8);
//remap CHR bank
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);
}
}
//remap PRG bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/Sunsoft03Mapper.java
================================================
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class Sunsoft03Mapper extends Mapper {
int[] chrbank = {0, 0, 0, 0};
private int irqctr = 0;
private boolean irqenable = false;
private boolean interrupted = false;
private boolean irqtoggle = false;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr >= 0x8800 && addr <= 0x8FFF) {
chrbank[0] = data;
setupchr();
} else if (addr >= 0x9800 && addr <= 0x9FFF) {
chrbank[1] = data;
setupchr();
} else if (addr >= 0xA800 && addr <= 0xAFFF) {
chrbank[2] = data;
setupchr();
} else if (addr >= 0xB800 && addr <= 0xBFFF) {
chrbank[3] = data;
setupchr();
} else if (addr >= 0xC800 && addr <= 0xCFFF) {
if (!irqtoggle) {
//first write
irqctr = (irqctr & 0xFF) | (data << 8);
irqtoggle = true;
} else {
//second write
irqctr = (irqctr & 0xFF00) | (data & 0xFF);
irqtoggle = false;
}
} else if (addr >= 0xD800 && addr <= 0xDFFF) {
if (interrupted) {
--cpu.interrupt;
interrupted = false;
}
irqenable = ((data & (utils.BIT4)) != 0);
irqtoggle = false;
} else if (addr >= 0xE800 && addr <= 0xEFFF) {
switch (data & 3) {
case 0:
setmirroring(MirrorType.V_MIRROR);
break;
case 1:
setmirroring(MirrorType.H_MIRROR);
break;
case 2:
setmirroring(MirrorType.SS_MIRROR0);
break;
case 3:
setmirroring(MirrorType.SS_MIRROR1);
break;
}
} else if (addr >= 0xF800 && addr <= 0xFFFF) {
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * data)) & (prgsize - 1);
}
}
}
@Override
public void cpucycle(final int cycles) {
if (irqenable) {
if (irqctr <= 0) {
irqctr = 0xFFFF;
if (!interrupted) {
++cpu.interrupt;
interrupted = true;
}
irqenable = false;
} else {
irqctr -= cycles;
}
}
}
private void setupchr() {
setppubank(2, 0, chrbank[0]);
setppubank(2, 2, chrbank[1]);
setppubank(2, 4, chrbank[2]);
setppubank(2, 6, chrbank[3]);
}
private void setppubank(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * (i + 2 * banknum)) % chrsize;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/TengenRamboMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
/**
*
* @author Andrew
*/
public class TengenRamboMapper extends Mapper {
private int whichbank = 0;
private boolean prgconfig = false, chrconfig = false,
chrmode1k = false, irqmode = false;
private int irqctrreload = 0;
private int irqctr = 0;
private boolean irqenable = false;
private boolean irqreload = false;
private int prgreg0 = 0, prgreg1 = 0, prgreg2 = 0;
private int[] chrreg = new int[8];
private boolean interrupted = false;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//on startup:
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * i);
prg_map[i + 8] = (1024 * i);
//yes this actually matters; MMC3 does NOT start up in a random state
//(at least Smash TV and TMNT3 expect certain banks w/o even setting up mapper)
}
for (int i = 1; i <= 32; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = 0;
}
setprgregs();
//cpuram.setPrgRAMEnable(false);
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
//bankswitches here
//different register for even/odd writes
if (((addr & (utils.BIT0)) != 0)) {
//odd registers
if ((addr >= 0x8000) && (addr <= 0x9fff)) {
//bank change
//System.err.println("setting " + whichbank + " " + data + " " + prgconfig);
switch (whichbank) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
chrreg[whichbank] = data;
setupchr();
break;
case 6:
prgreg0 = data;
setprgregs();
break;
case 7:
//bank 7 always swappable, always in same place
prgreg1 = data;
setprgregs();
break;
case 8:
case 9:
//setup extra chr banks;
chrreg[whichbank - 2] = data;
break;
case 0xf:
prgreg2 = data;
setprgregs();
break;
}
} else if ((addr >= 0xA000) && (addr <= 0xbfff)) {
//prg ram write protect
//cpuram.setPrgRAMEnable(!utils.getbit(data, 7));
} else if ((addr >= 0xc000) && (addr <= 0xdfff)) {
//any value here reloads irq counter
irqreload = true;
irqmode = ((data & (utils.BIT0)) != 0);
} else if ((addr >= 0xe000) && (addr <= 0xffff)) {
//iany value here enables interrupts
irqenable = true;
}
} else {
//even registers
if ((addr >= 0x8000) && (addr <= 0x9fff)) {
//bank select
whichbank = data & 0xf;
chrmode1k = ((data & (utils.BIT5)) != 0);
prgconfig = ((data & (utils.BIT6)) != 0);
//if bit is false, 8000-9fff swappable and c000-dfff fixed to 2nd to last bank
//if bit is true, c000-dfff swappable and 8000-9fff fixed to 2nd to last bank
chrconfig = ((data & (utils.BIT7)) != 0);
//if false: 2 2k banks @ 0000-0fff, 4 1k banks in 1000-1fff
//if true: 4 1k banks @ 0000-0fff, 2 2k banks @ 1000-1fff
setupchr();
setprgregs();
} else if ((addr >= 0xA000) && (addr <= 0xbfff)) {
//mirroring setup
if (scrolltype != MirrorType.FOUR_SCREEN_MIRROR) {
setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
}
} else if ((addr >= 0xc000) && (addr <= 0xdfff)) {
//value written here used to reload irq counter _@ end of scanline_
irqctrreload = data;
irqreload = true;
} else if ((addr >= 0xe000) && (addr <= 0xffff)) {
//any value here disables IRQ and acknowledges
if (interrupted) {
--cpu.interrupt;
}
interrupted = false;
irqenable = false;
irqctr = irqctrreload;
}
}
}
private void setupchr() {
if (chrconfig) {
if (chrmode1k) {
setppubank(1, 0, chrreg[2]);
setppubank(1, 1, chrreg[3]);
setppubank(1, 2, chrreg[4]);
setppubank(1, 3, chrreg[5]);
setppubank(1, 4, chrreg[0]);
setppubank(1, 5, chrreg[6]);
setppubank(1, 6, chrreg[1]);
setppubank(1, 7, chrreg[7]);
} else {
setppubank(1, 0, chrreg[2]);
setppubank(1, 1, chrreg[3]);
setppubank(1, 2, chrreg[4]);
setppubank(1, 3, chrreg[5]);
//Lowest bit of bank number IS IGNORED for the 2k banks
setppubank(2, 4, (chrreg[0] >> 1) << 1);
setppubank(2, 6, (chrreg[1] >> 1) << 1);
}
} else {
if (chrmode1k) {
setppubank(1, 0, chrreg[0]);
setppubank(1, 1, chrreg[6]);
setppubank(1, 2, chrreg[1]);
setppubank(1, 3, chrreg[7]);
setppubank(1, 4, chrreg[2]);
setppubank(1, 5, chrreg[3]);
setppubank(1, 6, chrreg[4]);
setppubank(1, 7, chrreg[5]);
} else {
setppubank(1, 4, chrreg[2]);
setppubank(1, 5, chrreg[3]);
setppubank(1, 6, chrreg[4]);
setppubank(1, 7, chrreg[5]);
setppubank(2, 0, (chrreg[0] >> 1) << 1);
setppubank(2, 2, (chrreg[1] >> 1) << 1);
}
}
}
private void setprgregs() {
//no matter what, c000-dfff is last bank
if (!prgconfig) {
//map r6 to first 8k, r7 to 2nd, rf to 3rd
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + (prgreg0 * 8))) % prgsize;
prg_map[i + 8] = (1024 * (i + (prgreg1 * 8))) % prgsize;
prg_map[i + 16] = (1024 * (i + (prgreg2 * 8))) % prgsize;
}
} else {
//map rf to 1st 8k, r6 to 2nd, r7 to 3rd
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + (prgreg2 * 8))) % prgsize;
prg_map[i + 8] = (1024 * (i + (prgreg0 * 8))) % prgsize;
prg_map[i + 16] = (1024 * (i + (prgreg1 * 8))) % prgsize;
}
}
}
@Override
public void notifyscanline(int scanline) {
if (irqmode) {
return;
}
//Scanline counter
if (scanline > 239 && scanline != 261) {
//clocked on LAST line of vblank and all lines of frame. Not on 240.
return;
}
if (!ppu.mmc3CounterClocking()) {
return;
}
clockscanlinecounter();
}
int remainder;
boolean intnextcycle = false;
@Override
public void cpucycle(int cycles) {
if (intnextcycle) {
intnextcycle = false;
if (!interrupted) {
++cpu.interrupt;
interrupted = true;
}
}
if (!irqmode) {
return;
}
remainder += cycles;
for (int i = 0; i < remainder; ++i) {
if ((i & 3) == 0) {
clockscanlinecounter();
}
}
remainder %= 4;
}
public void clockscanlinecounter() {
if (irqreload) {
irqreload = false;
irqctr = irqctrreload + 1;
} else if (irqctr == 0) {
irqctr = irqctrreload;
} else {
if (--irqctr == 0 && irqenable) {
intnextcycle = true;
}
}
}
private void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/UnromMapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
public class UnromMapper extends Mapper {
private int bank = 0x0;
@Override
public void loadrom() throws BadMapperException {
//needs to be in every mapper. Fill with initial cfg
super.loadrom();
//movable bank, should really be random. eh, effort
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
bank = data & 0xf;
//remap PRG bank (1st bank switchable, 2nd bank mapped to LAST bank)
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/VRC1Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class VRC1Mapper extends Mapper {
int prgbank0, prgbank1, prgbank2 = 0;
int[] chrbank = {0, 0};
@Override
public void loadrom() throws BadMapperException {
// needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 24; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 8; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
switch (addr >> 12) {
case 0x8:
prgbank0 = data & 0xf;
setbanks();
break;
case 0x9:
setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);
chrbank[0] = (chrbank[0] & 0xf) | ((data << 3) & 0x10);
chrbank[1] = (chrbank[1] & 0xf) | ((data << 2) & 0x10);
setbanks();
break;
case 0xA:
prgbank1 = data & 0xf;
setbanks();
break;
case 0xC:
prgbank2 = data & 0xf;
setbanks();
break;
case 0xE:
chrbank[0] = (chrbank[0] & 0x10) | (data & 0xf);
setbanks();
break;
case 0xF:
chrbank[1] = (chrbank[1] & 0x10) | (data & 0xf);
setbanks();
break;
}
}
private void setbanks() {
//map prg banks
//last bank fixed to the last bank in ROM
for (int i = 1; i <= 8; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
//first bank set to prg0 register
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * prgbank0)) % (prgsize - 1);
}
//second bank set to prg1 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) % (prgsize - 1);
}
//third bank set to prg2 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 16] = (1024 * (i + 8 * prgbank2)) % (prgsize - 1);
}
//map chr banks
setppubank(4, 0, chrbank[0]);
setppubank(4, 4, chrbank[1]);
}
private void setppubank(int banksize, int bankpos, int banknum) {
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * (i + 4 * banknum)) % (chrsize - 1);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/VRC2Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class VRC2Mapper extends Mapper {
//vrc2a mapper(INES #22); vrc2b is mapped to 23 along with the one form of vrc4
int prgbank0, prgbank1 = 0;
int[] chrbank = {0, 0, 0, 0, 0, 0, 0, 0};
@Override
public void loadrom() throws BadMapperException {
// needs to be in every mapper. Fill with initial cfg
super.loadrom();
for (int i = 1; i <= 32; ++i) {
//map last banks in to start off
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
boolean bit0 = ((addr & (utils.BIT1)) != 0);
boolean bit1 = ((addr & (utils.BIT0)) != 0);
switch (addr >> 12) {
case 0x8:
prgbank0 = data & 0xf;
break;
case 0x9:
//mirroring
switch (data & 1) {
case 0:
setmirroring(Mapper.MirrorType.V_MIRROR);
break;
case 1:
setmirroring(Mapper.MirrorType.H_MIRROR);
break;
}
//4-4-2016: seems VRC2 only has 1 mirroring bit
break;
case 0xa:
prgbank1 = data & 0xf;
break;
case 0xb:
case 0xc:
case 0xd:
case 0xe:
//chr bank select. black magic
data &= 0xf;
int whichreg = ((addr - 0xb000) >> 11) + ((bit1) ? 1 : 0);
int oldval = chrbank[whichreg];
if (!bit0) {
oldval &= 0xf0;
oldval |= data;
} else {
oldval &= 0xf;
oldval |= (data << 4);
}
chrbank[whichreg] = oldval;
break;
}
if (addr < 0xf000) {
setbanks();
}
}
private void setbanks() {
//map prg banks
//last 2 banks fixed to last two in rom
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
//first bank set to prg0 register
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * prgbank0)) % prgsize;
}
//second bank set to prg1 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) % prgsize;
}
//map chr banks
for (int i = 0; i < 8; ++i) {
setppubank(1, i, chrbank[i] >> 1);
}
}
private void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
// utils.printarray(chr_map);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/VRC3Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class VRC3Mapper extends Mapper {
private int irqctr, irqreload = 0;
private boolean irqmode, irqenable, irqackenable, interrupted = false;
@Override
public void loadrom() throws BadMapperException {
// needs to be in every mapper. Fill with initial cfg
super.loadrom();
//swappable bank
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * i) & (prgsize - 1);
}
//fixed bank
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
switch (addr >> 12) {
case 0x8: //Bits 0-3 of IRQ reload value
irqreload = (irqreload & 0xFFF0) | (data & 0xF);
break;
case 0x9: //Bits 4-7 of IRQ reload value
irqreload = (irqreload & 0xFF0F) | (data & 0xF) << 4;
break;
case 0xA: //Bits 8-11 of IRQ reload value
irqreload = (irqreload & 0xF0FF) | (data & 0xF) << 8;
break;
case 0xB: //Bits 12-15 of IRQ reload value
irqreload = (irqreload & 0x0FFF) | (data & 0xF) << 12;
break;
case 0xC: //IRQ Control
irqmode = ((data & (utils.BIT2)) != 0);
irqackenable = ((data & (utils.BIT0)) != 0);
irqenable = ((data & (utils.BIT1)) != 0);
if (irqenable) {
if (irqmode) {
irqctr &= 0xFF00;
irqctr |= (irqreload & 0xFF);
} else {
irqctr = irqreload;
}
if (interrupted) {
--cpu.interrupt;
interrupted = false;
}
}
break;
case 0xD: //IRQ Acknowledge
irqenable = irqackenable;
if (interrupted) {
--cpu.interrupt;
interrupted = false;
}
break;
case 0xF: //PRG Select
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * (data & 0xF))) & (prgsize - 1);
}
break;
}
}
@Override
public void cpucycle(final int cycles) {
if (irqenable) {
if (irqmode) { //8-bit mode
int temp = irqctr;
irqctr &= 0xFF00;
if (temp >= 0xFF) {
irqctr = irqreload;
irqctr |= (irqreload & 0xFF);
if (!interrupted) {
++cpu.interrupt;
interrupted = true;
}
} else {
temp += cycles;
irqctr |= temp;
}
} else { //16-bit mode
if (irqctr >= 0xFFFF) {
irqctr = irqreload;
if (!interrupted) {
++cpu.interrupt;
interrupted = true;
}
} else {
irqctr += cycles;
}
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/VRC4Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
public class VRC4Mapper extends Mapper {
int[][][] registerselectbits = {{{1, 2}, {6, 7}},
{{2, 3}, {0, 1}},
{{3, 2}, {1, 0}}};
int[][] registers;
int prgbank0, prgbank1 = 0;
int[] chrbank = {0, 0, 0, 0, 0, 0, 0, 0};
boolean prgmode, irqmode, irqenable, irqack, firedinterrupt = false;
int irqreload, irqcounter = 22;
boolean vrc2mirror;
public VRC4Mapper(int mappernum) {
super();
switch (mappernum) {
//vrc4 has 3 different mapper numbers, for 3 different ways to assign the registers
case 21:
registers = registerselectbits[0];
break;
case 23:
registers = registerselectbits[1];
break;
case 25:
registers = registerselectbits[2];
break;
default:
registers = registerselectbits[0];
break;
}
}
@Override
public void loadrom() throws BadMapperException {
super.loadrom();
// needs to be in every mapper. Fill with initial cfg
for (int i = 1; i <= 32; ++i) {
//map last banks in to start off
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
//detect Konami Wai Wai World on VRC2
System.err.println(utils.hex(crc));
vrc2mirror =
((crc == 0xB790FF4CL) //ZnO trans (remember why it's a long...)
|| (crc == 0x2D953C3DL) //demiforce 3
|| (crc == 0x64818FC5L) //(J)
|| (crc == 0x1E12AF8AL) //french trans
|| (crc == 0x3480F7DBL)); //demiforce 1?
System.err.println(vrc2mirror);
}
@Override
public final void cartWrite(int addr, int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
boolean bit0 = ((addr & (1 << registers[0][0])) != 0) || ((addr & (1 << registers[1][0])) != 0);
boolean bit1 = ((addr & (1 << registers[0][1])) != 0) || ((addr & (1 << registers[1][1])) != 0);
switch (addr >> 12) {
case 0x8:
prgbank0 = data & 0x1f;
break;
case 0x9:
if (!bit1) {
//mirroring select
if (vrc2mirror) {
//vrc2 doesn't have single screen mirroring option
switch (data & 1) {
case 0:
setmirroring(Mapper.MirrorType.V_MIRROR);
break;
case 1:
setmirroring(Mapper.MirrorType.H_MIRROR);
break;
}
} else {
switch (data & 3) {
case 0:
setmirroring(MirrorType.V_MIRROR);
break;
case 1:
setmirroring(MirrorType.H_MIRROR);
break;
case 2:
setmirroring(MirrorType.SS_MIRROR0);
break;
case 3:
setmirroring(MirrorType.SS_MIRROR1);
break;
}
}
} else {
prgmode = ((data & (utils.BIT1)) != 0);
}
break;
case 0xa:
prgbank1 = data & 0x1f;
break;
case 0xb:
case 0xc:
case 0xd:
case 0xe:
//chr bank select. black magic
data &= 0xf;
int whichreg = ((addr - 0xb000) >> 11) + ((bit1) ? 1 : 0);
int oldval = chrbank[whichreg];
if (!bit0) {
oldval &= 0xf0;
oldval |= data;
} else {
oldval &= 0xf;
oldval |= (data << 4);
}
chrbank[whichreg] = oldval;
break;
case 0xf:
//irq registers.
if (!bit1) {
if (!bit0) {
irqreload &= 0xf0;
irqreload |= data & 0xf;
} else {
irqreload &= 0xf;
irqreload |= (data & 0xf) << 4;
}
// System.err.println("reload set to " + irqreload);
} else if (!bit0) {
irqack = ((data & (utils.BIT0)) != 0);
irqenable = ((data & (utils.BIT1)) != 0);
irqmode = ((data & (utils.BIT2)) != 0);
if (irqenable) {
irqcounter = irqreload;
prescaler = 341;
}
if (firedinterrupt) {
--cpu.interrupt;
}
firedinterrupt = false;
} else {
irqenable = irqack;
if (firedinterrupt) {
--cpu.interrupt;
}
firedinterrupt = false;
}
}
if (addr < 0xf000) {
setbanks();
}
}
private void setbanks() {
//map prg banks
if (!prgmode) {
//last 2 banks fixed to last two in rom
for (int i = 1; i <= 16; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
//first bank set to prg0 register
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * prgbank0)) % prgsize;
}
//second bank set to prg1 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) % prgsize;
}
} else {
//fixed banks 1 and 4
for (int i = 1; i <= 8; ++i) {
prg_map[8 - i] = prgsize - (1024 * i);
}
for (int i = 1; i <= 8; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
//second bank set to prg0 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + 8 * prgbank0)) % prgsize;
}
//third bank set to prg1 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 16] = (1024 * (i + 8 * prgbank1)) % prgsize;
}
}
//map chr banks
for (int i = 0; i < 8; ++i) {
setppubank(1, i, chrbank[i]);
}
}
private void setppubank(int banksize, int bankpos, int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
// utils.printarray(chr_map);
}
int prescaler = 341;
@Override
public void cpucycle(int cycles) {
if (irqenable) {
if (irqmode) {
scanlinecount();
//clock regardless of prescaler state
} else {
prescaler -= 3;
if (prescaler <= 0) {
prescaler += 341;
scanlinecount();
}
}
}
}
public void scanlinecount() {
if (irqenable) {
if (irqcounter == 255) {
irqcounter = irqreload;
//System.err.println("Interrupt @ Scanline " + scanline + " reload " + irqreload);
if (!firedinterrupt) {
++cpu.interrupt;
}
firedinterrupt = true;
} else {
++irqcounter;
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/VRC6Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
import com.grapeshot.halfnes.audio.*;
public class VRC6Mapper extends Mapper {
int[][] registerselectbits = {{0, 1}, {1, 0}};
int[] registers;
int prgbank0, prgbank1 = 0;
int[] chrbank = {0, 0, 0, 0, 0, 0, 0, 0};
boolean irqmode, irqenable, irqack, firedinterrupt = false;
int irqreload, irqcounter = 22;
VRC6SoundChip sndchip;
boolean hasInitSound = false;
public VRC6Mapper(int mappernum) {
super();
sndchip = new VRC6SoundChip();
switch (mappernum) {
//vrc6 has 2 different mapper numbers, for 2 different ways to assign the registers
case 24:
registers = registerselectbits[0];
break;
case 26:
default:
registers = registerselectbits[1];
break;
}
}
@Override
public void loadrom() throws BadMapperException {
super.loadrom();
// needs to be in every mapper. Fill with initial cfg
for (int i = 1; i <= 32; ++i) {
//map last banks in to start off
prg_map[32 - i] = prgsize - (1024 * i);
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
final boolean bit0 = ((addr & (1 << registers[0])) != 0);
final boolean bit1 = ((addr & (1 << registers[1])) != 0);
switch (addr >> 12) {
case 0x8:
//8000-8003: prg bank 0 select
prgbank0 = data;
setbanks();
break;
case 0x9:
case 0xa:
//sound registers here
sndchip.write((addr & 0xf000) + (bit1 ? 2 : 0) + (bit0 ? 1 : 0), data);
break;
case 0xc:
//c000-c003: prg bank 1 select
prgbank1 = data;
setbanks();
break;
case 0xb:
if (bit0 && bit1) {
//mirroring select
switch ((data >> 2) & 3) {
case 0:
setmirroring(Mapper.MirrorType.V_MIRROR);
break;
case 1:
setmirroring(Mapper.MirrorType.H_MIRROR);
break;
case 2:
setmirroring(Mapper.MirrorType.SS_MIRROR0);
break;
case 3:
setmirroring(Mapper.MirrorType.SS_MIRROR1);
break;
}
} else {
//expansion sound register here as well
sndchip.write((addr & 0xf000) + (bit1 ? 2 : 0) + (bit0 ? 1 : 0), data);
}
break;
case 0xd:
//character bank selects
chrbank[(bit1 ? 2 : 0) + (bit0 ? 1 : 0)] = data;
setbanks();
break;
case 0xe:
chrbank[(bit1 ? 2 : 0) + (bit0 ? 1 : 0) + 4] = data;
setbanks();
break;
case 0xf:
//irq control
if (!bit1) {
if (!bit0) {
irqreload = data;
} else {
irqack = ((data & (utils.BIT0)) != 0);
irqenable = ((data & (utils.BIT1)) != 0);
irqmode = ((data & (utils.BIT2)) != 0);
if (irqenable) {
irqcounter = irqreload;
prescaler = 341;
}
if (firedinterrupt) {
--cpu.interrupt;
}
firedinterrupt = false;
}
} else {
if (!bit0) {
irqenable = irqack;
if (firedinterrupt) {
--cpu.interrupt;
}
firedinterrupt = false;
}
}
}
}
private void setbanks() {
//map prg banks
//last 8k fixed to end of rom
for (int i = 1; i <= 8; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
//first bank set to prg0 register
for (int i = 0; i < 16; ++i) {
prg_map[i] = (1024 * (i + 16 * prgbank0)) % prgsize;
}
//second bank set to prg1 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 16] = (1024 * (i + 8 * prgbank1)) % prgsize;
}
//map chr banks
for (int i = 0; i < 8; ++i) {
setppubank(1, i, chrbank[i]);
}
}
private void setppubank(final int banksize, final int bankpos, final int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
// utils.printarray(chr_map);
}
int prescaler = 341;
@Override
public void cpucycle(int cycles) {
if (irqenable) {
if (irqmode) {
scanlinecount();
//clock regardless of prescaler state
} else {
prescaler -= 3;
if (prescaler <= 0) {
prescaler += 341;
scanlinecount();
}
}
}
}
public void scanlinecount() {
if (!hasInitSound) {
//tiny hack, because the APU is not initialized until AFTER this happens
//TODO: this really should not need to be here.
cpuram.apu.addExpnSound(sndchip);
hasInitSound = true;
}
if (irqenable) {
if (irqcounter == 255) {
irqcounter = irqreload;
//System.err.println("Interrupt @ Scanline " + scanline + " reload " + irqreload);
if (!firedinterrupt) {
++cpu.interrupt;
}
firedinterrupt = true;
} else {
++irqcounter;
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/mappers/VRC7Mapper.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.mappers;
import com.grapeshot.halfnes.*;
import com.grapeshot.halfnes.audio.*;
public class VRC7Mapper extends Mapper {
//need to add extra audio still.
int prgbank0, prgbank1, prgbank2;
int[] chrbank = {0, 0, 0, 0, 0, 0, 0, 0};
boolean irqmode, irqenable, irqack, firedinterrupt = false;
int irqreload, irqcounter = 22;
int regaddr = 0;
ExpansionSoundChip sndchip = new VRC7SoundChip();
boolean hasInitSound = false;
@Override
public void loadrom() throws BadMapperException {
super.loadrom();
// needs to be in every mapper. Fill with initial cfg
for (int i = 1; i <= 32; ++i) {
//map last banks in to start off
prg_map[32 - i] = (prgsize - (1024 * i)) % prgsize;
}
for (int i = 0; i < 8; ++i) {
chr_map[i] = (1024 * i) & (chrsize - 1);
}
}
@Override
public final void cartWrite(final int addr, final int data) {
if (addr < 0x8000 || addr > 0xffff) {
super.cartWrite(addr, data);
return;
}
final boolean bit0 = ((addr & (utils.BIT4)) != 0) | ((addr & (utils.BIT3)) != 0);
final boolean bit1 = ((addr & (utils.BIT5)) != 0);
switch (addr >> 12) {
case 0x8:
if (bit0) {
//8010,8008: prg bank 1 select
prgbank1 = data;
} else {
//8000: prg bank 0 select
prgbank0 = data;
}
setbanks();
break;
case 0x9:
if (!bit0 && !bit1) {
prgbank2 = data;
setbanks();
} else if (bit0 && bit1) {
//$9030: data write to sndchip
if (!hasInitSound) {
//tiny hack, because the APU is not initialized until AFTER this happens
//TODO: this really should not need to be here.
cpuram.apu.addExpnSound(sndchip);
hasInitSound = true;
}
sndchip.write(regaddr, data);
} else {
//$9010: sndchip register select
regaddr = data;
}
break;
case 0xa:
//character bank selects
chrbank[(bit0 ? 1 : 0)] = data;
setbanks();
break;
case 0xb:
//character bank selects
chrbank[(bit0 ? 1 : 0) + 2] = data;
setbanks();
break;
case 0xc:
//character bank selects
chrbank[(bit0 ? 1 : 0) + 4] = data;
setbanks();
break;
case 0xd:
//character bank selects
chrbank[(bit0 ? 1 : 0) + 6] = data;
setbanks();
break;
case 0xe:
if (bit0) {
//irq latch
irqreload = data;
} else {
//mirroring select
switch (data & 3) {
case 0:
setmirroring(Mapper.MirrorType.V_MIRROR);
break;
case 1:
setmirroring(Mapper.MirrorType.H_MIRROR);
break;
case 2:
setmirroring(Mapper.MirrorType.SS_MIRROR0);
break;
case 3:
setmirroring(Mapper.MirrorType.SS_MIRROR1);
break;
}
}
break;
case 0xf:
//irq control
if (bit0) {
//irq ack
irqenable = irqack;
if (firedinterrupt) {
--cpu.interrupt;
}
firedinterrupt = false;
} else {
//irq control
irqack = ((data & (utils.BIT0)) != 0);
irqenable = ((data & (utils.BIT1)) != 0);
irqmode = ((data & (utils.BIT2)) != 0);
if (irqenable) {
irqcounter = irqreload;
prescaler = 341;
}
if (firedinterrupt) {
--cpu.interrupt;
}
firedinterrupt = false;
}
}
}
private void setbanks() {
//map prg banks
//last 8k fixed to end of rom
for (int i = 1; i <= 8; ++i) {
prg_map[32 - i] = prgsize - (1024 * i);
}
//first bank set to prg0 register
for (int i = 0; i < 8; ++i) {
prg_map[i] = (1024 * (i + 8 * prgbank0)) % prgsize;
}
//second bank set to prg1 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) % prgsize;
}
//third bank set to prg2 register
for (int i = 0; i < 8; ++i) {
prg_map[i + 16] = (1024 * (i + 8 * prgbank2)) % prgsize;
}
//map chr banks
for (int i = 0; i < 8; ++i) {
setppubank(1, i, chrbank[i]);
}
}
private void setppubank(final int banksize, final int bankpos, final int banknum) {
// System.err.println(banksize + ", " + bankpos + ", "+ banknum);
for (int i = 0; i < banksize; ++i) {
chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;
}
// utils.printarray(chr_map);
}
int prescaler = 341;
@Override
public void cpucycle(int cycles) {
if (irqenable) {
if (irqmode) {
scanlinecount();
//clock regardless of prescaler state
} else {
prescaler -= 3;
if (prescaler <= 0) {
prescaler += 341;
scanlinecount();
}
}
}
}
public void scanlinecount() {
if (irqenable) {
if (irqcounter == 255) {
irqcounter = irqreload;
//System.err.println("Interrupt @ Scanline " + scanline + " reload " + irqreload);
if (!firedinterrupt) {
++cpu.interrupt;
}
firedinterrupt = true;
} else {
++irqcounter;
}
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/ControllerImpl.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.PrefsSingleton;
import static com.grapeshot.halfnes.utils.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.prefs.Preferences;
import javafx.scene.Scene;
import net.java.games.input.Component;
import net.java.games.input.Controller;
import net.java.games.input.ControllerEnvironment;
import net.java.games.input.Event;
import net.java.games.input.EventQueue;
/**
*
* @author Andrew, Zlika This class uses the JInput Java game controller API
* (cf. http://java.net/projects/jinput).
*/
public class ControllerImpl implements ControllerInterface, KeyListener {
//private final java.awt.Component parent;
private Controller gameController;
private Component[] buttons;
private final ScheduledExecutorService thread = Executors.newSingleThreadScheduledExecutor();
private int latchbyte = 0, controllerbyte = 0, prevbyte = 0, outbyte = 0, gamepadbyte = 0;
private final HashMap m = new HashMap<>(10);
private final int controllernum;
public ControllerImpl(final java.awt.Component parent, final int controllernum) {
this(controllernum);
//this.parent = parent;
parent.addKeyListener(this);
}
public ControllerImpl(final Scene scene, final int controllernum) {
this(controllernum);
scene.addEventHandler(javafx.scene.input.KeyEvent.KEY_PRESSED, e -> pressKey(e.getCode().impl_getCode()));
scene.addEventHandler(javafx.scene.input.KeyEvent.KEY_RELEASED, e -> releaseKey(e.getCode().impl_getCode()));
}
public ControllerImpl(final int controllernum) {
if ((controllernum != 0) && (controllernum != 1)) {
throw new IllegalArgumentException("controllerNum must be 0 or 1");
}
this.controllernum = controllernum;
setButtons();
}
@Override
public void keyPressed(final KeyEvent keyEvent) {
pressKey(keyEvent.getKeyCode());
}
private void pressKey(int keyCode) {
//enable the byte of whatever is found
prevbyte = controllerbyte;
if (!m.containsKey(keyCode)) {
return;
}
//enable the corresponding bit to the key
controllerbyte |= m.get(keyCode);
//special case: if up and down are pressed at once, use whichever was pressed previously
if ((controllerbyte & (BIT4 | BIT5)) == (BIT4 | BIT5)) {
controllerbyte &= ~(BIT4 | BIT5);
controllerbyte |= (prevbyte & ~(BIT4 | BIT5));
}
//same for left and right
if ((controllerbyte & (BIT6 | BIT7)) == (BIT6 | BIT7)) {
controllerbyte &= ~(BIT6 | BIT7);
controllerbyte |= (prevbyte & ~(BIT6 | BIT7));
}
}
@Override
public void keyReleased(final KeyEvent keyEvent) {
releaseKey(keyEvent.getKeyCode());
}
private void releaseKey(int keyCode) {
prevbyte = controllerbyte;
if (!m.containsKey(keyCode)) {
return;
}
controllerbyte &= ~m.get(keyCode);
}
@Override
public int getbyte() {
return outbyte;
}
@Override
public int peekOutput() {
return latchbyte;
}
@Override
public void keyTyped(final KeyEvent arg0) {
// TODO Auto-generated method stub
}
public void strobe() {
//shifts a byte out
outbyte = latchbyte & 1;
latchbyte = ((latchbyte >> 1) | 0x100);
}
public void output(final boolean state) {
latchbyte = gamepadbyte | controllerbyte;
}
/**
* Start in a separate thread the processing of the controller event queue.
* Must be called after construction of the class to enable the processing
* of the joystick / gamepad events.
*/
public void startEventQueue() {
// if (System.getProperty("java.class.path").contains("jinput")) {
thread.execute(eventQueueLoop());
// }
}
double threshold = 0.25;
private Runnable eventQueueLoop() {
return new Runnable() {
@Override
public void run() {
if (gameController != null) {
Event event = new Event();
while (!Thread.interrupted()) {
gameController.poll();
EventQueue queue = gameController.getEventQueue();
while (queue.getNextEvent(event)) {
Component component = event.getComponent();
if (component.getIdentifier() == Component.Identifier.Axis.X) {
if (event.getValue() > threshold) {
gamepadbyte |= BIT7;//left on, right off
gamepadbyte &= ~BIT6;
} else if (event.getValue() < -threshold) {
gamepadbyte |= BIT6;
gamepadbyte &= ~BIT7;
} else {
gamepadbyte &= ~(BIT7 | BIT6);
}
} else if (component.getIdentifier() == Component.Identifier.Axis.Y) {
if (event.getValue() > threshold) {
gamepadbyte |= BIT5;//up on, down off
gamepadbyte &= ~BIT4;
} else if (event.getValue() < -threshold) {
gamepadbyte |= BIT4;//down on, up off
gamepadbyte &= ~BIT5;
} else {
gamepadbyte &= ~(BIT4 | BIT5);
}
} else if (component == buttons[0]) {
if (isPressed(event)) {
gamepadbyte |= BIT0;
} else {
gamepadbyte &= ~BIT0;
}
} else if (component == buttons[1]) {
if (isPressed(event)) {
gamepadbyte |= BIT1;
} else {
gamepadbyte &= ~BIT1;
}
} else if (component == buttons[2]) {
if (isPressed(event)) {
gamepadbyte |= BIT2;
} else {
gamepadbyte &= ~BIT2;
}
} else if (component == buttons[3]) {
if (isPressed(event)) {
gamepadbyte |= BIT3;
} else {
gamepadbyte &= ~BIT3;
}
}
}
try {
Thread.sleep(5);
} catch (InterruptedException e) {
// Preserve interrupt status
Thread.currentThread().interrupt();
}
}
}
}
};
}
private boolean isPressed(Event event) {
Component component = event.getComponent();
if (component.isAnalog()) {
if (Math.abs(event.getValue()) > 0.2f) {
return true;
} else {
return false;
}
} else if (event.getValue() == 0) {
return false;
} else {
return true;
}
}
/**
* Stop the controller event queue thread. Must be called before closing the
* application.
*/
public void stopEventQueue() {
thread.shutdownNow();
}
/**
* This method detects the available joysticks / gamepads on the computer
* and return them in a list.
*
* @return List of available joysticks / gamepads connected to the computer
*/
private static Controller[] getAvailablePadControllers() {
List gameControllers = new ArrayList<>();
// Get a list of the controllers JInput knows about and can interact
// with
Controller[] controllers = ControllerEnvironment.getDefaultEnvironment().getControllers();
// Check the useable controllers (gamepads or joysticks with at least 2
// axis and 2 buttons)
for (Controller controller : controllers) {
if ((controller.getType() == Controller.Type.GAMEPAD) || (controller.getType() == Controller.Type.STICK)) {
int nbOfAxis = 0;
// Get this controllers components (buttons and axis)
Component[] components = controller.getComponents();
// Check the availability of X/Y axis and at least 2 buttons
// (for A and B, because select and start can use the keyboard)
for (Component component : components) {
if ((component.getIdentifier() == Component.Identifier.Axis.X)
|| (component.getIdentifier() == Component.Identifier.Axis.Y)) {
nbOfAxis++;
}
}
if ((nbOfAxis >= 2) && (getButtons(controller).length >= 2)) {
// Valid game controller
gameControllers.add(controller);
}
}
}
return gameControllers.toArray(new Controller[0]);
}
/**
* Return the available buttons on this controller (by priority order).
*/
private static Component[] getButtons(Controller controller) {
List buttons = new ArrayList<>();
// Get this controllers components (buttons and axis)
Component[] components = controller.getComponents();
for (Component component : components) {
if (component.getIdentifier() instanceof Component.Identifier.Button) {
buttons.add(component);
}
}
return buttons.toArray(new Component[0]);
}
public final void setButtons() {
Preferences prefs = PrefsSingleton.get();
//reset the buttons from prefs
m.clear();
switch (controllernum) {
case 0:
m.put(prefs.getInt("keyUp1", KeyEvent.VK_UP), BIT4);
m.put(prefs.getInt("keyDown1", KeyEvent.VK_DOWN), BIT5);
m.put(prefs.getInt("keyLeft1", KeyEvent.VK_LEFT), BIT6);
m.put(prefs.getInt("keyRight1", KeyEvent.VK_RIGHT), BIT7);
m.put(prefs.getInt("keyA1", KeyEvent.VK_X), BIT0);
m.put(prefs.getInt("keyB1", KeyEvent.VK_Z), BIT1);
m.put(prefs.getInt("keySelect1", KeyEvent.VK_SHIFT), BIT2);
m.put(prefs.getInt("keyStart1", KeyEvent.VK_ENTER), BIT3);
break;
case 1:
default:
m.put(prefs.getInt("keyUp2", KeyEvent.VK_W), BIT4);
m.put(prefs.getInt("keyDown2", KeyEvent.VK_S), BIT5);
m.put(prefs.getInt("keyLeft2", KeyEvent.VK_A), BIT6);
m.put(prefs.getInt("keyRight2", KeyEvent.VK_D), BIT7);
m.put(prefs.getInt("keyA2", KeyEvent.VK_G), BIT0);
m.put(prefs.getInt("keyB2", KeyEvent.VK_F), BIT1);
m.put(prefs.getInt("keySelect2", KeyEvent.VK_R), BIT2);
m.put(prefs.getInt("keyStart2", KeyEvent.VK_T), BIT3);
break;
}
Controller[] controllers = getAvailablePadControllers();
if (controllers.length > controllernum) {
this.gameController = controllers[controllernum];
PrefsSingleton.get().put("controller" + controllernum, gameController.getName());
System.err.println(controllernum + 1 + ". " + gameController.getName());
this.buttons = getButtons(controllers[controllernum]);
} else {
PrefsSingleton.get().put("controller" + controllernum, "");
this.gameController = null;
this.buttons = null;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/ControllerInterface.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.ui;
/**
*
* @author Andrew
*/
public interface ControllerInterface {
public void strobe();
public void output(final boolean state);
public int peekOutput();
public int getbyte();
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/ControlsDialog.form
================================================
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/ControlsDialog.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
/*
* OptionsDialog.java
*
* Created on Jan 16, 2011, 4:21:43 PM
*/
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.PrefsSingleton;
import java.awt.event.KeyEvent;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.prefs.BackingStoreException;
import java.util.prefs.Preferences;
/**
*
* @author Andrew
*/
public class ControlsDialog extends javax.swing.JDialog {
private int[][] keys;
private boolean okClicked = false;
/**
* Creates new form ControlsDialog
*/
public ControlsDialog(java.awt.Frame parent) {
super(parent, true);
Preferences prefs = PrefsSingleton.get();
int[][] keys = {{prefs.getInt("keyUp1", KeyEvent.VK_UP),
prefs.getInt("keyDown1", KeyEvent.VK_DOWN),
prefs.getInt("keyLeft1", KeyEvent.VK_LEFT),
prefs.getInt("keyRight1", KeyEvent.VK_RIGHT),
prefs.getInt("keyA1", KeyEvent.VK_X),
prefs.getInt("keyB1", KeyEvent.VK_Z),
prefs.getInt("keySelect1", KeyEvent.VK_SHIFT),
prefs.getInt("keyStart1", KeyEvent.VK_ENTER),}, {
prefs.getInt("keyUp2", KeyEvent.VK_W),
prefs.getInt("keyDown2", KeyEvent.VK_S),
prefs.getInt("keyLeft2", KeyEvent.VK_A),
prefs.getInt("keyRight2", KeyEvent.VK_D),
prefs.getInt("keyA2", KeyEvent.VK_G),
prefs.getInt("keyB2", KeyEvent.VK_F),
prefs.getInt("keySelect2", KeyEvent.VK_R),
prefs.getInt("keyStart2", KeyEvent.VK_T)}};
this.keys = keys;
initComponents();
this.setTitle("HalfNES Controller Settings");
//set all of the text boxes
jField1Up.setText(KeyEvent.getKeyText(keys[0][0]));
jField1Down.setText(KeyEvent.getKeyText(keys[0][1]));
jField1Left.setText(KeyEvent.getKeyText(keys[0][2]));
jField1Right.setText(KeyEvent.getKeyText(keys[0][3]));
jField1A.setText(KeyEvent.getKeyText(keys[0][4]));
jField1B.setText(KeyEvent.getKeyText(keys[0][5]));
jField1Select.setText(KeyEvent.getKeyText(keys[0][6]));
jField1Start.setText(KeyEvent.getKeyText(keys[0][7]));
jField2Up.setText(KeyEvent.getKeyText(keys[1][0]));
jField2Down.setText(KeyEvent.getKeyText(keys[1][1]));
jField2Left.setText(KeyEvent.getKeyText(keys[1][2]));
jField2Right.setText(KeyEvent.getKeyText(keys[1][3]));
jField2A.setText(KeyEvent.getKeyText(keys[1][4]));
jField2B.setText(KeyEvent.getKeyText(keys[1][5]));
jField2Select.setText(KeyEvent.getKeyText(keys[1][6]));
jField2Start.setText(KeyEvent.getKeyText(keys[1][7]));
//set the controller text if we've detected some
String ctrl1 = prefs.get("controller0", "");
String ctrl2 = prefs.get("controller1", "");
if (!ctrl1.isEmpty()) {
jLabelCtrl1.setText(ctrl1);
}
if (!ctrl2.isEmpty()) {
jLabelCtrl2.setText(ctrl2);
}
jButtonOK.setActionCommand("OK");
jButtonCancel.setActionCommand("Cancel");
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
jField1Up = new javax.swing.JTextField();
jField1Down = new javax.swing.JTextField();
jField1Right = new javax.swing.JTextField();
jField1Left = new javax.swing.JTextField();
jField1Start = new javax.swing.JTextField();
jField1Select = new javax.swing.JTextField();
jField1B = new javax.swing.JTextField();
jField1A = new javax.swing.JTextField();
jField2Up = new javax.swing.JTextField();
jField2Down = new javax.swing.JTextField();
jField2Left = new javax.swing.JTextField();
jField2Right = new javax.swing.JTextField();
jField2A = new javax.swing.JTextField();
jField2B = new javax.swing.JTextField();
jField2Select = new javax.swing.JTextField();
jField2Start = new javax.swing.JTextField();
jButtonCancel = new javax.swing.JButton();
jButtonOK = new javax.swing.JButton();
jLabel16 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jLabelCtrl1 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabelCtrl2 = new javax.swing.JLabel();
setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);
setName("ControlsDialog"); // NOI18N
setResizable(false);
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel3.setText("Keybindings:"); // NOI18N
jLabel4.setText("Controller 1"); // NOI18N
jLabel5.setText("Controller 2"); // NOI18N
jLabel6.setText("Up"); // NOI18N
jLabel7.setText("Down"); // NOI18N
jLabel8.setText("Left"); // NOI18N
jLabel9.setText("Right"); // NOI18N
jLabel10.setText("A"); // NOI18N
jLabel11.setText("B"); // NOI18N
jLabel12.setText("Select"); // NOI18N
jLabel13.setText("Start"); // NOI18N
jField1Up.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Up.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jField2StartActionPerformed(evt);
}
});
jField1Up.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1UpKeyReleased(evt);
}
});
jField1Down.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Down.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jField2StartActionPerformed(evt);
}
});
jField1Down.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1DownKeyReleased(evt);
}
});
jField1Right.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Right.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jField2StartActionPerformed(evt);
}
});
jField1Right.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1RightKeyReleased(evt);
}
});
jField1Left.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Left.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jField2StartActionPerformed(evt);
}
});
jField1Left.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1LeftKeyReleased(evt);
}
});
jField1Start.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Start.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1StartKeyReleased(evt);
}
});
jField1Select.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Select.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1SelectKeyReleased(evt);
}
});
jField1B.setMinimumSize(new java.awt.Dimension(120, 20));
jField1B.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1BKeyReleased(evt);
}
});
jField1A.setMinimumSize(new java.awt.Dimension(120, 20));
jField1A.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1AKeyReleased(evt);
}
});
jField2Up.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Up.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2UpKeyReleased(evt);
}
});
jField2Down.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Down.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2DownKeyReleased(evt);
}
});
jField2Left.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Left.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2LeftKeyReleased(evt);
}
});
jField2Right.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Right.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2RightKeyReleased(evt);
}
});
jField2A.setMinimumSize(new java.awt.Dimension(120, 20));
jField2A.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2AKeyReleased(evt);
}
});
jField2B.setMinimumSize(new java.awt.Dimension(120, 20));
jField2B.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2BKeyReleased(evt);
}
});
jField2Select.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Select.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2SelectKeyReleased(evt);
}
});
jField2Start.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Start.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2StartKeyReleased(evt);
}
});
jButtonCancel.setText("Cancel"); // NOI18N
jButtonCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonCancelActionPerformed(evt);
}
});
jButtonOK.setText("OK"); // NOI18N
jButtonOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonOKActionPerformed(evt);
}
});
jLabel16.setText(" Click in text box and type a key to change that binding."); // NOI18N
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel1.setText("Detected Game Controllers:");
jLabelCtrl1.setText("No Player 1 controller connected");
jLabelCtrl1.setEnabled(false);
jButton1.setText("Set Buttons");
jButton1.setEnabled(false);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Set Buttons");
jButton2.setEnabled(false);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jLabelCtrl2.setText("No Player 2 controller connected");
jLabelCtrl2.setEnabled(false);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jLabel16)
.addGroup(layout.createSequentialGroup()
.addGap(49, 49, 49)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel5))
.addComponent(jLabel3)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel7)
.addComponent(jLabel8)
.addComponent(jLabel9)
.addComponent(jLabel10)
.addComponent(jLabel11)
.addComponent(jLabel13)
.addComponent(jLabel6)
.addComponent(jLabel12))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jField1Right, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1Left, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1B, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1A, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1Start, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1Select, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1Up, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1Down, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jField2Select, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2B, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2Start, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2A, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2Right, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2Up, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2Down, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2Left, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(jButtonOK, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonCancel))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelCtrl1)
.addComponent(jLabelCtrl2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton2)
.addComponent(jButton1))))))
);
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});
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel16, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(11, 11, 11)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jField2Up, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(jField1Up, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1Down, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1Left, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1Right, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9)
.addComponent(jField2Right, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1A, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel10)
.addComponent(jField2A, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(31, 31, 31)
.addComponent(jField2Down, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jField2Left, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1B, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel11)
.addComponent(jField2B, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1Select, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel12)
.addComponent(jField2Select, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1Start, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel13)
.addComponent(jField2Start, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelCtrl1)
.addComponent(jButton2))
.addGap(12, 12, 12)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelCtrl2)
.addComponent(jButton1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButtonOK)
.addComponent(jButtonCancel))
.addGap(0, 8, Short.MAX_VALUE))
);
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});
pack();
}// //GEN-END:initComponents
private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelActionPerformed
if ("Cancel".equals(evt.getActionCommand())) {
this.setVisible(false);
}
}//GEN-LAST:event_jButtonCancelActionPerformed
private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonOKActionPerformed
// if ("OK".equals(evt.getActionCommand())) {
//here we go... save everything and hide the window
Preferences prefs = PrefsSingleton.get();
prefs.putInt("keyUp1", keys[0][0]);
prefs.putInt("keyDown1", keys[0][1]);
prefs.putInt("keyLeft1", keys[0][2]);
prefs.putInt("keyRight1", keys[0][3]);
prefs.putInt("keyA1", keys[0][4]);
prefs.putInt("keyB1", keys[0][5]);
prefs.putInt("keySelect1", keys[0][6]);
prefs.putInt("keyStart1", keys[0][7]);
prefs.putInt("keyUp2", keys[1][0]);
prefs.putInt("keyDown2", keys[1][1]);
prefs.putInt("keyLeft2", keys[1][2]);
prefs.putInt("keyRight2", keys[1][3]);
prefs.putInt("keyA2", keys[1][4]);
prefs.putInt("keyB2", keys[1][5]);
prefs.putInt("keySelect2", keys[1][6]);
prefs.putInt("keyStart2", keys[1][7]);
try {
prefs.flush();
} catch (BackingStoreException ex) {
Logger.getLogger(ControlsDialog.class.getName()).log(Level.SEVERE, null, ex);
}
okClicked = true;
this.setVisible(false);
// }
}//GEN-LAST:event_jButtonOKActionPerformed
public boolean okClicked() {
return okClicked;
}
private void jField1UpKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1UpKeyReleased
int k = evt.getKeyCode();
jField1Up.setText(KeyEvent.getKeyText(k));
keys[0][0] = k;
}//GEN-LAST:event_jField1UpKeyReleased
private void jField1DownKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1DownKeyReleased
int k = evt.getKeyCode();
jField1Down.setText(KeyEvent.getKeyText(k));
keys[0][1] = k;
}//GEN-LAST:event_jField1DownKeyReleased
private void jField1LeftKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1LeftKeyReleased
int k = evt.getKeyCode();
jField1Left.setText(KeyEvent.getKeyText(k));
keys[0][2] = k;
}//GEN-LAST:event_jField1LeftKeyReleased
private void jField1RightKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1RightKeyReleased
int k = evt.getKeyCode();
jField1Right.setText(KeyEvent.getKeyText(k));
keys[0][3] = k;
}//GEN-LAST:event_jField1RightKeyReleased
private void jField2StartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jField2StartActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jField2StartActionPerformed
private void jField1AKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1AKeyReleased
int k = evt.getKeyCode();
jField1A.setText(KeyEvent.getKeyText(k));
keys[0][4] = k;
}//GEN-LAST:event_jField1AKeyReleased
private void jField1BKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1BKeyReleased
int k = evt.getKeyCode();
jField1B.setText(KeyEvent.getKeyText(k));
keys[0][5] = k;
}//GEN-LAST:event_jField1BKeyReleased
private void jField1SelectKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1SelectKeyReleased
int k = evt.getKeyCode();
jField1Select.setText(KeyEvent.getKeyText(k));
keys[0][6] = k;
}//GEN-LAST:event_jField1SelectKeyReleased
private void jField1StartKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1StartKeyReleased
int k = evt.getKeyCode();
jField1Start.setText(KeyEvent.getKeyText(k));
keys[0][7] = k;
}//GEN-LAST:event_jField1StartKeyReleased
private void jField2UpKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2UpKeyReleased
int k = evt.getKeyCode();
jField2Up.setText(KeyEvent.getKeyText(k));
keys[1][0] = k;
}//GEN-LAST:event_jField2UpKeyReleased
private void jField2StartKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2StartKeyReleased
int k = evt.getKeyCode();
jField2Start.setText(KeyEvent.getKeyText(k));
keys[1][7] = k;
}//GEN-LAST:event_jField2StartKeyReleased
private void jField2DownKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2DownKeyReleased
int k = evt.getKeyCode();
jField2Down.setText(KeyEvent.getKeyText(k));
keys[1][1] = k;
}//GEN-LAST:event_jField2DownKeyReleased
private void jField2LeftKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2LeftKeyReleased
int k = evt.getKeyCode();
jField2Left.setText(KeyEvent.getKeyText(k));
keys[1][2] = k;
}//GEN-LAST:event_jField2LeftKeyReleased
private void jField2RightKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2RightKeyReleased
int k = evt.getKeyCode();
jField2Right.setText(KeyEvent.getKeyText(k));
keys[1][3] = k;
}//GEN-LAST:event_jField2RightKeyReleased
private void jField2AKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2AKeyReleased
int k = evt.getKeyCode();
jField2A.setText(KeyEvent.getKeyText(k));
keys[1][4] = k;
}//GEN-LAST:event_jField2AKeyReleased
private void jField2BKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2BKeyReleased
int k = evt.getKeyCode();
jField2B.setText(KeyEvent.getKeyText(k));
keys[1][5] = k;
}//GEN-LAST:event_jField2BKeyReleased
private void jField2SelectKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2SelectKeyReleased
int k = evt.getKeyCode();
jField2Select.setText(KeyEvent.getKeyText(k));
keys[1][6] = k;
}//GEN-LAST:event_jField2SelectKeyReleased
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jButton1ActionPerformed
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jButton2ActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButtonCancel;
private javax.swing.JButton jButtonOK;
private javax.swing.JTextField jField1A;
private javax.swing.JTextField jField1B;
private javax.swing.JTextField jField1Down;
private javax.swing.JTextField jField1Left;
private javax.swing.JTextField jField1Right;
private javax.swing.JTextField jField1Select;
private javax.swing.JTextField jField1Start;
private javax.swing.JTextField jField1Up;
private javax.swing.JTextField jField2A;
private javax.swing.JTextField jField2B;
private javax.swing.JTextField jField2Down;
private javax.swing.JTextField jField2Left;
private javax.swing.JTextField jField2Right;
private javax.swing.JTextField jField2Select;
private javax.swing.JTextField jField2Start;
private javax.swing.JTextField jField2Up;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JLabel jLabelCtrl1;
private javax.swing.JLabel jLabelCtrl2;
// End of variables declaration//GEN-END:variables
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/DebugUI.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.NES;
import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
public class DebugUI extends JFrame {
// StrokeInformer aStrokeInformer = new StrokeInformer();
private ShowFrame fbuf;
private int xsize, ysize;
private Repainter painter = new Repainter();
public DebugUI(int height, int width) {
this.xsize = height;
this.ysize = width;
fbuf = new ShowFrame();
fbuf.setIgnoreRepaint(true);
}
public void run() {
this.setTitle("HalfNES Debug " + NES.VERSION);
this.setResizable(false);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
this.setContentPane(fbuf);
this.pack();
this.setVisible(true);
}
public void messageBox(String s) {
JOptionPane.showMessageDialog(fbuf, s);
}
public void setFrame(BufferedImage b) {
fbuf.nextFrame = b;
java.awt.EventQueue.invokeLater(painter);
//do the actual screen update on the event thread, basically all this does is blit the new frame
}
public class Repainter implements Runnable {
public void run() {
fbuf.repaint();
}
}
public class ShowFrame extends javax.swing.JPanel {
public BufferedImage nextFrame;
/**
*
*/
public ShowFrame() {
this.setBounds(0, 0, xsize, ysize);
this.setPreferredSize(new Dimension(xsize, ysize));
}
@Override
public void paint(final Graphics g) {
g.drawImage(nextFrame, 0, 0, xsize, ysize, null);
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/DummyController.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.ui;
import java.util.HashMap;
import static com.grapeshot.halfnes.utils.BIT0;
import static com.grapeshot.halfnes.utils.BIT1;
import static com.grapeshot.halfnes.utils.BIT2;
import static com.grapeshot.halfnes.utils.BIT3;
import static com.grapeshot.halfnes.utils.BIT4;
import static com.grapeshot.halfnes.utils.BIT5;
import static com.grapeshot.halfnes.utils.BIT6;
import static com.grapeshot.halfnes.utils.BIT7;
/**
* @author Andrew
*/
public class DummyController implements ControllerInterface {
//i wrote this to test a bug in the menu of one game.
//if using this again, maybe a parser and some RLE would be appropriate?
//or just make it load FCEUX movie files?
int outbyte = 0;
int latchbyte = 0;
char[] input = ("000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "00000000000000000000000000000SSSSSSSSSSSSSS00000000000000000000000"
+ "00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000"
+ "00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000"
+ "00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000"
+ "00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000"
+ "00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000"
+ "00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000"
+ "00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "000000000000000000000000000000000000000000000000000000000000000000"
+ "00000000000000000000000000000SSSSSSSSSSSSSS00000000000000000000000").toCharArray();
HashMap m = new HashMap<>();
int frame = 0;
public DummyController(int controllernum) {
m.put('0', 0x00); // Null
m.put('U', BIT4); // Up
m.put('D', BIT5); // Down
m.put('L', BIT6); // Left
m.put('R', BIT7); // Right
m.put('A', BIT0); // A
m.put('B', BIT1); // B
m.put('s', BIT2); // Select
m.put('S', BIT3); // Start
}
@Override
public void strobe() {
//shifts a byte out
outbyte = latchbyte & 1;
latchbyte = ((latchbyte >> 1) | 0x100);
}
@Override
public void output(final boolean state) {
if (frame < input.length) {
latchbyte = m.get(input[frame]);
} else {
latchbyte = 0;
}
++frame;
}
@Override
public int peekOutput() {
return latchbyte;
}
@Override
public int getbyte() {
return outbyte;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/FrameLimiterImpl.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.NES;
import com.grapeshot.halfnes.PrefsSingleton;
/**
*
* @author Andrew
*/
public class FrameLimiterImpl implements FrameLimiterInterface {
NES nes;
private long sleepingtest = 0;
public long FRAME_NS;
public FrameLimiterImpl(NES nes, long framens) {
this.nes = nes;
FRAME_NS = framens;
//forceHighResolutionTimer();
}
public void setInterval(long ns) {
FRAME_NS = ns;
}
@Override
public void sleep() {
//Frame Limiter
if (!PrefsSingleton.get().getBoolean("Sleep", true)) {
return; //skip frame limiter if pref set
}
final long timeleft = System.nanoTime() - nes.frameStartTime;
if (timeleft < FRAME_NS) {
final long sleepytime = (FRAME_NS - timeleft + sleepingtest);
if (sleepytime < 0) {
return;
//don't sleep at all.
}
sleepingtest = System.nanoTime();
try {
//System.err.println(sleepytime/ 1000000.);
Thread.sleep(sleepytime / 1000000);
// sleep for rest of the time until the next frame
} catch (InterruptedException ex) {
}
sleepingtest = System.nanoTime() - sleepingtest;
//now sleeping test has how many ns the sleep *actually* was
sleepingtest = sleepytime - sleepingtest;
//now sleepingtest has how much the next frame needs to be delayed by to make things match
}
}
@Override
public void sleepFixed() {
try {
//sleep for 16 ms
Thread.sleep(16);
} catch (InterruptedException ex) {
}
}
public static void forceHighResolutionTimer() {
//UGLY HACK ALERT: Just realized why sleep() rounds to nearest
//multiple of 10: it's because no other program is using high resolution timer.
//This should, hopefully, fix that.
final Thread daemon = new Thread("ForceHighResolutionTimer") {
@Override
public void run() {
while (true) {
try {
Thread.sleep(99999999999L);
} catch (InterruptedException e) {
break;
}
}
}
};
daemon.setDaemon(true);
daemon.start();
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/FrameLimiterInterface.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.ui;
/**
*
* @author Andrew
*/
public interface FrameLimiterInterface {
public void sleep();
public void sleepFixed();
public void setInterval(long ns);
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/GUIInterface.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.NES;
/**
*
* @author Andrew
*/
public interface GUIInterface extends Runnable {
public NES getNes();
public void setNES(NES nes);
public void setFrame(int[] frame, int[] bgcolor, boolean dotcrawl);
//Frame is now a 256x240 array with NES color numbers from 0-3F
//plus the state of the 3 color emphasis bits in bits 7,8,9
public void messageBox(String message);
@Override
public void run();
public void render();
public void loadROMs(String path);
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/HeadlessUI.java
================================================
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.CPURAM;
import com.grapeshot.halfnes.NES;
import com.grapeshot.halfnes.video.RGBRenderer;
import com.grapeshot.halfnes.video.Renderer;
import java.awt.image.BufferedImage;
/**
* @author Mitchell Skaggs
*/
public class HeadlessUI implements GUIInterface {
private NES nes;
private Renderer renderer;
private boolean renderFrames;
private BufferedImage lastFrame = null;
private boolean updateImage;
private PuppetController controller1, controller2;
public HeadlessUI(String romToLoad, boolean renderFrames) {
nes = new NES(this);
this.loadROM(romToLoad);
this.renderer = new RGBRenderer();
this.controller1 = new PuppetController();
this.controller2 = new PuppetController();
nes.setControllers(this.controller1, this.controller2);
this.renderFrames = renderFrames;
}
public void loadROM(String romToLoad) {
this.nes.loadROM(romToLoad);
}
public BufferedImage getLastFrame() {
return lastFrame;
}
public PuppetController getController1() {
return controller1;
}
public PuppetController getController2() {
return controller2;
}
public synchronized void runFrame() {
nes.frameAdvance();
}
public CPURAM getNESCPURAM() {
return nes.getCPURAM();
}
@Override
public NES getNes() {
return nes;
}
@Override
public void setNES(NES nes) {
this.nes = nes;
}
@Override
public void setFrame(int[] frame, int[] bgcolor, boolean dotcrawl) {
if (renderFrames) {
this.lastFrame = renderer.render(frame, bgcolor, dotcrawl);
}
}
@Override
public void messageBox(String message) {
System.err.println(message); // Shouldn't get any messages except errors
}
@Override
public void run() {
// Null-op
}
@Override
public void render() {
}
@Override
public void loadROMs(String path) {
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/NESFileFilter.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.ui;
import javax.swing.filechooser.FileFilter;
import java.io.FilenameFilter;
import java.io.File;
/**
*
* @author Andrew
*/
public class NESFileFilter implements FilenameFilter {
// public boolean accept(File f) {
// if (f.isDirectory()) {
// return true;
// }
//
// String extension = utils.getExtension(f);
// if (extension != null) {
// if (extension.equalsIgnoreCase(".nes")
// || extension.equalsIgnoreCase(".fds")
// || extension.equalsIgnoreCase(".nsf")) {
// return true;
// } else {
// return false;
// }
// }
// return false;
// }
public String getDescription() {
return ".NES, .FDS, .NSF, .ZIP";
}
public boolean accept(File dir, String name) {
if (name.endsWith(".nes")
|| name.endsWith(".fds")
|| name.endsWith(".nsf")
|| name.endsWith(".zip")) {
return true;
} else {
return false;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/OnScreenMenu.java
================================================
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.FileUtils;
import static com.grapeshot.halfnes.utils.BIT8;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
import javafx.application.Platform;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.control.ListView;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.StackPane;
/**
* @author Stephen Chin - steveonjava@gmail.com
*/
public class OnScreenMenu extends StackPane {
private GUIInterface gui;
private ListView menu;
private ListView gameMenu;
private final ObservableList menuItems = FXCollections.observableArrayList(
new MenuAction("Resume", this::resume),
new MenuAction("Load Game", this::loadGame),
new MenuAction("Reset", this::reset),
new MenuAction("Exit", this::exit),
new MenuAction("Power Off", this::powerOff));
private final ObservableList games = FXCollections.observableArrayList(
new MenuAction("Back", () -> gameMenu.setVisible(false)));
public OnScreenMenu(GUIInterface gui) {
this.gui = gui;
menu = new ListView<>(menuItems);
gameMenu = new ListView(games);
addMenuListeners(menu);
addMenuListeners(gameMenu);
getChildren().addAll(menu, gameMenu);
gameMenu.setVisible(false);
setVisible(false);
}
private void addMenuListeners(ListView menu) {
menu.addEventHandler(javafx.scene.input.KeyEvent.KEY_RELEASED, e -> {
if (e.getCode().equals(KeyCode.ENTER) || e.getCode().equals(KeyCode.SPACE)) {
menu.getSelectionModel().getSelectedItem().run();
}
});
menu.addEventHandler(javafx.scene.input.MouseEvent.MOUSE_CLICKED, e -> {
if (e.getClickCount() == 2) {
menu.getSelectionModel().getSelectedItem().run();
}
});
}
public void show() {
gui.getNes().pause();
setVisible(true);
}
private void hide() {
setVisible(false);
}
public void loadROMs(String path) {
if (path.toLowerCase().endsWith(".zip")) {
try {
loadRomFromZip(path);
} catch (IOException ex) {
gui.messageBox("Could not load file:\nFile does not exist or is not a valid NES game.\n" + ex.getMessage());
}
} else {
games.add(new GameAction(new File(path)));
runGame(path);
}
}
private void loadRomFromZip(String zipName) throws IOException {
listRomsInZip(zipName).stream().map(romName -> new GameAction(zipName, romName)).forEach(games::add);
if (games.size() == 2) {
games.get(1).run();
} else if (games.size() > 2) {
Platform.runLater(() -> loadGame());
}
}
private List listRomsInZip(String zipName) throws IOException {
final List romNames;
try (ZipFile zipFile = new ZipFile(zipName)) {
final Enumeration extends ZipEntry> zipEntries = zipFile.entries();
romNames = new ArrayList<>();
while (zipEntries.hasMoreElements()) {
final ZipEntry entry = zipEntries.nextElement();
if (!entry.isDirectory() && (entry.getName().endsWith(".nes")
|| entry.getName().endsWith(".fds")
|| entry.getName().endsWith(".nsf"))) {
romNames.add(entry.getName());
}
}
}
if (romNames.isEmpty()) {
throw new IOException("No NES games found in ZIP file.");
}
return romNames;
}
private File extractRomFromZip(String zipName, String romName) throws IOException {
final File outputFile;
final FileOutputStream fos;
try (ZipInputStream zipStream = new ZipInputStream(new FileInputStream(zipName))) {
ZipEntry entry;
do {
entry = zipStream.getNextEntry();
} while ((entry != null) && (!entry.getName().equals(romName)));
if (entry == null) {
zipStream.close();
throw new IOException("Cannot find file " + romName + " inside archive " + zipName);
}
//name temp. extracted file after parent zip and file inside
//note: here's the bug, when it saves the temp file if it's in a folder
//in the zip it's trying to put it in the same folder outside the zip
outputFile = new File(new File(zipName).getCanonicalFile().getParent()
+ File.separator + FileUtils.stripExtension(new File(zipName).getName())
+ " - " + romName);
if (outputFile.exists() && !outputFile.delete()) {
gui.messageBox("Cannot extract file. File " + outputFile.getCanonicalPath() + " already exists.");
zipStream.close();
return null;
}
final byte[] buf = new byte[4096];
fos = new FileOutputStream(outputFile);
int numBytes;
while ((numBytes = zipStream.read(buf, 0, buf.length)) != -1) {
fos.write(buf, 0, numBytes);
}
}
fos.close();
return outputFile;
}
private void resume() {
gui.getNes().resume();
hide();
}
private void loadGame() {
gameMenu.setVisible(true);
gameMenu.requestFocus();
}
private void runGame(String path) {
gui.getNes().loadROM(path);
Platform.runLater(() -> {
gameMenu.setVisible(false);
hide();
});
}
private void reset() {
gui.getNes().reset();
hide();
}
private void exit() {
gui.getNes().quit();
Platform.exit();
}
private void powerOff() {
// try {
// Runtime.getRuntime().exec("sudo shutdown -h now");
// } catch (IOException ex) {
// Logger.getLogger(OnScreenMenu.class.getName()).log(Level.SEVERE, null, ex);
// }
}
class MenuAction {
String name;
Runnable action;
MenuAction() {
}
MenuAction(String name, Runnable action) {
this.name = name;
this.action = action;
}
public void run() {
action.run();
}
@Override
public String toString() {
return name;
}
}
class GameAction extends MenuAction {
GameAction(File game) {
name = game.getName();
action = () -> {
try {
gui.getNes().loadROM(game.getCanonicalPath());
Platform.runLater(() -> {
gameMenu.setVisible(false);
menu.setVisible(false);
});
} catch (IOException e) {
gui.messageBox(e.getMessage());
}
};
}
GameAction(final String zipName, final String romName) {
if (romName.toLowerCase().endsWith(".nes")) {
name = romName.substring(0, romName.length() - 4);
} else {
name = romName;
}
action = () -> {
try {
final File extractedFile = extractRomFromZip(zipName, romName);
if (extractedFile != null) {
extractedFile.deleteOnExit();
}
runGame(extractedFile.getCanonicalPath());
} catch (IOException e) {
gui.messageBox(e.getMessage());
}
};
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/Oscilloscope.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.audio.AudioOutInterface;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
/**
*
* @author Andrew
*/
public class Oscilloscope implements AudioOutInterface {
final private static int width = 400, length = 640;
final private static int scf = 65536 / width / 2;
DebugUI d;
BufferedImage b;
Graphics2D g;
AudioOutInterface iface;
int[] buffer = new int[length];
int buf_ptr = 0;
int prevsample = 0;
public Oscilloscope(AudioOutInterface i) {
this.iface = i;
d = new DebugUI(length, width);
b = new BufferedImage(length, width, BufferedImage.TYPE_INT_ARGB_PRE);
g = b.createGraphics();
g.setBackground(Color.black);
g.setColor(Color.green);
d.pack();
d.run();
}
public Oscilloscope() {
this.iface = null;
d = new DebugUI(length, width);
b = new BufferedImage(length, width, BufferedImage.TYPE_INT_ARGB_PRE);
g = b.createGraphics();
g.setBackground(Color.black);
g.setColor(Color.red);
d.pack();
d.run();
}
@Override
public void outputSample(int sample) {
if (buf_ptr > 0
|| (prevsample <= 0 && sample >= 0)) {
//start cap @ zero crossing
if (buf_ptr < buffer.length) {
buffer[buf_ptr++] = sample;
}
}
prevsample = sample;
if (!(iface == null)) {
iface.outputSample(sample);
}
}
@Override
public void flushFrame(boolean waitIfBufferFull) {
if (!(iface == null)) {
iface.flushFrame(waitIfBufferFull);
}
g.clearRect(0, 0, length, width);
for (int i = 1; i < buf_ptr; ++i) {
g.drawLine(i - 1, (buffer[i - 1] / scf) + width / 2, i, (buffer[i] / scf) + width / 2);
}
g.drawLine(0, width / 2, length, width / 2);
d.setFrame(b);
buf_ptr = 0;
}
@Override
public void pause() {
if (!(iface == null)) {
iface.pause();
}
}
@Override
public void resume() {
if (!(iface == null)) {
iface.resume();
}
}
@Override
public void destroy() {
d.setVisible(false);
d.dispose();
if (!(iface == null)) {
iface.destroy();
}
}
@Override
public boolean bufferHasLessThan(int samples) {
if (!(iface == null)) {
return iface.bufferHasLessThan(samples);
} else {
return false;
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/PreferencesDialog.form
================================================
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/PreferencesDialog.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
/*
* OptionsDialog.java
*
* Created on Jan 16, 2011, 4:21:43 PM
*/
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.PrefsSingleton;
import java.awt.event.KeyEvent;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.prefs.BackingStoreException;
import java.util.prefs.Preferences;
/**
*
* @author Andrew
*/
public class PreferencesDialog extends javax.swing.JDialog {
private int screenScaling;
private boolean okClicked = false;
/**
* Creates new form OptionsDialog
*/
public PreferencesDialog(java.awt.Frame parent) {
super(parent, true);
Preferences prefs = PrefsSingleton.get();
initComponents();
this.setTitle("HalfNES Preferences");
//set all of the text boxes
//aand the sound enable checkbox.
jCheckSoundEnable.setSelected(prefs.getBoolean("soundEnable", true));
jCheckSoundFiltering.setSelected(prefs.getBoolean("soundFiltering", true));
jCheckMaintainAspect.setSelected(prefs.getBoolean("maintainAspect", true));
jCheckBoxNTSC.setSelected(prefs.getBoolean("TVEmulation", false));
jCheckBoxNTView.setSelected(prefs.getBoolean("ntView", false));
jCheckBoxShowScope.setSelected(prefs.getBoolean("showScope", false));
jCheckBoxSleep.setSelected(prefs.getBoolean("Sleep", true));
jButtonOK.setActionCommand("OK");
jButtonCancel.setActionCommand("Cancel");
screenScaling = prefs.getInt("screenScaling", 2);
jSpinnerScale.setValue(screenScaling);
jSampleRateBox.setSelectedItem(Integer.toString(prefs.getInt("sampleRate", 44100)));
jCheckBoxSmoothVideo.setSelected(prefs.getBoolean("smoothScaling", false));
volumeSlider.setValue(prefs.getInt("outputvol", 13107));
jRegionBox.setSelectedIndex(prefs.getInt("region", 0));
//0-> auto, 1-> NTSC, 2-> PAL, 3-> Dendy
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
jLabel1 = new javax.swing.JLabel();
jCheckSoundEnable = new javax.swing.JCheckBox();
jButtonCancel = new javax.swing.JButton();
jButtonOK = new javax.swing.JButton();
jSampleRateBox = new javax.swing.JComboBox();
jLabel2 = new javax.swing.JLabel();
jCheckMaintainAspect = new javax.swing.JCheckBox();
jLabel14 = new javax.swing.JLabel();
jCheckSoundFiltering = new javax.swing.JCheckBox();
jLabel15 = new javax.swing.JLabel();
volumeSlider = new javax.swing.JSlider();
jLabel17 = new javax.swing.JLabel();
jLabel18 = new javax.swing.JLabel();
jCheckBoxNTSC = new javax.swing.JCheckBox();
jLabel19 = new javax.swing.JLabel();
jSpinnerScale = new javax.swing.JSpinner();
jLabel20 = new javax.swing.JLabel();
jCheckBoxSmoothVideo = new javax.swing.JCheckBox();
jCheckBoxSleep = new javax.swing.JCheckBox();
jCheckBoxShowScope = new javax.swing.JCheckBox();
jCheckBoxNTView = new javax.swing.JCheckBox();
jLabel3 = new javax.swing.JLabel();
jRegionBox = new javax.swing.JComboBox();
setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);
setName("OptionsDialog"); // NOI18N
setResizable(false);
jLabel1.setText("Screen scaling: scale up "); // NOI18N
jCheckSoundEnable.setText("Enable Sound"); // NOI18N
jButtonCancel.setText("Cancel"); // NOI18N
jButtonCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonCancelActionPerformed(evt);
}
});
jButtonOK.setText("OK"); // NOI18N
jButtonOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonOKActionPerformed(evt);
}
});
jSampleRateBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "16000", "24000", "44100", "48000","96000" }));
jSampleRateBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jSampleRateBoxActionPerformed(evt);
}
});
jLabel2.setText("Sample Rate:"); // NOI18N
jCheckMaintainAspect.setText("Maintain Aspect Ratio"); // NOI18N
jLabel14.setText("Sound:"); // NOI18N
jCheckSoundFiltering.setText("Enable Filtering"); // NOI18N
jCheckSoundFiltering.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jCheckSoundFilteringActionPerformed(evt);
}
});
jLabel15.setText("Output Volume:"); // NOI18N
volumeSlider.setMajorTickSpacing(8192);
volumeSlider.setMaximum(16384);
volumeSlider.setMinorTickSpacing(4096);
volumeSlider.setPaintTicks(true);
volumeSlider.setValue(80);
jLabel17.setText("0"); // NOI18N
jLabel18.setText("100"); // NOI18N
jCheckBoxNTSC.setText("Use NTSC TV Filter (Experimental)");
jCheckBoxNTSC.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jCheckBoxNTSCActionPerformed(evt);
}
});
jLabel19.setText("Video options:"); // NOI18N
jSpinnerScale.setModel(new javax.swing.SpinnerNumberModel(2, 1, 6, 1));
jLabel20.setText("times"); // NOI18N
jCheckBoxSmoothVideo.setText("Use Smooth Scaling");
jCheckBoxSmoothVideo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jCheckBoxSmoothVideoActionPerformed(evt);
}
});
jCheckBoxSleep.setText("Sleep Between Frames");
jCheckBoxSleep.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jCheckBoxSleepActionPerformed(evt);
}
});
jCheckBoxShowScope.setText("Show Audio Output");
jCheckBoxNTView.setText("Show Nametable Viewer");
jLabel3.setText("Console Region:");
jRegionBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Auto Detect", "NTSC", "PAL", "Dendy (Hybrid)" }));
jRegionBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRegionBoxActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(jButtonOK)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButtonCancel))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSpinnerScale, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel20, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel19)
.addComponent(jCheckBoxNTSC)
.addComponent(jCheckMaintainAspect)
.addComponent(jCheckBoxSmoothVideo)
.addComponent(jCheckBoxSleep)
.addComponent(jCheckBoxShowScope)
.addComponent(jCheckBoxNTView))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(volumeSlider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel14)
.addComponent(jCheckSoundEnable)
.addComponent(jCheckSoundFiltering)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jSampleRateBox, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel15)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel17)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel18))))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jRegionBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(6, 6, 6)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel14)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jCheckSoundEnable)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jCheckSoundFiltering)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jSampleRateBox, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(3, 3, 3)
.addComponent(jLabel15)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(volumeSlider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel17)
.addComponent(jLabel18)))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel19)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jSpinnerScale, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel20))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jCheckBoxSmoothVideo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jCheckMaintainAspect)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jCheckBoxNTSC)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jCheckBoxSleep)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jCheckBoxShowScope)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jCheckBoxNTView)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jRegionBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButtonOK)
.addComponent(jButtonCancel))
.addContainerGap())
);
pack();
}// //GEN-END:initComponents
private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelActionPerformed
if ("Cancel".equals(evt.getActionCommand())) {
this.setVisible(false);
}
}//GEN-LAST:event_jButtonCancelActionPerformed
private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonOKActionPerformed
// if ("OK".equals(evt.getActionCommand())) {
//here we go... save everything and hide the window
Preferences prefs = PrefsSingleton.get();
prefs.putBoolean("soundEnable", jCheckSoundEnable.isSelected());
prefs.putBoolean("soundFiltering", jCheckSoundFiltering.isSelected());
prefs.putBoolean("maintainAspect", jCheckMaintainAspect.isSelected());
prefs.putBoolean("TVEmulation", jCheckBoxNTSC.isSelected());
prefs.putBoolean("Sleep", jCheckBoxSleep.isSelected());
screenScaling = (Integer) (jSpinnerScale.getModel().getValue());
prefs.putBoolean("smoothScaling", jCheckBoxSmoothVideo.isSelected());
prefs.putBoolean("showScope", jCheckBoxShowScope.isSelected());
prefs.putBoolean("ntView", jCheckBoxNTView.isSelected());
prefs.putInt("screenScaling", screenScaling);
prefs.putInt("sampleRate", Integer.parseInt(jSampleRateBox.getSelectedItem().toString()));
prefs.putInt("outputvol", volumeSlider.getValue());
prefs.putInt("region", jRegionBox.getSelectedIndex());
try {
prefs.flush();
} catch (BackingStoreException ex) {
Logger.getLogger(PreferencesDialog.class.getName()).log(Level.SEVERE, null, ex);
}
okClicked = true;
this.setVisible(false);
// }
}//GEN-LAST:event_jButtonOKActionPerformed
public boolean okClicked() {
return okClicked;
}
private void jSampleRateBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jSampleRateBoxActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jSampleRateBoxActionPerformed
private void jCheckSoundFilteringActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckSoundFilteringActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jCheckSoundFilteringActionPerformed
private void jCheckBoxNTSCActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxNTSCActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jCheckBoxNTSCActionPerformed
private void jCheckBoxSmoothVideoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxSmoothVideoActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jCheckBoxSmoothVideoActionPerformed
private void jCheckBoxSleepActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxSleepActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jCheckBoxSleepActionPerformed
private void jRegionBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRegionBoxActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jRegionBoxActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton jButtonCancel;
private javax.swing.JButton jButtonOK;
private javax.swing.JCheckBox jCheckBoxNTSC;
private javax.swing.JCheckBox jCheckBoxNTView;
private javax.swing.JCheckBox jCheckBoxShowScope;
private javax.swing.JCheckBox jCheckBoxSleep;
private javax.swing.JCheckBox jCheckBoxSmoothVideo;
private javax.swing.JCheckBox jCheckMaintainAspect;
private javax.swing.JCheckBox jCheckSoundEnable;
private javax.swing.JCheckBox jCheckSoundFiltering;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel3;
private javax.swing.JComboBox jRegionBox;
private javax.swing.JComboBox jSampleRateBox;
private javax.swing.JSpinner jSpinnerScale;
private javax.swing.JSlider volumeSlider;
// End of variables declaration//GEN-END:variables
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/PuppetController.java
================================================
package com.grapeshot.halfnes.ui;
import static com.grapeshot.halfnes.utils.BIT0;
import static com.grapeshot.halfnes.utils.BIT1;
import static com.grapeshot.halfnes.utils.BIT2;
import static com.grapeshot.halfnes.utils.BIT3;
import static com.grapeshot.halfnes.utils.BIT4;
import static com.grapeshot.halfnes.utils.BIT5;
import static com.grapeshot.halfnes.utils.BIT6;
import static com.grapeshot.halfnes.utils.BIT7;
/**
* Created by skaggsm on 12/5/15.
*/
public class PuppetController implements ControllerInterface {
private int latchbyte = 0, controllerbyte = 0, outbyte = 0;
@Override
public void strobe() {
//shifts a byte out
outbyte = latchbyte & 1;
latchbyte = ((latchbyte >> 1) | 0x100);
}
@Override
public void output(boolean state) {
latchbyte = controllerbyte;
}
@Override
public int peekOutput() {
return latchbyte;
}
@Override
public int getbyte() {
return outbyte;
}
public void resetButtons() {
controllerbyte = 0;
}
public void releaseButton(Button button) {
switch (button) {
case UP:
controllerbyte &= ~BIT4;
break;
case DOWN:
controllerbyte &= ~BIT5;
break;
case LEFT:
controllerbyte &= ~BIT6;
break;
case RIGHT:
controllerbyte &= ~BIT7;
break;
case A:
controllerbyte &= ~BIT0;
break;
case B:
controllerbyte &= ~BIT1;
break;
case SELECT:
controllerbyte &= ~BIT2;
break;
case START:
controllerbyte &= ~BIT3;
break;
}
}
public void pressButton(Button button) {
switch (button) {
case UP:
controllerbyte |= BIT4;
break;
case DOWN:
controllerbyte |= BIT5;
break;
case LEFT:
controllerbyte |= BIT6;
break;
case RIGHT:
controllerbyte |= BIT7;
break;
case A:
controllerbyte |= BIT0;
break;
case B:
controllerbyte |= BIT1;
break;
case SELECT:
controllerbyte |= BIT2;
break;
case START:
controllerbyte |= BIT3;
break;
}
}
public enum Button {
UP, DOWN, LEFT, RIGHT, A, B, SELECT, START
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/ui/SwingUI.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.FileUtils;
import com.grapeshot.halfnes.NES;
import com.grapeshot.halfnes.PrefsSingleton;
import com.grapeshot.halfnes.video.RGBRenderer;
import com.grapeshot.halfnes.cheats.ActionReplay;
import com.grapeshot.halfnes.cheats.ActionReplayGui;
import com.grapeshot.halfnes.video.NTSCRenderer;
import com.grapeshot.halfnes.video.Renderer;
import java.awt.*;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.*;
import java.awt.image.BufferStrategy;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
import javax.swing.*;
public class SwingUI extends JFrame implements GUIInterface {
private Canvas canvas;
private BufferStrategy buffer;
private NES nes;
private static final long serialVersionUID = 6411494245530679723L;
private final AL listener = new AL();
private int screenScaleFactor;
private final long[] frametimes = new long[60];
private int frametimeptr = 0;
private boolean smoothScale, inFullScreen = false;
private GraphicsDevice gd;
private int NES_HEIGHT, NES_WIDTH;
private Renderer renderer;
private final ControllerImpl padController1, padController2;
public SwingUI() {
nes = new NES(this);
screenScaleFactor = PrefsSingleton.get().getInt("screenScaling", 2);
padController1 = new ControllerImpl(this, 0);
padController2 = new ControllerImpl(this, 1);
nes.setControllers(padController1, padController2);
padController1.startEventQueue();
padController2.startEventQueue();
}
@Override
public NES getNes() {
return nes;
}
@Override
public void setNES(NES nes) {
this.nes = nes;
}
public synchronized void setRenderOptions() {
if (canvas != null) {
this.remove(canvas);
}
screenScaleFactor = PrefsSingleton.get().getInt("screenScaling", 2);
smoothScale = PrefsSingleton.get().getBoolean("smoothScaling", false);
if (PrefsSingleton.get().getBoolean("TVEmulation", false)) {
renderer = new NTSCRenderer();
NES_WIDTH = 302;
} else {
renderer = new RGBRenderer();
NES_WIDTH = 256;
}
if (PrefsSingleton.get().getInt("region", 0) > 1) {
NES_HEIGHT = 240;
renderer.setClip(0);
} else {
NES_HEIGHT = 224;
renderer.setClip(8);
}
// Create canvas for painting
canvas = new Canvas();
canvas.setSize(NES_WIDTH * screenScaleFactor, NES_HEIGHT * screenScaleFactor);
canvas.setEnabled(false); //otherwise it steals input events.
// Add canvas to game window
this.add(canvas);
this.pack();
canvas.createBufferStrategy(2);
buffer = canvas.getBufferStrategy();
}
public void start(String[] args) {
if (args == null || args.length < 1 || args[0] == null) {
nes.run();
} else {
nes.run(args[0]);
}
}
@Override
public synchronized void run() {
//construct window
this.setTitle("HalfNES " + NES.VERSION);
this.setResizable(false);
buildMenus();
setRenderOptions();
this.getRootPane().registerKeyboardAction(listener, "Escape",
KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
this.getRootPane().registerKeyboardAction(listener, "Toggle Fullscreen",
KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
this.getRootPane().registerKeyboardAction(listener, "Quit",
KeyStroke.getKeyStroke(KeyEvent.VK_F4, KeyEvent.ALT_DOWN_MASK), JComponent.WHEN_IN_FOCUSED_WINDOW);
this.setLocation(PrefsSingleton.get().getInt("windowX", 0),
PrefsSingleton.get().getInt("windowY", 0));
this.addWindowListener(listener);
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.setVisible(true);
// Create BackBuffer
//now add the drag and drop handler.
TransferHandler handler = new TransferHandler() {
@Override
public boolean canImport(final TransferHandler.TransferSupport support) {
if (!support.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
return false;
}
return true;
}
@Override
public boolean importData(final TransferHandler.TransferSupport support) {
if (!canImport(support)) {
return false;
}
Transferable t = support.getTransferable();
try {
//holy typecasting batman (this interface predates generics)
File toload = (File) ((java.util.List) t.getTransferData(DataFlavor.javaFileListFlavor)).get(0);
loadROM(toload.getCanonicalPath());
} catch (UnsupportedFlavorException e) {
return false;
} catch (IOException e) {
return false;
}
return true;
}
};
this.setTransferHandler(handler);
}
public void buildMenus() {
JMenuBar menus = new JMenuBar();
JMenu file = new JMenu("File");
JMenuItem item;
file.add(item = new JMenuItem("Open ROM"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
file.addSeparator();
file.add(item = new JMenuItem("Preferences"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
file.addSeparator();
file.add(item = new JMenuItem("Toggle Fullscreen"));
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0));
item.addActionListener(listener);
menus.add(file);
file.add(item = new JMenuItem("Quit"));
item.addActionListener(listener);
menus.add(file);
JMenu nesmenu = new JMenu("NES");
nesmenu.add(item = new JMenuItem("Reset"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
nesmenu.add(item = new JMenuItem("Hard Reset"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
nesmenu.add(item = new JMenuItem("Pause"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F7, 0));
nesmenu.add(item = new JMenuItem("Resume"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F8, 0));
nesmenu.add(item = new JMenuItem("Fast Forward"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_SPACE,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
nesmenu.add(item = new JMenuItem("Frame Advance"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
nesmenu.addSeparator();
nesmenu.add(item = new JMenuItem("Controller Settings"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
nesmenu.add(item = new JMenuItem("Cheat Codes"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F10,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
nesmenu.addSeparator();
nesmenu.add(item = new JMenuItem("ROM Info"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I,
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
menus.add(nesmenu);
JMenu help = new JMenu("Help");
help.add(item = new JMenuItem("About"));
item.addActionListener(listener);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));
menus.add(help);
this.setJMenuBar(menus);
}
public void loadROM() {
FileDialog fileDialog = new FileDialog(this);
fileDialog.setMode(FileDialog.LOAD);
fileDialog.setTitle("Select a ROM to load");
//should open last folder used, and if that doesn't exist, the folder it's running in
final String path = PrefsSingleton.get().get("filePath", System.getProperty("user.dir", ""));
final File startDirectory = new File(path);
if (startDirectory.isDirectory()) {
fileDialog.setDirectory(path);
}
//and if the last path used doesn't exist don't set the directory at all
//and hopefully the jFileChooser will open somewhere usable
//on Windows it does - on Mac probably not.
fileDialog.setFilenameFilter(new NESFileFilter());
boolean wasInFullScreen = false;
if (inFullScreen) {
wasInFullScreen = true;
//load dialog won't show if we are in full screen, so this fixes for now.
toggleFullScreen();
}
fileDialog.setVisible(true);
if (fileDialog.getFile() != null) {
PrefsSingleton.get().put("filePath", fileDialog.getDirectory());
loadROM(fileDialog.getDirectory() + fileDialog.getFile());
}
if (wasInFullScreen) {
toggleFullScreen();
}
}
private void loadROM(String path) {
if (path.endsWith(".zip") || path.endsWith(".ZIP")) {
try {
loadRomFromZip(path);
} catch (IOException ex) {
this.messageBox("Could not load file:\nFile does not exist or is not a valid NES game.\n" + ex.getMessage());
}
} else {
nes.loadROM(path);
}
}
private void loadRomFromZip(String zipName) throws IOException {
final String romName = selectRomInZip(listRomsInZip(zipName));
if (romName != null) {
final File extractedFile = extractRomFromZip(zipName, romName);
if (extractedFile != null) {
extractedFile.deleteOnExit();
nes.loadROM(extractedFile.getCanonicalPath());
}
}
}
private List listRomsInZip(String zipName) throws IOException {
final ZipFile zipFile = new ZipFile(zipName);
final Enumeration extends ZipEntry> zipEntries = zipFile.entries();
final List romNames = new ArrayList<>();
while (zipEntries.hasMoreElements()) {
final ZipEntry entry = zipEntries.nextElement();
if (!entry.isDirectory() && (entry.getName().endsWith(".nes")
|| entry.getName().endsWith(".fds")
|| entry.getName().endsWith(".nsf"))) {
romNames.add(entry.getName());
}
}
zipFile.close();
if (romNames.isEmpty()) {
throw new IOException("No NES games found in ZIP file.");
}
return romNames;
}
private String selectRomInZip(List romNames) {
if (romNames.size() > 1) {
return (String) JOptionPane.showInputDialog(this,
"Select ROM to load", "Select ROM to load",
JOptionPane.PLAIN_MESSAGE, null,
romNames.toArray(), romNames.get(0));
} else if (romNames.size() == 1) {
return romNames.get(0);
}
return null;
}
private File extractRomFromZip(String zipName, String romName) throws IOException {
final ZipInputStream zipStream = new ZipInputStream(new FileInputStream(zipName));
ZipEntry entry;
do {
entry = zipStream.getNextEntry();
} while ((entry != null) && (!entry.getName().equals(romName)));
if (entry == null) {
zipStream.close();
throw new IOException("Cannot find file " + romName + " inside archive " + zipName);
}
//name temp. extracted file after parent zip and file inside
//note: here's the bug, when it saves the temp file if it's in a folder
//in the zip it's trying to put it in the same folder outside the zip
final File outputFile = new File(new File(zipName).getParent()
+ File.separator + FileUtils.stripExtension(new File(zipName).getName())
+ " - " + romName);
if (outputFile.exists()) {
this.messageBox("Cannot extract file. File " + outputFile.getCanonicalPath() + " already exists.");
zipStream.close();
return null;
}
final byte[] buf = new byte[4096];
final FileOutputStream fos = new FileOutputStream(outputFile);
int numBytes;
while ((numBytes = zipStream.read(buf, 0, buf.length)) != -1) {
fos.write(buf, 0, numBytes);
}
zipStream.close();
fos.close();
return outputFile;
}
public synchronized void toggleFullScreen() {
if (inFullScreen) { // disable
this.dispose();
gd.setFullScreenWindow(null);
canvas.setSize(NES_HEIGHT * screenScaleFactor, NES_WIDTH * screenScaleFactor);
this.setUndecorated(false);
this.setVisible(true);
inFullScreen = false;
buildMenus();
// nes.resume();
} else { // enable
setJMenuBar(null);
gd = getGraphicsConfiguration().getDevice();
if (!gd.isFullScreenSupported()) {
//then fullscreen will give a window the size of the screen instead
messageBox("Fullscreen is not supported by your OS or version of Java.");
return;
}
this.dispose();
this.setUndecorated(true);
gd.setFullScreenWindow(this);
this.setVisible(true);
DisplayMode dm = gd.getDisplayMode();
canvas.setSize(dm.getWidth(), dm.getHeight());
inFullScreen = true;
}
}
@Override
public void messageBox(final String message) {
JOptionPane.showMessageDialog(this, message);
}
int bgcolor;
BufferedImage frame;
double fps;
int frameskip = 0;
@Override
public final synchronized void setFrame(final int[] nextframe, final int[] bgcolors, boolean dotcrawl) {
//todo: stop running video filters while paused!
//also move video filters into a worker thread because they
//don't really depend on emulation state at all. Yes this is going to
//cause more lag but it will hopefully get back up to playable speed with NTSC filter
frametimes[frametimeptr] = nes.getFrameTime();
++frametimeptr;
frametimeptr %= frametimes.length;
if (frametimeptr == 0) {
long averageframes = 0;
for (long l : frametimes) {
averageframes += l;
}
averageframes /= frametimes.length;
fps = 1E9 / averageframes;
this.setTitle(String.format("HalfNES %s - %s, %2.2f fps"
+ ((frameskip > 0) ? " frameskip " + frameskip : ""),
NES.VERSION,
nes.getCurrentRomName(),
fps));
}
if (nes.framecount % (frameskip + 1) == 0) {
frame = renderer.render(nextframe, bgcolors, dotcrawl);
render();
}
}
@Override
public final synchronized void render() {
final Graphics graphics = buffer.getDrawGraphics();
if (smoothScale) {
((Graphics2D) graphics).setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
}
if (inFullScreen) {
graphics.setColor(Color.BLACK);
DisplayMode dm = gd.getDisplayMode();
int scrnheight = dm.getHeight();
int scrnwidth = dm.getWidth();
graphics.fillRect(0, 0, scrnwidth, scrnheight);
if (PrefsSingleton.get().getBoolean("maintainAspect", true)) {
double scalefactor = getmaxscale(scrnwidth, scrnheight);
int height = (int) (NES_HEIGHT * scalefactor);
int width = (int) (256 * scalefactor * 1.1666667);
graphics.drawImage(frame, ((scrnwidth / 2) - (width / 2)),
((scrnheight / 2) - (height / 2)),
width,
height,
null);
} else {
graphics.drawImage(frame, 0, 0,
scrnwidth,
scrnheight,
null);
}
graphics.setColor(Color.DARK_GRAY);
graphics.drawString(this.getTitle(), 16, 16);
} else {
graphics.drawImage(frame, 0, 0, NES_WIDTH * screenScaleFactor, NES_HEIGHT * screenScaleFactor, null);
}
graphics.dispose();
buffer.show();
}
private void showOptions() {
final PreferencesDialog dialog = new PreferencesDialog(this);
dialog.setVisible(true);
if (dialog.okClicked()) {
setRenderOptions();
nes.setParameters();
}
}
private void showControlsDialog() {
final ControlsDialog dialog = new ControlsDialog(this);
dialog.setVisible(true);
if (dialog.okClicked()) {
padController1.setButtons();
padController2.setButtons();
}
}
private void showActionReplayDialog() {
nes.pause();
final ActionReplay actionReplay = nes.getActionReplay();
if (actionReplay != null) {
final ActionReplayGui dialog = new ActionReplayGui(this, false, actionReplay);
dialog.setVisible(true);
} else {
JOptionPane.showMessageDialog(this, "You have to load a game first.", "No ROM", JOptionPane.ERROR_MESSAGE);
}
nes.resume();
}
public void savewindowposition() {
PrefsSingleton.get().putInt("windowX", this.getX());
PrefsSingleton.get().putInt("windowY", this.getY());
}
private double getmaxscale(final int width, final int height) {
return Math.min(height / (double) NES_HEIGHT, width / (double) NES_WIDTH);
}
@Override
public void loadROMs(String path) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
public class AL implements ActionListener, WindowListener {
@Override
public void actionPerformed(final ActionEvent arg0) {
// placeholder for more robust handler
if (arg0.getActionCommand().equals("Quit")) {
close();
} else if (arg0.getActionCommand().equals("Reset")) {
nes.reset();
} else if (arg0.getActionCommand().equals("Hard Reset")) {
nes.reloadROM();
} else if (arg0.getActionCommand().equals("Pause")) {
nes.pause();
} else if (arg0.getActionCommand().equals("Resume")) {
nes.resume();
} else if (arg0.getActionCommand().equals("Preferences")) {
showOptions();
} else if (arg0.getActionCommand().equals("Fast Forward")) {
nes.toggleFrameLimiter();
} else if (arg0.getActionCommand().equals("About")) {
messageBox("HalfNES " + NES.VERSION
+ "\n"
+ "Get the latest version and report any bugs at " + NES.URL + " \n"
+ "\n"
+ "This program is free software licensed under the GPL version 3, and comes with \n"
+ "NO WARRANTY of any kind. (but if something's broken, please report it). \n"
+ "See the license.txt file for details.");
} else if (arg0.getActionCommand().equals("ROM Info")) {
String info = nes.getrominfo();
if (info != null) {
messageBox(info);
}
} else if (arg0.getActionCommand().equals("Open ROM")) {
loadROM();
} else if (arg0.getActionCommand().equals("Toggle Fullscreen")) {
toggleFullScreen();
} else if (arg0.getActionCommand().equals("Frame Advance")) {
nes.frameAdvance();
} else if (arg0.getActionCommand().equals("Escape")) {
if (inFullScreen) {
toggleFullScreen();
} else {
close();
}
} else if (arg0.getActionCommand().equals("Controller Settings")) {
showControlsDialog();
} else if (arg0.getActionCommand().equals("Cheat Codes")) {
showActionReplayDialog();
}
}
@Override
public void windowOpened(WindowEvent e) {
}
@Override
public void windowClosing(WindowEvent e) {
close();
}
private void close() {
dispose();
savewindowposition();
padController1.stopEventQueue();
padController2.stopEventQueue();
nes.quit();
}
@Override
public void windowClosed(WindowEvent e) {
//we don't care about these events
}
@Override
public void windowIconified(WindowEvent e) {
//but java wants us to implement something for all of them
}
@Override
public void windowDeiconified(WindowEvent e) {
//so we can use the interface.
}
@Override
public void windowActivated(WindowEvent e) {
}
@Override
public void windowDeactivated(WindowEvent e) {
}
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/utils.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes;
import java.util.Locale;
public class utils {
private utils() {}
public final static int BIT0 = 1, BIT1 = 2, BIT2 = 4, BIT3 = 8, BIT4 = 16,
BIT5 = 32, BIT6 = 64, BIT7 = 128, BIT8 = 256, BIT9 = 512,
BIT10 = 1024, BIT11 = 2048, BIT12 = 4096, BIT13 = 8192,
BIT14 = 16384, BIT15 = 32768;
public static int setbit(final int num, final int bitnum, final boolean state) {
return (state) ? (num | (1 << bitnum)) : (num & ~(1 << bitnum));
}
public static String hex(final int num) {
String s = Integer.toHexString(num).toUpperCase(Locale.US);
if ((s.length() & 1) == 1) {
s = "0" + s;
}
return s;
}
public static String hex(final long num) {
String s = Long.toHexString(num).toUpperCase(Locale.US);
if ((s.length() & 1) == 1) {
s = "0" + s;
}
return s;
}
public static int reverseByte(int nibble) {
//reverses 8 bits packed into int.
return (Integer.reverse(nibble) >> 24) & 0xff;
}
public static void printarray(final int[] a) {
StringBuilder s = new StringBuilder();
for (int i : a) {
s.append(i);
s.append(", ");
}
if (s.length() >= 1) {
s.deleteCharAt(s.length() - 1);
}
s.append("\n");
System.err.print(s.toString());
}
public static void printarray(final boolean[] a) {
StringBuilder s = new StringBuilder();
for (boolean i : a) {
s.append(i);
s.append(", ");
}
if (s.length() >= 1) {
s.deleteCharAt(s.length() - 1);
}
s.append("\n");
System.err.print(s.toString());
}
public static void printarray(final double[] a) {
StringBuilder s = new StringBuilder();
for (double i : a) {
s.append(i);
s.append(", ");
}
if (s.length() >= 1) {
s.deleteCharAt(s.length() - 1);
}
s.append("\n");
System.err.print(s.toString());
}
public static void printarray(final float[] a) {
StringBuilder s = new StringBuilder();
for (float i : a) {
s.append(i);
s.append(", ");
}
if (s.length() >= 1) {
s.deleteCharAt(s.length() - 1);
}
s.append("\n");
System.err.print(s.toString());
}
public static void printarray(final Object[] a) {
StringBuilder s = new StringBuilder();
for (Object i : a) {
s.append(i.toString());
s.append(", ");
}
if (s.length() >= 1) {
s.deleteCharAt(s.length() - 1);
}
s.append("\n");
System.err.print(s.toString());
}
public static int max(final int[] array) {
int m = array[0];
for (Integer i : array) {
if (i > m) {
m = i;
}
}
return m;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/video/AltNTSCRenderer.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.video;
import java.awt.image.BufferedImage;
import com.grapeshot.halfnes.utils;
import com.grapeshot.halfnes.utils;
/**
*
* @author Andrew
*/
//Direct port of Bisqwit's code on the wiki. (probably just as slow, we'll see.)
//yep, it's WORSE
//the expensive part is the Math function calls of course
public class AltNTSCRenderer extends Renderer {
public AltNTSCRenderer() {
frame_width = 604;
init_images();
// for (int i = 0; i < 12; ++i) {
// System.err.println(inColorPhase( 3, i));
// };
}
private final int[] frame = new int[width * 240];
private int frame_ptr = 0;
private int frame_ctr;
private int phase;
private final static double attenuation = 0.746;
private final static double[] levels = {
-0.117f, 0.000f, 0.308f, 0.715f,
0.397f, 0.681f, 1.0f, 1.0f
//0x00 0x10 0x20 0x30
};
private final static int SAMPLESPERPIXEL = 8;
@Override
public BufferedImage render(int[] nespixels, int[] bgcolors, boolean dotcrawl) {
++frame_ctr;
if ((frame_ctr & 1) == 0) {
phase = 0;
} else {
phase = 6;
}
for (int i = 0; i < 240; ++i) {
double phi = (phase + 3.9 - 0.3) % 12;
for (int j = 0; j < 256; ++j) {
ntsc_render(nespixels[i * 256 + j]);
}
ntsc_decode(phi);
ntsc_buf_ptr = 0;
}
frame_ptr = 0;
return getBufferedImage(frame);
}
private void ntsc_render(int pixel) {
int color = pixel & 0xf;
int level = (pixel >> 4) & 3;
int emphasis = (pixel >> 6);
if (color > 13) {
level = 1;
}
double low = levels[level];
double high = levels[4 + level];
if (color == 0) {
low = high;
} else if (color > 12) {
high = low;
}
for (int i = 0; i < SAMPLESPERPIXEL; ++i, ++phase) {
double signal = inColorPhase(color, phase) ? high : low;
if (emphasis != 0) {
if ((((emphasis & (utils.BIT0)) != 0) && inColorPhase(0, phase))
|| (((emphasis & (utils.BIT1)) != 0) && inColorPhase(4, phase))
|| (((emphasis & (utils.BIT2)) != 0) && inColorPhase(8, phase))) {
signal *= attenuation;
}
}
signal_levels[ntsc_buf_ptr++] = signal;
}
}
private static boolean inColorPhase(final int color, final int phase) {
return (color + phase) % 12 < 6;
}
private final double[] signal_levels = new double[256 * SAMPLESPERPIXEL];
private int ntsc_buf_ptr = 0;
private final static int width = 604;
private void ntsc_decode(final double phase) {
for (int x = 0; x < width; ++x) {
int center = x * (256 * SAMPLESPERPIXEL) / width + 0;
int begin = center - 6;
if (begin < 0) {
begin = 0;
}
int end = center + 6;
if (end > 256 * SAMPLESPERPIXEL) {
end = (256 * SAMPLESPERPIXEL);
}
double y = 0, i = 0, q = 0;
for (int p = begin; p < end; ++p) {
double level = signal_levels[p] / 12.;
y += level;
i += level * Math.cos(Math.PI * (phase + p) / 6.);
q += level * Math.sin(Math.PI * (phase + p) / 6.);
}
render_pixel(y, i, q);
}
}
private void render_pixel(final double y, final double i, final double q) {
final int rgb = 0xff000000
| 0x10000 * clamp(255.95 * gammafix(y + 0.946882f * i + 0.623557f * q))
+ 0x00100 * clamp(255.95 * gammafix(y + -0.274788f * i + -0.635691f * q))
+ 0x00001 * clamp(255.95 * gammafix(y + -1.108545f * i + 1.709007f * q));
frame[frame_ptr++] = rgb;
}
public static int clamp(final double a) {
return (int) ((a < 0) ? 0 : ((a > 255) ? 255 : a));
}
public static double gammafix(double luma) {
final float gamma = 2.0f; // Assumed display gamma
return luma <= 0.f ? 0.f : Math.pow(luma, 2.2f / gamma);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/video/NTSCRenderer.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.video;
import java.awt.image.*;
import java.util.*;
import java.util.zip.CRC32;
/**
*
* @author Andrew
*/
public class NTSCRenderer extends Renderer {
private final static List lines;
static {
lines = new ArrayList<>();
for (int line = 0; line < 240; ++line) {
lines.add(line);
}
}
//hm, if I downsampled these perfectly to 4Fsc i could get rid of matrix decode
//and the sine tables altogether...
private final static int[][] colorphases = { //int for alignment reasons
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},//0x00
{0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1},//0x01
{0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0},//0x02
{0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0},//0x03
{0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0},//0x04
{0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},//0x05
{0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},//0x06
{1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0},//0x07
{1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1},//0x08
{1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1},//0x09
{1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1},//0x0A
{1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1},//0x0B
{1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},//0x0C
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},//0x0D
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},//0x0E
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};//0x0F
//i would like to replace these tables with logic but it's a tricky shape
//for a Karnaugh map
private final static float[][][] lumas = genlumas();
private final static int[][] coloremph = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},//X
{0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0},//Y
{1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1},//XY
{1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1},//Z
{1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1},//XZ
{1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1},//YZ
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}};//XYZ
//private final static float sync = -0.359f;
private int frames = 0;
private final float[] i_filter = new float[12], q_filter = new float[12];
private final static int[] colortbl = genColorCorrectTbl();
public NTSCRenderer() {
frame_width = 704 * 3;
init_images();
int hue = -512;
double col_adjust = 1.2 / .707;
for (int j = 0; j < 12; ++j) {
float angle = (float) (Math.PI * ((hue + (j << 8)) / (12 * 128.0) - 33.0 / 180));
i_filter[j] = (float) (-col_adjust * Math.cos(angle));
q_filter[j] = (float) (col_adjust * Math.sin(angle));
}
}
public static int[] genColorCorrectTbl() {
int[] corr = new int[256];
//float gamma = 1.2;
float brightness = 20;
float contrast = 1;
for (int i = 0; i < 256; ++i) {
float br = (i * contrast - (128 * contrast) + 128 + brightness) / 255.f;
corr[i] = clamp((int) (255 * Math.pow(br, 1.3)));
//convert tv gamma image (~2.2-2.5) to computer gamma (~1.8)
}
return corr;
}
public static float[][][] genlumas() {
float[][] lumas = {
{-0.117f, 0.000f, 0.308f, 0.715f}, //low phase
//0x00 0x10 0x20 0x30
{0.397f, 0.681f, 1.0f, 1.0f} //high phase
};
float[][][] premultlumas = new float[lumas.length][lumas[0].length][2];
for (int i = 0; i < lumas.length; ++i) {
for (int j = 0; j < lumas[i].length; ++j) {
premultlumas[i][j][0] = lumas[i][j];
premultlumas[i][j][1] = lumas[i][j] * 0.735f;
}
}
return premultlumas;
}
public final float[] ntsc_encode(final int[] nescolors, final int offset, final int scanline, final int bgcolor) {
//part one of the process. creates a 2728 pxl array of floats representing
//ntsc version of scanline passed to it. Meant to be called 240x a frame
//todo:
//-make this encode an entire frame at a time
//-reduce # of array lookups (precalc. what is necessary)
int i, col = bgcolor & 0xf, lum = (bgcolor >> 4) & 3, emphasis = (bgcolor >> 6);
//luminance portion of nes color is bits 4-6, chrominance part is bits 1-3
//they are both used as the index into various tables
//the chroma generator chops between 2 different voltages from luma table
//at a constant rate but shifted phase.
//sync and front porch are not actually used by decoder so not implemented here
//dot 0-200:sync
//dot 200-232:black
//dot 232-352:colorburst
//dot 352-400:black
//dot 520-2568:picture
//dot 400-520 and 2568-2656: background color
//dot 2656-2720:black
//but then i'm going to chop off before dot 240 and after 2656 b/c it's not used
//so after this comment, add 240 to any num. in this for dot #
final float[] sample = new float[2728 - 240];
for (i = 400 - 240; i < 520 - 240; ++i) { //bg color at beginning
final int phase = (i + offset) % 12;
final int hue = colorphases[col][phase];
sample[i] = lumas[hue][lum][coloremph[emphasis][phase]];
}
for (i = 2568 - 240; i < 2656 - 240; ++i) { //bg color at end of line
final int phase = (i + offset) % 12;
final int hue = colorphases[col][phase];
sample[i] = lumas[hue][lum][coloremph[emphasis][phase]];
}
for (i = 520 - 240; i < 2568 - 240; ++i) { //picture
if ((i & 7) == 0) {
col = nescolors[(((i - (520 - 240)) >> 3))];
if ((col & 0xf) > 0xd) {
col = 0x0f;
}
lum = (col >> 4) & 3;
emphasis = (col >> 6);
col &= 0xf;
}
final int phase = (i + offset) % 12;
final int hue = colorphases[col][phase];
sample[i] = lumas[hue][lum][coloremph[emphasis][phase]];
}
sample[2728 - 241] = offset; //hack to not have to deal with a tuple
return sample;
}
public final static float chroma_filterfreq = 3579000.f, pixel_rate = 42950000.f;
private final static int[] cbstphase = {240 - 240, 0, 250 - 240, 0, 248 - 240, 0, 246 - 240, 0, 244 - 240, 0, 242 - 240, 0};
//starting point for color burst (depends on offset of previous line, even values not used in a progressive signal)
public final int[] ntsc_decode(final float[] ntsc, final int offset) {
final float[] chroma = new float[2656 - 240];
final float[] luma = new float[2656 - 240];
final float[] eye = new float[2656 - 240];
final float[] queue = new float[2656 - 240];
final int[] line = new int[frame_w];
//decodes one scan line of ntsc video and outputs as rgb packed in int
//uses the cheap TV method, which is filtering the chroma from the luma w/o
//combing or buffering previous lines
box_filter(ntsc, luma, chroma, 12);
for (int cbst = cbstphase[offset], j = 0; cbst < 2656 - 240 - 50; ++cbst, ++j, j %= 12) {
//matrix decode the color difference signals;
eye[cbst] = i_filter[j] * chroma[cbst + 12];
queue[cbst] = q_filter[j] * chroma[cbst + 12]; //comment out for teal and orange filter
}
lowpass_filter(eye, 0.06f);
lowpass_filter(queue, 0.05f);
for (int i = 0, x = 492 - 240; i < frame_w; ++i, ++x) {
line[i] = compose_col(
((luma[x] <= 0) ? 0 : colortbl[clamp((int) (iqm[0][0] * luma[x] + iqm[0][1] * eye[x] + iqm[0][2] * queue[x]))]),
((luma[x] <= 0) ? 0 : colortbl[clamp((int) (iqm[1][0] * luma[x] + iqm[1][1] * eye[x] + iqm[1][2] * queue[x]))]),
((luma[x] <= 0) ? 0 : colortbl[clamp((int) (iqm[2][0] * luma[x] + iqm[2][1] * eye[x] + iqm[2][2] * queue[x]))]));
}
return line;
}
public static void box_filter(final float[] in, final float[] lpout, final float[] hpout, final int order) {
float accum = 0;
for (int i = 12; i < 2656 - 240; ++i) {
accum += in[i] - in[i - order];
lpout[i] = accum / order;
hpout[i] = in[i] - lpout[i];
}
}
public static void lowpass_filter(final float[] arr, final float order) {
float b = 0;
for (int i = 0; i < 2656 - 240; ++i) {
arr[i] -= b;
b += arr[i] * order;
arr[i] = b;
}
}
private static int compose_col(int r, int g, int b) {
return (r << 16) | (g << 8) | (b) | 0xff000000;
}
private final static int[][] iqm = {{255, -244, 158}, {255, 69, -165}, {255, 282, 434}};
public static int clamp(final int a) {
return (a != (a & 0xff)) ? ((a < 0) ? 0 : 255) : a;
}
public final static int frame_w = 704 * 3;
int[] frame = new int[frame_w * 240];
// Kernel kernel = new Kernel(3, 3,
// new float[]{-.0625f, .125f, -.0625f,
// .125f, .75f, .125f,
// -.0625f, .125f, -.0625f});
// BufferedImageOp op = new ConvolveOp(kernel);
@Override
public BufferedImage render(final int[] nespixels, final int[] bgcolors, final boolean dotcrawl) {
// multithreaded filter
lines.parallelStream().forEach(line -> cacheRender(nespixels, line, bgcolors, dotcrawl));
BufferedImage i = getBufferedImage(frame);
++frames;
//i = op.filter(i, null); //sharpen
return i;
}
//ConcurrentHashMap cache = new ConcurrentHashMap(600);
Map cache = Collections.synchronizedMap(new WeakHashMap(600));
//weak hash map allows things in it to be garbage collected
private void cacheRender(final int[] nespixels, final int line, final int[] bgcolors, final boolean dotcrawl) {
//first of all, increment scanline numbers and get the offset for this line.
int offset = ((frames & 1) == 0 && dotcrawl) ? 0 : 6;
offset = (4 * line + offset) % 12; //3 line dot crawl
final int[] inpixels = new int[256];
System.arraycopy(nespixels, line << 8, inpixels, 0, 256);
final long crc = crc32(inpixels, offset, bgcolors[line]);
// //you'd think crc32 would have too many collisions but i haven't seen a one
int[] outpixels;
outpixels = (int[]) cache.get(crc);
if (outpixels == null) { //not in cache
//could do with hints from the PPU here: if the entire screen is
//scrolling horizontally, the cache will be useless.
outpixels = ntsc_decode(ntsc_encode(inpixels, offset, line, bgcolors[line]), offset);
cache.put(crc, outpixels);
}
System.arraycopy(outpixels, 0, frame, line * frame_w, frame_w);
}
public static long crc32(int[] array, int offset, int bgcolor) {
CRC32 c = new CRC32();
for (int i : array) {
c.update(i);
}
//it's not immediately obvious, but this ONLY sets the CRC based on the
//blue channel of the output. Still works well though.
//You get some interesting compressiony effects if you only take the CRC
//of every 20th pixel to see if your line is the same.
//especially in sidescrolling things.
c.update(offset);
c.update(bgcolor);
return c.getValue();
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/video/NesColors.java
================================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.grapeshot.halfnes.video;
/**
*
* @author Andrew
*/
public class NesColors {
private NesColors() {}
private final static double att = 0.7;
public final static int[][] col = GetNESColors();
public final static byte[][][] colbytes = NESColorsToBytes(col);
private static int[][] GetNESColors() {
//just or's all the colors with opaque alpha and does the color emphasis calcs
//This set of colors matches current version of ntsc filter output
int[] colorarray = {
0x606060, 0x09268e, 0x1a11bd, 0x3409b6, 0x5e0982, 0x790939, 0x6f0c09, 0x511f09,
0x293709, 0x0d4809, 0x094e09, 0x094b17, 0x093a5a, 0x000000, 0x000000, 0x000000,
0xb1b1b1, 0x1658f7, 0x4433ff, 0x7d20ff, 0xb515d8, 0xcb1d73, 0xc62922, 0x954f09,
0x5f7209, 0x28ac09, 0x099c09, 0x099032, 0x0976a2, 0x090909, 0x000000, 0x000000,
0xffffff, 0x5dadff, 0x9d84ff, 0xd76aff, 0xff5dff, 0xff63c6, 0xff8150, 0xffa50d,
0xccc409, 0x74f009, 0x54fc1c, 0x33f881, 0x3fd4ff, 0x494949, 0x000000, 0x000000,
0xffffff, 0xc8eaff, 0xe1d8ff, 0xffccff, 0xffc6ff, 0xffcbfb, 0xffd7c2, 0xffe999,
0xf0f986, 0xd6ff90, 0xbdffaf, 0xb3ffd7, 0xb3ffff, 0xbcbcbc, 0x000000, 0x000000};
//the older rgb palette I was using, may make this switchable.
// int[] rgbarray = {0x757575, 0x271B8F, 0x0000AB,
// 0x47009F, 0x8F0077, 0xAB0013, 0xA70000, 0x7F0B00, 0x432F00,
// 0x004700, 0x005100, 0x003F17, 0x1B3F5F, 0x000000, 0x000000,
// 0x000000, 0xBCBCBC, 0x0073EF, 0x233BEF, 0x8300F3, 0xBF00BF,
// 0xE7005B, 0xDB2B00, 0xCB4F0F, 0x8B7300, 0x009700, 0x00AB00,
// 0x00933B, 0x00838B, 0x000000, 0x000000, 0x000000, 0xFFFFFF,
// 0x3FBFFF, 0x5F97FF, 0xA78BFD, 0xF77BFF, 0xFF77B7, 0xFF7763,
// 0xFF9B3B, 0xF3BF3F, 0x83D313, 0x4FDF4B, 0x58F898, 0x00EBDB,
// 0x444444, 0x000000, 0x000000, 0xFFFFFF, 0xABE7FF, 0xC7D7FF,
// 0xD7CBFF, 0xFFC7FF, 0xFFC7DB, 0xFFBFB3, 0xFFDBAB, 0xFFE7A3,
// 0xE3FFA3, 0xABF3BF, 0xB3FFCF, 0x9FFFF3, 0xaaaaaa, 0x000000,
// 0x000000};
for (int i = 0; i < colorarray.length; ++i) {
colorarray[i] |= 0xff000000;
}
int[][] colors = new int[8][colorarray.length];
for (int j = 0; j < colorarray.length; ++j) {
int col = colorarray[j];
int r = r(col);
int b = b(col);
int g = g(col);
colors[0][j] = col;
//emphasize red
colors[1][j] = compose_col(r, g * att, b * att);
//emphasize green
colors[2][j] = compose_col(r * att, g, b * att);
//emphasize yellow
colors[3][j] = compose_col(r, g, b * att);
//emphasize blue
colors[4][j] = compose_col(r * att, g * att, b);
//emphasize purple
colors[5][j] = compose_col(r, g * att, b);
//emphasize cyan?
colors[6][j] = compose_col(r * att, g, b);
//de-emph all 3 colors
colors[7][j] = compose_col(r * att, g * att, b * att);
}
return colors;
}
private static byte[][][] NESColorsToBytes(int[][] col) {
byte[][][] colbytes = new byte[col.length][][];
for (int i=0; i> 16) & 0xff;
}
private static int g(int col) {
return (col >> 8) & 0xff;
}
private static int b(int col) {
return col & 0xff;
}
private static int compose_col(double r, double g, double b) {
return (((int) r & 0xff) << 16) + (((int) g & 0xff) << 8) + ((int) b & 0xff) + 0xff000000;
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/video/RGBRenderer.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.video;
import com.grapeshot.halfnes.video.NesColors;
import com.grapeshot.halfnes.video.Renderer;
import java.awt.image.BufferedImage;
/**
*
* @author Andrew
*/
public class RGBRenderer extends Renderer {
public RGBRenderer() {
frame_width = 256;
init_images();
}
@Override
public BufferedImage render(int[] nespixels, int[] bgcolors, boolean dotcrawl) {
//and now replace the nes color numbers with rgb colors (respecting color emph bits)
for (int i = 0; i < nespixels.length; ++i) {
nespixels[i] = NesColors.col[(nespixels[i] & 0x1c0) >> 6][nespixels[i] & 0x3f];
}
return getBufferedImage(nespixels);
}
}
================================================
FILE: src/main/java/com/grapeshot/halfnes/video/Renderer.java
================================================
/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
package com.grapeshot.halfnes.video;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferInt;
import java.awt.image.WritableRaster;
/**
*
* @author Andrew
*/
public abstract class Renderer {
int frame_width;
/*
there's stuff involving this variable that's much uglier
than it needs to be because of me not really remembering
how abstract classes work
*/
int clip = 8;
int height = 240 - 2 * clip;
BufferedImage[] imgs = {null, null, null, null};
int imgctr = 0;
protected final void init_images() {
for (int i = 0; i < imgs.length; ++i) {
imgs[i] = new BufferedImage(frame_width, height, BufferedImage.TYPE_INT_ARGB_PRE);
}
}
public abstract BufferedImage render(int[] nespixels, int[] bgcolors, boolean dotcrawl);
public void setClip(int i) {
//how many lines to clip from top + bottom
clip = i;
height = 240 - 2 * clip;
}
public BufferedImage getBufferedImage(int[] frame) {
final BufferedImage image = imgs[++imgctr % imgs.length];
final WritableRaster raster = image.getRaster();
final int[] pixels = ((DataBufferInt) raster.getDataBuffer()).getData();
System.arraycopy(frame, frame_width * clip, pixels, 0, frame_width * height);
return image;
}
}
================================================
FILE: src/main/java-templates/com/grapeshot/halfnes/ProjectInfo.java
================================================
package com.grapeshot.halfnes;
/**
* Specifies the version and url as defined in the POM
*
*/
public interface ProjectInfo {
String VERSION = "${project.version}";
String URL = "${project.url}";
}
================================================
FILE: src/main/resources/changelog.txt
================================================
HalfNES Version Notes:
062 (3/25/2018)
-first release in 2 years
-fixed temp file creation issue
-fixed Micro Machines
-NSF and APU improvements
061 (2/16/2016)
-Minor speed improvements and code cleanups
-Improved VRC7 Envelopes again with values properly calculated from docs
-Audio output is done in stereo now (though no interface to pan channels)
-Build system changed to Maven
-Framework for unit tests is begun (incl work on headless mode)
-JavaFX UI for the RetroPi is included but not used by default.
(It needs more work for desktop use.)
060 (8/29/2015)
-Fixed Battletoads and Battletoads: Double Dragon freezes on certain levels
-Reduced jerkiness of scrolling in 50 fps games
(not eliminated entirely unless your monitor is also set to 50 FPS)
-Improved performance a bit, there was some slow cheat engine code constantly running
059 (7/28/2015)
-Fixed certain FDS NSFs that wanted to write to bankswitched areas
-Added PAL and Dendy (Hybrid PAL console that plays unmodified NTSC games) support
-Fixed negative scroll values (Galaxian, TMNT)
-Fixed envelope decay for VRC7 sound
-Deal with games that read $2004 (OAM address) during rendering
058 (6/14/2015)
-Added FDS sound chip support (NSFs only)
-Made more scanline counters cycle accurate (everything except 4 multicart mappers)
057 (7/30/2014)
-PPU is now pixel accurate. Meaning that many glitchy games are now completely
fixed. However it also means that performance is worse.
-MMC3 and MMC5 scanline counters have been rewritten to be more accurate.
Fixed games:
-Marble Madness
-Laser Invasion
-Mickey's Adventures in Letterland
-Rad Racer
-Slalom
-Tiny Toon Adventures (the status bar was off by one scan line before)
-Mega Man 3 (displays same glitchy lines as real hardware)
-Every Namco 163 game (scanline counter was broken)
Also passes several more of blargg's PPU and MMC3 tests.
I haven't fixed all of the MMC3 based multicart mappers yet.
056 (7/17/2014)
-Multithreaded NTSC filter for better performance
-Rewrote CPU/PPU timing entirely (passes many timing tests that used to fail)
-Fixed VRC7 feedback (Lagrange Point now sounds almost completely correct)
-Fixed loading of large NSF files.
-Many other minor fixes over the past year.
055(9/7/2013)
-Added support for NSF music files.
-Added mapper for Super Spike V'Ball/Nintendo World Cup combo cartridge
-Changed sprite DMA timings (fixes Battle Chess again)
054 (8/13/2013)
-Changed NES color palette to match NTSC filter colors
-Fixed VRC 7 Vibrato, no longer crackles
-Improved speed of NTSC filter some more
-General code cleanups (more are still necessary)
-Provided a more helpful error on stdout when the jInput lirary is missing
053 (2/10/2013)
-Added Action Replay and Game Genie code support
-Now turning on sound filtering by default
0.052 (10/14/2012)
-Changed the APU timer code to run more efficiently
(filtering now has very little performance penalty)
-Fixed GI Joe, Burai Fighter
-Fixed title screen of Brush Roller
-Fixed intro of Lagrange Point
0.051 (9/17/2012)
Many more mappers added for this release.
Added Mappers:
15 (100 in 1 Contra Function 16)
33 and 48 (Taito TC0190FMC)
41 (Caltron/Myriad 6 in 1)
58 (Game Star multicart)
60 (reset based 4 in 1)
61 (super 42-in 1)
62 (700 in 1 Multicart)
65 (Irem H-3001)
67 (Sunsoft-3)
72 (Jaleco JF-17)
73 (VRC3)
75 (VRC1)
76 and 206 (Tengen MIMIC-1)
79 (NINA-3)
86 (Jaleco JF-13)
88 (NAMCOT-3433/3443)
92 (Jaleco JF-19)
112 (Chinese MIMIC-1 clone)
113 (NINA-6)
154 (NAMCOT-3453)
182 (Chinese MMC3 clone)
201 (8-in-1, 21-in-1 multicarts)
212 and 213 (9999999-in-1)
214 (Super Gun 20-in-1)
225 (58/64/72-in-1 multicarts)
226 (20-1n-1)
229 (31-in-1)
231 (20 in 1 multicart)
241 (Fan Kong Jing Ying)
242 (Wai Xing Zhan Shi / Dragon Quest VIII board)
244 (Decathlon)
255 (110/115 in 1 multicarts)
Other Changes:
-Changed decay after key off on VRC7 sound chip
-Changed color settings on NTSC renderer and rewrote encoding portion for better
speed (64 bit JVM also makes this faster) and no more horizontal bars.
-Passes sprite overflow basics test
-Fixed reset code to reset mapper before CPU
-Rom loader handles games with unusual/incorrect headers more gracefully
-APU square wave frequency is now correct
(would go out of tune at higher frequencies before)
-Full screen mode with maintain aspect ratio on now stretches to fill screen
-Added .exe and .sh versions of HalfNES to the standard JAR file to
work around systems where JAR files are difficult to make executable.
0.050 (8/9/2012)
Lots of minor improvements for this release, and new mapper support as well.
Thanks to Nawrot Kryzystof for many of these fixes.
Added Mappers:
Mapper 10 (Fire Emblem, Famicom Wars)
Mapper 19 (Megami Tensei II, Rolling Thunder (J), etc.) with expansion sound
Mapper 34 (Impossible Mission II)
Mapper 38 (Crime Busters)
Mapper 64 (Klax, Rolling Thunder (U))
Mapper 70 (Kamen Rider Club)
Mapper 89 (Mito Koumon)
Mapper 93 (Fantasy Zone (J))
Mapper 94 (Senjou no Ookami)
Mapper 97 (Kaiketsu Yanchamaru)
Mapper 107 (Magic Dragon)
Mapper 140 (Bio Senshi Dan)
Mapper 152 (Arkanoid 2)
Mapper 180 (Crazy Climber)
Mapper 185 (Spy Vs Spy (J) but NOT Banana)
Mapper 200 (36-in-1 Multicart)
Mapper 203 (35-in-1 Multicart)
Mapper 240, 246 (More Chinese original games)
Fixed:
-Fixed DMC timing (passes DMC basics test and makes Bee 52 work better)
-CPU interrupt is delayed so CLI+SEI only causes 1 interrupt after SEI
(fixes Break Time, Hebereke)
-Fixed APU frame counter reset to within 1 CPU opcode of correct timing
-Fixed APU sweep behavior when clocked then immediately reset
(Super Mario Bros. sound effects, Driar wrong notes in music)
-Updated VRC7 sound to use new patch set from nesdev,
changed the way modulator feedback works, increased envelope attack rate
-Added CRC to options menu to make verifying dumps easier
-Fixed Uchuusen - Cosmo Carrier mirroring
-Fixed bug with file dialog where it wasn't clearing the old name when loading
a ROM by double clicking
Broke:
- Lagrange Point intro was broken by the CPU interrupt change. Game is still playable.
0.049 (7/9/2012)
-CPU core is much improved. All undocumented opcodes should now be implemented
and cycle timing is more correct.
-Fixed Low G Man crashing after the first boss
-APU is now synchronized exactly with CPU (lowers performance, but fixes
Dreamworld Pogie)
-Made DMC sample channel timing more accurate, which fixed Bee 52 and several
DPCM letterbox demos and made Fire Hawk at least show the titlescreen/intro.
(Still crashes in game.)
-Made the audio high pass filter more aggressive to eliminate clipping and noise
-Fixed VRC7 audio envelopes (Rate was right but notes couldn't be turned off
while in the decay phase. Now that works.)
-Fixed PPU OAM reading to pass oam_stress test and used blargg's NES power up
palette
0.048 (6/5/2012)
You can now change all options without having to restart the emulator. Also
changed the set of values used for the VRC7 registers and did some code cleanups
in various places. Significant rewrite is needed to improve basic timing
accuracy some time soon.
0.047 (5/12/2012)
VRC7 channel volumes and modulation are correct now. Still not quite like the
real thing because envelopes are based off info from the data sheet and not the
actual implementation. (Plus, no one has ever read the presets for the built in
instruments from the VRC7; I've tested several sets of approximations.)
Releases will probably be coming much slower in the future.
0.046 (4/7/2012)
-VRC7 audio (Lagrange Point) sounds much closer to the real thing
-Fixed several UI bugs:
-menu bar is no longer visible in fullscreen on some systems
-no longer possible to load a ROM or open the preferences window in
fullscreen as this could sometimes cause hangs
-Full screen now defaults to maintain aspect ratio
(doesn't stretch and look terrible on widescreen displays)
-Now handles mising JInput library more gracefully
-NTSC filter is somewhat faster (still not really real time) and disables
dot crawl in Battletoads as it should.
-Changed audio core so it shouldn't clip with sound filtering on any more
-Found a solution to the packaging problem! Library folder is no longer necessary.
Next version I will be switching to LWJGL for the interface as it should add
a decent speed improvement and the NTSC filter will be MUCH faster if written
as a shader.
0.045 (3/8/2012)
-Fixed some undocumented opcodes to allow homebrew game Driar to run
-Fixed bug with special characters in ROM filenames causing a crash
-Added gamma correction to NTSC filter and changed filter parameters yet again.
still not sure what looks best, and there are a few artifacts here that don't
show up on the real thing unless you're using a cheap capture card.
If you want to experiment, the brightness, contrast, and gamma correction is at
the top of the NTSCFilter file in the code.
Please use it with smoothing on or it'll look bad no matter what.
-now change the aspect ratio when ntsc filter is used.
-Added mapper 85 (VRC7) (Lagrange Point and Japanese Tiny Toons 2)
-Partially implemented VRC7 sound (envelopes and vibrato are still missing)
-Small speed improvements (except in the ntsc filter, that's just as slow).
0.044 joystick test (1/9/2012)
- Added preliminary joystick support (thanks to Zlika) To use this, the
lib folder must be extracted in the same location as halfnes, and also the
program must be run from the "run.bat" file. The first detected gamepad
will be used as Controller 1, and the second will be Controller 2.
Currently the buttons used are not configurable.
- Also improved the NTSC filter, color is perfect now and it looks
better than Blargg's. (Sadly, the speed has taken another hit; I think
the problem is cache churn due to the order I operate in?)
0.043 (12/27/2011)
Last version for the year.
-Fixed many more bugs and edge cases with the file loading, including a crash
that only seemed to happen on Linux when loading a ROM from the command line
-Made some changes to the sprite rendering code, now pass more of blargg's sprite
hit tests and the Snake Pit level in Battletoads shouldn't flicker any more.
(I haven't actually tested this since I can't get back there now.)
0.042 (12/12/2011)
-Added "smooth video" option
-Improved the NTSC filter (run it full screen with the video smoothing option on
and it looks very nice. sadly it is still jut as slow as it was.)
-Fixed bug in VRC6 audio that muted both expansion sound channels instead of just one
-Fixed crash on loading a .nes file with a bad header
0.041(11/6/2011)
-Added experimental NTSC graphics filter. Wriiten from scratch, not a port of
Blargg's NTSC code. This looks quite a bit more like a real old terrible 80's TV.
Unfortunately, it's still very slow.
-Fixed Punch-Out, which was broken since version 0.039
0.040(10/17/2011)
Added Mapper 68 (Afterburner and Afterburner II)
Monkeyed around with the audio code, MMC5 sound channels had the wrong pitch
and audio was clipping at full volume. Both of those should be fixed. Also fixed
sound popping when pausing and unpausing. And in the time it took me to do that
byuu made in a week what took me a year. eh.
0.039 (9/24/2011)
Added mappers 5 and 119. Castlevania III works now and so do all other MMC5 games
except for Laser Invasion and two Japanese exclusive ones. Also fixed one tiny
almost unnoticeable bug with drum sounds cutting off a tiny bit early that
has been there for months unnoticed.
0.038 (8/12/2011)
-Added Action 52 mapper (228)
-Improved audio quality some more
-Made the screen repaint even when paused
-Behind the scenes changes to make things easier to port
-Some speed improvements as well
If there is a game that you want to play that's broken or mapper unsupported, let me know!
Otherwise I think I'm just going to port this to Android next.
0.037 (7/7/2011)
-Fixed Guardian Legend, Dizzy's Adventure, others (APU interrupt bugs again)
-Improved performance of sprite rendering code
-Fixed broken Reset option in menu
Current known broken games: Break Time, Big Nose Freaks Out, Bigfoot
0.036 (6/20/2011)
-Added Mapper 9 (Punch-Out!!)
-Fixed Teenage Mutant Ninja Turtles (leftover bug from last PPU rewrite)
-Fixed Jurassic Park (same problem as Twin Cobra, changed the code so both worked)
-Increased audio volume
-Added greyscale and color emphasis to PPU
(Noah's Ark is maybe the only game this is visible in)
-Fixed off-by-one error causing scanline 261 to be run twice
(fixed some timing issues, maybe caused a few more)
-Completely changed the way the PPU renders sprites - broke some games (Guardian Legend and
some Codemasters games that never looked right anyway) but fixed screen shaking and
single scanline glitches in a LOT of games.
-Also, sprite flicker is back from the old days.
0.035 (6/9/2011)
-Now cropping off the top and bottom 8 pixels of the video output, since these are
not visible on most TVs and a lot of games render garbage on those lines.
-Added volume slider to options dialog (and rewrote the sound output code as well.)
-Fixed a lot of sound bugs. Crystalis, Zombie Nation, A Boy And His Blob etc. all sound right now.
-Fixed Twin Cobra
0.034 (5/22/11)
-Fixed full screen code for people who still had flicker at bottom
-Fixed Bill and Ted's Excellent Adventure
-Rewrote some code to enable putting ROM @ $6000-7fff
-Implemented Mapper 69 (Sunsoft FME-7) and the extra sound hardware for the Japanese version of Gimmick.
(If you haven't ever played Gimmick, find the ROM and give it a go sometime. Great game.)
-Also added mappers 78 (Holy Diver) and 87 (Twinbee).
0.033 (5/10/2011)
-Improved MMC3 mapper (Fixed Teenage Mutant Ninja Turtles 3, Smash TV)
-Improved audio code more, added an option to enable audio filtering so a separate compile isn't required
-Tied expansion audio into the regular audio code
-Made full screen support more robust (let me know if it's still broken on your XP machine, but it works on mine)
0.032 (4/26/2011)
The most notable improvement is the audio. I'm compiling 2 versions this
time - one uses a linear audio filter and the other uses point samples.
The linear audio filter makes the whole code run about twice as slow
(Java is really not very good at doing anything 2 million times a
second), but it sounds SO much better I couldn't throw it out for
performance reasons. However, it's still a bit buggy and completely
breaks VRC6 audio for some reason. Also, added option for changing audio
sample rate to the options dialog, tweaked the volumes of all the audio
channels to be more balanced with each other, and probably cleaned up
some things since last release that I've forgotten about now.
0.031 (4/3/2011)
-Rewrote PPU to draw only 1 scanline at a time, instead of 8 scanlines like before.
(should fix various glitchy raster effects and status bars in various games)
Performance should actually be increased for most games.
-removed the old tile caching system as it is no longer necessary.
-Fixed the sprite priorities
-improved VRC6 audio
-made the VRC6 expansion audio work for the games other than Castlevania 3
0.030 (3/27/2011)
-Rewrote the audio system to eliminate more unnecessary method calls
-Added Mapper 24 and 26 (Japanese Castlevania III) including the expansion sound chips!
-Added a full screen mode
(still a bit buggy; fast forward doesn't work when in fullscreen for some reason.)
-added ability to drag and drop ROM files into the window to load them
-rearranged a couple of the keyboard shortcuts
-added a frame advance key.
0.029 (3/8/2011)
-Rewrote the CPU timing system, so the NES's timing is a lot more accurate
(and faster as well; eliminated about 2 million unnecessary method calls per
frame, which means that I get about 40 extra FPS.)
-Added support for Mapper 11 (Color Dreams)
-Mapper fixes to Mappers 1 and 4 (Fixed Dragon Warrior 3 + 4, Kickle Cubicle)
-Added a proper error message for trying to load a UNIF file.
0.028 (3/2/2011)
Rewrote/refactored a bunch of code to make things more object oriented. Also
changed the display code to use Java's double buffering scheme instead of my own
hackish method, which MAY have made things a bit faster but definitely fixed that
occasional flicker that was there before. (Simplified the code, too!)
Also made some changes to the sound engine, so Contra and a few other things
sound closer to how they should.
Next update will hopefully bring more visible improvements.
0.027.2 (2/12/2011)
perhaps THIS will solve the problems with Windows XP. (Last version worked ok on
the first XP machine I tried, but not the second.)
0.027.1 (2/11/2011)
Switched back to the old frame limiter code, now things should hopefully
work right on Windows XP again. Also fixed the crash when audio was disabled.
0.027 (2/4/2011)
Since I'm trapped at home in a snowstorm with nothing else to do, might as well release.
-Modified MMC3 scanline counter, which fixed Super Mario 3 and Silver Surfer
-Made the APU counter count 4x a frame instead of 5 (off by one error)
which makes music in a lot of older games sound closer to how it should be.
0.026.1 (2/1/2011)
-Added support for Sunsoft-01 and Konami VRC2 and VRC4 mappers.
VRC4 is still not quite correct... status bar flickers in Parodius, but Gradius II,
the Japanese version of Contra, and Bio Miracle Bokutte Opa all work fine.
-Made sound keep playing while fast forwarding
-Rewrote all the frame limiter code again (need to test on a slower machine with XP)
-Improved speed by making sure that I wasn't regenerating the entire tile cache every
time the game wrote to the mapper, even if the tiles didn't change.
0.025 (1/25/2011)
-Fixed the stupid stupid bug that would probably make the file dialog impossible to
open on any system that hasn't had HalfNES on it before!
(remember: if you haven't tested it, it does not work.)
-Changed the file dialog to one that doesn't look terrible on a Mac
(but now I can't filter files by extension on Windows. oh well.)
-Added keyboard shortcuts to the menus and rearranged them a bit
-Added a fast forward toggle
-Fixed mapper 66
-Fixed controller reading for Paperboy and Captain Planet
-the palette mirroring code passes blargg's test now
-Background of Kirby's Adventure fixed... that one was because the first byte of
expansion RAM was always write protected. Oops.
-SMB3 has stopped working completely. I'll figure out why soon.
0.024 (1/16/2011)
-Added proper options dialog for changing screen size and keymappings
(but you need to restart the emulator to apply the new settings - will fix that
sooner or later but I need to write code to completely rebuild the window first.)
-Removed the old INI file - now settings are saved in your home folder
-Now remembers the position of the window and the last folder you loaded a ROM from
-Fixed a few more bugs in the graphics code so now the intros of Solstice and
Ninja Gaiden look the way they should.
0.023 (1/4/2011)
Bugfixes:
-The Reset command didn't do anything, now it does.
-Gradius and Devil World work properly again and Back to the Future works better
(I used && when what I meant was ||).
-I now realize that file loading doesn't work very well on a Mac
(and the file dialog is terrible too!), so I'll work on that.
0.022 (1/3/2011)
Wow, it's been a while.
Added Player 2 controller support, can remap the buttons in the settings.txt file.
Improved rendering: Gauntlet runs full speed on my computer when it didn't before,
the status bars of Zelda II and Ninja Gaiden now look right,
in general performance is about 20 percent better because the drawing code is more efficient.
Back to the Future works but has random unexplained glitches.
Made a few additional tweaks to the MMC3 code, now Might and Magic works but SMB3 is unchanged.
Also eliminated a potential crash after attempting to load a game with an unsupported mapper.
Changes to the audio code: Excitebike and a lot of other early games that
used the sweep feature on the square wave channels should be correct now,
Super Mario Brothers finally sounds right.
Also, this works. http://kkfos.aspekt.fi/2010/11/14/4-bit-pcm-on-nes-using-the-pulse-channel/
0.021 (12/15/2010)
Added mappers 66 and 71 (SMB/Duck Hunt and Codemasters, respectively).
Also made background sprites actually render behind the background, and fixed
sprite priorities for 8x16 sprites (They were reversed before).
If you're having trouble with SMB3, make sure that you have the PRG1 version of the ROM.
Even then, it still freezes on the title screen half the time when you press Start...
if it does this, reload the ROM and try it again. Once you start the game successfully though it
should be playable. There's just something the title screen does that throws timing off.
0.020 (12/8/2010)
Fixed the missing sprites bug and games with a status bar on the bottom.
Super Mario 3, Tiny Toon Adventures, Marble Madness, Kirby's Adventure and Battletoads are playable.
(Tiny Toons doesn't quite put the status bar in the right place, but it's not too far off.)
Fixed 4-screen mirroring (Gauntlet)
Also added mapper 34 support (Deadly Towers)
Dragon Warrior 3 + 4 still won't start, Zelda II and Crystalis still have problems.
0.019 (12/1/2010)
Fixed the worst of the scrolling bugs. Contra, Castlevania 2, Blaster Master,
and many other games are now actually playable.
Also, it seems that Yo Noid! crashed the emulator
(because bitwise and is NOT the same thing as modulus
when you don't have a power of 2!)
so I very reluctantly fixed that as well.
Known Issues:
-Jump sound doesn't cut off in world 1-2 of SMB
-Zelda II won't scroll correctly until real sprite 0 hit is implemented
-Most games with a status bar on the bottom won't display that bar
-Sprites missing in Tiny Toon Adventures, Little Nemo
-DuckTales status bar uses wrong graphics
-Mario's eyes are missing in SMB2
-Basically every racing game uses the same scrolling trick that won't look right
-SMB3 and Marble Madness both crash and Silver Surfer resets itself
0.018 (11/24/2010)
Timing fixes - Kid Icarus, Solomon's Key, Adventures of Lolo 2, Jackal are now playable.
Fixed a couple issues with the audio as well.
(Periodic noise works, and channels don't buzz when the periods are set to zero.)
Mega Man 2 is where this improvement is most noticeable.
The OS default look and feel is used instead of the Java default now, which
means the Open dialog is improved.
Saved games should always save on close now, no matter how the window is closed.
0.017 (11/21/2010)
Mapper 7 (ANROM) and Mapper 4 (MMC3) are now supported. Unfortunately, most
of those now supported games have graphical glitches because they change the scrolling
in the middle of a frame and that isn't handled properly yet.
Also made remapping keys from the INI file ACTUALLY work (sorry!) and prevented
left and right from registering at the same time because that causes problems
in some games.
0.016 (11/16/2010)
Audio - Sweep and DMC channel supported. Also fixed the frame limiter.
Added a way to change keybindings (if you can look up Swing keycodes) - see "settings.txt" file.
Removed options dialog for the moment since it didn't do anything.
0.015 (Not Released)
Fixes to MMC1, addition of battery save support, and some unfortunate frame limiter bugs that it took a while to track down.
0.014 (11/1)
Completely rewrote the sound core, it's an order of magnitude better sounding than it was.
Slower,too, but that was necessary. Now updates sound every time something changes.
Envelopes are correct too. Can make it faster by moving the counters forward in larger
increments since it doesn't generate samples at 2 Mhz anyway. Also added in frameworks
for options dialog, about box, and command line args support.
Missing still:
Sweep unit, noise channel loop flag (MM2 Quickman stage), all of the DMC stuff, vertical scrolling,
just about everything about the PPU,really. And half of MMC1 roms still don't boot,and if I want to
make the options window et cetera work right I'm going to need to re-abstract the interface away
from the actual emulation code. Why did I change that in the first place? Plus all the other older stuff.
================================================
FILE: src/main/resources/todo.txt
================================================
Todo List For HalfNES:
- Add FDS support
- Add rest of the expansion sound for MMC5 (PCM out is not working right)
- Work on audio filtering (Yes it's better now, but could still use some work.)
Need a FIR or IIR filter of some sort but also have to decimate by a non
integer amount WITHOUT upsampling, because 2 million samples a second is too hard
to process as is. Not sure how to write one of those.
Best solution is probably FFT based somehow.
Real NES uses very simple RC lowpass and highpass filters, that's mostly
what I do now but the amt of filtering is sample rate dependent/other problems etc.
-If run on my laptop while it's having the sound problem, the audio buffer write
call blocks forever and nothing will run. Is there anything I can do about that?
actually it looks like the bug is not in my own code
See https://community.oracle.com/thread/2381571
- Fix occasional single scanline errors, random horizontal
glitches in Slalom, Rad Racer, 3D World Runner etc.
I did move to a pixel based renderer but the CPU is still only cycle accurate
and plenty of other things are still only approximate.
- Fix the frame limiter so that it won't underrun the audio buffer every time
there's a lag spike - also deal with audio popping in fullscreen mode (I think
this is caused by the framerate being fixed by the buffer waiting at 60.0 so
not enough audio samples are generated but I'm not sure)
This is dealt with by increasing the audio buffer size for now.
- Deal better with non 60 hz display refresh rates (Every recent Intel laptop is set to
50 hz on battery by default.)
- Add more graphics filters (HQ2x), develop an OpenGL rendering path, rewrite the
NTSC shader in shader language for speed. Also try incl. scanlines and CRT
phosphor decay effects.
- Add Savestates, someday (once class structure is pretty much settled).
- Also stuff with controller wiring and interrupts, and if there's a Zapper in use
the controller ports need to have access to the display as it's being drawn,
and all of this needs to support catch up operation in some way.
- Some games freeze when reset with Ctrl+R (missing mapper reset function)
Action 52 needed this. What else?
- Use better synchronization with less method calls (options?)
- Add a different key listener for some of the menu options (like Pause and Fast
Forward) and also the toggles so they don't toggle on and off really quickly
when I hold the key down. (why did you think fast forward was control - space?)
Also fix inability to pause/single step in fullscreen nowadays
- Fix DMC interrupt timing for Bee 52, Big Nose Freaks Out
- Find out if the original ver StarsSE demo ever really worked on real hardware
Maybe make a version of Chris Covell's Stars SE demo that uses the
sweep workaround to change the high bits of the pitch during the arpeggios
to get rid of the unwanted phasing effects?
- Change all scanline counters to go off PPU clocks so i can deprecate NotifyScanline
- Make the NTSC filter run on the GPU!
Things I can't do without adding a CRC database:
- implement the WRAM disable bit for Mapper 4 (three different implementations!)
(fixed for now: Low G Man is special cased to have no PRG RAM on the board,
since it never did anyway. Everything else is probably fine since the main reason
for WRAM write protection, which is the CPU overwriting SRAM when jumping off
somewhere strange due to a bad connection on the cartridge slot, can't happen
on the emulator.)
- Same for Mapper 1. Making SOROM work was hard enough.
- Sorting out the mappers that are really multiple mappers in one number
(codemasters one especially!)
- Need to add iNES 2.0 submapper support
- UNIF
Things I probably can't fix at all:
- DMC samples shouldn't always steal 4 cycles (depending on the current instruction
being executed), and should only take 2 cycles during sprite DMA. (The belief
used to be that it would read wrong data during sprite DMA, but it doesn't.)
This is what's breaking The Guardian Legend when there are too many enemies on
screen.
(THINK I fixed the broken bit there when changing things to pass DMC test.)
Broken Games To Fix:
- Laser Invasion (white screen on scrolling sometimes. otherwise looks better than it was)
- Metal Slader Glory
- Batman:ROTJ title screen (FME - 7 now has accurate scanline counter but this remains)
- Caltron 6 in 1 (Very slow text scroll in Cosmo Cop)
this has to do with reading $2002 in a loop and the NMI.
- Need to make the CPU cycle accurate to pass all of blargg's timing tests
(as opposed to doing all reads and writes the opcode needs on the same cycle.)
I have a hack in place for Battletoads, but it's not good long term.
Need a coroutine library that doesn't break my workflow, or function templates
Codemasters games broken by DMC IRQ:
- Bee 52
- MIG - 29 Soviet Fighter (needs better dmc timing!)
- Fire Hawk (maybe this is freezing on Sprite 0 now.)
- Big Nose Freaks Out (glitchy in 035, completely broken in 036, back to glitchy in 049.)
- Bandit Kings of Ancient China doesn't redraw map properly (broken ExGrafix?)
no it needs to map RAM to 0x8000, there's a note in the mapper docs
but I still can't get it working correctly.
- Just Breed freezes during intro (fine if you skip it)
- Metal Slader Glory is all iknds of messed up.
- Huge Insect depends on obscure behavior of modifying OAM address during rendering
- Region autodetect is not going to work on most iNES 1.0 ROMs unless I have a database
- Until tonight I hadn't heard most of Strobe - Zberia or Strobe - Return to the Blip
They break in Nestopia the way they do in my emu; in Nintendulator they are MUCH longer.
Well that's because they have bad headers. And now I've catered to the brokenness.
- Emulate obscure sprite overflow behaviors
- Madara sound test doesn't work unless I get ingame and reset (forgotten initialization?)
- At least 3 Codemasters games depend on $2004 reads tracking internal sprite eval state
(Micro Machines, Dizzy the Adventurer, Bee 52, big nose freaks out)
Big nose also uses DPCM IRQs and some godawful mess of sprite 0 hit and writing to 2007 while rendering.
need to rewrite for Huge Insect anyway.
Possibility of massive bugs when PC is zero (but how would you execute off the
end of memory in any practical NES program?)
================================================
FILE: src/test/java/com/grapeshot/halfnes/JInputTest.java
================================================
package com.grapeshot.halfnes;
import net.java.games.input.Controller;
import net.java.games.input.ControllerEnvironment;
import org.testng.annotations.Test;
import java.util.Arrays;
/**
* Created by KlausH on 29.11.2015.
*/
public class JInputTest {
static {
JInputHelper.setupJInput();
}
@Test
public void testJInput() {
ControllerEnvironment controllerEnvironment = ControllerEnvironment.getDefaultEnvironment();
Controller[] controllers = controllerEnvironment.getControllers();
System.out.println(String.format("%s controllers found.", controllers.length));
Arrays.asList(controllers).forEach(controller -> {
System.out.println(String.format(" %s (%s)", controller, controller.getType()));
});
}
}
================================================
FILE: src/test/java/com/grapeshot/halfnes/nestest/NesTest.java
================================================
package com.grapeshot.halfnes.nestest;
import com.grapeshot.halfnes.NES;
import com.grapeshot.halfnes.mappers.BadMapperException;
import com.grapeshot.halfnes.ui.ControllerInterface;
import org.testng.annotations.Test;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
/**
* Created by KlausH on 28.11.2015.
*/
public class NesTest {
@Test
public void nesTest() throws BadMapperException {
NES nes = new NES(null);
nes.loadROM("src/test/resources/nestest/nestest.nes", 0xC000);
nes.setControllers(mock(ControllerInterface.class), mock(ControllerInterface.class));
//log all instructions executed to compare with real nestest.log
nes.getCPU().startLog("src/test/resources/nestest/compare.log");
while (nes.runEmulation) {
//runs until hits a KIL opcode which is a few instructions after the
//official log finishes.
nes.frameAdvance();
}
//log should be at least 8992 lines
//I don't actually compare the logs in this test yet.
//check some bytes of RAM for successful test result values
System.err.println(nes.getCPURAM().read(0));
System.err.println(nes.getCPURAM().read(1));
System.err.println(nes.getCPURAM().read(2));
System.err.println(nes.getCPURAM().read(3));
assertEquals(nes.getCPURAM().read(0), 0);
assertEquals(nes.getCPURAM().read(1), 255);
assertEquals(nes.getCPURAM().read(2), 255);
assertEquals(nes.getCPURAM().read(3), 255);
}
}
================================================
FILE: src/test/resources/nestest/compare.log
================================================
C000 4C JMP $C5F5 PC:C001 A:00 X:00 Y:00 P:24 SP:FD CYC:0 SL:0
C5F5 A2 LDX #$00 PC:C5F6 A:00 X:00 Y:00 P:24 SP:FD CYC:9 SL:0
C5F7 86 STX $00 PC:C5F8 A:00 X:00 Y:00 P:26 SP:FD CYC:15 SL:0
C5F9 86 STX $10 PC:C5FA A:00 X:00 Y:00 P:26 SP:FD CYC:24 SL:0
C5FB 86 STX $11 PC:C5FC A:00 X:00 Y:00 P:26 SP:FD CYC:33 SL:0
C5FD 20 JSR $C72D PC:C5FE A:00 X:00 Y:00 P:26 SP:FD CYC:42 SL:0
C72D EA NOP PC:C72E A:00 X:00 Y:00 P:26 SP:FB CYC:60 SL:0
C72E 38 SEC PC:C72F A:00 X:00 Y:00 P:26 SP:FB CYC:66 SL:0
C72F B0 BCS $C735 PC:C730 A:00 X:00 Y:00 P:27 SP:FB CYC:72 SL:0
C735 EA NOP PC:C736 A:00 X:00 Y:00 P:27 SP:FB CYC:81 SL:0
C736 18 CLC PC:C737 A:00 X:00 Y:00 P:27 SP:FB CYC:87 SL:0
C737 B0 BCS $C73C PC:C738 A:00 X:00 Y:00 P:26 SP:FB CYC:93 SL:0
C739 4C JMP $C740 PC:C73A A:00 X:00 Y:00 P:26 SP:FB CYC:99 SL:0
C740 EA NOP PC:C741 A:00 X:00 Y:00 P:26 SP:FB CYC:108 SL:0
C741 38 SEC PC:C742 A:00 X:00 Y:00 P:26 SP:FB CYC:114 SL:0
C742 90 BCC $C747 PC:C743 A:00 X:00 Y:00 P:27 SP:FB CYC:120 SL:0
C744 4C JMP $C74B PC:C745 A:00 X:00 Y:00 P:27 SP:FB CYC:126 SL:0
C74B EA NOP PC:C74C A:00 X:00 Y:00 P:27 SP:FB CYC:135 SL:0
C74C 18 CLC PC:C74D A:00 X:00 Y:00 P:27 SP:FB CYC:141 SL:0
C74D 90 BCC $C753 PC:C74E A:00 X:00 Y:00 P:26 SP:FB CYC:147 SL:0
C753 EA NOP PC:C754 A:00 X:00 Y:00 P:26 SP:FB CYC:156 SL:0
C754 A9 LDA #$00 PC:C755 A:00 X:00 Y:00 P:26 SP:FB CYC:162 SL:0
C756 F0 BEQ $C75C PC:C757 A:00 X:00 Y:00 P:26 SP:FB CYC:168 SL:0
C75C EA NOP PC:C75D A:00 X:00 Y:00 P:26 SP:FB CYC:177 SL:0
C75D A9 LDA #$40 PC:C75E A:00 X:00 Y:00 P:26 SP:FB CYC:183 SL:0
C75F F0 BEQ $C764 PC:C760 A:40 X:00 Y:00 P:24 SP:FB CYC:189 SL:0
C761 4C JMP $C768 PC:C762 A:40 X:00 Y:00 P:24 SP:FB CYC:195 SL:0
C768 EA NOP PC:C769 A:40 X:00 Y:00 P:24 SP:FB CYC:204 SL:0
C769 A9 LDA #$40 PC:C76A A:40 X:00 Y:00 P:24 SP:FB CYC:210 SL:0
C76B D0 BNE $C771 PC:C76C A:40 X:00 Y:00 P:24 SP:FB CYC:216 SL:0
C771 EA NOP PC:C772 A:40 X:00 Y:00 P:24 SP:FB CYC:225 SL:0
C772 A9 LDA #$00 PC:C773 A:40 X:00 Y:00 P:24 SP:FB CYC:231 SL:0
C774 D0 BNE $C779 PC:C775 A:00 X:00 Y:00 P:26 SP:FB CYC:237 SL:0
C776 4C JMP $C77D PC:C777 A:00 X:00 Y:00 P:26 SP:FB CYC:243 SL:0
C77D EA NOP PC:C77E A:00 X:00 Y:00 P:26 SP:FB CYC:252 SL:0
C77E A9 LDA #$FF PC:C77F A:00 X:00 Y:00 P:26 SP:FB CYC:258 SL:0
C780 85 STA $01 PC:C781 A:FF X:00 Y:00 P:A4 SP:FB CYC:264 SL:0
C782 24 BIT $01 PC:C783 A:FF X:00 Y:00 P:A4 SP:FB CYC:273 SL:0
C784 70 BVS $C78A PC:C785 A:FF X:00 Y:00 P:E4 SP:FB CYC:282 SL:0
C78A EA NOP PC:C78B A:FF X:00 Y:00 P:E4 SP:FB CYC:291 SL:0
C78B 24 BIT $01 PC:C78C A:FF X:00 Y:00 P:E4 SP:FB CYC:297 SL:0
C78D 50 BVC $C792 PC:C78E A:FF X:00 Y:00 P:E4 SP:FB CYC:306 SL:0
C78F 4C JMP $C796 PC:C790 A:FF X:00 Y:00 P:E4 SP:FB CYC:312 SL:0
C796 EA NOP PC:C797 A:FF X:00 Y:00 P:E4 SP:FB CYC:321 SL:0
C797 A9 LDA #$00 PC:C798 A:FF X:00 Y:00 P:E4 SP:FB CYC:327 SL:0
C799 85 STA $01 PC:C79A A:00 X:00 Y:00 P:66 SP:FB CYC:333 SL:0
C79B 24 BIT $01 PC:C79C A:00 X:00 Y:00 P:66 SP:FB CYC:1 SL:1
C79D 50 BVC $C7A3 PC:C79E A:00 X:00 Y:00 P:26 SP:FB CYC:10 SL:1
C7A3 EA NOP PC:C7A4 A:00 X:00 Y:00 P:26 SP:FB CYC:19 SL:1
C7A4 24 BIT $01 PC:C7A5 A:00 X:00 Y:00 P:26 SP:FB CYC:25 SL:1
C7A6 70 BVS $C7AB PC:C7A7 A:00 X:00 Y:00 P:26 SP:FB CYC:34 SL:1
C7A8 4C JMP $C7AF PC:C7A9 A:00 X:00 Y:00 P:26 SP:FB CYC:40 SL:1
C7AF EA NOP PC:C7B0 A:00 X:00 Y:00 P:26 SP:FB CYC:49 SL:1
C7B0 A9 LDA #$00 PC:C7B1 A:00 X:00 Y:00 P:26 SP:FB CYC:55 SL:1
C7B2 10 BPL $C7B8 PC:C7B3 A:00 X:00 Y:00 P:26 SP:FB CYC:61 SL:1
C7B8 EA NOP PC:C7B9 A:00 X:00 Y:00 P:26 SP:FB CYC:70 SL:1
C7B9 A9 LDA #$80 PC:C7BA A:00 X:00 Y:00 P:26 SP:FB CYC:76 SL:1
C7BB 10 BPL $C7C0 PC:C7BC A:80 X:00 Y:00 P:A4 SP:FB CYC:82 SL:1
C7BD 4C JMP $C7D9 PC:C7BE A:80 X:00 Y:00 P:A4 SP:FB CYC:88 SL:1
C7D9 EA NOP PC:C7DA A:80 X:00 Y:00 P:A4 SP:FB CYC:97 SL:1
C7DA 60 RTS PC:C7DB A:80 X:00 Y:00 P:A4 SP:FB CYC:103 SL:1
C600 20 JSR $C7DB PC:C601 A:80 X:00 Y:00 P:A4 SP:FD CYC:121 SL:1
C7DB EA NOP PC:C7DC A:80 X:00 Y:00 P:A4 SP:FB CYC:139 SL:1
C7DC A9 LDA #$FF PC:C7DD A:80 X:00 Y:00 P:A4 SP:FB CYC:145 SL:1
C7DE 85 STA $01 PC:C7DF A:FF X:00 Y:00 P:A4 SP:FB CYC:151 SL:1
C7E0 24 BIT $01 PC:C7E1 A:FF X:00 Y:00 P:A4 SP:FB CYC:160 SL:1
C7E2 A9 LDA #$00 PC:C7E3 A:FF X:00 Y:00 P:E4 SP:FB CYC:169 SL:1
C7E4 38 SEC PC:C7E5 A:00 X:00 Y:00 P:66 SP:FB CYC:175 SL:1
C7E5 78 SEI PC:C7E6 A:00 X:00 Y:00 P:67 SP:FB CYC:181 SL:1
C7E6 F8 SED PC:C7E7 A:00 X:00 Y:00 P:67 SP:FB CYC:187 SL:1
C7E7 08 PHP PC:C7E8 A:00 X:00 Y:00 P:6F SP:FB CYC:193 SL:1
C7E8 68 PLA PC:C7E9 A:00 X:00 Y:00 P:6F SP:FA CYC:202 SL:1
C7E9 29 AND #$EF PC:C7EA A:7F X:00 Y:00 P:6D SP:FB CYC:214 SL:1
C7EB C9 CMP #$6F PC:C7EC A:6F X:00 Y:00 P:6D SP:FB CYC:220 SL:1
C7ED F0 BEQ $C7F3 PC:C7EE A:6F X:00 Y:00 P:6F SP:FB CYC:226 SL:1
C7F3 EA NOP PC:C7F4 A:6F X:00 Y:00 P:6F SP:FB CYC:235 SL:1
C7F4 A9 LDA #$40 PC:C7F5 A:6F X:00 Y:00 P:6F SP:FB CYC:241 SL:1
C7F6 85 STA $01 PC:C7F7 A:40 X:00 Y:00 P:6D SP:FB CYC:247 SL:1
C7F8 24 BIT $01 PC:C7F9 A:40 X:00 Y:00 P:6D SP:FB CYC:256 SL:1
C7FA D8 CLD PC:C7FB A:40 X:00 Y:00 P:6D SP:FB CYC:265 SL:1
C7FB A9 LDA #$10 PC:C7FC A:40 X:00 Y:00 P:65 SP:FB CYC:271 SL:1
C7FD 18 CLC PC:C7FE A:10 X:00 Y:00 P:65 SP:FB CYC:277 SL:1
C7FE 08 PHP PC:C7FF A:10 X:00 Y:00 P:64 SP:FB CYC:283 SL:1
C7FF 68 PLA PC:C800 A:10 X:00 Y:00 P:64 SP:FA CYC:292 SL:1
C800 29 AND #$EF PC:C801 A:74 X:00 Y:00 P:64 SP:FB CYC:304 SL:1
C802 C9 CMP #$64 PC:C803 A:64 X:00 Y:00 P:64 SP:FB CYC:310 SL:1
C804 F0 BEQ $C80A PC:C805 A:64 X:00 Y:00 P:67 SP:FB CYC:316 SL:1
C80A EA NOP PC:C80B A:64 X:00 Y:00 P:67 SP:FB CYC:325 SL:1
C80B A9 LDA #$80 PC:C80C A:64 X:00 Y:00 P:67 SP:FB CYC:331 SL:1
C80D 85 STA $01 PC:C80E A:80 X:00 Y:00 P:E5 SP:FB CYC:337 SL:1
C80F 24 BIT $01 PC:C810 A:80 X:00 Y:00 P:E5 SP:FB CYC:5 SL:2
C811 F8 SED PC:C812 A:80 X:00 Y:00 P:A5 SP:FB CYC:14 SL:2
C812 A9 LDA #$00 PC:C813 A:80 X:00 Y:00 P:AD SP:FB CYC:20 SL:2
C814 38 SEC PC:C815 A:00 X:00 Y:00 P:2F SP:FB CYC:26 SL:2
C815 08 PHP PC:C816 A:00 X:00 Y:00 P:2F SP:FB CYC:32 SL:2
C816 68 PLA PC:C817 A:00 X:00 Y:00 P:2F SP:FA CYC:41 SL:2
C817 29 AND #$EF PC:C818 A:3F X:00 Y:00 P:2D SP:FB CYC:53 SL:2
C819 C9 CMP #$2F PC:C81A A:2F X:00 Y:00 P:2D SP:FB CYC:59 SL:2
C81B F0 BEQ $C821 PC:C81C A:2F X:00 Y:00 P:2F SP:FB CYC:65 SL:2
C821 EA NOP PC:C822 A:2F X:00 Y:00 P:2F SP:FB CYC:74 SL:2
C822 A9 LDA #$FF PC:C823 A:2F X:00 Y:00 P:2F SP:FB CYC:80 SL:2
C824 48 PHA PC:C825 A:FF X:00 Y:00 P:AD SP:FB CYC:86 SL:2
C825 28 PLP PC:C826 A:FF X:00 Y:00 P:AD SP:FA CYC:95 SL:2
C826 D0 BNE $C831 PC:C827 A:FF X:00 Y:00 P:EF SP:FB CYC:107 SL:2
C828 10 BPL $C831 PC:C829 A:FF X:00 Y:00 P:EF SP:FB CYC:113 SL:2
C82A 50 BVC $C831 PC:C82B A:FF X:00 Y:00 P:EF SP:FB CYC:119 SL:2
C82C 90 BCC $C831 PC:C82D A:FF X:00 Y:00 P:EF SP:FB CYC:125 SL:2
C82E 4C JMP $C835 PC:C82F A:FF X:00 Y:00 P:EF SP:FB CYC:131 SL:2
C835 EA NOP PC:C836 A:FF X:00 Y:00 P:EF SP:FB CYC:140 SL:2
C836 A9 LDA #$04 PC:C837 A:FF X:00 Y:00 P:EF SP:FB CYC:146 SL:2
C838 48 PHA PC:C839 A:04 X:00 Y:00 P:6D SP:FB CYC:152 SL:2
C839 28 PLP PC:C83A A:04 X:00 Y:00 P:6D SP:FA CYC:161 SL:2
C83A F0 BEQ $C845 PC:C83B A:04 X:00 Y:00 P:24 SP:FB CYC:173 SL:2
C83C 30 BMI $C845 PC:C83D A:04 X:00 Y:00 P:24 SP:FB CYC:179 SL:2
C83E 70 BVS $C845 PC:C83F A:04 X:00 Y:00 P:24 SP:FB CYC:185 SL:2
C840 B0 BCS $C845 PC:C841 A:04 X:00 Y:00 P:24 SP:FB CYC:191 SL:2
C842 4C JMP $C849 PC:C843 A:04 X:00 Y:00 P:24 SP:FB CYC:197 SL:2
C849 EA NOP PC:C84A A:04 X:00 Y:00 P:24 SP:FB CYC:206 SL:2
C84A F8 SED PC:C84B A:04 X:00 Y:00 P:24 SP:FB CYC:212 SL:2
C84B A9 LDA #$FF PC:C84C A:04 X:00 Y:00 P:2C SP:FB CYC:218 SL:2
C84D 85 STA $01 PC:C84E A:FF X:00 Y:00 P:AC SP:FB CYC:224 SL:2
C84F 24 BIT $01 PC:C850 A:FF X:00 Y:00 P:AC SP:FB CYC:233 SL:2
C851 18 CLC PC:C852 A:FF X:00 Y:00 P:EC SP:FB CYC:242 SL:2
C852 A9 LDA #$00 PC:C853 A:FF X:00 Y:00 P:EC SP:FB CYC:248 SL:2
C854 48 PHA PC:C855 A:00 X:00 Y:00 P:6E SP:FB CYC:254 SL:2
C855 A9 LDA #$FF PC:C856 A:00 X:00 Y:00 P:6E SP:FA CYC:263 SL:2
C857 68 PLA PC:C858 A:FF X:00 Y:00 P:EC SP:FA CYC:269 SL:2
C858 D0 BNE $C863 PC:C859 A:00 X:00 Y:00 P:6E SP:FB CYC:281 SL:2
C85A 30 BMI $C863 PC:C85B A:00 X:00 Y:00 P:6E SP:FB CYC:287 SL:2
C85C 50 BVC $C863 PC:C85D A:00 X:00 Y:00 P:6E SP:FB CYC:293 SL:2
C85E B0 BCS $C863 PC:C85F A:00 X:00 Y:00 P:6E SP:FB CYC:299 SL:2
C860 4C JMP $C867 PC:C861 A:00 X:00 Y:00 P:6E SP:FB CYC:305 SL:2
C867 EA NOP PC:C868 A:00 X:00 Y:00 P:6E SP:FB CYC:314 SL:2
C868 A9 LDA #$00 PC:C869 A:00 X:00 Y:00 P:6E SP:FB CYC:320 SL:2
C86A 85 STA $01 PC:C86B A:00 X:00 Y:00 P:6E SP:FB CYC:326 SL:2
C86C 24 BIT $01 PC:C86D A:00 X:00 Y:00 P:6E SP:FB CYC:335 SL:2
C86E 38 SEC PC:C86F A:00 X:00 Y:00 P:2E SP:FB CYC:3 SL:3
C86F A9 LDA #$FF PC:C870 A:00 X:00 Y:00 P:2F SP:FB CYC:9 SL:3
C871 48 PHA PC:C872 A:FF X:00 Y:00 P:AD SP:FB CYC:15 SL:3
C872 A9 LDA #$00 PC:C873 A:FF X:00 Y:00 P:AD SP:FA CYC:24 SL:3
C874 68 PLA PC:C875 A:00 X:00 Y:00 P:2F SP:FA CYC:30 SL:3
C875 F0 BEQ $C880 PC:C876 A:FF X:00 Y:00 P:AD SP:FB CYC:42 SL:3
C877 10 BPL $C880 PC:C878 A:FF X:00 Y:00 P:AD SP:FB CYC:48 SL:3
C879 70 BVS $C880 PC:C87A A:FF X:00 Y:00 P:AD SP:FB CYC:54 SL:3
C87B 90 BCC $C880 PC:C87C A:FF X:00 Y:00 P:AD SP:FB CYC:60 SL:3
C87D 4C JMP $C884 PC:C87E A:FF X:00 Y:00 P:AD SP:FB CYC:66 SL:3
C884 60 RTS PC:C885 A:FF X:00 Y:00 P:AD SP:FB CYC:75 SL:3
C603 20 JSR $C885 PC:C604 A:FF X:00 Y:00 P:AD SP:FD CYC:93 SL:3
C885 EA NOP PC:C886 A:FF X:00 Y:00 P:AD SP:FB CYC:111 SL:3
C886 18 CLC PC:C887 A:FF X:00 Y:00 P:AD SP:FB CYC:117 SL:3
C887 A9 LDA #$FF PC:C888 A:FF X:00 Y:00 P:AC SP:FB CYC:123 SL:3
C889 85 STA $01 PC:C88A A:FF X:00 Y:00 P:AC SP:FB CYC:129 SL:3
C88B 24 BIT $01 PC:C88C A:FF X:00 Y:00 P:AC SP:FB CYC:138 SL:3
C88D A9 LDA #$55 PC:C88E A:FF X:00 Y:00 P:EC SP:FB CYC:147 SL:3
C88F 09 ORA #$AA PC:C890 A:55 X:00 Y:00 P:6C SP:FB CYC:153 SL:3
C891 B0 BCS $C89E PC:C892 A:FF X:00 Y:00 P:EC SP:FB CYC:159 SL:3
C893 10 BPL $C89E PC:C894 A:FF X:00 Y:00 P:EC SP:FB CYC:165 SL:3
C895 C9 CMP #$FF PC:C896 A:FF X:00 Y:00 P:EC SP:FB CYC:171 SL:3
C897 D0 BNE $C89E PC:C898 A:FF X:00 Y:00 P:6F SP:FB CYC:177 SL:3
C899 50 BVC $C89E PC:C89A A:FF X:00 Y:00 P:6F SP:FB CYC:183 SL:3
C89B 4C JMP $C8A2 PC:C89C A:FF X:00 Y:00 P:6F SP:FB CYC:189 SL:3
C8A2 EA NOP PC:C8A3 A:FF X:00 Y:00 P:6F SP:FB CYC:198 SL:3
C8A3 38 SEC PC:C8A4 A:FF X:00 Y:00 P:6F SP:FB CYC:204 SL:3
C8A4 B8 CLV PC:C8A5 A:FF X:00 Y:00 P:6F SP:FB CYC:210 SL:3
C8A5 A9 LDA #$00 PC:C8A6 A:FF X:00 Y:00 P:2F SP:FB CYC:216 SL:3
C8A7 09 ORA #$00 PC:C8A8 A:00 X:00 Y:00 P:2F SP:FB CYC:222 SL:3
C8A9 D0 BNE $C8B4 PC:C8AA A:00 X:00 Y:00 P:2F SP:FB CYC:228 SL:3
C8AB 70 BVS $C8B4 PC:C8AC A:00 X:00 Y:00 P:2F SP:FB CYC:234 SL:3
C8AD 90 BCC $C8B4 PC:C8AE A:00 X:00 Y:00 P:2F SP:FB CYC:240 SL:3
C8AF 30 BMI $C8B4 PC:C8B0 A:00 X:00 Y:00 P:2F SP:FB CYC:246 SL:3
C8B1 4C JMP $C8B8 PC:C8B2 A:00 X:00 Y:00 P:2F SP:FB CYC:252 SL:3
C8B8 EA NOP PC:C8B9 A:00 X:00 Y:00 P:2F SP:FB CYC:261 SL:3
C8B9 18 CLC PC:C8BA A:00 X:00 Y:00 P:2F SP:FB CYC:267 SL:3
C8BA 24 BIT $01 PC:C8BB A:00 X:00 Y:00 P:2E SP:FB CYC:273 SL:3
C8BC A9 LDA #$55 PC:C8BD A:00 X:00 Y:00 P:EE SP:FB CYC:282 SL:3
C8BE 29 AND #$AA PC:C8BF A:55 X:00 Y:00 P:6C SP:FB CYC:288 SL:3
C8C0 D0 BNE $C8CB PC:C8C1 A:00 X:00 Y:00 P:6E SP:FB CYC:294 SL:3
C8C2 50 BVC $C8CB PC:C8C3 A:00 X:00 Y:00 P:6E SP:FB CYC:300 SL:3
C8C4 B0 BCS $C8CB PC:C8C5 A:00 X:00 Y:00 P:6E SP:FB CYC:306 SL:3
C8C6 30 BMI $C8CB PC:C8C7 A:00 X:00 Y:00 P:6E SP:FB CYC:312 SL:3
C8C8 4C JMP $C8CF PC:C8C9 A:00 X:00 Y:00 P:6E SP:FB CYC:318 SL:3
C8CF EA NOP PC:C8D0 A:00 X:00 Y:00 P:6E SP:FB CYC:327 SL:3
C8D0 38 SEC PC:C8D1 A:00 X:00 Y:00 P:6E SP:FB CYC:333 SL:3
C8D1 B8 CLV PC:C8D2 A:00 X:00 Y:00 P:6F SP:FB CYC:339 SL:3
C8D2 A9 LDA #$F8 PC:C8D3 A:00 X:00 Y:00 P:2F SP:FB CYC:4 SL:4
C8D4 29 AND #$EF PC:C8D5 A:F8 X:00 Y:00 P:AD SP:FB CYC:10 SL:4
C8D6 90 BCC $C8E3 PC:C8D7 A:E8 X:00 Y:00 P:AD SP:FB CYC:16 SL:4
C8D8 10 BPL $C8E3 PC:C8D9 A:E8 X:00 Y:00 P:AD SP:FB CYC:22 SL:4
C8DA C9 CMP #$E8 PC:C8DB A:E8 X:00 Y:00 P:AD SP:FB CYC:28 SL:4
C8DC D0 BNE $C8E3 PC:C8DD A:E8 X:00 Y:00 P:2F SP:FB CYC:34 SL:4
C8DE 70 BVS $C8E3 PC:C8DF A:E8 X:00 Y:00 P:2F SP:FB CYC:40 SL:4
C8E0 4C JMP $C8E7 PC:C8E1 A:E8 X:00 Y:00 P:2F SP:FB CYC:46 SL:4
C8E7 EA NOP PC:C8E8 A:E8 X:00 Y:00 P:2F SP:FB CYC:55 SL:4
C8E8 18 CLC PC:C8E9 A:E8 X:00 Y:00 P:2F SP:FB CYC:61 SL:4
C8E9 24 BIT $01 PC:C8EA A:E8 X:00 Y:00 P:2E SP:FB CYC:67 SL:4
C8EB A9 LDA #$5F PC:C8EC A:E8 X:00 Y:00 P:EC SP:FB CYC:76 SL:4
C8ED 49 EOR #$AA PC:C8EE A:5F X:00 Y:00 P:6C SP:FB CYC:82 SL:4
C8EF B0 BCS $C8FC PC:C8F0 A:F5 X:00 Y:00 P:EC SP:FB CYC:88 SL:4
C8F1 10 BPL $C8FC PC:C8F2 A:F5 X:00 Y:00 P:EC SP:FB CYC:94 SL:4
C8F3 C9 CMP #$F5 PC:C8F4 A:F5 X:00 Y:00 P:EC SP:FB CYC:100 SL:4
C8F5 D0 BNE $C8FC PC:C8F6 A:F5 X:00 Y:00 P:6F SP:FB CYC:106 SL:4
C8F7 50 BVC $C8FC PC:C8F8 A:F5 X:00 Y:00 P:6F SP:FB CYC:112 SL:4
C8F9 4C JMP $C900 PC:C8FA A:F5 X:00 Y:00 P:6F SP:FB CYC:118 SL:4
C900 EA NOP PC:C901 A:F5 X:00 Y:00 P:6F SP:FB CYC:127 SL:4
C901 38 SEC PC:C902 A:F5 X:00 Y:00 P:6F SP:FB CYC:133 SL:4
C902 B8 CLV PC:C903 A:F5 X:00 Y:00 P:6F SP:FB CYC:139 SL:4
C903 A9 LDA #$70 PC:C904 A:F5 X:00 Y:00 P:2F SP:FB CYC:145 SL:4
C905 49 EOR #$70 PC:C906 A:70 X:00 Y:00 P:2D SP:FB CYC:151 SL:4
C907 D0 BNE $C912 PC:C908 A:00 X:00 Y:00 P:2F SP:FB CYC:157 SL:4
C909 70 BVS $C912 PC:C90A A:00 X:00 Y:00 P:2F SP:FB CYC:163 SL:4
C90B 90 BCC $C912 PC:C90C A:00 X:00 Y:00 P:2F SP:FB CYC:169 SL:4
C90D 30 BMI $C912 PC:C90E A:00 X:00 Y:00 P:2F SP:FB CYC:175 SL:4
C90F 4C JMP $C916 PC:C910 A:00 X:00 Y:00 P:2F SP:FB CYC:181 SL:4
C916 EA NOP PC:C917 A:00 X:00 Y:00 P:2F SP:FB CYC:190 SL:4
C917 18 CLC PC:C918 A:00 X:00 Y:00 P:2F SP:FB CYC:196 SL:4
C918 24 BIT $01 PC:C919 A:00 X:00 Y:00 P:2E SP:FB CYC:202 SL:4
C91A A9 LDA #$00 PC:C91B A:00 X:00 Y:00 P:EE SP:FB CYC:211 SL:4
C91C 69 ADC #$69 PC:C91D A:00 X:00 Y:00 P:6E SP:FB CYC:217 SL:4
C91E 30 BMI $C92B PC:C91F A:69 X:00 Y:00 P:2C SP:FB CYC:223 SL:4
C920 B0 BCS $C92B PC:C921 A:69 X:00 Y:00 P:2C SP:FB CYC:229 SL:4
C922 C9 CMP #$69 PC:C923 A:69 X:00 Y:00 P:2C SP:FB CYC:235 SL:4
C924 D0 BNE $C92B PC:C925 A:69 X:00 Y:00 P:2F SP:FB CYC:241 SL:4
C926 70 BVS $C92B PC:C927 A:69 X:00 Y:00 P:2F SP:FB CYC:247 SL:4
C928 4C JMP $C92F PC:C929 A:69 X:00 Y:00 P:2F SP:FB CYC:253 SL:4
C92F EA NOP PC:C930 A:69 X:00 Y:00 P:2F SP:FB CYC:262 SL:4
C930 38 SEC PC:C931 A:69 X:00 Y:00 P:2F SP:FB CYC:268 SL:4
C931 F8 SED PC:C932 A:69 X:00 Y:00 P:2F SP:FB CYC:274 SL:4
C932 24 BIT $01 PC:C933 A:69 X:00 Y:00 P:2F SP:FB CYC:280 SL:4
C934 A9 LDA #$01 PC:C935 A:69 X:00 Y:00 P:ED SP:FB CYC:289 SL:4
C936 69 ADC #$69 PC:C937 A:01 X:00 Y:00 P:6D SP:FB CYC:295 SL:4
C938 30 BMI $C945 PC:C939 A:6B X:00 Y:00 P:2C SP:FB CYC:301 SL:4
C93A B0 BCS $C945 PC:C93B A:6B X:00 Y:00 P:2C SP:FB CYC:307 SL:4
C93C C9 CMP #$6B PC:C93D A:6B X:00 Y:00 P:2C SP:FB CYC:313 SL:4
C93E D0 BNE $C945 PC:C93F A:6B X:00 Y:00 P:2F SP:FB CYC:319 SL:4
C940 70 BVS $C945 PC:C941 A:6B X:00 Y:00 P:2F SP:FB CYC:325 SL:4
C942 4C JMP $C949 PC:C943 A:6B X:00 Y:00 P:2F SP:FB CYC:331 SL:4
C949 EA NOP PC:C94A A:6B X:00 Y:00 P:2F SP:FB CYC:340 SL:4
C94A D8 CLD PC:C94B A:6B X:00 Y:00 P:2F SP:FB CYC:5 SL:5
C94B 38 SEC PC:C94C A:6B X:00 Y:00 P:27 SP:FB CYC:11 SL:5
C94C B8 CLV PC:C94D A:6B X:00 Y:00 P:27 SP:FB CYC:17 SL:5
C94D A9 LDA #$7F PC:C94E A:6B X:00 Y:00 P:27 SP:FB CYC:23 SL:5
C94F 69 ADC #$7F PC:C950 A:7F X:00 Y:00 P:25 SP:FB CYC:29 SL:5
C951 10 BPL $C95E PC:C952 A:FF X:00 Y:00 P:E4 SP:FB CYC:35 SL:5
C953 B0 BCS $C95E PC:C954 A:FF X:00 Y:00 P:E4 SP:FB CYC:41 SL:5
C955 C9 CMP #$FF PC:C956 A:FF X:00 Y:00 P:E4 SP:FB CYC:47 SL:5
C957 D0 BNE $C95E PC:C958 A:FF X:00 Y:00 P:67 SP:FB CYC:53 SL:5
C959 50 BVC $C95E PC:C95A A:FF X:00 Y:00 P:67 SP:FB CYC:59 SL:5
C95B 4C JMP $C962 PC:C95C A:FF X:00 Y:00 P:67 SP:FB CYC:65 SL:5
C962 EA NOP PC:C963 A:FF X:00 Y:00 P:67 SP:FB CYC:74 SL:5
C963 18 CLC PC:C964 A:FF X:00 Y:00 P:67 SP:FB CYC:80 SL:5
C964 24 BIT $01 PC:C965 A:FF X:00 Y:00 P:66 SP:FB CYC:86 SL:5
C966 A9 LDA #$7F PC:C967 A:FF X:00 Y:00 P:E4 SP:FB CYC:95 SL:5
C968 69 ADC #$80 PC:C969 A:7F X:00 Y:00 P:64 SP:FB CYC:101 SL:5
C96A 10 BPL $C977 PC:C96B A:FF X:00 Y:00 P:A4 SP:FB CYC:107 SL:5
C96C B0 BCS $C977 PC:C96D A:FF X:00 Y:00 P:A4 SP:FB CYC:113 SL:5
C96E C9 CMP #$FF PC:C96F A:FF X:00 Y:00 P:A4 SP:FB CYC:119 SL:5
C970 D0 BNE $C977 PC:C971 A:FF X:00 Y:00 P:27 SP:FB CYC:125 SL:5
C972 70 BVS $C977 PC:C973 A:FF X:00 Y:00 P:27 SP:FB CYC:131 SL:5
C974 4C JMP $C97B PC:C975 A:FF X:00 Y:00 P:27 SP:FB CYC:137 SL:5
C97B EA NOP PC:C97C A:FF X:00 Y:00 P:27 SP:FB CYC:146 SL:5
C97C 38 SEC PC:C97D A:FF X:00 Y:00 P:27 SP:FB CYC:152 SL:5
C97D B8 CLV PC:C97E A:FF X:00 Y:00 P:27 SP:FB CYC:158 SL:5
C97E A9 LDA #$7F PC:C97F A:FF X:00 Y:00 P:27 SP:FB CYC:164 SL:5
C980 69 ADC #$80 PC:C981 A:7F X:00 Y:00 P:25 SP:FB CYC:170 SL:5
C982 D0 BNE $C98D PC:C983 A:00 X:00 Y:00 P:27 SP:FB CYC:176 SL:5
C984 30 BMI $C98D PC:C985 A:00 X:00 Y:00 P:27 SP:FB CYC:182 SL:5
C986 70 BVS $C98D PC:C987 A:00 X:00 Y:00 P:27 SP:FB CYC:188 SL:5
C988 90 BCC $C98D PC:C989 A:00 X:00 Y:00 P:27 SP:FB CYC:194 SL:5
C98A 4C JMP $C991 PC:C98B A:00 X:00 Y:00 P:27 SP:FB CYC:200 SL:5
C991 EA NOP PC:C992 A:00 X:00 Y:00 P:27 SP:FB CYC:209 SL:5
C992 38 SEC PC:C993 A:00 X:00 Y:00 P:27 SP:FB CYC:215 SL:5
C993 B8 CLV PC:C994 A:00 X:00 Y:00 P:27 SP:FB CYC:221 SL:5
C994 A9 LDA #$9F PC:C995 A:00 X:00 Y:00 P:27 SP:FB CYC:227 SL:5
C996 F0 BEQ $C9A1 PC:C997 A:9F X:00 Y:00 P:A5 SP:FB CYC:233 SL:5
C998 10 BPL $C9A1 PC:C999 A:9F X:00 Y:00 P:A5 SP:FB CYC:239 SL:5
C99A 70 BVS $C9A1 PC:C99B A:9F X:00 Y:00 P:A5 SP:FB CYC:245 SL:5
C99C 90 BCC $C9A1 PC:C99D A:9F X:00 Y:00 P:A5 SP:FB CYC:251 SL:5
C99E 4C JMP $C9A5 PC:C99F A:9F X:00 Y:00 P:A5 SP:FB CYC:257 SL:5
C9A5 EA NOP PC:C9A6 A:9F X:00 Y:00 P:A5 SP:FB CYC:266 SL:5
C9A6 18 CLC PC:C9A7 A:9F X:00 Y:00 P:A5 SP:FB CYC:272 SL:5
C9A7 24 BIT $01 PC:C9A8 A:9F X:00 Y:00 P:A4 SP:FB CYC:278 SL:5
C9A9 A9 LDA #$00 PC:C9AA A:9F X:00 Y:00 P:E4 SP:FB CYC:287 SL:5
C9AB D0 BNE $C9B6 PC:C9AC A:00 X:00 Y:00 P:66 SP:FB CYC:293 SL:5
C9AD 30 BMI $C9B6 PC:C9AE A:00 X:00 Y:00 P:66 SP:FB CYC:299 SL:5
C9AF 50 BVC $C9B6 PC:C9B0 A:00 X:00 Y:00 P:66 SP:FB CYC:305 SL:5
C9B1 B0 BCS $C9B6 PC:C9B2 A:00 X:00 Y:00 P:66 SP:FB CYC:311 SL:5
C9B3 4C JMP $C9BA PC:C9B4 A:00 X:00 Y:00 P:66 SP:FB CYC:317 SL:5
C9BA EA NOP PC:C9BB A:00 X:00 Y:00 P:66 SP:FB CYC:326 SL:5
C9BB 24 BIT $01 PC:C9BC A:00 X:00 Y:00 P:66 SP:FB CYC:332 SL:5
C9BD A9 LDA #$40 PC:C9BE A:00 X:00 Y:00 P:E6 SP:FB CYC:0 SL:6
C9BF C9 CMP #$40 PC:C9C0 A:40 X:00 Y:00 P:64 SP:FB CYC:6 SL:6
C9C1 30 BMI $C9CC PC:C9C2 A:40 X:00 Y:00 P:67 SP:FB CYC:12 SL:6
C9C3 90 BCC $C9CC PC:C9C4 A:40 X:00 Y:00 P:67 SP:FB CYC:18 SL:6
C9C5 D0 BNE $C9CC PC:C9C6 A:40 X:00 Y:00 P:67 SP:FB CYC:24 SL:6
C9C7 50 BVC $C9CC PC:C9C8 A:40 X:00 Y:00 P:67 SP:FB CYC:30 SL:6
C9C9 4C JMP $C9D0 PC:C9CA A:40 X:00 Y:00 P:67 SP:FB CYC:36 SL:6
C9D0 EA NOP PC:C9D1 A:40 X:00 Y:00 P:67 SP:FB CYC:45 SL:6
C9D1 B8 CLV PC:C9D2 A:40 X:00 Y:00 P:67 SP:FB CYC:51 SL:6
C9D2 C9 CMP #$3F PC:C9D3 A:40 X:00 Y:00 P:27 SP:FB CYC:57 SL:6
C9D4 F0 BEQ $C9DF PC:C9D5 A:40 X:00 Y:00 P:25 SP:FB CYC:63 SL:6
C9D6 30 BMI $C9DF PC:C9D7 A:40 X:00 Y:00 P:25 SP:FB CYC:69 SL:6
C9D8 90 BCC $C9DF PC:C9D9 A:40 X:00 Y:00 P:25 SP:FB CYC:75 SL:6
C9DA 70 BVS $C9DF PC:C9DB A:40 X:00 Y:00 P:25 SP:FB CYC:81 SL:6
C9DC 4C JMP $C9E3 PC:C9DD A:40 X:00 Y:00 P:25 SP:FB CYC:87 SL:6
C9E3 EA NOP PC:C9E4 A:40 X:00 Y:00 P:25 SP:FB CYC:96 SL:6
C9E4 C9 CMP #$41 PC:C9E5 A:40 X:00 Y:00 P:25 SP:FB CYC:102 SL:6
C9E6 F0 BEQ $C9EF PC:C9E7 A:40 X:00 Y:00 P:A4 SP:FB CYC:108 SL:6
C9E8 10 BPL $C9EF PC:C9E9 A:40 X:00 Y:00 P:A4 SP:FB CYC:114 SL:6
C9EA 10 BPL $C9EF PC:C9EB A:40 X:00 Y:00 P:A4 SP:FB CYC:120 SL:6
C9EC 4C JMP $C9F3 PC:C9ED A:40 X:00 Y:00 P:A4 SP:FB CYC:126 SL:6
C9F3 EA NOP PC:C9F4 A:40 X:00 Y:00 P:A4 SP:FB CYC:135 SL:6
C9F4 A9 LDA #$80 PC:C9F5 A:40 X:00 Y:00 P:A4 SP:FB CYC:141 SL:6
C9F6 C9 CMP #$00 PC:C9F7 A:80 X:00 Y:00 P:A4 SP:FB CYC:147 SL:6
C9F8 F0 BEQ $CA01 PC:C9F9 A:80 X:00 Y:00 P:A5 SP:FB CYC:153 SL:6
C9FA 10 BPL $CA01 PC:C9FB A:80 X:00 Y:00 P:A5 SP:FB CYC:159 SL:6
C9FC 90 BCC $CA01 PC:C9FD A:80 X:00 Y:00 P:A5 SP:FB CYC:165 SL:6
C9FE 4C JMP $CA05 PC:C9FF A:80 X:00 Y:00 P:A5 SP:FB CYC:171 SL:6
CA05 EA NOP PC:CA06 A:80 X:00 Y:00 P:A5 SP:FB CYC:180 SL:6
CA06 C9 CMP #$80 PC:CA07 A:80 X:00 Y:00 P:A5 SP:FB CYC:186 SL:6
CA08 D0 BNE $CA11 PC:CA09 A:80 X:00 Y:00 P:27 SP:FB CYC:192 SL:6
CA0A 30 BMI $CA11 PC:CA0B A:80 X:00 Y:00 P:27 SP:FB CYC:198 SL:6
CA0C 90 BCC $CA11 PC:CA0D A:80 X:00 Y:00 P:27 SP:FB CYC:204 SL:6
CA0E 4C JMP $CA15 PC:CA0F A:80 X:00 Y:00 P:27 SP:FB CYC:210 SL:6
CA15 EA NOP PC:CA16 A:80 X:00 Y:00 P:27 SP:FB CYC:219 SL:6
CA16 C9 CMP #$81 PC:CA17 A:80 X:00 Y:00 P:27 SP:FB CYC:225 SL:6
CA18 B0 BCS $CA21 PC:CA19 A:80 X:00 Y:00 P:A4 SP:FB CYC:231 SL:6
CA1A F0 BEQ $CA21 PC:CA1B A:80 X:00 Y:00 P:A4 SP:FB CYC:237 SL:6
CA1C 10 BPL $CA21 PC:CA1D A:80 X:00 Y:00 P:A4 SP:FB CYC:243 SL:6
CA1E 4C JMP $CA25 PC:CA1F A:80 X:00 Y:00 P:A4 SP:FB CYC:249 SL:6
CA25 EA NOP PC:CA26 A:80 X:00 Y:00 P:A4 SP:FB CYC:258 SL:6
CA26 C9 CMP #$7F PC:CA27 A:80 X:00 Y:00 P:A4 SP:FB CYC:264 SL:6
CA28 90 BCC $CA31 PC:CA29 A:80 X:00 Y:00 P:25 SP:FB CYC:270 SL:6
CA2A F0 BEQ $CA31 PC:CA2B A:80 X:00 Y:00 P:25 SP:FB CYC:276 SL:6
CA2C 30 BMI $CA31 PC:CA2D A:80 X:00 Y:00 P:25 SP:FB CYC:282 SL:6
CA2E 4C JMP $CA35 PC:CA2F A:80 X:00 Y:00 P:25 SP:FB CYC:288 SL:6
CA35 EA NOP PC:CA36 A:80 X:00 Y:00 P:25 SP:FB CYC:297 SL:6
CA36 24 BIT $01 PC:CA37 A:80 X:00 Y:00 P:25 SP:FB CYC:303 SL:6
CA38 A0 LDY #$40 PC:CA39 A:80 X:00 Y:00 P:E5 SP:FB CYC:312 SL:6
CA3A C0 CPY #$40 PC:CA3B A:80 X:00 Y:40 P:65 SP:FB CYC:318 SL:6
CA3C D0 BNE $CA47 PC:CA3D A:80 X:00 Y:40 P:67 SP:FB CYC:324 SL:6
CA3E 30 BMI $CA47 PC:CA3F A:80 X:00 Y:40 P:67 SP:FB CYC:330 SL:6
CA40 90 BCC $CA47 PC:CA41 A:80 X:00 Y:40 P:67 SP:FB CYC:336 SL:6
CA42 50 BVC $CA47 PC:CA43 A:80 X:00 Y:40 P:67 SP:FB CYC:1 SL:7
CA44 4C JMP $CA4B PC:CA45 A:80 X:00 Y:40 P:67 SP:FB CYC:7 SL:7
CA4B EA NOP PC:CA4C A:80 X:00 Y:40 P:67 SP:FB CYC:16 SL:7
CA4C B8 CLV PC:CA4D A:80 X:00 Y:40 P:67 SP:FB CYC:22 SL:7
CA4D C0 CPY #$3F PC:CA4E A:80 X:00 Y:40 P:27 SP:FB CYC:28 SL:7
CA4F F0 BEQ $CA5A PC:CA50 A:80 X:00 Y:40 P:25 SP:FB CYC:34 SL:7
CA51 30 BMI $CA5A PC:CA52 A:80 X:00 Y:40 P:25 SP:FB CYC:40 SL:7
CA53 90 BCC $CA5A PC:CA54 A:80 X:00 Y:40 P:25 SP:FB CYC:46 SL:7
CA55 70 BVS $CA5A PC:CA56 A:80 X:00 Y:40 P:25 SP:FB CYC:52 SL:7
CA57 4C JMP $CA5E PC:CA58 A:80 X:00 Y:40 P:25 SP:FB CYC:58 SL:7
CA5E EA NOP PC:CA5F A:80 X:00 Y:40 P:25 SP:FB CYC:67 SL:7
CA5F C0 CPY #$41 PC:CA60 A:80 X:00 Y:40 P:25 SP:FB CYC:73 SL:7
CA61 F0 BEQ $CA6A PC:CA62 A:80 X:00 Y:40 P:A4 SP:FB CYC:79 SL:7
CA63 10 BPL $CA6A PC:CA64 A:80 X:00 Y:40 P:A4 SP:FB CYC:85 SL:7
CA65 10 BPL $CA6A PC:CA66 A:80 X:00 Y:40 P:A4 SP:FB CYC:91 SL:7
CA67 4C JMP $CA6E PC:CA68 A:80 X:00 Y:40 P:A4 SP:FB CYC:97 SL:7
CA6E EA NOP PC:CA6F A:80 X:00 Y:40 P:A4 SP:FB CYC:106 SL:7
CA6F A0 LDY #$80 PC:CA70 A:80 X:00 Y:40 P:A4 SP:FB CYC:112 SL:7
CA71 C0 CPY #$00 PC:CA72 A:80 X:00 Y:80 P:A4 SP:FB CYC:118 SL:7
CA73 F0 BEQ $CA7C PC:CA74 A:80 X:00 Y:80 P:A5 SP:FB CYC:124 SL:7
CA75 10 BPL $CA7C PC:CA76 A:80 X:00 Y:80 P:A5 SP:FB CYC:130 SL:7
CA77 90 BCC $CA7C PC:CA78 A:80 X:00 Y:80 P:A5 SP:FB CYC:136 SL:7
CA79 4C JMP $CA80 PC:CA7A A:80 X:00 Y:80 P:A5 SP:FB CYC:142 SL:7
CA80 EA NOP PC:CA81 A:80 X:00 Y:80 P:A5 SP:FB CYC:151 SL:7
CA81 C0 CPY #$80 PC:CA82 A:80 X:00 Y:80 P:A5 SP:FB CYC:157 SL:7
CA83 D0 BNE $CA8C PC:CA84 A:80 X:00 Y:80 P:27 SP:FB CYC:163 SL:7
CA85 30 BMI $CA8C PC:CA86 A:80 X:00 Y:80 P:27 SP:FB CYC:169 SL:7
CA87 90 BCC $CA8C PC:CA88 A:80 X:00 Y:80 P:27 SP:FB CYC:175 SL:7
CA89 4C JMP $CA90 PC:CA8A A:80 X:00 Y:80 P:27 SP:FB CYC:181 SL:7
CA90 EA NOP PC:CA91 A:80 X:00 Y:80 P:27 SP:FB CYC:190 SL:7
CA91 C0 CPY #$81 PC:CA92 A:80 X:00 Y:80 P:27 SP:FB CYC:196 SL:7
CA93 B0 BCS $CA9C PC:CA94 A:80 X:00 Y:80 P:A4 SP:FB CYC:202 SL:7
CA95 F0 BEQ $CA9C PC:CA96 A:80 X:00 Y:80 P:A4 SP:FB CYC:208 SL:7
CA97 10 BPL $CA9C PC:CA98 A:80 X:00 Y:80 P:A4 SP:FB CYC:214 SL:7
CA99 4C JMP $CAA0 PC:CA9A A:80 X:00 Y:80 P:A4 SP:FB CYC:220 SL:7
CAA0 EA NOP PC:CAA1 A:80 X:00 Y:80 P:A4 SP:FB CYC:229 SL:7
CAA1 C0 CPY #$7F PC:CAA2 A:80 X:00 Y:80 P:A4 SP:FB CYC:235 SL:7
CAA3 90 BCC $CAAC PC:CAA4 A:80 X:00 Y:80 P:25 SP:FB CYC:241 SL:7
CAA5 F0 BEQ $CAAC PC:CAA6 A:80 X:00 Y:80 P:25 SP:FB CYC:247 SL:7
CAA7 30 BMI $CAAC PC:CAA8 A:80 X:00 Y:80 P:25 SP:FB CYC:253 SL:7
CAA9 4C JMP $CAB0 PC:CAAA A:80 X:00 Y:80 P:25 SP:FB CYC:259 SL:7
CAB0 EA NOP PC:CAB1 A:80 X:00 Y:80 P:25 SP:FB CYC:268 SL:7
CAB1 24 BIT $01 PC:CAB2 A:80 X:00 Y:80 P:25 SP:FB CYC:274 SL:7
CAB3 A2 LDX #$40 PC:CAB4 A:80 X:00 Y:80 P:E5 SP:FB CYC:283 SL:7
CAB5 E0 CPX #$40 PC:CAB6 A:80 X:40 Y:80 P:65 SP:FB CYC:289 SL:7
CAB7 D0 BNE $CAC2 PC:CAB8 A:80 X:40 Y:80 P:67 SP:FB CYC:295 SL:7
CAB9 30 BMI $CAC2 PC:CABA A:80 X:40 Y:80 P:67 SP:FB CYC:301 SL:7
CABB 90 BCC $CAC2 PC:CABC A:80 X:40 Y:80 P:67 SP:FB CYC:307 SL:7
CABD 50 BVC $CAC2 PC:CABE A:80 X:40 Y:80 P:67 SP:FB CYC:313 SL:7
CABF 4C JMP $CAC6 PC:CAC0 A:80 X:40 Y:80 P:67 SP:FB CYC:319 SL:7
CAC6 EA NOP PC:CAC7 A:80 X:40 Y:80 P:67 SP:FB CYC:328 SL:7
CAC7 B8 CLV PC:CAC8 A:80 X:40 Y:80 P:67 SP:FB CYC:334 SL:7
CAC8 E0 CPX #$3F PC:CAC9 A:80 X:40 Y:80 P:27 SP:FB CYC:340 SL:7
CACA F0 BEQ $CAD5 PC:CACB A:80 X:40 Y:80 P:25 SP:FB CYC:5 SL:8
CACC 30 BMI $CAD5 PC:CACD A:80 X:40 Y:80 P:25 SP:FB CYC:11 SL:8
CACE 90 BCC $CAD5 PC:CACF A:80 X:40 Y:80 P:25 SP:FB CYC:17 SL:8
CAD0 70 BVS $CAD5 PC:CAD1 A:80 X:40 Y:80 P:25 SP:FB CYC:23 SL:8
CAD2 4C JMP $CAD9 PC:CAD3 A:80 X:40 Y:80 P:25 SP:FB CYC:29 SL:8
CAD9 EA NOP PC:CADA A:80 X:40 Y:80 P:25 SP:FB CYC:38 SL:8
CADA E0 CPX #$41 PC:CADB A:80 X:40 Y:80 P:25 SP:FB CYC:44 SL:8
CADC F0 BEQ $CAE5 PC:CADD A:80 X:40 Y:80 P:A4 SP:FB CYC:50 SL:8
CADE 10 BPL $CAE5 PC:CADF A:80 X:40 Y:80 P:A4 SP:FB CYC:56 SL:8
CAE0 10 BPL $CAE5 PC:CAE1 A:80 X:40 Y:80 P:A4 SP:FB CYC:62 SL:8
CAE2 4C JMP $CAE9 PC:CAE3 A:80 X:40 Y:80 P:A4 SP:FB CYC:68 SL:8
CAE9 EA NOP PC:CAEA A:80 X:40 Y:80 P:A4 SP:FB CYC:77 SL:8
CAEA A2 LDX #$80 PC:CAEB A:80 X:40 Y:80 P:A4 SP:FB CYC:83 SL:8
CAEC E0 CPX #$00 PC:CAED A:80 X:80 Y:80 P:A4 SP:FB CYC:89 SL:8
CAEE F0 BEQ $CAF7 PC:CAEF A:80 X:80 Y:80 P:A5 SP:FB CYC:95 SL:8
CAF0 10 BPL $CAF7 PC:CAF1 A:80 X:80 Y:80 P:A5 SP:FB CYC:101 SL:8
CAF2 90 BCC $CAF7 PC:CAF3 A:80 X:80 Y:80 P:A5 SP:FB CYC:107 SL:8
CAF4 4C JMP $CAFB PC:CAF5 A:80 X:80 Y:80 P:A5 SP:FB CYC:113 SL:8
CAFB EA NOP PC:CAFC A:80 X:80 Y:80 P:A5 SP:FB CYC:122 SL:8
CAFC E0 CPX #$80 PC:CAFD A:80 X:80 Y:80 P:A5 SP:FB CYC:128 SL:8
CAFE D0 BNE $CB07 PC:CAFF A:80 X:80 Y:80 P:27 SP:FB CYC:134 SL:8
CB00 30 BMI $CB07 PC:CB01 A:80 X:80 Y:80 P:27 SP:FB CYC:140 SL:8
CB02 90 BCC $CB07 PC:CB03 A:80 X:80 Y:80 P:27 SP:FB CYC:146 SL:8
CB04 4C JMP $CB0B PC:CB05 A:80 X:80 Y:80 P:27 SP:FB CYC:152 SL:8
CB0B EA NOP PC:CB0C A:80 X:80 Y:80 P:27 SP:FB CYC:161 SL:8
CB0C E0 CPX #$81 PC:CB0D A:80 X:80 Y:80 P:27 SP:FB CYC:167 SL:8
CB0E B0 BCS $CB17 PC:CB0F A:80 X:80 Y:80 P:A4 SP:FB CYC:173 SL:8
CB10 F0 BEQ $CB17 PC:CB11 A:80 X:80 Y:80 P:A4 SP:FB CYC:179 SL:8
CB12 10 BPL $CB17 PC:CB13 A:80 X:80 Y:80 P:A4 SP:FB CYC:185 SL:8
CB14 4C JMP $CB1B PC:CB15 A:80 X:80 Y:80 P:A4 SP:FB CYC:191 SL:8
CB1B EA NOP PC:CB1C A:80 X:80 Y:80 P:A4 SP:FB CYC:200 SL:8
CB1C E0 CPX #$7F PC:CB1D A:80 X:80 Y:80 P:A4 SP:FB CYC:206 SL:8
CB1E 90 BCC $CB27 PC:CB1F A:80 X:80 Y:80 P:25 SP:FB CYC:212 SL:8
CB20 F0 BEQ $CB27 PC:CB21 A:80 X:80 Y:80 P:25 SP:FB CYC:218 SL:8
CB22 30 BMI $CB27 PC:CB23 A:80 X:80 Y:80 P:25 SP:FB CYC:224 SL:8
CB24 4C JMP $CB2B PC:CB25 A:80 X:80 Y:80 P:25 SP:FB CYC:230 SL:8
CB2B EA NOP PC:CB2C A:80 X:80 Y:80 P:25 SP:FB CYC:239 SL:8
CB2C 38 SEC PC:CB2D A:80 X:80 Y:80 P:25 SP:FB CYC:245 SL:8
CB2D B8 CLV PC:CB2E A:80 X:80 Y:80 P:25 SP:FB CYC:251 SL:8
CB2E A2 LDX #$9F PC:CB2F A:80 X:80 Y:80 P:25 SP:FB CYC:257 SL:8
CB30 F0 BEQ $CB3B PC:CB31 A:80 X:9F Y:80 P:A5 SP:FB CYC:263 SL:8
CB32 10 BPL $CB3B PC:CB33 A:80 X:9F Y:80 P:A5 SP:FB CYC:269 SL:8
CB34 70 BVS $CB3B PC:CB35 A:80 X:9F Y:80 P:A5 SP:FB CYC:275 SL:8
CB36 90 BCC $CB3B PC:CB37 A:80 X:9F Y:80 P:A5 SP:FB CYC:281 SL:8
CB38 4C JMP $CB3F PC:CB39 A:80 X:9F Y:80 P:A5 SP:FB CYC:287 SL:8
CB3F EA NOP PC:CB40 A:80 X:9F Y:80 P:A5 SP:FB CYC:296 SL:8
CB40 18 CLC PC:CB41 A:80 X:9F Y:80 P:A5 SP:FB CYC:302 SL:8
CB41 24 BIT $01 PC:CB42 A:80 X:9F Y:80 P:A4 SP:FB CYC:308 SL:8
CB43 A2 LDX #$00 PC:CB44 A:80 X:9F Y:80 P:E4 SP:FB CYC:317 SL:8
CB45 D0 BNE $CB50 PC:CB46 A:80 X:00 Y:80 P:66 SP:FB CYC:323 SL:8
CB47 30 BMI $CB50 PC:CB48 A:80 X:00 Y:80 P:66 SP:FB CYC:329 SL:8
CB49 50 BVC $CB50 PC:CB4A A:80 X:00 Y:80 P:66 SP:FB CYC:335 SL:8
CB4B B0 BCS $CB50 PC:CB4C A:80 X:00 Y:80 P:66 SP:FB CYC:0 SL:9
CB4D 4C JMP $CB54 PC:CB4E A:80 X:00 Y:80 P:66 SP:FB CYC:6 SL:9
CB54 EA NOP PC:CB55 A:80 X:00 Y:80 P:66 SP:FB CYC:15 SL:9
CB55 38 SEC PC:CB56 A:80 X:00 Y:80 P:66 SP:FB CYC:21 SL:9
CB56 B8 CLV PC:CB57 A:80 X:00 Y:80 P:67 SP:FB CYC:27 SL:9
CB57 A0 LDY #$9F PC:CB58 A:80 X:00 Y:80 P:27 SP:FB CYC:33 SL:9
CB59 F0 BEQ $CB64 PC:CB5A A:80 X:00 Y:9F P:A5 SP:FB CYC:39 SL:9
CB5B 10 BPL $CB64 PC:CB5C A:80 X:00 Y:9F P:A5 SP:FB CYC:45 SL:9
CB5D 70 BVS $CB64 PC:CB5E A:80 X:00 Y:9F P:A5 SP:FB CYC:51 SL:9
CB5F 90 BCC $CB64 PC:CB60 A:80 X:00 Y:9F P:A5 SP:FB CYC:57 SL:9
CB61 4C JMP $CB68 PC:CB62 A:80 X:00 Y:9F P:A5 SP:FB CYC:63 SL:9
CB68 EA NOP PC:CB69 A:80 X:00 Y:9F P:A5 SP:FB CYC:72 SL:9
CB69 18 CLC PC:CB6A A:80 X:00 Y:9F P:A5 SP:FB CYC:78 SL:9
CB6A 24 BIT $01 PC:CB6B A:80 X:00 Y:9F P:A4 SP:FB CYC:84 SL:9
CB6C A0 LDY #$00 PC:CB6D A:80 X:00 Y:9F P:E4 SP:FB CYC:93 SL:9
CB6E D0 BNE $CB79 PC:CB6F A:80 X:00 Y:00 P:66 SP:FB CYC:99 SL:9
CB70 30 BMI $CB79 PC:CB71 A:80 X:00 Y:00 P:66 SP:FB CYC:105 SL:9
CB72 50 BVC $CB79 PC:CB73 A:80 X:00 Y:00 P:66 SP:FB CYC:111 SL:9
CB74 B0 BCS $CB79 PC:CB75 A:80 X:00 Y:00 P:66 SP:FB CYC:117 SL:9
CB76 4C JMP $CB7D PC:CB77 A:80 X:00 Y:00 P:66 SP:FB CYC:123 SL:9
CB7D EA NOP PC:CB7E A:80 X:00 Y:00 P:66 SP:FB CYC:132 SL:9
CB7E A9 LDA #$55 PC:CB7F A:80 X:00 Y:00 P:66 SP:FB CYC:138 SL:9
CB80 A2 LDX #$AA PC:CB81 A:55 X:00 Y:00 P:64 SP:FB CYC:144 SL:9
CB82 A0 LDY #$33 PC:CB83 A:55 X:AA Y:00 P:E4 SP:FB CYC:150 SL:9
CB84 C9 CMP #$55 PC:CB85 A:55 X:AA Y:33 P:64 SP:FB CYC:156 SL:9
CB86 D0 BNE $CBAB PC:CB87 A:55 X:AA Y:33 P:67 SP:FB CYC:162 SL:9
CB88 E0 CPX #$AA PC:CB89 A:55 X:AA Y:33 P:67 SP:FB CYC:168 SL:9
CB8A D0 BNE $CBAB PC:CB8B A:55 X:AA Y:33 P:67 SP:FB CYC:174 SL:9
CB8C C0 CPY #$33 PC:CB8D A:55 X:AA Y:33 P:67 SP:FB CYC:180 SL:9
CB8E D0 BNE $CBAB PC:CB8F A:55 X:AA Y:33 P:67 SP:FB CYC:186 SL:9
CB90 C9 CMP #$55 PC:CB91 A:55 X:AA Y:33 P:67 SP:FB CYC:192 SL:9
CB92 D0 BNE $CBAB PC:CB93 A:55 X:AA Y:33 P:67 SP:FB CYC:198 SL:9
CB94 E0 CPX #$AA PC:CB95 A:55 X:AA Y:33 P:67 SP:FB CYC:204 SL:9
CB96 D0 BNE $CBAB PC:CB97 A:55 X:AA Y:33 P:67 SP:FB CYC:210 SL:9
CB98 C0 CPY #$33 PC:CB99 A:55 X:AA Y:33 P:67 SP:FB CYC:216 SL:9
CB9A D0 BNE $CBAB PC:CB9B A:55 X:AA Y:33 P:67 SP:FB CYC:222 SL:9
CB9C C9 CMP #$56 PC:CB9D A:55 X:AA Y:33 P:67 SP:FB CYC:228 SL:9
CB9E F0 BEQ $CBAB PC:CB9F A:55 X:AA Y:33 P:E4 SP:FB CYC:234 SL:9
CBA0 E0 CPX #$AB PC:CBA1 A:55 X:AA Y:33 P:E4 SP:FB CYC:240 SL:9
CBA2 F0 BEQ $CBAB PC:CBA3 A:55 X:AA Y:33 P:E4 SP:FB CYC:246 SL:9
CBA4 C0 CPY #$34 PC:CBA5 A:55 X:AA Y:33 P:E4 SP:FB CYC:252 SL:9
CBA6 F0 BEQ $CBAB PC:CBA7 A:55 X:AA Y:33 P:E4 SP:FB CYC:258 SL:9
CBA8 4C JMP $CBAF PC:CBA9 A:55 X:AA Y:33 P:E4 SP:FB CYC:264 SL:9
CBAF A0 LDY #$71 PC:CBB0 A:55 X:AA Y:33 P:E4 SP:FB CYC:273 SL:9
CBB1 20 JSR $F931 PC:CBB2 A:55 X:AA Y:71 P:64 SP:FB CYC:279 SL:9
F931 24 BIT $01 PC:F932 A:55 X:AA Y:71 P:64 SP:F9 CYC:297 SL:9
F933 A9 LDA #$40 PC:F934 A:55 X:AA Y:71 P:E4 SP:F9 CYC:306 SL:9
F935 38 SEC PC:F936 A:40 X:AA Y:71 P:64 SP:F9 CYC:312 SL:9
F936 60 RTS PC:F937 A:40 X:AA Y:71 P:65 SP:F9 CYC:318 SL:9
CBB4 E9 SBC #$40 PC:CBB5 A:40 X:AA Y:71 P:65 SP:FB CYC:336 SL:9
CBB6 20 JSR $F937 PC:CBB7 A:00 X:AA Y:71 P:27 SP:FB CYC:1 SL:10
F937 30 BMI $F944 PC:F938 A:00 X:AA Y:71 P:27 SP:F9 CYC:19 SL:10
F939 90 BCC $F944 PC:F93A A:00 X:AA Y:71 P:27 SP:F9 CYC:25 SL:10
F93B D0 BNE $F944 PC:F93C A:00 X:AA Y:71 P:27 SP:F9 CYC:31 SL:10
F93D 70 BVS $F944 PC:F93E A:00 X:AA Y:71 P:27 SP:F9 CYC:37 SL:10
F93F C9 CMP #$00 PC:F940 A:00 X:AA Y:71 P:27 SP:F9 CYC:43 SL:10
F941 D0 BNE $F944 PC:F942 A:00 X:AA Y:71 P:27 SP:F9 CYC:49 SL:10
F943 60 RTS PC:F944 A:00 X:AA Y:71 P:27 SP:F9 CYC:55 SL:10
CBB9 C8 INY PC:CBBA A:00 X:AA Y:71 P:27 SP:FB CYC:73 SL:10
CBBA 20 JSR $F947 PC:CBBB A:00 X:AA Y:72 P:25 SP:FB CYC:79 SL:10
F947 B8 CLV PC:F948 A:00 X:AA Y:72 P:25 SP:F9 CYC:97 SL:10
F948 38 SEC PC:F949 A:00 X:AA Y:72 P:25 SP:F9 CYC:103 SL:10
F949 A9 LDA #$40 PC:F94A A:00 X:AA Y:72 P:25 SP:F9 CYC:109 SL:10
F94B 60 RTS PC:F94C A:40 X:AA Y:72 P:25 SP:F9 CYC:115 SL:10
CBBD E9 SBC #$3F PC:CBBE A:40 X:AA Y:72 P:25 SP:FB CYC:133 SL:10
CBBF 20 JSR $F94C PC:CBC0 A:01 X:AA Y:72 P:25 SP:FB CYC:139 SL:10
F94C F0 BEQ $F959 PC:F94D A:01 X:AA Y:72 P:25 SP:F9 CYC:157 SL:10
F94E 30 BMI $F959 PC:F94F A:01 X:AA Y:72 P:25 SP:F9 CYC:163 SL:10
F950 90 BCC $F959 PC:F951 A:01 X:AA Y:72 P:25 SP:F9 CYC:169 SL:10
F952 70 BVS $F959 PC:F953 A:01 X:AA Y:72 P:25 SP:F9 CYC:175 SL:10
F954 C9 CMP #$01 PC:F955 A:01 X:AA Y:72 P:25 SP:F9 CYC:181 SL:10
F956 D0 BNE $F959 PC:F957 A:01 X:AA Y:72 P:27 SP:F9 CYC:187 SL:10
F958 60 RTS PC:F959 A:01 X:AA Y:72 P:27 SP:F9 CYC:193 SL:10
CBC2 C8 INY PC:CBC3 A:01 X:AA Y:72 P:27 SP:FB CYC:211 SL:10
CBC3 20 JSR $F95C PC:CBC4 A:01 X:AA Y:73 P:25 SP:FB CYC:217 SL:10
F95C A9 LDA #$40 PC:F95D A:01 X:AA Y:73 P:25 SP:F9 CYC:235 SL:10
F95E 38 SEC PC:F95F A:40 X:AA Y:73 P:25 SP:F9 CYC:241 SL:10
F95F 24 BIT $01 PC:F960 A:40 X:AA Y:73 P:25 SP:F9 CYC:247 SL:10
F961 60 RTS PC:F962 A:40 X:AA Y:73 P:E5 SP:F9 CYC:256 SL:10
CBC6 E9 SBC #$41 PC:CBC7 A:40 X:AA Y:73 P:E5 SP:FB CYC:274 SL:10
CBC8 20 JSR $F962 PC:CBC9 A:FF X:AA Y:73 P:A4 SP:FB CYC:280 SL:10
F962 B0 BCS $F96F PC:F963 A:FF X:AA Y:73 P:A4 SP:F9 CYC:298 SL:10
F964 F0 BEQ $F96F PC:F965 A:FF X:AA Y:73 P:A4 SP:F9 CYC:304 SL:10
F966 10 BPL $F96F PC:F967 A:FF X:AA Y:73 P:A4 SP:F9 CYC:310 SL:10
F968 70 BVS $F96F PC:F969 A:FF X:AA Y:73 P:A4 SP:F9 CYC:316 SL:10
F96A C9 CMP #$FF PC:F96B A:FF X:AA Y:73 P:A4 SP:F9 CYC:322 SL:10
F96C D0 BNE $F96F PC:F96D A:FF X:AA Y:73 P:27 SP:F9 CYC:328 SL:10
F96E 60 RTS PC:F96F A:FF X:AA Y:73 P:27 SP:F9 CYC:334 SL:10
CBCB C8 INY PC:CBCC A:FF X:AA Y:73 P:27 SP:FB CYC:11 SL:11
CBCC 20 JSR $F972 PC:CBCD A:FF X:AA Y:74 P:25 SP:FB CYC:17 SL:11
F972 18 CLC PC:F973 A:FF X:AA Y:74 P:25 SP:F9 CYC:35 SL:11
F973 A9 LDA #$80 PC:F974 A:FF X:AA Y:74 P:24 SP:F9 CYC:41 SL:11
F975 60 RTS PC:F976 A:80 X:AA Y:74 P:A4 SP:F9 CYC:47 SL:11
CBCF E9 SBC #$00 PC:CBD0 A:80 X:AA Y:74 P:A4 SP:FB CYC:65 SL:11
CBD1 20 JSR $F976 PC:CBD2 A:7F X:AA Y:74 P:65 SP:FB CYC:71 SL:11
F976 90 BCC $F97D PC:F977 A:7F X:AA Y:74 P:65 SP:F9 CYC:89 SL:11
F978 C9 CMP #$7F PC:F979 A:7F X:AA Y:74 P:65 SP:F9 CYC:95 SL:11
F97A D0 BNE $F97D PC:F97B A:7F X:AA Y:74 P:67 SP:F9 CYC:101 SL:11
F97C 60 RTS PC:F97D A:7F X:AA Y:74 P:67 SP:F9 CYC:107 SL:11
CBD4 C8 INY PC:CBD5 A:7F X:AA Y:74 P:67 SP:FB CYC:125 SL:11
CBD5 20 JSR $F980 PC:CBD6 A:7F X:AA Y:75 P:65 SP:FB CYC:131 SL:11
F980 38 SEC PC:F981 A:7F X:AA Y:75 P:65 SP:F9 CYC:149 SL:11
F981 A9 LDA #$81 PC:F982 A:7F X:AA Y:75 P:65 SP:F9 CYC:155 SL:11
F983 60 RTS PC:F984 A:81 X:AA Y:75 P:E5 SP:F9 CYC:161 SL:11
CBD8 E9 SBC #$7F PC:CBD9 A:81 X:AA Y:75 P:E5 SP:FB CYC:179 SL:11
CBDA 20 JSR $F984 PC:CBDB A:02 X:AA Y:75 P:65 SP:FB CYC:185 SL:11
F984 50 BVC $F98D PC:F985 A:02 X:AA Y:75 P:65 SP:F9 CYC:203 SL:11
F986 90 BCC $F98D PC:F987 A:02 X:AA Y:75 P:65 SP:F9 CYC:209 SL:11
F988 C9 CMP #$02 PC:F989 A:02 X:AA Y:75 P:65 SP:F9 CYC:215 SL:11
F98A D0 BNE $F98D PC:F98B A:02 X:AA Y:75 P:67 SP:F9 CYC:221 SL:11
F98C 60 RTS PC:F98D A:02 X:AA Y:75 P:67 SP:F9 CYC:227 SL:11
CBDD 60 RTS PC:CBDE A:02 X:AA Y:75 P:67 SP:FB CYC:245 SL:11
C606 20 JSR $CBDE PC:C607 A:02 X:AA Y:75 P:67 SP:FD CYC:263 SL:11
CBDE EA NOP PC:CBDF A:02 X:AA Y:75 P:67 SP:FB CYC:281 SL:11
CBDF A9 LDA #$FF PC:CBE0 A:02 X:AA Y:75 P:67 SP:FB CYC:287 SL:11
CBE1 85 STA $01 PC:CBE2 A:FF X:AA Y:75 P:E5 SP:FB CYC:293 SL:11
CBE3 A9 LDA #$44 PC:CBE4 A:FF X:AA Y:75 P:E5 SP:FB CYC:302 SL:11
CBE5 A2 LDX #$55 PC:CBE6 A:44 X:AA Y:75 P:65 SP:FB CYC:308 SL:11
CBE7 A0 LDY #$66 PC:CBE8 A:44 X:55 Y:75 P:65 SP:FB CYC:314 SL:11
CBE9 E8 INX PC:CBEA A:44 X:55 Y:66 P:65 SP:FB CYC:320 SL:11
CBEA 88 DEY PC:CBEB A:44 X:56 Y:66 P:65 SP:FB CYC:326 SL:11
CBEB E0 CPX #$56 PC:CBEC A:44 X:56 Y:65 P:65 SP:FB CYC:332 SL:11
CBED D0 BNE $CC10 PC:CBEE A:44 X:56 Y:65 P:67 SP:FB CYC:338 SL:11
CBEF C0 CPY #$65 PC:CBF0 A:44 X:56 Y:65 P:67 SP:FB CYC:3 SL:12
CBF1 D0 BNE $CC10 PC:CBF2 A:44 X:56 Y:65 P:67 SP:FB CYC:9 SL:12
CBF3 E8 INX PC:CBF4 A:44 X:56 Y:65 P:67 SP:FB CYC:15 SL:12
CBF4 E8 INX PC:CBF5 A:44 X:57 Y:65 P:65 SP:FB CYC:21 SL:12
CBF5 88 DEY PC:CBF6 A:44 X:58 Y:65 P:65 SP:FB CYC:27 SL:12
CBF6 88 DEY PC:CBF7 A:44 X:58 Y:64 P:65 SP:FB CYC:33 SL:12
CBF7 E0 CPX #$58 PC:CBF8 A:44 X:58 Y:63 P:65 SP:FB CYC:39 SL:12
CBF9 D0 BNE $CC10 PC:CBFA A:44 X:58 Y:63 P:67 SP:FB CYC:45 SL:12
CBFB C0 CPY #$63 PC:CBFC A:44 X:58 Y:63 P:67 SP:FB CYC:51 SL:12
CBFD D0 BNE $CC10 PC:CBFE A:44 X:58 Y:63 P:67 SP:FB CYC:57 SL:12
CBFF CA DEX PC:CC00 A:44 X:58 Y:63 P:67 SP:FB CYC:63 SL:12
CC00 C8 INY PC:CC01 A:44 X:57 Y:63 P:65 SP:FB CYC:69 SL:12
CC01 E0 CPX #$57 PC:CC02 A:44 X:57 Y:64 P:65 SP:FB CYC:75 SL:12
CC03 D0 BNE $CC10 PC:CC04 A:44 X:57 Y:64 P:67 SP:FB CYC:81 SL:12
CC05 C0 CPY #$64 PC:CC06 A:44 X:57 Y:64 P:67 SP:FB CYC:87 SL:12
CC07 D0 BNE $CC10 PC:CC08 A:44 X:57 Y:64 P:67 SP:FB CYC:93 SL:12
CC09 C9 CMP #$44 PC:CC0A A:44 X:57 Y:64 P:67 SP:FB CYC:99 SL:12
CC0B D0 BNE $CC10 PC:CC0C A:44 X:57 Y:64 P:67 SP:FB CYC:105 SL:12
CC0D 4C JMP $CC14 PC:CC0E A:44 X:57 Y:64 P:67 SP:FB CYC:111 SL:12
CC14 EA NOP PC:CC15 A:44 X:57 Y:64 P:67 SP:FB CYC:120 SL:12
CC15 38 SEC PC:CC16 A:44 X:57 Y:64 P:67 SP:FB CYC:126 SL:12
CC16 A2 LDX #$69 PC:CC17 A:44 X:57 Y:64 P:67 SP:FB CYC:132 SL:12
CC18 A9 LDA #$96 PC:CC19 A:44 X:69 Y:64 P:65 SP:FB CYC:138 SL:12
CC1A 24 BIT $01 PC:CC1B A:96 X:69 Y:64 P:E5 SP:FB CYC:144 SL:12
CC1C A0 LDY #$FF PC:CC1D A:96 X:69 Y:64 P:E5 SP:FB CYC:153 SL:12
CC1E C8 INY PC:CC1F A:96 X:69 Y:FF P:E5 SP:FB CYC:159 SL:12
CC1F D0 BNE $CC5E PC:CC20 A:96 X:69 Y:00 P:67 SP:FB CYC:165 SL:12
CC21 30 BMI $CC5E PC:CC22 A:96 X:69 Y:00 P:67 SP:FB CYC:171 SL:12
CC23 90 BCC $CC5E PC:CC24 A:96 X:69 Y:00 P:67 SP:FB CYC:177 SL:12
CC25 50 BVC $CC5E PC:CC26 A:96 X:69 Y:00 P:67 SP:FB CYC:183 SL:12
CC27 C0 CPY #$00 PC:CC28 A:96 X:69 Y:00 P:67 SP:FB CYC:189 SL:12
CC29 D0 BNE $CC5E PC:CC2A A:96 X:69 Y:00 P:67 SP:FB CYC:195 SL:12
CC2B C8 INY PC:CC2C A:96 X:69 Y:00 P:67 SP:FB CYC:201 SL:12
CC2C F0 BEQ $CC5E PC:CC2D A:96 X:69 Y:01 P:65 SP:FB CYC:207 SL:12
CC2E 30 BMI $CC5E PC:CC2F A:96 X:69 Y:01 P:65 SP:FB CYC:213 SL:12
CC30 90 BCC $CC5E PC:CC31 A:96 X:69 Y:01 P:65 SP:FB CYC:219 SL:12
CC32 50 BVC $CC5E PC:CC33 A:96 X:69 Y:01 P:65 SP:FB CYC:225 SL:12
CC34 18 CLC PC:CC35 A:96 X:69 Y:01 P:65 SP:FB CYC:231 SL:12
CC35 B8 CLV PC:CC36 A:96 X:69 Y:01 P:64 SP:FB CYC:237 SL:12
CC36 A0 LDY #$00 PC:CC37 A:96 X:69 Y:01 P:24 SP:FB CYC:243 SL:12
CC38 88 DEY PC:CC39 A:96 X:69 Y:00 P:26 SP:FB CYC:249 SL:12
CC39 F0 BEQ $CC5E PC:CC3A A:96 X:69 Y:FF P:A4 SP:FB CYC:255 SL:12
CC3B 10 BPL $CC5E PC:CC3C A:96 X:69 Y:FF P:A4 SP:FB CYC:261 SL:12
CC3D B0 BCS $CC5E PC:CC3E A:96 X:69 Y:FF P:A4 SP:FB CYC:267 SL:12
CC3F 70 BVS $CC5E PC:CC40 A:96 X:69 Y:FF P:A4 SP:FB CYC:273 SL:12
CC41 C0 CPY #$FF PC:CC42 A:96 X:69 Y:FF P:A4 SP:FB CYC:279 SL:12
CC43 D0 BNE $CC5E PC:CC44 A:96 X:69 Y:FF P:27 SP:FB CYC:285 SL:12
CC45 18 CLC PC:CC46 A:96 X:69 Y:FF P:27 SP:FB CYC:291 SL:12
CC46 88 DEY PC:CC47 A:96 X:69 Y:FF P:26 SP:FB CYC:297 SL:12
CC47 F0 BEQ $CC5E PC:CC48 A:96 X:69 Y:FE P:A4 SP:FB CYC:303 SL:12
CC49 10 BPL $CC5E PC:CC4A A:96 X:69 Y:FE P:A4 SP:FB CYC:309 SL:12
CC4B B0 BCS $CC5E PC:CC4C A:96 X:69 Y:FE P:A4 SP:FB CYC:315 SL:12
CC4D 70 BVS $CC5E PC:CC4E A:96 X:69 Y:FE P:A4 SP:FB CYC:321 SL:12
CC4F C0 CPY #$FE PC:CC50 A:96 X:69 Y:FE P:A4 SP:FB CYC:327 SL:12
CC51 D0 BNE $CC5E PC:CC52 A:96 X:69 Y:FE P:27 SP:FB CYC:333 SL:12
CC53 C9 CMP #$96 PC:CC54 A:96 X:69 Y:FE P:27 SP:FB CYC:339 SL:12
CC55 D0 BNE $CC5E PC:CC56 A:96 X:69 Y:FE P:27 SP:FB CYC:4 SL:13
CC57 E0 CPX #$69 PC:CC58 A:96 X:69 Y:FE P:27 SP:FB CYC:10 SL:13
CC59 D0 BNE $CC5E PC:CC5A A:96 X:69 Y:FE P:27 SP:FB CYC:16 SL:13
CC5B 4C JMP $CC62 PC:CC5C A:96 X:69 Y:FE P:27 SP:FB CYC:22 SL:13
CC62 EA NOP PC:CC63 A:96 X:69 Y:FE P:27 SP:FB CYC:31 SL:13
CC63 38 SEC PC:CC64 A:96 X:69 Y:FE P:27 SP:FB CYC:37 SL:13
CC64 A0 LDY #$69 PC:CC65 A:96 X:69 Y:FE P:27 SP:FB CYC:43 SL:13
CC66 A9 LDA #$96 PC:CC67 A:96 X:69 Y:69 P:25 SP:FB CYC:49 SL:13
CC68 24 BIT $01 PC:CC69 A:96 X:69 Y:69 P:A5 SP:FB CYC:55 SL:13
CC6A A2 LDX #$FF PC:CC6B A:96 X:69 Y:69 P:E5 SP:FB CYC:64 SL:13
CC6C E8 INX PC:CC6D A:96 X:FF Y:69 P:E5 SP:FB CYC:70 SL:13
CC6D D0 BNE $CCAC PC:CC6E A:96 X:00 Y:69 P:67 SP:FB CYC:76 SL:13
CC6F 30 BMI $CCAC PC:CC70 A:96 X:00 Y:69 P:67 SP:FB CYC:82 SL:13
CC71 90 BCC $CCAC PC:CC72 A:96 X:00 Y:69 P:67 SP:FB CYC:88 SL:13
CC73 50 BVC $CCAC PC:CC74 A:96 X:00 Y:69 P:67 SP:FB CYC:94 SL:13
CC75 E0 CPX #$00 PC:CC76 A:96 X:00 Y:69 P:67 SP:FB CYC:100 SL:13
CC77 D0 BNE $CCAC PC:CC78 A:96 X:00 Y:69 P:67 SP:FB CYC:106 SL:13
CC79 E8 INX PC:CC7A A:96 X:00 Y:69 P:67 SP:FB CYC:112 SL:13
CC7A F0 BEQ $CCAC PC:CC7B A:96 X:01 Y:69 P:65 SP:FB CYC:118 SL:13
CC7C 30 BMI $CCAC PC:CC7D A:96 X:01 Y:69 P:65 SP:FB CYC:124 SL:13
CC7E 90 BCC $CCAC PC:CC7F A:96 X:01 Y:69 P:65 SP:FB CYC:130 SL:13
CC80 50 BVC $CCAC PC:CC81 A:96 X:01 Y:69 P:65 SP:FB CYC:136 SL:13
CC82 18 CLC PC:CC83 A:96 X:01 Y:69 P:65 SP:FB CYC:142 SL:13
CC83 B8 CLV PC:CC84 A:96 X:01 Y:69 P:64 SP:FB CYC:148 SL:13
CC84 A2 LDX #$00 PC:CC85 A:96 X:01 Y:69 P:24 SP:FB CYC:154 SL:13
CC86 CA DEX PC:CC87 A:96 X:00 Y:69 P:26 SP:FB CYC:160 SL:13
CC87 F0 BEQ $CCAC PC:CC88 A:96 X:FF Y:69 P:A4 SP:FB CYC:166 SL:13
CC89 10 BPL $CCAC PC:CC8A A:96 X:FF Y:69 P:A4 SP:FB CYC:172 SL:13
CC8B B0 BCS $CCAC PC:CC8C A:96 X:FF Y:69 P:A4 SP:FB CYC:178 SL:13
CC8D 70 BVS $CCAC PC:CC8E A:96 X:FF Y:69 P:A4 SP:FB CYC:184 SL:13
CC8F E0 CPX #$FF PC:CC90 A:96 X:FF Y:69 P:A4 SP:FB CYC:190 SL:13
CC91 D0 BNE $CCAC PC:CC92 A:96 X:FF Y:69 P:27 SP:FB CYC:196 SL:13
CC93 18 CLC PC:CC94 A:96 X:FF Y:69 P:27 SP:FB CYC:202 SL:13
CC94 CA DEX PC:CC95 A:96 X:FF Y:69 P:26 SP:FB CYC:208 SL:13
CC95 F0 BEQ $CCAC PC:CC96 A:96 X:FE Y:69 P:A4 SP:FB CYC:214 SL:13
CC97 10 BPL $CCAC PC:CC98 A:96 X:FE Y:69 P:A4 SP:FB CYC:220 SL:13
CC99 B0 BCS $CCAC PC:CC9A A:96 X:FE Y:69 P:A4 SP:FB CYC:226 SL:13
CC9B 70 BVS $CCAC PC:CC9C A:96 X:FE Y:69 P:A4 SP:FB CYC:232 SL:13
CC9D E0 CPX #$FE PC:CC9E A:96 X:FE Y:69 P:A4 SP:FB CYC:238 SL:13
CC9F D0 BNE $CCAC PC:CCA0 A:96 X:FE Y:69 P:27 SP:FB CYC:244 SL:13
CCA1 C9 CMP #$96 PC:CCA2 A:96 X:FE Y:69 P:27 SP:FB CYC:250 SL:13
CCA3 D0 BNE $CCAC PC:CCA4 A:96 X:FE Y:69 P:27 SP:FB CYC:256 SL:13
CCA5 C0 CPY #$69 PC:CCA6 A:96 X:FE Y:69 P:27 SP:FB CYC:262 SL:13
CCA7 D0 BNE $CCAC PC:CCA8 A:96 X:FE Y:69 P:27 SP:FB CYC:268 SL:13
CCA9 4C JMP $CCB0 PC:CCAA A:96 X:FE Y:69 P:27 SP:FB CYC:274 SL:13
CCB0 EA NOP PC:CCB1 A:96 X:FE Y:69 P:27 SP:FB CYC:283 SL:13
CCB1 A9 LDA #$85 PC:CCB2 A:96 X:FE Y:69 P:27 SP:FB CYC:289 SL:13
CCB3 A2 LDX #$34 PC:CCB4 A:85 X:FE Y:69 P:A5 SP:FB CYC:295 SL:13
CCB5 A0 LDY #$99 PC:CCB6 A:85 X:34 Y:69 P:25 SP:FB CYC:301 SL:13
CCB7 18 CLC PC:CCB8 A:85 X:34 Y:99 P:A5 SP:FB CYC:307 SL:13
CCB8 24 BIT $01 PC:CCB9 A:85 X:34 Y:99 P:A4 SP:FB CYC:313 SL:13
CCBA A8 TAY PC:CCBB A:85 X:34 Y:99 P:E4 SP:FB CYC:322 SL:13
CCBB F0 BEQ $CCEB PC:CCBC A:85 X:34 Y:85 P:E4 SP:FB CYC:328 SL:13
CCBD B0 BCS $CCEB PC:CCBE A:85 X:34 Y:85 P:E4 SP:FB CYC:334 SL:13
CCBF 50 BVC $CCEB PC:CCC0 A:85 X:34 Y:85 P:E4 SP:FB CYC:340 SL:13
CCC1 10 BPL $CCEB PC:CCC2 A:85 X:34 Y:85 P:E4 SP:FB CYC:5 SL:14
CCC3 C9 CMP #$85 PC:CCC4 A:85 X:34 Y:85 P:E4 SP:FB CYC:11 SL:14
CCC5 D0 BNE $CCEB PC:CCC6 A:85 X:34 Y:85 P:67 SP:FB CYC:17 SL:14
CCC7 E0 CPX #$34 PC:CCC8 A:85 X:34 Y:85 P:67 SP:FB CYC:23 SL:14
CCC9 D0 BNE $CCEB PC:CCCA A:85 X:34 Y:85 P:67 SP:FB CYC:29 SL:14
CCCB C0 CPY #$85 PC:CCCC A:85 X:34 Y:85 P:67 SP:FB CYC:35 SL:14
CCCD D0 BNE $CCEB PC:CCCE A:85 X:34 Y:85 P:67 SP:FB CYC:41 SL:14
CCCF A9 LDA #$00 PC:CCD0 A:85 X:34 Y:85 P:67 SP:FB CYC:47 SL:14
CCD1 38 SEC PC:CCD2 A:00 X:34 Y:85 P:67 SP:FB CYC:53 SL:14
CCD2 B8 CLV PC:CCD3 A:00 X:34 Y:85 P:67 SP:FB CYC:59 SL:14
CCD3 A8 TAY PC:CCD4 A:00 X:34 Y:85 P:27 SP:FB CYC:65 SL:14
CCD4 D0 BNE $CCEB PC:CCD5 A:00 X:34 Y:00 P:27 SP:FB CYC:71 SL:14
CCD6 90 BCC $CCEB PC:CCD7 A:00 X:34 Y:00 P:27 SP:FB CYC:77 SL:14
CCD8 70 BVS $CCEB PC:CCD9 A:00 X:34 Y:00 P:27 SP:FB CYC:83 SL:14
CCDA 30 BMI $CCEB PC:CCDB A:00 X:34 Y:00 P:27 SP:FB CYC:89 SL:14
CCDC C9 CMP #$00 PC:CCDD A:00 X:34 Y:00 P:27 SP:FB CYC:95 SL:14
CCDE D0 BNE $CCEB PC:CCDF A:00 X:34 Y:00 P:27 SP:FB CYC:101 SL:14
CCE0 E0 CPX #$34 PC:CCE1 A:00 X:34 Y:00 P:27 SP:FB CYC:107 SL:14
CCE2 D0 BNE $CCEB PC:CCE3 A:00 X:34 Y:00 P:27 SP:FB CYC:113 SL:14
CCE4 C0 CPY #$00 PC:CCE5 A:00 X:34 Y:00 P:27 SP:FB CYC:119 SL:14
CCE6 D0 BNE $CCEB PC:CCE7 A:00 X:34 Y:00 P:27 SP:FB CYC:125 SL:14
CCE8 4C JMP $CCEF PC:CCE9 A:00 X:34 Y:00 P:27 SP:FB CYC:131 SL:14
CCEF EA NOP PC:CCF0 A:00 X:34 Y:00 P:27 SP:FB CYC:140 SL:14
CCF0 A9 LDA #$85 PC:CCF1 A:00 X:34 Y:00 P:27 SP:FB CYC:146 SL:14
CCF2 A2 LDX #$34 PC:CCF3 A:85 X:34 Y:00 P:A5 SP:FB CYC:152 SL:14
CCF4 A0 LDY #$99 PC:CCF5 A:85 X:34 Y:00 P:25 SP:FB CYC:158 SL:14
CCF6 18 CLC PC:CCF7 A:85 X:34 Y:99 P:A5 SP:FB CYC:164 SL:14
CCF7 24 BIT $01 PC:CCF8 A:85 X:34 Y:99 P:A4 SP:FB CYC:170 SL:14
CCF9 AA TAX PC:CCFA A:85 X:34 Y:99 P:E4 SP:FB CYC:179 SL:14
CCFA F0 BEQ $CD2A PC:CCFB A:85 X:85 Y:99 P:E4 SP:FB CYC:185 SL:14
CCFC B0 BCS $CD2A PC:CCFD A:85 X:85 Y:99 P:E4 SP:FB CYC:191 SL:14
CCFE 50 BVC $CD2A PC:CCFF A:85 X:85 Y:99 P:E4 SP:FB CYC:197 SL:14
CD00 10 BPL $CD2A PC:CD01 A:85 X:85 Y:99 P:E4 SP:FB CYC:203 SL:14
CD02 C9 CMP #$85 PC:CD03 A:85 X:85 Y:99 P:E4 SP:FB CYC:209 SL:14
CD04 D0 BNE $CD2A PC:CD05 A:85 X:85 Y:99 P:67 SP:FB CYC:215 SL:14
CD06 E0 CPX #$85 PC:CD07 A:85 X:85 Y:99 P:67 SP:FB CYC:221 SL:14
CD08 D0 BNE $CD2A PC:CD09 A:85 X:85 Y:99 P:67 SP:FB CYC:227 SL:14
CD0A C0 CPY #$99 PC:CD0B A:85 X:85 Y:99 P:67 SP:FB CYC:233 SL:14
CD0C D0 BNE $CD2A PC:CD0D A:85 X:85 Y:99 P:67 SP:FB CYC:239 SL:14
CD0E A9 LDA #$00 PC:CD0F A:85 X:85 Y:99 P:67 SP:FB CYC:245 SL:14
CD10 38 SEC PC:CD11 A:00 X:85 Y:99 P:67 SP:FB CYC:251 SL:14
CD11 B8 CLV PC:CD12 A:00 X:85 Y:99 P:67 SP:FB CYC:257 SL:14
CD12 AA TAX PC:CD13 A:00 X:85 Y:99 P:27 SP:FB CYC:263 SL:14
CD13 D0 BNE $CD2A PC:CD14 A:00 X:00 Y:99 P:27 SP:FB CYC:269 SL:14
CD15 90 BCC $CD2A PC:CD16 A:00 X:00 Y:99 P:27 SP:FB CYC:275 SL:14
CD17 70 BVS $CD2A PC:CD18 A:00 X:00 Y:99 P:27 SP:FB CYC:281 SL:14
CD19 30 BMI $CD2A PC:CD1A A:00 X:00 Y:99 P:27 SP:FB CYC:287 SL:14
CD1B C9 CMP #$00 PC:CD1C A:00 X:00 Y:99 P:27 SP:FB CYC:293 SL:14
CD1D D0 BNE $CD2A PC:CD1E A:00 X:00 Y:99 P:27 SP:FB CYC:299 SL:14
CD1F E0 CPX #$00 PC:CD20 A:00 X:00 Y:99 P:27 SP:FB CYC:305 SL:14
CD21 D0 BNE $CD2A PC:CD22 A:00 X:00 Y:99 P:27 SP:FB CYC:311 SL:14
CD23 C0 CPY #$99 PC:CD24 A:00 X:00 Y:99 P:27 SP:FB CYC:317 SL:14
CD25 D0 BNE $CD2A PC:CD26 A:00 X:00 Y:99 P:27 SP:FB CYC:323 SL:14
CD27 4C JMP $CD2E PC:CD28 A:00 X:00 Y:99 P:27 SP:FB CYC:329 SL:14
CD2E EA NOP PC:CD2F A:00 X:00 Y:99 P:27 SP:FB CYC:338 SL:14
CD2F A9 LDA #$85 PC:CD30 A:00 X:00 Y:99 P:27 SP:FB CYC:3 SL:15
CD31 A2 LDX #$34 PC:CD32 A:85 X:00 Y:99 P:A5 SP:FB CYC:9 SL:15
CD33 A0 LDY #$99 PC:CD34 A:85 X:34 Y:99 P:25 SP:FB CYC:15 SL:15
CD35 18 CLC PC:CD36 A:85 X:34 Y:99 P:A5 SP:FB CYC:21 SL:15
CD36 24 BIT $01 PC:CD37 A:85 X:34 Y:99 P:A4 SP:FB CYC:27 SL:15
CD38 98 TYA PC:CD39 A:85 X:34 Y:99 P:E4 SP:FB CYC:36 SL:15
CD39 F0 BEQ $CD69 PC:CD3A A:99 X:34 Y:99 P:E4 SP:FB CYC:42 SL:15
CD3B B0 BCS $CD69 PC:CD3C A:99 X:34 Y:99 P:E4 SP:FB CYC:48 SL:15
CD3D 50 BVC $CD69 PC:CD3E A:99 X:34 Y:99 P:E4 SP:FB CYC:54 SL:15
CD3F 10 BPL $CD69 PC:CD40 A:99 X:34 Y:99 P:E4 SP:FB CYC:60 SL:15
CD41 C9 CMP #$99 PC:CD42 A:99 X:34 Y:99 P:E4 SP:FB CYC:66 SL:15
CD43 D0 BNE $CD69 PC:CD44 A:99 X:34 Y:99 P:67 SP:FB CYC:72 SL:15
CD45 E0 CPX #$34 PC:CD46 A:99 X:34 Y:99 P:67 SP:FB CYC:78 SL:15
CD47 D0 BNE $CD69 PC:CD48 A:99 X:34 Y:99 P:67 SP:FB CYC:84 SL:15
CD49 C0 CPY #$99 PC:CD4A A:99 X:34 Y:99 P:67 SP:FB CYC:90 SL:15
CD4B D0 BNE $CD69 PC:CD4C A:99 X:34 Y:99 P:67 SP:FB CYC:96 SL:15
CD4D A0 LDY #$00 PC:CD4E A:99 X:34 Y:99 P:67 SP:FB CYC:102 SL:15
CD4F 38 SEC PC:CD50 A:99 X:34 Y:00 P:67 SP:FB CYC:108 SL:15
CD50 B8 CLV PC:CD51 A:99 X:34 Y:00 P:67 SP:FB CYC:114 SL:15
CD51 98 TYA PC:CD52 A:99 X:34 Y:00 P:27 SP:FB CYC:120 SL:15
CD52 D0 BNE $CD69 PC:CD53 A:00 X:34 Y:00 P:27 SP:FB CYC:126 SL:15
CD54 90 BCC $CD69 PC:CD55 A:00 X:34 Y:00 P:27 SP:FB CYC:132 SL:15
CD56 70 BVS $CD69 PC:CD57 A:00 X:34 Y:00 P:27 SP:FB CYC:138 SL:15
CD58 30 BMI $CD69 PC:CD59 A:00 X:34 Y:00 P:27 SP:FB CYC:144 SL:15
CD5A C9 CMP #$00 PC:CD5B A:00 X:34 Y:00 P:27 SP:FB CYC:150 SL:15
CD5C D0 BNE $CD69 PC:CD5D A:00 X:34 Y:00 P:27 SP:FB CYC:156 SL:15
CD5E E0 CPX #$34 PC:CD5F A:00 X:34 Y:00 P:27 SP:FB CYC:162 SL:15
CD60 D0 BNE $CD69 PC:CD61 A:00 X:34 Y:00 P:27 SP:FB CYC:168 SL:15
CD62 C0 CPY #$00 PC:CD63 A:00 X:34 Y:00 P:27 SP:FB CYC:174 SL:15
CD64 D0 BNE $CD69 PC:CD65 A:00 X:34 Y:00 P:27 SP:FB CYC:180 SL:15
CD66 4C JMP $CD6D PC:CD67 A:00 X:34 Y:00 P:27 SP:FB CYC:186 SL:15
CD6D EA NOP PC:CD6E A:00 X:34 Y:00 P:27 SP:FB CYC:195 SL:15
CD6E A9 LDA #$85 PC:CD6F A:00 X:34 Y:00 P:27 SP:FB CYC:201 SL:15
CD70 A2 LDX #$34 PC:CD71 A:85 X:34 Y:00 P:A5 SP:FB CYC:207 SL:15
CD72 A0 LDY #$99 PC:CD73 A:85 X:34 Y:00 P:25 SP:FB CYC:213 SL:15
CD74 18 CLC PC:CD75 A:85 X:34 Y:99 P:A5 SP:FB CYC:219 SL:15
CD75 24 BIT $01 PC:CD76 A:85 X:34 Y:99 P:A4 SP:FB CYC:225 SL:15
CD77 8A TXA PC:CD78 A:85 X:34 Y:99 P:E4 SP:FB CYC:234 SL:15
CD78 F0 BEQ $CDA8 PC:CD79 A:34 X:34 Y:99 P:64 SP:FB CYC:240 SL:15
CD7A B0 BCS $CDA8 PC:CD7B A:34 X:34 Y:99 P:64 SP:FB CYC:246 SL:15
CD7C 50 BVC $CDA8 PC:CD7D A:34 X:34 Y:99 P:64 SP:FB CYC:252 SL:15
CD7E 30 BMI $CDA8 PC:CD7F A:34 X:34 Y:99 P:64 SP:FB CYC:258 SL:15
CD80 C9 CMP #$34 PC:CD81 A:34 X:34 Y:99 P:64 SP:FB CYC:264 SL:15
CD82 D0 BNE $CDA8 PC:CD83 A:34 X:34 Y:99 P:67 SP:FB CYC:270 SL:15
CD84 E0 CPX #$34 PC:CD85 A:34 X:34 Y:99 P:67 SP:FB CYC:276 SL:15
CD86 D0 BNE $CDA8 PC:CD87 A:34 X:34 Y:99 P:67 SP:FB CYC:282 SL:15
CD88 C0 CPY #$99 PC:CD89 A:34 X:34 Y:99 P:67 SP:FB CYC:288 SL:15
CD8A D0 BNE $CDA8 PC:CD8B A:34 X:34 Y:99 P:67 SP:FB CYC:294 SL:15
CD8C A2 LDX #$00 PC:CD8D A:34 X:34 Y:99 P:67 SP:FB CYC:300 SL:15
CD8E 38 SEC PC:CD8F A:34 X:00 Y:99 P:67 SP:FB CYC:306 SL:15
CD8F B8 CLV PC:CD90 A:34 X:00 Y:99 P:67 SP:FB CYC:312 SL:15
CD90 8A TXA PC:CD91 A:34 X:00 Y:99 P:27 SP:FB CYC:318 SL:15
CD91 D0 BNE $CDA8 PC:CD92 A:00 X:00 Y:99 P:27 SP:FB CYC:324 SL:15
CD93 90 BCC $CDA8 PC:CD94 A:00 X:00 Y:99 P:27 SP:FB CYC:330 SL:15
CD95 70 BVS $CDA8 PC:CD96 A:00 X:00 Y:99 P:27 SP:FB CYC:336 SL:15
CD97 30 BMI $CDA8 PC:CD98 A:00 X:00 Y:99 P:27 SP:FB CYC:1 SL:16
CD99 C9 CMP #$00 PC:CD9A A:00 X:00 Y:99 P:27 SP:FB CYC:7 SL:16
CD9B D0 BNE $CDA8 PC:CD9C A:00 X:00 Y:99 P:27 SP:FB CYC:13 SL:16
CD9D E0 CPX #$00 PC:CD9E A:00 X:00 Y:99 P:27 SP:FB CYC:19 SL:16
CD9F D0 BNE $CDA8 PC:CDA0 A:00 X:00 Y:99 P:27 SP:FB CYC:25 SL:16
CDA1 C0 CPY #$99 PC:CDA2 A:00 X:00 Y:99 P:27 SP:FB CYC:31 SL:16
CDA3 D0 BNE $CDA8 PC:CDA4 A:00 X:00 Y:99 P:27 SP:FB CYC:37 SL:16
CDA5 4C JMP $CDAC PC:CDA6 A:00 X:00 Y:99 P:27 SP:FB CYC:43 SL:16
CDAC EA NOP PC:CDAD A:00 X:00 Y:99 P:27 SP:FB CYC:52 SL:16
CDAD BA TSX PC:CDAE A:00 X:00 Y:99 P:27 SP:FB CYC:58 SL:16
CDAE 8E STX $07FF PC:CDAF A:00 X:FB Y:99 P:A5 SP:FB CYC:64 SL:16
CDB1 A0 LDY #$33 PC:CDB2 A:00 X:FB Y:99 P:A5 SP:FB CYC:76 SL:16
CDB3 A2 LDX #$69 PC:CDB4 A:00 X:FB Y:33 P:25 SP:FB CYC:82 SL:16
CDB5 A9 LDA #$84 PC:CDB6 A:00 X:69 Y:33 P:25 SP:FB CYC:88 SL:16
CDB7 18 CLC PC:CDB8 A:84 X:69 Y:33 P:A5 SP:FB CYC:94 SL:16
CDB8 24 BIT $01 PC:CDB9 A:84 X:69 Y:33 P:A4 SP:FB CYC:100 SL:16
CDBA 9A TXS PC:CDBB A:84 X:69 Y:33 P:E4 SP:FB CYC:109 SL:16
CDBB F0 BEQ $CDEF PC:CDBC A:84 X:69 Y:33 P:E4 SP:69 CYC:115 SL:16
CDBD 10 BPL $CDEF PC:CDBE A:84 X:69 Y:33 P:E4 SP:69 CYC:121 SL:16
CDBF B0 BCS $CDEF PC:CDC0 A:84 X:69 Y:33 P:E4 SP:69 CYC:127 SL:16
CDC1 50 BVC $CDEF PC:CDC2 A:84 X:69 Y:33 P:E4 SP:69 CYC:133 SL:16
CDC3 C9 CMP #$84 PC:CDC4 A:84 X:69 Y:33 P:E4 SP:69 CYC:139 SL:16
CDC5 D0 BNE $CDEF PC:CDC6 A:84 X:69 Y:33 P:67 SP:69 CYC:145 SL:16
CDC7 E0 CPX #$69 PC:CDC8 A:84 X:69 Y:33 P:67 SP:69 CYC:151 SL:16
CDC9 D0 BNE $CDEF PC:CDCA A:84 X:69 Y:33 P:67 SP:69 CYC:157 SL:16
CDCB C0 CPY #$33 PC:CDCC A:84 X:69 Y:33 P:67 SP:69 CYC:163 SL:16
CDCD D0 BNE $CDEF PC:CDCE A:84 X:69 Y:33 P:67 SP:69 CYC:169 SL:16
CDCF A0 LDY #$01 PC:CDD0 A:84 X:69 Y:33 P:67 SP:69 CYC:175 SL:16
CDD1 A9 LDA #$04 PC:CDD2 A:84 X:69 Y:01 P:65 SP:69 CYC:181 SL:16
CDD3 38 SEC PC:CDD4 A:04 X:69 Y:01 P:65 SP:69 CYC:187 SL:16
CDD4 B8 CLV PC:CDD5 A:04 X:69 Y:01 P:65 SP:69 CYC:193 SL:16
CDD5 A2 LDX #$00 PC:CDD6 A:04 X:69 Y:01 P:25 SP:69 CYC:199 SL:16
CDD7 BA TSX PC:CDD8 A:04 X:00 Y:01 P:27 SP:69 CYC:205 SL:16
CDD8 F0 BEQ $CDEF PC:CDD9 A:04 X:69 Y:01 P:25 SP:69 CYC:211 SL:16
CDDA 30 BMI $CDEF PC:CDDB A:04 X:69 Y:01 P:25 SP:69 CYC:217 SL:16
CDDC 90 BCC $CDEF PC:CDDD A:04 X:69 Y:01 P:25 SP:69 CYC:223 SL:16
CDDE 70 BVS $CDEF PC:CDDF A:04 X:69 Y:01 P:25 SP:69 CYC:229 SL:16
CDE0 E0 CPX #$69 PC:CDE1 A:04 X:69 Y:01 P:25 SP:69 CYC:235 SL:16
CDE2 D0 BNE $CDEF PC:CDE3 A:04 X:69 Y:01 P:27 SP:69 CYC:241 SL:16
CDE4 C9 CMP #$04 PC:CDE5 A:04 X:69 Y:01 P:27 SP:69 CYC:247 SL:16
CDE6 D0 BNE $CDEF PC:CDE7 A:04 X:69 Y:01 P:27 SP:69 CYC:253 SL:16
CDE8 C0 CPY #$01 PC:CDE9 A:04 X:69 Y:01 P:27 SP:69 CYC:259 SL:16
CDEA D0 BNE $CDEF PC:CDEB A:04 X:69 Y:01 P:27 SP:69 CYC:265 SL:16
CDEC 4C JMP $CDF3 PC:CDED A:04 X:69 Y:01 P:27 SP:69 CYC:271 SL:16
CDF3 AE LDX $07FF PC:CDF4 A:04 X:69 Y:01 P:27 SP:69 CYC:280 SL:16
CDF6 9A TXS PC:CDF7 A:04 X:FB Y:01 P:A5 SP:69 CYC:292 SL:16
CDF7 60 RTS PC:CDF8 A:04 X:FB Y:01 P:A5 SP:FB CYC:298 SL:16
C609 20 JSR $CDF8 PC:C60A A:04 X:FB Y:01 P:A5 SP:FD CYC:316 SL:16
CDF8 A9 LDA #$FF PC:CDF9 A:04 X:FB Y:01 P:A5 SP:FB CYC:334 SL:16
CDFA 85 STA $01 PC:CDFB A:FF X:FB Y:01 P:A5 SP:FB CYC:340 SL:16
CDFC BA TSX PC:CDFD A:FF X:FB Y:01 P:A5 SP:FB CYC:8 SL:17
CDFD 8E STX $07FF PC:CDFE A:FF X:FB Y:01 P:A5 SP:FB CYC:14 SL:17
CE00 EA NOP PC:CE01 A:FF X:FB Y:01 P:A5 SP:FB CYC:26 SL:17
CE01 A2 LDX #$80 PC:CE02 A:FF X:FB Y:01 P:A5 SP:FB CYC:32 SL:17
CE03 9A TXS PC:CE04 A:FF X:80 Y:01 P:A5 SP:FB CYC:38 SL:17
CE04 A9 LDA #$33 PC:CE05 A:FF X:80 Y:01 P:A5 SP:80 CYC:44 SL:17
CE06 48 PHA PC:CE07 A:33 X:80 Y:01 P:25 SP:80 CYC:50 SL:17
CE07 A9 LDA #$69 PC:CE08 A:33 X:80 Y:01 P:25 SP:7F CYC:59 SL:17
CE09 48 PHA PC:CE0A A:69 X:80 Y:01 P:25 SP:7F CYC:65 SL:17
CE0A BA TSX PC:CE0B A:69 X:80 Y:01 P:25 SP:7E CYC:74 SL:17
CE0B E0 CPX #$7E PC:CE0C A:69 X:7E Y:01 P:25 SP:7E CYC:80 SL:17
CE0D D0 BNE $CE2F PC:CE0E A:69 X:7E Y:01 P:27 SP:7E CYC:86 SL:17
CE0F 68 PLA PC:CE10 A:69 X:7E Y:01 P:27 SP:7E CYC:92 SL:17
CE10 C9 CMP #$69 PC:CE11 A:69 X:7E Y:01 P:25 SP:7F CYC:104 SL:17
CE12 D0 BNE $CE2F PC:CE13 A:69 X:7E Y:01 P:27 SP:7F CYC:110 SL:17
CE14 68 PLA PC:CE15 A:69 X:7E Y:01 P:27 SP:7F CYC:116 SL:17
CE15 C9 CMP #$33 PC:CE16 A:33 X:7E Y:01 P:25 SP:80 CYC:128 SL:17
CE17 D0 BNE $CE2F PC:CE18 A:33 X:7E Y:01 P:27 SP:80 CYC:134 SL:17
CE19 BA TSX PC:CE1A A:33 X:7E Y:01 P:27 SP:80 CYC:140 SL:17
CE1A E0 CPX #$80 PC:CE1B A:33 X:80 Y:01 P:A5 SP:80 CYC:146 SL:17
CE1C D0 BNE $CE2F PC:CE1D A:33 X:80 Y:01 P:27 SP:80 CYC:152 SL:17
CE1E AD LDA $0180 PC:CE1F A:33 X:80 Y:01 P:27 SP:80 CYC:158 SL:17
CE21 C9 CMP #$33 PC:CE22 A:33 X:80 Y:01 P:25 SP:80 CYC:170 SL:17
CE23 D0 BNE $CE2F PC:CE24 A:33 X:80 Y:01 P:27 SP:80 CYC:176 SL:17
CE25 AD LDA $017F PC:CE26 A:33 X:80 Y:01 P:27 SP:80 CYC:182 SL:17
CE28 C9 CMP #$69 PC:CE29 A:69 X:80 Y:01 P:25 SP:80 CYC:194 SL:17
CE2A D0 BNE $CE2F PC:CE2B A:69 X:80 Y:01 P:27 SP:80 CYC:200 SL:17
CE2C 4C JMP $CE33 PC:CE2D A:69 X:80 Y:01 P:27 SP:80 CYC:206 SL:17
CE33 EA NOP PC:CE34 A:69 X:80 Y:01 P:27 SP:80 CYC:215 SL:17
CE34 A2 LDX #$80 PC:CE35 A:69 X:80 Y:01 P:27 SP:80 CYC:221 SL:17
CE36 9A TXS PC:CE37 A:69 X:80 Y:01 P:A5 SP:80 CYC:227 SL:17
CE37 20 JSR $CE3D PC:CE38 A:69 X:80 Y:01 P:A5 SP:80 CYC:233 SL:17
CE3D BA TSX PC:CE3E A:69 X:80 Y:01 P:A5 SP:7E CYC:251 SL:17
CE3E E0 CPX #$7E PC:CE3F A:69 X:7E Y:01 P:25 SP:7E CYC:257 SL:17
CE40 D0 BNE $CE5B PC:CE41 A:69 X:7E Y:01 P:27 SP:7E CYC:263 SL:17
CE42 68 PLA PC:CE43 A:69 X:7E Y:01 P:27 SP:7E CYC:269 SL:17
CE43 68 PLA PC:CE44 A:39 X:7E Y:01 P:25 SP:7F CYC:281 SL:17
CE44 BA TSX PC:CE45 A:CE X:7E Y:01 P:A5 SP:80 CYC:293 SL:17
CE45 E0 CPX #$80 PC:CE46 A:CE X:80 Y:01 P:A5 SP:80 CYC:299 SL:17
CE47 D0 BNE $CE5B PC:CE48 A:CE X:80 Y:01 P:27 SP:80 CYC:305 SL:17
CE49 A9 LDA #$00 PC:CE4A A:CE X:80 Y:01 P:27 SP:80 CYC:311 SL:17
CE4B 20 JSR $CE4E PC:CE4C A:00 X:80 Y:01 P:27 SP:80 CYC:317 SL:17
CE4E 68 PLA PC:CE4F A:00 X:80 Y:01 P:27 SP:7E CYC:335 SL:17
CE4F C9 CMP #$4D PC:CE50 A:4D X:80 Y:01 P:25 SP:7F CYC:6 SL:18
CE51 D0 BNE $CE5B PC:CE52 A:4D X:80 Y:01 P:27 SP:7F CYC:12 SL:18
CE53 68 PLA PC:CE54 A:4D X:80 Y:01 P:27 SP:7F CYC:18 SL:18
CE54 C9 CMP #$CE PC:CE55 A:CE X:80 Y:01 P:A5 SP:80 CYC:30 SL:18
CE56 D0 BNE $CE5B PC:CE57 A:CE X:80 Y:01 P:27 SP:80 CYC:36 SL:18
CE58 4C JMP $CE5F PC:CE59 A:CE X:80 Y:01 P:27 SP:80 CYC:42 SL:18
CE5F EA NOP PC:CE60 A:CE X:80 Y:01 P:27 SP:80 CYC:51 SL:18
CE60 A9 LDA #$CE PC:CE61 A:CE X:80 Y:01 P:27 SP:80 CYC:57 SL:18
CE62 48 PHA PC:CE63 A:CE X:80 Y:01 P:A5 SP:80 CYC:63 SL:18
CE63 A9 LDA #$66 PC:CE64 A:CE X:80 Y:01 P:A5 SP:7F CYC:72 SL:18
CE65 48 PHA PC:CE66 A:66 X:80 Y:01 P:25 SP:7F CYC:78 SL:18
CE66 60 RTS PC:CE67 A:66 X:80 Y:01 P:25 SP:7E CYC:87 SL:18
CE67 A2 LDX #$77 PC:CE68 A:66 X:80 Y:01 P:25 SP:80 CYC:105 SL:18
CE69 A0 LDY #$69 PC:CE6A A:66 X:77 Y:01 P:25 SP:80 CYC:111 SL:18
CE6B 18 CLC PC:CE6C A:66 X:77 Y:69 P:25 SP:80 CYC:117 SL:18
CE6C 24 BIT $01 PC:CE6D A:66 X:77 Y:69 P:24 SP:80 CYC:123 SL:18
CE6E A9 LDA #$83 PC:CE6F A:66 X:77 Y:69 P:E4 SP:80 CYC:132 SL:18
CE70 20 JSR $CE66 PC:CE71 A:83 X:77 Y:69 P:E4 SP:80 CYC:138 SL:18
CE66 60 RTS PC:CE67 A:83 X:77 Y:69 P:E4 SP:7E CYC:156 SL:18
CE73 F0 BEQ $CE99 PC:CE74 A:83 X:77 Y:69 P:E4 SP:80 CYC:174 SL:18
CE75 10 BPL $CE99 PC:CE76 A:83 X:77 Y:69 P:E4 SP:80 CYC:180 SL:18
CE77 B0 BCS $CE99 PC:CE78 A:83 X:77 Y:69 P:E4 SP:80 CYC:186 SL:18
CE79 50 BVC $CE99 PC:CE7A A:83 X:77 Y:69 P:E4 SP:80 CYC:192 SL:18
CE7B C9 CMP #$83 PC:CE7C A:83 X:77 Y:69 P:E4 SP:80 CYC:198 SL:18
CE7D D0 BNE $CE99 PC:CE7E A:83 X:77 Y:69 P:67 SP:80 CYC:204 SL:18
CE7F C0 CPY #$69 PC:CE80 A:83 X:77 Y:69 P:67 SP:80 CYC:210 SL:18
CE81 D0 BNE $CE99 PC:CE82 A:83 X:77 Y:69 P:67 SP:80 CYC:216 SL:18
CE83 E0 CPX #$77 PC:CE84 A:83 X:77 Y:69 P:67 SP:80 CYC:222 SL:18
CE85 D0 BNE $CE99 PC:CE86 A:83 X:77 Y:69 P:67 SP:80 CYC:228 SL:18
CE87 38 SEC PC:CE88 A:83 X:77 Y:69 P:67 SP:80 CYC:234 SL:18
CE88 B8 CLV PC:CE89 A:83 X:77 Y:69 P:67 SP:80 CYC:240 SL:18
CE89 A9 LDA #$00 PC:CE8A A:83 X:77 Y:69 P:27 SP:80 CYC:246 SL:18
CE8B 20 JSR $CE66 PC:CE8C A:00 X:77 Y:69 P:27 SP:80 CYC:252 SL:18
CE66 60 RTS PC:CE67 A:00 X:77 Y:69 P:27 SP:7E CYC:270 SL:18
CE8E D0 BNE $CE99 PC:CE8F A:00 X:77 Y:69 P:27 SP:80 CYC:288 SL:18
CE90 30 BMI $CE99 PC:CE91 A:00 X:77 Y:69 P:27 SP:80 CYC:294 SL:18
CE92 90 BCC $CE99 PC:CE93 A:00 X:77 Y:69 P:27 SP:80 CYC:300 SL:18
CE94 70 BVS $CE99 PC:CE95 A:00 X:77 Y:69 P:27 SP:80 CYC:306 SL:18
CE96 4C JMP $CE9D PC:CE97 A:00 X:77 Y:69 P:27 SP:80 CYC:312 SL:18
CE9D EA NOP PC:CE9E A:00 X:77 Y:69 P:27 SP:80 CYC:321 SL:18
CE9E A9 LDA #$CE PC:CE9F A:00 X:77 Y:69 P:27 SP:80 CYC:327 SL:18
CEA0 48 PHA PC:CEA1 A:CE X:77 Y:69 P:A5 SP:80 CYC:333 SL:18
CEA1 A9 LDA #$AE PC:CEA2 A:CE X:77 Y:69 P:A5 SP:7F CYC:1 SL:19
CEA3 48 PHA PC:CEA4 A:AE X:77 Y:69 P:A5 SP:7F CYC:7 SL:19
CEA4 A9 LDA #$65 PC:CEA5 A:AE X:77 Y:69 P:A5 SP:7E CYC:16 SL:19
CEA6 48 PHA PC:CEA7 A:65 X:77 Y:69 P:25 SP:7E CYC:22 SL:19
CEA7 A9 LDA #$55 PC:CEA8 A:65 X:77 Y:69 P:25 SP:7D CYC:31 SL:19
CEA9 A0 LDY #$88 PC:CEAA A:55 X:77 Y:69 P:25 SP:7D CYC:37 SL:19
CEAB A2 LDX #$99 PC:CEAC A:55 X:77 Y:88 P:A5 SP:7D CYC:43 SL:19
CEAD 40 RTI PC:CEAE A:55 X:99 Y:88 P:A5 SP:7D CYC:49 SL:19
CEAE 30 BMI $CEE5 PC:CEAF A:55 X:99 Y:88 P:65 SP:80 CYC:67 SL:19
CEB0 50 BVC $CEE5 PC:CEB1 A:55 X:99 Y:88 P:65 SP:80 CYC:73 SL:19
CEB2 F0 BEQ $CEE5 PC:CEB3 A:55 X:99 Y:88 P:65 SP:80 CYC:79 SL:19
CEB4 90 BCC $CEE5 PC:CEB5 A:55 X:99 Y:88 P:65 SP:80 CYC:85 SL:19
CEB6 C9 CMP #$55 PC:CEB7 A:55 X:99 Y:88 P:65 SP:80 CYC:91 SL:19
CEB8 D0 BNE $CEE5 PC:CEB9 A:55 X:99 Y:88 P:67 SP:80 CYC:97 SL:19
CEBA C0 CPY #$88 PC:CEBB A:55 X:99 Y:88 P:67 SP:80 CYC:103 SL:19
CEBC D0 BNE $CEE5 PC:CEBD A:55 X:99 Y:88 P:67 SP:80 CYC:109 SL:19
CEBE E0 CPX #$99 PC:CEBF A:55 X:99 Y:88 P:67 SP:80 CYC:115 SL:19
CEC0 D0 BNE $CEE5 PC:CEC1 A:55 X:99 Y:88 P:67 SP:80 CYC:121 SL:19
CEC2 A9 LDA #$CE PC:CEC3 A:55 X:99 Y:88 P:67 SP:80 CYC:127 SL:19
CEC4 48 PHA PC:CEC5 A:CE X:99 Y:88 P:E5 SP:80 CYC:133 SL:19
CEC5 A9 LDA #$CE PC:CEC6 A:CE X:99 Y:88 P:E5 SP:7F CYC:142 SL:19
CEC7 48 PHA PC:CEC8 A:CE X:99 Y:88 P:E5 SP:7F CYC:148 SL:19
CEC8 A9 LDA #$87 PC:CEC9 A:CE X:99 Y:88 P:E5 SP:7E CYC:157 SL:19
CECA 48 PHA PC:CECB A:87 X:99 Y:88 P:E5 SP:7E CYC:163 SL:19
CECB A9 LDA #$55 PC:CECC A:87 X:99 Y:88 P:E5 SP:7D CYC:172 SL:19
CECD 40 RTI PC:CECE A:55 X:99 Y:88 P:65 SP:7D CYC:178 SL:19
CECE 10 BPL $CEE5 PC:CECF A:55 X:99 Y:88 P:A7 SP:80 CYC:196 SL:19
CED0 70 BVS $CEE5 PC:CED1 A:55 X:99 Y:88 P:A7 SP:80 CYC:202 SL:19
CED2 D0 BNE $CEE5 PC:CED3 A:55 X:99 Y:88 P:A7 SP:80 CYC:208 SL:19
CED4 90 BCC $CEE5 PC:CED5 A:55 X:99 Y:88 P:A7 SP:80 CYC:214 SL:19
CED6 C9 CMP #$55 PC:CED7 A:55 X:99 Y:88 P:A7 SP:80 CYC:220 SL:19
CED8 D0 BNE $CEE5 PC:CED9 A:55 X:99 Y:88 P:27 SP:80 CYC:226 SL:19
CEDA C0 CPY #$88 PC:CEDB A:55 X:99 Y:88 P:27 SP:80 CYC:232 SL:19
CEDC D0 BNE $CEE5 PC:CEDD A:55 X:99 Y:88 P:27 SP:80 CYC:238 SL:19
CEDE E0 CPX #$99 PC:CEDF A:55 X:99 Y:88 P:27 SP:80 CYC:244 SL:19
CEE0 D0 BNE $CEE5 PC:CEE1 A:55 X:99 Y:88 P:27 SP:80 CYC:250 SL:19
CEE2 4C JMP $CEE9 PC:CEE3 A:55 X:99 Y:88 P:27 SP:80 CYC:256 SL:19
CEE9 AE LDX $07FF PC:CEEA A:55 X:99 Y:88 P:27 SP:80 CYC:265 SL:19
CEEC 9A TXS PC:CEED A:55 X:FB Y:88 P:A5 SP:80 CYC:277 SL:19
CEED 60 RTS PC:CEEE A:55 X:FB Y:88 P:A5 SP:FB CYC:283 SL:19
C60C 20 JSR $CEEE PC:C60D A:55 X:FB Y:88 P:A5 SP:FD CYC:301 SL:19
CEEE A2 LDX #$55 PC:CEEF A:55 X:FB Y:88 P:A5 SP:FB CYC:319 SL:19
CEF0 A0 LDY #$69 PC:CEF1 A:55 X:55 Y:88 P:25 SP:FB CYC:325 SL:19
CEF2 A9 LDA #$FF PC:CEF3 A:55 X:55 Y:69 P:25 SP:FB CYC:331 SL:19
CEF4 85 STA $01 PC:CEF5 A:FF X:55 Y:69 P:A5 SP:FB CYC:337 SL:19
CEF6 EA NOP PC:CEF7 A:FF X:55 Y:69 P:A5 SP:FB CYC:5 SL:20
CEF7 24 BIT $01 PC:CEF8 A:FF X:55 Y:69 P:A5 SP:FB CYC:11 SL:20
CEF9 38 SEC PC:CEFA A:FF X:55 Y:69 P:E5 SP:FB CYC:20 SL:20
CEFA A9 LDA #$01 PC:CEFB A:FF X:55 Y:69 P:E5 SP:FB CYC:26 SL:20
CEFC 4A LSR PC:CEFD A:01 X:55 Y:69 P:65 SP:FB CYC:32 SL:20
CEFD 90 BCC $CF1C PC:CEFE A:00 X:55 Y:69 P:67 SP:FB CYC:38 SL:20
CEFF D0 BNE $CF1C PC:CF00 A:00 X:55 Y:69 P:67 SP:FB CYC:44 SL:20
CF01 30 BMI $CF1C PC:CF02 A:00 X:55 Y:69 P:67 SP:FB CYC:50 SL:20
CF03 50 BVC $CF1C PC:CF04 A:00 X:55 Y:69 P:67 SP:FB CYC:56 SL:20
CF05 C9 CMP #$00 PC:CF06 A:00 X:55 Y:69 P:67 SP:FB CYC:62 SL:20
CF07 D0 BNE $CF1C PC:CF08 A:00 X:55 Y:69 P:67 SP:FB CYC:68 SL:20
CF09 B8 CLV PC:CF0A A:00 X:55 Y:69 P:67 SP:FB CYC:74 SL:20
CF0A A9 LDA #$AA PC:CF0B A:00 X:55 Y:69 P:27 SP:FB CYC:80 SL:20
CF0C 4A LSR PC:CF0D A:AA X:55 Y:69 P:A5 SP:FB CYC:86 SL:20
CF0D B0 BCS $CF1C PC:CF0E A:55 X:55 Y:69 P:24 SP:FB CYC:92 SL:20
CF0F F0 BEQ $CF1C PC:CF10 A:55 X:55 Y:69 P:24 SP:FB CYC:98 SL:20
CF11 30 BMI $CF1C PC:CF12 A:55 X:55 Y:69 P:24 SP:FB CYC:104 SL:20
CF13 70 BVS $CF1C PC:CF14 A:55 X:55 Y:69 P:24 SP:FB CYC:110 SL:20
CF15 C9 CMP #$55 PC:CF16 A:55 X:55 Y:69 P:24 SP:FB CYC:116 SL:20
CF17 D0 BNE $CF1C PC:CF18 A:55 X:55 Y:69 P:27 SP:FB CYC:122 SL:20
CF19 4C JMP $CF20 PC:CF1A A:55 X:55 Y:69 P:27 SP:FB CYC:128 SL:20
CF20 EA NOP PC:CF21 A:55 X:55 Y:69 P:27 SP:FB CYC:137 SL:20
CF21 24 BIT $01 PC:CF22 A:55 X:55 Y:69 P:27 SP:FB CYC:143 SL:20
CF23 38 SEC PC:CF24 A:55 X:55 Y:69 P:E5 SP:FB CYC:152 SL:20
CF24 A9 LDA #$80 PC:CF25 A:55 X:55 Y:69 P:E5 SP:FB CYC:158 SL:20
CF26 0A ASL A PC:CF27 A:80 X:55 Y:69 P:E5 SP:FB CYC:164 SL:20
CF27 90 BCC $CF47 PC:CF28 A:00 X:55 Y:69 P:67 SP:FB CYC:170 SL:20
CF29 D0 BNE $CF47 PC:CF2A A:00 X:55 Y:69 P:67 SP:FB CYC:176 SL:20
CF2B 30 BMI $CF47 PC:CF2C A:00 X:55 Y:69 P:67 SP:FB CYC:182 SL:20
CF2D 50 BVC $CF47 PC:CF2E A:00 X:55 Y:69 P:67 SP:FB CYC:188 SL:20
CF2F C9 CMP #$00 PC:CF30 A:00 X:55 Y:69 P:67 SP:FB CYC:194 SL:20
CF31 D0 BNE $CF47 PC:CF32 A:00 X:55 Y:69 P:67 SP:FB CYC:200 SL:20
CF33 B8 CLV PC:CF34 A:00 X:55 Y:69 P:67 SP:FB CYC:206 SL:20
CF34 38 SEC PC:CF35 A:00 X:55 Y:69 P:27 SP:FB CYC:212 SL:20
CF35 A9 LDA #$55 PC:CF36 A:00 X:55 Y:69 P:27 SP:FB CYC:218 SL:20
CF37 0A ASL A PC:CF38 A:55 X:55 Y:69 P:25 SP:FB CYC:224 SL:20
CF38 B0 BCS $CF47 PC:CF39 A:AA X:55 Y:69 P:A4 SP:FB CYC:230 SL:20
CF3A F0 BEQ $CF47 PC:CF3B A:AA X:55 Y:69 P:A4 SP:FB CYC:236 SL:20
CF3C 10 BPL $CF47 PC:CF3D A:AA X:55 Y:69 P:A4 SP:FB CYC:242 SL:20
CF3E 70 BVS $CF47 PC:CF3F A:AA X:55 Y:69 P:A4 SP:FB CYC:248 SL:20
CF40 C9 CMP #$AA PC:CF41 A:AA X:55 Y:69 P:A4 SP:FB CYC:254 SL:20
CF42 D0 BNE $CF47 PC:CF43 A:AA X:55 Y:69 P:27 SP:FB CYC:260 SL:20
CF44 4C JMP $CF4B PC:CF45 A:AA X:55 Y:69 P:27 SP:FB CYC:266 SL:20
CF4B EA NOP PC:CF4C A:AA X:55 Y:69 P:27 SP:FB CYC:275 SL:20
CF4C 24 BIT $01 PC:CF4D A:AA X:55 Y:69 P:27 SP:FB CYC:281 SL:20
CF4E 38 SEC PC:CF4F A:AA X:55 Y:69 P:E5 SP:FB CYC:290 SL:20
CF4F A9 LDA #$01 PC:CF50 A:AA X:55 Y:69 P:E5 SP:FB CYC:296 SL:20
CF51 6A ROR PC:CF52 A:01 X:55 Y:69 P:65 SP:FB CYC:302 SL:20
CF52 90 BCC $CF72 PC:CF53 A:80 X:55 Y:69 P:E5 SP:FB CYC:308 SL:20
CF54 F0 BEQ $CF72 PC:CF55 A:80 X:55 Y:69 P:E5 SP:FB CYC:314 SL:20
CF56 10 BPL $CF72 PC:CF57 A:80 X:55 Y:69 P:E5 SP:FB CYC:320 SL:20
CF58 50 BVC $CF72 PC:CF59 A:80 X:55 Y:69 P:E5 SP:FB CYC:326 SL:20
CF5A C9 CMP #$80 PC:CF5B A:80 X:55 Y:69 P:E5 SP:FB CYC:332 SL:20
CF5C D0 BNE $CF72 PC:CF5D A:80 X:55 Y:69 P:67 SP:FB CYC:338 SL:20
CF5E B8 CLV PC:CF5F A:80 X:55 Y:69 P:67 SP:FB CYC:3 SL:21
CF5F 18 CLC PC:CF60 A:80 X:55 Y:69 P:27 SP:FB CYC:9 SL:21
CF60 A9 LDA #$55 PC:CF61 A:80 X:55 Y:69 P:26 SP:FB CYC:15 SL:21
CF62 6A ROR PC:CF63 A:55 X:55 Y:69 P:24 SP:FB CYC:21 SL:21
CF63 90 BCC $CF72 PC:CF64 A:2A X:55 Y:69 P:25 SP:FB CYC:27 SL:21
CF65 F0 BEQ $CF72 PC:CF66 A:2A X:55 Y:69 P:25 SP:FB CYC:33 SL:21
CF67 30 BMI $CF72 PC:CF68 A:2A X:55 Y:69 P:25 SP:FB CYC:39 SL:21
CF69 70 BVS $CF72 PC:CF6A A:2A X:55 Y:69 P:25 SP:FB CYC:45 SL:21
CF6B C9 CMP #$2A PC:CF6C A:2A X:55 Y:69 P:25 SP:FB CYC:51 SL:21
CF6D D0 BNE $CF72 PC:CF6E A:2A X:55 Y:69 P:27 SP:FB CYC:57 SL:21
CF6F 4C JMP $CF76 PC:CF70 A:2A X:55 Y:69 P:27 SP:FB CYC:63 SL:21
CF76 EA NOP PC:CF77 A:2A X:55 Y:69 P:27 SP:FB CYC:72 SL:21
CF77 24 BIT $01 PC:CF78 A:2A X:55 Y:69 P:27 SP:FB CYC:78 SL:21
CF79 38 SEC PC:CF7A A:2A X:55 Y:69 P:E5 SP:FB CYC:87 SL:21
CF7A A9 LDA #$80 PC:CF7B A:2A X:55 Y:69 P:E5 SP:FB CYC:93 SL:21
CF7C 2A ROL PC:CF7D A:80 X:55 Y:69 P:E5 SP:FB CYC:99 SL:21
CF7D 90 BCC $CF9D PC:CF7E A:01 X:55 Y:69 P:65 SP:FB CYC:105 SL:21
CF7F F0 BEQ $CF9D PC:CF80 A:01 X:55 Y:69 P:65 SP:FB CYC:111 SL:21
CF81 30 BMI $CF9D PC:CF82 A:01 X:55 Y:69 P:65 SP:FB CYC:117 SL:21
CF83 50 BVC $CF9D PC:CF84 A:01 X:55 Y:69 P:65 SP:FB CYC:123 SL:21
CF85 C9 CMP #$01 PC:CF86 A:01 X:55 Y:69 P:65 SP:FB CYC:129 SL:21
CF87 D0 BNE $CF9D PC:CF88 A:01 X:55 Y:69 P:67 SP:FB CYC:135 SL:21
CF89 B8 CLV PC:CF8A A:01 X:55 Y:69 P:67 SP:FB CYC:141 SL:21
CF8A 18 CLC PC:CF8B A:01 X:55 Y:69 P:27 SP:FB CYC:147 SL:21
CF8B A9 LDA #$55 PC:CF8C A:01 X:55 Y:69 P:26 SP:FB CYC:153 SL:21
CF8D 2A ROL PC:CF8E A:55 X:55 Y:69 P:24 SP:FB CYC:159 SL:21
CF8E B0 BCS $CF9D PC:CF8F A:AA X:55 Y:69 P:A4 SP:FB CYC:165 SL:21
CF90 F0 BEQ $CF9D PC:CF91 A:AA X:55 Y:69 P:A4 SP:FB CYC:171 SL:21
CF92 10 BPL $CF9D PC:CF93 A:AA X:55 Y:69 P:A4 SP:FB CYC:177 SL:21
CF94 70 BVS $CF9D PC:CF95 A:AA X:55 Y:69 P:A4 SP:FB CYC:183 SL:21
CF96 C9 CMP #$AA PC:CF97 A:AA X:55 Y:69 P:A4 SP:FB CYC:189 SL:21
CF98 D0 BNE $CF9D PC:CF99 A:AA X:55 Y:69 P:27 SP:FB CYC:195 SL:21
CF9A 4C JMP $CFA1 PC:CF9B A:AA X:55 Y:69 P:27 SP:FB CYC:201 SL:21
CFA1 60 RTS PC:CFA2 A:AA X:55 Y:69 P:27 SP:FB CYC:210 SL:21
C60F 20 JSR $CFA2 PC:C610 A:AA X:55 Y:69 P:27 SP:FD CYC:228 SL:21
CFA2 A5 LDA $00 PC:CFA3 A:AA X:55 Y:69 P:27 SP:FB CYC:246 SL:21
CFA4 8D STA $07FF PC:CFA5 A:00 X:55 Y:69 P:27 SP:FB CYC:255 SL:21
CFA7 A9 LDA #$00 PC:CFA8 A:00 X:55 Y:69 P:27 SP:FB CYC:267 SL:21
CFA9 85 STA $80 PC:CFAA A:00 X:55 Y:69 P:27 SP:FB CYC:273 SL:21
CFAB A9 LDA #$02 PC:CFAC A:00 X:55 Y:69 P:27 SP:FB CYC:282 SL:21
CFAD 85 STA $81 PC:CFAE A:02 X:55 Y:69 P:25 SP:FB CYC:288 SL:21
CFAF A9 LDA #$FF PC:CFB0 A:02 X:55 Y:69 P:25 SP:FB CYC:297 SL:21
CFB1 85 STA $01 PC:CFB2 A:FF X:55 Y:69 P:A5 SP:FB CYC:303 SL:21
CFB3 A9 LDA #$00 PC:CFB4 A:FF X:55 Y:69 P:A5 SP:FB CYC:312 SL:21
CFB5 85 STA $82 PC:CFB6 A:00 X:55 Y:69 P:27 SP:FB CYC:318 SL:21
CFB7 A9 LDA #$03 PC:CFB8 A:00 X:55 Y:69 P:27 SP:FB CYC:327 SL:21
CFB9 85 STA $83 PC:CFBA A:03 X:55 Y:69 P:25 SP:FB CYC:333 SL:21
CFBB 85 STA $84 PC:CFBC A:03 X:55 Y:69 P:25 SP:FB CYC:1 SL:22
CFBD A9 LDA #$00 PC:CFBE A:03 X:55 Y:69 P:25 SP:FB CYC:10 SL:22
CFBF 85 STA $FF PC:CFC0 A:00 X:55 Y:69 P:27 SP:FB CYC:16 SL:22
CFC1 A9 LDA #$04 PC:CFC2 A:00 X:55 Y:69 P:27 SP:FB CYC:25 SL:22
CFC3 85 STA $00 PC:CFC4 A:04 X:55 Y:69 P:25 SP:FB CYC:31 SL:22
CFC5 A9 LDA #$5A PC:CFC6 A:04 X:55 Y:69 P:25 SP:FB CYC:40 SL:22
CFC7 8D STA $0200 PC:CFC8 A:5A X:55 Y:69 P:25 SP:FB CYC:46 SL:22
CFCA A9 LDA #$5B PC:CFCB A:5A X:55 Y:69 P:25 SP:FB CYC:58 SL:22
CFCC 8D STA $0300 PC:CFCD A:5B X:55 Y:69 P:25 SP:FB CYC:64 SL:22
CFCF A9 LDA #$5C PC:CFD0 A:5B X:55 Y:69 P:25 SP:FB CYC:76 SL:22
CFD1 8D STA $0303 PC:CFD2 A:5C X:55 Y:69 P:25 SP:FB CYC:82 SL:22
CFD4 A9 LDA #$5D PC:CFD5 A:5C X:55 Y:69 P:25 SP:FB CYC:94 SL:22
CFD6 8D STA $0400 PC:CFD7 A:5D X:55 Y:69 P:25 SP:FB CYC:100 SL:22
CFD9 A2 LDX #$00 PC:CFDA A:5D X:55 Y:69 P:25 SP:FB CYC:112 SL:22
CFDB A1 LDA $(C980,x) PC:CFDC A:5D X:00 Y:69 P:27 SP:FB CYC:118 SL:22
CFDD C9 CMP #$5A PC:CFDE A:5A X:00 Y:69 P:25 SP:FB CYC:136 SL:22
CFDF D0 BNE $D000 PC:CFE0 A:5A X:00 Y:69 P:27 SP:FB CYC:142 SL:22
CFE1 E8 INX PC:CFE2 A:5A X:00 Y:69 P:27 SP:FB CYC:148 SL:22
CFE2 E8 INX PC:CFE3 A:5A X:01 Y:69 P:25 SP:FB CYC:154 SL:22
CFE3 A1 LDA $(C980,x) PC:CFE4 A:5A X:02 Y:69 P:25 SP:FB CYC:160 SL:22
CFE5 C9 CMP #$5B PC:CFE6 A:5B X:02 Y:69 P:25 SP:FB CYC:178 SL:22
CFE7 D0 BNE $D000 PC:CFE8 A:5B X:02 Y:69 P:27 SP:FB CYC:184 SL:22
CFE9 E8 INX PC:CFEA A:5B X:02 Y:69 P:27 SP:FB CYC:190 SL:22
CFEA A1 LDA $(C980,x) PC:CFEB A:5B X:03 Y:69 P:25 SP:FB CYC:196 SL:22
CFEC C9 CMP #$5C PC:CFED A:5C X:03 Y:69 P:25 SP:FB CYC:214 SL:22
CFEE D0 BNE $D000 PC:CFEF A:5C X:03 Y:69 P:27 SP:FB CYC:220 SL:22
CFF0 A2 LDX #$00 PC:CFF1 A:5C X:03 Y:69 P:27 SP:FB CYC:226 SL:22
CFF2 A1 LDA $(C9FF,x) PC:CFF3 A:5C X:00 Y:69 P:27 SP:FB CYC:232 SL:22
CFF4 C9 CMP #$5D PC:CFF5 A:5D X:00 Y:69 P:25 SP:FB CYC:250 SL:22
CFF6 D0 BNE $D000 PC:CFF7 A:5D X:00 Y:69 P:27 SP:FB CYC:256 SL:22
CFF8 A2 LDX #$81 PC:CFF9 A:5D X:00 Y:69 P:27 SP:FB CYC:262 SL:22
CFFA A1 LDA $(C9FF,x) PC:CFFB A:5D X:81 Y:69 P:A5 SP:FB CYC:268 SL:22
CFFC C9 CMP #$5A PC:CFFD A:5A X:81 Y:69 P:25 SP:FB CYC:286 SL:22
CFFE F0 BEQ $D005 PC:CFFF A:5A X:81 Y:69 P:27 SP:FB CYC:292 SL:22
D005 A9 LDA #$AA PC:D006 A:5A X:81 Y:69 P:27 SP:FB CYC:301 SL:22
D007 A2 LDX #$00 PC:D008 A:AA X:81 Y:69 P:A5 SP:FB CYC:307 SL:22
D009 81 STA $(E880,x) PC:D00A A:AA X:00 Y:69 P:27 SP:FB CYC:313 SL:22
D00B E8 INX PC:D00C A:AA X:00 Y:69 P:27 SP:FB CYC:331 SL:22
D00C E8 INX PC:D00D A:AA X:01 Y:69 P:25 SP:FB CYC:337 SL:22
D00D A9 LDA #$AB PC:D00E A:AA X:02 Y:69 P:25 SP:FB CYC:2 SL:23
D00F 81 STA $(E880,x) PC:D010 A:AB X:02 Y:69 P:A5 SP:FB CYC:8 SL:23
D011 E8 INX PC:D012 A:AB X:02 Y:69 P:A5 SP:FB CYC:26 SL:23
D012 A9 LDA #$AC PC:D013 A:AB X:03 Y:69 P:25 SP:FB CYC:32 SL:23
D014 81 STA $(A280,x) PC:D015 A:AC X:03 Y:69 P:A5 SP:FB CYC:38 SL:23
D016 A2 LDX #$00 PC:D017 A:AC X:03 Y:69 P:A5 SP:FB CYC:56 SL:23
D018 A9 LDA #$AD PC:D019 A:AC X:00 Y:69 P:27 SP:FB CYC:62 SL:23
D01A 81 STA $(ADFF,x) PC:D01B A:AD X:00 Y:69 P:A5 SP:FB CYC:68 SL:23
D01C AD LDA $0200 PC:D01D A:AD X:00 Y:69 P:A5 SP:FB CYC:86 SL:23
D01F C9 CMP #$AA PC:D020 A:AA X:00 Y:69 P:A5 SP:FB CYC:98 SL:23
D021 D0 BNE $D038 PC:D022 A:AA X:00 Y:69 P:27 SP:FB CYC:104 SL:23
D023 AD LDA $0300 PC:D024 A:AA X:00 Y:69 P:27 SP:FB CYC:110 SL:23
D026 C9 CMP #$AB PC:D027 A:AB X:00 Y:69 P:A5 SP:FB CYC:122 SL:23
D028 D0 BNE $D038 PC:D029 A:AB X:00 Y:69 P:27 SP:FB CYC:128 SL:23
D02A AD LDA $0303 PC:D02B A:AB X:00 Y:69 P:27 SP:FB CYC:134 SL:23
D02D C9 CMP #$AC PC:D02E A:AC X:00 Y:69 P:A5 SP:FB CYC:146 SL:23
D02F D0 BNE $D038 PC:D030 A:AC X:00 Y:69 P:27 SP:FB CYC:152 SL:23
D031 AD LDA $0400 PC:D032 A:AC X:00 Y:69 P:27 SP:FB CYC:158 SL:23
D034 C9 CMP #$AD PC:D035 A:AD X:00 Y:69 P:A5 SP:FB CYC:170 SL:23
D036 F0 BEQ $D03D PC:D037 A:AD X:00 Y:69 P:27 SP:FB CYC:176 SL:23
D03D AD LDA $07FF PC:D03E A:AD X:00 Y:69 P:27 SP:FB CYC:185 SL:23
D040 85 STA $00 PC:D041 A:00 X:00 Y:69 P:27 SP:FB CYC:197 SL:23
D042 A9 LDA #$00 PC:D043 A:00 X:00 Y:69 P:27 SP:FB CYC:206 SL:23
D044 8D STA $0300 PC:D045 A:00 X:00 Y:69 P:27 SP:FB CYC:212 SL:23
D047 A9 LDA #$AA PC:D048 A:00 X:00 Y:69 P:27 SP:FB CYC:224 SL:23
D049 8D STA $0200 PC:D04A A:AA X:00 Y:69 P:A5 SP:FB CYC:230 SL:23
D04C A2 LDX #$00 PC:D04D A:AA X:00 Y:69 P:A5 SP:FB CYC:242 SL:23
D04E A0 LDY #$5A PC:D04F A:AA X:00 Y:69 P:27 SP:FB CYC:248 SL:23
D050 20 JSR $F7B6 PC:D051 A:AA X:00 Y:5A P:25 SP:FB CYC:254 SL:23
F7B6 18 CLC PC:F7B7 A:AA X:00 Y:5A P:25 SP:F9 CYC:272 SL:23
F7B7 A9 LDA #$FF PC:F7B8 A:AA X:00 Y:5A P:24 SP:F9 CYC:278 SL:23
F7B9 85 STA $01 PC:F7BA A:FF X:00 Y:5A P:A4 SP:F9 CYC:284 SL:23
F7BB 24 BIT $01 PC:F7BC A:FF X:00 Y:5A P:A4 SP:F9 CYC:293 SL:23
F7BD A9 LDA #$55 PC:F7BE A:FF X:00 Y:5A P:E4 SP:F9 CYC:302 SL:23
F7BF 60 RTS PC:F7C0 A:55 X:00 Y:5A P:64 SP:F9 CYC:308 SL:23
D053 01 ORA $(2080,x) PC:D054 A:55 X:00 Y:5A P:64 SP:FB CYC:326 SL:23
D055 20 JSR $F7C0 PC:D056 A:FF X:00 Y:5A P:E4 SP:FB CYC:3 SL:24
F7C0 B0 BCS $F7CB PC:F7C1 A:FF X:00 Y:5A P:E4 SP:F9 CYC:21 SL:24
F7C2 10 BPL $F7CB PC:F7C3 A:FF X:00 Y:5A P:E4 SP:F9 CYC:27 SL:24
F7C4 C9 CMP #$FF PC:F7C5 A:FF X:00 Y:5A P:E4 SP:F9 CYC:33 SL:24
F7C6 D0 BNE $F7CB PC:F7C7 A:FF X:00 Y:5A P:67 SP:F9 CYC:39 SL:24
F7C8 50 BVC $F7CB PC:F7C9 A:FF X:00 Y:5A P:67 SP:F9 CYC:45 SL:24
F7CA 60 RTS PC:F7CB A:FF X:00 Y:5A P:67 SP:F9 CYC:51 SL:24
D058 C8 INY PC:D059 A:FF X:00 Y:5A P:67 SP:FB CYC:69 SL:24
D059 20 JSR $F7CE PC:D05A A:FF X:00 Y:5B P:65 SP:FB CYC:75 SL:24
F7CE 38 SEC PC:F7CF A:FF X:00 Y:5B P:65 SP:F9 CYC:93 SL:24
F7CF B8 CLV PC:F7D0 A:FF X:00 Y:5B P:65 SP:F9 CYC:99 SL:24
F7D0 A9 LDA #$00 PC:F7D1 A:FF X:00 Y:5B P:25 SP:F9 CYC:105 SL:24
F7D2 60 RTS PC:F7D3 A:00 X:00 Y:5B P:27 SP:F9 CYC:111 SL:24
D05C 01 ORA $(2082,x) PC:D05D A:00 X:00 Y:5B P:27 SP:FB CYC:129 SL:24
D05E 20 JSR $F7D3 PC:D05F A:00 X:00 Y:5B P:27 SP:FB CYC:147 SL:24
F7D3 D0 BNE $F7DC PC:F7D4 A:00 X:00 Y:5B P:27 SP:F9 CYC:165 SL:24
F7D5 70 BVS $F7DC PC:F7D6 A:00 X:00 Y:5B P:27 SP:F9 CYC:171 SL:24
F7D7 90 BCC $F7DC PC:F7D8 A:00 X:00 Y:5B P:27 SP:F9 CYC:177 SL:24
F7D9 30 BMI $F7DC PC:F7DA A:00 X:00 Y:5B P:27 SP:F9 CYC:183 SL:24
F7DB 60 RTS PC:F7DC A:00 X:00 Y:5B P:27 SP:F9 CYC:189 SL:24
D061 C8 INY PC:D062 A:00 X:00 Y:5B P:27 SP:FB CYC:207 SL:24
D062 20 JSR $F7DF PC:D063 A:00 X:00 Y:5C P:25 SP:FB CYC:213 SL:24
F7DF 18 CLC PC:F7E0 A:00 X:00 Y:5C P:25 SP:F9 CYC:231 SL:24
F7E0 24 BIT $01 PC:F7E1 A:00 X:00 Y:5C P:24 SP:F9 CYC:237 SL:24
F7E2 A9 LDA #$55 PC:F7E3 A:00 X:00 Y:5C P:E6 SP:F9 CYC:246 SL:24
F7E4 60 RTS PC:F7E5 A:55 X:00 Y:5C P:64 SP:F9 CYC:252 SL:24
D065 21 AND $(2080,x) PC:D066 A:55 X:00 Y:5C P:64 SP:FB CYC:270 SL:24
D067 20 JSR $F7E5 PC:D068 A:00 X:00 Y:5C P:66 SP:FB CYC:288 SL:24
F7E5 D0 BNE $F7EE PC:F7E6 A:00 X:00 Y:5C P:66 SP:F9 CYC:306 SL:24
F7E7 50 BVC $F7EE PC:F7E8 A:00 X:00 Y:5C P:66 SP:F9 CYC:312 SL:24
F7E9 B0 BCS $F7EE PC:F7EA A:00 X:00 Y:5C P:66 SP:F9 CYC:318 SL:24
F7EB 30 BMI $F7EE PC:F7EC A:00 X:00 Y:5C P:66 SP:F9 CYC:324 SL:24
F7ED 60 RTS PC:F7EE A:00 X:00 Y:5C P:66 SP:F9 CYC:330 SL:24
D06A C8 INY PC:D06B A:00 X:00 Y:5C P:66 SP:FB CYC:7 SL:25
D06B A9 LDA #$EF PC:D06C A:00 X:00 Y:5D P:64 SP:FB CYC:13 SL:25
D06D 8D STA $0300 PC:D06E A:EF X:00 Y:5D P:E4 SP:FB CYC:19 SL:25
D070 20 JSR $F7F1 PC:D071 A:EF X:00 Y:5D P:E4 SP:FB CYC:31 SL:25
F7F1 38 SEC PC:F7F2 A:EF X:00 Y:5D P:E4 SP:F9 CYC:49 SL:25
F7F2 B8 CLV PC:F7F3 A:EF X:00 Y:5D P:E5 SP:F9 CYC:55 SL:25
F7F3 A9 LDA #$F8 PC:F7F4 A:EF X:00 Y:5D P:A5 SP:F9 CYC:61 SL:25
F7F5 60 RTS PC:F7F6 A:F8 X:00 Y:5D P:A5 SP:F9 CYC:67 SL:25
D073 21 AND $(2082,x) PC:D074 A:F8 X:00 Y:5D P:A5 SP:FB CYC:85 SL:25
D075 20 JSR $F7F6 PC:D076 A:E8 X:00 Y:5D P:A5 SP:FB CYC:103 SL:25
F7F6 90 BCC $F801 PC:F7F7 A:E8 X:00 Y:5D P:A5 SP:F9 CYC:121 SL:25
F7F8 10 BPL $F801 PC:F7F9 A:E8 X:00 Y:5D P:A5 SP:F9 CYC:127 SL:25
F7FA C9 CMP #$E8 PC:F7FB A:E8 X:00 Y:5D P:A5 SP:F9 CYC:133 SL:25
F7FC D0 BNE $F801 PC:F7FD A:E8 X:00 Y:5D P:27 SP:F9 CYC:139 SL:25
F7FE 70 BVS $F801 PC:F7FF A:E8 X:00 Y:5D P:27 SP:F9 CYC:145 SL:25
F800 60 RTS PC:F801 A:E8 X:00 Y:5D P:27 SP:F9 CYC:151 SL:25
D078 C8 INY PC:D079 A:E8 X:00 Y:5D P:27 SP:FB CYC:169 SL:25
D079 20 JSR $F804 PC:D07A A:E8 X:00 Y:5E P:25 SP:FB CYC:175 SL:25
F804 18 CLC PC:F805 A:E8 X:00 Y:5E P:25 SP:F9 CYC:193 SL:25
F805 24 BIT $01 PC:F806 A:E8 X:00 Y:5E P:24 SP:F9 CYC:199 SL:25
F807 A9 LDA #$5F PC:F808 A:E8 X:00 Y:5E P:E4 SP:F9 CYC:208 SL:25
F809 60 RTS PC:F80A A:5F X:00 Y:5E P:64 SP:F9 CYC:214 SL:25
D07C 41 EOR $(2080,x) PC:D07D A:5F X:00 Y:5E P:64 SP:FB CYC:232 SL:25
D07E 20 JSR $F80A PC:D07F A:F5 X:00 Y:5E P:E4 SP:FB CYC:250 SL:25
F80A B0 BCS $F815 PC:F80B A:F5 X:00 Y:5E P:E4 SP:F9 CYC:268 SL:25
F80C 10 BPL $F815 PC:F80D A:F5 X:00 Y:5E P:E4 SP:F9 CYC:274 SL:25
F80E C9 CMP #$F5 PC:F80F A:F5 X:00 Y:5E P:E4 SP:F9 CYC:280 SL:25
F810 D0 BNE $F815 PC:F811 A:F5 X:00 Y:5E P:67 SP:F9 CYC:286 SL:25
F812 50 BVC $F815 PC:F813 A:F5 X:00 Y:5E P:67 SP:F9 CYC:292 SL:25
F814 60 RTS PC:F815 A:F5 X:00 Y:5E P:67 SP:F9 CYC:298 SL:25
D081 C8 INY PC:D082 A:F5 X:00 Y:5E P:67 SP:FB CYC:316 SL:25
D082 A9 LDA #$70 PC:D083 A:F5 X:00 Y:5F P:65 SP:FB CYC:322 SL:25
D084 8D STA $0300 PC:D085 A:70 X:00 Y:5F P:65 SP:FB CYC:328 SL:25
D087 20 JSR $F818 PC:D088 A:70 X:00 Y:5F P:65 SP:FB CYC:340 SL:25
F818 38 SEC PC:F819 A:70 X:00 Y:5F P:65 SP:F9 CYC:17 SL:26
F819 B8 CLV PC:F81A A:70 X:00 Y:5F P:65 SP:F9 CYC:23 SL:26
F81A A9 LDA #$70 PC:F81B A:70 X:00 Y:5F P:25 SP:F9 CYC:29 SL:26
F81C 60 RTS PC:F81D A:70 X:00 Y:5F P:25 SP:F9 CYC:35 SL:26
D08A 41 EOR $(2082,x) PC:D08B A:70 X:00 Y:5F P:25 SP:FB CYC:53 SL:26
D08C 20 JSR $F81D PC:D08D A:00 X:00 Y:5F P:27 SP:FB CYC:71 SL:26
F81D D0 BNE $F826 PC:F81E A:00 X:00 Y:5F P:27 SP:F9 CYC:89 SL:26
F81F 70 BVS $F826 PC:F820 A:00 X:00 Y:5F P:27 SP:F9 CYC:95 SL:26
F821 90 BCC $F826 PC:F822 A:00 X:00 Y:5F P:27 SP:F9 CYC:101 SL:26
F823 30 BMI $F826 PC:F824 A:00 X:00 Y:5F P:27 SP:F9 CYC:107 SL:26
F825 60 RTS PC:F826 A:00 X:00 Y:5F P:27 SP:F9 CYC:113 SL:26
D08F C8 INY PC:D090 A:00 X:00 Y:5F P:27 SP:FB CYC:131 SL:26
D090 A9 LDA #$69 PC:D091 A:00 X:00 Y:60 P:25 SP:FB CYC:137 SL:26
D092 8D STA $0200 PC:D093 A:69 X:00 Y:60 P:25 SP:FB CYC:143 SL:26
D095 20 JSR $F829 PC:D096 A:69 X:00 Y:60 P:25 SP:FB CYC:155 SL:26
F829 18 CLC PC:F82A A:69 X:00 Y:60 P:25 SP:F9 CYC:173 SL:26
F82A 24 BIT $01 PC:F82B A:69 X:00 Y:60 P:24 SP:F9 CYC:179 SL:26
F82C A9 LDA #$00 PC:F82D A:69 X:00 Y:60 P:E4 SP:F9 CYC:188 SL:26
F82E 60 RTS PC:F82F A:00 X:00 Y:60 P:66 SP:F9 CYC:194 SL:26
D098 61 ADC $(2080,x) PC:D099 A:00 X:00 Y:60 P:66 SP:FB CYC:212 SL:26
D09A 20 JSR $F82F PC:D09B A:69 X:00 Y:60 P:24 SP:FB CYC:230 SL:26
F82F 30 BMI $F83A PC:F830 A:69 X:00 Y:60 P:24 SP:F9 CYC:248 SL:26
F831 B0 BCS $F83A PC:F832 A:69 X:00 Y:60 P:24 SP:F9 CYC:254 SL:26
F833 C9 CMP #$69 PC:F834 A:69 X:00 Y:60 P:24 SP:F9 CYC:260 SL:26
F835 D0 BNE $F83A PC:F836 A:69 X:00 Y:60 P:27 SP:F9 CYC:266 SL:26
F837 70 BVS $F83A PC:F838 A:69 X:00 Y:60 P:27 SP:F9 CYC:272 SL:26
F839 60 RTS PC:F83A A:69 X:00 Y:60 P:27 SP:F9 CYC:278 SL:26
D09D C8 INY PC:D09E A:69 X:00 Y:60 P:27 SP:FB CYC:296 SL:26
D09E 20 JSR $F83D PC:D09F A:69 X:00 Y:61 P:25 SP:FB CYC:302 SL:26
F83D 38 SEC PC:F83E A:69 X:00 Y:61 P:25 SP:F9 CYC:320 SL:26
F83E 24 BIT $01 PC:F83F A:69 X:00 Y:61 P:25 SP:F9 CYC:326 SL:26
F840 A9 LDA #$00 PC:F841 A:69 X:00 Y:61 P:E5 SP:F9 CYC:335 SL:26
F842 60 RTS PC:F843 A:00 X:00 Y:61 P:67 SP:F9 CYC:0 SL:27
D0A1 61 ADC $(2080,x) PC:D0A2 A:00 X:00 Y:61 P:67 SP:FB CYC:18 SL:27
D0A3 20 JSR $F843 PC:D0A4 A:6A X:00 Y:61 P:24 SP:FB CYC:36 SL:27
F843 30 BMI $F84E PC:F844 A:6A X:00 Y:61 P:24 SP:F9 CYC:54 SL:27
F845 B0 BCS $F84E PC:F846 A:6A X:00 Y:61 P:24 SP:F9 CYC:60 SL:27
F847 C9 CMP #$6A PC:F848 A:6A X:00 Y:61 P:24 SP:F9 CYC:66 SL:27
F849 D0 BNE $F84E PC:F84A A:6A X:00 Y:61 P:27 SP:F9 CYC:72 SL:27
F84B 70 BVS $F84E PC:F84C A:6A X:00 Y:61 P:27 SP:F9 CYC:78 SL:27
F84D 60 RTS PC:F84E A:6A X:00 Y:61 P:27 SP:F9 CYC:84 SL:27
D0A6 C8 INY PC:D0A7 A:6A X:00 Y:61 P:27 SP:FB CYC:102 SL:27
D0A7 A9 LDA #$7F PC:D0A8 A:6A X:00 Y:62 P:25 SP:FB CYC:108 SL:27
D0A9 8D STA $0200 PC:D0AA A:7F X:00 Y:62 P:25 SP:FB CYC:114 SL:27
D0AC 20 JSR $F851 PC:D0AD A:7F X:00 Y:62 P:25 SP:FB CYC:126 SL:27
F851 38 SEC PC:F852 A:7F X:00 Y:62 P:25 SP:F9 CYC:144 SL:27
F852 B8 CLV PC:F853 A:7F X:00 Y:62 P:25 SP:F9 CYC:150 SL:27
F853 A9 LDA #$7F PC:F854 A:7F X:00 Y:62 P:25 SP:F9 CYC:156 SL:27
F855 60 RTS PC:F856 A:7F X:00 Y:62 P:25 SP:F9 CYC:162 SL:27
D0AF 61 ADC $(2080,x) PC:D0B0 A:7F X:00 Y:62 P:25 SP:FB CYC:180 SL:27
D0B1 20 JSR $F856 PC:D0B2 A:FF X:00 Y:62 P:E4 SP:FB CYC:198 SL:27
F856 10 BPL $F861 PC:F857 A:FF X:00 Y:62 P:E4 SP:F9 CYC:216 SL:27
F858 B0 BCS $F861 PC:F859 A:FF X:00 Y:62 P:E4 SP:F9 CYC:222 SL:27
F85A C9 CMP #$FF PC:F85B A:FF X:00 Y:62 P:E4 SP:F9 CYC:228 SL:27
F85C D0 BNE $F861 PC:F85D A:FF X:00 Y:62 P:67 SP:F9 CYC:234 SL:27
F85E 50 BVC $F861 PC:F85F A:FF X:00 Y:62 P:67 SP:F9 CYC:240 SL:27
F860 60 RTS PC:F861 A:FF X:00 Y:62 P:67 SP:F9 CYC:246 SL:27
D0B4 C8 INY PC:D0B5 A:FF X:00 Y:62 P:67 SP:FB CYC:264 SL:27
D0B5 A9 LDA #$80 PC:D0B6 A:FF X:00 Y:63 P:65 SP:FB CYC:270 SL:27
D0B7 8D STA $0200 PC:D0B8 A:80 X:00 Y:63 P:E5 SP:FB CYC:276 SL:27
D0BA 20 JSR $F864 PC:D0BB A:80 X:00 Y:63 P:E5 SP:FB CYC:288 SL:27
F864 18 CLC PC:F865 A:80 X:00 Y:63 P:E5 SP:F9 CYC:306 SL:27
F865 24 BIT $01 PC:F866 A:80 X:00 Y:63 P:E4 SP:F9 CYC:312 SL:27
F867 A9 LDA #$7F PC:F868 A:80 X:00 Y:63 P:E4 SP:F9 CYC:321 SL:27
F869 60 RTS PC:F86A A:7F X:00 Y:63 P:64 SP:F9 CYC:327 SL:27
D0BD 61 ADC $(2080,x) PC:D0BE A:7F X:00 Y:63 P:64 SP:FB CYC:4 SL:28
D0BF 20 JSR $F86A PC:D0C0 A:FF X:00 Y:63 P:A4 SP:FB CYC:22 SL:28
F86A 10 BPL $F875 PC:F86B A:FF X:00 Y:63 P:A4 SP:F9 CYC:40 SL:28
F86C B0 BCS $F875 PC:F86D A:FF X:00 Y:63 P:A4 SP:F9 CYC:46 SL:28
F86E C9 CMP #$FF PC:F86F A:FF X:00 Y:63 P:A4 SP:F9 CYC:52 SL:28
F870 D0 BNE $F875 PC:F871 A:FF X:00 Y:63 P:27 SP:F9 CYC:58 SL:28
F872 70 BVS $F875 PC:F873 A:FF X:00 Y:63 P:27 SP:F9 CYC:64 SL:28
F874 60 RTS PC:F875 A:FF X:00 Y:63 P:27 SP:F9 CYC:70 SL:28
D0C2 C8 INY PC:D0C3 A:FF X:00 Y:63 P:27 SP:FB CYC:88 SL:28
D0C3 20 JSR $F878 PC:D0C4 A:FF X:00 Y:64 P:25 SP:FB CYC:94 SL:28
F878 38 SEC PC:F879 A:FF X:00 Y:64 P:25 SP:F9 CYC:112 SL:28
F879 B8 CLV PC:F87A A:FF X:00 Y:64 P:25 SP:F9 CYC:118 SL:28
F87A A9 LDA #$7F PC:F87B A:FF X:00 Y:64 P:25 SP:F9 CYC:124 SL:28
F87C 60 RTS PC:F87D A:7F X:00 Y:64 P:25 SP:F9 CYC:130 SL:28
D0C6 61 ADC $(2080,x) PC:D0C7 A:7F X:00 Y:64 P:25 SP:FB CYC:148 SL:28
D0C8 20 JSR $F87D PC:D0C9 A:00 X:00 Y:64 P:27 SP:FB CYC:166 SL:28
F87D D0 BNE $F886 PC:F87E A:00 X:00 Y:64 P:27 SP:F9 CYC:184 SL:28
F87F 30 BMI $F886 PC:F880 A:00 X:00 Y:64 P:27 SP:F9 CYC:190 SL:28
F881 70 BVS $F886 PC:F882 A:00 X:00 Y:64 P:27 SP:F9 CYC:196 SL:28
F883 90 BCC $F886 PC:F884 A:00 X:00 Y:64 P:27 SP:F9 CYC:202 SL:28
F885 60 RTS PC:F886 A:00 X:00 Y:64 P:27 SP:F9 CYC:208 SL:28
D0CB C8 INY PC:D0CC A:00 X:00 Y:64 P:27 SP:FB CYC:226 SL:28
D0CC A9 LDA #$40 PC:D0CD A:00 X:00 Y:65 P:25 SP:FB CYC:232 SL:28
D0CE 8D STA $0200 PC:D0CF A:40 X:00 Y:65 P:25 SP:FB CYC:238 SL:28
D0D1 20 JSR $F889 PC:D0D2 A:40 X:00 Y:65 P:25 SP:FB CYC:250 SL:28
F889 24 BIT $01 PC:F88A A:40 X:00 Y:65 P:25 SP:F9 CYC:268 SL:28
F88B A9 LDA #$40 PC:F88C A:40 X:00 Y:65 P:E5 SP:F9 CYC:277 SL:28
F88D 60 RTS PC:F88E A:40 X:00 Y:65 P:65 SP:F9 CYC:283 SL:28
D0D4 C1 CMP $(2080,x) PC:D0D5 A:40 X:00 Y:65 P:65 SP:FB CYC:301 SL:28
D0D6 20 JSR $F88E PC:D0D7 A:40 X:00 Y:65 P:67 SP:FB CYC:319 SL:28
F88E 30 BMI $F897 PC:F88F A:40 X:00 Y:65 P:67 SP:F9 CYC:337 SL:28
F890 90 BCC $F897 PC:F891 A:40 X:00 Y:65 P:67 SP:F9 CYC:2 SL:29
F892 D0 BNE $F897 PC:F893 A:40 X:00 Y:65 P:67 SP:F9 CYC:8 SL:29
F894 50 BVC $F897 PC:F895 A:40 X:00 Y:65 P:67 SP:F9 CYC:14 SL:29
F896 60 RTS PC:F897 A:40 X:00 Y:65 P:67 SP:F9 CYC:20 SL:29
D0D9 C8 INY PC:D0DA A:40 X:00 Y:65 P:67 SP:FB CYC:38 SL:29
D0DA 48 PHA PC:D0DB A:40 X:00 Y:66 P:65 SP:FB CYC:44 SL:29
D0DB A9 LDA #$3F PC:D0DC A:40 X:00 Y:66 P:65 SP:FA CYC:53 SL:29
D0DD 8D STA $0200 PC:D0DE A:3F X:00 Y:66 P:65 SP:FA CYC:59 SL:29
D0E0 68 PLA PC:D0E1 A:3F X:00 Y:66 P:65 SP:FA CYC:71 SL:29
D0E1 20 JSR $F89A PC:D0E2 A:40 X:00 Y:66 P:65 SP:FB CYC:83 SL:29
F89A B8 CLV PC:F89B A:40 X:00 Y:66 P:65 SP:F9 CYC:101 SL:29
F89B 60 RTS PC:F89C A:40 X:00 Y:66 P:25 SP:F9 CYC:107 SL:29
D0E4 C1 CMP $(2080,x) PC:D0E5 A:40 X:00 Y:66 P:25 SP:FB CYC:125 SL:29
D0E6 20 JSR $F89C PC:D0E7 A:40 X:00 Y:66 P:25 SP:FB CYC:143 SL:29
F89C F0 BEQ $F8A5 PC:F89D A:40 X:00 Y:66 P:25 SP:F9 CYC:161 SL:29
F89E 30 BMI $F8A5 PC:F89F A:40 X:00 Y:66 P:25 SP:F9 CYC:167 SL:29
F8A0 90 BCC $F8A5 PC:F8A1 A:40 X:00 Y:66 P:25 SP:F9 CYC:173 SL:29
F8A2 70 BVS $F8A5 PC:F8A3 A:40 X:00 Y:66 P:25 SP:F9 CYC:179 SL:29
F8A4 60 RTS PC:F8A5 A:40 X:00 Y:66 P:25 SP:F9 CYC:185 SL:29
D0E9 C8 INY PC:D0EA A:40 X:00 Y:66 P:25 SP:FB CYC:203 SL:29
D0EA 48 PHA PC:D0EB A:40 X:00 Y:67 P:25 SP:FB CYC:209 SL:29
D0EB A9 LDA #$41 PC:D0EC A:40 X:00 Y:67 P:25 SP:FA CYC:218 SL:29
D0ED 8D STA $0200 PC:D0EE A:41 X:00 Y:67 P:25 SP:FA CYC:224 SL:29
D0F0 68 PLA PC:D0F1 A:41 X:00 Y:67 P:25 SP:FA CYC:236 SL:29
D0F1 C1 CMP $(2080,x) PC:D0F2 A:40 X:00 Y:67 P:25 SP:FB CYC:248 SL:29
D0F3 20 JSR $F8A8 PC:D0F4 A:40 X:00 Y:67 P:A4 SP:FB CYC:266 SL:29
F8A8 F0 BEQ $F8AF PC:F8A9 A:40 X:00 Y:67 P:A4 SP:F9 CYC:284 SL:29
F8AA 10 BPL $F8AF PC:F8AB A:40 X:00 Y:67 P:A4 SP:F9 CYC:290 SL:29
F8AC 10 BPL $F8AF PC:F8AD A:40 X:00 Y:67 P:A4 SP:F9 CYC:296 SL:29
F8AE 60 RTS PC:F8AF A:40 X:00 Y:67 P:A4 SP:F9 CYC:302 SL:29
D0F6 C8 INY PC:D0F7 A:40 X:00 Y:67 P:A4 SP:FB CYC:320 SL:29
D0F7 48 PHA PC:D0F8 A:40 X:00 Y:68 P:24 SP:FB CYC:326 SL:29
D0F8 A9 LDA #$00 PC:D0F9 A:40 X:00 Y:68 P:24 SP:FA CYC:335 SL:29
D0FA 8D STA $0200 PC:D0FB A:00 X:00 Y:68 P:26 SP:FA CYC:0 SL:30
D0FD 68 PLA PC:D0FE A:00 X:00 Y:68 P:26 SP:FA CYC:12 SL:30
D0FE 20 JSR $F8B2 PC:D0FF A:40 X:00 Y:68 P:24 SP:FB CYC:24 SL:30
F8B2 A9 LDA #$80 PC:F8B3 A:40 X:00 Y:68 P:24 SP:F9 CYC:42 SL:30
F8B4 60 RTS PC:F8B5 A:80 X:00 Y:68 P:A4 SP:F9 CYC:48 SL:30
D101 C1 CMP $(2080,x) PC:D102 A:80 X:00 Y:68 P:A4 SP:FB CYC:66 SL:30
D103 20 JSR $F8B5 PC:D104 A:80 X:00 Y:68 P:A5 SP:FB CYC:84 SL:30
F8B5 F0 BEQ $F8BC PC:F8B6 A:80 X:00 Y:68 P:A5 SP:F9 CYC:102 SL:30
F8B7 10 BPL $F8BC PC:F8B8 A:80 X:00 Y:68 P:A5 SP:F9 CYC:108 SL:30
F8B9 90 BCC $F8BC PC:F8BA A:80 X:00 Y:68 P:A5 SP:F9 CYC:114 SL:30
F8BB 60 RTS PC:F8BC A:80 X:00 Y:68 P:A5 SP:F9 CYC:120 SL:30
D106 C8 INY PC:D107 A:80 X:00 Y:68 P:A5 SP:FB CYC:138 SL:30
D107 48 PHA PC:D108 A:80 X:00 Y:69 P:25 SP:FB CYC:144 SL:30
D108 A9 LDA #$80 PC:D109 A:80 X:00 Y:69 P:25 SP:FA CYC:153 SL:30
D10A 8D STA $0200 PC:D10B A:80 X:00 Y:69 P:A5 SP:FA CYC:159 SL:30
D10D 68 PLA PC:D10E A:80 X:00 Y:69 P:A5 SP:FA CYC:171 SL:30
D10E C1 CMP $(2080,x) PC:D10F A:80 X:00 Y:69 P:A5 SP:FB CYC:183 SL:30
D110 20 JSR $F8BF PC:D111 A:80 X:00 Y:69 P:27 SP:FB CYC:201 SL:30
F8BF D0 BNE $F8C6 PC:F8C0 A:80 X:00 Y:69 P:27 SP:F9 CYC:219 SL:30
F8C1 30 BMI $F8C6 PC:F8C2 A:80 X:00 Y:69 P:27 SP:F9 CYC:225 SL:30
F8C3 90 BCC $F8C6 PC:F8C4 A:80 X:00 Y:69 P:27 SP:F9 CYC:231 SL:30
F8C5 60 RTS PC:F8C6 A:80 X:00 Y:69 P:27 SP:F9 CYC:237 SL:30
D113 C8 INY PC:D114 A:80 X:00 Y:69 P:27 SP:FB CYC:255 SL:30
D114 48 PHA PC:D115 A:80 X:00 Y:6A P:25 SP:FB CYC:261 SL:30
D115 A9 LDA #$81 PC:D116 A:80 X:00 Y:6A P:25 SP:FA CYC:270 SL:30
D117 8D STA $0200 PC:D118 A:81 X:00 Y:6A P:A5 SP:FA CYC:276 SL:30
D11A 68 PLA PC:D11B A:81 X:00 Y:6A P:A5 SP:FA CYC:288 SL:30
D11B C1 CMP $(2080,x) PC:D11C A:80 X:00 Y:6A P:A5 SP:FB CYC:300 SL:30
D11D 20 JSR $F8C9 PC:D11E A:80 X:00 Y:6A P:A4 SP:FB CYC:318 SL:30
F8C9 B0 BCS $F8D0 PC:F8CA A:80 X:00 Y:6A P:A4 SP:F9 CYC:336 SL:30
F8CB F0 BEQ $F8D0 PC:F8CC A:80 X:00 Y:6A P:A4 SP:F9 CYC:1 SL:31
F8CD 10 BPL $F8D0 PC:F8CE A:80 X:00 Y:6A P:A4 SP:F9 CYC:7 SL:31
F8CF 60 RTS PC:F8D0 A:80 X:00 Y:6A P:A4 SP:F9 CYC:13 SL:31
D120 C8 INY PC:D121 A:80 X:00 Y:6A P:A4 SP:FB CYC:31 SL:31
D121 48 PHA PC:D122 A:80 X:00 Y:6B P:24 SP:FB CYC:37 SL:31
D122 A9 LDA #$7F PC:D123 A:80 X:00 Y:6B P:24 SP:FA CYC:46 SL:31
D124 8D STA $0200 PC:D125 A:7F X:00 Y:6B P:24 SP:FA CYC:52 SL:31
D127 68 PLA PC:D128 A:7F X:00 Y:6B P:24 SP:FA CYC:64 SL:31
D128 C1 CMP $(2080,x) PC:D129 A:80 X:00 Y:6B P:A4 SP:FB CYC:76 SL:31
D12A 20 JSR $F8D3 PC:D12B A:80 X:00 Y:6B P:25 SP:FB CYC:94 SL:31
F8D3 90 BCC $F8DA PC:F8D4 A:80 X:00 Y:6B P:25 SP:F9 CYC:112 SL:31
F8D5 F0 BEQ $F8DA PC:F8D6 A:80 X:00 Y:6B P:25 SP:F9 CYC:118 SL:31
F8D7 30 BMI $F8DA PC:F8D8 A:80 X:00 Y:6B P:25 SP:F9 CYC:124 SL:31
F8D9 60 RTS PC:F8DA A:80 X:00 Y:6B P:25 SP:F9 CYC:130 SL:31
D12D C8 INY PC:D12E A:80 X:00 Y:6B P:25 SP:FB CYC:148 SL:31
D12E A9 LDA #$40 PC:D12F A:80 X:00 Y:6C P:25 SP:FB CYC:154 SL:31
D130 8D STA $0200 PC:D131 A:40 X:00 Y:6C P:25 SP:FB CYC:160 SL:31
D133 20 JSR $F931 PC:D134 A:40 X:00 Y:6C P:25 SP:FB CYC:172 SL:31
F931 24 BIT $01 PC:F932 A:40 X:00 Y:6C P:25 SP:F9 CYC:190 SL:31
F933 A9 LDA #$40 PC:F934 A:40 X:00 Y:6C P:E5 SP:F9 CYC:199 SL:31
F935 38 SEC PC:F936 A:40 X:00 Y:6C P:65 SP:F9 CYC:205 SL:31
F936 60 RTS PC:F937 A:40 X:00 Y:6C P:65 SP:F9 CYC:211 SL:31
D136 E1 SBC $(2080,x) PC:D137 A:40 X:00 Y:6C P:65 SP:FB CYC:229 SL:31
D138 20 JSR $F937 PC:D139 A:00 X:00 Y:6C P:27 SP:FB CYC:247 SL:31
F937 30 BMI $F944 PC:F938 A:00 X:00 Y:6C P:27 SP:F9 CYC:265 SL:31
F939 90 BCC $F944 PC:F93A A:00 X:00 Y:6C P:27 SP:F9 CYC:271 SL:31
F93B D0 BNE $F944 PC:F93C A:00 X:00 Y:6C P:27 SP:F9 CYC:277 SL:31
F93D 70 BVS $F944 PC:F93E A:00 X:00 Y:6C P:27 SP:F9 CYC:283 SL:31
F93F C9 CMP #$00 PC:F940 A:00 X:00 Y:6C P:27 SP:F9 CYC:289 SL:31
F941 D0 BNE $F944 PC:F942 A:00 X:00 Y:6C P:27 SP:F9 CYC:295 SL:31
F943 60 RTS PC:F944 A:00 X:00 Y:6C P:27 SP:F9 CYC:301 SL:31
D13B C8 INY PC:D13C A:00 X:00 Y:6C P:27 SP:FB CYC:319 SL:31
D13C A9 LDA #$3F PC:D13D A:00 X:00 Y:6D P:25 SP:FB CYC:325 SL:31
D13E 8D STA $0200 PC:D13F A:3F X:00 Y:6D P:25 SP:FB CYC:331 SL:31
D141 20 JSR $F947 PC:D142 A:3F X:00 Y:6D P:25 SP:FB CYC:2 SL:32
F947 B8 CLV PC:F948 A:3F X:00 Y:6D P:25 SP:F9 CYC:20 SL:32
F948 38 SEC PC:F949 A:3F X:00 Y:6D P:25 SP:F9 CYC:26 SL:32
F949 A9 LDA #$40 PC:F94A A:3F X:00 Y:6D P:25 SP:F9 CYC:32 SL:32
F94B 60 RTS PC:F94C A:40 X:00 Y:6D P:25 SP:F9 CYC:38 SL:32
D144 E1 SBC $(2080,x) PC:D145 A:40 X:00 Y:6D P:25 SP:FB CYC:56 SL:32
D146 20 JSR $F94C PC:D147 A:01 X:00 Y:6D P:25 SP:FB CYC:74 SL:32
F94C F0 BEQ $F959 PC:F94D A:01 X:00 Y:6D P:25 SP:F9 CYC:92 SL:32
F94E 30 BMI $F959 PC:F94F A:01 X:00 Y:6D P:25 SP:F9 CYC:98 SL:32
F950 90 BCC $F959 PC:F951 A:01 X:00 Y:6D P:25 SP:F9 CYC:104 SL:32
F952 70 BVS $F959 PC:F953 A:01 X:00 Y:6D P:25 SP:F9 CYC:110 SL:32
F954 C9 CMP #$01 PC:F955 A:01 X:00 Y:6D P:25 SP:F9 CYC:116 SL:32
F956 D0 BNE $F959 PC:F957 A:01 X:00 Y:6D P:27 SP:F9 CYC:122 SL:32
F958 60 RTS PC:F959 A:01 X:00 Y:6D P:27 SP:F9 CYC:128 SL:32
D149 C8 INY PC:D14A A:01 X:00 Y:6D P:27 SP:FB CYC:146 SL:32
D14A A9 LDA #$41 PC:D14B A:01 X:00 Y:6E P:25 SP:FB CYC:152 SL:32
D14C 8D STA $0200 PC:D14D A:41 X:00 Y:6E P:25 SP:FB CYC:158 SL:32
D14F 20 JSR $F95C PC:D150 A:41 X:00 Y:6E P:25 SP:FB CYC:170 SL:32
F95C A9 LDA #$40 PC:F95D A:41 X:00 Y:6E P:25 SP:F9 CYC:188 SL:32
F95E 38 SEC PC:F95F A:40 X:00 Y:6E P:25 SP:F9 CYC:194 SL:32
F95F 24 BIT $01 PC:F960 A:40 X:00 Y:6E P:25 SP:F9 CYC:200 SL:32
F961 60 RTS PC:F962 A:40 X:00 Y:6E P:E5 SP:F9 CYC:209 SL:32
D152 E1 SBC $(2080,x) PC:D153 A:40 X:00 Y:6E P:E5 SP:FB CYC:227 SL:32
D154 20 JSR $F962 PC:D155 A:FF X:00 Y:6E P:A4 SP:FB CYC:245 SL:32
F962 B0 BCS $F96F PC:F963 A:FF X:00 Y:6E P:A4 SP:F9 CYC:263 SL:32
F964 F0 BEQ $F96F PC:F965 A:FF X:00 Y:6E P:A4 SP:F9 CYC:269 SL:32
F966 10 BPL $F96F PC:F967 A:FF X:00 Y:6E P:A4 SP:F9 CYC:275 SL:32
F968 70 BVS $F96F PC:F969 A:FF X:00 Y:6E P:A4 SP:F9 CYC:281 SL:32
F96A C9 CMP #$FF PC:F96B A:FF X:00 Y:6E P:A4 SP:F9 CYC:287 SL:32
F96C D0 BNE $F96F PC:F96D A:FF X:00 Y:6E P:27 SP:F9 CYC:293 SL:32
F96E 60 RTS PC:F96F A:FF X:00 Y:6E P:27 SP:F9 CYC:299 SL:32
D157 C8 INY PC:D158 A:FF X:00 Y:6E P:27 SP:FB CYC:317 SL:32
D158 A9 LDA #$00 PC:D159 A:FF X:00 Y:6F P:25 SP:FB CYC:323 SL:32
D15A 8D STA $0200 PC:D15B A:00 X:00 Y:6F P:27 SP:FB CYC:329 SL:32
D15D 20 JSR $F972 PC:D15E A:00 X:00 Y:6F P:27 SP:FB CYC:0 SL:33
F972 18 CLC PC:F973 A:00 X:00 Y:6F P:27 SP:F9 CYC:18 SL:33
F973 A9 LDA #$80 PC:F974 A:00 X:00 Y:6F P:26 SP:F9 CYC:24 SL:33
F975 60 RTS PC:F976 A:80 X:00 Y:6F P:A4 SP:F9 CYC:30 SL:33
D160 E1 SBC $(2080,x) PC:D161 A:80 X:00 Y:6F P:A4 SP:FB CYC:48 SL:33
D162 20 JSR $F976 PC:D163 A:7F X:00 Y:6F P:65 SP:FB CYC:66 SL:33
F976 90 BCC $F97D PC:F977 A:7F X:00 Y:6F P:65 SP:F9 CYC:84 SL:33
F978 C9 CMP #$7F PC:F979 A:7F X:00 Y:6F P:65 SP:F9 CYC:90 SL:33
F97A D0 BNE $F97D PC:F97B A:7F X:00 Y:6F P:67 SP:F9 CYC:96 SL:33
F97C 60 RTS PC:F97D A:7F X:00 Y:6F P:67 SP:F9 CYC:102 SL:33
D165 C8 INY PC:D166 A:7F X:00 Y:6F P:67 SP:FB CYC:120 SL:33
D166 A9 LDA #$7F PC:D167 A:7F X:00 Y:70 P:65 SP:FB CYC:126 SL:33
D168 8D STA $0200 PC:D169 A:7F X:00 Y:70 P:65 SP:FB CYC:132 SL:33
D16B 20 JSR $F980 PC:D16C A:7F X:00 Y:70 P:65 SP:FB CYC:144 SL:33
F980 38 SEC PC:F981 A:7F X:00 Y:70 P:65 SP:F9 CYC:162 SL:33
F981 A9 LDA #$81 PC:F982 A:7F X:00 Y:70 P:65 SP:F9 CYC:168 SL:33
F983 60 RTS PC:F984 A:81 X:00 Y:70 P:E5 SP:F9 CYC:174 SL:33
D16E E1 SBC $(2080,x) PC:D16F A:81 X:00 Y:70 P:E5 SP:FB CYC:192 SL:33
D170 20 JSR $F984 PC:D171 A:02 X:00 Y:70 P:65 SP:FB CYC:210 SL:33
F984 50 BVC $F98D PC:F985 A:02 X:00 Y:70 P:65 SP:F9 CYC:228 SL:33
F986 90 BCC $F98D PC:F987 A:02 X:00 Y:70 P:65 SP:F9 CYC:234 SL:33
F988 C9 CMP #$02 PC:F989 A:02 X:00 Y:70 P:65 SP:F9 CYC:240 SL:33
F98A D0 BNE $F98D PC:F98B A:02 X:00 Y:70 P:67 SP:F9 CYC:246 SL:33
F98C 60 RTS PC:F98D A:02 X:00 Y:70 P:67 SP:F9 CYC:252 SL:33
D173 60 RTS PC:D174 A:02 X:00 Y:70 P:67 SP:FB CYC:270 SL:33
C612 20 JSR $D174 PC:C613 A:02 X:00 Y:70 P:67 SP:FD CYC:288 SL:33
D174 A9 LDA #$55 PC:D175 A:02 X:00 Y:70 P:67 SP:FB CYC:306 SL:33
D176 85 STA $78 PC:D177 A:55 X:00 Y:70 P:65 SP:FB CYC:312 SL:33
D178 A9 LDA #$FF PC:D179 A:55 X:00 Y:70 P:65 SP:FB CYC:321 SL:33
D17A 85 STA $01 PC:D17B A:FF X:00 Y:70 P:E5 SP:FB CYC:327 SL:33
D17C 24 BIT $01 PC:D17D A:FF X:00 Y:70 P:E5 SP:FB CYC:336 SL:33
D17E A0 LDY #$11 PC:D17F A:FF X:00 Y:70 P:E5 SP:FB CYC:4 SL:34
D180 A2 LDX #$23 PC:D181 A:FF X:00 Y:11 P:65 SP:FB CYC:10 SL:34
D182 A9 LDA #$00 PC:D183 A:FF X:23 Y:11 P:65 SP:FB CYC:16 SL:34
D184 A5 LDA $78 PC:D185 A:00 X:23 Y:11 P:67 SP:FB CYC:22 SL:34
D186 F0 BEQ $D198 PC:D187 A:55 X:23 Y:11 P:65 SP:FB CYC:31 SL:34
D188 30 BMI $D198 PC:D189 A:55 X:23 Y:11 P:65 SP:FB CYC:37 SL:34
D18A C9 CMP #$55 PC:D18B A:55 X:23 Y:11 P:65 SP:FB CYC:43 SL:34
D18C D0 BNE $D198 PC:D18D A:55 X:23 Y:11 P:67 SP:FB CYC:49 SL:34
D18E C0 CPY #$11 PC:D18F A:55 X:23 Y:11 P:67 SP:FB CYC:55 SL:34
D190 D0 BNE $D198 PC:D191 A:55 X:23 Y:11 P:67 SP:FB CYC:61 SL:34
D192 E0 CPX #$23 PC:D193 A:55 X:23 Y:11 P:67 SP:FB CYC:67 SL:34
D194 50 BVC $D198 PC:D195 A:55 X:23 Y:11 P:67 SP:FB CYC:73 SL:34
D196 F0 BEQ $D19C PC:D197 A:55 X:23 Y:11 P:67 SP:FB CYC:79 SL:34
D19C A9 LDA #$46 PC:D19D A:55 X:23 Y:11 P:67 SP:FB CYC:88 SL:34
D19E 24 BIT $01 PC:D19F A:46 X:23 Y:11 P:65 SP:FB CYC:94 SL:34
D1A0 85 STA $78 PC:D1A1 A:46 X:23 Y:11 P:E5 SP:FB CYC:103 SL:34
D1A2 F0 BEQ $D1AE PC:D1A3 A:46 X:23 Y:11 P:E5 SP:FB CYC:112 SL:34
D1A4 10 BPL $D1AE PC:D1A5 A:46 X:23 Y:11 P:E5 SP:FB CYC:118 SL:34
D1A6 50 BVC $D1AE PC:D1A7 A:46 X:23 Y:11 P:E5 SP:FB CYC:124 SL:34
D1A8 A5 LDA $78 PC:D1A9 A:46 X:23 Y:11 P:E5 SP:FB CYC:130 SL:34
D1AA C9 CMP #$46 PC:D1AB A:46 X:23 Y:11 P:65 SP:FB CYC:139 SL:34
D1AC F0 BEQ $D1B2 PC:D1AD A:46 X:23 Y:11 P:67 SP:FB CYC:145 SL:34
D1B2 A9 LDA #$55 PC:D1B3 A:46 X:23 Y:11 P:67 SP:FB CYC:154 SL:34
D1B4 85 STA $78 PC:D1B5 A:55 X:23 Y:11 P:65 SP:FB CYC:160 SL:34
D1B6 24 BIT $01 PC:D1B7 A:55 X:23 Y:11 P:65 SP:FB CYC:169 SL:34
D1B8 A9 LDA #$11 PC:D1B9 A:55 X:23 Y:11 P:E5 SP:FB CYC:178 SL:34
D1BA A2 LDX #$23 PC:D1BB A:11 X:23 Y:11 P:65 SP:FB CYC:184 SL:34
D1BC A0 LDY #$00 PC:D1BD A:11 X:23 Y:11 P:65 SP:FB CYC:190 SL:34
D1BE A4 LDY $78 PC:D1BF A:11 X:23 Y:00 P:67 SP:FB CYC:196 SL:34
D1C0 F0 BEQ $D1D2 PC:D1C1 A:11 X:23 Y:55 P:65 SP:FB CYC:205 SL:34
D1C2 30 BMI $D1D2 PC:D1C3 A:11 X:23 Y:55 P:65 SP:FB CYC:211 SL:34
D1C4 C0 CPY #$55 PC:D1C5 A:11 X:23 Y:55 P:65 SP:FB CYC:217 SL:34
D1C6 D0 BNE $D1D2 PC:D1C7 A:11 X:23 Y:55 P:67 SP:FB CYC:223 SL:34
D1C8 C9 CMP #$11 PC:D1C9 A:11 X:23 Y:55 P:67 SP:FB CYC:229 SL:34
D1CA D0 BNE $D1D2 PC:D1CB A:11 X:23 Y:55 P:67 SP:FB CYC:235 SL:34
D1CC E0 CPX #$23 PC:D1CD A:11 X:23 Y:55 P:67 SP:FB CYC:241 SL:34
D1CE 50 BVC $D1D2 PC:D1CF A:11 X:23 Y:55 P:67 SP:FB CYC:247 SL:34
D1D0 F0 BEQ $D1D6 PC:D1D1 A:11 X:23 Y:55 P:67 SP:FB CYC:253 SL:34
D1D6 A0 LDY #$46 PC:D1D7 A:11 X:23 Y:55 P:67 SP:FB CYC:262 SL:34
D1D8 24 BIT $01 PC:D1D9 A:11 X:23 Y:46 P:65 SP:FB CYC:268 SL:34
D1DA 84 STY $78 PC:D1DB A:11 X:23 Y:46 P:E5 SP:FB CYC:277 SL:34
D1DC F0 BEQ $D1E8 PC:D1DD A:11 X:23 Y:46 P:E5 SP:FB CYC:286 SL:34
D1DE 10 BPL $D1E8 PC:D1DF A:11 X:23 Y:46 P:E5 SP:FB CYC:292 SL:34
D1E0 50 BVC $D1E8 PC:D1E1 A:11 X:23 Y:46 P:E5 SP:FB CYC:298 SL:34
D1E2 A4 LDY $78 PC:D1E3 A:11 X:23 Y:46 P:E5 SP:FB CYC:304 SL:34
D1E4 C0 CPY #$46 PC:D1E5 A:11 X:23 Y:46 P:65 SP:FB CYC:313 SL:34
D1E6 F0 BEQ $D1EC PC:D1E7 A:11 X:23 Y:46 P:67 SP:FB CYC:319 SL:34
D1EC 24 BIT $01 PC:D1ED A:11 X:23 Y:46 P:67 SP:FB CYC:328 SL:34
D1EE A9 LDA #$55 PC:D1EF A:11 X:23 Y:46 P:E5 SP:FB CYC:337 SL:34
D1F0 85 STA $78 PC:D1F1 A:55 X:23 Y:46 P:65 SP:FB CYC:2 SL:35
D1F2 A0 LDY #$11 PC:D1F3 A:55 X:23 Y:46 P:65 SP:FB CYC:11 SL:35
D1F4 A9 LDA #$23 PC:D1F5 A:55 X:23 Y:11 P:65 SP:FB CYC:17 SL:35
D1F6 A2 LDX #$00 PC:D1F7 A:23 X:23 Y:11 P:65 SP:FB CYC:23 SL:35
D1F8 A6 LDX $78 PC:D1F9 A:23 X:00 Y:11 P:67 SP:FB CYC:29 SL:35
D1FA F0 BEQ $D20C PC:D1FB A:23 X:55 Y:11 P:65 SP:FB CYC:38 SL:35
D1FC 30 BMI $D20C PC:D1FD A:23 X:55 Y:11 P:65 SP:FB CYC:44 SL:35
D1FE E0 CPX #$55 PC:D1FF A:23 X:55 Y:11 P:65 SP:FB CYC:50 SL:35
D200 D0 BNE $D20C PC:D201 A:23 X:55 Y:11 P:67 SP:FB CYC:56 SL:35
D202 C0 CPY #$11 PC:D203 A:23 X:55 Y:11 P:67 SP:FB CYC:62 SL:35
D204 D0 BNE $D20C PC:D205 A:23 X:55 Y:11 P:67 SP:FB CYC:68 SL:35
D206 C9 CMP #$23 PC:D207 A:23 X:55 Y:11 P:67 SP:FB CYC:74 SL:35
D208 50 BVC $D20C PC:D209 A:23 X:55 Y:11 P:67 SP:FB CYC:80 SL:35
D20A F0 BEQ $D210 PC:D20B A:23 X:55 Y:11 P:67 SP:FB CYC:86 SL:35
D210 A2 LDX #$46 PC:D211 A:23 X:55 Y:11 P:67 SP:FB CYC:95 SL:35
D212 24 BIT $01 PC:D213 A:23 X:46 Y:11 P:65 SP:FB CYC:101 SL:35
D214 86 STX $78 PC:D215 A:23 X:46 Y:11 P:E5 SP:FB CYC:110 SL:35
D216 F0 BEQ $D222 PC:D217 A:23 X:46 Y:11 P:E5 SP:FB CYC:119 SL:35
D218 10 BPL $D222 PC:D219 A:23 X:46 Y:11 P:E5 SP:FB CYC:125 SL:35
D21A 50 BVC $D222 PC:D21B A:23 X:46 Y:11 P:E5 SP:FB CYC:131 SL:35
D21C A6 LDX $78 PC:D21D A:23 X:46 Y:11 P:E5 SP:FB CYC:137 SL:35
D21E E0 CPX #$46 PC:D21F A:23 X:46 Y:11 P:65 SP:FB CYC:146 SL:35
D220 F0 BEQ $D226 PC:D221 A:23 X:46 Y:11 P:67 SP:FB CYC:152 SL:35
D226 A9 LDA #$C0 PC:D227 A:23 X:46 Y:11 P:67 SP:FB CYC:161 SL:35
D228 85 STA $78 PC:D229 A:C0 X:46 Y:11 P:E5 SP:FB CYC:167 SL:35
D22A A2 LDX #$33 PC:D22B A:C0 X:46 Y:11 P:E5 SP:FB CYC:176 SL:35
D22C A0 LDY #$88 PC:D22D A:C0 X:33 Y:11 P:65 SP:FB CYC:182 SL:35
D22E A9 LDA #$05 PC:D22F A:C0 X:33 Y:88 P:E5 SP:FB CYC:188 SL:35
D230 24 BIT $78 PC:D231 A:05 X:33 Y:88 P:65 SP:FB CYC:194 SL:35
D232 10 BPL $D244 PC:D233 A:05 X:33 Y:88 P:E7 SP:FB CYC:203 SL:35
D234 50 BVC $D244 PC:D235 A:05 X:33 Y:88 P:E7 SP:FB CYC:209 SL:35
D236 D0 BNE $D244 PC:D237 A:05 X:33 Y:88 P:E7 SP:FB CYC:215 SL:35
D238 C9 CMP #$05 PC:D239 A:05 X:33 Y:88 P:E7 SP:FB CYC:221 SL:35
D23A D0 BNE $D244 PC:D23B A:05 X:33 Y:88 P:67 SP:FB CYC:227 SL:35
D23C E0 CPX #$33 PC:D23D A:05 X:33 Y:88 P:67 SP:FB CYC:233 SL:35
D23E D0 BNE $D244 PC:D23F A:05 X:33 Y:88 P:67 SP:FB CYC:239 SL:35
D240 C0 CPY #$88 PC:D241 A:05 X:33 Y:88 P:67 SP:FB CYC:245 SL:35
D242 F0 BEQ $D248 PC:D243 A:05 X:33 Y:88 P:67 SP:FB CYC:251 SL:35
D248 A9 LDA #$03 PC:D249 A:05 X:33 Y:88 P:67 SP:FB CYC:260 SL:35
D24A 85 STA $78 PC:D24B A:03 X:33 Y:88 P:65 SP:FB CYC:266 SL:35
D24C A9 LDA #$01 PC:D24D A:03 X:33 Y:88 P:65 SP:FB CYC:275 SL:35
D24E 24 BIT $78 PC:D24F A:01 X:33 Y:88 P:65 SP:FB CYC:281 SL:35
D250 30 BMI $D25A PC:D251 A:01 X:33 Y:88 P:25 SP:FB CYC:290 SL:35
D252 70 BVS $D25A PC:D253 A:01 X:33 Y:88 P:25 SP:FB CYC:296 SL:35
D254 F0 BEQ $D25A PC:D255 A:01 X:33 Y:88 P:25 SP:FB CYC:302 SL:35
D256 C9 CMP #$01 PC:D257 A:01 X:33 Y:88 P:25 SP:FB CYC:308 SL:35
D258 F0 BEQ $D25E PC:D259 A:01 X:33 Y:88 P:27 SP:FB CYC:314 SL:35
D25E A0 LDY #$7E PC:D25F A:01 X:33 Y:88 P:27 SP:FB CYC:323 SL:35
D260 A9 LDA #$AA PC:D261 A:01 X:33 Y:7E P:25 SP:FB CYC:329 SL:35
D262 85 STA $78 PC:D263 A:AA X:33 Y:7E P:A5 SP:FB CYC:335 SL:35
D264 20 JSR $F7B6 PC:D265 A:AA X:33 Y:7E P:A5 SP:FB CYC:3 SL:36
F7B6 18 CLC PC:F7B7 A:AA X:33 Y:7E P:A5 SP:F9 CYC:21 SL:36
F7B7 A9 LDA #$FF PC:F7B8 A:AA X:33 Y:7E P:A4 SP:F9 CYC:27 SL:36
F7B9 85 STA $01 PC:F7BA A:FF X:33 Y:7E P:A4 SP:F9 CYC:33 SL:36
F7BB 24 BIT $01 PC:F7BC A:FF X:33 Y:7E P:A4 SP:F9 CYC:42 SL:36
F7BD A9 LDA #$55 PC:F7BE A:FF X:33 Y:7E P:E4 SP:F9 CYC:51 SL:36
F7BF 60 RTS PC:F7C0 A:55 X:33 Y:7E P:64 SP:F9 CYC:57 SL:36
D267 05 ORA $78 PC:D268 A:55 X:33 Y:7E P:64 SP:FB CYC:75 SL:36
D269 20 JSR $F7C0 PC:D26A A:FF X:33 Y:7E P:E4 SP:FB CYC:84 SL:36
F7C0 B0 BCS $F7CB PC:F7C1 A:FF X:33 Y:7E P:E4 SP:F9 CYC:102 SL:36
F7C2 10 BPL $F7CB PC:F7C3 A:FF X:33 Y:7E P:E4 SP:F9 CYC:108 SL:36
F7C4 C9 CMP #$FF PC:F7C5 A:FF X:33 Y:7E P:E4 SP:F9 CYC:114 SL:36
F7C6 D0 BNE $F7CB PC:F7C7 A:FF X:33 Y:7E P:67 SP:F9 CYC:120 SL:36
F7C8 50 BVC $F7CB PC:F7C9 A:FF X:33 Y:7E P:67 SP:F9 CYC:126 SL:36
F7CA 60 RTS PC:F7CB A:FF X:33 Y:7E P:67 SP:F9 CYC:132 SL:36
D26C C8 INY PC:D26D A:FF X:33 Y:7E P:67 SP:FB CYC:150 SL:36
D26D A9 LDA #$00 PC:D26E A:FF X:33 Y:7F P:65 SP:FB CYC:156 SL:36
D26F 85 STA $78 PC:D270 A:00 X:33 Y:7F P:67 SP:FB CYC:162 SL:36
D271 20 JSR $F7CE PC:D272 A:00 X:33 Y:7F P:67 SP:FB CYC:171 SL:36
F7CE 38 SEC PC:F7CF A:00 X:33 Y:7F P:67 SP:F9 CYC:189 SL:36
F7CF B8 CLV PC:F7D0 A:00 X:33 Y:7F P:67 SP:F9 CYC:195 SL:36
F7D0 A9 LDA #$00 PC:F7D1 A:00 X:33 Y:7F P:27 SP:F9 CYC:201 SL:36
F7D2 60 RTS PC:F7D3 A:00 X:33 Y:7F P:27 SP:F9 CYC:207 SL:36
D274 05 ORA $78 PC:D275 A:00 X:33 Y:7F P:27 SP:FB CYC:225 SL:36
D276 20 JSR $F7D3 PC:D277 A:00 X:33 Y:7F P:27 SP:FB CYC:234 SL:36
F7D3 D0 BNE $F7DC PC:F7D4 A:00 X:33 Y:7F P:27 SP:F9 CYC:252 SL:36
F7D5 70 BVS $F7DC PC:F7D6 A:00 X:33 Y:7F P:27 SP:F9 CYC:258 SL:36
F7D7 90 BCC $F7DC PC:F7D8 A:00 X:33 Y:7F P:27 SP:F9 CYC:264 SL:36
F7D9 30 BMI $F7DC PC:F7DA A:00 X:33 Y:7F P:27 SP:F9 CYC:270 SL:36
F7DB 60 RTS PC:F7DC A:00 X:33 Y:7F P:27 SP:F9 CYC:276 SL:36
D279 C8 INY PC:D27A A:00 X:33 Y:7F P:27 SP:FB CYC:294 SL:36
D27A A9 LDA #$AA PC:D27B A:00 X:33 Y:80 P:A5 SP:FB CYC:300 SL:36
D27C 85 STA $78 PC:D27D A:AA X:33 Y:80 P:A5 SP:FB CYC:306 SL:36
D27E 20 JSR $F7DF PC:D27F A:AA X:33 Y:80 P:A5 SP:FB CYC:315 SL:36
F7DF 18 CLC PC:F7E0 A:AA X:33 Y:80 P:A5 SP:F9 CYC:333 SL:36
F7E0 24 BIT $01 PC:F7E1 A:AA X:33 Y:80 P:A4 SP:F9 CYC:339 SL:36
F7E2 A9 LDA #$55 PC:F7E3 A:AA X:33 Y:80 P:E4 SP:F9 CYC:7 SL:37
F7E4 60 RTS PC:F7E5 A:55 X:33 Y:80 P:64 SP:F9 CYC:13 SL:37
D281 25 AND $78 PC:D282 A:55 X:33 Y:80 P:64 SP:FB CYC:31 SL:37
D283 20 JSR $F7E5 PC:D284 A:00 X:33 Y:80 P:66 SP:FB CYC:40 SL:37
F7E5 D0 BNE $F7EE PC:F7E6 A:00 X:33 Y:80 P:66 SP:F9 CYC:58 SL:37
F7E7 50 BVC $F7EE PC:F7E8 A:00 X:33 Y:80 P:66 SP:F9 CYC:64 SL:37
F7E9 B0 BCS $F7EE PC:F7EA A:00 X:33 Y:80 P:66 SP:F9 CYC:70 SL:37
F7EB 30 BMI $F7EE PC:F7EC A:00 X:33 Y:80 P:66 SP:F9 CYC:76 SL:37
F7ED 60 RTS PC:F7EE A:00 X:33 Y:80 P:66 SP:F9 CYC:82 SL:37
D286 C8 INY PC:D287 A:00 X:33 Y:80 P:66 SP:FB CYC:100 SL:37
D287 A9 LDA #$EF PC:D288 A:00 X:33 Y:81 P:E4 SP:FB CYC:106 SL:37
D289 85 STA $78 PC:D28A A:EF X:33 Y:81 P:E4 SP:FB CYC:112 SL:37
D28B 20 JSR $F7F1 PC:D28C A:EF X:33 Y:81 P:E4 SP:FB CYC:121 SL:37
F7F1 38 SEC PC:F7F2 A:EF X:33 Y:81 P:E4 SP:F9 CYC:139 SL:37
F7F2 B8 CLV PC:F7F3 A:EF X:33 Y:81 P:E5 SP:F9 CYC:145 SL:37
F7F3 A9 LDA #$F8 PC:F7F4 A:EF X:33 Y:81 P:A5 SP:F9 CYC:151 SL:37
F7F5 60 RTS PC:F7F6 A:F8 X:33 Y:81 P:A5 SP:F9 CYC:157 SL:37
D28E 25 AND $78 PC:D28F A:F8 X:33 Y:81 P:A5 SP:FB CYC:175 SL:37
D290 20 JSR $F7F6 PC:D291 A:E8 X:33 Y:81 P:A5 SP:FB CYC:184 SL:37
F7F6 90 BCC $F801 PC:F7F7 A:E8 X:33 Y:81 P:A5 SP:F9 CYC:202 SL:37
F7F8 10 BPL $F801 PC:F7F9 A:E8 X:33 Y:81 P:A5 SP:F9 CYC:208 SL:37
F7FA C9 CMP #$E8 PC:F7FB A:E8 X:33 Y:81 P:A5 SP:F9 CYC:214 SL:37
F7FC D0 BNE $F801 PC:F7FD A:E8 X:33 Y:81 P:27 SP:F9 CYC:220 SL:37
F7FE 70 BVS $F801 PC:F7FF A:E8 X:33 Y:81 P:27 SP:F9 CYC:226 SL:37
F800 60 RTS PC:F801 A:E8 X:33 Y:81 P:27 SP:F9 CYC:232 SL:37
D293 C8 INY PC:D294 A:E8 X:33 Y:81 P:27 SP:FB CYC:250 SL:37
D294 A9 LDA #$AA PC:D295 A:E8 X:33 Y:82 P:A5 SP:FB CYC:256 SL:37
D296 85 STA $78 PC:D297 A:AA X:33 Y:82 P:A5 SP:FB CYC:262 SL:37
D298 20 JSR $F804 PC:D299 A:AA X:33 Y:82 P:A5 SP:FB CYC:271 SL:37
F804 18 CLC PC:F805 A:AA X:33 Y:82 P:A5 SP:F9 CYC:289 SL:37
F805 24 BIT $01 PC:F806 A:AA X:33 Y:82 P:A4 SP:F9 CYC:295 SL:37
F807 A9 LDA #$5F PC:F808 A:AA X:33 Y:82 P:E4 SP:F9 CYC:304 SL:37
F809 60 RTS PC:F80A A:5F X:33 Y:82 P:64 SP:F9 CYC:310 SL:37
D29B 45 EOR $78 PC:D29C A:5F X:33 Y:82 P:64 SP:FB CYC:328 SL:37
D29D 20 JSR $F80A PC:D29E A:F5 X:33 Y:82 P:E4 SP:FB CYC:337 SL:37
F80A B0 BCS $F815 PC:F80B A:F5 X:33 Y:82 P:E4 SP:F9 CYC:14 SL:38
F80C 10 BPL $F815 PC:F80D A:F5 X:33 Y:82 P:E4 SP:F9 CYC:20 SL:38
F80E C9 CMP #$F5 PC:F80F A:F5 X:33 Y:82 P:E4 SP:F9 CYC:26 SL:38
F810 D0 BNE $F815 PC:F811 A:F5 X:33 Y:82 P:67 SP:F9 CYC:32 SL:38
F812 50 BVC $F815 PC:F813 A:F5 X:33 Y:82 P:67 SP:F9 CYC:38 SL:38
F814 60 RTS PC:F815 A:F5 X:33 Y:82 P:67 SP:F9 CYC:44 SL:38
D2A0 C8 INY PC:D2A1 A:F5 X:33 Y:82 P:67 SP:FB CYC:62 SL:38
D2A1 A9 LDA #$70 PC:D2A2 A:F5 X:33 Y:83 P:E5 SP:FB CYC:68 SL:38
D2A3 85 STA $78 PC:D2A4 A:70 X:33 Y:83 P:65 SP:FB CYC:74 SL:38
D2A5 20 JSR $F818 PC:D2A6 A:70 X:33 Y:83 P:65 SP:FB CYC:83 SL:38
F818 38 SEC PC:F819 A:70 X:33 Y:83 P:65 SP:F9 CYC:101 SL:38
F819 B8 CLV PC:F81A A:70 X:33 Y:83 P:65 SP:F9 CYC:107 SL:38
F81A A9 LDA #$70 PC:F81B A:70 X:33 Y:83 P:25 SP:F9 CYC:113 SL:38
F81C 60 RTS PC:F81D A:70 X:33 Y:83 P:25 SP:F9 CYC:119 SL:38
D2A8 45 EOR $78 PC:D2A9 A:70 X:33 Y:83 P:25 SP:FB CYC:137 SL:38
D2AA 20 JSR $F81D PC:D2AB A:00 X:33 Y:83 P:27 SP:FB CYC:146 SL:38
F81D D0 BNE $F826 PC:F81E A:00 X:33 Y:83 P:27 SP:F9 CYC:164 SL:38
F81F 70 BVS $F826 PC:F820 A:00 X:33 Y:83 P:27 SP:F9 CYC:170 SL:38
F821 90 BCC $F826 PC:F822 A:00 X:33 Y:83 P:27 SP:F9 CYC:176 SL:38
F823 30 BMI $F826 PC:F824 A:00 X:33 Y:83 P:27 SP:F9 CYC:182 SL:38
F825 60 RTS PC:F826 A:00 X:33 Y:83 P:27 SP:F9 CYC:188 SL:38
D2AD C8 INY PC:D2AE A:00 X:33 Y:83 P:27 SP:FB CYC:206 SL:38
D2AE A9 LDA #$69 PC:D2AF A:00 X:33 Y:84 P:A5 SP:FB CYC:212 SL:38
D2B0 85 STA $78 PC:D2B1 A:69 X:33 Y:84 P:25 SP:FB CYC:218 SL:38
D2B2 20 JSR $F829 PC:D2B3 A:69 X:33 Y:84 P:25 SP:FB CYC:227 SL:38
F829 18 CLC PC:F82A A:69 X:33 Y:84 P:25 SP:F9 CYC:245 SL:38
F82A 24 BIT $01 PC:F82B A:69 X:33 Y:84 P:24 SP:F9 CYC:251 SL:38
F82C A9 LDA #$00 PC:F82D A:69 X:33 Y:84 P:E4 SP:F9 CYC:260 SL:38
F82E 60 RTS PC:F82F A:00 X:33 Y:84 P:66 SP:F9 CYC:266 SL:38
D2B5 65 ADC $78 PC:D2B6 A:00 X:33 Y:84 P:66 SP:FB CYC:284 SL:38
D2B7 20 JSR $F82F PC:D2B8 A:69 X:33 Y:84 P:24 SP:FB CYC:293 SL:38
F82F 30 BMI $F83A PC:F830 A:69 X:33 Y:84 P:24 SP:F9 CYC:311 SL:38
F831 B0 BCS $F83A PC:F832 A:69 X:33 Y:84 P:24 SP:F9 CYC:317 SL:38
F833 C9 CMP #$69 PC:F834 A:69 X:33 Y:84 P:24 SP:F9 CYC:323 SL:38
F835 D0 BNE $F83A PC:F836 A:69 X:33 Y:84 P:27 SP:F9 CYC:329 SL:38
F837 70 BVS $F83A PC:F838 A:69 X:33 Y:84 P:27 SP:F9 CYC:335 SL:38
F839 60 RTS PC:F83A A:69 X:33 Y:84 P:27 SP:F9 CYC:0 SL:39
D2BA C8 INY PC:D2BB A:69 X:33 Y:84 P:27 SP:FB CYC:18 SL:39
D2BB 20 JSR $F83D PC:D2BC A:69 X:33 Y:85 P:A5 SP:FB CYC:24 SL:39
F83D 38 SEC PC:F83E A:69 X:33 Y:85 P:A5 SP:F9 CYC:42 SL:39
F83E 24 BIT $01 PC:F83F A:69 X:33 Y:85 P:A5 SP:F9 CYC:48 SL:39
F840 A9 LDA #$00 PC:F841 A:69 X:33 Y:85 P:E5 SP:F9 CYC:57 SL:39
F842 60 RTS PC:F843 A:00 X:33 Y:85 P:67 SP:F9 CYC:63 SL:39
D2BE 65 ADC $78 PC:D2BF A:00 X:33 Y:85 P:67 SP:FB CYC:81 SL:39
D2C0 20 JSR $F843 PC:D2C1 A:6A X:33 Y:85 P:24 SP:FB CYC:90 SL:39
F843 30 BMI $F84E PC:F844 A:6A X:33 Y:85 P:24 SP:F9 CYC:108 SL:39
F845 B0 BCS $F84E PC:F846 A:6A X:33 Y:85 P:24 SP:F9 CYC:114 SL:39
F847 C9 CMP #$6A PC:F848 A:6A X:33 Y:85 P:24 SP:F9 CYC:120 SL:39
F849 D0 BNE $F84E PC:F84A A:6A X:33 Y:85 P:27 SP:F9 CYC:126 SL:39
F84B 70 BVS $F84E PC:F84C A:6A X:33 Y:85 P:27 SP:F9 CYC:132 SL:39
F84D 60 RTS PC:F84E A:6A X:33 Y:85 P:27 SP:F9 CYC:138 SL:39
D2C3 C8 INY PC:D2C4 A:6A X:33 Y:85 P:27 SP:FB CYC:156 SL:39
D2C4 A9 LDA #$7F PC:D2C5 A:6A X:33 Y:86 P:A5 SP:FB CYC:162 SL:39
D2C6 85 STA $78 PC:D2C7 A:7F X:33 Y:86 P:25 SP:FB CYC:168 SL:39
D2C8 20 JSR $F851 PC:D2C9 A:7F X:33 Y:86 P:25 SP:FB CYC:177 SL:39
F851 38 SEC PC:F852 A:7F X:33 Y:86 P:25 SP:F9 CYC:195 SL:39
F852 B8 CLV PC:F853 A:7F X:33 Y:86 P:25 SP:F9 CYC:201 SL:39
F853 A9 LDA #$7F PC:F854 A:7F X:33 Y:86 P:25 SP:F9 CYC:207 SL:39
F855 60 RTS PC:F856 A:7F X:33 Y:86 P:25 SP:F9 CYC:213 SL:39
D2CB 65 ADC $78 PC:D2CC A:7F X:33 Y:86 P:25 SP:FB CYC:231 SL:39
D2CD 20 JSR $F856 PC:D2CE A:FF X:33 Y:86 P:E4 SP:FB CYC:240 SL:39
F856 10 BPL $F861 PC:F857 A:FF X:33 Y:86 P:E4 SP:F9 CYC:258 SL:39
F858 B0 BCS $F861 PC:F859 A:FF X:33 Y:86 P:E4 SP:F9 CYC:264 SL:39
F85A C9 CMP #$FF PC:F85B A:FF X:33 Y:86 P:E4 SP:F9 CYC:270 SL:39
F85C D0 BNE $F861 PC:F85D A:FF X:33 Y:86 P:67 SP:F9 CYC:276 SL:39
F85E 50 BVC $F861 PC:F85F A:FF X:33 Y:86 P:67 SP:F9 CYC:282 SL:39
F860 60 RTS PC:F861 A:FF X:33 Y:86 P:67 SP:F9 CYC:288 SL:39
D2D0 C8 INY PC:D2D1 A:FF X:33 Y:86 P:67 SP:FB CYC:306 SL:39
D2D1 A9 LDA #$80 PC:D2D2 A:FF X:33 Y:87 P:E5 SP:FB CYC:312 SL:39
D2D3 85 STA $78 PC:D2D4 A:80 X:33 Y:87 P:E5 SP:FB CYC:318 SL:39
D2D5 20 JSR $F864 PC:D2D6 A:80 X:33 Y:87 P:E5 SP:FB CYC:327 SL:39
F864 18 CLC PC:F865 A:80 X:33 Y:87 P:E5 SP:F9 CYC:4 SL:40
F865 24 BIT $01 PC:F866 A:80 X:33 Y:87 P:E4 SP:F9 CYC:10 SL:40
F867 A9 LDA #$7F PC:F868 A:80 X:33 Y:87 P:E4 SP:F9 CYC:19 SL:40
F869 60 RTS PC:F86A A:7F X:33 Y:87 P:64 SP:F9 CYC:25 SL:40
D2D8 65 ADC $78 PC:D2D9 A:7F X:33 Y:87 P:64 SP:FB CYC:43 SL:40
D2DA 20 JSR $F86A PC:D2DB A:FF X:33 Y:87 P:A4 SP:FB CYC:52 SL:40
F86A 10 BPL $F875 PC:F86B A:FF X:33 Y:87 P:A4 SP:F9 CYC:70 SL:40
F86C B0 BCS $F875 PC:F86D A:FF X:33 Y:87 P:A4 SP:F9 CYC:76 SL:40
F86E C9 CMP #$FF PC:F86F A:FF X:33 Y:87 P:A4 SP:F9 CYC:82 SL:40
F870 D0 BNE $F875 PC:F871 A:FF X:33 Y:87 P:27 SP:F9 CYC:88 SL:40
F872 70 BVS $F875 PC:F873 A:FF X:33 Y:87 P:27 SP:F9 CYC:94 SL:40
F874 60 RTS PC:F875 A:FF X:33 Y:87 P:27 SP:F9 CYC:100 SL:40
D2DD C8 INY PC:D2DE A:FF X:33 Y:87 P:27 SP:FB CYC:118 SL:40
D2DE 20 JSR $F878 PC:D2DF A:FF X:33 Y:88 P:A5 SP:FB CYC:124 SL:40
F878 38 SEC PC:F879 A:FF X:33 Y:88 P:A5 SP:F9 CYC:142 SL:40
F879 B8 CLV PC:F87A A:FF X:33 Y:88 P:A5 SP:F9 CYC:148 SL:40
F87A A9 LDA #$7F PC:F87B A:FF X:33 Y:88 P:A5 SP:F9 CYC:154 SL:40
F87C 60 RTS PC:F87D A:7F X:33 Y:88 P:25 SP:F9 CYC:160 SL:40
D2E1 65 ADC $78 PC:D2E2 A:7F X:33 Y:88 P:25 SP:FB CYC:178 SL:40
D2E3 20 JSR $F87D PC:D2E4 A:00 X:33 Y:88 P:27 SP:FB CYC:187 SL:40
F87D D0 BNE $F886 PC:F87E A:00 X:33 Y:88 P:27 SP:F9 CYC:205 SL:40
F87F 30 BMI $F886 PC:F880 A:00 X:33 Y:88 P:27 SP:F9 CYC:211 SL:40
F881 70 BVS $F886 PC:F882 A:00 X:33 Y:88 P:27 SP:F9 CYC:217 SL:40
F883 90 BCC $F886 PC:F884 A:00 X:33 Y:88 P:27 SP:F9 CYC:223 SL:40
F885 60 RTS PC:F886 A:00 X:33 Y:88 P:27 SP:F9 CYC:229 SL:40
D2E6 C8 INY PC:D2E7 A:00 X:33 Y:88 P:27 SP:FB CYC:247 SL:40
D2E7 A9 LDA #$40 PC:D2E8 A:00 X:33 Y:89 P:A5 SP:FB CYC:253 SL:40
D2E9 85 STA $78 PC:D2EA A:40 X:33 Y:89 P:25 SP:FB CYC:259 SL:40
D2EB 20 JSR $F889 PC:D2EC A:40 X:33 Y:89 P:25 SP:FB CYC:268 SL:40
F889 24 BIT $01 PC:F88A A:40 X:33 Y:89 P:25 SP:F9 CYC:286 SL:40
F88B A9 LDA #$40 PC:F88C A:40 X:33 Y:89 P:E5 SP:F9 CYC:295 SL:40
F88D 60 RTS PC:F88E A:40 X:33 Y:89 P:65 SP:F9 CYC:301 SL:40
D2EE C5 CMP $78 PC:D2EF A:40 X:33 Y:89 P:65 SP:FB CYC:319 SL:40
D2F0 20 JSR $F88E PC:D2F1 A:40 X:33 Y:89 P:67 SP:FB CYC:328 SL:40
F88E 30 BMI $F897 PC:F88F A:40 X:33 Y:89 P:67 SP:F9 CYC:5 SL:41
F890 90 BCC $F897 PC:F891 A:40 X:33 Y:89 P:67 SP:F9 CYC:11 SL:41
F892 D0 BNE $F897 PC:F893 A:40 X:33 Y:89 P:67 SP:F9 CYC:17 SL:41
F894 50 BVC $F897 PC:F895 A:40 X:33 Y:89 P:67 SP:F9 CYC:23 SL:41
F896 60 RTS PC:F897 A:40 X:33 Y:89 P:67 SP:F9 CYC:29 SL:41
D2F3 C8 INY PC:D2F4 A:40 X:33 Y:89 P:67 SP:FB CYC:47 SL:41
D2F4 48 PHA PC:D2F5 A:40 X:33 Y:8A P:E5 SP:FB CYC:53 SL:41
D2F5 A9 LDA #$3F PC:D2F6 A:40 X:33 Y:8A P:E5 SP:FA CYC:62 SL:41
D2F7 85 STA $78 PC:D2F8 A:3F X:33 Y:8A P:65 SP:FA CYC:68 SL:41
D2F9 68 PLA PC:D2FA A:3F X:33 Y:8A P:65 SP:FA CYC:77 SL:41
D2FA 20 JSR $F89A PC:D2FB A:40 X:33 Y:8A P:65 SP:FB CYC:89 SL:41
F89A B8 CLV PC:F89B A:40 X:33 Y:8A P:65 SP:F9 CYC:107 SL:41
F89B 60 RTS PC:F89C A:40 X:33 Y:8A P:25 SP:F9 CYC:113 SL:41
D2FD C5 CMP $78 PC:D2FE A:40 X:33 Y:8A P:25 SP:FB CYC:131 SL:41
D2FF 20 JSR $F89C PC:D300 A:40 X:33 Y:8A P:25 SP:FB CYC:140 SL:41
F89C F0 BEQ $F8A5 PC:F89D A:40 X:33 Y:8A P:25 SP:F9 CYC:158 SL:41
F89E 30 BMI $F8A5 PC:F89F A:40 X:33 Y:8A P:25 SP:F9 CYC:164 SL:41
F8A0 90 BCC $F8A5 PC:F8A1 A:40 X:33 Y:8A P:25 SP:F9 CYC:170 SL:41
F8A2 70 BVS $F8A5 PC:F8A3 A:40 X:33 Y:8A P:25 SP:F9 CYC:176 SL:41
F8A4 60 RTS PC:F8A5 A:40 X:33 Y:8A P:25 SP:F9 CYC:182 SL:41
D302 C8 INY PC:D303 A:40 X:33 Y:8A P:25 SP:FB CYC:200 SL:41
D303 48 PHA PC:D304 A:40 X:33 Y:8B P:A5 SP:FB CYC:206 SL:41
D304 A9 LDA #$41 PC:D305 A:40 X:33 Y:8B P:A5 SP:FA CYC:215 SL:41
D306 85 STA $78 PC:D307 A:41 X:33 Y:8B P:25 SP:FA CYC:221 SL:41
D308 68 PLA PC:D309 A:41 X:33 Y:8B P:25 SP:FA CYC:230 SL:41
D309 C5 CMP $78 PC:D30A A:40 X:33 Y:8B P:25 SP:FB CYC:242 SL:41
D30B 20 JSR $F8A8 PC:D30C A:40 X:33 Y:8B P:A4 SP:FB CYC:251 SL:41
F8A8 F0 BEQ $F8AF PC:F8A9 A:40 X:33 Y:8B P:A4 SP:F9 CYC:269 SL:41
F8AA 10 BPL $F8AF PC:F8AB A:40 X:33 Y:8B P:A4 SP:F9 CYC:275 SL:41
F8AC 10 BPL $F8AF PC:F8AD A:40 X:33 Y:8B P:A4 SP:F9 CYC:281 SL:41
F8AE 60 RTS PC:F8AF A:40 X:33 Y:8B P:A4 SP:F9 CYC:287 SL:41
D30E C8 INY PC:D30F A:40 X:33 Y:8B P:A4 SP:FB CYC:305 SL:41
D30F 48 PHA PC:D310 A:40 X:33 Y:8C P:A4 SP:FB CYC:311 SL:41
D310 A9 LDA #$00 PC:D311 A:40 X:33 Y:8C P:A4 SP:FA CYC:320 SL:41
D312 85 STA $78 PC:D313 A:00 X:33 Y:8C P:26 SP:FA CYC:326 SL:41
D314 68 PLA PC:D315 A:00 X:33 Y:8C P:26 SP:FA CYC:335 SL:41
D315 20 JSR $F8B2 PC:D316 A:40 X:33 Y:8C P:24 SP:FB CYC:6 SL:42
F8B2 A9 LDA #$80 PC:F8B3 A:40 X:33 Y:8C P:24 SP:F9 CYC:24 SL:42
F8B4 60 RTS PC:F8B5 A:80 X:33 Y:8C P:A4 SP:F9 CYC:30 SL:42
D318 C5 CMP $78 PC:D319 A:80 X:33 Y:8C P:A4 SP:FB CYC:48 SL:42
D31A 20 JSR $F8B5 PC:D31B A:80 X:33 Y:8C P:A5 SP:FB CYC:57 SL:42
F8B5 F0 BEQ $F8BC PC:F8B6 A:80 X:33 Y:8C P:A5 SP:F9 CYC:75 SL:42
F8B7 10 BPL $F8BC PC:F8B8 A:80 X:33 Y:8C P:A5 SP:F9 CYC:81 SL:42
F8B9 90 BCC $F8BC PC:F8BA A:80 X:33 Y:8C P:A5 SP:F9 CYC:87 SL:42
F8BB 60 RTS PC:F8BC A:80 X:33 Y:8C P:A5 SP:F9 CYC:93 SL:42
D31D C8 INY PC:D31E A:80 X:33 Y:8C P:A5 SP:FB CYC:111 SL:42
D31E 48 PHA PC:D31F A:80 X:33 Y:8D P:A5 SP:FB CYC:117 SL:42
D31F A9 LDA #$80 PC:D320 A:80 X:33 Y:8D P:A5 SP:FA CYC:126 SL:42
D321 85 STA $78 PC:D322 A:80 X:33 Y:8D P:A5 SP:FA CYC:132 SL:42
D323 68 PLA PC:D324 A:80 X:33 Y:8D P:A5 SP:FA CYC:141 SL:42
D324 C5 CMP $78 PC:D325 A:80 X:33 Y:8D P:A5 SP:FB CYC:153 SL:42
D326 20 JSR $F8BF PC:D327 A:80 X:33 Y:8D P:27 SP:FB CYC:162 SL:42
F8BF D0 BNE $F8C6 PC:F8C0 A:80 X:33 Y:8D P:27 SP:F9 CYC:180 SL:42
F8C1 30 BMI $F8C6 PC:F8C2 A:80 X:33 Y:8D P:27 SP:F9 CYC:186 SL:42
F8C3 90 BCC $F8C6 PC:F8C4 A:80 X:33 Y:8D P:27 SP:F9 CYC:192 SL:42
F8C5 60 RTS PC:F8C6 A:80 X:33 Y:8D P:27 SP:F9 CYC:198 SL:42
D329 C8 INY PC:D32A A:80 X:33 Y:8D P:27 SP:FB CYC:216 SL:42
D32A 48 PHA PC:D32B A:80 X:33 Y:8E P:A5 SP:FB CYC:222 SL:42
D32B A9 LDA #$81 PC:D32C A:80 X:33 Y:8E P:A5 SP:FA CYC:231 SL:42
D32D 85 STA $78 PC:D32E A:81 X:33 Y:8E P:A5 SP:FA CYC:237 SL:42
D32F 68 PLA PC:D330 A:81 X:33 Y:8E P:A5 SP:FA CYC:246 SL:42
D330 C5 CMP $78 PC:D331 A:80 X:33 Y:8E P:A5 SP:FB CYC:258 SL:42
D332 20 JSR $F8C9 PC:D333 A:80 X:33 Y:8E P:A4 SP:FB CYC:267 SL:42
F8C9 B0 BCS $F8D0 PC:F8CA A:80 X:33 Y:8E P:A4 SP:F9 CYC:285 SL:42
F8CB F0 BEQ $F8D0 PC:F8CC A:80 X:33 Y:8E P:A4 SP:F9 CYC:291 SL:42
F8CD 10 BPL $F8D0 PC:F8CE A:80 X:33 Y:8E P:A4 SP:F9 CYC:297 SL:42
F8CF 60 RTS PC:F8D0 A:80 X:33 Y:8E P:A4 SP:F9 CYC:303 SL:42
D335 C8 INY PC:D336 A:80 X:33 Y:8E P:A4 SP:FB CYC:321 SL:42
D336 48 PHA PC:D337 A:80 X:33 Y:8F P:A4 SP:FB CYC:327 SL:42
D337 A9 LDA #$7F PC:D338 A:80 X:33 Y:8F P:A4 SP:FA CYC:336 SL:42
D339 85 STA $78 PC:D33A A:7F X:33 Y:8F P:24 SP:FA CYC:1 SL:43
D33B 68 PLA PC:D33C A:7F X:33 Y:8F P:24 SP:FA CYC:10 SL:43
D33C C5 CMP $78 PC:D33D A:80 X:33 Y:8F P:A4 SP:FB CYC:22 SL:43
D33E 20 JSR $F8D3 PC:D33F A:80 X:33 Y:8F P:25 SP:FB CYC:31 SL:43
F8D3 90 BCC $F8DA PC:F8D4 A:80 X:33 Y:8F P:25 SP:F9 CYC:49 SL:43
F8D5 F0 BEQ $F8DA PC:F8D6 A:80 X:33 Y:8F P:25 SP:F9 CYC:55 SL:43
F8D7 30 BMI $F8DA PC:F8D8 A:80 X:33 Y:8F P:25 SP:F9 CYC:61 SL:43
F8D9 60 RTS PC:F8DA A:80 X:33 Y:8F P:25 SP:F9 CYC:67 SL:43
D341 C8 INY PC:D342 A:80 X:33 Y:8F P:25 SP:FB CYC:85 SL:43
D342 A9 LDA #$40 PC:D343 A:80 X:33 Y:90 P:A5 SP:FB CYC:91 SL:43
D344 85 STA $78 PC:D345 A:40 X:33 Y:90 P:25 SP:FB CYC:97 SL:43
D346 20 JSR $F931 PC:D347 A:40 X:33 Y:90 P:25 SP:FB CYC:106 SL:43
F931 24 BIT $01 PC:F932 A:40 X:33 Y:90 P:25 SP:F9 CYC:124 SL:43
F933 A9 LDA #$40 PC:F934 A:40 X:33 Y:90 P:E5 SP:F9 CYC:133 SL:43
F935 38 SEC PC:F936 A:40 X:33 Y:90 P:65 SP:F9 CYC:139 SL:43
F936 60 RTS PC:F937 A:40 X:33 Y:90 P:65 SP:F9 CYC:145 SL:43
D349 E5 SBC $78 PC:D34A A:40 X:33 Y:90 P:65 SP:FB CYC:163 SL:43
D34B 20 JSR $F937 PC:D34C A:00 X:33 Y:90 P:27 SP:FB CYC:172 SL:43
F937 30 BMI $F944 PC:F938 A:00 X:33 Y:90 P:27 SP:F9 CYC:190 SL:43
F939 90 BCC $F944 PC:F93A A:00 X:33 Y:90 P:27 SP:F9 CYC:196 SL:43
F93B D0 BNE $F944 PC:F93C A:00 X:33 Y:90 P:27 SP:F9 CYC:202 SL:43
F93D 70 BVS $F944 PC:F93E A:00 X:33 Y:90 P:27 SP:F9 CYC:208 SL:43
F93F C9 CMP #$00 PC:F940 A:00 X:33 Y:90 P:27 SP:F9 CYC:214 SL:43
F941 D0 BNE $F944 PC:F942 A:00 X:33 Y:90 P:27 SP:F9 CYC:220 SL:43
F943 60 RTS PC:F944 A:00 X:33 Y:90 P:27 SP:F9 CYC:226 SL:43
D34E C8 INY PC:D34F A:00 X:33 Y:90 P:27 SP:FB CYC:244 SL:43
D34F A9 LDA #$3F PC:D350 A:00 X:33 Y:91 P:A5 SP:FB CYC:250 SL:43
D351 85 STA $78 PC:D352 A:3F X:33 Y:91 P:25 SP:FB CYC:256 SL:43
D353 20 JSR $F947 PC:D354 A:3F X:33 Y:91 P:25 SP:FB CYC:265 SL:43
F947 B8 CLV PC:F948 A:3F X:33 Y:91 P:25 SP:F9 CYC:283 SL:43
F948 38 SEC PC:F949 A:3F X:33 Y:91 P:25 SP:F9 CYC:289 SL:43
F949 A9 LDA #$40 PC:F94A A:3F X:33 Y:91 P:25 SP:F9 CYC:295 SL:43
F94B 60 RTS PC:F94C A:40 X:33 Y:91 P:25 SP:F9 CYC:301 SL:43
D356 E5 SBC $78 PC:D357 A:40 X:33 Y:91 P:25 SP:FB CYC:319 SL:43
D358 20 JSR $F94C PC:D359 A:01 X:33 Y:91 P:25 SP:FB CYC:328 SL:43
F94C F0 BEQ $F959 PC:F94D A:01 X:33 Y:91 P:25 SP:F9 CYC:5 SL:44
F94E 30 BMI $F959 PC:F94F A:01 X:33 Y:91 P:25 SP:F9 CYC:11 SL:44
F950 90 BCC $F959 PC:F951 A:01 X:33 Y:91 P:25 SP:F9 CYC:17 SL:44
F952 70 BVS $F959 PC:F953 A:01 X:33 Y:91 P:25 SP:F9 CYC:23 SL:44
F954 C9 CMP #$01 PC:F955 A:01 X:33 Y:91 P:25 SP:F9 CYC:29 SL:44
F956 D0 BNE $F959 PC:F957 A:01 X:33 Y:91 P:27 SP:F9 CYC:35 SL:44
F958 60 RTS PC:F959 A:01 X:33 Y:91 P:27 SP:F9 CYC:41 SL:44
D35B C8 INY PC:D35C A:01 X:33 Y:91 P:27 SP:FB CYC:59 SL:44
D35C A9 LDA #$41 PC:D35D A:01 X:33 Y:92 P:A5 SP:FB CYC:65 SL:44
D35E 85 STA $78 PC:D35F A:41 X:33 Y:92 P:25 SP:FB CYC:71 SL:44
D360 20 JSR $F95C PC:D361 A:41 X:33 Y:92 P:25 SP:FB CYC:80 SL:44
F95C A9 LDA #$40 PC:F95D A:41 X:33 Y:92 P:25 SP:F9 CYC:98 SL:44
F95E 38 SEC PC:F95F A:40 X:33 Y:92 P:25 SP:F9 CYC:104 SL:44
F95F 24 BIT $01 PC:F960 A:40 X:33 Y:92 P:25 SP:F9 CYC:110 SL:44
F961 60 RTS PC:F962 A:40 X:33 Y:92 P:E5 SP:F9 CYC:119 SL:44
D363 E5 SBC $78 PC:D364 A:40 X:33 Y:92 P:E5 SP:FB CYC:137 SL:44
D365 20 JSR $F962 PC:D366 A:FF X:33 Y:92 P:A4 SP:FB CYC:146 SL:44
F962 B0 BCS $F96F PC:F963 A:FF X:33 Y:92 P:A4 SP:F9 CYC:164 SL:44
F964 F0 BEQ $F96F PC:F965 A:FF X:33 Y:92 P:A4 SP:F9 CYC:170 SL:44
F966 10 BPL $F96F PC:F967 A:FF X:33 Y:92 P:A4 SP:F9 CYC:176 SL:44
F968 70 BVS $F96F PC:F969 A:FF X:33 Y:92 P:A4 SP:F9 CYC:182 SL:44
F96A C9 CMP #$FF PC:F96B A:FF X:33 Y:92 P:A4 SP:F9 CYC:188 SL:44
F96C D0 BNE $F96F PC:F96D A:FF X:33 Y:92 P:27 SP:F9 CYC:194 SL:44
F96E 60 RTS PC:F96F A:FF X:33 Y:92 P:27 SP:F9 CYC:200 SL:44
D368 C8 INY PC:D369 A:FF X:33 Y:92 P:27 SP:FB CYC:218 SL:44
D369 A9 LDA #$00 PC:D36A A:FF X:33 Y:93 P:A5 SP:FB CYC:224 SL:44
D36B 85 STA $78 PC:D36C A:00 X:33 Y:93 P:27 SP:FB CYC:230 SL:44
D36D 20 JSR $F972 PC:D36E A:00 X:33 Y:93 P:27 SP:FB CYC:239 SL:44
F972 18 CLC PC:F973 A:00 X:33 Y:93 P:27 SP:F9 CYC:257 SL:44
F973 A9 LDA #$80 PC:F974 A:00 X:33 Y:93 P:26 SP:F9 CYC:263 SL:44
F975 60 RTS PC:F976 A:80 X:33 Y:93 P:A4 SP:F9 CYC:269 SL:44
D370 E5 SBC $78 PC:D371 A:80 X:33 Y:93 P:A4 SP:FB CYC:287 SL:44
D372 20 JSR $F976 PC:D373 A:7F X:33 Y:93 P:65 SP:FB CYC:296 SL:44
F976 90 BCC $F97D PC:F977 A:7F X:33 Y:93 P:65 SP:F9 CYC:314 SL:44
F978 C9 CMP #$7F PC:F979 A:7F X:33 Y:93 P:65 SP:F9 CYC:320 SL:44
F97A D0 BNE $F97D PC:F97B A:7F X:33 Y:93 P:67 SP:F9 CYC:326 SL:44
F97C 60 RTS PC:F97D A:7F X:33 Y:93 P:67 SP:F9 CYC:332 SL:44
D375 C8 INY PC:D376 A:7F X:33 Y:93 P:67 SP:FB CYC:9 SL:45
D376 A9 LDA #$7F PC:D377 A:7F X:33 Y:94 P:E5 SP:FB CYC:15 SL:45
D378 85 STA $78 PC:D379 A:7F X:33 Y:94 P:65 SP:FB CYC:21 SL:45
D37A 20 JSR $F980 PC:D37B A:7F X:33 Y:94 P:65 SP:FB CYC:30 SL:45
F980 38 SEC PC:F981 A:7F X:33 Y:94 P:65 SP:F9 CYC:48 SL:45
F981 A9 LDA #$81 PC:F982 A:7F X:33 Y:94 P:65 SP:F9 CYC:54 SL:45
F983 60 RTS PC:F984 A:81 X:33 Y:94 P:E5 SP:F9 CYC:60 SL:45
D37D E5 SBC $78 PC:D37E A:81 X:33 Y:94 P:E5 SP:FB CYC:78 SL:45
D37F 20 JSR $F984 PC:D380 A:02 X:33 Y:94 P:65 SP:FB CYC:87 SL:45
F984 50 BVC $F98D PC:F985 A:02 X:33 Y:94 P:65 SP:F9 CYC:105 SL:45
F986 90 BCC $F98D PC:F987 A:02 X:33 Y:94 P:65 SP:F9 CYC:111 SL:45
F988 C9 CMP #$02 PC:F989 A:02 X:33 Y:94 P:65 SP:F9 CYC:117 SL:45
F98A D0 BNE $F98D PC:F98B A:02 X:33 Y:94 P:67 SP:F9 CYC:123 SL:45
F98C 60 RTS PC:F98D A:02 X:33 Y:94 P:67 SP:F9 CYC:129 SL:45
D382 C8 INY PC:D383 A:02 X:33 Y:94 P:67 SP:FB CYC:147 SL:45
D383 A9 LDA #$40 PC:D384 A:02 X:33 Y:95 P:E5 SP:FB CYC:153 SL:45
D385 85 STA $78 PC:D386 A:40 X:33 Y:95 P:65 SP:FB CYC:159 SL:45
D387 20 JSR $F889 PC:D388 A:40 X:33 Y:95 P:65 SP:FB CYC:168 SL:45
F889 24 BIT $01 PC:F88A A:40 X:33 Y:95 P:65 SP:F9 CYC:186 SL:45
F88B A9 LDA #$40 PC:F88C A:40 X:33 Y:95 P:E5 SP:F9 CYC:195 SL:45
F88D 60 RTS PC:F88E A:40 X:33 Y:95 P:65 SP:F9 CYC:201 SL:45
D38A AA TAX PC:D38B A:40 X:33 Y:95 P:65 SP:FB CYC:219 SL:45
D38B E4 CPX $78 PC:D38C A:40 X:40 Y:95 P:65 SP:FB CYC:225 SL:45
D38D 20 JSR $F88E PC:D38E A:40 X:40 Y:95 P:67 SP:FB CYC:234 SL:45
F88E 30 BMI $F897 PC:F88F A:40 X:40 Y:95 P:67 SP:F9 CYC:252 SL:45
F890 90 BCC $F897 PC:F891 A:40 X:40 Y:95 P:67 SP:F9 CYC:258 SL:45
F892 D0 BNE $F897 PC:F893 A:40 X:40 Y:95 P:67 SP:F9 CYC:264 SL:45
F894 50 BVC $F897 PC:F895 A:40 X:40 Y:95 P:67 SP:F9 CYC:270 SL:45
F896 60 RTS PC:F897 A:40 X:40 Y:95 P:67 SP:F9 CYC:276 SL:45
D390 C8 INY PC:D391 A:40 X:40 Y:95 P:67 SP:FB CYC:294 SL:45
D391 A9 LDA #$3F PC:D392 A:40 X:40 Y:96 P:E5 SP:FB CYC:300 SL:45
D393 85 STA $78 PC:D394 A:3F X:40 Y:96 P:65 SP:FB CYC:306 SL:45
D395 20 JSR $F89A PC:D396 A:3F X:40 Y:96 P:65 SP:FB CYC:315 SL:45
F89A B8 CLV PC:F89B A:3F X:40 Y:96 P:65 SP:F9 CYC:333 SL:45
F89B 60 RTS PC:F89C A:3F X:40 Y:96 P:25 SP:F9 CYC:339 SL:45
D398 E4 CPX $78 PC:D399 A:3F X:40 Y:96 P:25 SP:FB CYC:16 SL:46
D39A 20 JSR $F89C PC:D39B A:3F X:40 Y:96 P:25 SP:FB CYC:25 SL:46
F89C F0 BEQ $F8A5 PC:F89D A:3F X:40 Y:96 P:25 SP:F9 CYC:43 SL:46
F89E 30 BMI $F8A5 PC:F89F A:3F X:40 Y:96 P:25 SP:F9 CYC:49 SL:46
F8A0 90 BCC $F8A5 PC:F8A1 A:3F X:40 Y:96 P:25 SP:F9 CYC:55 SL:46
F8A2 70 BVS $F8A5 PC:F8A3 A:3F X:40 Y:96 P:25 SP:F9 CYC:61 SL:46
F8A4 60 RTS PC:F8A5 A:3F X:40 Y:96 P:25 SP:F9 CYC:67 SL:46
D39D C8 INY PC:D39E A:3F X:40 Y:96 P:25 SP:FB CYC:85 SL:46
D39E A9 LDA #$41 PC:D39F A:3F X:40 Y:97 P:A5 SP:FB CYC:91 SL:46
D3A0 85 STA $78 PC:D3A1 A:41 X:40 Y:97 P:25 SP:FB CYC:97 SL:46
D3A2 E4 CPX $78 PC:D3A3 A:41 X:40 Y:97 P:25 SP:FB CYC:106 SL:46
D3A4 20 JSR $F8A8 PC:D3A5 A:41 X:40 Y:97 P:A4 SP:FB CYC:115 SL:46
F8A8 F0 BEQ $F8AF PC:F8A9 A:41 X:40 Y:97 P:A4 SP:F9 CYC:133 SL:46
F8AA 10 BPL $F8AF PC:F8AB A:41 X:40 Y:97 P:A4 SP:F9 CYC:139 SL:46
F8AC 10 BPL $F8AF PC:F8AD A:41 X:40 Y:97 P:A4 SP:F9 CYC:145 SL:46
F8AE 60 RTS PC:F8AF A:41 X:40 Y:97 P:A4 SP:F9 CYC:151 SL:46
D3A7 C8 INY PC:D3A8 A:41 X:40 Y:97 P:A4 SP:FB CYC:169 SL:46
D3A8 A9 LDA #$00 PC:D3A9 A:41 X:40 Y:98 P:A4 SP:FB CYC:175 SL:46
D3AA 85 STA $78 PC:D3AB A:00 X:40 Y:98 P:26 SP:FB CYC:181 SL:46
D3AC 20 JSR $F8B2 PC:D3AD A:00 X:40 Y:98 P:26 SP:FB CYC:190 SL:46
F8B2 A9 LDA #$80 PC:F8B3 A:00 X:40 Y:98 P:26 SP:F9 CYC:208 SL:46
F8B4 60 RTS PC:F8B5 A:80 X:40 Y:98 P:A4 SP:F9 CYC:214 SL:46
D3AF AA TAX PC:D3B0 A:80 X:40 Y:98 P:A4 SP:FB CYC:232 SL:46
D3B0 E4 CPX $78 PC:D3B1 A:80 X:80 Y:98 P:A4 SP:FB CYC:238 SL:46
D3B2 20 JSR $F8B5 PC:D3B3 A:80 X:80 Y:98 P:A5 SP:FB CYC:247 SL:46
F8B5 F0 BEQ $F8BC PC:F8B6 A:80 X:80 Y:98 P:A5 SP:F9 CYC:265 SL:46
F8B7 10 BPL $F8BC PC:F8B8 A:80 X:80 Y:98 P:A5 SP:F9 CYC:271 SL:46
F8B9 90 BCC $F8BC PC:F8BA A:80 X:80 Y:98 P:A5 SP:F9 CYC:277 SL:46
F8BB 60 RTS PC:F8BC A:80 X:80 Y:98 P:A5 SP:F9 CYC:283 SL:46
D3B5 C8 INY PC:D3B6 A:80 X:80 Y:98 P:A5 SP:FB CYC:301 SL:46
D3B6 A9 LDA #$80 PC:D3B7 A:80 X:80 Y:99 P:A5 SP:FB CYC:307 SL:46
D3B8 85 STA $78 PC:D3B9 A:80 X:80 Y:99 P:A5 SP:FB CYC:313 SL:46
D3BA E4 CPX $78 PC:D3BB A:80 X:80 Y:99 P:A5 SP:FB CYC:322 SL:46
D3BC 20 JSR $F8BF PC:D3BD A:80 X:80 Y:99 P:27 SP:FB CYC:331 SL:46
F8BF D0 BNE $F8C6 PC:F8C0 A:80 X:80 Y:99 P:27 SP:F9 CYC:8 SL:47
F8C1 30 BMI $F8C6 PC:F8C2 A:80 X:80 Y:99 P:27 SP:F9 CYC:14 SL:47
F8C3 90 BCC $F8C6 PC:F8C4 A:80 X:80 Y:99 P:27 SP:F9 CYC:20 SL:47
F8C5 60 RTS PC:F8C6 A:80 X:80 Y:99 P:27 SP:F9 CYC:26 SL:47
D3BF C8 INY PC:D3C0 A:80 X:80 Y:99 P:27 SP:FB CYC:44 SL:47
D3C0 A9 LDA #$81 PC:D3C1 A:80 X:80 Y:9A P:A5 SP:FB CYC:50 SL:47
D3C2 85 STA $78 PC:D3C3 A:81 X:80 Y:9A P:A5 SP:FB CYC:56 SL:47
D3C4 E4 CPX $78 PC:D3C5 A:81 X:80 Y:9A P:A5 SP:FB CYC:65 SL:47
D3C6 20 JSR $F8C9 PC:D3C7 A:81 X:80 Y:9A P:A4 SP:FB CYC:74 SL:47
F8C9 B0 BCS $F8D0 PC:F8CA A:81 X:80 Y:9A P:A4 SP:F9 CYC:92 SL:47
F8CB F0 BEQ $F8D0 PC:F8CC A:81 X:80 Y:9A P:A4 SP:F9 CYC:98 SL:47
F8CD 10 BPL $F8D0 PC:F8CE A:81 X:80 Y:9A P:A4 SP:F9 CYC:104 SL:47
F8CF 60 RTS PC:F8D0 A:81 X:80 Y:9A P:A4 SP:F9 CYC:110 SL:47
D3C9 C8 INY PC:D3CA A:81 X:80 Y:9A P:A4 SP:FB CYC:128 SL:47
D3CA A9 LDA #$7F PC:D3CB A:81 X:80 Y:9B P:A4 SP:FB CYC:134 SL:47
D3CC 85 STA $78 PC:D3CD A:7F X:80 Y:9B P:24 SP:FB CYC:140 SL:47
D3CE E4 CPX $78 PC:D3CF A:7F X:80 Y:9B P:24 SP:FB CYC:149 SL:47
D3D0 20 JSR $F8D3 PC:D3D1 A:7F X:80 Y:9B P:25 SP:FB CYC:158 SL:47
F8D3 90 BCC $F8DA PC:F8D4 A:7F X:80 Y:9B P:25 SP:F9 CYC:176 SL:47
F8D5 F0 BEQ $F8DA PC:F8D6 A:7F X:80 Y:9B P:25 SP:F9 CYC:182 SL:47
F8D7 30 BMI $F8DA PC:F8D8 A:7F X:80 Y:9B P:25 SP:F9 CYC:188 SL:47
F8D9 60 RTS PC:F8DA A:7F X:80 Y:9B P:25 SP:F9 CYC:194 SL:47
D3D3 C8 INY PC:D3D4 A:7F X:80 Y:9B P:25 SP:FB CYC:212 SL:47
D3D4 98 TYA PC:D3D5 A:7F X:80 Y:9C P:A5 SP:FB CYC:218 SL:47
D3D5 AA TAX PC:D3D6 A:9C X:80 Y:9C P:A5 SP:FB CYC:224 SL:47
D3D6 A9 LDA #$40 PC:D3D7 A:9C X:9C Y:9C P:A5 SP:FB CYC:230 SL:47
D3D8 85 STA $78 PC:D3D9 A:40 X:9C Y:9C P:25 SP:FB CYC:236 SL:47
D3DA 20 JSR $F8DD PC:D3DB A:40 X:9C Y:9C P:25 SP:FB CYC:245 SL:47
F8DD 24 BIT $01 PC:F8DE A:40 X:9C Y:9C P:25 SP:F9 CYC:263 SL:47
F8DF A0 LDY #$40 PC:F8E0 A:40 X:9C Y:9C P:E5 SP:F9 CYC:272 SL:47
F8E1 60 RTS PC:F8E2 A:40 X:9C Y:40 P:65 SP:F9 CYC:278 SL:47
D3DD C4 CPY $78 PC:D3DE A:40 X:9C Y:40 P:65 SP:FB CYC:296 SL:47
D3DF 20 JSR $F8E2 PC:D3E0 A:40 X:9C Y:40 P:67 SP:FB CYC:305 SL:47
F8E2 30 BMI $F8EB PC:F8E3 A:40 X:9C Y:40 P:67 SP:F9 CYC:323 SL:47
F8E4 90 BCC $F8EB PC:F8E5 A:40 X:9C Y:40 P:67 SP:F9 CYC:329 SL:47
F8E6 D0 BNE $F8EB PC:F8E7 A:40 X:9C Y:40 P:67 SP:F9 CYC:335 SL:47
F8E8 50 BVC $F8EB PC:F8E9 A:40 X:9C Y:40 P:67 SP:F9 CYC:0 SL:48
F8EA 60 RTS PC:F8EB A:40 X:9C Y:40 P:67 SP:F9 CYC:6 SL:48
D3E2 E8 INX PC:D3E3 A:40 X:9C Y:40 P:67 SP:FB CYC:24 SL:48
D3E3 A9 LDA #$3F PC:D3E4 A:40 X:9D Y:40 P:E5 SP:FB CYC:30 SL:48
D3E5 85 STA $78 PC:D3E6 A:3F X:9D Y:40 P:65 SP:FB CYC:36 SL:48
D3E7 20 JSR $F8EE PC:D3E8 A:3F X:9D Y:40 P:65 SP:FB CYC:45 SL:48
F8EE B8 CLV PC:F8EF A:3F X:9D Y:40 P:65 SP:F9 CYC:63 SL:48
F8EF 60 RTS PC:F8F0 A:3F X:9D Y:40 P:25 SP:F9 CYC:69 SL:48
D3EA C4 CPY $78 PC:D3EB A:3F X:9D Y:40 P:25 SP:FB CYC:87 SL:48
D3EC 20 JSR $F8F0 PC:D3ED A:3F X:9D Y:40 P:25 SP:FB CYC:96 SL:48
F8F0 F0 BEQ $F8F9 PC:F8F1 A:3F X:9D Y:40 P:25 SP:F9 CYC:114 SL:48
F8F2 30 BMI $F8F9 PC:F8F3 A:3F X:9D Y:40 P:25 SP:F9 CYC:120 SL:48
F8F4 90 BCC $F8F9 PC:F8F5 A:3F X:9D Y:40 P:25 SP:F9 CYC:126 SL:48
F8F6 70 BVS $F8F9 PC:F8F7 A:3F X:9D Y:40 P:25 SP:F9 CYC:132 SL:48
F8F8 60 RTS PC:F8F9 A:3F X:9D Y:40 P:25 SP:F9 CYC:138 SL:48
D3EF E8 INX PC:D3F0 A:3F X:9D Y:40 P:25 SP:FB CYC:156 SL:48
D3F0 A9 LDA #$41 PC:D3F1 A:3F X:9E Y:40 P:A5 SP:FB CYC:162 SL:48
D3F2 85 STA $78 PC:D3F3 A:41 X:9E Y:40 P:25 SP:FB CYC:168 SL:48
D3F4 C4 CPY $78 PC:D3F5 A:41 X:9E Y:40 P:25 SP:FB CYC:177 SL:48
D3F6 20 JSR $F8FC PC:D3F7 A:41 X:9E Y:40 P:A4 SP:FB CYC:186 SL:48
F8FC F0 BEQ $F903 PC:F8FD A:41 X:9E Y:40 P:A4 SP:F9 CYC:204 SL:48
F8FE 10 BPL $F903 PC:F8FF A:41 X:9E Y:40 P:A4 SP:F9 CYC:210 SL:48
F900 10 BPL $F903 PC:F901 A:41 X:9E Y:40 P:A4 SP:F9 CYC:216 SL:48
F902 60 RTS PC:F903 A:41 X:9E Y:40 P:A4 SP:F9 CYC:222 SL:48
D3F9 E8 INX PC:D3FA A:41 X:9E Y:40 P:A4 SP:FB CYC:240 SL:48
D3FA A9 LDA #$00 PC:D3FB A:41 X:9F Y:40 P:A4 SP:FB CYC:246 SL:48
D3FC 85 STA $78 PC:D3FD A:00 X:9F Y:40 P:26 SP:FB CYC:252 SL:48
D3FE 20 JSR $F906 PC:D3FF A:00 X:9F Y:40 P:26 SP:FB CYC:261 SL:48
F906 A0 LDY #$80 PC:F907 A:00 X:9F Y:40 P:26 SP:F9 CYC:279 SL:48
F908 60 RTS PC:F909 A:00 X:9F Y:80 P:A4 SP:F9 CYC:285 SL:48
D401 C4 CPY $78 PC:D402 A:00 X:9F Y:80 P:A4 SP:FB CYC:303 SL:48
D403 20 JSR $F909 PC:D404 A:00 X:9F Y:80 P:A5 SP:FB CYC:312 SL:48
F909 F0 BEQ $F910 PC:F90A A:00 X:9F Y:80 P:A5 SP:F9 CYC:330 SL:48
F90B 10 BPL $F910 PC:F90C A:00 X:9F Y:80 P:A5 SP:F9 CYC:336 SL:48
F90D 90 BCC $F910 PC:F90E A:00 X:9F Y:80 P:A5 SP:F9 CYC:1 SL:49
F90F 60 RTS PC:F910 A:00 X:9F Y:80 P:A5 SP:F9 CYC:7 SL:49
D406 E8 INX PC:D407 A:00 X:9F Y:80 P:A5 SP:FB CYC:25 SL:49
D407 A9 LDA #$80 PC:D408 A:00 X:A0 Y:80 P:A5 SP:FB CYC:31 SL:49
D409 85 STA $78 PC:D40A A:80 X:A0 Y:80 P:A5 SP:FB CYC:37 SL:49
D40B C4 CPY $78 PC:D40C A:80 X:A0 Y:80 P:A5 SP:FB CYC:46 SL:49
D40D 20 JSR $F913 PC:D40E A:80 X:A0 Y:80 P:27 SP:FB CYC:55 SL:49
F913 D0 BNE $F91A PC:F914 A:80 X:A0 Y:80 P:27 SP:F9 CYC:73 SL:49
F915 30 BMI $F91A PC:F916 A:80 X:A0 Y:80 P:27 SP:F9 CYC:79 SL:49
F917 90 BCC $F91A PC:F918 A:80 X:A0 Y:80 P:27 SP:F9 CYC:85 SL:49
F919 60 RTS PC:F91A A:80 X:A0 Y:80 P:27 SP:F9 CYC:91 SL:49
D410 E8 INX PC:D411 A:80 X:A0 Y:80 P:27 SP:FB CYC:109 SL:49
D411 A9 LDA #$81 PC:D412 A:80 X:A1 Y:80 P:A5 SP:FB CYC:115 SL:49
D413 85 STA $78 PC:D414 A:81 X:A1 Y:80 P:A5 SP:FB CYC:121 SL:49
D415 C4 CPY $78 PC:D416 A:81 X:A1 Y:80 P:A5 SP:FB CYC:130 SL:49
D417 20 JSR $F91D PC:D418 A:81 X:A1 Y:80 P:A4 SP:FB CYC:139 SL:49
F91D B0 BCS $F924 PC:F91E A:81 X:A1 Y:80 P:A4 SP:F9 CYC:157 SL:49
F91F F0 BEQ $F924 PC:F920 A:81 X:A1 Y:80 P:A4 SP:F9 CYC:163 SL:49
F921 10 BPL $F924 PC:F922 A:81 X:A1 Y:80 P:A4 SP:F9 CYC:169 SL:49
F923 60 RTS PC:F924 A:81 X:A1 Y:80 P:A4 SP:F9 CYC:175 SL:49
D41A E8 INX PC:D41B A:81 X:A1 Y:80 P:A4 SP:FB CYC:193 SL:49
D41B A9 LDA #$7F PC:D41C A:81 X:A2 Y:80 P:A4 SP:FB CYC:199 SL:49
D41D 85 STA $78 PC:D41E A:7F X:A2 Y:80 P:24 SP:FB CYC:205 SL:49
D41F C4 CPY $78 PC:D420 A:7F X:A2 Y:80 P:24 SP:FB CYC:214 SL:49
D421 20 JSR $F927 PC:D422 A:7F X:A2 Y:80 P:25 SP:FB CYC:223 SL:49
F927 90 BCC $F92E PC:F928 A:7F X:A2 Y:80 P:25 SP:F9 CYC:241 SL:49
F929 F0 BEQ $F92E PC:F92A A:7F X:A2 Y:80 P:25 SP:F9 CYC:247 SL:49
F92B 30 BMI $F92E PC:F92C A:7F X:A2 Y:80 P:25 SP:F9 CYC:253 SL:49
F92D 60 RTS PC:F92E A:7F X:A2 Y:80 P:25 SP:F9 CYC:259 SL:49
D424 E8 INX PC:D425 A:7F X:A2 Y:80 P:25 SP:FB CYC:277 SL:49
D425 8A TXA PC:D426 A:7F X:A3 Y:80 P:A5 SP:FB CYC:283 SL:49
D426 A8 TAY PC:D427 A:A3 X:A3 Y:80 P:A5 SP:FB CYC:289 SL:49
D427 20 JSR $F990 PC:D428 A:A3 X:A3 Y:A3 P:A5 SP:FB CYC:295 SL:49
F990 A2 LDX #$55 PC:F991 A:A3 X:A3 Y:A3 P:A5 SP:F9 CYC:313 SL:49
F992 A9 LDA #$FF PC:F993 A:A3 X:55 Y:A3 P:25 SP:F9 CYC:319 SL:49
F994 85 STA $01 PC:F995 A:FF X:55 Y:A3 P:A5 SP:F9 CYC:325 SL:49
F996 EA NOP PC:F997 A:FF X:55 Y:A3 P:A5 SP:F9 CYC:334 SL:49
F997 24 BIT $01 PC:F998 A:FF X:55 Y:A3 P:A5 SP:F9 CYC:340 SL:49
F999 38 SEC PC:F99A A:FF X:55 Y:A3 P:E5 SP:F9 CYC:8 SL:50
F99A A9 LDA #$01 PC:F99B A:FF X:55 Y:A3 P:E5 SP:F9 CYC:14 SL:50
F99C 60 RTS PC:F99D A:01 X:55 Y:A3 P:65 SP:F9 CYC:20 SL:50
D42A 85 STA $78 PC:D42B A:01 X:55 Y:A3 P:65 SP:FB CYC:38 SL:50
D42C 46 LSR $78 PC:D42D A:01 X:55 Y:A3 P:65 SP:FB CYC:47 SL:50
D42E A5 LDA $78 PC:D42F A:01 X:55 Y:A3 P:67 SP:FB CYC:62 SL:50
D430 20 JSR $F99D PC:D431 A:00 X:55 Y:A3 P:67 SP:FB CYC:71 SL:50
F99D 90 BCC $F9BA PC:F99E A:00 X:55 Y:A3 P:67 SP:F9 CYC:89 SL:50
F99F D0 BNE $F9BA PC:F9A0 A:00 X:55 Y:A3 P:67 SP:F9 CYC:95 SL:50
F9A1 30 BMI $F9BA PC:F9A2 A:00 X:55 Y:A3 P:67 SP:F9 CYC:101 SL:50
F9A3 50 BVC $F9BA PC:F9A4 A:00 X:55 Y:A3 P:67 SP:F9 CYC:107 SL:50
F9A5 C9 CMP #$00 PC:F9A6 A:00 X:55 Y:A3 P:67 SP:F9 CYC:113 SL:50
F9A7 D0 BNE $F9BA PC:F9A8 A:00 X:55 Y:A3 P:67 SP:F9 CYC:119 SL:50
F9A9 B8 CLV PC:F9AA A:00 X:55 Y:A3 P:67 SP:F9 CYC:125 SL:50
F9AA A9 LDA #$AA PC:F9AB A:00 X:55 Y:A3 P:27 SP:F9 CYC:131 SL:50
F9AC 60 RTS PC:F9AD A:AA X:55 Y:A3 P:A5 SP:F9 CYC:137 SL:50
D433 C8 INY PC:D434 A:AA X:55 Y:A3 P:A5 SP:FB CYC:155 SL:50
D434 85 STA $78 PC:D435 A:AA X:55 Y:A4 P:A5 SP:FB CYC:161 SL:50
D436 46 LSR $78 PC:D437 A:AA X:55 Y:A4 P:A5 SP:FB CYC:170 SL:50
D438 A5 LDA $78 PC:D439 A:AA X:55 Y:A4 P:24 SP:FB CYC:185 SL:50
D43A 20 JSR $F9AD PC:D43B A:55 X:55 Y:A4 P:24 SP:FB CYC:194 SL:50
F9AD B0 BCS $F9BA PC:F9AE A:55 X:55 Y:A4 P:24 SP:F9 CYC:212 SL:50
F9AF F0 BEQ $F9BA PC:F9B0 A:55 X:55 Y:A4 P:24 SP:F9 CYC:218 SL:50
F9B1 30 BMI $F9BA PC:F9B2 A:55 X:55 Y:A4 P:24 SP:F9 CYC:224 SL:50
F9B3 70 BVS $F9BA PC:F9B4 A:55 X:55 Y:A4 P:24 SP:F9 CYC:230 SL:50
F9B5 C9 CMP #$55 PC:F9B6 A:55 X:55 Y:A4 P:24 SP:F9 CYC:236 SL:50
F9B7 D0 BNE $F9BA PC:F9B8 A:55 X:55 Y:A4 P:27 SP:F9 CYC:242 SL:50
F9B9 60 RTS PC:F9BA A:55 X:55 Y:A4 P:27 SP:F9 CYC:248 SL:50
D43D C8 INY PC:D43E A:55 X:55 Y:A4 P:27 SP:FB CYC:266 SL:50
D43E 20 JSR $F9BD PC:D43F A:55 X:55 Y:A5 P:A5 SP:FB CYC:272 SL:50
F9BD 24 BIT $01 PC:F9BE A:55 X:55 Y:A5 P:A5 SP:F9 CYC:290 SL:50
F9BF 38 SEC PC:F9C0 A:55 X:55 Y:A5 P:E5 SP:F9 CYC:299 SL:50
F9C0 A9 LDA #$80 PC:F9C1 A:55 X:55 Y:A5 P:E5 SP:F9 CYC:305 SL:50
F9C2 60 RTS PC:F9C3 A:80 X:55 Y:A5 P:E5 SP:F9 CYC:311 SL:50
D441 85 STA $78 PC:D442 A:80 X:55 Y:A5 P:E5 SP:FB CYC:329 SL:50
D443 06 ASL $78 PC:D444 A:80 X:55 Y:A5 P:E5 SP:FB CYC:338 SL:50
D445 A5 LDA $78 PC:D446 A:80 X:55 Y:A5 P:67 SP:FB CYC:12 SL:51
D447 20 JSR $F9C3 PC:D448 A:00 X:55 Y:A5 P:67 SP:FB CYC:21 SL:51
F9C3 90 BCC $F9E1 PC:F9C4 A:00 X:55 Y:A5 P:67 SP:F9 CYC:39 SL:51
F9C5 D0 BNE $F9E1 PC:F9C6 A:00 X:55 Y:A5 P:67 SP:F9 CYC:45 SL:51
F9C7 30 BMI $F9E1 PC:F9C8 A:00 X:55 Y:A5 P:67 SP:F9 CYC:51 SL:51
F9C9 50 BVC $F9E1 PC:F9CA A:00 X:55 Y:A5 P:67 SP:F9 CYC:57 SL:51
F9CB C9 CMP #$00 PC:F9CC A:00 X:55 Y:A5 P:67 SP:F9 CYC:63 SL:51
F9CD D0 BNE $F9E1 PC:F9CE A:00 X:55 Y:A5 P:67 SP:F9 CYC:69 SL:51
F9CF B8 CLV PC:F9D0 A:00 X:55 Y:A5 P:67 SP:F9 CYC:75 SL:51
F9D0 A9 LDA #$55 PC:F9D1 A:00 X:55 Y:A5 P:27 SP:F9 CYC:81 SL:51
F9D2 38 SEC PC:F9D3 A:55 X:55 Y:A5 P:25 SP:F9 CYC:87 SL:51
F9D3 60 RTS PC:F9D4 A:55 X:55 Y:A5 P:25 SP:F9 CYC:93 SL:51
D44A C8 INY PC:D44B A:55 X:55 Y:A5 P:25 SP:FB CYC:111 SL:51
D44B 85 STA $78 PC:D44C A:55 X:55 Y:A6 P:A5 SP:FB CYC:117 SL:51
D44D 06 ASL $78 PC:D44E A:55 X:55 Y:A6 P:A5 SP:FB CYC:126 SL:51
D44F A5 LDA $78 PC:D450 A:55 X:55 Y:A6 P:A4 SP:FB CYC:141 SL:51
D451 20 JSR $F9D4 PC:D452 A:AA X:55 Y:A6 P:A4 SP:FB CYC:150 SL:51
F9D4 B0 BCS $F9E1 PC:F9D5 A:AA X:55 Y:A6 P:A4 SP:F9 CYC:168 SL:51
F9D6 F0 BEQ $F9E1 PC:F9D7 A:AA X:55 Y:A6 P:A4 SP:F9 CYC:174 SL:51
F9D8 10 BPL $F9E1 PC:F9D9 A:AA X:55 Y:A6 P:A4 SP:F9 CYC:180 SL:51
F9DA 70 BVS $F9E1 PC:F9DB A:AA X:55 Y:A6 P:A4 SP:F9 CYC:186 SL:51
F9DC C9 CMP #$AA PC:F9DD A:AA X:55 Y:A6 P:A4 SP:F9 CYC:192 SL:51
F9DE D0 BNE $F9E1 PC:F9DF A:AA X:55 Y:A6 P:27 SP:F9 CYC:198 SL:51
F9E0 60 RTS PC:F9E1 A:AA X:55 Y:A6 P:27 SP:F9 CYC:204 SL:51
D454 C8 INY PC:D455 A:AA X:55 Y:A6 P:27 SP:FB CYC:222 SL:51
D455 20 JSR $F9E4 PC:D456 A:AA X:55 Y:A7 P:A5 SP:FB CYC:228 SL:51
F9E4 24 BIT $01 PC:F9E5 A:AA X:55 Y:A7 P:A5 SP:F9 CYC:246 SL:51
F9E6 38 SEC PC:F9E7 A:AA X:55 Y:A7 P:E5 SP:F9 CYC:255 SL:51
F9E7 A9 LDA #$01 PC:F9E8 A:AA X:55 Y:A7 P:E5 SP:F9 CYC:261 SL:51
F9E9 60 RTS PC:F9EA A:01 X:55 Y:A7 P:65 SP:F9 CYC:267 SL:51
D458 85 STA $78 PC:D459 A:01 X:55 Y:A7 P:65 SP:FB CYC:285 SL:51
D45A 66 ROR $78 PC:D45B A:01 X:55 Y:A7 P:65 SP:FB CYC:294 SL:51
D45C A5 LDA $78 PC:D45D A:01 X:55 Y:A7 P:E5 SP:FB CYC:309 SL:51
D45E 20 JSR $F9EA PC:D45F A:80 X:55 Y:A7 P:E5 SP:FB CYC:318 SL:51
F9EA 90 BCC $FA08 PC:F9EB A:80 X:55 Y:A7 P:E5 SP:F9 CYC:336 SL:51
F9EC F0 BEQ $FA08 PC:F9ED A:80 X:55 Y:A7 P:E5 SP:F9 CYC:1 SL:52
F9EE 10 BPL $FA08 PC:F9EF A:80 X:55 Y:A7 P:E5 SP:F9 CYC:7 SL:52
F9F0 50 BVC $FA08 PC:F9F1 A:80 X:55 Y:A7 P:E5 SP:F9 CYC:13 SL:52
F9F2 C9 CMP #$80 PC:F9F3 A:80 X:55 Y:A7 P:E5 SP:F9 CYC:19 SL:52
F9F4 D0 BNE $FA08 PC:F9F5 A:80 X:55 Y:A7 P:67 SP:F9 CYC:25 SL:52
F9F6 B8 CLV PC:F9F7 A:80 X:55 Y:A7 P:67 SP:F9 CYC:31 SL:52
F9F7 18 CLC PC:F9F8 A:80 X:55 Y:A7 P:27 SP:F9 CYC:37 SL:52
F9F8 A9 LDA #$55 PC:F9F9 A:80 X:55 Y:A7 P:26 SP:F9 CYC:43 SL:52
F9FA 60 RTS PC:F9FB A:55 X:55 Y:A7 P:24 SP:F9 CYC:49 SL:52
D461 C8 INY PC:D462 A:55 X:55 Y:A7 P:24 SP:FB CYC:67 SL:52
D462 85 STA $78 PC:D463 A:55 X:55 Y:A8 P:A4 SP:FB CYC:73 SL:52
D464 66 ROR $78 PC:D465 A:55 X:55 Y:A8 P:A4 SP:FB CYC:82 SL:52
D466 A5 LDA $78 PC:D467 A:55 X:55 Y:A8 P:25 SP:FB CYC:97 SL:52
D468 20 JSR $F9FB PC:D469 A:2A X:55 Y:A8 P:25 SP:FB CYC:106 SL:52
F9FB 90 BCC $FA08 PC:F9FC A:2A X:55 Y:A8 P:25 SP:F9 CYC:124 SL:52
F9FD F0 BEQ $FA08 PC:F9FE A:2A X:55 Y:A8 P:25 SP:F9 CYC:130 SL:52
F9FF 30 BMI $FA08 PC:FA00 A:2A X:55 Y:A8 P:25 SP:F9 CYC:136 SL:52
FA01 70 BVS $FA08 PC:FA02 A:2A X:55 Y:A8 P:25 SP:F9 CYC:142 SL:52
FA03 C9 CMP #$2A PC:FA04 A:2A X:55 Y:A8 P:25 SP:F9 CYC:148 SL:52
FA05 D0 BNE $FA08 PC:FA06 A:2A X:55 Y:A8 P:27 SP:F9 CYC:154 SL:52
FA07 60 RTS PC:FA08 A:2A X:55 Y:A8 P:27 SP:F9 CYC:160 SL:52
D46B C8 INY PC:D46C A:2A X:55 Y:A8 P:27 SP:FB CYC:178 SL:52
D46C 20 JSR $FA0A PC:D46D A:2A X:55 Y:A9 P:A5 SP:FB CYC:184 SL:52
FA0A 24 BIT $01 PC:FA0B A:2A X:55 Y:A9 P:A5 SP:F9 CYC:202 SL:52
FA0C 38 SEC PC:FA0D A:2A X:55 Y:A9 P:E5 SP:F9 CYC:211 SL:52
FA0D A9 LDA #$80 PC:FA0E A:2A X:55 Y:A9 P:E5 SP:F9 CYC:217 SL:52
FA0F 60 RTS PC:FA10 A:80 X:55 Y:A9 P:E5 SP:F9 CYC:223 SL:52
D46F 85 STA $78 PC:D470 A:80 X:55 Y:A9 P:E5 SP:FB CYC:241 SL:52
D471 26 ROL $78 PC:D472 A:80 X:55 Y:A9 P:E5 SP:FB CYC:250 SL:52
D473 A5 LDA $78 PC:D474 A:80 X:55 Y:A9 P:65 SP:FB CYC:265 SL:52
D475 20 JSR $FA10 PC:D476 A:01 X:55 Y:A9 P:65 SP:FB CYC:274 SL:52
FA10 90 BCC $FA2E PC:FA11 A:01 X:55 Y:A9 P:65 SP:F9 CYC:292 SL:52
FA12 F0 BEQ $FA2E PC:FA13 A:01 X:55 Y:A9 P:65 SP:F9 CYC:298 SL:52
FA14 30 BMI $FA2E PC:FA15 A:01 X:55 Y:A9 P:65 SP:F9 CYC:304 SL:52
FA16 50 BVC $FA2E PC:FA17 A:01 X:55 Y:A9 P:65 SP:F9 CYC:310 SL:52
FA18 C9 CMP #$01 PC:FA19 A:01 X:55 Y:A9 P:65 SP:F9 CYC:316 SL:52
FA1A D0 BNE $FA2E PC:FA1B A:01 X:55 Y:A9 P:67 SP:F9 CYC:322 SL:52
FA1C B8 CLV PC:FA1D A:01 X:55 Y:A9 P:67 SP:F9 CYC:328 SL:52
FA1D 18 CLC PC:FA1E A:01 X:55 Y:A9 P:27 SP:F9 CYC:334 SL:52
FA1E A9 LDA #$55 PC:FA1F A:01 X:55 Y:A9 P:26 SP:F9 CYC:340 SL:52
FA20 60 RTS PC:FA21 A:55 X:55 Y:A9 P:24 SP:F9 CYC:5 SL:53
D478 C8 INY PC:D479 A:55 X:55 Y:A9 P:24 SP:FB CYC:23 SL:53
D479 85 STA $78 PC:D47A A:55 X:55 Y:AA P:A4 SP:FB CYC:29 SL:53
D47B 26 ROL $78 PC:D47C A:55 X:55 Y:AA P:A4 SP:FB CYC:38 SL:53
D47D A5 LDA $78 PC:D47E A:55 X:55 Y:AA P:A4 SP:FB CYC:53 SL:53
D47F 20 JSR $FA21 PC:D480 A:AA X:55 Y:AA P:A4 SP:FB CYC:62 SL:53
FA21 B0 BCS $FA2E PC:FA22 A:AA X:55 Y:AA P:A4 SP:F9 CYC:80 SL:53
FA23 F0 BEQ $FA2E PC:FA24 A:AA X:55 Y:AA P:A4 SP:F9 CYC:86 SL:53
FA25 10 BPL $FA2E PC:FA26 A:AA X:55 Y:AA P:A4 SP:F9 CYC:92 SL:53
FA27 70 BVS $FA2E PC:FA28 A:AA X:55 Y:AA P:A4 SP:F9 CYC:98 SL:53
FA29 C9 CMP #$AA PC:FA2A A:AA X:55 Y:AA P:A4 SP:F9 CYC:104 SL:53
FA2B D0 BNE $FA2E PC:FA2C A:AA X:55 Y:AA P:27 SP:F9 CYC:110 SL:53
FA2D 60 RTS PC:FA2E A:AA X:55 Y:AA P:27 SP:F9 CYC:116 SL:53
D482 A9 LDA #$FF PC:D483 A:AA X:55 Y:AA P:27 SP:FB CYC:134 SL:53
D484 85 STA $78 PC:D485 A:FF X:55 Y:AA P:A5 SP:FB CYC:140 SL:53
D486 85 STA $01 PC:D487 A:FF X:55 Y:AA P:A5 SP:FB CYC:149 SL:53
D488 24 BIT $01 PC:D489 A:FF X:55 Y:AA P:A5 SP:FB CYC:158 SL:53
D48A 38 SEC PC:D48B A:FF X:55 Y:AA P:E5 SP:FB CYC:167 SL:53
D48B E6 INC $78 PC:D48C A:FF X:55 Y:AA P:E5 SP:FB CYC:173 SL:53
D48D D0 BNE $D49B PC:D48E A:FF X:55 Y:AA P:67 SP:FB CYC:188 SL:53
D48F 30 BMI $D49B PC:D490 A:FF X:55 Y:AA P:67 SP:FB CYC:194 SL:53
D491 50 BVC $D49B PC:D492 A:FF X:55 Y:AA P:67 SP:FB CYC:200 SL:53
D493 90 BCC $D49B PC:D494 A:FF X:55 Y:AA P:67 SP:FB CYC:206 SL:53
D495 A5 LDA $78 PC:D496 A:FF X:55 Y:AA P:67 SP:FB CYC:212 SL:53
D497 C9 CMP #$00 PC:D498 A:00 X:55 Y:AA P:67 SP:FB CYC:221 SL:53
D499 F0 BEQ $D49F PC:D49A A:00 X:55 Y:AA P:67 SP:FB CYC:227 SL:53
D49F A9 LDA #$7F PC:D4A0 A:00 X:55 Y:AA P:67 SP:FB CYC:236 SL:53
D4A1 85 STA $78 PC:D4A2 A:7F X:55 Y:AA P:65 SP:FB CYC:242 SL:53
D4A3 B8 CLV PC:D4A4 A:7F X:55 Y:AA P:65 SP:FB CYC:251 SL:53
D4A4 18 CLC PC:D4A5 A:7F X:55 Y:AA P:25 SP:FB CYC:257 SL:53
D4A5 E6 INC $78 PC:D4A6 A:7F X:55 Y:AA P:24 SP:FB CYC:263 SL:53
D4A7 F0 BEQ $D4B5 PC:D4A8 A:7F X:55 Y:AA P:A4 SP:FB CYC:278 SL:53
D4A9 10 BPL $D4B5 PC:D4AA A:7F X:55 Y:AA P:A4 SP:FB CYC:284 SL:53
D4AB 70 BVS $D4B5 PC:D4AC A:7F X:55 Y:AA P:A4 SP:FB CYC:290 SL:53
D4AD B0 BCS $D4B5 PC:D4AE A:7F X:55 Y:AA P:A4 SP:FB CYC:296 SL:53
D4AF A5 LDA $78 PC:D4B0 A:7F X:55 Y:AA P:A4 SP:FB CYC:302 SL:53
D4B1 C9 CMP #$80 PC:D4B2 A:80 X:55 Y:AA P:A4 SP:FB CYC:311 SL:53
D4B3 F0 BEQ $D4B9 PC:D4B4 A:80 X:55 Y:AA P:27 SP:FB CYC:317 SL:53
D4B9 A9 LDA #$00 PC:D4BA A:80 X:55 Y:AA P:27 SP:FB CYC:326 SL:53
D4BB 85 STA $78 PC:D4BC A:00 X:55 Y:AA P:27 SP:FB CYC:332 SL:53
D4BD 24 BIT $01 PC:D4BE A:00 X:55 Y:AA P:27 SP:FB CYC:0 SL:54
D4BF 38 SEC PC:D4C0 A:00 X:55 Y:AA P:E7 SP:FB CYC:9 SL:54
D4C0 C6 DEC $78 PC:D4C1 A:00 X:55 Y:AA P:E7 SP:FB CYC:15 SL:54
D4C2 F0 BEQ $D4D0 PC:D4C3 A:00 X:55 Y:AA P:E5 SP:FB CYC:30 SL:54
D4C4 10 BPL $D4D0 PC:D4C5 A:00 X:55 Y:AA P:E5 SP:FB CYC:36 SL:54
D4C6 50 BVC $D4D0 PC:D4C7 A:00 X:55 Y:AA P:E5 SP:FB CYC:42 SL:54
D4C8 90 BCC $D4D0 PC:D4C9 A:00 X:55 Y:AA P:E5 SP:FB CYC:48 SL:54
D4CA A5 LDA $78 PC:D4CB A:00 X:55 Y:AA P:E5 SP:FB CYC:54 SL:54
D4CC C9 CMP #$FF PC:D4CD A:FF X:55 Y:AA P:E5 SP:FB CYC:63 SL:54
D4CE F0 BEQ $D4D4 PC:D4CF A:FF X:55 Y:AA P:67 SP:FB CYC:69 SL:54
D4D4 A9 LDA #$80 PC:D4D5 A:FF X:55 Y:AA P:67 SP:FB CYC:78 SL:54
D4D6 85 STA $78 PC:D4D7 A:80 X:55 Y:AA P:E5 SP:FB CYC:84 SL:54
D4D8 B8 CLV PC:D4D9 A:80 X:55 Y:AA P:E5 SP:FB CYC:93 SL:54
D4D9 18 CLC PC:D4DA A:80 X:55 Y:AA P:A5 SP:FB CYC:99 SL:54
D4DA C6 DEC $78 PC:D4DB A:80 X:55 Y:AA P:A4 SP:FB CYC:105 SL:54
D4DC F0 BEQ $D4EA PC:D4DD A:80 X:55 Y:AA P:24 SP:FB CYC:120 SL:54
D4DE 30 BMI $D4EA PC:D4DF A:80 X:55 Y:AA P:24 SP:FB CYC:126 SL:54
D4E0 70 BVS $D4EA PC:D4E1 A:80 X:55 Y:AA P:24 SP:FB CYC:132 SL:54
D4E2 B0 BCS $D4EA PC:D4E3 A:80 X:55 Y:AA P:24 SP:FB CYC:138 SL:54
D4E4 A5 LDA $78 PC:D4E5 A:80 X:55 Y:AA P:24 SP:FB CYC:144 SL:54
D4E6 C9 CMP #$7F PC:D4E7 A:7F X:55 Y:AA P:24 SP:FB CYC:153 SL:54
D4E8 F0 BEQ $D4EE PC:D4E9 A:7F X:55 Y:AA P:27 SP:FB CYC:159 SL:54
D4EE A9 LDA #$01 PC:D4EF A:7F X:55 Y:AA P:27 SP:FB CYC:168 SL:54
D4F0 85 STA $78 PC:D4F1 A:01 X:55 Y:AA P:25 SP:FB CYC:174 SL:54
D4F2 C6 DEC $78 PC:D4F3 A:01 X:55 Y:AA P:25 SP:FB CYC:183 SL:54
D4F4 F0 BEQ $D4FA PC:D4F5 A:01 X:55 Y:AA P:27 SP:FB CYC:198 SL:54
D4FA 60 RTS PC:D4FB A:01 X:55 Y:AA P:27 SP:FB CYC:207 SL:54
C615 20 JSR $D4FB PC:C616 A:01 X:55 Y:AA P:27 SP:FD CYC:225 SL:54
D4FB A9 LDA #$55 PC:D4FC A:01 X:55 Y:AA P:27 SP:FB CYC:243 SL:54
D4FD 8D STA $0678 PC:D4FE A:55 X:55 Y:AA P:25 SP:FB CYC:249 SL:54
D500 A9 LDA #$FF PC:D501 A:55 X:55 Y:AA P:25 SP:FB CYC:261 SL:54
D502 85 STA $01 PC:D503 A:FF X:55 Y:AA P:A5 SP:FB CYC:267 SL:54
D504 24 BIT $01 PC:D505 A:FF X:55 Y:AA P:A5 SP:FB CYC:276 SL:54
D506 A0 LDY #$11 PC:D507 A:FF X:55 Y:AA P:E5 SP:FB CYC:285 SL:54
D508 A2 LDX #$23 PC:D509 A:FF X:55 Y:11 P:65 SP:FB CYC:291 SL:54
D50A A9 LDA #$00 PC:D50B A:FF X:23 Y:11 P:65 SP:FB CYC:297 SL:54
D50C AD LDA $0678 PC:D50D A:00 X:23 Y:11 P:67 SP:FB CYC:303 SL:54
D50F F0 BEQ $D521 PC:D510 A:55 X:23 Y:11 P:65 SP:FB CYC:315 SL:54
D511 30 BMI $D521 PC:D512 A:55 X:23 Y:11 P:65 SP:FB CYC:321 SL:54
D513 C9 CMP #$55 PC:D514 A:55 X:23 Y:11 P:65 SP:FB CYC:327 SL:54
D515 D0 BNE $D521 PC:D516 A:55 X:23 Y:11 P:67 SP:FB CYC:333 SL:54
D517 C0 CPY #$11 PC:D518 A:55 X:23 Y:11 P:67 SP:FB CYC:339 SL:54
D519 D0 BNE $D521 PC:D51A A:55 X:23 Y:11 P:67 SP:FB CYC:4 SL:55
D51B E0 CPX #$23 PC:D51C A:55 X:23 Y:11 P:67 SP:FB CYC:10 SL:55
D51D 50 BVC $D521 PC:D51E A:55 X:23 Y:11 P:67 SP:FB CYC:16 SL:55
D51F F0 BEQ $D525 PC:D520 A:55 X:23 Y:11 P:67 SP:FB CYC:22 SL:55
D525 A9 LDA #$46 PC:D526 A:55 X:23 Y:11 P:67 SP:FB CYC:31 SL:55
D527 24 BIT $01 PC:D528 A:46 X:23 Y:11 P:65 SP:FB CYC:37 SL:55
D529 8D STA $0678 PC:D52A A:46 X:23 Y:11 P:E5 SP:FB CYC:46 SL:55
D52C F0 BEQ $D539 PC:D52D A:46 X:23 Y:11 P:E5 SP:FB CYC:58 SL:55
D52E 10 BPL $D539 PC:D52F A:46 X:23 Y:11 P:E5 SP:FB CYC:64 SL:55
D530 50 BVC $D539 PC:D531 A:46 X:23 Y:11 P:E5 SP:FB CYC:70 SL:55
D532 AD LDA $0678 PC:D533 A:46 X:23 Y:11 P:E5 SP:FB CYC:76 SL:55
D535 C9 CMP #$46 PC:D536 A:46 X:23 Y:11 P:65 SP:FB CYC:88 SL:55
D537 F0 BEQ $D53D PC:D538 A:46 X:23 Y:11 P:67 SP:FB CYC:94 SL:55
D53D A9 LDA #$55 PC:D53E A:46 X:23 Y:11 P:67 SP:FB CYC:103 SL:55
D53F 8D STA $0678 PC:D540 A:55 X:23 Y:11 P:65 SP:FB CYC:109 SL:55
D542 24 BIT $01 PC:D543 A:55 X:23 Y:11 P:65 SP:FB CYC:121 SL:55
D544 A9 LDA #$11 PC:D545 A:55 X:23 Y:11 P:E5 SP:FB CYC:130 SL:55
D546 A2 LDX #$23 PC:D547 A:11 X:23 Y:11 P:65 SP:FB CYC:136 SL:55
D548 A0 LDY #$00 PC:D549 A:11 X:23 Y:11 P:65 SP:FB CYC:142 SL:55
D54A AC LDY $0678 PC:D54B A:11 X:23 Y:00 P:67 SP:FB CYC:148 SL:55
D54D F0 BEQ $D55F PC:D54E A:11 X:23 Y:55 P:65 SP:FB CYC:160 SL:55
D54F 30 BMI $D55F PC:D550 A:11 X:23 Y:55 P:65 SP:FB CYC:166 SL:55
D551 C0 CPY #$55 PC:D552 A:11 X:23 Y:55 P:65 SP:FB CYC:172 SL:55
D553 D0 BNE $D55F PC:D554 A:11 X:23 Y:55 P:67 SP:FB CYC:178 SL:55
D555 C9 CMP #$11 PC:D556 A:11 X:23 Y:55 P:67 SP:FB CYC:184 SL:55
D557 D0 BNE $D55F PC:D558 A:11 X:23 Y:55 P:67 SP:FB CYC:190 SL:55
D559 E0 CPX #$23 PC:D55A A:11 X:23 Y:55 P:67 SP:FB CYC:196 SL:55
D55B 50 BVC $D55F PC:D55C A:11 X:23 Y:55 P:67 SP:FB CYC:202 SL:55
D55D F0 BEQ $D563 PC:D55E A:11 X:23 Y:55 P:67 SP:FB CYC:208 SL:55
D563 A0 LDY #$46 PC:D564 A:11 X:23 Y:55 P:67 SP:FB CYC:217 SL:55
D565 24 BIT $01 PC:D566 A:11 X:23 Y:46 P:65 SP:FB CYC:223 SL:55
D567 8C STY $0678 PC:D568 A:11 X:23 Y:46 P:E5 SP:FB CYC:232 SL:55
D56A F0 BEQ $D577 PC:D56B A:11 X:23 Y:46 P:E5 SP:FB CYC:244 SL:55
D56C 10 BPL $D577 PC:D56D A:11 X:23 Y:46 P:E5 SP:FB CYC:250 SL:55
D56E 50 BVC $D577 PC:D56F A:11 X:23 Y:46 P:E5 SP:FB CYC:256 SL:55
D570 AC LDY $0678 PC:D571 A:11 X:23 Y:46 P:E5 SP:FB CYC:262 SL:55
D573 C0 CPY #$46 PC:D574 A:11 X:23 Y:46 P:65 SP:FB CYC:274 SL:55
D575 F0 BEQ $D57B PC:D576 A:11 X:23 Y:46 P:67 SP:FB CYC:280 SL:55
D57B 24 BIT $01 PC:D57C A:11 X:23 Y:46 P:67 SP:FB CYC:289 SL:55
D57D A9 LDA #$55 PC:D57E A:11 X:23 Y:46 P:E5 SP:FB CYC:298 SL:55
D57F 8D STA $0678 PC:D580 A:55 X:23 Y:46 P:65 SP:FB CYC:304 SL:55
D582 A0 LDY #$11 PC:D583 A:55 X:23 Y:46 P:65 SP:FB CYC:316 SL:55
D584 A9 LDA #$23 PC:D585 A:55 X:23 Y:11 P:65 SP:FB CYC:322 SL:55
D586 A2 LDX #$00 PC:D587 A:23 X:23 Y:11 P:65 SP:FB CYC:328 SL:55
D588 AE LDX $0678 PC:D589 A:23 X:00 Y:11 P:67 SP:FB CYC:334 SL:55
D58B F0 BEQ $D59D PC:D58C A:23 X:55 Y:11 P:65 SP:FB CYC:5 SL:56
D58D 30 BMI $D59D PC:D58E A:23 X:55 Y:11 P:65 SP:FB CYC:11 SL:56
D58F E0 CPX #$55 PC:D590 A:23 X:55 Y:11 P:65 SP:FB CYC:17 SL:56
D591 D0 BNE $D59D PC:D592 A:23 X:55 Y:11 P:67 SP:FB CYC:23 SL:56
D593 C0 CPY #$11 PC:D594 A:23 X:55 Y:11 P:67 SP:FB CYC:29 SL:56
D595 D0 BNE $D59D PC:D596 A:23 X:55 Y:11 P:67 SP:FB CYC:35 SL:56
D597 C9 CMP #$23 PC:D598 A:23 X:55 Y:11 P:67 SP:FB CYC:41 SL:56
D599 50 BVC $D59D PC:D59A A:23 X:55 Y:11 P:67 SP:FB CYC:47 SL:56
D59B F0 BEQ $D5A1 PC:D59C A:23 X:55 Y:11 P:67 SP:FB CYC:53 SL:56
D5A1 A2 LDX #$46 PC:D5A2 A:23 X:55 Y:11 P:67 SP:FB CYC:62 SL:56
D5A3 24 BIT $01 PC:D5A4 A:23 X:46 Y:11 P:65 SP:FB CYC:68 SL:56
D5A5 8E STX $0678 PC:D5A6 A:23 X:46 Y:11 P:E5 SP:FB CYC:77 SL:56
D5A8 F0 BEQ $D5B5 PC:D5A9 A:23 X:46 Y:11 P:E5 SP:FB CYC:89 SL:56
D5AA 10 BPL $D5B5 PC:D5AB A:23 X:46 Y:11 P:E5 SP:FB CYC:95 SL:56
D5AC 50 BVC $D5B5 PC:D5AD A:23 X:46 Y:11 P:E5 SP:FB CYC:101 SL:56
D5AE AE LDX $0678 PC:D5AF A:23 X:46 Y:11 P:E5 SP:FB CYC:107 SL:56
D5B1 E0 CPX #$46 PC:D5B2 A:23 X:46 Y:11 P:65 SP:FB CYC:119 SL:56
D5B3 F0 BEQ $D5B9 PC:D5B4 A:23 X:46 Y:11 P:67 SP:FB CYC:125 SL:56
D5B9 A9 LDA #$C0 PC:D5BA A:23 X:46 Y:11 P:67 SP:FB CYC:134 SL:56
D5BB 8D STA $0678 PC:D5BC A:C0 X:46 Y:11 P:E5 SP:FB CYC:140 SL:56
D5BE A2 LDX #$33 PC:D5BF A:C0 X:46 Y:11 P:E5 SP:FB CYC:152 SL:56
D5C0 A0 LDY #$88 PC:D5C1 A:C0 X:33 Y:11 P:65 SP:FB CYC:158 SL:56
D5C2 A9 LDA #$05 PC:D5C3 A:C0 X:33 Y:88 P:E5 SP:FB CYC:164 SL:56
D5C4 2C BIT $0678 PC:D5C5 A:05 X:33 Y:88 P:65 SP:FB CYC:170 SL:56
D5C7 10 BPL $D5D9 PC:D5C8 A:05 X:33 Y:88 P:E7 SP:FB CYC:182 SL:56
D5C9 50 BVC $D5D9 PC:D5CA A:05 X:33 Y:88 P:E7 SP:FB CYC:188 SL:56
D5CB D0 BNE $D5D9 PC:D5CC A:05 X:33 Y:88 P:E7 SP:FB CYC:194 SL:56
D5CD C9 CMP #$05 PC:D5CE A:05 X:33 Y:88 P:E7 SP:FB CYC:200 SL:56
D5CF D0 BNE $D5D9 PC:D5D0 A:05 X:33 Y:88 P:67 SP:FB CYC:206 SL:56
D5D1 E0 CPX #$33 PC:D5D2 A:05 X:33 Y:88 P:67 SP:FB CYC:212 SL:56
D5D3 D0 BNE $D5D9 PC:D5D4 A:05 X:33 Y:88 P:67 SP:FB CYC:218 SL:56
D5D5 C0 CPY #$88 PC:D5D6 A:05 X:33 Y:88 P:67 SP:FB CYC:224 SL:56
D5D7 F0 BEQ $D5DD PC:D5D8 A:05 X:33 Y:88 P:67 SP:FB CYC:230 SL:56
D5DD A9 LDA #$03 PC:D5DE A:05 X:33 Y:88 P:67 SP:FB CYC:239 SL:56
D5DF 8D STA $0678 PC:D5E0 A:03 X:33 Y:88 P:65 SP:FB CYC:245 SL:56
D5E2 A9 LDA #$01 PC:D5E3 A:03 X:33 Y:88 P:65 SP:FB CYC:257 SL:56
D5E4 2C BIT $0678 PC:D5E5 A:01 X:33 Y:88 P:65 SP:FB CYC:263 SL:56
D5E7 30 BMI $D5F1 PC:D5E8 A:01 X:33 Y:88 P:25 SP:FB CYC:275 SL:56
D5E9 70 BVS $D5F1 PC:D5EA A:01 X:33 Y:88 P:25 SP:FB CYC:281 SL:56
D5EB F0 BEQ $D5F1 PC:D5EC A:01 X:33 Y:88 P:25 SP:FB CYC:287 SL:56
D5ED C9 CMP #$01 PC:D5EE A:01 X:33 Y:88 P:25 SP:FB CYC:293 SL:56
D5EF F0 BEQ $D5F5 PC:D5F0 A:01 X:33 Y:88 P:27 SP:FB CYC:299 SL:56
D5F5 A0 LDY #$B8 PC:D5F6 A:01 X:33 Y:88 P:27 SP:FB CYC:308 SL:56
D5F7 A9 LDA #$AA PC:D5F8 A:01 X:33 Y:B8 P:A5 SP:FB CYC:314 SL:56
D5F9 8D STA $0678 PC:D5FA A:AA X:33 Y:B8 P:A5 SP:FB CYC:320 SL:56
D5FC 20 JSR $F7B6 PC:D5FD A:AA X:33 Y:B8 P:A5 SP:FB CYC:332 SL:56
F7B6 18 CLC PC:F7B7 A:AA X:33 Y:B8 P:A5 SP:F9 CYC:9 SL:57
F7B7 A9 LDA #$FF PC:F7B8 A:AA X:33 Y:B8 P:A4 SP:F9 CYC:15 SL:57
F7B9 85 STA $01 PC:F7BA A:FF X:33 Y:B8 P:A4 SP:F9 CYC:21 SL:57
F7BB 24 BIT $01 PC:F7BC A:FF X:33 Y:B8 P:A4 SP:F9 CYC:30 SL:57
F7BD A9 LDA #$55 PC:F7BE A:FF X:33 Y:B8 P:E4 SP:F9 CYC:39 SL:57
F7BF 60 RTS PC:F7C0 A:55 X:33 Y:B8 P:64 SP:F9 CYC:45 SL:57
D5FF 0D ORA $0678 PC:D600 A:55 X:33 Y:B8 P:64 SP:FB CYC:63 SL:57
D602 20 JSR $F7C0 PC:D603 A:FF X:33 Y:B8 P:E4 SP:FB CYC:75 SL:57
F7C0 B0 BCS $F7CB PC:F7C1 A:FF X:33 Y:B8 P:E4 SP:F9 CYC:93 SL:57
F7C2 10 BPL $F7CB PC:F7C3 A:FF X:33 Y:B8 P:E4 SP:F9 CYC:99 SL:57
F7C4 C9 CMP #$FF PC:F7C5 A:FF X:33 Y:B8 P:E4 SP:F9 CYC:105 SL:57
F7C6 D0 BNE $F7CB PC:F7C7 A:FF X:33 Y:B8 P:67 SP:F9 CYC:111 SL:57
F7C8 50 BVC $F7CB PC:F7C9 A:FF X:33 Y:B8 P:67 SP:F9 CYC:117 SL:57
F7CA 60 RTS PC:F7CB A:FF X:33 Y:B8 P:67 SP:F9 CYC:123 SL:57
D605 C8 INY PC:D606 A:FF X:33 Y:B8 P:67 SP:FB CYC:141 SL:57
D606 A9 LDA #$00 PC:D607 A:FF X:33 Y:B9 P:E5 SP:FB CYC:147 SL:57
D608 8D STA $0678 PC:D609 A:00 X:33 Y:B9 P:67 SP:FB CYC:153 SL:57
D60B 20 JSR $F7CE PC:D60C A:00 X:33 Y:B9 P:67 SP:FB CYC:165 SL:57
F7CE 38 SEC PC:F7CF A:00 X:33 Y:B9 P:67 SP:F9 CYC:183 SL:57
F7CF B8 CLV PC:F7D0 A:00 X:33 Y:B9 P:67 SP:F9 CYC:189 SL:57
F7D0 A9 LDA #$00 PC:F7D1 A:00 X:33 Y:B9 P:27 SP:F9 CYC:195 SL:57
F7D2 60 RTS PC:F7D3 A:00 X:33 Y:B9 P:27 SP:F9 CYC:201 SL:57
D60E 0D ORA $0678 PC:D60F A:00 X:33 Y:B9 P:27 SP:FB CYC:219 SL:57
D611 20 JSR $F7D3 PC:D612 A:00 X:33 Y:B9 P:27 SP:FB CYC:231 SL:57
F7D3 D0 BNE $F7DC PC:F7D4 A:00 X:33 Y:B9 P:27 SP:F9 CYC:249 SL:57
F7D5 70 BVS $F7DC PC:F7D6 A:00 X:33 Y:B9 P:27 SP:F9 CYC:255 SL:57
F7D7 90 BCC $F7DC PC:F7D8 A:00 X:33 Y:B9 P:27 SP:F9 CYC:261 SL:57
F7D9 30 BMI $F7DC PC:F7DA A:00 X:33 Y:B9 P:27 SP:F9 CYC:267 SL:57
F7DB 60 RTS PC:F7DC A:00 X:33 Y:B9 P:27 SP:F9 CYC:273 SL:57
D614 C8 INY PC:D615 A:00 X:33 Y:B9 P:27 SP:FB CYC:291 SL:57
D615 A9 LDA #$AA PC:D616 A:00 X:33 Y:BA P:A5 SP:FB CYC:297 SL:57
D617 8D STA $0678 PC:D618 A:AA X:33 Y:BA P:A5 SP:FB CYC:303 SL:57
D61A 20 JSR $F7DF PC:D61B A:AA X:33 Y:BA P:A5 SP:FB CYC:315 SL:57
F7DF 18 CLC PC:F7E0 A:AA X:33 Y:BA P:A5 SP:F9 CYC:333 SL:57
F7E0 24 BIT $01 PC:F7E1 A:AA X:33 Y:BA P:A4 SP:F9 CYC:339 SL:57
F7E2 A9 LDA #$55 PC:F7E3 A:AA X:33 Y:BA P:E4 SP:F9 CYC:7 SL:58
F7E4 60 RTS PC:F7E5 A:55 X:33 Y:BA P:64 SP:F9 CYC:13 SL:58
D61D 2D AND $0678 PC:D61E A:55 X:33 Y:BA P:64 SP:FB CYC:31 SL:58
D620 20 JSR $F7E5 PC:D621 A:00 X:33 Y:BA P:66 SP:FB CYC:43 SL:58
F7E5 D0 BNE $F7EE PC:F7E6 A:00 X:33 Y:BA P:66 SP:F9 CYC:61 SL:58
F7E7 50 BVC $F7EE PC:F7E8 A:00 X:33 Y:BA P:66 SP:F9 CYC:67 SL:58
F7E9 B0 BCS $F7EE PC:F7EA A:00 X:33 Y:BA P:66 SP:F9 CYC:73 SL:58
F7EB 30 BMI $F7EE PC:F7EC A:00 X:33 Y:BA P:66 SP:F9 CYC:79 SL:58
F7ED 60 RTS PC:F7EE A:00 X:33 Y:BA P:66 SP:F9 CYC:85 SL:58
D623 C8 INY PC:D624 A:00 X:33 Y:BA P:66 SP:FB CYC:103 SL:58
D624 A9 LDA #$EF PC:D625 A:00 X:33 Y:BB P:E4 SP:FB CYC:109 SL:58
D626 8D STA $0678 PC:D627 A:EF X:33 Y:BB P:E4 SP:FB CYC:115 SL:58
D629 20 JSR $F7F1 PC:D62A A:EF X:33 Y:BB P:E4 SP:FB CYC:127 SL:58
F7F1 38 SEC PC:F7F2 A:EF X:33 Y:BB P:E4 SP:F9 CYC:145 SL:58
F7F2 B8 CLV PC:F7F3 A:EF X:33 Y:BB P:E5 SP:F9 CYC:151 SL:58
F7F3 A9 LDA #$F8 PC:F7F4 A:EF X:33 Y:BB P:A5 SP:F9 CYC:157 SL:58
F7F5 60 RTS PC:F7F6 A:F8 X:33 Y:BB P:A5 SP:F9 CYC:163 SL:58
D62C 2D AND $0678 PC:D62D A:F8 X:33 Y:BB P:A5 SP:FB CYC:181 SL:58
D62F 20 JSR $F7F6 PC:D630 A:E8 X:33 Y:BB P:A5 SP:FB CYC:193 SL:58
F7F6 90 BCC $F801 PC:F7F7 A:E8 X:33 Y:BB P:A5 SP:F9 CYC:211 SL:58
F7F8 10 BPL $F801 PC:F7F9 A:E8 X:33 Y:BB P:A5 SP:F9 CYC:217 SL:58
F7FA C9 CMP #$E8 PC:F7FB A:E8 X:33 Y:BB P:A5 SP:F9 CYC:223 SL:58
F7FC D0 BNE $F801 PC:F7FD A:E8 X:33 Y:BB P:27 SP:F9 CYC:229 SL:58
F7FE 70 BVS $F801 PC:F7FF A:E8 X:33 Y:BB P:27 SP:F9 CYC:235 SL:58
F800 60 RTS PC:F801 A:E8 X:33 Y:BB P:27 SP:F9 CYC:241 SL:58
D632 C8 INY PC:D633 A:E8 X:33 Y:BB P:27 SP:FB CYC:259 SL:58
D633 A9 LDA #$AA PC:D634 A:E8 X:33 Y:BC P:A5 SP:FB CYC:265 SL:58
D635 8D STA $0678 PC:D636 A:AA X:33 Y:BC P:A5 SP:FB CYC:271 SL:58
D638 20 JSR $F804 PC:D639 A:AA X:33 Y:BC P:A5 SP:FB CYC:283 SL:58
F804 18 CLC PC:F805 A:AA X:33 Y:BC P:A5 SP:F9 CYC:301 SL:58
F805 24 BIT $01 PC:F806 A:AA X:33 Y:BC P:A4 SP:F9 CYC:307 SL:58
F807 A9 LDA #$5F PC:F808 A:AA X:33 Y:BC P:E4 SP:F9 CYC:316 SL:58
F809 60 RTS PC:F80A A:5F X:33 Y:BC P:64 SP:F9 CYC:322 SL:58
D63B 4D EOR $0678 PC:D63C A:5F X:33 Y:BC P:64 SP:FB CYC:340 SL:58
D63E 20 JSR $F80A PC:D63F A:F5 X:33 Y:BC P:E4 SP:FB CYC:11 SL:59
F80A B0 BCS $F815 PC:F80B A:F5 X:33 Y:BC P:E4 SP:F9 CYC:29 SL:59
F80C 10 BPL $F815 PC:F80D A:F5 X:33 Y:BC P:E4 SP:F9 CYC:35 SL:59
F80E C9 CMP #$F5 PC:F80F A:F5 X:33 Y:BC P:E4 SP:F9 CYC:41 SL:59
F810 D0 BNE $F815 PC:F811 A:F5 X:33 Y:BC P:67 SP:F9 CYC:47 SL:59
F812 50 BVC $F815 PC:F813 A:F5 X:33 Y:BC P:67 SP:F9 CYC:53 SL:59
F814 60 RTS PC:F815 A:F5 X:33 Y:BC P:67 SP:F9 CYC:59 SL:59
D641 C8 INY PC:D642 A:F5 X:33 Y:BC P:67 SP:FB CYC:77 SL:59
D642 A9 LDA #$70 PC:D643 A:F5 X:33 Y:BD P:E5 SP:FB CYC:83 SL:59
D644 8D STA $0678 PC:D645 A:70 X:33 Y:BD P:65 SP:FB CYC:89 SL:59
D647 20 JSR $F818 PC:D648 A:70 X:33 Y:BD P:65 SP:FB CYC:101 SL:59
F818 38 SEC PC:F819 A:70 X:33 Y:BD P:65 SP:F9 CYC:119 SL:59
F819 B8 CLV PC:F81A A:70 X:33 Y:BD P:65 SP:F9 CYC:125 SL:59
F81A A9 LDA #$70 PC:F81B A:70 X:33 Y:BD P:25 SP:F9 CYC:131 SL:59
F81C 60 RTS PC:F81D A:70 X:33 Y:BD P:25 SP:F9 CYC:137 SL:59
D64A 4D EOR $0678 PC:D64B A:70 X:33 Y:BD P:25 SP:FB CYC:155 SL:59
D64D 20 JSR $F81D PC:D64E A:00 X:33 Y:BD P:27 SP:FB CYC:167 SL:59
F81D D0 BNE $F826 PC:F81E A:00 X:33 Y:BD P:27 SP:F9 CYC:185 SL:59
F81F 70 BVS $F826 PC:F820 A:00 X:33 Y:BD P:27 SP:F9 CYC:191 SL:59
F821 90 BCC $F826 PC:F822 A:00 X:33 Y:BD P:27 SP:F9 CYC:197 SL:59
F823 30 BMI $F826 PC:F824 A:00 X:33 Y:BD P:27 SP:F9 CYC:203 SL:59
F825 60 RTS PC:F826 A:00 X:33 Y:BD P:27 SP:F9 CYC:209 SL:59
D650 C8 INY PC:D651 A:00 X:33 Y:BD P:27 SP:FB CYC:227 SL:59
D651 A9 LDA #$69 PC:D652 A:00 X:33 Y:BE P:A5 SP:FB CYC:233 SL:59
D653 8D STA $0678 PC:D654 A:69 X:33 Y:BE P:25 SP:FB CYC:239 SL:59
D656 20 JSR $F829 PC:D657 A:69 X:33 Y:BE P:25 SP:FB CYC:251 SL:59
F829 18 CLC PC:F82A A:69 X:33 Y:BE P:25 SP:F9 CYC:269 SL:59
F82A 24 BIT $01 PC:F82B A:69 X:33 Y:BE P:24 SP:F9 CYC:275 SL:59
F82C A9 LDA #$00 PC:F82D A:69 X:33 Y:BE P:E4 SP:F9 CYC:284 SL:59
F82E 60 RTS PC:F82F A:00 X:33 Y:BE P:66 SP:F9 CYC:290 SL:59
D659 6D ADC $0678 PC:D65A A:00 X:33 Y:BE P:66 SP:FB CYC:308 SL:59
D65C 20 JSR $F82F PC:D65D A:69 X:33 Y:BE P:24 SP:FB CYC:320 SL:59
F82F 30 BMI $F83A PC:F830 A:69 X:33 Y:BE P:24 SP:F9 CYC:338 SL:59
F831 B0 BCS $F83A PC:F832 A:69 X:33 Y:BE P:24 SP:F9 CYC:3 SL:60
F833 C9 CMP #$69 PC:F834 A:69 X:33 Y:BE P:24 SP:F9 CYC:9 SL:60
F835 D0 BNE $F83A PC:F836 A:69 X:33 Y:BE P:27 SP:F9 CYC:15 SL:60
F837 70 BVS $F83A PC:F838 A:69 X:33 Y:BE P:27 SP:F9 CYC:21 SL:60
F839 60 RTS PC:F83A A:69 X:33 Y:BE P:27 SP:F9 CYC:27 SL:60
D65F C8 INY PC:D660 A:69 X:33 Y:BE P:27 SP:FB CYC:45 SL:60
D660 20 JSR $F83D PC:D661 A:69 X:33 Y:BF P:A5 SP:FB CYC:51 SL:60
F83D 38 SEC PC:F83E A:69 X:33 Y:BF P:A5 SP:F9 CYC:69 SL:60
F83E 24 BIT $01 PC:F83F A:69 X:33 Y:BF P:A5 SP:F9 CYC:75 SL:60
F840 A9 LDA #$00 PC:F841 A:69 X:33 Y:BF P:E5 SP:F9 CYC:84 SL:60
F842 60 RTS PC:F843 A:00 X:33 Y:BF P:67 SP:F9 CYC:90 SL:60
D663 6D ADC $0678 PC:D664 A:00 X:33 Y:BF P:67 SP:FB CYC:108 SL:60
D666 20 JSR $F843 PC:D667 A:6A X:33 Y:BF P:24 SP:FB CYC:120 SL:60
F843 30 BMI $F84E PC:F844 A:6A X:33 Y:BF P:24 SP:F9 CYC:138 SL:60
F845 B0 BCS $F84E PC:F846 A:6A X:33 Y:BF P:24 SP:F9 CYC:144 SL:60
F847 C9 CMP #$6A PC:F848 A:6A X:33 Y:BF P:24 SP:F9 CYC:150 SL:60
F849 D0 BNE $F84E PC:F84A A:6A X:33 Y:BF P:27 SP:F9 CYC:156 SL:60
F84B 70 BVS $F84E PC:F84C A:6A X:33 Y:BF P:27 SP:F9 CYC:162 SL:60
F84D 60 RTS PC:F84E A:6A X:33 Y:BF P:27 SP:F9 CYC:168 SL:60
D669 C8 INY PC:D66A A:6A X:33 Y:BF P:27 SP:FB CYC:186 SL:60
D66A A9 LDA #$7F PC:D66B A:6A X:33 Y:C0 P:A5 SP:FB CYC:192 SL:60
D66C 8D STA $0678 PC:D66D A:7F X:33 Y:C0 P:25 SP:FB CYC:198 SL:60
D66F 20 JSR $F851 PC:D670 A:7F X:33 Y:C0 P:25 SP:FB CYC:210 SL:60
F851 38 SEC PC:F852 A:7F X:33 Y:C0 P:25 SP:F9 CYC:228 SL:60
F852 B8 CLV PC:F853 A:7F X:33 Y:C0 P:25 SP:F9 CYC:234 SL:60
F853 A9 LDA #$7F PC:F854 A:7F X:33 Y:C0 P:25 SP:F9 CYC:240 SL:60
F855 60 RTS PC:F856 A:7F X:33 Y:C0 P:25 SP:F9 CYC:246 SL:60
D672 6D ADC $0678 PC:D673 A:7F X:33 Y:C0 P:25 SP:FB CYC:264 SL:60
D675 20 JSR $F856 PC:D676 A:FF X:33 Y:C0 P:E4 SP:FB CYC:276 SL:60
F856 10 BPL $F861 PC:F857 A:FF X:33 Y:C0 P:E4 SP:F9 CYC:294 SL:60
F858 B0 BCS $F861 PC:F859 A:FF X:33 Y:C0 P:E4 SP:F9 CYC:300 SL:60
F85A C9 CMP #$FF PC:F85B A:FF X:33 Y:C0 P:E4 SP:F9 CYC:306 SL:60
F85C D0 BNE $F861 PC:F85D A:FF X:33 Y:C0 P:67 SP:F9 CYC:312 SL:60
F85E 50 BVC $F861 PC:F85F A:FF X:33 Y:C0 P:67 SP:F9 CYC:318 SL:60
F860 60 RTS PC:F861 A:FF X:33 Y:C0 P:67 SP:F9 CYC:324 SL:60
D678 C8 INY PC:D679 A:FF X:33 Y:C0 P:67 SP:FB CYC:1 SL:61
D679 A9 LDA #$80 PC:D67A A:FF X:33 Y:C1 P:E5 SP:FB CYC:7 SL:61
D67B 8D STA $0678 PC:D67C A:80 X:33 Y:C1 P:E5 SP:FB CYC:13 SL:61
D67E 20 JSR $F864 PC:D67F A:80 X:33 Y:C1 P:E5 SP:FB CYC:25 SL:61
F864 18 CLC PC:F865 A:80 X:33 Y:C1 P:E5 SP:F9 CYC:43 SL:61
F865 24 BIT $01 PC:F866 A:80 X:33 Y:C1 P:E4 SP:F9 CYC:49 SL:61
F867 A9 LDA #$7F PC:F868 A:80 X:33 Y:C1 P:E4 SP:F9 CYC:58 SL:61
F869 60 RTS PC:F86A A:7F X:33 Y:C1 P:64 SP:F9 CYC:64 SL:61
D681 6D ADC $0678 PC:D682 A:7F X:33 Y:C1 P:64 SP:FB CYC:82 SL:61
D684 20 JSR $F86A PC:D685 A:FF X:33 Y:C1 P:A4 SP:FB CYC:94 SL:61
F86A 10 BPL $F875 PC:F86B A:FF X:33 Y:C1 P:A4 SP:F9 CYC:112 SL:61
F86C B0 BCS $F875 PC:F86D A:FF X:33 Y:C1 P:A4 SP:F9 CYC:118 SL:61
F86E C9 CMP #$FF PC:F86F A:FF X:33 Y:C1 P:A4 SP:F9 CYC:124 SL:61
F870 D0 BNE $F875 PC:F871 A:FF X:33 Y:C1 P:27 SP:F9 CYC:130 SL:61
F872 70 BVS $F875 PC:F873 A:FF X:33 Y:C1 P:27 SP:F9 CYC:136 SL:61
F874 60 RTS PC:F875 A:FF X:33 Y:C1 P:27 SP:F9 CYC:142 SL:61
D687 C8 INY PC:D688 A:FF X:33 Y:C1 P:27 SP:FB CYC:160 SL:61
D688 20 JSR $F878 PC:D689 A:FF X:33 Y:C2 P:A5 SP:FB CYC:166 SL:61
F878 38 SEC PC:F879 A:FF X:33 Y:C2 P:A5 SP:F9 CYC:184 SL:61
F879 B8 CLV PC:F87A A:FF X:33 Y:C2 P:A5 SP:F9 CYC:190 SL:61
F87A A9 LDA #$7F PC:F87B A:FF X:33 Y:C2 P:A5 SP:F9 CYC:196 SL:61
F87C 60 RTS PC:F87D A:7F X:33 Y:C2 P:25 SP:F9 CYC:202 SL:61
D68B 6D ADC $0678 PC:D68C A:7F X:33 Y:C2 P:25 SP:FB CYC:220 SL:61
D68E 20 JSR $F87D PC:D68F A:00 X:33 Y:C2 P:27 SP:FB CYC:232 SL:61
F87D D0 BNE $F886 PC:F87E A:00 X:33 Y:C2 P:27 SP:F9 CYC:250 SL:61
F87F 30 BMI $F886 PC:F880 A:00 X:33 Y:C2 P:27 SP:F9 CYC:256 SL:61
F881 70 BVS $F886 PC:F882 A:00 X:33 Y:C2 P:27 SP:F9 CYC:262 SL:61
F883 90 BCC $F886 PC:F884 A:00 X:33 Y:C2 P:27 SP:F9 CYC:268 SL:61
F885 60 RTS PC:F886 A:00 X:33 Y:C2 P:27 SP:F9 CYC:274 SL:61
D691 C8 INY PC:D692 A:00 X:33 Y:C2 P:27 SP:FB CYC:292 SL:61
D692 A9 LDA #$40 PC:D693 A:00 X:33 Y:C3 P:A5 SP:FB CYC:298 SL:61
D694 8D STA $0678 PC:D695 A:40 X:33 Y:C3 P:25 SP:FB CYC:304 SL:61
D697 20 JSR $F889 PC:D698 A:40 X:33 Y:C3 P:25 SP:FB CYC:316 SL:61
F889 24 BIT $01 PC:F88A A:40 X:33 Y:C3 P:25 SP:F9 CYC:334 SL:61
F88B A9 LDA #$40 PC:F88C A:40 X:33 Y:C3 P:E5 SP:F9 CYC:2 SL:62
F88D 60 RTS PC:F88E A:40 X:33 Y:C3 P:65 SP:F9 CYC:8 SL:62
D69A CD CMP $0678 PC:D69B A:40 X:33 Y:C3 P:65 SP:FB CYC:26 SL:62
D69D 20 JSR $F88E PC:D69E A:40 X:33 Y:C3 P:67 SP:FB CYC:38 SL:62
F88E 30 BMI $F897 PC:F88F A:40 X:33 Y:C3 P:67 SP:F9 CYC:56 SL:62
F890 90 BCC $F897 PC:F891 A:40 X:33 Y:C3 P:67 SP:F9 CYC:62 SL:62
F892 D0 BNE $F897 PC:F893 A:40 X:33 Y:C3 P:67 SP:F9 CYC:68 SL:62
F894 50 BVC $F897 PC:F895 A:40 X:33 Y:C3 P:67 SP:F9 CYC:74 SL:62
F896 60 RTS PC:F897 A:40 X:33 Y:C3 P:67 SP:F9 CYC:80 SL:62
D6A0 C8 INY PC:D6A1 A:40 X:33 Y:C3 P:67 SP:FB CYC:98 SL:62
D6A1 48 PHA PC:D6A2 A:40 X:33 Y:C4 P:E5 SP:FB CYC:104 SL:62
D6A2 A9 LDA #$3F PC:D6A3 A:40 X:33 Y:C4 P:E5 SP:FA CYC:113 SL:62
D6A4 8D STA $0678 PC:D6A5 A:3F X:33 Y:C4 P:65 SP:FA CYC:119 SL:62
D6A7 68 PLA PC:D6A8 A:3F X:33 Y:C4 P:65 SP:FA CYC:131 SL:62
D6A8 20 JSR $F89A PC:D6A9 A:40 X:33 Y:C4 P:65 SP:FB CYC:143 SL:62
F89A B8 CLV PC:F89B A:40 X:33 Y:C4 P:65 SP:F9 CYC:161 SL:62
F89B 60 RTS PC:F89C A:40 X:33 Y:C4 P:25 SP:F9 CYC:167 SL:62
D6AB CD CMP $0678 PC:D6AC A:40 X:33 Y:C4 P:25 SP:FB CYC:185 SL:62
D6AE 20 JSR $F89C PC:D6AF A:40 X:33 Y:C4 P:25 SP:FB CYC:197 SL:62
F89C F0 BEQ $F8A5 PC:F89D A:40 X:33 Y:C4 P:25 SP:F9 CYC:215 SL:62
F89E 30 BMI $F8A5 PC:F89F A:40 X:33 Y:C4 P:25 SP:F9 CYC:221 SL:62
F8A0 90 BCC $F8A5 PC:F8A1 A:40 X:33 Y:C4 P:25 SP:F9 CYC:227 SL:62
F8A2 70 BVS $F8A5 PC:F8A3 A:40 X:33 Y:C4 P:25 SP:F9 CYC:233 SL:62
F8A4 60 RTS PC:F8A5 A:40 X:33 Y:C4 P:25 SP:F9 CYC:239 SL:62
D6B1 C8 INY PC:D6B2 A:40 X:33 Y:C4 P:25 SP:FB CYC:257 SL:62
D6B2 48 PHA PC:D6B3 A:40 X:33 Y:C5 P:A5 SP:FB CYC:263 SL:62
D6B3 A9 LDA #$41 PC:D6B4 A:40 X:33 Y:C5 P:A5 SP:FA CYC:272 SL:62
D6B5 8D STA $0678 PC:D6B6 A:41 X:33 Y:C5 P:25 SP:FA CYC:278 SL:62
D6B8 68 PLA PC:D6B9 A:41 X:33 Y:C5 P:25 SP:FA CYC:290 SL:62
D6B9 CD CMP $0678 PC:D6BA A:40 X:33 Y:C5 P:25 SP:FB CYC:302 SL:62
D6BC 20 JSR $F8A8 PC:D6BD A:40 X:33 Y:C5 P:A4 SP:FB CYC:314 SL:62
F8A8 F0 BEQ $F8AF PC:F8A9 A:40 X:33 Y:C5 P:A4 SP:F9 CYC:332 SL:62
F8AA 10 BPL $F8AF PC:F8AB A:40 X:33 Y:C5 P:A4 SP:F9 CYC:338 SL:62
F8AC 10 BPL $F8AF PC:F8AD A:40 X:33 Y:C5 P:A4 SP:F9 CYC:3 SL:63
F8AE 60 RTS PC:F8AF A:40 X:33 Y:C5 P:A4 SP:F9 CYC:9 SL:63
D6BF C8 INY PC:D6C0 A:40 X:33 Y:C5 P:A4 SP:FB CYC:27 SL:63
D6C0 48 PHA PC:D6C1 A:40 X:33 Y:C6 P:A4 SP:FB CYC:33 SL:63
D6C1 A9 LDA #$00 PC:D6C2 A:40 X:33 Y:C6 P:A4 SP:FA CYC:42 SL:63
D6C3 8D STA $0678 PC:D6C4 A:00 X:33 Y:C6 P:26 SP:FA CYC:48 SL:63
D6C6 68 PLA PC:D6C7 A:00 X:33 Y:C6 P:26 SP:FA CYC:60 SL:63
D6C7 20 JSR $F8B2 PC:D6C8 A:40 X:33 Y:C6 P:24 SP:FB CYC:72 SL:63
F8B2 A9 LDA #$80 PC:F8B3 A:40 X:33 Y:C6 P:24 SP:F9 CYC:90 SL:63
F8B4 60 RTS PC:F8B5 A:80 X:33 Y:C6 P:A4 SP:F9 CYC:96 SL:63
D6CA CD CMP $0678 PC:D6CB A:80 X:33 Y:C6 P:A4 SP:FB CYC:114 SL:63
D6CD 20 JSR $F8B5 PC:D6CE A:80 X:33 Y:C6 P:A5 SP:FB CYC:126 SL:63
F8B5 F0 BEQ $F8BC PC:F8B6 A:80 X:33 Y:C6 P:A5 SP:F9 CYC:144 SL:63
F8B7 10 BPL $F8BC PC:F8B8 A:80 X:33 Y:C6 P:A5 SP:F9 CYC:150 SL:63
F8B9 90 BCC $F8BC PC:F8BA A:80 X:33 Y:C6 P:A5 SP:F9 CYC:156 SL:63
F8BB 60 RTS PC:F8BC A:80 X:33 Y:C6 P:A5 SP:F9 CYC:162 SL:63
D6D0 C8 INY PC:D6D1 A:80 X:33 Y:C6 P:A5 SP:FB CYC:180 SL:63
D6D1 48 PHA PC:D6D2 A:80 X:33 Y:C7 P:A5 SP:FB CYC:186 SL:63
D6D2 A9 LDA #$80 PC:D6D3 A:80 X:33 Y:C7 P:A5 SP:FA CYC:195 SL:63
D6D4 8D STA $0678 PC:D6D5 A:80 X:33 Y:C7 P:A5 SP:FA CYC:201 SL:63
D6D7 68 PLA PC:D6D8 A:80 X:33 Y:C7 P:A5 SP:FA CYC:213 SL:63
D6D8 CD CMP $0678 PC:D6D9 A:80 X:33 Y:C7 P:A5 SP:FB CYC:225 SL:63
D6DB 20 JSR $F8BF PC:D6DC A:80 X:33 Y:C7 P:27 SP:FB CYC:237 SL:63
F8BF D0 BNE $F8C6 PC:F8C0 A:80 X:33 Y:C7 P:27 SP:F9 CYC:255 SL:63
F8C1 30 BMI $F8C6 PC:F8C2 A:80 X:33 Y:C7 P:27 SP:F9 CYC:261 SL:63
F8C3 90 BCC $F8C6 PC:F8C4 A:80 X:33 Y:C7 P:27 SP:F9 CYC:267 SL:63
F8C5 60 RTS PC:F8C6 A:80 X:33 Y:C7 P:27 SP:F9 CYC:273 SL:63
D6DE C8 INY PC:D6DF A:80 X:33 Y:C7 P:27 SP:FB CYC:291 SL:63
D6DF 48 PHA PC:D6E0 A:80 X:33 Y:C8 P:A5 SP:FB CYC:297 SL:63
D6E0 A9 LDA #$81 PC:D6E1 A:80 X:33 Y:C8 P:A5 SP:FA CYC:306 SL:63
D6E2 8D STA $0678 PC:D6E3 A:81 X:33 Y:C8 P:A5 SP:FA CYC:312 SL:63
D6E5 68 PLA PC:D6E6 A:81 X:33 Y:C8 P:A5 SP:FA CYC:324 SL:63
D6E6 CD CMP $0678 PC:D6E7 A:80 X:33 Y:C8 P:A5 SP:FB CYC:336 SL:63
D6E9 20 JSR $F8C9 PC:D6EA A:80 X:33 Y:C8 P:A4 SP:FB CYC:7 SL:64
F8C9 B0 BCS $F8D0 PC:F8CA A:80 X:33 Y:C8 P:A4 SP:F9 CYC:25 SL:64
F8CB F0 BEQ $F8D0 PC:F8CC A:80 X:33 Y:C8 P:A4 SP:F9 CYC:31 SL:64
F8CD 10 BPL $F8D0 PC:F8CE A:80 X:33 Y:C8 P:A4 SP:F9 CYC:37 SL:64
F8CF 60 RTS PC:F8D0 A:80 X:33 Y:C8 P:A4 SP:F9 CYC:43 SL:64
D6EC C8 INY PC:D6ED A:80 X:33 Y:C8 P:A4 SP:FB CYC:61 SL:64
D6ED 48 PHA PC:D6EE A:80 X:33 Y:C9 P:A4 SP:FB CYC:67 SL:64
D6EE A9 LDA #$7F PC:D6EF A:80 X:33 Y:C9 P:A4 SP:FA CYC:76 SL:64
D6F0 8D STA $0678 PC:D6F1 A:7F X:33 Y:C9 P:24 SP:FA CYC:82 SL:64
D6F3 68 PLA PC:D6F4 A:7F X:33 Y:C9 P:24 SP:FA CYC:94 SL:64
D6F4 CD CMP $0678 PC:D6F5 A:80 X:33 Y:C9 P:A4 SP:FB CYC:106 SL:64
D6F7 20 JSR $F8D3 PC:D6F8 A:80 X:33 Y:C9 P:25 SP:FB CYC:118 SL:64
F8D3 90 BCC $F8DA PC:F8D4 A:80 X:33 Y:C9 P:25 SP:F9 CYC:136 SL:64
F8D5 F0 BEQ $F8DA PC:F8D6 A:80 X:33 Y:C9 P:25 SP:F9 CYC:142 SL:64
F8D7 30 BMI $F8DA PC:F8D8 A:80 X:33 Y:C9 P:25 SP:F9 CYC:148 SL:64
F8D9 60 RTS PC:F8DA A:80 X:33 Y:C9 P:25 SP:F9 CYC:154 SL:64
D6FA C8 INY PC:D6FB A:80 X:33 Y:C9 P:25 SP:FB CYC:172 SL:64
D6FB A9 LDA #$40 PC:D6FC A:80 X:33 Y:CA P:A5 SP:FB CYC:178 SL:64
D6FD 8D STA $0678 PC:D6FE A:40 X:33 Y:CA P:25 SP:FB CYC:184 SL:64
D700 20 JSR $F931 PC:D701 A:40 X:33 Y:CA P:25 SP:FB CYC:196 SL:64
F931 24 BIT $01 PC:F932 A:40 X:33 Y:CA P:25 SP:F9 CYC:214 SL:64
F933 A9 LDA #$40 PC:F934 A:40 X:33 Y:CA P:E5 SP:F9 CYC:223 SL:64
F935 38 SEC PC:F936 A:40 X:33 Y:CA P:65 SP:F9 CYC:229 SL:64
F936 60 RTS PC:F937 A:40 X:33 Y:CA P:65 SP:F9 CYC:235 SL:64
D703 ED SBC $0678 PC:D704 A:40 X:33 Y:CA P:65 SP:FB CYC:253 SL:64
D706 20 JSR $F937 PC:D707 A:00 X:33 Y:CA P:27 SP:FB CYC:265 SL:64
F937 30 BMI $F944 PC:F938 A:00 X:33 Y:CA P:27 SP:F9 CYC:283 SL:64
F939 90 BCC $F944 PC:F93A A:00 X:33 Y:CA P:27 SP:F9 CYC:289 SL:64
F93B D0 BNE $F944 PC:F93C A:00 X:33 Y:CA P:27 SP:F9 CYC:295 SL:64
F93D 70 BVS $F944 PC:F93E A:00 X:33 Y:CA P:27 SP:F9 CYC:301 SL:64
F93F C9 CMP #$00 PC:F940 A:00 X:33 Y:CA P:27 SP:F9 CYC:307 SL:64
F941 D0 BNE $F944 PC:F942 A:00 X:33 Y:CA P:27 SP:F9 CYC:313 SL:64
F943 60 RTS PC:F944 A:00 X:33 Y:CA P:27 SP:F9 CYC:319 SL:64
D709 C8 INY PC:D70A A:00 X:33 Y:CA P:27 SP:FB CYC:337 SL:64
D70A A9 LDA #$3F PC:D70B A:00 X:33 Y:CB P:A5 SP:FB CYC:2 SL:65
D70C 8D STA $0678 PC:D70D A:3F X:33 Y:CB P:25 SP:FB CYC:8 SL:65
D70F 20 JSR $F947 PC:D710 A:3F X:33 Y:CB P:25 SP:FB CYC:20 SL:65
F947 B8 CLV PC:F948 A:3F X:33 Y:CB P:25 SP:F9 CYC:38 SL:65
F948 38 SEC PC:F949 A:3F X:33 Y:CB P:25 SP:F9 CYC:44 SL:65
F949 A9 LDA #$40 PC:F94A A:3F X:33 Y:CB P:25 SP:F9 CYC:50 SL:65
F94B 60 RTS PC:F94C A:40 X:33 Y:CB P:25 SP:F9 CYC:56 SL:65
D712 ED SBC $0678 PC:D713 A:40 X:33 Y:CB P:25 SP:FB CYC:74 SL:65
D715 20 JSR $F94C PC:D716 A:01 X:33 Y:CB P:25 SP:FB CYC:86 SL:65
F94C F0 BEQ $F959 PC:F94D A:01 X:33 Y:CB P:25 SP:F9 CYC:104 SL:65
F94E 30 BMI $F959 PC:F94F A:01 X:33 Y:CB P:25 SP:F9 CYC:110 SL:65
F950 90 BCC $F959 PC:F951 A:01 X:33 Y:CB P:25 SP:F9 CYC:116 SL:65
F952 70 BVS $F959 PC:F953 A:01 X:33 Y:CB P:25 SP:F9 CYC:122 SL:65
F954 C9 CMP #$01 PC:F955 A:01 X:33 Y:CB P:25 SP:F9 CYC:128 SL:65
F956 D0 BNE $F959 PC:F957 A:01 X:33 Y:CB P:27 SP:F9 CYC:134 SL:65
F958 60 RTS PC:F959 A:01 X:33 Y:CB P:27 SP:F9 CYC:140 SL:65
D718 C8 INY PC:D719 A:01 X:33 Y:CB P:27 SP:FB CYC:158 SL:65
D719 A9 LDA #$41 PC:D71A A:01 X:33 Y:CC P:A5 SP:FB CYC:164 SL:65
D71B 8D STA $0678 PC:D71C A:41 X:33 Y:CC P:25 SP:FB CYC:170 SL:65
D71E 20 JSR $F95C PC:D71F A:41 X:33 Y:CC P:25 SP:FB CYC:182 SL:65
F95C A9 LDA #$40 PC:F95D A:41 X:33 Y:CC P:25 SP:F9 CYC:200 SL:65
F95E 38 SEC PC:F95F A:40 X:33 Y:CC P:25 SP:F9 CYC:206 SL:65
F95F 24 BIT $01 PC:F960 A:40 X:33 Y:CC P:25 SP:F9 CYC:212 SL:65
F961 60 RTS PC:F962 A:40 X:33 Y:CC P:E5 SP:F9 CYC:221 SL:65
D721 ED SBC $0678 PC:D722 A:40 X:33 Y:CC P:E5 SP:FB CYC:239 SL:65
D724 20 JSR $F962 PC:D725 A:FF X:33 Y:CC P:A4 SP:FB CYC:251 SL:65
F962 B0 BCS $F96F PC:F963 A:FF X:33 Y:CC P:A4 SP:F9 CYC:269 SL:65
F964 F0 BEQ $F96F PC:F965 A:FF X:33 Y:CC P:A4 SP:F9 CYC:275 SL:65
F966 10 BPL $F96F PC:F967 A:FF X:33 Y:CC P:A4 SP:F9 CYC:281 SL:65
F968 70 BVS $F96F PC:F969 A:FF X:33 Y:CC P:A4 SP:F9 CYC:287 SL:65
F96A C9 CMP #$FF PC:F96B A:FF X:33 Y:CC P:A4 SP:F9 CYC:293 SL:65
F96C D0 BNE $F96F PC:F96D A:FF X:33 Y:CC P:27 SP:F9 CYC:299 SL:65
F96E 60 RTS PC:F96F A:FF X:33 Y:CC P:27 SP:F9 CYC:305 SL:65
D727 C8 INY PC:D728 A:FF X:33 Y:CC P:27 SP:FB CYC:323 SL:65
D728 A9 LDA #$00 PC:D729 A:FF X:33 Y:CD P:A5 SP:FB CYC:329 SL:65
D72A 8D STA $0678 PC:D72B A:00 X:33 Y:CD P:27 SP:FB CYC:335 SL:65
D72D 20 JSR $F972 PC:D72E A:00 X:33 Y:CD P:27 SP:FB CYC:6 SL:66
F972 18 CLC PC:F973 A:00 X:33 Y:CD P:27 SP:F9 CYC:24 SL:66
F973 A9 LDA #$80 PC:F974 A:00 X:33 Y:CD P:26 SP:F9 CYC:30 SL:66
F975 60 RTS PC:F976 A:80 X:33 Y:CD P:A4 SP:F9 CYC:36 SL:66
D730 ED SBC $0678 PC:D731 A:80 X:33 Y:CD P:A4 SP:FB CYC:54 SL:66
D733 20 JSR $F976 PC:D734 A:7F X:33 Y:CD P:65 SP:FB CYC:66 SL:66
F976 90 BCC $F97D PC:F977 A:7F X:33 Y:CD P:65 SP:F9 CYC:84 SL:66
F978 C9 CMP #$7F PC:F979 A:7F X:33 Y:CD P:65 SP:F9 CYC:90 SL:66
F97A D0 BNE $F97D PC:F97B A:7F X:33 Y:CD P:67 SP:F9 CYC:96 SL:66
F97C 60 RTS PC:F97D A:7F X:33 Y:CD P:67 SP:F9 CYC:102 SL:66
D736 C8 INY PC:D737 A:7F X:33 Y:CD P:67 SP:FB CYC:120 SL:66
D737 A9 LDA #$7F PC:D738 A:7F X:33 Y:CE P:E5 SP:FB CYC:126 SL:66
D739 8D STA $0678 PC:D73A A:7F X:33 Y:CE P:65 SP:FB CYC:132 SL:66
D73C 20 JSR $F980 PC:D73D A:7F X:33 Y:CE P:65 SP:FB CYC:144 SL:66
F980 38 SEC PC:F981 A:7F X:33 Y:CE P:65 SP:F9 CYC:162 SL:66
F981 A9 LDA #$81 PC:F982 A:7F X:33 Y:CE P:65 SP:F9 CYC:168 SL:66
F983 60 RTS PC:F984 A:81 X:33 Y:CE P:E5 SP:F9 CYC:174 SL:66
D73F ED SBC $0678 PC:D740 A:81 X:33 Y:CE P:E5 SP:FB CYC:192 SL:66
D742 20 JSR $F984 PC:D743 A:02 X:33 Y:CE P:65 SP:FB CYC:204 SL:66
F984 50 BVC $F98D PC:F985 A:02 X:33 Y:CE P:65 SP:F9 CYC:222 SL:66
F986 90 BCC $F98D PC:F987 A:02 X:33 Y:CE P:65 SP:F9 CYC:228 SL:66
F988 C9 CMP #$02 PC:F989 A:02 X:33 Y:CE P:65 SP:F9 CYC:234 SL:66
F98A D0 BNE $F98D PC:F98B A:02 X:33 Y:CE P:67 SP:F9 CYC:240 SL:66
F98C 60 RTS PC:F98D A:02 X:33 Y:CE P:67 SP:F9 CYC:246 SL:66
D745 C8 INY PC:D746 A:02 X:33 Y:CE P:67 SP:FB CYC:264 SL:66
D746 A9 LDA #$40 PC:D747 A:02 X:33 Y:CF P:E5 SP:FB CYC:270 SL:66
D748 8D STA $0678 PC:D749 A:40 X:33 Y:CF P:65 SP:FB CYC:276 SL:66
D74B 20 JSR $F889 PC:D74C A:40 X:33 Y:CF P:65 SP:FB CYC:288 SL:66
F889 24 BIT $01 PC:F88A A:40 X:33 Y:CF P:65 SP:F9 CYC:306 SL:66
F88B A9 LDA #$40 PC:F88C A:40 X:33 Y:CF P:E5 SP:F9 CYC:315 SL:66
F88D 60 RTS PC:F88E A:40 X:33 Y:CF P:65 SP:F9 CYC:321 SL:66
D74E AA TAX PC:D74F A:40 X:33 Y:CF P:65 SP:FB CYC:339 SL:66
D74F EC CPX $0678 PC:D750 A:40 X:40 Y:CF P:65 SP:FB CYC:4 SL:67
D752 20 JSR $F88E PC:D753 A:40 X:40 Y:CF P:67 SP:FB CYC:16 SL:67
F88E 30 BMI $F897 PC:F88F A:40 X:40 Y:CF P:67 SP:F9 CYC:34 SL:67
F890 90 BCC $F897 PC:F891 A:40 X:40 Y:CF P:67 SP:F9 CYC:40 SL:67
F892 D0 BNE $F897 PC:F893 A:40 X:40 Y:CF P:67 SP:F9 CYC:46 SL:67
F894 50 BVC $F897 PC:F895 A:40 X:40 Y:CF P:67 SP:F9 CYC:52 SL:67
F896 60 RTS PC:F897 A:40 X:40 Y:CF P:67 SP:F9 CYC:58 SL:67
D755 C8 INY PC:D756 A:40 X:40 Y:CF P:67 SP:FB CYC:76 SL:67
D756 A9 LDA #$3F PC:D757 A:40 X:40 Y:D0 P:E5 SP:FB CYC:82 SL:67
D758 8D STA $0678 PC:D759 A:3F X:40 Y:D0 P:65 SP:FB CYC:88 SL:67
D75B 20 JSR $F89A PC:D75C A:3F X:40 Y:D0 P:65 SP:FB CYC:100 SL:67
F89A B8 CLV PC:F89B A:3F X:40 Y:D0 P:65 SP:F9 CYC:118 SL:67
F89B 60 RTS PC:F89C A:3F X:40 Y:D0 P:25 SP:F9 CYC:124 SL:67
D75E EC CPX $0678 PC:D75F A:3F X:40 Y:D0 P:25 SP:FB CYC:142 SL:67
D761 20 JSR $F89C PC:D762 A:3F X:40 Y:D0 P:25 SP:FB CYC:154 SL:67
F89C F0 BEQ $F8A5 PC:F89D A:3F X:40 Y:D0 P:25 SP:F9 CYC:172 SL:67
F89E 30 BMI $F8A5 PC:F89F A:3F X:40 Y:D0 P:25 SP:F9 CYC:178 SL:67
F8A0 90 BCC $F8A5 PC:F8A1 A:3F X:40 Y:D0 P:25 SP:F9 CYC:184 SL:67
F8A2 70 BVS $F8A5 PC:F8A3 A:3F X:40 Y:D0 P:25 SP:F9 CYC:190 SL:67
F8A4 60 RTS PC:F8A5 A:3F X:40 Y:D0 P:25 SP:F9 CYC:196 SL:67
D764 C8 INY PC:D765 A:3F X:40 Y:D0 P:25 SP:FB CYC:214 SL:67
D765 A9 LDA #$41 PC:D766 A:3F X:40 Y:D1 P:A5 SP:FB CYC:220 SL:67
D767 8D STA $0678 PC:D768 A:41 X:40 Y:D1 P:25 SP:FB CYC:226 SL:67
D76A EC CPX $0678 PC:D76B A:41 X:40 Y:D1 P:25 SP:FB CYC:238 SL:67
D76D 20 JSR $F8A8 PC:D76E A:41 X:40 Y:D1 P:A4 SP:FB CYC:250 SL:67
F8A8 F0 BEQ $F8AF PC:F8A9 A:41 X:40 Y:D1 P:A4 SP:F9 CYC:268 SL:67
F8AA 10 BPL $F8AF PC:F8AB A:41 X:40 Y:D1 P:A4 SP:F9 CYC:274 SL:67
F8AC 10 BPL $F8AF PC:F8AD A:41 X:40 Y:D1 P:A4 SP:F9 CYC:280 SL:67
F8AE 60 RTS PC:F8AF A:41 X:40 Y:D1 P:A4 SP:F9 CYC:286 SL:67
D770 C8 INY PC:D771 A:41 X:40 Y:D1 P:A4 SP:FB CYC:304 SL:67
D771 A9 LDA #$00 PC:D772 A:41 X:40 Y:D2 P:A4 SP:FB CYC:310 SL:67
D773 8D STA $0678 PC:D774 A:00 X:40 Y:D2 P:26 SP:FB CYC:316 SL:67
D776 20 JSR $F8B2 PC:D777 A:00 X:40 Y:D2 P:26 SP:FB CYC:328 SL:67
F8B2 A9 LDA #$80 PC:F8B3 A:00 X:40 Y:D2 P:26 SP:F9 CYC:5 SL:68
F8B4 60 RTS PC:F8B5 A:80 X:40 Y:D2 P:A4 SP:F9 CYC:11 SL:68
D779 AA TAX PC:D77A A:80 X:40 Y:D2 P:A4 SP:FB CYC:29 SL:68
D77A EC CPX $0678 PC:D77B A:80 X:80 Y:D2 P:A4 SP:FB CYC:35 SL:68
D77D 20 JSR $F8B5 PC:D77E A:80 X:80 Y:D2 P:A5 SP:FB CYC:47 SL:68
F8B5 F0 BEQ $F8BC PC:F8B6 A:80 X:80 Y:D2 P:A5 SP:F9 CYC:65 SL:68
F8B7 10 BPL $F8BC PC:F8B8 A:80 X:80 Y:D2 P:A5 SP:F9 CYC:71 SL:68
F8B9 90 BCC $F8BC PC:F8BA A:80 X:80 Y:D2 P:A5 SP:F9 CYC:77 SL:68
F8BB 60 RTS PC:F8BC A:80 X:80 Y:D2 P:A5 SP:F9 CYC:83 SL:68
D780 C8 INY PC:D781 A:80 X:80 Y:D2 P:A5 SP:FB CYC:101 SL:68
D781 A9 LDA #$80 PC:D782 A:80 X:80 Y:D3 P:A5 SP:FB CYC:107 SL:68
D783 8D STA $0678 PC:D784 A:80 X:80 Y:D3 P:A5 SP:FB CYC:113 SL:68
D786 EC CPX $0678 PC:D787 A:80 X:80 Y:D3 P:A5 SP:FB CYC:125 SL:68
D789 20 JSR $F8BF PC:D78A A:80 X:80 Y:D3 P:27 SP:FB CYC:137 SL:68
F8BF D0 BNE $F8C6 PC:F8C0 A:80 X:80 Y:D3 P:27 SP:F9 CYC:155 SL:68
F8C1 30 BMI $F8C6 PC:F8C2 A:80 X:80 Y:D3 P:27 SP:F9 CYC:161 SL:68
F8C3 90 BCC $F8C6 PC:F8C4 A:80 X:80 Y:D3 P:27 SP:F9 CYC:167 SL:68
F8C5 60 RTS PC:F8C6 A:80 X:80 Y:D3 P:27 SP:F9 CYC:173 SL:68
D78C C8 INY PC:D78D A:80 X:80 Y:D3 P:27 SP:FB CYC:191 SL:68
D78D A9 LDA #$81 PC:D78E A:80 X:80 Y:D4 P:A5 SP:FB CYC:197 SL:68
D78F 8D STA $0678 PC:D790 A:81 X:80 Y:D4 P:A5 SP:FB CYC:203 SL:68
D792 EC CPX $0678 PC:D793 A:81 X:80 Y:D4 P:A5 SP:FB CYC:215 SL:68
D795 20 JSR $F8C9 PC:D796 A:81 X:80 Y:D4 P:A4 SP:FB CYC:227 SL:68
F8C9 B0 BCS $F8D0 PC:F8CA A:81 X:80 Y:D4 P:A4 SP:F9 CYC:245 SL:68
F8CB F0 BEQ $F8D0 PC:F8CC A:81 X:80 Y:D4 P:A4 SP:F9 CYC:251 SL:68
F8CD 10 BPL $F8D0 PC:F8CE A:81 X:80 Y:D4 P:A4 SP:F9 CYC:257 SL:68
F8CF 60 RTS PC:F8D0 A:81 X:80 Y:D4 P:A4 SP:F9 CYC:263 SL:68
D798 C8 INY PC:D799 A:81 X:80 Y:D4 P:A4 SP:FB CYC:281 SL:68
D799 A9 LDA #$7F PC:D79A A:81 X:80 Y:D5 P:A4 SP:FB CYC:287 SL:68
D79B 8D STA $0678 PC:D79C A:7F X:80 Y:D5 P:24 SP:FB CYC:293 SL:68
D79E EC CPX $0678 PC:D79F A:7F X:80 Y:D5 P:24 SP:FB CYC:305 SL:68
D7A1 20 JSR $F8D3 PC:D7A2 A:7F X:80 Y:D5 P:25 SP:FB CYC:317 SL:68
F8D3 90 BCC $F8DA PC:F8D4 A:7F X:80 Y:D5 P:25 SP:F9 CYC:335 SL:68
F8D5 F0 BEQ $F8DA PC:F8D6 A:7F X:80 Y:D5 P:25 SP:F9 CYC:0 SL:69
F8D7 30 BMI $F8DA PC:F8D8 A:7F X:80 Y:D5 P:25 SP:F9 CYC:6 SL:69
F8D9 60 RTS PC:F8DA A:7F X:80 Y:D5 P:25 SP:F9 CYC:12 SL:69
D7A4 C8 INY PC:D7A5 A:7F X:80 Y:D5 P:25 SP:FB CYC:30 SL:69
D7A5 98 TYA PC:D7A6 A:7F X:80 Y:D6 P:A5 SP:FB CYC:36 SL:69
D7A6 AA TAX PC:D7A7 A:D6 X:80 Y:D6 P:A5 SP:FB CYC:42 SL:69
D7A7 A9 LDA #$40 PC:D7A8 A:D6 X:D6 Y:D6 P:A5 SP:FB CYC:48 SL:69
D7A9 8D STA $0678 PC:D7AA A:40 X:D6 Y:D6 P:25 SP:FB CYC:54 SL:69
D7AC 20 JSR $F8DD PC:D7AD A:40 X:D6 Y:D6 P:25 SP:FB CYC:66 SL:69
F8DD 24 BIT $01 PC:F8DE A:40 X:D6 Y:D6 P:25 SP:F9 CYC:84 SL:69
F8DF A0 LDY #$40 PC:F8E0 A:40 X:D6 Y:D6 P:E5 SP:F9 CYC:93 SL:69
F8E1 60 RTS PC:F8E2 A:40 X:D6 Y:40 P:65 SP:F9 CYC:99 SL:69
D7AF CC CPY $0678 PC:D7B0 A:40 X:D6 Y:40 P:65 SP:FB CYC:117 SL:69
D7B2 20 JSR $F8E2 PC:D7B3 A:40 X:D6 Y:40 P:67 SP:FB CYC:129 SL:69
F8E2 30 BMI $F8EB PC:F8E3 A:40 X:D6 Y:40 P:67 SP:F9 CYC:147 SL:69
F8E4 90 BCC $F8EB PC:F8E5 A:40 X:D6 Y:40 P:67 SP:F9 CYC:153 SL:69
F8E6 D0 BNE $F8EB PC:F8E7 A:40 X:D6 Y:40 P:67 SP:F9 CYC:159 SL:69
F8E8 50 BVC $F8EB PC:F8E9 A:40 X:D6 Y:40 P:67 SP:F9 CYC:165 SL:69
F8EA 60 RTS PC:F8EB A:40 X:D6 Y:40 P:67 SP:F9 CYC:171 SL:69
D7B5 E8 INX PC:D7B6 A:40 X:D6 Y:40 P:67 SP:FB CYC:189 SL:69
D7B6 A9 LDA #$3F PC:D7B7 A:40 X:D7 Y:40 P:E5 SP:FB CYC:195 SL:69
D7B8 8D STA $0678 PC:D7B9 A:3F X:D7 Y:40 P:65 SP:FB CYC:201 SL:69
D7BB 20 JSR $F8EE PC:D7BC A:3F X:D7 Y:40 P:65 SP:FB CYC:213 SL:69
F8EE B8 CLV PC:F8EF A:3F X:D7 Y:40 P:65 SP:F9 CYC:231 SL:69
F8EF 60 RTS PC:F8F0 A:3F X:D7 Y:40 P:25 SP:F9 CYC:237 SL:69
D7BE CC CPY $0678 PC:D7BF A:3F X:D7 Y:40 P:25 SP:FB CYC:255 SL:69
D7C1 20 JSR $F8F0 PC:D7C2 A:3F X:D7 Y:40 P:25 SP:FB CYC:267 SL:69
F8F0 F0 BEQ $F8F9 PC:F8F1 A:3F X:D7 Y:40 P:25 SP:F9 CYC:285 SL:69
F8F2 30 BMI $F8F9 PC:F8F3 A:3F X:D7 Y:40 P:25 SP:F9 CYC:291 SL:69
F8F4 90 BCC $F8F9 PC:F8F5 A:3F X:D7 Y:40 P:25 SP:F9 CYC:297 SL:69
F8F6 70 BVS $F8F9 PC:F8F7 A:3F X:D7 Y:40 P:25 SP:F9 CYC:303 SL:69
F8F8 60 RTS PC:F8F9 A:3F X:D7 Y:40 P:25 SP:F9 CYC:309 SL:69
D7C4 E8 INX PC:D7C5 A:3F X:D7 Y:40 P:25 SP:FB CYC:327 SL:69
D7C5 A9 LDA #$41 PC:D7C6 A:3F X:D8 Y:40 P:A5 SP:FB CYC:333 SL:69
D7C7 8D STA $0678 PC:D7C8 A:41 X:D8 Y:40 P:25 SP:FB CYC:339 SL:69
D7CA CC CPY $0678 PC:D7CB A:41 X:D8 Y:40 P:25 SP:FB CYC:10 SL:70
D7CD 20 JSR $F8FC PC:D7CE A:41 X:D8 Y:40 P:A4 SP:FB CYC:22 SL:70
F8FC F0 BEQ $F903 PC:F8FD A:41 X:D8 Y:40 P:A4 SP:F9 CYC:40 SL:70
F8FE 10 BPL $F903 PC:F8FF A:41 X:D8 Y:40 P:A4 SP:F9 CYC:46 SL:70
F900 10 BPL $F903 PC:F901 A:41 X:D8 Y:40 P:A4 SP:F9 CYC:52 SL:70
F902 60 RTS PC:F903 A:41 X:D8 Y:40 P:A4 SP:F9 CYC:58 SL:70
D7D0 E8 INX PC:D7D1 A:41 X:D8 Y:40 P:A4 SP:FB CYC:76 SL:70
D7D1 A9 LDA #$00 PC:D7D2 A:41 X:D9 Y:40 P:A4 SP:FB CYC:82 SL:70
D7D3 8D STA $0678 PC:D7D4 A:00 X:D9 Y:40 P:26 SP:FB CYC:88 SL:70
D7D6 20 JSR $F906 PC:D7D7 A:00 X:D9 Y:40 P:26 SP:FB CYC:100 SL:70
F906 A0 LDY #$80 PC:F907 A:00 X:D9 Y:40 P:26 SP:F9 CYC:118 SL:70
F908 60 RTS PC:F909 A:00 X:D9 Y:80 P:A4 SP:F9 CYC:124 SL:70
D7D9 CC CPY $0678 PC:D7DA A:00 X:D9 Y:80 P:A4 SP:FB CYC:142 SL:70
D7DC 20 JSR $F909 PC:D7DD A:00 X:D9 Y:80 P:A5 SP:FB CYC:154 SL:70
F909 F0 BEQ $F910 PC:F90A A:00 X:D9 Y:80 P:A5 SP:F9 CYC:172 SL:70
F90B 10 BPL $F910 PC:F90C A:00 X:D9 Y:80 P:A5 SP:F9 CYC:178 SL:70
F90D 90 BCC $F910 PC:F90E A:00 X:D9 Y:80 P:A5 SP:F9 CYC:184 SL:70
F90F 60 RTS PC:F910 A:00 X:D9 Y:80 P:A5 SP:F9 CYC:190 SL:70
D7DF E8 INX PC:D7E0 A:00 X:D9 Y:80 P:A5 SP:FB CYC:208 SL:70
D7E0 A9 LDA #$80 PC:D7E1 A:00 X:DA Y:80 P:A5 SP:FB CYC:214 SL:70
D7E2 8D STA $0678 PC:D7E3 A:80 X:DA Y:80 P:A5 SP:FB CYC:220 SL:70
D7E5 CC CPY $0678 PC:D7E6 A:80 X:DA Y:80 P:A5 SP:FB CYC:232 SL:70
D7E8 20 JSR $F913 PC:D7E9 A:80 X:DA Y:80 P:27 SP:FB CYC:244 SL:70
F913 D0 BNE $F91A PC:F914 A:80 X:DA Y:80 P:27 SP:F9 CYC:262 SL:70
F915 30 BMI $F91A PC:F916 A:80 X:DA Y:80 P:27 SP:F9 CYC:268 SL:70
F917 90 BCC $F91A PC:F918 A:80 X:DA Y:80 P:27 SP:F9 CYC:274 SL:70
F919 60 RTS PC:F91A A:80 X:DA Y:80 P:27 SP:F9 CYC:280 SL:70
D7EB E8 INX PC:D7EC A:80 X:DA Y:80 P:27 SP:FB CYC:298 SL:70
D7EC A9 LDA #$81 PC:D7ED A:80 X:DB Y:80 P:A5 SP:FB CYC:304 SL:70
D7EE 8D STA $0678 PC:D7EF A:81 X:DB Y:80 P:A5 SP:FB CYC:310 SL:70
D7F1 CC CPY $0678 PC:D7F2 A:81 X:DB Y:80 P:A5 SP:FB CYC:322 SL:70
D7F4 20 JSR $F91D PC:D7F5 A:81 X:DB Y:80 P:A4 SP:FB CYC:334 SL:70
F91D B0 BCS $F924 PC:F91E A:81 X:DB Y:80 P:A4 SP:F9 CYC:11 SL:71
F91F F0 BEQ $F924 PC:F920 A:81 X:DB Y:80 P:A4 SP:F9 CYC:17 SL:71
F921 10 BPL $F924 PC:F922 A:81 X:DB Y:80 P:A4 SP:F9 CYC:23 SL:71
F923 60 RTS PC:F924 A:81 X:DB Y:80 P:A4 SP:F9 CYC:29 SL:71
D7F7 E8 INX PC:D7F8 A:81 X:DB Y:80 P:A4 SP:FB CYC:47 SL:71
D7F8 A9 LDA #$7F PC:D7F9 A:81 X:DC Y:80 P:A4 SP:FB CYC:53 SL:71
D7FA 8D STA $0678 PC:D7FB A:7F X:DC Y:80 P:24 SP:FB CYC:59 SL:71
D7FD CC CPY $0678 PC:D7FE A:7F X:DC Y:80 P:24 SP:FB CYC:71 SL:71
D800 20 JSR $F927 PC:D801 A:7F X:DC Y:80 P:25 SP:FB CYC:83 SL:71
F927 90 BCC $F92E PC:F928 A:7F X:DC Y:80 P:25 SP:F9 CYC:101 SL:71
F929 F0 BEQ $F92E PC:F92A A:7F X:DC Y:80 P:25 SP:F9 CYC:107 SL:71
F92B 30 BMI $F92E PC:F92C A:7F X:DC Y:80 P:25 SP:F9 CYC:113 SL:71
F92D 60 RTS PC:F92E A:7F X:DC Y:80 P:25 SP:F9 CYC:119 SL:71
D803 E8 INX PC:D804 A:7F X:DC Y:80 P:25 SP:FB CYC:137 SL:71
D804 8A TXA PC:D805 A:7F X:DD Y:80 P:A5 SP:FB CYC:143 SL:71
D805 A8 TAY PC:D806 A:DD X:DD Y:80 P:A5 SP:FB CYC:149 SL:71
D806 20 JSR $F990 PC:D807 A:DD X:DD Y:DD P:A5 SP:FB CYC:155 SL:71
F990 A2 LDX #$55 PC:F991 A:DD X:DD Y:DD P:A5 SP:F9 CYC:173 SL:71
F992 A9 LDA #$FF PC:F993 A:DD X:55 Y:DD P:25 SP:F9 CYC:179 SL:71
F994 85 STA $01 PC:F995 A:FF X:55 Y:DD P:A5 SP:F9 CYC:185 SL:71
F996 EA NOP PC:F997 A:FF X:55 Y:DD P:A5 SP:F9 CYC:194 SL:71
F997 24 BIT $01 PC:F998 A:FF X:55 Y:DD P:A5 SP:F9 CYC:200 SL:71
F999 38 SEC PC:F99A A:FF X:55 Y:DD P:E5 SP:F9 CYC:209 SL:71
F99A A9 LDA #$01 PC:F99B A:FF X:55 Y:DD P:E5 SP:F9 CYC:215 SL:71
F99C 60 RTS PC:F99D A:01 X:55 Y:DD P:65 SP:F9 CYC:221 SL:71
D809 8D STA $0678 PC:D80A A:01 X:55 Y:DD P:65 SP:FB CYC:239 SL:71
D80C 4E LSR $0678 PC:D80D A:01 X:55 Y:DD P:65 SP:FB CYC:251 SL:71
D80F AD LDA $0678 PC:D810 A:01 X:55 Y:DD P:67 SP:FB CYC:269 SL:71
D812 20 JSR $F99D PC:D813 A:00 X:55 Y:DD P:67 SP:FB CYC:281 SL:71
F99D 90 BCC $F9BA PC:F99E A:00 X:55 Y:DD P:67 SP:F9 CYC:299 SL:71
F99F D0 BNE $F9BA PC:F9A0 A:00 X:55 Y:DD P:67 SP:F9 CYC:305 SL:71
F9A1 30 BMI $F9BA PC:F9A2 A:00 X:55 Y:DD P:67 SP:F9 CYC:311 SL:71
F9A3 50 BVC $F9BA PC:F9A4 A:00 X:55 Y:DD P:67 SP:F9 CYC:317 SL:71
F9A5 C9 CMP #$00 PC:F9A6 A:00 X:55 Y:DD P:67 SP:F9 CYC:323 SL:71
F9A7 D0 BNE $F9BA PC:F9A8 A:00 X:55 Y:DD P:67 SP:F9 CYC:329 SL:71
F9A9 B8 CLV PC:F9AA A:00 X:55 Y:DD P:67 SP:F9 CYC:335 SL:71
F9AA A9 LDA #$AA PC:F9AB A:00 X:55 Y:DD P:27 SP:F9 CYC:0 SL:72
F9AC 60 RTS PC:F9AD A:AA X:55 Y:DD P:A5 SP:F9 CYC:6 SL:72
D815 C8 INY PC:D816 A:AA X:55 Y:DD P:A5 SP:FB CYC:24 SL:72
D816 8D STA $0678 PC:D817 A:AA X:55 Y:DE P:A5 SP:FB CYC:30 SL:72
D819 4E LSR $0678 PC:D81A A:AA X:55 Y:DE P:A5 SP:FB CYC:42 SL:72
D81C AD LDA $0678 PC:D81D A:AA X:55 Y:DE P:24 SP:FB CYC:60 SL:72
D81F 20 JSR $F9AD PC:D820 A:55 X:55 Y:DE P:24 SP:FB CYC:72 SL:72
F9AD B0 BCS $F9BA PC:F9AE A:55 X:55 Y:DE P:24 SP:F9 CYC:90 SL:72
F9AF F0 BEQ $F9BA PC:F9B0 A:55 X:55 Y:DE P:24 SP:F9 CYC:96 SL:72
F9B1 30 BMI $F9BA PC:F9B2 A:55 X:55 Y:DE P:24 SP:F9 CYC:102 SL:72
F9B3 70 BVS $F9BA PC:F9B4 A:55 X:55 Y:DE P:24 SP:F9 CYC:108 SL:72
F9B5 C9 CMP #$55 PC:F9B6 A:55 X:55 Y:DE P:24 SP:F9 CYC:114 SL:72
F9B7 D0 BNE $F9BA PC:F9B8 A:55 X:55 Y:DE P:27 SP:F9 CYC:120 SL:72
F9B9 60 RTS PC:F9BA A:55 X:55 Y:DE P:27 SP:F9 CYC:126 SL:72
D822 C8 INY PC:D823 A:55 X:55 Y:DE P:27 SP:FB CYC:144 SL:72
D823 20 JSR $F9BD PC:D824 A:55 X:55 Y:DF P:A5 SP:FB CYC:150 SL:72
F9BD 24 BIT $01 PC:F9BE A:55 X:55 Y:DF P:A5 SP:F9 CYC:168 SL:72
F9BF 38 SEC PC:F9C0 A:55 X:55 Y:DF P:E5 SP:F9 CYC:177 SL:72
F9C0 A9 LDA #$80 PC:F9C1 A:55 X:55 Y:DF P:E5 SP:F9 CYC:183 SL:72
F9C2 60 RTS PC:F9C3 A:80 X:55 Y:DF P:E5 SP:F9 CYC:189 SL:72
D826 8D STA $0678 PC:D827 A:80 X:55 Y:DF P:E5 SP:FB CYC:207 SL:72
D829 0E ASL $0678 PC:D82A A:80 X:55 Y:DF P:E5 SP:FB CYC:219 SL:72
D82C AD LDA $0678 PC:D82D A:80 X:55 Y:DF P:67 SP:FB CYC:237 SL:72
D82F 20 JSR $F9C3 PC:D830 A:00 X:55 Y:DF P:67 SP:FB CYC:249 SL:72
F9C3 90 BCC $F9E1 PC:F9C4 A:00 X:55 Y:DF P:67 SP:F9 CYC:267 SL:72
F9C5 D0 BNE $F9E1 PC:F9C6 A:00 X:55 Y:DF P:67 SP:F9 CYC:273 SL:72
F9C7 30 BMI $F9E1 PC:F9C8 A:00 X:55 Y:DF P:67 SP:F9 CYC:279 SL:72
F9C9 50 BVC $F9E1 PC:F9CA A:00 X:55 Y:DF P:67 SP:F9 CYC:285 SL:72
F9CB C9 CMP #$00 PC:F9CC A:00 X:55 Y:DF P:67 SP:F9 CYC:291 SL:72
F9CD D0 BNE $F9E1 PC:F9CE A:00 X:55 Y:DF P:67 SP:F9 CYC:297 SL:72
F9CF B8 CLV PC:F9D0 A:00 X:55 Y:DF P:67 SP:F9 CYC:303 SL:72
F9D0 A9 LDA #$55 PC:F9D1 A:00 X:55 Y:DF P:27 SP:F9 CYC:309 SL:72
F9D2 38 SEC PC:F9D3 A:55 X:55 Y:DF P:25 SP:F9 CYC:315 SL:72
F9D3 60 RTS PC:F9D4 A:55 X:55 Y:DF P:25 SP:F9 CYC:321 SL:72
D832 C8 INY PC:D833 A:55 X:55 Y:DF P:25 SP:FB CYC:339 SL:72
D833 8D STA $0678 PC:D834 A:55 X:55 Y:E0 P:A5 SP:FB CYC:4 SL:73
D836 0E ASL $0678 PC:D837 A:55 X:55 Y:E0 P:A5 SP:FB CYC:16 SL:73
D839 AD LDA $0678 PC:D83A A:55 X:55 Y:E0 P:A4 SP:FB CYC:34 SL:73
D83C 20 JSR $F9D4 PC:D83D A:AA X:55 Y:E0 P:A4 SP:FB CYC:46 SL:73
F9D4 B0 BCS $F9E1 PC:F9D5 A:AA X:55 Y:E0 P:A4 SP:F9 CYC:64 SL:73
F9D6 F0 BEQ $F9E1 PC:F9D7 A:AA X:55 Y:E0 P:A4 SP:F9 CYC:70 SL:73
F9D8 10 BPL $F9E1 PC:F9D9 A:AA X:55 Y:E0 P:A4 SP:F9 CYC:76 SL:73
F9DA 70 BVS $F9E1 PC:F9DB A:AA X:55 Y:E0 P:A4 SP:F9 CYC:82 SL:73
F9DC C9 CMP #$AA PC:F9DD A:AA X:55 Y:E0 P:A4 SP:F9 CYC:88 SL:73
F9DE D0 BNE $F9E1 PC:F9DF A:AA X:55 Y:E0 P:27 SP:F9 CYC:94 SL:73
F9E0 60 RTS PC:F9E1 A:AA X:55 Y:E0 P:27 SP:F9 CYC:100 SL:73
D83F C8 INY PC:D840 A:AA X:55 Y:E0 P:27 SP:FB CYC:118 SL:73
D840 20 JSR $F9E4 PC:D841 A:AA X:55 Y:E1 P:A5 SP:FB CYC:124 SL:73
F9E4 24 BIT $01 PC:F9E5 A:AA X:55 Y:E1 P:A5 SP:F9 CYC:142 SL:73
F9E6 38 SEC PC:F9E7 A:AA X:55 Y:E1 P:E5 SP:F9 CYC:151 SL:73
F9E7 A9 LDA #$01 PC:F9E8 A:AA X:55 Y:E1 P:E5 SP:F9 CYC:157 SL:73
F9E9 60 RTS PC:F9EA A:01 X:55 Y:E1 P:65 SP:F9 CYC:163 SL:73
D843 8D STA $0678 PC:D844 A:01 X:55 Y:E1 P:65 SP:FB CYC:181 SL:73
D846 6E ROR $0678 PC:D847 A:01 X:55 Y:E1 P:65 SP:FB CYC:193 SL:73
D849 AD LDA $0678 PC:D84A A:01 X:55 Y:E1 P:E5 SP:FB CYC:211 SL:73
D84C 20 JSR $F9EA PC:D84D A:80 X:55 Y:E1 P:E5 SP:FB CYC:223 SL:73
F9EA 90 BCC $FA08 PC:F9EB A:80 X:55 Y:E1 P:E5 SP:F9 CYC:241 SL:73
F9EC F0 BEQ $FA08 PC:F9ED A:80 X:55 Y:E1 P:E5 SP:F9 CYC:247 SL:73
F9EE 10 BPL $FA08 PC:F9EF A:80 X:55 Y:E1 P:E5 SP:F9 CYC:253 SL:73
F9F0 50 BVC $FA08 PC:F9F1 A:80 X:55 Y:E1 P:E5 SP:F9 CYC:259 SL:73
F9F2 C9 CMP #$80 PC:F9F3 A:80 X:55 Y:E1 P:E5 SP:F9 CYC:265 SL:73
F9F4 D0 BNE $FA08 PC:F9F5 A:80 X:55 Y:E1 P:67 SP:F9 CYC:271 SL:73
F9F6 B8 CLV PC:F9F7 A:80 X:55 Y:E1 P:67 SP:F9 CYC:277 SL:73
F9F7 18 CLC PC:F9F8 A:80 X:55 Y:E1 P:27 SP:F9 CYC:283 SL:73
F9F8 A9 LDA #$55 PC:F9F9 A:80 X:55 Y:E1 P:26 SP:F9 CYC:289 SL:73
F9FA 60 RTS PC:F9FB A:55 X:55 Y:E1 P:24 SP:F9 CYC:295 SL:73
D84F C8 INY PC:D850 A:55 X:55 Y:E1 P:24 SP:FB CYC:313 SL:73
D850 8D STA $0678 PC:D851 A:55 X:55 Y:E2 P:A4 SP:FB CYC:319 SL:73
D853 6E ROR $0678 PC:D854 A:55 X:55 Y:E2 P:A4 SP:FB CYC:331 SL:73
D856 AD LDA $0678 PC:D857 A:55 X:55 Y:E2 P:25 SP:FB CYC:8 SL:74
D859 20 JSR $F9FB PC:D85A A:2A X:55 Y:E2 P:25 SP:FB CYC:20 SL:74
F9FB 90 BCC $FA08 PC:F9FC A:2A X:55 Y:E2 P:25 SP:F9 CYC:38 SL:74
F9FD F0 BEQ $FA08 PC:F9FE A:2A X:55 Y:E2 P:25 SP:F9 CYC:44 SL:74
F9FF 30 BMI $FA08 PC:FA00 A:2A X:55 Y:E2 P:25 SP:F9 CYC:50 SL:74
FA01 70 BVS $FA08 PC:FA02 A:2A X:55 Y:E2 P:25 SP:F9 CYC:56 SL:74
FA03 C9 CMP #$2A PC:FA04 A:2A X:55 Y:E2 P:25 SP:F9 CYC:62 SL:74
FA05 D0 BNE $FA08 PC:FA06 A:2A X:55 Y:E2 P:27 SP:F9 CYC:68 SL:74
FA07 60 RTS PC:FA08 A:2A X:55 Y:E2 P:27 SP:F9 CYC:74 SL:74
D85C C8 INY PC:D85D A:2A X:55 Y:E2 P:27 SP:FB CYC:92 SL:74
D85D 20 JSR $FA0A PC:D85E A:2A X:55 Y:E3 P:A5 SP:FB CYC:98 SL:74
FA0A 24 BIT $01 PC:FA0B A:2A X:55 Y:E3 P:A5 SP:F9 CYC:116 SL:74
FA0C 38 SEC PC:FA0D A:2A X:55 Y:E3 P:E5 SP:F9 CYC:125 SL:74
FA0D A9 LDA #$80 PC:FA0E A:2A X:55 Y:E3 P:E5 SP:F9 CYC:131 SL:74
FA0F 60 RTS PC:FA10 A:80 X:55 Y:E3 P:E5 SP:F9 CYC:137 SL:74
D860 8D STA $0678 PC:D861 A:80 X:55 Y:E3 P:E5 SP:FB CYC:155 SL:74
D863 2E ROL $0678 PC:D864 A:80 X:55 Y:E3 P:E5 SP:FB CYC:167 SL:74
D866 AD LDA $0678 PC:D867 A:80 X:55 Y:E3 P:65 SP:FB CYC:185 SL:74
D869 20 JSR $FA10 PC:D86A A:01 X:55 Y:E3 P:65 SP:FB CYC:197 SL:74
FA10 90 BCC $FA2E PC:FA11 A:01 X:55 Y:E3 P:65 SP:F9 CYC:215 SL:74
FA12 F0 BEQ $FA2E PC:FA13 A:01 X:55 Y:E3 P:65 SP:F9 CYC:221 SL:74
FA14 30 BMI $FA2E PC:FA15 A:01 X:55 Y:E3 P:65 SP:F9 CYC:227 SL:74
FA16 50 BVC $FA2E PC:FA17 A:01 X:55 Y:E3 P:65 SP:F9 CYC:233 SL:74
FA18 C9 CMP #$01 PC:FA19 A:01 X:55 Y:E3 P:65 SP:F9 CYC:239 SL:74
FA1A D0 BNE $FA2E PC:FA1B A:01 X:55 Y:E3 P:67 SP:F9 CYC:245 SL:74
FA1C B8 CLV PC:FA1D A:01 X:55 Y:E3 P:67 SP:F9 CYC:251 SL:74
FA1D 18 CLC PC:FA1E A:01 X:55 Y:E3 P:27 SP:F9 CYC:257 SL:74
FA1E A9 LDA #$55 PC:FA1F A:01 X:55 Y:E3 P:26 SP:F9 CYC:263 SL:74
FA20 60 RTS PC:FA21 A:55 X:55 Y:E3 P:24 SP:F9 CYC:269 SL:74
D86C C8 INY PC:D86D A:55 X:55 Y:E3 P:24 SP:FB CYC:287 SL:74
D86D 8D STA $0678 PC:D86E A:55 X:55 Y:E4 P:A4 SP:FB CYC:293 SL:74
D870 2E ROL $0678 PC:D871 A:55 X:55 Y:E4 P:A4 SP:FB CYC:305 SL:74
D873 AD LDA $0678 PC:D874 A:55 X:55 Y:E4 P:A4 SP:FB CYC:323 SL:74
D876 20 JSR $FA21 PC:D877 A:AA X:55 Y:E4 P:A4 SP:FB CYC:335 SL:74
FA21 B0 BCS $FA2E PC:FA22 A:AA X:55 Y:E4 P:A4 SP:F9 CYC:12 SL:75
FA23 F0 BEQ $FA2E PC:FA24 A:AA X:55 Y:E4 P:A4 SP:F9 CYC:18 SL:75
FA25 10 BPL $FA2E PC:FA26 A:AA X:55 Y:E4 P:A4 SP:F9 CYC:24 SL:75
FA27 70 BVS $FA2E PC:FA28 A:AA X:55 Y:E4 P:A4 SP:F9 CYC:30 SL:75
FA29 C9 CMP #$AA PC:FA2A A:AA X:55 Y:E4 P:A4 SP:F9 CYC:36 SL:75
FA2B D0 BNE $FA2E PC:FA2C A:AA X:55 Y:E4 P:27 SP:F9 CYC:42 SL:75
FA2D 60 RTS PC:FA2E A:AA X:55 Y:E4 P:27 SP:F9 CYC:48 SL:75
D879 A9 LDA #$FF PC:D87A A:AA X:55 Y:E4 P:27 SP:FB CYC:66 SL:75
D87B 8D STA $0678 PC:D87C A:FF X:55 Y:E4 P:A5 SP:FB CYC:72 SL:75
D87E 85 STA $01 PC:D87F A:FF X:55 Y:E4 P:A5 SP:FB CYC:84 SL:75
D880 24 BIT $01 PC:D881 A:FF X:55 Y:E4 P:A5 SP:FB CYC:93 SL:75
D882 38 SEC PC:D883 A:FF X:55 Y:E4 P:E5 SP:FB CYC:102 SL:75
D883 EE INC $0678 PC:D884 A:FF X:55 Y:E4 P:E5 SP:FB CYC:108 SL:75
D886 D0 BNE $D895 PC:D887 A:FF X:55 Y:E4 P:67 SP:FB CYC:126 SL:75
D888 30 BMI $D895 PC:D889 A:FF X:55 Y:E4 P:67 SP:FB CYC:132 SL:75
D88A 50 BVC $D895 PC:D88B A:FF X:55 Y:E4 P:67 SP:FB CYC:138 SL:75
D88C 90 BCC $D895 PC:D88D A:FF X:55 Y:E4 P:67 SP:FB CYC:144 SL:75
D88E AD LDA $0678 PC:D88F A:FF X:55 Y:E4 P:67 SP:FB CYC:150 SL:75
D891 C9 CMP #$00 PC:D892 A:00 X:55 Y:E4 P:67 SP:FB CYC:162 SL:75
D893 F0 BEQ $D899 PC:D894 A:00 X:55 Y:E4 P:67 SP:FB CYC:168 SL:75
D899 A9 LDA #$7F PC:D89A A:00 X:55 Y:E4 P:67 SP:FB CYC:177 SL:75
D89B 8D STA $0678 PC:D89C A:7F X:55 Y:E4 P:65 SP:FB CYC:183 SL:75
D89E B8 CLV PC:D89F A:7F X:55 Y:E4 P:65 SP:FB CYC:195 SL:75
D89F 18 CLC PC:D8A0 A:7F X:55 Y:E4 P:25 SP:FB CYC:201 SL:75
D8A0 EE INC $0678 PC:D8A1 A:7F X:55 Y:E4 P:24 SP:FB CYC:207 SL:75
D8A3 F0 BEQ $D8B2 PC:D8A4 A:7F X:55 Y:E4 P:A4 SP:FB CYC:225 SL:75
D8A5 10 BPL $D8B2 PC:D8A6 A:7F X:55 Y:E4 P:A4 SP:FB CYC:231 SL:75
D8A7 70 BVS $D8B2 PC:D8A8 A:7F X:55 Y:E4 P:A4 SP:FB CYC:237 SL:75
D8A9 B0 BCS $D8B2 PC:D8AA A:7F X:55 Y:E4 P:A4 SP:FB CYC:243 SL:75
D8AB AD LDA $0678 PC:D8AC A:7F X:55 Y:E4 P:A4 SP:FB CYC:249 SL:75
D8AE C9 CMP #$80 PC:D8AF A:80 X:55 Y:E4 P:A4 SP:FB CYC:261 SL:75
D8B0 F0 BEQ $D8B6 PC:D8B1 A:80 X:55 Y:E4 P:27 SP:FB CYC:267 SL:75
D8B6 A9 LDA #$00 PC:D8B7 A:80 X:55 Y:E4 P:27 SP:FB CYC:276 SL:75
D8B8 8D STA $0678 PC:D8B9 A:00 X:55 Y:E4 P:27 SP:FB CYC:282 SL:75
D8BB 24 BIT $01 PC:D8BC A:00 X:55 Y:E4 P:27 SP:FB CYC:294 SL:75
D8BD 38 SEC PC:D8BE A:00 X:55 Y:E4 P:E7 SP:FB CYC:303 SL:75
D8BE CE DEC $0678 PC:D8BF A:00 X:55 Y:E4 P:E7 SP:FB CYC:309 SL:75
D8C1 F0 BEQ $D8D0 PC:D8C2 A:00 X:55 Y:E4 P:E5 SP:FB CYC:327 SL:75
D8C3 10 BPL $D8D0 PC:D8C4 A:00 X:55 Y:E4 P:E5 SP:FB CYC:333 SL:75
D8C5 50 BVC $D8D0 PC:D8C6 A:00 X:55 Y:E4 P:E5 SP:FB CYC:339 SL:75
D8C7 90 BCC $D8D0 PC:D8C8 A:00 X:55 Y:E4 P:E5 SP:FB CYC:4 SL:76
D8C9 AD LDA $0678 PC:D8CA A:00 X:55 Y:E4 P:E5 SP:FB CYC:10 SL:76
D8CC C9 CMP #$FF PC:D8CD A:FF X:55 Y:E4 P:E5 SP:FB CYC:22 SL:76
D8CE F0 BEQ $D8D4 PC:D8CF A:FF X:55 Y:E4 P:67 SP:FB CYC:28 SL:76
D8D4 A9 LDA #$80 PC:D8D5 A:FF X:55 Y:E4 P:67 SP:FB CYC:37 SL:76
D8D6 8D STA $0678 PC:D8D7 A:80 X:55 Y:E4 P:E5 SP:FB CYC:43 SL:76
D8D9 B8 CLV PC:D8DA A:80 X:55 Y:E4 P:E5 SP:FB CYC:55 SL:76
D8DA 18 CLC PC:D8DB A:80 X:55 Y:E4 P:A5 SP:FB CYC:61 SL:76
D8DB CE DEC $0678 PC:D8DC A:80 X:55 Y:E4 P:A4 SP:FB CYC:67 SL:76
D8DE F0 BEQ $D8ED PC:D8DF A:80 X:55 Y:E4 P:24 SP:FB CYC:85 SL:76
D8E0 30 BMI $D8ED PC:D8E1 A:80 X:55 Y:E4 P:24 SP:FB CYC:91 SL:76
D8E2 70 BVS $D8ED PC:D8E3 A:80 X:55 Y:E4 P:24 SP:FB CYC:97 SL:76
D8E4 B0 BCS $D8ED PC:D8E5 A:80 X:55 Y:E4 P:24 SP:FB CYC:103 SL:76
D8E6 AD LDA $0678 PC:D8E7 A:80 X:55 Y:E4 P:24 SP:FB CYC:109 SL:76
D8E9 C9 CMP #$7F PC:D8EA A:7F X:55 Y:E4 P:24 SP:FB CYC:121 SL:76
D8EB F0 BEQ $D8F1 PC:D8EC A:7F X:55 Y:E4 P:27 SP:FB CYC:127 SL:76
D8F1 A9 LDA #$01 PC:D8F2 A:7F X:55 Y:E4 P:27 SP:FB CYC:136 SL:76
D8F3 8D STA $0678 PC:D8F4 A:01 X:55 Y:E4 P:25 SP:FB CYC:142 SL:76
D8F6 CE DEC $0678 PC:D8F7 A:01 X:55 Y:E4 P:25 SP:FB CYC:154 SL:76
D8F9 F0 BEQ $D8FF PC:D8FA A:01 X:55 Y:E4 P:27 SP:FB CYC:172 SL:76
D8FF 60 RTS PC:D900 A:01 X:55 Y:E4 P:27 SP:FB CYC:181 SL:76
C618 20 JSR $D900 PC:C619 A:01 X:55 Y:E4 P:27 SP:FD CYC:199 SL:76
D900 A9 LDA #$A3 PC:D901 A:01 X:55 Y:E4 P:27 SP:FB CYC:217 SL:76
D902 85 STA $33 PC:D903 A:A3 X:55 Y:E4 P:A5 SP:FB CYC:223 SL:76
D904 A9 LDA #$89 PC:D905 A:A3 X:55 Y:E4 P:A5 SP:FB CYC:232 SL:76
D906 8D STA $0300 PC:D907 A:89 X:55 Y:E4 P:A5 SP:FB CYC:238 SL:76
D909 A9 LDA #$12 PC:D90A A:89 X:55 Y:E4 P:A5 SP:FB CYC:250 SL:76
D90B 8D STA $0245 PC:D90C A:12 X:55 Y:E4 P:25 SP:FB CYC:256 SL:76
D90E A9 LDA #$FF PC:D90F A:12 X:55 Y:E4 P:25 SP:FB CYC:268 SL:76
D910 85 STA $01 PC:D911 A:FF X:55 Y:E4 P:A5 SP:FB CYC:274 SL:76
D912 A2 LDX #$65 PC:D913 A:FF X:55 Y:E4 P:A5 SP:FB CYC:283 SL:76
D914 A9 LDA #$00 PC:D915 A:FF X:65 Y:E4 P:25 SP:FB CYC:289 SL:76
D916 85 STA $89 PC:D917 A:00 X:65 Y:E4 P:27 SP:FB CYC:295 SL:76
D918 A9 LDA #$03 PC:D919 A:00 X:65 Y:E4 P:27 SP:FB CYC:304 SL:76
D91A 85 STA $8A PC:D91B A:03 X:65 Y:E4 P:25 SP:FB CYC:310 SL:76
D91C A0 LDY #$00 PC:D91D A:03 X:65 Y:E4 P:25 SP:FB CYC:319 SL:76
D91E 38 SEC PC:D91F A:03 X:65 Y:00 P:27 SP:FB CYC:325 SL:76
D91F A9 LDA #$00 PC:D920 A:03 X:65 Y:00 P:27 SP:FB CYC:331 SL:76
D921 B8 CLV PC:D922 A:00 X:65 Y:00 P:27 SP:FB CYC:337 SL:76
D922 B1 LDA ($89), y PC:D923 A:00 X:65 Y:00 P:27 SP:FB CYC:2 SL:77
D924 F0 BEQ $D932 PC:D925 A:89 X:65 Y:00 P:A5 SP:FB CYC:17 SL:77
D926 90 BCC $D932 PC:D927 A:89 X:65 Y:00 P:A5 SP:FB CYC:23 SL:77
D928 70 BVS $D932 PC:D929 A:89 X:65 Y:00 P:A5 SP:FB CYC:29 SL:77
D92A C9 CMP #$89 PC:D92B A:89 X:65 Y:00 P:A5 SP:FB CYC:35 SL:77
D92C D0 BNE $D932 PC:D92D A:89 X:65 Y:00 P:27 SP:FB CYC:41 SL:77
D92E E0 CPX #$65 PC:D92F A:89 X:65 Y:00 P:27 SP:FB CYC:47 SL:77
D930 F0 BEQ $D936 PC:D931 A:89 X:65 Y:00 P:27 SP:FB CYC:53 SL:77
D936 A9 LDA #$FF PC:D937 A:89 X:65 Y:00 P:27 SP:FB CYC:62 SL:77
D938 85 STA $97 PC:D939 A:FF X:65 Y:00 P:A5 SP:FB CYC:68 SL:77
D93A 85 STA $98 PC:D93B A:FF X:65 Y:00 P:A5 SP:FB CYC:77 SL:77
D93C 24 BIT $98 PC:D93D A:FF X:65 Y:00 P:A5 SP:FB CYC:86 SL:77
D93E A0 LDY #$34 PC:D93F A:FF X:65 Y:00 P:E5 SP:FB CYC:95 SL:77
D940 B1 LDA ($97), y PC:D941 A:FF X:65 Y:34 P:65 SP:FB CYC:101 SL:77
D942 C9 CMP #$A3 PC:D943 A:A3 X:65 Y:34 P:E5 SP:FB CYC:119 SL:77
D944 D0 BNE $D948 PC:D945 A:A3 X:65 Y:34 P:67 SP:FB CYC:125 SL:77
D946 B0 BCS $D94C PC:D947 A:A3 X:65 Y:34 P:67 SP:FB CYC:131 SL:77
D94C A5 LDA $00 PC:D94D A:A3 X:65 Y:34 P:67 SP:FB CYC:140 SL:77
D94E 48 PHA PC:D94F A:00 X:65 Y:34 P:67 SP:FB CYC:149 SL:77
D94F A9 LDA #$46 PC:D950 A:00 X:65 Y:34 P:67 SP:FA CYC:158 SL:77
D951 85 STA $FF PC:D952 A:46 X:65 Y:34 P:65 SP:FA CYC:164 SL:77
D953 A9 LDA #$01 PC:D954 A:46 X:65 Y:34 P:65 SP:FA CYC:173 SL:77
D955 85 STA $00 PC:D956 A:01 X:65 Y:34 P:65 SP:FA CYC:179 SL:77
D957 A0 LDY #$FF PC:D958 A:01 X:65 Y:34 P:65 SP:FA CYC:188 SL:77
D959 B1 LDA ($FF), y PC:D95A A:01 X:65 Y:FF P:E5 SP:FA CYC:194 SL:77
D95B C9 CMP #$12 PC:D95C A:12 X:65 Y:FF P:65 SP:FA CYC:212 SL:77
D95D F0 BEQ $D963 PC:D95E A:12 X:65 Y:FF P:67 SP:FA CYC:218 SL:77
D963 68 PLA PC:D964 A:12 X:65 Y:FF P:67 SP:FA CYC:227 SL:77
D964 85 STA $00 PC:D965 A:00 X:65 Y:FF P:67 SP:FB CYC:239 SL:77
D966 A2 LDX #$ED PC:D967 A:00 X:65 Y:FF P:67 SP:FB CYC:248 SL:77
D968 A9 LDA #$00 PC:D969 A:00 X:ED Y:FF P:E5 SP:FB CYC:254 SL:77
D96A 85 STA $33 PC:D96B A:00 X:ED Y:FF P:67 SP:FB CYC:260 SL:77
D96C A9 LDA #$04 PC:D96D A:00 X:ED Y:FF P:67 SP:FB CYC:269 SL:77
D96E 85 STA $34 PC:D96F A:04 X:ED Y:FF P:65 SP:FB CYC:275 SL:77
D970 A0 LDY #$00 PC:D971 A:04 X:ED Y:FF P:65 SP:FB CYC:284 SL:77
D972 18 CLC PC:D973 A:04 X:ED Y:00 P:67 SP:FB CYC:290 SL:77
D973 A9 LDA #$FF PC:D974 A:04 X:ED Y:00 P:66 SP:FB CYC:296 SL:77
D975 85 STA $01 PC:D976 A:FF X:ED Y:00 P:E4 SP:FB CYC:302 SL:77
D977 24 BIT $01 PC:D978 A:FF X:ED Y:00 P:E4 SP:FB CYC:311 SL:77
D979 A9 LDA #$AA PC:D97A A:FF X:ED Y:00 P:E4 SP:FB CYC:320 SL:77
D97B 8D STA $0400 PC:D97C A:AA X:ED Y:00 P:E4 SP:FB CYC:326 SL:77
D97E A9 LDA #$55 PC:D97F A:AA X:ED Y:00 P:E4 SP:FB CYC:338 SL:77
D980 11 ORA ($33), y PC:D981 A:55 X:ED Y:00 P:64 SP:FB CYC:3 SL:78
D982 B0 BCS $D98C PC:D983 A:FF X:ED Y:00 P:E4 SP:FB CYC:18 SL:78
D984 10 BPL $D98C PC:D985 A:FF X:ED Y:00 P:E4 SP:FB CYC:24 SL:78
D986 C9 CMP #$FF PC:D987 A:FF X:ED Y:00 P:E4 SP:FB CYC:30 SL:78
D988 D0 BNE $D98C PC:D989 A:FF X:ED Y:00 P:67 SP:FB CYC:36 SL:78
D98A 70 BVS $D98E PC:D98B A:FF X:ED Y:00 P:67 SP:FB CYC:42 SL:78
D98E E8 INX PC:D98F A:FF X:ED Y:00 P:67 SP:FB CYC:51 SL:78
D98F 38 SEC PC:D990 A:FF X:EE Y:00 P:E5 SP:FB CYC:57 SL:78
D990 B8 CLV PC:D991 A:FF X:EE Y:00 P:E5 SP:FB CYC:63 SL:78
D991 A9 LDA #$00 PC:D992 A:FF X:EE Y:00 P:A5 SP:FB CYC:69 SL:78
D993 11 ORA ($33), y PC:D994 A:00 X:EE Y:00 P:27 SP:FB CYC:75 SL:78
D995 F0 BEQ $D99D PC:D996 A:AA X:EE Y:00 P:A5 SP:FB CYC:90 SL:78
D997 70 BVS $D99D PC:D998 A:AA X:EE Y:00 P:A5 SP:FB CYC:96 SL:78
D999 90 BCC $D99D PC:D99A A:AA X:EE Y:00 P:A5 SP:FB CYC:102 SL:78
D99B 30 BMI $D99F PC:D99C A:AA X:EE Y:00 P:A5 SP:FB CYC:108 SL:78
D99F E8 INX PC:D9A0 A:AA X:EE Y:00 P:A5 SP:FB CYC:117 SL:78
D9A0 18 CLC PC:D9A1 A:AA X:EF Y:00 P:A5 SP:FB CYC:123 SL:78
D9A1 24 BIT $01 PC:D9A2 A:AA X:EF Y:00 P:A4 SP:FB CYC:129 SL:78
D9A3 A9 LDA #$55 PC:D9A4 A:AA X:EF Y:00 P:E4 SP:FB CYC:138 SL:78
D9A5 31 AND ($33), y PC:D9A6 A:55 X:EF Y:00 P:64 SP:FB CYC:144 SL:78
D9A7 D0 BNE $D9AF PC:D9A8 A:00 X:EF Y:00 P:66 SP:FB CYC:159 SL:78
D9A9 50 BVC $D9AF PC:D9AA A:00 X:EF Y:00 P:66 SP:FB CYC:165 SL:78
D9AB B0 BCS $D9AF PC:D9AC A:00 X:EF Y:00 P:66 SP:FB CYC:171 SL:78
D9AD 10 BPL $D9B1 PC:D9AE A:00 X:EF Y:00 P:66 SP:FB CYC:177 SL:78
D9B1 E8 INX PC:D9B2 A:00 X:EF Y:00 P:66 SP:FB CYC:186 SL:78
D9B2 38 SEC PC:D9B3 A:00 X:F0 Y:00 P:E4 SP:FB CYC:192 SL:78
D9B3 B8 CLV PC:D9B4 A:00 X:F0 Y:00 P:E5 SP:FB CYC:198 SL:78
D9B4 A9 LDA #$EF PC:D9B5 A:00 X:F0 Y:00 P:A5 SP:FB CYC:204 SL:78
D9B6 8D STA $0400 PC:D9B7 A:EF X:F0 Y:00 P:A5 SP:FB CYC:210 SL:78
D9B9 A9 LDA #$F8 PC:D9BA A:EF X:F0 Y:00 P:A5 SP:FB CYC:222 SL:78
D9BB 31 AND ($33), y PC:D9BC A:F8 X:F0 Y:00 P:A5 SP:FB CYC:228 SL:78
D9BD 90 BCC $D9C7 PC:D9BE A:E8 X:F0 Y:00 P:A5 SP:FB CYC:243 SL:78
D9BF 10 BPL $D9C7 PC:D9C0 A:E8 X:F0 Y:00 P:A5 SP:FB CYC:249 SL:78
D9C1 C9 CMP #$E8 PC:D9C2 A:E8 X:F0 Y:00 P:A5 SP:FB CYC:255 SL:78
D9C3 D0 BNE $D9C7 PC:D9C4 A:E8 X:F0 Y:00 P:27 SP:FB CYC:261 SL:78
D9C5 50 BVC $D9C9 PC:D9C6 A:E8 X:F0 Y:00 P:27 SP:FB CYC:267 SL:78
D9C9 E8 INX PC:D9CA A:E8 X:F0 Y:00 P:27 SP:FB CYC:276 SL:78
D9CA 18 CLC PC:D9CB A:E8 X:F1 Y:00 P:A5 SP:FB CYC:282 SL:78
D9CB 24 BIT $01 PC:D9CC A:E8 X:F1 Y:00 P:A4 SP:FB CYC:288 SL:78
D9CD A9 LDA #$AA PC:D9CE A:E8 X:F1 Y:00 P:E4 SP:FB CYC:297 SL:78
D9CF 8D STA $0400 PC:D9D0 A:AA X:F1 Y:00 P:E4 SP:FB CYC:303 SL:78
D9D2 A9 LDA #$5F PC:D9D3 A:AA X:F1 Y:00 P:E4 SP:FB CYC:315 SL:78
D9D4 51 EOR ($33), y PC:D9D5 A:5F X:F1 Y:00 P:64 SP:FB CYC:321 SL:78
D9D6 B0 BCS $D9E0 PC:D9D7 A:F5 X:F1 Y:00 P:E4 SP:FB CYC:336 SL:78
D9D8 10 BPL $D9E0 PC:D9D9 A:F5 X:F1 Y:00 P:E4 SP:FB CYC:1 SL:79
D9DA C9 CMP #$F5 PC:D9DB A:F5 X:F1 Y:00 P:E4 SP:FB CYC:7 SL:79
D9DC D0 BNE $D9E0 PC:D9DD A:F5 X:F1 Y:00 P:67 SP:FB CYC:13 SL:79
D9DE 70 BVS $D9E2 PC:D9DF A:F5 X:F1 Y:00 P:67 SP:FB CYC:19 SL:79
D9E2 E8 INX PC:D9E3 A:F5 X:F1 Y:00 P:67 SP:FB CYC:28 SL:79
D9E3 38 SEC PC:D9E4 A:F5 X:F2 Y:00 P:E5 SP:FB CYC:34 SL:79
D9E4 B8 CLV PC:D9E5 A:F5 X:F2 Y:00 P:E5 SP:FB CYC:40 SL:79
D9E5 A9 LDA #$70 PC:D9E6 A:F5 X:F2 Y:00 P:A5 SP:FB CYC:46 SL:79
D9E7 8D STA $0400 PC:D9E8 A:70 X:F2 Y:00 P:25 SP:FB CYC:52 SL:79
D9EA 51 EOR ($33), y PC:D9EB A:70 X:F2 Y:00 P:25 SP:FB CYC:64 SL:79
D9EC D0 BNE $D9F4 PC:D9ED A:00 X:F2 Y:00 P:27 SP:FB CYC:79 SL:79
D9EE 70 BVS $D9F4 PC:D9EF A:00 X:F2 Y:00 P:27 SP:FB CYC:85 SL:79
D9F0 90 BCC $D9F4 PC:D9F1 A:00 X:F2 Y:00 P:27 SP:FB CYC:91 SL:79
D9F2 10 BPL $D9F6 PC:D9F3 A:00 X:F2 Y:00 P:27 SP:FB CYC:97 SL:79
D9F6 E8 INX PC:D9F7 A:00 X:F2 Y:00 P:27 SP:FB CYC:106 SL:79
D9F7 18 CLC PC:D9F8 A:00 X:F3 Y:00 P:A5 SP:FB CYC:112 SL:79
D9F8 24 BIT $01 PC:D9F9 A:00 X:F3 Y:00 P:A4 SP:FB CYC:118 SL:79
D9FA A9 LDA #$69 PC:D9FB A:00 X:F3 Y:00 P:E6 SP:FB CYC:127 SL:79
D9FC 8D STA $0400 PC:D9FD A:69 X:F3 Y:00 P:64 SP:FB CYC:133 SL:79
D9FF A9 LDA #$00 PC:DA00 A:69 X:F3 Y:00 P:64 SP:FB CYC:145 SL:79
DA01 71 ADC ($33), y PC:DA02 A:00 X:F3 Y:00 P:66 SP:FB CYC:151 SL:79
DA03 30 BMI $DA0D PC:DA04 A:69 X:F3 Y:00 P:24 SP:FB CYC:166 SL:79
DA05 B0 BCS $DA0D PC:DA06 A:69 X:F3 Y:00 P:24 SP:FB CYC:172 SL:79
DA07 C9 CMP #$69 PC:DA08 A:69 X:F3 Y:00 P:24 SP:FB CYC:178 SL:79
DA09 D0 BNE $DA0D PC:DA0A A:69 X:F3 Y:00 P:27 SP:FB CYC:184 SL:79
DA0B 50 BVC $DA0F PC:DA0C A:69 X:F3 Y:00 P:27 SP:FB CYC:190 SL:79
DA0F E8 INX PC:DA10 A:69 X:F3 Y:00 P:27 SP:FB CYC:199 SL:79
DA10 38 SEC PC:DA11 A:69 X:F4 Y:00 P:A5 SP:FB CYC:205 SL:79
DA11 24 BIT $01 PC:DA12 A:69 X:F4 Y:00 P:A5 SP:FB CYC:211 SL:79
DA13 A9 LDA #$00 PC:DA14 A:69 X:F4 Y:00 P:E5 SP:FB CYC:220 SL:79
DA15 71 ADC ($33), y PC:DA16 A:00 X:F4 Y:00 P:67 SP:FB CYC:226 SL:79
DA17 30 BMI $DA21 PC:DA18 A:6A X:F4 Y:00 P:24 SP:FB CYC:241 SL:79
DA19 B0 BCS $DA21 PC:DA1A A:6A X:F4 Y:00 P:24 SP:FB CYC:247 SL:79
DA1B C9 CMP #$6A PC:DA1C A:6A X:F4 Y:00 P:24 SP:FB CYC:253 SL:79
DA1D D0 BNE $DA21 PC:DA1E A:6A X:F4 Y:00 P:27 SP:FB CYC:259 SL:79
DA1F 50 BVC $DA23 PC:DA20 A:6A X:F4 Y:00 P:27 SP:FB CYC:265 SL:79
DA23 E8 INX PC:DA24 A:6A X:F4 Y:00 P:27 SP:FB CYC:274 SL:79
DA24 38 SEC PC:DA25 A:6A X:F5 Y:00 P:A5 SP:FB CYC:280 SL:79
DA25 B8 CLV PC:DA26 A:6A X:F5 Y:00 P:A5 SP:FB CYC:286 SL:79
DA26 A9 LDA #$7F PC:DA27 A:6A X:F5 Y:00 P:A5 SP:FB CYC:292 SL:79
DA28 8D STA $0400 PC:DA29 A:7F X:F5 Y:00 P:25 SP:FB CYC:298 SL:79
DA2B 71 ADC ($33), y PC:DA2C A:7F X:F5 Y:00 P:25 SP:FB CYC:310 SL:79
DA2D 10 BPL $DA37 PC:DA2E A:FF X:F5 Y:00 P:E4 SP:FB CYC:325 SL:79
DA2F B0 BCS $DA37 PC:DA30 A:FF X:F5 Y:00 P:E4 SP:FB CYC:331 SL:79
DA31 C9 CMP #$FF PC:DA32 A:FF X:F5 Y:00 P:E4 SP:FB CYC:337 SL:79
DA33 D0 BNE $DA37 PC:DA34 A:FF X:F5 Y:00 P:67 SP:FB CYC:2 SL:80
DA35 70 BVS $DA39 PC:DA36 A:FF X:F5 Y:00 P:67 SP:FB CYC:8 SL:80
DA39 E8 INX PC:DA3A A:FF X:F5 Y:00 P:67 SP:FB CYC:17 SL:80
DA3A 18 CLC PC:DA3B A:FF X:F6 Y:00 P:E5 SP:FB CYC:23 SL:80
DA3B 24 BIT $01 PC:DA3C A:FF X:F6 Y:00 P:E4 SP:FB CYC:29 SL:80
DA3D A9 LDA #$80 PC:DA3E A:FF X:F6 Y:00 P:E4 SP:FB CYC:38 SL:80
DA3F 8D STA $0400 PC:DA40 A:80 X:F6 Y:00 P:E4 SP:FB CYC:44 SL:80
DA42 A9 LDA #$7F PC:DA43 A:80 X:F6 Y:00 P:E4 SP:FB CYC:56 SL:80
DA44 71 ADC ($33), y PC:DA45 A:7F X:F6 Y:00 P:64 SP:FB CYC:62 SL:80
DA46 10 BPL $DA50 PC:DA47 A:FF X:F6 Y:00 P:A4 SP:FB CYC:77 SL:80
DA48 B0 BCS $DA50 PC:DA49 A:FF X:F6 Y:00 P:A4 SP:FB CYC:83 SL:80
DA4A C9 CMP #$FF PC:DA4B A:FF X:F6 Y:00 P:A4 SP:FB CYC:89 SL:80
DA4C D0 BNE $DA50 PC:DA4D A:FF X:F6 Y:00 P:27 SP:FB CYC:95 SL:80
DA4E 50 BVC $DA52 PC:DA4F A:FF X:F6 Y:00 P:27 SP:FB CYC:101 SL:80
DA52 E8 INX PC:DA53 A:FF X:F6 Y:00 P:27 SP:FB CYC:110 SL:80
DA53 38 SEC PC:DA54 A:FF X:F7 Y:00 P:A5 SP:FB CYC:116 SL:80
DA54 B8 CLV PC:DA55 A:FF X:F7 Y:00 P:A5 SP:FB CYC:122 SL:80
DA55 A9 LDA #$80 PC:DA56 A:FF X:F7 Y:00 P:A5 SP:FB CYC:128 SL:80
DA57 8D STA $0400 PC:DA58 A:80 X:F7 Y:00 P:A5 SP:FB CYC:134 SL:80
DA5A A9 LDA #$7F PC:DA5B A:80 X:F7 Y:00 P:A5 SP:FB CYC:146 SL:80
DA5C 71 ADC ($33), y PC:DA5D A:7F X:F7 Y:00 P:25 SP:FB CYC:152 SL:80
DA5E D0 BNE $DA66 PC:DA5F A:00 X:F7 Y:00 P:27 SP:FB CYC:167 SL:80
DA60 30 BMI $DA66 PC:DA61 A:00 X:F7 Y:00 P:27 SP:FB CYC:173 SL:80
DA62 70 BVS $DA66 PC:DA63 A:00 X:F7 Y:00 P:27 SP:FB CYC:179 SL:80
DA64 B0 BCS $DA68 PC:DA65 A:00 X:F7 Y:00 P:27 SP:FB CYC:185 SL:80
DA68 E8 INX PC:DA69 A:00 X:F7 Y:00 P:27 SP:FB CYC:194 SL:80
DA69 24 BIT $01 PC:DA6A A:00 X:F8 Y:00 P:A5 SP:FB CYC:200 SL:80
DA6B A9 LDA #$40 PC:DA6C A:00 X:F8 Y:00 P:E7 SP:FB CYC:209 SL:80
DA6D 8D STA $0400 PC:DA6E A:40 X:F8 Y:00 P:65 SP:FB CYC:215 SL:80
DA70 D1 CMP ($33), y PC:DA71 A:40 X:F8 Y:00 P:65 SP:FB CYC:227 SL:80
DA72 30 BMI $DA7A PC:DA73 A:40 X:F8 Y:00 P:67 SP:FB CYC:242 SL:80
DA74 90 BCC $DA7A PC:DA75 A:40 X:F8 Y:00 P:67 SP:FB CYC:248 SL:80
DA76 D0 BNE $DA7A PC:DA77 A:40 X:F8 Y:00 P:67 SP:FB CYC:254 SL:80
DA78 70 BVS $DA7C PC:DA79 A:40 X:F8 Y:00 P:67 SP:FB CYC:260 SL:80
DA7C E8 INX PC:DA7D A:40 X:F8 Y:00 P:67 SP:FB CYC:269 SL:80
DA7D B8 CLV PC:DA7E A:40 X:F9 Y:00 P:E5 SP:FB CYC:275 SL:80
DA7E CE DEC $0400 PC:DA7F A:40 X:F9 Y:00 P:A5 SP:FB CYC:281 SL:80
DA81 D1 CMP ($33), y PC:DA82 A:40 X:F9 Y:00 P:25 SP:FB CYC:299 SL:80
DA83 F0 BEQ $DA8B PC:DA84 A:40 X:F9 Y:00 P:25 SP:FB CYC:314 SL:80
DA85 30 BMI $DA8B PC:DA86 A:40 X:F9 Y:00 P:25 SP:FB CYC:320 SL:80
DA87 90 BCC $DA8B PC:DA88 A:40 X:F9 Y:00 P:25 SP:FB CYC:326 SL:80
DA89 50 BVC $DA8D PC:DA8A A:40 X:F9 Y:00 P:25 SP:FB CYC:332 SL:80
DA8D E8 INX PC:DA8E A:40 X:F9 Y:00 P:25 SP:FB CYC:0 SL:81
DA8E EE INC $0400 PC:DA8F A:40 X:FA Y:00 P:A5 SP:FB CYC:6 SL:81
DA91 EE INC $0400 PC:DA92 A:40 X:FA Y:00 P:25 SP:FB CYC:24 SL:81
DA94 D1 CMP ($33), y PC:DA95 A:40 X:FA Y:00 P:25 SP:FB CYC:42 SL:81
DA96 F0 BEQ $DA9A PC:DA97 A:40 X:FA Y:00 P:A4 SP:FB CYC:57 SL:81
DA98 30 BMI $DA9C PC:DA99 A:40 X:FA Y:00 P:A4 SP:FB CYC:63 SL:81
DA9C E8 INX PC:DA9D A:40 X:FA Y:00 P:A4 SP:FB CYC:72 SL:81
DA9D A9 LDA #$00 PC:DA9E A:40 X:FB Y:00 P:A4 SP:FB CYC:78 SL:81
DA9F 8D STA $0400 PC:DAA0 A:00 X:FB Y:00 P:26 SP:FB CYC:84 SL:81
DAA2 A9 LDA #$80 PC:DAA3 A:00 X:FB Y:00 P:26 SP:FB CYC:96 SL:81
DAA4 D1 CMP ($33), y PC:DAA5 A:80 X:FB Y:00 P:A4 SP:FB CYC:102 SL:81
DAA6 F0 BEQ $DAAC PC:DAA7 A:80 X:FB Y:00 P:A5 SP:FB CYC:117 SL:81
DAA8 10 BPL $DAAC PC:DAA9 A:80 X:FB Y:00 P:A5 SP:FB CYC:123 SL:81
DAAA B0 BCS $DAAE PC:DAAB A:80 X:FB Y:00 P:A5 SP:FB CYC:129 SL:81
DAAE E8 INX PC:DAAF A:80 X:FB Y:00 P:A5 SP:FB CYC:138 SL:81
DAAF A0 LDY #$80 PC:DAB0 A:80 X:FC Y:00 P:A5 SP:FB CYC:144 SL:81
DAB1 8C STY $0400 PC:DAB2 A:80 X:FC Y:80 P:A5 SP:FB CYC:150 SL:81
DAB4 A0 LDY #$00 PC:DAB5 A:80 X:FC Y:80 P:A5 SP:FB CYC:162 SL:81
DAB6 D1 CMP ($33), y PC:DAB7 A:80 X:FC Y:00 P:27 SP:FB CYC:168 SL:81
DAB8 D0 BNE $DABE PC:DAB9 A:80 X:FC Y:00 P:27 SP:FB CYC:183 SL:81
DABA 30 BMI $DABE PC:DABB A:80 X:FC Y:00 P:27 SP:FB CYC:189 SL:81
DABC B0 BCS $DAC0 PC:DABD A:80 X:FC Y:00 P:27 SP:FB CYC:195 SL:81
DAC0 E8 INX PC:DAC1 A:80 X:FC Y:00 P:27 SP:FB CYC:204 SL:81
DAC1 EE INC $0400 PC:DAC2 A:80 X:FD Y:00 P:A5 SP:FB CYC:210 SL:81
DAC4 D1 CMP ($33), y PC:DAC5 A:80 X:FD Y:00 P:A5 SP:FB CYC:228 SL:81
DAC6 B0 BCS $DACC PC:DAC7 A:80 X:FD Y:00 P:A4 SP:FB CYC:243 SL:81
DAC8 F0 BEQ $DACC PC:DAC9 A:80 X:FD Y:00 P:A4 SP:FB CYC:249 SL:81
DACA 30 BMI $DACE PC:DACB A:80 X:FD Y:00 P:A4 SP:FB CYC:255 SL:81
DACE E8 INX PC:DACF A:80 X:FD Y:00 P:A4 SP:FB CYC:264 SL:81
DACF CE DEC $0400 PC:DAD0 A:80 X:FE Y:00 P:A4 SP:FB CYC:270 SL:81
DAD2 CE DEC $0400 PC:DAD3 A:80 X:FE Y:00 P:A4 SP:FB CYC:288 SL:81
DAD5 D1 CMP ($33), y PC:DAD6 A:80 X:FE Y:00 P:24 SP:FB CYC:306 SL:81
DAD7 90 BCC $DADD PC:DAD8 A:80 X:FE Y:00 P:25 SP:FB CYC:321 SL:81
DAD9 F0 BEQ $DADD PC:DADA A:80 X:FE Y:00 P:25 SP:FB CYC:327 SL:81
DADB 10 BPL $DADF PC:DADC A:80 X:FE Y:00 P:25 SP:FB CYC:333 SL:81
DADF 60 RTS PC:DAE0 A:80 X:FE Y:00 P:25 SP:FB CYC:1 SL:82
C61B A5 LDA $00 PC:C61C A:80 X:FE Y:00 P:25 SP:FD CYC:19 SL:82
C61D 85 STA $10 PC:C61E A:00 X:FE Y:00 P:27 SP:FD CYC:28 SL:82
C61F A9 LDA #$00 PC:C620 A:00 X:FE Y:00 P:27 SP:FD CYC:37 SL:82
C621 85 STA $00 PC:C622 A:00 X:FE Y:00 P:27 SP:FD CYC:43 SL:82
C623 20 JSR $DAE0 PC:C624 A:00 X:FE Y:00 P:27 SP:FD CYC:52 SL:82
DAE0 A9 LDA #$00 PC:DAE1 A:00 X:FE Y:00 P:27 SP:FB CYC:70 SL:82
DAE2 85 STA $33 PC:DAE3 A:00 X:FE Y:00 P:27 SP:FB CYC:76 SL:82
DAE4 A9 LDA #$04 PC:DAE5 A:00 X:FE Y:00 P:27 SP:FB CYC:85 SL:82
DAE6 85 STA $34 PC:DAE7 A:04 X:FE Y:00 P:25 SP:FB CYC:91 SL:82
DAE8 A0 LDY #$00 PC:DAE9 A:04 X:FE Y:00 P:25 SP:FB CYC:100 SL:82
DAEA A2 LDX #$01 PC:DAEB A:04 X:FE Y:00 P:27 SP:FB CYC:106 SL:82
DAEC 24 BIT $01 PC:DAED A:04 X:01 Y:00 P:25 SP:FB CYC:112 SL:82
DAEE A9 LDA #$40 PC:DAEF A:04 X:01 Y:00 P:E5 SP:FB CYC:121 SL:82
DAF0 8D STA $0400 PC:DAF1 A:40 X:01 Y:00 P:65 SP:FB CYC:127 SL:82
DAF3 38 SEC PC:DAF4 A:40 X:01 Y:00 P:65 SP:FB CYC:139 SL:82
DAF4 F1 SBC ($33), y PC:DAF5 A:40 X:01 Y:00 P:65 SP:FB CYC:145 SL:82
DAF6 30 BMI $DB02 PC:DAF7 A:00 X:01 Y:00 P:27 SP:FB CYC:160 SL:82
DAF8 90 BCC $DB02 PC:DAF9 A:00 X:01 Y:00 P:27 SP:FB CYC:166 SL:82
DAFA D0 BNE $DB02 PC:DAFB A:00 X:01 Y:00 P:27 SP:FB CYC:172 SL:82
DAFC 70 BVS $DB02 PC:DAFD A:00 X:01 Y:00 P:27 SP:FB CYC:178 SL:82
DAFE C9 CMP #$00 PC:DAFF A:00 X:01 Y:00 P:27 SP:FB CYC:184 SL:82
DB00 F0 BEQ $DB04 PC:DB01 A:00 X:01 Y:00 P:27 SP:FB CYC:190 SL:82
DB04 E8 INX PC:DB05 A:00 X:01 Y:00 P:27 SP:FB CYC:199 SL:82
DB05 B8 CLV PC:DB06 A:00 X:02 Y:00 P:25 SP:FB CYC:205 SL:82
DB06 38 SEC PC:DB07 A:00 X:02 Y:00 P:25 SP:FB CYC:211 SL:82
DB07 A9 LDA #$40 PC:DB08 A:00 X:02 Y:00 P:25 SP:FB CYC:217 SL:82
DB09 CE DEC $0400 PC:DB0A A:40 X:02 Y:00 P:25 SP:FB CYC:223 SL:82
DB0C F1 SBC ($33), y PC:DB0D A:40 X:02 Y:00 P:25 SP:FB CYC:241 SL:82
DB0E F0 BEQ $DB1A PC:DB0F A:01 X:02 Y:00 P:25 SP:FB CYC:256 SL:82
DB10 30 BMI $DB1A PC:DB11 A:01 X:02 Y:00 P:25 SP:FB CYC:262 SL:82
DB12 90 BCC $DB1A PC:DB13 A:01 X:02 Y:00 P:25 SP:FB CYC:268 SL:82
DB14 70 BVS $DB1A PC:DB15 A:01 X:02 Y:00 P:25 SP:FB CYC:274 SL:82
DB16 C9 CMP #$01 PC:DB17 A:01 X:02 Y:00 P:25 SP:FB CYC:280 SL:82
DB18 F0 BEQ $DB1C PC:DB19 A:01 X:02 Y:00 P:27 SP:FB CYC:286 SL:82
DB1C E8 INX PC:DB1D A:01 X:02 Y:00 P:27 SP:FB CYC:295 SL:82
DB1D A9 LDA #$40 PC:DB1E A:01 X:03 Y:00 P:25 SP:FB CYC:301 SL:82
DB1F 38 SEC PC:DB20 A:40 X:03 Y:00 P:25 SP:FB CYC:307 SL:82
DB20 24 BIT $01 PC:DB21 A:40 X:03 Y:00 P:25 SP:FB CYC:313 SL:82
DB22 EE INC $0400 PC:DB23 A:40 X:03 Y:00 P:E5 SP:FB CYC:322 SL:82
DB25 EE INC $0400 PC:DB26 A:40 X:03 Y:00 P:65 SP:FB CYC:340 SL:82
DB28 F1 SBC ($33), y PC:DB29 A:40 X:03 Y:00 P:65 SP:FB CYC:17 SL:83
DB2A B0 BCS $DB36 PC:DB2B A:FF X:03 Y:00 P:A4 SP:FB CYC:32 SL:83
DB2C F0 BEQ $DB36 PC:DB2D A:FF X:03 Y:00 P:A4 SP:FB CYC:38 SL:83
DB2E 10 BPL $DB36 PC:DB2F A:FF X:03 Y:00 P:A4 SP:FB CYC:44 SL:83
DB30 70 BVS $DB36 PC:DB31 A:FF X:03 Y:00 P:A4 SP:FB CYC:50 SL:83
DB32 C9 CMP #$FF PC:DB33 A:FF X:03 Y:00 P:A4 SP:FB CYC:56 SL:83
DB34 F0 BEQ $DB38 PC:DB35 A:FF X:03 Y:00 P:27 SP:FB CYC:62 SL:83
DB38 E8 INX PC:DB39 A:FF X:03 Y:00 P:27 SP:FB CYC:71 SL:83
DB39 18 CLC PC:DB3A A:FF X:04 Y:00 P:25 SP:FB CYC:77 SL:83
DB3A A9 LDA #$00 PC:DB3B A:FF X:04 Y:00 P:24 SP:FB CYC:83 SL:83
DB3C 8D STA $0400 PC:DB3D A:00 X:04 Y:00 P:26 SP:FB CYC:89 SL:83
DB3F A9 LDA #$80 PC:DB40 A:00 X:04 Y:00 P:26 SP:FB CYC:101 SL:83
DB41 F1 SBC ($33), y PC:DB42 A:80 X:04 Y:00 P:A4 SP:FB CYC:107 SL:83
DB43 90 BCC $DB49 PC:DB44 A:7F X:04 Y:00 P:65 SP:FB CYC:122 SL:83
DB45 C9 CMP #$7F PC:DB46 A:7F X:04 Y:00 P:65 SP:FB CYC:128 SL:83
DB47 F0 BEQ $DB4B PC:DB48 A:7F X:04 Y:00 P:67 SP:FB CYC:134 SL:83
DB4B E8 INX PC:DB4C A:7F X:04 Y:00 P:67 SP:FB CYC:143 SL:83
DB4C 38 SEC PC:DB4D A:7F X:05 Y:00 P:65 SP:FB CYC:149 SL:83
DB4D A9 LDA #$7F PC:DB4E A:7F X:05 Y:00 P:65 SP:FB CYC:155 SL:83
DB4F 8D STA $0400 PC:DB50 A:7F X:05 Y:00 P:65 SP:FB CYC:161 SL:83
DB52 A9 LDA #$81 PC:DB53 A:7F X:05 Y:00 P:65 SP:FB CYC:173 SL:83
DB54 F1 SBC ($33), y PC:DB55 A:81 X:05 Y:00 P:E5 SP:FB CYC:179 SL:83
DB56 50 BVC $DB5E PC:DB57 A:02 X:05 Y:00 P:65 SP:FB CYC:194 SL:83
DB58 90 BCC $DB5E PC:DB59 A:02 X:05 Y:00 P:65 SP:FB CYC:200 SL:83
DB5A C9 CMP #$02 PC:DB5B A:02 X:05 Y:00 P:65 SP:FB CYC:206 SL:83
DB5C F0 BEQ $DB60 PC:DB5D A:02 X:05 Y:00 P:67 SP:FB CYC:212 SL:83
DB60 E8 INX PC:DB61 A:02 X:05 Y:00 P:67 SP:FB CYC:221 SL:83
DB61 A9 LDA #$00 PC:DB62 A:02 X:06 Y:00 P:65 SP:FB CYC:227 SL:83
DB63 A9 LDA #$87 PC:DB64 A:00 X:06 Y:00 P:67 SP:FB CYC:233 SL:83
DB65 91 STA ($33), y PC:DB66 A:87 X:06 Y:00 P:E5 SP:FB CYC:239 SL:83
DB67 AD LDA $0400 PC:DB68 A:87 X:06 Y:00 P:E5 SP:FB CYC:257 SL:83
DB6A C9 CMP #$87 PC:DB6B A:87 X:06 Y:00 P:E5 SP:FB CYC:269 SL:83
DB6C F0 BEQ $DB70 PC:DB6D A:87 X:06 Y:00 P:67 SP:FB CYC:275 SL:83
DB70 E8 INX PC:DB71 A:87 X:06 Y:00 P:67 SP:FB CYC:284 SL:83
DB71 A9 LDA #$7E PC:DB72 A:87 X:07 Y:00 P:65 SP:FB CYC:290 SL:83
DB73 8D STA $0200 PC:DB74 A:7E X:07 Y:00 P:65 SP:FB CYC:296 SL:83
DB76 A9 LDA #$DB PC:DB77 A:7E X:07 Y:00 P:65 SP:FB CYC:308 SL:83
DB78 8D STA $0201 PC:DB79 A:DB X:07 Y:00 P:E5 SP:FB CYC:314 SL:83
DB7B 6C JMP ($0200) PC:DB7C A:DB X:07 Y:00 P:E5 SP:FB CYC:326 SL:83
DB7E A9 LDA #$00 PC:DB7F A:DB X:07 Y:00 P:E5 SP:FB CYC:0 SL:84
DB80 8D STA $02FF PC:DB81 A:00 X:07 Y:00 P:67 SP:FB CYC:6 SL:84
DB83 A9 LDA #$01 PC:DB84 A:00 X:07 Y:00 P:67 SP:FB CYC:18 SL:84
DB85 8D STA $0300 PC:DB86 A:01 X:07 Y:00 P:65 SP:FB CYC:24 SL:84
DB88 A9 LDA #$03 PC:DB89 A:01 X:07 Y:00 P:65 SP:FB CYC:36 SL:84
DB8A 8D STA $0200 PC:DB8B A:03 X:07 Y:00 P:65 SP:FB CYC:42 SL:84
DB8D A9 LDA #$A9 PC:DB8E A:03 X:07 Y:00 P:65 SP:FB CYC:54 SL:84
DB8F 8D STA $0100 PC:DB90 A:A9 X:07 Y:00 P:E5 SP:FB CYC:60 SL:84
DB92 A9 LDA #$55 PC:DB93 A:A9 X:07 Y:00 P:E5 SP:FB CYC:72 SL:84
DB94 8D STA $0101 PC:DB95 A:55 X:07 Y:00 P:65 SP:FB CYC:78 SL:84
DB97 A9 LDA #$60 PC:DB98 A:55 X:07 Y:00 P:65 SP:FB CYC:90 SL:84
DB99 8D STA $0102 PC:DB9A A:60 X:07 Y:00 P:65 SP:FB CYC:96 SL:84
DB9C A9 LDA #$A9 PC:DB9D A:60 X:07 Y:00 P:65 SP:FB CYC:108 SL:84
DB9E 8D STA $0300 PC:DB9F A:A9 X:07 Y:00 P:E5 SP:FB CYC:114 SL:84
DBA1 A9 LDA #$AA PC:DBA2 A:A9 X:07 Y:00 P:E5 SP:FB CYC:126 SL:84
DBA3 8D STA $0301 PC:DBA4 A:AA X:07 Y:00 P:E5 SP:FB CYC:132 SL:84
DBA6 A9 LDA #$60 PC:DBA7 A:AA X:07 Y:00 P:E5 SP:FB CYC:144 SL:84
DBA8 8D STA $0302 PC:DBA9 A:60 X:07 Y:00 P:65 SP:FB CYC:150 SL:84
DBAB 20 JSR $DBB5 PC:DBAC A:60 X:07 Y:00 P:65 SP:FB CYC:162 SL:84
DBB5 6C JMP ($02FF) PC:DBB6 A:60 X:07 Y:00 P:65 SP:F9 CYC:180 SL:84
0300 A9 LDA #$AA PC:0301 A:60 X:07 Y:00 P:65 SP:F9 CYC:195 SL:84
0302 60 RTS PC:0303 A:AA X:07 Y:00 P:E5 SP:F9 CYC:201 SL:84
DBAE C9 CMP #$AA PC:DBAF A:AA X:07 Y:00 P:E5 SP:FB CYC:219 SL:84
DBB0 F0 BEQ $DBB4 PC:DBB1 A:AA X:07 Y:00 P:67 SP:FB CYC:225 SL:84
DBB4 60 RTS PC:DBB5 A:AA X:07 Y:00 P:67 SP:FB CYC:234 SL:84
C626 20 JSR $DF4A PC:C627 A:AA X:07 Y:00 P:67 SP:FD CYC:252 SL:84
DF4A A9 LDA #$89 PC:DF4B A:AA X:07 Y:00 P:67 SP:FB CYC:270 SL:84
DF4C 8D STA $0300 PC:DF4D A:89 X:07 Y:00 P:E5 SP:FB CYC:276 SL:84
DF4F A9 LDA #$A3 PC:DF50 A:89 X:07 Y:00 P:E5 SP:FB CYC:288 SL:84
DF51 85 STA $33 PC:DF52 A:A3 X:07 Y:00 P:E5 SP:FB CYC:294 SL:84
DF53 A9 LDA #$12 PC:DF54 A:A3 X:07 Y:00 P:E5 SP:FB CYC:303 SL:84
DF55 8D STA $0245 PC:DF56 A:12 X:07 Y:00 P:65 SP:FB CYC:309 SL:84
DF58 A2 LDX #$65 PC:DF59 A:12 X:07 Y:00 P:65 SP:FB CYC:321 SL:84
DF5A A0 LDY #$00 PC:DF5B A:12 X:65 Y:00 P:65 SP:FB CYC:327 SL:84
DF5C 38 SEC PC:DF5D A:12 X:65 Y:00 P:67 SP:FB CYC:333 SL:84
DF5D A9 LDA #$00 PC:DF5E A:12 X:65 Y:00 P:67 SP:FB CYC:339 SL:84
DF5F B8 CLV PC:DF60 A:00 X:65 Y:00 P:67 SP:FB CYC:4 SL:85
DF60 B9 LDA $0300,y PC:DF61 A:00 X:65 Y:00 P:27 SP:FB CYC:10 SL:85
DF63 F0 BEQ $DF71 PC:DF64 A:89 X:65 Y:00 P:A5 SP:FB CYC:22 SL:85
DF65 90 BCC $DF71 PC:DF66 A:89 X:65 Y:00 P:A5 SP:FB CYC:28 SL:85
DF67 70 BVS $DF71 PC:DF68 A:89 X:65 Y:00 P:A5 SP:FB CYC:34 SL:85
DF69 C9 CMP #$89 PC:DF6A A:89 X:65 Y:00 P:A5 SP:FB CYC:40 SL:85
DF6B D0 BNE $DF71 PC:DF6C A:89 X:65 Y:00 P:27 SP:FB CYC:46 SL:85
DF6D E0 CPX #$65 PC:DF6E A:89 X:65 Y:00 P:27 SP:FB CYC:52 SL:85
DF6F F0 BEQ $DF75 PC:DF70 A:89 X:65 Y:00 P:27 SP:FB CYC:58 SL:85
DF75 A9 LDA #$FF PC:DF76 A:89 X:65 Y:00 P:27 SP:FB CYC:67 SL:85
DF77 85 STA $01 PC:DF78 A:FF X:65 Y:00 P:A5 SP:FB CYC:73 SL:85
DF79 24 BIT $01 PC:DF7A A:FF X:65 Y:00 P:A5 SP:FB CYC:82 SL:85
DF7B A0 LDY #$34 PC:DF7C A:FF X:65 Y:00 P:E5 SP:FB CYC:91 SL:85
DF7D B9 LDA $FFFF,y PC:DF7E A:FF X:65 Y:34 P:65 SP:FB CYC:97 SL:85
DF80 C9 CMP #$A3 PC:DF81 A:A3 X:65 Y:34 P:E5 SP:FB CYC:112 SL:85
DF82 D0 BNE $DF86 PC:DF83 A:A3 X:65 Y:34 P:67 SP:FB CYC:118 SL:85
DF84 B0 BCS $DF8A PC:DF85 A:A3 X:65 Y:34 P:67 SP:FB CYC:124 SL:85
DF8A A9 LDA #$46 PC:DF8B A:A3 X:65 Y:34 P:67 SP:FB CYC:133 SL:85
DF8C 85 STA $FF PC:DF8D A:46 X:65 Y:34 P:65 SP:FB CYC:139 SL:85
DF8E A0 LDY #$FF PC:DF8F A:46 X:65 Y:34 P:65 SP:FB CYC:148 SL:85
DF90 B9 LDA $0146,y PC:DF91 A:46 X:65 Y:FF P:E5 SP:FB CYC:154 SL:85
DF93 C9 CMP #$12 PC:DF94 A:12 X:65 Y:FF P:65 SP:FB CYC:169 SL:85
DF95 F0 BEQ $DF9B PC:DF96 A:12 X:65 Y:FF P:67 SP:FB CYC:175 SL:85
DF9B A2 LDX #$39 PC:DF9C A:12 X:65 Y:FF P:67 SP:FB CYC:184 SL:85
DF9D 18 CLC PC:DF9E A:12 X:39 Y:FF P:65 SP:FB CYC:190 SL:85
DF9E A9 LDA #$FF PC:DF9F A:12 X:39 Y:FF P:64 SP:FB CYC:196 SL:85
DFA0 85 STA $01 PC:DFA1 A:FF X:39 Y:FF P:E4 SP:FB CYC:202 SL:85
DFA2 24 BIT $01 PC:DFA3 A:FF X:39 Y:FF P:E4 SP:FB CYC:211 SL:85
DFA4 A9 LDA #$AA PC:DFA5 A:FF X:39 Y:FF P:E4 SP:FB CYC:220 SL:85
DFA6 8D STA $0400 PC:DFA7 A:AA X:39 Y:FF P:E4 SP:FB CYC:226 SL:85
DFA9 A9 LDA #$55 PC:DFAA A:AA X:39 Y:FF P:E4 SP:FB CYC:238 SL:85
DFAB A0 LDY #$00 PC:DFAC A:55 X:39 Y:FF P:64 SP:FB CYC:244 SL:85
DFAD 19 ORA $0400,y PC:DFAE A:55 X:39 Y:00 P:66 SP:FB CYC:250 SL:85
DFB0 B0 BCS $DFBA PC:DFB1 A:FF X:39 Y:00 P:E4 SP:FB CYC:262 SL:85
DFB2 10 BPL $DFBA PC:DFB3 A:FF X:39 Y:00 P:E4 SP:FB CYC:268 SL:85
DFB4 C9 CMP #$FF PC:DFB5 A:FF X:39 Y:00 P:E4 SP:FB CYC:274 SL:85
DFB6 D0 BNE $DFBA PC:DFB7 A:FF X:39 Y:00 P:67 SP:FB CYC:280 SL:85
DFB8 70 BVS $DFBC PC:DFB9 A:FF X:39 Y:00 P:67 SP:FB CYC:286 SL:85
DFBC E8 INX PC:DFBD A:FF X:39 Y:00 P:67 SP:FB CYC:295 SL:85
DFBD 38 SEC PC:DFBE A:FF X:3A Y:00 P:65 SP:FB CYC:301 SL:85
DFBE B8 CLV PC:DFBF A:FF X:3A Y:00 P:65 SP:FB CYC:307 SL:85
DFBF A9 LDA #$00 PC:DFC0 A:FF X:3A Y:00 P:25 SP:FB CYC:313 SL:85
DFC1 19 ORA $0400,y PC:DFC2 A:00 X:3A Y:00 P:27 SP:FB CYC:319 SL:85
DFC4 F0 BEQ $DFCC PC:DFC5 A:AA X:3A Y:00 P:A5 SP:FB CYC:331 SL:85
DFC6 70 BVS $DFCC PC:DFC7 A:AA X:3A Y:00 P:A5 SP:FB CYC:337 SL:85
DFC8 90 BCC $DFCC PC:DFC9 A:AA X:3A Y:00 P:A5 SP:FB CYC:2 SL:86
DFCA 30 BMI $DFCE PC:DFCB A:AA X:3A Y:00 P:A5 SP:FB CYC:8 SL:86
DFCE E8 INX PC:DFCF A:AA X:3A Y:00 P:A5 SP:FB CYC:17 SL:86
DFCF 18 CLC PC:DFD0 A:AA X:3B Y:00 P:25 SP:FB CYC:23 SL:86
DFD0 24 BIT $01 PC:DFD1 A:AA X:3B Y:00 P:24 SP:FB CYC:29 SL:86
DFD2 A9 LDA #$55 PC:DFD3 A:AA X:3B Y:00 P:E4 SP:FB CYC:38 SL:86
DFD4 39 AND $0400,y PC:DFD5 A:55 X:3B Y:00 P:64 SP:FB CYC:44 SL:86
DFD7 D0 BNE $DFDF PC:DFD8 A:00 X:3B Y:00 P:66 SP:FB CYC:56 SL:86
DFD9 50 BVC $DFDF PC:DFDA A:00 X:3B Y:00 P:66 SP:FB CYC:62 SL:86
DFDB B0 BCS $DFDF PC:DFDC A:00 X:3B Y:00 P:66 SP:FB CYC:68 SL:86
DFDD 10 BPL $DFE1 PC:DFDE A:00 X:3B Y:00 P:66 SP:FB CYC:74 SL:86
DFE1 E8 INX PC:DFE2 A:00 X:3B Y:00 P:66 SP:FB CYC:83 SL:86
DFE2 38 SEC PC:DFE3 A:00 X:3C Y:00 P:64 SP:FB CYC:89 SL:86
DFE3 B8 CLV PC:DFE4 A:00 X:3C Y:00 P:65 SP:FB CYC:95 SL:86
DFE4 A9 LDA #$EF PC:DFE5 A:00 X:3C Y:00 P:25 SP:FB CYC:101 SL:86
DFE6 8D STA $0400 PC:DFE7 A:EF X:3C Y:00 P:A5 SP:FB CYC:107 SL:86
DFE9 A9 LDA #$F8 PC:DFEA A:EF X:3C Y:00 P:A5 SP:FB CYC:119 SL:86
DFEB 39 AND $0400,y PC:DFEC A:F8 X:3C Y:00 P:A5 SP:FB CYC:125 SL:86
DFEE 90 BCC $DFF8 PC:DFEF A:E8 X:3C Y:00 P:A5 SP:FB CYC:137 SL:86
DFF0 10 BPL $DFF8 PC:DFF1 A:E8 X:3C Y:00 P:A5 SP:FB CYC:143 SL:86
DFF2 C9 CMP #$E8 PC:DFF3 A:E8 X:3C Y:00 P:A5 SP:FB CYC:149 SL:86
DFF4 D0 BNE $DFF8 PC:DFF5 A:E8 X:3C Y:00 P:27 SP:FB CYC:155 SL:86
DFF6 50 BVC $DFFA PC:DFF7 A:E8 X:3C Y:00 P:27 SP:FB CYC:161 SL:86
DFFA E8 INX PC:DFFB A:E8 X:3C Y:00 P:27 SP:FB CYC:170 SL:86
DFFB 18 CLC PC:DFFC A:E8 X:3D Y:00 P:25 SP:FB CYC:176 SL:86
DFFC 24 BIT $01 PC:DFFD A:E8 X:3D Y:00 P:24 SP:FB CYC:182 SL:86
DFFE A9 LDA #$AA PC:DFFF A:E8 X:3D Y:00 P:E4 SP:FB CYC:191 SL:86
E000 8D STA $0400 PC:E001 A:AA X:3D Y:00 P:E4 SP:FB CYC:197 SL:86
E003 A9 LDA #$5F PC:E004 A:AA X:3D Y:00 P:E4 SP:FB CYC:209 SL:86
E005 59 EOR $0400,y PC:E006 A:5F X:3D Y:00 P:64 SP:FB CYC:215 SL:86
E008 B0 BCS $E012 PC:E009 A:F5 X:3D Y:00 P:E4 SP:FB CYC:227 SL:86
E00A 10 BPL $E012 PC:E00B A:F5 X:3D Y:00 P:E4 SP:FB CYC:233 SL:86
E00C C9 CMP #$F5 PC:E00D A:F5 X:3D Y:00 P:E4 SP:FB CYC:239 SL:86
E00E D0 BNE $E012 PC:E00F A:F5 X:3D Y:00 P:67 SP:FB CYC:245 SL:86
E010 70 BVS $E014 PC:E011 A:F5 X:3D Y:00 P:67 SP:FB CYC:251 SL:86
E014 E8 INX PC:E015 A:F5 X:3D Y:00 P:67 SP:FB CYC:260 SL:86
E015 38 SEC PC:E016 A:F5 X:3E Y:00 P:65 SP:FB CYC:266 SL:86
E016 B8 CLV PC:E017 A:F5 X:3E Y:00 P:65 SP:FB CYC:272 SL:86
E017 A9 LDA #$70 PC:E018 A:F5 X:3E Y:00 P:25 SP:FB CYC:278 SL:86
E019 8D STA $0400 PC:E01A A:70 X:3E Y:00 P:25 SP:FB CYC:284 SL:86
E01C 59 EOR $0400,y PC:E01D A:70 X:3E Y:00 P:25 SP:FB CYC:296 SL:86
E01F D0 BNE $E027 PC:E020 A:00 X:3E Y:00 P:27 SP:FB CYC:308 SL:86
E021 70 BVS $E027 PC:E022 A:00 X:3E Y:00 P:27 SP:FB CYC:314 SL:86
E023 90 BCC $E027 PC:E024 A:00 X:3E Y:00 P:27 SP:FB CYC:320 SL:86
E025 10 BPL $E029 PC:E026 A:00 X:3E Y:00 P:27 SP:FB CYC:326 SL:86
E029 E8 INX PC:E02A A:00 X:3E Y:00 P:27 SP:FB CYC:335 SL:86
E02A 18 CLC PC:E02B A:00 X:3F Y:00 P:25 SP:FB CYC:0 SL:87
E02B 24 BIT $01 PC:E02C A:00 X:3F Y:00 P:24 SP:FB CYC:6 SL:87
E02D A9 LDA #$69 PC:E02E A:00 X:3F Y:00 P:E6 SP:FB CYC:15 SL:87
E02F 8D STA $0400 PC:E030 A:69 X:3F Y:00 P:64 SP:FB CYC:21 SL:87
E032 A9 LDA #$00 PC:E033 A:69 X:3F Y:00 P:64 SP:FB CYC:33 SL:87
E034 79 ADC $0400,y PC:E035 A:00 X:3F Y:00 P:66 SP:FB CYC:39 SL:87
E037 30 BMI $E041 PC:E038 A:69 X:3F Y:00 P:24 SP:FB CYC:51 SL:87
E039 B0 BCS $E041 PC:E03A A:69 X:3F Y:00 P:24 SP:FB CYC:57 SL:87
E03B C9 CMP #$69 PC:E03C A:69 X:3F Y:00 P:24 SP:FB CYC:63 SL:87
E03D D0 BNE $E041 PC:E03E A:69 X:3F Y:00 P:27 SP:FB CYC:69 SL:87
E03F 50 BVC $E043 PC:E040 A:69 X:3F Y:00 P:27 SP:FB CYC:75 SL:87
E043 E8 INX PC:E044 A:69 X:3F Y:00 P:27 SP:FB CYC:84 SL:87
E044 38 SEC PC:E045 A:69 X:40 Y:00 P:25 SP:FB CYC:90 SL:87
E045 24 BIT $01 PC:E046 A:69 X:40 Y:00 P:25 SP:FB CYC:96 SL:87
E047 A9 LDA #$00 PC:E048 A:69 X:40 Y:00 P:E5 SP:FB CYC:105 SL:87
E049 79 ADC $0400,y PC:E04A A:00 X:40 Y:00 P:67 SP:FB CYC:111 SL:87
E04C 30 BMI $E056 PC:E04D A:6A X:40 Y:00 P:24 SP:FB CYC:123 SL:87
E04E B0 BCS $E056 PC:E04F A:6A X:40 Y:00 P:24 SP:FB CYC:129 SL:87
E050 C9 CMP #$6A PC:E051 A:6A X:40 Y:00 P:24 SP:FB CYC:135 SL:87
E052 D0 BNE $E056 PC:E053 A:6A X:40 Y:00 P:27 SP:FB CYC:141 SL:87
E054 50 BVC $E058 PC:E055 A:6A X:40 Y:00 P:27 SP:FB CYC:147 SL:87
E058 E8 INX PC:E059 A:6A X:40 Y:00 P:27 SP:FB CYC:156 SL:87
E059 38 SEC PC:E05A A:6A X:41 Y:00 P:25 SP:FB CYC:162 SL:87
E05A B8 CLV PC:E05B A:6A X:41 Y:00 P:25 SP:FB CYC:168 SL:87
E05B A9 LDA #$7F PC:E05C A:6A X:41 Y:00 P:25 SP:FB CYC:174 SL:87
E05D 8D STA $0400 PC:E05E A:7F X:41 Y:00 P:25 SP:FB CYC:180 SL:87
E060 79 ADC $0400,y PC:E061 A:7F X:41 Y:00 P:25 SP:FB CYC:192 SL:87
E063 10 BPL $E06D PC:E064 A:FF X:41 Y:00 P:E4 SP:FB CYC:204 SL:87
E065 B0 BCS $E06D PC:E066 A:FF X:41 Y:00 P:E4 SP:FB CYC:210 SL:87
E067 C9 CMP #$FF PC:E068 A:FF X:41 Y:00 P:E4 SP:FB CYC:216 SL:87
E069 D0 BNE $E06D PC:E06A A:FF X:41 Y:00 P:67 SP:FB CYC:222 SL:87
E06B 70 BVS $E06F PC:E06C A:FF X:41 Y:00 P:67 SP:FB CYC:228 SL:87
E06F E8 INX PC:E070 A:FF X:41 Y:00 P:67 SP:FB CYC:237 SL:87
E070 18 CLC PC:E071 A:FF X:42 Y:00 P:65 SP:FB CYC:243 SL:87
E071 24 BIT $01 PC:E072 A:FF X:42 Y:00 P:64 SP:FB CYC:249 SL:87
E073 A9 LDA #$80 PC:E074 A:FF X:42 Y:00 P:E4 SP:FB CYC:258 SL:87
E075 8D STA $0400 PC:E076 A:80 X:42 Y:00 P:E4 SP:FB CYC:264 SL:87
E078 A9 LDA #$7F PC:E079 A:80 X:42 Y:00 P:E4 SP:FB CYC:276 SL:87
E07A 79 ADC $0400,y PC:E07B A:7F X:42 Y:00 P:64 SP:FB CYC:282 SL:87
E07D 10 BPL $E087 PC:E07E A:FF X:42 Y:00 P:A4 SP:FB CYC:294 SL:87
E07F B0 BCS $E087 PC:E080 A:FF X:42 Y:00 P:A4 SP:FB CYC:300 SL:87
E081 C9 CMP #$FF PC:E082 A:FF X:42 Y:00 P:A4 SP:FB CYC:306 SL:87
E083 D0 BNE $E087 PC:E084 A:FF X:42 Y:00 P:27 SP:FB CYC:312 SL:87
E085 50 BVC $E089 PC:E086 A:FF X:42 Y:00 P:27 SP:FB CYC:318 SL:87
E089 E8 INX PC:E08A A:FF X:42 Y:00 P:27 SP:FB CYC:327 SL:87
E08A 38 SEC PC:E08B A:FF X:43 Y:00 P:25 SP:FB CYC:333 SL:87
E08B B8 CLV PC:E08C A:FF X:43 Y:00 P:25 SP:FB CYC:339 SL:87
E08C A9 LDA #$80 PC:E08D A:FF X:43 Y:00 P:25 SP:FB CYC:4 SL:88
E08E 8D STA $0400 PC:E08F A:80 X:43 Y:00 P:A5 SP:FB CYC:10 SL:88
E091 A9 LDA #$7F PC:E092 A:80 X:43 Y:00 P:A5 SP:FB CYC:22 SL:88
E093 79 ADC $0400,y PC:E094 A:7F X:43 Y:00 P:25 SP:FB CYC:28 SL:88
E096 D0 BNE $E09E PC:E097 A:00 X:43 Y:00 P:27 SP:FB CYC:40 SL:88
E098 30 BMI $E09E PC:E099 A:00 X:43 Y:00 P:27 SP:FB CYC:46 SL:88
E09A 70 BVS $E09E PC:E09B A:00 X:43 Y:00 P:27 SP:FB CYC:52 SL:88
E09C B0 BCS $E0A0 PC:E09D A:00 X:43 Y:00 P:27 SP:FB CYC:58 SL:88
E0A0 E8 INX PC:E0A1 A:00 X:43 Y:00 P:27 SP:FB CYC:67 SL:88
E0A1 24 BIT $01 PC:E0A2 A:00 X:44 Y:00 P:25 SP:FB CYC:73 SL:88
E0A3 A9 LDA #$40 PC:E0A4 A:00 X:44 Y:00 P:E7 SP:FB CYC:82 SL:88
E0A5 8D STA $0400 PC:E0A6 A:40 X:44 Y:00 P:65 SP:FB CYC:88 SL:88
E0A8 D9 CMP $0400,y PC:E0A9 A:40 X:44 Y:00 P:65 SP:FB CYC:100 SL:88
E0AB 30 BMI $E0B3 PC:E0AC A:40 X:44 Y:00 P:67 SP:FB CYC:112 SL:88
E0AD 90 BCC $E0B3 PC:E0AE A:40 X:44 Y:00 P:67 SP:FB CYC:118 SL:88
E0AF D0 BNE $E0B3 PC:E0B0 A:40 X:44 Y:00 P:67 SP:FB CYC:124 SL:88
E0B1 70 BVS $E0B5 PC:E0B2 A:40 X:44 Y:00 P:67 SP:FB CYC:130 SL:88
E0B5 E8 INX PC:E0B6 A:40 X:44 Y:00 P:67 SP:FB CYC:139 SL:88
E0B6 B8 CLV PC:E0B7 A:40 X:45 Y:00 P:65 SP:FB CYC:145 SL:88
E0B7 CE DEC $0400 PC:E0B8 A:40 X:45 Y:00 P:25 SP:FB CYC:151 SL:88
E0BA D9 CMP $0400,y PC:E0BB A:40 X:45 Y:00 P:25 SP:FB CYC:169 SL:88
E0BD F0 BEQ $E0C5 PC:E0BE A:40 X:45 Y:00 P:25 SP:FB CYC:181 SL:88
E0BF 30 BMI $E0C5 PC:E0C0 A:40 X:45 Y:00 P:25 SP:FB CYC:187 SL:88
E0C1 90 BCC $E0C5 PC:E0C2 A:40 X:45 Y:00 P:25 SP:FB CYC:193 SL:88
E0C3 50 BVC $E0C7 PC:E0C4 A:40 X:45 Y:00 P:25 SP:FB CYC:199 SL:88
E0C7 E8 INX PC:E0C8 A:40 X:45 Y:00 P:25 SP:FB CYC:208 SL:88
E0C8 EE INC $0400 PC:E0C9 A:40 X:46 Y:00 P:25 SP:FB CYC:214 SL:88
E0CB EE INC $0400 PC:E0CC A:40 X:46 Y:00 P:25 SP:FB CYC:232 SL:88
E0CE D9 CMP $0400,y PC:E0CF A:40 X:46 Y:00 P:25 SP:FB CYC:250 SL:88
E0D1 F0 BEQ $E0D5 PC:E0D2 A:40 X:46 Y:00 P:A4 SP:FB CYC:262 SL:88
E0D3 30 BMI $E0D7 PC:E0D4 A:40 X:46 Y:00 P:A4 SP:FB CYC:268 SL:88
E0D7 E8 INX PC:E0D8 A:40 X:46 Y:00 P:A4 SP:FB CYC:277 SL:88
E0D8 A9 LDA #$00 PC:E0D9 A:40 X:47 Y:00 P:24 SP:FB CYC:283 SL:88
E0DA 8D STA $0400 PC:E0DB A:00 X:47 Y:00 P:26 SP:FB CYC:289 SL:88
E0DD A9 LDA #$80 PC:E0DE A:00 X:47 Y:00 P:26 SP:FB CYC:301 SL:88
E0DF D9 CMP $0400,y PC:E0E0 A:80 X:47 Y:00 P:A4 SP:FB CYC:307 SL:88
E0E2 F0 BEQ $E0E8 PC:E0E3 A:80 X:47 Y:00 P:A5 SP:FB CYC:319 SL:88
E0E4 10 BPL $E0E8 PC:E0E5 A:80 X:47 Y:00 P:A5 SP:FB CYC:325 SL:88
E0E6 B0 BCS $E0EA PC:E0E7 A:80 X:47 Y:00 P:A5 SP:FB CYC:331 SL:88
E0EA E8 INX PC:E0EB A:80 X:47 Y:00 P:A5 SP:FB CYC:340 SL:88
E0EB A0 LDY #$80 PC:E0EC A:80 X:48 Y:00 P:25 SP:FB CYC:5 SL:89
E0ED 8C STY $0400 PC:E0EE A:80 X:48 Y:80 P:A5 SP:FB CYC:11 SL:89
E0F0 A0 LDY #$00 PC:E0F1 A:80 X:48 Y:80 P:A5 SP:FB CYC:23 SL:89
E0F2 D9 CMP $0400,y PC:E0F3 A:80 X:48 Y:00 P:27 SP:FB CYC:29 SL:89
E0F5 D0 BNE $E0FB PC:E0F6 A:80 X:48 Y:00 P:27 SP:FB CYC:41 SL:89
E0F7 30 BMI $E0FB PC:E0F8 A:80 X:48 Y:00 P:27 SP:FB CYC:47 SL:89
E0F9 B0 BCS $E0FD PC:E0FA A:80 X:48 Y:00 P:27 SP:FB CYC:53 SL:89
E0FD E8 INX PC:E0FE A:80 X:48 Y:00 P:27 SP:FB CYC:62 SL:89
E0FE EE INC $0400 PC:E0FF A:80 X:49 Y:00 P:25 SP:FB CYC:68 SL:89
E101 D9 CMP $0400,y PC:E102 A:80 X:49 Y:00 P:A5 SP:FB CYC:86 SL:89
E104 B0 BCS $E10A PC:E105 A:80 X:49 Y:00 P:A4 SP:FB CYC:98 SL:89
E106 F0 BEQ $E10A PC:E107 A:80 X:49 Y:00 P:A4 SP:FB CYC:104 SL:89
E108 30 BMI $E10C PC:E109 A:80 X:49 Y:00 P:A4 SP:FB CYC:110 SL:89
E10C E8 INX PC:E10D A:80 X:49 Y:00 P:A4 SP:FB CYC:119 SL:89
E10D CE DEC $0400 PC:E10E A:80 X:4A Y:00 P:24 SP:FB CYC:125 SL:89
E110 CE DEC $0400 PC:E111 A:80 X:4A Y:00 P:A4 SP:FB CYC:143 SL:89
E113 D9 CMP $0400,y PC:E114 A:80 X:4A Y:00 P:24 SP:FB CYC:161 SL:89
E116 90 BCC $E11C PC:E117 A:80 X:4A Y:00 P:25 SP:FB CYC:173 SL:89
E118 F0 BEQ $E11C PC:E119 A:80 X:4A Y:00 P:25 SP:FB CYC:179 SL:89
E11A 10 BPL $E11E PC:E11B A:80 X:4A Y:00 P:25 SP:FB CYC:185 SL:89
E11E E8 INX PC:E11F A:80 X:4A Y:00 P:25 SP:FB CYC:194 SL:89
E11F 24 BIT $01 PC:E120 A:80 X:4B Y:00 P:25 SP:FB CYC:200 SL:89
E121 A9 LDA #$40 PC:E122 A:80 X:4B Y:00 P:E5 SP:FB CYC:209 SL:89
E123 8D STA $0400 PC:E124 A:40 X:4B Y:00 P:65 SP:FB CYC:215 SL:89
E126 38 SEC PC:E127 A:40 X:4B Y:00 P:65 SP:FB CYC:227 SL:89
E127 F9 SBC $0400,y PC:E128 A:40 X:4B Y:00 P:65 SP:FB CYC:233 SL:89
E12A 30 BMI $E136 PC:E12B A:00 X:4B Y:00 P:27 SP:FB CYC:245 SL:89
E12C 90 BCC $E136 PC:E12D A:00 X:4B Y:00 P:27 SP:FB CYC:251 SL:89
E12E D0 BNE $E136 PC:E12F A:00 X:4B Y:00 P:27 SP:FB CYC:257 SL:89
E130 70 BVS $E136 PC:E131 A:00 X:4B Y:00 P:27 SP:FB CYC:263 SL:89
E132 C9 CMP #$00 PC:E133 A:00 X:4B Y:00 P:27 SP:FB CYC:269 SL:89
E134 F0 BEQ $E138 PC:E135 A:00 X:4B Y:00 P:27 SP:FB CYC:275 SL:89
E138 E8 INX PC:E139 A:00 X:4B Y:00 P:27 SP:FB CYC:284 SL:89
E139 B8 CLV PC:E13A A:00 X:4C Y:00 P:25 SP:FB CYC:290 SL:89
E13A 38 SEC PC:E13B A:00 X:4C Y:00 P:25 SP:FB CYC:296 SL:89
E13B A9 LDA #$40 PC:E13C A:00 X:4C Y:00 P:25 SP:FB CYC:302 SL:89
E13D CE DEC $0400 PC:E13E A:40 X:4C Y:00 P:25 SP:FB CYC:308 SL:89
E140 F9 SBC $0400,y PC:E141 A:40 X:4C Y:00 P:25 SP:FB CYC:326 SL:89
E143 F0 BEQ $E14F PC:E144 A:01 X:4C Y:00 P:25 SP:FB CYC:338 SL:89
E145 30 BMI $E14F PC:E146 A:01 X:4C Y:00 P:25 SP:FB CYC:3 SL:90
E147 90 BCC $E14F PC:E148 A:01 X:4C Y:00 P:25 SP:FB CYC:9 SL:90
E149 70 BVS $E14F PC:E14A A:01 X:4C Y:00 P:25 SP:FB CYC:15 SL:90
E14B C9 CMP #$01 PC:E14C A:01 X:4C Y:00 P:25 SP:FB CYC:21 SL:90
E14D F0 BEQ $E151 PC:E14E A:01 X:4C Y:00 P:27 SP:FB CYC:27 SL:90
E151 E8 INX PC:E152 A:01 X:4C Y:00 P:27 SP:FB CYC:36 SL:90
E152 A9 LDA #$40 PC:E153 A:01 X:4D Y:00 P:25 SP:FB CYC:42 SL:90
E154 38 SEC PC:E155 A:40 X:4D Y:00 P:25 SP:FB CYC:48 SL:90
E155 24 BIT $01 PC:E156 A:40 X:4D Y:00 P:25 SP:FB CYC:54 SL:90
E157 EE INC $0400 PC:E158 A:40 X:4D Y:00 P:E5 SP:FB CYC:63 SL:90
E15A EE INC $0400 PC:E15B A:40 X:4D Y:00 P:65 SP:FB CYC:81 SL:90
E15D F9 SBC $0400,y PC:E15E A:40 X:4D Y:00 P:65 SP:FB CYC:99 SL:90
E160 B0 BCS $E16C PC:E161 A:FF X:4D Y:00 P:A4 SP:FB CYC:111 SL:90
E162 F0 BEQ $E16C PC:E163 A:FF X:4D Y:00 P:A4 SP:FB CYC:117 SL:90
E164 10 BPL $E16C PC:E165 A:FF X:4D Y:00 P:A4 SP:FB CYC:123 SL:90
E166 70 BVS $E16C PC:E167 A:FF X:4D Y:00 P:A4 SP:FB CYC:129 SL:90
E168 C9 CMP #$FF PC:E169 A:FF X:4D Y:00 P:A4 SP:FB CYC:135 SL:90
E16A F0 BEQ $E16E PC:E16B A:FF X:4D Y:00 P:27 SP:FB CYC:141 SL:90
E16E E8 INX PC:E16F A:FF X:4D Y:00 P:27 SP:FB CYC:150 SL:90
E16F 18 CLC PC:E170 A:FF X:4E Y:00 P:25 SP:FB CYC:156 SL:90
E170 A9 LDA #$00 PC:E171 A:FF X:4E Y:00 P:24 SP:FB CYC:162 SL:90
E172 8D STA $0400 PC:E173 A:00 X:4E Y:00 P:26 SP:FB CYC:168 SL:90
E175 A9 LDA #$80 PC:E176 A:00 X:4E Y:00 P:26 SP:FB CYC:180 SL:90
E177 F9 SBC $0400,y PC:E178 A:80 X:4E Y:00 P:A4 SP:FB CYC:186 SL:90
E17A 90 BCC $E180 PC:E17B A:7F X:4E Y:00 P:65 SP:FB CYC:198 SL:90
E17C C9 CMP #$7F PC:E17D A:7F X:4E Y:00 P:65 SP:FB CYC:204 SL:90
E17E F0 BEQ $E182 PC:E17F A:7F X:4E Y:00 P:67 SP:FB CYC:210 SL:90
E182 E8 INX PC:E183 A:7F X:4E Y:00 P:67 SP:FB CYC:219 SL:90
E183 38 SEC PC:E184 A:7F X:4F Y:00 P:65 SP:FB CYC:225 SL:90
E184 A9 LDA #$7F PC:E185 A:7F X:4F Y:00 P:65 SP:FB CYC:231 SL:90
E186 8D STA $0400 PC:E187 A:7F X:4F Y:00 P:65 SP:FB CYC:237 SL:90
E189 A9 LDA #$81 PC:E18A A:7F X:4F Y:00 P:65 SP:FB CYC:249 SL:90
E18B F9 SBC $0400,y PC:E18C A:81 X:4F Y:00 P:E5 SP:FB CYC:255 SL:90
E18E 50 BVC $E196 PC:E18F A:02 X:4F Y:00 P:65 SP:FB CYC:267 SL:90
E190 90 BCC $E196 PC:E191 A:02 X:4F Y:00 P:65 SP:FB CYC:273 SL:90
E192 C9 CMP #$02 PC:E193 A:02 X:4F Y:00 P:65 SP:FB CYC:279 SL:90
E194 F0 BEQ $E198 PC:E195 A:02 X:4F Y:00 P:67 SP:FB CYC:285 SL:90
E198 E8 INX PC:E199 A:02 X:4F Y:00 P:67 SP:FB CYC:294 SL:90
E199 A9 LDA #$00 PC:E19A A:02 X:50 Y:00 P:65 SP:FB CYC:300 SL:90
E19B A9 LDA #$87 PC:E19C A:00 X:50 Y:00 P:67 SP:FB CYC:306 SL:90
E19D 99 STA $0400,y PC:E19E A:87 X:50 Y:00 P:E5 SP:FB CYC:312 SL:90
E1A0 AD LDA $0400 PC:E1A1 A:87 X:50 Y:00 P:E5 SP:FB CYC:327 SL:90
E1A3 C9 CMP #$87 PC:E1A4 A:87 X:50 Y:00 P:E5 SP:FB CYC:339 SL:90
E1A5 F0 BEQ $E1A9 PC:E1A6 A:87 X:50 Y:00 P:67 SP:FB CYC:4 SL:91
E1A9 60 RTS PC:E1AA A:87 X:50 Y:00 P:67 SP:FB CYC:13 SL:91
C629 20 JSR $DBB8 PC:C62A A:87 X:50 Y:00 P:67 SP:FD CYC:31 SL:91
DBB8 A9 LDA #$FF PC:DBB9 A:87 X:50 Y:00 P:67 SP:FB CYC:49 SL:91
DBBA 85 STA $01 PC:DBBB A:FF X:50 Y:00 P:E5 SP:FB CYC:55 SL:91
DBBC A9 LDA #$AA PC:DBBD A:FF X:50 Y:00 P:E5 SP:FB CYC:64 SL:91
DBBE 85 STA $33 PC:DBBF A:AA X:50 Y:00 P:E5 SP:FB CYC:70 SL:91
DBC0 A9 LDA #$BB PC:DBC1 A:AA X:50 Y:00 P:E5 SP:FB CYC:79 SL:91
DBC2 85 STA $89 PC:DBC3 A:BB X:50 Y:00 P:E5 SP:FB CYC:85 SL:91
DBC4 A2 LDX #$00 PC:DBC5 A:BB X:50 Y:00 P:E5 SP:FB CYC:94 SL:91
DBC6 A9 LDA #$66 PC:DBC7 A:BB X:00 Y:00 P:67 SP:FB CYC:100 SL:91
DBC8 24 BIT $01 PC:DBC9 A:66 X:00 Y:00 P:65 SP:FB CYC:106 SL:91
DBCA 38 SEC PC:DBCB A:66 X:00 Y:00 P:E5 SP:FB CYC:115 SL:91
DBCB A0 LDY #$00 PC:DBCC A:66 X:00 Y:00 P:E5 SP:FB CYC:121 SL:91
DBCD B4 LDY $33,x PC:DBCE A:66 X:00 Y:00 P:67 SP:FB CYC:127 SL:91
DBCF 10 BPL $DBE3 PC:DBD0 A:66 X:00 Y:AA P:E5 SP:FB CYC:139 SL:91
DBD1 F0 BEQ $DBE3 PC:DBD2 A:66 X:00 Y:AA P:E5 SP:FB CYC:145 SL:91
DBD3 50 BVC $DBE3 PC:DBD4 A:66 X:00 Y:AA P:E5 SP:FB CYC:151 SL:91
DBD5 90 BCC $DBE3 PC:DBD6 A:66 X:00 Y:AA P:E5 SP:FB CYC:157 SL:91
DBD7 C9 CMP #$66 PC:DBD8 A:66 X:00 Y:AA P:E5 SP:FB CYC:163 SL:91
DBD9 D0 BNE $DBE3 PC:DBDA A:66 X:00 Y:AA P:67 SP:FB CYC:169 SL:91
DBDB E0 CPX #$00 PC:DBDC A:66 X:00 Y:AA P:67 SP:FB CYC:175 SL:91
DBDD D0 BNE $DBE3 PC:DBDE A:66 X:00 Y:AA P:67 SP:FB CYC:181 SL:91
DBDF C0 CPY #$AA PC:DBE0 A:66 X:00 Y:AA P:67 SP:FB CYC:187 SL:91
DBE1 F0 BEQ $DBE7 PC:DBE2 A:66 X:00 Y:AA P:67 SP:FB CYC:193 SL:91
DBE7 A2 LDX #$8A PC:DBE8 A:66 X:00 Y:AA P:67 SP:FB CYC:202 SL:91
DBE9 A9 LDA #$66 PC:DBEA A:66 X:8A Y:AA P:E5 SP:FB CYC:208 SL:91
DBEB B8 CLV PC:DBEC A:66 X:8A Y:AA P:65 SP:FB CYC:214 SL:91
DBEC 18 CLC PC:DBED A:66 X:8A Y:AA P:25 SP:FB CYC:220 SL:91
DBED A0 LDY #$00 PC:DBEE A:66 X:8A Y:AA P:24 SP:FB CYC:226 SL:91
DBEF B4 LDY $FF,x PC:DBF0 A:66 X:8A Y:00 P:26 SP:FB CYC:232 SL:91
DBF1 10 BPL $DC05 PC:DBF2 A:66 X:8A Y:BB P:A4 SP:FB CYC:244 SL:91
DBF3 F0 BEQ $DC05 PC:DBF4 A:66 X:8A Y:BB P:A4 SP:FB CYC:250 SL:91
DBF5 70 BVS $DC05 PC:DBF6 A:66 X:8A Y:BB P:A4 SP:FB CYC:256 SL:91
DBF7 B0 BCS $DC05 PC:DBF8 A:66 X:8A Y:BB P:A4 SP:FB CYC:262 SL:91
DBF9 C0 CPY #$BB PC:DBFA A:66 X:8A Y:BB P:A4 SP:FB CYC:268 SL:91
DBFB D0 BNE $DC05 PC:DBFC A:66 X:8A Y:BB P:27 SP:FB CYC:274 SL:91
DBFD C9 CMP #$66 PC:DBFE A:66 X:8A Y:BB P:27 SP:FB CYC:280 SL:91
DBFF D0 BNE $DC05 PC:DC00 A:66 X:8A Y:BB P:27 SP:FB CYC:286 SL:91
DC01 E0 CPX #$8A PC:DC02 A:66 X:8A Y:BB P:27 SP:FB CYC:292 SL:91
DC03 F0 BEQ $DC09 PC:DC04 A:66 X:8A Y:BB P:27 SP:FB CYC:298 SL:91
DC09 24 BIT $01 PC:DC0A A:66 X:8A Y:BB P:27 SP:FB CYC:307 SL:91
DC0B 38 SEC PC:DC0C A:66 X:8A Y:BB P:E5 SP:FB CYC:316 SL:91
DC0C A0 LDY #$44 PC:DC0D A:66 X:8A Y:BB P:E5 SP:FB CYC:322 SL:91
DC0E A2 LDX #$00 PC:DC0F A:66 X:8A Y:44 P:65 SP:FB CYC:328 SL:91
DC10 94 STY $33,x PC:DC11 A:66 X:00 Y:44 P:67 SP:FB CYC:334 SL:91
DC12 A5 LDA $33 PC:DC13 A:66 X:00 Y:44 P:67 SP:FB CYC:5 SL:92
DC14 90 BCC $DC2E PC:DC15 A:44 X:00 Y:44 P:65 SP:FB CYC:14 SL:92
DC16 C9 CMP #$44 PC:DC17 A:44 X:00 Y:44 P:65 SP:FB CYC:20 SL:92
DC18 D0 BNE $DC2E PC:DC19 A:44 X:00 Y:44 P:67 SP:FB CYC:26 SL:92
DC1A 50 BVC $DC2E PC:DC1B A:44 X:00 Y:44 P:67 SP:FB CYC:32 SL:92
DC1C 18 CLC PC:DC1D A:44 X:00 Y:44 P:67 SP:FB CYC:38 SL:92
DC1D B8 CLV PC:DC1E A:44 X:00 Y:44 P:66 SP:FB CYC:44 SL:92
DC1E A0 LDY #$99 PC:DC1F A:44 X:00 Y:44 P:26 SP:FB CYC:50 SL:92
DC20 A2 LDX #$80 PC:DC21 A:44 X:00 Y:99 P:A4 SP:FB CYC:56 SL:92
DC22 94 STY $85,x PC:DC23 A:44 X:80 Y:99 P:A4 SP:FB CYC:62 SL:92
DC24 A5 LDA $05 PC:DC25 A:44 X:80 Y:99 P:A4 SP:FB CYC:74 SL:92
DC26 B0 BCS $DC2E PC:DC27 A:99 X:80 Y:99 P:A4 SP:FB CYC:83 SL:92
DC28 C9 CMP #$99 PC:DC29 A:99 X:80 Y:99 P:A4 SP:FB CYC:89 SL:92
DC2A D0 BNE $DC2E PC:DC2B A:99 X:80 Y:99 P:27 SP:FB CYC:95 SL:92
DC2C 50 BVC $DC32 PC:DC2D A:99 X:80 Y:99 P:27 SP:FB CYC:101 SL:92
DC32 A0 LDY #$0B PC:DC33 A:99 X:80 Y:99 P:27 SP:FB CYC:110 SL:92
DC34 A9 LDA #$AA PC:DC35 A:99 X:80 Y:0B P:25 SP:FB CYC:116 SL:92
DC36 A2 LDX #$78 PC:DC37 A:AA X:80 Y:0B P:A5 SP:FB CYC:122 SL:92
DC38 85 STA $78 PC:DC39 A:AA X:78 Y:0B P:25 SP:FB CYC:128 SL:92
DC3A 20 JSR $F7B6 PC:DC3B A:AA X:78 Y:0B P:25 SP:FB CYC:137 SL:92
F7B6 18 CLC PC:F7B7 A:AA X:78 Y:0B P:25 SP:F9 CYC:155 SL:92
F7B7 A9 LDA #$FF PC:F7B8 A:AA X:78 Y:0B P:24 SP:F9 CYC:161 SL:92
F7B9 85 STA $01 PC:F7BA A:FF X:78 Y:0B P:A4 SP:F9 CYC:167 SL:92
F7BB 24 BIT $01 PC:F7BC A:FF X:78 Y:0B P:A4 SP:F9 CYC:176 SL:92
F7BD A9 LDA #$55 PC:F7BE A:FF X:78 Y:0B P:E4 SP:F9 CYC:185 SL:92
F7BF 60 RTS PC:F7C0 A:55 X:78 Y:0B P:64 SP:F9 CYC:191 SL:92
DC3D 15 ORA $00,x PC:DC3E A:55 X:78 Y:0B P:64 SP:FB CYC:209 SL:92
DC3F 20 JSR $F7C0 PC:DC40 A:FF X:78 Y:0B P:E4 SP:FB CYC:221 SL:92
F7C0 B0 BCS $F7CB PC:F7C1 A:FF X:78 Y:0B P:E4 SP:F9 CYC:239 SL:92
F7C2 10 BPL $F7CB PC:F7C3 A:FF X:78 Y:0B P:E4 SP:F9 CYC:245 SL:92
F7C4 C9 CMP #$FF PC:F7C5 A:FF X:78 Y:0B P:E4 SP:F9 CYC:251 SL:92
F7C6 D0 BNE $F7CB PC:F7C7 A:FF X:78 Y:0B P:67 SP:F9 CYC:257 SL:92
F7C8 50 BVC $F7CB PC:F7C9 A:FF X:78 Y:0B P:67 SP:F9 CYC:263 SL:92
F7CA 60 RTS PC:F7CB A:FF X:78 Y:0B P:67 SP:F9 CYC:269 SL:92
DC42 C8 INY PC:DC43 A:FF X:78 Y:0B P:67 SP:FB CYC:287 SL:92
DC43 A9 LDA #$00 PC:DC44 A:FF X:78 Y:0C P:65 SP:FB CYC:293 SL:92
DC45 85 STA $78 PC:DC46 A:00 X:78 Y:0C P:67 SP:FB CYC:299 SL:92
DC47 20 JSR $F7CE PC:DC48 A:00 X:78 Y:0C P:67 SP:FB CYC:308 SL:92
F7CE 38 SEC PC:F7CF A:00 X:78 Y:0C P:67 SP:F9 CYC:326 SL:92
F7CF B8 CLV PC:F7D0 A:00 X:78 Y:0C P:67 SP:F9 CYC:332 SL:92
F7D0 A9 LDA #$00 PC:F7D1 A:00 X:78 Y:0C P:27 SP:F9 CYC:338 SL:92
F7D2 60 RTS PC:F7D3 A:00 X:78 Y:0C P:27 SP:F9 CYC:3 SL:93
DC4A 15 ORA $00,x PC:DC4B A:00 X:78 Y:0C P:27 SP:FB CYC:21 SL:93
DC4C 20 JSR $F7D3 PC:DC4D A:00 X:78 Y:0C P:27 SP:FB CYC:33 SL:93
F7D3 D0 BNE $F7DC PC:F7D4 A:00 X:78 Y:0C P:27 SP:F9 CYC:51 SL:93
F7D5 70 BVS $F7DC PC:F7D6 A:00 X:78 Y:0C P:27 SP:F9 CYC:57 SL:93
F7D7 90 BCC $F7DC PC:F7D8 A:00 X:78 Y:0C P:27 SP:F9 CYC:63 SL:93
F7D9 30 BMI $F7DC PC:F7DA A:00 X:78 Y:0C P:27 SP:F9 CYC:69 SL:93
F7DB 60 RTS PC:F7DC A:00 X:78 Y:0C P:27 SP:F9 CYC:75 SL:93
DC4F C8 INY PC:DC50 A:00 X:78 Y:0C P:27 SP:FB CYC:93 SL:93
DC50 A9 LDA #$AA PC:DC51 A:00 X:78 Y:0D P:25 SP:FB CYC:99 SL:93
DC52 85 STA $78 PC:DC53 A:AA X:78 Y:0D P:A5 SP:FB CYC:105 SL:93
DC54 20 JSR $F7DF PC:DC55 A:AA X:78 Y:0D P:A5 SP:FB CYC:114 SL:93
F7DF 18 CLC PC:F7E0 A:AA X:78 Y:0D P:A5 SP:F9 CYC:132 SL:93
F7E0 24 BIT $01 PC:F7E1 A:AA X:78 Y:0D P:A4 SP:F9 CYC:138 SL:93
F7E2 A9 LDA #$55 PC:F7E3 A:AA X:78 Y:0D P:E4 SP:F9 CYC:147 SL:93
F7E4 60 RTS PC:F7E5 A:55 X:78 Y:0D P:64 SP:F9 CYC:153 SL:93
DC57 35 AND $00,x PC:DC58 A:55 X:78 Y:0D P:64 SP:FB CYC:171 SL:93
DC59 20 JSR $F7E5 PC:DC5A A:00 X:78 Y:0D P:66 SP:FB CYC:183 SL:93
F7E5 D0 BNE $F7EE PC:F7E6 A:00 X:78 Y:0D P:66 SP:F9 CYC:201 SL:93
F7E7 50 BVC $F7EE PC:F7E8 A:00 X:78 Y:0D P:66 SP:F9 CYC:207 SL:93
F7E9 B0 BCS $F7EE PC:F7EA A:00 X:78 Y:0D P:66 SP:F9 CYC:213 SL:93
F7EB 30 BMI $F7EE PC:F7EC A:00 X:78 Y:0D P:66 SP:F9 CYC:219 SL:93
F7ED 60 RTS PC:F7EE A:00 X:78 Y:0D P:66 SP:F9 CYC:225 SL:93
DC5C C8 INY PC:DC5D A:00 X:78 Y:0D P:66 SP:FB CYC:243 SL:93
DC5D A9 LDA #$EF PC:DC5E A:00 X:78 Y:0E P:64 SP:FB CYC:249 SL:93
DC5F 85 STA $78 PC:DC60 A:EF X:78 Y:0E P:E4 SP:FB CYC:255 SL:93
DC61 20 JSR $F7F1 PC:DC62 A:EF X:78 Y:0E P:E4 SP:FB CYC:264 SL:93
F7F1 38 SEC PC:F7F2 A:EF X:78 Y:0E P:E4 SP:F9 CYC:282 SL:93
F7F2 B8 CLV PC:F7F3 A:EF X:78 Y:0E P:E5 SP:F9 CYC:288 SL:93
F7F3 A9 LDA #$F8 PC:F7F4 A:EF X:78 Y:0E P:A5 SP:F9 CYC:294 SL:93
F7F5 60 RTS PC:F7F6 A:F8 X:78 Y:0E P:A5 SP:F9 CYC:300 SL:93
DC64 35 AND $00,x PC:DC65 A:F8 X:78 Y:0E P:A5 SP:FB CYC:318 SL:93
DC66 20 JSR $F7F6 PC:DC67 A:E8 X:78 Y:0E P:A5 SP:FB CYC:330 SL:93
F7F6 90 BCC $F801 PC:F7F7 A:E8 X:78 Y:0E P:A5 SP:F9 CYC:7 SL:94
F7F8 10 BPL $F801 PC:F7F9 A:E8 X:78 Y:0E P:A5 SP:F9 CYC:13 SL:94
F7FA C9 CMP #$E8 PC:F7FB A:E8 X:78 Y:0E P:A5 SP:F9 CYC:19 SL:94
F7FC D0 BNE $F801 PC:F7FD A:E8 X:78 Y:0E P:27 SP:F9 CYC:25 SL:94
F7FE 70 BVS $F801 PC:F7FF A:E8 X:78 Y:0E P:27 SP:F9 CYC:31 SL:94
F800 60 RTS PC:F801 A:E8 X:78 Y:0E P:27 SP:F9 CYC:37 SL:94
DC69 C8 INY PC:DC6A A:E8 X:78 Y:0E P:27 SP:FB CYC:55 SL:94
DC6A A9 LDA #$AA PC:DC6B A:E8 X:78 Y:0F P:25 SP:FB CYC:61 SL:94
DC6C 85 STA $78 PC:DC6D A:AA X:78 Y:0F P:A5 SP:FB CYC:67 SL:94
DC6E 20 JSR $F804 PC:DC6F A:AA X:78 Y:0F P:A5 SP:FB CYC:76 SL:94
F804 18 CLC PC:F805 A:AA X:78 Y:0F P:A5 SP:F9 CYC:94 SL:94
F805 24 BIT $01 PC:F806 A:AA X:78 Y:0F P:A4 SP:F9 CYC:100 SL:94
F807 A9 LDA #$5F PC:F808 A:AA X:78 Y:0F P:E4 SP:F9 CYC:109 SL:94
F809 60 RTS PC:F80A A:5F X:78 Y:0F P:64 SP:F9 CYC:115 SL:94
DC71 55 EOR $00,x PC:DC72 A:5F X:78 Y:0F P:64 SP:FB CYC:133 SL:94
DC73 20 JSR $F80A PC:DC74 A:F5 X:78 Y:0F P:E4 SP:FB CYC:145 SL:94
F80A B0 BCS $F815 PC:F80B A:F5 X:78 Y:0F P:E4 SP:F9 CYC:163 SL:94
F80C 10 BPL $F815 PC:F80D A:F5 X:78 Y:0F P:E4 SP:F9 CYC:169 SL:94
F80E C9 CMP #$F5 PC:F80F A:F5 X:78 Y:0F P:E4 SP:F9 CYC:175 SL:94
F810 D0 BNE $F815 PC:F811 A:F5 X:78 Y:0F P:67 SP:F9 CYC:181 SL:94
F812 50 BVC $F815 PC:F813 A:F5 X:78 Y:0F P:67 SP:F9 CYC:187 SL:94
F814 60 RTS PC:F815 A:F5 X:78 Y:0F P:67 SP:F9 CYC:193 SL:94
DC76 C8 INY PC:DC77 A:F5 X:78 Y:0F P:67 SP:FB CYC:211 SL:94
DC77 A9 LDA #$70 PC:DC78 A:F5 X:78 Y:10 P:65 SP:FB CYC:217 SL:94
DC79 85 STA $78 PC:DC7A A:70 X:78 Y:10 P:65 SP:FB CYC:223 SL:94
DC7B 20 JSR $F818 PC:DC7C A:70 X:78 Y:10 P:65 SP:FB CYC:232 SL:94
F818 38 SEC PC:F819 A:70 X:78 Y:10 P:65 SP:F9 CYC:250 SL:94
F819 B8 CLV PC:F81A A:70 X:78 Y:10 P:65 SP:F9 CYC:256 SL:94
F81A A9 LDA #$70 PC:F81B A:70 X:78 Y:10 P:25 SP:F9 CYC:262 SL:94
F81C 60 RTS PC:F81D A:70 X:78 Y:10 P:25 SP:F9 CYC:268 SL:94
DC7E 55 EOR $00,x PC:DC7F A:70 X:78 Y:10 P:25 SP:FB CYC:286 SL:94
DC80 20 JSR $F81D PC:DC81 A:00 X:78 Y:10 P:27 SP:FB CYC:298 SL:94
F81D D0 BNE $F826 PC:F81E A:00 X:78 Y:10 P:27 SP:F9 CYC:316 SL:94
F81F 70 BVS $F826 PC:F820 A:00 X:78 Y:10 P:27 SP:F9 CYC:322 SL:94
F821 90 BCC $F826 PC:F822 A:00 X:78 Y:10 P:27 SP:F9 CYC:328 SL:94
F823 30 BMI $F826 PC:F824 A:00 X:78 Y:10 P:27 SP:F9 CYC:334 SL:94
F825 60 RTS PC:F826 A:00 X:78 Y:10 P:27 SP:F9 CYC:340 SL:94
DC83 C8 INY PC:DC84 A:00 X:78 Y:10 P:27 SP:FB CYC:17 SL:95
DC84 A9 LDA #$69 PC:DC85 A:00 X:78 Y:11 P:25 SP:FB CYC:23 SL:95
DC86 85 STA $78 PC:DC87 A:69 X:78 Y:11 P:25 SP:FB CYC:29 SL:95
DC88 20 JSR $F829 PC:DC89 A:69 X:78 Y:11 P:25 SP:FB CYC:38 SL:95
F829 18 CLC PC:F82A A:69 X:78 Y:11 P:25 SP:F9 CYC:56 SL:95
F82A 24 BIT $01 PC:F82B A:69 X:78 Y:11 P:24 SP:F9 CYC:62 SL:95
F82C A9 LDA #$00 PC:F82D A:69 X:78 Y:11 P:E4 SP:F9 CYC:71 SL:95
F82E 60 RTS PC:F82F A:00 X:78 Y:11 P:66 SP:F9 CYC:77 SL:95
DC8B 75 ADC $00,x PC:DC8C A:00 X:78 Y:11 P:66 SP:FB CYC:95 SL:95
DC8D 20 JSR $F82F PC:DC8E A:69 X:78 Y:11 P:24 SP:FB CYC:107 SL:95
F82F 30 BMI $F83A PC:F830 A:69 X:78 Y:11 P:24 SP:F9 CYC:125 SL:95
F831 B0 BCS $F83A PC:F832 A:69 X:78 Y:11 P:24 SP:F9 CYC:131 SL:95
F833 C9 CMP #$69 PC:F834 A:69 X:78 Y:11 P:24 SP:F9 CYC:137 SL:95
F835 D0 BNE $F83A PC:F836 A:69 X:78 Y:11 P:27 SP:F9 CYC:143 SL:95
F837 70 BVS $F83A PC:F838 A:69 X:78 Y:11 P:27 SP:F9 CYC:149 SL:95
F839 60 RTS PC:F83A A:69 X:78 Y:11 P:27 SP:F9 CYC:155 SL:95
DC90 C8 INY PC:DC91 A:69 X:78 Y:11 P:27 SP:FB CYC:173 SL:95
DC91 20 JSR $F83D PC:DC92 A:69 X:78 Y:12 P:25 SP:FB CYC:179 SL:95
F83D 38 SEC PC:F83E A:69 X:78 Y:12 P:25 SP:F9 CYC:197 SL:95
F83E 24 BIT $01 PC:F83F A:69 X:78 Y:12 P:25 SP:F9 CYC:203 SL:95
F840 A9 LDA #$00 PC:F841 A:69 X:78 Y:12 P:E5 SP:F9 CYC:212 SL:95
F842 60 RTS PC:F843 A:00 X:78 Y:12 P:67 SP:F9 CYC:218 SL:95
DC94 75 ADC $00,x PC:DC95 A:00 X:78 Y:12 P:67 SP:FB CYC:236 SL:95
DC96 20 JSR $F843 PC:DC97 A:6A X:78 Y:12 P:24 SP:FB CYC:248 SL:95
F843 30 BMI $F84E PC:F844 A:6A X:78 Y:12 P:24 SP:F9 CYC:266 SL:95
F845 B0 BCS $F84E PC:F846 A:6A X:78 Y:12 P:24 SP:F9 CYC:272 SL:95
F847 C9 CMP #$6A PC:F848 A:6A X:78 Y:12 P:24 SP:F9 CYC:278 SL:95
F849 D0 BNE $F84E PC:F84A A:6A X:78 Y:12 P:27 SP:F9 CYC:284 SL:95
F84B 70 BVS $F84E PC:F84C A:6A X:78 Y:12 P:27 SP:F9 CYC:290 SL:95
F84D 60 RTS PC:F84E A:6A X:78 Y:12 P:27 SP:F9 CYC:296 SL:95
DC99 C8 INY PC:DC9A A:6A X:78 Y:12 P:27 SP:FB CYC:314 SL:95
DC9A A9 LDA #$7F PC:DC9B A:6A X:78 Y:13 P:25 SP:FB CYC:320 SL:95
DC9C 85 STA $78 PC:DC9D A:7F X:78 Y:13 P:25 SP:FB CYC:326 SL:95
DC9E 20 JSR $F851 PC:DC9F A:7F X:78 Y:13 P:25 SP:FB CYC:335 SL:95
F851 38 SEC PC:F852 A:7F X:78 Y:13 P:25 SP:F9 CYC:12 SL:96
F852 B8 CLV PC:F853 A:7F X:78 Y:13 P:25 SP:F9 CYC:18 SL:96
F853 A9 LDA #$7F PC:F854 A:7F X:78 Y:13 P:25 SP:F9 CYC:24 SL:96
F855 60 RTS PC:F856 A:7F X:78 Y:13 P:25 SP:F9 CYC:30 SL:96
DCA1 75 ADC $00,x PC:DCA2 A:7F X:78 Y:13 P:25 SP:FB CYC:48 SL:96
DCA3 20 JSR $F856 PC:DCA4 A:FF X:78 Y:13 P:E4 SP:FB CYC:60 SL:96
F856 10 BPL $F861 PC:F857 A:FF X:78 Y:13 P:E4 SP:F9 CYC:78 SL:96
F858 B0 BCS $F861 PC:F859 A:FF X:78 Y:13 P:E4 SP:F9 CYC:84 SL:96
F85A C9 CMP #$FF PC:F85B A:FF X:78 Y:13 P:E4 SP:F9 CYC:90 SL:96
F85C D0 BNE $F861 PC:F85D A:FF X:78 Y:13 P:67 SP:F9 CYC:96 SL:96
F85E 50 BVC $F861 PC:F85F A:FF X:78 Y:13 P:67 SP:F9 CYC:102 SL:96
F860 60 RTS PC:F861 A:FF X:78 Y:13 P:67 SP:F9 CYC:108 SL:96
DCA6 C8 INY PC:DCA7 A:FF X:78 Y:13 P:67 SP:FB CYC:126 SL:96
DCA7 A9 LDA #$80 PC:DCA8 A:FF X:78 Y:14 P:65 SP:FB CYC:132 SL:96
DCA9 85 STA $78 PC:DCAA A:80 X:78 Y:14 P:E5 SP:FB CYC:138 SL:96
DCAB 20 JSR $F864 PC:DCAC A:80 X:78 Y:14 P:E5 SP:FB CYC:147 SL:96
F864 18 CLC PC:F865 A:80 X:78 Y:14 P:E5 SP:F9 CYC:165 SL:96
F865 24 BIT $01 PC:F866 A:80 X:78 Y:14 P:E4 SP:F9 CYC:171 SL:96
F867 A9 LDA #$7F PC:F868 A:80 X:78 Y:14 P:E4 SP:F9 CYC:180 SL:96
F869 60 RTS PC:F86A A:7F X:78 Y:14 P:64 SP:F9 CYC:186 SL:96
DCAE 75 ADC $00,x PC:DCAF A:7F X:78 Y:14 P:64 SP:FB CYC:204 SL:96
DCB0 20 JSR $F86A PC:DCB1 A:FF X:78 Y:14 P:A4 SP:FB CYC:216 SL:96
F86A 10 BPL $F875 PC:F86B A:FF X:78 Y:14 P:A4 SP:F9 CYC:234 SL:96
F86C B0 BCS $F875 PC:F86D A:FF X:78 Y:14 P:A4 SP:F9 CYC:240 SL:96
F86E C9 CMP #$FF PC:F86F A:FF X:78 Y:14 P:A4 SP:F9 CYC:246 SL:96
F870 D0 BNE $F875 PC:F871 A:FF X:78 Y:14 P:27 SP:F9 CYC:252 SL:96
F872 70 BVS $F875 PC:F873 A:FF X:78 Y:14 P:27 SP:F9 CYC:258 SL:96
F874 60 RTS PC:F875 A:FF X:78 Y:14 P:27 SP:F9 CYC:264 SL:96
DCB3 C8 INY PC:DCB4 A:FF X:78 Y:14 P:27 SP:FB CYC:282 SL:96
DCB4 20 JSR $F878 PC:DCB5 A:FF X:78 Y:15 P:25 SP:FB CYC:288 SL:96
F878 38 SEC PC:F879 A:FF X:78 Y:15 P:25 SP:F9 CYC:306 SL:96
F879 B8 CLV PC:F87A A:FF X:78 Y:15 P:25 SP:F9 CYC:312 SL:96
F87A A9 LDA #$7F PC:F87B A:FF X:78 Y:15 P:25 SP:F9 CYC:318 SL:96
F87C 60 RTS PC:F87D A:7F X:78 Y:15 P:25 SP:F9 CYC:324 SL:96
DCB7 75 ADC $00,x PC:DCB8 A:7F X:78 Y:15 P:25 SP:FB CYC:1 SL:97
DCB9 20 JSR $F87D PC:DCBA A:00 X:78 Y:15 P:27 SP:FB CYC:13 SL:97
F87D D0 BNE $F886 PC:F87E A:00 X:78 Y:15 P:27 SP:F9 CYC:31 SL:97
F87F 30 BMI $F886 PC:F880 A:00 X:78 Y:15 P:27 SP:F9 CYC:37 SL:97
F881 70 BVS $F886 PC:F882 A:00 X:78 Y:15 P:27 SP:F9 CYC:43 SL:97
F883 90 BCC $F886 PC:F884 A:00 X:78 Y:15 P:27 SP:F9 CYC:49 SL:97
F885 60 RTS PC:F886 A:00 X:78 Y:15 P:27 SP:F9 CYC:55 SL:97
DCBC C8 INY PC:DCBD A:00 X:78 Y:15 P:27 SP:FB CYC:73 SL:97
DCBD A9 LDA #$40 PC:DCBE A:00 X:78 Y:16 P:25 SP:FB CYC:79 SL:97
DCBF 85 STA $78 PC:DCC0 A:40 X:78 Y:16 P:25 SP:FB CYC:85 SL:97
DCC1 20 JSR $F889 PC:DCC2 A:40 X:78 Y:16 P:25 SP:FB CYC:94 SL:97
F889 24 BIT $01 PC:F88A A:40 X:78 Y:16 P:25 SP:F9 CYC:112 SL:97
F88B A9 LDA #$40 PC:F88C A:40 X:78 Y:16 P:E5 SP:F9 CYC:121 SL:97
F88D 60 RTS PC:F88E A:40 X:78 Y:16 P:65 SP:F9 CYC:127 SL:97
DCC4 D5 CMP $00,x PC:DCC5 A:40 X:78 Y:16 P:65 SP:FB CYC:145 SL:97
DCC6 20 JSR $F88E PC:DCC7 A:40 X:78 Y:16 P:67 SP:FB CYC:157 SL:97
F88E 30 BMI $F897 PC:F88F A:40 X:78 Y:16 P:67 SP:F9 CYC:175 SL:97
F890 90 BCC $F897 PC:F891 A:40 X:78 Y:16 P:67 SP:F9 CYC:181 SL:97
F892 D0 BNE $F897 PC:F893 A:40 X:78 Y:16 P:67 SP:F9 CYC:187 SL:97
F894 50 BVC $F897 PC:F895 A:40 X:78 Y:16 P:67 SP:F9 CYC:193 SL:97
F896 60 RTS PC:F897 A:40 X:78 Y:16 P:67 SP:F9 CYC:199 SL:97
DCC9 C8 INY PC:DCCA A:40 X:78 Y:16 P:67 SP:FB CYC:217 SL:97
DCCA 48 PHA PC:DCCB A:40 X:78 Y:17 P:65 SP:FB CYC:223 SL:97
DCCB A9 LDA #$3F PC:DCCC A:40 X:78 Y:17 P:65 SP:FA CYC:232 SL:97
DCCD 85 STA $78 PC:DCCE A:3F X:78 Y:17 P:65 SP:FA CYC:238 SL:97
DCCF 68 PLA PC:DCD0 A:3F X:78 Y:17 P:65 SP:FA CYC:247 SL:97
DCD0 20 JSR $F89A PC:DCD1 A:40 X:78 Y:17 P:65 SP:FB CYC:259 SL:97
F89A B8 CLV PC:F89B A:40 X:78 Y:17 P:65 SP:F9 CYC:277 SL:97
F89B 60 RTS PC:F89C A:40 X:78 Y:17 P:25 SP:F9 CYC:283 SL:97
DCD3 D5 CMP $00,x PC:DCD4 A:40 X:78 Y:17 P:25 SP:FB CYC:301 SL:97
DCD5 20 JSR $F89C PC:DCD6 A:40 X:78 Y:17 P:25 SP:FB CYC:313 SL:97
F89C F0 BEQ $F8A5 PC:F89D A:40 X:78 Y:17 P:25 SP:F9 CYC:331 SL:97
F89E 30 BMI $F8A5 PC:F89F A:40 X:78 Y:17 P:25 SP:F9 CYC:337 SL:97
F8A0 90 BCC $F8A5 PC:F8A1 A:40 X:78 Y:17 P:25 SP:F9 CYC:2 SL:98
F8A2 70 BVS $F8A5 PC:F8A3 A:40 X:78 Y:17 P:25 SP:F9 CYC:8 SL:98
F8A4 60 RTS PC:F8A5 A:40 X:78 Y:17 P:25 SP:F9 CYC:14 SL:98
DCD8 C8 INY PC:DCD9 A:40 X:78 Y:17 P:25 SP:FB CYC:32 SL:98
DCD9 48 PHA PC:DCDA A:40 X:78 Y:18 P:25 SP:FB CYC:38 SL:98
DCDA A9 LDA #$41 PC:DCDB A:40 X:78 Y:18 P:25 SP:FA CYC:47 SL:98
DCDC 85 STA $78 PC:DCDD A:41 X:78 Y:18 P:25 SP:FA CYC:53 SL:98
DCDE 68 PLA PC:DCDF A:41 X:78 Y:18 P:25 SP:FA CYC:62 SL:98
DCDF D5 CMP $00,x PC:DCE0 A:40 X:78 Y:18 P:25 SP:FB CYC:74 SL:98
DCE1 20 JSR $F8A8 PC:DCE2 A:40 X:78 Y:18 P:A4 SP:FB CYC:86 SL:98
F8A8 F0 BEQ $F8AF PC:F8A9 A:40 X:78 Y:18 P:A4 SP:F9 CYC:104 SL:98
F8AA 10 BPL $F8AF PC:F8AB A:40 X:78 Y:18 P:A4 SP:F9 CYC:110 SL:98
F8AC 10 BPL $F8AF PC:F8AD A:40 X:78 Y:18 P:A4 SP:F9 CYC:116 SL:98
F8AE 60 RTS PC:F8AF A:40 X:78 Y:18 P:A4 SP:F9 CYC:122 SL:98
DCE4 C8 INY PC:DCE5 A:40 X:78 Y:18 P:A4 SP:FB CYC:140 SL:98
DCE5 48 PHA PC:DCE6 A:40 X:78 Y:19 P:24 SP:FB CYC:146 SL:98
DCE6 A9 LDA #$00 PC:DCE7 A:40 X:78 Y:19 P:24 SP:FA CYC:155 SL:98
DCE8 85 STA $78 PC:DCE9 A:00 X:78 Y:19 P:26 SP:FA CYC:161 SL:98
DCEA 68 PLA PC:DCEB A:00 X:78 Y:19 P:26 SP:FA CYC:170 SL:98
DCEB 20 JSR $F8B2 PC:DCEC A:40 X:78 Y:19 P:24 SP:FB CYC:182 SL:98
F8B2 A9 LDA #$80 PC:F8B3 A:40 X:78 Y:19 P:24 SP:F9 CYC:200 SL:98
F8B4 60 RTS PC:F8B5 A:80 X:78 Y:19 P:A4 SP:F9 CYC:206 SL:98
DCEE D5 CMP $00,x PC:DCEF A:80 X:78 Y:19 P:A4 SP:FB CYC:224 SL:98
DCF0 20 JSR $F8B5 PC:DCF1 A:80 X:78 Y:19 P:A5 SP:FB CYC:236 SL:98
F8B5 F0 BEQ $F8BC PC:F8B6 A:80 X:78 Y:19 P:A5 SP:F9 CYC:254 SL:98
F8B7 10 BPL $F8BC PC:F8B8 A:80 X:78 Y:19 P:A5 SP:F9 CYC:260 SL:98
F8B9 90 BCC $F8BC PC:F8BA A:80 X:78 Y:19 P:A5 SP:F9 CYC:266 SL:98
F8BB 60 RTS PC:F8BC A:80 X:78 Y:19 P:A5 SP:F9 CYC:272 SL:98
DCF3 C8 INY PC:DCF4 A:80 X:78 Y:19 P:A5 SP:FB CYC:290 SL:98
DCF4 48 PHA PC:DCF5 A:80 X:78 Y:1A P:25 SP:FB CYC:296 SL:98
DCF5 A9 LDA #$80 PC:DCF6 A:80 X:78 Y:1A P:25 SP:FA CYC:305 SL:98
DCF7 85 STA $78 PC:DCF8 A:80 X:78 Y:1A P:A5 SP:FA CYC:311 SL:98
DCF9 68 PLA PC:DCFA A:80 X:78 Y:1A P:A5 SP:FA CYC:320 SL:98
DCFA D5 CMP $00,x PC:DCFB A:80 X:78 Y:1A P:A5 SP:FB CYC:332 SL:98
DCFC 20 JSR $F8BF PC:DCFD A:80 X:78 Y:1A P:27 SP:FB CYC:3 SL:99
F8BF D0 BNE $F8C6 PC:F8C0 A:80 X:78 Y:1A P:27 SP:F9 CYC:21 SL:99
F8C1 30 BMI $F8C6 PC:F8C2 A:80 X:78 Y:1A P:27 SP:F9 CYC:27 SL:99
F8C3 90 BCC $F8C6 PC:F8C4 A:80 X:78 Y:1A P:27 SP:F9 CYC:33 SL:99
F8C5 60 RTS PC:F8C6 A:80 X:78 Y:1A P:27 SP:F9 CYC:39 SL:99
DCFF C8 INY PC:DD00 A:80 X:78 Y:1A P:27 SP:FB CYC:57 SL:99
DD00 48 PHA PC:DD01 A:80 X:78 Y:1B P:25 SP:FB CYC:63 SL:99
DD01 A9 LDA #$81 PC:DD02 A:80 X:78 Y:1B P:25 SP:FA CYC:72 SL:99
DD03 85 STA $78 PC:DD04 A:81 X:78 Y:1B P:A5 SP:FA CYC:78 SL:99
DD05 68 PLA PC:DD06 A:81 X:78 Y:1B P:A5 SP:FA CYC:87 SL:99
DD06 D5 CMP $00,x PC:DD07 A:80 X:78 Y:1B P:A5 SP:FB CYC:99 SL:99
DD08 20 JSR $F8C9 PC:DD09 A:80 X:78 Y:1B P:A4 SP:FB CYC:111 SL:99
F8C9 B0 BCS $F8D0 PC:F8CA A:80 X:78 Y:1B P:A4 SP:F9 CYC:129 SL:99
F8CB F0 BEQ $F8D0 PC:F8CC A:80 X:78 Y:1B P:A4 SP:F9 CYC:135 SL:99
F8CD 10 BPL $F8D0 PC:F8CE A:80 X:78 Y:1B P:A4 SP:F9 CYC:141 SL:99
F8CF 60 RTS PC:F8D0 A:80 X:78 Y:1B P:A4 SP:F9 CYC:147 SL:99
DD0B C8 INY PC:DD0C A:80 X:78 Y:1B P:A4 SP:FB CYC:165 SL:99
DD0C 48 PHA PC:DD0D A:80 X:78 Y:1C P:24 SP:FB CYC:171 SL:99
DD0D A9 LDA #$7F PC:DD0E A:80 X:78 Y:1C P:24 SP:FA CYC:180 SL:99
DD0F 85 STA $78 PC:DD10 A:7F X:78 Y:1C P:24 SP:FA CYC:186 SL:99
DD11 68 PLA PC:DD12 A:7F X:78 Y:1C P:24 SP:FA CYC:195 SL:99
DD12 D5 CMP $00,x PC:DD13 A:80 X:78 Y:1C P:A4 SP:FB CYC:207 SL:99
DD14 20 JSR $F8D3 PC:DD15 A:80 X:78 Y:1C P:25 SP:FB CYC:219 SL:99
F8D3 90 BCC $F8DA PC:F8D4 A:80 X:78 Y:1C P:25 SP:F9 CYC:237 SL:99
F8D5 F0 BEQ $F8DA PC:F8D6 A:80 X:78 Y:1C P:25 SP:F9 CYC:243 SL:99
F8D7 30 BMI $F8DA PC:F8D8 A:80 X:78 Y:1C P:25 SP:F9 CYC:249 SL:99
F8D9 60 RTS PC:F8DA A:80 X:78 Y:1C P:25 SP:F9 CYC:255 SL:99
DD17 C8 INY PC:DD18 A:80 X:78 Y:1C P:25 SP:FB CYC:273 SL:99
DD18 A9 LDA #$40 PC:DD19 A:80 X:78 Y:1D P:25 SP:FB CYC:279 SL:99
DD1A 85 STA $78 PC:DD1B A:40 X:78 Y:1D P:25 SP:FB CYC:285 SL:99
DD1C 20 JSR $F931 PC:DD1D A:40 X:78 Y:1D P:25 SP:FB CYC:294 SL:99
F931 24 BIT $01 PC:F932 A:40 X:78 Y:1D P:25 SP:F9 CYC:312 SL:99
F933 A9 LDA #$40 PC:F934 A:40 X:78 Y:1D P:E5 SP:F9 CYC:321 SL:99
F935 38 SEC PC:F936 A:40 X:78 Y:1D P:65 SP:F9 CYC:327 SL:99
F936 60 RTS PC:F937 A:40 X:78 Y:1D P:65 SP:F9 CYC:333 SL:99
DD1F F5 SBC $00,x PC:DD20 A:40 X:78 Y:1D P:65 SP:FB CYC:10 SL:100
DD21 20 JSR $F937 PC:DD22 A:00 X:78 Y:1D P:27 SP:FB CYC:22 SL:100
F937 30 BMI $F944 PC:F938 A:00 X:78 Y:1D P:27 SP:F9 CYC:40 SL:100
F939 90 BCC $F944 PC:F93A A:00 X:78 Y:1D P:27 SP:F9 CYC:46 SL:100
F93B D0 BNE $F944 PC:F93C A:00 X:78 Y:1D P:27 SP:F9 CYC:52 SL:100
F93D 70 BVS $F944 PC:F93E A:00 X:78 Y:1D P:27 SP:F9 CYC:58 SL:100
F93F C9 CMP #$00 PC:F940 A:00 X:78 Y:1D P:27 SP:F9 CYC:64 SL:100
F941 D0 BNE $F944 PC:F942 A:00 X:78 Y:1D P:27 SP:F9 CYC:70 SL:100
F943 60 RTS PC:F944 A:00 X:78 Y:1D P:27 SP:F9 CYC:76 SL:100
DD24 C8 INY PC:DD25 A:00 X:78 Y:1D P:27 SP:FB CYC:94 SL:100
DD25 A9 LDA #$3F PC:DD26 A:00 X:78 Y:1E P:25 SP:FB CYC:100 SL:100
DD27 85 STA $78 PC:DD28 A:3F X:78 Y:1E P:25 SP:FB CYC:106 SL:100
DD29 20 JSR $F947 PC:DD2A A:3F X:78 Y:1E P:25 SP:FB CYC:115 SL:100
F947 B8 CLV PC:F948 A:3F X:78 Y:1E P:25 SP:F9 CYC:133 SL:100
F948 38 SEC PC:F949 A:3F X:78 Y:1E P:25 SP:F9 CYC:139 SL:100
F949 A9 LDA #$40 PC:F94A A:3F X:78 Y:1E P:25 SP:F9 CYC:145 SL:100
F94B 60 RTS PC:F94C A:40 X:78 Y:1E P:25 SP:F9 CYC:151 SL:100
DD2C F5 SBC $00,x PC:DD2D A:40 X:78 Y:1E P:25 SP:FB CYC:169 SL:100
DD2E 20 JSR $F94C PC:DD2F A:01 X:78 Y:1E P:25 SP:FB CYC:181 SL:100
F94C F0 BEQ $F959 PC:F94D A:01 X:78 Y:1E P:25 SP:F9 CYC:199 SL:100
F94E 30 BMI $F959 PC:F94F A:01 X:78 Y:1E P:25 SP:F9 CYC:205 SL:100
F950 90 BCC $F959 PC:F951 A:01 X:78 Y:1E P:25 SP:F9 CYC:211 SL:100
F952 70 BVS $F959 PC:F953 A:01 X:78 Y:1E P:25 SP:F9 CYC:217 SL:100
F954 C9 CMP #$01 PC:F955 A:01 X:78 Y:1E P:25 SP:F9 CYC:223 SL:100
F956 D0 BNE $F959 PC:F957 A:01 X:78 Y:1E P:27 SP:F9 CYC:229 SL:100
F958 60 RTS PC:F959 A:01 X:78 Y:1E P:27 SP:F9 CYC:235 SL:100
DD31 C8 INY PC:DD32 A:01 X:78 Y:1E P:27 SP:FB CYC:253 SL:100
DD32 A9 LDA #$41 PC:DD33 A:01 X:78 Y:1F P:25 SP:FB CYC:259 SL:100
DD34 85 STA $78 PC:DD35 A:41 X:78 Y:1F P:25 SP:FB CYC:265 SL:100
DD36 20 JSR $F95C PC:DD37 A:41 X:78 Y:1F P:25 SP:FB CYC:274 SL:100
F95C A9 LDA #$40 PC:F95D A:41 X:78 Y:1F P:25 SP:F9 CYC:292 SL:100
F95E 38 SEC PC:F95F A:40 X:78 Y:1F P:25 SP:F9 CYC:298 SL:100
F95F 24 BIT $01 PC:F960 A:40 X:78 Y:1F P:25 SP:F9 CYC:304 SL:100
F961 60 RTS PC:F962 A:40 X:78 Y:1F P:E5 SP:F9 CYC:313 SL:100
DD39 F5 SBC $00,x PC:DD3A A:40 X:78 Y:1F P:E5 SP:FB CYC:331 SL:100
DD3B 20 JSR $F962 PC:DD3C A:FF X:78 Y:1F P:A4 SP:FB CYC:2 SL:101
F962 B0 BCS $F96F PC:F963 A:FF X:78 Y:1F P:A4 SP:F9 CYC:20 SL:101
F964 F0 BEQ $F96F PC:F965 A:FF X:78 Y:1F P:A4 SP:F9 CYC:26 SL:101
F966 10 BPL $F96F PC:F967 A:FF X:78 Y:1F P:A4 SP:F9 CYC:32 SL:101
F968 70 BVS $F96F PC:F969 A:FF X:78 Y:1F P:A4 SP:F9 CYC:38 SL:101
F96A C9 CMP #$FF PC:F96B A:FF X:78 Y:1F P:A4 SP:F9 CYC:44 SL:101
F96C D0 BNE $F96F PC:F96D A:FF X:78 Y:1F P:27 SP:F9 CYC:50 SL:101
F96E 60 RTS PC:F96F A:FF X:78 Y:1F P:27 SP:F9 CYC:56 SL:101
DD3E C8 INY PC:DD3F A:FF X:78 Y:1F P:27 SP:FB CYC:74 SL:101
DD3F A9 LDA #$00 PC:DD40 A:FF X:78 Y:20 P:25 SP:FB CYC:80 SL:101
DD41 85 STA $78 PC:DD42 A:00 X:78 Y:20 P:27 SP:FB CYC:86 SL:101
DD43 20 JSR $F972 PC:DD44 A:00 X:78 Y:20 P:27 SP:FB CYC:95 SL:101
F972 18 CLC PC:F973 A:00 X:78 Y:20 P:27 SP:F9 CYC:113 SL:101
F973 A9 LDA #$80 PC:F974 A:00 X:78 Y:20 P:26 SP:F9 CYC:119 SL:101
F975 60 RTS PC:F976 A:80 X:78 Y:20 P:A4 SP:F9 CYC:125 SL:101
DD46 F5 SBC $00,x PC:DD47 A:80 X:78 Y:20 P:A4 SP:FB CYC:143 SL:101
DD48 20 JSR $F976 PC:DD49 A:7F X:78 Y:20 P:65 SP:FB CYC:155 SL:101
F976 90 BCC $F97D PC:F977 A:7F X:78 Y:20 P:65 SP:F9 CYC:173 SL:101
F978 C9 CMP #$7F PC:F979 A:7F X:78 Y:20 P:65 SP:F9 CYC:179 SL:101
F97A D0 BNE $F97D PC:F97B A:7F X:78 Y:20 P:67 SP:F9 CYC:185 SL:101
F97C 60 RTS PC:F97D A:7F X:78 Y:20 P:67 SP:F9 CYC:191 SL:101
DD4B C8 INY PC:DD4C A:7F X:78 Y:20 P:67 SP:FB CYC:209 SL:101
DD4C A9 LDA #$7F PC:DD4D A:7F X:78 Y:21 P:65 SP:FB CYC:215 SL:101
DD4E 85 STA $78 PC:DD4F A:7F X:78 Y:21 P:65 SP:FB CYC:221 SL:101
DD50 20 JSR $F980 PC:DD51 A:7F X:78 Y:21 P:65 SP:FB CYC:230 SL:101
F980 38 SEC PC:F981 A:7F X:78 Y:21 P:65 SP:F9 CYC:248 SL:101
F981 A9 LDA #$81 PC:F982 A:7F X:78 Y:21 P:65 SP:F9 CYC:254 SL:101
F983 60 RTS PC:F984 A:81 X:78 Y:21 P:E5 SP:F9 CYC:260 SL:101
DD53 F5 SBC $00,x PC:DD54 A:81 X:78 Y:21 P:E5 SP:FB CYC:278 SL:101
DD55 20 JSR $F984 PC:DD56 A:02 X:78 Y:21 P:65 SP:FB CYC:290 SL:101
F984 50 BVC $F98D PC:F985 A:02 X:78 Y:21 P:65 SP:F9 CYC:308 SL:101
F986 90 BCC $F98D PC:F987 A:02 X:78 Y:21 P:65 SP:F9 CYC:314 SL:101
F988 C9 CMP #$02 PC:F989 A:02 X:78 Y:21 P:65 SP:F9 CYC:320 SL:101
F98A D0 BNE $F98D PC:F98B A:02 X:78 Y:21 P:67 SP:F9 CYC:326 SL:101
F98C 60 RTS PC:F98D A:02 X:78 Y:21 P:67 SP:F9 CYC:332 SL:101
DD58 A9 LDA #$AA PC:DD59 A:02 X:78 Y:21 P:67 SP:FB CYC:9 SL:102
DD5A 85 STA $33 PC:DD5B A:AA X:78 Y:21 P:E5 SP:FB CYC:15 SL:102
DD5C A9 LDA #$BB PC:DD5D A:AA X:78 Y:21 P:E5 SP:FB CYC:24 SL:102
DD5E 85 STA $89 PC:DD5F A:BB X:78 Y:21 P:E5 SP:FB CYC:30 SL:102
DD60 A2 LDX #$00 PC:DD61 A:BB X:78 Y:21 P:E5 SP:FB CYC:39 SL:102
DD62 A0 LDY #$66 PC:DD63 A:BB X:00 Y:21 P:67 SP:FB CYC:45 SL:102
DD64 24 BIT $01 PC:DD65 A:BB X:00 Y:66 P:65 SP:FB CYC:51 SL:102
DD66 38 SEC PC:DD67 A:BB X:00 Y:66 P:E5 SP:FB CYC:60 SL:102
DD67 A9 LDA #$00 PC:DD68 A:BB X:00 Y:66 P:E5 SP:FB CYC:66 SL:102
DD69 B5 LDA $33,x PC:DD6A A:00 X:00 Y:66 P:67 SP:FB CYC:72 SL:102
DD6B 10 BPL $DD7F PC:DD6C A:AA X:00 Y:66 P:E5 SP:FB CYC:84 SL:102
DD6D F0 BEQ $DD7F PC:DD6E A:AA X:00 Y:66 P:E5 SP:FB CYC:90 SL:102
DD6F 50 BVC $DD7F PC:DD70 A:AA X:00 Y:66 P:E5 SP:FB CYC:96 SL:102
DD71 90 BCC $DD7F PC:DD72 A:AA X:00 Y:66 P:E5 SP:FB CYC:102 SL:102
DD73 C0 CPY #$66 PC:DD74 A:AA X:00 Y:66 P:E5 SP:FB CYC:108 SL:102
DD75 D0 BNE $DD7F PC:DD76 A:AA X:00 Y:66 P:67 SP:FB CYC:114 SL:102
DD77 E0 CPX #$00 PC:DD78 A:AA X:00 Y:66 P:67 SP:FB CYC:120 SL:102
DD79 D0 BNE $DD7F PC:DD7A A:AA X:00 Y:66 P:67 SP:FB CYC:126 SL:102
DD7B C9 CMP #$AA PC:DD7C A:AA X:00 Y:66 P:67 SP:FB CYC:132 SL:102
DD7D F0 BEQ $DD83 PC:DD7E A:AA X:00 Y:66 P:67 SP:FB CYC:138 SL:102
DD83 A2 LDX #$8A PC:DD84 A:AA X:00 Y:66 P:67 SP:FB CYC:147 SL:102
DD85 A0 LDY #$66 PC:DD86 A:AA X:8A Y:66 P:E5 SP:FB CYC:153 SL:102
DD87 B8 CLV PC:DD88 A:AA X:8A Y:66 P:65 SP:FB CYC:159 SL:102
DD88 18 CLC PC:DD89 A:AA X:8A Y:66 P:25 SP:FB CYC:165 SL:102
DD89 A9 LDA #$00 PC:DD8A A:AA X:8A Y:66 P:24 SP:FB CYC:171 SL:102
DD8B B5 LDA $FF,x PC:DD8C A:00 X:8A Y:66 P:26 SP:FB CYC:177 SL:102
DD8D 10 BPL $DDA1 PC:DD8E A:BB X:8A Y:66 P:A4 SP:FB CYC:189 SL:102
DD8F F0 BEQ $DDA1 PC:DD90 A:BB X:8A Y:66 P:A4 SP:FB CYC:195 SL:102
DD91 70 BVS $DDA1 PC:DD92 A:BB X:8A Y:66 P:A4 SP:FB CYC:201 SL:102
DD93 B0 BCS $DDA1 PC:DD94 A:BB X:8A Y:66 P:A4 SP:FB CYC:207 SL:102
DD95 C9 CMP #$BB PC:DD96 A:BB X:8A Y:66 P:A4 SP:FB CYC:213 SL:102
DD97 D0 BNE $DDA1 PC:DD98 A:BB X:8A Y:66 P:27 SP:FB CYC:219 SL:102
DD99 C0 CPY #$66 PC:DD9A A:BB X:8A Y:66 P:27 SP:FB CYC:225 SL:102
DD9B D0 BNE $DDA1 PC:DD9C A:BB X:8A Y:66 P:27 SP:FB CYC:231 SL:102
DD9D E0 CPX #$8A PC:DD9E A:BB X:8A Y:66 P:27 SP:FB CYC:237 SL:102
DD9F F0 BEQ $DDA5 PC:DDA0 A:BB X:8A Y:66 P:27 SP:FB CYC:243 SL:102
DDA5 24 BIT $01 PC:DDA6 A:BB X:8A Y:66 P:27 SP:FB CYC:252 SL:102
DDA7 38 SEC PC:DDA8 A:BB X:8A Y:66 P:E5 SP:FB CYC:261 SL:102
DDA8 A9 LDA #$44 PC:DDA9 A:BB X:8A Y:66 P:E5 SP:FB CYC:267 SL:102
DDAA A2 LDX #$00 PC:DDAB A:44 X:8A Y:66 P:65 SP:FB CYC:273 SL:102
DDAC 95 STA $33,x PC:DDAD A:44 X:00 Y:66 P:67 SP:FB CYC:279 SL:102
DDAE A5 LDA $33 PC:DDAF A:44 X:00 Y:66 P:67 SP:FB CYC:291 SL:102
DDB0 90 BCC $DDCA PC:DDB1 A:44 X:00 Y:66 P:65 SP:FB CYC:300 SL:102
DDB2 C9 CMP #$44 PC:DDB3 A:44 X:00 Y:66 P:65 SP:FB CYC:306 SL:102
DDB4 D0 BNE $DDCA PC:DDB5 A:44 X:00 Y:66 P:67 SP:FB CYC:312 SL:102
DDB6 50 BVC $DDCA PC:DDB7 A:44 X:00 Y:66 P:67 SP:FB CYC:318 SL:102
DDB8 18 CLC PC:DDB9 A:44 X:00 Y:66 P:67 SP:FB CYC:324 SL:102
DDB9 B8 CLV PC:DDBA A:44 X:00 Y:66 P:66 SP:FB CYC:330 SL:102
DDBA A9 LDA #$99 PC:DDBB A:44 X:00 Y:66 P:26 SP:FB CYC:336 SL:102
DDBC A2 LDX #$80 PC:DDBD A:99 X:00 Y:66 P:A4 SP:FB CYC:1 SL:103
DDBE 95 STA $85,x PC:DDBF A:99 X:80 Y:66 P:A4 SP:FB CYC:7 SL:103
DDC0 A5 LDA $05 PC:DDC1 A:99 X:80 Y:66 P:A4 SP:FB CYC:19 SL:103
DDC2 B0 BCS $DDCA PC:DDC3 A:99 X:80 Y:66 P:A4 SP:FB CYC:28 SL:103
DDC4 C9 CMP #$99 PC:DDC5 A:99 X:80 Y:66 P:A4 SP:FB CYC:34 SL:103
DDC6 D0 BNE $DDCA PC:DDC7 A:99 X:80 Y:66 P:27 SP:FB CYC:40 SL:103
DDC8 50 BVC $DDCE PC:DDC9 A:99 X:80 Y:66 P:27 SP:FB CYC:46 SL:103
DDCE A0 LDY #$25 PC:DDCF A:99 X:80 Y:66 P:27 SP:FB CYC:55 SL:103
DDD0 A2 LDX #$78 PC:DDD1 A:99 X:80 Y:25 P:25 SP:FB CYC:61 SL:103
DDD2 20 JSR $F990 PC:DDD3 A:99 X:78 Y:25 P:25 SP:FB CYC:67 SL:103
F990 A2 LDX #$55 PC:F991 A:99 X:78 Y:25 P:25 SP:F9 CYC:85 SL:103
F992 A9 LDA #$FF PC:F993 A:99 X:55 Y:25 P:25 SP:F9 CYC:91 SL:103
F994 85 STA $01 PC:F995 A:FF X:55 Y:25 P:A5 SP:F9 CYC:97 SL:103
F996 EA NOP PC:F997 A:FF X:55 Y:25 P:A5 SP:F9 CYC:106 SL:103
F997 24 BIT $01 PC:F998 A:FF X:55 Y:25 P:A5 SP:F9 CYC:112 SL:103
F999 38 SEC PC:F99A A:FF X:55 Y:25 P:E5 SP:F9 CYC:121 SL:103
F99A A9 LDA #$01 PC:F99B A:FF X:55 Y:25 P:E5 SP:F9 CYC:127 SL:103
F99C 60 RTS PC:F99D A:01 X:55 Y:25 P:65 SP:F9 CYC:133 SL:103
DDD5 95 STA $00,x PC:DDD6 A:01 X:55 Y:25 P:65 SP:FB CYC:151 SL:103
DDD7 56 LSR $00,x PC:DDD8 A:01 X:55 Y:25 P:65 SP:FB CYC:163 SL:103
DDD9 B5 LDA $00,x PC:DDDA A:01 X:55 Y:25 P:67 SP:FB CYC:181 SL:103
DDDB 20 JSR $F99D PC:DDDC A:00 X:55 Y:25 P:67 SP:FB CYC:193 SL:103
F99D 90 BCC $F9BA PC:F99E A:00 X:55 Y:25 P:67 SP:F9 CYC:211 SL:103
F99F D0 BNE $F9BA PC:F9A0 A:00 X:55 Y:25 P:67 SP:F9 CYC:217 SL:103
F9A1 30 BMI $F9BA PC:F9A2 A:00 X:55 Y:25 P:67 SP:F9 CYC:223 SL:103
F9A3 50 BVC $F9BA PC:F9A4 A:00 X:55 Y:25 P:67 SP:F9 CYC:229 SL:103
F9A5 C9 CMP #$00 PC:F9A6 A:00 X:55 Y:25 P:67 SP:F9 CYC:235 SL:103
F9A7 D0 BNE $F9BA PC:F9A8 A:00 X:55 Y:25 P:67 SP:F9 CYC:241 SL:103
F9A9 B8 CLV PC:F9AA A:00 X:55 Y:25 P:67 SP:F9 CYC:247 SL:103
F9AA A9 LDA #$AA PC:F9AB A:00 X:55 Y:25 P:27 SP:F9 CYC:253 SL:103
F9AC 60 RTS PC:F9AD A:AA X:55 Y:25 P:A5 SP:F9 CYC:259 SL:103
DDDE C8 INY PC:DDDF A:AA X:55 Y:25 P:A5 SP:FB CYC:277 SL:103
DDDF 95 STA $00,x PC:DDE0 A:AA X:55 Y:26 P:25 SP:FB CYC:283 SL:103
DDE1 56 LSR $00,x PC:DDE2 A:AA X:55 Y:26 P:25 SP:FB CYC:295 SL:103
DDE3 B5 LDA $00,x PC:DDE4 A:AA X:55 Y:26 P:24 SP:FB CYC:313 SL:103
DDE5 20 JSR $F9AD PC:DDE6 A:55 X:55 Y:26 P:24 SP:FB CYC:325 SL:103
F9AD B0 BCS $F9BA PC:F9AE A:55 X:55 Y:26 P:24 SP:F9 CYC:2 SL:104
F9AF F0 BEQ $F9BA PC:F9B0 A:55 X:55 Y:26 P:24 SP:F9 CYC:8 SL:104
F9B1 30 BMI $F9BA PC:F9B2 A:55 X:55 Y:26 P:24 SP:F9 CYC:14 SL:104
F9B3 70 BVS $F9BA PC:F9B4 A:55 X:55 Y:26 P:24 SP:F9 CYC:20 SL:104
F9B5 C9 CMP #$55 PC:F9B6 A:55 X:55 Y:26 P:24 SP:F9 CYC:26 SL:104
F9B7 D0 BNE $F9BA PC:F9B8 A:55 X:55 Y:26 P:27 SP:F9 CYC:32 SL:104
F9B9 60 RTS PC:F9BA A:55 X:55 Y:26 P:27 SP:F9 CYC:38 SL:104
DDE8 C8 INY PC:DDE9 A:55 X:55 Y:26 P:27 SP:FB CYC:56 SL:104
DDE9 20 JSR $F9BD PC:DDEA A:55 X:55 Y:27 P:25 SP:FB CYC:62 SL:104
F9BD 24 BIT $01 PC:F9BE A:55 X:55 Y:27 P:25 SP:F9 CYC:80 SL:104
F9BF 38 SEC PC:F9C0 A:55 X:55 Y:27 P:E5 SP:F9 CYC:89 SL:104
F9C0 A9 LDA #$80 PC:F9C1 A:55 X:55 Y:27 P:E5 SP:F9 CYC:95 SL:104
F9C2 60 RTS PC:F9C3 A:80 X:55 Y:27 P:E5 SP:F9 CYC:101 SL:104
DDEC 95 STA $00,x PC:DDED A:80 X:55 Y:27 P:E5 SP:FB CYC:119 SL:104
DDEE 16 ASL $00,x PC:DDEF A:80 X:55 Y:27 P:E5 SP:FB CYC:131 SL:104
DDF0 B5 LDA $00,x PC:DDF1 A:80 X:55 Y:27 P:67 SP:FB CYC:149 SL:104
DDF2 20 JSR $F9C3 PC:DDF3 A:00 X:55 Y:27 P:67 SP:FB CYC:161 SL:104
F9C3 90 BCC $F9E1 PC:F9C4 A:00 X:55 Y:27 P:67 SP:F9 CYC:179 SL:104
F9C5 D0 BNE $F9E1 PC:F9C6 A:00 X:55 Y:27 P:67 SP:F9 CYC:185 SL:104
F9C7 30 BMI $F9E1 PC:F9C8 A:00 X:55 Y:27 P:67 SP:F9 CYC:191 SL:104
F9C9 50 BVC $F9E1 PC:F9CA A:00 X:55 Y:27 P:67 SP:F9 CYC:197 SL:104
F9CB C9 CMP #$00 PC:F9CC A:00 X:55 Y:27 P:67 SP:F9 CYC:203 SL:104
F9CD D0 BNE $F9E1 PC:F9CE A:00 X:55 Y:27 P:67 SP:F9 CYC:209 SL:104
F9CF B8 CLV PC:F9D0 A:00 X:55 Y:27 P:67 SP:F9 CYC:215 SL:104
F9D0 A9 LDA #$55 PC:F9D1 A:00 X:55 Y:27 P:27 SP:F9 CYC:221 SL:104
F9D2 38 SEC PC:F9D3 A:55 X:55 Y:27 P:25 SP:F9 CYC:227 SL:104
F9D3 60 RTS PC:F9D4 A:55 X:55 Y:27 P:25 SP:F9 CYC:233 SL:104
DDF5 C8 INY PC:DDF6 A:55 X:55 Y:27 P:25 SP:FB CYC:251 SL:104
DDF6 95 STA $00,x PC:DDF7 A:55 X:55 Y:28 P:25 SP:FB CYC:257 SL:104
DDF8 16 ASL $00,x PC:DDF9 A:55 X:55 Y:28 P:25 SP:FB CYC:269 SL:104
DDFA B5 LDA $00,x PC:DDFB A:55 X:55 Y:28 P:A4 SP:FB CYC:287 SL:104
DDFC 20 JSR $F9D4 PC:DDFD A:AA X:55 Y:28 P:A4 SP:FB CYC:299 SL:104
F9D4 B0 BCS $F9E1 PC:F9D5 A:AA X:55 Y:28 P:A4 SP:F9 CYC:317 SL:104
F9D6 F0 BEQ $F9E1 PC:F9D7 A:AA X:55 Y:28 P:A4 SP:F9 CYC:323 SL:104
F9D8 10 BPL $F9E1 PC:F9D9 A:AA X:55 Y:28 P:A4 SP:F9 CYC:329 SL:104
F9DA 70 BVS $F9E1 PC:F9DB A:AA X:55 Y:28 P:A4 SP:F9 CYC:335 SL:104
F9DC C9 CMP #$AA PC:F9DD A:AA X:55 Y:28 P:A4 SP:F9 CYC:0 SL:105
F9DE D0 BNE $F9E1 PC:F9DF A:AA X:55 Y:28 P:27 SP:F9 CYC:6 SL:105
F9E0 60 RTS PC:F9E1 A:AA X:55 Y:28 P:27 SP:F9 CYC:12 SL:105
DDFF C8 INY PC:DE00 A:AA X:55 Y:28 P:27 SP:FB CYC:30 SL:105
DE00 20 JSR $F9E4 PC:DE01 A:AA X:55 Y:29 P:25 SP:FB CYC:36 SL:105
F9E4 24 BIT $01 PC:F9E5 A:AA X:55 Y:29 P:25 SP:F9 CYC:54 SL:105
F9E6 38 SEC PC:F9E7 A:AA X:55 Y:29 P:E5 SP:F9 CYC:63 SL:105
F9E7 A9 LDA #$01 PC:F9E8 A:AA X:55 Y:29 P:E5 SP:F9 CYC:69 SL:105
F9E9 60 RTS PC:F9EA A:01 X:55 Y:29 P:65 SP:F9 CYC:75 SL:105
DE03 95 STA $00,x PC:DE04 A:01 X:55 Y:29 P:65 SP:FB CYC:93 SL:105
DE05 76 ROR $00,x PC:DE06 A:01 X:55 Y:29 P:65 SP:FB CYC:105 SL:105
DE07 B5 LDA $00,x PC:DE08 A:01 X:55 Y:29 P:E5 SP:FB CYC:123 SL:105
DE09 20 JSR $F9EA PC:DE0A A:80 X:55 Y:29 P:E5 SP:FB CYC:135 SL:105
F9EA 90 BCC $FA08 PC:F9EB A:80 X:55 Y:29 P:E5 SP:F9 CYC:153 SL:105
F9EC F0 BEQ $FA08 PC:F9ED A:80 X:55 Y:29 P:E5 SP:F9 CYC:159 SL:105
F9EE 10 BPL $FA08 PC:F9EF A:80 X:55 Y:29 P:E5 SP:F9 CYC:165 SL:105
F9F0 50 BVC $FA08 PC:F9F1 A:80 X:55 Y:29 P:E5 SP:F9 CYC:171 SL:105
F9F2 C9 CMP #$80 PC:F9F3 A:80 X:55 Y:29 P:E5 SP:F9 CYC:177 SL:105
F9F4 D0 BNE $FA08 PC:F9F5 A:80 X:55 Y:29 P:67 SP:F9 CYC:183 SL:105
F9F6 B8 CLV PC:F9F7 A:80 X:55 Y:29 P:67 SP:F9 CYC:189 SL:105
F9F7 18 CLC PC:F9F8 A:80 X:55 Y:29 P:27 SP:F9 CYC:195 SL:105
F9F8 A9 LDA #$55 PC:F9F9 A:80 X:55 Y:29 P:26 SP:F9 CYC:201 SL:105
F9FA 60 RTS PC:F9FB A:55 X:55 Y:29 P:24 SP:F9 CYC:207 SL:105
DE0C C8 INY PC:DE0D A:55 X:55 Y:29 P:24 SP:FB CYC:225 SL:105
DE0D 95 STA $00,x PC:DE0E A:55 X:55 Y:2A P:24 SP:FB CYC:231 SL:105
DE0F 76 ROR $00,x PC:DE10 A:55 X:55 Y:2A P:24 SP:FB CYC:243 SL:105
DE11 B5 LDA $00,x PC:DE12 A:55 X:55 Y:2A P:25 SP:FB CYC:261 SL:105
DE13 20 JSR $F9FB PC:DE14 A:2A X:55 Y:2A P:25 SP:FB CYC:273 SL:105
F9FB 90 BCC $FA08 PC:F9FC A:2A X:55 Y:2A P:25 SP:F9 CYC:291 SL:105
F9FD F0 BEQ $FA08 PC:F9FE A:2A X:55 Y:2A P:25 SP:F9 CYC:297 SL:105
F9FF 30 BMI $FA08 PC:FA00 A:2A X:55 Y:2A P:25 SP:F9 CYC:303 SL:105
FA01 70 BVS $FA08 PC:FA02 A:2A X:55 Y:2A P:25 SP:F9 CYC:309 SL:105
FA03 C9 CMP #$2A PC:FA04 A:2A X:55 Y:2A P:25 SP:F9 CYC:315 SL:105
FA05 D0 BNE $FA08 PC:FA06 A:2A X:55 Y:2A P:27 SP:F9 CYC:321 SL:105
FA07 60 RTS PC:FA08 A:2A X:55 Y:2A P:27 SP:F9 CYC:327 SL:105
DE16 C8 INY PC:DE17 A:2A X:55 Y:2A P:27 SP:FB CYC:4 SL:106
DE17 20 JSR $FA0A PC:DE18 A:2A X:55 Y:2B P:25 SP:FB CYC:10 SL:106
FA0A 24 BIT $01 PC:FA0B A:2A X:55 Y:2B P:25 SP:F9 CYC:28 SL:106
FA0C 38 SEC PC:FA0D A:2A X:55 Y:2B P:E5 SP:F9 CYC:37 SL:106
FA0D A9 LDA #$80 PC:FA0E A:2A X:55 Y:2B P:E5 SP:F9 CYC:43 SL:106
FA0F 60 RTS PC:FA10 A:80 X:55 Y:2B P:E5 SP:F9 CYC:49 SL:106
DE1A 95 STA $00,x PC:DE1B A:80 X:55 Y:2B P:E5 SP:FB CYC:67 SL:106
DE1C 36 ROL $00,x PC:DE1D A:80 X:55 Y:2B P:E5 SP:FB CYC:79 SL:106
DE1E B5 LDA $00,x PC:DE1F A:80 X:55 Y:2B P:65 SP:FB CYC:97 SL:106
DE20 20 JSR $FA10 PC:DE21 A:01 X:55 Y:2B P:65 SP:FB CYC:109 SL:106
FA10 90 BCC $FA2E PC:FA11 A:01 X:55 Y:2B P:65 SP:F9 CYC:127 SL:106
FA12 F0 BEQ $FA2E PC:FA13 A:01 X:55 Y:2B P:65 SP:F9 CYC:133 SL:106
FA14 30 BMI $FA2E PC:FA15 A:01 X:55 Y:2B P:65 SP:F9 CYC:139 SL:106
FA16 50 BVC $FA2E PC:FA17 A:01 X:55 Y:2B P:65 SP:F9 CYC:145 SL:106
FA18 C9 CMP #$01 PC:FA19 A:01 X:55 Y:2B P:65 SP:F9 CYC:151 SL:106
FA1A D0 BNE $FA2E PC:FA1B A:01 X:55 Y:2B P:67 SP:F9 CYC:157 SL:106
FA1C B8 CLV PC:FA1D A:01 X:55 Y:2B P:67 SP:F9 CYC:163 SL:106
FA1D 18 CLC PC:FA1E A:01 X:55 Y:2B P:27 SP:F9 CYC:169 SL:106
FA1E A9 LDA #$55 PC:FA1F A:01 X:55 Y:2B P:26 SP:F9 CYC:175 SL:106
FA20 60 RTS PC:FA21 A:55 X:55 Y:2B P:24 SP:F9 CYC:181 SL:106
DE23 C8 INY PC:DE24 A:55 X:55 Y:2B P:24 SP:FB CYC:199 SL:106
DE24 95 STA $00,x PC:DE25 A:55 X:55 Y:2C P:24 SP:FB CYC:205 SL:106
DE26 36 ROL $00,x PC:DE27 A:55 X:55 Y:2C P:24 SP:FB CYC:217 SL:106
DE28 B5 LDA $00,x PC:DE29 A:55 X:55 Y:2C P:A4 SP:FB CYC:235 SL:106
DE2A 20 JSR $FA21 PC:DE2B A:AA X:55 Y:2C P:A4 SP:FB CYC:247 SL:106
FA21 B0 BCS $FA2E PC:FA22 A:AA X:55 Y:2C P:A4 SP:F9 CYC:265 SL:106
FA23 F0 BEQ $FA2E PC:FA24 A:AA X:55 Y:2C P:A4 SP:F9 CYC:271 SL:106
FA25 10 BPL $FA2E PC:FA26 A:AA X:55 Y:2C P:A4 SP:F9 CYC:277 SL:106
FA27 70 BVS $FA2E PC:FA28 A:AA X:55 Y:2C P:A4 SP:F9 CYC:283 SL:106
FA29 C9 CMP #$AA PC:FA2A A:AA X:55 Y:2C P:A4 SP:F9 CYC:289 SL:106
FA2B D0 BNE $FA2E PC:FA2C A:AA X:55 Y:2C P:27 SP:F9 CYC:295 SL:106
FA2D 60 RTS PC:FA2E A:AA X:55 Y:2C P:27 SP:F9 CYC:301 SL:106
DE2D A9 LDA #$FF PC:DE2E A:AA X:55 Y:2C P:27 SP:FB CYC:319 SL:106
DE2F 95 STA $00,x PC:DE30 A:FF X:55 Y:2C P:A5 SP:FB CYC:325 SL:106
DE31 85 STA $01 PC:DE32 A:FF X:55 Y:2C P:A5 SP:FB CYC:337 SL:106
DE33 24 BIT $01 PC:DE34 A:FF X:55 Y:2C P:A5 SP:FB CYC:5 SL:107
DE35 38 SEC PC:DE36 A:FF X:55 Y:2C P:E5 SP:FB CYC:14 SL:107
DE36 F6 INC $00,x PC:DE37 A:FF X:55 Y:2C P:E5 SP:FB CYC:20 SL:107
DE38 D0 BNE $DE46 PC:DE39 A:FF X:55 Y:2C P:67 SP:FB CYC:38 SL:107
DE3A 30 BMI $DE46 PC:DE3B A:FF X:55 Y:2C P:67 SP:FB CYC:44 SL:107
DE3C 50 BVC $DE46 PC:DE3D A:FF X:55 Y:2C P:67 SP:FB CYC:50 SL:107
DE3E 90 BCC $DE46 PC:DE3F A:FF X:55 Y:2C P:67 SP:FB CYC:56 SL:107
DE40 B5 LDA $00,x PC:DE41 A:FF X:55 Y:2C P:67 SP:FB CYC:62 SL:107
DE42 C9 CMP #$00 PC:DE43 A:00 X:55 Y:2C P:67 SP:FB CYC:74 SL:107
DE44 F0 BEQ $DE4A PC:DE45 A:00 X:55 Y:2C P:67 SP:FB CYC:80 SL:107
DE4A A9 LDA #$7F PC:DE4B A:00 X:55 Y:2C P:67 SP:FB CYC:89 SL:107
DE4C 95 STA $00,x PC:DE4D A:7F X:55 Y:2C P:65 SP:FB CYC:95 SL:107
DE4E B8 CLV PC:DE4F A:7F X:55 Y:2C P:65 SP:FB CYC:107 SL:107
DE4F 18 CLC PC:DE50 A:7F X:55 Y:2C P:25 SP:FB CYC:113 SL:107
DE50 F6 INC $00,x PC:DE51 A:7F X:55 Y:2C P:24 SP:FB CYC:119 SL:107
DE52 F0 BEQ $DE60 PC:DE53 A:7F X:55 Y:2C P:A4 SP:FB CYC:137 SL:107
DE54 10 BPL $DE60 PC:DE55 A:7F X:55 Y:2C P:A4 SP:FB CYC:143 SL:107
DE56 70 BVS $DE60 PC:DE57 A:7F X:55 Y:2C P:A4 SP:FB CYC:149 SL:107
DE58 B0 BCS $DE60 PC:DE59 A:7F X:55 Y:2C P:A4 SP:FB CYC:155 SL:107
DE5A B5 LDA $00,x PC:DE5B A:7F X:55 Y:2C P:A4 SP:FB CYC:161 SL:107
DE5C C9 CMP #$80 PC:DE5D A:80 X:55 Y:2C P:A4 SP:FB CYC:173 SL:107
DE5E F0 BEQ $DE64 PC:DE5F A:80 X:55 Y:2C P:27 SP:FB CYC:179 SL:107
DE64 A9 LDA #$00 PC:DE65 A:80 X:55 Y:2C P:27 SP:FB CYC:188 SL:107
DE66 95 STA $00,x PC:DE67 A:00 X:55 Y:2C P:27 SP:FB CYC:194 SL:107
DE68 24 BIT $01 PC:DE69 A:00 X:55 Y:2C P:27 SP:FB CYC:206 SL:107
DE6A 38 SEC PC:DE6B A:00 X:55 Y:2C P:E7 SP:FB CYC:215 SL:107
DE6B D6 DEC $00,x PC:DE6C A:00 X:55 Y:2C P:E7 SP:FB CYC:221 SL:107
DE6D F0 BEQ $DE7B PC:DE6E A:00 X:55 Y:2C P:E5 SP:FB CYC:239 SL:107
DE6F 10 BPL $DE7B PC:DE70 A:00 X:55 Y:2C P:E5 SP:FB CYC:245 SL:107
DE71 50 BVC $DE7B PC:DE72 A:00 X:55 Y:2C P:E5 SP:FB CYC:251 SL:107
DE73 90 BCC $DE7B PC:DE74 A:00 X:55 Y:2C P:E5 SP:FB CYC:257 SL:107
DE75 B5 LDA $00,x PC:DE76 A:00 X:55 Y:2C P:E5 SP:FB CYC:263 SL:107
DE77 C9 CMP #$FF PC:DE78 A:FF X:55 Y:2C P:E5 SP:FB CYC:275 SL:107
DE79 F0 BEQ $DE7F PC:DE7A A:FF X:55 Y:2C P:67 SP:FB CYC:281 SL:107
DE7F A9 LDA #$80 PC:DE80 A:FF X:55 Y:2C P:67 SP:FB CYC:290 SL:107
DE81 95 STA $00,x PC:DE82 A:80 X:55 Y:2C P:E5 SP:FB CYC:296 SL:107
DE83 B8 CLV PC:DE84 A:80 X:55 Y:2C P:E5 SP:FB CYC:308 SL:107
DE84 18 CLC PC:DE85 A:80 X:55 Y:2C P:A5 SP:FB CYC:314 SL:107
DE85 D6 DEC $00,x PC:DE86 A:80 X:55 Y:2C P:A4 SP:FB CYC:320 SL:107
DE87 F0 BEQ $DE95 PC:DE88 A:80 X:55 Y:2C P:24 SP:FB CYC:338 SL:107
DE89 30 BMI $DE95 PC:DE8A A:80 X:55 Y:2C P:24 SP:FB CYC:3 SL:108
DE8B 70 BVS $DE95 PC:DE8C A:80 X:55 Y:2C P:24 SP:FB CYC:9 SL:108
DE8D B0 BCS $DE95 PC:DE8E A:80 X:55 Y:2C P:24 SP:FB CYC:15 SL:108
DE8F B5 LDA $00,x PC:DE90 A:80 X:55 Y:2C P:24 SP:FB CYC:21 SL:108
DE91 C9 CMP #$7F PC:DE92 A:7F X:55 Y:2C P:24 SP:FB CYC:33 SL:108
DE93 F0 BEQ $DE99 PC:DE94 A:7F X:55 Y:2C P:27 SP:FB CYC:39 SL:108
DE99 A9 LDA #$01 PC:DE9A A:7F X:55 Y:2C P:27 SP:FB CYC:48 SL:108
DE9B 95 STA $00,x PC:DE9C A:01 X:55 Y:2C P:25 SP:FB CYC:54 SL:108
DE9D D6 DEC $00,x PC:DE9E A:01 X:55 Y:2C P:25 SP:FB CYC:66 SL:108
DE9F F0 BEQ $DEA5 PC:DEA0 A:01 X:55 Y:2C P:27 SP:FB CYC:84 SL:108
DEA5 A9 LDA #$33 PC:DEA6 A:01 X:55 Y:2C P:27 SP:FB CYC:93 SL:108
DEA7 85 STA $78 PC:DEA8 A:33 X:55 Y:2C P:25 SP:FB CYC:99 SL:108
DEA9 A9 LDA #$44 PC:DEAA A:33 X:55 Y:2C P:25 SP:FB CYC:108 SL:108
DEAB A0 LDY #$78 PC:DEAC A:44 X:55 Y:2C P:25 SP:FB CYC:114 SL:108
DEAD A2 LDX #$00 PC:DEAE A:44 X:55 Y:78 P:25 SP:FB CYC:120 SL:108
DEAF 38 SEC PC:DEB0 A:44 X:00 Y:78 P:27 SP:FB CYC:126 SL:108
DEB0 24 BIT $01 PC:DEB1 A:44 X:00 Y:78 P:27 SP:FB CYC:132 SL:108
DEB2 B6 LDX $00,y PC:DEB3 A:44 X:00 Y:78 P:E5 SP:FB CYC:141 SL:108
DEB4 90 BCC $DEC8 PC:DEB5 A:44 X:33 Y:78 P:65 SP:FB CYC:153 SL:108
DEB6 50 BVC $DEC8 PC:DEB7 A:44 X:33 Y:78 P:65 SP:FB CYC:159 SL:108
DEB8 30 BMI $DEC8 PC:DEB9 A:44 X:33 Y:78 P:65 SP:FB CYC:165 SL:108
DEBA F0 BEQ $DEC8 PC:DEBB A:44 X:33 Y:78 P:65 SP:FB CYC:171 SL:108
DEBC E0 CPX #$33 PC:DEBD A:44 X:33 Y:78 P:65 SP:FB CYC:177 SL:108
DEBE D0 BNE $DEC8 PC:DEBF A:44 X:33 Y:78 P:67 SP:FB CYC:183 SL:108
DEC0 C0 CPY #$78 PC:DEC1 A:44 X:33 Y:78 P:67 SP:FB CYC:189 SL:108
DEC2 D0 BNE $DEC8 PC:DEC3 A:44 X:33 Y:78 P:67 SP:FB CYC:195 SL:108
DEC4 C9 CMP #$44 PC:DEC5 A:44 X:33 Y:78 P:67 SP:FB CYC:201 SL:108
DEC6 F0 BEQ $DECC PC:DEC7 A:44 X:33 Y:78 P:67 SP:FB CYC:207 SL:108
DECC A9 LDA #$97 PC:DECD A:44 X:33 Y:78 P:67 SP:FB CYC:216 SL:108
DECE 85 STA $7F PC:DECF A:97 X:33 Y:78 P:E5 SP:FB CYC:222 SL:108
DED0 A9 LDA #$47 PC:DED1 A:97 X:33 Y:78 P:E5 SP:FB CYC:231 SL:108
DED2 A0 LDY #$FF PC:DED3 A:47 X:33 Y:78 P:65 SP:FB CYC:237 SL:108
DED4 A2 LDX #$00 PC:DED5 A:47 X:33 Y:FF P:E5 SP:FB CYC:243 SL:108
DED6 18 CLC PC:DED7 A:47 X:00 Y:FF P:67 SP:FB CYC:249 SL:108
DED7 B8 CLV PC:DED8 A:47 X:00 Y:FF P:66 SP:FB CYC:255 SL:108
DED8 B6 LDX $80,y PC:DED9 A:47 X:00 Y:FF P:26 SP:FB CYC:261 SL:108
DEDA B0 BCS $DEEE PC:DEDB A:47 X:97 Y:FF P:A4 SP:FB CYC:273 SL:108
DEDC 70 BVS $DEEE PC:DEDD A:47 X:97 Y:FF P:A4 SP:FB CYC:279 SL:108
DEDE 10 BPL $DEEE PC:DEDF A:47 X:97 Y:FF P:A4 SP:FB CYC:285 SL:108
DEE0 F0 BEQ $DEEE PC:DEE1 A:47 X:97 Y:FF P:A4 SP:FB CYC:291 SL:108
DEE2 E0 CPX #$97 PC:DEE3 A:47 X:97 Y:FF P:A4 SP:FB CYC:297 SL:108
DEE4 D0 BNE $DEEE PC:DEE5 A:47 X:97 Y:FF P:27 SP:FB CYC:303 SL:108
DEE6 C0 CPY #$FF PC:DEE7 A:47 X:97 Y:FF P:27 SP:FB CYC:309 SL:108
DEE8 D0 BNE $DEEE PC:DEE9 A:47 X:97 Y:FF P:27 SP:FB CYC:315 SL:108
DEEA C9 CMP #$47 PC:DEEB A:47 X:97 Y:FF P:27 SP:FB CYC:321 SL:108
DEEC F0 BEQ $DEF2 PC:DEED A:47 X:97 Y:FF P:27 SP:FB CYC:327 SL:108
DEF2 A9 LDA #$00 PC:DEF3 A:47 X:97 Y:FF P:27 SP:FB CYC:336 SL:108
DEF4 85 STA $7F PC:DEF5 A:00 X:97 Y:FF P:27 SP:FB CYC:1 SL:109
DEF6 A9 LDA #$47 PC:DEF7 A:00 X:97 Y:FF P:27 SP:FB CYC:10 SL:109
DEF8 A0 LDY #$FF PC:DEF9 A:47 X:97 Y:FF P:25 SP:FB CYC:16 SL:109
DEFA A2 LDX #$69 PC:DEFB A:47 X:97 Y:FF P:A5 SP:FB CYC:22 SL:109
DEFC 18 CLC PC:DEFD A:47 X:69 Y:FF P:25 SP:FB CYC:28 SL:109
DEFD B8 CLV PC:DEFE A:47 X:69 Y:FF P:24 SP:FB CYC:34 SL:109
DEFE 96 STX $80,y PC:DEFF A:47 X:69 Y:FF P:24 SP:FB CYC:40 SL:109
DF00 B0 BCS $DF1A PC:DF01 A:47 X:69 Y:FF P:24 SP:FB CYC:52 SL:109
DF02 70 BVS $DF1A PC:DF03 A:47 X:69 Y:FF P:24 SP:FB CYC:58 SL:109
DF04 30 BMI $DF1A PC:DF05 A:47 X:69 Y:FF P:24 SP:FB CYC:64 SL:109
DF06 F0 BEQ $DF1A PC:DF07 A:47 X:69 Y:FF P:24 SP:FB CYC:70 SL:109
DF08 E0 CPX #$69 PC:DF09 A:47 X:69 Y:FF P:24 SP:FB CYC:76 SL:109
DF0A D0 BNE $DF1A PC:DF0B A:47 X:69 Y:FF P:27 SP:FB CYC:82 SL:109
DF0C C0 CPY #$FF PC:DF0D A:47 X:69 Y:FF P:27 SP:FB CYC:88 SL:109
DF0E D0 BNE $DF1A PC:DF0F A:47 X:69 Y:FF P:27 SP:FB CYC:94 SL:109
DF10 C9 CMP #$47 PC:DF11 A:47 X:69 Y:FF P:27 SP:FB CYC:100 SL:109
DF12 D0 BNE $DF1A PC:DF13 A:47 X:69 Y:FF P:27 SP:FB CYC:106 SL:109
DF14 A5 LDA $7F PC:DF15 A:47 X:69 Y:FF P:27 SP:FB CYC:112 SL:109
DF16 C9 CMP #$69 PC:DF17 A:69 X:69 Y:FF P:25 SP:FB CYC:121 SL:109
DF18 F0 BEQ $DF1E PC:DF19 A:69 X:69 Y:FF P:27 SP:FB CYC:127 SL:109
DF1E A9 LDA #$F5 PC:DF1F A:69 X:69 Y:FF P:27 SP:FB CYC:136 SL:109
DF20 85 STA $4F PC:DF21 A:F5 X:69 Y:FF P:A5 SP:FB CYC:142 SL:109
DF22 A9 LDA #$47 PC:DF23 A:F5 X:69 Y:FF P:A5 SP:FB CYC:151 SL:109
DF24 A0 LDY #$4F PC:DF25 A:47 X:69 Y:FF P:25 SP:FB CYC:157 SL:109
DF26 24 BIT $01 PC:DF27 A:47 X:69 Y:4F P:25 SP:FB CYC:163 SL:109
DF28 A2 LDX #$00 PC:DF29 A:47 X:69 Y:4F P:E5 SP:FB CYC:172 SL:109
DF2A 38 SEC PC:DF2B A:47 X:00 Y:4F P:67 SP:FB CYC:178 SL:109
DF2B 96 STX $00,y PC:DF2C A:47 X:00 Y:4F P:67 SP:FB CYC:184 SL:109
DF2D 90 BCC $DF45 PC:DF2E A:47 X:00 Y:4F P:67 SP:FB CYC:196 SL:109
DF2F 50 BVC $DF45 PC:DF30 A:47 X:00 Y:4F P:67 SP:FB CYC:202 SL:109
DF31 30 BMI $DF45 PC:DF32 A:47 X:00 Y:4F P:67 SP:FB CYC:208 SL:109
DF33 D0 BNE $DF45 PC:DF34 A:47 X:00 Y:4F P:67 SP:FB CYC:214 SL:109
DF35 E0 CPX #$00 PC:DF36 A:47 X:00 Y:4F P:67 SP:FB CYC:220 SL:109
DF37 D0 BNE $DF45 PC:DF38 A:47 X:00 Y:4F P:67 SP:FB CYC:226 SL:109
DF39 C0 CPY #$4F PC:DF3A A:47 X:00 Y:4F P:67 SP:FB CYC:232 SL:109
DF3B D0 BNE $DF45 PC:DF3C A:47 X:00 Y:4F P:67 SP:FB CYC:238 SL:109
DF3D C9 CMP #$47 PC:DF3E A:47 X:00 Y:4F P:67 SP:FB CYC:244 SL:109
DF3F D0 BNE $DF45 PC:DF40 A:47 X:00 Y:4F P:67 SP:FB CYC:250 SL:109
DF41 A5 LDA $4F PC:DF42 A:47 X:00 Y:4F P:67 SP:FB CYC:256 SL:109
DF43 F0 BEQ $DF49 PC:DF44 A:00 X:00 Y:4F P:67 SP:FB CYC:265 SL:109
DF49 60 RTS PC:DF4A A:00 X:00 Y:4F P:67 SP:FB CYC:274 SL:109
C62C 20 JSR $E1AA PC:C62D A:00 X:00 Y:4F P:67 SP:FD CYC:292 SL:109
E1AA A9 LDA #$FF PC:E1AB A:00 X:00 Y:4F P:67 SP:FB CYC:310 SL:109
E1AC 85 STA $01 PC:E1AD A:FF X:00 Y:4F P:E5 SP:FB CYC:316 SL:109
E1AE A9 LDA #$AA PC:E1AF A:FF X:00 Y:4F P:E5 SP:FB CYC:325 SL:109
E1B0 8D STA $0633 PC:E1B1 A:AA X:00 Y:4F P:E5 SP:FB CYC:331 SL:109
E1B3 A9 LDA #$BB PC:E1B4 A:AA X:00 Y:4F P:E5 SP:FB CYC:2 SL:110
E1B5 8D STA $0689 PC:E1B6 A:BB X:00 Y:4F P:E5 SP:FB CYC:8 SL:110
E1B8 A2 LDX #$00 PC:E1B9 A:BB X:00 Y:4F P:E5 SP:FB CYC:20 SL:110
E1BA A9 LDA #$66 PC:E1BB A:BB X:00 Y:4F P:67 SP:FB CYC:26 SL:110
E1BC 24 BIT $01 PC:E1BD A:66 X:00 Y:4F P:65 SP:FB CYC:32 SL:110
E1BE 38 SEC PC:E1BF A:66 X:00 Y:4F P:E5 SP:FB CYC:41 SL:110
E1BF A0 LDY #$00 PC:E1C0 A:66 X:00 Y:4F P:E5 SP:FB CYC:47 SL:110
E1C1 BC LDY $0633,x PC:E1C2 A:66 X:00 Y:00 P:67 SP:FB CYC:53 SL:110
E1C4 10 BPL $E1D8 PC:E1C5 A:66 X:00 Y:AA P:E5 SP:FB CYC:65 SL:110
E1C6 F0 BEQ $E1D8 PC:E1C7 A:66 X:00 Y:AA P:E5 SP:FB CYC:71 SL:110
E1C8 50 BVC $E1D8 PC:E1C9 A:66 X:00 Y:AA P:E5 SP:FB CYC:77 SL:110
E1CA 90 BCC $E1D8 PC:E1CB A:66 X:00 Y:AA P:E5 SP:FB CYC:83 SL:110
E1CC C9 CMP #$66 PC:E1CD A:66 X:00 Y:AA P:E5 SP:FB CYC:89 SL:110
E1CE D0 BNE $E1D8 PC:E1CF A:66 X:00 Y:AA P:67 SP:FB CYC:95 SL:110
E1D0 E0 CPX #$00 PC:E1D1 A:66 X:00 Y:AA P:67 SP:FB CYC:101 SL:110
E1D2 D0 BNE $E1D8 PC:E1D3 A:66 X:00 Y:AA P:67 SP:FB CYC:107 SL:110
E1D4 C0 CPY #$AA PC:E1D5 A:66 X:00 Y:AA P:67 SP:FB CYC:113 SL:110
E1D6 F0 BEQ $E1DC PC:E1D7 A:66 X:00 Y:AA P:67 SP:FB CYC:119 SL:110
E1DC A2 LDX #$8A PC:E1DD A:66 X:00 Y:AA P:67 SP:FB CYC:128 SL:110
E1DE A9 LDA #$66 PC:E1DF A:66 X:8A Y:AA P:E5 SP:FB CYC:134 SL:110
E1E0 B8 CLV PC:E1E1 A:66 X:8A Y:AA P:65 SP:FB CYC:140 SL:110
E1E1 18 CLC PC:E1E2 A:66 X:8A Y:AA P:25 SP:FB CYC:146 SL:110
E1E2 A0 LDY #$00 PC:E1E3 A:66 X:8A Y:AA P:24 SP:FB CYC:152 SL:110
E1E4 BC LDY $05FF,x PC:E1E5 A:66 X:8A Y:00 P:26 SP:FB CYC:158 SL:110
E1E7 10 BPL $E1FB PC:E1E8 A:66 X:8A Y:BB P:A4 SP:FB CYC:173 SL:110
E1E9 F0 BEQ $E1FB PC:E1EA A:66 X:8A Y:BB P:A4 SP:FB CYC:179 SL:110
E1EB 70 BVS $E1FB PC:E1EC A:66 X:8A Y:BB P:A4 SP:FB CYC:185 SL:110
E1ED B0 BCS $E1FB PC:E1EE A:66 X:8A Y:BB P:A4 SP:FB CYC:191 SL:110
E1EF C0 CPY #$BB PC:E1F0 A:66 X:8A Y:BB P:A4 SP:FB CYC:197 SL:110
E1F1 D0 BNE $E1FB PC:E1F2 A:66 X:8A Y:BB P:27 SP:FB CYC:203 SL:110
E1F3 C9 CMP #$66 PC:E1F4 A:66 X:8A Y:BB P:27 SP:FB CYC:209 SL:110
E1F5 D0 BNE $E1FB PC:E1F6 A:66 X:8A Y:BB P:27 SP:FB CYC:215 SL:110
E1F7 E0 CPX #$8A PC:E1F8 A:66 X:8A Y:BB P:27 SP:FB CYC:221 SL:110
E1F9 F0 BEQ $E1FF PC:E1FA A:66 X:8A Y:BB P:27 SP:FB CYC:227 SL:110
E1FF A0 LDY #$53 PC:E200 A:66 X:8A Y:BB P:27 SP:FB CYC:236 SL:110
E201 A9 LDA #$AA PC:E202 A:66 X:8A Y:53 P:25 SP:FB CYC:242 SL:110
E203 A2 LDX #$78 PC:E204 A:AA X:8A Y:53 P:A5 SP:FB CYC:248 SL:110
E205 8D STA $0678 PC:E206 A:AA X:78 Y:53 P:25 SP:FB CYC:254 SL:110
E208 20 JSR $F7B6 PC:E209 A:AA X:78 Y:53 P:25 SP:FB CYC:266 SL:110
F7B6 18 CLC PC:F7B7 A:AA X:78 Y:53 P:25 SP:F9 CYC:284 SL:110
F7B7 A9 LDA #$FF PC:F7B8 A:AA X:78 Y:53 P:24 SP:F9 CYC:290 SL:110
F7B9 85 STA $01 PC:F7BA A:FF X:78 Y:53 P:A4 SP:F9 CYC:296 SL:110
F7BB 24 BIT $01 PC:F7BC A:FF X:78 Y:53 P:A4 SP:F9 CYC:305 SL:110
F7BD A9 LDA #$55 PC:F7BE A:FF X:78 Y:53 P:E4 SP:F9 CYC:314 SL:110
F7BF 60 RTS PC:F7C0 A:55 X:78 Y:53 P:64 SP:F9 CYC:320 SL:110
E20B 1D ORA $0600,x PC:E20C A:55 X:78 Y:53 P:64 SP:FB CYC:338 SL:110
E20E 20 JSR $F7C0 PC:E20F A:FF X:78 Y:53 P:E4 SP:FB CYC:9 SL:111
F7C0 B0 BCS $F7CB PC:F7C1 A:FF X:78 Y:53 P:E4 SP:F9 CYC:27 SL:111
F7C2 10 BPL $F7CB PC:F7C3 A:FF X:78 Y:53 P:E4 SP:F9 CYC:33 SL:111
F7C4 C9 CMP #$FF PC:F7C5 A:FF X:78 Y:53 P:E4 SP:F9 CYC:39 SL:111
F7C6 D0 BNE $F7CB PC:F7C7 A:FF X:78 Y:53 P:67 SP:F9 CYC:45 SL:111
F7C8 50 BVC $F7CB PC:F7C9 A:FF X:78 Y:53 P:67 SP:F9 CYC:51 SL:111
F7CA 60 RTS PC:F7CB A:FF X:78 Y:53 P:67 SP:F9 CYC:57 SL:111
E211 C8 INY PC:E212 A:FF X:78 Y:53 P:67 SP:FB CYC:75 SL:111
E212 A9 LDA #$00 PC:E213 A:FF X:78 Y:54 P:65 SP:FB CYC:81 SL:111
E214 8D STA $0678 PC:E215 A:00 X:78 Y:54 P:67 SP:FB CYC:87 SL:111
E217 20 JSR $F7CE PC:E218 A:00 X:78 Y:54 P:67 SP:FB CYC:99 SL:111
F7CE 38 SEC PC:F7CF A:00 X:78 Y:54 P:67 SP:F9 CYC:117 SL:111
F7CF B8 CLV PC:F7D0 A:00 X:78 Y:54 P:67 SP:F9 CYC:123 SL:111
F7D0 A9 LDA #$00 PC:F7D1 A:00 X:78 Y:54 P:27 SP:F9 CYC:129 SL:111
F7D2 60 RTS PC:F7D3 A:00 X:78 Y:54 P:27 SP:F9 CYC:135 SL:111
E21A 1D ORA $0600,x PC:E21B A:00 X:78 Y:54 P:27 SP:FB CYC:153 SL:111
E21D 20 JSR $F7D3 PC:E21E A:00 X:78 Y:54 P:27 SP:FB CYC:165 SL:111
F7D3 D0 BNE $F7DC PC:F7D4 A:00 X:78 Y:54 P:27 SP:F9 CYC:183 SL:111
F7D5 70 BVS $F7DC PC:F7D6 A:00 X:78 Y:54 P:27 SP:F9 CYC:189 SL:111
F7D7 90 BCC $F7DC PC:F7D8 A:00 X:78 Y:54 P:27 SP:F9 CYC:195 SL:111
F7D9 30 BMI $F7DC PC:F7DA A:00 X:78 Y:54 P:27 SP:F9 CYC:201 SL:111
F7DB 60 RTS PC:F7DC A:00 X:78 Y:54 P:27 SP:F9 CYC:207 SL:111
E220 C8 INY PC:E221 A:00 X:78 Y:54 P:27 SP:FB CYC:225 SL:111
E221 A9 LDA #$AA PC:E222 A:00 X:78 Y:55 P:25 SP:FB CYC:231 SL:111
E223 8D STA $0678 PC:E224 A:AA X:78 Y:55 P:A5 SP:FB CYC:237 SL:111
E226 20 JSR $F7DF PC:E227 A:AA X:78 Y:55 P:A5 SP:FB CYC:249 SL:111
F7DF 18 CLC PC:F7E0 A:AA X:78 Y:55 P:A5 SP:F9 CYC:267 SL:111
F7E0 24 BIT $01 PC:F7E1 A:AA X:78 Y:55 P:A4 SP:F9 CYC:273 SL:111
F7E2 A9 LDA #$55 PC:F7E3 A:AA X:78 Y:55 P:E4 SP:F9 CYC:282 SL:111
F7E4 60 RTS PC:F7E5 A:55 X:78 Y:55 P:64 SP:F9 CYC:288 SL:111
E229 3D AND $0600,x PC:E22A A:55 X:78 Y:55 P:64 SP:FB CYC:306 SL:111
E22C 20 JSR $F7E5 PC:E22D A:00 X:78 Y:55 P:66 SP:FB CYC:318 SL:111
F7E5 D0 BNE $F7EE PC:F7E6 A:00 X:78 Y:55 P:66 SP:F9 CYC:336 SL:111
F7E7 50 BVC $F7EE PC:F7E8 A:00 X:78 Y:55 P:66 SP:F9 CYC:1 SL:112
F7E9 B0 BCS $F7EE PC:F7EA A:00 X:78 Y:55 P:66 SP:F9 CYC:7 SL:112
F7EB 30 BMI $F7EE PC:F7EC A:00 X:78 Y:55 P:66 SP:F9 CYC:13 SL:112
F7ED 60 RTS PC:F7EE A:00 X:78 Y:55 P:66 SP:F9 CYC:19 SL:112
E22F C8 INY PC:E230 A:00 X:78 Y:55 P:66 SP:FB CYC:37 SL:112
E230 A9 LDA #$EF PC:E231 A:00 X:78 Y:56 P:64 SP:FB CYC:43 SL:112
E232 8D STA $0678 PC:E233 A:EF X:78 Y:56 P:E4 SP:FB CYC:49 SL:112
E235 20 JSR $F7F1 PC:E236 A:EF X:78 Y:56 P:E4 SP:FB CYC:61 SL:112
F7F1 38 SEC PC:F7F2 A:EF X:78 Y:56 P:E4 SP:F9 CYC:79 SL:112
F7F2 B8 CLV PC:F7F3 A:EF X:78 Y:56 P:E5 SP:F9 CYC:85 SL:112
F7F3 A9 LDA #$F8 PC:F7F4 A:EF X:78 Y:56 P:A5 SP:F9 CYC:91 SL:112
F7F5 60 RTS PC:F7F6 A:F8 X:78 Y:56 P:A5 SP:F9 CYC:97 SL:112
E238 3D AND $0600,x PC:E239 A:F8 X:78 Y:56 P:A5 SP:FB CYC:115 SL:112
E23B 20 JSR $F7F6 PC:E23C A:E8 X:78 Y:56 P:A5 SP:FB CYC:127 SL:112
F7F6 90 BCC $F801 PC:F7F7 A:E8 X:78 Y:56 P:A5 SP:F9 CYC:145 SL:112
F7F8 10 BPL $F801 PC:F7F9 A:E8 X:78 Y:56 P:A5 SP:F9 CYC:151 SL:112
F7FA C9 CMP #$E8 PC:F7FB A:E8 X:78 Y:56 P:A5 SP:F9 CYC:157 SL:112
F7FC D0 BNE $F801 PC:F7FD A:E8 X:78 Y:56 P:27 SP:F9 CYC:163 SL:112
F7FE 70 BVS $F801 PC:F7FF A:E8 X:78 Y:56 P:27 SP:F9 CYC:169 SL:112
F800 60 RTS PC:F801 A:E8 X:78 Y:56 P:27 SP:F9 CYC:175 SL:112
E23E C8 INY PC:E23F A:E8 X:78 Y:56 P:27 SP:FB CYC:193 SL:112
E23F A9 LDA #$AA PC:E240 A:E8 X:78 Y:57 P:25 SP:FB CYC:199 SL:112
E241 8D STA $0678 PC:E242 A:AA X:78 Y:57 P:A5 SP:FB CYC:205 SL:112
E244 20 JSR $F804 PC:E245 A:AA X:78 Y:57 P:A5 SP:FB CYC:217 SL:112
F804 18 CLC PC:F805 A:AA X:78 Y:57 P:A5 SP:F9 CYC:235 SL:112
F805 24 BIT $01 PC:F806 A:AA X:78 Y:57 P:A4 SP:F9 CYC:241 SL:112
F807 A9 LDA #$5F PC:F808 A:AA X:78 Y:57 P:E4 SP:F9 CYC:250 SL:112
F809 60 RTS PC:F80A A:5F X:78 Y:57 P:64 SP:F9 CYC:256 SL:112
E247 5D EOR $0600,x PC:E248 A:5F X:78 Y:57 P:64 SP:FB CYC:274 SL:112
E24A 20 JSR $F80A PC:E24B A:F5 X:78 Y:57 P:E4 SP:FB CYC:286 SL:112
F80A B0 BCS $F815 PC:F80B A:F5 X:78 Y:57 P:E4 SP:F9 CYC:304 SL:112
F80C 10 BPL $F815 PC:F80D A:F5 X:78 Y:57 P:E4 SP:F9 CYC:310 SL:112
F80E C9 CMP #$F5 PC:F80F A:F5 X:78 Y:57 P:E4 SP:F9 CYC:316 SL:112
F810 D0 BNE $F815 PC:F811 A:F5 X:78 Y:57 P:67 SP:F9 CYC:322 SL:112
F812 50 BVC $F815 PC:F813 A:F5 X:78 Y:57 P:67 SP:F9 CYC:328 SL:112
F814 60 RTS PC:F815 A:F5 X:78 Y:57 P:67 SP:F9 CYC:334 SL:112
E24D C8 INY PC:E24E A:F5 X:78 Y:57 P:67 SP:FB CYC:11 SL:113
E24E A9 LDA #$70 PC:E24F A:F5 X:78 Y:58 P:65 SP:FB CYC:17 SL:113
E250 8D STA $0678 PC:E251 A:70 X:78 Y:58 P:65 SP:FB CYC:23 SL:113
E253 20 JSR $F818 PC:E254 A:70 X:78 Y:58 P:65 SP:FB CYC:35 SL:113
F818 38 SEC PC:F819 A:70 X:78 Y:58 P:65 SP:F9 CYC:53 SL:113
F819 B8 CLV PC:F81A A:70 X:78 Y:58 P:65 SP:F9 CYC:59 SL:113
F81A A9 LDA #$70 PC:F81B A:70 X:78 Y:58 P:25 SP:F9 CYC:65 SL:113
F81C 60 RTS PC:F81D A:70 X:78 Y:58 P:25 SP:F9 CYC:71 SL:113
E256 5D EOR $0600,x PC:E257 A:70 X:78 Y:58 P:25 SP:FB CYC:89 SL:113
E259 20 JSR $F81D PC:E25A A:00 X:78 Y:58 P:27 SP:FB CYC:101 SL:113
F81D D0 BNE $F826 PC:F81E A:00 X:78 Y:58 P:27 SP:F9 CYC:119 SL:113
F81F 70 BVS $F826 PC:F820 A:00 X:78 Y:58 P:27 SP:F9 CYC:125 SL:113
F821 90 BCC $F826 PC:F822 A:00 X:78 Y:58 P:27 SP:F9 CYC:131 SL:113
F823 30 BMI $F826 PC:F824 A:00 X:78 Y:58 P:27 SP:F9 CYC:137 SL:113
F825 60 RTS PC:F826 A:00 X:78 Y:58 P:27 SP:F9 CYC:143 SL:113
E25C C8 INY PC:E25D A:00 X:78 Y:58 P:27 SP:FB CYC:161 SL:113
E25D A9 LDA #$69 PC:E25E A:00 X:78 Y:59 P:25 SP:FB CYC:167 SL:113
E25F 8D STA $0678 PC:E260 A:69 X:78 Y:59 P:25 SP:FB CYC:173 SL:113
E262 20 JSR $F829 PC:E263 A:69 X:78 Y:59 P:25 SP:FB CYC:185 SL:113
F829 18 CLC PC:F82A A:69 X:78 Y:59 P:25 SP:F9 CYC:203 SL:113
F82A 24 BIT $01 PC:F82B A:69 X:78 Y:59 P:24 SP:F9 CYC:209 SL:113
F82C A9 LDA #$00 PC:F82D A:69 X:78 Y:59 P:E4 SP:F9 CYC:218 SL:113
F82E 60 RTS PC:F82F A:00 X:78 Y:59 P:66 SP:F9 CYC:224 SL:113
E265 7D ADC $0600,x PC:E266 A:00 X:78 Y:59 P:66 SP:FB CYC:242 SL:113
E268 20 JSR $F82F PC:E269 A:69 X:78 Y:59 P:24 SP:FB CYC:254 SL:113
F82F 30 BMI $F83A PC:F830 A:69 X:78 Y:59 P:24 SP:F9 CYC:272 SL:113
F831 B0 BCS $F83A PC:F832 A:69 X:78 Y:59 P:24 SP:F9 CYC:278 SL:113
F833 C9 CMP #$69 PC:F834 A:69 X:78 Y:59 P:24 SP:F9 CYC:284 SL:113
F835 D0 BNE $F83A PC:F836 A:69 X:78 Y:59 P:27 SP:F9 CYC:290 SL:113
F837 70 BVS $F83A PC:F838 A:69 X:78 Y:59 P:27 SP:F9 CYC:296 SL:113
F839 60 RTS PC:F83A A:69 X:78 Y:59 P:27 SP:F9 CYC:302 SL:113
E26B C8 INY PC:E26C A:69 X:78 Y:59 P:27 SP:FB CYC:320 SL:113
E26C 20 JSR $F83D PC:E26D A:69 X:78 Y:5A P:25 SP:FB CYC:326 SL:113
F83D 38 SEC PC:F83E A:69 X:78 Y:5A P:25 SP:F9 CYC:3 SL:114
F83E 24 BIT $01 PC:F83F A:69 X:78 Y:5A P:25 SP:F9 CYC:9 SL:114
F840 A9 LDA #$00 PC:F841 A:69 X:78 Y:5A P:E5 SP:F9 CYC:18 SL:114
F842 60 RTS PC:F843 A:00 X:78 Y:5A P:67 SP:F9 CYC:24 SL:114
E26F 7D ADC $0600,x PC:E270 A:00 X:78 Y:5A P:67 SP:FB CYC:42 SL:114
E272 20 JSR $F843 PC:E273 A:6A X:78 Y:5A P:24 SP:FB CYC:54 SL:114
F843 30 BMI $F84E PC:F844 A:6A X:78 Y:5A P:24 SP:F9 CYC:72 SL:114
F845 B0 BCS $F84E PC:F846 A:6A X:78 Y:5A P:24 SP:F9 CYC:78 SL:114
F847 C9 CMP #$6A PC:F848 A:6A X:78 Y:5A P:24 SP:F9 CYC:84 SL:114
F849 D0 BNE $F84E PC:F84A A:6A X:78 Y:5A P:27 SP:F9 CYC:90 SL:114
F84B 70 BVS $F84E PC:F84C A:6A X:78 Y:5A P:27 SP:F9 CYC:96 SL:114
F84D 60 RTS PC:F84E A:6A X:78 Y:5A P:27 SP:F9 CYC:102 SL:114
E275 C8 INY PC:E276 A:6A X:78 Y:5A P:27 SP:FB CYC:120 SL:114
E276 A9 LDA #$7F PC:E277 A:6A X:78 Y:5B P:25 SP:FB CYC:126 SL:114
E278 8D STA $0678 PC:E279 A:7F X:78 Y:5B P:25 SP:FB CYC:132 SL:114
E27B 20 JSR $F851 PC:E27C A:7F X:78 Y:5B P:25 SP:FB CYC:144 SL:114
F851 38 SEC PC:F852 A:7F X:78 Y:5B P:25 SP:F9 CYC:162 SL:114
F852 B8 CLV PC:F853 A:7F X:78 Y:5B P:25 SP:F9 CYC:168 SL:114
F853 A9 LDA #$7F PC:F854 A:7F X:78 Y:5B P:25 SP:F9 CYC:174 SL:114
F855 60 RTS PC:F856 A:7F X:78 Y:5B P:25 SP:F9 CYC:180 SL:114
E27E 7D ADC $0600,x PC:E27F A:7F X:78 Y:5B P:25 SP:FB CYC:198 SL:114
E281 20 JSR $F856 PC:E282 A:FF X:78 Y:5B P:E4 SP:FB CYC:210 SL:114
F856 10 BPL $F861 PC:F857 A:FF X:78 Y:5B P:E4 SP:F9 CYC:228 SL:114
F858 B0 BCS $F861 PC:F859 A:FF X:78 Y:5B P:E4 SP:F9 CYC:234 SL:114
F85A C9 CMP #$FF PC:F85B A:FF X:78 Y:5B P:E4 SP:F9 CYC:240 SL:114
F85C D0 BNE $F861 PC:F85D A:FF X:78 Y:5B P:67 SP:F9 CYC:246 SL:114
F85E 50 BVC $F861 PC:F85F A:FF X:78 Y:5B P:67 SP:F9 CYC:252 SL:114
F860 60 RTS PC:F861 A:FF X:78 Y:5B P:67 SP:F9 CYC:258 SL:114
E284 C8 INY PC:E285 A:FF X:78 Y:5B P:67 SP:FB CYC:276 SL:114
E285 A9 LDA #$80 PC:E286 A:FF X:78 Y:5C P:65 SP:FB CYC:282 SL:114
E287 8D STA $0678 PC:E288 A:80 X:78 Y:5C P:E5 SP:FB CYC:288 SL:114
E28A 20 JSR $F864 PC:E28B A:80 X:78 Y:5C P:E5 SP:FB CYC:300 SL:114
F864 18 CLC PC:F865 A:80 X:78 Y:5C P:E5 SP:F9 CYC:318 SL:114
F865 24 BIT $01 PC:F866 A:80 X:78 Y:5C P:E4 SP:F9 CYC:324 SL:114
F867 A9 LDA #$7F PC:F868 A:80 X:78 Y:5C P:E4 SP:F9 CYC:333 SL:114
F869 60 RTS PC:F86A A:7F X:78 Y:5C P:64 SP:F9 CYC:339 SL:114
E28D 7D ADC $0600,x PC:E28E A:7F X:78 Y:5C P:64 SP:FB CYC:16 SL:115
E290 20 JSR $F86A PC:E291 A:FF X:78 Y:5C P:A4 SP:FB CYC:28 SL:115
F86A 10 BPL $F875 PC:F86B A:FF X:78 Y:5C P:A4 SP:F9 CYC:46 SL:115
F86C B0 BCS $F875 PC:F86D A:FF X:78 Y:5C P:A4 SP:F9 CYC:52 SL:115
F86E C9 CMP #$FF PC:F86F A:FF X:78 Y:5C P:A4 SP:F9 CYC:58 SL:115
F870 D0 BNE $F875 PC:F871 A:FF X:78 Y:5C P:27 SP:F9 CYC:64 SL:115
F872 70 BVS $F875 PC:F873 A:FF X:78 Y:5C P:27 SP:F9 CYC:70 SL:115
F874 60 RTS PC:F875 A:FF X:78 Y:5C P:27 SP:F9 CYC:76 SL:115
E293 C8 INY PC:E294 A:FF X:78 Y:5C P:27 SP:FB CYC:94 SL:115
E294 20 JSR $F878 PC:E295 A:FF X:78 Y:5D P:25 SP:FB CYC:100 SL:115
F878 38 SEC PC:F879 A:FF X:78 Y:5D P:25 SP:F9 CYC:118 SL:115
F879 B8 CLV PC:F87A A:FF X:78 Y:5D P:25 SP:F9 CYC:124 SL:115
F87A A9 LDA #$7F PC:F87B A:FF X:78 Y:5D P:25 SP:F9 CYC:130 SL:115
F87C 60 RTS PC:F87D A:7F X:78 Y:5D P:25 SP:F9 CYC:136 SL:115
E297 7D ADC $0600,x PC:E298 A:7F X:78 Y:5D P:25 SP:FB CYC:154 SL:115
E29A 20 JSR $F87D PC:E29B A:00 X:78 Y:5D P:27 SP:FB CYC:166 SL:115
F87D D0 BNE $F886 PC:F87E A:00 X:78 Y:5D P:27 SP:F9 CYC:184 SL:115
F87F 30 BMI $F886 PC:F880 A:00 X:78 Y:5D P:27 SP:F9 CYC:190 SL:115
F881 70 BVS $F886 PC:F882 A:00 X:78 Y:5D P:27 SP:F9 CYC:196 SL:115
F883 90 BCC $F886 PC:F884 A:00 X:78 Y:5D P:27 SP:F9 CYC:202 SL:115
F885 60 RTS PC:F886 A:00 X:78 Y:5D P:27 SP:F9 CYC:208 SL:115
E29D C8 INY PC:E29E A:00 X:78 Y:5D P:27 SP:FB CYC:226 SL:115
E29E A9 LDA #$40 PC:E29F A:00 X:78 Y:5E P:25 SP:FB CYC:232 SL:115
E2A0 8D STA $0678 PC:E2A1 A:40 X:78 Y:5E P:25 SP:FB CYC:238 SL:115
E2A3 20 JSR $F889 PC:E2A4 A:40 X:78 Y:5E P:25 SP:FB CYC:250 SL:115
F889 24 BIT $01 PC:F88A A:40 X:78 Y:5E P:25 SP:F9 CYC:268 SL:115
F88B A9 LDA #$40 PC:F88C A:40 X:78 Y:5E P:E5 SP:F9 CYC:277 SL:115
F88D 60 RTS PC:F88E A:40 X:78 Y:5E P:65 SP:F9 CYC:283 SL:115
E2A6 DD CMP $0600,x PC:E2A7 A:40 X:78 Y:5E P:65 SP:FB CYC:301 SL:115
E2A9 20 JSR $F88E PC:E2AA A:40 X:78 Y:5E P:67 SP:FB CYC:313 SL:115
F88E 30 BMI $F897 PC:F88F A:40 X:78 Y:5E P:67 SP:F9 CYC:331 SL:115
F890 90 BCC $F897 PC:F891 A:40 X:78 Y:5E P:67 SP:F9 CYC:337 SL:115
F892 D0 BNE $F897 PC:F893 A:40 X:78 Y:5E P:67 SP:F9 CYC:2 SL:116
F894 50 BVC $F897 PC:F895 A:40 X:78 Y:5E P:67 SP:F9 CYC:8 SL:116
F896 60 RTS PC:F897 A:40 X:78 Y:5E P:67 SP:F9 CYC:14 SL:116
E2AC C8 INY PC:E2AD A:40 X:78 Y:5E P:67 SP:FB CYC:32 SL:116
E2AD 48 PHA PC:E2AE A:40 X:78 Y:5F P:65 SP:FB CYC:38 SL:116
E2AE A9 LDA #$3F PC:E2AF A:40 X:78 Y:5F P:65 SP:FA CYC:47 SL:116
E2B0 8D STA $0678 PC:E2B1 A:3F X:78 Y:5F P:65 SP:FA CYC:53 SL:116
E2B3 68 PLA PC:E2B4 A:3F X:78 Y:5F P:65 SP:FA CYC:65 SL:116
E2B4 20 JSR $F89A PC:E2B5 A:40 X:78 Y:5F P:65 SP:FB CYC:77 SL:116
F89A B8 CLV PC:F89B A:40 X:78 Y:5F P:65 SP:F9 CYC:95 SL:116
F89B 60 RTS PC:F89C A:40 X:78 Y:5F P:25 SP:F9 CYC:101 SL:116
E2B7 DD CMP $0600,x PC:E2B8 A:40 X:78 Y:5F P:25 SP:FB CYC:119 SL:116
E2BA 20 JSR $F89C PC:E2BB A:40 X:78 Y:5F P:25 SP:FB CYC:131 SL:116
F89C F0 BEQ $F8A5 PC:F89D A:40 X:78 Y:5F P:25 SP:F9 CYC:149 SL:116
F89E 30 BMI $F8A5 PC:F89F A:40 X:78 Y:5F P:25 SP:F9 CYC:155 SL:116
F8A0 90 BCC $F8A5 PC:F8A1 A:40 X:78 Y:5F P:25 SP:F9 CYC:161 SL:116
F8A2 70 BVS $F8A5 PC:F8A3 A:40 X:78 Y:5F P:25 SP:F9 CYC:167 SL:116
F8A4 60 RTS PC:F8A5 A:40 X:78 Y:5F P:25 SP:F9 CYC:173 SL:116
E2BD C8 INY PC:E2BE A:40 X:78 Y:5F P:25 SP:FB CYC:191 SL:116
E2BE 48 PHA PC:E2BF A:40 X:78 Y:60 P:25 SP:FB CYC:197 SL:116
E2BF A9 LDA #$41 PC:E2C0 A:40 X:78 Y:60 P:25 SP:FA CYC:206 SL:116
E2C1 8D STA $0678 PC:E2C2 A:41 X:78 Y:60 P:25 SP:FA CYC:212 SL:116
E2C4 68 PLA PC:E2C5 A:41 X:78 Y:60 P:25 SP:FA CYC:224 SL:116
E2C5 DD CMP $0600,x PC:E2C6 A:40 X:78 Y:60 P:25 SP:FB CYC:236 SL:116
E2C8 20 JSR $F8A8 PC:E2C9 A:40 X:78 Y:60 P:A4 SP:FB CYC:248 SL:116
F8A8 F0 BEQ $F8AF PC:F8A9 A:40 X:78 Y:60 P:A4 SP:F9 CYC:266 SL:116
F8AA 10 BPL $F8AF PC:F8AB A:40 X:78 Y:60 P:A4 SP:F9 CYC:272 SL:116
F8AC 10 BPL $F8AF PC:F8AD A:40 X:78 Y:60 P:A4 SP:F9 CYC:278 SL:116
F8AE 60 RTS PC:F8AF A:40 X:78 Y:60 P:A4 SP:F9 CYC:284 SL:116
E2CB C8 INY PC:E2CC A:40 X:78 Y:60 P:A4 SP:FB CYC:302 SL:116
E2CC 48 PHA PC:E2CD A:40 X:78 Y:61 P:24 SP:FB CYC:308 SL:116
E2CD A9 LDA #$00 PC:E2CE A:40 X:78 Y:61 P:24 SP:FA CYC:317 SL:116
E2CF 8D STA $0678 PC:E2D0 A:00 X:78 Y:61 P:26 SP:FA CYC:323 SL:116
E2D2 68 PLA PC:E2D3 A:00 X:78 Y:61 P:26 SP:FA CYC:335 SL:116
E2D3 20 JSR $F8B2 PC:E2D4 A:40 X:78 Y:61 P:24 SP:FB CYC:6 SL:117
F8B2 A9 LDA #$80 PC:F8B3 A:40 X:78 Y:61 P:24 SP:F9 CYC:24 SL:117
F8B4 60 RTS PC:F8B5 A:80 X:78 Y:61 P:A4 SP:F9 CYC:30 SL:117
E2D6 DD CMP $0600,x PC:E2D7 A:80 X:78 Y:61 P:A4 SP:FB CYC:48 SL:117
E2D9 20 JSR $F8B5 PC:E2DA A:80 X:78 Y:61 P:A5 SP:FB CYC:60 SL:117
F8B5 F0 BEQ $F8BC PC:F8B6 A:80 X:78 Y:61 P:A5 SP:F9 CYC:78 SL:117
F8B7 10 BPL $F8BC PC:F8B8 A:80 X:78 Y:61 P:A5 SP:F9 CYC:84 SL:117
F8B9 90 BCC $F8BC PC:F8BA A:80 X:78 Y:61 P:A5 SP:F9 CYC:90 SL:117
F8BB 60 RTS PC:F8BC A:80 X:78 Y:61 P:A5 SP:F9 CYC:96 SL:117
E2DC C8 INY PC:E2DD A:80 X:78 Y:61 P:A5 SP:FB CYC:114 SL:117
E2DD 48 PHA PC:E2DE A:80 X:78 Y:62 P:25 SP:FB CYC:120 SL:117
E2DE A9 LDA #$80 PC:E2DF A:80 X:78 Y:62 P:25 SP:FA CYC:129 SL:117
E2E0 8D STA $0678 PC:E2E1 A:80 X:78 Y:62 P:A5 SP:FA CYC:135 SL:117
E2E3 68 PLA PC:E2E4 A:80 X:78 Y:62 P:A5 SP:FA CYC:147 SL:117
E2E4 DD CMP $0600,x PC:E2E5 A:80 X:78 Y:62 P:A5 SP:FB CYC:159 SL:117
E2E7 20 JSR $F8BF PC:E2E8 A:80 X:78 Y:62 P:27 SP:FB CYC:171 SL:117
F8BF D0 BNE $F8C6 PC:F8C0 A:80 X:78 Y:62 P:27 SP:F9 CYC:189 SL:117
F8C1 30 BMI $F8C6 PC:F8C2 A:80 X:78 Y:62 P:27 SP:F9 CYC:195 SL:117
F8C3 90 BCC $F8C6 PC:F8C4 A:80 X:78 Y:62 P:27 SP:F9 CYC:201 SL:117
F8C5 60 RTS PC:F8C6 A:80 X:78 Y:62 P:27 SP:F9 CYC:207 SL:117
E2EA C8 INY PC:E2EB A:80 X:78 Y:62 P:27 SP:FB CYC:225 SL:117
E2EB 48 PHA PC:E2EC A:80 X:78 Y:63 P:25 SP:FB CYC:231 SL:117
E2EC A9 LDA #$81 PC:E2ED A:80 X:78 Y:63 P:25 SP:FA CYC:240 SL:117
E2EE 8D STA $0678 PC:E2EF A:81 X:78 Y:63 P:A5 SP:FA CYC:246 SL:117
E2F1 68 PLA PC:E2F2 A:81 X:78 Y:63 P:A5 SP:FA CYC:258 SL:117
E2F2 DD CMP $0600,x PC:E2F3 A:80 X:78 Y:63 P:A5 SP:FB CYC:270 SL:117
E2F5 20 JSR $F8C9 PC:E2F6 A:80 X:78 Y:63 P:A4 SP:FB CYC:282 SL:117
F8C9 B0 BCS $F8D0 PC:F8CA A:80 X:78 Y:63 P:A4 SP:F9 CYC:300 SL:117
F8CB F0 BEQ $F8D0 PC:F8CC A:80 X:78 Y:63 P:A4 SP:F9 CYC:306 SL:117
F8CD 10 BPL $F8D0 PC:F8CE A:80 X:78 Y:63 P:A4 SP:F9 CYC:312 SL:117
F8CF 60 RTS PC:F8D0 A:80 X:78 Y:63 P:A4 SP:F9 CYC:318 SL:117
E2F8 C8 INY PC:E2F9 A:80 X:78 Y:63 P:A4 SP:FB CYC:336 SL:117
E2F9 48 PHA PC:E2FA A:80 X:78 Y:64 P:24 SP:FB CYC:1 SL:118
E2FA A9 LDA #$7F PC:E2FB A:80 X:78 Y:64 P:24 SP:FA CYC:10 SL:118
E2FC 8D STA $0678 PC:E2FD A:7F X:78 Y:64 P:24 SP:FA CYC:16 SL:118
E2FF 68 PLA PC:E300 A:7F X:78 Y:64 P:24 SP:FA CYC:28 SL:118
E300 DD CMP $0600,x PC:E301 A:80 X:78 Y:64 P:A4 SP:FB CYC:40 SL:118
E303 20 JSR $F8D3 PC:E304 A:80 X:78 Y:64 P:25 SP:FB CYC:52 SL:118
F8D3 90 BCC $F8DA PC:F8D4 A:80 X:78 Y:64 P:25 SP:F9 CYC:70 SL:118
F8D5 F0 BEQ $F8DA PC:F8D6 A:80 X:78 Y:64 P:25 SP:F9 CYC:76 SL:118
F8D7 30 BMI $F8DA PC:F8D8 A:80 X:78 Y:64 P:25 SP:F9 CYC:82 SL:118
F8D9 60 RTS PC:F8DA A:80 X:78 Y:64 P:25 SP:F9 CYC:88 SL:118
E306 C8 INY PC:E307 A:80 X:78 Y:64 P:25 SP:FB CYC:106 SL:118
E307 A9 LDA #$40 PC:E308 A:80 X:78 Y:65 P:25 SP:FB CYC:112 SL:118
E309 8D STA $0678 PC:E30A A:40 X:78 Y:65 P:25 SP:FB CYC:118 SL:118
E30C 20 JSR $F931 PC:E30D A:40 X:78 Y:65 P:25 SP:FB CYC:130 SL:118
F931 24 BIT $01 PC:F932 A:40 X:78 Y:65 P:25 SP:F9 CYC:148 SL:118
F933 A9 LDA #$40 PC:F934 A:40 X:78 Y:65 P:E5 SP:F9 CYC:157 SL:118
F935 38 SEC PC:F936 A:40 X:78 Y:65 P:65 SP:F9 CYC:163 SL:118
F936 60 RTS PC:F937 A:40 X:78 Y:65 P:65 SP:F9 CYC:169 SL:118
E30F FD SBC $0600,x PC:E310 A:40 X:78 Y:65 P:65 SP:FB CYC:187 SL:118
E312 20 JSR $F937 PC:E313 A:00 X:78 Y:65 P:27 SP:FB CYC:199 SL:118
F937 30 BMI $F944 PC:F938 A:00 X:78 Y:65 P:27 SP:F9 CYC:217 SL:118
F939 90 BCC $F944 PC:F93A A:00 X:78 Y:65 P:27 SP:F9 CYC:223 SL:118
F93B D0 BNE $F944 PC:F93C A:00 X:78 Y:65 P:27 SP:F9 CYC:229 SL:118
F93D 70 BVS $F944 PC:F93E A:00 X:78 Y:65 P:27 SP:F9 CYC:235 SL:118
F93F C9 CMP #$00 PC:F940 A:00 X:78 Y:65 P:27 SP:F9 CYC:241 SL:118
F941 D0 BNE $F944 PC:F942 A:00 X:78 Y:65 P:27 SP:F9 CYC:247 SL:118
F943 60 RTS PC:F944 A:00 X:78 Y:65 P:27 SP:F9 CYC:253 SL:118
E315 C8 INY PC:E316 A:00 X:78 Y:65 P:27 SP:FB CYC:271 SL:118
E316 A9 LDA #$3F PC:E317 A:00 X:78 Y:66 P:25 SP:FB CYC:277 SL:118
E318 8D STA $0678 PC:E319 A:3F X:78 Y:66 P:25 SP:FB CYC:283 SL:118
E31B 20 JSR $F947 PC:E31C A:3F X:78 Y:66 P:25 SP:FB CYC:295 SL:118
F947 B8 CLV PC:F948 A:3F X:78 Y:66 P:25 SP:F9 CYC:313 SL:118
F948 38 SEC PC:F949 A:3F X:78 Y:66 P:25 SP:F9 CYC:319 SL:118
F949 A9 LDA #$40 PC:F94A A:3F X:78 Y:66 P:25 SP:F9 CYC:325 SL:118
F94B 60 RTS PC:F94C A:40 X:78 Y:66 P:25 SP:F9 CYC:331 SL:118
E31E FD SBC $0600,x PC:E31F A:40 X:78 Y:66 P:25 SP:FB CYC:8 SL:119
E321 20 JSR $F94C PC:E322 A:01 X:78 Y:66 P:25 SP:FB CYC:20 SL:119
F94C F0 BEQ $F959 PC:F94D A:01 X:78 Y:66 P:25 SP:F9 CYC:38 SL:119
F94E 30 BMI $F959 PC:F94F A:01 X:78 Y:66 P:25 SP:F9 CYC:44 SL:119
F950 90 BCC $F959 PC:F951 A:01 X:78 Y:66 P:25 SP:F9 CYC:50 SL:119
F952 70 BVS $F959 PC:F953 A:01 X:78 Y:66 P:25 SP:F9 CYC:56 SL:119
F954 C9 CMP #$01 PC:F955 A:01 X:78 Y:66 P:25 SP:F9 CYC:62 SL:119
F956 D0 BNE $F959 PC:F957 A:01 X:78 Y:66 P:27 SP:F9 CYC:68 SL:119
F958 60 RTS PC:F959 A:01 X:78 Y:66 P:27 SP:F9 CYC:74 SL:119
E324 C8 INY PC:E325 A:01 X:78 Y:66 P:27 SP:FB CYC:92 SL:119
E325 A9 LDA #$41 PC:E326 A:01 X:78 Y:67 P:25 SP:FB CYC:98 SL:119
E327 8D STA $0678 PC:E328 A:41 X:78 Y:67 P:25 SP:FB CYC:104 SL:119
E32A 20 JSR $F95C PC:E32B A:41 X:78 Y:67 P:25 SP:FB CYC:116 SL:119
F95C A9 LDA #$40 PC:F95D A:41 X:78 Y:67 P:25 SP:F9 CYC:134 SL:119
F95E 38 SEC PC:F95F A:40 X:78 Y:67 P:25 SP:F9 CYC:140 SL:119
F95F 24 BIT $01 PC:F960 A:40 X:78 Y:67 P:25 SP:F9 CYC:146 SL:119
F961 60 RTS PC:F962 A:40 X:78 Y:67 P:E5 SP:F9 CYC:155 SL:119
E32D FD SBC $0600,x PC:E32E A:40 X:78 Y:67 P:E5 SP:FB CYC:173 SL:119
E330 20 JSR $F962 PC:E331 A:FF X:78 Y:67 P:A4 SP:FB CYC:185 SL:119
F962 B0 BCS $F96F PC:F963 A:FF X:78 Y:67 P:A4 SP:F9 CYC:203 SL:119
F964 F0 BEQ $F96F PC:F965 A:FF X:78 Y:67 P:A4 SP:F9 CYC:209 SL:119
F966 10 BPL $F96F PC:F967 A:FF X:78 Y:67 P:A4 SP:F9 CYC:215 SL:119
F968 70 BVS $F96F PC:F969 A:FF X:78 Y:67 P:A4 SP:F9 CYC:221 SL:119
F96A C9 CMP #$FF PC:F96B A:FF X:78 Y:67 P:A4 SP:F9 CYC:227 SL:119
F96C D0 BNE $F96F PC:F96D A:FF X:78 Y:67 P:27 SP:F9 CYC:233 SL:119
F96E 60 RTS PC:F96F A:FF X:78 Y:67 P:27 SP:F9 CYC:239 SL:119
E333 C8 INY PC:E334 A:FF X:78 Y:67 P:27 SP:FB CYC:257 SL:119
E334 A9 LDA #$00 PC:E335 A:FF X:78 Y:68 P:25 SP:FB CYC:263 SL:119
E336 8D STA $0678 PC:E337 A:00 X:78 Y:68 P:27 SP:FB CYC:269 SL:119
E339 20 JSR $F972 PC:E33A A:00 X:78 Y:68 P:27 SP:FB CYC:281 SL:119
F972 18 CLC PC:F973 A:00 X:78 Y:68 P:27 SP:F9 CYC:299 SL:119
F973 A9 LDA #$80 PC:F974 A:00 X:78 Y:68 P:26 SP:F9 CYC:305 SL:119
F975 60 RTS PC:F976 A:80 X:78 Y:68 P:A4 SP:F9 CYC:311 SL:119
E33C FD SBC $0600,x PC:E33D A:80 X:78 Y:68 P:A4 SP:FB CYC:329 SL:119
E33F 20 JSR $F976 PC:E340 A:7F X:78 Y:68 P:65 SP:FB CYC:0 SL:120
F976 90 BCC $F97D PC:F977 A:7F X:78 Y:68 P:65 SP:F9 CYC:18 SL:120
F978 C9 CMP #$7F PC:F979 A:7F X:78 Y:68 P:65 SP:F9 CYC:24 SL:120
F97A D0 BNE $F97D PC:F97B A:7F X:78 Y:68 P:67 SP:F9 CYC:30 SL:120
F97C 60 RTS PC:F97D A:7F X:78 Y:68 P:67 SP:F9 CYC:36 SL:120
E342 C8 INY PC:E343 A:7F X:78 Y:68 P:67 SP:FB CYC:54 SL:120
E343 A9 LDA #$7F PC:E344 A:7F X:78 Y:69 P:65 SP:FB CYC:60 SL:120
E345 8D STA $0678 PC:E346 A:7F X:78 Y:69 P:65 SP:FB CYC:66 SL:120
E348 20 JSR $F980 PC:E349 A:7F X:78 Y:69 P:65 SP:FB CYC:78 SL:120
F980 38 SEC PC:F981 A:7F X:78 Y:69 P:65 SP:F9 CYC:96 SL:120
F981 A9 LDA #$81 PC:F982 A:7F X:78 Y:69 P:65 SP:F9 CYC:102 SL:120
F983 60 RTS PC:F984 A:81 X:78 Y:69 P:E5 SP:F9 CYC:108 SL:120
E34B FD SBC $0600,x PC:E34C A:81 X:78 Y:69 P:E5 SP:FB CYC:126 SL:120
E34E 20 JSR $F984 PC:E34F A:02 X:78 Y:69 P:65 SP:FB CYC:138 SL:120
F984 50 BVC $F98D PC:F985 A:02 X:78 Y:69 P:65 SP:F9 CYC:156 SL:120
F986 90 BCC $F98D PC:F987 A:02 X:78 Y:69 P:65 SP:F9 CYC:162 SL:120
F988 C9 CMP #$02 PC:F989 A:02 X:78 Y:69 P:65 SP:F9 CYC:168 SL:120
F98A D0 BNE $F98D PC:F98B A:02 X:78 Y:69 P:67 SP:F9 CYC:174 SL:120
F98C 60 RTS PC:F98D A:02 X:78 Y:69 P:67 SP:F9 CYC:180 SL:120
E351 A9 LDA #$AA PC:E352 A:02 X:78 Y:69 P:67 SP:FB CYC:198 SL:120
E353 8D STA $0633 PC:E354 A:AA X:78 Y:69 P:E5 SP:FB CYC:204 SL:120
E356 A9 LDA #$BB PC:E357 A:AA X:78 Y:69 P:E5 SP:FB CYC:216 SL:120
E358 8D STA $0689 PC:E359 A:BB X:78 Y:69 P:E5 SP:FB CYC:222 SL:120
E35B A2 LDX #$00 PC:E35C A:BB X:78 Y:69 P:E5 SP:FB CYC:234 SL:120
E35D A0 LDY #$66 PC:E35E A:BB X:00 Y:69 P:67 SP:FB CYC:240 SL:120
E35F 24 BIT $01 PC:E360 A:BB X:00 Y:66 P:65 SP:FB CYC:246 SL:120
E361 38 SEC PC:E362 A:BB X:00 Y:66 P:E5 SP:FB CYC:255 SL:120
E362 A9 LDA #$00 PC:E363 A:BB X:00 Y:66 P:E5 SP:FB CYC:261 SL:120
E364 BD LDA $0633,x PC:E365 A:00 X:00 Y:66 P:67 SP:FB CYC:267 SL:120
E367 10 BPL $E37B PC:E368 A:AA X:00 Y:66 P:E5 SP:FB CYC:279 SL:120
E369 F0 BEQ $E37B PC:E36A A:AA X:00 Y:66 P:E5 SP:FB CYC:285 SL:120
E36B 50 BVC $E37B PC:E36C A:AA X:00 Y:66 P:E5 SP:FB CYC:291 SL:120
E36D 90 BCC $E37B PC:E36E A:AA X:00 Y:66 P:E5 SP:FB CYC:297 SL:120
E36F C0 CPY #$66 PC:E370 A:AA X:00 Y:66 P:E5 SP:FB CYC:303 SL:120
E371 D0 BNE $E37B PC:E372 A:AA X:00 Y:66 P:67 SP:FB CYC:309 SL:120
E373 E0 CPX #$00 PC:E374 A:AA X:00 Y:66 P:67 SP:FB CYC:315 SL:120
E375 D0 BNE $E37B PC:E376 A:AA X:00 Y:66 P:67 SP:FB CYC:321 SL:120
E377 C9 CMP #$AA PC:E378 A:AA X:00 Y:66 P:67 SP:FB CYC:327 SL:120
E379 F0 BEQ $E37F PC:E37A A:AA X:00 Y:66 P:67 SP:FB CYC:333 SL:120
E37F A2 LDX #$8A PC:E380 A:AA X:00 Y:66 P:67 SP:FB CYC:1 SL:121
E381 A0 LDY #$66 PC:E382 A:AA X:8A Y:66 P:E5 SP:FB CYC:7 SL:121
E383 B8 CLV PC:E384 A:AA X:8A Y:66 P:65 SP:FB CYC:13 SL:121
E384 18 CLC PC:E385 A:AA X:8A Y:66 P:25 SP:FB CYC:19 SL:121
E385 A9 LDA #$00 PC:E386 A:AA X:8A Y:66 P:24 SP:FB CYC:25 SL:121
E387 BD LDA $05FF,x PC:E388 A:00 X:8A Y:66 P:26 SP:FB CYC:31 SL:121
E38A 10 BPL $E39E PC:E38B A:BB X:8A Y:66 P:A4 SP:FB CYC:46 SL:121
E38C F0 BEQ $E39E PC:E38D A:BB X:8A Y:66 P:A4 SP:FB CYC:52 SL:121
E38E 70 BVS $E39E PC:E38F A:BB X:8A Y:66 P:A4 SP:FB CYC:58 SL:121
E390 B0 BCS $E39E PC:E391 A:BB X:8A Y:66 P:A4 SP:FB CYC:64 SL:121
E392 C9 CMP #$BB PC:E393 A:BB X:8A Y:66 P:A4 SP:FB CYC:70 SL:121
E394 D0 BNE $E39E PC:E395 A:BB X:8A Y:66 P:27 SP:FB CYC:76 SL:121
E396 C0 CPY #$66 PC:E397 A:BB X:8A Y:66 P:27 SP:FB CYC:82 SL:121
E398 D0 BNE $E39E PC:E399 A:BB X:8A Y:66 P:27 SP:FB CYC:88 SL:121
E39A E0 CPX #$8A PC:E39B A:BB X:8A Y:66 P:27 SP:FB CYC:94 SL:121
E39C F0 BEQ $E3A2 PC:E39D A:BB X:8A Y:66 P:27 SP:FB CYC:100 SL:121
E3A2 24 BIT $01 PC:E3A3 A:BB X:8A Y:66 P:27 SP:FB CYC:109 SL:121
E3A4 38 SEC PC:E3A5 A:BB X:8A Y:66 P:E5 SP:FB CYC:118 SL:121
E3A5 A9 LDA #$44 PC:E3A6 A:BB X:8A Y:66 P:E5 SP:FB CYC:124 SL:121
E3A7 A2 LDX #$00 PC:E3A8 A:44 X:8A Y:66 P:65 SP:FB CYC:130 SL:121
E3A9 9D STA $0633,x PC:E3AA A:44 X:00 Y:66 P:67 SP:FB CYC:136 SL:121
E3AC AD LDA $0633 PC:E3AD A:44 X:00 Y:66 P:67 SP:FB CYC:151 SL:121
E3AF 90 BCC $E3CB PC:E3B0 A:44 X:00 Y:66 P:65 SP:FB CYC:163 SL:121
E3B1 C9 CMP #$44 PC:E3B2 A:44 X:00 Y:66 P:65 SP:FB CYC:169 SL:121
E3B3 D0 BNE $E3CB PC:E3B4 A:44 X:00 Y:66 P:67 SP:FB CYC:175 SL:121
E3B5 50 BVC $E3CB PC:E3B6 A:44 X:00 Y:66 P:67 SP:FB CYC:181 SL:121
E3B7 18 CLC PC:E3B8 A:44 X:00 Y:66 P:67 SP:FB CYC:187 SL:121
E3B8 B8 CLV PC:E3B9 A:44 X:00 Y:66 P:66 SP:FB CYC:193 SL:121
E3B9 A9 LDA #$99 PC:E3BA A:44 X:00 Y:66 P:26 SP:FB CYC:199 SL:121
E3BB A2 LDX #$80 PC:E3BC A:99 X:00 Y:66 P:A4 SP:FB CYC:205 SL:121
E3BD 9D STA $0585,x PC:E3BE A:99 X:80 Y:66 P:A4 SP:FB CYC:211 SL:121
E3C0 AD LDA $0605 PC:E3C1 A:99 X:80 Y:66 P:A4 SP:FB CYC:226 SL:121
E3C3 B0 BCS $E3CB PC:E3C4 A:99 X:80 Y:66 P:A4 SP:FB CYC:238 SL:121
E3C5 C9 CMP #$99 PC:E3C6 A:99 X:80 Y:66 P:A4 SP:FB CYC:244 SL:121
E3C7 D0 BNE $E3CB PC:E3C8 A:99 X:80 Y:66 P:27 SP:FB CYC:250 SL:121
E3C9 50 BVC $E3CF PC:E3CA A:99 X:80 Y:66 P:27 SP:FB CYC:256 SL:121
E3CF A0 LDY #$6D PC:E3D0 A:99 X:80 Y:66 P:27 SP:FB CYC:265 SL:121
E3D1 A2 LDX #$6D PC:E3D2 A:99 X:80 Y:6D P:25 SP:FB CYC:271 SL:121
E3D3 20 JSR $F990 PC:E3D4 A:99 X:6D Y:6D P:25 SP:FB CYC:277 SL:121
F990 A2 LDX #$55 PC:F991 A:99 X:6D Y:6D P:25 SP:F9 CYC:295 SL:121
F992 A9 LDA #$FF PC:F993 A:99 X:55 Y:6D P:25 SP:F9 CYC:301 SL:121
F994 85 STA $01 PC:F995 A:FF X:55 Y:6D P:A5 SP:F9 CYC:307 SL:121
F996 EA NOP PC:F997 A:FF X:55 Y:6D P:A5 SP:F9 CYC:316 SL:121
F997 24 BIT $01 PC:F998 A:FF X:55 Y:6D P:A5 SP:F9 CYC:322 SL:121
F999 38 SEC PC:F99A A:FF X:55 Y:6D P:E5 SP:F9 CYC:331 SL:121
F99A A9 LDA #$01 PC:F99B A:FF X:55 Y:6D P:E5 SP:F9 CYC:337 SL:121
F99C 60 RTS PC:F99D A:01 X:55 Y:6D P:65 SP:F9 CYC:2 SL:122
E3D6 9D STA $0600,x PC:E3D7 A:01 X:55 Y:6D P:65 SP:FB CYC:20 SL:122
E3D9 5E LSR $0600,x PC:E3DA A:01 X:55 Y:6D P:65 SP:FB CYC:35 SL:122
E3DC BD LDA $0600,x PC:E3DD A:01 X:55 Y:6D P:67 SP:FB CYC:56 SL:122
E3DF 20 JSR $F99D PC:E3E0 A:00 X:55 Y:6D P:67 SP:FB CYC:68 SL:122
F99D 90 BCC $F9BA PC:F99E A:00 X:55 Y:6D P:67 SP:F9 CYC:86 SL:122
F99F D0 BNE $F9BA PC:F9A0 A:00 X:55 Y:6D P:67 SP:F9 CYC:92 SL:122
F9A1 30 BMI $F9BA PC:F9A2 A:00 X:55 Y:6D P:67 SP:F9 CYC:98 SL:122
F9A3 50 BVC $F9BA PC:F9A4 A:00 X:55 Y:6D P:67 SP:F9 CYC:104 SL:122
F9A5 C9 CMP #$00 PC:F9A6 A:00 X:55 Y:6D P:67 SP:F9 CYC:110 SL:122
F9A7 D0 BNE $F9BA PC:F9A8 A:00 X:55 Y:6D P:67 SP:F9 CYC:116 SL:122
F9A9 B8 CLV PC:F9AA A:00 X:55 Y:6D P:67 SP:F9 CYC:122 SL:122
F9AA A9 LDA #$AA PC:F9AB A:00 X:55 Y:6D P:27 SP:F9 CYC:128 SL:122
F9AC 60 RTS PC:F9AD A:AA X:55 Y:6D P:A5 SP:F9 CYC:134 SL:122
E3E2 C8 INY PC:E3E3 A:AA X:55 Y:6D P:A5 SP:FB CYC:152 SL:122
E3E3 9D STA $0600,x PC:E3E4 A:AA X:55 Y:6E P:25 SP:FB CYC:158 SL:122
E3E6 5E LSR $0600,x PC:E3E7 A:AA X:55 Y:6E P:25 SP:FB CYC:173 SL:122
E3E9 BD LDA $0600,x PC:E3EA A:AA X:55 Y:6E P:24 SP:FB CYC:194 SL:122
E3EC 20 JSR $F9AD PC:E3ED A:55 X:55 Y:6E P:24 SP:FB CYC:206 SL:122
F9AD B0 BCS $F9BA PC:F9AE A:55 X:55 Y:6E P:24 SP:F9 CYC:224 SL:122
F9AF F0 BEQ $F9BA PC:F9B0 A:55 X:55 Y:6E P:24 SP:F9 CYC:230 SL:122
F9B1 30 BMI $F9BA PC:F9B2 A:55 X:55 Y:6E P:24 SP:F9 CYC:236 SL:122
F9B3 70 BVS $F9BA PC:F9B4 A:55 X:55 Y:6E P:24 SP:F9 CYC:242 SL:122
F9B5 C9 CMP #$55 PC:F9B6 A:55 X:55 Y:6E P:24 SP:F9 CYC:248 SL:122
F9B7 D0 BNE $F9BA PC:F9B8 A:55 X:55 Y:6E P:27 SP:F9 CYC:254 SL:122
F9B9 60 RTS PC:F9BA A:55 X:55 Y:6E P:27 SP:F9 CYC:260 SL:122
E3EF C8 INY PC:E3F0 A:55 X:55 Y:6E P:27 SP:FB CYC:278 SL:122
E3F0 20 JSR $F9BD PC:E3F1 A:55 X:55 Y:6F P:25 SP:FB CYC:284 SL:122
F9BD 24 BIT $01 PC:F9BE A:55 X:55 Y:6F P:25 SP:F9 CYC:302 SL:122
F9BF 38 SEC PC:F9C0 A:55 X:55 Y:6F P:E5 SP:F9 CYC:311 SL:122
F9C0 A9 LDA #$80 PC:F9C1 A:55 X:55 Y:6F P:E5 SP:F9 CYC:317 SL:122
F9C2 60 RTS PC:F9C3 A:80 X:55 Y:6F P:E5 SP:F9 CYC:323 SL:122
E3F3 9D STA $0600,x PC:E3F4 A:80 X:55 Y:6F P:E5 SP:FB CYC:0 SL:123
E3F6 1E ASL $0600,x PC:E3F7 A:80 X:55 Y:6F P:E5 SP:FB CYC:15 SL:123
E3F9 BD LDA $0600,x PC:E3FA A:80 X:55 Y:6F P:67 SP:FB CYC:36 SL:123
E3FC 20 JSR $F9C3 PC:E3FD A:00 X:55 Y:6F P:67 SP:FB CYC:48 SL:123
F9C3 90 BCC $F9E1 PC:F9C4 A:00 X:55 Y:6F P:67 SP:F9 CYC:66 SL:123
F9C5 D0 BNE $F9E1 PC:F9C6 A:00 X:55 Y:6F P:67 SP:F9 CYC:72 SL:123
F9C7 30 BMI $F9E1 PC:F9C8 A:00 X:55 Y:6F P:67 SP:F9 CYC:78 SL:123
F9C9 50 BVC $F9E1 PC:F9CA A:00 X:55 Y:6F P:67 SP:F9 CYC:84 SL:123
F9CB C9 CMP #$00 PC:F9CC A:00 X:55 Y:6F P:67 SP:F9 CYC:90 SL:123
F9CD D0 BNE $F9E1 PC:F9CE A:00 X:55 Y:6F P:67 SP:F9 CYC:96 SL:123
F9CF B8 CLV PC:F9D0 A:00 X:55 Y:6F P:67 SP:F9 CYC:102 SL:123
F9D0 A9 LDA #$55 PC:F9D1 A:00 X:55 Y:6F P:27 SP:F9 CYC:108 SL:123
F9D2 38 SEC PC:F9D3 A:55 X:55 Y:6F P:25 SP:F9 CYC:114 SL:123
F9D3 60 RTS PC:F9D4 A:55 X:55 Y:6F P:25 SP:F9 CYC:120 SL:123
E3FF C8 INY PC:E400 A:55 X:55 Y:6F P:25 SP:FB CYC:138 SL:123
E400 9D STA $0600,x PC:E401 A:55 X:55 Y:70 P:25 SP:FB CYC:144 SL:123
E403 1E ASL $0600,x PC:E404 A:55 X:55 Y:70 P:25 SP:FB CYC:159 SL:123
E406 BD LDA $0600,x PC:E407 A:55 X:55 Y:70 P:A4 SP:FB CYC:180 SL:123
E409 20 JSR $F9D4 PC:E40A A:AA X:55 Y:70 P:A4 SP:FB CYC:192 SL:123
F9D4 B0 BCS $F9E1 PC:F9D5 A:AA X:55 Y:70 P:A4 SP:F9 CYC:210 SL:123
F9D6 F0 BEQ $F9E1 PC:F9D7 A:AA X:55 Y:70 P:A4 SP:F9 CYC:216 SL:123
F9D8 10 BPL $F9E1 PC:F9D9 A:AA X:55 Y:70 P:A4 SP:F9 CYC:222 SL:123
F9DA 70 BVS $F9E1 PC:F9DB A:AA X:55 Y:70 P:A4 SP:F9 CYC:228 SL:123
F9DC C9 CMP #$AA PC:F9DD A:AA X:55 Y:70 P:A4 SP:F9 CYC:234 SL:123
F9DE D0 BNE $F9E1 PC:F9DF A:AA X:55 Y:70 P:27 SP:F9 CYC:240 SL:123
F9E0 60 RTS PC:F9E1 A:AA X:55 Y:70 P:27 SP:F9 CYC:246 SL:123
E40C C8 INY PC:E40D A:AA X:55 Y:70 P:27 SP:FB CYC:264 SL:123
E40D 20 JSR $F9E4 PC:E40E A:AA X:55 Y:71 P:25 SP:FB CYC:270 SL:123
F9E4 24 BIT $01 PC:F9E5 A:AA X:55 Y:71 P:25 SP:F9 CYC:288 SL:123
F9E6 38 SEC PC:F9E7 A:AA X:55 Y:71 P:E5 SP:F9 CYC:297 SL:123
F9E7 A9 LDA #$01 PC:F9E8 A:AA X:55 Y:71 P:E5 SP:F9 CYC:303 SL:123
F9E9 60 RTS PC:F9EA A:01 X:55 Y:71 P:65 SP:F9 CYC:309 SL:123
E410 9D STA $0600,x PC:E411 A:01 X:55 Y:71 P:65 SP:FB CYC:327 SL:123
E413 7E ROR $0600,x PC:E414 A:01 X:55 Y:71 P:65 SP:FB CYC:1 SL:124
E416 BD LDA $0600,x PC:E417 A:01 X:55 Y:71 P:E5 SP:FB CYC:22 SL:124
E419 20 JSR $F9EA PC:E41A A:80 X:55 Y:71 P:E5 SP:FB CYC:34 SL:124
F9EA 90 BCC $FA08 PC:F9EB A:80 X:55 Y:71 P:E5 SP:F9 CYC:52 SL:124
F9EC F0 BEQ $FA08 PC:F9ED A:80 X:55 Y:71 P:E5 SP:F9 CYC:58 SL:124
F9EE 10 BPL $FA08 PC:F9EF A:80 X:55 Y:71 P:E5 SP:F9 CYC:64 SL:124
F9F0 50 BVC $FA08 PC:F9F1 A:80 X:55 Y:71 P:E5 SP:F9 CYC:70 SL:124
F9F2 C9 CMP #$80 PC:F9F3 A:80 X:55 Y:71 P:E5 SP:F9 CYC:76 SL:124
F9F4 D0 BNE $FA08 PC:F9F5 A:80 X:55 Y:71 P:67 SP:F9 CYC:82 SL:124
F9F6 B8 CLV PC:F9F7 A:80 X:55 Y:71 P:67 SP:F9 CYC:88 SL:124
F9F7 18 CLC PC:F9F8 A:80 X:55 Y:71 P:27 SP:F9 CYC:94 SL:124
F9F8 A9 LDA #$55 PC:F9F9 A:80 X:55 Y:71 P:26 SP:F9 CYC:100 SL:124
F9FA 60 RTS PC:F9FB A:55 X:55 Y:71 P:24 SP:F9 CYC:106 SL:124
E41C C8 INY PC:E41D A:55 X:55 Y:71 P:24 SP:FB CYC:124 SL:124
E41D 9D STA $0600,x PC:E41E A:55 X:55 Y:72 P:24 SP:FB CYC:130 SL:124
E420 7E ROR $0600,x PC:E421 A:55 X:55 Y:72 P:24 SP:FB CYC:145 SL:124
E423 BD LDA $0600,x PC:E424 A:55 X:55 Y:72 P:25 SP:FB CYC:166 SL:124
E426 20 JSR $F9FB PC:E427 A:2A X:55 Y:72 P:25 SP:FB CYC:178 SL:124
F9FB 90 BCC $FA08 PC:F9FC A:2A X:55 Y:72 P:25 SP:F9 CYC:196 SL:124
F9FD F0 BEQ $FA08 PC:F9FE A:2A X:55 Y:72 P:25 SP:F9 CYC:202 SL:124
F9FF 30 BMI $FA08 PC:FA00 A:2A X:55 Y:72 P:25 SP:F9 CYC:208 SL:124
FA01 70 BVS $FA08 PC:FA02 A:2A X:55 Y:72 P:25 SP:F9 CYC:214 SL:124
FA03 C9 CMP #$2A PC:FA04 A:2A X:55 Y:72 P:25 SP:F9 CYC:220 SL:124
FA05 D0 BNE $FA08 PC:FA06 A:2A X:55 Y:72 P:27 SP:F9 CYC:226 SL:124
FA07 60 RTS PC:FA08 A:2A X:55 Y:72 P:27 SP:F9 CYC:232 SL:124
E429 C8 INY PC:E42A A:2A X:55 Y:72 P:27 SP:FB CYC:250 SL:124
E42A 20 JSR $FA0A PC:E42B A:2A X:55 Y:73 P:25 SP:FB CYC:256 SL:124
FA0A 24 BIT $01 PC:FA0B A:2A X:55 Y:73 P:25 SP:F9 CYC:274 SL:124
FA0C 38 SEC PC:FA0D A:2A X:55 Y:73 P:E5 SP:F9 CYC:283 SL:124
FA0D A9 LDA #$80 PC:FA0E A:2A X:55 Y:73 P:E5 SP:F9 CYC:289 SL:124
FA0F 60 RTS PC:FA10 A:80 X:55 Y:73 P:E5 SP:F9 CYC:295 SL:124
E42D 9D STA $0600,x PC:E42E A:80 X:55 Y:73 P:E5 SP:FB CYC:313 SL:124
E430 3E ROL $0600,x PC:E431 A:80 X:55 Y:73 P:E5 SP:FB CYC:328 SL:124
E433 BD LDA $0600,x PC:E434 A:80 X:55 Y:73 P:65 SP:FB CYC:8 SL:125
E436 20 JSR $FA10 PC:E437 A:01 X:55 Y:73 P:65 SP:FB CYC:20 SL:125
FA10 90 BCC $FA2E PC:FA11 A:01 X:55 Y:73 P:65 SP:F9 CYC:38 SL:125
FA12 F0 BEQ $FA2E PC:FA13 A:01 X:55 Y:73 P:65 SP:F9 CYC:44 SL:125
FA14 30 BMI $FA2E PC:FA15 A:01 X:55 Y:73 P:65 SP:F9 CYC:50 SL:125
FA16 50 BVC $FA2E PC:FA17 A:01 X:55 Y:73 P:65 SP:F9 CYC:56 SL:125
FA18 C9 CMP #$01 PC:FA19 A:01 X:55 Y:73 P:65 SP:F9 CYC:62 SL:125
FA1A D0 BNE $FA2E PC:FA1B A:01 X:55 Y:73 P:67 SP:F9 CYC:68 SL:125
FA1C B8 CLV PC:FA1D A:01 X:55 Y:73 P:67 SP:F9 CYC:74 SL:125
FA1D 18 CLC PC:FA1E A:01 X:55 Y:73 P:27 SP:F9 CYC:80 SL:125
FA1E A9 LDA #$55 PC:FA1F A:01 X:55 Y:73 P:26 SP:F9 CYC:86 SL:125
FA20 60 RTS PC:FA21 A:55 X:55 Y:73 P:24 SP:F9 CYC:92 SL:125
E439 C8 INY PC:E43A A:55 X:55 Y:73 P:24 SP:FB CYC:110 SL:125
E43A 9D STA $0600,x PC:E43B A:55 X:55 Y:74 P:24 SP:FB CYC:116 SL:125
E43D 3E ROL $0600,x PC:E43E A:55 X:55 Y:74 P:24 SP:FB CYC:131 SL:125
E440 BD LDA $0600,x PC:E441 A:55 X:55 Y:74 P:A4 SP:FB CYC:152 SL:125
E443 20 JSR $FA21 PC:E444 A:AA X:55 Y:74 P:A4 SP:FB CYC:164 SL:125
FA21 B0 BCS $FA2E PC:FA22 A:AA X:55 Y:74 P:A4 SP:F9 CYC:182 SL:125
FA23 F0 BEQ $FA2E PC:FA24 A:AA X:55 Y:74 P:A4 SP:F9 CYC:188 SL:125
FA25 10 BPL $FA2E PC:FA26 A:AA X:55 Y:74 P:A4 SP:F9 CYC:194 SL:125
FA27 70 BVS $FA2E PC:FA28 A:AA X:55 Y:74 P:A4 SP:F9 CYC:200 SL:125
FA29 C9 CMP #$AA PC:FA2A A:AA X:55 Y:74 P:A4 SP:F9 CYC:206 SL:125
FA2B D0 BNE $FA2E PC:FA2C A:AA X:55 Y:74 P:27 SP:F9 CYC:212 SL:125
FA2D 60 RTS PC:FA2E A:AA X:55 Y:74 P:27 SP:F9 CYC:218 SL:125
E446 A9 LDA #$FF PC:E447 A:AA X:55 Y:74 P:27 SP:FB CYC:236 SL:125
E448 9D STA $0600,x PC:E449 A:FF X:55 Y:74 P:A5 SP:FB CYC:242 SL:125
E44B 85 STA $01 PC:E44C A:FF X:55 Y:74 P:A5 SP:FB CYC:257 SL:125
E44D 24 BIT $01 PC:E44E A:FF X:55 Y:74 P:A5 SP:FB CYC:266 SL:125
E44F 38 SEC PC:E450 A:FF X:55 Y:74 P:E5 SP:FB CYC:275 SL:125
E450 FE INC $0600,x PC:E451 A:FF X:55 Y:74 P:E5 SP:FB CYC:281 SL:125
E453 D0 BNE $E462 PC:E454 A:FF X:55 Y:74 P:67 SP:FB CYC:302 SL:125
E455 30 BMI $E462 PC:E456 A:FF X:55 Y:74 P:67 SP:FB CYC:308 SL:125
E457 50 BVC $E462 PC:E458 A:FF X:55 Y:74 P:67 SP:FB CYC:314 SL:125
E459 90 BCC $E462 PC:E45A A:FF X:55 Y:74 P:67 SP:FB CYC:320 SL:125
E45B BD LDA $0600,x PC:E45C A:FF X:55 Y:74 P:67 SP:FB CYC:326 SL:125
E45E C9 CMP #$00 PC:E45F A:00 X:55 Y:74 P:67 SP:FB CYC:338 SL:125
E460 F0 BEQ $E466 PC:E461 A:00 X:55 Y:74 P:67 SP:FB CYC:3 SL:126
E466 A9 LDA #$7F PC:E467 A:00 X:55 Y:74 P:67 SP:FB CYC:12 SL:126
E468 9D STA $0600,x PC:E469 A:7F X:55 Y:74 P:65 SP:FB CYC:18 SL:126
E46B B8 CLV PC:E46C A:7F X:55 Y:74 P:65 SP:FB CYC:33 SL:126
E46C 18 CLC PC:E46D A:7F X:55 Y:74 P:25 SP:FB CYC:39 SL:126
E46D FE INC $0600,x PC:E46E A:7F X:55 Y:74 P:24 SP:FB CYC:45 SL:126
E470 F0 BEQ $E47F PC:E471 A:7F X:55 Y:74 P:A4 SP:FB CYC:66 SL:126
E472 10 BPL $E47F PC:E473 A:7F X:55 Y:74 P:A4 SP:FB CYC:72 SL:126
E474 70 BVS $E47F PC:E475 A:7F X:55 Y:74 P:A4 SP:FB CYC:78 SL:126
E476 B0 BCS $E47F PC:E477 A:7F X:55 Y:74 P:A4 SP:FB CYC:84 SL:126
E478 BD LDA $0600,x PC:E479 A:7F X:55 Y:74 P:A4 SP:FB CYC:90 SL:126
E47B C9 CMP #$80 PC:E47C A:80 X:55 Y:74 P:A4 SP:FB CYC:102 SL:126
E47D F0 BEQ $E483 PC:E47E A:80 X:55 Y:74 P:27 SP:FB CYC:108 SL:126
E483 A9 LDA #$00 PC:E484 A:80 X:55 Y:74 P:27 SP:FB CYC:117 SL:126
E485 9D STA $0600,x PC:E486 A:00 X:55 Y:74 P:27 SP:FB CYC:123 SL:126
E488 24 BIT $01 PC:E489 A:00 X:55 Y:74 P:27 SP:FB CYC:138 SL:126
E48A 38 SEC PC:E48B A:00 X:55 Y:74 P:E7 SP:FB CYC:147 SL:126
E48B DE DEC $0600,x PC:E48C A:00 X:55 Y:74 P:E7 SP:FB CYC:153 SL:126
E48E F0 BEQ $E49D PC:E48F A:00 X:55 Y:74 P:E5 SP:FB CYC:174 SL:126
E490 10 BPL $E49D PC:E491 A:00 X:55 Y:74 P:E5 SP:FB CYC:180 SL:126
E492 50 BVC $E49D PC:E493 A:00 X:55 Y:74 P:E5 SP:FB CYC:186 SL:126
E494 90 BCC $E49D PC:E495 A:00 X:55 Y:74 P:E5 SP:FB CYC:192 SL:126
E496 BD LDA $0600,x PC:E497 A:00 X:55 Y:74 P:E5 SP:FB CYC:198 SL:126
E499 C9 CMP #$FF PC:E49A A:FF X:55 Y:74 P:E5 SP:FB CYC:210 SL:126
E49B F0 BEQ $E4A1 PC:E49C A:FF X:55 Y:74 P:67 SP:FB CYC:216 SL:126
E4A1 A9 LDA #$80 PC:E4A2 A:FF X:55 Y:74 P:67 SP:FB CYC:225 SL:126
E4A3 9D STA $0600,x PC:E4A4 A:80 X:55 Y:74 P:E5 SP:FB CYC:231 SL:126
E4A6 B8 CLV PC:E4A7 A:80 X:55 Y:74 P:E5 SP:FB CYC:246 SL:126
E4A7 18 CLC PC:E4A8 A:80 X:55 Y:74 P:A5 SP:FB CYC:252 SL:126
E4A8 DE DEC $0600,x PC:E4A9 A:80 X:55 Y:74 P:A4 SP:FB CYC:258 SL:126
E4AB F0 BEQ $E4BA PC:E4AC A:80 X:55 Y:74 P:24 SP:FB CYC:279 SL:126
E4AD 30 BMI $E4BA PC:E4AE A:80 X:55 Y:74 P:24 SP:FB CYC:285 SL:126
E4AF 70 BVS $E4BA PC:E4B0 A:80 X:55 Y:74 P:24 SP:FB CYC:291 SL:126
E4B1 B0 BCS $E4BA PC:E4B2 A:80 X:55 Y:74 P:24 SP:FB CYC:297 SL:126
E4B3 BD LDA $0600,x PC:E4B4 A:80 X:55 Y:74 P:24 SP:FB CYC:303 SL:126
E4B6 C9 CMP #$7F PC:E4B7 A:7F X:55 Y:74 P:24 SP:FB CYC:315 SL:126
E4B8 F0 BEQ $E4BE PC:E4B9 A:7F X:55 Y:74 P:27 SP:FB CYC:321 SL:126
E4BE A9 LDA #$01 PC:E4BF A:7F X:55 Y:74 P:27 SP:FB CYC:330 SL:126
E4C0 9D STA $0600,x PC:E4C1 A:01 X:55 Y:74 P:25 SP:FB CYC:336 SL:126
E4C3 DE DEC $0600,x PC:E4C4 A:01 X:55 Y:74 P:25 SP:FB CYC:10 SL:127
E4C6 F0 BEQ $E4CC PC:E4C7 A:01 X:55 Y:74 P:27 SP:FB CYC:31 SL:127
E4CC A9 LDA #$33 PC:E4CD A:01 X:55 Y:74 P:27 SP:FB CYC:40 SL:127
E4CE 8D STA $0678 PC:E4CF A:33 X:55 Y:74 P:25 SP:FB CYC:46 SL:127
E4D1 A9 LDA #$44 PC:E4D2 A:33 X:55 Y:74 P:25 SP:FB CYC:58 SL:127
E4D3 A0 LDY #$78 PC:E4D4 A:44 X:55 Y:74 P:25 SP:FB CYC:64 SL:127
E4D5 A2 LDX #$00 PC:E4D6 A:44 X:55 Y:78 P:25 SP:FB CYC:70 SL:127
E4D7 38 SEC PC:E4D8 A:44 X:00 Y:78 P:27 SP:FB CYC:76 SL:127
E4D8 24 BIT $01 PC:E4D9 A:44 X:00 Y:78 P:27 SP:FB CYC:82 SL:127
E4DA BE LDX $0600,y PC:E4DB A:44 X:00 Y:78 P:E5 SP:FB CYC:91 SL:127
E4DD 90 BCC $E4F1 PC:E4DE A:44 X:33 Y:78 P:65 SP:FB CYC:103 SL:127
E4DF 50 BVC $E4F1 PC:E4E0 A:44 X:33 Y:78 P:65 SP:FB CYC:109 SL:127
E4E1 30 BMI $E4F1 PC:E4E2 A:44 X:33 Y:78 P:65 SP:FB CYC:115 SL:127
E4E3 F0 BEQ $E4F1 PC:E4E4 A:44 X:33 Y:78 P:65 SP:FB CYC:121 SL:127
E4E5 E0 CPX #$33 PC:E4E6 A:44 X:33 Y:78 P:65 SP:FB CYC:127 SL:127
E4E7 D0 BNE $E4F1 PC:E4E8 A:44 X:33 Y:78 P:67 SP:FB CYC:133 SL:127
E4E9 C0 CPY #$78 PC:E4EA A:44 X:33 Y:78 P:67 SP:FB CYC:139 SL:127
E4EB D0 BNE $E4F1 PC:E4EC A:44 X:33 Y:78 P:67 SP:FB CYC:145 SL:127
E4ED C9 CMP #$44 PC:E4EE A:44 X:33 Y:78 P:67 SP:FB CYC:151 SL:127
E4EF F0 BEQ $E4F5 PC:E4F0 A:44 X:33 Y:78 P:67 SP:FB CYC:157 SL:127
E4F5 A9 LDA #$97 PC:E4F6 A:44 X:33 Y:78 P:67 SP:FB CYC:166 SL:127
E4F7 8D STA $067F PC:E4F8 A:97 X:33 Y:78 P:E5 SP:FB CYC:172 SL:127
E4FA A9 LDA #$47 PC:E4FB A:97 X:33 Y:78 P:E5 SP:FB CYC:184 SL:127
E4FC A0 LDY #$FF PC:E4FD A:47 X:33 Y:78 P:65 SP:FB CYC:190 SL:127
E4FE A2 LDX #$00 PC:E4FF A:47 X:33 Y:FF P:E5 SP:FB CYC:196 SL:127
E500 18 CLC PC:E501 A:47 X:00 Y:FF P:67 SP:FB CYC:202 SL:127
E501 B8 CLV PC:E502 A:47 X:00 Y:FF P:66 SP:FB CYC:208 SL:127
E502 BE LDX $0580,y PC:E503 A:47 X:00 Y:FF P:26 SP:FB CYC:214 SL:127
E505 B0 BCS $E519 PC:E506 A:47 X:97 Y:FF P:A4 SP:FB CYC:229 SL:127
E507 70 BVS $E519 PC:E508 A:47 X:97 Y:FF P:A4 SP:FB CYC:235 SL:127
E509 10 BPL $E519 PC:E50A A:47 X:97 Y:FF P:A4 SP:FB CYC:241 SL:127
E50B F0 BEQ $E519 PC:E50C A:47 X:97 Y:FF P:A4 SP:FB CYC:247 SL:127
E50D E0 CPX #$97 PC:E50E A:47 X:97 Y:FF P:A4 SP:FB CYC:253 SL:127
E50F D0 BNE $E519 PC:E510 A:47 X:97 Y:FF P:27 SP:FB CYC:259 SL:127
E511 C0 CPY #$FF PC:E512 A:47 X:97 Y:FF P:27 SP:FB CYC:265 SL:127
E513 D0 BNE $E519 PC:E514 A:47 X:97 Y:FF P:27 SP:FB CYC:271 SL:127
E515 C9 CMP #$47 PC:E516 A:47 X:97 Y:FF P:27 SP:FB CYC:277 SL:127
E517 F0 BEQ $E51D PC:E518 A:47 X:97 Y:FF P:27 SP:FB CYC:283 SL:127
E51D 60 RTS PC:E51E A:47 X:97 Y:FF P:27 SP:FB CYC:292 SL:127
C62F 20 JSR $C6A3 PC:C630 A:47 X:97 Y:FF P:27 SP:FD CYC:310 SL:127
C6A3 A0 LDY #$4E PC:C6A4 A:47 X:97 Y:FF P:27 SP:FB CYC:328 SL:127
C6A5 A9 LDA #$FF PC:C6A6 A:47 X:97 Y:4E P:25 SP:FB CYC:334 SL:127
C6A7 85 STA $01 PC:C6A8 A:FF X:97 Y:4E P:A5 SP:FB CYC:340 SL:127
C6A9 20 JSR $C6B0 PC:C6AA A:FF X:97 Y:4E P:A5 SP:FB CYC:8 SL:128
C6B0 A9 LDA #$FF PC:C6B1 A:FF X:97 Y:4E P:A5 SP:F9 CYC:26 SL:128
C6B2 48 PHA PC:C6B3 A:FF X:97 Y:4E P:A5 SP:F9 CYC:32 SL:128
C6B3 A9 LDA #$AA PC:C6B4 A:FF X:97 Y:4E P:A5 SP:F8 CYC:41 SL:128
C6B5 D0 BNE $C6BC PC:C6B6 A:AA X:97 Y:4E P:A5 SP:F8 CYC:47 SL:128
C6BC 28 PLP PC:C6BD A:AA X:97 Y:4E P:A5 SP:F8 CYC:56 SL:128
C6BD 04 NOP $A9 PC:C6BE A:AA X:97 Y:4E P:EF SP:F9 CYC:68 SL:128
C6BF 44 NOP $A9 PC:C6C0 A:AA X:97 Y:4E P:EF SP:F9 CYC:77 SL:128
C6C1 64 NOP $A9 PC:C6C2 A:AA X:97 Y:4E P:EF SP:F9 CYC:86 SL:128
C6C3 EA NOP PC:C6C4 A:AA X:97 Y:4E P:EF SP:F9 CYC:95 SL:128
C6C4 EA NOP PC:C6C5 A:AA X:97 Y:4E P:EF SP:F9 CYC:101 SL:128
C6C5 EA NOP PC:C6C6 A:AA X:97 Y:4E P:EF SP:F9 CYC:107 SL:128
C6C6 EA NOP PC:C6C7 A:AA X:97 Y:4E P:EF SP:F9 CYC:113 SL:128
C6C7 08 PHP PC:C6C8 A:AA X:97 Y:4E P:EF SP:F9 CYC:119 SL:128
C6C8 48 PHA PC:C6C9 A:AA X:97 Y:4E P:EF SP:F8 CYC:128 SL:128
C6C9 0C NOP $A9A9 PC:C6CA A:AA X:97 Y:4E P:EF SP:F7 CYC:137 SL:128
C6CC EA NOP PC:C6CD A:AA X:97 Y:4E P:EF SP:F7 CYC:149 SL:128
C6CD EA NOP PC:C6CE A:AA X:97 Y:4E P:EF SP:F7 CYC:155 SL:128
C6CE EA NOP PC:C6CF A:AA X:97 Y:4E P:EF SP:F7 CYC:161 SL:128
C6CF EA NOP PC:C6D0 A:AA X:97 Y:4E P:EF SP:F7 CYC:167 SL:128
C6D0 08 PHP PC:C6D1 A:AA X:97 Y:4E P:EF SP:F7 CYC:173 SL:128
C6D1 48 PHA PC:C6D2 A:AA X:97 Y:4E P:EF SP:F6 CYC:182 SL:128
C6D2 14 NOP $A9,x PC:C6D3 A:AA X:97 Y:4E P:EF SP:F5 CYC:191 SL:128
C6D4 34 NOP $A9,x PC:C6D5 A:AA X:97 Y:4E P:EF SP:F5 CYC:203 SL:128
C6D6 54 NOP $A9,x PC:C6D7 A:AA X:97 Y:4E P:EF SP:F5 CYC:215 SL:128
C6D8 74 NOP $A9,x PC:C6D9 A:AA X:97 Y:4E P:EF SP:F5 CYC:227 SL:128
C6DA D4 NOP $A9,x PC:C6DB A:AA X:97 Y:4E P:EF SP:F5 CYC:239 SL:128
C6DC F4 NOP $A9,x PC:C6DD A:AA X:97 Y:4E P:EF SP:F5 CYC:251 SL:128
C6DE EA NOP PC:C6DF A:AA X:97 Y:4E P:EF SP:F5 CYC:263 SL:128
C6DF EA NOP PC:C6E0 A:AA X:97 Y:4E P:EF SP:F5 CYC:269 SL:128
C6E0 EA NOP PC:C6E1 A:AA X:97 Y:4E P:EF SP:F5 CYC:275 SL:128
C6E1 EA NOP PC:C6E2 A:AA X:97 Y:4E P:EF SP:F5 CYC:281 SL:128
C6E2 08 PHP PC:C6E3 A:AA X:97 Y:4E P:EF SP:F5 CYC:287 SL:128
C6E3 48 PHA PC:C6E4 A:AA X:97 Y:4E P:EF SP:F4 CYC:296 SL:128
C6E4 1A NOP PC:C6E5 A:AA X:97 Y:4E P:EF SP:F3 CYC:305 SL:128
C6E5 3A NOP PC:C6E6 A:AA X:97 Y:4E P:EF SP:F3 CYC:311 SL:128
C6E6 5A NOP PC:C6E7 A:AA X:97 Y:4E P:EF SP:F3 CYC:317 SL:128
C6E7 7A NOP PC:C6E8 A:AA X:97 Y:4E P:EF SP:F3 CYC:323 SL:128
C6E8 DA NOP PC:C6E9 A:AA X:97 Y:4E P:EF SP:F3 CYC:329 SL:128
C6E9 FA NOP PC:C6EA A:AA X:97 Y:4E P:EF SP:F3 CYC:335 SL:128
C6EA 80 NOP #$89 PC:C6EB A:AA X:97 Y:4E P:EF SP:F3 CYC:0 SL:129
C6EC EA NOP PC:C6ED A:AA X:97 Y:4E P:EF SP:F3 CYC:6 SL:129
C6ED EA NOP PC:C6EE A:AA X:97 Y:4E P:EF SP:F3 CYC:12 SL:129
C6EE EA NOP PC:C6EF A:AA X:97 Y:4E P:EF SP:F3 CYC:18 SL:129
C6EF EA NOP PC:C6F0 A:AA X:97 Y:4E P:EF SP:F3 CYC:24 SL:129
C6F0 08 PHP PC:C6F1 A:AA X:97 Y:4E P:EF SP:F3 CYC:30 SL:129
C6F1 48 PHA PC:C6F2 A:AA X:97 Y:4E P:EF SP:F2 CYC:39 SL:129
C6F2 1C NOP $A9A9,x PC:C6F3 A:AA X:97 Y:4E P:EF SP:F1 CYC:48 SL:129
C6F5 3C NOP $A9A9,x PC:C6F6 A:AA X:97 Y:4E P:EF SP:F1 CYC:63 SL:129
C6F8 5C NOP $A9A9,x PC:C6F9 A:AA X:97 Y:4E P:EF SP:F1 CYC:78 SL:129
C6FB 7C NOP $A9A9,x PC:C6FC A:AA X:97 Y:4E P:EF SP:F1 CYC:93 SL:129
C6FE DC NOP $A9A9,x PC:C6FF A:AA X:97 Y:4E P:EF SP:F1 CYC:108 SL:129
C701 FC NOP $A9A9,x PC:C702 A:AA X:97 Y:4E P:EF SP:F1 CYC:123 SL:129
C704 EA NOP PC:C705 A:AA X:97 Y:4E P:EF SP:F1 CYC:138 SL:129
C705 EA NOP PC:C706 A:AA X:97 Y:4E P:EF SP:F1 CYC:144 SL:129
C706 EA NOP PC:C707 A:AA X:97 Y:4E P:EF SP:F1 CYC:150 SL:129
C707 EA NOP PC:C708 A:AA X:97 Y:4E P:EF SP:F1 CYC:156 SL:129
C708 08 PHP PC:C709 A:AA X:97 Y:4E P:EF SP:F1 CYC:162 SL:129
C709 48 PHA PC:C70A A:AA X:97 Y:4E P:EF SP:F0 CYC:171 SL:129
C70A A2 LDX #$05 PC:C70B A:AA X:97 Y:4E P:EF SP:EF CYC:180 SL:129
C70C 68 PLA PC:C70D A:AA X:05 Y:4E P:6D SP:EF CYC:186 SL:129
C70D C9 CMP #$55 PC:C70E A:AA X:05 Y:4E P:ED SP:F0 CYC:198 SL:129
C70F F0 BEQ $C71B PC:C710 A:AA X:05 Y:4E P:6D SP:F0 CYC:204 SL:129
C711 C9 CMP #$AA PC:C712 A:AA X:05 Y:4E P:6D SP:F0 CYC:210 SL:129
C713 F0 BEQ $C71B PC:C714 A:AA X:05 Y:4E P:6F SP:F0 CYC:216 SL:129
C71B 68 PLA PC:C71C A:AA X:05 Y:4E P:6F SP:F0 CYC:225 SL:129
C71C 29 AND #$CB PC:C71D A:FF X:05 Y:4E P:ED SP:F1 CYC:237 SL:129
C71E C9 CMP #$00 PC:C71F A:CB X:05 Y:4E P:ED SP:F1 CYC:243 SL:129
C720 F0 BEQ $C728 PC:C721 A:CB X:05 Y:4E P:ED SP:F1 CYC:249 SL:129
C722 C9 CMP #$CB PC:C723 A:CB X:05 Y:4E P:ED SP:F1 CYC:255 SL:129
C724 F0 BEQ $C728 PC:C725 A:CB X:05 Y:4E P:6F SP:F1 CYC:261 SL:129
C728 C8 INY PC:C729 A:CB X:05 Y:4E P:6F SP:F1 CYC:270 SL:129
C729 CA DEX PC:C72A A:CB X:05 Y:4F P:6D SP:F1 CYC:276 SL:129
C72A D0 BNE $C70C PC:C72B A:CB X:04 Y:4F P:6D SP:F1 CYC:282 SL:129
C70C 68 PLA PC:C70D A:CB X:04 Y:4F P:6D SP:F1 CYC:291 SL:129
C70D C9 CMP #$55 PC:C70E A:AA X:04 Y:4F P:ED SP:F2 CYC:303 SL:129
C70F F0 BEQ $C71B PC:C710 A:AA X:04 Y:4F P:6D SP:F2 CYC:309 SL:129
C711 C9 CMP #$AA PC:C712 A:AA X:04 Y:4F P:6D SP:F2 CYC:315 SL:129
C713 F0 BEQ $C71B PC:C714 A:AA X:04 Y:4F P:6F SP:F2 CYC:321 SL:129
C71B 68 PLA PC:C71C A:AA X:04 Y:4F P:6F SP:F2 CYC:330 SL:129
C71C 29 AND #$CB PC:C71D A:FF X:04 Y:4F P:ED SP:F3 CYC:1 SL:130
C71E C9 CMP #$00 PC:C71F A:CB X:04 Y:4F P:ED SP:F3 CYC:7 SL:130
C720 F0 BEQ $C728 PC:C721 A:CB X:04 Y:4F P:ED SP:F3 CYC:13 SL:130
C722 C9 CMP #$CB PC:C723 A:CB X:04 Y:4F P:ED SP:F3 CYC:19 SL:130
C724 F0 BEQ $C728 PC:C725 A:CB X:04 Y:4F P:6F SP:F3 CYC:25 SL:130
C728 C8 INY PC:C729 A:CB X:04 Y:4F P:6F SP:F3 CYC:34 SL:130
C729 CA DEX PC:C72A A:CB X:04 Y:50 P:6D SP:F3 CYC:40 SL:130
C72A D0 BNE $C70C PC:C72B A:CB X:03 Y:50 P:6D SP:F3 CYC:46 SL:130
C70C 68 PLA PC:C70D A:CB X:03 Y:50 P:6D SP:F3 CYC:55 SL:130
C70D C9 CMP #$55 PC:C70E A:AA X:03 Y:50 P:ED SP:F4 CYC:67 SL:130
C70F F0 BEQ $C71B PC:C710 A:AA X:03 Y:50 P:6D SP:F4 CYC:73 SL:130
C711 C9 CMP #$AA PC:C712 A:AA X:03 Y:50 P:6D SP:F4 CYC:79 SL:130
C713 F0 BEQ $C71B PC:C714 A:AA X:03 Y:50 P:6F SP:F4 CYC:85 SL:130
C71B 68 PLA PC:C71C A:AA X:03 Y:50 P:6F SP:F4 CYC:94 SL:130
C71C 29 AND #$CB PC:C71D A:FF X:03 Y:50 P:ED SP:F5 CYC:106 SL:130
C71E C9 CMP #$00 PC:C71F A:CB X:03 Y:50 P:ED SP:F5 CYC:112 SL:130
C720 F0 BEQ $C728 PC:C721 A:CB X:03 Y:50 P:ED SP:F5 CYC:118 SL:130
C722 C9 CMP #$CB PC:C723 A:CB X:03 Y:50 P:ED SP:F5 CYC:124 SL:130
C724 F0 BEQ $C728 PC:C725 A:CB X:03 Y:50 P:6F SP:F5 CYC:130 SL:130
C728 C8 INY PC:C729 A:CB X:03 Y:50 P:6F SP:F5 CYC:139 SL:130
C729 CA DEX PC:C72A A:CB X:03 Y:51 P:6D SP:F5 CYC:145 SL:130
C72A D0 BNE $C70C PC:C72B A:CB X:02 Y:51 P:6D SP:F5 CYC:151 SL:130
C70C 68 PLA PC:C70D A:CB X:02 Y:51 P:6D SP:F5 CYC:160 SL:130
C70D C9 CMP #$55 PC:C70E A:AA X:02 Y:51 P:ED SP:F6 CYC:172 SL:130
C70F F0 BEQ $C71B PC:C710 A:AA X:02 Y:51 P:6D SP:F6 CYC:178 SL:130
C711 C9 CMP #$AA PC:C712 A:AA X:02 Y:51 P:6D SP:F6 CYC:184 SL:130
C713 F0 BEQ $C71B PC:C714 A:AA X:02 Y:51 P:6F SP:F6 CYC:190 SL:130
C71B 68 PLA PC:C71C A:AA X:02 Y:51 P:6F SP:F6 CYC:199 SL:130
C71C 29 AND #$CB PC:C71D A:FF X:02 Y:51 P:ED SP:F7 CYC:211 SL:130
C71E C9 CMP #$00 PC:C71F A:CB X:02 Y:51 P:ED SP:F7 CYC:217 SL:130
C720 F0 BEQ $C728 PC:C721 A:CB X:02 Y:51 P:ED SP:F7 CYC:223 SL:130
C722 C9 CMP #$CB PC:C723 A:CB X:02 Y:51 P:ED SP:F7 CYC:229 SL:130
C724 F0 BEQ $C728 PC:C725 A:CB X:02 Y:51 P:6F SP:F7 CYC:235 SL:130
C728 C8 INY PC:C729 A:CB X:02 Y:51 P:6F SP:F7 CYC:244 SL:130
C729 CA DEX PC:C72A A:CB X:02 Y:52 P:6D SP:F7 CYC:250 SL:130
C72A D0 BNE $C70C PC:C72B A:CB X:01 Y:52 P:6D SP:F7 CYC:256 SL:130
C70C 68 PLA PC:C70D A:CB X:01 Y:52 P:6D SP:F7 CYC:265 SL:130
C70D C9 CMP #$55 PC:C70E A:AA X:01 Y:52 P:ED SP:F8 CYC:277 SL:130
C70F F0 BEQ $C71B PC:C710 A:AA X:01 Y:52 P:6D SP:F8 CYC:283 SL:130
C711 C9 CMP #$AA PC:C712 A:AA X:01 Y:52 P:6D SP:F8 CYC:289 SL:130
C713 F0 BEQ $C71B PC:C714 A:AA X:01 Y:52 P:6F SP:F8 CYC:295 SL:130
C71B 68 PLA PC:C71C A:AA X:01 Y:52 P:6F SP:F8 CYC:304 SL:130
C71C 29 AND #$CB PC:C71D A:FF X:01 Y:52 P:ED SP:F9 CYC:316 SL:130
C71E C9 CMP #$00 PC:C71F A:CB X:01 Y:52 P:ED SP:F9 CYC:322 SL:130
C720 F0 BEQ $C728 PC:C721 A:CB X:01 Y:52 P:ED SP:F9 CYC:328 SL:130
C722 C9 CMP #$CB PC:C723 A:CB X:01 Y:52 P:ED SP:F9 CYC:334 SL:130
C724 F0 BEQ $C728 PC:C725 A:CB X:01 Y:52 P:6F SP:F9 CYC:340 SL:130
C728 C8 INY PC:C729 A:CB X:01 Y:52 P:6F SP:F9 CYC:8 SL:131
C729 CA DEX PC:C72A A:CB X:01 Y:53 P:6D SP:F9 CYC:14 SL:131
C72A D0 BNE $C70C PC:C72B A:CB X:00 Y:53 P:6F SP:F9 CYC:20 SL:131
C72C 60 RTS PC:C72D A:CB X:00 Y:53 P:6F SP:F9 CYC:26 SL:131
C6AC 20 JSR $C6B7 PC:C6AD A:CB X:00 Y:53 P:6F SP:FB CYC:44 SL:131
C6B7 A9 LDA #$34 PC:C6B8 A:CB X:00 Y:53 P:6F SP:F9 CYC:62 SL:131
C6B9 48 PHA PC:C6BA A:34 X:00 Y:53 P:6D SP:F9 CYC:68 SL:131
C6BA A9 LDA #$55 PC:C6BB A:34 X:00 Y:53 P:6D SP:F8 CYC:77 SL:131
C6BC 28 PLP PC:C6BD A:55 X:00 Y:53 P:6D SP:F8 CYC:83 SL:131
C6BD 04 NOP $A9 PC:C6BE A:55 X:00 Y:53 P:24 SP:F9 CYC:95 SL:131
C6BF 44 NOP $A9 PC:C6C0 A:55 X:00 Y:53 P:24 SP:F9 CYC:104 SL:131
C6C1 64 NOP $A9 PC:C6C2 A:55 X:00 Y:53 P:24 SP:F9 CYC:113 SL:131
C6C3 EA NOP PC:C6C4 A:55 X:00 Y:53 P:24 SP:F9 CYC:122 SL:131
C6C4 EA NOP PC:C6C5 A:55 X:00 Y:53 P:24 SP:F9 CYC:128 SL:131
C6C5 EA NOP PC:C6C6 A:55 X:00 Y:53 P:24 SP:F9 CYC:134 SL:131
C6C6 EA NOP PC:C6C7 A:55 X:00 Y:53 P:24 SP:F9 CYC:140 SL:131
C6C7 08 PHP PC:C6C8 A:55 X:00 Y:53 P:24 SP:F9 CYC:146 SL:131
C6C8 48 PHA PC:C6C9 A:55 X:00 Y:53 P:24 SP:F8 CYC:155 SL:131
C6C9 0C NOP $A9A9 PC:C6CA A:55 X:00 Y:53 P:24 SP:F7 CYC:164 SL:131
C6CC EA NOP PC:C6CD A:55 X:00 Y:53 P:24 SP:F7 CYC:176 SL:131
C6CD EA NOP PC:C6CE A:55 X:00 Y:53 P:24 SP:F7 CYC:182 SL:131
C6CE EA NOP PC:C6CF A:55 X:00 Y:53 P:24 SP:F7 CYC:188 SL:131
C6CF EA NOP PC:C6D0 A:55 X:00 Y:53 P:24 SP:F7 CYC:194 SL:131
C6D0 08 PHP PC:C6D1 A:55 X:00 Y:53 P:24 SP:F7 CYC:200 SL:131
C6D1 48 PHA PC:C6D2 A:55 X:00 Y:53 P:24 SP:F6 CYC:209 SL:131
C6D2 14 NOP $A9,x PC:C6D3 A:55 X:00 Y:53 P:24 SP:F5 CYC:218 SL:131
C6D4 34 NOP $A9,x PC:C6D5 A:55 X:00 Y:53 P:24 SP:F5 CYC:230 SL:131
C6D6 54 NOP $A9,x PC:C6D7 A:55 X:00 Y:53 P:24 SP:F5 CYC:242 SL:131
C6D8 74 NOP $A9,x PC:C6D9 A:55 X:00 Y:53 P:24 SP:F5 CYC:254 SL:131
C6DA D4 NOP $A9,x PC:C6DB A:55 X:00 Y:53 P:24 SP:F5 CYC:266 SL:131
C6DC F4 NOP $A9,x PC:C6DD A:55 X:00 Y:53 P:24 SP:F5 CYC:278 SL:131
C6DE EA NOP PC:C6DF A:55 X:00 Y:53 P:24 SP:F5 CYC:290 SL:131
C6DF EA NOP PC:C6E0 A:55 X:00 Y:53 P:24 SP:F5 CYC:296 SL:131
C6E0 EA NOP PC:C6E1 A:55 X:00 Y:53 P:24 SP:F5 CYC:302 SL:131
C6E1 EA NOP PC:C6E2 A:55 X:00 Y:53 P:24 SP:F5 CYC:308 SL:131
C6E2 08 PHP PC:C6E3 A:55 X:00 Y:53 P:24 SP:F5 CYC:314 SL:131
C6E3 48 PHA PC:C6E4 A:55 X:00 Y:53 P:24 SP:F4 CYC:323 SL:131
C6E4 1A NOP PC:C6E5 A:55 X:00 Y:53 P:24 SP:F3 CYC:332 SL:131
C6E5 3A NOP PC:C6E6 A:55 X:00 Y:53 P:24 SP:F3 CYC:338 SL:131
C6E6 5A NOP PC:C6E7 A:55 X:00 Y:53 P:24 SP:F3 CYC:3 SL:132
C6E7 7A NOP PC:C6E8 A:55 X:00 Y:53 P:24 SP:F3 CYC:9 SL:132
C6E8 DA NOP PC:C6E9 A:55 X:00 Y:53 P:24 SP:F3 CYC:15 SL:132
C6E9 FA NOP PC:C6EA A:55 X:00 Y:53 P:24 SP:F3 CYC:21 SL:132
C6EA 80 NOP #$89 PC:C6EB A:55 X:00 Y:53 P:24 SP:F3 CYC:27 SL:132
C6EC EA NOP PC:C6ED A:55 X:00 Y:53 P:24 SP:F3 CYC:33 SL:132
C6ED EA NOP PC:C6EE A:55 X:00 Y:53 P:24 SP:F3 CYC:39 SL:132
C6EE EA NOP PC:C6EF A:55 X:00 Y:53 P:24 SP:F3 CYC:45 SL:132
C6EF EA NOP PC:C6F0 A:55 X:00 Y:53 P:24 SP:F3 CYC:51 SL:132
C6F0 08 PHP PC:C6F1 A:55 X:00 Y:53 P:24 SP:F3 CYC:57 SL:132
C6F1 48 PHA PC:C6F2 A:55 X:00 Y:53 P:24 SP:F2 CYC:66 SL:132
C6F2 1C NOP $A9A9,x PC:C6F3 A:55 X:00 Y:53 P:24 SP:F1 CYC:75 SL:132
C6F5 3C NOP $A9A9,x PC:C6F6 A:55 X:00 Y:53 P:24 SP:F1 CYC:87 SL:132
C6F8 5C NOP $A9A9,x PC:C6F9 A:55 X:00 Y:53 P:24 SP:F1 CYC:99 SL:132
C6FB 7C NOP $A9A9,x PC:C6FC A:55 X:00 Y:53 P:24 SP:F1 CYC:111 SL:132
C6FE DC NOP $A9A9,x PC:C6FF A:55 X:00 Y:53 P:24 SP:F1 CYC:123 SL:132
C701 FC NOP $A9A9,x PC:C702 A:55 X:00 Y:53 P:24 SP:F1 CYC:135 SL:132
C704 EA NOP PC:C705 A:55 X:00 Y:53 P:24 SP:F1 CYC:147 SL:132
C705 EA NOP PC:C706 A:55 X:00 Y:53 P:24 SP:F1 CYC:153 SL:132
C706 EA NOP PC:C707 A:55 X:00 Y:53 P:24 SP:F1 CYC:159 SL:132
C707 EA NOP PC:C708 A:55 X:00 Y:53 P:24 SP:F1 CYC:165 SL:132
C708 08 PHP PC:C709 A:55 X:00 Y:53 P:24 SP:F1 CYC:171 SL:132
C709 48 PHA PC:C70A A:55 X:00 Y:53 P:24 SP:F0 CYC:180 SL:132
C70A A2 LDX #$05 PC:C70B A:55 X:00 Y:53 P:24 SP:EF CYC:189 SL:132
C70C 68 PLA PC:C70D A:55 X:05 Y:53 P:24 SP:EF CYC:195 SL:132
C70D C9 CMP #$55 PC:C70E A:55 X:05 Y:53 P:24 SP:F0 CYC:207 SL:132
C70F F0 BEQ $C71B PC:C710 A:55 X:05 Y:53 P:27 SP:F0 CYC:213 SL:132
C71B 68 PLA PC:C71C A:55 X:05 Y:53 P:27 SP:F0 CYC:222 SL:132
C71C 29 AND #$CB PC:C71D A:34 X:05 Y:53 P:25 SP:F1 CYC:234 SL:132
C71E C9 CMP #$00 PC:C71F A:00 X:05 Y:53 P:27 SP:F1 CYC:240 SL:132
C720 F0 BEQ $C728 PC:C721 A:00 X:05 Y:53 P:27 SP:F1 CYC:246 SL:132
C728 C8 INY PC:C729 A:00 X:05 Y:53 P:27 SP:F1 CYC:255 SL:132
C729 CA DEX PC:C72A A:00 X:05 Y:54 P:25 SP:F1 CYC:261 SL:132
C72A D0 BNE $C70C PC:C72B A:00 X:04 Y:54 P:25 SP:F1 CYC:267 SL:132
C70C 68 PLA PC:C70D A:00 X:04 Y:54 P:25 SP:F1 CYC:276 SL:132
C70D C9 CMP #$55 PC:C70E A:55 X:04 Y:54 P:25 SP:F2 CYC:288 SL:132
C70F F0 BEQ $C71B PC:C710 A:55 X:04 Y:54 P:27 SP:F2 CYC:294 SL:132
C71B 68 PLA PC:C71C A:55 X:04 Y:54 P:27 SP:F2 CYC:303 SL:132
C71C 29 AND #$CB PC:C71D A:34 X:04 Y:54 P:25 SP:F3 CYC:315 SL:132
C71E C9 CMP #$00 PC:C71F A:00 X:04 Y:54 P:27 SP:F3 CYC:321 SL:132
C720 F0 BEQ $C728 PC:C721 A:00 X:04 Y:54 P:27 SP:F3 CYC:327 SL:132
C728 C8 INY PC:C729 A:00 X:04 Y:54 P:27 SP:F3 CYC:336 SL:132
C729 CA DEX PC:C72A A:00 X:04 Y:55 P:25 SP:F3 CYC:1 SL:133
C72A D0 BNE $C70C PC:C72B A:00 X:03 Y:55 P:25 SP:F3 CYC:7 SL:133
C70C 68 PLA PC:C70D A:00 X:03 Y:55 P:25 SP:F3 CYC:16 SL:133
C70D C9 CMP #$55 PC:C70E A:55 X:03 Y:55 P:25 SP:F4 CYC:28 SL:133
C70F F0 BEQ $C71B PC:C710 A:55 X:03 Y:55 P:27 SP:F4 CYC:34 SL:133
C71B 68 PLA PC:C71C A:55 X:03 Y:55 P:27 SP:F4 CYC:43 SL:133
C71C 29 AND #$CB PC:C71D A:34 X:03 Y:55 P:25 SP:F5 CYC:55 SL:133
C71E C9 CMP #$00 PC:C71F A:00 X:03 Y:55 P:27 SP:F5 CYC:61 SL:133
C720 F0 BEQ $C728 PC:C721 A:00 X:03 Y:55 P:27 SP:F5 CYC:67 SL:133
C728 C8 INY PC:C729 A:00 X:03 Y:55 P:27 SP:F5 CYC:76 SL:133
C729 CA DEX PC:C72A A:00 X:03 Y:56 P:25 SP:F5 CYC:82 SL:133
C72A D0 BNE $C70C PC:C72B A:00 X:02 Y:56 P:25 SP:F5 CYC:88 SL:133
C70C 68 PLA PC:C70D A:00 X:02 Y:56 P:25 SP:F5 CYC:97 SL:133
C70D C9 CMP #$55 PC:C70E A:55 X:02 Y:56 P:25 SP:F6 CYC:109 SL:133
C70F F0 BEQ $C71B PC:C710 A:55 X:02 Y:56 P:27 SP:F6 CYC:115 SL:133
C71B 68 PLA PC:C71C A:55 X:02 Y:56 P:27 SP:F6 CYC:124 SL:133
C71C 29 AND #$CB PC:C71D A:34 X:02 Y:56 P:25 SP:F7 CYC:136 SL:133
C71E C9 CMP #$00 PC:C71F A:00 X:02 Y:56 P:27 SP:F7 CYC:142 SL:133
C720 F0 BEQ $C728 PC:C721 A:00 X:02 Y:56 P:27 SP:F7 CYC:148 SL:133
C728 C8 INY PC:C729 A:00 X:02 Y:56 P:27 SP:F7 CYC:157 SL:133
C729 CA DEX PC:C72A A:00 X:02 Y:57 P:25 SP:F7 CYC:163 SL:133
C72A D0 BNE $C70C PC:C72B A:00 X:01 Y:57 P:25 SP:F7 CYC:169 SL:133
C70C 68 PLA PC:C70D A:00 X:01 Y:57 P:25 SP:F7 CYC:178 SL:133
C70D C9 CMP #$55 PC:C70E A:55 X:01 Y:57 P:25 SP:F8 CYC:190 SL:133
C70F F0 BEQ $C71B PC:C710 A:55 X:01 Y:57 P:27 SP:F8 CYC:196 SL:133
C71B 68 PLA PC:C71C A:55 X:01 Y:57 P:27 SP:F8 CYC:205 SL:133
C71C 29 AND #$CB PC:C71D A:34 X:01 Y:57 P:25 SP:F9 CYC:217 SL:133
C71E C9 CMP #$00 PC:C71F A:00 X:01 Y:57 P:27 SP:F9 CYC:223 SL:133
C720 F0 BEQ $C728 PC:C721 A:00 X:01 Y:57 P:27 SP:F9 CYC:229 SL:133
C728 C8 INY PC:C729 A:00 X:01 Y:57 P:27 SP:F9 CYC:238 SL:133
C729 CA DEX PC:C72A A:00 X:01 Y:58 P:25 SP:F9 CYC:244 SL:133
C72A D0 BNE $C70C PC:C72B A:00 X:00 Y:58 P:27 SP:F9 CYC:250 SL:133
C72C 60 RTS PC:C72D A:00 X:00 Y:58 P:27 SP:F9 CYC:256 SL:133
C6AF 60 RTS PC:C6B0 A:00 X:00 Y:58 P:27 SP:FB CYC:274 SL:133
C632 20 JSR $E51E PC:C633 A:00 X:00 Y:58 P:27 SP:FD CYC:292 SL:133
E51E A9 LDA #$55 PC:E51F A:00 X:00 Y:58 P:27 SP:FB CYC:310 SL:133
E520 8D STA $0580 PC:E521 A:55 X:00 Y:58 P:25 SP:FB CYC:316 SL:133
E523 A9 LDA #$AA PC:E524 A:55 X:00 Y:58 P:25 SP:FB CYC:328 SL:133
E525 8D STA $0432 PC:E526 A:AA X:00 Y:58 P:A5 SP:FB CYC:334 SL:133
E528 A9 LDA #$80 PC:E529 A:AA X:00 Y:58 P:A5 SP:FB CYC:5 SL:134
E52A 85 STA $43 PC:E52B A:80 X:00 Y:58 P:A5 SP:FB CYC:11 SL:134
E52C A9 LDA #$05 PC:E52D A:80 X:00 Y:58 P:A5 SP:FB CYC:20 SL:134
E52E 85 STA $44 PC:E52F A:05 X:00 Y:58 P:25 SP:FB CYC:26 SL:134
E530 A9 LDA #$32 PC:E531 A:05 X:00 Y:58 P:25 SP:FB CYC:35 SL:134
E532 85 STA $45 PC:E533 A:32 X:00 Y:58 P:25 SP:FB CYC:41 SL:134
E534 A9 LDA #$04 PC:E535 A:32 X:00 Y:58 P:25 SP:FB CYC:50 SL:134
E536 85 STA $46 PC:E537 A:04 X:00 Y:58 P:25 SP:FB CYC:56 SL:134
E538 A2 LDX #$03 PC:E539 A:04 X:00 Y:58 P:25 SP:FB CYC:65 SL:134
E53A A0 LDY #$77 PC:E53B A:04 X:03 Y:58 P:25 SP:FB CYC:71 SL:134
E53C A9 LDA #$FF PC:E53D A:04 X:03 Y:77 P:25 SP:FB CYC:77 SL:134
E53E 85 STA $01 PC:E53F A:FF X:03 Y:77 P:A5 SP:FB CYC:83 SL:134
E540 24 BIT $01 PC:E541 A:FF X:03 Y:77 P:A5 SP:FB CYC:92 SL:134
E542 38 SEC PC:E543 A:FF X:03 Y:77 P:E5 SP:FB CYC:101 SL:134
E543 A9 LDA #$00 PC:E544 A:FF X:03 Y:77 P:E5 SP:FB CYC:107 SL:134
E545 A3 LAX $(EA40,x) PC:E546 A:00 X:03 Y:77 P:67 SP:FB CYC:113 SL:134
E547 EA NOP PC:E548 A:55 X:55 Y:77 P:65 SP:FB CYC:131 SL:134
E548 EA NOP PC:E549 A:55 X:55 Y:77 P:65 SP:FB CYC:137 SL:134
E549 EA NOP PC:E54A A:55 X:55 Y:77 P:65 SP:FB CYC:143 SL:134
E54A EA NOP PC:E54B A:55 X:55 Y:77 P:65 SP:FB CYC:149 SL:134
E54B F0 BEQ $E55F PC:E54C A:55 X:55 Y:77 P:65 SP:FB CYC:155 SL:134
E54D 30 BMI $E55F PC:E54E A:55 X:55 Y:77 P:65 SP:FB CYC:161 SL:134
E54F 50 BVC $E55F PC:E550 A:55 X:55 Y:77 P:65 SP:FB CYC:167 SL:134
E551 90 BCC $E55F PC:E552 A:55 X:55 Y:77 P:65 SP:FB CYC:173 SL:134
E553 C9 CMP #$55 PC:E554 A:55 X:55 Y:77 P:65 SP:FB CYC:179 SL:134
E555 D0 BNE $E55F PC:E556 A:55 X:55 Y:77 P:67 SP:FB CYC:185 SL:134
E557 E0 CPX #$55 PC:E558 A:55 X:55 Y:77 P:67 SP:FB CYC:191 SL:134
E559 D0 BNE $E55F PC:E55A A:55 X:55 Y:77 P:67 SP:FB CYC:197 SL:134
E55B C0 CPY #$77 PC:E55C A:55 X:55 Y:77 P:67 SP:FB CYC:203 SL:134
E55D F0 BEQ $E563 PC:E55E A:55 X:55 Y:77 P:67 SP:FB CYC:209 SL:134
E563 A2 LDX #$05 PC:E564 A:55 X:55 Y:77 P:67 SP:FB CYC:218 SL:134
E565 A0 LDY #$33 PC:E566 A:55 X:05 Y:77 P:65 SP:FB CYC:224 SL:134
E567 B8 CLV PC:E568 A:55 X:05 Y:33 P:65 SP:FB CYC:230 SL:134
E568 18 CLC PC:E569 A:55 X:05 Y:33 P:25 SP:FB CYC:236 SL:134
E569 A9 LDA #$00 PC:E56A A:55 X:05 Y:33 P:24 SP:FB CYC:242 SL:134
E56B A3 LAX $(EA40,x) PC:E56C A:00 X:05 Y:33 P:26 SP:FB CYC:248 SL:134
E56D EA NOP PC:E56E A:AA X:AA Y:33 P:A4 SP:FB CYC:266 SL:134
E56E EA NOP PC:E56F A:AA X:AA Y:33 P:A4 SP:FB CYC:272 SL:134
E56F EA NOP PC:E570 A:AA X:AA Y:33 P:A4 SP:FB CYC:278 SL:134
E570 EA NOP PC:E571 A:AA X:AA Y:33 P:A4 SP:FB CYC:284 SL:134
E571 F0 BEQ $E585 PC:E572 A:AA X:AA Y:33 P:A4 SP:FB CYC:290 SL:134
E573 10 BPL $E585 PC:E574 A:AA X:AA Y:33 P:A4 SP:FB CYC:296 SL:134
E575 70 BVS $E585 PC:E576 A:AA X:AA Y:33 P:A4 SP:FB CYC:302 SL:134
E577 B0 BCS $E585 PC:E578 A:AA X:AA Y:33 P:A4 SP:FB CYC:308 SL:134
E579 C9 CMP #$AA PC:E57A A:AA X:AA Y:33 P:A4 SP:FB CYC:314 SL:134
E57B D0 BNE $E585 PC:E57C A:AA X:AA Y:33 P:27 SP:FB CYC:320 SL:134
E57D E0 CPX #$AA PC:E57E A:AA X:AA Y:33 P:27 SP:FB CYC:326 SL:134
E57F D0 BNE $E585 PC:E580 A:AA X:AA Y:33 P:27 SP:FB CYC:332 SL:134
E581 C0 CPY #$33 PC:E582 A:AA X:AA Y:33 P:27 SP:FB CYC:338 SL:134
E583 F0 BEQ $E589 PC:E584 A:AA X:AA Y:33 P:27 SP:FB CYC:3 SL:135
E589 A9 LDA #$87 PC:E58A A:AA X:AA Y:33 P:27 SP:FB CYC:12 SL:135
E58B 85 STA $67 PC:E58C A:87 X:AA Y:33 P:A5 SP:FB CYC:18 SL:135
E58D A9 LDA #$32 PC:E58E A:87 X:AA Y:33 P:A5 SP:FB CYC:27 SL:135
E58F 85 STA $68 PC:E590 A:32 X:AA Y:33 P:25 SP:FB CYC:33 SL:135
E591 A0 LDY #$57 PC:E592 A:32 X:AA Y:33 P:25 SP:FB CYC:42 SL:135
E593 24 BIT $01 PC:E594 A:32 X:AA Y:57 P:25 SP:FB CYC:48 SL:135
E595 38 SEC PC:E596 A:32 X:AA Y:57 P:E5 SP:FB CYC:57 SL:135
E596 A9 LDA #$00 PC:E597 A:32 X:AA Y:57 P:E5 SP:FB CYC:63 SL:135
E598 A7 LAX $67 PC:E599 A:00 X:AA Y:57 P:67 SP:FB CYC:69 SL:135
E59A EA NOP PC:E59B A:87 X:87 Y:57 P:E5 SP:FB CYC:78 SL:135
E59B EA NOP PC:E59C A:87 X:87 Y:57 P:E5 SP:FB CYC:84 SL:135
E59C EA NOP PC:E59D A:87 X:87 Y:57 P:E5 SP:FB CYC:90 SL:135
E59D EA NOP PC:E59E A:87 X:87 Y:57 P:E5 SP:FB CYC:96 SL:135
E59E F0 BEQ $E5B2 PC:E59F A:87 X:87 Y:57 P:E5 SP:FB CYC:102 SL:135
E5A0 10 BPL $E5B2 PC:E5A1 A:87 X:87 Y:57 P:E5 SP:FB CYC:108 SL:135
E5A2 50 BVC $E5B2 PC:E5A3 A:87 X:87 Y:57 P:E5 SP:FB CYC:114 SL:135
E5A4 90 BCC $E5B2 PC:E5A5 A:87 X:87 Y:57 P:E5 SP:FB CYC:120 SL:135
E5A6 C9 CMP #$87 PC:E5A7 A:87 X:87 Y:57 P:E5 SP:FB CYC:126 SL:135
E5A8 D0 BNE $E5B2 PC:E5A9 A:87 X:87 Y:57 P:67 SP:FB CYC:132 SL:135
E5AA E0 CPX #$87 PC:E5AB A:87 X:87 Y:57 P:67 SP:FB CYC:138 SL:135
E5AC D0 BNE $E5B2 PC:E5AD A:87 X:87 Y:57 P:67 SP:FB CYC:144 SL:135
E5AE C0 CPY #$57 PC:E5AF A:87 X:87 Y:57 P:67 SP:FB CYC:150 SL:135
E5B0 F0 BEQ $E5B6 PC:E5B1 A:87 X:87 Y:57 P:67 SP:FB CYC:156 SL:135
E5B6 A0 LDY #$53 PC:E5B7 A:87 X:87 Y:57 P:67 SP:FB CYC:165 SL:135
E5B8 B8 CLV PC:E5B9 A:87 X:87 Y:53 P:65 SP:FB CYC:171 SL:135
E5B9 18 CLC PC:E5BA A:87 X:87 Y:53 P:25 SP:FB CYC:177 SL:135
E5BA A9 LDA #$00 PC:E5BB A:87 X:87 Y:53 P:24 SP:FB CYC:183 SL:135
E5BC A7 LAX $68 PC:E5BD A:00 X:87 Y:53 P:26 SP:FB CYC:189 SL:135
E5BE EA NOP PC:E5BF A:32 X:32 Y:53 P:24 SP:FB CYC:198 SL:135
E5BF EA NOP PC:E5C0 A:32 X:32 Y:53 P:24 SP:FB CYC:204 SL:135
E5C0 EA NOP PC:E5C1 A:32 X:32 Y:53 P:24 SP:FB CYC:210 SL:135
E5C1 EA NOP PC:E5C2 A:32 X:32 Y:53 P:24 SP:FB CYC:216 SL:135
E5C2 F0 BEQ $E5D6 PC:E5C3 A:32 X:32 Y:53 P:24 SP:FB CYC:222 SL:135
E5C4 30 BMI $E5D6 PC:E5C5 A:32 X:32 Y:53 P:24 SP:FB CYC:228 SL:135
E5C6 70 BVS $E5D6 PC:E5C7 A:32 X:32 Y:53 P:24 SP:FB CYC:234 SL:135
E5C8 B0 BCS $E5D6 PC:E5C9 A:32 X:32 Y:53 P:24 SP:FB CYC:240 SL:135
E5CA C9 CMP #$32 PC:E5CB A:32 X:32 Y:53 P:24 SP:FB CYC:246 SL:135
E5CC D0 BNE $E5D6 PC:E5CD A:32 X:32 Y:53 P:27 SP:FB CYC:252 SL:135
E5CE E0 CPX #$32 PC:E5CF A:32 X:32 Y:53 P:27 SP:FB CYC:258 SL:135
E5D0 D0 BNE $E5D6 PC:E5D1 A:32 X:32 Y:53 P:27 SP:FB CYC:264 SL:135
E5D2 C0 CPY #$53 PC:E5D3 A:32 X:32 Y:53 P:27 SP:FB CYC:270 SL:135
E5D4 F0 BEQ $E5DA PC:E5D5 A:32 X:32 Y:53 P:27 SP:FB CYC:276 SL:135
E5DA A9 LDA #$87 PC:E5DB A:32 X:32 Y:53 P:27 SP:FB CYC:285 SL:135
E5DC 8D STA $0577 PC:E5DD A:87 X:32 Y:53 P:A5 SP:FB CYC:291 SL:135
E5DF A9 LDA #$32 PC:E5E0 A:87 X:32 Y:53 P:A5 SP:FB CYC:303 SL:135
E5E1 8D STA $0578 PC:E5E2 A:32 X:32 Y:53 P:25 SP:FB CYC:309 SL:135
E5E4 A0 LDY #$57 PC:E5E5 A:32 X:32 Y:53 P:25 SP:FB CYC:321 SL:135
E5E6 24 BIT $01 PC:E5E7 A:32 X:32 Y:57 P:25 SP:FB CYC:327 SL:135
E5E8 38 SEC PC:E5E9 A:32 X:32 Y:57 P:E5 SP:FB CYC:336 SL:135
E5E9 A9 LDA #$00 PC:E5EA A:32 X:32 Y:57 P:E5 SP:FB CYC:1 SL:136
E5EB AF LAX $0577 PC:E5EC A:00 X:32 Y:57 P:67 SP:FB CYC:7 SL:136
E5EE EA NOP PC:E5EF A:87 X:87 Y:57 P:E5 SP:FB CYC:19 SL:136
E5EF EA NOP PC:E5F0 A:87 X:87 Y:57 P:E5 SP:FB CYC:25 SL:136
E5F0 EA NOP PC:E5F1 A:87 X:87 Y:57 P:E5 SP:FB CYC:31 SL:136
E5F1 EA NOP PC:E5F2 A:87 X:87 Y:57 P:E5 SP:FB CYC:37 SL:136
E5F2 F0 BEQ $E606 PC:E5F3 A:87 X:87 Y:57 P:E5 SP:FB CYC:43 SL:136
E5F4 10 BPL $E606 PC:E5F5 A:87 X:87 Y:57 P:E5 SP:FB CYC:49 SL:136
E5F6 50 BVC $E606 PC:E5F7 A:87 X:87 Y:57 P:E5 SP:FB CYC:55 SL:136
E5F8 90 BCC $E606 PC:E5F9 A:87 X:87 Y:57 P:E5 SP:FB CYC:61 SL:136
E5FA C9 CMP #$87 PC:E5FB A:87 X:87 Y:57 P:E5 SP:FB CYC:67 SL:136
E5FC D0 BNE $E606 PC:E5FD A:87 X:87 Y:57 P:67 SP:FB CYC:73 SL:136
E5FE E0 CPX #$87 PC:E5FF A:87 X:87 Y:57 P:67 SP:FB CYC:79 SL:136
E600 D0 BNE $E606 PC:E601 A:87 X:87 Y:57 P:67 SP:FB CYC:85 SL:136
E602 C0 CPY #$57 PC:E603 A:87 X:87 Y:57 P:67 SP:FB CYC:91 SL:136
E604 F0 BEQ $E60A PC:E605 A:87 X:87 Y:57 P:67 SP:FB CYC:97 SL:136
E60A A0 LDY #$53 PC:E60B A:87 X:87 Y:57 P:67 SP:FB CYC:106 SL:136
E60C B8 CLV PC:E60D A:87 X:87 Y:53 P:65 SP:FB CYC:112 SL:136
E60D 18 CLC PC:E60E A:87 X:87 Y:53 P:25 SP:FB CYC:118 SL:136
E60E A9 LDA #$00 PC:E60F A:87 X:87 Y:53 P:24 SP:FB CYC:124 SL:136
E610 AF LAX $0578 PC:E611 A:00 X:87 Y:53 P:26 SP:FB CYC:130 SL:136
E613 EA NOP PC:E614 A:32 X:32 Y:53 P:24 SP:FB CYC:142 SL:136
E614 EA NOP PC:E615 A:32 X:32 Y:53 P:24 SP:FB CYC:148 SL:136
E615 EA NOP PC:E616 A:32 X:32 Y:53 P:24 SP:FB CYC:154 SL:136
E616 EA NOP PC:E617 A:32 X:32 Y:53 P:24 SP:FB CYC:160 SL:136
E617 F0 BEQ $E62B PC:E618 A:32 X:32 Y:53 P:24 SP:FB CYC:166 SL:136
E619 30 BMI $E62B PC:E61A A:32 X:32 Y:53 P:24 SP:FB CYC:172 SL:136
E61B 70 BVS $E62B PC:E61C A:32 X:32 Y:53 P:24 SP:FB CYC:178 SL:136
E61D B0 BCS $E62B PC:E61E A:32 X:32 Y:53 P:24 SP:FB CYC:184 SL:136
E61F C9 CMP #$32 PC:E620 A:32 X:32 Y:53 P:24 SP:FB CYC:190 SL:136
E621 D0 BNE $E62B PC:E622 A:32 X:32 Y:53 P:27 SP:FB CYC:196 SL:136
E623 E0 CPX #$32 PC:E624 A:32 X:32 Y:53 P:27 SP:FB CYC:202 SL:136
E625 D0 BNE $E62B PC:E626 A:32 X:32 Y:53 P:27 SP:FB CYC:208 SL:136
E627 C0 CPY #$53 PC:E628 A:32 X:32 Y:53 P:27 SP:FB CYC:214 SL:136
E629 F0 BEQ $E62F PC:E62A A:32 X:32 Y:53 P:27 SP:FB CYC:220 SL:136
E62F A9 LDA #$FF PC:E630 A:32 X:32 Y:53 P:27 SP:FB CYC:229 SL:136
E631 85 STA $43 PC:E632 A:FF X:32 Y:53 P:A5 SP:FB CYC:235 SL:136
E633 A9 LDA #$04 PC:E634 A:FF X:32 Y:53 P:A5 SP:FB CYC:244 SL:136
E635 85 STA $44 PC:E636 A:04 X:32 Y:53 P:25 SP:FB CYC:250 SL:136
E637 A9 LDA #$32 PC:E638 A:04 X:32 Y:53 P:25 SP:FB CYC:259 SL:136
E639 85 STA $45 PC:E63A A:32 X:32 Y:53 P:25 SP:FB CYC:265 SL:136
E63B A9 LDA #$04 PC:E63C A:32 X:32 Y:53 P:25 SP:FB CYC:274 SL:136
E63D 85 STA $46 PC:E63E A:04 X:32 Y:53 P:25 SP:FB CYC:280 SL:136
E63F A9 LDA #$55 PC:E640 A:04 X:32 Y:53 P:25 SP:FB CYC:289 SL:136
E641 8D STA $0580 PC:E642 A:55 X:32 Y:53 P:25 SP:FB CYC:295 SL:136
E644 A9 LDA #$AA PC:E645 A:55 X:32 Y:53 P:25 SP:FB CYC:307 SL:136
E646 8D STA $0432 PC:E647 A:AA X:32 Y:53 P:A5 SP:FB CYC:313 SL:136
E649 A2 LDX #$03 PC:E64A A:AA X:32 Y:53 P:A5 SP:FB CYC:325 SL:136
E64B A0 LDY #$81 PC:E64C A:AA X:03 Y:53 P:25 SP:FB CYC:331 SL:136
E64D 24 BIT $01 PC:E64E A:AA X:03 Y:81 P:A5 SP:FB CYC:337 SL:136
E64F 38 SEC PC:E650 A:AA X:03 Y:81 P:E5 SP:FB CYC:5 SL:137
E650 A9 LDA #$00 PC:E651 A:AA X:03 Y:81 P:E5 SP:FB CYC:11 SL:137
E652 B3 LAX ($43), y PC:E653 A:00 X:03 Y:81 P:67 SP:FB CYC:17 SL:137
E654 EA NOP PC:E655 A:55 X:55 Y:81 P:65 SP:FB CYC:35 SL:137
E655 EA NOP PC:E656 A:55 X:55 Y:81 P:65 SP:FB CYC:41 SL:137
E656 EA NOP PC:E657 A:55 X:55 Y:81 P:65 SP:FB CYC:47 SL:137
E657 EA NOP PC:E658 A:55 X:55 Y:81 P:65 SP:FB CYC:53 SL:137
E658 F0 BEQ $E66C PC:E659 A:55 X:55 Y:81 P:65 SP:FB CYC:59 SL:137
E65A 30 BMI $E66C PC:E65B A:55 X:55 Y:81 P:65 SP:FB CYC:65 SL:137
E65C 50 BVC $E66C PC:E65D A:55 X:55 Y:81 P:65 SP:FB CYC:71 SL:137
E65E 90 BCC $E66C PC:E65F A:55 X:55 Y:81 P:65 SP:FB CYC:77 SL:137
E660 C9 CMP #$55 PC:E661 A:55 X:55 Y:81 P:65 SP:FB CYC:83 SL:137
E662 D0 BNE $E66C PC:E663 A:55 X:55 Y:81 P:67 SP:FB CYC:89 SL:137
E664 E0 CPX #$55 PC:E665 A:55 X:55 Y:81 P:67 SP:FB CYC:95 SL:137
E666 D0 BNE $E66C PC:E667 A:55 X:55 Y:81 P:67 SP:FB CYC:101 SL:137
E668 C0 CPY #$81 PC:E669 A:55 X:55 Y:81 P:67 SP:FB CYC:107 SL:137
E66A F0 BEQ $E670 PC:E66B A:55 X:55 Y:81 P:67 SP:FB CYC:113 SL:137
E670 A2 LDX #$05 PC:E671 A:55 X:55 Y:81 P:67 SP:FB CYC:122 SL:137
E672 A0 LDY #$00 PC:E673 A:55 X:05 Y:81 P:65 SP:FB CYC:128 SL:137
E674 B8 CLV PC:E675 A:55 X:05 Y:00 P:67 SP:FB CYC:134 SL:137
E675 18 CLC PC:E676 A:55 X:05 Y:00 P:27 SP:FB CYC:140 SL:137
E676 A9 LDA #$00 PC:E677 A:55 X:05 Y:00 P:26 SP:FB CYC:146 SL:137
E678 B3 LAX ($45), y PC:E679 A:00 X:05 Y:00 P:26 SP:FB CYC:152 SL:137
E67A EA NOP PC:E67B A:AA X:AA Y:00 P:A4 SP:FB CYC:167 SL:137
E67B EA NOP PC:E67C A:AA X:AA Y:00 P:A4 SP:FB CYC:173 SL:137
E67C EA NOP PC:E67D A:AA X:AA Y:00 P:A4 SP:FB CYC:179 SL:137
E67D EA NOP PC:E67E A:AA X:AA Y:00 P:A4 SP:FB CYC:185 SL:137
E67E F0 BEQ $E692 PC:E67F A:AA X:AA Y:00 P:A4 SP:FB CYC:191 SL:137
E680 10 BPL $E692 PC:E681 A:AA X:AA Y:00 P:A4 SP:FB CYC:197 SL:137
E682 70 BVS $E692 PC:E683 A:AA X:AA Y:00 P:A4 SP:FB CYC:203 SL:137
E684 B0 BCS $E692 PC:E685 A:AA X:AA Y:00 P:A4 SP:FB CYC:209 SL:137
E686 C9 CMP #$AA PC:E687 A:AA X:AA Y:00 P:A4 SP:FB CYC:215 SL:137
E688 D0 BNE $E692 PC:E689 A:AA X:AA Y:00 P:27 SP:FB CYC:221 SL:137
E68A E0 CPX #$AA PC:E68B A:AA X:AA Y:00 P:27 SP:FB CYC:227 SL:137
E68C D0 BNE $E692 PC:E68D A:AA X:AA Y:00 P:27 SP:FB CYC:233 SL:137
E68E C0 CPY #$00 PC:E68F A:AA X:AA Y:00 P:27 SP:FB CYC:239 SL:137
E690 F0 BEQ $E696 PC:E691 A:AA X:AA Y:00 P:27 SP:FB CYC:245 SL:137
E696 A9 LDA #$87 PC:E697 A:AA X:AA Y:00 P:27 SP:FB CYC:254 SL:137
E698 85 STA $67 PC:E699 A:87 X:AA Y:00 P:A5 SP:FB CYC:260 SL:137
E69A A9 LDA #$32 PC:E69B A:87 X:AA Y:00 P:A5 SP:FB CYC:269 SL:137
E69C 85 STA $68 PC:E69D A:32 X:AA Y:00 P:25 SP:FB CYC:275 SL:137
E69E A0 LDY #$57 PC:E69F A:32 X:AA Y:00 P:25 SP:FB CYC:284 SL:137
E6A0 24 BIT $01 PC:E6A1 A:32 X:AA Y:57 P:25 SP:FB CYC:290 SL:137
E6A2 38 SEC PC:E6A3 A:32 X:AA Y:57 P:E5 SP:FB CYC:299 SL:137
E6A3 A9 LDA #$00 PC:E6A4 A:32 X:AA Y:57 P:E5 SP:FB CYC:305 SL:137
E6A5 B7 LAX $10,y PC:E6A6 A:00 X:AA Y:57 P:67 SP:FB CYC:311 SL:137
E6A7 EA NOP PC:E6A8 A:87 X:87 Y:57 P:E5 SP:FB CYC:323 SL:137
E6A8 EA NOP PC:E6A9 A:87 X:87 Y:57 P:E5 SP:FB CYC:329 SL:137
E6A9 EA NOP PC:E6AA A:87 X:87 Y:57 P:E5 SP:FB CYC:335 SL:137
E6AA EA NOP PC:E6AB A:87 X:87 Y:57 P:E5 SP:FB CYC:0 SL:138
E6AB F0 BEQ $E6BF PC:E6AC A:87 X:87 Y:57 P:E5 SP:FB CYC:6 SL:138
E6AD 10 BPL $E6BF PC:E6AE A:87 X:87 Y:57 P:E5 SP:FB CYC:12 SL:138
E6AF 50 BVC $E6BF PC:E6B0 A:87 X:87 Y:57 P:E5 SP:FB CYC:18 SL:138
E6B1 90 BCC $E6BF PC:E6B2 A:87 X:87 Y:57 P:E5 SP:FB CYC:24 SL:138
E6B3 C9 CMP #$87 PC:E6B4 A:87 X:87 Y:57 P:E5 SP:FB CYC:30 SL:138
E6B5 D0 BNE $E6BF PC:E6B6 A:87 X:87 Y:57 P:67 SP:FB CYC:36 SL:138
E6B7 E0 CPX #$87 PC:E6B8 A:87 X:87 Y:57 P:67 SP:FB CYC:42 SL:138
E6B9 D0 BNE $E6BF PC:E6BA A:87 X:87 Y:57 P:67 SP:FB CYC:48 SL:138
E6BB C0 CPY #$57 PC:E6BC A:87 X:87 Y:57 P:67 SP:FB CYC:54 SL:138
E6BD F0 BEQ $E6C3 PC:E6BE A:87 X:87 Y:57 P:67 SP:FB CYC:60 SL:138
E6C3 A0 LDY #$FF PC:E6C4 A:87 X:87 Y:57 P:67 SP:FB CYC:69 SL:138
E6C5 B8 CLV PC:E6C6 A:87 X:87 Y:FF P:E5 SP:FB CYC:75 SL:138
E6C6 18 CLC PC:E6C7 A:87 X:87 Y:FF P:A5 SP:FB CYC:81 SL:138
E6C7 A9 LDA #$00 PC:E6C8 A:87 X:87 Y:FF P:A4 SP:FB CYC:87 SL:138
E6C9 B7 LAX $69,y PC:E6CA A:00 X:87 Y:FF P:26 SP:FB CYC:93 SL:138
E6CB EA NOP PC:E6CC A:32 X:32 Y:FF P:24 SP:FB CYC:105 SL:138
E6CC EA NOP PC:E6CD A:32 X:32 Y:FF P:24 SP:FB CYC:111 SL:138
E6CD EA NOP PC:E6CE A:32 X:32 Y:FF P:24 SP:FB CYC:117 SL:138
E6CE EA NOP PC:E6CF A:32 X:32 Y:FF P:24 SP:FB CYC:123 SL:138
E6CF F0 BEQ $E6E3 PC:E6D0 A:32 X:32 Y:FF P:24 SP:FB CYC:129 SL:138
E6D1 30 BMI $E6E3 PC:E6D2 A:32 X:32 Y:FF P:24 SP:FB CYC:135 SL:138
E6D3 70 BVS $E6E3 PC:E6D4 A:32 X:32 Y:FF P:24 SP:FB CYC:141 SL:138
E6D5 B0 BCS $E6E3 PC:E6D6 A:32 X:32 Y:FF P:24 SP:FB CYC:147 SL:138
E6D7 C9 CMP #$32 PC:E6D8 A:32 X:32 Y:FF P:24 SP:FB CYC:153 SL:138
E6D9 D0 BNE $E6E3 PC:E6DA A:32 X:32 Y:FF P:27 SP:FB CYC:159 SL:138
E6DB E0 CPX #$32 PC:E6DC A:32 X:32 Y:FF P:27 SP:FB CYC:165 SL:138
E6DD D0 BNE $E6E3 PC:E6DE A:32 X:32 Y:FF P:27 SP:FB CYC:171 SL:138
E6DF C0 CPY #$FF PC:E6E0 A:32 X:32 Y:FF P:27 SP:FB CYC:177 SL:138
E6E1 F0 BEQ $E6E7 PC:E6E2 A:32 X:32 Y:FF P:27 SP:FB CYC:183 SL:138
E6E7 A9 LDA #$87 PC:E6E8 A:32 X:32 Y:FF P:27 SP:FB CYC:192 SL:138
E6E9 8D STA $0587 PC:E6EA A:87 X:32 Y:FF P:A5 SP:FB CYC:198 SL:138
E6EC A9 LDA #$32 PC:E6ED A:87 X:32 Y:FF P:A5 SP:FB CYC:210 SL:138
E6EE 8D STA $0588 PC:E6EF A:32 X:32 Y:FF P:25 SP:FB CYC:216 SL:138
E6F1 A0 LDY #$30 PC:E6F2 A:32 X:32 Y:FF P:25 SP:FB CYC:228 SL:138
E6F3 24 BIT $01 PC:E6F4 A:32 X:32 Y:30 P:25 SP:FB CYC:234 SL:138
E6F5 38 SEC PC:E6F6 A:32 X:32 Y:30 P:E5 SP:FB CYC:243 SL:138
E6F6 A9 LDA #$00 PC:E6F7 A:32 X:32 Y:30 P:E5 SP:FB CYC:249 SL:138
E6F8 BF LAX $0557,y PC:E6F9 A:00 X:32 Y:30 P:67 SP:FB CYC:255 SL:138
E6FB EA NOP PC:E6FC A:87 X:87 Y:30 P:E5 SP:FB CYC:267 SL:138
E6FC EA NOP PC:E6FD A:87 X:87 Y:30 P:E5 SP:FB CYC:273 SL:138
E6FD EA NOP PC:E6FE A:87 X:87 Y:30 P:E5 SP:FB CYC:279 SL:138
E6FE EA NOP PC:E6FF A:87 X:87 Y:30 P:E5 SP:FB CYC:285 SL:138
E6FF F0 BEQ $E713 PC:E700 A:87 X:87 Y:30 P:E5 SP:FB CYC:291 SL:138
E701 10 BPL $E713 PC:E702 A:87 X:87 Y:30 P:E5 SP:FB CYC:297 SL:138
E703 50 BVC $E713 PC:E704 A:87 X:87 Y:30 P:E5 SP:FB CYC:303 SL:138
E705 90 BCC $E713 PC:E706 A:87 X:87 Y:30 P:E5 SP:FB CYC:309 SL:138
E707 C9 CMP #$87 PC:E708 A:87 X:87 Y:30 P:E5 SP:FB CYC:315 SL:138
E709 D0 BNE $E713 PC:E70A A:87 X:87 Y:30 P:67 SP:FB CYC:321 SL:138
E70B E0 CPX #$87 PC:E70C A:87 X:87 Y:30 P:67 SP:FB CYC:327 SL:138
E70D D0 BNE $E713 PC:E70E A:87 X:87 Y:30 P:67 SP:FB CYC:333 SL:138
E70F C0 CPY #$30 PC:E710 A:87 X:87 Y:30 P:67 SP:FB CYC:339 SL:138
E711 F0 BEQ $E717 PC:E712 A:87 X:87 Y:30 P:67 SP:FB CYC:4 SL:139
E717 A0 LDY #$40 PC:E718 A:87 X:87 Y:30 P:67 SP:FB CYC:13 SL:139
E719 B8 CLV PC:E71A A:87 X:87 Y:40 P:65 SP:FB CYC:19 SL:139
E71A 18 CLC PC:E71B A:87 X:87 Y:40 P:25 SP:FB CYC:25 SL:139
E71B A9 LDA #$00 PC:E71C A:87 X:87 Y:40 P:24 SP:FB CYC:31 SL:139
E71D BF LAX $0548,y PC:E71E A:00 X:87 Y:40 P:26 SP:FB CYC:37 SL:139
E720 EA NOP PC:E721 A:32 X:32 Y:40 P:24 SP:FB CYC:49 SL:139
E721 EA NOP PC:E722 A:32 X:32 Y:40 P:24 SP:FB CYC:55 SL:139
E722 EA NOP PC:E723 A:32 X:32 Y:40 P:24 SP:FB CYC:61 SL:139
E723 EA NOP PC:E724 A:32 X:32 Y:40 P:24 SP:FB CYC:67 SL:139
E724 F0 BEQ $E738 PC:E725 A:32 X:32 Y:40 P:24 SP:FB CYC:73 SL:139
E726 30 BMI $E738 PC:E727 A:32 X:32 Y:40 P:24 SP:FB CYC:79 SL:139
E728 70 BVS $E738 PC:E729 A:32 X:32 Y:40 P:24 SP:FB CYC:85 SL:139
E72A B0 BCS $E738 PC:E72B A:32 X:32 Y:40 P:24 SP:FB CYC:91 SL:139
E72C C9 CMP #$32 PC:E72D A:32 X:32 Y:40 P:24 SP:FB CYC:97 SL:139
E72E D0 BNE $E738 PC:E72F A:32 X:32 Y:40 P:27 SP:FB CYC:103 SL:139
E730 E0 CPX #$32 PC:E731 A:32 X:32 Y:40 P:27 SP:FB CYC:109 SL:139
E732 D0 BNE $E738 PC:E733 A:32 X:32 Y:40 P:27 SP:FB CYC:115 SL:139
E734 C0 CPY #$40 PC:E735 A:32 X:32 Y:40 P:27 SP:FB CYC:121 SL:139
E736 F0 BEQ $E73C PC:E737 A:32 X:32 Y:40 P:27 SP:FB CYC:127 SL:139
E73C 60 RTS PC:E73D A:32 X:32 Y:40 P:27 SP:FB CYC:136 SL:139
C635 20 JSR $E73D PC:C636 A:32 X:32 Y:40 P:27 SP:FD CYC:154 SL:139
E73D A9 LDA #$C0 PC:E73E A:32 X:32 Y:40 P:27 SP:FB CYC:172 SL:139
E73F 85 STA $01 PC:E740 A:C0 X:32 Y:40 P:A5 SP:FB CYC:178 SL:139
E741 A9 LDA #$00 PC:E742 A:C0 X:32 Y:40 P:A5 SP:FB CYC:187 SL:139
E743 8D STA $0489 PC:E744 A:00 X:32 Y:40 P:27 SP:FB CYC:193 SL:139
E746 A9 LDA #$89 PC:E747 A:00 X:32 Y:40 P:27 SP:FB CYC:205 SL:139
E748 85 STA $60 PC:E749 A:89 X:32 Y:40 P:A5 SP:FB CYC:211 SL:139
E74A A9 LDA #$04 PC:E74B A:89 X:32 Y:40 P:A5 SP:FB CYC:220 SL:139
E74C 85 STA $61 PC:E74D A:04 X:32 Y:40 P:25 SP:FB CYC:226 SL:139
E74E A0 LDY #$44 PC:E74F A:04 X:32 Y:40 P:25 SP:FB CYC:235 SL:139
E750 A2 LDX #$17 PC:E751 A:04 X:32 Y:44 P:25 SP:FB CYC:241 SL:139
E752 A9 LDA #$3E PC:E753 A:04 X:17 Y:44 P:25 SP:FB CYC:247 SL:139
E754 24 BIT $01 PC:E755 A:3E X:17 Y:44 P:25 SP:FB CYC:253 SL:139
E756 18 CLC PC:E757 A:3E X:17 Y:44 P:E7 SP:FB CYC:262 SL:139
E757 83 SAX $(EA49,x) PC:E758 A:3E X:17 Y:44 P:E6 SP:FB CYC:268 SL:139
E759 EA NOP PC:E75A A:3E X:17 Y:44 P:E6 SP:FB CYC:286 SL:139
E75A EA NOP PC:E75B A:3E X:17 Y:44 P:E6 SP:FB CYC:292 SL:139
E75B EA NOP PC:E75C A:3E X:17 Y:44 P:E6 SP:FB CYC:298 SL:139
E75C EA NOP PC:E75D A:3E X:17 Y:44 P:E6 SP:FB CYC:304 SL:139
E75D D0 BNE $E778 PC:E75E A:3E X:17 Y:44 P:E6 SP:FB CYC:310 SL:139
E75F B0 BCS $E778 PC:E760 A:3E X:17 Y:44 P:E6 SP:FB CYC:316 SL:139
E761 50 BVC $E778 PC:E762 A:3E X:17 Y:44 P:E6 SP:FB CYC:322 SL:139
E763 10 BPL $E778 PC:E764 A:3E X:17 Y:44 P:E6 SP:FB CYC:328 SL:139
E765 C9 CMP #$3E PC:E766 A:3E X:17 Y:44 P:E6 SP:FB CYC:334 SL:139
E767 D0 BNE $E778 PC:E768 A:3E X:17 Y:44 P:67 SP:FB CYC:340 SL:139
E769 C0 CPY #$44 PC:E76A A:3E X:17 Y:44 P:67 SP:FB CYC:5 SL:140
E76B D0 BNE $E778 PC:E76C A:3E X:17 Y:44 P:67 SP:FB CYC:11 SL:140
E76D E0 CPX #$17 PC:E76E A:3E X:17 Y:44 P:67 SP:FB CYC:17 SL:140
E76F D0 BNE $E778 PC:E770 A:3E X:17 Y:44 P:67 SP:FB CYC:23 SL:140
E771 AD LDA $0489 PC:E772 A:3E X:17 Y:44 P:67 SP:FB CYC:29 SL:140
E774 C9 CMP #$16 PC:E775 A:16 X:17 Y:44 P:65 SP:FB CYC:41 SL:140
E776 F0 BEQ $E77C PC:E777 A:16 X:17 Y:44 P:67 SP:FB CYC:47 SL:140
E77C A0 LDY #$44 PC:E77D A:16 X:17 Y:44 P:67 SP:FB CYC:56 SL:140
E77E A2 LDX #$7A PC:E77F A:16 X:17 Y:44 P:65 SP:FB CYC:62 SL:140
E780 A9 LDA #$66 PC:E781 A:16 X:7A Y:44 P:65 SP:FB CYC:68 SL:140
E782 38 SEC PC:E783 A:66 X:7A Y:44 P:65 SP:FB CYC:74 SL:140
E783 B8 CLV PC:E784 A:66 X:7A Y:44 P:65 SP:FB CYC:80 SL:140
E784 83 SAX $(EAE6,x) PC:E785 A:66 X:7A Y:44 P:25 SP:FB CYC:86 SL:140
E786 EA NOP PC:E787 A:66 X:7A Y:44 P:25 SP:FB CYC:104 SL:140
E787 EA NOP PC:E788 A:66 X:7A Y:44 P:25 SP:FB CYC:110 SL:140
E788 EA NOP PC:E789 A:66 X:7A Y:44 P:25 SP:FB CYC:116 SL:140
E789 EA NOP PC:E78A A:66 X:7A Y:44 P:25 SP:FB CYC:122 SL:140
E78A F0 BEQ $E7A5 PC:E78B A:66 X:7A Y:44 P:25 SP:FB CYC:128 SL:140
E78C 90 BCC $E7A5 PC:E78D A:66 X:7A Y:44 P:25 SP:FB CYC:134 SL:140
E78E 70 BVS $E7A5 PC:E78F A:66 X:7A Y:44 P:25 SP:FB CYC:140 SL:140
E790 30 BMI $E7A5 PC:E791 A:66 X:7A Y:44 P:25 SP:FB CYC:146 SL:140
E792 C9 CMP #$66 PC:E793 A:66 X:7A Y:44 P:25 SP:FB CYC:152 SL:140
E794 D0 BNE $E7A5 PC:E795 A:66 X:7A Y:44 P:27 SP:FB CYC:158 SL:140
E796 C0 CPY #$44 PC:E797 A:66 X:7A Y:44 P:27 SP:FB CYC:164 SL:140
E798 D0 BNE $E7A5 PC:E799 A:66 X:7A Y:44 P:27 SP:FB CYC:170 SL:140
E79A E0 CPX #$7A PC:E79B A:66 X:7A Y:44 P:27 SP:FB CYC:176 SL:140
E79C D0 BNE $E7A5 PC:E79D A:66 X:7A Y:44 P:27 SP:FB CYC:182 SL:140
E79E AD LDA $0489 PC:E79F A:66 X:7A Y:44 P:27 SP:FB CYC:188 SL:140
E7A1 C9 CMP #$62 PC:E7A2 A:62 X:7A Y:44 P:25 SP:FB CYC:200 SL:140
E7A3 F0 BEQ $E7A9 PC:E7A4 A:62 X:7A Y:44 P:27 SP:FB CYC:206 SL:140
E7A9 A9 LDA #$FF PC:E7AA A:62 X:7A Y:44 P:27 SP:FB CYC:215 SL:140
E7AB 85 STA $49 PC:E7AC A:FF X:7A Y:44 P:A5 SP:FB CYC:221 SL:140
E7AD A0 LDY #$44 PC:E7AE A:FF X:7A Y:44 P:A5 SP:FB CYC:230 SL:140
E7AF A2 LDX #$AA PC:E7B0 A:FF X:7A Y:44 P:25 SP:FB CYC:236 SL:140
E7B1 A9 LDA #$55 PC:E7B2 A:FF X:AA Y:44 P:A5 SP:FB CYC:242 SL:140
E7B3 24 BIT $01 PC:E7B4 A:55 X:AA Y:44 P:25 SP:FB CYC:248 SL:140
E7B5 18 CLC PC:E7B6 A:55 X:AA Y:44 P:E5 SP:FB CYC:257 SL:140
E7B6 87 SAX $49 PC:E7B7 A:55 X:AA Y:44 P:E4 SP:FB CYC:263 SL:140
E7B8 EA NOP PC:E7B9 A:55 X:AA Y:44 P:E4 SP:FB CYC:272 SL:140
E7B9 EA NOP PC:E7BA A:55 X:AA Y:44 P:E4 SP:FB CYC:278 SL:140
E7BA EA NOP PC:E7BB A:55 X:AA Y:44 P:E4 SP:FB CYC:284 SL:140
E7BB EA NOP PC:E7BC A:55 X:AA Y:44 P:E4 SP:FB CYC:290 SL:140
E7BC F0 BEQ $E7D6 PC:E7BD A:55 X:AA Y:44 P:E4 SP:FB CYC:296 SL:140
E7BE B0 BCS $E7D6 PC:E7BF A:55 X:AA Y:44 P:E4 SP:FB CYC:302 SL:140
E7C0 50 BVC $E7D6 PC:E7C1 A:55 X:AA Y:44 P:E4 SP:FB CYC:308 SL:140
E7C2 10 BPL $E7D6 PC:E7C3 A:55 X:AA Y:44 P:E4 SP:FB CYC:314 SL:140
E7C4 C9 CMP #$55 PC:E7C5 A:55 X:AA Y:44 P:E4 SP:FB CYC:320 SL:140
E7C6 D0 BNE $E7D6 PC:E7C7 A:55 X:AA Y:44 P:67 SP:FB CYC:326 SL:140
E7C8 C0 CPY #$44 PC:E7C9 A:55 X:AA Y:44 P:67 SP:FB CYC:332 SL:140
E7CA D0 BNE $E7D6 PC:E7CB A:55 X:AA Y:44 P:67 SP:FB CYC:338 SL:140
E7CC E0 CPX #$AA PC:E7CD A:55 X:AA Y:44 P:67 SP:FB CYC:3 SL:141
E7CE D0 BNE $E7D6 PC:E7CF A:55 X:AA Y:44 P:67 SP:FB CYC:9 SL:141
E7D0 A5 LDA $49 PC:E7D1 A:55 X:AA Y:44 P:67 SP:FB CYC:15 SL:141
E7D2 C9 CMP #$00 PC:E7D3 A:00 X:AA Y:44 P:67 SP:FB CYC:24 SL:141
E7D4 F0 BEQ $E7DA PC:E7D5 A:00 X:AA Y:44 P:67 SP:FB CYC:30 SL:141
E7DA A9 LDA #$00 PC:E7DB A:00 X:AA Y:44 P:67 SP:FB CYC:39 SL:141
E7DC 85 STA $56 PC:E7DD A:00 X:AA Y:44 P:67 SP:FB CYC:45 SL:141
E7DE A0 LDY #$58 PC:E7DF A:00 X:AA Y:44 P:67 SP:FB CYC:54 SL:141
E7E0 A2 LDX #$EF PC:E7E1 A:00 X:AA Y:58 P:65 SP:FB CYC:60 SL:141
E7E2 A9 LDA #$66 PC:E7E3 A:00 X:EF Y:58 P:E5 SP:FB CYC:66 SL:141
E7E4 38 SEC PC:E7E5 A:66 X:EF Y:58 P:65 SP:FB CYC:72 SL:141
E7E5 B8 CLV PC:E7E6 A:66 X:EF Y:58 P:65 SP:FB CYC:78 SL:141
E7E6 87 SAX $56 PC:E7E7 A:66 X:EF Y:58 P:25 SP:FB CYC:84 SL:141
E7E8 EA NOP PC:E7E9 A:66 X:EF Y:58 P:25 SP:FB CYC:93 SL:141
E7E9 EA NOP PC:E7EA A:66 X:EF Y:58 P:25 SP:FB CYC:99 SL:141
E7EA EA NOP PC:E7EB A:66 X:EF Y:58 P:25 SP:FB CYC:105 SL:141
E7EB EA NOP PC:E7EC A:66 X:EF Y:58 P:25 SP:FB CYC:111 SL:141
E7EC F0 BEQ $E806 PC:E7ED A:66 X:EF Y:58 P:25 SP:FB CYC:117 SL:141
E7EE 90 BCC $E806 PC:E7EF A:66 X:EF Y:58 P:25 SP:FB CYC:123 SL:141
E7F0 70 BVS $E806 PC:E7F1 A:66 X:EF Y:58 P:25 SP:FB CYC:129 SL:141
E7F2 30 BMI $E806 PC:E7F3 A:66 X:EF Y:58 P:25 SP:FB CYC:135 SL:141
E7F4 C9 CMP #$66 PC:E7F5 A:66 X:EF Y:58 P:25 SP:FB CYC:141 SL:141
E7F6 D0 BNE $E806 PC:E7F7 A:66 X:EF Y:58 P:27 SP:FB CYC:147 SL:141
E7F8 C0 CPY #$58 PC:E7F9 A:66 X:EF Y:58 P:27 SP:FB CYC:153 SL:141
E7FA D0 BNE $E806 PC:E7FB A:66 X:EF Y:58 P:27 SP:FB CYC:159 SL:141
E7FC E0 CPX #$EF PC:E7FD A:66 X:EF Y:58 P:27 SP:FB CYC:165 SL:141
E7FE D0 BNE $E806 PC:E7FF A:66 X:EF Y:58 P:27 SP:FB CYC:171 SL:141
E800 A5 LDA $56 PC:E801 A:66 X:EF Y:58 P:27 SP:FB CYC:177 SL:141
E802 C9 CMP #$66 PC:E803 A:66 X:EF Y:58 P:25 SP:FB CYC:186 SL:141
E804 F0 BEQ $E80A PC:E805 A:66 X:EF Y:58 P:27 SP:FB CYC:192 SL:141
E80A A9 LDA #$FF PC:E80B A:66 X:EF Y:58 P:27 SP:FB CYC:201 SL:141
E80C 8D STA $0549 PC:E80D A:FF X:EF Y:58 P:A5 SP:FB CYC:207 SL:141
E80F A0 LDY #$E5 PC:E810 A:FF X:EF Y:58 P:A5 SP:FB CYC:219 SL:141
E811 A2 LDX #$AF PC:E812 A:FF X:EF Y:E5 P:A5 SP:FB CYC:225 SL:141
E813 A9 LDA #$F5 PC:E814 A:FF X:AF Y:E5 P:A5 SP:FB CYC:231 SL:141
E815 24 BIT $01 PC:E816 A:F5 X:AF Y:E5 P:A5 SP:FB CYC:237 SL:141
E817 18 CLC PC:E818 A:F5 X:AF Y:E5 P:E5 SP:FB CYC:246 SL:141
E818 8F SAX $0549 PC:E819 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:252 SL:141
E81B EA NOP PC:E81C A:F5 X:AF Y:E5 P:E4 SP:FB CYC:264 SL:141
E81C EA NOP PC:E81D A:F5 X:AF Y:E5 P:E4 SP:FB CYC:270 SL:141
E81D EA NOP PC:E81E A:F5 X:AF Y:E5 P:E4 SP:FB CYC:276 SL:141
E81E EA NOP PC:E81F A:F5 X:AF Y:E5 P:E4 SP:FB CYC:282 SL:141
E81F F0 BEQ $E83A PC:E820 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:288 SL:141
E821 B0 BCS $E83A PC:E822 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:294 SL:141
E823 50 BVC $E83A PC:E824 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:300 SL:141
E825 10 BPL $E83A PC:E826 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:306 SL:141
E827 C9 CMP #$F5 PC:E828 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:312 SL:141
E829 D0 BNE $E83A PC:E82A A:F5 X:AF Y:E5 P:67 SP:FB CYC:318 SL:141
E82B C0 CPY #$E5 PC:E82C A:F5 X:AF Y:E5 P:67 SP:FB CYC:324 SL:141
E82D D0 BNE $E83A PC:E82E A:F5 X:AF Y:E5 P:67 SP:FB CYC:330 SL:141
E82F E0 CPX #$AF PC:E830 A:F5 X:AF Y:E5 P:67 SP:FB CYC:336 SL:141
E831 D0 BNE $E83A PC:E832 A:F5 X:AF Y:E5 P:67 SP:FB CYC:1 SL:142
E833 AD LDA $0549 PC:E834 A:F5 X:AF Y:E5 P:67 SP:FB CYC:7 SL:142
E836 C9 CMP #$A5 PC:E837 A:A5 X:AF Y:E5 P:E5 SP:FB CYC:19 SL:142
E838 F0 BEQ $E83E PC:E839 A:A5 X:AF Y:E5 P:67 SP:FB CYC:25 SL:142
E83E A9 LDA #$00 PC:E83F A:A5 X:AF Y:E5 P:67 SP:FB CYC:34 SL:142
E840 8D STA $0556 PC:E841 A:00 X:AF Y:E5 P:67 SP:FB CYC:40 SL:142
E843 A0 LDY #$58 PC:E844 A:00 X:AF Y:E5 P:67 SP:FB CYC:52 SL:142
E845 A2 LDX #$B3 PC:E846 A:00 X:AF Y:58 P:65 SP:FB CYC:58 SL:142
E847 A9 LDA #$97 PC:E848 A:00 X:B3 Y:58 P:E5 SP:FB CYC:64 SL:142
E849 38 SEC PC:E84A A:97 X:B3 Y:58 P:E5 SP:FB CYC:70 SL:142
E84A B8 CLV PC:E84B A:97 X:B3 Y:58 P:E5 SP:FB CYC:76 SL:142
E84B 8F SAX $0556 PC:E84C A:97 X:B3 Y:58 P:A5 SP:FB CYC:82 SL:142
E84E EA NOP PC:E84F A:97 X:B3 Y:58 P:A5 SP:FB CYC:94 SL:142
E84F EA NOP PC:E850 A:97 X:B3 Y:58 P:A5 SP:FB CYC:100 SL:142
E850 EA NOP PC:E851 A:97 X:B3 Y:58 P:A5 SP:FB CYC:106 SL:142
E851 EA NOP PC:E852 A:97 X:B3 Y:58 P:A5 SP:FB CYC:112 SL:142
E852 F0 BEQ $E86D PC:E853 A:97 X:B3 Y:58 P:A5 SP:FB CYC:118 SL:142
E854 90 BCC $E86D PC:E855 A:97 X:B3 Y:58 P:A5 SP:FB CYC:124 SL:142
E856 70 BVS $E86D PC:E857 A:97 X:B3 Y:58 P:A5 SP:FB CYC:130 SL:142
E858 10 BPL $E86D PC:E859 A:97 X:B3 Y:58 P:A5 SP:FB CYC:136 SL:142
E85A C9 CMP #$97 PC:E85B A:97 X:B3 Y:58 P:A5 SP:FB CYC:142 SL:142
E85C D0 BNE $E86D PC:E85D A:97 X:B3 Y:58 P:27 SP:FB CYC:148 SL:142
E85E C0 CPY #$58 PC:E85F A:97 X:B3 Y:58 P:27 SP:FB CYC:154 SL:142
E860 D0 BNE $E86D PC:E861 A:97 X:B3 Y:58 P:27 SP:FB CYC:160 SL:142
E862 E0 CPX #$B3 PC:E863 A:97 X:B3 Y:58 P:27 SP:FB CYC:166 SL:142
E864 D0 BNE $E86D PC:E865 A:97 X:B3 Y:58 P:27 SP:FB CYC:172 SL:142
E866 AD LDA $0556 PC:E867 A:97 X:B3 Y:58 P:27 SP:FB CYC:178 SL:142
E869 C9 CMP #$93 PC:E86A A:93 X:B3 Y:58 P:A5 SP:FB CYC:190 SL:142
E86B F0 BEQ $E871 PC:E86C A:93 X:B3 Y:58 P:27 SP:FB CYC:196 SL:142
E871 A9 LDA #$FF PC:E872 A:93 X:B3 Y:58 P:27 SP:FB CYC:205 SL:142
E873 85 STA $49 PC:E874 A:FF X:B3 Y:58 P:A5 SP:FB CYC:211 SL:142
E875 A0 LDY #$FF PC:E876 A:FF X:B3 Y:58 P:A5 SP:FB CYC:220 SL:142
E877 A2 LDX #$AA PC:E878 A:FF X:B3 Y:FF P:A5 SP:FB CYC:226 SL:142
E879 A9 LDA #$55 PC:E87A A:FF X:AA Y:FF P:A5 SP:FB CYC:232 SL:142
E87B 24 BIT $01 PC:E87C A:55 X:AA Y:FF P:25 SP:FB CYC:238 SL:142
E87D 18 CLC PC:E87E A:55 X:AA Y:FF P:E5 SP:FB CYC:247 SL:142
E87E 97 SAX $4A,y PC:E87F A:55 X:AA Y:FF P:E4 SP:FB CYC:253 SL:142
E880 EA NOP PC:E881 A:55 X:AA Y:FF P:E4 SP:FB CYC:265 SL:142
E881 EA NOP PC:E882 A:55 X:AA Y:FF P:E4 SP:FB CYC:271 SL:142
E882 EA NOP PC:E883 A:55 X:AA Y:FF P:E4 SP:FB CYC:277 SL:142
E883 EA NOP PC:E884 A:55 X:AA Y:FF P:E4 SP:FB CYC:283 SL:142
E884 F0 BEQ $E89E PC:E885 A:55 X:AA Y:FF P:E4 SP:FB CYC:289 SL:142
E886 B0 BCS $E89E PC:E887 A:55 X:AA Y:FF P:E4 SP:FB CYC:295 SL:142
E888 50 BVC $E89E PC:E889 A:55 X:AA Y:FF P:E4 SP:FB CYC:301 SL:142
E88A 10 BPL $E89E PC:E88B A:55 X:AA Y:FF P:E4 SP:FB CYC:307 SL:142
E88C C9 CMP #$55 PC:E88D A:55 X:AA Y:FF P:E4 SP:FB CYC:313 SL:142
E88E D0 BNE $E89E PC:E88F A:55 X:AA Y:FF P:67 SP:FB CYC:319 SL:142
E890 C0 CPY #$FF PC:E891 A:55 X:AA Y:FF P:67 SP:FB CYC:325 SL:142
E892 D0 BNE $E89E PC:E893 A:55 X:AA Y:FF P:67 SP:FB CYC:331 SL:142
E894 E0 CPX #$AA PC:E895 A:55 X:AA Y:FF P:67 SP:FB CYC:337 SL:142
E896 D0 BNE $E89E PC:E897 A:55 X:AA Y:FF P:67 SP:FB CYC:2 SL:143
E898 A5 LDA $49 PC:E899 A:55 X:AA Y:FF P:67 SP:FB CYC:8 SL:143
E89A C9 CMP #$00 PC:E89B A:00 X:AA Y:FF P:67 SP:FB CYC:17 SL:143
E89C F0 BEQ $E8A2 PC:E89D A:00 X:AA Y:FF P:67 SP:FB CYC:23 SL:143
E8A2 A9 LDA #$00 PC:E8A3 A:00 X:AA Y:FF P:67 SP:FB CYC:32 SL:143
E8A4 85 STA $56 PC:E8A5 A:00 X:AA Y:FF P:67 SP:FB CYC:38 SL:143
E8A6 A0 LDY #$06 PC:E8A7 A:00 X:AA Y:FF P:67 SP:FB CYC:47 SL:143
E8A8 A2 LDX #$EF PC:E8A9 A:00 X:AA Y:06 P:65 SP:FB CYC:53 SL:143
E8AA A9 LDA #$66 PC:E8AB A:00 X:EF Y:06 P:E5 SP:FB CYC:59 SL:143
E8AC 38 SEC PC:E8AD A:66 X:EF Y:06 P:65 SP:FB CYC:65 SL:143
E8AD B8 CLV PC:E8AE A:66 X:EF Y:06 P:65 SP:FB CYC:71 SL:143
E8AE 97 SAX $50,y PC:E8AF A:66 X:EF Y:06 P:25 SP:FB CYC:77 SL:143
E8B0 EA NOP PC:E8B1 A:66 X:EF Y:06 P:25 SP:FB CYC:89 SL:143
E8B1 EA NOP PC:E8B2 A:66 X:EF Y:06 P:25 SP:FB CYC:95 SL:143
E8B2 EA NOP PC:E8B3 A:66 X:EF Y:06 P:25 SP:FB CYC:101 SL:143
E8B3 EA NOP PC:E8B4 A:66 X:EF Y:06 P:25 SP:FB CYC:107 SL:143
E8B4 F0 BEQ $E8CE PC:E8B5 A:66 X:EF Y:06 P:25 SP:FB CYC:113 SL:143
E8B6 90 BCC $E8CE PC:E8B7 A:66 X:EF Y:06 P:25 SP:FB CYC:119 SL:143
E8B8 70 BVS $E8CE PC:E8B9 A:66 X:EF Y:06 P:25 SP:FB CYC:125 SL:143
E8BA 30 BMI $E8CE PC:E8BB A:66 X:EF Y:06 P:25 SP:FB CYC:131 SL:143
E8BC C9 CMP #$66 PC:E8BD A:66 X:EF Y:06 P:25 SP:FB CYC:137 SL:143
E8BE D0 BNE $E8CE PC:E8BF A:66 X:EF Y:06 P:27 SP:FB CYC:143 SL:143
E8C0 C0 CPY #$06 PC:E8C1 A:66 X:EF Y:06 P:27 SP:FB CYC:149 SL:143
E8C2 D0 BNE $E8CE PC:E8C3 A:66 X:EF Y:06 P:27 SP:FB CYC:155 SL:143
E8C4 E0 CPX #$EF PC:E8C5 A:66 X:EF Y:06 P:27 SP:FB CYC:161 SL:143
E8C6 D0 BNE $E8CE PC:E8C7 A:66 X:EF Y:06 P:27 SP:FB CYC:167 SL:143
E8C8 A5 LDA $56 PC:E8C9 A:66 X:EF Y:06 P:27 SP:FB CYC:173 SL:143
E8CA C9 CMP #$66 PC:E8CB A:66 X:EF Y:06 P:25 SP:FB CYC:182 SL:143
E8CC F0 BEQ $E8D2 PC:E8CD A:66 X:EF Y:06 P:27 SP:FB CYC:188 SL:143
E8D2 60 RTS PC:E8D3 A:66 X:EF Y:06 P:27 SP:FB CYC:197 SL:143
C638 20 JSR $E8D3 PC:C639 A:66 X:EF Y:06 P:27 SP:FD CYC:215 SL:143
E8D3 A0 LDY #$90 PC:E8D4 A:66 X:EF Y:06 P:27 SP:FB CYC:233 SL:143
E8D5 20 JSR $F931 PC:E8D6 A:66 X:EF Y:90 P:A5 SP:FB CYC:239 SL:143
F931 24 BIT $01 PC:F932 A:66 X:EF Y:90 P:A5 SP:F9 CYC:257 SL:143
F933 A9 LDA #$40 PC:F934 A:66 X:EF Y:90 P:E5 SP:F9 CYC:266 SL:143
F935 38 SEC PC:F936 A:40 X:EF Y:90 P:65 SP:F9 CYC:272 SL:143
F936 60 RTS PC:F937 A:40 X:EF Y:90 P:65 SP:F9 CYC:278 SL:143
E8D8 EB SBC #$40 PC:E8D9 A:40 X:EF Y:90 P:65 SP:FB CYC:296 SL:143
E8DA EA NOP PC:E8DB A:00 X:EF Y:90 P:27 SP:FB CYC:302 SL:143
E8DB EA NOP PC:E8DC A:00 X:EF Y:90 P:27 SP:FB CYC:308 SL:143
E8DC EA NOP PC:E8DD A:00 X:EF Y:90 P:27 SP:FB CYC:314 SL:143
E8DD EA NOP PC:E8DE A:00 X:EF Y:90 P:27 SP:FB CYC:320 SL:143
E8DE 20 JSR $F937 PC:E8DF A:00 X:EF Y:90 P:27 SP:FB CYC:326 SL:143
F937 30 BMI $F944 PC:F938 A:00 X:EF Y:90 P:27 SP:F9 CYC:3 SL:144
F939 90 BCC $F944 PC:F93A A:00 X:EF Y:90 P:27 SP:F9 CYC:9 SL:144
F93B D0 BNE $F944 PC:F93C A:00 X:EF Y:90 P:27 SP:F9 CYC:15 SL:144
F93D 70 BVS $F944 PC:F93E A:00 X:EF Y:90 P:27 SP:F9 CYC:21 SL:144
F93F C9 CMP #$00 PC:F940 A:00 X:EF Y:90 P:27 SP:F9 CYC:27 SL:144
F941 D0 BNE $F944 PC:F942 A:00 X:EF Y:90 P:27 SP:F9 CYC:33 SL:144
F943 60 RTS PC:F944 A:00 X:EF Y:90 P:27 SP:F9 CYC:39 SL:144
E8E1 C8 INY PC:E8E2 A:00 X:EF Y:90 P:27 SP:FB CYC:57 SL:144
E8E2 20 JSR $F947 PC:E8E3 A:00 X:EF Y:91 P:A5 SP:FB CYC:63 SL:144
F947 B8 CLV PC:F948 A:00 X:EF Y:91 P:A5 SP:F9 CYC:81 SL:144
F948 38 SEC PC:F949 A:00 X:EF Y:91 P:A5 SP:F9 CYC:87 SL:144
F949 A9 LDA #$40 PC:F94A A:00 X:EF Y:91 P:A5 SP:F9 CYC:93 SL:144
F94B 60 RTS PC:F94C A:40 X:EF Y:91 P:25 SP:F9 CYC:99 SL:144
E8E5 EB SBC #$3F PC:E8E6 A:40 X:EF Y:91 P:25 SP:FB CYC:117 SL:144
E8E7 EA NOP PC:E8E8 A:01 X:EF Y:91 P:25 SP:FB CYC:123 SL:144
E8E8 EA NOP PC:E8E9 A:01 X:EF Y:91 P:25 SP:FB CYC:129 SL:144
E8E9 EA NOP PC:E8EA A:01 X:EF Y:91 P:25 SP:FB CYC:135 SL:144
E8EA EA NOP PC:E8EB A:01 X:EF Y:91 P:25 SP:FB CYC:141 SL:144
E8EB 20 JSR $F94C PC:E8EC A:01 X:EF Y:91 P:25 SP:FB CYC:147 SL:144
F94C F0 BEQ $F959 PC:F94D A:01 X:EF Y:91 P:25 SP:F9 CYC:165 SL:144
F94E 30 BMI $F959 PC:F94F A:01 X:EF Y:91 P:25 SP:F9 CYC:171 SL:144
F950 90 BCC $F959 PC:F951 A:01 X:EF Y:91 P:25 SP:F9 CYC:177 SL:144
F952 70 BVS $F959 PC:F953 A:01 X:EF Y:91 P:25 SP:F9 CYC:183 SL:144
F954 C9 CMP #$01 PC:F955 A:01 X:EF Y:91 P:25 SP:F9 CYC:189 SL:144
F956 D0 BNE $F959 PC:F957 A:01 X:EF Y:91 P:27 SP:F9 CYC:195 SL:144
F958 60 RTS PC:F959 A:01 X:EF Y:91 P:27 SP:F9 CYC:201 SL:144
E8EE C8 INY PC:E8EF A:01 X:EF Y:91 P:27 SP:FB CYC:219 SL:144
E8EF 20 JSR $F95C PC:E8F0 A:01 X:EF Y:92 P:A5 SP:FB CYC:225 SL:144
F95C A9 LDA #$40 PC:F95D A:01 X:EF Y:92 P:A5 SP:F9 CYC:243 SL:144
F95E 38 SEC PC:F95F A:40 X:EF Y:92 P:25 SP:F9 CYC:249 SL:144
F95F 24 BIT $01 PC:F960 A:40 X:EF Y:92 P:25 SP:F9 CYC:255 SL:144
F961 60 RTS PC:F962 A:40 X:EF Y:92 P:E5 SP:F9 CYC:264 SL:144
E8F2 EB SBC #$41 PC:E8F3 A:40 X:EF Y:92 P:E5 SP:FB CYC:282 SL:144
E8F4 EA NOP PC:E8F5 A:FF X:EF Y:92 P:A4 SP:FB CYC:288 SL:144
E8F5 EA NOP PC:E8F6 A:FF X:EF Y:92 P:A4 SP:FB CYC:294 SL:144
E8F6 EA NOP PC:E8F7 A:FF X:EF Y:92 P:A4 SP:FB CYC:300 SL:144
E8F7 EA NOP PC:E8F8 A:FF X:EF Y:92 P:A4 SP:FB CYC:306 SL:144
E8F8 20 JSR $F962 PC:E8F9 A:FF X:EF Y:92 P:A4 SP:FB CYC:312 SL:144
F962 B0 BCS $F96F PC:F963 A:FF X:EF Y:92 P:A4 SP:F9 CYC:330 SL:144
F964 F0 BEQ $F96F PC:F965 A:FF X:EF Y:92 P:A4 SP:F9 CYC:336 SL:144
F966 10 BPL $F96F PC:F967 A:FF X:EF Y:92 P:A4 SP:F9 CYC:1 SL:145
F968 70 BVS $F96F PC:F969 A:FF X:EF Y:92 P:A4 SP:F9 CYC:7 SL:145
F96A C9 CMP #$FF PC:F96B A:FF X:EF Y:92 P:A4 SP:F9 CYC:13 SL:145
F96C D0 BNE $F96F PC:F96D A:FF X:EF Y:92 P:27 SP:F9 CYC:19 SL:145
F96E 60 RTS PC:F96F A:FF X:EF Y:92 P:27 SP:F9 CYC:25 SL:145
E8FB C8 INY PC:E8FC A:FF X:EF Y:92 P:27 SP:FB CYC:43 SL:145
E8FC 20 JSR $F972 PC:E8FD A:FF X:EF Y:93 P:A5 SP:FB CYC:49 SL:145
F972 18 CLC PC:F973 A:FF X:EF Y:93 P:A5 SP:F9 CYC:67 SL:145
F973 A9 LDA #$80 PC:F974 A:FF X:EF Y:93 P:A4 SP:F9 CYC:73 SL:145
F975 60 RTS PC:F976 A:80 X:EF Y:93 P:A4 SP:F9 CYC:79 SL:145
E8FF EB SBC #$00 PC:E900 A:80 X:EF Y:93 P:A4 SP:FB CYC:97 SL:145
E901 EA NOP PC:E902 A:7F X:EF Y:93 P:65 SP:FB CYC:103 SL:145
E902 EA NOP PC:E903 A:7F X:EF Y:93 P:65 SP:FB CYC:109 SL:145
E903 EA NOP PC:E904 A:7F X:EF Y:93 P:65 SP:FB CYC:115 SL:145
E904 EA NOP PC:E905 A:7F X:EF Y:93 P:65 SP:FB CYC:121 SL:145
E905 20 JSR $F976 PC:E906 A:7F X:EF Y:93 P:65 SP:FB CYC:127 SL:145
F976 90 BCC $F97D PC:F977 A:7F X:EF Y:93 P:65 SP:F9 CYC:145 SL:145
F978 C9 CMP #$7F PC:F979 A:7F X:EF Y:93 P:65 SP:F9 CYC:151 SL:145
F97A D0 BNE $F97D PC:F97B A:7F X:EF Y:93 P:67 SP:F9 CYC:157 SL:145
F97C 60 RTS PC:F97D A:7F X:EF Y:93 P:67 SP:F9 CYC:163 SL:145
E908 C8 INY PC:E909 A:7F X:EF Y:93 P:67 SP:FB CYC:181 SL:145
E909 20 JSR $F980 PC:E90A A:7F X:EF Y:94 P:E5 SP:FB CYC:187 SL:145
F980 38 SEC PC:F981 A:7F X:EF Y:94 P:E5 SP:F9 CYC:205 SL:145
F981 A9 LDA #$81 PC:F982 A:7F X:EF Y:94 P:E5 SP:F9 CYC:211 SL:145
F983 60 RTS PC:F984 A:81 X:EF Y:94 P:E5 SP:F9 CYC:217 SL:145
E90C EB SBC #$7F PC:E90D A:81 X:EF Y:94 P:E5 SP:FB CYC:235 SL:145
E90E EA NOP PC:E90F A:02 X:EF Y:94 P:65 SP:FB CYC:241 SL:145
E90F EA NOP PC:E910 A:02 X:EF Y:94 P:65 SP:FB CYC:247 SL:145
E910 EA NOP PC:E911 A:02 X:EF Y:94 P:65 SP:FB CYC:253 SL:145
E911 EA NOP PC:E912 A:02 X:EF Y:94 P:65 SP:FB CYC:259 SL:145
E912 20 JSR $F984 PC:E913 A:02 X:EF Y:94 P:65 SP:FB CYC:265 SL:145
F984 50 BVC $F98D PC:F985 A:02 X:EF Y:94 P:65 SP:F9 CYC:283 SL:145
F986 90 BCC $F98D PC:F987 A:02 X:EF Y:94 P:65 SP:F9 CYC:289 SL:145
F988 C9 CMP #$02 PC:F989 A:02 X:EF Y:94 P:65 SP:F9 CYC:295 SL:145
F98A D0 BNE $F98D PC:F98B A:02 X:EF Y:94 P:67 SP:F9 CYC:301 SL:145
F98C 60 RTS PC:F98D A:02 X:EF Y:94 P:67 SP:F9 CYC:307 SL:145
E915 60 RTS PC:E916 A:02 X:EF Y:94 P:67 SP:FB CYC:325 SL:145
C63B 20 JSR $E916 PC:C63C A:02 X:EF Y:94 P:67 SP:FD CYC:2 SL:146
E916 A9 LDA #$FF PC:E917 A:02 X:EF Y:94 P:67 SP:FB CYC:20 SL:146
E918 85 STA $01 PC:E919 A:FF X:EF Y:94 P:E5 SP:FB CYC:26 SL:146
E91A A0 LDY #$95 PC:E91B A:FF X:EF Y:94 P:E5 SP:FB CYC:35 SL:146
E91C A2 LDX #$02 PC:E91D A:FF X:EF Y:95 P:E5 SP:FB CYC:41 SL:146
E91E A9 LDA #$47 PC:E91F A:FF X:02 Y:95 P:65 SP:FB CYC:47 SL:146
E920 85 STA $47 PC:E921 A:47 X:02 Y:95 P:65 SP:FB CYC:53 SL:146
E922 A9 LDA #$06 PC:E923 A:47 X:02 Y:95 P:65 SP:FB CYC:62 SL:146
E924 85 STA $48 PC:E925 A:06 X:02 Y:95 P:65 SP:FB CYC:68 SL:146
E926 A9 LDA #$EB PC:E927 A:06 X:02 Y:95 P:65 SP:FB CYC:77 SL:146
E928 8D STA $0647 PC:E929 A:EB X:02 Y:95 P:E5 SP:FB CYC:83 SL:146
E92B 20 JSR $FA31 PC:E92C A:EB X:02 Y:95 P:E5 SP:FB CYC:95 SL:146
FA31 24 BIT $01 PC:FA32 A:EB X:02 Y:95 P:E5 SP:F9 CYC:113 SL:146
FA33 18 CLC PC:FA34 A:EB X:02 Y:95 P:E5 SP:F9 CYC:122 SL:146
FA34 A9 LDA #$40 PC:FA35 A:EB X:02 Y:95 P:E4 SP:F9 CYC:128 SL:146
FA36 60 RTS PC:FA37 A:40 X:02 Y:95 P:64 SP:F9 CYC:134 SL:146
E92E C3 DCP $(EA45,x) PC:E92F A:40 X:02 Y:95 P:64 SP:FB CYC:152 SL:146
E930 EA NOP PC:E931 A:40 X:02 Y:95 P:64 SP:FB CYC:176 SL:146
E931 EA NOP PC:E932 A:40 X:02 Y:95 P:64 SP:FB CYC:182 SL:146
E932 EA NOP PC:E933 A:40 X:02 Y:95 P:64 SP:FB CYC:188 SL:146
E933 EA NOP PC:E934 A:40 X:02 Y:95 P:64 SP:FB CYC:194 SL:146
E934 20 JSR $FA37 PC:E935 A:40 X:02 Y:95 P:64 SP:FB CYC:200 SL:146
FA37 50 BVC $FA65 PC:FA38 A:40 X:02 Y:95 P:64 SP:F9 CYC:218 SL:146
FA39 B0 BCS $FA65 PC:FA3A A:40 X:02 Y:95 P:64 SP:F9 CYC:224 SL:146
FA3B 30 BMI $FA65 PC:FA3C A:40 X:02 Y:95 P:64 SP:F9 CYC:230 SL:146
FA3D C9 CMP #$40 PC:FA3E A:40 X:02 Y:95 P:64 SP:F9 CYC:236 SL:146
FA3F D0 BNE $FA65 PC:FA40 A:40 X:02 Y:95 P:67 SP:F9 CYC:242 SL:146
FA41 60 RTS PC:FA42 A:40 X:02 Y:95 P:67 SP:F9 CYC:248 SL:146
E937 AD LDA $0647 PC:E938 A:40 X:02 Y:95 P:67 SP:FB CYC:266 SL:146
E93A C9 CMP #$EA PC:E93B A:EA X:02 Y:95 P:E5 SP:FB CYC:278 SL:146
E93C F0 BEQ $E940 PC:E93D A:EA X:02 Y:95 P:67 SP:FB CYC:284 SL:146
E940 C8 INY PC:E941 A:EA X:02 Y:95 P:67 SP:FB CYC:293 SL:146
E941 A9 LDA #$00 PC:E942 A:EA X:02 Y:96 P:E5 SP:FB CYC:299 SL:146
E943 8D STA $0647 PC:E944 A:00 X:02 Y:96 P:67 SP:FB CYC:305 SL:146
E946 20 JSR $FA42 PC:E947 A:00 X:02 Y:96 P:67 SP:FB CYC:317 SL:146
FA42 B8 CLV PC:FA43 A:00 X:02 Y:96 P:67 SP:F9 CYC:335 SL:146
FA43 38 SEC PC:FA44 A:00 X:02 Y:96 P:27 SP:F9 CYC:0 SL:147
FA44 A9 LDA #$FF PC:FA45 A:00 X:02 Y:96 P:27 SP:F9 CYC:6 SL:147
FA46 60 RTS PC:FA47 A:FF X:02 Y:96 P:A5 SP:F9 CYC:12 SL:147
E949 C3 DCP $(EA45,x) PC:E94A A:FF X:02 Y:96 P:A5 SP:FB CYC:30 SL:147
E94B EA NOP PC:E94C A:FF X:02 Y:96 P:27 SP:FB CYC:54 SL:147
E94C EA NOP PC:E94D A:FF X:02 Y:96 P:27 SP:FB CYC:60 SL:147
E94D EA NOP PC:E94E A:FF X:02 Y:96 P:27 SP:FB CYC:66 SL:147
E94E EA NOP PC:E94F A:FF X:02 Y:96 P:27 SP:FB CYC:72 SL:147
E94F 20 JSR $FA47 PC:E950 A:FF X:02 Y:96 P:27 SP:FB CYC:78 SL:147
FA47 70 BVS $FA65 PC:FA48 A:FF X:02 Y:96 P:27 SP:F9 CYC:96 SL:147
FA49 D0 BNE $FA65 PC:FA4A A:FF X:02 Y:96 P:27 SP:F9 CYC:102 SL:147
FA4B 30 BMI $FA65 PC:FA4C A:FF X:02 Y:96 P:27 SP:F9 CYC:108 SL:147
FA4D 90 BCC $FA65 PC:FA4E A:FF X:02 Y:96 P:27 SP:F9 CYC:114 SL:147
FA4F C9 CMP #$FF PC:FA50 A:FF X:02 Y:96 P:27 SP:F9 CYC:120 SL:147
FA51 D0 BNE $FA65 PC:FA52 A:FF X:02 Y:96 P:27 SP:F9 CYC:126 SL:147
FA53 60 RTS PC:FA54 A:FF X:02 Y:96 P:27 SP:F9 CYC:132 SL:147
E952 AD LDA $0647 PC:E953 A:FF X:02 Y:96 P:27 SP:FB CYC:150 SL:147
E955 C9 CMP #$FF PC:E956 A:FF X:02 Y:96 P:A5 SP:FB CYC:162 SL:147
E957 F0 BEQ $E95B PC:E958 A:FF X:02 Y:96 P:27 SP:FB CYC:168 SL:147
E95B C8 INY PC:E95C A:FF X:02 Y:96 P:27 SP:FB CYC:177 SL:147
E95C A9 LDA #$37 PC:E95D A:FF X:02 Y:97 P:A5 SP:FB CYC:183 SL:147
E95E 8D STA $0647 PC:E95F A:37 X:02 Y:97 P:25 SP:FB CYC:189 SL:147
E961 20 JSR $FA54 PC:E962 A:37 X:02 Y:97 P:25 SP:FB CYC:201 SL:147
FA54 24 BIT $01 PC:FA55 A:37 X:02 Y:97 P:25 SP:F9 CYC:219 SL:147
FA56 A9 LDA #$F0 PC:FA57 A:37 X:02 Y:97 P:E5 SP:F9 CYC:228 SL:147
FA58 60 RTS PC:FA59 A:F0 X:02 Y:97 P:E5 SP:F9 CYC:234 SL:147
E964 C3 DCP $(EA45,x) PC:E965 A:F0 X:02 Y:97 P:E5 SP:FB CYC:252 SL:147
E966 EA NOP PC:E967 A:F0 X:02 Y:97 P:E5 SP:FB CYC:276 SL:147
E967 EA NOP PC:E968 A:F0 X:02 Y:97 P:E5 SP:FB CYC:282 SL:147
E968 EA NOP PC:E969 A:F0 X:02 Y:97 P:E5 SP:FB CYC:288 SL:147
E969 EA NOP PC:E96A A:F0 X:02 Y:97 P:E5 SP:FB CYC:294 SL:147
E96A 20 JSR $FA59 PC:E96B A:F0 X:02 Y:97 P:E5 SP:FB CYC:300 SL:147
FA59 50 BVC $FA65 PC:FA5A A:F0 X:02 Y:97 P:E5 SP:F9 CYC:318 SL:147
FA5B F0 BEQ $FA65 PC:FA5C A:F0 X:02 Y:97 P:E5 SP:F9 CYC:324 SL:147
FA5D 10 BPL $FA65 PC:FA5E A:F0 X:02 Y:97 P:E5 SP:F9 CYC:330 SL:147
FA5F 90 BCC $FA65 PC:FA60 A:F0 X:02 Y:97 P:E5 SP:F9 CYC:336 SL:147
FA61 C9 CMP #$F0 PC:FA62 A:F0 X:02 Y:97 P:E5 SP:F9 CYC:1 SL:148
FA63 F0 BEQ $FA67 PC:FA64 A:F0 X:02 Y:97 P:67 SP:F9 CYC:7 SL:148
FA67 60 RTS PC:FA68 A:F0 X:02 Y:97 P:67 SP:F9 CYC:16 SL:148
E96D AD LDA $0647 PC:E96E A:F0 X:02 Y:97 P:67 SP:FB CYC:34 SL:148
E970 C9 CMP #$36 PC:E971 A:36 X:02 Y:97 P:65 SP:FB CYC:46 SL:148
E972 F0 BEQ $E976 PC:E973 A:36 X:02 Y:97 P:67 SP:FB CYC:52 SL:148
E976 C8 INY PC:E977 A:36 X:02 Y:97 P:67 SP:FB CYC:61 SL:148
E977 A9 LDA #$EB PC:E978 A:36 X:02 Y:98 P:E5 SP:FB CYC:67 SL:148
E979 85 STA $47 PC:E97A A:EB X:02 Y:98 P:E5 SP:FB CYC:73 SL:148
E97B 20 JSR $FA31 PC:E97C A:EB X:02 Y:98 P:E5 SP:FB CYC:82 SL:148
FA31 24 BIT $01 PC:FA32 A:EB X:02 Y:98 P:E5 SP:F9 CYC:100 SL:148
FA33 18 CLC PC:FA34 A:EB X:02 Y:98 P:E5 SP:F9 CYC:109 SL:148
FA34 A9 LDA #$40 PC:FA35 A:EB X:02 Y:98 P:E4 SP:F9 CYC:115 SL:148
FA36 60 RTS PC:FA37 A:40 X:02 Y:98 P:64 SP:F9 CYC:121 SL:148
E97E C7 DCP $47 PC:E97F A:40 X:02 Y:98 P:64 SP:FB CYC:139 SL:148
E980 EA NOP PC:E981 A:40 X:02 Y:98 P:64 SP:FB CYC:154 SL:148
E981 EA NOP PC:E982 A:40 X:02 Y:98 P:64 SP:FB CYC:160 SL:148
E982 EA NOP PC:E983 A:40 X:02 Y:98 P:64 SP:FB CYC:166 SL:148
E983 EA NOP PC:E984 A:40 X:02 Y:98 P:64 SP:FB CYC:172 SL:148
E984 20 JSR $FA37 PC:E985 A:40 X:02 Y:98 P:64 SP:FB CYC:178 SL:148
FA37 50 BVC $FA65 PC:FA38 A:40 X:02 Y:98 P:64 SP:F9 CYC:196 SL:148
FA39 B0 BCS $FA65 PC:FA3A A:40 X:02 Y:98 P:64 SP:F9 CYC:202 SL:148
FA3B 30 BMI $FA65 PC:FA3C A:40 X:02 Y:98 P:64 SP:F9 CYC:208 SL:148
FA3D C9 CMP #$40 PC:FA3E A:40 X:02 Y:98 P:64 SP:F9 CYC:214 SL:148
FA3F D0 BNE $FA65 PC:FA40 A:40 X:02 Y:98 P:67 SP:F9 CYC:220 SL:148
FA41 60 RTS PC:FA42 A:40 X:02 Y:98 P:67 SP:F9 CYC:226 SL:148
E987 A5 LDA $47 PC:E988 A:40 X:02 Y:98 P:67 SP:FB CYC:244 SL:148
E989 C9 CMP #$EA PC:E98A A:EA X:02 Y:98 P:E5 SP:FB CYC:253 SL:148
E98B F0 BEQ $E98F PC:E98C A:EA X:02 Y:98 P:67 SP:FB CYC:259 SL:148
E98F C8 INY PC:E990 A:EA X:02 Y:98 P:67 SP:FB CYC:268 SL:148
E990 A9 LDA #$00 PC:E991 A:EA X:02 Y:99 P:E5 SP:FB CYC:274 SL:148
E992 85 STA $47 PC:E993 A:00 X:02 Y:99 P:67 SP:FB CYC:280 SL:148
E994 20 JSR $FA42 PC:E995 A:00 X:02 Y:99 P:67 SP:FB CYC:289 SL:148
FA42 B8 CLV PC:FA43 A:00 X:02 Y:99 P:67 SP:F9 CYC:307 SL:148
FA43 38 SEC PC:FA44 A:00 X:02 Y:99 P:27 SP:F9 CYC:313 SL:148
FA44 A9 LDA #$FF PC:FA45 A:00 X:02 Y:99 P:27 SP:F9 CYC:319 SL:148
FA46 60 RTS PC:FA47 A:FF X:02 Y:99 P:A5 SP:F9 CYC:325 SL:148
E997 C7 DCP $47 PC:E998 A:FF X:02 Y:99 P:A5 SP:FB CYC:2 SL:149
E999 EA NOP PC:E99A A:FF X:02 Y:99 P:27 SP:FB CYC:17 SL:149
E99A EA NOP PC:E99B A:FF X:02 Y:99 P:27 SP:FB CYC:23 SL:149
E99B EA NOP PC:E99C A:FF X:02 Y:99 P:27 SP:FB CYC:29 SL:149
E99C EA NOP PC:E99D A:FF X:02 Y:99 P:27 SP:FB CYC:35 SL:149
E99D 20 JSR $FA47 PC:E99E A:FF X:02 Y:99 P:27 SP:FB CYC:41 SL:149
FA47 70 BVS $FA65 PC:FA48 A:FF X:02 Y:99 P:27 SP:F9 CYC:59 SL:149
FA49 D0 BNE $FA65 PC:FA4A A:FF X:02 Y:99 P:27 SP:F9 CYC:65 SL:149
FA4B 30 BMI $FA65 PC:FA4C A:FF X:02 Y:99 P:27 SP:F9 CYC:71 SL:149
FA4D 90 BCC $FA65 PC:FA4E A:FF X:02 Y:99 P:27 SP:F9 CYC:77 SL:149
FA4F C9 CMP #$FF PC:FA50 A:FF X:02 Y:99 P:27 SP:F9 CYC:83 SL:149
FA51 D0 BNE $FA65 PC:FA52 A:FF X:02 Y:99 P:27 SP:F9 CYC:89 SL:149
FA53 60 RTS PC:FA54 A:FF X:02 Y:99 P:27 SP:F9 CYC:95 SL:149
E9A0 A5 LDA $47 PC:E9A1 A:FF X:02 Y:99 P:27 SP:FB CYC:113 SL:149
E9A2 C9 CMP #$FF PC:E9A3 A:FF X:02 Y:99 P:A5 SP:FB CYC:122 SL:149
E9A4 F0 BEQ $E9A8 PC:E9A5 A:FF X:02 Y:99 P:27 SP:FB CYC:128 SL:149
E9A8 C8 INY PC:E9A9 A:FF X:02 Y:99 P:27 SP:FB CYC:137 SL:149
E9A9 A9 LDA #$37 PC:E9AA A:FF X:02 Y:9A P:A5 SP:FB CYC:143 SL:149
E9AB 85 STA $47 PC:E9AC A:37 X:02 Y:9A P:25 SP:FB CYC:149 SL:149
E9AD 20 JSR $FA54 PC:E9AE A:37 X:02 Y:9A P:25 SP:FB CYC:158 SL:149
FA54 24 BIT $01 PC:FA55 A:37 X:02 Y:9A P:25 SP:F9 CYC:176 SL:149
FA56 A9 LDA #$F0 PC:FA57 A:37 X:02 Y:9A P:E5 SP:F9 CYC:185 SL:149
FA58 60 RTS PC:FA59 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:191 SL:149
E9B0 C7 DCP $47 PC:E9B1 A:F0 X:02 Y:9A P:E5 SP:FB CYC:209 SL:149
E9B2 EA NOP PC:E9B3 A:F0 X:02 Y:9A P:E5 SP:FB CYC:224 SL:149
E9B3 EA NOP PC:E9B4 A:F0 X:02 Y:9A P:E5 SP:FB CYC:230 SL:149
E9B4 EA NOP PC:E9B5 A:F0 X:02 Y:9A P:E5 SP:FB CYC:236 SL:149
E9B5 EA NOP PC:E9B6 A:F0 X:02 Y:9A P:E5 SP:FB CYC:242 SL:149
E9B6 20 JSR $FA59 PC:E9B7 A:F0 X:02 Y:9A P:E5 SP:FB CYC:248 SL:149
FA59 50 BVC $FA65 PC:FA5A A:F0 X:02 Y:9A P:E5 SP:F9 CYC:266 SL:149
FA5B F0 BEQ $FA65 PC:FA5C A:F0 X:02 Y:9A P:E5 SP:F9 CYC:272 SL:149
FA5D 10 BPL $FA65 PC:FA5E A:F0 X:02 Y:9A P:E5 SP:F9 CYC:278 SL:149
FA5F 90 BCC $FA65 PC:FA60 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:284 SL:149
FA61 C9 CMP #$F0 PC:FA62 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:290 SL:149
FA63 F0 BEQ $FA67 PC:FA64 A:F0 X:02 Y:9A P:67 SP:F9 CYC:296 SL:149
FA67 60 RTS PC:FA68 A:F0 X:02 Y:9A P:67 SP:F9 CYC:305 SL:149
E9B9 A5 LDA $47 PC:E9BA A:F0 X:02 Y:9A P:67 SP:FB CYC:323 SL:149
E9BB C9 CMP #$36 PC:E9BC A:36 X:02 Y:9A P:65 SP:FB CYC:332 SL:149
E9BD F0 BEQ $E9C1 PC:E9BE A:36 X:02 Y:9A P:67 SP:FB CYC:338 SL:149
E9C1 C8 INY PC:E9C2 A:36 X:02 Y:9A P:67 SP:FB CYC:6 SL:150
E9C2 A9 LDA #$EB PC:E9C3 A:36 X:02 Y:9B P:E5 SP:FB CYC:12 SL:150
E9C4 8D STA $0647 PC:E9C5 A:EB X:02 Y:9B P:E5 SP:FB CYC:18 SL:150
E9C7 20 JSR $FA31 PC:E9C8 A:EB X:02 Y:9B P:E5 SP:FB CYC:30 SL:150
FA31 24 BIT $01 PC:FA32 A:EB X:02 Y:9B P:E5 SP:F9 CYC:48 SL:150
FA33 18 CLC PC:FA34 A:EB X:02 Y:9B P:E5 SP:F9 CYC:57 SL:150
FA34 A9 LDA #$40 PC:FA35 A:EB X:02 Y:9B P:E4 SP:F9 CYC:63 SL:150
FA36 60 RTS PC:FA37 A:40 X:02 Y:9B P:64 SP:F9 CYC:69 SL:150
E9CA CF DCP $0647 PC:E9CB A:40 X:02 Y:9B P:64 SP:FB CYC:87 SL:150
E9CD EA NOP PC:E9CE A:40 X:02 Y:9B P:64 SP:FB CYC:105 SL:150
E9CE EA NOP PC:E9CF A:40 X:02 Y:9B P:64 SP:FB CYC:111 SL:150
E9CF EA NOP PC:E9D0 A:40 X:02 Y:9B P:64 SP:FB CYC:117 SL:150
E9D0 EA NOP PC:E9D1 A:40 X:02 Y:9B P:64 SP:FB CYC:123 SL:150
E9D1 20 JSR $FA37 PC:E9D2 A:40 X:02 Y:9B P:64 SP:FB CYC:129 SL:150
FA37 50 BVC $FA65 PC:FA38 A:40 X:02 Y:9B P:64 SP:F9 CYC:147 SL:150
FA39 B0 BCS $FA65 PC:FA3A A:40 X:02 Y:9B P:64 SP:F9 CYC:153 SL:150
FA3B 30 BMI $FA65 PC:FA3C A:40 X:02 Y:9B P:64 SP:F9 CYC:159 SL:150
FA3D C9 CMP #$40 PC:FA3E A:40 X:02 Y:9B P:64 SP:F9 CYC:165 SL:150
FA3F D0 BNE $FA65 PC:FA40 A:40 X:02 Y:9B P:67 SP:F9 CYC:171 SL:150
FA41 60 RTS PC:FA42 A:40 X:02 Y:9B P:67 SP:F9 CYC:177 SL:150
E9D4 AD LDA $0647 PC:E9D5 A:40 X:02 Y:9B P:67 SP:FB CYC:195 SL:150
E9D7 C9 CMP #$EA PC:E9D8 A:EA X:02 Y:9B P:E5 SP:FB CYC:207 SL:150
E9D9 F0 BEQ $E9DD PC:E9DA A:EA X:02 Y:9B P:67 SP:FB CYC:213 SL:150
E9DD C8 INY PC:E9DE A:EA X:02 Y:9B P:67 SP:FB CYC:222 SL:150
E9DE A9 LDA #$00 PC:E9DF A:EA X:02 Y:9C P:E5 SP:FB CYC:228 SL:150
E9E0 8D STA $0647 PC:E9E1 A:00 X:02 Y:9C P:67 SP:FB CYC:234 SL:150
E9E3 20 JSR $FA42 PC:E9E4 A:00 X:02 Y:9C P:67 SP:FB CYC:246 SL:150
FA42 B8 CLV PC:FA43 A:00 X:02 Y:9C P:67 SP:F9 CYC:264 SL:150
FA43 38 SEC PC:FA44 A:00 X:02 Y:9C P:27 SP:F9 CYC:270 SL:150
FA44 A9 LDA #$FF PC:FA45 A:00 X:02 Y:9C P:27 SP:F9 CYC:276 SL:150
FA46 60 RTS PC:FA47 A:FF X:02 Y:9C P:A5 SP:F9 CYC:282 SL:150
E9E6 CF DCP $0647 PC:E9E7 A:FF X:02 Y:9C P:A5 SP:FB CYC:300 SL:150
E9E9 EA NOP PC:E9EA A:FF X:02 Y:9C P:27 SP:FB CYC:318 SL:150
E9EA EA NOP PC:E9EB A:FF X:02 Y:9C P:27 SP:FB CYC:324 SL:150
E9EB EA NOP PC:E9EC A:FF X:02 Y:9C P:27 SP:FB CYC:330 SL:150
E9EC EA NOP PC:E9ED A:FF X:02 Y:9C P:27 SP:FB CYC:336 SL:150
E9ED 20 JSR $FA47 PC:E9EE A:FF X:02 Y:9C P:27 SP:FB CYC:1 SL:151
FA47 70 BVS $FA65 PC:FA48 A:FF X:02 Y:9C P:27 SP:F9 CYC:19 SL:151
FA49 D0 BNE $FA65 PC:FA4A A:FF X:02 Y:9C P:27 SP:F9 CYC:25 SL:151
FA4B 30 BMI $FA65 PC:FA4C A:FF X:02 Y:9C P:27 SP:F9 CYC:31 SL:151
FA4D 90 BCC $FA65 PC:FA4E A:FF X:02 Y:9C P:27 SP:F9 CYC:37 SL:151
FA4F C9 CMP #$FF PC:FA50 A:FF X:02 Y:9C P:27 SP:F9 CYC:43 SL:151
FA51 D0 BNE $FA65 PC:FA52 A:FF X:02 Y:9C P:27 SP:F9 CYC:49 SL:151
FA53 60 RTS PC:FA54 A:FF X:02 Y:9C P:27 SP:F9 CYC:55 SL:151
E9F0 AD LDA $0647 PC:E9F1 A:FF X:02 Y:9C P:27 SP:FB CYC:73 SL:151
E9F3 C9 CMP #$FF PC:E9F4 A:FF X:02 Y:9C P:A5 SP:FB CYC:85 SL:151
E9F5 F0 BEQ $E9F9 PC:E9F6 A:FF X:02 Y:9C P:27 SP:FB CYC:91 SL:151
E9F9 C8 INY PC:E9FA A:FF X:02 Y:9C P:27 SP:FB CYC:100 SL:151
E9FA A9 LDA #$37 PC:E9FB A:FF X:02 Y:9D P:A5 SP:FB CYC:106 SL:151
E9FC 8D STA $0647 PC:E9FD A:37 X:02 Y:9D P:25 SP:FB CYC:112 SL:151
E9FF 20 JSR $FA54 PC:EA00 A:37 X:02 Y:9D P:25 SP:FB CYC:124 SL:151
FA54 24 BIT $01 PC:FA55 A:37 X:02 Y:9D P:25 SP:F9 CYC:142 SL:151
FA56 A9 LDA #$F0 PC:FA57 A:37 X:02 Y:9D P:E5 SP:F9 CYC:151 SL:151
FA58 60 RTS PC:FA59 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:157 SL:151
EA02 CF DCP $0647 PC:EA03 A:F0 X:02 Y:9D P:E5 SP:FB CYC:175 SL:151
EA05 EA NOP PC:EA06 A:F0 X:02 Y:9D P:E5 SP:FB CYC:193 SL:151
EA06 EA NOP PC:EA07 A:F0 X:02 Y:9D P:E5 SP:FB CYC:199 SL:151
EA07 EA NOP PC:EA08 A:F0 X:02 Y:9D P:E5 SP:FB CYC:205 SL:151
EA08 EA NOP PC:EA09 A:F0 X:02 Y:9D P:E5 SP:FB CYC:211 SL:151
EA09 20 JSR $FA59 PC:EA0A A:F0 X:02 Y:9D P:E5 SP:FB CYC:217 SL:151
FA59 50 BVC $FA65 PC:FA5A A:F0 X:02 Y:9D P:E5 SP:F9 CYC:235 SL:151
FA5B F0 BEQ $FA65 PC:FA5C A:F0 X:02 Y:9D P:E5 SP:F9 CYC:241 SL:151
FA5D 10 BPL $FA65 PC:FA5E A:F0 X:02 Y:9D P:E5 SP:F9 CYC:247 SL:151
FA5F 90 BCC $FA65 PC:FA60 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:253 SL:151
FA61 C9 CMP #$F0 PC:FA62 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:259 SL:151
FA63 F0 BEQ $FA67 PC:FA64 A:F0 X:02 Y:9D P:67 SP:F9 CYC:265 SL:151
FA67 60 RTS PC:FA68 A:F0 X:02 Y:9D P:67 SP:F9 CYC:274 SL:151
EA0C AD LDA $0647 PC:EA0D A:F0 X:02 Y:9D P:67 SP:FB CYC:292 SL:151
EA0F C9 CMP #$36 PC:EA10 A:36 X:02 Y:9D P:65 SP:FB CYC:304 SL:151
EA11 F0 BEQ $EA15 PC:EA12 A:36 X:02 Y:9D P:67 SP:FB CYC:310 SL:151
EA15 A9 LDA #$EB PC:EA16 A:36 X:02 Y:9D P:67 SP:FB CYC:319 SL:151
EA17 8D STA $0647 PC:EA18 A:EB X:02 Y:9D P:E5 SP:FB CYC:325 SL:151
EA1A A9 LDA #$48 PC:EA1B A:EB X:02 Y:9D P:E5 SP:FB CYC:337 SL:151
EA1C 85 STA $45 PC:EA1D A:48 X:02 Y:9D P:65 SP:FB CYC:2 SL:152
EA1E A9 LDA #$05 PC:EA1F A:48 X:02 Y:9D P:65 SP:FB CYC:11 SL:152
EA20 85 STA $46 PC:EA21 A:05 X:02 Y:9D P:65 SP:FB CYC:17 SL:152
EA22 A0 LDY #$FF PC:EA23 A:05 X:02 Y:9D P:65 SP:FB CYC:26 SL:152
EA24 20 JSR $FA31 PC:EA25 A:05 X:02 Y:FF P:E5 SP:FB CYC:32 SL:152
FA31 24 BIT $01 PC:FA32 A:05 X:02 Y:FF P:E5 SP:F9 CYC:50 SL:152
FA33 18 CLC PC:FA34 A:05 X:02 Y:FF P:E5 SP:F9 CYC:59 SL:152
FA34 A9 LDA #$40 PC:FA35 A:05 X:02 Y:FF P:E4 SP:F9 CYC:65 SL:152
FA36 60 RTS PC:FA37 A:40 X:02 Y:FF P:64 SP:F9 CYC:71 SL:152
EA27 D3 DCP ($45), y PC:EA28 A:40 X:02 Y:FF P:64 SP:FB CYC:89 SL:152
EA29 EA NOP PC:EA2A A:40 X:02 Y:FF P:64 SP:FB CYC:113 SL:152
EA2A EA NOP PC:EA2B A:40 X:02 Y:FF P:64 SP:FB CYC:119 SL:152
EA2B 08 PHP PC:EA2C A:40 X:02 Y:FF P:64 SP:FB CYC:125 SL:152
EA2C 48 PHA PC:EA2D A:40 X:02 Y:FF P:64 SP:FA CYC:134 SL:152
EA2D A0 LDY #$9E PC:EA2E A:40 X:02 Y:FF P:64 SP:F9 CYC:143 SL:152
EA2F 68 PLA PC:EA30 A:40 X:02 Y:9E P:E4 SP:F9 CYC:149 SL:152
EA30 28 PLP PC:EA31 A:40 X:02 Y:9E P:64 SP:FA CYC:161 SL:152
EA31 20 JSR $FA37 PC:EA32 A:40 X:02 Y:9E P:64 SP:FB CYC:173 SL:152
FA37 50 BVC $FA65 PC:FA38 A:40 X:02 Y:9E P:64 SP:F9 CYC:191 SL:152
FA39 B0 BCS $FA65 PC:FA3A A:40 X:02 Y:9E P:64 SP:F9 CYC:197 SL:152
FA3B 30 BMI $FA65 PC:FA3C A:40 X:02 Y:9E P:64 SP:F9 CYC:203 SL:152
FA3D C9 CMP #$40 PC:FA3E A:40 X:02 Y:9E P:64 SP:F9 CYC:209 SL:152
FA3F D0 BNE $FA65 PC:FA40 A:40 X:02 Y:9E P:67 SP:F9 CYC:215 SL:152
FA41 60 RTS PC:FA42 A:40 X:02 Y:9E P:67 SP:F9 CYC:221 SL:152
EA34 AD LDA $0647 PC:EA35 A:40 X:02 Y:9E P:67 SP:FB CYC:239 SL:152
EA37 C9 CMP #$EA PC:EA38 A:EA X:02 Y:9E P:E5 SP:FB CYC:251 SL:152
EA39 F0 BEQ $EA3D PC:EA3A A:EA X:02 Y:9E P:67 SP:FB CYC:257 SL:152
EA3D A0 LDY #$FF PC:EA3E A:EA X:02 Y:9E P:67 SP:FB CYC:266 SL:152
EA3F A9 LDA #$00 PC:EA40 A:EA X:02 Y:FF P:E5 SP:FB CYC:272 SL:152
EA41 8D STA $0647 PC:EA42 A:00 X:02 Y:FF P:67 SP:FB CYC:278 SL:152
EA44 20 JSR $FA42 PC:EA45 A:00 X:02 Y:FF P:67 SP:FB CYC:290 SL:152
FA42 B8 CLV PC:FA43 A:00 X:02 Y:FF P:67 SP:F9 CYC:308 SL:152
FA43 38 SEC PC:FA44 A:00 X:02 Y:FF P:27 SP:F9 CYC:314 SL:152
FA44 A9 LDA #$FF PC:FA45 A:00 X:02 Y:FF P:27 SP:F9 CYC:320 SL:152
FA46 60 RTS PC:FA47 A:FF X:02 Y:FF P:A5 SP:F9 CYC:326 SL:152
EA47 D3 DCP ($45), y PC:EA48 A:FF X:02 Y:FF P:A5 SP:FB CYC:3 SL:153
EA49 EA NOP PC:EA4A A:FF X:02 Y:FF P:27 SP:FB CYC:27 SL:153
EA4A EA NOP PC:EA4B A:FF X:02 Y:FF P:27 SP:FB CYC:33 SL:153
EA4B 08 PHP PC:EA4C A:FF X:02 Y:FF P:27 SP:FB CYC:39 SL:153
EA4C 48 PHA PC:EA4D A:FF X:02 Y:FF P:27 SP:FA CYC:48 SL:153
EA4D A0 LDY #$9F PC:EA4E A:FF X:02 Y:FF P:27 SP:F9 CYC:57 SL:153
EA4F 68 PLA PC:EA50 A:FF X:02 Y:9F P:A5 SP:F9 CYC:63 SL:153
EA50 28 PLP PC:EA51 A:FF X:02 Y:9F P:A5 SP:FA CYC:75 SL:153
EA51 20 JSR $FA47 PC:EA52 A:FF X:02 Y:9F P:27 SP:FB CYC:87 SL:153
FA47 70 BVS $FA65 PC:FA48 A:FF X:02 Y:9F P:27 SP:F9 CYC:105 SL:153
FA49 D0 BNE $FA65 PC:FA4A A:FF X:02 Y:9F P:27 SP:F9 CYC:111 SL:153
FA4B 30 BMI $FA65 PC:FA4C A:FF X:02 Y:9F P:27 SP:F9 CYC:117 SL:153
FA4D 90 BCC $FA65 PC:FA4E A:FF X:02 Y:9F P:27 SP:F9 CYC:123 SL:153
FA4F C9 CMP #$FF PC:FA50 A:FF X:02 Y:9F P:27 SP:F9 CYC:129 SL:153
FA51 D0 BNE $FA65 PC:FA52 A:FF X:02 Y:9F P:27 SP:F9 CYC:135 SL:153
FA53 60 RTS PC:FA54 A:FF X:02 Y:9F P:27 SP:F9 CYC:141 SL:153
EA54 AD LDA $0647 PC:EA55 A:FF X:02 Y:9F P:27 SP:FB CYC:159 SL:153
EA57 C9 CMP #$FF PC:EA58 A:FF X:02 Y:9F P:A5 SP:FB CYC:171 SL:153
EA59 F0 BEQ $EA5D PC:EA5A A:FF X:02 Y:9F P:27 SP:FB CYC:177 SL:153
EA5D A0 LDY #$FF PC:EA5E A:FF X:02 Y:9F P:27 SP:FB CYC:186 SL:153
EA5F A9 LDA #$37 PC:EA60 A:FF X:02 Y:FF P:A5 SP:FB CYC:192 SL:153
EA61 8D STA $0647 PC:EA62 A:37 X:02 Y:FF P:25 SP:FB CYC:198 SL:153
EA64 20 JSR $FA54 PC:EA65 A:37 X:02 Y:FF P:25 SP:FB CYC:210 SL:153
FA54 24 BIT $01 PC:FA55 A:37 X:02 Y:FF P:25 SP:F9 CYC:228 SL:153
FA56 A9 LDA #$F0 PC:FA57 A:37 X:02 Y:FF P:E5 SP:F9 CYC:237 SL:153
FA58 60 RTS PC:FA59 A:F0 X:02 Y:FF P:E5 SP:F9 CYC:243 SL:153
EA67 D3 DCP ($45), y PC:EA68 A:F0 X:02 Y:FF P:E5 SP:FB CYC:261 SL:153
EA69 EA NOP PC:EA6A A:F0 X:02 Y:FF P:E5 SP:FB CYC:285 SL:153
EA6A EA NOP PC:EA6B A:F0 X:02 Y:FF P:E5 SP:FB CYC:291 SL:153
EA6B 08 PHP PC:EA6C A:F0 X:02 Y:FF P:E5 SP:FB CYC:297 SL:153
EA6C 48 PHA PC:EA6D A:F0 X:02 Y:FF P:E5 SP:FA CYC:306 SL:153
EA6D A0 LDY #$A0 PC:EA6E A:F0 X:02 Y:FF P:E5 SP:F9 CYC:315 SL:153
EA6F 68 PLA PC:EA70 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:321 SL:153
EA70 28 PLP PC:EA71 A:F0 X:02 Y:A0 P:E5 SP:FA CYC:333 SL:153
EA71 20 JSR $FA59 PC:EA72 A:F0 X:02 Y:A0 P:E5 SP:FB CYC:4 SL:154
FA59 50 BVC $FA65 PC:FA5A A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:22 SL:154
FA5B F0 BEQ $FA65 PC:FA5C A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:28 SL:154
FA5D 10 BPL $FA65 PC:FA5E A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:34 SL:154
FA5F 90 BCC $FA65 PC:FA60 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:40 SL:154
FA61 C9 CMP #$F0 PC:FA62 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:46 SL:154
FA63 F0 BEQ $FA67 PC:FA64 A:F0 X:02 Y:A0 P:67 SP:F9 CYC:52 SL:154
FA67 60 RTS PC:FA68 A:F0 X:02 Y:A0 P:67 SP:F9 CYC:61 SL:154
EA74 AD LDA $0647 PC:EA75 A:F0 X:02 Y:A0 P:67 SP:FB CYC:79 SL:154
EA77 C9 CMP #$36 PC:EA78 A:36 X:02 Y:A0 P:65 SP:FB CYC:91 SL:154
EA79 F0 BEQ $EA7D PC:EA7A A:36 X:02 Y:A0 P:67 SP:FB CYC:97 SL:154
EA7D A0 LDY #$A1 PC:EA7E A:36 X:02 Y:A0 P:67 SP:FB CYC:106 SL:154
EA7F A2 LDX #$FF PC:EA80 A:36 X:02 Y:A1 P:E5 SP:FB CYC:112 SL:154
EA81 A9 LDA #$EB PC:EA82 A:36 X:FF Y:A1 P:E5 SP:FB CYC:118 SL:154
EA83 85 STA $47 PC:EA84 A:EB X:FF Y:A1 P:E5 SP:FB CYC:124 SL:154
EA85 20 JSR $FA31 PC:EA86 A:EB X:FF Y:A1 P:E5 SP:FB CYC:133 SL:154
FA31 24 BIT $01 PC:FA32 A:EB X:FF Y:A1 P:E5 SP:F9 CYC:151 SL:154
FA33 18 CLC PC:FA34 A:EB X:FF Y:A1 P:E5 SP:F9 CYC:160 SL:154
FA34 A9 LDA #$40 PC:FA35 A:EB X:FF Y:A1 P:E4 SP:F9 CYC:166 SL:154
FA36 60 RTS PC:FA37 A:40 X:FF Y:A1 P:64 SP:F9 CYC:172 SL:154
EA88 D7 DCP $48,x PC:EA89 A:40 X:FF Y:A1 P:64 SP:FB CYC:190 SL:154
EA8A EA NOP PC:EA8B A:40 X:FF Y:A1 P:64 SP:FB CYC:208 SL:154
EA8B EA NOP PC:EA8C A:40 X:FF Y:A1 P:64 SP:FB CYC:214 SL:154
EA8C EA NOP PC:EA8D A:40 X:FF Y:A1 P:64 SP:FB CYC:220 SL:154
EA8D EA NOP PC:EA8E A:40 X:FF Y:A1 P:64 SP:FB CYC:226 SL:154
EA8E 20 JSR $FA37 PC:EA8F A:40 X:FF Y:A1 P:64 SP:FB CYC:232 SL:154
FA37 50 BVC $FA65 PC:FA38 A:40 X:FF Y:A1 P:64 SP:F9 CYC:250 SL:154
FA39 B0 BCS $FA65 PC:FA3A A:40 X:FF Y:A1 P:64 SP:F9 CYC:256 SL:154
FA3B 30 BMI $FA65 PC:FA3C A:40 X:FF Y:A1 P:64 SP:F9 CYC:262 SL:154
FA3D C9 CMP #$40 PC:FA3E A:40 X:FF Y:A1 P:64 SP:F9 CYC:268 SL:154
FA3F D0 BNE $FA65 PC:FA40 A:40 X:FF Y:A1 P:67 SP:F9 CYC:274 SL:154
FA41 60 RTS PC:FA42 A:40 X:FF Y:A1 P:67 SP:F9 CYC:280 SL:154
EA91 A5 LDA $47 PC:EA92 A:40 X:FF Y:A1 P:67 SP:FB CYC:298 SL:154
EA93 C9 CMP #$EA PC:EA94 A:EA X:FF Y:A1 P:E5 SP:FB CYC:307 SL:154
EA95 F0 BEQ $EA99 PC:EA96 A:EA X:FF Y:A1 P:67 SP:FB CYC:313 SL:154
EA99 C8 INY PC:EA9A A:EA X:FF Y:A1 P:67 SP:FB CYC:322 SL:154
EA9A A9 LDA #$00 PC:EA9B A:EA X:FF Y:A2 P:E5 SP:FB CYC:328 SL:154
EA9C 85 STA $47 PC:EA9D A:00 X:FF Y:A2 P:67 SP:FB CYC:334 SL:154
EA9E 20 JSR $FA42 PC:EA9F A:00 X:FF Y:A2 P:67 SP:FB CYC:2 SL:155
FA42 B8 CLV PC:FA43 A:00 X:FF Y:A2 P:67 SP:F9 CYC:20 SL:155
FA43 38 SEC PC:FA44 A:00 X:FF Y:A2 P:27 SP:F9 CYC:26 SL:155
FA44 A9 LDA #$FF PC:FA45 A:00 X:FF Y:A2 P:27 SP:F9 CYC:32 SL:155
FA46 60 RTS PC:FA47 A:FF X:FF Y:A2 P:A5 SP:F9 CYC:38 SL:155
EAA1 D7 DCP $48,x PC:EAA2 A:FF X:FF Y:A2 P:A5 SP:FB CYC:56 SL:155
EAA3 EA NOP PC:EAA4 A:FF X:FF Y:A2 P:27 SP:FB CYC:74 SL:155
EAA4 EA NOP PC:EAA5 A:FF X:FF Y:A2 P:27 SP:FB CYC:80 SL:155
EAA5 EA NOP PC:EAA6 A:FF X:FF Y:A2 P:27 SP:FB CYC:86 SL:155
EAA6 EA NOP PC:EAA7 A:FF X:FF Y:A2 P:27 SP:FB CYC:92 SL:155
EAA7 20 JSR $FA47 PC:EAA8 A:FF X:FF Y:A2 P:27 SP:FB CYC:98 SL:155
FA47 70 BVS $FA65 PC:FA48 A:FF X:FF Y:A2 P:27 SP:F9 CYC:116 SL:155
FA49 D0 BNE $FA65 PC:FA4A A:FF X:FF Y:A2 P:27 SP:F9 CYC:122 SL:155
FA4B 30 BMI $FA65 PC:FA4C A:FF X:FF Y:A2 P:27 SP:F9 CYC:128 SL:155
FA4D 90 BCC $FA65 PC:FA4E A:FF X:FF Y:A2 P:27 SP:F9 CYC:134 SL:155
FA4F C9 CMP #$FF PC:FA50 A:FF X:FF Y:A2 P:27 SP:F9 CYC:140 SL:155
FA51 D0 BNE $FA65 PC:FA52 A:FF X:FF Y:A2 P:27 SP:F9 CYC:146 SL:155
FA53 60 RTS PC:FA54 A:FF X:FF Y:A2 P:27 SP:F9 CYC:152 SL:155
EAAA A5 LDA $47 PC:EAAB A:FF X:FF Y:A2 P:27 SP:FB CYC:170 SL:155
EAAC C9 CMP #$FF PC:EAAD A:FF X:FF Y:A2 P:A5 SP:FB CYC:179 SL:155
EAAE F0 BEQ $EAB2 PC:EAAF A:FF X:FF Y:A2 P:27 SP:FB CYC:185 SL:155
EAB2 C8 INY PC:EAB3 A:FF X:FF Y:A2 P:27 SP:FB CYC:194 SL:155
EAB3 A9 LDA #$37 PC:EAB4 A:FF X:FF Y:A3 P:A5 SP:FB CYC:200 SL:155
EAB5 85 STA $47 PC:EAB6 A:37 X:FF Y:A3 P:25 SP:FB CYC:206 SL:155
EAB7 20 JSR $FA54 PC:EAB8 A:37 X:FF Y:A3 P:25 SP:FB CYC:215 SL:155
FA54 24 BIT $01 PC:FA55 A:37 X:FF Y:A3 P:25 SP:F9 CYC:233 SL:155
FA56 A9 LDA #$F0 PC:FA57 A:37 X:FF Y:A3 P:E5 SP:F9 CYC:242 SL:155
FA58 60 RTS PC:FA59 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:248 SL:155
EABA D7 DCP $48,x PC:EABB A:F0 X:FF Y:A3 P:E5 SP:FB CYC:266 SL:155
EABC EA NOP PC:EABD A:F0 X:FF Y:A3 P:E5 SP:FB CYC:284 SL:155
EABD EA NOP PC:EABE A:F0 X:FF Y:A3 P:E5 SP:FB CYC:290 SL:155
EABE EA NOP PC:EABF A:F0 X:FF Y:A3 P:E5 SP:FB CYC:296 SL:155
EABF EA NOP PC:EAC0 A:F0 X:FF Y:A3 P:E5 SP:FB CYC:302 SL:155
EAC0 20 JSR $FA59 PC:EAC1 A:F0 X:FF Y:A3 P:E5 SP:FB CYC:308 SL:155
FA59 50 BVC $FA65 PC:FA5A A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:326 SL:155
FA5B F0 BEQ $FA65 PC:FA5C A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:332 SL:155
FA5D 10 BPL $FA65 PC:FA5E A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:338 SL:155
FA5F 90 BCC $FA65 PC:FA60 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:3 SL:156
FA61 C9 CMP #$F0 PC:FA62 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:9 SL:156
FA63 F0 BEQ $FA67 PC:FA64 A:F0 X:FF Y:A3 P:67 SP:F9 CYC:15 SL:156
FA67 60 RTS PC:FA68 A:F0 X:FF Y:A3 P:67 SP:F9 CYC:24 SL:156
EAC3 A5 LDA $47 PC:EAC4 A:F0 X:FF Y:A3 P:67 SP:FB CYC:42 SL:156
EAC5 C9 CMP #$36 PC:EAC6 A:36 X:FF Y:A3 P:65 SP:FB CYC:51 SL:156
EAC7 F0 BEQ $EACB PC:EAC8 A:36 X:FF Y:A3 P:67 SP:FB CYC:57 SL:156
EACB A9 LDA #$EB PC:EACC A:36 X:FF Y:A3 P:67 SP:FB CYC:66 SL:156
EACD 8D STA $0647 PC:EACE A:EB X:FF Y:A3 P:E5 SP:FB CYC:72 SL:156
EAD0 A0 LDY #$FF PC:EAD1 A:EB X:FF Y:A3 P:E5 SP:FB CYC:84 SL:156
EAD2 20 JSR $FA31 PC:EAD3 A:EB X:FF Y:FF P:E5 SP:FB CYC:90 SL:156
FA31 24 BIT $01 PC:FA32 A:EB X:FF Y:FF P:E5 SP:F9 CYC:108 SL:156
FA33 18 CLC PC:FA34 A:EB X:FF Y:FF P:E5 SP:F9 CYC:117 SL:156
FA34 A9 LDA #$40 PC:FA35 A:EB X:FF Y:FF P:E4 SP:F9 CYC:123 SL:156
FA36 60 RTS PC:FA37 A:40 X:FF Y:FF P:64 SP:F9 CYC:129 SL:156
EAD5 DB DCP $0548,y PC:EAD6 A:40 X:FF Y:FF P:64 SP:FB CYC:147 SL:156
EAD8 EA NOP PC:EAD9 A:40 X:FF Y:FF P:64 SP:FB CYC:168 SL:156
EAD9 EA NOP PC:EADA A:40 X:FF Y:FF P:64 SP:FB CYC:174 SL:156
EADA 08 PHP PC:EADB A:40 X:FF Y:FF P:64 SP:FB CYC:180 SL:156
EADB 48 PHA PC:EADC A:40 X:FF Y:FF P:64 SP:FA CYC:189 SL:156
EADC A0 LDY #$A4 PC:EADD A:40 X:FF Y:FF P:64 SP:F9 CYC:198 SL:156
EADE 68 PLA PC:EADF A:40 X:FF Y:A4 P:E4 SP:F9 CYC:204 SL:156
EADF 28 PLP PC:EAE0 A:40 X:FF Y:A4 P:64 SP:FA CYC:216 SL:156
EAE0 20 JSR $FA37 PC:EAE1 A:40 X:FF Y:A4 P:64 SP:FB CYC:228 SL:156
FA37 50 BVC $FA65 PC:FA38 A:40 X:FF Y:A4 P:64 SP:F9 CYC:246 SL:156
FA39 B0 BCS $FA65 PC:FA3A A:40 X:FF Y:A4 P:64 SP:F9 CYC:252 SL:156
FA3B 30 BMI $FA65 PC:FA3C A:40 X:FF Y:A4 P:64 SP:F9 CYC:258 SL:156
FA3D C9 CMP #$40 PC:FA3E A:40 X:FF Y:A4 P:64 SP:F9 CYC:264 SL:156
FA3F D0 BNE $FA65 PC:FA40 A:40 X:FF Y:A4 P:67 SP:F9 CYC:270 SL:156
FA41 60 RTS PC:FA42 A:40 X:FF Y:A4 P:67 SP:F9 CYC:276 SL:156
EAE3 AD LDA $0647 PC:EAE4 A:40 X:FF Y:A4 P:67 SP:FB CYC:294 SL:156
EAE6 C9 CMP #$EA PC:EAE7 A:EA X:FF Y:A4 P:E5 SP:FB CYC:306 SL:156
EAE8 F0 BEQ $EAEC PC:EAE9 A:EA X:FF Y:A4 P:67 SP:FB CYC:312 SL:156
EAEC A0 LDY #$FF PC:EAED A:EA X:FF Y:A4 P:67 SP:FB CYC:321 SL:156
EAEE A9 LDA #$00 PC:EAEF A:EA X:FF Y:FF P:E5 SP:FB CYC:327 SL:156
EAF0 8D STA $0647 PC:EAF1 A:00 X:FF Y:FF P:67 SP:FB CYC:333 SL:156
EAF3 20 JSR $FA42 PC:EAF4 A:00 X:FF Y:FF P:67 SP:FB CYC:4 SL:157
FA42 B8 CLV PC:FA43 A:00 X:FF Y:FF P:67 SP:F9 CYC:22 SL:157
FA43 38 SEC PC:FA44 A:00 X:FF Y:FF P:27 SP:F9 CYC:28 SL:157
FA44 A9 LDA #$FF PC:FA45 A:00 X:FF Y:FF P:27 SP:F9 CYC:34 SL:157
FA46 60 RTS PC:FA47 A:FF X:FF Y:FF P:A5 SP:F9 CYC:40 SL:157
EAF6 DB DCP $0548,y PC:EAF7 A:FF X:FF Y:FF P:A5 SP:FB CYC:58 SL:157
EAF9 EA NOP PC:EAFA A:FF X:FF Y:FF P:27 SP:FB CYC:79 SL:157
EAFA EA NOP PC:EAFB A:FF X:FF Y:FF P:27 SP:FB CYC:85 SL:157
EAFB 08 PHP PC:EAFC A:FF X:FF Y:FF P:27 SP:FB CYC:91 SL:157
EAFC 48 PHA PC:EAFD A:FF X:FF Y:FF P:27 SP:FA CYC:100 SL:157
EAFD A0 LDY #$A5 PC:EAFE A:FF X:FF Y:FF P:27 SP:F9 CYC:109 SL:157
EAFF 68 PLA PC:EB00 A:FF X:FF Y:A5 P:A5 SP:F9 CYC:115 SL:157
EB00 28 PLP PC:EB01 A:FF X:FF Y:A5 P:A5 SP:FA CYC:127 SL:157
EB01 20 JSR $FA47 PC:EB02 A:FF X:FF Y:A5 P:27 SP:FB CYC:139 SL:157
FA47 70 BVS $FA65 PC:FA48 A:FF X:FF Y:A5 P:27 SP:F9 CYC:157 SL:157
FA49 D0 BNE $FA65 PC:FA4A A:FF X:FF Y:A5 P:27 SP:F9 CYC:163 SL:157
FA4B 30 BMI $FA65 PC:FA4C A:FF X:FF Y:A5 P:27 SP:F9 CYC:169 SL:157
FA4D 90 BCC $FA65 PC:FA4E A:FF X:FF Y:A5 P:27 SP:F9 CYC:175 SL:157
FA4F C9 CMP #$FF PC:FA50 A:FF X:FF Y:A5 P:27 SP:F9 CYC:181 SL:157
FA51 D0 BNE $FA65 PC:FA52 A:FF X:FF Y:A5 P:27 SP:F9 CYC:187 SL:157
FA53 60 RTS PC:FA54 A:FF X:FF Y:A5 P:27 SP:F9 CYC:193 SL:157
EB04 AD LDA $0647 PC:EB05 A:FF X:FF Y:A5 P:27 SP:FB CYC:211 SL:157
EB07 C9 CMP #$FF PC:EB08 A:FF X:FF Y:A5 P:A5 SP:FB CYC:223 SL:157
EB09 F0 BEQ $EB0D PC:EB0A A:FF X:FF Y:A5 P:27 SP:FB CYC:229 SL:157
EB0D A0 LDY #$FF PC:EB0E A:FF X:FF Y:A5 P:27 SP:FB CYC:238 SL:157
EB0F A9 LDA #$37 PC:EB10 A:FF X:FF Y:FF P:A5 SP:FB CYC:244 SL:157
EB11 8D STA $0647 PC:EB12 A:37 X:FF Y:FF P:25 SP:FB CYC:250 SL:157
EB14 20 JSR $FA54 PC:EB15 A:37 X:FF Y:FF P:25 SP:FB CYC:262 SL:157
FA54 24 BIT $01 PC:FA55 A:37 X:FF Y:FF P:25 SP:F9 CYC:280 SL:157
FA56 A9 LDA #$F0 PC:FA57 A:37 X:FF Y:FF P:E5 SP:F9 CYC:289 SL:157
FA58 60 RTS PC:FA59 A:F0 X:FF Y:FF P:E5 SP:F9 CYC:295 SL:157
EB17 DB DCP $0548,y PC:EB18 A:F0 X:FF Y:FF P:E5 SP:FB CYC:313 SL:157
EB1A EA NOP PC:EB1B A:F0 X:FF Y:FF P:E5 SP:FB CYC:334 SL:157
EB1B EA NOP PC:EB1C A:F0 X:FF Y:FF P:E5 SP:FB CYC:340 SL:157
EB1C 08 PHP PC:EB1D A:F0 X:FF Y:FF P:E5 SP:FB CYC:5 SL:158
EB1D 48 PHA PC:EB1E A:F0 X:FF Y:FF P:E5 SP:FA CYC:14 SL:158
EB1E A0 LDY #$A6 PC:EB1F A:F0 X:FF Y:FF P:E5 SP:F9 CYC:23 SL:158
EB20 68 PLA PC:EB21 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:29 SL:158
EB21 28 PLP PC:EB22 A:F0 X:FF Y:A6 P:E5 SP:FA CYC:41 SL:158
EB22 20 JSR $FA59 PC:EB23 A:F0 X:FF Y:A6 P:E5 SP:FB CYC:53 SL:158
FA59 50 BVC $FA65 PC:FA5A A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:71 SL:158
FA5B F0 BEQ $FA65 PC:FA5C A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:77 SL:158
FA5D 10 BPL $FA65 PC:FA5E A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:83 SL:158
FA5F 90 BCC $FA65 PC:FA60 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:89 SL:158
FA61 C9 CMP #$F0 PC:FA62 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:95 SL:158
FA63 F0 BEQ $FA67 PC:FA64 A:F0 X:FF Y:A6 P:67 SP:F9 CYC:101 SL:158
FA67 60 RTS PC:FA68 A:F0 X:FF Y:A6 P:67 SP:F9 CYC:110 SL:158
EB25 AD LDA $0647 PC:EB26 A:F0 X:FF Y:A6 P:67 SP:FB CYC:128 SL:158
EB28 C9 CMP #$36 PC:EB29 A:36 X:FF Y:A6 P:65 SP:FB CYC:140 SL:158
EB2A F0 BEQ $EB2E PC:EB2B A:36 X:FF Y:A6 P:67 SP:FB CYC:146 SL:158
EB2E A0 LDY #$A7 PC:EB2F A:36 X:FF Y:A6 P:67 SP:FB CYC:155 SL:158
EB30 A2 LDX #$FF PC:EB31 A:36 X:FF Y:A7 P:E5 SP:FB CYC:161 SL:158
EB32 A9 LDA #$EB PC:EB33 A:36 X:FF Y:A7 P:E5 SP:FB CYC:167 SL:158
EB34 8D STA $0647 PC:EB35 A:EB X:FF Y:A7 P:E5 SP:FB CYC:173 SL:158
EB37 20 JSR $FA31 PC:EB38 A:EB X:FF Y:A7 P:E5 SP:FB CYC:185 SL:158
FA31 24 BIT $01 PC:FA32 A:EB X:FF Y:A7 P:E5 SP:F9 CYC:203 SL:158
FA33 18 CLC PC:FA34 A:EB X:FF Y:A7 P:E5 SP:F9 CYC:212 SL:158
FA34 A9 LDA #$40 PC:FA35 A:EB X:FF Y:A7 P:E4 SP:F9 CYC:218 SL:158
FA36 60 RTS PC:FA37 A:40 X:FF Y:A7 P:64 SP:F9 CYC:224 SL:158
EB3A DF DCP $0548,x PC:EB3B A:40 X:FF Y:A7 P:64 SP:FB CYC:242 SL:158
EB3D EA NOP PC:EB3E A:40 X:FF Y:A7 P:64 SP:FB CYC:263 SL:158
EB3E EA NOP PC:EB3F A:40 X:FF Y:A7 P:64 SP:FB CYC:269 SL:158
EB3F EA NOP PC:EB40 A:40 X:FF Y:A7 P:64 SP:FB CYC:275 SL:158
EB40 EA NOP PC:EB41 A:40 X:FF Y:A7 P:64 SP:FB CYC:281 SL:158
EB41 20 JSR $FA37 PC:EB42 A:40 X:FF Y:A7 P:64 SP:FB CYC:287 SL:158
FA37 50 BVC $FA65 PC:FA38 A:40 X:FF Y:A7 P:64 SP:F9 CYC:305 SL:158
FA39 B0 BCS $FA65 PC:FA3A A:40 X:FF Y:A7 P:64 SP:F9 CYC:311 SL:158
FA3B 30 BMI $FA65 PC:FA3C A:40 X:FF Y:A7 P:64 SP:F9 CYC:317 SL:158
FA3D C9 CMP #$40 PC:FA3E A:40 X:FF Y:A7 P:64 SP:F9 CYC:323 SL:158
FA3F D0 BNE $FA65 PC:FA40 A:40 X:FF Y:A7 P:67 SP:F9 CYC:329 SL:158
FA41 60 RTS PC:FA42 A:40 X:FF Y:A7 P:67 SP:F9 CYC:335 SL:158
EB44 AD LDA $0647 PC:EB45 A:40 X:FF Y:A7 P:67 SP:FB CYC:12 SL:159
EB47 C9 CMP #$EA PC:EB48 A:EA X:FF Y:A7 P:E5 SP:FB CYC:24 SL:159
EB49 F0 BEQ $EB4D PC:EB4A A:EA X:FF Y:A7 P:67 SP:FB CYC:30 SL:159
EB4D C8 INY PC:EB4E A:EA X:FF Y:A7 P:67 SP:FB CYC:39 SL:159
EB4E A9 LDA #$00 PC:EB4F A:EA X:FF Y:A8 P:E5 SP:FB CYC:45 SL:159
EB50 8D STA $0647 PC:EB51 A:00 X:FF Y:A8 P:67 SP:FB CYC:51 SL:159
EB53 20 JSR $FA42 PC:EB54 A:00 X:FF Y:A8 P:67 SP:FB CYC:63 SL:159
FA42 B8 CLV PC:FA43 A:00 X:FF Y:A8 P:67 SP:F9 CYC:81 SL:159
FA43 38 SEC PC:FA44 A:00 X:FF Y:A8 P:27 SP:F9 CYC:87 SL:159
FA44 A9 LDA #$FF PC:FA45 A:00 X:FF Y:A8 P:27 SP:F9 CYC:93 SL:159
FA46 60 RTS PC:FA47 A:FF X:FF Y:A8 P:A5 SP:F9 CYC:99 SL:159
EB56 DF DCP $0548,x PC:EB57 A:FF X:FF Y:A8 P:A5 SP:FB CYC:117 SL:159
EB59 EA NOP PC:EB5A A:FF X:FF Y:A8 P:27 SP:FB CYC:138 SL:159
EB5A EA NOP PC:EB5B A:FF X:FF Y:A8 P:27 SP:FB CYC:144 SL:159
EB5B EA NOP PC:EB5C A:FF X:FF Y:A8 P:27 SP:FB CYC:150 SL:159
EB5C EA NOP PC:EB5D A:FF X:FF Y:A8 P:27 SP:FB CYC:156 SL:159
EB5D 20 JSR $FA47 PC:EB5E A:FF X:FF Y:A8 P:27 SP:FB CYC:162 SL:159
FA47 70 BVS $FA65 PC:FA48 A:FF X:FF Y:A8 P:27 SP:F9 CYC:180 SL:159
FA49 D0 BNE $FA65 PC:FA4A A:FF X:FF Y:A8 P:27 SP:F9 CYC:186 SL:159
FA4B 30 BMI $FA65 PC:FA4C A:FF X:FF Y:A8 P:27 SP:F9 CYC:192 SL:159
FA4D 90 BCC $FA65 PC:FA4E A:FF X:FF Y:A8 P:27 SP:F9 CYC:198 SL:159
FA4F C9 CMP #$FF PC:FA50 A:FF X:FF Y:A8 P:27 SP:F9 CYC:204 SL:159
FA51 D0 BNE $FA65 PC:FA52 A:FF X:FF Y:A8 P:27 SP:F9 CYC:210 SL:159
FA53 60 RTS PC:FA54 A:FF X:FF Y:A8 P:27 SP:F9 CYC:216 SL:159
EB60 AD LDA $0647 PC:EB61 A:FF X:FF Y:A8 P:27 SP:FB CYC:234 SL:159
EB63 C9 CMP #$FF PC:EB64 A:FF X:FF Y:A8 P:A5 SP:FB CYC:246 SL:159
EB65 F0 BEQ $EB69 PC:EB66 A:FF X:FF Y:A8 P:27 SP:FB CYC:252 SL:159
EB69 C8 INY PC:EB6A A:FF X:FF Y:A8 P:27 SP:FB CYC:261 SL:159
EB6A A9 LDA #$37 PC:EB6B A:FF X:FF Y:A9 P:A5 SP:FB CYC:267 SL:159
EB6C 8D STA $0647 PC:EB6D A:37 X:FF Y:A9 P:25 SP:FB CYC:273 SL:159
EB6F 20 JSR $FA54 PC:EB70 A:37 X:FF Y:A9 P:25 SP:FB CYC:285 SL:159
FA54 24 BIT $01 PC:FA55 A:37 X:FF Y:A9 P:25 SP:F9 CYC:303 SL:159
FA56 A9 LDA #$F0 PC:FA57 A:37 X:FF Y:A9 P:E5 SP:F9 CYC:312 SL:159
FA58 60 RTS PC:FA59 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:318 SL:159
EB72 DF DCP $0548,x PC:EB73 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:336 SL:159
EB75 EA NOP PC:EB76 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:16 SL:160
EB76 EA NOP PC:EB77 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:22 SL:160
EB77 EA NOP PC:EB78 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:28 SL:160
EB78 EA NOP PC:EB79 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:34 SL:160
EB79 20 JSR $FA59 PC:EB7A A:F0 X:FF Y:A9 P:E5 SP:FB CYC:40 SL:160
FA59 50 BVC $FA65 PC:FA5A A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:58 SL:160
FA5B F0 BEQ $FA65 PC:FA5C A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:64 SL:160
FA5D 10 BPL $FA65 PC:FA5E A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:70 SL:160
FA5F 90 BCC $FA65 PC:FA60 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:76 SL:160
FA61 C9 CMP #$F0 PC:FA62 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:82 SL:160
FA63 F0 BEQ $FA67 PC:FA64 A:F0 X:FF Y:A9 P:67 SP:F9 CYC:88 SL:160
FA67 60 RTS PC:FA68 A:F0 X:FF Y:A9 P:67 SP:F9 CYC:97 SL:160
EB7C AD LDA $0647 PC:EB7D A:F0 X:FF Y:A9 P:67 SP:FB CYC:115 SL:160
EB7F C9 CMP #$36 PC:EB80 A:36 X:FF Y:A9 P:65 SP:FB CYC:127 SL:160
EB81 F0 BEQ $EB85 PC:EB82 A:36 X:FF Y:A9 P:67 SP:FB CYC:133 SL:160
EB85 60 RTS PC:EB86 A:36 X:FF Y:A9 P:67 SP:FB CYC:142 SL:160
C63E 20 JSR $EB86 PC:C63F A:36 X:FF Y:A9 P:67 SP:FD CYC:160 SL:160
EB86 A9 LDA #$FF PC:EB87 A:36 X:FF Y:A9 P:67 SP:FB CYC:178 SL:160
EB88 85 STA $01 PC:EB89 A:FF X:FF Y:A9 P:E5 SP:FB CYC:184 SL:160
EB8A A0 LDY #$AA PC:EB8B A:FF X:FF Y:A9 P:E5 SP:FB CYC:193 SL:160
EB8C A2 LDX #$02 PC:EB8D A:FF X:FF Y:AA P:E5 SP:FB CYC:199 SL:160
EB8E A9 LDA #$47 PC:EB8F A:FF X:02 Y:AA P:65 SP:FB CYC:205 SL:160
EB90 85 STA $47 PC:EB91 A:47 X:02 Y:AA P:65 SP:FB CYC:211 SL:160
EB92 A9 LDA #$06 PC:EB93 A:47 X:02 Y:AA P:65 SP:FB CYC:220 SL:160
EB94 85 STA $48 PC:EB95 A:06 X:02 Y:AA P:65 SP:FB CYC:226 SL:160
EB96 A9 LDA #$EB PC:EB97 A:06 X:02 Y:AA P:65 SP:FB CYC:235 SL:160
EB98 8D STA $0647 PC:EB99 A:EB X:02 Y:AA P:E5 SP:FB CYC:241 SL:160
EB9B 20 JSR $FAB1 PC:EB9C A:EB X:02 Y:AA P:E5 SP:FB CYC:253 SL:160
FAB1 24 BIT $01 PC:FAB2 A:EB X:02 Y:AA P:E5 SP:F9 CYC:271 SL:160
FAB3 18 CLC PC:FAB4 A:EB X:02 Y:AA P:E5 SP:F9 CYC:280 SL:160
FAB4 A9 LDA #$40 PC:FAB5 A:EB X:02 Y:AA P:E4 SP:F9 CYC:286 SL:160
FAB6 60 RTS PC:FAB7 A:40 X:02 Y:AA P:64 SP:F9 CYC:292 SL:160
EB9E E3 ISC $(EA45,x) PC:EB9F A:40 X:02 Y:AA P:64 SP:FB CYC:310 SL:160
EBA0 EA NOP PC:EBA1 A:53 X:02 Y:AA P:24 SP:FB CYC:334 SL:160
EBA1 EA NOP PC:EBA2 A:53 X:02 Y:AA P:24 SP:FB CYC:340 SL:160
EBA2 EA NOP PC:EBA3 A:53 X:02 Y:AA P:24 SP:FB CYC:5 SL:161
EBA3 EA NOP PC:EBA4 A:53 X:02 Y:AA P:24 SP:FB CYC:11 SL:161
EBA4 20 JSR $FAB7 PC:EBA5 A:53 X:02 Y:AA P:24 SP:FB CYC:17 SL:161
FAB7 70 BVS $FAE6 PC:FAB8 A:53 X:02 Y:AA P:24 SP:F9 CYC:35 SL:161
FAB9 B0 BCS $FAE6 PC:FABA A:53 X:02 Y:AA P:24 SP:F9 CYC:41 SL:161
FABB 30 BMI $FAE6 PC:FABC A:53 X:02 Y:AA P:24 SP:F9 CYC:47 SL:161
FABD C9 CMP #$53 PC:FABE A:53 X:02 Y:AA P:24 SP:F9 CYC:53 SL:161
FABF D0 BNE $FAE6 PC:FAC0 A:53 X:02 Y:AA P:27 SP:F9 CYC:59 SL:161
FAC1 60 RTS PC:FAC2 A:53 X:02 Y:AA P:27 SP:F9 CYC:65 SL:161
EBA7 AD LDA $0647 PC:EBA8 A:53 X:02 Y:AA P:27 SP:FB CYC:83 SL:161
EBAA C9 CMP #$EC PC:EBAB A:EC X:02 Y:AA P:A5 SP:FB CYC:95 SL:161
EBAC F0 BEQ $EBB0 PC:EBAD A:EC X:02 Y:AA P:27 SP:FB CYC:101 SL:161
EBB0 C8 INY PC:EBB1 A:EC X:02 Y:AA P:27 SP:FB CYC:110 SL:161
EBB1 A9 LDA #$FF PC:EBB2 A:EC X:02 Y:AB P:A5 SP:FB CYC:116 SL:161
EBB3 8D STA $0647 PC:EBB4 A:FF X:02 Y:AB P:A5 SP:FB CYC:122 SL:161
EBB6 20 JSR $FAC2 PC:EBB7 A:FF X:02 Y:AB P:A5 SP:FB CYC:134 SL:161
FAC2 B8 CLV PC:FAC3 A:FF X:02 Y:AB P:A5 SP:F9 CYC:152 SL:161
FAC3 38 SEC PC:FAC4 A:FF X:02 Y:AB P:A5 SP:F9 CYC:158 SL:161
FAC4 A9 LDA #$FF PC:FAC5 A:FF X:02 Y:AB P:A5 SP:F9 CYC:164 SL:161
FAC6 60 RTS PC:FAC7 A:FF X:02 Y:AB P:A5 SP:F9 CYC:170 SL:161
EBB9 E3 ISC $(EA45,x) PC:EBBA A:FF X:02 Y:AB P:A5 SP:FB CYC:188 SL:161
EBBB EA NOP PC:EBBC A:FF X:02 Y:AB P:A5 SP:FB CYC:212 SL:161
EBBC EA NOP PC:EBBD A:FF X:02 Y:AB P:A5 SP:FB CYC:218 SL:161
EBBD EA NOP PC:EBBE A:FF X:02 Y:AB P:A5 SP:FB CYC:224 SL:161
EBBE EA NOP PC:EBBF A:FF X:02 Y:AB P:A5 SP:FB CYC:230 SL:161
EBBF 20 JSR $FAC7 PC:EBC0 A:FF X:02 Y:AB P:A5 SP:FB CYC:236 SL:161
FAC7 70 BVS $FAE6 PC:FAC8 A:FF X:02 Y:AB P:A5 SP:F9 CYC:254 SL:161
FAC9 F0 BEQ $FAE6 PC:FACA A:FF X:02 Y:AB P:A5 SP:F9 CYC:260 SL:161
FACB 10 BPL $FAE6 PC:FACC A:FF X:02 Y:AB P:A5 SP:F9 CYC:266 SL:161
FACD 90 BCC $FAE6 PC:FACE A:FF X:02 Y:AB P:A5 SP:F9 CYC:272 SL:161
FACF C9 CMP #$FF PC:FAD0 A:FF X:02 Y:AB P:A5 SP:F9 CYC:278 SL:161
FAD1 D0 BNE $FAE6 PC:FAD2 A:FF X:02 Y:AB P:27 SP:F9 CYC:284 SL:161
FAD3 60 RTS PC:FAD4 A:FF X:02 Y:AB P:27 SP:F9 CYC:290 SL:161
EBC2 AD LDA $0647 PC:EBC3 A:FF X:02 Y:AB P:27 SP:FB CYC:308 SL:161
EBC5 C9 CMP #$00 PC:EBC6 A:00 X:02 Y:AB P:27 SP:FB CYC:320 SL:161
EBC7 F0 BEQ $EBCB PC:EBC8 A:00 X:02 Y:AB P:27 SP:FB CYC:326 SL:161
EBCB C8 INY PC:EBCC A:00 X:02 Y:AB P:27 SP:FB CYC:335 SL:161
EBCC A9 LDA #$37 PC:EBCD A:00 X:02 Y:AC P:A5 SP:FB CYC:0 SL:162
EBCE 8D STA $0647 PC:EBCF A:37 X:02 Y:AC P:25 SP:FB CYC:6 SL:162
EBD1 20 JSR $FAD4 PC:EBD2 A:37 X:02 Y:AC P:25 SP:FB CYC:18 SL:162
FAD4 24 BIT $01 PC:FAD5 A:37 X:02 Y:AC P:25 SP:F9 CYC:36 SL:162
FAD6 38 SEC PC:FAD7 A:37 X:02 Y:AC P:E5 SP:F9 CYC:45 SL:162
FAD7 A9 LDA #$F0 PC:FAD8 A:37 X:02 Y:AC P:E5 SP:F9 CYC:51 SL:162
FAD9 60 RTS PC:FADA A:F0 X:02 Y:AC P:E5 SP:F9 CYC:57 SL:162
EBD4 E3 ISC $(EA45,x) PC:EBD5 A:F0 X:02 Y:AC P:E5 SP:FB CYC:75 SL:162
EBD6 EA NOP PC:EBD7 A:B8 X:02 Y:AC P:A5 SP:FB CYC:99 SL:162
EBD7 EA NOP PC:EBD8 A:B8 X:02 Y:AC P:A5 SP:FB CYC:105 SL:162
EBD8 EA NOP PC:EBD9 A:B8 X:02 Y:AC P:A5 SP:FB CYC:111 SL:162
EBD9 EA NOP PC:EBDA A:B8 X:02 Y:AC P:A5 SP:FB CYC:117 SL:162
EBDA 20 JSR $FADA PC:EBDB A:B8 X:02 Y:AC P:A5 SP:FB CYC:123 SL:162
FADA 70 BVS $FAE6 PC:FADB A:B8 X:02 Y:AC P:A5 SP:F9 CYC:141 SL:162
FADC F0 BEQ $FAE6 PC:FADD A:B8 X:02 Y:AC P:A5 SP:F9 CYC:147 SL:162
FADE 10 BPL $FAE6 PC:FADF A:B8 X:02 Y:AC P:A5 SP:F9 CYC:153 SL:162
FAE0 90 BCC $FAE6 PC:FAE1 A:B8 X:02 Y:AC P:A5 SP:F9 CYC:159 SL:162
FAE2 C9 CMP #$B8 PC:FAE3 A:B8 X:02 Y:AC P:A5 SP:F9 CYC:165 SL:162
FAE4 F0 BEQ $FAE8 PC:FAE5 A:B8 X:02 Y:AC P:27 SP:F9 CYC:171 SL:162
FAE8 60 RTS PC:FAE9 A:B8 X:02 Y:AC P:27 SP:F9 CYC:180 SL:162
EBDD AD LDA $0647 PC:EBDE A:B8 X:02 Y:AC P:27 SP:FB CYC:198 SL:162
EBE0 C9 CMP #$38 PC:EBE1 A:38 X:02 Y:AC P:25 SP:FB CYC:210 SL:162
EBE2 F0 BEQ $EBE6 PC:EBE3 A:38 X:02 Y:AC P:27 SP:FB CYC:216 SL:162
EBE6 C8 INY PC:EBE7 A:38 X:02 Y:AC P:27 SP:FB CYC:225 SL:162
EBE7 A9 LDA #$EB PC:EBE8 A:38 X:02 Y:AD P:A5 SP:FB CYC:231 SL:162
EBE9 85 STA $47 PC:EBEA A:EB X:02 Y:AD P:A5 SP:FB CYC:237 SL:162
EBEB 20 JSR $FAB1 PC:EBEC A:EB X:02 Y:AD P:A5 SP:FB CYC:246 SL:162
FAB1 24 BIT $01 PC:FAB2 A:EB X:02 Y:AD P:A5 SP:F9 CYC:264 SL:162
FAB3 18 CLC PC:FAB4 A:EB X:02 Y:AD P:E5 SP:F9 CYC:273 SL:162
FAB4 A9 LDA #$40 PC:FAB5 A:EB X:02 Y:AD P:E4 SP:F9 CYC:279 SL:162
FAB6 60 RTS PC:FAB7 A:40 X:02 Y:AD P:64 SP:F9 CYC:285 SL:162
EBEE E7 ISC $47 PC:EBEF A:40 X:02 Y:AD P:64 SP:FB CYC:303 SL:162
EBF0 EA NOP PC:EBF1 A:53 X:02 Y:AD P:24 SP:FB CYC:318 SL:162
EBF1 EA NOP PC:EBF2 A:53 X:02 Y:AD P:24 SP:FB CYC:324 SL:162
EBF2 EA NOP PC:EBF3 A:53 X:02 Y:AD P:24 SP:FB CYC:330 SL:162
EBF3 EA NOP PC:EBF4 A:53 X:02 Y:AD P:24 SP:FB CYC:336 SL:162
EBF4 20 JSR $FAB7 PC:EBF5 A:53 X:02 Y:AD P:24 SP:FB CYC:1 SL:163
FAB7 70 BVS $FAE6 PC:FAB8 A:53 X:02 Y:AD P:24 SP:F9 CYC:19 SL:163
FAB9 B0 BCS $FAE6 PC:FABA A:53 X:02 Y:AD P:24 SP:F9 CYC:25 SL:163
FABB 30 BMI $FAE6 PC:FABC A:53 X:02 Y:AD P:24 SP:F9 CYC:31 SL:163
FABD C9 CMP #$53 PC:FABE A:53 X:02 Y:AD P:24 SP:F9 CYC:37 SL:163
FABF D0 BNE $FAE6 PC:FAC0 A:53 X:02 Y:AD P:27 SP:F9 CYC:43 SL:163
FAC1 60 RTS PC:FAC2 A:53 X:02 Y:AD P:27 SP:F9 CYC:49 SL:163
EBF7 A5 LDA $47 PC:EBF8 A:53 X:02 Y:AD P:27 SP:FB CYC:67 SL:163
EBF9 C9 CMP #$EC PC:EBFA A:EC X:02 Y:AD P:A5 SP:FB CYC:76 SL:163
EBFB F0 BEQ $EBFF PC:EBFC A:EC X:02 Y:AD P:27 SP:FB CYC:82 SL:163
EBFF C8 INY PC:EC00 A:EC X:02 Y:AD P:27 SP:FB CYC:91 SL:163
EC00 A9 LDA #$FF PC:EC01 A:EC X:02 Y:AE P:A5 SP:FB CYC:97 SL:163
EC02 85 STA $47 PC:EC03 A:FF X:02 Y:AE P:A5 SP:FB CYC:103 SL:163
EC04 20 JSR $FAC2 PC:EC05 A:FF X:02 Y:AE P:A5 SP:FB CYC:112 SL:163
FAC2 B8 CLV PC:FAC3 A:FF X:02 Y:AE P:A5 SP:F9 CYC:130 SL:163
FAC3 38 SEC PC:FAC4 A:FF X:02 Y:AE P:A5 SP:F9 CYC:136 SL:163
FAC4 A9 LDA #$FF PC:FAC5 A:FF X:02 Y:AE P:A5 SP:F9 CYC:142 SL:163
FAC6 60 RTS PC:FAC7 A:FF X:02 Y:AE P:A5 SP:F9 CYC:148 SL:163
EC07 E7 ISC $47 PC:EC08 A:FF X:02 Y:AE P:A5 SP:FB CYC:166 SL:163
EC09 EA NOP PC:EC0A A:FF X:02 Y:AE P:A5 SP:FB CYC:181 SL:163
EC0A EA NOP PC:EC0B A:FF X:02 Y:AE P:A5 SP:FB CYC:187 SL:163
EC0B EA NOP PC:EC0C A:FF X:02 Y:AE P:A5 SP:FB CYC:193 SL:163
EC0C EA NOP PC:EC0D A:FF X:02 Y:AE P:A5 SP:FB CYC:199 SL:163
EC0D 20 JSR $FAC7 PC:EC0E A:FF X:02 Y:AE P:A5 SP:FB CYC:205 SL:163
FAC7 70 BVS $FAE6 PC:FAC8 A:FF X:02 Y:AE P:A5 SP:F9 CYC:223 SL:163
FAC9 F0 BEQ $FAE6 PC:FACA A:FF X:02 Y:AE P:A5 SP:F9 CYC:229 SL:163
FACB 10 BPL $FAE6 PC:FACC A:FF X:02 Y:AE P:A5 SP:F9 CYC:235 SL:163
FACD 90 BCC $FAE6 PC:FACE A:FF X:02 Y:AE P:A5 SP:F9 CYC:241 SL:163
FACF C9 CMP #$FF PC:FAD0 A:FF X:02 Y:AE P:A5 SP:F9 CYC:247 SL:163
FAD1 D0 BNE $FAE6 PC:FAD2 A:FF X:02 Y:AE P:27 SP:F9 CYC:253 SL:163
FAD3 60 RTS PC:FAD4 A:FF X:02 Y:AE P:27 SP:F9 CYC:259 SL:163
EC10 A5 LDA $47 PC:EC11 A:FF X:02 Y:AE P:27 SP:FB CYC:277 SL:163
EC12 C9 CMP #$00 PC:EC13 A:00 X:02 Y:AE P:27 SP:FB CYC:286 SL:163
EC14 F0 BEQ $EC18 PC:EC15 A:00 X:02 Y:AE P:27 SP:FB CYC:292 SL:163
EC18 C8 INY PC:EC19 A:00 X:02 Y:AE P:27 SP:FB CYC:301 SL:163
EC19 A9 LDA #$37 PC:EC1A A:00 X:02 Y:AF P:A5 SP:FB CYC:307 SL:163
EC1B 85 STA $47 PC:EC1C A:37 X:02 Y:AF P:25 SP:FB CYC:313 SL:163
EC1D 20 JSR $FAD4 PC:EC1E A:37 X:02 Y:AF P:25 SP:FB CYC:322 SL:163
FAD4 24 BIT $01 PC:FAD5 A:37 X:02 Y:AF P:25 SP:F9 CYC:340 SL:163
FAD6 38 SEC PC:FAD7 A:37 X:02 Y:AF P:E5 SP:F9 CYC:8 SL:164
FAD7 A9 LDA #$F0 PC:FAD8 A:37 X:02 Y:AF P:E5 SP:F9 CYC:14 SL:164
FAD9 60 RTS PC:FADA A:F0 X:02 Y:AF P:E5 SP:F9 CYC:20 SL:164
EC20 E7 ISC $47 PC:EC21 A:F0 X:02 Y:AF P:E5 SP:FB CYC:38 SL:164
EC22 EA NOP PC:EC23 A:B8 X:02 Y:AF P:A5 SP:FB CYC:53 SL:164
EC23 EA NOP PC:EC24 A:B8 X:02 Y:AF P:A5 SP:FB CYC:59 SL:164
EC24 EA NOP PC:EC25 A:B8 X:02 Y:AF P:A5 SP:FB CYC:65 SL:164
EC25 EA NOP PC:EC26 A:B8 X:02 Y:AF P:A5 SP:FB CYC:71 SL:164
EC26 20 JSR $FADA PC:EC27 A:B8 X:02 Y:AF P:A5 SP:FB CYC:77 SL:164
FADA 70 BVS $FAE6 PC:FADB A:B8 X:02 Y:AF P:A5 SP:F9 CYC:95 SL:164
FADC F0 BEQ $FAE6 PC:FADD A:B8 X:02 Y:AF P:A5 SP:F9 CYC:101 SL:164
FADE 10 BPL $FAE6 PC:FADF A:B8 X:02 Y:AF P:A5 SP:F9 CYC:107 SL:164
FAE0 90 BCC $FAE6 PC:FAE1 A:B8 X:02 Y:AF P:A5 SP:F9 CYC:113 SL:164
FAE2 C9 CMP #$B8 PC:FAE3 A:B8 X:02 Y:AF P:A5 SP:F9 CYC:119 SL:164
FAE4 F0 BEQ $FAE8 PC:FAE5 A:B8 X:02 Y:AF P:27 SP:F9 CYC:125 SL:164
FAE8 60 RTS PC:FAE9 A:B8 X:02 Y:AF P:27 SP:F9 CYC:134 SL:164
EC29 A5 LDA $47 PC:EC2A A:B8 X:02 Y:AF P:27 SP:FB CYC:152 SL:164
EC2B C9 CMP #$38 PC:EC2C A:38 X:02 Y:AF P:25 SP:FB CYC:161 SL:164
EC2D F0 BEQ $EC31 PC:EC2E A:38 X:02 Y:AF P:27 SP:FB CYC:167 SL:164
EC31 C8 INY PC:EC32 A:38 X:02 Y:AF P:27 SP:FB CYC:176 SL:164
EC32 A9 LDA #$EB PC:EC33 A:38 X:02 Y:B0 P:A5 SP:FB CYC:182 SL:164
EC34 8D STA $0647 PC:EC35 A:EB X:02 Y:B0 P:A5 SP:FB CYC:188 SL:164
EC37 20 JSR $FAB1 PC:EC38 A:EB X:02 Y:B0 P:A5 SP:FB CYC:200 SL:164
FAB1 24 BIT $01 PC:FAB2 A:EB X:02 Y:B0 P:A5 SP:F9 CYC:218 SL:164
FAB3 18 CLC PC:FAB4 A:EB X:02 Y:B0 P:E5 SP:F9 CYC:227 SL:164
FAB4 A9 LDA #$40 PC:FAB5 A:EB X:02 Y:B0 P:E4 SP:F9 CYC:233 SL:164
FAB6 60 RTS PC:FAB7 A:40 X:02 Y:B0 P:64 SP:F9 CYC:239 SL:164
EC3A EF ISC $0647 PC:EC3B A:40 X:02 Y:B0 P:64 SP:FB CYC:257 SL:164
EC3D EA NOP PC:EC3E A:53 X:02 Y:B0 P:24 SP:FB CYC:275 SL:164
EC3E EA NOP PC:EC3F A:53 X:02 Y:B0 P:24 SP:FB CYC:281 SL:164
EC3F EA NOP PC:EC40 A:53 X:02 Y:B0 P:24 SP:FB CYC:287 SL:164
EC40 EA NOP PC:EC41 A:53 X:02 Y:B0 P:24 SP:FB CYC:293 SL:164
EC41 20 JSR $FAB7 PC:EC42 A:53 X:02 Y:B0 P:24 SP:FB CYC:299 SL:164
FAB7 70 BVS $FAE6 PC:FAB8 A:53 X:02 Y:B0 P:24 SP:F9 CYC:317 SL:164
FAB9 B0 BCS $FAE6 PC:FABA A:53 X:02 Y:B0 P:24 SP:F9 CYC:323 SL:164
FABB 30 BMI $FAE6 PC:FABC A:53 X:02 Y:B0 P:24 SP:F9 CYC:329 SL:164
FABD C9 CMP #$53 PC:FABE A:53 X:02 Y:B0 P:24 SP:F9 CYC:335 SL:164
FABF D0 BNE $FAE6 PC:FAC0 A:53 X:02 Y:B0 P:27 SP:F9 CYC:0 SL:165
FAC1 60 RTS PC:FAC2 A:53 X:02 Y:B0 P:27 SP:F9 CYC:6 SL:165
EC44 AD LDA $0647 PC:EC45 A:53 X:02 Y:B0 P:27 SP:FB CYC:24 SL:165
EC47 C9 CMP #$EC PC:EC48 A:EC X:02 Y:B0 P:A5 SP:FB CYC:36 SL:165
EC49 F0 BEQ $EC4D PC:EC4A A:EC X:02 Y:B0 P:27 SP:FB CYC:42 SL:165
EC4D C8 INY PC:EC4E A:EC X:02 Y:B0 P:27 SP:FB CYC:51 SL:165
EC4E A9 LDA #$FF PC:EC4F A:EC X:02 Y:B1 P:A5 SP:FB CYC:57 SL:165
EC50 8D STA $0647 PC:EC51 A:FF X:02 Y:B1 P:A5 SP:FB CYC:63 SL:165
EC53 20 JSR $FAC2 PC:EC54 A:FF X:02 Y:B1 P:A5 SP:FB CYC:75 SL:165
FAC2 B8 CLV PC:FAC3 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:93 SL:165
FAC3 38 SEC PC:FAC4 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:99 SL:165
FAC4 A9 LDA #$FF PC:FAC5 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:105 SL:165
FAC6 60 RTS PC:FAC7 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:111 SL:165
EC56 EF ISC $0647 PC:EC57 A:FF X:02 Y:B1 P:A5 SP:FB CYC:129 SL:165
EC59 EA NOP PC:EC5A A:FF X:02 Y:B1 P:A5 SP:FB CYC:147 SL:165
EC5A EA NOP PC:EC5B A:FF X:02 Y:B1 P:A5 SP:FB CYC:153 SL:165
EC5B EA NOP PC:EC5C A:FF X:02 Y:B1 P:A5 SP:FB CYC:159 SL:165
EC5C EA NOP PC:EC5D A:FF X:02 Y:B1 P:A5 SP:FB CYC:165 SL:165
EC5D 20 JSR $FAC7 PC:EC5E A:FF X:02 Y:B1 P:A5 SP:FB CYC:171 SL:165
FAC7 70 BVS $FAE6 PC:FAC8 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:189 SL:165
FAC9 F0 BEQ $FAE6 PC:FACA A:FF X:02 Y:B1 P:A5 SP:F9 CYC:195 SL:165
FACB 10 BPL $FAE6 PC:FACC A:FF X:02 Y:B1 P:A5 SP:F9 CYC:201 SL:165
FACD 90 BCC $FAE6 PC:FACE A:FF X:02 Y:B1 P:A5 SP:F9 CYC:207 SL:165
FACF C9 CMP #$FF PC:FAD0 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:213 SL:165
FAD1 D0 BNE $FAE6 PC:FAD2 A:FF X:02 Y:B1 P:27 SP:F9 CYC:219 SL:165
FAD3 60 RTS PC:FAD4 A:FF X:02 Y:B1 P:27 SP:F9 CYC:225 SL:165
EC60 AD LDA $0647 PC:EC61 A:FF X:02 Y:B1 P:27 SP:FB CYC:243 SL:165
EC63 C9 CMP #$00 PC:EC64 A:00 X:02 Y:B1 P:27 SP:FB CYC:255 SL:165
EC65 F0 BEQ $EC69 PC:EC66 A:00 X:02 Y:B1 P:27 SP:FB CYC:261 SL:165
EC69 C8 INY PC:EC6A A:00 X:02 Y:B1 P:27 SP:FB CYC:270 SL:165
EC6A A9 LDA #$37 PC:EC6B A:00 X:02 Y:B2 P:A5 SP:FB CYC:276 SL:165
EC6C 8D STA $0647 PC:EC6D A:37 X:02 Y:B2 P:25 SP:FB CYC:282 SL:165
EC6F 20 JSR $FAD4 PC:EC70 A:37 X:02 Y:B2 P:25 SP:FB CYC:294 SL:165
FAD4 24 BIT $01 PC:FAD5 A:37 X:02 Y:B2 P:25 SP:F9 CYC:312 SL:165
FAD6 38 SEC PC:FAD7 A:37 X:02 Y:B2 P:E5 SP:F9 CYC:321 SL:165
FAD7 A9 LDA #$F0 PC:FAD8 A:37 X:02 Y:B2 P:E5 SP:F9 CYC:327 SL:165
FAD9 60 RTS PC:FADA A:F0 X:02 Y:B2 P:E5 SP:F9 CYC:333 SL:165
EC72 EF ISC $0647 PC:EC73 A:F0 X:02 Y:B2 P:E5 SP:FB CYC:10 SL:166
EC75 EA NOP PC:EC76 A:B8 X:02 Y:B2 P:A5 SP:FB CYC:28 SL:166
EC76 EA NOP PC:EC77 A:B8 X:02 Y:B2 P:A5 SP:FB CYC:34 SL:166
EC77 EA NOP PC:EC78 A:B8 X:02 Y:B2 P:A5 SP:FB CYC:40 SL:166
EC78 EA NOP PC:EC79 A:B8 X:02 Y:B2 P:A5 SP:FB CYC:46 SL:166
EC79 20 JSR $FADA PC:EC7A A:B8 X:02 Y:B2 P:A5 SP:FB CYC:52 SL:166
FADA 70 BVS $FAE6 PC:FADB A:B8 X:02 Y:B2 P:A5 SP:F9 CYC:70 SL:166
FADC F0 BEQ $FAE6 PC:FADD A:B8 X:02 Y:B2 P:A5 SP:F9 CYC:76 SL:166
FADE 10 BPL $FAE6 PC:FADF A:B8 X:02 Y:B2 P:A5 SP:F9 CYC:82 SL:166
FAE0 90 BCC $FAE6 PC:FAE1 A:B8 X:02 Y:B2 P:A5 SP:F9 CYC:88 SL:166
FAE2 C9 CMP #$B8 PC:FAE3 A:B8 X:02 Y:B2 P:A5 SP:F9 CYC:94 SL:166
FAE4 F0 BEQ $FAE8 PC:FAE5 A:B8 X:02 Y:B2 P:27 SP:F9 CYC:100 SL:166
FAE8 60 RTS PC:FAE9 A:B8 X:02 Y:B2 P:27 SP:F9 CYC:109 SL:166
EC7C AD LDA $0647 PC:EC7D A:B8 X:02 Y:B2 P:27 SP:FB CYC:127 SL:166
EC7F C9 CMP #$38 PC:EC80 A:38 X:02 Y:B2 P:25 SP:FB CYC:139 SL:166
EC81 F0 BEQ $EC85 PC:EC82 A:38 X:02 Y:B2 P:27 SP:FB CYC:145 SL:166
EC85 A9 LDA #$EB PC:EC86 A:38 X:02 Y:B2 P:27 SP:FB CYC:154 SL:166
EC87 8D STA $0647 PC:EC88 A:EB X:02 Y:B2 P:A5 SP:FB CYC:160 SL:166
EC8A A9 LDA #$48 PC:EC8B A:EB X:02 Y:B2 P:A5 SP:FB CYC:172 SL:166
EC8C 85 STA $45 PC:EC8D A:48 X:02 Y:B2 P:25 SP:FB CYC:178 SL:166
EC8E A9 LDA #$05 PC:EC8F A:48 X:02 Y:B2 P:25 SP:FB CYC:187 SL:166
EC90 85 STA $46 PC:EC91 A:05 X:02 Y:B2 P:25 SP:FB CYC:193 SL:166
EC92 A0 LDY #$FF PC:EC93 A:05 X:02 Y:B2 P:25 SP:FB CYC:202 SL:166
EC94 20 JSR $FAB1 PC:EC95 A:05 X:02 Y:FF P:A5 SP:FB CYC:208 SL:166
FAB1 24 BIT $01 PC:FAB2 A:05 X:02 Y:FF P:A5 SP:F9 CYC:226 SL:166
FAB3 18 CLC PC:FAB4 A:05 X:02 Y:FF P:E5 SP:F9 CYC:235 SL:166
FAB4 A9 LDA #$40 PC:FAB5 A:05 X:02 Y:FF P:E4 SP:F9 CYC:241 SL:166
FAB6 60 RTS PC:FAB7 A:40 X:02 Y:FF P:64 SP:F9 CYC:247 SL:166
EC97 F3 ISC ($45), y PC:EC98 A:40 X:02 Y:FF P:64 SP:FB CYC:265 SL:166
EC99 EA NOP PC:EC9A A:53 X:02 Y:FF P:24 SP:FB CYC:289 SL:166
EC9A EA NOP PC:EC9B A:53 X:02 Y:FF P:24 SP:FB CYC:295 SL:166
EC9B 08 PHP PC:EC9C A:53 X:02 Y:FF P:24 SP:FB CYC:301 SL:166
EC9C 48 PHA PC:EC9D A:53 X:02 Y:FF P:24 SP:FA CYC:310 SL:166
EC9D A0 LDY #$B3 PC:EC9E A:53 X:02 Y:FF P:24 SP:F9 CYC:319 SL:166
EC9F 68 PLA PC:ECA0 A:53 X:02 Y:B3 P:A4 SP:F9 CYC:325 SL:166
ECA0 28 PLP PC:ECA1 A:53 X:02 Y:B3 P:24 SP:FA CYC:337 SL:166
ECA1 20 JSR $FAB7 PC:ECA2 A:53 X:02 Y:B3 P:24 SP:FB CYC:8 SL:167
FAB7 70 BVS $FAE6 PC:FAB8 A:53 X:02 Y:B3 P:24 SP:F9 CYC:26 SL:167
FAB9 B0 BCS $FAE6 PC:FABA A:53 X:02 Y:B3 P:24 SP:F9 CYC:32 SL:167
FABB 30 BMI $FAE6 PC:FABC A:53 X:02 Y:B3 P:24 SP:F9 CYC:38 SL:167
FABD C9 CMP #$53 PC:FABE A:53 X:02 Y:B3 P:24 SP:F9 CYC:44 SL:167
FABF D0 BNE $FAE6 PC:FAC0 A:53 X:02 Y:B3 P:27 SP:F9 CYC:50 SL:167
FAC1 60 RTS PC:FAC2 A:53 X:02 Y:B3 P:27 SP:F9 CYC:56 SL:167
ECA4 AD LDA $0647 PC:ECA5 A:53 X:02 Y:B3 P:27 SP:FB CYC:74 SL:167
ECA7 C9 CMP #$EC PC:ECA8 A:EC X:02 Y:B3 P:A5 SP:FB CYC:86 SL:167
ECA9 F0 BEQ $ECAD PC:ECAA A:EC X:02 Y:B3 P:27 SP:FB CYC:92 SL:167
ECAD A0 LDY #$FF PC:ECAE A:EC X:02 Y:B3 P:27 SP:FB CYC:101 SL:167
ECAF A9 LDA #$FF PC:ECB0 A:EC X:02 Y:FF P:A5 SP:FB CYC:107 SL:167
ECB1 8D STA $0647 PC:ECB2 A:FF X:02 Y:FF P:A5 SP:FB CYC:113 SL:167
ECB4 20 JSR $FAC2 PC:ECB5 A:FF X:02 Y:FF P:A5 SP:FB CYC:125 SL:167
FAC2 B8 CLV PC:FAC3 A:FF X:02 Y:FF P:A5 SP:F9 CYC:143 SL:167
FAC3 38 SEC PC:FAC4 A:FF X:02 Y:FF P:A5 SP:F9 CYC:149 SL:167
FAC4 A9 LDA #$FF PC:FAC5 A:FF X:02 Y:FF P:A5 SP:F9 CYC:155 SL:167
FAC6 60 RTS PC:FAC7 A:FF X:02 Y:FF P:A5 SP:F9 CYC:161 SL:167
ECB7 F3 ISC ($45), y PC:ECB8 A:FF X:02 Y:FF P:A5 SP:FB CYC:179 SL:167
ECB9 EA NOP PC:ECBA A:FF X:02 Y:FF P:A5 SP:FB CYC:203 SL:167
ECBA EA NOP PC:ECBB A:FF X:02 Y:FF P:A5 SP:FB CYC:209 SL:167
ECBB 08 PHP PC:ECBC A:FF X:02 Y:FF P:A5 SP:FB CYC:215 SL:167
ECBC 48 PHA PC:ECBD A:FF X:02 Y:FF P:A5 SP:FA CYC:224 SL:167
ECBD A0 LDY #$B4 PC:ECBE A:FF X:02 Y:FF P:A5 SP:F9 CYC:233 SL:167
ECBF 68 PLA PC:ECC0 A:FF X:02 Y:B4 P:A5 SP:F9 CYC:239 SL:167
ECC0 28 PLP PC:ECC1 A:FF X:02 Y:B4 P:A5 SP:FA CYC:251 SL:167
ECC1 20 JSR $FAC7 PC:ECC2 A:FF X:02 Y:B4 P:A5 SP:FB CYC:263 SL:167
FAC7 70 BVS $FAE6 PC:FAC8 A:FF X:02 Y:B4 P:A5 SP:F9 CYC:281 SL:167
FAC9 F0 BEQ $FAE6 PC:FACA A:FF X:02 Y:B4 P:A5 SP:F9 CYC:287 SL:167
FACB 10 BPL $FAE6 PC:FACC A:FF X:02 Y:B4 P:A5 SP:F9 CYC:293 SL:167
FACD 90 BCC $FAE6 PC:FACE A:FF X:02 Y:B4 P:A5 SP:F9 CYC:299 SL:167
FACF C9 CMP #$FF PC:FAD0 A:FF X:02 Y:B4 P:A5 SP:F9 CYC:305 SL:167
FAD1 D0 BNE $FAE6 PC:FAD2 A:FF X:02 Y:B4 P:27 SP:F9 CYC:311 SL:167
FAD3 60 RTS PC:FAD4 A:FF X:02 Y:B4 P:27 SP:F9 CYC:317 SL:167
ECC4 AD LDA $0647 PC:ECC5 A:FF X:02 Y:B4 P:27 SP:FB CYC:335 SL:167
ECC7 C9 CMP #$00 PC:ECC8 A:00 X:02 Y:B4 P:27 SP:FB CYC:6 SL:168
ECC9 F0 BEQ $ECCD PC:ECCA A:00 X:02 Y:B4 P:27 SP:FB CYC:12 SL:168
ECCD A0 LDY #$FF PC:ECCE A:00 X:02 Y:B4 P:27 SP:FB CYC:21 SL:168
ECCF A9 LDA #$37 PC:ECD0 A:00 X:02 Y:FF P:A5 SP:FB CYC:27 SL:168
ECD1 8D STA $0647 PC:ECD2 A:37 X:02 Y:FF P:25 SP:FB CYC:33 SL:168
ECD4 20 JSR $FAD4 PC:ECD5 A:37 X:02 Y:FF P:25 SP:FB CYC:45 SL:168
FAD4 24 BIT $01 PC:FAD5 A:37 X:02 Y:FF P:25 SP:F9 CYC:63 SL:168
FAD6 38 SEC PC:FAD7 A:37 X:02 Y:FF P:E5 SP:F9 CYC:72 SL:168
FAD7 A9 LDA #$F0 PC:FAD8 A:37 X:02 Y:FF P:E5 SP:F9 CYC:78 SL:168
FAD9 60 RTS PC:FADA A:F0 X:02 Y:FF P:E5 SP:F9 CYC:84 SL:168
ECD7 F3 ISC ($45), y PC:ECD8 A:F0 X:02 Y:FF P:E5 SP:FB CYC:102 SL:168
ECD9 EA NOP PC:ECDA A:B8 X:02 Y:FF P:A5 SP:FB CYC:126 SL:168
ECDA EA NOP PC:ECDB A:B8 X:02 Y:FF P:A5 SP:FB CYC:132 SL:168
ECDB 08 PHP PC:ECDC A:B8 X:02 Y:FF P:A5 SP:FB CYC:138 SL:168
ECDC 48 PHA PC:ECDD A:B8 X:02 Y:FF P:A5 SP:FA CYC:147 SL:168
ECDD A0 LDY #$B5 PC:ECDE A:B8 X:02 Y:FF P:A5 SP:F9 CYC:156 SL:168
ECDF 68 PLA PC:ECE0 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:162 SL:168
ECE0 28 PLP PC:ECE1 A:B8 X:02 Y:B5 P:A5 SP:FA CYC:174 SL:168
ECE1 20 JSR $FADA PC:ECE2 A:B8 X:02 Y:B5 P:A5 SP:FB CYC:186 SL:168
FADA 70 BVS $FAE6 PC:FADB A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:204 SL:168
FADC F0 BEQ $FAE6 PC:FADD A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:210 SL:168
FADE 10 BPL $FAE6 PC:FADF A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:216 SL:168
FAE0 90 BCC $FAE6 PC:FAE1 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:222 SL:168
FAE2 C9 CMP #$B8 PC:FAE3 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:228 SL:168
FAE4 F0 BEQ $FAE8 PC:FAE5 A:B8 X:02 Y:B5 P:27 SP:F9 CYC:234 SL:168
FAE8 60 RTS PC:FAE9 A:B8 X:02 Y:B5 P:27 SP:F9 CYC:243 SL:168
ECE4 AD LDA $0647 PC:ECE5 A:B8 X:02 Y:B5 P:27 SP:FB CYC:261 SL:168
ECE7 C9 CMP #$38 PC:ECE8 A:38 X:02 Y:B5 P:25 SP:FB CYC:273 SL:168
ECE9 F0 BEQ $ECED PC:ECEA A:38 X:02 Y:B5 P:27 SP:FB CYC:279 SL:168
ECED A0 LDY #$B6 PC:ECEE A:38 X:02 Y:B5 P:27 SP:FB CYC:288 SL:168
ECEF A2 LDX #$FF PC:ECF0 A:38 X:02 Y:B6 P:A5 SP:FB CYC:294 SL:168
ECF1 A9 LDA #$EB PC:ECF2 A:38 X:FF Y:B6 P:A5 SP:FB CYC:300 SL:168
ECF3 85 STA $47 PC:ECF4 A:EB X:FF Y:B6 P:A5 SP:FB CYC:306 SL:168
ECF5 20 JSR $FAB1 PC:ECF6 A:EB X:FF Y:B6 P:A5 SP:FB CYC:315 SL:168
FAB1 24 BIT $01 PC:FAB2 A:EB X:FF Y:B6 P:A5 SP:F9 CYC:333 SL:168
FAB3 18 CLC PC:FAB4 A:EB X:FF Y:B6 P:E5 SP:F9 CYC:1 SL:169
FAB4 A9 LDA #$40 PC:FAB5 A:EB X:FF Y:B6 P:E4 SP:F9 CYC:7 SL:169
FAB6 60 RTS PC:FAB7 A:40 X:FF Y:B6 P:64 SP:F9 CYC:13 SL:169
ECF8 F7 ISC $48,x PC:ECF9 A:40 X:FF Y:B6 P:64 SP:FB CYC:31 SL:169
ECFA EA NOP PC:ECFB A:53 X:FF Y:B6 P:24 SP:FB CYC:49 SL:169
ECFB EA NOP PC:ECFC A:53 X:FF Y:B6 P:24 SP:FB CYC:55 SL:169
ECFC EA NOP PC:ECFD A:53 X:FF Y:B6 P:24 SP:FB CYC:61 SL:169
ECFD EA NOP PC:ECFE A:53 X:FF Y:B6 P:24 SP:FB CYC:67 SL:169
ECFE 20 JSR $FAB7 PC:ECFF A:53 X:FF Y:B6 P:24 SP:FB CYC:73 SL:169
FAB7 70 BVS $FAE6 PC:FAB8 A:53 X:FF Y:B6 P:24 SP:F9 CYC:91 SL:169
FAB9 B0 BCS $FAE6 PC:FABA A:53 X:FF Y:B6 P:24 SP:F9 CYC:97 SL:169
FABB 30 BMI $FAE6 PC:FABC A:53 X:FF Y:B6 P:24 SP:F9 CYC:103 SL:169
FABD C9 CMP #$53 PC:FABE A:53 X:FF Y:B6 P:24 SP:F9 CYC:109 SL:169
FABF D0 BNE $FAE6 PC:FAC0 A:53 X:FF Y:B6 P:27 SP:F9 CYC:115 SL:169
FAC1 60 RTS PC:FAC2 A:53 X:FF Y:B6 P:27 SP:F9 CYC:121 SL:169
ED01 A5 LDA $47 PC:ED02 A:53 X:FF Y:B6 P:27 SP:FB CYC:139 SL:169
ED03 C9 CMP #$EC PC:ED04 A:EC X:FF Y:B6 P:A5 SP:FB CYC:148 SL:169
ED05 F0 BEQ $ED09 PC:ED06 A:EC X:FF Y:B6 P:27 SP:FB CYC:154 SL:169
ED09 C8 INY PC:ED0A A:EC X:FF Y:B6 P:27 SP:FB CYC:163 SL:169
ED0A A9 LDA #$FF PC:ED0B A:EC X:FF Y:B7 P:A5 SP:FB CYC:169 SL:169
ED0C 85 STA $47 PC:ED0D A:FF X:FF Y:B7 P:A5 SP:FB CYC:175 SL:169
ED0E 20 JSR $FAC2 PC:ED0F A:FF X:FF Y:B7 P:A5 SP:FB CYC:184 SL:169
FAC2 B8 CLV PC:FAC3 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:202 SL:169
FAC3 38 SEC PC:FAC4 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:208 SL:169
FAC4 A9 LDA #$FF PC:FAC5 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:214 SL:169
FAC6 60 RTS PC:FAC7 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:220 SL:169
ED11 F7 ISC $48,x PC:ED12 A:FF X:FF Y:B7 P:A5 SP:FB CYC:238 SL:169
ED13 EA NOP PC:ED14 A:FF X:FF Y:B7 P:A5 SP:FB CYC:256 SL:169
ED14 EA NOP PC:ED15 A:FF X:FF Y:B7 P:A5 SP:FB CYC:262 SL:169
ED15 EA NOP PC:ED16 A:FF X:FF Y:B7 P:A5 SP:FB CYC:268 SL:169
ED16 EA NOP PC:ED17 A:FF X:FF Y:B7 P:A5 SP:FB CYC:274 SL:169
ED17 20 JSR $FAC7 PC:ED18 A:FF X:FF Y:B7 P:A5 SP:FB CYC:280 SL:169
FAC7 70 BVS $FAE6 PC:FAC8 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:298 SL:169
FAC9 F0 BEQ $FAE6 PC:FACA A:FF X:FF Y:B7 P:A5 SP:F9 CYC:304 SL:169
FACB 10 BPL $FAE6 PC:FACC A:FF X:FF Y:B7 P:A5 SP:F9 CYC:310 SL:169
FACD 90 BCC $FAE6 PC:FACE A:FF X:FF Y:B7 P:A5 SP:F9 CYC:316 SL:169
FACF C9 CMP #$FF PC:FAD0 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:322 SL:169
FAD1 D0 BNE $FAE6 PC:FAD2 A:FF X:FF Y:B7 P:27 SP:F9 CYC:328 SL:169
FAD3 60 RTS PC:FAD4 A:FF X:FF Y:B7 P:27 SP:F9 CYC:334 SL:169
ED1A A5 LDA $47 PC:ED1B A:FF X:FF Y:B7 P:27 SP:FB CYC:11 SL:170
ED1C C9 CMP #$00 PC:ED1D A:00 X:FF Y:B7 P:27 SP:FB CYC:20 SL:170
ED1E F0 BEQ $ED22 PC:ED1F A:00 X:FF Y:B7 P:27 SP:FB CYC:26 SL:170
ED22 C8 INY PC:ED23 A:00 X:FF Y:B7 P:27 SP:FB CYC:35 SL:170
ED23 A9 LDA #$37 PC:ED24 A:00 X:FF Y:B8 P:A5 SP:FB CYC:41 SL:170
ED25 85 STA $47 PC:ED26 A:37 X:FF Y:B8 P:25 SP:FB CYC:47 SL:170
ED27 20 JSR $FAD4 PC:ED28 A:37 X:FF Y:B8 P:25 SP:FB CYC:56 SL:170
FAD4 24 BIT $01 PC:FAD5 A:37 X:FF Y:B8 P:25 SP:F9 CYC:74 SL:170
FAD6 38 SEC PC:FAD7 A:37 X:FF Y:B8 P:E5 SP:F9 CYC:83 SL:170
FAD7 A9 LDA #$F0 PC:FAD8 A:37 X:FF Y:B8 P:E5 SP:F9 CYC:89 SL:170
FAD9 60 RTS PC:FADA A:F0 X:FF Y:B8 P:E5 SP:F9 CYC:95 SL:170
ED2A F7 ISC $48,x PC:ED2B A:F0 X:FF Y:B8 P:E5 SP:FB CYC:113 SL:170
ED2C EA NOP PC:ED2D A:B8 X:FF Y:B8 P:A5 SP:FB CYC:131 SL:170
ED2D EA NOP PC:ED2E A:B8 X:FF Y:B8 P:A5 SP:FB CYC:137 SL:170
ED2E EA NOP PC:ED2F A:B8 X:FF Y:B8 P:A5 SP:FB CYC:143 SL:170
ED2F EA NOP PC:ED30 A:B8 X:FF Y:B8 P:A5 SP:FB CYC:149 SL:170
ED30 20 JSR $FADA PC:ED31 A:B8 X:FF Y:B8 P:A5 SP:FB CYC:155 SL:170
FADA 70 BVS $FAE6 PC:FADB A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:173 SL:170
FADC F0 BEQ $FAE6 PC:FADD A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:179 SL:170
FADE 10 BPL $FAE6 PC:FADF A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:185 SL:170
FAE0 90 BCC $FAE6 PC:FAE1 A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:191 SL:170
FAE2 C9 CMP #$B8 PC:FAE3 A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:197 SL:170
FAE4 F0 BEQ $FAE8 PC:FAE5 A:B8 X:FF Y:B8 P:27 SP:F9 CYC:203 SL:170
FAE8 60 RTS PC:FAE9 A:B8 X:FF Y:B8 P:27 SP:F9 CYC:212 SL:170
ED33 A5 LDA $47 PC:ED34 A:B8 X:FF Y:B8 P:27 SP:FB CYC:230 SL:170
ED35 C9 CMP #$38 PC:ED36 A:38 X:FF Y:B8 P:25 SP:FB CYC:239 SL:170
ED37 F0 BEQ $ED3B PC:ED38 A:38 X:FF Y:B8 P:27 SP:FB CYC:245 SL:170
ED3B A9 LDA #$EB PC:ED3C A:38 X:FF Y:B8 P:27 SP:FB CYC:254 SL:170
ED3D 8D STA $0647 PC:ED3E A:EB X:FF Y:B8 P:A5 SP:FB CYC:260 SL:170
ED40 A0 LDY #$FF PC:ED41 A:EB X:FF Y:B8 P:A5 SP:FB CYC:272 SL:170
ED42 20 JSR $FAB1 PC:ED43 A:EB X:FF Y:FF P:A5 SP:FB CYC:278 SL:170
FAB1 24 BIT $01 PC:FAB2 A:EB X:FF Y:FF P:A5 SP:F9 CYC:296 SL:170
FAB3 18 CLC PC:FAB4 A:EB X:FF Y:FF P:E5 SP:F9 CYC:305 SL:170
FAB4 A9 LDA #$40 PC:FAB5 A:EB X:FF Y:FF P:E4 SP:F9 CYC:311 SL:170
FAB6 60 RTS PC:FAB7 A:40 X:FF Y:FF P:64 SP:F9 CYC:317 SL:170
ED45 FB ISC $0548,y PC:ED46 A:40 X:FF Y:FF P:64 SP:FB CYC:335 SL:170
ED48 EA NOP PC:ED49 A:53 X:FF Y:FF P:24 SP:FB CYC:15 SL:171
ED49 EA NOP PC:ED4A A:53 X:FF Y:FF P:24 SP:FB CYC:21 SL:171
ED4A 08 PHP PC:ED4B A:53 X:FF Y:FF P:24 SP:FB CYC:27 SL:171
ED4B 48 PHA PC:ED4C A:53 X:FF Y:FF P:24 SP:FA CYC:36 SL:171
ED4C A0 LDY #$B9 PC:ED4D A:53 X:FF Y:FF P:24 SP:F9 CYC:45 SL:171
ED4E 68 PLA PC:ED4F A:53 X:FF Y:B9 P:A4 SP:F9 CYC:51 SL:171
ED4F 28 PLP PC:ED50 A:53 X:FF Y:B9 P:24 SP:FA CYC:63 SL:171
ED50 20 JSR $FAB7 PC:ED51 A:53 X:FF Y:B9 P:24 SP:FB CYC:75 SL:171
FAB7 70 BVS $FAE6 PC:FAB8 A:53 X:FF Y:B9 P:24 SP:F9 CYC:93 SL:171
FAB9 B0 BCS $FAE6 PC:FABA A:53 X:FF Y:B9 P:24 SP:F9 CYC:99 SL:171
FABB 30 BMI $FAE6 PC:FABC A:53 X:FF Y:B9 P:24 SP:F9 CYC:105 SL:171
FABD C9 CMP #$53 PC:FABE A:53 X:FF Y:B9 P:24 SP:F9 CYC:111 SL:171
FABF D0 BNE $FAE6 PC:FAC0 A:53 X:FF Y:B9 P:27 SP:F9 CYC:117 SL:171
FAC1 60 RTS PC:FAC2 A:53 X:FF Y:B9 P:27 SP:F9 CYC:123 SL:171
ED53 AD LDA $0647 PC:ED54 A:53 X:FF Y:B9 P:27 SP:FB CYC:141 SL:171
ED56 C9 CMP #$EC PC:ED57 A:EC X:FF Y:B9 P:A5 SP:FB CYC:153 SL:171
ED58 F0 BEQ $ED5C PC:ED59 A:EC X:FF Y:B9 P:27 SP:FB CYC:159 SL:171
ED5C A0 LDY #$FF PC:ED5D A:EC X:FF Y:B9 P:27 SP:FB CYC:168 SL:171
ED5E A9 LDA #$FF PC:ED5F A:EC X:FF Y:FF P:A5 SP:FB CYC:174 SL:171
ED60 8D STA $0647 PC:ED61 A:FF X:FF Y:FF P:A5 SP:FB CYC:180 SL:171
ED63 20 JSR $FAC2 PC:ED64 A:FF X:FF Y:FF P:A5 SP:FB CYC:192 SL:171
FAC2 B8 CLV PC:FAC3 A:FF X:FF Y:FF P:A5 SP:F9 CYC:210 SL:171
FAC3 38 SEC PC:FAC4 A:FF X:FF Y:FF P:A5 SP:F9 CYC:216 SL:171
FAC4 A9 LDA #$FF PC:FAC5 A:FF X:FF Y:FF P:A5 SP:F9 CYC:222 SL:171
FAC6 60 RTS PC:FAC7 A:FF X:FF Y:FF P:A5 SP:F9 CYC:228 SL:171
ED66 FB ISC $0548,y PC:ED67 A:FF X:FF Y:FF P:A5 SP:FB CYC:246 SL:171
ED69 EA NOP PC:ED6A A:FF X:FF Y:FF P:A5 SP:FB CYC:267 SL:171
ED6A EA NOP PC:ED6B A:FF X:FF Y:FF P:A5 SP:FB CYC:273 SL:171
ED6B 08 PHP PC:ED6C A:FF X:FF Y:FF P:A5 SP:FB CYC:279 SL:171
ED6C 48 PHA PC:ED6D A:FF X:FF Y:FF P:A5 SP:FA CYC:288 SL:171
ED6D A0 LDY #$BA PC:ED6E A:FF X:FF Y:FF P:A5 SP:F9 CYC:297 SL:171
ED6F 68 PLA PC:ED70 A:FF X:FF Y:BA P:A5 SP:F9 CYC:303 SL:171
ED70 28 PLP PC:ED71 A:FF X:FF Y:BA P:A5 SP:FA CYC:315 SL:171
ED71 20 JSR $FAC7 PC:ED72 A:FF X:FF Y:BA P:A5 SP:FB CYC:327 SL:171
FAC7 70 BVS $FAE6 PC:FAC8 A:FF X:FF Y:BA P:A5 SP:F9 CYC:4 SL:172
FAC9 F0 BEQ $FAE6 PC:FACA A:FF X:FF Y:BA P:A5 SP:F9 CYC:10 SL:172
FACB 10 BPL $FAE6 PC:FACC A:FF X:FF Y:BA P:A5 SP:F9 CYC:16 SL:172
FACD 90 BCC $FAE6 PC:FACE A:FF X:FF Y:BA P:A5 SP:F9 CYC:22 SL:172
FACF C9 CMP #$FF PC:FAD0 A:FF X:FF Y:BA P:A5 SP:F9 CYC:28 SL:172
FAD1 D0 BNE $FAE6 PC:FAD2 A:FF X:FF Y:BA P:27 SP:F9 CYC:34 SL:172
FAD3 60 RTS PC:FAD4 A:FF X:FF Y:BA P:27 SP:F9 CYC:40 SL:172
ED74 AD LDA $0647 PC:ED75 A:FF X:FF Y:BA P:27 SP:FB CYC:58 SL:172
ED77 C9 CMP #$00 PC:ED78 A:00 X:FF Y:BA P:27 SP:FB CYC:70 SL:172
ED79 F0 BEQ $ED7D PC:ED7A A:00 X:FF Y:BA P:27 SP:FB CYC:76 SL:172
ED7D A0 LDY #$FF PC:ED7E A:00 X:FF Y:BA P:27 SP:FB CYC:85 SL:172
ED7F A9 LDA #$37 PC:ED80 A:00 X:FF Y:FF P:A5 SP:FB CYC:91 SL:172
ED81 8D STA $0647 PC:ED82 A:37 X:FF Y:FF P:25 SP:FB CYC:97 SL:172
ED84 20 JSR $FAD4 PC:ED85 A:37 X:FF Y:FF P:25 SP:FB CYC:109 SL:172
FAD4 24 BIT $01 PC:FAD5 A:37 X:FF Y:FF P:25 SP:F9 CYC:127 SL:172
FAD6 38 SEC PC:FAD7 A:37 X:FF Y:FF P:E5 SP:F9 CYC:136 SL:172
FAD7 A9 LDA #$F0 PC:FAD8 A:37 X:FF Y:FF P:E5 SP:F9 CYC:142 SL:172
FAD9 60 RTS PC:FADA A:F0 X:FF Y:FF P:E5 SP:F9 CYC:148 SL:172
ED87 FB ISC $0548,y PC:ED88 A:F0 X:FF Y:FF P:E5 SP:FB CYC:166 SL:172
ED8A EA NOP PC:ED8B A:B8 X:FF Y:FF P:A5 SP:FB CYC:187 SL:172
ED8B EA NOP PC:ED8C A:B8 X:FF Y:FF P:A5 SP:FB CYC:193 SL:172
ED8C 08 PHP PC:ED8D A:B8 X:FF Y:FF P:A5 SP:FB CYC:199 SL:172
ED8D 48 PHA PC:ED8E A:B8 X:FF Y:FF P:A5 SP:FA CYC:208 SL:172
ED8E A0 LDY #$BB PC:ED8F A:B8 X:FF Y:FF P:A5 SP:F9 CYC:217 SL:172
ED90 68 PLA PC:ED91 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:223 SL:172
ED91 28 PLP PC:ED92 A:B8 X:FF Y:BB P:A5 SP:FA CYC:235 SL:172
ED92 20 JSR $FADA PC:ED93 A:B8 X:FF Y:BB P:A5 SP:FB CYC:247 SL:172
FADA 70 BVS $FAE6 PC:FADB A:B8 X:FF Y:BB P:A5 SP:F9 CYC:265 SL:172
FADC F0 BEQ $FAE6 PC:FADD A:B8 X:FF Y:BB P:A5 SP:F9 CYC:271 SL:172
FADE 10 BPL $FAE6 PC:FADF A:B8 X:FF Y:BB P:A5 SP:F9 CYC:277 SL:172
FAE0 90 BCC $FAE6 PC:FAE1 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:283 SL:172
FAE2 C9 CMP #$B8 PC:FAE3 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:289 SL:172
FAE4 F0 BEQ $FAE8 PC:FAE5 A:B8 X:FF Y:BB P:27 SP:F9 CYC:295 SL:172
FAE8 60 RTS PC:FAE9 A:B8 X:FF Y:BB P:27 SP:F9 CYC:304 SL:172
ED95 AD LDA $0647 PC:ED96 A:B8 X:FF Y:BB P:27 SP:FB CYC:322 SL:172
ED98 C9 CMP #$38 PC:ED99 A:38 X:FF Y:BB P:25 SP:FB CYC:334 SL:172
ED9A F0 BEQ $ED9E PC:ED9B A:38 X:FF Y:BB P:27 SP:FB CYC:340 SL:172
ED9E A0 LDY #$BC PC:ED9F A:38 X:FF Y:BB P:27 SP:FB CYC:8 SL:173
EDA0 A2 LDX #$FF PC:EDA1 A:38 X:FF Y:BC P:A5 SP:FB CYC:14 SL:173
EDA2 A9 LDA #$EB PC:EDA3 A:38 X:FF Y:BC P:A5 SP:FB CYC:20 SL:173
EDA4 8D STA $0647 PC:EDA5 A:EB X:FF Y:BC P:A5 SP:FB CYC:26 SL:173
EDA7 20 JSR $FAB1 PC:EDA8 A:EB X:FF Y:BC P:A5 SP:FB CYC:38 SL:173
FAB1 24 BIT $01 PC:FAB2 A:EB X:FF Y:BC P:A5 SP:F9 CYC:56 SL:173
FAB3 18 CLC PC:FAB4 A:EB X:FF Y:BC P:E5 SP:F9 CYC:65 SL:173
FAB4 A9 LDA #$40 PC:FAB5 A:EB X:FF Y:BC P:E4 SP:F9 CYC:71 SL:173
FAB6 60 RTS PC:FAB7 A:40 X:FF Y:BC P:64 SP:F9 CYC:77 SL:173
EDAA FF ISC $0548,x PC:EDAB A:40 X:FF Y:BC P:64 SP:FB CYC:95 SL:173
EDAD EA NOP PC:EDAE A:53 X:FF Y:BC P:24 SP:FB CYC:116 SL:173
EDAE EA NOP PC:EDAF A:53 X:FF Y:BC P:24 SP:FB CYC:122 SL:173
EDAF EA NOP PC:EDB0 A:53 X:FF Y:BC P:24 SP:FB CYC:128 SL:173
EDB0 EA NOP PC:EDB1 A:53 X:FF Y:BC P:24 SP:FB CYC:134 SL:173
EDB1 20 JSR $FAB7 PC:EDB2 A:53 X:FF Y:BC P:24 SP:FB CYC:140 SL:173
FAB7 70 BVS $FAE6 PC:FAB8 A:53 X:FF Y:BC P:24 SP:F9 CYC:158 SL:173
FAB9 B0 BCS $FAE6 PC:FABA A:53 X:FF Y:BC P:24 SP:F9 CYC:164 SL:173
FABB 30 BMI $FAE6 PC:FABC A:53 X:FF Y:BC P:24 SP:F9 CYC:170 SL:173
FABD C9 CMP #$53 PC:FABE A:53 X:FF Y:BC P:24 SP:F9 CYC:176 SL:173
FABF D0 BNE $FAE6 PC:FAC0 A:53 X:FF Y:BC P:27 SP:F9 CYC:182 SL:173
FAC1 60 RTS PC:FAC2 A:53 X:FF Y:BC P:27 SP:F9 CYC:188 SL:173
EDB4 AD LDA $0647 PC:EDB5 A:53 X:FF Y:BC P:27 SP:FB CYC:206 SL:173
EDB7 C9 CMP #$EC PC:EDB8 A:EC X:FF Y:BC P:A5 SP:FB CYC:218 SL:173
EDB9 F0 BEQ $EDBD PC:EDBA A:EC X:FF Y:BC P:27 SP:FB CYC:224 SL:173
EDBD C8 INY PC:EDBE A:EC X:FF Y:BC P:27 SP:FB CYC:233 SL:173
EDBE A9 LDA #$FF PC:EDBF A:EC X:FF Y:BD P:A5 SP:FB CYC:239 SL:173
EDC0 8D STA $0647 PC:EDC1 A:FF X:FF Y:BD P:A5 SP:FB CYC:245 SL:173
EDC3 20 JSR $FAC2 PC:EDC4 A:FF X:FF Y:BD P:A5 SP:FB CYC:257 SL:173
FAC2 B8 CLV PC:FAC3 A:FF X:FF Y:BD P:A5 SP:F9 CYC:275 SL:173
FAC3 38 SEC PC:FAC4 A:FF X:FF Y:BD P:A5 SP:F9 CYC:281 SL:173
FAC4 A9 LDA #$FF PC:FAC5 A:FF X:FF Y:BD P:A5 SP:F9 CYC:287 SL:173
FAC6 60 RTS PC:FAC7 A:FF X:FF Y:BD P:A5 SP:F9 CYC:293 SL:173
EDC6 FF ISC $0548,x PC:EDC7 A:FF X:FF Y:BD P:A5 SP:FB CYC:311 SL:173
EDC9 EA NOP PC:EDCA A:FF X:FF Y:BD P:A5 SP:FB CYC:332 SL:173
EDCA EA NOP PC:EDCB A:FF X:FF Y:BD P:A5 SP:FB CYC:338 SL:173
EDCB EA NOP PC:EDCC A:FF X:FF Y:BD P:A5 SP:FB CYC:3 SL:174
EDCC EA NOP PC:EDCD A:FF X:FF Y:BD P:A5 SP:FB CYC:9 SL:174
EDCD 20 JSR $FAC7 PC:EDCE A:FF X:FF Y:BD P:A5 SP:FB CYC:15 SL:174
FAC7 70 BVS $FAE6 PC:FAC8 A:FF X:FF Y:BD P:A5 SP:F9 CYC:33 SL:174
FAC9 F0 BEQ $FAE6 PC:FACA A:FF X:FF Y:BD P:A5 SP:F9 CYC:39 SL:174
FACB 10 BPL $FAE6 PC:FACC A:FF X:FF Y:BD P:A5 SP:F9 CYC:45 SL:174
FACD 90 BCC $FAE6 PC:FACE A:FF X:FF Y:BD P:A5 SP:F9 CYC:51 SL:174
FACF C9 CMP #$FF PC:FAD0 A:FF X:FF Y:BD P:A5 SP:F9 CYC:57 SL:174
FAD1 D0 BNE $FAE6 PC:FAD2 A:FF X:FF Y:BD P:27 SP:F9 CYC:63 SL:174
FAD3 60 RTS PC:FAD4 A:FF X:FF Y:BD P:27 SP:F9 CYC:69 SL:174
EDD0 AD LDA $0647 PC:EDD1 A:FF X:FF Y:BD P:27 SP:FB CYC:87 SL:174
EDD3 C9 CMP #$00 PC:EDD4 A:00 X:FF Y:BD P:27 SP:FB CYC:99 SL:174
EDD5 F0 BEQ $EDD9 PC:EDD6 A:00 X:FF Y:BD P:27 SP:FB CYC:105 SL:174
EDD9 C8 INY PC:EDDA A:00 X:FF Y:BD P:27 SP:FB CYC:114 SL:174
EDDA A9 LDA #$37 PC:EDDB A:00 X:FF Y:BE P:A5 SP:FB CYC:120 SL:174
EDDC 8D STA $0647 PC:EDDD A:37 X:FF Y:BE P:25 SP:FB CYC:126 SL:174
EDDF 20 JSR $FAD4 PC:EDE0 A:37 X:FF Y:BE P:25 SP:FB CYC:138 SL:174
FAD4 24 BIT $01 PC:FAD5 A:37 X:FF Y:BE P:25 SP:F9 CYC:156 SL:174
FAD6 38 SEC PC:FAD7 A:37 X:FF Y:BE P:E5 SP:F9 CYC:165 SL:174
FAD7 A9 LDA #$F0 PC:FAD8 A:37 X:FF Y:BE P:E5 SP:F9 CYC:171 SL:174
FAD9 60 RTS PC:FADA A:F0 X:FF Y:BE P:E5 SP:F9 CYC:177 SL:174
EDE2 FF ISC $0548,x PC:EDE3 A:F0 X:FF Y:BE P:E5 SP:FB CYC:195 SL:174
EDE5 EA NOP PC:EDE6 A:B8 X:FF Y:BE P:A5 SP:FB CYC:216 SL:174
EDE6 EA NOP PC:EDE7 A:B8 X:FF Y:BE P:A5 SP:FB CYC:222 SL:174
EDE7 EA NOP PC:EDE8 A:B8 X:FF Y:BE P:A5 SP:FB CYC:228 SL:174
EDE8 EA NOP PC:EDE9 A:B8 X:FF Y:BE P:A5 SP:FB CYC:234 SL:174
EDE9 20 JSR $FADA PC:EDEA A:B8 X:FF Y:BE P:A5 SP:FB CYC:240 SL:174
FADA 70 BVS $FAE6 PC:FADB A:B8 X:FF Y:BE P:A5 SP:F9 CYC:258 SL:174
FADC F0 BEQ $FAE6 PC:FADD A:B8 X:FF Y:BE P:A5 SP:F9 CYC:264 SL:174
FADE 10 BPL $FAE6 PC:FADF A:B8 X:FF Y:BE P:A5 SP:F9 CYC:270 SL:174
FAE0 90 BCC $FAE6 PC:FAE1 A:B8 X:FF Y:BE P:A5 SP:F9 CYC:276 SL:174
FAE2 C9 CMP #$B8 PC:FAE3 A:B8 X:FF Y:BE P:A5 SP:F9 CYC:282 SL:174
FAE4 F0 BEQ $FAE8 PC:FAE5 A:B8 X:FF Y:BE P:27 SP:F9 CYC:288 SL:174
FAE8 60 RTS PC:FAE9 A:B8 X:FF Y:BE P:27 SP:F9 CYC:297 SL:174
EDEC AD LDA $0647 PC:EDED A:B8 X:FF Y:BE P:27 SP:FB CYC:315 SL:174
EDEF C9 CMP #$38 PC:EDF0 A:38 X:FF Y:BE P:25 SP:FB CYC:327 SL:174
EDF1 F0 BEQ $EDF5 PC:EDF2 A:38 X:FF Y:BE P:27 SP:FB CYC:333 SL:174
EDF5 60 RTS PC:EDF6 A:38 X:FF Y:BE P:27 SP:FB CYC:1 SL:175
C641 20 JSR $EDF6 PC:C642 A:38 X:FF Y:BE P:27 SP:FD CYC:19 SL:175
EDF6 A9 LDA #$FF PC:EDF7 A:38 X:FF Y:BE P:27 SP:FB CYC:37 SL:175
EDF8 85 STA $01 PC:EDF9 A:FF X:FF Y:BE P:A5 SP:FB CYC:43 SL:175
EDFA A0 LDY #$BF PC:EDFB A:FF X:FF Y:BE P:A5 SP:FB CYC:52 SL:175
EDFC A2 LDX #$02 PC:EDFD A:FF X:FF Y:BF P:A5 SP:FB CYC:58 SL:175
EDFE A9 LDA #$47 PC:EDFF A:FF X:02 Y:BF P:25 SP:FB CYC:64 SL:175
EE00 85 STA $47 PC:EE01 A:47 X:02 Y:BF P:25 SP:FB CYC:70 SL:175
EE02 A9 LDA #$06 PC:EE03 A:47 X:02 Y:BF P:25 SP:FB CYC:79 SL:175
EE04 85 STA $48 PC:EE05 A:06 X:02 Y:BF P:25 SP:FB CYC:85 SL:175
EE06 A9 LDA #$A5 PC:EE07 A:06 X:02 Y:BF P:25 SP:FB CYC:94 SL:175
EE08 8D STA $0647 PC:EE09 A:A5 X:02 Y:BF P:A5 SP:FB CYC:100 SL:175
EE0B 20 JSR $FA7B PC:EE0C A:A5 X:02 Y:BF P:A5 SP:FB CYC:112 SL:175
FA7B 24 BIT $01 PC:FA7C A:A5 X:02 Y:BF P:A5 SP:F9 CYC:130 SL:175
FA7D 18 CLC PC:FA7E A:A5 X:02 Y:BF P:E5 SP:F9 CYC:139 SL:175
FA7E A9 LDA #$B3 PC:FA7F A:A5 X:02 Y:BF P:E4 SP:F9 CYC:145 SL:175
FA80 60 RTS PC:FA81 A:B3 X:02 Y:BF P:E4 SP:F9 CYC:151 SL:175
EE0E 03 SLO $(EA45,x) PC:EE0F A:B3 X:02 Y:BF P:E4 SP:FB CYC:169 SL:175
EE10 EA NOP PC:EE11 A:FB X:02 Y:BF P:E5 SP:FB CYC:193 SL:175
EE11 EA NOP PC:EE12 A:FB X:02 Y:BF P:E5 SP:FB CYC:199 SL:175
EE12 EA NOP PC:EE13 A:FB X:02 Y:BF P:E5 SP:FB CYC:205 SL:175
EE13 EA NOP PC:EE14 A:FB X:02 Y:BF P:E5 SP:FB CYC:211 SL:175
EE14 20 JSR $FA81 PC:EE15 A:FB X:02 Y:BF P:E5 SP:FB CYC:217 SL:175
FA81 50 BVC $FAE6 PC:FA82 A:FB X:02 Y:BF P:E5 SP:F9 CYC:235 SL:175
FA83 90 BCC $FAE6 PC:FA84 A:FB X:02 Y:BF P:E5 SP:F9 CYC:241 SL:175
FA85 10 BPL $FAE6 PC:FA86 A:FB X:02 Y:BF P:E5 SP:F9 CYC:247 SL:175
FA87 C9 CMP #$FB PC:FA88 A:FB X:02 Y:BF P:E5 SP:F9 CYC:253 SL:175
FA89 D0 BNE $FAE6 PC:FA8A A:FB X:02 Y:BF P:67 SP:F9 CYC:259 SL:175
FA8B 60 RTS PC:FA8C A:FB X:02 Y:BF P:67 SP:F9 CYC:265 SL:175
EE17 AD LDA $0647 PC:EE18 A:FB X:02 Y:BF P:67 SP:FB CYC:283 SL:175
EE1A C9 CMP #$4A PC:EE1B A:4A X:02 Y:BF P:65 SP:FB CYC:295 SL:175
EE1C F0 BEQ $EE20 PC:EE1D A:4A X:02 Y:BF P:67 SP:FB CYC:301 SL:175
EE20 C8 INY PC:EE21 A:4A X:02 Y:BF P:67 SP:FB CYC:310 SL:175
EE21 A9 LDA #$29 PC:EE22 A:4A X:02 Y:C0 P:E5 SP:FB CYC:316 SL:175
EE23 8D STA $0647 PC:EE24 A:29 X:02 Y:C0 P:65 SP:FB CYC:322 SL:175
EE26 20 JSR $FA8C PC:EE27 A:29 X:02 Y:C0 P:65 SP:FB CYC:334 SL:175
FA8C B8 CLV PC:FA8D A:29 X:02 Y:C0 P:65 SP:F9 CYC:11 SL:176
FA8D 18 CLC PC:FA8E A:29 X:02 Y:C0 P:25 SP:F9 CYC:17 SL:176
FA8E A9 LDA #$C3 PC:FA8F A:29 X:02 Y:C0 P:24 SP:F9 CYC:23 SL:176
FA90 60 RTS PC:FA91 A:C3 X:02 Y:C0 P:A4 SP:F9 CYC:29 SL:176
EE29 03 SLO $(EA45,x) PC:EE2A A:C3 X:02 Y:C0 P:A4 SP:FB CYC:47 SL:176
EE2B EA NOP PC:EE2C A:D3 X:02 Y:C0 P:A4 SP:FB CYC:71 SL:176
EE2C EA NOP PC:EE2D A:D3 X:02 Y:C0 P:A4 SP:FB CYC:77 SL:176
EE2D EA NOP PC:EE2E A:D3 X:02 Y:C0 P:A4 SP:FB CYC:83 SL:176
EE2E EA NOP PC:EE2F A:D3 X:02 Y:C0 P:A4 SP:FB CYC:89 SL:176
EE2F 20 JSR $FA91 PC:EE30 A:D3 X:02 Y:C0 P:A4 SP:FB CYC:95 SL:176
FA91 70 BVS $FAE6 PC:FA92 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:113 SL:176
FA93 F0 BEQ $FAE6 PC:FA94 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:119 SL:176
FA95 10 BPL $FAE6 PC:FA96 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:125 SL:176
FA97 B0 BCS $FAE6 PC:FA98 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:131 SL:176
FA99 C9 CMP #$D3 PC:FA9A A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:137 SL:176
FA9B D0 BNE $FAE6 PC:FA9C A:D3 X:02 Y:C0 P:27 SP:F9 CYC:143 SL:176
FA9D 60 RTS PC:FA9E A:D3 X:02 Y:C0 P:27 SP:F9 CYC:149 SL:176
EE32 AD LDA $0647 PC:EE33 A:D3 X:02 Y:C0 P:27 SP:FB CYC:167 SL:176
EE35 C9 CMP #$52 PC:EE36 A:52 X:02 Y:C0 P:25 SP:FB CYC:179 SL:176
EE37 F0 BEQ $EE3B PC:EE38 A:52 X:02 Y:C0 P:27 SP:FB CYC:185 SL:176
EE3B C8 INY PC:EE3C A:52 X:02 Y:C0 P:27 SP:FB CYC:194 SL:176
EE3C A9 LDA #$37 PC:EE3D A:52 X:02 Y:C1 P:A5 SP:FB CYC:200 SL:176
EE3E 8D STA $0647 PC:EE3F A:37 X:02 Y:C1 P:25 SP:FB CYC:206 SL:176
EE41 20 JSR $FA9E PC:EE42 A:37 X:02 Y:C1 P:25 SP:FB CYC:218 SL:176
FA9E 24 BIT $01 PC:FA9F A:37 X:02 Y:C1 P:25 SP:F9 CYC:236 SL:176
FAA0 38 SEC PC:FAA1 A:37 X:02 Y:C1 P:E5 SP:F9 CYC:245 SL:176
FAA1 A9 LDA #$10 PC:FAA2 A:37 X:02 Y:C1 P:E5 SP:F9 CYC:251 SL:176
FAA3 60 RTS PC:FAA4 A:10 X:02 Y:C1 P:65 SP:F9 CYC:257 SL:176
EE44 03 SLO $(EA45,x) PC:EE45 A:10 X:02 Y:C1 P:65 SP:FB CYC:275 SL:176
EE46 EA NOP PC:EE47 A:7E X:02 Y:C1 P:64 SP:FB CYC:299 SL:176
EE47 EA NOP PC:EE48 A:7E X:02 Y:C1 P:64 SP:FB CYC:305 SL:176
EE48 EA NOP PC:EE49 A:7E X:02 Y:C1 P:64 SP:FB CYC:311 SL:176
EE49 EA NOP PC:EE4A A:7E X:02 Y:C1 P:64 SP:FB CYC:317 SL:176
EE4A 20 JSR $FAA4 PC:EE4B A:7E X:02 Y:C1 P:64 SP:FB CYC:323 SL:176
FAA4 50 BVC $FAE6 PC:FAA5 A:7E X:02 Y:C1 P:64 SP:F9 CYC:0 SL:177
FAA6 F0 BEQ $FAE6 PC:FAA7 A:7E X:02 Y:C1 P:64 SP:F9 CYC:6 SL:177
FAA8 30 BMI $FAE6 PC:FAA9 A:7E X:02 Y:C1 P:64 SP:F9 CYC:12 SL:177
FAAA B0 BCS $FAE6 PC:FAAB A:7E X:02 Y:C1 P:64 SP:F9 CYC:18 SL:177
FAAC C9 CMP #$7E PC:FAAD A:7E X:02 Y:C1 P:64 SP:F9 CYC:24 SL:177
FAAE D0 BNE $FAE6 PC:FAAF A:7E X:02 Y:C1 P:67 SP:F9 CYC:30 SL:177
FAB0 60 RTS PC:FAB1 A:7E X:02 Y:C1 P:67 SP:F9 CYC:36 SL:177
EE4D AD LDA $0647 PC:EE4E A:7E X:02 Y:C1 P:67 SP:FB CYC:54 SL:177
EE50 C9 CMP #$6E PC:EE51 A:6E X:02 Y:C1 P:65 SP:FB CYC:66 SL:177
EE52 F0 BEQ $EE56 PC:EE53 A:6E X:02 Y:C1 P:67 SP:FB CYC:72 SL:177
EE56 C8 INY PC:EE57 A:6E X:02 Y:C1 P:67 SP:FB CYC:81 SL:177
EE57 A9 LDA #$A5 PC:EE58 A:6E X:02 Y:C2 P:E5 SP:FB CYC:87 SL:177
EE59 85 STA $47 PC:EE5A A:A5 X:02 Y:C2 P:E5 SP:FB CYC:93 SL:177
EE5B 20 JSR $FA7B PC:EE5C A:A5 X:02 Y:C2 P:E5 SP:FB CYC:102 SL:177
FA7B 24 BIT $01 PC:FA7C A:A5 X:02 Y:C2 P:E5 SP:F9 CYC:120 SL:177
FA7D 18 CLC PC:FA7E A:A5 X:02 Y:C2 P:E5 SP:F9 CYC:129 SL:177
FA7E A9 LDA #$B3 PC:FA7F A:A5 X:02 Y:C2 P:E4 SP:F9 CYC:135 SL:177
FA80 60 RTS PC:FA81 A:B3 X:02 Y:C2 P:E4 SP:F9 CYC:141 SL:177
EE5E 07 SLO $47 PC:EE5F A:B3 X:02 Y:C2 P:E4 SP:FB CYC:159 SL:177
EE60 EA NOP PC:EE61 A:FB X:02 Y:C2 P:E5 SP:FB CYC:174 SL:177
EE61 EA NOP PC:EE62 A:FB X:02 Y:C2 P:E5 SP:FB CYC:180 SL:177
EE62 EA NOP PC:EE63 A:FB X:02 Y:C2 P:E5 SP:FB CYC:186 SL:177
EE63 EA NOP PC:EE64 A:FB X:02 Y:C2 P:E5 SP:FB CYC:192 SL:177
EE64 20 JSR $FA81 PC:EE65 A:FB X:02 Y:C2 P:E5 SP:FB CYC:198 SL:177
FA81 50 BVC $FAE6 PC:FA82 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:216 SL:177
FA83 90 BCC $FAE6 PC:FA84 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:222 SL:177
FA85 10 BPL $FAE6 PC:FA86 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:228 SL:177
FA87 C9 CMP #$FB PC:FA88 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:234 SL:177
FA89 D0 BNE $FAE6 PC:FA8A A:FB X:02 Y:C2 P:67 SP:F9 CYC:240 SL:177
FA8B 60 RTS PC:FA8C A:FB X:02 Y:C2 P:67 SP:F9 CYC:246 SL:177
EE67 A5 LDA $47 PC:EE68 A:FB X:02 Y:C2 P:67 SP:FB CYC:264 SL:177
EE69 C9 CMP #$4A PC:EE6A A:4A X:02 Y:C2 P:65 SP:FB CYC:273 SL:177
EE6B F0 BEQ $EE6F PC:EE6C A:4A X:02 Y:C2 P:67 SP:FB CYC:279 SL:177
EE6F C8 INY PC:EE70 A:4A X:02 Y:C2 P:67 SP:FB CYC:288 SL:177
EE70 A9 LDA #$29 PC:EE71 A:4A X:02 Y:C3 P:E5 SP:FB CYC:294 SL:177
EE72 85 STA $47 PC:EE73 A:29 X:02 Y:C3 P:65 SP:FB CYC:300 SL:177
EE74 20 JSR $FA8C PC:EE75 A:29 X:02 Y:C3 P:65 SP:FB CYC:309 SL:177
FA8C B8 CLV PC:FA8D A:29 X:02 Y:C3 P:65 SP:F9 CYC:327 SL:177
FA8D 18 CLC PC:FA8E A:29 X:02 Y:C3 P:25 SP:F9 CYC:333 SL:177
FA8E A9 LDA #$C3 PC:FA8F A:29 X:02 Y:C3 P:24 SP:F9 CYC:339 SL:177
FA90 60 RTS PC:FA91 A:C3 X:02 Y:C3 P:A4 SP:F9 CYC:4 SL:178
EE77 07 SLO $47 PC:EE78 A:C3 X:02 Y:C3 P:A4 SP:FB CYC:22 SL:178
EE79 EA NOP PC:EE7A A:D3 X:02 Y:C3 P:A4 SP:FB CYC:37 SL:178
EE7A EA NOP PC:EE7B A:D3 X:02 Y:C3 P:A4 SP:FB CYC:43 SL:178
EE7B EA NOP PC:EE7C A:D3 X:02 Y:C3 P:A4 SP:FB CYC:49 SL:178
EE7C EA NOP PC:EE7D A:D3 X:02 Y:C3 P:A4 SP:FB CYC:55 SL:178
EE7D 20 JSR $FA91 PC:EE7E A:D3 X:02 Y:C3 P:A4 SP:FB CYC:61 SL:178
FA91 70 BVS $FAE6 PC:FA92 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:79 SL:178
FA93 F0 BEQ $FAE6 PC:FA94 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:85 SL:178
FA95 10 BPL $FAE6 PC:FA96 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:91 SL:178
FA97 B0 BCS $FAE6 PC:FA98 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:97 SL:178
FA99 C9 CMP #$D3 PC:FA9A A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:103 SL:178
FA9B D0 BNE $FAE6 PC:FA9C A:D3 X:02 Y:C3 P:27 SP:F9 CYC:109 SL:178
FA9D 60 RTS PC:FA9E A:D3 X:02 Y:C3 P:27 SP:F9 CYC:115 SL:178
EE80 A5 LDA $47 PC:EE81 A:D3 X:02 Y:C3 P:27 SP:FB CYC:133 SL:178
EE82 C9 CMP #$52 PC:EE83 A:52 X:02 Y:C3 P:25 SP:FB CYC:142 SL:178
EE84 F0 BEQ $EE88 PC:EE85 A:52 X:02 Y:C3 P:27 SP:FB CYC:148 SL:178
EE88 C8 INY PC:EE89 A:52 X:02 Y:C3 P:27 SP:FB CYC:157 SL:178
EE89 A9 LDA #$37 PC:EE8A A:52 X:02 Y:C4 P:A5 SP:FB CYC:163 SL:178
EE8B 85 STA $47 PC:EE8C A:37 X:02 Y:C4 P:25 SP:FB CYC:169 SL:178
EE8D 20 JSR $FA9E PC:EE8E A:37 X:02 Y:C4 P:25 SP:FB CYC:178 SL:178
FA9E 24 BIT $01 PC:FA9F A:37 X:02 Y:C4 P:25 SP:F9 CYC:196 SL:178
FAA0 38 SEC PC:FAA1 A:37 X:02 Y:C4 P:E5 SP:F9 CYC:205 SL:178
FAA1 A9 LDA #$10 PC:FAA2 A:37 X:02 Y:C4 P:E5 SP:F9 CYC:211 SL:178
FAA3 60 RTS PC:FAA4 A:10 X:02 Y:C4 P:65 SP:F9 CYC:217 SL:178
EE90 07 SLO $47 PC:EE91 A:10 X:02 Y:C4 P:65 SP:FB CYC:235 SL:178
EE92 EA NOP PC:EE93 A:7E X:02 Y:C4 P:64 SP:FB CYC:250 SL:178
EE93 EA NOP PC:EE94 A:7E X:02 Y:C4 P:64 SP:FB CYC:256 SL:178
EE94 EA NOP PC:EE95 A:7E X:02 Y:C4 P:64 SP:FB CYC:262 SL:178
EE95 EA NOP PC:EE96 A:7E X:02 Y:C4 P:64 SP:FB CYC:268 SL:178
EE96 20 JSR $FAA4 PC:EE97 A:7E X:02 Y:C4 P:64 SP:FB CYC:274 SL:178
FAA4 50 BVC $FAE6 PC:FAA5 A:7E X:02 Y:C4 P:64 SP:F9 CYC:292 SL:178
FAA6 F0 BEQ $FAE6 PC:FAA7 A:7E X:02 Y:C4 P:64 SP:F9 CYC:298 SL:178
FAA8 30 BMI $FAE6 PC:FAA9 A:7E X:02 Y:C4 P:64 SP:F9 CYC:304 SL:178
FAAA B0 BCS $FAE6 PC:FAAB A:7E X:02 Y:C4 P:64 SP:F9 CYC:310 SL:178
FAAC C9 CMP #$7E PC:FAAD A:7E X:02 Y:C4 P:64 SP:F9 CYC:316 SL:178
FAAE D0 BNE $FAE6 PC:FAAF A:7E X:02 Y:C4 P:67 SP:F9 CYC:322 SL:178
FAB0 60 RTS PC:FAB1 A:7E X:02 Y:C4 P:67 SP:F9 CYC:328 SL:178
EE99 A5 LDA $47 PC:EE9A A:7E X:02 Y:C4 P:67 SP:FB CYC:5 SL:179
EE9B C9 CMP #$6E PC:EE9C A:6E X:02 Y:C4 P:65 SP:FB CYC:14 SL:179
EE9D F0 BEQ $EEA1 PC:EE9E A:6E X:02 Y:C4 P:67 SP:FB CYC:20 SL:179
EEA1 C8 INY PC:EEA2 A:6E X:02 Y:C4 P:67 SP:FB CYC:29 SL:179
EEA2 A9 LDA #$A5 PC:EEA3 A:6E X:02 Y:C5 P:E5 SP:FB CYC:35 SL:179
EEA4 8D STA $0647 PC:EEA5 A:A5 X:02 Y:C5 P:E5 SP:FB CYC:41 SL:179
EEA7 20 JSR $FA7B PC:EEA8 A:A5 X:02 Y:C5 P:E5 SP:FB CYC:53 SL:179
FA7B 24 BIT $01 PC:FA7C A:A5 X:02 Y:C5 P:E5 SP:F9 CYC:71 SL:179
FA7D 18 CLC PC:FA7E A:A5 X:02 Y:C5 P:E5 SP:F9 CYC:80 SL:179
FA7E A9 LDA #$B3 PC:FA7F A:A5 X:02 Y:C5 P:E4 SP:F9 CYC:86 SL:179
FA80 60 RTS PC:FA81 A:B3 X:02 Y:C5 P:E4 SP:F9 CYC:92 SL:179
EEAA 0F SLO $0647 PC:EEAB A:B3 X:02 Y:C5 P:E4 SP:FB CYC:110 SL:179
EEAD EA NOP PC:EEAE A:FB X:02 Y:C5 P:E5 SP:FB CYC:128 SL:179
EEAE EA NOP PC:EEAF A:FB X:02 Y:C5 P:E5 SP:FB CYC:134 SL:179
EEAF EA NOP PC:EEB0 A:FB X:02 Y:C5 P:E5 SP:FB CYC:140 SL:179
EEB0 EA NOP PC:EEB1 A:FB X:02 Y:C5 P:E5 SP:FB CYC:146 SL:179
EEB1 20 JSR $FA81 PC:EEB2 A:FB X:02 Y:C5 P:E5 SP:FB CYC:152 SL:179
FA81 50 BVC $FAE6 PC:FA82 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:170 SL:179
FA83 90 BCC $FAE6 PC:FA84 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:176 SL:179
FA85 10 BPL $FAE6 PC:FA86 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:182 SL:179
FA87 C9 CMP #$FB PC:FA88 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:188 SL:179
FA89 D0 BNE $FAE6 PC:FA8A A:FB X:02 Y:C5 P:67 SP:F9 CYC:194 SL:179
FA8B 60 RTS PC:FA8C A:FB X:02 Y:C5 P:67 SP:F9 CYC:200 SL:179
EEB4 AD LDA $0647 PC:EEB5 A:FB X:02 Y:C5 P:67 SP:FB CYC:218 SL:179
EEB7 C9 CMP #$4A PC:EEB8 A:4A X:02 Y:C5 P:65 SP:FB CYC:230 SL:179
EEB9 F0 BEQ $EEBD PC:EEBA A:4A X:02 Y:C5 P:67 SP:FB CYC:236 SL:179
EEBD C8 INY PC:EEBE A:4A X:02 Y:C5 P:67 SP:FB CYC:245 SL:179
EEBE A9 LDA #$29 PC:EEBF A:4A X:02 Y:C6 P:E5 SP:FB CYC:251 SL:179
EEC0 8D STA $0647 PC:EEC1 A:29 X:02 Y:C6 P:65 SP:FB CYC:257 SL:179
EEC3 20 JSR $FA8C PC:EEC4 A:29 X:02 Y:C6 P:65 SP:FB CYC:269 SL:179
FA8C B8 CLV PC:FA8D A:29 X:02 Y:C6 P:65 SP:F9 CYC:287 SL:179
FA8D 18 CLC PC:FA8E A:29 X:02 Y:C6 P:25 SP:F9 CYC:293 SL:179
FA8E A9 LDA #$C3 PC:FA8F A:29 X:02 Y:C6 P:24 SP:F9 CYC:299 SL:179
FA90 60 RTS PC:FA91 A:C3 X:02 Y:C6 P:A4 SP:F9 CYC:305 SL:179
EEC6 0F SLO $0647 PC:EEC7 A:C3 X:02 Y:C6 P:A4 SP:FB CYC:323 SL:179
EEC9 EA NOP PC:EECA A:D3 X:02 Y:C6 P:A4 SP:FB CYC:0 SL:180
EECA EA NOP PC:EECB A:D3 X:02 Y:C6 P:A4 SP:FB CYC:6 SL:180
EECB EA NOP PC:EECC A:D3 X:02 Y:C6 P:A4 SP:FB CYC:12 SL:180
EECC EA NOP PC:EECD A:D3 X:02 Y:C6 P:A4 SP:FB CYC:18 SL:180
EECD 20 JSR $FA91 PC:EECE A:D3 X:02 Y:C6 P:A4 SP:FB CYC:24 SL:180
FA91 70 BVS $FAE6 PC:FA92 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC:42 SL:180
FA93 F0 BEQ $FAE6 PC:FA94 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC:48 SL:180
FA95 10 BPL $FAE6 PC:FA96 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC:54 SL:180
FA97 B0 BCS $FAE6 PC:FA98 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC:60 SL:180
FA99 C9 CMP #$D3 PC:FA9A A:D3 X:02 Y:C6 P:A4 SP:F9 CYC:66 SL:180
FA9B D0 BNE $FAE6 PC:FA9C A:D3 X:02 Y:C6 P:27 SP:F9 CYC:72 SL:180
FA9D 60 RTS PC:FA9E A:D3 X:02 Y:C6 P:27 SP:F9 CYC:78 SL:180
EED0 AD LDA $0647 PC:EED1 A:D3 X:02 Y:C6 P:27 SP:FB CYC:96 SL:180
EED3 C9 CMP #$52 PC:EED4 A:52 X:02 Y:C6 P:25 SP:FB CYC:108 SL:180
EED5 F0 BEQ $EED9 PC:EED6 A:52 X:02 Y:C6 P:27 SP:FB CYC:114 SL:180
EED9 C8 INY PC:EEDA A:52 X:02 Y:C6 P:27 SP:FB CYC:123 SL:180
EEDA A9 LDA #$37 PC:EEDB A:52 X:02 Y:C7 P:A5 SP:FB CYC:129 SL:180
EEDC 8D STA $0647 PC:EEDD A:37 X:02 Y:C7 P:25 SP:FB CYC:135 SL:180
EEDF 20 JSR $FA9E PC:EEE0 A:37 X:02 Y:C7 P:25 SP:FB CYC:147 SL:180
FA9E 24 BIT $01 PC:FA9F A:37 X:02 Y:C7 P:25 SP:F9 CYC:165 SL:180
FAA0 38 SEC PC:FAA1 A:37 X:02 Y:C7 P:E5 SP:F9 CYC:174 SL:180
FAA1 A9 LDA #$10 PC:FAA2 A:37 X:02 Y:C7 P:E5 SP:F9 CYC:180 SL:180
FAA3 60 RTS PC:FAA4 A:10 X:02 Y:C7 P:65 SP:F9 CYC:186 SL:180
EEE2 0F SLO $0647 PC:EEE3 A:10 X:02 Y:C7 P:65 SP:FB CYC:204 SL:180
EEE5 EA NOP PC:EEE6 A:7E X:02 Y:C7 P:64 SP:FB CYC:222 SL:180
EEE6 EA NOP PC:EEE7 A:7E X:02 Y:C7 P:64 SP:FB CYC:228 SL:180
EEE7 EA NOP PC:EEE8 A:7E X:02 Y:C7 P:64 SP:FB CYC:234 SL:180
EEE8 EA NOP PC:EEE9 A:7E X:02 Y:C7 P:64 SP:FB CYC:240 SL:180
EEE9 20 JSR $FAA4 PC:EEEA A:7E X:02 Y:C7 P:64 SP:FB CYC:246 SL:180
FAA4 50 BVC $FAE6 PC:FAA5 A:7E X:02 Y:C7 P:64 SP:F9 CYC:264 SL:180
FAA6 F0 BEQ $FAE6 PC:FAA7 A:7E X:02 Y:C7 P:64 SP:F9 CYC:270 SL:180
FAA8 30 BMI $FAE6 PC:FAA9 A:7E X:02 Y:C7 P:64 SP:F9 CYC:276 SL:180
FAAA B0 BCS $FAE6 PC:FAAB A:7E X:02 Y:C7 P:64 SP:F9 CYC:282 SL:180
FAAC C9 CMP #$7E PC:FAAD A:7E X:02 Y:C7 P:64 SP:F9 CYC:288 SL:180
FAAE D0 BNE $FAE6 PC:FAAF A:7E X:02 Y:C7 P:67 SP:F9 CYC:294 SL:180
FAB0 60 RTS PC:FAB1 A:7E X:02 Y:C7 P:67 SP:F9 CYC:300 SL:180
EEEC AD LDA $0647 PC:EEED A:7E X:02 Y:C7 P:67 SP:FB CYC:318 SL:180
EEEF C9 CMP #$6E PC:EEF0 A:6E X:02 Y:C7 P:65 SP:FB CYC:330 SL:180
EEF1 F0 BEQ $EEF5 PC:EEF2 A:6E X:02 Y:C7 P:67 SP:FB CYC:336 SL:180
EEF5 A9 LDA #$A5 PC:EEF6 A:6E X:02 Y:C7 P:67 SP:FB CYC:4 SL:181
EEF7 8D STA $0647 PC:EEF8 A:A5 X:02 Y:C7 P:E5 SP:FB CYC:10 SL:181
EEFA A9 LDA #$48 PC:EEFB A:A5 X:02 Y:C7 P:E5 SP:FB CYC:22 SL:181
EEFC 85 STA $45 PC:EEFD A:48 X:02 Y:C7 P:65 SP:FB CYC:28 SL:181
EEFE A9 LDA #$05 PC:EEFF A:48 X:02 Y:C7 P:65 SP:FB CYC:37 SL:181
EF00 85 STA $46 PC:EF01 A:05 X:02 Y:C7 P:65 SP:FB CYC:43 SL:181
EF02 A0 LDY #$FF PC:EF03 A:05 X:02 Y:C7 P:65 SP:FB CYC:52 SL:181
EF04 20 JSR $FA7B PC:EF05 A:05 X:02 Y:FF P:E5 SP:FB CYC:58 SL:181
FA7B 24 BIT $01 PC:FA7C A:05 X:02 Y:FF P:E5 SP:F9 CYC:76 SL:181
FA7D 18 CLC PC:FA7E A:05 X:02 Y:FF P:E5 SP:F9 CYC:85 SL:181
FA7E A9 LDA #$B3 PC:FA7F A:05 X:02 Y:FF P:E4 SP:F9 CYC:91 SL:181
FA80 60 RTS PC:FA81 A:B3 X:02 Y:FF P:E4 SP:F9 CYC:97 SL:181
EF07 13 SLO ($45), y PC:EF08 A:B3 X:02 Y:FF P:E4 SP:FB CYC:115 SL:181
EF09 EA NOP PC:EF0A A:FB X:02 Y:FF P:E5 SP:FB CYC:139 SL:181
EF0A EA NOP PC:EF0B A:FB X:02 Y:FF P:E5 SP:FB CYC:145 SL:181
EF0B 08 PHP PC:EF0C A:FB X:02 Y:FF P:E5 SP:FB CYC:151 SL:181
EF0C 48 PHA PC:EF0D A:FB X:02 Y:FF P:E5 SP:FA CYC:160 SL:181
EF0D A0 LDY #$C8 PC:EF0E A:FB X:02 Y:FF P:E5 SP:F9 CYC:169 SL:181
EF0F 68 PLA PC:EF10 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:175 SL:181
EF10 28 PLP PC:EF11 A:FB X:02 Y:C8 P:E5 SP:FA CYC:187 SL:181
EF11 20 JSR $FA81 PC:EF12 A:FB X:02 Y:C8 P:E5 SP:FB CYC:199 SL:181
FA81 50 BVC $FAE6 PC:FA82 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:217 SL:181
FA83 90 BCC $FAE6 PC:FA84 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:223 SL:181
FA85 10 BPL $FAE6 PC:FA86 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:229 SL:181
FA87 C9 CMP #$FB PC:FA88 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:235 SL:181
FA89 D0 BNE $FAE6 PC:FA8A A:FB X:02 Y:C8 P:67 SP:F9 CYC:241 SL:181
FA8B 60 RTS PC:FA8C A:FB X:02 Y:C8 P:67 SP:F9 CYC:247 SL:181
EF14 AD LDA $0647 PC:EF15 A:FB X:02 Y:C8 P:67 SP:FB CYC:265 SL:181
EF17 C9 CMP #$4A PC:EF18 A:4A X:02 Y:C8 P:65 SP:FB CYC:277 SL:181
EF19 F0 BEQ $EF1D PC:EF1A A:4A X:02 Y:C8 P:67 SP:FB CYC:283 SL:181
EF1D A0 LDY #$FF PC:EF1E A:4A X:02 Y:C8 P:67 SP:FB CYC:292 SL:181
EF1F A9 LDA #$29 PC:EF20 A:4A X:02 Y:FF P:E5 SP:FB CYC:298 SL:181
EF21 8D STA $0647 PC:EF22 A:29 X:02 Y:FF P:65 SP:FB CYC:304 SL:181
EF24 20 JSR $FA8C PC:EF25 A:29 X:02 Y:FF P:65 SP:FB CYC:316 SL:181
FA8C B8 CLV PC:FA8D A:29 X:02 Y:FF P:65 SP:F9 CYC:334 SL:181
FA8D 18 CLC PC:FA8E A:29 X:02 Y:FF P:25 SP:F9 CYC:340 SL:181
FA8E A9 LDA #$C3 PC:FA8F A:29 X:02 Y:FF P:24 SP:F9 CYC:5 SL:182
FA90 60 RTS PC:FA91 A:C3 X:02 Y:FF P:A4 SP:F9 CYC:11 SL:182
EF27 13 SLO ($45), y PC:EF28 A:C3 X:02 Y:FF P:A4 SP:FB CYC:29 SL:182
EF29 EA NOP PC:EF2A A:D3 X:02 Y:FF P:A4 SP:FB CYC:53 SL:182
EF2A EA NOP PC:EF2B A:D3 X:02 Y:FF P:A4 SP:FB CYC:59 SL:182
EF2B 08 PHP PC:EF2C A:D3 X:02 Y:FF P:A4 SP:FB CYC:65 SL:182
EF2C 48 PHA PC:EF2D A:D3 X:02 Y:FF P:A4 SP:FA CYC:74 SL:182
EF2D A0 LDY #$C9 PC:EF2E A:D3 X:02 Y:FF P:A4 SP:F9 CYC:83 SL:182
EF2F 68 PLA PC:EF30 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:89 SL:182
EF30 28 PLP PC:EF31 A:D3 X:02 Y:C9 P:A4 SP:FA CYC:101 SL:182
EF31 20 JSR $FA91 PC:EF32 A:D3 X:02 Y:C9 P:A4 SP:FB CYC:113 SL:182
FA91 70 BVS $FAE6 PC:FA92 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:131 SL:182
FA93 F0 BEQ $FAE6 PC:FA94 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:137 SL:182
FA95 10 BPL $FAE6 PC:FA96 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:143 SL:182
FA97 B0 BCS $FAE6 PC:FA98 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:149 SL:182
FA99 C9 CMP #$D3 PC:FA9A A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:155 SL:182
FA9B D0 BNE $FAE6 PC:FA9C A:D3 X:02 Y:C9 P:27 SP:F9 CYC:161 SL:182
FA9D 60 RTS PC:FA9E A:D3 X:02 Y:C9 P:27 SP:F9 CYC:167 SL:182
EF34 AD LDA $0647 PC:EF35 A:D3 X:02 Y:C9 P:27 SP:FB CYC:185 SL:182
EF37 C9 CMP #$52 PC:EF38 A:52 X:02 Y:C9 P:25 SP:FB CYC:197 SL:182
EF39 F0 BEQ $EF3D PC:EF3A A:52 X:02 Y:C9 P:27 SP:FB CYC:203 SL:182
EF3D A0 LDY #$FF PC:EF3E A:52 X:02 Y:C9 P:27 SP:FB CYC:212 SL:182
EF3F A9 LDA #$37 PC:EF40 A:52 X:02 Y:FF P:A5 SP:FB CYC:218 SL:182
EF41 8D STA $0647 PC:EF42 A:37 X:02 Y:FF P:25 SP:FB CYC:224 SL:182
EF44 20 JSR $FA9E PC:EF45 A:37 X:02 Y:FF P:25 SP:FB CYC:236 SL:182
FA9E 24 BIT $01 PC:FA9F A:37 X:02 Y:FF P:25 SP:F9 CYC:254 SL:182
FAA0 38 SEC PC:FAA1 A:37 X:02 Y:FF P:E5 SP:F9 CYC:263 SL:182
FAA1 A9 LDA #$10 PC:FAA2 A:37 X:02 Y:FF P:E5 SP:F9 CYC:269 SL:182
FAA3 60 RTS PC:FAA4 A:10 X:02 Y:FF P:65 SP:F9 CYC:275 SL:182
EF47 13 SLO ($45), y PC:EF48 A:10 X:02 Y:FF P:65 SP:FB CYC:293 SL:182
EF49 EA NOP PC:EF4A A:7E X:02 Y:FF P:64 SP:FB CYC:317 SL:182
EF4A EA NOP PC:EF4B A:7E X:02 Y:FF P:64 SP:FB CYC:323 SL:182
EF4B 08 PHP PC:EF4C A:7E X:02 Y:FF P:64 SP:FB CYC:329 SL:182
EF4C 48 PHA PC:EF4D A:7E X:02 Y:FF P:64 SP:FA CYC:338 SL:182
EF4D A0 LDY #$CA PC:EF4E A:7E X:02 Y:FF P:64 SP:F9 CYC:6 SL:183
EF4F 68 PLA PC:EF50 A:7E X:02 Y:CA P:E4 SP:F9 CYC:12 SL:183
EF50 28 PLP PC:EF51 A:7E X:02 Y:CA P:64 SP:FA CYC:24 SL:183
EF51 20 JSR $FAA4 PC:EF52 A:7E X:02 Y:CA P:64 SP:FB CYC:36 SL:183
FAA4 50 BVC $FAE6 PC:FAA5 A:7E X:02 Y:CA P:64 SP:F9 CYC:54 SL:183
FAA6 F0 BEQ $FAE6 PC:FAA7 A:7E X:02 Y:CA P:64 SP:F9 CYC:60 SL:183
FAA8 30 BMI $FAE6 PC:FAA9 A:7E X:02 Y:CA P:64 SP:F9 CYC:66 SL:183
FAAA B0 BCS $FAE6 PC:FAAB A:7E X:02 Y:CA P:64 SP:F9 CYC:72 SL:183
FAAC C9 CMP #$7E PC:FAAD A:7E X:02 Y:CA P:64 SP:F9 CYC:78 SL:183
FAAE D0 BNE $FAE6 PC:FAAF A:7E X:02 Y:CA P:67 SP:F9 CYC:84 SL:183
FAB0 60 RTS PC:FAB1 A:7E X:02 Y:CA P:67 SP:F9 CYC:90 SL:183
EF54 AD LDA $0647 PC:EF55 A:7E X:02 Y:CA P:67 SP:FB CYC:108 SL:183
EF57 C9 CMP #$6E PC:EF58 A:6E X:02 Y:CA P:65 SP:FB CYC:120 SL:183
EF59 F0 BEQ $EF5D PC:EF5A A:6E X:02 Y:CA P:67 SP:FB CYC:126 SL:183
EF5D A0 LDY #$CB PC:EF5E A:6E X:02 Y:CA P:67 SP:FB CYC:135 SL:183
EF5F A2 LDX #$FF PC:EF60 A:6E X:02 Y:CB P:E5 SP:FB CYC:141 SL:183
EF61 A9 LDA #$A5 PC:EF62 A:6E X:FF Y:CB P:E5 SP:FB CYC:147 SL:183
EF63 85 STA $47 PC:EF64 A:A5 X:FF Y:CB P:E5 SP:FB CYC:153 SL:183
EF65 20 JSR $FA7B PC:EF66 A:A5 X:FF Y:CB P:E5 SP:FB CYC:162 SL:183
FA7B 24 BIT $01 PC:FA7C A:A5 X:FF Y:CB P:E5 SP:F9 CYC:180 SL:183
FA7D 18 CLC PC:FA7E A:A5 X:FF Y:CB P:E5 SP:F9 CYC:189 SL:183
FA7E A9 LDA #$B3 PC:FA7F A:A5 X:FF Y:CB P:E4 SP:F9 CYC:195 SL:183
FA80 60 RTS PC:FA81 A:B3 X:FF Y:CB P:E4 SP:F9 CYC:201 SL:183
EF68 17 SLO $48,x PC:EF69 A:B3 X:FF Y:CB P:E4 SP:FB CYC:219 SL:183
EF6A EA NOP PC:EF6B A:FB X:FF Y:CB P:E5 SP:FB CYC:237 SL:183
EF6B EA NOP PC:EF6C A:FB X:FF Y:CB P:E5 SP:FB CYC:243 SL:183
EF6C EA NOP PC:EF6D A:FB X:FF Y:CB P:E5 SP:FB CYC:249 SL:183
EF6D EA NOP PC:EF6E A:FB X:FF Y:CB P:E5 SP:FB CYC:255 SL:183
EF6E 20 JSR $FA81 PC:EF6F A:FB X:FF Y:CB P:E5 SP:FB CYC:261 SL:183
FA81 50 BVC $FAE6 PC:FA82 A:FB X:FF Y:CB P:E5 SP:F9 CYC:279 SL:183
FA83 90 BCC $FAE6 PC:FA84 A:FB X:FF Y:CB P:E5 SP:F9 CYC:285 SL:183
FA85 10 BPL $FAE6 PC:FA86 A:FB X:FF Y:CB P:E5 SP:F9 CYC:291 SL:183
FA87 C9 CMP #$FB PC:FA88 A:FB X:FF Y:CB P:E5 SP:F9 CYC:297 SL:183
FA89 D0 BNE $FAE6 PC:FA8A A:FB X:FF Y:CB P:67 SP:F9 CYC:303 SL:183
FA8B 60 RTS PC:FA8C A:FB X:FF Y:CB P:67 SP:F9 CYC:309 SL:183
EF71 A5 LDA $47 PC:EF72 A:FB X:FF Y:CB P:67 SP:FB CYC:327 SL:183
EF73 C9 CMP #$4A PC:EF74 A:4A X:FF Y:CB P:65 SP:FB CYC:336 SL:183
EF75 F0 BEQ $EF79 PC:EF76 A:4A X:FF Y:CB P:67 SP:FB CYC:1 SL:184
EF79 C8 INY PC:EF7A A:4A X:FF Y:CB P:67 SP:FB CYC:10 SL:184
EF7A A9 LDA #$29 PC:EF7B A:4A X:FF Y:CC P:E5 SP:FB CYC:16 SL:184
EF7C 85 STA $47 PC:EF7D A:29 X:FF Y:CC P:65 SP:FB CYC:22 SL:184
EF7E 20 JSR $FA8C PC:EF7F A:29 X:FF Y:CC P:65 SP:FB CYC:31 SL:184
FA8C B8 CLV PC:FA8D A:29 X:FF Y:CC P:65 SP:F9 CYC:49 SL:184
FA8D 18 CLC PC:FA8E A:29 X:FF Y:CC P:25 SP:F9 CYC:55 SL:184
FA8E A9 LDA #$C3 PC:FA8F A:29 X:FF Y:CC P:24 SP:F9 CYC:61 SL:184
FA90 60 RTS PC:FA91 A:C3 X:FF Y:CC P:A4 SP:F9 CYC:67 SL:184
EF81 17 SLO $48,x PC:EF82 A:C3 X:FF Y:CC P:A4 SP:FB CYC:85 SL:184
EF83 EA NOP PC:EF84 A:D3 X:FF Y:CC P:A4 SP:FB CYC:103 SL:184
EF84 EA NOP PC:EF85 A:D3 X:FF Y:CC P:A4 SP:FB CYC:109 SL:184
EF85 EA NOP PC:EF86 A:D3 X:FF Y:CC P:A4 SP:FB CYC:115 SL:184
EF86 EA NOP PC:EF87 A:D3 X:FF Y:CC P:A4 SP:FB CYC:121 SL:184
EF87 20 JSR $FA91 PC:EF88 A:D3 X:FF Y:CC P:A4 SP:FB CYC:127 SL:184
FA91 70 BVS $FAE6 PC:FA92 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:145 SL:184
FA93 F0 BEQ $FAE6 PC:FA94 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:151 SL:184
FA95 10 BPL $FAE6 PC:FA96 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:157 SL:184
FA97 B0 BCS $FAE6 PC:FA98 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:163 SL:184
FA99 C9 CMP #$D3 PC:FA9A A:D3 X:FF Y:CC P:A4 SP:F9 CYC:169 SL:184
FA9B D0 BNE $FAE6 PC:FA9C A:D3 X:FF Y:CC P:27 SP:F9 CYC:175 SL:184
FA9D 60 RTS PC:FA9E A:D3 X:FF Y:CC P:27 SP:F9 CYC:181 SL:184
EF8A A5 LDA $47 PC:EF8B A:D3 X:FF Y:CC P:27 SP:FB CYC:199 SL:184
EF8C C9 CMP #$52 PC:EF8D A:52 X:FF Y:CC P:25 SP:FB CYC:208 SL:184
EF8E F0 BEQ $EF92 PC:EF8F A:52 X:FF Y:CC P:27 SP:FB CYC:214 SL:184
EF92 C8 INY PC:EF93 A:52 X:FF Y:CC P:27 SP:FB CYC:223 SL:184
EF93 A9 LDA #$37 PC:EF94 A:52 X:FF Y:CD P:A5 SP:FB CYC:229 SL:184
EF95 85 STA $47 PC:EF96 A:37 X:FF Y:CD P:25 SP:FB CYC:235 SL:184
EF97 20 JSR $FA9E PC:EF98 A:37 X:FF Y:CD P:25 SP:FB CYC:244 SL:184
FA9E 24 BIT $01 PC:FA9F A:37 X:FF Y:CD P:25 SP:F9 CYC:262 SL:184
FAA0 38 SEC PC:FAA1 A:37 X:FF Y:CD P:E5 SP:F9 CYC:271 SL:184
FAA1 A9 LDA #$10 PC:FAA2 A:37 X:FF Y:CD P:E5 SP:F9 CYC:277 SL:184
FAA3 60 RTS PC:FAA4 A:10 X:FF Y:CD P:65 SP:F9 CYC:283 SL:184
EF9A 17 SLO $48,x PC:EF9B A:10 X:FF Y:CD P:65 SP:FB CYC:301 SL:184
EF9C EA NOP PC:EF9D A:7E X:FF Y:CD P:64 SP:FB CYC:319 SL:184
EF9D EA NOP PC:EF9E A:7E X:FF Y:CD P:64 SP:FB CYC:325 SL:184
EF9E EA NOP PC:EF9F A:7E X:FF Y:CD P:64 SP:FB CYC:331 SL:184
EF9F EA NOP PC:EFA0 A:7E X:FF Y:CD P:64 SP:FB CYC:337 SL:184
EFA0 20 JSR $FAA4 PC:EFA1 A:7E X:FF Y:CD P:64 SP:FB CYC:2 SL:185
FAA4 50 BVC $FAE6 PC:FAA5 A:7E X:FF Y:CD P:64 SP:F9 CYC:20 SL:185
FAA6 F0 BEQ $FAE6 PC:FAA7 A:7E X:FF Y:CD P:64 SP:F9 CYC:26 SL:185
FAA8 30 BMI $FAE6 PC:FAA9 A:7E X:FF Y:CD P:64 SP:F9 CYC:32 SL:185
FAAA B0 BCS $FAE6 PC:FAAB A:7E X:FF Y:CD P:64 SP:F9 CYC:38 SL:185
FAAC C9 CMP #$7E PC:FAAD A:7E X:FF Y:CD P:64 SP:F9 CYC:44 SL:185
FAAE D0 BNE $FAE6 PC:FAAF A:7E X:FF Y:CD P:67 SP:F9 CYC:50 SL:185
FAB0 60 RTS PC:FAB1 A:7E X:FF Y:CD P:67 SP:F9 CYC:56 SL:185
EFA3 A5 LDA $47 PC:EFA4 A:7E X:FF Y:CD P:67 SP:FB CYC:74 SL:185
EFA5 C9 CMP #$6E PC:EFA6 A:6E X:FF Y:CD P:65 SP:FB CYC:83 SL:185
EFA7 F0 BEQ $EFAB PC:EFA8 A:6E X:FF Y:CD P:67 SP:FB CYC:89 SL:185
EFAB A9 LDA #$A5 PC:EFAC A:6E X:FF Y:CD P:67 SP:FB CYC:98 SL:185
EFAD 8D STA $0647 PC:EFAE A:A5 X:FF Y:CD P:E5 SP:FB CYC:104 SL:185
EFB0 A0 LDY #$FF PC:EFB1 A:A5 X:FF Y:CD P:E5 SP:FB CYC:116 SL:185
EFB2 20 JSR $FA7B PC:EFB3 A:A5 X:FF Y:FF P:E5 SP:FB CYC:122 SL:185
FA7B 24 BIT $01 PC:FA7C A:A5 X:FF Y:FF P:E5 SP:F9 CYC:140 SL:185
FA7D 18 CLC PC:FA7E A:A5 X:FF Y:FF P:E5 SP:F9 CYC:149 SL:185
FA7E A9 LDA #$B3 PC:FA7F A:A5 X:FF Y:FF P:E4 SP:F9 CYC:155 SL:185
FA80 60 RTS PC:FA81 A:B3 X:FF Y:FF P:E4 SP:F9 CYC:161 SL:185
EFB5 1B SLO $0548,y PC:EFB6 A:B3 X:FF Y:FF P:E4 SP:FB CYC:179 SL:185
EFB8 EA NOP PC:EFB9 A:FB X:FF Y:FF P:E5 SP:FB CYC:200 SL:185
EFB9 EA NOP PC:EFBA A:FB X:FF Y:FF P:E5 SP:FB CYC:206 SL:185
EFBA 08 PHP PC:EFBB A:FB X:FF Y:FF P:E5 SP:FB CYC:212 SL:185
EFBB 48 PHA PC:EFBC A:FB X:FF Y:FF P:E5 SP:FA CYC:221 SL:185
EFBC A0 LDY #$CE PC:EFBD A:FB X:FF Y:FF P:E5 SP:F9 CYC:230 SL:185
EFBE 68 PLA PC:EFBF A:FB X:FF Y:CE P:E5 SP:F9 CYC:236 SL:185
EFBF 28 PLP PC:EFC0 A:FB X:FF Y:CE P:E5 SP:FA CYC:248 SL:185
EFC0 20 JSR $FA81 PC:EFC1 A:FB X:FF Y:CE P:E5 SP:FB CYC:260 SL:185
FA81 50 BVC $FAE6 PC:FA82 A:FB X:FF Y:CE P:E5 SP:F9 CYC:278 SL:185
FA83 90 BCC $FAE6 PC:FA84 A:FB X:FF Y:CE P:E5 SP:F9 CYC:284 SL:185
FA85 10 BPL $FAE6 PC:FA86 A:FB X:FF Y:CE P:E5 SP:F9 CYC:290 SL:185
FA87 C9 CMP #$FB PC:FA88 A:FB X:FF Y:CE P:E5 SP:F9 CYC:296 SL:185
FA89 D0 BNE $FAE6 PC:FA8A A:FB X:FF Y:CE P:67 SP:F9 CYC:302 SL:185
FA8B 60 RTS PC:FA8C A:FB X:FF Y:CE P:67 SP:F9 CYC:308 SL:185
EFC3 AD LDA $0647 PC:EFC4 A:FB X:FF Y:CE P:67 SP:FB CYC:326 SL:185
EFC6 C9 CMP #$4A PC:EFC7 A:4A X:FF Y:CE P:65 SP:FB CYC:338 SL:185
EFC8 F0 BEQ $EFCC PC:EFC9 A:4A X:FF Y:CE P:67 SP:FB CYC:3 SL:186
EFCC A0 LDY #$FF PC:EFCD A:4A X:FF Y:CE P:67 SP:FB CYC:12 SL:186
EFCE A9 LDA #$29 PC:EFCF A:4A X:FF Y:FF P:E5 SP:FB CYC:18 SL:186
EFD0 8D STA $0647 PC:EFD1 A:29 X:FF Y:FF P:65 SP:FB CYC:24 SL:186
EFD3 20 JSR $FA8C PC:EFD4 A:29 X:FF Y:FF P:65 SP:FB CYC:36 SL:186
FA8C B8 CLV PC:FA8D A:29 X:FF Y:FF P:65 SP:F9 CYC:54 SL:186
FA8D 18 CLC PC:FA8E A:29 X:FF Y:FF P:25 SP:F9 CYC:60 SL:186
FA8E A9 LDA #$C3 PC:FA8F A:29 X:FF Y:FF P:24 SP:F9 CYC:66 SL:186
FA90 60 RTS PC:FA91 A:C3 X:FF Y:FF P:A4 SP:F9 CYC:72 SL:186
EFD6 1B SLO $0548,y PC:EFD7 A:C3 X:FF Y:FF P:A4 SP:FB CYC:90 SL:186
EFD9 EA NOP PC:EFDA A:D3 X:FF Y:FF P:A4 SP:FB CYC:111 SL:186
EFDA EA NOP PC:EFDB A:D3 X:FF Y:FF P:A4 SP:FB CYC:117 SL:186
EFDB 08 PHP PC:EFDC A:D3 X:FF Y:FF P:A4 SP:FB CYC:123 SL:186
EFDC 48 PHA PC:EFDD A:D3 X:FF Y:FF P:A4 SP:FA CYC:132 SL:186
EFDD A0 LDY #$CF PC:EFDE A:D3 X:FF Y:FF P:A4 SP:F9 CYC:141 SL:186
EFDF 68 PLA PC:EFE0 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:147 SL:186
EFE0 28 PLP PC:EFE1 A:D3 X:FF Y:CF P:A4 SP:FA CYC:159 SL:186
EFE1 20 JSR $FA91 PC:EFE2 A:D3 X:FF Y:CF P:A4 SP:FB CYC:171 SL:186
FA91 70 BVS $FAE6 PC:FA92 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:189 SL:186
FA93 F0 BEQ $FAE6 PC:FA94 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:195 SL:186
FA95 10 BPL $FAE6 PC:FA96 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:201 SL:186
FA97 B0 BCS $FAE6 PC:FA98 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:207 SL:186
FA99 C9 CMP #$D3 PC:FA9A A:D3 X:FF Y:CF P:A4 SP:F9 CYC:213 SL:186
FA9B D0 BNE $FAE6 PC:FA9C A:D3 X:FF Y:CF P:27 SP:F9 CYC:219 SL:186
FA9D 60 RTS PC:FA9E A:D3 X:FF Y:CF P:27 SP:F9 CYC:225 SL:186
EFE4 AD LDA $0647 PC:EFE5 A:D3 X:FF Y:CF P:27 SP:FB CYC:243 SL:186
EFE7 C9 CMP #$52 PC:EFE8 A:52 X:FF Y:CF P:25 SP:FB CYC:255 SL:186
EFE9 F0 BEQ $EFED PC:EFEA A:52 X:FF Y:CF P:27 SP:FB CYC:261 SL:186
EFED A0 LDY #$FF PC:EFEE A:52 X:FF Y:CF P:27 SP:FB CYC:270 SL:186
EFEF A9 LDA #$37 PC:EFF0 A:52 X:FF Y:FF P:A5 SP:FB CYC:276 SL:186
EFF1 8D STA $0647 PC:EFF2 A:37 X:FF Y:FF P:25 SP:FB CYC:282 SL:186
EFF4 20 JSR $FA9E PC:EFF5 A:37 X:FF Y:FF P:25 SP:FB CYC:294 SL:186
FA9E 24 BIT $01 PC:FA9F A:37 X:FF Y:FF P:25 SP:F9 CYC:312 SL:186
FAA0 38 SEC PC:FAA1 A:37 X:FF Y:FF P:E5 SP:F9 CYC:321 SL:186
FAA1 A9 LDA #$10 PC:FAA2 A:37 X:FF Y:FF P:E5 SP:F9 CYC:327 SL:186
FAA3 60 RTS PC:FAA4 A:10 X:FF Y:FF P:65 SP:F9 CYC:333 SL:186
EFF7 1B SLO $0548,y PC:EFF8 A:10 X:FF Y:FF P:65 SP:FB CYC:10 SL:187
EFFA EA NOP PC:EFFB A:7E X:FF Y:FF P:64 SP:FB CYC:31 SL:187
EFFB EA NOP PC:EFFC A:7E X:FF Y:FF P:64 SP:FB CYC:37 SL:187
EFFC 08 PHP PC:EFFD A:7E X:FF Y:FF P:64 SP:FB CYC:43 SL:187
EFFD 48 PHA PC:EFFE A:7E X:FF Y:FF P:64 SP:FA CYC:52 SL:187
EFFE A0 LDY #$D0 PC:EFFF A:7E X:FF Y:FF P:64 SP:F9 CYC:61 SL:187
F000 68 PLA PC:F001 A:7E X:FF Y:D0 P:E4 SP:F9 CYC:67 SL:187
F001 28 PLP PC:F002 A:7E X:FF Y:D0 P:64 SP:FA CYC:79 SL:187
F002 20 JSR $FAA4 PC:F003 A:7E X:FF Y:D0 P:64 SP:FB CYC:91 SL:187
FAA4 50 BVC $FAE6 PC:FAA5 A:7E X:FF Y:D0 P:64 SP:F9 CYC:109 SL:187
FAA6 F0 BEQ $FAE6 PC:FAA7 A:7E X:FF Y:D0 P:64 SP:F9 CYC:115 SL:187
FAA8 30 BMI $FAE6 PC:FAA9 A:7E X:FF Y:D0 P:64 SP:F9 CYC:121 SL:187
FAAA B0 BCS $FAE6 PC:FAAB A:7E X:FF Y:D0 P:64 SP:F9 CYC:127 SL:187
FAAC C9 CMP #$7E PC:FAAD A:7E X:FF Y:D0 P:64 SP:F9 CYC:133 SL:187
FAAE D0 BNE $FAE6 PC:FAAF A:7E X:FF Y:D0 P:67 SP:F9 CYC:139 SL:187
FAB0 60 RTS PC:FAB1 A:7E X:FF Y:D0 P:67 SP:F9 CYC:145 SL:187
F005 AD LDA $0647 PC:F006 A:7E X:FF Y:D0 P:67 SP:FB CYC:163 SL:187
F008 C9 CMP #$6E PC:F009 A:6E X:FF Y:D0 P:65 SP:FB CYC:175 SL:187
F00A F0 BEQ $F00E PC:F00B A:6E X:FF Y:D0 P:67 SP:FB CYC:181 SL:187
F00E A0 LDY #$D1 PC:F00F A:6E X:FF Y:D0 P:67 SP:FB CYC:190 SL:187
F010 A2 LDX #$FF PC:F011 A:6E X:FF Y:D1 P:E5 SP:FB CYC:196 SL:187
F012 A9 LDA #$A5 PC:F013 A:6E X:FF Y:D1 P:E5 SP:FB CYC:202 SL:187
F014 8D STA $0647 PC:F015 A:A5 X:FF Y:D1 P:E5 SP:FB CYC:208 SL:187
F017 20 JSR $FA7B PC:F018 A:A5 X:FF Y:D1 P:E5 SP:FB CYC:220 SL:187
FA7B 24 BIT $01 PC:FA7C A:A5 X:FF Y:D1 P:E5 SP:F9 CYC:238 SL:187
FA7D 18 CLC PC:FA7E A:A5 X:FF Y:D1 P:E5 SP:F9 CYC:247 SL:187
FA7E A9 LDA #$B3 PC:FA7F A:A5 X:FF Y:D1 P:E4 SP:F9 CYC:253 SL:187
FA80 60 RTS PC:FA81 A:B3 X:FF Y:D1 P:E4 SP:F9 CYC:259 SL:187
F01A 1F SLO $0548,x PC:F01B A:B3 X:FF Y:D1 P:E4 SP:FB CYC:277 SL:187
F01D EA NOP PC:F01E A:FB X:FF Y:D1 P:E5 SP:FB CYC:298 SL:187
F01E EA NOP PC:F01F A:FB X:FF Y:D1 P:E5 SP:FB CYC:304 SL:187
F01F EA NOP PC:F020 A:FB X:FF Y:D1 P:E5 SP:FB CYC:310 SL:187
F020 EA NOP PC:F021 A:FB X:FF Y:D1 P:E5 SP:FB CYC:316 SL:187
F021 20 JSR $FA81 PC:F022 A:FB X:FF Y:D1 P:E5 SP:FB CYC:322 SL:187
FA81 50 BVC $FAE6 PC:FA82 A:FB X:FF Y:D1 P:E5 SP:F9 CYC:340 SL:187
FA83 90 BCC $FAE6 PC:FA84 A:FB X:FF Y:D1 P:E5 SP:F9 CYC:5 SL:188
FA85 10 BPL $FAE6 PC:FA86 A:FB X:FF Y:D1 P:E5 SP:F9 CYC:11 SL:188
FA87 C9 CMP #$FB PC:FA88 A:FB X:FF Y:D1 P:E5 SP:F9 CYC:17 SL:188
FA89 D0 BNE $FAE6 PC:FA8A A:FB X:FF Y:D1 P:67 SP:F9 CYC:23 SL:188
FA8B 60 RTS PC:FA8C A:FB X:FF Y:D1 P:67 SP:F9 CYC:29 SL:188
F024 AD LDA $0647 PC:F025 A:FB X:FF Y:D1 P:67 SP:FB CYC:47 SL:188
F027 C9 CMP #$4A PC:F028 A:4A X:FF Y:D1 P:65 SP:FB CYC:59 SL:188
F029 F0 BEQ $F02D PC:F02A A:4A X:FF Y:D1 P:67 SP:FB CYC:65 SL:188
F02D C8 INY PC:F02E A:4A X:FF Y:D1 P:67 SP:FB CYC:74 SL:188
F02E A9 LDA #$29 PC:F02F A:4A X:FF Y:D2 P:E5 SP:FB CYC:80 SL:188
F030 8D STA $0647 PC:F031 A:29 X:FF Y:D2 P:65 SP:FB CYC:86 SL:188
F033 20 JSR $FA8C PC:F034 A:29 X:FF Y:D2 P:65 SP:FB CYC:98 SL:188
FA8C B8 CLV PC:FA8D A:29 X:FF Y:D2 P:65 SP:F9 CYC:116 SL:188
FA8D 18 CLC PC:FA8E A:29 X:FF Y:D2 P:25 SP:F9 CYC:122 SL:188
FA8E A9 LDA #$C3 PC:FA8F A:29 X:FF Y:D2 P:24 SP:F9 CYC:128 SL:188
FA90 60 RTS PC:FA91 A:C3 X:FF Y:D2 P:A4 SP:F9 CYC:134 SL:188
F036 1F SLO $0548,x PC:F037 A:C3 X:FF Y:D2 P:A4 SP:FB CYC:152 SL:188
F039 EA NOP PC:F03A A:D3 X:FF Y:D2 P:A4 SP:FB CYC:173 SL:188
F03A EA NOP PC:F03B A:D3 X:FF Y:D2 P:A4 SP:FB CYC:179 SL:188
F03B EA NOP PC:F03C A:D3 X:FF Y:D2 P:A4 SP:FB CYC:185 SL:188
F03C EA NOP PC:F03D A:D3 X:FF Y:D2 P:A4 SP:FB CYC:191 SL:188
F03D 20 JSR $FA91 PC:F03E A:D3 X:FF Y:D2 P:A4 SP:FB CYC:197 SL:188
FA91 70 BVS $FAE6 PC:FA92 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:215 SL:188
FA93 F0 BEQ $FAE6 PC:FA94 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:221 SL:188
FA95 10 BPL $FAE6 PC:FA96 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:227 SL:188
FA97 B0 BCS $FAE6 PC:FA98 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:233 SL:188
FA99 C9 CMP #$D3 PC:FA9A A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:239 SL:188
FA9B D0 BNE $FAE6 PC:FA9C A:D3 X:FF Y:D2 P:27 SP:F9 CYC:245 SL:188
FA9D 60 RTS PC:FA9E A:D3 X:FF Y:D2 P:27 SP:F9 CYC:251 SL:188
F040 AD LDA $0647 PC:F041 A:D3 X:FF Y:D2 P:27 SP:FB CYC:269 SL:188
F043 C9 CMP #$52 PC:F044 A:52 X:FF Y:D2 P:25 SP:FB CYC:281 SL:188
F045 F0 BEQ $F049 PC:F046 A:52 X:FF Y:D2 P:27 SP:FB CYC:287 SL:188
F049 C8 INY PC:F04A A:52 X:FF Y:D2 P:27 SP:FB CYC:296 SL:188
F04A A9 LDA #$37 PC:F04B A:52 X:FF Y:D3 P:A5 SP:FB CYC:302 SL:188
F04C 8D STA $0647 PC:F04D A:37 X:FF Y:D3 P:25 SP:FB CYC:308 SL:188
F04F 20 JSR $FA9E PC:F050 A:37 X:FF Y:D3 P:25 SP:FB CYC:320 SL:188
FA9E 24 BIT $01 PC:FA9F A:37 X:FF Y:D3 P:25 SP:F9 CYC:338 SL:188
FAA0 38 SEC PC:FAA1 A:37 X:FF Y:D3 P:E5 SP:F9 CYC:6 SL:189
FAA1 A9 LDA #$10 PC:FAA2 A:37 X:FF Y:D3 P:E5 SP:F9 CYC:12 SL:189
FAA3 60 RTS PC:FAA4 A:10 X:FF Y:D3 P:65 SP:F9 CYC:18 SL:189
F052 1F SLO $0548,x PC:F053 A:10 X:FF Y:D3 P:65 SP:FB CYC:36 SL:189
F055 EA NOP PC:F056 A:7E X:FF Y:D3 P:64 SP:FB CYC:57 SL:189
F056 EA NOP PC:F057 A:7E X:FF Y:D3 P:64 SP:FB CYC:63 SL:189
F057 EA NOP PC:F058 A:7E X:FF Y:D3 P:64 SP:FB CYC:69 SL:189
F058 EA NOP PC:F059 A:7E X:FF Y:D3 P:64 SP:FB CYC:75 SL:189
F059 20 JSR $FAA4 PC:F05A A:7E X:FF Y:D3 P:64 SP:FB CYC:81 SL:189
FAA4 50 BVC $FAE6 PC:FAA5 A:7E X:FF Y:D3 P:64 SP:F9 CYC:99 SL:189
FAA6 F0 BEQ $FAE6 PC:FAA7 A:7E X:FF Y:D3 P:64 SP:F9 CYC:105 SL:189
FAA8 30 BMI $FAE6 PC:FAA9 A:7E X:FF Y:D3 P:64 SP:F9 CYC:111 SL:189
FAAA B0 BCS $FAE6 PC:FAAB A:7E X:FF Y:D3 P:64 SP:F9 CYC:117 SL:189
FAAC C9 CMP #$7E PC:FAAD A:7E X:FF Y:D3 P:64 SP:F9 CYC:123 SL:189
FAAE D0 BNE $FAE6 PC:FAAF A:7E X:FF Y:D3 P:67 SP:F9 CYC:129 SL:189
FAB0 60 RTS PC:FAB1 A:7E X:FF Y:D3 P:67 SP:F9 CYC:135 SL:189
F05C AD LDA $0647 PC:F05D A:7E X:FF Y:D3 P:67 SP:FB CYC:153 SL:189
F05F C9 CMP #$6E PC:F060 A:6E X:FF Y:D3 P:65 SP:FB CYC:165 SL:189
F061 F0 BEQ $F065 PC:F062 A:6E X:FF Y:D3 P:67 SP:FB CYC:171 SL:189
F065 60 RTS PC:F066 A:6E X:FF Y:D3 P:67 SP:FB CYC:180 SL:189
C644 20 JSR $F066 PC:C645 A:6E X:FF Y:D3 P:67 SP:FD CYC:198 SL:189
F066 A9 LDA #$FF PC:F067 A:6E X:FF Y:D3 P:67 SP:FB CYC:216 SL:189
F068 85 STA $01 PC:F069 A:FF X:FF Y:D3 P:E5 SP:FB CYC:222 SL:189
F06A A0 LDY #$D4 PC:F06B A:FF X:FF Y:D3 P:E5 SP:FB CYC:231 SL:189
F06C A2 LDX #$02 PC:F06D A:FF X:FF Y:D4 P:E5 SP:FB CYC:237 SL:189
F06E A9 LDA #$47 PC:F06F A:FF X:02 Y:D4 P:65 SP:FB CYC:243 SL:189
F070 85 STA $47 PC:F071 A:47 X:02 Y:D4 P:65 SP:FB CYC:249 SL:189
F072 A9 LDA #$06 PC:F073 A:47 X:02 Y:D4 P:65 SP:FB CYC:258 SL:189
F074 85 STA $48 PC:F075 A:06 X:02 Y:D4 P:65 SP:FB CYC:264 SL:189
F076 A9 LDA #$A5 PC:F077 A:06 X:02 Y:D4 P:65 SP:FB CYC:273 SL:189
F078 8D STA $0647 PC:F079 A:A5 X:02 Y:D4 P:E5 SP:FB CYC:279 SL:189
F07B 20 JSR $FB53 PC:F07C A:A5 X:02 Y:D4 P:E5 SP:FB CYC:291 SL:189
FB53 24 BIT $01 PC:FB54 A:A5 X:02 Y:D4 P:E5 SP:F9 CYC:309 SL:189
FB55 18 CLC PC:FB56 A:A5 X:02 Y:D4 P:E5 SP:F9 CYC:318 SL:189
FB56 A9 LDA #$B3 PC:FB57 A:A5 X:02 Y:D4 P:E4 SP:F9 CYC:324 SL:189
FB58 60 RTS PC:FB59 A:B3 X:02 Y:D4 P:E4 SP:F9 CYC:330 SL:189
F07E 23 RLA $(EA45,x) PC:F07F A:B3 X:02 Y:D4 P:E4 SP:FB CYC:7 SL:190
F080 EA NOP PC:F081 A:02 X:02 Y:D4 P:65 SP:FB CYC:31 SL:190
F081 EA NOP PC:F082 A:02 X:02 Y:D4 P:65 SP:FB CYC:37 SL:190
F082 EA NOP PC:F083 A:02 X:02 Y:D4 P:65 SP:FB CYC:43 SL:190
F083 EA NOP PC:F084 A:02 X:02 Y:D4 P:65 SP:FB CYC:49 SL:190
F084 20 JSR $FB59 PC:F085 A:02 X:02 Y:D4 P:65 SP:FB CYC:55 SL:190
FB59 50 BVC $FB75 PC:FB5A A:02 X:02 Y:D4 P:65 SP:F9 CYC:73 SL:190
FB5B 90 BCC $FB75 PC:FB5C A:02 X:02 Y:D4 P:65 SP:F9 CYC:79 SL:190
FB5D 30 BMI $FB75 PC:FB5E A:02 X:02 Y:D4 P:65 SP:F9 CYC:85 SL:190
FB5F C9 CMP #$02 PC:FB60 A:02 X:02 Y:D4 P:65 SP:F9 CYC:91 SL:190
FB61 D0 BNE $FB75 PC:FB62 A:02 X:02 Y:D4 P:67 SP:F9 CYC:97 SL:190
FB63 60 RTS PC:FB64 A:02 X:02 Y:D4 P:67 SP:F9 CYC:103 SL:190
F087 AD LDA $0647 PC:F088 A:02 X:02 Y:D4 P:67 SP:FB CYC:121 SL:190
F08A C9 CMP #$4A PC:F08B A:4A X:02 Y:D4 P:65 SP:FB CYC:133 SL:190
F08C F0 BEQ $F090 PC:F08D A:4A X:02 Y:D4 P:67 SP:FB CYC:139 SL:190
F090 C8 INY PC:F091 A:4A X:02 Y:D4 P:67 SP:FB CYC:148 SL:190
F091 A9 LDA #$29 PC:F092 A:4A X:02 Y:D5 P:E5 SP:FB CYC:154 SL:190
F093 8D STA $0647 PC:F094 A:29 X:02 Y:D5 P:65 SP:FB CYC:160 SL:190
F096 20 JSR $FB64 PC:F097 A:29 X:02 Y:D5 P:65 SP:FB CYC:172 SL:190
FB64 B8 CLV PC:FB65 A:29 X:02 Y:D5 P:65 SP:F9 CYC:190 SL:190
FB65 18 CLC PC:FB66 A:29 X:02 Y:D5 P:25 SP:F9 CYC:196 SL:190
FB66 A9 LDA #$42 PC:FB67 A:29 X:02 Y:D5 P:24 SP:F9 CYC:202 SL:190
FB68 60 RTS PC:FB69 A:42 X:02 Y:D5 P:24 SP:F9 CYC:208 SL:190
F099 23 RLA $(EA45,x) PC:F09A A:42 X:02 Y:D5 P:24 SP:FB CYC:226 SL:190
F09B EA NOP PC:F09C A:42 X:02 Y:D5 P:24 SP:FB CYC:250 SL:190
F09C EA NOP PC:F09D A:42 X:02 Y:D5 P:24 SP:FB CYC:256 SL:190
F09D EA NOP PC:F09E A:42 X:02 Y:D5 P:24 SP:FB CYC:262 SL:190
F09E EA NOP PC:F09F A:42 X:02 Y:D5 P:24 SP:FB CYC:268 SL:190
F09F 20 JSR $FB69 PC:F0A0 A:42 X:02 Y:D5 P:24 SP:FB CYC:274 SL:190
FB69 70 BVS $FB75 PC:FB6A A:42 X:02 Y:D5 P:24 SP:F9 CYC:292 SL:190
FB6B F0 BEQ $FB75 PC:FB6C A:42 X:02 Y:D5 P:24 SP:F9 CYC:298 SL:190
FB6D 30 BMI $FB75 PC:FB6E A:42 X:02 Y:D5 P:24 SP:F9 CYC:304 SL:190
FB6F B0 BCS $FB75 PC:FB70 A:42 X:02 Y:D5 P:24 SP:F9 CYC:310 SL:190
FB71 C9 CMP #$42 PC:FB72 A:42 X:02 Y:D5 P:24 SP:F9 CYC:316 SL:190
FB73 F0 BEQ $FB77 PC:FB74 A:42 X:02 Y:D5 P:27 SP:F9 CYC:322 SL:190
FB77 60 RTS PC:FB78 A:42 X:02 Y:D5 P:27 SP:F9 CYC:331 SL:190
F0A2 AD LDA $0647 PC:F0A3 A:42 X:02 Y:D5 P:27 SP:FB CYC:8 SL:191
F0A5 C9 CMP #$52 PC:F0A6 A:52 X:02 Y:D5 P:25 SP:FB CYC:20 SL:191
F0A7 F0 BEQ $F0AB PC:F0A8 A:52 X:02 Y:D5 P:27 SP:FB CYC:26 SL:191
F0AB C8 INY PC:F0AC A:52 X:02 Y:D5 P:27 SP:FB CYC:35 SL:191
F0AC A9 LDA #$37 PC:F0AD A:52 X:02 Y:D6 P:A5 SP:FB CYC:41 SL:191
F0AE 8D STA $0647 PC:F0AF A:37 X:02 Y:D6 P:25 SP:FB CYC:47 SL:191
F0B1 20 JSR $FA68 PC:F0B2 A:37 X:02 Y:D6 P:25 SP:FB CYC:59 SL:191
FA68 24 BIT $01 PC:FA69 A:37 X:02 Y:D6 P:25 SP:F9 CYC:77 SL:191
FA6A 38 SEC PC:FA6B A:37 X:02 Y:D6 P:E5 SP:F9 CYC:86 SL:191
FA6B A9 LDA #$75 PC:FA6C A:37 X:02 Y:D6 P:E5 SP:F9 CYC:92 SL:191
FA6D 60 RTS PC:FA6E A:75 X:02 Y:D6 P:65 SP:F9 CYC:98 SL:191
F0B4 23 RLA $(EA45,x) PC:F0B5 A:75 X:02 Y:D6 P:65 SP:FB CYC:116 SL:191
F0B6 EA NOP PC:F0B7 A:65 X:02 Y:D6 P:64 SP:FB CYC:140 SL:191
F0B7 EA NOP PC:F0B8 A:65 X:02 Y:D6 P:64 SP:FB CYC:146 SL:191
F0B8 EA NOP PC:F0B9 A:65 X:02 Y:D6 P:64 SP:FB CYC:152 SL:191
F0B9 EA NOP PC:F0BA A:65 X:02 Y:D6 P:64 SP:FB CYC:158 SL:191
F0BA 20 JSR $FA6E PC:F0BB A:65 X:02 Y:D6 P:64 SP:FB CYC:164 SL:191
FA6E 50 BVC $FAE6 PC:FA6F A:65 X:02 Y:D6 P:64 SP:F9 CYC:182 SL:191
FA70 F0 BEQ $FAE6 PC:FA71 A:65 X:02 Y:D6 P:64 SP:F9 CYC:188 SL:191
FA72 30 BMI $FAE6 PC:FA73 A:65 X:02 Y:D6 P:64 SP:F9 CYC:194 SL:191
FA74 B0 BCS $FAE6 PC:FA75 A:65 X:02 Y:D6 P:64 SP:F9 CYC:200 SL:191
FA76 C9 CMP #$65 PC:FA77 A:65 X:02 Y:D6 P:64 SP:F9 CYC:206 SL:191
FA78 D0 BNE $FAE6 PC:FA79 A:65 X:02 Y:D6 P:67 SP:F9 CYC:212 SL:191
FA7A 60 RTS PC:FA7B A:65 X:02 Y:D6 P:67 SP:F9 CYC:218 SL:191
F0BD AD LDA $0647 PC:F0BE A:65 X:02 Y:D6 P:67 SP:FB CYC:236 SL:191
F0C0 C9 CMP #$6F PC:F0C1 A:6F X:02 Y:D6 P:65 SP:FB CYC:248 SL:191
F0C2 F0 BEQ $F0C6 PC:F0C3 A:6F X:02 Y:D6 P:67 SP:FB CYC:254 SL:191
F0C6 C8 INY PC:F0C7 A:6F X:02 Y:D6 P:67 SP:FB CYC:263 SL:191
F0C7 A9 LDA #$A5 PC:F0C8 A:6F X:02 Y:D7 P:E5 SP:FB CYC:269 SL:191
F0C9 85 STA $47 PC:F0CA A:A5 X:02 Y:D7 P:E5 SP:FB CYC:275 SL:191
F0CB 20 JSR $FB53 PC:F0CC A:A5 X:02 Y:D7 P:E5 SP:FB CYC:284 SL:191
FB53 24 BIT $01 PC:FB54 A:A5 X:02 Y:D7 P:E5 SP:F9 CYC:302 SL:191
FB55 18 CLC PC:FB56 A:A5 X:02 Y:D7 P:E5 SP:F9 CYC:311 SL:191
FB56 A9 LDA #$B3 PC:FB57 A:A5 X:02 Y:D7 P:E4 SP:F9 CYC:317 SL:191
FB58 60 RTS PC:FB59 A:B3 X:02 Y:D7 P:E4 SP:F9 CYC:323 SL:191
F0CE 27 RLA $47 PC:F0CF A:B3 X:02 Y:D7 P:E4 SP:FB CYC:0 SL:192
F0D0 EA NOP PC:F0D1 A:02 X:02 Y:D7 P:65 SP:FB CYC:15 SL:192
F0D1 EA NOP PC:F0D2 A:02 X:02 Y:D7 P:65 SP:FB CYC:21 SL:192
F0D2 EA NOP PC:F0D3 A:02 X:02 Y:D7 P:65 SP:FB CYC:27 SL:192
F0D3 EA NOP PC:F0D4 A:02 X:02 Y:D7 P:65 SP:FB CYC:33 SL:192
F0D4 20 JSR $FB59 PC:F0D5 A:02 X:02 Y:D7 P:65 SP:FB CYC:39 SL:192
FB59 50 BVC $FB75 PC:FB5A A:02 X:02 Y:D7 P:65 SP:F9 CYC:57 SL:192
FB5B 90 BCC $FB75 PC:FB5C A:02 X:02 Y:D7 P:65 SP:F9 CYC:63 SL:192
FB5D 30 BMI $FB75 PC:FB5E A:02 X:02 Y:D7 P:65 SP:F9 CYC:69 SL:192
FB5F C9 CMP #$02 PC:FB60 A:02 X:02 Y:D7 P:65 SP:F9 CYC:75 SL:192
FB61 D0 BNE $FB75 PC:FB62 A:02 X:02 Y:D7 P:67 SP:F9 CYC:81 SL:192
FB63 60 RTS PC:FB64 A:02 X:02 Y:D7 P:67 SP:F9 CYC:87 SL:192
F0D7 A5 LDA $47 PC:F0D8 A:02 X:02 Y:D7 P:67 SP:FB CYC:105 SL:192
F0D9 C9 CMP #$4A PC:F0DA A:4A X:02 Y:D7 P:65 SP:FB CYC:114 SL:192
F0DB F0 BEQ $F0DF PC:F0DC A:4A X:02 Y:D7 P:67 SP:FB CYC:120 SL:192
F0DF C8 INY PC:F0E0 A:4A X:02 Y:D7 P:67 SP:FB CYC:129 SL:192
F0E0 A9 LDA #$29 PC:F0E1 A:4A X:02 Y:D8 P:E5 SP:FB CYC:135 SL:192
F0E2 85 STA $47 PC:F0E3 A:29 X:02 Y:D8 P:65 SP:FB CYC:141 SL:192
F0E4 20 JSR $FB64 PC:F0E5 A:29 X:02 Y:D8 P:65 SP:FB CYC:150 SL:192
FB64 B8 CLV PC:FB65 A:29 X:02 Y:D8 P:65 SP:F9 CYC:168 SL:192
FB65 18 CLC PC:FB66 A:29 X:02 Y:D8 P:25 SP:F9 CYC:174 SL:192
FB66 A9 LDA #$42 PC:FB67 A:29 X:02 Y:D8 P:24 SP:F9 CYC:180 SL:192
FB68 60 RTS PC:FB69 A:42 X:02 Y:D8 P:24 SP:F9 CYC:186 SL:192
F0E7 27 RLA $47 PC:F0E8 A:42 X:02 Y:D8 P:24 SP:FB CYC:204 SL:192
F0E9 EA NOP PC:F0EA A:42 X:02 Y:D8 P:24 SP:FB CYC:219 SL:192
F0EA EA NOP PC:F0EB A:42 X:02 Y:D8 P:24 SP:FB CYC:225 SL:192
F0EB EA NOP PC:F0EC A:42 X:02 Y:D8 P:24 SP:FB CYC:231 SL:192
F0EC EA NOP PC:F0ED A:42 X:02 Y:D8 P:24 SP:FB CYC:237 SL:192
F0ED 20 JSR $FB69 PC:F0EE A:42 X:02 Y:D8 P:24 SP:FB CYC:243 SL:192
FB69 70 BVS $FB75 PC:FB6A A:42 X:02 Y:D8 P:24 SP:F9 CYC:261 SL:192
FB6B F0 BEQ $FB75 PC:FB6C A:42 X:02 Y:D8 P:24 SP:F9 CYC:267 SL:192
FB6D 30 BMI $FB75 PC:FB6E A:42 X:02 Y:D8 P:24 SP:F9 CYC:273 SL:192
FB6F B0 BCS $FB75 PC:FB70 A:42 X:02 Y:D8 P:24 SP:F9 CYC:279 SL:192
FB71 C9 CMP #$42 PC:FB72 A:42 X:02 Y:D8 P:24 SP:F9 CYC:285 SL:192
FB73 F0 BEQ $FB77 PC:FB74 A:42 X:02 Y:D8 P:27 SP:F9 CYC:291 SL:192
FB77 60 RTS PC:FB78 A:42 X:02 Y:D8 P:27 SP:F9 CYC:300 SL:192
F0F0 A5 LDA $47 PC:F0F1 A:42 X:02 Y:D8 P:27 SP:FB CYC:318 SL:192
F0F2 C9 CMP #$52 PC:F0F3 A:52 X:02 Y:D8 P:25 SP:FB CYC:327 SL:192
F0F4 F0 BEQ $F0F8 PC:F0F5 A:52 X:02 Y:D8 P:27 SP:FB CYC:333 SL:192
F0F8 C8 INY PC:F0F9 A:52 X:02 Y:D8 P:27 SP:FB CYC:1 SL:193
F0F9 A9 LDA #$37 PC:F0FA A:52 X:02 Y:D9 P:A5 SP:FB CYC:7 SL:193
F0FB 85 STA $47 PC:F0FC A:37 X:02 Y:D9 P:25 SP:FB CYC:13 SL:193
F0FD 20 JSR $FA68 PC:F0FE A:37 X:02 Y:D9 P:25 SP:FB CYC:22 SL:193
FA68 24 BIT $01 PC:FA69 A:37 X:02 Y:D9 P:25 SP:F9 CYC:40 SL:193
FA6A 38 SEC PC:FA6B A:37 X:02 Y:D9 P:E5 SP:F9 CYC:49 SL:193
FA6B A9 LDA #$75 PC:FA6C A:37 X:02 Y:D9 P:E5 SP:F9 CYC:55 SL:193
FA6D 60 RTS PC:FA6E A:75 X:02 Y:D9 P:65 SP:F9 CYC:61 SL:193
F100 27 RLA $47 PC:F101 A:75 X:02 Y:D9 P:65 SP:FB CYC:79 SL:193
F102 EA NOP PC:F103 A:65 X:02 Y:D9 P:64 SP:FB CYC:94 SL:193
F103 EA NOP PC:F104 A:65 X:02 Y:D9 P:64 SP:FB CYC:100 SL:193
F104 EA NOP PC:F105 A:65 X:02 Y:D9 P:64 SP:FB CYC:106 SL:193
F105 EA NOP PC:F106 A:65 X:02 Y:D9 P:64 SP:FB CYC:112 SL:193
F106 20 JSR $FA6E PC:F107 A:65 X:02 Y:D9 P:64 SP:FB CYC:118 SL:193
FA6E 50 BVC $FAE6 PC:FA6F A:65 X:02 Y:D9 P:64 SP:F9 CYC:136 SL:193
FA70 F0 BEQ $FAE6 PC:FA71 A:65 X:02 Y:D9 P:64 SP:F9 CYC:142 SL:193
FA72 30 BMI $FAE6 PC:FA73 A:65 X:02 Y:D9 P:64 SP:F9 CYC:148 SL:193
FA74 B0 BCS $FAE6 PC:FA75 A:65 X:02 Y:D9 P:64 SP:F9 CYC:154 SL:193
FA76 C9 CMP #$65 PC:FA77 A:65 X:02 Y:D9 P:64 SP:F9 CYC:160 SL:193
FA78 D0 BNE $FAE6 PC:FA79 A:65 X:02 Y:D9 P:67 SP:F9 CYC:166 SL:193
FA7A 60 RTS PC:FA7B A:65 X:02 Y:D9 P:67 SP:F9 CYC:172 SL:193
F109 A5 LDA $47 PC:F10A A:65 X:02 Y:D9 P:67 SP:FB CYC:190 SL:193
F10B C9 CMP #$6F PC:F10C A:6F X:02 Y:D9 P:65 SP:FB CYC:199 SL:193
F10D F0 BEQ $F111 PC:F10E A:6F X:02 Y:D9 P:67 SP:FB CYC:205 SL:193
F111 C8 INY PC:F112 A:6F X:02 Y:D9 P:67 SP:FB CYC:214 SL:193
F112 A9 LDA #$A5 PC:F113 A:6F X:02 Y:DA P:E5 SP:FB CYC:220 SL:193
F114 8D STA $0647 PC:F115 A:A5 X:02 Y:DA P:E5 SP:FB CYC:226 SL:193
F117 20 JSR $FB53 PC:F118 A:A5 X:02 Y:DA P:E5 SP:FB CYC:238 SL:193
FB53 24 BIT $01 PC:FB54 A:A5 X:02 Y:DA P:E5 SP:F9 CYC:256 SL:193
FB55 18 CLC PC:FB56 A:A5 X:02 Y:DA P:E5 SP:F9 CYC:265 SL:193
FB56 A9 LDA #$B3 PC:FB57 A:A5 X:02 Y:DA P:E4 SP:F9 CYC:271 SL:193
FB58 60 RTS PC:FB59 A:B3 X:02 Y:DA P:E4 SP:F9 CYC:277 SL:193
F11A 2F RLA $0647 PC:F11B A:B3 X:02 Y:DA P:E4 SP:FB CYC:295 SL:193
F11D EA NOP PC:F11E A:02 X:02 Y:DA P:65 SP:FB CYC:313 SL:193
F11E EA NOP PC:F11F A:02 X:02 Y:DA P:65 SP:FB CYC:319 SL:193
F11F EA NOP PC:F120 A:02 X:02 Y:DA P:65 SP:FB CYC:325 SL:193
F120 EA NOP PC:F121 A:02 X:02 Y:DA P:65 SP:FB CYC:331 SL:193
F121 20 JSR $FB59 PC:F122 A:02 X:02 Y:DA P:65 SP:FB CYC:337 SL:193
FB59 50 BVC $FB75 PC:FB5A A:02 X:02 Y:DA P:65 SP:F9 CYC:14 SL:194
FB5B 90 BCC $FB75 PC:FB5C A:02 X:02 Y:DA P:65 SP:F9 CYC:20 SL:194
FB5D 30 BMI $FB75 PC:FB5E A:02 X:02 Y:DA P:65 SP:F9 CYC:26 SL:194
FB5F C9 CMP #$02 PC:FB60 A:02 X:02 Y:DA P:65 SP:F9 CYC:32 SL:194
FB61 D0 BNE $FB75 PC:FB62 A:02 X:02 Y:DA P:67 SP:F9 CYC:38 SL:194
FB63 60 RTS PC:FB64 A:02 X:02 Y:DA P:67 SP:F9 CYC:44 SL:194
F124 AD LDA $0647 PC:F125 A:02 X:02 Y:DA P:67 SP:FB CYC:62 SL:194
F127 C9 CMP #$4A PC:F128 A:4A X:02 Y:DA P:65 SP:FB CYC:74 SL:194
F129 F0 BEQ $F12D PC:F12A A:4A X:02 Y:DA P:67 SP:FB CYC:80 SL:194
F12D C8 INY PC:F12E A:4A X:02 Y:DA P:67 SP:FB CYC:89 SL:194
F12E A9 LDA #$29 PC:F12F A:4A X:02 Y:DB P:E5 SP:FB CYC:95 SL:194
F130 8D STA $0647 PC:F131 A:29 X:02 Y:DB P:65 SP:FB CYC:101 SL:194
F133 20 JSR $FB64 PC:F134 A:29 X:02 Y:DB P:65 SP:FB CYC:113 SL:194
FB64 B8 CLV PC:FB65 A:29 X:02 Y:DB P:65 SP:F9 CYC:131 SL:194
FB65 18 CLC PC:FB66 A:29 X:02 Y:DB P:25 SP:F9 CYC:137 SL:194
FB66 A9 LDA #$42 PC:FB67 A:29 X:02 Y:DB P:24 SP:F9 CYC:143 SL:194
FB68 60 RTS PC:FB69 A:42 X:02 Y:DB P:24 SP:F9 CYC:149 SL:194
F136 2F RLA $0647 PC:F137 A:42 X:02 Y:DB P:24 SP:FB CYC:167 SL:194
F139 EA NOP PC:F13A A:42 X:02 Y:DB P:24 SP:FB CYC:185 SL:194
F13A EA NOP PC:F13B A:42 X:02 Y:DB P:24 SP:FB CYC:191 SL:194
F13B EA NOP PC:F13C A:42 X:02 Y:DB P:24 SP:FB CYC:197 SL:194
F13C EA NOP PC:F13D A:42 X:02 Y:DB P:24 SP:FB CYC:203 SL:194
F13D 20 JSR $FB69 PC:F13E A:42 X:02 Y:DB P:24 SP:FB CYC:209 SL:194
FB69 70 BVS $FB75 PC:FB6A A:42 X:02 Y:DB P:24 SP:F9 CYC:227 SL:194
FB6B F0 BEQ $FB75 PC:FB6C A:42 X:02 Y:DB P:24 SP:F9 CYC:233 SL:194
FB6D 30 BMI $FB75 PC:FB6E A:42 X:02 Y:DB P:24 SP:F9 CYC:239 SL:194
FB6F B0 BCS $FB75 PC:FB70 A:42 X:02 Y:DB P:24 SP:F9 CYC:245 SL:194
FB71 C9 CMP #$42 PC:FB72 A:42 X:02 Y:DB P:24 SP:F9 CYC:251 SL:194
FB73 F0 BEQ $FB77 PC:FB74 A:42 X:02 Y:DB P:27 SP:F9 CYC:257 SL:194
FB77 60 RTS PC:FB78 A:42 X:02 Y:DB P:27 SP:F9 CYC:266 SL:194
F140 AD LDA $0647 PC:F141 A:42 X:02 Y:DB P:27 SP:FB CYC:284 SL:194
F143 C9 CMP #$52 PC:F144 A:52 X:02 Y:DB P:25 SP:FB CYC:296 SL:194
F145 F0 BEQ $F149 PC:F146 A:52 X:02 Y:DB P:27 SP:FB CYC:302 SL:194
F149 C8 INY PC:F14A A:52 X:02 Y:DB P:27 SP:FB CYC:311 SL:194
F14A A9 LDA #$37 PC:F14B A:52 X:02 Y:DC P:A5 SP:FB CYC:317 SL:194
F14C 8D STA $0647 PC:F14D A:37 X:02 Y:DC P:25 SP:FB CYC:323 SL:194
F14F 20 JSR $FA68 PC:F150 A:37 X:02 Y:DC P:25 SP:FB CYC:335 SL:194
FA68 24 BIT $01 PC:FA69 A:37 X:02 Y:DC P:25 SP:F9 CYC:12 SL:195
FA6A 38 SEC PC:FA6B A:37 X:02 Y:DC P:E5 SP:F9 CYC:21 SL:195
FA6B A9 LDA #$75 PC:FA6C A:37 X:02 Y:DC P:E5 SP:F9 CYC:27 SL:195
FA6D 60 RTS PC:FA6E A:75 X:02 Y:DC P:65 SP:F9 CYC:33 SL:195
F152 2F RLA $0647 PC:F153 A:75 X:02 Y:DC P:65 SP:FB CYC:51 SL:195
F155 EA NOP PC:F156 A:65 X:02 Y:DC P:64 SP:FB CYC:69 SL:195
F156 EA NOP PC:F157 A:65 X:02 Y:DC P:64 SP:FB CYC:75 SL:195
F157 EA NOP PC:F158 A:65 X:02 Y:DC P:64 SP:FB CYC:81 SL:195
F158 EA NOP PC:F159 A:65 X:02 Y:DC P:64 SP:FB CYC:87 SL:195
F159 20 JSR $FA6E PC:F15A A:65 X:02 Y:DC P:64 SP:FB CYC:93 SL:195
FA6E 50 BVC $FAE6 PC:FA6F A:65 X:02 Y:DC P:64 SP:F9 CYC:111 SL:195
FA70 F0 BEQ $FAE6 PC:FA71 A:65 X:02 Y:DC P:64 SP:F9 CYC:117 SL:195
FA72 30 BMI $FAE6 PC:FA73 A:65 X:02 Y:DC P:64 SP:F9 CYC:123 SL:195
FA74 B0 BCS $FAE6 PC:FA75 A:65 X:02 Y:DC P:64 SP:F9 CYC:129 SL:195
FA76 C9 CMP #$65 PC:FA77 A:65 X:02 Y:DC P:64 SP:F9 CYC:135 SL:195
FA78 D0 BNE $FAE6 PC:FA79 A:65 X:02 Y:DC P:67 SP:F9 CYC:141 SL:195
FA7A 60 RTS PC:FA7B A:65 X:02 Y:DC P:67 SP:F9 CYC:147 SL:195
F15C AD LDA $0647 PC:F15D A:65 X:02 Y:DC P:67 SP:FB CYC:165 SL:195
F15F C9 CMP #$6F PC:F160 A:6F X:02 Y:DC P:65 SP:FB CYC:177 SL:195
F161 F0 BEQ $F165 PC:F162 A:6F X:02 Y:DC P:67 SP:FB CYC:183 SL:195
F165 A9 LDA #$A5 PC:F166 A:6F X:02 Y:DC P:67 SP:FB CYC:192 SL:195
F167 8D STA $0647 PC:F168 A:A5 X:02 Y:DC P:E5 SP:FB CYC:198 SL:195
F16A A9 LDA #$48 PC:F16B A:A5 X:02 Y:DC P:E5 SP:FB CYC:210 SL:195
F16C 85 STA $45 PC:F16D A:48 X:02 Y:DC P:65 SP:FB CYC:216 SL:195
F16E A9 LDA #$05 PC:F16F A:48 X:02 Y:DC P:65 SP:FB CYC:225 SL:195
F170 85 STA $46 PC:F171 A:05 X:02 Y:DC P:65 SP:FB CYC:231 SL:195
F172 A0 LDY #$FF PC:F173 A:05 X:02 Y:DC P:65 SP:FB CYC:240 SL:195
F174 20 JSR $FB53 PC:F175 A:05 X:02 Y:FF P:E5 SP:FB CYC:246 SL:195
FB53 24 BIT $01 PC:FB54 A:05 X:02 Y:FF P:E5 SP:F9 CYC:264 SL:195
FB55 18 CLC PC:FB56 A:05 X:02 Y:FF P:E5 SP:F9 CYC:273 SL:195
FB56 A9 LDA #$B3 PC:FB57 A:05 X:02 Y:FF P:E4 SP:F9 CYC:279 SL:195
FB58 60 RTS PC:FB59 A:B3 X:02 Y:FF P:E4 SP:F9 CYC:285 SL:195
F177 33 RLA ($45), y PC:F178 A:B3 X:02 Y:FF P:E4 SP:FB CYC:303 SL:195
F179 EA NOP PC:F17A A:02 X:02 Y:FF P:65 SP:FB CYC:327 SL:195
F17A EA NOP PC:F17B A:02 X:02 Y:FF P:65 SP:FB CYC:333 SL:195
F17B 08 PHP PC:F17C A:02 X:02 Y:FF P:65 SP:FB CYC:339 SL:195
F17C 48 PHA PC:F17D A:02 X:02 Y:FF P:65 SP:FA CYC:7 SL:196
F17D A0 LDY #$DD PC:F17E A:02 X:02 Y:FF P:65 SP:F9 CYC:16 SL:196
F17F 68 PLA PC:F180 A:02 X:02 Y:DD P:E5 SP:F9 CYC:22 SL:196
F180 28 PLP PC:F181 A:02 X:02 Y:DD P:65 SP:FA CYC:34 SL:196
F181 20 JSR $FB59 PC:F182 A:02 X:02 Y:DD P:65 SP:FB CYC:46 SL:196
FB59 50 BVC $FB75 PC:FB5A A:02 X:02 Y:DD P:65 SP:F9 CYC:64 SL:196
FB5B 90 BCC $FB75 PC:FB5C A:02 X:02 Y:DD P:65 SP:F9 CYC:70 SL:196
FB5D 30 BMI $FB75 PC:FB5E A:02 X:02 Y:DD P:65 SP:F9 CYC:76 SL:196
FB5F C9 CMP #$02 PC:FB60 A:02 X:02 Y:DD P:65 SP:F9 CYC:82 SL:196
FB61 D0 BNE $FB75 PC:FB62 A:02 X:02 Y:DD P:67 SP:F9 CYC:88 SL:196
FB63 60 RTS PC:FB64 A:02 X:02 Y:DD P:67 SP:F9 CYC:94 SL:196
F184 AD LDA $0647 PC:F185 A:02 X:02 Y:DD P:67 SP:FB CYC:112 SL:196
F187 C9 CMP #$4A PC:F188 A:4A X:02 Y:DD P:65 SP:FB CYC:124 SL:196
F189 F0 BEQ $F18D PC:F18A A:4A X:02 Y:DD P:67 SP:FB CYC:130 SL:196
F18D A0 LDY #$FF PC:F18E A:4A X:02 Y:DD P:67 SP:FB CYC:139 SL:196
F18F A9 LDA #$29 PC:F190 A:4A X:02 Y:FF P:E5 SP:FB CYC:145 SL:196
F191 8D STA $0647 PC:F192 A:29 X:02 Y:FF P:65 SP:FB CYC:151 SL:196
F194 20 JSR $FB64 PC:F195 A:29 X:02 Y:FF P:65 SP:FB CYC:163 SL:196
FB64 B8 CLV PC:FB65 A:29 X:02 Y:FF P:65 SP:F9 CYC:181 SL:196
FB65 18 CLC PC:FB66 A:29 X:02 Y:FF P:25 SP:F9 CYC:187 SL:196
FB66 A9 LDA #$42 PC:FB67 A:29 X:02 Y:FF P:24 SP:F9 CYC:193 SL:196
FB68 60 RTS PC:FB69 A:42 X:02 Y:FF P:24 SP:F9 CYC:199 SL:196
F197 33 RLA ($45), y PC:F198 A:42 X:02 Y:FF P:24 SP:FB CYC:217 SL:196
F199 EA NOP PC:F19A A:42 X:02 Y:FF P:24 SP:FB CYC:241 SL:196
F19A EA NOP PC:F19B A:42 X:02 Y:FF P:24 SP:FB CYC:247 SL:196
F19B 08 PHP PC:F19C A:42 X:02 Y:FF P:24 SP:FB CYC:253 SL:196
F19C 48 PHA PC:F19D A:42 X:02 Y:FF P:24 SP:FA CYC:262 SL:196
F19D A0 LDY #$DE PC:F19E A:42 X:02 Y:FF P:24 SP:F9 CYC:271 SL:196
F19F 68 PLA PC:F1A0 A:42 X:02 Y:DE P:A4 SP:F9 CYC:277 SL:196
F1A0 28 PLP PC:F1A1 A:42 X:02 Y:DE P:24 SP:FA CYC:289 SL:196
F1A1 20 JSR $FB69 PC:F1A2 A:42 X:02 Y:DE P:24 SP:FB CYC:301 SL:196
FB69 70 BVS $FB75 PC:FB6A A:42 X:02 Y:DE P:24 SP:F9 CYC:319 SL:196
FB6B F0 BEQ $FB75 PC:FB6C A:42 X:02 Y:DE P:24 SP:F9 CYC:325 SL:196
FB6D 30 BMI $FB75 PC:FB6E A:42 X:02 Y:DE P:24 SP:F9 CYC:331 SL:196
FB6F B0 BCS $FB75 PC:FB70 A:42 X:02 Y:DE P:24 SP:F9 CYC:337 SL:196
FB71 C9 CMP #$42 PC:FB72 A:42 X:02 Y:DE P:24 SP:F9 CYC:2 SL:197
FB73 F0 BEQ $FB77 PC:FB74 A:42 X:02 Y:DE P:27 SP:F9 CYC:8 SL:197
FB77 60 RTS PC:FB78 A:42 X:02 Y:DE P:27 SP:F9 CYC:17 SL:197
F1A4 AD LDA $0647 PC:F1A5 A:42 X:02 Y:DE P:27 SP:FB CYC:35 SL:197
F1A7 C9 CMP #$52 PC:F1A8 A:52 X:02 Y:DE P:25 SP:FB CYC:47 SL:197
F1A9 F0 BEQ $F1AD PC:F1AA A:52 X:02 Y:DE P:27 SP:FB CYC:53 SL:197
F1AD A0 LDY #$FF PC:F1AE A:52 X:02 Y:DE P:27 SP:FB CYC:62 SL:197
F1AF A9 LDA #$37 PC:F1B0 A:52 X:02 Y:FF P:A5 SP:FB CYC:68 SL:197
F1B1 8D STA $0647 PC:F1B2 A:37 X:02 Y:FF P:25 SP:FB CYC:74 SL:197
F1B4 20 JSR $FA68 PC:F1B5 A:37 X:02 Y:FF P:25 SP:FB CYC:86 SL:197
FA68 24 BIT $01 PC:FA69 A:37 X:02 Y:FF P:25 SP:F9 CYC:104 SL:197
FA6A 38 SEC PC:FA6B A:37 X:02 Y:FF P:E5 SP:F9 CYC:113 SL:197
FA6B A9 LDA #$75 PC:FA6C A:37 X:02 Y:FF P:E5 SP:F9 CYC:119 SL:197
FA6D 60 RTS PC:FA6E A:75 X:02 Y:FF P:65 SP:F9 CYC:125 SL:197
F1B7 33 RLA ($45), y PC:F1B8 A:75 X:02 Y:FF P:65 SP:FB CYC:143 SL:197
F1B9 EA NOP PC:F1BA A:65 X:02 Y:FF P:64 SP:FB CYC:167 SL:197
F1BA EA NOP PC:F1BB A:65 X:02 Y:FF P:64 SP:FB CYC:173 SL:197
F1BB 08 PHP PC:F1BC A:65 X:02 Y:FF P:64 SP:FB CYC:179 SL:197
F1BC 48 PHA PC:F1BD A:65 X:02 Y:FF P:64 SP:FA CYC:188 SL:197
F1BD A0 LDY #$DF PC:F1BE A:65 X:02 Y:FF P:64 SP:F9 CYC:197 SL:197
F1BF 68 PLA PC:F1C0 A:65 X:02 Y:DF P:E4 SP:F9 CYC:203 SL:197
F1C0 28 PLP PC:F1C1 A:65 X:02 Y:DF P:64 SP:FA CYC:215 SL:197
F1C1 20 JSR $FA6E PC:F1C2 A:65 X:02 Y:DF P:64 SP:FB CYC:227 SL:197
FA6E 50 BVC $FAE6 PC:FA6F A:65 X:02 Y:DF P:64 SP:F9 CYC:245 SL:197
FA70 F0 BEQ $FAE6 PC:FA71 A:65 X:02 Y:DF P:64 SP:F9 CYC:251 SL:197
FA72 30 BMI $FAE6 PC:FA73 A:65 X:02 Y:DF P:64 SP:F9 CYC:257 SL:197
FA74 B0 BCS $FAE6 PC:FA75 A:65 X:02 Y:DF P:64 SP:F9 CYC:263 SL:197
FA76 C9 CMP #$65 PC:FA77 A:65 X:02 Y:DF P:64 SP:F9 CYC:269 SL:197
FA78 D0 BNE $FAE6 PC:FA79 A:65 X:02 Y:DF P:67 SP:F9 CYC:275 SL:197
FA7A 60 RTS PC:FA7B A:65 X:02 Y:DF P:67 SP:F9 CYC:281 SL:197
F1C4 AD LDA $0647 PC:F1C5 A:65 X:02 Y:DF P:67 SP:FB CYC:299 SL:197
F1C7 C9 CMP #$6F PC:F1C8 A:6F X:02 Y:DF P:65 SP:FB CYC:311 SL:197
F1C9 F0 BEQ $F1CD PC:F1CA A:6F X:02 Y:DF P:67 SP:FB CYC:317 SL:197
F1CD A0 LDY #$E0 PC:F1CE A:6F X:02 Y:DF P:67 SP:FB CYC:326 SL:197
F1CF A2 LDX #$FF PC:F1D0 A:6F X:02 Y:E0 P:E5 SP:FB CYC:332 SL:197
F1D1 A9 LDA #$A5 PC:F1D2 A:6F X:FF Y:E0 P:E5 SP:FB CYC:338 SL:197
F1D3 85 STA $47 PC:F1D4 A:A5 X:FF Y:E0 P:E5 SP:FB CYC:3 SL:198
F1D5 20 JSR $FB53 PC:F1D6 A:A5 X:FF Y:E0 P:E5 SP:FB CYC:12 SL:198
FB53 24 BIT $01 PC:FB54 A:A5 X:FF Y:E0 P:E5 SP:F9 CYC:30 SL:198
FB55 18 CLC PC:FB56 A:A5 X:FF Y:E0 P:E5 SP:F9 CYC:39 SL:198
FB56 A9 LDA #$B3 PC:FB57 A:A5 X:FF Y:E0 P:E4 SP:F9 CYC:45 SL:198
FB58 60 RTS PC:FB59 A:B3 X:FF Y:E0 P:E4 SP:F9 CYC:51 SL:198
F1D8 37 RLA $48,x PC:F1D9 A:B3 X:FF Y:E0 P:E4 SP:FB CYC:69 SL:198
F1DA EA NOP PC:F1DB A:02 X:FF Y:E0 P:65 SP:FB CYC:87 SL:198
F1DB EA NOP PC:F1DC A:02 X:FF Y:E0 P:65 SP:FB CYC:93 SL:198
F1DC EA NOP PC:F1DD A:02 X:FF Y:E0 P:65 SP:FB CYC:99 SL:198
F1DD EA NOP PC:F1DE A:02 X:FF Y:E0 P:65 SP:FB CYC:105 SL:198
F1DE 20 JSR $FB59 PC:F1DF A:02 X:FF Y:E0 P:65 SP:FB CYC:111 SL:198
FB59 50 BVC $FB75 PC:FB5A A:02 X:FF Y:E0 P:65 SP:F9 CYC:129 SL:198
FB5B 90 BCC $FB75 PC:FB5C A:02 X:FF Y:E0 P:65 SP:F9 CYC:135 SL:198
FB5D 30 BMI $FB75 PC:FB5E A:02 X:FF Y:E0 P:65 SP:F9 CYC:141 SL:198
FB5F C9 CMP #$02 PC:FB60 A:02 X:FF Y:E0 P:65 SP:F9 CYC:147 SL:198
FB61 D0 BNE $FB75 PC:FB62 A:02 X:FF Y:E0 P:67 SP:F9 CYC:153 SL:198
FB63 60 RTS PC:FB64 A:02 X:FF Y:E0 P:67 SP:F9 CYC:159 SL:198
F1E1 A5 LDA $47 PC:F1E2 A:02 X:FF Y:E0 P:67 SP:FB CYC:177 SL:198
F1E3 C9 CMP #$4A PC:F1E4 A:4A X:FF Y:E0 P:65 SP:FB CYC:186 SL:198
F1E5 F0 BEQ $F1E9 PC:F1E6 A:4A X:FF Y:E0 P:67 SP:FB CYC:192 SL:198
F1E9 C8 INY PC:F1EA A:4A X:FF Y:E0 P:67 SP:FB CYC:201 SL:198
F1EA A9 LDA #$29 PC:F1EB A:4A X:FF Y:E1 P:E5 SP:FB CYC:207 SL:198
F1EC 85 STA $47 PC:F1ED A:29 X:FF Y:E1 P:65 SP:FB CYC:213 SL:198
F1EE 20 JSR $FB64 PC:F1EF A:29 X:FF Y:E1 P:65 SP:FB CYC:222 SL:198
FB64 B8 CLV PC:FB65 A:29 X:FF Y:E1 P:65 SP:F9 CYC:240 SL:198
FB65 18 CLC PC:FB66 A:29 X:FF Y:E1 P:25 SP:F9 CYC:246 SL:198
FB66 A9 LDA #$42 PC:FB67 A:29 X:FF Y:E1 P:24 SP:F9 CYC:252 SL:198
FB68 60 RTS PC:FB69 A:42 X:FF Y:E1 P:24 SP:F9 CYC:258 SL:198
F1F1 37 RLA $48,x PC:F1F2 A:42 X:FF Y:E1 P:24 SP:FB CYC:276 SL:198
F1F3 EA NOP PC:F1F4 A:42 X:FF Y:E1 P:24 SP:FB CYC:294 SL:198
F1F4 EA NOP PC:F1F5 A:42 X:FF Y:E1 P:24 SP:FB CYC:300 SL:198
F1F5 EA NOP PC:F1F6 A:42 X:FF Y:E1 P:24 SP:FB CYC:306 SL:198
F1F6 EA NOP PC:F1F7 A:42 X:FF Y:E1 P:24 SP:FB CYC:312 SL:198
F1F7 20 JSR $FB69 PC:F1F8 A:42 X:FF Y:E1 P:24 SP:FB CYC:318 SL:198
FB69 70 BVS $FB75 PC:FB6A A:42 X:FF Y:E1 P:24 SP:F9 CYC:336 SL:198
FB6B F0 BEQ $FB75 PC:FB6C A:42 X:FF Y:E1 P:24 SP:F9 CYC:1 SL:199
FB6D 30 BMI $FB75 PC:FB6E A:42 X:FF Y:E1 P:24 SP:F9 CYC:7 SL:199
FB6F B0 BCS $FB75 PC:FB70 A:42 X:FF Y:E1 P:24 SP:F9 CYC:13 SL:199
FB71 C9 CMP #$42 PC:FB72 A:42 X:FF Y:E1 P:24 SP:F9 CYC:19 SL:199
FB73 F0 BEQ $FB77 PC:FB74 A:42 X:FF Y:E1 P:27 SP:F9 CYC:25 SL:199
FB77 60 RTS PC:FB78 A:42 X:FF Y:E1 P:27 SP:F9 CYC:34 SL:199
F1FA A5 LDA $47 PC:F1FB A:42 X:FF Y:E1 P:27 SP:FB CYC:52 SL:199
F1FC C9 CMP #$52 PC:F1FD A:52 X:FF Y:E1 P:25 SP:FB CYC:61 SL:199
F1FE F0 BEQ $F202 PC:F1FF A:52 X:FF Y:E1 P:27 SP:FB CYC:67 SL:199
F202 C8 INY PC:F203 A:52 X:FF Y:E1 P:27 SP:FB CYC:76 SL:199
F203 A9 LDA #$37 PC:F204 A:52 X:FF Y:E2 P:A5 SP:FB CYC:82 SL:199
F205 85 STA $47 PC:F206 A:37 X:FF Y:E2 P:25 SP:FB CYC:88 SL:199
F207 20 JSR $FA68 PC:F208 A:37 X:FF Y:E2 P:25 SP:FB CYC:97 SL:199
FA68 24 BIT $01 PC:FA69 A:37 X:FF Y:E2 P:25 SP:F9 CYC:115 SL:199
FA6A 38 SEC PC:FA6B A:37 X:FF Y:E2 P:E5 SP:F9 CYC:124 SL:199
FA6B A9 LDA #$75 PC:FA6C A:37 X:FF Y:E2 P:E5 SP:F9 CYC:130 SL:199
FA6D 60 RTS PC:FA6E A:75 X:FF Y:E2 P:65 SP:F9 CYC:136 SL:199
F20A 37 RLA $48,x PC:F20B A:75 X:FF Y:E2 P:65 SP:FB CYC:154 SL:199
F20C EA NOP PC:F20D A:65 X:FF Y:E2 P:64 SP:FB CYC:172 SL:199
F20D EA NOP PC:F20E A:65 X:FF Y:E2 P:64 SP:FB CYC:178 SL:199
F20E EA NOP PC:F20F A:65 X:FF Y:E2 P:64 SP:FB CYC:184 SL:199
F20F EA NOP PC:F210 A:65 X:FF Y:E2 P:64 SP:FB CYC:190 SL:199
F210 20 JSR $FA6E PC:F211 A:65 X:FF Y:E2 P:64 SP:FB CYC:196 SL:199
FA6E 50 BVC $FAE6 PC:FA6F A:65 X:FF Y:E2 P:64 SP:F9 CYC:214 SL:199
FA70 F0 BEQ $FAE6 PC:FA71 A:65 X:FF Y:E2 P:64 SP:F9 CYC:220 SL:199
FA72 30 BMI $FAE6 PC:FA73 A:65 X:FF Y:E2 P:64 SP:F9 CYC:226 SL:199
FA74 B0 BCS $FAE6 PC:FA75 A:65 X:FF Y:E2 P:64 SP:F9 CYC:232 SL:199
FA76 C9 CMP #$65 PC:FA77 A:65 X:FF Y:E2 P:64 SP:F9 CYC:238 SL:199
FA78 D0 BNE $FAE6 PC:FA79 A:65 X:FF Y:E2 P:67 SP:F9 CYC:244 SL:199
FA7A 60 RTS PC:FA7B A:65 X:FF Y:E2 P:67 SP:F9 CYC:250 SL:199
F213 A5 LDA $47 PC:F214 A:65 X:FF Y:E2 P:67 SP:FB CYC:268 SL:199
F215 C9 CMP #$6F PC:F216 A:6F X:FF Y:E2 P:65 SP:FB CYC:277 SL:199
F217 F0 BEQ $F21B PC:F218 A:6F X:FF Y:E2 P:67 SP:FB CYC:283 SL:199
F21B A9 LDA #$A5 PC:F21C A:6F X:FF Y:E2 P:67 SP:FB CYC:292 SL:199
F21D 8D STA $0647 PC:F21E A:A5 X:FF Y:E2 P:E5 SP:FB CYC:298 SL:199
F220 A0 LDY #$FF PC:F221 A:A5 X:FF Y:E2 P:E5 SP:FB CYC:310 SL:199
F222 20 JSR $FB53 PC:F223 A:A5 X:FF Y:FF P:E5 SP:FB CYC:316 SL:199
FB53 24 BIT $01 PC:FB54 A:A5 X:FF Y:FF P:E5 SP:F9 CYC:334 SL:199
FB55 18 CLC PC:FB56 A:A5 X:FF Y:FF P:E5 SP:F9 CYC:2 SL:200
FB56 A9 LDA #$B3 PC:FB57 A:A5 X:FF Y:FF P:E4 SP:F9 CYC:8 SL:200
FB58 60 RTS PC:FB59 A:B3 X:FF Y:FF P:E4 SP:F9 CYC:14 SL:200
F225 3B RLA $0548,y PC:F226 A:B3 X:FF Y:FF P:E4 SP:FB CYC:32 SL:200
F228 EA NOP PC:F229 A:02 X:FF Y:FF P:65 SP:FB CYC:53 SL:200
F229 EA NOP PC:F22A A:02 X:FF Y:FF P:65 SP:FB CYC:59 SL:200
F22A 08 PHP PC:F22B A:02 X:FF Y:FF P:65 SP:FB CYC:65 SL:200
F22B 48 PHA PC:F22C A:02 X:FF Y:FF P:65 SP:FA CYC:74 SL:200
F22C A0 LDY #$E3 PC:F22D A:02 X:FF Y:FF P:65 SP:F9 CYC:83 SL:200
F22E 68 PLA PC:F22F A:02 X:FF Y:E3 P:E5 SP:F9 CYC:89 SL:200
F22F 28 PLP PC:F230 A:02 X:FF Y:E3 P:65 SP:FA CYC:101 SL:200
F230 20 JSR $FB59 PC:F231 A:02 X:FF Y:E3 P:65 SP:FB CYC:113 SL:200
FB59 50 BVC $FB75 PC:FB5A A:02 X:FF Y:E3 P:65 SP:F9 CYC:131 SL:200
FB5B 90 BCC $FB75 PC:FB5C A:02 X:FF Y:E3 P:65 SP:F9 CYC:137 SL:200
FB5D 30 BMI $FB75 PC:FB5E A:02 X:FF Y:E3 P:65 SP:F9 CYC:143 SL:200
FB5F C9 CMP #$02 PC:FB60 A:02 X:FF Y:E3 P:65 SP:F9 CYC:149 SL:200
FB61 D0 BNE $FB75 PC:FB62 A:02 X:FF Y:E3 P:67 SP:F9 CYC:155 SL:200
FB63 60 RTS PC:FB64 A:02 X:FF Y:E3 P:67 SP:F9 CYC:161 SL:200
F233 AD LDA $0647 PC:F234 A:02 X:FF Y:E3 P:67 SP:FB CYC:179 SL:200
F236 C9 CMP #$4A PC:F237 A:4A X:FF Y:E3 P:65 SP:FB CYC:191 SL:200
F238 F0 BEQ $F23C PC:F239 A:4A X:FF Y:E3 P:67 SP:FB CYC:197 SL:200
F23C A0 LDY #$FF PC:F23D A:4A X:FF Y:E3 P:67 SP:FB CYC:206 SL:200
F23E A9 LDA #$29 PC:F23F A:4A X:FF Y:FF P:E5 SP:FB CYC:212 SL:200
F240 8D STA $0647 PC:F241 A:29 X:FF Y:FF P:65 SP:FB CYC:218 SL:200
F243 20 JSR $FB64 PC:F244 A:29 X:FF Y:FF P:65 SP:FB CYC:230 SL:200
FB64 B8 CLV PC:FB65 A:29 X:FF Y:FF P:65 SP:F9 CYC:248 SL:200
FB65 18 CLC PC:FB66 A:29 X:FF Y:FF P:25 SP:F9 CYC:254 SL:200
FB66 A9 LDA #$42 PC:FB67 A:29 X:FF Y:FF P:24 SP:F9 CYC:260 SL:200
FB68 60 RTS PC:FB69 A:42 X:FF Y:FF P:24 SP:F9 CYC:266 SL:200
F246 3B RLA $0548,y PC:F247 A:42 X:FF Y:FF P:24 SP:FB CYC:284 SL:200
F249 EA NOP PC:F24A A:42 X:FF Y:FF P:24 SP:FB CYC:305 SL:200
F24A EA NOP PC:F24B A:42 X:FF Y:FF P:24 SP:FB CYC:311 SL:200
F24B 08 PHP PC:F24C A:42 X:FF Y:FF P:24 SP:FB CYC:317 SL:200
F24C 48 PHA PC:F24D A:42 X:FF Y:FF P:24 SP:FA CYC:326 SL:200
F24D A0 LDY #$E4 PC:F24E A:42 X:FF Y:FF P:24 SP:F9 CYC:335 SL:200
F24F 68 PLA PC:F250 A:42 X:FF Y:E4 P:A4 SP:F9 CYC:0 SL:201
F250 28 PLP PC:F251 A:42 X:FF Y:E4 P:24 SP:FA CYC:12 SL:201
F251 20 JSR $FB69 PC:F252 A:42 X:FF Y:E4 P:24 SP:FB CYC:24 SL:201
FB69 70 BVS $FB75 PC:FB6A A:42 X:FF Y:E4 P:24 SP:F9 CYC:42 SL:201
FB6B F0 BEQ $FB75 PC:FB6C A:42 X:FF Y:E4 P:24 SP:F9 CYC:48 SL:201
FB6D 30 BMI $FB75 PC:FB6E A:42 X:FF Y:E4 P:24 SP:F9 CYC:54 SL:201
FB6F B0 BCS $FB75 PC:FB70 A:42 X:FF Y:E4 P:24 SP:F9 CYC:60 SL:201
FB71 C9 CMP #$42 PC:FB72 A:42 X:FF Y:E4 P:24 SP:F9 CYC:66 SL:201
FB73 F0 BEQ $FB77 PC:FB74 A:42 X:FF Y:E4 P:27 SP:F9 CYC:72 SL:201
FB77 60 RTS PC:FB78 A:42 X:FF Y:E4 P:27 SP:F9 CYC:81 SL:201
F254 AD LDA $0647 PC:F255 A:42 X:FF Y:E4 P:27 SP:FB CYC:99 SL:201
F257 C9 CMP #$52 PC:F258 A:52 X:FF Y:E4 P:25 SP:FB CYC:111 SL:201
F259 F0 BEQ $F25D PC:F25A A:52 X:FF Y:E4 P:27 SP:FB CYC:117 SL:201
F25D A0 LDY #$FF PC:F25E A:52 X:FF Y:E4 P:27 SP:FB CYC:126 SL:201
F25F A9 LDA #$37 PC:F260 A:52 X:FF Y:FF P:A5 SP:FB CYC:132 SL:201
F261 8D STA $0647 PC:F262 A:37 X:FF Y:FF P:25 SP:FB CYC:138 SL:201
F264 20 JSR $FA68 PC:F265 A:37 X:FF Y:FF P:25 SP:FB CYC:150 SL:201
FA68 24 BIT $01 PC:FA69 A:37 X:FF Y:FF P:25 SP:F9 CYC:168 SL:201
FA6A 38 SEC PC:FA6B A:37 X:FF Y:FF P:E5 SP:F9 CYC:177 SL:201
FA6B A9 LDA #$75 PC:FA6C A:37 X:FF Y:FF P:E5 SP:F9 CYC:183 SL:201
FA6D 60 RTS PC:FA6E A:75 X:FF Y:FF P:65 SP:F9 CYC:189 SL:201
F267 3B RLA $0548,y PC:F268 A:75 X:FF Y:FF P:65 SP:FB CYC:207 SL:201
F26A EA NOP PC:F26B A:65 X:FF Y:FF P:64 SP:FB CYC:228 SL:201
F26B EA NOP PC:F26C A:65 X:FF Y:FF P:64 SP:FB CYC:234 SL:201
F26C 08 PHP PC:F26D A:65 X:FF Y:FF P:64 SP:FB CYC:240 SL:201
F26D 48 PHA PC:F26E A:65 X:FF Y:FF P:64 SP:FA CYC:249 SL:201
F26E A0 LDY #$E5 PC:F26F A:65 X:FF Y:FF P:64 SP:F9 CYC:258 SL:201
F270 68 PLA PC:F271 A:65 X:FF Y:E5 P:E4 SP:F9 CYC:264 SL:201
F271 28 PLP PC:F272 A:65 X:FF Y:E5 P:64 SP:FA CYC:276 SL:201
F272 20 JSR $FA6E PC:F273 A:65 X:FF Y:E5 P:64 SP:FB CYC:288 SL:201
FA6E 50 BVC $FAE6 PC:FA6F A:65 X:FF Y:E5 P:64 SP:F9 CYC:306 SL:201
FA70 F0 BEQ $FAE6 PC:FA71 A:65 X:FF Y:E5 P:64 SP:F9 CYC:312 SL:201
FA72 30 BMI $FAE6 PC:FA73 A:65 X:FF Y:E5 P:64 SP:F9 CYC:318 SL:201
FA74 B0 BCS $FAE6 PC:FA75 A:65 X:FF Y:E5 P:64 SP:F9 CYC:324 SL:201
FA76 C9 CMP #$65 PC:FA77 A:65 X:FF Y:E5 P:64 SP:F9 CYC:330 SL:201
FA78 D0 BNE $FAE6 PC:FA79 A:65 X:FF Y:E5 P:67 SP:F9 CYC:336 SL:201
FA7A 60 RTS PC:FA7B A:65 X:FF Y:E5 P:67 SP:F9 CYC:1 SL:202
F275 AD LDA $0647 PC:F276 A:65 X:FF Y:E5 P:67 SP:FB CYC:19 SL:202
F278 C9 CMP #$6F PC:F279 A:6F X:FF Y:E5 P:65 SP:FB CYC:31 SL:202
F27A F0 BEQ $F27E PC:F27B A:6F X:FF Y:E5 P:67 SP:FB CYC:37 SL:202
F27E A0 LDY #$E6 PC:F27F A:6F X:FF Y:E5 P:67 SP:FB CYC:46 SL:202
F280 A2 LDX #$FF PC:F281 A:6F X:FF Y:E6 P:E5 SP:FB CYC:52 SL:202
F282 A9 LDA #$A5 PC:F283 A:6F X:FF Y:E6 P:E5 SP:FB CYC:58 SL:202
F284 8D STA $0647 PC:F285 A:A5 X:FF Y:E6 P:E5 SP:FB CYC:64 SL:202
F287 20 JSR $FB53 PC:F288 A:A5 X:FF Y:E6 P:E5 SP:FB CYC:76 SL:202
FB53 24 BIT $01 PC:FB54 A:A5 X:FF Y:E6 P:E5 SP:F9 CYC:94 SL:202
FB55 18 CLC PC:FB56 A:A5 X:FF Y:E6 P:E5 SP:F9 CYC:103 SL:202
FB56 A9 LDA #$B3 PC:FB57 A:A5 X:FF Y:E6 P:E4 SP:F9 CYC:109 SL:202
FB58 60 RTS PC:FB59 A:B3 X:FF Y:E6 P:E4 SP:F9 CYC:115 SL:202
F28A 3F RLA $0548,x PC:F28B A:B3 X:FF Y:E6 P:E4 SP:FB CYC:133 SL:202
F28D EA NOP PC:F28E A:02 X:FF Y:E6 P:65 SP:FB CYC:154 SL:202
F28E EA NOP PC:F28F A:02 X:FF Y:E6 P:65 SP:FB CYC:160 SL:202
F28F EA NOP PC:F290 A:02 X:FF Y:E6 P:65 SP:FB CYC:166 SL:202
F290 EA NOP PC:F291 A:02 X:FF Y:E6 P:65 SP:FB CYC:172 SL:202
F291 20 JSR $FB59 PC:F292 A:02 X:FF Y:E6 P:65 SP:FB CYC:178 SL:202
FB59 50 BVC $FB75 PC:FB5A A:02 X:FF Y:E6 P:65 SP:F9 CYC:196 SL:202
FB5B 90 BCC $FB75 PC:FB5C A:02 X:FF Y:E6 P:65 SP:F9 CYC:202 SL:202
FB5D 30 BMI $FB75 PC:FB5E A:02 X:FF Y:E6 P:65 SP:F9 CYC:208 SL:202
FB5F C9 CMP #$02 PC:FB60 A:02 X:FF Y:E6 P:65 SP:F9 CYC:214 SL:202
FB61 D0 BNE $FB75 PC:FB62 A:02 X:FF Y:E6 P:67 SP:F9 CYC:220 SL:202
FB63 60 RTS PC:FB64 A:02 X:FF Y:E6 P:67 SP:F9 CYC:226 SL:202
F294 AD LDA $0647 PC:F295 A:02 X:FF Y:E6 P:67 SP:FB CYC:244 SL:202
F297 C9 CMP #$4A PC:F298 A:4A X:FF Y:E6 P:65 SP:FB CYC:256 SL:202
F299 F0 BEQ $F29D PC:F29A A:4A X:FF Y:E6 P:67 SP:FB CYC:262 SL:202
F29D C8 INY PC:F29E A:4A X:FF Y:E6 P:67 SP:FB CYC:271 SL:202
F29E A9 LDA #$29 PC:F29F A:4A X:FF Y:E7 P:E5 SP:FB CYC:277 SL:202
F2A0 8D STA $0647 PC:F2A1 A:29 X:FF Y:E7 P:65 SP:FB CYC:283 SL:202
F2A3 20 JSR $FB64 PC:F2A4 A:29 X:FF Y:E7 P:65 SP:FB CYC:295 SL:202
FB64 B8 CLV PC:FB65 A:29 X:FF Y:E7 P:65 SP:F9 CYC:313 SL:202
FB65 18 CLC PC:FB66 A:29 X:FF Y:E7 P:25 SP:F9 CYC:319 SL:202
FB66 A9 LDA #$42 PC:FB67 A:29 X:FF Y:E7 P:24 SP:F9 CYC:325 SL:202
FB68 60 RTS PC:FB69 A:42 X:FF Y:E7 P:24 SP:F9 CYC:331 SL:202
F2A6 3F RLA $0548,x PC:F2A7 A:42 X:FF Y:E7 P:24 SP:FB CYC:8 SL:203
F2A9 EA NOP PC:F2AA A:42 X:FF Y:E7 P:24 SP:FB CYC:29 SL:203
F2AA EA NOP PC:F2AB A:42 X:FF Y:E7 P:24 SP:FB CYC:35 SL:203
F2AB EA NOP PC:F2AC A:42 X:FF Y:E7 P:24 SP:FB CYC:41 SL:203
F2AC EA NOP PC:F2AD A:42 X:FF Y:E7 P:24 SP:FB CYC:47 SL:203
F2AD 20 JSR $FB69 PC:F2AE A:42 X:FF Y:E7 P:24 SP:FB CYC:53 SL:203
FB69 70 BVS $FB75 PC:FB6A A:42 X:FF Y:E7 P:24 SP:F9 CYC:71 SL:203
FB6B F0 BEQ $FB75 PC:FB6C A:42 X:FF Y:E7 P:24 SP:F9 CYC:77 SL:203
FB6D 30 BMI $FB75 PC:FB6E A:42 X:FF Y:E7 P:24 SP:F9 CYC:83 SL:203
FB6F B0 BCS $FB75 PC:FB70 A:42 X:FF Y:E7 P:24 SP:F9 CYC:89 SL:203
FB71 C9 CMP #$42 PC:FB72 A:42 X:FF Y:E7 P:24 SP:F9 CYC:95 SL:203
FB73 F0 BEQ $FB77 PC:FB74 A:42 X:FF Y:E7 P:27 SP:F9 CYC:101 SL:203
FB77 60 RTS PC:FB78 A:42 X:FF Y:E7 P:27 SP:F9 CYC:110 SL:203
F2B0 AD LDA $0647 PC:F2B1 A:42 X:FF Y:E7 P:27 SP:FB CYC:128 SL:203
F2B3 C9 CMP #$52 PC:F2B4 A:52 X:FF Y:E7 P:25 SP:FB CYC:140 SL:203
F2B5 F0 BEQ $F2B9 PC:F2B6 A:52 X:FF Y:E7 P:27 SP:FB CYC:146 SL:203
F2B9 C8 INY PC:F2BA A:52 X:FF Y:E7 P:27 SP:FB CYC:155 SL:203
F2BA A9 LDA #$37 PC:F2BB A:52 X:FF Y:E8 P:A5 SP:FB CYC:161 SL:203
F2BC 8D STA $0647 PC:F2BD A:37 X:FF Y:E8 P:25 SP:FB CYC:167 SL:203
F2BF 20 JSR $FA68 PC:F2C0 A:37 X:FF Y:E8 P:25 SP:FB CYC:179 SL:203
FA68 24 BIT $01 PC:FA69 A:37 X:FF Y:E8 P:25 SP:F9 CYC:197 SL:203
FA6A 38 SEC PC:FA6B A:37 X:FF Y:E8 P:E5 SP:F9 CYC:206 SL:203
FA6B A9 LDA #$75 PC:FA6C A:37 X:FF Y:E8 P:E5 SP:F9 CYC:212 SL:203
FA6D 60 RTS PC:FA6E A:75 X:FF Y:E8 P:65 SP:F9 CYC:218 SL:203
F2C2 3F RLA $0548,x PC:F2C3 A:75 X:FF Y:E8 P:65 SP:FB CYC:236 SL:203
F2C5 EA NOP PC:F2C6 A:65 X:FF Y:E8 P:64 SP:FB CYC:257 SL:203
F2C6 EA NOP PC:F2C7 A:65 X:FF Y:E8 P:64 SP:FB CYC:263 SL:203
F2C7 EA NOP PC:F2C8 A:65 X:FF Y:E8 P:64 SP:FB CYC:269 SL:203
F2C8 EA NOP PC:F2C9 A:65 X:FF Y:E8 P:64 SP:FB CYC:275 SL:203
F2C9 20 JSR $FA6E PC:F2CA A:65 X:FF Y:E8 P:64 SP:FB CYC:281 SL:203
FA6E 50 BVC $FAE6 PC:FA6F A:65 X:FF Y:E8 P:64 SP:F9 CYC:299 SL:203
FA70 F0 BEQ $FAE6 PC:FA71 A:65 X:FF Y:E8 P:64 SP:F9 CYC:305 SL:203
FA72 30 BMI $FAE6 PC:FA73 A:65 X:FF Y:E8 P:64 SP:F9 CYC:311 SL:203
FA74 B0 BCS $FAE6 PC:FA75 A:65 X:FF Y:E8 P:64 SP:F9 CYC:317 SL:203
FA76 C9 CMP #$65 PC:FA77 A:65 X:FF Y:E8 P:64 SP:F9 CYC:323 SL:203
FA78 D0 BNE $FAE6 PC:FA79 A:65 X:FF Y:E8 P:67 SP:F9 CYC:329 SL:203
FA7A 60 RTS PC:FA7B A:65 X:FF Y:E8 P:67 SP:F9 CYC:335 SL:203
F2CC AD LDA $0647 PC:F2CD A:65 X:FF Y:E8 P:67 SP:FB CYC:12 SL:204
F2CF C9 CMP #$6F PC:F2D0 A:6F X:FF Y:E8 P:65 SP:FB CYC:24 SL:204
F2D1 F0 BEQ $F2D5 PC:F2D2 A:6F X:FF Y:E8 P:67 SP:FB CYC:30 SL:204
F2D5 60 RTS PC:F2D6 A:6F X:FF Y:E8 P:67 SP:FB CYC:39 SL:204
C647 20 JSR $F2D6 PC:C648 A:6F X:FF Y:E8 P:67 SP:FD CYC:57 SL:204
F2D6 A9 LDA #$FF PC:F2D7 A:6F X:FF Y:E8 P:67 SP:FB CYC:75 SL:204
F2D8 85 STA $01 PC:F2D9 A:FF X:FF Y:E8 P:E5 SP:FB CYC:81 SL:204
F2DA A0 LDY #$E9 PC:F2DB A:FF X:FF Y:E8 P:E5 SP:FB CYC:90 SL:204
F2DC A2 LDX #$02 PC:F2DD A:FF X:FF Y:E9 P:E5 SP:FB CYC:96 SL:204
F2DE A9 LDA #$47 PC:F2DF A:FF X:02 Y:E9 P:65 SP:FB CYC:102 SL:204
F2E0 85 STA $47 PC:F2E1 A:47 X:02 Y:E9 P:65 SP:FB CYC:108 SL:204
F2E2 A9 LDA #$06 PC:F2E3 A:47 X:02 Y:E9 P:65 SP:FB CYC:117 SL:204
F2E4 85 STA $48 PC:F2E5 A:06 X:02 Y:E9 P:65 SP:FB CYC:123 SL:204
F2E6 A9 LDA #$A5 PC:F2E7 A:06 X:02 Y:E9 P:65 SP:FB CYC:132 SL:204
F2E8 8D STA $0647 PC:F2E9 A:A5 X:02 Y:E9 P:E5 SP:FB CYC:138 SL:204
F2EB 20 JSR $FB1D PC:F2EC A:A5 X:02 Y:E9 P:E5 SP:FB CYC:150 SL:204
FB1D 24 BIT $01 PC:FB1E A:A5 X:02 Y:E9 P:E5 SP:F9 CYC:168 SL:204
FB1F 18 CLC PC:FB20 A:A5 X:02 Y:E9 P:E5 SP:F9 CYC:177 SL:204
FB20 A9 LDA #$B3 PC:FB21 A:A5 X:02 Y:E9 P:E4 SP:F9 CYC:183 SL:204
FB22 60 RTS PC:FB23 A:B3 X:02 Y:E9 P:E4 SP:F9 CYC:189 SL:204
F2EE 43 SRE $(EA45,x) PC:F2EF A:B3 X:02 Y:E9 P:E4 SP:FB CYC:207 SL:204
F2F0 EA NOP PC:F2F1 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:231 SL:204
F2F1 EA NOP PC:F2F2 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:237 SL:204
F2F2 EA NOP PC:F2F3 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:243 SL:204
F2F3 EA NOP PC:F2F4 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:249 SL:204
F2F4 20 JSR $FB23 PC:F2F5 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:255 SL:204
FB23 50 BVC $FB75 PC:FB24 A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:273 SL:204
FB25 90 BCC $FB75 PC:FB26 A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:279 SL:204
FB27 10 BPL $FB75 PC:FB28 A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:285 SL:204
FB29 C9 CMP #$E1 PC:FB2A A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:291 SL:204
FB2B D0 BNE $FB75 PC:FB2C A:E1 X:02 Y:E9 P:67 SP:F9 CYC:297 SL:204
FB2D 60 RTS PC:FB2E A:E1 X:02 Y:E9 P:67 SP:F9 CYC:303 SL:204
F2F7 AD LDA $0647 PC:F2F8 A:E1 X:02 Y:E9 P:67 SP:FB CYC:321 SL:204
F2FA C9 CMP #$52 PC:F2FB A:52 X:02 Y:E9 P:65 SP:FB CYC:333 SL:204
F2FC F0 BEQ $F300 PC:F2FD A:52 X:02 Y:E9 P:67 SP:FB CYC:339 SL:204
F300 C8 INY PC:F301 A:52 X:02 Y:E9 P:67 SP:FB CYC:10 SL:205
F301 A9 LDA #$29 PC:F302 A:52 X:02 Y:EA P:E5 SP:FB CYC:16 SL:205
F303 8D STA $0647 PC:F304 A:29 X:02 Y:EA P:65 SP:FB CYC:22 SL:205
F306 20 JSR $FB2E PC:F307 A:29 X:02 Y:EA P:65 SP:FB CYC:34 SL:205
FB2E B8 CLV PC:FB2F A:29 X:02 Y:EA P:65 SP:F9 CYC:52 SL:205
FB2F 18 CLC PC:FB30 A:29 X:02 Y:EA P:25 SP:F9 CYC:58 SL:205
FB30 A9 LDA #$42 PC:FB31 A:29 X:02 Y:EA P:24 SP:F9 CYC:64 SL:205
FB32 60 RTS PC:FB33 A:42 X:02 Y:EA P:24 SP:F9 CYC:70 SL:205
F309 43 SRE $(EA45,x) PC:F30A A:42 X:02 Y:EA P:24 SP:FB CYC:88 SL:205
F30B EA NOP PC:F30C A:56 X:02 Y:EA P:25 SP:FB CYC:112 SL:205
F30C EA NOP PC:F30D A:56 X:02 Y:EA P:25 SP:FB CYC:118 SL:205
F30D EA NOP PC:F30E A:56 X:02 Y:EA P:25 SP:FB CYC:124 SL:205
F30E EA NOP PC:F30F A:56 X:02 Y:EA P:25 SP:FB CYC:130 SL:205
F30F 20 JSR $FB33 PC:F310 A:56 X:02 Y:EA P:25 SP:FB CYC:136 SL:205
FB33 70 BVS $FB75 PC:FB34 A:56 X:02 Y:EA P:25 SP:F9 CYC:154 SL:205
FB35 F0 BEQ $FB75 PC:FB36 A:56 X:02 Y:EA P:25 SP:F9 CYC:160 SL:205
FB37 30 BMI $FB75 PC:FB38 A:56 X:02 Y:EA P:25 SP:F9 CYC:166 SL:205
FB39 90 BCC $FB75 PC:FB3A A:56 X:02 Y:EA P:25 SP:F9 CYC:172 SL:205
FB3B C9 CMP #$56 PC:FB3C A:56 X:02 Y:EA P:25 SP:F9 CYC:178 SL:205
FB3D D0 BNE $FB75 PC:FB3E A:56 X:02 Y:EA P:27 SP:F9 CYC:184 SL:205
FB3F 60 RTS PC:FB40 A:56 X:02 Y:EA P:27 SP:F9 CYC:190 SL:205
F312 AD LDA $0647 PC:F313 A:56 X:02 Y:EA P:27 SP:FB CYC:208 SL:205
F315 C9 CMP #$14 PC:F316 A:14 X:02 Y:EA P:25 SP:FB CYC:220 SL:205
F317 F0 BEQ $F31B PC:F318 A:14 X:02 Y:EA P:27 SP:FB CYC:226 SL:205
F31B C8 INY PC:F31C A:14 X:02 Y:EA P:27 SP:FB CYC:235 SL:205
F31C A9 LDA #$37 PC:F31D A:14 X:02 Y:EB P:A5 SP:FB CYC:241 SL:205
F31E 8D STA $0647 PC:F31F A:37 X:02 Y:EB P:25 SP:FB CYC:247 SL:205
F321 20 JSR $FB40 PC:F322 A:37 X:02 Y:EB P:25 SP:FB CYC:259 SL:205
FB40 24 BIT $01 PC:FB41 A:37 X:02 Y:EB P:25 SP:F9 CYC:277 SL:205
FB42 38 SEC PC:FB43 A:37 X:02 Y:EB P:E5 SP:F9 CYC:286 SL:205
FB43 A9 LDA #$75 PC:FB44 A:37 X:02 Y:EB P:E5 SP:F9 CYC:292 SL:205
FB45 60 RTS PC:FB46 A:75 X:02 Y:EB P:65 SP:F9 CYC:298 SL:205
F324 43 SRE $(EA45,x) PC:F325 A:75 X:02 Y:EB P:65 SP:FB CYC:316 SL:205
F326 EA NOP PC:F327 A:6E X:02 Y:EB P:65 SP:FB CYC:340 SL:205
F327 EA NOP PC:F328 A:6E X:02 Y:EB P:65 SP:FB CYC:5 SL:206
F328 EA NOP PC:F329 A:6E X:02 Y:EB P:65 SP:FB CYC:11 SL:206
F329 EA NOP PC:F32A A:6E X:02 Y:EB P:65 SP:FB CYC:17 SL:206
F32A 20 JSR $FB46 PC:F32B A:6E X:02 Y:EB P:65 SP:FB CYC:23 SL:206
FB46 50 BVC $FB75 PC:FB47 A:6E X:02 Y:EB P:65 SP:F9 CYC:41 SL:206
FB48 F0 BEQ $FB75 PC:FB49 A:6E X:02 Y:EB P:65 SP:F9 CYC:47 SL:206
FB4A 30 BMI $FB75 PC:FB4B A:6E X:02 Y:EB P:65 SP:F9 CYC:53 SL:206
FB4C 90 BCC $FB75 PC:FB4D A:6E X:02 Y:EB P:65 SP:F9 CYC:59 SL:206
FB4E C9 CMP #$6E PC:FB4F A:6E X:02 Y:EB P:65 SP:F9 CYC:65 SL:206
FB50 D0 BNE $FB75 PC:FB51 A:6E X:02 Y:EB P:67 SP:F9 CYC:71 SL:206
FB52 60 RTS PC:FB53 A:6E X:02 Y:EB P:67 SP:F9 CYC:77 SL:206
F32D AD LDA $0647 PC:F32E A:6E X:02 Y:EB P:67 SP:FB CYC:95 SL:206
F330 C9 CMP #$1B PC:F331 A:1B X:02 Y:EB P:65 SP:FB CYC:107 SL:206
F332 F0 BEQ $F336 PC:F333 A:1B X:02 Y:EB P:67 SP:FB CYC:113 SL:206
F336 C8 INY PC:F337 A:1B X:02 Y:EB P:67 SP:FB CYC:122 SL:206
F337 A9 LDA #$A5 PC:F338 A:1B X:02 Y:EC P:E5 SP:FB CYC:128 SL:206
F339 85 STA $47 PC:F33A A:A5 X:02 Y:EC P:E5 SP:FB CYC:134 SL:206
F33B 20 JSR $FB1D PC:F33C A:A5 X:02 Y:EC P:E5 SP:FB CYC:143 SL:206
FB1D 24 BIT $01 PC:FB1E A:A5 X:02 Y:EC P:E5 SP:F9 CYC:161 SL:206
FB1F 18 CLC PC:FB20 A:A5 X:02 Y:EC P:E5 SP:F9 CYC:170 SL:206
FB20 A9 LDA #$B3 PC:FB21 A:A5 X:02 Y:EC P:E4 SP:F9 CYC:176 SL:206
FB22 60 RTS PC:FB23 A:B3 X:02 Y:EC P:E4 SP:F9 CYC:182 SL:206
F33E 47 SRE $47 PC:F33F A:B3 X:02 Y:EC P:E4 SP:FB CYC:200 SL:206
F340 EA NOP PC:F341 A:E1 X:02 Y:EC P:E5 SP:FB CYC:215 SL:206
F341 EA NOP PC:F342 A:E1 X:02 Y:EC P:E5 SP:FB CYC:221 SL:206
F342 EA NOP PC:F343 A:E1 X:02 Y:EC P:E5 SP:FB CYC:227 SL:206
F343 EA NOP PC:F344 A:E1 X:02 Y:EC P:E5 SP:FB CYC:233 SL:206
F344 20 JSR $FB23 PC:F345 A:E1 X:02 Y:EC P:E5 SP:FB CYC:239 SL:206
FB23 50 BVC $FB75 PC:FB24 A:E1 X:02 Y:EC P:E5 SP:F9 CYC:257 SL:206
FB25 90 BCC $FB75 PC:FB26 A:E1 X:02 Y:EC P:E5 SP:F9 CYC:263 SL:206
FB27 10 BPL $FB75 PC:FB28 A:E1 X:02 Y:EC P:E5 SP:F9 CYC:269 SL:206
FB29 C9 CMP #$E1 PC:FB2A A:E1 X:02 Y:EC P:E5 SP:F9 CYC:275 SL:206
FB2B D0 BNE $FB75 PC:FB2C A:E1 X:02 Y:EC P:67 SP:F9 CYC:281 SL:206
FB2D 60 RTS PC:FB2E A:E1 X:02 Y:EC P:67 SP:F9 CYC:287 SL:206
F347 A5 LDA $47 PC:F348 A:E1 X:02 Y:EC P:67 SP:FB CYC:305 SL:206
F349 C9 CMP #$52 PC:F34A A:52 X:02 Y:EC P:65 SP:FB CYC:314 SL:206
F34B F0 BEQ $F34F PC:F34C A:52 X:02 Y:EC P:67 SP:FB CYC:320 SL:206
F34F C8 INY PC:F350 A:52 X:02 Y:EC P:67 SP:FB CYC:329 SL:206
F350 A9 LDA #$29 PC:F351 A:52 X:02 Y:ED P:E5 SP:FB CYC:335 SL:206
F352 85 STA $47 PC:F353 A:29 X:02 Y:ED P:65 SP:FB CYC:0 SL:207
F354 20 JSR $FB2E PC:F355 A:29 X:02 Y:ED P:65 SP:FB CYC:9 SL:207
FB2E B8 CLV PC:FB2F A:29 X:02 Y:ED P:65 SP:F9 CYC:27 SL:207
FB2F 18 CLC PC:FB30 A:29 X:02 Y:ED P:25 SP:F9 CYC:33 SL:207
FB30 A9 LDA #$42 PC:FB31 A:29 X:02 Y:ED P:24 SP:F9 CYC:39 SL:207
FB32 60 RTS PC:FB33 A:42 X:02 Y:ED P:24 SP:F9 CYC:45 SL:207
F357 47 SRE $47 PC:F358 A:42 X:02 Y:ED P:24 SP:FB CYC:63 SL:207
F359 EA NOP PC:F35A A:56 X:02 Y:ED P:25 SP:FB CYC:78 SL:207
F35A EA NOP PC:F35B A:56 X:02 Y:ED P:25 SP:FB CYC:84 SL:207
F35B EA NOP PC:F35C A:56 X:02 Y:ED P:25 SP:FB CYC:90 SL:207
F35C EA NOP PC:F35D A:56 X:02 Y:ED P:25 SP:FB CYC:96 SL:207
F35D 20 JSR $FB33 PC:F35E A:56 X:02 Y:ED P:25 SP:FB CYC:102 SL:207
FB33 70 BVS $FB75 PC:FB34 A:56 X:02 Y:ED P:25 SP:F9 CYC:120 SL:207
FB35 F0 BEQ $FB75 PC:FB36 A:56 X:02 Y:ED P:25 SP:F9 CYC:126 SL:207
FB37 30 BMI $FB75 PC:FB38 A:56 X:02 Y:ED P:25 SP:F9 CYC:132 SL:207
FB39 90 BCC $FB75 PC:FB3A A:56 X:02 Y:ED P:25 SP:F9 CYC:138 SL:207
FB3B C9 CMP #$56 PC:FB3C A:56 X:02 Y:ED P:25 SP:F9 CYC:144 SL:207
FB3D D0 BNE $FB75 PC:FB3E A:56 X:02 Y:ED P:27 SP:F9 CYC:150 SL:207
FB3F 60 RTS PC:FB40 A:56 X:02 Y:ED P:27 SP:F9 CYC:156 SL:207
F360 A5 LDA $47 PC:F361 A:56 X:02 Y:ED P:27 SP:FB CYC:174 SL:207
F362 C9 CMP #$14 PC:F363 A:14 X:02 Y:ED P:25 SP:FB CYC:183 SL:207
F364 F0 BEQ $F368 PC:F365 A:14 X:02 Y:ED P:27 SP:FB CYC:189 SL:207
F368 C8 INY PC:F369 A:14 X:02 Y:ED P:27 SP:FB CYC:198 SL:207
F369 A9 LDA #$37 PC:F36A A:14 X:02 Y:EE P:A5 SP:FB CYC:204 SL:207
F36B 85 STA $47 PC:F36C A:37 X:02 Y:EE P:25 SP:FB CYC:210 SL:207
F36D 20 JSR $FB40 PC:F36E A:37 X:02 Y:EE P:25 SP:FB CYC:219 SL:207
FB40 24 BIT $01 PC:FB41 A:37 X:02 Y:EE P:25 SP:F9 CYC:237 SL:207
FB42 38 SEC PC:FB43 A:37 X:02 Y:EE P:E5 SP:F9 CYC:246 SL:207
FB43 A9 LDA #$75 PC:FB44 A:37 X:02 Y:EE P:E5 SP:F9 CYC:252 SL:207
FB45 60 RTS PC:FB46 A:75 X:02 Y:EE P:65 SP:F9 CYC:258 SL:207
F370 47 SRE $47 PC:F371 A:75 X:02 Y:EE P:65 SP:FB CYC:276 SL:207
F372 EA NOP PC:F373 A:6E X:02 Y:EE P:65 SP:FB CYC:291 SL:207
F373 EA NOP PC:F374 A:6E X:02 Y:EE P:65 SP:FB CYC:297 SL:207
F374 EA NOP PC:F375 A:6E X:02 Y:EE P:65 SP:FB CYC:303 SL:207
F375 EA NOP PC:F376 A:6E X:02 Y:EE P:65 SP:FB CYC:309 SL:207
F376 20 JSR $FB46 PC:F377 A:6E X:02 Y:EE P:65 SP:FB CYC:315 SL:207
FB46 50 BVC $FB75 PC:FB47 A:6E X:02 Y:EE P:65 SP:F9 CYC:333 SL:207
FB48 F0 BEQ $FB75 PC:FB49 A:6E X:02 Y:EE P:65 SP:F9 CYC:339 SL:207
FB4A 30 BMI $FB75 PC:FB4B A:6E X:02 Y:EE P:65 SP:F9 CYC:4 SL:208
FB4C 90 BCC $FB75 PC:FB4D A:6E X:02 Y:EE P:65 SP:F9 CYC:10 SL:208
FB4E C9 CMP #$6E PC:FB4F A:6E X:02 Y:EE P:65 SP:F9 CYC:16 SL:208
FB50 D0 BNE $FB75 PC:FB51 A:6E X:02 Y:EE P:67 SP:F9 CYC:22 SL:208
FB52 60 RTS PC:FB53 A:6E X:02 Y:EE P:67 SP:F9 CYC:28 SL:208
F379 A5 LDA $47 PC:F37A A:6E X:02 Y:EE P:67 SP:FB CYC:46 SL:208
F37B C9 CMP #$1B PC:F37C A:1B X:02 Y:EE P:65 SP:FB CYC:55 SL:208
F37D F0 BEQ $F381 PC:F37E A:1B X:02 Y:EE P:67 SP:FB CYC:61 SL:208
F381 C8 INY PC:F382 A:1B X:02 Y:EE P:67 SP:FB CYC:70 SL:208
F382 A9 LDA #$A5 PC:F383 A:1B X:02 Y:EF P:E5 SP:FB CYC:76 SL:208
F384 8D STA $0647 PC:F385 A:A5 X:02 Y:EF P:E5 SP:FB CYC:82 SL:208
F387 20 JSR $FB1D PC:F388 A:A5 X:02 Y:EF P:E5 SP:FB CYC:94 SL:208
FB1D 24 BIT $01 PC:FB1E A:A5 X:02 Y:EF P:E5 SP:F9 CYC:112 SL:208
FB1F 18 CLC PC:FB20 A:A5 X:02 Y:EF P:E5 SP:F9 CYC:121 SL:208
FB20 A9 LDA #$B3 PC:FB21 A:A5 X:02 Y:EF P:E4 SP:F9 CYC:127 SL:208
FB22 60 RTS PC:FB23 A:B3 X:02 Y:EF P:E4 SP:F9 CYC:133 SL:208
F38A 4F SRE $0647 PC:F38B A:B3 X:02 Y:EF P:E4 SP:FB CYC:151 SL:208
F38D EA NOP PC:F38E A:E1 X:02 Y:EF P:E5 SP:FB CYC:169 SL:208
F38E EA NOP PC:F38F A:E1 X:02 Y:EF P:E5 SP:FB CYC:175 SL:208
F38F EA NOP PC:F390 A:E1 X:02 Y:EF P:E5 SP:FB CYC:181 SL:208
F390 EA NOP PC:F391 A:E1 X:02 Y:EF P:E5 SP:FB CYC:187 SL:208
F391 20 JSR $FB23 PC:F392 A:E1 X:02 Y:EF P:E5 SP:FB CYC:193 SL:208
FB23 50 BVC $FB75 PC:FB24 A:E1 X:02 Y:EF P:E5 SP:F9 CYC:211 SL:208
FB25 90 BCC $FB75 PC:FB26 A:E1 X:02 Y:EF P:E5 SP:F9 CYC:217 SL:208
FB27 10 BPL $FB75 PC:FB28 A:E1 X:02 Y:EF P:E5 SP:F9 CYC:223 SL:208
FB29 C9 CMP #$E1 PC:FB2A A:E1 X:02 Y:EF P:E5 SP:F9 CYC:229 SL:208
FB2B D0 BNE $FB75 PC:FB2C A:E1 X:02 Y:EF P:67 SP:F9 CYC:235 SL:208
FB2D 60 RTS PC:FB2E A:E1 X:02 Y:EF P:67 SP:F9 CYC:241 SL:208
F394 AD LDA $0647 PC:F395 A:E1 X:02 Y:EF P:67 SP:FB CYC:259 SL:208
F397 C9 CMP #$52 PC:F398 A:52 X:02 Y:EF P:65 SP:FB CYC:271 SL:208
F399 F0 BEQ $F39D PC:F39A A:52 X:02 Y:EF P:67 SP:FB CYC:277 SL:208
F39D C8 INY PC:F39E A:52 X:02 Y:EF P:67 SP:FB CYC:286 SL:208
F39E A9 LDA #$29 PC:F39F A:52 X:02 Y:F0 P:E5 SP:FB CYC:292 SL:208
F3A0 8D STA $0647 PC:F3A1 A:29 X:02 Y:F0 P:65 SP:FB CYC:298 SL:208
F3A3 20 JSR $FB2E PC:F3A4 A:29 X:02 Y:F0 P:65 SP:FB CYC:310 SL:208
FB2E B8 CLV PC:FB2F A:29 X:02 Y:F0 P:65 SP:F9 CYC:328 SL:208
FB2F 18 CLC PC:FB30 A:29 X:02 Y:F0 P:25 SP:F9 CYC:334 SL:208
FB30 A9 LDA #$42 PC:FB31 A:29 X:02 Y:F0 P:24 SP:F9 CYC:340 SL:208
FB32 60 RTS PC:FB33 A:42 X:02 Y:F0 P:24 SP:F9 CYC:5 SL:209
F3A6 4F SRE $0647 PC:F3A7 A:42 X:02 Y:F0 P:24 SP:FB CYC:23 SL:209
F3A9 EA NOP PC:F3AA A:56 X:02 Y:F0 P:25 SP:FB CYC:41 SL:209
F3AA EA NOP PC:F3AB A:56 X:02 Y:F0 P:25 SP:FB CYC:47 SL:209
F3AB EA NOP PC:F3AC A:56 X:02 Y:F0 P:25 SP:FB CYC:53 SL:209
F3AC EA NOP PC:F3AD A:56 X:02 Y:F0 P:25 SP:FB CYC:59 SL:209
F3AD 20 JSR $FB33 PC:F3AE A:56 X:02 Y:F0 P:25 SP:FB CYC:65 SL:209
FB33 70 BVS $FB75 PC:FB34 A:56 X:02 Y:F0 P:25 SP:F9 CYC:83 SL:209
FB35 F0 BEQ $FB75 PC:FB36 A:56 X:02 Y:F0 P:25 SP:F9 CYC:89 SL:209
FB37 30 BMI $FB75 PC:FB38 A:56 X:02 Y:F0 P:25 SP:F9 CYC:95 SL:209
FB39 90 BCC $FB75 PC:FB3A A:56 X:02 Y:F0 P:25 SP:F9 CYC:101 SL:209
FB3B C9 CMP #$56 PC:FB3C A:56 X:02 Y:F0 P:25 SP:F9 CYC:107 SL:209
FB3D D0 BNE $FB75 PC:FB3E A:56 X:02 Y:F0 P:27 SP:F9 CYC:113 SL:209
FB3F 60 RTS PC:FB40 A:56 X:02 Y:F0 P:27 SP:F9 CYC:119 SL:209
F3B0 AD LDA $0647 PC:F3B1 A:56 X:02 Y:F0 P:27 SP:FB CYC:137 SL:209
F3B3 C9 CMP #$14 PC:F3B4 A:14 X:02 Y:F0 P:25 SP:FB CYC:149 SL:209
F3B5 F0 BEQ $F3B9 PC:F3B6 A:14 X:02 Y:F0 P:27 SP:FB CYC:155 SL:209
F3B9 C8 INY PC:F3BA A:14 X:02 Y:F0 P:27 SP:FB CYC:164 SL:209
F3BA A9 LDA #$37 PC:F3BB A:14 X:02 Y:F1 P:A5 SP:FB CYC:170 SL:209
F3BC 8D STA $0647 PC:F3BD A:37 X:02 Y:F1 P:25 SP:FB CYC:176 SL:209
F3BF 20 JSR $FB40 PC:F3C0 A:37 X:02 Y:F1 P:25 SP:FB CYC:188 SL:209
FB40 24 BIT $01 PC:FB41 A:37 X:02 Y:F1 P:25 SP:F9 CYC:206 SL:209
FB42 38 SEC PC:FB43 A:37 X:02 Y:F1 P:E5 SP:F9 CYC:215 SL:209
FB43 A9 LDA #$75 PC:FB44 A:37 X:02 Y:F1 P:E5 SP:F9 CYC:221 SL:209
FB45 60 RTS PC:FB46 A:75 X:02 Y:F1 P:65 SP:F9 CYC:227 SL:209
F3C2 4F SRE $0647 PC:F3C3 A:75 X:02 Y:F1 P:65 SP:FB CYC:245 SL:209
F3C5 EA NOP PC:F3C6 A:6E X:02 Y:F1 P:65 SP:FB CYC:263 SL:209
F3C6 EA NOP PC:F3C7 A:6E X:02 Y:F1 P:65 SP:FB CYC:269 SL:209
F3C7 EA NOP PC:F3C8 A:6E X:02 Y:F1 P:65 SP:FB CYC:275 SL:209
F3C8 EA NOP PC:F3C9 A:6E X:02 Y:F1 P:65 SP:FB CYC:281 SL:209
F3C9 20 JSR $FB46 PC:F3CA A:6E X:02 Y:F1 P:65 SP:FB CYC:287 SL:209
FB46 50 BVC $FB75 PC:FB47 A:6E X:02 Y:F1 P:65 SP:F9 CYC:305 SL:209
FB48 F0 BEQ $FB75 PC:FB49 A:6E X:02 Y:F1 P:65 SP:F9 CYC:311 SL:209
FB4A 30 BMI $FB75 PC:FB4B A:6E X:02 Y:F1 P:65 SP:F9 CYC:317 SL:209
FB4C 90 BCC $FB75 PC:FB4D A:6E X:02 Y:F1 P:65 SP:F9 CYC:323 SL:209
FB4E C9 CMP #$6E PC:FB4F A:6E X:02 Y:F1 P:65 SP:F9 CYC:329 SL:209
FB50 D0 BNE $FB75 PC:FB51 A:6E X:02 Y:F1 P:67 SP:F9 CYC:335 SL:209
FB52 60 RTS PC:FB53 A:6E X:02 Y:F1 P:67 SP:F9 CYC:0 SL:210
F3CC AD LDA $0647 PC:F3CD A:6E X:02 Y:F1 P:67 SP:FB CYC:18 SL:210
F3CF C9 CMP #$1B PC:F3D0 A:1B X:02 Y:F1 P:65 SP:FB CYC:30 SL:210
F3D1 F0 BEQ $F3D5 PC:F3D2 A:1B X:02 Y:F1 P:67 SP:FB CYC:36 SL:210
F3D5 A9 LDA #$A5 PC:F3D6 A:1B X:02 Y:F1 P:67 SP:FB CYC:45 SL:210
F3D7 8D STA $0647 PC:F3D8 A:A5 X:02 Y:F1 P:E5 SP:FB CYC:51 SL:210
F3DA A9 LDA #$48 PC:F3DB A:A5 X:02 Y:F1 P:E5 SP:FB CYC:63 SL:210
F3DC 85 STA $45 PC:F3DD A:48 X:02 Y:F1 P:65 SP:FB CYC:69 SL:210
F3DE A9 LDA #$05 PC:F3DF A:48 X:02 Y:F1 P:65 SP:FB CYC:78 SL:210
F3E0 85 STA $46 PC:F3E1 A:05 X:02 Y:F1 P:65 SP:FB CYC:84 SL:210
F3E2 A0 LDY #$FF PC:F3E3 A:05 X:02 Y:F1 P:65 SP:FB CYC:93 SL:210
F3E4 20 JSR $FB1D PC:F3E5 A:05 X:02 Y:FF P:E5 SP:FB CYC:99 SL:210
FB1D 24 BIT $01 PC:FB1E A:05 X:02 Y:FF P:E5 SP:F9 CYC:117 SL:210
FB1F 18 CLC PC:FB20 A:05 X:02 Y:FF P:E5 SP:F9 CYC:126 SL:210
FB20 A9 LDA #$B3 PC:FB21 A:05 X:02 Y:FF P:E4 SP:F9 CYC:132 SL:210
FB22 60 RTS PC:FB23 A:B3 X:02 Y:FF P:E4 SP:F9 CYC:138 SL:210
F3E7 53 SRE ($45), y PC:F3E8 A:B3 X:02 Y:FF P:E4 SP:FB CYC:156 SL:210
F3E9 EA NOP PC:F3EA A:E1 X:02 Y:FF P:E5 SP:FB CYC:180 SL:210
F3EA EA NOP PC:F3EB A:E1 X:02 Y:FF P:E5 SP:FB CYC:186 SL:210
F3EB 08 PHP PC:F3EC A:E1 X:02 Y:FF P:E5 SP:FB CYC:192 SL:210
F3EC 48 PHA PC:F3ED A:E1 X:02 Y:FF P:E5 SP:FA CYC:201 SL:210
F3ED A0 LDY #$F2 PC:F3EE A:E1 X:02 Y:FF P:E5 SP:F9 CYC:210 SL:210
F3EF 68 PLA PC:F3F0 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:216 SL:210
F3F0 28 PLP PC:F3F1 A:E1 X:02 Y:F2 P:E5 SP:FA CYC:228 SL:210
F3F1 20 JSR $FB23 PC:F3F2 A:E1 X:02 Y:F2 P:E5 SP:FB CYC:240 SL:210
FB23 50 BVC $FB75 PC:FB24 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:258 SL:210
FB25 90 BCC $FB75 PC:FB26 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:264 SL:210
FB27 10 BPL $FB75 PC:FB28 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:270 SL:210
FB29 C9 CMP #$E1 PC:FB2A A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:276 SL:210
FB2B D0 BNE $FB75 PC:FB2C A:E1 X:02 Y:F2 P:67 SP:F9 CYC:282 SL:210
FB2D 60 RTS PC:FB2E A:E1 X:02 Y:F2 P:67 SP:F9 CYC:288 SL:210
F3F4 AD LDA $0647 PC:F3F5 A:E1 X:02 Y:F2 P:67 SP:FB CYC:306 SL:210
F3F7 C9 CMP #$52 PC:F3F8 A:52 X:02 Y:F2 P:65 SP:FB CYC:318 SL:210
F3F9 F0 BEQ $F3FD PC:F3FA A:52 X:02 Y:F2 P:67 SP:FB CYC:324 SL:210
F3FD A0 LDY #$FF PC:F3FE A:52 X:02 Y:F2 P:67 SP:FB CYC:333 SL:210
F3FF A9 LDA #$29 PC:F400 A:52 X:02 Y:FF P:E5 SP:FB CYC:339 SL:210
F401 8D STA $0647 PC:F402 A:29 X:02 Y:FF P:65 SP:FB CYC:4 SL:211
F404 20 JSR $FB2E PC:F405 A:29 X:02 Y:FF P:65 SP:FB CYC:16 SL:211
FB2E B8 CLV PC:FB2F A:29 X:02 Y:FF P:65 SP:F9 CYC:34 SL:211
FB2F 18 CLC PC:FB30 A:29 X:02 Y:FF P:25 SP:F9 CYC:40 SL:211
FB30 A9 LDA #$42 PC:FB31 A:29 X:02 Y:FF P:24 SP:F9 CYC:46 SL:211
FB32 60 RTS PC:FB33 A:42 X:02 Y:FF P:24 SP:F9 CYC:52 SL:211
F407 53 SRE ($45), y PC:F408 A:42 X:02 Y:FF P:24 SP:FB CYC:70 SL:211
F409 EA NOP PC:F40A A:56 X:02 Y:FF P:25 SP:FB CYC:94 SL:211
F40A EA NOP PC:F40B A:56 X:02 Y:FF P:25 SP:FB CYC:100 SL:211
F40B 08 PHP PC:F40C A:56 X:02 Y:FF P:25 SP:FB CYC:106 SL:211
F40C 48 PHA PC:F40D A:56 X:02 Y:FF P:25 SP:FA CYC:115 SL:211
F40D A0 LDY #$F3 PC:F40E A:56 X:02 Y:FF P:25 SP:F9 CYC:124 SL:211
F40F 68 PLA PC:F410 A:56 X:02 Y:F3 P:A5 SP:F9 CYC:130 SL:211
F410 28 PLP PC:F411 A:56 X:02 Y:F3 P:25 SP:FA CYC:142 SL:211
F411 20 JSR $FB33 PC:F412 A:56 X:02 Y:F3 P:25 SP:FB CYC:154 SL:211
FB33 70 BVS $FB75 PC:FB34 A:56 X:02 Y:F3 P:25 SP:F9 CYC:172 SL:211
FB35 F0 BEQ $FB75 PC:FB36 A:56 X:02 Y:F3 P:25 SP:F9 CYC:178 SL:211
FB37 30 BMI $FB75 PC:FB38 A:56 X:02 Y:F3 P:25 SP:F9 CYC:184 SL:211
FB39 90 BCC $FB75 PC:FB3A A:56 X:02 Y:F3 P:25 SP:F9 CYC:190 SL:211
FB3B C9 CMP #$56 PC:FB3C A:56 X:02 Y:F3 P:25 SP:F9 CYC:196 SL:211
FB3D D0 BNE $FB75 PC:FB3E A:56 X:02 Y:F3 P:27 SP:F9 CYC:202 SL:211
FB3F 60 RTS PC:FB40 A:56 X:02 Y:F3 P:27 SP:F9 CYC:208 SL:211
F414 AD LDA $0647 PC:F415 A:56 X:02 Y:F3 P:27 SP:FB CYC:226 SL:211
F417 C9 CMP #$14 PC:F418 A:14 X:02 Y:F3 P:25 SP:FB CYC:238 SL:211
F419 F0 BEQ $F41D PC:F41A A:14 X:02 Y:F3 P:27 SP:FB CYC:244 SL:211
F41D A0 LDY #$FF PC:F41E A:14 X:02 Y:F3 P:27 SP:FB CYC:253 SL:211
F41F A9 LDA #$37 PC:F420 A:14 X:02 Y:FF P:A5 SP:FB CYC:259 SL:211
F421 8D STA $0647 PC:F422 A:37 X:02 Y:FF P:25 SP:FB CYC:265 SL:211
F424 20 JSR $FB40 PC:F425 A:37 X:02 Y:FF P:25 SP:FB CYC:277 SL:211
FB40 24 BIT $01 PC:FB41 A:37 X:02 Y:FF P:25 SP:F9 CYC:295 SL:211
FB42 38 SEC PC:FB43 A:37 X:02 Y:FF P:E5 SP:F9 CYC:304 SL:211
FB43 A9 LDA #$75 PC:FB44 A:37 X:02 Y:FF P:E5 SP:F9 CYC:310 SL:211
FB45 60 RTS PC:FB46 A:75 X:02 Y:FF P:65 SP:F9 CYC:316 SL:211
F427 53 SRE ($45), y PC:F428 A:75 X:02 Y:FF P:65 SP:FB CYC:334 SL:211
F429 EA NOP PC:F42A A:6E X:02 Y:FF P:65 SP:FB CYC:17 SL:212
F42A EA NOP PC:F42B A:6E X:02 Y:FF P:65 SP:FB CYC:23 SL:212
F42B 08 PHP PC:F42C A:6E X:02 Y:FF P:65 SP:FB CYC:29 SL:212
F42C 48 PHA PC:F42D A:6E X:02 Y:FF P:65 SP:FA CYC:38 SL:212
F42D A0 LDY #$F4 PC:F42E A:6E X:02 Y:FF P:65 SP:F9 CYC:47 SL:212
F42F 68 PLA PC:F430 A:6E X:02 Y:F4 P:E5 SP:F9 CYC:53 SL:212
F430 28 PLP PC:F431 A:6E X:02 Y:F4 P:65 SP:FA CYC:65 SL:212
F431 20 JSR $FB46 PC:F432 A:6E X:02 Y:F4 P:65 SP:FB CYC:77 SL:212
FB46 50 BVC $FB75 PC:FB47 A:6E X:02 Y:F4 P:65 SP:F9 CYC:95 SL:212
FB48 F0 BEQ $FB75 PC:FB49 A:6E X:02 Y:F4 P:65 SP:F9 CYC:101 SL:212
FB4A 30 BMI $FB75 PC:FB4B A:6E X:02 Y:F4 P:65 SP:F9 CYC:107 SL:212
FB4C 90 BCC $FB75 PC:FB4D A:6E X:02 Y:F4 P:65 SP:F9 CYC:113 SL:212
FB4E C9 CMP #$6E PC:FB4F A:6E X:02 Y:F4 P:65 SP:F9 CYC:119 SL:212
FB50 D0 BNE $FB75 PC:FB51 A:6E X:02 Y:F4 P:67 SP:F9 CYC:125 SL:212
FB52 60 RTS PC:FB53 A:6E X:02 Y:F4 P:67 SP:F9 CYC:131 SL:212
F434 AD LDA $0647 PC:F435 A:6E X:02 Y:F4 P:67 SP:FB CYC:149 SL:212
F437 C9 CMP #$1B PC:F438 A:1B X:02 Y:F4 P:65 SP:FB CYC:161 SL:212
F439 F0 BEQ $F43D PC:F43A A:1B X:02 Y:F4 P:67 SP:FB CYC:167 SL:212
F43D A0 LDY #$F5 PC:F43E A:1B X:02 Y:F4 P:67 SP:FB CYC:176 SL:212
F43F A2 LDX #$FF PC:F440 A:1B X:02 Y:F5 P:E5 SP:FB CYC:182 SL:212
F441 A9 LDA #$A5 PC:F442 A:1B X:FF Y:F5 P:E5 SP:FB CYC:188 SL:212
F443 85 STA $47 PC:F444 A:A5 X:FF Y:F5 P:E5 SP:FB CYC:194 SL:212
F445 20 JSR $FB1D PC:F446 A:A5 X:FF Y:F5 P:E5 SP:FB CYC:203 SL:212
FB1D 24 BIT $01 PC:FB1E A:A5 X:FF Y:F5 P:E5 SP:F9 CYC:221 SL:212
FB1F 18 CLC PC:FB20 A:A5 X:FF Y:F5 P:E5 SP:F9 CYC:230 SL:212
FB20 A9 LDA #$B3 PC:FB21 A:A5 X:FF Y:F5 P:E4 SP:F9 CYC:236 SL:212
FB22 60 RTS PC:FB23 A:B3 X:FF Y:F5 P:E4 SP:F9 CYC:242 SL:212
F448 57 SRE $48,x PC:F449 A:B3 X:FF Y:F5 P:E4 SP:FB CYC:260 SL:212
F44A EA NOP PC:F44B A:E1 X:FF Y:F5 P:E5 SP:FB CYC:278 SL:212
F44B EA NOP PC:F44C A:E1 X:FF Y:F5 P:E5 SP:FB CYC:284 SL:212
F44C EA NOP PC:F44D A:E1 X:FF Y:F5 P:E5 SP:FB CYC:290 SL:212
F44D EA NOP PC:F44E A:E1 X:FF Y:F5 P:E5 SP:FB CYC:296 SL:212
F44E 20 JSR $FB23 PC:F44F A:E1 X:FF Y:F5 P:E5 SP:FB CYC:302 SL:212
FB23 50 BVC $FB75 PC:FB24 A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:320 SL:212
FB25 90 BCC $FB75 PC:FB26 A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:326 SL:212
FB27 10 BPL $FB75 PC:FB28 A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:332 SL:212
FB29 C9 CMP #$E1 PC:FB2A A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:338 SL:212
FB2B D0 BNE $FB75 PC:FB2C A:E1 X:FF Y:F5 P:67 SP:F9 CYC:3 SL:213
FB2D 60 RTS PC:FB2E A:E1 X:FF Y:F5 P:67 SP:F9 CYC:9 SL:213
F451 A5 LDA $47 PC:F452 A:E1 X:FF Y:F5 P:67 SP:FB CYC:27 SL:213
F453 C9 CMP #$52 PC:F454 A:52 X:FF Y:F5 P:65 SP:FB CYC:36 SL:213
F455 F0 BEQ $F459 PC:F456 A:52 X:FF Y:F5 P:67 SP:FB CYC:42 SL:213
F459 C8 INY PC:F45A A:52 X:FF Y:F5 P:67 SP:FB CYC:51 SL:213
F45A A9 LDA #$29 PC:F45B A:52 X:FF Y:F6 P:E5 SP:FB CYC:57 SL:213
F45C 85 STA $47 PC:F45D A:29 X:FF Y:F6 P:65 SP:FB CYC:63 SL:213
F45E 20 JSR $FB2E PC:F45F A:29 X:FF Y:F6 P:65 SP:FB CYC:72 SL:213
FB2E B8 CLV PC:FB2F A:29 X:FF Y:F6 P:65 SP:F9 CYC:90 SL:213
FB2F 18 CLC PC:FB30 A:29 X:FF Y:F6 P:25 SP:F9 CYC:96 SL:213
FB30 A9 LDA #$42 PC:FB31 A:29 X:FF Y:F6 P:24 SP:F9 CYC:102 SL:213
FB32 60 RTS PC:FB33 A:42 X:FF Y:F6 P:24 SP:F9 CYC:108 SL:213
F461 57 SRE $48,x PC:F462 A:42 X:FF Y:F6 P:24 SP:FB CYC:126 SL:213
F463 EA NOP PC:F464 A:56 X:FF Y:F6 P:25 SP:FB CYC:144 SL:213
F464 EA NOP PC:F465 A:56 X:FF Y:F6 P:25 SP:FB CYC:150 SL:213
F465 EA NOP PC:F466 A:56 X:FF Y:F6 P:25 SP:FB CYC:156 SL:213
F466 EA NOP PC:F467 A:56 X:FF Y:F6 P:25 SP:FB CYC:162 SL:213
F467 20 JSR $FB33 PC:F468 A:56 X:FF Y:F6 P:25 SP:FB CYC:168 SL:213
FB33 70 BVS $FB75 PC:FB34 A:56 X:FF Y:F6 P:25 SP:F9 CYC:186 SL:213
FB35 F0 BEQ $FB75 PC:FB36 A:56 X:FF Y:F6 P:25 SP:F9 CYC:192 SL:213
FB37 30 BMI $FB75 PC:FB38 A:56 X:FF Y:F6 P:25 SP:F9 CYC:198 SL:213
FB39 90 BCC $FB75 PC:FB3A A:56 X:FF Y:F6 P:25 SP:F9 CYC:204 SL:213
FB3B C9 CMP #$56 PC:FB3C A:56 X:FF Y:F6 P:25 SP:F9 CYC:210 SL:213
FB3D D0 BNE $FB75 PC:FB3E A:56 X:FF Y:F6 P:27 SP:F9 CYC:216 SL:213
FB3F 60 RTS PC:FB40 A:56 X:FF Y:F6 P:27 SP:F9 CYC:222 SL:213
F46A A5 LDA $47 PC:F46B A:56 X:FF Y:F6 P:27 SP:FB CYC:240 SL:213
F46C C9 CMP #$14 PC:F46D A:14 X:FF Y:F6 P:25 SP:FB CYC:249 SL:213
F46E F0 BEQ $F472 PC:F46F A:14 X:FF Y:F6 P:27 SP:FB CYC:255 SL:213
F472 C8 INY PC:F473 A:14 X:FF Y:F6 P:27 SP:FB CYC:264 SL:213
F473 A9 LDA #$37 PC:F474 A:14 X:FF Y:F7 P:A5 SP:FB CYC:270 SL:213
F475 85 STA $47 PC:F476 A:37 X:FF Y:F7 P:25 SP:FB CYC:276 SL:213
F477 20 JSR $FB40 PC:F478 A:37 X:FF Y:F7 P:25 SP:FB CYC:285 SL:213
FB40 24 BIT $01 PC:FB41 A:37 X:FF Y:F7 P:25 SP:F9 CYC:303 SL:213
FB42 38 SEC PC:FB43 A:37 X:FF Y:F7 P:E5 SP:F9 CYC:312 SL:213
FB43 A9 LDA #$75 PC:FB44 A:37 X:FF Y:F7 P:E5 SP:F9 CYC:318 SL:213
FB45 60 RTS PC:FB46 A:75 X:FF Y:F7 P:65 SP:F9 CYC:324 SL:213
F47A 57 SRE $48,x PC:F47B A:75 X:FF Y:F7 P:65 SP:FB CYC:1 SL:214
F47C EA NOP PC:F47D A:6E X:FF Y:F7 P:65 SP:FB CYC:19 SL:214
F47D EA NOP PC:F47E A:6E X:FF Y:F7 P:65 SP:FB CYC:25 SL:214
F47E EA NOP PC:F47F A:6E X:FF Y:F7 P:65 SP:FB CYC:31 SL:214
F47F EA NOP PC:F480 A:6E X:FF Y:F7 P:65 SP:FB CYC:37 SL:214
F480 20 JSR $FB46 PC:F481 A:6E X:FF Y:F7 P:65 SP:FB CYC:43 SL:214
FB46 50 BVC $FB75 PC:FB47 A:6E X:FF Y:F7 P:65 SP:F9 CYC:61 SL:214
FB48 F0 BEQ $FB75 PC:FB49 A:6E X:FF Y:F7 P:65 SP:F9 CYC:67 SL:214
FB4A 30 BMI $FB75 PC:FB4B A:6E X:FF Y:F7 P:65 SP:F9 CYC:73 SL:214
FB4C 90 BCC $FB75 PC:FB4D A:6E X:FF Y:F7 P:65 SP:F9 CYC:79 SL:214
FB4E C9 CMP #$6E PC:FB4F A:6E X:FF Y:F7 P:65 SP:F9 CYC:85 SL:214
FB50 D0 BNE $FB75 PC:FB51 A:6E X:FF Y:F7 P:67 SP:F9 CYC:91 SL:214
FB52 60 RTS PC:FB53 A:6E X:FF Y:F7 P:67 SP:F9 CYC:97 SL:214
F483 A5 LDA $47 PC:F484 A:6E X:FF Y:F7 P:67 SP:FB CYC:115 SL:214
F485 C9 CMP #$1B PC:F486 A:1B X:FF Y:F7 P:65 SP:FB CYC:124 SL:214
F487 F0 BEQ $F48B PC:F488 A:1B X:FF Y:F7 P:67 SP:FB CYC:130 SL:214
F48B A9 LDA #$A5 PC:F48C A:1B X:FF Y:F7 P:67 SP:FB CYC:139 SL:214
F48D 8D STA $0647 PC:F48E A:A5 X:FF Y:F7 P:E5 SP:FB CYC:145 SL:214
F490 A0 LDY #$FF PC:F491 A:A5 X:FF Y:F7 P:E5 SP:FB CYC:157 SL:214
F492 20 JSR $FB1D PC:F493 A:A5 X:FF Y:FF P:E5 SP:FB CYC:163 SL:214
FB1D 24 BIT $01 PC:FB1E A:A5 X:FF Y:FF P:E5 SP:F9 CYC:181 SL:214
FB1F 18 CLC PC:FB20 A:A5 X:FF Y:FF P:E5 SP:F9 CYC:190 SL:214
FB20 A9 LDA #$B3 PC:FB21 A:A5 X:FF Y:FF P:E4 SP:F9 CYC:196 SL:214
FB22 60 RTS PC:FB23 A:B3 X:FF Y:FF P:E4 SP:F9 CYC:202 SL:214
F495 5B SRE $0548,y PC:F496 A:B3 X:FF Y:FF P:E4 SP:FB CYC:220 SL:214
F498 EA NOP PC:F499 A:E1 X:FF Y:FF P:E5 SP:FB CYC:241 SL:214
F499 EA NOP PC:F49A A:E1 X:FF Y:FF P:E5 SP:FB CYC:247 SL:214
F49A 08 PHP PC:F49B A:E1 X:FF Y:FF P:E5 SP:FB CYC:253 SL:214
F49B 48 PHA PC:F49C A:E1 X:FF Y:FF P:E5 SP:FA CYC:262 SL:214
F49C A0 LDY #$F8 PC:F49D A:E1 X:FF Y:FF P:E5 SP:F9 CYC:271 SL:214
F49E 68 PLA PC:F49F A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:277 SL:214
F49F 28 PLP PC:F4A0 A:E1 X:FF Y:F8 P:E5 SP:FA CYC:289 SL:214
F4A0 20 JSR $FB23 PC:F4A1 A:E1 X:FF Y:F8 P:E5 SP:FB CYC:301 SL:214
FB23 50 BVC $FB75 PC:FB24 A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:319 SL:214
FB25 90 BCC $FB75 PC:FB26 A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:325 SL:214
FB27 10 BPL $FB75 PC:FB28 A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:331 SL:214
FB29 C9 CMP #$E1 PC:FB2A A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:337 SL:214
FB2B D0 BNE $FB75 PC:FB2C A:E1 X:FF Y:F8 P:67 SP:F9 CYC:2 SL:215
FB2D 60 RTS PC:FB2E A:E1 X:FF Y:F8 P:67 SP:F9 CYC:8 SL:215
F4A3 AD LDA $0647 PC:F4A4 A:E1 X:FF Y:F8 P:67 SP:FB CYC:26 SL:215
F4A6 C9 CMP #$52 PC:F4A7 A:52 X:FF Y:F8 P:65 SP:FB CYC:38 SL:215
F4A8 F0 BEQ $F4AC PC:F4A9 A:52 X:FF Y:F8 P:67 SP:FB CYC:44 SL:215
F4AC A0 LDY #$FF PC:F4AD A:52 X:FF Y:F8 P:67 SP:FB CYC:53 SL:215
F4AE A9 LDA #$29 PC:F4AF A:52 X:FF Y:FF P:E5 SP:FB CYC:59 SL:215
F4B0 8D STA $0647 PC:F4B1 A:29 X:FF Y:FF P:65 SP:FB CYC:65 SL:215
F4B3 20 JSR $FB2E PC:F4B4 A:29 X:FF Y:FF P:65 SP:FB CYC:77 SL:215
FB2E B8 CLV PC:FB2F A:29 X:FF Y:FF P:65 SP:F9 CYC:95 SL:215
FB2F 18 CLC PC:FB30 A:29 X:FF Y:FF P:25 SP:F9 CYC:101 SL:215
FB30 A9 LDA #$42 PC:FB31 A:29 X:FF Y:FF P:24 SP:F9 CYC:107 SL:215
FB32 60 RTS PC:FB33 A:42 X:FF Y:FF P:24 SP:F9 CYC:113 SL:215
F4B6 5B SRE $0548,y PC:F4B7 A:42 X:FF Y:FF P:24 SP:FB CYC:131 SL:215
F4B9 EA NOP PC:F4BA A:56 X:FF Y:FF P:25 SP:FB CYC:152 SL:215
F4BA EA NOP PC:F4BB A:56 X:FF Y:FF P:25 SP:FB CYC:158 SL:215
F4BB 08 PHP PC:F4BC A:56 X:FF Y:FF P:25 SP:FB CYC:164 SL:215
F4BC 48 PHA PC:F4BD A:56 X:FF Y:FF P:25 SP:FA CYC:173 SL:215
F4BD A0 LDY #$F9 PC:F4BE A:56 X:FF Y:FF P:25 SP:F9 CYC:182 SL:215
F4BF 68 PLA PC:F4C0 A:56 X:FF Y:F9 P:A5 SP:F9 CYC:188 SL:215
F4C0 28 PLP PC:F4C1 A:56 X:FF Y:F9 P:25 SP:FA CYC:200 SL:215
F4C1 20 JSR $FB33 PC:F4C2 A:56 X:FF Y:F9 P:25 SP:FB CYC:212 SL:215
FB33 70 BVS $FB75 PC:FB34 A:56 X:FF Y:F9 P:25 SP:F9 CYC:230 SL:215
FB35 F0 BEQ $FB75 PC:FB36 A:56 X:FF Y:F9 P:25 SP:F9 CYC:236 SL:215
FB37 30 BMI $FB75 PC:FB38 A:56 X:FF Y:F9 P:25 SP:F9 CYC:242 SL:215
FB39 90 BCC $FB75 PC:FB3A A:56 X:FF Y:F9 P:25 SP:F9 CYC:248 SL:215
FB3B C9 CMP #$56 PC:FB3C A:56 X:FF Y:F9 P:25 SP:F9 CYC:254 SL:215
FB3D D0 BNE $FB75 PC:FB3E A:56 X:FF Y:F9 P:27 SP:F9 CYC:260 SL:215
FB3F 60 RTS PC:FB40 A:56 X:FF Y:F9 P:27 SP:F9 CYC:266 SL:215
F4C4 AD LDA $0647 PC:F4C5 A:56 X:FF Y:F9 P:27 SP:FB CYC:284 SL:215
F4C7 C9 CMP #$14 PC:F4C8 A:14 X:FF Y:F9 P:25 SP:FB CYC:296 SL:215
F4C9 F0 BEQ $F4CD PC:F4CA A:14 X:FF Y:F9 P:27 SP:FB CYC:302 SL:215
F4CD A0 LDY #$FF PC:F4CE A:14 X:FF Y:F9 P:27 SP:FB CYC:311 SL:215
F4CF A9 LDA #$37 PC:F4D0 A:14 X:FF Y:FF P:A5 SP:FB CYC:317 SL:215
F4D1 8D STA $0647 PC:F4D2 A:37 X:FF Y:FF P:25 SP:FB CYC:323 SL:215
F4D4 20 JSR $FB40 PC:F4D5 A:37 X:FF Y:FF P:25 SP:FB CYC:335 SL:215
FB40 24 BIT $01 PC:FB41 A:37 X:FF Y:FF P:25 SP:F9 CYC:12 SL:216
FB42 38 SEC PC:FB43 A:37 X:FF Y:FF P:E5 SP:F9 CYC:21 SL:216
FB43 A9 LDA #$75 PC:FB44 A:37 X:FF Y:FF P:E5 SP:F9 CYC:27 SL:216
FB45 60 RTS PC:FB46 A:75 X:FF Y:FF P:65 SP:F9 CYC:33 SL:216
F4D7 5B SRE $0548,y PC:F4D8 A:75 X:FF Y:FF P:65 SP:FB CYC:51 SL:216
F4DA EA NOP PC:F4DB A:6E X:FF Y:FF P:65 SP:FB CYC:72 SL:216
F4DB EA NOP PC:F4DC A:6E X:FF Y:FF P:65 SP:FB CYC:78 SL:216
F4DC 08 PHP PC:F4DD A:6E X:FF Y:FF P:65 SP:FB CYC:84 SL:216
F4DD 48 PHA PC:F4DE A:6E X:FF Y:FF P:65 SP:FA CYC:93 SL:216
F4DE A0 LDY #$FA PC:F4DF A:6E X:FF Y:FF P:65 SP:F9 CYC:102 SL:216
F4E0 68 PLA PC:F4E1 A:6E X:FF Y:FA P:E5 SP:F9 CYC:108 SL:216
F4E1 28 PLP PC:F4E2 A:6E X:FF Y:FA P:65 SP:FA CYC:120 SL:216
F4E2 20 JSR $FB46 PC:F4E3 A:6E X:FF Y:FA P:65 SP:FB CYC:132 SL:216
FB46 50 BVC $FB75 PC:FB47 A:6E X:FF Y:FA P:65 SP:F9 CYC:150 SL:216
FB48 F0 BEQ $FB75 PC:FB49 A:6E X:FF Y:FA P:65 SP:F9 CYC:156 SL:216
FB4A 30 BMI $FB75 PC:FB4B A:6E X:FF Y:FA P:65 SP:F9 CYC:162 SL:216
FB4C 90 BCC $FB75 PC:FB4D A:6E X:FF Y:FA P:65 SP:F9 CYC:168 SL:216
FB4E C9 CMP #$6E PC:FB4F A:6E X:FF Y:FA P:65 SP:F9 CYC:174 SL:216
FB50 D0 BNE $FB75 PC:FB51 A:6E X:FF Y:FA P:67 SP:F9 CYC:180 SL:216
FB52 60 RTS PC:FB53 A:6E X:FF Y:FA P:67 SP:F9 CYC:186 SL:216
F4E5 AD LDA $0647 PC:F4E6 A:6E X:FF Y:FA P:67 SP:FB CYC:204 SL:216
F4E8 C9 CMP #$1B PC:F4E9 A:1B X:FF Y:FA P:65 SP:FB CYC:216 SL:216
F4EA F0 BEQ $F4EE PC:F4EB A:1B X:FF Y:FA P:67 SP:FB CYC:222 SL:216
F4EE A0 LDY #$FB PC:F4EF A:1B X:FF Y:FA P:67 SP:FB CYC:231 SL:216
F4F0 A2 LDX #$FF PC:F4F1 A:1B X:FF Y:FB P:E5 SP:FB CYC:237 SL:216
F4F2 A9 LDA #$A5 PC:F4F3 A:1B X:FF Y:FB P:E5 SP:FB CYC:243 SL:216
F4F4 8D STA $0647 PC:F4F5 A:A5 X:FF Y:FB P:E5 SP:FB CYC:249 SL:216
F4F7 20 JSR $FB1D PC:F4F8 A:A5 X:FF Y:FB P:E5 SP:FB CYC:261 SL:216
FB1D 24 BIT $01 PC:FB1E A:A5 X:FF Y:FB P:E5 SP:F9 CYC:279 SL:216
FB1F 18 CLC PC:FB20 A:A5 X:FF Y:FB P:E5 SP:F9 CYC:288 SL:216
FB20 A9 LDA #$B3 PC:FB21 A:A5 X:FF Y:FB P:E4 SP:F9 CYC:294 SL:216
FB22 60 RTS PC:FB23 A:B3 X:FF Y:FB P:E4 SP:F9 CYC:300 SL:216
F4FA 5F SRE $0548,x PC:F4FB A:B3 X:FF Y:FB P:E4 SP:FB CYC:318 SL:216
F4FD EA NOP PC:F4FE A:E1 X:FF Y:FB P:E5 SP:FB CYC:339 SL:216
F4FE EA NOP PC:F4FF A:E1 X:FF Y:FB P:E5 SP:FB CYC:4 SL:217
F4FF EA NOP PC:F500 A:E1 X:FF Y:FB P:E5 SP:FB CYC:10 SL:217
F500 EA NOP PC:F501 A:E1 X:FF Y:FB P:E5 SP:FB CYC:16 SL:217
F501 20 JSR $FB23 PC:F502 A:E1 X:FF Y:FB P:E5 SP:FB CYC:22 SL:217
FB23 50 BVC $FB75 PC:FB24 A:E1 X:FF Y:FB P:E5 SP:F9 CYC:40 SL:217
FB25 90 BCC $FB75 PC:FB26 A:E1 X:FF Y:FB P:E5 SP:F9 CYC:46 SL:217
FB27 10 BPL $FB75 PC:FB28 A:E1 X:FF Y:FB P:E5 SP:F9 CYC:52 SL:217
FB29 C9 CMP #$E1 PC:FB2A A:E1 X:FF Y:FB P:E5 SP:F9 CYC:58 SL:217
FB2B D0 BNE $FB75 PC:FB2C A:E1 X:FF Y:FB P:67 SP:F9 CYC:64 SL:217
FB2D 60 RTS PC:FB2E A:E1 X:FF Y:FB P:67 SP:F9 CYC:70 SL:217
F504 AD LDA $0647 PC:F505 A:E1 X:FF Y:FB P:67 SP:FB CYC:88 SL:217
F507 C9 CMP #$52 PC:F508 A:52 X:FF Y:FB P:65 SP:FB CYC:100 SL:217
F509 F0 BEQ $F50D PC:F50A A:52 X:FF Y:FB P:67 SP:FB CYC:106 SL:217
F50D C8 INY PC:F50E A:52 X:FF Y:FB P:67 SP:FB CYC:115 SL:217
F50E A9 LDA #$29 PC:F50F A:52 X:FF Y:FC P:E5 SP:FB CYC:121 SL:217
F510 8D STA $0647 PC:F511 A:29 X:FF Y:FC P:65 SP:FB CYC:127 SL:217
F513 20 JSR $FB2E PC:F514 A:29 X:FF Y:FC P:65 SP:FB CYC:139 SL:217
FB2E B8 CLV PC:FB2F A:29 X:FF Y:FC P:65 SP:F9 CYC:157 SL:217
FB2F 18 CLC PC:FB30 A:29 X:FF Y:FC P:25 SP:F9 CYC:163 SL:217
FB30 A9 LDA #$42 PC:FB31 A:29 X:FF Y:FC P:24 SP:F9 CYC:169 SL:217
FB32 60 RTS PC:FB33 A:42 X:FF Y:FC P:24 SP:F9 CYC:175 SL:217
F516 5F SRE $0548,x PC:F517 A:42 X:FF Y:FC P:24 SP:FB CYC:193 SL:217
F519 EA NOP PC:F51A A:56 X:FF Y:FC P:25 SP:FB CYC:214 SL:217
F51A EA NOP PC:F51B A:56 X:FF Y:FC P:25 SP:FB CYC:220 SL:217
F51B EA NOP PC:F51C A:56 X:FF Y:FC P:25 SP:FB CYC:226 SL:217
F51C EA NOP PC:F51D A:56 X:FF Y:FC P:25 SP:FB CYC:232 SL:217
F51D 20 JSR $FB33 PC:F51E A:56 X:FF Y:FC P:25 SP:FB CYC:238 SL:217
FB33 70 BVS $FB75 PC:FB34 A:56 X:FF Y:FC P:25 SP:F9 CYC:256 SL:217
FB35 F0 BEQ $FB75 PC:FB36 A:56 X:FF Y:FC P:25 SP:F9 CYC:262 SL:217
FB37 30 BMI $FB75 PC:FB38 A:56 X:FF Y:FC P:25 SP:F9 CYC:268 SL:217
FB39 90 BCC $FB75 PC:FB3A A:56 X:FF Y:FC P:25 SP:F9 CYC:274 SL:217
FB3B C9 CMP #$56 PC:FB3C A:56 X:FF Y:FC P:25 SP:F9 CYC:280 SL:217
FB3D D0 BNE $FB75 PC:FB3E A:56 X:FF Y:FC P:27 SP:F9 CYC:286 SL:217
FB3F 60 RTS PC:FB40 A:56 X:FF Y:FC P:27 SP:F9 CYC:292 SL:217
F520 AD LDA $0647 PC:F521 A:56 X:FF Y:FC P:27 SP:FB CYC:310 SL:217
F523 C9 CMP #$14 PC:F524 A:14 X:FF Y:FC P:25 SP:FB CYC:322 SL:217
F525 F0 BEQ $F529 PC:F526 A:14 X:FF Y:FC P:27 SP:FB CYC:328 SL:217
F529 C8 INY PC:F52A A:14 X:FF Y:FC P:27 SP:FB CYC:337 SL:217
F52A A9 LDA #$37 PC:F52B A:14 X:FF Y:FD P:A5 SP:FB CYC:2 SL:218
F52C 8D STA $0647 PC:F52D A:37 X:FF Y:FD P:25 SP:FB CYC:8 SL:218
F52F 20 JSR $FB40 PC:F530 A:37 X:FF Y:FD P:25 SP:FB CYC:20 SL:218
FB40 24 BIT $01 PC:FB41 A:37 X:FF Y:FD P:25 SP:F9 CYC:38 SL:218
FB42 38 SEC PC:FB43 A:37 X:FF Y:FD P:E5 SP:F9 CYC:47 SL:218
FB43 A9 LDA #$75 PC:FB44 A:37 X:FF Y:FD P:E5 SP:F9 CYC:53 SL:218
FB45 60 RTS PC:FB46 A:75 X:FF Y:FD P:65 SP:F9 CYC:59 SL:218
F532 5F SRE $0548,x PC:F533 A:75 X:FF Y:FD P:65 SP:FB CYC:77 SL:218
F535 EA NOP PC:F536 A:6E X:FF Y:FD P:65 SP:FB CYC:98 SL:218
F536 EA NOP PC:F537 A:6E X:FF Y:FD P:65 SP:FB CYC:104 SL:218
F537 EA NOP PC:F538 A:6E X:FF Y:FD P:65 SP:FB CYC:110 SL:218
F538 EA NOP PC:F539 A:6E X:FF Y:FD P:65 SP:FB CYC:116 SL:218
F539 20 JSR $FB46 PC:F53A A:6E X:FF Y:FD P:65 SP:FB CYC:122 SL:218
FB46 50 BVC $FB75 PC:FB47 A:6E X:FF Y:FD P:65 SP:F9 CYC:140 SL:218
FB48 F0 BEQ $FB75 PC:FB49 A:6E X:FF Y:FD P:65 SP:F9 CYC:146 SL:218
FB4A 30 BMI $FB75 PC:FB4B A:6E X:FF Y:FD P:65 SP:F9 CYC:152 SL:218
FB4C 90 BCC $FB75 PC:FB4D A:6E X:FF Y:FD P:65 SP:F9 CYC:158 SL:218
FB4E C9 CMP #$6E PC:FB4F A:6E X:FF Y:FD P:65 SP:F9 CYC:164 SL:218
FB50 D0 BNE $FB75 PC:FB51 A:6E X:FF Y:FD P:67 SP:F9 CYC:170 SL:218
FB52 60 RTS PC:FB53 A:6E X:FF Y:FD P:67 SP:F9 CYC:176 SL:218
F53C AD LDA $0647 PC:F53D A:6E X:FF Y:FD P:67 SP:FB CYC:194 SL:218
F53F C9 CMP #$1B PC:F540 A:1B X:FF Y:FD P:65 SP:FB CYC:206 SL:218
F541 F0 BEQ $F545 PC:F542 A:1B X:FF Y:FD P:67 SP:FB CYC:212 SL:218
F545 60 RTS PC:F546 A:1B X:FF Y:FD P:67 SP:FB CYC:221 SL:218
C64A A5 LDA $00 PC:C64B A:1B X:FF Y:FD P:67 SP:FD CYC:239 SL:218
C64C 85 STA $11 PC:C64D A:00 X:FF Y:FD P:67 SP:FD CYC:248 SL:218
C64E A9 LDA #$00 PC:C64F A:00 X:FF Y:FD P:67 SP:FD CYC:257 SL:218
C650 85 STA $00 PC:C651 A:00 X:FF Y:FD P:67 SP:FD CYC:263 SL:218
C652 20 JSR $F546 PC:C653 A:00 X:FF Y:FD P:67 SP:FD CYC:272 SL:218
F546 A9 LDA #$FF PC:F547 A:00 X:FF Y:FD P:67 SP:FB CYC:290 SL:218
F548 85 STA $01 PC:F549 A:FF X:FF Y:FD P:E5 SP:FB CYC:296 SL:218
F54A A0 LDY #$01 PC:F54B A:FF X:FF Y:FD P:E5 SP:FB CYC:305 SL:218
F54C A2 LDX #$02 PC:F54D A:FF X:FF Y:01 P:65 SP:FB CYC:311 SL:218
F54E A9 LDA #$47 PC:F54F A:FF X:02 Y:01 P:65 SP:FB CYC:317 SL:218
F550 85 STA $47 PC:F551 A:47 X:02 Y:01 P:65 SP:FB CYC:323 SL:218
F552 A9 LDA #$06 PC:F553 A:47 X:02 Y:01 P:65 SP:FB CYC:332 SL:218
F554 85 STA $48 PC:F555 A:06 X:02 Y:01 P:65 SP:FB CYC:338 SL:218
F556 A9 LDA #$A5 PC:F557 A:06 X:02 Y:01 P:65 SP:FB CYC:6 SL:219
F558 8D STA $0647 PC:F559 A:A5 X:02 Y:01 P:E5 SP:FB CYC:12 SL:219
F55B 20 JSR $FAE9 PC:F55C A:A5 X:02 Y:01 P:E5 SP:FB CYC:24 SL:219
FAE9 24 BIT $01 PC:FAEA A:A5 X:02 Y:01 P:E5 SP:F9 CYC:42 SL:219
FAEB 18 CLC PC:FAEC A:A5 X:02 Y:01 P:E5 SP:F9 CYC:51 SL:219
FAEC A9 LDA #$B2 PC:FAED A:A5 X:02 Y:01 P:E4 SP:F9 CYC:57 SL:219
FAEE 60 RTS PC:FAEF A:B2 X:02 Y:01 P:E4 SP:F9 CYC:63 SL:219
F55E 63 RRA $(EA45,x) PC:F55F A:B2 X:02 Y:01 P:E4 SP:FB CYC:81 SL:219
F560 EA NOP PC:F561 A:05 X:02 Y:01 P:25 SP:FB CYC:105 SL:219
F561 EA NOP PC:F562 A:05 X:02 Y:01 P:25 SP:FB CYC:111 SL:219
F562 EA NOP PC:F563 A:05 X:02 Y:01 P:25 SP:FB CYC:117 SL:219
F563 EA NOP PC:F564 A:05 X:02 Y:01 P:25 SP:FB CYC:123 SL:219
F564 20 JSR $FAEF PC:F565 A:05 X:02 Y:01 P:25 SP:FB CYC:129 SL:219
FAEF 70 BVS $FB1B PC:FAF0 A:05 X:02 Y:01 P:25 SP:F9 CYC:147 SL:219
FAF1 90 BCC $FB1B PC:FAF2 A:05 X:02 Y:01 P:25 SP:F9 CYC:153 SL:219
FAF3 30 BMI $FB1B PC:FAF4 A:05 X:02 Y:01 P:25 SP:F9 CYC:159 SL:219
FAF5 C9 CMP #$05 PC:FAF6 A:05 X:02 Y:01 P:25 SP:F9 CYC:165 SL:219
FAF7 D0 BNE $FB1B PC:FAF8 A:05 X:02 Y:01 P:27 SP:F9 CYC:171 SL:219
FAF9 60 RTS PC:FAFA A:05 X:02 Y:01 P:27 SP:F9 CYC:177 SL:219
F567 AD LDA $0647 PC:F568 A:05 X:02 Y:01 P:27 SP:FB CYC:195 SL:219
F56A C9 CMP #$52 PC:F56B A:52 X:02 Y:01 P:25 SP:FB CYC:207 SL:219
F56C F0 BEQ $F570 PC:F56D A:52 X:02 Y:01 P:27 SP:FB CYC:213 SL:219
F570 C8 INY PC:F571 A:52 X:02 Y:01 P:27 SP:FB CYC:222 SL:219
F571 A9 LDA #$29 PC:F572 A:52 X:02 Y:02 P:25 SP:FB CYC:228 SL:219
F573 8D STA $0647 PC:F574 A:29 X:02 Y:02 P:25 SP:FB CYC:234 SL:219
F576 20 JSR $FAFA PC:F577 A:29 X:02 Y:02 P:25 SP:FB CYC:246 SL:219
FAFA B8 CLV PC:FAFB A:29 X:02 Y:02 P:25 SP:F9 CYC:264 SL:219
FAFB 18 CLC PC:FAFC A:29 X:02 Y:02 P:25 SP:F9 CYC:270 SL:219
FAFC A9 LDA #$42 PC:FAFD A:29 X:02 Y:02 P:24 SP:F9 CYC:276 SL:219
FAFE 60 RTS PC:FAFF A:42 X:02 Y:02 P:24 SP:F9 CYC:282 SL:219
F579 63 RRA $(EA45,x) PC:F57A A:42 X:02 Y:02 P:24 SP:FB CYC:300 SL:219
F57B EA NOP PC:F57C A:57 X:02 Y:02 P:24 SP:FB CYC:324 SL:219
F57C EA NOP PC:F57D A:57 X:02 Y:02 P:24 SP:FB CYC:330 SL:219
F57D EA NOP PC:F57E A:57 X:02 Y:02 P:24 SP:FB CYC:336 SL:219
F57E EA NOP PC:F57F A:57 X:02 Y:02 P:24 SP:FB CYC:1 SL:220
F57F 20 JSR $FAFF PC:F580 A:57 X:02 Y:02 P:24 SP:FB CYC:7 SL:220
FAFF 70 BVS $FB1B PC:FB00 A:57 X:02 Y:02 P:24 SP:F9 CYC:25 SL:220
FB01 30 BMI $FB1B PC:FB02 A:57 X:02 Y:02 P:24 SP:F9 CYC:31 SL:220
FB03 B0 BCS $FB1B PC:FB04 A:57 X:02 Y:02 P:24 SP:F9 CYC:37 SL:220
FB05 C9 CMP #$57 PC:FB06 A:57 X:02 Y:02 P:24 SP:F9 CYC:43 SL:220
FB07 D0 BNE $FB1B PC:FB08 A:57 X:02 Y:02 P:27 SP:F9 CYC:49 SL:220
FB09 60 RTS PC:FB0A A:57 X:02 Y:02 P:27 SP:F9 CYC:55 SL:220
F582 AD LDA $0647 PC:F583 A:57 X:02 Y:02 P:27 SP:FB CYC:73 SL:220
F585 C9 CMP #$14 PC:F586 A:14 X:02 Y:02 P:25 SP:FB CYC:85 SL:220
F587 F0 BEQ $F58B PC:F588 A:14 X:02 Y:02 P:27 SP:FB CYC:91 SL:220
F58B C8 INY PC:F58C A:14 X:02 Y:02 P:27 SP:FB CYC:100 SL:220
F58C A9 LDA #$37 PC:F58D A:14 X:02 Y:03 P:25 SP:FB CYC:106 SL:220
F58E 8D STA $0647 PC:F58F A:37 X:02 Y:03 P:25 SP:FB CYC:112 SL:220
F591 20 JSR $FB0A PC:F592 A:37 X:02 Y:03 P:25 SP:FB CYC:124 SL:220
FB0A 24 BIT $01 PC:FB0B A:37 X:02 Y:03 P:25 SP:F9 CYC:142 SL:220
FB0C 38 SEC PC:FB0D A:37 X:02 Y:03 P:E5 SP:F9 CYC:151 SL:220
FB0D A9 LDA #$75 PC:FB0E A:37 X:02 Y:03 P:E5 SP:F9 CYC:157 SL:220
FB0F 60 RTS PC:FB10 A:75 X:02 Y:03 P:65 SP:F9 CYC:163 SL:220
F594 63 RRA $(EA45,x) PC:F595 A:75 X:02 Y:03 P:65 SP:FB CYC:181 SL:220
F596 EA NOP PC:F597 A:11 X:02 Y:03 P:25 SP:FB CYC:205 SL:220
F597 EA NOP PC:F598 A:11 X:02 Y:03 P:25 SP:FB CYC:211 SL:220
F598 EA NOP PC:F599 A:11 X:02 Y:03 P:25 SP:FB CYC:217 SL:220
F599 EA NOP PC:F59A A:11 X:02 Y:03 P:25 SP:FB CYC:223 SL:220
F59A 20 JSR $FB10 PC:F59B A:11 X:02 Y:03 P:25 SP:FB CYC:229 SL:220
FB10 70 BVS $FB1B PC:FB11 A:11 X:02 Y:03 P:25 SP:F9 CYC:247 SL:220
FB12 30 BMI $FB1B PC:FB13 A:11 X:02 Y:03 P:25 SP:F9 CYC:253 SL:220
FB14 90 BCC $FB1B PC:FB15 A:11 X:02 Y:03 P:25 SP:F9 CYC:259 SL:220
FB16 C9 CMP #$11 PC:FB17 A:11 X:02 Y:03 P:25 SP:F9 CYC:265 SL:220
FB18 D0 BNE $FB1B PC:FB19 A:11 X:02 Y:03 P:27 SP:F9 CYC:271 SL:220
FB1A 60 RTS PC:FB1B A:11 X:02 Y:03 P:27 SP:F9 CYC:277 SL:220
F59D AD LDA $0647 PC:F59E A:11 X:02 Y:03 P:27 SP:FB CYC:295 SL:220
F5A0 C9 CMP #$9B PC:F5A1 A:9B X:02 Y:03 P:A5 SP:FB CYC:307 SL:220
F5A2 F0 BEQ $F5A6 PC:F5A3 A:9B X:02 Y:03 P:27 SP:FB CYC:313 SL:220
F5A6 C8 INY PC:F5A7 A:9B X:02 Y:03 P:27 SP:FB CYC:322 SL:220
F5A7 A9 LDA #$A5 PC:F5A8 A:9B X:02 Y:04 P:25 SP:FB CYC:328 SL:220
F5A9 85 STA $47 PC:F5AA A:A5 X:02 Y:04 P:A5 SP:FB CYC:334 SL:220
F5AB 20 JSR $FAE9 PC:F5AC A:A5 X:02 Y:04 P:A5 SP:FB CYC:2 SL:221
FAE9 24 BIT $01 PC:FAEA A:A5 X:02 Y:04 P:A5 SP:F9 CYC:20 SL:221
FAEB 18 CLC PC:FAEC A:A5 X:02 Y:04 P:E5 SP:F9 CYC:29 SL:221
FAEC A9 LDA #$B2 PC:FAED A:A5 X:02 Y:04 P:E4 SP:F9 CYC:35 SL:221
FAEE 60 RTS PC:FAEF A:B2 X:02 Y:04 P:E4 SP:F9 CYC:41 SL:221
F5AE 67 RRA $47 PC:F5AF A:B2 X:02 Y:04 P:E4 SP:FB CYC:59 SL:221
F5B0 EA NOP PC:F5B1 A:05 X:02 Y:04 P:25 SP:FB CYC:74 SL:221
F5B1 EA NOP PC:F5B2 A:05 X:02 Y:04 P:25 SP:FB CYC:80 SL:221
F5B2 EA NOP PC:F5B3 A:05 X:02 Y:04 P:25 SP:FB CYC:86 SL:221
F5B3 EA NOP PC:F5B4 A:05 X:02 Y:04 P:25 SP:FB CYC:92 SL:221
F5B4 20 JSR $FAEF PC:F5B5 A:05 X:02 Y:04 P:25 SP:FB CYC:98 SL:221
FAEF 70 BVS $FB1B PC:FAF0 A:05 X:02 Y:04 P:25 SP:F9 CYC:116 SL:221
FAF1 90 BCC $FB1B PC:FAF2 A:05 X:02 Y:04 P:25 SP:F9 CYC:122 SL:221
FAF3 30 BMI $FB1B PC:FAF4 A:05 X:02 Y:04 P:25 SP:F9 CYC:128 SL:221
FAF5 C9 CMP #$05 PC:FAF6 A:05 X:02 Y:04 P:25 SP:F9 CYC:134 SL:221
FAF7 D0 BNE $FB1B PC:FAF8 A:05 X:02 Y:04 P:27 SP:F9 CYC:140 SL:221
FAF9 60 RTS PC:FAFA A:05 X:02 Y:04 P:27 SP:F9 CYC:146 SL:221
F5B7 A5 LDA $47 PC:F5B8 A:05 X:02 Y:04 P:27 SP:FB CYC:164 SL:221
F5B9 C9 CMP #$52 PC:F5BA A:52 X:02 Y:04 P:25 SP:FB CYC:173 SL:221
F5BB F0 BEQ $F5BF PC:F5BC A:52 X:02 Y:04 P:27 SP:FB CYC:179 SL:221
F5BF C8 INY PC:F5C0 A:52 X:02 Y:04 P:27 SP:FB CYC:188 SL:221
F5C0 A9 LDA #$29 PC:F5C1 A:52 X:02 Y:05 P:25 SP:FB CYC:194 SL:221
F5C2 85 STA $47 PC:F5C3 A:29 X:02 Y:05 P:25 SP:FB CYC:200 SL:221
F5C4 20 JSR $FAFA PC:F5C5 A:29 X:02 Y:05 P:25 SP:FB CYC:209 SL:221
FAFA B8 CLV PC:FAFB A:29 X:02 Y:05 P:25 SP:F9 CYC:227 SL:221
FAFB 18 CLC PC:FAFC A:29 X:02 Y:05 P:25 SP:F9 CYC:233 SL:221
FAFC A9 LDA #$42 PC:FAFD A:29 X:02 Y:05 P:24 SP:F9 CYC:239 SL:221
FAFE 60 RTS PC:FAFF A:42 X:02 Y:05 P:24 SP:F9 CYC:245 SL:221
F5C7 67 RRA $47 PC:F5C8 A:42 X:02 Y:05 P:24 SP:FB CYC:263 SL:221
F5C9 EA NOP PC:F5CA A:57 X:02 Y:05 P:24 SP:FB CYC:278 SL:221
F5CA EA NOP PC:F5CB A:57 X:02 Y:05 P:24 SP:FB CYC:284 SL:221
F5CB EA NOP PC:F5CC A:57 X:02 Y:05 P:24 SP:FB CYC:290 SL:221
F5CC EA NOP PC:F5CD A:57 X:02 Y:05 P:24 SP:FB CYC:296 SL:221
F5CD 20 JSR $FAFF PC:F5CE A:57 X:02 Y:05 P:24 SP:FB CYC:302 SL:221
FAFF 70 BVS $FB1B PC:FB00 A:57 X:02 Y:05 P:24 SP:F9 CYC:320 SL:221
FB01 30 BMI $FB1B PC:FB02 A:57 X:02 Y:05 P:24 SP:F9 CYC:326 SL:221
FB03 B0 BCS $FB1B PC:FB04 A:57 X:02 Y:05 P:24 SP:F9 CYC:332 SL:221
FB05 C9 CMP #$57 PC:FB06 A:57 X:02 Y:05 P:24 SP:F9 CYC:338 SL:221
FB07 D0 BNE $FB1B PC:FB08 A:57 X:02 Y:05 P:27 SP:F9 CYC:3 SL:222
FB09 60 RTS PC:FB0A A:57 X:02 Y:05 P:27 SP:F9 CYC:9 SL:222
F5D0 A5 LDA $47 PC:F5D1 A:57 X:02 Y:05 P:27 SP:FB CYC:27 SL:222
F5D2 C9 CMP #$14 PC:F5D3 A:14 X:02 Y:05 P:25 SP:FB CYC:36 SL:222
F5D4 F0 BEQ $F5D8 PC:F5D5 A:14 X:02 Y:05 P:27 SP:FB CYC:42 SL:222
F5D8 C8 INY PC:F5D9 A:14 X:02 Y:05 P:27 SP:FB CYC:51 SL:222
F5D9 A9 LDA #$37 PC:F5DA A:14 X:02 Y:06 P:25 SP:FB CYC:57 SL:222
F5DB 85 STA $47 PC:F5DC A:37 X:02 Y:06 P:25 SP:FB CYC:63 SL:222
F5DD 20 JSR $FB0A PC:F5DE A:37 X:02 Y:06 P:25 SP:FB CYC:72 SL:222
FB0A 24 BIT $01 PC:FB0B A:37 X:02 Y:06 P:25 SP:F9 CYC:90 SL:222
FB0C 38 SEC PC:FB0D A:37 X:02 Y:06 P:E5 SP:F9 CYC:99 SL:222
FB0D A9 LDA #$75 PC:FB0E A:37 X:02 Y:06 P:E5 SP:F9 CYC:105 SL:222
FB0F 60 RTS PC:FB10 A:75 X:02 Y:06 P:65 SP:F9 CYC:111 SL:222
F5E0 67 RRA $47 PC:F5E1 A:75 X:02 Y:06 P:65 SP:FB CYC:129 SL:222
F5E2 EA NOP PC:F5E3 A:11 X:02 Y:06 P:25 SP:FB CYC:144 SL:222
F5E3 EA NOP PC:F5E4 A:11 X:02 Y:06 P:25 SP:FB CYC:150 SL:222
F5E4 EA NOP PC:F5E5 A:11 X:02 Y:06 P:25 SP:FB CYC:156 SL:222
F5E5 EA NOP PC:F5E6 A:11 X:02 Y:06 P:25 SP:FB CYC:162 SL:222
F5E6 20 JSR $FB10 PC:F5E7 A:11 X:02 Y:06 P:25 SP:FB CYC:168 SL:222
FB10 70 BVS $FB1B PC:FB11 A:11 X:02 Y:06 P:25 SP:F9 CYC:186 SL:222
FB12 30 BMI $FB1B PC:FB13 A:11 X:02 Y:06 P:25 SP:F9 CYC:192 SL:222
FB14 90 BCC $FB1B PC:FB15 A:11 X:02 Y:06 P:25 SP:F9 CYC:198 SL:222
FB16 C9 CMP #$11 PC:FB17 A:11 X:02 Y:06 P:25 SP:F9 CYC:204 SL:222
FB18 D0 BNE $FB1B PC:FB19 A:11 X:02 Y:06 P:27 SP:F9 CYC:210 SL:222
FB1A 60 RTS PC:FB1B A:11 X:02 Y:06 P:27 SP:F9 CYC:216 SL:222
F5E9 A5 LDA $47 PC:F5EA A:11 X:02 Y:06 P:27 SP:FB CYC:234 SL:222
F5EB C9 CMP #$9B PC:F5EC A:9B X:02 Y:06 P:A5 SP:FB CYC:243 SL:222
F5ED F0 BEQ $F5F1 PC:F5EE A:9B X:02 Y:06 P:27 SP:FB CYC:249 SL:222
F5F1 C8 INY PC:F5F2 A:9B X:02 Y:06 P:27 SP:FB CYC:258 SL:222
F5F2 A9 LDA #$A5 PC:F5F3 A:9B X:02 Y:07 P:25 SP:FB CYC:264 SL:222
F5F4 8D STA $0647 PC:F5F5 A:A5 X:02 Y:07 P:A5 SP:FB CYC:270 SL:222
F5F7 20 JSR $FAE9 PC:F5F8 A:A5 X:02 Y:07 P:A5 SP:FB CYC:282 SL:222
FAE9 24 BIT $01 PC:FAEA A:A5 X:02 Y:07 P:A5 SP:F9 CYC:300 SL:222
FAEB 18 CLC PC:FAEC A:A5 X:02 Y:07 P:E5 SP:F9 CYC:309 SL:222
FAEC A9 LDA #$B2 PC:FAED A:A5 X:02 Y:07 P:E4 SP:F9 CYC:315 SL:222
FAEE 60 RTS PC:FAEF A:B2 X:02 Y:07 P:E4 SP:F9 CYC:321 SL:222
F5FA 6F RRA $0647 PC:F5FB A:B2 X:02 Y:07 P:E4 SP:FB CYC:339 SL:222
F5FD EA NOP PC:F5FE A:05 X:02 Y:07 P:25 SP:FB CYC:16 SL:223
F5FE EA NOP PC:F5FF A:05 X:02 Y:07 P:25 SP:FB CYC:22 SL:223
F5FF EA NOP PC:F600 A:05 X:02 Y:07 P:25 SP:FB CYC:28 SL:223
F600 EA NOP PC:F601 A:05 X:02 Y:07 P:25 SP:FB CYC:34 SL:223
F601 20 JSR $FAEF PC:F602 A:05 X:02 Y:07 P:25 SP:FB CYC:40 SL:223
FAEF 70 BVS $FB1B PC:FAF0 A:05 X:02 Y:07 P:25 SP:F9 CYC:58 SL:223
FAF1 90 BCC $FB1B PC:FAF2 A:05 X:02 Y:07 P:25 SP:F9 CYC:64 SL:223
FAF3 30 BMI $FB1B PC:FAF4 A:05 X:02 Y:07 P:25 SP:F9 CYC:70 SL:223
FAF5 C9 CMP #$05 PC:FAF6 A:05 X:02 Y:07 P:25 SP:F9 CYC:76 SL:223
FAF7 D0 BNE $FB1B PC:FAF8 A:05 X:02 Y:07 P:27 SP:F9 CYC:82 SL:223
FAF9 60 RTS PC:FAFA A:05 X:02 Y:07 P:27 SP:F9 CYC:88 SL:223
F604 AD LDA $0647 PC:F605 A:05 X:02 Y:07 P:27 SP:FB CYC:106 SL:223
F607 C9 CMP #$52 PC:F608 A:52 X:02 Y:07 P:25 SP:FB CYC:118 SL:223
F609 F0 BEQ $F60D PC:F60A A:52 X:02 Y:07 P:27 SP:FB CYC:124 SL:223
F60D C8 INY PC:F60E A:52 X:02 Y:07 P:27 SP:FB CYC:133 SL:223
F60E A9 LDA #$29 PC:F60F A:52 X:02 Y:08 P:25 SP:FB CYC:139 SL:223
F610 8D STA $0647 PC:F611 A:29 X:02 Y:08 P:25 SP:FB CYC:145 SL:223
F613 20 JSR $FAFA PC:F614 A:29 X:02 Y:08 P:25 SP:FB CYC:157 SL:223
FAFA B8 CLV PC:FAFB A:29 X:02 Y:08 P:25 SP:F9 CYC:175 SL:223
FAFB 18 CLC PC:FAFC A:29 X:02 Y:08 P:25 SP:F9 CYC:181 SL:223
FAFC A9 LDA #$42 PC:FAFD A:29 X:02 Y:08 P:24 SP:F9 CYC:187 SL:223
FAFE 60 RTS PC:FAFF A:42 X:02 Y:08 P:24 SP:F9 CYC:193 SL:223
F616 6F RRA $0647 PC:F617 A:42 X:02 Y:08 P:24 SP:FB CYC:211 SL:223
F619 EA NOP PC:F61A A:57 X:02 Y:08 P:24 SP:FB CYC:229 SL:223
F61A EA NOP PC:F61B A:57 X:02 Y:08 P:24 SP:FB CYC:235 SL:223
F61B EA NOP PC:F61C A:57 X:02 Y:08 P:24 SP:FB CYC:241 SL:223
F61C EA NOP PC:F61D A:57 X:02 Y:08 P:24 SP:FB CYC:247 SL:223
F61D 20 JSR $FAFF PC:F61E A:57 X:02 Y:08 P:24 SP:FB CYC:253 SL:223
FAFF 70 BVS $FB1B PC:FB00 A:57 X:02 Y:08 P:24 SP:F9 CYC:271 SL:223
FB01 30 BMI $FB1B PC:FB02 A:57 X:02 Y:08 P:24 SP:F9 CYC:277 SL:223
FB03 B0 BCS $FB1B PC:FB04 A:57 X:02 Y:08 P:24 SP:F9 CYC:283 SL:223
FB05 C9 CMP #$57 PC:FB06 A:57 X:02 Y:08 P:24 SP:F9 CYC:289 SL:223
FB07 D0 BNE $FB1B PC:FB08 A:57 X:02 Y:08 P:27 SP:F9 CYC:295 SL:223
FB09 60 RTS PC:FB0A A:57 X:02 Y:08 P:27 SP:F9 CYC:301 SL:223
F620 AD LDA $0647 PC:F621 A:57 X:02 Y:08 P:27 SP:FB CYC:319 SL:223
F623 C9 CMP #$14 PC:F624 A:14 X:02 Y:08 P:25 SP:FB CYC:331 SL:223
F625 F0 BEQ $F629 PC:F626 A:14 X:02 Y:08 P:27 SP:FB CYC:337 SL:223
F629 C8 INY PC:F62A A:14 X:02 Y:08 P:27 SP:FB CYC:5 SL:224
F62A A9 LDA #$37 PC:F62B A:14 X:02 Y:09 P:25 SP:FB CYC:11 SL:224
F62C 8D STA $0647 PC:F62D A:37 X:02 Y:09 P:25 SP:FB CYC:17 SL:224
F62F 20 JSR $FB0A PC:F630 A:37 X:02 Y:09 P:25 SP:FB CYC:29 SL:224
FB0A 24 BIT $01 PC:FB0B A:37 X:02 Y:09 P:25 SP:F9 CYC:47 SL:224
FB0C 38 SEC PC:FB0D A:37 X:02 Y:09 P:E5 SP:F9 CYC:56 SL:224
FB0D A9 LDA #$75 PC:FB0E A:37 X:02 Y:09 P:E5 SP:F9 CYC:62 SL:224
FB0F 60 RTS PC:FB10 A:75 X:02 Y:09 P:65 SP:F9 CYC:68 SL:224
F632 6F RRA $0647 PC:F633 A:75 X:02 Y:09 P:65 SP:FB CYC:86 SL:224
F635 EA NOP PC:F636 A:11 X:02 Y:09 P:25 SP:FB CYC:104 SL:224
F636 EA NOP PC:F637 A:11 X:02 Y:09 P:25 SP:FB CYC:110 SL:224
F637 EA NOP PC:F638 A:11 X:02 Y:09 P:25 SP:FB CYC:116 SL:224
F638 EA NOP PC:F639 A:11 X:02 Y:09 P:25 SP:FB CYC:122 SL:224
F639 20 JSR $FB10 PC:F63A A:11 X:02 Y:09 P:25 SP:FB CYC:128 SL:224
FB10 70 BVS $FB1B PC:FB11 A:11 X:02 Y:09 P:25 SP:F9 CYC:146 SL:224
FB12 30 BMI $FB1B PC:FB13 A:11 X:02 Y:09 P:25 SP:F9 CYC:152 SL:224
FB14 90 BCC $FB1B PC:FB15 A:11 X:02 Y:09 P:25 SP:F9 CYC:158 SL:224
FB16 C9 CMP #$11 PC:FB17 A:11 X:02 Y:09 P:25 SP:F9 CYC:164 SL:224
FB18 D0 BNE $FB1B PC:FB19 A:11 X:02 Y:09 P:27 SP:F9 CYC:170 SL:224
FB1A 60 RTS PC:FB1B A:11 X:02 Y:09 P:27 SP:F9 CYC:176 SL:224
F63C AD LDA $0647 PC:F63D A:11 X:02 Y:09 P:27 SP:FB CYC:194 SL:224
F63F C9 CMP #$9B PC:F640 A:9B X:02 Y:09 P:A5 SP:FB CYC:206 SL:224
F641 F0 BEQ $F645 PC:F642 A:9B X:02 Y:09 P:27 SP:FB CYC:212 SL:224
F645 A9 LDA #$A5 PC:F646 A:9B X:02 Y:09 P:27 SP:FB CYC:221 SL:224
F647 8D STA $0647 PC:F648 A:A5 X:02 Y:09 P:A5 SP:FB CYC:227 SL:224
F64A A9 LDA #$48 PC:F64B A:A5 X:02 Y:09 P:A5 SP:FB CYC:239 SL:224
F64C 85 STA $45 PC:F64D A:48 X:02 Y:09 P:25 SP:FB CYC:245 SL:224
F64E A9 LDA #$05 PC:F64F A:48 X:02 Y:09 P:25 SP:FB CYC:254 SL:224
F650 85 STA $46 PC:F651 A:05 X:02 Y:09 P:25 SP:FB CYC:260 SL:224
F652 A0 LDY #$FF PC:F653 A:05 X:02 Y:09 P:25 SP:FB CYC:269 SL:224
F654 20 JSR $FAE9 PC:F655 A:05 X:02 Y:FF P:A5 SP:FB CYC:275 SL:224
FAE9 24 BIT $01 PC:FAEA A:05 X:02 Y:FF P:A5 SP:F9 CYC:293 SL:224
FAEB 18 CLC PC:FAEC A:05 X:02 Y:FF P:E5 SP:F9 CYC:302 SL:224
FAEC A9 LDA #$B2 PC:FAED A:05 X:02 Y:FF P:E4 SP:F9 CYC:308 SL:224
FAEE 60 RTS PC:FAEF A:B2 X:02 Y:FF P:E4 SP:F9 CYC:314 SL:224
F657 73 RRA ($45), y PC:F658 A:B2 X:02 Y:FF P:E4 SP:FB CYC:332 SL:224
F659 EA NOP PC:F65A A:05 X:02 Y:FF P:25 SP:FB CYC:15 SL:225
F65A EA NOP PC:F65B A:05 X:02 Y:FF P:25 SP:FB CYC:21 SL:225
F65B 08 PHP PC:F65C A:05 X:02 Y:FF P:25 SP:FB CYC:27 SL:225
F65C 48 PHA PC:F65D A:05 X:02 Y:FF P:25 SP:FA CYC:36 SL:225
F65D A0 LDY #$0A PC:F65E A:05 X:02 Y:FF P:25 SP:F9 CYC:45 SL:225
F65F 68 PLA PC:F660 A:05 X:02 Y:0A P:25 SP:F9 CYC:51 SL:225
F660 28 PLP PC:F661 A:05 X:02 Y:0A P:25 SP:FA CYC:63 SL:225
F661 20 JSR $FAEF PC:F662 A:05 X:02 Y:0A P:25 SP:FB CYC:75 SL:225
FAEF 70 BVS $FB1B PC:FAF0 A:05 X:02 Y:0A P:25 SP:F9 CYC:93 SL:225
FAF1 90 BCC $FB1B PC:FAF2 A:05 X:02 Y:0A P:25 SP:F9 CYC:99 SL:225
FAF3 30 BMI $FB1B PC:FAF4 A:05 X:02 Y:0A P:25 SP:F9 CYC:105 SL:225
FAF5 C9 CMP #$05 PC:FAF6 A:05 X:02 Y:0A P:25 SP:F9 CYC:111 SL:225
FAF7 D0 BNE $FB1B PC:FAF8 A:05 X:02 Y:0A P:27 SP:F9 CYC:117 SL:225
FAF9 60 RTS PC:FAFA A:05 X:02 Y:0A P:27 SP:F9 CYC:123 SL:225
F664 AD LDA $0647 PC:F665 A:05 X:02 Y:0A P:27 SP:FB CYC:141 SL:225
F667 C9 CMP #$52 PC:F668 A:52 X:02 Y:0A P:25 SP:FB CYC:153 SL:225
F669 F0 BEQ $F66D PC:F66A A:52 X:02 Y:0A P:27 SP:FB CYC:159 SL:225
F66D A0 LDY #$FF PC:F66E A:52 X:02 Y:0A P:27 SP:FB CYC:168 SL:225
F66F A9 LDA #$29 PC:F670 A:52 X:02 Y:FF P:A5 SP:FB CYC:174 SL:225
F671 8D STA $0647 PC:F672 A:29 X:02 Y:FF P:25 SP:FB CYC:180 SL:225
F674 20 JSR $FAFA PC:F675 A:29 X:02 Y:FF P:25 SP:FB CYC:192 SL:225
FAFA B8 CLV PC:FAFB A:29 X:02 Y:FF P:25 SP:F9 CYC:210 SL:225
FAFB 18 CLC PC:FAFC A:29 X:02 Y:FF P:25 SP:F9 CYC:216 SL:225
FAFC A9 LDA #$42 PC:FAFD A:29 X:02 Y:FF P:24 SP:F9 CYC:222 SL:225
FAFE 60 RTS PC:FAFF A:42 X:02 Y:FF P:24 SP:F9 CYC:228 SL:225
F677 73 RRA ($45), y PC:F678 A:42 X:02 Y:FF P:24 SP:FB CYC:246 SL:225
F679 EA NOP PC:F67A A:57 X:02 Y:FF P:24 SP:FB CYC:270 SL:225
F67A EA NOP PC:F67B A:57 X:02 Y:FF P:24 SP:FB CYC:276 SL:225
F67B 08 PHP PC:F67C A:57 X:02 Y:FF P:24 SP:FB CYC:282 SL:225
F67C 48 PHA PC:F67D A:57 X:02 Y:FF P:24 SP:FA CYC:291 SL:225
F67D A0 LDY #$0B PC:F67E A:57 X:02 Y:FF P:24 SP:F9 CYC:300 SL:225
F67F 68 PLA PC:F680 A:57 X:02 Y:0B P:24 SP:F9 CYC:306 SL:225
F680 28 PLP PC:F681 A:57 X:02 Y:0B P:24 SP:FA CYC:318 SL:225
F681 20 JSR $FAFF PC:F682 A:57 X:02 Y:0B P:24 SP:FB CYC:330 SL:225
FAFF 70 BVS $FB1B PC:FB00 A:57 X:02 Y:0B P:24 SP:F9 CYC:7 SL:226
FB01 30 BMI $FB1B PC:FB02 A:57 X:02 Y:0B P:24 SP:F9 CYC:13 SL:226
FB03 B0 BCS $FB1B PC:FB04 A:57 X:02 Y:0B P:24 SP:F9 CYC:19 SL:226
FB05 C9 CMP #$57 PC:FB06 A:57 X:02 Y:0B P:24 SP:F9 CYC:25 SL:226
FB07 D0 BNE $FB1B PC:FB08 A:57 X:02 Y:0B P:27 SP:F9 CYC:31 SL:226
FB09 60 RTS PC:FB0A A:57 X:02 Y:0B P:27 SP:F9 CYC:37 SL:226
F684 AD LDA $0647 PC:F685 A:57 X:02 Y:0B P:27 SP:FB CYC:55 SL:226
F687 C9 CMP #$14 PC:F688 A:14 X:02 Y:0B P:25 SP:FB CYC:67 SL:226
F689 F0 BEQ $F68D PC:F68A A:14 X:02 Y:0B P:27 SP:FB CYC:73 SL:226
F68D A0 LDY #$FF PC:F68E A:14 X:02 Y:0B P:27 SP:FB CYC:82 SL:226
F68F A9 LDA #$37 PC:F690 A:14 X:02 Y:FF P:A5 SP:FB CYC:88 SL:226
F691 8D STA $0647 PC:F692 A:37 X:02 Y:FF P:25 SP:FB CYC:94 SL:226
F694 20 JSR $FB0A PC:F695 A:37 X:02 Y:FF P:25 SP:FB CYC:106 SL:226
FB0A 24 BIT $01 PC:FB0B A:37 X:02 Y:FF P:25 SP:F9 CYC:124 SL:226
FB0C 38 SEC PC:FB0D A:37 X:02 Y:FF P:E5 SP:F9 CYC:133 SL:226
FB0D A9 LDA #$75 PC:FB0E A:37 X:02 Y:FF P:E5 SP:F9 CYC:139 SL:226
FB0F 60 RTS PC:FB10 A:75 X:02 Y:FF P:65 SP:F9 CYC:145 SL:226
F697 73 RRA ($45), y PC:F698 A:75 X:02 Y:FF P:65 SP:FB CYC:163 SL:226
F699 EA NOP PC:F69A A:11 X:02 Y:FF P:25 SP:FB CYC:187 SL:226
F69A EA NOP PC:F69B A:11 X:02 Y:FF P:25 SP:FB CYC:193 SL:226
F69B 08 PHP PC:F69C A:11 X:02 Y:FF P:25 SP:FB CYC:199 SL:226
F69C 48 PHA PC:F69D A:11 X:02 Y:FF P:25 SP:FA CYC:208 SL:226
F69D A0 LDY #$0C PC:F69E A:11 X:02 Y:FF P:25 SP:F9 CYC:217 SL:226
F69F 68 PLA PC:F6A0 A:11 X:02 Y:0C P:25 SP:F9 CYC:223 SL:226
F6A0 28 PLP PC:F6A1 A:11 X:02 Y:0C P:25 SP:FA CYC:235 SL:226
F6A1 20 JSR $FB10 PC:F6A2 A:11 X:02 Y:0C P:25 SP:FB CYC:247 SL:226
FB10 70 BVS $FB1B PC:FB11 A:11 X:02 Y:0C P:25 SP:F9 CYC:265 SL:226
FB12 30 BMI $FB1B PC:FB13 A:11 X:02 Y:0C P:25 SP:F9 CYC:271 SL:226
FB14 90 BCC $FB1B PC:FB15 A:11 X:02 Y:0C P:25 SP:F9 CYC:277 SL:226
FB16 C9 CMP #$11 PC:FB17 A:11 X:02 Y:0C P:25 SP:F9 CYC:283 SL:226
FB18 D0 BNE $FB1B PC:FB19 A:11 X:02 Y:0C P:27 SP:F9 CYC:289 SL:226
FB1A 60 RTS PC:FB1B A:11 X:02 Y:0C P:27 SP:F9 CYC:295 SL:226
F6A4 AD LDA $0647 PC:F6A5 A:11 X:02 Y:0C P:27 SP:FB CYC:313 SL:226
F6A7 C9 CMP #$9B PC:F6A8 A:9B X:02 Y:0C P:A5 SP:FB CYC:325 SL:226
F6A9 F0 BEQ $F6AD PC:F6AA A:9B X:02 Y:0C P:27 SP:FB CYC:331 SL:226
F6AD A0 LDY #$0D PC:F6AE A:9B X:02 Y:0C P:27 SP:FB CYC:340 SL:226
F6AF A2 LDX #$FF PC:F6B0 A:9B X:02 Y:0D P:25 SP:FB CYC:5 SL:227
F6B1 A9 LDA #$A5 PC:F6B2 A:9B X:FF Y:0D P:A5 SP:FB CYC:11 SL:227
F6B3 85 STA $47 PC:F6B4 A:A5 X:FF Y:0D P:A5 SP:FB CYC:17 SL:227
F6B5 20 JSR $FAE9 PC:F6B6 A:A5 X:FF Y:0D P:A5 SP:FB CYC:26 SL:227
FAE9 24 BIT $01 PC:FAEA A:A5 X:FF Y:0D P:A5 SP:F9 CYC:44 SL:227
FAEB 18 CLC PC:FAEC A:A5 X:FF Y:0D P:E5 SP:F9 CYC:53 SL:227
FAEC A9 LDA #$B2 PC:FAED A:A5 X:FF Y:0D P:E4 SP:F9 CYC:59 SL:227
FAEE 60 RTS PC:FAEF A:B2 X:FF Y:0D P:E4 SP:F9 CYC:65 SL:227
F6B8 77 RRA $48,x PC:F6B9 A:B2 X:FF Y:0D P:E4 SP:FB CYC:83 SL:227
F6BA EA NOP PC:F6BB A:05 X:FF Y:0D P:25 SP:FB CYC:101 SL:227
F6BB EA NOP PC:F6BC A:05 X:FF Y:0D P:25 SP:FB CYC:107 SL:227
F6BC EA NOP PC:F6BD A:05 X:FF Y:0D P:25 SP:FB CYC:113 SL:227
F6BD EA NOP PC:F6BE A:05 X:FF Y:0D P:25 SP:FB CYC:119 SL:227
F6BE 20 JSR $FAEF PC:F6BF A:05 X:FF Y:0D P:25 SP:FB CYC:125 SL:227
FAEF 70 BVS $FB1B PC:FAF0 A:05 X:FF Y:0D P:25 SP:F9 CYC:143 SL:227
FAF1 90 BCC $FB1B PC:FAF2 A:05 X:FF Y:0D P:25 SP:F9 CYC:149 SL:227
FAF3 30 BMI $FB1B PC:FAF4 A:05 X:FF Y:0D P:25 SP:F9 CYC:155 SL:227
FAF5 C9 CMP #$05 PC:FAF6 A:05 X:FF Y:0D P:25 SP:F9 CYC:161 SL:227
FAF7 D0 BNE $FB1B PC:FAF8 A:05 X:FF Y:0D P:27 SP:F9 CYC:167 SL:227
FAF9 60 RTS PC:FAFA A:05 X:FF Y:0D P:27 SP:F9 CYC:173 SL:227
F6C1 A5 LDA $47 PC:F6C2 A:05 X:FF Y:0D P:27 SP:FB CYC:191 SL:227
F6C3 C9 CMP #$52 PC:F6C4 A:52 X:FF Y:0D P:25 SP:FB CYC:200 SL:227
F6C5 F0 BEQ $F6C9 PC:F6C6 A:52 X:FF Y:0D P:27 SP:FB CYC:206 SL:227
F6C9 C8 INY PC:F6CA A:52 X:FF Y:0D P:27 SP:FB CYC:215 SL:227
F6CA A9 LDA #$29 PC:F6CB A:52 X:FF Y:0E P:25 SP:FB CYC:221 SL:227
F6CC 85 STA $47 PC:F6CD A:29 X:FF Y:0E P:25 SP:FB CYC:227 SL:227
F6CE 20 JSR $FAFA PC:F6CF A:29 X:FF Y:0E P:25 SP:FB CYC:236 SL:227
FAFA B8 CLV PC:FAFB A:29 X:FF Y:0E P:25 SP:F9 CYC:254 SL:227
FAFB 18 CLC PC:FAFC A:29 X:FF Y:0E P:25 SP:F9 CYC:260 SL:227
FAFC A9 LDA #$42 PC:FAFD A:29 X:FF Y:0E P:24 SP:F9 CYC:266 SL:227
FAFE 60 RTS PC:FAFF A:42 X:FF Y:0E P:24 SP:F9 CYC:272 SL:227
F6D1 77 RRA $48,x PC:F6D2 A:42 X:FF Y:0E P:24 SP:FB CYC:290 SL:227
F6D3 EA NOP PC:F6D4 A:57 X:FF Y:0E P:24 SP:FB CYC:308 SL:227
F6D4 EA NOP PC:F6D5 A:57 X:FF Y:0E P:24 SP:FB CYC:314 SL:227
F6D5 EA NOP PC:F6D6 A:57 X:FF Y:0E P:24 SP:FB CYC:320 SL:227
F6D6 EA NOP PC:F6D7 A:57 X:FF Y:0E P:24 SP:FB CYC:326 SL:227
F6D7 20 JSR $FAFF PC:F6D8 A:57 X:FF Y:0E P:24 SP:FB CYC:332 SL:227
FAFF 70 BVS $FB1B PC:FB00 A:57 X:FF Y:0E P:24 SP:F9 CYC:9 SL:228
FB01 30 BMI $FB1B PC:FB02 A:57 X:FF Y:0E P:24 SP:F9 CYC:15 SL:228
FB03 B0 BCS $FB1B PC:FB04 A:57 X:FF Y:0E P:24 SP:F9 CYC:21 SL:228
FB05 C9 CMP #$57 PC:FB06 A:57 X:FF Y:0E P:24 SP:F9 CYC:27 SL:228
FB07 D0 BNE $FB1B PC:FB08 A:57 X:FF Y:0E P:27 SP:F9 CYC:33 SL:228
FB09 60 RTS PC:FB0A A:57 X:FF Y:0E P:27 SP:F9 CYC:39 SL:228
F6DA A5 LDA $47 PC:F6DB A:57 X:FF Y:0E P:27 SP:FB CYC:57 SL:228
F6DC C9 CMP #$14 PC:F6DD A:14 X:FF Y:0E P:25 SP:FB CYC:66 SL:228
F6DE F0 BEQ $F6E2 PC:F6DF A:14 X:FF Y:0E P:27 SP:FB CYC:72 SL:228
F6E2 C8 INY PC:F6E3 A:14 X:FF Y:0E P:27 SP:FB CYC:81 SL:228
F6E3 A9 LDA #$37 PC:F6E4 A:14 X:FF Y:0F P:25 SP:FB CYC:87 SL:228
F6E5 85 STA $47 PC:F6E6 A:37 X:FF Y:0F P:25 SP:FB CYC:93 SL:228
F6E7 20 JSR $FB0A PC:F6E8 A:37 X:FF Y:0F P:25 SP:FB CYC:102 SL:228
FB0A 24 BIT $01 PC:FB0B A:37 X:FF Y:0F P:25 SP:F9 CYC:120 SL:228
FB0C 38 SEC PC:FB0D A:37 X:FF Y:0F P:E5 SP:F9 CYC:129 SL:228
FB0D A9 LDA #$75 PC:FB0E A:37 X:FF Y:0F P:E5 SP:F9 CYC:135 SL:228
FB0F 60 RTS PC:FB10 A:75 X:FF Y:0F P:65 SP:F9 CYC:141 SL:228
F6EA 77 RRA $48,x PC:F6EB A:75 X:FF Y:0F P:65 SP:FB CYC:159 SL:228
F6EC EA NOP PC:F6ED A:11 X:FF Y:0F P:25 SP:FB CYC:177 SL:228
F6ED EA NOP PC:F6EE A:11 X:FF Y:0F P:25 SP:FB CYC:183 SL:228
F6EE EA NOP PC:F6EF A:11 X:FF Y:0F P:25 SP:FB CYC:189 SL:228
F6EF EA NOP PC:F6F0 A:11 X:FF Y:0F P:25 SP:FB CYC:195 SL:228
F6F0 20 JSR $FB10 PC:F6F1 A:11 X:FF Y:0F P:25 SP:FB CYC:201 SL:228
FB10 70 BVS $FB1B PC:FB11 A:11 X:FF Y:0F P:25 SP:F9 CYC:219 SL:228
FB12 30 BMI $FB1B PC:FB13 A:11 X:FF Y:0F P:25 SP:F9 CYC:225 SL:228
FB14 90 BCC $FB1B PC:FB15 A:11 X:FF Y:0F P:25 SP:F9 CYC:231 SL:228
FB16 C9 CMP #$11 PC:FB17 A:11 X:FF Y:0F P:25 SP:F9 CYC:237 SL:228
FB18 D0 BNE $FB1B PC:FB19 A:11 X:FF Y:0F P:27 SP:F9 CYC:243 SL:228
FB1A 60 RTS PC:FB1B A:11 X:FF Y:0F P:27 SP:F9 CYC:249 SL:228
F6F3 A5 LDA $47 PC:F6F4 A:11 X:FF Y:0F P:27 SP:FB CYC:267 SL:228
F6F5 C9 CMP #$9B PC:F6F6 A:9B X:FF Y:0F P:A5 SP:FB CYC:276 SL:228
F6F7 F0 BEQ $F6FB PC:F6F8 A:9B X:FF Y:0F P:27 SP:FB CYC:282 SL:228
F6FB A9 LDA #$A5 PC:F6FC A:9B X:FF Y:0F P:27 SP:FB CYC:291 SL:228
F6FD 8D STA $0647 PC:F6FE A:A5 X:FF Y:0F P:A5 SP:FB CYC:297 SL:228
F700 A0 LDY #$FF PC:F701 A:A5 X:FF Y:0F P:A5 SP:FB CYC:309 SL:228
F702 20 JSR $FAE9 PC:F703 A:A5 X:FF Y:FF P:A5 SP:FB CYC:315 SL:228
FAE9 24 BIT $01 PC:FAEA A:A5 X:FF Y:FF P:A5 SP:F9 CYC:333 SL:228
FAEB 18 CLC PC:FAEC A:A5 X:FF Y:FF P:E5 SP:F9 CYC:1 SL:229
FAEC A9 LDA #$B2 PC:FAED A:A5 X:FF Y:FF P:E4 SP:F9 CYC:7 SL:229
FAEE 60 RTS PC:FAEF A:B2 X:FF Y:FF P:E4 SP:F9 CYC:13 SL:229
F705 7B RRA $0548,y PC:F706 A:B2 X:FF Y:FF P:E4 SP:FB CYC:31 SL:229
F708 EA NOP PC:F709 A:05 X:FF Y:FF P:25 SP:FB CYC:52 SL:229
F709 EA NOP PC:F70A A:05 X:FF Y:FF P:25 SP:FB CYC:58 SL:229
F70A 08 PHP PC:F70B A:05 X:FF Y:FF P:25 SP:FB CYC:64 SL:229
F70B 48 PHA PC:F70C A:05 X:FF Y:FF P:25 SP:FA CYC:73 SL:229
F70C A0 LDY #$10 PC:F70D A:05 X:FF Y:FF P:25 SP:F9 CYC:82 SL:229
F70E 68 PLA PC:F70F A:05 X:FF Y:10 P:25 SP:F9 CYC:88 SL:229
F70F 28 PLP PC:F710 A:05 X:FF Y:10 P:25 SP:FA CYC:100 SL:229
F710 20 JSR $FAEF PC:F711 A:05 X:FF Y:10 P:25 SP:FB CYC:112 SL:229
FAEF 70 BVS $FB1B PC:FAF0 A:05 X:FF Y:10 P:25 SP:F9 CYC:130 SL:229
FAF1 90 BCC $FB1B PC:FAF2 A:05 X:FF Y:10 P:25 SP:F9 CYC:136 SL:229
FAF3 30 BMI $FB1B PC:FAF4 A:05 X:FF Y:10 P:25 SP:F9 CYC:142 SL:229
FAF5 C9 CMP #$05 PC:FAF6 A:05 X:FF Y:10 P:25 SP:F9 CYC:148 SL:229
FAF7 D0 BNE $FB1B PC:FAF8 A:05 X:FF Y:10 P:27 SP:F9 CYC:154 SL:229
FAF9 60 RTS PC:FAFA A:05 X:FF Y:10 P:27 SP:F9 CYC:160 SL:229
F713 AD LDA $0647 PC:F714 A:05 X:FF Y:10 P:27 SP:FB CYC:178 SL:229
F716 C9 CMP #$52 PC:F717 A:52 X:FF Y:10 P:25 SP:FB CYC:190 SL:229
F718 F0 BEQ $F71C PC:F719 A:52 X:FF Y:10 P:27 SP:FB CYC:196 SL:229
F71C A0 LDY #$FF PC:F71D A:52 X:FF Y:10 P:27 SP:FB CYC:205 SL:229
F71E A9 LDA #$29 PC:F71F A:52 X:FF Y:FF P:A5 SP:FB CYC:211 SL:229
F720 8D STA $0647 PC:F721 A:29 X:FF Y:FF P:25 SP:FB CYC:217 SL:229
F723 20 JSR $FAFA PC:F724 A:29 X:FF Y:FF P:25 SP:FB CYC:229 SL:229
FAFA B8 CLV PC:FAFB A:29 X:FF Y:FF P:25 SP:F9 CYC:247 SL:229
FAFB 18 CLC PC:FAFC A:29 X:FF Y:FF P:25 SP:F9 CYC:253 SL:229
FAFC A9 LDA #$42 PC:FAFD A:29 X:FF Y:FF P:24 SP:F9 CYC:259 SL:229
FAFE 60 RTS PC:FAFF A:42 X:FF Y:FF P:24 SP:F9 CYC:265 SL:229
F726 7B RRA $0548,y PC:F727 A:42 X:FF Y:FF P:24 SP:FB CYC:283 SL:229
F729 EA NOP PC:F72A A:57 X:FF Y:FF P:24 SP:FB CYC:304 SL:229
F72A EA NOP PC:F72B A:57 X:FF Y:FF P:24 SP:FB CYC:310 SL:229
F72B 08 PHP PC:F72C A:57 X:FF Y:FF P:24 SP:FB CYC:316 SL:229
F72C 48 PHA PC:F72D A:57 X:FF Y:FF P:24 SP:FA CYC:325 SL:229
F72D A0 LDY #$11 PC:F72E A:57 X:FF Y:FF P:24 SP:F9 CYC:334 SL:229
F72F 68 PLA PC:F730 A:57 X:FF Y:11 P:24 SP:F9 CYC:340 SL:229
F730 28 PLP PC:F731 A:57 X:FF Y:11 P:24 SP:FA CYC:11 SL:230
F731 20 JSR $FAFF PC:F732 A:57 X:FF Y:11 P:24 SP:FB CYC:23 SL:230
FAFF 70 BVS $FB1B PC:FB00 A:57 X:FF Y:11 P:24 SP:F9 CYC:41 SL:230
FB01 30 BMI $FB1B PC:FB02 A:57 X:FF Y:11 P:24 SP:F9 CYC:47 SL:230
FB03 B0 BCS $FB1B PC:FB04 A:57 X:FF Y:11 P:24 SP:F9 CYC:53 SL:230
FB05 C9 CMP #$57 PC:FB06 A:57 X:FF Y:11 P:24 SP:F9 CYC:59 SL:230
FB07 D0 BNE $FB1B PC:FB08 A:57 X:FF Y:11 P:27 SP:F9 CYC:65 SL:230
FB09 60 RTS PC:FB0A A:57 X:FF Y:11 P:27 SP:F9 CYC:71 SL:230
F734 AD LDA $0647 PC:F735 A:57 X:FF Y:11 P:27 SP:FB CYC:89 SL:230
F737 C9 CMP #$14 PC:F738 A:14 X:FF Y:11 P:25 SP:FB CYC:101 SL:230
F739 F0 BEQ $F73D PC:F73A A:14 X:FF Y:11 P:27 SP:FB CYC:107 SL:230
F73D A0 LDY #$FF PC:F73E A:14 X:FF Y:11 P:27 SP:FB CYC:116 SL:230
F73F A9 LDA #$37 PC:F740 A:14 X:FF Y:FF P:A5 SP:FB CYC:122 SL:230
F741 8D STA $0647 PC:F742 A:37 X:FF Y:FF P:25 SP:FB CYC:128 SL:230
F744 20 JSR $FB0A PC:F745 A:37 X:FF Y:FF P:25 SP:FB CYC:140 SL:230
FB0A 24 BIT $01 PC:FB0B A:37 X:FF Y:FF P:25 SP:F9 CYC:158 SL:230
FB0C 38 SEC PC:FB0D A:37 X:FF Y:FF P:E5 SP:F9 CYC:167 SL:230
FB0D A9 LDA #$75 PC:FB0E A:37 X:FF Y:FF P:E5 SP:F9 CYC:173 SL:230
FB0F 60 RTS PC:FB10 A:75 X:FF Y:FF P:65 SP:F9 CYC:179 SL:230
F747 7B RRA $0548,y PC:F748 A:75 X:FF Y:FF P:65 SP:FB CYC:197 SL:230
F74A EA NOP PC:F74B A:11 X:FF Y:FF P:25 SP:FB CYC:218 SL:230
F74B EA NOP PC:F74C A:11 X:FF Y:FF P:25 SP:FB CYC:224 SL:230
F74C 08 PHP PC:F74D A:11 X:FF Y:FF P:25 SP:FB CYC:230 SL:230
F74D 48 PHA PC:F74E A:11 X:FF Y:FF P:25 SP:FA CYC:239 SL:230
F74E A0 LDY #$12 PC:F74F A:11 X:FF Y:FF P:25 SP:F9 CYC:248 SL:230
F750 68 PLA PC:F751 A:11 X:FF Y:12 P:25 SP:F9 CYC:254 SL:230
F751 28 PLP PC:F752 A:11 X:FF Y:12 P:25 SP:FA CYC:266 SL:230
F752 20 JSR $FB10 PC:F753 A:11 X:FF Y:12 P:25 SP:FB CYC:278 SL:230
FB10 70 BVS $FB1B PC:FB11 A:11 X:FF Y:12 P:25 SP:F9 CYC:296 SL:230
FB12 30 BMI $FB1B PC:FB13 A:11 X:FF Y:12 P:25 SP:F9 CYC:302 SL:230
FB14 90 BCC $FB1B PC:FB15 A:11 X:FF Y:12 P:25 SP:F9 CYC:308 SL:230
FB16 C9 CMP #$11 PC:FB17 A:11 X:FF Y:12 P:25 SP:F9 CYC:314 SL:230
FB18 D0 BNE $FB1B PC:FB19 A:11 X:FF Y:12 P:27 SP:F9 CYC:320 SL:230
FB1A 60 RTS PC:FB1B A:11 X:FF Y:12 P:27 SP:F9 CYC:326 SL:230
F755 AD LDA $0647 PC:F756 A:11 X:FF Y:12 P:27 SP:FB CYC:3 SL:231
F758 C9 CMP #$9B PC:F759 A:9B X:FF Y:12 P:A5 SP:FB CYC:15 SL:231
F75A F0 BEQ $F75E PC:F75B A:9B X:FF Y:12 P:27 SP:FB CYC:21 SL:231
F75E A0 LDY #$13 PC:F75F A:9B X:FF Y:12 P:27 SP:FB CYC:30 SL:231
F760 A2 LDX #$FF PC:F761 A:9B X:FF Y:13 P:25 SP:FB CYC:36 SL:231
F762 A9 LDA #$A5 PC:F763 A:9B X:FF Y:13 P:A5 SP:FB CYC:42 SL:231
F764 8D STA $0647 PC:F765 A:A5 X:FF Y:13 P:A5 SP:FB CYC:48 SL:231
F767 20 JSR $FAE9 PC:F768 A:A5 X:FF Y:13 P:A5 SP:FB CYC:60 SL:231
FAE9 24 BIT $01 PC:FAEA A:A5 X:FF Y:13 P:A5 SP:F9 CYC:78 SL:231
FAEB 18 CLC PC:FAEC A:A5 X:FF Y:13 P:E5 SP:F9 CYC:87 SL:231
FAEC A9 LDA #$B2 PC:FAED A:A5 X:FF Y:13 P:E4 SP:F9 CYC:93 SL:231
FAEE 60 RTS PC:FAEF A:B2 X:FF Y:13 P:E4 SP:F9 CYC:99 SL:231
F76A 7F RRA $0548,x PC:F76B A:B2 X:FF Y:13 P:E4 SP:FB CYC:117 SL:231
F76D EA NOP PC:F76E A:05 X:FF Y:13 P:25 SP:FB CYC:138 SL:231
F76E EA NOP PC:F76F A:05 X:FF Y:13 P:25 SP:FB CYC:144 SL:231
F76F EA NOP PC:F770 A:05 X:FF Y:13 P:25 SP:FB CYC:150 SL:231
F770 EA NOP PC:F771 A:05 X:FF Y:13 P:25 SP:FB CYC:156 SL:231
F771 20 JSR $FAEF PC:F772 A:05 X:FF Y:13 P:25 SP:FB CYC:162 SL:231
FAEF 70 BVS $FB1B PC:FAF0 A:05 X:FF Y:13 P:25 SP:F9 CYC:180 SL:231
FAF1 90 BCC $FB1B PC:FAF2 A:05 X:FF Y:13 P:25 SP:F9 CYC:186 SL:231
FAF3 30 BMI $FB1B PC:FAF4 A:05 X:FF Y:13 P:25 SP:F9 CYC:192 SL:231
FAF5 C9 CMP #$05 PC:FAF6 A:05 X:FF Y:13 P:25 SP:F9 CYC:198 SL:231
FAF7 D0 BNE $FB1B PC:FAF8 A:05 X:FF Y:13 P:27 SP:F9 CYC:204 SL:231
FAF9 60 RTS PC:FAFA A:05 X:FF Y:13 P:27 SP:F9 CYC:210 SL:231
F774 AD LDA $0647 PC:F775 A:05 X:FF Y:13 P:27 SP:FB CYC:228 SL:231
F777 C9 CMP #$52 PC:F778 A:52 X:FF Y:13 P:25 SP:FB CYC:240 SL:231
F779 F0 BEQ $F77D PC:F77A A:52 X:FF Y:13 P:27 SP:FB CYC:246 SL:231
F77D C8 INY PC:F77E A:52 X:FF Y:13 P:27 SP:FB CYC:255 SL:231
F77E A9 LDA #$29 PC:F77F A:52 X:FF Y:14 P:25 SP:FB CYC:261 SL:231
F780 8D STA $0647 PC:F781 A:29 X:FF Y:14 P:25 SP:FB CYC:267 SL:231
F783 20 JSR $FAFA PC:F784 A:29 X:FF Y:14 P:25 SP:FB CYC:279 SL:231
FAFA B8 CLV PC:FAFB A:29 X:FF Y:14 P:25 SP:F9 CYC:297 SL:231
FAFB 18 CLC PC:FAFC A:29 X:FF Y:14 P:25 SP:F9 CYC:303 SL:231
FAFC A9 LDA #$42 PC:FAFD A:29 X:FF Y:14 P:24 SP:F9 CYC:309 SL:231
FAFE 60 RTS PC:FAFF A:42 X:FF Y:14 P:24 SP:F9 CYC:315 SL:231
F786 7F RRA $0548,x PC:F787 A:42 X:FF Y:14 P:24 SP:FB CYC:333 SL:231
F789 EA NOP PC:F78A A:57 X:FF Y:14 P:24 SP:FB CYC:13 SL:232
F78A EA NOP PC:F78B A:57 X:FF Y:14 P:24 SP:FB CYC:19 SL:232
F78B EA NOP PC:F78C A:57 X:FF Y:14 P:24 SP:FB CYC:25 SL:232
F78C EA NOP PC:F78D A:57 X:FF Y:14 P:24 SP:FB CYC:31 SL:232
F78D 20 JSR $FAFF PC:F78E A:57 X:FF Y:14 P:24 SP:FB CYC:37 SL:232
FAFF 70 BVS $FB1B PC:FB00 A:57 X:FF Y:14 P:24 SP:F9 CYC:55 SL:232
FB01 30 BMI $FB1B PC:FB02 A:57 X:FF Y:14 P:24 SP:F9 CYC:61 SL:232
FB03 B0 BCS $FB1B PC:FB04 A:57 X:FF Y:14 P:24 SP:F9 CYC:67 SL:232
FB05 C9 CMP #$57 PC:FB06 A:57 X:FF Y:14 P:24 SP:F9 CYC:73 SL:232
FB07 D0 BNE $FB1B PC:FB08 A:57 X:FF Y:14 P:27 SP:F9 CYC:79 SL:232
FB09 60 RTS PC:FB0A A:57 X:FF Y:14 P:27 SP:F9 CYC:85 SL:232
F790 AD LDA $0647 PC:F791 A:57 X:FF Y:14 P:27 SP:FB CYC:103 SL:232
F793 C9 CMP #$14 PC:F794 A:14 X:FF Y:14 P:25 SP:FB CYC:115 SL:232
F795 F0 BEQ $F799 PC:F796 A:14 X:FF Y:14 P:27 SP:FB CYC:121 SL:232
F799 C8 INY PC:F79A A:14 X:FF Y:14 P:27 SP:FB CYC:130 SL:232
F79A A9 LDA #$37 PC:F79B A:14 X:FF Y:15 P:25 SP:FB CYC:136 SL:232
F79C 8D STA $0647 PC:F79D A:37 X:FF Y:15 P:25 SP:FB CYC:142 SL:232
F79F 20 JSR $FB0A PC:F7A0 A:37 X:FF Y:15 P:25 SP:FB CYC:154 SL:232
FB0A 24 BIT $01 PC:FB0B A:37 X:FF Y:15 P:25 SP:F9 CYC:172 SL:232
FB0C 38 SEC PC:FB0D A:37 X:FF Y:15 P:E5 SP:F9 CYC:181 SL:232
FB0D A9 LDA #$75 PC:FB0E A:37 X:FF Y:15 P:E5 SP:F9 CYC:187 SL:232
FB0F 60 RTS PC:FB10 A:75 X:FF Y:15 P:65 SP:F9 CYC:193 SL:232
F7A2 7F RRA $0548,x PC:F7A3 A:75 X:FF Y:15 P:65 SP:FB CYC:211 SL:232
F7A5 EA NOP PC:F7A6 A:11 X:FF Y:15 P:25 SP:FB CYC:232 SL:232
F7A6 EA NOP PC:F7A7 A:11 X:FF Y:15 P:25 SP:FB CYC:238 SL:232
F7A7 EA NOP PC:F7A8 A:11 X:FF Y:15 P:25 SP:FB CYC:244 SL:232
F7A8 EA NOP PC:F7A9 A:11 X:FF Y:15 P:25 SP:FB CYC:250 SL:232
F7A9 20 JSR $FB10 PC:F7AA A:11 X:FF Y:15 P:25 SP:FB CYC:256 SL:232
FB10 70 BVS $FB1B PC:FB11 A:11 X:FF Y:15 P:25 SP:F9 CYC:274 SL:232
FB12 30 BMI $FB1B PC:FB13 A:11 X:FF Y:15 P:25 SP:F9 CYC:280 SL:232
FB14 90 BCC $FB1B PC:FB15 A:11 X:FF Y:15 P:25 SP:F9 CYC:286 SL:232
FB16 C9 CMP #$11 PC:FB17 A:11 X:FF Y:15 P:25 SP:F9 CYC:292 SL:232
FB18 D0 BNE $FB1B PC:FB19 A:11 X:FF Y:15 P:27 SP:F9 CYC:298 SL:232
FB1A 60 RTS PC:FB1B A:11 X:FF Y:15 P:27 SP:F9 CYC:304 SL:232
F7AC AD LDA $0647 PC:F7AD A:11 X:FF Y:15 P:27 SP:FB CYC:322 SL:232
F7AF C9 CMP #$9B PC:F7B0 A:9B X:FF Y:15 P:A5 SP:FB CYC:334 SL:232
F7B1 F0 BEQ $F7B5 PC:F7B2 A:9B X:FF Y:15 P:27 SP:FB CYC:340 SL:232
F7B5 60 RTS PC:F7B6 A:9B X:FF Y:15 P:27 SP:FB CYC:8 SL:233
C655 A5 LDA $00 PC:C656 A:9B X:FF Y:15 P:27 SP:FD CYC:26 SL:233
C657 05 ORA $10 PC:C658 A:00 X:FF Y:15 P:27 SP:FD CYC:35 SL:233
C659 05 ORA $11 PC:C65A A:00 X:FF Y:15 P:27 SP:FD CYC:44 SL:233
C65B F0 BEQ $C66B PC:C65C A:00 X:FF Y:15 P:27 SP:FD CYC:53 SL:233
C66B 20 JSR $C689 PC:C66C A:00 X:FF Y:15 P:27 SP:FD CYC:62 SL:233
C689 A9 LDA #$02 PC:C68A A:00 X:FF Y:15 P:27 SP:FB CYC:80 SL:233
C68B 8D STA $4015 PC:C68C A:02 X:FF Y:15 P:25 SP:FB CYC:86 SL:233
C68E A9 LDA #$3F PC:C68F A:02 X:FF Y:15 P:25 SP:FB CYC:98 SL:233
C690 8D STA $4004 PC:C691 A:3F X:FF Y:15 P:25 SP:FB CYC:104 SL:233
C693 A9 LDA #$9A PC:C694 A:3F X:FF Y:15 P:25 SP:FB CYC:116 SL:233
C695 8D STA $4005 PC:C696 A:9A X:FF Y:15 P:A5 SP:FB CYC:122 SL:233
C698 A9 LDA #$FF PC:C699 A:9A X:FF Y:15 P:A5 SP:FB CYC:134 SL:233
C69A 8D STA $4006 PC:C69B A:FF X:FF Y:15 P:A5 SP:FB CYC:140 SL:233
C69D A9 LDA #$00 PC:C69E A:FF X:FF Y:15 P:A5 SP:FB CYC:152 SL:233
C69F 8D STA $4007 PC:C6A0 A:00 X:FF Y:15 P:27 SP:FB CYC:158 SL:233
C6A2 60 RTS PC:C6A3 A:00 X:FF Y:15 P:27 SP:FB CYC:170 SL:233
C66E 60 RTS PC:C66F A:00 X:FF Y:15 P:27 SP:FD CYC:188 SL:233
00 00 BRK PC:01 A:00 X:FF Y:15 P:27 SP:FF CYC:206 SL:233
**BREAK**C5F4 40 RTI PC:C5F5 A:00 X:FF Y:15 P:27 SP:FC CYC:227 SL:233
02 FF ISC $FFFF,x PC:03 A:00 X:FF Y:15 P:27 SP:FF CYC:245 SL:233
05 99 STA $FFFF,y PC:06 A:00 X:FF Y:15 P:27 SP:FF CYC:266 SL:233
08 F7 ISC $EF,x PC:09 A:00 X:FF Y:15 P:27 SP:FF CYC:281 SL:233
0A DF DCP $FFFF,x PC:0B A:00 X:FF Y:15 P:27 SP:FF CYC:299 SL:233
0D FF ISC $BFFF,x PC:0E A:00 X:FF Y:15 P:24 SP:FF CYC:320 SL:233
10 00 BRK PC:11 A:3E X:FF Y:15 P:24 SP:FF CYC:0 SL:234
**BREAK**C5F4 40 RTI PC:C5F5 A:3E X:FF Y:15 P:24 SP:FC CYC:21 SL:234
12 FF ISC $00FF,x PC:13 A:3E X:FF Y:15 P:24 SP:FF CYC:39 SL:234
15 FF ISC $FFFF,x PC:16 A:2A X:FF Y:15 P:25 SP:FF CYC:60 SL:234
18 FF ISC $FFFF,x PC:19 A:2A X:FF Y:15 P:25 SP:FF CYC:81 SL:234
1B FF ISC $FFFF,x PC:1C A:29 X:FF Y:15 P:25 SP:FF CYC:102 SL:234
1E FF ISC $FFFF,x PC:1F A:27 X:FF Y:15 P:25 SP:FF CYC:123 SL:234
21 FF ISC $FFFF,x PC:22 A:24 X:FF Y:15 P:25 SP:FF CYC:144 SL:234
24 FF ISC $FFFF,x PC:25 A:20 X:FF Y:15 P:25 SP:FF CYC:165 SL:234
27 FF ISC $FFFF,x PC:28 A:1B X:FF Y:15 P:25 SP:FF CYC:186 SL:234
2A FF ISC $FFFF,x PC:2B A:15 X:FF Y:15 P:25 SP:FF CYC:207 SL:234
2D FF ISC $FFFF,x PC:2E A:0E X:FF Y:15 P:25 SP:FF CYC:228 SL:234
30 FF ISC $FFFF,x PC:31 A:06 X:FF Y:15 P:25 SP:FF CYC:249 SL:234
33 44 NOP $04 PC:34 A:FD X:FF Y:15 P:A4 SP:FF CYC:270 SL:234
35 FF ISC $FFFF,x PC:36 A:FD X:FF Y:15 P:A4 SP:FF CYC:279 SL:234
38 FF ISC $FFFF,x PC:39 A:F2 X:FF Y:15 P:A5 SP:FF CYC:300 SL:234
3B FF ISC $FFFF,x PC:3C A:E7 X:FF Y:15 P:A5 SP:FF CYC:321 SL:234
3E FF ISC $FFFF,x PC:3F A:DB X:FF Y:15 P:A5 SP:FF CYC:1 SL:235
41 FF ISC $FFFF,x PC:42 A:CE X:FF Y:15 P:A5 SP:FF CYC:22 SL:235
44 04 NOP $48 PC:45 A:C0 X:FF Y:15 P:A5 SP:FF CYC:43 SL:235
46 05 ORA $9B PC:47 A:C0 X:FF Y:15 P:A5 SP:FF CYC:52 SL:235
48 06 ASL $00 PC:49 A:FF X:FF Y:15 P:A5 SP:FF CYC:61 SL:235
4A FF ISC $FFFF,x PC:4B A:FF X:FF Y:15 P:26 SP:FF CYC:76 SL:235
4D FF ISC $00FF,x PC:4E A:EF X:FF Y:15 P:A5 SP:FF CYC:97 SL:235
50 FF ISC $FFFF,x PC:51 A:DB X:FF Y:15 P:A5 SP:FF CYC:118 SL:235
53 FF ISC $00FF,x PC:54 A:CB X:FF Y:15 P:A5 SP:FF CYC:139 SL:235
56 66 ROR $FF PC:57 A:B6 X:FF Y:15 P:A5 SP:FF CYC:160 SL:235
58 FF ISC $FFFF,x PC:59 A:B6 X:FF Y:15 P:A4 SP:FF CYC:175 SL:235
5B FF ISC $FFFF,x PC:5C A:A4 X:FF Y:15 P:A5 SP:FF CYC:196 SL:235
5E FF ISC $89FF,x PC:5F A:92 X:FF Y:15 P:A5 SP:FF CYC:217 SL:235
61 04 NOP $FF PC:62 A:C2 X:FF Y:15 P:A4 SP:FF CYC:238 SL:235
63 FF ISC $FFFF,x PC:64 A:C2 X:FF Y:15 P:A4 SP:FF CYC:247 SL:235
66 FF ISC $3287,x PC:67 A:AE X:FF Y:15 P:A5 SP:FF CYC:268 SL:235
69 FF ISC $FFFF,x PC:6A A:AD X:FF Y:15 P:A5 SP:FF CYC:289 SL:235
6C FF ISC $FFFF,x PC:6D A:99 X:FF Y:15 P:A5 SP:FF CYC:310 SL:235
6F FF ISC $FFFF,x PC:70 A:84 X:FF Y:15 P:A5 SP:FF CYC:331 SL:235
72 FF ISC $FFFF,x PC:73 A:6E X:FF Y:15 P:65 SP:FF CYC:11 SL:236
75 FF ISC $FFFF,x PC:76 A:57 X:FF Y:15 P:25 SP:FF CYC:32 SL:236
78 33 RLA ($FF), y PC:79 A:3F X:FF Y:15 P:25 SP:FF CYC:53 SL:236
7A FF ISC $FFFF,x PC:7B A:3F X:FF Y:15 P:25 SP:FF CYC:77 SL:236
7D FF ISC $69FF,x PC:7E A:26 X:FF Y:15 P:25 SP:FF CYC:98 SL:236
80 00 BRK PC:81 A:25 X:FF Y:15 P:25 SP:FF CYC:119 SL:236
**BREAK**C5F4 40 RTI PC:C5F5 A:25 X:FF Y:15 P:25 SP:FC CYC:140 SL:236
82 00 BRK PC:83 A:25 X:FF Y:15 P:25 SP:FF CYC:158 SL:236
**BREAK**C5F4 40 RTI PC:C5F5 A:25 X:FF Y:15 P:25 SP:FC CYC:179 SL:236
84 03 SLO $(FFFF,x) PC:85 A:25 X:FF Y:15 P:25 SP:FF CYC:197 SL:236
86 FF ISC $FFFF,x PC:87 A:7D X:FF Y:15 P:24 SP:FF CYC:221 SL:236
89 BB LAS $FF03,y PC:8A A:62 X:FF Y:15 P:25 SP:FF CYC:242 SL:236
8C FF ISC $FFFF,x PC:8D A:06 X:06 Y:15 P:25 SP:06 CYC:254 SL:236
8F FF ISC $FFFF,x PC:90 A:6C X:06 Y:15 P:24 SP:06 CYC:275 SL:236
92 FF ISC $FFFF,x PC:93 A:D0 X:06 Y:15 P:E4 SP:06 CYC:296 SL:236
95 FF ISC $FFFF,x PC:96 A:33 X:06 Y:15 P:25 SP:06 CYC:317 SL:236
98 FF ISC $FFFF,x PC:99 A:96 X:06 Y:15 P:E4 SP:06 CYC:338 SL:236
9B FF ISC $FFFF,x PC:9C A:F7 X:06 Y:15 P:A4 SP:06 CYC:18 SL:237
9E FF ISC $FFFF,x PC:9F A:57 X:06 Y:15 P:25 SP:06 CYC:39 SL:237
A1 FF ISC $FFFF,x PC:A2 A:B7 X:06 Y:15 P:E4 SP:06 CYC:60 SL:237
A4 FF ISC $FFFF,x PC:A5 A:15 X:06 Y:15 P:25 SP:06 CYC:81 SL:237
A7 FF ISC $FFFF,x PC:A8 A:73 X:06 Y:15 P:24 SP:06 CYC:102 SL:237
AA FF ISC $FFFF,x PC:AB A:CF X:06 Y:15 P:E4 SP:06 CYC:123 SL:237
AD FF ISC $FFFF,x PC:AE A:2A X:06 Y:15 P:25 SP:06 CYC:144 SL:237
B0 FF ISC $FFFF,x PC:B1 A:85 X:06 Y:15 P:E4 SP:06 CYC:165 SL:237
B3 FF ISC $FFFF,x PC:B4 A:DE X:06 Y:15 P:A4 SP:06 CYC:186 SL:237
B6 FF ISC $FFFF,x PC:B7 A:36 X:06 Y:15 P:25 SP:06 CYC:207 SL:237
B9 FF ISC $FFFF,x PC:BA A:8E X:06 Y:15 P:E4 SP:06 CYC:228 SL:237
BC FF ISC $FFFF,x PC:BD A:E4 X:06 Y:15 P:A4 SP:06 CYC:249 SL:237
BF FF ISC $FFFF,x PC:C0 A:39 X:06 Y:15 P:25 SP:06 CYC:270 SL:237
C2 FF ISC $FFFF,x PC:C3 A:8E X:06 Y:15 P:E4 SP:06 CYC:291 SL:237
C5 FF ISC $FFFF,x PC:C6 A:E1 X:06 Y:15 P:A4 SP:06 CYC:312 SL:237
C8 FF ISC $FFFF,x PC:C9 A:33 X:06 Y:15 P:25 SP:06 CYC:333 SL:237
CB FF ISC $FFFF,x PC:CC A:85 X:06 Y:15 P:E4 SP:06 CYC:13 SL:238
CE FF ISC $FFFF,x PC:CF A:D5 X:06 Y:15 P:A4 SP:06 CYC:34 SL:238
D1 FF ISC $FFFF,x PC:D2 A:24 X:06 Y:15 P:25 SP:06 CYC:55 SL:238
D4 FF ISC $FFFF,x PC:D5 A:73 X:06 Y:15 P:24 SP:06 CYC:76 SL:238
D7 FF ISC $FFFF,x PC:D8 A:C0 X:06 Y:15 P:E4 SP:06 CYC:97 SL:238
DA FF ISC $FFFF,x PC:DB A:0C X:06 Y:15 P:25 SP:06 CYC:118 SL:238
DD FF ISC $FFFF,x PC:DE A:58 X:06 Y:15 P:24 SP:06 CYC:139 SL:238
E0 FF ISC $FFFF,x PC:E1 A:A2 X:06 Y:15 P:E4 SP:06 CYC:160 SL:238
E3 FF ISC $FFFF,x PC:E4 A:EB X:06 Y:15 P:A4 SP:06 CYC:181 SL:238
E6 FF ISC $FFFF,x PC:E7 A:33 X:06 Y:15 P:25 SP:06 CYC:202 SL:238
E9 FF ISC $FFFF,x PC:EA A:7B X:06 Y:15 P:24 SP:06 CYC:223 SL:238
EC FF ISC $00FF,x PC:ED A:C1 X:06 Y:15 P:E4 SP:06 CYC:244 SL:238
EF FF ISC $FFFF,x PC:F0 A:C0 X:06 Y:15 P:A5 SP:06 CYC:265 SL:238
F2 FF ISC $FFFF,x PC:F3 A:06 X:06 Y:15 P:25 SP:06 CYC:286 SL:238
F5 FF ISC $FFFF,x PC:F6 A:4B X:06 Y:15 P:24 SP:06 CYC:307 SL:238
F8 FF ISC $FFFF,x PC:F9 A:8E X:06 Y:15 P:E4 SP:06 CYC:328 SL:238
FB FF ISC $FFFF,x PC:FC A:D0 X:06 Y:15 P:A4 SP:06 CYC:8 SL:239
FE 1A NOP PC:FF A:11 X:06 Y:15 P:25 SP:06 CYC:29 SL:239
FF A3 LAX $(55A9,x) PC:0100 A:11 X:06 Y:15 P:25 SP:06 CYC:35 SL:239
0101 55 EOR $60,x PC:0102 A:C5 X:C5 Y:15 P:A5 SP:06 CYC:53 SL:239
0103 FF ISC $00FF,x PC:0104 A:3A X:C5 Y:15 P:25 SP:06 CYC:65 SL:239
0106 FF ISC $FFFF,x PC:0107 A:3A X:C5 Y:15 P:25 SP:06 CYC:86 SL:239
0109 FF ISC $FFFF,x PC:010A A:3A X:C5 Y:15 P:25 SP:06 CYC:107 SL:239
010C FF ISC $FFFF,x PC:010D A:39 X:C5 Y:15 P:25 SP:06 CYC:128 SL:239
010F FF ISC $FFFF,x PC:0110 A:37 X:C5 Y:15 P:25 SP:06 CYC:149 SL:239
0112 FF ISC $FFFF,x PC:0113 A:34 X:C5 Y:15 P:25 SP:06 CYC:170 SL:239
0115 FF ISC $FFFF,x PC:0116 A:30 X:C5 Y:15 P:25 SP:06 CYC:191 SL:239
0118 FF ISC $FFFF,x PC:0119 A:2B X:C5 Y:15 P:25 SP:06 CYC:212 SL:239
011B FF ISC $FFFF,x PC:011C A:25 X:C5 Y:15 P:25 SP:06 CYC:233 SL:239
011E FF ISC $FFFF,x PC:011F A:1E X:C5 Y:15 P:25 SP:06 CYC:254 SL:239
0121 FF ISC $FFFF,x PC:0122 A:16 X:C5 Y:15 P:25 SP:06 CYC:275 SL:239
0124 FF ISC $FFFF,x PC:0125 A:0D X:C5 Y:15 P:25 SP:06 CYC:296 SL:239
0127 FF ISC $FFFF,x PC:0128 A:03 X:C5 Y:15 P:25 SP:06 CYC:317 SL:239
012A FF ISC $FFFF,x PC:012B A:F8 X:C5 Y:15 P:A4 SP:06 CYC:338 SL:239
012D FF ISC $FFFF,x PC:012E A:EB X:C5 Y:15 P:A5 SP:06 CYC:18 SL:240
0130 FF ISC $FFFF,x PC:0131 A:DE X:C5 Y:15 P:A5 SP:06 CYC:39 SL:240
0133 FF ISC $FFFF,x PC:0134 A:D0 X:C5 Y:15 P:A5 SP:06 CYC:60 SL:240
0136 FF ISC $FFFF,x PC:0137 A:C1 X:C5 Y:15 P:A5 SP:06 CYC:81 SL:240
0139 FF ISC $FFFF,x PC:013A A:B1 X:C5 Y:15 P:A5 SP:06 CYC:102 SL:240
013C FF ISC $FFFF,x PC:013D A:A0 X:C5 Y:15 P:A5 SP:06 CYC:123 SL:240
013F FF ISC $FFFF,x PC:0140 A:8E X:C5 Y:15 P:A5 SP:06 CYC:144 SL:240
0142 FF ISC $FFFF,x PC:0143 A:7B X:C5 Y:15 P:65 SP:06 CYC:165 SL:240
0145 FF ISC $FFFF,x PC:0146 A:67 X:C5 Y:15 P:25 SP:06 CYC:186 SL:240
0148 FF ISC $FFFF,x PC:0149 A:52 X:C5 Y:15 P:25 SP:06 CYC:207 SL:240
014B FF ISC $FFFF,x PC:014C A:3C X:C5 Y:15 P:25 SP:06 CYC:228 SL:240
014E FF ISC $FFFF,x PC:014F A:25 X:C5 Y:15 P:25 SP:06 CYC:249 SL:240
0151 FF ISC $FFFF,x PC:0152 A:0D X:C5 Y:15 P:25 SP:06 CYC:270 SL:240
0154 FF ISC $FFFF,x PC:0155 A:F4 X:C5 Y:15 P:A4 SP:06 CYC:291 SL:240
0157 FF ISC $FFFF,x PC:0158 A:D9 X:C5 Y:15 P:A5 SP:06 CYC:312 SL:240
015A FF ISC $FFFF,x PC:015B A:BE X:C5 Y:15 P:A5 SP:06 CYC:333 SL:240
015D FF ISC $FFFF,x PC:015E A:A2 X:C5 Y:15 P:A5 SP:06 CYC:13 SL:241
0160 FF ISC $FFFF,x PC:0161 A:85 X:C5 Y:15 P:A5 SP:06 CYC:34 SL:241
0163 FF ISC $FFFF,x PC:0164 A:67 X:C5 Y:15 P:65 SP:06 CYC:55 SL:241
0166 FF ISC $FFFF,x PC:0167 A:48 X:C5 Y:15 P:25 SP:06 CYC:76 SL:241
0169 FF ISC $FFFF,x PC:016A A:28 X:C5 Y:15 P:25 SP:06 CYC:97 SL:241
016C FF ISC $FFFF,x PC:016D A:07 X:C5 Y:15 P:25 SP:06 CYC:118 SL:241
016F FF ISC $FFFF,x PC:0170 A:E5 X:C5 Y:15 P:A4 SP:06 CYC:139 SL:241
0172 FF ISC $FFFF,x PC:0173 A:C1 X:C5 Y:15 P:A5 SP:06 CYC:160 SL:241
0175 FF ISC $FFFF,x PC:0176 A:9D X:C5 Y:15 P:A5 SP:06 CYC:181 SL:241
0178 FF ISC $FFFF,x PC:0179 A:78 X:C5 Y:15 P:65 SP:06 CYC:202 SL:241
017B FF ISC $FFFF,x PC:017C A:52 X:C5 Y:15 P:25 SP:06 CYC:223 SL:241
017E 87 SAX $CE PC:017F A:2B X:C5 Y:15 P:25 SP:06 CYC:244 SL:241
0180 CE DEC $FFFF PC:0181 A:2B X:C5 Y:15 P:25 SP:06 CYC:253 SL:241
0183 FF ISC $FFFF,x PC:0184 A:2B X:C5 Y:15 P:A5 SP:06 CYC:271 SL:241
0186 FF ISC $FFFF,x PC:0187 A:03 X:C5 Y:15 P:25 SP:06 CYC:292 SL:241
0189 FF ISC $FFFF,x PC:018A A:DA X:C5 Y:15 P:A4 SP:06 CYC:313 SL:241
018C FF ISC $FFFF,x PC:018D A:AF X:C5 Y:15 P:A5 SP:06 CYC:334 SL:241
018F FF ISC $FFFF,x PC:0190 A:84 X:C5 Y:15 P:A5 SP:06 CYC:14 SL:242
0192 FF ISC $FFFF,x PC:0193 A:58 X:C5 Y:15 P:65 SP:06 CYC:35 SL:242
0195 FF ISC $FFFF,x PC:0196 A:2B X:C5 Y:15 P:25 SP:06 CYC:56 SL:242
0198 FF ISC $FFFF,x PC:0199 A:FD X:C5 Y:15 P:A4 SP:06 CYC:77 SL:242
019B FF ISC $FFFF,x PC:019C A:CD X:C5 Y:15 P:A5 SP:06 CYC:98 SL:242
019E FF ISC $FFFF,x PC:019F A:9D X:C5 Y:15 P:A5 SP:06 CYC:119 SL:242
01A1 FF ISC $FFFF,x PC:01A2 A:6C X:C5 Y:15 P:65 SP:06 CYC:140 SL:242
01A4 FF ISC $FFFF,x PC:01A5 A:3A X:C5 Y:15 P:25 SP:06 CYC:161 SL:242
01A7 FF ISC $FFFF,x PC:01A8 A:07 X:C5 Y:15 P:25 SP:06 CYC:182 SL:242
01AA FF ISC $FFFF,x PC:01AB A:D3 X:C5 Y:15 P:A4 SP:06 CYC:203 SL:242
01AD FF ISC $FFFF,x PC:01AE A:9D X:C5 Y:15 P:A5 SP:06 CYC:224 SL:242
01B0 FF ISC $FFFF,x PC:01B1 A:67 X:C5 Y:15 P:65 SP:06 CYC:245 SL:242
01B3 FF ISC $FFFF,x PC:01B4 A:30 X:C5 Y:15 P:25 SP:06 CYC:266 SL:242
01B6 FF ISC $FFFF,x PC:01B7 A:F8 X:C5 Y:15 P:A4 SP:06 CYC:287 SL:242
01B9 FF ISC $FFFF,x PC:01BA A:BE X:C5 Y:15 P:A5 SP:06 CYC:308 SL:242
01BC FF ISC $FFFF,x PC:01BD A:84 X:C5 Y:15 P:A5 SP:06 CYC:329 SL:242
01BF FF ISC $FFFF,x PC:01C0 A:49 X:C5 Y:15 P:65 SP:06 CYC:9 SL:243
01C2 FF ISC $00FF,x PC:01C3 A:0D X:C5 Y:15 P:25 SP:06 CYC:30 SL:243
01C5 FF ISC $FFFF,x PC:01C6 A:0C X:C5 Y:15 P:25 SP:06 CYC:51 SL:243
01C8 FF ISC $FFFF,x PC:01C9 A:CF X:C5 Y:15 P:A4 SP:06 CYC:72 SL:243
01CB FF ISC $FFFF,x PC:01CC A:90 X:C5 Y:15 P:A5 SP:06 CYC:93 SL:243
01CE FF ISC $FFFF,x PC:01CF A:51 X:C5 Y:15 P:65 SP:06 CYC:114 SL:243
01D1 FF ISC $FFFF,x PC:01D2 A:11 X:C5 Y:15 P:25 SP:06 CYC:135 SL:243
01D4 FF ISC $FFFF,x PC:01D5 A:D0 X:C5 Y:15 P:A4 SP:06 CYC:156 SL:243
01D7 FF ISC $FFFF,x PC:01D8 A:8D X:C5 Y:15 P:A5 SP:06 CYC:177 SL:243
01DA FF ISC $FFFF,x PC:01DB A:4A X:C5 Y:15 P:65 SP:06 CYC:198 SL:243
01DD FF ISC $FFFF,x PC:01DE A:06 X:C5 Y:15 P:25 SP:06 CYC:219 SL:243
01E0 FF ISC $FFFF,x PC:01E1 A:C1 X:C5 Y:15 P:A4 SP:06 CYC:240 SL:243
01E3 FF ISC $FFFF,x PC:01E4 A:7A X:C5 Y:15 P:65 SP:06 CYC:261 SL:243
01E6 FF ISC $FFFF,x PC:01E7 A:33 X:C5 Y:15 P:25 SP:06 CYC:282 SL:243
01E9 FF ISC $FFFF,x PC:01EA A:EB X:C5 Y:15 P:A4 SP:06 CYC:303 SL:243
01EC FF ISC $FFFF,x PC:01ED A:A1 X:C5 Y:15 P:A5 SP:06 CYC:324 SL:243
01EF FF ISC $3455,x PC:01F0 A:57 X:C5 Y:15 P:65 SP:06 CYC:4 SL:244
01F2 55 EOR $34,x PC:01F3 A:55 X:C5 Y:15 P:25 SP:06 CYC:25 SL:244
01F4 55 EOR $34,x PC:01F5 A:AA X:C5 Y:15 P:A5 SP:06 CYC:37 SL:244
01F6 55 EOR $34,x PC:01F7 A:55 X:C5 Y:15 P:25 SP:06 CYC:49 SL:244
01F8 55 EOR $34,x PC:01F9 A:AA X:C5 Y:15 P:A5 SP:06 CYC:61 SL:244
01FA AB LAX #$F7 PC:01FB A:55 X:C5 Y:15 P:25 SP:06 CYC:73 SL:244
01FC 6D ADC $8435 PC:01FD A:F7 X:F7 Y:15 P:A5 SP:06 CYC:79 SL:244
01FF 00 BRK PC:0200 A:39 X:F7 Y:15 P:25 SP:06 CYC:91 SL:244
**BREAK**C5F4 40 RTI PC:C5F5 A:39 X:F7 Y:15 P:25 SP:03 CYC:112 SL:244
0201 DB DCP $FFFF,y PC:0202 A:39 X:F7 Y:15 P:25 SP:06 CYC:130 SL:244
0204 FF ISC $FFFF,x PC:0205 A:39 X:F7 Y:15 P:24 SP:06 CYC:151 SL:244
0207 FF ISC $FFFF,x PC:0208 A:38 X:F7 Y:15 P:25 SP:06 CYC:172 SL:244
020A FF ISC $FFFF,x PC:020B A:37 X:F7 Y:15 P:25 SP:06 CYC:193 SL:244
020D FF ISC $FFFF,x PC:020E A:35 X:F7 Y:15 P:25 SP:06 CYC:214 SL:244
0210 FF ISC $FFFF,x PC:0211 A:32 X:F7 Y:15 P:25 SP:06 CYC:235 SL:244
0213 FF ISC $FFFF,x PC:0214 A:2E X:F7 Y:15 P:25 SP:06 CYC:256 SL:244
0216 FF ISC $FFFF,x PC:0217 A:29 X:F7 Y:15 P:25 SP:06 CYC:277 SL:244
0219 FF ISC $FFFF,x PC:021A A:23 X:F7 Y:15 P:25 SP:06 CYC:298 SL:244
021C FF ISC $FFFF,x PC:021D A:1C X:F7 Y:15 P:25 SP:06 CYC:319 SL:244
021F FF ISC $FFFF,x PC:0220 A:14 X:F7 Y:15 P:25 SP:06 CYC:340 SL:244
0222 FF ISC $FFFF,x PC:0223 A:0B X:F7 Y:15 P:25 SP:06 CYC:20 SL:245
0225 FF ISC $FFFF,x PC:0226 A:01 X:F7 Y:15 P:25 SP:06 CYC:41 SL:245
0228 FF ISC $FFFF,x PC:0229 A:F6 X:F7 Y:15 P:A4 SP:06 CYC:62 SL:245
022B FF ISC $FFFF,x PC:022C A:E9 X:F7 Y:15 P:A5 SP:06 CYC:83 SL:245
022E FF ISC $FFFF,x PC:022F A:DC X:F7 Y:15 P:A5 SP:06 CYC:104 SL:245
0231 FF ISC $FFFF,x PC:0232 A:CE X:F7 Y:15 P:A5 SP:06 CYC:125 SL:245
0234 FF ISC $FFFF,x PC:0235 A:BF X:F7 Y:15 P:A5 SP:06 CYC:146 SL:245
0237 FF ISC $FFFF,x PC:0238 A:AF X:F7 Y:15 P:A5 SP:06 CYC:167 SL:245
023A FF ISC $FFFF,x PC:023B A:9E X:F7 Y:15 P:A5 SP:06 CYC:188 SL:245
023D FF ISC $FFFF,x PC:023E A:8C X:F7 Y:15 P:A5 SP:06 CYC:209 SL:245
0240 FF ISC $FFFF,x PC:0241 A:79 X:F7 Y:15 P:65 SP:06 CYC:230 SL:245
0243 FF ISC $12FF,x PC:0244 A:65 X:F7 Y:15 P:25 SP:06 CYC:251 SL:245
0246 FF ISC $FFFF,x PC:0247 A:65 X:F7 Y:15 P:25 SP:06 CYC:272 SL:245
0249 FF ISC $FFFF,x PC:024A A:50 X:F7 Y:15 P:25 SP:06 CYC:293 SL:245
024C FF ISC $FFFF,x PC:024D A:3A X:F7 Y:15 P:25 SP:06 CYC:314 SL:245
024F FF ISC $FFFF,x PC:0250 A:23 X:F7 Y:15 P:25 SP:06 CYC:335 SL:245
0252 FF ISC $FFFF,x PC:0253 A:0B X:F7 Y:15 P:25 SP:06 CYC:15 SL:246
0255 FF ISC $FFFF,x PC:0256 A:F2 X:F7 Y:15 P:A4 SP:06 CYC:36 SL:246
0258 FF ISC $FFFF,x PC:0259 A:D7 X:F7 Y:15 P:A5 SP:06 CYC:57 SL:246
025B FF ISC $FFFF,x PC:025C A:BC X:F7 Y:15 P:A5 SP:06 CYC:78 SL:246
025E FF ISC $FFFF,x PC:025F A:A0 X:F7 Y:15 P:A5 SP:06 CYC:99 SL:246
0261 FF ISC $FFFF,x PC:0262 A:83 X:F7 Y:15 P:A5 SP:06 CYC:120 SL:246
0264 FF ISC $FFFF,x PC:0265 A:65 X:F7 Y:15 P:65 SP:06 CYC:141 SL:246
0267 FF ISC $FFFF,x PC:0268 A:46 X:F7 Y:15 P:25 SP:06 CYC:162 SL:246
026A FF ISC $FFFF,x PC:026B A:26 X:F7 Y:15 P:25 SP:06 CYC:183 SL:246
026D FF ISC $FFFF,x PC:026E A:05 X:F7 Y:15 P:25 SP:06 CYC:204 SL:246
0270 FF ISC $FFFF,x PC:0271 A:E3 X:F7 Y:15 P:A4 SP:06 CYC:225 SL:246
0273 FF ISC $FFFF,x PC:0274 A:BF X:F7 Y:15 P:A5 SP:06 CYC:246 SL:246
0276 FF ISC $FFFF,x PC:0277 A:9B X:F7 Y:15 P:A5 SP:06 CYC:267 SL:246
0279 FF ISC $FFFF,x PC:027A A:76 X:F7 Y:15 P:65 SP:06 CYC:288 SL:246
027C FF ISC $FFFF,x PC:027D A:50 X:F7 Y:15 P:25 SP:06 CYC:309 SL:246
027F FF ISC $FFFF,x PC:0280 A:29 X:F7 Y:15 P:25 SP:06 CYC:330 SL:246
0282 FF ISC $FFFF,x PC:0283 A:01 X:F7 Y:15 P:25 SP:06 CYC:10 SL:247
0285 FF ISC $FFFF,x PC:0286 A:D8 X:F7 Y:15 P:A4 SP:06 CYC:31 SL:247
0288 FF ISC $FFFF,x PC:0289 A:AD X:F7 Y:15 P:A5 SP:06 CYC:52 SL:247
028B FF ISC $FFFF,x PC:028C A:82 X:F7 Y:15 P:A5 SP:06 CYC:73 SL:247
028E FF ISC $FFFF,x PC:028F A:56 X:F7 Y:15 P:65 SP:06 CYC:94 SL:247
0291 FF ISC $FFFF,x PC:0292 A:29 X:F7 Y:15 P:25 SP:06 CYC:115 SL:247
0294 FF ISC $FFFF,x PC:0295 A:FB X:F7 Y:15 P:A4 SP:06 CYC:136 SL:247
0297 FF ISC $FFFF,x PC:0298 A:CB X:F7 Y:15 P:A5 SP:06 CYC:157 SL:247
029A FF ISC $FFFF,x PC:029B A:9B X:F7 Y:15 P:A5 SP:06 CYC:178 SL:247
029D FF ISC $FFFF,x PC:029E A:6A X:F7 Y:15 P:65 SP:06 CYC:199 SL:247
02A0 FF ISC $FFFF,x PC:02A1 A:38 X:F7 Y:15 P:25 SP:06 CYC:220 SL:247
02A3 FF ISC $FFFF,x PC:02A4 A:05 X:F7 Y:15 P:25 SP:06 CYC:241 SL:247
02A6 FF ISC $FFFF,x PC:02A7 A:D1 X:F7 Y:15 P:A4 SP:06 CYC:262 SL:247
02A9 FF ISC $FFFF,x PC:02AA A:9B X:F7 Y:15 P:A5 SP:06 CYC:283 SL:247
02AC FF ISC $FFFF,x PC:02AD A:65 X:F7 Y:15 P:65 SP:06 CYC:304 SL:247
02AF FF ISC $FFFF,x PC:02B0 A:2E X:F7 Y:15 P:25 SP:06 CYC:325 SL:247
02B2 FF ISC $FFFF,x PC:02B3 A:F6 X:F7 Y:15 P:A4 SP:06 CYC:5 SL:248
02B5 FF ISC $FFFF,x PC:02B6 A:BC X:F7 Y:15 P:A5 SP:06 CYC:26 SL:248
02B8 FF ISC $FFFF,x PC:02B9 A:82 X:F7 Y:15 P:A5 SP:06 CYC:47 SL:248
02BB FF ISC $FFFF,x PC:02BC A:47 X:F7 Y:15 P:65 SP:06 CYC:68 SL:248
02BE FF ISC $FFFF,x PC:02BF A:0B X:F7 Y:15 P:25 SP:06 CYC:89 SL:248
02C1 FF ISC $FFFF,x PC:02C2 A:CE X:F7 Y:15 P:A4 SP:06 CYC:110 SL:248
02C4 FF ISC $FFFF,x PC:02C5 A:8F X:F7 Y:15 P:A5 SP:06 CYC:131 SL:248
02C7 FF ISC $FFFF,x PC:02C8 A:50 X:F7 Y:15 P:65 SP:06 CYC:152 SL:248
02CA FF ISC $FFFF,x PC:02CB A:10 X:F7 Y:15 P:25 SP:06 CYC:173 SL:248
02CD FF ISC $FFFF,x PC:02CE A:CF X:F7 Y:15 P:A4 SP:06 CYC:194 SL:248
02D0 FF ISC $FFFF,x PC:02D1 A:8C X:F7 Y:15 P:A5 SP:06 CYC:215 SL:248
02D3 FF ISC $FFFF,x PC:02D4 A:49 X:F7 Y:15 P:65 SP:06 CYC:236 SL:248
02D6 FF ISC $FFFF,x PC:02D7 A:05 X:F7 Y:15 P:25 SP:06 CYC:257 SL:248
02D9 FF ISC $FFFF,x PC:02DA A:C0 X:F7 Y:15 P:A4 SP:06 CYC:278 SL:248
02DC FF ISC $FFFF,x PC:02DD A:79 X:F7 Y:15 P:65 SP:06 CYC:299 SL:248
02DF FF ISC $FFFF,x PC:02E0 A:32 X:F7 Y:15 P:25 SP:06 CYC:320 SL:248
02E2 FF ISC $FFFF,x PC:02E3 A:EA X:F7 Y:15 P:A4 SP:06 CYC:0 SL:249
02E5 FF ISC $FFFF,x PC:02E6 A:A0 X:F7 Y:15 P:A5 SP:06 CYC:21 SL:249
02E8 FF ISC $FFFF,x PC:02E9 A:56 X:F7 Y:15 P:65 SP:06 CYC:42 SL:249
02EB FF ISC $FFFF,x PC:02EC A:0B X:F7 Y:15 P:25 SP:06 CYC:63 SL:249
02EE FF ISC $FFFF,x PC:02EF A:BF X:F7 Y:15 P:A4 SP:06 CYC:84 SL:249
02F1 FF ISC $FFFF,x PC:02F2 A:71 X:F7 Y:15 P:65 SP:06 CYC:105 SL:249
02F4 FF ISC $FFFF,x PC:02F5 A:23 X:F7 Y:15 P:25 SP:06 CYC:126 SL:249
02F7 FF ISC $FFFF,x PC:02F8 A:D4 X:F7 Y:15 P:A4 SP:06 CYC:147 SL:249
02FA FF ISC $FFFF,x PC:02FB A:83 X:F7 Y:15 P:A5 SP:06 CYC:168 SL:249
02FD FF ISC $00FF,x PC:02FE A:32 X:F7 Y:15 P:65 SP:06 CYC:189 SL:249
0300 89 NOP #$AA PC:0301 A:DC X:F7 Y:15 P:A4 SP:06 CYC:210 SL:249
0302 60 RTS PC:0303 A:DC X:F7 Y:15 P:A4 SP:06 CYC:216 SL:249
00 00 BRK PC:01 A:DC X:F7 Y:15 P:A4 SP:08 CYC:234 SL:249
**BREAK**C5F4 40 RTI PC:C5F5 A:DC X:F7 Y:15 P:A4 SP:05 CYC:255 SL:249
02 FF ISC $FFFF,x PC:03 A:DC X:F7 Y:15 P:A4 SP:08 CYC:273 SL:249
05 BE LDX $FFFF,y PC:06 A:89 X:F7 Y:15 P:A5 SP:08 CYC:294 SL:249
08 F7 ISC $EF,x PC:09 A:89 X:FF Y:15 P:A5 SP:08 CYC:309 SL:249
0A DF DCP $FFFF,x PC:0B A:88 X:FF Y:15 P:A5 SP:08 CYC:327 SL:249
0D FF ISC $BFFF,x PC:0E A:88 X:FF Y:15 P:25 SP:08 CYC:7 SL:250
10 00 BRK PC:11 A:C7 X:FF Y:15 P:A4 SP:08 CYC:28 SL:250
**BREAK**C5F4 40 RTI PC:C5F5 A:C7 X:FF Y:15 P:A4 SP:05 CYC:49 SL:250
12 FF ISC $FFFF,x PC:13 A:C7 X:FF Y:15 P:A4 SP:08 CYC:67 SL:250
15 FF ISC $FFFF,x PC:16 A:AC X:FF Y:15 P:A5 SP:08 CYC:88 SL:250
18 FF ISC $FFFF,x PC:19 A:91 X:FF Y:15 P:A5 SP:08 CYC:109 SL:250
1B FF ISC $FFFF,x PC:1C A:75 X:FF Y:15 P:65 SP:08 CYC:130 SL:250
1E FF ISC $FFFF,x PC:1F A:58 X:FF Y:15 P:25 SP:08 CYC:151 SL:250
21 FF ISC $FFFF,x PC:22 A:3A X:FF Y:15 P:25 SP:08 CYC:172 SL:250
24 FF ISC $FFFF,x PC:25 A:1B X:FF Y:15 P:25 SP:08 CYC:193 SL:250
27 FF ISC $FFFF,x PC:28 A:FB X:FF Y:15 P:A4 SP:08 CYC:214 SL:250
2A FF ISC $FFFF,x PC:2B A:D9 X:FF Y:15 P:A5 SP:08 CYC:235 SL:250
2D FF ISC $FFFF,x PC:2E A:B7 X:FF Y:15 P:A5 SP:08 CYC:256 SL:250
30 FF ISC $FFFF,x PC:31 A:94 X:FF Y:15 P:A5 SP:08 CYC:277 SL:250
33 44 NOP $04 PC:34 A:70 X:FF Y:15 P:65 SP:08 CYC:298 SL:250
35 FF ISC $FFFF,x PC:36 A:70 X:FF Y:15 P:65 SP:08 CYC:307 SL:250
38 FF ISC $FFFF,x PC:39 A:4B X:FF Y:15 P:25 SP:08 CYC:328 SL:250
3B FF ISC $FFFF,x PC:3C A:25 X:FF Y:15 P:25 SP:08 CYC:8 SL:251
3E FF ISC $FFFF,x PC:3F A:FE X:FF Y:15 P:A4 SP:08 CYC:29 SL:251
41 FF ISC $FFFF,x PC:42 A:D5 X:FF Y:15 P:A5 SP:08 CYC:50 SL:251
44 04 NOP $48 PC:45 A:AC X:FF Y:15 P:A5 SP:08 CYC:71 SL:251
46 05 ORA $9B PC:47 A:AC X:FF Y:15 P:A5 SP:08 CYC:80 SL:251
48 06 ASL $00 PC:49 A:FF X:FF Y:15 P:A5 SP:08 CYC:89 SL:251
4A FF ISC $FFFF,x PC:4B A:FF X:FF Y:15 P:26 SP:08 CYC:104 SL:251
4D FF ISC $00FF,x PC:4E A:D4 X:FF Y:15 P:A5 SP:08 CYC:125 SL:251
50 FF ISC $FFFF,x PC:51 A:4F X:FF Y:15 P:25 SP:08 CYC:146 SL:251
53 FF ISC $00FF,x PC:54 A:24 X:FF Y:15 P:25 SP:08 CYC:167 SL:251
56 66 ROR $FF PC:57 A:9E X:FF Y:15 P:E4 SP:08 CYC:188 SL:251
58 FF ISC $FFFF,x PC:59 A:9E X:FF Y:15 P:65 SP:08 CYC:203 SL:251
5B FF ISC $FFFF,x PC:5C A:72 X:FF Y:15 P:65 SP:08 CYC:224 SL:251
5E FF ISC $89FF,x PC:5F A:45 X:FF Y:15 P:25 SP:08 CYC:245 SL:251
61 04 NOP $FF PC:62 A:75 X:FF Y:15 P:24 SP:08 CYC:266 SL:251
63 FF ISC $FFFF,x PC:64 A:75 X:FF Y:15 P:24 SP:08 CYC:275 SL:251
66 FF ISC $3287,x PC:67 A:46 X:FF Y:15 P:25 SP:08 CYC:296 SL:251
69 FF ISC $FFFF,x PC:6A A:43 X:FF Y:15 P:25 SP:08 CYC:317 SL:251
6C FF ISC $FFFF,x PC:6D A:14 X:FF Y:15 P:25 SP:08 CYC:338 SL:251
6F FF ISC $FFFF,x PC:70 A:E4 X:FF Y:15 P:A4 SP:08 CYC:18 SL:252
72 FF ISC $FFFF,x PC:73 A:B2 X:FF Y:15 P:A5 SP:08 CYC:39 SL:252
75 FF ISC $FFFF,x PC:76 A:80 X:FF Y:15 P:A5 SP:08 CYC:60 SL:252
78 33 RLA ($FF), y PC:79 A:4D X:FF Y:15 P:65 SP:08 CYC:81 SL:252
7A FF ISC $FFFF,x PC:7B A:4D X:FF Y:15 P:65 SP:08 CYC:105 SL:252
7D FF ISC $69FF,x PC:7E A:19 X:FF Y:15 P:25 SP:08 CYC:126 SL:252
80 00 BRK PC:81 A:17 X:FF Y:15 P:25 SP:08 CYC:147 SL:252
**BREAK**C5F4 40 RTI PC:C5F5 A:17 X:FF Y:15 P:25 SP:05 CYC:168 SL:252
82 00 BRK PC:83 A:17 X:FF Y:15 P:25 SP:08 CYC:186 SL:252
**BREAK**C5F4 40 RTI PC:C5F5 A:17 X:FF Y:15 P:25 SP:05 CYC:207 SL:252
84 03 SLO $(FFFF,x) PC:85 A:17 X:FF Y:15 P:25 SP:08 CYC:225 SL:252
86 FF ISC $FFFF,x PC:87 A:57 X:FF Y:15 P:24 SP:08 CYC:249 SL:252
89 BB LAS $FF03,y PC:8A A:21 X:FF Y:15 P:25 SP:08 CYC:270 SL:252
8C FF ISC $FFFF,x PC:8D A:00 X:00 Y:15 P:27 SP:00 CYC:282 SL:252
8F FF ISC $FFFF,x PC:90 A:3B X:00 Y:15 P:24 SP:00 CYC:303 SL:252
92 FF ISC $FFFF,x PC:93 A:75 X:00 Y:15 P:24 SP:00 CYC:324 SL:252
95 FF ISC $FFFF,x PC:96 A:AF X:00 Y:15 P:E4 SP:00 CYC:4 SL:253
98 FF ISC $FFFF,x PC:99 A:E9 X:00 Y:15 P:A4 SP:00 CYC:25 SL:253
9B FF ISC $FFFF,x PC:9C A:23 X:00 Y:15 P:25 SP:00 CYC:46 SL:253
9E FF ISC $FFFF,x PC:9F A:5E X:00 Y:15 P:24 SP:00 CYC:67 SL:253
A1 FF ISC $FFFF,x PC:A2 A:98 X:00 Y:15 P:E4 SP:00 CYC:88 SL:253
A4 FF ISC $FFFF,x PC:A5 A:D2 X:00 Y:15 P:A4 SP:00 CYC:109 SL:253
A7 FF ISC $FFFF,x PC:A8 A:0C X:00 Y:15 P:25 SP:00 CYC:130 SL:253
AA FF ISC $FFFF,x PC:AB A:47 X:00 Y:15 P:24 SP:00 CYC:151 SL:253
AD FF ISC $FFFF,x PC:AE A:81 X:00 Y:15 P:E4 SP:00 CYC:172 SL:253
B0 FF ISC $FFFF,x PC:B1 A:BB X:00 Y:15 P:A4 SP:00 CYC:193 SL:253
B3 FF ISC $FFFF,x PC:B4 A:F5 X:00 Y:15 P:A4 SP:00 CYC:214 SL:253
B6 FF ISC $FFFF,x PC:B7 A:2F X:00 Y:15 P:25 SP:00 CYC:235 SL:253
B9 FF ISC $FFFF,x PC:BA A:6A X:00 Y:15 P:24 SP:00 CYC:256 SL:253
BC FF ISC $FFFF,x PC:BD A:A4 X:00 Y:15 P:E4 SP:00 CYC:277 SL:253
BF FF ISC $FFFF,x PC:C0 A:DE X:00 Y:15 P:A4 SP:00 CYC:298 SL:253
C2 FF ISC $4AFF,x PC:C3 A:18 X:00 Y:15 P:25 SP:00 CYC:319 SL:253
C5 FF ISC $FFFF,x PC:C6 A:CE X:00 Y:15 P:A4 SP:00 CYC:340 SL:253
C8 FF ISC $FFFF,x PC:C9 A:08 X:00 Y:15 P:25 SP:00 CYC:20 SL:254
CB FF ISC $FFFF,x PC:CC A:43 X:00 Y:15 P:24 SP:00 CYC:41 SL:254
CE 01 ORA $(FFFF,x) PC:CF A:7D X:00 Y:15 P:24 SP:00 CYC:62 SL:254
D0 FF ISC $FFFF,x PC:D1 A:FF X:00 Y:15 P:A4 SP:00 CYC:80 SL:254
D3 FF ISC $FFFF,x PC:D4 A:39 X:00 Y:15 P:25 SP:00 CYC:101 SL:254
D6 FF ISC $FFFF,x PC:D7 A:74 X:00 Y:15 P:24 SP:00 CYC:122 SL:254
D9 FF ISC $FFFF,x PC:DA A:AE X:00 Y:15 P:E4 SP:00 CYC:143 SL:254
DC FF ISC $FFFF,x PC:DD A:E8 X:00 Y:15 P:A4 SP:00 CYC:164 SL:254
DF FF ISC $FFFF,x PC:E0 A:22 X:00 Y:15 P:25 SP:00 CYC:185 SL:254
E2 FF ISC $FFFF,x PC:E3 A:5D X:00 Y:15 P:24 SP:00 CYC:206 SL:254
E5 FF ISC $FFFF,x PC:E6 A:97 X:00 Y:15 P:E4 SP:00 CYC:227 SL:254
E8 FF ISC $FFFF,x PC:E9 A:D1 X:00 Y:15 P:A4 SP:00 CYC:248 SL:254
EB FF ISC $FFFF,x PC:EC A:0B X:00 Y:15 P:25 SP:00 CYC:269 SL:254
EE 01 ORA $(FFFF,x) PC:EF A:46 X:00 Y:15 P:24 SP:00 CYC:290 SL:254
F0 FF ISC $FFFF,x PC:F1 A:FF X:00 Y:15 P:A4 SP:00 CYC:308 SL:254
F3 FF ISC $FFFF,x PC:F4 A:39 X:00 Y:15 P:25 SP:00 CYC:329 SL:254
F6 52 KIL PC:F7 A:74 X:00 Y:15 P:24 SP:00 CYC:9 SL:255
F7 FF ISC $FFFF,x PC:F8 A:74 X:00 Y:15 P:24 SP:00 CYC:12 SL:255
FA FF ISC $FFFF,x PC:FB A:AE X:00 Y:15 P:E4 SP:00 CYC:30 SL:255
FD FF ISC $5135,x PC:FE A:E8 X:00 Y:15 P:A4 SP:00 CYC:51 SL:255
0100 A9 LDA #$55 PC:0101 A:96 X:00 Y:15 P:A5 SP:00 CYC:72 SL:255
0102 60 RTS PC:0103 A:55 X:00 Y:15 P:25 SP:00 CYC:78 SL:255
6056 00 BRK PC:6057 A:55 X:00 Y:15 P:25 SP:02 CYC:96 SL:255
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:117 SL:255
6058 00 BRK PC:6059 A:55 X:00 Y:15 P:25 SP:02 CYC:135 SL:255
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:156 SL:255
605A 00 BRK PC:605B A:55 X:00 Y:15 P:25 SP:02 CYC:174 SL:255
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:195 SL:255
605C 00 BRK PC:605D A:55 X:00 Y:15 P:25 SP:02 CYC:213 SL:255
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:234 SL:255
605E 00 BRK PC:605F A:55 X:00 Y:15 P:25 SP:02 CYC:252 SL:255
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:273 SL:255
6060 00 BRK PC:6061 A:55 X:00 Y:15 P:25 SP:02 CYC:291 SL:255
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:312 SL:255
6062 00 BRK PC:6063 A:55 X:00 Y:15 P:25 SP:02 CYC:330 SL:255
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:10 SL:256
6064 00 BRK PC:6065 A:55 X:00 Y:15 P:25 SP:02 CYC:28 SL:256
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:49 SL:256
6066 00 BRK PC:6067 A:55 X:00 Y:15 P:25 SP:02 CYC:67 SL:256
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:88 SL:256
6068 00 BRK PC:6069 A:55 X:00 Y:15 P:25 SP:02 CYC:106 SL:256
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:127 SL:256
606A 00 BRK PC:606B A:55 X:00 Y:15 P:25 SP:02 CYC:145 SL:256
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:166 SL:256
606C 00 BRK PC:606D A:55 X:00 Y:15 P:25 SP:02 CYC:184 SL:256
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:205 SL:256
606E 00 BRK PC:606F A:55 X:00 Y:15 P:25 SP:02 CYC:223 SL:256
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:244 SL:256
6070 00 BRK PC:6071 A:55 X:00 Y:15 P:25 SP:02 CYC:262 SL:256
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:283 SL:256
6072 00 BRK PC:6073 A:55 X:00 Y:15 P:25 SP:02 CYC:301 SL:256
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:322 SL:256
6074 00 BRK PC:6075 A:55 X:00 Y:15 P:25 SP:02 CYC:340 SL:256
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:20 SL:257
6076 00 BRK PC:6077 A:55 X:00 Y:15 P:25 SP:02 CYC:38 SL:257
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:59 SL:257
6078 00 BRK PC:6079 A:55 X:00 Y:15 P:25 SP:02 CYC:77 SL:257
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:98 SL:257
607A 00 BRK PC:607B A:55 X:00 Y:15 P:25 SP:02 CYC:116 SL:257
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:137 SL:257
607C 00 BRK PC:607D A:55 X:00 Y:15 P:25 SP:02 CYC:155 SL:257
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:176 SL:257
607E 00 BRK PC:607F A:55 X:00 Y:15 P:25 SP:02 CYC:194 SL:257
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:215 SL:257
6080 00 BRK PC:6081 A:55 X:00 Y:15 P:25 SP:02 CYC:233 SL:257
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:254 SL:257
6082 00 BRK PC:6083 A:55 X:00 Y:15 P:25 SP:02 CYC:272 SL:257
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:293 SL:257
6084 00 BRK PC:6085 A:55 X:00 Y:15 P:25 SP:02 CYC:311 SL:257
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:332 SL:257
6086 00 BRK PC:6087 A:55 X:00 Y:15 P:25 SP:02 CYC:9 SL:258
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:30 SL:258
6088 00 BRK PC:6089 A:55 X:00 Y:15 P:25 SP:02 CYC:48 SL:258
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:69 SL:258
608A 00 BRK PC:608B A:55 X:00 Y:15 P:25 SP:02 CYC:87 SL:258
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:108 SL:258
608C 00 BRK PC:608D A:55 X:00 Y:15 P:25 SP:02 CYC:126 SL:258
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:147 SL:258
608E 00 BRK PC:608F A:55 X:00 Y:15 P:25 SP:02 CYC:165 SL:258
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:186 SL:258
6090 00 BRK PC:6091 A:55 X:00 Y:15 P:25 SP:02 CYC:204 SL:258
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:225 SL:258
6092 00 BRK PC:6093 A:55 X:00 Y:15 P:25 SP:02 CYC:243 SL:258
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:264 SL:258
6094 00 BRK PC:6095 A:55 X:00 Y:15 P:25 SP:02 CYC:282 SL:258
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:303 SL:258
6096 00 BRK PC:6097 A:55 X:00 Y:15 P:25 SP:02 CYC:321 SL:258
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:1 SL:259
6098 00 BRK PC:6099 A:55 X:00 Y:15 P:25 SP:02 CYC:19 SL:259
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:40 SL:259
609A 00 BRK PC:609B A:55 X:00 Y:15 P:25 SP:02 CYC:58 SL:259
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:79 SL:259
609C 00 BRK PC:609D A:55 X:00 Y:15 P:25 SP:02 CYC:97 SL:259
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:118 SL:259
609E 00 BRK PC:609F A:55 X:00 Y:15 P:25 SP:02 CYC:136 SL:259
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:157 SL:259
60A0 00 BRK PC:60A1 A:55 X:00 Y:15 P:25 SP:02 CYC:175 SL:259
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:196 SL:259
60A2 00 BRK PC:60A3 A:55 X:00 Y:15 P:25 SP:02 CYC:214 SL:259
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:235 SL:259
60A4 00 BRK PC:60A5 A:55 X:00 Y:15 P:25 SP:02 CYC:253 SL:259
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:274 SL:259
60A6 00 BRK PC:60A7 A:55 X:00 Y:15 P:25 SP:02 CYC:292 SL:259
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:313 SL:259
60A8 00 BRK PC:60A9 A:55 X:00 Y:15 P:25 SP:02 CYC:331 SL:259
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:11 SL:260
60AA 00 BRK PC:60AB A:55 X:00 Y:15 P:25 SP:02 CYC:29 SL:260
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:50 SL:260
60AC 00 BRK PC:60AD A:55 X:00 Y:15 P:25 SP:02 CYC:68 SL:260
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:89 SL:260
60AE 00 BRK PC:60AF A:55 X:00 Y:15 P:25 SP:02 CYC:107 SL:260
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:128 SL:260
60B0 00 BRK PC:60B1 A:55 X:00 Y:15 P:25 SP:02 CYC:146 SL:260
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:167 SL:260
60B2 00 BRK PC:60B3 A:55 X:00 Y:15 P:25 SP:02 CYC:185 SL:260
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:206 SL:260
60B4 00 BRK PC:60B5 A:55 X:00 Y:15 P:25 SP:02 CYC:224 SL:260
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:245 SL:260
60B6 00 BRK PC:60B7 A:55 X:00 Y:15 P:25 SP:02 CYC:263 SL:260
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:284 SL:260
60B8 00 BRK PC:60B9 A:55 X:00 Y:15 P:25 SP:02 CYC:302 SL:260
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:323 SL:260
60BA 00 BRK PC:60BB A:55 X:00 Y:15 P:25 SP:02 CYC:0 SL:261
**BREAK**C5F4 40 RTI PC:C5F5 A:55 X:00 Y
================================================
FILE: src/test/resources/nestest/nestest.log
================================================
C000 4C F5 C5 JMP $C5F5 A:00 X:00 Y:00 P:24 SP:FD CYC: 0 SL:241
C5F5 A2 00 LDX #$00 A:00 X:00 Y:00 P:24 SP:FD CYC: 9 SL:241
C5F7 86 00 STX $00 = 00 A:00 X:00 Y:00 P:26 SP:FD CYC: 15 SL:241
C5F9 86 10 STX $10 = 00 A:00 X:00 Y:00 P:26 SP:FD CYC: 24 SL:241
C5FB 86 11 STX $11 = 00 A:00 X:00 Y:00 P:26 SP:FD CYC: 33 SL:241
C5FD 20 2D C7 JSR $C72D A:00 X:00 Y:00 P:26 SP:FD CYC: 42 SL:241
C72D EA NOP A:00 X:00 Y:00 P:26 SP:FB CYC: 60 SL:241
C72E 38 SEC A:00 X:00 Y:00 P:26 SP:FB CYC: 66 SL:241
C72F B0 04 BCS $C735 A:00 X:00 Y:00 P:27 SP:FB CYC: 72 SL:241
C735 EA NOP A:00 X:00 Y:00 P:27 SP:FB CYC: 81 SL:241
C736 18 CLC A:00 X:00 Y:00 P:27 SP:FB CYC: 87 SL:241
C737 B0 03 BCS $C73C A:00 X:00 Y:00 P:26 SP:FB CYC: 93 SL:241
C739 4C 40 C7 JMP $C740 A:00 X:00 Y:00 P:26 SP:FB CYC: 99 SL:241
C740 EA NOP A:00 X:00 Y:00 P:26 SP:FB CYC:108 SL:241
C741 38 SEC A:00 X:00 Y:00 P:26 SP:FB CYC:114 SL:241
C742 90 03 BCC $C747 A:00 X:00 Y:00 P:27 SP:FB CYC:120 SL:241
C744 4C 4B C7 JMP $C74B A:00 X:00 Y:00 P:27 SP:FB CYC:126 SL:241
C74B EA NOP A:00 X:00 Y:00 P:27 SP:FB CYC:135 SL:241
C74C 18 CLC A:00 X:00 Y:00 P:27 SP:FB CYC:141 SL:241
C74D 90 04 BCC $C753 A:00 X:00 Y:00 P:26 SP:FB CYC:147 SL:241
C753 EA NOP A:00 X:00 Y:00 P:26 SP:FB CYC:156 SL:241
C754 A9 00 LDA #$00 A:00 X:00 Y:00 P:26 SP:FB CYC:162 SL:241
C756 F0 04 BEQ $C75C A:00 X:00 Y:00 P:26 SP:FB CYC:168 SL:241
C75C EA NOP A:00 X:00 Y:00 P:26 SP:FB CYC:177 SL:241
C75D A9 40 LDA #$40 A:00 X:00 Y:00 P:26 SP:FB CYC:183 SL:241
C75F F0 03 BEQ $C764 A:40 X:00 Y:00 P:24 SP:FB CYC:189 SL:241
C761 4C 68 C7 JMP $C768 A:40 X:00 Y:00 P:24 SP:FB CYC:195 SL:241
C768 EA NOP A:40 X:00 Y:00 P:24 SP:FB CYC:204 SL:241
C769 A9 40 LDA #$40 A:40 X:00 Y:00 P:24 SP:FB CYC:210 SL:241
C76B D0 04 BNE $C771 A:40 X:00 Y:00 P:24 SP:FB CYC:216 SL:241
C771 EA NOP A:40 X:00 Y:00 P:24 SP:FB CYC:225 SL:241
C772 A9 00 LDA #$00 A:40 X:00 Y:00 P:24 SP:FB CYC:231 SL:241
C774 D0 03 BNE $C779 A:00 X:00 Y:00 P:26 SP:FB CYC:237 SL:241
C776 4C 7D C7 JMP $C77D A:00 X:00 Y:00 P:26 SP:FB CYC:243 SL:241
C77D EA NOP A:00 X:00 Y:00 P:26 SP:FB CYC:252 SL:241
C77E A9 FF LDA #$FF A:00 X:00 Y:00 P:26 SP:FB CYC:258 SL:241
C780 85 01 STA $01 = 00 A:FF X:00 Y:00 P:A4 SP:FB CYC:264 SL:241
C782 24 01 BIT $01 = FF A:FF X:00 Y:00 P:A4 SP:FB CYC:273 SL:241
C784 70 04 BVS $C78A A:FF X:00 Y:00 P:E4 SP:FB CYC:282 SL:241
C78A EA NOP A:FF X:00 Y:00 P:E4 SP:FB CYC:291 SL:241
C78B 24 01 BIT $01 = FF A:FF X:00 Y:00 P:E4 SP:FB CYC:297 SL:241
C78D 50 03 BVC $C792 A:FF X:00 Y:00 P:E4 SP:FB CYC:306 SL:241
C78F 4C 96 C7 JMP $C796 A:FF X:00 Y:00 P:E4 SP:FB CYC:312 SL:241
C796 EA NOP A:FF X:00 Y:00 P:E4 SP:FB CYC:321 SL:241
C797 A9 00 LDA #$00 A:FF X:00 Y:00 P:E4 SP:FB CYC:327 SL:241
C799 85 01 STA $01 = FF A:00 X:00 Y:00 P:66 SP:FB CYC:333 SL:241
C79B 24 01 BIT $01 = 00 A:00 X:00 Y:00 P:66 SP:FB CYC: 1 SL:242
C79D 50 04 BVC $C7A3 A:00 X:00 Y:00 P:26 SP:FB CYC: 10 SL:242
C7A3 EA NOP A:00 X:00 Y:00 P:26 SP:FB CYC: 19 SL:242
C7A4 24 01 BIT $01 = 00 A:00 X:00 Y:00 P:26 SP:FB CYC: 25 SL:242
C7A6 70 03 BVS $C7AB A:00 X:00 Y:00 P:26 SP:FB CYC: 34 SL:242
C7A8 4C AF C7 JMP $C7AF A:00 X:00 Y:00 P:26 SP:FB CYC: 40 SL:242
C7AF EA NOP A:00 X:00 Y:00 P:26 SP:FB CYC: 49 SL:242
C7B0 A9 00 LDA #$00 A:00 X:00 Y:00 P:26 SP:FB CYC: 55 SL:242
C7B2 10 04 BPL $C7B8 A:00 X:00 Y:00 P:26 SP:FB CYC: 61 SL:242
C7B8 EA NOP A:00 X:00 Y:00 P:26 SP:FB CYC: 70 SL:242
C7B9 A9 80 LDA #$80 A:00 X:00 Y:00 P:26 SP:FB CYC: 76 SL:242
C7BB 10 03 BPL $C7C0 A:80 X:00 Y:00 P:A4 SP:FB CYC: 82 SL:242
C7BD 4C D9 C7 JMP $C7D9 A:80 X:00 Y:00 P:A4 SP:FB CYC: 88 SL:242
C7D9 EA NOP A:80 X:00 Y:00 P:A4 SP:FB CYC: 97 SL:242
C7DA 60 RTS A:80 X:00 Y:00 P:A4 SP:FB CYC:103 SL:242
C600 20 DB C7 JSR $C7DB A:80 X:00 Y:00 P:A4 SP:FD CYC:121 SL:242
C7DB EA NOP A:80 X:00 Y:00 P:A4 SP:FB CYC:139 SL:242
C7DC A9 FF LDA #$FF A:80 X:00 Y:00 P:A4 SP:FB CYC:145 SL:242
C7DE 85 01 STA $01 = 00 A:FF X:00 Y:00 P:A4 SP:FB CYC:151 SL:242
C7E0 24 01 BIT $01 = FF A:FF X:00 Y:00 P:A4 SP:FB CYC:160 SL:242
C7E2 A9 00 LDA #$00 A:FF X:00 Y:00 P:E4 SP:FB CYC:169 SL:242
C7E4 38 SEC A:00 X:00 Y:00 P:66 SP:FB CYC:175 SL:242
C7E5 78 SEI A:00 X:00 Y:00 P:67 SP:FB CYC:181 SL:242
C7E6 F8 SED A:00 X:00 Y:00 P:67 SP:FB CYC:187 SL:242
C7E7 08 PHP A:00 X:00 Y:00 P:6F SP:FB CYC:193 SL:242
C7E8 68 PLA A:00 X:00 Y:00 P:6F SP:FA CYC:202 SL:242
C7E9 29 EF AND #$EF A:7F X:00 Y:00 P:6D SP:FB CYC:214 SL:242
C7EB C9 6F CMP #$6F A:6F X:00 Y:00 P:6D SP:FB CYC:220 SL:242
C7ED F0 04 BEQ $C7F3 A:6F X:00 Y:00 P:6F SP:FB CYC:226 SL:242
C7F3 EA NOP A:6F X:00 Y:00 P:6F SP:FB CYC:235 SL:242
C7F4 A9 40 LDA #$40 A:6F X:00 Y:00 P:6F SP:FB CYC:241 SL:242
C7F6 85 01 STA $01 = FF A:40 X:00 Y:00 P:6D SP:FB CYC:247 SL:242
C7F8 24 01 BIT $01 = 40 A:40 X:00 Y:00 P:6D SP:FB CYC:256 SL:242
C7FA D8 CLD A:40 X:00 Y:00 P:6D SP:FB CYC:265 SL:242
C7FB A9 10 LDA #$10 A:40 X:00 Y:00 P:65 SP:FB CYC:271 SL:242
C7FD 18 CLC A:10 X:00 Y:00 P:65 SP:FB CYC:277 SL:242
C7FE 08 PHP A:10 X:00 Y:00 P:64 SP:FB CYC:283 SL:242
C7FF 68 PLA A:10 X:00 Y:00 P:64 SP:FA CYC:292 SL:242
C800 29 EF AND #$EF A:74 X:00 Y:00 P:64 SP:FB CYC:304 SL:242
C802 C9 64 CMP #$64 A:64 X:00 Y:00 P:64 SP:FB CYC:310 SL:242
C804 F0 04 BEQ $C80A A:64 X:00 Y:00 P:67 SP:FB CYC:316 SL:242
C80A EA NOP A:64 X:00 Y:00 P:67 SP:FB CYC:325 SL:242
C80B A9 80 LDA #$80 A:64 X:00 Y:00 P:67 SP:FB CYC:331 SL:242
C80D 85 01 STA $01 = 40 A:80 X:00 Y:00 P:E5 SP:FB CYC:337 SL:242
C80F 24 01 BIT $01 = 80 A:80 X:00 Y:00 P:E5 SP:FB CYC: 5 SL:243
C811 F8 SED A:80 X:00 Y:00 P:A5 SP:FB CYC: 14 SL:243
C812 A9 00 LDA #$00 A:80 X:00 Y:00 P:AD SP:FB CYC: 20 SL:243
C814 38 SEC A:00 X:00 Y:00 P:2F SP:FB CYC: 26 SL:243
C815 08 PHP A:00 X:00 Y:00 P:2F SP:FB CYC: 32 SL:243
C816 68 PLA A:00 X:00 Y:00 P:2F SP:FA CYC: 41 SL:243
C817 29 EF AND #$EF A:3F X:00 Y:00 P:2D SP:FB CYC: 53 SL:243
C819 C9 2F CMP #$2F A:2F X:00 Y:00 P:2D SP:FB CYC: 59 SL:243
C81B F0 04 BEQ $C821 A:2F X:00 Y:00 P:2F SP:FB CYC: 65 SL:243
C821 EA NOP A:2F X:00 Y:00 P:2F SP:FB CYC: 74 SL:243
C822 A9 FF LDA #$FF A:2F X:00 Y:00 P:2F SP:FB CYC: 80 SL:243
C824 48 PHA A:FF X:00 Y:00 P:AD SP:FB CYC: 86 SL:243
C825 28 PLP A:FF X:00 Y:00 P:AD SP:FA CYC: 95 SL:243
C826 D0 09 BNE $C831 A:FF X:00 Y:00 P:EF SP:FB CYC:107 SL:243
C828 10 07 BPL $C831 A:FF X:00 Y:00 P:EF SP:FB CYC:113 SL:243
C82A 50 05 BVC $C831 A:FF X:00 Y:00 P:EF SP:FB CYC:119 SL:243
C82C 90 03 BCC $C831 A:FF X:00 Y:00 P:EF SP:FB CYC:125 SL:243
C82E 4C 35 C8 JMP $C835 A:FF X:00 Y:00 P:EF SP:FB CYC:131 SL:243
C835 EA NOP A:FF X:00 Y:00 P:EF SP:FB CYC:140 SL:243
C836 A9 04 LDA #$04 A:FF X:00 Y:00 P:EF SP:FB CYC:146 SL:243
C838 48 PHA A:04 X:00 Y:00 P:6D SP:FB CYC:152 SL:243
C839 28 PLP A:04 X:00 Y:00 P:6D SP:FA CYC:161 SL:243
C83A F0 09 BEQ $C845 A:04 X:00 Y:00 P:24 SP:FB CYC:173 SL:243
C83C 30 07 BMI $C845 A:04 X:00 Y:00 P:24 SP:FB CYC:179 SL:243
C83E 70 05 BVS $C845 A:04 X:00 Y:00 P:24 SP:FB CYC:185 SL:243
C840 B0 03 BCS $C845 A:04 X:00 Y:00 P:24 SP:FB CYC:191 SL:243
C842 4C 49 C8 JMP $C849 A:04 X:00 Y:00 P:24 SP:FB CYC:197 SL:243
C849 EA NOP A:04 X:00 Y:00 P:24 SP:FB CYC:206 SL:243
C84A F8 SED A:04 X:00 Y:00 P:24 SP:FB CYC:212 SL:243
C84B A9 FF LDA #$FF A:04 X:00 Y:00 P:2C SP:FB CYC:218 SL:243
C84D 85 01 STA $01 = 80 A:FF X:00 Y:00 P:AC SP:FB CYC:224 SL:243
C84F 24 01 BIT $01 = FF A:FF X:00 Y:00 P:AC SP:FB CYC:233 SL:243
C851 18 CLC A:FF X:00 Y:00 P:EC SP:FB CYC:242 SL:243
C852 A9 00 LDA #$00 A:FF X:00 Y:00 P:EC SP:FB CYC:248 SL:243
C854 48 PHA A:00 X:00 Y:00 P:6E SP:FB CYC:254 SL:243
C855 A9 FF LDA #$FF A:00 X:00 Y:00 P:6E SP:FA CYC:263 SL:243
C857 68 PLA A:FF X:00 Y:00 P:EC SP:FA CYC:269 SL:243
C858 D0 09 BNE $C863 A:00 X:00 Y:00 P:6E SP:FB CYC:281 SL:243
C85A 30 07 BMI $C863 A:00 X:00 Y:00 P:6E SP:FB CYC:287 SL:243
C85C 50 05 BVC $C863 A:00 X:00 Y:00 P:6E SP:FB CYC:293 SL:243
C85E B0 03 BCS $C863 A:00 X:00 Y:00 P:6E SP:FB CYC:299 SL:243
C860 4C 67 C8 JMP $C867 A:00 X:00 Y:00 P:6E SP:FB CYC:305 SL:243
C867 EA NOP A:00 X:00 Y:00 P:6E SP:FB CYC:314 SL:243
C868 A9 00 LDA #$00 A:00 X:00 Y:00 P:6E SP:FB CYC:320 SL:243
C86A 85 01 STA $01 = FF A:00 X:00 Y:00 P:6E SP:FB CYC:326 SL:243
C86C 24 01 BIT $01 = 00 A:00 X:00 Y:00 P:6E SP:FB CYC:335 SL:243
C86E 38 SEC A:00 X:00 Y:00 P:2E SP:FB CYC: 3 SL:244
C86F A9 FF LDA #$FF A:00 X:00 Y:00 P:2F SP:FB CYC: 9 SL:244
C871 48 PHA A:FF X:00 Y:00 P:AD SP:FB CYC: 15 SL:244
C872 A9 00 LDA #$00 A:FF X:00 Y:00 P:AD SP:FA CYC: 24 SL:244
C874 68 PLA A:00 X:00 Y:00 P:2F SP:FA CYC: 30 SL:244
C875 F0 09 BEQ $C880 A:FF X:00 Y:00 P:AD SP:FB CYC: 42 SL:244
C877 10 07 BPL $C880 A:FF X:00 Y:00 P:AD SP:FB CYC: 48 SL:244
C879 70 05 BVS $C880 A:FF X:00 Y:00 P:AD SP:FB CYC: 54 SL:244
C87B 90 03 BCC $C880 A:FF X:00 Y:00 P:AD SP:FB CYC: 60 SL:244
C87D 4C 84 C8 JMP $C884 A:FF X:00 Y:00 P:AD SP:FB CYC: 66 SL:244
C884 60 RTS A:FF X:00 Y:00 P:AD SP:FB CYC: 75 SL:244
C603 20 85 C8 JSR $C885 A:FF X:00 Y:00 P:AD SP:FD CYC: 93 SL:244
C885 EA NOP A:FF X:00 Y:00 P:AD SP:FB CYC:111 SL:244
C886 18 CLC A:FF X:00 Y:00 P:AD SP:FB CYC:117 SL:244
C887 A9 FF LDA #$FF A:FF X:00 Y:00 P:AC SP:FB CYC:123 SL:244
C889 85 01 STA $01 = 00 A:FF X:00 Y:00 P:AC SP:FB CYC:129 SL:244
C88B 24 01 BIT $01 = FF A:FF X:00 Y:00 P:AC SP:FB CYC:138 SL:244
C88D A9 55 LDA #$55 A:FF X:00 Y:00 P:EC SP:FB CYC:147 SL:244
C88F 09 AA ORA #$AA A:55 X:00 Y:00 P:6C SP:FB CYC:153 SL:244
C891 B0 0B BCS $C89E A:FF X:00 Y:00 P:EC SP:FB CYC:159 SL:244
C893 10 09 BPL $C89E A:FF X:00 Y:00 P:EC SP:FB CYC:165 SL:244
C895 C9 FF CMP #$FF A:FF X:00 Y:00 P:EC SP:FB CYC:171 SL:244
C897 D0 05 BNE $C89E A:FF X:00 Y:00 P:6F SP:FB CYC:177 SL:244
C899 50 03 BVC $C89E A:FF X:00 Y:00 P:6F SP:FB CYC:183 SL:244
C89B 4C A2 C8 JMP $C8A2 A:FF X:00 Y:00 P:6F SP:FB CYC:189 SL:244
C8A2 EA NOP A:FF X:00 Y:00 P:6F SP:FB CYC:198 SL:244
C8A3 38 SEC A:FF X:00 Y:00 P:6F SP:FB CYC:204 SL:244
C8A4 B8 CLV A:FF X:00 Y:00 P:6F SP:FB CYC:210 SL:244
C8A5 A9 00 LDA #$00 A:FF X:00 Y:00 P:2F SP:FB CYC:216 SL:244
C8A7 09 00 ORA #$00 A:00 X:00 Y:00 P:2F SP:FB CYC:222 SL:244
C8A9 D0 09 BNE $C8B4 A:00 X:00 Y:00 P:2F SP:FB CYC:228 SL:244
C8AB 70 07 BVS $C8B4 A:00 X:00 Y:00 P:2F SP:FB CYC:234 SL:244
C8AD 90 05 BCC $C8B4 A:00 X:00 Y:00 P:2F SP:FB CYC:240 SL:244
C8AF 30 03 BMI $C8B4 A:00 X:00 Y:00 P:2F SP:FB CYC:246 SL:244
C8B1 4C B8 C8 JMP $C8B8 A:00 X:00 Y:00 P:2F SP:FB CYC:252 SL:244
C8B8 EA NOP A:00 X:00 Y:00 P:2F SP:FB CYC:261 SL:244
C8B9 18 CLC A:00 X:00 Y:00 P:2F SP:FB CYC:267 SL:244
C8BA 24 01 BIT $01 = FF A:00 X:00 Y:00 P:2E SP:FB CYC:273 SL:244
C8BC A9 55 LDA #$55 A:00 X:00 Y:00 P:EE SP:FB CYC:282 SL:244
C8BE 29 AA AND #$AA A:55 X:00 Y:00 P:6C SP:FB CYC:288 SL:244
C8C0 D0 09 BNE $C8CB A:00 X:00 Y:00 P:6E SP:FB CYC:294 SL:244
C8C2 50 07 BVC $C8CB A:00 X:00 Y:00 P:6E SP:FB CYC:300 SL:244
C8C4 B0 05 BCS $C8CB A:00 X:00 Y:00 P:6E SP:FB CYC:306 SL:244
C8C6 30 03 BMI $C8CB A:00 X:00 Y:00 P:6E SP:FB CYC:312 SL:244
C8C8 4C CF C8 JMP $C8CF A:00 X:00 Y:00 P:6E SP:FB CYC:318 SL:244
C8CF EA NOP A:00 X:00 Y:00 P:6E SP:FB CYC:327 SL:244
C8D0 38 SEC A:00 X:00 Y:00 P:6E SP:FB CYC:333 SL:244
C8D1 B8 CLV A:00 X:00 Y:00 P:6F SP:FB CYC:339 SL:244
C8D2 A9 F8 LDA #$F8 A:00 X:00 Y:00 P:2F SP:FB CYC: 4 SL:245
C8D4 29 EF AND #$EF A:F8 X:00 Y:00 P:AD SP:FB CYC: 10 SL:245
C8D6 90 0B BCC $C8E3 A:E8 X:00 Y:00 P:AD SP:FB CYC: 16 SL:245
C8D8 10 09 BPL $C8E3 A:E8 X:00 Y:00 P:AD SP:FB CYC: 22 SL:245
C8DA C9 E8 CMP #$E8 A:E8 X:00 Y:00 P:AD SP:FB CYC: 28 SL:245
C8DC D0 05 BNE $C8E3 A:E8 X:00 Y:00 P:2F SP:FB CYC: 34 SL:245
C8DE 70 03 BVS $C8E3 A:E8 X:00 Y:00 P:2F SP:FB CYC: 40 SL:245
C8E0 4C E7 C8 JMP $C8E7 A:E8 X:00 Y:00 P:2F SP:FB CYC: 46 SL:245
C8E7 EA NOP A:E8 X:00 Y:00 P:2F SP:FB CYC: 55 SL:245
C8E8 18 CLC A:E8 X:00 Y:00 P:2F SP:FB CYC: 61 SL:245
C8E9 24 01 BIT $01 = FF A:E8 X:00 Y:00 P:2E SP:FB CYC: 67 SL:245
C8EB A9 5F LDA #$5F A:E8 X:00 Y:00 P:EC SP:FB CYC: 76 SL:245
C8ED 49 AA EOR #$AA A:5F X:00 Y:00 P:6C SP:FB CYC: 82 SL:245
C8EF B0 0B BCS $C8FC A:F5 X:00 Y:00 P:EC SP:FB CYC: 88 SL:245
C8F1 10 09 BPL $C8FC A:F5 X:00 Y:00 P:EC SP:FB CYC: 94 SL:245
C8F3 C9 F5 CMP #$F5 A:F5 X:00 Y:00 P:EC SP:FB CYC:100 SL:245
C8F5 D0 05 BNE $C8FC A:F5 X:00 Y:00 P:6F SP:FB CYC:106 SL:245
C8F7 50 03 BVC $C8FC A:F5 X:00 Y:00 P:6F SP:FB CYC:112 SL:245
C8F9 4C 00 C9 JMP $C900 A:F5 X:00 Y:00 P:6F SP:FB CYC:118 SL:245
C900 EA NOP A:F5 X:00 Y:00 P:6F SP:FB CYC:127 SL:245
C901 38 SEC A:F5 X:00 Y:00 P:6F SP:FB CYC:133 SL:245
C902 B8 CLV A:F5 X:00 Y:00 P:6F SP:FB CYC:139 SL:245
C903 A9 70 LDA #$70 A:F5 X:00 Y:00 P:2F SP:FB CYC:145 SL:245
C905 49 70 EOR #$70 A:70 X:00 Y:00 P:2D SP:FB CYC:151 SL:245
C907 D0 09 BNE $C912 A:00 X:00 Y:00 P:2F SP:FB CYC:157 SL:245
C909 70 07 BVS $C912 A:00 X:00 Y:00 P:2F SP:FB CYC:163 SL:245
C90B 90 05 BCC $C912 A:00 X:00 Y:00 P:2F SP:FB CYC:169 SL:245
C90D 30 03 BMI $C912 A:00 X:00 Y:00 P:2F SP:FB CYC:175 SL:245
C90F 4C 16 C9 JMP $C916 A:00 X:00 Y:00 P:2F SP:FB CYC:181 SL:245
C916 EA NOP A:00 X:00 Y:00 P:2F SP:FB CYC:190 SL:245
C917 18 CLC A:00 X:00 Y:00 P:2F SP:FB CYC:196 SL:245
C918 24 01 BIT $01 = FF A:00 X:00 Y:00 P:2E SP:FB CYC:202 SL:245
C91A A9 00 LDA #$00 A:00 X:00 Y:00 P:EE SP:FB CYC:211 SL:245
C91C 69 69 ADC #$69 A:00 X:00 Y:00 P:6E SP:FB CYC:217 SL:245
C91E 30 0B BMI $C92B A:69 X:00 Y:00 P:2C SP:FB CYC:223 SL:245
C920 B0 09 BCS $C92B A:69 X:00 Y:00 P:2C SP:FB CYC:229 SL:245
C922 C9 69 CMP #$69 A:69 X:00 Y:00 P:2C SP:FB CYC:235 SL:245
C924 D0 05 BNE $C92B A:69 X:00 Y:00 P:2F SP:FB CYC:241 SL:245
C926 70 03 BVS $C92B A:69 X:00 Y:00 P:2F SP:FB CYC:247 SL:245
C928 4C 2F C9 JMP $C92F A:69 X:00 Y:00 P:2F SP:FB CYC:253 SL:245
C92F EA NOP A:69 X:00 Y:00 P:2F SP:FB CYC:262 SL:245
C930 38 SEC A:69 X:00 Y:00 P:2F SP:FB CYC:268 SL:245
C931 F8 SED A:69 X:00 Y:00 P:2F SP:FB CYC:274 SL:245
C932 24 01 BIT $01 = FF A:69 X:00 Y:00 P:2F SP:FB CYC:280 SL:245
C934 A9 01 LDA #$01 A:69 X:00 Y:00 P:ED SP:FB CYC:289 SL:245
C936 69 69 ADC #$69 A:01 X:00 Y:00 P:6D SP:FB CYC:295 SL:245
C938 30 0B BMI $C945 A:6B X:00 Y:00 P:2C SP:FB CYC:301 SL:245
C93A B0 09 BCS $C945 A:6B X:00 Y:00 P:2C SP:FB CYC:307 SL:245
C93C C9 6B CMP #$6B A:6B X:00 Y:00 P:2C SP:FB CYC:313 SL:245
C93E D0 05 BNE $C945 A:6B X:00 Y:00 P:2F SP:FB CYC:319 SL:245
C940 70 03 BVS $C945 A:6B X:00 Y:00 P:2F SP:FB CYC:325 SL:245
C942 4C 49 C9 JMP $C949 A:6B X:00 Y:00 P:2F SP:FB CYC:331 SL:245
C949 EA NOP A:6B X:00 Y:00 P:2F SP:FB CYC:340 SL:245
C94A D8 CLD A:6B X:00 Y:00 P:2F SP:FB CYC: 5 SL:246
C94B 38 SEC A:6B X:00 Y:00 P:27 SP:FB CYC: 11 SL:246
C94C B8 CLV A:6B X:00 Y:00 P:27 SP:FB CYC: 17 SL:246
C94D A9 7F LDA #$7F A:6B X:00 Y:00 P:27 SP:FB CYC: 23 SL:246
C94F 69 7F ADC #$7F A:7F X:00 Y:00 P:25 SP:FB CYC: 29 SL:246
C951 10 0B BPL $C95E A:FF X:00 Y:00 P:E4 SP:FB CYC: 35 SL:246
C953 B0 09 BCS $C95E A:FF X:00 Y:00 P:E4 SP:FB CYC: 41 SL:246
C955 C9 FF CMP #$FF A:FF X:00 Y:00 P:E4 SP:FB CYC: 47 SL:246
C957 D0 05 BNE $C95E A:FF X:00 Y:00 P:67 SP:FB CYC: 53 SL:246
C959 50 03 BVC $C95E A:FF X:00 Y:00 P:67 SP:FB CYC: 59 SL:246
C95B 4C 62 C9 JMP $C962 A:FF X:00 Y:00 P:67 SP:FB CYC: 65 SL:246
C962 EA NOP A:FF X:00 Y:00 P:67 SP:FB CYC: 74 SL:246
C963 18 CLC A:FF X:00 Y:00 P:67 SP:FB CYC: 80 SL:246
C964 24 01 BIT $01 = FF A:FF X:00 Y:00 P:66 SP:FB CYC: 86 SL:246
C966 A9 7F LDA #$7F A:FF X:00 Y:00 P:E4 SP:FB CYC: 95 SL:246
C968 69 80 ADC #$80 A:7F X:00 Y:00 P:64 SP:FB CYC:101 SL:246
C96A 10 0B BPL $C977 A:FF X:00 Y:00 P:A4 SP:FB CYC:107 SL:246
C96C B0 09 BCS $C977 A:FF X:00 Y:00 P:A4 SP:FB CYC:113 SL:246
C96E C9 FF CMP #$FF A:FF X:00 Y:00 P:A4 SP:FB CYC:119 SL:246
C970 D0 05 BNE $C977 A:FF X:00 Y:00 P:27 SP:FB CYC:125 SL:246
C972 70 03 BVS $C977 A:FF X:00 Y:00 P:27 SP:FB CYC:131 SL:246
C974 4C 7B C9 JMP $C97B A:FF X:00 Y:00 P:27 SP:FB CYC:137 SL:246
C97B EA NOP A:FF X:00 Y:00 P:27 SP:FB CYC:146 SL:246
C97C 38 SEC A:FF X:00 Y:00 P:27 SP:FB CYC:152 SL:246
C97D B8 CLV A:FF X:00 Y:00 P:27 SP:FB CYC:158 SL:246
C97E A9 7F LDA #$7F A:FF X:00 Y:00 P:27 SP:FB CYC:164 SL:246
C980 69 80 ADC #$80 A:7F X:00 Y:00 P:25 SP:FB CYC:170 SL:246
C982 D0 09 BNE $C98D A:00 X:00 Y:00 P:27 SP:FB CYC:176 SL:246
C984 30 07 BMI $C98D A:00 X:00 Y:00 P:27 SP:FB CYC:182 SL:246
C986 70 05 BVS $C98D A:00 X:00 Y:00 P:27 SP:FB CYC:188 SL:246
C988 90 03 BCC $C98D A:00 X:00 Y:00 P:27 SP:FB CYC:194 SL:246
C98A 4C 91 C9 JMP $C991 A:00 X:00 Y:00 P:27 SP:FB CYC:200 SL:246
C991 EA NOP A:00 X:00 Y:00 P:27 SP:FB CYC:209 SL:246
C992 38 SEC A:00 X:00 Y:00 P:27 SP:FB CYC:215 SL:246
C993 B8 CLV A:00 X:00 Y:00 P:27 SP:FB CYC:221 SL:246
C994 A9 9F LDA #$9F A:00 X:00 Y:00 P:27 SP:FB CYC:227 SL:246
C996 F0 09 BEQ $C9A1 A:9F X:00 Y:00 P:A5 SP:FB CYC:233 SL:246
C998 10 07 BPL $C9A1 A:9F X:00 Y:00 P:A5 SP:FB CYC:239 SL:246
C99A 70 05 BVS $C9A1 A:9F X:00 Y:00 P:A5 SP:FB CYC:245 SL:246
C99C 90 03 BCC $C9A1 A:9F X:00 Y:00 P:A5 SP:FB CYC:251 SL:246
C99E 4C A5 C9 JMP $C9A5 A:9F X:00 Y:00 P:A5 SP:FB CYC:257 SL:246
C9A5 EA NOP A:9F X:00 Y:00 P:A5 SP:FB CYC:266 SL:246
C9A6 18 CLC A:9F X:00 Y:00 P:A5 SP:FB CYC:272 SL:246
C9A7 24 01 BIT $01 = FF A:9F X:00 Y:00 P:A4 SP:FB CYC:278 SL:246
C9A9 A9 00 LDA #$00 A:9F X:00 Y:00 P:E4 SP:FB CYC:287 SL:246
C9AB D0 09 BNE $C9B6 A:00 X:00 Y:00 P:66 SP:FB CYC:293 SL:246
C9AD 30 07 BMI $C9B6 A:00 X:00 Y:00 P:66 SP:FB CYC:299 SL:246
C9AF 50 05 BVC $C9B6 A:00 X:00 Y:00 P:66 SP:FB CYC:305 SL:246
C9B1 B0 03 BCS $C9B6 A:00 X:00 Y:00 P:66 SP:FB CYC:311 SL:246
C9B3 4C BA C9 JMP $C9BA A:00 X:00 Y:00 P:66 SP:FB CYC:317 SL:246
C9BA EA NOP A:00 X:00 Y:00 P:66 SP:FB CYC:326 SL:246
C9BB 24 01 BIT $01 = FF A:00 X:00 Y:00 P:66 SP:FB CYC:332 SL:246
C9BD A9 40 LDA #$40 A:00 X:00 Y:00 P:E6 SP:FB CYC: 0 SL:247
C9BF C9 40 CMP #$40 A:40 X:00 Y:00 P:64 SP:FB CYC: 6 SL:247
C9C1 30 09 BMI $C9CC A:40 X:00 Y:00 P:67 SP:FB CYC: 12 SL:247
C9C3 90 07 BCC $C9CC A:40 X:00 Y:00 P:67 SP:FB CYC: 18 SL:247
C9C5 D0 05 BNE $C9CC A:40 X:00 Y:00 P:67 SP:FB CYC: 24 SL:247
C9C7 50 03 BVC $C9CC A:40 X:00 Y:00 P:67 SP:FB CYC: 30 SL:247
C9C9 4C D0 C9 JMP $C9D0 A:40 X:00 Y:00 P:67 SP:FB CYC: 36 SL:247
C9D0 EA NOP A:40 X:00 Y:00 P:67 SP:FB CYC: 45 SL:247
C9D1 B8 CLV A:40 X:00 Y:00 P:67 SP:FB CYC: 51 SL:247
C9D2 C9 3F CMP #$3F A:40 X:00 Y:00 P:27 SP:FB CYC: 57 SL:247
C9D4 F0 09 BEQ $C9DF A:40 X:00 Y:00 P:25 SP:FB CYC: 63 SL:247
C9D6 30 07 BMI $C9DF A:40 X:00 Y:00 P:25 SP:FB CYC: 69 SL:247
C9D8 90 05 BCC $C9DF A:40 X:00 Y:00 P:25 SP:FB CYC: 75 SL:247
C9DA 70 03 BVS $C9DF A:40 X:00 Y:00 P:25 SP:FB CYC: 81 SL:247
C9DC 4C E3 C9 JMP $C9E3 A:40 X:00 Y:00 P:25 SP:FB CYC: 87 SL:247
C9E3 EA NOP A:40 X:00 Y:00 P:25 SP:FB CYC: 96 SL:247
C9E4 C9 41 CMP #$41 A:40 X:00 Y:00 P:25 SP:FB CYC:102 SL:247
C9E6 F0 07 BEQ $C9EF A:40 X:00 Y:00 P:A4 SP:FB CYC:108 SL:247
C9E8 10 05 BPL $C9EF A:40 X:00 Y:00 P:A4 SP:FB CYC:114 SL:247
C9EA 10 03 BPL $C9EF A:40 X:00 Y:00 P:A4 SP:FB CYC:120 SL:247
C9EC 4C F3 C9 JMP $C9F3 A:40 X:00 Y:00 P:A4 SP:FB CYC:126 SL:247
C9F3 EA NOP A:40 X:00 Y:00 P:A4 SP:FB CYC:135 SL:247
C9F4 A9 80 LDA #$80 A:40 X:00 Y:00 P:A4 SP:FB CYC:141 SL:247
C9F6 C9 00 CMP #$00 A:80 X:00 Y:00 P:A4 SP:FB CYC:147 SL:247
C9F8 F0 07 BEQ $CA01 A:80 X:00 Y:00 P:A5 SP:FB CYC:153 SL:247
C9FA 10 05 BPL $CA01 A:80 X:00 Y:00 P:A5 SP:FB CYC:159 SL:247
C9FC 90 03 BCC $CA01 A:80 X:00 Y:00 P:A5 SP:FB CYC:165 SL:247
C9FE 4C 05 CA JMP $CA05 A:80 X:00 Y:00 P:A5 SP:FB CYC:171 SL:247
CA05 EA NOP A:80 X:00 Y:00 P:A5 SP:FB CYC:180 SL:247
CA06 C9 80 CMP #$80 A:80 X:00 Y:00 P:A5 SP:FB CYC:186 SL:247
CA08 D0 07 BNE $CA11 A:80 X:00 Y:00 P:27 SP:FB CYC:192 SL:247
CA0A 30 05 BMI $CA11 A:80 X:00 Y:00 P:27 SP:FB CYC:198 SL:247
CA0C 90 03 BCC $CA11 A:80 X:00 Y:00 P:27 SP:FB CYC:204 SL:247
CA0E 4C 15 CA JMP $CA15 A:80 X:00 Y:00 P:27 SP:FB CYC:210 SL:247
CA15 EA NOP A:80 X:00 Y:00 P:27 SP:FB CYC:219 SL:247
CA16 C9 81 CMP #$81 A:80 X:00 Y:00 P:27 SP:FB CYC:225 SL:247
CA18 B0 07 BCS $CA21 A:80 X:00 Y:00 P:A4 SP:FB CYC:231 SL:247
CA1A F0 05 BEQ $CA21 A:80 X:00 Y:00 P:A4 SP:FB CYC:237 SL:247
CA1C 10 03 BPL $CA21 A:80 X:00 Y:00 P:A4 SP:FB CYC:243 SL:247
CA1E 4C 25 CA JMP $CA25 A:80 X:00 Y:00 P:A4 SP:FB CYC:249 SL:247
CA25 EA NOP A:80 X:00 Y:00 P:A4 SP:FB CYC:258 SL:247
CA26 C9 7F CMP #$7F A:80 X:00 Y:00 P:A4 SP:FB CYC:264 SL:247
CA28 90 07 BCC $CA31 A:80 X:00 Y:00 P:25 SP:FB CYC:270 SL:247
CA2A F0 05 BEQ $CA31 A:80 X:00 Y:00 P:25 SP:FB CYC:276 SL:247
CA2C 30 03 BMI $CA31 A:80 X:00 Y:00 P:25 SP:FB CYC:282 SL:247
CA2E 4C 35 CA JMP $CA35 A:80 X:00 Y:00 P:25 SP:FB CYC:288 SL:247
CA35 EA NOP A:80 X:00 Y:00 P:25 SP:FB CYC:297 SL:247
CA36 24 01 BIT $01 = FF A:80 X:00 Y:00 P:25 SP:FB CYC:303 SL:247
CA38 A0 40 LDY #$40 A:80 X:00 Y:00 P:E5 SP:FB CYC:312 SL:247
CA3A C0 40 CPY #$40 A:80 X:00 Y:40 P:65 SP:FB CYC:318 SL:247
CA3C D0 09 BNE $CA47 A:80 X:00 Y:40 P:67 SP:FB CYC:324 SL:247
CA3E 30 07 BMI $CA47 A:80 X:00 Y:40 P:67 SP:FB CYC:330 SL:247
CA40 90 05 BCC $CA47 A:80 X:00 Y:40 P:67 SP:FB CYC:336 SL:247
CA42 50 03 BVC $CA47 A:80 X:00 Y:40 P:67 SP:FB CYC: 1 SL:248
CA44 4C 4B CA JMP $CA4B A:80 X:00 Y:40 P:67 SP:FB CYC: 7 SL:248
CA4B EA NOP A:80 X:00 Y:40 P:67 SP:FB CYC: 16 SL:248
CA4C B8 CLV A:80 X:00 Y:40 P:67 SP:FB CYC: 22 SL:248
CA4D C0 3F CPY #$3F A:80 X:00 Y:40 P:27 SP:FB CYC: 28 SL:248
CA4F F0 09 BEQ $CA5A A:80 X:00 Y:40 P:25 SP:FB CYC: 34 SL:248
CA51 30 07 BMI $CA5A A:80 X:00 Y:40 P:25 SP:FB CYC: 40 SL:248
CA53 90 05 BCC $CA5A A:80 X:00 Y:40 P:25 SP:FB CYC: 46 SL:248
CA55 70 03 BVS $CA5A A:80 X:00 Y:40 P:25 SP:FB CYC: 52 SL:248
CA57 4C 5E CA JMP $CA5E A:80 X:00 Y:40 P:25 SP:FB CYC: 58 SL:248
CA5E EA NOP A:80 X:00 Y:40 P:25 SP:FB CYC: 67 SL:248
CA5F C0 41 CPY #$41 A:80 X:00 Y:40 P:25 SP:FB CYC: 73 SL:248
CA61 F0 07 BEQ $CA6A A:80 X:00 Y:40 P:A4 SP:FB CYC: 79 SL:248
CA63 10 05 BPL $CA6A A:80 X:00 Y:40 P:A4 SP:FB CYC: 85 SL:248
CA65 10 03 BPL $CA6A A:80 X:00 Y:40 P:A4 SP:FB CYC: 91 SL:248
CA67 4C 6E CA JMP $CA6E A:80 X:00 Y:40 P:A4 SP:FB CYC: 97 SL:248
CA6E EA NOP A:80 X:00 Y:40 P:A4 SP:FB CYC:106 SL:248
CA6F A0 80 LDY #$80 A:80 X:00 Y:40 P:A4 SP:FB CYC:112 SL:248
CA71 C0 00 CPY #$00 A:80 X:00 Y:80 P:A4 SP:FB CYC:118 SL:248
CA73 F0 07 BEQ $CA7C A:80 X:00 Y:80 P:A5 SP:FB CYC:124 SL:248
CA75 10 05 BPL $CA7C A:80 X:00 Y:80 P:A5 SP:FB CYC:130 SL:248
CA77 90 03 BCC $CA7C A:80 X:00 Y:80 P:A5 SP:FB CYC:136 SL:248
CA79 4C 80 CA JMP $CA80 A:80 X:00 Y:80 P:A5 SP:FB CYC:142 SL:248
CA80 EA NOP A:80 X:00 Y:80 P:A5 SP:FB CYC:151 SL:248
CA81 C0 80 CPY #$80 A:80 X:00 Y:80 P:A5 SP:FB CYC:157 SL:248
CA83 D0 07 BNE $CA8C A:80 X:00 Y:80 P:27 SP:FB CYC:163 SL:248
CA85 30 05 BMI $CA8C A:80 X:00 Y:80 P:27 SP:FB CYC:169 SL:248
CA87 90 03 BCC $CA8C A:80 X:00 Y:80 P:27 SP:FB CYC:175 SL:248
CA89 4C 90 CA JMP $CA90 A:80 X:00 Y:80 P:27 SP:FB CYC:181 SL:248
CA90 EA NOP A:80 X:00 Y:80 P:27 SP:FB CYC:190 SL:248
CA91 C0 81 CPY #$81 A:80 X:00 Y:80 P:27 SP:FB CYC:196 SL:248
CA93 B0 07 BCS $CA9C A:80 X:00 Y:80 P:A4 SP:FB CYC:202 SL:248
CA95 F0 05 BEQ $CA9C A:80 X:00 Y:80 P:A4 SP:FB CYC:208 SL:248
CA97 10 03 BPL $CA9C A:80 X:00 Y:80 P:A4 SP:FB CYC:214 SL:248
CA99 4C A0 CA JMP $CAA0 A:80 X:00 Y:80 P:A4 SP:FB CYC:220 SL:248
CAA0 EA NOP A:80 X:00 Y:80 P:A4 SP:FB CYC:229 SL:248
CAA1 C0 7F CPY #$7F A:80 X:00 Y:80 P:A4 SP:FB CYC:235 SL:248
CAA3 90 07 BCC $CAAC A:80 X:00 Y:80 P:25 SP:FB CYC:241 SL:248
CAA5 F0 05 BEQ $CAAC A:80 X:00 Y:80 P:25 SP:FB CYC:247 SL:248
CAA7 30 03 BMI $CAAC A:80 X:00 Y:80 P:25 SP:FB CYC:253 SL:248
CAA9 4C B0 CA JMP $CAB0 A:80 X:00 Y:80 P:25 SP:FB CYC:259 SL:248
CAB0 EA NOP A:80 X:00 Y:80 P:25 SP:FB CYC:268 SL:248
CAB1 24 01 BIT $01 = FF A:80 X:00 Y:80 P:25 SP:FB CYC:274 SL:248
CAB3 A2 40 LDX #$40 A:80 X:00 Y:80 P:E5 SP:FB CYC:283 SL:248
CAB5 E0 40 CPX #$40 A:80 X:40 Y:80 P:65 SP:FB CYC:289 SL:248
CAB7 D0 09 BNE $CAC2 A:80 X:40 Y:80 P:67 SP:FB CYC:295 SL:248
CAB9 30 07 BMI $CAC2 A:80 X:40 Y:80 P:67 SP:FB CYC:301 SL:248
CABB 90 05 BCC $CAC2 A:80 X:40 Y:80 P:67 SP:FB CYC:307 SL:248
CABD 50 03 BVC $CAC2 A:80 X:40 Y:80 P:67 SP:FB CYC:313 SL:248
CABF 4C C6 CA JMP $CAC6 A:80 X:40 Y:80 P:67 SP:FB CYC:319 SL:248
CAC6 EA NOP A:80 X:40 Y:80 P:67 SP:FB CYC:328 SL:248
CAC7 B8 CLV A:80 X:40 Y:80 P:67 SP:FB CYC:334 SL:248
CAC8 E0 3F CPX #$3F A:80 X:40 Y:80 P:27 SP:FB CYC:340 SL:248
CACA F0 09 BEQ $CAD5 A:80 X:40 Y:80 P:25 SP:FB CYC: 5 SL:249
CACC 30 07 BMI $CAD5 A:80 X:40 Y:80 P:25 SP:FB CYC: 11 SL:249
CACE 90 05 BCC $CAD5 A:80 X:40 Y:80 P:25 SP:FB CYC: 17 SL:249
CAD0 70 03 BVS $CAD5 A:80 X:40 Y:80 P:25 SP:FB CYC: 23 SL:249
CAD2 4C D9 CA JMP $CAD9 A:80 X:40 Y:80 P:25 SP:FB CYC: 29 SL:249
CAD9 EA NOP A:80 X:40 Y:80 P:25 SP:FB CYC: 38 SL:249
CADA E0 41 CPX #$41 A:80 X:40 Y:80 P:25 SP:FB CYC: 44 SL:249
CADC F0 07 BEQ $CAE5 A:80 X:40 Y:80 P:A4 SP:FB CYC: 50 SL:249
CADE 10 05 BPL $CAE5 A:80 X:40 Y:80 P:A4 SP:FB CYC: 56 SL:249
CAE0 10 03 BPL $CAE5 A:80 X:40 Y:80 P:A4 SP:FB CYC: 62 SL:249
CAE2 4C E9 CA JMP $CAE9 A:80 X:40 Y:80 P:A4 SP:FB CYC: 68 SL:249
CAE9 EA NOP A:80 X:40 Y:80 P:A4 SP:FB CYC: 77 SL:249
CAEA A2 80 LDX #$80 A:80 X:40 Y:80 P:A4 SP:FB CYC: 83 SL:249
CAEC E0 00 CPX #$00 A:80 X:80 Y:80 P:A4 SP:FB CYC: 89 SL:249
CAEE F0 07 BEQ $CAF7 A:80 X:80 Y:80 P:A5 SP:FB CYC: 95 SL:249
CAF0 10 05 BPL $CAF7 A:80 X:80 Y:80 P:A5 SP:FB CYC:101 SL:249
CAF2 90 03 BCC $CAF7 A:80 X:80 Y:80 P:A5 SP:FB CYC:107 SL:249
CAF4 4C FB CA JMP $CAFB A:80 X:80 Y:80 P:A5 SP:FB CYC:113 SL:249
CAFB EA NOP A:80 X:80 Y:80 P:A5 SP:FB CYC:122 SL:249
CAFC E0 80 CPX #$80 A:80 X:80 Y:80 P:A5 SP:FB CYC:128 SL:249
CAFE D0 07 BNE $CB07 A:80 X:80 Y:80 P:27 SP:FB CYC:134 SL:249
CB00 30 05 BMI $CB07 A:80 X:80 Y:80 P:27 SP:FB CYC:140 SL:249
CB02 90 03 BCC $CB07 A:80 X:80 Y:80 P:27 SP:FB CYC:146 SL:249
CB04 4C 0B CB JMP $CB0B A:80 X:80 Y:80 P:27 SP:FB CYC:152 SL:249
CB0B EA NOP A:80 X:80 Y:80 P:27 SP:FB CYC:161 SL:249
CB0C E0 81 CPX #$81 A:80 X:80 Y:80 P:27 SP:FB CYC:167 SL:249
CB0E B0 07 BCS $CB17 A:80 X:80 Y:80 P:A4 SP:FB CYC:173 SL:249
CB10 F0 05 BEQ $CB17 A:80 X:80 Y:80 P:A4 SP:FB CYC:179 SL:249
CB12 10 03 BPL $CB17 A:80 X:80 Y:80 P:A4 SP:FB CYC:185 SL:249
CB14 4C 1B CB JMP $CB1B A:80 X:80 Y:80 P:A4 SP:FB CYC:191 SL:249
CB1B EA NOP A:80 X:80 Y:80 P:A4 SP:FB CYC:200 SL:249
CB1C E0 7F CPX #$7F A:80 X:80 Y:80 P:A4 SP:FB CYC:206 SL:249
CB1E 90 07 BCC $CB27 A:80 X:80 Y:80 P:25 SP:FB CYC:212 SL:249
CB20 F0 05 BEQ $CB27 A:80 X:80 Y:80 P:25 SP:FB CYC:218 SL:249
CB22 30 03 BMI $CB27 A:80 X:80 Y:80 P:25 SP:FB CYC:224 SL:249
CB24 4C 2B CB JMP $CB2B A:80 X:80 Y:80 P:25 SP:FB CYC:230 SL:249
CB2B EA NOP A:80 X:80 Y:80 P:25 SP:FB CYC:239 SL:249
CB2C 38 SEC A:80 X:80 Y:80 P:25 SP:FB CYC:245 SL:249
CB2D B8 CLV A:80 X:80 Y:80 P:25 SP:FB CYC:251 SL:249
CB2E A2 9F LDX #$9F A:80 X:80 Y:80 P:25 SP:FB CYC:257 SL:249
CB30 F0 09 BEQ $CB3B A:80 X:9F Y:80 P:A5 SP:FB CYC:263 SL:249
CB32 10 07 BPL $CB3B A:80 X:9F Y:80 P:A5 SP:FB CYC:269 SL:249
CB34 70 05 BVS $CB3B A:80 X:9F Y:80 P:A5 SP:FB CYC:275 SL:249
CB36 90 03 BCC $CB3B A:80 X:9F Y:80 P:A5 SP:FB CYC:281 SL:249
CB38 4C 3F CB JMP $CB3F A:80 X:9F Y:80 P:A5 SP:FB CYC:287 SL:249
CB3F EA NOP A:80 X:9F Y:80 P:A5 SP:FB CYC:296 SL:249
CB40 18 CLC A:80 X:9F Y:80 P:A5 SP:FB CYC:302 SL:249
CB41 24 01 BIT $01 = FF A:80 X:9F Y:80 P:A4 SP:FB CYC:308 SL:249
CB43 A2 00 LDX #$00 A:80 X:9F Y:80 P:E4 SP:FB CYC:317 SL:249
CB45 D0 09 BNE $CB50 A:80 X:00 Y:80 P:66 SP:FB CYC:323 SL:249
CB47 30 07 BMI $CB50 A:80 X:00 Y:80 P:66 SP:FB CYC:329 SL:249
CB49 50 05 BVC $CB50 A:80 X:00 Y:80 P:66 SP:FB CYC:335 SL:249
CB4B B0 03 BCS $CB50 A:80 X:00 Y:80 P:66 SP:FB CYC: 0 SL:250
CB4D 4C 54 CB JMP $CB54 A:80 X:00 Y:80 P:66 SP:FB CYC: 6 SL:250
CB54 EA NOP A:80 X:00 Y:80 P:66 SP:FB CYC: 15 SL:250
CB55 38 SEC A:80 X:00 Y:80 P:66 SP:FB CYC: 21 SL:250
CB56 B8 CLV A:80 X:00 Y:80 P:67 SP:FB CYC: 27 SL:250
CB57 A0 9F LDY #$9F A:80 X:00 Y:80 P:27 SP:FB CYC: 33 SL:250
CB59 F0 09 BEQ $CB64 A:80 X:00 Y:9F P:A5 SP:FB CYC: 39 SL:250
CB5B 10 07 BPL $CB64 A:80 X:00 Y:9F P:A5 SP:FB CYC: 45 SL:250
CB5D 70 05 BVS $CB64 A:80 X:00 Y:9F P:A5 SP:FB CYC: 51 SL:250
CB5F 90 03 BCC $CB64 A:80 X:00 Y:9F P:A5 SP:FB CYC: 57 SL:250
CB61 4C 68 CB JMP $CB68 A:80 X:00 Y:9F P:A5 SP:FB CYC: 63 SL:250
CB68 EA NOP A:80 X:00 Y:9F P:A5 SP:FB CYC: 72 SL:250
CB69 18 CLC A:80 X:00 Y:9F P:A5 SP:FB CYC: 78 SL:250
CB6A 24 01 BIT $01 = FF A:80 X:00 Y:9F P:A4 SP:FB CYC: 84 SL:250
CB6C A0 00 LDY #$00 A:80 X:00 Y:9F P:E4 SP:FB CYC: 93 SL:250
CB6E D0 09 BNE $CB79 A:80 X:00 Y:00 P:66 SP:FB CYC: 99 SL:250
CB70 30 07 BMI $CB79 A:80 X:00 Y:00 P:66 SP:FB CYC:105 SL:250
CB72 50 05 BVC $CB79 A:80 X:00 Y:00 P:66 SP:FB CYC:111 SL:250
CB74 B0 03 BCS $CB79 A:80 X:00 Y:00 P:66 SP:FB CYC:117 SL:250
CB76 4C 7D CB JMP $CB7D A:80 X:00 Y:00 P:66 SP:FB CYC:123 SL:250
CB7D EA NOP A:80 X:00 Y:00 P:66 SP:FB CYC:132 SL:250
CB7E A9 55 LDA #$55 A:80 X:00 Y:00 P:66 SP:FB CYC:138 SL:250
CB80 A2 AA LDX #$AA A:55 X:00 Y:00 P:64 SP:FB CYC:144 SL:250
CB82 A0 33 LDY #$33 A:55 X:AA Y:00 P:E4 SP:FB CYC:150 SL:250
CB84 C9 55 CMP #$55 A:55 X:AA Y:33 P:64 SP:FB CYC:156 SL:250
CB86 D0 23 BNE $CBAB A:55 X:AA Y:33 P:67 SP:FB CYC:162 SL:250
CB88 E0 AA CPX #$AA A:55 X:AA Y:33 P:67 SP:FB CYC:168 SL:250
CB8A D0 1F BNE $CBAB A:55 X:AA Y:33 P:67 SP:FB CYC:174 SL:250
CB8C C0 33 CPY #$33 A:55 X:AA Y:33 P:67 SP:FB CYC:180 SL:250
CB8E D0 1B BNE $CBAB A:55 X:AA Y:33 P:67 SP:FB CYC:186 SL:250
CB90 C9 55 CMP #$55 A:55 X:AA Y:33 P:67 SP:FB CYC:192 SL:250
CB92 D0 17 BNE $CBAB A:55 X:AA Y:33 P:67 SP:FB CYC:198 SL:250
CB94 E0 AA CPX #$AA A:55 X:AA Y:33 P:67 SP:FB CYC:204 SL:250
CB96 D0 13 BNE $CBAB A:55 X:AA Y:33 P:67 SP:FB CYC:210 SL:250
CB98 C0 33 CPY #$33 A:55 X:AA Y:33 P:67 SP:FB CYC:216 SL:250
CB9A D0 0F BNE $CBAB A:55 X:AA Y:33 P:67 SP:FB CYC:222 SL:250
CB9C C9 56 CMP #$56 A:55 X:AA Y:33 P:67 SP:FB CYC:228 SL:250
CB9E F0 0B BEQ $CBAB A:55 X:AA Y:33 P:E4 SP:FB CYC:234 SL:250
CBA0 E0 AB CPX #$AB A:55 X:AA Y:33 P:E4 SP:FB CYC:240 SL:250
CBA2 F0 07 BEQ $CBAB A:55 X:AA Y:33 P:E4 SP:FB CYC:246 SL:250
CBA4 C0 34 CPY #$34 A:55 X:AA Y:33 P:E4 SP:FB CYC:252 SL:250
CBA6 F0 03 BEQ $CBAB A:55 X:AA Y:33 P:E4 SP:FB CYC:258 SL:250
CBA8 4C AF CB JMP $CBAF A:55 X:AA Y:33 P:E4 SP:FB CYC:264 SL:250
CBAF A0 71 LDY #$71 A:55 X:AA Y:33 P:E4 SP:FB CYC:273 SL:250
CBB1 20 31 F9 JSR $F931 A:55 X:AA Y:71 P:64 SP:FB CYC:279 SL:250
F931 24 01 BIT $01 = FF A:55 X:AA Y:71 P:64 SP:F9 CYC:297 SL:250
F933 A9 40 LDA #$40 A:55 X:AA Y:71 P:E4 SP:F9 CYC:306 SL:250
F935 38 SEC A:40 X:AA Y:71 P:64 SP:F9 CYC:312 SL:250
F936 60 RTS A:40 X:AA Y:71 P:65 SP:F9 CYC:318 SL:250
CBB4 E9 40 SBC #$40 A:40 X:AA Y:71 P:65 SP:FB CYC:336 SL:250
CBB6 20 37 F9 JSR $F937 A:00 X:AA Y:71 P:27 SP:FB CYC: 1 SL:251
F937 30 0B BMI $F944 A:00 X:AA Y:71 P:27 SP:F9 CYC: 19 SL:251
F939 90 09 BCC $F944 A:00 X:AA Y:71 P:27 SP:F9 CYC: 25 SL:251
F93B D0 07 BNE $F944 A:00 X:AA Y:71 P:27 SP:F9 CYC: 31 SL:251
F93D 70 05 BVS $F944 A:00 X:AA Y:71 P:27 SP:F9 CYC: 37 SL:251
F93F C9 00 CMP #$00 A:00 X:AA Y:71 P:27 SP:F9 CYC: 43 SL:251
F941 D0 01 BNE $F944 A:00 X:AA Y:71 P:27 SP:F9 CYC: 49 SL:251
F943 60 RTS A:00 X:AA Y:71 P:27 SP:F9 CYC: 55 SL:251
CBB9 C8 INY A:00 X:AA Y:71 P:27 SP:FB CYC: 73 SL:251
CBBA 20 47 F9 JSR $F947 A:00 X:AA Y:72 P:25 SP:FB CYC: 79 SL:251
F947 B8 CLV A:00 X:AA Y:72 P:25 SP:F9 CYC: 97 SL:251
F948 38 SEC A:00 X:AA Y:72 P:25 SP:F9 CYC:103 SL:251
F949 A9 40 LDA #$40 A:00 X:AA Y:72 P:25 SP:F9 CYC:109 SL:251
F94B 60 RTS A:40 X:AA Y:72 P:25 SP:F9 CYC:115 SL:251
CBBD E9 3F SBC #$3F A:40 X:AA Y:72 P:25 SP:FB CYC:133 SL:251
CBBF 20 4C F9 JSR $F94C A:01 X:AA Y:72 P:25 SP:FB CYC:139 SL:251
F94C F0 0B BEQ $F959 A:01 X:AA Y:72 P:25 SP:F9 CYC:157 SL:251
F94E 30 09 BMI $F959 A:01 X:AA Y:72 P:25 SP:F9 CYC:163 SL:251
F950 90 07 BCC $F959 A:01 X:AA Y:72 P:25 SP:F9 CYC:169 SL:251
F952 70 05 BVS $F959 A:01 X:AA Y:72 P:25 SP:F9 CYC:175 SL:251
F954 C9 01 CMP #$01 A:01 X:AA Y:72 P:25 SP:F9 CYC:181 SL:251
F956 D0 01 BNE $F959 A:01 X:AA Y:72 P:27 SP:F9 CYC:187 SL:251
F958 60 RTS A:01 X:AA Y:72 P:27 SP:F9 CYC:193 SL:251
CBC2 C8 INY A:01 X:AA Y:72 P:27 SP:FB CYC:211 SL:251
CBC3 20 5C F9 JSR $F95C A:01 X:AA Y:73 P:25 SP:FB CYC:217 SL:251
F95C A9 40 LDA #$40 A:01 X:AA Y:73 P:25 SP:F9 CYC:235 SL:251
F95E 38 SEC A:40 X:AA Y:73 P:25 SP:F9 CYC:241 SL:251
F95F 24 01 BIT $01 = FF A:40 X:AA Y:73 P:25 SP:F9 CYC:247 SL:251
F961 60 RTS A:40 X:AA Y:73 P:E5 SP:F9 CYC:256 SL:251
CBC6 E9 41 SBC #$41 A:40 X:AA Y:73 P:E5 SP:FB CYC:274 SL:251
CBC8 20 62 F9 JSR $F962 A:FF X:AA Y:73 P:A4 SP:FB CYC:280 SL:251
F962 B0 0B BCS $F96F A:FF X:AA Y:73 P:A4 SP:F9 CYC:298 SL:251
F964 F0 09 BEQ $F96F A:FF X:AA Y:73 P:A4 SP:F9 CYC:304 SL:251
F966 10 07 BPL $F96F A:FF X:AA Y:73 P:A4 SP:F9 CYC:310 SL:251
F968 70 05 BVS $F96F A:FF X:AA Y:73 P:A4 SP:F9 CYC:316 SL:251
F96A C9 FF CMP #$FF A:FF X:AA Y:73 P:A4 SP:F9 CYC:322 SL:251
F96C D0 01 BNE $F96F A:FF X:AA Y:73 P:27 SP:F9 CYC:328 SL:251
F96E 60 RTS A:FF X:AA Y:73 P:27 SP:F9 CYC:334 SL:251
CBCB C8 INY A:FF X:AA Y:73 P:27 SP:FB CYC: 11 SL:252
CBCC 20 72 F9 JSR $F972 A:FF X:AA Y:74 P:25 SP:FB CYC: 17 SL:252
F972 18 CLC A:FF X:AA Y:74 P:25 SP:F9 CYC: 35 SL:252
F973 A9 80 LDA #$80 A:FF X:AA Y:74 P:24 SP:F9 CYC: 41 SL:252
F975 60 RTS A:80 X:AA Y:74 P:A4 SP:F9 CYC: 47 SL:252
CBCF E9 00 SBC #$00 A:80 X:AA Y:74 P:A4 SP:FB CYC: 65 SL:252
CBD1 20 76 F9 JSR $F976 A:7F X:AA Y:74 P:65 SP:FB CYC: 71 SL:252
F976 90 05 BCC $F97D A:7F X:AA Y:74 P:65 SP:F9 CYC: 89 SL:252
F978 C9 7F CMP #$7F A:7F X:AA Y:74 P:65 SP:F9 CYC: 95 SL:252
F97A D0 01 BNE $F97D A:7F X:AA Y:74 P:67 SP:F9 CYC:101 SL:252
F97C 60 RTS A:7F X:AA Y:74 P:67 SP:F9 CYC:107 SL:252
CBD4 C8 INY A:7F X:AA Y:74 P:67 SP:FB CYC:125 SL:252
CBD5 20 80 F9 JSR $F980 A:7F X:AA Y:75 P:65 SP:FB CYC:131 SL:252
F980 38 SEC A:7F X:AA Y:75 P:65 SP:F9 CYC:149 SL:252
F981 A9 81 LDA #$81 A:7F X:AA Y:75 P:65 SP:F9 CYC:155 SL:252
F983 60 RTS A:81 X:AA Y:75 P:E5 SP:F9 CYC:161 SL:252
CBD8 E9 7F SBC #$7F A:81 X:AA Y:75 P:E5 SP:FB CYC:179 SL:252
CBDA 20 84 F9 JSR $F984 A:02 X:AA Y:75 P:65 SP:FB CYC:185 SL:252
F984 50 07 BVC $F98D A:02 X:AA Y:75 P:65 SP:F9 CYC:203 SL:252
F986 90 05 BCC $F98D A:02 X:AA Y:75 P:65 SP:F9 CYC:209 SL:252
F988 C9 02 CMP #$02 A:02 X:AA Y:75 P:65 SP:F9 CYC:215 SL:252
F98A D0 01 BNE $F98D A:02 X:AA Y:75 P:67 SP:F9 CYC:221 SL:252
F98C 60 RTS A:02 X:AA Y:75 P:67 SP:F9 CYC:227 SL:252
CBDD 60 RTS A:02 X:AA Y:75 P:67 SP:FB CYC:245 SL:252
C606 20 DE CB JSR $CBDE A:02 X:AA Y:75 P:67 SP:FD CYC:263 SL:252
CBDE EA NOP A:02 X:AA Y:75 P:67 SP:FB CYC:281 SL:252
CBDF A9 FF LDA #$FF A:02 X:AA Y:75 P:67 SP:FB CYC:287 SL:252
CBE1 85 01 STA $01 = FF A:FF X:AA Y:75 P:E5 SP:FB CYC:293 SL:252
CBE3 A9 44 LDA #$44 A:FF X:AA Y:75 P:E5 SP:FB CYC:302 SL:252
CBE5 A2 55 LDX #$55 A:44 X:AA Y:75 P:65 SP:FB CYC:308 SL:252
CBE7 A0 66 LDY #$66 A:44 X:55 Y:75 P:65 SP:FB CYC:314 SL:252
CBE9 E8 INX A:44 X:55 Y:66 P:65 SP:FB CYC:320 SL:252
CBEA 88 DEY A:44 X:56 Y:66 P:65 SP:FB CYC:326 SL:252
CBEB E0 56 CPX #$56 A:44 X:56 Y:65 P:65 SP:FB CYC:332 SL:252
CBED D0 21 BNE $CC10 A:44 X:56 Y:65 P:67 SP:FB CYC:338 SL:252
CBEF C0 65 CPY #$65 A:44 X:56 Y:65 P:67 SP:FB CYC: 3 SL:253
CBF1 D0 1D BNE $CC10 A:44 X:56 Y:65 P:67 SP:FB CYC: 9 SL:253
CBF3 E8 INX A:44 X:56 Y:65 P:67 SP:FB CYC: 15 SL:253
CBF4 E8 INX A:44 X:57 Y:65 P:65 SP:FB CYC: 21 SL:253
CBF5 88 DEY A:44 X:58 Y:65 P:65 SP:FB CYC: 27 SL:253
CBF6 88 DEY A:44 X:58 Y:64 P:65 SP:FB CYC: 33 SL:253
CBF7 E0 58 CPX #$58 A:44 X:58 Y:63 P:65 SP:FB CYC: 39 SL:253
CBF9 D0 15 BNE $CC10 A:44 X:58 Y:63 P:67 SP:FB CYC: 45 SL:253
CBFB C0 63 CPY #$63 A:44 X:58 Y:63 P:67 SP:FB CYC: 51 SL:253
CBFD D0 11 BNE $CC10 A:44 X:58 Y:63 P:67 SP:FB CYC: 57 SL:253
CBFF CA DEX A:44 X:58 Y:63 P:67 SP:FB CYC: 63 SL:253
CC00 C8 INY A:44 X:57 Y:63 P:65 SP:FB CYC: 69 SL:253
CC01 E0 57 CPX #$57 A:44 X:57 Y:64 P:65 SP:FB CYC: 75 SL:253
CC03 D0 0B BNE $CC10 A:44 X:57 Y:64 P:67 SP:FB CYC: 81 SL:253
CC05 C0 64 CPY #$64 A:44 X:57 Y:64 P:67 SP:FB CYC: 87 SL:253
CC07 D0 07 BNE $CC10 A:44 X:57 Y:64 P:67 SP:FB CYC: 93 SL:253
CC09 C9 44 CMP #$44 A:44 X:57 Y:64 P:67 SP:FB CYC: 99 SL:253
CC0B D0 03 BNE $CC10 A:44 X:57 Y:64 P:67 SP:FB CYC:105 SL:253
CC0D 4C 14 CC JMP $CC14 A:44 X:57 Y:64 P:67 SP:FB CYC:111 SL:253
CC14 EA NOP A:44 X:57 Y:64 P:67 SP:FB CYC:120 SL:253
CC15 38 SEC A:44 X:57 Y:64 P:67 SP:FB CYC:126 SL:253
CC16 A2 69 LDX #$69 A:44 X:57 Y:64 P:67 SP:FB CYC:132 SL:253
CC18 A9 96 LDA #$96 A:44 X:69 Y:64 P:65 SP:FB CYC:138 SL:253
CC1A 24 01 BIT $01 = FF A:96 X:69 Y:64 P:E5 SP:FB CYC:144 SL:253
CC1C A0 FF LDY #$FF A:96 X:69 Y:64 P:E5 SP:FB CYC:153 SL:253
CC1E C8 INY A:96 X:69 Y:FF P:E5 SP:FB CYC:159 SL:253
CC1F D0 3D BNE $CC5E A:96 X:69 Y:00 P:67 SP:FB CYC:165 SL:253
CC21 30 3B BMI $CC5E A:96 X:69 Y:00 P:67 SP:FB CYC:171 SL:253
CC23 90 39 BCC $CC5E A:96 X:69 Y:00 P:67 SP:FB CYC:177 SL:253
CC25 50 37 BVC $CC5E A:96 X:69 Y:00 P:67 SP:FB CYC:183 SL:253
CC27 C0 00 CPY #$00 A:96 X:69 Y:00 P:67 SP:FB CYC:189 SL:253
CC29 D0 33 BNE $CC5E A:96 X:69 Y:00 P:67 SP:FB CYC:195 SL:253
CC2B C8 INY A:96 X:69 Y:00 P:67 SP:FB CYC:201 SL:253
CC2C F0 30 BEQ $CC5E A:96 X:69 Y:01 P:65 SP:FB CYC:207 SL:253
CC2E 30 2E BMI $CC5E A:96 X:69 Y:01 P:65 SP:FB CYC:213 SL:253
CC30 90 2C BCC $CC5E A:96 X:69 Y:01 P:65 SP:FB CYC:219 SL:253
CC32 50 2A BVC $CC5E A:96 X:69 Y:01 P:65 SP:FB CYC:225 SL:253
CC34 18 CLC A:96 X:69 Y:01 P:65 SP:FB CYC:231 SL:253
CC35 B8 CLV A:96 X:69 Y:01 P:64 SP:FB CYC:237 SL:253
CC36 A0 00 LDY #$00 A:96 X:69 Y:01 P:24 SP:FB CYC:243 SL:253
CC38 88 DEY A:96 X:69 Y:00 P:26 SP:FB CYC:249 SL:253
CC39 F0 23 BEQ $CC5E A:96 X:69 Y:FF P:A4 SP:FB CYC:255 SL:253
CC3B 10 21 BPL $CC5E A:96 X:69 Y:FF P:A4 SP:FB CYC:261 SL:253
CC3D B0 1F BCS $CC5E A:96 X:69 Y:FF P:A4 SP:FB CYC:267 SL:253
CC3F 70 1D BVS $CC5E A:96 X:69 Y:FF P:A4 SP:FB CYC:273 SL:253
CC41 C0 FF CPY #$FF A:96 X:69 Y:FF P:A4 SP:FB CYC:279 SL:253
CC43 D0 19 BNE $CC5E A:96 X:69 Y:FF P:27 SP:FB CYC:285 SL:253
CC45 18 CLC A:96 X:69 Y:FF P:27 SP:FB CYC:291 SL:253
CC46 88 DEY A:96 X:69 Y:FF P:26 SP:FB CYC:297 SL:253
CC47 F0 15 BEQ $CC5E A:96 X:69 Y:FE P:A4 SP:FB CYC:303 SL:253
CC49 10 13 BPL $CC5E A:96 X:69 Y:FE P:A4 SP:FB CYC:309 SL:253
CC4B B0 11 BCS $CC5E A:96 X:69 Y:FE P:A4 SP:FB CYC:315 SL:253
CC4D 70 0F BVS $CC5E A:96 X:69 Y:FE P:A4 SP:FB CYC:321 SL:253
CC4F C0 FE CPY #$FE A:96 X:69 Y:FE P:A4 SP:FB CYC:327 SL:253
CC51 D0 0B BNE $CC5E A:96 X:69 Y:FE P:27 SP:FB CYC:333 SL:253
CC53 C9 96 CMP #$96 A:96 X:69 Y:FE P:27 SP:FB CYC:339 SL:253
CC55 D0 07 BNE $CC5E A:96 X:69 Y:FE P:27 SP:FB CYC: 4 SL:254
CC57 E0 69 CPX #$69 A:96 X:69 Y:FE P:27 SP:FB CYC: 10 SL:254
CC59 D0 03 BNE $CC5E A:96 X:69 Y:FE P:27 SP:FB CYC: 16 SL:254
CC5B 4C 62 CC JMP $CC62 A:96 X:69 Y:FE P:27 SP:FB CYC: 22 SL:254
CC62 EA NOP A:96 X:69 Y:FE P:27 SP:FB CYC: 31 SL:254
CC63 38 SEC A:96 X:69 Y:FE P:27 SP:FB CYC: 37 SL:254
CC64 A0 69 LDY #$69 A:96 X:69 Y:FE P:27 SP:FB CYC: 43 SL:254
CC66 A9 96 LDA #$96 A:96 X:69 Y:69 P:25 SP:FB CYC: 49 SL:254
CC68 24 01 BIT $01 = FF A:96 X:69 Y:69 P:A5 SP:FB CYC: 55 SL:254
CC6A A2 FF LDX #$FF A:96 X:69 Y:69 P:E5 SP:FB CYC: 64 SL:254
CC6C E8 INX A:96 X:FF Y:69 P:E5 SP:FB CYC: 70 SL:254
CC6D D0 3D BNE $CCAC A:96 X:00 Y:69 P:67 SP:FB CYC: 76 SL:254
CC6F 30 3B BMI $CCAC A:96 X:00 Y:69 P:67 SP:FB CYC: 82 SL:254
CC71 90 39 BCC $CCAC A:96 X:00 Y:69 P:67 SP:FB CYC: 88 SL:254
CC73 50 37 BVC $CCAC A:96 X:00 Y:69 P:67 SP:FB CYC: 94 SL:254
CC75 E0 00 CPX #$00 A:96 X:00 Y:69 P:67 SP:FB CYC:100 SL:254
CC77 D0 33 BNE $CCAC A:96 X:00 Y:69 P:67 SP:FB CYC:106 SL:254
CC79 E8 INX A:96 X:00 Y:69 P:67 SP:FB CYC:112 SL:254
CC7A F0 30 BEQ $CCAC A:96 X:01 Y:69 P:65 SP:FB CYC:118 SL:254
CC7C 30 2E BMI $CCAC A:96 X:01 Y:69 P:65 SP:FB CYC:124 SL:254
CC7E 90 2C BCC $CCAC A:96 X:01 Y:69 P:65 SP:FB CYC:130 SL:254
CC80 50 2A BVC $CCAC A:96 X:01 Y:69 P:65 SP:FB CYC:136 SL:254
CC82 18 CLC A:96 X:01 Y:69 P:65 SP:FB CYC:142 SL:254
CC83 B8 CLV A:96 X:01 Y:69 P:64 SP:FB CYC:148 SL:254
CC84 A2 00 LDX #$00 A:96 X:01 Y:69 P:24 SP:FB CYC:154 SL:254
CC86 CA DEX A:96 X:00 Y:69 P:26 SP:FB CYC:160 SL:254
CC87 F0 23 BEQ $CCAC A:96 X:FF Y:69 P:A4 SP:FB CYC:166 SL:254
CC89 10 21 BPL $CCAC A:96 X:FF Y:69 P:A4 SP:FB CYC:172 SL:254
CC8B B0 1F BCS $CCAC A:96 X:FF Y:69 P:A4 SP:FB CYC:178 SL:254
CC8D 70 1D BVS $CCAC A:96 X:FF Y:69 P:A4 SP:FB CYC:184 SL:254
CC8F E0 FF CPX #$FF A:96 X:FF Y:69 P:A4 SP:FB CYC:190 SL:254
CC91 D0 19 BNE $CCAC A:96 X:FF Y:69 P:27 SP:FB CYC:196 SL:254
CC93 18 CLC A:96 X:FF Y:69 P:27 SP:FB CYC:202 SL:254
CC94 CA DEX A:96 X:FF Y:69 P:26 SP:FB CYC:208 SL:254
CC95 F0 15 BEQ $CCAC A:96 X:FE Y:69 P:A4 SP:FB CYC:214 SL:254
CC97 10 13 BPL $CCAC A:96 X:FE Y:69 P:A4 SP:FB CYC:220 SL:254
CC99 B0 11 BCS $CCAC A:96 X:FE Y:69 P:A4 SP:FB CYC:226 SL:254
CC9B 70 0F BVS $CCAC A:96 X:FE Y:69 P:A4 SP:FB CYC:232 SL:254
CC9D E0 FE CPX #$FE A:96 X:FE Y:69 P:A4 SP:FB CYC:238 SL:254
CC9F D0 0B BNE $CCAC A:96 X:FE Y:69 P:27 SP:FB CYC:244 SL:254
CCA1 C9 96 CMP #$96 A:96 X:FE Y:69 P:27 SP:FB CYC:250 SL:254
CCA3 D0 07 BNE $CCAC A:96 X:FE Y:69 P:27 SP:FB CYC:256 SL:254
CCA5 C0 69 CPY #$69 A:96 X:FE Y:69 P:27 SP:FB CYC:262 SL:254
CCA7 D0 03 BNE $CCAC A:96 X:FE Y:69 P:27 SP:FB CYC:268 SL:254
CCA9 4C B0 CC JMP $CCB0 A:96 X:FE Y:69 P:27 SP:FB CYC:274 SL:254
CCB0 EA NOP A:96 X:FE Y:69 P:27 SP:FB CYC:283 SL:254
CCB1 A9 85 LDA #$85 A:96 X:FE Y:69 P:27 SP:FB CYC:289 SL:254
CCB3 A2 34 LDX #$34 A:85 X:FE Y:69 P:A5 SP:FB CYC:295 SL:254
CCB5 A0 99 LDY #$99 A:85 X:34 Y:69 P:25 SP:FB CYC:301 SL:254
CCB7 18 CLC A:85 X:34 Y:99 P:A5 SP:FB CYC:307 SL:254
CCB8 24 01 BIT $01 = FF A:85 X:34 Y:99 P:A4 SP:FB CYC:313 SL:254
CCBA A8 TAY A:85 X:34 Y:99 P:E4 SP:FB CYC:322 SL:254
CCBB F0 2E BEQ $CCEB A:85 X:34 Y:85 P:E4 SP:FB CYC:328 SL:254
CCBD B0 2C BCS $CCEB A:85 X:34 Y:85 P:E4 SP:FB CYC:334 SL:254
CCBF 50 2A BVC $CCEB A:85 X:34 Y:85 P:E4 SP:FB CYC:340 SL:254
CCC1 10 28 BPL $CCEB A:85 X:34 Y:85 P:E4 SP:FB CYC: 5 SL:255
CCC3 C9 85 CMP #$85 A:85 X:34 Y:85 P:E4 SP:FB CYC: 11 SL:255
CCC5 D0 24 BNE $CCEB A:85 X:34 Y:85 P:67 SP:FB CYC: 17 SL:255
CCC7 E0 34 CPX #$34 A:85 X:34 Y:85 P:67 SP:FB CYC: 23 SL:255
CCC9 D0 20 BNE $CCEB A:85 X:34 Y:85 P:67 SP:FB CYC: 29 SL:255
CCCB C0 85 CPY #$85 A:85 X:34 Y:85 P:67 SP:FB CYC: 35 SL:255
CCCD D0 1C BNE $CCEB A:85 X:34 Y:85 P:67 SP:FB CYC: 41 SL:255
CCCF A9 00 LDA #$00 A:85 X:34 Y:85 P:67 SP:FB CYC: 47 SL:255
CCD1 38 SEC A:00 X:34 Y:85 P:67 SP:FB CYC: 53 SL:255
CCD2 B8 CLV A:00 X:34 Y:85 P:67 SP:FB CYC: 59 SL:255
CCD3 A8 TAY A:00 X:34 Y:85 P:27 SP:FB CYC: 65 SL:255
CCD4 D0 15 BNE $CCEB A:00 X:34 Y:00 P:27 SP:FB CYC: 71 SL:255
CCD6 90 13 BCC $CCEB A:00 X:34 Y:00 P:27 SP:FB CYC: 77 SL:255
CCD8 70 11 BVS $CCEB A:00 X:34 Y:00 P:27 SP:FB CYC: 83 SL:255
CCDA 30 0F BMI $CCEB A:00 X:34 Y:00 P:27 SP:FB CYC: 89 SL:255
CCDC C9 00 CMP #$00 A:00 X:34 Y:00 P:27 SP:FB CYC: 95 SL:255
CCDE D0 0B BNE $CCEB A:00 X:34 Y:00 P:27 SP:FB CYC:101 SL:255
CCE0 E0 34 CPX #$34 A:00 X:34 Y:00 P:27 SP:FB CYC:107 SL:255
CCE2 D0 07 BNE $CCEB A:00 X:34 Y:00 P:27 SP:FB CYC:113 SL:255
CCE4 C0 00 CPY #$00 A:00 X:34 Y:00 P:27 SP:FB CYC:119 SL:255
CCE6 D0 03 BNE $CCEB A:00 X:34 Y:00 P:27 SP:FB CYC:125 SL:255
CCE8 4C EF CC JMP $CCEF A:00 X:34 Y:00 P:27 SP:FB CYC:131 SL:255
CCEF EA NOP A:00 X:34 Y:00 P:27 SP:FB CYC:140 SL:255
CCF0 A9 85 LDA #$85 A:00 X:34 Y:00 P:27 SP:FB CYC:146 SL:255
CCF2 A2 34 LDX #$34 A:85 X:34 Y:00 P:A5 SP:FB CYC:152 SL:255
CCF4 A0 99 LDY #$99 A:85 X:34 Y:00 P:25 SP:FB CYC:158 SL:255
CCF6 18 CLC A:85 X:34 Y:99 P:A5 SP:FB CYC:164 SL:255
CCF7 24 01 BIT $01 = FF A:85 X:34 Y:99 P:A4 SP:FB CYC:170 SL:255
CCF9 AA TAX A:85 X:34 Y:99 P:E4 SP:FB CYC:179 SL:255
CCFA F0 2E BEQ $CD2A A:85 X:85 Y:99 P:E4 SP:FB CYC:185 SL:255
CCFC B0 2C BCS $CD2A A:85 X:85 Y:99 P:E4 SP:FB CYC:191 SL:255
CCFE 50 2A BVC $CD2A A:85 X:85 Y:99 P:E4 SP:FB CYC:197 SL:255
CD00 10 28 BPL $CD2A A:85 X:85 Y:99 P:E4 SP:FB CYC:203 SL:255
CD02 C9 85 CMP #$85 A:85 X:85 Y:99 P:E4 SP:FB CYC:209 SL:255
CD04 D0 24 BNE $CD2A A:85 X:85 Y:99 P:67 SP:FB CYC:215 SL:255
CD06 E0 85 CPX #$85 A:85 X:85 Y:99 P:67 SP:FB CYC:221 SL:255
CD08 D0 20 BNE $CD2A A:85 X:85 Y:99 P:67 SP:FB CYC:227 SL:255
CD0A C0 99 CPY #$99 A:85 X:85 Y:99 P:67 SP:FB CYC:233 SL:255
CD0C D0 1C BNE $CD2A A:85 X:85 Y:99 P:67 SP:FB CYC:239 SL:255
CD0E A9 00 LDA #$00 A:85 X:85 Y:99 P:67 SP:FB CYC:245 SL:255
CD10 38 SEC A:00 X:85 Y:99 P:67 SP:FB CYC:251 SL:255
CD11 B8 CLV A:00 X:85 Y:99 P:67 SP:FB CYC:257 SL:255
CD12 AA TAX A:00 X:85 Y:99 P:27 SP:FB CYC:263 SL:255
CD13 D0 15 BNE $CD2A A:00 X:00 Y:99 P:27 SP:FB CYC:269 SL:255
CD15 90 13 BCC $CD2A A:00 X:00 Y:99 P:27 SP:FB CYC:275 SL:255
CD17 70 11 BVS $CD2A A:00 X:00 Y:99 P:27 SP:FB CYC:281 SL:255
CD19 30 0F BMI $CD2A A:00 X:00 Y:99 P:27 SP:FB CYC:287 SL:255
CD1B C9 00 CMP #$00 A:00 X:00 Y:99 P:27 SP:FB CYC:293 SL:255
CD1D D0 0B BNE $CD2A A:00 X:00 Y:99 P:27 SP:FB CYC:299 SL:255
CD1F E0 00 CPX #$00 A:00 X:00 Y:99 P:27 SP:FB CYC:305 SL:255
CD21 D0 07 BNE $CD2A A:00 X:00 Y:99 P:27 SP:FB CYC:311 SL:255
CD23 C0 99 CPY #$99 A:00 X:00 Y:99 P:27 SP:FB CYC:317 SL:255
CD25 D0 03 BNE $CD2A A:00 X:00 Y:99 P:27 SP:FB CYC:323 SL:255
CD27 4C 2E CD JMP $CD2E A:00 X:00 Y:99 P:27 SP:FB CYC:329 SL:255
CD2E EA NOP A:00 X:00 Y:99 P:27 SP:FB CYC:338 SL:255
CD2F A9 85 LDA #$85 A:00 X:00 Y:99 P:27 SP:FB CYC: 3 SL:256
CD31 A2 34 LDX #$34 A:85 X:00 Y:99 P:A5 SP:FB CYC: 9 SL:256
CD33 A0 99 LDY #$99 A:85 X:34 Y:99 P:25 SP:FB CYC: 15 SL:256
CD35 18 CLC A:85 X:34 Y:99 P:A5 SP:FB CYC: 21 SL:256
CD36 24 01 BIT $01 = FF A:85 X:34 Y:99 P:A4 SP:FB CYC: 27 SL:256
CD38 98 TYA A:85 X:34 Y:99 P:E4 SP:FB CYC: 36 SL:256
CD39 F0 2E BEQ $CD69 A:99 X:34 Y:99 P:E4 SP:FB CYC: 42 SL:256
CD3B B0 2C BCS $CD69 A:99 X:34 Y:99 P:E4 SP:FB CYC: 48 SL:256
CD3D 50 2A BVC $CD69 A:99 X:34 Y:99 P:E4 SP:FB CYC: 54 SL:256
CD3F 10 28 BPL $CD69 A:99 X:34 Y:99 P:E4 SP:FB CYC: 60 SL:256
CD41 C9 99 CMP #$99 A:99 X:34 Y:99 P:E4 SP:FB CYC: 66 SL:256
CD43 D0 24 BNE $CD69 A:99 X:34 Y:99 P:67 SP:FB CYC: 72 SL:256
CD45 E0 34 CPX #$34 A:99 X:34 Y:99 P:67 SP:FB CYC: 78 SL:256
CD47 D0 20 BNE $CD69 A:99 X:34 Y:99 P:67 SP:FB CYC: 84 SL:256
CD49 C0 99 CPY #$99 A:99 X:34 Y:99 P:67 SP:FB CYC: 90 SL:256
CD4B D0 1C BNE $CD69 A:99 X:34 Y:99 P:67 SP:FB CYC: 96 SL:256
CD4D A0 00 LDY #$00 A:99 X:34 Y:99 P:67 SP:FB CYC:102 SL:256
CD4F 38 SEC A:99 X:34 Y:00 P:67 SP:FB CYC:108 SL:256
CD50 B8 CLV A:99 X:34 Y:00 P:67 SP:FB CYC:114 SL:256
CD51 98 TYA A:99 X:34 Y:00 P:27 SP:FB CYC:120 SL:256
CD52 D0 15 BNE $CD69 A:00 X:34 Y:00 P:27 SP:FB CYC:126 SL:256
CD54 90 13 BCC $CD69 A:00 X:34 Y:00 P:27 SP:FB CYC:132 SL:256
CD56 70 11 BVS $CD69 A:00 X:34 Y:00 P:27 SP:FB CYC:138 SL:256
CD58 30 0F BMI $CD69 A:00 X:34 Y:00 P:27 SP:FB CYC:144 SL:256
CD5A C9 00 CMP #$00 A:00 X:34 Y:00 P:27 SP:FB CYC:150 SL:256
CD5C D0 0B BNE $CD69 A:00 X:34 Y:00 P:27 SP:FB CYC:156 SL:256
CD5E E0 34 CPX #$34 A:00 X:34 Y:00 P:27 SP:FB CYC:162 SL:256
CD60 D0 07 BNE $CD69 A:00 X:34 Y:00 P:27 SP:FB CYC:168 SL:256
CD62 C0 00 CPY #$00 A:00 X:34 Y:00 P:27 SP:FB CYC:174 SL:256
CD64 D0 03 BNE $CD69 A:00 X:34 Y:00 P:27 SP:FB CYC:180 SL:256
CD66 4C 6D CD JMP $CD6D A:00 X:34 Y:00 P:27 SP:FB CYC:186 SL:256
CD6D EA NOP A:00 X:34 Y:00 P:27 SP:FB CYC:195 SL:256
CD6E A9 85 LDA #$85 A:00 X:34 Y:00 P:27 SP:FB CYC:201 SL:256
CD70 A2 34 LDX #$34 A:85 X:34 Y:00 P:A5 SP:FB CYC:207 SL:256
CD72 A0 99 LDY #$99 A:85 X:34 Y:00 P:25 SP:FB CYC:213 SL:256
CD74 18 CLC A:85 X:34 Y:99 P:A5 SP:FB CYC:219 SL:256
CD75 24 01 BIT $01 = FF A:85 X:34 Y:99 P:A4 SP:FB CYC:225 SL:256
CD77 8A TXA A:85 X:34 Y:99 P:E4 SP:FB CYC:234 SL:256
CD78 F0 2E BEQ $CDA8 A:34 X:34 Y:99 P:64 SP:FB CYC:240 SL:256
CD7A B0 2C BCS $CDA8 A:34 X:34 Y:99 P:64 SP:FB CYC:246 SL:256
CD7C 50 2A BVC $CDA8 A:34 X:34 Y:99 P:64 SP:FB CYC:252 SL:256
CD7E 30 28 BMI $CDA8 A:34 X:34 Y:99 P:64 SP:FB CYC:258 SL:256
CD80 C9 34 CMP #$34 A:34 X:34 Y:99 P:64 SP:FB CYC:264 SL:256
CD82 D0 24 BNE $CDA8 A:34 X:34 Y:99 P:67 SP:FB CYC:270 SL:256
CD84 E0 34 CPX #$34 A:34 X:34 Y:99 P:67 SP:FB CYC:276 SL:256
CD86 D0 20 BNE $CDA8 A:34 X:34 Y:99 P:67 SP:FB CYC:282 SL:256
CD88 C0 99 CPY #$99 A:34 X:34 Y:99 P:67 SP:FB CYC:288 SL:256
CD8A D0 1C BNE $CDA8 A:34 X:34 Y:99 P:67 SP:FB CYC:294 SL:256
CD8C A2 00 LDX #$00 A:34 X:34 Y:99 P:67 SP:FB CYC:300 SL:256
CD8E 38 SEC A:34 X:00 Y:99 P:67 SP:FB CYC:306 SL:256
CD8F B8 CLV A:34 X:00 Y:99 P:67 SP:FB CYC:312 SL:256
CD90 8A TXA A:34 X:00 Y:99 P:27 SP:FB CYC:318 SL:256
CD91 D0 15 BNE $CDA8 A:00 X:00 Y:99 P:27 SP:FB CYC:324 SL:256
CD93 90 13 BCC $CDA8 A:00 X:00 Y:99 P:27 SP:FB CYC:330 SL:256
CD95 70 11 BVS $CDA8 A:00 X:00 Y:99 P:27 SP:FB CYC:336 SL:256
CD97 30 0F BMI $CDA8 A:00 X:00 Y:99 P:27 SP:FB CYC: 1 SL:257
CD99 C9 00 CMP #$00 A:00 X:00 Y:99 P:27 SP:FB CYC: 7 SL:257
CD9B D0 0B BNE $CDA8 A:00 X:00 Y:99 P:27 SP:FB CYC: 13 SL:257
CD9D E0 00 CPX #$00 A:00 X:00 Y:99 P:27 SP:FB CYC: 19 SL:257
CD9F D0 07 BNE $CDA8 A:00 X:00 Y:99 P:27 SP:FB CYC: 25 SL:257
CDA1 C0 99 CPY #$99 A:00 X:00 Y:99 P:27 SP:FB CYC: 31 SL:257
CDA3 D0 03 BNE $CDA8 A:00 X:00 Y:99 P:27 SP:FB CYC: 37 SL:257
CDA5 4C AC CD JMP $CDAC A:00 X:00 Y:99 P:27 SP:FB CYC: 43 SL:257
CDAC EA NOP A:00 X:00 Y:99 P:27 SP:FB CYC: 52 SL:257
CDAD BA TSX A:00 X:00 Y:99 P:27 SP:FB CYC: 58 SL:257
CDAE 8E FF 07 STX $07FF = 00 A:00 X:FB Y:99 P:A5 SP:FB CYC: 64 SL:257
CDB1 A0 33 LDY #$33 A:00 X:FB Y:99 P:A5 SP:FB CYC: 76 SL:257
CDB3 A2 69 LDX #$69 A:00 X:FB Y:33 P:25 SP:FB CYC: 82 SL:257
CDB5 A9 84 LDA #$84 A:00 X:69 Y:33 P:25 SP:FB CYC: 88 SL:257
CDB7 18 CLC A:84 X:69 Y:33 P:A5 SP:FB CYC: 94 SL:257
CDB8 24 01 BIT $01 = FF A:84 X:69 Y:33 P:A4 SP:FB CYC:100 SL:257
CDBA 9A TXS A:84 X:69 Y:33 P:E4 SP:FB CYC:109 SL:257
CDBB F0 32 BEQ $CDEF A:84 X:69 Y:33 P:E4 SP:69 CYC:115 SL:257
CDBD 10 30 BPL $CDEF A:84 X:69 Y:33 P:E4 SP:69 CYC:121 SL:257
CDBF B0 2E BCS $CDEF A:84 X:69 Y:33 P:E4 SP:69 CYC:127 SL:257
CDC1 50 2C BVC $CDEF A:84 X:69 Y:33 P:E4 SP:69 CYC:133 SL:257
CDC3 C9 84 CMP #$84 A:84 X:69 Y:33 P:E4 SP:69 CYC:139 SL:257
CDC5 D0 28 BNE $CDEF A:84 X:69 Y:33 P:67 SP:69 CYC:145 SL:257
CDC7 E0 69 CPX #$69 A:84 X:69 Y:33 P:67 SP:69 CYC:151 SL:257
CDC9 D0 24 BNE $CDEF A:84 X:69 Y:33 P:67 SP:69 CYC:157 SL:257
CDCB C0 33 CPY #$33 A:84 X:69 Y:33 P:67 SP:69 CYC:163 SL:257
CDCD D0 20 BNE $CDEF A:84 X:69 Y:33 P:67 SP:69 CYC:169 SL:257
CDCF A0 01 LDY #$01 A:84 X:69 Y:33 P:67 SP:69 CYC:175 SL:257
CDD1 A9 04 LDA #$04 A:84 X:69 Y:01 P:65 SP:69 CYC:181 SL:257
CDD3 38 SEC A:04 X:69 Y:01 P:65 SP:69 CYC:187 SL:257
CDD4 B8 CLV A:04 X:69 Y:01 P:65 SP:69 CYC:193 SL:257
CDD5 A2 00 LDX #$00 A:04 X:69 Y:01 P:25 SP:69 CYC:199 SL:257
CDD7 BA TSX A:04 X:00 Y:01 P:27 SP:69 CYC:205 SL:257
CDD8 F0 15 BEQ $CDEF A:04 X:69 Y:01 P:25 SP:69 CYC:211 SL:257
CDDA 30 13 BMI $CDEF A:04 X:69 Y:01 P:25 SP:69 CYC:217 SL:257
CDDC 90 11 BCC $CDEF A:04 X:69 Y:01 P:25 SP:69 CYC:223 SL:257
CDDE 70 0F BVS $CDEF A:04 X:69 Y:01 P:25 SP:69 CYC:229 SL:257
CDE0 E0 69 CPX #$69 A:04 X:69 Y:01 P:25 SP:69 CYC:235 SL:257
CDE2 D0 0B BNE $CDEF A:04 X:69 Y:01 P:27 SP:69 CYC:241 SL:257
CDE4 C9 04 CMP #$04 A:04 X:69 Y:01 P:27 SP:69 CYC:247 SL:257
CDE6 D0 07 BNE $CDEF A:04 X:69 Y:01 P:27 SP:69 CYC:253 SL:257
CDE8 C0 01 CPY #$01 A:04 X:69 Y:01 P:27 SP:69 CYC:259 SL:257
CDEA D0 03 BNE $CDEF A:04 X:69 Y:01 P:27 SP:69 CYC:265 SL:257
CDEC 4C F3 CD JMP $CDF3 A:04 X:69 Y:01 P:27 SP:69 CYC:271 SL:257
CDF3 AE FF 07 LDX $07FF = FB A:04 X:69 Y:01 P:27 SP:69 CYC:280 SL:257
CDF6 9A TXS A:04 X:FB Y:01 P:A5 SP:69 CYC:292 SL:257
CDF7 60 RTS A:04 X:FB Y:01 P:A5 SP:FB CYC:298 SL:257
C609 20 F8 CD JSR $CDF8 A:04 X:FB Y:01 P:A5 SP:FD CYC:316 SL:257
CDF8 A9 FF LDA #$FF A:04 X:FB Y:01 P:A5 SP:FB CYC:334 SL:257
CDFA 85 01 STA $01 = FF A:FF X:FB Y:01 P:A5 SP:FB CYC:340 SL:257
CDFC BA TSX A:FF X:FB Y:01 P:A5 SP:FB CYC: 8 SL:258
CDFD 8E FF 07 STX $07FF = FB A:FF X:FB Y:01 P:A5 SP:FB CYC: 14 SL:258
CE00 EA NOP A:FF X:FB Y:01 P:A5 SP:FB CYC: 26 SL:258
CE01 A2 80 LDX #$80 A:FF X:FB Y:01 P:A5 SP:FB CYC: 32 SL:258
CE03 9A TXS A:FF X:80 Y:01 P:A5 SP:FB CYC: 38 SL:258
CE04 A9 33 LDA #$33 A:FF X:80 Y:01 P:A5 SP:80 CYC: 44 SL:258
CE06 48 PHA A:33 X:80 Y:01 P:25 SP:80 CYC: 50 SL:258
CE07 A9 69 LDA #$69 A:33 X:80 Y:01 P:25 SP:7F CYC: 59 SL:258
CE09 48 PHA A:69 X:80 Y:01 P:25 SP:7F CYC: 65 SL:258
CE0A BA TSX A:69 X:80 Y:01 P:25 SP:7E CYC: 74 SL:258
CE0B E0 7E CPX #$7E A:69 X:7E Y:01 P:25 SP:7E CYC: 80 SL:258
CE0D D0 20 BNE $CE2F A:69 X:7E Y:01 P:27 SP:7E CYC: 86 SL:258
CE0F 68 PLA A:69 X:7E Y:01 P:27 SP:7E CYC: 92 SL:258
CE10 C9 69 CMP #$69 A:69 X:7E Y:01 P:25 SP:7F CYC:104 SL:258
CE12 D0 1B BNE $CE2F A:69 X:7E Y:01 P:27 SP:7F CYC:110 SL:258
CE14 68 PLA A:69 X:7E Y:01 P:27 SP:7F CYC:116 SL:258
CE15 C9 33 CMP #$33 A:33 X:7E Y:01 P:25 SP:80 CYC:128 SL:258
CE17 D0 16 BNE $CE2F A:33 X:7E Y:01 P:27 SP:80 CYC:134 SL:258
CE19 BA TSX A:33 X:7E Y:01 P:27 SP:80 CYC:140 SL:258
CE1A E0 80 CPX #$80 A:33 X:80 Y:01 P:A5 SP:80 CYC:146 SL:258
CE1C D0 11 BNE $CE2F A:33 X:80 Y:01 P:27 SP:80 CYC:152 SL:258
CE1E AD 80 01 LDA $0180 = 33 A:33 X:80 Y:01 P:27 SP:80 CYC:158 SL:258
CE21 C9 33 CMP #$33 A:33 X:80 Y:01 P:25 SP:80 CYC:170 SL:258
CE23 D0 0A BNE $CE2F A:33 X:80 Y:01 P:27 SP:80 CYC:176 SL:258
CE25 AD 7F 01 LDA $017F = 69 A:33 X:80 Y:01 P:27 SP:80 CYC:182 SL:258
CE28 C9 69 CMP #$69 A:69 X:80 Y:01 P:25 SP:80 CYC:194 SL:258
CE2A D0 03 BNE $CE2F A:69 X:80 Y:01 P:27 SP:80 CYC:200 SL:258
CE2C 4C 33 CE JMP $CE33 A:69 X:80 Y:01 P:27 SP:80 CYC:206 SL:258
CE33 EA NOP A:69 X:80 Y:01 P:27 SP:80 CYC:215 SL:258
CE34 A2 80 LDX #$80 A:69 X:80 Y:01 P:27 SP:80 CYC:221 SL:258
CE36 9A TXS A:69 X:80 Y:01 P:A5 SP:80 CYC:227 SL:258
CE37 20 3D CE JSR $CE3D A:69 X:80 Y:01 P:A5 SP:80 CYC:233 SL:258
CE3D BA TSX A:69 X:80 Y:01 P:A5 SP:7E CYC:251 SL:258
CE3E E0 7E CPX #$7E A:69 X:7E Y:01 P:25 SP:7E CYC:257 SL:258
CE40 D0 19 BNE $CE5B A:69 X:7E Y:01 P:27 SP:7E CYC:263 SL:258
CE42 68 PLA A:69 X:7E Y:01 P:27 SP:7E CYC:269 SL:258
CE43 68 PLA A:39 X:7E Y:01 P:25 SP:7F CYC:281 SL:258
CE44 BA TSX A:CE X:7E Y:01 P:A5 SP:80 CYC:293 SL:258
CE45 E0 80 CPX #$80 A:CE X:80 Y:01 P:A5 SP:80 CYC:299 SL:258
CE47 D0 12 BNE $CE5B A:CE X:80 Y:01 P:27 SP:80 CYC:305 SL:258
CE49 A9 00 LDA #$00 A:CE X:80 Y:01 P:27 SP:80 CYC:311 SL:258
CE4B 20 4E CE JSR $CE4E A:00 X:80 Y:01 P:27 SP:80 CYC:317 SL:258
CE4E 68 PLA A:00 X:80 Y:01 P:27 SP:7E CYC:335 SL:258
CE4F C9 4D CMP #$4D A:4D X:80 Y:01 P:25 SP:7F CYC: 6 SL:259
CE51 D0 08 BNE $CE5B A:4D X:80 Y:01 P:27 SP:7F CYC: 12 SL:259
CE53 68 PLA A:4D X:80 Y:01 P:27 SP:7F CYC: 18 SL:259
CE54 C9 CE CMP #$CE A:CE X:80 Y:01 P:A5 SP:80 CYC: 30 SL:259
CE56 D0 03 BNE $CE5B A:CE X:80 Y:01 P:27 SP:80 CYC: 36 SL:259
CE58 4C 5F CE JMP $CE5F A:CE X:80 Y:01 P:27 SP:80 CYC: 42 SL:259
CE5F EA NOP A:CE X:80 Y:01 P:27 SP:80 CYC: 51 SL:259
CE60 A9 CE LDA #$CE A:CE X:80 Y:01 P:27 SP:80 CYC: 57 SL:259
CE62 48 PHA A:CE X:80 Y:01 P:A5 SP:80 CYC: 63 SL:259
CE63 A9 66 LDA #$66 A:CE X:80 Y:01 P:A5 SP:7F CYC: 72 SL:259
CE65 48 PHA A:66 X:80 Y:01 P:25 SP:7F CYC: 78 SL:259
CE66 60 RTS A:66 X:80 Y:01 P:25 SP:7E CYC: 87 SL:259
CE67 A2 77 LDX #$77 A:66 X:80 Y:01 P:25 SP:80 CYC:105 SL:259
CE69 A0 69 LDY #$69 A:66 X:77 Y:01 P:25 SP:80 CYC:111 SL:259
CE6B 18 CLC A:66 X:77 Y:69 P:25 SP:80 CYC:117 SL:259
CE6C 24 01 BIT $01 = FF A:66 X:77 Y:69 P:24 SP:80 CYC:123 SL:259
CE6E A9 83 LDA #$83 A:66 X:77 Y:69 P:E4 SP:80 CYC:132 SL:259
CE70 20 66 CE JSR $CE66 A:83 X:77 Y:69 P:E4 SP:80 CYC:138 SL:259
CE66 60 RTS A:83 X:77 Y:69 P:E4 SP:7E CYC:156 SL:259
CE73 F0 24 BEQ $CE99 A:83 X:77 Y:69 P:E4 SP:80 CYC:174 SL:259
CE75 10 22 BPL $CE99 A:83 X:77 Y:69 P:E4 SP:80 CYC:180 SL:259
CE77 B0 20 BCS $CE99 A:83 X:77 Y:69 P:E4 SP:80 CYC:186 SL:259
CE79 50 1E BVC $CE99 A:83 X:77 Y:69 P:E4 SP:80 CYC:192 SL:259
CE7B C9 83 CMP #$83 A:83 X:77 Y:69 P:E4 SP:80 CYC:198 SL:259
CE7D D0 1A BNE $CE99 A:83 X:77 Y:69 P:67 SP:80 CYC:204 SL:259
CE7F C0 69 CPY #$69 A:83 X:77 Y:69 P:67 SP:80 CYC:210 SL:259
CE81 D0 16 BNE $CE99 A:83 X:77 Y:69 P:67 SP:80 CYC:216 SL:259
CE83 E0 77 CPX #$77 A:83 X:77 Y:69 P:67 SP:80 CYC:222 SL:259
CE85 D0 12 BNE $CE99 A:83 X:77 Y:69 P:67 SP:80 CYC:228 SL:259
CE87 38 SEC A:83 X:77 Y:69 P:67 SP:80 CYC:234 SL:259
CE88 B8 CLV A:83 X:77 Y:69 P:67 SP:80 CYC:240 SL:259
CE89 A9 00 LDA #$00 A:83 X:77 Y:69 P:27 SP:80 CYC:246 SL:259
CE8B 20 66 CE JSR $CE66 A:00 X:77 Y:69 P:27 SP:80 CYC:252 SL:259
CE66 60 RTS A:00 X:77 Y:69 P:27 SP:7E CYC:270 SL:259
CE8E D0 09 BNE $CE99 A:00 X:77 Y:69 P:27 SP:80 CYC:288 SL:259
CE90 30 07 BMI $CE99 A:00 X:77 Y:69 P:27 SP:80 CYC:294 SL:259
CE92 90 05 BCC $CE99 A:00 X:77 Y:69 P:27 SP:80 CYC:300 SL:259
CE94 70 03 BVS $CE99 A:00 X:77 Y:69 P:27 SP:80 CYC:306 SL:259
CE96 4C 9D CE JMP $CE9D A:00 X:77 Y:69 P:27 SP:80 CYC:312 SL:259
CE9D EA NOP A:00 X:77 Y:69 P:27 SP:80 CYC:321 SL:259
CE9E A9 CE LDA #$CE A:00 X:77 Y:69 P:27 SP:80 CYC:327 SL:259
CEA0 48 PHA A:CE X:77 Y:69 P:A5 SP:80 CYC:333 SL:259
CEA1 A9 AE LDA #$AE A:CE X:77 Y:69 P:A5 SP:7F CYC: 1 SL:260
CEA3 48 PHA A:AE X:77 Y:69 P:A5 SP:7F CYC: 7 SL:260
CEA4 A9 65 LDA #$65 A:AE X:77 Y:69 P:A5 SP:7E CYC: 16 SL:260
CEA6 48 PHA A:65 X:77 Y:69 P:25 SP:7E CYC: 22 SL:260
CEA7 A9 55 LDA #$55 A:65 X:77 Y:69 P:25 SP:7D CYC: 31 SL:260
CEA9 A0 88 LDY #$88 A:55 X:77 Y:69 P:25 SP:7D CYC: 37 SL:260
CEAB A2 99 LDX #$99 A:55 X:77 Y:88 P:A5 SP:7D CYC: 43 SL:260
CEAD 40 RTI A:55 X:99 Y:88 P:A5 SP:7D CYC: 49 SL:260
CEAE 30 35 BMI $CEE5 A:55 X:99 Y:88 P:65 SP:80 CYC: 67 SL:260
CEB0 50 33 BVC $CEE5 A:55 X:99 Y:88 P:65 SP:80 CYC: 73 SL:260
CEB2 F0 31 BEQ $CEE5 A:55 X:99 Y:88 P:65 SP:80 CYC: 79 SL:260
CEB4 90 2F BCC $CEE5 A:55 X:99 Y:88 P:65 SP:80 CYC: 85 SL:260
CEB6 C9 55 CMP #$55 A:55 X:99 Y:88 P:65 SP:80 CYC: 91 SL:260
CEB8 D0 2B BNE $CEE5 A:55 X:99 Y:88 P:67 SP:80 CYC: 97 SL:260
CEBA C0 88 CPY #$88 A:55 X:99 Y:88 P:67 SP:80 CYC:103 SL:260
CEBC D0 27 BNE $CEE5 A:55 X:99 Y:88 P:67 SP:80 CYC:109 SL:260
CEBE E0 99 CPX #$99 A:55 X:99 Y:88 P:67 SP:80 CYC:115 SL:260
CEC0 D0 23 BNE $CEE5 A:55 X:99 Y:88 P:67 SP:80 CYC:121 SL:260
CEC2 A9 CE LDA #$CE A:55 X:99 Y:88 P:67 SP:80 CYC:127 SL:260
CEC4 48 PHA A:CE X:99 Y:88 P:E5 SP:80 CYC:133 SL:260
CEC5 A9 CE LDA #$CE A:CE X:99 Y:88 P:E5 SP:7F CYC:142 SL:260
CEC7 48 PHA A:CE X:99 Y:88 P:E5 SP:7F CYC:148 SL:260
CEC8 A9 87 LDA #$87 A:CE X:99 Y:88 P:E5 SP:7E CYC:157 SL:260
CECA 48 PHA A:87 X:99 Y:88 P:E5 SP:7E CYC:163 SL:260
CECB A9 55 LDA #$55 A:87 X:99 Y:88 P:E5 SP:7D CYC:172 SL:260
CECD 40 RTI A:55 X:99 Y:88 P:65 SP:7D CYC:178 SL:260
CECE 10 15 BPL $CEE5 A:55 X:99 Y:88 P:A7 SP:80 CYC:196 SL:260
CED0 70 13 BVS $CEE5 A:55 X:99 Y:88 P:A7 SP:80 CYC:202 SL:260
CED2 D0 11 BNE $CEE5 A:55 X:99 Y:88 P:A7 SP:80 CYC:208 SL:260
CED4 90 0F BCC $CEE5 A:55 X:99 Y:88 P:A7 SP:80 CYC:214 SL:260
CED6 C9 55 CMP #$55 A:55 X:99 Y:88 P:A7 SP:80 CYC:220 SL:260
CED8 D0 0B BNE $CEE5 A:55 X:99 Y:88 P:27 SP:80 CYC:226 SL:260
CEDA C0 88 CPY #$88 A:55 X:99 Y:88 P:27 SP:80 CYC:232 SL:260
CEDC D0 07 BNE $CEE5 A:55 X:99 Y:88 P:27 SP:80 CYC:238 SL:260
CEDE E0 99 CPX #$99 A:55 X:99 Y:88 P:27 SP:80 CYC:244 SL:260
CEE0 D0 03 BNE $CEE5 A:55 X:99 Y:88 P:27 SP:80 CYC:250 SL:260
CEE2 4C E9 CE JMP $CEE9 A:55 X:99 Y:88 P:27 SP:80 CYC:256 SL:260
CEE9 AE FF 07 LDX $07FF = FB A:55 X:99 Y:88 P:27 SP:80 CYC:265 SL:260
CEEC 9A TXS A:55 X:FB Y:88 P:A5 SP:80 CYC:277 SL:260
CEED 60 RTS A:55 X:FB Y:88 P:A5 SP:FB CYC:283 SL:260
C60C 20 EE CE JSR $CEEE A:55 X:FB Y:88 P:A5 SP:FD CYC:301 SL:260
CEEE A2 55 LDX #$55 A:55 X:FB Y:88 P:A5 SP:FB CYC:319 SL:260
CEF0 A0 69 LDY #$69 A:55 X:55 Y:88 P:25 SP:FB CYC:325 SL:260
CEF2 A9 FF LDA #$FF A:55 X:55 Y:69 P:25 SP:FB CYC:331 SL:260
CEF4 85 01 STA $01 = FF A:FF X:55 Y:69 P:A5 SP:FB CYC:337 SL:260
CEF6 EA NOP A:FF X:55 Y:69 P:A5 SP:FB CYC: 5 SL:-1
CEF7 24 01 BIT $01 = FF A:FF X:55 Y:69 P:A5 SP:FB CYC: 11 SL:-1
CEF9 38 SEC A:FF X:55 Y:69 P:E5 SP:FB CYC: 20 SL:-1
CEFA A9 01 LDA #$01 A:FF X:55 Y:69 P:E5 SP:FB CYC: 26 SL:-1
CEFC 4A LSR A A:01 X:55 Y:69 P:65 SP:FB CYC: 32 SL:-1
CEFD 90 1D BCC $CF1C A:00 X:55 Y:69 P:67 SP:FB CYC: 38 SL:-1
CEFF D0 1B BNE $CF1C A:00 X:55 Y:69 P:67 SP:FB CYC: 44 SL:-1
CF01 30 19 BMI $CF1C A:00 X:55 Y:69 P:67 SP:FB CYC: 50 SL:-1
CF03 50 17 BVC $CF1C A:00 X:55 Y:69 P:67 SP:FB CYC: 56 SL:-1
CF05 C9 00 CMP #$00 A:00 X:55 Y:69 P:67 SP:FB CYC: 62 SL:-1
CF07 D0 13 BNE $CF1C A:00 X:55 Y:69 P:67 SP:FB CYC: 68 SL:-1
CF09 B8 CLV A:00 X:55 Y:69 P:67 SP:FB CYC: 74 SL:-1
CF0A A9 AA LDA #$AA A:00 X:55 Y:69 P:27 SP:FB CYC: 80 SL:-1
CF0C 4A LSR A A:AA X:55 Y:69 P:A5 SP:FB CYC: 86 SL:-1
CF0D B0 0D BCS $CF1C A:55 X:55 Y:69 P:24 SP:FB CYC: 92 SL:-1
CF0F F0 0B BEQ $CF1C A:55 X:55 Y:69 P:24 SP:FB CYC: 98 SL:-1
CF11 30 09 BMI $CF1C A:55 X:55 Y:69 P:24 SP:FB CYC:104 SL:-1
CF13 70 07 BVS $CF1C A:55 X:55 Y:69 P:24 SP:FB CYC:110 SL:-1
CF15 C9 55 CMP #$55 A:55 X:55 Y:69 P:24 SP:FB CYC:116 SL:-1
CF17 D0 03 BNE $CF1C A:55 X:55 Y:69 P:27 SP:FB CYC:122 SL:-1
CF19 4C 20 CF JMP $CF20 A:55 X:55 Y:69 P:27 SP:FB CYC:128 SL:-1
CF20 EA NOP A:55 X:55 Y:69 P:27 SP:FB CYC:137 SL:-1
CF21 24 01 BIT $01 = FF A:55 X:55 Y:69 P:27 SP:FB CYC:143 SL:-1
CF23 38 SEC A:55 X:55 Y:69 P:E5 SP:FB CYC:152 SL:-1
CF24 A9 80 LDA #$80 A:55 X:55 Y:69 P:E5 SP:FB CYC:158 SL:-1
CF26 0A ASL A A:80 X:55 Y:69 P:E5 SP:FB CYC:164 SL:-1
CF27 90 1E BCC $CF47 A:00 X:55 Y:69 P:67 SP:FB CYC:170 SL:-1
CF29 D0 1C BNE $CF47 A:00 X:55 Y:69 P:67 SP:FB CYC:176 SL:-1
CF2B 30 1A BMI $CF47 A:00 X:55 Y:69 P:67 SP:FB CYC:182 SL:-1
CF2D 50 18 BVC $CF47 A:00 X:55 Y:69 P:67 SP:FB CYC:188 SL:-1
CF2F C9 00 CMP #$00 A:00 X:55 Y:69 P:67 SP:FB CYC:194 SL:-1
CF31 D0 14 BNE $CF47 A:00 X:55 Y:69 P:67 SP:FB CYC:200 SL:-1
CF33 B8 CLV A:00 X:55 Y:69 P:67 SP:FB CYC:206 SL:-1
CF34 38 SEC A:00 X:55 Y:69 P:27 SP:FB CYC:212 SL:-1
CF35 A9 55 LDA #$55 A:00 X:55 Y:69 P:27 SP:FB CYC:218 SL:-1
CF37 0A ASL A A:55 X:55 Y:69 P:25 SP:FB CYC:224 SL:-1
CF38 B0 0D BCS $CF47 A:AA X:55 Y:69 P:A4 SP:FB CYC:230 SL:-1
CF3A F0 0B BEQ $CF47 A:AA X:55 Y:69 P:A4 SP:FB CYC:236 SL:-1
CF3C 10 09 BPL $CF47 A:AA X:55 Y:69 P:A4 SP:FB CYC:242 SL:-1
CF3E 70 07 BVS $CF47 A:AA X:55 Y:69 P:A4 SP:FB CYC:248 SL:-1
CF40 C9 AA CMP #$AA A:AA X:55 Y:69 P:A4 SP:FB CYC:254 SL:-1
CF42 D0 03 BNE $CF47 A:AA X:55 Y:69 P:27 SP:FB CYC:260 SL:-1
CF44 4C 4B CF JMP $CF4B A:AA X:55 Y:69 P:27 SP:FB CYC:266 SL:-1
CF4B EA NOP A:AA X:55 Y:69 P:27 SP:FB CYC:275 SL:-1
CF4C 24 01 BIT $01 = FF A:AA X:55 Y:69 P:27 SP:FB CYC:281 SL:-1
CF4E 38 SEC A:AA X:55 Y:69 P:E5 SP:FB CYC:290 SL:-1
CF4F A9 01 LDA #$01 A:AA X:55 Y:69 P:E5 SP:FB CYC:296 SL:-1
CF51 6A ROR A A:01 X:55 Y:69 P:65 SP:FB CYC:302 SL:-1
CF52 90 1E BCC $CF72 A:80 X:55 Y:69 P:E5 SP:FB CYC:308 SL:-1
CF54 F0 1C BEQ $CF72 A:80 X:55 Y:69 P:E5 SP:FB CYC:314 SL:-1
CF56 10 1A BPL $CF72 A:80 X:55 Y:69 P:E5 SP:FB CYC:320 SL:-1
CF58 50 18 BVC $CF72 A:80 X:55 Y:69 P:E5 SP:FB CYC:326 SL:-1
CF5A C9 80 CMP #$80 A:80 X:55 Y:69 P:E5 SP:FB CYC:332 SL:-1
CF5C D0 14 BNE $CF72 A:80 X:55 Y:69 P:67 SP:FB CYC:338 SL:-1
CF5E B8 CLV A:80 X:55 Y:69 P:67 SP:FB CYC: 3 SL:0
CF5F 18 CLC A:80 X:55 Y:69 P:27 SP:FB CYC: 9 SL:0
CF60 A9 55 LDA #$55 A:80 X:55 Y:69 P:26 SP:FB CYC: 15 SL:0
CF62 6A ROR A A:55 X:55 Y:69 P:24 SP:FB CYC: 21 SL:0
CF63 90 0D BCC $CF72 A:2A X:55 Y:69 P:25 SP:FB CYC: 27 SL:0
CF65 F0 0B BEQ $CF72 A:2A X:55 Y:69 P:25 SP:FB CYC: 33 SL:0
CF67 30 09 BMI $CF72 A:2A X:55 Y:69 P:25 SP:FB CYC: 39 SL:0
CF69 70 07 BVS $CF72 A:2A X:55 Y:69 P:25 SP:FB CYC: 45 SL:0
CF6B C9 2A CMP #$2A A:2A X:55 Y:69 P:25 SP:FB CYC: 51 SL:0
CF6D D0 03 BNE $CF72 A:2A X:55 Y:69 P:27 SP:FB CYC: 57 SL:0
CF6F 4C 76 CF JMP $CF76 A:2A X:55 Y:69 P:27 SP:FB CYC: 63 SL:0
CF76 EA NOP A:2A X:55 Y:69 P:27 SP:FB CYC: 72 SL:0
CF77 24 01 BIT $01 = FF A:2A X:55 Y:69 P:27 SP:FB CYC: 78 SL:0
CF79 38 SEC A:2A X:55 Y:69 P:E5 SP:FB CYC: 87 SL:0
CF7A A9 80 LDA #$80 A:2A X:55 Y:69 P:E5 SP:FB CYC: 93 SL:0
CF7C 2A ROL A A:80 X:55 Y:69 P:E5 SP:FB CYC: 99 SL:0
CF7D 90 1E BCC $CF9D A:01 X:55 Y:69 P:65 SP:FB CYC:105 SL:0
CF7F F0 1C BEQ $CF9D A:01 X:55 Y:69 P:65 SP:FB CYC:111 SL:0
CF81 30 1A BMI $CF9D A:01 X:55 Y:69 P:65 SP:FB CYC:117 SL:0
CF83 50 18 BVC $CF9D A:01 X:55 Y:69 P:65 SP:FB CYC:123 SL:0
CF85 C9 01 CMP #$01 A:01 X:55 Y:69 P:65 SP:FB CYC:129 SL:0
CF87 D0 14 BNE $CF9D A:01 X:55 Y:69 P:67 SP:FB CYC:135 SL:0
CF89 B8 CLV A:01 X:55 Y:69 P:67 SP:FB CYC:141 SL:0
CF8A 18 CLC A:01 X:55 Y:69 P:27 SP:FB CYC:147 SL:0
CF8B A9 55 LDA #$55 A:01 X:55 Y:69 P:26 SP:FB CYC:153 SL:0
CF8D 2A ROL A A:55 X:55 Y:69 P:24 SP:FB CYC:159 SL:0
CF8E B0 0D BCS $CF9D A:AA X:55 Y:69 P:A4 SP:FB CYC:165 SL:0
CF90 F0 0B BEQ $CF9D A:AA X:55 Y:69 P:A4 SP:FB CYC:171 SL:0
CF92 10 09 BPL $CF9D A:AA X:55 Y:69 P:A4 SP:FB CYC:177 SL:0
CF94 70 07 BVS $CF9D A:AA X:55 Y:69 P:A4 SP:FB CYC:183 SL:0
CF96 C9 AA CMP #$AA A:AA X:55 Y:69 P:A4 SP:FB CYC:189 SL:0
CF98 D0 03 BNE $CF9D A:AA X:55 Y:69 P:27 SP:FB CYC:195 SL:0
CF9A 4C A1 CF JMP $CFA1 A:AA X:55 Y:69 P:27 SP:FB CYC:201 SL:0
CFA1 60 RTS A:AA X:55 Y:69 P:27 SP:FB CYC:210 SL:0
C60F 20 A2 CF JSR $CFA2 A:AA X:55 Y:69 P:27 SP:FD CYC:228 SL:0
CFA2 A5 00 LDA $00 = 00 A:AA X:55 Y:69 P:27 SP:FB CYC:246 SL:0
CFA4 8D FF 07 STA $07FF = FB A:00 X:55 Y:69 P:27 SP:FB CYC:255 SL:0
CFA7 A9 00 LDA #$00 A:00 X:55 Y:69 P:27 SP:FB CYC:267 SL:0
CFA9 85 80 STA $80 = 00 A:00 X:55 Y:69 P:27 SP:FB CYC:273 SL:0
CFAB A9 02 LDA #$02 A:00 X:55 Y:69 P:27 SP:FB CYC:282 SL:0
CFAD 85 81 STA $81 = 00 A:02 X:55 Y:69 P:25 SP:FB CYC:288 SL:0
CFAF A9 FF LDA #$FF A:02 X:55 Y:69 P:25 SP:FB CYC:297 SL:0
CFB1 85 01 STA $01 = FF A:FF X:55 Y:69 P:A5 SP:FB CYC:303 SL:0
CFB3 A9 00 LDA #$00 A:FF X:55 Y:69 P:A5 SP:FB CYC:312 SL:0
CFB5 85 82 STA $82 = 00 A:00 X:55 Y:69 P:27 SP:FB CYC:318 SL:0
CFB7 A9 03 LDA #$03 A:00 X:55 Y:69 P:27 SP:FB CYC:327 SL:0
CFB9 85 83 STA $83 = 00 A:03 X:55 Y:69 P:25 SP:FB CYC:333 SL:0
CFBB 85 84 STA $84 = 00 A:03 X:55 Y:69 P:25 SP:FB CYC: 1 SL:1
CFBD A9 00 LDA #$00 A:03 X:55 Y:69 P:25 SP:FB CYC: 10 SL:1
CFBF 85 FF STA $FF = 00 A:00 X:55 Y:69 P:27 SP:FB CYC: 16 SL:1
CFC1 A9 04 LDA #$04 A:00 X:55 Y:69 P:27 SP:FB CYC: 25 SL:1
CFC3 85 00 STA $00 = 00 A:04 X:55 Y:69 P:25 SP:FB CYC: 31 SL:1
CFC5 A9 5A LDA #$5A A:04 X:55 Y:69 P:25 SP:FB CYC: 40 SL:1
CFC7 8D 00 02 STA $0200 = 00 A:5A X:55 Y:69 P:25 SP:FB CYC: 46 SL:1
CFCA A9 5B LDA #$5B A:5A X:55 Y:69 P:25 SP:FB CYC: 58 SL:1
CFCC 8D 00 03 STA $0300 = 00 A:5B X:55 Y:69 P:25 SP:FB CYC: 64 SL:1
CFCF A9 5C LDA #$5C A:5B X:55 Y:69 P:25 SP:FB CYC: 76 SL:1
CFD1 8D 03 03 STA $0303 = 00 A:5C X:55 Y:69 P:25 SP:FB CYC: 82 SL:1
CFD4 A9 5D LDA #$5D A:5C X:55 Y:69 P:25 SP:FB CYC: 94 SL:1
CFD6 8D 00 04 STA $0400 = 00 A:5D X:55 Y:69 P:25 SP:FB CYC:100 SL:1
CFD9 A2 00 LDX #$00 A:5D X:55 Y:69 P:25 SP:FB CYC:112 SL:1
CFDB A1 80 LDA ($80,X) @ 80 = 0200 = 5A A:5D X:00 Y:69 P:27 SP:FB CYC:118 SL:1
CFDD C9 5A CMP #$5A A:5A X:00 Y:69 P:25 SP:FB CYC:136 SL:1
CFDF D0 1F BNE $D000 A:5A X:00 Y:69 P:27 SP:FB CYC:142 SL:1
CFE1 E8 INX A:5A X:00 Y:69 P:27 SP:FB CYC:148 SL:1
CFE2 E8 INX A:5A X:01 Y:69 P:25 SP:FB CYC:154 SL:1
CFE3 A1 80 LDA ($80,X) @ 82 = 0300 = 5B A:5A X:02 Y:69 P:25 SP:FB CYC:160 SL:1
CFE5 C9 5B CMP #$5B A:5B X:02 Y:69 P:25 SP:FB CYC:178 SL:1
CFE7 D0 17 BNE $D000 A:5B X:02 Y:69 P:27 SP:FB CYC:184 SL:1
CFE9 E8 INX A:5B X:02 Y:69 P:27 SP:FB CYC:190 SL:1
CFEA A1 80 LDA ($80,X) @ 83 = 0303 = 5C A:5B X:03 Y:69 P:25 SP:FB CYC:196 SL:1
CFEC C9 5C CMP #$5C A:5C X:03 Y:69 P:25 SP:FB CYC:214 SL:1
CFEE D0 10 BNE $D000 A:5C X:03 Y:69 P:27 SP:FB CYC:220 SL:1
CFF0 A2 00 LDX #$00 A:5C X:03 Y:69 P:27 SP:FB CYC:226 SL:1
CFF2 A1 FF LDA ($FF,X) @ FF = 0400 = 5D A:5C X:00 Y:69 P:27 SP:FB CYC:232 SL:1
CFF4 C9 5D CMP #$5D A:5D X:00 Y:69 P:25 SP:FB CYC:250 SL:1
CFF6 D0 08 BNE $D000 A:5D X:00 Y:69 P:27 SP:FB CYC:256 SL:1
CFF8 A2 81 LDX #$81 A:5D X:00 Y:69 P:27 SP:FB CYC:262 SL:1
CFFA A1 FF LDA ($FF,X) @ 80 = 0200 = 5A A:5D X:81 Y:69 P:A5 SP:FB CYC:268 SL:1
CFFC C9 5A CMP #$5A A:5A X:81 Y:69 P:25 SP:FB CYC:286 SL:1
CFFE F0 05 BEQ $D005 A:5A X:81 Y:69 P:27 SP:FB CYC:292 SL:1
D005 A9 AA LDA #$AA A:5A X:81 Y:69 P:27 SP:FB CYC:301 SL:1
D007 A2 00 LDX #$00 A:AA X:81 Y:69 P:A5 SP:FB CYC:307 SL:1
D009 81 80 STA ($80,X) @ 80 = 0200 = 5A A:AA X:00 Y:69 P:27 SP:FB CYC:313 SL:1
D00B E8 INX A:AA X:00 Y:69 P:27 SP:FB CYC:331 SL:1
D00C E8 INX A:AA X:01 Y:69 P:25 SP:FB CYC:337 SL:1
D00D A9 AB LDA #$AB A:AA X:02 Y:69 P:25 SP:FB CYC: 2 SL:2
D00F 81 80 STA ($80,X) @ 82 = 0300 = 5B A:AB X:02 Y:69 P:A5 SP:FB CYC: 8 SL:2
D011 E8 INX A:AB X:02 Y:69 P:A5 SP:FB CYC: 26 SL:2
D012 A9 AC LDA #$AC A:AB X:03 Y:69 P:25 SP:FB CYC: 32 SL:2
D014 81 80 STA ($80,X) @ 83 = 0303 = 5C A:AC X:03 Y:69 P:A5 SP:FB CYC: 38 SL:2
D016 A2 00 LDX #$00 A:AC X:03 Y:69 P:A5 SP:FB CYC: 56 SL:2
D018 A9 AD LDA #$AD A:AC X:00 Y:69 P:27 SP:FB CYC: 62 SL:2
D01A 81 FF STA ($FF,X) @ FF = 0400 = 5D A:AD X:00 Y:69 P:A5 SP:FB CYC: 68 SL:2
D01C AD 00 02 LDA $0200 = AA A:AD X:00 Y:69 P:A5 SP:FB CYC: 86 SL:2
D01F C9 AA CMP #$AA A:AA X:00 Y:69 P:A5 SP:FB CYC: 98 SL:2
D021 D0 15 BNE $D038 A:AA X:00 Y:69 P:27 SP:FB CYC:104 SL:2
D023 AD 00 03 LDA $0300 = AB A:AA X:00 Y:69 P:27 SP:FB CYC:110 SL:2
D026 C9 AB CMP #$AB A:AB X:00 Y:69 P:A5 SP:FB CYC:122 SL:2
D028 D0 0E BNE $D038 A:AB X:00 Y:69 P:27 SP:FB CYC:128 SL:2
D02A AD 03 03 LDA $0303 = AC A:AB X:00 Y:69 P:27 SP:FB CYC:134 SL:2
D02D C9 AC CMP #$AC A:AC X:00 Y:69 P:A5 SP:FB CYC:146 SL:2
D02F D0 07 BNE $D038 A:AC X:00 Y:69 P:27 SP:FB CYC:152 SL:2
D031 AD 00 04 LDA $0400 = AD A:AC X:00 Y:69 P:27 SP:FB CYC:158 SL:2
D034 C9 AD CMP #$AD A:AD X:00 Y:69 P:A5 SP:FB CYC:170 SL:2
D036 F0 05 BEQ $D03D A:AD X:00 Y:69 P:27 SP:FB CYC:176 SL:2
D03D AD FF 07 LDA $07FF = 00 A:AD X:00 Y:69 P:27 SP:FB CYC:185 SL:2
D040 85 00 STA $00 = 04 A:00 X:00 Y:69 P:27 SP:FB CYC:197 SL:2
D042 A9 00 LDA #$00 A:00 X:00 Y:69 P:27 SP:FB CYC:206 SL:2
D044 8D 00 03 STA $0300 = AB A:00 X:00 Y:69 P:27 SP:FB CYC:212 SL:2
D047 A9 AA LDA #$AA A:00 X:00 Y:69 P:27 SP:FB CYC:224 SL:2
D049 8D 00 02 STA $0200 = AA A:AA X:00 Y:69 P:A5 SP:FB CYC:230 SL:2
D04C A2 00 LDX #$00 A:AA X:00 Y:69 P:A5 SP:FB CYC:242 SL:2
D04E A0 5A LDY #$5A A:AA X:00 Y:69 P:27 SP:FB CYC:248 SL:2
D050 20 B6 F7 JSR $F7B6 A:AA X:00 Y:5A P:25 SP:FB CYC:254 SL:2
F7B6 18 CLC A:AA X:00 Y:5A P:25 SP:F9 CYC:272 SL:2
F7B7 A9 FF LDA #$FF A:AA X:00 Y:5A P:24 SP:F9 CYC:278 SL:2
F7B9 85 01 STA $01 = FF A:FF X:00 Y:5A P:A4 SP:F9 CYC:284 SL:2
F7BB 24 01 BIT $01 = FF A:FF X:00 Y:5A P:A4 SP:F9 CYC:293 SL:2
F7BD A9 55 LDA #$55 A:FF X:00 Y:5A P:E4 SP:F9 CYC:302 SL:2
F7BF 60 RTS A:55 X:00 Y:5A P:64 SP:F9 CYC:308 SL:2
D053 01 80 ORA ($80,X) @ 80 = 0200 = AA A:55 X:00 Y:5A P:64 SP:FB CYC:326 SL:2
D055 20 C0 F7 JSR $F7C0 A:FF X:00 Y:5A P:E4 SP:FB CYC: 3 SL:3
F7C0 B0 09 BCS $F7CB A:FF X:00 Y:5A P:E4 SP:F9 CYC: 21 SL:3
F7C2 10 07 BPL $F7CB A:FF X:00 Y:5A P:E4 SP:F9 CYC: 27 SL:3
F7C4 C9 FF CMP #$FF A:FF X:00 Y:5A P:E4 SP:F9 CYC: 33 SL:3
F7C6 D0 03 BNE $F7CB A:FF X:00 Y:5A P:67 SP:F9 CYC: 39 SL:3
F7C8 50 01 BVC $F7CB A:FF X:00 Y:5A P:67 SP:F9 CYC: 45 SL:3
F7CA 60 RTS A:FF X:00 Y:5A P:67 SP:F9 CYC: 51 SL:3
D058 C8 INY A:FF X:00 Y:5A P:67 SP:FB CYC: 69 SL:3
D059 20 CE F7 JSR $F7CE A:FF X:00 Y:5B P:65 SP:FB CYC: 75 SL:3
F7CE 38 SEC A:FF X:00 Y:5B P:65 SP:F9 CYC: 93 SL:3
F7CF B8 CLV A:FF X:00 Y:5B P:65 SP:F9 CYC: 99 SL:3
F7D0 A9 00 LDA #$00 A:FF X:00 Y:5B P:25 SP:F9 CYC:105 SL:3
F7D2 60 RTS A:00 X:00 Y:5B P:27 SP:F9 CYC:111 SL:3
D05C 01 82 ORA ($82,X) @ 82 = 0300 = 00 A:00 X:00 Y:5B P:27 SP:FB CYC:129 SL:3
D05E 20 D3 F7 JSR $F7D3 A:00 X:00 Y:5B P:27 SP:FB CYC:147 SL:3
F7D3 D0 07 BNE $F7DC A:00 X:00 Y:5B P:27 SP:F9 CYC:165 SL:3
F7D5 70 05 BVS $F7DC A:00 X:00 Y:5B P:27 SP:F9 CYC:171 SL:3
F7D7 90 03 BCC $F7DC A:00 X:00 Y:5B P:27 SP:F9 CYC:177 SL:3
F7D9 30 01 BMI $F7DC A:00 X:00 Y:5B P:27 SP:F9 CYC:183 SL:3
F7DB 60 RTS A:00 X:00 Y:5B P:27 SP:F9 CYC:189 SL:3
D061 C8 INY A:00 X:00 Y:5B P:27 SP:FB CYC:207 SL:3
D062 20 DF F7 JSR $F7DF A:00 X:00 Y:5C P:25 SP:FB CYC:213 SL:3
F7DF 18 CLC A:00 X:00 Y:5C P:25 SP:F9 CYC:231 SL:3
F7E0 24 01 BIT $01 = FF A:00 X:00 Y:5C P:24 SP:F9 CYC:237 SL:3
F7E2 A9 55 LDA #$55 A:00 X:00 Y:5C P:E6 SP:F9 CYC:246 SL:3
F7E4 60 RTS A:55 X:00 Y:5C P:64 SP:F9 CYC:252 SL:3
D065 21 80 AND ($80,X) @ 80 = 0200 = AA A:55 X:00 Y:5C P:64 SP:FB CYC:270 SL:3
D067 20 E5 F7 JSR $F7E5 A:00 X:00 Y:5C P:66 SP:FB CYC:288 SL:3
F7E5 D0 07 BNE $F7EE A:00 X:00 Y:5C P:66 SP:F9 CYC:306 SL:3
F7E7 50 05 BVC $F7EE A:00 X:00 Y:5C P:66 SP:F9 CYC:312 SL:3
F7E9 B0 03 BCS $F7EE A:00 X:00 Y:5C P:66 SP:F9 CYC:318 SL:3
F7EB 30 01 BMI $F7EE A:00 X:00 Y:5C P:66 SP:F9 CYC:324 SL:3
F7ED 60 RTS A:00 X:00 Y:5C P:66 SP:F9 CYC:330 SL:3
D06A C8 INY A:00 X:00 Y:5C P:66 SP:FB CYC: 7 SL:4
D06B A9 EF LDA #$EF A:00 X:00 Y:5D P:64 SP:FB CYC: 13 SL:4
D06D 8D 00 03 STA $0300 = 00 A:EF X:00 Y:5D P:E4 SP:FB CYC: 19 SL:4
D070 20 F1 F7 JSR $F7F1 A:EF X:00 Y:5D P:E4 SP:FB CYC: 31 SL:4
F7F1 38 SEC A:EF X:00 Y:5D P:E4 SP:F9 CYC: 49 SL:4
F7F2 B8 CLV A:EF X:00 Y:5D P:E5 SP:F9 CYC: 55 SL:4
F7F3 A9 F8 LDA #$F8 A:EF X:00 Y:5D P:A5 SP:F9 CYC: 61 SL:4
F7F5 60 RTS A:F8 X:00 Y:5D P:A5 SP:F9 CYC: 67 SL:4
D073 21 82 AND ($82,X) @ 82 = 0300 = EF A:F8 X:00 Y:5D P:A5 SP:FB CYC: 85 SL:4
D075 20 F6 F7 JSR $F7F6 A:E8 X:00 Y:5D P:A5 SP:FB CYC:103 SL:4
F7F6 90 09 BCC $F801 A:E8 X:00 Y:5D P:A5 SP:F9 CYC:121 SL:4
F7F8 10 07 BPL $F801 A:E8 X:00 Y:5D P:A5 SP:F9 CYC:127 SL:4
F7FA C9 E8 CMP #$E8 A:E8 X:00 Y:5D P:A5 SP:F9 CYC:133 SL:4
F7FC D0 03 BNE $F801 A:E8 X:00 Y:5D P:27 SP:F9 CYC:139 SL:4
F7FE 70 01 BVS $F801 A:E8 X:00 Y:5D P:27 SP:F9 CYC:145 SL:4
F800 60 RTS A:E8 X:00 Y:5D P:27 SP:F9 CYC:151 SL:4
D078 C8 INY A:E8 X:00 Y:5D P:27 SP:FB CYC:169 SL:4
D079 20 04 F8 JSR $F804 A:E8 X:00 Y:5E P:25 SP:FB CYC:175 SL:4
F804 18 CLC A:E8 X:00 Y:5E P:25 SP:F9 CYC:193 SL:4
F805 24 01 BIT $01 = FF A:E8 X:00 Y:5E P:24 SP:F9 CYC:199 SL:4
F807 A9 5F LDA #$5F A:E8 X:00 Y:5E P:E4 SP:F9 CYC:208 SL:4
F809 60 RTS A:5F X:00 Y:5E P:64 SP:F9 CYC:214 SL:4
D07C 41 80 EOR ($80,X) @ 80 = 0200 = AA A:5F X:00 Y:5E P:64 SP:FB CYC:232 SL:4
D07E 20 0A F8 JSR $F80A A:F5 X:00 Y:5E P:E4 SP:FB CYC:250 SL:4
F80A B0 09 BCS $F815 A:F5 X:00 Y:5E P:E4 SP:F9 CYC:268 SL:4
F80C 10 07 BPL $F815 A:F5 X:00 Y:5E P:E4 SP:F9 CYC:274 SL:4
F80E C9 F5 CMP #$F5 A:F5 X:00 Y:5E P:E4 SP:F9 CYC:280 SL:4
F810 D0 03 BNE $F815 A:F5 X:00 Y:5E P:67 SP:F9 CYC:286 SL:4
F812 50 01 BVC $F815 A:F5 X:00 Y:5E P:67 SP:F9 CYC:292 SL:4
F814 60 RTS A:F5 X:00 Y:5E P:67 SP:F9 CYC:298 SL:4
D081 C8 INY A:F5 X:00 Y:5E P:67 SP:FB CYC:316 SL:4
D082 A9 70 LDA #$70 A:F5 X:00 Y:5F P:65 SP:FB CYC:322 SL:4
D084 8D 00 03 STA $0300 = EF A:70 X:00 Y:5F P:65 SP:FB CYC:328 SL:4
D087 20 18 F8 JSR $F818 A:70 X:00 Y:5F P:65 SP:FB CYC:340 SL:4
F818 38 SEC A:70 X:00 Y:5F P:65 SP:F9 CYC: 17 SL:5
F819 B8 CLV A:70 X:00 Y:5F P:65 SP:F9 CYC: 23 SL:5
F81A A9 70 LDA #$70 A:70 X:00 Y:5F P:25 SP:F9 CYC: 29 SL:5
F81C 60 RTS A:70 X:00 Y:5F P:25 SP:F9 CYC: 35 SL:5
D08A 41 82 EOR ($82,X) @ 82 = 0300 = 70 A:70 X:00 Y:5F P:25 SP:FB CYC: 53 SL:5
D08C 20 1D F8 JSR $F81D A:00 X:00 Y:5F P:27 SP:FB CYC: 71 SL:5
F81D D0 07 BNE $F826 A:00 X:00 Y:5F P:27 SP:F9 CYC: 89 SL:5
F81F 70 05 BVS $F826 A:00 X:00 Y:5F P:27 SP:F9 CYC: 95 SL:5
F821 90 03 BCC $F826 A:00 X:00 Y:5F P:27 SP:F9 CYC:101 SL:5
F823 30 01 BMI $F826 A:00 X:00 Y:5F P:27 SP:F9 CYC:107 SL:5
F825 60 RTS A:00 X:00 Y:5F P:27 SP:F9 CYC:113 SL:5
D08F C8 INY A:00 X:00 Y:5F P:27 SP:FB CYC:131 SL:5
D090 A9 69 LDA #$69 A:00 X:00 Y:60 P:25 SP:FB CYC:137 SL:5
D092 8D 00 02 STA $0200 = AA A:69 X:00 Y:60 P:25 SP:FB CYC:143 SL:5
D095 20 29 F8 JSR $F829 A:69 X:00 Y:60 P:25 SP:FB CYC:155 SL:5
F829 18 CLC A:69 X:00 Y:60 P:25 SP:F9 CYC:173 SL:5
F82A 24 01 BIT $01 = FF A:69 X:00 Y:60 P:24 SP:F9 CYC:179 SL:5
F82C A9 00 LDA #$00 A:69 X:00 Y:60 P:E4 SP:F9 CYC:188 SL:5
F82E 60 RTS A:00 X:00 Y:60 P:66 SP:F9 CYC:194 SL:5
D098 61 80 ADC ($80,X) @ 80 = 0200 = 69 A:00 X:00 Y:60 P:66 SP:FB CYC:212 SL:5
D09A 20 2F F8 JSR $F82F A:69 X:00 Y:60 P:24 SP:FB CYC:230 SL:5
F82F 30 09 BMI $F83A A:69 X:00 Y:60 P:24 SP:F9 CYC:248 SL:5
F831 B0 07 BCS $F83A A:69 X:00 Y:60 P:24 SP:F9 CYC:254 SL:5
F833 C9 69 CMP #$69 A:69 X:00 Y:60 P:24 SP:F9 CYC:260 SL:5
F835 D0 03 BNE $F83A A:69 X:00 Y:60 P:27 SP:F9 CYC:266 SL:5
F837 70 01 BVS $F83A A:69 X:00 Y:60 P:27 SP:F9 CYC:272 SL:5
F839 60 RTS A:69 X:00 Y:60 P:27 SP:F9 CYC:278 SL:5
D09D C8 INY A:69 X:00 Y:60 P:27 SP:FB CYC:296 SL:5
D09E 20 3D F8 JSR $F83D A:69 X:00 Y:61 P:25 SP:FB CYC:302 SL:5
F83D 38 SEC A:69 X:00 Y:61 P:25 SP:F9 CYC:320 SL:5
F83E 24 01 BIT $01 = FF A:69 X:00 Y:61 P:25 SP:F9 CYC:326 SL:5
F840 A9 00 LDA #$00 A:69 X:00 Y:61 P:E5 SP:F9 CYC:335 SL:5
F842 60 RTS A:00 X:00 Y:61 P:67 SP:F9 CYC: 0 SL:6
D0A1 61 80 ADC ($80,X) @ 80 = 0200 = 69 A:00 X:00 Y:61 P:67 SP:FB CYC: 18 SL:6
D0A3 20 43 F8 JSR $F843 A:6A X:00 Y:61 P:24 SP:FB CYC: 36 SL:6
F843 30 09 BMI $F84E A:6A X:00 Y:61 P:24 SP:F9 CYC: 54 SL:6
F845 B0 07 BCS $F84E A:6A X:00 Y:61 P:24 SP:F9 CYC: 60 SL:6
F847 C9 6A CMP #$6A A:6A X:00 Y:61 P:24 SP:F9 CYC: 66 SL:6
F849 D0 03 BNE $F84E A:6A X:00 Y:61 P:27 SP:F9 CYC: 72 SL:6
F84B 70 01 BVS $F84E A:6A X:00 Y:61 P:27 SP:F9 CYC: 78 SL:6
F84D 60 RTS A:6A X:00 Y:61 P:27 SP:F9 CYC: 84 SL:6
D0A6 C8 INY A:6A X:00 Y:61 P:27 SP:FB CYC:102 SL:6
D0A7 A9 7F LDA #$7F A:6A X:00 Y:62 P:25 SP:FB CYC:108 SL:6
D0A9 8D 00 02 STA $0200 = 69 A:7F X:00 Y:62 P:25 SP:FB CYC:114 SL:6
D0AC 20 51 F8 JSR $F851 A:7F X:00 Y:62 P:25 SP:FB CYC:126 SL:6
F851 38 SEC A:7F X:00 Y:62 P:25 SP:F9 CYC:144 SL:6
F852 B8 CLV A:7F X:00 Y:62 P:25 SP:F9 CYC:150 SL:6
F853 A9 7F LDA #$7F A:7F X:00 Y:62 P:25 SP:F9 CYC:156 SL:6
F855 60 RTS A:7F X:00 Y:62 P:25 SP:F9 CYC:162 SL:6
D0AF 61 80 ADC ($80,X) @ 80 = 0200 = 7F A:7F X:00 Y:62 P:25 SP:FB CYC:180 SL:6
D0B1 20 56 F8 JSR $F856 A:FF X:00 Y:62 P:E4 SP:FB CYC:198 SL:6
F856 10 09 BPL $F861 A:FF X:00 Y:62 P:E4 SP:F9 CYC:216 SL:6
F858 B0 07 BCS $F861 A:FF X:00 Y:62 P:E4 SP:F9 CYC:222 SL:6
F85A C9 FF CMP #$FF A:FF X:00 Y:62 P:E4 SP:F9 CYC:228 SL:6
F85C D0 03 BNE $F861 A:FF X:00 Y:62 P:67 SP:F9 CYC:234 SL:6
F85E 50 01 BVC $F861 A:FF X:00 Y:62 P:67 SP:F9 CYC:240 SL:6
F860 60 RTS A:FF X:00 Y:62 P:67 SP:F9 CYC:246 SL:6
D0B4 C8 INY A:FF X:00 Y:62 P:67 SP:FB CYC:264 SL:6
D0B5 A9 80 LDA #$80 A:FF X:00 Y:63 P:65 SP:FB CYC:270 SL:6
D0B7 8D 00 02 STA $0200 = 7F A:80 X:00 Y:63 P:E5 SP:FB CYC:276 SL:6
D0BA 20 64 F8 JSR $F864 A:80 X:00 Y:63 P:E5 SP:FB CYC:288 SL:6
F864 18 CLC A:80 X:00 Y:63 P:E5 SP:F9 CYC:306 SL:6
F865 24 01 BIT $01 = FF A:80 X:00 Y:63 P:E4 SP:F9 CYC:312 SL:6
F867 A9 7F LDA #$7F A:80 X:00 Y:63 P:E4 SP:F9 CYC:321 SL:6
F869 60 RTS A:7F X:00 Y:63 P:64 SP:F9 CYC:327 SL:6
D0BD 61 80 ADC ($80,X) @ 80 = 0200 = 80 A:7F X:00 Y:63 P:64 SP:FB CYC: 4 SL:7
D0BF 20 6A F8 JSR $F86A A:FF X:00 Y:63 P:A4 SP:FB CYC: 22 SL:7
F86A 10 09 BPL $F875 A:FF X:00 Y:63 P:A4 SP:F9 CYC: 40 SL:7
F86C B0 07 BCS $F875 A:FF X:00 Y:63 P:A4 SP:F9 CYC: 46 SL:7
F86E C9 FF CMP #$FF A:FF X:00 Y:63 P:A4 SP:F9 CYC: 52 SL:7
F870 D0 03 BNE $F875 A:FF X:00 Y:63 P:27 SP:F9 CYC: 58 SL:7
F872 70 01 BVS $F875 A:FF X:00 Y:63 P:27 SP:F9 CYC: 64 SL:7
F874 60 RTS A:FF X:00 Y:63 P:27 SP:F9 CYC: 70 SL:7
D0C2 C8 INY A:FF X:00 Y:63 P:27 SP:FB CYC: 88 SL:7
D0C3 20 78 F8 JSR $F878 A:FF X:00 Y:64 P:25 SP:FB CYC: 94 SL:7
F878 38 SEC A:FF X:00 Y:64 P:25 SP:F9 CYC:112 SL:7
F879 B8 CLV A:FF X:00 Y:64 P:25 SP:F9 CYC:118 SL:7
F87A A9 7F LDA #$7F A:FF X:00 Y:64 P:25 SP:F9 CYC:124 SL:7
F87C 60 RTS A:7F X:00 Y:64 P:25 SP:F9 CYC:130 SL:7
D0C6 61 80 ADC ($80,X) @ 80 = 0200 = 80 A:7F X:00 Y:64 P:25 SP:FB CYC:148 SL:7
D0C8 20 7D F8 JSR $F87D A:00 X:00 Y:64 P:27 SP:FB CYC:166 SL:7
F87D D0 07 BNE $F886 A:00 X:00 Y:64 P:27 SP:F9 CYC:184 SL:7
F87F 30 05 BMI $F886 A:00 X:00 Y:64 P:27 SP:F9 CYC:190 SL:7
F881 70 03 BVS $F886 A:00 X:00 Y:64 P:27 SP:F9 CYC:196 SL:7
F883 90 01 BCC $F886 A:00 X:00 Y:64 P:27 SP:F9 CYC:202 SL:7
F885 60 RTS A:00 X:00 Y:64 P:27 SP:F9 CYC:208 SL:7
D0CB C8 INY A:00 X:00 Y:64 P:27 SP:FB CYC:226 SL:7
D0CC A9 40 LDA #$40 A:00 X:00 Y:65 P:25 SP:FB CYC:232 SL:7
D0CE 8D 00 02 STA $0200 = 80 A:40 X:00 Y:65 P:25 SP:FB CYC:238 SL:7
D0D1 20 89 F8 JSR $F889 A:40 X:00 Y:65 P:25 SP:FB CYC:250 SL:7
F889 24 01 BIT $01 = FF A:40 X:00 Y:65 P:25 SP:F9 CYC:268 SL:7
F88B A9 40 LDA #$40 A:40 X:00 Y:65 P:E5 SP:F9 CYC:277 SL:7
F88D 60 RTS A:40 X:00 Y:65 P:65 SP:F9 CYC:283 SL:7
D0D4 C1 80 CMP ($80,X) @ 80 = 0200 = 40 A:40 X:00 Y:65 P:65 SP:FB CYC:301 SL:7
D0D6 20 8E F8 JSR $F88E A:40 X:00 Y:65 P:67 SP:FB CYC:319 SL:7
F88E 30 07 BMI $F897 A:40 X:00 Y:65 P:67 SP:F9 CYC:337 SL:7
F890 90 05 BCC $F897 A:40 X:00 Y:65 P:67 SP:F9 CYC: 2 SL:8
F892 D0 03 BNE $F897 A:40 X:00 Y:65 P:67 SP:F9 CYC: 8 SL:8
F894 50 01 BVC $F897 A:40 X:00 Y:65 P:67 SP:F9 CYC: 14 SL:8
F896 60 RTS A:40 X:00 Y:65 P:67 SP:F9 CYC: 20 SL:8
D0D9 C8 INY A:40 X:00 Y:65 P:67 SP:FB CYC: 38 SL:8
D0DA 48 PHA A:40 X:00 Y:66 P:65 SP:FB CYC: 44 SL:8
D0DB A9 3F LDA #$3F A:40 X:00 Y:66 P:65 SP:FA CYC: 53 SL:8
D0DD 8D 00 02 STA $0200 = 40 A:3F X:00 Y:66 P:65 SP:FA CYC: 59 SL:8
D0E0 68 PLA A:3F X:00 Y:66 P:65 SP:FA CYC: 71 SL:8
D0E1 20 9A F8 JSR $F89A A:40 X:00 Y:66 P:65 SP:FB CYC: 83 SL:8
F89A B8 CLV A:40 X:00 Y:66 P:65 SP:F9 CYC:101 SL:8
F89B 60 RTS A:40 X:00 Y:66 P:25 SP:F9 CYC:107 SL:8
D0E4 C1 80 CMP ($80,X) @ 80 = 0200 = 3F A:40 X:00 Y:66 P:25 SP:FB CYC:125 SL:8
D0E6 20 9C F8 JSR $F89C A:40 X:00 Y:66 P:25 SP:FB CYC:143 SL:8
F89C F0 07 BEQ $F8A5 A:40 X:00 Y:66 P:25 SP:F9 CYC:161 SL:8
F89E 30 05 BMI $F8A5 A:40 X:00 Y:66 P:25 SP:F9 CYC:167 SL:8
F8A0 90 03 BCC $F8A5 A:40 X:00 Y:66 P:25 SP:F9 CYC:173 SL:8
F8A2 70 01 BVS $F8A5 A:40 X:00 Y:66 P:25 SP:F9 CYC:179 SL:8
F8A4 60 RTS A:40 X:00 Y:66 P:25 SP:F9 CYC:185 SL:8
D0E9 C8 INY A:40 X:00 Y:66 P:25 SP:FB CYC:203 SL:8
D0EA 48 PHA A:40 X:00 Y:67 P:25 SP:FB CYC:209 SL:8
D0EB A9 41 LDA #$41 A:40 X:00 Y:67 P:25 SP:FA CYC:218 SL:8
D0ED 8D 00 02 STA $0200 = 3F A:41 X:00 Y:67 P:25 SP:FA CYC:224 SL:8
D0F0 68 PLA A:41 X:00 Y:67 P:25 SP:FA CYC:236 SL:8
D0F1 C1 80 CMP ($80,X) @ 80 = 0200 = 41 A:40 X:00 Y:67 P:25 SP:FB CYC:248 SL:8
D0F3 20 A8 F8 JSR $F8A8 A:40 X:00 Y:67 P:A4 SP:FB CYC:266 SL:8
F8A8 F0 05 BEQ $F8AF A:40 X:00 Y:67 P:A4 SP:F9 CYC:284 SL:8
F8AA 10 03 BPL $F8AF A:40 X:00 Y:67 P:A4 SP:F9 CYC:290 SL:8
F8AC 10 01 BPL $F8AF A:40 X:00 Y:67 P:A4 SP:F9 CYC:296 SL:8
F8AE 60 RTS A:40 X:00 Y:67 P:A4 SP:F9 CYC:302 SL:8
D0F6 C8 INY A:40 X:00 Y:67 P:A4 SP:FB CYC:320 SL:8
D0F7 48 PHA A:40 X:00 Y:68 P:24 SP:FB CYC:326 SL:8
D0F8 A9 00 LDA #$00 A:40 X:00 Y:68 P:24 SP:FA CYC:335 SL:8
D0FA 8D 00 02 STA $0200 = 41 A:00 X:00 Y:68 P:26 SP:FA CYC: 0 SL:9
D0FD 68 PLA A:00 X:00 Y:68 P:26 SP:FA CYC: 12 SL:9
D0FE 20 B2 F8 JSR $F8B2 A:40 X:00 Y:68 P:24 SP:FB CYC: 24 SL:9
F8B2 A9 80 LDA #$80 A:40 X:00 Y:68 P:24 SP:F9 CYC: 42 SL:9
F8B4 60 RTS A:80 X:00 Y:68 P:A4 SP:F9 CYC: 48 SL:9
D101 C1 80 CMP ($80,X) @ 80 = 0200 = 00 A:80 X:00 Y:68 P:A4 SP:FB CYC: 66 SL:9
D103 20 B5 F8 JSR $F8B5 A:80 X:00 Y:68 P:A5 SP:FB CYC: 84 SL:9
F8B5 F0 05 BEQ $F8BC A:80 X:00 Y:68 P:A5 SP:F9 CYC:102 SL:9
F8B7 10 03 BPL $F8BC A:80 X:00 Y:68 P:A5 SP:F9 CYC:108 SL:9
F8B9 90 01 BCC $F8BC A:80 X:00 Y:68 P:A5 SP:F9 CYC:114 SL:9
F8BB 60 RTS A:80 X:00 Y:68 P:A5 SP:F9 CYC:120 SL:9
D106 C8 INY A:80 X:00 Y:68 P:A5 SP:FB CYC:138 SL:9
D107 48 PHA A:80 X:00 Y:69 P:25 SP:FB CYC:144 SL:9
D108 A9 80 LDA #$80 A:80 X:00 Y:69 P:25 SP:FA CYC:153 SL:9
D10A 8D 00 02 STA $0200 = 00 A:80 X:00 Y:69 P:A5 SP:FA CYC:159 SL:9
D10D 68 PLA A:80 X:00 Y:69 P:A5 SP:FA CYC:171 SL:9
D10E C1 80 CMP ($80,X) @ 80 = 0200 = 80 A:80 X:00 Y:69 P:A5 SP:FB CYC:183 SL:9
D110 20 BF F8 JSR $F8BF A:80 X:00 Y:69 P:27 SP:FB CYC:201 SL:9
F8BF D0 05 BNE $F8C6 A:80 X:00 Y:69 P:27 SP:F9 CYC:219 SL:9
F8C1 30 03 BMI $F8C6 A:80 X:00 Y:69 P:27 SP:F9 CYC:225 SL:9
F8C3 90 01 BCC $F8C6 A:80 X:00 Y:69 P:27 SP:F9 CYC:231 SL:9
F8C5 60 RTS A:80 X:00 Y:69 P:27 SP:F9 CYC:237 SL:9
D113 C8 INY A:80 X:00 Y:69 P:27 SP:FB CYC:255 SL:9
D114 48 PHA A:80 X:00 Y:6A P:25 SP:FB CYC:261 SL:9
D115 A9 81 LDA #$81 A:80 X:00 Y:6A P:25 SP:FA CYC:270 SL:9
D117 8D 00 02 STA $0200 = 80 A:81 X:00 Y:6A P:A5 SP:FA CYC:276 SL:9
D11A 68 PLA A:81 X:00 Y:6A P:A5 SP:FA CYC:288 SL:9
D11B C1 80 CMP ($80,X) @ 80 = 0200 = 81 A:80 X:00 Y:6A P:A5 SP:FB CYC:300 SL:9
D11D 20 C9 F8 JSR $F8C9 A:80 X:00 Y:6A P:A4 SP:FB CYC:318 SL:9
F8C9 B0 05 BCS $F8D0 A:80 X:00 Y:6A P:A4 SP:F9 CYC:336 SL:9
F8CB F0 03 BEQ $F8D0 A:80 X:00 Y:6A P:A4 SP:F9 CYC: 1 SL:10
F8CD 10 01 BPL $F8D0 A:80 X:00 Y:6A P:A4 SP:F9 CYC: 7 SL:10
F8CF 60 RTS A:80 X:00 Y:6A P:A4 SP:F9 CYC: 13 SL:10
D120 C8 INY A:80 X:00 Y:6A P:A4 SP:FB CYC: 31 SL:10
D121 48 PHA A:80 X:00 Y:6B P:24 SP:FB CYC: 37 SL:10
D122 A9 7F LDA #$7F A:80 X:00 Y:6B P:24 SP:FA CYC: 46 SL:10
D124 8D 00 02 STA $0200 = 81 A:7F X:00 Y:6B P:24 SP:FA CYC: 52 SL:10
D127 68 PLA A:7F X:00 Y:6B P:24 SP:FA CYC: 64 SL:10
D128 C1 80 CMP ($80,X) @ 80 = 0200 = 7F A:80 X:00 Y:6B P:A4 SP:FB CYC: 76 SL:10
D12A 20 D3 F8 JSR $F8D3 A:80 X:00 Y:6B P:25 SP:FB CYC: 94 SL:10
F8D3 90 05 BCC $F8DA A:80 X:00 Y:6B P:25 SP:F9 CYC:112 SL:10
F8D5 F0 03 BEQ $F8DA A:80 X:00 Y:6B P:25 SP:F9 CYC:118 SL:10
F8D7 30 01 BMI $F8DA A:80 X:00 Y:6B P:25 SP:F9 CYC:124 SL:10
F8D9 60 RTS A:80 X:00 Y:6B P:25 SP:F9 CYC:130 SL:10
D12D C8 INY A:80 X:00 Y:6B P:25 SP:FB CYC:148 SL:10
D12E A9 40 LDA #$40 A:80 X:00 Y:6C P:25 SP:FB CYC:154 SL:10
D130 8D 00 02 STA $0200 = 7F A:40 X:00 Y:6C P:25 SP:FB CYC:160 SL:10
D133 20 31 F9 JSR $F931 A:40 X:00 Y:6C P:25 SP:FB CYC:172 SL:10
F931 24 01 BIT $01 = FF A:40 X:00 Y:6C P:25 SP:F9 CYC:190 SL:10
F933 A9 40 LDA #$40 A:40 X:00 Y:6C P:E5 SP:F9 CYC:199 SL:10
F935 38 SEC A:40 X:00 Y:6C P:65 SP:F9 CYC:205 SL:10
F936 60 RTS A:40 X:00 Y:6C P:65 SP:F9 CYC:211 SL:10
D136 E1 80 SBC ($80,X) @ 80 = 0200 = 40 A:40 X:00 Y:6C P:65 SP:FB CYC:229 SL:10
D138 20 37 F9 JSR $F937 A:00 X:00 Y:6C P:27 SP:FB CYC:247 SL:10
F937 30 0B BMI $F944 A:00 X:00 Y:6C P:27 SP:F9 CYC:265 SL:10
F939 90 09 BCC $F944 A:00 X:00 Y:6C P:27 SP:F9 CYC:271 SL:10
F93B D0 07 BNE $F944 A:00 X:00 Y:6C P:27 SP:F9 CYC:277 SL:10
F93D 70 05 BVS $F944 A:00 X:00 Y:6C P:27 SP:F9 CYC:283 SL:10
F93F C9 00 CMP #$00 A:00 X:00 Y:6C P:27 SP:F9 CYC:289 SL:10
F941 D0 01 BNE $F944 A:00 X:00 Y:6C P:27 SP:F9 CYC:295 SL:10
F943 60 RTS A:00 X:00 Y:6C P:27 SP:F9 CYC:301 SL:10
D13B C8 INY A:00 X:00 Y:6C P:27 SP:FB CYC:319 SL:10
D13C A9 3F LDA #$3F A:00 X:00 Y:6D P:25 SP:FB CYC:325 SL:10
D13E 8D 00 02 STA $0200 = 40 A:3F X:00 Y:6D P:25 SP:FB CYC:331 SL:10
D141 20 47 F9 JSR $F947 A:3F X:00 Y:6D P:25 SP:FB CYC: 2 SL:11
F947 B8 CLV A:3F X:00 Y:6D P:25 SP:F9 CYC: 20 SL:11
F948 38 SEC A:3F X:00 Y:6D P:25 SP:F9 CYC: 26 SL:11
F949 A9 40 LDA #$40 A:3F X:00 Y:6D P:25 SP:F9 CYC: 32 SL:11
F94B 60 RTS A:40 X:00 Y:6D P:25 SP:F9 CYC: 38 SL:11
D144 E1 80 SBC ($80,X) @ 80 = 0200 = 3F A:40 X:00 Y:6D P:25 SP:FB CYC: 56 SL:11
D146 20 4C F9 JSR $F94C A:01 X:00 Y:6D P:25 SP:FB CYC: 74 SL:11
F94C F0 0B BEQ $F959 A:01 X:00 Y:6D P:25 SP:F9 CYC: 92 SL:11
F94E 30 09 BMI $F959 A:01 X:00 Y:6D P:25 SP:F9 CYC: 98 SL:11
F950 90 07 BCC $F959 A:01 X:00 Y:6D P:25 SP:F9 CYC:104 SL:11
F952 70 05 BVS $F959 A:01 X:00 Y:6D P:25 SP:F9 CYC:110 SL:11
F954 C9 01 CMP #$01 A:01 X:00 Y:6D P:25 SP:F9 CYC:116 SL:11
F956 D0 01 BNE $F959 A:01 X:00 Y:6D P:27 SP:F9 CYC:122 SL:11
F958 60 RTS A:01 X:00 Y:6D P:27 SP:F9 CYC:128 SL:11
D149 C8 INY A:01 X:00 Y:6D P:27 SP:FB CYC:146 SL:11
D14A A9 41 LDA #$41 A:01 X:00 Y:6E P:25 SP:FB CYC:152 SL:11
D14C 8D 00 02 STA $0200 = 3F A:41 X:00 Y:6E P:25 SP:FB CYC:158 SL:11
D14F 20 5C F9 JSR $F95C A:41 X:00 Y:6E P:25 SP:FB CYC:170 SL:11
F95C A9 40 LDA #$40 A:41 X:00 Y:6E P:25 SP:F9 CYC:188 SL:11
F95E 38 SEC A:40 X:00 Y:6E P:25 SP:F9 CYC:194 SL:11
F95F 24 01 BIT $01 = FF A:40 X:00 Y:6E P:25 SP:F9 CYC:200 SL:11
F961 60 RTS A:40 X:00 Y:6E P:E5 SP:F9 CYC:209 SL:11
D152 E1 80 SBC ($80,X) @ 80 = 0200 = 41 A:40 X:00 Y:6E P:E5 SP:FB CYC:227 SL:11
D154 20 62 F9 JSR $F962 A:FF X:00 Y:6E P:A4 SP:FB CYC:245 SL:11
F962 B0 0B BCS $F96F A:FF X:00 Y:6E P:A4 SP:F9 CYC:263 SL:11
F964 F0 09 BEQ $F96F A:FF X:00 Y:6E P:A4 SP:F9 CYC:269 SL:11
F966 10 07 BPL $F96F A:FF X:00 Y:6E P:A4 SP:F9 CYC:275 SL:11
F968 70 05 BVS $F96F A:FF X:00 Y:6E P:A4 SP:F9 CYC:281 SL:11
F96A C9 FF CMP #$FF A:FF X:00 Y:6E P:A4 SP:F9 CYC:287 SL:11
F96C D0 01 BNE $F96F A:FF X:00 Y:6E P:27 SP:F9 CYC:293 SL:11
F96E 60 RTS A:FF X:00 Y:6E P:27 SP:F9 CYC:299 SL:11
D157 C8 INY A:FF X:00 Y:6E P:27 SP:FB CYC:317 SL:11
D158 A9 00 LDA #$00 A:FF X:00 Y:6F P:25 SP:FB CYC:323 SL:11
D15A 8D 00 02 STA $0200 = 41 A:00 X:00 Y:6F P:27 SP:FB CYC:329 SL:11
D15D 20 72 F9 JSR $F972 A:00 X:00 Y:6F P:27 SP:FB CYC: 0 SL:12
F972 18 CLC A:00 X:00 Y:6F P:27 SP:F9 CYC: 18 SL:12
F973 A9 80 LDA #$80 A:00 X:00 Y:6F P:26 SP:F9 CYC: 24 SL:12
F975 60 RTS A:80 X:00 Y:6F P:A4 SP:F9 CYC: 30 SL:12
D160 E1 80 SBC ($80,X) @ 80 = 0200 = 00 A:80 X:00 Y:6F P:A4 SP:FB CYC: 48 SL:12
D162 20 76 F9 JSR $F976 A:7F X:00 Y:6F P:65 SP:FB CYC: 66 SL:12
F976 90 05 BCC $F97D A:7F X:00 Y:6F P:65 SP:F9 CYC: 84 SL:12
F978 C9 7F CMP #$7F A:7F X:00 Y:6F P:65 SP:F9 CYC: 90 SL:12
F97A D0 01 BNE $F97D A:7F X:00 Y:6F P:67 SP:F9 CYC: 96 SL:12
F97C 60 RTS A:7F X:00 Y:6F P:67 SP:F9 CYC:102 SL:12
D165 C8 INY A:7F X:00 Y:6F P:67 SP:FB CYC:120 SL:12
D166 A9 7F LDA #$7F A:7F X:00 Y:70 P:65 SP:FB CYC:126 SL:12
D168 8D 00 02 STA $0200 = 00 A:7F X:00 Y:70 P:65 SP:FB CYC:132 SL:12
D16B 20 80 F9 JSR $F980 A:7F X:00 Y:70 P:65 SP:FB CYC:144 SL:12
F980 38 SEC A:7F X:00 Y:70 P:65 SP:F9 CYC:162 SL:12
F981 A9 81 LDA #$81 A:7F X:00 Y:70 P:65 SP:F9 CYC:168 SL:12
F983 60 RTS A:81 X:00 Y:70 P:E5 SP:F9 CYC:174 SL:12
D16E E1 80 SBC ($80,X) @ 80 = 0200 = 7F A:81 X:00 Y:70 P:E5 SP:FB CYC:192 SL:12
D170 20 84 F9 JSR $F984 A:02 X:00 Y:70 P:65 SP:FB CYC:210 SL:12
F984 50 07 BVC $F98D A:02 X:00 Y:70 P:65 SP:F9 CYC:228 SL:12
F986 90 05 BCC $F98D A:02 X:00 Y:70 P:65 SP:F9 CYC:234 SL:12
F988 C9 02 CMP #$02 A:02 X:00 Y:70 P:65 SP:F9 CYC:240 SL:12
F98A D0 01 BNE $F98D A:02 X:00 Y:70 P:67 SP:F9 CYC:246 SL:12
F98C 60 RTS A:02 X:00 Y:70 P:67 SP:F9 CYC:252 SL:12
D173 60 RTS A:02 X:00 Y:70 P:67 SP:FB CYC:270 SL:12
C612 20 74 D1 JSR $D174 A:02 X:00 Y:70 P:67 SP:FD CYC:288 SL:12
D174 A9 55 LDA #$55 A:02 X:00 Y:70 P:67 SP:FB CYC:306 SL:12
D176 85 78 STA $78 = 00 A:55 X:00 Y:70 P:65 SP:FB CYC:312 SL:12
D178 A9 FF LDA #$FF A:55 X:00 Y:70 P:65 SP:FB CYC:321 SL:12
D17A 85 01 STA $01 = FF A:FF X:00 Y:70 P:E5 SP:FB CYC:327 SL:12
D17C 24 01 BIT $01 = FF A:FF X:00 Y:70 P:E5 SP:FB CYC:336 SL:12
D17E A0 11 LDY #$11 A:FF X:00 Y:70 P:E5 SP:FB CYC: 4 SL:13
D180 A2 23 LDX #$23 A:FF X:00 Y:11 P:65 SP:FB CYC: 10 SL:13
D182 A9 00 LDA #$00 A:FF X:23 Y:11 P:65 SP:FB CYC: 16 SL:13
D184 A5 78 LDA $78 = 55 A:00 X:23 Y:11 P:67 SP:FB CYC: 22 SL:13
D186 F0 10 BEQ $D198 A:55 X:23 Y:11 P:65 SP:FB CYC: 31 SL:13
D188 30 0E BMI $D198 A:55 X:23 Y:11 P:65 SP:FB CYC: 37 SL:13
D18A C9 55 CMP #$55 A:55 X:23 Y:11 P:65 SP:FB CYC: 43 SL:13
D18C D0 0A BNE $D198 A:55 X:23 Y:11 P:67 SP:FB CYC: 49 SL:13
D18E C0 11 CPY #$11 A:55 X:23 Y:11 P:67 SP:FB CYC: 55 SL:13
D190 D0 06 BNE $D198 A:55 X:23 Y:11 P:67 SP:FB CYC: 61 SL:13
D192 E0 23 CPX #$23 A:55 X:23 Y:11 P:67 SP:FB CYC: 67 SL:13
D194 50 02 BVC $D198 A:55 X:23 Y:11 P:67 SP:FB CYC: 73 SL:13
D196 F0 04 BEQ $D19C A:55 X:23 Y:11 P:67 SP:FB CYC: 79 SL:13
D19C A9 46 LDA #$46 A:55 X:23 Y:11 P:67 SP:FB CYC: 88 SL:13
D19E 24 01 BIT $01 = FF A:46 X:23 Y:11 P:65 SP:FB CYC: 94 SL:13
D1A0 85 78 STA $78 = 55 A:46 X:23 Y:11 P:E5 SP:FB CYC:103 SL:13
D1A2 F0 0A BEQ $D1AE A:46 X:23 Y:11 P:E5 SP:FB CYC:112 SL:13
D1A4 10 08 BPL $D1AE A:46 X:23 Y:11 P:E5 SP:FB CYC:118 SL:13
D1A6 50 06 BVC $D1AE A:46 X:23 Y:11 P:E5 SP:FB CYC:124 SL:13
D1A8 A5 78 LDA $78 = 46 A:46 X:23 Y:11 P:E5 SP:FB CYC:130 SL:13
D1AA C9 46 CMP #$46 A:46 X:23 Y:11 P:65 SP:FB CYC:139 SL:13
D1AC F0 04 BEQ $D1B2 A:46 X:23 Y:11 P:67 SP:FB CYC:145 SL:13
D1B2 A9 55 LDA #$55 A:46 X:23 Y:11 P:67 SP:FB CYC:154 SL:13
D1B4 85 78 STA $78 = 46 A:55 X:23 Y:11 P:65 SP:FB CYC:160 SL:13
D1B6 24 01 BIT $01 = FF A:55 X:23 Y:11 P:65 SP:FB CYC:169 SL:13
D1B8 A9 11 LDA #$11 A:55 X:23 Y:11 P:E5 SP:FB CYC:178 SL:13
D1BA A2 23 LDX #$23 A:11 X:23 Y:11 P:65 SP:FB CYC:184 SL:13
D1BC A0 00 LDY #$00 A:11 X:23 Y:11 P:65 SP:FB CYC:190 SL:13
D1BE A4 78 LDY $78 = 55 A:11 X:23 Y:00 P:67 SP:FB CYC:196 SL:13
D1C0 F0 10 BEQ $D1D2 A:11 X:23 Y:55 P:65 SP:FB CYC:205 SL:13
D1C2 30 0E BMI $D1D2 A:11 X:23 Y:55 P:65 SP:FB CYC:211 SL:13
D1C4 C0 55 CPY #$55 A:11 X:23 Y:55 P:65 SP:FB CYC:217 SL:13
D1C6 D0 0A BNE $D1D2 A:11 X:23 Y:55 P:67 SP:FB CYC:223 SL:13
D1C8 C9 11 CMP #$11 A:11 X:23 Y:55 P:67 SP:FB CYC:229 SL:13
D1CA D0 06 BNE $D1D2 A:11 X:23 Y:55 P:67 SP:FB CYC:235 SL:13
D1CC E0 23 CPX #$23 A:11 X:23 Y:55 P:67 SP:FB CYC:241 SL:13
D1CE 50 02 BVC $D1D2 A:11 X:23 Y:55 P:67 SP:FB CYC:247 SL:13
D1D0 F0 04 BEQ $D1D6 A:11 X:23 Y:55 P:67 SP:FB CYC:253 SL:13
D1D6 A0 46 LDY #$46 A:11 X:23 Y:55 P:67 SP:FB CYC:262 SL:13
D1D8 24 01 BIT $01 = FF A:11 X:23 Y:46 P:65 SP:FB CYC:268 SL:13
D1DA 84 78 STY $78 = 55 A:11 X:23 Y:46 P:E5 SP:FB CYC:277 SL:13
D1DC F0 0A BEQ $D1E8 A:11 X:23 Y:46 P:E5 SP:FB CYC:286 SL:13
D1DE 10 08 BPL $D1E8 A:11 X:23 Y:46 P:E5 SP:FB CYC:292 SL:13
D1E0 50 06 BVC $D1E8 A:11 X:23 Y:46 P:E5 SP:FB CYC:298 SL:13
D1E2 A4 78 LDY $78 = 46 A:11 X:23 Y:46 P:E5 SP:FB CYC:304 SL:13
D1E4 C0 46 CPY #$46 A:11 X:23 Y:46 P:65 SP:FB CYC:313 SL:13
D1E6 F0 04 BEQ $D1EC A:11 X:23 Y:46 P:67 SP:FB CYC:319 SL:13
D1EC 24 01 BIT $01 = FF A:11 X:23 Y:46 P:67 SP:FB CYC:328 SL:13
D1EE A9 55 LDA #$55 A:11 X:23 Y:46 P:E5 SP:FB CYC:337 SL:13
D1F0 85 78 STA $78 = 46 A:55 X:23 Y:46 P:65 SP:FB CYC: 2 SL:14
D1F2 A0 11 LDY #$11 A:55 X:23 Y:46 P:65 SP:FB CYC: 11 SL:14
D1F4 A9 23 LDA #$23 A:55 X:23 Y:11 P:65 SP:FB CYC: 17 SL:14
D1F6 A2 00 LDX #$00 A:23 X:23 Y:11 P:65 SP:FB CYC: 23 SL:14
D1F8 A6 78 LDX $78 = 55 A:23 X:00 Y:11 P:67 SP:FB CYC: 29 SL:14
D1FA F0 10 BEQ $D20C A:23 X:55 Y:11 P:65 SP:FB CYC: 38 SL:14
D1FC 30 0E BMI $D20C A:23 X:55 Y:11 P:65 SP:FB CYC: 44 SL:14
D1FE E0 55 CPX #$55 A:23 X:55 Y:11 P:65 SP:FB CYC: 50 SL:14
D200 D0 0A BNE $D20C A:23 X:55 Y:11 P:67 SP:FB CYC: 56 SL:14
D202 C0 11 CPY #$11 A:23 X:55 Y:11 P:67 SP:FB CYC: 62 SL:14
D204 D0 06 BNE $D20C A:23 X:55 Y:11 P:67 SP:FB CYC: 68 SL:14
D206 C9 23 CMP #$23 A:23 X:55 Y:11 P:67 SP:FB CYC: 74 SL:14
D208 50 02 BVC $D20C A:23 X:55 Y:11 P:67 SP:FB CYC: 80 SL:14
D20A F0 04 BEQ $D210 A:23 X:55 Y:11 P:67 SP:FB CYC: 86 SL:14
D210 A2 46 LDX #$46 A:23 X:55 Y:11 P:67 SP:FB CYC: 95 SL:14
D212 24 01 BIT $01 = FF A:23 X:46 Y:11 P:65 SP:FB CYC:101 SL:14
D214 86 78 STX $78 = 55 A:23 X:46 Y:11 P:E5 SP:FB CYC:110 SL:14
D216 F0 0A BEQ $D222 A:23 X:46 Y:11 P:E5 SP:FB CYC:119 SL:14
D218 10 08 BPL $D222 A:23 X:46 Y:11 P:E5 SP:FB CYC:125 SL:14
D21A 50 06 BVC $D222 A:23 X:46 Y:11 P:E5 SP:FB CYC:131 SL:14
D21C A6 78 LDX $78 = 46 A:23 X:46 Y:11 P:E5 SP:FB CYC:137 SL:14
D21E E0 46 CPX #$46 A:23 X:46 Y:11 P:65 SP:FB CYC:146 SL:14
D220 F0 04 BEQ $D226 A:23 X:46 Y:11 P:67 SP:FB CYC:152 SL:14
D226 A9 C0 LDA #$C0 A:23 X:46 Y:11 P:67 SP:FB CYC:161 SL:14
D228 85 78 STA $78 = 46 A:C0 X:46 Y:11 P:E5 SP:FB CYC:167 SL:14
D22A A2 33 LDX #$33 A:C0 X:46 Y:11 P:E5 SP:FB CYC:176 SL:14
D22C A0 88 LDY #$88 A:C0 X:33 Y:11 P:65 SP:FB CYC:182 SL:14
D22E A9 05 LDA #$05 A:C0 X:33 Y:88 P:E5 SP:FB CYC:188 SL:14
D230 24 78 BIT $78 = C0 A:05 X:33 Y:88 P:65 SP:FB CYC:194 SL:14
D232 10 10 BPL $D244 A:05 X:33 Y:88 P:E7 SP:FB CYC:203 SL:14
D234 50 0E BVC $D244 A:05 X:33 Y:88 P:E7 SP:FB CYC:209 SL:14
D236 D0 0C BNE $D244 A:05 X:33 Y:88 P:E7 SP:FB CYC:215 SL:14
D238 C9 05 CMP #$05 A:05 X:33 Y:88 P:E7 SP:FB CYC:221 SL:14
D23A D0 08 BNE $D244 A:05 X:33 Y:88 P:67 SP:FB CYC:227 SL:14
D23C E0 33 CPX #$33 A:05 X:33 Y:88 P:67 SP:FB CYC:233 SL:14
D23E D0 04 BNE $D244 A:05 X:33 Y:88 P:67 SP:FB CYC:239 SL:14
D240 C0 88 CPY #$88 A:05 X:33 Y:88 P:67 SP:FB CYC:245 SL:14
D242 F0 04 BEQ $D248 A:05 X:33 Y:88 P:67 SP:FB CYC:251 SL:14
D248 A9 03 LDA #$03 A:05 X:33 Y:88 P:67 SP:FB CYC:260 SL:14
D24A 85 78 STA $78 = C0 A:03 X:33 Y:88 P:65 SP:FB CYC:266 SL:14
D24C A9 01 LDA #$01 A:03 X:33 Y:88 P:65 SP:FB CYC:275 SL:14
D24E 24 78 BIT $78 = 03 A:01 X:33 Y:88 P:65 SP:FB CYC:281 SL:14
D250 30 08 BMI $D25A A:01 X:33 Y:88 P:25 SP:FB CYC:290 SL:14
D252 70 06 BVS $D25A A:01 X:33 Y:88 P:25 SP:FB CYC:296 SL:14
D254 F0 04 BEQ $D25A A:01 X:33 Y:88 P:25 SP:FB CYC:302 SL:14
D256 C9 01 CMP #$01 A:01 X:33 Y:88 P:25 SP:FB CYC:308 SL:14
D258 F0 04 BEQ $D25E A:01 X:33 Y:88 P:27 SP:FB CYC:314 SL:14
D25E A0 7E LDY #$7E A:01 X:33 Y:88 P:27 SP:FB CYC:323 SL:14
D260 A9 AA LDA #$AA A:01 X:33 Y:7E P:25 SP:FB CYC:329 SL:14
D262 85 78 STA $78 = 03 A:AA X:33 Y:7E P:A5 SP:FB CYC:335 SL:14
D264 20 B6 F7 JSR $F7B6 A:AA X:33 Y:7E P:A5 SP:FB CYC: 3 SL:15
F7B6 18 CLC A:AA X:33 Y:7E P:A5 SP:F9 CYC: 21 SL:15
F7B7 A9 FF LDA #$FF A:AA X:33 Y:7E P:A4 SP:F9 CYC: 27 SL:15
F7B9 85 01 STA $01 = FF A:FF X:33 Y:7E P:A4 SP:F9 CYC: 33 SL:15
F7BB 24 01 BIT $01 = FF A:FF X:33 Y:7E P:A4 SP:F9 CYC: 42 SL:15
F7BD A9 55 LDA #$55 A:FF X:33 Y:7E P:E4 SP:F9 CYC: 51 SL:15
F7BF 60 RTS A:55 X:33 Y:7E P:64 SP:F9 CYC: 57 SL:15
D267 05 78 ORA $78 = AA A:55 X:33 Y:7E P:64 SP:FB CYC: 75 SL:15
D269 20 C0 F7 JSR $F7C0 A:FF X:33 Y:7E P:E4 SP:FB CYC: 84 SL:15
F7C0 B0 09 BCS $F7CB A:FF X:33 Y:7E P:E4 SP:F9 CYC:102 SL:15
F7C2 10 07 BPL $F7CB A:FF X:33 Y:7E P:E4 SP:F9 CYC:108 SL:15
F7C4 C9 FF CMP #$FF A:FF X:33 Y:7E P:E4 SP:F9 CYC:114 SL:15
F7C6 D0 03 BNE $F7CB A:FF X:33 Y:7E P:67 SP:F9 CYC:120 SL:15
F7C8 50 01 BVC $F7CB A:FF X:33 Y:7E P:67 SP:F9 CYC:126 SL:15
F7CA 60 RTS A:FF X:33 Y:7E P:67 SP:F9 CYC:132 SL:15
D26C C8 INY A:FF X:33 Y:7E P:67 SP:FB CYC:150 SL:15
D26D A9 00 LDA #$00 A:FF X:33 Y:7F P:65 SP:FB CYC:156 SL:15
D26F 85 78 STA $78 = AA A:00 X:33 Y:7F P:67 SP:FB CYC:162 SL:15
D271 20 CE F7 JSR $F7CE A:00 X:33 Y:7F P:67 SP:FB CYC:171 SL:15
F7CE 38 SEC A:00 X:33 Y:7F P:67 SP:F9 CYC:189 SL:15
F7CF B8 CLV A:00 X:33 Y:7F P:67 SP:F9 CYC:195 SL:15
F7D0 A9 00 LDA #$00 A:00 X:33 Y:7F P:27 SP:F9 CYC:201 SL:15
F7D2 60 RTS A:00 X:33 Y:7F P:27 SP:F9 CYC:207 SL:15
D274 05 78 ORA $78 = 00 A:00 X:33 Y:7F P:27 SP:FB CYC:225 SL:15
D276 20 D3 F7 JSR $F7D3 A:00 X:33 Y:7F P:27 SP:FB CYC:234 SL:15
F7D3 D0 07 BNE $F7DC A:00 X:33 Y:7F P:27 SP:F9 CYC:252 SL:15
F7D5 70 05 BVS $F7DC A:00 X:33 Y:7F P:27 SP:F9 CYC:258 SL:15
F7D7 90 03 BCC $F7DC A:00 X:33 Y:7F P:27 SP:F9 CYC:264 SL:15
F7D9 30 01 BMI $F7DC A:00 X:33 Y:7F P:27 SP:F9 CYC:270 SL:15
F7DB 60 RTS A:00 X:33 Y:7F P:27 SP:F9 CYC:276 SL:15
D279 C8 INY A:00 X:33 Y:7F P:27 SP:FB CYC:294 SL:15
D27A A9 AA LDA #$AA A:00 X:33 Y:80 P:A5 SP:FB CYC:300 SL:15
D27C 85 78 STA $78 = 00 A:AA X:33 Y:80 P:A5 SP:FB CYC:306 SL:15
D27E 20 DF F7 JSR $F7DF A:AA X:33 Y:80 P:A5 SP:FB CYC:315 SL:15
F7DF 18 CLC A:AA X:33 Y:80 P:A5 SP:F9 CYC:333 SL:15
F7E0 24 01 BIT $01 = FF A:AA X:33 Y:80 P:A4 SP:F9 CYC:339 SL:15
F7E2 A9 55 LDA #$55 A:AA X:33 Y:80 P:E4 SP:F9 CYC: 7 SL:16
F7E4 60 RTS A:55 X:33 Y:80 P:64 SP:F9 CYC: 13 SL:16
D281 25 78 AND $78 = AA A:55 X:33 Y:80 P:64 SP:FB CYC: 31 SL:16
D283 20 E5 F7 JSR $F7E5 A:00 X:33 Y:80 P:66 SP:FB CYC: 40 SL:16
F7E5 D0 07 BNE $F7EE A:00 X:33 Y:80 P:66 SP:F9 CYC: 58 SL:16
F7E7 50 05 BVC $F7EE A:00 X:33 Y:80 P:66 SP:F9 CYC: 64 SL:16
F7E9 B0 03 BCS $F7EE A:00 X:33 Y:80 P:66 SP:F9 CYC: 70 SL:16
F7EB 30 01 BMI $F7EE A:00 X:33 Y:80 P:66 SP:F9 CYC: 76 SL:16
F7ED 60 RTS A:00 X:33 Y:80 P:66 SP:F9 CYC: 82 SL:16
D286 C8 INY A:00 X:33 Y:80 P:66 SP:FB CYC:100 SL:16
D287 A9 EF LDA #$EF A:00 X:33 Y:81 P:E4 SP:FB CYC:106 SL:16
D289 85 78 STA $78 = AA A:EF X:33 Y:81 P:E4 SP:FB CYC:112 SL:16
D28B 20 F1 F7 JSR $F7F1 A:EF X:33 Y:81 P:E4 SP:FB CYC:121 SL:16
F7F1 38 SEC A:EF X:33 Y:81 P:E4 SP:F9 CYC:139 SL:16
F7F2 B8 CLV A:EF X:33 Y:81 P:E5 SP:F9 CYC:145 SL:16
F7F3 A9 F8 LDA #$F8 A:EF X:33 Y:81 P:A5 SP:F9 CYC:151 SL:16
F7F5 60 RTS A:F8 X:33 Y:81 P:A5 SP:F9 CYC:157 SL:16
D28E 25 78 AND $78 = EF A:F8 X:33 Y:81 P:A5 SP:FB CYC:175 SL:16
D290 20 F6 F7 JSR $F7F6 A:E8 X:33 Y:81 P:A5 SP:FB CYC:184 SL:16
F7F6 90 09 BCC $F801 A:E8 X:33 Y:81 P:A5 SP:F9 CYC:202 SL:16
F7F8 10 07 BPL $F801 A:E8 X:33 Y:81 P:A5 SP:F9 CYC:208 SL:16
F7FA C9 E8 CMP #$E8 A:E8 X:33 Y:81 P:A5 SP:F9 CYC:214 SL:16
F7FC D0 03 BNE $F801 A:E8 X:33 Y:81 P:27 SP:F9 CYC:220 SL:16
F7FE 70 01 BVS $F801 A:E8 X:33 Y:81 P:27 SP:F9 CYC:226 SL:16
F800 60 RTS A:E8 X:33 Y:81 P:27 SP:F9 CYC:232 SL:16
D293 C8 INY A:E8 X:33 Y:81 P:27 SP:FB CYC:250 SL:16
D294 A9 AA LDA #$AA A:E8 X:33 Y:82 P:A5 SP:FB CYC:256 SL:16
D296 85 78 STA $78 = EF A:AA X:33 Y:82 P:A5 SP:FB CYC:262 SL:16
D298 20 04 F8 JSR $F804 A:AA X:33 Y:82 P:A5 SP:FB CYC:271 SL:16
F804 18 CLC A:AA X:33 Y:82 P:A5 SP:F9 CYC:289 SL:16
F805 24 01 BIT $01 = FF A:AA X:33 Y:82 P:A4 SP:F9 CYC:295 SL:16
F807 A9 5F LDA #$5F A:AA X:33 Y:82 P:E4 SP:F9 CYC:304 SL:16
F809 60 RTS A:5F X:33 Y:82 P:64 SP:F9 CYC:310 SL:16
D29B 45 78 EOR $78 = AA A:5F X:33 Y:82 P:64 SP:FB CYC:328 SL:16
D29D 20 0A F8 JSR $F80A A:F5 X:33 Y:82 P:E4 SP:FB CYC:337 SL:16
F80A B0 09 BCS $F815 A:F5 X:33 Y:82 P:E4 SP:F9 CYC: 14 SL:17
F80C 10 07 BPL $F815 A:F5 X:33 Y:82 P:E4 SP:F9 CYC: 20 SL:17
F80E C9 F5 CMP #$F5 A:F5 X:33 Y:82 P:E4 SP:F9 CYC: 26 SL:17
F810 D0 03 BNE $F815 A:F5 X:33 Y:82 P:67 SP:F9 CYC: 32 SL:17
F812 50 01 BVC $F815 A:F5 X:33 Y:82 P:67 SP:F9 CYC: 38 SL:17
F814 60 RTS A:F5 X:33 Y:82 P:67 SP:F9 CYC: 44 SL:17
D2A0 C8 INY A:F5 X:33 Y:82 P:67 SP:FB CYC: 62 SL:17
D2A1 A9 70 LDA #$70 A:F5 X:33 Y:83 P:E5 SP:FB CYC: 68 SL:17
D2A3 85 78 STA $78 = AA A:70 X:33 Y:83 P:65 SP:FB CYC: 74 SL:17
D2A5 20 18 F8 JSR $F818 A:70 X:33 Y:83 P:65 SP:FB CYC: 83 SL:17
F818 38 SEC A:70 X:33 Y:83 P:65 SP:F9 CYC:101 SL:17
F819 B8 CLV A:70 X:33 Y:83 P:65 SP:F9 CYC:107 SL:17
F81A A9 70 LDA #$70 A:70 X:33 Y:83 P:25 SP:F9 CYC:113 SL:17
F81C 60 RTS A:70 X:33 Y:83 P:25 SP:F9 CYC:119 SL:17
D2A8 45 78 EOR $78 = 70 A:70 X:33 Y:83 P:25 SP:FB CYC:137 SL:17
D2AA 20 1D F8 JSR $F81D A:00 X:33 Y:83 P:27 SP:FB CYC:146 SL:17
F81D D0 07 BNE $F826 A:00 X:33 Y:83 P:27 SP:F9 CYC:164 SL:17
F81F 70 05 BVS $F826 A:00 X:33 Y:83 P:27 SP:F9 CYC:170 SL:17
F821 90 03 BCC $F826 A:00 X:33 Y:83 P:27 SP:F9 CYC:176 SL:17
F823 30 01 BMI $F826 A:00 X:33 Y:83 P:27 SP:F9 CYC:182 SL:17
F825 60 RTS A:00 X:33 Y:83 P:27 SP:F9 CYC:188 SL:17
D2AD C8 INY A:00 X:33 Y:83 P:27 SP:FB CYC:206 SL:17
D2AE A9 69 LDA #$69 A:00 X:33 Y:84 P:A5 SP:FB CYC:212 SL:17
D2B0 85 78 STA $78 = 70 A:69 X:33 Y:84 P:25 SP:FB CYC:218 SL:17
D2B2 20 29 F8 JSR $F829 A:69 X:33 Y:84 P:25 SP:FB CYC:227 SL:17
F829 18 CLC A:69 X:33 Y:84 P:25 SP:F9 CYC:245 SL:17
F82A 24 01 BIT $01 = FF A:69 X:33 Y:84 P:24 SP:F9 CYC:251 SL:17
F82C A9 00 LDA #$00 A:69 X:33 Y:84 P:E4 SP:F9 CYC:260 SL:17
F82E 60 RTS A:00 X:33 Y:84 P:66 SP:F9 CYC:266 SL:17
D2B5 65 78 ADC $78 = 69 A:00 X:33 Y:84 P:66 SP:FB CYC:284 SL:17
D2B7 20 2F F8 JSR $F82F A:69 X:33 Y:84 P:24 SP:FB CYC:293 SL:17
F82F 30 09 BMI $F83A A:69 X:33 Y:84 P:24 SP:F9 CYC:311 SL:17
F831 B0 07 BCS $F83A A:69 X:33 Y:84 P:24 SP:F9 CYC:317 SL:17
F833 C9 69 CMP #$69 A:69 X:33 Y:84 P:24 SP:F9 CYC:323 SL:17
F835 D0 03 BNE $F83A A:69 X:33 Y:84 P:27 SP:F9 CYC:329 SL:17
F837 70 01 BVS $F83A A:69 X:33 Y:84 P:27 SP:F9 CYC:335 SL:17
F839 60 RTS A:69 X:33 Y:84 P:27 SP:F9 CYC: 0 SL:18
D2BA C8 INY A:69 X:33 Y:84 P:27 SP:FB CYC: 18 SL:18
D2BB 20 3D F8 JSR $F83D A:69 X:33 Y:85 P:A5 SP:FB CYC: 24 SL:18
F83D 38 SEC A:69 X:33 Y:85 P:A5 SP:F9 CYC: 42 SL:18
F83E 24 01 BIT $01 = FF A:69 X:33 Y:85 P:A5 SP:F9 CYC: 48 SL:18
F840 A9 00 LDA #$00 A:69 X:33 Y:85 P:E5 SP:F9 CYC: 57 SL:18
F842 60 RTS A:00 X:33 Y:85 P:67 SP:F9 CYC: 63 SL:18
D2BE 65 78 ADC $78 = 69 A:00 X:33 Y:85 P:67 SP:FB CYC: 81 SL:18
D2C0 20 43 F8 JSR $F843 A:6A X:33 Y:85 P:24 SP:FB CYC: 90 SL:18
F843 30 09 BMI $F84E A:6A X:33 Y:85 P:24 SP:F9 CYC:108 SL:18
F845 B0 07 BCS $F84E A:6A X:33 Y:85 P:24 SP:F9 CYC:114 SL:18
F847 C9 6A CMP #$6A A:6A X:33 Y:85 P:24 SP:F9 CYC:120 SL:18
F849 D0 03 BNE $F84E A:6A X:33 Y:85 P:27 SP:F9 CYC:126 SL:18
F84B 70 01 BVS $F84E A:6A X:33 Y:85 P:27 SP:F9 CYC:132 SL:18
F84D 60 RTS A:6A X:33 Y:85 P:27 SP:F9 CYC:138 SL:18
D2C3 C8 INY A:6A X:33 Y:85 P:27 SP:FB CYC:156 SL:18
D2C4 A9 7F LDA #$7F A:6A X:33 Y:86 P:A5 SP:FB CYC:162 SL:18
D2C6 85 78 STA $78 = 69 A:7F X:33 Y:86 P:25 SP:FB CYC:168 SL:18
D2C8 20 51 F8 JSR $F851 A:7F X:33 Y:86 P:25 SP:FB CYC:177 SL:18
F851 38 SEC A:7F X:33 Y:86 P:25 SP:F9 CYC:195 SL:18
F852 B8 CLV A:7F X:33 Y:86 P:25 SP:F9 CYC:201 SL:18
F853 A9 7F LDA #$7F A:7F X:33 Y:86 P:25 SP:F9 CYC:207 SL:18
F855 60 RTS A:7F X:33 Y:86 P:25 SP:F9 CYC:213 SL:18
D2CB 65 78 ADC $78 = 7F A:7F X:33 Y:86 P:25 SP:FB CYC:231 SL:18
D2CD 20 56 F8 JSR $F856 A:FF X:33 Y:86 P:E4 SP:FB CYC:240 SL:18
F856 10 09 BPL $F861 A:FF X:33 Y:86 P:E4 SP:F9 CYC:258 SL:18
F858 B0 07 BCS $F861 A:FF X:33 Y:86 P:E4 SP:F9 CYC:264 SL:18
F85A C9 FF CMP #$FF A:FF X:33 Y:86 P:E4 SP:F9 CYC:270 SL:18
F85C D0 03 BNE $F861 A:FF X:33 Y:86 P:67 SP:F9 CYC:276 SL:18
F85E 50 01 BVC $F861 A:FF X:33 Y:86 P:67 SP:F9 CYC:282 SL:18
F860 60 RTS A:FF X:33 Y:86 P:67 SP:F9 CYC:288 SL:18
D2D0 C8 INY A:FF X:33 Y:86 P:67 SP:FB CYC:306 SL:18
D2D1 A9 80 LDA #$80 A:FF X:33 Y:87 P:E5 SP:FB CYC:312 SL:18
D2D3 85 78 STA $78 = 7F A:80 X:33 Y:87 P:E5 SP:FB CYC:318 SL:18
D2D5 20 64 F8 JSR $F864 A:80 X:33 Y:87 P:E5 SP:FB CYC:327 SL:18
F864 18 CLC A:80 X:33 Y:87 P:E5 SP:F9 CYC: 4 SL:19
F865 24 01 BIT $01 = FF A:80 X:33 Y:87 P:E4 SP:F9 CYC: 10 SL:19
F867 A9 7F LDA #$7F A:80 X:33 Y:87 P:E4 SP:F9 CYC: 19 SL:19
F869 60 RTS A:7F X:33 Y:87 P:64 SP:F9 CYC: 25 SL:19
D2D8 65 78 ADC $78 = 80 A:7F X:33 Y:87 P:64 SP:FB CYC: 43 SL:19
D2DA 20 6A F8 JSR $F86A A:FF X:33 Y:87 P:A4 SP:FB CYC: 52 SL:19
F86A 10 09 BPL $F875 A:FF X:33 Y:87 P:A4 SP:F9 CYC: 70 SL:19
F86C B0 07 BCS $F875 A:FF X:33 Y:87 P:A4 SP:F9 CYC: 76 SL:19
F86E C9 FF CMP #$FF A:FF X:33 Y:87 P:A4 SP:F9 CYC: 82 SL:19
F870 D0 03 BNE $F875 A:FF X:33 Y:87 P:27 SP:F9 CYC: 88 SL:19
F872 70 01 BVS $F875 A:FF X:33 Y:87 P:27 SP:F9 CYC: 94 SL:19
F874 60 RTS A:FF X:33 Y:87 P:27 SP:F9 CYC:100 SL:19
D2DD C8 INY A:FF X:33 Y:87 P:27 SP:FB CYC:118 SL:19
D2DE 20 78 F8 JSR $F878 A:FF X:33 Y:88 P:A5 SP:FB CYC:124 SL:19
F878 38 SEC A:FF X:33 Y:88 P:A5 SP:F9 CYC:142 SL:19
F879 B8 CLV A:FF X:33 Y:88 P:A5 SP:F9 CYC:148 SL:19
F87A A9 7F LDA #$7F A:FF X:33 Y:88 P:A5 SP:F9 CYC:154 SL:19
F87C 60 RTS A:7F X:33 Y:88 P:25 SP:F9 CYC:160 SL:19
D2E1 65 78 ADC $78 = 80 A:7F X:33 Y:88 P:25 SP:FB CYC:178 SL:19
D2E3 20 7D F8 JSR $F87D A:00 X:33 Y:88 P:27 SP:FB CYC:187 SL:19
F87D D0 07 BNE $F886 A:00 X:33 Y:88 P:27 SP:F9 CYC:205 SL:19
F87F 30 05 BMI $F886 A:00 X:33 Y:88 P:27 SP:F9 CYC:211 SL:19
F881 70 03 BVS $F886 A:00 X:33 Y:88 P:27 SP:F9 CYC:217 SL:19
F883 90 01 BCC $F886 A:00 X:33 Y:88 P:27 SP:F9 CYC:223 SL:19
F885 60 RTS A:00 X:33 Y:88 P:27 SP:F9 CYC:229 SL:19
D2E6 C8 INY A:00 X:33 Y:88 P:27 SP:FB CYC:247 SL:19
D2E7 A9 40 LDA #$40 A:00 X:33 Y:89 P:A5 SP:FB CYC:253 SL:19
D2E9 85 78 STA $78 = 80 A:40 X:33 Y:89 P:25 SP:FB CYC:259 SL:19
D2EB 20 89 F8 JSR $F889 A:40 X:33 Y:89 P:25 SP:FB CYC:268 SL:19
F889 24 01 BIT $01 = FF A:40 X:33 Y:89 P:25 SP:F9 CYC:286 SL:19
F88B A9 40 LDA #$40 A:40 X:33 Y:89 P:E5 SP:F9 CYC:295 SL:19
F88D 60 RTS A:40 X:33 Y:89 P:65 SP:F9 CYC:301 SL:19
D2EE C5 78 CMP $78 = 40 A:40 X:33 Y:89 P:65 SP:FB CYC:319 SL:19
D2F0 20 8E F8 JSR $F88E A:40 X:33 Y:89 P:67 SP:FB CYC:328 SL:19
F88E 30 07 BMI $F897 A:40 X:33 Y:89 P:67 SP:F9 CYC: 5 SL:20
F890 90 05 BCC $F897 A:40 X:33 Y:89 P:67 SP:F9 CYC: 11 SL:20
F892 D0 03 BNE $F897 A:40 X:33 Y:89 P:67 SP:F9 CYC: 17 SL:20
F894 50 01 BVC $F897 A:40 X:33 Y:89 P:67 SP:F9 CYC: 23 SL:20
F896 60 RTS A:40 X:33 Y:89 P:67 SP:F9 CYC: 29 SL:20
D2F3 C8 INY A:40 X:33 Y:89 P:67 SP:FB CYC: 47 SL:20
D2F4 48 PHA A:40 X:33 Y:8A P:E5 SP:FB CYC: 53 SL:20
D2F5 A9 3F LDA #$3F A:40 X:33 Y:8A P:E5 SP:FA CYC: 62 SL:20
D2F7 85 78 STA $78 = 40 A:3F X:33 Y:8A P:65 SP:FA CYC: 68 SL:20
D2F9 68 PLA A:3F X:33 Y:8A P:65 SP:FA CYC: 77 SL:20
D2FA 20 9A F8 JSR $F89A A:40 X:33 Y:8A P:65 SP:FB CYC: 89 SL:20
F89A B8 CLV A:40 X:33 Y:8A P:65 SP:F9 CYC:107 SL:20
F89B 60 RTS A:40 X:33 Y:8A P:25 SP:F9 CYC:113 SL:20
D2FD C5 78 CMP $78 = 3F A:40 X:33 Y:8A P:25 SP:FB CYC:131 SL:20
D2FF 20 9C F8 JSR $F89C A:40 X:33 Y:8A P:25 SP:FB CYC:140 SL:20
F89C F0 07 BEQ $F8A5 A:40 X:33 Y:8A P:25 SP:F9 CYC:158 SL:20
F89E 30 05 BMI $F8A5 A:40 X:33 Y:8A P:25 SP:F9 CYC:164 SL:20
F8A0 90 03 BCC $F8A5 A:40 X:33 Y:8A P:25 SP:F9 CYC:170 SL:20
F8A2 70 01 BVS $F8A5 A:40 X:33 Y:8A P:25 SP:F9 CYC:176 SL:20
F8A4 60 RTS A:40 X:33 Y:8A P:25 SP:F9 CYC:182 SL:20
D302 C8 INY A:40 X:33 Y:8A P:25 SP:FB CYC:200 SL:20
D303 48 PHA A:40 X:33 Y:8B P:A5 SP:FB CYC:206 SL:20
D304 A9 41 LDA #$41 A:40 X:33 Y:8B P:A5 SP:FA CYC:215 SL:20
D306 85 78 STA $78 = 3F A:41 X:33 Y:8B P:25 SP:FA CYC:221 SL:20
D308 68 PLA A:41 X:33 Y:8B P:25 SP:FA CYC:230 SL:20
D309 C5 78 CMP $78 = 41 A:40 X:33 Y:8B P:25 SP:FB CYC:242 SL:20
D30B 20 A8 F8 JSR $F8A8 A:40 X:33 Y:8B P:A4 SP:FB CYC:251 SL:20
F8A8 F0 05 BEQ $F8AF A:40 X:33 Y:8B P:A4 SP:F9 CYC:269 SL:20
F8AA 10 03 BPL $F8AF A:40 X:33 Y:8B P:A4 SP:F9 CYC:275 SL:20
F8AC 10 01 BPL $F8AF A:40 X:33 Y:8B P:A4 SP:F9 CYC:281 SL:20
F8AE 60 RTS A:40 X:33 Y:8B P:A4 SP:F9 CYC:287 SL:20
D30E C8 INY A:40 X:33 Y:8B P:A4 SP:FB CYC:305 SL:20
D30F 48 PHA A:40 X:33 Y:8C P:A4 SP:FB CYC:311 SL:20
D310 A9 00 LDA #$00 A:40 X:33 Y:8C P:A4 SP:FA CYC:320 SL:20
D312 85 78 STA $78 = 41 A:00 X:33 Y:8C P:26 SP:FA CYC:326 SL:20
D314 68 PLA A:00 X:33 Y:8C P:26 SP:FA CYC:335 SL:20
D315 20 B2 F8 JSR $F8B2 A:40 X:33 Y:8C P:24 SP:FB CYC: 6 SL:21
F8B2 A9 80 LDA #$80 A:40 X:33 Y:8C P:24 SP:F9 CYC: 24 SL:21
F8B4 60 RTS A:80 X:33 Y:8C P:A4 SP:F9 CYC: 30 SL:21
D318 C5 78 CMP $78 = 00 A:80 X:33 Y:8C P:A4 SP:FB CYC: 48 SL:21
D31A 20 B5 F8 JSR $F8B5 A:80 X:33 Y:8C P:A5 SP:FB CYC: 57 SL:21
F8B5 F0 05 BEQ $F8BC A:80 X:33 Y:8C P:A5 SP:F9 CYC: 75 SL:21
F8B7 10 03 BPL $F8BC A:80 X:33 Y:8C P:A5 SP:F9 CYC: 81 SL:21
F8B9 90 01 BCC $F8BC A:80 X:33 Y:8C P:A5 SP:F9 CYC: 87 SL:21
F8BB 60 RTS A:80 X:33 Y:8C P:A5 SP:F9 CYC: 93 SL:21
D31D C8 INY A:80 X:33 Y:8C P:A5 SP:FB CYC:111 SL:21
D31E 48 PHA A:80 X:33 Y:8D P:A5 SP:FB CYC:117 SL:21
D31F A9 80 LDA #$80 A:80 X:33 Y:8D P:A5 SP:FA CYC:126 SL:21
D321 85 78 STA $78 = 00 A:80 X:33 Y:8D P:A5 SP:FA CYC:132 SL:21
D323 68 PLA A:80 X:33 Y:8D P:A5 SP:FA CYC:141 SL:21
D324 C5 78 CMP $78 = 80 A:80 X:33 Y:8D P:A5 SP:FB CYC:153 SL:21
D326 20 BF F8 JSR $F8BF A:80 X:33 Y:8D P:27 SP:FB CYC:162 SL:21
F8BF D0 05 BNE $F8C6 A:80 X:33 Y:8D P:27 SP:F9 CYC:180 SL:21
F8C1 30 03 BMI $F8C6 A:80 X:33 Y:8D P:27 SP:F9 CYC:186 SL:21
F8C3 90 01 BCC $F8C6 A:80 X:33 Y:8D P:27 SP:F9 CYC:192 SL:21
F8C5 60 RTS A:80 X:33 Y:8D P:27 SP:F9 CYC:198 SL:21
D329 C8 INY A:80 X:33 Y:8D P:27 SP:FB CYC:216 SL:21
D32A 48 PHA A:80 X:33 Y:8E P:A5 SP:FB CYC:222 SL:21
D32B A9 81 LDA #$81 A:80 X:33 Y:8E P:A5 SP:FA CYC:231 SL:21
D32D 85 78 STA $78 = 80 A:81 X:33 Y:8E P:A5 SP:FA CYC:237 SL:21
D32F 68 PLA A:81 X:33 Y:8E P:A5 SP:FA CYC:246 SL:21
D330 C5 78 CMP $78 = 81 A:80 X:33 Y:8E P:A5 SP:FB CYC:258 SL:21
D332 20 C9 F8 JSR $F8C9 A:80 X:33 Y:8E P:A4 SP:FB CYC:267 SL:21
F8C9 B0 05 BCS $F8D0 A:80 X:33 Y:8E P:A4 SP:F9 CYC:285 SL:21
F8CB F0 03 BEQ $F8D0 A:80 X:33 Y:8E P:A4 SP:F9 CYC:291 SL:21
F8CD 10 01 BPL $F8D0 A:80 X:33 Y:8E P:A4 SP:F9 CYC:297 SL:21
F8CF 60 RTS A:80 X:33 Y:8E P:A4 SP:F9 CYC:303 SL:21
D335 C8 INY A:80 X:33 Y:8E P:A4 SP:FB CYC:321 SL:21
D336 48 PHA A:80 X:33 Y:8F P:A4 SP:FB CYC:327 SL:21
D337 A9 7F LDA #$7F A:80 X:33 Y:8F P:A4 SP:FA CYC:336 SL:21
D339 85 78 STA $78 = 81 A:7F X:33 Y:8F P:24 SP:FA CYC: 1 SL:22
D33B 68 PLA A:7F X:33 Y:8F P:24 SP:FA CYC: 10 SL:22
D33C C5 78 CMP $78 = 7F A:80 X:33 Y:8F P:A4 SP:FB CYC: 22 SL:22
D33E 20 D3 F8 JSR $F8D3 A:80 X:33 Y:8F P:25 SP:FB CYC: 31 SL:22
F8D3 90 05 BCC $F8DA A:80 X:33 Y:8F P:25 SP:F9 CYC: 49 SL:22
F8D5 F0 03 BEQ $F8DA A:80 X:33 Y:8F P:25 SP:F9 CYC: 55 SL:22
F8D7 30 01 BMI $F8DA A:80 X:33 Y:8F P:25 SP:F9 CYC: 61 SL:22
F8D9 60 RTS A:80 X:33 Y:8F P:25 SP:F9 CYC: 67 SL:22
D341 C8 INY A:80 X:33 Y:8F P:25 SP:FB CYC: 85 SL:22
D342 A9 40 LDA #$40 A:80 X:33 Y:90 P:A5 SP:FB CYC: 91 SL:22
D344 85 78 STA $78 = 7F A:40 X:33 Y:90 P:25 SP:FB CYC: 97 SL:22
D346 20 31 F9 JSR $F931 A:40 X:33 Y:90 P:25 SP:FB CYC:106 SL:22
F931 24 01 BIT $01 = FF A:40 X:33 Y:90 P:25 SP:F9 CYC:124 SL:22
F933 A9 40 LDA #$40 A:40 X:33 Y:90 P:E5 SP:F9 CYC:133 SL:22
F935 38 SEC A:40 X:33 Y:90 P:65 SP:F9 CYC:139 SL:22
F936 60 RTS A:40 X:33 Y:90 P:65 SP:F9 CYC:145 SL:22
D349 E5 78 SBC $78 = 40 A:40 X:33 Y:90 P:65 SP:FB CYC:163 SL:22
D34B 20 37 F9 JSR $F937 A:00 X:33 Y:90 P:27 SP:FB CYC:172 SL:22
F937 30 0B BMI $F944 A:00 X:33 Y:90 P:27 SP:F9 CYC:190 SL:22
F939 90 09 BCC $F944 A:00 X:33 Y:90 P:27 SP:F9 CYC:196 SL:22
F93B D0 07 BNE $F944 A:00 X:33 Y:90 P:27 SP:F9 CYC:202 SL:22
F93D 70 05 BVS $F944 A:00 X:33 Y:90 P:27 SP:F9 CYC:208 SL:22
F93F C9 00 CMP #$00 A:00 X:33 Y:90 P:27 SP:F9 CYC:214 SL:22
F941 D0 01 BNE $F944 A:00 X:33 Y:90 P:27 SP:F9 CYC:220 SL:22
F943 60 RTS A:00 X:33 Y:90 P:27 SP:F9 CYC:226 SL:22
D34E C8 INY A:00 X:33 Y:90 P:27 SP:FB CYC:244 SL:22
D34F A9 3F LDA #$3F A:00 X:33 Y:91 P:A5 SP:FB CYC:250 SL:22
D351 85 78 STA $78 = 40 A:3F X:33 Y:91 P:25 SP:FB CYC:256 SL:22
D353 20 47 F9 JSR $F947 A:3F X:33 Y:91 P:25 SP:FB CYC:265 SL:22
F947 B8 CLV A:3F X:33 Y:91 P:25 SP:F9 CYC:283 SL:22
F948 38 SEC A:3F X:33 Y:91 P:25 SP:F9 CYC:289 SL:22
F949 A9 40 LDA #$40 A:3F X:33 Y:91 P:25 SP:F9 CYC:295 SL:22
F94B 60 RTS A:40 X:33 Y:91 P:25 SP:F9 CYC:301 SL:22
D356 E5 78 SBC $78 = 3F A:40 X:33 Y:91 P:25 SP:FB CYC:319 SL:22
D358 20 4C F9 JSR $F94C A:01 X:33 Y:91 P:25 SP:FB CYC:328 SL:22
F94C F0 0B BEQ $F959 A:01 X:33 Y:91 P:25 SP:F9 CYC: 5 SL:23
F94E 30 09 BMI $F959 A:01 X:33 Y:91 P:25 SP:F9 CYC: 11 SL:23
F950 90 07 BCC $F959 A:01 X:33 Y:91 P:25 SP:F9 CYC: 17 SL:23
F952 70 05 BVS $F959 A:01 X:33 Y:91 P:25 SP:F9 CYC: 23 SL:23
F954 C9 01 CMP #$01 A:01 X:33 Y:91 P:25 SP:F9 CYC: 29 SL:23
F956 D0 01 BNE $F959 A:01 X:33 Y:91 P:27 SP:F9 CYC: 35 SL:23
F958 60 RTS A:01 X:33 Y:91 P:27 SP:F9 CYC: 41 SL:23
D35B C8 INY A:01 X:33 Y:91 P:27 SP:FB CYC: 59 SL:23
D35C A9 41 LDA #$41 A:01 X:33 Y:92 P:A5 SP:FB CYC: 65 SL:23
D35E 85 78 STA $78 = 3F A:41 X:33 Y:92 P:25 SP:FB CYC: 71 SL:23
D360 20 5C F9 JSR $F95C A:41 X:33 Y:92 P:25 SP:FB CYC: 80 SL:23
F95C A9 40 LDA #$40 A:41 X:33 Y:92 P:25 SP:F9 CYC: 98 SL:23
F95E 38 SEC A:40 X:33 Y:92 P:25 SP:F9 CYC:104 SL:23
F95F 24 01 BIT $01 = FF A:40 X:33 Y:92 P:25 SP:F9 CYC:110 SL:23
F961 60 RTS A:40 X:33 Y:92 P:E5 SP:F9 CYC:119 SL:23
D363 E5 78 SBC $78 = 41 A:40 X:33 Y:92 P:E5 SP:FB CYC:137 SL:23
D365 20 62 F9 JSR $F962 A:FF X:33 Y:92 P:A4 SP:FB CYC:146 SL:23
F962 B0 0B BCS $F96F A:FF X:33 Y:92 P:A4 SP:F9 CYC:164 SL:23
F964 F0 09 BEQ $F96F A:FF X:33 Y:92 P:A4 SP:F9 CYC:170 SL:23
F966 10 07 BPL $F96F A:FF X:33 Y:92 P:A4 SP:F9 CYC:176 SL:23
F968 70 05 BVS $F96F A:FF X:33 Y:92 P:A4 SP:F9 CYC:182 SL:23
F96A C9 FF CMP #$FF A:FF X:33 Y:92 P:A4 SP:F9 CYC:188 SL:23
F96C D0 01 BNE $F96F A:FF X:33 Y:92 P:27 SP:F9 CYC:194 SL:23
F96E 60 RTS A:FF X:33 Y:92 P:27 SP:F9 CYC:200 SL:23
D368 C8 INY A:FF X:33 Y:92 P:27 SP:FB CYC:218 SL:23
D369 A9 00 LDA #$00 A:FF X:33 Y:93 P:A5 SP:FB CYC:224 SL:23
D36B 85 78 STA $78 = 41 A:00 X:33 Y:93 P:27 SP:FB CYC:230 SL:23
D36D 20 72 F9 JSR $F972 A:00 X:33 Y:93 P:27 SP:FB CYC:239 SL:23
F972 18 CLC A:00 X:33 Y:93 P:27 SP:F9 CYC:257 SL:23
F973 A9 80 LDA #$80 A:00 X:33 Y:93 P:26 SP:F9 CYC:263 SL:23
F975 60 RTS A:80 X:33 Y:93 P:A4 SP:F9 CYC:269 SL:23
D370 E5 78 SBC $78 = 00 A:80 X:33 Y:93 P:A4 SP:FB CYC:287 SL:23
D372 20 76 F9 JSR $F976 A:7F X:33 Y:93 P:65 SP:FB CYC:296 SL:23
F976 90 05 BCC $F97D A:7F X:33 Y:93 P:65 SP:F9 CYC:314 SL:23
F978 C9 7F CMP #$7F A:7F X:33 Y:93 P:65 SP:F9 CYC:320 SL:23
F97A D0 01 BNE $F97D A:7F X:33 Y:93 P:67 SP:F9 CYC:326 SL:23
F97C 60 RTS A:7F X:33 Y:93 P:67 SP:F9 CYC:332 SL:23
D375 C8 INY A:7F X:33 Y:93 P:67 SP:FB CYC: 9 SL:24
D376 A9 7F LDA #$7F A:7F X:33 Y:94 P:E5 SP:FB CYC: 15 SL:24
D378 85 78 STA $78 = 00 A:7F X:33 Y:94 P:65 SP:FB CYC: 21 SL:24
D37A 20 80 F9 JSR $F980 A:7F X:33 Y:94 P:65 SP:FB CYC: 30 SL:24
F980 38 SEC A:7F X:33 Y:94 P:65 SP:F9 CYC: 48 SL:24
F981 A9 81 LDA #$81 A:7F X:33 Y:94 P:65 SP:F9 CYC: 54 SL:24
F983 60 RTS A:81 X:33 Y:94 P:E5 SP:F9 CYC: 60 SL:24
D37D E5 78 SBC $78 = 7F A:81 X:33 Y:94 P:E5 SP:FB CYC: 78 SL:24
D37F 20 84 F9 JSR $F984 A:02 X:33 Y:94 P:65 SP:FB CYC: 87 SL:24
F984 50 07 BVC $F98D A:02 X:33 Y:94 P:65 SP:F9 CYC:105 SL:24
F986 90 05 BCC $F98D A:02 X:33 Y:94 P:65 SP:F9 CYC:111 SL:24
F988 C9 02 CMP #$02 A:02 X:33 Y:94 P:65 SP:F9 CYC:117 SL:24
F98A D0 01 BNE $F98D A:02 X:33 Y:94 P:67 SP:F9 CYC:123 SL:24
F98C 60 RTS A:02 X:33 Y:94 P:67 SP:F9 CYC:129 SL:24
D382 C8 INY A:02 X:33 Y:94 P:67 SP:FB CYC:147 SL:24
D383 A9 40 LDA #$40 A:02 X:33 Y:95 P:E5 SP:FB CYC:153 SL:24
D385 85 78 STA $78 = 7F A:40 X:33 Y:95 P:65 SP:FB CYC:159 SL:24
D387 20 89 F8 JSR $F889 A:40 X:33 Y:95 P:65 SP:FB CYC:168 SL:24
F889 24 01 BIT $01 = FF A:40 X:33 Y:95 P:65 SP:F9 CYC:186 SL:24
F88B A9 40 LDA #$40 A:40 X:33 Y:95 P:E5 SP:F9 CYC:195 SL:24
F88D 60 RTS A:40 X:33 Y:95 P:65 SP:F9 CYC:201 SL:24
D38A AA TAX A:40 X:33 Y:95 P:65 SP:FB CYC:219 SL:24
D38B E4 78 CPX $78 = 40 A:40 X:40 Y:95 P:65 SP:FB CYC:225 SL:24
D38D 20 8E F8 JSR $F88E A:40 X:40 Y:95 P:67 SP:FB CYC:234 SL:24
F88E 30 07 BMI $F897 A:40 X:40 Y:95 P:67 SP:F9 CYC:252 SL:24
F890 90 05 BCC $F897 A:40 X:40 Y:95 P:67 SP:F9 CYC:258 SL:24
F892 D0 03 BNE $F897 A:40 X:40 Y:95 P:67 SP:F9 CYC:264 SL:24
F894 50 01 BVC $F897 A:40 X:40 Y:95 P:67 SP:F9 CYC:270 SL:24
F896 60 RTS A:40 X:40 Y:95 P:67 SP:F9 CYC:276 SL:24
D390 C8 INY A:40 X:40 Y:95 P:67 SP:FB CYC:294 SL:24
D391 A9 3F LDA #$3F A:40 X:40 Y:96 P:E5 SP:FB CYC:300 SL:24
D393 85 78 STA $78 = 40 A:3F X:40 Y:96 P:65 SP:FB CYC:306 SL:24
D395 20 9A F8 JSR $F89A A:3F X:40 Y:96 P:65 SP:FB CYC:315 SL:24
F89A B8 CLV A:3F X:40 Y:96 P:65 SP:F9 CYC:333 SL:24
F89B 60 RTS A:3F X:40 Y:96 P:25 SP:F9 CYC:339 SL:24
D398 E4 78 CPX $78 = 3F A:3F X:40 Y:96 P:25 SP:FB CYC: 16 SL:25
D39A 20 9C F8 JSR $F89C A:3F X:40 Y:96 P:25 SP:FB CYC: 25 SL:25
F89C F0 07 BEQ $F8A5 A:3F X:40 Y:96 P:25 SP:F9 CYC: 43 SL:25
F89E 30 05 BMI $F8A5 A:3F X:40 Y:96 P:25 SP:F9 CYC: 49 SL:25
F8A0 90 03 BCC $F8A5 A:3F X:40 Y:96 P:25 SP:F9 CYC: 55 SL:25
F8A2 70 01 BVS $F8A5 A:3F X:40 Y:96 P:25 SP:F9 CYC: 61 SL:25
F8A4 60 RTS A:3F X:40 Y:96 P:25 SP:F9 CYC: 67 SL:25
D39D C8 INY A:3F X:40 Y:96 P:25 SP:FB CYC: 85 SL:25
D39E A9 41 LDA #$41 A:3F X:40 Y:97 P:A5 SP:FB CYC: 91 SL:25
D3A0 85 78 STA $78 = 3F A:41 X:40 Y:97 P:25 SP:FB CYC: 97 SL:25
D3A2 E4 78 CPX $78 = 41 A:41 X:40 Y:97 P:25 SP:FB CYC:106 SL:25
D3A4 20 A8 F8 JSR $F8A8 A:41 X:40 Y:97 P:A4 SP:FB CYC:115 SL:25
F8A8 F0 05 BEQ $F8AF A:41 X:40 Y:97 P:A4 SP:F9 CYC:133 SL:25
F8AA 10 03 BPL $F8AF A:41 X:40 Y:97 P:A4 SP:F9 CYC:139 SL:25
F8AC 10 01 BPL $F8AF A:41 X:40 Y:97 P:A4 SP:F9 CYC:145 SL:25
F8AE 60 RTS A:41 X:40 Y:97 P:A4 SP:F9 CYC:151 SL:25
D3A7 C8 INY A:41 X:40 Y:97 P:A4 SP:FB CYC:169 SL:25
D3A8 A9 00 LDA #$00 A:41 X:40 Y:98 P:A4 SP:FB CYC:175 SL:25
D3AA 85 78 STA $78 = 41 A:00 X:40 Y:98 P:26 SP:FB CYC:181 SL:25
D3AC 20 B2 F8 JSR $F8B2 A:00 X:40 Y:98 P:26 SP:FB CYC:190 SL:25
F8B2 A9 80 LDA #$80 A:00 X:40 Y:98 P:26 SP:F9 CYC:208 SL:25
F8B4 60 RTS A:80 X:40 Y:98 P:A4 SP:F9 CYC:214 SL:25
D3AF AA TAX A:80 X:40 Y:98 P:A4 SP:FB CYC:232 SL:25
D3B0 E4 78 CPX $78 = 00 A:80 X:80 Y:98 P:A4 SP:FB CYC:238 SL:25
D3B2 20 B5 F8 JSR $F8B5 A:80 X:80 Y:98 P:A5 SP:FB CYC:247 SL:25
F8B5 F0 05 BEQ $F8BC A:80 X:80 Y:98 P:A5 SP:F9 CYC:265 SL:25
F8B7 10 03 BPL $F8BC A:80 X:80 Y:98 P:A5 SP:F9 CYC:271 SL:25
F8B9 90 01 BCC $F8BC A:80 X:80 Y:98 P:A5 SP:F9 CYC:277 SL:25
F8BB 60 RTS A:80 X:80 Y:98 P:A5 SP:F9 CYC:283 SL:25
D3B5 C8 INY A:80 X:80 Y:98 P:A5 SP:FB CYC:301 SL:25
D3B6 A9 80 LDA #$80 A:80 X:80 Y:99 P:A5 SP:FB CYC:307 SL:25
D3B8 85 78 STA $78 = 00 A:80 X:80 Y:99 P:A5 SP:FB CYC:313 SL:25
D3BA E4 78 CPX $78 = 80 A:80 X:80 Y:99 P:A5 SP:FB CYC:322 SL:25
D3BC 20 BF F8 JSR $F8BF A:80 X:80 Y:99 P:27 SP:FB CYC:331 SL:25
F8BF D0 05 BNE $F8C6 A:80 X:80 Y:99 P:27 SP:F9 CYC: 8 SL:26
F8C1 30 03 BMI $F8C6 A:80 X:80 Y:99 P:27 SP:F9 CYC: 14 SL:26
F8C3 90 01 BCC $F8C6 A:80 X:80 Y:99 P:27 SP:F9 CYC: 20 SL:26
F8C5 60 RTS A:80 X:80 Y:99 P:27 SP:F9 CYC: 26 SL:26
D3BF C8 INY A:80 X:80 Y:99 P:27 SP:FB CYC: 44 SL:26
D3C0 A9 81 LDA #$81 A:80 X:80 Y:9A P:A5 SP:FB CYC: 50 SL:26
D3C2 85 78 STA $78 = 80 A:81 X:80 Y:9A P:A5 SP:FB CYC: 56 SL:26
D3C4 E4 78 CPX $78 = 81 A:81 X:80 Y:9A P:A5 SP:FB CYC: 65 SL:26
D3C6 20 C9 F8 JSR $F8C9 A:81 X:80 Y:9A P:A4 SP:FB CYC: 74 SL:26
F8C9 B0 05 BCS $F8D0 A:81 X:80 Y:9A P:A4 SP:F9 CYC: 92 SL:26
F8CB F0 03 BEQ $F8D0 A:81 X:80 Y:9A P:A4 SP:F9 CYC: 98 SL:26
F8CD 10 01 BPL $F8D0 A:81 X:80 Y:9A P:A4 SP:F9 CYC:104 SL:26
F8CF 60 RTS A:81 X:80 Y:9A P:A4 SP:F9 CYC:110 SL:26
D3C9 C8 INY A:81 X:80 Y:9A P:A4 SP:FB CYC:128 SL:26
D3CA A9 7F LDA #$7F A:81 X:80 Y:9B P:A4 SP:FB CYC:134 SL:26
D3CC 85 78 STA $78 = 81 A:7F X:80 Y:9B P:24 SP:FB CYC:140 SL:26
D3CE E4 78 CPX $78 = 7F A:7F X:80 Y:9B P:24 SP:FB CYC:149 SL:26
D3D0 20 D3 F8 JSR $F8D3 A:7F X:80 Y:9B P:25 SP:FB CYC:158 SL:26
F8D3 90 05 BCC $F8DA A:7F X:80 Y:9B P:25 SP:F9 CYC:176 SL:26
F8D5 F0 03 BEQ $F8DA A:7F X:80 Y:9B P:25 SP:F9 CYC:182 SL:26
F8D7 30 01 BMI $F8DA A:7F X:80 Y:9B P:25 SP:F9 CYC:188 SL:26
F8D9 60 RTS A:7F X:80 Y:9B P:25 SP:F9 CYC:194 SL:26
D3D3 C8 INY A:7F X:80 Y:9B P:25 SP:FB CYC:212 SL:26
D3D4 98 TYA A:7F X:80 Y:9C P:A5 SP:FB CYC:218 SL:26
D3D5 AA TAX A:9C X:80 Y:9C P:A5 SP:FB CYC:224 SL:26
D3D6 A9 40 LDA #$40 A:9C X:9C Y:9C P:A5 SP:FB CYC:230 SL:26
D3D8 85 78 STA $78 = 7F A:40 X:9C Y:9C P:25 SP:FB CYC:236 SL:26
D3DA 20 DD F8 JSR $F8DD A:40 X:9C Y:9C P:25 SP:FB CYC:245 SL:26
F8DD 24 01 BIT $01 = FF A:40 X:9C Y:9C P:25 SP:F9 CYC:263 SL:26
F8DF A0 40 LDY #$40 A:40 X:9C Y:9C P:E5 SP:F9 CYC:272 SL:26
F8E1 60 RTS A:40 X:9C Y:40 P:65 SP:F9 CYC:278 SL:26
D3DD C4 78 CPY $78 = 40 A:40 X:9C Y:40 P:65 SP:FB CYC:296 SL:26
D3DF 20 E2 F8 JSR $F8E2 A:40 X:9C Y:40 P:67 SP:FB CYC:305 SL:26
F8E2 30 07 BMI $F8EB A:40 X:9C Y:40 P:67 SP:F9 CYC:323 SL:26
F8E4 90 05 BCC $F8EB A:40 X:9C Y:40 P:67 SP:F9 CYC:329 SL:26
F8E6 D0 03 BNE $F8EB A:40 X:9C Y:40 P:67 SP:F9 CYC:335 SL:26
F8E8 50 01 BVC $F8EB A:40 X:9C Y:40 P:67 SP:F9 CYC: 0 SL:27
F8EA 60 RTS A:40 X:9C Y:40 P:67 SP:F9 CYC: 6 SL:27
D3E2 E8 INX A:40 X:9C Y:40 P:67 SP:FB CYC: 24 SL:27
D3E3 A9 3F LDA #$3F A:40 X:9D Y:40 P:E5 SP:FB CYC: 30 SL:27
D3E5 85 78 STA $78 = 40 A:3F X:9D Y:40 P:65 SP:FB CYC: 36 SL:27
D3E7 20 EE F8 JSR $F8EE A:3F X:9D Y:40 P:65 SP:FB CYC: 45 SL:27
F8EE B8 CLV A:3F X:9D Y:40 P:65 SP:F9 CYC: 63 SL:27
F8EF 60 RTS A:3F X:9D Y:40 P:25 SP:F9 CYC: 69 SL:27
D3EA C4 78 CPY $78 = 3F A:3F X:9D Y:40 P:25 SP:FB CYC: 87 SL:27
D3EC 20 F0 F8 JSR $F8F0 A:3F X:9D Y:40 P:25 SP:FB CYC: 96 SL:27
F8F0 F0 07 BEQ $F8F9 A:3F X:9D Y:40 P:25 SP:F9 CYC:114 SL:27
F8F2 30 05 BMI $F8F9 A:3F X:9D Y:40 P:25 SP:F9 CYC:120 SL:27
F8F4 90 03 BCC $F8F9 A:3F X:9D Y:40 P:25 SP:F9 CYC:126 SL:27
F8F6 70 01 BVS $F8F9 A:3F X:9D Y:40 P:25 SP:F9 CYC:132 SL:27
F8F8 60 RTS A:3F X:9D Y:40 P:25 SP:F9 CYC:138 SL:27
D3EF E8 INX A:3F X:9D Y:40 P:25 SP:FB CYC:156 SL:27
D3F0 A9 41 LDA #$41 A:3F X:9E Y:40 P:A5 SP:FB CYC:162 SL:27
D3F2 85 78 STA $78 = 3F A:41 X:9E Y:40 P:25 SP:FB CYC:168 SL:27
D3F4 C4 78 CPY $78 = 41 A:41 X:9E Y:40 P:25 SP:FB CYC:177 SL:27
D3F6 20 FC F8 JSR $F8FC A:41 X:9E Y:40 P:A4 SP:FB CYC:186 SL:27
F8FC F0 05 BEQ $F903 A:41 X:9E Y:40 P:A4 SP:F9 CYC:204 SL:27
F8FE 10 03 BPL $F903 A:41 X:9E Y:40 P:A4 SP:F9 CYC:210 SL:27
F900 10 01 BPL $F903 A:41 X:9E Y:40 P:A4 SP:F9 CYC:216 SL:27
F902 60 RTS A:41 X:9E Y:40 P:A4 SP:F9 CYC:222 SL:27
D3F9 E8 INX A:41 X:9E Y:40 P:A4 SP:FB CYC:240 SL:27
D3FA A9 00 LDA #$00 A:41 X:9F Y:40 P:A4 SP:FB CYC:246 SL:27
D3FC 85 78 STA $78 = 41 A:00 X:9F Y:40 P:26 SP:FB CYC:252 SL:27
D3FE 20 06 F9 JSR $F906 A:00 X:9F Y:40 P:26 SP:FB CYC:261 SL:27
F906 A0 80 LDY #$80 A:00 X:9F Y:40 P:26 SP:F9 CYC:279 SL:27
F908 60 RTS A:00 X:9F Y:80 P:A4 SP:F9 CYC:285 SL:27
D401 C4 78 CPY $78 = 00 A:00 X:9F Y:80 P:A4 SP:FB CYC:303 SL:27
D403 20 09 F9 JSR $F909 A:00 X:9F Y:80 P:A5 SP:FB CYC:312 SL:27
F909 F0 05 BEQ $F910 A:00 X:9F Y:80 P:A5 SP:F9 CYC:330 SL:27
F90B 10 03 BPL $F910 A:00 X:9F Y:80 P:A5 SP:F9 CYC:336 SL:27
F90D 90 01 BCC $F910 A:00 X:9F Y:80 P:A5 SP:F9 CYC: 1 SL:28
F90F 60 RTS A:00 X:9F Y:80 P:A5 SP:F9 CYC: 7 SL:28
D406 E8 INX A:00 X:9F Y:80 P:A5 SP:FB CYC: 25 SL:28
D407 A9 80 LDA #$80 A:00 X:A0 Y:80 P:A5 SP:FB CYC: 31 SL:28
D409 85 78 STA $78 = 00 A:80 X:A0 Y:80 P:A5 SP:FB CYC: 37 SL:28
D40B C4 78 CPY $78 = 80 A:80 X:A0 Y:80 P:A5 SP:FB CYC: 46 SL:28
D40D 20 13 F9 JSR $F913 A:80 X:A0 Y:80 P:27 SP:FB CYC: 55 SL:28
F913 D0 05 BNE $F91A A:80 X:A0 Y:80 P:27 SP:F9 CYC: 73 SL:28
F915 30 03 BMI $F91A A:80 X:A0 Y:80 P:27 SP:F9 CYC: 79 SL:28
F917 90 01 BCC $F91A A:80 X:A0 Y:80 P:27 SP:F9 CYC: 85 SL:28
F919 60 RTS A:80 X:A0 Y:80 P:27 SP:F9 CYC: 91 SL:28
D410 E8 INX A:80 X:A0 Y:80 P:27 SP:FB CYC:109 SL:28
D411 A9 81 LDA #$81 A:80 X:A1 Y:80 P:A5 SP:FB CYC:115 SL:28
D413 85 78 STA $78 = 80 A:81 X:A1 Y:80 P:A5 SP:FB CYC:121 SL:28
D415 C4 78 CPY $78 = 81 A:81 X:A1 Y:80 P:A5 SP:FB CYC:130 SL:28
D417 20 1D F9 JSR $F91D A:81 X:A1 Y:80 P:A4 SP:FB CYC:139 SL:28
F91D B0 05 BCS $F924 A:81 X:A1 Y:80 P:A4 SP:F9 CYC:157 SL:28
F91F F0 03 BEQ $F924 A:81 X:A1 Y:80 P:A4 SP:F9 CYC:163 SL:28
F921 10 01 BPL $F924 A:81 X:A1 Y:80 P:A4 SP:F9 CYC:169 SL:28
F923 60 RTS A:81 X:A1 Y:80 P:A4 SP:F9 CYC:175 SL:28
D41A E8 INX A:81 X:A1 Y:80 P:A4 SP:FB CYC:193 SL:28
D41B A9 7F LDA #$7F A:81 X:A2 Y:80 P:A4 SP:FB CYC:199 SL:28
D41D 85 78 STA $78 = 81 A:7F X:A2 Y:80 P:24 SP:FB CYC:205 SL:28
D41F C4 78 CPY $78 = 7F A:7F X:A2 Y:80 P:24 SP:FB CYC:214 SL:28
D421 20 27 F9 JSR $F927 A:7F X:A2 Y:80 P:25 SP:FB CYC:223 SL:28
F927 90 05 BCC $F92E A:7F X:A2 Y:80 P:25 SP:F9 CYC:241 SL:28
F929 F0 03 BEQ $F92E A:7F X:A2 Y:80 P:25 SP:F9 CYC:247 SL:28
F92B 30 01 BMI $F92E A:7F X:A2 Y:80 P:25 SP:F9 CYC:253 SL:28
F92D 60 RTS A:7F X:A2 Y:80 P:25 SP:F9 CYC:259 SL:28
D424 E8 INX A:7F X:A2 Y:80 P:25 SP:FB CYC:277 SL:28
D425 8A TXA A:7F X:A3 Y:80 P:A5 SP:FB CYC:283 SL:28
D426 A8 TAY A:A3 X:A3 Y:80 P:A5 SP:FB CYC:289 SL:28
D427 20 90 F9 JSR $F990 A:A3 X:A3 Y:A3 P:A5 SP:FB CYC:295 SL:28
F990 A2 55 LDX #$55 A:A3 X:A3 Y:A3 P:A5 SP:F9 CYC:313 SL:28
F992 A9 FF LDA #$FF A:A3 X:55 Y:A3 P:25 SP:F9 CYC:319 SL:28
F994 85 01 STA $01 = FF A:FF X:55 Y:A3 P:A5 SP:F9 CYC:325 SL:28
F996 EA NOP A:FF X:55 Y:A3 P:A5 SP:F9 CYC:334 SL:28
F997 24 01 BIT $01 = FF A:FF X:55 Y:A3 P:A5 SP:F9 CYC:340 SL:28
F999 38 SEC A:FF X:55 Y:A3 P:E5 SP:F9 CYC: 8 SL:29
F99A A9 01 LDA #$01 A:FF X:55 Y:A3 P:E5 SP:F9 CYC: 14 SL:29
F99C 60 RTS A:01 X:55 Y:A3 P:65 SP:F9 CYC: 20 SL:29
D42A 85 78 STA $78 = 7F A:01 X:55 Y:A3 P:65 SP:FB CYC: 38 SL:29
D42C 46 78 LSR $78 = 01 A:01 X:55 Y:A3 P:65 SP:FB CYC: 47 SL:29
D42E A5 78 LDA $78 = 00 A:01 X:55 Y:A3 P:67 SP:FB CYC: 62 SL:29
D430 20 9D F9 JSR $F99D A:00 X:55 Y:A3 P:67 SP:FB CYC: 71 SL:29
F99D 90 1B BCC $F9BA A:00 X:55 Y:A3 P:67 SP:F9 CYC: 89 SL:29
F99F D0 19 BNE $F9BA A:00 X:55 Y:A3 P:67 SP:F9 CYC: 95 SL:29
F9A1 30 17 BMI $F9BA A:00 X:55 Y:A3 P:67 SP:F9 CYC:101 SL:29
F9A3 50 15 BVC $F9BA A:00 X:55 Y:A3 P:67 SP:F9 CYC:107 SL:29
F9A5 C9 00 CMP #$00 A:00 X:55 Y:A3 P:67 SP:F9 CYC:113 SL:29
F9A7 D0 11 BNE $F9BA A:00 X:55 Y:A3 P:67 SP:F9 CYC:119 SL:29
F9A9 B8 CLV A:00 X:55 Y:A3 P:67 SP:F9 CYC:125 SL:29
F9AA A9 AA LDA #$AA A:00 X:55 Y:A3 P:27 SP:F9 CYC:131 SL:29
F9AC 60 RTS A:AA X:55 Y:A3 P:A5 SP:F9 CYC:137 SL:29
D433 C8 INY A:AA X:55 Y:A3 P:A5 SP:FB CYC:155 SL:29
D434 85 78 STA $78 = 00 A:AA X:55 Y:A4 P:A5 SP:FB CYC:161 SL:29
D436 46 78 LSR $78 = AA A:AA X:55 Y:A4 P:A5 SP:FB CYC:170 SL:29
D438 A5 78 LDA $78 = 55 A:AA X:55 Y:A4 P:24 SP:FB CYC:185 SL:29
D43A 20 AD F9 JSR $F9AD A:55 X:55 Y:A4 P:24 SP:FB CYC:194 SL:29
F9AD B0 0B BCS $F9BA A:55 X:55 Y:A4 P:24 SP:F9 CYC:212 SL:29
F9AF F0 09 BEQ $F9BA A:55 X:55 Y:A4 P:24 SP:F9 CYC:218 SL:29
F9B1 30 07 BMI $F9BA A:55 X:55 Y:A4 P:24 SP:F9 CYC:224 SL:29
F9B3 70 05 BVS $F9BA A:55 X:55 Y:A4 P:24 SP:F9 CYC:230 SL:29
F9B5 C9 55 CMP #$55 A:55 X:55 Y:A4 P:24 SP:F9 CYC:236 SL:29
F9B7 D0 01 BNE $F9BA A:55 X:55 Y:A4 P:27 SP:F9 CYC:242 SL:29
F9B9 60 RTS A:55 X:55 Y:A4 P:27 SP:F9 CYC:248 SL:29
D43D C8 INY A:55 X:55 Y:A4 P:27 SP:FB CYC:266 SL:29
D43E 20 BD F9 JSR $F9BD A:55 X:55 Y:A5 P:A5 SP:FB CYC:272 SL:29
F9BD 24 01 BIT $01 = FF A:55 X:55 Y:A5 P:A5 SP:F9 CYC:290 SL:29
F9BF 38 SEC A:55 X:55 Y:A5 P:E5 SP:F9 CYC:299 SL:29
F9C0 A9 80 LDA #$80 A:55 X:55 Y:A5 P:E5 SP:F9 CYC:305 SL:29
F9C2 60 RTS A:80 X:55 Y:A5 P:E5 SP:F9 CYC:311 SL:29
D441 85 78 STA $78 = 55 A:80 X:55 Y:A5 P:E5 SP:FB CYC:329 SL:29
D443 06 78 ASL $78 = 80 A:80 X:55 Y:A5 P:E5 SP:FB CYC:338 SL:29
D445 A5 78 LDA $78 = 00 A:80 X:55 Y:A5 P:67 SP:FB CYC: 12 SL:30
D447 20 C3 F9 JSR $F9C3 A:00 X:55 Y:A5 P:67 SP:FB CYC: 21 SL:30
F9C3 90 1C BCC $F9E1 A:00 X:55 Y:A5 P:67 SP:F9 CYC: 39 SL:30
F9C5 D0 1A BNE $F9E1 A:00 X:55 Y:A5 P:67 SP:F9 CYC: 45 SL:30
F9C7 30 18 BMI $F9E1 A:00 X:55 Y:A5 P:67 SP:F9 CYC: 51 SL:30
F9C9 50 16 BVC $F9E1 A:00 X:55 Y:A5 P:67 SP:F9 CYC: 57 SL:30
F9CB C9 00 CMP #$00 A:00 X:55 Y:A5 P:67 SP:F9 CYC: 63 SL:30
F9CD D0 12 BNE $F9E1 A:00 X:55 Y:A5 P:67 SP:F9 CYC: 69 SL:30
F9CF B8 CLV A:00 X:55 Y:A5 P:67 SP:F9 CYC: 75 SL:30
F9D0 A9 55 LDA #$55 A:00 X:55 Y:A5 P:27 SP:F9 CYC: 81 SL:30
F9D2 38 SEC A:55 X:55 Y:A5 P:25 SP:F9 CYC: 87 SL:30
F9D3 60 RTS A:55 X:55 Y:A5 P:25 SP:F9 CYC: 93 SL:30
D44A C8 INY A:55 X:55 Y:A5 P:25 SP:FB CYC:111 SL:30
D44B 85 78 STA $78 = 00 A:55 X:55 Y:A6 P:A5 SP:FB CYC:117 SL:30
D44D 06 78 ASL $78 = 55 A:55 X:55 Y:A6 P:A5 SP:FB CYC:126 SL:30
D44F A5 78 LDA $78 = AA A:55 X:55 Y:A6 P:A4 SP:FB CYC:141 SL:30
D451 20 D4 F9 JSR $F9D4 A:AA X:55 Y:A6 P:A4 SP:FB CYC:150 SL:30
F9D4 B0 0B BCS $F9E1 A:AA X:55 Y:A6 P:A4 SP:F9 CYC:168 SL:30
F9D6 F0 09 BEQ $F9E1 A:AA X:55 Y:A6 P:A4 SP:F9 CYC:174 SL:30
F9D8 10 07 BPL $F9E1 A:AA X:55 Y:A6 P:A4 SP:F9 CYC:180 SL:30
F9DA 70 05 BVS $F9E1 A:AA X:55 Y:A6 P:A4 SP:F9 CYC:186 SL:30
F9DC C9 AA CMP #$AA A:AA X:55 Y:A6 P:A4 SP:F9 CYC:192 SL:30
F9DE D0 01 BNE $F9E1 A:AA X:55 Y:A6 P:27 SP:F9 CYC:198 SL:30
F9E0 60 RTS A:AA X:55 Y:A6 P:27 SP:F9 CYC:204 SL:30
D454 C8 INY A:AA X:55 Y:A6 P:27 SP:FB CYC:222 SL:30
D455 20 E4 F9 JSR $F9E4 A:AA X:55 Y:A7 P:A5 SP:FB CYC:228 SL:30
F9E4 24 01 BIT $01 = FF A:AA X:55 Y:A7 P:A5 SP:F9 CYC:246 SL:30
F9E6 38 SEC A:AA X:55 Y:A7 P:E5 SP:F9 CYC:255 SL:30
F9E7 A9 01 LDA #$01 A:AA X:55 Y:A7 P:E5 SP:F9 CYC:261 SL:30
F9E9 60 RTS A:01 X:55 Y:A7 P:65 SP:F9 CYC:267 SL:30
D458 85 78 STA $78 = AA A:01 X:55 Y:A7 P:65 SP:FB CYC:285 SL:30
D45A 66 78 ROR $78 = 01 A:01 X:55 Y:A7 P:65 SP:FB CYC:294 SL:30
D45C A5 78 LDA $78 = 80 A:01 X:55 Y:A7 P:E5 SP:FB CYC:309 SL:30
D45E 20 EA F9 JSR $F9EA A:80 X:55 Y:A7 P:E5 SP:FB CYC:318 SL:30
F9EA 90 1C BCC $FA08 A:80 X:55 Y:A7 P:E5 SP:F9 CYC:336 SL:30
F9EC F0 1A BEQ $FA08 A:80 X:55 Y:A7 P:E5 SP:F9 CYC: 1 SL:31
F9EE 10 18 BPL $FA08 A:80 X:55 Y:A7 P:E5 SP:F9 CYC: 7 SL:31
F9F0 50 16 BVC $FA08 A:80 X:55 Y:A7 P:E5 SP:F9 CYC: 13 SL:31
F9F2 C9 80 CMP #$80 A:80 X:55 Y:A7 P:E5 SP:F9 CYC: 19 SL:31
F9F4 D0 12 BNE $FA08 A:80 X:55 Y:A7 P:67 SP:F9 CYC: 25 SL:31
F9F6 B8 CLV A:80 X:55 Y:A7 P:67 SP:F9 CYC: 31 SL:31
F9F7 18 CLC A:80 X:55 Y:A7 P:27 SP:F9 CYC: 37 SL:31
F9F8 A9 55 LDA #$55 A:80 X:55 Y:A7 P:26 SP:F9 CYC: 43 SL:31
F9FA 60 RTS A:55 X:55 Y:A7 P:24 SP:F9 CYC: 49 SL:31
D461 C8 INY A:55 X:55 Y:A7 P:24 SP:FB CYC: 67 SL:31
D462 85 78 STA $78 = 80 A:55 X:55 Y:A8 P:A4 SP:FB CYC: 73 SL:31
D464 66 78 ROR $78 = 55 A:55 X:55 Y:A8 P:A4 SP:FB CYC: 82 SL:31
D466 A5 78 LDA $78 = 2A A:55 X:55 Y:A8 P:25 SP:FB CYC: 97 SL:31
D468 20 FB F9 JSR $F9FB A:2A X:55 Y:A8 P:25 SP:FB CYC:106 SL:31
F9FB 90 0B BCC $FA08 A:2A X:55 Y:A8 P:25 SP:F9 CYC:124 SL:31
F9FD F0 09 BEQ $FA08 A:2A X:55 Y:A8 P:25 SP:F9 CYC:130 SL:31
F9FF 30 07 BMI $FA08 A:2A X:55 Y:A8 P:25 SP:F9 CYC:136 SL:31
FA01 70 05 BVS $FA08 A:2A X:55 Y:A8 P:25 SP:F9 CYC:142 SL:31
FA03 C9 2A CMP #$2A A:2A X:55 Y:A8 P:25 SP:F9 CYC:148 SL:31
FA05 D0 01 BNE $FA08 A:2A X:55 Y:A8 P:27 SP:F9 CYC:154 SL:31
FA07 60 RTS A:2A X:55 Y:A8 P:27 SP:F9 CYC:160 SL:31
D46B C8 INY A:2A X:55 Y:A8 P:27 SP:FB CYC:178 SL:31
D46C 20 0A FA JSR $FA0A A:2A X:55 Y:A9 P:A5 SP:FB CYC:184 SL:31
FA0A 24 01 BIT $01 = FF A:2A X:55 Y:A9 P:A5 SP:F9 CYC:202 SL:31
FA0C 38 SEC A:2A X:55 Y:A9 P:E5 SP:F9 CYC:211 SL:31
FA0D A9 80 LDA #$80 A:2A X:55 Y:A9 P:E5 SP:F9 CYC:217 SL:31
FA0F 60 RTS A:80 X:55 Y:A9 P:E5 SP:F9 CYC:223 SL:31
D46F 85 78 STA $78 = 2A A:80 X:55 Y:A9 P:E5 SP:FB CYC:241 SL:31
D471 26 78 ROL $78 = 80 A:80 X:55 Y:A9 P:E5 SP:FB CYC:250 SL:31
D473 A5 78 LDA $78 = 01 A:80 X:55 Y:A9 P:65 SP:FB CYC:265 SL:31
D475 20 10 FA JSR $FA10 A:01 X:55 Y:A9 P:65 SP:FB CYC:274 SL:31
FA10 90 1C BCC $FA2E A:01 X:55 Y:A9 P:65 SP:F9 CYC:292 SL:31
FA12 F0 1A BEQ $FA2E A:01 X:55 Y:A9 P:65 SP:F9 CYC:298 SL:31
FA14 30 18 BMI $FA2E A:01 X:55 Y:A9 P:65 SP:F9 CYC:304 SL:31
FA16 50 16 BVC $FA2E A:01 X:55 Y:A9 P:65 SP:F9 CYC:310 SL:31
FA18 C9 01 CMP #$01 A:01 X:55 Y:A9 P:65 SP:F9 CYC:316 SL:31
FA1A D0 12 BNE $FA2E A:01 X:55 Y:A9 P:67 SP:F9 CYC:322 SL:31
FA1C B8 CLV A:01 X:55 Y:A9 P:67 SP:F9 CYC:328 SL:31
FA1D 18 CLC A:01 X:55 Y:A9 P:27 SP:F9 CYC:334 SL:31
FA1E A9 55 LDA #$55 A:01 X:55 Y:A9 P:26 SP:F9 CYC:340 SL:31
FA20 60 RTS A:55 X:55 Y:A9 P:24 SP:F9 CYC: 5 SL:32
D478 C8 INY A:55 X:55 Y:A9 P:24 SP:FB CYC: 23 SL:32
D479 85 78 STA $78 = 01 A:55 X:55 Y:AA P:A4 SP:FB CYC: 29 SL:32
D47B 26 78 ROL $78 = 55 A:55 X:55 Y:AA P:A4 SP:FB CYC: 38 SL:32
D47D A5 78 LDA $78 = AA A:55 X:55 Y:AA P:A4 SP:FB CYC: 53 SL:32
D47F 20 21 FA JSR $FA21 A:AA X:55 Y:AA P:A4 SP:FB CYC: 62 SL:32
FA21 B0 0B BCS $FA2E A:AA X:55 Y:AA P:A4 SP:F9 CYC: 80 SL:32
FA23 F0 09 BEQ $FA2E A:AA X:55 Y:AA P:A4 SP:F9 CYC: 86 SL:32
FA25 10 07 BPL $FA2E A:AA X:55 Y:AA P:A4 SP:F9 CYC: 92 SL:32
FA27 70 05 BVS $FA2E A:AA X:55 Y:AA P:A4 SP:F9 CYC: 98 SL:32
FA29 C9 AA CMP #$AA A:AA X:55 Y:AA P:A4 SP:F9 CYC:104 SL:32
FA2B D0 01 BNE $FA2E A:AA X:55 Y:AA P:27 SP:F9 CYC:110 SL:32
FA2D 60 RTS A:AA X:55 Y:AA P:27 SP:F9 CYC:116 SL:32
D482 A9 FF LDA #$FF A:AA X:55 Y:AA P:27 SP:FB CYC:134 SL:32
D484 85 78 STA $78 = AA A:FF X:55 Y:AA P:A5 SP:FB CYC:140 SL:32
D486 85 01 STA $01 = FF A:FF X:55 Y:AA P:A5 SP:FB CYC:149 SL:32
D488 24 01 BIT $01 = FF A:FF X:55 Y:AA P:A5 SP:FB CYC:158 SL:32
D48A 38 SEC A:FF X:55 Y:AA P:E5 SP:FB CYC:167 SL:32
D48B E6 78 INC $78 = FF A:FF X:55 Y:AA P:E5 SP:FB CYC:173 SL:32
D48D D0 0C BNE $D49B A:FF X:55 Y:AA P:67 SP:FB CYC:188 SL:32
D48F 30 0A BMI $D49B A:FF X:55 Y:AA P:67 SP:FB CYC:194 SL:32
D491 50 08 BVC $D49B A:FF X:55 Y:AA P:67 SP:FB CYC:200 SL:32
D493 90 06 BCC $D49B A:FF X:55 Y:AA P:67 SP:FB CYC:206 SL:32
D495 A5 78 LDA $78 = 00 A:FF X:55 Y:AA P:67 SP:FB CYC:212 SL:32
D497 C9 00 CMP #$00 A:00 X:55 Y:AA P:67 SP:FB CYC:221 SL:32
D499 F0 04 BEQ $D49F A:00 X:55 Y:AA P:67 SP:FB CYC:227 SL:32
D49F A9 7F LDA #$7F A:00 X:55 Y:AA P:67 SP:FB CYC:236 SL:32
D4A1 85 78 STA $78 = 00 A:7F X:55 Y:AA P:65 SP:FB CYC:242 SL:32
D4A3 B8 CLV A:7F X:55 Y:AA P:65 SP:FB CYC:251 SL:32
D4A4 18 CLC A:7F X:55 Y:AA P:25 SP:FB CYC:257 SL:32
D4A5 E6 78 INC $78 = 7F A:7F X:55 Y:AA P:24 SP:FB CYC:263 SL:32
D4A7 F0 0C BEQ $D4B5 A:7F X:55 Y:AA P:A4 SP:FB CYC:278 SL:32
D4A9 10 0A BPL $D4B5 A:7F X:55 Y:AA P:A4 SP:FB CYC:284 SL:32
D4AB 70 08 BVS $D4B5 A:7F X:55 Y:AA P:A4 SP:FB CYC:290 SL:32
D4AD B0 06 BCS $D4B5 A:7F X:55 Y:AA P:A4 SP:FB CYC:296 SL:32
D4AF A5 78 LDA $78 = 80 A:7F X:55 Y:AA P:A4 SP:FB CYC:302 SL:32
D4B1 C9 80 CMP #$80 A:80 X:55 Y:AA P:A4 SP:FB CYC:311 SL:32
D4B3 F0 04 BEQ $D4B9 A:80 X:55 Y:AA P:27 SP:FB CYC:317 SL:32
D4B9 A9 00 LDA #$00 A:80 X:55 Y:AA P:27 SP:FB CYC:326 SL:32
D4BB 85 78 STA $78 = 80 A:00 X:55 Y:AA P:27 SP:FB CYC:332 SL:32
D4BD 24 01 BIT $01 = FF A:00 X:55 Y:AA P:27 SP:FB CYC: 0 SL:33
D4BF 38 SEC A:00 X:55 Y:AA P:E7 SP:FB CYC: 9 SL:33
D4C0 C6 78 DEC $78 = 00 A:00 X:55 Y:AA P:E7 SP:FB CYC: 15 SL:33
D4C2 F0 0C BEQ $D4D0 A:00 X:55 Y:AA P:E5 SP:FB CYC: 30 SL:33
D4C4 10 0A BPL $D4D0 A:00 X:55 Y:AA P:E5 SP:FB CYC: 36 SL:33
D4C6 50 08 BVC $D4D0 A:00 X:55 Y:AA P:E5 SP:FB CYC: 42 SL:33
D4C8 90 06 BCC $D4D0 A:00 X:55 Y:AA P:E5 SP:FB CYC: 48 SL:33
D4CA A5 78 LDA $78 = FF A:00 X:55 Y:AA P:E5 SP:FB CYC: 54 SL:33
D4CC C9 FF CMP #$FF A:FF X:55 Y:AA P:E5 SP:FB CYC: 63 SL:33
D4CE F0 04 BEQ $D4D4 A:FF X:55 Y:AA P:67 SP:FB CYC: 69 SL:33
D4D4 A9 80 LDA #$80 A:FF X:55 Y:AA P:67 SP:FB CYC: 78 SL:33
D4D6 85 78 STA $78 = FF A:80 X:55 Y:AA P:E5 SP:FB CYC: 84 SL:33
D4D8 B8 CLV A:80 X:55 Y:AA P:E5 SP:FB CYC: 93 SL:33
D4D9 18 CLC A:80 X:55 Y:AA P:A5 SP:FB CYC: 99 SL:33
D4DA C6 78 DEC $78 = 80 A:80 X:55 Y:AA P:A4 SP:FB CYC:105 SL:33
D4DC F0 0C BEQ $D4EA A:80 X:55 Y:AA P:24 SP:FB CYC:120 SL:33
D4DE 30 0A BMI $D4EA A:80 X:55 Y:AA P:24 SP:FB CYC:126 SL:33
D4E0 70 08 BVS $D4EA A:80 X:55 Y:AA P:24 SP:FB CYC:132 SL:33
D4E2 B0 06 BCS $D4EA A:80 X:55 Y:AA P:24 SP:FB CYC:138 SL:33
D4E4 A5 78 LDA $78 = 7F A:80 X:55 Y:AA P:24 SP:FB CYC:144 SL:33
D4E6 C9 7F CMP #$7F A:7F X:55 Y:AA P:24 SP:FB CYC:153 SL:33
D4E8 F0 04 BEQ $D4EE A:7F X:55 Y:AA P:27 SP:FB CYC:159 SL:33
D4EE A9 01 LDA #$01 A:7F X:55 Y:AA P:27 SP:FB CYC:168 SL:33
D4F0 85 78 STA $78 = 7F A:01 X:55 Y:AA P:25 SP:FB CYC:174 SL:33
D4F2 C6 78 DEC $78 = 01 A:01 X:55 Y:AA P:25 SP:FB CYC:183 SL:33
D4F4 F0 04 BEQ $D4FA A:01 X:55 Y:AA P:27 SP:FB CYC:198 SL:33
D4FA 60 RTS A:01 X:55 Y:AA P:27 SP:FB CYC:207 SL:33
C615 20 FB D4 JSR $D4FB A:01 X:55 Y:AA P:27 SP:FD CYC:225 SL:33
D4FB A9 55 LDA #$55 A:01 X:55 Y:AA P:27 SP:FB CYC:243 SL:33
D4FD 8D 78 06 STA $0678 = 00 A:55 X:55 Y:AA P:25 SP:FB CYC:249 SL:33
D500 A9 FF LDA #$FF A:55 X:55 Y:AA P:25 SP:FB CYC:261 SL:33
D502 85 01 STA $01 = FF A:FF X:55 Y:AA P:A5 SP:FB CYC:267 SL:33
D504 24 01 BIT $01 = FF A:FF X:55 Y:AA P:A5 SP:FB CYC:276 SL:33
D506 A0 11 LDY #$11 A:FF X:55 Y:AA P:E5 SP:FB CYC:285 SL:33
D508 A2 23 LDX #$23 A:FF X:55 Y:11 P:65 SP:FB CYC:291 SL:33
D50A A9 00 LDA #$00 A:FF X:23 Y:11 P:65 SP:FB CYC:297 SL:33
D50C AD 78 06 LDA $0678 = 55 A:00 X:23 Y:11 P:67 SP:FB CYC:303 SL:33
D50F F0 10 BEQ $D521 A:55 X:23 Y:11 P:65 SP:FB CYC:315 SL:33
D511 30 0E BMI $D521 A:55 X:23 Y:11 P:65 SP:FB CYC:321 SL:33
D513 C9 55 CMP #$55 A:55 X:23 Y:11 P:65 SP:FB CYC:327 SL:33
D515 D0 0A BNE $D521 A:55 X:23 Y:11 P:67 SP:FB CYC:333 SL:33
D517 C0 11 CPY #$11 A:55 X:23 Y:11 P:67 SP:FB CYC:339 SL:33
D519 D0 06 BNE $D521 A:55 X:23 Y:11 P:67 SP:FB CYC: 4 SL:34
D51B E0 23 CPX #$23 A:55 X:23 Y:11 P:67 SP:FB CYC: 10 SL:34
D51D 50 02 BVC $D521 A:55 X:23 Y:11 P:67 SP:FB CYC: 16 SL:34
D51F F0 04 BEQ $D525 A:55 X:23 Y:11 P:67 SP:FB CYC: 22 SL:34
D525 A9 46 LDA #$46 A:55 X:23 Y:11 P:67 SP:FB CYC: 31 SL:34
D527 24 01 BIT $01 = FF A:46 X:23 Y:11 P:65 SP:FB CYC: 37 SL:34
D529 8D 78 06 STA $0678 = 55 A:46 X:23 Y:11 P:E5 SP:FB CYC: 46 SL:34
D52C F0 0B BEQ $D539 A:46 X:23 Y:11 P:E5 SP:FB CYC: 58 SL:34
D52E 10 09 BPL $D539 A:46 X:23 Y:11 P:E5 SP:FB CYC: 64 SL:34
D530 50 07 BVC $D539 A:46 X:23 Y:11 P:E5 SP:FB CYC: 70 SL:34
D532 AD 78 06 LDA $0678 = 46 A:46 X:23 Y:11 P:E5 SP:FB CYC: 76 SL:34
D535 C9 46 CMP #$46 A:46 X:23 Y:11 P:65 SP:FB CYC: 88 SL:34
D537 F0 04 BEQ $D53D A:46 X:23 Y:11 P:67 SP:FB CYC: 94 SL:34
D53D A9 55 LDA #$55 A:46 X:23 Y:11 P:67 SP:FB CYC:103 SL:34
D53F 8D 78 06 STA $0678 = 46 A:55 X:23 Y:11 P:65 SP:FB CYC:109 SL:34
D542 24 01 BIT $01 = FF A:55 X:23 Y:11 P:65 SP:FB CYC:121 SL:34
D544 A9 11 LDA #$11 A:55 X:23 Y:11 P:E5 SP:FB CYC:130 SL:34
D546 A2 23 LDX #$23 A:11 X:23 Y:11 P:65 SP:FB CYC:136 SL:34
D548 A0 00 LDY #$00 A:11 X:23 Y:11 P:65 SP:FB CYC:142 SL:34
D54A AC 78 06 LDY $0678 = 55 A:11 X:23 Y:00 P:67 SP:FB CYC:148 SL:34
D54D F0 10 BEQ $D55F A:11 X:23 Y:55 P:65 SP:FB CYC:160 SL:34
D54F 30 0E BMI $D55F A:11 X:23 Y:55 P:65 SP:FB CYC:166 SL:34
D551 C0 55 CPY #$55 A:11 X:23 Y:55 P:65 SP:FB CYC:172 SL:34
D553 D0 0A BNE $D55F A:11 X:23 Y:55 P:67 SP:FB CYC:178 SL:34
D555 C9 11 CMP #$11 A:11 X:23 Y:55 P:67 SP:FB CYC:184 SL:34
D557 D0 06 BNE $D55F A:11 X:23 Y:55 P:67 SP:FB CYC:190 SL:34
D559 E0 23 CPX #$23 A:11 X:23 Y:55 P:67 SP:FB CYC:196 SL:34
D55B 50 02 BVC $D55F A:11 X:23 Y:55 P:67 SP:FB CYC:202 SL:34
D55D F0 04 BEQ $D563 A:11 X:23 Y:55 P:67 SP:FB CYC:208 SL:34
D563 A0 46 LDY #$46 A:11 X:23 Y:55 P:67 SP:FB CYC:217 SL:34
D565 24 01 BIT $01 = FF A:11 X:23 Y:46 P:65 SP:FB CYC:223 SL:34
D567 8C 78 06 STY $0678 = 55 A:11 X:23 Y:46 P:E5 SP:FB CYC:232 SL:34
D56A F0 0B BEQ $D577 A:11 X:23 Y:46 P:E5 SP:FB CYC:244 SL:34
D56C 10 09 BPL $D577 A:11 X:23 Y:46 P:E5 SP:FB CYC:250 SL:34
D56E 50 07 BVC $D577 A:11 X:23 Y:46 P:E5 SP:FB CYC:256 SL:34
D570 AC 78 06 LDY $0678 = 46 A:11 X:23 Y:46 P:E5 SP:FB CYC:262 SL:34
D573 C0 46 CPY #$46 A:11 X:23 Y:46 P:65 SP:FB CYC:274 SL:34
D575 F0 04 BEQ $D57B A:11 X:23 Y:46 P:67 SP:FB CYC:280 SL:34
D57B 24 01 BIT $01 = FF A:11 X:23 Y:46 P:67 SP:FB CYC:289 SL:34
D57D A9 55 LDA #$55 A:11 X:23 Y:46 P:E5 SP:FB CYC:298 SL:34
D57F 8D 78 06 STA $0678 = 46 A:55 X:23 Y:46 P:65 SP:FB CYC:304 SL:34
D582 A0 11 LDY #$11 A:55 X:23 Y:46 P:65 SP:FB CYC:316 SL:34
D584 A9 23 LDA #$23 A:55 X:23 Y:11 P:65 SP:FB CYC:322 SL:34
D586 A2 00 LDX #$00 A:23 X:23 Y:11 P:65 SP:FB CYC:328 SL:34
D588 AE 78 06 LDX $0678 = 55 A:23 X:00 Y:11 P:67 SP:FB CYC:334 SL:34
D58B F0 10 BEQ $D59D A:23 X:55 Y:11 P:65 SP:FB CYC: 5 SL:35
D58D 30 0E BMI $D59D A:23 X:55 Y:11 P:65 SP:FB CYC: 11 SL:35
D58F E0 55 CPX #$55 A:23 X:55 Y:11 P:65 SP:FB CYC: 17 SL:35
D591 D0 0A BNE $D59D A:23 X:55 Y:11 P:67 SP:FB CYC: 23 SL:35
D593 C0 11 CPY #$11 A:23 X:55 Y:11 P:67 SP:FB CYC: 29 SL:35
D595 D0 06 BNE $D59D A:23 X:55 Y:11 P:67 SP:FB CYC: 35 SL:35
D597 C9 23 CMP #$23 A:23 X:55 Y:11 P:67 SP:FB CYC: 41 SL:35
D599 50 02 BVC $D59D A:23 X:55 Y:11 P:67 SP:FB CYC: 47 SL:35
D59B F0 04 BEQ $D5A1 A:23 X:55 Y:11 P:67 SP:FB CYC: 53 SL:35
D5A1 A2 46 LDX #$46 A:23 X:55 Y:11 P:67 SP:FB CYC: 62 SL:35
D5A3 24 01 BIT $01 = FF A:23 X:46 Y:11 P:65 SP:FB CYC: 68 SL:35
D5A5 8E 78 06 STX $0678 = 55 A:23 X:46 Y:11 P:E5 SP:FB CYC: 77 SL:35
D5A8 F0 0B BEQ $D5B5 A:23 X:46 Y:11 P:E5 SP:FB CYC: 89 SL:35
D5AA 10 09 BPL $D5B5 A:23 X:46 Y:11 P:E5 SP:FB CYC: 95 SL:35
D5AC 50 07 BVC $D5B5 A:23 X:46 Y:11 P:E5 SP:FB CYC:101 SL:35
D5AE AE 78 06 LDX $0678 = 46 A:23 X:46 Y:11 P:E5 SP:FB CYC:107 SL:35
D5B1 E0 46 CPX #$46 A:23 X:46 Y:11 P:65 SP:FB CYC:119 SL:35
D5B3 F0 04 BEQ $D5B9 A:23 X:46 Y:11 P:67 SP:FB CYC:125 SL:35
D5B9 A9 C0 LDA #$C0 A:23 X:46 Y:11 P:67 SP:FB CYC:134 SL:35
D5BB 8D 78 06 STA $0678 = 46 A:C0 X:46 Y:11 P:E5 SP:FB CYC:140 SL:35
D5BE A2 33 LDX #$33 A:C0 X:46 Y:11 P:E5 SP:FB CYC:152 SL:35
D5C0 A0 88 LDY #$88 A:C0 X:33 Y:11 P:65 SP:FB CYC:158 SL:35
D5C2 A9 05 LDA #$05 A:C0 X:33 Y:88 P:E5 SP:FB CYC:164 SL:35
D5C4 2C 78 06 BIT $0678 = C0 A:05 X:33 Y:88 P:65 SP:FB CYC:170 SL:35
D5C7 10 10 BPL $D5D9 A:05 X:33 Y:88 P:E7 SP:FB CYC:182 SL:35
D5C9 50 0E BVC $D5D9 A:05 X:33 Y:88 P:E7 SP:FB CYC:188 SL:35
D5CB D0 0C BNE $D5D9 A:05 X:33 Y:88 P:E7 SP:FB CYC:194 SL:35
D5CD C9 05 CMP #$05 A:05 X:33 Y:88 P:E7 SP:FB CYC:200 SL:35
D5CF D0 08 BNE $D5D9 A:05 X:33 Y:88 P:67 SP:FB CYC:206 SL:35
D5D1 E0 33 CPX #$33 A:05 X:33 Y:88 P:67 SP:FB CYC:212 SL:35
D5D3 D0 04 BNE $D5D9 A:05 X:33 Y:88 P:67 SP:FB CYC:218 SL:35
D5D5 C0 88 CPY #$88 A:05 X:33 Y:88 P:67 SP:FB CYC:224 SL:35
D5D7 F0 04 BEQ $D5DD A:05 X:33 Y:88 P:67 SP:FB CYC:230 SL:35
D5DD A9 03 LDA #$03 A:05 X:33 Y:88 P:67 SP:FB CYC:239 SL:35
D5DF 8D 78 06 STA $0678 = C0 A:03 X:33 Y:88 P:65 SP:FB CYC:245 SL:35
D5E2 A9 01 LDA #$01 A:03 X:33 Y:88 P:65 SP:FB CYC:257 SL:35
D5E4 2C 78 06 BIT $0678 = 03 A:01 X:33 Y:88 P:65 SP:FB CYC:263 SL:35
D5E7 30 08 BMI $D5F1 A:01 X:33 Y:88 P:25 SP:FB CYC:275 SL:35
D5E9 70 06 BVS $D5F1 A:01 X:33 Y:88 P:25 SP:FB CYC:281 SL:35
D5EB F0 04 BEQ $D5F1 A:01 X:33 Y:88 P:25 SP:FB CYC:287 SL:35
D5ED C9 01 CMP #$01 A:01 X:33 Y:88 P:25 SP:FB CYC:293 SL:35
D5EF F0 04 BEQ $D5F5 A:01 X:33 Y:88 P:27 SP:FB CYC:299 SL:35
D5F5 A0 B8 LDY #$B8 A:01 X:33 Y:88 P:27 SP:FB CYC:308 SL:35
D5F7 A9 AA LDA #$AA A:01 X:33 Y:B8 P:A5 SP:FB CYC:314 SL:35
D5F9 8D 78 06 STA $0678 = 03 A:AA X:33 Y:B8 P:A5 SP:FB CYC:320 SL:35
D5FC 20 B6 F7 JSR $F7B6 A:AA X:33 Y:B8 P:A5 SP:FB CYC:332 SL:35
F7B6 18 CLC A:AA X:33 Y:B8 P:A5 SP:F9 CYC: 9 SL:36
F7B7 A9 FF LDA #$FF A:AA X:33 Y:B8 P:A4 SP:F9 CYC: 15 SL:36
F7B9 85 01 STA $01 = FF A:FF X:33 Y:B8 P:A4 SP:F9 CYC: 21 SL:36
F7BB 24 01 BIT $01 = FF A:FF X:33 Y:B8 P:A4 SP:F9 CYC: 30 SL:36
F7BD A9 55 LDA #$55 A:FF X:33 Y:B8 P:E4 SP:F9 CYC: 39 SL:36
F7BF 60 RTS A:55 X:33 Y:B8 P:64 SP:F9 CYC: 45 SL:36
D5FF 0D 78 06 ORA $0678 = AA A:55 X:33 Y:B8 P:64 SP:FB CYC: 63 SL:36
D602 20 C0 F7 JSR $F7C0 A:FF X:33 Y:B8 P:E4 SP:FB CYC: 75 SL:36
F7C0 B0 09 BCS $F7CB A:FF X:33 Y:B8 P:E4 SP:F9 CYC: 93 SL:36
F7C2 10 07 BPL $F7CB A:FF X:33 Y:B8 P:E4 SP:F9 CYC: 99 SL:36
F7C4 C9 FF CMP #$FF A:FF X:33 Y:B8 P:E4 SP:F9 CYC:105 SL:36
F7C6 D0 03 BNE $F7CB A:FF X:33 Y:B8 P:67 SP:F9 CYC:111 SL:36
F7C8 50 01 BVC $F7CB A:FF X:33 Y:B8 P:67 SP:F9 CYC:117 SL:36
F7CA 60 RTS A:FF X:33 Y:B8 P:67 SP:F9 CYC:123 SL:36
D605 C8 INY A:FF X:33 Y:B8 P:67 SP:FB CYC:141 SL:36
D606 A9 00 LDA #$00 A:FF X:33 Y:B9 P:E5 SP:FB CYC:147 SL:36
D608 8D 78 06 STA $0678 = AA A:00 X:33 Y:B9 P:67 SP:FB CYC:153 SL:36
D60B 20 CE F7 JSR $F7CE A:00 X:33 Y:B9 P:67 SP:FB CYC:165 SL:36
F7CE 38 SEC A:00 X:33 Y:B9 P:67 SP:F9 CYC:183 SL:36
F7CF B8 CLV A:00 X:33 Y:B9 P:67 SP:F9 CYC:189 SL:36
F7D0 A9 00 LDA #$00 A:00 X:33 Y:B9 P:27 SP:F9 CYC:195 SL:36
F7D2 60 RTS A:00 X:33 Y:B9 P:27 SP:F9 CYC:201 SL:36
D60E 0D 78 06 ORA $0678 = 00 A:00 X:33 Y:B9 P:27 SP:FB CYC:219 SL:36
D611 20 D3 F7 JSR $F7D3 A:00 X:33 Y:B9 P:27 SP:FB CYC:231 SL:36
F7D3 D0 07 BNE $F7DC A:00 X:33 Y:B9 P:27 SP:F9 CYC:249 SL:36
F7D5 70 05 BVS $F7DC A:00 X:33 Y:B9 P:27 SP:F9 CYC:255 SL:36
F7D7 90 03 BCC $F7DC A:00 X:33 Y:B9 P:27 SP:F9 CYC:261 SL:36
F7D9 30 01 BMI $F7DC A:00 X:33 Y:B9 P:27 SP:F9 CYC:267 SL:36
F7DB 60 RTS A:00 X:33 Y:B9 P:27 SP:F9 CYC:273 SL:36
D614 C8 INY A:00 X:33 Y:B9 P:27 SP:FB CYC:291 SL:36
D615 A9 AA LDA #$AA A:00 X:33 Y:BA P:A5 SP:FB CYC:297 SL:36
D617 8D 78 06 STA $0678 = 00 A:AA X:33 Y:BA P:A5 SP:FB CYC:303 SL:36
D61A 20 DF F7 JSR $F7DF A:AA X:33 Y:BA P:A5 SP:FB CYC:315 SL:36
F7DF 18 CLC A:AA X:33 Y:BA P:A5 SP:F9 CYC:333 SL:36
F7E0 24 01 BIT $01 = FF A:AA X:33 Y:BA P:A4 SP:F9 CYC:339 SL:36
F7E2 A9 55 LDA #$55 A:AA X:33 Y:BA P:E4 SP:F9 CYC: 7 SL:37
F7E4 60 RTS A:55 X:33 Y:BA P:64 SP:F9 CYC: 13 SL:37
D61D 2D 78 06 AND $0678 = AA A:55 X:33 Y:BA P:64 SP:FB CYC: 31 SL:37
D620 20 E5 F7 JSR $F7E5 A:00 X:33 Y:BA P:66 SP:FB CYC: 43 SL:37
F7E5 D0 07 BNE $F7EE A:00 X:33 Y:BA P:66 SP:F9 CYC: 61 SL:37
F7E7 50 05 BVC $F7EE A:00 X:33 Y:BA P:66 SP:F9 CYC: 67 SL:37
F7E9 B0 03 BCS $F7EE A:00 X:33 Y:BA P:66 SP:F9 CYC: 73 SL:37
F7EB 30 01 BMI $F7EE A:00 X:33 Y:BA P:66 SP:F9 CYC: 79 SL:37
F7ED 60 RTS A:00 X:33 Y:BA P:66 SP:F9 CYC: 85 SL:37
D623 C8 INY A:00 X:33 Y:BA P:66 SP:FB CYC:103 SL:37
D624 A9 EF LDA #$EF A:00 X:33 Y:BB P:E4 SP:FB CYC:109 SL:37
D626 8D 78 06 STA $0678 = AA A:EF X:33 Y:BB P:E4 SP:FB CYC:115 SL:37
D629 20 F1 F7 JSR $F7F1 A:EF X:33 Y:BB P:E4 SP:FB CYC:127 SL:37
F7F1 38 SEC A:EF X:33 Y:BB P:E4 SP:F9 CYC:145 SL:37
F7F2 B8 CLV A:EF X:33 Y:BB P:E5 SP:F9 CYC:151 SL:37
F7F3 A9 F8 LDA #$F8 A:EF X:33 Y:BB P:A5 SP:F9 CYC:157 SL:37
F7F5 60 RTS A:F8 X:33 Y:BB P:A5 SP:F9 CYC:163 SL:37
D62C 2D 78 06 AND $0678 = EF A:F8 X:33 Y:BB P:A5 SP:FB CYC:181 SL:37
D62F 20 F6 F7 JSR $F7F6 A:E8 X:33 Y:BB P:A5 SP:FB CYC:193 SL:37
F7F6 90 09 BCC $F801 A:E8 X:33 Y:BB P:A5 SP:F9 CYC:211 SL:37
F7F8 10 07 BPL $F801 A:E8 X:33 Y:BB P:A5 SP:F9 CYC:217 SL:37
F7FA C9 E8 CMP #$E8 A:E8 X:33 Y:BB P:A5 SP:F9 CYC:223 SL:37
F7FC D0 03 BNE $F801 A:E8 X:33 Y:BB P:27 SP:F9 CYC:229 SL:37
F7FE 70 01 BVS $F801 A:E8 X:33 Y:BB P:27 SP:F9 CYC:235 SL:37
F800 60 RTS A:E8 X:33 Y:BB P:27 SP:F9 CYC:241 SL:37
D632 C8 INY A:E8 X:33 Y:BB P:27 SP:FB CYC:259 SL:37
D633 A9 AA LDA #$AA A:E8 X:33 Y:BC P:A5 SP:FB CYC:265 SL:37
D635 8D 78 06 STA $0678 = EF A:AA X:33 Y:BC P:A5 SP:FB CYC:271 SL:37
D638 20 04 F8 JSR $F804 A:AA X:33 Y:BC P:A5 SP:FB CYC:283 SL:37
F804 18 CLC A:AA X:33 Y:BC P:A5 SP:F9 CYC:301 SL:37
F805 24 01 BIT $01 = FF A:AA X:33 Y:BC P:A4 SP:F9 CYC:307 SL:37
F807 A9 5F LDA #$5F A:AA X:33 Y:BC P:E4 SP:F9 CYC:316 SL:37
F809 60 RTS A:5F X:33 Y:BC P:64 SP:F9 CYC:322 SL:37
D63B 4D 78 06 EOR $0678 = AA A:5F X:33 Y:BC P:64 SP:FB CYC:340 SL:37
D63E 20 0A F8 JSR $F80A A:F5 X:33 Y:BC P:E4 SP:FB CYC: 11 SL:38
F80A B0 09 BCS $F815 A:F5 X:33 Y:BC P:E4 SP:F9 CYC: 29 SL:38
F80C 10 07 BPL $F815 A:F5 X:33 Y:BC P:E4 SP:F9 CYC: 35 SL:38
F80E C9 F5 CMP #$F5 A:F5 X:33 Y:BC P:E4 SP:F9 CYC: 41 SL:38
F810 D0 03 BNE $F815 A:F5 X:33 Y:BC P:67 SP:F9 CYC: 47 SL:38
F812 50 01 BVC $F815 A:F5 X:33 Y:BC P:67 SP:F9 CYC: 53 SL:38
F814 60 RTS A:F5 X:33 Y:BC P:67 SP:F9 CYC: 59 SL:38
D641 C8 INY A:F5 X:33 Y:BC P:67 SP:FB CYC: 77 SL:38
D642 A9 70 LDA #$70 A:F5 X:33 Y:BD P:E5 SP:FB CYC: 83 SL:38
D644 8D 78 06 STA $0678 = AA A:70 X:33 Y:BD P:65 SP:FB CYC: 89 SL:38
D647 20 18 F8 JSR $F818 A:70 X:33 Y:BD P:65 SP:FB CYC:101 SL:38
F818 38 SEC A:70 X:33 Y:BD P:65 SP:F9 CYC:119 SL:38
F819 B8 CLV A:70 X:33 Y:BD P:65 SP:F9 CYC:125 SL:38
F81A A9 70 LDA #$70 A:70 X:33 Y:BD P:25 SP:F9 CYC:131 SL:38
F81C 60 RTS A:70 X:33 Y:BD P:25 SP:F9 CYC:137 SL:38
D64A 4D 78 06 EOR $0678 = 70 A:70 X:33 Y:BD P:25 SP:FB CYC:155 SL:38
D64D 20 1D F8 JSR $F81D A:00 X:33 Y:BD P:27 SP:FB CYC:167 SL:38
F81D D0 07 BNE $F826 A:00 X:33 Y:BD P:27 SP:F9 CYC:185 SL:38
F81F 70 05 BVS $F826 A:00 X:33 Y:BD P:27 SP:F9 CYC:191 SL:38
F821 90 03 BCC $F826 A:00 X:33 Y:BD P:27 SP:F9 CYC:197 SL:38
F823 30 01 BMI $F826 A:00 X:33 Y:BD P:27 SP:F9 CYC:203 SL:38
F825 60 RTS A:00 X:33 Y:BD P:27 SP:F9 CYC:209 SL:38
D650 C8 INY A:00 X:33 Y:BD P:27 SP:FB CYC:227 SL:38
D651 A9 69 LDA #$69 A:00 X:33 Y:BE P:A5 SP:FB CYC:233 SL:38
D653 8D 78 06 STA $0678 = 70 A:69 X:33 Y:BE P:25 SP:FB CYC:239 SL:38
D656 20 29 F8 JSR $F829 A:69 X:33 Y:BE P:25 SP:FB CYC:251 SL:38
F829 18 CLC A:69 X:33 Y:BE P:25 SP:F9 CYC:269 SL:38
F82A 24 01 BIT $01 = FF A:69 X:33 Y:BE P:24 SP:F9 CYC:275 SL:38
F82C A9 00 LDA #$00 A:69 X:33 Y:BE P:E4 SP:F9 CYC:284 SL:38
F82E 60 RTS A:00 X:33 Y:BE P:66 SP:F9 CYC:290 SL:38
D659 6D 78 06 ADC $0678 = 69 A:00 X:33 Y:BE P:66 SP:FB CYC:308 SL:38
D65C 20 2F F8 JSR $F82F A:69 X:33 Y:BE P:24 SP:FB CYC:320 SL:38
F82F 30 09 BMI $F83A A:69 X:33 Y:BE P:24 SP:F9 CYC:338 SL:38
F831 B0 07 BCS $F83A A:69 X:33 Y:BE P:24 SP:F9 CYC: 3 SL:39
F833 C9 69 CMP #$69 A:69 X:33 Y:BE P:24 SP:F9 CYC: 9 SL:39
F835 D0 03 BNE $F83A A:69 X:33 Y:BE P:27 SP:F9 CYC: 15 SL:39
F837 70 01 BVS $F83A A:69 X:33 Y:BE P:27 SP:F9 CYC: 21 SL:39
F839 60 RTS A:69 X:33 Y:BE P:27 SP:F9 CYC: 27 SL:39
D65F C8 INY A:69 X:33 Y:BE P:27 SP:FB CYC: 45 SL:39
D660 20 3D F8 JSR $F83D A:69 X:33 Y:BF P:A5 SP:FB CYC: 51 SL:39
F83D 38 SEC A:69 X:33 Y:BF P:A5 SP:F9 CYC: 69 SL:39
F83E 24 01 BIT $01 = FF A:69 X:33 Y:BF P:A5 SP:F9 CYC: 75 SL:39
F840 A9 00 LDA #$00 A:69 X:33 Y:BF P:E5 SP:F9 CYC: 84 SL:39
F842 60 RTS A:00 X:33 Y:BF P:67 SP:F9 CYC: 90 SL:39
D663 6D 78 06 ADC $0678 = 69 A:00 X:33 Y:BF P:67 SP:FB CYC:108 SL:39
D666 20 43 F8 JSR $F843 A:6A X:33 Y:BF P:24 SP:FB CYC:120 SL:39
F843 30 09 BMI $F84E A:6A X:33 Y:BF P:24 SP:F9 CYC:138 SL:39
F845 B0 07 BCS $F84E A:6A X:33 Y:BF P:24 SP:F9 CYC:144 SL:39
F847 C9 6A CMP #$6A A:6A X:33 Y:BF P:24 SP:F9 CYC:150 SL:39
F849 D0 03 BNE $F84E A:6A X:33 Y:BF P:27 SP:F9 CYC:156 SL:39
F84B 70 01 BVS $F84E A:6A X:33 Y:BF P:27 SP:F9 CYC:162 SL:39
F84D 60 RTS A:6A X:33 Y:BF P:27 SP:F9 CYC:168 SL:39
D669 C8 INY A:6A X:33 Y:BF P:27 SP:FB CYC:186 SL:39
D66A A9 7F LDA #$7F A:6A X:33 Y:C0 P:A5 SP:FB CYC:192 SL:39
D66C 8D 78 06 STA $0678 = 69 A:7F X:33 Y:C0 P:25 SP:FB CYC:198 SL:39
D66F 20 51 F8 JSR $F851 A:7F X:33 Y:C0 P:25 SP:FB CYC:210 SL:39
F851 38 SEC A:7F X:33 Y:C0 P:25 SP:F9 CYC:228 SL:39
F852 B8 CLV A:7F X:33 Y:C0 P:25 SP:F9 CYC:234 SL:39
F853 A9 7F LDA #$7F A:7F X:33 Y:C0 P:25 SP:F9 CYC:240 SL:39
F855 60 RTS A:7F X:33 Y:C0 P:25 SP:F9 CYC:246 SL:39
D672 6D 78 06 ADC $0678 = 7F A:7F X:33 Y:C0 P:25 SP:FB CYC:264 SL:39
D675 20 56 F8 JSR $F856 A:FF X:33 Y:C0 P:E4 SP:FB CYC:276 SL:39
F856 10 09 BPL $F861 A:FF X:33 Y:C0 P:E4 SP:F9 CYC:294 SL:39
F858 B0 07 BCS $F861 A:FF X:33 Y:C0 P:E4 SP:F9 CYC:300 SL:39
F85A C9 FF CMP #$FF A:FF X:33 Y:C0 P:E4 SP:F9 CYC:306 SL:39
F85C D0 03 BNE $F861 A:FF X:33 Y:C0 P:67 SP:F9 CYC:312 SL:39
F85E 50 01 BVC $F861 A:FF X:33 Y:C0 P:67 SP:F9 CYC:318 SL:39
F860 60 RTS A:FF X:33 Y:C0 P:67 SP:F9 CYC:324 SL:39
D678 C8 INY A:FF X:33 Y:C0 P:67 SP:FB CYC: 1 SL:40
D679 A9 80 LDA #$80 A:FF X:33 Y:C1 P:E5 SP:FB CYC: 7 SL:40
D67B 8D 78 06 STA $0678 = 7F A:80 X:33 Y:C1 P:E5 SP:FB CYC: 13 SL:40
D67E 20 64 F8 JSR $F864 A:80 X:33 Y:C1 P:E5 SP:FB CYC: 25 SL:40
F864 18 CLC A:80 X:33 Y:C1 P:E5 SP:F9 CYC: 43 SL:40
F865 24 01 BIT $01 = FF A:80 X:33 Y:C1 P:E4 SP:F9 CYC: 49 SL:40
F867 A9 7F LDA #$7F A:80 X:33 Y:C1 P:E4 SP:F9 CYC: 58 SL:40
F869 60 RTS A:7F X:33 Y:C1 P:64 SP:F9 CYC: 64 SL:40
D681 6D 78 06 ADC $0678 = 80 A:7F X:33 Y:C1 P:64 SP:FB CYC: 82 SL:40
D684 20 6A F8 JSR $F86A A:FF X:33 Y:C1 P:A4 SP:FB CYC: 94 SL:40
F86A 10 09 BPL $F875 A:FF X:33 Y:C1 P:A4 SP:F9 CYC:112 SL:40
F86C B0 07 BCS $F875 A:FF X:33 Y:C1 P:A4 SP:F9 CYC:118 SL:40
F86E C9 FF CMP #$FF A:FF X:33 Y:C1 P:A4 SP:F9 CYC:124 SL:40
F870 D0 03 BNE $F875 A:FF X:33 Y:C1 P:27 SP:F9 CYC:130 SL:40
F872 70 01 BVS $F875 A:FF X:33 Y:C1 P:27 SP:F9 CYC:136 SL:40
F874 60 RTS A:FF X:33 Y:C1 P:27 SP:F9 CYC:142 SL:40
D687 C8 INY A:FF X:33 Y:C1 P:27 SP:FB CYC:160 SL:40
D688 20 78 F8 JSR $F878 A:FF X:33 Y:C2 P:A5 SP:FB CYC:166 SL:40
F878 38 SEC A:FF X:33 Y:C2 P:A5 SP:F9 CYC:184 SL:40
F879 B8 CLV A:FF X:33 Y:C2 P:A5 SP:F9 CYC:190 SL:40
F87A A9 7F LDA #$7F A:FF X:33 Y:C2 P:A5 SP:F9 CYC:196 SL:40
F87C 60 RTS A:7F X:33 Y:C2 P:25 SP:F9 CYC:202 SL:40
D68B 6D 78 06 ADC $0678 = 80 A:7F X:33 Y:C2 P:25 SP:FB CYC:220 SL:40
D68E 20 7D F8 JSR $F87D A:00 X:33 Y:C2 P:27 SP:FB CYC:232 SL:40
F87D D0 07 BNE $F886 A:00 X:33 Y:C2 P:27 SP:F9 CYC:250 SL:40
F87F 30 05 BMI $F886 A:00 X:33 Y:C2 P:27 SP:F9 CYC:256 SL:40
F881 70 03 BVS $F886 A:00 X:33 Y:C2 P:27 SP:F9 CYC:262 SL:40
F883 90 01 BCC $F886 A:00 X:33 Y:C2 P:27 SP:F9 CYC:268 SL:40
F885 60 RTS A:00 X:33 Y:C2 P:27 SP:F9 CYC:274 SL:40
D691 C8 INY A:00 X:33 Y:C2 P:27 SP:FB CYC:292 SL:40
D692 A9 40 LDA #$40 A:00 X:33 Y:C3 P:A5 SP:FB CYC:298 SL:40
D694 8D 78 06 STA $0678 = 80 A:40 X:33 Y:C3 P:25 SP:FB CYC:304 SL:40
D697 20 89 F8 JSR $F889 A:40 X:33 Y:C3 P:25 SP:FB CYC:316 SL:40
F889 24 01 BIT $01 = FF A:40 X:33 Y:C3 P:25 SP:F9 CYC:334 SL:40
F88B A9 40 LDA #$40 A:40 X:33 Y:C3 P:E5 SP:F9 CYC: 2 SL:41
F88D 60 RTS A:40 X:33 Y:C3 P:65 SP:F9 CYC: 8 SL:41
D69A CD 78 06 CMP $0678 = 40 A:40 X:33 Y:C3 P:65 SP:FB CYC: 26 SL:41
D69D 20 8E F8 JSR $F88E A:40 X:33 Y:C3 P:67 SP:FB CYC: 38 SL:41
F88E 30 07 BMI $F897 A:40 X:33 Y:C3 P:67 SP:F9 CYC: 56 SL:41
F890 90 05 BCC $F897 A:40 X:33 Y:C3 P:67 SP:F9 CYC: 62 SL:41
F892 D0 03 BNE $F897 A:40 X:33 Y:C3 P:67 SP:F9 CYC: 68 SL:41
F894 50 01 BVC $F897 A:40 X:33 Y:C3 P:67 SP:F9 CYC: 74 SL:41
F896 60 RTS A:40 X:33 Y:C3 P:67 SP:F9 CYC: 80 SL:41
D6A0 C8 INY A:40 X:33 Y:C3 P:67 SP:FB CYC: 98 SL:41
D6A1 48 PHA A:40 X:33 Y:C4 P:E5 SP:FB CYC:104 SL:41
D6A2 A9 3F LDA #$3F A:40 X:33 Y:C4 P:E5 SP:FA CYC:113 SL:41
D6A4 8D 78 06 STA $0678 = 40 A:3F X:33 Y:C4 P:65 SP:FA CYC:119 SL:41
D6A7 68 PLA A:3F X:33 Y:C4 P:65 SP:FA CYC:131 SL:41
D6A8 20 9A F8 JSR $F89A A:40 X:33 Y:C4 P:65 SP:FB CYC:143 SL:41
F89A B8 CLV A:40 X:33 Y:C4 P:65 SP:F9 CYC:161 SL:41
F89B 60 RTS A:40 X:33 Y:C4 P:25 SP:F9 CYC:167 SL:41
D6AB CD 78 06 CMP $0678 = 3F A:40 X:33 Y:C4 P:25 SP:FB CYC:185 SL:41
D6AE 20 9C F8 JSR $F89C A:40 X:33 Y:C4 P:25 SP:FB CYC:197 SL:41
F89C F0 07 BEQ $F8A5 A:40 X:33 Y:C4 P:25 SP:F9 CYC:215 SL:41
F89E 30 05 BMI $F8A5 A:40 X:33 Y:C4 P:25 SP:F9 CYC:221 SL:41
F8A0 90 03 BCC $F8A5 A:40 X:33 Y:C4 P:25 SP:F9 CYC:227 SL:41
F8A2 70 01 BVS $F8A5 A:40 X:33 Y:C4 P:25 SP:F9 CYC:233 SL:41
F8A4 60 RTS A:40 X:33 Y:C4 P:25 SP:F9 CYC:239 SL:41
D6B1 C8 INY A:40 X:33 Y:C4 P:25 SP:FB CYC:257 SL:41
D6B2 48 PHA A:40 X:33 Y:C5 P:A5 SP:FB CYC:263 SL:41
D6B3 A9 41 LDA #$41 A:40 X:33 Y:C5 P:A5 SP:FA CYC:272 SL:41
D6B5 8D 78 06 STA $0678 = 3F A:41 X:33 Y:C5 P:25 SP:FA CYC:278 SL:41
D6B8 68 PLA A:41 X:33 Y:C5 P:25 SP:FA CYC:290 SL:41
D6B9 CD 78 06 CMP $0678 = 41 A:40 X:33 Y:C5 P:25 SP:FB CYC:302 SL:41
D6BC 20 A8 F8 JSR $F8A8 A:40 X:33 Y:C5 P:A4 SP:FB CYC:314 SL:41
F8A8 F0 05 BEQ $F8AF A:40 X:33 Y:C5 P:A4 SP:F9 CYC:332 SL:41
F8AA 10 03 BPL $F8AF A:40 X:33 Y:C5 P:A4 SP:F9 CYC:338 SL:41
F8AC 10 01 BPL $F8AF A:40 X:33 Y:C5 P:A4 SP:F9 CYC: 3 SL:42
F8AE 60 RTS A:40 X:33 Y:C5 P:A4 SP:F9 CYC: 9 SL:42
D6BF C8 INY A:40 X:33 Y:C5 P:A4 SP:FB CYC: 27 SL:42
D6C0 48 PHA A:40 X:33 Y:C6 P:A4 SP:FB CYC: 33 SL:42
D6C1 A9 00 LDA #$00 A:40 X:33 Y:C6 P:A4 SP:FA CYC: 42 SL:42
D6C3 8D 78 06 STA $0678 = 41 A:00 X:33 Y:C6 P:26 SP:FA CYC: 48 SL:42
D6C6 68 PLA A:00 X:33 Y:C6 P:26 SP:FA CYC: 60 SL:42
D6C7 20 B2 F8 JSR $F8B2 A:40 X:33 Y:C6 P:24 SP:FB CYC: 72 SL:42
F8B2 A9 80 LDA #$80 A:40 X:33 Y:C6 P:24 SP:F9 CYC: 90 SL:42
F8B4 60 RTS A:80 X:33 Y:C6 P:A4 SP:F9 CYC: 96 SL:42
D6CA CD 78 06 CMP $0678 = 00 A:80 X:33 Y:C6 P:A4 SP:FB CYC:114 SL:42
D6CD 20 B5 F8 JSR $F8B5 A:80 X:33 Y:C6 P:A5 SP:FB CYC:126 SL:42
F8B5 F0 05 BEQ $F8BC A:80 X:33 Y:C6 P:A5 SP:F9 CYC:144 SL:42
F8B7 10 03 BPL $F8BC A:80 X:33 Y:C6 P:A5 SP:F9 CYC:150 SL:42
F8B9 90 01 BCC $F8BC A:80 X:33 Y:C6 P:A5 SP:F9 CYC:156 SL:42
F8BB 60 RTS A:80 X:33 Y:C6 P:A5 SP:F9 CYC:162 SL:42
D6D0 C8 INY A:80 X:33 Y:C6 P:A5 SP:FB CYC:180 SL:42
D6D1 48 PHA A:80 X:33 Y:C7 P:A5 SP:FB CYC:186 SL:42
D6D2 A9 80 LDA #$80 A:80 X:33 Y:C7 P:A5 SP:FA CYC:195 SL:42
D6D4 8D 78 06 STA $0678 = 00 A:80 X:33 Y:C7 P:A5 SP:FA CYC:201 SL:42
D6D7 68 PLA A:80 X:33 Y:C7 P:A5 SP:FA CYC:213 SL:42
D6D8 CD 78 06 CMP $0678 = 80 A:80 X:33 Y:C7 P:A5 SP:FB CYC:225 SL:42
D6DB 20 BF F8 JSR $F8BF A:80 X:33 Y:C7 P:27 SP:FB CYC:237 SL:42
F8BF D0 05 BNE $F8C6 A:80 X:33 Y:C7 P:27 SP:F9 CYC:255 SL:42
F8C1 30 03 BMI $F8C6 A:80 X:33 Y:C7 P:27 SP:F9 CYC:261 SL:42
F8C3 90 01 BCC $F8C6 A:80 X:33 Y:C7 P:27 SP:F9 CYC:267 SL:42
F8C5 60 RTS A:80 X:33 Y:C7 P:27 SP:F9 CYC:273 SL:42
D6DE C8 INY A:80 X:33 Y:C7 P:27 SP:FB CYC:291 SL:42
D6DF 48 PHA A:80 X:33 Y:C8 P:A5 SP:FB CYC:297 SL:42
D6E0 A9 81 LDA #$81 A:80 X:33 Y:C8 P:A5 SP:FA CYC:306 SL:42
D6E2 8D 78 06 STA $0678 = 80 A:81 X:33 Y:C8 P:A5 SP:FA CYC:312 SL:42
D6E5 68 PLA A:81 X:33 Y:C8 P:A5 SP:FA CYC:324 SL:42
D6E6 CD 78 06 CMP $0678 = 81 A:80 X:33 Y:C8 P:A5 SP:FB CYC:336 SL:42
D6E9 20 C9 F8 JSR $F8C9 A:80 X:33 Y:C8 P:A4 SP:FB CYC: 7 SL:43
F8C9 B0 05 BCS $F8D0 A:80 X:33 Y:C8 P:A4 SP:F9 CYC: 25 SL:43
F8CB F0 03 BEQ $F8D0 A:80 X:33 Y:C8 P:A4 SP:F9 CYC: 31 SL:43
F8CD 10 01 BPL $F8D0 A:80 X:33 Y:C8 P:A4 SP:F9 CYC: 37 SL:43
F8CF 60 RTS A:80 X:33 Y:C8 P:A4 SP:F9 CYC: 43 SL:43
D6EC C8 INY A:80 X:33 Y:C8 P:A4 SP:FB CYC: 61 SL:43
D6ED 48 PHA A:80 X:33 Y:C9 P:A4 SP:FB CYC: 67 SL:43
D6EE A9 7F LDA #$7F A:80 X:33 Y:C9 P:A4 SP:FA CYC: 76 SL:43
D6F0 8D 78 06 STA $0678 = 81 A:7F X:33 Y:C9 P:24 SP:FA CYC: 82 SL:43
D6F3 68 PLA A:7F X:33 Y:C9 P:24 SP:FA CYC: 94 SL:43
D6F4 CD 78 06 CMP $0678 = 7F A:80 X:33 Y:C9 P:A4 SP:FB CYC:106 SL:43
D6F7 20 D3 F8 JSR $F8D3 A:80 X:33 Y:C9 P:25 SP:FB CYC:118 SL:43
F8D3 90 05 BCC $F8DA A:80 X:33 Y:C9 P:25 SP:F9 CYC:136 SL:43
F8D5 F0 03 BEQ $F8DA A:80 X:33 Y:C9 P:25 SP:F9 CYC:142 SL:43
F8D7 30 01 BMI $F8DA A:80 X:33 Y:C9 P:25 SP:F9 CYC:148 SL:43
F8D9 60 RTS A:80 X:33 Y:C9 P:25 SP:F9 CYC:154 SL:43
D6FA C8 INY A:80 X:33 Y:C9 P:25 SP:FB CYC:172 SL:43
D6FB A9 40 LDA #$40 A:80 X:33 Y:CA P:A5 SP:FB CYC:178 SL:43
D6FD 8D 78 06 STA $0678 = 7F A:40 X:33 Y:CA P:25 SP:FB CYC:184 SL:43
D700 20 31 F9 JSR $F931 A:40 X:33 Y:CA P:25 SP:FB CYC:196 SL:43
F931 24 01 BIT $01 = FF A:40 X:33 Y:CA P:25 SP:F9 CYC:214 SL:43
F933 A9 40 LDA #$40 A:40 X:33 Y:CA P:E5 SP:F9 CYC:223 SL:43
F935 38 SEC A:40 X:33 Y:CA P:65 SP:F9 CYC:229 SL:43
F936 60 RTS A:40 X:33 Y:CA P:65 SP:F9 CYC:235 SL:43
D703 ED 78 06 SBC $0678 = 40 A:40 X:33 Y:CA P:65 SP:FB CYC:253 SL:43
D706 20 37 F9 JSR $F937 A:00 X:33 Y:CA P:27 SP:FB CYC:265 SL:43
F937 30 0B BMI $F944 A:00 X:33 Y:CA P:27 SP:F9 CYC:283 SL:43
F939 90 09 BCC $F944 A:00 X:33 Y:CA P:27 SP:F9 CYC:289 SL:43
F93B D0 07 BNE $F944 A:00 X:33 Y:CA P:27 SP:F9 CYC:295 SL:43
F93D 70 05 BVS $F944 A:00 X:33 Y:CA P:27 SP:F9 CYC:301 SL:43
F93F C9 00 CMP #$00 A:00 X:33 Y:CA P:27 SP:F9 CYC:307 SL:43
F941 D0 01 BNE $F944 A:00 X:33 Y:CA P:27 SP:F9 CYC:313 SL:43
F943 60 RTS A:00 X:33 Y:CA P:27 SP:F9 CYC:319 SL:43
D709 C8 INY A:00 X:33 Y:CA P:27 SP:FB CYC:337 SL:43
D70A A9 3F LDA #$3F A:00 X:33 Y:CB P:A5 SP:FB CYC: 2 SL:44
D70C 8D 78 06 STA $0678 = 40 A:3F X:33 Y:CB P:25 SP:FB CYC: 8 SL:44
D70F 20 47 F9 JSR $F947 A:3F X:33 Y:CB P:25 SP:FB CYC: 20 SL:44
F947 B8 CLV A:3F X:33 Y:CB P:25 SP:F9 CYC: 38 SL:44
F948 38 SEC A:3F X:33 Y:CB P:25 SP:F9 CYC: 44 SL:44
F949 A9 40 LDA #$40 A:3F X:33 Y:CB P:25 SP:F9 CYC: 50 SL:44
F94B 60 RTS A:40 X:33 Y:CB P:25 SP:F9 CYC: 56 SL:44
D712 ED 78 06 SBC $0678 = 3F A:40 X:33 Y:CB P:25 SP:FB CYC: 74 SL:44
D715 20 4C F9 JSR $F94C A:01 X:33 Y:CB P:25 SP:FB CYC: 86 SL:44
F94C F0 0B BEQ $F959 A:01 X:33 Y:CB P:25 SP:F9 CYC:104 SL:44
F94E 30 09 BMI $F959 A:01 X:33 Y:CB P:25 SP:F9 CYC:110 SL:44
F950 90 07 BCC $F959 A:01 X:33 Y:CB P:25 SP:F9 CYC:116 SL:44
F952 70 05 BVS $F959 A:01 X:33 Y:CB P:25 SP:F9 CYC:122 SL:44
F954 C9 01 CMP #$01 A:01 X:33 Y:CB P:25 SP:F9 CYC:128 SL:44
F956 D0 01 BNE $F959 A:01 X:33 Y:CB P:27 SP:F9 CYC:134 SL:44
F958 60 RTS A:01 X:33 Y:CB P:27 SP:F9 CYC:140 SL:44
D718 C8 INY A:01 X:33 Y:CB P:27 SP:FB CYC:158 SL:44
D719 A9 41 LDA #$41 A:01 X:33 Y:CC P:A5 SP:FB CYC:164 SL:44
D71B 8D 78 06 STA $0678 = 3F A:41 X:33 Y:CC P:25 SP:FB CYC:170 SL:44
D71E 20 5C F9 JSR $F95C A:41 X:33 Y:CC P:25 SP:FB CYC:182 SL:44
F95C A9 40 LDA #$40 A:41 X:33 Y:CC P:25 SP:F9 CYC:200 SL:44
F95E 38 SEC A:40 X:33 Y:CC P:25 SP:F9 CYC:206 SL:44
F95F 24 01 BIT $01 = FF A:40 X:33 Y:CC P:25 SP:F9 CYC:212 SL:44
F961 60 RTS A:40 X:33 Y:CC P:E5 SP:F9 CYC:221 SL:44
D721 ED 78 06 SBC $0678 = 41 A:40 X:33 Y:CC P:E5 SP:FB CYC:239 SL:44
D724 20 62 F9 JSR $F962 A:FF X:33 Y:CC P:A4 SP:FB CYC:251 SL:44
F962 B0 0B BCS $F96F A:FF X:33 Y:CC P:A4 SP:F9 CYC:269 SL:44
F964 F0 09 BEQ $F96F A:FF X:33 Y:CC P:A4 SP:F9 CYC:275 SL:44
F966 10 07 BPL $F96F A:FF X:33 Y:CC P:A4 SP:F9 CYC:281 SL:44
F968 70 05 BVS $F96F A:FF X:33 Y:CC P:A4 SP:F9 CYC:287 SL:44
F96A C9 FF CMP #$FF A:FF X:33 Y:CC P:A4 SP:F9 CYC:293 SL:44
F96C D0 01 BNE $F96F A:FF X:33 Y:CC P:27 SP:F9 CYC:299 SL:44
F96E 60 RTS A:FF X:33 Y:CC P:27 SP:F9 CYC:305 SL:44
D727 C8 INY A:FF X:33 Y:CC P:27 SP:FB CYC:323 SL:44
D728 A9 00 LDA #$00 A:FF X:33 Y:CD P:A5 SP:FB CYC:329 SL:44
D72A 8D 78 06 STA $0678 = 41 A:00 X:33 Y:CD P:27 SP:FB CYC:335 SL:44
D72D 20 72 F9 JSR $F972 A:00 X:33 Y:CD P:27 SP:FB CYC: 6 SL:45
F972 18 CLC A:00 X:33 Y:CD P:27 SP:F9 CYC: 24 SL:45
F973 A9 80 LDA #$80 A:00 X:33 Y:CD P:26 SP:F9 CYC: 30 SL:45
F975 60 RTS A:80 X:33 Y:CD P:A4 SP:F9 CYC: 36 SL:45
D730 ED 78 06 SBC $0678 = 00 A:80 X:33 Y:CD P:A4 SP:FB CYC: 54 SL:45
D733 20 76 F9 JSR $F976 A:7F X:33 Y:CD P:65 SP:FB CYC: 66 SL:45
F976 90 05 BCC $F97D A:7F X:33 Y:CD P:65 SP:F9 CYC: 84 SL:45
F978 C9 7F CMP #$7F A:7F X:33 Y:CD P:65 SP:F9 CYC: 90 SL:45
F97A D0 01 BNE $F97D A:7F X:33 Y:CD P:67 SP:F9 CYC: 96 SL:45
F97C 60 RTS A:7F X:33 Y:CD P:67 SP:F9 CYC:102 SL:45
D736 C8 INY A:7F X:33 Y:CD P:67 SP:FB CYC:120 SL:45
D737 A9 7F LDA #$7F A:7F X:33 Y:CE P:E5 SP:FB CYC:126 SL:45
D739 8D 78 06 STA $0678 = 00 A:7F X:33 Y:CE P:65 SP:FB CYC:132 SL:45
D73C 20 80 F9 JSR $F980 A:7F X:33 Y:CE P:65 SP:FB CYC:144 SL:45
F980 38 SEC A:7F X:33 Y:CE P:65 SP:F9 CYC:162 SL:45
F981 A9 81 LDA #$81 A:7F X:33 Y:CE P:65 SP:F9 CYC:168 SL:45
F983 60 RTS A:81 X:33 Y:CE P:E5 SP:F9 CYC:174 SL:45
D73F ED 78 06 SBC $0678 = 7F A:81 X:33 Y:CE P:E5 SP:FB CYC:192 SL:45
D742 20 84 F9 JSR $F984 A:02 X:33 Y:CE P:65 SP:FB CYC:204 SL:45
F984 50 07 BVC $F98D A:02 X:33 Y:CE P:65 SP:F9 CYC:222 SL:45
F986 90 05 BCC $F98D A:02 X:33 Y:CE P:65 SP:F9 CYC:228 SL:45
F988 C9 02 CMP #$02 A:02 X:33 Y:CE P:65 SP:F9 CYC:234 SL:45
F98A D0 01 BNE $F98D A:02 X:33 Y:CE P:67 SP:F9 CYC:240 SL:45
F98C 60 RTS A:02 X:33 Y:CE P:67 SP:F9 CYC:246 SL:45
D745 C8 INY A:02 X:33 Y:CE P:67 SP:FB CYC:264 SL:45
D746 A9 40 LDA #$40 A:02 X:33 Y:CF P:E5 SP:FB CYC:270 SL:45
D748 8D 78 06 STA $0678 = 7F A:40 X:33 Y:CF P:65 SP:FB CYC:276 SL:45
D74B 20 89 F8 JSR $F889 A:40 X:33 Y:CF P:65 SP:FB CYC:288 SL:45
F889 24 01 BIT $01 = FF A:40 X:33 Y:CF P:65 SP:F9 CYC:306 SL:45
F88B A9 40 LDA #$40 A:40 X:33 Y:CF P:E5 SP:F9 CYC:315 SL:45
F88D 60 RTS A:40 X:33 Y:CF P:65 SP:F9 CYC:321 SL:45
D74E AA TAX A:40 X:33 Y:CF P:65 SP:FB CYC:339 SL:45
D74F EC 78 06 CPX $0678 = 40 A:40 X:40 Y:CF P:65 SP:FB CYC: 4 SL:46
D752 20 8E F8 JSR $F88E A:40 X:40 Y:CF P:67 SP:FB CYC: 16 SL:46
F88E 30 07 BMI $F897 A:40 X:40 Y:CF P:67 SP:F9 CYC: 34 SL:46
F890 90 05 BCC $F897 A:40 X:40 Y:CF P:67 SP:F9 CYC: 40 SL:46
F892 D0 03 BNE $F897 A:40 X:40 Y:CF P:67 SP:F9 CYC: 46 SL:46
F894 50 01 BVC $F897 A:40 X:40 Y:CF P:67 SP:F9 CYC: 52 SL:46
F896 60 RTS A:40 X:40 Y:CF P:67 SP:F9 CYC: 58 SL:46
D755 C8 INY A:40 X:40 Y:CF P:67 SP:FB CYC: 76 SL:46
D756 A9 3F LDA #$3F A:40 X:40 Y:D0 P:E5 SP:FB CYC: 82 SL:46
D758 8D 78 06 STA $0678 = 40 A:3F X:40 Y:D0 P:65 SP:FB CYC: 88 SL:46
D75B 20 9A F8 JSR $F89A A:3F X:40 Y:D0 P:65 SP:FB CYC:100 SL:46
F89A B8 CLV A:3F X:40 Y:D0 P:65 SP:F9 CYC:118 SL:46
F89B 60 RTS A:3F X:40 Y:D0 P:25 SP:F9 CYC:124 SL:46
D75E EC 78 06 CPX $0678 = 3F A:3F X:40 Y:D0 P:25 SP:FB CYC:142 SL:46
D761 20 9C F8 JSR $F89C A:3F X:40 Y:D0 P:25 SP:FB CYC:154 SL:46
F89C F0 07 BEQ $F8A5 A:3F X:40 Y:D0 P:25 SP:F9 CYC:172 SL:46
F89E 30 05 BMI $F8A5 A:3F X:40 Y:D0 P:25 SP:F9 CYC:178 SL:46
F8A0 90 03 BCC $F8A5 A:3F X:40 Y:D0 P:25 SP:F9 CYC:184 SL:46
F8A2 70 01 BVS $F8A5 A:3F X:40 Y:D0 P:25 SP:F9 CYC:190 SL:46
F8A4 60 RTS A:3F X:40 Y:D0 P:25 SP:F9 CYC:196 SL:46
D764 C8 INY A:3F X:40 Y:D0 P:25 SP:FB CYC:214 SL:46
D765 A9 41 LDA #$41 A:3F X:40 Y:D1 P:A5 SP:FB CYC:220 SL:46
D767 8D 78 06 STA $0678 = 3F A:41 X:40 Y:D1 P:25 SP:FB CYC:226 SL:46
D76A EC 78 06 CPX $0678 = 41 A:41 X:40 Y:D1 P:25 SP:FB CYC:238 SL:46
D76D 20 A8 F8 JSR $F8A8 A:41 X:40 Y:D1 P:A4 SP:FB CYC:250 SL:46
F8A8 F0 05 BEQ $F8AF A:41 X:40 Y:D1 P:A4 SP:F9 CYC:268 SL:46
F8AA 10 03 BPL $F8AF A:41 X:40 Y:D1 P:A4 SP:F9 CYC:274 SL:46
F8AC 10 01 BPL $F8AF A:41 X:40 Y:D1 P:A4 SP:F9 CYC:280 SL:46
F8AE 60 RTS A:41 X:40 Y:D1 P:A4 SP:F9 CYC:286 SL:46
D770 C8 INY A:41 X:40 Y:D1 P:A4 SP:FB CYC:304 SL:46
D771 A9 00 LDA #$00 A:41 X:40 Y:D2 P:A4 SP:FB CYC:310 SL:46
D773 8D 78 06 STA $0678 = 41 A:00 X:40 Y:D2 P:26 SP:FB CYC:316 SL:46
D776 20 B2 F8 JSR $F8B2 A:00 X:40 Y:D2 P:26 SP:FB CYC:328 SL:46
F8B2 A9 80 LDA #$80 A:00 X:40 Y:D2 P:26 SP:F9 CYC: 5 SL:47
F8B4 60 RTS A:80 X:40 Y:D2 P:A4 SP:F9 CYC: 11 SL:47
D779 AA TAX A:80 X:40 Y:D2 P:A4 SP:FB CYC: 29 SL:47
D77A EC 78 06 CPX $0678 = 00 A:80 X:80 Y:D2 P:A4 SP:FB CYC: 35 SL:47
D77D 20 B5 F8 JSR $F8B5 A:80 X:80 Y:D2 P:A5 SP:FB CYC: 47 SL:47
F8B5 F0 05 BEQ $F8BC A:80 X:80 Y:D2 P:A5 SP:F9 CYC: 65 SL:47
F8B7 10 03 BPL $F8BC A:80 X:80 Y:D2 P:A5 SP:F9 CYC: 71 SL:47
F8B9 90 01 BCC $F8BC A:80 X:80 Y:D2 P:A5 SP:F9 CYC: 77 SL:47
F8BB 60 RTS A:80 X:80 Y:D2 P:A5 SP:F9 CYC: 83 SL:47
D780 C8 INY A:80 X:80 Y:D2 P:A5 SP:FB CYC:101 SL:47
D781 A9 80 LDA #$80 A:80 X:80 Y:D3 P:A5 SP:FB CYC:107 SL:47
D783 8D 78 06 STA $0678 = 00 A:80 X:80 Y:D3 P:A5 SP:FB CYC:113 SL:47
D786 EC 78 06 CPX $0678 = 80 A:80 X:80 Y:D3 P:A5 SP:FB CYC:125 SL:47
D789 20 BF F8 JSR $F8BF A:80 X:80 Y:D3 P:27 SP:FB CYC:137 SL:47
F8BF D0 05 BNE $F8C6 A:80 X:80 Y:D3 P:27 SP:F9 CYC:155 SL:47
F8C1 30 03 BMI $F8C6 A:80 X:80 Y:D3 P:27 SP:F9 CYC:161 SL:47
F8C3 90 01 BCC $F8C6 A:80 X:80 Y:D3 P:27 SP:F9 CYC:167 SL:47
F8C5 60 RTS A:80 X:80 Y:D3 P:27 SP:F9 CYC:173 SL:47
D78C C8 INY A:80 X:80 Y:D3 P:27 SP:FB CYC:191 SL:47
D78D A9 81 LDA #$81 A:80 X:80 Y:D4 P:A5 SP:FB CYC:197 SL:47
D78F 8D 78 06 STA $0678 = 80 A:81 X:80 Y:D4 P:A5 SP:FB CYC:203 SL:47
D792 EC 78 06 CPX $0678 = 81 A:81 X:80 Y:D4 P:A5 SP:FB CYC:215 SL:47
D795 20 C9 F8 JSR $F8C9 A:81 X:80 Y:D4 P:A4 SP:FB CYC:227 SL:47
F8C9 B0 05 BCS $F8D0 A:81 X:80 Y:D4 P:A4 SP:F9 CYC:245 SL:47
F8CB F0 03 BEQ $F8D0 A:81 X:80 Y:D4 P:A4 SP:F9 CYC:251 SL:47
F8CD 10 01 BPL $F8D0 A:81 X:80 Y:D4 P:A4 SP:F9 CYC:257 SL:47
F8CF 60 RTS A:81 X:80 Y:D4 P:A4 SP:F9 CYC:263 SL:47
D798 C8 INY A:81 X:80 Y:D4 P:A4 SP:FB CYC:281 SL:47
D799 A9 7F LDA #$7F A:81 X:80 Y:D5 P:A4 SP:FB CYC:287 SL:47
D79B 8D 78 06 STA $0678 = 81 A:7F X:80 Y:D5 P:24 SP:FB CYC:293 SL:47
D79E EC 78 06 CPX $0678 = 7F A:7F X:80 Y:D5 P:24 SP:FB CYC:305 SL:47
D7A1 20 D3 F8 JSR $F8D3 A:7F X:80 Y:D5 P:25 SP:FB CYC:317 SL:47
F8D3 90 05 BCC $F8DA A:7F X:80 Y:D5 P:25 SP:F9 CYC:335 SL:47
F8D5 F0 03 BEQ $F8DA A:7F X:80 Y:D5 P:25 SP:F9 CYC: 0 SL:48
F8D7 30 01 BMI $F8DA A:7F X:80 Y:D5 P:25 SP:F9 CYC: 6 SL:48
F8D9 60 RTS A:7F X:80 Y:D5 P:25 SP:F9 CYC: 12 SL:48
D7A4 C8 INY A:7F X:80 Y:D5 P:25 SP:FB CYC: 30 SL:48
D7A5 98 TYA A:7F X:80 Y:D6 P:A5 SP:FB CYC: 36 SL:48
D7A6 AA TAX A:D6 X:80 Y:D6 P:A5 SP:FB CYC: 42 SL:48
D7A7 A9 40 LDA #$40 A:D6 X:D6 Y:D6 P:A5 SP:FB CYC: 48 SL:48
D7A9 8D 78 06 STA $0678 = 7F A:40 X:D6 Y:D6 P:25 SP:FB CYC: 54 SL:48
D7AC 20 DD F8 JSR $F8DD A:40 X:D6 Y:D6 P:25 SP:FB CYC: 66 SL:48
F8DD 24 01 BIT $01 = FF A:40 X:D6 Y:D6 P:25 SP:F9 CYC: 84 SL:48
F8DF A0 40 LDY #$40 A:40 X:D6 Y:D6 P:E5 SP:F9 CYC: 93 SL:48
F8E1 60 RTS A:40 X:D6 Y:40 P:65 SP:F9 CYC: 99 SL:48
D7AF CC 78 06 CPY $0678 = 40 A:40 X:D6 Y:40 P:65 SP:FB CYC:117 SL:48
D7B2 20 E2 F8 JSR $F8E2 A:40 X:D6 Y:40 P:67 SP:FB CYC:129 SL:48
F8E2 30 07 BMI $F8EB A:40 X:D6 Y:40 P:67 SP:F9 CYC:147 SL:48
F8E4 90 05 BCC $F8EB A:40 X:D6 Y:40 P:67 SP:F9 CYC:153 SL:48
F8E6 D0 03 BNE $F8EB A:40 X:D6 Y:40 P:67 SP:F9 CYC:159 SL:48
F8E8 50 01 BVC $F8EB A:40 X:D6 Y:40 P:67 SP:F9 CYC:165 SL:48
F8EA 60 RTS A:40 X:D6 Y:40 P:67 SP:F9 CYC:171 SL:48
D7B5 E8 INX A:40 X:D6 Y:40 P:67 SP:FB CYC:189 SL:48
D7B6 A9 3F LDA #$3F A:40 X:D7 Y:40 P:E5 SP:FB CYC:195 SL:48
D7B8 8D 78 06 STA $0678 = 40 A:3F X:D7 Y:40 P:65 SP:FB CYC:201 SL:48
D7BB 20 EE F8 JSR $F8EE A:3F X:D7 Y:40 P:65 SP:FB CYC:213 SL:48
F8EE B8 CLV A:3F X:D7 Y:40 P:65 SP:F9 CYC:231 SL:48
F8EF 60 RTS A:3F X:D7 Y:40 P:25 SP:F9 CYC:237 SL:48
D7BE CC 78 06 CPY $0678 = 3F A:3F X:D7 Y:40 P:25 SP:FB CYC:255 SL:48
D7C1 20 F0 F8 JSR $F8F0 A:3F X:D7 Y:40 P:25 SP:FB CYC:267 SL:48
F8F0 F0 07 BEQ $F8F9 A:3F X:D7 Y:40 P:25 SP:F9 CYC:285 SL:48
F8F2 30 05 BMI $F8F9 A:3F X:D7 Y:40 P:25 SP:F9 CYC:291 SL:48
F8F4 90 03 BCC $F8F9 A:3F X:D7 Y:40 P:25 SP:F9 CYC:297 SL:48
F8F6 70 01 BVS $F8F9 A:3F X:D7 Y:40 P:25 SP:F9 CYC:303 SL:48
F8F8 60 RTS A:3F X:D7 Y:40 P:25 SP:F9 CYC:309 SL:48
D7C4 E8 INX A:3F X:D7 Y:40 P:25 SP:FB CYC:327 SL:48
D7C5 A9 41 LDA #$41 A:3F X:D8 Y:40 P:A5 SP:FB CYC:333 SL:48
D7C7 8D 78 06 STA $0678 = 3F A:41 X:D8 Y:40 P:25 SP:FB CYC:339 SL:48
D7CA CC 78 06 CPY $0678 = 41 A:41 X:D8 Y:40 P:25 SP:FB CYC: 10 SL:49
D7CD 20 FC F8 JSR $F8FC A:41 X:D8 Y:40 P:A4 SP:FB CYC: 22 SL:49
F8FC F0 05 BEQ $F903 A:41 X:D8 Y:40 P:A4 SP:F9 CYC: 40 SL:49
F8FE 10 03 BPL $F903 A:41 X:D8 Y:40 P:A4 SP:F9 CYC: 46 SL:49
F900 10 01 BPL $F903 A:41 X:D8 Y:40 P:A4 SP:F9 CYC: 52 SL:49
F902 60 RTS A:41 X:D8 Y:40 P:A4 SP:F9 CYC: 58 SL:49
D7D0 E8 INX A:41 X:D8 Y:40 P:A4 SP:FB CYC: 76 SL:49
D7D1 A9 00 LDA #$00 A:41 X:D9 Y:40 P:A4 SP:FB CYC: 82 SL:49
D7D3 8D 78 06 STA $0678 = 41 A:00 X:D9 Y:40 P:26 SP:FB CYC: 88 SL:49
D7D6 20 06 F9 JSR $F906 A:00 X:D9 Y:40 P:26 SP:FB CYC:100 SL:49
F906 A0 80 LDY #$80 A:00 X:D9 Y:40 P:26 SP:F9 CYC:118 SL:49
F908 60 RTS A:00 X:D9 Y:80 P:A4 SP:F9 CYC:124 SL:49
D7D9 CC 78 06 CPY $0678 = 00 A:00 X:D9 Y:80 P:A4 SP:FB CYC:142 SL:49
D7DC 20 09 F9 JSR $F909 A:00 X:D9 Y:80 P:A5 SP:FB CYC:154 SL:49
F909 F0 05 BEQ $F910 A:00 X:D9 Y:80 P:A5 SP:F9 CYC:172 SL:49
F90B 10 03 BPL $F910 A:00 X:D9 Y:80 P:A5 SP:F9 CYC:178 SL:49
F90D 90 01 BCC $F910 A:00 X:D9 Y:80 P:A5 SP:F9 CYC:184 SL:49
F90F 60 RTS A:00 X:D9 Y:80 P:A5 SP:F9 CYC:190 SL:49
D7DF E8 INX A:00 X:D9 Y:80 P:A5 SP:FB CYC:208 SL:49
D7E0 A9 80 LDA #$80 A:00 X:DA Y:80 P:A5 SP:FB CYC:214 SL:49
D7E2 8D 78 06 STA $0678 = 00 A:80 X:DA Y:80 P:A5 SP:FB CYC:220 SL:49
D7E5 CC 78 06 CPY $0678 = 80 A:80 X:DA Y:80 P:A5 SP:FB CYC:232 SL:49
D7E8 20 13 F9 JSR $F913 A:80 X:DA Y:80 P:27 SP:FB CYC:244 SL:49
F913 D0 05 BNE $F91A A:80 X:DA Y:80 P:27 SP:F9 CYC:262 SL:49
F915 30 03 BMI $F91A A:80 X:DA Y:80 P:27 SP:F9 CYC:268 SL:49
F917 90 01 BCC $F91A A:80 X:DA Y:80 P:27 SP:F9 CYC:274 SL:49
F919 60 RTS A:80 X:DA Y:80 P:27 SP:F9 CYC:280 SL:49
D7EB E8 INX A:80 X:DA Y:80 P:27 SP:FB CYC:298 SL:49
D7EC A9 81 LDA #$81 A:80 X:DB Y:80 P:A5 SP:FB CYC:304 SL:49
D7EE 8D 78 06 STA $0678 = 80 A:81 X:DB Y:80 P:A5 SP:FB CYC:310 SL:49
D7F1 CC 78 06 CPY $0678 = 81 A:81 X:DB Y:80 P:A5 SP:FB CYC:322 SL:49
D7F4 20 1D F9 JSR $F91D A:81 X:DB Y:80 P:A4 SP:FB CYC:334 SL:49
F91D B0 05 BCS $F924 A:81 X:DB Y:80 P:A4 SP:F9 CYC: 11 SL:50
F91F F0 03 BEQ $F924 A:81 X:DB Y:80 P:A4 SP:F9 CYC: 17 SL:50
F921 10 01 BPL $F924 A:81 X:DB Y:80 P:A4 SP:F9 CYC: 23 SL:50
F923 60 RTS A:81 X:DB Y:80 P:A4 SP:F9 CYC: 29 SL:50
D7F7 E8 INX A:81 X:DB Y:80 P:A4 SP:FB CYC: 47 SL:50
D7F8 A9 7F LDA #$7F A:81 X:DC Y:80 P:A4 SP:FB CYC: 53 SL:50
D7FA 8D 78 06 STA $0678 = 81 A:7F X:DC Y:80 P:24 SP:FB CYC: 59 SL:50
D7FD CC 78 06 CPY $0678 = 7F A:7F X:DC Y:80 P:24 SP:FB CYC: 71 SL:50
D800 20 27 F9 JSR $F927 A:7F X:DC Y:80 P:25 SP:FB CYC: 83 SL:50
F927 90 05 BCC $F92E A:7F X:DC Y:80 P:25 SP:F9 CYC:101 SL:50
F929 F0 03 BEQ $F92E A:7F X:DC Y:80 P:25 SP:F9 CYC:107 SL:50
F92B 30 01 BMI $F92E A:7F X:DC Y:80 P:25 SP:F9 CYC:113 SL:50
F92D 60 RTS A:7F X:DC Y:80 P:25 SP:F9 CYC:119 SL:50
D803 E8 INX A:7F X:DC Y:80 P:25 SP:FB CYC:137 SL:50
D804 8A TXA A:7F X:DD Y:80 P:A5 SP:FB CYC:143 SL:50
D805 A8 TAY A:DD X:DD Y:80 P:A5 SP:FB CYC:149 SL:50
D806 20 90 F9 JSR $F990 A:DD X:DD Y:DD P:A5 SP:FB CYC:155 SL:50
F990 A2 55 LDX #$55 A:DD X:DD Y:DD P:A5 SP:F9 CYC:173 SL:50
F992 A9 FF LDA #$FF A:DD X:55 Y:DD P:25 SP:F9 CYC:179 SL:50
F994 85 01 STA $01 = FF A:FF X:55 Y:DD P:A5 SP:F9 CYC:185 SL:50
F996 EA NOP A:FF X:55 Y:DD P:A5 SP:F9 CYC:194 SL:50
F997 24 01 BIT $01 = FF A:FF X:55 Y:DD P:A5 SP:F9 CYC:200 SL:50
F999 38 SEC A:FF X:55 Y:DD P:E5 SP:F9 CYC:209 SL:50
F99A A9 01 LDA #$01 A:FF X:55 Y:DD P:E5 SP:F9 CYC:215 SL:50
F99C 60 RTS A:01 X:55 Y:DD P:65 SP:F9 CYC:221 SL:50
D809 8D 78 06 STA $0678 = 7F A:01 X:55 Y:DD P:65 SP:FB CYC:239 SL:50
D80C 4E 78 06 LSR $0678 = 01 A:01 X:55 Y:DD P:65 SP:FB CYC:251 SL:50
D80F AD 78 06 LDA $0678 = 00 A:01 X:55 Y:DD P:67 SP:FB CYC:269 SL:50
D812 20 9D F9 JSR $F99D A:00 X:55 Y:DD P:67 SP:FB CYC:281 SL:50
F99D 90 1B BCC $F9BA A:00 X:55 Y:DD P:67 SP:F9 CYC:299 SL:50
F99F D0 19 BNE $F9BA A:00 X:55 Y:DD P:67 SP:F9 CYC:305 SL:50
F9A1 30 17 BMI $F9BA A:00 X:55 Y:DD P:67 SP:F9 CYC:311 SL:50
F9A3 50 15 BVC $F9BA A:00 X:55 Y:DD P:67 SP:F9 CYC:317 SL:50
F9A5 C9 00 CMP #$00 A:00 X:55 Y:DD P:67 SP:F9 CYC:323 SL:50
F9A7 D0 11 BNE $F9BA A:00 X:55 Y:DD P:67 SP:F9 CYC:329 SL:50
F9A9 B8 CLV A:00 X:55 Y:DD P:67 SP:F9 CYC:335 SL:50
F9AA A9 AA LDA #$AA A:00 X:55 Y:DD P:27 SP:F9 CYC: 0 SL:51
F9AC 60 RTS A:AA X:55 Y:DD P:A5 SP:F9 CYC: 6 SL:51
D815 C8 INY A:AA X:55 Y:DD P:A5 SP:FB CYC: 24 SL:51
D816 8D 78 06 STA $0678 = 00 A:AA X:55 Y:DE P:A5 SP:FB CYC: 30 SL:51
D819 4E 78 06 LSR $0678 = AA A:AA X:55 Y:DE P:A5 SP:FB CYC: 42 SL:51
D81C AD 78 06 LDA $0678 = 55 A:AA X:55 Y:DE P:24 SP:FB CYC: 60 SL:51
D81F 20 AD F9 JSR $F9AD A:55 X:55 Y:DE P:24 SP:FB CYC: 72 SL:51
F9AD B0 0B BCS $F9BA A:55 X:55 Y:DE P:24 SP:F9 CYC: 90 SL:51
F9AF F0 09 BEQ $F9BA A:55 X:55 Y:DE P:24 SP:F9 CYC: 96 SL:51
F9B1 30 07 BMI $F9BA A:55 X:55 Y:DE P:24 SP:F9 CYC:102 SL:51
F9B3 70 05 BVS $F9BA A:55 X:55 Y:DE P:24 SP:F9 CYC:108 SL:51
F9B5 C9 55 CMP #$55 A:55 X:55 Y:DE P:24 SP:F9 CYC:114 SL:51
F9B7 D0 01 BNE $F9BA A:55 X:55 Y:DE P:27 SP:F9 CYC:120 SL:51
F9B9 60 RTS A:55 X:55 Y:DE P:27 SP:F9 CYC:126 SL:51
D822 C8 INY A:55 X:55 Y:DE P:27 SP:FB CYC:144 SL:51
D823 20 BD F9 JSR $F9BD A:55 X:55 Y:DF P:A5 SP:FB CYC:150 SL:51
F9BD 24 01 BIT $01 = FF A:55 X:55 Y:DF P:A5 SP:F9 CYC:168 SL:51
F9BF 38 SEC A:55 X:55 Y:DF P:E5 SP:F9 CYC:177 SL:51
F9C0 A9 80 LDA #$80 A:55 X:55 Y:DF P:E5 SP:F9 CYC:183 SL:51
F9C2 60 RTS A:80 X:55 Y:DF P:E5 SP:F9 CYC:189 SL:51
D826 8D 78 06 STA $0678 = 55 A:80 X:55 Y:DF P:E5 SP:FB CYC:207 SL:51
D829 0E 78 06 ASL $0678 = 80 A:80 X:55 Y:DF P:E5 SP:FB CYC:219 SL:51
D82C AD 78 06 LDA $0678 = 00 A:80 X:55 Y:DF P:67 SP:FB CYC:237 SL:51
D82F 20 C3 F9 JSR $F9C3 A:00 X:55 Y:DF P:67 SP:FB CYC:249 SL:51
F9C3 90 1C BCC $F9E1 A:00 X:55 Y:DF P:67 SP:F9 CYC:267 SL:51
F9C5 D0 1A BNE $F9E1 A:00 X:55 Y:DF P:67 SP:F9 CYC:273 SL:51
F9C7 30 18 BMI $F9E1 A:00 X:55 Y:DF P:67 SP:F9 CYC:279 SL:51
F9C9 50 16 BVC $F9E1 A:00 X:55 Y:DF P:67 SP:F9 CYC:285 SL:51
F9CB C9 00 CMP #$00 A:00 X:55 Y:DF P:67 SP:F9 CYC:291 SL:51
F9CD D0 12 BNE $F9E1 A:00 X:55 Y:DF P:67 SP:F9 CYC:297 SL:51
F9CF B8 CLV A:00 X:55 Y:DF P:67 SP:F9 CYC:303 SL:51
F9D0 A9 55 LDA #$55 A:00 X:55 Y:DF P:27 SP:F9 CYC:309 SL:51
F9D2 38 SEC A:55 X:55 Y:DF P:25 SP:F9 CYC:315 SL:51
F9D3 60 RTS A:55 X:55 Y:DF P:25 SP:F9 CYC:321 SL:51
D832 C8 INY A:55 X:55 Y:DF P:25 SP:FB CYC:339 SL:51
D833 8D 78 06 STA $0678 = 00 A:55 X:55 Y:E0 P:A5 SP:FB CYC: 4 SL:52
D836 0E 78 06 ASL $0678 = 55 A:55 X:55 Y:E0 P:A5 SP:FB CYC: 16 SL:52
D839 AD 78 06 LDA $0678 = AA A:55 X:55 Y:E0 P:A4 SP:FB CYC: 34 SL:52
D83C 20 D4 F9 JSR $F9D4 A:AA X:55 Y:E0 P:A4 SP:FB CYC: 46 SL:52
F9D4 B0 0B BCS $F9E1 A:AA X:55 Y:E0 P:A4 SP:F9 CYC: 64 SL:52
F9D6 F0 09 BEQ $F9E1 A:AA X:55 Y:E0 P:A4 SP:F9 CYC: 70 SL:52
F9D8 10 07 BPL $F9E1 A:AA X:55 Y:E0 P:A4 SP:F9 CYC: 76 SL:52
F9DA 70 05 BVS $F9E1 A:AA X:55 Y:E0 P:A4 SP:F9 CYC: 82 SL:52
F9DC C9 AA CMP #$AA A:AA X:55 Y:E0 P:A4 SP:F9 CYC: 88 SL:52
F9DE D0 01 BNE $F9E1 A:AA X:55 Y:E0 P:27 SP:F9 CYC: 94 SL:52
F9E0 60 RTS A:AA X:55 Y:E0 P:27 SP:F9 CYC:100 SL:52
D83F C8 INY A:AA X:55 Y:E0 P:27 SP:FB CYC:118 SL:52
D840 20 E4 F9 JSR $F9E4 A:AA X:55 Y:E1 P:A5 SP:FB CYC:124 SL:52
F9E4 24 01 BIT $01 = FF A:AA X:55 Y:E1 P:A5 SP:F9 CYC:142 SL:52
F9E6 38 SEC A:AA X:55 Y:E1 P:E5 SP:F9 CYC:151 SL:52
F9E7 A9 01 LDA #$01 A:AA X:55 Y:E1 P:E5 SP:F9 CYC:157 SL:52
F9E9 60 RTS A:01 X:55 Y:E1 P:65 SP:F9 CYC:163 SL:52
D843 8D 78 06 STA $0678 = AA A:01 X:55 Y:E1 P:65 SP:FB CYC:181 SL:52
D846 6E 78 06 ROR $0678 = 01 A:01 X:55 Y:E1 P:65 SP:FB CYC:193 SL:52
D849 AD 78 06 LDA $0678 = 80 A:01 X:55 Y:E1 P:E5 SP:FB CYC:211 SL:52
D84C 20 EA F9 JSR $F9EA A:80 X:55 Y:E1 P:E5 SP:FB CYC:223 SL:52
F9EA 90 1C BCC $FA08 A:80 X:55 Y:E1 P:E5 SP:F9 CYC:241 SL:52
F9EC F0 1A BEQ $FA08 A:80 X:55 Y:E1 P:E5 SP:F9 CYC:247 SL:52
F9EE 10 18 BPL $FA08 A:80 X:55 Y:E1 P:E5 SP:F9 CYC:253 SL:52
F9F0 50 16 BVC $FA08 A:80 X:55 Y:E1 P:E5 SP:F9 CYC:259 SL:52
F9F2 C9 80 CMP #$80 A:80 X:55 Y:E1 P:E5 SP:F9 CYC:265 SL:52
F9F4 D0 12 BNE $FA08 A:80 X:55 Y:E1 P:67 SP:F9 CYC:271 SL:52
F9F6 B8 CLV A:80 X:55 Y:E1 P:67 SP:F9 CYC:277 SL:52
F9F7 18 CLC A:80 X:55 Y:E1 P:27 SP:F9 CYC:283 SL:52
F9F8 A9 55 LDA #$55 A:80 X:55 Y:E1 P:26 SP:F9 CYC:289 SL:52
F9FA 60 RTS A:55 X:55 Y:E1 P:24 SP:F9 CYC:295 SL:52
D84F C8 INY A:55 X:55 Y:E1 P:24 SP:FB CYC:313 SL:52
D850 8D 78 06 STA $0678 = 80 A:55 X:55 Y:E2 P:A4 SP:FB CYC:319 SL:52
D853 6E 78 06 ROR $0678 = 55 A:55 X:55 Y:E2 P:A4 SP:FB CYC:331 SL:52
D856 AD 78 06 LDA $0678 = 2A A:55 X:55 Y:E2 P:25 SP:FB CYC: 8 SL:53
D859 20 FB F9 JSR $F9FB A:2A X:55 Y:E2 P:25 SP:FB CYC: 20 SL:53
F9FB 90 0B BCC $FA08 A:2A X:55 Y:E2 P:25 SP:F9 CYC: 38 SL:53
F9FD F0 09 BEQ $FA08 A:2A X:55 Y:E2 P:25 SP:F9 CYC: 44 SL:53
F9FF 30 07 BMI $FA08 A:2A X:55 Y:E2 P:25 SP:F9 CYC: 50 SL:53
FA01 70 05 BVS $FA08 A:2A X:55 Y:E2 P:25 SP:F9 CYC: 56 SL:53
FA03 C9 2A CMP #$2A A:2A X:55 Y:E2 P:25 SP:F9 CYC: 62 SL:53
FA05 D0 01 BNE $FA08 A:2A X:55 Y:E2 P:27 SP:F9 CYC: 68 SL:53
FA07 60 RTS A:2A X:55 Y:E2 P:27 SP:F9 CYC: 74 SL:53
D85C C8 INY A:2A X:55 Y:E2 P:27 SP:FB CYC: 92 SL:53
D85D 20 0A FA JSR $FA0A A:2A X:55 Y:E3 P:A5 SP:FB CYC: 98 SL:53
FA0A 24 01 BIT $01 = FF A:2A X:55 Y:E3 P:A5 SP:F9 CYC:116 SL:53
FA0C 38 SEC A:2A X:55 Y:E3 P:E5 SP:F9 CYC:125 SL:53
FA0D A9 80 LDA #$80 A:2A X:55 Y:E3 P:E5 SP:F9 CYC:131 SL:53
FA0F 60 RTS A:80 X:55 Y:E3 P:E5 SP:F9 CYC:137 SL:53
D860 8D 78 06 STA $0678 = 2A A:80 X:55 Y:E3 P:E5 SP:FB CYC:155 SL:53
D863 2E 78 06 ROL $0678 = 80 A:80 X:55 Y:E3 P:E5 SP:FB CYC:167 SL:53
D866 AD 78 06 LDA $0678 = 01 A:80 X:55 Y:E3 P:65 SP:FB CYC:185 SL:53
D869 20 10 FA JSR $FA10 A:01 X:55 Y:E3 P:65 SP:FB CYC:197 SL:53
FA10 90 1C BCC $FA2E A:01 X:55 Y:E3 P:65 SP:F9 CYC:215 SL:53
FA12 F0 1A BEQ $FA2E A:01 X:55 Y:E3 P:65 SP:F9 CYC:221 SL:53
FA14 30 18 BMI $FA2E A:01 X:55 Y:E3 P:65 SP:F9 CYC:227 SL:53
FA16 50 16 BVC $FA2E A:01 X:55 Y:E3 P:65 SP:F9 CYC:233 SL:53
FA18 C9 01 CMP #$01 A:01 X:55 Y:E3 P:65 SP:F9 CYC:239 SL:53
FA1A D0 12 BNE $FA2E A:01 X:55 Y:E3 P:67 SP:F9 CYC:245 SL:53
FA1C B8 CLV A:01 X:55 Y:E3 P:67 SP:F9 CYC:251 SL:53
FA1D 18 CLC A:01 X:55 Y:E3 P:27 SP:F9 CYC:257 SL:53
FA1E A9 55 LDA #$55 A:01 X:55 Y:E3 P:26 SP:F9 CYC:263 SL:53
FA20 60 RTS A:55 X:55 Y:E3 P:24 SP:F9 CYC:269 SL:53
D86C C8 INY A:55 X:55 Y:E3 P:24 SP:FB CYC:287 SL:53
D86D 8D 78 06 STA $0678 = 01 A:55 X:55 Y:E4 P:A4 SP:FB CYC:293 SL:53
D870 2E 78 06 ROL $0678 = 55 A:55 X:55 Y:E4 P:A4 SP:FB CYC:305 SL:53
D873 AD 78 06 LDA $0678 = AA A:55 X:55 Y:E4 P:A4 SP:FB CYC:323 SL:53
D876 20 21 FA JSR $FA21 A:AA X:55 Y:E4 P:A4 SP:FB CYC:335 SL:53
FA21 B0 0B BCS $FA2E A:AA X:55 Y:E4 P:A4 SP:F9 CYC: 12 SL:54
FA23 F0 09 BEQ $FA2E A:AA X:55 Y:E4 P:A4 SP:F9 CYC: 18 SL:54
FA25 10 07 BPL $FA2E A:AA X:55 Y:E4 P:A4 SP:F9 CYC: 24 SL:54
FA27 70 05 BVS $FA2E A:AA X:55 Y:E4 P:A4 SP:F9 CYC: 30 SL:54
FA29 C9 AA CMP #$AA A:AA X:55 Y:E4 P:A4 SP:F9 CYC: 36 SL:54
FA2B D0 01 BNE $FA2E A:AA X:55 Y:E4 P:27 SP:F9 CYC: 42 SL:54
FA2D 60 RTS A:AA X:55 Y:E4 P:27 SP:F9 CYC: 48 SL:54
D879 A9 FF LDA #$FF A:AA X:55 Y:E4 P:27 SP:FB CYC: 66 SL:54
D87B 8D 78 06 STA $0678 = AA A:FF X:55 Y:E4 P:A5 SP:FB CYC: 72 SL:54
D87E 85 01 STA $01 = FF A:FF X:55 Y:E4 P:A5 SP:FB CYC: 84 SL:54
D880 24 01 BIT $01 = FF A:FF X:55 Y:E4 P:A5 SP:FB CYC: 93 SL:54
D882 38 SEC A:FF X:55 Y:E4 P:E5 SP:FB CYC:102 SL:54
D883 EE 78 06 INC $0678 = FF A:FF X:55 Y:E4 P:E5 SP:FB CYC:108 SL:54
D886 D0 0D BNE $D895 A:FF X:55 Y:E4 P:67 SP:FB CYC:126 SL:54
D888 30 0B BMI $D895 A:FF X:55 Y:E4 P:67 SP:FB CYC:132 SL:54
D88A 50 09 BVC $D895 A:FF X:55 Y:E4 P:67 SP:FB CYC:138 SL:54
D88C 90 07 BCC $D895 A:FF X:55 Y:E4 P:67 SP:FB CYC:144 SL:54
D88E AD 78 06 LDA $0678 = 00 A:FF X:55 Y:E4 P:67 SP:FB CYC:150 SL:54
D891 C9 00 CMP #$00 A:00 X:55 Y:E4 P:67 SP:FB CYC:162 SL:54
D893 F0 04 BEQ $D899 A:00 X:55 Y:E4 P:67 SP:FB CYC:168 SL:54
D899 A9 7F LDA #$7F A:00 X:55 Y:E4 P:67 SP:FB CYC:177 SL:54
D89B 8D 78 06 STA $0678 = 00 A:7F X:55 Y:E4 P:65 SP:FB CYC:183 SL:54
D89E B8 CLV A:7F X:55 Y:E4 P:65 SP:FB CYC:195 SL:54
D89F 18 CLC A:7F X:55 Y:E4 P:25 SP:FB CYC:201 SL:54
D8A0 EE 78 06 INC $0678 = 7F A:7F X:55 Y:E4 P:24 SP:FB CYC:207 SL:54
D8A3 F0 0D BEQ $D8B2 A:7F X:55 Y:E4 P:A4 SP:FB CYC:225 SL:54
D8A5 10 0B BPL $D8B2 A:7F X:55 Y:E4 P:A4 SP:FB CYC:231 SL:54
D8A7 70 09 BVS $D8B2 A:7F X:55 Y:E4 P:A4 SP:FB CYC:237 SL:54
D8A9 B0 07 BCS $D8B2 A:7F X:55 Y:E4 P:A4 SP:FB CYC:243 SL:54
D8AB AD 78 06 LDA $0678 = 80 A:7F X:55 Y:E4 P:A4 SP:FB CYC:249 SL:54
D8AE C9 80 CMP #$80 A:80 X:55 Y:E4 P:A4 SP:FB CYC:261 SL:54
D8B0 F0 04 BEQ $D8B6 A:80 X:55 Y:E4 P:27 SP:FB CYC:267 SL:54
D8B6 A9 00 LDA #$00 A:80 X:55 Y:E4 P:27 SP:FB CYC:276 SL:54
D8B8 8D 78 06 STA $0678 = 80 A:00 X:55 Y:E4 P:27 SP:FB CYC:282 SL:54
D8BB 24 01 BIT $01 = FF A:00 X:55 Y:E4 P:27 SP:FB CYC:294 SL:54
D8BD 38 SEC A:00 X:55 Y:E4 P:E7 SP:FB CYC:303 SL:54
D8BE CE 78 06 DEC $0678 = 00 A:00 X:55 Y:E4 P:E7 SP:FB CYC:309 SL:54
D8C1 F0 0D BEQ $D8D0 A:00 X:55 Y:E4 P:E5 SP:FB CYC:327 SL:54
D8C3 10 0B BPL $D8D0 A:00 X:55 Y:E4 P:E5 SP:FB CYC:333 SL:54
D8C5 50 09 BVC $D8D0 A:00 X:55 Y:E4 P:E5 SP:FB CYC:339 SL:54
D8C7 90 07 BCC $D8D0 A:00 X:55 Y:E4 P:E5 SP:FB CYC: 4 SL:55
D8C9 AD 78 06 LDA $0678 = FF A:00 X:55 Y:E4 P:E5 SP:FB CYC: 10 SL:55
D8CC C9 FF CMP #$FF A:FF X:55 Y:E4 P:E5 SP:FB CYC: 22 SL:55
D8CE F0 04 BEQ $D8D4 A:FF X:55 Y:E4 P:67 SP:FB CYC: 28 SL:55
D8D4 A9 80 LDA #$80 A:FF X:55 Y:E4 P:67 SP:FB CYC: 37 SL:55
D8D6 8D 78 06 STA $0678 = FF A:80 X:55 Y:E4 P:E5 SP:FB CYC: 43 SL:55
D8D9 B8 CLV A:80 X:55 Y:E4 P:E5 SP:FB CYC: 55 SL:55
D8DA 18 CLC A:80 X:55 Y:E4 P:A5 SP:FB CYC: 61 SL:55
D8DB CE 78 06 DEC $0678 = 80 A:80 X:55 Y:E4 P:A4 SP:FB CYC: 67 SL:55
D8DE F0 0D BEQ $D8ED A:80 X:55 Y:E4 P:24 SP:FB CYC: 85 SL:55
D8E0 30 0B BMI $D8ED A:80 X:55 Y:E4 P:24 SP:FB CYC: 91 SL:55
D8E2 70 09 BVS $D8ED A:80 X:55 Y:E4 P:24 SP:FB CYC: 97 SL:55
D8E4 B0 07 BCS $D8ED A:80 X:55 Y:E4 P:24 SP:FB CYC:103 SL:55
D8E6 AD 78 06 LDA $0678 = 7F A:80 X:55 Y:E4 P:24 SP:FB CYC:109 SL:55
D8E9 C9 7F CMP #$7F A:7F X:55 Y:E4 P:24 SP:FB CYC:121 SL:55
D8EB F0 04 BEQ $D8F1 A:7F X:55 Y:E4 P:27 SP:FB CYC:127 SL:55
D8F1 A9 01 LDA #$01 A:7F X:55 Y:E4 P:27 SP:FB CYC:136 SL:55
D8F3 8D 78 06 STA $0678 = 7F A:01 X:55 Y:E4 P:25 SP:FB CYC:142 SL:55
D8F6 CE 78 06 DEC $0678 = 01 A:01 X:55 Y:E4 P:25 SP:FB CYC:154 SL:55
D8F9 F0 04 BEQ $D8FF A:01 X:55 Y:E4 P:27 SP:FB CYC:172 SL:55
D8FF 60 RTS A:01 X:55 Y:E4 P:27 SP:FB CYC:181 SL:55
C618 20 00 D9 JSR $D900 A:01 X:55 Y:E4 P:27 SP:FD CYC:199 SL:55
D900 A9 A3 LDA #$A3 A:01 X:55 Y:E4 P:27 SP:FB CYC:217 SL:55
D902 85 33 STA $33 = 00 A:A3 X:55 Y:E4 P:A5 SP:FB CYC:223 SL:55
D904 A9 89 LDA #$89 A:A3 X:55 Y:E4 P:A5 SP:FB CYC:232 SL:55
D906 8D 00 03 STA $0300 = 70 A:89 X:55 Y:E4 P:A5 SP:FB CYC:238 SL:55
D909 A9 12 LDA #$12 A:89 X:55 Y:E4 P:A5 SP:FB CYC:250 SL:55
D90B 8D 45 02 STA $0245 = 00 A:12 X:55 Y:E4 P:25 SP:FB CYC:256 SL:55
D90E A9 FF LDA #$FF A:12 X:55 Y:E4 P:25 SP:FB CYC:268 SL:55
D910 85 01 STA $01 = FF A:FF X:55 Y:E4 P:A5 SP:FB CYC:274 SL:55
D912 A2 65 LDX #$65 A:FF X:55 Y:E4 P:A5 SP:FB CYC:283 SL:55
D914 A9 00 LDA #$00 A:FF X:65 Y:E4 P:25 SP:FB CYC:289 SL:55
D916 85 89 STA $89 = 00 A:00 X:65 Y:E4 P:27 SP:FB CYC:295 SL:55
D918 A9 03 LDA #$03 A:00 X:65 Y:E4 P:27 SP:FB CYC:304 SL:55
D91A 85 8A STA $8A = 00 A:03 X:65 Y:E4 P:25 SP:FB CYC:310 SL:55
D91C A0 00 LDY #$00 A:03 X:65 Y:E4 P:25 SP:FB CYC:319 SL:55
D91E 38 SEC A:03 X:65 Y:00 P:27 SP:FB CYC:325 SL:55
D91F A9 00 LDA #$00 A:03 X:65 Y:00 P:27 SP:FB CYC:331 SL:55
D921 B8 CLV A:00 X:65 Y:00 P:27 SP:FB CYC:337 SL:55
D922 B1 89 LDA ($89),Y = 0300 @ 0300 = 89 A:00 X:65 Y:00 P:27 SP:FB CYC: 2 SL:56
D924 F0 0C BEQ $D932 A:89 X:65 Y:00 P:A5 SP:FB CYC: 17 SL:56
D926 90 0A BCC $D932 A:89 X:65 Y:00 P:A5 SP:FB CYC: 23 SL:56
D928 70 08 BVS $D932 A:89 X:65 Y:00 P:A5 SP:FB CYC: 29 SL:56
D92A C9 89 CMP #$89 A:89 X:65 Y:00 P:A5 SP:FB CYC: 35 SL:56
D92C D0 04 BNE $D932 A:89 X:65 Y:00 P:27 SP:FB CYC: 41 SL:56
D92E E0 65 CPX #$65 A:89 X:65 Y:00 P:27 SP:FB CYC: 47 SL:56
D930 F0 04 BEQ $D936 A:89 X:65 Y:00 P:27 SP:FB CYC: 53 SL:56
D936 A9 FF LDA #$FF A:89 X:65 Y:00 P:27 SP:FB CYC: 62 SL:56
D938 85 97 STA $97 = 00 A:FF X:65 Y:00 P:A5 SP:FB CYC: 68 SL:56
D93A 85 98 STA $98 = 00 A:FF X:65 Y:00 P:A5 SP:FB CYC: 77 SL:56
D93C 24 98 BIT $98 = FF A:FF X:65 Y:00 P:A5 SP:FB CYC: 86 SL:56
D93E A0 34 LDY #$34 A:FF X:65 Y:00 P:E5 SP:FB CYC: 95 SL:56
D940 B1 97 LDA ($97),Y = FFFF @ 0033 = A3 A:FF X:65 Y:34 P:65 SP:FB CYC:101 SL:56
D942 C9 A3 CMP #$A3 A:A3 X:65 Y:34 P:E5 SP:FB CYC:119 SL:56
D944 D0 02 BNE $D948 A:A3 X:65 Y:34 P:67 SP:FB CYC:125 SL:56
D946 B0 04 BCS $D94C A:A3 X:65 Y:34 P:67 SP:FB CYC:131 SL:56
D94C A5 00 LDA $00 = 00 A:A3 X:65 Y:34 P:67 SP:FB CYC:140 SL:56
D94E 48 PHA A:00 X:65 Y:34 P:67 SP:FB CYC:149 SL:56
D94F A9 46 LDA #$46 A:00 X:65 Y:34 P:67 SP:FA CYC:158 SL:56
D951 85 FF STA $FF = 00 A:46 X:65 Y:34 P:65 SP:FA CYC:164 SL:56
D953 A9 01 LDA #$01 A:46 X:65 Y:34 P:65 SP:FA CYC:173 SL:56
D955 85 00 STA $00 = 00 A:01 X:65 Y:34 P:65 SP:FA CYC:179 SL:56
D957 A0 FF LDY #$FF A:01 X:65 Y:34 P:65 SP:FA CYC:188 SL:56
D959 B1 FF LDA ($FF),Y = 0146 @ 0245 = 12 A:01 X:65 Y:FF P:E5 SP:FA CYC:194 SL:56
D95B C9 12 CMP #$12 A:12 X:65 Y:FF P:65 SP:FA CYC:212 SL:56
D95D F0 04 BEQ $D963 A:12 X:65 Y:FF P:67 SP:FA CYC:218 SL:56
D963 68 PLA A:12 X:65 Y:FF P:67 SP:FA CYC:227 SL:56
D964 85 00 STA $00 = 01 A:00 X:65 Y:FF P:67 SP:FB CYC:239 SL:56
D966 A2 ED LDX #$ED A:00 X:65 Y:FF P:67 SP:FB CYC:248 SL:56
D968 A9 00 LDA #$00 A:00 X:ED Y:FF P:E5 SP:FB CYC:254 SL:56
D96A 85 33 STA $33 = A3 A:00 X:ED Y:FF P:67 SP:FB CYC:260 SL:56
D96C A9 04 LDA #$04 A:00 X:ED Y:FF P:67 SP:FB CYC:269 SL:56
D96E 85 34 STA $34 = 00 A:04 X:ED Y:FF P:65 SP:FB CYC:275 SL:56
D970 A0 00 LDY #$00 A:04 X:ED Y:FF P:65 SP:FB CYC:284 SL:56
D972 18 CLC A:04 X:ED Y:00 P:67 SP:FB CYC:290 SL:56
D973 A9 FF LDA #$FF A:04 X:ED Y:00 P:66 SP:FB CYC:296 SL:56
D975 85 01 STA $01 = FF A:FF X:ED Y:00 P:E4 SP:FB CYC:302 SL:56
D977 24 01 BIT $01 = FF A:FF X:ED Y:00 P:E4 SP:FB CYC:311 SL:56
D979 A9 AA LDA #$AA A:FF X:ED Y:00 P:E4 SP:FB CYC:320 SL:56
D97B 8D 00 04 STA $0400 = AD A:AA X:ED Y:00 P:E4 SP:FB CYC:326 SL:56
D97E A9 55 LDA #$55 A:AA X:ED Y:00 P:E4 SP:FB CYC:338 SL:56
D980 11 33 ORA ($33),Y = 0400 @ 0400 = AA A:55 X:ED Y:00 P:64 SP:FB CYC: 3 SL:57
D982 B0 08 BCS $D98C A:FF X:ED Y:00 P:E4 SP:FB CYC: 18 SL:57
D984 10 06 BPL $D98C A:FF X:ED Y:00 P:E4 SP:FB CYC: 24 SL:57
D986 C9 FF CMP #$FF A:FF X:ED Y:00 P:E4 SP:FB CYC: 30 SL:57
D988 D0 02 BNE $D98C A:FF X:ED Y:00 P:67 SP:FB CYC: 36 SL:57
D98A 70 02 BVS $D98E A:FF X:ED Y:00 P:67 SP:FB CYC: 42 SL:57
D98E E8 INX A:FF X:ED Y:00 P:67 SP:FB CYC: 51 SL:57
D98F 38 SEC A:FF X:EE Y:00 P:E5 SP:FB CYC: 57 SL:57
D990 B8 CLV A:FF X:EE Y:00 P:E5 SP:FB CYC: 63 SL:57
D991 A9 00 LDA #$00 A:FF X:EE Y:00 P:A5 SP:FB CYC: 69 SL:57
D993 11 33 ORA ($33),Y = 0400 @ 0400 = AA A:00 X:EE Y:00 P:27 SP:FB CYC: 75 SL:57
D995 F0 06 BEQ $D99D A:AA X:EE Y:00 P:A5 SP:FB CYC: 90 SL:57
D997 70 04 BVS $D99D A:AA X:EE Y:00 P:A5 SP:FB CYC: 96 SL:57
D999 90 02 BCC $D99D A:AA X:EE Y:00 P:A5 SP:FB CYC:102 SL:57
D99B 30 02 BMI $D99F A:AA X:EE Y:00 P:A5 SP:FB CYC:108 SL:57
D99F E8 INX A:AA X:EE Y:00 P:A5 SP:FB CYC:117 SL:57
D9A0 18 CLC A:AA X:EF Y:00 P:A5 SP:FB CYC:123 SL:57
D9A1 24 01 BIT $01 = FF A:AA X:EF Y:00 P:A4 SP:FB CYC:129 SL:57
D9A3 A9 55 LDA #$55 A:AA X:EF Y:00 P:E4 SP:FB CYC:138 SL:57
D9A5 31 33 AND ($33),Y = 0400 @ 0400 = AA A:55 X:EF Y:00 P:64 SP:FB CYC:144 SL:57
D9A7 D0 06 BNE $D9AF A:00 X:EF Y:00 P:66 SP:FB CYC:159 SL:57
D9A9 50 04 BVC $D9AF A:00 X:EF Y:00 P:66 SP:FB CYC:165 SL:57
D9AB B0 02 BCS $D9AF A:00 X:EF Y:00 P:66 SP:FB CYC:171 SL:57
D9AD 10 02 BPL $D9B1 A:00 X:EF Y:00 P:66 SP:FB CYC:177 SL:57
D9B1 E8 INX A:00 X:EF Y:00 P:66 SP:FB CYC:186 SL:57
D9B2 38 SEC A:00 X:F0 Y:00 P:E4 SP:FB CYC:192 SL:57
D9B3 B8 CLV A:00 X:F0 Y:00 P:E5 SP:FB CYC:198 SL:57
D9B4 A9 EF LDA #$EF A:00 X:F0 Y:00 P:A5 SP:FB CYC:204 SL:57
D9B6 8D 00 04 STA $0400 = AA A:EF X:F0 Y:00 P:A5 SP:FB CYC:210 SL:57
D9B9 A9 F8 LDA #$F8 A:EF X:F0 Y:00 P:A5 SP:FB CYC:222 SL:57
D9BB 31 33 AND ($33),Y = 0400 @ 0400 = EF A:F8 X:F0 Y:00 P:A5 SP:FB CYC:228 SL:57
D9BD 90 08 BCC $D9C7 A:E8 X:F0 Y:00 P:A5 SP:FB CYC:243 SL:57
D9BF 10 06 BPL $D9C7 A:E8 X:F0 Y:00 P:A5 SP:FB CYC:249 SL:57
D9C1 C9 E8 CMP #$E8 A:E8 X:F0 Y:00 P:A5 SP:FB CYC:255 SL:57
D9C3 D0 02 BNE $D9C7 A:E8 X:F0 Y:00 P:27 SP:FB CYC:261 SL:57
D9C5 50 02 BVC $D9C9 A:E8 X:F0 Y:00 P:27 SP:FB CYC:267 SL:57
D9C9 E8 INX A:E8 X:F0 Y:00 P:27 SP:FB CYC:276 SL:57
D9CA 18 CLC A:E8 X:F1 Y:00 P:A5 SP:FB CYC:282 SL:57
D9CB 24 01 BIT $01 = FF A:E8 X:F1 Y:00 P:A4 SP:FB CYC:288 SL:57
D9CD A9 AA LDA #$AA A:E8 X:F1 Y:00 P:E4 SP:FB CYC:297 SL:57
D9CF 8D 00 04 STA $0400 = EF A:AA X:F1 Y:00 P:E4 SP:FB CYC:303 SL:57
D9D2 A9 5F LDA #$5F A:AA X:F1 Y:00 P:E4 SP:FB CYC:315 SL:57
D9D4 51 33 EOR ($33),Y = 0400 @ 0400 = AA A:5F X:F1 Y:00 P:64 SP:FB CYC:321 SL:57
D9D6 B0 08 BCS $D9E0 A:F5 X:F1 Y:00 P:E4 SP:FB CYC:336 SL:57
D9D8 10 06 BPL $D9E0 A:F5 X:F1 Y:00 P:E4 SP:FB CYC: 1 SL:58
D9DA C9 F5 CMP #$F5 A:F5 X:F1 Y:00 P:E4 SP:FB CYC: 7 SL:58
D9DC D0 02 BNE $D9E0 A:F5 X:F1 Y:00 P:67 SP:FB CYC: 13 SL:58
D9DE 70 02 BVS $D9E2 A:F5 X:F1 Y:00 P:67 SP:FB CYC: 19 SL:58
D9E2 E8 INX A:F5 X:F1 Y:00 P:67 SP:FB CYC: 28 SL:58
D9E3 38 SEC A:F5 X:F2 Y:00 P:E5 SP:FB CYC: 34 SL:58
D9E4 B8 CLV A:F5 X:F2 Y:00 P:E5 SP:FB CYC: 40 SL:58
D9E5 A9 70 LDA #$70 A:F5 X:F2 Y:00 P:A5 SP:FB CYC: 46 SL:58
D9E7 8D 00 04 STA $0400 = AA A:70 X:F2 Y:00 P:25 SP:FB CYC: 52 SL:58
D9EA 51 33 EOR ($33),Y = 0400 @ 0400 = 70 A:70 X:F2 Y:00 P:25 SP:FB CYC: 64 SL:58
D9EC D0 06 BNE $D9F4 A:00 X:F2 Y:00 P:27 SP:FB CYC: 79 SL:58
D9EE 70 04 BVS $D9F4 A:00 X:F2 Y:00 P:27 SP:FB CYC: 85 SL:58
D9F0 90 02 BCC $D9F4 A:00 X:F2 Y:00 P:27 SP:FB CYC: 91 SL:58
D9F2 10 02 BPL $D9F6 A:00 X:F2 Y:00 P:27 SP:FB CYC: 97 SL:58
D9F6 E8 INX A:00 X:F2 Y:00 P:27 SP:FB CYC:106 SL:58
D9F7 18 CLC A:00 X:F3 Y:00 P:A5 SP:FB CYC:112 SL:58
D9F8 24 01 BIT $01 = FF A:00 X:F3 Y:00 P:A4 SP:FB CYC:118 SL:58
D9FA A9 69 LDA #$69 A:00 X:F3 Y:00 P:E6 SP:FB CYC:127 SL:58
D9FC 8D 00 04 STA $0400 = 70 A:69 X:F3 Y:00 P:64 SP:FB CYC:133 SL:58
D9FF A9 00 LDA #$00 A:69 X:F3 Y:00 P:64 SP:FB CYC:145 SL:58
DA01 71 33 ADC ($33),Y = 0400 @ 0400 = 69 A:00 X:F3 Y:00 P:66 SP:FB CYC:151 SL:58
DA03 30 08 BMI $DA0D A:69 X:F3 Y:00 P:24 SP:FB CYC:166 SL:58
DA05 B0 06 BCS $DA0D A:69 X:F3 Y:00 P:24 SP:FB CYC:172 SL:58
DA07 C9 69 CMP #$69 A:69 X:F3 Y:00 P:24 SP:FB CYC:178 SL:58
DA09 D0 02 BNE $DA0D A:69 X:F3 Y:00 P:27 SP:FB CYC:184 SL:58
DA0B 50 02 BVC $DA0F A:69 X:F3 Y:00 P:27 SP:FB CYC:190 SL:58
DA0F E8 INX A:69 X:F3 Y:00 P:27 SP:FB CYC:199 SL:58
DA10 38 SEC A:69 X:F4 Y:00 P:A5 SP:FB CYC:205 SL:58
DA11 24 01 BIT $01 = FF A:69 X:F4 Y:00 P:A5 SP:FB CYC:211 SL:58
DA13 A9 00 LDA #$00 A:69 X:F4 Y:00 P:E5 SP:FB CYC:220 SL:58
DA15 71 33 ADC ($33),Y = 0400 @ 0400 = 69 A:00 X:F4 Y:00 P:67 SP:FB CYC:226 SL:58
DA17 30 08 BMI $DA21 A:6A X:F4 Y:00 P:24 SP:FB CYC:241 SL:58
DA19 B0 06 BCS $DA21 A:6A X:F4 Y:00 P:24 SP:FB CYC:247 SL:58
DA1B C9 6A CMP #$6A A:6A X:F4 Y:00 P:24 SP:FB CYC:253 SL:58
DA1D D0 02 BNE $DA21 A:6A X:F4 Y:00 P:27 SP:FB CYC:259 SL:58
DA1F 50 02 BVC $DA23 A:6A X:F4 Y:00 P:27 SP:FB CYC:265 SL:58
DA23 E8 INX A:6A X:F4 Y:00 P:27 SP:FB CYC:274 SL:58
DA24 38 SEC A:6A X:F5 Y:00 P:A5 SP:FB CYC:280 SL:58
DA25 B8 CLV A:6A X:F5 Y:00 P:A5 SP:FB CYC:286 SL:58
DA26 A9 7F LDA #$7F A:6A X:F5 Y:00 P:A5 SP:FB CYC:292 SL:58
DA28 8D 00 04 STA $0400 = 69 A:7F X:F5 Y:00 P:25 SP:FB CYC:298 SL:58
DA2B 71 33 ADC ($33),Y = 0400 @ 0400 = 7F A:7F X:F5 Y:00 P:25 SP:FB CYC:310 SL:58
DA2D 10 08 BPL $DA37 A:FF X:F5 Y:00 P:E4 SP:FB CYC:325 SL:58
DA2F B0 06 BCS $DA37 A:FF X:F5 Y:00 P:E4 SP:FB CYC:331 SL:58
DA31 C9 FF CMP #$FF A:FF X:F5 Y:00 P:E4 SP:FB CYC:337 SL:58
DA33 D0 02 BNE $DA37 A:FF X:F5 Y:00 P:67 SP:FB CYC: 2 SL:59
DA35 70 02 BVS $DA39 A:FF X:F5 Y:00 P:67 SP:FB CYC: 8 SL:59
DA39 E8 INX A:FF X:F5 Y:00 P:67 SP:FB CYC: 17 SL:59
DA3A 18 CLC A:FF X:F6 Y:00 P:E5 SP:FB CYC: 23 SL:59
DA3B 24 01 BIT $01 = FF A:FF X:F6 Y:00 P:E4 SP:FB CYC: 29 SL:59
DA3D A9 80 LDA #$80 A:FF X:F6 Y:00 P:E4 SP:FB CYC: 38 SL:59
DA3F 8D 00 04 STA $0400 = 7F A:80 X:F6 Y:00 P:E4 SP:FB CYC: 44 SL:59
DA42 A9 7F LDA #$7F A:80 X:F6 Y:00 P:E4 SP:FB CYC: 56 SL:59
DA44 71 33 ADC ($33),Y = 0400 @ 0400 = 80 A:7F X:F6 Y:00 P:64 SP:FB CYC: 62 SL:59
DA46 10 08 BPL $DA50 A:FF X:F6 Y:00 P:A4 SP:FB CYC: 77 SL:59
DA48 B0 06 BCS $DA50 A:FF X:F6 Y:00 P:A4 SP:FB CYC: 83 SL:59
DA4A C9 FF CMP #$FF A:FF X:F6 Y:00 P:A4 SP:FB CYC: 89 SL:59
DA4C D0 02 BNE $DA50 A:FF X:F6 Y:00 P:27 SP:FB CYC: 95 SL:59
DA4E 50 02 BVC $DA52 A:FF X:F6 Y:00 P:27 SP:FB CYC:101 SL:59
DA52 E8 INX A:FF X:F6 Y:00 P:27 SP:FB CYC:110 SL:59
DA53 38 SEC A:FF X:F7 Y:00 P:A5 SP:FB CYC:116 SL:59
DA54 B8 CLV A:FF X:F7 Y:00 P:A5 SP:FB CYC:122 SL:59
DA55 A9 80 LDA #$80 A:FF X:F7 Y:00 P:A5 SP:FB CYC:128 SL:59
DA57 8D 00 04 STA $0400 = 80 A:80 X:F7 Y:00 P:A5 SP:FB CYC:134 SL:59
DA5A A9 7F LDA #$7F A:80 X:F7 Y:00 P:A5 SP:FB CYC:146 SL:59
DA5C 71 33 ADC ($33),Y = 0400 @ 0400 = 80 A:7F X:F7 Y:00 P:25 SP:FB CYC:152 SL:59
DA5E D0 06 BNE $DA66 A:00 X:F7 Y:00 P:27 SP:FB CYC:167 SL:59
DA60 30 04 BMI $DA66 A:00 X:F7 Y:00 P:27 SP:FB CYC:173 SL:59
DA62 70 02 BVS $DA66 A:00 X:F7 Y:00 P:27 SP:FB CYC:179 SL:59
DA64 B0 02 BCS $DA68 A:00 X:F7 Y:00 P:27 SP:FB CYC:185 SL:59
DA68 E8 INX A:00 X:F7 Y:00 P:27 SP:FB CYC:194 SL:59
DA69 24 01 BIT $01 = FF A:00 X:F8 Y:00 P:A5 SP:FB CYC:200 SL:59
DA6B A9 40 LDA #$40 A:00 X:F8 Y:00 P:E7 SP:FB CYC:209 SL:59
DA6D 8D 00 04 STA $0400 = 80 A:40 X:F8 Y:00 P:65 SP:FB CYC:215 SL:59
DA70 D1 33 CMP ($33),Y = 0400 @ 0400 = 40 A:40 X:F8 Y:00 P:65 SP:FB CYC:227 SL:59
DA72 30 06 BMI $DA7A A:40 X:F8 Y:00 P:67 SP:FB CYC:242 SL:59
DA74 90 04 BCC $DA7A A:40 X:F8 Y:00 P:67 SP:FB CYC:248 SL:59
DA76 D0 02 BNE $DA7A A:40 X:F8 Y:00 P:67 SP:FB CYC:254 SL:59
DA78 70 02 BVS $DA7C A:40 X:F8 Y:00 P:67 SP:FB CYC:260 SL:59
DA7C E8 INX A:40 X:F8 Y:00 P:67 SP:FB CYC:269 SL:59
DA7D B8 CLV A:40 X:F9 Y:00 P:E5 SP:FB CYC:275 SL:59
DA7E CE 00 04 DEC $0400 = 40 A:40 X:F9 Y:00 P:A5 SP:FB CYC:281 SL:59
DA81 D1 33 CMP ($33),Y = 0400 @ 0400 = 3F A:40 X:F9 Y:00 P:25 SP:FB CYC:299 SL:59
DA83 F0 06 BEQ $DA8B A:40 X:F9 Y:00 P:25 SP:FB CYC:314 SL:59
DA85 30 04 BMI $DA8B A:40 X:F9 Y:00 P:25 SP:FB CYC:320 SL:59
DA87 90 02 BCC $DA8B A:40 X:F9 Y:00 P:25 SP:FB CYC:326 SL:59
DA89 50 02 BVC $DA8D A:40 X:F9 Y:00 P:25 SP:FB CYC:332 SL:59
DA8D E8 INX A:40 X:F9 Y:00 P:25 SP:FB CYC: 0 SL:60
DA8E EE 00 04 INC $0400 = 3F A:40 X:FA Y:00 P:A5 SP:FB CYC: 6 SL:60
DA91 EE 00 04 INC $0400 = 40 A:40 X:FA Y:00 P:25 SP:FB CYC: 24 SL:60
DA94 D1 33 CMP ($33),Y = 0400 @ 0400 = 41 A:40 X:FA Y:00 P:25 SP:FB CYC: 42 SL:60
DA96 F0 02 BEQ $DA9A A:40 X:FA Y:00 P:A4 SP:FB CYC: 57 SL:60
DA98 30 02 BMI $DA9C A:40 X:FA Y:00 P:A4 SP:FB CYC: 63 SL:60
DA9C E8 INX A:40 X:FA Y:00 P:A4 SP:FB CYC: 72 SL:60
DA9D A9 00 LDA #$00 A:40 X:FB Y:00 P:A4 SP:FB CYC: 78 SL:60
DA9F 8D 00 04 STA $0400 = 41 A:00 X:FB Y:00 P:26 SP:FB CYC: 84 SL:60
DAA2 A9 80 LDA #$80 A:00 X:FB Y:00 P:26 SP:FB CYC: 96 SL:60
DAA4 D1 33 CMP ($33),Y = 0400 @ 0400 = 00 A:80 X:FB Y:00 P:A4 SP:FB CYC:102 SL:60
DAA6 F0 04 BEQ $DAAC A:80 X:FB Y:00 P:A5 SP:FB CYC:117 SL:60
DAA8 10 02 BPL $DAAC A:80 X:FB Y:00 P:A5 SP:FB CYC:123 SL:60
DAAA B0 02 BCS $DAAE A:80 X:FB Y:00 P:A5 SP:FB CYC:129 SL:60
DAAE E8 INX A:80 X:FB Y:00 P:A5 SP:FB CYC:138 SL:60
DAAF A0 80 LDY #$80 A:80 X:FC Y:00 P:A5 SP:FB CYC:144 SL:60
DAB1 8C 00 04 STY $0400 = 00 A:80 X:FC Y:80 P:A5 SP:FB CYC:150 SL:60
DAB4 A0 00 LDY #$00 A:80 X:FC Y:80 P:A5 SP:FB CYC:162 SL:60
DAB6 D1 33 CMP ($33),Y = 0400 @ 0400 = 80 A:80 X:FC Y:00 P:27 SP:FB CYC:168 SL:60
DAB8 D0 04 BNE $DABE A:80 X:FC Y:00 P:27 SP:FB CYC:183 SL:60
DABA 30 02 BMI $DABE A:80 X:FC Y:00 P:27 SP:FB CYC:189 SL:60
DABC B0 02 BCS $DAC0 A:80 X:FC Y:00 P:27 SP:FB CYC:195 SL:60
DAC0 E8 INX A:80 X:FC Y:00 P:27 SP:FB CYC:204 SL:60
DAC1 EE 00 04 INC $0400 = 80 A:80 X:FD Y:00 P:A5 SP:FB CYC:210 SL:60
DAC4 D1 33 CMP ($33),Y = 0400 @ 0400 = 81 A:80 X:FD Y:00 P:A5 SP:FB CYC:228 SL:60
DAC6 B0 04 BCS $DACC A:80 X:FD Y:00 P:A4 SP:FB CYC:243 SL:60
DAC8 F0 02 BEQ $DACC A:80 X:FD Y:00 P:A4 SP:FB CYC:249 SL:60
DACA 30 02 BMI $DACE A:80 X:FD Y:00 P:A4 SP:FB CYC:255 SL:60
DACE E8 INX A:80 X:FD Y:00 P:A4 SP:FB CYC:264 SL:60
DACF CE 00 04 DEC $0400 = 81 A:80 X:FE Y:00 P:A4 SP:FB CYC:270 SL:60
DAD2 CE 00 04 DEC $0400 = 80 A:80 X:FE Y:00 P:A4 SP:FB CYC:288 SL:60
DAD5 D1 33 CMP ($33),Y = 0400 @ 0400 = 7F A:80 X:FE Y:00 P:24 SP:FB CYC:306 SL:60
DAD7 90 04 BCC $DADD A:80 X:FE Y:00 P:25 SP:FB CYC:321 SL:60
DAD9 F0 02 BEQ $DADD A:80 X:FE Y:00 P:25 SP:FB CYC:327 SL:60
DADB 10 02 BPL $DADF A:80 X:FE Y:00 P:25 SP:FB CYC:333 SL:60
DADF 60 RTS A:80 X:FE Y:00 P:25 SP:FB CYC: 1 SL:61
C61B A5 00 LDA $00 = 00 A:80 X:FE Y:00 P:25 SP:FD CYC: 19 SL:61
C61D 85 10 STA $10 = 00 A:00 X:FE Y:00 P:27 SP:FD CYC: 28 SL:61
C61F A9 00 LDA #$00 A:00 X:FE Y:00 P:27 SP:FD CYC: 37 SL:61
C621 85 00 STA $00 = 00 A:00 X:FE Y:00 P:27 SP:FD CYC: 43 SL:61
C623 20 E0 DA JSR $DAE0 A:00 X:FE Y:00 P:27 SP:FD CYC: 52 SL:61
DAE0 A9 00 LDA #$00 A:00 X:FE Y:00 P:27 SP:FB CYC: 70 SL:61
DAE2 85 33 STA $33 = 00 A:00 X:FE Y:00 P:27 SP:FB CYC: 76 SL:61
DAE4 A9 04 LDA #$04 A:00 X:FE Y:00 P:27 SP:FB CYC: 85 SL:61
DAE6 85 34 STA $34 = 04 A:04 X:FE Y:00 P:25 SP:FB CYC: 91 SL:61
DAE8 A0 00 LDY #$00 A:04 X:FE Y:00 P:25 SP:FB CYC:100 SL:61
DAEA A2 01 LDX #$01 A:04 X:FE Y:00 P:27 SP:FB CYC:106 SL:61
DAEC 24 01 BIT $01 = FF A:04 X:01 Y:00 P:25 SP:FB CYC:112 SL:61
DAEE A9 40 LDA #$40 A:04 X:01 Y:00 P:E5 SP:FB CYC:121 SL:61
DAF0 8D 00 04 STA $0400 = 7F A:40 X:01 Y:00 P:65 SP:FB CYC:127 SL:61
DAF3 38 SEC A:40 X:01 Y:00 P:65 SP:FB CYC:139 SL:61
DAF4 F1 33 SBC ($33),Y = 0400 @ 0400 = 40 A:40 X:01 Y:00 P:65 SP:FB CYC:145 SL:61
DAF6 30 0A BMI $DB02 A:00 X:01 Y:00 P:27 SP:FB CYC:160 SL:61
DAF8 90 08 BCC $DB02 A:00 X:01 Y:00 P:27 SP:FB CYC:166 SL:61
DAFA D0 06 BNE $DB02 A:00 X:01 Y:00 P:27 SP:FB CYC:172 SL:61
DAFC 70 04 BVS $DB02 A:00 X:01 Y:00 P:27 SP:FB CYC:178 SL:61
DAFE C9 00 CMP #$00 A:00 X:01 Y:00 P:27 SP:FB CYC:184 SL:61
DB00 F0 02 BEQ $DB04 A:00 X:01 Y:00 P:27 SP:FB CYC:190 SL:61
DB04 E8 INX A:00 X:01 Y:00 P:27 SP:FB CYC:199 SL:61
DB05 B8 CLV A:00 X:02 Y:00 P:25 SP:FB CYC:205 SL:61
DB06 38 SEC A:00 X:02 Y:00 P:25 SP:FB CYC:211 SL:61
DB07 A9 40 LDA #$40 A:00 X:02 Y:00 P:25 SP:FB CYC:217 SL:61
DB09 CE 00 04 DEC $0400 = 40 A:40 X:02 Y:00 P:25 SP:FB CYC:223 SL:61
DB0C F1 33 SBC ($33),Y = 0400 @ 0400 = 3F A:40 X:02 Y:00 P:25 SP:FB CYC:241 SL:61
DB0E F0 0A BEQ $DB1A A:01 X:02 Y:00 P:25 SP:FB CYC:256 SL:61
DB10 30 08 BMI $DB1A A:01 X:02 Y:00 P:25 SP:FB CYC:262 SL:61
DB12 90 06 BCC $DB1A A:01 X:02 Y:00 P:25 SP:FB CYC:268 SL:61
DB14 70 04 BVS $DB1A A:01 X:02 Y:00 P:25 SP:FB CYC:274 SL:61
DB16 C9 01 CMP #$01 A:01 X:02 Y:00 P:25 SP:FB CYC:280 SL:61
DB18 F0 02 BEQ $DB1C A:01 X:02 Y:00 P:27 SP:FB CYC:286 SL:61
DB1C E8 INX A:01 X:02 Y:00 P:27 SP:FB CYC:295 SL:61
DB1D A9 40 LDA #$40 A:01 X:03 Y:00 P:25 SP:FB CYC:301 SL:61
DB1F 38 SEC A:40 X:03 Y:00 P:25 SP:FB CYC:307 SL:61
DB20 24 01 BIT $01 = FF A:40 X:03 Y:00 P:25 SP:FB CYC:313 SL:61
DB22 EE 00 04 INC $0400 = 3F A:40 X:03 Y:00 P:E5 SP:FB CYC:322 SL:61
DB25 EE 00 04 INC $0400 = 40 A:40 X:03 Y:00 P:65 SP:FB CYC:340 SL:61
DB28 F1 33 SBC ($33),Y = 0400 @ 0400 = 41 A:40 X:03 Y:00 P:65 SP:FB CYC: 17 SL:62
DB2A B0 0A BCS $DB36 A:FF X:03 Y:00 P:A4 SP:FB CYC: 32 SL:62
DB2C F0 08 BEQ $DB36 A:FF X:03 Y:00 P:A4 SP:FB CYC: 38 SL:62
DB2E 10 06 BPL $DB36 A:FF X:03 Y:00 P:A4 SP:FB CYC: 44 SL:62
DB30 70 04 BVS $DB36 A:FF X:03 Y:00 P:A4 SP:FB CYC: 50 SL:62
DB32 C9 FF CMP #$FF A:FF X:03 Y:00 P:A4 SP:FB CYC: 56 SL:62
DB34 F0 02 BEQ $DB38 A:FF X:03 Y:00 P:27 SP:FB CYC: 62 SL:62
DB38 E8 INX A:FF X:03 Y:00 P:27 SP:FB CYC: 71 SL:62
DB39 18 CLC A:FF X:04 Y:00 P:25 SP:FB CYC: 77 SL:62
DB3A A9 00 LDA #$00 A:FF X:04 Y:00 P:24 SP:FB CYC: 83 SL:62
DB3C 8D 00 04 STA $0400 = 41 A:00 X:04 Y:00 P:26 SP:FB CYC: 89 SL:62
DB3F A9 80 LDA #$80 A:00 X:04 Y:00 P:26 SP:FB CYC:101 SL:62
DB41 F1 33 SBC ($33),Y = 0400 @ 0400 = 00 A:80 X:04 Y:00 P:A4 SP:FB CYC:107 SL:62
DB43 90 04 BCC $DB49 A:7F X:04 Y:00 P:65 SP:FB CYC:122 SL:62
DB45 C9 7F CMP #$7F A:7F X:04 Y:00 P:65 SP:FB CYC:128 SL:62
DB47 F0 02 BEQ $DB4B A:7F X:04 Y:00 P:67 SP:FB CYC:134 SL:62
DB4B E8 INX A:7F X:04 Y:00 P:67 SP:FB CYC:143 SL:62
DB4C 38 SEC A:7F X:05 Y:00 P:65 SP:FB CYC:149 SL:62
DB4D A9 7F LDA #$7F A:7F X:05 Y:00 P:65 SP:FB CYC:155 SL:62
DB4F 8D 00 04 STA $0400 = 00 A:7F X:05 Y:00 P:65 SP:FB CYC:161 SL:62
DB52 A9 81 LDA #$81 A:7F X:05 Y:00 P:65 SP:FB CYC:173 SL:62
DB54 F1 33 SBC ($33),Y = 0400 @ 0400 = 7F A:81 X:05 Y:00 P:E5 SP:FB CYC:179 SL:62
DB56 50 06 BVC $DB5E A:02 X:05 Y:00 P:65 SP:FB CYC:194 SL:62
DB58 90 04 BCC $DB5E A:02 X:05 Y:00 P:65 SP:FB CYC:200 SL:62
DB5A C9 02 CMP #$02 A:02 X:05 Y:00 P:65 SP:FB CYC:206 SL:62
DB5C F0 02 BEQ $DB60 A:02 X:05 Y:00 P:67 SP:FB CYC:212 SL:62
DB60 E8 INX A:02 X:05 Y:00 P:67 SP:FB CYC:221 SL:62
DB61 A9 00 LDA #$00 A:02 X:06 Y:00 P:65 SP:FB CYC:227 SL:62
DB63 A9 87 LDA #$87 A:00 X:06 Y:00 P:67 SP:FB CYC:233 SL:62
DB65 91 33 STA ($33),Y = 0400 @ 0400 = 7F A:87 X:06 Y:00 P:E5 SP:FB CYC:239 SL:62
DB67 AD 00 04 LDA $0400 = 87 A:87 X:06 Y:00 P:E5 SP:FB CYC:257 SL:62
DB6A C9 87 CMP #$87 A:87 X:06 Y:00 P:E5 SP:FB CYC:269 SL:62
DB6C F0 02 BEQ $DB70 A:87 X:06 Y:00 P:67 SP:FB CYC:275 SL:62
DB70 E8 INX A:87 X:06 Y:00 P:67 SP:FB CYC:284 SL:62
DB71 A9 7E LDA #$7E A:87 X:07 Y:00 P:65 SP:FB CYC:290 SL:62
DB73 8D 00 02 STA $0200 = 7F A:7E X:07 Y:00 P:65 SP:FB CYC:296 SL:62
DB76 A9 DB LDA #$DB A:7E X:07 Y:00 P:65 SP:FB CYC:308 SL:62
DB78 8D 01 02 STA $0201 = 00 A:DB X:07 Y:00 P:E5 SP:FB CYC:314 SL:62
DB7B 6C 00 02 JMP ($0200) = DB7E A:DB X:07 Y:00 P:E5 SP:FB CYC:326 SL:62
DB7E A9 00 LDA #$00 A:DB X:07 Y:00 P:E5 SP:FB CYC: 0 SL:63
DB80 8D FF 02 STA $02FF = 00 A:00 X:07 Y:00 P:67 SP:FB CYC: 6 SL:63
DB83 A9 01 LDA #$01 A:00 X:07 Y:00 P:67 SP:FB CYC: 18 SL:63
DB85 8D 00 03 STA $0300 = 89 A:01 X:07 Y:00 P:65 SP:FB CYC: 24 SL:63
DB88 A9 03 LDA #$03 A:01 X:07 Y:00 P:65 SP:FB CYC: 36 SL:63
DB8A 8D 00 02 STA $0200 = 7E A:03 X:07 Y:00 P:65 SP:FB CYC: 42 SL:63
DB8D A9 A9 LDA #$A9 A:03 X:07 Y:00 P:65 SP:FB CYC: 54 SL:63
DB8F 8D 00 01 STA $0100 = 00 A:A9 X:07 Y:00 P:E5 SP:FB CYC: 60 SL:63
DB92 A9 55 LDA #$55 A:A9 X:07 Y:00 P:E5 SP:FB CYC: 72 SL:63
DB94 8D 01 01 STA $0101 = 00 A:55 X:07 Y:00 P:65 SP:FB CYC: 78 SL:63
DB97 A9 60 LDA #$60 A:55 X:07 Y:00 P:65 SP:FB CYC: 90 SL:63
DB99 8D 02 01 STA $0102 = 00 A:60 X:07 Y:00 P:65 SP:FB CYC: 96 SL:63
DB9C A9 A9 LDA #$A9 A:60 X:07 Y:00 P:65 SP:FB CYC:108 SL:63
DB9E 8D 00 03 STA $0300 = 01 A:A9 X:07 Y:00 P:E5 SP:FB CYC:114 SL:63
DBA1 A9 AA LDA #$AA A:A9 X:07 Y:00 P:E5 SP:FB CYC:126 SL:63
DBA3 8D 01 03 STA $0301 = 00 A:AA X:07 Y:00 P:E5 SP:FB CYC:132 SL:63
DBA6 A9 60 LDA #$60 A:AA X:07 Y:00 P:E5 SP:FB CYC:144 SL:63
DBA8 8D 02 03 STA $0302 = 00 A:60 X:07 Y:00 P:65 SP:FB CYC:150 SL:63
DBAB 20 B5 DB JSR $DBB5 A:60 X:07 Y:00 P:65 SP:FB CYC:162 SL:63
DBB5 6C FF 02 JMP ($02FF) = A900 A:60 X:07 Y:00 P:65 SP:F9 CYC:180 SL:63
0300 A9 AA LDA #$AA A:60 X:07 Y:00 P:65 SP:F9 CYC:195 SL:63
0302 60 RTS A:AA X:07 Y:00 P:E5 SP:F9 CYC:201 SL:63
DBAE C9 AA CMP #$AA A:AA X:07 Y:00 P:E5 SP:FB CYC:219 SL:63
DBB0 F0 02 BEQ $DBB4 A:AA X:07 Y:00 P:67 SP:FB CYC:225 SL:63
DBB4 60 RTS A:AA X:07 Y:00 P:67 SP:FB CYC:234 SL:63
C626 20 4A DF JSR $DF4A A:AA X:07 Y:00 P:67 SP:FD CYC:252 SL:63
DF4A A9 89 LDA #$89 A:AA X:07 Y:00 P:67 SP:FB CYC:270 SL:63
DF4C 8D 00 03 STA $0300 = A9 A:89 X:07 Y:00 P:E5 SP:FB CYC:276 SL:63
DF4F A9 A3 LDA #$A3 A:89 X:07 Y:00 P:E5 SP:FB CYC:288 SL:63
DF51 85 33 STA $33 = 00 A:A3 X:07 Y:00 P:E5 SP:FB CYC:294 SL:63
DF53 A9 12 LDA #$12 A:A3 X:07 Y:00 P:E5 SP:FB CYC:303 SL:63
DF55 8D 45 02 STA $0245 = 12 A:12 X:07 Y:00 P:65 SP:FB CYC:309 SL:63
DF58 A2 65 LDX #$65 A:12 X:07 Y:00 P:65 SP:FB CYC:321 SL:63
DF5A A0 00 LDY #$00 A:12 X:65 Y:00 P:65 SP:FB CYC:327 SL:63
DF5C 38 SEC A:12 X:65 Y:00 P:67 SP:FB CYC:333 SL:63
DF5D A9 00 LDA #$00 A:12 X:65 Y:00 P:67 SP:FB CYC:339 SL:63
DF5F B8 CLV A:00 X:65 Y:00 P:67 SP:FB CYC: 4 SL:64
DF60 B9 00 03 LDA $0300,Y @ 0300 = 89 A:00 X:65 Y:00 P:27 SP:FB CYC: 10 SL:64
DF63 F0 0C BEQ $DF71 A:89 X:65 Y:00 P:A5 SP:FB CYC: 22 SL:64
DF65 90 0A BCC $DF71 A:89 X:65 Y:00 P:A5 SP:FB CYC: 28 SL:64
DF67 70 08 BVS $DF71 A:89 X:65 Y:00 P:A5 SP:FB CYC: 34 SL:64
DF69 C9 89 CMP #$89 A:89 X:65 Y:00 P:A5 SP:FB CYC: 40 SL:64
DF6B D0 04 BNE $DF71 A:89 X:65 Y:00 P:27 SP:FB CYC: 46 SL:64
DF6D E0 65 CPX #$65 A:89 X:65 Y:00 P:27 SP:FB CYC: 52 SL:64
DF6F F0 04 BEQ $DF75 A:89 X:65 Y:00 P:27 SP:FB CYC: 58 SL:64
DF75 A9 FF LDA #$FF A:89 X:65 Y:00 P:27 SP:FB CYC: 67 SL:64
DF77 85 01 STA $01 = FF A:FF X:65 Y:00 P:A5 SP:FB CYC: 73 SL:64
DF79 24 01 BIT $01 = FF A:FF X:65 Y:00 P:A5 SP:FB CYC: 82 SL:64
DF7B A0 34 LDY #$34 A:FF X:65 Y:00 P:E5 SP:FB CYC: 91 SL:64
DF7D B9 FF FF LDA $FFFF,Y @ 0033 = A3 A:FF X:65 Y:34 P:65 SP:FB CYC: 97 SL:64
DF80 C9 A3 CMP #$A3 A:A3 X:65 Y:34 P:E5 SP:FB CYC:112 SL:64
DF82 D0 02 BNE $DF86 A:A3 X:65 Y:34 P:67 SP:FB CYC:118 SL:64
DF84 B0 04 BCS $DF8A A:A3 X:65 Y:34 P:67 SP:FB CYC:124 SL:64
DF8A A9 46 LDA #$46 A:A3 X:65 Y:34 P:67 SP:FB CYC:133 SL:64
DF8C 85 FF STA $FF = 46 A:46 X:65 Y:34 P:65 SP:FB CYC:139 SL:64
DF8E A0 FF LDY #$FF A:46 X:65 Y:34 P:65 SP:FB CYC:148 SL:64
DF90 B9 46 01 LDA $0146,Y @ 0245 = 12 A:46 X:65 Y:FF P:E5 SP:FB CYC:154 SL:64
DF93 C9 12 CMP #$12 A:12 X:65 Y:FF P:65 SP:FB CYC:169 SL:64
DF95 F0 04 BEQ $DF9B A:12 X:65 Y:FF P:67 SP:FB CYC:175 SL:64
DF9B A2 39 LDX #$39 A:12 X:65 Y:FF P:67 SP:FB CYC:184 SL:64
DF9D 18 CLC A:12 X:39 Y:FF P:65 SP:FB CYC:190 SL:64
DF9E A9 FF LDA #$FF A:12 X:39 Y:FF P:64 SP:FB CYC:196 SL:64
DFA0 85 01 STA $01 = FF A:FF X:39 Y:FF P:E4 SP:FB CYC:202 SL:64
DFA2 24 01 BIT $01 = FF A:FF X:39 Y:FF P:E4 SP:FB CYC:211 SL:64
DFA4 A9 AA LDA #$AA A:FF X:39 Y:FF P:E4 SP:FB CYC:220 SL:64
DFA6 8D 00 04 STA $0400 = 87 A:AA X:39 Y:FF P:E4 SP:FB CYC:226 SL:64
DFA9 A9 55 LDA #$55 A:AA X:39 Y:FF P:E4 SP:FB CYC:238 SL:64
DFAB A0 00 LDY #$00 A:55 X:39 Y:FF P:64 SP:FB CYC:244 SL:64
DFAD 19 00 04 ORA $0400,Y @ 0400 = AA A:55 X:39 Y:00 P:66 SP:FB CYC:250 SL:64
DFB0 B0 08 BCS $DFBA A:FF X:39 Y:00 P:E4 SP:FB CYC:262 SL:64
DFB2 10 06 BPL $DFBA A:FF X:39 Y:00 P:E4 SP:FB CYC:268 SL:64
DFB4 C9 FF CMP #$FF A:FF X:39 Y:00 P:E4 SP:FB CYC:274 SL:64
DFB6 D0 02 BNE $DFBA A:FF X:39 Y:00 P:67 SP:FB CYC:280 SL:64
DFB8 70 02 BVS $DFBC A:FF X:39 Y:00 P:67 SP:FB CYC:286 SL:64
DFBC E8 INX A:FF X:39 Y:00 P:67 SP:FB CYC:295 SL:64
DFBD 38 SEC A:FF X:3A Y:00 P:65 SP:FB CYC:301 SL:64
DFBE B8 CLV A:FF X:3A Y:00 P:65 SP:FB CYC:307 SL:64
DFBF A9 00 LDA #$00 A:FF X:3A Y:00 P:25 SP:FB CYC:313 SL:64
DFC1 19 00 04 ORA $0400,Y @ 0400 = AA A:00 X:3A Y:00 P:27 SP:FB CYC:319 SL:64
DFC4 F0 06 BEQ $DFCC A:AA X:3A Y:00 P:A5 SP:FB CYC:331 SL:64
DFC6 70 04 BVS $DFCC A:AA X:3A Y:00 P:A5 SP:FB CYC:337 SL:64
DFC8 90 02 BCC $DFCC A:AA X:3A Y:00 P:A5 SP:FB CYC: 2 SL:65
DFCA 30 02 BMI $DFCE A:AA X:3A Y:00 P:A5 SP:FB CYC: 8 SL:65
DFCE E8 INX A:AA X:3A Y:00 P:A5 SP:FB CYC: 17 SL:65
DFCF 18 CLC A:AA X:3B Y:00 P:25 SP:FB CYC: 23 SL:65
DFD0 24 01 BIT $01 = FF A:AA X:3B Y:00 P:24 SP:FB CYC: 29 SL:65
DFD2 A9 55 LDA #$55 A:AA X:3B Y:00 P:E4 SP:FB CYC: 38 SL:65
DFD4 39 00 04 AND $0400,Y @ 0400 = AA A:55 X:3B Y:00 P:64 SP:FB CYC: 44 SL:65
DFD7 D0 06 BNE $DFDF A:00 X:3B Y:00 P:66 SP:FB CYC: 56 SL:65
DFD9 50 04 BVC $DFDF A:00 X:3B Y:00 P:66 SP:FB CYC: 62 SL:65
DFDB B0 02 BCS $DFDF A:00 X:3B Y:00 P:66 SP:FB CYC: 68 SL:65
DFDD 10 02 BPL $DFE1 A:00 X:3B Y:00 P:66 SP:FB CYC: 74 SL:65
DFE1 E8 INX A:00 X:3B Y:00 P:66 SP:FB CYC: 83 SL:65
DFE2 38 SEC A:00 X:3C Y:00 P:64 SP:FB CYC: 89 SL:65
DFE3 B8 CLV A:00 X:3C Y:00 P:65 SP:FB CYC: 95 SL:65
DFE4 A9 EF LDA #$EF A:00 X:3C Y:00 P:25 SP:FB CYC:101 SL:65
DFE6 8D 00 04 STA $0400 = AA A:EF X:3C Y:00 P:A5 SP:FB CYC:107 SL:65
DFE9 A9 F8 LDA #$F8 A:EF X:3C Y:00 P:A5 SP:FB CYC:119 SL:65
DFEB 39 00 04 AND $0400,Y @ 0400 = EF A:F8 X:3C Y:00 P:A5 SP:FB CYC:125 SL:65
DFEE 90 08 BCC $DFF8 A:E8 X:3C Y:00 P:A5 SP:FB CYC:137 SL:65
DFF0 10 06 BPL $DFF8 A:E8 X:3C Y:00 P:A5 SP:FB CYC:143 SL:65
DFF2 C9 E8 CMP #$E8 A:E8 X:3C Y:00 P:A5 SP:FB CYC:149 SL:65
DFF4 D0 02 BNE $DFF8 A:E8 X:3C Y:00 P:27 SP:FB CYC:155 SL:65
DFF6 50 02 BVC $DFFA A:E8 X:3C Y:00 P:27 SP:FB CYC:161 SL:65
DFFA E8 INX A:E8 X:3C Y:00 P:27 SP:FB CYC:170 SL:65
DFFB 18 CLC A:E8 X:3D Y:00 P:25 SP:FB CYC:176 SL:65
DFFC 24 01 BIT $01 = FF A:E8 X:3D Y:00 P:24 SP:FB CYC:182 SL:65
DFFE A9 AA LDA #$AA A:E8 X:3D Y:00 P:E4 SP:FB CYC:191 SL:65
E000 8D 00 04 STA $0400 = EF A:AA X:3D Y:00 P:E4 SP:FB CYC:197 SL:65
E003 A9 5F LDA #$5F A:AA X:3D Y:00 P:E4 SP:FB CYC:209 SL:65
E005 59 00 04 EOR $0400,Y @ 0400 = AA A:5F X:3D Y:00 P:64 SP:FB CYC:215 SL:65
E008 B0 08 BCS $E012 A:F5 X:3D Y:00 P:E4 SP:FB CYC:227 SL:65
E00A 10 06 BPL $E012 A:F5 X:3D Y:00 P:E4 SP:FB CYC:233 SL:65
E00C C9 F5 CMP #$F5 A:F5 X:3D Y:00 P:E4 SP:FB CYC:239 SL:65
E00E D0 02 BNE $E012 A:F5 X:3D Y:00 P:67 SP:FB CYC:245 SL:65
E010 70 02 BVS $E014 A:F5 X:3D Y:00 P:67 SP:FB CYC:251 SL:65
E014 E8 INX A:F5 X:3D Y:00 P:67 SP:FB CYC:260 SL:65
E015 38 SEC A:F5 X:3E Y:00 P:65 SP:FB CYC:266 SL:65
E016 B8 CLV A:F5 X:3E Y:00 P:65 SP:FB CYC:272 SL:65
E017 A9 70 LDA #$70 A:F5 X:3E Y:00 P:25 SP:FB CYC:278 SL:65
E019 8D 00 04 STA $0400 = AA A:70 X:3E Y:00 P:25 SP:FB CYC:284 SL:65
E01C 59 00 04 EOR $0400,Y @ 0400 = 70 A:70 X:3E Y:00 P:25 SP:FB CYC:296 SL:65
E01F D0 06 BNE $E027 A:00 X:3E Y:00 P:27 SP:FB CYC:308 SL:65
E021 70 04 BVS $E027 A:00 X:3E Y:00 P:27 SP:FB CYC:314 SL:65
E023 90 02 BCC $E027 A:00 X:3E Y:00 P:27 SP:FB CYC:320 SL:65
E025 10 02 BPL $E029 A:00 X:3E Y:00 P:27 SP:FB CYC:326 SL:65
E029 E8 INX A:00 X:3E Y:00 P:27 SP:FB CYC:335 SL:65
E02A 18 CLC A:00 X:3F Y:00 P:25 SP:FB CYC: 0 SL:66
E02B 24 01 BIT $01 = FF A:00 X:3F Y:00 P:24 SP:FB CYC: 6 SL:66
E02D A9 69 LDA #$69 A:00 X:3F Y:00 P:E6 SP:FB CYC: 15 SL:66
E02F 8D 00 04 STA $0400 = 70 A:69 X:3F Y:00 P:64 SP:FB CYC: 21 SL:66
E032 A9 00 LDA #$00 A:69 X:3F Y:00 P:64 SP:FB CYC: 33 SL:66
E034 79 00 04 ADC $0400,Y @ 0400 = 69 A:00 X:3F Y:00 P:66 SP:FB CYC: 39 SL:66
E037 30 08 BMI $E041 A:69 X:3F Y:00 P:24 SP:FB CYC: 51 SL:66
E039 B0 06 BCS $E041 A:69 X:3F Y:00 P:24 SP:FB CYC: 57 SL:66
E03B C9 69 CMP #$69 A:69 X:3F Y:00 P:24 SP:FB CYC: 63 SL:66
E03D D0 02 BNE $E041 A:69 X:3F Y:00 P:27 SP:FB CYC: 69 SL:66
E03F 50 02 BVC $E043 A:69 X:3F Y:00 P:27 SP:FB CYC: 75 SL:66
E043 E8 INX A:69 X:3F Y:00 P:27 SP:FB CYC: 84 SL:66
E044 38 SEC A:69 X:40 Y:00 P:25 SP:FB CYC: 90 SL:66
E045 24 01 BIT $01 = FF A:69 X:40 Y:00 P:25 SP:FB CYC: 96 SL:66
E047 A9 00 LDA #$00 A:69 X:40 Y:00 P:E5 SP:FB CYC:105 SL:66
E049 79 00 04 ADC $0400,Y @ 0400 = 69 A:00 X:40 Y:00 P:67 SP:FB CYC:111 SL:66
E04C 30 08 BMI $E056 A:6A X:40 Y:00 P:24 SP:FB CYC:123 SL:66
E04E B0 06 BCS $E056 A:6A X:40 Y:00 P:24 SP:FB CYC:129 SL:66
E050 C9 6A CMP #$6A A:6A X:40 Y:00 P:24 SP:FB CYC:135 SL:66
E052 D0 02 BNE $E056 A:6A X:40 Y:00 P:27 SP:FB CYC:141 SL:66
E054 50 02 BVC $E058 A:6A X:40 Y:00 P:27 SP:FB CYC:147 SL:66
E058 E8 INX A:6A X:40 Y:00 P:27 SP:FB CYC:156 SL:66
E059 38 SEC A:6A X:41 Y:00 P:25 SP:FB CYC:162 SL:66
E05A B8 CLV A:6A X:41 Y:00 P:25 SP:FB CYC:168 SL:66
E05B A9 7F LDA #$7F A:6A X:41 Y:00 P:25 SP:FB CYC:174 SL:66
E05D 8D 00 04 STA $0400 = 69 A:7F X:41 Y:00 P:25 SP:FB CYC:180 SL:66
E060 79 00 04 ADC $0400,Y @ 0400 = 7F A:7F X:41 Y:00 P:25 SP:FB CYC:192 SL:66
E063 10 08 BPL $E06D A:FF X:41 Y:00 P:E4 SP:FB CYC:204 SL:66
E065 B0 06 BCS $E06D A:FF X:41 Y:00 P:E4 SP:FB CYC:210 SL:66
E067 C9 FF CMP #$FF A:FF X:41 Y:00 P:E4 SP:FB CYC:216 SL:66
E069 D0 02 BNE $E06D A:FF X:41 Y:00 P:67 SP:FB CYC:222 SL:66
E06B 70 02 BVS $E06F A:FF X:41 Y:00 P:67 SP:FB CYC:228 SL:66
E06F E8 INX A:FF X:41 Y:00 P:67 SP:FB CYC:237 SL:66
E070 18 CLC A:FF X:42 Y:00 P:65 SP:FB CYC:243 SL:66
E071 24 01 BIT $01 = FF A:FF X:42 Y:00 P:64 SP:FB CYC:249 SL:66
E073 A9 80 LDA #$80 A:FF X:42 Y:00 P:E4 SP:FB CYC:258 SL:66
E075 8D 00 04 STA $0400 = 7F A:80 X:42 Y:00 P:E4 SP:FB CYC:264 SL:66
E078 A9 7F LDA #$7F A:80 X:42 Y:00 P:E4 SP:FB CYC:276 SL:66
E07A 79 00 04 ADC $0400,Y @ 0400 = 80 A:7F X:42 Y:00 P:64 SP:FB CYC:282 SL:66
E07D 10 08 BPL $E087 A:FF X:42 Y:00 P:A4 SP:FB CYC:294 SL:66
E07F B0 06 BCS $E087 A:FF X:42 Y:00 P:A4 SP:FB CYC:300 SL:66
E081 C9 FF CMP #$FF A:FF X:42 Y:00 P:A4 SP:FB CYC:306 SL:66
E083 D0 02 BNE $E087 A:FF X:42 Y:00 P:27 SP:FB CYC:312 SL:66
E085 50 02 BVC $E089 A:FF X:42 Y:00 P:27 SP:FB CYC:318 SL:66
E089 E8 INX A:FF X:42 Y:00 P:27 SP:FB CYC:327 SL:66
E08A 38 SEC A:FF X:43 Y:00 P:25 SP:FB CYC:333 SL:66
E08B B8 CLV A:FF X:43 Y:00 P:25 SP:FB CYC:339 SL:66
E08C A9 80 LDA #$80 A:FF X:43 Y:00 P:25 SP:FB CYC: 4 SL:67
E08E 8D 00 04 STA $0400 = 80 A:80 X:43 Y:00 P:A5 SP:FB CYC: 10 SL:67
E091 A9 7F LDA #$7F A:80 X:43 Y:00 P:A5 SP:FB CYC: 22 SL:67
E093 79 00 04 ADC $0400,Y @ 0400 = 80 A:7F X:43 Y:00 P:25 SP:FB CYC: 28 SL:67
E096 D0 06 BNE $E09E A:00 X:43 Y:00 P:27 SP:FB CYC: 40 SL:67
E098 30 04 BMI $E09E A:00 X:43 Y:00 P:27 SP:FB CYC: 46 SL:67
E09A 70 02 BVS $E09E A:00 X:43 Y:00 P:27 SP:FB CYC: 52 SL:67
E09C B0 02 BCS $E0A0 A:00 X:43 Y:00 P:27 SP:FB CYC: 58 SL:67
E0A0 E8 INX A:00 X:43 Y:00 P:27 SP:FB CYC: 67 SL:67
E0A1 24 01 BIT $01 = FF A:00 X:44 Y:00 P:25 SP:FB CYC: 73 SL:67
E0A3 A9 40 LDA #$40 A:00 X:44 Y:00 P:E7 SP:FB CYC: 82 SL:67
E0A5 8D 00 04 STA $0400 = 80 A:40 X:44 Y:00 P:65 SP:FB CYC: 88 SL:67
E0A8 D9 00 04 CMP $0400,Y @ 0400 = 40 A:40 X:44 Y:00 P:65 SP:FB CYC:100 SL:67
E0AB 30 06 BMI $E0B3 A:40 X:44 Y:00 P:67 SP:FB CYC:112 SL:67
E0AD 90 04 BCC $E0B3 A:40 X:44 Y:00 P:67 SP:FB CYC:118 SL:67
E0AF D0 02 BNE $E0B3 A:40 X:44 Y:00 P:67 SP:FB CYC:124 SL:67
E0B1 70 02 BVS $E0B5 A:40 X:44 Y:00 P:67 SP:FB CYC:130 SL:67
E0B5 E8 INX A:40 X:44 Y:00 P:67 SP:FB CYC:139 SL:67
E0B6 B8 CLV A:40 X:45 Y:00 P:65 SP:FB CYC:145 SL:67
E0B7 CE 00 04 DEC $0400 = 40 A:40 X:45 Y:00 P:25 SP:FB CYC:151 SL:67
E0BA D9 00 04 CMP $0400,Y @ 0400 = 3F A:40 X:45 Y:00 P:25 SP:FB CYC:169 SL:67
E0BD F0 06 BEQ $E0C5 A:40 X:45 Y:00 P:25 SP:FB CYC:181 SL:67
E0BF 30 04 BMI $E0C5 A:40 X:45 Y:00 P:25 SP:FB CYC:187 SL:67
E0C1 90 02 BCC $E0C5 A:40 X:45 Y:00 P:25 SP:FB CYC:193 SL:67
E0C3 50 02 BVC $E0C7 A:40 X:45 Y:00 P:25 SP:FB CYC:199 SL:67
E0C7 E8 INX A:40 X:45 Y:00 P:25 SP:FB CYC:208 SL:67
E0C8 EE 00 04 INC $0400 = 3F A:40 X:46 Y:00 P:25 SP:FB CYC:214 SL:67
E0CB EE 00 04 INC $0400 = 40 A:40 X:46 Y:00 P:25 SP:FB CYC:232 SL:67
E0CE D9 00 04 CMP $0400,Y @ 0400 = 41 A:40 X:46 Y:00 P:25 SP:FB CYC:250 SL:67
E0D1 F0 02 BEQ $E0D5 A:40 X:46 Y:00 P:A4 SP:FB CYC:262 SL:67
E0D3 30 02 BMI $E0D7 A:40 X:46 Y:00 P:A4 SP:FB CYC:268 SL:67
E0D7 E8 INX A:40 X:46 Y:00 P:A4 SP:FB CYC:277 SL:67
E0D8 A9 00 LDA #$00 A:40 X:47 Y:00 P:24 SP:FB CYC:283 SL:67
E0DA 8D 00 04 STA $0400 = 41 A:00 X:47 Y:00 P:26 SP:FB CYC:289 SL:67
E0DD A9 80 LDA #$80 A:00 X:47 Y:00 P:26 SP:FB CYC:301 SL:67
E0DF D9 00 04 CMP $0400,Y @ 0400 = 00 A:80 X:47 Y:00 P:A4 SP:FB CYC:307 SL:67
E0E2 F0 04 BEQ $E0E8 A:80 X:47 Y:00 P:A5 SP:FB CYC:319 SL:67
E0E4 10 02 BPL $E0E8 A:80 X:47 Y:00 P:A5 SP:FB CYC:325 SL:67
E0E6 B0 02 BCS $E0EA A:80 X:47 Y:00 P:A5 SP:FB CYC:331 SL:67
E0EA E8 INX A:80 X:47 Y:00 P:A5 SP:FB CYC:340 SL:67
E0EB A0 80 LDY #$80 A:80 X:48 Y:00 P:25 SP:FB CYC: 5 SL:68
E0ED 8C 00 04 STY $0400 = 00 A:80 X:48 Y:80 P:A5 SP:FB CYC: 11 SL:68
E0F0 A0 00 LDY #$00 A:80 X:48 Y:80 P:A5 SP:FB CYC: 23 SL:68
E0F2 D9 00 04 CMP $0400,Y @ 0400 = 80 A:80 X:48 Y:00 P:27 SP:FB CYC: 29 SL:68
E0F5 D0 04 BNE $E0FB A:80 X:48 Y:00 P:27 SP:FB CYC: 41 SL:68
E0F7 30 02 BMI $E0FB A:80 X:48 Y:00 P:27 SP:FB CYC: 47 SL:68
E0F9 B0 02 BCS $E0FD A:80 X:48 Y:00 P:27 SP:FB CYC: 53 SL:68
E0FD E8 INX A:80 X:48 Y:00 P:27 SP:FB CYC: 62 SL:68
E0FE EE 00 04 INC $0400 = 80 A:80 X:49 Y:00 P:25 SP:FB CYC: 68 SL:68
E101 D9 00 04 CMP $0400,Y @ 0400 = 81 A:80 X:49 Y:00 P:A5 SP:FB CYC: 86 SL:68
E104 B0 04 BCS $E10A A:80 X:49 Y:00 P:A4 SP:FB CYC: 98 SL:68
E106 F0 02 BEQ $E10A A:80 X:49 Y:00 P:A4 SP:FB CYC:104 SL:68
E108 30 02 BMI $E10C A:80 X:49 Y:00 P:A4 SP:FB CYC:110 SL:68
E10C E8 INX A:80 X:49 Y:00 P:A4 SP:FB CYC:119 SL:68
E10D CE 00 04 DEC $0400 = 81 A:80 X:4A Y:00 P:24 SP:FB CYC:125 SL:68
E110 CE 00 04 DEC $0400 = 80 A:80 X:4A Y:00 P:A4 SP:FB CYC:143 SL:68
E113 D9 00 04 CMP $0400,Y @ 0400 = 7F A:80 X:4A Y:00 P:24 SP:FB CYC:161 SL:68
E116 90 04 BCC $E11C A:80 X:4A Y:00 P:25 SP:FB CYC:173 SL:68
E118 F0 02 BEQ $E11C A:80 X:4A Y:00 P:25 SP:FB CYC:179 SL:68
E11A 10 02 BPL $E11E A:80 X:4A Y:00 P:25 SP:FB CYC:185 SL:68
E11E E8 INX A:80 X:4A Y:00 P:25 SP:FB CYC:194 SL:68
E11F 24 01 BIT $01 = FF A:80 X:4B Y:00 P:25 SP:FB CYC:200 SL:68
E121 A9 40 LDA #$40 A:80 X:4B Y:00 P:E5 SP:FB CYC:209 SL:68
E123 8D 00 04 STA $0400 = 7F A:40 X:4B Y:00 P:65 SP:FB CYC:215 SL:68
E126 38 SEC A:40 X:4B Y:00 P:65 SP:FB CYC:227 SL:68
E127 F9 00 04 SBC $0400,Y @ 0400 = 40 A:40 X:4B Y:00 P:65 SP:FB CYC:233 SL:68
E12A 30 0A BMI $E136 A:00 X:4B Y:00 P:27 SP:FB CYC:245 SL:68
E12C 90 08 BCC $E136 A:00 X:4B Y:00 P:27 SP:FB CYC:251 SL:68
E12E D0 06 BNE $E136 A:00 X:4B Y:00 P:27 SP:FB CYC:257 SL:68
E130 70 04 BVS $E136 A:00 X:4B Y:00 P:27 SP:FB CYC:263 SL:68
E132 C9 00 CMP #$00 A:00 X:4B Y:00 P:27 SP:FB CYC:269 SL:68
E134 F0 02 BEQ $E138 A:00 X:4B Y:00 P:27 SP:FB CYC:275 SL:68
E138 E8 INX A:00 X:4B Y:00 P:27 SP:FB CYC:284 SL:68
E139 B8 CLV A:00 X:4C Y:00 P:25 SP:FB CYC:290 SL:68
E13A 38 SEC A:00 X:4C Y:00 P:25 SP:FB CYC:296 SL:68
E13B A9 40 LDA #$40 A:00 X:4C Y:00 P:25 SP:FB CYC:302 SL:68
E13D CE 00 04 DEC $0400 = 40 A:40 X:4C Y:00 P:25 SP:FB CYC:308 SL:68
E140 F9 00 04 SBC $0400,Y @ 0400 = 3F A:40 X:4C Y:00 P:25 SP:FB CYC:326 SL:68
E143 F0 0A BEQ $E14F A:01 X:4C Y:00 P:25 SP:FB CYC:338 SL:68
E145 30 08 BMI $E14F A:01 X:4C Y:00 P:25 SP:FB CYC: 3 SL:69
E147 90 06 BCC $E14F A:01 X:4C Y:00 P:25 SP:FB CYC: 9 SL:69
E149 70 04 BVS $E14F A:01 X:4C Y:00 P:25 SP:FB CYC: 15 SL:69
E14B C9 01 CMP #$01 A:01 X:4C Y:00 P:25 SP:FB CYC: 21 SL:69
E14D F0 02 BEQ $E151 A:01 X:4C Y:00 P:27 SP:FB CYC: 27 SL:69
E151 E8 INX A:01 X:4C Y:00 P:27 SP:FB CYC: 36 SL:69
E152 A9 40 LDA #$40 A:01 X:4D Y:00 P:25 SP:FB CYC: 42 SL:69
E154 38 SEC A:40 X:4D Y:00 P:25 SP:FB CYC: 48 SL:69
E155 24 01 BIT $01 = FF A:40 X:4D Y:00 P:25 SP:FB CYC: 54 SL:69
E157 EE 00 04 INC $0400 = 3F A:40 X:4D Y:00 P:E5 SP:FB CYC: 63 SL:69
E15A EE 00 04 INC $0400 = 40 A:40 X:4D Y:00 P:65 SP:FB CYC: 81 SL:69
E15D F9 00 04 SBC $0400,Y @ 0400 = 41 A:40 X:4D Y:00 P:65 SP:FB CYC: 99 SL:69
E160 B0 0A BCS $E16C A:FF X:4D Y:00 P:A4 SP:FB CYC:111 SL:69
E162 F0 08 BEQ $E16C A:FF X:4D Y:00 P:A4 SP:FB CYC:117 SL:69
E164 10 06 BPL $E16C A:FF X:4D Y:00 P:A4 SP:FB CYC:123 SL:69
E166 70 04 BVS $E16C A:FF X:4D Y:00 P:A4 SP:FB CYC:129 SL:69
E168 C9 FF CMP #$FF A:FF X:4D Y:00 P:A4 SP:FB CYC:135 SL:69
E16A F0 02 BEQ $E16E A:FF X:4D Y:00 P:27 SP:FB CYC:141 SL:69
E16E E8 INX A:FF X:4D Y:00 P:27 SP:FB CYC:150 SL:69
E16F 18 CLC A:FF X:4E Y:00 P:25 SP:FB CYC:156 SL:69
E170 A9 00 LDA #$00 A:FF X:4E Y:00 P:24 SP:FB CYC:162 SL:69
E172 8D 00 04 STA $0400 = 41 A:00 X:4E Y:00 P:26 SP:FB CYC:168 SL:69
E175 A9 80 LDA #$80 A:00 X:4E Y:00 P:26 SP:FB CYC:180 SL:69
E177 F9 00 04 SBC $0400,Y @ 0400 = 00 A:80 X:4E Y:00 P:A4 SP:FB CYC:186 SL:69
E17A 90 04 BCC $E180 A:7F X:4E Y:00 P:65 SP:FB CYC:198 SL:69
E17C C9 7F CMP #$7F A:7F X:4E Y:00 P:65 SP:FB CYC:204 SL:69
E17E F0 02 BEQ $E182 A:7F X:4E Y:00 P:67 SP:FB CYC:210 SL:69
E182 E8 INX A:7F X:4E Y:00 P:67 SP:FB CYC:219 SL:69
E183 38 SEC A:7F X:4F Y:00 P:65 SP:FB CYC:225 SL:69
E184 A9 7F LDA #$7F A:7F X:4F Y:00 P:65 SP:FB CYC:231 SL:69
E186 8D 00 04 STA $0400 = 00 A:7F X:4F Y:00 P:65 SP:FB CYC:237 SL:69
E189 A9 81 LDA #$81 A:7F X:4F Y:00 P:65 SP:FB CYC:249 SL:69
E18B F9 00 04 SBC $0400,Y @ 0400 = 7F A:81 X:4F Y:00 P:E5 SP:FB CYC:255 SL:69
E18E 50 06 BVC $E196 A:02 X:4F Y:00 P:65 SP:FB CYC:267 SL:69
E190 90 04 BCC $E196 A:02 X:4F Y:00 P:65 SP:FB CYC:273 SL:69
E192 C9 02 CMP #$02 A:02 X:4F Y:00 P:65 SP:FB CYC:279 SL:69
E194 F0 02 BEQ $E198 A:02 X:4F Y:00 P:67 SP:FB CYC:285 SL:69
E198 E8 INX A:02 X:4F Y:00 P:67 SP:FB CYC:294 SL:69
E199 A9 00 LDA #$00 A:02 X:50 Y:00 P:65 SP:FB CYC:300 SL:69
E19B A9 87 LDA #$87 A:00 X:50 Y:00 P:67 SP:FB CYC:306 SL:69
E19D 99 00 04 STA $0400,Y @ 0400 = 7F A:87 X:50 Y:00 P:E5 SP:FB CYC:312 SL:69
E1A0 AD 00 04 LDA $0400 = 87 A:87 X:50 Y:00 P:E5 SP:FB CYC:327 SL:69
E1A3 C9 87 CMP #$87 A:87 X:50 Y:00 P:E5 SP:FB CYC:339 SL:69
E1A5 F0 02 BEQ $E1A9 A:87 X:50 Y:00 P:67 SP:FB CYC: 4 SL:70
E1A9 60 RTS A:87 X:50 Y:00 P:67 SP:FB CYC: 13 SL:70
C629 20 B8 DB JSR $DBB8 A:87 X:50 Y:00 P:67 SP:FD CYC: 31 SL:70
DBB8 A9 FF LDA #$FF A:87 X:50 Y:00 P:67 SP:FB CYC: 49 SL:70
DBBA 85 01 STA $01 = FF A:FF X:50 Y:00 P:E5 SP:FB CYC: 55 SL:70
DBBC A9 AA LDA #$AA A:FF X:50 Y:00 P:E5 SP:FB CYC: 64 SL:70
DBBE 85 33 STA $33 = A3 A:AA X:50 Y:00 P:E5 SP:FB CYC: 70 SL:70
DBC0 A9 BB LDA #$BB A:AA X:50 Y:00 P:E5 SP:FB CYC: 79 SL:70
DBC2 85 89 STA $89 = 00 A:BB X:50 Y:00 P:E5 SP:FB CYC: 85 SL:70
DBC4 A2 00 LDX #$00 A:BB X:50 Y:00 P:E5 SP:FB CYC: 94 SL:70
DBC6 A9 66 LDA #$66 A:BB X:00 Y:00 P:67 SP:FB CYC:100 SL:70
DBC8 24 01 BIT $01 = FF A:66 X:00 Y:00 P:65 SP:FB CYC:106 SL:70
DBCA 38 SEC A:66 X:00 Y:00 P:E5 SP:FB CYC:115 SL:70
DBCB A0 00 LDY #$00 A:66 X:00 Y:00 P:E5 SP:FB CYC:121 SL:70
DBCD B4 33 LDY $33,X @ 33 = AA A:66 X:00 Y:00 P:67 SP:FB CYC:127 SL:70
DBCF 10 12 BPL $DBE3 A:66 X:00 Y:AA P:E5 SP:FB CYC:139 SL:70
DBD1 F0 10 BEQ $DBE3 A:66 X:00 Y:AA P:E5 SP:FB CYC:145 SL:70
DBD3 50 0E BVC $DBE3 A:66 X:00 Y:AA P:E5 SP:FB CYC:151 SL:70
DBD5 90 0C BCC $DBE3 A:66 X:00 Y:AA P:E5 SP:FB CYC:157 SL:70
DBD7 C9 66 CMP #$66 A:66 X:00 Y:AA P:E5 SP:FB CYC:163 SL:70
DBD9 D0 08 BNE $DBE3 A:66 X:00 Y:AA P:67 SP:FB CYC:169 SL:70
DBDB E0 00 CPX #$00 A:66 X:00 Y:AA P:67 SP:FB CYC:175 SL:70
DBDD D0 04 BNE $DBE3 A:66 X:00 Y:AA P:67 SP:FB CYC:181 SL:70
DBDF C0 AA CPY #$AA A:66 X:00 Y:AA P:67 SP:FB CYC:187 SL:70
DBE1 F0 04 BEQ $DBE7 A:66 X:00 Y:AA P:67 SP:FB CYC:193 SL:70
DBE7 A2 8A LDX #$8A A:66 X:00 Y:AA P:67 SP:FB CYC:202 SL:70
DBE9 A9 66 LDA #$66 A:66 X:8A Y:AA P:E5 SP:FB CYC:208 SL:70
DBEB B8 CLV A:66 X:8A Y:AA P:65 SP:FB CYC:214 SL:70
DBEC 18 CLC A:66 X:8A Y:AA P:25 SP:FB CYC:220 SL:70
DBED A0 00 LDY #$00 A:66 X:8A Y:AA P:24 SP:FB CYC:226 SL:70
DBEF B4 FF LDY $FF,X @ 89 = BB A:66 X:8A Y:00 P:26 SP:FB CYC:232 SL:70
DBF1 10 12 BPL $DC05 A:66 X:8A Y:BB P:A4 SP:FB CYC:244 SL:70
DBF3 F0 10 BEQ $DC05 A:66 X:8A Y:BB P:A4 SP:FB CYC:250 SL:70
DBF5 70 0E BVS $DC05 A:66 X:8A Y:BB P:A4 SP:FB CYC:256 SL:70
DBF7 B0 0C BCS $DC05 A:66 X:8A Y:BB P:A4 SP:FB CYC:262 SL:70
DBF9 C0 BB CPY #$BB A:66 X:8A Y:BB P:A4 SP:FB CYC:268 SL:70
DBFB D0 08 BNE $DC05 A:66 X:8A Y:BB P:27 SP:FB CYC:274 SL:70
DBFD C9 66 CMP #$66 A:66 X:8A Y:BB P:27 SP:FB CYC:280 SL:70
DBFF D0 04 BNE $DC05 A:66 X:8A Y:BB P:27 SP:FB CYC:286 SL:70
DC01 E0 8A CPX #$8A A:66 X:8A Y:BB P:27 SP:FB CYC:292 SL:70
DC03 F0 04 BEQ $DC09 A:66 X:8A Y:BB P:27 SP:FB CYC:298 SL:70
DC09 24 01 BIT $01 = FF A:66 X:8A Y:BB P:27 SP:FB CYC:307 SL:70
DC0B 38 SEC A:66 X:8A Y:BB P:E5 SP:FB CYC:316 SL:70
DC0C A0 44 LDY #$44 A:66 X:8A Y:BB P:E5 SP:FB CYC:322 SL:70
DC0E A2 00 LDX #$00 A:66 X:8A Y:44 P:65 SP:FB CYC:328 SL:70
DC10 94 33 STY $33,X @ 33 = AA A:66 X:00 Y:44 P:67 SP:FB CYC:334 SL:70
DC12 A5 33 LDA $33 = 44 A:66 X:00 Y:44 P:67 SP:FB CYC: 5 SL:71
DC14 90 18 BCC $DC2E A:44 X:00 Y:44 P:65 SP:FB CYC: 14 SL:71
DC16 C9 44 CMP #$44 A:44 X:00 Y:44 P:65 SP:FB CYC: 20 SL:71
DC18 D0 14 BNE $DC2E A:44 X:00 Y:44 P:67 SP:FB CYC: 26 SL:71
DC1A 50 12 BVC $DC2E A:44 X:00 Y:44 P:67 SP:FB CYC: 32 SL:71
DC1C 18 CLC A:44 X:00 Y:44 P:67 SP:FB CYC: 38 SL:71
DC1D B8 CLV A:44 X:00 Y:44 P:66 SP:FB CYC: 44 SL:71
DC1E A0 99 LDY #$99 A:44 X:00 Y:44 P:26 SP:FB CYC: 50 SL:71
DC20 A2 80 LDX #$80 A:44 X:00 Y:99 P:A4 SP:FB CYC: 56 SL:71
DC22 94 85 STY $85,X @ 05 = 00 A:44 X:80 Y:99 P:A4 SP:FB CYC: 62 SL:71
DC24 A5 05 LDA $05 = 99 A:44 X:80 Y:99 P:A4 SP:FB CYC: 74 SL:71
DC26 B0 06 BCS $DC2E A:99 X:80 Y:99 P:A4 SP:FB CYC: 83 SL:71
DC28 C9 99 CMP #$99 A:99 X:80 Y:99 P:A4 SP:FB CYC: 89 SL:71
DC2A D0 02 BNE $DC2E A:99 X:80 Y:99 P:27 SP:FB CYC: 95 SL:71
DC2C 50 04 BVC $DC32 A:99 X:80 Y:99 P:27 SP:FB CYC:101 SL:71
DC32 A0 0B LDY #$0B A:99 X:80 Y:99 P:27 SP:FB CYC:110 SL:71
DC34 A9 AA LDA #$AA A:99 X:80 Y:0B P:25 SP:FB CYC:116 SL:71
DC36 A2 78 LDX #$78 A:AA X:80 Y:0B P:A5 SP:FB CYC:122 SL:71
DC38 85 78 STA $78 = 00 A:AA X:78 Y:0B P:25 SP:FB CYC:128 SL:71
DC3A 20 B6 F7 JSR $F7B6 A:AA X:78 Y:0B P:25 SP:FB CYC:137 SL:71
F7B6 18 CLC A:AA X:78 Y:0B P:25 SP:F9 CYC:155 SL:71
F7B7 A9 FF LDA #$FF A:AA X:78 Y:0B P:24 SP:F9 CYC:161 SL:71
F7B9 85 01 STA $01 = FF A:FF X:78 Y:0B P:A4 SP:F9 CYC:167 SL:71
F7BB 24 01 BIT $01 = FF A:FF X:78 Y:0B P:A4 SP:F9 CYC:176 SL:71
F7BD A9 55 LDA #$55 A:FF X:78 Y:0B P:E4 SP:F9 CYC:185 SL:71
F7BF 60 RTS A:55 X:78 Y:0B P:64 SP:F9 CYC:191 SL:71
DC3D 15 00 ORA $00,X @ 78 = AA A:55 X:78 Y:0B P:64 SP:FB CYC:209 SL:71
DC3F 20 C0 F7 JSR $F7C0 A:FF X:78 Y:0B P:E4 SP:FB CYC:221 SL:71
F7C0 B0 09 BCS $F7CB A:FF X:78 Y:0B P:E4 SP:F9 CYC:239 SL:71
F7C2 10 07 BPL $F7CB A:FF X:78 Y:0B P:E4 SP:F9 CYC:245 SL:71
F7C4 C9 FF CMP #$FF A:FF X:78 Y:0B P:E4 SP:F9 CYC:251 SL:71
F7C6 D0 03 BNE $F7CB A:FF X:78 Y:0B P:67 SP:F9 CYC:257 SL:71
F7C8 50 01 BVC $F7CB A:FF X:78 Y:0B P:67 SP:F9 CYC:263 SL:71
F7CA 60 RTS A:FF X:78 Y:0B P:67 SP:F9 CYC:269 SL:71
DC42 C8 INY A:FF X:78 Y:0B P:67 SP:FB CYC:287 SL:71
DC43 A9 00 LDA #$00 A:FF X:78 Y:0C P:65 SP:FB CYC:293 SL:71
DC45 85 78 STA $78 = AA A:00 X:78 Y:0C P:67 SP:FB CYC:299 SL:71
DC47 20 CE F7 JSR $F7CE A:00 X:78 Y:0C P:67 SP:FB CYC:308 SL:71
F7CE 38 SEC A:00 X:78 Y:0C P:67 SP:F9 CYC:326 SL:71
F7CF B8 CLV A:00 X:78 Y:0C P:67 SP:F9 CYC:332 SL:71
F7D0 A9 00 LDA #$00 A:00 X:78 Y:0C P:27 SP:F9 CYC:338 SL:71
F7D2 60 RTS A:00 X:78 Y:0C P:27 SP:F9 CYC: 3 SL:72
DC4A 15 00 ORA $00,X @ 78 = 00 A:00 X:78 Y:0C P:27 SP:FB CYC: 21 SL:72
DC4C 20 D3 F7 JSR $F7D3 A:00 X:78 Y:0C P:27 SP:FB CYC: 33 SL:72
F7D3 D0 07 BNE $F7DC A:00 X:78 Y:0C P:27 SP:F9 CYC: 51 SL:72
F7D5 70 05 BVS $F7DC A:00 X:78 Y:0C P:27 SP:F9 CYC: 57 SL:72
F7D7 90 03 BCC $F7DC A:00 X:78 Y:0C P:27 SP:F9 CYC: 63 SL:72
F7D9 30 01 BMI $F7DC A:00 X:78 Y:0C P:27 SP:F9 CYC: 69 SL:72
F7DB 60 RTS A:00 X:78 Y:0C P:27 SP:F9 CYC: 75 SL:72
DC4F C8 INY A:00 X:78 Y:0C P:27 SP:FB CYC: 93 SL:72
DC50 A9 AA LDA #$AA A:00 X:78 Y:0D P:25 SP:FB CYC: 99 SL:72
DC52 85 78 STA $78 = 00 A:AA X:78 Y:0D P:A5 SP:FB CYC:105 SL:72
DC54 20 DF F7 JSR $F7DF A:AA X:78 Y:0D P:A5 SP:FB CYC:114 SL:72
F7DF 18 CLC A:AA X:78 Y:0D P:A5 SP:F9 CYC:132 SL:72
F7E0 24 01 BIT $01 = FF A:AA X:78 Y:0D P:A4 SP:F9 CYC:138 SL:72
F7E2 A9 55 LDA #$55 A:AA X:78 Y:0D P:E4 SP:F9 CYC:147 SL:72
F7E4 60 RTS A:55 X:78 Y:0D P:64 SP:F9 CYC:153 SL:72
DC57 35 00 AND $00,X @ 78 = AA A:55 X:78 Y:0D P:64 SP:FB CYC:171 SL:72
DC59 20 E5 F7 JSR $F7E5 A:00 X:78 Y:0D P:66 SP:FB CYC:183 SL:72
F7E5 D0 07 BNE $F7EE A:00 X:78 Y:0D P:66 SP:F9 CYC:201 SL:72
F7E7 50 05 BVC $F7EE A:00 X:78 Y:0D P:66 SP:F9 CYC:207 SL:72
F7E9 B0 03 BCS $F7EE A:00 X:78 Y:0D P:66 SP:F9 CYC:213 SL:72
F7EB 30 01 BMI $F7EE A:00 X:78 Y:0D P:66 SP:F9 CYC:219 SL:72
F7ED 60 RTS A:00 X:78 Y:0D P:66 SP:F9 CYC:225 SL:72
DC5C C8 INY A:00 X:78 Y:0D P:66 SP:FB CYC:243 SL:72
DC5D A9 EF LDA #$EF A:00 X:78 Y:0E P:64 SP:FB CYC:249 SL:72
DC5F 85 78 STA $78 = AA A:EF X:78 Y:0E P:E4 SP:FB CYC:255 SL:72
DC61 20 F1 F7 JSR $F7F1 A:EF X:78 Y:0E P:E4 SP:FB CYC:264 SL:72
F7F1 38 SEC A:EF X:78 Y:0E P:E4 SP:F9 CYC:282 SL:72
F7F2 B8 CLV A:EF X:78 Y:0E P:E5 SP:F9 CYC:288 SL:72
F7F3 A9 F8 LDA #$F8 A:EF X:78 Y:0E P:A5 SP:F9 CYC:294 SL:72
F7F5 60 RTS A:F8 X:78 Y:0E P:A5 SP:F9 CYC:300 SL:72
DC64 35 00 AND $00,X @ 78 = EF A:F8 X:78 Y:0E P:A5 SP:FB CYC:318 SL:72
DC66 20 F6 F7 JSR $F7F6 A:E8 X:78 Y:0E P:A5 SP:FB CYC:330 SL:72
F7F6 90 09 BCC $F801 A:E8 X:78 Y:0E P:A5 SP:F9 CYC: 7 SL:73
F7F8 10 07 BPL $F801 A:E8 X:78 Y:0E P:A5 SP:F9 CYC: 13 SL:73
F7FA C9 E8 CMP #$E8 A:E8 X:78 Y:0E P:A5 SP:F9 CYC: 19 SL:73
F7FC D0 03 BNE $F801 A:E8 X:78 Y:0E P:27 SP:F9 CYC: 25 SL:73
F7FE 70 01 BVS $F801 A:E8 X:78 Y:0E P:27 SP:F9 CYC: 31 SL:73
F800 60 RTS A:E8 X:78 Y:0E P:27 SP:F9 CYC: 37 SL:73
DC69 C8 INY A:E8 X:78 Y:0E P:27 SP:FB CYC: 55 SL:73
DC6A A9 AA LDA #$AA A:E8 X:78 Y:0F P:25 SP:FB CYC: 61 SL:73
DC6C 85 78 STA $78 = EF A:AA X:78 Y:0F P:A5 SP:FB CYC: 67 SL:73
DC6E 20 04 F8 JSR $F804 A:AA X:78 Y:0F P:A5 SP:FB CYC: 76 SL:73
F804 18 CLC A:AA X:78 Y:0F P:A5 SP:F9 CYC: 94 SL:73
F805 24 01 BIT $01 = FF A:AA X:78 Y:0F P:A4 SP:F9 CYC:100 SL:73
F807 A9 5F LDA #$5F A:AA X:78 Y:0F P:E4 SP:F9 CYC:109 SL:73
F809 60 RTS A:5F X:78 Y:0F P:64 SP:F9 CYC:115 SL:73
DC71 55 00 EOR $00,X @ 78 = AA A:5F X:78 Y:0F P:64 SP:FB CYC:133 SL:73
DC73 20 0A F8 JSR $F80A A:F5 X:78 Y:0F P:E4 SP:FB CYC:145 SL:73
F80A B0 09 BCS $F815 A:F5 X:78 Y:0F P:E4 SP:F9 CYC:163 SL:73
F80C 10 07 BPL $F815 A:F5 X:78 Y:0F P:E4 SP:F9 CYC:169 SL:73
F80E C9 F5 CMP #$F5 A:F5 X:78 Y:0F P:E4 SP:F9 CYC:175 SL:73
F810 D0 03 BNE $F815 A:F5 X:78 Y:0F P:67 SP:F9 CYC:181 SL:73
F812 50 01 BVC $F815 A:F5 X:78 Y:0F P:67 SP:F9 CYC:187 SL:73
F814 60 RTS A:F5 X:78 Y:0F P:67 SP:F9 CYC:193 SL:73
DC76 C8 INY A:F5 X:78 Y:0F P:67 SP:FB CYC:211 SL:73
DC77 A9 70 LDA #$70 A:F5 X:78 Y:10 P:65 SP:FB CYC:217 SL:73
DC79 85 78 STA $78 = AA A:70 X:78 Y:10 P:65 SP:FB CYC:223 SL:73
DC7B 20 18 F8 JSR $F818 A:70 X:78 Y:10 P:65 SP:FB CYC:232 SL:73
F818 38 SEC A:70 X:78 Y:10 P:65 SP:F9 CYC:250 SL:73
F819 B8 CLV A:70 X:78 Y:10 P:65 SP:F9 CYC:256 SL:73
F81A A9 70 LDA #$70 A:70 X:78 Y:10 P:25 SP:F9 CYC:262 SL:73
F81C 60 RTS A:70 X:78 Y:10 P:25 SP:F9 CYC:268 SL:73
DC7E 55 00 EOR $00,X @ 78 = 70 A:70 X:78 Y:10 P:25 SP:FB CYC:286 SL:73
DC80 20 1D F8 JSR $F81D A:00 X:78 Y:10 P:27 SP:FB CYC:298 SL:73
F81D D0 07 BNE $F826 A:00 X:78 Y:10 P:27 SP:F9 CYC:316 SL:73
F81F 70 05 BVS $F826 A:00 X:78 Y:10 P:27 SP:F9 CYC:322 SL:73
F821 90 03 BCC $F826 A:00 X:78 Y:10 P:27 SP:F9 CYC:328 SL:73
F823 30 01 BMI $F826 A:00 X:78 Y:10 P:27 SP:F9 CYC:334 SL:73
F825 60 RTS A:00 X:78 Y:10 P:27 SP:F9 CYC:340 SL:73
DC83 C8 INY A:00 X:78 Y:10 P:27 SP:FB CYC: 17 SL:74
DC84 A9 69 LDA #$69 A:00 X:78 Y:11 P:25 SP:FB CYC: 23 SL:74
DC86 85 78 STA $78 = 70 A:69 X:78 Y:11 P:25 SP:FB CYC: 29 SL:74
DC88 20 29 F8 JSR $F829 A:69 X:78 Y:11 P:25 SP:FB CYC: 38 SL:74
F829 18 CLC A:69 X:78 Y:11 P:25 SP:F9 CYC: 56 SL:74
F82A 24 01 BIT $01 = FF A:69 X:78 Y:11 P:24 SP:F9 CYC: 62 SL:74
F82C A9 00 LDA #$00 A:69 X:78 Y:11 P:E4 SP:F9 CYC: 71 SL:74
F82E 60 RTS A:00 X:78 Y:11 P:66 SP:F9 CYC: 77 SL:74
DC8B 75 00 ADC $00,X @ 78 = 69 A:00 X:78 Y:11 P:66 SP:FB CYC: 95 SL:74
DC8D 20 2F F8 JSR $F82F A:69 X:78 Y:11 P:24 SP:FB CYC:107 SL:74
F82F 30 09 BMI $F83A A:69 X:78 Y:11 P:24 SP:F9 CYC:125 SL:74
F831 B0 07 BCS $F83A A:69 X:78 Y:11 P:24 SP:F9 CYC:131 SL:74
F833 C9 69 CMP #$69 A:69 X:78 Y:11 P:24 SP:F9 CYC:137 SL:74
F835 D0 03 BNE $F83A A:69 X:78 Y:11 P:27 SP:F9 CYC:143 SL:74
F837 70 01 BVS $F83A A:69 X:78 Y:11 P:27 SP:F9 CYC:149 SL:74
F839 60 RTS A:69 X:78 Y:11 P:27 SP:F9 CYC:155 SL:74
DC90 C8 INY A:69 X:78 Y:11 P:27 SP:FB CYC:173 SL:74
DC91 20 3D F8 JSR $F83D A:69 X:78 Y:12 P:25 SP:FB CYC:179 SL:74
F83D 38 SEC A:69 X:78 Y:12 P:25 SP:F9 CYC:197 SL:74
F83E 24 01 BIT $01 = FF A:69 X:78 Y:12 P:25 SP:F9 CYC:203 SL:74
F840 A9 00 LDA #$00 A:69 X:78 Y:12 P:E5 SP:F9 CYC:212 SL:74
F842 60 RTS A:00 X:78 Y:12 P:67 SP:F9 CYC:218 SL:74
DC94 75 00 ADC $00,X @ 78 = 69 A:00 X:78 Y:12 P:67 SP:FB CYC:236 SL:74
DC96 20 43 F8 JSR $F843 A:6A X:78 Y:12 P:24 SP:FB CYC:248 SL:74
F843 30 09 BMI $F84E A:6A X:78 Y:12 P:24 SP:F9 CYC:266 SL:74
F845 B0 07 BCS $F84E A:6A X:78 Y:12 P:24 SP:F9 CYC:272 SL:74
F847 C9 6A CMP #$6A A:6A X:78 Y:12 P:24 SP:F9 CYC:278 SL:74
F849 D0 03 BNE $F84E A:6A X:78 Y:12 P:27 SP:F9 CYC:284 SL:74
F84B 70 01 BVS $F84E A:6A X:78 Y:12 P:27 SP:F9 CYC:290 SL:74
F84D 60 RTS A:6A X:78 Y:12 P:27 SP:F9 CYC:296 SL:74
DC99 C8 INY A:6A X:78 Y:12 P:27 SP:FB CYC:314 SL:74
DC9A A9 7F LDA #$7F A:6A X:78 Y:13 P:25 SP:FB CYC:320 SL:74
DC9C 85 78 STA $78 = 69 A:7F X:78 Y:13 P:25 SP:FB CYC:326 SL:74
DC9E 20 51 F8 JSR $F851 A:7F X:78 Y:13 P:25 SP:FB CYC:335 SL:74
F851 38 SEC A:7F X:78 Y:13 P:25 SP:F9 CYC: 12 SL:75
F852 B8 CLV A:7F X:78 Y:13 P:25 SP:F9 CYC: 18 SL:75
F853 A9 7F LDA #$7F A:7F X:78 Y:13 P:25 SP:F9 CYC: 24 SL:75
F855 60 RTS A:7F X:78 Y:13 P:25 SP:F9 CYC: 30 SL:75
DCA1 75 00 ADC $00,X @ 78 = 7F A:7F X:78 Y:13 P:25 SP:FB CYC: 48 SL:75
DCA3 20 56 F8 JSR $F856 A:FF X:78 Y:13 P:E4 SP:FB CYC: 60 SL:75
F856 10 09 BPL $F861 A:FF X:78 Y:13 P:E4 SP:F9 CYC: 78 SL:75
F858 B0 07 BCS $F861 A:FF X:78 Y:13 P:E4 SP:F9 CYC: 84 SL:75
F85A C9 FF CMP #$FF A:FF X:78 Y:13 P:E4 SP:F9 CYC: 90 SL:75
F85C D0 03 BNE $F861 A:FF X:78 Y:13 P:67 SP:F9 CYC: 96 SL:75
F85E 50 01 BVC $F861 A:FF X:78 Y:13 P:67 SP:F9 CYC:102 SL:75
F860 60 RTS A:FF X:78 Y:13 P:67 SP:F9 CYC:108 SL:75
DCA6 C8 INY A:FF X:78 Y:13 P:67 SP:FB CYC:126 SL:75
DCA7 A9 80 LDA #$80 A:FF X:78 Y:14 P:65 SP:FB CYC:132 SL:75
DCA9 85 78 STA $78 = 7F A:80 X:78 Y:14 P:E5 SP:FB CYC:138 SL:75
DCAB 20 64 F8 JSR $F864 A:80 X:78 Y:14 P:E5 SP:FB CYC:147 SL:75
F864 18 CLC A:80 X:78 Y:14 P:E5 SP:F9 CYC:165 SL:75
F865 24 01 BIT $01 = FF A:80 X:78 Y:14 P:E4 SP:F9 CYC:171 SL:75
F867 A9 7F LDA #$7F A:80 X:78 Y:14 P:E4 SP:F9 CYC:180 SL:75
F869 60 RTS A:7F X:78 Y:14 P:64 SP:F9 CYC:186 SL:75
DCAE 75 00 ADC $00,X @ 78 = 80 A:7F X:78 Y:14 P:64 SP:FB CYC:204 SL:75
DCB0 20 6A F8 JSR $F86A A:FF X:78 Y:14 P:A4 SP:FB CYC:216 SL:75
F86A 10 09 BPL $F875 A:FF X:78 Y:14 P:A4 SP:F9 CYC:234 SL:75
F86C B0 07 BCS $F875 A:FF X:78 Y:14 P:A4 SP:F9 CYC:240 SL:75
F86E C9 FF CMP #$FF A:FF X:78 Y:14 P:A4 SP:F9 CYC:246 SL:75
F870 D0 03 BNE $F875 A:FF X:78 Y:14 P:27 SP:F9 CYC:252 SL:75
F872 70 01 BVS $F875 A:FF X:78 Y:14 P:27 SP:F9 CYC:258 SL:75
F874 60 RTS A:FF X:78 Y:14 P:27 SP:F9 CYC:264 SL:75
DCB3 C8 INY A:FF X:78 Y:14 P:27 SP:FB CYC:282 SL:75
DCB4 20 78 F8 JSR $F878 A:FF X:78 Y:15 P:25 SP:FB CYC:288 SL:75
F878 38 SEC A:FF X:78 Y:15 P:25 SP:F9 CYC:306 SL:75
F879 B8 CLV A:FF X:78 Y:15 P:25 SP:F9 CYC:312 SL:75
F87A A9 7F LDA #$7F A:FF X:78 Y:15 P:25 SP:F9 CYC:318 SL:75
F87C 60 RTS A:7F X:78 Y:15 P:25 SP:F9 CYC:324 SL:75
DCB7 75 00 ADC $00,X @ 78 = 80 A:7F X:78 Y:15 P:25 SP:FB CYC: 1 SL:76
DCB9 20 7D F8 JSR $F87D A:00 X:78 Y:15 P:27 SP:FB CYC: 13 SL:76
F87D D0 07 BNE $F886 A:00 X:78 Y:15 P:27 SP:F9 CYC: 31 SL:76
F87F 30 05 BMI $F886 A:00 X:78 Y:15 P:27 SP:F9 CYC: 37 SL:76
F881 70 03 BVS $F886 A:00 X:78 Y:15 P:27 SP:F9 CYC: 43 SL:76
F883 90 01 BCC $F886 A:00 X:78 Y:15 P:27 SP:F9 CYC: 49 SL:76
F885 60 RTS A:00 X:78 Y:15 P:27 SP:F9 CYC: 55 SL:76
DCBC C8 INY A:00 X:78 Y:15 P:27 SP:FB CYC: 73 SL:76
DCBD A9 40 LDA #$40 A:00 X:78 Y:16 P:25 SP:FB CYC: 79 SL:76
DCBF 85 78 STA $78 = 80 A:40 X:78 Y:16 P:25 SP:FB CYC: 85 SL:76
DCC1 20 89 F8 JSR $F889 A:40 X:78 Y:16 P:25 SP:FB CYC: 94 SL:76
F889 24 01 BIT $01 = FF A:40 X:78 Y:16 P:25 SP:F9 CYC:112 SL:76
F88B A9 40 LDA #$40 A:40 X:78 Y:16 P:E5 SP:F9 CYC:121 SL:76
F88D 60 RTS A:40 X:78 Y:16 P:65 SP:F9 CYC:127 SL:76
DCC4 D5 00 CMP $00,X @ 78 = 40 A:40 X:78 Y:16 P:65 SP:FB CYC:145 SL:76
DCC6 20 8E F8 JSR $F88E A:40 X:78 Y:16 P:67 SP:FB CYC:157 SL:76
F88E 30 07 BMI $F897 A:40 X:78 Y:16 P:67 SP:F9 CYC:175 SL:76
F890 90 05 BCC $F897 A:40 X:78 Y:16 P:67 SP:F9 CYC:181 SL:76
F892 D0 03 BNE $F897 A:40 X:78 Y:16 P:67 SP:F9 CYC:187 SL:76
F894 50 01 BVC $F897 A:40 X:78 Y:16 P:67 SP:F9 CYC:193 SL:76
F896 60 RTS A:40 X:78 Y:16 P:67 SP:F9 CYC:199 SL:76
DCC9 C8 INY A:40 X:78 Y:16 P:67 SP:FB CYC:217 SL:76
DCCA 48 PHA A:40 X:78 Y:17 P:65 SP:FB CYC:223 SL:76
DCCB A9 3F LDA #$3F A:40 X:78 Y:17 P:65 SP:FA CYC:232 SL:76
DCCD 85 78 STA $78 = 40 A:3F X:78 Y:17 P:65 SP:FA CYC:238 SL:76
DCCF 68 PLA A:3F X:78 Y:17 P:65 SP:FA CYC:247 SL:76
DCD0 20 9A F8 JSR $F89A A:40 X:78 Y:17 P:65 SP:FB CYC:259 SL:76
F89A B8 CLV A:40 X:78 Y:17 P:65 SP:F9 CYC:277 SL:76
F89B 60 RTS A:40 X:78 Y:17 P:25 SP:F9 CYC:283 SL:76
DCD3 D5 00 CMP $00,X @ 78 = 3F A:40 X:78 Y:17 P:25 SP:FB CYC:301 SL:76
DCD5 20 9C F8 JSR $F89C A:40 X:78 Y:17 P:25 SP:FB CYC:313 SL:76
F89C F0 07 BEQ $F8A5 A:40 X:78 Y:17 P:25 SP:F9 CYC:331 SL:76
F89E 30 05 BMI $F8A5 A:40 X:78 Y:17 P:25 SP:F9 CYC:337 SL:76
F8A0 90 03 BCC $F8A5 A:40 X:78 Y:17 P:25 SP:F9 CYC: 2 SL:77
F8A2 70 01 BVS $F8A5 A:40 X:78 Y:17 P:25 SP:F9 CYC: 8 SL:77
F8A4 60 RTS A:40 X:78 Y:17 P:25 SP:F9 CYC: 14 SL:77
DCD8 C8 INY A:40 X:78 Y:17 P:25 SP:FB CYC: 32 SL:77
DCD9 48 PHA A:40 X:78 Y:18 P:25 SP:FB CYC: 38 SL:77
DCDA A9 41 LDA #$41 A:40 X:78 Y:18 P:25 SP:FA CYC: 47 SL:77
DCDC 85 78 STA $78 = 3F A:41 X:78 Y:18 P:25 SP:FA CYC: 53 SL:77
DCDE 68 PLA A:41 X:78 Y:18 P:25 SP:FA CYC: 62 SL:77
DCDF D5 00 CMP $00,X @ 78 = 41 A:40 X:78 Y:18 P:25 SP:FB CYC: 74 SL:77
DCE1 20 A8 F8 JSR $F8A8 A:40 X:78 Y:18 P:A4 SP:FB CYC: 86 SL:77
F8A8 F0 05 BEQ $F8AF A:40 X:78 Y:18 P:A4 SP:F9 CYC:104 SL:77
F8AA 10 03 BPL $F8AF A:40 X:78 Y:18 P:A4 SP:F9 CYC:110 SL:77
F8AC 10 01 BPL $F8AF A:40 X:78 Y:18 P:A4 SP:F9 CYC:116 SL:77
F8AE 60 RTS A:40 X:78 Y:18 P:A4 SP:F9 CYC:122 SL:77
DCE4 C8 INY A:40 X:78 Y:18 P:A4 SP:FB CYC:140 SL:77
DCE5 48 PHA A:40 X:78 Y:19 P:24 SP:FB CYC:146 SL:77
DCE6 A9 00 LDA #$00 A:40 X:78 Y:19 P:24 SP:FA CYC:155 SL:77
DCE8 85 78 STA $78 = 41 A:00 X:78 Y:19 P:26 SP:FA CYC:161 SL:77
DCEA 68 PLA A:00 X:78 Y:19 P:26 SP:FA CYC:170 SL:77
DCEB 20 B2 F8 JSR $F8B2 A:40 X:78 Y:19 P:24 SP:FB CYC:182 SL:77
F8B2 A9 80 LDA #$80 A:40 X:78 Y:19 P:24 SP:F9 CYC:200 SL:77
F8B4 60 RTS A:80 X:78 Y:19 P:A4 SP:F9 CYC:206 SL:77
DCEE D5 00 CMP $00,X @ 78 = 00 A:80 X:78 Y:19 P:A4 SP:FB CYC:224 SL:77
DCF0 20 B5 F8 JSR $F8B5 A:80 X:78 Y:19 P:A5 SP:FB CYC:236 SL:77
F8B5 F0 05 BEQ $F8BC A:80 X:78 Y:19 P:A5 SP:F9 CYC:254 SL:77
F8B7 10 03 BPL $F8BC A:80 X:78 Y:19 P:A5 SP:F9 CYC:260 SL:77
F8B9 90 01 BCC $F8BC A:80 X:78 Y:19 P:A5 SP:F9 CYC:266 SL:77
F8BB 60 RTS A:80 X:78 Y:19 P:A5 SP:F9 CYC:272 SL:77
DCF3 C8 INY A:80 X:78 Y:19 P:A5 SP:FB CYC:290 SL:77
DCF4 48 PHA A:80 X:78 Y:1A P:25 SP:FB CYC:296 SL:77
DCF5 A9 80 LDA #$80 A:80 X:78 Y:1A P:25 SP:FA CYC:305 SL:77
DCF7 85 78 STA $78 = 00 A:80 X:78 Y:1A P:A5 SP:FA CYC:311 SL:77
DCF9 68 PLA A:80 X:78 Y:1A P:A5 SP:FA CYC:320 SL:77
DCFA D5 00 CMP $00,X @ 78 = 80 A:80 X:78 Y:1A P:A5 SP:FB CYC:332 SL:77
DCFC 20 BF F8 JSR $F8BF A:80 X:78 Y:1A P:27 SP:FB CYC: 3 SL:78
F8BF D0 05 BNE $F8C6 A:80 X:78 Y:1A P:27 SP:F9 CYC: 21 SL:78
F8C1 30 03 BMI $F8C6 A:80 X:78 Y:1A P:27 SP:F9 CYC: 27 SL:78
F8C3 90 01 BCC $F8C6 A:80 X:78 Y:1A P:27 SP:F9 CYC: 33 SL:78
F8C5 60 RTS A:80 X:78 Y:1A P:27 SP:F9 CYC: 39 SL:78
DCFF C8 INY A:80 X:78 Y:1A P:27 SP:FB CYC: 57 SL:78
DD00 48 PHA A:80 X:78 Y:1B P:25 SP:FB CYC: 63 SL:78
DD01 A9 81 LDA #$81 A:80 X:78 Y:1B P:25 SP:FA CYC: 72 SL:78
DD03 85 78 STA $78 = 80 A:81 X:78 Y:1B P:A5 SP:FA CYC: 78 SL:78
DD05 68 PLA A:81 X:78 Y:1B P:A5 SP:FA CYC: 87 SL:78
DD06 D5 00 CMP $00,X @ 78 = 81 A:80 X:78 Y:1B P:A5 SP:FB CYC: 99 SL:78
DD08 20 C9 F8 JSR $F8C9 A:80 X:78 Y:1B P:A4 SP:FB CYC:111 SL:78
F8C9 B0 05 BCS $F8D0 A:80 X:78 Y:1B P:A4 SP:F9 CYC:129 SL:78
F8CB F0 03 BEQ $F8D0 A:80 X:78 Y:1B P:A4 SP:F9 CYC:135 SL:78
F8CD 10 01 BPL $F8D0 A:80 X:78 Y:1B P:A4 SP:F9 CYC:141 SL:78
F8CF 60 RTS A:80 X:78 Y:1B P:A4 SP:F9 CYC:147 SL:78
DD0B C8 INY A:80 X:78 Y:1B P:A4 SP:FB CYC:165 SL:78
DD0C 48 PHA A:80 X:78 Y:1C P:24 SP:FB CYC:171 SL:78
DD0D A9 7F LDA #$7F A:80 X:78 Y:1C P:24 SP:FA CYC:180 SL:78
DD0F 85 78 STA $78 = 81 A:7F X:78 Y:1C P:24 SP:FA CYC:186 SL:78
DD11 68 PLA A:7F X:78 Y:1C P:24 SP:FA CYC:195 SL:78
DD12 D5 00 CMP $00,X @ 78 = 7F A:80 X:78 Y:1C P:A4 SP:FB CYC:207 SL:78
DD14 20 D3 F8 JSR $F8D3 A:80 X:78 Y:1C P:25 SP:FB CYC:219 SL:78
F8D3 90 05 BCC $F8DA A:80 X:78 Y:1C P:25 SP:F9 CYC:237 SL:78
F8D5 F0 03 BEQ $F8DA A:80 X:78 Y:1C P:25 SP:F9 CYC:243 SL:78
F8D7 30 01 BMI $F8DA A:80 X:78 Y:1C P:25 SP:F9 CYC:249 SL:78
F8D9 60 RTS A:80 X:78 Y:1C P:25 SP:F9 CYC:255 SL:78
DD17 C8 INY A:80 X:78 Y:1C P:25 SP:FB CYC:273 SL:78
DD18 A9 40 LDA #$40 A:80 X:78 Y:1D P:25 SP:FB CYC:279 SL:78
DD1A 85 78 STA $78 = 7F A:40 X:78 Y:1D P:25 SP:FB CYC:285 SL:78
DD1C 20 31 F9 JSR $F931 A:40 X:78 Y:1D P:25 SP:FB CYC:294 SL:78
F931 24 01 BIT $01 = FF A:40 X:78 Y:1D P:25 SP:F9 CYC:312 SL:78
F933 A9 40 LDA #$40 A:40 X:78 Y:1D P:E5 SP:F9 CYC:321 SL:78
F935 38 SEC A:40 X:78 Y:1D P:65 SP:F9 CYC:327 SL:78
F936 60 RTS A:40 X:78 Y:1D P:65 SP:F9 CYC:333 SL:78
DD1F F5 00 SBC $00,X @ 78 = 40 A:40 X:78 Y:1D P:65 SP:FB CYC: 10 SL:79
DD21 20 37 F9 JSR $F937 A:00 X:78 Y:1D P:27 SP:FB CYC: 22 SL:79
F937 30 0B BMI $F944 A:00 X:78 Y:1D P:27 SP:F9 CYC: 40 SL:79
F939 90 09 BCC $F944 A:00 X:78 Y:1D P:27 SP:F9 CYC: 46 SL:79
F93B D0 07 BNE $F944 A:00 X:78 Y:1D P:27 SP:F9 CYC: 52 SL:79
F93D 70 05 BVS $F944 A:00 X:78 Y:1D P:27 SP:F9 CYC: 58 SL:79
F93F C9 00 CMP #$00 A:00 X:78 Y:1D P:27 SP:F9 CYC: 64 SL:79
F941 D0 01 BNE $F944 A:00 X:78 Y:1D P:27 SP:F9 CYC: 70 SL:79
F943 60 RTS A:00 X:78 Y:1D P:27 SP:F9 CYC: 76 SL:79
DD24 C8 INY A:00 X:78 Y:1D P:27 SP:FB CYC: 94 SL:79
DD25 A9 3F LDA #$3F A:00 X:78 Y:1E P:25 SP:FB CYC:100 SL:79
DD27 85 78 STA $78 = 40 A:3F X:78 Y:1E P:25 SP:FB CYC:106 SL:79
DD29 20 47 F9 JSR $F947 A:3F X:78 Y:1E P:25 SP:FB CYC:115 SL:79
F947 B8 CLV A:3F X:78 Y:1E P:25 SP:F9 CYC:133 SL:79
F948 38 SEC A:3F X:78 Y:1E P:25 SP:F9 CYC:139 SL:79
F949 A9 40 LDA #$40 A:3F X:78 Y:1E P:25 SP:F9 CYC:145 SL:79
F94B 60 RTS A:40 X:78 Y:1E P:25 SP:F9 CYC:151 SL:79
DD2C F5 00 SBC $00,X @ 78 = 3F A:40 X:78 Y:1E P:25 SP:FB CYC:169 SL:79
DD2E 20 4C F9 JSR $F94C A:01 X:78 Y:1E P:25 SP:FB CYC:181 SL:79
F94C F0 0B BEQ $F959 A:01 X:78 Y:1E P:25 SP:F9 CYC:199 SL:79
F94E 30 09 BMI $F959 A:01 X:78 Y:1E P:25 SP:F9 CYC:205 SL:79
F950 90 07 BCC $F959 A:01 X:78 Y:1E P:25 SP:F9 CYC:211 SL:79
F952 70 05 BVS $F959 A:01 X:78 Y:1E P:25 SP:F9 CYC:217 SL:79
F954 C9 01 CMP #$01 A:01 X:78 Y:1E P:25 SP:F9 CYC:223 SL:79
F956 D0 01 BNE $F959 A:01 X:78 Y:1E P:27 SP:F9 CYC:229 SL:79
F958 60 RTS A:01 X:78 Y:1E P:27 SP:F9 CYC:235 SL:79
DD31 C8 INY A:01 X:78 Y:1E P:27 SP:FB CYC:253 SL:79
DD32 A9 41 LDA #$41 A:01 X:78 Y:1F P:25 SP:FB CYC:259 SL:79
DD34 85 78 STA $78 = 3F A:41 X:78 Y:1F P:25 SP:FB CYC:265 SL:79
DD36 20 5C F9 JSR $F95C A:41 X:78 Y:1F P:25 SP:FB CYC:274 SL:79
F95C A9 40 LDA #$40 A:41 X:78 Y:1F P:25 SP:F9 CYC:292 SL:79
F95E 38 SEC A:40 X:78 Y:1F P:25 SP:F9 CYC:298 SL:79
F95F 24 01 BIT $01 = FF A:40 X:78 Y:1F P:25 SP:F9 CYC:304 SL:79
F961 60 RTS A:40 X:78 Y:1F P:E5 SP:F9 CYC:313 SL:79
DD39 F5 00 SBC $00,X @ 78 = 41 A:40 X:78 Y:1F P:E5 SP:FB CYC:331 SL:79
DD3B 20 62 F9 JSR $F962 A:FF X:78 Y:1F P:A4 SP:FB CYC: 2 SL:80
F962 B0 0B BCS $F96F A:FF X:78 Y:1F P:A4 SP:F9 CYC: 20 SL:80
F964 F0 09 BEQ $F96F A:FF X:78 Y:1F P:A4 SP:F9 CYC: 26 SL:80
F966 10 07 BPL $F96F A:FF X:78 Y:1F P:A4 SP:F9 CYC: 32 SL:80
F968 70 05 BVS $F96F A:FF X:78 Y:1F P:A4 SP:F9 CYC: 38 SL:80
F96A C9 FF CMP #$FF A:FF X:78 Y:1F P:A4 SP:F9 CYC: 44 SL:80
F96C D0 01 BNE $F96F A:FF X:78 Y:1F P:27 SP:F9 CYC: 50 SL:80
F96E 60 RTS A:FF X:78 Y:1F P:27 SP:F9 CYC: 56 SL:80
DD3E C8 INY A:FF X:78 Y:1F P:27 SP:FB CYC: 74 SL:80
DD3F A9 00 LDA #$00 A:FF X:78 Y:20 P:25 SP:FB CYC: 80 SL:80
DD41 85 78 STA $78 = 41 A:00 X:78 Y:20 P:27 SP:FB CYC: 86 SL:80
DD43 20 72 F9 JSR $F972 A:00 X:78 Y:20 P:27 SP:FB CYC: 95 SL:80
F972 18 CLC A:00 X:78 Y:20 P:27 SP:F9 CYC:113 SL:80
F973 A9 80 LDA #$80 A:00 X:78 Y:20 P:26 SP:F9 CYC:119 SL:80
F975 60 RTS A:80 X:78 Y:20 P:A4 SP:F9 CYC:125 SL:80
DD46 F5 00 SBC $00,X @ 78 = 00 A:80 X:78 Y:20 P:A4 SP:FB CYC:143 SL:80
DD48 20 76 F9 JSR $F976 A:7F X:78 Y:20 P:65 SP:FB CYC:155 SL:80
F976 90 05 BCC $F97D A:7F X:78 Y:20 P:65 SP:F9 CYC:173 SL:80
F978 C9 7F CMP #$7F A:7F X:78 Y:20 P:65 SP:F9 CYC:179 SL:80
F97A D0 01 BNE $F97D A:7F X:78 Y:20 P:67 SP:F9 CYC:185 SL:80
F97C 60 RTS A:7F X:78 Y:20 P:67 SP:F9 CYC:191 SL:80
DD4B C8 INY A:7F X:78 Y:20 P:67 SP:FB CYC:209 SL:80
DD4C A9 7F LDA #$7F A:7F X:78 Y:21 P:65 SP:FB CYC:215 SL:80
DD4E 85 78 STA $78 = 00 A:7F X:78 Y:21 P:65 SP:FB CYC:221 SL:80
DD50 20 80 F9 JSR $F980 A:7F X:78 Y:21 P:65 SP:FB CYC:230 SL:80
F980 38 SEC A:7F X:78 Y:21 P:65 SP:F9 CYC:248 SL:80
F981 A9 81 LDA #$81 A:7F X:78 Y:21 P:65 SP:F9 CYC:254 SL:80
F983 60 RTS A:81 X:78 Y:21 P:E5 SP:F9 CYC:260 SL:80
DD53 F5 00 SBC $00,X @ 78 = 7F A:81 X:78 Y:21 P:E5 SP:FB CYC:278 SL:80
DD55 20 84 F9 JSR $F984 A:02 X:78 Y:21 P:65 SP:FB CYC:290 SL:80
F984 50 07 BVC $F98D A:02 X:78 Y:21 P:65 SP:F9 CYC:308 SL:80
F986 90 05 BCC $F98D A:02 X:78 Y:21 P:65 SP:F9 CYC:314 SL:80
F988 C9 02 CMP #$02 A:02 X:78 Y:21 P:65 SP:F9 CYC:320 SL:80
F98A D0 01 BNE $F98D A:02 X:78 Y:21 P:67 SP:F9 CYC:326 SL:80
F98C 60 RTS A:02 X:78 Y:21 P:67 SP:F9 CYC:332 SL:80
DD58 A9 AA LDA #$AA A:02 X:78 Y:21 P:67 SP:FB CYC: 9 SL:81
DD5A 85 33 STA $33 = 44 A:AA X:78 Y:21 P:E5 SP:FB CYC: 15 SL:81
DD5C A9 BB LDA #$BB A:AA X:78 Y:21 P:E5 SP:FB CYC: 24 SL:81
DD5E 85 89 STA $89 = BB A:BB X:78 Y:21 P:E5 SP:FB CYC: 30 SL:81
DD60 A2 00 LDX #$00 A:BB X:78 Y:21 P:E5 SP:FB CYC: 39 SL:81
DD62 A0 66 LDY #$66 A:BB X:00 Y:21 P:67 SP:FB CYC: 45 SL:81
DD64 24 01 BIT $01 = FF A:BB X:00 Y:66 P:65 SP:FB CYC: 51 SL:81
DD66 38 SEC A:BB X:00 Y:66 P:E5 SP:FB CYC: 60 SL:81
DD67 A9 00 LDA #$00 A:BB X:00 Y:66 P:E5 SP:FB CYC: 66 SL:81
DD69 B5 33 LDA $33,X @ 33 = AA A:00 X:00 Y:66 P:67 SP:FB CYC: 72 SL:81
DD6B 10 12 BPL $DD7F A:AA X:00 Y:66 P:E5 SP:FB CYC: 84 SL:81
DD6D F0 10 BEQ $DD7F A:AA X:00 Y:66 P:E5 SP:FB CYC: 90 SL:81
DD6F 50 0E BVC $DD7F A:AA X:00 Y:66 P:E5 SP:FB CYC: 96 SL:81
DD71 90 0C BCC $DD7F A:AA X:00 Y:66 P:E5 SP:FB CYC:102 SL:81
DD73 C0 66 CPY #$66 A:AA X:00 Y:66 P:E5 SP:FB CYC:108 SL:81
DD75 D0 08 BNE $DD7F A:AA X:00 Y:66 P:67 SP:FB CYC:114 SL:81
DD77 E0 00 CPX #$00 A:AA X:00 Y:66 P:67 SP:FB CYC:120 SL:81
DD79 D0 04 BNE $DD7F A:AA X:00 Y:66 P:67 SP:FB CYC:126 SL:81
DD7B C9 AA CMP #$AA A:AA X:00 Y:66 P:67 SP:FB CYC:132 SL:81
DD7D F0 04 BEQ $DD83 A:AA X:00 Y:66 P:67 SP:FB CYC:138 SL:81
DD83 A2 8A LDX #$8A A:AA X:00 Y:66 P:67 SP:FB CYC:147 SL:81
DD85 A0 66 LDY #$66 A:AA X:8A Y:66 P:E5 SP:FB CYC:153 SL:81
DD87 B8 CLV A:AA X:8A Y:66 P:65 SP:FB CYC:159 SL:81
DD88 18 CLC A:AA X:8A Y:66 P:25 SP:FB CYC:165 SL:81
DD89 A9 00 LDA #$00 A:AA X:8A Y:66 P:24 SP:FB CYC:171 SL:81
DD8B B5 FF LDA $FF,X @ 89 = BB A:00 X:8A Y:66 P:26 SP:FB CYC:177 SL:81
DD8D 10 12 BPL $DDA1 A:BB X:8A Y:66 P:A4 SP:FB CYC:189 SL:81
DD8F F0 10 BEQ $DDA1 A:BB X:8A Y:66 P:A4 SP:FB CYC:195 SL:81
DD91 70 0E BVS $DDA1 A:BB X:8A Y:66 P:A4 SP:FB CYC:201 SL:81
DD93 B0 0C BCS $DDA1 A:BB X:8A Y:66 P:A4 SP:FB CYC:207 SL:81
DD95 C9 BB CMP #$BB A:BB X:8A Y:66 P:A4 SP:FB CYC:213 SL:81
DD97 D0 08 BNE $DDA1 A:BB X:8A Y:66 P:27 SP:FB CYC:219 SL:81
DD99 C0 66 CPY #$66 A:BB X:8A Y:66 P:27 SP:FB CYC:225 SL:81
DD9B D0 04 BNE $DDA1 A:BB X:8A Y:66 P:27 SP:FB CYC:231 SL:81
DD9D E0 8A CPX #$8A A:BB X:8A Y:66 P:27 SP:FB CYC:237 SL:81
DD9F F0 04 BEQ $DDA5 A:BB X:8A Y:66 P:27 SP:FB CYC:243 SL:81
DDA5 24 01 BIT $01 = FF A:BB X:8A Y:66 P:27 SP:FB CYC:252 SL:81
DDA7 38 SEC A:BB X:8A Y:66 P:E5 SP:FB CYC:261 SL:81
DDA8 A9 44 LDA #$44 A:BB X:8A Y:66 P:E5 SP:FB CYC:267 SL:81
DDAA A2 00 LDX #$00 A:44 X:8A Y:66 P:65 SP:FB CYC:273 SL:81
DDAC 95 33 STA $33,X @ 33 = AA A:44 X:00 Y:66 P:67 SP:FB CYC:279 SL:81
DDAE A5 33 LDA $33 = 44 A:44 X:00 Y:66 P:67 SP:FB CYC:291 SL:81
DDB0 90 18 BCC $DDCA A:44 X:00 Y:66 P:65 SP:FB CYC:300 SL:81
DDB2 C9 44 CMP #$44 A:44 X:00 Y:66 P:65 SP:FB CYC:306 SL:81
DDB4 D0 14 BNE $DDCA A:44 X:00 Y:66 P:67 SP:FB CYC:312 SL:81
DDB6 50 12 BVC $DDCA A:44 X:00 Y:66 P:67 SP:FB CYC:318 SL:81
DDB8 18 CLC A:44 X:00 Y:66 P:67 SP:FB CYC:324 SL:81
DDB9 B8 CLV A:44 X:00 Y:66 P:66 SP:FB CYC:330 SL:81
DDBA A9 99 LDA #$99 A:44 X:00 Y:66 P:26 SP:FB CYC:336 SL:81
DDBC A2 80 LDX #$80 A:99 X:00 Y:66 P:A4 SP:FB CYC: 1 SL:82
DDBE 95 85 STA $85,X @ 05 = 99 A:99 X:80 Y:66 P:A4 SP:FB CYC: 7 SL:82
DDC0 A5 05 LDA $05 = 99 A:99 X:80 Y:66 P:A4 SP:FB CYC: 19 SL:82
DDC2 B0 06 BCS $DDCA A:99 X:80 Y:66 P:A4 SP:FB CYC: 28 SL:82
DDC4 C9 99 CMP #$99 A:99 X:80 Y:66 P:A4 SP:FB CYC: 34 SL:82
DDC6 D0 02 BNE $DDCA A:99 X:80 Y:66 P:27 SP:FB CYC: 40 SL:82
DDC8 50 04 BVC $DDCE A:99 X:80 Y:66 P:27 SP:FB CYC: 46 SL:82
DDCE A0 25 LDY #$25 A:99 X:80 Y:66 P:27 SP:FB CYC: 55 SL:82
DDD0 A2 78 LDX #$78 A:99 X:80 Y:25 P:25 SP:FB CYC: 61 SL:82
DDD2 20 90 F9 JSR $F990 A:99 X:78 Y:25 P:25 SP:FB CYC: 67 SL:82
F990 A2 55 LDX #$55 A:99 X:78 Y:25 P:25 SP:F9 CYC: 85 SL:82
F992 A9 FF LDA #$FF A:99 X:55 Y:25 P:25 SP:F9 CYC: 91 SL:82
F994 85 01 STA $01 = FF A:FF X:55 Y:25 P:A5 SP:F9 CYC: 97 SL:82
F996 EA NOP A:FF X:55 Y:25 P:A5 SP:F9 CYC:106 SL:82
F997 24 01 BIT $01 = FF A:FF X:55 Y:25 P:A5 SP:F9 CYC:112 SL:82
F999 38 SEC A:FF X:55 Y:25 P:E5 SP:F9 CYC:121 SL:82
F99A A9 01 LDA #$01 A:FF X:55 Y:25 P:E5 SP:F9 CYC:127 SL:82
F99C 60 RTS A:01 X:55 Y:25 P:65 SP:F9 CYC:133 SL:82
DDD5 95 00 STA $00,X @ 55 = 00 A:01 X:55 Y:25 P:65 SP:FB CYC:151 SL:82
DDD7 56 00 LSR $00,X @ 55 = 01 A:01 X:55 Y:25 P:65 SP:FB CYC:163 SL:82
DDD9 B5 00 LDA $00,X @ 55 = 00 A:01 X:55 Y:25 P:67 SP:FB CYC:181 SL:82
DDDB 20 9D F9 JSR $F99D A:00 X:55 Y:25 P:67 SP:FB CYC:193 SL:82
F99D 90 1B BCC $F9BA A:00 X:55 Y:25 P:67 SP:F9 CYC:211 SL:82
F99F D0 19 BNE $F9BA A:00 X:55 Y:25 P:67 SP:F9 CYC:217 SL:82
F9A1 30 17 BMI $F9BA A:00 X:55 Y:25 P:67 SP:F9 CYC:223 SL:82
F9A3 50 15 BVC $F9BA A:00 X:55 Y:25 P:67 SP:F9 CYC:229 SL:82
F9A5 C9 00 CMP #$00 A:00 X:55 Y:25 P:67 SP:F9 CYC:235 SL:82
F9A7 D0 11 BNE $F9BA A:00 X:55 Y:25 P:67 SP:F9 CYC:241 SL:82
F9A9 B8 CLV A:00 X:55 Y:25 P:67 SP:F9 CYC:247 SL:82
F9AA A9 AA LDA #$AA A:00 X:55 Y:25 P:27 SP:F9 CYC:253 SL:82
F9AC 60 RTS A:AA X:55 Y:25 P:A5 SP:F9 CYC:259 SL:82
DDDE C8 INY A:AA X:55 Y:25 P:A5 SP:FB CYC:277 SL:82
DDDF 95 00 STA $00,X @ 55 = 00 A:AA X:55 Y:26 P:25 SP:FB CYC:283 SL:82
DDE1 56 00 LSR $00,X @ 55 = AA A:AA X:55 Y:26 P:25 SP:FB CYC:295 SL:82
DDE3 B5 00 LDA $00,X @ 55 = 55 A:AA X:55 Y:26 P:24 SP:FB CYC:313 SL:82
DDE5 20 AD F9 JSR $F9AD A:55 X:55 Y:26 P:24 SP:FB CYC:325 SL:82
F9AD B0 0B BCS $F9BA A:55 X:55 Y:26 P:24 SP:F9 CYC: 2 SL:83
F9AF F0 09 BEQ $F9BA A:55 X:55 Y:26 P:24 SP:F9 CYC: 8 SL:83
F9B1 30 07 BMI $F9BA A:55 X:55 Y:26 P:24 SP:F9 CYC: 14 SL:83
F9B3 70 05 BVS $F9BA A:55 X:55 Y:26 P:24 SP:F9 CYC: 20 SL:83
F9B5 C9 55 CMP #$55 A:55 X:55 Y:26 P:24 SP:F9 CYC: 26 SL:83
F9B7 D0 01 BNE $F9BA A:55 X:55 Y:26 P:27 SP:F9 CYC: 32 SL:83
F9B9 60 RTS A:55 X:55 Y:26 P:27 SP:F9 CYC: 38 SL:83
DDE8 C8 INY A:55 X:55 Y:26 P:27 SP:FB CYC: 56 SL:83
DDE9 20 BD F9 JSR $F9BD A:55 X:55 Y:27 P:25 SP:FB CYC: 62 SL:83
F9BD 24 01 BIT $01 = FF A:55 X:55 Y:27 P:25 SP:F9 CYC: 80 SL:83
F9BF 38 SEC A:55 X:55 Y:27 P:E5 SP:F9 CYC: 89 SL:83
F9C0 A9 80 LDA #$80 A:55 X:55 Y:27 P:E5 SP:F9 CYC: 95 SL:83
F9C2 60 RTS A:80 X:55 Y:27 P:E5 SP:F9 CYC:101 SL:83
DDEC 95 00 STA $00,X @ 55 = 55 A:80 X:55 Y:27 P:E5 SP:FB CYC:119 SL:83
DDEE 16 00 ASL $00,X @ 55 = 80 A:80 X:55 Y:27 P:E5 SP:FB CYC:131 SL:83
DDF0 B5 00 LDA $00,X @ 55 = 00 A:80 X:55 Y:27 P:67 SP:FB CYC:149 SL:83
DDF2 20 C3 F9 JSR $F9C3 A:00 X:55 Y:27 P:67 SP:FB CYC:161 SL:83
F9C3 90 1C BCC $F9E1 A:00 X:55 Y:27 P:67 SP:F9 CYC:179 SL:83
F9C5 D0 1A BNE $F9E1 A:00 X:55 Y:27 P:67 SP:F9 CYC:185 SL:83
F9C7 30 18 BMI $F9E1 A:00 X:55 Y:27 P:67 SP:F9 CYC:191 SL:83
F9C9 50 16 BVC $F9E1 A:00 X:55 Y:27 P:67 SP:F9 CYC:197 SL:83
F9CB C9 00 CMP #$00 A:00 X:55 Y:27 P:67 SP:F9 CYC:203 SL:83
F9CD D0 12 BNE $F9E1 A:00 X:55 Y:27 P:67 SP:F9 CYC:209 SL:83
F9CF B8 CLV A:00 X:55 Y:27 P:67 SP:F9 CYC:215 SL:83
F9D0 A9 55 LDA #$55 A:00 X:55 Y:27 P:27 SP:F9 CYC:221 SL:83
F9D2 38 SEC A:55 X:55 Y:27 P:25 SP:F9 CYC:227 SL:83
F9D3 60 RTS A:55 X:55 Y:27 P:25 SP:F9 CYC:233 SL:83
DDF5 C8 INY A:55 X:55 Y:27 P:25 SP:FB CYC:251 SL:83
DDF6 95 00 STA $00,X @ 55 = 00 A:55 X:55 Y:28 P:25 SP:FB CYC:257 SL:83
DDF8 16 00 ASL $00,X @ 55 = 55 A:55 X:55 Y:28 P:25 SP:FB CYC:269 SL:83
DDFA B5 00 LDA $00,X @ 55 = AA A:55 X:55 Y:28 P:A4 SP:FB CYC:287 SL:83
DDFC 20 D4 F9 JSR $F9D4 A:AA X:55 Y:28 P:A4 SP:FB CYC:299 SL:83
F9D4 B0 0B BCS $F9E1 A:AA X:55 Y:28 P:A4 SP:F9 CYC:317 SL:83
F9D6 F0 09 BEQ $F9E1 A:AA X:55 Y:28 P:A4 SP:F9 CYC:323 SL:83
F9D8 10 07 BPL $F9E1 A:AA X:55 Y:28 P:A4 SP:F9 CYC:329 SL:83
F9DA 70 05 BVS $F9E1 A:AA X:55 Y:28 P:A4 SP:F9 CYC:335 SL:83
F9DC C9 AA CMP #$AA A:AA X:55 Y:28 P:A4 SP:F9 CYC: 0 SL:84
F9DE D0 01 BNE $F9E1 A:AA X:55 Y:28 P:27 SP:F9 CYC: 6 SL:84
F9E0 60 RTS A:AA X:55 Y:28 P:27 SP:F9 CYC: 12 SL:84
DDFF C8 INY A:AA X:55 Y:28 P:27 SP:FB CYC: 30 SL:84
DE00 20 E4 F9 JSR $F9E4 A:AA X:55 Y:29 P:25 SP:FB CYC: 36 SL:84
F9E4 24 01 BIT $01 = FF A:AA X:55 Y:29 P:25 SP:F9 CYC: 54 SL:84
F9E6 38 SEC A:AA X:55 Y:29 P:E5 SP:F9 CYC: 63 SL:84
F9E7 A9 01 LDA #$01 A:AA X:55 Y:29 P:E5 SP:F9 CYC: 69 SL:84
F9E9 60 RTS A:01 X:55 Y:29 P:65 SP:F9 CYC: 75 SL:84
DE03 95 00 STA $00,X @ 55 = AA A:01 X:55 Y:29 P:65 SP:FB CYC: 93 SL:84
DE05 76 00 ROR $00,X @ 55 = 01 A:01 X:55 Y:29 P:65 SP:FB CYC:105 SL:84
DE07 B5 00 LDA $00,X @ 55 = 80 A:01 X:55 Y:29 P:E5 SP:FB CYC:123 SL:84
DE09 20 EA F9 JSR $F9EA A:80 X:55 Y:29 P:E5 SP:FB CYC:135 SL:84
F9EA 90 1C BCC $FA08 A:80 X:55 Y:29 P:E5 SP:F9 CYC:153 SL:84
F9EC F0 1A BEQ $FA08 A:80 X:55 Y:29 P:E5 SP:F9 CYC:159 SL:84
F9EE 10 18 BPL $FA08 A:80 X:55 Y:29 P:E5 SP:F9 CYC:165 SL:84
F9F0 50 16 BVC $FA08 A:80 X:55 Y:29 P:E5 SP:F9 CYC:171 SL:84
F9F2 C9 80 CMP #$80 A:80 X:55 Y:29 P:E5 SP:F9 CYC:177 SL:84
F9F4 D0 12 BNE $FA08 A:80 X:55 Y:29 P:67 SP:F9 CYC:183 SL:84
F9F6 B8 CLV A:80 X:55 Y:29 P:67 SP:F9 CYC:189 SL:84
F9F7 18 CLC A:80 X:55 Y:29 P:27 SP:F9 CYC:195 SL:84
F9F8 A9 55 LDA #$55 A:80 X:55 Y:29 P:26 SP:F9 CYC:201 SL:84
F9FA 60 RTS A:55 X:55 Y:29 P:24 SP:F9 CYC:207 SL:84
DE0C C8 INY A:55 X:55 Y:29 P:24 SP:FB CYC:225 SL:84
DE0D 95 00 STA $00,X @ 55 = 80 A:55 X:55 Y:2A P:24 SP:FB CYC:231 SL:84
DE0F 76 00 ROR $00,X @ 55 = 55 A:55 X:55 Y:2A P:24 SP:FB CYC:243 SL:84
DE11 B5 00 LDA $00,X @ 55 = 2A A:55 X:55 Y:2A P:25 SP:FB CYC:261 SL:84
DE13 20 FB F9 JSR $F9FB A:2A X:55 Y:2A P:25 SP:FB CYC:273 SL:84
F9FB 90 0B BCC $FA08 A:2A X:55 Y:2A P:25 SP:F9 CYC:291 SL:84
F9FD F0 09 BEQ $FA08 A:2A X:55 Y:2A P:25 SP:F9 CYC:297 SL:84
F9FF 30 07 BMI $FA08 A:2A X:55 Y:2A P:25 SP:F9 CYC:303 SL:84
FA01 70 05 BVS $FA08 A:2A X:55 Y:2A P:25 SP:F9 CYC:309 SL:84
FA03 C9 2A CMP #$2A A:2A X:55 Y:2A P:25 SP:F9 CYC:315 SL:84
FA05 D0 01 BNE $FA08 A:2A X:55 Y:2A P:27 SP:F9 CYC:321 SL:84
FA07 60 RTS A:2A X:55 Y:2A P:27 SP:F9 CYC:327 SL:84
DE16 C8 INY A:2A X:55 Y:2A P:27 SP:FB CYC: 4 SL:85
DE17 20 0A FA JSR $FA0A A:2A X:55 Y:2B P:25 SP:FB CYC: 10 SL:85
FA0A 24 01 BIT $01 = FF A:2A X:55 Y:2B P:25 SP:F9 CYC: 28 SL:85
FA0C 38 SEC A:2A X:55 Y:2B P:E5 SP:F9 CYC: 37 SL:85
FA0D A9 80 LDA #$80 A:2A X:55 Y:2B P:E5 SP:F9 CYC: 43 SL:85
FA0F 60 RTS A:80 X:55 Y:2B P:E5 SP:F9 CYC: 49 SL:85
DE1A 95 00 STA $00,X @ 55 = 2A A:80 X:55 Y:2B P:E5 SP:FB CYC: 67 SL:85
DE1C 36 00 ROL $00,X @ 55 = 80 A:80 X:55 Y:2B P:E5 SP:FB CYC: 79 SL:85
DE1E B5 00 LDA $00,X @ 55 = 01 A:80 X:55 Y:2B P:65 SP:FB CYC: 97 SL:85
DE20 20 10 FA JSR $FA10 A:01 X:55 Y:2B P:65 SP:FB CYC:109 SL:85
FA10 90 1C BCC $FA2E A:01 X:55 Y:2B P:65 SP:F9 CYC:127 SL:85
FA12 F0 1A BEQ $FA2E A:01 X:55 Y:2B P:65 SP:F9 CYC:133 SL:85
FA14 30 18 BMI $FA2E A:01 X:55 Y:2B P:65 SP:F9 CYC:139 SL:85
FA16 50 16 BVC $FA2E A:01 X:55 Y:2B P:65 SP:F9 CYC:145 SL:85
FA18 C9 01 CMP #$01 A:01 X:55 Y:2B P:65 SP:F9 CYC:151 SL:85
FA1A D0 12 BNE $FA2E A:01 X:55 Y:2B P:67 SP:F9 CYC:157 SL:85
FA1C B8 CLV A:01 X:55 Y:2B P:67 SP:F9 CYC:163 SL:85
FA1D 18 CLC A:01 X:55 Y:2B P:27 SP:F9 CYC:169 SL:85
FA1E A9 55 LDA #$55 A:01 X:55 Y:2B P:26 SP:F9 CYC:175 SL:85
FA20 60 RTS A:55 X:55 Y:2B P:24 SP:F9 CYC:181 SL:85
DE23 C8 INY A:55 X:55 Y:2B P:24 SP:FB CYC:199 SL:85
DE24 95 00 STA $00,X @ 55 = 01 A:55 X:55 Y:2C P:24 SP:FB CYC:205 SL:85
DE26 36 00 ROL $00,X @ 55 = 55 A:55 X:55 Y:2C P:24 SP:FB CYC:217 SL:85
DE28 B5 00 LDA $00,X @ 55 = AA A:55 X:55 Y:2C P:A4 SP:FB CYC:235 SL:85
DE2A 20 21 FA JSR $FA21 A:AA X:55 Y:2C P:A4 SP:FB CYC:247 SL:85
FA21 B0 0B BCS $FA2E A:AA X:55 Y:2C P:A4 SP:F9 CYC:265 SL:85
FA23 F0 09 BEQ $FA2E A:AA X:55 Y:2C P:A4 SP:F9 CYC:271 SL:85
FA25 10 07 BPL $FA2E A:AA X:55 Y:2C P:A4 SP:F9 CYC:277 SL:85
FA27 70 05 BVS $FA2E A:AA X:55 Y:2C P:A4 SP:F9 CYC:283 SL:85
FA29 C9 AA CMP #$AA A:AA X:55 Y:2C P:A4 SP:F9 CYC:289 SL:85
FA2B D0 01 BNE $FA2E A:AA X:55 Y:2C P:27 SP:F9 CYC:295 SL:85
FA2D 60 RTS A:AA X:55 Y:2C P:27 SP:F9 CYC:301 SL:85
DE2D A9 FF LDA #$FF A:AA X:55 Y:2C P:27 SP:FB CYC:319 SL:85
DE2F 95 00 STA $00,X @ 55 = AA A:FF X:55 Y:2C P:A5 SP:FB CYC:325 SL:85
DE31 85 01 STA $01 = FF A:FF X:55 Y:2C P:A5 SP:FB CYC:337 SL:85
DE33 24 01 BIT $01 = FF A:FF X:55 Y:2C P:A5 SP:FB CYC: 5 SL:86
DE35 38 SEC A:FF X:55 Y:2C P:E5 SP:FB CYC: 14 SL:86
DE36 F6 00 INC $00,X @ 55 = FF A:FF X:55 Y:2C P:E5 SP:FB CYC: 20 SL:86
DE38 D0 0C BNE $DE46 A:FF X:55 Y:2C P:67 SP:FB CYC: 38 SL:86
DE3A 30 0A BMI $DE46 A:FF X:55 Y:2C P:67 SP:FB CYC: 44 SL:86
DE3C 50 08 BVC $DE46 A:FF X:55 Y:2C P:67 SP:FB CYC: 50 SL:86
DE3E 90 06 BCC $DE46 A:FF X:55 Y:2C P:67 SP:FB CYC: 56 SL:86
DE40 B5 00 LDA $00,X @ 55 = 00 A:FF X:55 Y:2C P:67 SP:FB CYC: 62 SL:86
DE42 C9 00 CMP #$00 A:00 X:55 Y:2C P:67 SP:FB CYC: 74 SL:86
DE44 F0 04 BEQ $DE4A A:00 X:55 Y:2C P:67 SP:FB CYC: 80 SL:86
DE4A A9 7F LDA #$7F A:00 X:55 Y:2C P:67 SP:FB CYC: 89 SL:86
DE4C 95 00 STA $00,X @ 55 = 00 A:7F X:55 Y:2C P:65 SP:FB CYC: 95 SL:86
DE4E B8 CLV A:7F X:55 Y:2C P:65 SP:FB CYC:107 SL:86
DE4F 18 CLC A:7F X:55 Y:2C P:25 SP:FB CYC:113 SL:86
DE50 F6 00 INC $00,X @ 55 = 7F A:7F X:55 Y:2C P:24 SP:FB CYC:119 SL:86
DE52 F0 0C BEQ $DE60 A:7F X:55 Y:2C P:A4 SP:FB CYC:137 SL:86
DE54 10 0A BPL $DE60 A:7F X:55 Y:2C P:A4 SP:FB CYC:143 SL:86
DE56 70 08 BVS $DE60 A:7F X:55 Y:2C P:A4 SP:FB CYC:149 SL:86
DE58 B0 06 BCS $DE60 A:7F X:55 Y:2C P:A4 SP:FB CYC:155 SL:86
DE5A B5 00 LDA $00,X @ 55 = 80 A:7F X:55 Y:2C P:A4 SP:FB CYC:161 SL:86
DE5C C9 80 CMP #$80 A:80 X:55 Y:2C P:A4 SP:FB CYC:173 SL:86
DE5E F0 04 BEQ $DE64 A:80 X:55 Y:2C P:27 SP:FB CYC:179 SL:86
DE64 A9 00 LDA #$00 A:80 X:55 Y:2C P:27 SP:FB CYC:188 SL:86
DE66 95 00 STA $00,X @ 55 = 80 A:00 X:55 Y:2C P:27 SP:FB CYC:194 SL:86
DE68 24 01 BIT $01 = FF A:00 X:55 Y:2C P:27 SP:FB CYC:206 SL:86
DE6A 38 SEC A:00 X:55 Y:2C P:E7 SP:FB CYC:215 SL:86
DE6B D6 00 DEC $00,X @ 55 = 00 A:00 X:55 Y:2C P:E7 SP:FB CYC:221 SL:86
DE6D F0 0C BEQ $DE7B A:00 X:55 Y:2C P:E5 SP:FB CYC:239 SL:86
DE6F 10 0A BPL $DE7B A:00 X:55 Y:2C P:E5 SP:FB CYC:245 SL:86
DE71 50 08 BVC $DE7B A:00 X:55 Y:2C P:E5 SP:FB CYC:251 SL:86
DE73 90 06 BCC $DE7B A:00 X:55 Y:2C P:E5 SP:FB CYC:257 SL:86
DE75 B5 00 LDA $00,X @ 55 = FF A:00 X:55 Y:2C P:E5 SP:FB CYC:263 SL:86
DE77 C9 FF CMP #$FF A:FF X:55 Y:2C P:E5 SP:FB CYC:275 SL:86
DE79 F0 04 BEQ $DE7F A:FF X:55 Y:2C P:67 SP:FB CYC:281 SL:86
DE7F A9 80 LDA #$80 A:FF X:55 Y:2C P:67 SP:FB CYC:290 SL:86
DE81 95 00 STA $00,X @ 55 = FF A:80 X:55 Y:2C P:E5 SP:FB CYC:296 SL:86
DE83 B8 CLV A:80 X:55 Y:2C P:E5 SP:FB CYC:308 SL:86
DE84 18 CLC A:80 X:55 Y:2C P:A5 SP:FB CYC:314 SL:86
DE85 D6 00 DEC $00,X @ 55 = 80 A:80 X:55 Y:2C P:A4 SP:FB CYC:320 SL:86
DE87 F0 0C BEQ $DE95 A:80 X:55 Y:2C P:24 SP:FB CYC:338 SL:86
DE89 30 0A BMI $DE95 A:80 X:55 Y:2C P:24 SP:FB CYC: 3 SL:87
DE8B 70 08 BVS $DE95 A:80 X:55 Y:2C P:24 SP:FB CYC: 9 SL:87
DE8D B0 06 BCS $DE95 A:80 X:55 Y:2C P:24 SP:FB CYC: 15 SL:87
DE8F B5 00 LDA $00,X @ 55 = 7F A:80 X:55 Y:2C P:24 SP:FB CYC: 21 SL:87
DE91 C9 7F CMP #$7F A:7F X:55 Y:2C P:24 SP:FB CYC: 33 SL:87
DE93 F0 04 BEQ $DE99 A:7F X:55 Y:2C P:27 SP:FB CYC: 39 SL:87
DE99 A9 01 LDA #$01 A:7F X:55 Y:2C P:27 SP:FB CYC: 48 SL:87
DE9B 95 00 STA $00,X @ 55 = 7F A:01 X:55 Y:2C P:25 SP:FB CYC: 54 SL:87
DE9D D6 00 DEC $00,X @ 55 = 01 A:01 X:55 Y:2C P:25 SP:FB CYC: 66 SL:87
DE9F F0 04 BEQ $DEA5 A:01 X:55 Y:2C P:27 SP:FB CYC: 84 SL:87
DEA5 A9 33 LDA #$33 A:01 X:55 Y:2C P:27 SP:FB CYC: 93 SL:87
DEA7 85 78 STA $78 = 7F A:33 X:55 Y:2C P:25 SP:FB CYC: 99 SL:87
DEA9 A9 44 LDA #$44 A:33 X:55 Y:2C P:25 SP:FB CYC:108 SL:87
DEAB A0 78 LDY #$78 A:44 X:55 Y:2C P:25 SP:FB CYC:114 SL:87
DEAD A2 00 LDX #$00 A:44 X:55 Y:78 P:25 SP:FB CYC:120 SL:87
DEAF 38 SEC A:44 X:00 Y:78 P:27 SP:FB CYC:126 SL:87
DEB0 24 01 BIT $01 = FF A:44 X:00 Y:78 P:27 SP:FB CYC:132 SL:87
DEB2 B6 00 LDX $00,Y @ 78 = 33 A:44 X:00 Y:78 P:E5 SP:FB CYC:141 SL:87
DEB4 90 12 BCC $DEC8 A:44 X:33 Y:78 P:65 SP:FB CYC:153 SL:87
DEB6 50 10 BVC $DEC8 A:44 X:33 Y:78 P:65 SP:FB CYC:159 SL:87
DEB8 30 0E BMI $DEC8 A:44 X:33 Y:78 P:65 SP:FB CYC:165 SL:87
DEBA F0 0C BEQ $DEC8 A:44 X:33 Y:78 P:65 SP:FB CYC:171 SL:87
DEBC E0 33 CPX #$33 A:44 X:33 Y:78 P:65 SP:FB CYC:177 SL:87
DEBE D0 08 BNE $DEC8 A:44 X:33 Y:78 P:67 SP:FB CYC:183 SL:87
DEC0 C0 78 CPY #$78 A:44 X:33 Y:78 P:67 SP:FB CYC:189 SL:87
DEC2 D0 04 BNE $DEC8 A:44 X:33 Y:78 P:67 SP:FB CYC:195 SL:87
DEC4 C9 44 CMP #$44 A:44 X:33 Y:78 P:67 SP:FB CYC:201 SL:87
DEC6 F0 04 BEQ $DECC A:44 X:33 Y:78 P:67 SP:FB CYC:207 SL:87
DECC A9 97 LDA #$97 A:44 X:33 Y:78 P:67 SP:FB CYC:216 SL:87
DECE 85 7F STA $7F = 00 A:97 X:33 Y:78 P:E5 SP:FB CYC:222 SL:87
DED0 A9 47 LDA #$47 A:97 X:33 Y:78 P:E5 SP:FB CYC:231 SL:87
DED2 A0 FF LDY #$FF A:47 X:33 Y:78 P:65 SP:FB CYC:237 SL:87
DED4 A2 00 LDX #$00 A:47 X:33 Y:FF P:E5 SP:FB CYC:243 SL:87
DED6 18 CLC A:47 X:00 Y:FF P:67 SP:FB CYC:249 SL:87
DED7 B8 CLV A:47 X:00 Y:FF P:66 SP:FB CYC:255 SL:87
DED8 B6 80 LDX $80,Y @ 7F = 97 A:47 X:00 Y:FF P:26 SP:FB CYC:261 SL:87
DEDA B0 12 BCS $DEEE A:47 X:97 Y:FF P:A4 SP:FB CYC:273 SL:87
DEDC 70 10 BVS $DEEE A:47 X:97 Y:FF P:A4 SP:FB CYC:279 SL:87
DEDE 10 0E BPL $DEEE A:47 X:97 Y:FF P:A4 SP:FB CYC:285 SL:87
DEE0 F0 0C BEQ $DEEE A:47 X:97 Y:FF P:A4 SP:FB CYC:291 SL:87
DEE2 E0 97 CPX #$97 A:47 X:97 Y:FF P:A4 SP:FB CYC:297 SL:87
DEE4 D0 08 BNE $DEEE A:47 X:97 Y:FF P:27 SP:FB CYC:303 SL:87
DEE6 C0 FF CPY #$FF A:47 X:97 Y:FF P:27 SP:FB CYC:309 SL:87
DEE8 D0 04 BNE $DEEE A:47 X:97 Y:FF P:27 SP:FB CYC:315 SL:87
DEEA C9 47 CMP #$47 A:47 X:97 Y:FF P:27 SP:FB CYC:321 SL:87
DEEC F0 04 BEQ $DEF2 A:47 X:97 Y:FF P:27 SP:FB CYC:327 SL:87
DEF2 A9 00 LDA #$00 A:47 X:97 Y:FF P:27 SP:FB CYC:336 SL:87
DEF4 85 7F STA $7F = 97 A:00 X:97 Y:FF P:27 SP:FB CYC: 1 SL:88
DEF6 A9 47 LDA #$47 A:00 X:97 Y:FF P:27 SP:FB CYC: 10 SL:88
DEF8 A0 FF LDY #$FF A:47 X:97 Y:FF P:25 SP:FB CYC: 16 SL:88
DEFA A2 69 LDX #$69 A:47 X:97 Y:FF P:A5 SP:FB CYC: 22 SL:88
DEFC 18 CLC A:47 X:69 Y:FF P:25 SP:FB CYC: 28 SL:88
DEFD B8 CLV A:47 X:69 Y:FF P:24 SP:FB CYC: 34 SL:88
DEFE 96 80 STX $80,Y @ 7F = 00 A:47 X:69 Y:FF P:24 SP:FB CYC: 40 SL:88
DF00 B0 18 BCS $DF1A A:47 X:69 Y:FF P:24 SP:FB CYC: 52 SL:88
DF02 70 16 BVS $DF1A A:47 X:69 Y:FF P:24 SP:FB CYC: 58 SL:88
DF04 30 14 BMI $DF1A A:47 X:69 Y:FF P:24 SP:FB CYC: 64 SL:88
DF06 F0 12 BEQ $DF1A A:47 X:69 Y:FF P:24 SP:FB CYC: 70 SL:88
DF08 E0 69 CPX #$69 A:47 X:69 Y:FF P:24 SP:FB CYC: 76 SL:88
DF0A D0 0E BNE $DF1A A:47 X:69 Y:FF P:27 SP:FB CYC: 82 SL:88
DF0C C0 FF CPY #$FF A:47 X:69 Y:FF P:27 SP:FB CYC: 88 SL:88
DF0E D0 0A BNE $DF1A A:47 X:69 Y:FF P:27 SP:FB CYC: 94 SL:88
DF10 C9 47 CMP #$47 A:47 X:69 Y:FF P:27 SP:FB CYC:100 SL:88
DF12 D0 06 BNE $DF1A A:47 X:69 Y:FF P:27 SP:FB CYC:106 SL:88
DF14 A5 7F LDA $7F = 69 A:47 X:69 Y:FF P:27 SP:FB CYC:112 SL:88
DF16 C9 69 CMP #$69 A:69 X:69 Y:FF P:25 SP:FB CYC:121 SL:88
DF18 F0 04 BEQ $DF1E A:69 X:69 Y:FF P:27 SP:FB CYC:127 SL:88
DF1E A9 F5 LDA #$F5 A:69 X:69 Y:FF P:27 SP:FB CYC:136 SL:88
DF20 85 4F STA $4F = 00 A:F5 X:69 Y:FF P:A5 SP:FB CYC:142 SL:88
DF22 A9 47 LDA #$47 A:F5 X:69 Y:FF P:A5 SP:FB CYC:151 SL:88
DF24 A0 4F LDY #$4F A:47 X:69 Y:FF P:25 SP:FB CYC:157 SL:88
DF26 24 01 BIT $01 = FF A:47 X:69 Y:4F P:25 SP:FB CYC:163 SL:88
DF28 A2 00 LDX #$00 A:47 X:69 Y:4F P:E5 SP:FB CYC:172 SL:88
DF2A 38 SEC A:47 X:00 Y:4F P:67 SP:FB CYC:178 SL:88
DF2B 96 00 STX $00,Y @ 4F = F5 A:47 X:00 Y:4F P:67 SP:FB CYC:184 SL:88
DF2D 90 16 BCC $DF45 A:47 X:00 Y:4F P:67 SP:FB CYC:196 SL:88
DF2F 50 14 BVC $DF45 A:47 X:00 Y:4F P:67 SP:FB CYC:202 SL:88
DF31 30 12 BMI $DF45 A:47 X:00 Y:4F P:67 SP:FB CYC:208 SL:88
DF33 D0 10 BNE $DF45 A:47 X:00 Y:4F P:67 SP:FB CYC:214 SL:88
DF35 E0 00 CPX #$00 A:47 X:00 Y:4F P:67 SP:FB CYC:220 SL:88
DF37 D0 0C BNE $DF45 A:47 X:00 Y:4F P:67 SP:FB CYC:226 SL:88
DF39 C0 4F CPY #$4F A:47 X:00 Y:4F P:67 SP:FB CYC:232 SL:88
DF3B D0 08 BNE $DF45 A:47 X:00 Y:4F P:67 SP:FB CYC:238 SL:88
DF3D C9 47 CMP #$47 A:47 X:00 Y:4F P:67 SP:FB CYC:244 SL:88
DF3F D0 04 BNE $DF45 A:47 X:00 Y:4F P:67 SP:FB CYC:250 SL:88
DF41 A5 4F LDA $4F = 00 A:47 X:00 Y:4F P:67 SP:FB CYC:256 SL:88
DF43 F0 04 BEQ $DF49 A:00 X:00 Y:4F P:67 SP:FB CYC:265 SL:88
DF49 60 RTS A:00 X:00 Y:4F P:67 SP:FB CYC:274 SL:88
C62C 20 AA E1 JSR $E1AA A:00 X:00 Y:4F P:67 SP:FD CYC:292 SL:88
E1AA A9 FF LDA #$FF A:00 X:00 Y:4F P:67 SP:FB CYC:310 SL:88
E1AC 85 01 STA $01 = FF A:FF X:00 Y:4F P:E5 SP:FB CYC:316 SL:88
E1AE A9 AA LDA #$AA A:FF X:00 Y:4F P:E5 SP:FB CYC:325 SL:88
E1B0 8D 33 06 STA $0633 = 00 A:AA X:00 Y:4F P:E5 SP:FB CYC:331 SL:88
E1B3 A9 BB LDA #$BB A:AA X:00 Y:4F P:E5 SP:FB CYC: 2 SL:89
E1B5 8D 89 06 STA $0689 = 00 A:BB X:00 Y:4F P:E5 SP:FB CYC: 8 SL:89
E1B8 A2 00 LDX #$00 A:BB X:00 Y:4F P:E5 SP:FB CYC: 20 SL:89
E1BA A9 66 LDA #$66 A:BB X:00 Y:4F P:67 SP:FB CYC: 26 SL:89
E1BC 24 01 BIT $01 = FF A:66 X:00 Y:4F P:65 SP:FB CYC: 32 SL:89
E1BE 38 SEC A:66 X:00 Y:4F P:E5 SP:FB CYC: 41 SL:89
E1BF A0 00 LDY #$00 A:66 X:00 Y:4F P:E5 SP:FB CYC: 47 SL:89
E1C1 BC 33 06 LDY $0633,X @ 0633 = AA A:66 X:00 Y:00 P:67 SP:FB CYC: 53 SL:89
E1C4 10 12 BPL $E1D8 A:66 X:00 Y:AA P:E5 SP:FB CYC: 65 SL:89
E1C6 F0 10 BEQ $E1D8 A:66 X:00 Y:AA P:E5 SP:FB CYC: 71 SL:89
E1C8 50 0E BVC $E1D8 A:66 X:00 Y:AA P:E5 SP:FB CYC: 77 SL:89
E1CA 90 0C BCC $E1D8 A:66 X:00 Y:AA P:E5 SP:FB CYC: 83 SL:89
E1CC C9 66 CMP #$66 A:66 X:00 Y:AA P:E5 SP:FB CYC: 89 SL:89
E1CE D0 08 BNE $E1D8 A:66 X:00 Y:AA P:67 SP:FB CYC: 95 SL:89
E1D0 E0 00 CPX #$00 A:66 X:00 Y:AA P:67 SP:FB CYC:101 SL:89
E1D2 D0 04 BNE $E1D8 A:66 X:00 Y:AA P:67 SP:FB CYC:107 SL:89
E1D4 C0 AA CPY #$AA A:66 X:00 Y:AA P:67 SP:FB CYC:113 SL:89
E1D6 F0 04 BEQ $E1DC A:66 X:00 Y:AA P:67 SP:FB CYC:119 SL:89
E1DC A2 8A LDX #$8A A:66 X:00 Y:AA P:67 SP:FB CYC:128 SL:89
E1DE A9 66 LDA #$66 A:66 X:8A Y:AA P:E5 SP:FB CYC:134 SL:89
E1E0 B8 CLV A:66 X:8A Y:AA P:65 SP:FB CYC:140 SL:89
E1E1 18 CLC A:66 X:8A Y:AA P:25 SP:FB CYC:146 SL:89
E1E2 A0 00 LDY #$00 A:66 X:8A Y:AA P:24 SP:FB CYC:152 SL:89
E1E4 BC FF 05 LDY $05FF,X @ 0689 = BB A:66 X:8A Y:00 P:26 SP:FB CYC:158 SL:89
E1E7 10 12 BPL $E1FB A:66 X:8A Y:BB P:A4 SP:FB CYC:173 SL:89
E1E9 F0 10 BEQ $E1FB A:66 X:8A Y:BB P:A4 SP:FB CYC:179 SL:89
E1EB 70 0E BVS $E1FB A:66 X:8A Y:BB P:A4 SP:FB CYC:185 SL:89
E1ED B0 0C BCS $E1FB A:66 X:8A Y:BB P:A4 SP:FB CYC:191 SL:89
E1EF C0 BB CPY #$BB A:66 X:8A Y:BB P:A4 SP:FB CYC:197 SL:89
E1F1 D0 08 BNE $E1FB A:66 X:8A Y:BB P:27 SP:FB CYC:203 SL:89
E1F3 C9 66 CMP #$66 A:66 X:8A Y:BB P:27 SP:FB CYC:209 SL:89
E1F5 D0 04 BNE $E1FB A:66 X:8A Y:BB P:27 SP:FB CYC:215 SL:89
E1F7 E0 8A CPX #$8A A:66 X:8A Y:BB P:27 SP:FB CYC:221 SL:89
E1F9 F0 04 BEQ $E1FF A:66 X:8A Y:BB P:27 SP:FB CYC:227 SL:89
E1FF A0 53 LDY #$53 A:66 X:8A Y:BB P:27 SP:FB CYC:236 SL:89
E201 A9 AA LDA #$AA A:66 X:8A Y:53 P:25 SP:FB CYC:242 SL:89
E203 A2 78 LDX #$78 A:AA X:8A Y:53 P:A5 SP:FB CYC:248 SL:89
E205 8D 78 06 STA $0678 = 00 A:AA X:78 Y:53 P:25 SP:FB CYC:254 SL:89
E208 20 B6 F7 JSR $F7B6 A:AA X:78 Y:53 P:25 SP:FB CYC:266 SL:89
F7B6 18 CLC A:AA X:78 Y:53 P:25 SP:F9 CYC:284 SL:89
F7B7 A9 FF LDA #$FF A:AA X:78 Y:53 P:24 SP:F9 CYC:290 SL:89
F7B9 85 01 STA $01 = FF A:FF X:78 Y:53 P:A4 SP:F9 CYC:296 SL:89
F7BB 24 01 BIT $01 = FF A:FF X:78 Y:53 P:A4 SP:F9 CYC:305 SL:89
F7BD A9 55 LDA #$55 A:FF X:78 Y:53 P:E4 SP:F9 CYC:314 SL:89
F7BF 60 RTS A:55 X:78 Y:53 P:64 SP:F9 CYC:320 SL:89
E20B 1D 00 06 ORA $0600,X @ 0678 = AA A:55 X:78 Y:53 P:64 SP:FB CYC:338 SL:89
E20E 20 C0 F7 JSR $F7C0 A:FF X:78 Y:53 P:E4 SP:FB CYC: 9 SL:90
F7C0 B0 09 BCS $F7CB A:FF X:78 Y:53 P:E4 SP:F9 CYC: 27 SL:90
F7C2 10 07 BPL $F7CB A:FF X:78 Y:53 P:E4 SP:F9 CYC: 33 SL:90
F7C4 C9 FF CMP #$FF A:FF X:78 Y:53 P:E4 SP:F9 CYC: 39 SL:90
F7C6 D0 03 BNE $F7CB A:FF X:78 Y:53 P:67 SP:F9 CYC: 45 SL:90
F7C8 50 01 BVC $F7CB A:FF X:78 Y:53 P:67 SP:F9 CYC: 51 SL:90
F7CA 60 RTS A:FF X:78 Y:53 P:67 SP:F9 CYC: 57 SL:90
E211 C8 INY A:FF X:78 Y:53 P:67 SP:FB CYC: 75 SL:90
E212 A9 00 LDA #$00 A:FF X:78 Y:54 P:65 SP:FB CYC: 81 SL:90
E214 8D 78 06 STA $0678 = AA A:00 X:78 Y:54 P:67 SP:FB CYC: 87 SL:90
E217 20 CE F7 JSR $F7CE A:00 X:78 Y:54 P:67 SP:FB CYC: 99 SL:90
F7CE 38 SEC A:00 X:78 Y:54 P:67 SP:F9 CYC:117 SL:90
F7CF B8 CLV A:00 X:78 Y:54 P:67 SP:F9 CYC:123 SL:90
F7D0 A9 00 LDA #$00 A:00 X:78 Y:54 P:27 SP:F9 CYC:129 SL:90
F7D2 60 RTS A:00 X:78 Y:54 P:27 SP:F9 CYC:135 SL:90
E21A 1D 00 06 ORA $0600,X @ 0678 = 00 A:00 X:78 Y:54 P:27 SP:FB CYC:153 SL:90
E21D 20 D3 F7 JSR $F7D3 A:00 X:78 Y:54 P:27 SP:FB CYC:165 SL:90
F7D3 D0 07 BNE $F7DC A:00 X:78 Y:54 P:27 SP:F9 CYC:183 SL:90
F7D5 70 05 BVS $F7DC A:00 X:78 Y:54 P:27 SP:F9 CYC:189 SL:90
F7D7 90 03 BCC $F7DC A:00 X:78 Y:54 P:27 SP:F9 CYC:195 SL:90
F7D9 30 01 BMI $F7DC A:00 X:78 Y:54 P:27 SP:F9 CYC:201 SL:90
F7DB 60 RTS A:00 X:78 Y:54 P:27 SP:F9 CYC:207 SL:90
E220 C8 INY A:00 X:78 Y:54 P:27 SP:FB CYC:225 SL:90
E221 A9 AA LDA #$AA A:00 X:78 Y:55 P:25 SP:FB CYC:231 SL:90
E223 8D 78 06 STA $0678 = 00 A:AA X:78 Y:55 P:A5 SP:FB CYC:237 SL:90
E226 20 DF F7 JSR $F7DF A:AA X:78 Y:55 P:A5 SP:FB CYC:249 SL:90
F7DF 18 CLC A:AA X:78 Y:55 P:A5 SP:F9 CYC:267 SL:90
F7E0 24 01 BIT $01 = FF A:AA X:78 Y:55 P:A4 SP:F9 CYC:273 SL:90
F7E2 A9 55 LDA #$55 A:AA X:78 Y:55 P:E4 SP:F9 CYC:282 SL:90
F7E4 60 RTS A:55 X:78 Y:55 P:64 SP:F9 CYC:288 SL:90
E229 3D 00 06 AND $0600,X @ 0678 = AA A:55 X:78 Y:55 P:64 SP:FB CYC:306 SL:90
E22C 20 E5 F7 JSR $F7E5 A:00 X:78 Y:55 P:66 SP:FB CYC:318 SL:90
F7E5 D0 07 BNE $F7EE A:00 X:78 Y:55 P:66 SP:F9 CYC:336 SL:90
F7E7 50 05 BVC $F7EE A:00 X:78 Y:55 P:66 SP:F9 CYC: 1 SL:91
F7E9 B0 03 BCS $F7EE A:00 X:78 Y:55 P:66 SP:F9 CYC: 7 SL:91
F7EB 30 01 BMI $F7EE A:00 X:78 Y:55 P:66 SP:F9 CYC: 13 SL:91
F7ED 60 RTS A:00 X:78 Y:55 P:66 SP:F9 CYC: 19 SL:91
E22F C8 INY A:00 X:78 Y:55 P:66 SP:FB CYC: 37 SL:91
E230 A9 EF LDA #$EF A:00 X:78 Y:56 P:64 SP:FB CYC: 43 SL:91
E232 8D 78 06 STA $0678 = AA A:EF X:78 Y:56 P:E4 SP:FB CYC: 49 SL:91
E235 20 F1 F7 JSR $F7F1 A:EF X:78 Y:56 P:E4 SP:FB CYC: 61 SL:91
F7F1 38 SEC A:EF X:78 Y:56 P:E4 SP:F9 CYC: 79 SL:91
F7F2 B8 CLV A:EF X:78 Y:56 P:E5 SP:F9 CYC: 85 SL:91
F7F3 A9 F8 LDA #$F8 A:EF X:78 Y:56 P:A5 SP:F9 CYC: 91 SL:91
F7F5 60 RTS A:F8 X:78 Y:56 P:A5 SP:F9 CYC: 97 SL:91
E238 3D 00 06 AND $0600,X @ 0678 = EF A:F8 X:78 Y:56 P:A5 SP:FB CYC:115 SL:91
E23B 20 F6 F7 JSR $F7F6 A:E8 X:78 Y:56 P:A5 SP:FB CYC:127 SL:91
F7F6 90 09 BCC $F801 A:E8 X:78 Y:56 P:A5 SP:F9 CYC:145 SL:91
F7F8 10 07 BPL $F801 A:E8 X:78 Y:56 P:A5 SP:F9 CYC:151 SL:91
F7FA C9 E8 CMP #$E8 A:E8 X:78 Y:56 P:A5 SP:F9 CYC:157 SL:91
F7FC D0 03 BNE $F801 A:E8 X:78 Y:56 P:27 SP:F9 CYC:163 SL:91
F7FE 70 01 BVS $F801 A:E8 X:78 Y:56 P:27 SP:F9 CYC:169 SL:91
F800 60 RTS A:E8 X:78 Y:56 P:27 SP:F9 CYC:175 SL:91
E23E C8 INY A:E8 X:78 Y:56 P:27 SP:FB CYC:193 SL:91
E23F A9 AA LDA #$AA A:E8 X:78 Y:57 P:25 SP:FB CYC:199 SL:91
E241 8D 78 06 STA $0678 = EF A:AA X:78 Y:57 P:A5 SP:FB CYC:205 SL:91
E244 20 04 F8 JSR $F804 A:AA X:78 Y:57 P:A5 SP:FB CYC:217 SL:91
F804 18 CLC A:AA X:78 Y:57 P:A5 SP:F9 CYC:235 SL:91
F805 24 01 BIT $01 = FF A:AA X:78 Y:57 P:A4 SP:F9 CYC:241 SL:91
F807 A9 5F LDA #$5F A:AA X:78 Y:57 P:E4 SP:F9 CYC:250 SL:91
F809 60 RTS A:5F X:78 Y:57 P:64 SP:F9 CYC:256 SL:91
E247 5D 00 06 EOR $0600,X @ 0678 = AA A:5F X:78 Y:57 P:64 SP:FB CYC:274 SL:91
E24A 20 0A F8 JSR $F80A A:F5 X:78 Y:57 P:E4 SP:FB CYC:286 SL:91
F80A B0 09 BCS $F815 A:F5 X:78 Y:57 P:E4 SP:F9 CYC:304 SL:91
F80C 10 07 BPL $F815 A:F5 X:78 Y:57 P:E4 SP:F9 CYC:310 SL:91
F80E C9 F5 CMP #$F5 A:F5 X:78 Y:57 P:E4 SP:F9 CYC:316 SL:91
F810 D0 03 BNE $F815 A:F5 X:78 Y:57 P:67 SP:F9 CYC:322 SL:91
F812 50 01 BVC $F815 A:F5 X:78 Y:57 P:67 SP:F9 CYC:328 SL:91
F814 60 RTS A:F5 X:78 Y:57 P:67 SP:F9 CYC:334 SL:91
E24D C8 INY A:F5 X:78 Y:57 P:67 SP:FB CYC: 11 SL:92
E24E A9 70 LDA #$70 A:F5 X:78 Y:58 P:65 SP:FB CYC: 17 SL:92
E250 8D 78 06 STA $0678 = AA A:70 X:78 Y:58 P:65 SP:FB CYC: 23 SL:92
E253 20 18 F8 JSR $F818 A:70 X:78 Y:58 P:65 SP:FB CYC: 35 SL:92
F818 38 SEC A:70 X:78 Y:58 P:65 SP:F9 CYC: 53 SL:92
F819 B8 CLV A:70 X:78 Y:58 P:65 SP:F9 CYC: 59 SL:92
F81A A9 70 LDA #$70 A:70 X:78 Y:58 P:25 SP:F9 CYC: 65 SL:92
F81C 60 RTS A:70 X:78 Y:58 P:25 SP:F9 CYC: 71 SL:92
E256 5D 00 06 EOR $0600,X @ 0678 = 70 A:70 X:78 Y:58 P:25 SP:FB CYC: 89 SL:92
E259 20 1D F8 JSR $F81D A:00 X:78 Y:58 P:27 SP:FB CYC:101 SL:92
F81D D0 07 BNE $F826 A:00 X:78 Y:58 P:27 SP:F9 CYC:119 SL:92
F81F 70 05 BVS $F826 A:00 X:78 Y:58 P:27 SP:F9 CYC:125 SL:92
F821 90 03 BCC $F826 A:00 X:78 Y:58 P:27 SP:F9 CYC:131 SL:92
F823 30 01 BMI $F826 A:00 X:78 Y:58 P:27 SP:F9 CYC:137 SL:92
F825 60 RTS A:00 X:78 Y:58 P:27 SP:F9 CYC:143 SL:92
E25C C8 INY A:00 X:78 Y:58 P:27 SP:FB CYC:161 SL:92
E25D A9 69 LDA #$69 A:00 X:78 Y:59 P:25 SP:FB CYC:167 SL:92
E25F 8D 78 06 STA $0678 = 70 A:69 X:78 Y:59 P:25 SP:FB CYC:173 SL:92
E262 20 29 F8 JSR $F829 A:69 X:78 Y:59 P:25 SP:FB CYC:185 SL:92
F829 18 CLC A:69 X:78 Y:59 P:25 SP:F9 CYC:203 SL:92
F82A 24 01 BIT $01 = FF A:69 X:78 Y:59 P:24 SP:F9 CYC:209 SL:92
F82C A9 00 LDA #$00 A:69 X:78 Y:59 P:E4 SP:F9 CYC:218 SL:92
F82E 60 RTS A:00 X:78 Y:59 P:66 SP:F9 CYC:224 SL:92
E265 7D 00 06 ADC $0600,X @ 0678 = 69 A:00 X:78 Y:59 P:66 SP:FB CYC:242 SL:92
E268 20 2F F8 JSR $F82F A:69 X:78 Y:59 P:24 SP:FB CYC:254 SL:92
F82F 30 09 BMI $F83A A:69 X:78 Y:59 P:24 SP:F9 CYC:272 SL:92
F831 B0 07 BCS $F83A A:69 X:78 Y:59 P:24 SP:F9 CYC:278 SL:92
F833 C9 69 CMP #$69 A:69 X:78 Y:59 P:24 SP:F9 CYC:284 SL:92
F835 D0 03 BNE $F83A A:69 X:78 Y:59 P:27 SP:F9 CYC:290 SL:92
F837 70 01 BVS $F83A A:69 X:78 Y:59 P:27 SP:F9 CYC:296 SL:92
F839 60 RTS A:69 X:78 Y:59 P:27 SP:F9 CYC:302 SL:92
E26B C8 INY A:69 X:78 Y:59 P:27 SP:FB CYC:320 SL:92
E26C 20 3D F8 JSR $F83D A:69 X:78 Y:5A P:25 SP:FB CYC:326 SL:92
F83D 38 SEC A:69 X:78 Y:5A P:25 SP:F9 CYC: 3 SL:93
F83E 24 01 BIT $01 = FF A:69 X:78 Y:5A P:25 SP:F9 CYC: 9 SL:93
F840 A9 00 LDA #$00 A:69 X:78 Y:5A P:E5 SP:F9 CYC: 18 SL:93
F842 60 RTS A:00 X:78 Y:5A P:67 SP:F9 CYC: 24 SL:93
E26F 7D 00 06 ADC $0600,X @ 0678 = 69 A:00 X:78 Y:5A P:67 SP:FB CYC: 42 SL:93
E272 20 43 F8 JSR $F843 A:6A X:78 Y:5A P:24 SP:FB CYC: 54 SL:93
F843 30 09 BMI $F84E A:6A X:78 Y:5A P:24 SP:F9 CYC: 72 SL:93
F845 B0 07 BCS $F84E A:6A X:78 Y:5A P:24 SP:F9 CYC: 78 SL:93
F847 C9 6A CMP #$6A A:6A X:78 Y:5A P:24 SP:F9 CYC: 84 SL:93
F849 D0 03 BNE $F84E A:6A X:78 Y:5A P:27 SP:F9 CYC: 90 SL:93
F84B 70 01 BVS $F84E A:6A X:78 Y:5A P:27 SP:F9 CYC: 96 SL:93
F84D 60 RTS A:6A X:78 Y:5A P:27 SP:F9 CYC:102 SL:93
E275 C8 INY A:6A X:78 Y:5A P:27 SP:FB CYC:120 SL:93
E276 A9 7F LDA #$7F A:6A X:78 Y:5B P:25 SP:FB CYC:126 SL:93
E278 8D 78 06 STA $0678 = 69 A:7F X:78 Y:5B P:25 SP:FB CYC:132 SL:93
E27B 20 51 F8 JSR $F851 A:7F X:78 Y:5B P:25 SP:FB CYC:144 SL:93
F851 38 SEC A:7F X:78 Y:5B P:25 SP:F9 CYC:162 SL:93
F852 B8 CLV A:7F X:78 Y:5B P:25 SP:F9 CYC:168 SL:93
F853 A9 7F LDA #$7F A:7F X:78 Y:5B P:25 SP:F9 CYC:174 SL:93
F855 60 RTS A:7F X:78 Y:5B P:25 SP:F9 CYC:180 SL:93
E27E 7D 00 06 ADC $0600,X @ 0678 = 7F A:7F X:78 Y:5B P:25 SP:FB CYC:198 SL:93
E281 20 56 F8 JSR $F856 A:FF X:78 Y:5B P:E4 SP:FB CYC:210 SL:93
F856 10 09 BPL $F861 A:FF X:78 Y:5B P:E4 SP:F9 CYC:228 SL:93
F858 B0 07 BCS $F861 A:FF X:78 Y:5B P:E4 SP:F9 CYC:234 SL:93
F85A C9 FF CMP #$FF A:FF X:78 Y:5B P:E4 SP:F9 CYC:240 SL:93
F85C D0 03 BNE $F861 A:FF X:78 Y:5B P:67 SP:F9 CYC:246 SL:93
F85E 50 01 BVC $F861 A:FF X:78 Y:5B P:67 SP:F9 CYC:252 SL:93
F860 60 RTS A:FF X:78 Y:5B P:67 SP:F9 CYC:258 SL:93
E284 C8 INY A:FF X:78 Y:5B P:67 SP:FB CYC:276 SL:93
E285 A9 80 LDA #$80 A:FF X:78 Y:5C P:65 SP:FB CYC:282 SL:93
E287 8D 78 06 STA $0678 = 7F A:80 X:78 Y:5C P:E5 SP:FB CYC:288 SL:93
E28A 20 64 F8 JSR $F864 A:80 X:78 Y:5C P:E5 SP:FB CYC:300 SL:93
F864 18 CLC A:80 X:78 Y:5C P:E5 SP:F9 CYC:318 SL:93
F865 24 01 BIT $01 = FF A:80 X:78 Y:5C P:E4 SP:F9 CYC:324 SL:93
F867 A9 7F LDA #$7F A:80 X:78 Y:5C P:E4 SP:F9 CYC:333 SL:93
F869 60 RTS A:7F X:78 Y:5C P:64 SP:F9 CYC:339 SL:93
E28D 7D 00 06 ADC $0600,X @ 0678 = 80 A:7F X:78 Y:5C P:64 SP:FB CYC: 16 SL:94
E290 20 6A F8 JSR $F86A A:FF X:78 Y:5C P:A4 SP:FB CYC: 28 SL:94
F86A 10 09 BPL $F875 A:FF X:78 Y:5C P:A4 SP:F9 CYC: 46 SL:94
F86C B0 07 BCS $F875 A:FF X:78 Y:5C P:A4 SP:F9 CYC: 52 SL:94
F86E C9 FF CMP #$FF A:FF X:78 Y:5C P:A4 SP:F9 CYC: 58 SL:94
F870 D0 03 BNE $F875 A:FF X:78 Y:5C P:27 SP:F9 CYC: 64 SL:94
F872 70 01 BVS $F875 A:FF X:78 Y:5C P:27 SP:F9 CYC: 70 SL:94
F874 60 RTS A:FF X:78 Y:5C P:27 SP:F9 CYC: 76 SL:94
E293 C8 INY A:FF X:78 Y:5C P:27 SP:FB CYC: 94 SL:94
E294 20 78 F8 JSR $F878 A:FF X:78 Y:5D P:25 SP:FB CYC:100 SL:94
F878 38 SEC A:FF X:78 Y:5D P:25 SP:F9 CYC:118 SL:94
F879 B8 CLV A:FF X:78 Y:5D P:25 SP:F9 CYC:124 SL:94
F87A A9 7F LDA #$7F A:FF X:78 Y:5D P:25 SP:F9 CYC:130 SL:94
F87C 60 RTS A:7F X:78 Y:5D P:25 SP:F9 CYC:136 SL:94
E297 7D 00 06 ADC $0600,X @ 0678 = 80 A:7F X:78 Y:5D P:25 SP:FB CYC:154 SL:94
E29A 20 7D F8 JSR $F87D A:00 X:78 Y:5D P:27 SP:FB CYC:166 SL:94
F87D D0 07 BNE $F886 A:00 X:78 Y:5D P:27 SP:F9 CYC:184 SL:94
F87F 30 05 BMI $F886 A:00 X:78 Y:5D P:27 SP:F9 CYC:190 SL:94
F881 70 03 BVS $F886 A:00 X:78 Y:5D P:27 SP:F9 CYC:196 SL:94
F883 90 01 BCC $F886 A:00 X:78 Y:5D P:27 SP:F9 CYC:202 SL:94
F885 60 RTS A:00 X:78 Y:5D P:27 SP:F9 CYC:208 SL:94
E29D C8 INY A:00 X:78 Y:5D P:27 SP:FB CYC:226 SL:94
E29E A9 40 LDA #$40 A:00 X:78 Y:5E P:25 SP:FB CYC:232 SL:94
E2A0 8D 78 06 STA $0678 = 80 A:40 X:78 Y:5E P:25 SP:FB CYC:238 SL:94
E2A3 20 89 F8 JSR $F889 A:40 X:78 Y:5E P:25 SP:FB CYC:250 SL:94
F889 24 01 BIT $01 = FF A:40 X:78 Y:5E P:25 SP:F9 CYC:268 SL:94
F88B A9 40 LDA #$40 A:40 X:78 Y:5E P:E5 SP:F9 CYC:277 SL:94
F88D 60 RTS A:40 X:78 Y:5E P:65 SP:F9 CYC:283 SL:94
E2A6 DD 00 06 CMP $0600,X @ 0678 = 40 A:40 X:78 Y:5E P:65 SP:FB CYC:301 SL:94
E2A9 20 8E F8 JSR $F88E A:40 X:78 Y:5E P:67 SP:FB CYC:313 SL:94
F88E 30 07 BMI $F897 A:40 X:78 Y:5E P:67 SP:F9 CYC:331 SL:94
F890 90 05 BCC $F897 A:40 X:78 Y:5E P:67 SP:F9 CYC:337 SL:94
F892 D0 03 BNE $F897 A:40 X:78 Y:5E P:67 SP:F9 CYC: 2 SL:95
F894 50 01 BVC $F897 A:40 X:78 Y:5E P:67 SP:F9 CYC: 8 SL:95
F896 60 RTS A:40 X:78 Y:5E P:67 SP:F9 CYC: 14 SL:95
E2AC C8 INY A:40 X:78 Y:5E P:67 SP:FB CYC: 32 SL:95
E2AD 48 PHA A:40 X:78 Y:5F P:65 SP:FB CYC: 38 SL:95
E2AE A9 3F LDA #$3F A:40 X:78 Y:5F P:65 SP:FA CYC: 47 SL:95
E2B0 8D 78 06 STA $0678 = 40 A:3F X:78 Y:5F P:65 SP:FA CYC: 53 SL:95
E2B3 68 PLA A:3F X:78 Y:5F P:65 SP:FA CYC: 65 SL:95
E2B4 20 9A F8 JSR $F89A A:40 X:78 Y:5F P:65 SP:FB CYC: 77 SL:95
F89A B8 CLV A:40 X:78 Y:5F P:65 SP:F9 CYC: 95 SL:95
F89B 60 RTS A:40 X:78 Y:5F P:25 SP:F9 CYC:101 SL:95
E2B7 DD 00 06 CMP $0600,X @ 0678 = 3F A:40 X:78 Y:5F P:25 SP:FB CYC:119 SL:95
E2BA 20 9C F8 JSR $F89C A:40 X:78 Y:5F P:25 SP:FB CYC:131 SL:95
F89C F0 07 BEQ $F8A5 A:40 X:78 Y:5F P:25 SP:F9 CYC:149 SL:95
F89E 30 05 BMI $F8A5 A:40 X:78 Y:5F P:25 SP:F9 CYC:155 SL:95
F8A0 90 03 BCC $F8A5 A:40 X:78 Y:5F P:25 SP:F9 CYC:161 SL:95
F8A2 70 01 BVS $F8A5 A:40 X:78 Y:5F P:25 SP:F9 CYC:167 SL:95
F8A4 60 RTS A:40 X:78 Y:5F P:25 SP:F9 CYC:173 SL:95
E2BD C8 INY A:40 X:78 Y:5F P:25 SP:FB CYC:191 SL:95
E2BE 48 PHA A:40 X:78 Y:60 P:25 SP:FB CYC:197 SL:95
E2BF A9 41 LDA #$41 A:40 X:78 Y:60 P:25 SP:FA CYC:206 SL:95
E2C1 8D 78 06 STA $0678 = 3F A:41 X:78 Y:60 P:25 SP:FA CYC:212 SL:95
E2C4 68 PLA A:41 X:78 Y:60 P:25 SP:FA CYC:224 SL:95
E2C5 DD 00 06 CMP $0600,X @ 0678 = 41 A:40 X:78 Y:60 P:25 SP:FB CYC:236 SL:95
E2C8 20 A8 F8 JSR $F8A8 A:40 X:78 Y:60 P:A4 SP:FB CYC:248 SL:95
F8A8 F0 05 BEQ $F8AF A:40 X:78 Y:60 P:A4 SP:F9 CYC:266 SL:95
F8AA 10 03 BPL $F8AF A:40 X:78 Y:60 P:A4 SP:F9 CYC:272 SL:95
F8AC 10 01 BPL $F8AF A:40 X:78 Y:60 P:A4 SP:F9 CYC:278 SL:95
F8AE 60 RTS A:40 X:78 Y:60 P:A4 SP:F9 CYC:284 SL:95
E2CB C8 INY A:40 X:78 Y:60 P:A4 SP:FB CYC:302 SL:95
E2CC 48 PHA A:40 X:78 Y:61 P:24 SP:FB CYC:308 SL:95
E2CD A9 00 LDA #$00 A:40 X:78 Y:61 P:24 SP:FA CYC:317 SL:95
E2CF 8D 78 06 STA $0678 = 41 A:00 X:78 Y:61 P:26 SP:FA CYC:323 SL:95
E2D2 68 PLA A:00 X:78 Y:61 P:26 SP:FA CYC:335 SL:95
E2D3 20 B2 F8 JSR $F8B2 A:40 X:78 Y:61 P:24 SP:FB CYC: 6 SL:96
F8B2 A9 80 LDA #$80 A:40 X:78 Y:61 P:24 SP:F9 CYC: 24 SL:96
F8B4 60 RTS A:80 X:78 Y:61 P:A4 SP:F9 CYC: 30 SL:96
E2D6 DD 00 06 CMP $0600,X @ 0678 = 00 A:80 X:78 Y:61 P:A4 SP:FB CYC: 48 SL:96
E2D9 20 B5 F8 JSR $F8B5 A:80 X:78 Y:61 P:A5 SP:FB CYC: 60 SL:96
F8B5 F0 05 BEQ $F8BC A:80 X:78 Y:61 P:A5 SP:F9 CYC: 78 SL:96
F8B7 10 03 BPL $F8BC A:80 X:78 Y:61 P:A5 SP:F9 CYC: 84 SL:96
F8B9 90 01 BCC $F8BC A:80 X:78 Y:61 P:A5 SP:F9 CYC: 90 SL:96
F8BB 60 RTS A:80 X:78 Y:61 P:A5 SP:F9 CYC: 96 SL:96
E2DC C8 INY A:80 X:78 Y:61 P:A5 SP:FB CYC:114 SL:96
E2DD 48 PHA A:80 X:78 Y:62 P:25 SP:FB CYC:120 SL:96
E2DE A9 80 LDA #$80 A:80 X:78 Y:62 P:25 SP:FA CYC:129 SL:96
E2E0 8D 78 06 STA $0678 = 00 A:80 X:78 Y:62 P:A5 SP:FA CYC:135 SL:96
E2E3 68 PLA A:80 X:78 Y:62 P:A5 SP:FA CYC:147 SL:96
E2E4 DD 00 06 CMP $0600,X @ 0678 = 80 A:80 X:78 Y:62 P:A5 SP:FB CYC:159 SL:96
E2E7 20 BF F8 JSR $F8BF A:80 X:78 Y:62 P:27 SP:FB CYC:171 SL:96
F8BF D0 05 BNE $F8C6 A:80 X:78 Y:62 P:27 SP:F9 CYC:189 SL:96
F8C1 30 03 BMI $F8C6 A:80 X:78 Y:62 P:27 SP:F9 CYC:195 SL:96
F8C3 90 01 BCC $F8C6 A:80 X:78 Y:62 P:27 SP:F9 CYC:201 SL:96
F8C5 60 RTS A:80 X:78 Y:62 P:27 SP:F9 CYC:207 SL:96
E2EA C8 INY A:80 X:78 Y:62 P:27 SP:FB CYC:225 SL:96
E2EB 48 PHA A:80 X:78 Y:63 P:25 SP:FB CYC:231 SL:96
E2EC A9 81 LDA #$81 A:80 X:78 Y:63 P:25 SP:FA CYC:240 SL:96
E2EE 8D 78 06 STA $0678 = 80 A:81 X:78 Y:63 P:A5 SP:FA CYC:246 SL:96
E2F1 68 PLA A:81 X:78 Y:63 P:A5 SP:FA CYC:258 SL:96
E2F2 DD 00 06 CMP $0600,X @ 0678 = 81 A:80 X:78 Y:63 P:A5 SP:FB CYC:270 SL:96
E2F5 20 C9 F8 JSR $F8C9 A:80 X:78 Y:63 P:A4 SP:FB CYC:282 SL:96
F8C9 B0 05 BCS $F8D0 A:80 X:78 Y:63 P:A4 SP:F9 CYC:300 SL:96
F8CB F0 03 BEQ $F8D0 A:80 X:78 Y:63 P:A4 SP:F9 CYC:306 SL:96
F8CD 10 01 BPL $F8D0 A:80 X:78 Y:63 P:A4 SP:F9 CYC:312 SL:96
F8CF 60 RTS A:80 X:78 Y:63 P:A4 SP:F9 CYC:318 SL:96
E2F8 C8 INY A:80 X:78 Y:63 P:A4 SP:FB CYC:336 SL:96
E2F9 48 PHA A:80 X:78 Y:64 P:24 SP:FB CYC: 1 SL:97
E2FA A9 7F LDA #$7F A:80 X:78 Y:64 P:24 SP:FA CYC: 10 SL:97
E2FC 8D 78 06 STA $0678 = 81 A:7F X:78 Y:64 P:24 SP:FA CYC: 16 SL:97
E2FF 68 PLA A:7F X:78 Y:64 P:24 SP:FA CYC: 28 SL:97
E300 DD 00 06 CMP $0600,X @ 0678 = 7F A:80 X:78 Y:64 P:A4 SP:FB CYC: 40 SL:97
E303 20 D3 F8 JSR $F8D3 A:80 X:78 Y:64 P:25 SP:FB CYC: 52 SL:97
F8D3 90 05 BCC $F8DA A:80 X:78 Y:64 P:25 SP:F9 CYC: 70 SL:97
F8D5 F0 03 BEQ $F8DA A:80 X:78 Y:64 P:25 SP:F9 CYC: 76 SL:97
F8D7 30 01 BMI $F8DA A:80 X:78 Y:64 P:25 SP:F9 CYC: 82 SL:97
F8D9 60 RTS A:80 X:78 Y:64 P:25 SP:F9 CYC: 88 SL:97
E306 C8 INY A:80 X:78 Y:64 P:25 SP:FB CYC:106 SL:97
E307 A9 40 LDA #$40 A:80 X:78 Y:65 P:25 SP:FB CYC:112 SL:97
E309 8D 78 06 STA $0678 = 7F A:40 X:78 Y:65 P:25 SP:FB CYC:118 SL:97
E30C 20 31 F9 JSR $F931 A:40 X:78 Y:65 P:25 SP:FB CYC:130 SL:97
F931 24 01 BIT $01 = FF A:40 X:78 Y:65 P:25 SP:F9 CYC:148 SL:97
F933 A9 40 LDA #$40 A:40 X:78 Y:65 P:E5 SP:F9 CYC:157 SL:97
F935 38 SEC A:40 X:78 Y:65 P:65 SP:F9 CYC:163 SL:97
F936 60 RTS A:40 X:78 Y:65 P:65 SP:F9 CYC:169 SL:97
E30F FD 00 06 SBC $0600,X @ 0678 = 40 A:40 X:78 Y:65 P:65 SP:FB CYC:187 SL:97
E312 20 37 F9 JSR $F937 A:00 X:78 Y:65 P:27 SP:FB CYC:199 SL:97
F937 30 0B BMI $F944 A:00 X:78 Y:65 P:27 SP:F9 CYC:217 SL:97
F939 90 09 BCC $F944 A:00 X:78 Y:65 P:27 SP:F9 CYC:223 SL:97
F93B D0 07 BNE $F944 A:00 X:78 Y:65 P:27 SP:F9 CYC:229 SL:97
F93D 70 05 BVS $F944 A:00 X:78 Y:65 P:27 SP:F9 CYC:235 SL:97
F93F C9 00 CMP #$00 A:00 X:78 Y:65 P:27 SP:F9 CYC:241 SL:97
F941 D0 01 BNE $F944 A:00 X:78 Y:65 P:27 SP:F9 CYC:247 SL:97
F943 60 RTS A:00 X:78 Y:65 P:27 SP:F9 CYC:253 SL:97
E315 C8 INY A:00 X:78 Y:65 P:27 SP:FB CYC:271 SL:97
E316 A9 3F LDA #$3F A:00 X:78 Y:66 P:25 SP:FB CYC:277 SL:97
E318 8D 78 06 STA $0678 = 40 A:3F X:78 Y:66 P:25 SP:FB CYC:283 SL:97
E31B 20 47 F9 JSR $F947 A:3F X:78 Y:66 P:25 SP:FB CYC:295 SL:97
F947 B8 CLV A:3F X:78 Y:66 P:25 SP:F9 CYC:313 SL:97
F948 38 SEC A:3F X:78 Y:66 P:25 SP:F9 CYC:319 SL:97
F949 A9 40 LDA #$40 A:3F X:78 Y:66 P:25 SP:F9 CYC:325 SL:97
F94B 60 RTS A:40 X:78 Y:66 P:25 SP:F9 CYC:331 SL:97
E31E FD 00 06 SBC $0600,X @ 0678 = 3F A:40 X:78 Y:66 P:25 SP:FB CYC: 8 SL:98
E321 20 4C F9 JSR $F94C A:01 X:78 Y:66 P:25 SP:FB CYC: 20 SL:98
F94C F0 0B BEQ $F959 A:01 X:78 Y:66 P:25 SP:F9 CYC: 38 SL:98
F94E 30 09 BMI $F959 A:01 X:78 Y:66 P:25 SP:F9 CYC: 44 SL:98
F950 90 07 BCC $F959 A:01 X:78 Y:66 P:25 SP:F9 CYC: 50 SL:98
F952 70 05 BVS $F959 A:01 X:78 Y:66 P:25 SP:F9 CYC: 56 SL:98
F954 C9 01 CMP #$01 A:01 X:78 Y:66 P:25 SP:F9 CYC: 62 SL:98
F956 D0 01 BNE $F959 A:01 X:78 Y:66 P:27 SP:F9 CYC: 68 SL:98
F958 60 RTS A:01 X:78 Y:66 P:27 SP:F9 CYC: 74 SL:98
E324 C8 INY A:01 X:78 Y:66 P:27 SP:FB CYC: 92 SL:98
E325 A9 41 LDA #$41 A:01 X:78 Y:67 P:25 SP:FB CYC: 98 SL:98
E327 8D 78 06 STA $0678 = 3F A:41 X:78 Y:67 P:25 SP:FB CYC:104 SL:98
E32A 20 5C F9 JSR $F95C A:41 X:78 Y:67 P:25 SP:FB CYC:116 SL:98
F95C A9 40 LDA #$40 A:41 X:78 Y:67 P:25 SP:F9 CYC:134 SL:98
F95E 38 SEC A:40 X:78 Y:67 P:25 SP:F9 CYC:140 SL:98
F95F 24 01 BIT $01 = FF A:40 X:78 Y:67 P:25 SP:F9 CYC:146 SL:98
F961 60 RTS A:40 X:78 Y:67 P:E5 SP:F9 CYC:155 SL:98
E32D FD 00 06 SBC $0600,X @ 0678 = 41 A:40 X:78 Y:67 P:E5 SP:FB CYC:173 SL:98
E330 20 62 F9 JSR $F962 A:FF X:78 Y:67 P:A4 SP:FB CYC:185 SL:98
F962 B0 0B BCS $F96F A:FF X:78 Y:67 P:A4 SP:F9 CYC:203 SL:98
F964 F0 09 BEQ $F96F A:FF X:78 Y:67 P:A4 SP:F9 CYC:209 SL:98
F966 10 07 BPL $F96F A:FF X:78 Y:67 P:A4 SP:F9 CYC:215 SL:98
F968 70 05 BVS $F96F A:FF X:78 Y:67 P:A4 SP:F9 CYC:221 SL:98
F96A C9 FF CMP #$FF A:FF X:78 Y:67 P:A4 SP:F9 CYC:227 SL:98
F96C D0 01 BNE $F96F A:FF X:78 Y:67 P:27 SP:F9 CYC:233 SL:98
F96E 60 RTS A:FF X:78 Y:67 P:27 SP:F9 CYC:239 SL:98
E333 C8 INY A:FF X:78 Y:67 P:27 SP:FB CYC:257 SL:98
E334 A9 00 LDA #$00 A:FF X:78 Y:68 P:25 SP:FB CYC:263 SL:98
E336 8D 78 06 STA $0678 = 41 A:00 X:78 Y:68 P:27 SP:FB CYC:269 SL:98
E339 20 72 F9 JSR $F972 A:00 X:78 Y:68 P:27 SP:FB CYC:281 SL:98
F972 18 CLC A:00 X:78 Y:68 P:27 SP:F9 CYC:299 SL:98
F973 A9 80 LDA #$80 A:00 X:78 Y:68 P:26 SP:F9 CYC:305 SL:98
F975 60 RTS A:80 X:78 Y:68 P:A4 SP:F9 CYC:311 SL:98
E33C FD 00 06 SBC $0600,X @ 0678 = 00 A:80 X:78 Y:68 P:A4 SP:FB CYC:329 SL:98
E33F 20 76 F9 JSR $F976 A:7F X:78 Y:68 P:65 SP:FB CYC: 0 SL:99
F976 90 05 BCC $F97D A:7F X:78 Y:68 P:65 SP:F9 CYC: 18 SL:99
F978 C9 7F CMP #$7F A:7F X:78 Y:68 P:65 SP:F9 CYC: 24 SL:99
F97A D0 01 BNE $F97D A:7F X:78 Y:68 P:67 SP:F9 CYC: 30 SL:99
F97C 60 RTS A:7F X:78 Y:68 P:67 SP:F9 CYC: 36 SL:99
E342 C8 INY A:7F X:78 Y:68 P:67 SP:FB CYC: 54 SL:99
E343 A9 7F LDA #$7F A:7F X:78 Y:69 P:65 SP:FB CYC: 60 SL:99
E345 8D 78 06 STA $0678 = 00 A:7F X:78 Y:69 P:65 SP:FB CYC: 66 SL:99
E348 20 80 F9 JSR $F980 A:7F X:78 Y:69 P:65 SP:FB CYC: 78 SL:99
F980 38 SEC A:7F X:78 Y:69 P:65 SP:F9 CYC: 96 SL:99
F981 A9 81 LDA #$81 A:7F X:78 Y:69 P:65 SP:F9 CYC:102 SL:99
F983 60 RTS A:81 X:78 Y:69 P:E5 SP:F9 CYC:108 SL:99
E34B FD 00 06 SBC $0600,X @ 0678 = 7F A:81 X:78 Y:69 P:E5 SP:FB CYC:126 SL:99
E34E 20 84 F9 JSR $F984 A:02 X:78 Y:69 P:65 SP:FB CYC:138 SL:99
F984 50 07 BVC $F98D A:02 X:78 Y:69 P:65 SP:F9 CYC:156 SL:99
F986 90 05 BCC $F98D A:02 X:78 Y:69 P:65 SP:F9 CYC:162 SL:99
F988 C9 02 CMP #$02 A:02 X:78 Y:69 P:65 SP:F9 CYC:168 SL:99
F98A D0 01 BNE $F98D A:02 X:78 Y:69 P:67 SP:F9 CYC:174 SL:99
F98C 60 RTS A:02 X:78 Y:69 P:67 SP:F9 CYC:180 SL:99
E351 A9 AA LDA #$AA A:02 X:78 Y:69 P:67 SP:FB CYC:198 SL:99
E353 8D 33 06 STA $0633 = AA A:AA X:78 Y:69 P:E5 SP:FB CYC:204 SL:99
E356 A9 BB LDA #$BB A:AA X:78 Y:69 P:E5 SP:FB CYC:216 SL:99
E358 8D 89 06 STA $0689 = BB A:BB X:78 Y:69 P:E5 SP:FB CYC:222 SL:99
E35B A2 00 LDX #$00 A:BB X:78 Y:69 P:E5 SP:FB CYC:234 SL:99
E35D A0 66 LDY #$66 A:BB X:00 Y:69 P:67 SP:FB CYC:240 SL:99
E35F 24 01 BIT $01 = FF A:BB X:00 Y:66 P:65 SP:FB CYC:246 SL:99
E361 38 SEC A:BB X:00 Y:66 P:E5 SP:FB CYC:255 SL:99
E362 A9 00 LDA #$00 A:BB X:00 Y:66 P:E5 SP:FB CYC:261 SL:99
E364 BD 33 06 LDA $0633,X @ 0633 = AA A:00 X:00 Y:66 P:67 SP:FB CYC:267 SL:99
E367 10 12 BPL $E37B A:AA X:00 Y:66 P:E5 SP:FB CYC:279 SL:99
E369 F0 10 BEQ $E37B A:AA X:00 Y:66 P:E5 SP:FB CYC:285 SL:99
E36B 50 0E BVC $E37B A:AA X:00 Y:66 P:E5 SP:FB CYC:291 SL:99
E36D 90 0C BCC $E37B A:AA X:00 Y:66 P:E5 SP:FB CYC:297 SL:99
E36F C0 66 CPY #$66 A:AA X:00 Y:66 P:E5 SP:FB CYC:303 SL:99
E371 D0 08 BNE $E37B A:AA X:00 Y:66 P:67 SP:FB CYC:309 SL:99
E373 E0 00 CPX #$00 A:AA X:00 Y:66 P:67 SP:FB CYC:315 SL:99
E375 D0 04 BNE $E37B A:AA X:00 Y:66 P:67 SP:FB CYC:321 SL:99
E377 C9 AA CMP #$AA A:AA X:00 Y:66 P:67 SP:FB CYC:327 SL:99
E379 F0 04 BEQ $E37F A:AA X:00 Y:66 P:67 SP:FB CYC:333 SL:99
E37F A2 8A LDX #$8A A:AA X:00 Y:66 P:67 SP:FB CYC: 1 SL:100
E381 A0 66 LDY #$66 A:AA X:8A Y:66 P:E5 SP:FB CYC: 7 SL:100
E383 B8 CLV A:AA X:8A Y:66 P:65 SP:FB CYC: 13 SL:100
E384 18 CLC A:AA X:8A Y:66 P:25 SP:FB CYC: 19 SL:100
E385 A9 00 LDA #$00 A:AA X:8A Y:66 P:24 SP:FB CYC: 25 SL:100
E387 BD FF 05 LDA $05FF,X @ 0689 = BB A:00 X:8A Y:66 P:26 SP:FB CYC: 31 SL:100
E38A 10 12 BPL $E39E A:BB X:8A Y:66 P:A4 SP:FB CYC: 46 SL:100
E38C F0 10 BEQ $E39E A:BB X:8A Y:66 P:A4 SP:FB CYC: 52 SL:100
E38E 70 0E BVS $E39E A:BB X:8A Y:66 P:A4 SP:FB CYC: 58 SL:100
E390 B0 0C BCS $E39E A:BB X:8A Y:66 P:A4 SP:FB CYC: 64 SL:100
E392 C9 BB CMP #$BB A:BB X:8A Y:66 P:A4 SP:FB CYC: 70 SL:100
E394 D0 08 BNE $E39E A:BB X:8A Y:66 P:27 SP:FB CYC: 76 SL:100
E396 C0 66 CPY #$66 A:BB X:8A Y:66 P:27 SP:FB CYC: 82 SL:100
E398 D0 04 BNE $E39E A:BB X:8A Y:66 P:27 SP:FB CYC: 88 SL:100
E39A E0 8A CPX #$8A A:BB X:8A Y:66 P:27 SP:FB CYC: 94 SL:100
E39C F0 04 BEQ $E3A2 A:BB X:8A Y:66 P:27 SP:FB CYC:100 SL:100
E3A2 24 01 BIT $01 = FF A:BB X:8A Y:66 P:27 SP:FB CYC:109 SL:100
E3A4 38 SEC A:BB X:8A Y:66 P:E5 SP:FB CYC:118 SL:100
E3A5 A9 44 LDA #$44 A:BB X:8A Y:66 P:E5 SP:FB CYC:124 SL:100
E3A7 A2 00 LDX #$00 A:44 X:8A Y:66 P:65 SP:FB CYC:130 SL:100
E3A9 9D 33 06 STA $0633,X @ 0633 = AA A:44 X:00 Y:66 P:67 SP:FB CYC:136 SL:100
E3AC AD 33 06 LDA $0633 = 44 A:44 X:00 Y:66 P:67 SP:FB CYC:151 SL:100
E3AF 90 1A BCC $E3CB A:44 X:00 Y:66 P:65 SP:FB CYC:163 SL:100
E3B1 C9 44 CMP #$44 A:44 X:00 Y:66 P:65 SP:FB CYC:169 SL:100
E3B3 D0 16 BNE $E3CB A:44 X:00 Y:66 P:67 SP:FB CYC:175 SL:100
E3B5 50 14 BVC $E3CB A:44 X:00 Y:66 P:67 SP:FB CYC:181 SL:100
E3B7 18 CLC A:44 X:00 Y:66 P:67 SP:FB CYC:187 SL:100
E3B8 B8 CLV A:44 X:00 Y:66 P:66 SP:FB CYC:193 SL:100
E3B9 A9 99 LDA #$99 A:44 X:00 Y:66 P:26 SP:FB CYC:199 SL:100
E3BB A2 80 LDX #$80 A:99 X:00 Y:66 P:A4 SP:FB CYC:205 SL:100
E3BD 9D 85 05 STA $0585,X @ 0605 = 00 A:99 X:80 Y:66 P:A4 SP:FB CYC:211 SL:100
E3C0 AD 05 06 LDA $0605 = 99 A:99 X:80 Y:66 P:A4 SP:FB CYC:226 SL:100
E3C3 B0 06 BCS $E3CB A:99 X:80 Y:66 P:A4 SP:FB CYC:238 SL:100
E3C5 C9 99 CMP #$99 A:99 X:80 Y:66 P:A4 SP:FB CYC:244 SL:100
E3C7 D0 02 BNE $E3CB A:99 X:80 Y:66 P:27 SP:FB CYC:250 SL:100
E3C9 50 04 BVC $E3CF A:99 X:80 Y:66 P:27 SP:FB CYC:256 SL:100
E3CF A0 6D LDY #$6D A:99 X:80 Y:66 P:27 SP:FB CYC:265 SL:100
E3D1 A2 6D LDX #$6D A:99 X:80 Y:6D P:25 SP:FB CYC:271 SL:100
E3D3 20 90 F9 JSR $F990 A:99 X:6D Y:6D P:25 SP:FB CYC:277 SL:100
F990 A2 55 LDX #$55 A:99 X:6D Y:6D P:25 SP:F9 CYC:295 SL:100
F992 A9 FF LDA #$FF A:99 X:55 Y:6D P:25 SP:F9 CYC:301 SL:100
F994 85 01 STA $01 = FF A:FF X:55 Y:6D P:A5 SP:F9 CYC:307 SL:100
F996 EA NOP A:FF X:55 Y:6D P:A5 SP:F9 CYC:316 SL:100
F997 24 01 BIT $01 = FF A:FF X:55 Y:6D P:A5 SP:F9 CYC:322 SL:100
F999 38 SEC A:FF X:55 Y:6D P:E5 SP:F9 CYC:331 SL:100
F99A A9 01 LDA #$01 A:FF X:55 Y:6D P:E5 SP:F9 CYC:337 SL:100
F99C 60 RTS A:01 X:55 Y:6D P:65 SP:F9 CYC: 2 SL:101
E3D6 9D 00 06 STA $0600,X @ 0655 = 00 A:01 X:55 Y:6D P:65 SP:FB CYC: 20 SL:101
E3D9 5E 00 06 LSR $0600,X @ 0655 = 01 A:01 X:55 Y:6D P:65 SP:FB CYC: 35 SL:101
E3DC BD 00 06 LDA $0600,X @ 0655 = 00 A:01 X:55 Y:6D P:67 SP:FB CYC: 56 SL:101
E3DF 20 9D F9 JSR $F99D A:00 X:55 Y:6D P:67 SP:FB CYC: 68 SL:101
F99D 90 1B BCC $F9BA A:00 X:55 Y:6D P:67 SP:F9 CYC: 86 SL:101
F99F D0 19 BNE $F9BA A:00 X:55 Y:6D P:67 SP:F9 CYC: 92 SL:101
F9A1 30 17 BMI $F9BA A:00 X:55 Y:6D P:67 SP:F9 CYC: 98 SL:101
F9A3 50 15 BVC $F9BA A:00 X:55 Y:6D P:67 SP:F9 CYC:104 SL:101
F9A5 C9 00 CMP #$00 A:00 X:55 Y:6D P:67 SP:F9 CYC:110 SL:101
F9A7 D0 11 BNE $F9BA A:00 X:55 Y:6D P:67 SP:F9 CYC:116 SL:101
F9A9 B8 CLV A:00 X:55 Y:6D P:67 SP:F9 CYC:122 SL:101
F9AA A9 AA LDA #$AA A:00 X:55 Y:6D P:27 SP:F9 CYC:128 SL:101
F9AC 60 RTS A:AA X:55 Y:6D P:A5 SP:F9 CYC:134 SL:101
E3E2 C8 INY A:AA X:55 Y:6D P:A5 SP:FB CYC:152 SL:101
E3E3 9D 00 06 STA $0600,X @ 0655 = 00 A:AA X:55 Y:6E P:25 SP:FB CYC:158 SL:101
E3E6 5E 00 06 LSR $0600,X @ 0655 = AA A:AA X:55 Y:6E P:25 SP:FB CYC:173 SL:101
E3E9 BD 00 06 LDA $0600,X @ 0655 = 55 A:AA X:55 Y:6E P:24 SP:FB CYC:194 SL:101
E3EC 20 AD F9 JSR $F9AD A:55 X:55 Y:6E P:24 SP:FB CYC:206 SL:101
F9AD B0 0B BCS $F9BA A:55 X:55 Y:6E P:24 SP:F9 CYC:224 SL:101
F9AF F0 09 BEQ $F9BA A:55 X:55 Y:6E P:24 SP:F9 CYC:230 SL:101
F9B1 30 07 BMI $F9BA A:55 X:55 Y:6E P:24 SP:F9 CYC:236 SL:101
F9B3 70 05 BVS $F9BA A:55 X:55 Y:6E P:24 SP:F9 CYC:242 SL:101
F9B5 C9 55 CMP #$55 A:55 X:55 Y:6E P:24 SP:F9 CYC:248 SL:101
F9B7 D0 01 BNE $F9BA A:55 X:55 Y:6E P:27 SP:F9 CYC:254 SL:101
F9B9 60 RTS A:55 X:55 Y:6E P:27 SP:F9 CYC:260 SL:101
E3EF C8 INY A:55 X:55 Y:6E P:27 SP:FB CYC:278 SL:101
E3F0 20 BD F9 JSR $F9BD A:55 X:55 Y:6F P:25 SP:FB CYC:284 SL:101
F9BD 24 01 BIT $01 = FF A:55 X:55 Y:6F P:25 SP:F9 CYC:302 SL:101
F9BF 38 SEC A:55 X:55 Y:6F P:E5 SP:F9 CYC:311 SL:101
F9C0 A9 80 LDA #$80 A:55 X:55 Y:6F P:E5 SP:F9 CYC:317 SL:101
F9C2 60 RTS A:80 X:55 Y:6F P:E5 SP:F9 CYC:323 SL:101
E3F3 9D 00 06 STA $0600,X @ 0655 = 55 A:80 X:55 Y:6F P:E5 SP:FB CYC: 0 SL:102
E3F6 1E 00 06 ASL $0600,X @ 0655 = 80 A:80 X:55 Y:6F P:E5 SP:FB CYC: 15 SL:102
E3F9 BD 00 06 LDA $0600,X @ 0655 = 00 A:80 X:55 Y:6F P:67 SP:FB CYC: 36 SL:102
E3FC 20 C3 F9 JSR $F9C3 A:00 X:55 Y:6F P:67 SP:FB CYC: 48 SL:102
F9C3 90 1C BCC $F9E1 A:00 X:55 Y:6F P:67 SP:F9 CYC: 66 SL:102
F9C5 D0 1A BNE $F9E1 A:00 X:55 Y:6F P:67 SP:F9 CYC: 72 SL:102
F9C7 30 18 BMI $F9E1 A:00 X:55 Y:6F P:67 SP:F9 CYC: 78 SL:102
F9C9 50 16 BVC $F9E1 A:00 X:55 Y:6F P:67 SP:F9 CYC: 84 SL:102
F9CB C9 00 CMP #$00 A:00 X:55 Y:6F P:67 SP:F9 CYC: 90 SL:102
F9CD D0 12 BNE $F9E1 A:00 X:55 Y:6F P:67 SP:F9 CYC: 96 SL:102
F9CF B8 CLV A:00 X:55 Y:6F P:67 SP:F9 CYC:102 SL:102
F9D0 A9 55 LDA #$55 A:00 X:55 Y:6F P:27 SP:F9 CYC:108 SL:102
F9D2 38 SEC A:55 X:55 Y:6F P:25 SP:F9 CYC:114 SL:102
F9D3 60 RTS A:55 X:55 Y:6F P:25 SP:F9 CYC:120 SL:102
E3FF C8 INY A:55 X:55 Y:6F P:25 SP:FB CYC:138 SL:102
E400 9D 00 06 STA $0600,X @ 0655 = 00 A:55 X:55 Y:70 P:25 SP:FB CYC:144 SL:102
E403 1E 00 06 ASL $0600,X @ 0655 = 55 A:55 X:55 Y:70 P:25 SP:FB CYC:159 SL:102
E406 BD 00 06 LDA $0600,X @ 0655 = AA A:55 X:55 Y:70 P:A4 SP:FB CYC:180 SL:102
E409 20 D4 F9 JSR $F9D4 A:AA X:55 Y:70 P:A4 SP:FB CYC:192 SL:102
F9D4 B0 0B BCS $F9E1 A:AA X:55 Y:70 P:A4 SP:F9 CYC:210 SL:102
F9D6 F0 09 BEQ $F9E1 A:AA X:55 Y:70 P:A4 SP:F9 CYC:216 SL:102
F9D8 10 07 BPL $F9E1 A:AA X:55 Y:70 P:A4 SP:F9 CYC:222 SL:102
F9DA 70 05 BVS $F9E1 A:AA X:55 Y:70 P:A4 SP:F9 CYC:228 SL:102
F9DC C9 AA CMP #$AA A:AA X:55 Y:70 P:A4 SP:F9 CYC:234 SL:102
F9DE D0 01 BNE $F9E1 A:AA X:55 Y:70 P:27 SP:F9 CYC:240 SL:102
F9E0 60 RTS A:AA X:55 Y:70 P:27 SP:F9 CYC:246 SL:102
E40C C8 INY A:AA X:55 Y:70 P:27 SP:FB CYC:264 SL:102
E40D 20 E4 F9 JSR $F9E4 A:AA X:55 Y:71 P:25 SP:FB CYC:270 SL:102
F9E4 24 01 BIT $01 = FF A:AA X:55 Y:71 P:25 SP:F9 CYC:288 SL:102
F9E6 38 SEC A:AA X:55 Y:71 P:E5 SP:F9 CYC:297 SL:102
F9E7 A9 01 LDA #$01 A:AA X:55 Y:71 P:E5 SP:F9 CYC:303 SL:102
F9E9 60 RTS A:01 X:55 Y:71 P:65 SP:F9 CYC:309 SL:102
E410 9D 00 06 STA $0600,X @ 0655 = AA A:01 X:55 Y:71 P:65 SP:FB CYC:327 SL:102
E413 7E 00 06 ROR $0600,X @ 0655 = 01 A:01 X:55 Y:71 P:65 SP:FB CYC: 1 SL:103
E416 BD 00 06 LDA $0600,X @ 0655 = 80 A:01 X:55 Y:71 P:E5 SP:FB CYC: 22 SL:103
E419 20 EA F9 JSR $F9EA A:80 X:55 Y:71 P:E5 SP:FB CYC: 34 SL:103
F9EA 90 1C BCC $FA08 A:80 X:55 Y:71 P:E5 SP:F9 CYC: 52 SL:103
F9EC F0 1A BEQ $FA08 A:80 X:55 Y:71 P:E5 SP:F9 CYC: 58 SL:103
F9EE 10 18 BPL $FA08 A:80 X:55 Y:71 P:E5 SP:F9 CYC: 64 SL:103
F9F0 50 16 BVC $FA08 A:80 X:55 Y:71 P:E5 SP:F9 CYC: 70 SL:103
F9F2 C9 80 CMP #$80 A:80 X:55 Y:71 P:E5 SP:F9 CYC: 76 SL:103
F9F4 D0 12 BNE $FA08 A:80 X:55 Y:71 P:67 SP:F9 CYC: 82 SL:103
F9F6 B8 CLV A:80 X:55 Y:71 P:67 SP:F9 CYC: 88 SL:103
F9F7 18 CLC A:80 X:55 Y:71 P:27 SP:F9 CYC: 94 SL:103
F9F8 A9 55 LDA #$55 A:80 X:55 Y:71 P:26 SP:F9 CYC:100 SL:103
F9FA 60 RTS A:55 X:55 Y:71 P:24 SP:F9 CYC:106 SL:103
E41C C8 INY A:55 X:55 Y:71 P:24 SP:FB CYC:124 SL:103
E41D 9D 00 06 STA $0600,X @ 0655 = 80 A:55 X:55 Y:72 P:24 SP:FB CYC:130 SL:103
E420 7E 00 06 ROR $0600,X @ 0655 = 55 A:55 X:55 Y:72 P:24 SP:FB CYC:145 SL:103
E423 BD 00 06 LDA $0600,X @ 0655 = 2A A:55 X:55 Y:72 P:25 SP:FB CYC:166 SL:103
E426 20 FB F9 JSR $F9FB A:2A X:55 Y:72 P:25 SP:FB CYC:178 SL:103
F9FB 90 0B BCC $FA08 A:2A X:55 Y:72 P:25 SP:F9 CYC:196 SL:103
F9FD F0 09 BEQ $FA08 A:2A X:55 Y:72 P:25 SP:F9 CYC:202 SL:103
F9FF 30 07 BMI $FA08 A:2A X:55 Y:72 P:25 SP:F9 CYC:208 SL:103
FA01 70 05 BVS $FA08 A:2A X:55 Y:72 P:25 SP:F9 CYC:214 SL:103
FA03 C9 2A CMP #$2A A:2A X:55 Y:72 P:25 SP:F9 CYC:220 SL:103
FA05 D0 01 BNE $FA08 A:2A X:55 Y:72 P:27 SP:F9 CYC:226 SL:103
FA07 60 RTS A:2A X:55 Y:72 P:27 SP:F9 CYC:232 SL:103
E429 C8 INY A:2A X:55 Y:72 P:27 SP:FB CYC:250 SL:103
E42A 20 0A FA JSR $FA0A A:2A X:55 Y:73 P:25 SP:FB CYC:256 SL:103
FA0A 24 01 BIT $01 = FF A:2A X:55 Y:73 P:25 SP:F9 CYC:274 SL:103
FA0C 38 SEC A:2A X:55 Y:73 P:E5 SP:F9 CYC:283 SL:103
FA0D A9 80 LDA #$80 A:2A X:55 Y:73 P:E5 SP:F9 CYC:289 SL:103
FA0F 60 RTS A:80 X:55 Y:73 P:E5 SP:F9 CYC:295 SL:103
E42D 9D 00 06 STA $0600,X @ 0655 = 2A A:80 X:55 Y:73 P:E5 SP:FB CYC:313 SL:103
E430 3E 00 06 ROL $0600,X @ 0655 = 80 A:80 X:55 Y:73 P:E5 SP:FB CYC:328 SL:103
E433 BD 00 06 LDA $0600,X @ 0655 = 01 A:80 X:55 Y:73 P:65 SP:FB CYC: 8 SL:104
E436 20 10 FA JSR $FA10 A:01 X:55 Y:73 P:65 SP:FB CYC: 20 SL:104
FA10 90 1C BCC $FA2E A:01 X:55 Y:73 P:65 SP:F9 CYC: 38 SL:104
FA12 F0 1A BEQ $FA2E A:01 X:55 Y:73 P:65 SP:F9 CYC: 44 SL:104
FA14 30 18 BMI $FA2E A:01 X:55 Y:73 P:65 SP:F9 CYC: 50 SL:104
FA16 50 16 BVC $FA2E A:01 X:55 Y:73 P:65 SP:F9 CYC: 56 SL:104
FA18 C9 01 CMP #$01 A:01 X:55 Y:73 P:65 SP:F9 CYC: 62 SL:104
FA1A D0 12 BNE $FA2E A:01 X:55 Y:73 P:67 SP:F9 CYC: 68 SL:104
FA1C B8 CLV A:01 X:55 Y:73 P:67 SP:F9 CYC: 74 SL:104
FA1D 18 CLC A:01 X:55 Y:73 P:27 SP:F9 CYC: 80 SL:104
FA1E A9 55 LDA #$55 A:01 X:55 Y:73 P:26 SP:F9 CYC: 86 SL:104
FA20 60 RTS A:55 X:55 Y:73 P:24 SP:F9 CYC: 92 SL:104
E439 C8 INY A:55 X:55 Y:73 P:24 SP:FB CYC:110 SL:104
E43A 9D 00 06 STA $0600,X @ 0655 = 01 A:55 X:55 Y:74 P:24 SP:FB CYC:116 SL:104
E43D 3E 00 06 ROL $0600,X @ 0655 = 55 A:55 X:55 Y:74 P:24 SP:FB CYC:131 SL:104
E440 BD 00 06 LDA $0600,X @ 0655 = AA A:55 X:55 Y:74 P:A4 SP:FB CYC:152 SL:104
E443 20 21 FA JSR $FA21 A:AA X:55 Y:74 P:A4 SP:FB CYC:164 SL:104
FA21 B0 0B BCS $FA2E A:AA X:55 Y:74 P:A4 SP:F9 CYC:182 SL:104
FA23 F0 09 BEQ $FA2E A:AA X:55 Y:74 P:A4 SP:F9 CYC:188 SL:104
FA25 10 07 BPL $FA2E A:AA X:55 Y:74 P:A4 SP:F9 CYC:194 SL:104
FA27 70 05 BVS $FA2E A:AA X:55 Y:74 P:A4 SP:F9 CYC:200 SL:104
FA29 C9 AA CMP #$AA A:AA X:55 Y:74 P:A4 SP:F9 CYC:206 SL:104
FA2B D0 01 BNE $FA2E A:AA X:55 Y:74 P:27 SP:F9 CYC:212 SL:104
FA2D 60 RTS A:AA X:55 Y:74 P:27 SP:F9 CYC:218 SL:104
E446 A9 FF LDA #$FF A:AA X:55 Y:74 P:27 SP:FB CYC:236 SL:104
E448 9D 00 06 STA $0600,X @ 0655 = AA A:FF X:55 Y:74 P:A5 SP:FB CYC:242 SL:104
E44B 85 01 STA $01 = FF A:FF X:55 Y:74 P:A5 SP:FB CYC:257 SL:104
E44D 24 01 BIT $01 = FF A:FF X:55 Y:74 P:A5 SP:FB CYC:266 SL:104
E44F 38 SEC A:FF X:55 Y:74 P:E5 SP:FB CYC:275 SL:104
E450 FE 00 06 INC $0600,X @ 0655 = FF A:FF X:55 Y:74 P:E5 SP:FB CYC:281 SL:104
E453 D0 0D BNE $E462 A:FF X:55 Y:74 P:67 SP:FB CYC:302 SL:104
E455 30 0B BMI $E462 A:FF X:55 Y:74 P:67 SP:FB CYC:308 SL:104
E457 50 09 BVC $E462 A:FF X:55 Y:74 P:67 SP:FB CYC:314 SL:104
E459 90 07 BCC $E462 A:FF X:55 Y:74 P:67 SP:FB CYC:320 SL:104
E45B BD 00 06 LDA $0600,X @ 0655 = 00 A:FF X:55 Y:74 P:67 SP:FB CYC:326 SL:104
E45E C9 00 CMP #$00 A:00 X:55 Y:74 P:67 SP:FB CYC:338 SL:104
E460 F0 04 BEQ $E466 A:00 X:55 Y:74 P:67 SP:FB CYC: 3 SL:105
E466 A9 7F LDA #$7F A:00 X:55 Y:74 P:67 SP:FB CYC: 12 SL:105
E468 9D 00 06 STA $0600,X @ 0655 = 00 A:7F X:55 Y:74 P:65 SP:FB CYC: 18 SL:105
E46B B8 CLV A:7F X:55 Y:74 P:65 SP:FB CYC: 33 SL:105
E46C 18 CLC A:7F X:55 Y:74 P:25 SP:FB CYC: 39 SL:105
E46D FE 00 06 INC $0600,X @ 0655 = 7F A:7F X:55 Y:74 P:24 SP:FB CYC: 45 SL:105
E470 F0 0D BEQ $E47F A:7F X:55 Y:74 P:A4 SP:FB CYC: 66 SL:105
E472 10 0B BPL $E47F A:7F X:55 Y:74 P:A4 SP:FB CYC: 72 SL:105
E474 70 09 BVS $E47F A:7F X:55 Y:74 P:A4 SP:FB CYC: 78 SL:105
E476 B0 07 BCS $E47F A:7F X:55 Y:74 P:A4 SP:FB CYC: 84 SL:105
E478 BD 00 06 LDA $0600,X @ 0655 = 80 A:7F X:55 Y:74 P:A4 SP:FB CYC: 90 SL:105
E47B C9 80 CMP #$80 A:80 X:55 Y:74 P:A4 SP:FB CYC:102 SL:105
E47D F0 04 BEQ $E483 A:80 X:55 Y:74 P:27 SP:FB CYC:108 SL:105
E483 A9 00 LDA #$00 A:80 X:55 Y:74 P:27 SP:FB CYC:117 SL:105
E485 9D 00 06 STA $0600,X @ 0655 = 80 A:00 X:55 Y:74 P:27 SP:FB CYC:123 SL:105
E488 24 01 BIT $01 = FF A:00 X:55 Y:74 P:27 SP:FB CYC:138 SL:105
E48A 38 SEC A:00 X:55 Y:74 P:E7 SP:FB CYC:147 SL:105
E48B DE 00 06 DEC $0600,X @ 0655 = 00 A:00 X:55 Y:74 P:E7 SP:FB CYC:153 SL:105
E48E F0 0D BEQ $E49D A:00 X:55 Y:74 P:E5 SP:FB CYC:174 SL:105
E490 10 0B BPL $E49D A:00 X:55 Y:74 P:E5 SP:FB CYC:180 SL:105
E492 50 09 BVC $E49D A:00 X:55 Y:74 P:E5 SP:FB CYC:186 SL:105
E494 90 07 BCC $E49D A:00 X:55 Y:74 P:E5 SP:FB CYC:192 SL:105
E496 BD 00 06 LDA $0600,X @ 0655 = FF A:00 X:55 Y:74 P:E5 SP:FB CYC:198 SL:105
E499 C9 FF CMP #$FF A:FF X:55 Y:74 P:E5 SP:FB CYC:210 SL:105
E49B F0 04 BEQ $E4A1 A:FF X:55 Y:74 P:67 SP:FB CYC:216 SL:105
E4A1 A9 80 LDA #$80 A:FF X:55 Y:74 P:67 SP:FB CYC:225 SL:105
E4A3 9D 00 06 STA $0600,X @ 0655 = FF A:80 X:55 Y:74 P:E5 SP:FB CYC:231 SL:105
E4A6 B8 CLV A:80 X:55 Y:74 P:E5 SP:FB CYC:246 SL:105
E4A7 18 CLC A:80 X:55 Y:74 P:A5 SP:FB CYC:252 SL:105
E4A8 DE 00 06 DEC $0600,X @ 0655 = 80 A:80 X:55 Y:74 P:A4 SP:FB CYC:258 SL:105
E4AB F0 0D BEQ $E4BA A:80 X:55 Y:74 P:24 SP:FB CYC:279 SL:105
E4AD 30 0B BMI $E4BA A:80 X:55 Y:74 P:24 SP:FB CYC:285 SL:105
E4AF 70 09 BVS $E4BA A:80 X:55 Y:74 P:24 SP:FB CYC:291 SL:105
E4B1 B0 07 BCS $E4BA A:80 X:55 Y:74 P:24 SP:FB CYC:297 SL:105
E4B3 BD 00 06 LDA $0600,X @ 0655 = 7F A:80 X:55 Y:74 P:24 SP:FB CYC:303 SL:105
E4B6 C9 7F CMP #$7F A:7F X:55 Y:74 P:24 SP:FB CYC:315 SL:105
E4B8 F0 04 BEQ $E4BE A:7F X:55 Y:74 P:27 SP:FB CYC:321 SL:105
E4BE A9 01 LDA #$01 A:7F X:55 Y:74 P:27 SP:FB CYC:330 SL:105
E4C0 9D 00 06 STA $0600,X @ 0655 = 7F A:01 X:55 Y:74 P:25 SP:FB CYC:336 SL:105
E4C3 DE 00 06 DEC $0600,X @ 0655 = 01 A:01 X:55 Y:74 P:25 SP:FB CYC: 10 SL:106
E4C6 F0 04 BEQ $E4CC A:01 X:55 Y:74 P:27 SP:FB CYC: 31 SL:106
E4CC A9 33 LDA #$33 A:01 X:55 Y:74 P:27 SP:FB CYC: 40 SL:106
E4CE 8D 78 06 STA $0678 = 7F A:33 X:55 Y:74 P:25 SP:FB CYC: 46 SL:106
E4D1 A9 44 LDA #$44 A:33 X:55 Y:74 P:25 SP:FB CYC: 58 SL:106
E4D3 A0 78 LDY #$78 A:44 X:55 Y:74 P:25 SP:FB CYC: 64 SL:106
E4D5 A2 00 LDX #$00 A:44 X:55 Y:78 P:25 SP:FB CYC: 70 SL:106
E4D7 38 SEC A:44 X:00 Y:78 P:27 SP:FB CYC: 76 SL:106
E4D8 24 01 BIT $01 = FF A:44 X:00 Y:78 P:27 SP:FB CYC: 82 SL:106
E4DA BE 00 06 LDX $0600,Y @ 0678 = 33 A:44 X:00 Y:78 P:E5 SP:FB CYC: 91 SL:106
E4DD 90 12 BCC $E4F1 A:44 X:33 Y:78 P:65 SP:FB CYC:103 SL:106
E4DF 50 10 BVC $E4F1 A:44 X:33 Y:78 P:65 SP:FB CYC:109 SL:106
E4E1 30 0E BMI $E4F1 A:44 X:33 Y:78 P:65 SP:FB CYC:115 SL:106
E4E3 F0 0C BEQ $E4F1 A:44 X:33 Y:78 P:65 SP:FB CYC:121 SL:106
E4E5 E0 33 CPX #$33 A:44 X:33 Y:78 P:65 SP:FB CYC:127 SL:106
E4E7 D0 08 BNE $E4F1 A:44 X:33 Y:78 P:67 SP:FB CYC:133 SL:106
E4E9 C0 78 CPY #$78 A:44 X:33 Y:78 P:67 SP:FB CYC:139 SL:106
E4EB D0 04 BNE $E4F1 A:44 X:33 Y:78 P:67 SP:FB CYC:145 SL:106
E4ED C9 44 CMP #$44 A:44 X:33 Y:78 P:67 SP:FB CYC:151 SL:106
E4EF F0 04 BEQ $E4F5 A:44 X:33 Y:78 P:67 SP:FB CYC:157 SL:106
E4F5 A9 97 LDA #$97 A:44 X:33 Y:78 P:67 SP:FB CYC:166 SL:106
E4F7 8D 7F 06 STA $067F = 00 A:97 X:33 Y:78 P:E5 SP:FB CYC:172 SL:106
E4FA A9 47 LDA #$47 A:97 X:33 Y:78 P:E5 SP:FB CYC:184 SL:106
E4FC A0 FF LDY #$FF A:47 X:33 Y:78 P:65 SP:FB CYC:190 SL:106
E4FE A2 00 LDX #$00 A:47 X:33 Y:FF P:E5 SP:FB CYC:196 SL:106
E500 18 CLC A:47 X:00 Y:FF P:67 SP:FB CYC:202 SL:106
E501 B8 CLV A:47 X:00 Y:FF P:66 SP:FB CYC:208 SL:106
E502 BE 80 05 LDX $0580,Y @ 067F = 97 A:47 X:00 Y:FF P:26 SP:FB CYC:214 SL:106
E505 B0 12 BCS $E519 A:47 X:97 Y:FF P:A4 SP:FB CYC:229 SL:106
E507 70 10 BVS $E519 A:47 X:97 Y:FF P:A4 SP:FB CYC:235 SL:106
E509 10 0E BPL $E519 A:47 X:97 Y:FF P:A4 SP:FB CYC:241 SL:106
E50B F0 0C BEQ $E519 A:47 X:97 Y:FF P:A4 SP:FB CYC:247 SL:106
E50D E0 97 CPX #$97 A:47 X:97 Y:FF P:A4 SP:FB CYC:253 SL:106
E50F D0 08 BNE $E519 A:47 X:97 Y:FF P:27 SP:FB CYC:259 SL:106
E511 C0 FF CPY #$FF A:47 X:97 Y:FF P:27 SP:FB CYC:265 SL:106
E513 D0 04 BNE $E519 A:47 X:97 Y:FF P:27 SP:FB CYC:271 SL:106
E515 C9 47 CMP #$47 A:47 X:97 Y:FF P:27 SP:FB CYC:277 SL:106
E517 F0 04 BEQ $E51D A:47 X:97 Y:FF P:27 SP:FB CYC:283 SL:106
E51D 60 RTS A:47 X:97 Y:FF P:27 SP:FB CYC:292 SL:106
C62F 20 A3 C6 JSR $C6A3 A:47 X:97 Y:FF P:27 SP:FD CYC:310 SL:106
C6A3 A0 4E LDY #$4E A:47 X:97 Y:FF P:27 SP:FB CYC:328 SL:106
C6A5 A9 FF LDA #$FF A:47 X:97 Y:4E P:25 SP:FB CYC:334 SL:106
C6A7 85 01 STA $01 = FF A:FF X:97 Y:4E P:A5 SP:FB CYC:340 SL:106
C6A9 20 B0 C6 JSR $C6B0 A:FF X:97 Y:4E P:A5 SP:FB CYC: 8 SL:107
C6B0 A9 FF LDA #$FF A:FF X:97 Y:4E P:A5 SP:F9 CYC: 26 SL:107
C6B2 48 PHA A:FF X:97 Y:4E P:A5 SP:F9 CYC: 32 SL:107
C6B3 A9 AA LDA #$AA A:FF X:97 Y:4E P:A5 SP:F8 CYC: 41 SL:107
C6B5 D0 05 BNE $C6BC A:AA X:97 Y:4E P:A5 SP:F8 CYC: 47 SL:107
C6BC 28 PLP A:AA X:97 Y:4E P:A5 SP:F8 CYC: 56 SL:107
C6BD 04 A9 *NOP $A9 = 00 A:AA X:97 Y:4E P:EF SP:F9 CYC: 68 SL:107
C6BF 44 A9 *NOP $A9 = 00 A:AA X:97 Y:4E P:EF SP:F9 CYC: 77 SL:107
C6C1 64 A9 *NOP $A9 = 00 A:AA X:97 Y:4E P:EF SP:F9 CYC: 86 SL:107
C6C3 EA NOP A:AA X:97 Y:4E P:EF SP:F9 CYC: 95 SL:107
C6C4 EA NOP A:AA X:97 Y:4E P:EF SP:F9 CYC:101 SL:107
C6C5 EA NOP A:AA X:97 Y:4E P:EF SP:F9 CYC:107 SL:107
C6C6 EA NOP A:AA X:97 Y:4E P:EF SP:F9 CYC:113 SL:107
C6C7 08 PHP A:AA X:97 Y:4E P:EF SP:F9 CYC:119 SL:107
C6C8 48 PHA A:AA X:97 Y:4E P:EF SP:F8 CYC:128 SL:107
C6C9 0C A9 A9 *NOP $A9A9 = A9 A:AA X:97 Y:4E P:EF SP:F7 CYC:137 SL:107
C6CC EA NOP A:AA X:97 Y:4E P:EF SP:F7 CYC:149 SL:107
C6CD EA NOP A:AA X:97 Y:4E P:EF SP:F7 CYC:155 SL:107
C6CE EA NOP A:AA X:97 Y:4E P:EF SP:F7 CYC:161 SL:107
C6CF EA NOP A:AA X:97 Y:4E P:EF SP:F7 CYC:167 SL:107
C6D0 08 PHP A:AA X:97 Y:4E P:EF SP:F7 CYC:173 SL:107
C6D1 48 PHA A:AA X:97 Y:4E P:EF SP:F6 CYC:182 SL:107
C6D2 14 A9 *NOP $A9,X @ 40 = 00 A:AA X:97 Y:4E P:EF SP:F5 CYC:191 SL:107
C6D4 34 A9 *NOP $A9,X @ 40 = 00 A:AA X:97 Y:4E P:EF SP:F5 CYC:203 SL:107
C6D6 54 A9 *NOP $A9,X @ 40 = 00 A:AA X:97 Y:4E P:EF SP:F5 CYC:215 SL:107
C6D8 74 A9 *NOP $A9,X @ 40 = 00 A:AA X:97 Y:4E P:EF SP:F5 CYC:227 SL:107
C6DA D4 A9 *NOP $A9,X @ 40 = 00 A:AA X:97 Y:4E P:EF SP:F5 CYC:239 SL:107
C6DC F4 A9 *NOP $A9,X @ 40 = 00 A:AA X:97 Y:4E P:EF SP:F5 CYC:251 SL:107
C6DE EA NOP A:AA X:97 Y:4E P:EF SP:F5 CYC:263 SL:107
C6DF EA NOP A:AA X:97 Y:4E P:EF SP:F5 CYC:269 SL:107
C6E0 EA NOP A:AA X:97 Y:4E P:EF SP:F5 CYC:275 SL:107
C6E1 EA NOP A:AA X:97 Y:4E P:EF SP:F5 CYC:281 SL:107
C6E2 08 PHP A:AA X:97 Y:4E P:EF SP:F5 CYC:287 SL:107
C6E3 48 PHA A:AA X:97 Y:4E P:EF SP:F4 CYC:296 SL:107
C6E4 1A *NOP A:AA X:97 Y:4E P:EF SP:F3 CYC:305 SL:107
C6E5 3A *NOP A:AA X:97 Y:4E P:EF SP:F3 CYC:311 SL:107
C6E6 5A *NOP A:AA X:97 Y:4E P:EF SP:F3 CYC:317 SL:107
C6E7 7A *NOP A:AA X:97 Y:4E P:EF SP:F3 CYC:323 SL:107
C6E8 DA *NOP A:AA X:97 Y:4E P:EF SP:F3 CYC:329 SL:107
C6E9 FA *NOP A:AA X:97 Y:4E P:EF SP:F3 CYC:335 SL:107
C6EA 80 89 *NOP #$89 A:AA X:97 Y:4E P:EF SP:F3 CYC: 0 SL:108
C6EC EA NOP A:AA X:97 Y:4E P:EF SP:F3 CYC: 6 SL:108
C6ED EA NOP A:AA X:97 Y:4E P:EF SP:F3 CYC: 12 SL:108
C6EE EA NOP A:AA X:97 Y:4E P:EF SP:F3 CYC: 18 SL:108
C6EF EA NOP A:AA X:97 Y:4E P:EF SP:F3 CYC: 24 SL:108
C6F0 08 PHP A:AA X:97 Y:4E P:EF SP:F3 CYC: 30 SL:108
C6F1 48 PHA A:AA X:97 Y:4E P:EF SP:F2 CYC: 39 SL:108
C6F2 1C A9 A9 *NOP $A9A9,X @ AA40 = 00 A:AA X:97 Y:4E P:EF SP:F1 CYC: 48 SL:108
C6F5 3C A9 A9 *NOP $A9A9,X @ AA40 = 00 A:AA X:97 Y:4E P:EF SP:F1 CYC: 63 SL:108
C6F8 5C A9 A9 *NOP $A9A9,X @ AA40 = 00 A:AA X:97 Y:4E P:EF SP:F1 CYC: 78 SL:108
C6FB 7C A9 A9 *NOP $A9A9,X @ AA40 = 00 A:AA X:97 Y:4E P:EF SP:F1 CYC: 93 SL:108
C6FE DC A9 A9 *NOP $A9A9,X @ AA40 = 00 A:AA X:97 Y:4E P:EF SP:F1 CYC:108 SL:108
C701 FC A9 A9 *NOP $A9A9,X @ AA40 = 00 A:AA X:97 Y:4E P:EF SP:F1 CYC:123 SL:108
C704 EA NOP A:AA X:97 Y:4E P:EF SP:F1 CYC:138 SL:108
C705 EA NOP A:AA X:97 Y:4E P:EF SP:F1 CYC:144 SL:108
C706 EA NOP A:AA X:97 Y:4E P:EF SP:F1 CYC:150 SL:108
C707 EA NOP A:AA X:97 Y:4E P:EF SP:F1 CYC:156 SL:108
C708 08 PHP A:AA X:97 Y:4E P:EF SP:F1 CYC:162 SL:108
C709 48 PHA A:AA X:97 Y:4E P:EF SP:F0 CYC:171 SL:108
C70A A2 05 LDX #$05 A:AA X:97 Y:4E P:EF SP:EF CYC:180 SL:108
C70C 68 PLA A:AA X:05 Y:4E P:6D SP:EF CYC:186 SL:108
C70D C9 55 CMP #$55 A:AA X:05 Y:4E P:ED SP:F0 CYC:198 SL:108
C70F F0 0A BEQ $C71B A:AA X:05 Y:4E P:6D SP:F0 CYC:204 SL:108
C711 C9 AA CMP #$AA A:AA X:05 Y:4E P:6D SP:F0 CYC:210 SL:108
C713 F0 06 BEQ $C71B A:AA X:05 Y:4E P:6F SP:F0 CYC:216 SL:108
C71B 68 PLA A:AA X:05 Y:4E P:6F SP:F0 CYC:225 SL:108
C71C 29 CB AND #$CB A:FF X:05 Y:4E P:ED SP:F1 CYC:237 SL:108
C71E C9 00 CMP #$00 A:CB X:05 Y:4E P:ED SP:F1 CYC:243 SL:108
C720 F0 06 BEQ $C728 A:CB X:05 Y:4E P:ED SP:F1 CYC:249 SL:108
C722 C9 CB CMP #$CB A:CB X:05 Y:4E P:ED SP:F1 CYC:255 SL:108
C724 F0 02 BEQ $C728 A:CB X:05 Y:4E P:6F SP:F1 CYC:261 SL:108
C728 C8 INY A:CB X:05 Y:4E P:6F SP:F1 CYC:270 SL:108
C729 CA DEX A:CB X:05 Y:4F P:6D SP:F1 CYC:276 SL:108
C72A D0 E0 BNE $C70C A:CB X:04 Y:4F P:6D SP:F1 CYC:282 SL:108
C70C 68 PLA A:CB X:04 Y:4F P:6D SP:F1 CYC:291 SL:108
C70D C9 55 CMP #$55 A:AA X:04 Y:4F P:ED SP:F2 CYC:303 SL:108
C70F F0 0A BEQ $C71B A:AA X:04 Y:4F P:6D SP:F2 CYC:309 SL:108
C711 C9 AA CMP #$AA A:AA X:04 Y:4F P:6D SP:F2 CYC:315 SL:108
C713 F0 06 BEQ $C71B A:AA X:04 Y:4F P:6F SP:F2 CYC:321 SL:108
C71B 68 PLA A:AA X:04 Y:4F P:6F SP:F2 CYC:330 SL:108
C71C 29 CB AND #$CB A:FF X:04 Y:4F P:ED SP:F3 CYC: 1 SL:109
C71E C9 00 CMP #$00 A:CB X:04 Y:4F P:ED SP:F3 CYC: 7 SL:109
C720 F0 06 BEQ $C728 A:CB X:04 Y:4F P:ED SP:F3 CYC: 13 SL:109
C722 C9 CB CMP #$CB A:CB X:04 Y:4F P:ED SP:F3 CYC: 19 SL:109
C724 F0 02 BEQ $C728 A:CB X:04 Y:4F P:6F SP:F3 CYC: 25 SL:109
C728 C8 INY A:CB X:04 Y:4F P:6F SP:F3 CYC: 34 SL:109
C729 CA DEX A:CB X:04 Y:50 P:6D SP:F3 CYC: 40 SL:109
C72A D0 E0 BNE $C70C A:CB X:03 Y:50 P:6D SP:F3 CYC: 46 SL:109
C70C 68 PLA A:CB X:03 Y:50 P:6D SP:F3 CYC: 55 SL:109
C70D C9 55 CMP #$55 A:AA X:03 Y:50 P:ED SP:F4 CYC: 67 SL:109
C70F F0 0A BEQ $C71B A:AA X:03 Y:50 P:6D SP:F4 CYC: 73 SL:109
C711 C9 AA CMP #$AA A:AA X:03 Y:50 P:6D SP:F4 CYC: 79 SL:109
C713 F0 06 BEQ $C71B A:AA X:03 Y:50 P:6F SP:F4 CYC: 85 SL:109
C71B 68 PLA A:AA X:03 Y:50 P:6F SP:F4 CYC: 94 SL:109
C71C 29 CB AND #$CB A:FF X:03 Y:50 P:ED SP:F5 CYC:106 SL:109
C71E C9 00 CMP #$00 A:CB X:03 Y:50 P:ED SP:F5 CYC:112 SL:109
C720 F0 06 BEQ $C728 A:CB X:03 Y:50 P:ED SP:F5 CYC:118 SL:109
C722 C9 CB CMP #$CB A:CB X:03 Y:50 P:ED SP:F5 CYC:124 SL:109
C724 F0 02 BEQ $C728 A:CB X:03 Y:50 P:6F SP:F5 CYC:130 SL:109
C728 C8 INY A:CB X:03 Y:50 P:6F SP:F5 CYC:139 SL:109
C729 CA DEX A:CB X:03 Y:51 P:6D SP:F5 CYC:145 SL:109
C72A D0 E0 BNE $C70C A:CB X:02 Y:51 P:6D SP:F5 CYC:151 SL:109
C70C 68 PLA A:CB X:02 Y:51 P:6D SP:F5 CYC:160 SL:109
C70D C9 55 CMP #$55 A:AA X:02 Y:51 P:ED SP:F6 CYC:172 SL:109
C70F F0 0A BEQ $C71B A:AA X:02 Y:51 P:6D SP:F6 CYC:178 SL:109
C711 C9 AA CMP #$AA A:AA X:02 Y:51 P:6D SP:F6 CYC:184 SL:109
C713 F0 06 BEQ $C71B A:AA X:02 Y:51 P:6F SP:F6 CYC:190 SL:109
C71B 68 PLA A:AA X:02 Y:51 P:6F SP:F6 CYC:199 SL:109
C71C 29 CB AND #$CB A:FF X:02 Y:51 P:ED SP:F7 CYC:211 SL:109
C71E C9 00 CMP #$00 A:CB X:02 Y:51 P:ED SP:F7 CYC:217 SL:109
C720 F0 06 BEQ $C728 A:CB X:02 Y:51 P:ED SP:F7 CYC:223 SL:109
C722 C9 CB CMP #$CB A:CB X:02 Y:51 P:ED SP:F7 CYC:229 SL:109
C724 F0 02 BEQ $C728 A:CB X:02 Y:51 P:6F SP:F7 CYC:235 SL:109
C728 C8 INY A:CB X:02 Y:51 P:6F SP:F7 CYC:244 SL:109
C729 CA DEX A:CB X:02 Y:52 P:6D SP:F7 CYC:250 SL:109
C72A D0 E0 BNE $C70C A:CB X:01 Y:52 P:6D SP:F7 CYC:256 SL:109
C70C 68 PLA A:CB X:01 Y:52 P:6D SP:F7 CYC:265 SL:109
C70D C9 55 CMP #$55 A:AA X:01 Y:52 P:ED SP:F8 CYC:277 SL:109
C70F F0 0A BEQ $C71B A:AA X:01 Y:52 P:6D SP:F8 CYC:283 SL:109
C711 C9 AA CMP #$AA A:AA X:01 Y:52 P:6D SP:F8 CYC:289 SL:109
C713 F0 06 BEQ $C71B A:AA X:01 Y:52 P:6F SP:F8 CYC:295 SL:109
C71B 68 PLA A:AA X:01 Y:52 P:6F SP:F8 CYC:304 SL:109
C71C 29 CB AND #$CB A:FF X:01 Y:52 P:ED SP:F9 CYC:316 SL:109
C71E C9 00 CMP #$00 A:CB X:01 Y:52 P:ED SP:F9 CYC:322 SL:109
C720 F0 06 BEQ $C728 A:CB X:01 Y:52 P:ED SP:F9 CYC:328 SL:109
C722 C9 CB CMP #$CB A:CB X:01 Y:52 P:ED SP:F9 CYC:334 SL:109
C724 F0 02 BEQ $C728 A:CB X:01 Y:52 P:6F SP:F9 CYC:340 SL:109
C728 C8 INY A:CB X:01 Y:52 P:6F SP:F9 CYC: 8 SL:110
C729 CA DEX A:CB X:01 Y:53 P:6D SP:F9 CYC: 14 SL:110
C72A D0 E0 BNE $C70C A:CB X:00 Y:53 P:6F SP:F9 CYC: 20 SL:110
C72C 60 RTS A:CB X:00 Y:53 P:6F SP:F9 CYC: 26 SL:110
C6AC 20 B7 C6 JSR $C6B7 A:CB X:00 Y:53 P:6F SP:FB CYC: 44 SL:110
C6B7 A9 34 LDA #$34 A:CB X:00 Y:53 P:6F SP:F9 CYC: 62 SL:110
C6B9 48 PHA A:34 X:00 Y:53 P:6D SP:F9 CYC: 68 SL:110
C6BA A9 55 LDA #$55 A:34 X:00 Y:53 P:6D SP:F8 CYC: 77 SL:110
C6BC 28 PLP A:55 X:00 Y:53 P:6D SP:F8 CYC: 83 SL:110
C6BD 04 A9 *NOP $A9 = 00 A:55 X:00 Y:53 P:24 SP:F9 CYC: 95 SL:110
C6BF 44 A9 *NOP $A9 = 00 A:55 X:00 Y:53 P:24 SP:F9 CYC:104 SL:110
C6C1 64 A9 *NOP $A9 = 00 A:55 X:00 Y:53 P:24 SP:F9 CYC:113 SL:110
C6C3 EA NOP A:55 X:00 Y:53 P:24 SP:F9 CYC:122 SL:110
C6C4 EA NOP A:55 X:00 Y:53 P:24 SP:F9 CYC:128 SL:110
C6C5 EA NOP A:55 X:00 Y:53 P:24 SP:F9 CYC:134 SL:110
C6C6 EA NOP A:55 X:00 Y:53 P:24 SP:F9 CYC:140 SL:110
C6C7 08 PHP A:55 X:00 Y:53 P:24 SP:F9 CYC:146 SL:110
C6C8 48 PHA A:55 X:00 Y:53 P:24 SP:F8 CYC:155 SL:110
C6C9 0C A9 A9 *NOP $A9A9 = A9 A:55 X:00 Y:53 P:24 SP:F7 CYC:164 SL:110
C6CC EA NOP A:55 X:00 Y:53 P:24 SP:F7 CYC:176 SL:110
C6CD EA NOP A:55 X:00 Y:53 P:24 SP:F7 CYC:182 SL:110
C6CE EA NOP A:55 X:00 Y:53 P:24 SP:F7 CYC:188 SL:110
C6CF EA NOP A:55 X:00 Y:53 P:24 SP:F7 CYC:194 SL:110
C6D0 08 PHP A:55 X:00 Y:53 P:24 SP:F7 CYC:200 SL:110
C6D1 48 PHA A:55 X:00 Y:53 P:24 SP:F6 CYC:209 SL:110
C6D2 14 A9 *NOP $A9,X @ A9 = 00 A:55 X:00 Y:53 P:24 SP:F5 CYC:218 SL:110
C6D4 34 A9 *NOP $A9,X @ A9 = 00 A:55 X:00 Y:53 P:24 SP:F5 CYC:230 SL:110
C6D6 54 A9 *NOP $A9,X @ A9 = 00 A:55 X:00 Y:53 P:24 SP:F5 CYC:242 SL:110
C6D8 74 A9 *NOP $A9,X @ A9 = 00 A:55 X:00 Y:53 P:24 SP:F5 CYC:254 SL:110
C6DA D4 A9 *NOP $A9,X @ A9 = 00 A:55 X:00 Y:53 P:24 SP:F5 CYC:266 SL:110
C6DC F4 A9 *NOP $A9,X @ A9 = 00 A:55 X:00 Y:53 P:24 SP:F5 CYC:278 SL:110
C6DE EA NOP A:55 X:00 Y:53 P:24 SP:F5 CYC:290 SL:110
C6DF EA NOP A:55 X:00 Y:53 P:24 SP:F5 CYC:296 SL:110
C6E0 EA NOP A:55 X:00 Y:53 P:24 SP:F5 CYC:302 SL:110
C6E1 EA NOP A:55 X:00 Y:53 P:24 SP:F5 CYC:308 SL:110
C6E2 08 PHP A:55 X:00 Y:53 P:24 SP:F5 CYC:314 SL:110
C6E3 48 PHA A:55 X:00 Y:53 P:24 SP:F4 CYC:323 SL:110
C6E4 1A *NOP A:55 X:00 Y:53 P:24 SP:F3 CYC:332 SL:110
C6E5 3A *NOP A:55 X:00 Y:53 P:24 SP:F3 CYC:338 SL:110
C6E6 5A *NOP A:55 X:00 Y:53 P:24 SP:F3 CYC: 3 SL:111
C6E7 7A *NOP A:55 X:00 Y:53 P:24 SP:F3 CYC: 9 SL:111
C6E8 DA *NOP A:55 X:00 Y:53 P:24 SP:F3 CYC: 15 SL:111
C6E9 FA *NOP A:55 X:00 Y:53 P:24 SP:F3 CYC: 21 SL:111
C6EA 80 89 *NOP #$89 A:55 X:00 Y:53 P:24 SP:F3 CYC: 27 SL:111
C6EC EA NOP A:55 X:00 Y:53 P:24 SP:F3 CYC: 33 SL:111
C6ED EA NOP A:55 X:00 Y:53 P:24 SP:F3 CYC: 39 SL:111
C6EE EA NOP A:55 X:00 Y:53 P:24 SP:F3 CYC: 45 SL:111
C6EF EA NOP A:55 X:00 Y:53 P:24 SP:F3 CYC: 51 SL:111
C6F0 08 PHP A:55 X:00 Y:53 P:24 SP:F3 CYC: 57 SL:111
C6F1 48 PHA A:55 X:00 Y:53 P:24 SP:F2 CYC: 66 SL:111
C6F2 1C A9 A9 *NOP $A9A9,X @ A9A9 = A9 A:55 X:00 Y:53 P:24 SP:F1 CYC: 75 SL:111
C6F5 3C A9 A9 *NOP $A9A9,X @ A9A9 = A9 A:55 X:00 Y:53 P:24 SP:F1 CYC: 87 SL:111
C6F8 5C A9 A9 *NOP $A9A9,X @ A9A9 = A9 A:55 X:00 Y:53 P:24 SP:F1 CYC: 99 SL:111
C6FB 7C A9 A9 *NOP $A9A9,X @ A9A9 = A9 A:55 X:00 Y:53 P:24 SP:F1 CYC:111 SL:111
C6FE DC A9 A9 *NOP $A9A9,X @ A9A9 = A9 A:55 X:00 Y:53 P:24 SP:F1 CYC:123 SL:111
C701 FC A9 A9 *NOP $A9A9,X @ A9A9 = A9 A:55 X:00 Y:53 P:24 SP:F1 CYC:135 SL:111
C704 EA NOP A:55 X:00 Y:53 P:24 SP:F1 CYC:147 SL:111
C705 EA NOP A:55 X:00 Y:53 P:24 SP:F1 CYC:153 SL:111
C706 EA NOP A:55 X:00 Y:53 P:24 SP:F1 CYC:159 SL:111
C707 EA NOP A:55 X:00 Y:53 P:24 SP:F1 CYC:165 SL:111
C708 08 PHP A:55 X:00 Y:53 P:24 SP:F1 CYC:171 SL:111
C709 48 PHA A:55 X:00 Y:53 P:24 SP:F0 CYC:180 SL:111
C70A A2 05 LDX #$05 A:55 X:00 Y:53 P:24 SP:EF CYC:189 SL:111
C70C 68 PLA A:55 X:05 Y:53 P:24 SP:EF CYC:195 SL:111
C70D C9 55 CMP #$55 A:55 X:05 Y:53 P:24 SP:F0 CYC:207 SL:111
C70F F0 0A BEQ $C71B A:55 X:05 Y:53 P:27 SP:F0 CYC:213 SL:111
C71B 68 PLA A:55 X:05 Y:53 P:27 SP:F0 CYC:222 SL:111
C71C 29 CB AND #$CB A:34 X:05 Y:53 P:25 SP:F1 CYC:234 SL:111
C71E C9 00 CMP #$00 A:00 X:05 Y:53 P:27 SP:F1 CYC:240 SL:111
C720 F0 06 BEQ $C728 A:00 X:05 Y:53 P:27 SP:F1 CYC:246 SL:111
C728 C8 INY A:00 X:05 Y:53 P:27 SP:F1 CYC:255 SL:111
C729 CA DEX A:00 X:05 Y:54 P:25 SP:F1 CYC:261 SL:111
C72A D0 E0 BNE $C70C A:00 X:04 Y:54 P:25 SP:F1 CYC:267 SL:111
C70C 68 PLA A:00 X:04 Y:54 P:25 SP:F1 CYC:276 SL:111
C70D C9 55 CMP #$55 A:55 X:04 Y:54 P:25 SP:F2 CYC:288 SL:111
C70F F0 0A BEQ $C71B A:55 X:04 Y:54 P:27 SP:F2 CYC:294 SL:111
C71B 68 PLA A:55 X:04 Y:54 P:27 SP:F2 CYC:303 SL:111
C71C 29 CB AND #$CB A:34 X:04 Y:54 P:25 SP:F3 CYC:315 SL:111
C71E C9 00 CMP #$00 A:00 X:04 Y:54 P:27 SP:F3 CYC:321 SL:111
C720 F0 06 BEQ $C728 A:00 X:04 Y:54 P:27 SP:F3 CYC:327 SL:111
C728 C8 INY A:00 X:04 Y:54 P:27 SP:F3 CYC:336 SL:111
C729 CA DEX A:00 X:04 Y:55 P:25 SP:F3 CYC: 1 SL:112
C72A D0 E0 BNE $C70C A:00 X:03 Y:55 P:25 SP:F3 CYC: 7 SL:112
C70C 68 PLA A:00 X:03 Y:55 P:25 SP:F3 CYC: 16 SL:112
C70D C9 55 CMP #$55 A:55 X:03 Y:55 P:25 SP:F4 CYC: 28 SL:112
C70F F0 0A BEQ $C71B A:55 X:03 Y:55 P:27 SP:F4 CYC: 34 SL:112
C71B 68 PLA A:55 X:03 Y:55 P:27 SP:F4 CYC: 43 SL:112
C71C 29 CB AND #$CB A:34 X:03 Y:55 P:25 SP:F5 CYC: 55 SL:112
C71E C9 00 CMP #$00 A:00 X:03 Y:55 P:27 SP:F5 CYC: 61 SL:112
C720 F0 06 BEQ $C728 A:00 X:03 Y:55 P:27 SP:F5 CYC: 67 SL:112
C728 C8 INY A:00 X:03 Y:55 P:27 SP:F5 CYC: 76 SL:112
C729 CA DEX A:00 X:03 Y:56 P:25 SP:F5 CYC: 82 SL:112
C72A D0 E0 BNE $C70C A:00 X:02 Y:56 P:25 SP:F5 CYC: 88 SL:112
C70C 68 PLA A:00 X:02 Y:56 P:25 SP:F5 CYC: 97 SL:112
C70D C9 55 CMP #$55 A:55 X:02 Y:56 P:25 SP:F6 CYC:109 SL:112
C70F F0 0A BEQ $C71B A:55 X:02 Y:56 P:27 SP:F6 CYC:115 SL:112
C71B 68 PLA A:55 X:02 Y:56 P:27 SP:F6 CYC:124 SL:112
C71C 29 CB AND #$CB A:34 X:02 Y:56 P:25 SP:F7 CYC:136 SL:112
C71E C9 00 CMP #$00 A:00 X:02 Y:56 P:27 SP:F7 CYC:142 SL:112
C720 F0 06 BEQ $C728 A:00 X:02 Y:56 P:27 SP:F7 CYC:148 SL:112
C728 C8 INY A:00 X:02 Y:56 P:27 SP:F7 CYC:157 SL:112
C729 CA DEX A:00 X:02 Y:57 P:25 SP:F7 CYC:163 SL:112
C72A D0 E0 BNE $C70C A:00 X:01 Y:57 P:25 SP:F7 CYC:169 SL:112
C70C 68 PLA A:00 X:01 Y:57 P:25 SP:F7 CYC:178 SL:112
C70D C9 55 CMP #$55 A:55 X:01 Y:57 P:25 SP:F8 CYC:190 SL:112
C70F F0 0A BEQ $C71B A:55 X:01 Y:57 P:27 SP:F8 CYC:196 SL:112
C71B 68 PLA A:55 X:01 Y:57 P:27 SP:F8 CYC:205 SL:112
C71C 29 CB AND #$CB A:34 X:01 Y:57 P:25 SP:F9 CYC:217 SL:112
C71E C9 00 CMP #$00 A:00 X:01 Y:57 P:27 SP:F9 CYC:223 SL:112
C720 F0 06 BEQ $C728 A:00 X:01 Y:57 P:27 SP:F9 CYC:229 SL:112
C728 C8 INY A:00 X:01 Y:57 P:27 SP:F9 CYC:238 SL:112
C729 CA DEX A:00 X:01 Y:58 P:25 SP:F9 CYC:244 SL:112
C72A D0 E0 BNE $C70C A:00 X:00 Y:58 P:27 SP:F9 CYC:250 SL:112
C72C 60 RTS A:00 X:00 Y:58 P:27 SP:F9 CYC:256 SL:112
C6AF 60 RTS A:00 X:00 Y:58 P:27 SP:FB CYC:274 SL:112
C632 20 1E E5 JSR $E51E A:00 X:00 Y:58 P:27 SP:FD CYC:292 SL:112
E51E A9 55 LDA #$55 A:00 X:00 Y:58 P:27 SP:FB CYC:310 SL:112
E520 8D 80 05 STA $0580 = 00 A:55 X:00 Y:58 P:25 SP:FB CYC:316 SL:112
E523 A9 AA LDA #$AA A:55 X:00 Y:58 P:25 SP:FB CYC:328 SL:112
E525 8D 32 04 STA $0432 = 00 A:AA X:00 Y:58 P:A5 SP:FB CYC:334 SL:112
E528 A9 80 LDA #$80 A:AA X:00 Y:58 P:A5 SP:FB CYC: 5 SL:113
E52A 85 43 STA $43 = 00 A:80 X:00 Y:58 P:A5 SP:FB CYC: 11 SL:113
E52C A9 05 LDA #$05 A:80 X:00 Y:58 P:A5 SP:FB CYC: 20 SL:113
E52E 85 44 STA $44 = 00 A:05 X:00 Y:58 P:25 SP:FB CYC: 26 SL:113
E530 A9 32 LDA #$32 A:05 X:00 Y:58 P:25 SP:FB CYC: 35 SL:113
E532 85 45 STA $45 = 00 A:32 X:00 Y:58 P:25 SP:FB CYC: 41 SL:113
E534 A9 04 LDA #$04 A:32 X:00 Y:58 P:25 SP:FB CYC: 50 SL:113
E536 85 46 STA $46 = 00 A:04 X:00 Y:58 P:25 SP:FB CYC: 56 SL:113
E538 A2 03 LDX #$03 A:04 X:00 Y:58 P:25 SP:FB CYC: 65 SL:113
E53A A0 77 LDY #$77 A:04 X:03 Y:58 P:25 SP:FB CYC: 71 SL:113
E53C A9 FF LDA #$FF A:04 X:03 Y:77 P:25 SP:FB CYC: 77 SL:113
E53E 85 01 STA $01 = FF A:FF X:03 Y:77 P:A5 SP:FB CYC: 83 SL:113
E540 24 01 BIT $01 = FF A:FF X:03 Y:77 P:A5 SP:FB CYC: 92 SL:113
E542 38 SEC A:FF X:03 Y:77 P:E5 SP:FB CYC:101 SL:113
E543 A9 00 LDA #$00 A:FF X:03 Y:77 P:E5 SP:FB CYC:107 SL:113
E545 A3 40 *LAX ($40,X) @ 43 = 0580 = 55 A:00 X:03 Y:77 P:67 SP:FB CYC:113 SL:113
E547 EA NOP A:55 X:55 Y:77 P:65 SP:FB CYC:131 SL:113
E548 EA NOP A:55 X:55 Y:77 P:65 SP:FB CYC:137 SL:113
E549 EA NOP A:55 X:55 Y:77 P:65 SP:FB CYC:143 SL:113
E54A EA NOP A:55 X:55 Y:77 P:65 SP:FB CYC:149 SL:113
E54B F0 12 BEQ $E55F A:55 X:55 Y:77 P:65 SP:FB CYC:155 SL:113
E54D 30 10 BMI $E55F A:55 X:55 Y:77 P:65 SP:FB CYC:161 SL:113
E54F 50 0E BVC $E55F A:55 X:55 Y:77 P:65 SP:FB CYC:167 SL:113
E551 90 0C BCC $E55F A:55 X:55 Y:77 P:65 SP:FB CYC:173 SL:113
E553 C9 55 CMP #$55 A:55 X:55 Y:77 P:65 SP:FB CYC:179 SL:113
E555 D0 08 BNE $E55F A:55 X:55 Y:77 P:67 SP:FB CYC:185 SL:113
E557 E0 55 CPX #$55 A:55 X:55 Y:77 P:67 SP:FB CYC:191 SL:113
E559 D0 04 BNE $E55F A:55 X:55 Y:77 P:67 SP:FB CYC:197 SL:113
E55B C0 77 CPY #$77 A:55 X:55 Y:77 P:67 SP:FB CYC:203 SL:113
E55D F0 04 BEQ $E563 A:55 X:55 Y:77 P:67 SP:FB CYC:209 SL:113
E563 A2 05 LDX #$05 A:55 X:55 Y:77 P:67 SP:FB CYC:218 SL:113
E565 A0 33 LDY #$33 A:55 X:05 Y:77 P:65 SP:FB CYC:224 SL:113
E567 B8 CLV A:55 X:05 Y:33 P:65 SP:FB CYC:230 SL:113
E568 18 CLC A:55 X:05 Y:33 P:25 SP:FB CYC:236 SL:113
E569 A9 00 LDA #$00 A:55 X:05 Y:33 P:24 SP:FB CYC:242 SL:113
E56B A3 40 *LAX ($40,X) @ 45 = 0432 = AA A:00 X:05 Y:33 P:26 SP:FB CYC:248 SL:113
E56D EA NOP A:AA X:AA Y:33 P:A4 SP:FB CYC:266 SL:113
E56E EA NOP A:AA X:AA Y:33 P:A4 SP:FB CYC:272 SL:113
E56F EA NOP A:AA X:AA Y:33 P:A4 SP:FB CYC:278 SL:113
E570 EA NOP A:AA X:AA Y:33 P:A4 SP:FB CYC:284 SL:113
E571 F0 12 BEQ $E585 A:AA X:AA Y:33 P:A4 SP:FB CYC:290 SL:113
E573 10 10 BPL $E585 A:AA X:AA Y:33 P:A4 SP:FB CYC:296 SL:113
E575 70 0E BVS $E585 A:AA X:AA Y:33 P:A4 SP:FB CYC:302 SL:113
E577 B0 0C BCS $E585 A:AA X:AA Y:33 P:A4 SP:FB CYC:308 SL:113
E579 C9 AA CMP #$AA A:AA X:AA Y:33 P:A4 SP:FB CYC:314 SL:113
E57B D0 08 BNE $E585 A:AA X:AA Y:33 P:27 SP:FB CYC:320 SL:113
E57D E0 AA CPX #$AA A:AA X:AA Y:33 P:27 SP:FB CYC:326 SL:113
E57F D0 04 BNE $E585 A:AA X:AA Y:33 P:27 SP:FB CYC:332 SL:113
E581 C0 33 CPY #$33 A:AA X:AA Y:33 P:27 SP:FB CYC:338 SL:113
E583 F0 04 BEQ $E589 A:AA X:AA Y:33 P:27 SP:FB CYC: 3 SL:114
E589 A9 87 LDA #$87 A:AA X:AA Y:33 P:27 SP:FB CYC: 12 SL:114
E58B 85 67 STA $67 = 00 A:87 X:AA Y:33 P:A5 SP:FB CYC: 18 SL:114
E58D A9 32 LDA #$32 A:87 X:AA Y:33 P:A5 SP:FB CYC: 27 SL:114
E58F 85 68 STA $68 = 00 A:32 X:AA Y:33 P:25 SP:FB CYC: 33 SL:114
E591 A0 57 LDY #$57 A:32 X:AA Y:33 P:25 SP:FB CYC: 42 SL:114
E593 24 01 BIT $01 = FF A:32 X:AA Y:57 P:25 SP:FB CYC: 48 SL:114
E595 38 SEC A:32 X:AA Y:57 P:E5 SP:FB CYC: 57 SL:114
E596 A9 00 LDA #$00 A:32 X:AA Y:57 P:E5 SP:FB CYC: 63 SL:114
E598 A7 67 *LAX $67 = 87 A:00 X:AA Y:57 P:67 SP:FB CYC: 69 SL:114
E59A EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC: 78 SL:114
E59B EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC: 84 SL:114
E59C EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC: 90 SL:114
E59D EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC: 96 SL:114
E59E F0 12 BEQ $E5B2 A:87 X:87 Y:57 P:E5 SP:FB CYC:102 SL:114
E5A0 10 10 BPL $E5B2 A:87 X:87 Y:57 P:E5 SP:FB CYC:108 SL:114
E5A2 50 0E BVC $E5B2 A:87 X:87 Y:57 P:E5 SP:FB CYC:114 SL:114
E5A4 90 0C BCC $E5B2 A:87 X:87 Y:57 P:E5 SP:FB CYC:120 SL:114
E5A6 C9 87 CMP #$87 A:87 X:87 Y:57 P:E5 SP:FB CYC:126 SL:114
E5A8 D0 08 BNE $E5B2 A:87 X:87 Y:57 P:67 SP:FB CYC:132 SL:114
E5AA E0 87 CPX #$87 A:87 X:87 Y:57 P:67 SP:FB CYC:138 SL:114
E5AC D0 04 BNE $E5B2 A:87 X:87 Y:57 P:67 SP:FB CYC:144 SL:114
E5AE C0 57 CPY #$57 A:87 X:87 Y:57 P:67 SP:FB CYC:150 SL:114
E5B0 F0 04 BEQ $E5B6 A:87 X:87 Y:57 P:67 SP:FB CYC:156 SL:114
E5B6 A0 53 LDY #$53 A:87 X:87 Y:57 P:67 SP:FB CYC:165 SL:114
E5B8 B8 CLV A:87 X:87 Y:53 P:65 SP:FB CYC:171 SL:114
E5B9 18 CLC A:87 X:87 Y:53 P:25 SP:FB CYC:177 SL:114
E5BA A9 00 LDA #$00 A:87 X:87 Y:53 P:24 SP:FB CYC:183 SL:114
E5BC A7 68 *LAX $68 = 32 A:00 X:87 Y:53 P:26 SP:FB CYC:189 SL:114
E5BE EA NOP A:32 X:32 Y:53 P:24 SP:FB CYC:198 SL:114
E5BF EA NOP A:32 X:32 Y:53 P:24 SP:FB CYC:204 SL:114
E5C0 EA NOP A:32 X:32 Y:53 P:24 SP:FB CYC:210 SL:114
E5C1 EA NOP A:32 X:32 Y:53 P:24 SP:FB CYC:216 SL:114
E5C2 F0 12 BEQ $E5D6 A:32 X:32 Y:53 P:24 SP:FB CYC:222 SL:114
E5C4 30 10 BMI $E5D6 A:32 X:32 Y:53 P:24 SP:FB CYC:228 SL:114
E5C6 70 0E BVS $E5D6 A:32 X:32 Y:53 P:24 SP:FB CYC:234 SL:114
E5C8 B0 0C BCS $E5D6 A:32 X:32 Y:53 P:24 SP:FB CYC:240 SL:114
E5CA C9 32 CMP #$32 A:32 X:32 Y:53 P:24 SP:FB CYC:246 SL:114
E5CC D0 08 BNE $E5D6 A:32 X:32 Y:53 P:27 SP:FB CYC:252 SL:114
E5CE E0 32 CPX #$32 A:32 X:32 Y:53 P:27 SP:FB CYC:258 SL:114
E5D0 D0 04 BNE $E5D6 A:32 X:32 Y:53 P:27 SP:FB CYC:264 SL:114
E5D2 C0 53 CPY #$53 A:32 X:32 Y:53 P:27 SP:FB CYC:270 SL:114
E5D4 F0 04 BEQ $E5DA A:32 X:32 Y:53 P:27 SP:FB CYC:276 SL:114
E5DA A9 87 LDA #$87 A:32 X:32 Y:53 P:27 SP:FB CYC:285 SL:114
E5DC 8D 77 05 STA $0577 = 00 A:87 X:32 Y:53 P:A5 SP:FB CYC:291 SL:114
E5DF A9 32 LDA #$32 A:87 X:32 Y:53 P:A5 SP:FB CYC:303 SL:114
E5E1 8D 78 05 STA $0578 = 00 A:32 X:32 Y:53 P:25 SP:FB CYC:309 SL:114
E5E4 A0 57 LDY #$57 A:32 X:32 Y:53 P:25 SP:FB CYC:321 SL:114
E5E6 24 01 BIT $01 = FF A:32 X:32 Y:57 P:25 SP:FB CYC:327 SL:114
E5E8 38 SEC A:32 X:32 Y:57 P:E5 SP:FB CYC:336 SL:114
E5E9 A9 00 LDA #$00 A:32 X:32 Y:57 P:E5 SP:FB CYC: 1 SL:115
E5EB AF 77 05 *LAX $0577 = 87 A:00 X:32 Y:57 P:67 SP:FB CYC: 7 SL:115
E5EE EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC: 19 SL:115
E5EF EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC: 25 SL:115
E5F0 EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC: 31 SL:115
E5F1 EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC: 37 SL:115
E5F2 F0 12 BEQ $E606 A:87 X:87 Y:57 P:E5 SP:FB CYC: 43 SL:115
E5F4 10 10 BPL $E606 A:87 X:87 Y:57 P:E5 SP:FB CYC: 49 SL:115
E5F6 50 0E BVC $E606 A:87 X:87 Y:57 P:E5 SP:FB CYC: 55 SL:115
E5F8 90 0C BCC $E606 A:87 X:87 Y:57 P:E5 SP:FB CYC: 61 SL:115
E5FA C9 87 CMP #$87 A:87 X:87 Y:57 P:E5 SP:FB CYC: 67 SL:115
E5FC D0 08 BNE $E606 A:87 X:87 Y:57 P:67 SP:FB CYC: 73 SL:115
E5FE E0 87 CPX #$87 A:87 X:87 Y:57 P:67 SP:FB CYC: 79 SL:115
E600 D0 04 BNE $E606 A:87 X:87 Y:57 P:67 SP:FB CYC: 85 SL:115
E602 C0 57 CPY #$57 A:87 X:87 Y:57 P:67 SP:FB CYC: 91 SL:115
E604 F0 04 BEQ $E60A A:87 X:87 Y:57 P:67 SP:FB CYC: 97 SL:115
E60A A0 53 LDY #$53 A:87 X:87 Y:57 P:67 SP:FB CYC:106 SL:115
E60C B8 CLV A:87 X:87 Y:53 P:65 SP:FB CYC:112 SL:115
E60D 18 CLC A:87 X:87 Y:53 P:25 SP:FB CYC:118 SL:115
E60E A9 00 LDA #$00 A:87 X:87 Y:53 P:24 SP:FB CYC:124 SL:115
E610 AF 78 05 *LAX $0578 = 32 A:00 X:87 Y:53 P:26 SP:FB CYC:130 SL:115
E613 EA NOP A:32 X:32 Y:53 P:24 SP:FB CYC:142 SL:115
E614 EA NOP A:32 X:32 Y:53 P:24 SP:FB CYC:148 SL:115
E615 EA NOP A:32 X:32 Y:53 P:24 SP:FB CYC:154 SL:115
E616 EA NOP A:32 X:32 Y:53 P:24 SP:FB CYC:160 SL:115
E617 F0 12 BEQ $E62B A:32 X:32 Y:53 P:24 SP:FB CYC:166 SL:115
E619 30 10 BMI $E62B A:32 X:32 Y:53 P:24 SP:FB CYC:172 SL:115
E61B 70 0E BVS $E62B A:32 X:32 Y:53 P:24 SP:FB CYC:178 SL:115
E61D B0 0C BCS $E62B A:32 X:32 Y:53 P:24 SP:FB CYC:184 SL:115
E61F C9 32 CMP #$32 A:32 X:32 Y:53 P:24 SP:FB CYC:190 SL:115
E621 D0 08 BNE $E62B A:32 X:32 Y:53 P:27 SP:FB CYC:196 SL:115
E623 E0 32 CPX #$32 A:32 X:32 Y:53 P:27 SP:FB CYC:202 SL:115
E625 D0 04 BNE $E62B A:32 X:32 Y:53 P:27 SP:FB CYC:208 SL:115
E627 C0 53 CPY #$53 A:32 X:32 Y:53 P:27 SP:FB CYC:214 SL:115
E629 F0 04 BEQ $E62F A:32 X:32 Y:53 P:27 SP:FB CYC:220 SL:115
E62F A9 FF LDA #$FF A:32 X:32 Y:53 P:27 SP:FB CYC:229 SL:115
E631 85 43 STA $43 = 80 A:FF X:32 Y:53 P:A5 SP:FB CYC:235 SL:115
E633 A9 04 LDA #$04 A:FF X:32 Y:53 P:A5 SP:FB CYC:244 SL:115
E635 85 44 STA $44 = 05 A:04 X:32 Y:53 P:25 SP:FB CYC:250 SL:115
E637 A9 32 LDA #$32 A:04 X:32 Y:53 P:25 SP:FB CYC:259 SL:115
E639 85 45 STA $45 = 32 A:32 X:32 Y:53 P:25 SP:FB CYC:265 SL:115
E63B A9 04 LDA #$04 A:32 X:32 Y:53 P:25 SP:FB CYC:274 SL:115
E63D 85 46 STA $46 = 04 A:04 X:32 Y:53 P:25 SP:FB CYC:280 SL:115
E63F A9 55 LDA #$55 A:04 X:32 Y:53 P:25 SP:FB CYC:289 SL:115
E641 8D 80 05 STA $0580 = 55 A:55 X:32 Y:53 P:25 SP:FB CYC:295 SL:115
E644 A9 AA LDA #$AA A:55 X:32 Y:53 P:25 SP:FB CYC:307 SL:115
E646 8D 32 04 STA $0432 = AA A:AA X:32 Y:53 P:A5 SP:FB CYC:313 SL:115
E649 A2 03 LDX #$03 A:AA X:32 Y:53 P:A5 SP:FB CYC:325 SL:115
E64B A0 81 LDY #$81 A:AA X:03 Y:53 P:25 SP:FB CYC:331 SL:115
E64D 24 01 BIT $01 = FF A:AA X:03 Y:81 P:A5 SP:FB CYC:337 SL:115
E64F 38 SEC A:AA X:03 Y:81 P:E5 SP:FB CYC: 5 SL:116
E650 A9 00 LDA #$00 A:AA X:03 Y:81 P:E5 SP:FB CYC: 11 SL:116
E652 B3 43 *LAX ($43),Y = 04FF @ 0580 = 55 A:00 X:03 Y:81 P:67 SP:FB CYC: 17 SL:116
E654 EA NOP A:55 X:55 Y:81 P:65 SP:FB CYC: 35 SL:116
E655 EA NOP A:55 X:55 Y:81 P:65 SP:FB CYC: 41 SL:116
E656 EA NOP A:55 X:55 Y:81 P:65 SP:FB CYC: 47 SL:116
E657 EA NOP A:55 X:55 Y:81 P:65 SP:FB CYC: 53 SL:116
E658 F0 12 BEQ $E66C A:55 X:55 Y:81 P:65 SP:FB CYC: 59 SL:116
E65A 30 10 BMI $E66C A:55 X:55 Y:81 P:65 SP:FB CYC: 65 SL:116
E65C 50 0E BVC $E66C A:55 X:55 Y:81 P:65 SP:FB CYC: 71 SL:116
E65E 90 0C BCC $E66C A:55 X:55 Y:81 P:65 SP:FB CYC: 77 SL:116
E660 C9 55 CMP #$55 A:55 X:55 Y:81 P:65 SP:FB CYC: 83 SL:116
E662 D0 08 BNE $E66C A:55 X:55 Y:81 P:67 SP:FB CYC: 89 SL:116
E664 E0 55 CPX #$55 A:55 X:55 Y:81 P:67 SP:FB CYC: 95 SL:116
E666 D0 04 BNE $E66C A:55 X:55 Y:81 P:67 SP:FB CYC:101 SL:116
E668 C0 81 CPY #$81 A:55 X:55 Y:81 P:67 SP:FB CYC:107 SL:116
E66A F0 04 BEQ $E670 A:55 X:55 Y:81 P:67 SP:FB CYC:113 SL:116
E670 A2 05 LDX #$05 A:55 X:55 Y:81 P:67 SP:FB CYC:122 SL:116
E672 A0 00 LDY #$00 A:55 X:05 Y:81 P:65 SP:FB CYC:128 SL:116
E674 B8 CLV A:55 X:05 Y:00 P:67 SP:FB CYC:134 SL:116
E675 18 CLC A:55 X:05 Y:00 P:27 SP:FB CYC:140 SL:116
E676 A9 00 LDA #$00 A:55 X:05 Y:00 P:26 SP:FB CYC:146 SL:116
E678 B3 45 *LAX ($45),Y = 0432 @ 0432 = AA A:00 X:05 Y:00 P:26 SP:FB CYC:152 SL:116
E67A EA NOP A:AA X:AA Y:00 P:A4 SP:FB CYC:167 SL:116
E67B EA NOP A:AA X:AA Y:00 P:A4 SP:FB CYC:173 SL:116
E67C EA NOP A:AA X:AA Y:00 P:A4 SP:FB CYC:179 SL:116
E67D EA NOP A:AA X:AA Y:00 P:A4 SP:FB CYC:185 SL:116
E67E F0 12 BEQ $E692 A:AA X:AA Y:00 P:A4 SP:FB CYC:191 SL:116
E680 10 10 BPL $E692 A:AA X:AA Y:00 P:A4 SP:FB CYC:197 SL:116
E682 70 0E BVS $E692 A:AA X:AA Y:00 P:A4 SP:FB CYC:203 SL:116
E684 B0 0C BCS $E692 A:AA X:AA Y:00 P:A4 SP:FB CYC:209 SL:116
E686 C9 AA CMP #$AA A:AA X:AA Y:00 P:A4 SP:FB CYC:215 SL:116
E688 D0 08 BNE $E692 A:AA X:AA Y:00 P:27 SP:FB CYC:221 SL:116
E68A E0 AA CPX #$AA A:AA X:AA Y:00 P:27 SP:FB CYC:227 SL:116
E68C D0 04 BNE $E692 A:AA X:AA Y:00 P:27 SP:FB CYC:233 SL:116
E68E C0 00 CPY #$00 A:AA X:AA Y:00 P:27 SP:FB CYC:239 SL:116
E690 F0 04 BEQ $E696 A:AA X:AA Y:00 P:27 SP:FB CYC:245 SL:116
E696 A9 87 LDA #$87 A:AA X:AA Y:00 P:27 SP:FB CYC:254 SL:116
E698 85 67 STA $67 = 87 A:87 X:AA Y:00 P:A5 SP:FB CYC:260 SL:116
E69A A9 32 LDA #$32 A:87 X:AA Y:00 P:A5 SP:FB CYC:269 SL:116
E69C 85 68 STA $68 = 32 A:32 X:AA Y:00 P:25 SP:FB CYC:275 SL:116
E69E A0 57 LDY #$57 A:32 X:AA Y:00 P:25 SP:FB CYC:284 SL:116
E6A0 24 01 BIT $01 = FF A:32 X:AA Y:57 P:25 SP:FB CYC:290 SL:116
E6A2 38 SEC A:32 X:AA Y:57 P:E5 SP:FB CYC:299 SL:116
E6A3 A9 00 LDA #$00 A:32 X:AA Y:57 P:E5 SP:FB CYC:305 SL:116
E6A5 B7 10 *LAX $10,Y @ 67 = 87 A:00 X:AA Y:57 P:67 SP:FB CYC:311 SL:116
E6A7 EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC:323 SL:116
E6A8 EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC:329 SL:116
E6A9 EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC:335 SL:116
E6AA EA NOP A:87 X:87 Y:57 P:E5 SP:FB CYC: 0 SL:117
E6AB F0 12 BEQ $E6BF A:87 X:87 Y:57 P:E5 SP:FB CYC: 6 SL:117
E6AD 10 10 BPL $E6BF A:87 X:87 Y:57 P:E5 SP:FB CYC: 12 SL:117
E6AF 50 0E BVC $E6BF A:87 X:87 Y:57 P:E5 SP:FB CYC: 18 SL:117
E6B1 90 0C BCC $E6BF A:87 X:87 Y:57 P:E5 SP:FB CYC: 24 SL:117
E6B3 C9 87 CMP #$87 A:87 X:87 Y:57 P:E5 SP:FB CYC: 30 SL:117
E6B5 D0 08 BNE $E6BF A:87 X:87 Y:57 P:67 SP:FB CYC: 36 SL:117
E6B7 E0 87 CPX #$87 A:87 X:87 Y:57 P:67 SP:FB CYC: 42 SL:117
E6B9 D0 04 BNE $E6BF A:87 X:87 Y:57 P:67 SP:FB CYC: 48 SL:117
E6BB C0 57 CPY #$57 A:87 X:87 Y:57 P:67 SP:FB CYC: 54 SL:117
E6BD F0 04 BEQ $E6C3 A:87 X:87 Y:57 P:67 SP:FB CYC: 60 SL:117
E6C3 A0 FF LDY #$FF A:87 X:87 Y:57 P:67 SP:FB CYC: 69 SL:117
E6C5 B8 CLV A:87 X:87 Y:FF P:E5 SP:FB CYC: 75 SL:117
E6C6 18 CLC A:87 X:87 Y:FF P:A5 SP:FB CYC: 81 SL:117
E6C7 A9 00 LDA #$00 A:87 X:87 Y:FF P:A4 SP:FB CYC: 87 SL:117
E6C9 B7 69 *LAX $69,Y @ 68 = 32 A:00 X:87 Y:FF P:26 SP:FB CYC: 93 SL:117
E6CB EA NOP A:32 X:32 Y:FF P:24 SP:FB CYC:105 SL:117
E6CC EA NOP A:32 X:32 Y:FF P:24 SP:FB CYC:111 SL:117
E6CD EA NOP A:32 X:32 Y:FF P:24 SP:FB CYC:117 SL:117
E6CE EA NOP A:32 X:32 Y:FF P:24 SP:FB CYC:123 SL:117
E6CF F0 12 BEQ $E6E3 A:32 X:32 Y:FF P:24 SP:FB CYC:129 SL:117
E6D1 30 10 BMI $E6E3 A:32 X:32 Y:FF P:24 SP:FB CYC:135 SL:117
E6D3 70 0E BVS $E6E3 A:32 X:32 Y:FF P:24 SP:FB CYC:141 SL:117
E6D5 B0 0C BCS $E6E3 A:32 X:32 Y:FF P:24 SP:FB CYC:147 SL:117
E6D7 C9 32 CMP #$32 A:32 X:32 Y:FF P:24 SP:FB CYC:153 SL:117
E6D9 D0 08 BNE $E6E3 A:32 X:32 Y:FF P:27 SP:FB CYC:159 SL:117
E6DB E0 32 CPX #$32 A:32 X:32 Y:FF P:27 SP:FB CYC:165 SL:117
E6DD D0 04 BNE $E6E3 A:32 X:32 Y:FF P:27 SP:FB CYC:171 SL:117
E6DF C0 FF CPY #$FF A:32 X:32 Y:FF P:27 SP:FB CYC:177 SL:117
E6E1 F0 04 BEQ $E6E7 A:32 X:32 Y:FF P:27 SP:FB CYC:183 SL:117
E6E7 A9 87 LDA #$87 A:32 X:32 Y:FF P:27 SP:FB CYC:192 SL:117
E6E9 8D 87 05 STA $0587 = 00 A:87 X:32 Y:FF P:A5 SP:FB CYC:198 SL:117
E6EC A9 32 LDA #$32 A:87 X:32 Y:FF P:A5 SP:FB CYC:210 SL:117
E6EE 8D 88 05 STA $0588 = 00 A:32 X:32 Y:FF P:25 SP:FB CYC:216 SL:117
E6F1 A0 30 LDY #$30 A:32 X:32 Y:FF P:25 SP:FB CYC:228 SL:117
E6F3 24 01 BIT $01 = FF A:32 X:32 Y:30 P:25 SP:FB CYC:234 SL:117
E6F5 38 SEC A:32 X:32 Y:30 P:E5 SP:FB CYC:243 SL:117
E6F6 A9 00 LDA #$00 A:32 X:32 Y:30 P:E5 SP:FB CYC:249 SL:117
E6F8 BF 57 05 *LAX $0557,Y @ 0587 = 87 A:00 X:32 Y:30 P:67 SP:FB CYC:255 SL:117
E6FB EA NOP A:87 X:87 Y:30 P:E5 SP:FB CYC:267 SL:117
E6FC EA NOP A:87 X:87 Y:30 P:E5 SP:FB CYC:273 SL:117
E6FD EA NOP A:87 X:87 Y:30 P:E5 SP:FB CYC:279 SL:117
E6FE EA NOP A:87 X:87 Y:30 P:E5 SP:FB CYC:285 SL:117
E6FF F0 12 BEQ $E713 A:87 X:87 Y:30 P:E5 SP:FB CYC:291 SL:117
E701 10 10 BPL $E713 A:87 X:87 Y:30 P:E5 SP:FB CYC:297 SL:117
E703 50 0E BVC $E713 A:87 X:87 Y:30 P:E5 SP:FB CYC:303 SL:117
E705 90 0C BCC $E713 A:87 X:87 Y:30 P:E5 SP:FB CYC:309 SL:117
E707 C9 87 CMP #$87 A:87 X:87 Y:30 P:E5 SP:FB CYC:315 SL:117
E709 D0 08 BNE $E713 A:87 X:87 Y:30 P:67 SP:FB CYC:321 SL:117
E70B E0 87 CPX #$87 A:87 X:87 Y:30 P:67 SP:FB CYC:327 SL:117
E70D D0 04 BNE $E713 A:87 X:87 Y:30 P:67 SP:FB CYC:333 SL:117
E70F C0 30 CPY #$30 A:87 X:87 Y:30 P:67 SP:FB CYC:339 SL:117
E711 F0 04 BEQ $E717 A:87 X:87 Y:30 P:67 SP:FB CYC: 4 SL:118
E717 A0 40 LDY #$40 A:87 X:87 Y:30 P:67 SP:FB CYC: 13 SL:118
E719 B8 CLV A:87 X:87 Y:40 P:65 SP:FB CYC: 19 SL:118
E71A 18 CLC A:87 X:87 Y:40 P:25 SP:FB CYC: 25 SL:118
E71B A9 00 LDA #$00 A:87 X:87 Y:40 P:24 SP:FB CYC: 31 SL:118
E71D BF 48 05 *LAX $0548,Y @ 0588 = 32 A:00 X:87 Y:40 P:26 SP:FB CYC: 37 SL:118
E720 EA NOP A:32 X:32 Y:40 P:24 SP:FB CYC: 49 SL:118
E721 EA NOP A:32 X:32 Y:40 P:24 SP:FB CYC: 55 SL:118
E722 EA NOP A:32 X:32 Y:40 P:24 SP:FB CYC: 61 SL:118
E723 EA NOP A:32 X:32 Y:40 P:24 SP:FB CYC: 67 SL:118
E724 F0 12 BEQ $E738 A:32 X:32 Y:40 P:24 SP:FB CYC: 73 SL:118
E726 30 10 BMI $E738 A:32 X:32 Y:40 P:24 SP:FB CYC: 79 SL:118
E728 70 0E BVS $E738 A:32 X:32 Y:40 P:24 SP:FB CYC: 85 SL:118
E72A B0 0C BCS $E738 A:32 X:32 Y:40 P:24 SP:FB CYC: 91 SL:118
E72C C9 32 CMP #$32 A:32 X:32 Y:40 P:24 SP:FB CYC: 97 SL:118
E72E D0 08 BNE $E738 A:32 X:32 Y:40 P:27 SP:FB CYC:103 SL:118
E730 E0 32 CPX #$32 A:32 X:32 Y:40 P:27 SP:FB CYC:109 SL:118
E732 D0 04 BNE $E738 A:32 X:32 Y:40 P:27 SP:FB CYC:115 SL:118
E734 C0 40 CPY #$40 A:32 X:32 Y:40 P:27 SP:FB CYC:121 SL:118
E736 F0 04 BEQ $E73C A:32 X:32 Y:40 P:27 SP:FB CYC:127 SL:118
E73C 60 RTS A:32 X:32 Y:40 P:27 SP:FB CYC:136 SL:118
C635 20 3D E7 JSR $E73D A:32 X:32 Y:40 P:27 SP:FD CYC:154 SL:118
E73D A9 C0 LDA #$C0 A:32 X:32 Y:40 P:27 SP:FB CYC:172 SL:118
E73F 85 01 STA $01 = FF A:C0 X:32 Y:40 P:A5 SP:FB CYC:178 SL:118
E741 A9 00 LDA #$00 A:C0 X:32 Y:40 P:A5 SP:FB CYC:187 SL:118
E743 8D 89 04 STA $0489 = 00 A:00 X:32 Y:40 P:27 SP:FB CYC:193 SL:118
E746 A9 89 LDA #$89 A:00 X:32 Y:40 P:27 SP:FB CYC:205 SL:118
E748 85 60 STA $60 = 00 A:89 X:32 Y:40 P:A5 SP:FB CYC:211 SL:118
E74A A9 04 LDA #$04 A:89 X:32 Y:40 P:A5 SP:FB CYC:220 SL:118
E74C 85 61 STA $61 = 00 A:04 X:32 Y:40 P:25 SP:FB CYC:226 SL:118
E74E A0 44 LDY #$44 A:04 X:32 Y:40 P:25 SP:FB CYC:235 SL:118
E750 A2 17 LDX #$17 A:04 X:32 Y:44 P:25 SP:FB CYC:241 SL:118
E752 A9 3E LDA #$3E A:04 X:17 Y:44 P:25 SP:FB CYC:247 SL:118
E754 24 01 BIT $01 = C0 A:3E X:17 Y:44 P:25 SP:FB CYC:253 SL:118
E756 18 CLC A:3E X:17 Y:44 P:E7 SP:FB CYC:262 SL:118
E757 83 49 *SAX ($49,X) @ 60 = 0489 = 00 A:3E X:17 Y:44 P:E6 SP:FB CYC:268 SL:118
E759 EA NOP A:3E X:17 Y:44 P:E6 SP:FB CYC:286 SL:118
E75A EA NOP A:3E X:17 Y:44 P:E6 SP:FB CYC:292 SL:118
E75B EA NOP A:3E X:17 Y:44 P:E6 SP:FB CYC:298 SL:118
E75C EA NOP A:3E X:17 Y:44 P:E6 SP:FB CYC:304 SL:118
E75D D0 19 BNE $E778 A:3E X:17 Y:44 P:E6 SP:FB CYC:310 SL:118
E75F B0 17 BCS $E778 A:3E X:17 Y:44 P:E6 SP:FB CYC:316 SL:118
E761 50 15 BVC $E778 A:3E X:17 Y:44 P:E6 SP:FB CYC:322 SL:118
E763 10 13 BPL $E778 A:3E X:17 Y:44 P:E6 SP:FB CYC:328 SL:118
E765 C9 3E CMP #$3E A:3E X:17 Y:44 P:E6 SP:FB CYC:334 SL:118
E767 D0 0F BNE $E778 A:3E X:17 Y:44 P:67 SP:FB CYC:340 SL:118
E769 C0 44 CPY #$44 A:3E X:17 Y:44 P:67 SP:FB CYC: 5 SL:119
E76B D0 0B BNE $E778 A:3E X:17 Y:44 P:67 SP:FB CYC: 11 SL:119
E76D E0 17 CPX #$17 A:3E X:17 Y:44 P:67 SP:FB CYC: 17 SL:119
E76F D0 07 BNE $E778 A:3E X:17 Y:44 P:67 SP:FB CYC: 23 SL:119
E771 AD 89 04 LDA $0489 = 16 A:3E X:17 Y:44 P:67 SP:FB CYC: 29 SL:119
E774 C9 16 CMP #$16 A:16 X:17 Y:44 P:65 SP:FB CYC: 41 SL:119
E776 F0 04 BEQ $E77C A:16 X:17 Y:44 P:67 SP:FB CYC: 47 SL:119
E77C A0 44 LDY #$44 A:16 X:17 Y:44 P:67 SP:FB CYC: 56 SL:119
E77E A2 7A LDX #$7A A:16 X:17 Y:44 P:65 SP:FB CYC: 62 SL:119
E780 A9 66 LDA #$66 A:16 X:7A Y:44 P:65 SP:FB CYC: 68 SL:119
E782 38 SEC A:66 X:7A Y:44 P:65 SP:FB CYC: 74 SL:119
E783 B8 CLV A:66 X:7A Y:44 P:65 SP:FB CYC: 80 SL:119
E784 83 E6 *SAX ($E6,X) @ 60 = 0489 = 16 A:66 X:7A Y:44 P:25 SP:FB CYC: 86 SL:119
E786 EA NOP A:66 X:7A Y:44 P:25 SP:FB CYC:104 SL:119
E787 EA NOP A:66 X:7A Y:44 P:25 SP:FB CYC:110 SL:119
E788 EA NOP A:66 X:7A Y:44 P:25 SP:FB CYC:116 SL:119
E789 EA NOP A:66 X:7A Y:44 P:25 SP:FB CYC:122 SL:119
E78A F0 19 BEQ $E7A5 A:66 X:7A Y:44 P:25 SP:FB CYC:128 SL:119
E78C 90 17 BCC $E7A5 A:66 X:7A Y:44 P:25 SP:FB CYC:134 SL:119
E78E 70 15 BVS $E7A5 A:66 X:7A Y:44 P:25 SP:FB CYC:140 SL:119
E790 30 13 BMI $E7A5 A:66 X:7A Y:44 P:25 SP:FB CYC:146 SL:119
E792 C9 66 CMP #$66 A:66 X:7A Y:44 P:25 SP:FB CYC:152 SL:119
E794 D0 0F BNE $E7A5 A:66 X:7A Y:44 P:27 SP:FB CYC:158 SL:119
E796 C0 44 CPY #$44 A:66 X:7A Y:44 P:27 SP:FB CYC:164 SL:119
E798 D0 0B BNE $E7A5 A:66 X:7A Y:44 P:27 SP:FB CYC:170 SL:119
E79A E0 7A CPX #$7A A:66 X:7A Y:44 P:27 SP:FB CYC:176 SL:119
E79C D0 07 BNE $E7A5 A:66 X:7A Y:44 P:27 SP:FB CYC:182 SL:119
E79E AD 89 04 LDA $0489 = 62 A:66 X:7A Y:44 P:27 SP:FB CYC:188 SL:119
E7A1 C9 62 CMP #$62 A:62 X:7A Y:44 P:25 SP:FB CYC:200 SL:119
E7A3 F0 04 BEQ $E7A9 A:62 X:7A Y:44 P:27 SP:FB CYC:206 SL:119
E7A9 A9 FF LDA #$FF A:62 X:7A Y:44 P:27 SP:FB CYC:215 SL:119
E7AB 85 49 STA $49 = 00 A:FF X:7A Y:44 P:A5 SP:FB CYC:221 SL:119
E7AD A0 44 LDY #$44 A:FF X:7A Y:44 P:A5 SP:FB CYC:230 SL:119
E7AF A2 AA LDX #$AA A:FF X:7A Y:44 P:25 SP:FB CYC:236 SL:119
E7B1 A9 55 LDA #$55 A:FF X:AA Y:44 P:A5 SP:FB CYC:242 SL:119
E7B3 24 01 BIT $01 = C0 A:55 X:AA Y:44 P:25 SP:FB CYC:248 SL:119
E7B5 18 CLC A:55 X:AA Y:44 P:E5 SP:FB CYC:257 SL:119
E7B6 87 49 *SAX $49 = FF A:55 X:AA Y:44 P:E4 SP:FB CYC:263 SL:119
E7B8 EA NOP A:55 X:AA Y:44 P:E4 SP:FB CYC:272 SL:119
E7B9 EA NOP A:55 X:AA Y:44 P:E4 SP:FB CYC:278 SL:119
E7BA EA NOP A:55 X:AA Y:44 P:E4 SP:FB CYC:284 SL:119
E7BB EA NOP A:55 X:AA Y:44 P:E4 SP:FB CYC:290 SL:119
E7BC F0 18 BEQ $E7D6 A:55 X:AA Y:44 P:E4 SP:FB CYC:296 SL:119
E7BE B0 16 BCS $E7D6 A:55 X:AA Y:44 P:E4 SP:FB CYC:302 SL:119
E7C0 50 14 BVC $E7D6 A:55 X:AA Y:44 P:E4 SP:FB CYC:308 SL:119
E7C2 10 12 BPL $E7D6 A:55 X:AA Y:44 P:E4 SP:FB CYC:314 SL:119
E7C4 C9 55 CMP #$55 A:55 X:AA Y:44 P:E4 SP:FB CYC:320 SL:119
E7C6 D0 0E BNE $E7D6 A:55 X:AA Y:44 P:67 SP:FB CYC:326 SL:119
E7C8 C0 44 CPY #$44 A:55 X:AA Y:44 P:67 SP:FB CYC:332 SL:119
E7CA D0 0A BNE $E7D6 A:55 X:AA Y:44 P:67 SP:FB CYC:338 SL:119
E7CC E0 AA CPX #$AA A:55 X:AA Y:44 P:67 SP:FB CYC: 3 SL:120
E7CE D0 06 BNE $E7D6 A:55 X:AA Y:44 P:67 SP:FB CYC: 9 SL:120
E7D0 A5 49 LDA $49 = 00 A:55 X:AA Y:44 P:67 SP:FB CYC: 15 SL:120
E7D2 C9 00 CMP #$00 A:00 X:AA Y:44 P:67 SP:FB CYC: 24 SL:120
E7D4 F0 04 BEQ $E7DA A:00 X:AA Y:44 P:67 SP:FB CYC: 30 SL:120
E7DA A9 00 LDA #$00 A:00 X:AA Y:44 P:67 SP:FB CYC: 39 SL:120
E7DC 85 56 STA $56 = 00 A:00 X:AA Y:44 P:67 SP:FB CYC: 45 SL:120
E7DE A0 58 LDY #$58 A:00 X:AA Y:44 P:67 SP:FB CYC: 54 SL:120
E7E0 A2 EF LDX #$EF A:00 X:AA Y:58 P:65 SP:FB CYC: 60 SL:120
E7E2 A9 66 LDA #$66 A:00 X:EF Y:58 P:E5 SP:FB CYC: 66 SL:120
E7E4 38 SEC A:66 X:EF Y:58 P:65 SP:FB CYC: 72 SL:120
E7E5 B8 CLV A:66 X:EF Y:58 P:65 SP:FB CYC: 78 SL:120
E7E6 87 56 *SAX $56 = 00 A:66 X:EF Y:58 P:25 SP:FB CYC: 84 SL:120
E7E8 EA NOP A:66 X:EF Y:58 P:25 SP:FB CYC: 93 SL:120
E7E9 EA NOP A:66 X:EF Y:58 P:25 SP:FB CYC: 99 SL:120
E7EA EA NOP A:66 X:EF Y:58 P:25 SP:FB CYC:105 SL:120
E7EB EA NOP A:66 X:EF Y:58 P:25 SP:FB CYC:111 SL:120
E7EC F0 18 BEQ $E806 A:66 X:EF Y:58 P:25 SP:FB CYC:117 SL:120
E7EE 90 16 BCC $E806 A:66 X:EF Y:58 P:25 SP:FB CYC:123 SL:120
E7F0 70 14 BVS $E806 A:66 X:EF Y:58 P:25 SP:FB CYC:129 SL:120
E7F2 30 12 BMI $E806 A:66 X:EF Y:58 P:25 SP:FB CYC:135 SL:120
E7F4 C9 66 CMP #$66 A:66 X:EF Y:58 P:25 SP:FB CYC:141 SL:120
E7F6 D0 0E BNE $E806 A:66 X:EF Y:58 P:27 SP:FB CYC:147 SL:120
E7F8 C0 58 CPY #$58 A:66 X:EF Y:58 P:27 SP:FB CYC:153 SL:120
E7FA D0 0A BNE $E806 A:66 X:EF Y:58 P:27 SP:FB CYC:159 SL:120
E7FC E0 EF CPX #$EF A:66 X:EF Y:58 P:27 SP:FB CYC:165 SL:120
E7FE D0 06 BNE $E806 A:66 X:EF Y:58 P:27 SP:FB CYC:171 SL:120
E800 A5 56 LDA $56 = 66 A:66 X:EF Y:58 P:27 SP:FB CYC:177 SL:120
E802 C9 66 CMP #$66 A:66 X:EF Y:58 P:25 SP:FB CYC:186 SL:120
E804 F0 04 BEQ $E80A A:66 X:EF Y:58 P:27 SP:FB CYC:192 SL:120
E80A A9 FF LDA #$FF A:66 X:EF Y:58 P:27 SP:FB CYC:201 SL:120
E80C 8D 49 05 STA $0549 = 00 A:FF X:EF Y:58 P:A5 SP:FB CYC:207 SL:120
E80F A0 E5 LDY #$E5 A:FF X:EF Y:58 P:A5 SP:FB CYC:219 SL:120
E811 A2 AF LDX #$AF A:FF X:EF Y:E5 P:A5 SP:FB CYC:225 SL:120
E813 A9 F5 LDA #$F5 A:FF X:AF Y:E5 P:A5 SP:FB CYC:231 SL:120
E815 24 01 BIT $01 = C0 A:F5 X:AF Y:E5 P:A5 SP:FB CYC:237 SL:120
E817 18 CLC A:F5 X:AF Y:E5 P:E5 SP:FB CYC:246 SL:120
E818 8F 49 05 *SAX $0549 = FF A:F5 X:AF Y:E5 P:E4 SP:FB CYC:252 SL:120
E81B EA NOP A:F5 X:AF Y:E5 P:E4 SP:FB CYC:264 SL:120
E81C EA NOP A:F5 X:AF Y:E5 P:E4 SP:FB CYC:270 SL:120
E81D EA NOP A:F5 X:AF Y:E5 P:E4 SP:FB CYC:276 SL:120
E81E EA NOP A:F5 X:AF Y:E5 P:E4 SP:FB CYC:282 SL:120
E81F F0 19 BEQ $E83A A:F5 X:AF Y:E5 P:E4 SP:FB CYC:288 SL:120
E821 B0 17 BCS $E83A A:F5 X:AF Y:E5 P:E4 SP:FB CYC:294 SL:120
E823 50 15 BVC $E83A A:F5 X:AF Y:E5 P:E4 SP:FB CYC:300 SL:120
E825 10 13 BPL $E83A A:F5 X:AF Y:E5 P:E4 SP:FB CYC:306 SL:120
E827 C9 F5 CMP #$F5 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:312 SL:120
E829 D0 0F BNE $E83A A:F5 X:AF Y:E5 P:67 SP:FB CYC:318 SL:120
E82B C0 E5 CPY #$E5 A:F5 X:AF Y:E5 P:67 SP:FB CYC:324 SL:120
E82D D0 0B BNE $E83A A:F5 X:AF Y:E5 P:67 SP:FB CYC:330 SL:120
E82F E0 AF CPX #$AF A:F5 X:AF Y:E5 P:67 SP:FB CYC:336 SL:120
E831 D0 07 BNE $E83A A:F5 X:AF Y:E5 P:67 SP:FB CYC: 1 SL:121
E833 AD 49 05 LDA $0549 = A5 A:F5 X:AF Y:E5 P:67 SP:FB CYC: 7 SL:121
E836 C9 A5 CMP #$A5 A:A5 X:AF Y:E5 P:E5 SP:FB CYC: 19 SL:121
E838 F0 04 BEQ $E83E A:A5 X:AF Y:E5 P:67 SP:FB CYC: 25 SL:121
E83E A9 00 LDA #$00 A:A5 X:AF Y:E5 P:67 SP:FB CYC: 34 SL:121
E840 8D 56 05 STA $0556 = 00 A:00 X:AF Y:E5 P:67 SP:FB CYC: 40 SL:121
E843 A0 58 LDY #$58 A:00 X:AF Y:E5 P:67 SP:FB CYC: 52 SL:121
E845 A2 B3 LDX #$B3 A:00 X:AF Y:58 P:65 SP:FB CYC: 58 SL:121
E847 A9 97 LDA #$97 A:00 X:B3 Y:58 P:E5 SP:FB CYC: 64 SL:121
E849 38 SEC A:97 X:B3 Y:58 P:E5 SP:FB CYC: 70 SL:121
E84A B8 CLV A:97 X:B3 Y:58 P:E5 SP:FB CYC: 76 SL:121
E84B 8F 56 05 *SAX $0556 = 00 A:97 X:B3 Y:58 P:A5 SP:FB CYC: 82 SL:121
E84E EA NOP A:97 X:B3 Y:58 P:A5 SP:FB CYC: 94 SL:121
E84F EA NOP A:97 X:B3 Y:58 P:A5 SP:FB CYC:100 SL:121
E850 EA NOP A:97 X:B3 Y:58 P:A5 SP:FB CYC:106 SL:121
E851 EA NOP A:97 X:B3 Y:58 P:A5 SP:FB CYC:112 SL:121
E852 F0 19 BEQ $E86D A:97 X:B3 Y:58 P:A5 SP:FB CYC:118 SL:121
E854 90 17 BCC $E86D A:97 X:B3 Y:58 P:A5 SP:FB CYC:124 SL:121
E856 70 15 BVS $E86D A:97 X:B3 Y:58 P:A5 SP:FB CYC:130 SL:121
E858 10 13 BPL $E86D A:97 X:B3 Y:58 P:A5 SP:FB CYC:136 SL:121
E85A C9 97 CMP #$97 A:97 X:B3 Y:58 P:A5 SP:FB CYC:142 SL:121
E85C D0 0F BNE $E86D A:97 X:B3 Y:58 P:27 SP:FB CYC:148 SL:121
E85E C0 58 CPY #$58 A:97 X:B3 Y:58 P:27 SP:FB CYC:154 SL:121
E860 D0 0B BNE $E86D A:97 X:B3 Y:58 P:27 SP:FB CYC:160 SL:121
E862 E0 B3 CPX #$B3 A:97 X:B3 Y:58 P:27 SP:FB CYC:166 SL:121
E864 D0 07 BNE $E86D A:97 X:B3 Y:58 P:27 SP:FB CYC:172 SL:121
E866 AD 56 05 LDA $0556 = 93 A:97 X:B3 Y:58 P:27 SP:FB CYC:178 SL:121
E869 C9 93 CMP #$93 A:93 X:B3 Y:58 P:A5 SP:FB CYC:190 SL:121
E86B F0 04 BEQ $E871 A:93 X:B3 Y:58 P:27 SP:FB CYC:196 SL:121
E871 A9 FF LDA #$FF A:93 X:B3 Y:58 P:27 SP:FB CYC:205 SL:121
E873 85 49 STA $49 = 00 A:FF X:B3 Y:58 P:A5 SP:FB CYC:211 SL:121
E875 A0 FF LDY #$FF A:FF X:B3 Y:58 P:A5 SP:FB CYC:220 SL:121
E877 A2 AA LDX #$AA A:FF X:B3 Y:FF P:A5 SP:FB CYC:226 SL:121
E879 A9 55 LDA #$55 A:FF X:AA Y:FF P:A5 SP:FB CYC:232 SL:121
E87B 24 01 BIT $01 = C0 A:55 X:AA Y:FF P:25 SP:FB CYC:238 SL:121
E87D 18 CLC A:55 X:AA Y:FF P:E5 SP:FB CYC:247 SL:121
E87E 97 4A *SAX $4A,Y @ 49 = FF A:55 X:AA Y:FF P:E4 SP:FB CYC:253 SL:121
E880 EA NOP A:55 X:AA Y:FF P:E4 SP:FB CYC:265 SL:121
E881 EA NOP A:55 X:AA Y:FF P:E4 SP:FB CYC:271 SL:121
E882 EA NOP A:55 X:AA Y:FF P:E4 SP:FB CYC:277 SL:121
E883 EA NOP A:55 X:AA Y:FF P:E4 SP:FB CYC:283 SL:121
E884 F0 18 BEQ $E89E A:55 X:AA Y:FF P:E4 SP:FB CYC:289 SL:121
E886 B0 16 BCS $E89E A:55 X:AA Y:FF P:E4 SP:FB CYC:295 SL:121
E888 50 14 BVC $E89E A:55 X:AA Y:FF P:E4 SP:FB CYC:301 SL:121
E88A 10 12 BPL $E89E A:55 X:AA Y:FF P:E4 SP:FB CYC:307 SL:121
E88C C9 55 CMP #$55 A:55 X:AA Y:FF P:E4 SP:FB CYC:313 SL:121
E88E D0 0E BNE $E89E A:55 X:AA Y:FF P:67 SP:FB CYC:319 SL:121
E890 C0 FF CPY #$FF A:55 X:AA Y:FF P:67 SP:FB CYC:325 SL:121
E892 D0 0A BNE $E89E A:55 X:AA Y:FF P:67 SP:FB CYC:331 SL:121
E894 E0 AA CPX #$AA A:55 X:AA Y:FF P:67 SP:FB CYC:337 SL:121
E896 D0 06 BNE $E89E A:55 X:AA Y:FF P:67 SP:FB CYC: 2 SL:122
E898 A5 49 LDA $49 = 00 A:55 X:AA Y:FF P:67 SP:FB CYC: 8 SL:122
E89A C9 00 CMP #$00 A:00 X:AA Y:FF P:67 SP:FB CYC: 17 SL:122
E89C F0 04 BEQ $E8A2 A:00 X:AA Y:FF P:67 SP:FB CYC: 23 SL:122
E8A2 A9 00 LDA #$00 A:00 X:AA Y:FF P:67 SP:FB CYC: 32 SL:122
E8A4 85 56 STA $56 = 66 A:00 X:AA Y:FF P:67 SP:FB CYC: 38 SL:122
E8A6 A0 06 LDY #$06 A:00 X:AA Y:FF P:67 SP:FB CYC: 47 SL:122
E8A8 A2 EF LDX #$EF A:00 X:AA Y:06 P:65 SP:FB CYC: 53 SL:122
E8AA A9 66 LDA #$66 A:00 X:EF Y:06 P:E5 SP:FB CYC: 59 SL:122
E8AC 38 SEC A:66 X:EF Y:06 P:65 SP:FB CYC: 65 SL:122
E8AD B8 CLV A:66 X:EF Y:06 P:65 SP:FB CYC: 71 SL:122
E8AE 97 50 *SAX $50,Y @ 56 = 00 A:66 X:EF Y:06 P:25 SP:FB CYC: 77 SL:122
E8B0 EA NOP A:66 X:EF Y:06 P:25 SP:FB CYC: 89 SL:122
E8B1 EA NOP A:66 X:EF Y:06 P:25 SP:FB CYC: 95 SL:122
E8B2 EA NOP A:66 X:EF Y:06 P:25 SP:FB CYC:101 SL:122
E8B3 EA NOP A:66 X:EF Y:06 P:25 SP:FB CYC:107 SL:122
E8B4 F0 18 BEQ $E8CE A:66 X:EF Y:06 P:25 SP:FB CYC:113 SL:122
E8B6 90 16 BCC $E8CE A:66 X:EF Y:06 P:25 SP:FB CYC:119 SL:122
E8B8 70 14 BVS $E8CE A:66 X:EF Y:06 P:25 SP:FB CYC:125 SL:122
E8BA 30 12 BMI $E8CE A:66 X:EF Y:06 P:25 SP:FB CYC:131 SL:122
E8BC C9 66 CMP #$66 A:66 X:EF Y:06 P:25 SP:FB CYC:137 SL:122
E8BE D0 0E BNE $E8CE A:66 X:EF Y:06 P:27 SP:FB CYC:143 SL:122
E8C0 C0 06 CPY #$06 A:66 X:EF Y:06 P:27 SP:FB CYC:149 SL:122
E8C2 D0 0A BNE $E8CE A:66 X:EF Y:06 P:27 SP:FB CYC:155 SL:122
E8C4 E0 EF CPX #$EF A:66 X:EF Y:06 P:27 SP:FB CYC:161 SL:122
E8C6 D0 06 BNE $E8CE A:66 X:EF Y:06 P:27 SP:FB CYC:167 SL:122
E8C8 A5 56 LDA $56 = 66 A:66 X:EF Y:06 P:27 SP:FB CYC:173 SL:122
E8CA C9 66 CMP #$66 A:66 X:EF Y:06 P:25 SP:FB CYC:182 SL:122
E8CC F0 04 BEQ $E8D2 A:66 X:EF Y:06 P:27 SP:FB CYC:188 SL:122
E8D2 60 RTS A:66 X:EF Y:06 P:27 SP:FB CYC:197 SL:122
C638 20 D3 E8 JSR $E8D3 A:66 X:EF Y:06 P:27 SP:FD CYC:215 SL:122
E8D3 A0 90 LDY #$90 A:66 X:EF Y:06 P:27 SP:FB CYC:233 SL:122
E8D5 20 31 F9 JSR $F931 A:66 X:EF Y:90 P:A5 SP:FB CYC:239 SL:122
F931 24 01 BIT $01 = C0 A:66 X:EF Y:90 P:A5 SP:F9 CYC:257 SL:122
F933 A9 40 LDA #$40 A:66 X:EF Y:90 P:E5 SP:F9 CYC:266 SL:122
F935 38 SEC A:40 X:EF Y:90 P:65 SP:F9 CYC:272 SL:122
F936 60 RTS A:40 X:EF Y:90 P:65 SP:F9 CYC:278 SL:122
E8D8 EB 40 *SBC #$40 A:40 X:EF Y:90 P:65 SP:FB CYC:296 SL:122
E8DA EA NOP A:00 X:EF Y:90 P:27 SP:FB CYC:302 SL:122
E8DB EA NOP A:00 X:EF Y:90 P:27 SP:FB CYC:308 SL:122
E8DC EA NOP A:00 X:EF Y:90 P:27 SP:FB CYC:314 SL:122
E8DD EA NOP A:00 X:EF Y:90 P:27 SP:FB CYC:320 SL:122
E8DE 20 37 F9 JSR $F937 A:00 X:EF Y:90 P:27 SP:FB CYC:326 SL:122
F937 30 0B BMI $F944 A:00 X:EF Y:90 P:27 SP:F9 CYC: 3 SL:123
F939 90 09 BCC $F944 A:00 X:EF Y:90 P:27 SP:F9 CYC: 9 SL:123
F93B D0 07 BNE $F944 A:00 X:EF Y:90 P:27 SP:F9 CYC: 15 SL:123
F93D 70 05 BVS $F944 A:00 X:EF Y:90 P:27 SP:F9 CYC: 21 SL:123
F93F C9 00 CMP #$00 A:00 X:EF Y:90 P:27 SP:F9 CYC: 27 SL:123
F941 D0 01 BNE $F944 A:00 X:EF Y:90 P:27 SP:F9 CYC: 33 SL:123
F943 60 RTS A:00 X:EF Y:90 P:27 SP:F9 CYC: 39 SL:123
E8E1 C8 INY A:00 X:EF Y:90 P:27 SP:FB CYC: 57 SL:123
E8E2 20 47 F9 JSR $F947 A:00 X:EF Y:91 P:A5 SP:FB CYC: 63 SL:123
F947 B8 CLV A:00 X:EF Y:91 P:A5 SP:F9 CYC: 81 SL:123
F948 38 SEC A:00 X:EF Y:91 P:A5 SP:F9 CYC: 87 SL:123
F949 A9 40 LDA #$40 A:00 X:EF Y:91 P:A5 SP:F9 CYC: 93 SL:123
F94B 60 RTS A:40 X:EF Y:91 P:25 SP:F9 CYC: 99 SL:123
E8E5 EB 3F *SBC #$3F A:40 X:EF Y:91 P:25 SP:FB CYC:117 SL:123
E8E7 EA NOP A:01 X:EF Y:91 P:25 SP:FB CYC:123 SL:123
E8E8 EA NOP A:01 X:EF Y:91 P:25 SP:FB CYC:129 SL:123
E8E9 EA NOP A:01 X:EF Y:91 P:25 SP:FB CYC:135 SL:123
E8EA EA NOP A:01 X:EF Y:91 P:25 SP:FB CYC:141 SL:123
E8EB 20 4C F9 JSR $F94C A:01 X:EF Y:91 P:25 SP:FB CYC:147 SL:123
F94C F0 0B BEQ $F959 A:01 X:EF Y:91 P:25 SP:F9 CYC:165 SL:123
F94E 30 09 BMI $F959 A:01 X:EF Y:91 P:25 SP:F9 CYC:171 SL:123
F950 90 07 BCC $F959 A:01 X:EF Y:91 P:25 SP:F9 CYC:177 SL:123
F952 70 05 BVS $F959 A:01 X:EF Y:91 P:25 SP:F9 CYC:183 SL:123
F954 C9 01 CMP #$01 A:01 X:EF Y:91 P:25 SP:F9 CYC:189 SL:123
F956 D0 01 BNE $F959 A:01 X:EF Y:91 P:27 SP:F9 CYC:195 SL:123
F958 60 RTS A:01 X:EF Y:91 P:27 SP:F9 CYC:201 SL:123
E8EE C8 INY A:01 X:EF Y:91 P:27 SP:FB CYC:219 SL:123
E8EF 20 5C F9 JSR $F95C A:01 X:EF Y:92 P:A5 SP:FB CYC:225 SL:123
F95C A9 40 LDA #$40 A:01 X:EF Y:92 P:A5 SP:F9 CYC:243 SL:123
F95E 38 SEC A:40 X:EF Y:92 P:25 SP:F9 CYC:249 SL:123
F95F 24 01 BIT $01 = C0 A:40 X:EF Y:92 P:25 SP:F9 CYC:255 SL:123
F961 60 RTS A:40 X:EF Y:92 P:E5 SP:F9 CYC:264 SL:123
E8F2 EB 41 *SBC #$41 A:40 X:EF Y:92 P:E5 SP:FB CYC:282 SL:123
E8F4 EA NOP A:FF X:EF Y:92 P:A4 SP:FB CYC:288 SL:123
E8F5 EA NOP A:FF X:EF Y:92 P:A4 SP:FB CYC:294 SL:123
E8F6 EA NOP A:FF X:EF Y:92 P:A4 SP:FB CYC:300 SL:123
E8F7 EA NOP A:FF X:EF Y:92 P:A4 SP:FB CYC:306 SL:123
E8F8 20 62 F9 JSR $F962 A:FF X:EF Y:92 P:A4 SP:FB CYC:312 SL:123
F962 B0 0B BCS $F96F A:FF X:EF Y:92 P:A4 SP:F9 CYC:330 SL:123
F964 F0 09 BEQ $F96F A:FF X:EF Y:92 P:A4 SP:F9 CYC:336 SL:123
F966 10 07 BPL $F96F A:FF X:EF Y:92 P:A4 SP:F9 CYC: 1 SL:124
F968 70 05 BVS $F96F A:FF X:EF Y:92 P:A4 SP:F9 CYC: 7 SL:124
F96A C9 FF CMP #$FF A:FF X:EF Y:92 P:A4 SP:F9 CYC: 13 SL:124
F96C D0 01 BNE $F96F A:FF X:EF Y:92 P:27 SP:F9 CYC: 19 SL:124
F96E 60 RTS A:FF X:EF Y:92 P:27 SP:F9 CYC: 25 SL:124
E8FB C8 INY A:FF X:EF Y:92 P:27 SP:FB CYC: 43 SL:124
E8FC 20 72 F9 JSR $F972 A:FF X:EF Y:93 P:A5 SP:FB CYC: 49 SL:124
F972 18 CLC A:FF X:EF Y:93 P:A5 SP:F9 CYC: 67 SL:124
F973 A9 80 LDA #$80 A:FF X:EF Y:93 P:A4 SP:F9 CYC: 73 SL:124
F975 60 RTS A:80 X:EF Y:93 P:A4 SP:F9 CYC: 79 SL:124
E8FF EB 00 *SBC #$00 A:80 X:EF Y:93 P:A4 SP:FB CYC: 97 SL:124
E901 EA NOP A:7F X:EF Y:93 P:65 SP:FB CYC:103 SL:124
E902 EA NOP A:7F X:EF Y:93 P:65 SP:FB CYC:109 SL:124
E903 EA NOP A:7F X:EF Y:93 P:65 SP:FB CYC:115 SL:124
E904 EA NOP A:7F X:EF Y:93 P:65 SP:FB CYC:121 SL:124
E905 20 76 F9 JSR $F976 A:7F X:EF Y:93 P:65 SP:FB CYC:127 SL:124
F976 90 05 BCC $F97D A:7F X:EF Y:93 P:65 SP:F9 CYC:145 SL:124
F978 C9 7F CMP #$7F A:7F X:EF Y:93 P:65 SP:F9 CYC:151 SL:124
F97A D0 01 BNE $F97D A:7F X:EF Y:93 P:67 SP:F9 CYC:157 SL:124
F97C 60 RTS A:7F X:EF Y:93 P:67 SP:F9 CYC:163 SL:124
E908 C8 INY A:7F X:EF Y:93 P:67 SP:FB CYC:181 SL:124
E909 20 80 F9 JSR $F980 A:7F X:EF Y:94 P:E5 SP:FB CYC:187 SL:124
F980 38 SEC A:7F X:EF Y:94 P:E5 SP:F9 CYC:205 SL:124
F981 A9 81 LDA #$81 A:7F X:EF Y:94 P:E5 SP:F9 CYC:211 SL:124
F983 60 RTS A:81 X:EF Y:94 P:E5 SP:F9 CYC:217 SL:124
E90C EB 7F *SBC #$7F A:81 X:EF Y:94 P:E5 SP:FB CYC:235 SL:124
E90E EA NOP A:02 X:EF Y:94 P:65 SP:FB CYC:241 SL:124
E90F EA NOP A:02 X:EF Y:94 P:65 SP:FB CYC:247 SL:124
E910 EA NOP A:02 X:EF Y:94 P:65 SP:FB CYC:253 SL:124
E911 EA NOP A:02 X:EF Y:94 P:65 SP:FB CYC:259 SL:124
E912 20 84 F9 JSR $F984 A:02 X:EF Y:94 P:65 SP:FB CYC:265 SL:124
F984 50 07 BVC $F98D A:02 X:EF Y:94 P:65 SP:F9 CYC:283 SL:124
F986 90 05 BCC $F98D A:02 X:EF Y:94 P:65 SP:F9 CYC:289 SL:124
F988 C9 02 CMP #$02 A:02 X:EF Y:94 P:65 SP:F9 CYC:295 SL:124
F98A D0 01 BNE $F98D A:02 X:EF Y:94 P:67 SP:F9 CYC:301 SL:124
F98C 60 RTS A:02 X:EF Y:94 P:67 SP:F9 CYC:307 SL:124
E915 60 RTS A:02 X:EF Y:94 P:67 SP:FB CYC:325 SL:124
C63B 20 16 E9 JSR $E916 A:02 X:EF Y:94 P:67 SP:FD CYC: 2 SL:125
E916 A9 FF LDA #$FF A:02 X:EF Y:94 P:67 SP:FB CYC: 20 SL:125
E918 85 01 STA $01 = C0 A:FF X:EF Y:94 P:E5 SP:FB CYC: 26 SL:125
E91A A0 95 LDY #$95 A:FF X:EF Y:94 P:E5 SP:FB CYC: 35 SL:125
E91C A2 02 LDX #$02 A:FF X:EF Y:95 P:E5 SP:FB CYC: 41 SL:125
E91E A9 47 LDA #$47 A:FF X:02 Y:95 P:65 SP:FB CYC: 47 SL:125
E920 85 47 STA $47 = 00 A:47 X:02 Y:95 P:65 SP:FB CYC: 53 SL:125
E922 A9 06 LDA #$06 A:47 X:02 Y:95 P:65 SP:FB CYC: 62 SL:125
E924 85 48 STA $48 = 00 A:06 X:02 Y:95 P:65 SP:FB CYC: 68 SL:125
E926 A9 EB LDA #$EB A:06 X:02 Y:95 P:65 SP:FB CYC: 77 SL:125
E928 8D 47 06 STA $0647 = 00 A:EB X:02 Y:95 P:E5 SP:FB CYC: 83 SL:125
E92B 20 31 FA JSR $FA31 A:EB X:02 Y:95 P:E5 SP:FB CYC: 95 SL:125
FA31 24 01 BIT $01 = FF A:EB X:02 Y:95 P:E5 SP:F9 CYC:113 SL:125
FA33 18 CLC A:EB X:02 Y:95 P:E5 SP:F9 CYC:122 SL:125
FA34 A9 40 LDA #$40 A:EB X:02 Y:95 P:E4 SP:F9 CYC:128 SL:125
FA36 60 RTS A:40 X:02 Y:95 P:64 SP:F9 CYC:134 SL:125
E92E C3 45 *DCP ($45,X) @ 47 = 0647 = EB A:40 X:02 Y:95 P:64 SP:FB CYC:152 SL:125
E930 EA NOP A:40 X:02 Y:95 P:64 SP:FB CYC:176 SL:125
E931 EA NOP A:40 X:02 Y:95 P:64 SP:FB CYC:182 SL:125
E932 EA NOP A:40 X:02 Y:95 P:64 SP:FB CYC:188 SL:125
E933 EA NOP A:40 X:02 Y:95 P:64 SP:FB CYC:194 SL:125
E934 20 37 FA JSR $FA37 A:40 X:02 Y:95 P:64 SP:FB CYC:200 SL:125
FA37 50 2C BVC $FA65 A:40 X:02 Y:95 P:64 SP:F9 CYC:218 SL:125
FA39 B0 2A BCS $FA65 A:40 X:02 Y:95 P:64 SP:F9 CYC:224 SL:125
FA3B 30 28 BMI $FA65 A:40 X:02 Y:95 P:64 SP:F9 CYC:230 SL:125
FA3D C9 40 CMP #$40 A:40 X:02 Y:95 P:64 SP:F9 CYC:236 SL:125
FA3F D0 24 BNE $FA65 A:40 X:02 Y:95 P:67 SP:F9 CYC:242 SL:125
FA41 60 RTS A:40 X:02 Y:95 P:67 SP:F9 CYC:248 SL:125
E937 AD 47 06 LDA $0647 = EA A:40 X:02 Y:95 P:67 SP:FB CYC:266 SL:125
E93A C9 EA CMP #$EA A:EA X:02 Y:95 P:E5 SP:FB CYC:278 SL:125
E93C F0 02 BEQ $E940 A:EA X:02 Y:95 P:67 SP:FB CYC:284 SL:125
E940 C8 INY A:EA X:02 Y:95 P:67 SP:FB CYC:293 SL:125
E941 A9 00 LDA #$00 A:EA X:02 Y:96 P:E5 SP:FB CYC:299 SL:125
E943 8D 47 06 STA $0647 = EA A:00 X:02 Y:96 P:67 SP:FB CYC:305 SL:125
E946 20 42 FA JSR $FA42 A:00 X:02 Y:96 P:67 SP:FB CYC:317 SL:125
FA42 B8 CLV A:00 X:02 Y:96 P:67 SP:F9 CYC:335 SL:125
FA43 38 SEC A:00 X:02 Y:96 P:27 SP:F9 CYC: 0 SL:126
FA44 A9 FF LDA #$FF A:00 X:02 Y:96 P:27 SP:F9 CYC: 6 SL:126
FA46 60 RTS A:FF X:02 Y:96 P:A5 SP:F9 CYC: 12 SL:126
E949 C3 45 *DCP ($45,X) @ 47 = 0647 = 00 A:FF X:02 Y:96 P:A5 SP:FB CYC: 30 SL:126
E94B EA NOP A:FF X:02 Y:96 P:27 SP:FB CYC: 54 SL:126
E94C EA NOP A:FF X:02 Y:96 P:27 SP:FB CYC: 60 SL:126
E94D EA NOP A:FF X:02 Y:96 P:27 SP:FB CYC: 66 SL:126
E94E EA NOP A:FF X:02 Y:96 P:27 SP:FB CYC: 72 SL:126
E94F 20 47 FA JSR $FA47 A:FF X:02 Y:96 P:27 SP:FB CYC: 78 SL:126
FA47 70 1C BVS $FA65 A:FF X:02 Y:96 P:27 SP:F9 CYC: 96 SL:126
FA49 D0 1A BNE $FA65 A:FF X:02 Y:96 P:27 SP:F9 CYC:102 SL:126
FA4B 30 18 BMI $FA65 A:FF X:02 Y:96 P:27 SP:F9 CYC:108 SL:126
FA4D 90 16 BCC $FA65 A:FF X:02 Y:96 P:27 SP:F9 CYC:114 SL:126
FA4F C9 FF CMP #$FF A:FF X:02 Y:96 P:27 SP:F9 CYC:120 SL:126
FA51 D0 12 BNE $FA65 A:FF X:02 Y:96 P:27 SP:F9 CYC:126 SL:126
FA53 60 RTS A:FF X:02 Y:96 P:27 SP:F9 CYC:132 SL:126
E952 AD 47 06 LDA $0647 = FF A:FF X:02 Y:96 P:27 SP:FB CYC:150 SL:126
E955 C9 FF CMP #$FF A:FF X:02 Y:96 P:A5 SP:FB CYC:162 SL:126
E957 F0 02 BEQ $E95B A:FF X:02 Y:96 P:27 SP:FB CYC:168 SL:126
E95B C8 INY A:FF X:02 Y:96 P:27 SP:FB CYC:177 SL:126
E95C A9 37 LDA #$37 A:FF X:02 Y:97 P:A5 SP:FB CYC:183 SL:126
E95E 8D 47 06 STA $0647 = FF A:37 X:02 Y:97 P:25 SP:FB CYC:189 SL:126
E961 20 54 FA JSR $FA54 A:37 X:02 Y:97 P:25 SP:FB CYC:201 SL:126
FA54 24 01 BIT $01 = FF A:37 X:02 Y:97 P:25 SP:F9 CYC:219 SL:126
FA56 A9 F0 LDA #$F0 A:37 X:02 Y:97 P:E5 SP:F9 CYC:228 SL:126
FA58 60 RTS A:F0 X:02 Y:97 P:E5 SP:F9 CYC:234 SL:126
E964 C3 45 *DCP ($45,X) @ 47 = 0647 = 37 A:F0 X:02 Y:97 P:E5 SP:FB CYC:252 SL:126
E966 EA NOP A:F0 X:02 Y:97 P:E5 SP:FB CYC:276 SL:126
E967 EA NOP A:F0 X:02 Y:97 P:E5 SP:FB CYC:282 SL:126
E968 EA NOP A:F0 X:02 Y:97 P:E5 SP:FB CYC:288 SL:126
E969 EA NOP A:F0 X:02 Y:97 P:E5 SP:FB CYC:294 SL:126
E96A 20 59 FA JSR $FA59 A:F0 X:02 Y:97 P:E5 SP:FB CYC:300 SL:126
FA59 50 0A BVC $FA65 A:F0 X:02 Y:97 P:E5 SP:F9 CYC:318 SL:126
FA5B F0 08 BEQ $FA65 A:F0 X:02 Y:97 P:E5 SP:F9 CYC:324 SL:126
FA5D 10 06 BPL $FA65 A:F0 X:02 Y:97 P:E5 SP:F9 CYC:330 SL:126
FA5F 90 04 BCC $FA65 A:F0 X:02 Y:97 P:E5 SP:F9 CYC:336 SL:126
FA61 C9 F0 CMP #$F0 A:F0 X:02 Y:97 P:E5 SP:F9 CYC: 1 SL:127
FA63 F0 02 BEQ $FA67 A:F0 X:02 Y:97 P:67 SP:F9 CYC: 7 SL:127
FA67 60 RTS A:F0 X:02 Y:97 P:67 SP:F9 CYC: 16 SL:127
E96D AD 47 06 LDA $0647 = 36 A:F0 X:02 Y:97 P:67 SP:FB CYC: 34 SL:127
E970 C9 36 CMP #$36 A:36 X:02 Y:97 P:65 SP:FB CYC: 46 SL:127
E972 F0 02 BEQ $E976 A:36 X:02 Y:97 P:67 SP:FB CYC: 52 SL:127
E976 C8 INY A:36 X:02 Y:97 P:67 SP:FB CYC: 61 SL:127
E977 A9 EB LDA #$EB A:36 X:02 Y:98 P:E5 SP:FB CYC: 67 SL:127
E979 85 47 STA $47 = 47 A:EB X:02 Y:98 P:E5 SP:FB CYC: 73 SL:127
E97B 20 31 FA JSR $FA31 A:EB X:02 Y:98 P:E5 SP:FB CYC: 82 SL:127
FA31 24 01 BIT $01 = FF A:EB X:02 Y:98 P:E5 SP:F9 CYC:100 SL:127
FA33 18 CLC A:EB X:02 Y:98 P:E5 SP:F9 CYC:109 SL:127
FA34 A9 40 LDA #$40 A:EB X:02 Y:98 P:E4 SP:F9 CYC:115 SL:127
FA36 60 RTS A:40 X:02 Y:98 P:64 SP:F9 CYC:121 SL:127
E97E C7 47 *DCP $47 = EB A:40 X:02 Y:98 P:64 SP:FB CYC:139 SL:127
E980 EA NOP A:40 X:02 Y:98 P:64 SP:FB CYC:154 SL:127
E981 EA NOP A:40 X:02 Y:98 P:64 SP:FB CYC:160 SL:127
E982 EA NOP A:40 X:02 Y:98 P:64 SP:FB CYC:166 SL:127
E983 EA NOP A:40 X:02 Y:98 P:64 SP:FB CYC:172 SL:127
E984 20 37 FA JSR $FA37 A:40 X:02 Y:98 P:64 SP:FB CYC:178 SL:127
FA37 50 2C BVC $FA65 A:40 X:02 Y:98 P:64 SP:F9 CYC:196 SL:127
FA39 B0 2A BCS $FA65 A:40 X:02 Y:98 P:64 SP:F9 CYC:202 SL:127
FA3B 30 28 BMI $FA65 A:40 X:02 Y:98 P:64 SP:F9 CYC:208 SL:127
FA3D C9 40 CMP #$40 A:40 X:02 Y:98 P:64 SP:F9 CYC:214 SL:127
FA3F D0 24 BNE $FA65 A:40 X:02 Y:98 P:67 SP:F9 CYC:220 SL:127
FA41 60 RTS A:40 X:02 Y:98 P:67 SP:F9 CYC:226 SL:127
E987 A5 47 LDA $47 = EA A:40 X:02 Y:98 P:67 SP:FB CYC:244 SL:127
E989 C9 EA CMP #$EA A:EA X:02 Y:98 P:E5 SP:FB CYC:253 SL:127
E98B F0 02 BEQ $E98F A:EA X:02 Y:98 P:67 SP:FB CYC:259 SL:127
E98F C8 INY A:EA X:02 Y:98 P:67 SP:FB CYC:268 SL:127
E990 A9 00 LDA #$00 A:EA X:02 Y:99 P:E5 SP:FB CYC:274 SL:127
E992 85 47 STA $47 = EA A:00 X:02 Y:99 P:67 SP:FB CYC:280 SL:127
E994 20 42 FA JSR $FA42 A:00 X:02 Y:99 P:67 SP:FB CYC:289 SL:127
FA42 B8 CLV A:00 X:02 Y:99 P:67 SP:F9 CYC:307 SL:127
FA43 38 SEC A:00 X:02 Y:99 P:27 SP:F9 CYC:313 SL:127
FA44 A9 FF LDA #$FF A:00 X:02 Y:99 P:27 SP:F9 CYC:319 SL:127
FA46 60 RTS A:FF X:02 Y:99 P:A5 SP:F9 CYC:325 SL:127
E997 C7 47 *DCP $47 = 00 A:FF X:02 Y:99 P:A5 SP:FB CYC: 2 SL:128
E999 EA NOP A:FF X:02 Y:99 P:27 SP:FB CYC: 17 SL:128
E99A EA NOP A:FF X:02 Y:99 P:27 SP:FB CYC: 23 SL:128
E99B EA NOP A:FF X:02 Y:99 P:27 SP:FB CYC: 29 SL:128
E99C EA NOP A:FF X:02 Y:99 P:27 SP:FB CYC: 35 SL:128
E99D 20 47 FA JSR $FA47 A:FF X:02 Y:99 P:27 SP:FB CYC: 41 SL:128
FA47 70 1C BVS $FA65 A:FF X:02 Y:99 P:27 SP:F9 CYC: 59 SL:128
FA49 D0 1A BNE $FA65 A:FF X:02 Y:99 P:27 SP:F9 CYC: 65 SL:128
FA4B 30 18 BMI $FA65 A:FF X:02 Y:99 P:27 SP:F9 CYC: 71 SL:128
FA4D 90 16 BCC $FA65 A:FF X:02 Y:99 P:27 SP:F9 CYC: 77 SL:128
FA4F C9 FF CMP #$FF A:FF X:02 Y:99 P:27 SP:F9 CYC: 83 SL:128
FA51 D0 12 BNE $FA65 A:FF X:02 Y:99 P:27 SP:F9 CYC: 89 SL:128
FA53 60 RTS A:FF X:02 Y:99 P:27 SP:F9 CYC: 95 SL:128
E9A0 A5 47 LDA $47 = FF A:FF X:02 Y:99 P:27 SP:FB CYC:113 SL:128
E9A2 C9 FF CMP #$FF A:FF X:02 Y:99 P:A5 SP:FB CYC:122 SL:128
E9A4 F0 02 BEQ $E9A8 A:FF X:02 Y:99 P:27 SP:FB CYC:128 SL:128
E9A8 C8 INY A:FF X:02 Y:99 P:27 SP:FB CYC:137 SL:128
E9A9 A9 37 LDA #$37 A:FF X:02 Y:9A P:A5 SP:FB CYC:143 SL:128
E9AB 85 47 STA $47 = FF A:37 X:02 Y:9A P:25 SP:FB CYC:149 SL:128
E9AD 20 54 FA JSR $FA54 A:37 X:02 Y:9A P:25 SP:FB CYC:158 SL:128
FA54 24 01 BIT $01 = FF A:37 X:02 Y:9A P:25 SP:F9 CYC:176 SL:128
FA56 A9 F0 LDA #$F0 A:37 X:02 Y:9A P:E5 SP:F9 CYC:185 SL:128
FA58 60 RTS A:F0 X:02 Y:9A P:E5 SP:F9 CYC:191 SL:128
E9B0 C7 47 *DCP $47 = 37 A:F0 X:02 Y:9A P:E5 SP:FB CYC:209 SL:128
E9B2 EA NOP A:F0 X:02 Y:9A P:E5 SP:FB CYC:224 SL:128
E9B3 EA NOP A:F0 X:02 Y:9A P:E5 SP:FB CYC:230 SL:128
E9B4 EA NOP A:F0 X:02 Y:9A P:E5 SP:FB CYC:236 SL:128
E9B5 EA NOP A:F0 X:02 Y:9A P:E5 SP:FB CYC:242 SL:128
E9B6 20 59 FA JSR $FA59 A:F0 X:02 Y:9A P:E5 SP:FB CYC:248 SL:128
FA59 50 0A BVC $FA65 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:266 SL:128
FA5B F0 08 BEQ $FA65 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:272 SL:128
FA5D 10 06 BPL $FA65 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:278 SL:128
FA5F 90 04 BCC $FA65 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:284 SL:128
FA61 C9 F0 CMP #$F0 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:290 SL:128
FA63 F0 02 BEQ $FA67 A:F0 X:02 Y:9A P:67 SP:F9 CYC:296 SL:128
FA67 60 RTS A:F0 X:02 Y:9A P:67 SP:F9 CYC:305 SL:128
E9B9 A5 47 LDA $47 = 36 A:F0 X:02 Y:9A P:67 SP:FB CYC:323 SL:128
E9BB C9 36 CMP #$36 A:36 X:02 Y:9A P:65 SP:FB CYC:332 SL:128
E9BD F0 02 BEQ $E9C1 A:36 X:02 Y:9A P:67 SP:FB CYC:338 SL:128
E9C1 C8 INY A:36 X:02 Y:9A P:67 SP:FB CYC: 6 SL:129
E9C2 A9 EB LDA #$EB A:36 X:02 Y:9B P:E5 SP:FB CYC: 12 SL:129
E9C4 8D 47 06 STA $0647 = 36 A:EB X:02 Y:9B P:E5 SP:FB CYC: 18 SL:129
E9C7 20 31 FA JSR $FA31 A:EB X:02 Y:9B P:E5 SP:FB CYC: 30 SL:129
FA31 24 01 BIT $01 = FF A:EB X:02 Y:9B P:E5 SP:F9 CYC: 48 SL:129
FA33 18 CLC A:EB X:02 Y:9B P:E5 SP:F9 CYC: 57 SL:129
FA34 A9 40 LDA #$40 A:EB X:02 Y:9B P:E4 SP:F9 CYC: 63 SL:129
FA36 60 RTS A:40 X:02 Y:9B P:64 SP:F9 CYC: 69 SL:129
E9CA CF 47 06 *DCP $0647 = EB A:40 X:02 Y:9B P:64 SP:FB CYC: 87 SL:129
E9CD EA NOP A:40 X:02 Y:9B P:64 SP:FB CYC:105 SL:129
E9CE EA NOP A:40 X:02 Y:9B P:64 SP:FB CYC:111 SL:129
E9CF EA NOP A:40 X:02 Y:9B P:64 SP:FB CYC:117 SL:129
E9D0 EA NOP A:40 X:02 Y:9B P:64 SP:FB CYC:123 SL:129
E9D1 20 37 FA JSR $FA37 A:40 X:02 Y:9B P:64 SP:FB CYC:129 SL:129
FA37 50 2C BVC $FA65 A:40 X:02 Y:9B P:64 SP:F9 CYC:147 SL:129
FA39 B0 2A BCS $FA65 A:40 X:02 Y:9B P:64 SP:F9 CYC:153 SL:129
FA3B 30 28 BMI $FA65 A:40 X:02 Y:9B P:64 SP:F9 CYC:159 SL:129
FA3D C9 40 CMP #$40 A:40 X:02 Y:9B P:64 SP:F9 CYC:165 SL:129
FA3F D0 24 BNE $FA65 A:40 X:02 Y:9B P:67 SP:F9 CYC:171 SL:129
FA41 60 RTS A:40 X:02 Y:9B P:67 SP:F9 CYC:177 SL:129
E9D4 AD 47 06 LDA $0647 = EA A:40 X:02 Y:9B P:67 SP:FB CYC:195 SL:129
E9D7 C9 EA CMP #$EA A:EA X:02 Y:9B P:E5 SP:FB CYC:207 SL:129
E9D9 F0 02 BEQ $E9DD A:EA X:02 Y:9B P:67 SP:FB CYC:213 SL:129
E9DD C8 INY A:EA X:02 Y:9B P:67 SP:FB CYC:222 SL:129
E9DE A9 00 LDA #$00 A:EA X:02 Y:9C P:E5 SP:FB CYC:228 SL:129
E9E0 8D 47 06 STA $0647 = EA A:00 X:02 Y:9C P:67 SP:FB CYC:234 SL:129
E9E3 20 42 FA JSR $FA42 A:00 X:02 Y:9C P:67 SP:FB CYC:246 SL:129
FA42 B8 CLV A:00 X:02 Y:9C P:67 SP:F9 CYC:264 SL:129
FA43 38 SEC A:00 X:02 Y:9C P:27 SP:F9 CYC:270 SL:129
FA44 A9 FF LDA #$FF A:00 X:02 Y:9C P:27 SP:F9 CYC:276 SL:129
FA46 60 RTS A:FF X:02 Y:9C P:A5 SP:F9 CYC:282 SL:129
E9E6 CF 47 06 *DCP $0647 = 00 A:FF X:02 Y:9C P:A5 SP:FB CYC:300 SL:129
E9E9 EA NOP A:FF X:02 Y:9C P:27 SP:FB CYC:318 SL:129
E9EA EA NOP A:FF X:02 Y:9C P:27 SP:FB CYC:324 SL:129
E9EB EA NOP A:FF X:02 Y:9C P:27 SP:FB CYC:330 SL:129
E9EC EA NOP A:FF X:02 Y:9C P:27 SP:FB CYC:336 SL:129
E9ED 20 47 FA JSR $FA47 A:FF X:02 Y:9C P:27 SP:FB CYC: 1 SL:130
FA47 70 1C BVS $FA65 A:FF X:02 Y:9C P:27 SP:F9 CYC: 19 SL:130
FA49 D0 1A BNE $FA65 A:FF X:02 Y:9C P:27 SP:F9 CYC: 25 SL:130
FA4B 30 18 BMI $FA65 A:FF X:02 Y:9C P:27 SP:F9 CYC: 31 SL:130
FA4D 90 16 BCC $FA65 A:FF X:02 Y:9C P:27 SP:F9 CYC: 37 SL:130
FA4F C9 FF CMP #$FF A:FF X:02 Y:9C P:27 SP:F9 CYC: 43 SL:130
FA51 D0 12 BNE $FA65 A:FF X:02 Y:9C P:27 SP:F9 CYC: 49 SL:130
FA53 60 RTS A:FF X:02 Y:9C P:27 SP:F9 CYC: 55 SL:130
E9F0 AD 47 06 LDA $0647 = FF A:FF X:02 Y:9C P:27 SP:FB CYC: 73 SL:130
E9F3 C9 FF CMP #$FF A:FF X:02 Y:9C P:A5 SP:FB CYC: 85 SL:130
E9F5 F0 02 BEQ $E9F9 A:FF X:02 Y:9C P:27 SP:FB CYC: 91 SL:130
E9F9 C8 INY A:FF X:02 Y:9C P:27 SP:FB CYC:100 SL:130
E9FA A9 37 LDA #$37 A:FF X:02 Y:9D P:A5 SP:FB CYC:106 SL:130
E9FC 8D 47 06 STA $0647 = FF A:37 X:02 Y:9D P:25 SP:FB CYC:112 SL:130
E9FF 20 54 FA JSR $FA54 A:37 X:02 Y:9D P:25 SP:FB CYC:124 SL:130
FA54 24 01 BIT $01 = FF A:37 X:02 Y:9D P:25 SP:F9 CYC:142 SL:130
FA56 A9 F0 LDA #$F0 A:37 X:02 Y:9D P:E5 SP:F9 CYC:151 SL:130
FA58 60 RTS A:F0 X:02 Y:9D P:E5 SP:F9 CYC:157 SL:130
EA02 CF 47 06 *DCP $0647 = 37 A:F0 X:02 Y:9D P:E5 SP:FB CYC:175 SL:130
EA05 EA NOP A:F0 X:02 Y:9D P:E5 SP:FB CYC:193 SL:130
EA06 EA NOP A:F0 X:02 Y:9D P:E5 SP:FB CYC:199 SL:130
EA07 EA NOP A:F0 X:02 Y:9D P:E5 SP:FB CYC:205 SL:130
EA08 EA NOP A:F0 X:02 Y:9D P:E5 SP:FB CYC:211 SL:130
EA09 20 59 FA JSR $FA59 A:F0 X:02 Y:9D P:E5 SP:FB CYC:217 SL:130
FA59 50 0A BVC $FA65 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:235 SL:130
FA5B F0 08 BEQ $FA65 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:241 SL:130
FA5D 10 06 BPL $FA65 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:247 SL:130
FA5F 90 04 BCC $FA65 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:253 SL:130
FA61 C9 F0 CMP #$F0 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:259 SL:130
FA63 F0 02 BEQ $FA67 A:F0 X:02 Y:9D P:67 SP:F9 CYC:265 SL:130
FA67 60 RTS A:F0 X:02 Y:9D P:67 SP:F9 CYC:274 SL:130
EA0C AD 47 06 LDA $0647 = 36 A:F0 X:02 Y:9D P:67 SP:FB CYC:292 SL:130
EA0F C9 36 CMP #$36 A:36 X:02 Y:9D P:65 SP:FB CYC:304 SL:130
EA11 F0 02 BEQ $EA15 A:36 X:02 Y:9D P:67 SP:FB CYC:310 SL:130
EA15 A9 EB LDA #$EB A:36 X:02 Y:9D P:67 SP:FB CYC:319 SL:130
EA17 8D 47 06 STA $0647 = 36 A:EB X:02 Y:9D P:E5 SP:FB CYC:325 SL:130
EA1A A9 48 LDA #$48 A:EB X:02 Y:9D P:E5 SP:FB CYC:337 SL:130
EA1C 85 45 STA $45 = 32 A:48 X:02 Y:9D P:65 SP:FB CYC: 2 SL:131
EA1E A9 05 LDA #$05 A:48 X:02 Y:9D P:65 SP:FB CYC: 11 SL:131
EA20 85 46 STA $46 = 04 A:05 X:02 Y:9D P:65 SP:FB CYC: 17 SL:131
EA22 A0 FF LDY #$FF A:05 X:02 Y:9D P:65 SP:FB CYC: 26 SL:131
EA24 20 31 FA JSR $FA31 A:05 X:02 Y:FF P:E5 SP:FB CYC: 32 SL:131
FA31 24 01 BIT $01 = FF A:05 X:02 Y:FF P:E5 SP:F9 CYC: 50 SL:131
FA33 18 CLC A:05 X:02 Y:FF P:E5 SP:F9 CYC: 59 SL:131
FA34 A9 40 LDA #$40 A:05 X:02 Y:FF P:E4 SP:F9 CYC: 65 SL:131
FA36 60 RTS A:40 X:02 Y:FF P:64 SP:F9 CYC: 71 SL:131
EA27 D3 45 *DCP ($45),Y = 0548 @ 0647 = EB A:40 X:02 Y:FF P:64 SP:FB CYC: 89 SL:131
EA29 EA NOP A:40 X:02 Y:FF P:64 SP:FB CYC:113 SL:131
EA2A EA NOP A:40 X:02 Y:FF P:64 SP:FB CYC:119 SL:131
EA2B 08 PHP A:40 X:02 Y:FF P:64 SP:FB CYC:125 SL:131
EA2C 48 PHA A:40 X:02 Y:FF P:64 SP:FA CYC:134 SL:131
EA2D A0 9E LDY #$9E A:40 X:02 Y:FF P:64 SP:F9 CYC:143 SL:131
EA2F 68 PLA A:40 X:02 Y:9E P:E4 SP:F9 CYC:149 SL:131
EA30 28 PLP A:40 X:02 Y:9E P:64 SP:FA CYC:161 SL:131
EA31 20 37 FA JSR $FA37 A:40 X:02 Y:9E P:64 SP:FB CYC:173 SL:131
FA37 50 2C BVC $FA65 A:40 X:02 Y:9E P:64 SP:F9 CYC:191 SL:131
FA39 B0 2A BCS $FA65 A:40 X:02 Y:9E P:64 SP:F9 CYC:197 SL:131
FA3B 30 28 BMI $FA65 A:40 X:02 Y:9E P:64 SP:F9 CYC:203 SL:131
FA3D C9 40 CMP #$40 A:40 X:02 Y:9E P:64 SP:F9 CYC:209 SL:131
FA3F D0 24 BNE $FA65 A:40 X:02 Y:9E P:67 SP:F9 CYC:215 SL:131
FA41 60 RTS A:40 X:02 Y:9E P:67 SP:F9 CYC:221 SL:131
EA34 AD 47 06 LDA $0647 = EA A:40 X:02 Y:9E P:67 SP:FB CYC:239 SL:131
EA37 C9 EA CMP #$EA A:EA X:02 Y:9E P:E5 SP:FB CYC:251 SL:131
EA39 F0 02 BEQ $EA3D A:EA X:02 Y:9E P:67 SP:FB CYC:257 SL:131
EA3D A0 FF LDY #$FF A:EA X:02 Y:9E P:67 SP:FB CYC:266 SL:131
EA3F A9 00 LDA #$00 A:EA X:02 Y:FF P:E5 SP:FB CYC:272 SL:131
EA41 8D 47 06 STA $0647 = EA A:00 X:02 Y:FF P:67 SP:FB CYC:278 SL:131
EA44 20 42 FA JSR $FA42 A:00 X:02 Y:FF P:67 SP:FB CYC:290 SL:131
FA42 B8 CLV A:00 X:02 Y:FF P:67 SP:F9 CYC:308 SL:131
FA43 38 SEC A:00 X:02 Y:FF P:27 SP:F9 CYC:314 SL:131
FA44 A9 FF LDA #$FF A:00 X:02 Y:FF P:27 SP:F9 CYC:320 SL:131
FA46 60 RTS A:FF X:02 Y:FF P:A5 SP:F9 CYC:326 SL:131
EA47 D3 45 *DCP ($45),Y = 0548 @ 0647 = 00 A:FF X:02 Y:FF P:A5 SP:FB CYC: 3 SL:132
EA49 EA NOP A:FF X:02 Y:FF P:27 SP:FB CYC: 27 SL:132
EA4A EA NOP A:FF X:02 Y:FF P:27 SP:FB CYC: 33 SL:132
EA4B 08 PHP A:FF X:02 Y:FF P:27 SP:FB CYC: 39 SL:132
EA4C 48 PHA A:FF X:02 Y:FF P:27 SP:FA CYC: 48 SL:132
EA4D A0 9F LDY #$9F A:FF X:02 Y:FF P:27 SP:F9 CYC: 57 SL:132
EA4F 68 PLA A:FF X:02 Y:9F P:A5 SP:F9 CYC: 63 SL:132
EA50 28 PLP A:FF X:02 Y:9F P:A5 SP:FA CYC: 75 SL:132
EA51 20 47 FA JSR $FA47 A:FF X:02 Y:9F P:27 SP:FB CYC: 87 SL:132
FA47 70 1C BVS $FA65 A:FF X:02 Y:9F P:27 SP:F9 CYC:105 SL:132
FA49 D0 1A BNE $FA65 A:FF X:02 Y:9F P:27 SP:F9 CYC:111 SL:132
FA4B 30 18 BMI $FA65 A:FF X:02 Y:9F P:27 SP:F9 CYC:117 SL:132
FA4D 90 16 BCC $FA65 A:FF X:02 Y:9F P:27 SP:F9 CYC:123 SL:132
FA4F C9 FF CMP #$FF A:FF X:02 Y:9F P:27 SP:F9 CYC:129 SL:132
FA51 D0 12 BNE $FA65 A:FF X:02 Y:9F P:27 SP:F9 CYC:135 SL:132
FA53 60 RTS A:FF X:02 Y:9F P:27 SP:F9 CYC:141 SL:132
EA54 AD 47 06 LDA $0647 = FF A:FF X:02 Y:9F P:27 SP:FB CYC:159 SL:132
EA57 C9 FF CMP #$FF A:FF X:02 Y:9F P:A5 SP:FB CYC:171 SL:132
EA59 F0 02 BEQ $EA5D A:FF X:02 Y:9F P:27 SP:FB CYC:177 SL:132
EA5D A0 FF LDY #$FF A:FF X:02 Y:9F P:27 SP:FB CYC:186 SL:132
EA5F A9 37 LDA #$37 A:FF X:02 Y:FF P:A5 SP:FB CYC:192 SL:132
EA61 8D 47 06 STA $0647 = FF A:37 X:02 Y:FF P:25 SP:FB CYC:198 SL:132
EA64 20 54 FA JSR $FA54 A:37 X:02 Y:FF P:25 SP:FB CYC:210 SL:132
FA54 24 01 BIT $01 = FF A:37 X:02 Y:FF P:25 SP:F9 CYC:228 SL:132
FA56 A9 F0 LDA #$F0 A:37 X:02 Y:FF P:E5 SP:F9 CYC:237 SL:132
FA58 60 RTS A:F0 X:02 Y:FF P:E5 SP:F9 CYC:243 SL:132
EA67 D3 45 *DCP ($45),Y = 0548 @ 0647 = 37 A:F0 X:02 Y:FF P:E5 SP:FB CYC:261 SL:132
EA69 EA NOP A:F0 X:02 Y:FF P:E5 SP:FB CYC:285 SL:132
EA6A EA NOP A:F0 X:02 Y:FF P:E5 SP:FB CYC:291 SL:132
EA6B 08 PHP A:F0 X:02 Y:FF P:E5 SP:FB CYC:297 SL:132
EA6C 48 PHA A:F0 X:02 Y:FF P:E5 SP:FA CYC:306 SL:132
EA6D A0 A0 LDY #$A0 A:F0 X:02 Y:FF P:E5 SP:F9 CYC:315 SL:132
EA6F 68 PLA A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:321 SL:132
EA70 28 PLP A:F0 X:02 Y:A0 P:E5 SP:FA CYC:333 SL:132
EA71 20 59 FA JSR $FA59 A:F0 X:02 Y:A0 P:E5 SP:FB CYC: 4 SL:133
FA59 50 0A BVC $FA65 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC: 22 SL:133
FA5B F0 08 BEQ $FA65 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC: 28 SL:133
FA5D 10 06 BPL $FA65 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC: 34 SL:133
FA5F 90 04 BCC $FA65 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC: 40 SL:133
FA61 C9 F0 CMP #$F0 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC: 46 SL:133
FA63 F0 02 BEQ $FA67 A:F0 X:02 Y:A0 P:67 SP:F9 CYC: 52 SL:133
FA67 60 RTS A:F0 X:02 Y:A0 P:67 SP:F9 CYC: 61 SL:133
EA74 AD 47 06 LDA $0647 = 36 A:F0 X:02 Y:A0 P:67 SP:FB CYC: 79 SL:133
EA77 C9 36 CMP #$36 A:36 X:02 Y:A0 P:65 SP:FB CYC: 91 SL:133
EA79 F0 02 BEQ $EA7D A:36 X:02 Y:A0 P:67 SP:FB CYC: 97 SL:133
EA7D A0 A1 LDY #$A1 A:36 X:02 Y:A0 P:67 SP:FB CYC:106 SL:133
EA7F A2 FF LDX #$FF A:36 X:02 Y:A1 P:E5 SP:FB CYC:112 SL:133
EA81 A9 EB LDA #$EB A:36 X:FF Y:A1 P:E5 SP:FB CYC:118 SL:133
EA83 85 47 STA $47 = 36 A:EB X:FF Y:A1 P:E5 SP:FB CYC:124 SL:133
EA85 20 31 FA JSR $FA31 A:EB X:FF Y:A1 P:E5 SP:FB CYC:133 SL:133
FA31 24 01 BIT $01 = FF A:EB X:FF Y:A1 P:E5 SP:F9 CYC:151 SL:133
FA33 18 CLC A:EB X:FF Y:A1 P:E5 SP:F9 CYC:160 SL:133
FA34 A9 40 LDA #$40 A:EB X:FF Y:A1 P:E4 SP:F9 CYC:166 SL:133
FA36 60 RTS A:40 X:FF Y:A1 P:64 SP:F9 CYC:172 SL:133
EA88 D7 48 *DCP $48,X @ 47 = EB A:40 X:FF Y:A1 P:64 SP:FB CYC:190 SL:133
EA8A EA NOP A:40 X:FF Y:A1 P:64 SP:FB CYC:208 SL:133
EA8B EA NOP A:40 X:FF Y:A1 P:64 SP:FB CYC:214 SL:133
EA8C EA NOP A:40 X:FF Y:A1 P:64 SP:FB CYC:220 SL:133
EA8D EA NOP A:40 X:FF Y:A1 P:64 SP:FB CYC:226 SL:133
EA8E 20 37 FA JSR $FA37 A:40 X:FF Y:A1 P:64 SP:FB CYC:232 SL:133
FA37 50 2C BVC $FA65 A:40 X:FF Y:A1 P:64 SP:F9 CYC:250 SL:133
FA39 B0 2A BCS $FA65 A:40 X:FF Y:A1 P:64 SP:F9 CYC:256 SL:133
FA3B 30 28 BMI $FA65 A:40 X:FF Y:A1 P:64 SP:F9 CYC:262 SL:133
FA3D C9 40 CMP #$40 A:40 X:FF Y:A1 P:64 SP:F9 CYC:268 SL:133
FA3F D0 24 BNE $FA65 A:40 X:FF Y:A1 P:67 SP:F9 CYC:274 SL:133
FA41 60 RTS A:40 X:FF Y:A1 P:67 SP:F9 CYC:280 SL:133
EA91 A5 47 LDA $47 = EA A:40 X:FF Y:A1 P:67 SP:FB CYC:298 SL:133
EA93 C9 EA CMP #$EA A:EA X:FF Y:A1 P:E5 SP:FB CYC:307 SL:133
EA95 F0 02 BEQ $EA99 A:EA X:FF Y:A1 P:67 SP:FB CYC:313 SL:133
EA99 C8 INY A:EA X:FF Y:A1 P:67 SP:FB CYC:322 SL:133
EA9A A9 00 LDA #$00 A:EA X:FF Y:A2 P:E5 SP:FB CYC:328 SL:133
EA9C 85 47 STA $47 = EA A:00 X:FF Y:A2 P:67 SP:FB CYC:334 SL:133
EA9E 20 42 FA JSR $FA42 A:00 X:FF Y:A2 P:67 SP:FB CYC: 2 SL:134
FA42 B8 CLV A:00 X:FF Y:A2 P:67 SP:F9 CYC: 20 SL:134
FA43 38 SEC A:00 X:FF Y:A2 P:27 SP:F9 CYC: 26 SL:134
FA44 A9 FF LDA #$FF A:00 X:FF Y:A2 P:27 SP:F9 CYC: 32 SL:134
FA46 60 RTS A:FF X:FF Y:A2 P:A5 SP:F9 CYC: 38 SL:134
EAA1 D7 48 *DCP $48,X @ 47 = 00 A:FF X:FF Y:A2 P:A5 SP:FB CYC: 56 SL:134
EAA3 EA NOP A:FF X:FF Y:A2 P:27 SP:FB CYC: 74 SL:134
EAA4 EA NOP A:FF X:FF Y:A2 P:27 SP:FB CYC: 80 SL:134
EAA5 EA NOP A:FF X:FF Y:A2 P:27 SP:FB CYC: 86 SL:134
EAA6 EA NOP A:FF X:FF Y:A2 P:27 SP:FB CYC: 92 SL:134
EAA7 20 47 FA JSR $FA47 A:FF X:FF Y:A2 P:27 SP:FB CYC: 98 SL:134
FA47 70 1C BVS $FA65 A:FF X:FF Y:A2 P:27 SP:F9 CYC:116 SL:134
FA49 D0 1A BNE $FA65 A:FF X:FF Y:A2 P:27 SP:F9 CYC:122 SL:134
FA4B 30 18 BMI $FA65 A:FF X:FF Y:A2 P:27 SP:F9 CYC:128 SL:134
FA4D 90 16 BCC $FA65 A:FF X:FF Y:A2 P:27 SP:F9 CYC:134 SL:134
FA4F C9 FF CMP #$FF A:FF X:FF Y:A2 P:27 SP:F9 CYC:140 SL:134
FA51 D0 12 BNE $FA65 A:FF X:FF Y:A2 P:27 SP:F9 CYC:146 SL:134
FA53 60 RTS A:FF X:FF Y:A2 P:27 SP:F9 CYC:152 SL:134
EAAA A5 47 LDA $47 = FF A:FF X:FF Y:A2 P:27 SP:FB CYC:170 SL:134
EAAC C9 FF CMP #$FF A:FF X:FF Y:A2 P:A5 SP:FB CYC:179 SL:134
EAAE F0 02 BEQ $EAB2 A:FF X:FF Y:A2 P:27 SP:FB CYC:185 SL:134
EAB2 C8 INY A:FF X:FF Y:A2 P:27 SP:FB CYC:194 SL:134
EAB3 A9 37 LDA #$37 A:FF X:FF Y:A3 P:A5 SP:FB CYC:200 SL:134
EAB5 85 47 STA $47 = FF A:37 X:FF Y:A3 P:25 SP:FB CYC:206 SL:134
EAB7 20 54 FA JSR $FA54 A:37 X:FF Y:A3 P:25 SP:FB CYC:215 SL:134
FA54 24 01 BIT $01 = FF A:37 X:FF Y:A3 P:25 SP:F9 CYC:233 SL:134
FA56 A9 F0 LDA #$F0 A:37 X:FF Y:A3 P:E5 SP:F9 CYC:242 SL:134
FA58 60 RTS A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:248 SL:134
EABA D7 48 *DCP $48,X @ 47 = 37 A:F0 X:FF Y:A3 P:E5 SP:FB CYC:266 SL:134
EABC EA NOP A:F0 X:FF Y:A3 P:E5 SP:FB CYC:284 SL:134
EABD EA NOP A:F0 X:FF Y:A3 P:E5 SP:FB CYC:290 SL:134
EABE EA NOP A:F0 X:FF Y:A3 P:E5 SP:FB CYC:296 SL:134
EABF EA NOP A:F0 X:FF Y:A3 P:E5 SP:FB CYC:302 SL:134
EAC0 20 59 FA JSR $FA59 A:F0 X:FF Y:A3 P:E5 SP:FB CYC:308 SL:134
FA59 50 0A BVC $FA65 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:326 SL:134
FA5B F0 08 BEQ $FA65 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:332 SL:134
FA5D 10 06 BPL $FA65 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:338 SL:134
FA5F 90 04 BCC $FA65 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC: 3 SL:135
FA61 C9 F0 CMP #$F0 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC: 9 SL:135
FA63 F0 02 BEQ $FA67 A:F0 X:FF Y:A3 P:67 SP:F9 CYC: 15 SL:135
FA67 60 RTS A:F0 X:FF Y:A3 P:67 SP:F9 CYC: 24 SL:135
EAC3 A5 47 LDA $47 = 36 A:F0 X:FF Y:A3 P:67 SP:FB CYC: 42 SL:135
EAC5 C9 36 CMP #$36 A:36 X:FF Y:A3 P:65 SP:FB CYC: 51 SL:135
EAC7 F0 02 BEQ $EACB A:36 X:FF Y:A3 P:67 SP:FB CYC: 57 SL:135
EACB A9 EB LDA #$EB A:36 X:FF Y:A3 P:67 SP:FB CYC: 66 SL:135
EACD 8D 47 06 STA $0647 = 36 A:EB X:FF Y:A3 P:E5 SP:FB CYC: 72 SL:135
EAD0 A0 FF LDY #$FF A:EB X:FF Y:A3 P:E5 SP:FB CYC: 84 SL:135
EAD2 20 31 FA JSR $FA31 A:EB X:FF Y:FF P:E5 SP:FB CYC: 90 SL:135
FA31 24 01 BIT $01 = FF A:EB X:FF Y:FF P:E5 SP:F9 CYC:108 SL:135
FA33 18 CLC A:EB X:FF Y:FF P:E5 SP:F9 CYC:117 SL:135
FA34 A9 40 LDA #$40 A:EB X:FF Y:FF P:E4 SP:F9 CYC:123 SL:135
FA36 60 RTS A:40 X:FF Y:FF P:64 SP:F9 CYC:129 SL:135
EAD5 DB 48 05 *DCP $0548,Y @ 0647 = EB A:40 X:FF Y:FF P:64 SP:FB CYC:147 SL:135
EAD8 EA NOP A:40 X:FF Y:FF P:64 SP:FB CYC:168 SL:135
EAD9 EA NOP A:40 X:FF Y:FF P:64 SP:FB CYC:174 SL:135
EADA 08 PHP A:40 X:FF Y:FF P:64 SP:FB CYC:180 SL:135
EADB 48 PHA A:40 X:FF Y:FF P:64 SP:FA CYC:189 SL:135
EADC A0 A4 LDY #$A4 A:40 X:FF Y:FF P:64 SP:F9 CYC:198 SL:135
EADE 68 PLA A:40 X:FF Y:A4 P:E4 SP:F9 CYC:204 SL:135
EADF 28 PLP A:40 X:FF Y:A4 P:64 SP:FA CYC:216 SL:135
EAE0 20 37 FA JSR $FA37 A:40 X:FF Y:A4 P:64 SP:FB CYC:228 SL:135
FA37 50 2C BVC $FA65 A:40 X:FF Y:A4 P:64 SP:F9 CYC:246 SL:135
FA39 B0 2A BCS $FA65 A:40 X:FF Y:A4 P:64 SP:F9 CYC:252 SL:135
FA3B 30 28 BMI $FA65 A:40 X:FF Y:A4 P:64 SP:F9 CYC:258 SL:135
FA3D C9 40 CMP #$40 A:40 X:FF Y:A4 P:64 SP:F9 CYC:264 SL:135
FA3F D0 24 BNE $FA65 A:40 X:FF Y:A4 P:67 SP:F9 CYC:270 SL:135
FA41 60 RTS A:40 X:FF Y:A4 P:67 SP:F9 CYC:276 SL:135
EAE3 AD 47 06 LDA $0647 = EA A:40 X:FF Y:A4 P:67 SP:FB CYC:294 SL:135
EAE6 C9 EA CMP #$EA A:EA X:FF Y:A4 P:E5 SP:FB CYC:306 SL:135
EAE8 F0 02 BEQ $EAEC A:EA X:FF Y:A4 P:67 SP:FB CYC:312 SL:135
EAEC A0 FF LDY #$FF A:EA X:FF Y:A4 P:67 SP:FB CYC:321 SL:135
EAEE A9 00 LDA #$00 A:EA X:FF Y:FF P:E5 SP:FB CYC:327 SL:135
EAF0 8D 47 06 STA $0647 = EA A:00 X:FF Y:FF P:67 SP:FB CYC:333 SL:135
EAF3 20 42 FA JSR $FA42 A:00 X:FF Y:FF P:67 SP:FB CYC: 4 SL:136
FA42 B8 CLV A:00 X:FF Y:FF P:67 SP:F9 CYC: 22 SL:136
FA43 38 SEC A:00 X:FF Y:FF P:27 SP:F9 CYC: 28 SL:136
FA44 A9 FF LDA #$FF A:00 X:FF Y:FF P:27 SP:F9 CYC: 34 SL:136
FA46 60 RTS A:FF X:FF Y:FF P:A5 SP:F9 CYC: 40 SL:136
EAF6 DB 48 05 *DCP $0548,Y @ 0647 = 00 A:FF X:FF Y:FF P:A5 SP:FB CYC: 58 SL:136
EAF9 EA NOP A:FF X:FF Y:FF P:27 SP:FB CYC: 79 SL:136
EAFA EA NOP A:FF X:FF Y:FF P:27 SP:FB CYC: 85 SL:136
EAFB 08 PHP A:FF X:FF Y:FF P:27 SP:FB CYC: 91 SL:136
EAFC 48 PHA A:FF X:FF Y:FF P:27 SP:FA CYC:100 SL:136
EAFD A0 A5 LDY #$A5 A:FF X:FF Y:FF P:27 SP:F9 CYC:109 SL:136
EAFF 68 PLA A:FF X:FF Y:A5 P:A5 SP:F9 CYC:115 SL:136
EB00 28 PLP A:FF X:FF Y:A5 P:A5 SP:FA CYC:127 SL:136
EB01 20 47 FA JSR $FA47 A:FF X:FF Y:A5 P:27 SP:FB CYC:139 SL:136
FA47 70 1C BVS $FA65 A:FF X:FF Y:A5 P:27 SP:F9 CYC:157 SL:136
FA49 D0 1A BNE $FA65 A:FF X:FF Y:A5 P:27 SP:F9 CYC:163 SL:136
FA4B 30 18 BMI $FA65 A:FF X:FF Y:A5 P:27 SP:F9 CYC:169 SL:136
FA4D 90 16 BCC $FA65 A:FF X:FF Y:A5 P:27 SP:F9 CYC:175 SL:136
FA4F C9 FF CMP #$FF A:FF X:FF Y:A5 P:27 SP:F9 CYC:181 SL:136
FA51 D0 12 BNE $FA65 A:FF X:FF Y:A5 P:27 SP:F9 CYC:187 SL:136
FA53 60 RTS A:FF X:FF Y:A5 P:27 SP:F9 CYC:193 SL:136
EB04 AD 47 06 LDA $0647 = FF A:FF X:FF Y:A5 P:27 SP:FB CYC:211 SL:136
EB07 C9 FF CMP #$FF A:FF X:FF Y:A5 P:A5 SP:FB CYC:223 SL:136
EB09 F0 02 BEQ $EB0D A:FF X:FF Y:A5 P:27 SP:FB CYC:229 SL:136
EB0D A0 FF LDY #$FF A:FF X:FF Y:A5 P:27 SP:FB CYC:238 SL:136
EB0F A9 37 LDA #$37 A:FF X:FF Y:FF P:A5 SP:FB CYC:244 SL:136
EB11 8D 47 06 STA $0647 = FF A:37 X:FF Y:FF P:25 SP:FB CYC:250 SL:136
EB14 20 54 FA JSR $FA54 A:37 X:FF Y:FF P:25 SP:FB CYC:262 SL:136
FA54 24 01 BIT $01 = FF A:37 X:FF Y:FF P:25 SP:F9 CYC:280 SL:136
FA56 A9 F0 LDA #$F0 A:37 X:FF Y:FF P:E5 SP:F9 CYC:289 SL:136
FA58 60 RTS A:F0 X:FF Y:FF P:E5 SP:F9 CYC:295 SL:136
EB17 DB 48 05 *DCP $0548,Y @ 0647 = 37 A:F0 X:FF Y:FF P:E5 SP:FB CYC:313 SL:136
EB1A EA NOP A:F0 X:FF Y:FF P:E5 SP:FB CYC:334 SL:136
EB1B EA NOP A:F0 X:FF Y:FF P:E5 SP:FB CYC:340 SL:136
EB1C 08 PHP A:F0 X:FF Y:FF P:E5 SP:FB CYC: 5 SL:137
EB1D 48 PHA A:F0 X:FF Y:FF P:E5 SP:FA CYC: 14 SL:137
EB1E A0 A6 LDY #$A6 A:F0 X:FF Y:FF P:E5 SP:F9 CYC: 23 SL:137
EB20 68 PLA A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 29 SL:137
EB21 28 PLP A:F0 X:FF Y:A6 P:E5 SP:FA CYC: 41 SL:137
EB22 20 59 FA JSR $FA59 A:F0 X:FF Y:A6 P:E5 SP:FB CYC: 53 SL:137
FA59 50 0A BVC $FA65 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 71 SL:137
FA5B F0 08 BEQ $FA65 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 77 SL:137
FA5D 10 06 BPL $FA65 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 83 SL:137
FA5F 90 04 BCC $FA65 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 89 SL:137
FA61 C9 F0 CMP #$F0 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 95 SL:137
FA63 F0 02 BEQ $FA67 A:F0 X:FF Y:A6 P:67 SP:F9 CYC:101 SL:137
FA67 60 RTS A:F0 X:FF Y:A6 P:67 SP:F9 CYC:110 SL:137
EB25 AD 47 06 LDA $0647 = 36 A:F0 X:FF Y:A6 P:67 SP:FB CYC:128 SL:137
EB28 C9 36 CMP #$36 A:36 X:FF Y:A6 P:65 SP:FB CYC:140 SL:137
EB2A F0 02 BEQ $EB2E A:36 X:FF Y:A6 P:67 SP:FB CYC:146 SL:137
EB2E A0 A7 LDY #$A7 A:36 X:FF Y:A6 P:67 SP:FB CYC:155 SL:137
EB30 A2 FF LDX #$FF A:36 X:FF Y:A7 P:E5 SP:FB CYC:161 SL:137
EB32 A9 EB LDA #$EB A:36 X:FF Y:A7 P:E5 SP:FB CYC:167 SL:137
EB34 8D 47 06 STA $0647 = 36 A:EB X:FF Y:A7 P:E5 SP:FB CYC:173 SL:137
EB37 20 31 FA JSR $FA31 A:EB X:FF Y:A7 P:E5 SP:FB CYC:185 SL:137
FA31 24 01 BIT $01 = FF A:EB X:FF Y:A7 P:E5 SP:F9 CYC:203 SL:137
FA33 18 CLC A:EB X:FF Y:A7 P:E5 SP:F9 CYC:212 SL:137
FA34 A9 40 LDA #$40 A:EB X:FF Y:A7 P:E4 SP:F9 CYC:218 SL:137
FA36 60 RTS A:40 X:FF Y:A7 P:64 SP:F9 CYC:224 SL:137
EB3A DF 48 05 *DCP $0548,X @ 0647 = EB A:40 X:FF Y:A7 P:64 SP:FB CYC:242 SL:137
EB3D EA NOP A:40 X:FF Y:A7 P:64 SP:FB CYC:263 SL:137
EB3E EA NOP A:40 X:FF Y:A7 P:64 SP:FB CYC:269 SL:137
EB3F EA NOP A:40 X:FF Y:A7 P:64 SP:FB CYC:275 SL:137
EB40 EA NOP A:40 X:FF Y:A7 P:64 SP:FB CYC:281 SL:137
EB41 20 37 FA JSR $FA37 A:40 X:FF Y:A7 P:64 SP:FB CYC:287 SL:137
FA37 50 2C BVC $FA65 A:40 X:FF Y:A7 P:64 SP:F9 CYC:305 SL:137
FA39 B0 2A BCS $FA65 A:40 X:FF Y:A7 P:64 SP:F9 CYC:311 SL:137
FA3B 30 28 BMI $FA65 A:40 X:FF Y:A7 P:64 SP:F9 CYC:317 SL:137
FA3D C9 40 CMP #$40 A:40 X:FF Y:A7 P:64 SP:F9 CYC:323 SL:137
FA3F D0 24 BNE $FA65 A:40 X:FF Y:A7 P:67 SP:F9 CYC:329 SL:137
FA41 60 RTS A:40 X:FF Y:A7 P:67 SP:F9 CYC:335 SL:137
EB44 AD 47 06 LDA $0647 = EA A:40 X:FF Y:A7 P:67 SP:FB CYC: 12 SL:138
EB47 C9 EA CMP #$EA A:EA X:FF Y:A7 P:E5 SP:FB CYC: 24 SL:138
EB49 F0 02 BEQ $EB4D A:EA X:FF Y:A7 P:67 SP:FB CYC: 30 SL:138
EB4D C8 INY A:EA X:FF Y:A7 P:67 SP:FB CYC: 39 SL:138
EB4E A9 00 LDA #$00 A:EA X:FF Y:A8 P:E5 SP:FB CYC: 45 SL:138
EB50 8D 47 06 STA $0647 = EA A:00 X:FF Y:A8 P:67 SP:FB CYC: 51 SL:138
EB53 20 42 FA JSR $FA42 A:00 X:FF Y:A8 P:67 SP:FB CYC: 63 SL:138
FA42 B8 CLV A:00 X:FF Y:A8 P:67 SP:F9 CYC: 81 SL:138
FA43 38 SEC A:00 X:FF Y:A8 P:27 SP:F9 CYC: 87 SL:138
FA44 A9 FF LDA #$FF A:00 X:FF Y:A8 P:27 SP:F9 CYC: 93 SL:138
FA46 60 RTS A:FF X:FF Y:A8 P:A5 SP:F9 CYC: 99 SL:138
EB56 DF 48 05 *DCP $0548,X @ 0647 = 00 A:FF X:FF Y:A8 P:A5 SP:FB CYC:117 SL:138
EB59 EA NOP A:FF X:FF Y:A8 P:27 SP:FB CYC:138 SL:138
EB5A EA NOP A:FF X:FF Y:A8 P:27 SP:FB CYC:144 SL:138
EB5B EA NOP A:FF X:FF Y:A8 P:27 SP:FB CYC:150 SL:138
EB5C EA NOP A:FF X:FF Y:A8 P:27 SP:FB CYC:156 SL:138
EB5D 20 47 FA JSR $FA47 A:FF X:FF Y:A8 P:27 SP:FB CYC:162 SL:138
FA47 70 1C BVS $FA65 A:FF X:FF Y:A8 P:27 SP:F9 CYC:180 SL:138
FA49 D0 1A BNE $FA65 A:FF X:FF Y:A8 P:27 SP:F9 CYC:186 SL:138
FA4B 30 18 BMI $FA65 A:FF X:FF Y:A8 P:27 SP:F9 CYC:192 SL:138
FA4D 90 16 BCC $FA65 A:FF X:FF Y:A8 P:27 SP:F9 CYC:198 SL:138
FA4F C9 FF CMP #$FF A:FF X:FF Y:A8 P:27 SP:F9 CYC:204 SL:138
FA51 D0 12 BNE $FA65 A:FF X:FF Y:A8 P:27 SP:F9 CYC:210 SL:138
FA53 60 RTS A:FF X:FF Y:A8 P:27 SP:F9 CYC:216 SL:138
EB60 AD 47 06 LDA $0647 = FF A:FF X:FF Y:A8 P:27 SP:FB CYC:234 SL:138
EB63 C9 FF CMP #$FF A:FF X:FF Y:A8 P:A5 SP:FB CYC:246 SL:138
EB65 F0 02 BEQ $EB69 A:FF X:FF Y:A8 P:27 SP:FB CYC:252 SL:138
EB69 C8 INY A:FF X:FF Y:A8 P:27 SP:FB CYC:261 SL:138
EB6A A9 37 LDA #$37 A:FF X:FF Y:A9 P:A5 SP:FB CYC:267 SL:138
EB6C 8D 47 06 STA $0647 = FF A:37 X:FF Y:A9 P:25 SP:FB CYC:273 SL:138
EB6F 20 54 FA JSR $FA54 A:37 X:FF Y:A9 P:25 SP:FB CYC:285 SL:138
FA54 24 01 BIT $01 = FF A:37 X:FF Y:A9 P:25 SP:F9 CYC:303 SL:138
FA56 A9 F0 LDA #$F0 A:37 X:FF Y:A9 P:E5 SP:F9 CYC:312 SL:138
FA58 60 RTS A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:318 SL:138
EB72 DF 48 05 *DCP $0548,X @ 0647 = 37 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:336 SL:138
EB75 EA NOP A:F0 X:FF Y:A9 P:E5 SP:FB CYC: 16 SL:139
EB76 EA NOP A:F0 X:FF Y:A9 P:E5 SP:FB CYC: 22 SL:139
EB77 EA NOP A:F0 X:FF Y:A9 P:E5 SP:FB CYC: 28 SL:139
EB78 EA NOP A:F0 X:FF Y:A9 P:E5 SP:FB CYC: 34 SL:139
EB79 20 59 FA JSR $FA59 A:F0 X:FF Y:A9 P:E5 SP:FB CYC: 40 SL:139
FA59 50 0A BVC $FA65 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC: 58 SL:139
FA5B F0 08 BEQ $FA65 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC: 64 SL:139
FA5D 10 06 BPL $FA65 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC: 70 SL:139
FA5F 90 04 BCC $FA65 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC: 76 SL:139
FA61 C9 F0 CMP #$F0 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC: 82 SL:139
FA63 F0 02 BEQ $FA67 A:F0 X:FF Y:A9 P:67 SP:F9 CYC: 88 SL:139
FA67 60 RTS A:F0 X:FF Y:A9 P:67 SP:F9 CYC: 97 SL:139
EB7C AD 47 06 LDA $0647 = 36 A:F0 X:FF Y:A9 P:67 SP:FB CYC:115 SL:139
EB7F C9 36 CMP #$36 A:36 X:FF Y:A9 P:65 SP:FB CYC:127 SL:139
EB81 F0 02 BEQ $EB85 A:36 X:FF Y:A9 P:67 SP:FB CYC:133 SL:139
EB85 60 RTS A:36 X:FF Y:A9 P:67 SP:FB CYC:142 SL:139
C63E 20 86 EB JSR $EB86 A:36 X:FF Y:A9 P:67 SP:FD CYC:160 SL:139
EB86 A9 FF LDA #$FF A:36 X:FF Y:A9 P:67 SP:FB CYC:178 SL:139
EB88 85 01 STA $01 = FF A:FF X:FF Y:A9 P:E5 SP:FB CYC:184 SL:139
EB8A A0 AA LDY #$AA A:FF X:FF Y:A9 P:E5 SP:FB CYC:193 SL:139
EB8C A2 02 LDX #$02 A:FF X:FF Y:AA P:E5 SP:FB CYC:199 SL:139
EB8E A9 47 LDA #$47 A:FF X:02 Y:AA P:65 SP:FB CYC:205 SL:139
EB90 85 47 STA $47 = 36 A:47 X:02 Y:AA P:65 SP:FB CYC:211 SL:139
EB92 A9 06 LDA #$06 A:47 X:02 Y:AA P:65 SP:FB CYC:220 SL:139
EB94 85 48 STA $48 = 06 A:06 X:02 Y:AA P:65 SP:FB CYC:226 SL:139
EB96 A9 EB LDA #$EB A:06 X:02 Y:AA P:65 SP:FB CYC:235 SL:139
EB98 8D 47 06 STA $0647 = 36 A:EB X:02 Y:AA P:E5 SP:FB CYC:241 SL:139
EB9B 20 B1 FA JSR $FAB1 A:EB X:02 Y:AA P:E5 SP:FB CYC:253 SL:139
FAB1 24 01 BIT $01 = FF A:EB X:02 Y:AA P:E5 SP:F9 CYC:271 SL:139
FAB3 18 CLC A:EB X:02 Y:AA P:E5 SP:F9 CYC:280 SL:139
FAB4 A9 40 LDA #$40 A:EB X:02 Y:AA P:E4 SP:F9 CYC:286 SL:139
FAB6 60 RTS A:40 X:02 Y:AA P:64 SP:F9 CYC:292 SL:139
EB9E E3 45 *ISB ($45,X) @ 47 = 0647 = EB A:40 X:02 Y:AA P:64 SP:FB CYC:310 SL:139
EBA0 EA NOP A:53 X:02 Y:AA P:24 SP:FB CYC:334 SL:139
EBA1 EA NOP A:53 X:02 Y:AA P:24 SP:FB CYC:340 SL:139
EBA2 EA NOP A:53 X:02 Y:AA P:24 SP:FB CYC: 5 SL:140
EBA3 EA NOP A:53 X:02 Y:AA P:24 SP:FB CYC: 11 SL:140
EBA4 20 B7 FA JSR $FAB7 A:53 X:02 Y:AA P:24 SP:FB CYC: 17 SL:140
FAB7 70 2D BVS $FAE6 A:53 X:02 Y:AA P:24 SP:F9 CYC: 35 SL:140
FAB9 B0 2B BCS $FAE6 A:53 X:02 Y:AA P:24 SP:F9 CYC: 41 SL:140
FABB 30 29 BMI $FAE6 A:53 X:02 Y:AA P:24 SP:F9 CYC: 47 SL:140
FABD C9 53 CMP #$53 A:53 X:02 Y:AA P:24 SP:F9 CYC: 53 SL:140
FABF D0 25 BNE $FAE6 A:53 X:02 Y:AA P:27 SP:F9 CYC: 59 SL:140
FAC1 60 RTS A:53 X:02 Y:AA P:27 SP:F9 CYC: 65 SL:140
EBA7 AD 47 06 LDA $0647 = EC A:53 X:02 Y:AA P:27 SP:FB CYC: 83 SL:140
EBAA C9 EC CMP #$EC A:EC X:02 Y:AA P:A5 SP:FB CYC: 95 SL:140
EBAC F0 02 BEQ $EBB0 A:EC X:02 Y:AA P:27 SP:FB CYC:101 SL:140
EBB0 C8 INY A:EC X:02 Y:AA P:27 SP:FB CYC:110 SL:140
EBB1 A9 FF LDA #$FF A:EC X:02 Y:AB P:A5 SP:FB CYC:116 SL:140
EBB3 8D 47 06 STA $0647 = EC A:FF X:02 Y:AB P:A5 SP:FB CYC:122 SL:140
EBB6 20 C2 FA JSR $FAC2 A:FF X:02 Y:AB P:A5 SP:FB CYC:134 SL:140
FAC2 B8 CLV A:FF X:02 Y:AB P:A5 SP:F9 CYC:152 SL:140
FAC3 38 SEC A:FF X:02 Y:AB P:A5 SP:F9 CYC:158 SL:140
FAC4 A9 FF LDA #$FF A:FF X:02 Y:AB P:A5 SP:F9 CYC:164 SL:140
FAC6 60 RTS A:FF X:02 Y:AB P:A5 SP:F9 CYC:170 SL:140
EBB9 E3 45 *ISB ($45,X) @ 47 = 0647 = FF A:FF X:02 Y:AB P:A5 SP:FB CYC:188 SL:140
EBBB EA NOP A:FF X:02 Y:AB P:A5 SP:FB CYC:212 SL:140
EBBC EA NOP A:FF X:02 Y:AB P:A5 SP:FB CYC:218 SL:140
EBBD EA NOP A:FF X:02 Y:AB P:A5 SP:FB CYC:224 SL:140
EBBE EA NOP A:FF X:02 Y:AB P:A5 SP:FB CYC:230 SL:140
EBBF 20 C7 FA JSR $FAC7 A:FF X:02 Y:AB P:A5 SP:FB CYC:236 SL:140
FAC7 70 1D BVS $FAE6 A:FF X:02 Y:AB P:A5 SP:F9 CYC:254 SL:140
FAC9 F0 1B BEQ $FAE6 A:FF X:02 Y:AB P:A5 SP:F9 CYC:260 SL:140
FACB 10 19 BPL $FAE6 A:FF X:02 Y:AB P:A5 SP:F9 CYC:266 SL:140
FACD 90 17 BCC $FAE6 A:FF X:02 Y:AB P:A5 SP:F9 CYC:272 SL:140
FACF C9 FF CMP #$FF A:FF X:02 Y:AB P:A5 SP:F9 CYC:278 SL:140
FAD1 D0 13 BNE $FAE6 A:FF X:02 Y:AB P:27 SP:F9 CYC:284 SL:140
FAD3 60 RTS A:FF X:02 Y:AB P:27 SP:F9 CYC:290 SL:140
EBC2 AD 47 06 LDA $0647 = 00 A:FF X:02 Y:AB P:27 SP:FB CYC:308 SL:140
EBC5 C9 00 CMP #$00 A:00 X:02 Y:AB P:27 SP:FB CYC:320 SL:140
EBC7 F0 02 BEQ $EBCB A:00 X:02 Y:AB P:27 SP:FB CYC:326 SL:140
EBCB C8 INY A:00 X:02 Y:AB P:27 SP:FB CYC:335 SL:140
EBCC A9 37 LDA #$37 A:00 X:02 Y:AC P:A5 SP:FB CYC: 0 SL:141
EBCE 8D 47 06 STA $0647 = 00 A:37 X:02 Y:AC P:25 SP:FB CYC: 6 SL:141
EBD1 20 D4 FA JSR $FAD4 A:37 X:02 Y:AC P:25 SP:FB CYC: 18 SL:141
FAD4 24 01 BIT $01 = FF A:37 X:02 Y:AC P:25 SP:F9 CYC: 36 SL:141
FAD6 38 SEC A:37 X:02 Y:AC P:E5 SP:F9 CYC: 45 SL:141
FAD7 A9 F0 LDA #$F0 A:37 X:02 Y:AC P:E5 SP:F9 CYC: 51 SL:141
FAD9 60 RTS A:F0 X:02 Y:AC P:E5 SP:F9 CYC: 57 SL:141
EBD4 E3 45 *ISB ($45,X) @ 47 = 0647 = 37 A:F0 X:02 Y:AC P:E5 SP:FB CYC: 75 SL:141
EBD6 EA NOP A:B8 X:02 Y:AC P:A5 SP:FB CYC: 99 SL:141
EBD7 EA NOP A:B8 X:02 Y:AC P:A5 SP:FB CYC:105 SL:141
EBD8 EA NOP A:B8 X:02 Y:AC P:A5 SP:FB CYC:111 SL:141
EBD9 EA NOP A:B8 X:02 Y:AC P:A5 SP:FB CYC:117 SL:141
EBDA 20 DA FA JSR $FADA A:B8 X:02 Y:AC P:A5 SP:FB CYC:123 SL:141
FADA 70 0A BVS $FAE6 A:B8 X:02 Y:AC P:A5 SP:F9 CYC:141 SL:141
FADC F0 08 BEQ $FAE6 A:B8 X:02 Y:AC P:A5 SP:F9 CYC:147 SL:141
FADE 10 06 BPL $FAE6 A:B8 X:02 Y:AC P:A5 SP:F9 CYC:153 SL:141
FAE0 90 04 BCC $FAE6 A:B8 X:02 Y:AC P:A5 SP:F9 CYC:159 SL:141
FAE2 C9 B8 CMP #$B8 A:B8 X:02 Y:AC P:A5 SP:F9 CYC:165 SL:141
FAE4 F0 02 BEQ $FAE8 A:B8 X:02 Y:AC P:27 SP:F9 CYC:171 SL:141
FAE8 60 RTS A:B8 X:02 Y:AC P:27 SP:F9 CYC:180 SL:141
EBDD AD 47 06 LDA $0647 = 38 A:B8 X:02 Y:AC P:27 SP:FB CYC:198 SL:141
EBE0 C9 38 CMP #$38 A:38 X:02 Y:AC P:25 SP:FB CYC:210 SL:141
EBE2 F0 02 BEQ $EBE6 A:38 X:02 Y:AC P:27 SP:FB CYC:216 SL:141
EBE6 C8 INY A:38 X:02 Y:AC P:27 SP:FB CYC:225 SL:141
EBE7 A9 EB LDA #$EB A:38 X:02 Y:AD P:A5 SP:FB CYC:231 SL:141
EBE9 85 47 STA $47 = 47 A:EB X:02 Y:AD P:A5 SP:FB CYC:237 SL:141
EBEB 20 B1 FA JSR $FAB1 A:EB X:02 Y:AD P:A5 SP:FB CYC:246 SL:141
FAB1 24 01 BIT $01 = FF A:EB X:02 Y:AD P:A5 SP:F9 CYC:264 SL:141
FAB3 18 CLC A:EB X:02 Y:AD P:E5 SP:F9 CYC:273 SL:141
FAB4 A9 40 LDA #$40 A:EB X:02 Y:AD P:E4 SP:F9 CYC:279 SL:141
FAB6 60 RTS A:40 X:02 Y:AD P:64 SP:F9 CYC:285 SL:141
EBEE E7 47 *ISB $47 = EB A:40 X:02 Y:AD P:64 SP:FB CYC:303 SL:141
EBF0 EA NOP A:53 X:02 Y:AD P:24 SP:FB CYC:318 SL:141
EBF1 EA NOP A:53 X:02 Y:AD P:24 SP:FB CYC:324 SL:141
EBF2 EA NOP A:53 X:02 Y:AD P:24 SP:FB CYC:330 SL:141
EBF3 EA NOP A:53 X:02 Y:AD P:24 SP:FB CYC:336 SL:141
EBF4 20 B7 FA JSR $FAB7 A:53 X:02 Y:AD P:24 SP:FB CYC: 1 SL:142
FAB7 70 2D BVS $FAE6 A:53 X:02 Y:AD P:24 SP:F9 CYC: 19 SL:142
FAB9 B0 2B BCS $FAE6 A:53 X:02 Y:AD P:24 SP:F9 CYC: 25 SL:142
FABB 30 29 BMI $FAE6 A:53 X:02 Y:AD P:24 SP:F9 CYC: 31 SL:142
FABD C9 53 CMP #$53 A:53 X:02 Y:AD P:24 SP:F9 CYC: 37 SL:142
FABF D0 25 BNE $FAE6 A:53 X:02 Y:AD P:27 SP:F9 CYC: 43 SL:142
FAC1 60 RTS A:53 X:02 Y:AD P:27 SP:F9 CYC: 49 SL:142
EBF7 A5 47 LDA $47 = EC A:53 X:02 Y:AD P:27 SP:FB CYC: 67 SL:142
EBF9 C9 EC CMP #$EC A:EC X:02 Y:AD P:A5 SP:FB CYC: 76 SL:142
EBFB F0 02 BEQ $EBFF A:EC X:02 Y:AD P:27 SP:FB CYC: 82 SL:142
EBFF C8 INY A:EC X:02 Y:AD P:27 SP:FB CYC: 91 SL:142
EC00 A9 FF LDA #$FF A:EC X:02 Y:AE P:A5 SP:FB CYC: 97 SL:142
EC02 85 47 STA $47 = EC A:FF X:02 Y:AE P:A5 SP:FB CYC:103 SL:142
EC04 20 C2 FA JSR $FAC2 A:FF X:02 Y:AE P:A5 SP:FB CYC:112 SL:142
FAC2 B8 CLV A:FF X:02 Y:AE P:A5 SP:F9 CYC:130 SL:142
FAC3 38 SEC A:FF X:02 Y:AE P:A5 SP:F9 CYC:136 SL:142
FAC4 A9 FF LDA #$FF A:FF X:02 Y:AE P:A5 SP:F9 CYC:142 SL:142
FAC6 60 RTS A:FF X:02 Y:AE P:A5 SP:F9 CYC:148 SL:142
EC07 E7 47 *ISB $47 = FF A:FF X:02 Y:AE P:A5 SP:FB CYC:166 SL:142
EC09 EA NOP A:FF X:02 Y:AE P:A5 SP:FB CYC:181 SL:142
EC0A EA NOP A:FF X:02 Y:AE P:A5 SP:FB CYC:187 SL:142
EC0B EA NOP A:FF X:02 Y:AE P:A5 SP:FB CYC:193 SL:142
EC0C EA NOP A:FF X:02 Y:AE P:A5 SP:FB CYC:199 SL:142
EC0D 20 C7 FA JSR $FAC7 A:FF X:02 Y:AE P:A5 SP:FB CYC:205 SL:142
FAC7 70 1D BVS $FAE6 A:FF X:02 Y:AE P:A5 SP:F9 CYC:223 SL:142
FAC9 F0 1B BEQ $FAE6 A:FF X:02 Y:AE P:A5 SP:F9 CYC:229 SL:142
FACB 10 19 BPL $FAE6 A:FF X:02 Y:AE P:A5 SP:F9 CYC:235 SL:142
FACD 90 17 BCC $FAE6 A:FF X:02 Y:AE P:A5 SP:F9 CYC:241 SL:142
FACF C9 FF CMP #$FF A:FF X:02 Y:AE P:A5 SP:F9 CYC:247 SL:142
FAD1 D0 13 BNE $FAE6 A:FF X:02 Y:AE P:27 SP:F9 CYC:253 SL:142
FAD3 60 RTS A:FF X:02 Y:AE P:27 SP:F9 CYC:259 SL:142
EC10 A5 47 LDA $47 = 00 A:FF X:02 Y:AE P:27 SP:FB CYC:277 SL:142
EC12 C9 00 CMP #$00 A:00 X:02 Y:AE P:27 SP:FB CYC:286 SL:142
EC14 F0 02 BEQ $EC18 A:00 X:02 Y:AE P:27 SP:FB CYC:292 SL:142
EC18 C8 INY A:00 X:02 Y:AE P:27 SP:FB CYC:301 SL:142
EC19 A9 37 LDA #$37 A:00 X:02 Y:AF P:A5 SP:FB CYC:307 SL:142
EC1B 85 47 STA $47 = 00 A:37 X:02 Y:AF P:25 SP:FB CYC:313 SL:142
EC1D 20 D4 FA JSR $FAD4 A:37 X:02 Y:AF P:25 SP:FB CYC:322 SL:142
FAD4 24 01 BIT $01 = FF A:37 X:02 Y:AF P:25 SP:F9 CYC:340 SL:142
FAD6 38 SEC A:37 X:02 Y:AF P:E5 SP:F9 CYC: 8 SL:143
FAD7 A9 F0 LDA #$F0 A:37 X:02 Y:AF P:E5 SP:F9 CYC: 14 SL:143
FAD9 60 RTS A:F0 X:02 Y:AF P:E5 SP:F9 CYC: 20 SL:143
EC20 E7 47 *ISB $47 = 37 A:F0 X:02 Y:AF P:E5 SP:FB CYC: 38 SL:143
EC22 EA NOP A:B8 X:02 Y:AF P:A5 SP:FB CYC: 53 SL:143
EC23 EA NOP A:B8 X:02 Y:AF P:A5 SP:FB CYC: 59 SL:143
EC24 EA NOP A:B8 X:02 Y:AF P:A5 SP:FB CYC: 65 SL:143
EC25 EA NOP A:B8 X:02 Y:AF P:A5 SP:FB CYC: 71 SL:143
EC26 20 DA FA JSR $FADA A:B8 X:02 Y:AF P:A5 SP:FB CYC: 77 SL:143
FADA 70 0A BVS $FAE6 A:B8 X:02 Y:AF P:A5 SP:F9 CYC: 95 SL:143
FADC F0 08 BEQ $FAE6 A:B8 X:02 Y:AF P:A5 SP:F9 CYC:101 SL:143
FADE 10 06 BPL $FAE6 A:B8 X:02 Y:AF P:A5 SP:F9 CYC:107 SL:143
FAE0 90 04 BCC $FAE6 A:B8 X:02 Y:AF P:A5 SP:F9 CYC:113 SL:143
FAE2 C9 B8 CMP #$B8 A:B8 X:02 Y:AF P:A5 SP:F9 CYC:119 SL:143
FAE4 F0 02 BEQ $FAE8 A:B8 X:02 Y:AF P:27 SP:F9 CYC:125 SL:143
FAE8 60 RTS A:B8 X:02 Y:AF P:27 SP:F9 CYC:134 SL:143
EC29 A5 47 LDA $47 = 38 A:B8 X:02 Y:AF P:27 SP:FB CYC:152 SL:143
EC2B C9 38 CMP #$38 A:38 X:02 Y:AF P:25 SP:FB CYC:161 SL:143
EC2D F0 02 BEQ $EC31 A:38 X:02 Y:AF P:27 SP:FB CYC:167 SL:143
EC31 C8 INY A:38 X:02 Y:AF P:27 SP:FB CYC:176 SL:143
EC32 A9 EB LDA #$EB A:38 X:02 Y:B0 P:A5 SP:FB CYC:182 SL:143
EC34 8D 47 06 STA $0647 = 38 A:EB X:02 Y:B0 P:A5 SP:FB CYC:188 SL:143
EC37 20 B1 FA JSR $FAB1 A:EB X:02 Y:B0 P:A5 SP:FB CYC:200 SL:143
FAB1 24 01 BIT $01 = FF A:EB X:02 Y:B0 P:A5 SP:F9 CYC:218 SL:143
FAB3 18 CLC A:EB X:02 Y:B0 P:E5 SP:F9 CYC:227 SL:143
FAB4 A9 40 LDA #$40 A:EB X:02 Y:B0 P:E4 SP:F9 CYC:233 SL:143
FAB6 60 RTS A:40 X:02 Y:B0 P:64 SP:F9 CYC:239 SL:143
EC3A EF 47 06 *ISB $0647 = EB A:40 X:02 Y:B0 P:64 SP:FB CYC:257 SL:143
EC3D EA NOP A:53 X:02 Y:B0 P:24 SP:FB CYC:275 SL:143
EC3E EA NOP A:53 X:02 Y:B0 P:24 SP:FB CYC:281 SL:143
EC3F EA NOP A:53 X:02 Y:B0 P:24 SP:FB CYC:287 SL:143
EC40 EA NOP A:53 X:02 Y:B0 P:24 SP:FB CYC:293 SL:143
EC41 20 B7 FA JSR $FAB7 A:53 X:02 Y:B0 P:24 SP:FB CYC:299 SL:143
FAB7 70 2D BVS $FAE6 A:53 X:02 Y:B0 P:24 SP:F9 CYC:317 SL:143
FAB9 B0 2B BCS $FAE6 A:53 X:02 Y:B0 P:24 SP:F9 CYC:323 SL:143
FABB 30 29 BMI $FAE6 A:53 X:02 Y:B0 P:24 SP:F9 CYC:329 SL:143
FABD C9 53 CMP #$53 A:53 X:02 Y:B0 P:24 SP:F9 CYC:335 SL:143
FABF D0 25 BNE $FAE6 A:53 X:02 Y:B0 P:27 SP:F9 CYC: 0 SL:144
FAC1 60 RTS A:53 X:02 Y:B0 P:27 SP:F9 CYC: 6 SL:144
EC44 AD 47 06 LDA $0647 = EC A:53 X:02 Y:B0 P:27 SP:FB CYC: 24 SL:144
EC47 C9 EC CMP #$EC A:EC X:02 Y:B0 P:A5 SP:FB CYC: 36 SL:144
EC49 F0 02 BEQ $EC4D A:EC X:02 Y:B0 P:27 SP:FB CYC: 42 SL:144
EC4D C8 INY A:EC X:02 Y:B0 P:27 SP:FB CYC: 51 SL:144
EC4E A9 FF LDA #$FF A:EC X:02 Y:B1 P:A5 SP:FB CYC: 57 SL:144
EC50 8D 47 06 STA $0647 = EC A:FF X:02 Y:B1 P:A5 SP:FB CYC: 63 SL:144
EC53 20 C2 FA JSR $FAC2 A:FF X:02 Y:B1 P:A5 SP:FB CYC: 75 SL:144
FAC2 B8 CLV A:FF X:02 Y:B1 P:A5 SP:F9 CYC: 93 SL:144
FAC3 38 SEC A:FF X:02 Y:B1 P:A5 SP:F9 CYC: 99 SL:144
FAC4 A9 FF LDA #$FF A:FF X:02 Y:B1 P:A5 SP:F9 CYC:105 SL:144
FAC6 60 RTS A:FF X:02 Y:B1 P:A5 SP:F9 CYC:111 SL:144
EC56 EF 47 06 *ISB $0647 = FF A:FF X:02 Y:B1 P:A5 SP:FB CYC:129 SL:144
EC59 EA NOP A:FF X:02 Y:B1 P:A5 SP:FB CYC:147 SL:144
EC5A EA NOP A:FF X:02 Y:B1 P:A5 SP:FB CYC:153 SL:144
EC5B EA NOP A:FF X:02 Y:B1 P:A5 SP:FB CYC:159 SL:144
EC5C EA NOP A:FF X:02 Y:B1 P:A5 SP:FB CYC:165 SL:144
EC5D 20 C7 FA JSR $FAC7 A:FF X:02 Y:B1 P:A5 SP:FB CYC:171 SL:144
FAC7 70 1D BVS $FAE6 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:189 SL:144
FAC9 F0 1B BEQ $FAE6 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:195 SL:144
FACB 10 19 BPL $FAE6 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:201 SL:144
FACD 90 17 BCC $FAE6 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:207 SL:144
FACF C9 FF CMP #$FF A:FF X:02 Y:B1 P:A5 SP:F9 CYC:213 SL:144
FAD1 D0 13 BNE $FAE6 A:FF X:02 Y:B1 P:27 SP:F9 CYC:219 SL:144
FAD3 60 RTS A:FF X:02 Y:B1 P:27 SP:F9 CYC:225 SL:144
EC60 AD 47 06 LDA $0647 = 00 A:FF X:02 Y:B1 P:27 SP:FB CYC:243 SL:144
EC63 C9 00 CMP #$00 A:00 X:02 Y:B1 P:27 SP:FB CYC:255 SL:144
EC65 F0 02 BEQ $EC69 A:00 X:02 Y:B1 P:27 SP:FB CYC:261 SL:144
EC69 C8 INY A:00 X:02 Y:B1 P:27 SP:FB CYC:270 SL:144
EC6A A9 37 LDA #$37 A:00 X:02 Y:B2 P:A5 SP:FB CYC:276 SL:144
EC6C 8D 47 06 STA $0647 = 00 A:37 X:02 Y:B2 P:25 SP:FB CYC:282 SL:144
EC6F 20 D4 FA JSR $FAD4 A:37 X:02 Y:B2 P:25 SP:FB CYC:294 SL:144
FAD4 24 01 BIT $01 = FF A:37 X:02 Y:B2 P:25 SP:F9 CYC:312 SL:144
FAD6 38 SEC A:37 X:02 Y:B2 P:E5 SP:F9 CYC:321 SL:144
FAD7 A9 F0 LDA #$F0 A:37 X:02 Y:B2 P:E5 SP:F9 CYC:327 SL:144
FAD9 60 RTS A:F0 X:02 Y:B2 P:E5 SP:F9 CYC:333 SL:144
EC72 EF 47 06 *ISB $0647 = 37 A:F0 X:02 Y:B2 P:E5 SP:FB CYC: 10 SL:145
EC75 EA NOP A:B8 X:02 Y:B2 P:A5 SP:FB CYC: 28 SL:145
EC76 EA NOP A:B8 X:02 Y:B2 P:A5 SP:FB CYC: 34 SL:145
EC77 EA NOP A:B8 X:02 Y:B2 P:A5 SP:FB CYC: 40 SL:145
EC78 EA NOP A:B8 X:02 Y:B2 P:A5 SP:FB CYC: 46 SL:145
EC79 20 DA FA JSR $FADA A:B8 X:02 Y:B2 P:A5 SP:FB CYC: 52 SL:145
FADA 70 0A BVS $FAE6 A:B8 X:02 Y:B2 P:A5 SP:F9 CYC: 70 SL:145
FADC F0 08 BEQ $FAE6 A:B8 X:02 Y:B2 P:A5 SP:F9 CYC: 76 SL:145
FADE 10 06 BPL $FAE6 A:B8 X:02 Y:B2 P:A5 SP:F9 CYC: 82 SL:145
FAE0 90 04 BCC $FAE6 A:B8 X:02 Y:B2 P:A5 SP:F9 CYC: 88 SL:145
FAE2 C9 B8 CMP #$B8 A:B8 X:02 Y:B2 P:A5 SP:F9 CYC: 94 SL:145
FAE4 F0 02 BEQ $FAE8 A:B8 X:02 Y:B2 P:27 SP:F9 CYC:100 SL:145
FAE8 60 RTS A:B8 X:02 Y:B2 P:27 SP:F9 CYC:109 SL:145
EC7C AD 47 06 LDA $0647 = 38 A:B8 X:02 Y:B2 P:27 SP:FB CYC:127 SL:145
EC7F C9 38 CMP #$38 A:38 X:02 Y:B2 P:25 SP:FB CYC:139 SL:145
EC81 F0 02 BEQ $EC85 A:38 X:02 Y:B2 P:27 SP:FB CYC:145 SL:145
EC85 A9 EB LDA #$EB A:38 X:02 Y:B2 P:27 SP:FB CYC:154 SL:145
EC87 8D 47 06 STA $0647 = 38 A:EB X:02 Y:B2 P:A5 SP:FB CYC:160 SL:145
EC8A A9 48 LDA #$48 A:EB X:02 Y:B2 P:A5 SP:FB CYC:172 SL:145
EC8C 85 45 STA $45 = 48 A:48 X:02 Y:B2 P:25 SP:FB CYC:178 SL:145
EC8E A9 05 LDA #$05 A:48 X:02 Y:B2 P:25 SP:FB CYC:187 SL:145
EC90 85 46 STA $46 = 05 A:05 X:02 Y:B2 P:25 SP:FB CYC:193 SL:145
EC92 A0 FF LDY #$FF A:05 X:02 Y:B2 P:25 SP:FB CYC:202 SL:145
EC94 20 B1 FA JSR $FAB1 A:05 X:02 Y:FF P:A5 SP:FB CYC:208 SL:145
FAB1 24 01 BIT $01 = FF A:05 X:02 Y:FF P:A5 SP:F9 CYC:226 SL:145
FAB3 18 CLC A:05 X:02 Y:FF P:E5 SP:F9 CYC:235 SL:145
FAB4 A9 40 LDA #$40 A:05 X:02 Y:FF P:E4 SP:F9 CYC:241 SL:145
FAB6 60 RTS A:40 X:02 Y:FF P:64 SP:F9 CYC:247 SL:145
EC97 F3 45 *ISB ($45),Y = 0548 @ 0647 = EB A:40 X:02 Y:FF P:64 SP:FB CYC:265 SL:145
EC99 EA NOP A:53 X:02 Y:FF P:24 SP:FB CYC:289 SL:145
EC9A EA NOP A:53 X:02 Y:FF P:24 SP:FB CYC:295 SL:145
EC9B 08 PHP A:53 X:02 Y:FF P:24 SP:FB CYC:301 SL:145
EC9C 48 PHA A:53 X:02 Y:FF P:24 SP:FA CYC:310 SL:145
EC9D A0 B3 LDY #$B3 A:53 X:02 Y:FF P:24 SP:F9 CYC:319 SL:145
EC9F 68 PLA A:53 X:02 Y:B3 P:A4 SP:F9 CYC:325 SL:145
ECA0 28 PLP A:53 X:02 Y:B3 P:24 SP:FA CYC:337 SL:145
ECA1 20 B7 FA JSR $FAB7 A:53 X:02 Y:B3 P:24 SP:FB CYC: 8 SL:146
FAB7 70 2D BVS $FAE6 A:53 X:02 Y:B3 P:24 SP:F9 CYC: 26 SL:146
FAB9 B0 2B BCS $FAE6 A:53 X:02 Y:B3 P:24 SP:F9 CYC: 32 SL:146
FABB 30 29 BMI $FAE6 A:53 X:02 Y:B3 P:24 SP:F9 CYC: 38 SL:146
FABD C9 53 CMP #$53 A:53 X:02 Y:B3 P:24 SP:F9 CYC: 44 SL:146
FABF D0 25 BNE $FAE6 A:53 X:02 Y:B3 P:27 SP:F9 CYC: 50 SL:146
FAC1 60 RTS A:53 X:02 Y:B3 P:27 SP:F9 CYC: 56 SL:146
ECA4 AD 47 06 LDA $0647 = EC A:53 X:02 Y:B3 P:27 SP:FB CYC: 74 SL:146
ECA7 C9 EC CMP #$EC A:EC X:02 Y:B3 P:A5 SP:FB CYC: 86 SL:146
ECA9 F0 02 BEQ $ECAD A:EC X:02 Y:B3 P:27 SP:FB CYC: 92 SL:146
ECAD A0 FF LDY #$FF A:EC X:02 Y:B3 P:27 SP:FB CYC:101 SL:146
ECAF A9 FF LDA #$FF A:EC X:02 Y:FF P:A5 SP:FB CYC:107 SL:146
ECB1 8D 47 06 STA $0647 = EC A:FF X:02 Y:FF P:A5 SP:FB CYC:113 SL:146
ECB4 20 C2 FA JSR $FAC2 A:FF X:02 Y:FF P:A5 SP:FB CYC:125 SL:146
FAC2 B8 CLV A:FF X:02 Y:FF P:A5 SP:F9 CYC:143 SL:146
FAC3 38 SEC A:FF X:02 Y:FF P:A5 SP:F9 CYC:149 SL:146
FAC4 A9 FF LDA #$FF A:FF X:02 Y:FF P:A5 SP:F9 CYC:155 SL:146
FAC6 60 RTS A:FF X:02 Y:FF P:A5 SP:F9 CYC:161 SL:146
ECB7 F3 45 *ISB ($45),Y = 0548 @ 0647 = FF A:FF X:02 Y:FF P:A5 SP:FB CYC:179 SL:146
ECB9 EA NOP A:FF X:02 Y:FF P:A5 SP:FB CYC:203 SL:146
ECBA EA NOP A:FF X:02 Y:FF P:A5 SP:FB CYC:209 SL:146
ECBB 08 PHP A:FF X:02 Y:FF P:A5 SP:FB CYC:215 SL:146
ECBC 48 PHA A:FF X:02 Y:FF P:A5 SP:FA CYC:224 SL:146
ECBD A0 B4 LDY #$B4 A:FF X:02 Y:FF P:A5 SP:F9 CYC:233 SL:146
ECBF 68 PLA A:FF X:02 Y:B4 P:A5 SP:F9 CYC:239 SL:146
ECC0 28 PLP A:FF X:02 Y:B4 P:A5 SP:FA CYC:251 SL:146
ECC1 20 C7 FA JSR $FAC7 A:FF X:02 Y:B4 P:A5 SP:FB CYC:263 SL:146
FAC7 70 1D BVS $FAE6 A:FF X:02 Y:B4 P:A5 SP:F9 CYC:281 SL:146
FAC9 F0 1B BEQ $FAE6 A:FF X:02 Y:B4 P:A5 SP:F9 CYC:287 SL:146
FACB 10 19 BPL $FAE6 A:FF X:02 Y:B4 P:A5 SP:F9 CYC:293 SL:146
FACD 90 17 BCC $FAE6 A:FF X:02 Y:B4 P:A5 SP:F9 CYC:299 SL:146
FACF C9 FF CMP #$FF A:FF X:02 Y:B4 P:A5 SP:F9 CYC:305 SL:146
FAD1 D0 13 BNE $FAE6 A:FF X:02 Y:B4 P:27 SP:F9 CYC:311 SL:146
FAD3 60 RTS A:FF X:02 Y:B4 P:27 SP:F9 CYC:317 SL:146
ECC4 AD 47 06 LDA $0647 = 00 A:FF X:02 Y:B4 P:27 SP:FB CYC:335 SL:146
ECC7 C9 00 CMP #$00 A:00 X:02 Y:B4 P:27 SP:FB CYC: 6 SL:147
ECC9 F0 02 BEQ $ECCD A:00 X:02 Y:B4 P:27 SP:FB CYC: 12 SL:147
ECCD A0 FF LDY #$FF A:00 X:02 Y:B4 P:27 SP:FB CYC: 21 SL:147
ECCF A9 37 LDA #$37 A:00 X:02 Y:FF P:A5 SP:FB CYC: 27 SL:147
ECD1 8D 47 06 STA $0647 = 00 A:37 X:02 Y:FF P:25 SP:FB CYC: 33 SL:147
ECD4 20 D4 FA JSR $FAD4 A:37 X:02 Y:FF P:25 SP:FB CYC: 45 SL:147
FAD4 24 01 BIT $01 = FF A:37 X:02 Y:FF P:25 SP:F9 CYC: 63 SL:147
FAD6 38 SEC A:37 X:02 Y:FF P:E5 SP:F9 CYC: 72 SL:147
FAD7 A9 F0 LDA #$F0 A:37 X:02 Y:FF P:E5 SP:F9 CYC: 78 SL:147
FAD9 60 RTS A:F0 X:02 Y:FF P:E5 SP:F9 CYC: 84 SL:147
ECD7 F3 45 *ISB ($45),Y = 0548 @ 0647 = 37 A:F0 X:02 Y:FF P:E5 SP:FB CYC:102 SL:147
ECD9 EA NOP A:B8 X:02 Y:FF P:A5 SP:FB CYC:126 SL:147
ECDA EA NOP A:B8 X:02 Y:FF P:A5 SP:FB CYC:132 SL:147
ECDB 08 PHP A:B8 X:02 Y:FF P:A5 SP:FB CYC:138 SL:147
ECDC 48 PHA A:B8 X:02 Y:FF P:A5 SP:FA CYC:147 SL:147
ECDD A0 B5 LDY #$B5 A:B8 X:02 Y:FF P:A5 SP:F9 CYC:156 SL:147
ECDF 68 PLA A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:162 SL:147
ECE0 28 PLP A:B8 X:02 Y:B5 P:A5 SP:FA CYC:174 SL:147
ECE1 20 DA FA JSR $FADA A:B8 X:02 Y:B5 P:A5 SP:FB CYC:186 SL:147
FADA 70 0A BVS $FAE6 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:204 SL:147
FADC F0 08 BEQ $FAE6 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:210 SL:147
FADE 10 06 BPL $FAE6 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:216 SL:147
FAE0 90 04 BCC $FAE6 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:222 SL:147
FAE2 C9 B8 CMP #$B8 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:228 SL:147
FAE4 F0 02 BEQ $FAE8 A:B8 X:02 Y:B5 P:27 SP:F9 CYC:234 SL:147
FAE8 60 RTS A:B8 X:02 Y:B5 P:27 SP:F9 CYC:243 SL:147
ECE4 AD 47 06 LDA $0647 = 38 A:B8 X:02 Y:B5 P:27 SP:FB CYC:261 SL:147
ECE7 C9 38 CMP #$38 A:38 X:02 Y:B5 P:25 SP:FB CYC:273 SL:147
ECE9 F0 02 BEQ $ECED A:38 X:02 Y:B5 P:27 SP:FB CYC:279 SL:147
ECED A0 B6 LDY #$B6 A:38 X:02 Y:B5 P:27 SP:FB CYC:288 SL:147
ECEF A2 FF LDX #$FF A:38 X:02 Y:B6 P:A5 SP:FB CYC:294 SL:147
ECF1 A9 EB LDA #$EB A:38 X:FF Y:B6 P:A5 SP:FB CYC:300 SL:147
ECF3 85 47 STA $47 = 38 A:EB X:FF Y:B6 P:A5 SP:FB CYC:306 SL:147
ECF5 20 B1 FA JSR $FAB1 A:EB X:FF Y:B6 P:A5 SP:FB CYC:315 SL:147
FAB1 24 01 BIT $01 = FF A:EB X:FF Y:B6 P:A5 SP:F9 CYC:333 SL:147
FAB3 18 CLC A:EB X:FF Y:B6 P:E5 SP:F9 CYC: 1 SL:148
FAB4 A9 40 LDA #$40 A:EB X:FF Y:B6 P:E4 SP:F9 CYC: 7 SL:148
FAB6 60 RTS A:40 X:FF Y:B6 P:64 SP:F9 CYC: 13 SL:148
ECF8 F7 48 *ISB $48,X @ 47 = EB A:40 X:FF Y:B6 P:64 SP:FB CYC: 31 SL:148
ECFA EA NOP A:53 X:FF Y:B6 P:24 SP:FB CYC: 49 SL:148
ECFB EA NOP A:53 X:FF Y:B6 P:24 SP:FB CYC: 55 SL:148
ECFC EA NOP A:53 X:FF Y:B6 P:24 SP:FB CYC: 61 SL:148
ECFD EA NOP A:53 X:FF Y:B6 P:24 SP:FB CYC: 67 SL:148
ECFE 20 B7 FA JSR $FAB7 A:53 X:FF Y:B6 P:24 SP:FB CYC: 73 SL:148
FAB7 70 2D BVS $FAE6 A:53 X:FF Y:B6 P:24 SP:F9 CYC: 91 SL:148
FAB9 B0 2B BCS $FAE6 A:53 X:FF Y:B6 P:24 SP:F9 CYC: 97 SL:148
FABB 30 29 BMI $FAE6 A:53 X:FF Y:B6 P:24 SP:F9 CYC:103 SL:148
FABD C9 53 CMP #$53 A:53 X:FF Y:B6 P:24 SP:F9 CYC:109 SL:148
FABF D0 25 BNE $FAE6 A:53 X:FF Y:B6 P:27 SP:F9 CYC:115 SL:148
FAC1 60 RTS A:53 X:FF Y:B6 P:27 SP:F9 CYC:121 SL:148
ED01 A5 47 LDA $47 = EC A:53 X:FF Y:B6 P:27 SP:FB CYC:139 SL:148
ED03 C9 EC CMP #$EC A:EC X:FF Y:B6 P:A5 SP:FB CYC:148 SL:148
ED05 F0 02 BEQ $ED09 A:EC X:FF Y:B6 P:27 SP:FB CYC:154 SL:148
ED09 C8 INY A:EC X:FF Y:B6 P:27 SP:FB CYC:163 SL:148
ED0A A9 FF LDA #$FF A:EC X:FF Y:B7 P:A5 SP:FB CYC:169 SL:148
ED0C 85 47 STA $47 = EC A:FF X:FF Y:B7 P:A5 SP:FB CYC:175 SL:148
ED0E 20 C2 FA JSR $FAC2 A:FF X:FF Y:B7 P:A5 SP:FB CYC:184 SL:148
FAC2 B8 CLV A:FF X:FF Y:B7 P:A5 SP:F9 CYC:202 SL:148
FAC3 38 SEC A:FF X:FF Y:B7 P:A5 SP:F9 CYC:208 SL:148
FAC4 A9 FF LDA #$FF A:FF X:FF Y:B7 P:A5 SP:F9 CYC:214 SL:148
FAC6 60 RTS A:FF X:FF Y:B7 P:A5 SP:F9 CYC:220 SL:148
ED11 F7 48 *ISB $48,X @ 47 = FF A:FF X:FF Y:B7 P:A5 SP:FB CYC:238 SL:148
ED13 EA NOP A:FF X:FF Y:B7 P:A5 SP:FB CYC:256 SL:148
ED14 EA NOP A:FF X:FF Y:B7 P:A5 SP:FB CYC:262 SL:148
ED15 EA NOP A:FF X:FF Y:B7 P:A5 SP:FB CYC:268 SL:148
ED16 EA NOP A:FF X:FF Y:B7 P:A5 SP:FB CYC:274 SL:148
ED17 20 C7 FA JSR $FAC7 A:FF X:FF Y:B7 P:A5 SP:FB CYC:280 SL:148
FAC7 70 1D BVS $FAE6 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:298 SL:148
FAC9 F0 1B BEQ $FAE6 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:304 SL:148
FACB 10 19 BPL $FAE6 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:310 SL:148
FACD 90 17 BCC $FAE6 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:316 SL:148
FACF C9 FF CMP #$FF A:FF X:FF Y:B7 P:A5 SP:F9 CYC:322 SL:148
FAD1 D0 13 BNE $FAE6 A:FF X:FF Y:B7 P:27 SP:F9 CYC:328 SL:148
FAD3 60 RTS A:FF X:FF Y:B7 P:27 SP:F9 CYC:334 SL:148
ED1A A5 47 LDA $47 = 00 A:FF X:FF Y:B7 P:27 SP:FB CYC: 11 SL:149
ED1C C9 00 CMP #$00 A:00 X:FF Y:B7 P:27 SP:FB CYC: 20 SL:149
ED1E F0 02 BEQ $ED22 A:00 X:FF Y:B7 P:27 SP:FB CYC: 26 SL:149
ED22 C8 INY A:00 X:FF Y:B7 P:27 SP:FB CYC: 35 SL:149
ED23 A9 37 LDA #$37 A:00 X:FF Y:B8 P:A5 SP:FB CYC: 41 SL:149
ED25 85 47 STA $47 = 00 A:37 X:FF Y:B8 P:25 SP:FB CYC: 47 SL:149
ED27 20 D4 FA JSR $FAD4 A:37 X:FF Y:B8 P:25 SP:FB CYC: 56 SL:149
FAD4 24 01 BIT $01 = FF A:37 X:FF Y:B8 P:25 SP:F9 CYC: 74 SL:149
FAD6 38 SEC A:37 X:FF Y:B8 P:E5 SP:F9 CYC: 83 SL:149
FAD7 A9 F0 LDA #$F0 A:37 X:FF Y:B8 P:E5 SP:F9 CYC: 89 SL:149
FAD9 60 RTS A:F0 X:FF Y:B8 P:E5 SP:F9 CYC: 95 SL:149
ED2A F7 48 *ISB $48,X @ 47 = 37 A:F0 X:FF Y:B8 P:E5 SP:FB CYC:113 SL:149
ED2C EA NOP A:B8 X:FF Y:B8 P:A5 SP:FB CYC:131 SL:149
ED2D EA NOP A:B8 X:FF Y:B8 P:A5 SP:FB CYC:137 SL:149
ED2E EA NOP A:B8 X:FF Y:B8 P:A5 SP:FB CYC:143 SL:149
ED2F EA NOP A:B8 X:FF Y:B8 P:A5 SP:FB CYC:149 SL:149
ED30 20 DA FA JSR $FADA A:B8 X:FF Y:B8 P:A5 SP:FB CYC:155 SL:149
FADA 70 0A BVS $FAE6 A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:173 SL:149
FADC F0 08 BEQ $FAE6 A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:179 SL:149
FADE 10 06 BPL $FAE6 A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:185 SL:149
FAE0 90 04 BCC $FAE6 A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:191 SL:149
FAE2 C9 B8 CMP #$B8 A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:197 SL:149
FAE4 F0 02 BEQ $FAE8 A:B8 X:FF Y:B8 P:27 SP:F9 CYC:203 SL:149
FAE8 60 RTS A:B8 X:FF Y:B8 P:27 SP:F9 CYC:212 SL:149
ED33 A5 47 LDA $47 = 38 A:B8 X:FF Y:B8 P:27 SP:FB CYC:230 SL:149
ED35 C9 38 CMP #$38 A:38 X:FF Y:B8 P:25 SP:FB CYC:239 SL:149
ED37 F0 02 BEQ $ED3B A:38 X:FF Y:B8 P:27 SP:FB CYC:245 SL:149
ED3B A9 EB LDA #$EB A:38 X:FF Y:B8 P:27 SP:FB CYC:254 SL:149
ED3D 8D 47 06 STA $0647 = 38 A:EB X:FF Y:B8 P:A5 SP:FB CYC:260 SL:149
ED40 A0 FF LDY #$FF A:EB X:FF Y:B8 P:A5 SP:FB CYC:272 SL:149
ED42 20 B1 FA JSR $FAB1 A:EB X:FF Y:FF P:A5 SP:FB CYC:278 SL:149
FAB1 24 01 BIT $01 = FF A:EB X:FF Y:FF P:A5 SP:F9 CYC:296 SL:149
FAB3 18 CLC A:EB X:FF Y:FF P:E5 SP:F9 CYC:305 SL:149
FAB4 A9 40 LDA #$40 A:EB X:FF Y:FF P:E4 SP:F9 CYC:311 SL:149
FAB6 60 RTS A:40 X:FF Y:FF P:64 SP:F9 CYC:317 SL:149
ED45 FB 48 05 *ISB $0548,Y @ 0647 = EB A:40 X:FF Y:FF P:64 SP:FB CYC:335 SL:149
ED48 EA NOP A:53 X:FF Y:FF P:24 SP:FB CYC: 15 SL:150
ED49 EA NOP A:53 X:FF Y:FF P:24 SP:FB CYC: 21 SL:150
ED4A 08 PHP A:53 X:FF Y:FF P:24 SP:FB CYC: 27 SL:150
ED4B 48 PHA A:53 X:FF Y:FF P:24 SP:FA CYC: 36 SL:150
ED4C A0 B9 LDY #$B9 A:53 X:FF Y:FF P:24 SP:F9 CYC: 45 SL:150
ED4E 68 PLA A:53 X:FF Y:B9 P:A4 SP:F9 CYC: 51 SL:150
ED4F 28 PLP A:53 X:FF Y:B9 P:24 SP:FA CYC: 63 SL:150
ED50 20 B7 FA JSR $FAB7 A:53 X:FF Y:B9 P:24 SP:FB CYC: 75 SL:150
FAB7 70 2D BVS $FAE6 A:53 X:FF Y:B9 P:24 SP:F9 CYC: 93 SL:150
FAB9 B0 2B BCS $FAE6 A:53 X:FF Y:B9 P:24 SP:F9 CYC: 99 SL:150
FABB 30 29 BMI $FAE6 A:53 X:FF Y:B9 P:24 SP:F9 CYC:105 SL:150
FABD C9 53 CMP #$53 A:53 X:FF Y:B9 P:24 SP:F9 CYC:111 SL:150
FABF D0 25 BNE $FAE6 A:53 X:FF Y:B9 P:27 SP:F9 CYC:117 SL:150
FAC1 60 RTS A:53 X:FF Y:B9 P:27 SP:F9 CYC:123 SL:150
ED53 AD 47 06 LDA $0647 = EC A:53 X:FF Y:B9 P:27 SP:FB CYC:141 SL:150
ED56 C9 EC CMP #$EC A:EC X:FF Y:B9 P:A5 SP:FB CYC:153 SL:150
ED58 F0 02 BEQ $ED5C A:EC X:FF Y:B9 P:27 SP:FB CYC:159 SL:150
ED5C A0 FF LDY #$FF A:EC X:FF Y:B9 P:27 SP:FB CYC:168 SL:150
ED5E A9 FF LDA #$FF A:EC X:FF Y:FF P:A5 SP:FB CYC:174 SL:150
ED60 8D 47 06 STA $0647 = EC A:FF X:FF Y:FF P:A5 SP:FB CYC:180 SL:150
ED63 20 C2 FA JSR $FAC2 A:FF X:FF Y:FF P:A5 SP:FB CYC:192 SL:150
FAC2 B8 CLV A:FF X:FF Y:FF P:A5 SP:F9 CYC:210 SL:150
FAC3 38 SEC A:FF X:FF Y:FF P:A5 SP:F9 CYC:216 SL:150
FAC4 A9 FF LDA #$FF A:FF X:FF Y:FF P:A5 SP:F9 CYC:222 SL:150
FAC6 60 RTS A:FF X:FF Y:FF P:A5 SP:F9 CYC:228 SL:150
ED66 FB 48 05 *ISB $0548,Y @ 0647 = FF A:FF X:FF Y:FF P:A5 SP:FB CYC:246 SL:150
ED69 EA NOP A:FF X:FF Y:FF P:A5 SP:FB CYC:267 SL:150
ED6A EA NOP A:FF X:FF Y:FF P:A5 SP:FB CYC:273 SL:150
ED6B 08 PHP A:FF X:FF Y:FF P:A5 SP:FB CYC:279 SL:150
ED6C 48 PHA A:FF X:FF Y:FF P:A5 SP:FA CYC:288 SL:150
ED6D A0 BA LDY #$BA A:FF X:FF Y:FF P:A5 SP:F9 CYC:297 SL:150
ED6F 68 PLA A:FF X:FF Y:BA P:A5 SP:F9 CYC:303 SL:150
ED70 28 PLP A:FF X:FF Y:BA P:A5 SP:FA CYC:315 SL:150
ED71 20 C7 FA JSR $FAC7 A:FF X:FF Y:BA P:A5 SP:FB CYC:327 SL:150
FAC7 70 1D BVS $FAE6 A:FF X:FF Y:BA P:A5 SP:F9 CYC: 4 SL:151
FAC9 F0 1B BEQ $FAE6 A:FF X:FF Y:BA P:A5 SP:F9 CYC: 10 SL:151
FACB 10 19 BPL $FAE6 A:FF X:FF Y:BA P:A5 SP:F9 CYC: 16 SL:151
FACD 90 17 BCC $FAE6 A:FF X:FF Y:BA P:A5 SP:F9 CYC: 22 SL:151
FACF C9 FF CMP #$FF A:FF X:FF Y:BA P:A5 SP:F9 CYC: 28 SL:151
FAD1 D0 13 BNE $FAE6 A:FF X:FF Y:BA P:27 SP:F9 CYC: 34 SL:151
FAD3 60 RTS A:FF X:FF Y:BA P:27 SP:F9 CYC: 40 SL:151
ED74 AD 47 06 LDA $0647 = 00 A:FF X:FF Y:BA P:27 SP:FB CYC: 58 SL:151
ED77 C9 00 CMP #$00 A:00 X:FF Y:BA P:27 SP:FB CYC: 70 SL:151
ED79 F0 02 BEQ $ED7D A:00 X:FF Y:BA P:27 SP:FB CYC: 76 SL:151
ED7D A0 FF LDY #$FF A:00 X:FF Y:BA P:27 SP:FB CYC: 85 SL:151
ED7F A9 37 LDA #$37 A:00 X:FF Y:FF P:A5 SP:FB CYC: 91 SL:151
ED81 8D 47 06 STA $0647 = 00 A:37 X:FF Y:FF P:25 SP:FB CYC: 97 SL:151
ED84 20 D4 FA JSR $FAD4 A:37 X:FF Y:FF P:25 SP:FB CYC:109 SL:151
FAD4 24 01 BIT $01 = FF A:37 X:FF Y:FF P:25 SP:F9 CYC:127 SL:151
FAD6 38 SEC A:37 X:FF Y:FF P:E5 SP:F9 CYC:136 SL:151
FAD7 A9 F0 LDA #$F0 A:37 X:FF Y:FF P:E5 SP:F9 CYC:142 SL:151
FAD9 60 RTS A:F0 X:FF Y:FF P:E5 SP:F9 CYC:148 SL:151
ED87 FB 48 05 *ISB $0548,Y @ 0647 = 37 A:F0 X:FF Y:FF P:E5 SP:FB CYC:166 SL:151
ED8A EA NOP A:B8 X:FF Y:FF P:A5 SP:FB CYC:187 SL:151
ED8B EA NOP A:B8 X:FF Y:FF P:A5 SP:FB CYC:193 SL:151
ED8C 08 PHP A:B8 X:FF Y:FF P:A5 SP:FB CYC:199 SL:151
ED8D 48 PHA A:B8 X:FF Y:FF P:A5 SP:FA CYC:208 SL:151
ED8E A0 BB LDY #$BB A:B8 X:FF Y:FF P:A5 SP:F9 CYC:217 SL:151
ED90 68 PLA A:B8 X:FF Y:BB P:A5 SP:F9 CYC:223 SL:151
ED91 28 PLP A:B8 X:FF Y:BB P:A5 SP:FA CYC:235 SL:151
ED92 20 DA FA JSR $FADA A:B8 X:FF Y:BB P:A5 SP:FB CYC:247 SL:151
FADA 70 0A BVS $FAE6 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:265 SL:151
FADC F0 08 BEQ $FAE6 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:271 SL:151
FADE 10 06 BPL $FAE6 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:277 SL:151
FAE0 90 04 BCC $FAE6 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:283 SL:151
FAE2 C9 B8 CMP #$B8 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:289 SL:151
FAE4 F0 02 BEQ $FAE8 A:B8 X:FF Y:BB P:27 SP:F9 CYC:295 SL:151
FAE8 60 RTS A:B8 X:FF Y:BB P:27 SP:F9 CYC:304 SL:151
ED95 AD 47 06 LDA $0647 = 38 A:B8 X:FF Y:BB P:27 SP:FB CYC:322 SL:151
ED98 C9 38 CMP #$38 A:38 X:FF Y:BB P:25 SP:FB CYC:334 SL:151
ED9A F0 02 BEQ $ED9E A:38 X:FF Y:BB P:27 SP:FB CYC:340 SL:151
ED9E A0 BC LDY #$BC A:38 X:FF Y:BB P:27 SP:FB CYC: 8 SL:152
EDA0 A2 FF LDX #$FF A:38 X:FF Y:BC P:A5 SP:FB CYC: 14 SL:152
EDA2 A9 EB LDA #$EB A:38 X:FF Y:BC P:A5 SP:FB CYC: 20 SL:152
EDA4 8D 47 06 STA $0647 = 38 A:EB X:FF Y:BC P:A5 SP:FB CYC: 26 SL:152
EDA7 20 B1 FA JSR $FAB1 A:EB X:FF Y:BC P:A5 SP:FB CYC: 38 SL:152
FAB1 24 01 BIT $01 = FF A:EB X:FF Y:BC P:A5 SP:F9 CYC: 56 SL:152
FAB3 18 CLC A:EB X:FF Y:BC P:E5 SP:F9 CYC: 65 SL:152
FAB4 A9 40 LDA #$40 A:EB X:FF Y:BC P:E4 SP:F9 CYC: 71 SL:152
FAB6 60 RTS A:40 X:FF Y:BC P:64 SP:F9 CYC: 77 SL:152
EDAA FF 48 05 *ISB $0548,X @ 0647 = EB A:40 X:FF Y:BC P:64 SP:FB CYC: 95 SL:152
EDAD EA NOP A:53 X:FF Y:BC P:24 SP:FB CYC:116 SL:152
EDAE EA NOP A:53 X:FF Y:BC P:24 SP:FB CYC:122 SL:152
EDAF EA NOP A:53 X:FF Y:BC P:24 SP:FB CYC:128 SL:152
EDB0 EA NOP A:53 X:FF Y:BC P:24 SP:FB CYC:134 SL:152
EDB1 20 B7 FA JSR $FAB7 A:53 X:FF Y:BC P:24 SP:FB CYC:140 SL:152
FAB7 70 2D BVS $FAE6 A:53 X:FF Y:BC P:24 SP:F9 CYC:158 SL:152
FAB9 B0 2B BCS $FAE6 A:53 X:FF Y:BC P:24 SP:F9 CYC:164 SL:152
FABB 30 29 BMI $FAE6 A:53 X:FF Y:BC P:24 SP:F9 CYC:170 SL:152
FABD C9 53 CMP #$53 A:53 X:FF Y:BC P:24 SP:F9 CYC:176 SL:152
FABF D0 25 BNE $FAE6 A:53 X:FF Y:BC P:27 SP:F9 CYC:182 SL:152
FAC1 60 RTS A:53 X:FF Y:BC P:27 SP:F9 CYC:188 SL:152
EDB4 AD 47 06 LDA $0647 = EC A:53 X:FF Y:BC P:27 SP:FB CYC:206 SL:152
EDB7 C9 EC CMP #$EC A:EC X:FF Y:BC P:A5 SP:FB CYC:218 SL:152
EDB9 F0 02 BEQ $EDBD A:EC X:FF Y:BC P:27 SP:FB CYC:224 SL:152
EDBD C8 INY A:EC X:FF Y:BC P:27 SP:FB CYC:233 SL:152
EDBE A9 FF LDA #$FF A:EC X:FF Y:BD P:A5 SP:FB CYC:239 SL:152
EDC0 8D 47 06 STA $0647 = EC A:FF X:FF Y:BD P:A5 SP:FB CYC:245 SL:152
EDC3 20 C2 FA JSR $FAC2 A:FF X:FF Y:BD P:A5 SP:FB CYC:257 SL:152
FAC2 B8 CLV A:FF X:FF Y:BD P:A5 SP:F9 CYC:275 SL:152
FAC3 38 SEC A:FF X:FF Y:BD P:A5 SP:F9 CYC:281 SL:152
FAC4 A9 FF LDA #$FF A:FF X:FF Y:BD P:A5 SP:F9 CYC:287 SL:152
FAC6 60 RTS A:FF X:FF Y:BD P:A5 SP:F9 CYC:293 SL:152
EDC6 FF 48 05 *ISB $0548,X @ 0647 = FF A:FF X:FF Y:BD P:A5 SP:FB CYC:311 SL:152
EDC9 EA NOP A:FF X:FF Y:BD P:A5 SP:FB CYC:332 SL:152
EDCA EA NOP A:FF X:FF Y:BD P:A5 SP:FB CYC:338 SL:152
EDCB EA NOP A:FF X:FF Y:BD P:A5 SP:FB CYC: 3 SL:153
EDCC EA NOP A:FF X:FF Y:BD P:A5 SP:FB CYC: 9 SL:153
EDCD 20 C7 FA JSR $FAC7 A:FF X:FF Y:BD P:A5 SP:FB CYC: 15 SL:153
FAC7 70 1D BVS $FAE6 A:FF X:FF Y:BD P:A5 SP:F9 CYC: 33 SL:153
FAC9 F0 1B BEQ $FAE6 A:FF X:FF Y:BD P:A5 SP:F9 CYC: 39 SL:153
FACB 10 19 BPL $FAE6 A:FF X:FF Y:BD P:A5 SP:F9 CYC: 45 SL:153
FACD 90 17 BCC $FAE6 A:FF X:FF Y:BD P:A5 SP:F9 CYC: 51 SL:153
FACF C9 FF CMP #$FF A:FF X:FF Y:BD P:A5 SP:F9 CYC: 57 SL:153
FAD1 D0 13 BNE $FAE6 A:FF X:FF Y:BD P:27 SP:F9 CYC: 63 SL:153
FAD3 60 RTS A:FF X:FF Y:BD P:27 SP:F9 CYC: 69 SL:153
EDD0 AD 47 06 LDA $0647 = 00 A:FF X:FF Y:BD P:27 SP:FB CYC: 87 SL:153
EDD3 C9 00 CMP #$00 A:00 X:FF Y:BD P:27 SP:FB CYC: 99 SL:153
EDD5 F0 02 BEQ $EDD9 A:00 X:FF Y:BD P:27 SP:FB CYC:105 SL:153
EDD9 C8 INY A:00 X:FF Y:BD P:27 SP:FB CYC:114 SL:153
EDDA A9 37 LDA #$37 A:00 X:FF Y:BE P:A5 SP:FB CYC:120 SL:153
EDDC 8D 47 06 STA $0647 = 00 A:37 X:FF Y:BE P:25 SP:FB CYC:126 SL:153
EDDF 20 D4 FA JSR $FAD4 A:37 X:FF Y:BE P:25 SP:FB CYC:138 SL:153
FAD4 24 01 BIT $01 = FF A:37 X:FF Y:BE P:25 SP:F9 CYC:156 SL:153
FAD6 38 SEC A:37 X:FF Y:BE P:E5 SP:F9 CYC:165 SL:153
FAD7 A9 F0 LDA #$F0 A:37 X:FF Y:BE P:E5 SP:F9 CYC:171 SL:153
FAD9 60 RTS A:F0 X:FF Y:BE P:E5 SP:F9 CYC:177 SL:153
EDE2 FF 48 05 *ISB $0548,X @ 0647 = 37 A:F0 X:FF Y:BE P:E5 SP:FB CYC:195 SL:153
EDE5 EA NOP A:B8 X:FF Y:BE P:A5 SP:FB CYC:216 SL:153
EDE6 EA NOP A:B8 X:FF Y:BE P:A5 SP:FB CYC:222 SL:153
EDE7 EA NOP A:B8 X:FF Y:BE P:A5 SP:FB CYC:228 SL:153
EDE8 EA NOP A:B8 X:FF Y:BE P:A5 SP:FB CYC:234 SL:153
EDE9 20 DA FA JSR $FADA A:B8 X:FF Y:BE P:A5 SP:FB CYC:240 SL:153
FADA 70 0A BVS $FAE6 A:B8 X:FF Y:BE P:A5 SP:F9 CYC:258 SL:153
FADC F0 08 BEQ $FAE6 A:B8 X:FF Y:BE P:A5 SP:F9 CYC:264 SL:153
FADE 10 06 BPL $FAE6 A:B8 X:FF Y:BE P:A5 SP:F9 CYC:270 SL:153
FAE0 90 04 BCC $FAE6 A:B8 X:FF Y:BE P:A5 SP:F9 CYC:276 SL:153
FAE2 C9 B8 CMP #$B8 A:B8 X:FF Y:BE P:A5 SP:F9 CYC:282 SL:153
FAE4 F0 02 BEQ $FAE8 A:B8 X:FF Y:BE P:27 SP:F9 CYC:288 SL:153
FAE8 60 RTS A:B8 X:FF Y:BE P:27 SP:F9 CYC:297 SL:153
EDEC AD 47 06 LDA $0647 = 38 A:B8 X:FF Y:BE P:27 SP:FB CYC:315 SL:153
EDEF C9 38 CMP #$38 A:38 X:FF Y:BE P:25 SP:FB CYC:327 SL:153
EDF1 F0 02 BEQ $EDF5 A:38 X:FF Y:BE P:27 SP:FB CYC:333 SL:153
EDF5 60 RTS A:38 X:FF Y:BE P:27 SP:FB CYC: 1 SL:154
C641 20 F6 ED JSR $EDF6 A:38 X:FF Y:BE P:27 SP:FD CYC: 19 SL:154
EDF6 A9 FF LDA #$FF A:38 X:FF Y:BE P:27 SP:FB CYC: 37 SL:154
EDF8 85 01 STA $01 = FF A:FF X:FF Y:BE P:A5 SP:FB CYC: 43 SL:154
EDFA A0 BF LDY #$BF A:FF X:FF Y:BE P:A5 SP:FB CYC: 52 SL:154
EDFC A2 02 LDX #$02 A:FF X:FF Y:BF P:A5 SP:FB CYC: 58 SL:154
EDFE A9 47 LDA #$47 A:FF X:02 Y:BF P:25 SP:FB CYC: 64 SL:154
EE00 85 47 STA $47 = 38 A:47 X:02 Y:BF P:25 SP:FB CYC: 70 SL:154
EE02 A9 06 LDA #$06 A:47 X:02 Y:BF P:25 SP:FB CYC: 79 SL:154
EE04 85 48 STA $48 = 06 A:06 X:02 Y:BF P:25 SP:FB CYC: 85 SL:154
EE06 A9 A5 LDA #$A5 A:06 X:02 Y:BF P:25 SP:FB CYC: 94 SL:154
EE08 8D 47 06 STA $0647 = 38 A:A5 X:02 Y:BF P:A5 SP:FB CYC:100 SL:154
EE0B 20 7B FA JSR $FA7B A:A5 X:02 Y:BF P:A5 SP:FB CYC:112 SL:154
FA7B 24 01 BIT $01 = FF A:A5 X:02 Y:BF P:A5 SP:F9 CYC:130 SL:154
FA7D 18 CLC A:A5 X:02 Y:BF P:E5 SP:F9 CYC:139 SL:154
FA7E A9 B3 LDA #$B3 A:A5 X:02 Y:BF P:E4 SP:F9 CYC:145 SL:154
FA80 60 RTS A:B3 X:02 Y:BF P:E4 SP:F9 CYC:151 SL:154
EE0E 03 45 *SLO ($45,X) @ 47 = 0647 = A5 A:B3 X:02 Y:BF P:E4 SP:FB CYC:169 SL:154
EE10 EA NOP A:FB X:02 Y:BF P:E5 SP:FB CYC:193 SL:154
EE11 EA NOP A:FB X:02 Y:BF P:E5 SP:FB CYC:199 SL:154
EE12 EA NOP A:FB X:02 Y:BF P:E5 SP:FB CYC:205 SL:154
EE13 EA NOP A:FB X:02 Y:BF P:E5 SP:FB CYC:211 SL:154
EE14 20 81 FA JSR $FA81 A:FB X:02 Y:BF P:E5 SP:FB CYC:217 SL:154
FA81 50 63 BVC $FAE6 A:FB X:02 Y:BF P:E5 SP:F9 CYC:235 SL:154
FA83 90 61 BCC $FAE6 A:FB X:02 Y:BF P:E5 SP:F9 CYC:241 SL:154
FA85 10 5F BPL $FAE6 A:FB X:02 Y:BF P:E5 SP:F9 CYC:247 SL:154
FA87 C9 FB CMP #$FB A:FB X:02 Y:BF P:E5 SP:F9 CYC:253 SL:154
FA89 D0 5B BNE $FAE6 A:FB X:02 Y:BF P:67 SP:F9 CYC:259 SL:154
FA8B 60 RTS A:FB X:02 Y:BF P:67 SP:F9 CYC:265 SL:154
EE17 AD 47 06 LDA $0647 = 4A A:FB X:02 Y:BF P:67 SP:FB CYC:283 SL:154
EE1A C9 4A CMP #$4A A:4A X:02 Y:BF P:65 SP:FB CYC:295 SL:154
EE1C F0 02 BEQ $EE20 A:4A X:02 Y:BF P:67 SP:FB CYC:301 SL:154
EE20 C8 INY A:4A X:02 Y:BF P:67 SP:FB CYC:310 SL:154
EE21 A9 29 LDA #$29 A:4A X:02 Y:C0 P:E5 SP:FB CYC:316 SL:154
EE23 8D 47 06 STA $0647 = 4A A:29 X:02 Y:C0 P:65 SP:FB CYC:322 SL:154
EE26 20 8C FA JSR $FA8C A:29 X:02 Y:C0 P:65 SP:FB CYC:334 SL:154
FA8C B8 CLV A:29 X:02 Y:C0 P:65 SP:F9 CYC: 11 SL:155
FA8D 18 CLC A:29 X:02 Y:C0 P:25 SP:F9 CYC: 17 SL:155
FA8E A9 C3 LDA #$C3 A:29 X:02 Y:C0 P:24 SP:F9 CYC: 23 SL:155
FA90 60 RTS A:C3 X:02 Y:C0 P:A4 SP:F9 CYC: 29 SL:155
EE29 03 45 *SLO ($45,X) @ 47 = 0647 = 29 A:C3 X:02 Y:C0 P:A4 SP:FB CYC: 47 SL:155
EE2B EA NOP A:D3 X:02 Y:C0 P:A4 SP:FB CYC: 71 SL:155
EE2C EA NOP A:D3 X:02 Y:C0 P:A4 SP:FB CYC: 77 SL:155
EE2D EA NOP A:D3 X:02 Y:C0 P:A4 SP:FB CYC: 83 SL:155
EE2E EA NOP A:D3 X:02 Y:C0 P:A4 SP:FB CYC: 89 SL:155
EE2F 20 91 FA JSR $FA91 A:D3 X:02 Y:C0 P:A4 SP:FB CYC: 95 SL:155
FA91 70 53 BVS $FAE6 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:113 SL:155
FA93 F0 51 BEQ $FAE6 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:119 SL:155
FA95 10 4F BPL $FAE6 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:125 SL:155
FA97 B0 4D BCS $FAE6 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:131 SL:155
FA99 C9 D3 CMP #$D3 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:137 SL:155
FA9B D0 49 BNE $FAE6 A:D3 X:02 Y:C0 P:27 SP:F9 CYC:143 SL:155
FA9D 60 RTS A:D3 X:02 Y:C0 P:27 SP:F9 CYC:149 SL:155
EE32 AD 47 06 LDA $0647 = 52 A:D3 X:02 Y:C0 P:27 SP:FB CYC:167 SL:155
EE35 C9 52 CMP #$52 A:52 X:02 Y:C0 P:25 SP:FB CYC:179 SL:155
EE37 F0 02 BEQ $EE3B A:52 X:02 Y:C0 P:27 SP:FB CYC:185 SL:155
EE3B C8 INY A:52 X:02 Y:C0 P:27 SP:FB CYC:194 SL:155
EE3C A9 37 LDA #$37 A:52 X:02 Y:C1 P:A5 SP:FB CYC:200 SL:155
EE3E 8D 47 06 STA $0647 = 52 A:37 X:02 Y:C1 P:25 SP:FB CYC:206 SL:155
EE41 20 9E FA JSR $FA9E A:37 X:02 Y:C1 P:25 SP:FB CYC:218 SL:155
FA9E 24 01 BIT $01 = FF A:37 X:02 Y:C1 P:25 SP:F9 CYC:236 SL:155
FAA0 38 SEC A:37 X:02 Y:C1 P:E5 SP:F9 CYC:245 SL:155
FAA1 A9 10 LDA #$10 A:37 X:02 Y:C1 P:E5 SP:F9 CYC:251 SL:155
FAA3 60 RTS A:10 X:02 Y:C1 P:65 SP:F9 CYC:257 SL:155
EE44 03 45 *SLO ($45,X) @ 47 = 0647 = 37 A:10 X:02 Y:C1 P:65 SP:FB CYC:275 SL:155
EE46 EA NOP A:7E X:02 Y:C1 P:64 SP:FB CYC:299 SL:155
EE47 EA NOP A:7E X:02 Y:C1 P:64 SP:FB CYC:305 SL:155
EE48 EA NOP A:7E X:02 Y:C1 P:64 SP:FB CYC:311 SL:155
EE49 EA NOP A:7E X:02 Y:C1 P:64 SP:FB CYC:317 SL:155
EE4A 20 A4 FA JSR $FAA4 A:7E X:02 Y:C1 P:64 SP:FB CYC:323 SL:155
FAA4 50 40 BVC $FAE6 A:7E X:02 Y:C1 P:64 SP:F9 CYC: 0 SL:156
FAA6 F0 3E BEQ $FAE6 A:7E X:02 Y:C1 P:64 SP:F9 CYC: 6 SL:156
FAA8 30 3C BMI $FAE6 A:7E X:02 Y:C1 P:64 SP:F9 CYC: 12 SL:156
FAAA B0 3A BCS $FAE6 A:7E X:02 Y:C1 P:64 SP:F9 CYC: 18 SL:156
FAAC C9 7E CMP #$7E A:7E X:02 Y:C1 P:64 SP:F9 CYC: 24 SL:156
FAAE D0 36 BNE $FAE6 A:7E X:02 Y:C1 P:67 SP:F9 CYC: 30 SL:156
FAB0 60 RTS A:7E X:02 Y:C1 P:67 SP:F9 CYC: 36 SL:156
EE4D AD 47 06 LDA $0647 = 6E A:7E X:02 Y:C1 P:67 SP:FB CYC: 54 SL:156
EE50 C9 6E CMP #$6E A:6E X:02 Y:C1 P:65 SP:FB CYC: 66 SL:156
EE52 F0 02 BEQ $EE56 A:6E X:02 Y:C1 P:67 SP:FB CYC: 72 SL:156
EE56 C8 INY A:6E X:02 Y:C1 P:67 SP:FB CYC: 81 SL:156
EE57 A9 A5 LDA #$A5 A:6E X:02 Y:C2 P:E5 SP:FB CYC: 87 SL:156
EE59 85 47 STA $47 = 47 A:A5 X:02 Y:C2 P:E5 SP:FB CYC: 93 SL:156
EE5B 20 7B FA JSR $FA7B A:A5 X:02 Y:C2 P:E5 SP:FB CYC:102 SL:156
FA7B 24 01 BIT $01 = FF A:A5 X:02 Y:C2 P:E5 SP:F9 CYC:120 SL:156
FA7D 18 CLC A:A5 X:02 Y:C2 P:E5 SP:F9 CYC:129 SL:156
FA7E A9 B3 LDA #$B3 A:A5 X:02 Y:C2 P:E4 SP:F9 CYC:135 SL:156
FA80 60 RTS A:B3 X:02 Y:C2 P:E4 SP:F9 CYC:141 SL:156
EE5E 07 47 *SLO $47 = A5 A:B3 X:02 Y:C2 P:E4 SP:FB CYC:159 SL:156
EE60 EA NOP A:FB X:02 Y:C2 P:E5 SP:FB CYC:174 SL:156
EE61 EA NOP A:FB X:02 Y:C2 P:E5 SP:FB CYC:180 SL:156
EE62 EA NOP A:FB X:02 Y:C2 P:E5 SP:FB CYC:186 SL:156
EE63 EA NOP A:FB X:02 Y:C2 P:E5 SP:FB CYC:192 SL:156
EE64 20 81 FA JSR $FA81 A:FB X:02 Y:C2 P:E5 SP:FB CYC:198 SL:156
FA81 50 63 BVC $FAE6 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:216 SL:156
FA83 90 61 BCC $FAE6 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:222 SL:156
FA85 10 5F BPL $FAE6 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:228 SL:156
FA87 C9 FB CMP #$FB A:FB X:02 Y:C2 P:E5 SP:F9 CYC:234 SL:156
FA89 D0 5B BNE $FAE6 A:FB X:02 Y:C2 P:67 SP:F9 CYC:240 SL:156
FA8B 60 RTS A:FB X:02 Y:C2 P:67 SP:F9 CYC:246 SL:156
EE67 A5 47 LDA $47 = 4A A:FB X:02 Y:C2 P:67 SP:FB CYC:264 SL:156
EE69 C9 4A CMP #$4A A:4A X:02 Y:C2 P:65 SP:FB CYC:273 SL:156
EE6B F0 02 BEQ $EE6F A:4A X:02 Y:C2 P:67 SP:FB CYC:279 SL:156
EE6F C8 INY A:4A X:02 Y:C2 P:67 SP:FB CYC:288 SL:156
EE70 A9 29 LDA #$29 A:4A X:02 Y:C3 P:E5 SP:FB CYC:294 SL:156
EE72 85 47 STA $47 = 4A A:29 X:02 Y:C3 P:65 SP:FB CYC:300 SL:156
EE74 20 8C FA JSR $FA8C A:29 X:02 Y:C3 P:65 SP:FB CYC:309 SL:156
FA8C B8 CLV A:29 X:02 Y:C3 P:65 SP:F9 CYC:327 SL:156
FA8D 18 CLC A:29 X:02 Y:C3 P:25 SP:F9 CYC:333 SL:156
FA8E A9 C3 LDA #$C3 A:29 X:02 Y:C3 P:24 SP:F9 CYC:339 SL:156
FA90 60 RTS A:C3 X:02 Y:C3 P:A4 SP:F9 CYC: 4 SL:157
EE77 07 47 *SLO $47 = 29 A:C3 X:02 Y:C3 P:A4 SP:FB CYC: 22 SL:157
EE79 EA NOP A:D3 X:02 Y:C3 P:A4 SP:FB CYC: 37 SL:157
EE7A EA NOP A:D3 X:02 Y:C3 P:A4 SP:FB CYC: 43 SL:157
EE7B EA NOP A:D3 X:02 Y:C3 P:A4 SP:FB CYC: 49 SL:157
EE7C EA NOP A:D3 X:02 Y:C3 P:A4 SP:FB CYC: 55 SL:157
EE7D 20 91 FA JSR $FA91 A:D3 X:02 Y:C3 P:A4 SP:FB CYC: 61 SL:157
FA91 70 53 BVS $FAE6 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC: 79 SL:157
FA93 F0 51 BEQ $FAE6 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC: 85 SL:157
FA95 10 4F BPL $FAE6 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC: 91 SL:157
FA97 B0 4D BCS $FAE6 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC: 97 SL:157
FA99 C9 D3 CMP #$D3 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:103 SL:157
FA9B D0 49 BNE $FAE6 A:D3 X:02 Y:C3 P:27 SP:F9 CYC:109 SL:157
FA9D 60 RTS A:D3 X:02 Y:C3 P:27 SP:F9 CYC:115 SL:157
EE80 A5 47 LDA $47 = 52 A:D3 X:02 Y:C3 P:27 SP:FB CYC:133 SL:157
EE82 C9 52 CMP #$52 A:52 X:02 Y:C3 P:25 SP:FB CYC:142 SL:157
EE84 F0 02 BEQ $EE88 A:52 X:02 Y:C3 P:27 SP:FB CYC:148 SL:157
EE88 C8 INY A:52 X:02 Y:C3 P:27 SP:FB CYC:157 SL:157
EE89 A9 37 LDA #$37 A:52 X:02 Y:C4 P:A5 SP:FB CYC:163 SL:157
EE8B 85 47 STA $47 = 52 A:37 X:02 Y:C4 P:25 SP:FB CYC:169 SL:157
EE8D 20 9E FA JSR $FA9E A:37 X:02 Y:C4 P:25 SP:FB CYC:178 SL:157
FA9E 24 01 BIT $01 = FF A:37 X:02 Y:C4 P:25 SP:F9 CYC:196 SL:157
FAA0 38 SEC A:37 X:02 Y:C4 P:E5 SP:F9 CYC:205 SL:157
FAA1 A9 10 LDA #$10 A:37 X:02 Y:C4 P:E5 SP:F9 CYC:211 SL:157
FAA3 60 RTS A:10 X:02 Y:C4 P:65 SP:F9 CYC:217 SL:157
EE90 07 47 *SLO $47 = 37 A:10 X:02 Y:C4 P:65 SP:FB CYC:235 SL:157
EE92 EA NOP A:7E X:02 Y:C4 P:64 SP:FB CYC:250 SL:157
EE93 EA NOP A:7E X:02 Y:C4 P:64 SP:FB CYC:256 SL:157
EE94 EA NOP A:7E X:02 Y:C4 P:64 SP:FB CYC:262 SL:157
EE95 EA NOP A:7E X:02 Y:C4 P:64 SP:FB CYC:268 SL:157
EE96 20 A4 FA JSR $FAA4 A:7E X:02 Y:C4 P:64 SP:FB CYC:274 SL:157
FAA4 50 40 BVC $FAE6 A:7E X:02 Y:C4 P:64 SP:F9 CYC:292 SL:157
FAA6 F0 3E BEQ $FAE6 A:7E X:02 Y:C4 P:64 SP:F9 CYC:298 SL:157
FAA8 30 3C BMI $FAE6 A:7E X:02 Y:C4 P:64 SP:F9 CYC:304 SL:157
FAAA B0 3A BCS $FAE6 A:7E X:02 Y:C4 P:64 SP:F9 CYC:310 SL:157
FAAC C9 7E CMP #$7E A:7E X:02 Y:C4 P:64 SP:F9 CYC:316 SL:157
FAAE D0 36 BNE $FAE6 A:7E X:02 Y:C4 P:67 SP:F9 CYC:322 SL:157
FAB0 60 RTS A:7E X:02 Y:C4 P:67 SP:F9 CYC:328 SL:157
EE99 A5 47 LDA $47 = 6E A:7E X:02 Y:C4 P:67 SP:FB CYC: 5 SL:158
EE9B C9 6E CMP #$6E A:6E X:02 Y:C4 P:65 SP:FB CYC: 14 SL:158
EE9D F0 02 BEQ $EEA1 A:6E X:02 Y:C4 P:67 SP:FB CYC: 20 SL:158
EEA1 C8 INY A:6E X:02 Y:C4 P:67 SP:FB CYC: 29 SL:158
EEA2 A9 A5 LDA #$A5 A:6E X:02 Y:C5 P:E5 SP:FB CYC: 35 SL:158
EEA4 8D 47 06 STA $0647 = 6E A:A5 X:02 Y:C5 P:E5 SP:FB CYC: 41 SL:158
EEA7 20 7B FA JSR $FA7B A:A5 X:02 Y:C5 P:E5 SP:FB CYC: 53 SL:158
FA7B 24 01 BIT $01 = FF A:A5 X:02 Y:C5 P:E5 SP:F9 CYC: 71 SL:158
FA7D 18 CLC A:A5 X:02 Y:C5 P:E5 SP:F9 CYC: 80 SL:158
FA7E A9 B3 LDA #$B3 A:A5 X:02 Y:C5 P:E4 SP:F9 CYC: 86 SL:158
FA80 60 RTS A:B3 X:02 Y:C5 P:E4 SP:F9 CYC: 92 SL:158
EEAA 0F 47 06 *SLO $0647 = A5 A:B3 X:02 Y:C5 P:E4 SP:FB CYC:110 SL:158
EEAD EA NOP A:FB X:02 Y:C5 P:E5 SP:FB CYC:128 SL:158
EEAE EA NOP A:FB X:02 Y:C5 P:E5 SP:FB CYC:134 SL:158
EEAF EA NOP A:FB X:02 Y:C5 P:E5 SP:FB CYC:140 SL:158
EEB0 EA NOP A:FB X:02 Y:C5 P:E5 SP:FB CYC:146 SL:158
EEB1 20 81 FA JSR $FA81 A:FB X:02 Y:C5 P:E5 SP:FB CYC:152 SL:158
FA81 50 63 BVC $FAE6 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:170 SL:158
FA83 90 61 BCC $FAE6 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:176 SL:158
FA85 10 5F BPL $FAE6 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:182 SL:158
FA87 C9 FB CMP #$FB A:FB X:02 Y:C5 P:E5 SP:F9 CYC:188 SL:158
FA89 D0 5B BNE $FAE6 A:FB X:02 Y:C5 P:67 SP:F9 CYC:194 SL:158
FA8B 60 RTS A:FB X:02 Y:C5 P:67 SP:F9 CYC:200 SL:158
EEB4 AD 47 06 LDA $0647 = 4A A:FB X:02 Y:C5 P:67 SP:FB CYC:218 SL:158
EEB7 C9 4A CMP #$4A A:4A X:02 Y:C5 P:65 SP:FB CYC:230 SL:158
EEB9 F0 02 BEQ $EEBD A:4A X:02 Y:C5 P:67 SP:FB CYC:236 SL:158
EEBD C8 INY A:4A X:02 Y:C5 P:67 SP:FB CYC:245 SL:158
EEBE A9 29 LDA #$29 A:4A X:02 Y:C6 P:E5 SP:FB CYC:251 SL:158
EEC0 8D 47 06 STA $0647 = 4A A:29 X:02 Y:C6 P:65 SP:FB CYC:257 SL:158
EEC3 20 8C FA JSR $FA8C A:29 X:02 Y:C6 P:65 SP:FB CYC:269 SL:158
FA8C B8 CLV A:29 X:02 Y:C6 P:65 SP:F9 CYC:287 SL:158
FA8D 18 CLC A:29 X:02 Y:C6 P:25 SP:F9 CYC:293 SL:158
FA8E A9 C3 LDA #$C3 A:29 X:02 Y:C6 P:24 SP:F9 CYC:299 SL:158
FA90 60 RTS A:C3 X:02 Y:C6 P:A4 SP:F9 CYC:305 SL:158
EEC6 0F 47 06 *SLO $0647 = 29 A:C3 X:02 Y:C6 P:A4 SP:FB CYC:323 SL:158
EEC9 EA NOP A:D3 X:02 Y:C6 P:A4 SP:FB CYC: 0 SL:159
EECA EA NOP A:D3 X:02 Y:C6 P:A4 SP:FB CYC: 6 SL:159
EECB EA NOP A:D3 X:02 Y:C6 P:A4 SP:FB CYC: 12 SL:159
EECC EA NOP A:D3 X:02 Y:C6 P:A4 SP:FB CYC: 18 SL:159
EECD 20 91 FA JSR $FA91 A:D3 X:02 Y:C6 P:A4 SP:FB CYC: 24 SL:159
FA91 70 53 BVS $FAE6 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC: 42 SL:159
FA93 F0 51 BEQ $FAE6 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC: 48 SL:159
FA95 10 4F BPL $FAE6 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC: 54 SL:159
FA97 B0 4D BCS $FAE6 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC: 60 SL:159
FA99 C9 D3 CMP #$D3 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC: 66 SL:159
FA9B D0 49 BNE $FAE6 A:D3 X:02 Y:C6 P:27 SP:F9 CYC: 72 SL:159
FA9D 60 RTS A:D3 X:02 Y:C6 P:27 SP:F9 CYC: 78 SL:159
EED0 AD 47 06 LDA $0647 = 52 A:D3 X:02 Y:C6 P:27 SP:FB CYC: 96 SL:159
EED3 C9 52 CMP #$52 A:52 X:02 Y:C6 P:25 SP:FB CYC:108 SL:159
EED5 F0 02 BEQ $EED9 A:52 X:02 Y:C6 P:27 SP:FB CYC:114 SL:159
EED9 C8 INY A:52 X:02 Y:C6 P:27 SP:FB CYC:123 SL:159
EEDA A9 37 LDA #$37 A:52 X:02 Y:C7 P:A5 SP:FB CYC:129 SL:159
EEDC 8D 47 06 STA $0647 = 52 A:37 X:02 Y:C7 P:25 SP:FB CYC:135 SL:159
EEDF 20 9E FA JSR $FA9E A:37 X:02 Y:C7 P:25 SP:FB CYC:147 SL:159
FA9E 24 01 BIT $01 = FF A:37 X:02 Y:C7 P:25 SP:F9 CYC:165 SL:159
FAA0 38 SEC A:37 X:02 Y:C7 P:E5 SP:F9 CYC:174 SL:159
FAA1 A9 10 LDA #$10 A:37 X:02 Y:C7 P:E5 SP:F9 CYC:180 SL:159
FAA3 60 RTS A:10 X:02 Y:C7 P:65 SP:F9 CYC:186 SL:159
EEE2 0F 47 06 *SLO $0647 = 37 A:10 X:02 Y:C7 P:65 SP:FB CYC:204 SL:159
EEE5 EA NOP A:7E X:02 Y:C7 P:64 SP:FB CYC:222 SL:159
EEE6 EA NOP A:7E X:02 Y:C7 P:64 SP:FB CYC:228 SL:159
EEE7 EA NOP A:7E X:02 Y:C7 P:64 SP:FB CYC:234 SL:159
EEE8 EA NOP A:7E X:02 Y:C7 P:64 SP:FB CYC:240 SL:159
EEE9 20 A4 FA JSR $FAA4 A:7E X:02 Y:C7 P:64 SP:FB CYC:246 SL:159
FAA4 50 40 BVC $FAE6 A:7E X:02 Y:C7 P:64 SP:F9 CYC:264 SL:159
FAA6 F0 3E BEQ $FAE6 A:7E X:02 Y:C7 P:64 SP:F9 CYC:270 SL:159
FAA8 30 3C BMI $FAE6 A:7E X:02 Y:C7 P:64 SP:F9 CYC:276 SL:159
FAAA B0 3A BCS $FAE6 A:7E X:02 Y:C7 P:64 SP:F9 CYC:282 SL:159
FAAC C9 7E CMP #$7E A:7E X:02 Y:C7 P:64 SP:F9 CYC:288 SL:159
FAAE D0 36 BNE $FAE6 A:7E X:02 Y:C7 P:67 SP:F9 CYC:294 SL:159
FAB0 60 RTS A:7E X:02 Y:C7 P:67 SP:F9 CYC:300 SL:159
EEEC AD 47 06 LDA $0647 = 6E A:7E X:02 Y:C7 P:67 SP:FB CYC:318 SL:159
EEEF C9 6E CMP #$6E A:6E X:02 Y:C7 P:65 SP:FB CYC:330 SL:159
EEF1 F0 02 BEQ $EEF5 A:6E X:02 Y:C7 P:67 SP:FB CYC:336 SL:159
EEF5 A9 A5 LDA #$A5 A:6E X:02 Y:C7 P:67 SP:FB CYC: 4 SL:160
EEF7 8D 47 06 STA $0647 = 6E A:A5 X:02 Y:C7 P:E5 SP:FB CYC: 10 SL:160
EEFA A9 48 LDA #$48 A:A5 X:02 Y:C7 P:E5 SP:FB CYC: 22 SL:160
EEFC 85 45 STA $45 = 48 A:48 X:02 Y:C7 P:65 SP:FB CYC: 28 SL:160
EEFE A9 05 LDA #$05 A:48 X:02 Y:C7 P:65 SP:FB CYC: 37 SL:160
EF00 85 46 STA $46 = 05 A:05 X:02 Y:C7 P:65 SP:FB CYC: 43 SL:160
EF02 A0 FF LDY #$FF A:05 X:02 Y:C7 P:65 SP:FB CYC: 52 SL:160
EF04 20 7B FA JSR $FA7B A:05 X:02 Y:FF P:E5 SP:FB CYC: 58 SL:160
FA7B 24 01 BIT $01 = FF A:05 X:02 Y:FF P:E5 SP:F9 CYC: 76 SL:160
FA7D 18 CLC A:05 X:02 Y:FF P:E5 SP:F9 CYC: 85 SL:160
FA7E A9 B3 LDA #$B3 A:05 X:02 Y:FF P:E4 SP:F9 CYC: 91 SL:160
FA80 60 RTS A:B3 X:02 Y:FF P:E4 SP:F9 CYC: 97 SL:160
EF07 13 45 *SLO ($45),Y = 0548 @ 0647 = A5 A:B3 X:02 Y:FF P:E4 SP:FB CYC:115 SL:160
EF09 EA NOP A:FB X:02 Y:FF P:E5 SP:FB CYC:139 SL:160
EF0A EA NOP A:FB X:02 Y:FF P:E5 SP:FB CYC:145 SL:160
EF0B 08 PHP A:FB X:02 Y:FF P:E5 SP:FB CYC:151 SL:160
EF0C 48 PHA A:FB X:02 Y:FF P:E5 SP:FA CYC:160 SL:160
EF0D A0 C8 LDY #$C8 A:FB X:02 Y:FF P:E5 SP:F9 CYC:169 SL:160
EF0F 68 PLA A:FB X:02 Y:C8 P:E5 SP:F9 CYC:175 SL:160
EF10 28 PLP A:FB X:02 Y:C8 P:E5 SP:FA CYC:187 SL:160
EF11 20 81 FA JSR $FA81 A:FB X:02 Y:C8 P:E5 SP:FB CYC:199 SL:160
FA81 50 63 BVC $FAE6 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:217 SL:160
FA83 90 61 BCC $FAE6 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:223 SL:160
FA85 10 5F BPL $FAE6 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:229 SL:160
FA87 C9 FB CMP #$FB A:FB X:02 Y:C8 P:E5 SP:F9 CYC:235 SL:160
FA89 D0 5B BNE $FAE6 A:FB X:02 Y:C8 P:67 SP:F9 CYC:241 SL:160
FA8B 60 RTS A:FB X:02 Y:C8 P:67 SP:F9 CYC:247 SL:160
EF14 AD 47 06 LDA $0647 = 4A A:FB X:02 Y:C8 P:67 SP:FB CYC:265 SL:160
EF17 C9 4A CMP #$4A A:4A X:02 Y:C8 P:65 SP:FB CYC:277 SL:160
EF19 F0 02 BEQ $EF1D A:4A X:02 Y:C8 P:67 SP:FB CYC:283 SL:160
EF1D A0 FF LDY #$FF A:4A X:02 Y:C8 P:67 SP:FB CYC:292 SL:160
EF1F A9 29 LDA #$29 A:4A X:02 Y:FF P:E5 SP:FB CYC:298 SL:160
EF21 8D 47 06 STA $0647 = 4A A:29 X:02 Y:FF P:65 SP:FB CYC:304 SL:160
EF24 20 8C FA JSR $FA8C A:29 X:02 Y:FF P:65 SP:FB CYC:316 SL:160
FA8C B8 CLV A:29 X:02 Y:FF P:65 SP:F9 CYC:334 SL:160
FA8D 18 CLC A:29 X:02 Y:FF P:25 SP:F9 CYC:340 SL:160
FA8E A9 C3 LDA #$C3 A:29 X:02 Y:FF P:24 SP:F9 CYC: 5 SL:161
FA90 60 RTS A:C3 X:02 Y:FF P:A4 SP:F9 CYC: 11 SL:161
EF27 13 45 *SLO ($45),Y = 0548 @ 0647 = 29 A:C3 X:02 Y:FF P:A4 SP:FB CYC: 29 SL:161
EF29 EA NOP A:D3 X:02 Y:FF P:A4 SP:FB CYC: 53 SL:161
EF2A EA NOP A:D3 X:02 Y:FF P:A4 SP:FB CYC: 59 SL:161
EF2B 08 PHP A:D3 X:02 Y:FF P:A4 SP:FB CYC: 65 SL:161
EF2C 48 PHA A:D3 X:02 Y:FF P:A4 SP:FA CYC: 74 SL:161
EF2D A0 C9 LDY #$C9 A:D3 X:02 Y:FF P:A4 SP:F9 CYC: 83 SL:161
EF2F 68 PLA A:D3 X:02 Y:C9 P:A4 SP:F9 CYC: 89 SL:161
EF30 28 PLP A:D3 X:02 Y:C9 P:A4 SP:FA CYC:101 SL:161
EF31 20 91 FA JSR $FA91 A:D3 X:02 Y:C9 P:A4 SP:FB CYC:113 SL:161
FA91 70 53 BVS $FAE6 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:131 SL:161
FA93 F0 51 BEQ $FAE6 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:137 SL:161
FA95 10 4F BPL $FAE6 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:143 SL:161
FA97 B0 4D BCS $FAE6 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:149 SL:161
FA99 C9 D3 CMP #$D3 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:155 SL:161
FA9B D0 49 BNE $FAE6 A:D3 X:02 Y:C9 P:27 SP:F9 CYC:161 SL:161
FA9D 60 RTS A:D3 X:02 Y:C9 P:27 SP:F9 CYC:167 SL:161
EF34 AD 47 06 LDA $0647 = 52 A:D3 X:02 Y:C9 P:27 SP:FB CYC:185 SL:161
EF37 C9 52 CMP #$52 A:52 X:02 Y:C9 P:25 SP:FB CYC:197 SL:161
EF39 F0 02 BEQ $EF3D A:52 X:02 Y:C9 P:27 SP:FB CYC:203 SL:161
EF3D A0 FF LDY #$FF A:52 X:02 Y:C9 P:27 SP:FB CYC:212 SL:161
EF3F A9 37 LDA #$37 A:52 X:02 Y:FF P:A5 SP:FB CYC:218 SL:161
EF41 8D 47 06 STA $0647 = 52 A:37 X:02 Y:FF P:25 SP:FB CYC:224 SL:161
EF44 20 9E FA JSR $FA9E A:37 X:02 Y:FF P:25 SP:FB CYC:236 SL:161
FA9E 24 01 BIT $01 = FF A:37 X:02 Y:FF P:25 SP:F9 CYC:254 SL:161
FAA0 38 SEC A:37 X:02 Y:FF P:E5 SP:F9 CYC:263 SL:161
FAA1 A9 10 LDA #$10 A:37 X:02 Y:FF P:E5 SP:F9 CYC:269 SL:161
FAA3 60 RTS A:10 X:02 Y:FF P:65 SP:F9 CYC:275 SL:161
EF47 13 45 *SLO ($45),Y = 0548 @ 0647 = 37 A:10 X:02 Y:FF P:65 SP:FB CYC:293 SL:161
EF49 EA NOP A:7E X:02 Y:FF P:64 SP:FB CYC:317 SL:161
EF4A EA NOP A:7E X:02 Y:FF P:64 SP:FB CYC:323 SL:161
EF4B 08 PHP A:7E X:02 Y:FF P:64 SP:FB CYC:329 SL:161
EF4C 48 PHA A:7E X:02 Y:FF P:64 SP:FA CYC:338 SL:161
EF4D A0 CA LDY #$CA A:7E X:02 Y:FF P:64 SP:F9 CYC: 6 SL:162
EF4F 68 PLA A:7E X:02 Y:CA P:E4 SP:F9 CYC: 12 SL:162
EF50 28 PLP A:7E X:02 Y:CA P:64 SP:FA CYC: 24 SL:162
EF51 20 A4 FA JSR $FAA4 A:7E X:02 Y:CA P:64 SP:FB CYC: 36 SL:162
FAA4 50 40 BVC $FAE6 A:7E X:02 Y:CA P:64 SP:F9 CYC: 54 SL:162
FAA6 F0 3E BEQ $FAE6 A:7E X:02 Y:CA P:64 SP:F9 CYC: 60 SL:162
FAA8 30 3C BMI $FAE6 A:7E X:02 Y:CA P:64 SP:F9 CYC: 66 SL:162
FAAA B0 3A BCS $FAE6 A:7E X:02 Y:CA P:64 SP:F9 CYC: 72 SL:162
FAAC C9 7E CMP #$7E A:7E X:02 Y:CA P:64 SP:F9 CYC: 78 SL:162
FAAE D0 36 BNE $FAE6 A:7E X:02 Y:CA P:67 SP:F9 CYC: 84 SL:162
FAB0 60 RTS A:7E X:02 Y:CA P:67 SP:F9 CYC: 90 SL:162
EF54 AD 47 06 LDA $0647 = 6E A:7E X:02 Y:CA P:67 SP:FB CYC:108 SL:162
EF57 C9 6E CMP #$6E A:6E X:02 Y:CA P:65 SP:FB CYC:120 SL:162
EF59 F0 02 BEQ $EF5D A:6E X:02 Y:CA P:67 SP:FB CYC:126 SL:162
EF5D A0 CB LDY #$CB A:6E X:02 Y:CA P:67 SP:FB CYC:135 SL:162
EF5F A2 FF LDX #$FF A:6E X:02 Y:CB P:E5 SP:FB CYC:141 SL:162
EF61 A9 A5 LDA #$A5 A:6E X:FF Y:CB P:E5 SP:FB CYC:147 SL:162
EF63 85 47 STA $47 = 6E A:A5 X:FF Y:CB P:E5 SP:FB CYC:153 SL:162
EF65 20 7B FA JSR $FA7B A:A5 X:FF Y:CB P:E5 SP:FB CYC:162 SL:162
FA7B 24 01 BIT $01 = FF A:A5 X:FF Y:CB P:E5 SP:F9 CYC:180 SL:162
FA7D 18 CLC A:A5 X:FF Y:CB P:E5 SP:F9 CYC:189 SL:162
FA7E A9 B3 LDA #$B3 A:A5 X:FF Y:CB P:E4 SP:F9 CYC:195 SL:162
FA80 60 RTS A:B3 X:FF Y:CB P:E4 SP:F9 CYC:201 SL:162
EF68 17 48 *SLO $48,X @ 47 = A5 A:B3 X:FF Y:CB P:E4 SP:FB CYC:219 SL:162
EF6A EA NOP A:FB X:FF Y:CB P:E5 SP:FB CYC:237 SL:162
EF6B EA NOP A:FB X:FF Y:CB P:E5 SP:FB CYC:243 SL:162
EF6C EA NOP A:FB X:FF Y:CB P:E5 SP:FB CYC:249 SL:162
EF6D EA NOP A:FB X:FF Y:CB P:E5 SP:FB CYC:255 SL:162
EF6E 20 81 FA JSR $FA81 A:FB X:FF Y:CB P:E5 SP:FB CYC:261 SL:162
FA81 50 63 BVC $FAE6 A:FB X:FF Y:CB P:E5 SP:F9 CYC:279 SL:162
FA83 90 61 BCC $FAE6 A:FB X:FF Y:CB P:E5 SP:F9 CYC:285 SL:162
FA85 10 5F BPL $FAE6 A:FB X:FF Y:CB P:E5 SP:F9 CYC:291 SL:162
FA87 C9 FB CMP #$FB A:FB X:FF Y:CB P:E5 SP:F9 CYC:297 SL:162
FA89 D0 5B BNE $FAE6 A:FB X:FF Y:CB P:67 SP:F9 CYC:303 SL:162
FA8B 60 RTS A:FB X:FF Y:CB P:67 SP:F9 CYC:309 SL:162
EF71 A5 47 LDA $47 = 4A A:FB X:FF Y:CB P:67 SP:FB CYC:327 SL:162
EF73 C9 4A CMP #$4A A:4A X:FF Y:CB P:65 SP:FB CYC:336 SL:162
EF75 F0 02 BEQ $EF79 A:4A X:FF Y:CB P:67 SP:FB CYC: 1 SL:163
EF79 C8 INY A:4A X:FF Y:CB P:67 SP:FB CYC: 10 SL:163
EF7A A9 29 LDA #$29 A:4A X:FF Y:CC P:E5 SP:FB CYC: 16 SL:163
EF7C 85 47 STA $47 = 4A A:29 X:FF Y:CC P:65 SP:FB CYC: 22 SL:163
EF7E 20 8C FA JSR $FA8C A:29 X:FF Y:CC P:65 SP:FB CYC: 31 SL:163
FA8C B8 CLV A:29 X:FF Y:CC P:65 SP:F9 CYC: 49 SL:163
FA8D 18 CLC A:29 X:FF Y:CC P:25 SP:F9 CYC: 55 SL:163
FA8E A9 C3 LDA #$C3 A:29 X:FF Y:CC P:24 SP:F9 CYC: 61 SL:163
FA90 60 RTS A:C3 X:FF Y:CC P:A4 SP:F9 CYC: 67 SL:163
EF81 17 48 *SLO $48,X @ 47 = 29 A:C3 X:FF Y:CC P:A4 SP:FB CYC: 85 SL:163
EF83 EA NOP A:D3 X:FF Y:CC P:A4 SP:FB CYC:103 SL:163
EF84 EA NOP A:D3 X:FF Y:CC P:A4 SP:FB CYC:109 SL:163
EF85 EA NOP A:D3 X:FF Y:CC P:A4 SP:FB CYC:115 SL:163
EF86 EA NOP A:D3 X:FF Y:CC P:A4 SP:FB CYC:121 SL:163
EF87 20 91 FA JSR $FA91 A:D3 X:FF Y:CC P:A4 SP:FB CYC:127 SL:163
FA91 70 53 BVS $FAE6 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:145 SL:163
FA93 F0 51 BEQ $FAE6 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:151 SL:163
FA95 10 4F BPL $FAE6 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:157 SL:163
FA97 B0 4D BCS $FAE6 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:163 SL:163
FA99 C9 D3 CMP #$D3 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:169 SL:163
FA9B D0 49 BNE $FAE6 A:D3 X:FF Y:CC P:27 SP:F9 CYC:175 SL:163
FA9D 60 RTS A:D3 X:FF Y:CC P:27 SP:F9 CYC:181 SL:163
EF8A A5 47 LDA $47 = 52 A:D3 X:FF Y:CC P:27 SP:FB CYC:199 SL:163
EF8C C9 52 CMP #$52 A:52 X:FF Y:CC P:25 SP:FB CYC:208 SL:163
EF8E F0 02 BEQ $EF92 A:52 X:FF Y:CC P:27 SP:FB CYC:214 SL:163
EF92 C8 INY A:52 X:FF Y:CC P:27 SP:FB CYC:223 SL:163
EF93 A9 37 LDA #$37 A:52 X:FF Y:CD P:A5 SP:FB CYC:229 SL:163
EF95 85 47 STA $47 = 52 A:37 X:FF Y:CD P:25 SP:FB CYC:235 SL:163
EF97 20 9E FA JSR $FA9E A:37 X:FF Y:CD P:25 SP:FB CYC:244 SL:163
FA9E 24 01 BIT $01 = FF A:37 X:FF Y:CD P:25 SP:F9 CYC:262 SL:163
FAA0 38 SEC A:37 X:FF Y:CD P:E5 SP:F9 CYC:271 SL:163
FAA1 A9 10 LDA #$10 A:37 X:FF Y:CD P:E5 SP:F9 CYC:277 SL:163
FAA3 60 RTS A:10 X:FF Y:CD P:65 SP:F9 CYC:283 SL:163
EF9A 17 48 *SLO $48,X @ 47 = 37 A:10 X:FF Y:CD P:65 SP:FB CYC:301 SL:163
EF9C EA NOP A:7E X:FF Y:CD P:64 SP:FB CYC:319 SL:163
EF9D EA NOP A:7E X:FF Y:CD P:64 SP:FB CYC:325 SL:163
EF9E EA NOP A:7E X:FF Y:CD P:64 SP:FB CYC:331 SL:163
EF9F EA NOP A:7E X:FF Y:CD P:64 SP:FB CYC:337 SL:163
EFA0 20 A4 FA JSR $FAA4 A:7E X:FF Y:CD P:64 SP:FB CYC: 2 SL:164
FAA4 50 40 BVC $FAE6 A:7E X:FF Y:CD P:64 SP:F9 CYC: 20 SL:164
FAA6 F0 3E BEQ $FAE6 A:7E X:FF Y:CD P:64 SP:F9 CYC: 26 SL:164
FAA8 30 3C BMI $FAE6 A:7E X:FF Y:CD P:64 SP:F9 CYC: 32 SL:164
FAAA B0 3A BCS $FAE6 A:7E X:FF Y:CD P:64 SP:F9 CYC: 38 SL:164
FAAC C9 7E CMP #$7E A:7E X:FF Y:CD P:64 SP:F9 CYC: 44 SL:164
FAAE D0 36 BNE $FAE6 A:7E X:FF Y:CD P:67 SP:F9 CYC: 50 SL:164
FAB0 60 RTS A:7E X:FF Y:CD P:67 SP:F9 CYC: 56 SL:164
EFA3 A5 47 LDA $47 = 6E A:7E X:FF Y:CD P:67 SP:FB CYC: 74 SL:164
EFA5 C9 6E CMP #$6E A:6E X:FF Y:CD P:65 SP:FB CYC: 83 SL:164
EFA7 F0 02 BEQ $EFAB A:6E X:FF Y:CD P:67 SP:FB CYC: 89 SL:164
EFAB A9 A5 LDA #$A5 A:6E X:FF Y:CD P:67 SP:FB CYC: 98 SL:164
EFAD 8D 47 06 STA $0647 = 6E A:A5 X:FF Y:CD P:E5 SP:FB CYC:104 SL:164
EFB0 A0 FF LDY #$FF A:A5 X:FF Y:CD P:E5 SP:FB CYC:116 SL:164
EFB2 20 7B FA JSR $FA7B A:A5 X:FF Y:FF P:E5 SP:FB CYC:122 SL:164
FA7B 24 01 BIT $01 = FF A:A5 X:FF Y:FF P:E5 SP:F9 CYC:140 SL:164
FA7D 18 CLC A:A5 X:FF Y:FF P:E5 SP:F9 CYC:149 SL:164
FA7E A9 B3 LDA #$B3 A:A5 X:FF Y:FF P:E4 SP:F9 CYC:155 SL:164
FA80 60 RTS A:B3 X:FF Y:FF P:E4 SP:F9 CYC:161 SL:164
EFB5 1B 48 05 *SLO $0548,Y @ 0647 = A5 A:B3 X:FF Y:FF P:E4 SP:FB CYC:179 SL:164
EFB8 EA NOP A:FB X:FF Y:FF P:E5 SP:FB CYC:200 SL:164
EFB9 EA NOP A:FB X:FF Y:FF P:E5 SP:FB CYC:206 SL:164
EFBA 08 PHP A:FB X:FF Y:FF P:E5 SP:FB CYC:212 SL:164
EFBB 48 PHA A:FB X:FF Y:FF P:E5 SP:FA CYC:221 SL:164
EFBC A0 CE LDY #$CE A:FB X:FF Y:FF P:E5 SP:F9 CYC:230 SL:164
EFBE 68 PLA A:FB X:FF Y:CE P:E5 SP:F9 CYC:236 SL:164
EFBF 28 PLP A:FB X:FF Y:CE P:E5 SP:FA CYC:248 SL:164
EFC0 20 81 FA JSR $FA81 A:FB X:FF Y:CE P:E5 SP:FB CYC:260 SL:164
FA81 50 63 BVC $FAE6 A:FB X:FF Y:CE P:E5 SP:F9 CYC:278 SL:164
FA83 90 61 BCC $FAE6 A:FB X:FF Y:CE P:E5 SP:F9 CYC:284 SL:164
FA85 10 5F BPL $FAE6 A:FB X:FF Y:CE P:E5 SP:F9 CYC:290 SL:164
FA87 C9 FB CMP #$FB A:FB X:FF Y:CE P:E5 SP:F9 CYC:296 SL:164
FA89 D0 5B BNE $FAE6 A:FB X:FF Y:CE P:67 SP:F9 CYC:302 SL:164
FA8B 60 RTS A:FB X:FF Y:CE P:67 SP:F9 CYC:308 SL:164
EFC3 AD 47 06 LDA $0647 = 4A A:FB X:FF Y:CE P:67 SP:FB CYC:326 SL:164
EFC6 C9 4A CMP #$4A A:4A X:FF Y:CE P:65 SP:FB CYC:338 SL:164
EFC8 F0 02 BEQ $EFCC A:4A X:FF Y:CE P:67 SP:FB CYC: 3 SL:165
EFCC A0 FF LDY #$FF A:4A X:FF Y:CE P:67 SP:FB CYC: 12 SL:165
EFCE A9 29 LDA #$29 A:4A X:FF Y:FF P:E5 SP:FB CYC: 18 SL:165
EFD0 8D 47 06 STA $0647 = 4A A:29 X:FF Y:FF P:65 SP:FB CYC: 24 SL:165
EFD3 20 8C FA JSR $FA8C A:29 X:FF Y:FF P:65 SP:FB CYC: 36 SL:165
FA8C B8 CLV A:29 X:FF Y:FF P:65 SP:F9 CYC: 54 SL:165
FA8D 18 CLC A:29 X:FF Y:FF P:25 SP:F9 CYC: 60 SL:165
FA8E A9 C3 LDA #$C3 A:29 X:FF Y:FF P:24 SP:F9 CYC: 66 SL:165
FA90 60 RTS A:C3 X:FF Y:FF P:A4 SP:F9 CYC: 72 SL:165
EFD6 1B 48 05 *SLO $0548,Y @ 0647 = 29 A:C3 X:FF Y:FF P:A4 SP:FB CYC: 90 SL:165
EFD9 EA NOP A:D3 X:FF Y:FF P:A4 SP:FB CYC:111 SL:165
EFDA EA NOP A:D3 X:FF Y:FF P:A4 SP:FB CYC:117 SL:165
EFDB 08 PHP A:D3 X:FF Y:FF P:A4 SP:FB CYC:123 SL:165
EFDC 48 PHA A:D3 X:FF Y:FF P:A4 SP:FA CYC:132 SL:165
EFDD A0 CF LDY #$CF A:D3 X:FF Y:FF P:A4 SP:F9 CYC:141 SL:165
EFDF 68 PLA A:D3 X:FF Y:CF P:A4 SP:F9 CYC:147 SL:165
EFE0 28 PLP A:D3 X:FF Y:CF P:A4 SP:FA CYC:159 SL:165
EFE1 20 91 FA JSR $FA91 A:D3 X:FF Y:CF P:A4 SP:FB CYC:171 SL:165
FA91 70 53 BVS $FAE6 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:189 SL:165
FA93 F0 51 BEQ $FAE6 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:195 SL:165
FA95 10 4F BPL $FAE6 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:201 SL:165
FA97 B0 4D BCS $FAE6 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:207 SL:165
FA99 C9 D3 CMP #$D3 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:213 SL:165
FA9B D0 49 BNE $FAE6 A:D3 X:FF Y:CF P:27 SP:F9 CYC:219 SL:165
FA9D 60 RTS A:D3 X:FF Y:CF P:27 SP:F9 CYC:225 SL:165
EFE4 AD 47 06 LDA $0647 = 52 A:D3 X:FF Y:CF P:27 SP:FB CYC:243 SL:165
EFE7 C9 52 CMP #$52 A:52 X:FF Y:CF P:25 SP:FB CYC:255 SL:165
EFE9 F0 02 BEQ $EFED A:52 X:FF Y:CF P:27 SP:FB CYC:261 SL:165
EFED A0 FF LDY #$FF A:52 X:FF Y:CF P:27 SP:FB CYC:270 SL:165
EFEF A9 37 LDA #$37 A:52 X:FF Y:FF P:A5 SP:FB CYC:276 SL:165
EFF1 8D 47 06 STA $0647 = 52 A:37 X:FF Y:FF P:25 SP:FB CYC:282 SL:165
EFF4 20 9E FA JSR $FA9E A:37 X:FF Y:FF P:25 SP:FB CYC:294 SL:165
FA9E 24 01 BIT $01 = FF A:37 X:FF Y:FF P:25 SP:F9 CYC:312 SL:165
FAA0 38 SEC A:37 X:FF Y:FF P:E5 SP:F9 CYC:321 SL:165
FAA1 A9 10 LDA #$10 A:37 X:FF Y:FF P:E5 SP:F9 CYC:327 SL:165
FAA3 60 RTS A:10 X:FF Y:FF P:65 SP:F9 CYC:333 SL:165
EFF7 1B 48 05 *SLO $0548,Y @ 0647 = 37 A:10 X:FF Y:FF P:65 SP:FB CYC: 10 SL:166
EFFA EA NOP A:7E X:FF Y:FF P:64 SP:FB CYC: 31 SL:166
EFFB EA NOP A:7E X:FF Y:FF P:64 SP:FB CYC: 37 SL:166
EFFC 08 PHP A:7E X:FF Y:FF P:64 SP:FB CYC: 43 SL:166
EFFD 48 PHA A:7E X:FF Y:FF P:64 SP:FA CYC: 52 SL:166
EFFE A0 D0 LDY #$D0 A:7E X:FF Y:FF P:64 SP:F9 CYC: 61 SL:166
F000 68 PLA A:7E X:FF Y:D0 P:E4 SP:F9 CYC: 67 SL:166
F001 28 PLP A:7E X:FF Y:D0 P:64 SP:FA CYC: 79 SL:166
F002 20 A4 FA JSR $FAA4 A:7E X:FF Y:D0 P:64 SP:FB CYC: 91 SL:166
FAA4 50 40 BVC $FAE6 A:7E X:FF Y:D0 P:64 SP:F9 CYC:109 SL:166
FAA6 F0 3E BEQ $FAE6 A:7E X:FF Y:D0 P:64 SP:F9 CYC:115 SL:166
FAA8 30 3C BMI $FAE6 A:7E X:FF Y:D0 P:64 SP:F9 CYC:121 SL:166
FAAA B0 3A BCS $FAE6 A:7E X:FF Y:D0 P:64 SP:F9 CYC:127 SL:166
FAAC C9 7E CMP #$7E A:7E X:FF Y:D0 P:64 SP:F9 CYC:133 SL:166
FAAE D0 36 BNE $FAE6 A:7E X:FF Y:D0 P:67 SP:F9 CYC:139 SL:166
FAB0 60 RTS A:7E X:FF Y:D0 P:67 SP:F9 CYC:145 SL:166
F005 AD 47 06 LDA $0647 = 6E A:7E X:FF Y:D0 P:67 SP:FB CYC:163 SL:166
F008 C9 6E CMP #$6E A:6E X:FF Y:D0 P:65 SP:FB CYC:175 SL:166
F00A F0 02 BEQ $F00E A:6E X:FF Y:D0 P:67 SP:FB CYC:181 SL:166
F00E A0 D1 LDY #$D1 A:6E X:FF Y:D0 P:67 SP:FB CYC:190 SL:166
F010 A2 FF LDX #$FF A:6E X:FF Y:D1 P:E5 SP:FB CYC:196 SL:166
F012 A9 A5 LDA #$A5 A:6E X:FF Y:D1 P:E5 SP:FB CYC:202 SL:166
F014 8D 47 06 STA $0647 = 6E A:A5 X:FF Y:D1 P:E5 SP:FB CYC:208 SL:166
F017 20 7B FA JSR $FA7B A:A5 X:FF Y:D1 P:E5 SP:FB CYC:220 SL:166
FA7B 24 01 BIT $01 = FF A:A5 X:FF Y:D1 P:E5 SP:F9 CYC:238 SL:166
FA7D 18 CLC A:A5 X:FF Y:D1 P:E5 SP:F9 CYC:247 SL:166
FA7E A9 B3 LDA #$B3 A:A5 X:FF Y:D1 P:E4 SP:F9 CYC:253 SL:166
FA80 60 RTS A:B3 X:FF Y:D1 P:E4 SP:F9 CYC:259 SL:166
F01A 1F 48 05 *SLO $0548,X @ 0647 = A5 A:B3 X:FF Y:D1 P:E4 SP:FB CYC:277 SL:166
F01D EA NOP A:FB X:FF Y:D1 P:E5 SP:FB CYC:298 SL:166
F01E EA NOP A:FB X:FF Y:D1 P:E5 SP:FB CYC:304 SL:166
F01F EA NOP A:FB X:FF Y:D1 P:E5 SP:FB CYC:310 SL:166
F020 EA NOP A:FB X:FF Y:D1 P:E5 SP:FB CYC:316 SL:166
F021 20 81 FA JSR $FA81 A:FB X:FF Y:D1 P:E5 SP:FB CYC:322 SL:166
FA81 50 63 BVC $FAE6 A:FB X:FF Y:D1 P:E5 SP:F9 CYC:340 SL:166
FA83 90 61 BCC $FAE6 A:FB X:FF Y:D1 P:E5 SP:F9 CYC: 5 SL:167
FA85 10 5F BPL $FAE6 A:FB X:FF Y:D1 P:E5 SP:F9 CYC: 11 SL:167
FA87 C9 FB CMP #$FB A:FB X:FF Y:D1 P:E5 SP:F9 CYC: 17 SL:167
FA89 D0 5B BNE $FAE6 A:FB X:FF Y:D1 P:67 SP:F9 CYC: 23 SL:167
FA8B 60 RTS A:FB X:FF Y:D1 P:67 SP:F9 CYC: 29 SL:167
F024 AD 47 06 LDA $0647 = 4A A:FB X:FF Y:D1 P:67 SP:FB CYC: 47 SL:167
F027 C9 4A CMP #$4A A:4A X:FF Y:D1 P:65 SP:FB CYC: 59 SL:167
F029 F0 02 BEQ $F02D A:4A X:FF Y:D1 P:67 SP:FB CYC: 65 SL:167
F02D C8 INY A:4A X:FF Y:D1 P:67 SP:FB CYC: 74 SL:167
F02E A9 29 LDA #$29 A:4A X:FF Y:D2 P:E5 SP:FB CYC: 80 SL:167
F030 8D 47 06 STA $0647 = 4A A:29 X:FF Y:D2 P:65 SP:FB CYC: 86 SL:167
F033 20 8C FA JSR $FA8C A:29 X:FF Y:D2 P:65 SP:FB CYC: 98 SL:167
FA8C B8 CLV A:29 X:FF Y:D2 P:65 SP:F9 CYC:116 SL:167
FA8D 18 CLC A:29 X:FF Y:D2 P:25 SP:F9 CYC:122 SL:167
FA8E A9 C3 LDA #$C3 A:29 X:FF Y:D2 P:24 SP:F9 CYC:128 SL:167
FA90 60 RTS A:C3 X:FF Y:D2 P:A4 SP:F9 CYC:134 SL:167
F036 1F 48 05 *SLO $0548,X @ 0647 = 29 A:C3 X:FF Y:D2 P:A4 SP:FB CYC:152 SL:167
F039 EA NOP A:D3 X:FF Y:D2 P:A4 SP:FB CYC:173 SL:167
F03A EA NOP A:D3 X:FF Y:D2 P:A4 SP:FB CYC:179 SL:167
F03B EA NOP A:D3 X:FF Y:D2 P:A4 SP:FB CYC:185 SL:167
F03C EA NOP A:D3 X:FF Y:D2 P:A4 SP:FB CYC:191 SL:167
F03D 20 91 FA JSR $FA91 A:D3 X:FF Y:D2 P:A4 SP:FB CYC:197 SL:167
FA91 70 53 BVS $FAE6 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:215 SL:167
FA93 F0 51 BEQ $FAE6 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:221 SL:167
FA95 10 4F BPL $FAE6 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:227 SL:167
FA97 B0 4D BCS $FAE6 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:233 SL:167
FA99 C9 D3 CMP #$D3 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:239 SL:167
FA9B D0 49 BNE $FAE6 A:D3 X:FF Y:D2 P:27 SP:F9 CYC:245 SL:167
FA9D 60 RTS A:D3 X:FF Y:D2 P:27 SP:F9 CYC:251 SL:167
F040 AD 47 06 LDA $0647 = 52 A:D3 X:FF Y:D2 P:27 SP:FB CYC:269 SL:167
F043 C9 52 CMP #$52 A:52 X:FF Y:D2 P:25 SP:FB CYC:281 SL:167
F045 F0 02 BEQ $F049 A:52 X:FF Y:D2 P:27 SP:FB CYC:287 SL:167
F049 C8 INY A:52 X:FF Y:D2 P:27 SP:FB CYC:296 SL:167
F04A A9 37 LDA #$37 A:52 X:FF Y:D3 P:A5 SP:FB CYC:302 SL:167
F04C 8D 47 06 STA $0647 = 52 A:37 X:FF Y:D3 P:25 SP:FB CYC:308 SL:167
F04F 20 9E FA JSR $FA9E A:37 X:FF Y:D3 P:25 SP:FB CYC:320 SL:167
FA9E 24 01 BIT $01 = FF A:37 X:FF Y:D3 P:25 SP:F9 CYC:338 SL:167
FAA0 38 SEC A:37 X:FF Y:D3 P:E5 SP:F9 CYC: 6 SL:168
FAA1 A9 10 LDA #$10 A:37 X:FF Y:D3 P:E5 SP:F9 CYC: 12 SL:168
FAA3 60 RTS A:10 X:FF Y:D3 P:65 SP:F9 CYC: 18 SL:168
F052 1F 48 05 *SLO $0548,X @ 0647 = 37 A:10 X:FF Y:D3 P:65 SP:FB CYC: 36 SL:168
F055 EA NOP A:7E X:FF Y:D3 P:64 SP:FB CYC: 57 SL:168
F056 EA NOP A:7E X:FF Y:D3 P:64 SP:FB CYC: 63 SL:168
F057 EA NOP A:7E X:FF Y:D3 P:64 SP:FB CYC: 69 SL:168
F058 EA NOP A:7E X:FF Y:D3 P:64 SP:FB CYC: 75 SL:168
F059 20 A4 FA JSR $FAA4 A:7E X:FF Y:D3 P:64 SP:FB CYC: 81 SL:168
FAA4 50 40 BVC $FAE6 A:7E X:FF Y:D3 P:64 SP:F9 CYC: 99 SL:168
FAA6 F0 3E BEQ $FAE6 A:7E X:FF Y:D3 P:64 SP:F9 CYC:105 SL:168
FAA8 30 3C BMI $FAE6 A:7E X:FF Y:D3 P:64 SP:F9 CYC:111 SL:168
FAAA B0 3A BCS $FAE6 A:7E X:FF Y:D3 P:64 SP:F9 CYC:117 SL:168
FAAC C9 7E CMP #$7E A:7E X:FF Y:D3 P:64 SP:F9 CYC:123 SL:168
FAAE D0 36 BNE $FAE6 A:7E X:FF Y:D3 P:67 SP:F9 CYC:129 SL:168
FAB0 60 RTS A:7E X:FF Y:D3 P:67 SP:F9 CYC:135 SL:168
F05C AD 47 06 LDA $0647 = 6E A:7E X:FF Y:D3 P:67 SP:FB CYC:153 SL:168
F05F C9 6E CMP #$6E A:6E X:FF Y:D3 P:65 SP:FB CYC:165 SL:168
F061 F0 02 BEQ $F065 A:6E X:FF Y:D3 P:67 SP:FB CYC:171 SL:168
F065 60 RTS A:6E X:FF Y:D3 P:67 SP:FB CYC:180 SL:168
C644 20 66 F0 JSR $F066 A:6E X:FF Y:D3 P:67 SP:FD CYC:198 SL:168
F066 A9 FF LDA #$FF A:6E X:FF Y:D3 P:67 SP:FB CYC:216 SL:168
F068 85 01 STA $01 = FF A:FF X:FF Y:D3 P:E5 SP:FB CYC:222 SL:168
F06A A0 D4 LDY #$D4 A:FF X:FF Y:D3 P:E5 SP:FB CYC:231 SL:168
F06C A2 02 LDX #$02 A:FF X:FF Y:D4 P:E5 SP:FB CYC:237 SL:168
F06E A9 47 LDA #$47 A:FF X:02 Y:D4 P:65 SP:FB CYC:243 SL:168
F070 85 47 STA $47 = 6E A:47 X:02 Y:D4 P:65 SP:FB CYC:249 SL:168
F072 A9 06 LDA #$06 A:47 X:02 Y:D4 P:65 SP:FB CYC:258 SL:168
F074 85 48 STA $48 = 06 A:06 X:02 Y:D4 P:65 SP:FB CYC:264 SL:168
F076 A9 A5 LDA #$A5 A:06 X:02 Y:D4 P:65 SP:FB CYC:273 SL:168
F078 8D 47 06 STA $0647 = 6E A:A5 X:02 Y:D4 P:E5 SP:FB CYC:279 SL:168
F07B 20 53 FB JSR $FB53 A:A5 X:02 Y:D4 P:E5 SP:FB CYC:291 SL:168
FB53 24 01 BIT $01 = FF A:A5 X:02 Y:D4 P:E5 SP:F9 CYC:309 SL:168
FB55 18 CLC A:A5 X:02 Y:D4 P:E5 SP:F9 CYC:318 SL:168
FB56 A9 B3 LDA #$B3 A:A5 X:02 Y:D4 P:E4 SP:F9 CYC:324 SL:168
FB58 60 RTS A:B3 X:02 Y:D4 P:E4 SP:F9 CYC:330 SL:168
F07E 23 45 *RLA ($45,X) @ 47 = 0647 = A5 A:B3 X:02 Y:D4 P:E4 SP:FB CYC: 7 SL:169
F080 EA NOP A:02 X:02 Y:D4 P:65 SP:FB CYC: 31 SL:169
F081 EA NOP A:02 X:02 Y:D4 P:65 SP:FB CYC: 37 SL:169
F082 EA NOP A:02 X:02 Y:D4 P:65 SP:FB CYC: 43 SL:169
F083 EA NOP A:02 X:02 Y:D4 P:65 SP:FB CYC: 49 SL:169
F084 20 59 FB JSR $FB59 A:02 X:02 Y:D4 P:65 SP:FB CYC: 55 SL:169
FB59 50 1A BVC $FB75 A:02 X:02 Y:D4 P:65 SP:F9 CYC: 73 SL:169
FB5B 90 18 BCC $FB75 A:02 X:02 Y:D4 P:65 SP:F9 CYC: 79 SL:169
FB5D 30 16 BMI $FB75 A:02 X:02 Y:D4 P:65 SP:F9 CYC: 85 SL:169
FB5F C9 02 CMP #$02 A:02 X:02 Y:D4 P:65 SP:F9 CYC: 91 SL:169
FB61 D0 12 BNE $FB75 A:02 X:02 Y:D4 P:67 SP:F9 CYC: 97 SL:169
FB63 60 RTS A:02 X:02 Y:D4 P:67 SP:F9 CYC:103 SL:169
F087 AD 47 06 LDA $0647 = 4A A:02 X:02 Y:D4 P:67 SP:FB CYC:121 SL:169
F08A C9 4A CMP #$4A A:4A X:02 Y:D4 P:65 SP:FB CYC:133 SL:169
F08C F0 02 BEQ $F090 A:4A X:02 Y:D4 P:67 SP:FB CYC:139 SL:169
F090 C8 INY A:4A X:02 Y:D4 P:67 SP:FB CYC:148 SL:169
F091 A9 29 LDA #$29 A:4A X:02 Y:D5 P:E5 SP:FB CYC:154 SL:169
F093 8D 47 06 STA $0647 = 4A A:29 X:02 Y:D5 P:65 SP:FB CYC:160 SL:169
F096 20 64 FB JSR $FB64 A:29 X:02 Y:D5 P:65 SP:FB CYC:172 SL:169
FB64 B8 CLV A:29 X:02 Y:D5 P:65 SP:F9 CYC:190 SL:169
FB65 18 CLC A:29 X:02 Y:D5 P:25 SP:F9 CYC:196 SL:169
FB66 A9 42 LDA #$42 A:29 X:02 Y:D5 P:24 SP:F9 CYC:202 SL:169
FB68 60 RTS A:42 X:02 Y:D5 P:24 SP:F9 CYC:208 SL:169
F099 23 45 *RLA ($45,X) @ 47 = 0647 = 29 A:42 X:02 Y:D5 P:24 SP:FB CYC:226 SL:169
F09B EA NOP A:42 X:02 Y:D5 P:24 SP:FB CYC:250 SL:169
F09C EA NOP A:42 X:02 Y:D5 P:24 SP:FB CYC:256 SL:169
F09D EA NOP A:42 X:02 Y:D5 P:24 SP:FB CYC:262 SL:169
F09E EA NOP A:42 X:02 Y:D5 P:24 SP:FB CYC:268 SL:169
F09F 20 69 FB JSR $FB69 A:42 X:02 Y:D5 P:24 SP:FB CYC:274 SL:169
FB69 70 0A BVS $FB75 A:42 X:02 Y:D5 P:24 SP:F9 CYC:292 SL:169
FB6B F0 08 BEQ $FB75 A:42 X:02 Y:D5 P:24 SP:F9 CYC:298 SL:169
FB6D 30 06 BMI $FB75 A:42 X:02 Y:D5 P:24 SP:F9 CYC:304 SL:169
FB6F B0 04 BCS $FB75 A:42 X:02 Y:D5 P:24 SP:F9 CYC:310 SL:169
FB71 C9 42 CMP #$42 A:42 X:02 Y:D5 P:24 SP:F9 CYC:316 SL:169
FB73 F0 02 BEQ $FB77 A:42 X:02 Y:D5 P:27 SP:F9 CYC:322 SL:169
FB77 60 RTS A:42 X:02 Y:D5 P:27 SP:F9 CYC:331 SL:169
F0A2 AD 47 06 LDA $0647 = 52 A:42 X:02 Y:D5 P:27 SP:FB CYC: 8 SL:170
F0A5 C9 52 CMP #$52 A:52 X:02 Y:D5 P:25 SP:FB CYC: 20 SL:170
F0A7 F0 02 BEQ $F0AB A:52 X:02 Y:D5 P:27 SP:FB CYC: 26 SL:170
F0AB C8 INY A:52 X:02 Y:D5 P:27 SP:FB CYC: 35 SL:170
F0AC A9 37 LDA #$37 A:52 X:02 Y:D6 P:A5 SP:FB CYC: 41 SL:170
F0AE 8D 47 06 STA $0647 = 52 A:37 X:02 Y:D6 P:25 SP:FB CYC: 47 SL:170
F0B1 20 68 FA JSR $FA68 A:37 X:02 Y:D6 P:25 SP:FB CYC: 59 SL:170
FA68 24 01 BIT $01 = FF A:37 X:02 Y:D6 P:25 SP:F9 CYC: 77 SL:170
FA6A 38 SEC A:37 X:02 Y:D6 P:E5 SP:F9 CYC: 86 SL:170
FA6B A9 75 LDA #$75 A:37 X:02 Y:D6 P:E5 SP:F9 CYC: 92 SL:170
FA6D 60 RTS A:75 X:02 Y:D6 P:65 SP:F9 CYC: 98 SL:170
F0B4 23 45 *RLA ($45,X) @ 47 = 0647 = 37 A:75 X:02 Y:D6 P:65 SP:FB CYC:116 SL:170
F0B6 EA NOP A:65 X:02 Y:D6 P:64 SP:FB CYC:140 SL:170
F0B7 EA NOP A:65 X:02 Y:D6 P:64 SP:FB CYC:146 SL:170
F0B8 EA NOP A:65 X:02 Y:D6 P:64 SP:FB CYC:152 SL:170
F0B9 EA NOP A:65 X:02 Y:D6 P:64 SP:FB CYC:158 SL:170
F0BA 20 6E FA JSR $FA6E A:65 X:02 Y:D6 P:64 SP:FB CYC:164 SL:170
FA6E 50 76 BVC $FAE6 A:65 X:02 Y:D6 P:64 SP:F9 CYC:182 SL:170
FA70 F0 74 BEQ $FAE6 A:65 X:02 Y:D6 P:64 SP:F9 CYC:188 SL:170
FA72 30 72 BMI $FAE6 A:65 X:02 Y:D6 P:64 SP:F9 CYC:194 SL:170
FA74 B0 70 BCS $FAE6 A:65 X:02 Y:D6 P:64 SP:F9 CYC:200 SL:170
FA76 C9 65 CMP #$65 A:65 X:02 Y:D6 P:64 SP:F9 CYC:206 SL:170
FA78 D0 6C BNE $FAE6 A:65 X:02 Y:D6 P:67 SP:F9 CYC:212 SL:170
FA7A 60 RTS A:65 X:02 Y:D6 P:67 SP:F9 CYC:218 SL:170
F0BD AD 47 06 LDA $0647 = 6F A:65 X:02 Y:D6 P:67 SP:FB CYC:236 SL:170
F0C0 C9 6F CMP #$6F A:6F X:02 Y:D6 P:65 SP:FB CYC:248 SL:170
F0C2 F0 02 BEQ $F0C6 A:6F X:02 Y:D6 P:67 SP:FB CYC:254 SL:170
F0C6 C8 INY A:6F X:02 Y:D6 P:67 SP:FB CYC:263 SL:170
F0C7 A9 A5 LDA #$A5 A:6F X:02 Y:D7 P:E5 SP:FB CYC:269 SL:170
F0C9 85 47 STA $47 = 47 A:A5 X:02 Y:D7 P:E5 SP:FB CYC:275 SL:170
F0CB 20 53 FB JSR $FB53 A:A5 X:02 Y:D7 P:E5 SP:FB CYC:284 SL:170
FB53 24 01 BIT $01 = FF A:A5 X:02 Y:D7 P:E5 SP:F9 CYC:302 SL:170
FB55 18 CLC A:A5 X:02 Y:D7 P:E5 SP:F9 CYC:311 SL:170
FB56 A9 B3 LDA #$B3 A:A5 X:02 Y:D7 P:E4 SP:F9 CYC:317 SL:170
FB58 60 RTS A:B3 X:02 Y:D7 P:E4 SP:F9 CYC:323 SL:170
F0CE 27 47 *RLA $47 = A5 A:B3 X:02 Y:D7 P:E4 SP:FB CYC: 0 SL:171
F0D0 EA NOP A:02 X:02 Y:D7 P:65 SP:FB CYC: 15 SL:171
F0D1 EA NOP A:02 X:02 Y:D7 P:65 SP:FB CYC: 21 SL:171
F0D2 EA NOP A:02 X:02 Y:D7 P:65 SP:FB CYC: 27 SL:171
F0D3 EA NOP A:02 X:02 Y:D7 P:65 SP:FB CYC: 33 SL:171
F0D4 20 59 FB JSR $FB59 A:02 X:02 Y:D7 P:65 SP:FB CYC: 39 SL:171
FB59 50 1A BVC $FB75 A:02 X:02 Y:D7 P:65 SP:F9 CYC: 57 SL:171
FB5B 90 18 BCC $FB75 A:02 X:02 Y:D7 P:65 SP:F9 CYC: 63 SL:171
FB5D 30 16 BMI $FB75 A:02 X:02 Y:D7 P:65 SP:F9 CYC: 69 SL:171
FB5F C9 02 CMP #$02 A:02 X:02 Y:D7 P:65 SP:F9 CYC: 75 SL:171
FB61 D0 12 BNE $FB75 A:02 X:02 Y:D7 P:67 SP:F9 CYC: 81 SL:171
FB63 60 RTS A:02 X:02 Y:D7 P:67 SP:F9 CYC: 87 SL:171
F0D7 A5 47 LDA $47 = 4A A:02 X:02 Y:D7 P:67 SP:FB CYC:105 SL:171
F0D9 C9 4A CMP #$4A A:4A X:02 Y:D7 P:65 SP:FB CYC:114 SL:171
F0DB F0 02 BEQ $F0DF A:4A X:02 Y:D7 P:67 SP:FB CYC:120 SL:171
F0DF C8 INY A:4A X:02 Y:D7 P:67 SP:FB CYC:129 SL:171
F0E0 A9 29 LDA #$29 A:4A X:02 Y:D8 P:E5 SP:FB CYC:135 SL:171
F0E2 85 47 STA $47 = 4A A:29 X:02 Y:D8 P:65 SP:FB CYC:141 SL:171
F0E4 20 64 FB JSR $FB64 A:29 X:02 Y:D8 P:65 SP:FB CYC:150 SL:171
FB64 B8 CLV A:29 X:02 Y:D8 P:65 SP:F9 CYC:168 SL:171
FB65 18 CLC A:29 X:02 Y:D8 P:25 SP:F9 CYC:174 SL:171
FB66 A9 42 LDA #$42 A:29 X:02 Y:D8 P:24 SP:F9 CYC:180 SL:171
FB68 60 RTS A:42 X:02 Y:D8 P:24 SP:F9 CYC:186 SL:171
F0E7 27 47 *RLA $47 = 29 A:42 X:02 Y:D8 P:24 SP:FB CYC:204 SL:171
F0E9 EA NOP A:42 X:02 Y:D8 P:24 SP:FB CYC:219 SL:171
F0EA EA NOP A:42 X:02 Y:D8 P:24 SP:FB CYC:225 SL:171
F0EB EA NOP A:42 X:02 Y:D8 P:24 SP:FB CYC:231 SL:171
F0EC EA NOP A:42 X:02 Y:D8 P:24 SP:FB CYC:237 SL:171
F0ED 20 69 FB JSR $FB69 A:42 X:02 Y:D8 P:24 SP:FB CYC:243 SL:171
FB69 70 0A BVS $FB75 A:42 X:02 Y:D8 P:24 SP:F9 CYC:261 SL:171
FB6B F0 08 BEQ $FB75 A:42 X:02 Y:D8 P:24 SP:F9 CYC:267 SL:171
FB6D 30 06 BMI $FB75 A:42 X:02 Y:D8 P:24 SP:F9 CYC:273 SL:171
FB6F B0 04 BCS $FB75 A:42 X:02 Y:D8 P:24 SP:F9 CYC:279 SL:171
FB71 C9 42 CMP #$42 A:42 X:02 Y:D8 P:24 SP:F9 CYC:285 SL:171
FB73 F0 02 BEQ $FB77 A:42 X:02 Y:D8 P:27 SP:F9 CYC:291 SL:171
FB77 60 RTS A:42 X:02 Y:D8 P:27 SP:F9 CYC:300 SL:171
F0F0 A5 47 LDA $47 = 52 A:42 X:02 Y:D8 P:27 SP:FB CYC:318 SL:171
F0F2 C9 52 CMP #$52 A:52 X:02 Y:D8 P:25 SP:FB CYC:327 SL:171
F0F4 F0 02 BEQ $F0F8 A:52 X:02 Y:D8 P:27 SP:FB CYC:333 SL:171
F0F8 C8 INY A:52 X:02 Y:D8 P:27 SP:FB CYC: 1 SL:172
F0F9 A9 37 LDA #$37 A:52 X:02 Y:D9 P:A5 SP:FB CYC: 7 SL:172
F0FB 85 47 STA $47 = 52 A:37 X:02 Y:D9 P:25 SP:FB CYC: 13 SL:172
F0FD 20 68 FA JSR $FA68 A:37 X:02 Y:D9 P:25 SP:FB CYC: 22 SL:172
FA68 24 01 BIT $01 = FF A:37 X:02 Y:D9 P:25 SP:F9 CYC: 40 SL:172
FA6A 38 SEC A:37 X:02 Y:D9 P:E5 SP:F9 CYC: 49 SL:172
FA6B A9 75 LDA #$75 A:37 X:02 Y:D9 P:E5 SP:F9 CYC: 55 SL:172
FA6D 60 RTS A:75 X:02 Y:D9 P:65 SP:F9 CYC: 61 SL:172
F100 27 47 *RLA $47 = 37 A:75 X:02 Y:D9 P:65 SP:FB CYC: 79 SL:172
F102 EA NOP A:65 X:02 Y:D9 P:64 SP:FB CYC: 94 SL:172
F103 EA NOP A:65 X:02 Y:D9 P:64 SP:FB CYC:100 SL:172
F104 EA NOP A:65 X:02 Y:D9 P:64 SP:FB CYC:106 SL:172
F105 EA NOP A:65 X:02 Y:D9 P:64 SP:FB CYC:112 SL:172
F106 20 6E FA JSR $FA6E A:65 X:02 Y:D9 P:64 SP:FB CYC:118 SL:172
FA6E 50 76 BVC $FAE6 A:65 X:02 Y:D9 P:64 SP:F9 CYC:136 SL:172
FA70 F0 74 BEQ $FAE6 A:65 X:02 Y:D9 P:64 SP:F9 CYC:142 SL:172
FA72 30 72 BMI $FAE6 A:65 X:02 Y:D9 P:64 SP:F9 CYC:148 SL:172
FA74 B0 70 BCS $FAE6 A:65 X:02 Y:D9 P:64 SP:F9 CYC:154 SL:172
FA76 C9 65 CMP #$65 A:65 X:02 Y:D9 P:64 SP:F9 CYC:160 SL:172
FA78 D0 6C BNE $FAE6 A:65 X:02 Y:D9 P:67 SP:F9 CYC:166 SL:172
FA7A 60 RTS A:65 X:02 Y:D9 P:67 SP:F9 CYC:172 SL:172
F109 A5 47 LDA $47 = 6F A:65 X:02 Y:D9 P:67 SP:FB CYC:190 SL:172
F10B C9 6F CMP #$6F A:6F X:02 Y:D9 P:65 SP:FB CYC:199 SL:172
F10D F0 02 BEQ $F111 A:6F X:02 Y:D9 P:67 SP:FB CYC:205 SL:172
F111 C8 INY A:6F X:02 Y:D9 P:67 SP:FB CYC:214 SL:172
F112 A9 A5 LDA #$A5 A:6F X:02 Y:DA P:E5 SP:FB CYC:220 SL:172
F114 8D 47 06 STA $0647 = 6F A:A5 X:02 Y:DA P:E5 SP:FB CYC:226 SL:172
F117 20 53 FB JSR $FB53 A:A5 X:02 Y:DA P:E5 SP:FB CYC:238 SL:172
FB53 24 01 BIT $01 = FF A:A5 X:02 Y:DA P:E5 SP:F9 CYC:256 SL:172
FB55 18 CLC A:A5 X:02 Y:DA P:E5 SP:F9 CYC:265 SL:172
FB56 A9 B3 LDA #$B3 A:A5 X:02 Y:DA P:E4 SP:F9 CYC:271 SL:172
FB58 60 RTS A:B3 X:02 Y:DA P:E4 SP:F9 CYC:277 SL:172
F11A 2F 47 06 *RLA $0647 = A5 A:B3 X:02 Y:DA P:E4 SP:FB CYC:295 SL:172
F11D EA NOP A:02 X:02 Y:DA P:65 SP:FB CYC:313 SL:172
F11E EA NOP A:02 X:02 Y:DA P:65 SP:FB CYC:319 SL:172
F11F EA NOP A:02 X:02 Y:DA P:65 SP:FB CYC:325 SL:172
F120 EA NOP A:02 X:02 Y:DA P:65 SP:FB CYC:331 SL:172
F121 20 59 FB JSR $FB59 A:02 X:02 Y:DA P:65 SP:FB CYC:337 SL:172
FB59 50 1A BVC $FB75 A:02 X:02 Y:DA P:65 SP:F9 CYC: 14 SL:173
FB5B 90 18 BCC $FB75 A:02 X:02 Y:DA P:65 SP:F9 CYC: 20 SL:173
FB5D 30 16 BMI $FB75 A:02 X:02 Y:DA P:65 SP:F9 CYC: 26 SL:173
FB5F C9 02 CMP #$02 A:02 X:02 Y:DA P:65 SP:F9 CYC: 32 SL:173
FB61 D0 12 BNE $FB75 A:02 X:02 Y:DA P:67 SP:F9 CYC: 38 SL:173
FB63 60 RTS A:02 X:02 Y:DA P:67 SP:F9 CYC: 44 SL:173
F124 AD 47 06 LDA $0647 = 4A A:02 X:02 Y:DA P:67 SP:FB CYC: 62 SL:173
F127 C9 4A CMP #$4A A:4A X:02 Y:DA P:65 SP:FB CYC: 74 SL:173
F129 F0 02 BEQ $F12D A:4A X:02 Y:DA P:67 SP:FB CYC: 80 SL:173
F12D C8 INY A:4A X:02 Y:DA P:67 SP:FB CYC: 89 SL:173
F12E A9 29 LDA #$29 A:4A X:02 Y:DB P:E5 SP:FB CYC: 95 SL:173
F130 8D 47 06 STA $0647 = 4A A:29 X:02 Y:DB P:65 SP:FB CYC:101 SL:173
F133 20 64 FB JSR $FB64 A:29 X:02 Y:DB P:65 SP:FB CYC:113 SL:173
FB64 B8 CLV A:29 X:02 Y:DB P:65 SP:F9 CYC:131 SL:173
FB65 18 CLC A:29 X:02 Y:DB P:25 SP:F9 CYC:137 SL:173
FB66 A9 42 LDA #$42 A:29 X:02 Y:DB P:24 SP:F9 CYC:143 SL:173
FB68 60 RTS A:42 X:02 Y:DB P:24 SP:F9 CYC:149 SL:173
F136 2F 47 06 *RLA $0647 = 29 A:42 X:02 Y:DB P:24 SP:FB CYC:167 SL:173
F139 EA NOP A:42 X:02 Y:DB P:24 SP:FB CYC:185 SL:173
F13A EA NOP A:42 X:02 Y:DB P:24 SP:FB CYC:191 SL:173
F13B EA NOP A:42 X:02 Y:DB P:24 SP:FB CYC:197 SL:173
F13C EA NOP A:42 X:02 Y:DB P:24 SP:FB CYC:203 SL:173
F13D 20 69 FB JSR $FB69 A:42 X:02 Y:DB P:24 SP:FB CYC:209 SL:173
FB69 70 0A BVS $FB75 A:42 X:02 Y:DB P:24 SP:F9 CYC:227 SL:173
FB6B F0 08 BEQ $FB75 A:42 X:02 Y:DB P:24 SP:F9 CYC:233 SL:173
FB6D 30 06 BMI $FB75 A:42 X:02 Y:DB P:24 SP:F9 CYC:239 SL:173
FB6F B0 04 BCS $FB75 A:42 X:02 Y:DB P:24 SP:F9 CYC:245 SL:173
FB71 C9 42 CMP #$42 A:42 X:02 Y:DB P:24 SP:F9 CYC:251 SL:173
FB73 F0 02 BEQ $FB77 A:42 X:02 Y:DB P:27 SP:F9 CYC:257 SL:173
FB77 60 RTS A:42 X:02 Y:DB P:27 SP:F9 CYC:266 SL:173
F140 AD 47 06 LDA $0647 = 52 A:42 X:02 Y:DB P:27 SP:FB CYC:284 SL:173
F143 C9 52 CMP #$52 A:52 X:02 Y:DB P:25 SP:FB CYC:296 SL:173
F145 F0 02 BEQ $F149 A:52 X:02 Y:DB P:27 SP:FB CYC:302 SL:173
F149 C8 INY A:52 X:02 Y:DB P:27 SP:FB CYC:311 SL:173
F14A A9 37 LDA #$37 A:52 X:02 Y:DC P:A5 SP:FB CYC:317 SL:173
F14C 8D 47 06 STA $0647 = 52 A:37 X:02 Y:DC P:25 SP:FB CYC:323 SL:173
F14F 20 68 FA JSR $FA68 A:37 X:02 Y:DC P:25 SP:FB CYC:335 SL:173
FA68 24 01 BIT $01 = FF A:37 X:02 Y:DC P:25 SP:F9 CYC: 12 SL:174
FA6A 38 SEC A:37 X:02 Y:DC P:E5 SP:F9 CYC: 21 SL:174
FA6B A9 75 LDA #$75 A:37 X:02 Y:DC P:E5 SP:F9 CYC: 27 SL:174
FA6D 60 RTS A:75 X:02 Y:DC P:65 SP:F9 CYC: 33 SL:174
F152 2F 47 06 *RLA $0647 = 37 A:75 X:02 Y:DC P:65 SP:FB CYC: 51 SL:174
F155 EA NOP A:65 X:02 Y:DC P:64 SP:FB CYC: 69 SL:174
F156 EA NOP A:65 X:02 Y:DC P:64 SP:FB CYC: 75 SL:174
F157 EA NOP A:65 X:02 Y:DC P:64 SP:FB CYC: 81 SL:174
F158 EA NOP A:65 X:02 Y:DC P:64 SP:FB CYC: 87 SL:174
F159 20 6E FA JSR $FA6E A:65 X:02 Y:DC P:64 SP:FB CYC: 93 SL:174
FA6E 50 76 BVC $FAE6 A:65 X:02 Y:DC P:64 SP:F9 CYC:111 SL:174
FA70 F0 74 BEQ $FAE6 A:65 X:02 Y:DC P:64 SP:F9 CYC:117 SL:174
FA72 30 72 BMI $FAE6 A:65 X:02 Y:DC P:64 SP:F9 CYC:123 SL:174
FA74 B0 70 BCS $FAE6 A:65 X:02 Y:DC P:64 SP:F9 CYC:129 SL:174
FA76 C9 65 CMP #$65 A:65 X:02 Y:DC P:64 SP:F9 CYC:135 SL:174
FA78 D0 6C BNE $FAE6 A:65 X:02 Y:DC P:67 SP:F9 CYC:141 SL:174
FA7A 60 RTS A:65 X:02 Y:DC P:67 SP:F9 CYC:147 SL:174
F15C AD 47 06 LDA $0647 = 6F A:65 X:02 Y:DC P:67 SP:FB CYC:165 SL:174
F15F C9 6F CMP #$6F A:6F X:02 Y:DC P:65 SP:FB CYC:177 SL:174
F161 F0 02 BEQ $F165 A:6F X:02 Y:DC P:67 SP:FB CYC:183 SL:174
F165 A9 A5 LDA #$A5 A:6F X:02 Y:DC P:67 SP:FB CYC:192 SL:174
F167 8D 47 06 STA $0647 = 6F A:A5 X:02 Y:DC P:E5 SP:FB CYC:198 SL:174
F16A A9 48 LDA #$48 A:A5 X:02 Y:DC P:E5 SP:FB CYC:210 SL:174
F16C 85 45 STA $45 = 48 A:48 X:02 Y:DC P:65 SP:FB CYC:216 SL:174
F16E A9 05 LDA #$05 A:48 X:02 Y:DC P:65 SP:FB CYC:225 SL:174
F170 85 46 STA $46 = 05 A:05 X:02 Y:DC P:65 SP:FB CYC:231 SL:174
F172 A0 FF LDY #$FF A:05 X:02 Y:DC P:65 SP:FB CYC:240 SL:174
F174 20 53 FB JSR $FB53 A:05 X:02 Y:FF P:E5 SP:FB CYC:246 SL:174
FB53 24 01 BIT $01 = FF A:05 X:02 Y:FF P:E5 SP:F9 CYC:264 SL:174
FB55 18 CLC A:05 X:02 Y:FF P:E5 SP:F9 CYC:273 SL:174
FB56 A9 B3 LDA #$B3 A:05 X:02 Y:FF P:E4 SP:F9 CYC:279 SL:174
FB58 60 RTS A:B3 X:02 Y:FF P:E4 SP:F9 CYC:285 SL:174
F177 33 45 *RLA ($45),Y = 0548 @ 0647 = A5 A:B3 X:02 Y:FF P:E4 SP:FB CYC:303 SL:174
F179 EA NOP A:02 X:02 Y:FF P:65 SP:FB CYC:327 SL:174
F17A EA NOP A:02 X:02 Y:FF P:65 SP:FB CYC:333 SL:174
F17B 08 PHP A:02 X:02 Y:FF P:65 SP:FB CYC:339 SL:174
F17C 48 PHA A:02 X:02 Y:FF P:65 SP:FA CYC: 7 SL:175
F17D A0 DD LDY #$DD A:02 X:02 Y:FF P:65 SP:F9 CYC: 16 SL:175
F17F 68 PLA A:02 X:02 Y:DD P:E5 SP:F9 CYC: 22 SL:175
F180 28 PLP A:02 X:02 Y:DD P:65 SP:FA CYC: 34 SL:175
F181 20 59 FB JSR $FB59 A:02 X:02 Y:DD P:65 SP:FB CYC: 46 SL:175
FB59 50 1A BVC $FB75 A:02 X:02 Y:DD P:65 SP:F9 CYC: 64 SL:175
FB5B 90 18 BCC $FB75 A:02 X:02 Y:DD P:65 SP:F9 CYC: 70 SL:175
FB5D 30 16 BMI $FB75 A:02 X:02 Y:DD P:65 SP:F9 CYC: 76 SL:175
FB5F C9 02 CMP #$02 A:02 X:02 Y:DD P:65 SP:F9 CYC: 82 SL:175
FB61 D0 12 BNE $FB75 A:02 X:02 Y:DD P:67 SP:F9 CYC: 88 SL:175
FB63 60 RTS A:02 X:02 Y:DD P:67 SP:F9 CYC: 94 SL:175
F184 AD 47 06 LDA $0647 = 4A A:02 X:02 Y:DD P:67 SP:FB CYC:112 SL:175
F187 C9 4A CMP #$4A A:4A X:02 Y:DD P:65 SP:FB CYC:124 SL:175
F189 F0 02 BEQ $F18D A:4A X:02 Y:DD P:67 SP:FB CYC:130 SL:175
F18D A0 FF LDY #$FF A:4A X:02 Y:DD P:67 SP:FB CYC:139 SL:175
F18F A9 29 LDA #$29 A:4A X:02 Y:FF P:E5 SP:FB CYC:145 SL:175
F191 8D 47 06 STA $0647 = 4A A:29 X:02 Y:FF P:65 SP:FB CYC:151 SL:175
F194 20 64 FB JSR $FB64 A:29 X:02 Y:FF P:65 SP:FB CYC:163 SL:175
FB64 B8 CLV A:29 X:02 Y:FF P:65 SP:F9 CYC:181 SL:175
FB65 18 CLC A:29 X:02 Y:FF P:25 SP:F9 CYC:187 SL:175
FB66 A9 42 LDA #$42 A:29 X:02 Y:FF P:24 SP:F9 CYC:193 SL:175
FB68 60 RTS A:42 X:02 Y:FF P:24 SP:F9 CYC:199 SL:175
F197 33 45 *RLA ($45),Y = 0548 @ 0647 = 29 A:42 X:02 Y:FF P:24 SP:FB CYC:217 SL:175
F199 EA NOP A:42 X:02 Y:FF P:24 SP:FB CYC:241 SL:175
F19A EA NOP A:42 X:02 Y:FF P:24 SP:FB CYC:247 SL:175
F19B 08 PHP A:42 X:02 Y:FF P:24 SP:FB CYC:253 SL:175
F19C 48 PHA A:42 X:02 Y:FF P:24 SP:FA CYC:262 SL:175
F19D A0 DE LDY #$DE A:42 X:02 Y:FF P:24 SP:F9 CYC:271 SL:175
F19F 68 PLA A:42 X:02 Y:DE P:A4 SP:F9 CYC:277 SL:175
F1A0 28 PLP A:42 X:02 Y:DE P:24 SP:FA CYC:289 SL:175
F1A1 20 69 FB JSR $FB69 A:42 X:02 Y:DE P:24 SP:FB CYC:301 SL:175
FB69 70 0A BVS $FB75 A:42 X:02 Y:DE P:24 SP:F9 CYC:319 SL:175
FB6B F0 08 BEQ $FB75 A:42 X:02 Y:DE P:24 SP:F9 CYC:325 SL:175
FB6D 30 06 BMI $FB75 A:42 X:02 Y:DE P:24 SP:F9 CYC:331 SL:175
FB6F B0 04 BCS $FB75 A:42 X:02 Y:DE P:24 SP:F9 CYC:337 SL:175
FB71 C9 42 CMP #$42 A:42 X:02 Y:DE P:24 SP:F9 CYC: 2 SL:176
FB73 F0 02 BEQ $FB77 A:42 X:02 Y:DE P:27 SP:F9 CYC: 8 SL:176
FB77 60 RTS A:42 X:02 Y:DE P:27 SP:F9 CYC: 17 SL:176
F1A4 AD 47 06 LDA $0647 = 52 A:42 X:02 Y:DE P:27 SP:FB CYC: 35 SL:176
F1A7 C9 52 CMP #$52 A:52 X:02 Y:DE P:25 SP:FB CYC: 47 SL:176
F1A9 F0 02 BEQ $F1AD A:52 X:02 Y:DE P:27 SP:FB CYC: 53 SL:176
F1AD A0 FF LDY #$FF A:52 X:02 Y:DE P:27 SP:FB CYC: 62 SL:176
F1AF A9 37 LDA #$37 A:52 X:02 Y:FF P:A5 SP:FB CYC: 68 SL:176
F1B1 8D 47 06 STA $0647 = 52 A:37 X:02 Y:FF P:25 SP:FB CYC: 74 SL:176
F1B4 20 68 FA JSR $FA68 A:37 X:02 Y:FF P:25 SP:FB CYC: 86 SL:176
FA68 24 01 BIT $01 = FF A:37 X:02 Y:FF P:25 SP:F9 CYC:104 SL:176
FA6A 38 SEC A:37 X:02 Y:FF P:E5 SP:F9 CYC:113 SL:176
FA6B A9 75 LDA #$75 A:37 X:02 Y:FF P:E5 SP:F9 CYC:119 SL:176
FA6D 60 RTS A:75 X:02 Y:FF P:65 SP:F9 CYC:125 SL:176
F1B7 33 45 *RLA ($45),Y = 0548 @ 0647 = 37 A:75 X:02 Y:FF P:65 SP:FB CYC:143 SL:176
F1B9 EA NOP A:65 X:02 Y:FF P:64 SP:FB CYC:167 SL:176
F1BA EA NOP A:65 X:02 Y:FF P:64 SP:FB CYC:173 SL:176
F1BB 08 PHP A:65 X:02 Y:FF P:64 SP:FB CYC:179 SL:176
F1BC 48 PHA A:65 X:02 Y:FF P:64 SP:FA CYC:188 SL:176
F1BD A0 DF LDY #$DF A:65 X:02 Y:FF P:64 SP:F9 CYC:197 SL:176
F1BF 68 PLA A:65 X:02 Y:DF P:E4 SP:F9 CYC:203 SL:176
F1C0 28 PLP A:65 X:02 Y:DF P:64 SP:FA CYC:215 SL:176
F1C1 20 6E FA JSR $FA6E A:65 X:02 Y:DF P:64 SP:FB CYC:227 SL:176
FA6E 50 76 BVC $FAE6 A:65 X:02 Y:DF P:64 SP:F9 CYC:245 SL:176
FA70 F0 74 BEQ $FAE6 A:65 X:02 Y:DF P:64 SP:F9 CYC:251 SL:176
FA72 30 72 BMI $FAE6 A:65 X:02 Y:DF P:64 SP:F9 CYC:257 SL:176
FA74 B0 70 BCS $FAE6 A:65 X:02 Y:DF P:64 SP:F9 CYC:263 SL:176
FA76 C9 65 CMP #$65 A:65 X:02 Y:DF P:64 SP:F9 CYC:269 SL:176
FA78 D0 6C BNE $FAE6 A:65 X:02 Y:DF P:67 SP:F9 CYC:275 SL:176
FA7A 60 RTS A:65 X:02 Y:DF P:67 SP:F9 CYC:281 SL:176
F1C4 AD 47 06 LDA $0647 = 6F A:65 X:02 Y:DF P:67 SP:FB CYC:299 SL:176
F1C7 C9 6F CMP #$6F A:6F X:02 Y:DF P:65 SP:FB CYC:311 SL:176
F1C9 F0 02 BEQ $F1CD A:6F X:02 Y:DF P:67 SP:FB CYC:317 SL:176
F1CD A0 E0 LDY #$E0 A:6F X:02 Y:DF P:67 SP:FB CYC:326 SL:176
F1CF A2 FF LDX #$FF A:6F X:02 Y:E0 P:E5 SP:FB CYC:332 SL:176
F1D1 A9 A5 LDA #$A5 A:6F X:FF Y:E0 P:E5 SP:FB CYC:338 SL:176
F1D3 85 47 STA $47 = 6F A:A5 X:FF Y:E0 P:E5 SP:FB CYC: 3 SL:177
F1D5 20 53 FB JSR $FB53 A:A5 X:FF Y:E0 P:E5 SP:FB CYC: 12 SL:177
FB53 24 01 BIT $01 = FF A:A5 X:FF Y:E0 P:E5 SP:F9 CYC: 30 SL:177
FB55 18 CLC A:A5 X:FF Y:E0 P:E5 SP:F9 CYC: 39 SL:177
FB56 A9 B3 LDA #$B3 A:A5 X:FF Y:E0 P:E4 SP:F9 CYC: 45 SL:177
FB58 60 RTS A:B3 X:FF Y:E0 P:E4 SP:F9 CYC: 51 SL:177
F1D8 37 48 *RLA $48,X @ 47 = A5 A:B3 X:FF Y:E0 P:E4 SP:FB CYC: 69 SL:177
F1DA EA NOP A:02 X:FF Y:E0 P:65 SP:FB CYC: 87 SL:177
F1DB EA NOP A:02 X:FF Y:E0 P:65 SP:FB CYC: 93 SL:177
F1DC EA NOP A:02 X:FF Y:E0 P:65 SP:FB CYC: 99 SL:177
F1DD EA NOP A:02 X:FF Y:E0 P:65 SP:FB CYC:105 SL:177
F1DE 20 59 FB JSR $FB59 A:02 X:FF Y:E0 P:65 SP:FB CYC:111 SL:177
FB59 50 1A BVC $FB75 A:02 X:FF Y:E0 P:65 SP:F9 CYC:129 SL:177
FB5B 90 18 BCC $FB75 A:02 X:FF Y:E0 P:65 SP:F9 CYC:135 SL:177
FB5D 30 16 BMI $FB75 A:02 X:FF Y:E0 P:65 SP:F9 CYC:141 SL:177
FB5F C9 02 CMP #$02 A:02 X:FF Y:E0 P:65 SP:F9 CYC:147 SL:177
FB61 D0 12 BNE $FB75 A:02 X:FF Y:E0 P:67 SP:F9 CYC:153 SL:177
FB63 60 RTS A:02 X:FF Y:E0 P:67 SP:F9 CYC:159 SL:177
F1E1 A5 47 LDA $47 = 4A A:02 X:FF Y:E0 P:67 SP:FB CYC:177 SL:177
F1E3 C9 4A CMP #$4A A:4A X:FF Y:E0 P:65 SP:FB CYC:186 SL:177
F1E5 F0 02 BEQ $F1E9 A:4A X:FF Y:E0 P:67 SP:FB CYC:192 SL:177
F1E9 C8 INY A:4A X:FF Y:E0 P:67 SP:FB CYC:201 SL:177
F1EA A9 29 LDA #$29 A:4A X:FF Y:E1 P:E5 SP:FB CYC:207 SL:177
F1EC 85 47 STA $47 = 4A A:29 X:FF Y:E1 P:65 SP:FB CYC:213 SL:177
F1EE 20 64 FB JSR $FB64 A:29 X:FF Y:E1 P:65 SP:FB CYC:222 SL:177
FB64 B8 CLV A:29 X:FF Y:E1 P:65 SP:F9 CYC:240 SL:177
FB65 18 CLC A:29 X:FF Y:E1 P:25 SP:F9 CYC:246 SL:177
FB66 A9 42 LDA #$42 A:29 X:FF Y:E1 P:24 SP:F9 CYC:252 SL:177
FB68 60 RTS A:42 X:FF Y:E1 P:24 SP:F9 CYC:258 SL:177
F1F1 37 48 *RLA $48,X @ 47 = 29 A:42 X:FF Y:E1 P:24 SP:FB CYC:276 SL:177
F1F3 EA NOP A:42 X:FF Y:E1 P:24 SP:FB CYC:294 SL:177
F1F4 EA NOP A:42 X:FF Y:E1 P:24 SP:FB CYC:300 SL:177
F1F5 EA NOP A:42 X:FF Y:E1 P:24 SP:FB CYC:306 SL:177
F1F6 EA NOP A:42 X:FF Y:E1 P:24 SP:FB CYC:312 SL:177
F1F7 20 69 FB JSR $FB69 A:42 X:FF Y:E1 P:24 SP:FB CYC:318 SL:177
FB69 70 0A BVS $FB75 A:42 X:FF Y:E1 P:24 SP:F9 CYC:336 SL:177
FB6B F0 08 BEQ $FB75 A:42 X:FF Y:E1 P:24 SP:F9 CYC: 1 SL:178
FB6D 30 06 BMI $FB75 A:42 X:FF Y:E1 P:24 SP:F9 CYC: 7 SL:178
FB6F B0 04 BCS $FB75 A:42 X:FF Y:E1 P:24 SP:F9 CYC: 13 SL:178
FB71 C9 42 CMP #$42 A:42 X:FF Y:E1 P:24 SP:F9 CYC: 19 SL:178
FB73 F0 02 BEQ $FB77 A:42 X:FF Y:E1 P:27 SP:F9 CYC: 25 SL:178
FB77 60 RTS A:42 X:FF Y:E1 P:27 SP:F9 CYC: 34 SL:178
F1FA A5 47 LDA $47 = 52 A:42 X:FF Y:E1 P:27 SP:FB CYC: 52 SL:178
F1FC C9 52 CMP #$52 A:52 X:FF Y:E1 P:25 SP:FB CYC: 61 SL:178
F1FE F0 02 BEQ $F202 A:52 X:FF Y:E1 P:27 SP:FB CYC: 67 SL:178
F202 C8 INY A:52 X:FF Y:E1 P:27 SP:FB CYC: 76 SL:178
F203 A9 37 LDA #$37 A:52 X:FF Y:E2 P:A5 SP:FB CYC: 82 SL:178
F205 85 47 STA $47 = 52 A:37 X:FF Y:E2 P:25 SP:FB CYC: 88 SL:178
F207 20 68 FA JSR $FA68 A:37 X:FF Y:E2 P:25 SP:FB CYC: 97 SL:178
FA68 24 01 BIT $01 = FF A:37 X:FF Y:E2 P:25 SP:F9 CYC:115 SL:178
FA6A 38 SEC A:37 X:FF Y:E2 P:E5 SP:F9 CYC:124 SL:178
FA6B A9 75 LDA #$75 A:37 X:FF Y:E2 P:E5 SP:F9 CYC:130 SL:178
FA6D 60 RTS A:75 X:FF Y:E2 P:65 SP:F9 CYC:136 SL:178
F20A 37 48 *RLA $48,X @ 47 = 37 A:75 X:FF Y:E2 P:65 SP:FB CYC:154 SL:178
F20C EA NOP A:65 X:FF Y:E2 P:64 SP:FB CYC:172 SL:178
F20D EA NOP A:65 X:FF Y:E2 P:64 SP:FB CYC:178 SL:178
F20E EA NOP A:65 X:FF Y:E2 P:64 SP:FB CYC:184 SL:178
F20F EA NOP A:65 X:FF Y:E2 P:64 SP:FB CYC:190 SL:178
F210 20 6E FA JSR $FA6E A:65 X:FF Y:E2 P:64 SP:FB CYC:196 SL:178
FA6E 50 76 BVC $FAE6 A:65 X:FF Y:E2 P:64 SP:F9 CYC:214 SL:178
FA70 F0 74 BEQ $FAE6 A:65 X:FF Y:E2 P:64 SP:F9 CYC:220 SL:178
FA72 30 72 BMI $FAE6 A:65 X:FF Y:E2 P:64 SP:F9 CYC:226 SL:178
FA74 B0 70 BCS $FAE6 A:65 X:FF Y:E2 P:64 SP:F9 CYC:232 SL:178
FA76 C9 65 CMP #$65 A:65 X:FF Y:E2 P:64 SP:F9 CYC:238 SL:178
FA78 D0 6C BNE $FAE6 A:65 X:FF Y:E2 P:67 SP:F9 CYC:244 SL:178
FA7A 60 RTS A:65 X:FF Y:E2 P:67 SP:F9 CYC:250 SL:178
F213 A5 47 LDA $47 = 6F A:65 X:FF Y:E2 P:67 SP:FB CYC:268 SL:178
F215 C9 6F CMP #$6F A:6F X:FF Y:E2 P:65 SP:FB CYC:277 SL:178
F217 F0 02 BEQ $F21B A:6F X:FF Y:E2 P:67 SP:FB CYC:283 SL:178
F21B A9 A5 LDA #$A5 A:6F X:FF Y:E2 P:67 SP:FB CYC:292 SL:178
F21D 8D 47 06 STA $0647 = 6F A:A5 X:FF Y:E2 P:E5 SP:FB CYC:298 SL:178
F220 A0 FF LDY #$FF A:A5 X:FF Y:E2 P:E5 SP:FB CYC:310 SL:178
F222 20 53 FB JSR $FB53 A:A5 X:FF Y:FF P:E5 SP:FB CYC:316 SL:178
FB53 24 01 BIT $01 = FF A:A5 X:FF Y:FF P:E5 SP:F9 CYC:334 SL:178
FB55 18 CLC A:A5 X:FF Y:FF P:E5 SP:F9 CYC: 2 SL:179
FB56 A9 B3 LDA #$B3 A:A5 X:FF Y:FF P:E4 SP:F9 CYC: 8 SL:179
FB58 60 RTS A:B3 X:FF Y:FF P:E4 SP:F9 CYC: 14 SL:179
F225 3B 48 05 *RLA $0548,Y @ 0647 = A5 A:B3 X:FF Y:FF P:E4 SP:FB CYC: 32 SL:179
F228 EA NOP A:02 X:FF Y:FF P:65 SP:FB CYC: 53 SL:179
F229 EA NOP A:02 X:FF Y:FF P:65 SP:FB CYC: 59 SL:179
F22A 08 PHP A:02 X:FF Y:FF P:65 SP:FB CYC: 65 SL:179
F22B 48 PHA A:02 X:FF Y:FF P:65 SP:FA CYC: 74 SL:179
F22C A0 E3 LDY #$E3 A:02 X:FF Y:FF P:65 SP:F9 CYC: 83 SL:179
F22E 68 PLA A:02 X:FF Y:E3 P:E5 SP:F9 CYC: 89 SL:179
F22F 28 PLP A:02 X:FF Y:E3 P:65 SP:FA CYC:101 SL:179
F230 20 59 FB JSR $FB59 A:02 X:FF Y:E3 P:65 SP:FB CYC:113 SL:179
FB59 50 1A BVC $FB75 A:02 X:FF Y:E3 P:65 SP:F9 CYC:131 SL:179
FB5B 90 18 BCC $FB75 A:02 X:FF Y:E3 P:65 SP:F9 CYC:137 SL:179
FB5D 30 16 BMI $FB75 A:02 X:FF Y:E3 P:65 SP:F9 CYC:143 SL:179
FB5F C9 02 CMP #$02 A:02 X:FF Y:E3 P:65 SP:F9 CYC:149 SL:179
FB61 D0 12 BNE $FB75 A:02 X:FF Y:E3 P:67 SP:F9 CYC:155 SL:179
FB63 60 RTS A:02 X:FF Y:E3 P:67 SP:F9 CYC:161 SL:179
F233 AD 47 06 LDA $0647 = 4A A:02 X:FF Y:E3 P:67 SP:FB CYC:179 SL:179
F236 C9 4A CMP #$4A A:4A X:FF Y:E3 P:65 SP:FB CYC:191 SL:179
F238 F0 02 BEQ $F23C A:4A X:FF Y:E3 P:67 SP:FB CYC:197 SL:179
F23C A0 FF LDY #$FF A:4A X:FF Y:E3 P:67 SP:FB CYC:206 SL:179
F23E A9 29 LDA #$29 A:4A X:FF Y:FF P:E5 SP:FB CYC:212 SL:179
F240 8D 47 06 STA $0647 = 4A A:29 X:FF Y:FF P:65 SP:FB CYC:218 SL:179
F243 20 64 FB JSR $FB64 A:29 X:FF Y:FF P:65 SP:FB CYC:230 SL:179
FB64 B8 CLV A:29 X:FF Y:FF P:65 SP:F9 CYC:248 SL:179
FB65 18 CLC A:29 X:FF Y:FF P:25 SP:F9 CYC:254 SL:179
FB66 A9 42 LDA #$42 A:29 X:FF Y:FF P:24 SP:F9 CYC:260 SL:179
FB68 60 RTS A:42 X:FF Y:FF P:24 SP:F9 CYC:266 SL:179
F246 3B 48 05 *RLA $0548,Y @ 0647 = 29 A:42 X:FF Y:FF P:24 SP:FB CYC:284 SL:179
F249 EA NOP A:42 X:FF Y:FF P:24 SP:FB CYC:305 SL:179
F24A EA NOP A:42 X:FF Y:FF P:24 SP:FB CYC:311 SL:179
F24B 08 PHP A:42 X:FF Y:FF P:24 SP:FB CYC:317 SL:179
F24C 48 PHA A:42 X:FF Y:FF P:24 SP:FA CYC:326 SL:179
F24D A0 E4 LDY #$E4 A:42 X:FF Y:FF P:24 SP:F9 CYC:335 SL:179
F24F 68 PLA A:42 X:FF Y:E4 P:A4 SP:F9 CYC: 0 SL:180
F250 28 PLP A:42 X:FF Y:E4 P:24 SP:FA CYC: 12 SL:180
F251 20 69 FB JSR $FB69 A:42 X:FF Y:E4 P:24 SP:FB CYC: 24 SL:180
FB69 70 0A BVS $FB75 A:42 X:FF Y:E4 P:24 SP:F9 CYC: 42 SL:180
FB6B F0 08 BEQ $FB75 A:42 X:FF Y:E4 P:24 SP:F9 CYC: 48 SL:180
FB6D 30 06 BMI $FB75 A:42 X:FF Y:E4 P:24 SP:F9 CYC: 54 SL:180
FB6F B0 04 BCS $FB75 A:42 X:FF Y:E4 P:24 SP:F9 CYC: 60 SL:180
FB71 C9 42 CMP #$42 A:42 X:FF Y:E4 P:24 SP:F9 CYC: 66 SL:180
FB73 F0 02 BEQ $FB77 A:42 X:FF Y:E4 P:27 SP:F9 CYC: 72 SL:180
FB77 60 RTS A:42 X:FF Y:E4 P:27 SP:F9 CYC: 81 SL:180
F254 AD 47 06 LDA $0647 = 52 A:42 X:FF Y:E4 P:27 SP:FB CYC: 99 SL:180
F257 C9 52 CMP #$52 A:52 X:FF Y:E4 P:25 SP:FB CYC:111 SL:180
F259 F0 02 BEQ $F25D A:52 X:FF Y:E4 P:27 SP:FB CYC:117 SL:180
F25D A0 FF LDY #$FF A:52 X:FF Y:E4 P:27 SP:FB CYC:126 SL:180
F25F A9 37 LDA #$37 A:52 X:FF Y:FF P:A5 SP:FB CYC:132 SL:180
F261 8D 47 06 STA $0647 = 52 A:37 X:FF Y:FF P:25 SP:FB CYC:138 SL:180
F264 20 68 FA JSR $FA68 A:37 X:FF Y:FF P:25 SP:FB CYC:150 SL:180
FA68 24 01 BIT $01 = FF A:37 X:FF Y:FF P:25 SP:F9 CYC:168 SL:180
FA6A 38 SEC A:37 X:FF Y:FF P:E5 SP:F9 CYC:177 SL:180
FA6B A9 75 LDA #$75 A:37 X:FF Y:FF P:E5 SP:F9 CYC:183 SL:180
FA6D 60 RTS A:75 X:FF Y:FF P:65 SP:F9 CYC:189 SL:180
F267 3B 48 05 *RLA $0548,Y @ 0647 = 37 A:75 X:FF Y:FF P:65 SP:FB CYC:207 SL:180
F26A EA NOP A:65 X:FF Y:FF P:64 SP:FB CYC:228 SL:180
F26B EA NOP A:65 X:FF Y:FF P:64 SP:FB CYC:234 SL:180
F26C 08 PHP A:65 X:FF Y:FF P:64 SP:FB CYC:240 SL:180
F26D 48 PHA A:65 X:FF Y:FF P:64 SP:FA CYC:249 SL:180
F26E A0 E5 LDY #$E5 A:65 X:FF Y:FF P:64 SP:F9 CYC:258 SL:180
F270 68 PLA A:65 X:FF Y:E5 P:E4 SP:F9 CYC:264 SL:180
F271 28 PLP A:65 X:FF Y:E5 P:64 SP:FA CYC:276 SL:180
F272 20 6E FA JSR $FA6E A:65 X:FF Y:E5 P:64 SP:FB CYC:288 SL:180
FA6E 50 76 BVC $FAE6 A:65 X:FF Y:E5 P:64 SP:F9 CYC:306 SL:180
FA70 F0 74 BEQ $FAE6 A:65 X:FF Y:E5 P:64 SP:F9 CYC:312 SL:180
FA72 30 72 BMI $FAE6 A:65 X:FF Y:E5 P:64 SP:F9 CYC:318 SL:180
FA74 B0 70 BCS $FAE6 A:65 X:FF Y:E5 P:64 SP:F9 CYC:324 SL:180
FA76 C9 65 CMP #$65 A:65 X:FF Y:E5 P:64 SP:F9 CYC:330 SL:180
FA78 D0 6C BNE $FAE6 A:65 X:FF Y:E5 P:67 SP:F9 CYC:336 SL:180
FA7A 60 RTS A:65 X:FF Y:E5 P:67 SP:F9 CYC: 1 SL:181
F275 AD 47 06 LDA $0647 = 6F A:65 X:FF Y:E5 P:67 SP:FB CYC: 19 SL:181
F278 C9 6F CMP #$6F A:6F X:FF Y:E5 P:65 SP:FB CYC: 31 SL:181
F27A F0 02 BEQ $F27E A:6F X:FF Y:E5 P:67 SP:FB CYC: 37 SL:181
F27E A0 E6 LDY #$E6 A:6F X:FF Y:E5 P:67 SP:FB CYC: 46 SL:181
F280 A2 FF LDX #$FF A:6F X:FF Y:E6 P:E5 SP:FB CYC: 52 SL:181
F282 A9 A5 LDA #$A5 A:6F X:FF Y:E6 P:E5 SP:FB CYC: 58 SL:181
F284 8D 47 06 STA $0647 = 6F A:A5 X:FF Y:E6 P:E5 SP:FB CYC: 64 SL:181
F287 20 53 FB JSR $FB53 A:A5 X:FF Y:E6 P:E5 SP:FB CYC: 76 SL:181
FB53 24 01 BIT $01 = FF A:A5 X:FF Y:E6 P:E5 SP:F9 CYC: 94 SL:181
FB55 18 CLC A:A5 X:FF Y:E6 P:E5 SP:F9 CYC:103 SL:181
FB56 A9 B3 LDA #$B3 A:A5 X:FF Y:E6 P:E4 SP:F9 CYC:109 SL:181
FB58 60 RTS A:B3 X:FF Y:E6 P:E4 SP:F9 CYC:115 SL:181
F28A 3F 48 05 *RLA $0548,X @ 0647 = A5 A:B3 X:FF Y:E6 P:E4 SP:FB CYC:133 SL:181
F28D EA NOP A:02 X:FF Y:E6 P:65 SP:FB CYC:154 SL:181
F28E EA NOP A:02 X:FF Y:E6 P:65 SP:FB CYC:160 SL:181
F28F EA NOP A:02 X:FF Y:E6 P:65 SP:FB CYC:166 SL:181
F290 EA NOP A:02 X:FF Y:E6 P:65 SP:FB CYC:172 SL:181
F291 20 59 FB JSR $FB59 A:02 X:FF Y:E6 P:65 SP:FB CYC:178 SL:181
FB59 50 1A BVC $FB75 A:02 X:FF Y:E6 P:65 SP:F9 CYC:196 SL:181
FB5B 90 18 BCC $FB75 A:02 X:FF Y:E6 P:65 SP:F9 CYC:202 SL:181
FB5D 30 16 BMI $FB75 A:02 X:FF Y:E6 P:65 SP:F9 CYC:208 SL:181
FB5F C9 02 CMP #$02 A:02 X:FF Y:E6 P:65 SP:F9 CYC:214 SL:181
FB61 D0 12 BNE $FB75 A:02 X:FF Y:E6 P:67 SP:F9 CYC:220 SL:181
FB63 60 RTS A:02 X:FF Y:E6 P:67 SP:F9 CYC:226 SL:181
F294 AD 47 06 LDA $0647 = 4A A:02 X:FF Y:E6 P:67 SP:FB CYC:244 SL:181
F297 C9 4A CMP #$4A A:4A X:FF Y:E6 P:65 SP:FB CYC:256 SL:181
F299 F0 02 BEQ $F29D A:4A X:FF Y:E6 P:67 SP:FB CYC:262 SL:181
F29D C8 INY A:4A X:FF Y:E6 P:67 SP:FB CYC:271 SL:181
F29E A9 29 LDA #$29 A:4A X:FF Y:E7 P:E5 SP:FB CYC:277 SL:181
F2A0 8D 47 06 STA $0647 = 4A A:29 X:FF Y:E7 P:65 SP:FB CYC:283 SL:181
F2A3 20 64 FB JSR $FB64 A:29 X:FF Y:E7 P:65 SP:FB CYC:295 SL:181
FB64 B8 CLV A:29 X:FF Y:E7 P:65 SP:F9 CYC:313 SL:181
FB65 18 CLC A:29 X:FF Y:E7 P:25 SP:F9 CYC:319 SL:181
FB66 A9 42 LDA #$42 A:29 X:FF Y:E7 P:24 SP:F9 CYC:325 SL:181
FB68 60 RTS A:42 X:FF Y:E7 P:24 SP:F9 CYC:331 SL:181
F2A6 3F 48 05 *RLA $0548,X @ 0647 = 29 A:42 X:FF Y:E7 P:24 SP:FB CYC: 8 SL:182
F2A9 EA NOP A:42 X:FF Y:E7 P:24 SP:FB CYC: 29 SL:182
F2AA EA NOP A:42 X:FF Y:E7 P:24 SP:FB CYC: 35 SL:182
F2AB EA NOP A:42 X:FF Y:E7 P:24 SP:FB CYC: 41 SL:182
F2AC EA NOP A:42 X:FF Y:E7 P:24 SP:FB CYC: 47 SL:182
F2AD 20 69 FB JSR $FB69 A:42 X:FF Y:E7 P:24 SP:FB CYC: 53 SL:182
FB69 70 0A BVS $FB75 A:42 X:FF Y:E7 P:24 SP:F9 CYC: 71 SL:182
FB6B F0 08 BEQ $FB75 A:42 X:FF Y:E7 P:24 SP:F9 CYC: 77 SL:182
FB6D 30 06 BMI $FB75 A:42 X:FF Y:E7 P:24 SP:F9 CYC: 83 SL:182
FB6F B0 04 BCS $FB75 A:42 X:FF Y:E7 P:24 SP:F9 CYC: 89 SL:182
FB71 C9 42 CMP #$42 A:42 X:FF Y:E7 P:24 SP:F9 CYC: 95 SL:182
FB73 F0 02 BEQ $FB77 A:42 X:FF Y:E7 P:27 SP:F9 CYC:101 SL:182
FB77 60 RTS A:42 X:FF Y:E7 P:27 SP:F9 CYC:110 SL:182
F2B0 AD 47 06 LDA $0647 = 52 A:42 X:FF Y:E7 P:27 SP:FB CYC:128 SL:182
F2B3 C9 52 CMP #$52 A:52 X:FF Y:E7 P:25 SP:FB CYC:140 SL:182
F2B5 F0 02 BEQ $F2B9 A:52 X:FF Y:E7 P:27 SP:FB CYC:146 SL:182
F2B9 C8 INY A:52 X:FF Y:E7 P:27 SP:FB CYC:155 SL:182
F2BA A9 37 LDA #$37 A:52 X:FF Y:E8 P:A5 SP:FB CYC:161 SL:182
F2BC 8D 47 06 STA $0647 = 52 A:37 X:FF Y:E8 P:25 SP:FB CYC:167 SL:182
F2BF 20 68 FA JSR $FA68 A:37 X:FF Y:E8 P:25 SP:FB CYC:179 SL:182
FA68 24 01 BIT $01 = FF A:37 X:FF Y:E8 P:25 SP:F9 CYC:197 SL:182
FA6A 38 SEC A:37 X:FF Y:E8 P:E5 SP:F9 CYC:206 SL:182
FA6B A9 75 LDA #$75 A:37 X:FF Y:E8 P:E5 SP:F9 CYC:212 SL:182
FA6D 60 RTS A:75 X:FF Y:E8 P:65 SP:F9 CYC:218 SL:182
F2C2 3F 48 05 *RLA $0548,X @ 0647 = 37 A:75 X:FF Y:E8 P:65 SP:FB CYC:236 SL:182
F2C5 EA NOP A:65 X:FF Y:E8 P:64 SP:FB CYC:257 SL:182
F2C6 EA NOP A:65 X:FF Y:E8 P:64 SP:FB CYC:263 SL:182
F2C7 EA NOP A:65 X:FF Y:E8 P:64 SP:FB CYC:269 SL:182
F2C8 EA NOP A:65 X:FF Y:E8 P:64 SP:FB CYC:275 SL:182
F2C9 20 6E FA JSR $FA6E A:65 X:FF Y:E8 P:64 SP:FB CYC:281 SL:182
FA6E 50 76 BVC $FAE6 A:65 X:FF Y:E8 P:64 SP:F9 CYC:299 SL:182
FA70 F0 74 BEQ $FAE6 A:65 X:FF Y:E8 P:64 SP:F9 CYC:305 SL:182
FA72 30 72 BMI $FAE6 A:65 X:FF Y:E8 P:64 SP:F9 CYC:311 SL:182
FA74 B0 70 BCS $FAE6 A:65 X:FF Y:E8 P:64 SP:F9 CYC:317 SL:182
FA76 C9 65 CMP #$65 A:65 X:FF Y:E8 P:64 SP:F9 CYC:323 SL:182
FA78 D0 6C BNE $FAE6 A:65 X:FF Y:E8 P:67 SP:F9 CYC:329 SL:182
FA7A 60 RTS A:65 X:FF Y:E8 P:67 SP:F9 CYC:335 SL:182
F2CC AD 47 06 LDA $0647 = 6F A:65 X:FF Y:E8 P:67 SP:FB CYC: 12 SL:183
F2CF C9 6F CMP #$6F A:6F X:FF Y:E8 P:65 SP:FB CYC: 24 SL:183
F2D1 F0 02 BEQ $F2D5 A:6F X:FF Y:E8 P:67 SP:FB CYC: 30 SL:183
F2D5 60 RTS A:6F X:FF Y:E8 P:67 SP:FB CYC: 39 SL:183
C647 20 D6 F2 JSR $F2D6 A:6F X:FF Y:E8 P:67 SP:FD CYC: 57 SL:183
F2D6 A9 FF LDA #$FF A:6F X:FF Y:E8 P:67 SP:FB CYC: 75 SL:183
F2D8 85 01 STA $01 = FF A:FF X:FF Y:E8 P:E5 SP:FB CYC: 81 SL:183
F2DA A0 E9 LDY #$E9 A:FF X:FF Y:E8 P:E5 SP:FB CYC: 90 SL:183
F2DC A2 02 LDX #$02 A:FF X:FF Y:E9 P:E5 SP:FB CYC: 96 SL:183
F2DE A9 47 LDA #$47 A:FF X:02 Y:E9 P:65 SP:FB CYC:102 SL:183
F2E0 85 47 STA $47 = 6F A:47 X:02 Y:E9 P:65 SP:FB CYC:108 SL:183
F2E2 A9 06 LDA #$06 A:47 X:02 Y:E9 P:65 SP:FB CYC:117 SL:183
F2E4 85 48 STA $48 = 06 A:06 X:02 Y:E9 P:65 SP:FB CYC:123 SL:183
F2E6 A9 A5 LDA #$A5 A:06 X:02 Y:E9 P:65 SP:FB CYC:132 SL:183
F2E8 8D 47 06 STA $0647 = 6F A:A5 X:02 Y:E9 P:E5 SP:FB CYC:138 SL:183
F2EB 20 1D FB JSR $FB1D A:A5 X:02 Y:E9 P:E5 SP:FB CYC:150 SL:183
FB1D 24 01 BIT $01 = FF A:A5 X:02 Y:E9 P:E5 SP:F9 CYC:168 SL:183
FB1F 18 CLC A:A5 X:02 Y:E9 P:E5 SP:F9 CYC:177 SL:183
FB20 A9 B3 LDA #$B3 A:A5 X:02 Y:E9 P:E4 SP:F9 CYC:183 SL:183
FB22 60 RTS A:B3 X:02 Y:E9 P:E4 SP:F9 CYC:189 SL:183
F2EE 43 45 *SRE ($45,X) @ 47 = 0647 = A5 A:B3 X:02 Y:E9 P:E4 SP:FB CYC:207 SL:183
F2F0 EA NOP A:E1 X:02 Y:E9 P:E5 SP:FB CYC:231 SL:183
F2F1 EA NOP A:E1 X:02 Y:E9 P:E5 SP:FB CYC:237 SL:183
F2F2 EA NOP A:E1 X:02 Y:E9 P:E5 SP:FB CYC:243 SL:183
F2F3 EA NOP A:E1 X:02 Y:E9 P:E5 SP:FB CYC:249 SL:183
F2F4 20 23 FB JSR $FB23 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:255 SL:183
FB23 50 50 BVC $FB75 A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:273 SL:183
FB25 90 4E BCC $FB75 A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:279 SL:183
FB27 10 4C BPL $FB75 A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:285 SL:183
FB29 C9 E1 CMP #$E1 A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:291 SL:183
FB2B D0 48 BNE $FB75 A:E1 X:02 Y:E9 P:67 SP:F9 CYC:297 SL:183
FB2D 60 RTS A:E1 X:02 Y:E9 P:67 SP:F9 CYC:303 SL:183
F2F7 AD 47 06 LDA $0647 = 52 A:E1 X:02 Y:E9 P:67 SP:FB CYC:321 SL:183
F2FA C9 52 CMP #$52 A:52 X:02 Y:E9 P:65 SP:FB CYC:333 SL:183
F2FC F0 02 BEQ $F300 A:52 X:02 Y:E9 P:67 SP:FB CYC:339 SL:183
F300 C8 INY A:52 X:02 Y:E9 P:67 SP:FB CYC: 10 SL:184
F301 A9 29 LDA #$29 A:52 X:02 Y:EA P:E5 SP:FB CYC: 16 SL:184
F303 8D 47 06 STA $0647 = 52 A:29 X:02 Y:EA P:65 SP:FB CYC: 22 SL:184
F306 20 2E FB JSR $FB2E A:29 X:02 Y:EA P:65 SP:FB CYC: 34 SL:184
FB2E B8 CLV A:29 X:02 Y:EA P:65 SP:F9 CYC: 52 SL:184
FB2F 18 CLC A:29 X:02 Y:EA P:25 SP:F9 CYC: 58 SL:184
FB30 A9 42 LDA #$42 A:29 X:02 Y:EA P:24 SP:F9 CYC: 64 SL:184
FB32 60 RTS A:42 X:02 Y:EA P:24 SP:F9 CYC: 70 SL:184
F309 43 45 *SRE ($45,X) @ 47 = 0647 = 29 A:42 X:02 Y:EA P:24 SP:FB CYC: 88 SL:184
F30B EA NOP A:56 X:02 Y:EA P:25 SP:FB CYC:112 SL:184
F30C EA NOP A:56 X:02 Y:EA P:25 SP:FB CYC:118 SL:184
F30D EA NOP A:56 X:02 Y:EA P:25 SP:FB CYC:124 SL:184
F30E EA NOP A:56 X:02 Y:EA P:25 SP:FB CYC:130 SL:184
F30F 20 33 FB JSR $FB33 A:56 X:02 Y:EA P:25 SP:FB CYC:136 SL:184
FB33 70 40 BVS $FB75 A:56 X:02 Y:EA P:25 SP:F9 CYC:154 SL:184
FB35 F0 3E BEQ $FB75 A:56 X:02 Y:EA P:25 SP:F9 CYC:160 SL:184
FB37 30 3C BMI $FB75 A:56 X:02 Y:EA P:25 SP:F9 CYC:166 SL:184
FB39 90 3A BCC $FB75 A:56 X:02 Y:EA P:25 SP:F9 CYC:172 SL:184
FB3B C9 56 CMP #$56 A:56 X:02 Y:EA P:25 SP:F9 CYC:178 SL:184
FB3D D0 36 BNE $FB75 A:56 X:02 Y:EA P:27 SP:F9 CYC:184 SL:184
FB3F 60 RTS A:56 X:02 Y:EA P:27 SP:F9 CYC:190 SL:184
F312 AD 47 06 LDA $0647 = 14 A:56 X:02 Y:EA P:27 SP:FB CYC:208 SL:184
F315 C9 14 CMP #$14 A:14 X:02 Y:EA P:25 SP:FB CYC:220 SL:184
F317 F0 02 BEQ $F31B A:14 X:02 Y:EA P:27 SP:FB CYC:226 SL:184
F31B C8 INY A:14 X:02 Y:EA P:27 SP:FB CYC:235 SL:184
F31C A9 37 LDA #$37 A:14 X:02 Y:EB P:A5 SP:FB CYC:241 SL:184
F31E 8D 47 06 STA $0647 = 14 A:37 X:02 Y:EB P:25 SP:FB CYC:247 SL:184
F321 20 40 FB JSR $FB40 A:37 X:02 Y:EB P:25 SP:FB CYC:259 SL:184
FB40 24 01 BIT $01 = FF A:37 X:02 Y:EB P:25 SP:F9 CYC:277 SL:184
FB42 38 SEC A:37 X:02 Y:EB P:E5 SP:F9 CYC:286 SL:184
FB43 A9 75 LDA #$75 A:37 X:02 Y:EB P:E5 SP:F9 CYC:292 SL:184
FB45 60 RTS A:75 X:02 Y:EB P:65 SP:F9 CYC:298 SL:184
F324 43 45 *SRE ($45,X) @ 47 = 0647 = 37 A:75 X:02 Y:EB P:65 SP:FB CYC:316 SL:184
F326 EA NOP A:6E X:02 Y:EB P:65 SP:FB CYC:340 SL:184
F327 EA NOP A:6E X:02 Y:EB P:65 SP:FB CYC: 5 SL:185
F328 EA NOP A:6E X:02 Y:EB P:65 SP:FB CYC: 11 SL:185
F329 EA NOP A:6E X:02 Y:EB P:65 SP:FB CYC: 17 SL:185
F32A 20 46 FB JSR $FB46 A:6E X:02 Y:EB P:65 SP:FB CYC: 23 SL:185
FB46 50 2D BVC $FB75 A:6E X:02 Y:EB P:65 SP:F9 CYC: 41 SL:185
FB48 F0 2B BEQ $FB75 A:6E X:02 Y:EB P:65 SP:F9 CYC: 47 SL:185
FB4A 30 29 BMI $FB75 A:6E X:02 Y:EB P:65 SP:F9 CYC: 53 SL:185
FB4C 90 27 BCC $FB75 A:6E X:02 Y:EB P:65 SP:F9 CYC: 59 SL:185
FB4E C9 6E CMP #$6E A:6E X:02 Y:EB P:65 SP:F9 CYC: 65 SL:185
FB50 D0 23 BNE $FB75 A:6E X:02 Y:EB P:67 SP:F9 CYC: 71 SL:185
FB52 60 RTS A:6E X:02 Y:EB P:67 SP:F9 CYC: 77 SL:185
F32D AD 47 06 LDA $0647 = 1B A:6E X:02 Y:EB P:67 SP:FB CYC: 95 SL:185
F330 C9 1B CMP #$1B A:1B X:02 Y:EB P:65 SP:FB CYC:107 SL:185
F332 F0 02 BEQ $F336 A:1B X:02 Y:EB P:67 SP:FB CYC:113 SL:185
F336 C8 INY A:1B X:02 Y:EB P:67 SP:FB CYC:122 SL:185
F337 A9 A5 LDA #$A5 A:1B X:02 Y:EC P:E5 SP:FB CYC:128 SL:185
F339 85 47 STA $47 = 47 A:A5 X:02 Y:EC P:E5 SP:FB CYC:134 SL:185
F33B 20 1D FB JSR $FB1D A:A5 X:02 Y:EC P:E5 SP:FB CYC:143 SL:185
FB1D 24 01 BIT $01 = FF A:A5 X:02 Y:EC P:E5 SP:F9 CYC:161 SL:185
FB1F 18 CLC A:A5 X:02 Y:EC P:E5 SP:F9 CYC:170 SL:185
FB20 A9 B3 LDA #$B3 A:A5 X:02 Y:EC P:E4 SP:F9 CYC:176 SL:185
FB22 60 RTS A:B3 X:02 Y:EC P:E4 SP:F9 CYC:182 SL:185
F33E 47 47 *SRE $47 = A5 A:B3 X:02 Y:EC P:E4 SP:FB CYC:200 SL:185
F340 EA NOP A:E1 X:02 Y:EC P:E5 SP:FB CYC:215 SL:185
F341 EA NOP A:E1 X:02 Y:EC P:E5 SP:FB CYC:221 SL:185
F342 EA NOP A:E1 X:02 Y:EC P:E5 SP:FB CYC:227 SL:185
F343 EA NOP A:E1 X:02 Y:EC P:E5 SP:FB CYC:233 SL:185
F344 20 23 FB JSR $FB23 A:E1 X:02 Y:EC P:E5 SP:FB CYC:239 SL:185
FB23 50 50 BVC $FB75 A:E1 X:02 Y:EC P:E5 SP:F9 CYC:257 SL:185
FB25 90 4E BCC $FB75 A:E1 X:02 Y:EC P:E5 SP:F9 CYC:263 SL:185
FB27 10 4C BPL $FB75 A:E1 X:02 Y:EC P:E5 SP:F9 CYC:269 SL:185
FB29 C9 E1 CMP #$E1 A:E1 X:02 Y:EC P:E5 SP:F9 CYC:275 SL:185
FB2B D0 48 BNE $FB75 A:E1 X:02 Y:EC P:67 SP:F9 CYC:281 SL:185
FB2D 60 RTS A:E1 X:02 Y:EC P:67 SP:F9 CYC:287 SL:185
F347 A5 47 LDA $47 = 52 A:E1 X:02 Y:EC P:67 SP:FB CYC:305 SL:185
F349 C9 52 CMP #$52 A:52 X:02 Y:EC P:65 SP:FB CYC:314 SL:185
F34B F0 02 BEQ $F34F A:52 X:02 Y:EC P:67 SP:FB CYC:320 SL:185
F34F C8 INY A:52 X:02 Y:EC P:67 SP:FB CYC:329 SL:185
F350 A9 29 LDA #$29 A:52 X:02 Y:ED P:E5 SP:FB CYC:335 SL:185
F352 85 47 STA $47 = 52 A:29 X:02 Y:ED P:65 SP:FB CYC: 0 SL:186
F354 20 2E FB JSR $FB2E A:29 X:02 Y:ED P:65 SP:FB CYC: 9 SL:186
FB2E B8 CLV A:29 X:02 Y:ED P:65 SP:F9 CYC: 27 SL:186
FB2F 18 CLC A:29 X:02 Y:ED P:25 SP:F9 CYC: 33 SL:186
FB30 A9 42 LDA #$42 A:29 X:02 Y:ED P:24 SP:F9 CYC: 39 SL:186
FB32 60 RTS A:42 X:02 Y:ED P:24 SP:F9 CYC: 45 SL:186
F357 47 47 *SRE $47 = 29 A:42 X:02 Y:ED P:24 SP:FB CYC: 63 SL:186
F359 EA NOP A:56 X:02 Y:ED P:25 SP:FB CYC: 78 SL:186
F35A EA NOP A:56 X:02 Y:ED P:25 SP:FB CYC: 84 SL:186
F35B EA NOP A:56 X:02 Y:ED P:25 SP:FB CYC: 90 SL:186
F35C EA NOP A:56 X:02 Y:ED P:25 SP:FB CYC: 96 SL:186
F35D 20 33 FB JSR $FB33 A:56 X:02 Y:ED P:25 SP:FB CYC:102 SL:186
FB33 70 40 BVS $FB75 A:56 X:02 Y:ED P:25 SP:F9 CYC:120 SL:186
FB35 F0 3E BEQ $FB75 A:56 X:02 Y:ED P:25 SP:F9 CYC:126 SL:186
FB37 30 3C BMI $FB75 A:56 X:02 Y:ED P:25 SP:F9 CYC:132 SL:186
FB39 90 3A BCC $FB75 A:56 X:02 Y:ED P:25 SP:F9 CYC:138 SL:186
FB3B C9 56 CMP #$56 A:56 X:02 Y:ED P:25 SP:F9 CYC:144 SL:186
FB3D D0 36 BNE $FB75 A:56 X:02 Y:ED P:27 SP:F9 CYC:150 SL:186
FB3F 60 RTS A:56 X:02 Y:ED P:27 SP:F9 CYC:156 SL:186
F360 A5 47 LDA $47 = 14 A:56 X:02 Y:ED P:27 SP:FB CYC:174 SL:186
F362 C9 14 CMP #$14 A:14 X:02 Y:ED P:25 SP:FB CYC:183 SL:186
F364 F0 02 BEQ $F368 A:14 X:02 Y:ED P:27 SP:FB CYC:189 SL:186
F368 C8 INY A:14 X:02 Y:ED P:27 SP:FB CYC:198 SL:186
F369 A9 37 LDA #$37 A:14 X:02 Y:EE P:A5 SP:FB CYC:204 SL:186
F36B 85 47 STA $47 = 14 A:37 X:02 Y:EE P:25 SP:FB CYC:210 SL:186
F36D 20 40 FB JSR $FB40 A:37 X:02 Y:EE P:25 SP:FB CYC:219 SL:186
FB40 24 01 BIT $01 = FF A:37 X:02 Y:EE P:25 SP:F9 CYC:237 SL:186
FB42 38 SEC A:37 X:02 Y:EE P:E5 SP:F9 CYC:246 SL:186
FB43 A9 75 LDA #$75 A:37 X:02 Y:EE P:E5 SP:F9 CYC:252 SL:186
FB45 60 RTS A:75 X:02 Y:EE P:65 SP:F9 CYC:258 SL:186
F370 47 47 *SRE $47 = 37 A:75 X:02 Y:EE P:65 SP:FB CYC:276 SL:186
F372 EA NOP A:6E X:02 Y:EE P:65 SP:FB CYC:291 SL:186
F373 EA NOP A:6E X:02 Y:EE P:65 SP:FB CYC:297 SL:186
F374 EA NOP A:6E X:02 Y:EE P:65 SP:FB CYC:303 SL:186
F375 EA NOP A:6E X:02 Y:EE P:65 SP:FB CYC:309 SL:186
F376 20 46 FB JSR $FB46 A:6E X:02 Y:EE P:65 SP:FB CYC:315 SL:186
FB46 50 2D BVC $FB75 A:6E X:02 Y:EE P:65 SP:F9 CYC:333 SL:186
FB48 F0 2B BEQ $FB75 A:6E X:02 Y:EE P:65 SP:F9 CYC:339 SL:186
FB4A 30 29 BMI $FB75 A:6E X:02 Y:EE P:65 SP:F9 CYC: 4 SL:187
FB4C 90 27 BCC $FB75 A:6E X:02 Y:EE P:65 SP:F9 CYC: 10 SL:187
FB4E C9 6E CMP #$6E A:6E X:02 Y:EE P:65 SP:F9 CYC: 16 SL:187
FB50 D0 23 BNE $FB75 A:6E X:02 Y:EE P:67 SP:F9 CYC: 22 SL:187
FB52 60 RTS A:6E X:02 Y:EE P:67 SP:F9 CYC: 28 SL:187
F379 A5 47 LDA $47 = 1B A:6E X:02 Y:EE P:67 SP:FB CYC: 46 SL:187
F37B C9 1B CMP #$1B A:1B X:02 Y:EE P:65 SP:FB CYC: 55 SL:187
F37D F0 02 BEQ $F381 A:1B X:02 Y:EE P:67 SP:FB CYC: 61 SL:187
F381 C8 INY A:1B X:02 Y:EE P:67 SP:FB CYC: 70 SL:187
F382 A9 A5 LDA #$A5 A:1B X:02 Y:EF P:E5 SP:FB CYC: 76 SL:187
F384 8D 47 06 STA $0647 = 1B A:A5 X:02 Y:EF P:E5 SP:FB CYC: 82 SL:187
F387 20 1D FB JSR $FB1D A:A5 X:02 Y:EF P:E5 SP:FB CYC: 94 SL:187
FB1D 24 01 BIT $01 = FF A:A5 X:02 Y:EF P:E5 SP:F9 CYC:112 SL:187
FB1F 18 CLC A:A5 X:02 Y:EF P:E5 SP:F9 CYC:121 SL:187
FB20 A9 B3 LDA #$B3 A:A5 X:02 Y:EF P:E4 SP:F9 CYC:127 SL:187
FB22 60 RTS A:B3 X:02 Y:EF P:E4 SP:F9 CYC:133 SL:187
F38A 4F 47 06 *SRE $0647 = A5 A:B3 X:02 Y:EF P:E4 SP:FB CYC:151 SL:187
F38D EA NOP A:E1 X:02 Y:EF P:E5 SP:FB CYC:169 SL:187
F38E EA NOP A:E1 X:02 Y:EF P:E5 SP:FB CYC:175 SL:187
F38F EA NOP A:E1 X:02 Y:EF P:E5 SP:FB CYC:181 SL:187
F390 EA NOP A:E1 X:02 Y:EF P:E5 SP:FB CYC:187 SL:187
F391 20 23 FB JSR $FB23 A:E1 X:02 Y:EF P:E5 SP:FB CYC:193 SL:187
FB23 50 50 BVC $FB75 A:E1 X:02 Y:EF P:E5 SP:F9 CYC:211 SL:187
FB25 90 4E BCC $FB75 A:E1 X:02 Y:EF P:E5 SP:F9 CYC:217 SL:187
FB27 10 4C BPL $FB75 A:E1 X:02 Y:EF P:E5 SP:F9 CYC:223 SL:187
FB29 C9 E1 CMP #$E1 A:E1 X:02 Y:EF P:E5 SP:F9 CYC:229 SL:187
FB2B D0 48 BNE $FB75 A:E1 X:02 Y:EF P:67 SP:F9 CYC:235 SL:187
FB2D 60 RTS A:E1 X:02 Y:EF P:67 SP:F9 CYC:241 SL:187
F394 AD 47 06 LDA $0647 = 52 A:E1 X:02 Y:EF P:67 SP:FB CYC:259 SL:187
F397 C9 52 CMP #$52 A:52 X:02 Y:EF P:65 SP:FB CYC:271 SL:187
F399 F0 02 BEQ $F39D A:52 X:02 Y:EF P:67 SP:FB CYC:277 SL:187
F39D C8 INY A:52 X:02 Y:EF P:67 SP:FB CYC:286 SL:187
F39E A9 29 LDA #$29 A:52 X:02 Y:F0 P:E5 SP:FB CYC:292 SL:187
F3A0 8D 47 06 STA $0647 = 52 A:29 X:02 Y:F0 P:65 SP:FB CYC:298 SL:187
F3A3 20 2E FB JSR $FB2E A:29 X:02 Y:F0 P:65 SP:FB CYC:310 SL:187
FB2E B8 CLV A:29 X:02 Y:F0 P:65 SP:F9 CYC:328 SL:187
FB2F 18 CLC A:29 X:02 Y:F0 P:25 SP:F9 CYC:334 SL:187
FB30 A9 42 LDA #$42 A:29 X:02 Y:F0 P:24 SP:F9 CYC:340 SL:187
FB32 60 RTS A:42 X:02 Y:F0 P:24 SP:F9 CYC: 5 SL:188
F3A6 4F 47 06 *SRE $0647 = 29 A:42 X:02 Y:F0 P:24 SP:FB CYC: 23 SL:188
F3A9 EA NOP A:56 X:02 Y:F0 P:25 SP:FB CYC: 41 SL:188
F3AA EA NOP A:56 X:02 Y:F0 P:25 SP:FB CYC: 47 SL:188
F3AB EA NOP A:56 X:02 Y:F0 P:25 SP:FB CYC: 53 SL:188
F3AC EA NOP A:56 X:02 Y:F0 P:25 SP:FB CYC: 59 SL:188
F3AD 20 33 FB JSR $FB33 A:56 X:02 Y:F0 P:25 SP:FB CYC: 65 SL:188
FB33 70 40 BVS $FB75 A:56 X:02 Y:F0 P:25 SP:F9 CYC: 83 SL:188
FB35 F0 3E BEQ $FB75 A:56 X:02 Y:F0 P:25 SP:F9 CYC: 89 SL:188
FB37 30 3C BMI $FB75 A:56 X:02 Y:F0 P:25 SP:F9 CYC: 95 SL:188
FB39 90 3A BCC $FB75 A:56 X:02 Y:F0 P:25 SP:F9 CYC:101 SL:188
FB3B C9 56 CMP #$56 A:56 X:02 Y:F0 P:25 SP:F9 CYC:107 SL:188
FB3D D0 36 BNE $FB75 A:56 X:02 Y:F0 P:27 SP:F9 CYC:113 SL:188
FB3F 60 RTS A:56 X:02 Y:F0 P:27 SP:F9 CYC:119 SL:188
F3B0 AD 47 06 LDA $0647 = 14 A:56 X:02 Y:F0 P:27 SP:FB CYC:137 SL:188
F3B3 C9 14 CMP #$14 A:14 X:02 Y:F0 P:25 SP:FB CYC:149 SL:188
F3B5 F0 02 BEQ $F3B9 A:14 X:02 Y:F0 P:27 SP:FB CYC:155 SL:188
F3B9 C8 INY A:14 X:02 Y:F0 P:27 SP:FB CYC:164 SL:188
F3BA A9 37 LDA #$37 A:14 X:02 Y:F1 P:A5 SP:FB CYC:170 SL:188
F3BC 8D 47 06 STA $0647 = 14 A:37 X:02 Y:F1 P:25 SP:FB CYC:176 SL:188
F3BF 20 40 FB JSR $FB40 A:37 X:02 Y:F1 P:25 SP:FB CYC:188 SL:188
FB40 24 01 BIT $01 = FF A:37 X:02 Y:F1 P:25 SP:F9 CYC:206 SL:188
FB42 38 SEC A:37 X:02 Y:F1 P:E5 SP:F9 CYC:215 SL:188
FB43 A9 75 LDA #$75 A:37 X:02 Y:F1 P:E5 SP:F9 CYC:221 SL:188
FB45 60 RTS A:75 X:02 Y:F1 P:65 SP:F9 CYC:227 SL:188
F3C2 4F 47 06 *SRE $0647 = 37 A:75 X:02 Y:F1 P:65 SP:FB CYC:245 SL:188
F3C5 EA NOP A:6E X:02 Y:F1 P:65 SP:FB CYC:263 SL:188
F3C6 EA NOP A:6E X:02 Y:F1 P:65 SP:FB CYC:269 SL:188
F3C7 EA NOP A:6E X:02 Y:F1 P:65 SP:FB CYC:275 SL:188
F3C8 EA NOP A:6E X:02 Y:F1 P:65 SP:FB CYC:281 SL:188
F3C9 20 46 FB JSR $FB46 A:6E X:02 Y:F1 P:65 SP:FB CYC:287 SL:188
FB46 50 2D BVC $FB75 A:6E X:02 Y:F1 P:65 SP:F9 CYC:305 SL:188
FB48 F0 2B BEQ $FB75 A:6E X:02 Y:F1 P:65 SP:F9 CYC:311 SL:188
FB4A 30 29 BMI $FB75 A:6E X:02 Y:F1 P:65 SP:F9 CYC:317 SL:188
FB4C 90 27 BCC $FB75 A:6E X:02 Y:F1 P:65 SP:F9 CYC:323 SL:188
FB4E C9 6E CMP #$6E A:6E X:02 Y:F1 P:65 SP:F9 CYC:329 SL:188
FB50 D0 23 BNE $FB75 A:6E X:02 Y:F1 P:67 SP:F9 CYC:335 SL:188
FB52 60 RTS A:6E X:02 Y:F1 P:67 SP:F9 CYC: 0 SL:189
F3CC AD 47 06 LDA $0647 = 1B A:6E X:02 Y:F1 P:67 SP:FB CYC: 18 SL:189
F3CF C9 1B CMP #$1B A:1B X:02 Y:F1 P:65 SP:FB CYC: 30 SL:189
F3D1 F0 02 BEQ $F3D5 A:1B X:02 Y:F1 P:67 SP:FB CYC: 36 SL:189
F3D5 A9 A5 LDA #$A5 A:1B X:02 Y:F1 P:67 SP:FB CYC: 45 SL:189
F3D7 8D 47 06 STA $0647 = 1B A:A5 X:02 Y:F1 P:E5 SP:FB CYC: 51 SL:189
F3DA A9 48 LDA #$48 A:A5 X:02 Y:F1 P:E5 SP:FB CYC: 63 SL:189
F3DC 85 45 STA $45 = 48 A:48 X:02 Y:F1 P:65 SP:FB CYC: 69 SL:189
F3DE A9 05 LDA #$05 A:48 X:02 Y:F1 P:65 SP:FB CYC: 78 SL:189
F3E0 85 46 STA $46 = 05 A:05 X:02 Y:F1 P:65 SP:FB CYC: 84 SL:189
F3E2 A0 FF LDY #$FF A:05 X:02 Y:F1 P:65 SP:FB CYC: 93 SL:189
F3E4 20 1D FB JSR $FB1D A:05 X:02 Y:FF P:E5 SP:FB CYC: 99 SL:189
FB1D 24 01 BIT $01 = FF A:05 X:02 Y:FF P:E5 SP:F9 CYC:117 SL:189
FB1F 18 CLC A:05 X:02 Y:FF P:E5 SP:F9 CYC:126 SL:189
FB20 A9 B3 LDA #$B3 A:05 X:02 Y:FF P:E4 SP:F9 CYC:132 SL:189
FB22 60 RTS A:B3 X:02 Y:FF P:E4 SP:F9 CYC:138 SL:189
F3E7 53 45 *SRE ($45),Y = 0548 @ 0647 = A5 A:B3 X:02 Y:FF P:E4 SP:FB CYC:156 SL:189
F3E9 EA NOP A:E1 X:02 Y:FF P:E5 SP:FB CYC:180 SL:189
F3EA EA NOP A:E1 X:02 Y:FF P:E5 SP:FB CYC:186 SL:189
F3EB 08 PHP A:E1 X:02 Y:FF P:E5 SP:FB CYC:192 SL:189
F3EC 48 PHA A:E1 X:02 Y:FF P:E5 SP:FA CYC:201 SL:189
F3ED A0 F2 LDY #$F2 A:E1 X:02 Y:FF P:E5 SP:F9 CYC:210 SL:189
F3EF 68 PLA A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:216 SL:189
F3F0 28 PLP A:E1 X:02 Y:F2 P:E5 SP:FA CYC:228 SL:189
F3F1 20 23 FB JSR $FB23 A:E1 X:02 Y:F2 P:E5 SP:FB CYC:240 SL:189
FB23 50 50 BVC $FB75 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:258 SL:189
FB25 90 4E BCC $FB75 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:264 SL:189
FB27 10 4C BPL $FB75 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:270 SL:189
FB29 C9 E1 CMP #$E1 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:276 SL:189
FB2B D0 48 BNE $FB75 A:E1 X:02 Y:F2 P:67 SP:F9 CYC:282 SL:189
FB2D 60 RTS A:E1 X:02 Y:F2 P:67 SP:F9 CYC:288 SL:189
F3F4 AD 47 06 LDA $0647 = 52 A:E1 X:02 Y:F2 P:67 SP:FB CYC:306 SL:189
F3F7 C9 52 CMP #$52 A:52 X:02 Y:F2 P:65 SP:FB CYC:318 SL:189
F3F9 F0 02 BEQ $F3FD A:52 X:02 Y:F2 P:67 SP:FB CYC:324 SL:189
F3FD A0 FF LDY #$FF A:52 X:02 Y:F2 P:67 SP:FB CYC:333 SL:189
F3FF A9 29 LDA #$29 A:52 X:02 Y:FF P:E5 SP:FB CYC:339 SL:189
F401 8D 47 06 STA $0647 = 52 A:29 X:02 Y:FF P:65 SP:FB CYC: 4 SL:190
F404 20 2E FB JSR $FB2E A:29 X:02 Y:FF P:65 SP:FB CYC: 16 SL:190
FB2E B8 CLV A:29 X:02 Y:FF P:65 SP:F9 CYC: 34 SL:190
FB2F 18 CLC A:29 X:02 Y:FF P:25 SP:F9 CYC: 40 SL:190
FB30 A9 42 LDA #$42 A:29 X:02 Y:FF P:24 SP:F9 CYC: 46 SL:190
FB32 60 RTS A:42 X:02 Y:FF P:24 SP:F9 CYC: 52 SL:190
F407 53 45 *SRE ($45),Y = 0548 @ 0647 = 29 A:42 X:02 Y:FF P:24 SP:FB CYC: 70 SL:190
F409 EA NOP A:56 X:02 Y:FF P:25 SP:FB CYC: 94 SL:190
F40A EA NOP A:56 X:02 Y:FF P:25 SP:FB CYC:100 SL:190
F40B 08 PHP A:56 X:02 Y:FF P:25 SP:FB CYC:106 SL:190
F40C 48 PHA A:56 X:02 Y:FF P:25 SP:FA CYC:115 SL:190
F40D A0 F3 LDY #$F3 A:56 X:02 Y:FF P:25 SP:F9 CYC:124 SL:190
F40F 68 PLA A:56 X:02 Y:F3 P:A5 SP:F9 CYC:130 SL:190
F410 28 PLP A:56 X:02 Y:F3 P:25 SP:FA CYC:142 SL:190
F411 20 33 FB JSR $FB33 A:56 X:02 Y:F3 P:25 SP:FB CYC:154 SL:190
FB33 70 40 BVS $FB75 A:56 X:02 Y:F3 P:25 SP:F9 CYC:172 SL:190
FB35 F0 3E BEQ $FB75 A:56 X:02 Y:F3 P:25 SP:F9 CYC:178 SL:190
FB37 30 3C BMI $FB75 A:56 X:02 Y:F3 P:25 SP:F9 CYC:184 SL:190
FB39 90 3A BCC $FB75 A:56 X:02 Y:F3 P:25 SP:F9 CYC:190 SL:190
FB3B C9 56 CMP #$56 A:56 X:02 Y:F3 P:25 SP:F9 CYC:196 SL:190
FB3D D0 36 BNE $FB75 A:56 X:02 Y:F3 P:27 SP:F9 CYC:202 SL:190
FB3F 60 RTS A:56 X:02 Y:F3 P:27 SP:F9 CYC:208 SL:190
F414 AD 47 06 LDA $0647 = 14 A:56 X:02 Y:F3 P:27 SP:FB CYC:226 SL:190
F417 C9 14 CMP #$14 A:14 X:02 Y:F3 P:25 SP:FB CYC:238 SL:190
F419 F0 02 BEQ $F41D A:14 X:02 Y:F3 P:27 SP:FB CYC:244 SL:190
F41D A0 FF LDY #$FF A:14 X:02 Y:F3 P:27 SP:FB CYC:253 SL:190
F41F A9 37 LDA #$37 A:14 X:02 Y:FF P:A5 SP:FB CYC:259 SL:190
F421 8D 47 06 STA $0647 = 14 A:37 X:02 Y:FF P:25 SP:FB CYC:265 SL:190
F424 20 40 FB JSR $FB40 A:37 X:02 Y:FF P:25 SP:FB CYC:277 SL:190
FB40 24 01 BIT $01 = FF A:37 X:02 Y:FF P:25 SP:F9 CYC:295 SL:190
FB42 38 SEC A:37 X:02 Y:FF P:E5 SP:F9 CYC:304 SL:190
FB43 A9 75 LDA #$75 A:37 X:02 Y:FF P:E5 SP:F9 CYC:310 SL:190
FB45 60 RTS A:75 X:02 Y:FF P:65 SP:F9 CYC:316 SL:190
F427 53 45 *SRE ($45),Y = 0548 @ 0647 = 37 A:75 X:02 Y:FF P:65 SP:FB CYC:334 SL:190
F429 EA NOP A:6E X:02 Y:FF P:65 SP:FB CYC: 17 SL:191
F42A EA NOP A:6E X:02 Y:FF P:65 SP:FB CYC: 23 SL:191
F42B 08 PHP A:6E X:02 Y:FF P:65 SP:FB CYC: 29 SL:191
F42C 48 PHA A:6E X:02 Y:FF P:65 SP:FA CYC: 38 SL:191
F42D A0 F4 LDY #$F4 A:6E X:02 Y:FF P:65 SP:F9 CYC: 47 SL:191
F42F 68 PLA A:6E X:02 Y:F4 P:E5 SP:F9 CYC: 53 SL:191
F430 28 PLP A:6E X:02 Y:F4 P:65 SP:FA CYC: 65 SL:191
F431 20 46 FB JSR $FB46 A:6E X:02 Y:F4 P:65 SP:FB CYC: 77 SL:191
FB46 50 2D BVC $FB75 A:6E X:02 Y:F4 P:65 SP:F9 CYC: 95 SL:191
FB48 F0 2B BEQ $FB75 A:6E X:02 Y:F4 P:65 SP:F9 CYC:101 SL:191
FB4A 30 29 BMI $FB75 A:6E X:02 Y:F4 P:65 SP:F9 CYC:107 SL:191
FB4C 90 27 BCC $FB75 A:6E X:02 Y:F4 P:65 SP:F9 CYC:113 SL:191
FB4E C9 6E CMP #$6E A:6E X:02 Y:F4 P:65 SP:F9 CYC:119 SL:191
FB50 D0 23 BNE $FB75 A:6E X:02 Y:F4 P:67 SP:F9 CYC:125 SL:191
FB52 60 RTS A:6E X:02 Y:F4 P:67 SP:F9 CYC:131 SL:191
F434 AD 47 06 LDA $0647 = 1B A:6E X:02 Y:F4 P:67 SP:FB CYC:149 SL:191
F437 C9 1B CMP #$1B A:1B X:02 Y:F4 P:65 SP:FB CYC:161 SL:191
F439 F0 02 BEQ $F43D A:1B X:02 Y:F4 P:67 SP:FB CYC:167 SL:191
F43D A0 F5 LDY #$F5 A:1B X:02 Y:F4 P:67 SP:FB CYC:176 SL:191
F43F A2 FF LDX #$FF A:1B X:02 Y:F5 P:E5 SP:FB CYC:182 SL:191
F441 A9 A5 LDA #$A5 A:1B X:FF Y:F5 P:E5 SP:FB CYC:188 SL:191
F443 85 47 STA $47 = 1B A:A5 X:FF Y:F5 P:E5 SP:FB CYC:194 SL:191
F445 20 1D FB JSR $FB1D A:A5 X:FF Y:F5 P:E5 SP:FB CYC:203 SL:191
FB1D 24 01 BIT $01 = FF A:A5 X:FF Y:F5 P:E5 SP:F9 CYC:221 SL:191
FB1F 18 CLC A:A5 X:FF Y:F5 P:E5 SP:F9 CYC:230 SL:191
FB20 A9 B3 LDA #$B3 A:A5 X:FF Y:F5 P:E4 SP:F9 CYC:236 SL:191
FB22 60 RTS A:B3 X:FF Y:F5 P:E4 SP:F9 CYC:242 SL:191
F448 57 48 *SRE $48,X @ 47 = A5 A:B3 X:FF Y:F5 P:E4 SP:FB CYC:260 SL:191
F44A EA NOP A:E1 X:FF Y:F5 P:E5 SP:FB CYC:278 SL:191
F44B EA NOP A:E1 X:FF Y:F5 P:E5 SP:FB CYC:284 SL:191
F44C EA NOP A:E1 X:FF Y:F5 P:E5 SP:FB CYC:290 SL:191
F44D EA NOP A:E1 X:FF Y:F5 P:E5 SP:FB CYC:296 SL:191
F44E 20 23 FB JSR $FB23 A:E1 X:FF Y:F5 P:E5 SP:FB CYC:302 SL:191
FB23 50 50 BVC $FB75 A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:320 SL:191
FB25 90 4E BCC $FB75 A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:326 SL:191
FB27 10 4C BPL $FB75 A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:332 SL:191
FB29 C9 E1 CMP #$E1 A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:338 SL:191
FB2B D0 48 BNE $FB75 A:E1 X:FF Y:F5 P:67 SP:F9 CYC: 3 SL:192
FB2D 60 RTS A:E1 X:FF Y:F5 P:67 SP:F9 CYC: 9 SL:192
F451 A5 47 LDA $47 = 52 A:E1 X:FF Y:F5 P:67 SP:FB CYC: 27 SL:192
F453 C9 52 CMP #$52 A:52 X:FF Y:F5 P:65 SP:FB CYC: 36 SL:192
F455 F0 02 BEQ $F459 A:52 X:FF Y:F5 P:67 SP:FB CYC: 42 SL:192
F459 C8 INY A:52 X:FF Y:F5 P:67 SP:FB CYC: 51 SL:192
F45A A9 29 LDA #$29 A:52 X:FF Y:F6 P:E5 SP:FB CYC: 57 SL:192
F45C 85 47 STA $47 = 52 A:29 X:FF Y:F6 P:65 SP:FB CYC: 63 SL:192
F45E 20 2E FB JSR $FB2E A:29 X:FF Y:F6 P:65 SP:FB CYC: 72 SL:192
FB2E B8 CLV A:29 X:FF Y:F6 P:65 SP:F9 CYC: 90 SL:192
FB2F 18 CLC A:29 X:FF Y:F6 P:25 SP:F9 CYC: 96 SL:192
FB30 A9 42 LDA #$42 A:29 X:FF Y:F6 P:24 SP:F9 CYC:102 SL:192
FB32 60 RTS A:42 X:FF Y:F6 P:24 SP:F9 CYC:108 SL:192
F461 57 48 *SRE $48,X @ 47 = 29 A:42 X:FF Y:F6 P:24 SP:FB CYC:126 SL:192
F463 EA NOP A:56 X:FF Y:F6 P:25 SP:FB CYC:144 SL:192
F464 EA NOP A:56 X:FF Y:F6 P:25 SP:FB CYC:150 SL:192
F465 EA NOP A:56 X:FF Y:F6 P:25 SP:FB CYC:156 SL:192
F466 EA NOP A:56 X:FF Y:F6 P:25 SP:FB CYC:162 SL:192
F467 20 33 FB JSR $FB33 A:56 X:FF Y:F6 P:25 SP:FB CYC:168 SL:192
FB33 70 40 BVS $FB75 A:56 X:FF Y:F6 P:25 SP:F9 CYC:186 SL:192
FB35 F0 3E BEQ $FB75 A:56 X:FF Y:F6 P:25 SP:F9 CYC:192 SL:192
FB37 30 3C BMI $FB75 A:56 X:FF Y:F6 P:25 SP:F9 CYC:198 SL:192
FB39 90 3A BCC $FB75 A:56 X:FF Y:F6 P:25 SP:F9 CYC:204 SL:192
FB3B C9 56 CMP #$56 A:56 X:FF Y:F6 P:25 SP:F9 CYC:210 SL:192
FB3D D0 36 BNE $FB75 A:56 X:FF Y:F6 P:27 SP:F9 CYC:216 SL:192
FB3F 60 RTS A:56 X:FF Y:F6 P:27 SP:F9 CYC:222 SL:192
F46A A5 47 LDA $47 = 14 A:56 X:FF Y:F6 P:27 SP:FB CYC:240 SL:192
F46C C9 14 CMP #$14 A:14 X:FF Y:F6 P:25 SP:FB CYC:249 SL:192
F46E F0 02 BEQ $F472 A:14 X:FF Y:F6 P:27 SP:FB CYC:255 SL:192
F472 C8 INY A:14 X:FF Y:F6 P:27 SP:FB CYC:264 SL:192
F473 A9 37 LDA #$37 A:14 X:FF Y:F7 P:A5 SP:FB CYC:270 SL:192
F475 85 47 STA $47 = 14 A:37 X:FF Y:F7 P:25 SP:FB CYC:276 SL:192
F477 20 40 FB JSR $FB40 A:37 X:FF Y:F7 P:25 SP:FB CYC:285 SL:192
FB40 24 01 BIT $01 = FF A:37 X:FF Y:F7 P:25 SP:F9 CYC:303 SL:192
FB42 38 SEC A:37 X:FF Y:F7 P:E5 SP:F9 CYC:312 SL:192
FB43 A9 75 LDA #$75 A:37 X:FF Y:F7 P:E5 SP:F9 CYC:318 SL:192
FB45 60 RTS A:75 X:FF Y:F7 P:65 SP:F9 CYC:324 SL:192
F47A 57 48 *SRE $48,X @ 47 = 37 A:75 X:FF Y:F7 P:65 SP:FB CYC: 1 SL:193
F47C EA NOP A:6E X:FF Y:F7 P:65 SP:FB CYC: 19 SL:193
F47D EA NOP A:6E X:FF Y:F7 P:65 SP:FB CYC: 25 SL:193
F47E EA NOP A:6E X:FF Y:F7 P:65 SP:FB CYC: 31 SL:193
F47F EA NOP A:6E X:FF Y:F7 P:65 SP:FB CYC: 37 SL:193
F480 20 46 FB JSR $FB46 A:6E X:FF Y:F7 P:65 SP:FB CYC: 43 SL:193
FB46 50 2D BVC $FB75 A:6E X:FF Y:F7 P:65 SP:F9 CYC: 61 SL:193
FB48 F0 2B BEQ $FB75 A:6E X:FF Y:F7 P:65 SP:F9 CYC: 67 SL:193
FB4A 30 29 BMI $FB75 A:6E X:FF Y:F7 P:65 SP:F9 CYC: 73 SL:193
FB4C 90 27 BCC $FB75 A:6E X:FF Y:F7 P:65 SP:F9 CYC: 79 SL:193
FB4E C9 6E CMP #$6E A:6E X:FF Y:F7 P:65 SP:F9 CYC: 85 SL:193
FB50 D0 23 BNE $FB75 A:6E X:FF Y:F7 P:67 SP:F9 CYC: 91 SL:193
FB52 60 RTS A:6E X:FF Y:F7 P:67 SP:F9 CYC: 97 SL:193
F483 A5 47 LDA $47 = 1B A:6E X:FF Y:F7 P:67 SP:FB CYC:115 SL:193
F485 C9 1B CMP #$1B A:1B X:FF Y:F7 P:65 SP:FB CYC:124 SL:193
F487 F0 02 BEQ $F48B A:1B X:FF Y:F7 P:67 SP:FB CYC:130 SL:193
F48B A9 A5 LDA #$A5 A:1B X:FF Y:F7 P:67 SP:FB CYC:139 SL:193
F48D 8D 47 06 STA $0647 = 1B A:A5 X:FF Y:F7 P:E5 SP:FB CYC:145 SL:193
F490 A0 FF LDY #$FF A:A5 X:FF Y:F7 P:E5 SP:FB CYC:157 SL:193
F492 20 1D FB JSR $FB1D A:A5 X:FF Y:FF P:E5 SP:FB CYC:163 SL:193
FB1D 24 01 BIT $01 = FF A:A5 X:FF Y:FF P:E5 SP:F9 CYC:181 SL:193
FB1F 18 CLC A:A5 X:FF Y:FF P:E5 SP:F9 CYC:190 SL:193
FB20 A9 B3 LDA #$B3 A:A5 X:FF Y:FF P:E4 SP:F9 CYC:196 SL:193
FB22 60 RTS A:B3 X:FF Y:FF P:E4 SP:F9 CYC:202 SL:193
F495 5B 48 05 *SRE $0548,Y @ 0647 = A5 A:B3 X:FF Y:FF P:E4 SP:FB CYC:220 SL:193
F498 EA NOP A:E1 X:FF Y:FF P:E5 SP:FB CYC:241 SL:193
F499 EA NOP A:E1 X:FF Y:FF P:E5 SP:FB CYC:247 SL:193
F49A 08 PHP A:E1 X:FF Y:FF P:E5 SP:FB CYC:253 SL:193
F49B 48 PHA A:E1 X:FF Y:FF P:E5 SP:FA CYC:262 SL:193
F49C A0 F8 LDY #$F8 A:E1 X:FF Y:FF P:E5 SP:F9 CYC:271 SL:193
F49E 68 PLA A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:277 SL:193
F49F 28 PLP A:E1 X:FF Y:F8 P:E5 SP:FA CYC:289 SL:193
F4A0 20 23 FB JSR $FB23 A:E1 X:FF Y:F8 P:E5 SP:FB CYC:301 SL:193
FB23 50 50 BVC $FB75 A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:319 SL:193
FB25 90 4E BCC $FB75 A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:325 SL:193
FB27 10 4C BPL $FB75 A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:331 SL:193
FB29 C9 E1 CMP #$E1 A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:337 SL:193
FB2B D0 48 BNE $FB75 A:E1 X:FF Y:F8 P:67 SP:F9 CYC: 2 SL:194
FB2D 60 RTS A:E1 X:FF Y:F8 P:67 SP:F9 CYC: 8 SL:194
F4A3 AD 47 06 LDA $0647 = 52 A:E1 X:FF Y:F8 P:67 SP:FB CYC: 26 SL:194
F4A6 C9 52 CMP #$52 A:52 X:FF Y:F8 P:65 SP:FB CYC: 38 SL:194
F4A8 F0 02 BEQ $F4AC A:52 X:FF Y:F8 P:67 SP:FB CYC: 44 SL:194
F4AC A0 FF LDY #$FF A:52 X:FF Y:F8 P:67 SP:FB CYC: 53 SL:194
F4AE A9 29 LDA #$29 A:52 X:FF Y:FF P:E5 SP:FB CYC: 59 SL:194
F4B0 8D 47 06 STA $0647 = 52 A:29 X:FF Y:FF P:65 SP:FB CYC: 65 SL:194
F4B3 20 2E FB JSR $FB2E A:29 X:FF Y:FF P:65 SP:FB CYC: 77 SL:194
FB2E B8 CLV A:29 X:FF Y:FF P:65 SP:F9 CYC: 95 SL:194
FB2F 18 CLC A:29 X:FF Y:FF P:25 SP:F9 CYC:101 SL:194
FB30 A9 42 LDA #$42 A:29 X:FF Y:FF P:24 SP:F9 CYC:107 SL:194
FB32 60 RTS A:42 X:FF Y:FF P:24 SP:F9 CYC:113 SL:194
F4B6 5B 48 05 *SRE $0548,Y @ 0647 = 29 A:42 X:FF Y:FF P:24 SP:FB CYC:131 SL:194
F4B9 EA NOP A:56 X:FF Y:FF P:25 SP:FB CYC:152 SL:194
F4BA EA NOP A:56 X:FF Y:FF P:25 SP:FB CYC:158 SL:194
F4BB 08 PHP A:56 X:FF Y:FF P:25 SP:FB CYC:164 SL:194
F4BC 48 PHA A:56 X:FF Y:FF P:25 SP:FA CYC:173 SL:194
F4BD A0 F9 LDY #$F9 A:56 X:FF Y:FF P:25 SP:F9 CYC:182 SL:194
F4BF 68 PLA A:56 X:FF Y:F9 P:A5 SP:F9 CYC:188 SL:194
F4C0 28 PLP A:56 X:FF Y:F9 P:25 SP:FA CYC:200 SL:194
F4C1 20 33 FB JSR $FB33 A:56 X:FF Y:F9 P:25 SP:FB CYC:212 SL:194
FB33 70 40 BVS $FB75 A:56 X:FF Y:F9 P:25 SP:F9 CYC:230 SL:194
FB35 F0 3E BEQ $FB75 A:56 X:FF Y:F9 P:25 SP:F9 CYC:236 SL:194
FB37 30 3C BMI $FB75 A:56 X:FF Y:F9 P:25 SP:F9 CYC:242 SL:194
FB39 90 3A BCC $FB75 A:56 X:FF Y:F9 P:25 SP:F9 CYC:248 SL:194
FB3B C9 56 CMP #$56 A:56 X:FF Y:F9 P:25 SP:F9 CYC:254 SL:194
FB3D D0 36 BNE $FB75 A:56 X:FF Y:F9 P:27 SP:F9 CYC:260 SL:194
FB3F 60 RTS A:56 X:FF Y:F9 P:27 SP:F9 CYC:266 SL:194
F4C4 AD 47 06 LDA $0647 = 14 A:56 X:FF Y:F9 P:27 SP:FB CYC:284 SL:194
F4C7 C9 14 CMP #$14 A:14 X:FF Y:F9 P:25 SP:FB CYC:296 SL:194
F4C9 F0 02 BEQ $F4CD A:14 X:FF Y:F9 P:27 SP:FB CYC:302 SL:194
F4CD A0 FF LDY #$FF A:14 X:FF Y:F9 P:27 SP:FB CYC:311 SL:194
F4CF A9 37 LDA #$37 A:14 X:FF Y:FF P:A5 SP:FB CYC:317 SL:194
F4D1 8D 47 06 STA $0647 = 14 A:37 X:FF Y:FF P:25 SP:FB CYC:323 SL:194
F4D4 20 40 FB JSR $FB40 A:37 X:FF Y:FF P:25 SP:FB CYC:335 SL:194
FB40 24 01 BIT $01 = FF A:37 X:FF Y:FF P:25 SP:F9 CYC: 12 SL:195
FB42 38 SEC A:37 X:FF Y:FF P:E5 SP:F9 CYC: 21 SL:195
FB43 A9 75 LDA #$75 A:37 X:FF Y:FF P:E5 SP:F9 CYC: 27 SL:195
FB45 60 RTS A:75 X:FF Y:FF P:65 SP:F9 CYC: 33 SL:195
F4D7 5B 48 05 *SRE $0548,Y @ 0647 = 37 A:75 X:FF Y:FF P:65 SP:FB CYC: 51 SL:195
F4DA EA NOP A:6E X:FF Y:FF P:65 SP:FB CYC: 72 SL:195
F4DB EA NOP A:6E X:FF Y:FF P:65 SP:FB CYC: 78 SL:195
F4DC 08 PHP A:6E X:FF Y:FF P:65 SP:FB CYC: 84 SL:195
F4DD 48 PHA A:6E X:FF Y:FF P:65 SP:FA CYC: 93 SL:195
F4DE A0 FA LDY #$FA A:6E X:FF Y:FF P:65 SP:F9 CYC:102 SL:195
F4E0 68 PLA A:6E X:FF Y:FA P:E5 SP:F9 CYC:108 SL:195
F4E1 28 PLP A:6E X:FF Y:FA P:65 SP:FA CYC:120 SL:195
F4E2 20 46 FB JSR $FB46 A:6E X:FF Y:FA P:65 SP:FB CYC:132 SL:195
FB46 50 2D BVC $FB75 A:6E X:FF Y:FA P:65 SP:F9 CYC:150 SL:195
FB48 F0 2B BEQ $FB75 A:6E X:FF Y:FA P:65 SP:F9 CYC:156 SL:195
FB4A 30 29 BMI $FB75 A:6E X:FF Y:FA P:65 SP:F9 CYC:162 SL:195
FB4C 90 27 BCC $FB75 A:6E X:FF Y:FA P:65 SP:F9 CYC:168 SL:195
FB4E C9 6E CMP #$6E A:6E X:FF Y:FA P:65 SP:F9 CYC:174 SL:195
FB50 D0 23 BNE $FB75 A:6E X:FF Y:FA P:67 SP:F9 CYC:180 SL:195
FB52 60 RTS A:6E X:FF Y:FA P:67 SP:F9 CYC:186 SL:195
F4E5 AD 47 06 LDA $0647 = 1B A:6E X:FF Y:FA P:67 SP:FB CYC:204 SL:195
F4E8 C9 1B CMP #$1B A:1B X:FF Y:FA P:65 SP:FB CYC:216 SL:195
F4EA F0 02 BEQ $F4EE A:1B X:FF Y:FA P:67 SP:FB CYC:222 SL:195
F4EE A0 FB LDY #$FB A:1B X:FF Y:FA P:67 SP:FB CYC:231 SL:195
F4F0 A2 FF LDX #$FF A:1B X:FF Y:FB P:E5 SP:FB CYC:237 SL:195
F4F2 A9 A5 LDA #$A5 A:1B X:FF Y:FB P:E5 SP:FB CYC:243 SL:195
F4F4 8D 47 06 STA $0647 = 1B A:A5 X:FF Y:FB P:E5 SP:FB CYC:249 SL:195
F4F7 20 1D FB JSR $FB1D A:A5 X:FF Y:FB P:E5 SP:FB CYC:261 SL:195
FB1D 24 01 BIT $01 = FF A:A5 X:FF Y:FB P:E5 SP:F9 CYC:279 SL:195
FB1F 18 CLC A:A5 X:FF Y:FB P:E5 SP:F9 CYC:288 SL:195
FB20 A9 B3 LDA #$B3 A:A5 X:FF Y:FB P:E4 SP:F9 CYC:294 SL:195
FB22 60 RTS A:B3 X:FF Y:FB P:E4 SP:F9 CYC:300 SL:195
F4FA 5F 48 05 *SRE $0548,X @ 0647 = A5 A:B3 X:FF Y:FB P:E4 SP:FB CYC:318 SL:195
F4FD EA NOP A:E1 X:FF Y:FB P:E5 SP:FB CYC:339 SL:195
F4FE EA NOP A:E1 X:FF Y:FB P:E5 SP:FB CYC: 4 SL:196
F4FF EA NOP A:E1 X:FF Y:FB P:E5 SP:FB CYC: 10 SL:196
F500 EA NOP A:E1 X:FF Y:FB P:E5 SP:FB CYC: 16 SL:196
F501 20 23 FB JSR $FB23 A:E1 X:FF Y:FB P:E5 SP:FB CYC: 22 SL:196
FB23 50 50 BVC $FB75 A:E1 X:FF Y:FB P:E5 SP:F9 CYC: 40 SL:196
FB25 90 4E BCC $FB75 A:E1 X:FF Y:FB P:E5 SP:F9 CYC: 46 SL:196
FB27 10 4C BPL $FB75 A:E1 X:FF Y:FB P:E5 SP:F9 CYC: 52 SL:196
FB29 C9 E1 CMP #$E1 A:E1 X:FF Y:FB P:E5 SP:F9 CYC: 58 SL:196
FB2B D0 48 BNE $FB75 A:E1 X:FF Y:FB P:67 SP:F9 CYC: 64 SL:196
FB2D 60 RTS A:E1 X:FF Y:FB P:67 SP:F9 CYC: 70 SL:196
F504 AD 47 06 LDA $0647 = 52 A:E1 X:FF Y:FB P:67 SP:FB CYC: 88 SL:196
F507 C9 52 CMP #$52 A:52 X:FF Y:FB P:65 SP:FB CYC:100 SL:196
F509 F0 02 BEQ $F50D A:52 X:FF Y:FB P:67 SP:FB CYC:106 SL:196
F50D C8 INY A:52 X:FF Y:FB P:67 SP:FB CYC:115 SL:196
F50E A9 29 LDA #$29 A:52 X:FF Y:FC P:E5 SP:FB CYC:121 SL:196
F510 8D 47 06 STA $0647 = 52 A:29 X:FF Y:FC P:65 SP:FB CYC:127 SL:196
F513 20 2E FB JSR $FB2E A:29 X:FF Y:FC P:65 SP:FB CYC:139 SL:196
FB2E B8 CLV A:29 X:FF Y:FC P:65 SP:F9 CYC:157 SL:196
FB2F 18 CLC A:29 X:FF Y:FC P:25 SP:F9 CYC:163 SL:196
FB30 A9 42 LDA #$42 A:29 X:FF Y:FC P:24 SP:F9 CYC:169 SL:196
FB32 60 RTS A:42 X:FF Y:FC P:24 SP:F9 CYC:175 SL:196
F516 5F 48 05 *SRE $0548,X @ 0647 = 29 A:42 X:FF Y:FC P:24 SP:FB CYC:193 SL:196
F519 EA NOP A:56 X:FF Y:FC P:25 SP:FB CYC:214 SL:196
F51A EA NOP A:56 X:FF Y:FC P:25 SP:FB CYC:220 SL:196
F51B EA NOP A:56 X:FF Y:FC P:25 SP:FB CYC:226 SL:196
F51C EA NOP A:56 X:FF Y:FC P:25 SP:FB CYC:232 SL:196
F51D 20 33 FB JSR $FB33 A:56 X:FF Y:FC P:25 SP:FB CYC:238 SL:196
FB33 70 40 BVS $FB75 A:56 X:FF Y:FC P:25 SP:F9 CYC:256 SL:196
FB35 F0 3E BEQ $FB75 A:56 X:FF Y:FC P:25 SP:F9 CYC:262 SL:196
FB37 30 3C BMI $FB75 A:56 X:FF Y:FC P:25 SP:F9 CYC:268 SL:196
FB39 90 3A BCC $FB75 A:56 X:FF Y:FC P:25 SP:F9 CYC:274 SL:196
FB3B C9 56 CMP #$56 A:56 X:FF Y:FC P:25 SP:F9 CYC:280 SL:196
FB3D D0 36 BNE $FB75 A:56 X:FF Y:FC P:27 SP:F9 CYC:286 SL:196
FB3F 60 RTS A:56 X:FF Y:FC P:27 SP:F9 CYC:292 SL:196
F520 AD 47 06 LDA $0647 = 14 A:56 X:FF Y:FC P:27 SP:FB CYC:310 SL:196
F523 C9 14 CMP #$14 A:14 X:FF Y:FC P:25 SP:FB CYC:322 SL:196
F525 F0 02 BEQ $F529 A:14 X:FF Y:FC P:27 SP:FB CYC:328 SL:196
F529 C8 INY A:14 X:FF Y:FC P:27 SP:FB CYC:337 SL:196
F52A A9 37 LDA #$37 A:14 X:FF Y:FD P:A5 SP:FB CYC: 2 SL:197
F52C 8D 47 06 STA $0647 = 14 A:37 X:FF Y:FD P:25 SP:FB CYC: 8 SL:197
F52F 20 40 FB JSR $FB40 A:37 X:FF Y:FD P:25 SP:FB CYC: 20 SL:197
FB40 24 01 BIT $01 = FF A:37 X:FF Y:FD P:25 SP:F9 CYC: 38 SL:197
FB42 38 SEC A:37 X:FF Y:FD P:E5 SP:F9 CYC: 47 SL:197
FB43 A9 75 LDA #$75 A:37 X:FF Y:FD P:E5 SP:F9 CYC: 53 SL:197
FB45 60 RTS A:75 X:FF Y:FD P:65 SP:F9 CYC: 59 SL:197
F532 5F 48 05 *SRE $0548,X @ 0647 = 37 A:75 X:FF Y:FD P:65 SP:FB CYC: 77 SL:197
F535 EA NOP A:6E X:FF Y:FD P:65 SP:FB CYC: 98 SL:197
F536 EA NOP A:6E X:FF Y:FD P:65 SP:FB CYC:104 SL:197
F537 EA NOP A:6E X:FF Y:FD P:65 SP:FB CYC:110 SL:197
F538 EA NOP A:6E X:FF Y:FD P:65 SP:FB CYC:116 SL:197
F539 20 46 FB JSR $FB46 A:6E X:FF Y:FD P:65 SP:FB CYC:122 SL:197
FB46 50 2D BVC $FB75 A:6E X:FF Y:FD P:65 SP:F9 CYC:140 SL:197
FB48 F0 2B BEQ $FB75 A:6E X:FF Y:FD P:65 SP:F9 CYC:146 SL:197
FB4A 30 29 BMI $FB75 A:6E X:FF Y:FD P:65 SP:F9 CYC:152 SL:197
FB4C 90 27 BCC $FB75 A:6E X:FF Y:FD P:65 SP:F9 CYC:158 SL:197
FB4E C9 6E CMP #$6E A:6E X:FF Y:FD P:65 SP:F9 CYC:164 SL:197
FB50 D0 23 BNE $FB75 A:6E X:FF Y:FD P:67 SP:F9 CYC:170 SL:197
FB52 60 RTS A:6E X:FF Y:FD P:67 SP:F9 CYC:176 SL:197
F53C AD 47 06 LDA $0647 = 1B A:6E X:FF Y:FD P:67 SP:FB CYC:194 SL:197
F53F C9 1B CMP #$1B A:1B X:FF Y:FD P:65 SP:FB CYC:206 SL:197
F541 F0 02 BEQ $F545 A:1B X:FF Y:FD P:67 SP:FB CYC:212 SL:197
F545 60 RTS A:1B X:FF Y:FD P:67 SP:FB CYC:221 SL:197
C64A A5 00 LDA $00 = 00 A:1B X:FF Y:FD P:67 SP:FD CYC:239 SL:197
C64C 85 11 STA $11 = 00 A:00 X:FF Y:FD P:67 SP:FD CYC:248 SL:197
C64E A9 00 LDA #$00 A:00 X:FF Y:FD P:67 SP:FD CYC:257 SL:197
C650 85 00 STA $00 = 00 A:00 X:FF Y:FD P:67 SP:FD CYC:263 SL:197
C652 20 46 F5 JSR $F546 A:00 X:FF Y:FD P:67 SP:FD CYC:272 SL:197
F546 A9 FF LDA #$FF A:00 X:FF Y:FD P:67 SP:FB CYC:290 SL:197
F548 85 01 STA $01 = FF A:FF X:FF Y:FD P:E5 SP:FB CYC:296 SL:197
F54A A0 01 LDY #$01 A:FF X:FF Y:FD P:E5 SP:FB CYC:305 SL:197
F54C A2 02 LDX #$02 A:FF X:FF Y:01 P:65 SP:FB CYC:311 SL:197
F54E A9 47 LDA #$47 A:FF X:02 Y:01 P:65 SP:FB CYC:317 SL:197
F550 85 47 STA $47 = 1B A:47 X:02 Y:01 P:65 SP:FB CYC:323 SL:197
F552 A9 06 LDA #$06 A:47 X:02 Y:01 P:65 SP:FB CYC:332 SL:197
F554 85 48 STA $48 = 06 A:06 X:02 Y:01 P:65 SP:FB CYC:338 SL:197
F556 A9 A5 LDA #$A5 A:06 X:02 Y:01 P:65 SP:FB CYC: 6 SL:198
F558 8D 47 06 STA $0647 = 1B A:A5 X:02 Y:01 P:E5 SP:FB CYC: 12 SL:198
F55B 20 E9 FA JSR $FAE9 A:A5 X:02 Y:01 P:E5 SP:FB CYC: 24 SL:198
FAE9 24 01 BIT $01 = FF A:A5 X:02 Y:01 P:E5 SP:F9 CYC: 42 SL:198
FAEB 18 CLC A:A5 X:02 Y:01 P:E5 SP:F9 CYC: 51 SL:198
FAEC A9 B2 LDA #$B2 A:A5 X:02 Y:01 P:E4 SP:F9 CYC: 57 SL:198
FAEE 60 RTS A:B2 X:02 Y:01 P:E4 SP:F9 CYC: 63 SL:198
F55E 63 45 *RRA ($45,X) @ 47 = 0647 = A5 A:B2 X:02 Y:01 P:E4 SP:FB CYC: 81 SL:198
F560 EA NOP A:05 X:02 Y:01 P:25 SP:FB CYC:105 SL:198
F561 EA NOP A:05 X:02 Y:01 P:25 SP:FB CYC:111 SL:198
F562 EA NOP A:05 X:02 Y:01 P:25 SP:FB CYC:117 SL:198
F563 EA NOP A:05 X:02 Y:01 P:25 SP:FB CYC:123 SL:198
F564 20 EF FA JSR $FAEF A:05 X:02 Y:01 P:25 SP:FB CYC:129 SL:198
FAEF 70 2A BVS $FB1B A:05 X:02 Y:01 P:25 SP:F9 CYC:147 SL:198
FAF1 90 28 BCC $FB1B A:05 X:02 Y:01 P:25 SP:F9 CYC:153 SL:198
FAF3 30 26 BMI $FB1B A:05 X:02 Y:01 P:25 SP:F9 CYC:159 SL:198
FAF5 C9 05 CMP #$05 A:05 X:02 Y:01 P:25 SP:F9 CYC:165 SL:198
FAF7 D0 22 BNE $FB1B A:05 X:02 Y:01 P:27 SP:F9 CYC:171 SL:198
FAF9 60 RTS A:05 X:02 Y:01 P:27 SP:F9 CYC:177 SL:198
F567 AD 47 06 LDA $0647 = 52 A:05 X:02 Y:01 P:27 SP:FB CYC:195 SL:198
F56A C9 52 CMP #$52 A:52 X:02 Y:01 P:25 SP:FB CYC:207 SL:198
F56C F0 02 BEQ $F570 A:52 X:02 Y:01 P:27 SP:FB CYC:213 SL:198
F570 C8 INY A:52 X:02 Y:01 P:27 SP:FB CYC:222 SL:198
F571 A9 29 LDA #$29 A:52 X:02 Y:02 P:25 SP:FB CYC:228 SL:198
F573 8D 47 06 STA $0647 = 52 A:29 X:02 Y:02 P:25 SP:FB CYC:234 SL:198
F576 20 FA FA JSR $FAFA A:29 X:02 Y:02 P:25 SP:FB CYC:246 SL:198
FAFA B8 CLV A:29 X:02 Y:02 P:25 SP:F9 CYC:264 SL:198
FAFB 18 CLC A:29 X:02 Y:02 P:25 SP:F9 CYC:270 SL:198
FAFC A9 42 LDA #$42 A:29 X:02 Y:02 P:24 SP:F9 CYC:276 SL:198
FAFE 60 RTS A:42 X:02 Y:02 P:24 SP:F9 CYC:282 SL:198
F579 63 45 *RRA ($45,X) @ 47 = 0647 = 29 A:42 X:02 Y:02 P:24 SP:FB CYC:300 SL:198
F57B EA NOP A:57 X:02 Y:02 P:24 SP:FB CYC:324 SL:198
F57C EA NOP A:57 X:02 Y:02 P:24 SP:FB CYC:330 SL:198
F57D EA NOP A:57 X:02 Y:02 P:24 SP:FB CYC:336 SL:198
F57E EA NOP A:57 X:02 Y:02 P:24 SP:FB CYC: 1 SL:199
F57F 20 FF FA JSR $FAFF A:57 X:02 Y:02 P:24 SP:FB CYC: 7 SL:199
FAFF 70 1A BVS $FB1B A:57 X:02 Y:02 P:24 SP:F9 CYC: 25 SL:199
FB01 30 18 BMI $FB1B A:57 X:02 Y:02 P:24 SP:F9 CYC: 31 SL:199
FB03 B0 16 BCS $FB1B A:57 X:02 Y:02 P:24 SP:F9 CYC: 37 SL:199
FB05 C9 57 CMP #$57 A:57 X:02 Y:02 P:24 SP:F9 CYC: 43 SL:199
FB07 D0 12 BNE $FB1B A:57 X:02 Y:02 P:27 SP:F9 CYC: 49 SL:199
FB09 60 RTS A:57 X:02 Y:02 P:27 SP:F9 CYC: 55 SL:199
F582 AD 47 06 LDA $0647 = 14 A:57 X:02 Y:02 P:27 SP:FB CYC: 73 SL:199
F585 C9 14 CMP #$14 A:14 X:02 Y:02 P:25 SP:FB CYC: 85 SL:199
F587 F0 02 BEQ $F58B A:14 X:02 Y:02 P:27 SP:FB CYC: 91 SL:199
F58B C8 INY A:14 X:02 Y:02 P:27 SP:FB CYC:100 SL:199
F58C A9 37 LDA #$37 A:14 X:02 Y:03 P:25 SP:FB CYC:106 SL:199
F58E 8D 47 06 STA $0647 = 14 A:37 X:02 Y:03 P:25 SP:FB CYC:112 SL:199
F591 20 0A FB JSR $FB0A A:37 X:02 Y:03 P:25 SP:FB CYC:124 SL:199
FB0A 24 01 BIT $01 = FF A:37 X:02 Y:03 P:25 SP:F9 CYC:142 SL:199
FB0C 38 SEC A:37 X:02 Y:03 P:E5 SP:F9 CYC:151 SL:199
FB0D A9 75 LDA #$75 A:37 X:02 Y:03 P:E5 SP:F9 CYC:157 SL:199
FB0F 60 RTS A:75 X:02 Y:03 P:65 SP:F9 CYC:163 SL:199
F594 63 45 *RRA ($45,X) @ 47 = 0647 = 37 A:75 X:02 Y:03 P:65 SP:FB CYC:181 SL:199
F596 EA NOP A:11 X:02 Y:03 P:25 SP:FB CYC:205 SL:199
F597 EA NOP A:11 X:02 Y:03 P:25 SP:FB CYC:211 SL:199
F598 EA NOP A:11 X:02 Y:03 P:25 SP:FB CYC:217 SL:199
F599 EA NOP A:11 X:02 Y:03 P:25 SP:FB CYC:223 SL:199
F59A 20 10 FB JSR $FB10 A:11 X:02 Y:03 P:25 SP:FB CYC:229 SL:199
FB10 70 09 BVS $FB1B A:11 X:02 Y:03 P:25 SP:F9 CYC:247 SL:199
FB12 30 07 BMI $FB1B A:11 X:02 Y:03 P:25 SP:F9 CYC:253 SL:199
FB14 90 05 BCC $FB1B A:11 X:02 Y:03 P:25 SP:F9 CYC:259 SL:199
FB16 C9 11 CMP #$11 A:11 X:02 Y:03 P:25 SP:F9 CYC:265 SL:199
FB18 D0 01 BNE $FB1B A:11 X:02 Y:03 P:27 SP:F9 CYC:271 SL:199
FB1A 60 RTS A:11 X:02 Y:03 P:27 SP:F9 CYC:277 SL:199
F59D AD 47 06 LDA $0647 = 9B A:11 X:02 Y:03 P:27 SP:FB CYC:295 SL:199
F5A0 C9 9B CMP #$9B A:9B X:02 Y:03 P:A5 SP:FB CYC:307 SL:199
F5A2 F0 02 BEQ $F5A6 A:9B X:02 Y:03 P:27 SP:FB CYC:313 SL:199
F5A6 C8 INY A:9B X:02 Y:03 P:27 SP:FB CYC:322 SL:199
F5A7 A9 A5 LDA #$A5 A:9B X:02 Y:04 P:25 SP:FB CYC:328 SL:199
F5A9 85 47 STA $47 = 47 A:A5 X:02 Y:04 P:A5 SP:FB CYC:334 SL:199
F5AB 20 E9 FA JSR $FAE9 A:A5 X:02 Y:04 P:A5 SP:FB CYC: 2 SL:200
FAE9 24 01 BIT $01 = FF A:A5 X:02 Y:04 P:A5 SP:F9 CYC: 20 SL:200
FAEB 18 CLC A:A5 X:02 Y:04 P:E5 SP:F9 CYC: 29 SL:200
FAEC A9 B2 LDA #$B2 A:A5 X:02 Y:04 P:E4 SP:F9 CYC: 35 SL:200
FAEE 60 RTS A:B2 X:02 Y:04 P:E4 SP:F9 CYC: 41 SL:200
F5AE 67 47 *RRA $47 = A5 A:B2 X:02 Y:04 P:E4 SP:FB CYC: 59 SL:200
F5B0 EA NOP A:05 X:02 Y:04 P:25 SP:FB CYC: 74 SL:200
F5B1 EA NOP A:05 X:02 Y:04 P:25 SP:FB CYC: 80 SL:200
F5B2 EA NOP A:05 X:02 Y:04 P:25 SP:FB CYC: 86 SL:200
F5B3 EA NOP A:05 X:02 Y:04 P:25 SP:FB CYC: 92 SL:200
F5B4 20 EF FA JSR $FAEF A:05 X:02 Y:04 P:25 SP:FB CYC: 98 SL:200
FAEF 70 2A BVS $FB1B A:05 X:02 Y:04 P:25 SP:F9 CYC:116 SL:200
FAF1 90 28 BCC $FB1B A:05 X:02 Y:04 P:25 SP:F9 CYC:122 SL:200
FAF3 30 26 BMI $FB1B A:05 X:02 Y:04 P:25 SP:F9 CYC:128 SL:200
FAF5 C9 05 CMP #$05 A:05 X:02 Y:04 P:25 SP:F9 CYC:134 SL:200
FAF7 D0 22 BNE $FB1B A:05 X:02 Y:04 P:27 SP:F9 CYC:140 SL:200
FAF9 60 RTS A:05 X:02 Y:04 P:27 SP:F9 CYC:146 SL:200
F5B7 A5 47 LDA $47 = 52 A:05 X:02 Y:04 P:27 SP:FB CYC:164 SL:200
F5B9 C9 52 CMP #$52 A:52 X:02 Y:04 P:25 SP:FB CYC:173 SL:200
F5BB F0 02 BEQ $F5BF A:52 X:02 Y:04 P:27 SP:FB CYC:179 SL:200
F5BF C8 INY A:52 X:02 Y:04 P:27 SP:FB CYC:188 SL:200
F5C0 A9 29 LDA #$29 A:52 X:02 Y:05 P:25 SP:FB CYC:194 SL:200
F5C2 85 47 STA $47 = 52 A:29 X:02 Y:05 P:25 SP:FB CYC:200 SL:200
F5C4 20 FA FA JSR $FAFA A:29 X:02 Y:05 P:25 SP:FB CYC:209 SL:200
FAFA B8 CLV A:29 X:02 Y:05 P:25 SP:F9 CYC:227 SL:200
FAFB 18 CLC A:29 X:02 Y:05 P:25 SP:F9 CYC:233 SL:200
FAFC A9 42 LDA #$42 A:29 X:02 Y:05 P:24 SP:F9 CYC:239 SL:200
FAFE 60 RTS A:42 X:02 Y:05 P:24 SP:F9 CYC:245 SL:200
F5C7 67 47 *RRA $47 = 29 A:42 X:02 Y:05 P:24 SP:FB CYC:263 SL:200
F5C9 EA NOP A:57 X:02 Y:05 P:24 SP:FB CYC:278 SL:200
F5CA EA NOP A:57 X:02 Y:05 P:24 SP:FB CYC:284 SL:200
F5CB EA NOP A:57 X:02 Y:05 P:24 SP:FB CYC:290 SL:200
F5CC EA NOP A:57 X:02 Y:05 P:24 SP:FB CYC:296 SL:200
F5CD 20 FF FA JSR $FAFF A:57 X:02 Y:05 P:24 SP:FB CYC:302 SL:200
FAFF 70 1A BVS $FB1B A:57 X:02 Y:05 P:24 SP:F9 CYC:320 SL:200
FB01 30 18 BMI $FB1B A:57 X:02 Y:05 P:24 SP:F9 CYC:326 SL:200
FB03 B0 16 BCS $FB1B A:57 X:02 Y:05 P:24 SP:F9 CYC:332 SL:200
FB05 C9 57 CMP #$57 A:57 X:02 Y:05 P:24 SP:F9 CYC:338 SL:200
FB07 D0 12 BNE $FB1B A:57 X:02 Y:05 P:27 SP:F9 CYC: 3 SL:201
FB09 60 RTS A:57 X:02 Y:05 P:27 SP:F9 CYC: 9 SL:201
F5D0 A5 47 LDA $47 = 14 A:57 X:02 Y:05 P:27 SP:FB CYC: 27 SL:201
F5D2 C9 14 CMP #$14 A:14 X:02 Y:05 P:25 SP:FB CYC: 36 SL:201
F5D4 F0 02 BEQ $F5D8 A:14 X:02 Y:05 P:27 SP:FB CYC: 42 SL:201
F5D8 C8 INY A:14 X:02 Y:05 P:27 SP:FB CYC: 51 SL:201
F5D9 A9 37 LDA #$37 A:14 X:02 Y:06 P:25 SP:FB CYC: 57 SL:201
F5DB 85 47 STA $47 = 14 A:37 X:02 Y:06 P:25 SP:FB CYC: 63 SL:201
F5DD 20 0A FB JSR $FB0A A:37 X:02 Y:06 P:25 SP:FB CYC: 72 SL:201
FB0A 24 01 BIT $01 = FF A:37 X:02 Y:06 P:25 SP:F9 CYC: 90 SL:201
FB0C 38 SEC A:37 X:02 Y:06 P:E5 SP:F9 CYC: 99 SL:201
FB0D A9 75 LDA #$75 A:37 X:02 Y:06 P:E5 SP:F9 CYC:105 SL:201
FB0F 60 RTS A:75 X:02 Y:06 P:65 SP:F9 CYC:111 SL:201
F5E0 67 47 *RRA $47 = 37 A:75 X:02 Y:06 P:65 SP:FB CYC:129 SL:201
F5E2 EA NOP A:11 X:02 Y:06 P:25 SP:FB CYC:144 SL:201
F5E3 EA NOP A:11 X:02 Y:06 P:25 SP:FB CYC:150 SL:201
F5E4 EA NOP A:11 X:02 Y:06 P:25 SP:FB CYC:156 SL:201
F5E5 EA NOP A:11 X:02 Y:06 P:25 SP:FB CYC:162 SL:201
F5E6 20 10 FB JSR $FB10 A:11 X:02 Y:06 P:25 SP:FB CYC:168 SL:201
FB10 70 09 BVS $FB1B A:11 X:02 Y:06 P:25 SP:F9 CYC:186 SL:201
FB12 30 07 BMI $FB1B A:11 X:02 Y:06 P:25 SP:F9 CYC:192 SL:201
FB14 90 05 BCC $FB1B A:11 X:02 Y:06 P:25 SP:F9 CYC:198 SL:201
FB16 C9 11 CMP #$11 A:11 X:02 Y:06 P:25 SP:F9 CYC:204 SL:201
FB18 D0 01 BNE $FB1B A:11 X:02 Y:06 P:27 SP:F9 CYC:210 SL:201
FB1A 60 RTS A:11 X:02 Y:06 P:27 SP:F9 CYC:216 SL:201
F5E9 A5 47 LDA $47 = 9B A:11 X:02 Y:06 P:27 SP:FB CYC:234 SL:201
F5EB C9 9B CMP #$9B A:9B X:02 Y:06 P:A5 SP:FB CYC:243 SL:201
F5ED F0 02 BEQ $F5F1 A:9B X:02 Y:06 P:27 SP:FB CYC:249 SL:201
F5F1 C8 INY A:9B X:02 Y:06 P:27 SP:FB CYC:258 SL:201
F5F2 A9 A5 LDA #$A5 A:9B X:02 Y:07 P:25 SP:FB CYC:264 SL:201
F5F4 8D 47 06 STA $0647 = 9B A:A5 X:02 Y:07 P:A5 SP:FB CYC:270 SL:201
F5F7 20 E9 FA JSR $FAE9 A:A5 X:02 Y:07 P:A5 SP:FB CYC:282 SL:201
FAE9 24 01 BIT $01 = FF A:A5 X:02 Y:07 P:A5 SP:F9 CYC:300 SL:201
FAEB 18 CLC A:A5 X:02 Y:07 P:E5 SP:F9 CYC:309 SL:201
FAEC A9 B2 LDA #$B2 A:A5 X:02 Y:07 P:E4 SP:F9 CYC:315 SL:201
FAEE 60 RTS A:B2 X:02 Y:07 P:E4 SP:F9 CYC:321 SL:201
F5FA 6F 47 06 *RRA $0647 = A5 A:B2 X:02 Y:07 P:E4 SP:FB CYC:339 SL:201
F5FD EA NOP A:05 X:02 Y:07 P:25 SP:FB CYC: 16 SL:202
F5FE EA NOP A:05 X:02 Y:07 P:25 SP:FB CYC: 22 SL:202
F5FF EA NOP A:05 X:02 Y:07 P:25 SP:FB CYC: 28 SL:202
F600 EA NOP A:05 X:02 Y:07 P:25 SP:FB CYC: 34 SL:202
F601 20 EF FA JSR $FAEF A:05 X:02 Y:07 P:25 SP:FB CYC: 40 SL:202
FAEF 70 2A BVS $FB1B A:05 X:02 Y:07 P:25 SP:F9 CYC: 58 SL:202
FAF1 90 28 BCC $FB1B A:05 X:02 Y:07 P:25 SP:F9 CYC: 64 SL:202
FAF3 30 26 BMI $FB1B A:05 X:02 Y:07 P:25 SP:F9 CYC: 70 SL:202
FAF5 C9 05 CMP #$05 A:05 X:02 Y:07 P:25 SP:F9 CYC: 76 SL:202
FAF7 D0 22 BNE $FB1B A:05 X:02 Y:07 P:27 SP:F9 CYC: 82 SL:202
FAF9 60 RTS A:05 X:02 Y:07 P:27 SP:F9 CYC: 88 SL:202
F604 AD 47 06 LDA $0647 = 52 A:05 X:02 Y:07 P:27 SP:FB CYC:106 SL:202
F607 C9 52 CMP #$52 A:52 X:02 Y:07 P:25 SP:FB CYC:118 SL:202
F609 F0 02 BEQ $F60D A:52 X:02 Y:07 P:27 SP:FB CYC:124 SL:202
F60D C8 INY A:52 X:02 Y:07 P:27 SP:FB CYC:133 SL:202
F60E A9 29 LDA #$29 A:52 X:02 Y:08 P:25 SP:FB CYC:139 SL:202
F610 8D 47 06 STA $0647 = 52 A:29 X:02 Y:08 P:25 SP:FB CYC:145 SL:202
F613 20 FA FA JSR $FAFA A:29 X:02 Y:08 P:25 SP:FB CYC:157 SL:202
FAFA B8 CLV A:29 X:02 Y:08 P:25 SP:F9 CYC:175 SL:202
FAFB 18 CLC A:29 X:02 Y:08 P:25 SP:F9 CYC:181 SL:202
FAFC A9 42 LDA #$42 A:29 X:02 Y:08 P:24 SP:F9 CYC:187 SL:202
FAFE 60 RTS A:42 X:02 Y:08 P:24 SP:F9 CYC:193 SL:202
F616 6F 47 06 *RRA $0647 = 29 A:42 X:02 Y:08 P:24 SP:FB CYC:211 SL:202
F619 EA NOP A:57 X:02 Y:08 P:24 SP:FB CYC:229 SL:202
F61A EA NOP A:57 X:02 Y:08 P:24 SP:FB CYC:235 SL:202
F61B EA NOP A:57 X:02 Y:08 P:24 SP:FB CYC:241 SL:202
F61C EA NOP A:57 X:02 Y:08 P:24 SP:FB CYC:247 SL:202
F61D 20 FF FA JSR $FAFF A:57 X:02 Y:08 P:24 SP:FB CYC:253 SL:202
FAFF 70 1A BVS $FB1B A:57 X:02 Y:08 P:24 SP:F9 CYC:271 SL:202
FB01 30 18 BMI $FB1B A:57 X:02 Y:08 P:24 SP:F9 CYC:277 SL:202
FB03 B0 16 BCS $FB1B A:57 X:02 Y:08 P:24 SP:F9 CYC:283 SL:202
FB05 C9 57 CMP #$57 A:57 X:02 Y:08 P:24 SP:F9 CYC:289 SL:202
FB07 D0 12 BNE $FB1B A:57 X:02 Y:08 P:27 SP:F9 CYC:295 SL:202
FB09 60 RTS A:57 X:02 Y:08 P:27 SP:F9 CYC:301 SL:202
F620 AD 47 06 LDA $0647 = 14 A:57 X:02 Y:08 P:27 SP:FB CYC:319 SL:202
F623 C9 14 CMP #$14 A:14 X:02 Y:08 P:25 SP:FB CYC:331 SL:202
F625 F0 02 BEQ $F629 A:14 X:02 Y:08 P:27 SP:FB CYC:337 SL:202
F629 C8 INY A:14 X:02 Y:08 P:27 SP:FB CYC: 5 SL:203
F62A A9 37 LDA #$37 A:14 X:02 Y:09 P:25 SP:FB CYC: 11 SL:203
F62C 8D 47 06 STA $0647 = 14 A:37 X:02 Y:09 P:25 SP:FB CYC: 17 SL:203
F62F 20 0A FB JSR $FB0A A:37 X:02 Y:09 P:25 SP:FB CYC: 29 SL:203
FB0A 24 01 BIT $01 = FF A:37 X:02 Y:09 P:25 SP:F9 CYC: 47 SL:203
FB0C 38 SEC A:37 X:02 Y:09 P:E5 SP:F9 CYC: 56 SL:203
FB0D A9 75 LDA #$75 A:37 X:02 Y:09 P:E5 SP:F9 CYC: 62 SL:203
FB0F 60 RTS A:75 X:02 Y:09 P:65 SP:F9 CYC: 68 SL:203
F632 6F 47 06 *RRA $0647 = 37 A:75 X:02 Y:09 P:65 SP:FB CYC: 86 SL:203
F635 EA NOP A:11 X:02 Y:09 P:25 SP:FB CYC:104 SL:203
F636 EA NOP A:11 X:02 Y:09 P:25 SP:FB CYC:110 SL:203
F637 EA NOP A:11 X:02 Y:09 P:25 SP:FB CYC:116 SL:203
F638 EA NOP A:11 X:02 Y:09 P:25 SP:FB CYC:122 SL:203
F639 20 10 FB JSR $FB10 A:11 X:02 Y:09 P:25 SP:FB CYC:128 SL:203
FB10 70 09 BVS $FB1B A:11 X:02 Y:09 P:25 SP:F9 CYC:146 SL:203
FB12 30 07 BMI $FB1B A:11 X:02 Y:09 P:25 SP:F9 CYC:152 SL:203
FB14 90 05 BCC $FB1B A:11 X:02 Y:09 P:25 SP:F9 CYC:158 SL:203
FB16 C9 11 CMP #$11 A:11 X:02 Y:09 P:25 SP:F9 CYC:164 SL:203
FB18 D0 01 BNE $FB1B A:11 X:02 Y:09 P:27 SP:F9 CYC:170 SL:203
FB1A 60 RTS A:11 X:02 Y:09 P:27 SP:F9 CYC:176 SL:203
F63C AD 47 06 LDA $0647 = 9B A:11 X:02 Y:09 P:27 SP:FB CYC:194 SL:203
F63F C9 9B CMP #$9B A:9B X:02 Y:09 P:A5 SP:FB CYC:206 SL:203
F641 F0 02 BEQ $F645 A:9B X:02 Y:09 P:27 SP:FB CYC:212 SL:203
F645 A9 A5 LDA #$A5 A:9B X:02 Y:09 P:27 SP:FB CYC:221 SL:203
F647 8D 47 06 STA $0647 = 9B A:A5 X:02 Y:09 P:A5 SP:FB CYC:227 SL:203
F64A A9 48 LDA #$48 A:A5 X:02 Y:09 P:A5 SP:FB CYC:239 SL:203
F64C 85 45 STA $45 = 48 A:48 X:02 Y:09 P:25 SP:FB CYC:245 SL:203
F64E A9 05 LDA #$05 A:48 X:02 Y:09 P:25 SP:FB CYC:254 SL:203
F650 85 46 STA $46 = 05 A:05 X:02 Y:09 P:25 SP:FB CYC:260 SL:203
F652 A0 FF LDY #$FF A:05 X:02 Y:09 P:25 SP:FB CYC:269 SL:203
F654 20 E9 FA JSR $FAE9 A:05 X:02 Y:FF P:A5 SP:FB CYC:275 SL:203
FAE9 24 01 BIT $01 = FF A:05 X:02 Y:FF P:A5 SP:F9 CYC:293 SL:203
FAEB 18 CLC A:05 X:02 Y:FF P:E5 SP:F9 CYC:302 SL:203
FAEC A9 B2 LDA #$B2 A:05 X:02 Y:FF P:E4 SP:F9 CYC:308 SL:203
FAEE 60 RTS A:B2 X:02 Y:FF P:E4 SP:F9 CYC:314 SL:203
F657 73 45 *RRA ($45),Y = 0548 @ 0647 = A5 A:B2 X:02 Y:FF P:E4 SP:FB CYC:332 SL:203
F659 EA NOP A:05 X:02 Y:FF P:25 SP:FB CYC: 15 SL:204
F65A EA NOP A:05 X:02 Y:FF P:25 SP:FB CYC: 21 SL:204
F65B 08 PHP A:05 X:02 Y:FF P:25 SP:FB CYC: 27 SL:204
F65C 48 PHA A:05 X:02 Y:FF P:25 SP:FA CYC: 36 SL:204
F65D A0 0A LDY #$0A A:05 X:02 Y:FF P:25 SP:F9 CYC: 45 SL:204
F65F 68 PLA A:05 X:02 Y:0A P:25 SP:F9 CYC: 51 SL:204
F660 28 PLP A:05 X:02 Y:0A P:25 SP:FA CYC: 63 SL:204
F661 20 EF FA JSR $FAEF A:05 X:02 Y:0A P:25 SP:FB CYC: 75 SL:204
FAEF 70 2A BVS $FB1B A:05 X:02 Y:0A P:25 SP:F9 CYC: 93 SL:204
FAF1 90 28 BCC $FB1B A:05 X:02 Y:0A P:25 SP:F9 CYC: 99 SL:204
FAF3 30 26 BMI $FB1B A:05 X:02 Y:0A P:25 SP:F9 CYC:105 SL:204
FAF5 C9 05 CMP #$05 A:05 X:02 Y:0A P:25 SP:F9 CYC:111 SL:204
FAF7 D0 22 BNE $FB1B A:05 X:02 Y:0A P:27 SP:F9 CYC:117 SL:204
FAF9 60 RTS A:05 X:02 Y:0A P:27 SP:F9 CYC:123 SL:204
F664 AD 47 06 LDA $0647 = 52 A:05 X:02 Y:0A P:27 SP:FB CYC:141 SL:204
F667 C9 52 CMP #$52 A:52 X:02 Y:0A P:25 SP:FB CYC:153 SL:204
F669 F0 02 BEQ $F66D A:52 X:02 Y:0A P:27 SP:FB CYC:159 SL:204
F66D A0 FF LDY #$FF A:52 X:02 Y:0A P:27 SP:FB CYC:168 SL:204
F66F A9 29 LDA #$29 A:52 X:02 Y:FF P:A5 SP:FB CYC:174 SL:204
F671 8D 47 06 STA $0647 = 52 A:29 X:02 Y:FF P:25 SP:FB CYC:180 SL:204
F674 20 FA FA JSR $FAFA A:29 X:02 Y:FF P:25 SP:FB CYC:192 SL:204
FAFA B8 CLV A:29 X:02 Y:FF P:25 SP:F9 CYC:210 SL:204
FAFB 18 CLC A:29 X:02 Y:FF P:25 SP:F9 CYC:216 SL:204
FAFC A9 42 LDA #$42 A:29 X:02 Y:FF P:24 SP:F9 CYC:222 SL:204
FAFE 60 RTS A:42 X:02 Y:FF P:24 SP:F9 CYC:228 SL:204
F677 73 45 *RRA ($45),Y = 0548 @ 0647 = 29 A:42 X:02 Y:FF P:24 SP:FB CYC:246 SL:204
F679 EA NOP A:57 X:02 Y:FF P:24 SP:FB CYC:270 SL:204
F67A EA NOP A:57 X:02 Y:FF P:24 SP:FB CYC:276 SL:204
F67B 08 PHP A:57 X:02 Y:FF P:24 SP:FB CYC:282 SL:204
F67C 48 PHA A:57 X:02 Y:FF P:24 SP:FA CYC:291 SL:204
F67D A0 0B LDY #$0B A:57 X:02 Y:FF P:24 SP:F9 CYC:300 SL:204
F67F 68 PLA A:57 X:02 Y:0B P:24 SP:F9 CYC:306 SL:204
F680 28 PLP A:57 X:02 Y:0B P:24 SP:FA CYC:318 SL:204
F681 20 FF FA JSR $FAFF A:57 X:02 Y:0B P:24 SP:FB CYC:330 SL:204
FAFF 70 1A BVS $FB1B A:57 X:02 Y:0B P:24 SP:F9 CYC: 7 SL:205
FB01 30 18 BMI $FB1B A:57 X:02 Y:0B P:24 SP:F9 CYC: 13 SL:205
FB03 B0 16 BCS $FB1B A:57 X:02 Y:0B P:24 SP:F9 CYC: 19 SL:205
FB05 C9 57 CMP #$57 A:57 X:02 Y:0B P:24 SP:F9 CYC: 25 SL:205
FB07 D0 12 BNE $FB1B A:57 X:02 Y:0B P:27 SP:F9 CYC: 31 SL:205
FB09 60 RTS A:57 X:02 Y:0B P:27 SP:F9 CYC: 37 SL:205
F684 AD 47 06 LDA $0647 = 14 A:57 X:02 Y:0B P:27 SP:FB CYC: 55 SL:205
F687 C9 14 CMP #$14 A:14 X:02 Y:0B P:25 SP:FB CYC: 67 SL:205
F689 F0 02 BEQ $F68D A:14 X:02 Y:0B P:27 SP:FB CYC: 73 SL:205
F68D A0 FF LDY #$FF A:14 X:02 Y:0B P:27 SP:FB CYC: 82 SL:205
F68F A9 37 LDA #$37 A:14 X:02 Y:FF P:A5 SP:FB CYC: 88 SL:205
F691 8D 47 06 STA $0647 = 14 A:37 X:02 Y:FF P:25 SP:FB CYC: 94 SL:205
F694 20 0A FB JSR $FB0A A:37 X:02 Y:FF P:25 SP:FB CYC:106 SL:205
FB0A 24 01 BIT $01 = FF A:37 X:02 Y:FF P:25 SP:F9 CYC:124 SL:205
FB0C 38 SEC A:37 X:02 Y:FF P:E5 SP:F9 CYC:133 SL:205
FB0D A9 75 LDA #$75 A:37 X:02 Y:FF P:E5 SP:F9 CYC:139 SL:205
FB0F 60 RTS A:75 X:02 Y:FF P:65 SP:F9 CYC:145 SL:205
F697 73 45 *RRA ($45),Y = 0548 @ 0647 = 37 A:75 X:02 Y:FF P:65 SP:FB CYC:163 SL:205
F699 EA NOP A:11 X:02 Y:FF P:25 SP:FB CYC:187 SL:205
F69A EA NOP A:11 X:02 Y:FF P:25 SP:FB CYC:193 SL:205
F69B 08 PHP A:11 X:02 Y:FF P:25 SP:FB CYC:199 SL:205
F69C 48 PHA A:11 X:02 Y:FF P:25 SP:FA CYC:208 SL:205
F69D A0 0C LDY #$0C A:11 X:02 Y:FF P:25 SP:F9 CYC:217 SL:205
F69F 68 PLA A:11 X:02 Y:0C P:25 SP:F9 CYC:223 SL:205
F6A0 28 PLP A:11 X:02 Y:0C P:25 SP:FA CYC:235 SL:205
F6A1 20 10 FB JSR $FB10 A:11 X:02 Y:0C P:25 SP:FB CYC:247 SL:205
FB10 70 09 BVS $FB1B A:11 X:02 Y:0C P:25 SP:F9 CYC:265 SL:205
FB12 30 07 BMI $FB1B A:11 X:02 Y:0C P:25 SP:F9 CYC:271 SL:205
FB14 90 05 BCC $FB1B A:11 X:02 Y:0C P:25 SP:F9 CYC:277 SL:205
FB16 C9 11 CMP #$11 A:11 X:02 Y:0C P:25 SP:F9 CYC:283 SL:205
FB18 D0 01 BNE $FB1B A:11 X:02 Y:0C P:27 SP:F9 CYC:289 SL:205
FB1A 60 RTS A:11 X:02 Y:0C P:27 SP:F9 CYC:295 SL:205
F6A4 AD 47 06 LDA $0647 = 9B A:11 X:02 Y:0C P:27 SP:FB CYC:313 SL:205
F6A7 C9 9B CMP #$9B A:9B X:02 Y:0C P:A5 SP:FB CYC:325 SL:205
F6A9 F0 02 BEQ $F6AD A:9B X:02 Y:0C P:27 SP:FB CYC:331 SL:205
F6AD A0 0D LDY #$0D A:9B X:02 Y:0C P:27 SP:FB CYC:340 SL:205
F6AF A2 FF LDX #$FF A:9B X:02 Y:0D P:25 SP:FB CYC: 5 SL:206
F6B1 A9 A5 LDA #$A5 A:9B X:FF Y:0D P:A5 SP:FB CYC: 11 SL:206
F6B3 85 47 STA $47 = 9B A:A5 X:FF Y:0D P:A5 SP:FB CYC: 17 SL:206
F6B5 20 E9 FA JSR $FAE9 A:A5 X:FF Y:0D P:A5 SP:FB CYC: 26 SL:206
FAE9 24 01 BIT $01 = FF A:A5 X:FF Y:0D P:A5 SP:F9 CYC: 44 SL:206
FAEB 18 CLC A:A5 X:FF Y:0D P:E5 SP:F9 CYC: 53 SL:206
FAEC A9 B2 LDA #$B2 A:A5 X:FF Y:0D P:E4 SP:F9 CYC: 59 SL:206
FAEE 60 RTS A:B2 X:FF Y:0D P:E4 SP:F9 CYC: 65 SL:206
F6B8 77 48 *RRA $48,X @ 47 = A5 A:B2 X:FF Y:0D P:E4 SP:FB CYC: 83 SL:206
F6BA EA NOP A:05 X:FF Y:0D P:25 SP:FB CYC:101 SL:206
F6BB EA NOP A:05 X:FF Y:0D P:25 SP:FB CYC:107 SL:206
F6BC EA NOP A:05 X:FF Y:0D P:25 SP:FB CYC:113 SL:206
F6BD EA NOP A:05 X:FF Y:0D P:25 SP:FB CYC:119 SL:206
F6BE 20 EF FA JSR $FAEF A:05 X:FF Y:0D P:25 SP:FB CYC:125 SL:206
FAEF 70 2A BVS $FB1B A:05 X:FF Y:0D P:25 SP:F9 CYC:143 SL:206
FAF1 90 28 BCC $FB1B A:05 X:FF Y:0D P:25 SP:F9 CYC:149 SL:206
FAF3 30 26 BMI $FB1B A:05 X:FF Y:0D P:25 SP:F9 CYC:155 SL:206
FAF5 C9 05 CMP #$05 A:05 X:FF Y:0D P:25 SP:F9 CYC:161 SL:206
FAF7 D0 22 BNE $FB1B A:05 X:FF Y:0D P:27 SP:F9 CYC:167 SL:206
FAF9 60 RTS A:05 X:FF Y:0D P:27 SP:F9 CYC:173 SL:206
F6C1 A5 47 LDA $47 = 52 A:05 X:FF Y:0D P:27 SP:FB CYC:191 SL:206
F6C3 C9 52 CMP #$52 A:52 X:FF Y:0D P:25 SP:FB CYC:200 SL:206
F6C5 F0 02 BEQ $F6C9 A:52 X:FF Y:0D P:27 SP:FB CYC:206 SL:206
F6C9 C8 INY A:52 X:FF Y:0D P:27 SP:FB CYC:215 SL:206
F6CA A9 29 LDA #$29 A:52 X:FF Y:0E P:25 SP:FB CYC:221 SL:206
F6CC 85 47 STA $47 = 52 A:29 X:FF Y:0E P:25 SP:FB CYC:227 SL:206
F6CE 20 FA FA JSR $FAFA A:29 X:FF Y:0E P:25 SP:FB CYC:236 SL:206
FAFA B8 CLV A:29 X:FF Y:0E P:25 SP:F9 CYC:254 SL:206
FAFB 18 CLC A:29 X:FF Y:0E P:25 SP:F9 CYC:260 SL:206
FAFC A9 42 LDA #$42 A:29 X:FF Y:0E P:24 SP:F9 CYC:266 SL:206
FAFE 60 RTS A:42 X:FF Y:0E P:24 SP:F9 CYC:272 SL:206
F6D1 77 48 *RRA $48,X @ 47 = 29 A:42 X:FF Y:0E P:24 SP:FB CYC:290 SL:206
F6D3 EA NOP A:57 X:FF Y:0E P:24 SP:FB CYC:308 SL:206
F6D4 EA NOP A:57 X:FF Y:0E P:24 SP:FB CYC:314 SL:206
F6D5 EA NOP A:57 X:FF Y:0E P:24 SP:FB CYC:320 SL:206
F6D6 EA NOP A:57 X:FF Y:0E P:24 SP:FB CYC:326 SL:206
F6D7 20 FF FA JSR $FAFF A:57 X:FF Y:0E P:24 SP:FB CYC:332 SL:206
FAFF 70 1A BVS $FB1B A:57 X:FF Y:0E P:24 SP:F9 CYC: 9 SL:207
FB01 30 18 BMI $FB1B A:57 X:FF Y:0E P:24 SP:F9 CYC: 15 SL:207
FB03 B0 16 BCS $FB1B A:57 X:FF Y:0E P:24 SP:F9 CYC: 21 SL:207
FB05 C9 57 CMP #$57 A:57 X:FF Y:0E P:24 SP:F9 CYC: 27 SL:207
FB07 D0 12 BNE $FB1B A:57 X:FF Y:0E P:27 SP:F9 CYC: 33 SL:207
FB09 60 RTS A:57 X:FF Y:0E P:27 SP:F9 CYC: 39 SL:207
F6DA A5 47 LDA $47 = 14 A:57 X:FF Y:0E P:27 SP:FB CYC: 57 SL:207
F6DC C9 14 CMP #$14 A:14 X:FF Y:0E P:25 SP:FB CYC: 66 SL:207
F6DE F0 02 BEQ $F6E2 A:14 X:FF Y:0E P:27 SP:FB CYC: 72 SL:207
F6E2 C8 INY A:14 X:FF Y:0E P:27 SP:FB CYC: 81 SL:207
F6E3 A9 37 LDA #$37 A:14 X:FF Y:0F P:25 SP:FB CYC: 87 SL:207
F6E5 85 47 STA $47 = 14 A:37 X:FF Y:0F P:25 SP:FB CYC: 93 SL:207
F6E7 20 0A FB JSR $FB0A A:37 X:FF Y:0F P:25 SP:FB CYC:102 SL:207
FB0A 24 01 BIT $01 = FF A:37 X:FF Y:0F P:25 SP:F9 CYC:120 SL:207
FB0C 38 SEC A:37 X:FF Y:0F P:E5 SP:F9 CYC:129 SL:207
FB0D A9 75 LDA #$75 A:37 X:FF Y:0F P:E5 SP:F9 CYC:135 SL:207
FB0F 60 RTS A:75 X:FF Y:0F P:65 SP:F9 CYC:141 SL:207
F6EA 77 48 *RRA $48,X @ 47 = 37 A:75 X:FF Y:0F P:65 SP:FB CYC:159 SL:207
F6EC EA NOP A:11 X:FF Y:0F P:25 SP:FB CYC:177 SL:207
F6ED EA NOP A:11 X:FF Y:0F P:25 SP:FB CYC:183 SL:207
F6EE EA NOP A:11 X:FF Y:0F P:25 SP:FB CYC:189 SL:207
F6EF EA NOP A:11 X:FF Y:0F P:25 SP:FB CYC:195 SL:207
F6F0 20 10 FB JSR $FB10 A:11 X:FF Y:0F P:25 SP:FB CYC:201 SL:207
FB10 70 09 BVS $FB1B A:11 X:FF Y:0F P:25 SP:F9 CYC:219 SL:207
FB12 30 07 BMI $FB1B A:11 X:FF Y:0F P:25 SP:F9 CYC:225 SL:207
FB14 90 05 BCC $FB1B A:11 X:FF Y:0F P:25 SP:F9 CYC:231 SL:207
FB16 C9 11 CMP #$11 A:11 X:FF Y:0F P:25 SP:F9 CYC:237 SL:207
FB18 D0 01 BNE $FB1B A:11 X:FF Y:0F P:27 SP:F9 CYC:243 SL:207
FB1A 60 RTS A:11 X:FF Y:0F P:27 SP:F9 CYC:249 SL:207
F6F3 A5 47 LDA $47 = 9B A:11 X:FF Y:0F P:27 SP:FB CYC:267 SL:207
F6F5 C9 9B CMP #$9B A:9B X:FF Y:0F P:A5 SP:FB CYC:276 SL:207
F6F7 F0 02 BEQ $F6FB A:9B X:FF Y:0F P:27 SP:FB CYC:282 SL:207
F6FB A9 A5 LDA #$A5 A:9B X:FF Y:0F P:27 SP:FB CYC:291 SL:207
F6FD 8D 47 06 STA $0647 = 9B A:A5 X:FF Y:0F P:A5 SP:FB CYC:297 SL:207
F700 A0 FF LDY #$FF A:A5 X:FF Y:0F P:A5 SP:FB CYC:309 SL:207
F702 20 E9 FA JSR $FAE9 A:A5 X:FF Y:FF P:A5 SP:FB CYC:315 SL:207
FAE9 24 01 BIT $01 = FF A:A5 X:FF Y:FF P:A5 SP:F9 CYC:333 SL:207
FAEB 18 CLC A:A5 X:FF Y:FF P:E5 SP:F9 CYC: 1 SL:208
FAEC A9 B2 LDA #$B2 A:A5 X:FF Y:FF P:E4 SP:F9 CYC: 7 SL:208
FAEE 60 RTS A:B2 X:FF Y:FF P:E4 SP:F9 CYC: 13 SL:208
F705 7B 48 05 *RRA $0548,Y @ 0647 = A5 A:B2 X:FF Y:FF P:E4 SP:FB CYC: 31 SL:208
F708 EA NOP A:05 X:FF Y:FF P:25 SP:FB CYC: 52 SL:208
F709 EA NOP A:05 X:FF Y:FF P:25 SP:FB CYC: 58 SL:208
F70A 08 PHP A:05 X:FF Y:FF P:25 SP:FB CYC: 64 SL:208
F70B 48 PHA A:05 X:FF Y:FF P:25 SP:FA CYC: 73 SL:208
F70C A0 10 LDY #$10 A:05 X:FF Y:FF P:25 SP:F9 CYC: 82 SL:208
F70E 68 PLA A:05 X:FF Y:10 P:25 SP:F9 CYC: 88 SL:208
F70F 28 PLP A:05 X:FF Y:10 P:25 SP:FA CYC:100 SL:208
F710 20 EF FA JSR $FAEF A:05 X:FF Y:10 P:25 SP:FB CYC:112 SL:208
FAEF 70 2A BVS $FB1B A:05 X:FF Y:10 P:25 SP:F9 CYC:130 SL:208
FAF1 90 28 BCC $FB1B A:05 X:FF Y:10 P:25 SP:F9 CYC:136 SL:208
FAF3 30 26 BMI $FB1B A:05 X:FF Y:10 P:25 SP:F9 CYC:142 SL:208
FAF5 C9 05 CMP #$05 A:05 X:FF Y:10 P:25 SP:F9 CYC:148 SL:208
FAF7 D0 22 BNE $FB1B A:05 X:FF Y:10 P:27 SP:F9 CYC:154 SL:208
FAF9 60 RTS A:05 X:FF Y:10 P:27 SP:F9 CYC:160 SL:208
F713 AD 47 06 LDA $0647 = 52 A:05 X:FF Y:10 P:27 SP:FB CYC:178 SL:208
F716 C9 52 CMP #$52 A:52 X:FF Y:10 P:25 SP:FB CYC:190 SL:208
F718 F0 02 BEQ $F71C A:52 X:FF Y:10 P:27 SP:FB CYC:196 SL:208
F71C A0 FF LDY #$FF A:52 X:FF Y:10 P:27 SP:FB CYC:205 SL:208
F71E A9 29 LDA #$29 A:52 X:FF Y:FF P:A5 SP:FB CYC:211 SL:208
F720 8D 47 06 STA $0647 = 52 A:29 X:FF Y:FF P:25 SP:FB CYC:217 SL:208
F723 20 FA FA JSR $FAFA A:29 X:FF Y:FF P:25 SP:FB CYC:229 SL:208
FAFA B8 CLV A:29 X:FF Y:FF P:25 SP:F9 CYC:247 SL:208
FAFB 18 CLC A:29 X:FF Y:FF P:25 SP:F9 CYC:253 SL:208
FAFC A9 42 LDA #$42 A:29 X:FF Y:FF P:24 SP:F9 CYC:259 SL:208
FAFE 60 RTS A:42 X:FF Y:FF P:24 SP:F9 CYC:265 SL:208
F726 7B 48 05 *RRA $0548,Y @ 0647 = 29 A:42 X:FF Y:FF P:24 SP:FB CYC:283 SL:208
F729 EA NOP A:57 X:FF Y:FF P:24 SP:FB CYC:304 SL:208
F72A EA NOP A:57 X:FF Y:FF P:24 SP:FB CYC:310 SL:208
F72B 08 PHP A:57 X:FF Y:FF P:24 SP:FB CYC:316 SL:208
F72C 48 PHA A:57 X:FF Y:FF P:24 SP:FA CYC:325 SL:208
F72D A0 11 LDY #$11 A:57 X:FF Y:FF P:24 SP:F9 CYC:334 SL:208
F72F 68 PLA A:57 X:FF Y:11 P:24 SP:F9 CYC:340 SL:208
F730 28 PLP A:57 X:FF Y:11 P:24 SP:FA CYC: 11 SL:209
F731 20 FF FA JSR $FAFF A:57 X:FF Y:11 P:24 SP:FB CYC: 23 SL:209
FAFF 70 1A BVS $FB1B A:57 X:FF Y:11 P:24 SP:F9 CYC: 41 SL:209
FB01 30 18 BMI $FB1B A:57 X:FF Y:11 P:24 SP:F9 CYC: 47 SL:209
FB03 B0 16 BCS $FB1B A:57 X:FF Y:11 P:24 SP:F9 CYC: 53 SL:209
FB05 C9 57 CMP #$57 A:57 X:FF Y:11 P:24 SP:F9 CYC: 59 SL:209
FB07 D0 12 BNE $FB1B A:57 X:FF Y:11 P:27 SP:F9 CYC: 65 SL:209
FB09 60 RTS A:57 X:FF Y:11 P:27 SP:F9 CYC: 71 SL:209
F734 AD 47 06 LDA $0647 = 14 A:57 X:FF Y:11 P:27 SP:FB CYC: 89 SL:209
F737 C9 14 CMP #$14 A:14 X:FF Y:11 P:25 SP:FB CYC:101 SL:209
F739 F0 02 BEQ $F73D A:14 X:FF Y:11 P:27 SP:FB CYC:107 SL:209
F73D A0 FF LDY #$FF A:14 X:FF Y:11 P:27 SP:FB CYC:116 SL:209
F73F A9 37 LDA #$37 A:14 X:FF Y:FF P:A5 SP:FB CYC:122 SL:209
F741 8D 47 06 STA $0647 = 14 A:37 X:FF Y:FF P:25 SP:FB CYC:128 SL:209
F744 20 0A FB JSR $FB0A A:37 X:FF Y:FF P:25 SP:FB CYC:140 SL:209
FB0A 24 01 BIT $01 = FF A:37 X:FF Y:FF P:25 SP:F9 CYC:158 SL:209
FB0C 38 SEC A:37 X:FF Y:FF P:E5 SP:F9 CYC:167 SL:209
FB0D A9 75 LDA #$75 A:37 X:FF Y:FF P:E5 SP:F9 CYC:173 SL:209
FB0F 60 RTS A:75 X:FF Y:FF P:65 SP:F9 CYC:179 SL:209
F747 7B 48 05 *RRA $0548,Y @ 0647 = 37 A:75 X:FF Y:FF P:65 SP:FB CYC:197 SL:209
F74A EA NOP A:11 X:FF Y:FF P:25 SP:FB CYC:218 SL:209
F74B EA NOP A:11 X:FF Y:FF P:25 SP:FB CYC:224 SL:209
F74C 08 PHP A:11 X:FF Y:FF P:25 SP:FB CYC:230 SL:209
F74D 48 PHA A:11 X:FF Y:FF P:25 SP:FA CYC:239 SL:209
F74E A0 12 LDY #$12 A:11 X:FF Y:FF P:25 SP:F9 CYC:248 SL:209
F750 68 PLA A:11 X:FF Y:12 P:25 SP:F9 CYC:254 SL:209
F751 28 PLP A:11 X:FF Y:12 P:25 SP:FA CYC:266 SL:209
F752 20 10 FB JSR $FB10 A:11 X:FF Y:12 P:25 SP:FB CYC:278 SL:209
FB10 70 09 BVS $FB1B A:11 X:FF Y:12 P:25 SP:F9 CYC:296 SL:209
FB12 30 07 BMI $FB1B A:11 X:FF Y:12 P:25 SP:F9 CYC:302 SL:209
FB14 90 05 BCC $FB1B A:11 X:FF Y:12 P:25 SP:F9 CYC:308 SL:209
FB16 C9 11 CMP #$11 A:11 X:FF Y:12 P:25 SP:F9 CYC:314 SL:209
FB18 D0 01 BNE $FB1B A:11 X:FF Y:12 P:27 SP:F9 CYC:320 SL:209
FB1A 60 RTS A:11 X:FF Y:12 P:27 SP:F9 CYC:326 SL:209
F755 AD 47 06 LDA $0647 = 9B A:11 X:FF Y:12 P:27 SP:FB CYC: 3 SL:210
F758 C9 9B CMP #$9B A:9B X:FF Y:12 P:A5 SP:FB CYC: 15 SL:210
F75A F0 02 BEQ $F75E A:9B X:FF Y:12 P:27 SP:FB CYC: 21 SL:210
F75E A0 13 LDY #$13 A:9B X:FF Y:12 P:27 SP:FB CYC: 30 SL:210
F760 A2 FF LDX #$FF A:9B X:FF Y:13 P:25 SP:FB CYC: 36 SL:210
F762 A9 A5 LDA #$A5 A:9B X:FF Y:13 P:A5 SP:FB CYC: 42 SL:210
F764 8D 47 06 STA $0647 = 9B A:A5 X:FF Y:13 P:A5 SP:FB CYC: 48 SL:210
F767 20 E9 FA JSR $FAE9 A:A5 X:FF Y:13 P:A5 SP:FB CYC: 60 SL:210
FAE9 24 01 BIT $01 = FF A:A5 X:FF Y:13 P:A5 SP:F9 CYC: 78 SL:210
FAEB 18 CLC A:A5 X:FF Y:13 P:E5 SP:F9 CYC: 87 SL:210
FAEC A9 B2 LDA #$B2 A:A5 X:FF Y:13 P:E4 SP:F9 CYC: 93 SL:210
FAEE 60 RTS A:B2 X:FF Y:13 P:E4 SP:F9 CYC: 99 SL:210
F76A 7F 48 05 *RRA $0548,X @ 0647 = A5 A:B2 X:FF Y:13 P:E4 SP:FB CYC:117 SL:210
F76D EA NOP A:05 X:FF Y:13 P:25 SP:FB CYC:138 SL:210
F76E EA NOP A:05 X:FF Y:13 P:25 SP:FB CYC:144 SL:210
F76F EA NOP A:05 X:FF Y:13 P:25 SP:FB CYC:150 SL:210
F770 EA NOP A:05 X:FF Y:13 P:25 SP:FB CYC:156 SL:210
F771 20 EF FA JSR $FAEF A:05 X:FF Y:13 P:25 SP:FB CYC:162 SL:210
FAEF 70 2A BVS $FB1B A:05 X:FF Y:13 P:25 SP:F9 CYC:180 SL:210
FAF1 90 28 BCC $FB1B A:05 X:FF Y:13 P:25 SP:F9 CYC:186 SL:210
FAF3 30 26 BMI $FB1B A:05 X:FF Y:13 P:25 SP:F9 CYC:192 SL:210
FAF5 C9 05 CMP #$05 A:05 X:FF Y:13 P:25 SP:F9 CYC:198 SL:210
FAF7 D0 22 BNE $FB1B A:05 X:FF Y:13 P:27 SP:F9 CYC:204 SL:210
FAF9 60 RTS A:05 X:FF Y:13 P:27 SP:F9 CYC:210 SL:210
F774 AD 47 06 LDA $0647 = 52 A:05 X:FF Y:13 P:27 SP:FB CYC:228 SL:210
F777 C9 52 CMP #$52 A:52 X:FF Y:13 P:25 SP:FB CYC:240 SL:210
F779 F0 02 BEQ $F77D A:52 X:FF Y:13 P:27 SP:FB CYC:246 SL:210
F77D C8 INY A:52 X:FF Y:13 P:27 SP:FB CYC:255 SL:210
F77E A9 29 LDA #$29 A:52 X:FF Y:14 P:25 SP:FB CYC:261 SL:210
F780 8D 47 06 STA $0647 = 52 A:29 X:FF Y:14 P:25 SP:FB CYC:267 SL:210
F783 20 FA FA JSR $FAFA A:29 X:FF Y:14 P:25 SP:FB CYC:279 SL:210
FAFA B8 CLV A:29 X:FF Y:14 P:25 SP:F9 CYC:297 SL:210
FAFB 18 CLC A:29 X:FF Y:14 P:25 SP:F9 CYC:303 SL:210
FAFC A9 42 LDA #$42 A:29 X:FF Y:14 P:24 SP:F9 CYC:309 SL:210
FAFE 60 RTS A:42 X:FF Y:14 P:24 SP:F9 CYC:315 SL:210
F786 7F 48 05 *RRA $0548,X @ 0647 = 29 A:42 X:FF Y:14 P:24 SP:FB CYC:333 SL:210
F789 EA NOP A:57 X:FF Y:14 P:24 SP:FB CYC: 13 SL:211
F78A EA NOP A:57 X:FF Y:14 P:24 SP:FB CYC: 19 SL:211
F78B EA NOP A:57 X:FF Y:14 P:24 SP:FB CYC: 25 SL:211
F78C EA NOP A:57 X:FF Y:14 P:24 SP:FB CYC: 31 SL:211
F78D 20 FF FA JSR $FAFF A:57 X:FF Y:14 P:24 SP:FB CYC: 37 SL:211
FAFF 70 1A BVS $FB1B A:57 X:FF Y:14 P:24 SP:F9 CYC: 55 SL:211
FB01 30 18 BMI $FB1B A:57 X:FF Y:14 P:24 SP:F9 CYC: 61 SL:211
FB03 B0 16 BCS $FB1B A:57 X:FF Y:14 P:24 SP:F9 CYC: 67 SL:211
FB05 C9 57 CMP #$57 A:57 X:FF Y:14 P:24 SP:F9 CYC: 73 SL:211
FB07 D0 12 BNE $FB1B A:57 X:FF Y:14 P:27 SP:F9 CYC: 79 SL:211
FB09 60 RTS A:57 X:FF Y:14 P:27 SP:F9 CYC: 85 SL:211
F790 AD 47 06 LDA $0647 = 14 A:57 X:FF Y:14 P:27 SP:FB CYC:103 SL:211
F793 C9 14 CMP #$14 A:14 X:FF Y:14 P:25 SP:FB CYC:115 SL:211
F795 F0 02 BEQ $F799 A:14 X:FF Y:14 P:27 SP:FB CYC:121 SL:211
F799 C8 INY A:14 X:FF Y:14 P:27 SP:FB CYC:130 SL:211
F79A A9 37 LDA #$37 A:14 X:FF Y:15 P:25 SP:FB CYC:136 SL:211
F79C 8D 47 06 STA $0647 = 14 A:37 X:FF Y:15 P:25 SP:FB CYC:142 SL:211
F79F 20 0A FB JSR $FB0A A:37 X:FF Y:15 P:25 SP:FB CYC:154 SL:211
FB0A 24 01 BIT $01 = FF A:37 X:FF Y:15 P:25 SP:F9 CYC:172 SL:211
FB0C 38 SEC A:37 X:FF Y:15 P:E5 SP:F9 CYC:181 SL:211
FB0D A9 75 LDA #$75 A:37 X:FF Y:15 P:E5 SP:F9 CYC:187 SL:211
FB0F 60 RTS A:75 X:FF Y:15 P:65 SP:F9 CYC:193 SL:211
F7A2 7F 48 05 *RRA $0548,X @ 0647 = 37 A:75 X:FF Y:15 P:65 SP:FB CYC:211 SL:211
F7A5 EA NOP A:11 X:FF Y:15 P:25 SP:FB CYC:232 SL:211
F7A6 EA NOP A:11 X:FF Y:15 P:25 SP:FB CYC:238 SL:211
F7A7 EA NOP A:11 X:FF Y:15 P:25 SP:FB CYC:244 SL:211
F7A8 EA NOP A:11 X:FF Y:15 P:25 SP:FB CYC:250 SL:211
F7A9 20 10 FB JSR $FB10 A:11 X:FF Y:15 P:25 SP:FB CYC:256 SL:211
FB10 70 09 BVS $FB1B A:11 X:FF Y:15 P:25 SP:F9 CYC:274 SL:211
FB12 30 07 BMI $FB1B A:11 X:FF Y:15 P:25 SP:F9 CYC:280 SL:211
FB14 90 05 BCC $FB1B A:11 X:FF Y:15 P:25 SP:F9 CYC:286 SL:211
FB16 C9 11 CMP #$11 A:11 X:FF Y:15 P:25 SP:F9 CYC:292 SL:211
FB18 D0 01 BNE $FB1B A:11 X:FF Y:15 P:27 SP:F9 CYC:298 SL:211
FB1A 60 RTS A:11 X:FF Y:15 P:27 SP:F9 CYC:304 SL:211
F7AC AD 47 06 LDA $0647 = 9B A:11 X:FF Y:15 P:27 SP:FB CYC:322 SL:211
F7AF C9 9B CMP #$9B A:9B X:FF Y:15 P:A5 SP:FB CYC:334 SL:211
F7B1 F0 02 BEQ $F7B5 A:9B X:FF Y:15 P:27 SP:FB CYC:340 SL:211
F7B5 60 RTS A:9B X:FF Y:15 P:27 SP:FB CYC: 8 SL:212
C655 A5 00 LDA $00 = 00 A:9B X:FF Y:15 P:27 SP:FD CYC: 26 SL:212
C657 05 10 ORA $10 = 00 A:00 X:FF Y:15 P:27 SP:FD CYC: 35 SL:212
C659 05 11 ORA $11 = 00 A:00 X:FF Y:15 P:27 SP:FD CYC: 44 SL:212
C65B F0 0E BEQ $C66B A:00 X:FF Y:15 P:27 SP:FD CYC: 53 SL:212
C66B 20 89 C6 JSR $C689 A:00 X:FF Y:15 P:27 SP:FD CYC: 62 SL:212
C689 A9 02 LDA #$02 A:00 X:FF Y:15 P:27 SP:FB CYC: 80 SL:212
C68B 8D 15 40 STA $4015 = FF A:02 X:FF Y:15 P:25 SP:FB CYC: 86 SL:212
C68E A9 3F LDA #$3F A:02 X:FF Y:15 P:25 SP:FB CYC: 98 SL:212
C690 8D 04 40 STA $4004 = FF A:3F X:FF Y:15 P:25 SP:FB CYC:104 SL:212
C693 A9 9A LDA #$9A A:3F X:FF Y:15 P:25 SP:FB CYC:116 SL:212
C695 8D 05 40 STA $4005 = FF A:9A X:FF Y:15 P:A5 SP:FB CYC:122 SL:212
C698 A9 FF LDA #$FF A:9A X:FF Y:15 P:A5 SP:FB CYC:134 SL:212
C69A 8D 06 40 STA $4006 = FF A:FF X:FF Y:15 P:A5 SP:FB CYC:140 SL:212
C69D A9 00 LDA #$00 A:FF X:FF Y:15 P:A5 SP:FB CYC:152 SL:212
C69F 8D 07 40 STA $4007 = FF A:00 X:FF Y:15 P:27 SP:FB CYC:158 SL:212
C6A2 60 RTS A:00 X:FF Y:15 P:27 SP:FB CYC:170 SL:212
C66E 60 RTS A:00 X:FF Y:15 P:27 SP:FD CYC:188 SL:212