diff options
Diffstat (limited to '')
29 files changed, 35361 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/BIOS/BUGS b/src/VBox/Devices/Graphics/BIOS/BUGS new file mode 100644 index 00000000..25f88aa0 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/BUGS @@ -0,0 +1,3 @@ +Not all the functions have been implemented yet. + +Please report any bugs to <cbothamy@free.fr> diff --git a/src/VBox/Devices/Graphics/BIOS/COPYING b/src/VBox/Devices/Graphics/BIOS/COPYING new file mode 100644 index 00000000..223ede7d --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/COPYING @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +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 this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +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 +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser 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 Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "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 +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY 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 +LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey 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 library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/src/VBox/Devices/Graphics/BIOS/ChangeLog b/src/VBox/Devices/Graphics/BIOS/ChangeLog new file mode 100644 index 00000000..4b88fab1 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/ChangeLog @@ -0,0 +1,1212 @@ +2006-08-19 09:39 vruppert + + * vbe.c (1.58): + + - improved VGA compatible setup for VBE modes (disable CGA and Hercules + compatible memory layout) + +2006-08-18 20:39 vruppert + + * vbe.c (1.57): + + - improved VGA compatible setup for >=8bpp VBE modes (CRTC doubleword mode and + GRDC shift register setting added) + - now using symbolic name for CRTC address register + +2006-08-15 20:42 vruppert + + * vbe.c (1.56), vbetables-gen.c (1.4): + + - init 4bpp VBE modes by a temporary switch to VGA mode 0x6A + - all 4bpp VBE modes now enabled + +2006-08-14 20:24 vruppert + + * vbe.c (1.55): + + - VGA compatible setup for VBE modes improved (Bochs hack can be removed now) + +2006-08-12 07:51 vruppert + + * .cvsignore (1.1): + + - .cvsignore added for auto-generated file + +2006-08-12 07:47 vruppert + + * vbe.c (1.54), vbe.h (1.27), vbe_display_api.txt (1.13), vbetables-gen.c (1.3): + + - cleaned up VBE memory size definitions (removed duplicate defines, main + definition now in vbetables-gen.c) + +2006-08-09 21:28 vruppert + + * vbetables.h (1.30): + + - removed auto-generated file + +2006-08-09 21:26 vruppert + + * vbe.c (1.53), vbe.h (1.26), vbe_display_api.txt (1.12), vbetables-gen.c (1.2), + vbetables.h (1.29): + + - VBE video memory increased to 8 MB + - VBE dispi ID changed to B0C4 + - documentation update + +2006-07-11 08:03 vruppert + + * Makefile (1.18), vbetables-gen.c (1.1), vbetables.h (1.28): + + - generate vbetables.h dynamicly + * initial patch from the qemu project by Fabrice Bellard + * only add modes that fit in video memory (still 4 MB) + * several other fixes (e.g. 4 bpp specific stuff, number of pages) + +2006-07-10 07:47 vruppert + + * vgabios.c (1.66): + + - biosfn_scroll(): check variable 'i' for underflowing when scrolling downwards + to avoid screen corruption + +2006-07-10 07:47 vruppert + + * vbe.c (1.52): + + - VBE set bank functions failure handling added + - VBE get/set logical scan line length fixes for the 4bpp mode + +2006-07-08 13:27 vruppert + + * vbe.c (1.51), vbetables.h (1.27): + + - added special case for the 4 bpp when setting VBE display start + - VBE mode table fixes + +2006-07-07 13:30 vruppert + + * clext.c (1.12): + + - bank pointer must be set to 0 after a mode set + +2006-06-21 16:58 vruppert + + * vbe.c (1.50), vbetables.h (1.26): + + - improved VBE display capabilities check (X resulution checked now) + - removed obsolete defines (LFB always available, always generate dynamic list) + - CR/LF to LF fixes + +2006-06-18 15:22 vruppert + + * clext.c (1.11), vbe.c (1.49), vbe.h (1.25), vbetables.h (1.25), vgabios.c + (1.65): + + - applied patch from the qemu project (Fabrice Bellard) + * Cirrus SVGA now supports the "no clear" bit when switching to Cirrus or + VESA mode + * Bochs VBE protected mode interface improved + * save/restore video state support for Bochs VBE and standard VGA added + * Bochs VBE prepared for more modi + +2006-03-25 10:19 vruppert + + * clext.c (1.10), vgabios.c (1.64), vgatables.h (1.10): + + - applied patch from Fabrice Bellard + * added minimal support for the video parameter table (VPT) + * added Cirrus SVGA mode 0x7b (1600x1200x8) + +2005-12-26 19:50 vruppert + + * vbe.c (1.48), vgabios.c (1.63): + + - Bochs VBE protected mode interface added (based on a patch by malc@pulsesoft.com) + +2005-12-26 19:50 vruppert + + * biossums.c (1.3): + + - biossums utility now supports VGABIOS sizes up to 64 kBytes + +2005-09-21 18:45 vruppert + + * vgatables.h (1.9): + + - mode 0x11: all color planes must be enabled in this 2-color VGA mode + +2005-08-30 18:41 vruppert + + * biossums.c (1.2): + + - missing license text added in biossums.c + +2005-07-02 18:39 vruppert + + * vgabios.c (1.62): + + - BIOS configuration word usually reports initial mode 80x25 color text + - vgabios function 0x0e (write teletype): linefeed (0x0a) only increments the + cursor row value + +2005-05-24 16:50 vruppert + + * vbe.c (1.47), vgabios.c (1.61): + + - output to the vgabios info port can be disabled now. It is still enabled by + default and always possible in debug mode. (based on a patch from Alex Beregszaszi) + +2005-05-20 16:06 vruppert + + * vbe.c (1.46), vgabios.c (1.60): + + - fixed return value for the default case in the VBE section (non-debug mode) + - removed unused macros HALT and PANIC_PORT + +2005-03-07 20:39 vruppert + + * README (1.9): + + - updates for 0.5a release + +2005-03-06 13:06 vruppert + + * Makefile (1.17): + + - vgabios files with cirrus support added to release target + +2005-03-06 12:24 vruppert + + * Makefile (1.16): + + - cross compilation support added (patch from Alex Beregszaszi) + +2005-03-05 13:03 vruppert + + * BUGS (1.3), README (1.8), TODO (1.11): + + - documentation updates + +2004-12-04 15:26 vruppert + + * VGABIOS-lgpl-latest.bin (1.61), VGABIOS-lgpl-latest.cirrus.bin + (1.13), VGABIOS-lgpl-latest.cirrus.debug.bin (1.13), + VGABIOS-lgpl-latest.debug.bin (1.61), clext.c (1.9): + + - Cirrus extension: support for 1280x1024x15 and 1280x1024x16 modes added (patch + from Fabrice Bellard) + +2004-08-08 16:53 vruppert + + * VGABIOS-lgpl-latest.bin (1.60), VGABIOS-lgpl-latest.cirrus.bin (1.12), + VGABIOS-lgpl-latest.cirrus.debug.bin (1.12), + VGABIOS-lgpl-latest.debug.bin (1.60), clext.c (1.8): + + - use single bank mode for VBE + - enable 16k granularity for VBE only + +2004-07-30 19:33 vruppert + + * VGABIOS-lgpl-latest.bin (1.59), VGABIOS-lgpl-latest.cirrus.bin (1.11), + VGABIOS-lgpl-latest.cirrus.debug.bin (1.11), + VGABIOS-lgpl-latest.debug.bin (1.59), clext.c (1.7): + + - cirrus init: set standard vga mode and reset bitblt + +2004-07-22 18:38 vruppert + + * VGABIOS-lgpl-latest.bin (1.58), VGABIOS-lgpl-latest.cirrus.bin (1.10), + VGABIOS-lgpl-latest.cirrus.debug.bin (1.10), + VGABIOS-lgpl-latest.debug.bin (1.58), clext.c (1.6), vbe.c (1.45), + vbetables.h (1.24): + + - cirrus extension: tables for mode 1280x1024x8 added + - vbe: dispi_set_xres() and dispi_set_virt_width() now modify vga compatible + registers + - vbe: mode list entry for mode 800x600x4 fixed + +2004-07-18 20:23 vruppert + + * VGABIOS-lgpl-latest.bin (1.57), VGABIOS-lgpl-latest.cirrus.bin (1.9), + VGABIOS-lgpl-latest.cirrus.debug.bin (1.9), + VGABIOS-lgpl-latest.debug.bin (1.57), vgabios.c (1.59), vgatables.h (1.8): + + - disable CRTC write protection before setting new values + - CRTC line for mode 0x6a fixed + +2004-07-07 16:08 vruppert + + * Makefile (1.15), VGABIOS-lgpl-latest.bin (1.56), + VGABIOS-lgpl-latest.cirrus.bin (1.8), VGABIOS-lgpl-latest.cirrus.debug.bin (1.8), + VGABIOS-lgpl-latest.debug.bin (1.56), biossums.c (1.1), clext.c (1.5): + + - biossums utility for the Bochs BIOS adapted for the LGPL'd VGABIOS + - VESA3 PMINFO checksum calculated in the source + - 24 bpp mode entries fixed (patch from Fabrice Bellard) + +2004-06-25 18:28 vruppert + + * VGABIOS-lgpl-latest.cirrus.bin (1.7), VGABIOS-lgpl-latest.cirrus.debug.bin (1.7), + clext.c (1.4): + + - 4MB memory probe added (patch from Fabrice Bellard) + +2004-06-25 17:31 vruppert + + * VGABIOS-lgpl-latest.bin (1.55), VGABIOS-lgpl-latest.cirrus.bin (1.6), + VGABIOS-lgpl-latest.cirrus.debug.bin (1.6), + VGABIOS-lgpl-latest.debug.bin (1.55), clext.c (1.3): + + - fixed value of sequencer reset register in cirrus mode table + - fixed possible overflow error if cirrus start address is >256k + +2004-06-23 21:11 vruppert + + * VGABIOS-lgpl-latest.bin (1.54), VGABIOS-lgpl-latest.cirrus.bin (1.5), + VGABIOS-lgpl-latest.cirrus.debug.bin (1.5), + VGABIOS-lgpl-latest.debug.bin (1.54), clext.c (1.2): + + - applied new patch for the cirrus extension from suzu + * enable VESA LFB support if a Cirrus PCI adapter is detected + * prepared VBE3 protected mode info block (test case required) + - added VBE functions 4F06h and 4F07h + - some bugfixes + +2004-06-17 18:57 vruppert + + * Makefile (1.14), VGABIOS-lgpl-latest.bin (1.53), + VGABIOS-lgpl-latest.cirrus.bin (1.2), VGABIOS-lgpl-latest.cirrus.debug.bin (1.2), + VGABIOS-lgpl-latest.debug.bin (1.53): + + - fixed makefile targets for the binaries with cirrus extension + +2004-06-16 21:11 vruppert + + * Makefile (1.13), VGABIOS-lgpl-latest.bin (1.52), + VGABIOS-lgpl-latest.cirrus.bin (1.1), VGABIOS-lgpl-latest.cirrus.debug.bin (1.1), + VGABIOS-lgpl-latest.debug.bin (1.52), clext.c (1.1), vgabios.c (1.58): + + - applied suzu's cirrus extension patch. Cirrus SVGA detection, most of the + cirrus-specific modes and some basic VBE features are present now. + +2004-05-31 21:15 vruppert + + * VGABIOS-lgpl-latest.bin (1.51), VGABIOS-lgpl-latest.debug.bin (1.51), + vgabios.c (1.57): + + - write character in planar graphics modes: sequencer map mask must be 0x0f and + bit operation must be 'replace' if bit 7 of attribute is clear + - read/write pixel in planar graphics modes: bit mask setup simplified + +2004-05-11 18:08 vruppert + + * VGABIOS-lgpl-latest.bin (1.50), VGABIOS-lgpl-latest.debug.bin (1.50), + vgabios.c (1.56): + + - biosfn_select_vert_res rewritten in assembler + - scroll text in planar graphics modes: attribute for blank line fixed + - write character in planar graphics modes: graphics controller values fixed + +2004-05-09 20:32 vruppert + + * VGABIOS-lgpl-latest.bin (1.49), VGABIOS-lgpl-latest.debug.bin (1.49), + vbe.c (1.44), vbe.h (1.24), vgabios.c (1.55): + + - VBE init code and some dispi ioport functions rewritten in assembler + - text scroll functions for CGA graphics modes added + - scroll text in graphics modes: attribute for blank line fixed + +2004-05-08 16:06 vruppert + + * BUGS (1.2), README (1.7), TODO (1.10), VGABIOS-lgpl-latest.bin (1.48), + VGABIOS-lgpl-latest.debug.bin (1.48), vbe.c (1.43), vbe.h (1.23), + vbe_display_api.txt (1.11), vgabios.c (1.54): + + - VBE internal functions dispi_set_enable and dispi_set_bank now called both from C + and asm code + - VBE function 0x03 rewritten in assembler + - VBE function 0x08 cleaned up + - text output and scroll functions for graphics modes rewritten using case + structures + - documentation and comments updated + +2004-05-06 21:18 vruppert + + * VGABIOS-lgpl-latest.bin (1.47), VGABIOS-lgpl-latest.debug.bin (1.47), + vbe.c (1.42), vbe.h (1.22), vgabios.c (1.53): + + - VBE functions 0x05, 0x06, 0x07 and some dispi ioport functions rewritten in + assembler + - VBE functions 0x06 and 0x07: get functions now supported, 15 bpp bug fixed + +2004-05-05 19:24 vruppert + + * VGABIOS-lgpl-latest.bin (1.46), VGABIOS-lgpl-latest.debug.bin (1.46), + vbe.c (1.41), vbe.h (1.21), vbe_display_api.txt (1.10), vgabios.c (1.52): + + - 8 bit DAC capability flag set + - vbe_biosfn_set_get_dac_palette_format implemented + - VBE api description updated + - C definitions from header files now used assembler code + +2004-05-02 17:27 vruppert + + * VGABIOS-lgpl-latest.bin (1.45), VGABIOS-lgpl-latest.debug.bin (1.45), + vgabios.c (1.51): + + - text scroll functions for PLANAR1/PLANAR4 graphics modes added + - function biosfn_get_ega_info rewritten in assembler + - read/write graphics pixel functions rewritten using a case structure + +2004-05-01 16:03 vruppert + + * VGABIOS-lgpl-latest.bin (1.44), VGABIOS-lgpl-latest.debug.bin (1.44), + vgabios.c (1.50): + + - biosfn_enable_cursor_emulation rewritten in assembler + - remap of the cursor shape depends on modeset control bit 0 + - text output in PLANAR4 modes now supports attribute bit 7 (XOR with background) + +2004-04-25 20:13 vruppert + + * VGABIOS-lgpl-latest.bin (1.43), VGABIOS-lgpl-latest.debug.bin (1.43), + vgabios.c (1.49), vgatables.h (1.7): + + - table entries for vga mode 0x0f fixed (PLANAR2 exists on EGA only) + - function release_font_access now supports the monochrome text mode + - PLANAR1 modes now supported in text output functions and read/write pixel + - function AH=0x12/BL=0x32 rewritten in assembler + +2004-04-25 08:45 vruppert + + * VGABIOS-lgpl-latest.bin (1.42), VGABIOS-lgpl-latest.debug.bin (1.42), + vgabios.c (1.48): + + - block address calculation in font functions fixed + - functions AX=0x1103, AH=0x12/BL=0x31 and AH=0x12/BL=0x33 rewritten in assembler + +2004-04-24 09:59 vruppert + + * VGABIOS-lgpl-latest.bin (1.41), VGABIOS-lgpl-latest.debug.bin (1.41), + vgabios.c (1.47): + + - read/write graphics pixel for PLANAR4 modes added + - CGA specific functions (group AH = 0x0B) implemented + +2004-04-23 14:34 vruppert + + * VGABIOS-lgpl-latest.bin (1.40), VGABIOS-lgpl-latest.debug.bin (1.40), + vgabios.c (1.46): + + - remaining palette and dac read/write functions (except gray scale summing) + rewritten in assembler + +2004-04-18 13:43 vruppert + + * VGABIOS-lgpl-latest.bin (1.39), VGABIOS-lgpl-latest.debug.bin (1.39), + vgabios.c (1.45): + + - some palette and dac read/write functions rewritten in assembler + - main int10 debug message now works with assembler functions, too + +2004-04-18 09:15 japj + + * vbe.c (1.40): + + updated my email address + put vgabios url in the bios copyright string + (instead of my old email address) + +2004-04-17 07:18 vruppert + + * VGABIOS-lgpl-latest.bin (1.38), VGABIOS-lgpl-latest.debug.bin (1.38), + vgabios.c (1.44): + + - biosfn_set_video_mode: don't load DAC registers if default palette loading is + disabled. Perform gray scale summing if enabled. + - biosfn_perform_gray_scale_summing: switch between DAC read and write mode is + required to make this function work. Maximum DAC value always set to 0x3f. + +2004-04-08 17:50 vruppert + + * VGABIOS-lgpl-latest.bin (1.37), VGABIOS-lgpl-latest.debug.bin (1.37), + vgabios.c (1.43): + + - write character function for the LINEAR8 mode + - get_font_access() and release_font_access() rewritten in assembler + - fixed wrong variable name in the init code + +2004-04-06 19:31 vruppert + + * VGABIOS-lgpl-latest.bin (1.36), VGABIOS-lgpl-latest.debug.bin (1.36), + vgabios.c (1.42): + + - init functions rewitten in assembler + - function biosfn_set_display_code rewritten in assembler + +2004-04-05 19:40 vruppert + + * VGABIOS-lgpl-latest.bin (1.35), VGABIOS-lgpl-latest.debug.bin (1.35), + vgabios.c (1.41): + + - functions biosfn_get_video_mode() and biosfn_read_display_code() rewritten + in assembler + +2004-04-04 18:20 vruppert + + * VGABIOS-lgpl-latest.bin (1.34), VGABIOS-lgpl-latest.debug.bin (1.34), + vgabios.c (1.40): + + - write character function for CGA modes added + - read/write graphics pixel for CGA and LINEAR8 modes added + +2004-02-23 21:08 vruppert + + * VGABIOS-lgpl-latest.bin (1.33), VGABIOS-lgpl-latest.debug.bin (1.33), + vbe.c (1.39): + + - dispi_get_max_bpp(): restore the original value of the vbe enable register + +2004-02-22 14:17 vruppert + + * README (1.6), vbe.c (1.38), vbe.h (1.20), vbe_display_api.txt (1.9), + VGABIOS-lgpl-latest.bin (1.32), VGABIOS-lgpl-latest.debug.bin (1.32): + + - new function dispi_get_max_bpp() returns the bpp capabilities of the Bochs gui + - create the mode list depending on the supported bpp capability + - unused stuff removed + - documentation updated + +2004-02-21 18:20 vruppert + + * vbe.c (1.37), vbe.h (1.19), vbetables.h (1.23), + VGABIOS-lgpl-latest.bin (1.31), VGABIOS-lgpl-latest.debug.bin (1.31): + + - dynamicly genarated vbe mode_info list works now + +2003-11-17 21:04 vruppert + + * vbe.c (1.36), vbetables.h (1.22), vgabios.c (1.39), vgatables.h (1.6), + VGABIOS-lgpl-latest.bin (1.30), VGABIOS-lgpl-latest.debug.bin (1.30): + + - new VBE presence flag stored at unused BDA address 0xB9 + - VBE init code rewritten + - added BIOS TTY flag for VBE mode 0x0102 (TODO: scrolling) + - vgabios_init_func: load and activate text font already done by set_video_mode + - function biosfn_get_all_palette_reg() fixed + +2003-11-06 00:26 cbothamy + + * README (1.5): + + - add changes for 0.4c release + +2003-11-06 00:22 cbothamy + + * VGABIOS-lgpl-latest.bin (1.29), VGABIOS-lgpl-latest.debug.bin + (1.29): + + - compile vgabios.c rev1.38 + +2003-11-06 00:21 cbothamy + + * vgabios.c (1.38): + + - activate char table after loading it when setting a text video + mode + +2003-11-06 00:19 cbothamy + + * Makefile (1.12): + + - when making a release, remove unwanted files first, and exclude + CVS from the tarball + +2003-11-04 22:50 cbothamy + + * ChangeLog (1.20, v0_4b): + + - update ChangeLog for 0.4b release + +2003-11-04 22:49 cbothamy + + * README (1.4, v0_4b): + + - update Changes for 0.4b release + +2003-11-04 20:26 vruppert + + * vgabios.c (1.37), VGABIOS-lgpl-latest.bin (1.28), + VGABIOS-lgpl-latest.debug.bin (1.28) (utags: v0_4b): + + - biosfn_get_font_info(): character height must be returned in CX + +2003-11-03 21:57 vruppert + + * vbe.c (1.35, v0_4b), vgabios.c (1.36), VGABIOS-lgpl-latest.bin + (1.27), VGABIOS-lgpl-latest.debug.bin (1.27): + + - the 'noclearmem' flag is not stored in the 'current video mode' + register (0040h:0049h) - VBE also stores the 'noclear' flag in + the 'video control' register (0040h:0087h) + +2003-10-05 10:06 vruppert + + * vbe.h (1.18, v0_4b), vbe_display_api.txt (1.8, v0_4b), + VGABIOS-lgpl-latest.bin (1.26), VGABIOS-lgpl-latest.debug.bin + (1.26): + + - changed VBE i/o registers to 0x01CE/CF (suggestion from Daniel + Gimpelevich) + +2003-08-18 18:38 vruppert + + * VGABIOS-lgpl-latest.bin (1.25), VGABIOS-lgpl-latest.debug.bin + (1.25), vgabios.c (1.35): + + - wrong offsets to the character tables (INT 0x1F/0x43) fixed + (underscore added) - functions accessing the CRT controller + optimized using a local variable 'crtc_addr' + +2003-08-17 15:46 cbothamy + + * ChangeLog (1.19, v0_4a): + + - ChangeLog is now automatically generated by running "cvs2cl -r + -t -P -S" - update ChangeLog for 0.4a release + +2003-08-17 15:44 cbothamy + + * README (1.3, v0_4a): + + - added the old ChangeLog in the HOSTORY section of the README + file - update History for 0.4a release, with a summary of Changes + +2003-08-17 15:24 cbothamy + + * Makefile (1.11, v0_4b, v0_4a): + + - fix Makefile for "release" target + +2003-08-16 01:49 cbothamy + + * Makefile (1.10), README (1.2), VGABIOS-lgpl-latest.bin (1.24, + v0_4a), VGABIOS-lgpl-latest.debug.bin (1.24, v0_4a), vgabios.c + (1.34, v0_4a): + + - update the Makefile for releases - remove references to old + plex86 website - update the Makefile so it build + VGABIOS-lgpl-latest.bin and VGABIOS-lgpl-latest.debug.bin + +2003-08-07 18:17 vruppert + + * VGABIOS-lgpl-latest.bin (1.23), VGABIOS-lgpl-latest.debug.bin + (1.23): + + - current VBE mode now stored in BDA (unused address 0xBA) + +2003-08-07 17:54 vruppert + + * vbe.c (1.34), vgatables.h (1.5, v0_4b) (utags: v0_4a): + + - current VBE mode now stored in BDA (unused address 0xBA) + +2003-07-20 18:05 vruppert + + * vgabios.c (1.33), VGABIOS-lgpl-latest.bin (1.22), + VGABIOS-lgpl-latest.debug.bin (1.22): + + - fixed a few functions accessing the attribute controller + +2003-07-19 09:33 vruppert + + * vgabios.c (1.32), VGABIOS-lgpl-latest.bin (1.21), + VGABIOS-lgpl-latest.debug.bin (1.21): + + - re-enable video after programming the attribute controller - + biosfn_set_all_palette_reg(): number of palette registers fixed + +2003-07-16 22:32 vruppert + + * ChangeLog (1.18), vbe.c (1.33), vbe.h (1.17, v0_4a), + vbe_display_api.txt (1.7, v0_4a), vgabios.c (1.31), + VGABIOS-lgpl-latest.bin (1.20), VGABIOS-lgpl-latest.debug.bin + (1.20): + + - LFB flag now stored in the register VBE_DISPI_INDEX_ENABLE - + release date in Changelog fixed - release date of VBE BIOS 0.6 + was the same as VGA BIOS 0.3b - year changed in copyright + messages + +2003-07-15 12:40 vruppert + + * VGABIOS-lgpl-latest.bin (1.19), VGABIOS-lgpl-latest.debug.bin + (1.19): + + - new function dispi_get_bpp() - function + vbe_biosfn_set_get_logical_scan_line_length() fixed for >8bpp - + number of image pages of all VBE modes fixed + +2003-07-15 12:35 vruppert + + * vbe.c (1.32), vbetables.h (1.21, v0_4b, v0_4a): + + - new function dispi_get_bpp() - function + vbe_biosfn_set_get_logical_scan_line_length() fixed for >8bpp - + number of image pages of all VBE modes fixed + +2003-07-14 19:45 vruppert + + * vbe_display_api.txt (1.6): + + - description of VBE_DISPI_ interface 0xb0c2 added + +2003-07-10 19:07 vruppert + + * vbe.c (1.31), vbetables.h (1.20), VGABIOS-lgpl-latest.bin (1.18), + VGABIOS-lgpl-latest.debug.bin (1.18): + + - 15 bpp VBE modes added - "Bochs own" mode 0x142 (640x480x32bpp) + added + +2003-07-01 19:00 vruppert + + * vbe.c (1.30), vbe.h (1.16), vbetables.h (1.19), + VGABIOS-lgpl-latest.bin (1.17), VGABIOS-lgpl-latest.debug.bin + (1.17): + + - VBE preserve display memory feature implemented - VBE mode + entries 0x117 and 0x118 added + +2003-06-30 21:27 vruppert + + * vbe.c (1.29), vbe.h (1.15), vbetables.h (1.18), + VGABIOS-lgpl-latest.bin (1.16), VGABIOS-lgpl-latest.debug.bin + (1.16): + + - VBE mode info blocks of modes with >8bpp enabled - VBE modes + with 24 bpp: bytes per scanline fixed - vbe_biosfn_set_mode() now + supports >8bpp - VBE will be enabled with new VBE_DISPI_ID2 + (0xB0C2) + +2003-06-29 12:53 vruppert + + * vbetables.h (1.17), VGABIOS-lgpl-latest.bin (1.15), + VGABIOS-lgpl-latest.debug.bin (1.15): + + - duplicate lines with VBE_MODE_ATTRIBUTE_GRAPHICS_MODE removed - + VBE mode info items of currently unsupported modes fixed + +2003-06-15 21:19 vruppert + + * vgabios.c (1.30), VGABIOS-lgpl-latest.bin (1.14), + VGABIOS-lgpl-latest.debug.bin (1.14): + + - function write_gfx_char() rewritten + +2003-04-26 09:27 vruppert + + * VGABIOS-lgpl-latest.debug.bin (1.13): + + - added missing VBE function dispi_get_bank() - added missing + return codes for VBE function 4F05h - memory size is always + reported in VBE function 4F00h - fixed scan line length for VBE + mode 0102h - fixed function set_active_page() for graphics modes + - fixed the page sizes of some VGA modes + +2003-04-26 09:22 vruppert + + * vbe.c (1.28), vbetables.h (1.16), vgabios.c (1.29), vgatables.h + (1.4), VGABIOS-lgpl-latest.bin (1.13): + + - added missing VBE function dispi_get_bank() - added missing + return codes for VBE function 4F05h - memory size is always + reported in VBE function 4F00h - fixed scan line length for VBE + mode 0102h - fixed function set_active_page() for graphics modes + - fixed the page sizes of some VGA modes + +2003-04-20 09:51 vruppert + + * vgabios.c (1.28), vgatables.h (1.3), VGABIOS-lgpl-latest.bin + (1.12), VGABIOS-lgpl-latest.debug.bin (1.12): + + - function write_gfx_char() now supports different font sizes - + some entries of the static functionality table fixed + +2003-04-18 09:23 vruppert + + * vbe.c (1.27), vbe.h (1.14), vbetables.h (1.15): + + - applied patch #1331 * new function dispi_set_bank_farcall() + * VBE mode info item WinFuncPtr points to the new function if the + flag VBE_WINDOW_ATTRIBUTE_RELOCATABLE is set * flag + VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE added + +2003-02-11 20:17 vruppert + + * VGABIOS-lgpl-latest.bin (1.11), VGABIOS-lgpl-latest.debug.bin + (1.11), vbe.c (1.26), vbetables.h (1.14): + + - VBE mode search rewritten * improved function + mode_info_find_mode() is now used by the VBE functions 0x4F01 + and 0x4F02 * removed all mode list entries with the LFB bit + set. LFB detection is now present in the function + mode_info_find_mode() + +2003-02-09 20:59 vruppert + + * VGABIOS-lgpl-latest.bin (1.10), VGABIOS-lgpl-latest.debug.bin + (1.10), vgabios.c (1.27): + + - function write_gfx_char(): memory address now calculated in + this function; background color is always black - function + biosfn_write_char_attr(): the count parameter is now used in + graphics modes too - function biosfn_write_char_only() works + the same way as function biosfn_write_char_attr() in graphics + mode - copying charmap data optimized using memcpyb() + +2003-02-09 11:36 vruppert + + * VGABIOS-lgpl-latest.bin (1.9), VGABIOS-lgpl-latest.debug.bin + (1.9): + + - VESA mode 0x102 added (uses existing SVGA mode 0x6a) - all VESA + modes with the LFB flag set removed from the list (Linux doesn't + like mode numbers > 0x07ff) + +2003-02-09 11:02 vruppert + + * vbe.c (1.25), vbe.h (1.13), vbetables.h (1.13): + + - VESA mode 0x102 added (uses existing SVGA mode 0x6a) - all VESA + modes with the LFB flag set removed from the list (Linux doesn't + like mode numbers > 0x07ff) + +2003-02-08 13:04 vruppert + + * vbe.c (1.24), vgabios.c (1.26): + + - vbe_biosfn_return_current_mode() now returns the active + standard VGA mode TODO: return VESA mode if enabled - + biosfn_set_video_mode() now clears the screen in CGA mode + correctly - write character functions are now working in all + PLANAR4 graphics modes - added stubs for unimplemented features + in graphics modes + +2003-02-04 22:19 vruppert + + * VGABIOS-lgpl-latest.bin (1.8), VGABIOS-lgpl-latest.debug.bin + (1.8): + + - set video mode: clear vga memory in graphics mode - set video + mode: load default font in text mode - write character + implemented for graphics mode 0x12 + +2003-02-04 22:06 vruppert + + * vgabios.c (1.25): + + - set video mode: clear vga memory in graphics mode - set video + mode: load default font in text mode - write character + implemented for graphics mode 0x12 + +2003-01-21 19:30 vruppert + + * vgabios.c (1.24): + + - remap the cursor size if the char height is > 8 and the new + values are < 8 + +2003-01-20 18:24 cbothamy + + * Makefile (1.9): + + - fix so make -j2 does not overwrite temp files + +2003-01-19 12:35 vruppert + + * vgabios.c (1.23): + + - function set_scan_lines() recalculates the number of rows and + the page size - new values for char height, text rows and page + size are stored in the BIOS data segment - asm helper function + idiv_u added + +2003-01-15 18:49 cbothamy + + * VGABIOS-lgpl-latest.bin (1.7), VGABIOS-lgpl-latest.debug.bin + (1.7): + + - compile vgabios rev 1.22 + +2003-01-15 18:49 cbothamy + + * vgabios.c (1.22): + + - fix bug found by ams : a 8bits index value was compared to + 0x100 in some cases in biosfn_set_all_dac_reg, + biosfn_read_all_dac_reg, biosfn_perform_gray_scale_summing + +2003-01-15 17:34 cbothamy + + * Makefile (1.8): + + - fix symbol table file names, discovered by ams + +2003-01-04 21:20 vruppert + + * VGABIOS-lgpl-latest.bin (1.6), VGABIOS-lgpl-latest.debug.bin + (1.6), vgabios.c (1.21): + + - biosfn_set_video_mode(): reset attribute controller flip-flop + before setting up the controller's registers (bug found with + amidiag) + +2003-01-04 09:50 vruppert + + * vbe.c (1.23): + + - VBE function 0x00 returns VBE 1.x compatible information if no + VBE signature is present + +2003-01-01 12:44 vruppert + + * VGABIOS-lgpl-latest.bin (1.5), VGABIOS-lgpl-latest.debug.bin + (1.5): + + - SVGA mode 0x6A (800x600x4) added to the list of graphics modes + +2002-12-31 18:07 vruppert + + * vgatables.h (1.2): + + - SVGA mode 0x6A (800x600x4) added to the list of graphics modes + +2002-11-23 10:38 cbothamy + + * ChangeLog (1.17, v0_3b): + + - fix changelog for 0.3b release + +2002-10-20 17:12 vruppert + + * VGABIOS-lgpl-latest.bin (1.4), VGABIOS-lgpl-latest.debug.bin + (1.4), vgabios.c (1.20) (utags: v0_3b): + + - new function set_scan_lines() for the font size change (patch + from Hartmut Birr) - cursor shape start and end must be updated + in set_scan_lines() - set_scan_lines() is called by the functions + 0x1110, 0x1111, 0x1112 and 0x1114 after copying the font data + +2002-10-04 08:20 vruppert + + * VGABIOS-lgpl-latest.bin (1.3), VGABIOS-lgpl-latest.debug.bin + (1.3), vgabios.c (1.19): + + - biosfn_set_single_dac_reg(): the red value is stored in DH + +2002-09-19 19:05 cbothamy + + * VGABIOS-lgpl-latest.bin (1.2), VGABIOS-lgpl-latest.debug.bin + (1.2): + + - updated with latest changes + +2002-09-19 19:03 cbothamy + + * ChangeLog (1.16), Makefile (1.7, v0_3b), vbe.c (1.22, v0_3b), + vgabios.c (1.18), vgabios.h (1.3, v0_4b, v0_4a, v0_3b): + + - updated the Makefile - removed display of copyrights. - + changed the Copyright string to "LGPL VGABios developers" + +2002-09-08 21:14 vruppert + + * vgabios.c (1.17): + + - set the cursor shape depending on the current font height - + clear BL before calling int 0x10 function 0x1103 in + vgabios_init_func + +2002-08-23 22:58 cbothamy + + * vbe.c (1.21), vbetables.h (1.12, v0_3b): + + - added lfb-mode numbers (patch from mathis) + +2002-07-21 21:57 japj + + * vbe.c (1.20), vgabios.c (1.16): + + gcc2/3 preprocessing fix + +2002-05-18 16:55 cbothamy + + * vgabios.c (1.15): + + - include patch from Volker that adds some text font functions + +2002-05-01 23:13 japj + + * VGABIOS-lgpl-latest.bin (1.1), VGABIOS-lgpl-latest.debug.bin + (1.1): + + adding latest bin & debug bin of the vgabios + +2002-04-29 14:50 japj + + * ChangeLog (1.15), vbe.c (1.19), vbe.h (1.12, v0_3b), vbetables.h + (1.11), vgabios.c (1.14): + + - applying hw scrolling/multibuffering patch + +2002-04-25 21:59 japj + + * Makefile (1.6), vbe.c (1.18), vgabios.c (1.13): + + - reverting #asm/##asm & endasm patch (does not work with with + cygwin) + +2002-04-19 19:38 japj + + * Makefile (1.5), vbe.c (1.17), vgabios.c (1.12): + + - fixing preprocessing of vgabios with latest gcc (from Mandrake + 8.2) + +2002-04-08 23:44 japj + + * ChangeLog (1.14), vbe_display_api.txt (1.5, v0_3b): + + - preparing docs for new DISPI interface (for hardware scrolling) + +2002-04-03 19:06 japj + + * ChangeLog (1.13), TODO (1.9, v0_4b, v0_4a, v0_3b), vbe.c (1.16): + + - defaulting LFB on + updated changelog & todo + +2002-04-03 00:38 cbothamy + + * vbe.c (1.15), vgabios.c (1.11): + + - changed the logging ports to 0x500 -> 0x502 + +2002-03-14 17:54 japj + + * vbe.c (1.14): + + - vbetables.h is dependant upon some defines (VBE_HAVE_LFB), so + put the include *after* the define + +2002-03-13 21:47 japj + + * ChangeLog (1.12), TODO (1.8), vbe.c (1.13), vbetables.h (1.10), + vgabios.c (1.10): + + - made LFB dependant upon define - not implement vbe functions + return failure - updated todo & docs for things after bochs 1.4 + +2002-03-13 19:46 japj + + * vbe.h (1.11), vbe_display_api.txt (1.4): + + - added max video memory + documented what is in the 0xb0c0 + interface + +2002-03-12 02:33 cbothamy + + * ChangeLog (1.11), Makefile (1.4): + + - updated for 0.3a. Merged vgabios.bin and vbebios.bin + +2002-03-10 21:36 japj + + * ChangeLog (1.10), vbetables.h (1.9): + + - added LFB modes for testing with vbe-lfb patch in Bochs + +2002-03-10 17:42 japj + + * vbe.c (1.12, v0_3a): + + - show people when they do NOT have VBE support available + +2002-03-10 17:36 japj + + * TODO (1.7, v0_3a), vbe.c (1.11), vbe.h (1.10, v0_3a), vgabios.c + (1.9, v0_3a): + + - cleanup of vbe internal functions (set 8bpp mode is now + dependant on ModeInfo content instead of hardcoded functions) + +2002-03-10 17:20 cbothamy + + * ChangeLog (1.9, v0_3a), TODO (1.6): + + - updated for 0.3a + +2002-03-10 17:19 cbothamy + + * vbe.c (1.10), vbe.h (1.9): + + - added vbe_has_vbe_display function that detects an attached vbe + display + +2002-03-10 17:12 cbothamy + + * vgabios.c (1.8): + + - vbe calls are done only if a vbe display is detected + +2002-03-10 11:25 japj + + * vbe.h (1.8), vbe_display_api.txt (1.3, v0_3a): + + - preparing for LFB support + +2002-03-09 14:25 japj + + * vgabios.c (1.7): + + - fixing initial cursor shape to _ instead of - + +2002-03-08 23:08 japj + + * ChangeLog (1.8), TODO (1.5), vbe.c (1.9), vbe.h (1.7), vgabios.c + (1.6): + + - updating vbe code to new API + +2002-03-08 21:48 japj + + * vbe.c (1.8), vbe.h (1.6), vbetables.h (1.8, v0_3a): + + - updating vbe code with #defines from API + +2002-03-08 21:31 japj + + * vbe_display_api.txt (1.2): + + - adding some text about how banks work + +2002-03-08 21:09 japj + + * ChangeLog (1.7), vbe_display_api.txt (1.1): + + - adding vbe_display_api documentation + +2002-03-07 21:36 japj + + * ChangeLog (1.6), vbe.c (1.7), vbetables.h (1.7): + + - added 1024x768xbpp support - some more cleanups/comments + +2002-03-06 21:55 japj + + * ChangeLog (1.5), TODO (1.4), vbe.c (1.6), vbetables.h (1.6), + vgabios.c (1.5): + + - updated changelog with new modi - added 640x480x8 (Mandrake + Installer can use this!) - added pre VBE2 compatible 'detection' + - fixed problem when normal vga set mode wouldn't disable vbe + mode + +2002-03-06 20:59 japj + + * TODO (1.3), vbe.c (1.5), vbe.h (1.5), vbetables.h (1.5), + vgabios.c (1.4): + + - adding 640x400x8 and 800x600x8 vbe support (this depends + HEAVILY on my bochs vga code patch - japj) + +2002-03-06 18:00 japj + + * vbe.c (1.4), vbe.h (1.4), vbetables.h (1.4): + + - implemented banked & lfb support for 320x200x8bpp (some fixes + for vbetest program not displaying anything) + +2002-03-05 20:25 japj + + * Makefile (1.3, v0_3a): + + for vbe debug bios: - print debugging information in assembly + output - print source code in assembly output + +2002-03-01 19:39 japj + + * ChangeLog (1.4), TODO (1.2), vbe.c (1.3), vbe.h (1.3), + vbetables.h (1.3): + + - added vbe support for 320x200x8 using the standard vgamode + (0x13) + +2002-02-19 00:29 japj + + * ChangeLog (1.3): + + - updating ChangeLog with lfbprof + +2002-02-18 23:26 japj + + * tests/lfbprof/: lfbprof.c (1.2), lfbprof.h (1.2) (utags: v0_3a, + v0_3b, v0_4a, v0_4b): + + - fixed unsigned short for mode list (-1 != 0xffff otherwise) - + fixed LfbMapRealPointer macro mask problem (some modes were + skipped) - added some extra 'debugging' printf's + +2002-02-18 23:07 japj + + * tests/lfbprof/: Makefile (1.1, v0_4b, v0_4a, v0_3b, v0_3a), + lfbprof.c (1.1), lfbprof.h (1.1): + + - Adding lfbprof testprogram (for vbe testing purposes) It + needs to be compiled with the Watcom C Compiler + +2002-02-18 18:48 japj + + * vbe.c (1.2), vbe.h (1.2): + + - cosmetic updates to vbe.c/h + added bunch of FIXMEs for work + that needs to be done + +2002-02-18 18:34 japj + + * vbetables.h (1.2): + + - cosmetic updates in vbetables.h + +2002-02-18 18:32 japj + + * ChangeLog (1.2): + + updated changelog with merge of vbebios 0.2 + +2002-02-18 18:07 japj + + * vgabios.c (1.3): + + - small cosmetic cleanup in vgabios vbe code + added FIXMEs + +2002-02-18 17:55 japj + + * Makefile (1.2), dataseghack (1.2, v0_4b, v0_4a, v0_3b, v0_3a), + vbe.c (1.1), vbe.h (1.1), vbetables.h (1.1), vgabios.c (1.2), + vgabios.h (1.2, v0_3a): + + - merging with vbebios 0.2 release + +2002-02-18 11:31 cbothamy + + * BUGS (1.1, v0_4b, v0_4a, v0_3b, v0_3a), COPYING (1.1, v0_4b, + v0_4a, v0_3b, v0_3a), ChangeLog (1.1), Makefile (1.1), Notes + (1.1, v0_4b, v0_4a, v0_3b, v0_3a), README (1.1, v0_3b, v0_3a), + TODO (1.1), dataseghack (1.1), vgabios.c (1.1), vgabios.h (1.1), + vgafonts.h (1.1, v0_4b, v0_4a, v0_3b, v0_3a), vgatables.h (1.1, + v0_3b, v0_3a), tests/testbios.c (1.1, v0_4b, v0_4a, v0_3b, + v0_3a): + + - initial import + diff --git a/src/VBox/Devices/Graphics/BIOS/Makefile.kmk b/src/VBox/Devices/Graphics/BIOS/Makefile.kmk new file mode 100644 index 00000000..30109f83 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/Makefile.kmk @@ -0,0 +1,192 @@ +# $Id: Makefile.kmk $ +## @file +# Sub-Makefile for the New VGA BIOS ROM. +# + +# +# Copyright (C) 2012-2019 Oracle Corporation +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License (GPL) as published by the Free Software +# Foundation, in version 2 as it comes in the "COPYING" file of the +# VirtualBox OSE distribution. VirtualBox OSE is distributed in the +# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +# + +SUB_DEPTH = ../../../../.. +include $(KBUILD_PATH)/subheader.kmk + + +ifdef VBOX_WITH_OPEN_WATCOM + + # + # VBoxVgaBios - The VGA BIOS. + # + MISCBINS += VBoxVgaBios386 + VBoxVgaBios386_TEMPLATE = VBoxBios + VBoxVgaBios386_ASFLAGS = -0 + VBoxVgaBios386_CFLAGS = -3 + VBoxVgaBios386_DEFS = VBE VBOX_BIOS_CPU=80386 + VBoxVgaBios386_INCS = $(VBOX_GRAPHICS_INCS) + VBoxVgaBios386_SOURCES = \ + vgarom.asm \ + vberom.asm \ + vgabios.c \ + vbe.c + VBoxVgaBios386_LDFLAGS = \ + output raw offset=0xC0000 \ + order \ + clname CODE \ + segment VGAROM segaddr=0xC000 \ + segment _TEXT segaddr=0xC000 offset=0xA00 \ + segment VBE32 segaddr=0xC000 offset=0x4400 \ + clname DATA \ + segment _DATA segaddr=0xC000 offset=0x4600 \ + + MISCBINS += VBoxVgaBios286 + VBoxVgaBios286_EXTENDS = VBoxVgaBios386 + VBoxVgaBios286_CFLAGS = -2 + VBoxVgaBios286_DEFS = $(filter-out VBOX_BIOS_CPU=80386,$(VBoxVgaBios386_DEFS)) VBOX_BIOS_CPU=80286 + + MISCBINS += VBoxVgaBios8086 + VBoxVgaBios8086_EXTENDS = VBoxVgaBios386 + VBoxVgaBios8086_CFLAGS = -0 + VBoxVgaBios8086_DEFS = $(filter-out VBOX_BIOS_CPU=80386,$(VBoxVgaBios386_DEFS)) VBOX_BIOS_CPU=8086 + + # + # Updates the alternative source file. + # + define def_VBoxVgaBiosUpdateAltSource + $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).asm +| $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).md5sum: \ + $$$$(VBoxVgaBios$(1)_1_TARGET) \ + $$(VBOX_MAKE_ALTERNATIVE_SOURCE) \ + $$(VBOX_VBOXCMP) + if1of ($$(KBUILD_TYPE), release) + $$(VBOX_MAKE_ALTERNATIVE_SOURCE) \ + --bios-image $$< \ + --bios-map $$(basename $$<).map \ + --bios-sym $$(basename $$<).sym \ + --bios-type vga \ + --output $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm + $$(QUIET)yasm -f bin \ + -o $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).bin \ + -l $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).lst \ + $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm + $$(VBOX_VBOXCMP) $$< $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).bin + $$(CP) --changed -- $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm $$(PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative$(1).asm + $$(REDIRECT) -C $$(dir $$(VBoxVgaBios$(1)_1_TARGET)) -- \ + $$(MD5SUM_EXT) -bo $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).md5sum $$(notdir $$(VBoxVgaBios$(1)_1_TARGET)) + $$(CP) --changed -- $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).md5sum $$(PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative$(1).md5sum + $$(RM) -f -- $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).asm \ + $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).bin \ + $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).lst \ + $$(VBoxVgaBios$(1)_0_OUTDIR)/VBoxVgaBiosAlternative$(1).md5sum + else + $$(QUIET)$$(ECHO) "Fatal error: Can only update VBoxVgaBiosAlternative$(1).asm/md5sum with a release build." + $$(QUIET)exit 1 + endif + endef + + $(evalcall2 def_VBoxVgaBiosUpdateAltSource,386) + $(evalcall2 def_VBoxVgaBiosUpdateAltSource,286) + $(evalcall2 def_VBoxVgaBiosUpdateAltSource,8086) + + update-vgabios-source: \ + $(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative386.asm \ + $(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative286.asm \ + $(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative8086.asm + +endif # VBOX_WITH_OPEN_WATCOM + + +# +# The library containing the VGA BIOS image. +# +LIBRARIES += VgaBiosBin +VgaBiosBin_TEMPLATE = VBOXR3 +VgaBiosBin_DEFS = IN_VBOXDD2 +VgaBiosBin_SOURCES = +VgaBiosBin_DEPS = $(VgaBiosBin_0_OUTDIR)/vbetables.h +VgaBiosBin_CLEAN = $(VgaBiosBin_0_OUTDIR)/vbetables.h + +define def_VBoxVgaBiosBin + VgaBiosBin_SOURCES += $$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c + VgaBiosBin_CLEAN += $$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c + ifdef VBOX_WITH_OPEN_WATCOM + $$$$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c: $$$$(VBoxVgaBios$(1)_1_TARGET) $$(VBOX_BIN2C) | $$$$(dir $$$$@) + $$(call MSG_TOOL,bin2c,VgaBiosBin,$$<,$$@) + $$(QUIET)$$(VBOX_BIN2C) -min 32 -max 36 -mask 0x0fff -ascii -export VgaBiosBinary$(1) $$< $$@ + else + VgaBiosBin_CLEAN += $$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom + + $$$$(VgaBiosBin_0_OUTDIR)/VgaBiosBin$(1).c + $$$$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom: \ + $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).asm \ + $$(PATH_SUB_CURRENT)/VBoxVgaBiosAlternative$(1).md5sum \ + $$(VBOX_BIN2C) | $$$$(dir $$$$@) + $$(call MSG_TOOL,bin2c,VgaBiosBin,$$<,$$@) + $$(QUIET)yasm -f bin -o $$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom $$< + $$(QUIET)$$(REDIRECT) -C $$(VgaBiosBin_0_OUTDIR) -- \ + $$(MD5SUM_EXT) -c $$(basename $$<).md5sum + $$(QUIET)$$(VBOX_BIN2C) -min 32 -max 36 -mask 0x0fff -ascii -export VgaBiosBinary$(1) $$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom $$@ + $$(QUIET)$$(RM) -f -- $$$$(VgaBiosBin_0_OUTDIR)/VBoxVgaBios$(1).rom + endif +endef +$(evalcall2 def_VBoxVgaBiosBin,386) +$(evalcall2 def_VBoxVgaBiosBin,286) +$(evalcall2 def_VBoxVgaBiosBin,8086) + + +# Rule for making the vbetables.h that DevVGA uses. +$$(VgaBiosBin_0_OUTDIR)/vbetables.h: $(MAKEFILE_CURRENT) $$(vbetables-gen_1_TARGET) | $$(dir $$@) + $(QUIET)$(REDIRECT) -wo $@ -- $(vbetables-gen_1_TARGET) + + +# +# The VBE tables. +# +BLDPROGS += vbetables-gen +vbetables-gen_TEMPLATE = VBoxBldProg +vbetables-gen_SOURCES = vbetables-gen.c +vbetables-gen_CLEAN = $(vbetables-gen) + + +# +# The VGA BIOS Logo. +# +LIBRARIES += VgaDefBiosLogo +VgaDefBiosLogo_TEMPLATE = VBOXR3 +VgaDefBiosLogo_INCS = $(VBOX_PATH_DEVICES_SRC) +VgaDefBiosLogo_SOURCES = $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogo.c +VgaDefBiosLogo_CLEAN = $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogo.c +ifndef VBOX_OSE +VgaDefBiosLogo_SOURCES += $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogoNY.c +VgaDefBiosLogo_CLEAN += $(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogoNY.c +endif + +# Rule for making the bios logo. +$$(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogo.c: $(VBOX_BRAND_BIOS_LOGO) $(VBOX_BIN2C) | $$(dir $$@) + $(call MSG_TOOL,bin2c,VgaDefBiosLogo,$<,$@) + $(QUIET)$(VBOX_BIN2C) VgaDefBiosLogo $< $@ + +# Rule for making the bios logo. +$$(VgaDefBiosLogo_0_OUTDIR)/VgaDefBiosLogoNY.c: $(PATH_ROOT)/src/VBox/Devices/Graphics/BIOS/puel_logo_ny.bmp $(VBOX_BIN2C) | $$(dir $$@) + $(call MSG_TOOL,bin2c,VgaDefBiosLogoNY,$<,$@) + $(QUIET)$(VBOX_BIN2C) VgaDefBiosLogoNY $< $@ + + +ifdef VBOX_WITH_OPEN_WATCOM + # + # Install the symbol file for the BIOS. + # + INSTALLS += VBoxVgaBiosSym + VBoxVgaBiosSym_TEMPLATE = VBoxDbgSyms + VBoxVgaBiosSym_SOURCES = \ + $(basename $(VBoxVgaBios386_1_TARGET)).sym \ + $(basename $(VBoxVgaBios286_1_TARGET)).sym \ + $(basename $(VBoxVgaBios8086_1_TARGET)).sym +endif + +include $(FILE_KBUILD_SUB_FOOTER) + diff --git a/src/VBox/Devices/Graphics/BIOS/Notes b/src/VBox/Devices/Graphics/BIOS/Notes new file mode 100644 index 00000000..d5b708dc --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/Notes @@ -0,0 +1,11 @@ +Development notes +----------------- + +- need to split video init function + 1. set bios variables + 2. do the real init with io based on bios variables + +- characters format switching will set the bios + variables and call function #2 above + +- need to rework the tables as explained in Interrupt list diff --git a/src/VBox/Devices/Graphics/BIOS/README b/src/VBox/Devices/Graphics/BIOS/README new file mode 100644 index 00000000..3b585e66 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/README @@ -0,0 +1,214 @@ +Plex86/Bochs VGABios +-------------------- + +The goal of this project is to have a LGPL'd Video Bios in plex86, +Bochs and qemu. +This VGA Bios is very specific to the emulated VGA card. +It is NOT meant to drive a physical vga card. + + +Cirrus SVGA extension +--------------------- + +The Cirrus SVGA extension is designed for the Cirrus emulation in Bochs and +qemu. The initial patch for the Cirrus extension has been written by Makoto +Suzuki (suzu). + + +Install +------- +To compile the VGA Bios you will need : +- gcc +- bcc +- as86 +- ld86 + +Untar the archive, and type make. You should get a "VGABIOS-lgpl-latest.bin" +file. Alternatively, you can use the binary file "VGABIOS-lgpl-latest.bin", +i have compiled for you. + +Edit your plex86/bochs conf file, and modify the load-rom command in the +VGA BIOS section, to point to the new vgabios image file. + + +Debugging +--------- +You can get a very basic debugging system: messages printed by the vgabios. +You have to register the "unmapped" device driver in plex86 or bochs, and make +sure it grabs port 0xfff0. + +Comment the #undef DEBUG at the beginning of vgabios.c. +You can then use the "printf" function in the bios. + + +Testing +------- +Look at the "testvga.c" file in the archive. This is a minimal Turbo C 2.0 +source file that calls a few int10 functions. Feel free to modify it to suit +your needs. + + +Copyright and License +--------------------- +This program has been written by Christophe Bothamy +It is protected by the GNU Lesser Public License, which you should +have received a copy of along with this package. + + +Reverse Engineering +------------------- +The VGA Bios has been written without reverse-engineering any existing Bios. + + +Acknowledgment +-------------- +The source code contains code ripped from rombios.c of plex86, written +by Kevin Lawton <kevin2001@yahoo.com> + +The source code contains fonts from fntcol16.zip (c) by Joseph Gil avalable at : +ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip +These fonts are public domain + +The source code is based on information taken from : +- Kevin Lawton's vga card emulation for bochs/plex86 +- Ralf Brown's interrupts list avalaible at + http://www.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html +- Finn Thogersons' VGADOC4b available at http://home.worldonline.dk/~finth/ +- Michael Abrash's Graphics Programming Black Book +- Francois Gervais' book "programmation des cartes graphiques cga-ega-vga" + edited by sybex +- DOSEMU 1.0.1 source code for several tables values and formulas + + +Feedback +-------- +Please report any bugs, comments, patches for this VGA Bios to info@vruppert.de +You can find the latest release at : http://www.nongnu.org/vgabios/ +For any information on bochs, visit the website http://bochs.sourceforge.net/ +For any information on qemu, visit the website http://fabrice.bellard.free.fr/qemu/ + + +History +------- +vgabios-0.6a : Aug 19 2006 + - Volker + . added minimal support for the video parameter table (VPT) + . Cirrus SVGA now supports the "no clear" bit in Cirrus and VESA mode + . Bochs VBE protected mode interface improved + . save/restore video state support for Bochs VBE and standard VGA added + . generate vbetables.h dynamicly + . VBE video memory increased to 8 MB (VBE dispi ID changed to B0C4) + . lots of 4bpp VBE fixes (all 4bpp VBE modes now enabled) + . VGA compatible setup for VBE modes added + +vgabios-0.5d : Dec 29 2005 + - Volker + . Bochs VBE protected mode interface added (based on a patch by malc@pulsesoft.com) + . biossums utility now supports VGABIOS sizes up to 64 kBytes + . VGA mode 0x11: all color planes must be enabled in this 2-color VGA mode + +vgabios-0.5c : Jul 07 2005 + - Volker + . BIOS configuration word usually reports initial mode 80x25 color text + . vgabios function 0x0e (write teletype): linefeed (0x0a) only increments the + cursor row value + +vgabios-0.5b : May 24 2005 + - Volker + . fixed return value for the default case in the VBE section (non-debug mode) + . removed unused stuff + +vgabios-0.5a : Mar 07 2005 + - Volker + . Cirrus SVGA extension (initial patches from Makoto Suzuki, improvements + from Fabrice Bellard) + . vgabios image size is now exactly 32k with a checksum + . a lot of vgabios and vbe functions rewritten in assembler + . dynamicly generated VBE mode info list + . write character function for CGA and LINEAR8 modes + . read/write graphics pixel for some graphics modes + . text scroll feature for some graphics modes + . VBE 8-bit DAC support + +vgabios-0.4c : Nov 06 2003 + - Christophe + . fix font problem on initial screen of NT4 Loader + +vgabios-0.4b : Nov 04 2003 + - Volker + . fix offset of character tables + . optimizations of CRT controller accesses + . VBE i/o registers changed to 0x01CE/CF + (suggestion from Daniel Gimpelevich) + . "noclear" flag stored in BIOS area + . fix character height returned by get_font_info function + +vgabios-0.4a : Aug 17 2003 + - Volker + . VBE mode search rewritten (VBE modes with LFB bit removed) + . many bugfixes and optimizations + . write character function implemented for graphics modes + . support for 15bpp, 16bpp, 24bpp and 32bpp VBE modes added + . SVGA mode 0x6A added + . VBE modes 0x102, 0x117, 0x118 and 0x142 (Bochs specific) + +vgabios-0.3b : Nov 23 2002 + - Christophe + . added lfb-mode numbers (patch from mathis) + . updated the Makefile + . removed display of copyrights. + . changed the Copyright string to "LGPL VGABios developers" + - Volker + . set the cursor shape depending on the current font height + . clear BL before calling int 0x10 function 0x1103 in vgabios_init_func + . added some text font functions + - Jeroen + . Forced to new DISPI (0xb0c1) interface (requires latest bochs vbe code) + . Added multibuffering support + . Added new DISPI interface for: virt width, height, x offset, y offset + . Added LFB modes (to be used with the vbe-lfb patch in bochs) + see VBE_HAVE_LFB in vbe.c (currently default enabled) + . updated TODO & docs for changes after bochs 1.4 + +vgabios-0.3a : Mar 10 2002 + - Christophe + . Fixed bug in function ah=13 + - Jeroen + . updated vbebios implementation to new api + . added vbe_display_api documentation + . added 640x400x8, 640x480x8, 800x600x8, 1024x768 + (>640x480 needs a special bochs patch atm) + . added 320x200x8 vbe support (uses the standard 320x200x8 vga mode to + display, this allows for testing & having something on screen as well, + at least until bochs host side display is up & running) + . adding lfbprof (vbe) testprogram (+some small fixes to it) + . merging with vbebios 0.2 + +vgabios-0.2b : Nov 19 2001 + - Christophe + . Fixed bug in function ah=13 + +vgabios-0.2a : Nov 09 2001 + - Christophe + . Included bugfix from techt@pikeonline.net about grayscale summing + . Added the "IBM" string at org 0x1e as Bart Oldeman suggested + . Fixed DS and ES that where inverted in the int10 parameters list! + . The following have been implemented : + - function ax=1a00, ax=1a01, ah=1b + - function ax=1130 + . Added debug messages for unimplemented/unknown functions + Must be compiled with DEBUG defined. The output is trapped + by the unknown-ioport driver of plex/bochs (port 0xfff0 is used) + +vgabios-0.1a : May 8 2001 + - Christophe + . First release. The work has been focused only on text mode. + . The following have been implemented : + - inits + - int 10 handler + - functions ah=00, ah=01, ah=02, ah=03, ah=05, ah=06, ah=07, ah=08 + ah=09, ah=0a, ah=0e, ah=0f, ax=1000, ax=1001, ax=1002, ax=1003 + ax=1007, ax=1008, ax=1009, ax=1010, ax=1012, ax=1013, ax=1015 + ax=1017, ax=1018, ax=1019, ax=101a, ax=101b, ah=12 bl=10, + ah=12 bl=30, ah=12 bl=31, ah=12 bl=32, ah=12 bl=33, ah=12 bl=34 + ah=13 diff --git a/src/VBox/Devices/Graphics/BIOS/TODO b/src/VBox/Devices/Graphics/BIOS/TODO new file mode 100644 index 00000000..6fa1df8a --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/TODO @@ -0,0 +1,26 @@ +Short term : +------------ + +General + - Fix init mode (ah=00). Should use more BIOS variables + - Add new functionalities and modify static functionality table + - Performance : 16 bits IO + +v0.7 + - Implement the remaining functions (don't know if all are needed): + - chargen ax=1120, ax=1121, ax=1122, ax=1123, ax=1124 + - display switch interface ah=12 bl=35 + - video refresh control ah=12 bl=36 + - Graphic modes + +v1.0 + - Bugfixes + + +================================================================================================= +VBE: +---- +Long term: +- have plex86 host side display interface +- have text io functions in vbe mode + diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm new file mode 100644 index 00000000..a1b34678 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm @@ -0,0 +1,8528 @@ +; $Id: VBoxVgaBiosAlternative286.asm $ +;; @file +; Auto Generated source file. Do not edit. +; + +; +; Source file: vgarom.asm +; +; ============================================================================================ +; +; Copyright (C) 2001,2002 the LGPL VGABios developers Team +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Lesser General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library 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 +; Lesser General Public License for more details. +; +; You should have received a copy of the GNU Lesser General Public +; License along with this library; if not, write to the Free Software +; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; +; ============================================================================================ +; +; This VGA Bios is specific to the plex86/bochs Emulated VGA card. +; You can NOT drive any physical vga card with it. +; +; ============================================================================================ +; + +; +; Source file: vberom.asm +; +; ============================================================================================ +; +; Copyright (C) 2002 Jeroen Janssen +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Lesser General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library 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 +; Lesser General Public License for more details. +; +; You should have received a copy of the GNU Lesser General Public +; License along with this library; if not, write to the Free Software +; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; +; ============================================================================================ +; +; This VBE is part of the VGA Bios specific to the plex86/bochs Emulated VGA card. +; You can NOT drive any physical vga card with it. +; +; ============================================================================================ +; +; This VBE Bios is based on information taken from : +; - VESA BIOS EXTENSION (VBE) Core Functions Standard Version 3.0 located at www.vesa.org +; +; ============================================================================================ + +; +; Source file: vgabios.c +; +; // ============================================================================================ +; +; vgabios.c +; +; // ============================================================================================ +; // +; // Copyright (C) 2001,2002 the LGPL VGABios developers Team +; // +; // This library is free software; you can redistribute it and/or +; // modify it under the terms of the GNU Lesser General Public +; // License as published by the Free Software Foundation; either +; // version 2 of the License, or (at your option) any later version. +; // +; // This library 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 +; // Lesser General Public License for more details. +; // +; // You should have received a copy of the GNU Lesser General Public +; // License along with this library; if not, write to the Free Software +; // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; // +; // ============================================================================================ +; // +; // This VGA Bios is specific to the plex86/bochs Emulated VGA card. +; // You can NOT drive any physical vga card with it. +; // +; // ============================================================================================ +; // +; // This file contains code ripped from : +; // - rombios.c of plex86 +; // +; // This VGA Bios contains fonts from : +; // - fntcol16.zip (c) by Joseph Gil avalable at : +; // ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip +; // These fonts are public domain +; // +; // This VGA Bios is based on information taken from : +; // - Kevin Lawton's vga card emulation for bochs/plex86 +; // - Ralf Brown's interrupts list available at http://www.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html +; // - Finn Thogersons' VGADOC4b available at http://home.worldonline.dk/~finth/ +; // - Michael Abrash's Graphics Programming Black Book +; // - Francois Gervais' book "programmation des cartes graphiques cga-ega-vga" edited by sybex +; // - DOSEMU 1.0.1 source code for several tables values and formulas +; // +; // Thanks for patches, comments and ideas to : +; // - techt@pikeonline.net +; // +; // ============================================================================================ + +; +; Source file: vbe.c +; +; // ============================================================================================ +; // +; // Copyright (C) 2002 Jeroen Janssen +; // +; // This library is free software; you can redistribute it and/or +; // modify it under the terms of the GNU Lesser General Public +; // License as published by the Free Software Foundation; either +; // version 2 of the License, or (at your option) any later version. +; // +; // This library 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 +; // Lesser General Public License for more details. +; // +; // You should have received a copy of the GNU Lesser General Public +; // License along with this library; if not, write to the Free Software +; // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; // +; // ============================================================================================ +; // +; // This VBE is part of the VGA Bios specific to the plex86/bochs Emulated VGA card. +; // You can NOT drive any physical vga card with it. +; // +; // ============================================================================================ +; // +; // This VBE Bios is based on information taken from : +; // - VESA BIOS EXTENSION (VBE) Core Functions Standard Version 3.0 located at www.vesa.org +; // +; // ============================================================================================ + +; +; Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice +; other than GPL or LGPL is available it will apply instead, Oracle elects to use only +; the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where +; a choice of LGPL license versions is made available with the language indicating +; that LGPLv2 or any later version may be used, or where a choice of which version +; of the LGPL is applied is otherwise unspecified. +; + + + + + +section VGAROM progbits vstart=0x0 align=1 ; size=0x8fd class=CODE group=AUTO + ; disGetNextSymbol 0xc0000 LB 0x8fd -> off=0x22 cb=000000000000054e uValue=00000000000c0022 'vgabios_int10_handler' + db 055h, 0aah, 040h, 0e9h, 063h, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 049h, 042h + db 04dh, 000h +vgabios_int10_handler: ; 0xc0022 LB 0x54e + pushfw ; 9c ; 0xc0022 vgarom.asm:84 + cmp ah, 00fh ; 80 fc 0f ; 0xc0023 vgarom.asm:96 + jne short 0002eh ; 75 06 ; 0xc0026 vgarom.asm:97 + call 0017ah ; e8 4f 01 ; 0xc0028 vgarom.asm:98 + jmp near 000eah ; e9 bc 00 ; 0xc002b vgarom.asm:99 + cmp ah, 01ah ; 80 fc 1a ; 0xc002e vgarom.asm:101 + jne short 00039h ; 75 06 ; 0xc0031 vgarom.asm:102 + call 0052fh ; e8 f9 04 ; 0xc0033 vgarom.asm:103 + jmp near 000eah ; e9 b1 00 ; 0xc0036 vgarom.asm:104 + cmp ah, 00bh ; 80 fc 0b ; 0xc0039 vgarom.asm:106 + jne short 00044h ; 75 06 ; 0xc003c vgarom.asm:107 + call 000ech ; e8 ab 00 ; 0xc003e vgarom.asm:108 + jmp near 000eah ; e9 a6 00 ; 0xc0041 vgarom.asm:109 + cmp ax, 01103h ; 3d 03 11 ; 0xc0044 vgarom.asm:111 + jne short 0004fh ; 75 06 ; 0xc0047 vgarom.asm:112 + call 00426h ; e8 da 03 ; 0xc0049 vgarom.asm:113 + jmp near 000eah ; e9 9b 00 ; 0xc004c vgarom.asm:114 + cmp ah, 012h ; 80 fc 12 ; 0xc004f vgarom.asm:116 + jne short 00092h ; 75 3e ; 0xc0052 vgarom.asm:117 + cmp bl, 010h ; 80 fb 10 ; 0xc0054 vgarom.asm:118 + jne short 0005fh ; 75 06 ; 0xc0057 vgarom.asm:119 + call 00433h ; e8 d7 03 ; 0xc0059 vgarom.asm:120 + jmp near 000eah ; e9 8b 00 ; 0xc005c vgarom.asm:121 + cmp bl, 030h ; 80 fb 30 ; 0xc005f vgarom.asm:123 + jne short 0006ah ; 75 06 ; 0xc0062 vgarom.asm:124 + call 00456h ; e8 ef 03 ; 0xc0064 vgarom.asm:125 + jmp near 000eah ; e9 80 00 ; 0xc0067 vgarom.asm:126 + cmp bl, 031h ; 80 fb 31 ; 0xc006a vgarom.asm:128 + jne short 00074h ; 75 05 ; 0xc006d vgarom.asm:129 + call 004a9h ; e8 37 04 ; 0xc006f vgarom.asm:130 + jmp short 000eah ; eb 76 ; 0xc0072 vgarom.asm:131 + cmp bl, 032h ; 80 fb 32 ; 0xc0074 vgarom.asm:133 + jne short 0007eh ; 75 05 ; 0xc0077 vgarom.asm:134 + call 004cbh ; e8 4f 04 ; 0xc0079 vgarom.asm:135 + jmp short 000eah ; eb 6c ; 0xc007c vgarom.asm:136 + cmp bl, 033h ; 80 fb 33 ; 0xc007e vgarom.asm:138 + jne short 00088h ; 75 05 ; 0xc0081 vgarom.asm:139 + call 004e9h ; e8 63 04 ; 0xc0083 vgarom.asm:140 + jmp short 000eah ; eb 62 ; 0xc0086 vgarom.asm:141 + cmp bl, 034h ; 80 fb 34 ; 0xc0088 vgarom.asm:143 + jne short 000dch ; 75 4f ; 0xc008b vgarom.asm:144 + call 0050dh ; e8 7d 04 ; 0xc008d vgarom.asm:145 + jmp short 000eah ; eb 58 ; 0xc0090 vgarom.asm:146 + cmp ax, 0101bh ; 3d 1b 10 ; 0xc0092 vgarom.asm:148 + je short 000dch ; 74 45 ; 0xc0095 vgarom.asm:149 + cmp ah, 010h ; 80 fc 10 ; 0xc0097 vgarom.asm:150 + jne short 000a1h ; 75 05 ; 0xc009a vgarom.asm:154 + call 001a1h ; e8 02 01 ; 0xc009c vgarom.asm:156 + jmp short 000eah ; eb 49 ; 0xc009f vgarom.asm:157 + cmp ah, 04fh ; 80 fc 4f ; 0xc00a1 vgarom.asm:160 + jne short 000dch ; 75 36 ; 0xc00a4 vgarom.asm:161 + cmp AL, strict byte 003h ; 3c 03 ; 0xc00a6 vgarom.asm:162 + jne short 000afh ; 75 05 ; 0xc00a8 vgarom.asm:163 + call 007d2h ; e8 25 07 ; 0xc00aa vgarom.asm:164 + jmp short 000eah ; eb 3b ; 0xc00ad vgarom.asm:165 + cmp AL, strict byte 005h ; 3c 05 ; 0xc00af vgarom.asm:167 + jne short 000b8h ; 75 05 ; 0xc00b1 vgarom.asm:168 + call 007f7h ; e8 41 07 ; 0xc00b3 vgarom.asm:169 + jmp short 000eah ; eb 32 ; 0xc00b6 vgarom.asm:170 + cmp AL, strict byte 007h ; 3c 07 ; 0xc00b8 vgarom.asm:172 + jne short 000c1h ; 75 05 ; 0xc00ba vgarom.asm:173 + call 00824h ; e8 65 07 ; 0xc00bc vgarom.asm:174 + jmp short 000eah ; eb 29 ; 0xc00bf vgarom.asm:175 + cmp AL, strict byte 008h ; 3c 08 ; 0xc00c1 vgarom.asm:177 + jne short 000cah ; 75 05 ; 0xc00c3 vgarom.asm:178 + call 00858h ; e8 90 07 ; 0xc00c5 vgarom.asm:179 + jmp short 000eah ; eb 20 ; 0xc00c8 vgarom.asm:180 + cmp AL, strict byte 009h ; 3c 09 ; 0xc00ca vgarom.asm:182 + jne short 000d3h ; 75 05 ; 0xc00cc vgarom.asm:183 + call 0088fh ; e8 be 07 ; 0xc00ce vgarom.asm:184 + jmp short 000eah ; eb 17 ; 0xc00d1 vgarom.asm:185 + cmp AL, strict byte 00ah ; 3c 0a ; 0xc00d3 vgarom.asm:187 + jne short 000dch ; 75 05 ; 0xc00d5 vgarom.asm:188 + call 008e6h ; e8 0c 08 ; 0xc00d7 vgarom.asm:189 + jmp short 000eah ; eb 0e ; 0xc00da vgarom.asm:190 + push ES ; 06 ; 0xc00dc vgarom.asm:194 + push DS ; 1e ; 0xc00dd vgarom.asm:195 + pushaw ; 60 ; 0xc00de vgarom.asm:97 + mov bx, 0c000h ; bb 00 c0 ; 0xc00df vgarom.asm:199 + mov ds, bx ; 8e db ; 0xc00e2 vgarom.asm:200 + call 0326bh ; e8 84 31 ; 0xc00e4 vgarom.asm:201 + popaw ; 61 ; 0xc00e7 vgarom.asm:114 + pop DS ; 1f ; 0xc00e8 vgarom.asm:204 + pop ES ; 07 ; 0xc00e9 vgarom.asm:205 + popfw ; 9d ; 0xc00ea vgarom.asm:207 + iret ; cf ; 0xc00eb vgarom.asm:208 + cmp bh, 000h ; 80 ff 00 ; 0xc00ec vgarom.asm:213 + je short 000f7h ; 74 06 ; 0xc00ef vgarom.asm:214 + cmp bh, 001h ; 80 ff 01 ; 0xc00f1 vgarom.asm:215 + je short 00148h ; 74 52 ; 0xc00f4 vgarom.asm:216 + retn ; c3 ; 0xc00f6 vgarom.asm:220 + push ax ; 50 ; 0xc00f7 vgarom.asm:222 + push bx ; 53 ; 0xc00f8 vgarom.asm:223 + push cx ; 51 ; 0xc00f9 vgarom.asm:224 + push dx ; 52 ; 0xc00fa vgarom.asm:225 + push DS ; 1e ; 0xc00fb vgarom.asm:226 + mov dx, strict word 00040h ; ba 40 00 ; 0xc00fc vgarom.asm:227 + mov ds, dx ; 8e da ; 0xc00ff vgarom.asm:228 + mov dx, 003dah ; ba da 03 ; 0xc0101 vgarom.asm:229 + in AL, DX ; ec ; 0xc0104 vgarom.asm:230 + cmp byte [word 00049h], 003h ; 80 3e 49 00 03 ; 0xc0105 vgarom.asm:231 + jbe short 0013bh ; 76 2f ; 0xc010a vgarom.asm:232 + mov dx, 003c0h ; ba c0 03 ; 0xc010c vgarom.asm:233 + mov AL, strict byte 000h ; b0 00 ; 0xc010f vgarom.asm:234 + out DX, AL ; ee ; 0xc0111 vgarom.asm:235 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0112 vgarom.asm:236 + and AL, strict byte 00fh ; 24 0f ; 0xc0114 vgarom.asm:237 + test AL, strict byte 008h ; a8 08 ; 0xc0116 vgarom.asm:238 + je short 0011ch ; 74 02 ; 0xc0118 vgarom.asm:239 + add AL, strict byte 008h ; 04 08 ; 0xc011a vgarom.asm:240 + out DX, AL ; ee ; 0xc011c vgarom.asm:242 + mov CL, strict byte 001h ; b1 01 ; 0xc011d vgarom.asm:243 + and bl, 010h ; 80 e3 10 ; 0xc011f vgarom.asm:244 + mov dx, 003c0h ; ba c0 03 ; 0xc0122 vgarom.asm:246 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc0125 vgarom.asm:247 + out DX, AL ; ee ; 0xc0127 vgarom.asm:248 + mov dx, 003c1h ; ba c1 03 ; 0xc0128 vgarom.asm:249 + in AL, DX ; ec ; 0xc012b vgarom.asm:250 + and AL, strict byte 0efh ; 24 ef ; 0xc012c vgarom.asm:251 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc012e vgarom.asm:252 + mov dx, 003c0h ; ba c0 03 ; 0xc0130 vgarom.asm:253 + out DX, AL ; ee ; 0xc0133 vgarom.asm:254 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc0134 vgarom.asm:255 + cmp cl, 004h ; 80 f9 04 ; 0xc0136 vgarom.asm:256 + jne short 00122h ; 75 e7 ; 0xc0139 vgarom.asm:257 + mov AL, strict byte 020h ; b0 20 ; 0xc013b vgarom.asm:259 + out DX, AL ; ee ; 0xc013d vgarom.asm:260 + mov dx, 003dah ; ba da 03 ; 0xc013e vgarom.asm:262 + in AL, DX ; ec ; 0xc0141 vgarom.asm:263 + pop DS ; 1f ; 0xc0142 vgarom.asm:265 + pop dx ; 5a ; 0xc0143 vgarom.asm:266 + pop cx ; 59 ; 0xc0144 vgarom.asm:267 + pop bx ; 5b ; 0xc0145 vgarom.asm:268 + pop ax ; 58 ; 0xc0146 vgarom.asm:269 + retn ; c3 ; 0xc0147 vgarom.asm:270 + push ax ; 50 ; 0xc0148 vgarom.asm:272 + push bx ; 53 ; 0xc0149 vgarom.asm:273 + push cx ; 51 ; 0xc014a vgarom.asm:274 + push dx ; 52 ; 0xc014b vgarom.asm:275 + mov dx, 003dah ; ba da 03 ; 0xc014c vgarom.asm:276 + in AL, DX ; ec ; 0xc014f vgarom.asm:277 + mov CL, strict byte 001h ; b1 01 ; 0xc0150 vgarom.asm:278 + and bl, 001h ; 80 e3 01 ; 0xc0152 vgarom.asm:279 + mov dx, 003c0h ; ba c0 03 ; 0xc0155 vgarom.asm:281 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc0158 vgarom.asm:282 + out DX, AL ; ee ; 0xc015a vgarom.asm:283 + mov dx, 003c1h ; ba c1 03 ; 0xc015b vgarom.asm:284 + in AL, DX ; ec ; 0xc015e vgarom.asm:285 + and AL, strict byte 0feh ; 24 fe ; 0xc015f vgarom.asm:286 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc0161 vgarom.asm:287 + mov dx, 003c0h ; ba c0 03 ; 0xc0163 vgarom.asm:288 + out DX, AL ; ee ; 0xc0166 vgarom.asm:289 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc0167 vgarom.asm:290 + cmp cl, 004h ; 80 f9 04 ; 0xc0169 vgarom.asm:291 + jne short 00155h ; 75 e7 ; 0xc016c vgarom.asm:292 + mov AL, strict byte 020h ; b0 20 ; 0xc016e vgarom.asm:293 + out DX, AL ; ee ; 0xc0170 vgarom.asm:294 + mov dx, 003dah ; ba da 03 ; 0xc0171 vgarom.asm:296 + in AL, DX ; ec ; 0xc0174 vgarom.asm:297 + pop dx ; 5a ; 0xc0175 vgarom.asm:299 + pop cx ; 59 ; 0xc0176 vgarom.asm:300 + pop bx ; 5b ; 0xc0177 vgarom.asm:301 + pop ax ; 58 ; 0xc0178 vgarom.asm:302 + retn ; c3 ; 0xc0179 vgarom.asm:303 + push DS ; 1e ; 0xc017a vgarom.asm:308 + mov ax, strict word 00040h ; b8 40 00 ; 0xc017b vgarom.asm:309 + mov ds, ax ; 8e d8 ; 0xc017e vgarom.asm:310 + push bx ; 53 ; 0xc0180 vgarom.asm:311 + mov bx, strict word 00062h ; bb 62 00 ; 0xc0181 vgarom.asm:312 + mov al, byte [bx] ; 8a 07 ; 0xc0184 vgarom.asm:313 + pop bx ; 5b ; 0xc0186 vgarom.asm:314 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc0187 vgarom.asm:315 + push bx ; 53 ; 0xc0189 vgarom.asm:316 + mov bx, 00087h ; bb 87 00 ; 0xc018a vgarom.asm:317 + mov ah, byte [bx] ; 8a 27 ; 0xc018d vgarom.asm:318 + and ah, 080h ; 80 e4 80 ; 0xc018f vgarom.asm:319 + mov bx, strict word 00049h ; bb 49 00 ; 0xc0192 vgarom.asm:320 + mov al, byte [bx] ; 8a 07 ; 0xc0195 vgarom.asm:321 + db 00ah, 0c4h + ; or al, ah ; 0a c4 ; 0xc0197 vgarom.asm:322 + mov bx, strict word 0004ah ; bb 4a 00 ; 0xc0199 vgarom.asm:323 + mov ah, byte [bx] ; 8a 27 ; 0xc019c vgarom.asm:324 + pop bx ; 5b ; 0xc019e vgarom.asm:325 + pop DS ; 1f ; 0xc019f vgarom.asm:326 + retn ; c3 ; 0xc01a0 vgarom.asm:327 + cmp AL, strict byte 000h ; 3c 00 ; 0xc01a1 vgarom.asm:332 + jne short 001a7h ; 75 02 ; 0xc01a3 vgarom.asm:333 + jmp short 00208h ; eb 61 ; 0xc01a5 vgarom.asm:334 + cmp AL, strict byte 001h ; 3c 01 ; 0xc01a7 vgarom.asm:336 + jne short 001adh ; 75 02 ; 0xc01a9 vgarom.asm:337 + jmp short 00226h ; eb 79 ; 0xc01ab vgarom.asm:338 + cmp AL, strict byte 002h ; 3c 02 ; 0xc01ad vgarom.asm:340 + jne short 001b3h ; 75 02 ; 0xc01af vgarom.asm:341 + jmp short 0022eh ; eb 7b ; 0xc01b1 vgarom.asm:342 + cmp AL, strict byte 003h ; 3c 03 ; 0xc01b3 vgarom.asm:344 + jne short 001bah ; 75 03 ; 0xc01b5 vgarom.asm:345 + jmp near 0025fh ; e9 a5 00 ; 0xc01b7 vgarom.asm:346 + cmp AL, strict byte 007h ; 3c 07 ; 0xc01ba vgarom.asm:348 + jne short 001c1h ; 75 03 ; 0xc01bc vgarom.asm:349 + jmp near 00289h ; e9 c8 00 ; 0xc01be vgarom.asm:350 + cmp AL, strict byte 008h ; 3c 08 ; 0xc01c1 vgarom.asm:352 + jne short 001c8h ; 75 03 ; 0xc01c3 vgarom.asm:353 + jmp near 002b1h ; e9 e9 00 ; 0xc01c5 vgarom.asm:354 + cmp AL, strict byte 009h ; 3c 09 ; 0xc01c8 vgarom.asm:356 + jne short 001cfh ; 75 03 ; 0xc01ca vgarom.asm:357 + jmp near 002bfh ; e9 f0 00 ; 0xc01cc vgarom.asm:358 + cmp AL, strict byte 010h ; 3c 10 ; 0xc01cf vgarom.asm:360 + jne short 001d6h ; 75 03 ; 0xc01d1 vgarom.asm:361 + jmp near 00304h ; e9 2e 01 ; 0xc01d3 vgarom.asm:362 + cmp AL, strict byte 012h ; 3c 12 ; 0xc01d6 vgarom.asm:364 + jne short 001ddh ; 75 03 ; 0xc01d8 vgarom.asm:365 + jmp near 0031dh ; e9 40 01 ; 0xc01da vgarom.asm:366 + cmp AL, strict byte 013h ; 3c 13 ; 0xc01dd vgarom.asm:368 + jne short 001e4h ; 75 03 ; 0xc01df vgarom.asm:369 + jmp near 00345h ; e9 61 01 ; 0xc01e1 vgarom.asm:370 + cmp AL, strict byte 015h ; 3c 15 ; 0xc01e4 vgarom.asm:372 + jne short 001ebh ; 75 03 ; 0xc01e6 vgarom.asm:373 + jmp near 0038ch ; e9 a1 01 ; 0xc01e8 vgarom.asm:374 + cmp AL, strict byte 017h ; 3c 17 ; 0xc01eb vgarom.asm:376 + jne short 001f2h ; 75 03 ; 0xc01ed vgarom.asm:377 + jmp near 003a7h ; e9 b5 01 ; 0xc01ef vgarom.asm:378 + cmp AL, strict byte 018h ; 3c 18 ; 0xc01f2 vgarom.asm:380 + jne short 001f9h ; 75 03 ; 0xc01f4 vgarom.asm:381 + jmp near 003cfh ; e9 d6 01 ; 0xc01f6 vgarom.asm:382 + cmp AL, strict byte 019h ; 3c 19 ; 0xc01f9 vgarom.asm:384 + jne short 00200h ; 75 03 ; 0xc01fb vgarom.asm:385 + jmp near 003dah ; e9 da 01 ; 0xc01fd vgarom.asm:386 + cmp AL, strict byte 01ah ; 3c 1a ; 0xc0200 vgarom.asm:388 + jne short 00207h ; 75 03 ; 0xc0202 vgarom.asm:389 + jmp near 003e5h ; e9 de 01 ; 0xc0204 vgarom.asm:390 + retn ; c3 ; 0xc0207 vgarom.asm:395 + cmp bl, 014h ; 80 fb 14 ; 0xc0208 vgarom.asm:398 + jnbe short 00225h ; 77 18 ; 0xc020b vgarom.asm:399 + push ax ; 50 ; 0xc020d vgarom.asm:400 + push dx ; 52 ; 0xc020e vgarom.asm:401 + mov dx, 003dah ; ba da 03 ; 0xc020f vgarom.asm:402 + in AL, DX ; ec ; 0xc0212 vgarom.asm:403 + mov dx, 003c0h ; ba c0 03 ; 0xc0213 vgarom.asm:404 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0216 vgarom.asm:405 + out DX, AL ; ee ; 0xc0218 vgarom.asm:406 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc0219 vgarom.asm:407 + out DX, AL ; ee ; 0xc021b vgarom.asm:408 + mov AL, strict byte 020h ; b0 20 ; 0xc021c vgarom.asm:409 + out DX, AL ; ee ; 0xc021e vgarom.asm:410 + mov dx, 003dah ; ba da 03 ; 0xc021f vgarom.asm:412 + in AL, DX ; ec ; 0xc0222 vgarom.asm:413 + pop dx ; 5a ; 0xc0223 vgarom.asm:415 + pop ax ; 58 ; 0xc0224 vgarom.asm:416 + retn ; c3 ; 0xc0225 vgarom.asm:418 + push bx ; 53 ; 0xc0226 vgarom.asm:423 + mov BL, strict byte 011h ; b3 11 ; 0xc0227 vgarom.asm:424 + call 00208h ; e8 dc ff ; 0xc0229 vgarom.asm:425 + pop bx ; 5b ; 0xc022c vgarom.asm:426 + retn ; c3 ; 0xc022d vgarom.asm:427 + push ax ; 50 ; 0xc022e vgarom.asm:432 + push bx ; 53 ; 0xc022f vgarom.asm:433 + push cx ; 51 ; 0xc0230 vgarom.asm:434 + push dx ; 52 ; 0xc0231 vgarom.asm:435 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc0232 vgarom.asm:436 + mov dx, 003dah ; ba da 03 ; 0xc0234 vgarom.asm:437 + in AL, DX ; ec ; 0xc0237 vgarom.asm:438 + mov CL, strict byte 000h ; b1 00 ; 0xc0238 vgarom.asm:439 + mov dx, 003c0h ; ba c0 03 ; 0xc023a vgarom.asm:440 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc023d vgarom.asm:442 + out DX, AL ; ee ; 0xc023f vgarom.asm:443 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc0240 vgarom.asm:444 + out DX, AL ; ee ; 0xc0243 vgarom.asm:445 + inc bx ; 43 ; 0xc0244 vgarom.asm:446 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc0245 vgarom.asm:447 + cmp cl, 010h ; 80 f9 10 ; 0xc0247 vgarom.asm:448 + jne short 0023dh ; 75 f1 ; 0xc024a vgarom.asm:449 + mov AL, strict byte 011h ; b0 11 ; 0xc024c vgarom.asm:450 + out DX, AL ; ee ; 0xc024e vgarom.asm:451 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc024f vgarom.asm:452 + out DX, AL ; ee ; 0xc0252 vgarom.asm:453 + mov AL, strict byte 020h ; b0 20 ; 0xc0253 vgarom.asm:454 + out DX, AL ; ee ; 0xc0255 vgarom.asm:455 + mov dx, 003dah ; ba da 03 ; 0xc0256 vgarom.asm:457 + in AL, DX ; ec ; 0xc0259 vgarom.asm:458 + pop dx ; 5a ; 0xc025a vgarom.asm:460 + pop cx ; 59 ; 0xc025b vgarom.asm:461 + pop bx ; 5b ; 0xc025c vgarom.asm:462 + pop ax ; 58 ; 0xc025d vgarom.asm:463 + retn ; c3 ; 0xc025e vgarom.asm:464 + push ax ; 50 ; 0xc025f vgarom.asm:469 + push bx ; 53 ; 0xc0260 vgarom.asm:470 + push dx ; 52 ; 0xc0261 vgarom.asm:471 + mov dx, 003dah ; ba da 03 ; 0xc0262 vgarom.asm:472 + in AL, DX ; ec ; 0xc0265 vgarom.asm:473 + mov dx, 003c0h ; ba c0 03 ; 0xc0266 vgarom.asm:474 + mov AL, strict byte 010h ; b0 10 ; 0xc0269 vgarom.asm:475 + out DX, AL ; ee ; 0xc026b vgarom.asm:476 + mov dx, 003c1h ; ba c1 03 ; 0xc026c vgarom.asm:477 + in AL, DX ; ec ; 0xc026f vgarom.asm:478 + and AL, strict byte 0f7h ; 24 f7 ; 0xc0270 vgarom.asm:479 + and bl, 001h ; 80 e3 01 ; 0xc0272 vgarom.asm:480 + sal bl, 003h ; c0 e3 03 ; 0xc0275 vgarom.asm:482 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc0278 vgarom.asm:488 + mov dx, 003c0h ; ba c0 03 ; 0xc027a vgarom.asm:489 + out DX, AL ; ee ; 0xc027d vgarom.asm:490 + mov AL, strict byte 020h ; b0 20 ; 0xc027e vgarom.asm:491 + out DX, AL ; ee ; 0xc0280 vgarom.asm:492 + mov dx, 003dah ; ba da 03 ; 0xc0281 vgarom.asm:494 + in AL, DX ; ec ; 0xc0284 vgarom.asm:495 + pop dx ; 5a ; 0xc0285 vgarom.asm:497 + pop bx ; 5b ; 0xc0286 vgarom.asm:498 + pop ax ; 58 ; 0xc0287 vgarom.asm:499 + retn ; c3 ; 0xc0288 vgarom.asm:500 + cmp bl, 014h ; 80 fb 14 ; 0xc0289 vgarom.asm:505 + jnbe short 002b0h ; 77 22 ; 0xc028c vgarom.asm:506 + push ax ; 50 ; 0xc028e vgarom.asm:507 + push dx ; 52 ; 0xc028f vgarom.asm:508 + mov dx, 003dah ; ba da 03 ; 0xc0290 vgarom.asm:509 + in AL, DX ; ec ; 0xc0293 vgarom.asm:510 + mov dx, 003c0h ; ba c0 03 ; 0xc0294 vgarom.asm:511 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0297 vgarom.asm:512 + out DX, AL ; ee ; 0xc0299 vgarom.asm:513 + mov dx, 003c1h ; ba c1 03 ; 0xc029a vgarom.asm:514 + in AL, DX ; ec ; 0xc029d vgarom.asm:515 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc029e vgarom.asm:516 + mov dx, 003dah ; ba da 03 ; 0xc02a0 vgarom.asm:517 + in AL, DX ; ec ; 0xc02a3 vgarom.asm:518 + mov dx, 003c0h ; ba c0 03 ; 0xc02a4 vgarom.asm:519 + mov AL, strict byte 020h ; b0 20 ; 0xc02a7 vgarom.asm:520 + out DX, AL ; ee ; 0xc02a9 vgarom.asm:521 + mov dx, 003dah ; ba da 03 ; 0xc02aa vgarom.asm:523 + in AL, DX ; ec ; 0xc02ad vgarom.asm:524 + pop dx ; 5a ; 0xc02ae vgarom.asm:526 + pop ax ; 58 ; 0xc02af vgarom.asm:527 + retn ; c3 ; 0xc02b0 vgarom.asm:529 + push ax ; 50 ; 0xc02b1 vgarom.asm:534 + push bx ; 53 ; 0xc02b2 vgarom.asm:535 + mov BL, strict byte 011h ; b3 11 ; 0xc02b3 vgarom.asm:536 + call 00289h ; e8 d1 ff ; 0xc02b5 vgarom.asm:537 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc02b8 vgarom.asm:538 + pop bx ; 5b ; 0xc02ba vgarom.asm:539 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc02bb vgarom.asm:540 + pop ax ; 58 ; 0xc02bd vgarom.asm:541 + retn ; c3 ; 0xc02be vgarom.asm:542 + push ax ; 50 ; 0xc02bf vgarom.asm:547 + push bx ; 53 ; 0xc02c0 vgarom.asm:548 + push cx ; 51 ; 0xc02c1 vgarom.asm:549 + push dx ; 52 ; 0xc02c2 vgarom.asm:550 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc02c3 vgarom.asm:551 + mov CL, strict byte 000h ; b1 00 ; 0xc02c5 vgarom.asm:552 + mov dx, 003dah ; ba da 03 ; 0xc02c7 vgarom.asm:554 + in AL, DX ; ec ; 0xc02ca vgarom.asm:555 + mov dx, 003c0h ; ba c0 03 ; 0xc02cb vgarom.asm:556 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc02ce vgarom.asm:557 + out DX, AL ; ee ; 0xc02d0 vgarom.asm:558 + mov dx, 003c1h ; ba c1 03 ; 0xc02d1 vgarom.asm:559 + in AL, DX ; ec ; 0xc02d4 vgarom.asm:560 + mov byte [es:bx], al ; 26 88 07 ; 0xc02d5 vgarom.asm:561 + inc bx ; 43 ; 0xc02d8 vgarom.asm:562 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc02d9 vgarom.asm:563 + cmp cl, 010h ; 80 f9 10 ; 0xc02db vgarom.asm:564 + jne short 002c7h ; 75 e7 ; 0xc02de vgarom.asm:565 + mov dx, 003dah ; ba da 03 ; 0xc02e0 vgarom.asm:566 + in AL, DX ; ec ; 0xc02e3 vgarom.asm:567 + mov dx, 003c0h ; ba c0 03 ; 0xc02e4 vgarom.asm:568 + mov AL, strict byte 011h ; b0 11 ; 0xc02e7 vgarom.asm:569 + out DX, AL ; ee ; 0xc02e9 vgarom.asm:570 + mov dx, 003c1h ; ba c1 03 ; 0xc02ea vgarom.asm:571 + in AL, DX ; ec ; 0xc02ed vgarom.asm:572 + mov byte [es:bx], al ; 26 88 07 ; 0xc02ee vgarom.asm:573 + mov dx, 003dah ; ba da 03 ; 0xc02f1 vgarom.asm:574 + in AL, DX ; ec ; 0xc02f4 vgarom.asm:575 + mov dx, 003c0h ; ba c0 03 ; 0xc02f5 vgarom.asm:576 + mov AL, strict byte 020h ; b0 20 ; 0xc02f8 vgarom.asm:577 + out DX, AL ; ee ; 0xc02fa vgarom.asm:578 + mov dx, 003dah ; ba da 03 ; 0xc02fb vgarom.asm:580 + in AL, DX ; ec ; 0xc02fe vgarom.asm:581 + pop dx ; 5a ; 0xc02ff vgarom.asm:583 + pop cx ; 59 ; 0xc0300 vgarom.asm:584 + pop bx ; 5b ; 0xc0301 vgarom.asm:585 + pop ax ; 58 ; 0xc0302 vgarom.asm:586 + retn ; c3 ; 0xc0303 vgarom.asm:587 + push ax ; 50 ; 0xc0304 vgarom.asm:592 + push dx ; 52 ; 0xc0305 vgarom.asm:593 + mov dx, 003c8h ; ba c8 03 ; 0xc0306 vgarom.asm:594 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0309 vgarom.asm:595 + out DX, AL ; ee ; 0xc030b vgarom.asm:596 + mov dx, 003c9h ; ba c9 03 ; 0xc030c vgarom.asm:597 + pop ax ; 58 ; 0xc030f vgarom.asm:598 + push ax ; 50 ; 0xc0310 vgarom.asm:599 + db 08ah, 0c4h + ; mov al, ah ; 8a c4 ; 0xc0311 vgarom.asm:600 + out DX, AL ; ee ; 0xc0313 vgarom.asm:601 + db 08ah, 0c5h + ; mov al, ch ; 8a c5 ; 0xc0314 vgarom.asm:602 + out DX, AL ; ee ; 0xc0316 vgarom.asm:603 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc0317 vgarom.asm:604 + out DX, AL ; ee ; 0xc0319 vgarom.asm:605 + pop dx ; 5a ; 0xc031a vgarom.asm:606 + pop ax ; 58 ; 0xc031b vgarom.asm:607 + retn ; c3 ; 0xc031c vgarom.asm:608 + push ax ; 50 ; 0xc031d vgarom.asm:613 + push bx ; 53 ; 0xc031e vgarom.asm:614 + push cx ; 51 ; 0xc031f vgarom.asm:615 + push dx ; 52 ; 0xc0320 vgarom.asm:616 + mov dx, 003c8h ; ba c8 03 ; 0xc0321 vgarom.asm:617 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0324 vgarom.asm:618 + out DX, AL ; ee ; 0xc0326 vgarom.asm:619 + pop dx ; 5a ; 0xc0327 vgarom.asm:620 + push dx ; 52 ; 0xc0328 vgarom.asm:621 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc0329 vgarom.asm:622 + mov dx, 003c9h ; ba c9 03 ; 0xc032b vgarom.asm:623 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc032e vgarom.asm:625 + out DX, AL ; ee ; 0xc0331 vgarom.asm:626 + inc bx ; 43 ; 0xc0332 vgarom.asm:627 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc0333 vgarom.asm:628 + out DX, AL ; ee ; 0xc0336 vgarom.asm:629 + inc bx ; 43 ; 0xc0337 vgarom.asm:630 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc0338 vgarom.asm:631 + out DX, AL ; ee ; 0xc033b vgarom.asm:632 + inc bx ; 43 ; 0xc033c vgarom.asm:633 + dec cx ; 49 ; 0xc033d vgarom.asm:634 + jne short 0032eh ; 75 ee ; 0xc033e vgarom.asm:635 + pop dx ; 5a ; 0xc0340 vgarom.asm:636 + pop cx ; 59 ; 0xc0341 vgarom.asm:637 + pop bx ; 5b ; 0xc0342 vgarom.asm:638 + pop ax ; 58 ; 0xc0343 vgarom.asm:639 + retn ; c3 ; 0xc0344 vgarom.asm:640 + push ax ; 50 ; 0xc0345 vgarom.asm:645 + push bx ; 53 ; 0xc0346 vgarom.asm:646 + push dx ; 52 ; 0xc0347 vgarom.asm:647 + mov dx, 003dah ; ba da 03 ; 0xc0348 vgarom.asm:648 + in AL, DX ; ec ; 0xc034b vgarom.asm:649 + mov dx, 003c0h ; ba c0 03 ; 0xc034c vgarom.asm:650 + mov AL, strict byte 010h ; b0 10 ; 0xc034f vgarom.asm:651 + out DX, AL ; ee ; 0xc0351 vgarom.asm:652 + mov dx, 003c1h ; ba c1 03 ; 0xc0352 vgarom.asm:653 + in AL, DX ; ec ; 0xc0355 vgarom.asm:654 + and bl, 001h ; 80 e3 01 ; 0xc0356 vgarom.asm:655 + jne short 00368h ; 75 0d ; 0xc0359 vgarom.asm:656 + and AL, strict byte 07fh ; 24 7f ; 0xc035b vgarom.asm:657 + sal bh, 007h ; c0 e7 07 ; 0xc035d vgarom.asm:659 + db 00ah, 0c7h + ; or al, bh ; 0a c7 ; 0xc0360 vgarom.asm:669 + mov dx, 003c0h ; ba c0 03 ; 0xc0362 vgarom.asm:670 + out DX, AL ; ee ; 0xc0365 vgarom.asm:671 + jmp short 00381h ; eb 19 ; 0xc0366 vgarom.asm:672 + push ax ; 50 ; 0xc0368 vgarom.asm:674 + mov dx, 003dah ; ba da 03 ; 0xc0369 vgarom.asm:675 + in AL, DX ; ec ; 0xc036c vgarom.asm:676 + mov dx, 003c0h ; ba c0 03 ; 0xc036d vgarom.asm:677 + mov AL, strict byte 014h ; b0 14 ; 0xc0370 vgarom.asm:678 + out DX, AL ; ee ; 0xc0372 vgarom.asm:679 + pop ax ; 58 ; 0xc0373 vgarom.asm:680 + and AL, strict byte 080h ; 24 80 ; 0xc0374 vgarom.asm:681 + jne short 0037bh ; 75 03 ; 0xc0376 vgarom.asm:682 + sal bh, 002h ; c0 e7 02 ; 0xc0378 vgarom.asm:684 + and bh, 00fh ; 80 e7 0f ; 0xc037b vgarom.asm:690 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc037e vgarom.asm:691 + out DX, AL ; ee ; 0xc0380 vgarom.asm:692 + mov AL, strict byte 020h ; b0 20 ; 0xc0381 vgarom.asm:694 + out DX, AL ; ee ; 0xc0383 vgarom.asm:695 + mov dx, 003dah ; ba da 03 ; 0xc0384 vgarom.asm:697 + in AL, DX ; ec ; 0xc0387 vgarom.asm:698 + pop dx ; 5a ; 0xc0388 vgarom.asm:700 + pop bx ; 5b ; 0xc0389 vgarom.asm:701 + pop ax ; 58 ; 0xc038a vgarom.asm:702 + retn ; c3 ; 0xc038b vgarom.asm:703 + push ax ; 50 ; 0xc038c vgarom.asm:708 + push dx ; 52 ; 0xc038d vgarom.asm:709 + mov dx, 003c7h ; ba c7 03 ; 0xc038e vgarom.asm:710 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0391 vgarom.asm:711 + out DX, AL ; ee ; 0xc0393 vgarom.asm:712 + pop ax ; 58 ; 0xc0394 vgarom.asm:713 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc0395 vgarom.asm:714 + mov dx, 003c9h ; ba c9 03 ; 0xc0397 vgarom.asm:715 + in AL, DX ; ec ; 0xc039a vgarom.asm:716 + xchg al, ah ; 86 e0 ; 0xc039b vgarom.asm:717 + push ax ; 50 ; 0xc039d vgarom.asm:718 + in AL, DX ; ec ; 0xc039e vgarom.asm:719 + db 08ah, 0e8h + ; mov ch, al ; 8a e8 ; 0xc039f vgarom.asm:720 + in AL, DX ; ec ; 0xc03a1 vgarom.asm:721 + db 08ah, 0c8h + ; mov cl, al ; 8a c8 ; 0xc03a2 vgarom.asm:722 + pop dx ; 5a ; 0xc03a4 vgarom.asm:723 + pop ax ; 58 ; 0xc03a5 vgarom.asm:724 + retn ; c3 ; 0xc03a6 vgarom.asm:725 + push ax ; 50 ; 0xc03a7 vgarom.asm:730 + push bx ; 53 ; 0xc03a8 vgarom.asm:731 + push cx ; 51 ; 0xc03a9 vgarom.asm:732 + push dx ; 52 ; 0xc03aa vgarom.asm:733 + mov dx, 003c7h ; ba c7 03 ; 0xc03ab vgarom.asm:734 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc03ae vgarom.asm:735 + out DX, AL ; ee ; 0xc03b0 vgarom.asm:736 + pop dx ; 5a ; 0xc03b1 vgarom.asm:737 + push dx ; 52 ; 0xc03b2 vgarom.asm:738 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc03b3 vgarom.asm:739 + mov dx, 003c9h ; ba c9 03 ; 0xc03b5 vgarom.asm:740 + in AL, DX ; ec ; 0xc03b8 vgarom.asm:742 + mov byte [es:bx], al ; 26 88 07 ; 0xc03b9 vgarom.asm:743 + inc bx ; 43 ; 0xc03bc vgarom.asm:744 + in AL, DX ; ec ; 0xc03bd vgarom.asm:745 + mov byte [es:bx], al ; 26 88 07 ; 0xc03be vgarom.asm:746 + inc bx ; 43 ; 0xc03c1 vgarom.asm:747 + in AL, DX ; ec ; 0xc03c2 vgarom.asm:748 + mov byte [es:bx], al ; 26 88 07 ; 0xc03c3 vgarom.asm:749 + inc bx ; 43 ; 0xc03c6 vgarom.asm:750 + dec cx ; 49 ; 0xc03c7 vgarom.asm:751 + jne short 003b8h ; 75 ee ; 0xc03c8 vgarom.asm:752 + pop dx ; 5a ; 0xc03ca vgarom.asm:753 + pop cx ; 59 ; 0xc03cb vgarom.asm:754 + pop bx ; 5b ; 0xc03cc vgarom.asm:755 + pop ax ; 58 ; 0xc03cd vgarom.asm:756 + retn ; c3 ; 0xc03ce vgarom.asm:757 + push ax ; 50 ; 0xc03cf vgarom.asm:762 + push dx ; 52 ; 0xc03d0 vgarom.asm:763 + mov dx, 003c6h ; ba c6 03 ; 0xc03d1 vgarom.asm:764 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc03d4 vgarom.asm:765 + out DX, AL ; ee ; 0xc03d6 vgarom.asm:766 + pop dx ; 5a ; 0xc03d7 vgarom.asm:767 + pop ax ; 58 ; 0xc03d8 vgarom.asm:768 + retn ; c3 ; 0xc03d9 vgarom.asm:769 + push ax ; 50 ; 0xc03da vgarom.asm:774 + push dx ; 52 ; 0xc03db vgarom.asm:775 + mov dx, 003c6h ; ba c6 03 ; 0xc03dc vgarom.asm:776 + in AL, DX ; ec ; 0xc03df vgarom.asm:777 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc03e0 vgarom.asm:778 + pop dx ; 5a ; 0xc03e2 vgarom.asm:779 + pop ax ; 58 ; 0xc03e3 vgarom.asm:780 + retn ; c3 ; 0xc03e4 vgarom.asm:781 + push ax ; 50 ; 0xc03e5 vgarom.asm:786 + push dx ; 52 ; 0xc03e6 vgarom.asm:787 + mov dx, 003dah ; ba da 03 ; 0xc03e7 vgarom.asm:788 + in AL, DX ; ec ; 0xc03ea vgarom.asm:789 + mov dx, 003c0h ; ba c0 03 ; 0xc03eb vgarom.asm:790 + mov AL, strict byte 010h ; b0 10 ; 0xc03ee vgarom.asm:791 + out DX, AL ; ee ; 0xc03f0 vgarom.asm:792 + mov dx, 003c1h ; ba c1 03 ; 0xc03f1 vgarom.asm:793 + in AL, DX ; ec ; 0xc03f4 vgarom.asm:794 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc03f5 vgarom.asm:795 + shr bl, 007h ; c0 eb 07 ; 0xc03f7 vgarom.asm:797 + mov dx, 003dah ; ba da 03 ; 0xc03fa vgarom.asm:807 + in AL, DX ; ec ; 0xc03fd vgarom.asm:808 + mov dx, 003c0h ; ba c0 03 ; 0xc03fe vgarom.asm:809 + mov AL, strict byte 014h ; b0 14 ; 0xc0401 vgarom.asm:810 + out DX, AL ; ee ; 0xc0403 vgarom.asm:811 + mov dx, 003c1h ; ba c1 03 ; 0xc0404 vgarom.asm:812 + in AL, DX ; ec ; 0xc0407 vgarom.asm:813 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc0408 vgarom.asm:814 + and bh, 00fh ; 80 e7 0f ; 0xc040a vgarom.asm:815 + test bl, 001h ; f6 c3 01 ; 0xc040d vgarom.asm:816 + jne short 00415h ; 75 03 ; 0xc0410 vgarom.asm:817 + shr bh, 002h ; c0 ef 02 ; 0xc0412 vgarom.asm:819 + mov dx, 003dah ; ba da 03 ; 0xc0415 vgarom.asm:825 + in AL, DX ; ec ; 0xc0418 vgarom.asm:826 + mov dx, 003c0h ; ba c0 03 ; 0xc0419 vgarom.asm:827 + mov AL, strict byte 020h ; b0 20 ; 0xc041c vgarom.asm:828 + out DX, AL ; ee ; 0xc041e vgarom.asm:829 + mov dx, 003dah ; ba da 03 ; 0xc041f vgarom.asm:831 + in AL, DX ; ec ; 0xc0422 vgarom.asm:832 + pop dx ; 5a ; 0xc0423 vgarom.asm:834 + pop ax ; 58 ; 0xc0424 vgarom.asm:835 + retn ; c3 ; 0xc0425 vgarom.asm:836 + push ax ; 50 ; 0xc0426 vgarom.asm:841 + push dx ; 52 ; 0xc0427 vgarom.asm:842 + mov dx, 003c4h ; ba c4 03 ; 0xc0428 vgarom.asm:843 + db 08ah, 0e3h + ; mov ah, bl ; 8a e3 ; 0xc042b vgarom.asm:844 + mov AL, strict byte 003h ; b0 03 ; 0xc042d vgarom.asm:845 + out DX, ax ; ef ; 0xc042f vgarom.asm:846 + pop dx ; 5a ; 0xc0430 vgarom.asm:847 + pop ax ; 58 ; 0xc0431 vgarom.asm:848 + retn ; c3 ; 0xc0432 vgarom.asm:849 + push DS ; 1e ; 0xc0433 vgarom.asm:854 + push ax ; 50 ; 0xc0434 vgarom.asm:855 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0435 vgarom.asm:856 + mov ds, ax ; 8e d8 ; 0xc0438 vgarom.asm:857 + db 032h, 0edh + ; xor ch, ch ; 32 ed ; 0xc043a vgarom.asm:858 + mov bx, 00088h ; bb 88 00 ; 0xc043c vgarom.asm:859 + mov cl, byte [bx] ; 8a 0f ; 0xc043f vgarom.asm:860 + and cl, 00fh ; 80 e1 0f ; 0xc0441 vgarom.asm:861 + mov bx, strict word 00063h ; bb 63 00 ; 0xc0444 vgarom.asm:862 + mov ax, word [bx] ; 8b 07 ; 0xc0447 vgarom.asm:863 + mov bx, strict word 00003h ; bb 03 00 ; 0xc0449 vgarom.asm:864 + cmp ax, 003b4h ; 3d b4 03 ; 0xc044c vgarom.asm:865 + jne short 00453h ; 75 02 ; 0xc044f vgarom.asm:866 + mov BH, strict byte 001h ; b7 01 ; 0xc0451 vgarom.asm:867 + pop ax ; 58 ; 0xc0453 vgarom.asm:869 + pop DS ; 1f ; 0xc0454 vgarom.asm:870 + retn ; c3 ; 0xc0455 vgarom.asm:871 + push DS ; 1e ; 0xc0456 vgarom.asm:879 + push bx ; 53 ; 0xc0457 vgarom.asm:880 + push dx ; 52 ; 0xc0458 vgarom.asm:881 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc0459 vgarom.asm:882 + mov ax, strict word 00040h ; b8 40 00 ; 0xc045b vgarom.asm:883 + mov ds, ax ; 8e d8 ; 0xc045e vgarom.asm:884 + mov bx, 00089h ; bb 89 00 ; 0xc0460 vgarom.asm:885 + mov al, byte [bx] ; 8a 07 ; 0xc0463 vgarom.asm:886 + mov bx, 00088h ; bb 88 00 ; 0xc0465 vgarom.asm:887 + mov ah, byte [bx] ; 8a 27 ; 0xc0468 vgarom.asm:888 + cmp dl, 001h ; 80 fa 01 ; 0xc046a vgarom.asm:889 + je short 00484h ; 74 15 ; 0xc046d vgarom.asm:890 + jc short 0048eh ; 72 1d ; 0xc046f vgarom.asm:891 + cmp dl, 002h ; 80 fa 02 ; 0xc0471 vgarom.asm:892 + je short 00478h ; 74 02 ; 0xc0474 vgarom.asm:893 + jmp short 004a2h ; eb 2a ; 0xc0476 vgarom.asm:903 + and AL, strict byte 07fh ; 24 7f ; 0xc0478 vgarom.asm:909 + or AL, strict byte 010h ; 0c 10 ; 0xc047a vgarom.asm:910 + and ah, 0f0h ; 80 e4 f0 ; 0xc047c vgarom.asm:911 + or ah, 009h ; 80 cc 09 ; 0xc047f vgarom.asm:912 + jne short 00498h ; 75 14 ; 0xc0482 vgarom.asm:913 + and AL, strict byte 06fh ; 24 6f ; 0xc0484 vgarom.asm:919 + and ah, 0f0h ; 80 e4 f0 ; 0xc0486 vgarom.asm:920 + or ah, 009h ; 80 cc 09 ; 0xc0489 vgarom.asm:921 + jne short 00498h ; 75 0a ; 0xc048c vgarom.asm:922 + and AL, strict byte 0efh ; 24 ef ; 0xc048e vgarom.asm:928 + or AL, strict byte 080h ; 0c 80 ; 0xc0490 vgarom.asm:929 + and ah, 0f0h ; 80 e4 f0 ; 0xc0492 vgarom.asm:930 + or ah, 008h ; 80 cc 08 ; 0xc0495 vgarom.asm:931 + mov bx, 00089h ; bb 89 00 ; 0xc0498 vgarom.asm:933 + mov byte [bx], al ; 88 07 ; 0xc049b vgarom.asm:934 + mov bx, 00088h ; bb 88 00 ; 0xc049d vgarom.asm:935 + mov byte [bx], ah ; 88 27 ; 0xc04a0 vgarom.asm:936 + mov ax, 01212h ; b8 12 12 ; 0xc04a2 vgarom.asm:938 + pop dx ; 5a ; 0xc04a5 vgarom.asm:939 + pop bx ; 5b ; 0xc04a6 vgarom.asm:940 + pop DS ; 1f ; 0xc04a7 vgarom.asm:941 + retn ; c3 ; 0xc04a8 vgarom.asm:942 + push DS ; 1e ; 0xc04a9 vgarom.asm:951 + push bx ; 53 ; 0xc04aa vgarom.asm:952 + push dx ; 52 ; 0xc04ab vgarom.asm:953 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc04ac vgarom.asm:954 + and dl, 001h ; 80 e2 01 ; 0xc04ae vgarom.asm:955 + sal dl, 003h ; c0 e2 03 ; 0xc04b1 vgarom.asm:957 + mov ax, strict word 00040h ; b8 40 00 ; 0xc04b4 vgarom.asm:963 + mov ds, ax ; 8e d8 ; 0xc04b7 vgarom.asm:964 + mov bx, 00089h ; bb 89 00 ; 0xc04b9 vgarom.asm:965 + mov al, byte [bx] ; 8a 07 ; 0xc04bc vgarom.asm:966 + and AL, strict byte 0f7h ; 24 f7 ; 0xc04be vgarom.asm:967 + db 00ah, 0c2h + ; or al, dl ; 0a c2 ; 0xc04c0 vgarom.asm:968 + mov byte [bx], al ; 88 07 ; 0xc04c2 vgarom.asm:969 + mov ax, 01212h ; b8 12 12 ; 0xc04c4 vgarom.asm:970 + pop dx ; 5a ; 0xc04c7 vgarom.asm:971 + pop bx ; 5b ; 0xc04c8 vgarom.asm:972 + pop DS ; 1f ; 0xc04c9 vgarom.asm:973 + retn ; c3 ; 0xc04ca vgarom.asm:974 + push bx ; 53 ; 0xc04cb vgarom.asm:978 + push dx ; 52 ; 0xc04cc vgarom.asm:979 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc04cd vgarom.asm:980 + and bl, 001h ; 80 e3 01 ; 0xc04cf vgarom.asm:981 + xor bl, 001h ; 80 f3 01 ; 0xc04d2 vgarom.asm:982 + sal bl, 1 ; d0 e3 ; 0xc04d5 vgarom.asm:983 + mov dx, 003cch ; ba cc 03 ; 0xc04d7 vgarom.asm:984 + in AL, DX ; ec ; 0xc04da vgarom.asm:985 + and AL, strict byte 0fdh ; 24 fd ; 0xc04db vgarom.asm:986 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc04dd vgarom.asm:987 + mov dx, 003c2h ; ba c2 03 ; 0xc04df vgarom.asm:988 + out DX, AL ; ee ; 0xc04e2 vgarom.asm:989 + mov ax, 01212h ; b8 12 12 ; 0xc04e3 vgarom.asm:990 + pop dx ; 5a ; 0xc04e6 vgarom.asm:991 + pop bx ; 5b ; 0xc04e7 vgarom.asm:992 + retn ; c3 ; 0xc04e8 vgarom.asm:993 + push DS ; 1e ; 0xc04e9 vgarom.asm:997 + push bx ; 53 ; 0xc04ea vgarom.asm:998 + push dx ; 52 ; 0xc04eb vgarom.asm:999 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc04ec vgarom.asm:1000 + and dl, 001h ; 80 e2 01 ; 0xc04ee vgarom.asm:1001 + xor dl, 001h ; 80 f2 01 ; 0xc04f1 vgarom.asm:1002 + sal dl, 1 ; d0 e2 ; 0xc04f4 vgarom.asm:1003 + mov ax, strict word 00040h ; b8 40 00 ; 0xc04f6 vgarom.asm:1004 + mov ds, ax ; 8e d8 ; 0xc04f9 vgarom.asm:1005 + mov bx, 00089h ; bb 89 00 ; 0xc04fb vgarom.asm:1006 + mov al, byte [bx] ; 8a 07 ; 0xc04fe vgarom.asm:1007 + and AL, strict byte 0fdh ; 24 fd ; 0xc0500 vgarom.asm:1008 + db 00ah, 0c2h + ; or al, dl ; 0a c2 ; 0xc0502 vgarom.asm:1009 + mov byte [bx], al ; 88 07 ; 0xc0504 vgarom.asm:1010 + mov ax, 01212h ; b8 12 12 ; 0xc0506 vgarom.asm:1011 + pop dx ; 5a ; 0xc0509 vgarom.asm:1012 + pop bx ; 5b ; 0xc050a vgarom.asm:1013 + pop DS ; 1f ; 0xc050b vgarom.asm:1014 + retn ; c3 ; 0xc050c vgarom.asm:1015 + push DS ; 1e ; 0xc050d vgarom.asm:1019 + push bx ; 53 ; 0xc050e vgarom.asm:1020 + push dx ; 52 ; 0xc050f vgarom.asm:1021 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc0510 vgarom.asm:1022 + and dl, 001h ; 80 e2 01 ; 0xc0512 vgarom.asm:1023 + xor dl, 001h ; 80 f2 01 ; 0xc0515 vgarom.asm:1024 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0518 vgarom.asm:1025 + mov ds, ax ; 8e d8 ; 0xc051b vgarom.asm:1026 + mov bx, 00089h ; bb 89 00 ; 0xc051d vgarom.asm:1027 + mov al, byte [bx] ; 8a 07 ; 0xc0520 vgarom.asm:1028 + and AL, strict byte 0feh ; 24 fe ; 0xc0522 vgarom.asm:1029 + db 00ah, 0c2h + ; or al, dl ; 0a c2 ; 0xc0524 vgarom.asm:1030 + mov byte [bx], al ; 88 07 ; 0xc0526 vgarom.asm:1031 + mov ax, 01212h ; b8 12 12 ; 0xc0528 vgarom.asm:1032 + pop dx ; 5a ; 0xc052b vgarom.asm:1033 + pop bx ; 5b ; 0xc052c vgarom.asm:1034 + pop DS ; 1f ; 0xc052d vgarom.asm:1035 + retn ; c3 ; 0xc052e vgarom.asm:1036 + cmp AL, strict byte 000h ; 3c 00 ; 0xc052f vgarom.asm:1041 + je short 00538h ; 74 05 ; 0xc0531 vgarom.asm:1042 + cmp AL, strict byte 001h ; 3c 01 ; 0xc0533 vgarom.asm:1043 + je short 0054dh ; 74 16 ; 0xc0535 vgarom.asm:1044 + retn ; c3 ; 0xc0537 vgarom.asm:1048 + push DS ; 1e ; 0xc0538 vgarom.asm:1050 + push ax ; 50 ; 0xc0539 vgarom.asm:1051 + mov ax, strict word 00040h ; b8 40 00 ; 0xc053a vgarom.asm:1052 + mov ds, ax ; 8e d8 ; 0xc053d vgarom.asm:1053 + mov bx, 0008ah ; bb 8a 00 ; 0xc053f vgarom.asm:1054 + mov al, byte [bx] ; 8a 07 ; 0xc0542 vgarom.asm:1055 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc0544 vgarom.asm:1056 + db 032h, 0ffh + ; xor bh, bh ; 32 ff ; 0xc0546 vgarom.asm:1057 + pop ax ; 58 ; 0xc0548 vgarom.asm:1058 + db 08ah, 0c4h + ; mov al, ah ; 8a c4 ; 0xc0549 vgarom.asm:1059 + pop DS ; 1f ; 0xc054b vgarom.asm:1060 + retn ; c3 ; 0xc054c vgarom.asm:1061 + push DS ; 1e ; 0xc054d vgarom.asm:1063 + push ax ; 50 ; 0xc054e vgarom.asm:1064 + push bx ; 53 ; 0xc054f vgarom.asm:1065 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0550 vgarom.asm:1066 + mov ds, ax ; 8e d8 ; 0xc0553 vgarom.asm:1067 + db 08bh, 0c3h + ; mov ax, bx ; 8b c3 ; 0xc0555 vgarom.asm:1068 + mov bx, 0008ah ; bb 8a 00 ; 0xc0557 vgarom.asm:1069 + mov byte [bx], al ; 88 07 ; 0xc055a vgarom.asm:1070 + pop bx ; 5b ; 0xc055c vgarom.asm:1080 + pop ax ; 58 ; 0xc055d vgarom.asm:1081 + db 08ah, 0c4h + ; mov al, ah ; 8a c4 ; 0xc055e vgarom.asm:1082 + pop DS ; 1f ; 0xc0560 vgarom.asm:1083 + retn ; c3 ; 0xc0561 vgarom.asm:1084 + times 0xe db 0 + ; disGetNextSymbol 0xc0570 LB 0x38d -> off=0x0 cb=0000000000000007 uValue=00000000000c0570 'do_out_dx_ax' +do_out_dx_ax: ; 0xc0570 LB 0x7 + xchg ah, al ; 86 c4 ; 0xc0570 vberom.asm:69 + out DX, AL ; ee ; 0xc0572 vberom.asm:70 + xchg ah, al ; 86 c4 ; 0xc0573 vberom.asm:71 + out DX, AL ; ee ; 0xc0575 vberom.asm:72 + retn ; c3 ; 0xc0576 vberom.asm:73 + ; disGetNextSymbol 0xc0577 LB 0x386 -> off=0x0 cb=0000000000000040 uValue=00000000000c0577 'do_in_ax_dx' +do_in_ax_dx: ; 0xc0577 LB 0x40 + in AL, DX ; ec ; 0xc0577 vberom.asm:76 + xchg ah, al ; 86 c4 ; 0xc0578 vberom.asm:77 + in AL, DX ; ec ; 0xc057a vberom.asm:78 + retn ; c3 ; 0xc057b vberom.asm:79 + push ax ; 50 ; 0xc057c vberom.asm:90 + push dx ; 52 ; 0xc057d vberom.asm:91 + mov dx, 003dah ; ba da 03 ; 0xc057e vberom.asm:92 + in AL, DX ; ec ; 0xc0581 vberom.asm:94 + test AL, strict byte 008h ; a8 08 ; 0xc0582 vberom.asm:95 + je short 00581h ; 74 fb ; 0xc0584 vberom.asm:96 + pop dx ; 5a ; 0xc0586 vberom.asm:97 + pop ax ; 58 ; 0xc0587 vberom.asm:98 + retn ; c3 ; 0xc0588 vberom.asm:99 + push ax ; 50 ; 0xc0589 vberom.asm:102 + push dx ; 52 ; 0xc058a vberom.asm:103 + mov dx, 003dah ; ba da 03 ; 0xc058b vberom.asm:104 + in AL, DX ; ec ; 0xc058e vberom.asm:106 + test AL, strict byte 008h ; a8 08 ; 0xc058f vberom.asm:107 + jne short 0058eh ; 75 fb ; 0xc0591 vberom.asm:108 + pop dx ; 5a ; 0xc0593 vberom.asm:109 + pop ax ; 58 ; 0xc0594 vberom.asm:110 + retn ; c3 ; 0xc0595 vberom.asm:111 + push dx ; 52 ; 0xc0596 vberom.asm:116 + mov dx, 001ceh ; ba ce 01 ; 0xc0597 vberom.asm:117 + mov ax, strict word 00003h ; b8 03 00 ; 0xc059a vberom.asm:118 + call 00570h ; e8 d0 ff ; 0xc059d vberom.asm:119 + mov dx, 001cfh ; ba cf 01 ; 0xc05a0 vberom.asm:120 + call 00577h ; e8 d1 ff ; 0xc05a3 vberom.asm:121 + cmp AL, strict byte 004h ; 3c 04 ; 0xc05a6 vberom.asm:122 + jbe short 005b5h ; 76 0b ; 0xc05a8 vberom.asm:123 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc05aa vberom.asm:124 + shr ah, 003h ; c0 ec 03 ; 0xc05ac vberom.asm:126 + test AL, strict byte 007h ; a8 07 ; 0xc05af vberom.asm:132 + je short 005b5h ; 74 02 ; 0xc05b1 vberom.asm:133 + db 0feh, 0c4h + ; inc ah ; fe c4 ; 0xc05b3 vberom.asm:134 + pop dx ; 5a ; 0xc05b5 vberom.asm:136 + retn ; c3 ; 0xc05b6 vberom.asm:137 + ; disGetNextSymbol 0xc05b7 LB 0x346 -> off=0x0 cb=0000000000000026 uValue=00000000000c05b7 '_dispi_get_max_bpp' +_dispi_get_max_bpp: ; 0xc05b7 LB 0x26 + push dx ; 52 ; 0xc05b7 vberom.asm:142 + push bx ; 53 ; 0xc05b8 vberom.asm:143 + call 005f1h ; e8 35 00 ; 0xc05b9 vberom.asm:144 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc05bc vberom.asm:145 + or ax, strict byte 00002h ; 83 c8 02 ; 0xc05be vberom.asm:146 + call 005ddh ; e8 19 00 ; 0xc05c1 vberom.asm:147 + mov dx, 001ceh ; ba ce 01 ; 0xc05c4 vberom.asm:148 + mov ax, strict word 00003h ; b8 03 00 ; 0xc05c7 vberom.asm:149 + call 00570h ; e8 a3 ff ; 0xc05ca vberom.asm:150 + mov dx, 001cfh ; ba cf 01 ; 0xc05cd vberom.asm:151 + call 00577h ; e8 a4 ff ; 0xc05d0 vberom.asm:152 + push ax ; 50 ; 0xc05d3 vberom.asm:153 + db 08bh, 0c3h + ; mov ax, bx ; 8b c3 ; 0xc05d4 vberom.asm:154 + call 005ddh ; e8 04 00 ; 0xc05d6 vberom.asm:155 + pop ax ; 58 ; 0xc05d9 vberom.asm:156 + pop bx ; 5b ; 0xc05da vberom.asm:157 + pop dx ; 5a ; 0xc05db vberom.asm:158 + retn ; c3 ; 0xc05dc vberom.asm:159 + ; disGetNextSymbol 0xc05dd LB 0x320 -> off=0x0 cb=0000000000000026 uValue=00000000000c05dd 'dispi_set_enable_' +dispi_set_enable_: ; 0xc05dd LB 0x26 + push dx ; 52 ; 0xc05dd vberom.asm:162 + push ax ; 50 ; 0xc05de vberom.asm:163 + mov dx, 001ceh ; ba ce 01 ; 0xc05df vberom.asm:164 + mov ax, strict word 00004h ; b8 04 00 ; 0xc05e2 vberom.asm:165 + call 00570h ; e8 88 ff ; 0xc05e5 vberom.asm:166 + pop ax ; 58 ; 0xc05e8 vberom.asm:167 + mov dx, 001cfh ; ba cf 01 ; 0xc05e9 vberom.asm:168 + call 00570h ; e8 81 ff ; 0xc05ec vberom.asm:169 + pop dx ; 5a ; 0xc05ef vberom.asm:170 + retn ; c3 ; 0xc05f0 vberom.asm:171 + push dx ; 52 ; 0xc05f1 vberom.asm:174 + mov dx, 001ceh ; ba ce 01 ; 0xc05f2 vberom.asm:175 + mov ax, strict word 00004h ; b8 04 00 ; 0xc05f5 vberom.asm:176 + call 00570h ; e8 75 ff ; 0xc05f8 vberom.asm:177 + mov dx, 001cfh ; ba cf 01 ; 0xc05fb vberom.asm:178 + call 00577h ; e8 76 ff ; 0xc05fe vberom.asm:179 + pop dx ; 5a ; 0xc0601 vberom.asm:180 + retn ; c3 ; 0xc0602 vberom.asm:181 + ; disGetNextSymbol 0xc0603 LB 0x2fa -> off=0x0 cb=0000000000000026 uValue=00000000000c0603 'dispi_set_bank_' +dispi_set_bank_: ; 0xc0603 LB 0x26 + push dx ; 52 ; 0xc0603 vberom.asm:184 + push ax ; 50 ; 0xc0604 vberom.asm:185 + mov dx, 001ceh ; ba ce 01 ; 0xc0605 vberom.asm:186 + mov ax, strict word 00005h ; b8 05 00 ; 0xc0608 vberom.asm:187 + call 00570h ; e8 62 ff ; 0xc060b vberom.asm:188 + pop ax ; 58 ; 0xc060e vberom.asm:189 + mov dx, 001cfh ; ba cf 01 ; 0xc060f vberom.asm:190 + call 00570h ; e8 5b ff ; 0xc0612 vberom.asm:191 + pop dx ; 5a ; 0xc0615 vberom.asm:192 + retn ; c3 ; 0xc0616 vberom.asm:193 + push dx ; 52 ; 0xc0617 vberom.asm:196 + mov dx, 001ceh ; ba ce 01 ; 0xc0618 vberom.asm:197 + mov ax, strict word 00005h ; b8 05 00 ; 0xc061b vberom.asm:198 + call 00570h ; e8 4f ff ; 0xc061e vberom.asm:199 + mov dx, 001cfh ; ba cf 01 ; 0xc0621 vberom.asm:200 + call 00577h ; e8 50 ff ; 0xc0624 vberom.asm:201 + pop dx ; 5a ; 0xc0627 vberom.asm:202 + retn ; c3 ; 0xc0628 vberom.asm:203 + ; disGetNextSymbol 0xc0629 LB 0x2d4 -> off=0x0 cb=00000000000000a9 uValue=00000000000c0629 '_dispi_set_bank_farcall' +_dispi_set_bank_farcall: ; 0xc0629 LB 0xa9 + cmp bx, 00100h ; 81 fb 00 01 ; 0xc0629 vberom.asm:206 + je short 00653h ; 74 24 ; 0xc062d vberom.asm:207 + db 00bh, 0dbh + ; or bx, bx ; 0b db ; 0xc062f vberom.asm:208 + jne short 00665h ; 75 32 ; 0xc0631 vberom.asm:209 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc0633 vberom.asm:210 + push dx ; 52 ; 0xc0635 vberom.asm:211 + push ax ; 50 ; 0xc0636 vberom.asm:212 + mov ax, strict word 00005h ; b8 05 00 ; 0xc0637 vberom.asm:213 + mov dx, 001ceh ; ba ce 01 ; 0xc063a vberom.asm:214 + call 00570h ; e8 30 ff ; 0xc063d vberom.asm:215 + pop ax ; 58 ; 0xc0640 vberom.asm:216 + mov dx, 001cfh ; ba cf 01 ; 0xc0641 vberom.asm:217 + call 00570h ; e8 29 ff ; 0xc0644 vberom.asm:218 + call 00577h ; e8 2d ff ; 0xc0647 vberom.asm:219 + pop dx ; 5a ; 0xc064a vberom.asm:220 + db 03bh, 0d0h + ; cmp dx, ax ; 3b d0 ; 0xc064b vberom.asm:221 + jne short 00665h ; 75 16 ; 0xc064d vberom.asm:222 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc064f vberom.asm:223 + retf ; cb ; 0xc0652 vberom.asm:224 + mov ax, strict word 00005h ; b8 05 00 ; 0xc0653 vberom.asm:226 + mov dx, 001ceh ; ba ce 01 ; 0xc0656 vberom.asm:227 + call 00570h ; e8 14 ff ; 0xc0659 vberom.asm:228 + mov dx, 001cfh ; ba cf 01 ; 0xc065c vberom.asm:229 + call 00577h ; e8 15 ff ; 0xc065f vberom.asm:230 + db 08bh, 0d0h + ; mov dx, ax ; 8b d0 ; 0xc0662 vberom.asm:231 + retf ; cb ; 0xc0664 vberom.asm:232 + mov ax, 0014fh ; b8 4f 01 ; 0xc0665 vberom.asm:234 + retf ; cb ; 0xc0668 vberom.asm:235 + push dx ; 52 ; 0xc0669 vberom.asm:238 + push ax ; 50 ; 0xc066a vberom.asm:239 + mov dx, 001ceh ; ba ce 01 ; 0xc066b vberom.asm:240 + mov ax, strict word 00008h ; b8 08 00 ; 0xc066e vberom.asm:241 + call 00570h ; e8 fc fe ; 0xc0671 vberom.asm:242 + pop ax ; 58 ; 0xc0674 vberom.asm:243 + mov dx, 001cfh ; ba cf 01 ; 0xc0675 vberom.asm:244 + call 00570h ; e8 f5 fe ; 0xc0678 vberom.asm:245 + pop dx ; 5a ; 0xc067b vberom.asm:246 + retn ; c3 ; 0xc067c vberom.asm:247 + push dx ; 52 ; 0xc067d vberom.asm:250 + mov dx, 001ceh ; ba ce 01 ; 0xc067e vberom.asm:251 + mov ax, strict word 00008h ; b8 08 00 ; 0xc0681 vberom.asm:252 + call 00570h ; e8 e9 fe ; 0xc0684 vberom.asm:253 + mov dx, 001cfh ; ba cf 01 ; 0xc0687 vberom.asm:254 + call 00577h ; e8 ea fe ; 0xc068a vberom.asm:255 + pop dx ; 5a ; 0xc068d vberom.asm:256 + retn ; c3 ; 0xc068e vberom.asm:257 + push dx ; 52 ; 0xc068f vberom.asm:260 + push ax ; 50 ; 0xc0690 vberom.asm:261 + mov dx, 001ceh ; ba ce 01 ; 0xc0691 vberom.asm:262 + mov ax, strict word 00009h ; b8 09 00 ; 0xc0694 vberom.asm:263 + call 00570h ; e8 d6 fe ; 0xc0697 vberom.asm:264 + pop ax ; 58 ; 0xc069a vberom.asm:265 + mov dx, 001cfh ; ba cf 01 ; 0xc069b vberom.asm:266 + call 00570h ; e8 cf fe ; 0xc069e vberom.asm:267 + pop dx ; 5a ; 0xc06a1 vberom.asm:268 + retn ; c3 ; 0xc06a2 vberom.asm:269 + push dx ; 52 ; 0xc06a3 vberom.asm:272 + mov dx, 001ceh ; ba ce 01 ; 0xc06a4 vberom.asm:273 + mov ax, strict word 00009h ; b8 09 00 ; 0xc06a7 vberom.asm:274 + call 00570h ; e8 c3 fe ; 0xc06aa vberom.asm:275 + mov dx, 001cfh ; ba cf 01 ; 0xc06ad vberom.asm:276 + call 00577h ; e8 c4 fe ; 0xc06b0 vberom.asm:277 + pop dx ; 5a ; 0xc06b3 vberom.asm:278 + retn ; c3 ; 0xc06b4 vberom.asm:279 + push ax ; 50 ; 0xc06b5 vberom.asm:282 + push bx ; 53 ; 0xc06b6 vberom.asm:283 + push dx ; 52 ; 0xc06b7 vberom.asm:284 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc06b8 vberom.asm:285 + call 00596h ; e8 d9 fe ; 0xc06ba vberom.asm:286 + cmp AL, strict byte 004h ; 3c 04 ; 0xc06bd vberom.asm:287 + jnbe short 006c3h ; 77 02 ; 0xc06bf vberom.asm:288 + shr bx, 1 ; d1 eb ; 0xc06c1 vberom.asm:289 + shr bx, 003h ; c1 eb 03 ; 0xc06c3 vberom.asm:292 + mov dx, 003d4h ; ba d4 03 ; 0xc06c6 vberom.asm:298 + db 08ah, 0e3h + ; mov ah, bl ; 8a e3 ; 0xc06c9 vberom.asm:299 + mov AL, strict byte 013h ; b0 13 ; 0xc06cb vberom.asm:300 + out DX, ax ; ef ; 0xc06cd vberom.asm:301 + pop dx ; 5a ; 0xc06ce vberom.asm:302 + pop bx ; 5b ; 0xc06cf vberom.asm:303 + pop ax ; 58 ; 0xc06d0 vberom.asm:304 + retn ; c3 ; 0xc06d1 vberom.asm:305 + ; disGetNextSymbol 0xc06d2 LB 0x22b -> off=0x0 cb=00000000000000ed uValue=00000000000c06d2 '_vga_compat_setup' +_vga_compat_setup: ; 0xc06d2 LB 0xed + push ax ; 50 ; 0xc06d2 vberom.asm:308 + push dx ; 52 ; 0xc06d3 vberom.asm:309 + mov dx, 001ceh ; ba ce 01 ; 0xc06d4 vberom.asm:312 + mov ax, strict word 00001h ; b8 01 00 ; 0xc06d7 vberom.asm:313 + call 00570h ; e8 93 fe ; 0xc06da vberom.asm:314 + mov dx, 001cfh ; ba cf 01 ; 0xc06dd vberom.asm:315 + call 00577h ; e8 94 fe ; 0xc06e0 vberom.asm:316 + push ax ; 50 ; 0xc06e3 vberom.asm:317 + mov dx, 003d4h ; ba d4 03 ; 0xc06e4 vberom.asm:318 + mov ax, strict word 00011h ; b8 11 00 ; 0xc06e7 vberom.asm:319 + out DX, ax ; ef ; 0xc06ea vberom.asm:320 + pop ax ; 58 ; 0xc06eb vberom.asm:321 + push ax ; 50 ; 0xc06ec vberom.asm:322 + shr ax, 003h ; c1 e8 03 ; 0xc06ed vberom.asm:324 + dec ax ; 48 ; 0xc06f0 vberom.asm:330 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc06f1 vberom.asm:331 + mov AL, strict byte 001h ; b0 01 ; 0xc06f3 vberom.asm:332 + out DX, ax ; ef ; 0xc06f5 vberom.asm:333 + pop ax ; 58 ; 0xc06f6 vberom.asm:334 + call 006b5h ; e8 bb ff ; 0xc06f7 vberom.asm:335 + mov dx, 001ceh ; ba ce 01 ; 0xc06fa vberom.asm:338 + mov ax, strict word 00002h ; b8 02 00 ; 0xc06fd vberom.asm:339 + call 00570h ; e8 6d fe ; 0xc0700 vberom.asm:340 + mov dx, 001cfh ; ba cf 01 ; 0xc0703 vberom.asm:341 + call 00577h ; e8 6e fe ; 0xc0706 vberom.asm:342 + dec ax ; 48 ; 0xc0709 vberom.asm:343 + push ax ; 50 ; 0xc070a vberom.asm:344 + mov dx, 003d4h ; ba d4 03 ; 0xc070b vberom.asm:345 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc070e vberom.asm:346 + mov AL, strict byte 012h ; b0 12 ; 0xc0710 vberom.asm:347 + out DX, ax ; ef ; 0xc0712 vberom.asm:348 + pop ax ; 58 ; 0xc0713 vberom.asm:349 + mov AL, strict byte 007h ; b0 07 ; 0xc0714 vberom.asm:350 + out DX, AL ; ee ; 0xc0716 vberom.asm:351 + inc dx ; 42 ; 0xc0717 vberom.asm:352 + in AL, DX ; ec ; 0xc0718 vberom.asm:353 + and AL, strict byte 0bdh ; 24 bd ; 0xc0719 vberom.asm:354 + test ah, 001h ; f6 c4 01 ; 0xc071b vberom.asm:355 + je short 00722h ; 74 02 ; 0xc071e vberom.asm:356 + or AL, strict byte 002h ; 0c 02 ; 0xc0720 vberom.asm:357 + test ah, 002h ; f6 c4 02 ; 0xc0722 vberom.asm:359 + je short 00729h ; 74 02 ; 0xc0725 vberom.asm:360 + or AL, strict byte 040h ; 0c 40 ; 0xc0727 vberom.asm:361 + out DX, AL ; ee ; 0xc0729 vberom.asm:363 + mov dx, 003d4h ; ba d4 03 ; 0xc072a vberom.asm:366 + mov ax, strict word 00009h ; b8 09 00 ; 0xc072d vberom.asm:367 + out DX, AL ; ee ; 0xc0730 vberom.asm:368 + mov dx, 003d5h ; ba d5 03 ; 0xc0731 vberom.asm:369 + in AL, DX ; ec ; 0xc0734 vberom.asm:370 + and AL, strict byte 060h ; 24 60 ; 0xc0735 vberom.asm:371 + out DX, AL ; ee ; 0xc0737 vberom.asm:372 + mov dx, 003d4h ; ba d4 03 ; 0xc0738 vberom.asm:373 + mov AL, strict byte 017h ; b0 17 ; 0xc073b vberom.asm:374 + out DX, AL ; ee ; 0xc073d vberom.asm:375 + mov dx, 003d5h ; ba d5 03 ; 0xc073e vberom.asm:376 + in AL, DX ; ec ; 0xc0741 vberom.asm:377 + or AL, strict byte 003h ; 0c 03 ; 0xc0742 vberom.asm:378 + out DX, AL ; ee ; 0xc0744 vberom.asm:379 + mov dx, 003dah ; ba da 03 ; 0xc0745 vberom.asm:380 + in AL, DX ; ec ; 0xc0748 vberom.asm:381 + mov dx, 003c0h ; ba c0 03 ; 0xc0749 vberom.asm:382 + mov AL, strict byte 010h ; b0 10 ; 0xc074c vberom.asm:383 + out DX, AL ; ee ; 0xc074e vberom.asm:384 + mov dx, 003c1h ; ba c1 03 ; 0xc074f vberom.asm:385 + in AL, DX ; ec ; 0xc0752 vberom.asm:386 + or AL, strict byte 001h ; 0c 01 ; 0xc0753 vberom.asm:387 + mov dx, 003c0h ; ba c0 03 ; 0xc0755 vberom.asm:388 + out DX, AL ; ee ; 0xc0758 vberom.asm:389 + mov AL, strict byte 020h ; b0 20 ; 0xc0759 vberom.asm:390 + out DX, AL ; ee ; 0xc075b vberom.asm:391 + mov dx, 003ceh ; ba ce 03 ; 0xc075c vberom.asm:392 + mov ax, 00506h ; b8 06 05 ; 0xc075f vberom.asm:393 + out DX, ax ; ef ; 0xc0762 vberom.asm:394 + mov dx, 003c4h ; ba c4 03 ; 0xc0763 vberom.asm:395 + mov ax, 00f02h ; b8 02 0f ; 0xc0766 vberom.asm:396 + out DX, ax ; ef ; 0xc0769 vberom.asm:397 + mov dx, 001ceh ; ba ce 01 ; 0xc076a vberom.asm:400 + mov ax, strict word 00003h ; b8 03 00 ; 0xc076d vberom.asm:401 + call 00570h ; e8 fd fd ; 0xc0770 vberom.asm:402 + mov dx, 001cfh ; ba cf 01 ; 0xc0773 vberom.asm:403 + call 00577h ; e8 fe fd ; 0xc0776 vberom.asm:404 + cmp AL, strict byte 008h ; 3c 08 ; 0xc0779 vberom.asm:405 + jc short 007bdh ; 72 40 ; 0xc077b vberom.asm:406 + mov dx, 003d4h ; ba d4 03 ; 0xc077d vberom.asm:407 + mov AL, strict byte 014h ; b0 14 ; 0xc0780 vberom.asm:408 + out DX, AL ; ee ; 0xc0782 vberom.asm:409 + mov dx, 003d5h ; ba d5 03 ; 0xc0783 vberom.asm:410 + in AL, DX ; ec ; 0xc0786 vberom.asm:411 + or AL, strict byte 040h ; 0c 40 ; 0xc0787 vberom.asm:412 + out DX, AL ; ee ; 0xc0789 vberom.asm:413 + mov dx, 003dah ; ba da 03 ; 0xc078a vberom.asm:414 + in AL, DX ; ec ; 0xc078d vberom.asm:415 + mov dx, 003c0h ; ba c0 03 ; 0xc078e vberom.asm:416 + mov AL, strict byte 010h ; b0 10 ; 0xc0791 vberom.asm:417 + out DX, AL ; ee ; 0xc0793 vberom.asm:418 + mov dx, 003c1h ; ba c1 03 ; 0xc0794 vberom.asm:419 + in AL, DX ; ec ; 0xc0797 vberom.asm:420 + or AL, strict byte 040h ; 0c 40 ; 0xc0798 vberom.asm:421 + mov dx, 003c0h ; ba c0 03 ; 0xc079a vberom.asm:422 + out DX, AL ; ee ; 0xc079d vberom.asm:423 + mov AL, strict byte 020h ; b0 20 ; 0xc079e vberom.asm:424 + out DX, AL ; ee ; 0xc07a0 vberom.asm:425 + mov dx, 003c4h ; ba c4 03 ; 0xc07a1 vberom.asm:426 + mov AL, strict byte 004h ; b0 04 ; 0xc07a4 vberom.asm:427 + out DX, AL ; ee ; 0xc07a6 vberom.asm:428 + mov dx, 003c5h ; ba c5 03 ; 0xc07a7 vberom.asm:429 + in AL, DX ; ec ; 0xc07aa vberom.asm:430 + or AL, strict byte 008h ; 0c 08 ; 0xc07ab vberom.asm:431 + out DX, AL ; ee ; 0xc07ad vberom.asm:432 + mov dx, 003ceh ; ba ce 03 ; 0xc07ae vberom.asm:433 + mov AL, strict byte 005h ; b0 05 ; 0xc07b1 vberom.asm:434 + out DX, AL ; ee ; 0xc07b3 vberom.asm:435 + mov dx, 003cfh ; ba cf 03 ; 0xc07b4 vberom.asm:436 + in AL, DX ; ec ; 0xc07b7 vberom.asm:437 + and AL, strict byte 09fh ; 24 9f ; 0xc07b8 vberom.asm:438 + or AL, strict byte 040h ; 0c 40 ; 0xc07ba vberom.asm:439 + out DX, AL ; ee ; 0xc07bc vberom.asm:440 + pop dx ; 5a ; 0xc07bd vberom.asm:443 + pop ax ; 58 ; 0xc07be vberom.asm:444 + ; disGetNextSymbol 0xc07bf LB 0x13e -> off=0x0 cb=0000000000000013 uValue=00000000000c07bf '_vbe_has_vbe_display' +_vbe_has_vbe_display: ; 0xc07bf LB 0x13 + push DS ; 1e ; 0xc07bf vberom.asm:450 + push bx ; 53 ; 0xc07c0 vberom.asm:451 + mov ax, strict word 00040h ; b8 40 00 ; 0xc07c1 vberom.asm:452 + mov ds, ax ; 8e d8 ; 0xc07c4 vberom.asm:453 + mov bx, 000b9h ; bb b9 00 ; 0xc07c6 vberom.asm:454 + mov al, byte [bx] ; 8a 07 ; 0xc07c9 vberom.asm:455 + and AL, strict byte 001h ; 24 01 ; 0xc07cb vberom.asm:456 + db 032h, 0e4h + ; xor ah, ah ; 32 e4 ; 0xc07cd vberom.asm:457 + pop bx ; 5b ; 0xc07cf vberom.asm:458 + pop DS ; 1f ; 0xc07d0 vberom.asm:459 + retn ; c3 ; 0xc07d1 vberom.asm:460 + ; disGetNextSymbol 0xc07d2 LB 0x12b -> off=0x0 cb=0000000000000025 uValue=00000000000c07d2 'vbe_biosfn_return_current_mode' +vbe_biosfn_return_current_mode: ; 0xc07d2 LB 0x25 + push DS ; 1e ; 0xc07d2 vberom.asm:473 + mov ax, strict word 00040h ; b8 40 00 ; 0xc07d3 vberom.asm:474 + mov ds, ax ; 8e d8 ; 0xc07d6 vberom.asm:475 + call 005f1h ; e8 16 fe ; 0xc07d8 vberom.asm:476 + and ax, strict byte 00001h ; 83 e0 01 ; 0xc07db vberom.asm:477 + je short 007e9h ; 74 09 ; 0xc07de vberom.asm:478 + mov bx, 000bah ; bb ba 00 ; 0xc07e0 vberom.asm:479 + mov ax, word [bx] ; 8b 07 ; 0xc07e3 vberom.asm:480 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc07e5 vberom.asm:481 + jne short 007f2h ; 75 09 ; 0xc07e7 vberom.asm:482 + mov bx, strict word 00049h ; bb 49 00 ; 0xc07e9 vberom.asm:484 + mov al, byte [bx] ; 8a 07 ; 0xc07ec vberom.asm:485 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc07ee vberom.asm:486 + db 032h, 0ffh + ; xor bh, bh ; 32 ff ; 0xc07f0 vberom.asm:487 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc07f2 vberom.asm:489 + pop DS ; 1f ; 0xc07f5 vberom.asm:490 + retn ; c3 ; 0xc07f6 vberom.asm:491 + ; disGetNextSymbol 0xc07f7 LB 0x106 -> off=0x0 cb=000000000000002d uValue=00000000000c07f7 'vbe_biosfn_display_window_control' +vbe_biosfn_display_window_control: ; 0xc07f7 LB 0x2d + cmp bl, 000h ; 80 fb 00 ; 0xc07f7 vberom.asm:515 + jne short 00820h ; 75 24 ; 0xc07fa vberom.asm:516 + cmp bh, 001h ; 80 ff 01 ; 0xc07fc vberom.asm:517 + je short 00817h ; 74 16 ; 0xc07ff vberom.asm:518 + jc short 00807h ; 72 04 ; 0xc0801 vberom.asm:519 + mov ax, 00100h ; b8 00 01 ; 0xc0803 vberom.asm:520 + retn ; c3 ; 0xc0806 vberom.asm:521 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc0807 vberom.asm:523 + call 00603h ; e8 f7 fd ; 0xc0809 vberom.asm:524 + call 00617h ; e8 08 fe ; 0xc080c vberom.asm:525 + db 03bh, 0c2h + ; cmp ax, dx ; 3b c2 ; 0xc080f vberom.asm:526 + jne short 00820h ; 75 0d ; 0xc0811 vberom.asm:527 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0813 vberom.asm:528 + retn ; c3 ; 0xc0816 vberom.asm:529 + call 00617h ; e8 fd fd ; 0xc0817 vberom.asm:531 + db 08bh, 0d0h + ; mov dx, ax ; 8b d0 ; 0xc081a vberom.asm:532 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc081c vberom.asm:533 + retn ; c3 ; 0xc081f vberom.asm:534 + mov ax, 0014fh ; b8 4f 01 ; 0xc0820 vberom.asm:536 + retn ; c3 ; 0xc0823 vberom.asm:537 + ; disGetNextSymbol 0xc0824 LB 0xd9 -> off=0x0 cb=0000000000000034 uValue=00000000000c0824 'vbe_biosfn_set_get_display_start' +vbe_biosfn_set_get_display_start: ; 0xc0824 LB 0x34 + cmp bl, 080h ; 80 fb 80 ; 0xc0824 vberom.asm:577 + je short 00834h ; 74 0b ; 0xc0827 vberom.asm:578 + cmp bl, 001h ; 80 fb 01 ; 0xc0829 vberom.asm:579 + je short 00848h ; 74 1a ; 0xc082c vberom.asm:580 + jc short 0083ah ; 72 0a ; 0xc082e vberom.asm:581 + mov ax, 00100h ; b8 00 01 ; 0xc0830 vberom.asm:582 + retn ; c3 ; 0xc0833 vberom.asm:583 + call 00589h ; e8 52 fd ; 0xc0834 vberom.asm:585 + call 0057ch ; e8 42 fd ; 0xc0837 vberom.asm:586 + db 08bh, 0c1h + ; mov ax, cx ; 8b c1 ; 0xc083a vberom.asm:588 + call 00669h ; e8 2a fe ; 0xc083c vberom.asm:589 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc083f vberom.asm:590 + call 0068fh ; e8 4b fe ; 0xc0841 vberom.asm:591 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0844 vberom.asm:592 + retn ; c3 ; 0xc0847 vberom.asm:593 + call 0067dh ; e8 32 fe ; 0xc0848 vberom.asm:595 + db 08bh, 0c8h + ; mov cx, ax ; 8b c8 ; 0xc084b vberom.asm:596 + call 006a3h ; e8 53 fe ; 0xc084d vberom.asm:597 + db 08bh, 0d0h + ; mov dx, ax ; 8b d0 ; 0xc0850 vberom.asm:598 + db 032h, 0ffh + ; xor bh, bh ; 32 ff ; 0xc0852 vberom.asm:599 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0854 vberom.asm:600 + retn ; c3 ; 0xc0857 vberom.asm:601 + ; disGetNextSymbol 0xc0858 LB 0xa5 -> off=0x0 cb=0000000000000037 uValue=00000000000c0858 'vbe_biosfn_set_get_dac_palette_format' +vbe_biosfn_set_get_dac_palette_format: ; 0xc0858 LB 0x37 + cmp bl, 001h ; 80 fb 01 ; 0xc0858 vberom.asm:616 + je short 0087bh ; 74 1e ; 0xc085b vberom.asm:617 + jc short 00863h ; 72 04 ; 0xc085d vberom.asm:618 + mov ax, 00100h ; b8 00 01 ; 0xc085f vberom.asm:619 + retn ; c3 ; 0xc0862 vberom.asm:620 + call 005f1h ; e8 8b fd ; 0xc0863 vberom.asm:622 + cmp bh, 006h ; 80 ff 06 ; 0xc0866 vberom.asm:623 + je short 00875h ; 74 0a ; 0xc0869 vberom.asm:624 + cmp bh, 008h ; 80 ff 08 ; 0xc086b vberom.asm:625 + jne short 0088bh ; 75 1b ; 0xc086e vberom.asm:626 + or ax, strict byte 00020h ; 83 c8 20 ; 0xc0870 vberom.asm:627 + jne short 00878h ; 75 03 ; 0xc0873 vberom.asm:628 + and ax, strict byte 0ffdfh ; 83 e0 df ; 0xc0875 vberom.asm:630 + call 005ddh ; e8 62 fd ; 0xc0878 vberom.asm:632 + mov BH, strict byte 006h ; b7 06 ; 0xc087b vberom.asm:634 + call 005f1h ; e8 71 fd ; 0xc087d vberom.asm:635 + and ax, strict byte 00020h ; 83 e0 20 ; 0xc0880 vberom.asm:636 + je short 00887h ; 74 02 ; 0xc0883 vberom.asm:637 + mov BH, strict byte 008h ; b7 08 ; 0xc0885 vberom.asm:638 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0887 vberom.asm:640 + retn ; c3 ; 0xc088a vberom.asm:641 + mov ax, 0014fh ; b8 4f 01 ; 0xc088b vberom.asm:643 + retn ; c3 ; 0xc088e vberom.asm:644 + ; disGetNextSymbol 0xc088f LB 0x6e -> off=0x0 cb=0000000000000057 uValue=00000000000c088f 'vbe_biosfn_set_get_palette_data' +vbe_biosfn_set_get_palette_data: ; 0xc088f LB 0x57 + test bl, bl ; 84 db ; 0xc088f vberom.asm:683 + je short 008a2h ; 74 0f ; 0xc0891 vberom.asm:684 + cmp bl, 001h ; 80 fb 01 ; 0xc0893 vberom.asm:685 + je short 008c2h ; 74 2a ; 0xc0896 vberom.asm:686 + cmp bl, 003h ; 80 fb 03 ; 0xc0898 vberom.asm:687 + jbe short 008e2h ; 76 45 ; 0xc089b vberom.asm:688 + cmp bl, 080h ; 80 fb 80 ; 0xc089d vberom.asm:689 + jne short 008deh ; 75 3c ; 0xc08a0 vberom.asm:690 + pushaw ; 60 ; 0xc08a2 vberom.asm:133 + push DS ; 1e ; 0xc08a3 vberom.asm:696 + push ES ; 06 ; 0xc08a4 vberom.asm:697 + pop DS ; 1f ; 0xc08a5 vberom.asm:698 + db 08ah, 0c2h + ; mov al, dl ; 8a c2 ; 0xc08a6 vberom.asm:699 + mov dx, 003c8h ; ba c8 03 ; 0xc08a8 vberom.asm:700 + out DX, AL ; ee ; 0xc08ab vberom.asm:701 + inc dx ; 42 ; 0xc08ac vberom.asm:702 + db 08bh, 0f7h + ; mov si, di ; 8b f7 ; 0xc08ad vberom.asm:703 + lodsw ; ad ; 0xc08af vberom.asm:714 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc08b0 vberom.asm:715 + lodsw ; ad ; 0xc08b2 vberom.asm:716 + out DX, AL ; ee ; 0xc08b3 vberom.asm:717 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc08b4 vberom.asm:718 + out DX, AL ; ee ; 0xc08b6 vberom.asm:719 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc08b7 vberom.asm:720 + out DX, AL ; ee ; 0xc08b9 vberom.asm:721 + loop 008afh ; e2 f3 ; 0xc08ba vberom.asm:723 + pop DS ; 1f ; 0xc08bc vberom.asm:724 + popaw ; 61 ; 0xc08bd vberom.asm:152 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc08be vberom.asm:727 + retn ; c3 ; 0xc08c1 vberom.asm:728 + pushaw ; 60 ; 0xc08c2 vberom.asm:133 + db 08ah, 0c2h + ; mov al, dl ; 8a c2 ; 0xc08c3 vberom.asm:732 + mov dx, 003c7h ; ba c7 03 ; 0xc08c5 vberom.asm:733 + out DX, AL ; ee ; 0xc08c8 vberom.asm:734 + add dl, 002h ; 80 c2 02 ; 0xc08c9 vberom.asm:735 + db 033h, 0dbh + ; xor bx, bx ; 33 db ; 0xc08cc vberom.asm:746 + in AL, DX ; ec ; 0xc08ce vberom.asm:748 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc08cf vberom.asm:749 + in AL, DX ; ec ; 0xc08d1 vberom.asm:750 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc08d2 vberom.asm:751 + in AL, DX ; ec ; 0xc08d4 vberom.asm:752 + stosw ; ab ; 0xc08d5 vberom.asm:753 + db 08bh, 0c3h + ; mov ax, bx ; 8b c3 ; 0xc08d6 vberom.asm:754 + stosw ; ab ; 0xc08d8 vberom.asm:755 + loop 008ceh ; e2 f3 ; 0xc08d9 vberom.asm:757 + popaw ; 61 ; 0xc08db vberom.asm:152 + jmp short 008beh ; eb e0 ; 0xc08dc vberom.asm:759 + mov ax, 0014fh ; b8 4f 01 ; 0xc08de vberom.asm:762 + retn ; c3 ; 0xc08e1 vberom.asm:763 + mov ax, 0024fh ; b8 4f 02 ; 0xc08e2 vberom.asm:765 + retn ; c3 ; 0xc08e5 vberom.asm:766 + ; disGetNextSymbol 0xc08e6 LB 0x17 -> off=0x0 cb=0000000000000017 uValue=00000000000c08e6 'vbe_biosfn_return_protected_mode_interface' +vbe_biosfn_return_protected_mode_interface: ; 0xc08e6 LB 0x17 + test bl, bl ; 84 db ; 0xc08e6 vberom.asm:780 + jne short 008f9h ; 75 0f ; 0xc08e8 vberom.asm:781 + mov di, 0c000h ; bf 00 c0 ; 0xc08ea vberom.asm:782 + mov es, di ; 8e c7 ; 0xc08ed vberom.asm:783 + mov di, 04400h ; bf 00 44 ; 0xc08ef vberom.asm:784 + mov cx, 00115h ; b9 15 01 ; 0xc08f2 vberom.asm:785 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc08f5 vberom.asm:786 + retn ; c3 ; 0xc08f8 vberom.asm:787 + mov ax, 0014fh ; b8 4f 01 ; 0xc08f9 vberom.asm:789 + retn ; c3 ; 0xc08fc vberom.asm:790 + + ; Padding 0x103 bytes at 0xc08fd + times 259 db 0 + +section _TEXT progbits vstart=0xa00 align=1 ; size=0x3435 class=CODE group=AUTO + ; disGetNextSymbol 0xc0a00 LB 0x3435 -> off=0x0 cb=000000000000001b uValue=00000000000c0a00 'set_int_vector' +set_int_vector: ; 0xc0a00 LB 0x1b + push bx ; 53 ; 0xc0a00 vgabios.c:85 + push bp ; 55 ; 0xc0a01 + mov bp, sp ; 89 e5 ; 0xc0a02 + mov bl, al ; 88 c3 ; 0xc0a04 + xor bh, bh ; 30 ff ; 0xc0a06 vgabios.c:89 + sal bx, 002h ; c1 e3 02 ; 0xc0a08 + xor ax, ax ; 31 c0 ; 0xc0a0b + mov es, ax ; 8e c0 ; 0xc0a0d + mov word [es:bx], dx ; 26 89 17 ; 0xc0a0f + mov word [es:bx+002h], 0c000h ; 26 c7 47 02 00 c0 ; 0xc0a12 + pop bp ; 5d ; 0xc0a18 vgabios.c:90 + pop bx ; 5b ; 0xc0a19 + retn ; c3 ; 0xc0a1a + ; disGetNextSymbol 0xc0a1b LB 0x341a -> off=0x0 cb=000000000000001c uValue=00000000000c0a1b 'init_vga_card' +init_vga_card: ; 0xc0a1b LB 0x1c + push bp ; 55 ; 0xc0a1b vgabios.c:141 + mov bp, sp ; 89 e5 ; 0xc0a1c + push dx ; 52 ; 0xc0a1e + mov AL, strict byte 0c3h ; b0 c3 ; 0xc0a1f vgabios.c:144 + mov dx, 003c2h ; ba c2 03 ; 0xc0a21 + out DX, AL ; ee ; 0xc0a24 + mov AL, strict byte 004h ; b0 04 ; 0xc0a25 vgabios.c:147 + mov dx, 003c4h ; ba c4 03 ; 0xc0a27 + out DX, AL ; ee ; 0xc0a2a + mov AL, strict byte 002h ; b0 02 ; 0xc0a2b vgabios.c:148 + mov dx, 003c5h ; ba c5 03 ; 0xc0a2d + out DX, AL ; ee ; 0xc0a30 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc0a31 vgabios.c:153 + pop dx ; 5a ; 0xc0a34 + pop bp ; 5d ; 0xc0a35 + retn ; c3 ; 0xc0a36 + ; disGetNextSymbol 0xc0a37 LB 0x33fe -> off=0x0 cb=0000000000000032 uValue=00000000000c0a37 'init_bios_area' +init_bios_area: ; 0xc0a37 LB 0x32 + push bx ; 53 ; 0xc0a37 vgabios.c:162 + push bp ; 55 ; 0xc0a38 + mov bp, sp ; 89 e5 ; 0xc0a39 + xor bx, bx ; 31 db ; 0xc0a3b vgabios.c:166 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0a3d + mov es, ax ; 8e c0 ; 0xc0a40 + mov al, byte [es:bx+010h] ; 26 8a 47 10 ; 0xc0a42 vgabios.c:169 + and AL, strict byte 0cfh ; 24 cf ; 0xc0a46 + or AL, strict byte 020h ; 0c 20 ; 0xc0a48 + mov byte [es:bx+010h], al ; 26 88 47 10 ; 0xc0a4a + mov byte [es:bx+00085h], 010h ; 26 c6 87 85 00 10 ; 0xc0a4e vgabios.c:173 + mov word [es:bx+00087h], 0f960h ; 26 c7 87 87 00 60 f9 ; 0xc0a54 vgabios.c:175 + mov byte [es:bx+00089h], 051h ; 26 c6 87 89 00 51 ; 0xc0a5b vgabios.c:179 + mov byte [es:bx+065h], 009h ; 26 c6 47 65 09 ; 0xc0a61 vgabios.c:181 + pop bp ; 5d ; 0xc0a66 vgabios.c:182 + pop bx ; 5b ; 0xc0a67 + retn ; c3 ; 0xc0a68 + ; disGetNextSymbol 0xc0a69 LB 0x33cc -> off=0x0 cb=0000000000000022 uValue=00000000000c0a69 'vgabios_init_func' +vgabios_init_func: ; 0xc0a69 LB 0x22 + inc bp ; 45 ; 0xc0a69 vgabios.c:222 + push bp ; 55 ; 0xc0a6a + mov bp, sp ; 89 e5 ; 0xc0a6b + call 00a1bh ; e8 ab ff ; 0xc0a6d vgabios.c:224 + call 00a37h ; e8 c4 ff ; 0xc0a70 vgabios.c:225 + call 03782h ; e8 0c 2d ; 0xc0a73 vgabios.c:227 + mov dx, strict word 00022h ; ba 22 00 ; 0xc0a76 vgabios.c:229 + mov ax, strict word 00010h ; b8 10 00 ; 0xc0a79 + call 00a00h ; e8 81 ff ; 0xc0a7c + mov ax, strict word 00003h ; b8 03 00 ; 0xc0a7f vgabios.c:255 + db 032h, 0e4h + ; xor ah, ah ; 32 e4 ; 0xc0a82 + int 010h ; cd 10 ; 0xc0a84 + mov sp, bp ; 89 ec ; 0xc0a86 vgabios.c:258 + pop bp ; 5d ; 0xc0a88 + dec bp ; 4d ; 0xc0a89 + retf ; cb ; 0xc0a8a + ; disGetNextSymbol 0xc0a8b LB 0x33aa -> off=0x0 cb=0000000000000046 uValue=00000000000c0a8b 'vga_get_cursor_pos' +vga_get_cursor_pos: ; 0xc0a8b LB 0x46 + push bp ; 55 ; 0xc0a8b vgabios.c:327 + mov bp, sp ; 89 e5 ; 0xc0a8c + push cx ; 51 ; 0xc0a8e + push si ; 56 ; 0xc0a8f + mov cl, al ; 88 c1 ; 0xc0a90 + mov si, dx ; 89 d6 ; 0xc0a92 + cmp AL, strict byte 007h ; 3c 07 ; 0xc0a94 vgabios.c:329 + jbe short 00aa6h ; 76 0e ; 0xc0a96 + push SS ; 16 ; 0xc0a98 vgabios.c:330 + pop ES ; 07 ; 0xc0a99 + mov word [es:si], strict word 00000h ; 26 c7 04 00 00 ; 0xc0a9a + mov word [es:bx], strict word 00000h ; 26 c7 07 00 00 ; 0xc0a9f vgabios.c:331 + jmp short 00acah ; eb 24 ; 0xc0aa4 vgabios.c:332 + mov dx, strict word 00060h ; ba 60 00 ; 0xc0aa6 vgabios.c:334 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0aa9 + call 031a4h ; e8 f5 26 ; 0xc0aac + push SS ; 16 ; 0xc0aaf + pop ES ; 07 ; 0xc0ab0 + mov word [es:si], ax ; 26 89 04 ; 0xc0ab1 + mov al, cl ; 88 c8 ; 0xc0ab4 vgabios.c:335 + xor ah, ah ; 30 e4 ; 0xc0ab6 + mov dx, ax ; 89 c2 ; 0xc0ab8 + add dx, ax ; 01 c2 ; 0xc0aba + add dx, strict byte 00050h ; 83 c2 50 ; 0xc0abc + mov ax, strict word 00040h ; b8 40 00 ; 0xc0abf + call 031a4h ; e8 df 26 ; 0xc0ac2 + push SS ; 16 ; 0xc0ac5 + pop ES ; 07 ; 0xc0ac6 + mov word [es:bx], ax ; 26 89 07 ; 0xc0ac7 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc0aca vgabios.c:337 + pop si ; 5e ; 0xc0acd + pop cx ; 59 ; 0xc0ace + pop bp ; 5d ; 0xc0acf + retn ; c3 ; 0xc0ad0 + ; disGetNextSymbol 0xc0ad1 LB 0x3364 -> off=0x0 cb=00000000000000a0 uValue=00000000000c0ad1 'vga_read_char_attr' +vga_read_char_attr: ; 0xc0ad1 LB 0xa0 + push bp ; 55 ; 0xc0ad1 vgabios.c:340 + mov bp, sp ; 89 e5 ; 0xc0ad2 + push bx ; 53 ; 0xc0ad4 + push cx ; 51 ; 0xc0ad5 + push si ; 56 ; 0xc0ad6 + push di ; 57 ; 0xc0ad7 + sub sp, strict byte 0000ch ; 83 ec 0c ; 0xc0ad8 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc0adb + mov si, dx ; 89 d6 ; 0xc0ade + mov dx, strict word 00049h ; ba 49 00 ; 0xc0ae0 vgabios.c:347 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ae3 + call 03188h ; e8 9f 26 ; 0xc0ae6 + xor ah, ah ; 30 e4 ; 0xc0ae9 vgabios.c:348 + call 03160h ; e8 72 26 ; 0xc0aeb + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc0aee + cmp AL, strict byte 0ffh ; 3c ff ; 0xc0af1 vgabios.c:349 + je short 00b68h ; 74 73 ; 0xc0af3 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc0af5 vgabios.c:353 + xor ah, ah ; 30 e4 ; 0xc0af8 + lea bx, [bp-014h] ; 8d 5e ec ; 0xc0afa + lea dx, [bp-012h] ; 8d 56 ee ; 0xc0afd + call 00a8bh ; e8 88 ff ; 0xc0b00 + mov al, byte [bp-014h] ; 8a 46 ec ; 0xc0b03 vgabios.c:354 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc0b06 + mov ax, word [bp-014h] ; 8b 46 ec ; 0xc0b09 vgabios.c:355 + xor al, al ; 30 c0 ; 0xc0b0c + shr ax, 008h ; c1 e8 08 ; 0xc0b0e + mov word [bp-010h], ax ; 89 46 f0 ; 0xc0b11 + mov dx, 00084h ; ba 84 00 ; 0xc0b14 vgabios.c:358 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0b17 + call 03188h ; e8 6b 26 ; 0xc0b1a + xor ah, ah ; 30 e4 ; 0xc0b1d + mov di, ax ; 89 c7 ; 0xc0b1f + inc di ; 47 ; 0xc0b21 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0b22 vgabios.c:359 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0b25 + call 031a4h ; e8 79 26 ; 0xc0b28 + mov cx, ax ; 89 c1 ; 0xc0b2b + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc0b2d vgabios.c:361 + xor bh, bh ; 30 ff ; 0xc0b30 + sal bx, 003h ; c1 e3 03 ; 0xc0b32 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc0b35 + jne short 00b68h ; 75 2c ; 0xc0b3a + mul di ; f7 e7 ; 0xc0b3c vgabios.c:363 + add ax, ax ; 01 c0 ; 0xc0b3e + or AL, strict byte 0ffh ; 0c ff ; 0xc0b40 + mov dl, byte [bp-00ah] ; 8a 56 f6 ; 0xc0b42 + xor dh, dh ; 30 f6 ; 0xc0b45 + inc ax ; 40 ; 0xc0b47 + mul dx ; f7 e2 ; 0xc0b48 + mov di, ax ; 89 c7 ; 0xc0b4a + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc0b4c + xor ah, ah ; 30 e4 ; 0xc0b4f + mul cx ; f7 e1 ; 0xc0b51 + mov dl, byte [bp-00eh] ; 8a 56 f2 ; 0xc0b53 + xor dh, dh ; 30 f6 ; 0xc0b56 + add dx, ax ; 01 c2 ; 0xc0b58 + add dx, dx ; 01 d2 ; 0xc0b5a + add dx, di ; 01 fa ; 0xc0b5c + mov ax, word [bx+04632h] ; 8b 87 32 46 ; 0xc0b5e vgabios.c:364 + call 031a4h ; e8 3f 26 ; 0xc0b62 + mov word [ss:si], ax ; 36 89 04 ; 0xc0b65 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc0b68 vgabios.c:371 + pop di ; 5f ; 0xc0b6b + pop si ; 5e ; 0xc0b6c + pop cx ; 59 ; 0xc0b6d + pop bx ; 5b ; 0xc0b6e + pop bp ; 5d ; 0xc0b6f + retn ; c3 ; 0xc0b70 + ; disGetNextSymbol 0xc0b71 LB 0x32c4 -> off=0x10 cb=000000000000007b uValue=00000000000c0b81 'vga_get_font_info' + db 096h, 00bh, 0d4h, 00bh, 0d9h, 00bh, 0e1h, 00bh, 0e6h, 00bh, 0ebh, 00bh, 0f0h, 00bh, 0f5h, 00bh +vga_get_font_info: ; 0xc0b81 LB 0x7b + push bp ; 55 ; 0xc0b81 vgabios.c:373 + mov bp, sp ; 89 e5 ; 0xc0b82 + push si ; 56 ; 0xc0b84 + push di ; 57 ; 0xc0b85 + mov si, dx ; 89 d6 ; 0xc0b86 + cmp ax, strict word 00007h ; 3d 07 00 ; 0xc0b88 vgabios.c:378 + jnbe short 00bcbh ; 77 3e ; 0xc0b8b + mov di, ax ; 89 c7 ; 0xc0b8d + add di, ax ; 01 c7 ; 0xc0b8f + jmp word [cs:di+00b71h] ; 2e ff a5 71 0b ; 0xc0b91 + mov dx, strict word 0007ch ; ba 7c 00 ; 0xc0b96 vgabios.c:380 + xor ax, ax ; 31 c0 ; 0xc0b99 + call 031c0h ; e8 22 26 ; 0xc0b9b + push SS ; 16 ; 0xc0b9e vgabios.c:381 + pop ES ; 07 ; 0xc0b9f + mov word [es:bx], ax ; 26 89 07 ; 0xc0ba0 + mov word [es:si], dx ; 26 89 14 ; 0xc0ba3 + mov dx, 00085h ; ba 85 00 ; 0xc0ba6 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ba9 + call 03188h ; e8 d9 25 ; 0xc0bac + xor ah, ah ; 30 e4 ; 0xc0baf + push SS ; 16 ; 0xc0bb1 + pop ES ; 07 ; 0xc0bb2 + mov bx, cx ; 89 cb ; 0xc0bb3 + mov word [es:bx], ax ; 26 89 07 ; 0xc0bb5 + mov dx, 00084h ; ba 84 00 ; 0xc0bb8 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0bbb + call 03188h ; e8 c7 25 ; 0xc0bbe + xor ah, ah ; 30 e4 ; 0xc0bc1 + push SS ; 16 ; 0xc0bc3 + pop ES ; 07 ; 0xc0bc4 + mov bx, word [bp+004h] ; 8b 5e 04 ; 0xc0bc5 + mov word [es:bx], ax ; 26 89 07 ; 0xc0bc8 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc0bcb + pop di ; 5f ; 0xc0bce + pop si ; 5e ; 0xc0bcf + pop bp ; 5d ; 0xc0bd0 + retn 00002h ; c2 02 00 ; 0xc0bd1 + mov dx, 0010ch ; ba 0c 01 ; 0xc0bd4 vgabios.c:383 + jmp short 00b99h ; eb c0 ; 0xc0bd7 + mov ax, 05bech ; b8 ec 5b ; 0xc0bd9 vgabios.c:386 + mov dx, 0c000h ; ba 00 c0 ; 0xc0bdc + jmp short 00b9eh ; eb bd ; 0xc0bdf vgabios.c:387 + mov ax, 053ech ; b8 ec 53 ; 0xc0be1 vgabios.c:389 + jmp short 00bdch ; eb f6 ; 0xc0be4 + mov ax, 057ech ; b8 ec 57 ; 0xc0be6 vgabios.c:392 + jmp short 00bdch ; eb f1 ; 0xc0be9 + mov ax, 079ech ; b8 ec 79 ; 0xc0beb vgabios.c:395 + jmp short 00bdch ; eb ec ; 0xc0bee + mov ax, 069ech ; b8 ec 69 ; 0xc0bf0 vgabios.c:398 + jmp short 00bdch ; eb e7 ; 0xc0bf3 + mov ax, 07b19h ; b8 19 7b ; 0xc0bf5 vgabios.c:401 + jmp short 00bdch ; eb e2 ; 0xc0bf8 + jmp short 00bcbh ; eb cf ; 0xc0bfa vgabios.c:407 + ; disGetNextSymbol 0xc0bfc LB 0x3239 -> off=0x0 cb=0000000000000142 uValue=00000000000c0bfc 'vga_read_pixel' +vga_read_pixel: ; 0xc0bfc LB 0x142 + push bp ; 55 ; 0xc0bfc vgabios.c:420 + mov bp, sp ; 89 e5 ; 0xc0bfd + push si ; 56 ; 0xc0bff + push di ; 57 ; 0xc0c00 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc0c01 + mov si, dx ; 89 d6 ; 0xc0c04 + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc0c06 + mov di, cx ; 89 cf ; 0xc0c09 + mov dx, strict word 00049h ; ba 49 00 ; 0xc0c0b vgabios.c:426 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0c0e + call 03188h ; e8 74 25 ; 0xc0c11 + xor ah, ah ; 30 e4 ; 0xc0c14 vgabios.c:427 + call 03160h ; e8 47 25 ; 0xc0c16 + mov cl, al ; 88 c1 ; 0xc0c19 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc0c1b vgabios.c:428 + je short 00c2dh ; 74 0e ; 0xc0c1d + mov bl, al ; 88 c3 ; 0xc0c1f vgabios.c:430 + xor bh, bh ; 30 ff ; 0xc0c21 + sal bx, 003h ; c1 e3 03 ; 0xc0c23 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc0c26 + jne short 00c30h ; 75 03 ; 0xc0c2b + jmp near 00d37h ; e9 07 01 ; 0xc0c2d vgabios.c:431 + mov bl, byte [bx+04630h] ; 8a 9f 30 46 ; 0xc0c30 vgabios.c:434 + cmp bl, 003h ; 80 fb 03 ; 0xc0c34 + jc short 00c48h ; 72 0f ; 0xc0c37 + jbe short 00c50h ; 76 15 ; 0xc0c39 + cmp bl, 005h ; 80 fb 05 ; 0xc0c3b + je short 00caah ; 74 6a ; 0xc0c3e + cmp bl, 004h ; 80 fb 04 ; 0xc0c40 + je short 00c50h ; 74 0b ; 0xc0c43 + jmp near 00d32h ; e9 ea 00 ; 0xc0c45 + cmp bl, 002h ; 80 fb 02 ; 0xc0c48 + je short 00cafh ; 74 62 ; 0xc0c4b + jmp near 00d32h ; e9 e2 00 ; 0xc0c4d + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0c50 vgabios.c:437 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0c53 + call 031a4h ; e8 4b 25 ; 0xc0c56 + mov bx, ax ; 89 c3 ; 0xc0c59 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc0c5b + mul bx ; f7 e3 ; 0xc0c5e + mov bx, si ; 89 f3 ; 0xc0c60 + shr bx, 003h ; c1 eb 03 ; 0xc0c62 + add bx, ax ; 01 c3 ; 0xc0c65 + mov cx, si ; 89 f1 ; 0xc0c67 vgabios.c:438 + and cx, strict byte 00007h ; 83 e1 07 ; 0xc0c69 + mov ax, 00080h ; b8 80 00 ; 0xc0c6c + sar ax, CL ; d3 f8 ; 0xc0c6f + mov byte [bp-008h], al ; 88 46 f8 ; 0xc0c71 + mov byte [bp-006h], ch ; 88 6e fa ; 0xc0c74 vgabios.c:440 + jmp short 00c7fh ; eb 06 ; 0xc0c77 + cmp byte [bp-006h], 004h ; 80 7e fa 04 ; 0xc0c79 + jnc short 00cach ; 73 2d ; 0xc0c7d + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc0c7f vgabios.c:441 + xor ah, ah ; 30 e4 ; 0xc0c82 + sal ax, 008h ; c1 e0 08 ; 0xc0c84 + or AL, strict byte 004h ; 0c 04 ; 0xc0c87 + mov dx, 003ceh ; ba ce 03 ; 0xc0c89 + out DX, ax ; ef ; 0xc0c8c + mov dx, bx ; 89 da ; 0xc0c8d vgabios.c:442 + mov ax, 0a000h ; b8 00 a0 ; 0xc0c8f + call 03188h ; e8 f3 24 ; 0xc0c92 + and al, byte [bp-008h] ; 22 46 f8 ; 0xc0c95 + test al, al ; 84 c0 ; 0xc0c98 vgabios.c:443 + jbe short 00ca5h ; 76 09 ; 0xc0c9a + mov cl, byte [bp-006h] ; 8a 4e fa ; 0xc0c9c vgabios.c:444 + mov AL, strict byte 001h ; b0 01 ; 0xc0c9f + sal al, CL ; d2 e0 ; 0xc0ca1 + or ch, al ; 08 c5 ; 0xc0ca3 + inc byte [bp-006h] ; fe 46 fa ; 0xc0ca5 vgabios.c:445 + jmp short 00c79h ; eb cf ; 0xc0ca8 + jmp short 00d11h ; eb 65 ; 0xc0caa + jmp near 00d34h ; e9 85 00 ; 0xc0cac + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc0caf vgabios.c:448 + shr ax, 1 ; d1 e8 ; 0xc0cb2 + imul ax, ax, strict byte 00050h ; 6b c0 50 ; 0xc0cb4 + mov bx, si ; 89 f3 ; 0xc0cb7 + shr bx, 002h ; c1 eb 02 ; 0xc0cb9 + add bx, ax ; 01 c3 ; 0xc0cbc + test byte [bp-00ah], 001h ; f6 46 f6 01 ; 0xc0cbe vgabios.c:449 + je short 00cc7h ; 74 03 ; 0xc0cc2 + add bh, 020h ; 80 c7 20 ; 0xc0cc4 vgabios.c:450 + mov dx, bx ; 89 da ; 0xc0cc7 vgabios.c:451 + mov ax, 0b800h ; b8 00 b8 ; 0xc0cc9 + call 03188h ; e8 b9 24 ; 0xc0ccc + mov bl, cl ; 88 cb ; 0xc0ccf vgabios.c:452 + xor bh, bh ; 30 ff ; 0xc0cd1 + sal bx, 003h ; c1 e3 03 ; 0xc0cd3 + cmp byte [bx+04631h], 002h ; 80 bf 31 46 02 ; 0xc0cd6 + jne short 00cf8h ; 75 1b ; 0xc0cdb + mov cx, si ; 89 f1 ; 0xc0cdd vgabios.c:453 + xor ch, ch ; 30 ed ; 0xc0cdf + and cl, 003h ; 80 e1 03 ; 0xc0ce1 + mov bx, strict word 00003h ; bb 03 00 ; 0xc0ce4 + sub bx, cx ; 29 cb ; 0xc0ce7 + mov cx, bx ; 89 d9 ; 0xc0ce9 + add cx, bx ; 01 d9 ; 0xc0ceb + xor ah, ah ; 30 e4 ; 0xc0ced + sar ax, CL ; d3 f8 ; 0xc0cef + mov ch, al ; 88 c5 ; 0xc0cf1 + and ch, 003h ; 80 e5 03 ; 0xc0cf3 + jmp short 00d34h ; eb 3c ; 0xc0cf6 vgabios.c:454 + mov cx, si ; 89 f1 ; 0xc0cf8 vgabios.c:455 + xor ch, ch ; 30 ed ; 0xc0cfa + and cl, 007h ; 80 e1 07 ; 0xc0cfc + mov bx, strict word 00007h ; bb 07 00 ; 0xc0cff + sub bx, cx ; 29 cb ; 0xc0d02 + mov cx, bx ; 89 d9 ; 0xc0d04 + xor ah, ah ; 30 e4 ; 0xc0d06 + sar ax, CL ; d3 f8 ; 0xc0d08 + mov ch, al ; 88 c5 ; 0xc0d0a + and ch, 001h ; 80 e5 01 ; 0xc0d0c + jmp short 00d34h ; eb 23 ; 0xc0d0f vgabios.c:456 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0d11 vgabios.c:458 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0d14 + call 031a4h ; e8 8a 24 ; 0xc0d17 + mov bx, ax ; 89 c3 ; 0xc0d1a + sal bx, 003h ; c1 e3 03 ; 0xc0d1c + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc0d1f + mul bx ; f7 e3 ; 0xc0d22 + mov dx, si ; 89 f2 ; 0xc0d24 + add dx, ax ; 01 c2 ; 0xc0d26 + mov ax, 0a000h ; b8 00 a0 ; 0xc0d28 + call 03188h ; e8 5a 24 ; 0xc0d2b + mov ch, al ; 88 c5 ; 0xc0d2e + jmp short 00d34h ; eb 02 ; 0xc0d30 vgabios.c:460 + xor ch, ch ; 30 ed ; 0xc0d32 vgabios.c:465 + mov byte [ss:di], ch ; 36 88 2d ; 0xc0d34 vgabios.c:467 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc0d37 vgabios.c:468 + pop di ; 5f ; 0xc0d3a + pop si ; 5e ; 0xc0d3b + pop bp ; 5d ; 0xc0d3c + retn ; c3 ; 0xc0d3d + ; disGetNextSymbol 0xc0d3e LB 0x30f7 -> off=0x0 cb=000000000000008d uValue=00000000000c0d3e 'biosfn_perform_gray_scale_summing' +biosfn_perform_gray_scale_summing: ; 0xc0d3e LB 0x8d + push bp ; 55 ; 0xc0d3e vgabios.c:473 + mov bp, sp ; 89 e5 ; 0xc0d3f + push bx ; 53 ; 0xc0d41 + push cx ; 51 ; 0xc0d42 + push si ; 56 ; 0xc0d43 + push di ; 57 ; 0xc0d44 + push ax ; 50 ; 0xc0d45 + push ax ; 50 ; 0xc0d46 + mov bx, ax ; 89 c3 ; 0xc0d47 + mov di, dx ; 89 d7 ; 0xc0d49 + mov dx, 003dah ; ba da 03 ; 0xc0d4b vgabios.c:478 + in AL, DX ; ec ; 0xc0d4e + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d4f + xor al, al ; 30 c0 ; 0xc0d51 vgabios.c:479 + mov dx, 003c0h ; ba c0 03 ; 0xc0d53 + out DX, AL ; ee ; 0xc0d56 + xor si, si ; 31 f6 ; 0xc0d57 vgabios.c:481 + cmp si, di ; 39 fe ; 0xc0d59 + jnc short 00db0h ; 73 53 ; 0xc0d5b + mov al, bl ; 88 d8 ; 0xc0d5d vgabios.c:484 + mov dx, 003c7h ; ba c7 03 ; 0xc0d5f + out DX, AL ; ee ; 0xc0d62 + mov dx, 003c9h ; ba c9 03 ; 0xc0d63 vgabios.c:486 + in AL, DX ; ec ; 0xc0d66 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d67 + mov cx, ax ; 89 c1 ; 0xc0d69 + in AL, DX ; ec ; 0xc0d6b vgabios.c:487 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d6c + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc0d6e + in AL, DX ; ec ; 0xc0d71 vgabios.c:488 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d72 + xor ch, ch ; 30 ed ; 0xc0d74 vgabios.c:491 + imul cx, cx, strict byte 0004dh ; 6b c9 4d ; 0xc0d76 + mov word [bp-00ah], cx ; 89 4e f6 ; 0xc0d79 + mov cl, byte [bp-00ch] ; 8a 4e f4 ; 0xc0d7c + xor ch, ch ; 30 ed ; 0xc0d7f + imul cx, cx, 00097h ; 69 c9 97 00 ; 0xc0d81 + add cx, word [bp-00ah] ; 03 4e f6 ; 0xc0d85 + xor ah, ah ; 30 e4 ; 0xc0d88 + imul ax, ax, strict byte 0001ch ; 6b c0 1c ; 0xc0d8a + add cx, ax ; 01 c1 ; 0xc0d8d + add cx, 00080h ; 81 c1 80 00 ; 0xc0d8f + sar cx, 008h ; c1 f9 08 ; 0xc0d93 + cmp cx, strict byte 0003fh ; 83 f9 3f ; 0xc0d96 vgabios.c:493 + jbe short 00d9eh ; 76 03 ; 0xc0d99 + mov cx, strict word 0003fh ; b9 3f 00 ; 0xc0d9b + mov al, bl ; 88 d8 ; 0xc0d9e vgabios.c:496 + mov dx, 003c8h ; ba c8 03 ; 0xc0da0 + out DX, AL ; ee ; 0xc0da3 + mov al, cl ; 88 c8 ; 0xc0da4 vgabios.c:498 + mov dx, 003c9h ; ba c9 03 ; 0xc0da6 + out DX, AL ; ee ; 0xc0da9 + out DX, AL ; ee ; 0xc0daa vgabios.c:499 + out DX, AL ; ee ; 0xc0dab vgabios.c:500 + inc bx ; 43 ; 0xc0dac vgabios.c:501 + inc si ; 46 ; 0xc0dad vgabios.c:502 + jmp short 00d59h ; eb a9 ; 0xc0dae + mov dx, 003dah ; ba da 03 ; 0xc0db0 vgabios.c:503 + in AL, DX ; ec ; 0xc0db3 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0db4 + mov AL, strict byte 020h ; b0 20 ; 0xc0db6 vgabios.c:504 + mov dx, 003c0h ; ba c0 03 ; 0xc0db8 + out DX, AL ; ee ; 0xc0dbb + mov dx, 003dah ; ba da 03 ; 0xc0dbc vgabios.c:506 + in AL, DX ; ec ; 0xc0dbf + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0dc0 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc0dc2 vgabios.c:508 + pop di ; 5f ; 0xc0dc5 + pop si ; 5e ; 0xc0dc6 + pop cx ; 59 ; 0xc0dc7 + pop bx ; 5b ; 0xc0dc8 + pop bp ; 5d ; 0xc0dc9 + retn ; c3 ; 0xc0dca + ; disGetNextSymbol 0xc0dcb LB 0x306a -> off=0x0 cb=00000000000000ae uValue=00000000000c0dcb 'biosfn_set_cursor_shape' +biosfn_set_cursor_shape: ; 0xc0dcb LB 0xae + push bp ; 55 ; 0xc0dcb vgabios.c:511 + mov bp, sp ; 89 e5 ; 0xc0dcc + push bx ; 53 ; 0xc0dce + push cx ; 51 ; 0xc0dcf + push si ; 56 ; 0xc0dd0 + push di ; 57 ; 0xc0dd1 + push ax ; 50 ; 0xc0dd2 + push ax ; 50 ; 0xc0dd3 + mov cl, al ; 88 c1 ; 0xc0dd4 + mov ch, dl ; 88 d5 ; 0xc0dd6 + and cl, 03fh ; 80 e1 3f ; 0xc0dd8 vgabios.c:515 + and ch, 01fh ; 80 e5 1f ; 0xc0ddb vgabios.c:516 + mov al, cl ; 88 c8 ; 0xc0dde vgabios.c:518 + xor ah, ah ; 30 e4 ; 0xc0de0 + mov di, ax ; 89 c7 ; 0xc0de2 + mov bx, ax ; 89 c3 ; 0xc0de4 + sal bx, 008h ; c1 e3 08 ; 0xc0de6 + mov al, ch ; 88 e8 ; 0xc0de9 + mov si, ax ; 89 c6 ; 0xc0deb + add bx, ax ; 01 c3 ; 0xc0ded + mov dx, strict word 00060h ; ba 60 00 ; 0xc0def vgabios.c:519 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0df2 + call 031b2h ; e8 ba 23 ; 0xc0df5 + mov dx, 00089h ; ba 89 00 ; 0xc0df8 vgabios.c:521 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0dfb + call 03188h ; e8 87 23 ; 0xc0dfe + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc0e01 + mov dx, 00085h ; ba 85 00 ; 0xc0e04 vgabios.c:522 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e07 + call 031a4h ; e8 97 23 ; 0xc0e0a + mov bx, ax ; 89 c3 ; 0xc0e0d + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc0e0f + test byte [bp-00ah], 001h ; f6 46 f6 01 ; 0xc0e12 vgabios.c:523 + je short 00e4eh ; 74 36 ; 0xc0e16 + cmp ax, strict word 00008h ; 3d 08 00 ; 0xc0e18 + jbe short 00e4eh ; 76 31 ; 0xc0e1b + cmp ch, 008h ; 80 fd 08 ; 0xc0e1d + jnc short 00e4eh ; 73 2c ; 0xc0e20 + cmp cl, 020h ; 80 f9 20 ; 0xc0e22 + jnc short 00e4eh ; 73 27 ; 0xc0e25 + lea ax, [di+001h] ; 8d 45 01 ; 0xc0e27 vgabios.c:525 + cmp si, ax ; 39 c6 ; 0xc0e2a + je short 00e36h ; 74 08 ; 0xc0e2c + mul bx ; f7 e3 ; 0xc0e2e vgabios.c:527 + shr ax, 003h ; c1 e8 03 ; 0xc0e30 + dec ax ; 48 ; 0xc0e33 + jmp short 00e3eh ; eb 08 ; 0xc0e34 vgabios.c:529 + inc ax ; 40 ; 0xc0e36 vgabios.c:531 + mul bx ; f7 e3 ; 0xc0e37 + shr ax, 003h ; c1 e8 03 ; 0xc0e39 + dec ax ; 48 ; 0xc0e3c + dec ax ; 48 ; 0xc0e3d + mov cl, al ; 88 c1 ; 0xc0e3e + mov al, ch ; 88 e8 ; 0xc0e40 vgabios.c:533 + xor ah, ah ; 30 e4 ; 0xc0e42 + inc ax ; 40 ; 0xc0e44 + mul word [bp-00ch] ; f7 66 f4 ; 0xc0e45 + shr ax, 003h ; c1 e8 03 ; 0xc0e48 + dec ax ; 48 ; 0xc0e4b + mov ch, al ; 88 c5 ; 0xc0e4c + mov dx, strict word 00063h ; ba 63 00 ; 0xc0e4e vgabios.c:537 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e51 + call 031a4h ; e8 4d 23 ; 0xc0e54 + mov bx, ax ; 89 c3 ; 0xc0e57 + mov AL, strict byte 00ah ; b0 0a ; 0xc0e59 vgabios.c:538 + mov dx, bx ; 89 da ; 0xc0e5b + out DX, AL ; ee ; 0xc0e5d + lea si, [bx+001h] ; 8d 77 01 ; 0xc0e5e vgabios.c:539 + mov al, cl ; 88 c8 ; 0xc0e61 + mov dx, si ; 89 f2 ; 0xc0e63 + out DX, AL ; ee ; 0xc0e65 + mov AL, strict byte 00bh ; b0 0b ; 0xc0e66 vgabios.c:540 + mov dx, bx ; 89 da ; 0xc0e68 + out DX, AL ; ee ; 0xc0e6a + mov al, ch ; 88 e8 ; 0xc0e6b vgabios.c:541 + mov dx, si ; 89 f2 ; 0xc0e6d + out DX, AL ; ee ; 0xc0e6f + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc0e70 vgabios.c:542 + pop di ; 5f ; 0xc0e73 + pop si ; 5e ; 0xc0e74 + pop cx ; 59 ; 0xc0e75 + pop bx ; 5b ; 0xc0e76 + pop bp ; 5d ; 0xc0e77 + retn ; c3 ; 0xc0e78 + ; disGetNextSymbol 0xc0e79 LB 0x2fbc -> off=0x0 cb=00000000000000b5 uValue=00000000000c0e79 'biosfn_set_cursor_pos' +biosfn_set_cursor_pos: ; 0xc0e79 LB 0xb5 + push bp ; 55 ; 0xc0e79 vgabios.c:545 + mov bp, sp ; 89 e5 ; 0xc0e7a + push bx ; 53 ; 0xc0e7c + push cx ; 51 ; 0xc0e7d + push si ; 56 ; 0xc0e7e + push ax ; 50 ; 0xc0e7f + push ax ; 50 ; 0xc0e80 + mov cl, al ; 88 c1 ; 0xc0e81 + mov word [bp-00ah], dx ; 89 56 f6 ; 0xc0e83 + cmp AL, strict byte 007h ; 3c 07 ; 0xc0e86 vgabios.c:551 + jbe short 00e8dh ; 76 03 ; 0xc0e88 + jmp near 00f26h ; e9 99 00 ; 0xc0e8a + xor ah, ah ; 30 e4 ; 0xc0e8d vgabios.c:554 + mov dx, ax ; 89 c2 ; 0xc0e8f + add dx, ax ; 01 c2 ; 0xc0e91 + add dx, strict byte 00050h ; 83 c2 50 ; 0xc0e93 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc0e96 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e99 + call 031b2h ; e8 13 23 ; 0xc0e9c + mov dx, strict word 00062h ; ba 62 00 ; 0xc0e9f vgabios.c:557 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ea2 + call 03188h ; e8 e0 22 ; 0xc0ea5 + cmp cl, al ; 38 c1 ; 0xc0ea8 vgabios.c:558 + jne short 00f26h ; 75 7a ; 0xc0eaa + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0eac vgabios.c:561 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0eaf + call 031a4h ; e8 ef 22 ; 0xc0eb2 + mov bx, ax ; 89 c3 ; 0xc0eb5 + mov dx, 00084h ; ba 84 00 ; 0xc0eb7 vgabios.c:562 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0eba + call 03188h ; e8 c8 22 ; 0xc0ebd + xor ah, ah ; 30 e4 ; 0xc0ec0 + mov dx, ax ; 89 c2 ; 0xc0ec2 + inc dx ; 42 ; 0xc0ec4 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc0ec5 vgabios.c:564 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc0ec8 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc0ecb + xor al, al ; 30 c0 ; 0xc0ece + shr ax, 008h ; c1 e8 08 ; 0xc0ed0 + mov ch, al ; 88 c5 ; 0xc0ed3 + mov ax, bx ; 89 d8 ; 0xc0ed5 vgabios.c:567 + mul dx ; f7 e2 ; 0xc0ed7 + or AL, strict byte 0ffh ; 0c ff ; 0xc0ed9 + mov si, ax ; 89 c6 ; 0xc0edb + mov al, cl ; 88 c8 ; 0xc0edd + xor ah, ah ; 30 e4 ; 0xc0edf + mov dx, ax ; 89 c2 ; 0xc0ee1 + lea ax, [si+001h] ; 8d 44 01 ; 0xc0ee3 + mul dx ; f7 e2 ; 0xc0ee6 + mov dl, byte [bp-008h] ; 8a 56 f8 ; 0xc0ee8 + xor dh, dh ; 30 f6 ; 0xc0eeb + mov si, ax ; 89 c6 ; 0xc0eed + add si, dx ; 01 d6 ; 0xc0eef + mov cl, ch ; 88 e9 ; 0xc0ef1 + xor ch, ch ; 30 ed ; 0xc0ef3 + mov ax, cx ; 89 c8 ; 0xc0ef5 + mul bx ; f7 e3 ; 0xc0ef7 + add si, ax ; 01 c6 ; 0xc0ef9 + mov dx, strict word 00063h ; ba 63 00 ; 0xc0efb vgabios.c:570 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0efe + call 031a4h ; e8 a0 22 ; 0xc0f01 + mov bx, ax ; 89 c3 ; 0xc0f04 + mov AL, strict byte 00eh ; b0 0e ; 0xc0f06 vgabios.c:571 + mov dx, bx ; 89 da ; 0xc0f08 + out DX, AL ; ee ; 0xc0f0a + mov ax, si ; 89 f0 ; 0xc0f0b vgabios.c:572 + xor al, al ; 30 c0 ; 0xc0f0d + shr ax, 008h ; c1 e8 08 ; 0xc0f0f + lea cx, [bx+001h] ; 8d 4f 01 ; 0xc0f12 + mov dx, cx ; 89 ca ; 0xc0f15 + out DX, AL ; ee ; 0xc0f17 + mov AL, strict byte 00fh ; b0 0f ; 0xc0f18 vgabios.c:573 + mov dx, bx ; 89 da ; 0xc0f1a + out DX, AL ; ee ; 0xc0f1c + and si, 000ffh ; 81 e6 ff 00 ; 0xc0f1d vgabios.c:574 + mov ax, si ; 89 f0 ; 0xc0f21 + mov dx, cx ; 89 ca ; 0xc0f23 + out DX, AL ; ee ; 0xc0f25 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc0f26 vgabios.c:576 + pop si ; 5e ; 0xc0f29 + pop cx ; 59 ; 0xc0f2a + pop bx ; 5b ; 0xc0f2b + pop bp ; 5d ; 0xc0f2c + retn ; c3 ; 0xc0f2d + ; disGetNextSymbol 0xc0f2e LB 0x2f07 -> off=0x0 cb=00000000000000ee uValue=00000000000c0f2e 'biosfn_set_active_page' +biosfn_set_active_page: ; 0xc0f2e LB 0xee + push bp ; 55 ; 0xc0f2e vgabios.c:579 + mov bp, sp ; 89 e5 ; 0xc0f2f + push bx ; 53 ; 0xc0f31 + push cx ; 51 ; 0xc0f32 + push dx ; 52 ; 0xc0f33 + push si ; 56 ; 0xc0f34 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc0f35 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc0f38 + cmp AL, strict byte 007h ; 3c 07 ; 0xc0f3b vgabios.c:585 + jnbe short 00f53h ; 77 14 ; 0xc0f3d + mov dx, strict word 00049h ; ba 49 00 ; 0xc0f3f vgabios.c:588 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f42 + call 03188h ; e8 40 22 ; 0xc0f45 + xor ah, ah ; 30 e4 ; 0xc0f48 vgabios.c:589 + call 03160h ; e8 13 22 ; 0xc0f4a + mov cl, al ; 88 c1 ; 0xc0f4d + cmp AL, strict byte 0ffh ; 3c ff ; 0xc0f4f vgabios.c:590 + jne short 00f56h ; 75 03 ; 0xc0f51 + jmp near 01013h ; e9 bd 00 ; 0xc0f53 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc0f56 vgabios.c:593 + xor ah, ah ; 30 e4 ; 0xc0f59 + lea bx, [bp-00eh] ; 8d 5e f2 ; 0xc0f5b + lea dx, [bp-00ch] ; 8d 56 f4 ; 0xc0f5e + call 00a8bh ; e8 27 fb ; 0xc0f61 + mov bl, cl ; 88 cb ; 0xc0f64 vgabios.c:595 + xor bh, bh ; 30 ff ; 0xc0f66 + mov si, bx ; 89 de ; 0xc0f68 + sal si, 003h ; c1 e6 03 ; 0xc0f6a + cmp byte [si+0462fh], 000h ; 80 bc 2f 46 00 ; 0xc0f6d + jne short 00fbah ; 75 46 ; 0xc0f72 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0f74 vgabios.c:598 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f77 + call 031a4h ; e8 27 22 ; 0xc0f7a + mov bx, ax ; 89 c3 ; 0xc0f7d + mov dx, 00084h ; ba 84 00 ; 0xc0f7f vgabios.c:599 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f82 + call 03188h ; e8 00 22 ; 0xc0f85 + xor ah, ah ; 30 e4 ; 0xc0f88 + mov dx, ax ; 89 c2 ; 0xc0f8a + inc dx ; 42 ; 0xc0f8c + mov ax, bx ; 89 d8 ; 0xc0f8d vgabios.c:602 + mul dx ; f7 e2 ; 0xc0f8f + mov cx, ax ; 89 c1 ; 0xc0f91 + add ax, ax ; 01 c0 ; 0xc0f93 + or AL, strict byte 0ffh ; 0c ff ; 0xc0f95 + mov dx, ax ; 89 c2 ; 0xc0f97 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc0f99 + xor ah, ah ; 30 e4 ; 0xc0f9c + mov si, ax ; 89 c6 ; 0xc0f9e + mov ax, dx ; 89 d0 ; 0xc0fa0 + inc ax ; 40 ; 0xc0fa2 + mul si ; f7 e6 ; 0xc0fa3 + mov bx, ax ; 89 c3 ; 0xc0fa5 + mov dx, strict word 0004eh ; ba 4e 00 ; 0xc0fa7 vgabios.c:603 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0faa + call 031b2h ; e8 02 22 ; 0xc0fad + or cl, 0ffh ; 80 c9 ff ; 0xc0fb0 vgabios.c:606 + mov ax, cx ; 89 c8 ; 0xc0fb3 + inc ax ; 40 ; 0xc0fb5 + mul si ; f7 e6 ; 0xc0fb6 + jmp short 00fd0h ; eb 16 ; 0xc0fb8 vgabios.c:608 + mov al, byte [bx+046aeh] ; 8a 87 ae 46 ; 0xc0fba vgabios.c:610 + xor ah, ah ; 30 e4 ; 0xc0fbe + mov bx, ax ; 89 c3 ; 0xc0fc0 + sal bx, 006h ; c1 e3 06 ; 0xc0fc2 + mov cl, byte [bp-00ah] ; 8a 4e f6 ; 0xc0fc5 + xor ch, ch ; 30 ed ; 0xc0fc8 + mov ax, cx ; 89 c8 ; 0xc0fca + mul word [bx+046c5h] ; f7 a7 c5 46 ; 0xc0fcc + mov bx, ax ; 89 c3 ; 0xc0fd0 + mov dx, strict word 00063h ; ba 63 00 ; 0xc0fd2 vgabios.c:614 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0fd5 + call 031a4h ; e8 c9 21 ; 0xc0fd8 + mov cx, ax ; 89 c1 ; 0xc0fdb + mov AL, strict byte 00ch ; b0 0c ; 0xc0fdd vgabios.c:615 + mov dx, cx ; 89 ca ; 0xc0fdf + out DX, AL ; ee ; 0xc0fe1 + mov ax, bx ; 89 d8 ; 0xc0fe2 vgabios.c:616 + xor al, bl ; 30 d8 ; 0xc0fe4 + shr ax, 008h ; c1 e8 08 ; 0xc0fe6 + mov si, cx ; 89 ce ; 0xc0fe9 + inc si ; 46 ; 0xc0feb + mov dx, si ; 89 f2 ; 0xc0fec + out DX, AL ; ee ; 0xc0fee + mov AL, strict byte 00dh ; b0 0d ; 0xc0fef vgabios.c:617 + mov dx, cx ; 89 ca ; 0xc0ff1 + out DX, AL ; ee ; 0xc0ff3 + xor bh, bh ; 30 ff ; 0xc0ff4 vgabios.c:618 + mov ax, bx ; 89 d8 ; 0xc0ff6 + mov dx, si ; 89 f2 ; 0xc0ff8 + out DX, AL ; ee ; 0xc0ffa + mov cl, byte [bp-00ah] ; 8a 4e f6 ; 0xc0ffb vgabios.c:621 + xor ch, ch ; 30 ed ; 0xc0ffe + mov bx, cx ; 89 cb ; 0xc1000 + mov dx, strict word 00062h ; ba 62 00 ; 0xc1002 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1005 + call 03196h ; e8 8b 21 ; 0xc1008 + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc100b vgabios.c:628 + mov ax, cx ; 89 c8 ; 0xc100e + call 00e79h ; e8 66 fe ; 0xc1010 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc1013 vgabios.c:629 + pop si ; 5e ; 0xc1016 + pop dx ; 5a ; 0xc1017 + pop cx ; 59 ; 0xc1018 + pop bx ; 5b ; 0xc1019 + pop bp ; 5d ; 0xc101a + retn ; c3 ; 0xc101b + ; disGetNextSymbol 0xc101c LB 0x2e19 -> off=0x0 cb=00000000000003d9 uValue=00000000000c101c 'biosfn_set_video_mode' +biosfn_set_video_mode: ; 0xc101c LB 0x3d9 + push bp ; 55 ; 0xc101c vgabios.c:649 + mov bp, sp ; 89 e5 ; 0xc101d + push bx ; 53 ; 0xc101f + push cx ; 51 ; 0xc1020 + push dx ; 52 ; 0xc1021 + push si ; 56 ; 0xc1022 + push di ; 57 ; 0xc1023 + sub sp, strict byte 00014h ; 83 ec 14 ; 0xc1024 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc1027 + and AL, strict byte 080h ; 24 80 ; 0xc102a vgabios.c:653 + mov byte [bp-012h], al ; 88 46 ee ; 0xc102c + call 007bfh ; e8 8d f7 ; 0xc102f vgabios.c:660 + test ax, ax ; 85 c0 ; 0xc1032 + je short 01042h ; 74 0c ; 0xc1034 + mov AL, strict byte 007h ; b0 07 ; 0xc1036 vgabios.c:662 + mov dx, 003c4h ; ba c4 03 ; 0xc1038 + out DX, AL ; ee ; 0xc103b + xor al, al ; 30 c0 ; 0xc103c vgabios.c:663 + mov dx, 003c5h ; ba c5 03 ; 0xc103e + out DX, AL ; ee ; 0xc1041 + and byte [bp-00ch], 07fh ; 80 66 f4 7f ; 0xc1042 vgabios.c:668 + cmp byte [bp-00ch], 007h ; 80 7e f4 07 ; 0xc1046 vgabios.c:672 + jne short 01050h ; 75 04 ; 0xc104a + mov byte [bp-00ch], 000h ; c6 46 f4 00 ; 0xc104c vgabios.c:673 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1050 vgabios.c:676 + xor ah, ah ; 30 e4 ; 0xc1053 + call 03160h ; e8 08 21 ; 0xc1055 + mov byte [bp-010h], al ; 88 46 f0 ; 0xc1058 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc105b vgabios.c:682 + jne short 01062h ; 75 03 ; 0xc105d + jmp near 013ebh ; e9 89 03 ; 0xc105f + mov byte [bp-01ch], al ; 88 46 e4 ; 0xc1062 vgabios.c:685 + mov byte [bp-01bh], 000h ; c6 46 e5 00 ; 0xc1065 + mov bx, word [bp-01ch] ; 8b 5e e4 ; 0xc1069 + mov al, byte [bx+046aeh] ; 8a 87 ae 46 ; 0xc106c + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc1070 + mov bl, al ; 88 c3 ; 0xc1073 vgabios.c:686 + xor bh, bh ; 30 ff ; 0xc1075 + sal bx, 006h ; c1 e3 06 ; 0xc1077 + mov al, byte [bx+046c2h] ; 8a 87 c2 46 ; 0xc107a + xor ah, ah ; 30 e4 ; 0xc107e + mov word [bp-016h], ax ; 89 46 ea ; 0xc1080 + mov al, byte [bx+046c3h] ; 8a 87 c3 46 ; 0xc1083 vgabios.c:687 + mov word [bp-014h], ax ; 89 46 ec ; 0xc1087 + mov al, byte [bx+046c4h] ; 8a 87 c4 46 ; 0xc108a vgabios.c:688 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc108e + mov dx, 00087h ; ba 87 00 ; 0xc1091 vgabios.c:691 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1094 + call 03188h ; e8 ee 20 ; 0xc1097 + mov dx, 00088h ; ba 88 00 ; 0xc109a vgabios.c:694 + mov ax, strict word 00040h ; b8 40 00 ; 0xc109d + call 03188h ; e8 e5 20 ; 0xc10a0 + mov dx, 00089h ; ba 89 00 ; 0xc10a3 vgabios.c:697 + mov ax, strict word 00040h ; b8 40 00 ; 0xc10a6 + call 03188h ; e8 dc 20 ; 0xc10a9 + mov cl, al ; 88 c1 ; 0xc10ac + test AL, strict byte 008h ; a8 08 ; 0xc10ae vgabios.c:703 + jne short 010f7h ; 75 45 ; 0xc10b0 + mov bx, word [bp-01ch] ; 8b 5e e4 ; 0xc10b2 vgabios.c:705 + sal bx, 003h ; c1 e3 03 ; 0xc10b5 + mov al, byte [bx+04634h] ; 8a 87 34 46 ; 0xc10b8 + mov dx, 003c6h ; ba c6 03 ; 0xc10bc + out DX, AL ; ee ; 0xc10bf + xor al, al ; 30 c0 ; 0xc10c0 vgabios.c:708 + mov dx, 003c8h ; ba c8 03 ; 0xc10c2 + out DX, AL ; ee ; 0xc10c5 + mov bl, byte [bx+04635h] ; 8a 9f 35 46 ; 0xc10c6 vgabios.c:711 + cmp bl, 001h ; 80 fb 01 ; 0xc10ca + jc short 010ddh ; 72 0e ; 0xc10cd + jbe short 010e6h ; 76 15 ; 0xc10cf + cmp bl, 003h ; 80 fb 03 ; 0xc10d1 + je short 010f0h ; 74 1a ; 0xc10d4 + cmp bl, 002h ; 80 fb 02 ; 0xc10d6 + je short 010ebh ; 74 10 ; 0xc10d9 + jmp short 010f3h ; eb 16 ; 0xc10db + test bl, bl ; 84 db ; 0xc10dd + jne short 010f3h ; 75 12 ; 0xc10df + mov di, 04e42h ; bf 42 4e ; 0xc10e1 vgabios.c:713 + jmp short 010f3h ; eb 0d ; 0xc10e4 vgabios.c:714 + mov di, 04f02h ; bf 02 4f ; 0xc10e6 vgabios.c:716 + jmp short 010f3h ; eb 08 ; 0xc10e9 vgabios.c:717 + mov di, 04fc2h ; bf c2 4f ; 0xc10eb vgabios.c:719 + jmp short 010f3h ; eb 03 ; 0xc10ee vgabios.c:720 + mov di, 05082h ; bf 82 50 ; 0xc10f0 vgabios.c:722 + xor bx, bx ; 31 db ; 0xc10f3 vgabios.c:726 + jmp short 010ffh ; eb 08 ; 0xc10f5 + jmp short 01144h ; eb 4b ; 0xc10f7 + cmp bx, 00100h ; 81 fb 00 01 ; 0xc10f9 + jnc short 01137h ; 73 38 ; 0xc10fd + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc10ff vgabios.c:727 + xor ah, ah ; 30 e4 ; 0xc1102 + mov si, ax ; 89 c6 ; 0xc1104 + sal si, 003h ; c1 e6 03 ; 0xc1106 + mov al, byte [si+04635h] ; 8a 84 35 46 ; 0xc1109 + mov si, ax ; 89 c6 ; 0xc110d + mov al, byte [si+046beh] ; 8a 84 be 46 ; 0xc110f + cmp bx, ax ; 39 c3 ; 0xc1113 + jnbe short 0112ch ; 77 15 ; 0xc1115 + imul si, bx, strict byte 00003h ; 6b f3 03 ; 0xc1117 vgabios.c:728 + add si, di ; 01 fe ; 0xc111a + mov al, byte [si] ; 8a 04 ; 0xc111c + mov dx, 003c9h ; ba c9 03 ; 0xc111e + out DX, AL ; ee ; 0xc1121 + mov al, byte [si+001h] ; 8a 44 01 ; 0xc1122 vgabios.c:729 + out DX, AL ; ee ; 0xc1125 + mov al, byte [si+002h] ; 8a 44 02 ; 0xc1126 vgabios.c:730 + out DX, AL ; ee ; 0xc1129 + jmp short 01134h ; eb 08 ; 0xc112a vgabios.c:732 + xor al, al ; 30 c0 ; 0xc112c vgabios.c:733 + mov dx, 003c9h ; ba c9 03 ; 0xc112e + out DX, AL ; ee ; 0xc1131 + out DX, AL ; ee ; 0xc1132 vgabios.c:734 + out DX, AL ; ee ; 0xc1133 vgabios.c:735 + inc bx ; 43 ; 0xc1134 vgabios.c:737 + jmp short 010f9h ; eb c2 ; 0xc1135 + test cl, 002h ; f6 c1 02 ; 0xc1137 vgabios.c:738 + je short 01144h ; 74 08 ; 0xc113a + mov dx, 00100h ; ba 00 01 ; 0xc113c vgabios.c:740 + xor ax, ax ; 31 c0 ; 0xc113f + call 00d3eh ; e8 fa fb ; 0xc1141 + mov dx, 003dah ; ba da 03 ; 0xc1144 vgabios.c:745 + in AL, DX ; ec ; 0xc1147 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc1148 + xor bx, bx ; 31 db ; 0xc114a vgabios.c:748 + jmp short 01153h ; eb 05 ; 0xc114c + cmp bx, strict byte 00013h ; 83 fb 13 ; 0xc114e + jnbe short 0116dh ; 77 1a ; 0xc1151 + mov al, bl ; 88 d8 ; 0xc1153 vgabios.c:749 + mov dx, 003c0h ; ba c0 03 ; 0xc1155 + out DX, AL ; ee ; 0xc1158 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1159 vgabios.c:750 + xor ah, ah ; 30 e4 ; 0xc115c + mov si, ax ; 89 c6 ; 0xc115e + sal si, 006h ; c1 e6 06 ; 0xc1160 + add si, bx ; 01 de ; 0xc1163 + mov al, byte [si+046e5h] ; 8a 84 e5 46 ; 0xc1165 + out DX, AL ; ee ; 0xc1169 + inc bx ; 43 ; 0xc116a vgabios.c:751 + jmp short 0114eh ; eb e1 ; 0xc116b + mov AL, strict byte 014h ; b0 14 ; 0xc116d vgabios.c:752 + mov dx, 003c0h ; ba c0 03 ; 0xc116f + out DX, AL ; ee ; 0xc1172 + xor al, al ; 30 c0 ; 0xc1173 vgabios.c:753 + out DX, AL ; ee ; 0xc1175 + mov dx, 003c4h ; ba c4 03 ; 0xc1176 vgabios.c:756 + out DX, AL ; ee ; 0xc1179 + mov AL, strict byte 003h ; b0 03 ; 0xc117a vgabios.c:757 + mov dx, 003c5h ; ba c5 03 ; 0xc117c + out DX, AL ; ee ; 0xc117f + mov bx, strict word 00001h ; bb 01 00 ; 0xc1180 vgabios.c:758 + jmp short 0118ah ; eb 05 ; 0xc1183 + cmp bx, strict byte 00004h ; 83 fb 04 ; 0xc1185 + jnbe short 011a7h ; 77 1d ; 0xc1188 + mov al, bl ; 88 d8 ; 0xc118a vgabios.c:759 + mov dx, 003c4h ; ba c4 03 ; 0xc118c + out DX, AL ; ee ; 0xc118f + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1190 vgabios.c:760 + xor ah, ah ; 30 e4 ; 0xc1193 + mov si, ax ; 89 c6 ; 0xc1195 + sal si, 006h ; c1 e6 06 ; 0xc1197 + add si, bx ; 01 de ; 0xc119a + mov al, byte [si+046c6h] ; 8a 84 c6 46 ; 0xc119c + mov dx, 003c5h ; ba c5 03 ; 0xc11a0 + out DX, AL ; ee ; 0xc11a3 + inc bx ; 43 ; 0xc11a4 vgabios.c:761 + jmp short 01185h ; eb de ; 0xc11a5 + xor bx, bx ; 31 db ; 0xc11a7 vgabios.c:764 + jmp short 011b0h ; eb 05 ; 0xc11a9 + cmp bx, strict byte 00008h ; 83 fb 08 ; 0xc11ab + jnbe short 011cdh ; 77 1d ; 0xc11ae + mov al, bl ; 88 d8 ; 0xc11b0 vgabios.c:765 + mov dx, 003ceh ; ba ce 03 ; 0xc11b2 + out DX, AL ; ee ; 0xc11b5 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc11b6 vgabios.c:766 + xor ah, ah ; 30 e4 ; 0xc11b9 + mov si, ax ; 89 c6 ; 0xc11bb + sal si, 006h ; c1 e6 06 ; 0xc11bd + add si, bx ; 01 de ; 0xc11c0 + mov al, byte [si+046f9h] ; 8a 84 f9 46 ; 0xc11c2 + mov dx, 003cfh ; ba cf 03 ; 0xc11c6 + out DX, AL ; ee ; 0xc11c9 + inc bx ; 43 ; 0xc11ca vgabios.c:767 + jmp short 011abh ; eb de ; 0xc11cb + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc11cd vgabios.c:770 + xor bh, bh ; 30 ff ; 0xc11d0 + sal bx, 003h ; c1 e3 03 ; 0xc11d2 + cmp byte [bx+04630h], 001h ; 80 bf 30 46 01 ; 0xc11d5 + jne short 011e1h ; 75 05 ; 0xc11da + mov dx, 003b4h ; ba b4 03 ; 0xc11dc + jmp short 011e4h ; eb 03 ; 0xc11df + mov dx, 003d4h ; ba d4 03 ; 0xc11e1 + mov si, dx ; 89 d6 ; 0xc11e4 + mov ax, strict word 00011h ; b8 11 00 ; 0xc11e6 vgabios.c:773 + out DX, ax ; ef ; 0xc11e9 + xor bx, bx ; 31 db ; 0xc11ea vgabios.c:775 + jmp short 011f3h ; eb 05 ; 0xc11ec + cmp bx, strict byte 00018h ; 83 fb 18 ; 0xc11ee + jnbe short 01211h ; 77 1e ; 0xc11f1 + mov al, bl ; 88 d8 ; 0xc11f3 vgabios.c:776 + mov dx, si ; 89 f2 ; 0xc11f5 + out DX, AL ; ee ; 0xc11f7 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc11f8 vgabios.c:777 + xor ah, ah ; 30 e4 ; 0xc11fb + mov cx, ax ; 89 c1 ; 0xc11fd + sal cx, 006h ; c1 e1 06 ; 0xc11ff + mov di, cx ; 89 cf ; 0xc1202 + add di, bx ; 01 df ; 0xc1204 + lea dx, [si+001h] ; 8d 54 01 ; 0xc1206 + mov al, byte [di+046cch] ; 8a 85 cc 46 ; 0xc1209 + out DX, AL ; ee ; 0xc120d + inc bx ; 43 ; 0xc120e vgabios.c:778 + jmp short 011eeh ; eb dd ; 0xc120f + mov bx, cx ; 89 cb ; 0xc1211 vgabios.c:781 + mov al, byte [bx+046cbh] ; 8a 87 cb 46 ; 0xc1213 + mov dx, 003c2h ; ba c2 03 ; 0xc1217 + out DX, AL ; ee ; 0xc121a + mov AL, strict byte 020h ; b0 20 ; 0xc121b vgabios.c:784 + mov dx, 003c0h ; ba c0 03 ; 0xc121d + out DX, AL ; ee ; 0xc1220 + mov dx, 003dah ; ba da 03 ; 0xc1221 vgabios.c:785 + in AL, DX ; ec ; 0xc1224 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc1225 + cmp byte [bp-012h], 000h ; 80 7e ee 00 ; 0xc1227 vgabios.c:787 + jne short 0128dh ; 75 60 ; 0xc122b + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc122d vgabios.c:789 + xor bh, ch ; 30 ef ; 0xc1230 + sal bx, 003h ; c1 e3 03 ; 0xc1232 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc1235 + jne short 0124fh ; 75 13 ; 0xc123a + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc123c vgabios.c:791 + mov cx, 04000h ; b9 00 40 ; 0xc1240 + mov ax, 00720h ; b8 20 07 ; 0xc1243 + xor di, di ; 31 ff ; 0xc1246 + cld ; fc ; 0xc1248 + jcxz 0124dh ; e3 02 ; 0xc1249 + rep stosw ; f3 ab ; 0xc124b + jmp short 0128dh ; eb 3e ; 0xc124d vgabios.c:793 + cmp byte [bp-00ch], 00dh ; 80 7e f4 0d ; 0xc124f vgabios.c:795 + jnc short 01267h ; 73 12 ; 0xc1253 + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc1255 vgabios.c:797 + mov cx, 04000h ; b9 00 40 ; 0xc1259 + xor ax, ax ; 31 c0 ; 0xc125c + xor di, di ; 31 ff ; 0xc125e + cld ; fc ; 0xc1260 + jcxz 01265h ; e3 02 ; 0xc1261 + rep stosw ; f3 ab ; 0xc1263 + jmp short 0128dh ; eb 26 ; 0xc1265 vgabios.c:799 + mov AL, strict byte 002h ; b0 02 ; 0xc1267 vgabios.c:801 + mov dx, 003c4h ; ba c4 03 ; 0xc1269 + out DX, AL ; ee ; 0xc126c + mov dx, 003c5h ; ba c5 03 ; 0xc126d vgabios.c:802 + in AL, DX ; ec ; 0xc1270 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc1271 + mov word [bp-01eh], ax ; 89 46 e2 ; 0xc1273 + mov AL, strict byte 00fh ; b0 0f ; 0xc1276 vgabios.c:803 + out DX, AL ; ee ; 0xc1278 + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc1279 vgabios.c:804 + mov cx, 08000h ; b9 00 80 ; 0xc127d + xor ax, ax ; 31 c0 ; 0xc1280 + xor di, di ; 31 ff ; 0xc1282 + cld ; fc ; 0xc1284 + jcxz 01289h ; e3 02 ; 0xc1285 + rep stosw ; f3 ab ; 0xc1287 + mov al, byte [bp-01eh] ; 8a 46 e2 ; 0xc1289 vgabios.c:805 + out DX, AL ; ee ; 0xc128c + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc128d vgabios.c:811 + mov byte [bp-01ah], al ; 88 46 e6 ; 0xc1290 + mov byte [bp-019h], 000h ; c6 46 e7 00 ; 0xc1293 + mov bx, word [bp-01ah] ; 8b 5e e6 ; 0xc1297 + mov dx, strict word 00049h ; ba 49 00 ; 0xc129a + mov ax, strict word 00040h ; b8 40 00 ; 0xc129d + call 03196h ; e8 f3 1e ; 0xc12a0 + mov bx, word [bp-016h] ; 8b 5e ea ; 0xc12a3 vgabios.c:812 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc12a6 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12a9 + call 031b2h ; e8 03 1f ; 0xc12ac + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc12af vgabios.c:813 + xor bh, bh ; 30 ff ; 0xc12b2 + sal bx, 006h ; c1 e3 06 ; 0xc12b4 + mov bx, word [bx+046c5h] ; 8b 9f c5 46 ; 0xc12b7 + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc12bb + mov ax, strict word 00040h ; b8 40 00 ; 0xc12be + call 031b2h ; e8 ee 1e ; 0xc12c1 + mov bx, si ; 89 f3 ; 0xc12c4 vgabios.c:814 + mov dx, strict word 00063h ; ba 63 00 ; 0xc12c6 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12c9 + call 031b2h ; e8 e3 1e ; 0xc12cc + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc12cf vgabios.c:815 + xor bh, bh ; 30 ff ; 0xc12d2 + mov dx, 00084h ; ba 84 00 ; 0xc12d4 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12d7 + call 03196h ; e8 b9 1e ; 0xc12da + mov bx, word [bp-018h] ; 8b 5e e8 ; 0xc12dd vgabios.c:816 + mov dx, 00085h ; ba 85 00 ; 0xc12e0 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12e3 + call 031b2h ; e8 c9 1e ; 0xc12e6 + mov bl, byte [bp-012h] ; 8a 5e ee ; 0xc12e9 vgabios.c:817 + or bl, 060h ; 80 cb 60 ; 0xc12ec + xor bh, bh ; 30 ff ; 0xc12ef + mov dx, 00087h ; ba 87 00 ; 0xc12f1 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12f4 + call 03196h ; e8 9c 1e ; 0xc12f7 + mov bx, 000f9h ; bb f9 00 ; 0xc12fa vgabios.c:818 + mov dx, 00088h ; ba 88 00 ; 0xc12fd + mov ax, strict word 00040h ; b8 40 00 ; 0xc1300 + call 03196h ; e8 90 1e ; 0xc1303 + mov dx, 00089h ; ba 89 00 ; 0xc1306 vgabios.c:819 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1309 + call 03188h ; e8 79 1e ; 0xc130c + mov bl, al ; 88 c3 ; 0xc130f + and bl, 07fh ; 80 e3 7f ; 0xc1311 + xor bh, bh ; 30 ff ; 0xc1314 + mov dx, 00089h ; ba 89 00 ; 0xc1316 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1319 + call 03196h ; e8 77 1e ; 0xc131c + mov bx, strict word 00008h ; bb 08 00 ; 0xc131f vgabios.c:822 + mov dx, 0008ah ; ba 8a 00 ; 0xc1322 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1325 + call 03196h ; e8 6b 1e ; 0xc1328 + mov cx, ds ; 8c d9 ; 0xc132b vgabios.c:823 + mov bx, 053d0h ; bb d0 53 ; 0xc132d + mov dx, 000a8h ; ba a8 00 ; 0xc1330 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1333 + call 031d2h ; e8 99 1e ; 0xc1336 + cmp byte [bp-00ch], 007h ; 80 7e f4 07 ; 0xc1339 vgabios.c:825 + jnbe short 0136ah ; 77 2b ; 0xc133d + mov bx, word [bp-01ah] ; 8b 5e e6 ; 0xc133f vgabios.c:827 + mov bl, byte [bx+07c5dh] ; 8a 9f 5d 7c ; 0xc1342 + xor bh, bh ; 30 ff ; 0xc1346 + mov dx, strict word 00065h ; ba 65 00 ; 0xc1348 + mov ax, strict word 00040h ; b8 40 00 ; 0xc134b + call 03196h ; e8 45 1e ; 0xc134e + cmp byte [bp-00ch], 006h ; 80 7e f4 06 ; 0xc1351 vgabios.c:828 + jne short 0135ch ; 75 05 ; 0xc1355 + mov bx, strict word 0003fh ; bb 3f 00 ; 0xc1357 + jmp short 0135fh ; eb 03 ; 0xc135a + mov bx, strict word 00030h ; bb 30 00 ; 0xc135c + xor bh, bh ; 30 ff ; 0xc135f + mov dx, strict word 00066h ; ba 66 00 ; 0xc1361 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1364 + call 03196h ; e8 2c 1e ; 0xc1367 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc136a vgabios.c:832 + xor bh, bh ; 30 ff ; 0xc136d + sal bx, 003h ; c1 e3 03 ; 0xc136f + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc1372 + jne short 01382h ; 75 09 ; 0xc1377 + mov dx, strict word 00007h ; ba 07 00 ; 0xc1379 vgabios.c:834 + mov ax, strict word 00006h ; b8 06 00 ; 0xc137c + call 00dcbh ; e8 49 fa ; 0xc137f + xor bx, bx ; 31 db ; 0xc1382 vgabios.c:838 + jmp short 0138bh ; eb 05 ; 0xc1384 + cmp bx, strict byte 00008h ; 83 fb 08 ; 0xc1386 + jnc short 01397h ; 73 0c ; 0xc1389 + mov al, bl ; 88 d8 ; 0xc138b vgabios.c:839 + xor ah, ah ; 30 e4 ; 0xc138d + xor dx, dx ; 31 d2 ; 0xc138f + call 00e79h ; e8 e5 fa ; 0xc1391 + inc bx ; 43 ; 0xc1394 + jmp short 01386h ; eb ef ; 0xc1395 + xor ax, ax ; 31 c0 ; 0xc1397 vgabios.c:842 + call 00f2eh ; e8 92 fb ; 0xc1399 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc139c vgabios.c:845 + xor bh, bh ; 30 ff ; 0xc139f + sal bx, 003h ; c1 e3 03 ; 0xc13a1 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc13a4 + jne short 013bbh ; 75 10 ; 0xc13a9 + xor bl, bl ; 30 db ; 0xc13ab vgabios.c:847 + mov AL, strict byte 004h ; b0 04 ; 0xc13ad + mov AH, strict byte 011h ; b4 11 ; 0xc13af + int 010h ; cd 10 ; 0xc13b1 + xor bl, bl ; 30 db ; 0xc13b3 vgabios.c:848 + mov AL, strict byte 003h ; b0 03 ; 0xc13b5 + mov AH, strict byte 011h ; b4 11 ; 0xc13b7 + int 010h ; cd 10 ; 0xc13b9 + mov dx, 057ech ; ba ec 57 ; 0xc13bb vgabios.c:852 + mov ax, strict word 0001fh ; b8 1f 00 ; 0xc13be + call 00a00h ; e8 3c f6 ; 0xc13c1 + mov ax, word [bp-018h] ; 8b 46 e8 ; 0xc13c4 vgabios.c:854 + cmp ax, strict word 00010h ; 3d 10 00 ; 0xc13c7 + je short 013e6h ; 74 1a ; 0xc13ca + cmp ax, strict word 0000eh ; 3d 0e 00 ; 0xc13cc + je short 013e1h ; 74 10 ; 0xc13cf + cmp ax, strict word 00008h ; 3d 08 00 ; 0xc13d1 + jne short 013ebh ; 75 15 ; 0xc13d4 + mov dx, 053ech ; ba ec 53 ; 0xc13d6 vgabios.c:856 + mov ax, strict word 00043h ; b8 43 00 ; 0xc13d9 + call 00a00h ; e8 21 f6 ; 0xc13dc + jmp short 013ebh ; eb 0a ; 0xc13df vgabios.c:857 + mov dx, 05bech ; ba ec 5b ; 0xc13e1 vgabios.c:859 + jmp short 013d9h ; eb f3 ; 0xc13e4 + mov dx, 069ech ; ba ec 69 ; 0xc13e6 vgabios.c:862 + jmp short 013d9h ; eb ee ; 0xc13e9 + lea sp, [bp-00ah] ; 8d 66 f6 ; 0xc13eb vgabios.c:865 + pop di ; 5f ; 0xc13ee + pop si ; 5e ; 0xc13ef + pop dx ; 5a ; 0xc13f0 + pop cx ; 59 ; 0xc13f1 + pop bx ; 5b ; 0xc13f2 + pop bp ; 5d ; 0xc13f3 + retn ; c3 ; 0xc13f4 + ; disGetNextSymbol 0xc13f5 LB 0x2a40 -> off=0x0 cb=000000000000008f uValue=00000000000c13f5 'vgamem_copy_pl4' +vgamem_copy_pl4: ; 0xc13f5 LB 0x8f + push bp ; 55 ; 0xc13f5 vgabios.c:868 + mov bp, sp ; 89 e5 ; 0xc13f6 + push si ; 56 ; 0xc13f8 + push di ; 57 ; 0xc13f9 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc13fa + mov byte [bp-008h], al ; 88 46 f8 ; 0xc13fd + mov al, dl ; 88 d0 ; 0xc1400 + mov byte [bp-00ah], bl ; 88 5e f6 ; 0xc1402 + mov byte [bp-006h], cl ; 88 4e fa ; 0xc1405 + xor ah, ah ; 30 e4 ; 0xc1408 vgabios.c:874 + mov dl, byte [bp+006h] ; 8a 56 06 ; 0xc140a + xor dh, dh ; 30 f6 ; 0xc140d + mov cx, dx ; 89 d1 ; 0xc140f + imul dx ; f7 ea ; 0xc1411 + mov dl, byte [bp+004h] ; 8a 56 04 ; 0xc1413 + xor dh, dh ; 30 f6 ; 0xc1416 + mov si, dx ; 89 d6 ; 0xc1418 + imul dx ; f7 ea ; 0xc141a + mov dl, byte [bp-008h] ; 8a 56 f8 ; 0xc141c + xor dh, dh ; 30 f6 ; 0xc141f + mov bx, dx ; 89 d3 ; 0xc1421 + add ax, dx ; 01 d0 ; 0xc1423 + mov word [bp-00eh], ax ; 89 46 f2 ; 0xc1425 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1428 vgabios.c:875 + xor ah, ah ; 30 e4 ; 0xc142b + imul cx ; f7 e9 ; 0xc142d + imul si ; f7 ee ; 0xc142f + add ax, bx ; 01 d8 ; 0xc1431 + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc1433 + mov ax, 00105h ; b8 05 01 ; 0xc1436 vgabios.c:876 + mov dx, 003ceh ; ba ce 03 ; 0xc1439 + out DX, ax ; ef ; 0xc143c + xor bl, bl ; 30 db ; 0xc143d vgabios.c:877 + cmp bl, byte [bp+006h] ; 3a 5e 06 ; 0xc143f + jnc short 01474h ; 73 30 ; 0xc1442 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1444 vgabios.c:879 + xor ah, ah ; 30 e4 ; 0xc1447 + mov cx, ax ; 89 c1 ; 0xc1449 + mov al, bl ; 88 d8 ; 0xc144b + mov dx, ax ; 89 c2 ; 0xc144d + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc144f + mov si, ax ; 89 c6 ; 0xc1452 + mov ax, dx ; 89 d0 ; 0xc1454 + imul si ; f7 ee ; 0xc1456 + mov si, word [bp-00eh] ; 8b 76 f2 ; 0xc1458 + add si, ax ; 01 c6 ; 0xc145b + mov di, word [bp-00ch] ; 8b 7e f4 ; 0xc145d + add di, ax ; 01 c7 ; 0xc1460 + mov dx, 0a000h ; ba 00 a0 ; 0xc1462 + mov es, dx ; 8e c2 ; 0xc1465 + cld ; fc ; 0xc1467 + jcxz 01470h ; e3 06 ; 0xc1468 + push DS ; 1e ; 0xc146a + mov ds, dx ; 8e da ; 0xc146b + rep movsb ; f3 a4 ; 0xc146d + pop DS ; 1f ; 0xc146f + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc1470 vgabios.c:880 + jmp short 0143fh ; eb cb ; 0xc1472 + mov ax, strict word 00005h ; b8 05 00 ; 0xc1474 vgabios.c:881 + mov dx, 003ceh ; ba ce 03 ; 0xc1477 + out DX, ax ; ef ; 0xc147a + lea sp, [bp-004h] ; 8d 66 fc ; 0xc147b vgabios.c:882 + pop di ; 5f ; 0xc147e + pop si ; 5e ; 0xc147f + pop bp ; 5d ; 0xc1480 + retn 00004h ; c2 04 00 ; 0xc1481 + ; disGetNextSymbol 0xc1484 LB 0x29b1 -> off=0x0 cb=000000000000007c uValue=00000000000c1484 'vgamem_fill_pl4' +vgamem_fill_pl4: ; 0xc1484 LB 0x7c + push bp ; 55 ; 0xc1484 vgabios.c:885 + mov bp, sp ; 89 e5 ; 0xc1485 + push si ; 56 ; 0xc1487 + push di ; 57 ; 0xc1488 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc1489 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc148c + mov al, dl ; 88 d0 ; 0xc148f + mov byte [bp-006h], bl ; 88 5e fa ; 0xc1491 + mov bh, cl ; 88 cf ; 0xc1494 + xor ah, ah ; 30 e4 ; 0xc1496 vgabios.c:891 + mov dx, ax ; 89 c2 ; 0xc1498 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc149a + mov cx, ax ; 89 c1 ; 0xc149d + mov ax, dx ; 89 d0 ; 0xc149f + imul cx ; f7 e9 ; 0xc14a1 + mov dl, bh ; 88 fa ; 0xc14a3 + xor dh, dh ; 30 f6 ; 0xc14a5 + imul dx ; f7 ea ; 0xc14a7 + mov dx, ax ; 89 c2 ; 0xc14a9 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc14ab + xor ah, ah ; 30 e4 ; 0xc14ae + add dx, ax ; 01 c2 ; 0xc14b0 + mov word [bp-00ah], dx ; 89 56 f6 ; 0xc14b2 + mov ax, 00205h ; b8 05 02 ; 0xc14b5 vgabios.c:892 + mov dx, 003ceh ; ba ce 03 ; 0xc14b8 + out DX, ax ; ef ; 0xc14bb + xor bl, bl ; 30 db ; 0xc14bc vgabios.c:893 + cmp bl, byte [bp+004h] ; 3a 5e 04 ; 0xc14be + jnc short 014f0h ; 73 2d ; 0xc14c1 + mov cl, byte [bp-006h] ; 8a 4e fa ; 0xc14c3 vgabios.c:895 + xor ch, ch ; 30 ed ; 0xc14c6 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc14c8 + xor ah, ah ; 30 e4 ; 0xc14cb + mov si, ax ; 89 c6 ; 0xc14cd + mov al, bl ; 88 d8 ; 0xc14cf + mov dx, ax ; 89 c2 ; 0xc14d1 + mov al, bh ; 88 f8 ; 0xc14d3 + mov di, ax ; 89 c7 ; 0xc14d5 + mov ax, dx ; 89 d0 ; 0xc14d7 + imul di ; f7 ef ; 0xc14d9 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc14db + add di, ax ; 01 c7 ; 0xc14de + mov ax, si ; 89 f0 ; 0xc14e0 + mov dx, 0a000h ; ba 00 a0 ; 0xc14e2 + mov es, dx ; 8e c2 ; 0xc14e5 + cld ; fc ; 0xc14e7 + jcxz 014ech ; e3 02 ; 0xc14e8 + rep stosb ; f3 aa ; 0xc14ea + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc14ec vgabios.c:896 + jmp short 014beh ; eb ce ; 0xc14ee + mov ax, strict word 00005h ; b8 05 00 ; 0xc14f0 vgabios.c:897 + mov dx, 003ceh ; ba ce 03 ; 0xc14f3 + out DX, ax ; ef ; 0xc14f6 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc14f7 vgabios.c:898 + pop di ; 5f ; 0xc14fa + pop si ; 5e ; 0xc14fb + pop bp ; 5d ; 0xc14fc + retn 00004h ; c2 04 00 ; 0xc14fd + ; disGetNextSymbol 0xc1500 LB 0x2935 -> off=0x0 cb=00000000000000c2 uValue=00000000000c1500 'vgamem_copy_cga' +vgamem_copy_cga: ; 0xc1500 LB 0xc2 + push bp ; 55 ; 0xc1500 vgabios.c:901 + mov bp, sp ; 89 e5 ; 0xc1501 + push si ; 56 ; 0xc1503 + push di ; 57 ; 0xc1504 + sub sp, strict byte 00008h ; 83 ec 08 ; 0xc1505 + mov byte [bp-006h], al ; 88 46 fa ; 0xc1508 + mov al, dl ; 88 d0 ; 0xc150b + mov bh, cl ; 88 cf ; 0xc150d + xor ah, ah ; 30 e4 ; 0xc150f vgabios.c:907 + mov dx, ax ; 89 c2 ; 0xc1511 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1513 + mov cx, ax ; 89 c1 ; 0xc1516 + mov ax, dx ; 89 d0 ; 0xc1518 + imul cx ; f7 e9 ; 0xc151a + mov dl, byte [bp+004h] ; 8a 56 04 ; 0xc151c + xor dh, dh ; 30 f6 ; 0xc151f + mov di, dx ; 89 d7 ; 0xc1521 + imul dx ; f7 ea ; 0xc1523 + mov dx, ax ; 89 c2 ; 0xc1525 + sar dx, 1 ; d1 fa ; 0xc1527 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1529 + xor ah, ah ; 30 e4 ; 0xc152c + mov si, ax ; 89 c6 ; 0xc152e + add dx, ax ; 01 c2 ; 0xc1530 + mov word [bp-008h], dx ; 89 56 f8 ; 0xc1532 + mov al, bl ; 88 d8 ; 0xc1535 vgabios.c:908 + imul cx ; f7 e9 ; 0xc1537 + imul di ; f7 ef ; 0xc1539 + sar ax, 1 ; d1 f8 ; 0xc153b + add ax, si ; 01 f0 ; 0xc153d + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc153f + xor bl, bl ; 30 db ; 0xc1542 vgabios.c:909 + cmp bl, byte [bp+006h] ; 3a 5e 06 ; 0xc1544 + jnc short 015b9h ; 73 70 ; 0xc1547 + test bl, 001h ; f6 c3 01 ; 0xc1549 vgabios.c:911 + je short 01585h ; 74 37 ; 0xc154c + mov cl, bh ; 88 f9 ; 0xc154e vgabios.c:912 + xor ch, ch ; 30 ed ; 0xc1550 + mov al, bl ; 88 d8 ; 0xc1552 + xor ah, ah ; 30 e4 ; 0xc1554 + mov dx, ax ; 89 c2 ; 0xc1556 + sar dx, 1 ; d1 fa ; 0xc1558 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc155a + mov si, ax ; 89 c6 ; 0xc155d + mov ax, dx ; 89 d0 ; 0xc155f + imul si ; f7 ee ; 0xc1561 + mov si, word [bp-008h] ; 8b 76 f8 ; 0xc1563 + add si, 02000h ; 81 c6 00 20 ; 0xc1566 + add si, ax ; 01 c6 ; 0xc156a + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc156c + add di, 02000h ; 81 c7 00 20 ; 0xc156f + add di, ax ; 01 c7 ; 0xc1573 + mov dx, 0b800h ; ba 00 b8 ; 0xc1575 + mov es, dx ; 8e c2 ; 0xc1578 + cld ; fc ; 0xc157a + jcxz 01583h ; e3 06 ; 0xc157b + push DS ; 1e ; 0xc157d + mov ds, dx ; 8e da ; 0xc157e + rep movsb ; f3 a4 ; 0xc1580 + pop DS ; 1f ; 0xc1582 + jmp short 015b5h ; eb 30 ; 0xc1583 vgabios.c:913 + mov al, bh ; 88 f8 ; 0xc1585 vgabios.c:914 + xor ah, ah ; 30 e4 ; 0xc1587 + mov cx, ax ; 89 c1 ; 0xc1589 + mov al, bl ; 88 d8 ; 0xc158b + sar ax, 1 ; d1 f8 ; 0xc158d + mov dl, byte [bp+004h] ; 8a 56 04 ; 0xc158f + mov byte [bp-00ch], dl ; 88 56 f4 ; 0xc1592 + mov byte [bp-00bh], ch ; 88 6e f5 ; 0xc1595 + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc1598 + imul dx ; f7 ea ; 0xc159b + mov si, word [bp-008h] ; 8b 76 f8 ; 0xc159d + add si, ax ; 01 c6 ; 0xc15a0 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc15a2 + add di, ax ; 01 c7 ; 0xc15a5 + mov dx, 0b800h ; ba 00 b8 ; 0xc15a7 + mov es, dx ; 8e c2 ; 0xc15aa + cld ; fc ; 0xc15ac + jcxz 015b5h ; e3 06 ; 0xc15ad + push DS ; 1e ; 0xc15af + mov ds, dx ; 8e da ; 0xc15b0 + rep movsb ; f3 a4 ; 0xc15b2 + pop DS ; 1f ; 0xc15b4 + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc15b5 vgabios.c:915 + jmp short 01544h ; eb 8b ; 0xc15b7 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc15b9 vgabios.c:916 + pop di ; 5f ; 0xc15bc + pop si ; 5e ; 0xc15bd + pop bp ; 5d ; 0xc15be + retn 00004h ; c2 04 00 ; 0xc15bf + ; disGetNextSymbol 0xc15c2 LB 0x2873 -> off=0x0 cb=00000000000000a8 uValue=00000000000c15c2 'vgamem_fill_cga' +vgamem_fill_cga: ; 0xc15c2 LB 0xa8 + push bp ; 55 ; 0xc15c2 vgabios.c:919 + mov bp, sp ; 89 e5 ; 0xc15c3 + push si ; 56 ; 0xc15c5 + push di ; 57 ; 0xc15c6 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc15c7 + mov byte [bp-006h], al ; 88 46 fa ; 0xc15ca + mov al, dl ; 88 d0 ; 0xc15cd + mov byte [bp-008h], bl ; 88 5e f8 ; 0xc15cf + mov bh, cl ; 88 cf ; 0xc15d2 + xor ah, ah ; 30 e4 ; 0xc15d4 vgabios.c:925 + mov dx, ax ; 89 c2 ; 0xc15d6 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc15d8 + mov cx, ax ; 89 c1 ; 0xc15db + mov ax, dx ; 89 d0 ; 0xc15dd + imul cx ; f7 e9 ; 0xc15df + mov dl, bh ; 88 fa ; 0xc15e1 + xor dh, dh ; 30 f6 ; 0xc15e3 + imul dx ; f7 ea ; 0xc15e5 + mov dx, ax ; 89 c2 ; 0xc15e7 + sar dx, 1 ; d1 fa ; 0xc15e9 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc15eb + xor ah, ah ; 30 e4 ; 0xc15ee + add dx, ax ; 01 c2 ; 0xc15f0 + mov word [bp-00ah], dx ; 89 56 f6 ; 0xc15f2 + xor bl, bl ; 30 db ; 0xc15f5 vgabios.c:926 + cmp bl, byte [bp+004h] ; 3a 5e 04 ; 0xc15f7 + jnc short 01661h ; 73 65 ; 0xc15fa + test bl, 001h ; f6 c3 01 ; 0xc15fc vgabios.c:928 + je short 01632h ; 74 31 ; 0xc15ff + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1601 vgabios.c:929 + xor ah, ah ; 30 e4 ; 0xc1604 + mov cx, ax ; 89 c1 ; 0xc1606 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1608 + mov si, ax ; 89 c6 ; 0xc160b + mov al, bl ; 88 d8 ; 0xc160d + mov dx, ax ; 89 c2 ; 0xc160f + sar dx, 1 ; d1 fa ; 0xc1611 + mov al, bh ; 88 f8 ; 0xc1613 + mov di, ax ; 89 c7 ; 0xc1615 + mov ax, dx ; 89 d0 ; 0xc1617 + imul di ; f7 ef ; 0xc1619 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc161b + add di, 02000h ; 81 c7 00 20 ; 0xc161e + add di, ax ; 01 c7 ; 0xc1622 + mov ax, si ; 89 f0 ; 0xc1624 + mov dx, 0b800h ; ba 00 b8 ; 0xc1626 + mov es, dx ; 8e c2 ; 0xc1629 + cld ; fc ; 0xc162b + jcxz 01630h ; e3 02 ; 0xc162c + rep stosb ; f3 aa ; 0xc162e + jmp short 0165dh ; eb 2b ; 0xc1630 vgabios.c:930 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1632 vgabios.c:931 + xor ah, ah ; 30 e4 ; 0xc1635 + mov cx, ax ; 89 c1 ; 0xc1637 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1639 + mov si, ax ; 89 c6 ; 0xc163c + mov al, bl ; 88 d8 ; 0xc163e + mov dx, ax ; 89 c2 ; 0xc1640 + sar dx, 1 ; d1 fa ; 0xc1642 + mov al, bh ; 88 f8 ; 0xc1644 + mov di, ax ; 89 c7 ; 0xc1646 + mov ax, dx ; 89 d0 ; 0xc1648 + imul di ; f7 ef ; 0xc164a + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc164c + add di, ax ; 01 c7 ; 0xc164f + mov ax, si ; 89 f0 ; 0xc1651 + mov dx, 0b800h ; ba 00 b8 ; 0xc1653 + mov es, dx ; 8e c2 ; 0xc1656 + cld ; fc ; 0xc1658 + jcxz 0165dh ; e3 02 ; 0xc1659 + rep stosb ; f3 aa ; 0xc165b + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc165d vgabios.c:932 + jmp short 015f7h ; eb 96 ; 0xc165f + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1661 vgabios.c:933 + pop di ; 5f ; 0xc1664 + pop si ; 5e ; 0xc1665 + pop bp ; 5d ; 0xc1666 + retn 00004h ; c2 04 00 ; 0xc1667 + ; disGetNextSymbol 0xc166a LB 0x27cb -> off=0x0 cb=000000000000055a uValue=00000000000c166a 'biosfn_scroll' +biosfn_scroll: ; 0xc166a LB 0x55a + push bp ; 55 ; 0xc166a vgabios.c:936 + mov bp, sp ; 89 e5 ; 0xc166b + push si ; 56 ; 0xc166d + push di ; 57 ; 0xc166e + sub sp, strict byte 0001ah ; 83 ec 1a ; 0xc166f + mov byte [bp-006h], al ; 88 46 fa ; 0xc1672 + mov byte [bp-010h], dl ; 88 56 f0 ; 0xc1675 + mov byte [bp-00ah], bl ; 88 5e f6 ; 0xc1678 + mov byte [bp-008h], cl ; 88 4e f8 ; 0xc167b + cmp bl, byte [bp+004h] ; 3a 5e 04 ; 0xc167e vgabios.c:945 + jnbe short 0169dh ; 77 1a ; 0xc1681 + cmp cl, byte [bp+006h] ; 3a 4e 06 ; 0xc1683 vgabios.c:946 + jnbe short 0169dh ; 77 15 ; 0xc1686 + mov dx, strict word 00049h ; ba 49 00 ; 0xc1688 vgabios.c:949 + mov ax, strict word 00040h ; b8 40 00 ; 0xc168b + call 03188h ; e8 f7 1a ; 0xc168e + xor ah, ah ; 30 e4 ; 0xc1691 vgabios.c:950 + call 03160h ; e8 ca 1a ; 0xc1693 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc1696 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc1699 vgabios.c:951 + jne short 016a0h ; 75 03 ; 0xc169b + jmp near 01bbbh ; e9 1b 05 ; 0xc169d + mov dx, 00084h ; ba 84 00 ; 0xc16a0 vgabios.c:954 + mov ax, strict word 00040h ; b8 40 00 ; 0xc16a3 + call 03188h ; e8 df 1a ; 0xc16a6 + xor ah, ah ; 30 e4 ; 0xc16a9 + mov cx, ax ; 89 c1 ; 0xc16ab + inc cx ; 41 ; 0xc16ad + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc16ae vgabios.c:955 + mov ax, strict word 00040h ; b8 40 00 ; 0xc16b1 + call 031a4h ; e8 ed 1a ; 0xc16b4 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc16b7 + cmp byte [bp+008h], 0ffh ; 80 7e 08 ff ; 0xc16ba vgabios.c:958 + jne short 016cch ; 75 0c ; 0xc16be + mov dx, strict word 00062h ; ba 62 00 ; 0xc16c0 vgabios.c:959 + mov ax, strict word 00040h ; b8 40 00 ; 0xc16c3 + call 03188h ; e8 bf 1a ; 0xc16c6 + mov byte [bp+008h], al ; 88 46 08 ; 0xc16c9 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc16cc vgabios.c:961 + xor ah, ah ; 30 e4 ; 0xc16cf + cmp ax, cx ; 39 c8 ; 0xc16d1 + jc short 016dch ; 72 07 ; 0xc16d3 + mov al, cl ; 88 c8 ; 0xc16d5 + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc16d7 + mov byte [bp+004h], al ; 88 46 04 ; 0xc16d9 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc16dc vgabios.c:962 + xor ah, ah ; 30 e4 ; 0xc16df + cmp ax, word [bp-018h] ; 3b 46 e8 ; 0xc16e1 + jc short 016eeh ; 72 08 ; 0xc16e4 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc16e6 + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc16e9 + mov byte [bp+006h], al ; 88 46 06 ; 0xc16eb + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc16ee vgabios.c:963 + xor ah, ah ; 30 e4 ; 0xc16f1 + cmp ax, cx ; 39 c8 ; 0xc16f3 + jbe short 016fah ; 76 03 ; 0xc16f5 + mov byte [bp-006h], ah ; 88 66 fa ; 0xc16f7 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc16fa vgabios.c:964 + sub al, byte [bp-008h] ; 2a 46 f8 ; 0xc16fd + db 0feh, 0c0h + ; inc al ; fe c0 ; 0xc1700 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc1702 + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc1705 vgabios.c:966 + xor bh, bh ; 30 ff ; 0xc1708 + mov di, bx ; 89 df ; 0xc170a + sal di, 003h ; c1 e7 03 ; 0xc170c + mov ax, word [bp-018h] ; 8b 46 e8 ; 0xc170f + dec ax ; 48 ; 0xc1712 + mov word [bp-01ah], ax ; 89 46 e6 ; 0xc1713 + mov ax, cx ; 89 c8 ; 0xc1716 + dec ax ; 48 ; 0xc1718 + mov word [bp-01ch], ax ; 89 46 e4 ; 0xc1719 + mov ax, word [bp-018h] ; 8b 46 e8 ; 0xc171c + mul cx ; f7 e1 ; 0xc171f + mov si, ax ; 89 c6 ; 0xc1721 + cmp byte [di+0462fh], 000h ; 80 bd 2f 46 00 ; 0xc1723 + jne short 0177bh ; 75 51 ; 0xc1728 + add ax, ax ; 01 c0 ; 0xc172a vgabios.c:969 + or AL, strict byte 0ffh ; 0c ff ; 0xc172c + mov dx, ax ; 89 c2 ; 0xc172e + mov al, byte [bp+008h] ; 8a 46 08 ; 0xc1730 + xor ah, ah ; 30 e4 ; 0xc1733 + mov bx, ax ; 89 c3 ; 0xc1735 + mov ax, dx ; 89 d0 ; 0xc1737 + inc ax ; 40 ; 0xc1739 + mul bx ; f7 e3 ; 0xc173a + mov bx, ax ; 89 c3 ; 0xc173c + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc173e vgabios.c:974 + jne short 0177eh ; 75 3a ; 0xc1742 + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc1744 + jne short 0177eh ; 75 34 ; 0xc1748 + cmp byte [bp-008h], 000h ; 80 7e f8 00 ; 0xc174a + jne short 0177eh ; 75 2e ; 0xc174e + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1750 + xor ah, ah ; 30 e4 ; 0xc1753 + cmp ax, word [bp-01ch] ; 3b 46 e4 ; 0xc1755 + jne short 0177eh ; 75 24 ; 0xc1758 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc175a + cmp ax, word [bp-01ah] ; 3b 46 e6 ; 0xc175d + jne short 0177eh ; 75 1c ; 0xc1760 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc1762 vgabios.c:976 + sal ax, 008h ; c1 e0 08 ; 0xc1765 + add ax, strict word 00020h ; 05 20 00 ; 0xc1768 + mov es, [di+04632h] ; 8e 85 32 46 ; 0xc176b + mov cx, si ; 89 f1 ; 0xc176f + mov di, bx ; 89 df ; 0xc1771 + cld ; fc ; 0xc1773 + jcxz 01778h ; e3 02 ; 0xc1774 + rep stosw ; f3 ab ; 0xc1776 + jmp near 01bbbh ; e9 40 04 ; 0xc1778 vgabios.c:978 + jmp near 018f9h ; e9 7b 01 ; 0xc177b + cmp byte [bp+00ah], 001h ; 80 7e 0a 01 ; 0xc177e vgabios.c:980 + jne short 017e8h ; 75 64 ; 0xc1782 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1784 vgabios.c:981 + xor ah, ah ; 30 e4 ; 0xc1787 + mov word [bp-016h], ax ; 89 46 ea ; 0xc1789 + mov dl, byte [bp+004h] ; 8a 56 04 ; 0xc178c + xor dh, dh ; 30 f6 ; 0xc178f + cmp dx, word [bp-016h] ; 3b 56 ea ; 0xc1791 + jc short 017eah ; 72 54 ; 0xc1794 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1796 vgabios.c:983 + xor ah, ah ; 30 e4 ; 0xc1799 + add ax, word [bp-016h] ; 03 46 ea ; 0xc179b + cmp ax, dx ; 39 d0 ; 0xc179e + jnbe short 017a8h ; 77 06 ; 0xc17a0 + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc17a2 + jne short 017edh ; 75 45 ; 0xc17a6 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc17a8 vgabios.c:984 + xor ah, ah ; 30 e4 ; 0xc17ab + mov cx, ax ; 89 c1 ; 0xc17ad + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc17af + sal ax, 008h ; c1 e0 08 ; 0xc17b2 + add ax, strict word 00020h ; 05 20 00 ; 0xc17b5 + mov word [bp-01eh], ax ; 89 46 e2 ; 0xc17b8 + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc17bb + mul word [bp-018h] ; f7 66 e8 ; 0xc17be + mov dx, ax ; 89 c2 ; 0xc17c1 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc17c3 + xor ah, ah ; 30 e4 ; 0xc17c6 + add ax, dx ; 01 d0 ; 0xc17c8 + add ax, ax ; 01 c0 ; 0xc17ca + mov di, bx ; 89 df ; 0xc17cc + add di, ax ; 01 c7 ; 0xc17ce + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc17d0 + xor ah, ah ; 30 e4 ; 0xc17d3 + mov si, ax ; 89 c6 ; 0xc17d5 + sal si, 003h ; c1 e6 03 ; 0xc17d7 + mov es, [si+04632h] ; 8e 84 32 46 ; 0xc17da + mov ax, word [bp-01eh] ; 8b 46 e2 ; 0xc17de + cld ; fc ; 0xc17e1 + jcxz 017e6h ; e3 02 ; 0xc17e2 + rep stosw ; f3 ab ; 0xc17e4 + jmp short 01831h ; eb 49 ; 0xc17e6 vgabios.c:985 + jmp short 01837h ; eb 4d ; 0xc17e8 + jmp near 01bbbh ; e9 ce 03 ; 0xc17ea + mov dl, byte [bp-00eh] ; 8a 56 f2 ; 0xc17ed vgabios.c:986 + mov cx, dx ; 89 d1 ; 0xc17f0 + mul word [bp-018h] ; f7 66 e8 ; 0xc17f2 + mov dx, ax ; 89 c2 ; 0xc17f5 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc17f7 + xor ah, ah ; 30 e4 ; 0xc17fa + mov di, ax ; 89 c7 ; 0xc17fc + add dx, ax ; 01 c2 ; 0xc17fe + add dx, dx ; 01 d2 ; 0xc1800 + mov word [bp-014h], dx ; 89 56 ec ; 0xc1802 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1805 + mov si, ax ; 89 c6 ; 0xc1808 + sal si, 003h ; c1 e6 03 ; 0xc180a + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc180d + mov word [bp-01eh], ax ; 89 46 e2 ; 0xc1811 + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc1814 + mul word [bp-018h] ; f7 66 e8 ; 0xc1817 + add di, ax ; 01 c7 ; 0xc181a + add di, di ; 01 ff ; 0xc181c + add di, bx ; 01 df ; 0xc181e + mov si, word [bp-014h] ; 8b 76 ec ; 0xc1820 + mov dx, word [bp-01eh] ; 8b 56 e2 ; 0xc1823 + mov es, dx ; 8e c2 ; 0xc1826 + cld ; fc ; 0xc1828 + jcxz 01831h ; e3 06 ; 0xc1829 + push DS ; 1e ; 0xc182b + mov ds, dx ; 8e da ; 0xc182c + rep movsw ; f3 a5 ; 0xc182e + pop DS ; 1f ; 0xc1830 + inc word [bp-016h] ; ff 46 ea ; 0xc1831 vgabios.c:987 + jmp near 0178ch ; e9 55 ff ; 0xc1834 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1837 vgabios.c:990 + xor ah, ah ; 30 e4 ; 0xc183a + mov word [bp-016h], ax ; 89 46 ea ; 0xc183c + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc183f + xor ah, ah ; 30 e4 ; 0xc1842 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1844 + jnbe short 017eah ; 77 a1 ; 0xc1847 + mov dx, ax ; 89 c2 ; 0xc1849 vgabios.c:992 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc184b + add dx, ax ; 01 c2 ; 0xc184e + cmp dx, word [bp-016h] ; 3b 56 ea ; 0xc1850 + jnbe short 01859h ; 77 04 ; 0xc1853 + test al, al ; 84 c0 ; 0xc1855 + jne short 01897h ; 75 3e ; 0xc1857 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1859 vgabios.c:993 + xor ah, ah ; 30 e4 ; 0xc185c + mov cx, ax ; 89 c1 ; 0xc185e + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc1860 + sal ax, 008h ; c1 e0 08 ; 0xc1863 + add ax, strict word 00020h ; 05 20 00 ; 0xc1866 + mov word [bp-01eh], ax ; 89 46 e2 ; 0xc1869 + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc186c + mul word [bp-018h] ; f7 66 e8 ; 0xc186f + mov dx, ax ; 89 c2 ; 0xc1872 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1874 + xor ah, ah ; 30 e4 ; 0xc1877 + add dx, ax ; 01 c2 ; 0xc1879 + add dx, dx ; 01 d2 ; 0xc187b + mov di, bx ; 89 df ; 0xc187d + add di, dx ; 01 d7 ; 0xc187f + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1881 + mov si, ax ; 89 c6 ; 0xc1884 + sal si, 003h ; c1 e6 03 ; 0xc1886 + mov es, [si+04632h] ; 8e 84 32 46 ; 0xc1889 + mov ax, word [bp-01eh] ; 8b 46 e2 ; 0xc188d + cld ; fc ; 0xc1890 + jcxz 01895h ; e3 02 ; 0xc1891 + rep stosw ; f3 ab ; 0xc1893 + jmp short 018e9h ; eb 52 ; 0xc1895 vgabios.c:994 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1897 vgabios.c:995 + mov di, ax ; 89 c7 ; 0xc189a + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc189c + mov dx, word [bp-016h] ; 8b 56 ea ; 0xc189f + sub dx, ax ; 29 c2 ; 0xc18a2 + mov ax, dx ; 89 d0 ; 0xc18a4 + mul word [bp-018h] ; f7 66 e8 ; 0xc18a6 + mov dx, ax ; 89 c2 ; 0xc18a9 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc18ab + xor ah, ah ; 30 e4 ; 0xc18ae + mov cx, ax ; 89 c1 ; 0xc18b0 + add dx, ax ; 01 c2 ; 0xc18b2 + add dx, dx ; 01 d2 ; 0xc18b4 + mov word [bp-01eh], dx ; 89 56 e2 ; 0xc18b6 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc18b9 + mov si, ax ; 89 c6 ; 0xc18bc + sal si, 003h ; c1 e6 03 ; 0xc18be + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc18c1 + mov word [bp-014h], ax ; 89 46 ec ; 0xc18c5 + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc18c8 + mul word [bp-018h] ; f7 66 e8 ; 0xc18cb + add ax, cx ; 01 c8 ; 0xc18ce + add ax, ax ; 01 c0 ; 0xc18d0 + add ax, bx ; 01 d8 ; 0xc18d2 + mov cx, di ; 89 f9 ; 0xc18d4 + mov si, word [bp-01eh] ; 8b 76 e2 ; 0xc18d6 + mov dx, word [bp-014h] ; 8b 56 ec ; 0xc18d9 + mov di, ax ; 89 c7 ; 0xc18dc + mov es, dx ; 8e c2 ; 0xc18de + cld ; fc ; 0xc18e0 + jcxz 018e9h ; e3 06 ; 0xc18e1 + push DS ; 1e ; 0xc18e3 + mov ds, dx ; 8e da ; 0xc18e4 + rep movsw ; f3 a5 ; 0xc18e6 + pop DS ; 1f ; 0xc18e8 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc18e9 vgabios.c:996 + xor ah, ah ; 30 e4 ; 0xc18ec + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc18ee + jc short 0191eh ; 72 2b ; 0xc18f1 + dec word [bp-016h] ; ff 4e ea ; 0xc18f3 vgabios.c:997 + jmp near 0183fh ; e9 46 ff ; 0xc18f6 + mov al, byte [bx+046aeh] ; 8a 87 ae 46 ; 0xc18f9 vgabios.c:1004 + xor ah, ah ; 30 e4 ; 0xc18fd + mov bx, ax ; 89 c3 ; 0xc18ff + sal bx, 006h ; c1 e3 06 ; 0xc1901 + mov al, byte [bx+046c4h] ; 8a 87 c4 46 ; 0xc1904 + mov byte [bp-012h], al ; 88 46 ee ; 0xc1908 + mov bl, byte [di+04630h] ; 8a 9d 30 46 ; 0xc190b vgabios.c:1005 + cmp bl, 004h ; 80 fb 04 ; 0xc190f + je short 01921h ; 74 0d ; 0xc1912 + cmp bl, 003h ; 80 fb 03 ; 0xc1914 + je short 01921h ; 74 08 ; 0xc1917 + cmp bl, 002h ; 80 fb 02 ; 0xc1919 + je short 01950h ; 74 32 ; 0xc191c + jmp near 01bbbh ; e9 9a 02 ; 0xc191e + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc1921 vgabios.c:1009 + jne short 0198bh ; 75 64 ; 0xc1925 + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc1927 + jne short 0198bh ; 75 5e ; 0xc192b + cmp byte [bp-008h], 000h ; 80 7e f8 00 ; 0xc192d + jne short 0198bh ; 75 58 ; 0xc1931 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1933 + xor ah, ah ; 30 e4 ; 0xc1936 + mov dx, ax ; 89 c2 ; 0xc1938 + mov ax, cx ; 89 c8 ; 0xc193a + dec ax ; 48 ; 0xc193c + cmp dx, ax ; 39 c2 ; 0xc193d + jne short 0198bh ; 75 4a ; 0xc193f + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1941 + xor ah, ah ; 30 e4 ; 0xc1944 + mov dx, word [bp-018h] ; 8b 56 e8 ; 0xc1946 + dec dx ; 4a ; 0xc1949 + cmp ax, dx ; 39 d0 ; 0xc194a + je short 01953h ; 74 05 ; 0xc194c + jmp short 0198bh ; eb 3b ; 0xc194e + jmp near 01a80h ; e9 2d 01 ; 0xc1950 + mov ax, 00205h ; b8 05 02 ; 0xc1953 vgabios.c:1011 + mov dx, 003ceh ; ba ce 03 ; 0xc1956 + out DX, ax ; ef ; 0xc1959 + mov ax, cx ; 89 c8 ; 0xc195a vgabios.c:1012 + mul word [bp-018h] ; f7 66 e8 ; 0xc195c + mov bl, byte [bp-012h] ; 8a 5e ee ; 0xc195f + xor bh, bh ; 30 ff ; 0xc1962 + mul bx ; f7 e3 ; 0xc1964 + mov cx, ax ; 89 c1 ; 0xc1966 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc1968 + xor ah, ah ; 30 e4 ; 0xc196b + mov dl, byte [bp-00ch] ; 8a 56 f4 ; 0xc196d + xor dh, dh ; 30 f6 ; 0xc1970 + mov bx, dx ; 89 d3 ; 0xc1972 + sal bx, 003h ; c1 e3 03 ; 0xc1974 + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc1977 + xor di, di ; 31 ff ; 0xc197b + cld ; fc ; 0xc197d + jcxz 01982h ; e3 02 ; 0xc197e + rep stosb ; f3 aa ; 0xc1980 + mov ax, strict word 00005h ; b8 05 00 ; 0xc1982 vgabios.c:1013 + mov dx, 003ceh ; ba ce 03 ; 0xc1985 + out DX, ax ; ef ; 0xc1988 + jmp short 0191eh ; eb 93 ; 0xc1989 vgabios.c:1015 + cmp byte [bp+00ah], 001h ; 80 7e 0a 01 ; 0xc198b vgabios.c:1017 + jne short 019e1h ; 75 50 ; 0xc198f + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1991 vgabios.c:1018 + xor ah, ah ; 30 e4 ; 0xc1994 + mov word [bp-016h], ax ; 89 46 ea ; 0xc1996 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1999 + xor ah, ah ; 30 e4 ; 0xc199c + mov dx, ax ; 89 c2 ; 0xc199e + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc19a0 + jc short 01a07h ; 72 62 ; 0xc19a3 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc19a5 vgabios.c:1020 + add ax, word [bp-016h] ; 03 46 ea ; 0xc19a8 + cmp ax, dx ; 39 d0 ; 0xc19ab + jnbe short 019b5h ; 77 06 ; 0xc19ad + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc19af + jne short 019e3h ; 75 2e ; 0xc19b3 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc19b5 vgabios.c:1021 + xor ah, ah ; 30 e4 ; 0xc19b8 + push ax ; 50 ; 0xc19ba + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc19bb + push ax ; 50 ; 0xc19be + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc19bf + mov cx, ax ; 89 c1 ; 0xc19c2 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc19c4 + mov bx, ax ; 89 c3 ; 0xc19c7 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc19c9 + mov dl, byte [bp-008h] ; 8a 56 f8 ; 0xc19cc + mov byte [bp-014h], dl ; 88 56 ec ; 0xc19cf + mov byte [bp-013h], ah ; 88 66 ed ; 0xc19d2 + mov si, word [bp-014h] ; 8b 76 ec ; 0xc19d5 + mov dx, ax ; 89 c2 ; 0xc19d8 + mov ax, si ; 89 f0 ; 0xc19da + call 01484h ; e8 a5 fa ; 0xc19dc + jmp short 01a02h ; eb 21 ; 0xc19df vgabios.c:1022 + jmp short 01a0ah ; eb 27 ; 0xc19e1 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc19e3 vgabios.c:1023 + xor ah, ah ; 30 e4 ; 0xc19e6 + push ax ; 50 ; 0xc19e8 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc19e9 + push ax ; 50 ; 0xc19ec + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc19ed + mov cx, ax ; 89 c1 ; 0xc19f0 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc19f2 + mov bx, ax ; 89 c3 ; 0xc19f5 + add al, byte [bp-006h] ; 02 46 fa ; 0xc19f7 + mov dx, ax ; 89 c2 ; 0xc19fa + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc19fc + call 013f5h ; e8 f3 f9 ; 0xc19ff + inc word [bp-016h] ; ff 46 ea ; 0xc1a02 vgabios.c:1024 + jmp short 01999h ; eb 92 ; 0xc1a05 + jmp near 01bbbh ; e9 b1 01 ; 0xc1a07 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1a0a vgabios.c:1027 + xor ah, ah ; 30 e4 ; 0xc1a0d + mov word [bp-016h], ax ; 89 46 ea ; 0xc1a0f + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1a12 + xor ah, ah ; 30 e4 ; 0xc1a15 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1a17 + jnbe short 01a07h ; 77 eb ; 0xc1a1a + mov dx, ax ; 89 c2 ; 0xc1a1c vgabios.c:1029 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1a1e + add ax, dx ; 01 d0 ; 0xc1a21 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1a23 + jnbe short 01a2eh ; 77 06 ; 0xc1a26 + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc1a28 + jne short 01a4fh ; 75 21 ; 0xc1a2c + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc1a2e vgabios.c:1030 + xor ah, ah ; 30 e4 ; 0xc1a31 + push ax ; 50 ; 0xc1a33 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1a34 + push ax ; 50 ; 0xc1a37 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1a38 + mov cx, ax ; 89 c1 ; 0xc1a3b + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1a3d + mov bx, ax ; 89 c3 ; 0xc1a40 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1a42 + mov dx, ax ; 89 c2 ; 0xc1a45 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1a47 + call 01484h ; e8 37 fa ; 0xc1a4a + jmp short 01a71h ; eb 22 ; 0xc1a4d vgabios.c:1031 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1a4f vgabios.c:1032 + xor ah, ah ; 30 e4 ; 0xc1a52 + push ax ; 50 ; 0xc1a54 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1a55 + push ax ; 50 ; 0xc1a58 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1a59 + mov cx, ax ; 89 c1 ; 0xc1a5c + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1a5e + sub al, byte [bp-006h] ; 2a 46 fa ; 0xc1a61 + mov bx, ax ; 89 c3 ; 0xc1a64 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1a66 + mov dx, ax ; 89 c2 ; 0xc1a69 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1a6b + call 013f5h ; e8 84 f9 ; 0xc1a6e + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1a71 vgabios.c:1033 + xor ah, ah ; 30 e4 ; 0xc1a74 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1a76 + jc short 01ac5h ; 72 4a ; 0xc1a79 + dec word [bp-016h] ; ff 4e ea ; 0xc1a7b vgabios.c:1034 + jmp short 01a12h ; eb 92 ; 0xc1a7e + mov bl, byte [di+04631h] ; 8a 9d 31 46 ; 0xc1a80 vgabios.c:1039 + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc1a84 vgabios.c:1040 + jne short 01ac8h ; 75 3e ; 0xc1a88 + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc1a8a + jne short 01ac8h ; 75 38 ; 0xc1a8e + cmp byte [bp-008h], 000h ; 80 7e f8 00 ; 0xc1a90 + jne short 01ac8h ; 75 32 ; 0xc1a94 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1a96 + cmp ax, word [bp-01ch] ; 3b 46 e4 ; 0xc1a99 + jne short 01ac8h ; 75 2a ; 0xc1a9c + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1a9e + cmp ax, word [bp-01ah] ; 3b 46 e6 ; 0xc1aa1 + jne short 01ac8h ; 75 22 ; 0xc1aa4 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1aa6 vgabios.c:1042 + mov dx, ax ; 89 c2 ; 0xc1aa9 + mov ax, si ; 89 f0 ; 0xc1aab + mul dx ; f7 e2 ; 0xc1aad + xor bh, bh ; 30 ff ; 0xc1aaf + mul bx ; f7 e3 ; 0xc1ab1 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc1ab3 + mov es, [di+04632h] ; 8e 85 32 46 ; 0xc1ab6 + mov cx, ax ; 89 c1 ; 0xc1aba + mov ax, bx ; 89 d8 ; 0xc1abc + xor di, di ; 31 ff ; 0xc1abe + cld ; fc ; 0xc1ac0 + jcxz 01ac5h ; e3 02 ; 0xc1ac1 + rep stosb ; f3 aa ; 0xc1ac3 + jmp near 01bbbh ; e9 f3 00 ; 0xc1ac5 vgabios.c:1044 + cmp bl, 002h ; 80 fb 02 ; 0xc1ac8 vgabios.c:1046 + jne short 01ad6h ; 75 09 ; 0xc1acb + sal byte [bp-008h], 1 ; d0 66 f8 ; 0xc1acd vgabios.c:1048 + sal byte [bp-00eh], 1 ; d0 66 f2 ; 0xc1ad0 vgabios.c:1049 + sal word [bp-018h], 1 ; d1 66 e8 ; 0xc1ad3 vgabios.c:1050 + cmp byte [bp+00ah], 001h ; 80 7e 0a 01 ; 0xc1ad6 vgabios.c:1053 + jne short 01b45h ; 75 69 ; 0xc1ada + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1adc vgabios.c:1054 + xor ah, ah ; 30 e4 ; 0xc1adf + mov word [bp-016h], ax ; 89 46 ea ; 0xc1ae1 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1ae4 + xor ah, ah ; 30 e4 ; 0xc1ae7 + mov dx, ax ; 89 c2 ; 0xc1ae9 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1aeb + jc short 01ac5h ; 72 d5 ; 0xc1aee + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1af0 vgabios.c:1056 + add ax, word [bp-016h] ; 03 46 ea ; 0xc1af3 + cmp ax, dx ; 39 d0 ; 0xc1af6 + jnbe short 01b00h ; 77 06 ; 0xc1af8 + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc1afa + jne short 01b21h ; 75 21 ; 0xc1afe + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc1b00 vgabios.c:1057 + xor ah, ah ; 30 e4 ; 0xc1b03 + push ax ; 50 ; 0xc1b05 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1b06 + push ax ; 50 ; 0xc1b09 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1b0a + mov cx, ax ; 89 c1 ; 0xc1b0d + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1b0f + mov bx, ax ; 89 c3 ; 0xc1b12 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1b14 + mov dx, ax ; 89 c2 ; 0xc1b17 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1b19 + call 015c2h ; e8 a3 fa ; 0xc1b1c + jmp short 01b40h ; eb 1f ; 0xc1b1f vgabios.c:1058 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1b21 vgabios.c:1059 + xor ah, ah ; 30 e4 ; 0xc1b24 + push ax ; 50 ; 0xc1b26 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1b27 + push ax ; 50 ; 0xc1b2a + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1b2b + mov cx, ax ; 89 c1 ; 0xc1b2e + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1b30 + mov bx, ax ; 89 c3 ; 0xc1b33 + add al, byte [bp-006h] ; 02 46 fa ; 0xc1b35 + mov dx, ax ; 89 c2 ; 0xc1b38 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1b3a + call 01500h ; e8 c0 f9 ; 0xc1b3d + inc word [bp-016h] ; ff 46 ea ; 0xc1b40 vgabios.c:1060 + jmp short 01ae4h ; eb 9f ; 0xc1b43 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1b45 vgabios.c:1063 + xor ah, ah ; 30 e4 ; 0xc1b48 + mov word [bp-016h], ax ; 89 46 ea ; 0xc1b4a + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1b4d + xor ah, ah ; 30 e4 ; 0xc1b50 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1b52 + jnbe short 01bbbh ; 77 64 ; 0xc1b55 + mov dx, ax ; 89 c2 ; 0xc1b57 vgabios.c:1065 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1b59 + add ax, dx ; 01 d0 ; 0xc1b5c + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1b5e + jnbe short 01b69h ; 77 06 ; 0xc1b61 + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc1b63 + jne short 01b8ah ; 75 21 ; 0xc1b67 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc1b69 vgabios.c:1066 + xor ah, ah ; 30 e4 ; 0xc1b6c + push ax ; 50 ; 0xc1b6e + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1b6f + push ax ; 50 ; 0xc1b72 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1b73 + mov cx, ax ; 89 c1 ; 0xc1b76 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1b78 + mov bx, ax ; 89 c3 ; 0xc1b7b + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1b7d + mov dx, ax ; 89 c2 ; 0xc1b80 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1b82 + call 015c2h ; e8 3a fa ; 0xc1b85 + jmp short 01bach ; eb 22 ; 0xc1b88 vgabios.c:1067 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1b8a vgabios.c:1068 + xor ah, ah ; 30 e4 ; 0xc1b8d + push ax ; 50 ; 0xc1b8f + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1b90 + push ax ; 50 ; 0xc1b93 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1b94 + mov cx, ax ; 89 c1 ; 0xc1b97 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1b99 + sub al, byte [bp-006h] ; 2a 46 fa ; 0xc1b9c + mov bx, ax ; 89 c3 ; 0xc1b9f + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1ba1 + mov dx, ax ; 89 c2 ; 0xc1ba4 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1ba6 + call 01500h ; e8 54 f9 ; 0xc1ba9 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1bac vgabios.c:1069 + xor ah, ah ; 30 e4 ; 0xc1baf + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1bb1 + jc short 01bbbh ; 72 05 ; 0xc1bb4 + dec word [bp-016h] ; ff 4e ea ; 0xc1bb6 vgabios.c:1070 + jmp short 01b4dh ; eb 92 ; 0xc1bb9 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1bbb vgabios.c:1081 + pop di ; 5f ; 0xc1bbe + pop si ; 5e ; 0xc1bbf + pop bp ; 5d ; 0xc1bc0 + retn 00008h ; c2 08 00 ; 0xc1bc1 + ; disGetNextSymbol 0xc1bc4 LB 0x2271 -> off=0x0 cb=00000000000000fb uValue=00000000000c1bc4 'write_gfx_char_pl4' +write_gfx_char_pl4: ; 0xc1bc4 LB 0xfb + push bp ; 55 ; 0xc1bc4 vgabios.c:1084 + mov bp, sp ; 89 e5 ; 0xc1bc5 + push si ; 56 ; 0xc1bc7 + push di ; 57 ; 0xc1bc8 + sub sp, strict byte 0000eh ; 83 ec 0e ; 0xc1bc9 + mov byte [bp-006h], al ; 88 46 fa ; 0xc1bcc + mov byte [bp-008h], dl ; 88 56 f8 ; 0xc1bcf + mov byte [bp-00ah], bl ; 88 5e f6 ; 0xc1bd2 + mov al, cl ; 88 c8 ; 0xc1bd5 + cmp byte [bp+006h], 010h ; 80 7e 06 10 ; 0xc1bd7 vgabios.c:1091 + je short 01be8h ; 74 0b ; 0xc1bdb + cmp byte [bp+006h], 00eh ; 80 7e 06 0e ; 0xc1bdd + jne short 01bedh ; 75 0a ; 0xc1be1 + mov di, 05bech ; bf ec 5b ; 0xc1be3 vgabios.c:1093 + jmp short 01bf0h ; eb 08 ; 0xc1be6 vgabios.c:1094 + mov di, 069ech ; bf ec 69 ; 0xc1be8 vgabios.c:1096 + jmp short 01bf0h ; eb 03 ; 0xc1beb vgabios.c:1097 + mov di, 053ech ; bf ec 53 ; 0xc1bed vgabios.c:1099 + xor ah, ah ; 30 e4 ; 0xc1bf0 vgabios.c:1101 + mov bx, ax ; 89 c3 ; 0xc1bf2 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1bf4 + mov si, ax ; 89 c6 ; 0xc1bf7 + mov ax, bx ; 89 d8 ; 0xc1bf9 + imul si ; f7 ee ; 0xc1bfb + mov bl, byte [bp+004h] ; 8a 5e 04 ; 0xc1bfd + imul bx ; f7 eb ; 0xc1c00 + mov bx, ax ; 89 c3 ; 0xc1c02 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1c04 + xor ah, ah ; 30 e4 ; 0xc1c07 + add ax, bx ; 01 d8 ; 0xc1c09 + mov word [bp-010h], ax ; 89 46 f0 ; 0xc1c0b + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1c0e vgabios.c:1102 + xor ah, ah ; 30 e4 ; 0xc1c11 + imul si ; f7 ee ; 0xc1c13 + mov word [bp-00eh], ax ; 89 46 f2 ; 0xc1c15 + mov ax, 00f02h ; b8 02 0f ; 0xc1c18 vgabios.c:1103 + mov dx, 003c4h ; ba c4 03 ; 0xc1c1b + out DX, ax ; ef ; 0xc1c1e + mov ax, 00205h ; b8 05 02 ; 0xc1c1f vgabios.c:1104 + mov dx, 003ceh ; ba ce 03 ; 0xc1c22 + out DX, ax ; ef ; 0xc1c25 + test byte [bp-008h], 080h ; f6 46 f8 80 ; 0xc1c26 vgabios.c:1105 + je short 01c32h ; 74 06 ; 0xc1c2a + mov ax, 01803h ; b8 03 18 ; 0xc1c2c vgabios.c:1107 + out DX, ax ; ef ; 0xc1c2f + jmp short 01c36h ; eb 04 ; 0xc1c30 vgabios.c:1109 + mov ax, strict word 00003h ; b8 03 00 ; 0xc1c32 vgabios.c:1111 + out DX, ax ; ef ; 0xc1c35 + xor ch, ch ; 30 ed ; 0xc1c36 vgabios.c:1113 + cmp ch, byte [bp+006h] ; 3a 6e 06 ; 0xc1c38 + jnc short 01ca7h ; 73 6a ; 0xc1c3b + mov al, ch ; 88 e8 ; 0xc1c3d vgabios.c:1115 + xor ah, ah ; 30 e4 ; 0xc1c3f + mov bx, ax ; 89 c3 ; 0xc1c41 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1c43 + mov si, ax ; 89 c6 ; 0xc1c46 + mov ax, bx ; 89 d8 ; 0xc1c48 + imul si ; f7 ee ; 0xc1c4a + mov si, word [bp-010h] ; 8b 76 f0 ; 0xc1c4c + add si, ax ; 01 c6 ; 0xc1c4f + mov byte [bp-00ch], bh ; 88 7e f4 ; 0xc1c51 vgabios.c:1116 + jmp short 01c69h ; eb 13 ; 0xc1c54 + xor bx, bx ; 31 db ; 0xc1c56 vgabios.c:1127 + mov dx, si ; 89 f2 ; 0xc1c58 + mov ax, 0a000h ; b8 00 a0 ; 0xc1c5a + call 03196h ; e8 36 15 ; 0xc1c5d + inc byte [bp-00ch] ; fe 46 f4 ; 0xc1c60 vgabios.c:1129 + cmp byte [bp-00ch], 008h ; 80 7e f4 08 ; 0xc1c63 + jnc short 01ca3h ; 73 3a ; 0xc1c67 + mov cl, byte [bp-00ch] ; 8a 4e f4 ; 0xc1c69 + mov ax, 00080h ; b8 80 00 ; 0xc1c6c + sar ax, CL ; d3 f8 ; 0xc1c6f + xor ah, ah ; 30 e4 ; 0xc1c71 + mov word [bp-012h], ax ; 89 46 ee ; 0xc1c73 + sal ax, 008h ; c1 e0 08 ; 0xc1c76 + or AL, strict byte 008h ; 0c 08 ; 0xc1c79 + mov dx, 003ceh ; ba ce 03 ; 0xc1c7b + out DX, ax ; ef ; 0xc1c7e + mov dx, si ; 89 f2 ; 0xc1c7f + mov ax, 0a000h ; b8 00 a0 ; 0xc1c81 + call 03188h ; e8 01 15 ; 0xc1c84 + mov al, ch ; 88 e8 ; 0xc1c87 + xor ah, ah ; 30 e4 ; 0xc1c89 + mov bx, word [bp-00eh] ; 8b 5e f2 ; 0xc1c8b + add bx, ax ; 01 c3 ; 0xc1c8e + add bx, di ; 01 fb ; 0xc1c90 + mov al, byte [bx] ; 8a 07 ; 0xc1c92 + test word [bp-012h], ax ; 85 46 ee ; 0xc1c94 + je short 01c56h ; 74 bd ; 0xc1c97 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc1c99 + and bl, 00fh ; 80 e3 0f ; 0xc1c9c + xor bh, bh ; 30 ff ; 0xc1c9f + jmp short 01c58h ; eb b5 ; 0xc1ca1 + db 0feh, 0c5h + ; inc ch ; fe c5 ; 0xc1ca3 vgabios.c:1130 + jmp short 01c38h ; eb 91 ; 0xc1ca5 + mov ax, 0ff08h ; b8 08 ff ; 0xc1ca7 vgabios.c:1131 + mov dx, 003ceh ; ba ce 03 ; 0xc1caa + out DX, ax ; ef ; 0xc1cad + mov ax, strict word 00005h ; b8 05 00 ; 0xc1cae vgabios.c:1132 + out DX, ax ; ef ; 0xc1cb1 + mov ax, strict word 00003h ; b8 03 00 ; 0xc1cb2 vgabios.c:1133 + out DX, ax ; ef ; 0xc1cb5 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1cb6 vgabios.c:1134 + pop di ; 5f ; 0xc1cb9 + pop si ; 5e ; 0xc1cba + pop bp ; 5d ; 0xc1cbb + retn 00004h ; c2 04 00 ; 0xc1cbc + ; disGetNextSymbol 0xc1cbf LB 0x2176 -> off=0x0 cb=0000000000000138 uValue=00000000000c1cbf 'write_gfx_char_cga' +write_gfx_char_cga: ; 0xc1cbf LB 0x138 + push bp ; 55 ; 0xc1cbf vgabios.c:1137 + mov bp, sp ; 89 e5 ; 0xc1cc0 + push si ; 56 ; 0xc1cc2 + push di ; 57 ; 0xc1cc3 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc1cc4 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc1cc7 + mov byte [bp-008h], dl ; 88 56 f8 ; 0xc1cca + mov al, bl ; 88 d8 ; 0xc1ccd + mov si, 053ech ; be ec 53 ; 0xc1ccf vgabios.c:1144 + xor ah, ah ; 30 e4 ; 0xc1cd2 vgabios.c:1145 + mov bx, ax ; 89 c3 ; 0xc1cd4 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1cd6 + mov dx, ax ; 89 c2 ; 0xc1cd9 + mov ax, bx ; 89 d8 ; 0xc1cdb + imul dx ; f7 ea ; 0xc1cdd + mov bx, ax ; 89 c3 ; 0xc1cdf + mov al, cl ; 88 c8 ; 0xc1ce1 + xor ah, ah ; 30 e4 ; 0xc1ce3 + imul ax, ax, 00140h ; 69 c0 40 01 ; 0xc1ce5 + add bx, ax ; 01 c3 ; 0xc1ce9 + mov word [bp-00eh], bx ; 89 5e f2 ; 0xc1ceb + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1cee vgabios.c:1146 + xor ah, ah ; 30 e4 ; 0xc1cf1 + mov di, ax ; 89 c7 ; 0xc1cf3 + sal di, 003h ; c1 e7 03 ; 0xc1cf5 + mov byte [bp-006h], ah ; 88 66 fa ; 0xc1cf8 vgabios.c:1147 + jmp near 01d50h ; e9 52 00 ; 0xc1cfb + xor al, al ; 30 c0 ; 0xc1cfe vgabios.c:1160 + xor ah, ah ; 30 e4 ; 0xc1d00 vgabios.c:1162 + jmp short 01d0fh ; eb 0b ; 0xc1d02 + or al, bl ; 08 d8 ; 0xc1d04 vgabios.c:1172 + shr ch, 1 ; d0 ed ; 0xc1d06 vgabios.c:1175 + db 0feh, 0c4h + ; inc ah ; fe c4 ; 0xc1d08 vgabios.c:1176 + cmp ah, 008h ; 80 fc 08 ; 0xc1d0a + jnc short 01d3ah ; 73 2b ; 0xc1d0d + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc1d0f + xor bh, bh ; 30 ff ; 0xc1d12 + add bx, di ; 01 fb ; 0xc1d14 + add bx, si ; 01 f3 ; 0xc1d16 + mov bl, byte [bx] ; 8a 1f ; 0xc1d18 + xor bh, bh ; 30 ff ; 0xc1d1a + mov dx, bx ; 89 da ; 0xc1d1c + mov bl, ch ; 88 eb ; 0xc1d1e + test dx, bx ; 85 da ; 0xc1d20 + je short 01d06h ; 74 e2 ; 0xc1d22 + mov CL, strict byte 007h ; b1 07 ; 0xc1d24 + sub cl, ah ; 28 e1 ; 0xc1d26 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc1d28 + and bl, 001h ; 80 e3 01 ; 0xc1d2b + sal bl, CL ; d2 e3 ; 0xc1d2e + test byte [bp-008h], 080h ; f6 46 f8 80 ; 0xc1d30 + je short 01d04h ; 74 ce ; 0xc1d34 + xor al, bl ; 30 d8 ; 0xc1d36 + jmp short 01d06h ; eb cc ; 0xc1d38 + xor ah, ah ; 30 e4 ; 0xc1d3a vgabios.c:1177 + mov bx, ax ; 89 c3 ; 0xc1d3c + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc1d3e + mov ax, 0b800h ; b8 00 b8 ; 0xc1d41 + call 03196h ; e8 4f 14 ; 0xc1d44 + inc byte [bp-006h] ; fe 46 fa ; 0xc1d47 vgabios.c:1179 + cmp byte [bp-006h], 008h ; 80 7e fa 08 ; 0xc1d4a + jnc short 01da0h ; 73 50 ; 0xc1d4e + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1d50 + xor ah, ah ; 30 e4 ; 0xc1d53 + sar ax, 1 ; d1 f8 ; 0xc1d55 + imul ax, ax, strict byte 00050h ; 6b c0 50 ; 0xc1d57 + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc1d5a + add dx, ax ; 01 c2 ; 0xc1d5d + mov word [bp-00ch], dx ; 89 56 f4 ; 0xc1d5f + test byte [bp-006h], 001h ; f6 46 fa 01 ; 0xc1d62 + je short 01d6ch ; 74 04 ; 0xc1d66 + add byte [bp-00bh], 020h ; 80 46 f5 20 ; 0xc1d68 + mov CH, strict byte 080h ; b5 80 ; 0xc1d6c + cmp byte [bp+006h], 001h ; 80 7e 06 01 ; 0xc1d6e + jne short 01d85h ; 75 11 ; 0xc1d72 + test byte [bp-008h], ch ; 84 6e f8 ; 0xc1d74 + je short 01cfeh ; 74 85 ; 0xc1d77 + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc1d79 + mov ax, 0b800h ; b8 00 b8 ; 0xc1d7c + call 03188h ; e8 06 14 ; 0xc1d7f + jmp near 01d00h ; e9 7b ff ; 0xc1d82 + test ch, ch ; 84 ed ; 0xc1d85 vgabios.c:1181 + jbe short 01d47h ; 76 be ; 0xc1d87 + test byte [bp-008h], 080h ; f6 46 f8 80 ; 0xc1d89 vgabios.c:1183 + je short 01d9ah ; 74 0b ; 0xc1d8d + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc1d8f vgabios.c:1185 + mov ax, 0b800h ; b8 00 b8 ; 0xc1d92 + call 03188h ; e8 f0 13 ; 0xc1d95 + jmp short 01d9ch ; eb 02 ; 0xc1d98 vgabios.c:1187 + xor al, al ; 30 c0 ; 0xc1d9a vgabios.c:1189 + xor ah, ah ; 30 e4 ; 0xc1d9c vgabios.c:1191 + jmp short 01da7h ; eb 07 ; 0xc1d9e + jmp short 01deeh ; eb 4c ; 0xc1da0 + cmp ah, 004h ; 80 fc 04 ; 0xc1da2 + jnc short 01ddch ; 73 35 ; 0xc1da5 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc1da7 vgabios.c:1193 + xor bh, bh ; 30 ff ; 0xc1daa + add bx, di ; 01 fb ; 0xc1dac + add bx, si ; 01 f3 ; 0xc1dae + mov bl, byte [bx] ; 8a 1f ; 0xc1db0 + xor bh, bh ; 30 ff ; 0xc1db2 + mov dx, bx ; 89 da ; 0xc1db4 + mov bl, ch ; 88 eb ; 0xc1db6 + test dx, bx ; 85 da ; 0xc1db8 + je short 01dd6h ; 74 1a ; 0xc1dba + mov CL, strict byte 003h ; b1 03 ; 0xc1dbc vgabios.c:1194 + sub cl, ah ; 28 e1 ; 0xc1dbe + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc1dc0 + and bl, 003h ; 80 e3 03 ; 0xc1dc3 + add cl, cl ; 00 c9 ; 0xc1dc6 + sal bl, CL ; d2 e3 ; 0xc1dc8 + test byte [bp-008h], 080h ; f6 46 f8 80 ; 0xc1dca vgabios.c:1195 + je short 01dd4h ; 74 04 ; 0xc1dce + xor al, bl ; 30 d8 ; 0xc1dd0 vgabios.c:1197 + jmp short 01dd6h ; eb 02 ; 0xc1dd2 vgabios.c:1199 + or al, bl ; 08 d8 ; 0xc1dd4 vgabios.c:1201 + shr ch, 1 ; d0 ed ; 0xc1dd6 vgabios.c:1204 + db 0feh, 0c4h + ; inc ah ; fe c4 ; 0xc1dd8 vgabios.c:1205 + jmp short 01da2h ; eb c6 ; 0xc1dda + xor ah, ah ; 30 e4 ; 0xc1ddc vgabios.c:1206 + mov bx, ax ; 89 c3 ; 0xc1dde + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc1de0 + mov ax, 0b800h ; b8 00 b8 ; 0xc1de3 + call 03196h ; e8 ad 13 ; 0xc1de6 + inc word [bp-00ch] ; ff 46 f4 ; 0xc1de9 vgabios.c:1207 + jmp short 01d85h ; eb 97 ; 0xc1dec vgabios.c:1208 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1dee vgabios.c:1211 + pop di ; 5f ; 0xc1df1 + pop si ; 5e ; 0xc1df2 + pop bp ; 5d ; 0xc1df3 + retn 00004h ; c2 04 00 ; 0xc1df4 + ; disGetNextSymbol 0xc1df7 LB 0x203e -> off=0x0 cb=00000000000000aa uValue=00000000000c1df7 'write_gfx_char_lin' +write_gfx_char_lin: ; 0xc1df7 LB 0xaa + push bp ; 55 ; 0xc1df7 vgabios.c:1214 + mov bp, sp ; 89 e5 ; 0xc1df8 + push si ; 56 ; 0xc1dfa + push di ; 57 ; 0xc1dfb + sub sp, strict byte 0000ch ; 83 ec 0c ; 0xc1dfc + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc1dff + mov byte [bp-00ch], dl ; 88 56 f4 ; 0xc1e02 + mov byte [bp-006h], bl ; 88 5e fa ; 0xc1e05 + mov al, cl ; 88 c8 ; 0xc1e08 + mov si, 053ech ; be ec 53 ; 0xc1e0a vgabios.c:1221 + xor ah, ah ; 30 e4 ; 0xc1e0d vgabios.c:1222 + mov bl, byte [bp+004h] ; 8a 5e 04 ; 0xc1e0f + xor bh, bh ; 30 ff ; 0xc1e12 + imul bx ; f7 eb ; 0xc1e14 + sal ax, 006h ; c1 e0 06 ; 0xc1e16 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc1e19 + mov dx, bx ; 89 da ; 0xc1e1c + sal dx, 003h ; c1 e2 03 ; 0xc1e1e + add dx, ax ; 01 c2 ; 0xc1e21 + mov word [bp-00eh], dx ; 89 56 f2 ; 0xc1e23 + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc1e26 vgabios.c:1223 + mov di, bx ; 89 df ; 0xc1e29 + sal di, 003h ; c1 e7 03 ; 0xc1e2b + xor cl, cl ; 30 c9 ; 0xc1e2e vgabios.c:1224 + jmp short 01e76h ; eb 44 ; 0xc1e30 + cmp ch, 008h ; 80 fd 08 ; 0xc1e32 vgabios.c:1228 + jnc short 01e6fh ; 73 38 ; 0xc1e35 + xor dl, dl ; 30 d2 ; 0xc1e37 vgabios.c:1230 + mov al, cl ; 88 c8 ; 0xc1e39 vgabios.c:1231 + xor ah, ah ; 30 e4 ; 0xc1e3b + add ax, di ; 01 f8 ; 0xc1e3d + mov bx, si ; 89 f3 ; 0xc1e3f + add bx, ax ; 01 c3 ; 0xc1e41 + mov al, byte [bx] ; 8a 07 ; 0xc1e43 + xor ah, ah ; 30 e4 ; 0xc1e45 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc1e47 + xor bh, bh ; 30 ff ; 0xc1e4a + test ax, bx ; 85 d8 ; 0xc1e4c + je short 01e53h ; 74 03 ; 0xc1e4e + mov dl, byte [bp-00ch] ; 8a 56 f4 ; 0xc1e50 vgabios.c:1233 + mov bl, dl ; 88 d3 ; 0xc1e53 vgabios.c:1235 + xor bh, bh ; 30 ff ; 0xc1e55 + mov ax, bx ; 89 d8 ; 0xc1e57 + mov bl, ch ; 88 eb ; 0xc1e59 + mov dx, word [bp-010h] ; 8b 56 f0 ; 0xc1e5b + add dx, bx ; 01 da ; 0xc1e5e + mov bx, ax ; 89 c3 ; 0xc1e60 + mov ax, 0a000h ; b8 00 a0 ; 0xc1e62 + call 03196h ; e8 2e 13 ; 0xc1e65 + shr byte [bp-008h], 1 ; d0 6e f8 ; 0xc1e68 vgabios.c:1236 + db 0feh, 0c5h + ; inc ch ; fe c5 ; 0xc1e6b vgabios.c:1237 + jmp short 01e32h ; eb c3 ; 0xc1e6d + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc1e6f vgabios.c:1238 + cmp cl, 008h ; 80 f9 08 ; 0xc1e71 + jnc short 01e98h ; 73 22 ; 0xc1e74 + mov bl, cl ; 88 cb ; 0xc1e76 + xor bh, bh ; 30 ff ; 0xc1e78 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1e7a + xor ah, ah ; 30 e4 ; 0xc1e7d + mov dx, ax ; 89 c2 ; 0xc1e7f + mov ax, bx ; 89 d8 ; 0xc1e81 + imul dx ; f7 ea ; 0xc1e83 + sal ax, 003h ; c1 e0 03 ; 0xc1e85 + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc1e88 + add dx, ax ; 01 c2 ; 0xc1e8b + mov word [bp-010h], dx ; 89 56 f0 ; 0xc1e8d + mov byte [bp-008h], 080h ; c6 46 f8 80 ; 0xc1e90 + xor ch, ch ; 30 ed ; 0xc1e94 + jmp short 01e37h ; eb 9f ; 0xc1e96 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1e98 vgabios.c:1239 + pop di ; 5f ; 0xc1e9b + pop si ; 5e ; 0xc1e9c + pop bp ; 5d ; 0xc1e9d + retn 00002h ; c2 02 00 ; 0xc1e9e + ; disGetNextSymbol 0xc1ea1 LB 0x1f94 -> off=0x0 cb=000000000000018d uValue=00000000000c1ea1 'biosfn_write_char_attr' +biosfn_write_char_attr: ; 0xc1ea1 LB 0x18d + push bp ; 55 ; 0xc1ea1 vgabios.c:1242 + mov bp, sp ; 89 e5 ; 0xc1ea2 + push si ; 56 ; 0xc1ea4 + push di ; 57 ; 0xc1ea5 + sub sp, strict byte 00018h ; 83 ec 18 ; 0xc1ea6 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc1ea9 + mov byte [bp-00ch], dl ; 88 56 f4 ; 0xc1eac + mov byte [bp-008h], bl ; 88 5e f8 ; 0xc1eaf + mov si, cx ; 89 ce ; 0xc1eb2 + mov dx, strict word 00049h ; ba 49 00 ; 0xc1eb4 vgabios.c:1249 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1eb7 + call 03188h ; e8 cb 12 ; 0xc1eba + xor ah, ah ; 30 e4 ; 0xc1ebd vgabios.c:1250 + call 03160h ; e8 9e 12 ; 0xc1ebf + mov cl, al ; 88 c1 ; 0xc1ec2 + mov byte [bp-014h], al ; 88 46 ec ; 0xc1ec4 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc1ec7 vgabios.c:1251 + jne short 01eceh ; 75 03 ; 0xc1ec9 + jmp near 02027h ; e9 59 01 ; 0xc1ecb + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1ece vgabios.c:1254 + xor ah, ah ; 30 e4 ; 0xc1ed1 + lea bx, [bp-01ch] ; 8d 5e e4 ; 0xc1ed3 + lea dx, [bp-01ah] ; 8d 56 e6 ; 0xc1ed6 + call 00a8bh ; e8 af eb ; 0xc1ed9 + mov al, byte [bp-01ch] ; 8a 46 e4 ; 0xc1edc vgabios.c:1255 + mov byte [bp-006h], al ; 88 46 fa ; 0xc1edf + mov ax, word [bp-01ch] ; 8b 46 e4 ; 0xc1ee2 + xor al, al ; 30 c0 ; 0xc1ee5 + shr ax, 008h ; c1 e8 08 ; 0xc1ee7 + mov byte [bp-012h], al ; 88 46 ee ; 0xc1eea + mov dx, 00084h ; ba 84 00 ; 0xc1eed vgabios.c:1258 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1ef0 + call 03188h ; e8 92 12 ; 0xc1ef3 + xor ah, ah ; 30 e4 ; 0xc1ef6 + inc ax ; 40 ; 0xc1ef8 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc1ef9 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc1efc vgabios.c:1259 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1eff + call 031a4h ; e8 9f 12 ; 0xc1f02 + mov bx, ax ; 89 c3 ; 0xc1f05 + mov word [bp-016h], ax ; 89 46 ea ; 0xc1f07 + mov al, cl ; 88 c8 ; 0xc1f0a vgabios.c:1261 + xor ah, ah ; 30 e4 ; 0xc1f0c + mov di, ax ; 89 c7 ; 0xc1f0e + sal di, 003h ; c1 e7 03 ; 0xc1f10 + cmp byte [di+0462fh], 000h ; 80 bd 2f 46 00 ; 0xc1f13 + jne short 01f6ch ; 75 52 ; 0xc1f18 + mov ax, bx ; 89 d8 ; 0xc1f1a vgabios.c:1264 + mul word [bp-018h] ; f7 66 e8 ; 0xc1f1c + add ax, ax ; 01 c0 ; 0xc1f1f + or AL, strict byte 0ffh ; 0c ff ; 0xc1f21 + mov dx, ax ; 89 c2 ; 0xc1f23 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1f25 + xor ah, ah ; 30 e4 ; 0xc1f28 + mov cx, ax ; 89 c1 ; 0xc1f2a + mov ax, dx ; 89 d0 ; 0xc1f2c + inc ax ; 40 ; 0xc1f2e + mul cx ; f7 e1 ; 0xc1f2f + mov cx, ax ; 89 c1 ; 0xc1f31 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1f33 + xor ah, ah ; 30 e4 ; 0xc1f36 + mul bx ; f7 e3 ; 0xc1f38 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc1f3a + xor bh, bh ; 30 ff ; 0xc1f3d + mov dx, ax ; 89 c2 ; 0xc1f3f + add dx, bx ; 01 da ; 0xc1f41 + add dx, dx ; 01 d2 ; 0xc1f43 + add dx, cx ; 01 ca ; 0xc1f45 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1f47 vgabios.c:1266 + xor ah, ah ; 30 e4 ; 0xc1f4a + mov bx, ax ; 89 c3 ; 0xc1f4c + sal bx, 008h ; c1 e3 08 ; 0xc1f4e + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1f51 + add bx, ax ; 01 c3 ; 0xc1f54 + mov word [bp-01ah], bx ; 89 5e e6 ; 0xc1f56 + mov ax, word [bp-01ah] ; 8b 46 e6 ; 0xc1f59 vgabios.c:1267 + mov es, [di+04632h] ; 8e 85 32 46 ; 0xc1f5c + mov cx, si ; 89 f1 ; 0xc1f60 + mov di, dx ; 89 d7 ; 0xc1f62 + cld ; fc ; 0xc1f64 + jcxz 01f69h ; e3 02 ; 0xc1f65 + rep stosw ; f3 ab ; 0xc1f67 + jmp near 02027h ; e9 bb 00 ; 0xc1f69 vgabios.c:1269 + mov bx, ax ; 89 c3 ; 0xc1f6c vgabios.c:1272 + mov al, byte [bx+046aeh] ; 8a 87 ae 46 ; 0xc1f6e + mov bx, ax ; 89 c3 ; 0xc1f72 + sal bx, 006h ; c1 e3 06 ; 0xc1f74 + mov al, byte [bx+046c4h] ; 8a 87 c4 46 ; 0xc1f77 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc1f7b + mov al, byte [di+04631h] ; 8a 85 31 46 ; 0xc1f7e vgabios.c:1273 + mov byte [bp-010h], al ; 88 46 f0 ; 0xc1f82 + dec si ; 4e ; 0xc1f85 vgabios.c:1274 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc1f86 + je short 01f95h ; 74 0a ; 0xc1f89 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1f8b + xor ah, ah ; 30 e4 ; 0xc1f8e + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1f90 + jc short 01f98h ; 72 03 ; 0xc1f93 + jmp near 02027h ; e9 8f 00 ; 0xc1f95 + mov al, byte [bp-014h] ; 8a 46 ec ; 0xc1f98 vgabios.c:1276 + mov bx, ax ; 89 c3 ; 0xc1f9b + sal bx, 003h ; c1 e3 03 ; 0xc1f9d + mov al, byte [bx+04630h] ; 8a 87 30 46 ; 0xc1fa0 + cmp AL, strict byte 003h ; 3c 03 ; 0xc1fa4 + jc short 01fb4h ; 72 0c ; 0xc1fa6 + jbe short 01fbah ; 76 10 ; 0xc1fa8 + cmp AL, strict byte 005h ; 3c 05 ; 0xc1faa + je short 02008h ; 74 5a ; 0xc1fac + cmp AL, strict byte 004h ; 3c 04 ; 0xc1fae + je short 01fbah ; 74 08 ; 0xc1fb0 + jmp short 02021h ; eb 6d ; 0xc1fb2 + cmp AL, strict byte 002h ; 3c 02 ; 0xc1fb4 + je short 01fe3h ; 74 2b ; 0xc1fb6 + jmp short 02021h ; eb 67 ; 0xc1fb8 + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc1fba vgabios.c:1280 + xor bh, bh ; 30 ff ; 0xc1fbd + push bx ; 53 ; 0xc1fbf + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc1fc0 + push bx ; 53 ; 0xc1fc3 + mov bl, byte [bp-012h] ; 8a 5e ee ; 0xc1fc4 + mov cx, bx ; 89 d9 ; 0xc1fc7 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1fc9 + xor ah, ah ; 30 e4 ; 0xc1fcc + mov dx, ax ; 89 c2 ; 0xc1fce + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1fd0 + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc1fd3 + mov di, bx ; 89 df ; 0xc1fd6 + mov bx, dx ; 89 d3 ; 0xc1fd8 + mov dx, ax ; 89 c2 ; 0xc1fda + mov ax, di ; 89 f8 ; 0xc1fdc + call 01bc4h ; e8 e3 fb ; 0xc1fde + jmp short 02021h ; eb 3e ; 0xc1fe1 vgabios.c:1281 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc1fe3 vgabios.c:1283 + push ax ; 50 ; 0xc1fe6 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1fe7 + push ax ; 50 ; 0xc1fea + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1feb + mov cx, ax ; 89 c1 ; 0xc1fee + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1ff0 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc1ff3 + xor bh, bh ; 30 ff ; 0xc1ff6 + mov dx, bx ; 89 da ; 0xc1ff8 + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc1ffa + mov di, bx ; 89 df ; 0xc1ffd + mov bx, ax ; 89 c3 ; 0xc1fff + mov ax, di ; 89 f8 ; 0xc2001 + call 01cbfh ; e8 b9 fc ; 0xc2003 + jmp short 02021h ; eb 19 ; 0xc2006 vgabios.c:1284 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc2008 vgabios.c:1286 + push ax ; 50 ; 0xc200b + mov bl, byte [bp-012h] ; 8a 5e ee ; 0xc200c + xor bh, bh ; 30 ff ; 0xc200f + mov cx, bx ; 89 d9 ; 0xc2011 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc2013 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc2016 + mov dx, ax ; 89 c2 ; 0xc2019 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc201b + call 01df7h ; e8 d6 fd ; 0xc201e + inc byte [bp-006h] ; fe 46 fa ; 0xc2021 vgabios.c:1293 + jmp near 01f85h ; e9 5e ff ; 0xc2024 vgabios.c:1294 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc2027 vgabios.c:1296 + pop di ; 5f ; 0xc202a + pop si ; 5e ; 0xc202b + pop bp ; 5d ; 0xc202c + retn ; c3 ; 0xc202d + ; disGetNextSymbol 0xc202e LB 0x1e07 -> off=0x0 cb=0000000000000196 uValue=00000000000c202e 'biosfn_write_char_only' +biosfn_write_char_only: ; 0xc202e LB 0x196 + push bp ; 55 ; 0xc202e vgabios.c:1299 + mov bp, sp ; 89 e5 ; 0xc202f + push si ; 56 ; 0xc2031 + push di ; 57 ; 0xc2032 + sub sp, strict byte 0001ah ; 83 ec 1a ; 0xc2033 + mov byte [bp-006h], al ; 88 46 fa ; 0xc2036 + mov byte [bp-00ah], dl ; 88 56 f6 ; 0xc2039 + mov byte [bp-010h], bl ; 88 5e f0 ; 0xc203c + mov si, cx ; 89 ce ; 0xc203f + mov dx, strict word 00049h ; ba 49 00 ; 0xc2041 vgabios.c:1306 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2044 + call 03188h ; e8 3e 11 ; 0xc2047 + mov bl, al ; 88 c3 ; 0xc204a vgabios.c:1307 + xor bh, bh ; 30 ff ; 0xc204c + mov ax, bx ; 89 d8 ; 0xc204e + call 03160h ; e8 0d 11 ; 0xc2050 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc2053 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc2056 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc2059 vgabios.c:1308 + jne short 02060h ; 75 03 ; 0xc205b + jmp near 021bdh ; e9 5d 01 ; 0xc205d + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc2060 vgabios.c:1311 + mov ax, bx ; 89 d8 ; 0xc2063 + lea bx, [bp-01eh] ; 8d 5e e2 ; 0xc2065 + lea dx, [bp-01ch] ; 8d 56 e4 ; 0xc2068 + call 00a8bh ; e8 1d ea ; 0xc206b + mov al, byte [bp-01eh] ; 8a 46 e2 ; 0xc206e vgabios.c:1312 + mov byte [bp-014h], al ; 88 46 ec ; 0xc2071 + mov ax, word [bp-01eh] ; 8b 46 e2 ; 0xc2074 + xor al, al ; 30 c0 ; 0xc2077 + shr ax, 008h ; c1 e8 08 ; 0xc2079 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc207c + mov dx, 00084h ; ba 84 00 ; 0xc207f vgabios.c:1315 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2082 + call 03188h ; e8 00 11 ; 0xc2085 + mov bl, al ; 88 c3 ; 0xc2088 + xor bh, bh ; 30 ff ; 0xc208a + inc bx ; 43 ; 0xc208c + mov word [bp-01ah], bx ; 89 5e e6 ; 0xc208d + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2090 vgabios.c:1316 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2093 + call 031a4h ; e8 0b 11 ; 0xc2096 + mov cx, ax ; 89 c1 ; 0xc2099 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc209b + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc209e vgabios.c:1318 + xor bh, bh ; 30 ff ; 0xc20a1 + mov di, bx ; 89 df ; 0xc20a3 + sal bx, 003h ; c1 e3 03 ; 0xc20a5 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc20a8 + jne short 020f6h ; 75 47 ; 0xc20ad + mul word [bp-01ah] ; f7 66 e6 ; 0xc20af vgabios.c:1321 + add ax, ax ; 01 c0 ; 0xc20b2 + or AL, strict byte 0ffh ; 0c ff ; 0xc20b4 + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc20b6 + xor bh, bh ; 30 ff ; 0xc20b9 + inc ax ; 40 ; 0xc20bb + mul bx ; f7 e3 ; 0xc20bc + mov di, ax ; 89 c7 ; 0xc20be + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc20c0 + mov ax, bx ; 89 d8 ; 0xc20c3 + mul cx ; f7 e1 ; 0xc20c5 + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc20c7 + add ax, bx ; 01 d8 ; 0xc20ca + add ax, ax ; 01 c0 ; 0xc20cc + mov cx, di ; 89 f9 ; 0xc20ce + add cx, ax ; 01 c1 ; 0xc20d0 + dec si ; 4e ; 0xc20d2 vgabios.c:1323 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc20d3 + je short 0205dh ; 74 85 ; 0xc20d6 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc20d8 vgabios.c:1324 + xor ah, ah ; 30 e4 ; 0xc20db + mov dx, ax ; 89 c2 ; 0xc20dd + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc20df + mov bx, ax ; 89 c3 ; 0xc20e2 + sal bx, 003h ; c1 e3 03 ; 0xc20e4 + mov ax, word [bx+04632h] ; 8b 87 32 46 ; 0xc20e7 + mov bx, dx ; 89 d3 ; 0xc20eb + mov dx, cx ; 89 ca ; 0xc20ed + call 03196h ; e8 a4 10 ; 0xc20ef + inc cx ; 41 ; 0xc20f2 vgabios.c:1325 + inc cx ; 41 ; 0xc20f3 + jmp short 020d2h ; eb dc ; 0xc20f4 vgabios.c:1326 + mov al, byte [di+046aeh] ; 8a 85 ae 46 ; 0xc20f6 vgabios.c:1331 + xor ah, ah ; 30 e4 ; 0xc20fa + mov di, ax ; 89 c7 ; 0xc20fc + sal di, 006h ; c1 e7 06 ; 0xc20fe + mov al, byte [di+046c4h] ; 8a 85 c4 46 ; 0xc2101 + mov byte [bp-012h], al ; 88 46 ee ; 0xc2105 + mov al, byte [bx+04631h] ; 8a 87 31 46 ; 0xc2108 vgabios.c:1332 + mov byte [bp-016h], al ; 88 46 ea ; 0xc210c + dec si ; 4e ; 0xc210f vgabios.c:1333 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc2110 + je short 0216dh ; 74 58 ; 0xc2113 + mov al, byte [bp-014h] ; 8a 46 ec ; 0xc2115 + xor ah, ah ; 30 e4 ; 0xc2118 + cmp ax, word [bp-018h] ; 3b 46 e8 ; 0xc211a + jnc short 0216dh ; 73 4e ; 0xc211d + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc211f vgabios.c:1335 + mov bx, ax ; 89 c3 ; 0xc2122 + sal bx, 003h ; c1 e3 03 ; 0xc2124 + mov bl, byte [bx+04630h] ; 8a 9f 30 46 ; 0xc2127 + cmp bl, 003h ; 80 fb 03 ; 0xc212b + jc short 0213fh ; 72 0f ; 0xc212e + jbe short 02146h ; 76 14 ; 0xc2130 + cmp bl, 005h ; 80 fb 05 ; 0xc2132 + je short 02196h ; 74 5f ; 0xc2135 + cmp bl, 004h ; 80 fb 04 ; 0xc2137 + je short 02146h ; 74 0a ; 0xc213a + jmp near 021b7h ; e9 78 00 ; 0xc213c + cmp bl, 002h ; 80 fb 02 ; 0xc213f + je short 0216fh ; 74 2b ; 0xc2142 + jmp short 021b7h ; eb 71 ; 0xc2144 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc2146 vgabios.c:1339 + xor ah, ah ; 30 e4 ; 0xc2149 + push ax ; 50 ; 0xc214b + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc214c + push ax ; 50 ; 0xc214f + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc2150 + xor bh, bh ; 30 ff ; 0xc2153 + mov cx, bx ; 89 d9 ; 0xc2155 + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc2157 + mov dx, bx ; 89 da ; 0xc215a + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc215c + mov di, bx ; 89 df ; 0xc215f + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc2161 + mov bx, dx ; 89 d3 ; 0xc2164 + mov dx, di ; 89 fa ; 0xc2166 + call 01bc4h ; e8 59 fa ; 0xc2168 + jmp short 021b7h ; eb 4a ; 0xc216b vgabios.c:1340 + jmp short 021bdh ; eb 4e ; 0xc216d + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc216f vgabios.c:1342 + push ax ; 50 ; 0xc2172 + mov bl, byte [bp-018h] ; 8a 5e e8 ; 0xc2173 + xor bh, bh ; 30 ff ; 0xc2176 + push bx ; 53 ; 0xc2178 + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc2179 + mov cx, bx ; 89 d9 ; 0xc217c + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc217e + mov ax, bx ; 89 d8 ; 0xc2181 + mov dl, byte [bp-010h] ; 8a 56 f0 ; 0xc2183 + xor dh, dh ; 30 f6 ; 0xc2186 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc2188 + mov di, bx ; 89 df ; 0xc218b + mov bx, ax ; 89 c3 ; 0xc218d + mov ax, di ; 89 f8 ; 0xc218f + call 01cbfh ; e8 2b fb ; 0xc2191 + jmp short 021b7h ; eb 21 ; 0xc2194 vgabios.c:1343 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc2196 vgabios.c:1345 + push ax ; 50 ; 0xc2199 + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc219a + xor bh, bh ; 30 ff ; 0xc219d + mov cx, bx ; 89 d9 ; 0xc219f + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc21a1 + mov dx, bx ; 89 da ; 0xc21a4 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc21a6 + mov di, ax ; 89 c7 ; 0xc21a9 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc21ab + mov ax, bx ; 89 d8 ; 0xc21ae + mov bx, dx ; 89 d3 ; 0xc21b0 + mov dx, di ; 89 fa ; 0xc21b2 + call 01df7h ; e8 40 fc ; 0xc21b4 + inc byte [bp-014h] ; fe 46 ec ; 0xc21b7 vgabios.c:1352 + jmp near 0210fh ; e9 52 ff ; 0xc21ba vgabios.c:1353 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc21bd vgabios.c:1355 + pop di ; 5f ; 0xc21c0 + pop si ; 5e ; 0xc21c1 + pop bp ; 5d ; 0xc21c2 + retn ; c3 ; 0xc21c3 + ; disGetNextSymbol 0xc21c4 LB 0x1c71 -> off=0x0 cb=000000000000017b uValue=00000000000c21c4 'biosfn_write_pixel' +biosfn_write_pixel: ; 0xc21c4 LB 0x17b + push bp ; 55 ; 0xc21c4 vgabios.c:1358 + mov bp, sp ; 89 e5 ; 0xc21c5 + push si ; 56 ; 0xc21c7 + sub sp, strict byte 00008h ; 83 ec 08 ; 0xc21c8 + mov byte [bp-006h], dl ; 88 56 fa ; 0xc21cb + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc21ce + mov dx, strict word 00049h ; ba 49 00 ; 0xc21d1 vgabios.c:1364 + mov ax, strict word 00040h ; b8 40 00 ; 0xc21d4 + call 03188h ; e8 ae 0f ; 0xc21d7 + mov bl, al ; 88 c3 ; 0xc21da vgabios.c:1365 + xor bh, bh ; 30 ff ; 0xc21dc + mov ax, bx ; 89 d8 ; 0xc21de + call 03160h ; e8 7d 0f ; 0xc21e0 + mov byte [bp-004h], al ; 88 46 fc ; 0xc21e3 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc21e6 vgabios.c:1366 + je short 02210h ; 74 26 ; 0xc21e8 + xor ah, ah ; 30 e4 ; 0xc21ea vgabios.c:1367 + mov bx, ax ; 89 c3 ; 0xc21ec + sal bx, 003h ; c1 e3 03 ; 0xc21ee + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc21f1 + je short 02210h ; 74 18 ; 0xc21f6 + mov al, byte [bx+04630h] ; 8a 87 30 46 ; 0xc21f8 vgabios.c:1369 + cmp AL, strict byte 003h ; 3c 03 ; 0xc21fc + jc short 0220ch ; 72 0c ; 0xc21fe + jbe short 02216h ; 76 14 ; 0xc2200 + cmp AL, strict byte 005h ; 3c 05 ; 0xc2202 + je short 02213h ; 74 0d ; 0xc2204 + cmp AL, strict byte 004h ; 3c 04 ; 0xc2206 + je short 02216h ; 74 0c ; 0xc2208 + jmp short 02210h ; eb 04 ; 0xc220a + cmp AL, strict byte 002h ; 3c 02 ; 0xc220c + je short 02283h ; 74 73 ; 0xc220e + jmp near 02312h ; e9 ff 00 ; 0xc2210 + jmp near 02318h ; e9 02 01 ; 0xc2213 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2216 vgabios.c:1373 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2219 + call 031a4h ; e8 85 0f ; 0xc221c + mov bx, ax ; 89 c3 ; 0xc221f + mov ax, cx ; 89 c8 ; 0xc2221 + mul bx ; f7 e3 ; 0xc2223 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc2225 + shr bx, 003h ; c1 eb 03 ; 0xc2228 + add bx, ax ; 01 c3 ; 0xc222b + mov word [bp-008h], bx ; 89 5e f8 ; 0xc222d + mov cx, word [bp-00ah] ; 8b 4e f6 ; 0xc2230 vgabios.c:1374 + and cl, 007h ; 80 e1 07 ; 0xc2233 + mov ax, 00080h ; b8 80 00 ; 0xc2236 + sar ax, CL ; d3 f8 ; 0xc2239 + mov bl, al ; 88 c3 ; 0xc223b vgabios.c:1375 + xor bh, bh ; 30 ff ; 0xc223d + mov ax, bx ; 89 d8 ; 0xc223f + sal ax, 008h ; c1 e0 08 ; 0xc2241 + or AL, strict byte 008h ; 0c 08 ; 0xc2244 + mov dx, 003ceh ; ba ce 03 ; 0xc2246 + out DX, ax ; ef ; 0xc2249 + mov ax, 00205h ; b8 05 02 ; 0xc224a vgabios.c:1376 + out DX, ax ; ef ; 0xc224d + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc224e vgabios.c:1377 + mov ax, 0a000h ; b8 00 a0 ; 0xc2251 + call 03188h ; e8 31 0f ; 0xc2254 + test byte [bp-006h], 080h ; f6 46 fa 80 ; 0xc2257 vgabios.c:1378 + je short 02264h ; 74 07 ; 0xc225b + mov ax, 01803h ; b8 03 18 ; 0xc225d vgabios.c:1380 + mov dx, 003ceh ; ba ce 03 ; 0xc2260 + out DX, ax ; ef ; 0xc2263 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc2264 vgabios.c:1382 + xor bh, bh ; 30 ff ; 0xc2267 + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc2269 + mov ax, 0a000h ; b8 00 a0 ; 0xc226c + call 03196h ; e8 24 0f ; 0xc226f + mov ax, 0ff08h ; b8 08 ff ; 0xc2272 vgabios.c:1383 + mov dx, 003ceh ; ba ce 03 ; 0xc2275 + out DX, ax ; ef ; 0xc2278 + mov ax, strict word 00005h ; b8 05 00 ; 0xc2279 vgabios.c:1384 + out DX, ax ; ef ; 0xc227c + mov ax, strict word 00003h ; b8 03 00 ; 0xc227d vgabios.c:1385 + out DX, ax ; ef ; 0xc2280 + jmp short 02210h ; eb 8d ; 0xc2281 vgabios.c:1386 + mov ax, cx ; 89 c8 ; 0xc2283 vgabios.c:1388 + shr ax, 1 ; d1 e8 ; 0xc2285 + imul ax, ax, strict byte 00050h ; 6b c0 50 ; 0xc2287 + cmp byte [bx+04631h], 002h ; 80 bf 31 46 02 ; 0xc228a + jne short 02299h ; 75 08 ; 0xc228f + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc2291 vgabios.c:1390 + shr bx, 002h ; c1 eb 02 ; 0xc2294 + jmp short 0229fh ; eb 06 ; 0xc2297 vgabios.c:1392 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc2299 vgabios.c:1394 + shr bx, 003h ; c1 eb 03 ; 0xc229c + add bx, ax ; 01 c3 ; 0xc229f + mov word [bp-008h], bx ; 89 5e f8 ; 0xc22a1 + test cl, 001h ; f6 c1 01 ; 0xc22a4 vgabios.c:1396 + je short 022adh ; 74 04 ; 0xc22a7 + add byte [bp-007h], 020h ; 80 46 f9 20 ; 0xc22a9 + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc22ad vgabios.c:1397 + mov ax, 0b800h ; b8 00 b8 ; 0xc22b0 + call 03188h ; e8 d2 0e ; 0xc22b3 + mov bl, al ; 88 c3 ; 0xc22b6 + mov al, byte [bp-004h] ; 8a 46 fc ; 0xc22b8 vgabios.c:1398 + xor ah, ah ; 30 e4 ; 0xc22bb + mov si, ax ; 89 c6 ; 0xc22bd + sal si, 003h ; c1 e6 03 ; 0xc22bf + cmp byte [si+04631h], 002h ; 80 bc 31 46 02 ; 0xc22c2 + jne short 022e2h ; 75 19 ; 0xc22c7 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc22c9 vgabios.c:1400 + and AL, strict byte 003h ; 24 03 ; 0xc22cc + mov AH, strict byte 003h ; b4 03 ; 0xc22ce + sub ah, al ; 28 c4 ; 0xc22d0 + mov cl, ah ; 88 e1 ; 0xc22d2 + add cl, ah ; 00 e1 ; 0xc22d4 + mov bh, byte [bp-006h] ; 8a 7e fa ; 0xc22d6 + and bh, 003h ; 80 e7 03 ; 0xc22d9 + sal bh, CL ; d2 e7 ; 0xc22dc + mov AL, strict byte 003h ; b0 03 ; 0xc22de vgabios.c:1401 + jmp short 022f5h ; eb 13 ; 0xc22e0 vgabios.c:1403 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc22e2 vgabios.c:1405 + and AL, strict byte 007h ; 24 07 ; 0xc22e5 + mov CL, strict byte 007h ; b1 07 ; 0xc22e7 + sub cl, al ; 28 c1 ; 0xc22e9 + mov bh, byte [bp-006h] ; 8a 7e fa ; 0xc22eb + and bh, 001h ; 80 e7 01 ; 0xc22ee + sal bh, CL ; d2 e7 ; 0xc22f1 + mov AL, strict byte 001h ; b0 01 ; 0xc22f3 vgabios.c:1406 + sal al, CL ; d2 e0 ; 0xc22f5 + test byte [bp-006h], 080h ; f6 46 fa 80 ; 0xc22f7 vgabios.c:1408 + je short 02301h ; 74 04 ; 0xc22fb + xor bl, bh ; 30 fb ; 0xc22fd vgabios.c:1410 + jmp short 02307h ; eb 06 ; 0xc22ff vgabios.c:1412 + not al ; f6 d0 ; 0xc2301 vgabios.c:1414 + and bl, al ; 20 c3 ; 0xc2303 + or bl, bh ; 08 fb ; 0xc2305 vgabios.c:1415 + xor bh, bh ; 30 ff ; 0xc2307 vgabios.c:1417 + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc2309 + mov ax, 0b800h ; b8 00 b8 ; 0xc230c + call 03196h ; e8 84 0e ; 0xc230f + lea sp, [bp-002h] ; 8d 66 fe ; 0xc2312 vgabios.c:1418 + pop si ; 5e ; 0xc2315 + pop bp ; 5d ; 0xc2316 + retn ; c3 ; 0xc2317 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2318 vgabios.c:1420 + mov ax, strict word 00040h ; b8 40 00 ; 0xc231b + call 031a4h ; e8 83 0e ; 0xc231e + mov bx, ax ; 89 c3 ; 0xc2321 + sal bx, 003h ; c1 e3 03 ; 0xc2323 + mov ax, cx ; 89 c8 ; 0xc2326 + mul bx ; f7 e3 ; 0xc2328 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc232a + add bx, ax ; 01 c3 ; 0xc232d + mov word [bp-008h], bx ; 89 5e f8 ; 0xc232f + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc2332 vgabios.c:1421 + xor bh, bh ; 30 ff ; 0xc2335 + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc2337 + mov ax, 0a000h ; b8 00 a0 ; 0xc233a + jmp short 0230fh ; eb d0 ; 0xc233d + ; disGetNextSymbol 0xc233f LB 0x1af6 -> off=0x0 cb=000000000000026f uValue=00000000000c233f 'biosfn_write_teletype' +biosfn_write_teletype: ; 0xc233f LB 0x26f + push bp ; 55 ; 0xc233f vgabios.c:1431 + mov bp, sp ; 89 e5 ; 0xc2340 + push si ; 56 ; 0xc2342 + push di ; 57 ; 0xc2343 + sub sp, strict byte 0001ah ; 83 ec 1a ; 0xc2344 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc2347 + mov byte [bp-016h], dl ; 88 56 ea ; 0xc234a + mov byte [bp-010h], bl ; 88 5e f0 ; 0xc234d + mov byte [bp-014h], cl ; 88 4e ec ; 0xc2350 + cmp dl, 0ffh ; 80 fa ff ; 0xc2353 vgabios.c:1439 + jne short 02364h ; 75 0c ; 0xc2356 + mov dx, strict word 00062h ; ba 62 00 ; 0xc2358 vgabios.c:1440 + mov ax, strict word 00040h ; b8 40 00 ; 0xc235b + call 03188h ; e8 27 0e ; 0xc235e + mov byte [bp-016h], al ; 88 46 ea ; 0xc2361 + mov dx, strict word 00049h ; ba 49 00 ; 0xc2364 vgabios.c:1443 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2367 + call 03188h ; e8 1b 0e ; 0xc236a + mov bl, al ; 88 c3 ; 0xc236d vgabios.c:1444 + xor bh, bh ; 30 ff ; 0xc236f + mov ax, bx ; 89 d8 ; 0xc2371 + call 03160h ; e8 ea 0d ; 0xc2373 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc2376 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc2379 vgabios.c:1445 + je short 023e5h ; 74 68 ; 0xc237b + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc237d vgabios.c:1448 + mov ax, bx ; 89 d8 ; 0xc2380 + lea bx, [bp-01eh] ; 8d 5e e2 ; 0xc2382 + lea dx, [bp-01ch] ; 8d 56 e4 ; 0xc2385 + call 00a8bh ; e8 00 e7 ; 0xc2388 + mov al, byte [bp-01eh] ; 8a 46 e2 ; 0xc238b vgabios.c:1449 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc238e + mov ax, word [bp-01eh] ; 8b 46 e2 ; 0xc2391 + xor al, al ; 30 c0 ; 0xc2394 + shr ax, 008h ; c1 e8 08 ; 0xc2396 + mov byte [bp-006h], al ; 88 46 fa ; 0xc2399 + mov dx, 00084h ; ba 84 00 ; 0xc239c vgabios.c:1452 + mov ax, strict word 00040h ; b8 40 00 ; 0xc239f + call 03188h ; e8 e3 0d ; 0xc23a2 + mov bl, al ; 88 c3 ; 0xc23a5 + xor bh, bh ; 30 ff ; 0xc23a7 + inc bx ; 43 ; 0xc23a9 + mov word [bp-01ah], bx ; 89 5e e6 ; 0xc23aa + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc23ad vgabios.c:1453 + mov ax, strict word 00040h ; b8 40 00 ; 0xc23b0 + call 031a4h ; e8 ee 0d ; 0xc23b3 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc23b6 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc23b9 vgabios.c:1455 + cmp AL, strict byte 008h ; 3c 08 ; 0xc23bc + jc short 023cch ; 72 0c ; 0xc23be + jbe short 023d3h ; 76 11 ; 0xc23c0 + cmp AL, strict byte 00dh ; 3c 0d ; 0xc23c2 + je short 023deh ; 74 18 ; 0xc23c4 + cmp AL, strict byte 00ah ; 3c 0a ; 0xc23c6 + je short 023e8h ; 74 1e ; 0xc23c8 + jmp short 023ebh ; eb 1f ; 0xc23ca + cmp AL, strict byte 007h ; 3c 07 ; 0xc23cc + jne short 023ebh ; 75 1b ; 0xc23ce + jmp near 024f3h ; e9 20 01 ; 0xc23d0 + cmp byte [bp-00ch], 000h ; 80 7e f4 00 ; 0xc23d3 vgabios.c:1462 + jbe short 023e2h ; 76 09 ; 0xc23d7 + dec byte [bp-00ch] ; fe 4e f4 ; 0xc23d9 + jmp short 023e2h ; eb 04 ; 0xc23dc vgabios.c:1463 + mov byte [bp-00ch], 000h ; c6 46 f4 00 ; 0xc23de vgabios.c:1470 + jmp near 024f3h ; e9 0e 01 ; 0xc23e2 vgabios.c:1471 + jmp near 025a7h ; e9 bf 01 ; 0xc23e5 + jmp near 024f0h ; e9 05 01 ; 0xc23e8 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc23eb vgabios.c:1475 + xor bh, bh ; 30 ff ; 0xc23ee + mov si, bx ; 89 de ; 0xc23f0 + sal si, 003h ; c1 e6 03 ; 0xc23f2 + cmp byte [si+0462fh], 000h ; 80 bc 2f 46 00 ; 0xc23f5 + jne short 0244ah ; 75 4e ; 0xc23fa + mov ax, word [bp-018h] ; 8b 46 e8 ; 0xc23fc vgabios.c:1478 + mul word [bp-01ah] ; f7 66 e6 ; 0xc23ff + add ax, ax ; 01 c0 ; 0xc2402 + or AL, strict byte 0ffh ; 0c ff ; 0xc2404 + mov dx, ax ; 89 c2 ; 0xc2406 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc2408 + xor ah, ah ; 30 e4 ; 0xc240b + mov bx, ax ; 89 c3 ; 0xc240d + mov ax, dx ; 89 d0 ; 0xc240f + inc ax ; 40 ; 0xc2411 + mul bx ; f7 e3 ; 0xc2412 + mov cx, ax ; 89 c1 ; 0xc2414 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc2416 + mov ax, bx ; 89 d8 ; 0xc2419 + mul word [bp-018h] ; f7 66 e8 ; 0xc241b + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc241e + add ax, bx ; 01 d8 ; 0xc2421 + add ax, ax ; 01 c0 ; 0xc2423 + add cx, ax ; 01 c1 ; 0xc2425 + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc2427 vgabios.c:1481 + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc242a + mov dx, cx ; 89 ca ; 0xc242e + call 03196h ; e8 63 0d ; 0xc2430 + cmp byte [bp-014h], 003h ; 80 7e ec 03 ; 0xc2433 vgabios.c:1483 + jne short 02493h ; 75 5a ; 0xc2437 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc2439 vgabios.c:1484 + xor bh, bh ; 30 ff ; 0xc243c + mov dx, cx ; 89 ca ; 0xc243e + inc dx ; 42 ; 0xc2440 + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc2441 + call 03196h ; e8 4e 0d ; 0xc2445 + jmp short 02493h ; eb 49 ; 0xc2448 vgabios.c:1486 + mov bl, byte [bx+046aeh] ; 8a 9f ae 46 ; 0xc244a vgabios.c:1489 + sal bx, 006h ; c1 e3 06 ; 0xc244e + mov al, byte [bx+046c4h] ; 8a 87 c4 46 ; 0xc2451 + mov ah, byte [si+04631h] ; 8a a4 31 46 ; 0xc2455 vgabios.c:1490 + mov cl, byte [si+04630h] ; 8a 8c 30 46 ; 0xc2459 vgabios.c:1491 + cmp cl, 003h ; 80 f9 03 ; 0xc245d + jc short 02470h ; 72 0e ; 0xc2460 + jbe short 02477h ; 76 13 ; 0xc2462 + cmp cl, 005h ; 80 f9 05 ; 0xc2464 + je short 024bdh ; 74 54 ; 0xc2467 + cmp cl, 004h ; 80 f9 04 ; 0xc2469 + je short 02477h ; 74 09 ; 0xc246c + jmp short 024e0h ; eb 70 ; 0xc246e + cmp cl, 002h ; 80 f9 02 ; 0xc2470 + je short 02495h ; 74 20 ; 0xc2473 + jmp short 024e0h ; eb 69 ; 0xc2475 + xor ah, ah ; 30 e4 ; 0xc2477 vgabios.c:1495 + push ax ; 50 ; 0xc2479 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc247a + push ax ; 50 ; 0xc247d + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc247e + mov cx, ax ; 89 c1 ; 0xc2481 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc2483 + mov bx, ax ; 89 c3 ; 0xc2486 + mov dl, byte [bp-010h] ; 8a 56 f0 ; 0xc2488 + xor dh, dh ; 30 f6 ; 0xc248b + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc248d + call 01bc4h ; e8 31 f7 ; 0xc2490 + jmp short 024e0h ; eb 4b ; 0xc2493 vgabios.c:1496 + mov al, ah ; 88 e0 ; 0xc2495 vgabios.c:1498 + xor ah, ah ; 30 e4 ; 0xc2497 + push ax ; 50 ; 0xc2499 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc249a + push ax ; 50 ; 0xc249d + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc249e + mov cx, ax ; 89 c1 ; 0xc24a1 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc24a3 + mov si, ax ; 89 c6 ; 0xc24a6 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc24a8 + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc24ab + xor bh, bh ; 30 ff ; 0xc24ae + mov di, bx ; 89 df ; 0xc24b0 + mov bx, si ; 89 f3 ; 0xc24b2 + mov dx, ax ; 89 c2 ; 0xc24b4 + mov ax, di ; 89 f8 ; 0xc24b6 + call 01cbfh ; e8 04 f8 ; 0xc24b8 + jmp short 024e0h ; eb 23 ; 0xc24bb vgabios.c:1499 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc24bd vgabios.c:1501 + xor ah, ah ; 30 e4 ; 0xc24c0 + push ax ; 50 ; 0xc24c2 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc24c3 + xor bh, bh ; 30 ff ; 0xc24c6 + mov cx, bx ; 89 d9 ; 0xc24c8 + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc24ca + mov ax, bx ; 89 d8 ; 0xc24cd + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc24cf + mov dx, bx ; 89 da ; 0xc24d2 + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc24d4 + mov si, bx ; 89 de ; 0xc24d7 + mov bx, ax ; 89 c3 ; 0xc24d9 + mov ax, si ; 89 f0 ; 0xc24db + call 01df7h ; e8 17 f9 ; 0xc24dd + inc byte [bp-00ch] ; fe 46 f4 ; 0xc24e0 vgabios.c:1509 + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc24e3 vgabios.c:1511 + xor bh, bh ; 30 ff ; 0xc24e6 + cmp bx, word [bp-018h] ; 3b 5e e8 ; 0xc24e8 + jne short 024f3h ; 75 06 ; 0xc24eb + mov byte [bp-00ch], bh ; 88 7e f4 ; 0xc24ed vgabios.c:1512 + inc byte [bp-006h] ; fe 46 fa ; 0xc24f0 vgabios.c:1513 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc24f3 vgabios.c:1518 + xor bh, bh ; 30 ff ; 0xc24f6 + mov ax, word [bp-01ah] ; 8b 46 e6 ; 0xc24f8 + cmp bx, ax ; 39 c3 ; 0xc24fb + jne short 0256ah ; 75 6b ; 0xc24fd + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc24ff vgabios.c:1520 + xor bh, ah ; 30 e7 ; 0xc2502 + mov si, bx ; 89 de ; 0xc2504 + sal si, 003h ; c1 e6 03 ; 0xc2506 + mov al, byte [bp-01ah] ; 8a 46 e6 ; 0xc2509 + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc250c + mov byte [bp-012h], al ; 88 46 ee ; 0xc250e + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc2511 + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc2514 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc2516 + cmp byte [si+0462fh], 000h ; 80 bc 2f 46 00 ; 0xc2519 + jne short 0256ch ; 75 4c ; 0xc251e + mov ax, word [bp-018h] ; 8b 46 e8 ; 0xc2520 vgabios.c:1522 + mul word [bp-01ah] ; f7 66 e6 ; 0xc2523 + add ax, ax ; 01 c0 ; 0xc2526 + or AL, strict byte 0ffh ; 0c ff ; 0xc2528 + mov dl, byte [bp-016h] ; 8a 56 ea ; 0xc252a + xor dh, dh ; 30 f6 ; 0xc252d + inc ax ; 40 ; 0xc252f + mul dx ; f7 e2 ; 0xc2530 + mov cx, ax ; 89 c1 ; 0xc2532 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc2534 + xor bh, bh ; 30 ff ; 0xc2537 + lea ax, [bx-001h] ; 8d 47 ff ; 0xc2539 + mul word [bp-018h] ; f7 66 e8 ; 0xc253c + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc253f + add ax, bx ; 01 d8 ; 0xc2542 + add ax, ax ; 01 c0 ; 0xc2544 + mov dx, cx ; 89 ca ; 0xc2546 + add dx, ax ; 01 c2 ; 0xc2548 + inc dx ; 42 ; 0xc254a + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc254b + call 03188h ; e8 36 0c ; 0xc254f + push strict byte 00001h ; 6a 01 ; 0xc2552 vgabios.c:1524 + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc2554 + push bx ; 53 ; 0xc2557 + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc2558 + push bx ; 53 ; 0xc255b + mov bl, byte [bp-012h] ; 8a 5e ee ; 0xc255c + push bx ; 53 ; 0xc255f + mov bl, al ; 88 c3 ; 0xc2560 + mov dx, bx ; 89 da ; 0xc2562 + xor cx, cx ; 31 c9 ; 0xc2564 + xor bl, al ; 30 c3 ; 0xc2566 + jmp short 02581h ; eb 17 ; 0xc2568 vgabios.c:1526 + jmp short 0258ah ; eb 1e ; 0xc256a + push strict byte 00001h ; 6a 01 ; 0xc256c vgabios.c:1528 + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc256e + xor bh, bh ; 30 ff ; 0xc2571 + push bx ; 53 ; 0xc2573 + mov bl, al ; 88 c3 ; 0xc2574 + push bx ; 53 ; 0xc2576 + mov bl, byte [bp-012h] ; 8a 5e ee ; 0xc2577 + push bx ; 53 ; 0xc257a + xor cx, cx ; 31 c9 ; 0xc257b + xor bl, bl ; 30 db ; 0xc257d + xor dx, dx ; 31 d2 ; 0xc257f + mov ax, strict word 00001h ; b8 01 00 ; 0xc2581 + call 0166ah ; e8 e3 f0 ; 0xc2584 + dec byte [bp-006h] ; fe 4e fa ; 0xc2587 vgabios.c:1530 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc258a vgabios.c:1534 + xor bh, bh ; 30 ff ; 0xc258d + mov word [bp-01eh], bx ; 89 5e e2 ; 0xc258f + sal word [bp-01eh], 008h ; c1 66 e2 08 ; 0xc2592 + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc2596 + add word [bp-01eh], bx ; 01 5e e2 ; 0xc2599 + mov dx, word [bp-01eh] ; 8b 56 e2 ; 0xc259c vgabios.c:1535 + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc259f + mov ax, bx ; 89 d8 ; 0xc25a2 + call 00e79h ; e8 d2 e8 ; 0xc25a4 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc25a7 vgabios.c:1536 + pop di ; 5f ; 0xc25aa + pop si ; 5e ; 0xc25ab + pop bp ; 5d ; 0xc25ac + retn ; c3 ; 0xc25ad + ; disGetNextSymbol 0xc25ae LB 0x1887 -> off=0x0 cb=000000000000002c uValue=00000000000c25ae 'get_font_access' +get_font_access: ; 0xc25ae LB 0x2c + push bp ; 55 ; 0xc25ae vgabios.c:1539 + mov bp, sp ; 89 e5 ; 0xc25af + push dx ; 52 ; 0xc25b1 + mov ax, 00100h ; b8 00 01 ; 0xc25b2 vgabios.c:1541 + mov dx, 003c4h ; ba c4 03 ; 0xc25b5 + out DX, ax ; ef ; 0xc25b8 + mov ax, 00402h ; b8 02 04 ; 0xc25b9 vgabios.c:1542 + out DX, ax ; ef ; 0xc25bc + mov ax, 00704h ; b8 04 07 ; 0xc25bd vgabios.c:1543 + out DX, ax ; ef ; 0xc25c0 + mov ax, 00300h ; b8 00 03 ; 0xc25c1 vgabios.c:1544 + out DX, ax ; ef ; 0xc25c4 + mov ax, 00204h ; b8 04 02 ; 0xc25c5 vgabios.c:1545 + mov dx, 003ceh ; ba ce 03 ; 0xc25c8 + out DX, ax ; ef ; 0xc25cb + mov ax, strict word 00005h ; b8 05 00 ; 0xc25cc vgabios.c:1546 + out DX, ax ; ef ; 0xc25cf + mov ax, 00406h ; b8 06 04 ; 0xc25d0 vgabios.c:1547 + out DX, ax ; ef ; 0xc25d3 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc25d4 vgabios.c:1548 + pop dx ; 5a ; 0xc25d7 + pop bp ; 5d ; 0xc25d8 + retn ; c3 ; 0xc25d9 + ; disGetNextSymbol 0xc25da LB 0x185b -> off=0x0 cb=000000000000003c uValue=00000000000c25da 'release_font_access' +release_font_access: ; 0xc25da LB 0x3c + push bp ; 55 ; 0xc25da vgabios.c:1550 + mov bp, sp ; 89 e5 ; 0xc25db + push dx ; 52 ; 0xc25dd + mov ax, 00100h ; b8 00 01 ; 0xc25de vgabios.c:1552 + mov dx, 003c4h ; ba c4 03 ; 0xc25e1 + out DX, ax ; ef ; 0xc25e4 + mov ax, 00302h ; b8 02 03 ; 0xc25e5 vgabios.c:1553 + out DX, ax ; ef ; 0xc25e8 + mov ax, 00304h ; b8 04 03 ; 0xc25e9 vgabios.c:1554 + out DX, ax ; ef ; 0xc25ec + mov ax, 00300h ; b8 00 03 ; 0xc25ed vgabios.c:1555 + out DX, ax ; ef ; 0xc25f0 + mov dx, 003cch ; ba cc 03 ; 0xc25f1 vgabios.c:1556 + in AL, DX ; ec ; 0xc25f4 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc25f5 + and ax, strict word 00001h ; 25 01 00 ; 0xc25f7 + sal ax, 002h ; c1 e0 02 ; 0xc25fa + or AL, strict byte 00ah ; 0c 0a ; 0xc25fd + sal ax, 008h ; c1 e0 08 ; 0xc25ff + or AL, strict byte 006h ; 0c 06 ; 0xc2602 + mov dx, 003ceh ; ba ce 03 ; 0xc2604 + out DX, ax ; ef ; 0xc2607 + mov ax, strict word 00004h ; b8 04 00 ; 0xc2608 vgabios.c:1557 + out DX, ax ; ef ; 0xc260b + mov ax, 01005h ; b8 05 10 ; 0xc260c vgabios.c:1558 + out DX, ax ; ef ; 0xc260f + lea sp, [bp-002h] ; 8d 66 fe ; 0xc2610 vgabios.c:1559 + pop dx ; 5a ; 0xc2613 + pop bp ; 5d ; 0xc2614 + retn ; c3 ; 0xc2615 + ; disGetNextSymbol 0xc2616 LB 0x181f -> off=0x0 cb=00000000000000c2 uValue=00000000000c2616 'set_scan_lines' +set_scan_lines: ; 0xc2616 LB 0xc2 + push bp ; 55 ; 0xc2616 vgabios.c:1561 + mov bp, sp ; 89 e5 ; 0xc2617 + push bx ; 53 ; 0xc2619 + push cx ; 51 ; 0xc261a + push dx ; 52 ; 0xc261b + push si ; 56 ; 0xc261c + push di ; 57 ; 0xc261d + mov bl, al ; 88 c3 ; 0xc261e + mov dx, strict word 00063h ; ba 63 00 ; 0xc2620 vgabios.c:1566 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2623 + call 031a4h ; e8 7b 0b ; 0xc2626 + mov dx, ax ; 89 c2 ; 0xc2629 + mov si, ax ; 89 c6 ; 0xc262b + mov AL, strict byte 009h ; b0 09 ; 0xc262d vgabios.c:1567 + out DX, AL ; ee ; 0xc262f + inc dx ; 42 ; 0xc2630 vgabios.c:1568 + in AL, DX ; ec ; 0xc2631 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2632 + mov ah, al ; 88 c4 ; 0xc2634 vgabios.c:1569 + and ah, 0e0h ; 80 e4 e0 ; 0xc2636 + mov al, bl ; 88 d8 ; 0xc2639 + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc263b + or al, ah ; 08 e0 ; 0xc263d + out DX, AL ; ee ; 0xc263f vgabios.c:1570 + cmp bl, 008h ; 80 fb 08 ; 0xc2640 vgabios.c:1571 + jne short 0264dh ; 75 08 ; 0xc2643 + mov dx, strict word 00007h ; ba 07 00 ; 0xc2645 vgabios.c:1573 + mov ax, strict word 00006h ; b8 06 00 ; 0xc2648 + jmp short 0265ah ; eb 0d ; 0xc264b vgabios.c:1575 + mov dl, bl ; 88 da ; 0xc264d vgabios.c:1577 + sub dl, 003h ; 80 ea 03 ; 0xc264f + xor dh, dh ; 30 f6 ; 0xc2652 + mov al, bl ; 88 d8 ; 0xc2654 + sub AL, strict byte 004h ; 2c 04 ; 0xc2656 + xor ah, ah ; 30 e4 ; 0xc2658 + call 00dcbh ; e8 6e e7 ; 0xc265a + mov cl, bl ; 88 d9 ; 0xc265d vgabios.c:1579 + xor ch, ch ; 30 ed ; 0xc265f + mov bx, cx ; 89 cb ; 0xc2661 + mov dx, 00085h ; ba 85 00 ; 0xc2663 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2666 + call 031b2h ; e8 46 0b ; 0xc2669 + mov AL, strict byte 012h ; b0 12 ; 0xc266c vgabios.c:1580 + mov dx, si ; 89 f2 ; 0xc266e + out DX, AL ; ee ; 0xc2670 + lea bx, [si+001h] ; 8d 5c 01 ; 0xc2671 vgabios.c:1581 + mov dx, bx ; 89 da ; 0xc2674 + in AL, DX ; ec ; 0xc2676 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2677 + mov di, ax ; 89 c7 ; 0xc2679 + mov AL, strict byte 007h ; b0 07 ; 0xc267b vgabios.c:1582 + mov dx, si ; 89 f2 ; 0xc267d + out DX, AL ; ee ; 0xc267f + mov dx, bx ; 89 da ; 0xc2680 vgabios.c:1583 + in AL, DX ; ec ; 0xc2682 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2683 + mov dl, al ; 88 c2 ; 0xc2685 vgabios.c:1584 + and dl, 002h ; 80 e2 02 ; 0xc2687 + xor dh, bh ; 30 fe ; 0xc268a + sal dx, 007h ; c1 e2 07 ; 0xc268c + and AL, strict byte 040h ; 24 40 ; 0xc268f + xor ah, ah ; 30 e4 ; 0xc2691 + sal ax, 003h ; c1 e0 03 ; 0xc2693 + add ax, dx ; 01 d0 ; 0xc2696 + inc ax ; 40 ; 0xc2698 + add ax, di ; 01 f8 ; 0xc2699 + xor dx, dx ; 31 d2 ; 0xc269b vgabios.c:1585 + div cx ; f7 f1 ; 0xc269d + mov cx, ax ; 89 c1 ; 0xc269f + mov bl, al ; 88 c3 ; 0xc26a1 vgabios.c:1586 + db 0feh, 0cbh + ; dec bl ; fe cb ; 0xc26a3 + xor bh, bh ; 30 ff ; 0xc26a5 + mov dx, 00084h ; ba 84 00 ; 0xc26a7 + mov ax, strict word 00040h ; b8 40 00 ; 0xc26aa + call 03196h ; e8 e6 0a ; 0xc26ad + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc26b0 vgabios.c:1587 + mov ax, strict word 00040h ; b8 40 00 ; 0xc26b3 + call 031a4h ; e8 eb 0a ; 0xc26b6 + mov dx, ax ; 89 c2 ; 0xc26b9 + mov al, cl ; 88 c8 ; 0xc26bb vgabios.c:1588 + xor ah, ah ; 30 e4 ; 0xc26bd + mul dx ; f7 e2 ; 0xc26bf + mov bx, ax ; 89 c3 ; 0xc26c1 + add bx, ax ; 01 c3 ; 0xc26c3 + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc26c5 + mov ax, strict word 00040h ; b8 40 00 ; 0xc26c8 + call 031b2h ; e8 e4 0a ; 0xc26cb + lea sp, [bp-00ah] ; 8d 66 f6 ; 0xc26ce vgabios.c:1589 + pop di ; 5f ; 0xc26d1 + pop si ; 5e ; 0xc26d2 + pop dx ; 5a ; 0xc26d3 + pop cx ; 59 ; 0xc26d4 + pop bx ; 5b ; 0xc26d5 + pop bp ; 5d ; 0xc26d6 + retn ; c3 ; 0xc26d7 + ; disGetNextSymbol 0xc26d8 LB 0x175d -> off=0x0 cb=0000000000000080 uValue=00000000000c26d8 'biosfn_load_text_user_pat' +biosfn_load_text_user_pat: ; 0xc26d8 LB 0x80 + push bp ; 55 ; 0xc26d8 vgabios.c:1591 + mov bp, sp ; 89 e5 ; 0xc26d9 + push si ; 56 ; 0xc26db + push di ; 57 ; 0xc26dc + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc26dd + mov byte [bp-006h], al ; 88 46 fa ; 0xc26e0 + mov word [bp-00ch], dx ; 89 56 f4 ; 0xc26e3 + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc26e6 + mov word [bp-00eh], cx ; 89 4e f2 ; 0xc26e9 + call 025aeh ; e8 bf fe ; 0xc26ec vgabios.c:1596 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc26ef vgabios.c:1597 + and AL, strict byte 003h ; 24 03 ; 0xc26f2 + xor ah, ah ; 30 e4 ; 0xc26f4 + mov bx, ax ; 89 c3 ; 0xc26f6 + sal bx, 00eh ; c1 e3 0e ; 0xc26f8 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc26fb + and AL, strict byte 004h ; 24 04 ; 0xc26fe + sal ax, 00bh ; c1 e0 0b ; 0xc2700 + add bx, ax ; 01 c3 ; 0xc2703 + mov word [bp-008h], bx ; 89 5e f8 ; 0xc2705 + xor bx, bx ; 31 db ; 0xc2708 vgabios.c:1598 + cmp bx, word [bp-00eh] ; 3b 5e f2 ; 0xc270a + jnc short 0273eh ; 73 2f ; 0xc270d + mov cl, byte [bp+008h] ; 8a 4e 08 ; 0xc270f vgabios.c:1600 + xor ch, ch ; 30 ed ; 0xc2712 + mov ax, bx ; 89 d8 ; 0xc2714 + mul cx ; f7 e1 ; 0xc2716 + mov si, word [bp-00ah] ; 8b 76 f6 ; 0xc2718 + add si, ax ; 01 c6 ; 0xc271b + mov ax, word [bp+004h] ; 8b 46 04 ; 0xc271d vgabios.c:1601 + add ax, bx ; 01 d8 ; 0xc2720 + sal ax, 005h ; c1 e0 05 ; 0xc2722 + mov di, word [bp-008h] ; 8b 7e f8 ; 0xc2725 + add di, ax ; 01 c7 ; 0xc2728 + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc272a vgabios.c:1602 + mov ax, 0a000h ; b8 00 a0 ; 0xc272d + mov es, ax ; 8e c0 ; 0xc2730 + cld ; fc ; 0xc2732 + jcxz 0273bh ; e3 06 ; 0xc2733 + push DS ; 1e ; 0xc2735 + mov ds, dx ; 8e da ; 0xc2736 + rep movsb ; f3 a4 ; 0xc2738 + pop DS ; 1f ; 0xc273a + inc bx ; 43 ; 0xc273b vgabios.c:1603 + jmp short 0270ah ; eb cc ; 0xc273c + call 025dah ; e8 99 fe ; 0xc273e vgabios.c:1604 + cmp byte [bp-006h], 010h ; 80 7e fa 10 ; 0xc2741 vgabios.c:1605 + jc short 0274fh ; 72 08 ; 0xc2745 + mov al, byte [bp+008h] ; 8a 46 08 ; 0xc2747 vgabios.c:1607 + xor ah, ah ; 30 e4 ; 0xc274a + call 02616h ; e8 c7 fe ; 0xc274c + lea sp, [bp-004h] ; 8d 66 fc ; 0xc274f vgabios.c:1609 + pop di ; 5f ; 0xc2752 + pop si ; 5e ; 0xc2753 + pop bp ; 5d ; 0xc2754 + retn 00006h ; c2 06 00 ; 0xc2755 + ; disGetNextSymbol 0xc2758 LB 0x16dd -> off=0x0 cb=000000000000006e uValue=00000000000c2758 'biosfn_load_text_8_14_pat' +biosfn_load_text_8_14_pat: ; 0xc2758 LB 0x6e + push bp ; 55 ; 0xc2758 vgabios.c:1611 + mov bp, sp ; 89 e5 ; 0xc2759 + push bx ; 53 ; 0xc275b + push cx ; 51 ; 0xc275c + push si ; 56 ; 0xc275d + push di ; 57 ; 0xc275e + push ax ; 50 ; 0xc275f + push ax ; 50 ; 0xc2760 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc2761 + call 025aeh ; e8 47 fe ; 0xc2764 vgabios.c:1615 + mov al, dl ; 88 d0 ; 0xc2767 vgabios.c:1616 + and AL, strict byte 003h ; 24 03 ; 0xc2769 + xor ah, ah ; 30 e4 ; 0xc276b + mov bx, ax ; 89 c3 ; 0xc276d + sal bx, 00eh ; c1 e3 0e ; 0xc276f + mov al, dl ; 88 d0 ; 0xc2772 + and AL, strict byte 004h ; 24 04 ; 0xc2774 + sal ax, 00bh ; c1 e0 0b ; 0xc2776 + add bx, ax ; 01 c3 ; 0xc2779 + mov word [bp-00ch], bx ; 89 5e f4 ; 0xc277b + xor bx, bx ; 31 db ; 0xc277e vgabios.c:1617 + jmp short 02788h ; eb 06 ; 0xc2780 + cmp bx, 00100h ; 81 fb 00 01 ; 0xc2782 + jnc short 027aeh ; 73 26 ; 0xc2786 + imul si, bx, strict byte 0000eh ; 6b f3 0e ; 0xc2788 vgabios.c:1619 + mov di, bx ; 89 df ; 0xc278b vgabios.c:1620 + sal di, 005h ; c1 e7 05 ; 0xc278d + add di, word [bp-00ch] ; 03 7e f4 ; 0xc2790 + add si, 05bech ; 81 c6 ec 5b ; 0xc2793 vgabios.c:1621 + mov cx, strict word 0000eh ; b9 0e 00 ; 0xc2797 + mov dx, 0c000h ; ba 00 c0 ; 0xc279a + mov ax, 0a000h ; b8 00 a0 ; 0xc279d + mov es, ax ; 8e c0 ; 0xc27a0 + cld ; fc ; 0xc27a2 + jcxz 027abh ; e3 06 ; 0xc27a3 + push DS ; 1e ; 0xc27a5 + mov ds, dx ; 8e da ; 0xc27a6 + rep movsb ; f3 a4 ; 0xc27a8 + pop DS ; 1f ; 0xc27aa + inc bx ; 43 ; 0xc27ab vgabios.c:1622 + jmp short 02782h ; eb d4 ; 0xc27ac + call 025dah ; e8 29 fe ; 0xc27ae vgabios.c:1623 + cmp byte [bp-00ah], 010h ; 80 7e f6 10 ; 0xc27b1 vgabios.c:1624 + jc short 027bdh ; 72 06 ; 0xc27b5 + mov ax, strict word 0000eh ; b8 0e 00 ; 0xc27b7 vgabios.c:1626 + call 02616h ; e8 59 fe ; 0xc27ba + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc27bd vgabios.c:1628 + pop di ; 5f ; 0xc27c0 + pop si ; 5e ; 0xc27c1 + pop cx ; 59 ; 0xc27c2 + pop bx ; 5b ; 0xc27c3 + pop bp ; 5d ; 0xc27c4 + retn ; c3 ; 0xc27c5 + ; disGetNextSymbol 0xc27c6 LB 0x166f -> off=0x0 cb=0000000000000070 uValue=00000000000c27c6 'biosfn_load_text_8_8_pat' +biosfn_load_text_8_8_pat: ; 0xc27c6 LB 0x70 + push bp ; 55 ; 0xc27c6 vgabios.c:1630 + mov bp, sp ; 89 e5 ; 0xc27c7 + push bx ; 53 ; 0xc27c9 + push cx ; 51 ; 0xc27ca + push si ; 56 ; 0xc27cb + push di ; 57 ; 0xc27cc + push ax ; 50 ; 0xc27cd + push ax ; 50 ; 0xc27ce + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc27cf + call 025aeh ; e8 d9 fd ; 0xc27d2 vgabios.c:1634 + mov al, dl ; 88 d0 ; 0xc27d5 vgabios.c:1635 + and AL, strict byte 003h ; 24 03 ; 0xc27d7 + xor ah, ah ; 30 e4 ; 0xc27d9 + mov bx, ax ; 89 c3 ; 0xc27db + sal bx, 00eh ; c1 e3 0e ; 0xc27dd + mov al, dl ; 88 d0 ; 0xc27e0 + and AL, strict byte 004h ; 24 04 ; 0xc27e2 + sal ax, 00bh ; c1 e0 0b ; 0xc27e4 + add bx, ax ; 01 c3 ; 0xc27e7 + mov word [bp-00ch], bx ; 89 5e f4 ; 0xc27e9 + xor bx, bx ; 31 db ; 0xc27ec vgabios.c:1636 + jmp short 027f6h ; eb 06 ; 0xc27ee + cmp bx, 00100h ; 81 fb 00 01 ; 0xc27f0 + jnc short 0281eh ; 73 28 ; 0xc27f4 + mov si, bx ; 89 de ; 0xc27f6 vgabios.c:1638 + sal si, 003h ; c1 e6 03 ; 0xc27f8 + mov di, bx ; 89 df ; 0xc27fb vgabios.c:1639 + sal di, 005h ; c1 e7 05 ; 0xc27fd + add di, word [bp-00ch] ; 03 7e f4 ; 0xc2800 + add si, 053ech ; 81 c6 ec 53 ; 0xc2803 vgabios.c:1640 + mov cx, strict word 00008h ; b9 08 00 ; 0xc2807 + mov dx, 0c000h ; ba 00 c0 ; 0xc280a + mov ax, 0a000h ; b8 00 a0 ; 0xc280d + mov es, ax ; 8e c0 ; 0xc2810 + cld ; fc ; 0xc2812 + jcxz 0281bh ; e3 06 ; 0xc2813 + push DS ; 1e ; 0xc2815 + mov ds, dx ; 8e da ; 0xc2816 + rep movsb ; f3 a4 ; 0xc2818 + pop DS ; 1f ; 0xc281a + inc bx ; 43 ; 0xc281b vgabios.c:1641 + jmp short 027f0h ; eb d2 ; 0xc281c + call 025dah ; e8 b9 fd ; 0xc281e vgabios.c:1642 + cmp byte [bp-00ah], 010h ; 80 7e f6 10 ; 0xc2821 vgabios.c:1643 + jc short 0282dh ; 72 06 ; 0xc2825 + mov ax, strict word 00008h ; b8 08 00 ; 0xc2827 vgabios.c:1645 + call 02616h ; e8 e9 fd ; 0xc282a + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc282d vgabios.c:1647 + pop di ; 5f ; 0xc2830 + pop si ; 5e ; 0xc2831 + pop cx ; 59 ; 0xc2832 + pop bx ; 5b ; 0xc2833 + pop bp ; 5d ; 0xc2834 + retn ; c3 ; 0xc2835 + ; disGetNextSymbol 0xc2836 LB 0x15ff -> off=0x0 cb=0000000000000070 uValue=00000000000c2836 'biosfn_load_text_8_16_pat' +biosfn_load_text_8_16_pat: ; 0xc2836 LB 0x70 + push bp ; 55 ; 0xc2836 vgabios.c:1650 + mov bp, sp ; 89 e5 ; 0xc2837 + push bx ; 53 ; 0xc2839 + push cx ; 51 ; 0xc283a + push si ; 56 ; 0xc283b + push di ; 57 ; 0xc283c + push ax ; 50 ; 0xc283d + push ax ; 50 ; 0xc283e + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc283f + call 025aeh ; e8 69 fd ; 0xc2842 vgabios.c:1654 + mov al, dl ; 88 d0 ; 0xc2845 vgabios.c:1655 + and AL, strict byte 003h ; 24 03 ; 0xc2847 + xor ah, ah ; 30 e4 ; 0xc2849 + mov bx, ax ; 89 c3 ; 0xc284b + sal bx, 00eh ; c1 e3 0e ; 0xc284d + mov al, dl ; 88 d0 ; 0xc2850 + and AL, strict byte 004h ; 24 04 ; 0xc2852 + sal ax, 00bh ; c1 e0 0b ; 0xc2854 + add bx, ax ; 01 c3 ; 0xc2857 + mov word [bp-00ch], bx ; 89 5e f4 ; 0xc2859 + xor bx, bx ; 31 db ; 0xc285c vgabios.c:1656 + jmp short 02866h ; eb 06 ; 0xc285e + cmp bx, 00100h ; 81 fb 00 01 ; 0xc2860 + jnc short 0288eh ; 73 28 ; 0xc2864 + mov si, bx ; 89 de ; 0xc2866 vgabios.c:1658 + sal si, 004h ; c1 e6 04 ; 0xc2868 + mov di, bx ; 89 df ; 0xc286b vgabios.c:1659 + sal di, 005h ; c1 e7 05 ; 0xc286d + add di, word [bp-00ch] ; 03 7e f4 ; 0xc2870 + add si, 069ech ; 81 c6 ec 69 ; 0xc2873 vgabios.c:1660 + mov cx, strict word 00010h ; b9 10 00 ; 0xc2877 + mov dx, 0c000h ; ba 00 c0 ; 0xc287a + mov ax, 0a000h ; b8 00 a0 ; 0xc287d + mov es, ax ; 8e c0 ; 0xc2880 + cld ; fc ; 0xc2882 + jcxz 0288bh ; e3 06 ; 0xc2883 + push DS ; 1e ; 0xc2885 + mov ds, dx ; 8e da ; 0xc2886 + rep movsb ; f3 a4 ; 0xc2888 + pop DS ; 1f ; 0xc288a + inc bx ; 43 ; 0xc288b vgabios.c:1661 + jmp short 02860h ; eb d2 ; 0xc288c + call 025dah ; e8 49 fd ; 0xc288e vgabios.c:1662 + cmp byte [bp-00ah], 010h ; 80 7e f6 10 ; 0xc2891 vgabios.c:1663 + jc short 0289dh ; 72 06 ; 0xc2895 + mov ax, strict word 00010h ; b8 10 00 ; 0xc2897 vgabios.c:1665 + call 02616h ; e8 79 fd ; 0xc289a + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc289d vgabios.c:1667 + pop di ; 5f ; 0xc28a0 + pop si ; 5e ; 0xc28a1 + pop cx ; 59 ; 0xc28a2 + pop bx ; 5b ; 0xc28a3 + pop bp ; 5d ; 0xc28a4 + retn ; c3 ; 0xc28a5 + ; disGetNextSymbol 0xc28a6 LB 0x158f -> off=0x0 cb=0000000000000005 uValue=00000000000c28a6 'biosfn_load_gfx_8_8_chars' +biosfn_load_gfx_8_8_chars: ; 0xc28a6 LB 0x5 + push bp ; 55 ; 0xc28a6 vgabios.c:1669 + mov bp, sp ; 89 e5 ; 0xc28a7 + pop bp ; 5d ; 0xc28a9 vgabios.c:1674 + retn ; c3 ; 0xc28aa + ; disGetNextSymbol 0xc28ab LB 0x158a -> off=0x0 cb=0000000000000007 uValue=00000000000c28ab 'biosfn_load_gfx_user_chars' +biosfn_load_gfx_user_chars: ; 0xc28ab LB 0x7 + push bp ; 55 ; 0xc28ab vgabios.c:1675 + mov bp, sp ; 89 e5 ; 0xc28ac + pop bp ; 5d ; 0xc28ae vgabios.c:1681 + retn 00002h ; c2 02 00 ; 0xc28af + ; disGetNextSymbol 0xc28b2 LB 0x1583 -> off=0x0 cb=0000000000000005 uValue=00000000000c28b2 'biosfn_load_gfx_8_14_chars' +biosfn_load_gfx_8_14_chars: ; 0xc28b2 LB 0x5 + push bp ; 55 ; 0xc28b2 vgabios.c:1682 + mov bp, sp ; 89 e5 ; 0xc28b3 + pop bp ; 5d ; 0xc28b5 vgabios.c:1687 + retn ; c3 ; 0xc28b6 + ; disGetNextSymbol 0xc28b7 LB 0x157e -> off=0x0 cb=0000000000000005 uValue=00000000000c28b7 'biosfn_load_gfx_8_8_dd_chars' +biosfn_load_gfx_8_8_dd_chars: ; 0xc28b7 LB 0x5 + push bp ; 55 ; 0xc28b7 vgabios.c:1688 + mov bp, sp ; 89 e5 ; 0xc28b8 + pop bp ; 5d ; 0xc28ba vgabios.c:1693 + retn ; c3 ; 0xc28bb + ; disGetNextSymbol 0xc28bc LB 0x1579 -> off=0x0 cb=0000000000000005 uValue=00000000000c28bc 'biosfn_load_gfx_8_16_chars' +biosfn_load_gfx_8_16_chars: ; 0xc28bc LB 0x5 + push bp ; 55 ; 0xc28bc vgabios.c:1694 + mov bp, sp ; 89 e5 ; 0xc28bd + pop bp ; 5d ; 0xc28bf vgabios.c:1699 + retn ; c3 ; 0xc28c0 + ; disGetNextSymbol 0xc28c1 LB 0x1574 -> off=0x0 cb=0000000000000005 uValue=00000000000c28c1 'biosfn_alternate_prtsc' +biosfn_alternate_prtsc: ; 0xc28c1 LB 0x5 + push bp ; 55 ; 0xc28c1 vgabios.c:1701 + mov bp, sp ; 89 e5 ; 0xc28c2 + pop bp ; 5d ; 0xc28c4 vgabios.c:1706 + retn ; c3 ; 0xc28c5 + ; disGetNextSymbol 0xc28c6 LB 0x156f -> off=0x0 cb=0000000000000005 uValue=00000000000c28c6 'biosfn_switch_video_interface' +biosfn_switch_video_interface: ; 0xc28c6 LB 0x5 + push bp ; 55 ; 0xc28c6 vgabios.c:1709 + mov bp, sp ; 89 e5 ; 0xc28c7 + pop bp ; 5d ; 0xc28c9 vgabios.c:1714 + retn ; c3 ; 0xc28ca + ; disGetNextSymbol 0xc28cb LB 0x156a -> off=0x0 cb=0000000000000005 uValue=00000000000c28cb 'biosfn_enable_video_refresh_control' +biosfn_enable_video_refresh_control: ; 0xc28cb LB 0x5 + push bp ; 55 ; 0xc28cb vgabios.c:1715 + mov bp, sp ; 89 e5 ; 0xc28cc + pop bp ; 5d ; 0xc28ce vgabios.c:1720 + retn ; c3 ; 0xc28cf + ; disGetNextSymbol 0xc28d0 LB 0x1565 -> off=0x0 cb=00000000000000a2 uValue=00000000000c28d0 'biosfn_write_string' +biosfn_write_string: ; 0xc28d0 LB 0xa2 + push bp ; 55 ; 0xc28d0 vgabios.c:1723 + mov bp, sp ; 89 e5 ; 0xc28d1 + push si ; 56 ; 0xc28d3 + push di ; 57 ; 0xc28d4 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc28d5 + mov byte [bp-006h], al ; 88 46 fa ; 0xc28d8 + mov byte [bp-00ah], dl ; 88 56 f6 ; 0xc28db + mov byte [bp-008h], bl ; 88 5e f8 ; 0xc28de + mov si, cx ; 89 ce ; 0xc28e1 + mov di, word [bp+00ah] ; 8b 7e 0a ; 0xc28e3 + mov al, dl ; 88 d0 ; 0xc28e6 vgabios.c:1730 + xor ah, ah ; 30 e4 ; 0xc28e8 + lea bx, [bp-00eh] ; 8d 5e f2 ; 0xc28ea + lea dx, [bp-00ch] ; 8d 56 f4 ; 0xc28ed + call 00a8bh ; e8 98 e1 ; 0xc28f0 + cmp byte [bp+004h], 0ffh ; 80 7e 04 ff ; 0xc28f3 vgabios.c:1733 + jne short 0290ah ; 75 11 ; 0xc28f7 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc28f9 vgabios.c:1734 + mov byte [bp+006h], al ; 88 46 06 ; 0xc28fc + mov ax, word [bp-00eh] ; 8b 46 f2 ; 0xc28ff vgabios.c:1735 + xor al, al ; 30 c0 ; 0xc2902 + shr ax, 008h ; c1 e8 08 ; 0xc2904 + mov byte [bp+004h], al ; 88 46 04 ; 0xc2907 + mov dl, byte [bp+004h] ; 8a 56 04 ; 0xc290a vgabios.c:1738 + xor dh, dh ; 30 f6 ; 0xc290d + sal dx, 008h ; c1 e2 08 ; 0xc290f + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc2912 + xor ah, ah ; 30 e4 ; 0xc2915 + add dx, ax ; 01 c2 ; 0xc2917 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2919 vgabios.c:1739 + call 00e79h ; e8 5a e5 ; 0xc291c + dec si ; 4e ; 0xc291f vgabios.c:1741 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc2920 + je short 02958h ; 74 33 ; 0xc2923 + mov dx, di ; 89 fa ; 0xc2925 vgabios.c:1743 + inc di ; 47 ; 0xc2927 + mov ax, word [bp+008h] ; 8b 46 08 ; 0xc2928 + call 03188h ; e8 5a 08 ; 0xc292b + mov cl, al ; 88 c1 ; 0xc292e + test byte [bp-006h], 002h ; f6 46 fa 02 ; 0xc2930 vgabios.c:1744 + je short 02942h ; 74 0c ; 0xc2934 + mov dx, di ; 89 fa ; 0xc2936 vgabios.c:1745 + inc di ; 47 ; 0xc2938 + mov ax, word [bp+008h] ; 8b 46 08 ; 0xc2939 + call 03188h ; e8 49 08 ; 0xc293c + mov byte [bp-008h], al ; 88 46 f8 ; 0xc293f + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc2942 vgabios.c:1747 + xor ah, ah ; 30 e4 ; 0xc2945 + mov bx, ax ; 89 c3 ; 0xc2947 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2949 + mov dx, ax ; 89 c2 ; 0xc294c + mov al, cl ; 88 c8 ; 0xc294e + mov cx, strict word 00003h ; b9 03 00 ; 0xc2950 + call 0233fh ; e8 e9 f9 ; 0xc2953 + jmp short 0291fh ; eb c7 ; 0xc2956 vgabios.c:1748 + test byte [bp-006h], 001h ; f6 46 fa 01 ; 0xc2958 vgabios.c:1751 + jne short 02969h ; 75 0b ; 0xc295c + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc295e vgabios.c:1752 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2961 + xor ah, ah ; 30 e4 ; 0xc2964 + call 00e79h ; e8 10 e5 ; 0xc2966 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc2969 vgabios.c:1753 + pop di ; 5f ; 0xc296c + pop si ; 5e ; 0xc296d + pop bp ; 5d ; 0xc296e + retn 00008h ; c2 08 00 ; 0xc296f + ; disGetNextSymbol 0xc2972 LB 0x14c3 -> off=0x0 cb=0000000000000102 uValue=00000000000c2972 'biosfn_read_state_info' +biosfn_read_state_info: ; 0xc2972 LB 0x102 + push bp ; 55 ; 0xc2972 vgabios.c:1756 + mov bp, sp ; 89 e5 ; 0xc2973 + push cx ; 51 ; 0xc2975 + push si ; 56 ; 0xc2976 + push di ; 57 ; 0xc2977 + push dx ; 52 ; 0xc2978 + push bx ; 53 ; 0xc2979 + mov cx, ds ; 8c d9 ; 0xc297a vgabios.c:1759 + mov bx, 05382h ; bb 82 53 ; 0xc297c + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc297f + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2982 + call 031d2h ; e8 4a 08 ; 0xc2985 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc2988 vgabios.c:1762 + add di, strict byte 00004h ; 83 c7 04 ; 0xc298b + mov cx, strict word 0001eh ; b9 1e 00 ; 0xc298e + mov si, strict word 00049h ; be 49 00 ; 0xc2991 + mov dx, strict word 00040h ; ba 40 00 ; 0xc2994 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc2997 + cld ; fc ; 0xc299a + jcxz 029a3h ; e3 06 ; 0xc299b + push DS ; 1e ; 0xc299d + mov ds, dx ; 8e da ; 0xc299e + rep movsb ; f3 a4 ; 0xc29a0 + pop DS ; 1f ; 0xc29a2 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc29a3 vgabios.c:1763 + add di, strict byte 00022h ; 83 c7 22 ; 0xc29a6 + mov cx, strict word 00003h ; b9 03 00 ; 0xc29a9 + mov si, 00084h ; be 84 00 ; 0xc29ac + mov dx, strict word 00040h ; ba 40 00 ; 0xc29af + mov es, [bp-008h] ; 8e 46 f8 ; 0xc29b2 + cld ; fc ; 0xc29b5 + jcxz 029beh ; e3 06 ; 0xc29b6 + push DS ; 1e ; 0xc29b8 + mov ds, dx ; 8e da ; 0xc29b9 + rep movsb ; f3 a4 ; 0xc29bb + pop DS ; 1f ; 0xc29bd + mov dx, 0008ah ; ba 8a 00 ; 0xc29be vgabios.c:1765 + mov ax, strict word 00040h ; b8 40 00 ; 0xc29c1 + call 03188h ; e8 c1 07 ; 0xc29c4 + mov bl, al ; 88 c3 ; 0xc29c7 + xor bh, bh ; 30 ff ; 0xc29c9 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc29cb + add dx, strict byte 00025h ; 83 c2 25 ; 0xc29ce + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc29d1 + call 03196h ; e8 bf 07 ; 0xc29d4 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc29d7 vgabios.c:1766 + add dx, strict byte 00026h ; 83 c2 26 ; 0xc29da + xor bx, bx ; 31 db ; 0xc29dd + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc29df + call 03196h ; e8 b1 07 ; 0xc29e2 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc29e5 vgabios.c:1767 + add dx, strict byte 00027h ; 83 c2 27 ; 0xc29e8 + mov bx, strict word 00010h ; bb 10 00 ; 0xc29eb + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc29ee + call 03196h ; e8 a2 07 ; 0xc29f1 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc29f4 vgabios.c:1768 + add dx, strict byte 00028h ; 83 c2 28 ; 0xc29f7 + xor bx, bx ; 31 db ; 0xc29fa + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc29fc + call 03196h ; e8 94 07 ; 0xc29ff + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a02 vgabios.c:1769 + add dx, strict byte 00029h ; 83 c2 29 ; 0xc2a05 + mov bx, strict word 00008h ; bb 08 00 ; 0xc2a08 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a0b + call 03196h ; e8 85 07 ; 0xc2a0e + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a11 vgabios.c:1770 + add dx, strict byte 0002ah ; 83 c2 2a ; 0xc2a14 + mov bx, strict word 00002h ; bb 02 00 ; 0xc2a17 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a1a + call 03196h ; e8 76 07 ; 0xc2a1d + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a20 vgabios.c:1771 + add dx, strict byte 0002bh ; 83 c2 2b ; 0xc2a23 + xor bx, bx ; 31 db ; 0xc2a26 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a28 + call 03196h ; e8 68 07 ; 0xc2a2b + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a2e vgabios.c:1772 + add dx, strict byte 0002ch ; 83 c2 2c ; 0xc2a31 + xor bx, bx ; 31 db ; 0xc2a34 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a36 + call 03196h ; e8 5a 07 ; 0xc2a39 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a3c vgabios.c:1773 + add dx, strict byte 00031h ; 83 c2 31 ; 0xc2a3f + mov bx, strict word 00003h ; bb 03 00 ; 0xc2a42 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a45 + call 03196h ; e8 4b 07 ; 0xc2a48 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a4b vgabios.c:1774 + add dx, strict byte 00032h ; 83 c2 32 ; 0xc2a4e + xor bx, bx ; 31 db ; 0xc2a51 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a53 + call 03196h ; e8 3d 07 ; 0xc2a56 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc2a59 vgabios.c:1776 + add di, strict byte 00033h ; 83 c7 33 ; 0xc2a5c + mov cx, strict word 0000dh ; b9 0d 00 ; 0xc2a5f + xor ax, ax ; 31 c0 ; 0xc2a62 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc2a64 + cld ; fc ; 0xc2a67 + jcxz 02a6ch ; e3 02 ; 0xc2a68 + rep stosb ; f3 aa ; 0xc2a6a + lea sp, [bp-006h] ; 8d 66 fa ; 0xc2a6c vgabios.c:1777 + pop di ; 5f ; 0xc2a6f + pop si ; 5e ; 0xc2a70 + pop cx ; 59 ; 0xc2a71 + pop bp ; 5d ; 0xc2a72 + retn ; c3 ; 0xc2a73 + ; disGetNextSymbol 0xc2a74 LB 0x13c1 -> off=0x0 cb=0000000000000023 uValue=00000000000c2a74 'biosfn_read_video_state_size2' +biosfn_read_video_state_size2: ; 0xc2a74 LB 0x23 + push dx ; 52 ; 0xc2a74 vgabios.c:1780 + push bp ; 55 ; 0xc2a75 + mov bp, sp ; 89 e5 ; 0xc2a76 + mov dx, ax ; 89 c2 ; 0xc2a78 + xor ax, ax ; 31 c0 ; 0xc2a7a vgabios.c:1784 + test dl, 001h ; f6 c2 01 ; 0xc2a7c vgabios.c:1785 + je short 02a84h ; 74 03 ; 0xc2a7f + mov ax, strict word 00046h ; b8 46 00 ; 0xc2a81 vgabios.c:1786 + test dl, 002h ; f6 c2 02 ; 0xc2a84 vgabios.c:1788 + je short 02a8ch ; 74 03 ; 0xc2a87 + add ax, strict word 0002ah ; 05 2a 00 ; 0xc2a89 vgabios.c:1789 + test dl, 004h ; f6 c2 04 ; 0xc2a8c vgabios.c:1791 + je short 02a94h ; 74 03 ; 0xc2a8f + add ax, 00304h ; 05 04 03 ; 0xc2a91 vgabios.c:1792 + pop bp ; 5d ; 0xc2a94 vgabios.c:1796 + pop dx ; 5a ; 0xc2a95 + retn ; c3 ; 0xc2a96 + ; disGetNextSymbol 0xc2a97 LB 0x139e -> off=0x0 cb=0000000000000012 uValue=00000000000c2a97 'vga_get_video_state_size' +vga_get_video_state_size: ; 0xc2a97 LB 0x12 + push bp ; 55 ; 0xc2a97 vgabios.c:1798 + mov bp, sp ; 89 e5 ; 0xc2a98 + push bx ; 53 ; 0xc2a9a + mov bx, dx ; 89 d3 ; 0xc2a9b + call 02a74h ; e8 d4 ff ; 0xc2a9d vgabios.c:1800 + mov word [ss:bx], ax ; 36 89 07 ; 0xc2aa0 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc2aa3 vgabios.c:1801 + pop bx ; 5b ; 0xc2aa6 + pop bp ; 5d ; 0xc2aa7 + retn ; c3 ; 0xc2aa8 + ; disGetNextSymbol 0xc2aa9 LB 0x138c -> off=0x0 cb=0000000000000381 uValue=00000000000c2aa9 'biosfn_save_video_state' +biosfn_save_video_state: ; 0xc2aa9 LB 0x381 + push bp ; 55 ; 0xc2aa9 vgabios.c:1803 + mov bp, sp ; 89 e5 ; 0xc2aaa + push cx ; 51 ; 0xc2aac + push si ; 56 ; 0xc2aad + push di ; 57 ; 0xc2aae + push ax ; 50 ; 0xc2aaf + push ax ; 50 ; 0xc2ab0 + push ax ; 50 ; 0xc2ab1 + mov si, dx ; 89 d6 ; 0xc2ab2 + mov cx, bx ; 89 d9 ; 0xc2ab4 + mov dx, strict word 00063h ; ba 63 00 ; 0xc2ab6 vgabios.c:1807 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2ab9 + call 031a4h ; e8 e5 06 ; 0xc2abc + mov di, ax ; 89 c7 ; 0xc2abf + test byte [bp-00ch], 001h ; f6 46 f4 01 ; 0xc2ac1 vgabios.c:1808 + je short 02b35h ; 74 6e ; 0xc2ac5 + mov dx, 003c4h ; ba c4 03 ; 0xc2ac7 vgabios.c:1809 + in AL, DX ; ec ; 0xc2aca + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2acb + xor ah, ah ; 30 e4 ; 0xc2acd + mov bx, ax ; 89 c3 ; 0xc2acf + mov dx, cx ; 89 ca ; 0xc2ad1 + mov ax, si ; 89 f0 ; 0xc2ad3 + call 03196h ; e8 be 06 ; 0xc2ad5 + inc cx ; 41 ; 0xc2ad8 vgabios.c:1810 + mov dx, di ; 89 fa ; 0xc2ad9 + in AL, DX ; ec ; 0xc2adb + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2adc + xor ah, ah ; 30 e4 ; 0xc2ade + mov bx, ax ; 89 c3 ; 0xc2ae0 + mov dx, cx ; 89 ca ; 0xc2ae2 + mov ax, si ; 89 f0 ; 0xc2ae4 + call 03196h ; e8 ad 06 ; 0xc2ae6 + inc cx ; 41 ; 0xc2ae9 vgabios.c:1811 + mov dx, 003ceh ; ba ce 03 ; 0xc2aea + in AL, DX ; ec ; 0xc2aed + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2aee + xor ah, ah ; 30 e4 ; 0xc2af0 + mov bx, ax ; 89 c3 ; 0xc2af2 + mov dx, cx ; 89 ca ; 0xc2af4 + mov ax, si ; 89 f0 ; 0xc2af6 + call 03196h ; e8 9b 06 ; 0xc2af8 + inc cx ; 41 ; 0xc2afb vgabios.c:1812 + mov dx, 003dah ; ba da 03 ; 0xc2afc + in AL, DX ; ec ; 0xc2aff + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b00 + mov dx, 003c0h ; ba c0 03 ; 0xc2b02 vgabios.c:1813 + in AL, DX ; ec ; 0xc2b05 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b06 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc2b08 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc2b0b vgabios.c:1814 + xor ah, ah ; 30 e4 ; 0xc2b0e + mov bx, ax ; 89 c3 ; 0xc2b10 + mov dx, cx ; 89 ca ; 0xc2b12 + mov ax, si ; 89 f0 ; 0xc2b14 + call 03196h ; e8 7d 06 ; 0xc2b16 + inc cx ; 41 ; 0xc2b19 vgabios.c:1815 + mov dx, 003cah ; ba ca 03 ; 0xc2b1a + in AL, DX ; ec ; 0xc2b1d + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b1e + xor ah, ah ; 30 e4 ; 0xc2b20 + mov bx, ax ; 89 c3 ; 0xc2b22 + mov dx, cx ; 89 ca ; 0xc2b24 + mov ax, si ; 89 f0 ; 0xc2b26 + call 03196h ; e8 6b 06 ; 0xc2b28 + mov ax, strict word 00001h ; b8 01 00 ; 0xc2b2b vgabios.c:1817 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc2b2e + add cx, ax ; 01 c1 ; 0xc2b31 + jmp short 02b3eh ; eb 09 ; 0xc2b33 + jmp near 02c39h ; e9 01 01 ; 0xc2b35 + cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 ; 0xc2b38 + jnbe short 02b5ch ; 77 1e ; 0xc2b3c + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2b3e vgabios.c:1818 + mov dx, 003c4h ; ba c4 03 ; 0xc2b41 + out DX, AL ; ee ; 0xc2b44 + mov dx, 003c5h ; ba c5 03 ; 0xc2b45 vgabios.c:1819 + in AL, DX ; ec ; 0xc2b48 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b49 + xor ah, ah ; 30 e4 ; 0xc2b4b + mov bx, ax ; 89 c3 ; 0xc2b4d + mov dx, cx ; 89 ca ; 0xc2b4f + mov ax, si ; 89 f0 ; 0xc2b51 + call 03196h ; e8 40 06 ; 0xc2b53 + inc cx ; 41 ; 0xc2b56 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2b57 vgabios.c:1820 + jmp short 02b38h ; eb dc ; 0xc2b5a + xor al, al ; 30 c0 ; 0xc2b5c vgabios.c:1821 + mov dx, 003c4h ; ba c4 03 ; 0xc2b5e + out DX, AL ; ee ; 0xc2b61 + mov dx, 003c5h ; ba c5 03 ; 0xc2b62 vgabios.c:1822 + in AL, DX ; ec ; 0xc2b65 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b66 + xor ah, ah ; 30 e4 ; 0xc2b68 + mov bx, ax ; 89 c3 ; 0xc2b6a + mov dx, cx ; 89 ca ; 0xc2b6c + mov ax, si ; 89 f0 ; 0xc2b6e + call 03196h ; e8 23 06 ; 0xc2b70 + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2b73 vgabios.c:1824 + inc cx ; 41 ; 0xc2b78 + jmp short 02b81h ; eb 06 ; 0xc2b79 + cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 ; 0xc2b7b + jnbe short 02b9eh ; 77 1d ; 0xc2b7f + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2b81 vgabios.c:1825 + mov dx, di ; 89 fa ; 0xc2b84 + out DX, AL ; ee ; 0xc2b86 + lea dx, [di+001h] ; 8d 55 01 ; 0xc2b87 vgabios.c:1826 + in AL, DX ; ec ; 0xc2b8a + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b8b + xor ah, ah ; 30 e4 ; 0xc2b8d + mov bx, ax ; 89 c3 ; 0xc2b8f + mov dx, cx ; 89 ca ; 0xc2b91 + mov ax, si ; 89 f0 ; 0xc2b93 + call 03196h ; e8 fe 05 ; 0xc2b95 + inc cx ; 41 ; 0xc2b98 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2b99 vgabios.c:1827 + jmp short 02b7bh ; eb dd ; 0xc2b9c + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2b9e vgabios.c:1829 + jmp short 02babh ; eb 06 ; 0xc2ba3 + cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 ; 0xc2ba5 + jnbe short 02bd5h ; 77 2a ; 0xc2ba9 + mov dx, 003dah ; ba da 03 ; 0xc2bab vgabios.c:1830 + in AL, DX ; ec ; 0xc2bae + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2baf + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2bb1 vgabios.c:1831 + and ax, strict word 00020h ; 25 20 00 ; 0xc2bb4 + or ax, word [bp-00ah] ; 0b 46 f6 ; 0xc2bb7 + mov dx, 003c0h ; ba c0 03 ; 0xc2bba + out DX, AL ; ee ; 0xc2bbd + mov dx, 003c1h ; ba c1 03 ; 0xc2bbe vgabios.c:1832 + in AL, DX ; ec ; 0xc2bc1 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2bc2 + xor ah, ah ; 30 e4 ; 0xc2bc4 + mov bx, ax ; 89 c3 ; 0xc2bc6 + mov dx, cx ; 89 ca ; 0xc2bc8 + mov ax, si ; 89 f0 ; 0xc2bca + call 03196h ; e8 c7 05 ; 0xc2bcc + inc cx ; 41 ; 0xc2bcf + inc word [bp-00ah] ; ff 46 f6 ; 0xc2bd0 vgabios.c:1833 + jmp short 02ba5h ; eb d0 ; 0xc2bd3 + mov dx, 003dah ; ba da 03 ; 0xc2bd5 vgabios.c:1834 + in AL, DX ; ec ; 0xc2bd8 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2bd9 + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2bdb vgabios.c:1836 + jmp short 02be8h ; eb 06 ; 0xc2be0 + cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 ; 0xc2be2 + jnbe short 02c06h ; 77 1e ; 0xc2be6 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2be8 vgabios.c:1837 + mov dx, 003ceh ; ba ce 03 ; 0xc2beb + out DX, AL ; ee ; 0xc2bee + mov dx, 003cfh ; ba cf 03 ; 0xc2bef vgabios.c:1838 + in AL, DX ; ec ; 0xc2bf2 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2bf3 + xor ah, ah ; 30 e4 ; 0xc2bf5 + mov bx, ax ; 89 c3 ; 0xc2bf7 + mov dx, cx ; 89 ca ; 0xc2bf9 + mov ax, si ; 89 f0 ; 0xc2bfb + call 03196h ; e8 96 05 ; 0xc2bfd + inc cx ; 41 ; 0xc2c00 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2c01 vgabios.c:1839 + jmp short 02be2h ; eb dc ; 0xc2c04 + mov bx, di ; 89 fb ; 0xc2c06 vgabios.c:1841 + mov dx, cx ; 89 ca ; 0xc2c08 + mov ax, si ; 89 f0 ; 0xc2c0a + call 031b2h ; e8 a3 05 ; 0xc2c0c + inc cx ; 41 ; 0xc2c0f vgabios.c:1844 + inc cx ; 41 ; 0xc2c10 + xor bx, bx ; 31 db ; 0xc2c11 + mov dx, cx ; 89 ca ; 0xc2c13 + mov ax, si ; 89 f0 ; 0xc2c15 + call 03196h ; e8 7c 05 ; 0xc2c17 + inc cx ; 41 ; 0xc2c1a vgabios.c:1845 + xor bx, bx ; 31 db ; 0xc2c1b + mov dx, cx ; 89 ca ; 0xc2c1d + mov ax, si ; 89 f0 ; 0xc2c1f + call 03196h ; e8 72 05 ; 0xc2c21 + inc cx ; 41 ; 0xc2c24 vgabios.c:1846 + xor bx, bx ; 31 db ; 0xc2c25 + mov dx, cx ; 89 ca ; 0xc2c27 + mov ax, si ; 89 f0 ; 0xc2c29 + call 03196h ; e8 68 05 ; 0xc2c2b + inc cx ; 41 ; 0xc2c2e vgabios.c:1847 + xor bx, bx ; 31 db ; 0xc2c2f + mov dx, cx ; 89 ca ; 0xc2c31 + mov ax, si ; 89 f0 ; 0xc2c33 + call 03196h ; e8 5e 05 ; 0xc2c35 + inc cx ; 41 ; 0xc2c38 + test byte [bp-00ch], 002h ; f6 46 f4 02 ; 0xc2c39 vgabios.c:1849 + jne short 02c42h ; 75 03 ; 0xc2c3d + jmp near 02dafh ; e9 6d 01 ; 0xc2c3f + mov dx, strict word 00049h ; ba 49 00 ; 0xc2c42 vgabios.c:1850 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2c45 + call 03188h ; e8 3d 05 ; 0xc2c48 + xor ah, ah ; 30 e4 ; 0xc2c4b + mov bx, ax ; 89 c3 ; 0xc2c4d + mov dx, cx ; 89 ca ; 0xc2c4f + mov ax, si ; 89 f0 ; 0xc2c51 + call 03196h ; e8 40 05 ; 0xc2c53 + inc cx ; 41 ; 0xc2c56 vgabios.c:1851 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2c57 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2c5a + call 031a4h ; e8 44 05 ; 0xc2c5d + mov bx, ax ; 89 c3 ; 0xc2c60 + mov dx, cx ; 89 ca ; 0xc2c62 + mov ax, si ; 89 f0 ; 0xc2c64 + call 031b2h ; e8 49 05 ; 0xc2c66 + inc cx ; 41 ; 0xc2c69 vgabios.c:1852 + inc cx ; 41 ; 0xc2c6a + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc2c6b + mov ax, strict word 00040h ; b8 40 00 ; 0xc2c6e + call 031a4h ; e8 30 05 ; 0xc2c71 + mov bx, ax ; 89 c3 ; 0xc2c74 + mov dx, cx ; 89 ca ; 0xc2c76 + mov ax, si ; 89 f0 ; 0xc2c78 + call 031b2h ; e8 35 05 ; 0xc2c7a + inc cx ; 41 ; 0xc2c7d vgabios.c:1853 + inc cx ; 41 ; 0xc2c7e + mov dx, strict word 00063h ; ba 63 00 ; 0xc2c7f + mov ax, strict word 00040h ; b8 40 00 ; 0xc2c82 + call 031a4h ; e8 1c 05 ; 0xc2c85 + mov bx, ax ; 89 c3 ; 0xc2c88 + mov dx, cx ; 89 ca ; 0xc2c8a + mov ax, si ; 89 f0 ; 0xc2c8c + call 031b2h ; e8 21 05 ; 0xc2c8e + inc cx ; 41 ; 0xc2c91 vgabios.c:1854 + inc cx ; 41 ; 0xc2c92 + mov dx, 00084h ; ba 84 00 ; 0xc2c93 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2c96 + call 03188h ; e8 ec 04 ; 0xc2c99 + xor ah, ah ; 30 e4 ; 0xc2c9c + mov bx, ax ; 89 c3 ; 0xc2c9e + mov dx, cx ; 89 ca ; 0xc2ca0 + mov ax, si ; 89 f0 ; 0xc2ca2 + call 03196h ; e8 ef 04 ; 0xc2ca4 + inc cx ; 41 ; 0xc2ca7 vgabios.c:1855 + mov dx, 00085h ; ba 85 00 ; 0xc2ca8 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2cab + call 031a4h ; e8 f3 04 ; 0xc2cae + mov bx, ax ; 89 c3 ; 0xc2cb1 + mov dx, cx ; 89 ca ; 0xc2cb3 + mov ax, si ; 89 f0 ; 0xc2cb5 + call 031b2h ; e8 f8 04 ; 0xc2cb7 + inc cx ; 41 ; 0xc2cba vgabios.c:1856 + inc cx ; 41 ; 0xc2cbb + mov dx, 00087h ; ba 87 00 ; 0xc2cbc + mov ax, strict word 00040h ; b8 40 00 ; 0xc2cbf + call 03188h ; e8 c3 04 ; 0xc2cc2 + xor ah, ah ; 30 e4 ; 0xc2cc5 + mov bx, ax ; 89 c3 ; 0xc2cc7 + mov dx, cx ; 89 ca ; 0xc2cc9 + mov ax, si ; 89 f0 ; 0xc2ccb + call 03196h ; e8 c6 04 ; 0xc2ccd + inc cx ; 41 ; 0xc2cd0 vgabios.c:1857 + mov dx, 00088h ; ba 88 00 ; 0xc2cd1 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2cd4 + call 03188h ; e8 ae 04 ; 0xc2cd7 + mov bl, al ; 88 c3 ; 0xc2cda + xor bh, bh ; 30 ff ; 0xc2cdc + mov dx, cx ; 89 ca ; 0xc2cde + mov ax, si ; 89 f0 ; 0xc2ce0 + call 03196h ; e8 b1 04 ; 0xc2ce2 + inc cx ; 41 ; 0xc2ce5 vgabios.c:1858 + mov dx, 00089h ; ba 89 00 ; 0xc2ce6 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2ce9 + call 03188h ; e8 99 04 ; 0xc2cec + xor ah, ah ; 30 e4 ; 0xc2cef + mov bx, ax ; 89 c3 ; 0xc2cf1 + mov dx, cx ; 89 ca ; 0xc2cf3 + mov ax, si ; 89 f0 ; 0xc2cf5 + call 03196h ; e8 9c 04 ; 0xc2cf7 + inc cx ; 41 ; 0xc2cfa vgabios.c:1859 + mov dx, strict word 00060h ; ba 60 00 ; 0xc2cfb + mov ax, strict word 00040h ; b8 40 00 ; 0xc2cfe + call 031a4h ; e8 a0 04 ; 0xc2d01 + mov bx, ax ; 89 c3 ; 0xc2d04 + mov dx, cx ; 89 ca ; 0xc2d06 + mov ax, si ; 89 f0 ; 0xc2d08 + call 031b2h ; e8 a5 04 ; 0xc2d0a + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2d0d vgabios.c:1860 + inc cx ; 41 ; 0xc2d12 + inc cx ; 41 ; 0xc2d13 + jmp short 02d1ch ; eb 06 ; 0xc2d14 + cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 ; 0xc2d16 + jnc short 02d3ah ; 73 1e ; 0xc2d1a + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2d1c vgabios.c:1861 + add dx, dx ; 01 d2 ; 0xc2d1f + add dx, strict byte 00050h ; 83 c2 50 ; 0xc2d21 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d24 + call 031a4h ; e8 7a 04 ; 0xc2d27 + mov bx, ax ; 89 c3 ; 0xc2d2a + mov dx, cx ; 89 ca ; 0xc2d2c + mov ax, si ; 89 f0 ; 0xc2d2e + call 031b2h ; e8 7f 04 ; 0xc2d30 + inc cx ; 41 ; 0xc2d33 vgabios.c:1862 + inc cx ; 41 ; 0xc2d34 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2d35 vgabios.c:1863 + jmp short 02d16h ; eb dc ; 0xc2d38 + mov dx, strict word 0004eh ; ba 4e 00 ; 0xc2d3a vgabios.c:1864 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d3d + call 031a4h ; e8 61 04 ; 0xc2d40 + mov bx, ax ; 89 c3 ; 0xc2d43 + mov dx, cx ; 89 ca ; 0xc2d45 + mov ax, si ; 89 f0 ; 0xc2d47 + call 031b2h ; e8 66 04 ; 0xc2d49 + inc cx ; 41 ; 0xc2d4c vgabios.c:1865 + inc cx ; 41 ; 0xc2d4d + mov dx, strict word 00062h ; ba 62 00 ; 0xc2d4e + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d51 + call 03188h ; e8 31 04 ; 0xc2d54 + xor ah, ah ; 30 e4 ; 0xc2d57 + mov bx, ax ; 89 c3 ; 0xc2d59 + mov dx, cx ; 89 ca ; 0xc2d5b + mov ax, si ; 89 f0 ; 0xc2d5d + call 03196h ; e8 34 04 ; 0xc2d5f + inc cx ; 41 ; 0xc2d62 vgabios.c:1867 + mov dx, strict word 0007ch ; ba 7c 00 ; 0xc2d63 + xor ax, ax ; 31 c0 ; 0xc2d66 + call 031a4h ; e8 39 04 ; 0xc2d68 + mov bx, ax ; 89 c3 ; 0xc2d6b + mov dx, cx ; 89 ca ; 0xc2d6d + mov ax, si ; 89 f0 ; 0xc2d6f + call 031b2h ; e8 3e 04 ; 0xc2d71 + inc cx ; 41 ; 0xc2d74 vgabios.c:1868 + inc cx ; 41 ; 0xc2d75 + mov dx, strict word 0007eh ; ba 7e 00 ; 0xc2d76 + xor ax, ax ; 31 c0 ; 0xc2d79 + call 031a4h ; e8 26 04 ; 0xc2d7b + mov bx, ax ; 89 c3 ; 0xc2d7e + mov dx, cx ; 89 ca ; 0xc2d80 + mov ax, si ; 89 f0 ; 0xc2d82 + call 031b2h ; e8 2b 04 ; 0xc2d84 + inc cx ; 41 ; 0xc2d87 vgabios.c:1869 + inc cx ; 41 ; 0xc2d88 + mov dx, 0010ch ; ba 0c 01 ; 0xc2d89 + xor ax, ax ; 31 c0 ; 0xc2d8c + call 031a4h ; e8 13 04 ; 0xc2d8e + mov bx, ax ; 89 c3 ; 0xc2d91 + mov dx, cx ; 89 ca ; 0xc2d93 + mov ax, si ; 89 f0 ; 0xc2d95 + call 031b2h ; e8 18 04 ; 0xc2d97 + inc cx ; 41 ; 0xc2d9a vgabios.c:1870 + inc cx ; 41 ; 0xc2d9b + mov dx, 0010eh ; ba 0e 01 ; 0xc2d9c + xor ax, ax ; 31 c0 ; 0xc2d9f + call 031a4h ; e8 00 04 ; 0xc2da1 + mov bx, ax ; 89 c3 ; 0xc2da4 + mov dx, cx ; 89 ca ; 0xc2da6 + mov ax, si ; 89 f0 ; 0xc2da8 + call 031b2h ; e8 05 04 ; 0xc2daa + inc cx ; 41 ; 0xc2dad + inc cx ; 41 ; 0xc2dae + test byte [bp-00ch], 004h ; f6 46 f4 04 ; 0xc2daf vgabios.c:1872 + je short 02e20h ; 74 6b ; 0xc2db3 + mov dx, 003c7h ; ba c7 03 ; 0xc2db5 vgabios.c:1874 + in AL, DX ; ec ; 0xc2db8 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2db9 + mov bl, al ; 88 c3 ; 0xc2dbb + xor bh, bh ; 30 ff ; 0xc2dbd + mov dx, cx ; 89 ca ; 0xc2dbf + mov ax, si ; 89 f0 ; 0xc2dc1 + call 03196h ; e8 d0 03 ; 0xc2dc3 + inc cx ; 41 ; 0xc2dc6 vgabios.c:1875 + mov dx, 003c8h ; ba c8 03 ; 0xc2dc7 + in AL, DX ; ec ; 0xc2dca + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2dcb + mov bl, al ; 88 c3 ; 0xc2dcd + xor bh, bh ; 30 ff ; 0xc2dcf + mov dx, cx ; 89 ca ; 0xc2dd1 + mov ax, si ; 89 f0 ; 0xc2dd3 + call 03196h ; e8 be 03 ; 0xc2dd5 + inc cx ; 41 ; 0xc2dd8 vgabios.c:1876 + mov dx, 003c6h ; ba c6 03 ; 0xc2dd9 + in AL, DX ; ec ; 0xc2ddc + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2ddd + xor ah, ah ; 30 e4 ; 0xc2ddf + mov bx, ax ; 89 c3 ; 0xc2de1 + mov dx, cx ; 89 ca ; 0xc2de3 + mov ax, si ; 89 f0 ; 0xc2de5 + call 03196h ; e8 ac 03 ; 0xc2de7 + inc cx ; 41 ; 0xc2dea vgabios.c:1878 + xor al, al ; 30 c0 ; 0xc2deb + mov dx, 003c8h ; ba c8 03 ; 0xc2ded + out DX, AL ; ee ; 0xc2df0 + xor ah, ah ; 30 e4 ; 0xc2df1 vgabios.c:1879 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc2df3 + jmp short 02dffh ; eb 07 ; 0xc2df6 + cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 ; 0xc2df8 + jnc short 02e16h ; 73 17 ; 0xc2dfd + mov dx, 003c9h ; ba c9 03 ; 0xc2dff vgabios.c:1880 + in AL, DX ; ec ; 0xc2e02 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2e03 + mov bl, al ; 88 c3 ; 0xc2e05 + xor bh, bh ; 30 ff ; 0xc2e07 + mov dx, cx ; 89 ca ; 0xc2e09 + mov ax, si ; 89 f0 ; 0xc2e0b + call 03196h ; e8 86 03 ; 0xc2e0d + inc cx ; 41 ; 0xc2e10 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2e11 vgabios.c:1881 + jmp short 02df8h ; eb e2 ; 0xc2e14 + xor bx, bx ; 31 db ; 0xc2e16 vgabios.c:1882 + mov dx, cx ; 89 ca ; 0xc2e18 + mov ax, si ; 89 f0 ; 0xc2e1a + call 03196h ; e8 77 03 ; 0xc2e1c + inc cx ; 41 ; 0xc2e1f + mov ax, cx ; 89 c8 ; 0xc2e20 vgabios.c:1885 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc2e22 + pop di ; 5f ; 0xc2e25 + pop si ; 5e ; 0xc2e26 + pop cx ; 59 ; 0xc2e27 + pop bp ; 5d ; 0xc2e28 + retn ; c3 ; 0xc2e29 + ; disGetNextSymbol 0xc2e2a LB 0x100b -> off=0x0 cb=0000000000000336 uValue=00000000000c2e2a 'biosfn_restore_video_state' +biosfn_restore_video_state: ; 0xc2e2a LB 0x336 + push bp ; 55 ; 0xc2e2a vgabios.c:1887 + mov bp, sp ; 89 e5 ; 0xc2e2b + push cx ; 51 ; 0xc2e2d + push si ; 56 ; 0xc2e2e + push di ; 57 ; 0xc2e2f + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc2e30 + push ax ; 50 ; 0xc2e33 + mov si, dx ; 89 d6 ; 0xc2e34 + mov cx, bx ; 89 d9 ; 0xc2e36 + test byte [bp-00eh], 001h ; f6 46 f2 01 ; 0xc2e38 vgabios.c:1891 + je short 02e95h ; 74 57 ; 0xc2e3c + mov dx, 003dah ; ba da 03 ; 0xc2e3e vgabios.c:1893 + in AL, DX ; ec ; 0xc2e41 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2e42 + lea dx, [bx+040h] ; 8d 57 40 ; 0xc2e44 vgabios.c:1895 + mov ax, si ; 89 f0 ; 0xc2e47 + call 031a4h ; e8 58 03 ; 0xc2e49 + mov di, ax ; 89 c7 ; 0xc2e4c + mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 ; 0xc2e4e vgabios.c:1899 + lea cx, [bx+005h] ; 8d 4f 05 ; 0xc2e53 vgabios.c:1897 + jmp short 02e5eh ; eb 06 ; 0xc2e56 + cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 ; 0xc2e58 + jnbe short 02e76h ; 77 18 ; 0xc2e5c + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2e5e vgabios.c:1900 + mov dx, 003c4h ; ba c4 03 ; 0xc2e61 + out DX, AL ; ee ; 0xc2e64 + mov dx, cx ; 89 ca ; 0xc2e65 vgabios.c:1901 + mov ax, si ; 89 f0 ; 0xc2e67 + call 03188h ; e8 1c 03 ; 0xc2e69 + mov dx, 003c5h ; ba c5 03 ; 0xc2e6c + out DX, AL ; ee ; 0xc2e6f + inc cx ; 41 ; 0xc2e70 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2e71 vgabios.c:1902 + jmp short 02e58h ; eb e2 ; 0xc2e74 + xor al, al ; 30 c0 ; 0xc2e76 vgabios.c:1903 + mov dx, 003c4h ; ba c4 03 ; 0xc2e78 + out DX, AL ; ee ; 0xc2e7b + mov dx, cx ; 89 ca ; 0xc2e7c vgabios.c:1904 + mov ax, si ; 89 f0 ; 0xc2e7e + call 03188h ; e8 05 03 ; 0xc2e80 + mov dx, 003c5h ; ba c5 03 ; 0xc2e83 + out DX, AL ; ee ; 0xc2e86 + inc cx ; 41 ; 0xc2e87 vgabios.c:1907 + mov ax, strict word 00011h ; b8 11 00 ; 0xc2e88 + mov dx, di ; 89 fa ; 0xc2e8b + out DX, ax ; ef ; 0xc2e8d + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2e8e vgabios.c:1909 + jmp short 02e9eh ; eb 09 ; 0xc2e93 + jmp near 02f8bh ; e9 f3 00 ; 0xc2e95 + cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 ; 0xc2e98 + jnbe short 02ebbh ; 77 1d ; 0xc2e9c + cmp word [bp-00ah], strict byte 00011h ; 83 7e f6 11 ; 0xc2e9e vgabios.c:1910 + je short 02eb5h ; 74 11 ; 0xc2ea2 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2ea4 vgabios.c:1911 + mov dx, di ; 89 fa ; 0xc2ea7 + out DX, AL ; ee ; 0xc2ea9 + mov dx, cx ; 89 ca ; 0xc2eaa vgabios.c:1912 + mov ax, si ; 89 f0 ; 0xc2eac + call 03188h ; e8 d7 02 ; 0xc2eae + lea dx, [di+001h] ; 8d 55 01 ; 0xc2eb1 + out DX, AL ; ee ; 0xc2eb4 + inc cx ; 41 ; 0xc2eb5 vgabios.c:1914 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2eb6 vgabios.c:1915 + jmp short 02e98h ; eb dd ; 0xc2eb9 + mov dx, 003cch ; ba cc 03 ; 0xc2ebb vgabios.c:1917 + in AL, DX ; ec ; 0xc2ebe + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2ebf + and AL, strict byte 0feh ; 24 fe ; 0xc2ec1 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc2ec3 + cmp di, 003d4h ; 81 ff d4 03 ; 0xc2ec6 vgabios.c:1918 + jne short 02ed0h ; 75 04 ; 0xc2eca + or byte [bp-008h], 001h ; 80 4e f8 01 ; 0xc2ecc vgabios.c:1919 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc2ed0 vgabios.c:1920 + mov dx, 003c2h ; ba c2 03 ; 0xc2ed3 + out DX, AL ; ee ; 0xc2ed6 + mov AL, strict byte 011h ; b0 11 ; 0xc2ed7 vgabios.c:1923 + mov dx, di ; 89 fa ; 0xc2ed9 + out DX, AL ; ee ; 0xc2edb + mov dx, cx ; 89 ca ; 0xc2edc vgabios.c:1924 + add dx, strict byte 0fff9h ; 83 c2 f9 ; 0xc2ede + mov ax, si ; 89 f0 ; 0xc2ee1 + call 03188h ; e8 a2 02 ; 0xc2ee3 + lea dx, [di+001h] ; 8d 55 01 ; 0xc2ee6 + out DX, AL ; ee ; 0xc2ee9 + lea dx, [bx+003h] ; 8d 57 03 ; 0xc2eea vgabios.c:1927 + mov ax, si ; 89 f0 ; 0xc2eed + call 03188h ; e8 96 02 ; 0xc2eef + xor ah, ah ; 30 e4 ; 0xc2ef2 + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc2ef4 + mov dx, 003dah ; ba da 03 ; 0xc2ef7 vgabios.c:1928 + in AL, DX ; ec ; 0xc2efa + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2efb + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2efd vgabios.c:1929 + jmp short 02f0ah ; eb 06 ; 0xc2f02 + cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 ; 0xc2f04 + jnbe short 02f28h ; 77 1e ; 0xc2f08 + mov ax, word [bp-00ch] ; 8b 46 f4 ; 0xc2f0a vgabios.c:1930 + and ax, strict word 00020h ; 25 20 00 ; 0xc2f0d + or ax, word [bp-00ah] ; 0b 46 f6 ; 0xc2f10 + mov dx, 003c0h ; ba c0 03 ; 0xc2f13 + out DX, AL ; ee ; 0xc2f16 + mov dx, cx ; 89 ca ; 0xc2f17 vgabios.c:1931 + mov ax, si ; 89 f0 ; 0xc2f19 + call 03188h ; e8 6a 02 ; 0xc2f1b + mov dx, 003c0h ; ba c0 03 ; 0xc2f1e + out DX, AL ; ee ; 0xc2f21 + inc cx ; 41 ; 0xc2f22 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2f23 vgabios.c:1932 + jmp short 02f04h ; eb dc ; 0xc2f26 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc2f28 vgabios.c:1933 + mov dx, 003c0h ; ba c0 03 ; 0xc2f2b + out DX, AL ; ee ; 0xc2f2e + mov dx, 003dah ; ba da 03 ; 0xc2f2f vgabios.c:1934 + in AL, DX ; ec ; 0xc2f32 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2f33 + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2f35 vgabios.c:1936 + jmp short 02f42h ; eb 06 ; 0xc2f3a + cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 ; 0xc2f3c + jnbe short 02f5ah ; 77 18 ; 0xc2f40 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2f42 vgabios.c:1937 + mov dx, 003ceh ; ba ce 03 ; 0xc2f45 + out DX, AL ; ee ; 0xc2f48 + mov dx, cx ; 89 ca ; 0xc2f49 vgabios.c:1938 + mov ax, si ; 89 f0 ; 0xc2f4b + call 03188h ; e8 38 02 ; 0xc2f4d + mov dx, 003cfh ; ba cf 03 ; 0xc2f50 + out DX, AL ; ee ; 0xc2f53 + inc cx ; 41 ; 0xc2f54 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2f55 vgabios.c:1939 + jmp short 02f3ch ; eb e2 ; 0xc2f58 + add cx, strict byte 00006h ; 83 c1 06 ; 0xc2f5a vgabios.c:1940 + mov dx, bx ; 89 da ; 0xc2f5d vgabios.c:1941 + mov ax, si ; 89 f0 ; 0xc2f5f + call 03188h ; e8 24 02 ; 0xc2f61 + mov dx, 003c4h ; ba c4 03 ; 0xc2f64 + out DX, AL ; ee ; 0xc2f67 + inc bx ; 43 ; 0xc2f68 + mov dx, bx ; 89 da ; 0xc2f69 vgabios.c:1944 + mov ax, si ; 89 f0 ; 0xc2f6b + call 03188h ; e8 18 02 ; 0xc2f6d + mov dx, di ; 89 fa ; 0xc2f70 + out DX, AL ; ee ; 0xc2f72 + inc bx ; 43 ; 0xc2f73 + mov dx, bx ; 89 da ; 0xc2f74 vgabios.c:1945 + mov ax, si ; 89 f0 ; 0xc2f76 + call 03188h ; e8 0d 02 ; 0xc2f78 + mov dx, 003ceh ; ba ce 03 ; 0xc2f7b + out DX, AL ; ee ; 0xc2f7e + lea dx, [bx+002h] ; 8d 57 02 ; 0xc2f7f + mov ax, si ; 89 f0 ; 0xc2f82 + call 03188h ; e8 01 02 ; 0xc2f84 + lea dx, [di+006h] ; 8d 55 06 ; 0xc2f87 + out DX, AL ; ee ; 0xc2f8a + test byte [bp-00eh], 002h ; f6 46 f2 02 ; 0xc2f8b vgabios.c:1949 + jne short 02f94h ; 75 03 ; 0xc2f8f + jmp near 03109h ; e9 75 01 ; 0xc2f91 + mov dx, cx ; 89 ca ; 0xc2f94 vgabios.c:1950 + mov ax, si ; 89 f0 ; 0xc2f96 + call 03188h ; e8 ed 01 ; 0xc2f98 + xor ah, ah ; 30 e4 ; 0xc2f9b + mov bx, ax ; 89 c3 ; 0xc2f9d + mov dx, strict word 00049h ; ba 49 00 ; 0xc2f9f + mov ax, strict word 00040h ; b8 40 00 ; 0xc2fa2 + call 03196h ; e8 ee 01 ; 0xc2fa5 + inc cx ; 41 ; 0xc2fa8 + mov dx, cx ; 89 ca ; 0xc2fa9 vgabios.c:1951 + mov ax, si ; 89 f0 ; 0xc2fab + call 031a4h ; e8 f4 01 ; 0xc2fad + mov bx, ax ; 89 c3 ; 0xc2fb0 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2fb2 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2fb5 + call 031b2h ; e8 f7 01 ; 0xc2fb8 + inc cx ; 41 ; 0xc2fbb + inc cx ; 41 ; 0xc2fbc + mov dx, cx ; 89 ca ; 0xc2fbd vgabios.c:1952 + mov ax, si ; 89 f0 ; 0xc2fbf + call 031a4h ; e8 e0 01 ; 0xc2fc1 + mov bx, ax ; 89 c3 ; 0xc2fc4 + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc2fc6 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2fc9 + call 031b2h ; e8 e3 01 ; 0xc2fcc + inc cx ; 41 ; 0xc2fcf + inc cx ; 41 ; 0xc2fd0 + mov dx, cx ; 89 ca ; 0xc2fd1 vgabios.c:1953 + mov ax, si ; 89 f0 ; 0xc2fd3 + call 031a4h ; e8 cc 01 ; 0xc2fd5 + mov bx, ax ; 89 c3 ; 0xc2fd8 + mov dx, strict word 00063h ; ba 63 00 ; 0xc2fda + mov ax, strict word 00040h ; b8 40 00 ; 0xc2fdd + call 031b2h ; e8 cf 01 ; 0xc2fe0 + inc cx ; 41 ; 0xc2fe3 + inc cx ; 41 ; 0xc2fe4 + mov dx, cx ; 89 ca ; 0xc2fe5 vgabios.c:1954 + mov ax, si ; 89 f0 ; 0xc2fe7 + call 03188h ; e8 9c 01 ; 0xc2fe9 + xor ah, ah ; 30 e4 ; 0xc2fec + mov bx, ax ; 89 c3 ; 0xc2fee + mov dx, 00084h ; ba 84 00 ; 0xc2ff0 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2ff3 + call 03196h ; e8 9d 01 ; 0xc2ff6 + inc cx ; 41 ; 0xc2ff9 + mov dx, cx ; 89 ca ; 0xc2ffa vgabios.c:1955 + mov ax, si ; 89 f0 ; 0xc2ffc + call 031a4h ; e8 a3 01 ; 0xc2ffe + mov bx, ax ; 89 c3 ; 0xc3001 + mov dx, 00085h ; ba 85 00 ; 0xc3003 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3006 + call 031b2h ; e8 a6 01 ; 0xc3009 + inc cx ; 41 ; 0xc300c + inc cx ; 41 ; 0xc300d + mov dx, cx ; 89 ca ; 0xc300e vgabios.c:1956 + mov ax, si ; 89 f0 ; 0xc3010 + call 03188h ; e8 73 01 ; 0xc3012 + mov dl, al ; 88 c2 ; 0xc3015 + xor dh, dh ; 30 f6 ; 0xc3017 + mov bx, dx ; 89 d3 ; 0xc3019 + mov dx, 00087h ; ba 87 00 ; 0xc301b + mov ax, strict word 00040h ; b8 40 00 ; 0xc301e + call 03196h ; e8 72 01 ; 0xc3021 + inc cx ; 41 ; 0xc3024 + mov dx, cx ; 89 ca ; 0xc3025 vgabios.c:1957 + mov ax, si ; 89 f0 ; 0xc3027 + call 03188h ; e8 5c 01 ; 0xc3029 + mov dl, al ; 88 c2 ; 0xc302c + xor dh, dh ; 30 f6 ; 0xc302e + mov bx, dx ; 89 d3 ; 0xc3030 + mov dx, 00088h ; ba 88 00 ; 0xc3032 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3035 + call 03196h ; e8 5b 01 ; 0xc3038 + inc cx ; 41 ; 0xc303b + mov dx, cx ; 89 ca ; 0xc303c vgabios.c:1958 + mov ax, si ; 89 f0 ; 0xc303e + call 03188h ; e8 45 01 ; 0xc3040 + mov dl, al ; 88 c2 ; 0xc3043 + xor dh, dh ; 30 f6 ; 0xc3045 + mov bx, dx ; 89 d3 ; 0xc3047 + mov dx, 00089h ; ba 89 00 ; 0xc3049 + mov ax, strict word 00040h ; b8 40 00 ; 0xc304c + call 03196h ; e8 44 01 ; 0xc304f + inc cx ; 41 ; 0xc3052 + mov dx, cx ; 89 ca ; 0xc3053 vgabios.c:1959 + mov ax, si ; 89 f0 ; 0xc3055 + call 031a4h ; e8 4a 01 ; 0xc3057 + mov bx, ax ; 89 c3 ; 0xc305a + mov dx, strict word 00060h ; ba 60 00 ; 0xc305c + mov ax, strict word 00040h ; b8 40 00 ; 0xc305f + call 031b2h ; e8 4d 01 ; 0xc3062 + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc3065 vgabios.c:1960 + inc cx ; 41 ; 0xc306a + inc cx ; 41 ; 0xc306b + jmp short 03074h ; eb 06 ; 0xc306c + cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 ; 0xc306e + jnc short 03092h ; 73 1e ; 0xc3072 + mov dx, cx ; 89 ca ; 0xc3074 vgabios.c:1961 + mov ax, si ; 89 f0 ; 0xc3076 + call 031a4h ; e8 29 01 ; 0xc3078 + mov bx, ax ; 89 c3 ; 0xc307b + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc307d + add dx, dx ; 01 d2 ; 0xc3080 + add dx, strict byte 00050h ; 83 c2 50 ; 0xc3082 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3085 + call 031b2h ; e8 27 01 ; 0xc3088 + inc cx ; 41 ; 0xc308b vgabios.c:1962 + inc cx ; 41 ; 0xc308c + inc word [bp-00ah] ; ff 46 f6 ; 0xc308d vgabios.c:1963 + jmp short 0306eh ; eb dc ; 0xc3090 + mov dx, cx ; 89 ca ; 0xc3092 vgabios.c:1964 + mov ax, si ; 89 f0 ; 0xc3094 + call 031a4h ; e8 0b 01 ; 0xc3096 + mov bx, ax ; 89 c3 ; 0xc3099 + mov dx, strict word 0004eh ; ba 4e 00 ; 0xc309b + mov ax, strict word 00040h ; b8 40 00 ; 0xc309e + call 031b2h ; e8 0e 01 ; 0xc30a1 + inc cx ; 41 ; 0xc30a4 + inc cx ; 41 ; 0xc30a5 + mov dx, cx ; 89 ca ; 0xc30a6 vgabios.c:1965 + mov ax, si ; 89 f0 ; 0xc30a8 + call 03188h ; e8 db 00 ; 0xc30aa + mov dl, al ; 88 c2 ; 0xc30ad + xor dh, dh ; 30 f6 ; 0xc30af + mov bx, dx ; 89 d3 ; 0xc30b1 + mov dx, strict word 00062h ; ba 62 00 ; 0xc30b3 + mov ax, strict word 00040h ; b8 40 00 ; 0xc30b6 + call 03196h ; e8 da 00 ; 0xc30b9 + inc cx ; 41 ; 0xc30bc + mov dx, cx ; 89 ca ; 0xc30bd vgabios.c:1967 + mov ax, si ; 89 f0 ; 0xc30bf + call 031a4h ; e8 e0 00 ; 0xc30c1 + mov bx, ax ; 89 c3 ; 0xc30c4 + mov dx, strict word 0007ch ; ba 7c 00 ; 0xc30c6 + xor ax, ax ; 31 c0 ; 0xc30c9 + call 031b2h ; e8 e4 00 ; 0xc30cb + inc cx ; 41 ; 0xc30ce + inc cx ; 41 ; 0xc30cf + mov dx, cx ; 89 ca ; 0xc30d0 vgabios.c:1968 + mov ax, si ; 89 f0 ; 0xc30d2 + call 031a4h ; e8 cd 00 ; 0xc30d4 + mov bx, ax ; 89 c3 ; 0xc30d7 + mov dx, strict word 0007eh ; ba 7e 00 ; 0xc30d9 + xor ax, ax ; 31 c0 ; 0xc30dc + call 031b2h ; e8 d1 00 ; 0xc30de + inc cx ; 41 ; 0xc30e1 + inc cx ; 41 ; 0xc30e2 + mov dx, cx ; 89 ca ; 0xc30e3 vgabios.c:1969 + mov ax, si ; 89 f0 ; 0xc30e5 + call 031a4h ; e8 ba 00 ; 0xc30e7 + mov bx, ax ; 89 c3 ; 0xc30ea + mov dx, 0010ch ; ba 0c 01 ; 0xc30ec + xor ax, ax ; 31 c0 ; 0xc30ef + call 031b2h ; e8 be 00 ; 0xc30f1 + inc cx ; 41 ; 0xc30f4 + inc cx ; 41 ; 0xc30f5 + mov dx, cx ; 89 ca ; 0xc30f6 vgabios.c:1970 + mov ax, si ; 89 f0 ; 0xc30f8 + call 031a4h ; e8 a7 00 ; 0xc30fa + mov bx, ax ; 89 c3 ; 0xc30fd + mov dx, 0010eh ; ba 0e 01 ; 0xc30ff + xor ax, ax ; 31 c0 ; 0xc3102 + call 031b2h ; e8 ab 00 ; 0xc3104 + inc cx ; 41 ; 0xc3107 + inc cx ; 41 ; 0xc3108 + test byte [bp-00eh], 004h ; f6 46 f2 04 ; 0xc3109 vgabios.c:1972 + je short 03156h ; 74 47 ; 0xc310d + inc cx ; 41 ; 0xc310f vgabios.c:1973 + mov dx, cx ; 89 ca ; 0xc3110 vgabios.c:1974 + mov ax, si ; 89 f0 ; 0xc3112 + call 03188h ; e8 71 00 ; 0xc3114 + xor ah, ah ; 30 e4 ; 0xc3117 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc3119 + inc cx ; 41 ; 0xc311c + mov dx, cx ; 89 ca ; 0xc311d vgabios.c:1975 + mov ax, si ; 89 f0 ; 0xc311f + call 03188h ; e8 64 00 ; 0xc3121 + mov dx, 003c6h ; ba c6 03 ; 0xc3124 + out DX, AL ; ee ; 0xc3127 + inc cx ; 41 ; 0xc3128 vgabios.c:1977 + xor al, al ; 30 c0 ; 0xc3129 + mov dx, 003c8h ; ba c8 03 ; 0xc312b + out DX, AL ; ee ; 0xc312e + xor ah, ah ; 30 e4 ; 0xc312f vgabios.c:1978 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc3131 + jmp short 0313dh ; eb 07 ; 0xc3134 + cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 ; 0xc3136 + jnc short 0314eh ; 73 11 ; 0xc313b + mov dx, cx ; 89 ca ; 0xc313d vgabios.c:1979 + mov ax, si ; 89 f0 ; 0xc313f + call 03188h ; e8 44 00 ; 0xc3141 + mov dx, 003c9h ; ba c9 03 ; 0xc3144 + out DX, AL ; ee ; 0xc3147 + inc cx ; 41 ; 0xc3148 + inc word [bp-00ah] ; ff 46 f6 ; 0xc3149 vgabios.c:1980 + jmp short 03136h ; eb e8 ; 0xc314c + inc cx ; 41 ; 0xc314e vgabios.c:1981 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc314f + mov dx, 003c8h ; ba c8 03 ; 0xc3152 + out DX, AL ; ee ; 0xc3155 + mov ax, cx ; 89 c8 ; 0xc3156 vgabios.c:1985 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc3158 + pop di ; 5f ; 0xc315b + pop si ; 5e ; 0xc315c + pop cx ; 59 ; 0xc315d + pop bp ; 5d ; 0xc315e + retn ; c3 ; 0xc315f + ; disGetNextSymbol 0xc3160 LB 0xcd5 -> off=0x0 cb=0000000000000028 uValue=00000000000c3160 'find_vga_entry' +find_vga_entry: ; 0xc3160 LB 0x28 + push bx ; 53 ; 0xc3160 vgabios.c:1994 + push dx ; 52 ; 0xc3161 + push bp ; 55 ; 0xc3162 + mov bp, sp ; 89 e5 ; 0xc3163 + mov dl, al ; 88 c2 ; 0xc3165 + mov AH, strict byte 0ffh ; b4 ff ; 0xc3167 vgabios.c:1996 + xor al, al ; 30 c0 ; 0xc3169 vgabios.c:1997 + jmp short 03173h ; eb 06 ; 0xc316b + db 0feh, 0c0h + ; inc al ; fe c0 ; 0xc316d vgabios.c:1998 + cmp AL, strict byte 00fh ; 3c 0f ; 0xc316f + jnbe short 03182h ; 77 0f ; 0xc3171 + mov bl, al ; 88 c3 ; 0xc3173 + xor bh, bh ; 30 ff ; 0xc3175 + sal bx, 003h ; c1 e3 03 ; 0xc3177 + cmp dl, byte [bx+0462eh] ; 3a 97 2e 46 ; 0xc317a + jne short 0316dh ; 75 ed ; 0xc317e + mov ah, al ; 88 c4 ; 0xc3180 + mov al, ah ; 88 e0 ; 0xc3182 vgabios.c:2003 + pop bp ; 5d ; 0xc3184 + pop dx ; 5a ; 0xc3185 + pop bx ; 5b ; 0xc3186 + retn ; c3 ; 0xc3187 + ; disGetNextSymbol 0xc3188 LB 0xcad -> off=0x0 cb=000000000000000e uValue=00000000000c3188 'read_byte' +read_byte: ; 0xc3188 LB 0xe + push bx ; 53 ; 0xc3188 vgabios.c:2011 + push bp ; 55 ; 0xc3189 + mov bp, sp ; 89 e5 ; 0xc318a + mov bx, dx ; 89 d3 ; 0xc318c + mov es, ax ; 8e c0 ; 0xc318e vgabios.c:2013 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc3190 + pop bp ; 5d ; 0xc3193 vgabios.c:2014 + pop bx ; 5b ; 0xc3194 + retn ; c3 ; 0xc3195 + ; disGetNextSymbol 0xc3196 LB 0xc9f -> off=0x0 cb=000000000000000e uValue=00000000000c3196 'write_byte' +write_byte: ; 0xc3196 LB 0xe + push si ; 56 ; 0xc3196 vgabios.c:2016 + push bp ; 55 ; 0xc3197 + mov bp, sp ; 89 e5 ; 0xc3198 + mov si, dx ; 89 d6 ; 0xc319a + mov es, ax ; 8e c0 ; 0xc319c vgabios.c:2018 + mov byte [es:si], bl ; 26 88 1c ; 0xc319e + pop bp ; 5d ; 0xc31a1 vgabios.c:2019 + pop si ; 5e ; 0xc31a2 + retn ; c3 ; 0xc31a3 + ; disGetNextSymbol 0xc31a4 LB 0xc91 -> off=0x0 cb=000000000000000e uValue=00000000000c31a4 'read_word' +read_word: ; 0xc31a4 LB 0xe + push bx ; 53 ; 0xc31a4 vgabios.c:2021 + push bp ; 55 ; 0xc31a5 + mov bp, sp ; 89 e5 ; 0xc31a6 + mov bx, dx ; 89 d3 ; 0xc31a8 + mov es, ax ; 8e c0 ; 0xc31aa vgabios.c:2023 + mov ax, word [es:bx] ; 26 8b 07 ; 0xc31ac + pop bp ; 5d ; 0xc31af vgabios.c:2024 + pop bx ; 5b ; 0xc31b0 + retn ; c3 ; 0xc31b1 + ; disGetNextSymbol 0xc31b2 LB 0xc83 -> off=0x0 cb=000000000000000e uValue=00000000000c31b2 'write_word' +write_word: ; 0xc31b2 LB 0xe + push si ; 56 ; 0xc31b2 vgabios.c:2026 + push bp ; 55 ; 0xc31b3 + mov bp, sp ; 89 e5 ; 0xc31b4 + mov si, dx ; 89 d6 ; 0xc31b6 + mov es, ax ; 8e c0 ; 0xc31b8 vgabios.c:2028 + mov word [es:si], bx ; 26 89 1c ; 0xc31ba + pop bp ; 5d ; 0xc31bd vgabios.c:2029 + pop si ; 5e ; 0xc31be + retn ; c3 ; 0xc31bf + ; disGetNextSymbol 0xc31c0 LB 0xc75 -> off=0x0 cb=0000000000000012 uValue=00000000000c31c0 'read_dword' +read_dword: ; 0xc31c0 LB 0x12 + push bx ; 53 ; 0xc31c0 vgabios.c:2031 + push bp ; 55 ; 0xc31c1 + mov bp, sp ; 89 e5 ; 0xc31c2 + mov bx, dx ; 89 d3 ; 0xc31c4 + mov es, ax ; 8e c0 ; 0xc31c6 vgabios.c:2033 + mov ax, word [es:bx] ; 26 8b 07 ; 0xc31c8 + mov dx, word [es:bx+002h] ; 26 8b 57 02 ; 0xc31cb + pop bp ; 5d ; 0xc31cf vgabios.c:2034 + pop bx ; 5b ; 0xc31d0 + retn ; c3 ; 0xc31d1 + ; disGetNextSymbol 0xc31d2 LB 0xc63 -> off=0x0 cb=0000000000000012 uValue=00000000000c31d2 'write_dword' +write_dword: ; 0xc31d2 LB 0x12 + push si ; 56 ; 0xc31d2 vgabios.c:2036 + push bp ; 55 ; 0xc31d3 + mov bp, sp ; 89 e5 ; 0xc31d4 + mov si, dx ; 89 d6 ; 0xc31d6 + mov es, ax ; 8e c0 ; 0xc31d8 vgabios.c:2038 + mov word [es:si], bx ; 26 89 1c ; 0xc31da + mov word [es:si+002h], cx ; 26 89 4c 02 ; 0xc31dd + pop bp ; 5d ; 0xc31e1 vgabios.c:2039 + pop si ; 5e ; 0xc31e2 + retn ; c3 ; 0xc31e3 + ; disGetNextSymbol 0xc31e4 LB 0xc51 -> off=0x87 cb=00000000000003e3 uValue=00000000000c326b 'int10_func' + db 056h, 04fh, 01ch, 01bh, 013h, 012h, 011h, 010h, 00eh, 00dh, 00ch, 00ah, 009h, 008h, 007h, 006h + db 005h, 004h, 003h, 002h, 001h, 000h, 047h, 036h, 097h, 032h, 0d4h, 032h, 0e9h, 032h, 0f9h, 032h + db 00ch, 033h, 01ch, 033h, 023h, 033h, 05bh, 033h, 05fh, 033h, 070h, 033h, 08dh, 033h, 0aah, 033h + db 0c8h, 033h, 0e5h, 033h, 0fbh, 033h, 007h, 034h, 0d1h, 034h, 008h, 035h, 035h, 035h, 04ah, 035h + db 08eh, 035h, 019h, 036h, 030h, 024h, 023h, 022h, 021h, 020h, 014h, 012h, 011h, 010h, 004h, 002h + db 001h, 000h, 047h, 036h, 026h, 034h, 047h, 034h, 056h, 034h, 065h, 034h, 026h, 034h, 047h, 034h + db 056h, 034h, 065h, 034h, 074h, 034h, 080h, 034h, 09bh, 034h, 0a5h, 034h, 0afh, 034h, 0b9h, 034h + db 00ah, 009h, 006h, 004h, 002h, 001h, 000h, 00bh, 036h, 0b4h, 035h, 0c2h, 035h, 0d3h, 035h, 0e3h + db 035h, 0f8h, 035h, 00bh, 036h, 00bh, 036h +int10_func: ; 0xc326b LB 0x3e3 + push bp ; 55 ; 0xc326b vgabios.c:2117 + mov bp, sp ; 89 e5 ; 0xc326c + push si ; 56 ; 0xc326e + push di ; 57 ; 0xc326f + push ax ; 50 ; 0xc3270 + mov si, word [bp+004h] ; 8b 76 04 ; 0xc3271 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3274 vgabios.c:2122 + shr ax, 008h ; c1 e8 08 ; 0xc3277 + cmp ax, strict word 00056h ; 3d 56 00 ; 0xc327a + jnbe short 032e6h ; 77 67 ; 0xc327d + push CS ; 0e ; 0xc327f + pop ES ; 07 ; 0xc3280 + mov cx, strict word 00017h ; b9 17 00 ; 0xc3281 + mov di, 031e4h ; bf e4 31 ; 0xc3284 + repne scasb ; f2 ae ; 0xc3287 + sal cx, 1 ; d1 e1 ; 0xc3289 + mov di, cx ; 89 cf ; 0xc328b + mov dx, word [cs:di+031fah] ; 2e 8b 95 fa 31 ; 0xc328d + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3292 + jmp dx ; ff e2 ; 0xc3295 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3297 vgabios.c:2125 + xor ah, ah ; 30 e4 ; 0xc329a + call 0101ch ; e8 7d dd ; 0xc329c + mov si, word [bp+012h] ; 8b 76 12 ; 0xc329f vgabios.c:2126 + and si, strict byte 0007fh ; 83 e6 7f ; 0xc32a2 + cmp si, strict byte 00007h ; 83 fe 07 ; 0xc32a5 + je short 032bfh ; 74 15 ; 0xc32a8 + cmp si, strict byte 00006h ; 83 fe 06 ; 0xc32aa + je short 032b6h ; 74 07 ; 0xc32ad + cmp si, strict byte 00005h ; 83 fe 05 ; 0xc32af + jbe short 032bfh ; 76 0b ; 0xc32b2 + jmp short 032c8h ; eb 12 ; 0xc32b4 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc32b6 vgabios.c:2128 + xor al, al ; 30 c0 ; 0xc32b9 + or AL, strict byte 03fh ; 0c 3f ; 0xc32bb + jmp short 032cfh ; eb 10 ; 0xc32bd vgabios.c:2129 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc32bf vgabios.c:2137 + xor al, al ; 30 c0 ; 0xc32c2 + or AL, strict byte 030h ; 0c 30 ; 0xc32c4 + jmp short 032cfh ; eb 07 ; 0xc32c6 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc32c8 vgabios.c:2140 + xor al, al ; 30 c0 ; 0xc32cb + or AL, strict byte 020h ; 0c 20 ; 0xc32cd + mov word [bp+012h], ax ; 89 46 12 ; 0xc32cf + jmp short 032e6h ; eb 12 ; 0xc32d2 vgabios.c:2142 + mov al, byte [bp+010h] ; 8a 46 10 ; 0xc32d4 vgabios.c:2144 + xor ah, ah ; 30 e4 ; 0xc32d7 + mov dx, ax ; 89 c2 ; 0xc32d9 + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc32db + shr ax, 008h ; c1 e8 08 ; 0xc32de + xor ah, ah ; 30 e4 ; 0xc32e1 + call 00dcbh ; e8 e5 da ; 0xc32e3 + jmp near 03647h ; e9 5e 03 ; 0xc32e6 vgabios.c:2145 + mov dx, word [bp+00eh] ; 8b 56 0e ; 0xc32e9 vgabios.c:2147 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc32ec + shr ax, 008h ; c1 e8 08 ; 0xc32ef + xor ah, ah ; 30 e4 ; 0xc32f2 + call 00e79h ; e8 82 db ; 0xc32f4 + jmp short 032e6h ; eb ed ; 0xc32f7 vgabios.c:2148 + lea bx, [bp+00eh] ; 8d 5e 0e ; 0xc32f9 vgabios.c:2150 + lea dx, [bp+010h] ; 8d 56 10 ; 0xc32fc + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc32ff + shr ax, 008h ; c1 e8 08 ; 0xc3302 + xor ah, ah ; 30 e4 ; 0xc3305 + call 00a8bh ; e8 81 d7 ; 0xc3307 + jmp short 032e6h ; eb da ; 0xc330a vgabios.c:2151 + xor ax, ax ; 31 c0 ; 0xc330c vgabios.c:2157 + mov word [bp+012h], ax ; 89 46 12 ; 0xc330e + mov word [bp+00ch], ax ; 89 46 0c ; 0xc3311 vgabios.c:2158 + mov word [bp+010h], ax ; 89 46 10 ; 0xc3314 vgabios.c:2159 + mov word [bp+00eh], ax ; 89 46 0e ; 0xc3317 vgabios.c:2160 + jmp short 032e6h ; eb ca ; 0xc331a vgabios.c:2161 + xor ah, ah ; 30 e4 ; 0xc331c vgabios.c:2163 + call 00f2eh ; e8 0d dc ; 0xc331e + jmp short 032e6h ; eb c3 ; 0xc3321 vgabios.c:2164 + mov ax, strict word 00001h ; b8 01 00 ; 0xc3323 vgabios.c:2166 + push ax ; 50 ; 0xc3326 + mov ax, 000ffh ; b8 ff 00 ; 0xc3327 + push ax ; 50 ; 0xc332a + mov al, byte [bp+00eh] ; 8a 46 0e ; 0xc332b + xor ah, ah ; 30 e4 ; 0xc332e + push ax ; 50 ; 0xc3330 + mov ax, word [bp+00eh] ; 8b 46 0e ; 0xc3331 + shr ax, 008h ; c1 e8 08 ; 0xc3334 + xor ah, ah ; 30 e4 ; 0xc3337 + push ax ; 50 ; 0xc3339 + mov al, byte [bp+010h] ; 8a 46 10 ; 0xc333a + mov cx, ax ; 89 c1 ; 0xc333d + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc333f + shr ax, 008h ; c1 e8 08 ; 0xc3342 + xor ah, ah ; 30 e4 ; 0xc3345 + mov bx, ax ; 89 c3 ; 0xc3347 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc3349 + shr ax, 008h ; c1 e8 08 ; 0xc334c + xor ah, ah ; 30 e4 ; 0xc334f + mov dx, ax ; 89 c2 ; 0xc3351 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3353 + call 0166ah ; e8 11 e3 ; 0xc3356 + jmp short 032e6h ; eb 8b ; 0xc3359 vgabios.c:2167 + xor ax, ax ; 31 c0 ; 0xc335b vgabios.c:2169 + jmp short 03326h ; eb c7 ; 0xc335d + lea dx, [bp+012h] ; 8d 56 12 ; 0xc335f vgabios.c:2172 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc3362 + shr ax, 008h ; c1 e8 08 ; 0xc3365 + xor ah, ah ; 30 e4 ; 0xc3368 + call 00ad1h ; e8 64 d7 ; 0xc336a + jmp near 03647h ; e9 d7 02 ; 0xc336d vgabios.c:2173 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc3370 vgabios.c:2175 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3373 + xor ah, ah ; 30 e4 ; 0xc3376 + mov bx, ax ; 89 c3 ; 0xc3378 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc337a + shr ax, 008h ; c1 e8 08 ; 0xc337d + xor ah, ah ; 30 e4 ; 0xc3380 + mov dx, ax ; 89 c2 ; 0xc3382 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3384 + call 01ea1h ; e8 17 eb ; 0xc3387 + jmp near 03647h ; e9 ba 02 ; 0xc338a vgabios.c:2176 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc338d vgabios.c:2178 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3390 + xor ah, ah ; 30 e4 ; 0xc3393 + mov bx, ax ; 89 c3 ; 0xc3395 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc3397 + shr ax, 008h ; c1 e8 08 ; 0xc339a + xor ah, ah ; 30 e4 ; 0xc339d + mov dx, ax ; 89 c2 ; 0xc339f + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc33a1 + call 0202eh ; e8 87 ec ; 0xc33a4 + jmp near 03647h ; e9 9d 02 ; 0xc33a7 vgabios.c:2179 + mov cx, word [bp+00eh] ; 8b 4e 0e ; 0xc33aa vgabios.c:2181 + mov bx, word [bp+010h] ; 8b 5e 10 ; 0xc33ad + xor ah, ah ; 30 e4 ; 0xc33b0 + mov dx, ax ; 89 c2 ; 0xc33b2 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc33b4 + shr ax, 008h ; c1 e8 08 ; 0xc33b7 + mov word [bp-006h], ax ; 89 46 fa ; 0xc33ba + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc33bd + xor ah, ah ; 30 e4 ; 0xc33c0 + call 021c4h ; e8 ff ed ; 0xc33c2 + jmp near 03647h ; e9 7f 02 ; 0xc33c5 vgabios.c:2182 + lea cx, [bp+012h] ; 8d 4e 12 ; 0xc33c8 vgabios.c:2184 + mov bx, word [bp+00eh] ; 8b 5e 0e ; 0xc33cb + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc33ce + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc33d1 + shr ax, 008h ; c1 e8 08 ; 0xc33d4 + mov word [bp-006h], ax ; 89 46 fa ; 0xc33d7 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc33da + xor ah, ah ; 30 e4 ; 0xc33dd + call 00bfch ; e8 1a d8 ; 0xc33df + jmp near 03647h ; e9 62 02 ; 0xc33e2 vgabios.c:2185 + mov cx, strict word 00002h ; b9 02 00 ; 0xc33e5 vgabios.c:2193 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc33e8 + xor ah, ah ; 30 e4 ; 0xc33eb + mov bx, ax ; 89 c3 ; 0xc33ed + mov dx, 000ffh ; ba ff 00 ; 0xc33ef + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc33f2 + call 0233fh ; e8 47 ef ; 0xc33f5 + jmp near 03647h ; e9 4c 02 ; 0xc33f8 vgabios.c:2194 + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc33fb vgabios.c:2197 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc33fe + call 00d3eh ; e8 3a d9 ; 0xc3401 + jmp near 03647h ; e9 40 02 ; 0xc3404 vgabios.c:2198 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3407 vgabios.c:2200 + xor ah, ah ; 30 e4 ; 0xc340a + cmp ax, strict word 00030h ; 3d 30 00 ; 0xc340c + jnbe short 0347dh ; 77 6c ; 0xc340f + push CS ; 0e ; 0xc3411 + pop ES ; 07 ; 0xc3412 + mov cx, strict word 0000fh ; b9 0f 00 ; 0xc3413 + mov di, 03228h ; bf 28 32 ; 0xc3416 + repne scasb ; f2 ae ; 0xc3419 + sal cx, 1 ; d1 e1 ; 0xc341b + mov di, cx ; 89 cf ; 0xc341d + mov ax, word [cs:di+03236h] ; 2e 8b 85 36 32 ; 0xc341f + jmp ax ; ff e0 ; 0xc3424 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc3426 vgabios.c:2204 + shr ax, 008h ; c1 e8 08 ; 0xc3429 + xor ah, ah ; 30 e4 ; 0xc342c + push ax ; 50 ; 0xc342e + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc342f + push ax ; 50 ; 0xc3432 + push word [bp+00eh] ; ff 76 0e ; 0xc3433 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3436 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc3439 + mov bx, word [bp+008h] ; 8b 5e 08 ; 0xc343c + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc343f + call 026d8h ; e8 93 f2 ; 0xc3442 + jmp short 0347dh ; eb 36 ; 0xc3445 vgabios.c:2205 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3447 vgabios.c:2208 + xor ah, ah ; 30 e4 ; 0xc344a + mov dx, ax ; 89 c2 ; 0xc344c + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc344e + call 02758h ; e8 04 f3 ; 0xc3451 + jmp short 0347dh ; eb 27 ; 0xc3454 vgabios.c:2209 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3456 vgabios.c:2212 + xor ah, ah ; 30 e4 ; 0xc3459 + mov dx, ax ; 89 c2 ; 0xc345b + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc345d + call 027c6h ; e8 63 f3 ; 0xc3460 + jmp short 0347dh ; eb 18 ; 0xc3463 vgabios.c:2213 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3465 vgabios.c:2216 + xor ah, ah ; 30 e4 ; 0xc3468 + mov dx, ax ; 89 c2 ; 0xc346a + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc346c + call 02836h ; e8 c4 f3 ; 0xc346f + jmp short 0347dh ; eb 09 ; 0xc3472 vgabios.c:2217 + mov dx, word [bp+008h] ; 8b 56 08 ; 0xc3474 vgabios.c:2219 + mov ax, word [bp+016h] ; 8b 46 16 ; 0xc3477 + call 028a6h ; e8 29 f4 ; 0xc347a + jmp near 03647h ; e9 c7 01 ; 0xc347d vgabios.c:2220 + mov al, byte [bp+00eh] ; 8a 46 0e ; 0xc3480 vgabios.c:2222 + xor ah, ah ; 30 e4 ; 0xc3483 + push ax ; 50 ; 0xc3485 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3486 + mov bx, word [bp+010h] ; 8b 5e 10 ; 0xc3489 + mov dx, word [bp+008h] ; 8b 56 08 ; 0xc348c + mov si, word [bp+016h] ; 8b 76 16 ; 0xc348f + mov cx, ax ; 89 c1 ; 0xc3492 + mov ax, si ; 89 f0 ; 0xc3494 + call 028abh ; e8 12 f4 ; 0xc3496 + jmp short 0347dh ; eb e2 ; 0xc3499 vgabios.c:2223 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc349b vgabios.c:2225 + xor ah, ah ; 30 e4 ; 0xc349e + call 028b2h ; e8 0f f4 ; 0xc34a0 + jmp short 0347dh ; eb d8 ; 0xc34a3 vgabios.c:2226 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc34a5 vgabios.c:2228 + xor ah, ah ; 30 e4 ; 0xc34a8 + call 028b7h ; e8 0a f4 ; 0xc34aa + jmp short 0347dh ; eb ce ; 0xc34ad vgabios.c:2229 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc34af vgabios.c:2231 + xor ah, ah ; 30 e4 ; 0xc34b2 + call 028bch ; e8 05 f4 ; 0xc34b4 + jmp short 0347dh ; eb c4 ; 0xc34b7 vgabios.c:2232 + lea ax, [bp+00eh] ; 8d 46 0e ; 0xc34b9 vgabios.c:2234 + push ax ; 50 ; 0xc34bc + lea cx, [bp+010h] ; 8d 4e 10 ; 0xc34bd + lea bx, [bp+008h] ; 8d 5e 08 ; 0xc34c0 + lea dx, [bp+016h] ; 8d 56 16 ; 0xc34c3 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc34c6 + shr ax, 008h ; c1 e8 08 ; 0xc34c9 + call 00b81h ; e8 b2 d6 ; 0xc34cc + jmp short 0347dh ; eb ac ; 0xc34cf vgabios.c:2242 + mov si, word [bp+00ch] ; 8b 76 0c ; 0xc34d1 vgabios.c:2244 + and si, 000ffh ; 81 e6 ff 00 ; 0xc34d4 + cmp si, strict byte 00036h ; 83 fe 36 ; 0xc34d8 + je short 03501h ; 74 24 ; 0xc34db + cmp si, strict byte 00035h ; 83 fe 35 ; 0xc34dd + je short 034ech ; 74 0a ; 0xc34e0 + cmp si, strict byte 00020h ; 83 fe 20 ; 0xc34e2 + jne short 03532h ; 75 4b ; 0xc34e5 + call 028c1h ; e8 d7 f3 ; 0xc34e7 vgabios.c:2247 + jmp short 03532h ; eb 46 ; 0xc34ea vgabios.c:2248 + xor ah, ah ; 30 e4 ; 0xc34ec vgabios.c:2250 + mov bx, word [bp+00eh] ; 8b 5e 0e ; 0xc34ee + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc34f1 + call 028c6h ; e8 cf f3 ; 0xc34f4 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc34f7 vgabios.c:2251 + xor al, al ; 30 c0 ; 0xc34fa + or AL, strict byte 012h ; 0c 12 ; 0xc34fc + jmp near 032cfh ; e9 ce fd ; 0xc34fe + xor ah, ah ; 30 e4 ; 0xc3501 vgabios.c:2254 + call 028cbh ; e8 c5 f3 ; 0xc3503 + jmp short 034f7h ; eb ef ; 0xc3506 + push word [bp+008h] ; ff 76 08 ; 0xc3508 vgabios.c:2264 + push word [bp+016h] ; ff 76 16 ; 0xc350b + mov dl, byte [bp+00eh] ; 8a 56 0e ; 0xc350e + xor dh, dh ; 30 f6 ; 0xc3511 + push dx ; 52 ; 0xc3513 + mov dx, word [bp+00eh] ; 8b 56 0e ; 0xc3514 + shr dx, 008h ; c1 ea 08 ; 0xc3517 + xor dh, dh ; 30 f6 ; 0xc351a + push dx ; 52 ; 0xc351c + mov dl, byte [bp+00ch] ; 8a 56 0c ; 0xc351d + mov bx, dx ; 89 d3 ; 0xc3520 + mov dx, word [bp+00ch] ; 8b 56 0c ; 0xc3522 + shr dx, 008h ; c1 ea 08 ; 0xc3525 + xor dh, dh ; 30 f6 ; 0xc3528 + xor ah, ah ; 30 e4 ; 0xc352a + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc352c + call 028d0h ; e8 9e f3 ; 0xc352f + jmp near 03647h ; e9 12 01 ; 0xc3532 vgabios.c:2265 + mov bx, si ; 89 f3 ; 0xc3535 vgabios.c:2267 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc3537 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc353a + call 02972h ; e8 32 f4 ; 0xc353d + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3540 vgabios.c:2268 + xor al, al ; 30 c0 ; 0xc3543 + or AL, strict byte 01bh ; 0c 1b ; 0xc3545 + jmp near 032cfh ; e9 85 fd ; 0xc3547 + mov si, word [bp+012h] ; 8b 76 12 ; 0xc354a vgabios.c:2271 + and si, 000ffh ; 81 e6 ff 00 ; 0xc354d + cmp si, strict byte 00002h ; 83 fe 02 ; 0xc3551 + je short 03578h ; 74 22 ; 0xc3554 + cmp si, strict byte 00001h ; 83 fe 01 ; 0xc3556 + je short 0356ah ; 74 0f ; 0xc3559 + test si, si ; 85 f6 ; 0xc355b + jne short 03584h ; 75 25 ; 0xc355d + lea dx, [bp+00ch] ; 8d 56 0c ; 0xc355f vgabios.c:2274 + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc3562 + call 02a97h ; e8 2f f5 ; 0xc3565 + jmp short 03584h ; eb 1a ; 0xc3568 vgabios.c:2275 + mov bx, word [bp+00ch] ; 8b 5e 0c ; 0xc356a vgabios.c:2277 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc356d + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc3570 + call 02aa9h ; e8 33 f5 ; 0xc3573 + jmp short 03584h ; eb 0c ; 0xc3576 vgabios.c:2278 + mov bx, word [bp+00ch] ; 8b 5e 0c ; 0xc3578 vgabios.c:2280 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc357b + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc357e + call 02e2ah ; e8 a6 f8 ; 0xc3581 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3584 vgabios.c:2287 + xor al, al ; 30 c0 ; 0xc3587 + or AL, strict byte 01ch ; 0c 1c ; 0xc3589 + jmp near 032cfh ; e9 41 fd ; 0xc358b + call 007bfh ; e8 2e d2 ; 0xc358e vgabios.c:2292 + test ax, ax ; 85 c0 ; 0xc3591 + je short 03609h ; 74 74 ; 0xc3593 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3595 vgabios.c:2293 + xor ah, ah ; 30 e4 ; 0xc3598 + cmp ax, strict word 0000ah ; 3d 0a 00 ; 0xc359a + jnbe short 0360bh ; 77 6c ; 0xc359d + push CS ; 0e ; 0xc359f + pop ES ; 07 ; 0xc35a0 + mov cx, strict word 00008h ; b9 08 00 ; 0xc35a1 + mov di, 03254h ; bf 54 32 ; 0xc35a4 + repne scasb ; f2 ae ; 0xc35a7 + sal cx, 1 ; d1 e1 ; 0xc35a9 + mov di, cx ; 89 cf ; 0xc35ab + mov ax, word [cs:di+0325bh] ; 2e 8b 85 5b 32 ; 0xc35ad + jmp ax ; ff e0 ; 0xc35b2 + mov bx, si ; 89 f3 ; 0xc35b4 vgabios.c:2296 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc35b6 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc35b9 + call 03803h ; e8 44 02 ; 0xc35bc + jmp near 03647h ; e9 85 00 ; 0xc35bf vgabios.c:2297 + mov cx, si ; 89 f1 ; 0xc35c2 vgabios.c:2299 + mov bx, word [bp+016h] ; 8b 5e 16 ; 0xc35c4 + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc35c7 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc35ca + call 03932h ; e8 62 03 ; 0xc35cd + jmp near 03647h ; e9 74 00 ; 0xc35d0 vgabios.c:2300 + mov cx, si ; 89 f1 ; 0xc35d3 vgabios.c:2302 + mov bx, word [bp+016h] ; 8b 5e 16 ; 0xc35d5 + mov dx, word [bp+00ch] ; 8b 56 0c ; 0xc35d8 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc35db + call 039efh ; e8 0e 04 ; 0xc35de + jmp short 03647h ; eb 64 ; 0xc35e1 vgabios.c:2303 + lea ax, [bp+00ch] ; 8d 46 0c ; 0xc35e3 vgabios.c:2305 + push ax ; 50 ; 0xc35e6 + mov cx, word [bp+016h] ; 8b 4e 16 ; 0xc35e7 + mov bx, word [bp+00eh] ; 8b 5e 0e ; 0xc35ea + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc35ed + lea ax, [bp+012h] ; 8d 46 12 ; 0xc35f0 + call 03bd8h ; e8 e2 05 ; 0xc35f3 + jmp short 03647h ; eb 4f ; 0xc35f6 vgabios.c:2306 + lea cx, [bp+00eh] ; 8d 4e 0e ; 0xc35f8 vgabios.c:2308 + lea bx, [bp+010h] ; 8d 5e 10 ; 0xc35fb + lea dx, [bp+00ch] ; 8d 56 0c ; 0xc35fe + lea ax, [bp+012h] ; 8d 46 12 ; 0xc3601 + call 03c64h ; e8 5d 06 ; 0xc3604 + jmp short 03647h ; eb 3e ; 0xc3607 vgabios.c:2309 + jmp short 03612h ; eb 07 ; 0xc3609 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc360b vgabios.c:2331 + jmp short 03647h ; eb 35 ; 0xc3610 vgabios.c:2334 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc3612 vgabios.c:2336 + jmp short 03647h ; eb 2e ; 0xc3617 vgabios.c:2338 + call 007bfh ; e8 a3 d1 ; 0xc3619 vgabios.c:2340 + test ax, ax ; 85 c0 ; 0xc361c + je short 03642h ; 74 22 ; 0xc361e + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3620 vgabios.c:2341 + xor ah, ah ; 30 e4 ; 0xc3623 + cmp ax, strict word 00042h ; 3d 42 00 ; 0xc3625 + jne short 0363bh ; 75 11 ; 0xc3628 + lea cx, [bp+00eh] ; 8d 4e 0e ; 0xc362a vgabios.c:2344 + lea bx, [bp+010h] ; 8d 5e 10 ; 0xc362d + lea dx, [bp+00ch] ; 8d 56 0c ; 0xc3630 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc3633 + call 03d43h ; e8 0a 07 ; 0xc3636 + jmp short 03647h ; eb 0c ; 0xc3639 vgabios.c:2345 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc363b vgabios.c:2347 + jmp short 03647h ; eb 05 ; 0xc3640 vgabios.c:2350 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc3642 vgabios.c:2352 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3647 vgabios.c:2362 + pop di ; 5f ; 0xc364a + pop si ; 5e ; 0xc364b + pop bp ; 5d ; 0xc364c + retn ; c3 ; 0xc364d + ; disGetNextSymbol 0xc364e LB 0x7e7 -> off=0x0 cb=000000000000001f uValue=00000000000c364e 'dispi_set_xres' +dispi_set_xres: ; 0xc364e LB 0x1f + push bp ; 55 ; 0xc364e vbe.c:100 + mov bp, sp ; 89 e5 ; 0xc364f + push bx ; 53 ; 0xc3651 + push dx ; 52 ; 0xc3652 + mov bx, ax ; 89 c3 ; 0xc3653 + mov ax, strict word 00001h ; b8 01 00 ; 0xc3655 vbe.c:105 + mov dx, 001ceh ; ba ce 01 ; 0xc3658 + call 00570h ; e8 12 cf ; 0xc365b + mov ax, bx ; 89 d8 ; 0xc365e vbe.c:106 + mov dx, 001cfh ; ba cf 01 ; 0xc3660 + call 00570h ; e8 0a cf ; 0xc3663 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3666 vbe.c:107 + pop dx ; 5a ; 0xc3669 + pop bx ; 5b ; 0xc366a + pop bp ; 5d ; 0xc366b + retn ; c3 ; 0xc366c + ; disGetNextSymbol 0xc366d LB 0x7c8 -> off=0x0 cb=000000000000001f uValue=00000000000c366d 'dispi_set_yres' +dispi_set_yres: ; 0xc366d LB 0x1f + push bp ; 55 ; 0xc366d vbe.c:109 + mov bp, sp ; 89 e5 ; 0xc366e + push bx ; 53 ; 0xc3670 + push dx ; 52 ; 0xc3671 + mov bx, ax ; 89 c3 ; 0xc3672 + mov ax, strict word 00002h ; b8 02 00 ; 0xc3674 vbe.c:114 + mov dx, 001ceh ; ba ce 01 ; 0xc3677 + call 00570h ; e8 f3 ce ; 0xc367a + mov ax, bx ; 89 d8 ; 0xc367d vbe.c:115 + mov dx, 001cfh ; ba cf 01 ; 0xc367f + call 00570h ; e8 eb ce ; 0xc3682 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3685 vbe.c:116 + pop dx ; 5a ; 0xc3688 + pop bx ; 5b ; 0xc3689 + pop bp ; 5d ; 0xc368a + retn ; c3 ; 0xc368b + ; disGetNextSymbol 0xc368c LB 0x7a9 -> off=0x0 cb=0000000000000019 uValue=00000000000c368c 'dispi_get_yres' +dispi_get_yres: ; 0xc368c LB 0x19 + push bp ; 55 ; 0xc368c vbe.c:118 + mov bp, sp ; 89 e5 ; 0xc368d + push dx ; 52 ; 0xc368f + mov ax, strict word 00002h ; b8 02 00 ; 0xc3690 vbe.c:120 + mov dx, 001ceh ; ba ce 01 ; 0xc3693 + call 00570h ; e8 d7 ce ; 0xc3696 + mov dx, 001cfh ; ba cf 01 ; 0xc3699 vbe.c:121 + call 00577h ; e8 d8 ce ; 0xc369c + lea sp, [bp-002h] ; 8d 66 fe ; 0xc369f vbe.c:122 + pop dx ; 5a ; 0xc36a2 + pop bp ; 5d ; 0xc36a3 + retn ; c3 ; 0xc36a4 + ; disGetNextSymbol 0xc36a5 LB 0x790 -> off=0x0 cb=000000000000001f uValue=00000000000c36a5 'dispi_set_bpp' +dispi_set_bpp: ; 0xc36a5 LB 0x1f + push bp ; 55 ; 0xc36a5 vbe.c:124 + mov bp, sp ; 89 e5 ; 0xc36a6 + push bx ; 53 ; 0xc36a8 + push dx ; 52 ; 0xc36a9 + mov bx, ax ; 89 c3 ; 0xc36aa + mov ax, strict word 00003h ; b8 03 00 ; 0xc36ac vbe.c:129 + mov dx, 001ceh ; ba ce 01 ; 0xc36af + call 00570h ; e8 bb ce ; 0xc36b2 + mov ax, bx ; 89 d8 ; 0xc36b5 vbe.c:130 + mov dx, 001cfh ; ba cf 01 ; 0xc36b7 + call 00570h ; e8 b3 ce ; 0xc36ba + lea sp, [bp-004h] ; 8d 66 fc ; 0xc36bd vbe.c:131 + pop dx ; 5a ; 0xc36c0 + pop bx ; 5b ; 0xc36c1 + pop bp ; 5d ; 0xc36c2 + retn ; c3 ; 0xc36c3 + ; disGetNextSymbol 0xc36c4 LB 0x771 -> off=0x0 cb=0000000000000019 uValue=00000000000c36c4 'dispi_get_bpp' +dispi_get_bpp: ; 0xc36c4 LB 0x19 + push bp ; 55 ; 0xc36c4 vbe.c:133 + mov bp, sp ; 89 e5 ; 0xc36c5 + push dx ; 52 ; 0xc36c7 + mov ax, strict word 00003h ; b8 03 00 ; 0xc36c8 vbe.c:135 + mov dx, 001ceh ; ba ce 01 ; 0xc36cb + call 00570h ; e8 9f ce ; 0xc36ce + mov dx, 001cfh ; ba cf 01 ; 0xc36d1 vbe.c:136 + call 00577h ; e8 a0 ce ; 0xc36d4 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc36d7 vbe.c:137 + pop dx ; 5a ; 0xc36da + pop bp ; 5d ; 0xc36db + retn ; c3 ; 0xc36dc + ; disGetNextSymbol 0xc36dd LB 0x758 -> off=0x0 cb=000000000000001f uValue=00000000000c36dd 'dispi_set_virt_width' +dispi_set_virt_width: ; 0xc36dd LB 0x1f + push bp ; 55 ; 0xc36dd vbe.c:139 + mov bp, sp ; 89 e5 ; 0xc36de + push bx ; 53 ; 0xc36e0 + push dx ; 52 ; 0xc36e1 + mov bx, ax ; 89 c3 ; 0xc36e2 + mov ax, strict word 00006h ; b8 06 00 ; 0xc36e4 vbe.c:144 + mov dx, 001ceh ; ba ce 01 ; 0xc36e7 + call 00570h ; e8 83 ce ; 0xc36ea + mov ax, bx ; 89 d8 ; 0xc36ed vbe.c:145 + mov dx, 001cfh ; ba cf 01 ; 0xc36ef + call 00570h ; e8 7b ce ; 0xc36f2 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc36f5 vbe.c:146 + pop dx ; 5a ; 0xc36f8 + pop bx ; 5b ; 0xc36f9 + pop bp ; 5d ; 0xc36fa + retn ; c3 ; 0xc36fb + ; disGetNextSymbol 0xc36fc LB 0x739 -> off=0x0 cb=0000000000000019 uValue=00000000000c36fc 'dispi_get_virt_width' +dispi_get_virt_width: ; 0xc36fc LB 0x19 + push bp ; 55 ; 0xc36fc vbe.c:148 + mov bp, sp ; 89 e5 ; 0xc36fd + push dx ; 52 ; 0xc36ff + mov ax, strict word 00006h ; b8 06 00 ; 0xc3700 vbe.c:150 + mov dx, 001ceh ; ba ce 01 ; 0xc3703 + call 00570h ; e8 67 ce ; 0xc3706 + mov dx, 001cfh ; ba cf 01 ; 0xc3709 vbe.c:151 + call 00577h ; e8 68 ce ; 0xc370c + lea sp, [bp-002h] ; 8d 66 fe ; 0xc370f vbe.c:152 + pop dx ; 5a ; 0xc3712 + pop bp ; 5d ; 0xc3713 + retn ; c3 ; 0xc3714 + ; disGetNextSymbol 0xc3715 LB 0x720 -> off=0x0 cb=0000000000000019 uValue=00000000000c3715 'dispi_get_virt_height' +dispi_get_virt_height: ; 0xc3715 LB 0x19 + push bp ; 55 ; 0xc3715 vbe.c:154 + mov bp, sp ; 89 e5 ; 0xc3716 + push dx ; 52 ; 0xc3718 + mov ax, strict word 00007h ; b8 07 00 ; 0xc3719 vbe.c:156 + mov dx, 001ceh ; ba ce 01 ; 0xc371c + call 00570h ; e8 4e ce ; 0xc371f + mov dx, 001cfh ; ba cf 01 ; 0xc3722 vbe.c:157 + call 00577h ; e8 4f ce ; 0xc3725 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc3728 vbe.c:158 + pop dx ; 5a ; 0xc372b + pop bp ; 5d ; 0xc372c + retn ; c3 ; 0xc372d + ; disGetNextSymbol 0xc372e LB 0x707 -> off=0x0 cb=0000000000000012 uValue=00000000000c372e 'in_word' +in_word: ; 0xc372e LB 0x12 + push bp ; 55 ; 0xc372e vbe.c:160 + mov bp, sp ; 89 e5 ; 0xc372f + push bx ; 53 ; 0xc3731 + mov bx, ax ; 89 c3 ; 0xc3732 + mov ax, dx ; 89 d0 ; 0xc3734 + mov dx, bx ; 89 da ; 0xc3736 vbe.c:162 + out DX, ax ; ef ; 0xc3738 + in ax, DX ; ed ; 0xc3739 vbe.c:163 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc373a vbe.c:164 + pop bx ; 5b ; 0xc373d + pop bp ; 5d ; 0xc373e + retn ; c3 ; 0xc373f + ; disGetNextSymbol 0xc3740 LB 0x6f5 -> off=0x0 cb=0000000000000014 uValue=00000000000c3740 'in_byte' +in_byte: ; 0xc3740 LB 0x14 + push bp ; 55 ; 0xc3740 vbe.c:166 + mov bp, sp ; 89 e5 ; 0xc3741 + push bx ; 53 ; 0xc3743 + mov bx, ax ; 89 c3 ; 0xc3744 + mov ax, dx ; 89 d0 ; 0xc3746 + mov dx, bx ; 89 da ; 0xc3748 vbe.c:168 + out DX, ax ; ef ; 0xc374a + in AL, DX ; ec ; 0xc374b vbe.c:169 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc374c + lea sp, [bp-002h] ; 8d 66 fe ; 0xc374e vbe.c:170 + pop bx ; 5b ; 0xc3751 + pop bp ; 5d ; 0xc3752 + retn ; c3 ; 0xc3753 + ; disGetNextSymbol 0xc3754 LB 0x6e1 -> off=0x0 cb=0000000000000014 uValue=00000000000c3754 'dispi_get_id' +dispi_get_id: ; 0xc3754 LB 0x14 + push bp ; 55 ; 0xc3754 vbe.c:173 + mov bp, sp ; 89 e5 ; 0xc3755 + push dx ; 52 ; 0xc3757 + xor ax, ax ; 31 c0 ; 0xc3758 vbe.c:175 + mov dx, 001ceh ; ba ce 01 ; 0xc375a + out DX, ax ; ef ; 0xc375d + mov dx, 001cfh ; ba cf 01 ; 0xc375e vbe.c:176 + in ax, DX ; ed ; 0xc3761 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc3762 vbe.c:177 + pop dx ; 5a ; 0xc3765 + pop bp ; 5d ; 0xc3766 + retn ; c3 ; 0xc3767 + ; disGetNextSymbol 0xc3768 LB 0x6cd -> off=0x0 cb=000000000000001a uValue=00000000000c3768 'dispi_set_id' +dispi_set_id: ; 0xc3768 LB 0x1a + push bp ; 55 ; 0xc3768 vbe.c:179 + mov bp, sp ; 89 e5 ; 0xc3769 + push bx ; 53 ; 0xc376b + push dx ; 52 ; 0xc376c + mov bx, ax ; 89 c3 ; 0xc376d + xor ax, ax ; 31 c0 ; 0xc376f vbe.c:181 + mov dx, 001ceh ; ba ce 01 ; 0xc3771 + out DX, ax ; ef ; 0xc3774 + mov ax, bx ; 89 d8 ; 0xc3775 vbe.c:182 + mov dx, 001cfh ; ba cf 01 ; 0xc3777 + out DX, ax ; ef ; 0xc377a + lea sp, [bp-004h] ; 8d 66 fc ; 0xc377b vbe.c:183 + pop dx ; 5a ; 0xc377e + pop bx ; 5b ; 0xc377f + pop bp ; 5d ; 0xc3780 + retn ; c3 ; 0xc3781 + ; disGetNextSymbol 0xc3782 LB 0x6b3 -> off=0x0 cb=000000000000002c uValue=00000000000c3782 'vbe_init' +vbe_init: ; 0xc3782 LB 0x2c + push bp ; 55 ; 0xc3782 vbe.c:188 + mov bp, sp ; 89 e5 ; 0xc3783 + push bx ; 53 ; 0xc3785 + push dx ; 52 ; 0xc3786 + mov ax, 0b0c0h ; b8 c0 b0 ; 0xc3787 vbe.c:190 + call 03768h ; e8 db ff ; 0xc378a + call 03754h ; e8 c4 ff ; 0xc378d vbe.c:191 + cmp ax, 0b0c0h ; 3d c0 b0 ; 0xc3790 + jne short 037a7h ; 75 12 ; 0xc3793 + mov bx, strict word 00001h ; bb 01 00 ; 0xc3795 vbe.c:193 + mov dx, 000b9h ; ba b9 00 ; 0xc3798 + mov ax, strict word 00040h ; b8 40 00 ; 0xc379b + call 03196h ; e8 f5 f9 ; 0xc379e + mov ax, 0b0c4h ; b8 c4 b0 ; 0xc37a1 vbe.c:194 + call 03768h ; e8 c1 ff ; 0xc37a4 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc37a7 vbe.c:199 + pop dx ; 5a ; 0xc37aa + pop bx ; 5b ; 0xc37ab + pop bp ; 5d ; 0xc37ac + retn ; c3 ; 0xc37ad + ; disGetNextSymbol 0xc37ae LB 0x687 -> off=0x0 cb=0000000000000055 uValue=00000000000c37ae 'mode_info_find_mode' +mode_info_find_mode: ; 0xc37ae LB 0x55 + push bp ; 55 ; 0xc37ae vbe.c:202 + mov bp, sp ; 89 e5 ; 0xc37af + push bx ; 53 ; 0xc37b1 + push cx ; 51 ; 0xc37b2 + push si ; 56 ; 0xc37b3 + push di ; 57 ; 0xc37b4 + mov di, ax ; 89 c7 ; 0xc37b5 + mov si, dx ; 89 d6 ; 0xc37b7 + xor dx, dx ; 31 d2 ; 0xc37b9 vbe.c:208 + mov ax, 003b6h ; b8 b6 03 ; 0xc37bb + call 0372eh ; e8 6d ff ; 0xc37be + cmp ax, 077cch ; 3d cc 77 ; 0xc37c1 vbe.c:209 + jne short 037f8h ; 75 32 ; 0xc37c4 + mov bx, strict word 00004h ; bb 04 00 ; 0xc37c6 vbe.c:213 + mov dx, bx ; 89 da ; 0xc37c9 vbe.c:218 + mov ax, 003b6h ; b8 b6 03 ; 0xc37cb + call 0372eh ; e8 5d ff ; 0xc37ce + mov cx, ax ; 89 c1 ; 0xc37d1 + cmp cx, strict byte 0ffffh ; 83 f9 ff ; 0xc37d3 vbe.c:219 + je short 037f8h ; 74 20 ; 0xc37d6 + lea dx, [bx+002h] ; 8d 57 02 ; 0xc37d8 vbe.c:221 + mov ax, 003b6h ; b8 b6 03 ; 0xc37db + call 0372eh ; e8 4d ff ; 0xc37de + lea dx, [bx+044h] ; 8d 57 44 ; 0xc37e1 + cmp cx, di ; 39 f9 ; 0xc37e4 vbe.c:223 + jne short 037f4h ; 75 0c ; 0xc37e6 + test si, si ; 85 f6 ; 0xc37e8 vbe.c:225 + jne short 037f0h ; 75 04 ; 0xc37ea + mov ax, bx ; 89 d8 ; 0xc37ec vbe.c:226 + jmp short 037fah ; eb 0a ; 0xc37ee + test AL, strict byte 080h ; a8 80 ; 0xc37f0 vbe.c:227 + jne short 037ech ; 75 f8 ; 0xc37f2 + mov bx, dx ; 89 d3 ; 0xc37f4 vbe.c:230 + jmp short 037cbh ; eb d3 ; 0xc37f6 vbe.c:235 + xor ax, ax ; 31 c0 ; 0xc37f8 vbe.c:238 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc37fa vbe.c:239 + pop di ; 5f ; 0xc37fd + pop si ; 5e ; 0xc37fe + pop cx ; 59 ; 0xc37ff + pop bx ; 5b ; 0xc3800 + pop bp ; 5d ; 0xc3801 + retn ; c3 ; 0xc3802 + ; disGetNextSymbol 0xc3803 LB 0x632 -> off=0x0 cb=000000000000012f uValue=00000000000c3803 'vbe_biosfn_return_controller_information' +vbe_biosfn_return_controller_information: ; 0xc3803 LB 0x12f + push bp ; 55 ; 0xc3803 vbe.c:270 + mov bp, sp ; 89 e5 ; 0xc3804 + push cx ; 51 ; 0xc3806 + push si ; 56 ; 0xc3807 + push di ; 57 ; 0xc3808 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc3809 + mov si, ax ; 89 c6 ; 0xc380c + mov di, dx ; 89 d7 ; 0xc380e + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc3810 + mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 ; 0xc3813 vbe.c:275 + call 005b7h ; e8 9c cd ; 0xc3818 vbe.c:278 + mov word [bp-010h], ax ; 89 46 f0 ; 0xc381b + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc381e vbe.c:281 + mov word [bp-008h], di ; 89 7e f8 ; 0xc3821 + xor dx, dx ; 31 d2 ; 0xc3824 vbe.c:284 + mov ax, 003b6h ; b8 b6 03 ; 0xc3826 + call 0372eh ; e8 02 ff ; 0xc3829 + cmp ax, 077cch ; 3d cc 77 ; 0xc382c vbe.c:285 + je short 0383bh ; 74 0a ; 0xc382f + push SS ; 16 ; 0xc3831 vbe.c:287 + pop ES ; 07 ; 0xc3832 + mov word [es:si], 00100h ; 26 c7 04 00 01 ; 0xc3833 + jmp near 0392ah ; e9 ef 00 ; 0xc3838 vbe.c:291 + mov cx, strict word 00004h ; b9 04 00 ; 0xc383b vbe.c:293 + mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 ; 0xc383e vbe.c:300 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc3843 vbe.c:308 + cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 ; 0xc3846 + jne short 03855h ; 75 07 ; 0xc384c + cmp word [es:bx], 04256h ; 26 81 3f 56 42 ; 0xc384e + je short 03864h ; 74 0f ; 0xc3853 + cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 ; 0xc3855 + jne short 03869h ; 75 0c ; 0xc385b + cmp word [es:bx], 04556h ; 26 81 3f 56 45 ; 0xc385d + jne short 03869h ; 75 05 ; 0xc3862 + mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 ; 0xc3864 vbe.c:310 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc3869 vbe.c:318 + mov word [es:bx], 04556h ; 26 c7 07 56 45 ; 0xc386c + mov word [es:bx+002h], 04153h ; 26 c7 47 02 53 41 ; 0xc3871 vbe.c:320 + mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 ; 0xc3877 vbe.c:324 + mov word [es:bx+006h], 07c66h ; 26 c7 47 06 66 7c ; 0xc387d vbe.c:327 + mov [es:bx+008h], ds ; 26 8c 5f 08 ; 0xc3883 + mov word [es:bx+00ah], strict word 00001h ; 26 c7 47 0a 01 00 ; 0xc3887 vbe.c:330 + mov word [es:bx+00ch], strict word 00000h ; 26 c7 47 0c 00 00 ; 0xc388d vbe.c:332 + mov word [es:bx+010h], di ; 26 89 7f 10 ; 0xc3893 vbe.c:336 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc3897 vbe.c:337 + add ax, strict word 00022h ; 05 22 00 ; 0xc389a + mov word [es:bx+00eh], ax ; 26 89 47 0e ; 0xc389d + mov dx, strict word 0ffffh ; ba ff ff ; 0xc38a1 vbe.c:340 + mov ax, 003b6h ; b8 b6 03 ; 0xc38a4 + call 0372eh ; e8 84 fe ; 0xc38a7 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc38aa + mov word [es:bx+012h], ax ; 26 89 47 12 ; 0xc38ad + cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 ; 0xc38b1 vbe.c:342 + je short 038dbh ; 74 24 ; 0xc38b5 + mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 ; 0xc38b7 vbe.c:345 + mov word [es:bx+016h], 07c7bh ; 26 c7 47 16 7b 7c ; 0xc38bd vbe.c:346 + mov [es:bx+018h], ds ; 26 8c 5f 18 ; 0xc38c3 + mov word [es:bx+01ah], 07c8eh ; 26 c7 47 1a 8e 7c ; 0xc38c7 vbe.c:347 + mov [es:bx+01ch], ds ; 26 8c 5f 1c ; 0xc38cd + mov word [es:bx+01eh], 07cafh ; 26 c7 47 1e af 7c ; 0xc38d1 vbe.c:348 + mov [es:bx+020h], ds ; 26 8c 5f 20 ; 0xc38d7 + mov dx, cx ; 89 ca ; 0xc38db vbe.c:355 + add dx, strict byte 0001bh ; 83 c2 1b ; 0xc38dd + mov ax, 003b6h ; b8 b6 03 ; 0xc38e0 + call 03740h ; e8 5a fe ; 0xc38e3 + xor ah, ah ; 30 e4 ; 0xc38e6 vbe.c:356 + cmp ax, word [bp-010h] ; 3b 46 f0 ; 0xc38e8 + jnbe short 03906h ; 77 19 ; 0xc38eb + mov dx, cx ; 89 ca ; 0xc38ed vbe.c:358 + mov ax, 003b6h ; b8 b6 03 ; 0xc38ef + call 0372eh ; e8 39 fe ; 0xc38f2 + mov bx, ax ; 89 c3 ; 0xc38f5 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc38f7 vbe.c:362 + add dx, word [bp-00ch] ; 03 56 f4 ; 0xc38fa + mov ax, di ; 89 f8 ; 0xc38fd + call 031b2h ; e8 b0 f8 ; 0xc38ff + add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 ; 0xc3902 vbe.c:364 + add cx, strict byte 00044h ; 83 c1 44 ; 0xc3906 vbe.c:366 + mov dx, cx ; 89 ca ; 0xc3909 vbe.c:367 + mov ax, 003b6h ; b8 b6 03 ; 0xc390b + call 0372eh ; e8 1d fe ; 0xc390e + mov bx, ax ; 89 c3 ; 0xc3911 + cmp ax, strict word 0ffffh ; 3d ff ff ; 0xc3913 vbe.c:368 + jne short 038dbh ; 75 c3 ; 0xc3916 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc3918 vbe.c:371 + add dx, word [bp-00ch] ; 03 56 f4 ; 0xc391b + mov ax, di ; 89 f8 ; 0xc391e + call 031b2h ; e8 8f f8 ; 0xc3920 + push SS ; 16 ; 0xc3923 vbe.c:372 + pop ES ; 07 ; 0xc3924 + mov word [es:si], strict word 0004fh ; 26 c7 04 4f 00 ; 0xc3925 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc392a vbe.c:373 + pop di ; 5f ; 0xc392d + pop si ; 5e ; 0xc392e + pop cx ; 59 ; 0xc392f + pop bp ; 5d ; 0xc3930 + retn ; c3 ; 0xc3931 + ; disGetNextSymbol 0xc3932 LB 0x503 -> off=0x0 cb=00000000000000bd uValue=00000000000c3932 'vbe_biosfn_return_mode_information' +vbe_biosfn_return_mode_information: ; 0xc3932 LB 0xbd + push bp ; 55 ; 0xc3932 vbe.c:385 + mov bp, sp ; 89 e5 ; 0xc3933 + push si ; 56 ; 0xc3935 + push di ; 57 ; 0xc3936 + push ax ; 50 ; 0xc3937 + push ax ; 50 ; 0xc3938 + push ax ; 50 ; 0xc3939 + mov ax, dx ; 89 d0 ; 0xc393a + mov si, bx ; 89 de ; 0xc393c + mov word [bp-006h], cx ; 89 4e fa ; 0xc393e + test dh, 040h ; f6 c6 40 ; 0xc3941 vbe.c:396 + je short 0394bh ; 74 05 ; 0xc3944 + mov dx, strict word 00001h ; ba 01 00 ; 0xc3946 + jmp short 0394dh ; eb 02 ; 0xc3949 + xor dx, dx ; 31 d2 ; 0xc394b + and ah, 001h ; 80 e4 01 ; 0xc394d vbe.c:397 + call 037aeh ; e8 5b fe ; 0xc3950 vbe.c:399 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc3953 + test ax, ax ; 85 c0 ; 0xc3956 vbe.c:401 + je short 03990h ; 74 36 ; 0xc3958 + mov cx, 00100h ; b9 00 01 ; 0xc395a vbe.c:406 + xor ax, ax ; 31 c0 ; 0xc395d + mov di, word [bp-006h] ; 8b 7e fa ; 0xc395f + mov es, si ; 8e c6 ; 0xc3962 + cld ; fc ; 0xc3964 + jcxz 03969h ; e3 02 ; 0xc3965 + rep stosb ; f3 aa ; 0xc3967 + xor cx, cx ; 31 c9 ; 0xc3969 vbe.c:407 + jmp short 03972h ; eb 05 ; 0xc396b + cmp cx, strict byte 00042h ; 83 f9 42 ; 0xc396d + jnc short 03992h ; 73 20 ; 0xc3970 + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc3972 vbe.c:410 + inc dx ; 42 ; 0xc3975 + inc dx ; 42 ; 0xc3976 + add dx, cx ; 01 ca ; 0xc3977 + mov ax, 003b6h ; b8 b6 03 ; 0xc3979 + call 03740h ; e8 c1 fd ; 0xc397c + mov bl, al ; 88 c3 ; 0xc397f vbe.c:411 + xor bh, bh ; 30 ff ; 0xc3981 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc3983 + add dx, cx ; 01 ca ; 0xc3986 + mov ax, si ; 89 f0 ; 0xc3988 + call 03196h ; e8 09 f8 ; 0xc398a + inc cx ; 41 ; 0xc398d vbe.c:412 + jmp short 0396dh ; eb dd ; 0xc398e + jmp short 039ddh ; eb 4b ; 0xc3990 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc3992 vbe.c:413 + inc dx ; 42 ; 0xc3995 + inc dx ; 42 ; 0xc3996 + mov ax, si ; 89 f0 ; 0xc3997 + call 03188h ; e8 ec f7 ; 0xc3999 + test AL, strict byte 001h ; a8 01 ; 0xc399c vbe.c:414 + je short 039bch ; 74 1c ; 0xc399e + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc39a0 vbe.c:415 + add dx, strict byte 0000ch ; 83 c2 0c ; 0xc39a3 + mov bx, 00629h ; bb 29 06 ; 0xc39a6 + mov ax, si ; 89 f0 ; 0xc39a9 + call 031b2h ; e8 04 f8 ; 0xc39ab + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc39ae vbe.c:417 + add dx, strict byte 0000eh ; 83 c2 0e ; 0xc39b1 + mov bx, 0c000h ; bb 00 c0 ; 0xc39b4 + mov ax, si ; 89 f0 ; 0xc39b7 + call 031b2h ; e8 f6 f7 ; 0xc39b9 + mov ax, strict word 0000bh ; b8 0b 00 ; 0xc39bc vbe.c:420 + mov dx, 001ceh ; ba ce 01 ; 0xc39bf + call 00570h ; e8 ab cb ; 0xc39c2 + mov dx, 001cfh ; ba cf 01 ; 0xc39c5 vbe.c:421 + call 00577h ; e8 ac cb ; 0xc39c8 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc39cb + add dx, strict byte 0002ah ; 83 c2 2a ; 0xc39ce + mov bx, ax ; 89 c3 ; 0xc39d1 + mov ax, si ; 89 f0 ; 0xc39d3 + call 031b2h ; e8 da f7 ; 0xc39d5 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc39d8 vbe.c:423 + jmp short 039e0h ; eb 03 ; 0xc39db vbe.c:424 + mov ax, 00100h ; b8 00 01 ; 0xc39dd vbe.c:428 + push SS ; 16 ; 0xc39e0 vbe.c:431 + pop ES ; 07 ; 0xc39e1 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc39e2 + mov word [es:bx], ax ; 26 89 07 ; 0xc39e5 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc39e8 vbe.c:432 + pop di ; 5f ; 0xc39eb + pop si ; 5e ; 0xc39ec + pop bp ; 5d ; 0xc39ed + retn ; c3 ; 0xc39ee + ; disGetNextSymbol 0xc39ef LB 0x446 -> off=0x0 cb=00000000000000eb uValue=00000000000c39ef 'vbe_biosfn_set_mode' +vbe_biosfn_set_mode: ; 0xc39ef LB 0xeb + push bp ; 55 ; 0xc39ef vbe.c:444 + mov bp, sp ; 89 e5 ; 0xc39f0 + push si ; 56 ; 0xc39f2 + push di ; 57 ; 0xc39f3 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc39f4 + mov si, ax ; 89 c6 ; 0xc39f7 + mov word [bp-00ah], dx ; 89 56 f6 ; 0xc39f9 + test byte [bp-009h], 040h ; f6 46 f7 40 ; 0xc39fc vbe.c:452 + je short 03a07h ; 74 05 ; 0xc3a00 + mov ax, strict word 00001h ; b8 01 00 ; 0xc3a02 + jmp short 03a09h ; eb 02 ; 0xc3a05 + xor ax, ax ; 31 c0 ; 0xc3a07 + mov dx, ax ; 89 c2 ; 0xc3a09 + test ax, ax ; 85 c0 ; 0xc3a0b vbe.c:453 + je short 03a12h ; 74 03 ; 0xc3a0d + mov ax, strict word 00040h ; b8 40 00 ; 0xc3a0f + mov byte [bp-006h], al ; 88 46 fa ; 0xc3a12 + test byte [bp-009h], 080h ; f6 46 f7 80 ; 0xc3a15 vbe.c:454 + je short 03a20h ; 74 05 ; 0xc3a19 + mov ax, 00080h ; b8 80 00 ; 0xc3a1b + jmp short 03a22h ; eb 02 ; 0xc3a1e + xor ax, ax ; 31 c0 ; 0xc3a20 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc3a22 + and byte [bp-009h], 001h ; 80 66 f7 01 ; 0xc3a25 vbe.c:456 + cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 ; 0xc3a29 vbe.c:459 + jnc short 03a43h ; 73 13 ; 0xc3a2e + xor ax, ax ; 31 c0 ; 0xc3a30 vbe.c:463 + call 005ddh ; e8 a8 cb ; 0xc3a32 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc3a35 vbe.c:467 + xor ah, ah ; 30 e4 ; 0xc3a38 + call 0101ch ; e8 df d5 ; 0xc3a3a + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc3a3d vbe.c:468 + jmp near 03ad0h ; e9 8d 00 ; 0xc3a40 vbe.c:469 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc3a43 vbe.c:472 + call 037aeh ; e8 65 fd ; 0xc3a46 + mov bx, ax ; 89 c3 ; 0xc3a49 + test ax, ax ; 85 c0 ; 0xc3a4b vbe.c:474 + jne short 03a52h ; 75 03 ; 0xc3a4d + jmp near 03acdh ; e9 7b 00 ; 0xc3a4f + lea dx, [bx+014h] ; 8d 57 14 ; 0xc3a52 vbe.c:479 + mov ax, 003b6h ; b8 b6 03 ; 0xc3a55 + call 0372eh ; e8 d3 fc ; 0xc3a58 + mov cx, ax ; 89 c1 ; 0xc3a5b + lea dx, [bx+016h] ; 8d 57 16 ; 0xc3a5d vbe.c:480 + mov ax, 003b6h ; b8 b6 03 ; 0xc3a60 + call 0372eh ; e8 c8 fc ; 0xc3a63 + mov di, ax ; 89 c7 ; 0xc3a66 + lea dx, [bx+01bh] ; 8d 57 1b ; 0xc3a68 vbe.c:481 + mov ax, 003b6h ; b8 b6 03 ; 0xc3a6b + call 03740h ; e8 cf fc ; 0xc3a6e + mov bl, al ; 88 c3 ; 0xc3a71 + mov dl, al ; 88 c2 ; 0xc3a73 + xor ax, ax ; 31 c0 ; 0xc3a75 vbe.c:489 + call 005ddh ; e8 63 cb ; 0xc3a77 + cmp bl, 004h ; 80 fb 04 ; 0xc3a7a vbe.c:491 + jne short 03a85h ; 75 06 ; 0xc3a7d + mov ax, strict word 0006ah ; b8 6a 00 ; 0xc3a7f vbe.c:493 + call 0101ch ; e8 97 d5 ; 0xc3a82 + mov al, dl ; 88 d0 ; 0xc3a85 vbe.c:496 + xor ah, ah ; 30 e4 ; 0xc3a87 + call 036a5h ; e8 19 fc ; 0xc3a89 + mov ax, cx ; 89 c8 ; 0xc3a8c vbe.c:497 + call 0364eh ; e8 bd fb ; 0xc3a8e + mov ax, di ; 89 f8 ; 0xc3a91 vbe.c:498 + call 0366dh ; e8 d7 fb ; 0xc3a93 + xor ax, ax ; 31 c0 ; 0xc3a96 vbe.c:499 + call 00603h ; e8 68 cb ; 0xc3a98 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc3a9b vbe.c:500 + or AL, strict byte 001h ; 0c 01 ; 0xc3a9e + xor ah, ah ; 30 e4 ; 0xc3aa0 + mov dl, byte [bp-006h] ; 8a 56 fa ; 0xc3aa2 + or al, dl ; 08 d0 ; 0xc3aa5 + call 005ddh ; e8 33 cb ; 0xc3aa7 + call 006d2h ; e8 25 cc ; 0xc3aaa vbe.c:501 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc3aad vbe.c:503 + mov dx, 000bah ; ba ba 00 ; 0xc3ab0 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3ab3 + call 031b2h ; e8 f9 f6 ; 0xc3ab6 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc3ab9 vbe.c:504 + or bl, 060h ; 80 cb 60 ; 0xc3abc + xor bh, bh ; 30 ff ; 0xc3abf + mov dx, 00087h ; ba 87 00 ; 0xc3ac1 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3ac4 + call 03196h ; e8 cc f6 ; 0xc3ac7 + jmp near 03a3dh ; e9 70 ff ; 0xc3aca + mov ax, 00100h ; b8 00 01 ; 0xc3acd vbe.c:513 + mov word [ss:si], ax ; 36 89 04 ; 0xc3ad0 vbe.c:517 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3ad3 vbe.c:518 + pop di ; 5f ; 0xc3ad6 + pop si ; 5e ; 0xc3ad7 + pop bp ; 5d ; 0xc3ad8 + retn ; c3 ; 0xc3ad9 + ; disGetNextSymbol 0xc3ada LB 0x35b -> off=0x0 cb=0000000000000008 uValue=00000000000c3ada 'vbe_biosfn_read_video_state_size' +vbe_biosfn_read_video_state_size: ; 0xc3ada LB 0x8 + push bp ; 55 ; 0xc3ada vbe.c:520 + mov bp, sp ; 89 e5 ; 0xc3adb + mov ax, strict word 00012h ; b8 12 00 ; 0xc3add vbe.c:523 + pop bp ; 5d ; 0xc3ae0 + retn ; c3 ; 0xc3ae1 + ; disGetNextSymbol 0xc3ae2 LB 0x353 -> off=0x0 cb=000000000000005b uValue=00000000000c3ae2 'vbe_biosfn_save_video_state' +vbe_biosfn_save_video_state: ; 0xc3ae2 LB 0x5b + push bp ; 55 ; 0xc3ae2 vbe.c:525 + mov bp, sp ; 89 e5 ; 0xc3ae3 + push bx ; 53 ; 0xc3ae5 + push cx ; 51 ; 0xc3ae6 + push si ; 56 ; 0xc3ae7 + push di ; 57 ; 0xc3ae8 + push ax ; 50 ; 0xc3ae9 + mov di, ax ; 89 c7 ; 0xc3aea + mov cx, dx ; 89 d1 ; 0xc3aec + mov ax, strict word 00004h ; b8 04 00 ; 0xc3aee vbe.c:529 + mov dx, 001ceh ; ba ce 01 ; 0xc3af1 + out DX, ax ; ef ; 0xc3af4 + mov dx, 001cfh ; ba cf 01 ; 0xc3af5 vbe.c:530 + in ax, DX ; ed ; 0xc3af8 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc3af9 + mov bx, ax ; 89 c3 ; 0xc3afc vbe.c:531 + mov dx, cx ; 89 ca ; 0xc3afe + mov ax, di ; 89 f8 ; 0xc3b00 + call 031b2h ; e8 ad f6 ; 0xc3b02 + inc cx ; 41 ; 0xc3b05 vbe.c:532 + inc cx ; 41 ; 0xc3b06 + test byte [bp-00ah], 001h ; f6 46 f6 01 ; 0xc3b07 vbe.c:533 + je short 03b34h ; 74 27 ; 0xc3b0b + mov si, strict word 00001h ; be 01 00 ; 0xc3b0d vbe.c:535 + jmp short 03b17h ; eb 05 ; 0xc3b10 + cmp si, strict byte 00009h ; 83 fe 09 ; 0xc3b12 + jnbe short 03b34h ; 77 1d ; 0xc3b15 + cmp si, strict byte 00004h ; 83 fe 04 ; 0xc3b17 vbe.c:536 + je short 03b31h ; 74 15 ; 0xc3b1a + mov ax, si ; 89 f0 ; 0xc3b1c vbe.c:537 + mov dx, 001ceh ; ba ce 01 ; 0xc3b1e + out DX, ax ; ef ; 0xc3b21 + mov dx, 001cfh ; ba cf 01 ; 0xc3b22 vbe.c:538 + in ax, DX ; ed ; 0xc3b25 + mov bx, ax ; 89 c3 ; 0xc3b26 + mov dx, cx ; 89 ca ; 0xc3b28 + mov ax, di ; 89 f8 ; 0xc3b2a + call 031b2h ; e8 83 f6 ; 0xc3b2c + inc cx ; 41 ; 0xc3b2f vbe.c:539 + inc cx ; 41 ; 0xc3b30 + inc si ; 46 ; 0xc3b31 vbe.c:541 + jmp short 03b12h ; eb de ; 0xc3b32 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc3b34 vbe.c:542 + pop di ; 5f ; 0xc3b37 + pop si ; 5e ; 0xc3b38 + pop cx ; 59 ; 0xc3b39 + pop bx ; 5b ; 0xc3b3a + pop bp ; 5d ; 0xc3b3b + retn ; c3 ; 0xc3b3c + ; disGetNextSymbol 0xc3b3d LB 0x2f8 -> off=0x0 cb=000000000000009b uValue=00000000000c3b3d 'vbe_biosfn_restore_video_state' +vbe_biosfn_restore_video_state: ; 0xc3b3d LB 0x9b + push bp ; 55 ; 0xc3b3d vbe.c:545 + mov bp, sp ; 89 e5 ; 0xc3b3e + push bx ; 53 ; 0xc3b40 + push cx ; 51 ; 0xc3b41 + push si ; 56 ; 0xc3b42 + push ax ; 50 ; 0xc3b43 + mov cx, ax ; 89 c1 ; 0xc3b44 + mov bx, dx ; 89 d3 ; 0xc3b46 + call 031a4h ; e8 59 f6 ; 0xc3b48 vbe.c:549 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc3b4b + inc bx ; 43 ; 0xc3b4e vbe.c:550 + inc bx ; 43 ; 0xc3b4f + test byte [bp-008h], 001h ; f6 46 f8 01 ; 0xc3b50 vbe.c:552 + jne short 03b66h ; 75 10 ; 0xc3b54 + mov ax, strict word 00004h ; b8 04 00 ; 0xc3b56 vbe.c:553 + mov dx, 001ceh ; ba ce 01 ; 0xc3b59 + out DX, ax ; ef ; 0xc3b5c + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc3b5d vbe.c:554 + mov dx, 001cfh ; ba cf 01 ; 0xc3b60 + out DX, ax ; ef ; 0xc3b63 + jmp short 03bd0h ; eb 6a ; 0xc3b64 vbe.c:555 + mov ax, strict word 00001h ; b8 01 00 ; 0xc3b66 vbe.c:556 + mov dx, 001ceh ; ba ce 01 ; 0xc3b69 + out DX, ax ; ef ; 0xc3b6c + mov dx, bx ; 89 da ; 0xc3b6d vbe.c:557 + mov ax, cx ; 89 c8 ; 0xc3b6f + call 031a4h ; e8 30 f6 ; 0xc3b71 + mov dx, 001cfh ; ba cf 01 ; 0xc3b74 + out DX, ax ; ef ; 0xc3b77 + inc bx ; 43 ; 0xc3b78 vbe.c:558 + inc bx ; 43 ; 0xc3b79 + mov ax, strict word 00002h ; b8 02 00 ; 0xc3b7a + mov dx, 001ceh ; ba ce 01 ; 0xc3b7d + out DX, ax ; ef ; 0xc3b80 + mov dx, bx ; 89 da ; 0xc3b81 vbe.c:560 + mov ax, cx ; 89 c8 ; 0xc3b83 + call 031a4h ; e8 1c f6 ; 0xc3b85 + mov dx, 001cfh ; ba cf 01 ; 0xc3b88 + out DX, ax ; ef ; 0xc3b8b + inc bx ; 43 ; 0xc3b8c vbe.c:561 + inc bx ; 43 ; 0xc3b8d + mov ax, strict word 00003h ; b8 03 00 ; 0xc3b8e + mov dx, 001ceh ; ba ce 01 ; 0xc3b91 + out DX, ax ; ef ; 0xc3b94 + mov dx, bx ; 89 da ; 0xc3b95 vbe.c:563 + mov ax, cx ; 89 c8 ; 0xc3b97 + call 031a4h ; e8 08 f6 ; 0xc3b99 + mov dx, 001cfh ; ba cf 01 ; 0xc3b9c + out DX, ax ; ef ; 0xc3b9f + inc bx ; 43 ; 0xc3ba0 vbe.c:564 + inc bx ; 43 ; 0xc3ba1 + mov ax, strict word 00004h ; b8 04 00 ; 0xc3ba2 + mov dx, 001ceh ; ba ce 01 ; 0xc3ba5 + out DX, ax ; ef ; 0xc3ba8 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc3ba9 vbe.c:566 + mov dx, 001cfh ; ba cf 01 ; 0xc3bac + out DX, ax ; ef ; 0xc3baf + mov si, strict word 00005h ; be 05 00 ; 0xc3bb0 vbe.c:568 + jmp short 03bbah ; eb 05 ; 0xc3bb3 + cmp si, strict byte 00009h ; 83 fe 09 ; 0xc3bb5 + jnbe short 03bd0h ; 77 16 ; 0xc3bb8 + mov ax, si ; 89 f0 ; 0xc3bba vbe.c:569 + mov dx, 001ceh ; ba ce 01 ; 0xc3bbc + out DX, ax ; ef ; 0xc3bbf + mov dx, bx ; 89 da ; 0xc3bc0 vbe.c:570 + mov ax, cx ; 89 c8 ; 0xc3bc2 + call 031a4h ; e8 dd f5 ; 0xc3bc4 + mov dx, 001cfh ; ba cf 01 ; 0xc3bc7 + out DX, ax ; ef ; 0xc3bca + inc bx ; 43 ; 0xc3bcb vbe.c:571 + inc bx ; 43 ; 0xc3bcc + inc si ; 46 ; 0xc3bcd vbe.c:572 + jmp short 03bb5h ; eb e5 ; 0xc3bce + lea sp, [bp-006h] ; 8d 66 fa ; 0xc3bd0 vbe.c:574 + pop si ; 5e ; 0xc3bd3 + pop cx ; 59 ; 0xc3bd4 + pop bx ; 5b ; 0xc3bd5 + pop bp ; 5d ; 0xc3bd6 + retn ; c3 ; 0xc3bd7 + ; disGetNextSymbol 0xc3bd8 LB 0x25d -> off=0x0 cb=000000000000008c uValue=00000000000c3bd8 'vbe_biosfn_save_restore_state' +vbe_biosfn_save_restore_state: ; 0xc3bd8 LB 0x8c + push bp ; 55 ; 0xc3bd8 vbe.c:590 + mov bp, sp ; 89 e5 ; 0xc3bd9 + push si ; 56 ; 0xc3bdb + push di ; 57 ; 0xc3bdc + push ax ; 50 ; 0xc3bdd + mov si, ax ; 89 c6 ; 0xc3bde + mov word [bp-006h], dx ; 89 56 fa ; 0xc3be0 + mov ax, bx ; 89 d8 ; 0xc3be3 + mov bx, word [bp+004h] ; 8b 5e 04 ; 0xc3be5 + mov di, strict word 0004fh ; bf 4f 00 ; 0xc3be8 vbe.c:595 + xor ah, ah ; 30 e4 ; 0xc3beb vbe.c:596 + cmp ax, strict word 00002h ; 3d 02 00 ; 0xc3bed + je short 03c37h ; 74 45 ; 0xc3bf0 + cmp ax, strict word 00001h ; 3d 01 00 ; 0xc3bf2 + je short 03c1bh ; 74 24 ; 0xc3bf5 + test ax, ax ; 85 c0 ; 0xc3bf7 + jne short 03c53h ; 75 58 ; 0xc3bf9 + mov ax, word [bp-006h] ; 8b 46 fa ; 0xc3bfb vbe.c:598 + call 02a74h ; e8 73 ee ; 0xc3bfe + mov cx, ax ; 89 c1 ; 0xc3c01 + test byte [bp-006h], 008h ; f6 46 fa 08 ; 0xc3c03 vbe.c:602 + je short 03c0eh ; 74 05 ; 0xc3c07 + call 03adah ; e8 ce fe ; 0xc3c09 vbe.c:603 + add ax, cx ; 01 c8 ; 0xc3c0c + add ax, strict word 0003fh ; 05 3f 00 ; 0xc3c0e vbe.c:604 + shr ax, 006h ; c1 e8 06 ; 0xc3c11 + push SS ; 16 ; 0xc3c14 + pop ES ; 07 ; 0xc3c15 + mov word [es:bx], ax ; 26 89 07 ; 0xc3c16 + jmp short 03c56h ; eb 3b ; 0xc3c19 vbe.c:605 + push SS ; 16 ; 0xc3c1b vbe.c:607 + pop ES ; 07 ; 0xc3c1c + mov bx, word [es:bx] ; 26 8b 1f ; 0xc3c1d + mov dx, cx ; 89 ca ; 0xc3c20 vbe.c:608 + mov ax, word [bp-006h] ; 8b 46 fa ; 0xc3c22 + call 02aa9h ; e8 81 ee ; 0xc3c25 + test byte [bp-006h], 008h ; f6 46 fa 08 ; 0xc3c28 vbe.c:612 + je short 03c56h ; 74 28 ; 0xc3c2c + mov dx, ax ; 89 c2 ; 0xc3c2e vbe.c:613 + mov ax, cx ; 89 c8 ; 0xc3c30 + call 03ae2h ; e8 ad fe ; 0xc3c32 + jmp short 03c56h ; eb 1f ; 0xc3c35 vbe.c:614 + push SS ; 16 ; 0xc3c37 vbe.c:616 + pop ES ; 07 ; 0xc3c38 + mov bx, word [es:bx] ; 26 8b 1f ; 0xc3c39 + mov dx, cx ; 89 ca ; 0xc3c3c vbe.c:617 + mov ax, word [bp-006h] ; 8b 46 fa ; 0xc3c3e + call 02e2ah ; e8 e6 f1 ; 0xc3c41 + test byte [bp-006h], 008h ; f6 46 fa 08 ; 0xc3c44 vbe.c:621 + je short 03c56h ; 74 0c ; 0xc3c48 + mov dx, ax ; 89 c2 ; 0xc3c4a vbe.c:622 + mov ax, cx ; 89 c8 ; 0xc3c4c + call 03b3dh ; e8 ec fe ; 0xc3c4e + jmp short 03c56h ; eb 03 ; 0xc3c51 vbe.c:623 + mov di, 00100h ; bf 00 01 ; 0xc3c53 vbe.c:626 + push SS ; 16 ; 0xc3c56 vbe.c:629 + pop ES ; 07 ; 0xc3c57 + mov word [es:si], di ; 26 89 3c ; 0xc3c58 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3c5b vbe.c:630 + pop di ; 5f ; 0xc3c5e + pop si ; 5e ; 0xc3c5f + pop bp ; 5d ; 0xc3c60 + retn 00002h ; c2 02 00 ; 0xc3c61 + ; disGetNextSymbol 0xc3c64 LB 0x1d1 -> off=0x0 cb=00000000000000df uValue=00000000000c3c64 'vbe_biosfn_get_set_scanline_length' +vbe_biosfn_get_set_scanline_length: ; 0xc3c64 LB 0xdf + push bp ; 55 ; 0xc3c64 vbe.c:651 + mov bp, sp ; 89 e5 ; 0xc3c65 + push si ; 56 ; 0xc3c67 + push di ; 57 ; 0xc3c68 + sub sp, strict byte 00008h ; 83 ec 08 ; 0xc3c69 + push ax ; 50 ; 0xc3c6c + mov di, dx ; 89 d7 ; 0xc3c6d + mov word [bp-008h], bx ; 89 5e f8 ; 0xc3c6f + mov si, cx ; 89 ce ; 0xc3c72 + call 036c4h ; e8 4d fa ; 0xc3c74 vbe.c:660 + cmp AL, strict byte 00fh ; 3c 0f ; 0xc3c77 vbe.c:661 + jne short 03c80h ; 75 05 ; 0xc3c79 + mov bx, strict word 00010h ; bb 10 00 ; 0xc3c7b + jmp short 03c84h ; eb 04 ; 0xc3c7e + xor ah, ah ; 30 e4 ; 0xc3c80 + mov bx, ax ; 89 c3 ; 0xc3c82 + mov byte [bp-006h], bl ; 88 5e fa ; 0xc3c84 + call 036fch ; e8 72 fa ; 0xc3c87 vbe.c:662 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc3c8a + mov word [bp-00ch], strict word 0004fh ; c7 46 f4 4f 00 ; 0xc3c8d vbe.c:663 + push SS ; 16 ; 0xc3c92 vbe.c:664 + pop ES ; 07 ; 0xc3c93 + mov bx, word [bp-008h] ; 8b 5e f8 ; 0xc3c94 + mov bx, word [es:bx] ; 26 8b 1f ; 0xc3c97 + mov cl, byte [es:di] ; 26 8a 0d ; 0xc3c9a vbe.c:665 + cmp cl, 002h ; 80 f9 02 ; 0xc3c9d vbe.c:669 + je short 03caeh ; 74 0c ; 0xc3ca0 + cmp cl, 001h ; 80 f9 01 ; 0xc3ca2 + je short 03cd4h ; 74 2d ; 0xc3ca5 + test cl, cl ; 84 c9 ; 0xc3ca7 + je short 03ccfh ; 74 24 ; 0xc3ca9 + jmp near 03d2ch ; e9 7e 00 ; 0xc3cab + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc3cae vbe.c:671 + cmp AL, strict byte 004h ; 3c 04 ; 0xc3cb1 + jne short 03cbah ; 75 05 ; 0xc3cb3 + sal bx, 003h ; c1 e3 03 ; 0xc3cb5 vbe.c:672 + jmp short 03ccfh ; eb 15 ; 0xc3cb8 vbe.c:673 + xor ah, ah ; 30 e4 ; 0xc3cba vbe.c:674 + cwd ; 99 ; 0xc3cbc + sal dx, 003h ; c1 e2 03 ; 0xc3cbd + db 01bh, 0c2h + ; sbb ax, dx ; 1b c2 ; 0xc3cc0 + sar ax, 003h ; c1 f8 03 ; 0xc3cc2 + mov cx, ax ; 89 c1 ; 0xc3cc5 + mov ax, bx ; 89 d8 ; 0xc3cc7 + xor dx, dx ; 31 d2 ; 0xc3cc9 + div cx ; f7 f1 ; 0xc3ccb + mov bx, ax ; 89 c3 ; 0xc3ccd + mov ax, bx ; 89 d8 ; 0xc3ccf vbe.c:677 + call 036ddh ; e8 09 fa ; 0xc3cd1 + call 036fch ; e8 25 fa ; 0xc3cd4 vbe.c:680 + mov cx, ax ; 89 c1 ; 0xc3cd7 + push SS ; 16 ; 0xc3cd9 vbe.c:681 + pop ES ; 07 ; 0xc3cda + mov bx, word [bp-008h] ; 8b 5e f8 ; 0xc3cdb + mov word [es:bx], ax ; 26 89 07 ; 0xc3cde + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc3ce1 vbe.c:682 + cmp AL, strict byte 004h ; 3c 04 ; 0xc3ce4 + jne short 03cefh ; 75 07 ; 0xc3ce6 + mov bx, cx ; 89 cb ; 0xc3ce8 vbe.c:683 + shr bx, 003h ; c1 eb 03 ; 0xc3cea + jmp short 03d02h ; eb 13 ; 0xc3ced vbe.c:684 + xor ah, ah ; 30 e4 ; 0xc3cef vbe.c:685 + cwd ; 99 ; 0xc3cf1 + sal dx, 003h ; c1 e2 03 ; 0xc3cf2 + db 01bh, 0c2h + ; sbb ax, dx ; 1b c2 ; 0xc3cf5 + sar ax, 003h ; c1 f8 03 ; 0xc3cf7 + mov bx, ax ; 89 c3 ; 0xc3cfa + mov ax, cx ; 89 c8 ; 0xc3cfc + mul bx ; f7 e3 ; 0xc3cfe + mov bx, ax ; 89 c3 ; 0xc3d00 + add bx, strict byte 00003h ; 83 c3 03 ; 0xc3d02 vbe.c:686 + and bl, 0fch ; 80 e3 fc ; 0xc3d05 + push SS ; 16 ; 0xc3d08 vbe.c:687 + pop ES ; 07 ; 0xc3d09 + mov word [es:di], bx ; 26 89 1d ; 0xc3d0a + call 03715h ; e8 05 fa ; 0xc3d0d vbe.c:688 + push SS ; 16 ; 0xc3d10 + pop ES ; 07 ; 0xc3d11 + mov word [es:si], ax ; 26 89 04 ; 0xc3d12 + call 0368ch ; e8 74 f9 ; 0xc3d15 vbe.c:689 + push SS ; 16 ; 0xc3d18 + pop ES ; 07 ; 0xc3d19 + cmp ax, word [es:si] ; 26 3b 04 ; 0xc3d1a + jbe short 03d31h ; 76 12 ; 0xc3d1d + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc3d1f vbe.c:690 + call 036ddh ; e8 b8 f9 ; 0xc3d22 + mov word [bp-00ch], 00200h ; c7 46 f4 00 02 ; 0xc3d25 vbe.c:691 + jmp short 03d31h ; eb 05 ; 0xc3d2a vbe.c:693 + mov word [bp-00ch], 00100h ; c7 46 f4 00 01 ; 0xc3d2c vbe.c:696 + push SS ; 16 ; 0xc3d31 vbe.c:699 + pop ES ; 07 ; 0xc3d32 + mov ax, word [bp-00ch] ; 8b 46 f4 ; 0xc3d33 + mov bx, word [bp-00eh] ; 8b 5e f2 ; 0xc3d36 + mov word [es:bx], ax ; 26 89 07 ; 0xc3d39 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3d3c vbe.c:700 + pop di ; 5f ; 0xc3d3f + pop si ; 5e ; 0xc3d40 + pop bp ; 5d ; 0xc3d41 + retn ; c3 ; 0xc3d42 + ; disGetNextSymbol 0xc3d43 LB 0xf2 -> off=0x0 cb=00000000000000f2 uValue=00000000000c3d43 'private_biosfn_custom_mode' +private_biosfn_custom_mode: ; 0xc3d43 LB 0xf2 + push bp ; 55 ; 0xc3d43 vbe.c:726 + mov bp, sp ; 89 e5 ; 0xc3d44 + push si ; 56 ; 0xc3d46 + push di ; 57 ; 0xc3d47 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc3d48 + mov di, ax ; 89 c7 ; 0xc3d4b + mov si, dx ; 89 d6 ; 0xc3d4d + mov dx, cx ; 89 ca ; 0xc3d4f + mov word [bp-00ah], strict word 0004fh ; c7 46 f6 4f 00 ; 0xc3d51 vbe.c:739 + push SS ; 16 ; 0xc3d56 vbe.c:740 + pop ES ; 07 ; 0xc3d57 + mov al, byte [es:si] ; 26 8a 04 ; 0xc3d58 + test al, al ; 84 c0 ; 0xc3d5b vbe.c:741 + jne short 03d81h ; 75 22 ; 0xc3d5d + push SS ; 16 ; 0xc3d5f vbe.c:743 + pop ES ; 07 ; 0xc3d60 + mov cx, word [es:bx] ; 26 8b 0f ; 0xc3d61 + mov bx, dx ; 89 d3 ; 0xc3d64 vbe.c:744 + mov bx, word [es:bx] ; 26 8b 1f ; 0xc3d66 + mov ax, word [es:si] ; 26 8b 04 ; 0xc3d69 vbe.c:745 + shr ax, 008h ; c1 e8 08 ; 0xc3d6c + and ax, strict word 0007fh ; 25 7f 00 ; 0xc3d6f + mov byte [bp-008h], al ; 88 46 f8 ; 0xc3d72 + cmp AL, strict byte 008h ; 3c 08 ; 0xc3d75 vbe.c:750 + je short 03d89h ; 74 10 ; 0xc3d77 + cmp AL, strict byte 010h ; 3c 10 ; 0xc3d79 + je short 03d89h ; 74 0c ; 0xc3d7b + cmp AL, strict byte 020h ; 3c 20 ; 0xc3d7d + je short 03d89h ; 74 08 ; 0xc3d7f + mov word [bp-00ah], 00100h ; c7 46 f6 00 01 ; 0xc3d81 vbe.c:751 + jmp near 03e26h ; e9 9d 00 ; 0xc3d86 vbe.c:752 + push SS ; 16 ; 0xc3d89 vbe.c:756 + pop ES ; 07 ; 0xc3d8a + test byte [es:si+001h], 080h ; 26 f6 44 01 80 ; 0xc3d8b + je short 03d97h ; 74 05 ; 0xc3d90 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3d92 + jmp short 03d99h ; eb 02 ; 0xc3d95 + xor ax, ax ; 31 c0 ; 0xc3d97 + mov byte [bp-006h], al ; 88 46 fa ; 0xc3d99 + cmp cx, 00280h ; 81 f9 80 02 ; 0xc3d9c vbe.c:759 + jnc short 03da7h ; 73 05 ; 0xc3da0 + mov cx, 00280h ; b9 80 02 ; 0xc3da2 vbe.c:760 + jmp short 03db0h ; eb 09 ; 0xc3da5 vbe.c:761 + cmp cx, 00a00h ; 81 f9 00 0a ; 0xc3da7 + jbe short 03db0h ; 76 03 ; 0xc3dab + mov cx, 00a00h ; b9 00 0a ; 0xc3dad vbe.c:762 + cmp bx, 001e0h ; 81 fb e0 01 ; 0xc3db0 vbe.c:763 + jnc short 03dbbh ; 73 05 ; 0xc3db4 + mov bx, 001e0h ; bb e0 01 ; 0xc3db6 vbe.c:764 + jmp short 03dc4h ; eb 09 ; 0xc3db9 vbe.c:765 + cmp bx, 00780h ; 81 fb 80 07 ; 0xc3dbb + jbe short 03dc4h ; 76 03 ; 0xc3dbf + mov bx, 00780h ; bb 80 07 ; 0xc3dc1 vbe.c:766 + mov dx, strict word 0ffffh ; ba ff ff ; 0xc3dc4 vbe.c:772 + mov ax, 003b6h ; b8 b6 03 ; 0xc3dc7 + call 0372eh ; e8 61 f9 ; 0xc3dca + mov si, ax ; 89 c6 ; 0xc3dcd + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc3dcf vbe.c:775 + xor ah, ah ; 30 e4 ; 0xc3dd2 + cwd ; 99 ; 0xc3dd4 + sal dx, 003h ; c1 e2 03 ; 0xc3dd5 + db 01bh, 0c2h + ; sbb ax, dx ; 1b c2 ; 0xc3dd8 + sar ax, 003h ; c1 f8 03 ; 0xc3dda + mov dx, ax ; 89 c2 ; 0xc3ddd + mov ax, cx ; 89 c8 ; 0xc3ddf + mul dx ; f7 e2 ; 0xc3de1 + add ax, strict word 00003h ; 05 03 00 ; 0xc3de3 vbe.c:776 + and AL, strict byte 0fch ; 24 fc ; 0xc3de6 + mov dx, bx ; 89 da ; 0xc3de8 vbe.c:778 + mul dx ; f7 e2 ; 0xc3dea + cmp dx, si ; 39 f2 ; 0xc3dec vbe.c:780 + jnbe short 03df6h ; 77 06 ; 0xc3dee + jne short 03dfdh ; 75 0b ; 0xc3df0 + test ax, ax ; 85 c0 ; 0xc3df2 + jbe short 03dfdh ; 76 07 ; 0xc3df4 + mov word [bp-00ah], 00200h ; c7 46 f6 00 02 ; 0xc3df6 vbe.c:782 + jmp short 03e26h ; eb 29 ; 0xc3dfb vbe.c:783 + xor ax, ax ; 31 c0 ; 0xc3dfd vbe.c:787 + call 005ddh ; e8 db c7 ; 0xc3dff + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc3e02 vbe.c:788 + xor ah, ah ; 30 e4 ; 0xc3e05 + call 036a5h ; e8 9b f8 ; 0xc3e07 + mov ax, cx ; 89 c8 ; 0xc3e0a vbe.c:789 + call 0364eh ; e8 3f f8 ; 0xc3e0c + mov ax, bx ; 89 d8 ; 0xc3e0f vbe.c:790 + call 0366dh ; e8 59 f8 ; 0xc3e11 + xor ax, ax ; 31 c0 ; 0xc3e14 vbe.c:791 + call 00603h ; e8 ea c7 ; 0xc3e16 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc3e19 vbe.c:792 + or AL, strict byte 001h ; 0c 01 ; 0xc3e1c + xor ah, ah ; 30 e4 ; 0xc3e1e + call 005ddh ; e8 ba c7 ; 0xc3e20 + call 006d2h ; e8 ac c8 ; 0xc3e23 vbe.c:793 + push SS ; 16 ; 0xc3e26 vbe.c:801 + pop ES ; 07 ; 0xc3e27 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc3e28 + mov word [es:di], ax ; 26 89 05 ; 0xc3e2b + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3e2e vbe.c:802 + pop di ; 5f ; 0xc3e31 + pop si ; 5e ; 0xc3e32 + pop bp ; 5d ; 0xc3e33 + retn ; c3 ; 0xc3e34 + + ; Padding 0x5cb bytes at 0xc3e35 + times 1483 db 0 + +section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO + ; disGetNextSymbol 0xc4400 LB 0x115 -> off=0x0 cb=0000000000000114 uValue=00000000000c0000 'vesa_pm_start' +vesa_pm_start: ; 0xc4400 LB 0x114 + sbb byte [bx+si], al ; 18 00 ; 0xc4400 + dec di ; 4f ; 0xc4402 + add byte [bx+si], dl ; 00 10 ; 0xc4403 + add word [bx+si], cx ; 01 08 ; 0xc4405 + add dh, cl ; 00 ce ; 0xc4407 + add di, cx ; 01 cf ; 0xc4409 + add di, cx ; 01 cf ; 0xc440b + add ax, dx ; 01 d0 ; 0xc440d + add word [bp-048fdh], si ; 01 b6 03 b7 ; 0xc440f + db 003h, 0ffh + ; add di, di ; 03 ff ; 0xc4413 + db 0ffh + db 0ffh + jmp word [bp-07dh] ; ff 66 83 ; 0xc4417 + sti ; fb ; 0xc441a + add byte [si+005h], dh ; 00 74 05 ; 0xc441b + mov eax, strict dword 066c30100h ; 66 b8 00 01 c3 66 ; 0xc441e vberom.asm:825 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc4424 + push edx ; 66 52 ; 0xc4426 vberom.asm:829 + push eax ; 66 50 ; 0xc4428 vberom.asm:830 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc442a vberom.asm:831 + add ax, 06600h ; 05 00 66 ; 0xc4430 + out DX, ax ; ef ; 0xc4433 + pop eax ; 66 58 ; 0xc4434 vberom.asm:834 + mov edx, strict dword 0ef6601cfh ; 66 ba cf 01 66 ef ; 0xc4436 vberom.asm:835 + in eax, DX ; 66 ed ; 0xc443c vberom.asm:837 + pop edx ; 66 5a ; 0xc443e vberom.asm:838 + db 066h, 03bh, 0d0h + ; cmp edx, eax ; 66 3b d0 ; 0xc4440 vberom.asm:839 + jne short 0444ah ; 75 05 ; 0xc4443 vberom.asm:840 + mov eax, strict dword 066c3004fh ; 66 b8 4f 00 c3 66 ; 0xc4445 vberom.asm:841 + mov ax, 0014fh ; b8 4f 01 ; 0xc444b + retn ; c3 ; 0xc444e vberom.asm:845 + cmp bl, 080h ; 80 fb 80 ; 0xc444f vberom.asm:847 + je short 0445eh ; 74 0a ; 0xc4452 vberom.asm:848 + cmp bl, 000h ; 80 fb 00 ; 0xc4454 vberom.asm:849 + je short 0446eh ; 74 15 ; 0xc4457 vberom.asm:850 + mov eax, strict dword 052c30100h ; 66 b8 00 01 c3 52 ; 0xc4459 vberom.asm:851 + mov edx, strict dword 0a8ec03dah ; 66 ba da 03 ec a8 ; 0xc445f vberom.asm:855 + or byte [di-005h], dh ; 08 75 fb ; 0xc4465 + in AL, DX ; ec ; 0xc4468 vberom.asm:861 + test AL, strict byte 008h ; a8 08 ; 0xc4469 vberom.asm:862 + je short 04468h ; 74 fb ; 0xc446b vberom.asm:863 + pop dx ; 5a ; 0xc446d vberom.asm:864 + push ax ; 50 ; 0xc446e vberom.asm:868 + push cx ; 51 ; 0xc446f vberom.asm:869 + push dx ; 52 ; 0xc4470 vberom.asm:870 + push si ; 56 ; 0xc4471 vberom.asm:871 + push di ; 57 ; 0xc4472 vberom.asm:872 + sal dx, 010h ; c1 e2 10 ; 0xc4473 vberom.asm:873 + and cx, strict word 0ffffh ; 81 e1 ff ff ; 0xc4476 vberom.asm:874 + add byte [bx+si], al ; 00 00 ; 0xc447a + db 00bh, 0cah + ; or cx, dx ; 0b ca ; 0xc447c vberom.asm:875 + sal cx, 002h ; c1 e1 02 ; 0xc447e vberom.asm:876 + db 08bh, 0c1h + ; mov ax, cx ; 8b c1 ; 0xc4481 vberom.asm:877 + push ax ; 50 ; 0xc4483 vberom.asm:878 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc4484 vberom.asm:879 + push ES ; 06 ; 0xc448a + add byte [bp-011h], ah ; 00 66 ef ; 0xc448b + mov edx, strict dword 0ed6601cfh ; 66 ba cf 01 66 ed ; 0xc448e vberom.asm:882 + db 00fh, 0b7h, 0c8h + ; movzx cx, ax ; 0f b7 c8 ; 0xc4494 vberom.asm:884 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc4497 vberom.asm:885 + add ax, word [bx+si] ; 03 00 ; 0xc449d + out DX, eax ; 66 ef ; 0xc449f vberom.asm:887 + mov edx, strict dword 0ed6601cfh ; 66 ba cf 01 66 ed ; 0xc44a1 vberom.asm:888 + db 00fh, 0b7h, 0f0h + ; movzx si, ax ; 0f b7 f0 ; 0xc44a7 vberom.asm:890 + pop ax ; 58 ; 0xc44aa vberom.asm:891 + cmp si, strict byte 00004h ; 83 fe 04 ; 0xc44ab vberom.asm:893 + je short 044c7h ; 74 17 ; 0xc44ae vberom.asm:894 + add si, strict byte 00007h ; 83 c6 07 ; 0xc44b0 vberom.asm:895 + shr si, 003h ; c1 ee 03 ; 0xc44b3 vberom.asm:896 + imul cx, si ; 0f af ce ; 0xc44b6 vberom.asm:897 + db 033h, 0d2h + ; xor dx, dx ; 33 d2 ; 0xc44b9 vberom.asm:898 + div cx ; f7 f1 ; 0xc44bb vberom.asm:899 + db 08bh, 0f8h + ; mov di, ax ; 8b f8 ; 0xc44bd vberom.asm:900 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc44bf vberom.asm:901 + db 033h, 0d2h + ; xor dx, dx ; 33 d2 ; 0xc44c1 vberom.asm:902 + div si ; f7 f6 ; 0xc44c3 vberom.asm:903 + jmp short 044d3h ; eb 0c ; 0xc44c5 vberom.asm:904 + shr cx, 1 ; d1 e9 ; 0xc44c7 vberom.asm:907 + db 033h, 0d2h + ; xor dx, dx ; 33 d2 ; 0xc44c9 vberom.asm:908 + div cx ; f7 f1 ; 0xc44cb vberom.asm:909 + db 08bh, 0f8h + ; mov di, ax ; 8b f8 ; 0xc44cd vberom.asm:910 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc44cf vberom.asm:911 + sal ax, 1 ; d1 e0 ; 0xc44d1 vberom.asm:912 + push edx ; 66 52 ; 0xc44d3 vberom.asm:915 + push eax ; 66 50 ; 0xc44d5 vberom.asm:916 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc44d7 vberom.asm:917 + or byte [bx+si], al ; 08 00 ; 0xc44dd + out DX, eax ; 66 ef ; 0xc44df vberom.asm:919 + pop eax ; 66 58 ; 0xc44e1 vberom.asm:920 + mov edx, strict dword 0ef6601cfh ; 66 ba cf 01 66 ef ; 0xc44e3 vberom.asm:921 + pop edx ; 66 5a ; 0xc44e9 vberom.asm:923 + db 066h, 08bh, 0c7h + ; mov eax, edi ; 66 8b c7 ; 0xc44eb vberom.asm:925 + push edx ; 66 52 ; 0xc44ee vberom.asm:926 + push eax ; 66 50 ; 0xc44f0 vberom.asm:927 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc44f2 vberom.asm:928 + or word [bx+si], ax ; 09 00 ; 0xc44f8 + out DX, eax ; 66 ef ; 0xc44fa vberom.asm:930 + pop eax ; 66 58 ; 0xc44fc vberom.asm:931 + mov edx, strict dword 0ef6601cfh ; 66 ba cf 01 66 ef ; 0xc44fe vberom.asm:932 + pop edx ; 66 5a ; 0xc4504 vberom.asm:934 + pop di ; 5f ; 0xc4506 vberom.asm:936 + pop si ; 5e ; 0xc4507 vberom.asm:937 + pop dx ; 5a ; 0xc4508 vberom.asm:938 + pop cx ; 59 ; 0xc4509 vberom.asm:939 + pop ax ; 58 ; 0xc450a vberom.asm:940 + mov eax, strict dword 066c3004fh ; 66 b8 4f 00 c3 66 ; 0xc450b vberom.asm:941 + mov ax, 0014fh ; b8 4f 01 ; 0xc4511 + ; disGetNextSymbol 0xc4514 LB 0x1 -> off=0x0 cb=0000000000000001 uValue=0000000000000114 'vesa_pm_end' +vesa_pm_end: ; 0xc4514 LB 0x1 + retn ; c3 ; 0xc4514 vberom.asm:946 + + ; Padding 0xeb bytes at 0xc4515 + times 235 db 0 + +section _DATA progbits vstart=0x4600 align=1 ; size=0x3726 class=DATA group=DGROUP + ; disGetNextSymbol 0xc4600 LB 0x3726 -> off=0x0 cb=000000000000002e uValue=00000000000c0000 '_msg_vga_init' +_msg_vga_init: ; 0xc4600 LB 0x2e + db 'Oracle VM VirtualBox Version 6.0.4 VGA BIOS', 00dh, 00ah, 000h + ; disGetNextSymbol 0xc462e LB 0x36f8 -> off=0x0 cb=0000000000000080 uValue=00000000000c002e 'vga_modes' +vga_modes: ; 0xc462e LB 0x80 + db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h + db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h + db 004h, 001h, 002h, 002h, 000h, 0b8h, 0ffh, 001h, 005h, 001h, 002h, 002h, 000h, 0b8h, 0ffh, 001h + db 006h, 001h, 002h, 001h, 000h, 0b8h, 0ffh, 001h, 007h, 000h, 001h, 004h, 000h, 0b0h, 0ffh, 000h + db 00dh, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 001h, 00eh, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 001h + db 00fh, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 000h, 010h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h + db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h + db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h + ; disGetNextSymbol 0xc46ae LB 0x3678 -> off=0x0 cb=0000000000000010 uValue=00000000000c00ae 'line_to_vpti' +line_to_vpti: ; 0xc46ae LB 0x10 + db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh + ; disGetNextSymbol 0xc46be LB 0x3668 -> off=0x0 cb=0000000000000004 uValue=00000000000c00be 'dac_regs' +dac_regs: ; 0xc46be LB 0x4 + dd 0ff3f3f3fh + ; disGetNextSymbol 0xc46c2 LB 0x3664 -> off=0x0 cb=0000000000000780 uValue=00000000000c00c2 'video_param_table' +video_param_table: ; 0xc46c2 LB 0x780 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 028h, 018h, 008h, 000h, 008h, 009h, 003h, 000h, 002h, 063h, 02dh, 027h, 028h, 090h, 02bh, 080h + db 0bfh, 01fh, 000h, 0c1h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 000h, 096h + db 0b9h, 0a2h, 0ffh, 000h, 013h, 015h, 017h, 002h, 004h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 003h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 00fh, 00fh, 0ffh + db 028h, 018h, 008h, 000h, 008h, 009h, 003h, 000h, 002h, 063h, 02dh, 027h, 028h, 090h, 02bh, 080h + db 0bfh, 01fh, 000h, 0c1h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 000h, 096h + db 0b9h, 0a2h, 0ffh, 000h, 013h, 015h, 017h, 002h, 004h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 003h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 00fh, 00fh, 0ffh + db 050h, 018h, 008h, 000h, 010h, 001h, 001h, 000h, 006h, 063h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 0c1h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 000h, 096h + db 0b9h, 0c2h, 0ffh, 000h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h + db 017h, 017h, 017h, 001h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 00dh, 00fh, 0ffh + db 050h, 018h, 010h, 000h, 010h, 000h, 003h, 000h, 002h, 066h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 00fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 008h, 008h, 008h, 008h, 008h, 008h, 008h, 010h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 00eh, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00ah, 00fh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 028h, 018h, 008h, 000h, 020h, 009h, 00fh, 000h, 006h, 063h, 02dh, 027h, 028h, 090h, 02bh, 080h + db 0bfh, 01fh, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 000h, 096h + db 0b9h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 050h, 018h, 008h, 000h, 040h, 001h, 00fh, 000h, 006h, 063h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 000h, 096h + db 0b9h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 050h, 018h, 00eh, 000h, 080h, 001h, 00fh, 000h, 006h, 0a3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 083h, 085h, 05dh, 028h, 00fh, 063h + db 0bah, 0e3h, 0ffh, 000h, 008h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 008h, 000h, 000h, 000h + db 018h, 000h, 000h, 001h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 050h, 018h, 00eh, 000h, 080h, 001h, 00fh, 000h, 006h, 0a3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 083h, 085h, 05dh, 028h, 00fh, 063h + db 0bah, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 050h, 018h, 00eh, 000h, 010h, 000h, 003h, 000h, 002h, 067h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 01fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 00ch, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00eh, 00fh, 0ffh + db 028h, 018h, 010h, 000h, 008h, 008h, 003h, 000h, 002h, 067h, 02dh, 027h, 028h, 090h, 02bh, 0a0h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 01fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 00ch, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00eh, 00fh, 0ffh + db 050h, 018h, 010h, 000h, 010h, 000h, 003h, 000h, 002h, 067h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 01fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 00ch, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00eh, 00fh, 0ffh + db 050h, 018h, 010h, 000h, 010h, 000h, 003h, 000h, 002h, 066h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 00fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 008h, 008h, 008h, 008h, 008h, 008h, 008h, 010h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 00eh, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00ah, 00fh, 0ffh + db 050h, 01dh, 010h, 000h, 000h, 001h, 00fh, 000h, 006h, 0e3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 00bh, 03eh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 0eah, 08ch, 0dfh, 028h, 000h, 0e7h + db 004h, 0e3h, 0ffh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h + db 03fh, 000h, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 050h, 01dh, 010h, 000h, 000h, 001h, 00fh, 000h, 006h, 0e3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 00bh, 03eh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 0eah, 08ch, 0dfh, 028h, 000h, 0e7h + db 004h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 028h, 018h, 008h, 000h, 000h, 001h, 00fh, 000h, 00eh, 063h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 041h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 040h, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 006h, 007h, 008h, 009h, 00ah, 00bh, 00ch + db 00dh, 00eh, 00fh, 041h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 040h, 005h, 00fh, 0ffh + db 064h, 024h, 010h, 000h, 000h, 001h, 00fh, 000h, 006h, 0e3h, 07fh, 063h, 063h, 083h, 06bh, 01bh + db 072h, 0f0h, 000h, 060h, 000h, 000h, 000h, 000h, 000h, 000h, 059h, 08dh, 057h, 032h, 000h, 057h + db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + ; disGetNextSymbol 0xc4e42 LB 0x2ee4 -> off=0x0 cb=00000000000000c0 uValue=00000000000c0842 'palette0' +palette0: ; 0xc4e42 LB 0xc0 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + ; disGetNextSymbol 0xc4f02 LB 0x2e24 -> off=0x0 cb=00000000000000c0 uValue=00000000000c0902 'palette1' +palette1: ; 0xc4f02 LB 0xc0 + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah + db 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah, 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah + db 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh, 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh + db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah + db 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah, 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah + db 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh, 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh + db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + ; disGetNextSymbol 0xc4fc2 LB 0x2d64 -> off=0x0 cb=00000000000000c0 uValue=00000000000c09c2 'palette2' +palette2: ; 0xc4fc2 LB 0xc0 + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah + db 015h, 000h, 02ah, 03fh, 02ah, 000h, 015h, 02ah, 000h, 03fh, 02ah, 02ah, 015h, 02ah, 02ah, 03fh + db 000h, 015h, 000h, 000h, 015h, 02ah, 000h, 03fh, 000h, 000h, 03fh, 02ah, 02ah, 015h, 000h, 02ah + db 015h, 02ah, 02ah, 03fh, 000h, 02ah, 03fh, 02ah, 000h, 015h, 015h, 000h, 015h, 03fh, 000h, 03fh + db 015h, 000h, 03fh, 03fh, 02ah, 015h, 015h, 02ah, 015h, 03fh, 02ah, 03fh, 015h, 02ah, 03fh, 03fh + db 015h, 000h, 000h, 015h, 000h, 02ah, 015h, 02ah, 000h, 015h, 02ah, 02ah, 03fh, 000h, 000h, 03fh + db 000h, 02ah, 03fh, 02ah, 000h, 03fh, 02ah, 02ah, 015h, 000h, 015h, 015h, 000h, 03fh, 015h, 02ah + db 015h, 015h, 02ah, 03fh, 03fh, 000h, 015h, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 03fh, 02ah, 03fh + db 015h, 015h, 000h, 015h, 015h, 02ah, 015h, 03fh, 000h, 015h, 03fh, 02ah, 03fh, 015h, 000h, 03fh + db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + ; disGetNextSymbol 0xc5082 LB 0x2ca4 -> off=0x0 cb=0000000000000300 uValue=00000000000c0a82 'palette3' +palette3: ; 0xc5082 LB 0x300 + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + db 000h, 000h, 000h, 005h, 005h, 005h, 008h, 008h, 008h, 00bh, 00bh, 00bh, 00eh, 00eh, 00eh, 011h + db 011h, 011h, 014h, 014h, 014h, 018h, 018h, 018h, 01ch, 01ch, 01ch, 020h, 020h, 020h, 024h, 024h + db 024h, 028h, 028h, 028h, 02dh, 02dh, 02dh, 032h, 032h, 032h, 038h, 038h, 038h, 03fh, 03fh, 03fh + db 000h, 000h, 03fh, 010h, 000h, 03fh, 01fh, 000h, 03fh, 02fh, 000h, 03fh, 03fh, 000h, 03fh, 03fh + db 000h, 02fh, 03fh, 000h, 01fh, 03fh, 000h, 010h, 03fh, 000h, 000h, 03fh, 010h, 000h, 03fh, 01fh + db 000h, 03fh, 02fh, 000h, 03fh, 03fh, 000h, 02fh, 03fh, 000h, 01fh, 03fh, 000h, 010h, 03fh, 000h + db 000h, 03fh, 000h, 000h, 03fh, 010h, 000h, 03fh, 01fh, 000h, 03fh, 02fh, 000h, 03fh, 03fh, 000h + db 02fh, 03fh, 000h, 01fh, 03fh, 000h, 010h, 03fh, 01fh, 01fh, 03fh, 027h, 01fh, 03fh, 02fh, 01fh + db 03fh, 037h, 01fh, 03fh, 03fh, 01fh, 03fh, 03fh, 01fh, 037h, 03fh, 01fh, 02fh, 03fh, 01fh, 027h + db 03fh, 01fh, 01fh, 03fh, 027h, 01fh, 03fh, 02fh, 01fh, 03fh, 037h, 01fh, 03fh, 03fh, 01fh, 037h + db 03fh, 01fh, 02fh, 03fh, 01fh, 027h, 03fh, 01fh, 01fh, 03fh, 01fh, 01fh, 03fh, 027h, 01fh, 03fh + db 02fh, 01fh, 03fh, 037h, 01fh, 03fh, 03fh, 01fh, 037h, 03fh, 01fh, 02fh, 03fh, 01fh, 027h, 03fh + db 02dh, 02dh, 03fh, 031h, 02dh, 03fh, 036h, 02dh, 03fh, 03ah, 02dh, 03fh, 03fh, 02dh, 03fh, 03fh + db 02dh, 03ah, 03fh, 02dh, 036h, 03fh, 02dh, 031h, 03fh, 02dh, 02dh, 03fh, 031h, 02dh, 03fh, 036h + db 02dh, 03fh, 03ah, 02dh, 03fh, 03fh, 02dh, 03ah, 03fh, 02dh, 036h, 03fh, 02dh, 031h, 03fh, 02dh + db 02dh, 03fh, 02dh, 02dh, 03fh, 031h, 02dh, 03fh, 036h, 02dh, 03fh, 03ah, 02dh, 03fh, 03fh, 02dh + db 03ah, 03fh, 02dh, 036h, 03fh, 02dh, 031h, 03fh, 000h, 000h, 01ch, 007h, 000h, 01ch, 00eh, 000h + db 01ch, 015h, 000h, 01ch, 01ch, 000h, 01ch, 01ch, 000h, 015h, 01ch, 000h, 00eh, 01ch, 000h, 007h + db 01ch, 000h, 000h, 01ch, 007h, 000h, 01ch, 00eh, 000h, 01ch, 015h, 000h, 01ch, 01ch, 000h, 015h + db 01ch, 000h, 00eh, 01ch, 000h, 007h, 01ch, 000h, 000h, 01ch, 000h, 000h, 01ch, 007h, 000h, 01ch + db 00eh, 000h, 01ch, 015h, 000h, 01ch, 01ch, 000h, 015h, 01ch, 000h, 00eh, 01ch, 000h, 007h, 01ch + db 00eh, 00eh, 01ch, 011h, 00eh, 01ch, 015h, 00eh, 01ch, 018h, 00eh, 01ch, 01ch, 00eh, 01ch, 01ch + db 00eh, 018h, 01ch, 00eh, 015h, 01ch, 00eh, 011h, 01ch, 00eh, 00eh, 01ch, 011h, 00eh, 01ch, 015h + db 00eh, 01ch, 018h, 00eh, 01ch, 01ch, 00eh, 018h, 01ch, 00eh, 015h, 01ch, 00eh, 011h, 01ch, 00eh + db 00eh, 01ch, 00eh, 00eh, 01ch, 011h, 00eh, 01ch, 015h, 00eh, 01ch, 018h, 00eh, 01ch, 01ch, 00eh + db 018h, 01ch, 00eh, 015h, 01ch, 00eh, 011h, 01ch, 014h, 014h, 01ch, 016h, 014h, 01ch, 018h, 014h + db 01ch, 01ah, 014h, 01ch, 01ch, 014h, 01ch, 01ch, 014h, 01ah, 01ch, 014h, 018h, 01ch, 014h, 016h + db 01ch, 014h, 014h, 01ch, 016h, 014h, 01ch, 018h, 014h, 01ch, 01ah, 014h, 01ch, 01ch, 014h, 01ah + db 01ch, 014h, 018h, 01ch, 014h, 016h, 01ch, 014h, 014h, 01ch, 014h, 014h, 01ch, 016h, 014h, 01ch + db 018h, 014h, 01ch, 01ah, 014h, 01ch, 01ch, 014h, 01ah, 01ch, 014h, 018h, 01ch, 014h, 016h, 01ch + db 000h, 000h, 010h, 004h, 000h, 010h, 008h, 000h, 010h, 00ch, 000h, 010h, 010h, 000h, 010h, 010h + db 000h, 00ch, 010h, 000h, 008h, 010h, 000h, 004h, 010h, 000h, 000h, 010h, 004h, 000h, 010h, 008h + db 000h, 010h, 00ch, 000h, 010h, 010h, 000h, 00ch, 010h, 000h, 008h, 010h, 000h, 004h, 010h, 000h + db 000h, 010h, 000h, 000h, 010h, 004h, 000h, 010h, 008h, 000h, 010h, 00ch, 000h, 010h, 010h, 000h + db 00ch, 010h, 000h, 008h, 010h, 000h, 004h, 010h, 008h, 008h, 010h, 00ah, 008h, 010h, 00ch, 008h + db 010h, 00eh, 008h, 010h, 010h, 008h, 010h, 010h, 008h, 00eh, 010h, 008h, 00ch, 010h, 008h, 00ah + db 010h, 008h, 008h, 010h, 00ah, 008h, 010h, 00ch, 008h, 010h, 00eh, 008h, 010h, 010h, 008h, 00eh + db 010h, 008h, 00ch, 010h, 008h, 00ah, 010h, 008h, 008h, 010h, 008h, 008h, 010h, 00ah, 008h, 010h + db 00ch, 008h, 010h, 00eh, 008h, 010h, 010h, 008h, 00eh, 010h, 008h, 00ch, 010h, 008h, 00ah, 010h + db 00bh, 00bh, 010h, 00ch, 00bh, 010h, 00dh, 00bh, 010h, 00fh, 00bh, 010h, 010h, 00bh, 010h, 010h + db 00bh, 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 00bh, 00bh, 010h, 00ch, 00bh, 010h, 00dh + db 00bh, 010h, 00fh, 00bh, 010h, 010h, 00bh, 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 00bh + db 00bh, 010h, 00bh, 00bh, 010h, 00ch, 00bh, 010h, 00dh, 00bh, 010h, 00fh, 00bh, 010h, 010h, 00bh + db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc5382 LB 0x29a4 -> off=0x0 cb=0000000000000010 uValue=00000000000c0d82 'static_functionality' +static_functionality: ; 0xc5382 LB 0x10 + db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc5392 LB 0x2994 -> off=0x0 cb=0000000000000024 uValue=00000000000c0d92 '_dcc_table' +_dcc_table: ; 0xc5392 LB 0x24 + db 010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc53b6 LB 0x2970 -> off=0x0 cb=000000000000001a uValue=00000000000c0db6 '_secondary_save_area' +_secondary_save_area: ; 0xc53b6 LB 0x1a + db 01ah, 000h, 092h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc53d0 LB 0x2956 -> off=0x0 cb=000000000000001c uValue=00000000000c0dd0 '_video_save_pointer_table' +_video_save_pointer_table: ; 0xc53d0 LB 0x1c + db 0c2h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 0b6h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc53ec LB 0x293a -> off=0x0 cb=0000000000000800 uValue=00000000000c0dec 'vgafont8' +vgafont8: ; 0xc53ec LB 0x800 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh + db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h + db 010h, 038h, 07ch, 0feh, 07ch, 038h, 010h, 000h, 038h, 07ch, 038h, 0feh, 0feh, 07ch, 038h, 07ch + db 010h, 010h, 038h, 07ch, 0feh, 07ch, 038h, 07ch, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h + db 0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h + db 0ffh, 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 00fh, 007h, 00fh, 07dh, 0cch, 0cch, 0cch, 078h + db 03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 018h, 03fh, 033h, 03fh, 030h, 030h, 070h, 0f0h, 0e0h + db 07fh, 063h, 07fh, 063h, 063h, 067h, 0e6h, 0c0h, 099h, 05ah, 03ch, 0e7h, 0e7h, 03ch, 05ah, 099h + db 080h, 0e0h, 0f8h, 0feh, 0f8h, 0e0h, 080h, 000h, 002h, 00eh, 03eh, 0feh, 03eh, 00eh, 002h, 000h + db 018h, 03ch, 07eh, 018h, 018h, 07eh, 03ch, 018h, 066h, 066h, 066h, 066h, 066h, 000h, 066h, 000h + db 07fh, 0dbh, 0dbh, 07bh, 01bh, 01bh, 01bh, 000h, 03eh, 063h, 038h, 06ch, 06ch, 038h, 0cch, 078h + db 000h, 000h, 000h, 000h, 07eh, 07eh, 07eh, 000h, 018h, 03ch, 07eh, 018h, 07eh, 03ch, 018h, 0ffh + db 018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h + db 000h, 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 030h, 060h, 0feh, 060h, 030h, 000h, 000h + db 000h, 000h, 0c0h, 0c0h, 0c0h, 0feh, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h + db 000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 000h, 000h, 000h, 0ffh, 0ffh, 07eh, 03ch, 018h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 078h, 078h, 030h, 030h, 000h, 030h, 000h + db 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch, 0feh, 06ch, 06ch, 000h + db 030h, 07ch, 0c0h, 078h, 00ch, 0f8h, 030h, 000h, 000h, 0c6h, 0cch, 018h, 030h, 066h, 0c6h, 000h + db 038h, 06ch, 038h, 076h, 0dch, 0cch, 076h, 000h, 060h, 060h, 0c0h, 000h, 000h, 000h, 000h, 000h + db 018h, 030h, 060h, 060h, 060h, 030h, 018h, 000h, 060h, 030h, 018h, 018h, 018h, 030h, 060h, 000h + db 000h, 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 030h, 030h, 0fch, 030h, 030h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 030h, 030h, 060h, 000h, 000h, 000h, 0fch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 030h, 030h, 000h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h + db 07ch, 0c6h, 0ceh, 0deh, 0f6h, 0e6h, 07ch, 000h, 030h, 070h, 030h, 030h, 030h, 030h, 0fch, 000h + db 078h, 0cch, 00ch, 038h, 060h, 0cch, 0fch, 000h, 078h, 0cch, 00ch, 038h, 00ch, 0cch, 078h, 000h + db 01ch, 03ch, 06ch, 0cch, 0feh, 00ch, 01eh, 000h, 0fch, 0c0h, 0f8h, 00ch, 00ch, 0cch, 078h, 000h + db 038h, 060h, 0c0h, 0f8h, 0cch, 0cch, 078h, 000h, 0fch, 0cch, 00ch, 018h, 030h, 030h, 030h, 000h + db 078h, 0cch, 0cch, 078h, 0cch, 0cch, 078h, 000h, 078h, 0cch, 0cch, 07ch, 00ch, 018h, 070h, 000h + db 000h, 030h, 030h, 000h, 000h, 030h, 030h, 000h, 000h, 030h, 030h, 000h, 000h, 030h, 030h, 060h + db 018h, 030h, 060h, 0c0h, 060h, 030h, 018h, 000h, 000h, 000h, 0fch, 000h, 000h, 0fch, 000h, 000h + db 060h, 030h, 018h, 00ch, 018h, 030h, 060h, 000h, 078h, 0cch, 00ch, 018h, 030h, 000h, 030h, 000h + db 07ch, 0c6h, 0deh, 0deh, 0deh, 0c0h, 078h, 000h, 030h, 078h, 0cch, 0cch, 0fch, 0cch, 0cch, 000h + db 0fch, 066h, 066h, 07ch, 066h, 066h, 0fch, 000h, 03ch, 066h, 0c0h, 0c0h, 0c0h, 066h, 03ch, 000h + db 0f8h, 06ch, 066h, 066h, 066h, 06ch, 0f8h, 000h, 0feh, 062h, 068h, 078h, 068h, 062h, 0feh, 000h + db 0feh, 062h, 068h, 078h, 068h, 060h, 0f0h, 000h, 03ch, 066h, 0c0h, 0c0h, 0ceh, 066h, 03eh, 000h + db 0cch, 0cch, 0cch, 0fch, 0cch, 0cch, 0cch, 000h, 078h, 030h, 030h, 030h, 030h, 030h, 078h, 000h + db 01eh, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 000h, 0e6h, 066h, 06ch, 078h, 06ch, 066h, 0e6h, 000h + db 0f0h, 060h, 060h, 060h, 062h, 066h, 0feh, 000h, 0c6h, 0eeh, 0feh, 0feh, 0d6h, 0c6h, 0c6h, 000h + db 0c6h, 0e6h, 0f6h, 0deh, 0ceh, 0c6h, 0c6h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h + db 0fch, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h, 078h, 0cch, 0cch, 0cch, 0dch, 078h, 01ch, 000h + db 0fch, 066h, 066h, 07ch, 06ch, 066h, 0e6h, 000h, 078h, 0cch, 0e0h, 070h, 01ch, 0cch, 078h, 000h + db 0fch, 0b4h, 030h, 030h, 030h, 030h, 078h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 0fch, 000h + db 0cch, 0cch, 0cch, 0cch, 0cch, 078h, 030h, 000h, 0c6h, 0c6h, 0c6h, 0d6h, 0feh, 0eeh, 0c6h, 000h + db 0c6h, 0c6h, 06ch, 038h, 038h, 06ch, 0c6h, 000h, 0cch, 0cch, 0cch, 078h, 030h, 030h, 078h, 000h + db 0feh, 0c6h, 08ch, 018h, 032h, 066h, 0feh, 000h, 078h, 060h, 060h, 060h, 060h, 060h, 078h, 000h + db 0c0h, 060h, 030h, 018h, 00ch, 006h, 002h, 000h, 078h, 018h, 018h, 018h, 018h, 018h, 078h, 000h + db 010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 076h, 000h + db 0e0h, 060h, 060h, 07ch, 066h, 066h, 0dch, 000h, 000h, 000h, 078h, 0cch, 0c0h, 0cch, 078h, 000h + db 01ch, 00ch, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h + db 038h, 06ch, 060h, 0f0h, 060h, 060h, 0f0h, 000h, 000h, 000h, 076h, 0cch, 0cch, 07ch, 00ch, 0f8h + db 0e0h, 060h, 06ch, 076h, 066h, 066h, 0e6h, 000h, 030h, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 00ch, 000h, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 0e0h, 060h, 066h, 06ch, 078h, 06ch, 0e6h, 000h + db 070h, 030h, 030h, 030h, 030h, 030h, 078h, 000h, 000h, 000h, 0cch, 0feh, 0feh, 0d6h, 0c6h, 000h + db 000h, 000h, 0f8h, 0cch, 0cch, 0cch, 0cch, 000h, 000h, 000h, 078h, 0cch, 0cch, 0cch, 078h, 000h + db 000h, 000h, 0dch, 066h, 066h, 07ch, 060h, 0f0h, 000h, 000h, 076h, 0cch, 0cch, 07ch, 00ch, 01eh + db 000h, 000h, 0dch, 076h, 066h, 060h, 0f0h, 000h, 000h, 000h, 07ch, 0c0h, 078h, 00ch, 0f8h, 000h + db 010h, 030h, 07ch, 030h, 030h, 034h, 018h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 0cch, 0cch, 0cch, 078h, 030h, 000h, 000h, 000h, 0c6h, 0d6h, 0feh, 0feh, 06ch, 000h + db 000h, 000h, 0c6h, 06ch, 038h, 06ch, 0c6h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 07ch, 00ch, 0f8h + db 000h, 000h, 0fch, 098h, 030h, 064h, 0fch, 000h, 01ch, 030h, 030h, 0e0h, 030h, 030h, 01ch, 000h + db 018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h + db 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h + db 078h, 0cch, 0c0h, 0cch, 078h, 018h, 00ch, 078h, 000h, 0cch, 000h, 0cch, 0cch, 0cch, 07eh, 000h + db 01ch, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h, 07eh, 0c3h, 03ch, 006h, 03eh, 066h, 03fh, 000h + db 0cch, 000h, 078h, 00ch, 07ch, 0cch, 07eh, 000h, 0e0h, 000h, 078h, 00ch, 07ch, 0cch, 07eh, 000h + db 030h, 030h, 078h, 00ch, 07ch, 0cch, 07eh, 000h, 000h, 000h, 078h, 0c0h, 0c0h, 078h, 00ch, 038h + db 07eh, 0c3h, 03ch, 066h, 07eh, 060h, 03ch, 000h, 0cch, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h + db 0e0h, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h, 0cch, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 07ch, 0c6h, 038h, 018h, 018h, 018h, 03ch, 000h, 0e0h, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 0c6h, 038h, 06ch, 0c6h, 0feh, 0c6h, 0c6h, 000h, 030h, 030h, 000h, 078h, 0cch, 0fch, 0cch, 000h + db 01ch, 000h, 0fch, 060h, 078h, 060h, 0fch, 000h, 000h, 000h, 07fh, 00ch, 07fh, 0cch, 07fh, 000h + db 03eh, 06ch, 0cch, 0feh, 0cch, 0cch, 0ceh, 000h, 078h, 0cch, 000h, 078h, 0cch, 0cch, 078h, 000h + db 000h, 0cch, 000h, 078h, 0cch, 0cch, 078h, 000h, 000h, 0e0h, 000h, 078h, 0cch, 0cch, 078h, 000h + db 078h, 0cch, 000h, 0cch, 0cch, 0cch, 07eh, 000h, 000h, 0e0h, 000h, 0cch, 0cch, 0cch, 07eh, 000h + db 000h, 0cch, 000h, 0cch, 0cch, 07ch, 00ch, 0f8h, 0c3h, 018h, 03ch, 066h, 066h, 03ch, 018h, 000h + db 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 078h, 000h, 018h, 018h, 07eh, 0c0h, 0c0h, 07eh, 018h, 018h + db 038h, 06ch, 064h, 0f0h, 060h, 0e6h, 0fch, 000h, 0cch, 0cch, 078h, 0fch, 030h, 0fch, 030h, 030h + db 0f8h, 0cch, 0cch, 0fah, 0c6h, 0cfh, 0c6h, 0c7h, 00eh, 01bh, 018h, 03ch, 018h, 018h, 0d8h, 070h + db 01ch, 000h, 078h, 00ch, 07ch, 0cch, 07eh, 000h, 038h, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 000h, 01ch, 000h, 078h, 0cch, 0cch, 078h, 000h, 000h, 01ch, 000h, 0cch, 0cch, 0cch, 07eh, 000h + db 000h, 0f8h, 000h, 0f8h, 0cch, 0cch, 0cch, 000h, 0fch, 000h, 0cch, 0ech, 0fch, 0dch, 0cch, 000h + db 03ch, 06ch, 06ch, 03eh, 000h, 07eh, 000h, 000h, 038h, 06ch, 06ch, 038h, 000h, 07ch, 000h, 000h + db 030h, 000h, 030h, 060h, 0c0h, 0cch, 078h, 000h, 000h, 000h, 000h, 0fch, 0c0h, 0c0h, 000h, 000h + db 000h, 000h, 000h, 0fch, 00ch, 00ch, 000h, 000h, 0c3h, 0c6h, 0cch, 0deh, 033h, 066h, 0cch, 00fh + db 0c3h, 0c6h, 0cch, 0dbh, 037h, 06fh, 0cfh, 003h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 000h + db 000h, 033h, 066h, 0cch, 066h, 033h, 000h, 000h, 000h, 0cch, 066h, 033h, 066h, 0cch, 000h, 000h + db 022h, 088h, 022h, 088h, 022h, 088h, 022h, 088h, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah + db 0dbh, 077h, 0dbh, 0eeh, 0dbh, 077h, 0dbh, 0eeh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 0f6h, 036h, 036h, 036h, 000h, 000h, 000h, 000h, 0feh, 036h, 036h, 036h + db 000h, 000h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 036h, 036h, 0f6h, 006h, 0f6h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 000h, 000h, 0feh, 006h, 0f6h, 036h, 036h, 036h + db 036h, 036h, 0f6h, 006h, 0feh, 000h, 000h, 000h, 036h, 036h, 036h, 036h, 0feh, 000h, 000h, 000h + db 018h, 018h, 0f8h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 01fh, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 0ffh, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 0ffh, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h + db 018h, 018h, 01fh, 018h, 01fh, 018h, 018h, 018h, 036h, 036h, 036h, 036h, 037h, 036h, 036h, 036h + db 036h, 036h, 037h, 030h, 03fh, 000h, 000h, 000h, 000h, 000h, 03fh, 030h, 037h, 036h, 036h, 036h + db 036h, 036h, 0f7h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0f7h, 036h, 036h, 036h + db 036h, 036h, 037h, 030h, 037h, 036h, 036h, 036h, 000h, 000h, 0ffh, 000h, 0ffh, 000h, 000h, 000h + db 036h, 036h, 0f7h, 000h, 0f7h, 036h, 036h, 036h, 018h, 018h, 0ffh, 000h, 0ffh, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 0ffh, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 03fh, 000h, 000h, 000h + db 018h, 018h, 01fh, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 01fh, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 03fh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 036h, 036h, 036h + db 018h, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 01fh, 018h, 018h, 018h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 000h, 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h + db 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h + db 000h, 000h, 076h, 0dch, 0c8h, 0dch, 076h, 000h, 000h, 078h, 0cch, 0f8h, 0cch, 0f8h, 0c0h, 0c0h + db 000h, 0fch, 0cch, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 0feh, 06ch, 06ch, 06ch, 06ch, 06ch, 000h + db 0fch, 0cch, 060h, 030h, 060h, 0cch, 0fch, 000h, 000h, 000h, 07eh, 0d8h, 0d8h, 0d8h, 070h, 000h + db 000h, 066h, 066h, 066h, 066h, 07ch, 060h, 0c0h, 000h, 076h, 0dch, 018h, 018h, 018h, 018h, 000h + db 0fch, 030h, 078h, 0cch, 0cch, 078h, 030h, 0fch, 038h, 06ch, 0c6h, 0feh, 0c6h, 06ch, 038h, 000h + db 038h, 06ch, 0c6h, 0c6h, 06ch, 06ch, 0eeh, 000h, 01ch, 030h, 018h, 07ch, 0cch, 0cch, 078h, 000h + db 000h, 000h, 07eh, 0dbh, 0dbh, 07eh, 000h, 000h, 006h, 00ch, 07eh, 0dbh, 0dbh, 07eh, 060h, 0c0h + db 038h, 060h, 0c0h, 0f8h, 0c0h, 060h, 038h, 000h, 078h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 000h + db 000h, 0fch, 000h, 0fch, 000h, 0fch, 000h, 000h, 030h, 030h, 0fch, 030h, 030h, 000h, 0fch, 000h + db 060h, 030h, 018h, 030h, 060h, 000h, 0fch, 000h, 018h, 030h, 060h, 030h, 018h, 000h, 0fch, 000h + db 00eh, 01bh, 01bh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0d8h, 0d8h, 070h + db 030h, 030h, 000h, 0fch, 000h, 030h, 030h, 000h, 000h, 076h, 0dch, 000h, 076h, 0dch, 000h, 000h + db 038h, 06ch, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 000h, 000h, 000h, 00fh, 00ch, 00ch, 00ch, 0ech, 06ch, 03ch, 01ch + db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h + db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc5bec LB 0x213a -> off=0x0 cb=0000000000000e00 uValue=00000000000c15ec 'vgafont14' +vgafont14: ; 0xc5bec LB 0xe00 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh + db 0dbh, 0ffh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 06ch, 0feh, 0feh + db 0feh, 0feh, 07ch, 038h, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 07ch, 0feh, 07ch + db 038h, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 03ch, 0e7h, 0e7h, 0e7h, 018h, 018h + db 03ch, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 07eh, 018h, 018h, 03ch, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h, 000h, 000h, 000h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h + db 000h, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h, 000h, 000h, 000h, 0ffh, 0ffh, 0ffh, 0ffh + db 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 01eh, 00eh, 01ah, 032h + db 078h, 0cch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 066h, 066h, 03ch, 018h + db 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 03fh, 033h, 03fh, 030h, 030h, 030h, 070h, 0f0h + db 0e0h, 000h, 000h, 000h, 000h, 000h, 07fh, 063h, 07fh, 063h, 063h, 063h, 067h, 0e7h, 0e6h, 0c0h + db 000h, 000h, 000h, 000h, 018h, 018h, 0dbh, 03ch, 0e7h, 03ch, 0dbh, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 080h, 0c0h, 0e0h, 0f8h, 0feh, 0f8h, 0e0h, 0c0h, 080h, 000h, 000h, 000h, 000h, 000h + db 002h, 006h, 00eh, 03eh, 0feh, 03eh, 00eh, 006h, 002h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch + db 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h + db 066h, 066h, 000h, 066h, 066h, 000h, 000h, 000h, 000h, 000h, 07fh, 0dbh, 0dbh, 0dbh, 07bh, 01bh + db 01bh, 01bh, 01bh, 000h, 000h, 000h, 000h, 07ch, 0c6h, 060h, 038h, 06ch, 0c6h, 0c6h, 06ch, 038h + db 00ch, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 0feh, 0feh, 000h + db 000h, 000h, 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 07eh, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 060h + db 0feh, 060h, 030h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0c0h, 0c0h, 0c0h + db 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 028h, 06ch, 0feh, 06ch, 028h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 038h, 07ch, 07ch, 0feh, 0feh, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0feh, 0feh, 07ch, 07ch, 038h, 038h, 010h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 03ch, 03ch, 03ch, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 066h, 066h, 066h + db 024h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch + db 06ch, 06ch, 0feh, 06ch, 06ch, 000h, 000h, 000h, 018h, 018h, 07ch, 0c6h, 0c2h, 0c0h, 07ch, 006h + db 086h, 0c6h, 07ch, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 0c2h, 0c6h, 00ch, 018h, 030h, 066h + db 0c6h, 000h, 000h, 000h, 000h, 000h, 038h, 06ch, 06ch, 038h, 076h, 0dch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 000h, 030h, 030h, 030h, 060h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 00ch, 018h, 030h, 030h, 030h, 030h, 030h, 018h, 00ch, 000h, 000h, 000h, 000h, 000h + db 030h, 018h, 00ch, 00ch, 00ch, 00ch, 00ch, 018h, 030h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h + db 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 030h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h + db 000h, 000h, 000h, 000h, 002h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0ceh, 0deh, 0f6h, 0e6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 018h, 038h, 078h, 018h, 018h, 018h, 018h, 018h, 07eh, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h + db 006h, 00ch, 018h, 030h, 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 006h, 006h + db 03ch, 006h, 006h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 00ch, 01ch, 03ch, 06ch, 0cch, 0feh + db 00ch, 00ch, 01eh, 000h, 000h, 000h, 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 0fch, 006h, 006h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 000h, 038h, 060h, 0c0h, 0c0h, 0fch, 0c6h, 0c6h, 0c6h, 07ch, 000h + db 000h, 000h, 000h, 000h, 0feh, 0c6h, 006h, 00ch, 018h, 030h, 030h, 030h, 030h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 07ch, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 07ch, 0c6h, 0c6h, 0c6h, 07eh, 006h, 006h, 00ch, 078h, 000h, 000h, 000h, 000h, 000h, 000h, 018h + db 018h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h + db 000h, 000h, 018h, 018h, 030h, 000h, 000h, 000h, 000h, 000h, 006h, 00ch, 018h, 030h, 060h, 030h + db 018h, 00ch, 006h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 000h, 000h, 07eh, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 00ch, 006h, 00ch, 018h, 030h, 060h, 000h + db 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 00ch, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0deh, 0deh, 0deh, 0dch, 0c0h, 07ch, 000h, 000h, 000h, 000h, 000h + db 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h, 000h, 0fch, 066h + db 066h, 066h, 07ch, 066h, 066h, 066h, 0fch, 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 0c2h, 0c0h + db 0c0h, 0c0h, 0c2h, 066h, 03ch, 000h, 000h, 000h, 000h, 000h, 0f8h, 06ch, 066h, 066h, 066h, 066h + db 066h, 06ch, 0f8h, 000h, 000h, 000h, 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 062h, 066h + db 0feh, 000h, 000h, 000h, 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 060h, 060h, 0f0h, 000h + db 000h, 000h, 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0deh, 0c6h, 066h, 03ah, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h, 000h + db 03ch, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 01eh, 00ch + db 00ch, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h, 000h, 0e6h, 066h, 06ch, 06ch + db 078h, 06ch, 06ch, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h, 0f0h, 060h, 060h, 060h, 060h, 060h + db 062h, 066h, 0feh, 000h, 000h, 000h, 000h, 000h, 0c6h, 0eeh, 0feh, 0feh, 0d6h, 0c6h, 0c6h, 0c6h + db 0c6h, 000h, 000h, 000h, 000h, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h, 0c6h, 0c6h, 000h + db 000h, 000h, 000h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h, 000h + db 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0d6h, 0deh, 07ch, 00ch, 00eh, 000h, 000h, 000h, 000h, 0fch, 066h + db 066h, 066h, 07ch, 06ch, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 060h + db 038h, 00ch, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 07eh, 07eh, 05ah, 018h, 018h, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 06ch, 038h, 010h, 000h + db 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0d6h, 0d6h, 0feh, 07ch, 06ch, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 06ch, 038h, 038h, 038h, 06ch, 0c6h, 0c6h, 000h, 000h, 000h, 000h, 000h + db 066h, 066h, 066h, 066h, 03ch, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 0feh, 0c6h + db 08ch, 018h, 030h, 060h, 0c2h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h, 03ch, 030h, 030h, 030h + db 030h, 030h, 030h, 030h, 03ch, 000h, 000h, 000h, 000h, 000h, 080h, 0c0h, 0e0h, 070h, 038h, 01ch + db 00eh, 006h, 002h, 000h, 000h, 000h, 000h, 000h, 03ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch + db 03ch, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h + db 030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 0e0h, 060h + db 060h, 078h, 06ch, 066h, 066h, 066h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch + db 0c6h, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 01ch, 00ch, 00ch, 03ch, 06ch, 0cch + db 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h, 060h, 0f0h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 07ch, 00ch, 0cch, 078h, 000h + db 000h, 000h, 0e0h, 060h, 060h, 06ch, 076h, 066h, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 000h, 038h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 006h, 006h + db 000h, 00eh, 006h, 006h, 006h, 006h, 066h, 066h, 03ch, 000h, 000h, 000h, 0e0h, 060h, 060h, 066h + db 06ch, 078h, 06ch, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h, 038h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ech, 0feh, 0d6h, 0d6h, 0d6h + db 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h, 000h, 000h + db 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 07ch, 00ch, 00ch, 01eh, 000h, 000h, 000h, 000h, 000h + db 000h, 0dch, 076h, 066h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch + db 0c6h, 070h, 01ch, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 010h, 030h, 030h, 0fch, 030h, 030h + db 030h, 036h, 01ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch + db 076h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h, 03ch, 018h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0d6h, 0d6h, 0feh, 06ch, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c6h, 06ch, 038h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 0f8h, 000h, 000h, 000h, 000h, 000h + db 000h, 0feh, 0cch, 018h, 030h, 066h, 0feh, 000h, 000h, 000h, 000h, 000h, 00eh, 018h, 018h, 018h + db 070h, 018h, 018h, 018h, 00eh, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 000h, 018h + db 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 070h, 018h, 018h, 018h, 00eh, 018h, 018h, 018h + db 070h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0c2h, 066h, 03ch, 00ch, 006h, 07ch, 000h, 000h, 000h + db 0cch, 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 00ch, 018h, 030h + db 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 000h, 078h + db 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 0cch, 0cch, 000h, 078h, 00ch, 07ch + db 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 000h, 078h, 00ch, 07ch, 0cch, 0cch + db 076h, 000h, 000h, 000h, 000h, 038h, 06ch, 038h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 060h, 066h, 03ch, 00ch, 006h, 03ch, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 0cch, 0cch, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 060h, 030h, 018h + db 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 000h, 038h + db 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 018h, 03ch, 066h, 000h, 038h, 018h, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 000h, 038h, 018h, 018h, 018h, 018h + db 03ch, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 000h + db 000h, 000h, 038h, 06ch, 038h, 000h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 000h, 000h, 000h + db 018h, 030h, 060h, 000h, 0feh, 066h, 060h, 07ch, 060h, 066h, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 0cch, 076h, 036h, 07eh, 0d8h, 0d8h, 06eh, 000h, 000h, 000h, 000h, 000h, 03eh, 06ch + db 0cch, 0cch, 0feh, 0cch, 0cch, 0cch, 0ceh, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 000h, 07ch + db 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 000h, 07ch, 0c6h, 0c6h + db 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 030h, 078h, 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 000h, 060h, 030h, 018h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 078h, 000h, 000h, 0c6h + db 0c6h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 000h + db 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 018h, 018h, 03ch, 066h, 060h + db 060h, 066h, 03ch, 018h, 018h, 000h, 000h, 000h, 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h + db 060h, 0e6h, 0fch, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 03ch, 018h, 07eh, 018h, 07eh, 018h + db 018h, 000h, 000h, 000h, 000h, 0f8h, 0cch, 0cch, 0f8h, 0c4h, 0cch, 0deh, 0cch, 0cch, 0c6h, 000h + db 000h, 000h, 000h, 00eh, 01bh, 018h, 018h, 018h, 07eh, 018h, 018h, 018h, 018h, 0d8h, 070h, 000h + db 000h, 018h, 030h, 060h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 00ch + db 018h, 030h, 000h, 038h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 018h, 030h, 060h + db 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 018h, 030h, 060h, 000h, 0cch + db 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 0dch, 066h, 066h + db 066h, 066h, 066h, 000h, 000h, 000h, 076h, 0dch, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h + db 0c6h, 000h, 000h, 000h, 000h, 03ch, 06ch, 06ch, 03eh, 000h, 07eh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 038h, 06ch, 06ch, 038h, 000h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 030h, 030h, 000h, 030h, 030h, 060h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 006h, 006h, 006h, 000h, 000h, 000h, 000h, 000h, 0c0h, 0c0h, 0c6h, 0cch, 0d8h + db 030h, 060h, 0dch, 086h, 00ch, 018h, 03eh, 000h, 000h, 0c0h, 0c0h, 0c6h, 0cch, 0d8h, 030h, 066h + db 0ceh, 09eh, 03eh, 006h, 006h, 000h, 000h, 000h, 018h, 018h, 000h, 018h, 018h, 03ch, 03ch, 03ch + db 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 036h, 06ch, 0d8h, 06ch, 036h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0d8h, 06ch, 036h, 06ch, 0d8h, 000h, 000h, 000h, 000h, 000h + db 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 055h, 0aah + db 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 0ddh, 077h, 0ddh, 077h + db 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 018h, 018h + db 018h, 018h, 018h, 018h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0f6h, 036h, 036h, 036h, 036h + db 036h, 036h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 036h, 036h + db 036h, 036h, 036h, 0f6h, 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 000h, 000h, 000h, 000h, 000h, 0feh + db 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0f6h, 006h, 0feh + db 000h, 000h, 000h, 000h, 000h, 000h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0feh, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh, 018h, 018h, 018h, 018h + db 018h, 018h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 037h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 037h, 030h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 03fh, 030h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 0f7h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 000h, 0f7h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 037h, 030h, 037h + db 036h, 036h, 036h, 036h, 036h, 036h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 000h, 000h + db 000h, 000h, 000h, 000h, 036h, 036h, 036h, 036h, 036h, 0f7h, 000h, 0f7h, 036h, 036h, 036h, 036h + db 036h, 036h, 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0ffh, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 01fh, 018h, 018h + db 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 03fh, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h + db 0f0h, 0f0h, 0f0h, 0f0h, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh + db 00fh, 00fh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 0d8h, 0d8h, 0dch, 076h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0fch, 0c6h, 0c6h, 0fch, 0c0h, 0c0h, 040h, 000h, 000h, 000h, 0feh, 0c6h + db 0c6h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 06ch + db 06ch, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 0feh, 0c6h, 060h, 030h, 018h, 030h + db 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 0d8h, 0d8h, 0d8h, 0d8h + db 070h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h, 07ch, 060h, 060h, 0c0h + db 000h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 07eh, 018h, 03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 000h, 000h, 000h, 000h, 000h + db 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 038h, 06ch + db 0c6h, 0c6h, 0c6h, 06ch, 06ch, 06ch, 0eeh, 000h, 000h, 000h, 000h, 000h, 01eh, 030h, 018h, 00ch + db 03eh, 066h, 066h, 066h, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 0dbh, 0dbh + db 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 003h, 006h, 07eh, 0dbh, 0dbh, 0f3h, 07eh, 060h + db 0c0h, 000h, 000h, 000h, 000h, 000h, 01ch, 030h, 060h, 060h, 07ch, 060h, 060h, 030h, 01ch, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h + db 000h, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 018h, 018h, 07eh, 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 030h, 018h + db 00ch, 006h, 00ch, 018h, 030h, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 00ch, 018h, 030h, 060h + db 030h, 018h, 00ch, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 00eh, 01bh, 01bh, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0d8h, 0d8h + db 070h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 07eh, 000h, 018h, 018h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 00fh, 00ch, 00ch, 00ch, 00ch + db 00ch, 0ech, 06ch, 03ch, 01ch, 000h, 000h, 000h, 000h, 0d8h, 06ch, 06ch, 06ch, 06ch, 06ch, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 070h, 0d8h, 030h, 060h, 0c8h, 0f8h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc69ec LB 0x133a -> off=0x0 cb=0000000000001000 uValue=00000000000c23ec 'vgafont16' +vgafont16: ; 0xc69ec LB 0x1000 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 07eh, 0ffh, 0dbh, 0ffh, 0ffh, 0c3h, 0e7h, 0ffh, 0ffh, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 06ch, 0feh, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 010h, 038h, 07ch, 0feh, 07ch, 038h, 010h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 03ch, 03ch, 0e7h, 0e7h, 0e7h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 07eh, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h, 000h, 000h, 000h, 000h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 01eh, 00eh, 01ah, 032h, 078h, 0cch, 0cch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 066h, 066h, 066h, 03ch, 018h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 03fh, 033h, 03fh, 030h, 030h, 030h, 030h, 070h, 0f0h, 0e0h, 000h, 000h, 000h, 000h + db 000h, 000h, 07fh, 063h, 07fh, 063h, 063h, 063h, 063h, 067h, 0e7h, 0e6h, 0c0h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 018h, 0dbh, 03ch, 0e7h, 03ch, 0dbh, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 080h, 0c0h, 0e0h, 0f0h, 0f8h, 0feh, 0f8h, 0f0h, 0e0h, 0c0h, 080h, 000h, 000h, 000h, 000h + db 000h, 002h, 006h, 00eh, 01eh, 03eh, 0feh, 03eh, 01eh, 00eh, 006h, 002h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 066h, 066h, 066h, 066h, 066h, 066h, 066h, 000h, 066h, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 07fh, 0dbh, 0dbh, 0dbh, 07bh, 01bh, 01bh, 01bh, 01bh, 01bh, 000h, 000h, 000h, 000h + db 000h, 07ch, 0c6h, 060h, 038h, 06ch, 0c6h, 0c6h, 06ch, 038h, 00ch, 0c6h, 07ch, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 0feh, 0feh, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 030h, 060h, 0feh, 060h, 030h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0c0h, 0c0h, 0c0h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 010h, 038h, 038h, 07ch, 07ch, 0feh, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 0feh, 07ch, 07ch, 038h, 038h, 010h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 03ch, 03ch, 018h, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 066h, 066h, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch, 06ch, 06ch, 0feh, 06ch, 06ch, 000h, 000h, 000h, 000h + db 018h, 018h, 07ch, 0c6h, 0c2h, 0c0h, 07ch, 006h, 006h, 086h, 0c6h, 07ch, 018h, 018h, 000h, 000h + db 000h, 000h, 000h, 000h, 0c2h, 0c6h, 00ch, 018h, 030h, 060h, 0c6h, 086h, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 06ch, 06ch, 038h, 076h, 0dch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 030h, 030h, 030h, 060h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 00ch, 018h, 030h, 030h, 030h, 030h, 030h, 030h, 018h, 00ch, 000h, 000h, 000h, 000h + db 000h, 000h, 030h, 018h, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 018h, 030h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 018h, 018h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 030h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 002h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 038h, 078h, 018h, 018h, 018h, 018h, 018h, 018h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 006h, 006h, 03ch, 006h, 006h, 006h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 00ch, 01ch, 03ch, 06ch, 0cch, 0feh, 00ch, 00ch, 00ch, 01eh, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 0fch, 006h, 006h, 006h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 060h, 0c0h, 0c0h, 0fch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 0c6h, 006h, 006h, 00ch, 018h, 030h, 030h, 030h, 030h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 07eh, 006h, 006h, 006h, 00ch, 078h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 018h, 018h, 030h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 006h, 00ch, 018h, 030h, 060h, 030h, 018h, 00ch, 006h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07eh, 000h, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 060h, 030h, 018h, 00ch, 006h, 00ch, 018h, 030h, 060h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 00ch, 018h, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0deh, 0deh, 0deh, 0dch, 0c0h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 066h, 066h, 066h, 066h, 0fch, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0c0h, 0c0h, 0c2h, 066h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0f8h, 06ch, 066h, 066h, 066h, 066h, 066h, 066h, 06ch, 0f8h, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 060h, 062h, 066h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0deh, 0c6h, 0c6h, 066h, 03ah, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 01eh, 00ch, 00ch, 00ch, 00ch, 00ch, 0cch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h + db 000h, 000h, 0e6h, 066h, 066h, 06ch, 078h, 078h, 06ch, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 0f0h, 060h, 060h, 060h, 060h, 060h, 060h, 062h, 066h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0e7h, 0ffh, 0ffh, 0dbh, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 060h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0d6h, 0deh, 07ch, 00ch, 00eh, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 06ch, 066h, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 060h, 038h, 00ch, 006h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0ffh, 0dbh, 099h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 066h, 03ch, 018h, 018h, 03ch, 066h, 0c3h, 0c3h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0ffh, 0c3h, 086h, 00ch, 018h, 030h, 060h, 0c1h, 0c3h, 0ffh, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 030h, 030h, 030h, 030h, 030h, 030h, 030h, 030h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 080h, 0c0h, 0e0h, 070h, 038h, 01ch, 00eh, 006h, 002h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 03ch, 000h, 000h, 000h, 000h + db 010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 000h + db 030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 0e0h, 060h, 060h, 078h, 06ch, 066h, 066h, 066h, 066h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c0h, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 01ch, 00ch, 00ch, 03ch, 06ch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 0cch, 0cch, 07ch, 00ch, 0cch, 078h, 000h + db 000h, 000h, 0e0h, 060h, 060h, 06ch, 076h, 066h, 066h, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 018h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 006h, 006h, 000h, 00eh, 006h, 006h, 006h, 006h, 006h, 006h, 066h, 066h, 03ch, 000h + db 000h, 000h, 0e0h, 060h, 060h, 066h, 06ch, 078h, 078h, 06ch, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0e6h, 0ffh, 0dbh, 0dbh, 0dbh, 0dbh, 0dbh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 0cch, 0cch, 07ch, 00ch, 00ch, 01eh, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 076h, 066h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 060h, 038h, 00ch, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 010h, 030h, 030h, 0fch, 030h, 030h, 030h, 030h, 036h, 01ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c3h, 066h, 03ch, 018h, 03ch, 066h, 0c3h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 0f8h, 000h + db 000h, 000h, 000h, 000h, 000h, 0feh, 0cch, 018h, 030h, 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 00eh, 018h, 018h, 018h, 070h, 018h, 018h, 018h, 018h, 00eh, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 018h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 070h, 018h, 018h, 018h, 00eh, 018h, 018h, 018h, 018h, 070h, 000h, 000h, 000h, 000h + db 000h, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0c0h, 0c2h, 066h, 03ch, 00ch, 006h, 07ch, 000h, 000h + db 000h, 000h, 0cch, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 00ch, 018h, 030h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 0cch, 000h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 038h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 03ch, 066h, 060h, 060h, 066h, 03ch, 00ch, 006h, 03ch, 000h, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 000h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 066h, 000h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 018h, 03ch, 066h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 0c6h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 038h, 06ch, 038h, 000h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 018h, 030h, 060h, 000h, 0feh, 066h, 060h, 07ch, 060h, 060h, 066h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 06eh, 03bh, 01bh, 07eh, 0d8h, 0dch, 077h, 000h, 000h, 000h, 000h + db 000h, 000h, 03eh, 06ch, 0cch, 0cch, 0feh, 0cch, 0cch, 0cch, 0cch, 0ceh, 000h, 000h, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 030h, 078h, 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 078h, 000h + db 000h, 0c6h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 0c6h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 018h, 018h, 07eh, 0c3h, 0c0h, 0c0h, 0c0h, 0c3h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h, 060h, 060h, 0e6h, 0fch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 066h, 03ch, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 0fch, 066h, 066h, 07ch, 062h, 066h, 06fh, 066h, 066h, 066h, 0f3h, 000h, 000h, 000h, 000h + db 000h, 00eh, 01bh, 018h, 018h, 018h, 07eh, 018h, 018h, 018h, 018h, 018h, 0d8h, 070h, 000h, 000h + db 000h, 018h, 030h, 060h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 00ch, 018h, 030h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 018h, 030h, 060h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 018h, 030h, 060h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 076h, 0dch, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 066h, 000h, 000h, 000h, 000h + db 076h, 0dch, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 03ch, 06ch, 06ch, 03eh, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 06ch, 038h, 000h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 030h, 030h, 000h, 030h, 030h, 060h, 0c0h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 006h, 006h, 006h, 006h, 000h, 000h, 000h, 000h, 000h + db 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 060h, 0ceh, 09bh, 006h, 00ch, 01fh, 000h, 000h + db 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h, 006h, 000h, 000h + db 000h, 000h, 018h, 018h, 000h, 018h, 018h, 018h, 03ch, 03ch, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 036h, 06ch, 0d8h, 06ch, 036h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0d8h, 06ch, 036h, 06ch, 0d8h, 000h, 000h, 000h, 000h, 000h, 000h + db 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h + db 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah + db 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 036h, 0f6h, 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0feh, 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 0f6h, 006h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 037h, 030h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 03fh, 030h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 0f7h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0f7h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 037h, 030h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 0f7h, 000h, 0f7h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 03fh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h + db 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 0d8h, 0d8h, 0d8h, 0dch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 078h, 0cch, 0cch, 0cch, 0d8h, 0cch, 0c6h, 0c6h, 0c6h, 0cch, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 0c6h, 0c6h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 06ch, 06ch, 06ch, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0feh, 0c6h, 060h, 030h, 018h, 030h, 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07eh, 0d8h, 0d8h, 0d8h, 0d8h, 0d8h, 070h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h, 066h, 07ch, 060h, 060h, 0c0h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 076h, 0dch, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 07eh, 018h, 03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 06ch, 06ch, 06ch, 06ch, 0eeh, 000h, 000h, 000h, 000h + db 000h, 000h, 01eh, 030h, 018h, 00ch, 03eh, 066h, 066h, 066h, 066h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07eh, 0dbh, 0dbh, 0dbh, 07eh, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 003h, 006h, 07eh, 0dbh, 0dbh, 0f3h, 07eh, 060h, 0c0h, 000h, 000h, 000h, 000h + db 000h, 000h, 01ch, 030h, 060h, 060h, 07ch, 060h, 060h, 060h, 030h, 01ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 07eh, 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 030h, 018h, 00ch, 006h, 00ch, 018h, 030h, 000h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 00ch, 018h, 030h, 060h, 030h, 018h, 00ch, 000h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 00eh, 01bh, 01bh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0d8h, 0d8h, 0d8h, 070h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 07eh, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 00fh, 00ch, 00ch, 00ch, 00ch, 00ch, 0ech, 06ch, 06ch, 03ch, 01ch, 000h, 000h, 000h, 000h + db 000h, 0d8h, 06ch, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 070h, 0d8h, 030h, 060h, 0c8h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc79ec LB 0x33a -> off=0x0 cb=000000000000012d uValue=00000000000c33ec 'vgafont14alt' +vgafont14alt: ; 0xc79ec LB 0x12d + db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h + db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h + db 000h, 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 02dh, 000h, 000h + db 000h, 000h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 04dh, 000h, 000h, 0c3h + db 0e7h, 0ffh, 0dbh, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 000h, 000h, 000h, 054h, 000h, 000h, 0ffh, 0dbh + db 099h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 056h, 000h, 000h, 0c3h, 0c3h, 0c3h + db 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 057h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h + db 0dbh, 0dbh, 0ffh, 066h, 066h, 000h, 000h, 000h, 058h, 000h, 000h, 0c3h, 0c3h, 066h, 03ch, 018h + db 03ch, 066h, 0c3h, 0c3h, 000h, 000h, 000h, 059h, 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 05ah, 000h, 000h, 0ffh, 0c3h, 086h, 00ch, 018h, 030h, 061h + db 0c3h, 0ffh, 000h, 000h, 000h, 06dh, 000h, 000h, 000h, 000h, 000h, 0e6h, 0ffh, 0dbh, 0dbh, 0dbh + db 0dbh, 000h, 000h, 000h, 076h, 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h + db 000h, 000h, 000h, 077h, 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 000h + db 000h, 000h, 091h, 000h, 000h, 000h, 000h, 06eh, 03bh, 01bh, 07eh, 0d8h, 0dch, 077h, 000h, 000h + db 000h, 09bh, 000h, 018h, 018h, 07eh, 0c3h, 0c0h, 0c0h, 0c3h, 07eh, 018h, 018h, 000h, 000h, 000h + db 09dh, 000h, 000h, 0c3h, 066h, 03ch, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 000h, 000h, 000h, 09eh + db 000h, 0fch, 066h, 066h, 07ch, 062h, 066h, 06fh, 066h, 066h, 0f3h, 000h, 000h, 000h, 0f1h, 000h + db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h + db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc7b19 LB 0x20d -> off=0x0 cb=0000000000000144 uValue=00000000000c3519 'vgafont16alt' +vgafont16alt: ; 0xc7b19 LB 0x144 + db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h + db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h + db 000h, 000h, 04dh, 000h, 000h, 0c3h, 0e7h, 0ffh, 0ffh, 0dbh, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 000h + db 000h, 000h, 000h, 054h, 000h, 000h, 0ffh, 0dbh, 099h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch + db 000h, 000h, 000h, 000h, 056h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch + db 018h, 000h, 000h, 000h, 000h, 057h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh + db 066h, 066h, 000h, 000h, 000h, 000h, 058h, 000h, 000h, 0c3h, 0c3h, 066h, 03ch, 018h, 018h, 03ch + db 066h, 0c3h, 0c3h, 000h, 000h, 000h, 000h, 059h, 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h + db 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 05ah, 000h, 000h, 0ffh, 0c3h, 086h, 00ch, 018h + db 030h, 060h, 0c1h, 0c3h, 0ffh, 000h, 000h, 000h, 000h, 06dh, 000h, 000h, 000h, 000h, 000h, 0e6h + db 0ffh, 0dbh, 0dbh, 0dbh, 0dbh, 0dbh, 000h, 000h, 000h, 000h, 076h, 000h, 000h, 000h, 000h, 000h + db 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 000h, 077h, 000h, 000h, 000h, 000h + db 000h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 000h, 000h, 000h, 000h, 078h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 066h, 03ch, 018h, 03ch, 066h, 0c3h, 000h, 000h, 000h, 000h, 091h, 000h, 000h + db 000h, 000h, 000h, 06eh, 03bh, 01bh, 07eh, 0d8h, 0dch, 077h, 000h, 000h, 000h, 000h, 09bh, 000h + db 018h, 018h, 07eh, 0c3h, 0c0h, 0c0h, 0c0h, 0c3h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 09dh + db 000h, 000h, 0c3h, 066h, 03ch, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 09eh, 000h, 0fch, 066h, 066h, 07ch, 062h, 066h, 06fh, 066h, 066h, 066h, 0f3h, 000h, 000h, 000h + db 000h, 0abh, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 060h, 0ceh, 09bh, 006h, 00ch, 01fh + db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h + db 006h, 000h, 000h, 000h + ; disGetNextSymbol 0xc7c5d LB 0xc9 -> off=0x0 cb=0000000000000009 uValue=00000000000c365d '_cga_msr' +_cga_msr: ; 0xc7c5d LB 0x9 + db 02ch, 028h, 02dh, 029h, 02ah, 02eh, 01eh, 029h, 000h + ; disGetNextSymbol 0xc7c66 LB 0xc0 -> off=0x0 cb=0000000000000015 uValue=00000000000c3666 '_vbebios_copyright' +_vbebios_copyright: ; 0xc7c66 LB 0x15 + db 'VirtualBox VESA BIOS', 000h + ; disGetNextSymbol 0xc7c7b LB 0xab -> off=0x0 cb=0000000000000013 uValue=00000000000c367b '_vbebios_vendor_name' +_vbebios_vendor_name: ; 0xc7c7b LB 0x13 + db 'Oracle Corporation', 000h + ; disGetNextSymbol 0xc7c8e LB 0x98 -> off=0x0 cb=0000000000000021 uValue=00000000000c368e '_vbebios_product_name' +_vbebios_product_name: ; 0xc7c8e LB 0x21 + db 'Oracle VM VirtualBox VBE Adapter', 000h + ; disGetNextSymbol 0xc7caf LB 0x77 -> off=0x0 cb=0000000000000023 uValue=00000000000c36af '_vbebios_product_revision' +_vbebios_product_revision: ; 0xc7caf LB 0x23 + db 'Oracle VM VirtualBox Version 6.0.4', 000h + ; disGetNextSymbol 0xc7cd2 LB 0x54 -> off=0x0 cb=000000000000002b uValue=00000000000c36d2 '_vbebios_info_string' +_vbebios_info_string: ; 0xc7cd2 LB 0x2b + db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h + ; disGetNextSymbol 0xc7cfd LB 0x29 -> off=0x0 cb=0000000000000029 uValue=00000000000c36fd '_no_vbebios_info_string' +_no_vbebios_info_string: ; 0xc7cfd LB 0x29 + db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h + +section CONST progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP + +section CONST2 progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP + + ; Padding 0x2da bytes at 0xc7d26 + db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh + db 065h, 02fh, 06dh, 069h, 063h, 068h, 061h, 065h, 06ch, 02fh, 076h, 062h, 06fh, 078h, 02fh, 062h + db 072h, 061h, 06eh, 063h, 068h, 065h, 073h, 02fh, 056h, 042h, 06fh, 078h, 02dh, 036h, 02eh, 030h + db 02fh, 06fh, 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h + db 02fh, 072h, 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh + db 078h, 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 032h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h + db 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 032h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 073h diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum new file mode 100644 index 00000000..3dc27ee1 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum @@ -0,0 +1 @@ +8318d14c9c65217c0db0e24ce8f7ffac *VBoxVgaBios286.rom diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm new file mode 100644 index 00000000..3d261173 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm @@ -0,0 +1,8001 @@ +; $Id: VBoxVgaBiosAlternative386.asm $ +;; @file +; Auto Generated source file. Do not edit. +; + +; +; Source file: vgarom.asm +; +; ============================================================================================ +; +; Copyright (C) 2001,2002 the LGPL VGABios developers Team +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Lesser General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library 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 +; Lesser General Public License for more details. +; +; You should have received a copy of the GNU Lesser General Public +; License along with this library; if not, write to the Free Software +; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; +; ============================================================================================ +; +; This VGA Bios is specific to the plex86/bochs Emulated VGA card. +; You can NOT drive any physical vga card with it. +; +; ============================================================================================ +; + +; +; Source file: vberom.asm +; +; ============================================================================================ +; +; Copyright (C) 2002 Jeroen Janssen +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Lesser General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library 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 +; Lesser General Public License for more details. +; +; You should have received a copy of the GNU Lesser General Public +; License along with this library; if not, write to the Free Software +; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; +; ============================================================================================ +; +; This VBE is part of the VGA Bios specific to the plex86/bochs Emulated VGA card. +; You can NOT drive any physical vga card with it. +; +; ============================================================================================ +; +; This VBE Bios is based on information taken from : +; - VESA BIOS EXTENSION (VBE) Core Functions Standard Version 3.0 located at www.vesa.org +; +; ============================================================================================ + +; +; Source file: vgabios.c +; +; // ============================================================================================ +; +; vgabios.c +; +; // ============================================================================================ +; // +; // Copyright (C) 2001,2002 the LGPL VGABios developers Team +; // +; // This library is free software; you can redistribute it and/or +; // modify it under the terms of the GNU Lesser General Public +; // License as published by the Free Software Foundation; either +; // version 2 of the License, or (at your option) any later version. +; // +; // This library 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 +; // Lesser General Public License for more details. +; // +; // You should have received a copy of the GNU Lesser General Public +; // License along with this library; if not, write to the Free Software +; // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; // +; // ============================================================================================ +; // +; // This VGA Bios is specific to the plex86/bochs Emulated VGA card. +; // You can NOT drive any physical vga card with it. +; // +; // ============================================================================================ +; // +; // This file contains code ripped from : +; // - rombios.c of plex86 +; // +; // This VGA Bios contains fonts from : +; // - fntcol16.zip (c) by Joseph Gil avalable at : +; // ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip +; // These fonts are public domain +; // +; // This VGA Bios is based on information taken from : +; // - Kevin Lawton's vga card emulation for bochs/plex86 +; // - Ralf Brown's interrupts list available at http://www.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html +; // - Finn Thogersons' VGADOC4b available at http://home.worldonline.dk/~finth/ +; // - Michael Abrash's Graphics Programming Black Book +; // - Francois Gervais' book "programmation des cartes graphiques cga-ega-vga" edited by sybex +; // - DOSEMU 1.0.1 source code for several tables values and formulas +; // +; // Thanks for patches, comments and ideas to : +; // - techt@pikeonline.net +; // +; // ============================================================================================ + +; +; Source file: vbe.c +; +; // ============================================================================================ +; // +; // Copyright (C) 2002 Jeroen Janssen +; // +; // This library is free software; you can redistribute it and/or +; // modify it under the terms of the GNU Lesser General Public +; // License as published by the Free Software Foundation; either +; // version 2 of the License, or (at your option) any later version. +; // +; // This library 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 +; // Lesser General Public License for more details. +; // +; // You should have received a copy of the GNU Lesser General Public +; // License along with this library; if not, write to the Free Software +; // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; // +; // ============================================================================================ +; // +; // This VBE is part of the VGA Bios specific to the plex86/bochs Emulated VGA card. +; // You can NOT drive any physical vga card with it. +; // +; // ============================================================================================ +; // +; // This VBE Bios is based on information taken from : +; // - VESA BIOS EXTENSION (VBE) Core Functions Standard Version 3.0 located at www.vesa.org +; // +; // ============================================================================================ + +; +; Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice +; other than GPL or LGPL is available it will apply instead, Oracle elects to use only +; the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where +; a choice of LGPL license versions is made available with the language indicating +; that LGPLv2 or any later version may be used, or where a choice of which version +; of the LGPL is applied is otherwise unspecified. +; + + + + + +section VGAROM progbits vstart=0x0 align=1 ; size=0x90a class=CODE group=AUTO + ; disGetNextSymbol 0xc0000 LB 0x90a -> off=0x22 cb=000000000000054e uValue=00000000000c0022 'vgabios_int10_handler' + db 055h, 0aah, 040h, 0e9h, 062h, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 049h, 042h + db 04dh, 000h +vgabios_int10_handler: ; 0xc0022 LB 0x54e + pushfw ; 9c ; 0xc0022 vgarom.asm:84 + cmp ah, 00fh ; 80 fc 0f ; 0xc0023 vgarom.asm:96 + jne short 0002eh ; 75 06 ; 0xc0026 vgarom.asm:97 + call 0017ah ; e8 4f 01 ; 0xc0028 vgarom.asm:98 + jmp near 000eah ; e9 bc 00 ; 0xc002b vgarom.asm:99 + cmp ah, 01ah ; 80 fc 1a ; 0xc002e vgarom.asm:101 + jne short 00039h ; 75 06 ; 0xc0031 vgarom.asm:102 + call 0052fh ; e8 f9 04 ; 0xc0033 vgarom.asm:103 + jmp near 000eah ; e9 b1 00 ; 0xc0036 vgarom.asm:104 + cmp ah, 00bh ; 80 fc 0b ; 0xc0039 vgarom.asm:106 + jne short 00044h ; 75 06 ; 0xc003c vgarom.asm:107 + call 000ech ; e8 ab 00 ; 0xc003e vgarom.asm:108 + jmp near 000eah ; e9 a6 00 ; 0xc0041 vgarom.asm:109 + cmp ax, 01103h ; 3d 03 11 ; 0xc0044 vgarom.asm:111 + jne short 0004fh ; 75 06 ; 0xc0047 vgarom.asm:112 + call 00426h ; e8 da 03 ; 0xc0049 vgarom.asm:113 + jmp near 000eah ; e9 9b 00 ; 0xc004c vgarom.asm:114 + cmp ah, 012h ; 80 fc 12 ; 0xc004f vgarom.asm:116 + jne short 00092h ; 75 3e ; 0xc0052 vgarom.asm:117 + cmp bl, 010h ; 80 fb 10 ; 0xc0054 vgarom.asm:118 + jne short 0005fh ; 75 06 ; 0xc0057 vgarom.asm:119 + call 00433h ; e8 d7 03 ; 0xc0059 vgarom.asm:120 + jmp near 000eah ; e9 8b 00 ; 0xc005c vgarom.asm:121 + cmp bl, 030h ; 80 fb 30 ; 0xc005f vgarom.asm:123 + jne short 0006ah ; 75 06 ; 0xc0062 vgarom.asm:124 + call 00456h ; e8 ef 03 ; 0xc0064 vgarom.asm:125 + jmp near 000eah ; e9 80 00 ; 0xc0067 vgarom.asm:126 + cmp bl, 031h ; 80 fb 31 ; 0xc006a vgarom.asm:128 + jne short 00074h ; 75 05 ; 0xc006d vgarom.asm:129 + call 004a9h ; e8 37 04 ; 0xc006f vgarom.asm:130 + jmp short 000eah ; eb 76 ; 0xc0072 vgarom.asm:131 + cmp bl, 032h ; 80 fb 32 ; 0xc0074 vgarom.asm:133 + jne short 0007eh ; 75 05 ; 0xc0077 vgarom.asm:134 + call 004cbh ; e8 4f 04 ; 0xc0079 vgarom.asm:135 + jmp short 000eah ; eb 6c ; 0xc007c vgarom.asm:136 + cmp bl, 033h ; 80 fb 33 ; 0xc007e vgarom.asm:138 + jne short 00088h ; 75 05 ; 0xc0081 vgarom.asm:139 + call 004e9h ; e8 63 04 ; 0xc0083 vgarom.asm:140 + jmp short 000eah ; eb 62 ; 0xc0086 vgarom.asm:141 + cmp bl, 034h ; 80 fb 34 ; 0xc0088 vgarom.asm:143 + jne short 000dch ; 75 4f ; 0xc008b vgarom.asm:144 + call 0050dh ; e8 7d 04 ; 0xc008d vgarom.asm:145 + jmp short 000eah ; eb 58 ; 0xc0090 vgarom.asm:146 + cmp ax, 0101bh ; 3d 1b 10 ; 0xc0092 vgarom.asm:148 + je short 000dch ; 74 45 ; 0xc0095 vgarom.asm:149 + cmp ah, 010h ; 80 fc 10 ; 0xc0097 vgarom.asm:150 + jne short 000a1h ; 75 05 ; 0xc009a vgarom.asm:154 + call 001a1h ; e8 02 01 ; 0xc009c vgarom.asm:156 + jmp short 000eah ; eb 49 ; 0xc009f vgarom.asm:157 + cmp ah, 04fh ; 80 fc 4f ; 0xc00a1 vgarom.asm:160 + jne short 000dch ; 75 36 ; 0xc00a4 vgarom.asm:161 + cmp AL, strict byte 003h ; 3c 03 ; 0xc00a6 vgarom.asm:162 + jne short 000afh ; 75 05 ; 0xc00a8 vgarom.asm:163 + call 007d2h ; e8 25 07 ; 0xc00aa vgarom.asm:164 + jmp short 000eah ; eb 3b ; 0xc00ad vgarom.asm:165 + cmp AL, strict byte 005h ; 3c 05 ; 0xc00af vgarom.asm:167 + jne short 000b8h ; 75 05 ; 0xc00b1 vgarom.asm:168 + call 007f7h ; e8 41 07 ; 0xc00b3 vgarom.asm:169 + jmp short 000eah ; eb 32 ; 0xc00b6 vgarom.asm:170 + cmp AL, strict byte 007h ; 3c 07 ; 0xc00b8 vgarom.asm:172 + jne short 000c1h ; 75 05 ; 0xc00ba vgarom.asm:173 + call 00824h ; e8 65 07 ; 0xc00bc vgarom.asm:174 + jmp short 000eah ; eb 29 ; 0xc00bf vgarom.asm:175 + cmp AL, strict byte 008h ; 3c 08 ; 0xc00c1 vgarom.asm:177 + jne short 000cah ; 75 05 ; 0xc00c3 vgarom.asm:178 + call 00858h ; e8 90 07 ; 0xc00c5 vgarom.asm:179 + jmp short 000eah ; eb 20 ; 0xc00c8 vgarom.asm:180 + cmp AL, strict byte 009h ; 3c 09 ; 0xc00ca vgarom.asm:182 + jne short 000d3h ; 75 05 ; 0xc00cc vgarom.asm:183 + call 0088fh ; e8 be 07 ; 0xc00ce vgarom.asm:184 + jmp short 000eah ; eb 17 ; 0xc00d1 vgarom.asm:185 + cmp AL, strict byte 00ah ; 3c 0a ; 0xc00d3 vgarom.asm:187 + jne short 000dch ; 75 05 ; 0xc00d5 vgarom.asm:188 + call 008f3h ; e8 19 08 ; 0xc00d7 vgarom.asm:189 + jmp short 000eah ; eb 0e ; 0xc00da vgarom.asm:190 + push ES ; 06 ; 0xc00dc vgarom.asm:194 + push DS ; 1e ; 0xc00dd vgarom.asm:195 + pushaw ; 60 ; 0xc00de vgarom.asm:97 + mov bx, 0c000h ; bb 00 c0 ; 0xc00df vgarom.asm:199 + mov ds, bx ; 8e db ; 0xc00e2 vgarom.asm:200 + call 0303ah ; e8 53 2f ; 0xc00e4 vgarom.asm:201 + popaw ; 61 ; 0xc00e7 vgarom.asm:114 + pop DS ; 1f ; 0xc00e8 vgarom.asm:204 + pop ES ; 07 ; 0xc00e9 vgarom.asm:205 + popfw ; 9d ; 0xc00ea vgarom.asm:207 + iret ; cf ; 0xc00eb vgarom.asm:208 + cmp bh, 000h ; 80 ff 00 ; 0xc00ec vgarom.asm:213 + je short 000f7h ; 74 06 ; 0xc00ef vgarom.asm:214 + cmp bh, 001h ; 80 ff 01 ; 0xc00f1 vgarom.asm:215 + je short 00148h ; 74 52 ; 0xc00f4 vgarom.asm:216 + retn ; c3 ; 0xc00f6 vgarom.asm:220 + push ax ; 50 ; 0xc00f7 vgarom.asm:222 + push bx ; 53 ; 0xc00f8 vgarom.asm:223 + push cx ; 51 ; 0xc00f9 vgarom.asm:224 + push dx ; 52 ; 0xc00fa vgarom.asm:225 + push DS ; 1e ; 0xc00fb vgarom.asm:226 + mov dx, strict word 00040h ; ba 40 00 ; 0xc00fc vgarom.asm:227 + mov ds, dx ; 8e da ; 0xc00ff vgarom.asm:228 + mov dx, 003dah ; ba da 03 ; 0xc0101 vgarom.asm:229 + in AL, DX ; ec ; 0xc0104 vgarom.asm:230 + cmp byte [word 00049h], 003h ; 80 3e 49 00 03 ; 0xc0105 vgarom.asm:231 + jbe short 0013bh ; 76 2f ; 0xc010a vgarom.asm:232 + mov dx, 003c0h ; ba c0 03 ; 0xc010c vgarom.asm:233 + mov AL, strict byte 000h ; b0 00 ; 0xc010f vgarom.asm:234 + out DX, AL ; ee ; 0xc0111 vgarom.asm:235 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0112 vgarom.asm:236 + and AL, strict byte 00fh ; 24 0f ; 0xc0114 vgarom.asm:237 + test AL, strict byte 008h ; a8 08 ; 0xc0116 vgarom.asm:238 + je short 0011ch ; 74 02 ; 0xc0118 vgarom.asm:239 + add AL, strict byte 008h ; 04 08 ; 0xc011a vgarom.asm:240 + out DX, AL ; ee ; 0xc011c vgarom.asm:242 + mov CL, strict byte 001h ; b1 01 ; 0xc011d vgarom.asm:243 + and bl, 010h ; 80 e3 10 ; 0xc011f vgarom.asm:244 + mov dx, 003c0h ; ba c0 03 ; 0xc0122 vgarom.asm:246 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc0125 vgarom.asm:247 + out DX, AL ; ee ; 0xc0127 vgarom.asm:248 + mov dx, 003c1h ; ba c1 03 ; 0xc0128 vgarom.asm:249 + in AL, DX ; ec ; 0xc012b vgarom.asm:250 + and AL, strict byte 0efh ; 24 ef ; 0xc012c vgarom.asm:251 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc012e vgarom.asm:252 + mov dx, 003c0h ; ba c0 03 ; 0xc0130 vgarom.asm:253 + out DX, AL ; ee ; 0xc0133 vgarom.asm:254 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc0134 vgarom.asm:255 + cmp cl, 004h ; 80 f9 04 ; 0xc0136 vgarom.asm:256 + jne short 00122h ; 75 e7 ; 0xc0139 vgarom.asm:257 + mov AL, strict byte 020h ; b0 20 ; 0xc013b vgarom.asm:259 + out DX, AL ; ee ; 0xc013d vgarom.asm:260 + mov dx, 003dah ; ba da 03 ; 0xc013e vgarom.asm:262 + in AL, DX ; ec ; 0xc0141 vgarom.asm:263 + pop DS ; 1f ; 0xc0142 vgarom.asm:265 + pop dx ; 5a ; 0xc0143 vgarom.asm:266 + pop cx ; 59 ; 0xc0144 vgarom.asm:267 + pop bx ; 5b ; 0xc0145 vgarom.asm:268 + pop ax ; 58 ; 0xc0146 vgarom.asm:269 + retn ; c3 ; 0xc0147 vgarom.asm:270 + push ax ; 50 ; 0xc0148 vgarom.asm:272 + push bx ; 53 ; 0xc0149 vgarom.asm:273 + push cx ; 51 ; 0xc014a vgarom.asm:274 + push dx ; 52 ; 0xc014b vgarom.asm:275 + mov dx, 003dah ; ba da 03 ; 0xc014c vgarom.asm:276 + in AL, DX ; ec ; 0xc014f vgarom.asm:277 + mov CL, strict byte 001h ; b1 01 ; 0xc0150 vgarom.asm:278 + and bl, 001h ; 80 e3 01 ; 0xc0152 vgarom.asm:279 + mov dx, 003c0h ; ba c0 03 ; 0xc0155 vgarom.asm:281 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc0158 vgarom.asm:282 + out DX, AL ; ee ; 0xc015a vgarom.asm:283 + mov dx, 003c1h ; ba c1 03 ; 0xc015b vgarom.asm:284 + in AL, DX ; ec ; 0xc015e vgarom.asm:285 + and AL, strict byte 0feh ; 24 fe ; 0xc015f vgarom.asm:286 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc0161 vgarom.asm:287 + mov dx, 003c0h ; ba c0 03 ; 0xc0163 vgarom.asm:288 + out DX, AL ; ee ; 0xc0166 vgarom.asm:289 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc0167 vgarom.asm:290 + cmp cl, 004h ; 80 f9 04 ; 0xc0169 vgarom.asm:291 + jne short 00155h ; 75 e7 ; 0xc016c vgarom.asm:292 + mov AL, strict byte 020h ; b0 20 ; 0xc016e vgarom.asm:293 + out DX, AL ; ee ; 0xc0170 vgarom.asm:294 + mov dx, 003dah ; ba da 03 ; 0xc0171 vgarom.asm:296 + in AL, DX ; ec ; 0xc0174 vgarom.asm:297 + pop dx ; 5a ; 0xc0175 vgarom.asm:299 + pop cx ; 59 ; 0xc0176 vgarom.asm:300 + pop bx ; 5b ; 0xc0177 vgarom.asm:301 + pop ax ; 58 ; 0xc0178 vgarom.asm:302 + retn ; c3 ; 0xc0179 vgarom.asm:303 + push DS ; 1e ; 0xc017a vgarom.asm:308 + mov ax, strict word 00040h ; b8 40 00 ; 0xc017b vgarom.asm:309 + mov ds, ax ; 8e d8 ; 0xc017e vgarom.asm:310 + push bx ; 53 ; 0xc0180 vgarom.asm:311 + mov bx, strict word 00062h ; bb 62 00 ; 0xc0181 vgarom.asm:312 + mov al, byte [bx] ; 8a 07 ; 0xc0184 vgarom.asm:313 + pop bx ; 5b ; 0xc0186 vgarom.asm:314 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc0187 vgarom.asm:315 + push bx ; 53 ; 0xc0189 vgarom.asm:316 + mov bx, 00087h ; bb 87 00 ; 0xc018a vgarom.asm:317 + mov ah, byte [bx] ; 8a 27 ; 0xc018d vgarom.asm:318 + and ah, 080h ; 80 e4 80 ; 0xc018f vgarom.asm:319 + mov bx, strict word 00049h ; bb 49 00 ; 0xc0192 vgarom.asm:320 + mov al, byte [bx] ; 8a 07 ; 0xc0195 vgarom.asm:321 + db 00ah, 0c4h + ; or al, ah ; 0a c4 ; 0xc0197 vgarom.asm:322 + mov bx, strict word 0004ah ; bb 4a 00 ; 0xc0199 vgarom.asm:323 + mov ah, byte [bx] ; 8a 27 ; 0xc019c vgarom.asm:324 + pop bx ; 5b ; 0xc019e vgarom.asm:325 + pop DS ; 1f ; 0xc019f vgarom.asm:326 + retn ; c3 ; 0xc01a0 vgarom.asm:327 + cmp AL, strict byte 000h ; 3c 00 ; 0xc01a1 vgarom.asm:332 + jne short 001a7h ; 75 02 ; 0xc01a3 vgarom.asm:333 + jmp short 00208h ; eb 61 ; 0xc01a5 vgarom.asm:334 + cmp AL, strict byte 001h ; 3c 01 ; 0xc01a7 vgarom.asm:336 + jne short 001adh ; 75 02 ; 0xc01a9 vgarom.asm:337 + jmp short 00226h ; eb 79 ; 0xc01ab vgarom.asm:338 + cmp AL, strict byte 002h ; 3c 02 ; 0xc01ad vgarom.asm:340 + jne short 001b3h ; 75 02 ; 0xc01af vgarom.asm:341 + jmp short 0022eh ; eb 7b ; 0xc01b1 vgarom.asm:342 + cmp AL, strict byte 003h ; 3c 03 ; 0xc01b3 vgarom.asm:344 + jne short 001bah ; 75 03 ; 0xc01b5 vgarom.asm:345 + jmp near 0025fh ; e9 a5 00 ; 0xc01b7 vgarom.asm:346 + cmp AL, strict byte 007h ; 3c 07 ; 0xc01ba vgarom.asm:348 + jne short 001c1h ; 75 03 ; 0xc01bc vgarom.asm:349 + jmp near 00289h ; e9 c8 00 ; 0xc01be vgarom.asm:350 + cmp AL, strict byte 008h ; 3c 08 ; 0xc01c1 vgarom.asm:352 + jne short 001c8h ; 75 03 ; 0xc01c3 vgarom.asm:353 + jmp near 002b1h ; e9 e9 00 ; 0xc01c5 vgarom.asm:354 + cmp AL, strict byte 009h ; 3c 09 ; 0xc01c8 vgarom.asm:356 + jne short 001cfh ; 75 03 ; 0xc01ca vgarom.asm:357 + jmp near 002bfh ; e9 f0 00 ; 0xc01cc vgarom.asm:358 + cmp AL, strict byte 010h ; 3c 10 ; 0xc01cf vgarom.asm:360 + jne short 001d6h ; 75 03 ; 0xc01d1 vgarom.asm:361 + jmp near 00304h ; e9 2e 01 ; 0xc01d3 vgarom.asm:362 + cmp AL, strict byte 012h ; 3c 12 ; 0xc01d6 vgarom.asm:364 + jne short 001ddh ; 75 03 ; 0xc01d8 vgarom.asm:365 + jmp near 0031dh ; e9 40 01 ; 0xc01da vgarom.asm:366 + cmp AL, strict byte 013h ; 3c 13 ; 0xc01dd vgarom.asm:368 + jne short 001e4h ; 75 03 ; 0xc01df vgarom.asm:369 + jmp near 00345h ; e9 61 01 ; 0xc01e1 vgarom.asm:370 + cmp AL, strict byte 015h ; 3c 15 ; 0xc01e4 vgarom.asm:372 + jne short 001ebh ; 75 03 ; 0xc01e6 vgarom.asm:373 + jmp near 0038ch ; e9 a1 01 ; 0xc01e8 vgarom.asm:374 + cmp AL, strict byte 017h ; 3c 17 ; 0xc01eb vgarom.asm:376 + jne short 001f2h ; 75 03 ; 0xc01ed vgarom.asm:377 + jmp near 003a7h ; e9 b5 01 ; 0xc01ef vgarom.asm:378 + cmp AL, strict byte 018h ; 3c 18 ; 0xc01f2 vgarom.asm:380 + jne short 001f9h ; 75 03 ; 0xc01f4 vgarom.asm:381 + jmp near 003cfh ; e9 d6 01 ; 0xc01f6 vgarom.asm:382 + cmp AL, strict byte 019h ; 3c 19 ; 0xc01f9 vgarom.asm:384 + jne short 00200h ; 75 03 ; 0xc01fb vgarom.asm:385 + jmp near 003dah ; e9 da 01 ; 0xc01fd vgarom.asm:386 + cmp AL, strict byte 01ah ; 3c 1a ; 0xc0200 vgarom.asm:388 + jne short 00207h ; 75 03 ; 0xc0202 vgarom.asm:389 + jmp near 003e5h ; e9 de 01 ; 0xc0204 vgarom.asm:390 + retn ; c3 ; 0xc0207 vgarom.asm:395 + cmp bl, 014h ; 80 fb 14 ; 0xc0208 vgarom.asm:398 + jnbe short 00225h ; 77 18 ; 0xc020b vgarom.asm:399 + push ax ; 50 ; 0xc020d vgarom.asm:400 + push dx ; 52 ; 0xc020e vgarom.asm:401 + mov dx, 003dah ; ba da 03 ; 0xc020f vgarom.asm:402 + in AL, DX ; ec ; 0xc0212 vgarom.asm:403 + mov dx, 003c0h ; ba c0 03 ; 0xc0213 vgarom.asm:404 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0216 vgarom.asm:405 + out DX, AL ; ee ; 0xc0218 vgarom.asm:406 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc0219 vgarom.asm:407 + out DX, AL ; ee ; 0xc021b vgarom.asm:408 + mov AL, strict byte 020h ; b0 20 ; 0xc021c vgarom.asm:409 + out DX, AL ; ee ; 0xc021e vgarom.asm:410 + mov dx, 003dah ; ba da 03 ; 0xc021f vgarom.asm:412 + in AL, DX ; ec ; 0xc0222 vgarom.asm:413 + pop dx ; 5a ; 0xc0223 vgarom.asm:415 + pop ax ; 58 ; 0xc0224 vgarom.asm:416 + retn ; c3 ; 0xc0225 vgarom.asm:418 + push bx ; 53 ; 0xc0226 vgarom.asm:423 + mov BL, strict byte 011h ; b3 11 ; 0xc0227 vgarom.asm:424 + call 00208h ; e8 dc ff ; 0xc0229 vgarom.asm:425 + pop bx ; 5b ; 0xc022c vgarom.asm:426 + retn ; c3 ; 0xc022d vgarom.asm:427 + push ax ; 50 ; 0xc022e vgarom.asm:432 + push bx ; 53 ; 0xc022f vgarom.asm:433 + push cx ; 51 ; 0xc0230 vgarom.asm:434 + push dx ; 52 ; 0xc0231 vgarom.asm:435 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc0232 vgarom.asm:436 + mov dx, 003dah ; ba da 03 ; 0xc0234 vgarom.asm:437 + in AL, DX ; ec ; 0xc0237 vgarom.asm:438 + mov CL, strict byte 000h ; b1 00 ; 0xc0238 vgarom.asm:439 + mov dx, 003c0h ; ba c0 03 ; 0xc023a vgarom.asm:440 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc023d vgarom.asm:442 + out DX, AL ; ee ; 0xc023f vgarom.asm:443 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc0240 vgarom.asm:444 + out DX, AL ; ee ; 0xc0243 vgarom.asm:445 + inc bx ; 43 ; 0xc0244 vgarom.asm:446 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc0245 vgarom.asm:447 + cmp cl, 010h ; 80 f9 10 ; 0xc0247 vgarom.asm:448 + jne short 0023dh ; 75 f1 ; 0xc024a vgarom.asm:449 + mov AL, strict byte 011h ; b0 11 ; 0xc024c vgarom.asm:450 + out DX, AL ; ee ; 0xc024e vgarom.asm:451 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc024f vgarom.asm:452 + out DX, AL ; ee ; 0xc0252 vgarom.asm:453 + mov AL, strict byte 020h ; b0 20 ; 0xc0253 vgarom.asm:454 + out DX, AL ; ee ; 0xc0255 vgarom.asm:455 + mov dx, 003dah ; ba da 03 ; 0xc0256 vgarom.asm:457 + in AL, DX ; ec ; 0xc0259 vgarom.asm:458 + pop dx ; 5a ; 0xc025a vgarom.asm:460 + pop cx ; 59 ; 0xc025b vgarom.asm:461 + pop bx ; 5b ; 0xc025c vgarom.asm:462 + pop ax ; 58 ; 0xc025d vgarom.asm:463 + retn ; c3 ; 0xc025e vgarom.asm:464 + push ax ; 50 ; 0xc025f vgarom.asm:469 + push bx ; 53 ; 0xc0260 vgarom.asm:470 + push dx ; 52 ; 0xc0261 vgarom.asm:471 + mov dx, 003dah ; ba da 03 ; 0xc0262 vgarom.asm:472 + in AL, DX ; ec ; 0xc0265 vgarom.asm:473 + mov dx, 003c0h ; ba c0 03 ; 0xc0266 vgarom.asm:474 + mov AL, strict byte 010h ; b0 10 ; 0xc0269 vgarom.asm:475 + out DX, AL ; ee ; 0xc026b vgarom.asm:476 + mov dx, 003c1h ; ba c1 03 ; 0xc026c vgarom.asm:477 + in AL, DX ; ec ; 0xc026f vgarom.asm:478 + and AL, strict byte 0f7h ; 24 f7 ; 0xc0270 vgarom.asm:479 + and bl, 001h ; 80 e3 01 ; 0xc0272 vgarom.asm:480 + sal bl, 003h ; c0 e3 03 ; 0xc0275 vgarom.asm:482 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc0278 vgarom.asm:488 + mov dx, 003c0h ; ba c0 03 ; 0xc027a vgarom.asm:489 + out DX, AL ; ee ; 0xc027d vgarom.asm:490 + mov AL, strict byte 020h ; b0 20 ; 0xc027e vgarom.asm:491 + out DX, AL ; ee ; 0xc0280 vgarom.asm:492 + mov dx, 003dah ; ba da 03 ; 0xc0281 vgarom.asm:494 + in AL, DX ; ec ; 0xc0284 vgarom.asm:495 + pop dx ; 5a ; 0xc0285 vgarom.asm:497 + pop bx ; 5b ; 0xc0286 vgarom.asm:498 + pop ax ; 58 ; 0xc0287 vgarom.asm:499 + retn ; c3 ; 0xc0288 vgarom.asm:500 + cmp bl, 014h ; 80 fb 14 ; 0xc0289 vgarom.asm:505 + jnbe short 002b0h ; 77 22 ; 0xc028c vgarom.asm:506 + push ax ; 50 ; 0xc028e vgarom.asm:507 + push dx ; 52 ; 0xc028f vgarom.asm:508 + mov dx, 003dah ; ba da 03 ; 0xc0290 vgarom.asm:509 + in AL, DX ; ec ; 0xc0293 vgarom.asm:510 + mov dx, 003c0h ; ba c0 03 ; 0xc0294 vgarom.asm:511 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0297 vgarom.asm:512 + out DX, AL ; ee ; 0xc0299 vgarom.asm:513 + mov dx, 003c1h ; ba c1 03 ; 0xc029a vgarom.asm:514 + in AL, DX ; ec ; 0xc029d vgarom.asm:515 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc029e vgarom.asm:516 + mov dx, 003dah ; ba da 03 ; 0xc02a0 vgarom.asm:517 + in AL, DX ; ec ; 0xc02a3 vgarom.asm:518 + mov dx, 003c0h ; ba c0 03 ; 0xc02a4 vgarom.asm:519 + mov AL, strict byte 020h ; b0 20 ; 0xc02a7 vgarom.asm:520 + out DX, AL ; ee ; 0xc02a9 vgarom.asm:521 + mov dx, 003dah ; ba da 03 ; 0xc02aa vgarom.asm:523 + in AL, DX ; ec ; 0xc02ad vgarom.asm:524 + pop dx ; 5a ; 0xc02ae vgarom.asm:526 + pop ax ; 58 ; 0xc02af vgarom.asm:527 + retn ; c3 ; 0xc02b0 vgarom.asm:529 + push ax ; 50 ; 0xc02b1 vgarom.asm:534 + push bx ; 53 ; 0xc02b2 vgarom.asm:535 + mov BL, strict byte 011h ; b3 11 ; 0xc02b3 vgarom.asm:536 + call 00289h ; e8 d1 ff ; 0xc02b5 vgarom.asm:537 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc02b8 vgarom.asm:538 + pop bx ; 5b ; 0xc02ba vgarom.asm:539 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc02bb vgarom.asm:540 + pop ax ; 58 ; 0xc02bd vgarom.asm:541 + retn ; c3 ; 0xc02be vgarom.asm:542 + push ax ; 50 ; 0xc02bf vgarom.asm:547 + push bx ; 53 ; 0xc02c0 vgarom.asm:548 + push cx ; 51 ; 0xc02c1 vgarom.asm:549 + push dx ; 52 ; 0xc02c2 vgarom.asm:550 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc02c3 vgarom.asm:551 + mov CL, strict byte 000h ; b1 00 ; 0xc02c5 vgarom.asm:552 + mov dx, 003dah ; ba da 03 ; 0xc02c7 vgarom.asm:554 + in AL, DX ; ec ; 0xc02ca vgarom.asm:555 + mov dx, 003c0h ; ba c0 03 ; 0xc02cb vgarom.asm:556 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc02ce vgarom.asm:557 + out DX, AL ; ee ; 0xc02d0 vgarom.asm:558 + mov dx, 003c1h ; ba c1 03 ; 0xc02d1 vgarom.asm:559 + in AL, DX ; ec ; 0xc02d4 vgarom.asm:560 + mov byte [es:bx], al ; 26 88 07 ; 0xc02d5 vgarom.asm:561 + inc bx ; 43 ; 0xc02d8 vgarom.asm:562 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc02d9 vgarom.asm:563 + cmp cl, 010h ; 80 f9 10 ; 0xc02db vgarom.asm:564 + jne short 002c7h ; 75 e7 ; 0xc02de vgarom.asm:565 + mov dx, 003dah ; ba da 03 ; 0xc02e0 vgarom.asm:566 + in AL, DX ; ec ; 0xc02e3 vgarom.asm:567 + mov dx, 003c0h ; ba c0 03 ; 0xc02e4 vgarom.asm:568 + mov AL, strict byte 011h ; b0 11 ; 0xc02e7 vgarom.asm:569 + out DX, AL ; ee ; 0xc02e9 vgarom.asm:570 + mov dx, 003c1h ; ba c1 03 ; 0xc02ea vgarom.asm:571 + in AL, DX ; ec ; 0xc02ed vgarom.asm:572 + mov byte [es:bx], al ; 26 88 07 ; 0xc02ee vgarom.asm:573 + mov dx, 003dah ; ba da 03 ; 0xc02f1 vgarom.asm:574 + in AL, DX ; ec ; 0xc02f4 vgarom.asm:575 + mov dx, 003c0h ; ba c0 03 ; 0xc02f5 vgarom.asm:576 + mov AL, strict byte 020h ; b0 20 ; 0xc02f8 vgarom.asm:577 + out DX, AL ; ee ; 0xc02fa vgarom.asm:578 + mov dx, 003dah ; ba da 03 ; 0xc02fb vgarom.asm:580 + in AL, DX ; ec ; 0xc02fe vgarom.asm:581 + pop dx ; 5a ; 0xc02ff vgarom.asm:583 + pop cx ; 59 ; 0xc0300 vgarom.asm:584 + pop bx ; 5b ; 0xc0301 vgarom.asm:585 + pop ax ; 58 ; 0xc0302 vgarom.asm:586 + retn ; c3 ; 0xc0303 vgarom.asm:587 + push ax ; 50 ; 0xc0304 vgarom.asm:592 + push dx ; 52 ; 0xc0305 vgarom.asm:593 + mov dx, 003c8h ; ba c8 03 ; 0xc0306 vgarom.asm:594 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0309 vgarom.asm:595 + out DX, AL ; ee ; 0xc030b vgarom.asm:596 + mov dx, 003c9h ; ba c9 03 ; 0xc030c vgarom.asm:597 + pop ax ; 58 ; 0xc030f vgarom.asm:598 + push ax ; 50 ; 0xc0310 vgarom.asm:599 + db 08ah, 0c4h + ; mov al, ah ; 8a c4 ; 0xc0311 vgarom.asm:600 + out DX, AL ; ee ; 0xc0313 vgarom.asm:601 + db 08ah, 0c5h + ; mov al, ch ; 8a c5 ; 0xc0314 vgarom.asm:602 + out DX, AL ; ee ; 0xc0316 vgarom.asm:603 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc0317 vgarom.asm:604 + out DX, AL ; ee ; 0xc0319 vgarom.asm:605 + pop dx ; 5a ; 0xc031a vgarom.asm:606 + pop ax ; 58 ; 0xc031b vgarom.asm:607 + retn ; c3 ; 0xc031c vgarom.asm:608 + push ax ; 50 ; 0xc031d vgarom.asm:613 + push bx ; 53 ; 0xc031e vgarom.asm:614 + push cx ; 51 ; 0xc031f vgarom.asm:615 + push dx ; 52 ; 0xc0320 vgarom.asm:616 + mov dx, 003c8h ; ba c8 03 ; 0xc0321 vgarom.asm:617 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0324 vgarom.asm:618 + out DX, AL ; ee ; 0xc0326 vgarom.asm:619 + pop dx ; 5a ; 0xc0327 vgarom.asm:620 + push dx ; 52 ; 0xc0328 vgarom.asm:621 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc0329 vgarom.asm:622 + mov dx, 003c9h ; ba c9 03 ; 0xc032b vgarom.asm:623 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc032e vgarom.asm:625 + out DX, AL ; ee ; 0xc0331 vgarom.asm:626 + inc bx ; 43 ; 0xc0332 vgarom.asm:627 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc0333 vgarom.asm:628 + out DX, AL ; ee ; 0xc0336 vgarom.asm:629 + inc bx ; 43 ; 0xc0337 vgarom.asm:630 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc0338 vgarom.asm:631 + out DX, AL ; ee ; 0xc033b vgarom.asm:632 + inc bx ; 43 ; 0xc033c vgarom.asm:633 + dec cx ; 49 ; 0xc033d vgarom.asm:634 + jne short 0032eh ; 75 ee ; 0xc033e vgarom.asm:635 + pop dx ; 5a ; 0xc0340 vgarom.asm:636 + pop cx ; 59 ; 0xc0341 vgarom.asm:637 + pop bx ; 5b ; 0xc0342 vgarom.asm:638 + pop ax ; 58 ; 0xc0343 vgarom.asm:639 + retn ; c3 ; 0xc0344 vgarom.asm:640 + push ax ; 50 ; 0xc0345 vgarom.asm:645 + push bx ; 53 ; 0xc0346 vgarom.asm:646 + push dx ; 52 ; 0xc0347 vgarom.asm:647 + mov dx, 003dah ; ba da 03 ; 0xc0348 vgarom.asm:648 + in AL, DX ; ec ; 0xc034b vgarom.asm:649 + mov dx, 003c0h ; ba c0 03 ; 0xc034c vgarom.asm:650 + mov AL, strict byte 010h ; b0 10 ; 0xc034f vgarom.asm:651 + out DX, AL ; ee ; 0xc0351 vgarom.asm:652 + mov dx, 003c1h ; ba c1 03 ; 0xc0352 vgarom.asm:653 + in AL, DX ; ec ; 0xc0355 vgarom.asm:654 + and bl, 001h ; 80 e3 01 ; 0xc0356 vgarom.asm:655 + jne short 00368h ; 75 0d ; 0xc0359 vgarom.asm:656 + and AL, strict byte 07fh ; 24 7f ; 0xc035b vgarom.asm:657 + sal bh, 007h ; c0 e7 07 ; 0xc035d vgarom.asm:659 + db 00ah, 0c7h + ; or al, bh ; 0a c7 ; 0xc0360 vgarom.asm:669 + mov dx, 003c0h ; ba c0 03 ; 0xc0362 vgarom.asm:670 + out DX, AL ; ee ; 0xc0365 vgarom.asm:671 + jmp short 00381h ; eb 19 ; 0xc0366 vgarom.asm:672 + push ax ; 50 ; 0xc0368 vgarom.asm:674 + mov dx, 003dah ; ba da 03 ; 0xc0369 vgarom.asm:675 + in AL, DX ; ec ; 0xc036c vgarom.asm:676 + mov dx, 003c0h ; ba c0 03 ; 0xc036d vgarom.asm:677 + mov AL, strict byte 014h ; b0 14 ; 0xc0370 vgarom.asm:678 + out DX, AL ; ee ; 0xc0372 vgarom.asm:679 + pop ax ; 58 ; 0xc0373 vgarom.asm:680 + and AL, strict byte 080h ; 24 80 ; 0xc0374 vgarom.asm:681 + jne short 0037bh ; 75 03 ; 0xc0376 vgarom.asm:682 + sal bh, 002h ; c0 e7 02 ; 0xc0378 vgarom.asm:684 + and bh, 00fh ; 80 e7 0f ; 0xc037b vgarom.asm:690 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc037e vgarom.asm:691 + out DX, AL ; ee ; 0xc0380 vgarom.asm:692 + mov AL, strict byte 020h ; b0 20 ; 0xc0381 vgarom.asm:694 + out DX, AL ; ee ; 0xc0383 vgarom.asm:695 + mov dx, 003dah ; ba da 03 ; 0xc0384 vgarom.asm:697 + in AL, DX ; ec ; 0xc0387 vgarom.asm:698 + pop dx ; 5a ; 0xc0388 vgarom.asm:700 + pop bx ; 5b ; 0xc0389 vgarom.asm:701 + pop ax ; 58 ; 0xc038a vgarom.asm:702 + retn ; c3 ; 0xc038b vgarom.asm:703 + push ax ; 50 ; 0xc038c vgarom.asm:708 + push dx ; 52 ; 0xc038d vgarom.asm:709 + mov dx, 003c7h ; ba c7 03 ; 0xc038e vgarom.asm:710 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0391 vgarom.asm:711 + out DX, AL ; ee ; 0xc0393 vgarom.asm:712 + pop ax ; 58 ; 0xc0394 vgarom.asm:713 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc0395 vgarom.asm:714 + mov dx, 003c9h ; ba c9 03 ; 0xc0397 vgarom.asm:715 + in AL, DX ; ec ; 0xc039a vgarom.asm:716 + xchg al, ah ; 86 e0 ; 0xc039b vgarom.asm:717 + push ax ; 50 ; 0xc039d vgarom.asm:718 + in AL, DX ; ec ; 0xc039e vgarom.asm:719 + db 08ah, 0e8h + ; mov ch, al ; 8a e8 ; 0xc039f vgarom.asm:720 + in AL, DX ; ec ; 0xc03a1 vgarom.asm:721 + db 08ah, 0c8h + ; mov cl, al ; 8a c8 ; 0xc03a2 vgarom.asm:722 + pop dx ; 5a ; 0xc03a4 vgarom.asm:723 + pop ax ; 58 ; 0xc03a5 vgarom.asm:724 + retn ; c3 ; 0xc03a6 vgarom.asm:725 + push ax ; 50 ; 0xc03a7 vgarom.asm:730 + push bx ; 53 ; 0xc03a8 vgarom.asm:731 + push cx ; 51 ; 0xc03a9 vgarom.asm:732 + push dx ; 52 ; 0xc03aa vgarom.asm:733 + mov dx, 003c7h ; ba c7 03 ; 0xc03ab vgarom.asm:734 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc03ae vgarom.asm:735 + out DX, AL ; ee ; 0xc03b0 vgarom.asm:736 + pop dx ; 5a ; 0xc03b1 vgarom.asm:737 + push dx ; 52 ; 0xc03b2 vgarom.asm:738 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc03b3 vgarom.asm:739 + mov dx, 003c9h ; ba c9 03 ; 0xc03b5 vgarom.asm:740 + in AL, DX ; ec ; 0xc03b8 vgarom.asm:742 + mov byte [es:bx], al ; 26 88 07 ; 0xc03b9 vgarom.asm:743 + inc bx ; 43 ; 0xc03bc vgarom.asm:744 + in AL, DX ; ec ; 0xc03bd vgarom.asm:745 + mov byte [es:bx], al ; 26 88 07 ; 0xc03be vgarom.asm:746 + inc bx ; 43 ; 0xc03c1 vgarom.asm:747 + in AL, DX ; ec ; 0xc03c2 vgarom.asm:748 + mov byte [es:bx], al ; 26 88 07 ; 0xc03c3 vgarom.asm:749 + inc bx ; 43 ; 0xc03c6 vgarom.asm:750 + dec cx ; 49 ; 0xc03c7 vgarom.asm:751 + jne short 003b8h ; 75 ee ; 0xc03c8 vgarom.asm:752 + pop dx ; 5a ; 0xc03ca vgarom.asm:753 + pop cx ; 59 ; 0xc03cb vgarom.asm:754 + pop bx ; 5b ; 0xc03cc vgarom.asm:755 + pop ax ; 58 ; 0xc03cd vgarom.asm:756 + retn ; c3 ; 0xc03ce vgarom.asm:757 + push ax ; 50 ; 0xc03cf vgarom.asm:762 + push dx ; 52 ; 0xc03d0 vgarom.asm:763 + mov dx, 003c6h ; ba c6 03 ; 0xc03d1 vgarom.asm:764 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc03d4 vgarom.asm:765 + out DX, AL ; ee ; 0xc03d6 vgarom.asm:766 + pop dx ; 5a ; 0xc03d7 vgarom.asm:767 + pop ax ; 58 ; 0xc03d8 vgarom.asm:768 + retn ; c3 ; 0xc03d9 vgarom.asm:769 + push ax ; 50 ; 0xc03da vgarom.asm:774 + push dx ; 52 ; 0xc03db vgarom.asm:775 + mov dx, 003c6h ; ba c6 03 ; 0xc03dc vgarom.asm:776 + in AL, DX ; ec ; 0xc03df vgarom.asm:777 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc03e0 vgarom.asm:778 + pop dx ; 5a ; 0xc03e2 vgarom.asm:779 + pop ax ; 58 ; 0xc03e3 vgarom.asm:780 + retn ; c3 ; 0xc03e4 vgarom.asm:781 + push ax ; 50 ; 0xc03e5 vgarom.asm:786 + push dx ; 52 ; 0xc03e6 vgarom.asm:787 + mov dx, 003dah ; ba da 03 ; 0xc03e7 vgarom.asm:788 + in AL, DX ; ec ; 0xc03ea vgarom.asm:789 + mov dx, 003c0h ; ba c0 03 ; 0xc03eb vgarom.asm:790 + mov AL, strict byte 010h ; b0 10 ; 0xc03ee vgarom.asm:791 + out DX, AL ; ee ; 0xc03f0 vgarom.asm:792 + mov dx, 003c1h ; ba c1 03 ; 0xc03f1 vgarom.asm:793 + in AL, DX ; ec ; 0xc03f4 vgarom.asm:794 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc03f5 vgarom.asm:795 + shr bl, 007h ; c0 eb 07 ; 0xc03f7 vgarom.asm:797 + mov dx, 003dah ; ba da 03 ; 0xc03fa vgarom.asm:807 + in AL, DX ; ec ; 0xc03fd vgarom.asm:808 + mov dx, 003c0h ; ba c0 03 ; 0xc03fe vgarom.asm:809 + mov AL, strict byte 014h ; b0 14 ; 0xc0401 vgarom.asm:810 + out DX, AL ; ee ; 0xc0403 vgarom.asm:811 + mov dx, 003c1h ; ba c1 03 ; 0xc0404 vgarom.asm:812 + in AL, DX ; ec ; 0xc0407 vgarom.asm:813 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc0408 vgarom.asm:814 + and bh, 00fh ; 80 e7 0f ; 0xc040a vgarom.asm:815 + test bl, 001h ; f6 c3 01 ; 0xc040d vgarom.asm:816 + jne short 00415h ; 75 03 ; 0xc0410 vgarom.asm:817 + shr bh, 002h ; c0 ef 02 ; 0xc0412 vgarom.asm:819 + mov dx, 003dah ; ba da 03 ; 0xc0415 vgarom.asm:825 + in AL, DX ; ec ; 0xc0418 vgarom.asm:826 + mov dx, 003c0h ; ba c0 03 ; 0xc0419 vgarom.asm:827 + mov AL, strict byte 020h ; b0 20 ; 0xc041c vgarom.asm:828 + out DX, AL ; ee ; 0xc041e vgarom.asm:829 + mov dx, 003dah ; ba da 03 ; 0xc041f vgarom.asm:831 + in AL, DX ; ec ; 0xc0422 vgarom.asm:832 + pop dx ; 5a ; 0xc0423 vgarom.asm:834 + pop ax ; 58 ; 0xc0424 vgarom.asm:835 + retn ; c3 ; 0xc0425 vgarom.asm:836 + push ax ; 50 ; 0xc0426 vgarom.asm:841 + push dx ; 52 ; 0xc0427 vgarom.asm:842 + mov dx, 003c4h ; ba c4 03 ; 0xc0428 vgarom.asm:843 + db 08ah, 0e3h + ; mov ah, bl ; 8a e3 ; 0xc042b vgarom.asm:844 + mov AL, strict byte 003h ; b0 03 ; 0xc042d vgarom.asm:845 + out DX, ax ; ef ; 0xc042f vgarom.asm:846 + pop dx ; 5a ; 0xc0430 vgarom.asm:847 + pop ax ; 58 ; 0xc0431 vgarom.asm:848 + retn ; c3 ; 0xc0432 vgarom.asm:849 + push DS ; 1e ; 0xc0433 vgarom.asm:854 + push ax ; 50 ; 0xc0434 vgarom.asm:855 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0435 vgarom.asm:856 + mov ds, ax ; 8e d8 ; 0xc0438 vgarom.asm:857 + db 032h, 0edh + ; xor ch, ch ; 32 ed ; 0xc043a vgarom.asm:858 + mov bx, 00088h ; bb 88 00 ; 0xc043c vgarom.asm:859 + mov cl, byte [bx] ; 8a 0f ; 0xc043f vgarom.asm:860 + and cl, 00fh ; 80 e1 0f ; 0xc0441 vgarom.asm:861 + mov bx, strict word 00063h ; bb 63 00 ; 0xc0444 vgarom.asm:862 + mov ax, word [bx] ; 8b 07 ; 0xc0447 vgarom.asm:863 + mov bx, strict word 00003h ; bb 03 00 ; 0xc0449 vgarom.asm:864 + cmp ax, 003b4h ; 3d b4 03 ; 0xc044c vgarom.asm:865 + jne short 00453h ; 75 02 ; 0xc044f vgarom.asm:866 + mov BH, strict byte 001h ; b7 01 ; 0xc0451 vgarom.asm:867 + pop ax ; 58 ; 0xc0453 vgarom.asm:869 + pop DS ; 1f ; 0xc0454 vgarom.asm:870 + retn ; c3 ; 0xc0455 vgarom.asm:871 + push DS ; 1e ; 0xc0456 vgarom.asm:879 + push bx ; 53 ; 0xc0457 vgarom.asm:880 + push dx ; 52 ; 0xc0458 vgarom.asm:881 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc0459 vgarom.asm:882 + mov ax, strict word 00040h ; b8 40 00 ; 0xc045b vgarom.asm:883 + mov ds, ax ; 8e d8 ; 0xc045e vgarom.asm:884 + mov bx, 00089h ; bb 89 00 ; 0xc0460 vgarom.asm:885 + mov al, byte [bx] ; 8a 07 ; 0xc0463 vgarom.asm:886 + mov bx, 00088h ; bb 88 00 ; 0xc0465 vgarom.asm:887 + mov ah, byte [bx] ; 8a 27 ; 0xc0468 vgarom.asm:888 + cmp dl, 001h ; 80 fa 01 ; 0xc046a vgarom.asm:889 + je short 00484h ; 74 15 ; 0xc046d vgarom.asm:890 + jc short 0048eh ; 72 1d ; 0xc046f vgarom.asm:891 + cmp dl, 002h ; 80 fa 02 ; 0xc0471 vgarom.asm:892 + je short 00478h ; 74 02 ; 0xc0474 vgarom.asm:893 + jmp short 004a2h ; eb 2a ; 0xc0476 vgarom.asm:903 + and AL, strict byte 07fh ; 24 7f ; 0xc0478 vgarom.asm:909 + or AL, strict byte 010h ; 0c 10 ; 0xc047a vgarom.asm:910 + and ah, 0f0h ; 80 e4 f0 ; 0xc047c vgarom.asm:911 + or ah, 009h ; 80 cc 09 ; 0xc047f vgarom.asm:912 + jne short 00498h ; 75 14 ; 0xc0482 vgarom.asm:913 + and AL, strict byte 06fh ; 24 6f ; 0xc0484 vgarom.asm:919 + and ah, 0f0h ; 80 e4 f0 ; 0xc0486 vgarom.asm:920 + or ah, 009h ; 80 cc 09 ; 0xc0489 vgarom.asm:921 + jne short 00498h ; 75 0a ; 0xc048c vgarom.asm:922 + and AL, strict byte 0efh ; 24 ef ; 0xc048e vgarom.asm:928 + or AL, strict byte 080h ; 0c 80 ; 0xc0490 vgarom.asm:929 + and ah, 0f0h ; 80 e4 f0 ; 0xc0492 vgarom.asm:930 + or ah, 008h ; 80 cc 08 ; 0xc0495 vgarom.asm:931 + mov bx, 00089h ; bb 89 00 ; 0xc0498 vgarom.asm:933 + mov byte [bx], al ; 88 07 ; 0xc049b vgarom.asm:934 + mov bx, 00088h ; bb 88 00 ; 0xc049d vgarom.asm:935 + mov byte [bx], ah ; 88 27 ; 0xc04a0 vgarom.asm:936 + mov ax, 01212h ; b8 12 12 ; 0xc04a2 vgarom.asm:938 + pop dx ; 5a ; 0xc04a5 vgarom.asm:939 + pop bx ; 5b ; 0xc04a6 vgarom.asm:940 + pop DS ; 1f ; 0xc04a7 vgarom.asm:941 + retn ; c3 ; 0xc04a8 vgarom.asm:942 + push DS ; 1e ; 0xc04a9 vgarom.asm:951 + push bx ; 53 ; 0xc04aa vgarom.asm:952 + push dx ; 52 ; 0xc04ab vgarom.asm:953 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc04ac vgarom.asm:954 + and dl, 001h ; 80 e2 01 ; 0xc04ae vgarom.asm:955 + sal dl, 003h ; c0 e2 03 ; 0xc04b1 vgarom.asm:957 + mov ax, strict word 00040h ; b8 40 00 ; 0xc04b4 vgarom.asm:963 + mov ds, ax ; 8e d8 ; 0xc04b7 vgarom.asm:964 + mov bx, 00089h ; bb 89 00 ; 0xc04b9 vgarom.asm:965 + mov al, byte [bx] ; 8a 07 ; 0xc04bc vgarom.asm:966 + and AL, strict byte 0f7h ; 24 f7 ; 0xc04be vgarom.asm:967 + db 00ah, 0c2h + ; or al, dl ; 0a c2 ; 0xc04c0 vgarom.asm:968 + mov byte [bx], al ; 88 07 ; 0xc04c2 vgarom.asm:969 + mov ax, 01212h ; b8 12 12 ; 0xc04c4 vgarom.asm:970 + pop dx ; 5a ; 0xc04c7 vgarom.asm:971 + pop bx ; 5b ; 0xc04c8 vgarom.asm:972 + pop DS ; 1f ; 0xc04c9 vgarom.asm:973 + retn ; c3 ; 0xc04ca vgarom.asm:974 + push bx ; 53 ; 0xc04cb vgarom.asm:978 + push dx ; 52 ; 0xc04cc vgarom.asm:979 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc04cd vgarom.asm:980 + and bl, 001h ; 80 e3 01 ; 0xc04cf vgarom.asm:981 + xor bl, 001h ; 80 f3 01 ; 0xc04d2 vgarom.asm:982 + sal bl, 1 ; d0 e3 ; 0xc04d5 vgarom.asm:983 + mov dx, 003cch ; ba cc 03 ; 0xc04d7 vgarom.asm:984 + in AL, DX ; ec ; 0xc04da vgarom.asm:985 + and AL, strict byte 0fdh ; 24 fd ; 0xc04db vgarom.asm:986 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc04dd vgarom.asm:987 + mov dx, 003c2h ; ba c2 03 ; 0xc04df vgarom.asm:988 + out DX, AL ; ee ; 0xc04e2 vgarom.asm:989 + mov ax, 01212h ; b8 12 12 ; 0xc04e3 vgarom.asm:990 + pop dx ; 5a ; 0xc04e6 vgarom.asm:991 + pop bx ; 5b ; 0xc04e7 vgarom.asm:992 + retn ; c3 ; 0xc04e8 vgarom.asm:993 + push DS ; 1e ; 0xc04e9 vgarom.asm:997 + push bx ; 53 ; 0xc04ea vgarom.asm:998 + push dx ; 52 ; 0xc04eb vgarom.asm:999 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc04ec vgarom.asm:1000 + and dl, 001h ; 80 e2 01 ; 0xc04ee vgarom.asm:1001 + xor dl, 001h ; 80 f2 01 ; 0xc04f1 vgarom.asm:1002 + sal dl, 1 ; d0 e2 ; 0xc04f4 vgarom.asm:1003 + mov ax, strict word 00040h ; b8 40 00 ; 0xc04f6 vgarom.asm:1004 + mov ds, ax ; 8e d8 ; 0xc04f9 vgarom.asm:1005 + mov bx, 00089h ; bb 89 00 ; 0xc04fb vgarom.asm:1006 + mov al, byte [bx] ; 8a 07 ; 0xc04fe vgarom.asm:1007 + and AL, strict byte 0fdh ; 24 fd ; 0xc0500 vgarom.asm:1008 + db 00ah, 0c2h + ; or al, dl ; 0a c2 ; 0xc0502 vgarom.asm:1009 + mov byte [bx], al ; 88 07 ; 0xc0504 vgarom.asm:1010 + mov ax, 01212h ; b8 12 12 ; 0xc0506 vgarom.asm:1011 + pop dx ; 5a ; 0xc0509 vgarom.asm:1012 + pop bx ; 5b ; 0xc050a vgarom.asm:1013 + pop DS ; 1f ; 0xc050b vgarom.asm:1014 + retn ; c3 ; 0xc050c vgarom.asm:1015 + push DS ; 1e ; 0xc050d vgarom.asm:1019 + push bx ; 53 ; 0xc050e vgarom.asm:1020 + push dx ; 52 ; 0xc050f vgarom.asm:1021 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc0510 vgarom.asm:1022 + and dl, 001h ; 80 e2 01 ; 0xc0512 vgarom.asm:1023 + xor dl, 001h ; 80 f2 01 ; 0xc0515 vgarom.asm:1024 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0518 vgarom.asm:1025 + mov ds, ax ; 8e d8 ; 0xc051b vgarom.asm:1026 + mov bx, 00089h ; bb 89 00 ; 0xc051d vgarom.asm:1027 + mov al, byte [bx] ; 8a 07 ; 0xc0520 vgarom.asm:1028 + and AL, strict byte 0feh ; 24 fe ; 0xc0522 vgarom.asm:1029 + db 00ah, 0c2h + ; or al, dl ; 0a c2 ; 0xc0524 vgarom.asm:1030 + mov byte [bx], al ; 88 07 ; 0xc0526 vgarom.asm:1031 + mov ax, 01212h ; b8 12 12 ; 0xc0528 vgarom.asm:1032 + pop dx ; 5a ; 0xc052b vgarom.asm:1033 + pop bx ; 5b ; 0xc052c vgarom.asm:1034 + pop DS ; 1f ; 0xc052d vgarom.asm:1035 + retn ; c3 ; 0xc052e vgarom.asm:1036 + cmp AL, strict byte 000h ; 3c 00 ; 0xc052f vgarom.asm:1041 + je short 00538h ; 74 05 ; 0xc0531 vgarom.asm:1042 + cmp AL, strict byte 001h ; 3c 01 ; 0xc0533 vgarom.asm:1043 + je short 0054dh ; 74 16 ; 0xc0535 vgarom.asm:1044 + retn ; c3 ; 0xc0537 vgarom.asm:1048 + push DS ; 1e ; 0xc0538 vgarom.asm:1050 + push ax ; 50 ; 0xc0539 vgarom.asm:1051 + mov ax, strict word 00040h ; b8 40 00 ; 0xc053a vgarom.asm:1052 + mov ds, ax ; 8e d8 ; 0xc053d vgarom.asm:1053 + mov bx, 0008ah ; bb 8a 00 ; 0xc053f vgarom.asm:1054 + mov al, byte [bx] ; 8a 07 ; 0xc0542 vgarom.asm:1055 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc0544 vgarom.asm:1056 + db 032h, 0ffh + ; xor bh, bh ; 32 ff ; 0xc0546 vgarom.asm:1057 + pop ax ; 58 ; 0xc0548 vgarom.asm:1058 + db 08ah, 0c4h + ; mov al, ah ; 8a c4 ; 0xc0549 vgarom.asm:1059 + pop DS ; 1f ; 0xc054b vgarom.asm:1060 + retn ; c3 ; 0xc054c vgarom.asm:1061 + push DS ; 1e ; 0xc054d vgarom.asm:1063 + push ax ; 50 ; 0xc054e vgarom.asm:1064 + push bx ; 53 ; 0xc054f vgarom.asm:1065 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0550 vgarom.asm:1066 + mov ds, ax ; 8e d8 ; 0xc0553 vgarom.asm:1067 + db 08bh, 0c3h + ; mov ax, bx ; 8b c3 ; 0xc0555 vgarom.asm:1068 + mov bx, 0008ah ; bb 8a 00 ; 0xc0557 vgarom.asm:1069 + mov byte [bx], al ; 88 07 ; 0xc055a vgarom.asm:1070 + pop bx ; 5b ; 0xc055c vgarom.asm:1080 + pop ax ; 58 ; 0xc055d vgarom.asm:1081 + db 08ah, 0c4h + ; mov al, ah ; 8a c4 ; 0xc055e vgarom.asm:1082 + pop DS ; 1f ; 0xc0560 vgarom.asm:1083 + retn ; c3 ; 0xc0561 vgarom.asm:1084 + times 0xe db 0 + ; disGetNextSymbol 0xc0570 LB 0x39a -> off=0x0 cb=0000000000000007 uValue=00000000000c0570 'do_out_dx_ax' +do_out_dx_ax: ; 0xc0570 LB 0x7 + xchg ah, al ; 86 c4 ; 0xc0570 vberom.asm:69 + out DX, AL ; ee ; 0xc0572 vberom.asm:70 + xchg ah, al ; 86 c4 ; 0xc0573 vberom.asm:71 + out DX, AL ; ee ; 0xc0575 vberom.asm:72 + retn ; c3 ; 0xc0576 vberom.asm:73 + ; disGetNextSymbol 0xc0577 LB 0x393 -> off=0x0 cb=0000000000000040 uValue=00000000000c0577 'do_in_ax_dx' +do_in_ax_dx: ; 0xc0577 LB 0x40 + in AL, DX ; ec ; 0xc0577 vberom.asm:76 + xchg ah, al ; 86 c4 ; 0xc0578 vberom.asm:77 + in AL, DX ; ec ; 0xc057a vberom.asm:78 + retn ; c3 ; 0xc057b vberom.asm:79 + push ax ; 50 ; 0xc057c vberom.asm:90 + push dx ; 52 ; 0xc057d vberom.asm:91 + mov dx, 003dah ; ba da 03 ; 0xc057e vberom.asm:92 + in AL, DX ; ec ; 0xc0581 vberom.asm:94 + test AL, strict byte 008h ; a8 08 ; 0xc0582 vberom.asm:95 + je short 00581h ; 74 fb ; 0xc0584 vberom.asm:96 + pop dx ; 5a ; 0xc0586 vberom.asm:97 + pop ax ; 58 ; 0xc0587 vberom.asm:98 + retn ; c3 ; 0xc0588 vberom.asm:99 + push ax ; 50 ; 0xc0589 vberom.asm:102 + push dx ; 52 ; 0xc058a vberom.asm:103 + mov dx, 003dah ; ba da 03 ; 0xc058b vberom.asm:104 + in AL, DX ; ec ; 0xc058e vberom.asm:106 + test AL, strict byte 008h ; a8 08 ; 0xc058f vberom.asm:107 + jne short 0058eh ; 75 fb ; 0xc0591 vberom.asm:108 + pop dx ; 5a ; 0xc0593 vberom.asm:109 + pop ax ; 58 ; 0xc0594 vberom.asm:110 + retn ; c3 ; 0xc0595 vberom.asm:111 + push dx ; 52 ; 0xc0596 vberom.asm:116 + mov dx, 001ceh ; ba ce 01 ; 0xc0597 vberom.asm:117 + mov ax, strict word 00003h ; b8 03 00 ; 0xc059a vberom.asm:118 + call 00570h ; e8 d0 ff ; 0xc059d vberom.asm:119 + mov dx, 001cfh ; ba cf 01 ; 0xc05a0 vberom.asm:120 + call 00577h ; e8 d1 ff ; 0xc05a3 vberom.asm:121 + cmp AL, strict byte 004h ; 3c 04 ; 0xc05a6 vberom.asm:122 + jbe short 005b5h ; 76 0b ; 0xc05a8 vberom.asm:123 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc05aa vberom.asm:124 + shr ah, 003h ; c0 ec 03 ; 0xc05ac vberom.asm:126 + test AL, strict byte 007h ; a8 07 ; 0xc05af vberom.asm:132 + je short 005b5h ; 74 02 ; 0xc05b1 vberom.asm:133 + db 0feh, 0c4h + ; inc ah ; fe c4 ; 0xc05b3 vberom.asm:134 + pop dx ; 5a ; 0xc05b5 vberom.asm:136 + retn ; c3 ; 0xc05b6 vberom.asm:137 + ; disGetNextSymbol 0xc05b7 LB 0x353 -> off=0x0 cb=0000000000000026 uValue=00000000000c05b7 '_dispi_get_max_bpp' +_dispi_get_max_bpp: ; 0xc05b7 LB 0x26 + push dx ; 52 ; 0xc05b7 vberom.asm:142 + push bx ; 53 ; 0xc05b8 vberom.asm:143 + call 005f1h ; e8 35 00 ; 0xc05b9 vberom.asm:144 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc05bc vberom.asm:145 + or ax, strict byte 00002h ; 83 c8 02 ; 0xc05be vberom.asm:146 + call 005ddh ; e8 19 00 ; 0xc05c1 vberom.asm:147 + mov dx, 001ceh ; ba ce 01 ; 0xc05c4 vberom.asm:148 + mov ax, strict word 00003h ; b8 03 00 ; 0xc05c7 vberom.asm:149 + call 00570h ; e8 a3 ff ; 0xc05ca vberom.asm:150 + mov dx, 001cfh ; ba cf 01 ; 0xc05cd vberom.asm:151 + call 00577h ; e8 a4 ff ; 0xc05d0 vberom.asm:152 + push ax ; 50 ; 0xc05d3 vberom.asm:153 + db 08bh, 0c3h + ; mov ax, bx ; 8b c3 ; 0xc05d4 vberom.asm:154 + call 005ddh ; e8 04 00 ; 0xc05d6 vberom.asm:155 + pop ax ; 58 ; 0xc05d9 vberom.asm:156 + pop bx ; 5b ; 0xc05da vberom.asm:157 + pop dx ; 5a ; 0xc05db vberom.asm:158 + retn ; c3 ; 0xc05dc vberom.asm:159 + ; disGetNextSymbol 0xc05dd LB 0x32d -> off=0x0 cb=0000000000000026 uValue=00000000000c05dd 'dispi_set_enable_' +dispi_set_enable_: ; 0xc05dd LB 0x26 + push dx ; 52 ; 0xc05dd vberom.asm:162 + push ax ; 50 ; 0xc05de vberom.asm:163 + mov dx, 001ceh ; ba ce 01 ; 0xc05df vberom.asm:164 + mov ax, strict word 00004h ; b8 04 00 ; 0xc05e2 vberom.asm:165 + call 00570h ; e8 88 ff ; 0xc05e5 vberom.asm:166 + pop ax ; 58 ; 0xc05e8 vberom.asm:167 + mov dx, 001cfh ; ba cf 01 ; 0xc05e9 vberom.asm:168 + call 00570h ; e8 81 ff ; 0xc05ec vberom.asm:169 + pop dx ; 5a ; 0xc05ef vberom.asm:170 + retn ; c3 ; 0xc05f0 vberom.asm:171 + push dx ; 52 ; 0xc05f1 vberom.asm:174 + mov dx, 001ceh ; ba ce 01 ; 0xc05f2 vberom.asm:175 + mov ax, strict word 00004h ; b8 04 00 ; 0xc05f5 vberom.asm:176 + call 00570h ; e8 75 ff ; 0xc05f8 vberom.asm:177 + mov dx, 001cfh ; ba cf 01 ; 0xc05fb vberom.asm:178 + call 00577h ; e8 76 ff ; 0xc05fe vberom.asm:179 + pop dx ; 5a ; 0xc0601 vberom.asm:180 + retn ; c3 ; 0xc0602 vberom.asm:181 + ; disGetNextSymbol 0xc0603 LB 0x307 -> off=0x0 cb=0000000000000026 uValue=00000000000c0603 'dispi_set_bank_' +dispi_set_bank_: ; 0xc0603 LB 0x26 + push dx ; 52 ; 0xc0603 vberom.asm:184 + push ax ; 50 ; 0xc0604 vberom.asm:185 + mov dx, 001ceh ; ba ce 01 ; 0xc0605 vberom.asm:186 + mov ax, strict word 00005h ; b8 05 00 ; 0xc0608 vberom.asm:187 + call 00570h ; e8 62 ff ; 0xc060b vberom.asm:188 + pop ax ; 58 ; 0xc060e vberom.asm:189 + mov dx, 001cfh ; ba cf 01 ; 0xc060f vberom.asm:190 + call 00570h ; e8 5b ff ; 0xc0612 vberom.asm:191 + pop dx ; 5a ; 0xc0615 vberom.asm:192 + retn ; c3 ; 0xc0616 vberom.asm:193 + push dx ; 52 ; 0xc0617 vberom.asm:196 + mov dx, 001ceh ; ba ce 01 ; 0xc0618 vberom.asm:197 + mov ax, strict word 00005h ; b8 05 00 ; 0xc061b vberom.asm:198 + call 00570h ; e8 4f ff ; 0xc061e vberom.asm:199 + mov dx, 001cfh ; ba cf 01 ; 0xc0621 vberom.asm:200 + call 00577h ; e8 50 ff ; 0xc0624 vberom.asm:201 + pop dx ; 5a ; 0xc0627 vberom.asm:202 + retn ; c3 ; 0xc0628 vberom.asm:203 + ; disGetNextSymbol 0xc0629 LB 0x2e1 -> off=0x0 cb=00000000000000a9 uValue=00000000000c0629 '_dispi_set_bank_farcall' +_dispi_set_bank_farcall: ; 0xc0629 LB 0xa9 + cmp bx, 00100h ; 81 fb 00 01 ; 0xc0629 vberom.asm:206 + je short 00653h ; 74 24 ; 0xc062d vberom.asm:207 + db 00bh, 0dbh + ; or bx, bx ; 0b db ; 0xc062f vberom.asm:208 + jne short 00665h ; 75 32 ; 0xc0631 vberom.asm:209 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc0633 vberom.asm:210 + push dx ; 52 ; 0xc0635 vberom.asm:211 + push ax ; 50 ; 0xc0636 vberom.asm:212 + mov ax, strict word 00005h ; b8 05 00 ; 0xc0637 vberom.asm:213 + mov dx, 001ceh ; ba ce 01 ; 0xc063a vberom.asm:214 + call 00570h ; e8 30 ff ; 0xc063d vberom.asm:215 + pop ax ; 58 ; 0xc0640 vberom.asm:216 + mov dx, 001cfh ; ba cf 01 ; 0xc0641 vberom.asm:217 + call 00570h ; e8 29 ff ; 0xc0644 vberom.asm:218 + call 00577h ; e8 2d ff ; 0xc0647 vberom.asm:219 + pop dx ; 5a ; 0xc064a vberom.asm:220 + db 03bh, 0d0h + ; cmp dx, ax ; 3b d0 ; 0xc064b vberom.asm:221 + jne short 00665h ; 75 16 ; 0xc064d vberom.asm:222 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc064f vberom.asm:223 + retf ; cb ; 0xc0652 vberom.asm:224 + mov ax, strict word 00005h ; b8 05 00 ; 0xc0653 vberom.asm:226 + mov dx, 001ceh ; ba ce 01 ; 0xc0656 vberom.asm:227 + call 00570h ; e8 14 ff ; 0xc0659 vberom.asm:228 + mov dx, 001cfh ; ba cf 01 ; 0xc065c vberom.asm:229 + call 00577h ; e8 15 ff ; 0xc065f vberom.asm:230 + db 08bh, 0d0h + ; mov dx, ax ; 8b d0 ; 0xc0662 vberom.asm:231 + retf ; cb ; 0xc0664 vberom.asm:232 + mov ax, 0014fh ; b8 4f 01 ; 0xc0665 vberom.asm:234 + retf ; cb ; 0xc0668 vberom.asm:235 + push dx ; 52 ; 0xc0669 vberom.asm:238 + push ax ; 50 ; 0xc066a vberom.asm:239 + mov dx, 001ceh ; ba ce 01 ; 0xc066b vberom.asm:240 + mov ax, strict word 00008h ; b8 08 00 ; 0xc066e vberom.asm:241 + call 00570h ; e8 fc fe ; 0xc0671 vberom.asm:242 + pop ax ; 58 ; 0xc0674 vberom.asm:243 + mov dx, 001cfh ; ba cf 01 ; 0xc0675 vberom.asm:244 + call 00570h ; e8 f5 fe ; 0xc0678 vberom.asm:245 + pop dx ; 5a ; 0xc067b vberom.asm:246 + retn ; c3 ; 0xc067c vberom.asm:247 + push dx ; 52 ; 0xc067d vberom.asm:250 + mov dx, 001ceh ; ba ce 01 ; 0xc067e vberom.asm:251 + mov ax, strict word 00008h ; b8 08 00 ; 0xc0681 vberom.asm:252 + call 00570h ; e8 e9 fe ; 0xc0684 vberom.asm:253 + mov dx, 001cfh ; ba cf 01 ; 0xc0687 vberom.asm:254 + call 00577h ; e8 ea fe ; 0xc068a vberom.asm:255 + pop dx ; 5a ; 0xc068d vberom.asm:256 + retn ; c3 ; 0xc068e vberom.asm:257 + push dx ; 52 ; 0xc068f vberom.asm:260 + push ax ; 50 ; 0xc0690 vberom.asm:261 + mov dx, 001ceh ; ba ce 01 ; 0xc0691 vberom.asm:262 + mov ax, strict word 00009h ; b8 09 00 ; 0xc0694 vberom.asm:263 + call 00570h ; e8 d6 fe ; 0xc0697 vberom.asm:264 + pop ax ; 58 ; 0xc069a vberom.asm:265 + mov dx, 001cfh ; ba cf 01 ; 0xc069b vberom.asm:266 + call 00570h ; e8 cf fe ; 0xc069e vberom.asm:267 + pop dx ; 5a ; 0xc06a1 vberom.asm:268 + retn ; c3 ; 0xc06a2 vberom.asm:269 + push dx ; 52 ; 0xc06a3 vberom.asm:272 + mov dx, 001ceh ; ba ce 01 ; 0xc06a4 vberom.asm:273 + mov ax, strict word 00009h ; b8 09 00 ; 0xc06a7 vberom.asm:274 + call 00570h ; e8 c3 fe ; 0xc06aa vberom.asm:275 + mov dx, 001cfh ; ba cf 01 ; 0xc06ad vberom.asm:276 + call 00577h ; e8 c4 fe ; 0xc06b0 vberom.asm:277 + pop dx ; 5a ; 0xc06b3 vberom.asm:278 + retn ; c3 ; 0xc06b4 vberom.asm:279 + push ax ; 50 ; 0xc06b5 vberom.asm:282 + push bx ; 53 ; 0xc06b6 vberom.asm:283 + push dx ; 52 ; 0xc06b7 vberom.asm:284 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc06b8 vberom.asm:285 + call 00596h ; e8 d9 fe ; 0xc06ba vberom.asm:286 + cmp AL, strict byte 004h ; 3c 04 ; 0xc06bd vberom.asm:287 + jnbe short 006c3h ; 77 02 ; 0xc06bf vberom.asm:288 + shr bx, 1 ; d1 eb ; 0xc06c1 vberom.asm:289 + shr bx, 003h ; c1 eb 03 ; 0xc06c3 vberom.asm:292 + mov dx, 003d4h ; ba d4 03 ; 0xc06c6 vberom.asm:298 + db 08ah, 0e3h + ; mov ah, bl ; 8a e3 ; 0xc06c9 vberom.asm:299 + mov AL, strict byte 013h ; b0 13 ; 0xc06cb vberom.asm:300 + out DX, ax ; ef ; 0xc06cd vberom.asm:301 + pop dx ; 5a ; 0xc06ce vberom.asm:302 + pop bx ; 5b ; 0xc06cf vberom.asm:303 + pop ax ; 58 ; 0xc06d0 vberom.asm:304 + retn ; c3 ; 0xc06d1 vberom.asm:305 + ; disGetNextSymbol 0xc06d2 LB 0x238 -> off=0x0 cb=00000000000000ed uValue=00000000000c06d2 '_vga_compat_setup' +_vga_compat_setup: ; 0xc06d2 LB 0xed + push ax ; 50 ; 0xc06d2 vberom.asm:308 + push dx ; 52 ; 0xc06d3 vberom.asm:309 + mov dx, 001ceh ; ba ce 01 ; 0xc06d4 vberom.asm:312 + mov ax, strict word 00001h ; b8 01 00 ; 0xc06d7 vberom.asm:313 + call 00570h ; e8 93 fe ; 0xc06da vberom.asm:314 + mov dx, 001cfh ; ba cf 01 ; 0xc06dd vberom.asm:315 + call 00577h ; e8 94 fe ; 0xc06e0 vberom.asm:316 + push ax ; 50 ; 0xc06e3 vberom.asm:317 + mov dx, 003d4h ; ba d4 03 ; 0xc06e4 vberom.asm:318 + mov ax, strict word 00011h ; b8 11 00 ; 0xc06e7 vberom.asm:319 + out DX, ax ; ef ; 0xc06ea vberom.asm:320 + pop ax ; 58 ; 0xc06eb vberom.asm:321 + push ax ; 50 ; 0xc06ec vberom.asm:322 + shr ax, 003h ; c1 e8 03 ; 0xc06ed vberom.asm:324 + dec ax ; 48 ; 0xc06f0 vberom.asm:330 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc06f1 vberom.asm:331 + mov AL, strict byte 001h ; b0 01 ; 0xc06f3 vberom.asm:332 + out DX, ax ; ef ; 0xc06f5 vberom.asm:333 + pop ax ; 58 ; 0xc06f6 vberom.asm:334 + call 006b5h ; e8 bb ff ; 0xc06f7 vberom.asm:335 + mov dx, 001ceh ; ba ce 01 ; 0xc06fa vberom.asm:338 + mov ax, strict word 00002h ; b8 02 00 ; 0xc06fd vberom.asm:339 + call 00570h ; e8 6d fe ; 0xc0700 vberom.asm:340 + mov dx, 001cfh ; ba cf 01 ; 0xc0703 vberom.asm:341 + call 00577h ; e8 6e fe ; 0xc0706 vberom.asm:342 + dec ax ; 48 ; 0xc0709 vberom.asm:343 + push ax ; 50 ; 0xc070a vberom.asm:344 + mov dx, 003d4h ; ba d4 03 ; 0xc070b vberom.asm:345 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc070e vberom.asm:346 + mov AL, strict byte 012h ; b0 12 ; 0xc0710 vberom.asm:347 + out DX, ax ; ef ; 0xc0712 vberom.asm:348 + pop ax ; 58 ; 0xc0713 vberom.asm:349 + mov AL, strict byte 007h ; b0 07 ; 0xc0714 vberom.asm:350 + out DX, AL ; ee ; 0xc0716 vberom.asm:351 + inc dx ; 42 ; 0xc0717 vberom.asm:352 + in AL, DX ; ec ; 0xc0718 vberom.asm:353 + and AL, strict byte 0bdh ; 24 bd ; 0xc0719 vberom.asm:354 + test ah, 001h ; f6 c4 01 ; 0xc071b vberom.asm:355 + je short 00722h ; 74 02 ; 0xc071e vberom.asm:356 + or AL, strict byte 002h ; 0c 02 ; 0xc0720 vberom.asm:357 + test ah, 002h ; f6 c4 02 ; 0xc0722 vberom.asm:359 + je short 00729h ; 74 02 ; 0xc0725 vberom.asm:360 + or AL, strict byte 040h ; 0c 40 ; 0xc0727 vberom.asm:361 + out DX, AL ; ee ; 0xc0729 vberom.asm:363 + mov dx, 003d4h ; ba d4 03 ; 0xc072a vberom.asm:366 + mov ax, strict word 00009h ; b8 09 00 ; 0xc072d vberom.asm:367 + out DX, AL ; ee ; 0xc0730 vberom.asm:368 + mov dx, 003d5h ; ba d5 03 ; 0xc0731 vberom.asm:369 + in AL, DX ; ec ; 0xc0734 vberom.asm:370 + and AL, strict byte 060h ; 24 60 ; 0xc0735 vberom.asm:371 + out DX, AL ; ee ; 0xc0737 vberom.asm:372 + mov dx, 003d4h ; ba d4 03 ; 0xc0738 vberom.asm:373 + mov AL, strict byte 017h ; b0 17 ; 0xc073b vberom.asm:374 + out DX, AL ; ee ; 0xc073d vberom.asm:375 + mov dx, 003d5h ; ba d5 03 ; 0xc073e vberom.asm:376 + in AL, DX ; ec ; 0xc0741 vberom.asm:377 + or AL, strict byte 003h ; 0c 03 ; 0xc0742 vberom.asm:378 + out DX, AL ; ee ; 0xc0744 vberom.asm:379 + mov dx, 003dah ; ba da 03 ; 0xc0745 vberom.asm:380 + in AL, DX ; ec ; 0xc0748 vberom.asm:381 + mov dx, 003c0h ; ba c0 03 ; 0xc0749 vberom.asm:382 + mov AL, strict byte 010h ; b0 10 ; 0xc074c vberom.asm:383 + out DX, AL ; ee ; 0xc074e vberom.asm:384 + mov dx, 003c1h ; ba c1 03 ; 0xc074f vberom.asm:385 + in AL, DX ; ec ; 0xc0752 vberom.asm:386 + or AL, strict byte 001h ; 0c 01 ; 0xc0753 vberom.asm:387 + mov dx, 003c0h ; ba c0 03 ; 0xc0755 vberom.asm:388 + out DX, AL ; ee ; 0xc0758 vberom.asm:389 + mov AL, strict byte 020h ; b0 20 ; 0xc0759 vberom.asm:390 + out DX, AL ; ee ; 0xc075b vberom.asm:391 + mov dx, 003ceh ; ba ce 03 ; 0xc075c vberom.asm:392 + mov ax, 00506h ; b8 06 05 ; 0xc075f vberom.asm:393 + out DX, ax ; ef ; 0xc0762 vberom.asm:394 + mov dx, 003c4h ; ba c4 03 ; 0xc0763 vberom.asm:395 + mov ax, 00f02h ; b8 02 0f ; 0xc0766 vberom.asm:396 + out DX, ax ; ef ; 0xc0769 vberom.asm:397 + mov dx, 001ceh ; ba ce 01 ; 0xc076a vberom.asm:400 + mov ax, strict word 00003h ; b8 03 00 ; 0xc076d vberom.asm:401 + call 00570h ; e8 fd fd ; 0xc0770 vberom.asm:402 + mov dx, 001cfh ; ba cf 01 ; 0xc0773 vberom.asm:403 + call 00577h ; e8 fe fd ; 0xc0776 vberom.asm:404 + cmp AL, strict byte 008h ; 3c 08 ; 0xc0779 vberom.asm:405 + jc short 007bdh ; 72 40 ; 0xc077b vberom.asm:406 + mov dx, 003d4h ; ba d4 03 ; 0xc077d vberom.asm:407 + mov AL, strict byte 014h ; b0 14 ; 0xc0780 vberom.asm:408 + out DX, AL ; ee ; 0xc0782 vberom.asm:409 + mov dx, 003d5h ; ba d5 03 ; 0xc0783 vberom.asm:410 + in AL, DX ; ec ; 0xc0786 vberom.asm:411 + or AL, strict byte 040h ; 0c 40 ; 0xc0787 vberom.asm:412 + out DX, AL ; ee ; 0xc0789 vberom.asm:413 + mov dx, 003dah ; ba da 03 ; 0xc078a vberom.asm:414 + in AL, DX ; ec ; 0xc078d vberom.asm:415 + mov dx, 003c0h ; ba c0 03 ; 0xc078e vberom.asm:416 + mov AL, strict byte 010h ; b0 10 ; 0xc0791 vberom.asm:417 + out DX, AL ; ee ; 0xc0793 vberom.asm:418 + mov dx, 003c1h ; ba c1 03 ; 0xc0794 vberom.asm:419 + in AL, DX ; ec ; 0xc0797 vberom.asm:420 + or AL, strict byte 040h ; 0c 40 ; 0xc0798 vberom.asm:421 + mov dx, 003c0h ; ba c0 03 ; 0xc079a vberom.asm:422 + out DX, AL ; ee ; 0xc079d vberom.asm:423 + mov AL, strict byte 020h ; b0 20 ; 0xc079e vberom.asm:424 + out DX, AL ; ee ; 0xc07a0 vberom.asm:425 + mov dx, 003c4h ; ba c4 03 ; 0xc07a1 vberom.asm:426 + mov AL, strict byte 004h ; b0 04 ; 0xc07a4 vberom.asm:427 + out DX, AL ; ee ; 0xc07a6 vberom.asm:428 + mov dx, 003c5h ; ba c5 03 ; 0xc07a7 vberom.asm:429 + in AL, DX ; ec ; 0xc07aa vberom.asm:430 + or AL, strict byte 008h ; 0c 08 ; 0xc07ab vberom.asm:431 + out DX, AL ; ee ; 0xc07ad vberom.asm:432 + mov dx, 003ceh ; ba ce 03 ; 0xc07ae vberom.asm:433 + mov AL, strict byte 005h ; b0 05 ; 0xc07b1 vberom.asm:434 + out DX, AL ; ee ; 0xc07b3 vberom.asm:435 + mov dx, 003cfh ; ba cf 03 ; 0xc07b4 vberom.asm:436 + in AL, DX ; ec ; 0xc07b7 vberom.asm:437 + and AL, strict byte 09fh ; 24 9f ; 0xc07b8 vberom.asm:438 + or AL, strict byte 040h ; 0c 40 ; 0xc07ba vberom.asm:439 + out DX, AL ; ee ; 0xc07bc vberom.asm:440 + pop dx ; 5a ; 0xc07bd vberom.asm:443 + pop ax ; 58 ; 0xc07be vberom.asm:444 + ; disGetNextSymbol 0xc07bf LB 0x14b -> off=0x0 cb=0000000000000013 uValue=00000000000c07bf '_vbe_has_vbe_display' +_vbe_has_vbe_display: ; 0xc07bf LB 0x13 + push DS ; 1e ; 0xc07bf vberom.asm:450 + push bx ; 53 ; 0xc07c0 vberom.asm:451 + mov ax, strict word 00040h ; b8 40 00 ; 0xc07c1 vberom.asm:452 + mov ds, ax ; 8e d8 ; 0xc07c4 vberom.asm:453 + mov bx, 000b9h ; bb b9 00 ; 0xc07c6 vberom.asm:454 + mov al, byte [bx] ; 8a 07 ; 0xc07c9 vberom.asm:455 + and AL, strict byte 001h ; 24 01 ; 0xc07cb vberom.asm:456 + db 032h, 0e4h + ; xor ah, ah ; 32 e4 ; 0xc07cd vberom.asm:457 + pop bx ; 5b ; 0xc07cf vberom.asm:458 + pop DS ; 1f ; 0xc07d0 vberom.asm:459 + retn ; c3 ; 0xc07d1 vberom.asm:460 + ; disGetNextSymbol 0xc07d2 LB 0x138 -> off=0x0 cb=0000000000000025 uValue=00000000000c07d2 'vbe_biosfn_return_current_mode' +vbe_biosfn_return_current_mode: ; 0xc07d2 LB 0x25 + push DS ; 1e ; 0xc07d2 vberom.asm:473 + mov ax, strict word 00040h ; b8 40 00 ; 0xc07d3 vberom.asm:474 + mov ds, ax ; 8e d8 ; 0xc07d6 vberom.asm:475 + call 005f1h ; e8 16 fe ; 0xc07d8 vberom.asm:476 + and ax, strict byte 00001h ; 83 e0 01 ; 0xc07db vberom.asm:477 + je short 007e9h ; 74 09 ; 0xc07de vberom.asm:478 + mov bx, 000bah ; bb ba 00 ; 0xc07e0 vberom.asm:479 + mov ax, word [bx] ; 8b 07 ; 0xc07e3 vberom.asm:480 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc07e5 vberom.asm:481 + jne short 007f2h ; 75 09 ; 0xc07e7 vberom.asm:482 + mov bx, strict word 00049h ; bb 49 00 ; 0xc07e9 vberom.asm:484 + mov al, byte [bx] ; 8a 07 ; 0xc07ec vberom.asm:485 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc07ee vberom.asm:486 + db 032h, 0ffh + ; xor bh, bh ; 32 ff ; 0xc07f0 vberom.asm:487 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc07f2 vberom.asm:489 + pop DS ; 1f ; 0xc07f5 vberom.asm:490 + retn ; c3 ; 0xc07f6 vberom.asm:491 + ; disGetNextSymbol 0xc07f7 LB 0x113 -> off=0x0 cb=000000000000002d uValue=00000000000c07f7 'vbe_biosfn_display_window_control' +vbe_biosfn_display_window_control: ; 0xc07f7 LB 0x2d + cmp bl, 000h ; 80 fb 00 ; 0xc07f7 vberom.asm:515 + jne short 00820h ; 75 24 ; 0xc07fa vberom.asm:516 + cmp bh, 001h ; 80 ff 01 ; 0xc07fc vberom.asm:517 + je short 00817h ; 74 16 ; 0xc07ff vberom.asm:518 + jc short 00807h ; 72 04 ; 0xc0801 vberom.asm:519 + mov ax, 00100h ; b8 00 01 ; 0xc0803 vberom.asm:520 + retn ; c3 ; 0xc0806 vberom.asm:521 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc0807 vberom.asm:523 + call 00603h ; e8 f7 fd ; 0xc0809 vberom.asm:524 + call 00617h ; e8 08 fe ; 0xc080c vberom.asm:525 + db 03bh, 0c2h + ; cmp ax, dx ; 3b c2 ; 0xc080f vberom.asm:526 + jne short 00820h ; 75 0d ; 0xc0811 vberom.asm:527 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0813 vberom.asm:528 + retn ; c3 ; 0xc0816 vberom.asm:529 + call 00617h ; e8 fd fd ; 0xc0817 vberom.asm:531 + db 08bh, 0d0h + ; mov dx, ax ; 8b d0 ; 0xc081a vberom.asm:532 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc081c vberom.asm:533 + retn ; c3 ; 0xc081f vberom.asm:534 + mov ax, 0014fh ; b8 4f 01 ; 0xc0820 vberom.asm:536 + retn ; c3 ; 0xc0823 vberom.asm:537 + ; disGetNextSymbol 0xc0824 LB 0xe6 -> off=0x0 cb=0000000000000034 uValue=00000000000c0824 'vbe_biosfn_set_get_display_start' +vbe_biosfn_set_get_display_start: ; 0xc0824 LB 0x34 + cmp bl, 080h ; 80 fb 80 ; 0xc0824 vberom.asm:577 + je short 00834h ; 74 0b ; 0xc0827 vberom.asm:578 + cmp bl, 001h ; 80 fb 01 ; 0xc0829 vberom.asm:579 + je short 00848h ; 74 1a ; 0xc082c vberom.asm:580 + jc short 0083ah ; 72 0a ; 0xc082e vberom.asm:581 + mov ax, 00100h ; b8 00 01 ; 0xc0830 vberom.asm:582 + retn ; c3 ; 0xc0833 vberom.asm:583 + call 00589h ; e8 52 fd ; 0xc0834 vberom.asm:585 + call 0057ch ; e8 42 fd ; 0xc0837 vberom.asm:586 + db 08bh, 0c1h + ; mov ax, cx ; 8b c1 ; 0xc083a vberom.asm:588 + call 00669h ; e8 2a fe ; 0xc083c vberom.asm:589 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc083f vberom.asm:590 + call 0068fh ; e8 4b fe ; 0xc0841 vberom.asm:591 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0844 vberom.asm:592 + retn ; c3 ; 0xc0847 vberom.asm:593 + call 0067dh ; e8 32 fe ; 0xc0848 vberom.asm:595 + db 08bh, 0c8h + ; mov cx, ax ; 8b c8 ; 0xc084b vberom.asm:596 + call 006a3h ; e8 53 fe ; 0xc084d vberom.asm:597 + db 08bh, 0d0h + ; mov dx, ax ; 8b d0 ; 0xc0850 vberom.asm:598 + db 032h, 0ffh + ; xor bh, bh ; 32 ff ; 0xc0852 vberom.asm:599 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0854 vberom.asm:600 + retn ; c3 ; 0xc0857 vberom.asm:601 + ; disGetNextSymbol 0xc0858 LB 0xb2 -> off=0x0 cb=0000000000000037 uValue=00000000000c0858 'vbe_biosfn_set_get_dac_palette_format' +vbe_biosfn_set_get_dac_palette_format: ; 0xc0858 LB 0x37 + cmp bl, 001h ; 80 fb 01 ; 0xc0858 vberom.asm:616 + je short 0087bh ; 74 1e ; 0xc085b vberom.asm:617 + jc short 00863h ; 72 04 ; 0xc085d vberom.asm:618 + mov ax, 00100h ; b8 00 01 ; 0xc085f vberom.asm:619 + retn ; c3 ; 0xc0862 vberom.asm:620 + call 005f1h ; e8 8b fd ; 0xc0863 vberom.asm:622 + cmp bh, 006h ; 80 ff 06 ; 0xc0866 vberom.asm:623 + je short 00875h ; 74 0a ; 0xc0869 vberom.asm:624 + cmp bh, 008h ; 80 ff 08 ; 0xc086b vberom.asm:625 + jne short 0088bh ; 75 1b ; 0xc086e vberom.asm:626 + or ax, strict byte 00020h ; 83 c8 20 ; 0xc0870 vberom.asm:627 + jne short 00878h ; 75 03 ; 0xc0873 vberom.asm:628 + and ax, strict byte 0ffdfh ; 83 e0 df ; 0xc0875 vberom.asm:630 + call 005ddh ; e8 62 fd ; 0xc0878 vberom.asm:632 + mov BH, strict byte 006h ; b7 06 ; 0xc087b vberom.asm:634 + call 005f1h ; e8 71 fd ; 0xc087d vberom.asm:635 + and ax, strict byte 00020h ; 83 e0 20 ; 0xc0880 vberom.asm:636 + je short 00887h ; 74 02 ; 0xc0883 vberom.asm:637 + mov BH, strict byte 008h ; b7 08 ; 0xc0885 vberom.asm:638 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0887 vberom.asm:640 + retn ; c3 ; 0xc088a vberom.asm:641 + mov ax, 0014fh ; b8 4f 01 ; 0xc088b vberom.asm:643 + retn ; c3 ; 0xc088e vberom.asm:644 + ; disGetNextSymbol 0xc088f LB 0x7b -> off=0x0 cb=0000000000000064 uValue=00000000000c088f 'vbe_biosfn_set_get_palette_data' +vbe_biosfn_set_get_palette_data: ; 0xc088f LB 0x64 + test bl, bl ; 84 db ; 0xc088f vberom.asm:683 + je short 008a2h ; 74 0f ; 0xc0891 vberom.asm:684 + cmp bl, 001h ; 80 fb 01 ; 0xc0893 vberom.asm:685 + je short 008cah ; 74 32 ; 0xc0896 vberom.asm:686 + cmp bl, 003h ; 80 fb 03 ; 0xc0898 vberom.asm:687 + jbe short 008efh ; 76 52 ; 0xc089b vberom.asm:688 + cmp bl, 080h ; 80 fb 80 ; 0xc089d vberom.asm:689 + jne short 008ebh ; 75 49 ; 0xc08a0 vberom.asm:690 + pushad ; 66 60 ; 0xc08a2 vberom.asm:131 + push DS ; 1e ; 0xc08a4 vberom.asm:696 + push ES ; 06 ; 0xc08a5 vberom.asm:697 + pop DS ; 1f ; 0xc08a6 vberom.asm:698 + db 08ah, 0c2h + ; mov al, dl ; 8a c2 ; 0xc08a7 vberom.asm:699 + mov dx, 003c8h ; ba c8 03 ; 0xc08a9 vberom.asm:700 + out DX, AL ; ee ; 0xc08ac vberom.asm:701 + inc dx ; 42 ; 0xc08ad vberom.asm:702 + db 08bh, 0f7h + ; mov si, di ; 8b f7 ; 0xc08ae vberom.asm:703 + lodsd ; 66 ad ; 0xc08b0 vberom.asm:706 + ror eax, 010h ; 66 c1 c8 10 ; 0xc08b2 vberom.asm:707 + out DX, AL ; ee ; 0xc08b6 vberom.asm:708 + rol eax, 008h ; 66 c1 c0 08 ; 0xc08b7 vberom.asm:709 + out DX, AL ; ee ; 0xc08bb vberom.asm:710 + rol eax, 008h ; 66 c1 c0 08 ; 0xc08bc vberom.asm:711 + out DX, AL ; ee ; 0xc08c0 vberom.asm:712 + loop 008b0h ; e2 ed ; 0xc08c1 vberom.asm:723 + pop DS ; 1f ; 0xc08c3 vberom.asm:724 + popad ; 66 61 ; 0xc08c4 vberom.asm:150 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc08c6 vberom.asm:727 + retn ; c3 ; 0xc08c9 vberom.asm:728 + pushad ; 66 60 ; 0xc08ca vberom.asm:131 + db 08ah, 0c2h + ; mov al, dl ; 8a c2 ; 0xc08cc vberom.asm:732 + mov dx, 003c7h ; ba c7 03 ; 0xc08ce vberom.asm:733 + out DX, AL ; ee ; 0xc08d1 vberom.asm:734 + add dl, 002h ; 80 c2 02 ; 0xc08d2 vberom.asm:735 + db 066h, 033h, 0c0h + ; xor eax, eax ; 66 33 c0 ; 0xc08d5 vberom.asm:738 + in AL, DX ; ec ; 0xc08d8 vberom.asm:739 + sal eax, 008h ; 66 c1 e0 08 ; 0xc08d9 vberom.asm:740 + in AL, DX ; ec ; 0xc08dd vberom.asm:741 + sal eax, 008h ; 66 c1 e0 08 ; 0xc08de vberom.asm:742 + in AL, DX ; ec ; 0xc08e2 vberom.asm:743 + stosd ; 66 ab ; 0xc08e3 vberom.asm:744 + loop 008d5h ; e2 ee ; 0xc08e5 vberom.asm:757 + popad ; 66 61 ; 0xc08e7 vberom.asm:150 + jmp short 008c6h ; eb db ; 0xc08e9 vberom.asm:759 + mov ax, 0014fh ; b8 4f 01 ; 0xc08eb vberom.asm:762 + retn ; c3 ; 0xc08ee vberom.asm:763 + mov ax, 0024fh ; b8 4f 02 ; 0xc08ef vberom.asm:765 + retn ; c3 ; 0xc08f2 vberom.asm:766 + ; disGetNextSymbol 0xc08f3 LB 0x17 -> off=0x0 cb=0000000000000017 uValue=00000000000c08f3 'vbe_biosfn_return_protected_mode_interface' +vbe_biosfn_return_protected_mode_interface: ; 0xc08f3 LB 0x17 + test bl, bl ; 84 db ; 0xc08f3 vberom.asm:780 + jne short 00906h ; 75 0f ; 0xc08f5 vberom.asm:781 + mov di, 0c000h ; bf 00 c0 ; 0xc08f7 vberom.asm:782 + mov es, di ; 8e c7 ; 0xc08fa vberom.asm:783 + mov di, 04400h ; bf 00 44 ; 0xc08fc vberom.asm:784 + mov cx, 00115h ; b9 15 01 ; 0xc08ff vberom.asm:785 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0902 vberom.asm:786 + retn ; c3 ; 0xc0905 vberom.asm:787 + mov ax, 0014fh ; b8 4f 01 ; 0xc0906 vberom.asm:789 + retn ; c3 ; 0xc0909 vberom.asm:790 + + ; Padding 0xf6 bytes at 0xc090a + times 246 db 0 + +section _TEXT progbits vstart=0xa00 align=1 ; size=0x31f8 class=CODE group=AUTO + ; disGetNextSymbol 0xc0a00 LB 0x31f8 -> off=0x0 cb=000000000000001a uValue=00000000000c0a00 'set_int_vector' +set_int_vector: ; 0xc0a00 LB 0x1a + push bx ; 53 ; 0xc0a00 vgabios.c:85 + push bp ; 55 ; 0xc0a01 + mov bp, sp ; 89 e5 ; 0xc0a02 + movzx bx, al ; 0f b6 d8 ; 0xc0a04 vgabios.c:89 + sal bx, 002h ; c1 e3 02 ; 0xc0a07 + xor ax, ax ; 31 c0 ; 0xc0a0a + mov es, ax ; 8e c0 ; 0xc0a0c + mov word [es:bx], dx ; 26 89 17 ; 0xc0a0e + mov word [es:bx+002h], 0c000h ; 26 c7 47 02 00 c0 ; 0xc0a11 + pop bp ; 5d ; 0xc0a17 vgabios.c:90 + pop bx ; 5b ; 0xc0a18 + retn ; c3 ; 0xc0a19 + ; disGetNextSymbol 0xc0a1a LB 0x31de -> off=0x0 cb=000000000000001c uValue=00000000000c0a1a 'init_vga_card' +init_vga_card: ; 0xc0a1a LB 0x1c + push bp ; 55 ; 0xc0a1a vgabios.c:141 + mov bp, sp ; 89 e5 ; 0xc0a1b + push dx ; 52 ; 0xc0a1d + mov AL, strict byte 0c3h ; b0 c3 ; 0xc0a1e vgabios.c:144 + mov dx, 003c2h ; ba c2 03 ; 0xc0a20 + out DX, AL ; ee ; 0xc0a23 + mov AL, strict byte 004h ; b0 04 ; 0xc0a24 vgabios.c:147 + mov dx, 003c4h ; ba c4 03 ; 0xc0a26 + out DX, AL ; ee ; 0xc0a29 + mov AL, strict byte 002h ; b0 02 ; 0xc0a2a vgabios.c:148 + mov dx, 003c5h ; ba c5 03 ; 0xc0a2c + out DX, AL ; ee ; 0xc0a2f + lea sp, [bp-002h] ; 8d 66 fe ; 0xc0a30 vgabios.c:153 + pop dx ; 5a ; 0xc0a33 + pop bp ; 5d ; 0xc0a34 + retn ; c3 ; 0xc0a35 + ; disGetNextSymbol 0xc0a36 LB 0x31c2 -> off=0x0 cb=0000000000000032 uValue=00000000000c0a36 'init_bios_area' +init_bios_area: ; 0xc0a36 LB 0x32 + push bx ; 53 ; 0xc0a36 vgabios.c:162 + push bp ; 55 ; 0xc0a37 + mov bp, sp ; 89 e5 ; 0xc0a38 + xor bx, bx ; 31 db ; 0xc0a3a vgabios.c:166 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0a3c + mov es, ax ; 8e c0 ; 0xc0a3f + mov al, byte [es:bx+010h] ; 26 8a 47 10 ; 0xc0a41 vgabios.c:169 + and AL, strict byte 0cfh ; 24 cf ; 0xc0a45 + or AL, strict byte 020h ; 0c 20 ; 0xc0a47 + mov byte [es:bx+010h], al ; 26 88 47 10 ; 0xc0a49 + mov byte [es:bx+00085h], 010h ; 26 c6 87 85 00 10 ; 0xc0a4d vgabios.c:173 + mov word [es:bx+00087h], 0f960h ; 26 c7 87 87 00 60 f9 ; 0xc0a53 vgabios.c:175 + mov byte [es:bx+00089h], 051h ; 26 c6 87 89 00 51 ; 0xc0a5a vgabios.c:179 + mov byte [es:bx+065h], 009h ; 26 c6 47 65 09 ; 0xc0a60 vgabios.c:181 + pop bp ; 5d ; 0xc0a65 vgabios.c:182 + pop bx ; 5b ; 0xc0a66 + retn ; c3 ; 0xc0a67 + ; disGetNextSymbol 0xc0a68 LB 0x3190 -> off=0x0 cb=0000000000000020 uValue=00000000000c0a68 'vgabios_init_func' +vgabios_init_func: ; 0xc0a68 LB 0x20 + push bp ; 55 ; 0xc0a68 vgabios.c:222 + mov bp, sp ; 89 e5 ; 0xc0a69 + call 00a1ah ; e8 ac ff ; 0xc0a6b vgabios.c:224 + call 00a36h ; e8 c5 ff ; 0xc0a6e vgabios.c:225 + call 0356fh ; e8 fb 2a ; 0xc0a71 vgabios.c:227 + mov dx, strict word 00022h ; ba 22 00 ; 0xc0a74 vgabios.c:229 + mov ax, strict word 00010h ; b8 10 00 ; 0xc0a77 + call 00a00h ; e8 83 ff ; 0xc0a7a + mov ax, strict word 00003h ; b8 03 00 ; 0xc0a7d vgabios.c:255 + db 032h, 0e4h + ; xor ah, ah ; 32 e4 ; 0xc0a80 + int 010h ; cd 10 ; 0xc0a82 + mov sp, bp ; 89 ec ; 0xc0a84 vgabios.c:258 + pop bp ; 5d ; 0xc0a86 + retf ; cb ; 0xc0a87 + ; disGetNextSymbol 0xc0a88 LB 0x3170 -> off=0x0 cb=0000000000000043 uValue=00000000000c0a88 'vga_get_cursor_pos' +vga_get_cursor_pos: ; 0xc0a88 LB 0x43 + push bp ; 55 ; 0xc0a88 vgabios.c:327 + mov bp, sp ; 89 e5 ; 0xc0a89 + push cx ; 51 ; 0xc0a8b + push si ; 56 ; 0xc0a8c + mov cl, al ; 88 c1 ; 0xc0a8d + mov si, dx ; 89 d6 ; 0xc0a8f + cmp AL, strict byte 007h ; 3c 07 ; 0xc0a91 vgabios.c:329 + jbe short 00aa3h ; 76 0e ; 0xc0a93 + push SS ; 16 ; 0xc0a95 vgabios.c:330 + pop ES ; 07 ; 0xc0a96 + mov word [es:si], strict word 00000h ; 26 c7 04 00 00 ; 0xc0a97 + mov word [es:bx], strict word 00000h ; 26 c7 07 00 00 ; 0xc0a9c vgabios.c:331 + jmp short 00ac4h ; eb 21 ; 0xc0aa1 vgabios.c:332 + mov dx, strict word 00060h ; ba 60 00 ; 0xc0aa3 vgabios.c:334 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0aa6 + call 02f73h ; e8 c7 24 ; 0xc0aa9 + push SS ; 16 ; 0xc0aac + pop ES ; 07 ; 0xc0aad + mov word [es:si], ax ; 26 89 04 ; 0xc0aae + movzx dx, cl ; 0f b6 d1 ; 0xc0ab1 vgabios.c:335 + add dx, dx ; 01 d2 ; 0xc0ab4 + add dx, strict byte 00050h ; 83 c2 50 ; 0xc0ab6 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ab9 + call 02f73h ; e8 b4 24 ; 0xc0abc + push SS ; 16 ; 0xc0abf + pop ES ; 07 ; 0xc0ac0 + mov word [es:bx], ax ; 26 89 07 ; 0xc0ac1 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc0ac4 vgabios.c:337 + pop si ; 5e ; 0xc0ac7 + pop cx ; 59 ; 0xc0ac8 + pop bp ; 5d ; 0xc0ac9 + retn ; c3 ; 0xc0aca + ; disGetNextSymbol 0xc0acb LB 0x312d -> off=0x0 cb=0000000000000098 uValue=00000000000c0acb 'vga_read_char_attr' +vga_read_char_attr: ; 0xc0acb LB 0x98 + push bp ; 55 ; 0xc0acb vgabios.c:340 + mov bp, sp ; 89 e5 ; 0xc0acc + push bx ; 53 ; 0xc0ace + push cx ; 51 ; 0xc0acf + push si ; 56 ; 0xc0ad0 + push di ; 57 ; 0xc0ad1 + sub sp, strict byte 00008h ; 83 ec 08 ; 0xc0ad2 + mov cl, al ; 88 c1 ; 0xc0ad5 + mov si, dx ; 89 d6 ; 0xc0ad7 + mov dx, strict word 00049h ; ba 49 00 ; 0xc0ad9 vgabios.c:347 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0adc + call 02f57h ; e8 75 24 ; 0xc0adf + xor ah, ah ; 30 e4 ; 0xc0ae2 vgabios.c:348 + call 02f30h ; e8 49 24 ; 0xc0ae4 + mov ch, al ; 88 c5 ; 0xc0ae7 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc0ae9 vgabios.c:349 + je short 00b5ah ; 74 6d ; 0xc0aeb + movzx ax, cl ; 0f b6 c1 ; 0xc0aed vgabios.c:353 + lea bx, [bp-010h] ; 8d 5e f0 ; 0xc0af0 + lea dx, [bp-00eh] ; 8d 56 f2 ; 0xc0af3 + call 00a88h ; e8 8f ff ; 0xc0af6 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc0af9 vgabios.c:354 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc0afc + mov ax, word [bp-010h] ; 8b 46 f0 ; 0xc0aff vgabios.c:355 + xor al, al ; 30 c0 ; 0xc0b02 + shr ax, 008h ; c1 e8 08 ; 0xc0b04 + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc0b07 + mov dx, 00084h ; ba 84 00 ; 0xc0b0a vgabios.c:358 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0b0d + call 02f57h ; e8 44 24 ; 0xc0b10 + movzx di, al ; 0f b6 f8 ; 0xc0b13 + inc di ; 47 ; 0xc0b16 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0b17 vgabios.c:359 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0b1a + call 02f73h ; e8 53 24 ; 0xc0b1d + movzx bx, ch ; 0f b6 dd ; 0xc0b20 vgabios.c:361 + sal bx, 003h ; c1 e3 03 ; 0xc0b23 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc0b26 + jne short 00b5ah ; 75 2d ; 0xc0b2b + mov dx, ax ; 89 c2 ; 0xc0b2d vgabios.c:363 + imul dx, di ; 0f af d7 ; 0xc0b2f + add dx, dx ; 01 d2 ; 0xc0b32 + or dl, 0ffh ; 80 ca ff ; 0xc0b34 + xor ch, ch ; 30 ed ; 0xc0b37 + inc dx ; 42 ; 0xc0b39 + imul cx, dx ; 0f af ca ; 0xc0b3a + movzx dx, byte [bp-00ch] ; 0f b6 56 f4 ; 0xc0b3d + imul dx, ax ; 0f af d0 ; 0xc0b41 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc0b44 + add ax, dx ; 01 d0 ; 0xc0b48 + add ax, ax ; 01 c0 ; 0xc0b4a + mov dx, cx ; 89 ca ; 0xc0b4c + add dx, ax ; 01 c2 ; 0xc0b4e + mov ax, word [bx+04632h] ; 8b 87 32 46 ; 0xc0b50 vgabios.c:364 + call 02f73h ; e8 1c 24 ; 0xc0b54 + mov word [ss:si], ax ; 36 89 04 ; 0xc0b57 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc0b5a vgabios.c:371 + pop di ; 5f ; 0xc0b5d + pop si ; 5e ; 0xc0b5e + pop cx ; 59 ; 0xc0b5f + pop bx ; 5b ; 0xc0b60 + pop bp ; 5d ; 0xc0b61 + retn ; c3 ; 0xc0b62 + ; disGetNextSymbol 0xc0b63 LB 0x3095 -> off=0x10 cb=0000000000000082 uValue=00000000000c0b73 'vga_get_font_info' + db 08eh, 00bh, 0cdh, 00bh, 0d2h, 00bh, 0dah, 00bh, 0dfh, 00bh, 0e4h, 00bh, 0e9h, 00bh, 0eeh, 00bh +vga_get_font_info: ; 0xc0b73 LB 0x82 + push bp ; 55 ; 0xc0b73 vgabios.c:373 + mov bp, sp ; 89 e5 ; 0xc0b74 + push si ; 56 ; 0xc0b76 + push di ; 57 ; 0xc0b77 + push ax ; 50 ; 0xc0b78 + mov si, dx ; 89 d6 ; 0xc0b79 + mov word [bp-006h], bx ; 89 5e fa ; 0xc0b7b + mov bx, cx ; 89 cb ; 0xc0b7e + cmp ax, strict word 00007h ; 3d 07 00 ; 0xc0b80 vgabios.c:378 + jnbe short 00bc4h ; 77 3f ; 0xc0b83 + mov di, ax ; 89 c7 ; 0xc0b85 + add di, ax ; 01 c7 ; 0xc0b87 + jmp word [cs:di+00b63h] ; 2e ff a5 63 0b ; 0xc0b89 + mov dx, strict word 0007ch ; ba 7c 00 ; 0xc0b8e vgabios.c:380 + xor ax, ax ; 31 c0 ; 0xc0b91 + call 02f8fh ; e8 f9 23 ; 0xc0b93 + push SS ; 16 ; 0xc0b96 vgabios.c:381 + pop ES ; 07 ; 0xc0b97 + mov di, word [bp-006h] ; 8b 7e fa ; 0xc0b98 + mov word [es:di], ax ; 26 89 05 ; 0xc0b9b + mov word [es:si], dx ; 26 89 14 ; 0xc0b9e + mov dx, 00085h ; ba 85 00 ; 0xc0ba1 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ba4 + call 02f57h ; e8 ad 23 ; 0xc0ba7 + xor ah, ah ; 30 e4 ; 0xc0baa + push SS ; 16 ; 0xc0bac + pop ES ; 07 ; 0xc0bad + mov word [es:bx], ax ; 26 89 07 ; 0xc0bae + mov dx, 00084h ; ba 84 00 ; 0xc0bb1 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0bb4 + call 02f57h ; e8 9d 23 ; 0xc0bb7 + xor ah, ah ; 30 e4 ; 0xc0bba + push SS ; 16 ; 0xc0bbc + pop ES ; 07 ; 0xc0bbd + mov bx, word [bp+004h] ; 8b 5e 04 ; 0xc0bbe + mov word [es:bx], ax ; 26 89 07 ; 0xc0bc1 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc0bc4 + pop di ; 5f ; 0xc0bc7 + pop si ; 5e ; 0xc0bc8 + pop bp ; 5d ; 0xc0bc9 + retn 00002h ; c2 02 00 ; 0xc0bca + mov dx, 0010ch ; ba 0c 01 ; 0xc0bcd vgabios.c:383 + jmp short 00b91h ; eb bf ; 0xc0bd0 + mov ax, 05bech ; b8 ec 5b ; 0xc0bd2 vgabios.c:386 + mov dx, 0c000h ; ba 00 c0 ; 0xc0bd5 + jmp short 00b96h ; eb bc ; 0xc0bd8 vgabios.c:387 + mov ax, 053ech ; b8 ec 53 ; 0xc0bda vgabios.c:389 + jmp short 00bd5h ; eb f6 ; 0xc0bdd + mov ax, 057ech ; b8 ec 57 ; 0xc0bdf vgabios.c:392 + jmp short 00bd5h ; eb f1 ; 0xc0be2 + mov ax, 079ech ; b8 ec 79 ; 0xc0be4 vgabios.c:395 + jmp short 00bd5h ; eb ec ; 0xc0be7 + mov ax, 069ech ; b8 ec 69 ; 0xc0be9 vgabios.c:398 + jmp short 00bd5h ; eb e7 ; 0xc0bec + mov ax, 07b19h ; b8 19 7b ; 0xc0bee vgabios.c:401 + jmp short 00bd5h ; eb e2 ; 0xc0bf1 + jmp short 00bc4h ; eb cf ; 0xc0bf3 vgabios.c:407 + ; disGetNextSymbol 0xc0bf5 LB 0x3003 -> off=0x0 cb=0000000000000139 uValue=00000000000c0bf5 'vga_read_pixel' +vga_read_pixel: ; 0xc0bf5 LB 0x139 + push bp ; 55 ; 0xc0bf5 vgabios.c:420 + mov bp, sp ; 89 e5 ; 0xc0bf6 + push si ; 56 ; 0xc0bf8 + push di ; 57 ; 0xc0bf9 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc0bfa + mov si, dx ; 89 d6 ; 0xc0bfd + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc0bff + mov di, cx ; 89 cf ; 0xc0c02 + mov dx, strict word 00049h ; ba 49 00 ; 0xc0c04 vgabios.c:426 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0c07 + call 02f57h ; e8 4a 23 ; 0xc0c0a + xor ah, ah ; 30 e4 ; 0xc0c0d vgabios.c:427 + call 02f30h ; e8 1e 23 ; 0xc0c0f + mov cl, al ; 88 c1 ; 0xc0c12 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc0c14 vgabios.c:428 + je near 00d27h ; 0f 84 0d 01 ; 0xc0c16 + movzx bx, al ; 0f b6 d8 ; 0xc0c1a vgabios.c:430 + sal bx, 003h ; c1 e3 03 ; 0xc0c1d + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc0c20 + je near 00d27h ; 0f 84 fe 00 ; 0xc0c25 + mov bl, byte [bx+04630h] ; 8a 9f 30 46 ; 0xc0c29 vgabios.c:434 + cmp bl, 003h ; 80 fb 03 ; 0xc0c2d + jc short 00c43h ; 72 11 ; 0xc0c30 + jbe short 00c4bh ; 76 17 ; 0xc0c32 + cmp bl, 005h ; 80 fb 05 ; 0xc0c34 + je near 00d04h ; 0f 84 c9 00 ; 0xc0c37 + cmp bl, 004h ; 80 fb 04 ; 0xc0c3b + je short 00c4bh ; 74 0b ; 0xc0c3e + jmp near 00d22h ; e9 df 00 ; 0xc0c40 + cmp bl, 002h ; 80 fb 02 ; 0xc0c43 + je short 00ca3h ; 74 5b ; 0xc0c46 + jmp near 00d22h ; e9 d7 00 ; 0xc0c48 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0c4b vgabios.c:437 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0c4e + call 02f73h ; e8 1f 23 ; 0xc0c51 + imul ax, word [bp-00ah] ; 0f af 46 f6 ; 0xc0c54 + mov bx, si ; 89 f3 ; 0xc0c58 + shr bx, 003h ; c1 eb 03 ; 0xc0c5a + add bx, ax ; 01 c3 ; 0xc0c5d + mov cx, si ; 89 f1 ; 0xc0c5f vgabios.c:438 + and cx, strict byte 00007h ; 83 e1 07 ; 0xc0c61 + mov ax, 00080h ; b8 80 00 ; 0xc0c64 + sar ax, CL ; d3 f8 ; 0xc0c67 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc0c69 + mov byte [bp-006h], ch ; 88 6e fa ; 0xc0c6c vgabios.c:440 + jmp short 00c79h ; eb 08 ; 0xc0c6f + cmp byte [bp-006h], 004h ; 80 7e fa 04 ; 0xc0c71 + jnc near 00d24h ; 0f 83 ab 00 ; 0xc0c75 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc0c79 vgabios.c:441 + sal ax, 008h ; c1 e0 08 ; 0xc0c7d + or AL, strict byte 004h ; 0c 04 ; 0xc0c80 + mov dx, 003ceh ; ba ce 03 ; 0xc0c82 + out DX, ax ; ef ; 0xc0c85 + mov dx, bx ; 89 da ; 0xc0c86 vgabios.c:442 + mov ax, 0a000h ; b8 00 a0 ; 0xc0c88 + call 02f57h ; e8 c9 22 ; 0xc0c8b + and al, byte [bp-008h] ; 22 46 f8 ; 0xc0c8e + test al, al ; 84 c0 ; 0xc0c91 vgabios.c:443 + jbe short 00c9eh ; 76 09 ; 0xc0c93 + mov cl, byte [bp-006h] ; 8a 4e fa ; 0xc0c95 vgabios.c:444 + mov AL, strict byte 001h ; b0 01 ; 0xc0c98 + sal al, CL ; d2 e0 ; 0xc0c9a + or ch, al ; 08 c5 ; 0xc0c9c + inc byte [bp-006h] ; fe 46 fa ; 0xc0c9e vgabios.c:445 + jmp short 00c71h ; eb ce ; 0xc0ca1 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc0ca3 vgabios.c:448 + shr ax, 1 ; d1 e8 ; 0xc0ca6 + imul ax, ax, strict byte 00050h ; 6b c0 50 ; 0xc0ca8 + mov bx, si ; 89 f3 ; 0xc0cab + shr bx, 002h ; c1 eb 02 ; 0xc0cad + add bx, ax ; 01 c3 ; 0xc0cb0 + test byte [bp-00ah], 001h ; f6 46 f6 01 ; 0xc0cb2 vgabios.c:449 + je short 00cbbh ; 74 03 ; 0xc0cb6 + add bh, 020h ; 80 c7 20 ; 0xc0cb8 vgabios.c:450 + mov dx, bx ; 89 da ; 0xc0cbb vgabios.c:451 + mov ax, 0b800h ; b8 00 b8 ; 0xc0cbd + call 02f57h ; e8 94 22 ; 0xc0cc0 + movzx bx, cl ; 0f b6 d9 ; 0xc0cc3 vgabios.c:452 + sal bx, 003h ; c1 e3 03 ; 0xc0cc6 + cmp byte [bx+04631h], 002h ; 80 bf 31 46 02 ; 0xc0cc9 + jne short 00cebh ; 75 1b ; 0xc0cce + mov cx, si ; 89 f1 ; 0xc0cd0 vgabios.c:453 + xor ch, ch ; 30 ed ; 0xc0cd2 + and cl, 003h ; 80 e1 03 ; 0xc0cd4 + mov bx, strict word 00003h ; bb 03 00 ; 0xc0cd7 + sub bx, cx ; 29 cb ; 0xc0cda + mov cx, bx ; 89 d9 ; 0xc0cdc + add cx, bx ; 01 d9 ; 0xc0cde + xor ah, ah ; 30 e4 ; 0xc0ce0 + sar ax, CL ; d3 f8 ; 0xc0ce2 + mov ch, al ; 88 c5 ; 0xc0ce4 + and ch, 003h ; 80 e5 03 ; 0xc0ce6 + jmp short 00d24h ; eb 39 ; 0xc0ce9 vgabios.c:454 + mov cx, si ; 89 f1 ; 0xc0ceb vgabios.c:455 + xor ch, ch ; 30 ed ; 0xc0ced + and cl, 007h ; 80 e1 07 ; 0xc0cef + mov bx, strict word 00007h ; bb 07 00 ; 0xc0cf2 + sub bx, cx ; 29 cb ; 0xc0cf5 + mov cx, bx ; 89 d9 ; 0xc0cf7 + xor ah, ah ; 30 e4 ; 0xc0cf9 + sar ax, CL ; d3 f8 ; 0xc0cfb + mov ch, al ; 88 c5 ; 0xc0cfd + and ch, 001h ; 80 e5 01 ; 0xc0cff + jmp short 00d24h ; eb 20 ; 0xc0d02 vgabios.c:456 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0d04 vgabios.c:458 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0d07 + call 02f73h ; e8 66 22 ; 0xc0d0a + sal ax, 003h ; c1 e0 03 ; 0xc0d0d + imul ax, word [bp-00ah] ; 0f af 46 f6 ; 0xc0d10 + mov dx, si ; 89 f2 ; 0xc0d14 + add dx, ax ; 01 c2 ; 0xc0d16 + mov ax, 0a000h ; b8 00 a0 ; 0xc0d18 + call 02f57h ; e8 39 22 ; 0xc0d1b + mov ch, al ; 88 c5 ; 0xc0d1e + jmp short 00d24h ; eb 02 ; 0xc0d20 vgabios.c:460 + xor ch, ch ; 30 ed ; 0xc0d22 vgabios.c:465 + mov byte [ss:di], ch ; 36 88 2d ; 0xc0d24 vgabios.c:467 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc0d27 vgabios.c:468 + pop di ; 5f ; 0xc0d2a + pop si ; 5e ; 0xc0d2b + pop bp ; 5d ; 0xc0d2c + retn ; c3 ; 0xc0d2d + ; disGetNextSymbol 0xc0d2e LB 0x2eca -> off=0x0 cb=000000000000008c uValue=00000000000c0d2e 'biosfn_perform_gray_scale_summing' +biosfn_perform_gray_scale_summing: ; 0xc0d2e LB 0x8c + push bp ; 55 ; 0xc0d2e vgabios.c:473 + mov bp, sp ; 89 e5 ; 0xc0d2f + push bx ; 53 ; 0xc0d31 + push cx ; 51 ; 0xc0d32 + push si ; 56 ; 0xc0d33 + push di ; 57 ; 0xc0d34 + push ax ; 50 ; 0xc0d35 + push ax ; 50 ; 0xc0d36 + mov bx, ax ; 89 c3 ; 0xc0d37 + mov di, dx ; 89 d7 ; 0xc0d39 + mov dx, 003dah ; ba da 03 ; 0xc0d3b vgabios.c:478 + in AL, DX ; ec ; 0xc0d3e + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d3f + xor al, al ; 30 c0 ; 0xc0d41 vgabios.c:479 + mov dx, 003c0h ; ba c0 03 ; 0xc0d43 + out DX, AL ; ee ; 0xc0d46 + xor si, si ; 31 f6 ; 0xc0d47 vgabios.c:481 + cmp si, di ; 39 fe ; 0xc0d49 + jnc short 00d9fh ; 73 52 ; 0xc0d4b + mov al, bl ; 88 d8 ; 0xc0d4d vgabios.c:484 + mov dx, 003c7h ; ba c7 03 ; 0xc0d4f + out DX, AL ; ee ; 0xc0d52 + mov dx, 003c9h ; ba c9 03 ; 0xc0d53 vgabios.c:486 + in AL, DX ; ec ; 0xc0d56 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d57 + mov cx, ax ; 89 c1 ; 0xc0d59 + in AL, DX ; ec ; 0xc0d5b vgabios.c:487 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d5c + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc0d5e + in AL, DX ; ec ; 0xc0d61 vgabios.c:488 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d62 + xor ch, ch ; 30 ed ; 0xc0d64 vgabios.c:491 + imul cx, cx, strict byte 0004dh ; 6b c9 4d ; 0xc0d66 + mov word [bp-00ah], cx ; 89 4e f6 ; 0xc0d69 + movzx cx, byte [bp-00ch] ; 0f b6 4e f4 ; 0xc0d6c + imul cx, cx, 00097h ; 69 c9 97 00 ; 0xc0d70 + add cx, word [bp-00ah] ; 03 4e f6 ; 0xc0d74 + xor ah, ah ; 30 e4 ; 0xc0d77 + imul ax, ax, strict byte 0001ch ; 6b c0 1c ; 0xc0d79 + add cx, ax ; 01 c1 ; 0xc0d7c + add cx, 00080h ; 81 c1 80 00 ; 0xc0d7e + sar cx, 008h ; c1 f9 08 ; 0xc0d82 + cmp cx, strict byte 0003fh ; 83 f9 3f ; 0xc0d85 vgabios.c:493 + jbe short 00d8dh ; 76 03 ; 0xc0d88 + mov cx, strict word 0003fh ; b9 3f 00 ; 0xc0d8a + mov al, bl ; 88 d8 ; 0xc0d8d vgabios.c:496 + mov dx, 003c8h ; ba c8 03 ; 0xc0d8f + out DX, AL ; ee ; 0xc0d92 + mov al, cl ; 88 c8 ; 0xc0d93 vgabios.c:498 + mov dx, 003c9h ; ba c9 03 ; 0xc0d95 + out DX, AL ; ee ; 0xc0d98 + out DX, AL ; ee ; 0xc0d99 vgabios.c:499 + out DX, AL ; ee ; 0xc0d9a vgabios.c:500 + inc bx ; 43 ; 0xc0d9b vgabios.c:501 + inc si ; 46 ; 0xc0d9c vgabios.c:502 + jmp short 00d49h ; eb aa ; 0xc0d9d + mov dx, 003dah ; ba da 03 ; 0xc0d9f vgabios.c:503 + in AL, DX ; ec ; 0xc0da2 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0da3 + mov AL, strict byte 020h ; b0 20 ; 0xc0da5 vgabios.c:504 + mov dx, 003c0h ; ba c0 03 ; 0xc0da7 + out DX, AL ; ee ; 0xc0daa + mov dx, 003dah ; ba da 03 ; 0xc0dab vgabios.c:506 + in AL, DX ; ec ; 0xc0dae + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0daf + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc0db1 vgabios.c:508 + pop di ; 5f ; 0xc0db4 + pop si ; 5e ; 0xc0db5 + pop cx ; 59 ; 0xc0db6 + pop bx ; 5b ; 0xc0db7 + pop bp ; 5d ; 0xc0db8 + retn ; c3 ; 0xc0db9 + ; disGetNextSymbol 0xc0dba LB 0x2e3e -> off=0x0 cb=00000000000000a4 uValue=00000000000c0dba 'biosfn_set_cursor_shape' +biosfn_set_cursor_shape: ; 0xc0dba LB 0xa4 + push bp ; 55 ; 0xc0dba vgabios.c:511 + mov bp, sp ; 89 e5 ; 0xc0dbb + push bx ; 53 ; 0xc0dbd + push cx ; 51 ; 0xc0dbe + push si ; 56 ; 0xc0dbf + push di ; 57 ; 0xc0dc0 + mov ch, al ; 88 c5 ; 0xc0dc1 + mov cl, dl ; 88 d1 ; 0xc0dc3 + and ch, 03fh ; 80 e5 3f ; 0xc0dc5 vgabios.c:515 + and cl, 01fh ; 80 e1 1f ; 0xc0dc8 vgabios.c:516 + movzx di, ch ; 0f b6 fd ; 0xc0dcb vgabios.c:518 + mov bx, di ; 89 fb ; 0xc0dce + sal bx, 008h ; c1 e3 08 ; 0xc0dd0 + movzx si, cl ; 0f b6 f1 ; 0xc0dd3 + add bx, si ; 01 f3 ; 0xc0dd6 + mov dx, strict word 00060h ; ba 60 00 ; 0xc0dd8 vgabios.c:519 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ddb + call 02f81h ; e8 a0 21 ; 0xc0dde + mov dx, 00089h ; ba 89 00 ; 0xc0de1 vgabios.c:521 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0de4 + call 02f57h ; e8 6d 21 ; 0xc0de7 + mov bl, al ; 88 c3 ; 0xc0dea + mov dx, 00085h ; ba 85 00 ; 0xc0dec vgabios.c:522 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0def + call 02f73h ; e8 7e 21 ; 0xc0df2 + mov dx, ax ; 89 c2 ; 0xc0df5 + test bl, 001h ; f6 c3 01 ; 0xc0df7 vgabios.c:523 + je short 00e33h ; 74 37 ; 0xc0dfa + cmp ax, strict word 00008h ; 3d 08 00 ; 0xc0dfc + jbe short 00e33h ; 76 32 ; 0xc0dff + cmp cl, 008h ; 80 f9 08 ; 0xc0e01 + jnc short 00e33h ; 73 2d ; 0xc0e04 + cmp ch, 020h ; 80 fd 20 ; 0xc0e06 + jnc short 00e33h ; 73 28 ; 0xc0e09 + inc di ; 47 ; 0xc0e0b vgabios.c:525 + cmp si, di ; 39 fe ; 0xc0e0c + je short 00e19h ; 74 09 ; 0xc0e0e + imul ax, di ; 0f af c7 ; 0xc0e10 vgabios.c:527 + shr ax, 003h ; c1 e8 03 ; 0xc0e13 + dec ax ; 48 ; 0xc0e16 + jmp short 00e24h ; eb 0b ; 0xc0e17 vgabios.c:529 + lea si, [di+001h] ; 8d 75 01 ; 0xc0e19 vgabios.c:531 + imul ax, si ; 0f af c6 ; 0xc0e1c + shr ax, 003h ; c1 e8 03 ; 0xc0e1f + dec ax ; 48 ; 0xc0e22 + dec ax ; 48 ; 0xc0e23 + mov ch, al ; 88 c5 ; 0xc0e24 + movzx ax, cl ; 0f b6 c1 ; 0xc0e26 vgabios.c:533 + inc ax ; 40 ; 0xc0e29 + imul ax, dx ; 0f af c2 ; 0xc0e2a + shr ax, 003h ; c1 e8 03 ; 0xc0e2d + dec ax ; 48 ; 0xc0e30 + mov cl, al ; 88 c1 ; 0xc0e31 + mov dx, strict word 00063h ; ba 63 00 ; 0xc0e33 vgabios.c:537 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e36 + call 02f73h ; e8 37 21 ; 0xc0e39 + mov bx, ax ; 89 c3 ; 0xc0e3c + mov AL, strict byte 00ah ; b0 0a ; 0xc0e3e vgabios.c:538 + mov dx, bx ; 89 da ; 0xc0e40 + out DX, AL ; ee ; 0xc0e42 + lea si, [bx+001h] ; 8d 77 01 ; 0xc0e43 vgabios.c:539 + mov al, ch ; 88 e8 ; 0xc0e46 + mov dx, si ; 89 f2 ; 0xc0e48 + out DX, AL ; ee ; 0xc0e4a + mov AL, strict byte 00bh ; b0 0b ; 0xc0e4b vgabios.c:540 + mov dx, bx ; 89 da ; 0xc0e4d + out DX, AL ; ee ; 0xc0e4f + mov al, cl ; 88 c8 ; 0xc0e50 vgabios.c:541 + mov dx, si ; 89 f2 ; 0xc0e52 + out DX, AL ; ee ; 0xc0e54 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc0e55 vgabios.c:542 + pop di ; 5f ; 0xc0e58 + pop si ; 5e ; 0xc0e59 + pop cx ; 59 ; 0xc0e5a + pop bx ; 5b ; 0xc0e5b + pop bp ; 5d ; 0xc0e5c + retn ; c3 ; 0xc0e5d + ; disGetNextSymbol 0xc0e5e LB 0x2d9a -> off=0x0 cb=00000000000000a2 uValue=00000000000c0e5e 'biosfn_set_cursor_pos' +biosfn_set_cursor_pos: ; 0xc0e5e LB 0xa2 + push bp ; 55 ; 0xc0e5e vgabios.c:545 + mov bp, sp ; 89 e5 ; 0xc0e5f + push bx ; 53 ; 0xc0e61 + push cx ; 51 ; 0xc0e62 + push si ; 56 ; 0xc0e63 + push ax ; 50 ; 0xc0e64 + push ax ; 50 ; 0xc0e65 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc0e66 + mov cx, dx ; 89 d1 ; 0xc0e69 + cmp AL, strict byte 007h ; 3c 07 ; 0xc0e6b vgabios.c:551 + jnbe near 00ef8h ; 0f 87 87 00 ; 0xc0e6d + movzx dx, al ; 0f b6 d0 ; 0xc0e71 vgabios.c:554 + add dx, dx ; 01 d2 ; 0xc0e74 + add dx, strict byte 00050h ; 83 c2 50 ; 0xc0e76 + mov bx, cx ; 89 cb ; 0xc0e79 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e7b + call 02f81h ; e8 00 21 ; 0xc0e7e + mov dx, strict word 00062h ; ba 62 00 ; 0xc0e81 vgabios.c:557 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e84 + call 02f57h ; e8 cd 20 ; 0xc0e87 + cmp al, byte [bp-008h] ; 3a 46 f8 ; 0xc0e8a vgabios.c:558 + jne short 00ef8h ; 75 69 ; 0xc0e8d + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0e8f vgabios.c:561 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e92 + call 02f73h ; e8 db 20 ; 0xc0e95 + mov bx, ax ; 89 c3 ; 0xc0e98 + mov dx, 00084h ; ba 84 00 ; 0xc0e9a vgabios.c:562 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e9d + call 02f57h ; e8 b4 20 ; 0xc0ea0 + xor ah, ah ; 30 e4 ; 0xc0ea3 + mov dx, ax ; 89 c2 ; 0xc0ea5 + inc dx ; 42 ; 0xc0ea7 + mov al, cl ; 88 c8 ; 0xc0ea8 vgabios.c:564 + xor cl, cl ; 30 c9 ; 0xc0eaa + shr cx, 008h ; c1 e9 08 ; 0xc0eac + mov byte [bp-00ah], cl ; 88 4e f6 ; 0xc0eaf + imul dx, bx ; 0f af d3 ; 0xc0eb2 vgabios.c:567 + or dl, 0ffh ; 80 ca ff ; 0xc0eb5 + movzx cx, byte [bp-008h] ; 0f b6 4e f8 ; 0xc0eb8 + inc dx ; 42 ; 0xc0ebc + imul dx, cx ; 0f af d1 ; 0xc0ebd + mov si, ax ; 89 c6 ; 0xc0ec0 + add si, dx ; 01 d6 ; 0xc0ec2 + movzx dx, byte [bp-00ah] ; 0f b6 56 f6 ; 0xc0ec4 + imul bx, dx ; 0f af da ; 0xc0ec8 + add si, bx ; 01 de ; 0xc0ecb + mov dx, strict word 00063h ; ba 63 00 ; 0xc0ecd vgabios.c:570 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ed0 + call 02f73h ; e8 9d 20 ; 0xc0ed3 + mov bx, ax ; 89 c3 ; 0xc0ed6 + mov AL, strict byte 00eh ; b0 0e ; 0xc0ed8 vgabios.c:571 + mov dx, bx ; 89 da ; 0xc0eda + out DX, AL ; ee ; 0xc0edc + mov ax, si ; 89 f0 ; 0xc0edd vgabios.c:572 + xor al, al ; 30 c0 ; 0xc0edf + shr ax, 008h ; c1 e8 08 ; 0xc0ee1 + lea cx, [bx+001h] ; 8d 4f 01 ; 0xc0ee4 + mov dx, cx ; 89 ca ; 0xc0ee7 + out DX, AL ; ee ; 0xc0ee9 + mov AL, strict byte 00fh ; b0 0f ; 0xc0eea vgabios.c:573 + mov dx, bx ; 89 da ; 0xc0eec + out DX, AL ; ee ; 0xc0eee + and si, 000ffh ; 81 e6 ff 00 ; 0xc0eef vgabios.c:574 + mov ax, si ; 89 f0 ; 0xc0ef3 + mov dx, cx ; 89 ca ; 0xc0ef5 + out DX, AL ; ee ; 0xc0ef7 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc0ef8 vgabios.c:576 + pop si ; 5e ; 0xc0efb + pop cx ; 59 ; 0xc0efc + pop bx ; 5b ; 0xc0efd + pop bp ; 5d ; 0xc0efe + retn ; c3 ; 0xc0eff + ; disGetNextSymbol 0xc0f00 LB 0x2cf8 -> off=0x0 cb=00000000000000dc uValue=00000000000c0f00 'biosfn_set_active_page' +biosfn_set_active_page: ; 0xc0f00 LB 0xdc + push bp ; 55 ; 0xc0f00 vgabios.c:579 + mov bp, sp ; 89 e5 ; 0xc0f01 + push bx ; 53 ; 0xc0f03 + push cx ; 51 ; 0xc0f04 + push dx ; 52 ; 0xc0f05 + push si ; 56 ; 0xc0f06 + push di ; 57 ; 0xc0f07 + push ax ; 50 ; 0xc0f08 + push ax ; 50 ; 0xc0f09 + mov cl, al ; 88 c1 ; 0xc0f0a + cmp AL, strict byte 007h ; 3c 07 ; 0xc0f0c vgabios.c:585 + jnbe near 00fd2h ; 0f 87 c0 00 ; 0xc0f0e + mov dx, strict word 00049h ; ba 49 00 ; 0xc0f12 vgabios.c:588 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f15 + call 02f57h ; e8 3c 20 ; 0xc0f18 + xor ah, ah ; 30 e4 ; 0xc0f1b vgabios.c:589 + call 02f30h ; e8 10 20 ; 0xc0f1d + mov ch, al ; 88 c5 ; 0xc0f20 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc0f22 vgabios.c:590 + je near 00fd2h ; 0f 84 aa 00 ; 0xc0f24 + movzx ax, cl ; 0f b6 c1 ; 0xc0f28 vgabios.c:593 + lea bx, [bp-00eh] ; 8d 5e f2 ; 0xc0f2b + lea dx, [bp-00ch] ; 8d 56 f4 ; 0xc0f2e + call 00a88h ; e8 54 fb ; 0xc0f31 + movzx bx, ch ; 0f b6 dd ; 0xc0f34 vgabios.c:595 + mov si, bx ; 89 de ; 0xc0f37 + sal si, 003h ; c1 e6 03 ; 0xc0f39 + cmp byte [si+0462fh], 000h ; 80 bc 2f 46 00 ; 0xc0f3c + jne short 00f83h ; 75 40 ; 0xc0f41 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0f43 vgabios.c:598 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f46 + call 02f73h ; e8 27 20 ; 0xc0f49 + mov bx, ax ; 89 c3 ; 0xc0f4c + mov dx, 00084h ; ba 84 00 ; 0xc0f4e vgabios.c:599 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f51 + call 02f57h ; e8 00 20 ; 0xc0f54 + xor ah, ah ; 30 e4 ; 0xc0f57 + inc ax ; 40 ; 0xc0f59 + mov si, bx ; 89 de ; 0xc0f5a vgabios.c:602 + imul si, ax ; 0f af f0 ; 0xc0f5c + mov ax, si ; 89 f0 ; 0xc0f5f + add ax, si ; 01 f0 ; 0xc0f61 + or AL, strict byte 0ffh ; 0c ff ; 0xc0f63 + movzx di, cl ; 0f b6 f9 ; 0xc0f65 + mov bx, ax ; 89 c3 ; 0xc0f68 + inc bx ; 43 ; 0xc0f6a + imul bx, di ; 0f af df ; 0xc0f6b + mov dx, strict word 0004eh ; ba 4e 00 ; 0xc0f6e vgabios.c:603 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f71 + call 02f81h ; e8 0a 20 ; 0xc0f74 + or si, 000ffh ; 81 ce ff 00 ; 0xc0f77 vgabios.c:606 + lea bx, [si+001h] ; 8d 5c 01 ; 0xc0f7b + imul bx, di ; 0f af df ; 0xc0f7e + jmp short 00f95h ; eb 12 ; 0xc0f81 vgabios.c:608 + movzx bx, byte [bx+046aeh] ; 0f b6 9f ae 46 ; 0xc0f83 vgabios.c:610 + sal bx, 006h ; c1 e3 06 ; 0xc0f88 + movzx ax, cl ; 0f b6 c1 ; 0xc0f8b + mov bx, word [bx+046c5h] ; 8b 9f c5 46 ; 0xc0f8e + imul bx, ax ; 0f af d8 ; 0xc0f92 + mov dx, strict word 00063h ; ba 63 00 ; 0xc0f95 vgabios.c:614 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f98 + call 02f73h ; e8 d5 1f ; 0xc0f9b + mov si, ax ; 89 c6 ; 0xc0f9e + mov AL, strict byte 00ch ; b0 0c ; 0xc0fa0 vgabios.c:615 + mov dx, si ; 89 f2 ; 0xc0fa2 + out DX, AL ; ee ; 0xc0fa4 + mov ax, bx ; 89 d8 ; 0xc0fa5 vgabios.c:616 + xor al, bl ; 30 d8 ; 0xc0fa7 + shr ax, 008h ; c1 e8 08 ; 0xc0fa9 + lea di, [si+001h] ; 8d 7c 01 ; 0xc0fac + mov dx, di ; 89 fa ; 0xc0faf + out DX, AL ; ee ; 0xc0fb1 + mov AL, strict byte 00dh ; b0 0d ; 0xc0fb2 vgabios.c:617 + mov dx, si ; 89 f2 ; 0xc0fb4 + out DX, AL ; ee ; 0xc0fb6 + mov al, bl ; 88 d8 ; 0xc0fb7 vgabios.c:618 + mov dx, di ; 89 fa ; 0xc0fb9 + out DX, AL ; ee ; 0xc0fbb + movzx si, cl ; 0f b6 f1 ; 0xc0fbc vgabios.c:621 + mov bx, si ; 89 f3 ; 0xc0fbf + mov dx, strict word 00062h ; ba 62 00 ; 0xc0fc1 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0fc4 + call 02f65h ; e8 9b 1f ; 0xc0fc7 + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc0fca vgabios.c:628 + mov ax, si ; 89 f0 ; 0xc0fcd + call 00e5eh ; e8 8c fe ; 0xc0fcf + lea sp, [bp-00ah] ; 8d 66 f6 ; 0xc0fd2 vgabios.c:629 + pop di ; 5f ; 0xc0fd5 + pop si ; 5e ; 0xc0fd6 + pop dx ; 5a ; 0xc0fd7 + pop cx ; 59 ; 0xc0fd8 + pop bx ; 5b ; 0xc0fd9 + pop bp ; 5d ; 0xc0fda + retn ; c3 ; 0xc0fdb + ; disGetNextSymbol 0xc0fdc LB 0x2c1c -> off=0x0 cb=00000000000003aa uValue=00000000000c0fdc 'biosfn_set_video_mode' +biosfn_set_video_mode: ; 0xc0fdc LB 0x3aa + push bp ; 55 ; 0xc0fdc vgabios.c:649 + mov bp, sp ; 89 e5 ; 0xc0fdd + push bx ; 53 ; 0xc0fdf + push cx ; 51 ; 0xc0fe0 + push dx ; 52 ; 0xc0fe1 + push si ; 56 ; 0xc0fe2 + push di ; 57 ; 0xc0fe3 + sub sp, strict byte 00012h ; 83 ec 12 ; 0xc0fe4 + mov byte [bp-010h], al ; 88 46 f0 ; 0xc0fe7 + and AL, strict byte 080h ; 24 80 ; 0xc0fea vgabios.c:653 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc0fec + call 007bfh ; e8 cd f7 ; 0xc0fef vgabios.c:660 + test ax, ax ; 85 c0 ; 0xc0ff2 + je short 01002h ; 74 0c ; 0xc0ff4 + mov AL, strict byte 007h ; b0 07 ; 0xc0ff6 vgabios.c:662 + mov dx, 003c4h ; ba c4 03 ; 0xc0ff8 + out DX, AL ; ee ; 0xc0ffb + xor al, al ; 30 c0 ; 0xc0ffc vgabios.c:663 + mov dx, 003c5h ; ba c5 03 ; 0xc0ffe + out DX, AL ; ee ; 0xc1001 + and byte [bp-010h], 07fh ; 80 66 f0 7f ; 0xc1002 vgabios.c:668 + cmp byte [bp-010h], 007h ; 80 7e f0 07 ; 0xc1006 vgabios.c:672 + jne short 01010h ; 75 04 ; 0xc100a + mov byte [bp-010h], 000h ; c6 46 f0 00 ; 0xc100c vgabios.c:673 + movzx ax, byte [bp-010h] ; 0f b6 46 f0 ; 0xc1010 vgabios.c:676 + call 02f30h ; e8 19 1f ; 0xc1014 + mov byte [bp-012h], al ; 88 46 ee ; 0xc1017 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc101a vgabios.c:682 + je near 0137ch ; 0f 84 5c 03 ; 0xc101c + movzx si, al ; 0f b6 f0 ; 0xc1020 vgabios.c:685 + mov al, byte [si+046aeh] ; 8a 84 ae 46 ; 0xc1023 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc1027 + movzx bx, al ; 0f b6 d8 ; 0xc102a vgabios.c:686 + sal bx, 006h ; c1 e3 06 ; 0xc102d + movzx ax, byte [bx+046c2h] ; 0f b6 87 c2 46 ; 0xc1030 + mov word [bp-016h], ax ; 89 46 ea ; 0xc1035 + movzx ax, byte [bx+046c3h] ; 0f b6 87 c3 46 ; 0xc1038 vgabios.c:687 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc103d + movzx ax, byte [bx+046c4h] ; 0f b6 87 c4 46 ; 0xc1040 vgabios.c:688 + mov word [bp-014h], ax ; 89 46 ec ; 0xc1045 + mov dx, 00087h ; ba 87 00 ; 0xc1048 vgabios.c:691 + mov ax, strict word 00040h ; b8 40 00 ; 0xc104b + call 02f57h ; e8 06 1f ; 0xc104e + mov dx, 00088h ; ba 88 00 ; 0xc1051 vgabios.c:694 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1054 + call 02f57h ; e8 fd 1e ; 0xc1057 + mov dx, 00089h ; ba 89 00 ; 0xc105a vgabios.c:697 + mov ax, strict word 00040h ; b8 40 00 ; 0xc105d + call 02f57h ; e8 f4 1e ; 0xc1060 + mov cl, al ; 88 c1 ; 0xc1063 + test AL, strict byte 008h ; a8 08 ; 0xc1065 vgabios.c:703 + jne near 010f5h ; 0f 85 8a 00 ; 0xc1067 + mov bx, si ; 89 f3 ; 0xc106b vgabios.c:705 + sal bx, 003h ; c1 e3 03 ; 0xc106d + mov al, byte [bx+04634h] ; 8a 87 34 46 ; 0xc1070 + mov dx, 003c6h ; ba c6 03 ; 0xc1074 + out DX, AL ; ee ; 0xc1077 + xor al, al ; 30 c0 ; 0xc1078 vgabios.c:708 + mov dx, 003c8h ; ba c8 03 ; 0xc107a + out DX, AL ; ee ; 0xc107d + mov bl, byte [bx+04635h] ; 8a 9f 35 46 ; 0xc107e vgabios.c:711 + cmp bl, 001h ; 80 fb 01 ; 0xc1082 + jc short 01095h ; 72 0e ; 0xc1085 + jbe short 0109eh ; 76 15 ; 0xc1087 + cmp bl, 003h ; 80 fb 03 ; 0xc1089 + je short 010a8h ; 74 1a ; 0xc108c + cmp bl, 002h ; 80 fb 02 ; 0xc108e + je short 010a3h ; 74 10 ; 0xc1091 + jmp short 010abh ; eb 16 ; 0xc1093 + test bl, bl ; 84 db ; 0xc1095 + jne short 010abh ; 75 12 ; 0xc1097 + mov di, 04e42h ; bf 42 4e ; 0xc1099 vgabios.c:713 + jmp short 010abh ; eb 0d ; 0xc109c vgabios.c:714 + mov di, 04f02h ; bf 02 4f ; 0xc109e vgabios.c:716 + jmp short 010abh ; eb 08 ; 0xc10a1 vgabios.c:717 + mov di, 04fc2h ; bf c2 4f ; 0xc10a3 vgabios.c:719 + jmp short 010abh ; eb 03 ; 0xc10a6 vgabios.c:720 + mov di, 05082h ; bf 82 50 ; 0xc10a8 vgabios.c:722 + xor bx, bx ; 31 db ; 0xc10ab vgabios.c:726 + jmp short 010beh ; eb 0f ; 0xc10ad + xor al, al ; 30 c0 ; 0xc10af vgabios.c:733 + mov dx, 003c9h ; ba c9 03 ; 0xc10b1 + out DX, AL ; ee ; 0xc10b4 + out DX, AL ; ee ; 0xc10b5 vgabios.c:734 + out DX, AL ; ee ; 0xc10b6 vgabios.c:735 + inc bx ; 43 ; 0xc10b7 vgabios.c:737 + cmp bx, 00100h ; 81 fb 00 01 ; 0xc10b8 + jnc short 010e8h ; 73 2a ; 0xc10bc + movzx si, byte [bp-012h] ; 0f b6 76 ee ; 0xc10be + sal si, 003h ; c1 e6 03 ; 0xc10c2 + movzx si, byte [si+04635h] ; 0f b6 b4 35 46 ; 0xc10c5 + movzx ax, byte [si+046beh] ; 0f b6 84 be 46 ; 0xc10ca + cmp bx, ax ; 39 c3 ; 0xc10cf + jnbe short 010afh ; 77 dc ; 0xc10d1 + imul si, bx, strict byte 00003h ; 6b f3 03 ; 0xc10d3 + add si, di ; 01 fe ; 0xc10d6 + mov al, byte [si] ; 8a 04 ; 0xc10d8 + mov dx, 003c9h ; ba c9 03 ; 0xc10da + out DX, AL ; ee ; 0xc10dd + mov al, byte [si+001h] ; 8a 44 01 ; 0xc10de + out DX, AL ; ee ; 0xc10e1 + mov al, byte [si+002h] ; 8a 44 02 ; 0xc10e2 + out DX, AL ; ee ; 0xc10e5 + jmp short 010b7h ; eb cf ; 0xc10e6 + test cl, 002h ; f6 c1 02 ; 0xc10e8 vgabios.c:738 + je short 010f5h ; 74 08 ; 0xc10eb + mov dx, 00100h ; ba 00 01 ; 0xc10ed vgabios.c:740 + xor ax, ax ; 31 c0 ; 0xc10f0 + call 00d2eh ; e8 39 fc ; 0xc10f2 + mov dx, 003dah ; ba da 03 ; 0xc10f5 vgabios.c:745 + in AL, DX ; ec ; 0xc10f8 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc10f9 + xor bx, bx ; 31 db ; 0xc10fb vgabios.c:748 + jmp short 01104h ; eb 05 ; 0xc10fd + cmp bx, strict byte 00013h ; 83 fb 13 ; 0xc10ff + jnbe short 0111bh ; 77 17 ; 0xc1102 + mov al, bl ; 88 d8 ; 0xc1104 vgabios.c:749 + mov dx, 003c0h ; ba c0 03 ; 0xc1106 + out DX, AL ; ee ; 0xc1109 + movzx si, byte [bp-00ch] ; 0f b6 76 f4 ; 0xc110a vgabios.c:750 + sal si, 006h ; c1 e6 06 ; 0xc110e + add si, bx ; 01 de ; 0xc1111 + mov al, byte [si+046e5h] ; 8a 84 e5 46 ; 0xc1113 + out DX, AL ; ee ; 0xc1117 + inc bx ; 43 ; 0xc1118 vgabios.c:751 + jmp short 010ffh ; eb e4 ; 0xc1119 + mov AL, strict byte 014h ; b0 14 ; 0xc111b vgabios.c:752 + mov dx, 003c0h ; ba c0 03 ; 0xc111d + out DX, AL ; ee ; 0xc1120 + xor al, al ; 30 c0 ; 0xc1121 vgabios.c:753 + out DX, AL ; ee ; 0xc1123 + mov dx, 003c4h ; ba c4 03 ; 0xc1124 vgabios.c:756 + out DX, AL ; ee ; 0xc1127 + mov AL, strict byte 003h ; b0 03 ; 0xc1128 vgabios.c:757 + mov dx, 003c5h ; ba c5 03 ; 0xc112a + out DX, AL ; ee ; 0xc112d + mov bx, strict word 00001h ; bb 01 00 ; 0xc112e vgabios.c:758 + jmp short 01138h ; eb 05 ; 0xc1131 + cmp bx, strict byte 00004h ; 83 fb 04 ; 0xc1133 + jnbe short 01152h ; 77 1a ; 0xc1136 + mov al, bl ; 88 d8 ; 0xc1138 vgabios.c:759 + mov dx, 003c4h ; ba c4 03 ; 0xc113a + out DX, AL ; ee ; 0xc113d + movzx si, byte [bp-00ch] ; 0f b6 76 f4 ; 0xc113e vgabios.c:760 + sal si, 006h ; c1 e6 06 ; 0xc1142 + add si, bx ; 01 de ; 0xc1145 + mov al, byte [si+046c6h] ; 8a 84 c6 46 ; 0xc1147 + mov dx, 003c5h ; ba c5 03 ; 0xc114b + out DX, AL ; ee ; 0xc114e + inc bx ; 43 ; 0xc114f vgabios.c:761 + jmp short 01133h ; eb e1 ; 0xc1150 + xor bx, bx ; 31 db ; 0xc1152 vgabios.c:764 + jmp short 0115bh ; eb 05 ; 0xc1154 + cmp bx, strict byte 00008h ; 83 fb 08 ; 0xc1156 + jnbe short 01175h ; 77 1a ; 0xc1159 + mov al, bl ; 88 d8 ; 0xc115b vgabios.c:765 + mov dx, 003ceh ; ba ce 03 ; 0xc115d + out DX, AL ; ee ; 0xc1160 + movzx si, byte [bp-00ch] ; 0f b6 76 f4 ; 0xc1161 vgabios.c:766 + sal si, 006h ; c1 e6 06 ; 0xc1165 + add si, bx ; 01 de ; 0xc1168 + mov al, byte [si+046f9h] ; 8a 84 f9 46 ; 0xc116a + mov dx, 003cfh ; ba cf 03 ; 0xc116e + out DX, AL ; ee ; 0xc1171 + inc bx ; 43 ; 0xc1172 vgabios.c:767 + jmp short 01156h ; eb e1 ; 0xc1173 + movzx bx, byte [bp-012h] ; 0f b6 5e ee ; 0xc1175 vgabios.c:770 + sal bx, 003h ; c1 e3 03 ; 0xc1179 + cmp byte [bx+04630h], 001h ; 80 bf 30 46 01 ; 0xc117c + jne short 01188h ; 75 05 ; 0xc1181 + mov dx, 003b4h ; ba b4 03 ; 0xc1183 + jmp short 0118bh ; eb 03 ; 0xc1186 + mov dx, 003d4h ; ba d4 03 ; 0xc1188 + mov word [bp-01ah], dx ; 89 56 e6 ; 0xc118b + mov ax, strict word 00011h ; b8 11 00 ; 0xc118e vgabios.c:773 + out DX, ax ; ef ; 0xc1191 + xor bx, bx ; 31 db ; 0xc1192 vgabios.c:775 + jmp short 0119bh ; eb 05 ; 0xc1194 + cmp bx, strict byte 00018h ; 83 fb 18 ; 0xc1196 + jnbe short 011b5h ; 77 1a ; 0xc1199 + mov al, bl ; 88 d8 ; 0xc119b vgabios.c:776 + mov dx, word [bp-01ah] ; 8b 56 e6 ; 0xc119d + out DX, AL ; ee ; 0xc11a0 + movzx si, byte [bp-00ch] ; 0f b6 76 f4 ; 0xc11a1 vgabios.c:777 + sal si, 006h ; c1 e6 06 ; 0xc11a5 + mov di, si ; 89 f7 ; 0xc11a8 + add di, bx ; 01 df ; 0xc11aa + inc dx ; 42 ; 0xc11ac + mov al, byte [di+046cch] ; 8a 85 cc 46 ; 0xc11ad + out DX, AL ; ee ; 0xc11b1 + inc bx ; 43 ; 0xc11b2 vgabios.c:778 + jmp short 01196h ; eb e1 ; 0xc11b3 + mov al, byte [si+046cbh] ; 8a 84 cb 46 ; 0xc11b5 vgabios.c:781 + mov dx, 003c2h ; ba c2 03 ; 0xc11b9 + out DX, AL ; ee ; 0xc11bc + mov AL, strict byte 020h ; b0 20 ; 0xc11bd vgabios.c:784 + mov dx, 003c0h ; ba c0 03 ; 0xc11bf + out DX, AL ; ee ; 0xc11c2 + mov dx, 003dah ; ba da 03 ; 0xc11c3 vgabios.c:785 + in AL, DX ; ec ; 0xc11c6 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc11c7 + cmp byte [bp-00eh], 000h ; 80 7e f2 00 ; 0xc11c9 vgabios.c:787 + jne short 0122eh ; 75 5f ; 0xc11cd + movzx bx, byte [bp-012h] ; 0f b6 5e ee ; 0xc11cf vgabios.c:789 + sal bx, 003h ; c1 e3 03 ; 0xc11d3 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc11d6 + jne short 011f0h ; 75 13 ; 0xc11db + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc11dd vgabios.c:791 + mov cx, 04000h ; b9 00 40 ; 0xc11e1 + mov ax, 00720h ; b8 20 07 ; 0xc11e4 + xor di, di ; 31 ff ; 0xc11e7 + cld ; fc ; 0xc11e9 + jcxz 011eeh ; e3 02 ; 0xc11ea + rep stosw ; f3 ab ; 0xc11ec + jmp short 0122eh ; eb 3e ; 0xc11ee vgabios.c:793 + cmp byte [bp-010h], 00dh ; 80 7e f0 0d ; 0xc11f0 vgabios.c:795 + jnc short 01208h ; 73 12 ; 0xc11f4 + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc11f6 vgabios.c:797 + mov cx, 04000h ; b9 00 40 ; 0xc11fa + xor ax, ax ; 31 c0 ; 0xc11fd + xor di, di ; 31 ff ; 0xc11ff + cld ; fc ; 0xc1201 + jcxz 01206h ; e3 02 ; 0xc1202 + rep stosw ; f3 ab ; 0xc1204 + jmp short 0122eh ; eb 26 ; 0xc1206 vgabios.c:799 + mov AL, strict byte 002h ; b0 02 ; 0xc1208 vgabios.c:801 + mov dx, 003c4h ; ba c4 03 ; 0xc120a + out DX, AL ; ee ; 0xc120d + mov dx, 003c5h ; ba c5 03 ; 0xc120e vgabios.c:802 + in AL, DX ; ec ; 0xc1211 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc1212 + mov word [bp-01ch], ax ; 89 46 e4 ; 0xc1214 + mov AL, strict byte 00fh ; b0 0f ; 0xc1217 vgabios.c:803 + out DX, AL ; ee ; 0xc1219 + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc121a vgabios.c:804 + mov cx, 08000h ; b9 00 80 ; 0xc121e + xor ax, ax ; 31 c0 ; 0xc1221 + xor di, di ; 31 ff ; 0xc1223 + cld ; fc ; 0xc1225 + jcxz 0122ah ; e3 02 ; 0xc1226 + rep stosw ; f3 ab ; 0xc1228 + mov al, byte [bp-01ch] ; 8a 46 e4 ; 0xc122a vgabios.c:805 + out DX, AL ; ee ; 0xc122d + movzx si, byte [bp-010h] ; 0f b6 76 f0 ; 0xc122e vgabios.c:811 + mov bx, si ; 89 f3 ; 0xc1232 + mov dx, strict word 00049h ; ba 49 00 ; 0xc1234 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1237 + call 02f65h ; e8 28 1d ; 0xc123a + mov bx, word [bp-016h] ; 8b 5e ea ; 0xc123d vgabios.c:812 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc1240 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1243 + call 02f81h ; e8 38 1d ; 0xc1246 + movzx bx, byte [bp-00ch] ; 0f b6 5e f4 ; 0xc1249 vgabios.c:813 + sal bx, 006h ; c1 e3 06 ; 0xc124d + mov bx, word [bx+046c5h] ; 8b 9f c5 46 ; 0xc1250 + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc1254 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1257 + call 02f81h ; e8 24 1d ; 0xc125a + mov bx, word [bp-01ah] ; 8b 5e e6 ; 0xc125d vgabios.c:814 + mov dx, strict word 00063h ; ba 63 00 ; 0xc1260 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1263 + call 02f81h ; e8 18 1d ; 0xc1266 + movzx bx, byte [bp-018h] ; 0f b6 5e e8 ; 0xc1269 vgabios.c:815 + mov dx, 00084h ; ba 84 00 ; 0xc126d + mov ax, strict word 00040h ; b8 40 00 ; 0xc1270 + call 02f65h ; e8 ef 1c ; 0xc1273 + mov bx, word [bp-014h] ; 8b 5e ec ; 0xc1276 vgabios.c:816 + mov dx, 00085h ; ba 85 00 ; 0xc1279 + mov ax, strict word 00040h ; b8 40 00 ; 0xc127c + call 02f81h ; e8 ff 1c ; 0xc127f + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1282 vgabios.c:817 + or AL, strict byte 060h ; 0c 60 ; 0xc1285 + movzx bx, al ; 0f b6 d8 ; 0xc1287 + mov dx, 00087h ; ba 87 00 ; 0xc128a + mov ax, strict word 00040h ; b8 40 00 ; 0xc128d + call 02f65h ; e8 d2 1c ; 0xc1290 + mov bx, 000f9h ; bb f9 00 ; 0xc1293 vgabios.c:818 + mov dx, 00088h ; ba 88 00 ; 0xc1296 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1299 + call 02f65h ; e8 c6 1c ; 0xc129c + mov dx, 00089h ; ba 89 00 ; 0xc129f vgabios.c:819 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12a2 + call 02f57h ; e8 af 1c ; 0xc12a5 + and AL, strict byte 07fh ; 24 7f ; 0xc12a8 + movzx bx, al ; 0f b6 d8 ; 0xc12aa + mov dx, 00089h ; ba 89 00 ; 0xc12ad + mov ax, strict word 00040h ; b8 40 00 ; 0xc12b0 + call 02f65h ; e8 af 1c ; 0xc12b3 + mov bx, strict word 00008h ; bb 08 00 ; 0xc12b6 vgabios.c:822 + mov dx, 0008ah ; ba 8a 00 ; 0xc12b9 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12bc + call 02f65h ; e8 a3 1c ; 0xc12bf + mov cx, ds ; 8c d9 ; 0xc12c2 vgabios.c:823 + mov bx, 053d0h ; bb d0 53 ; 0xc12c4 + mov dx, 000a8h ; ba a8 00 ; 0xc12c7 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12ca + call 02fa1h ; e8 d1 1c ; 0xc12cd + cmp byte [bp-010h], 007h ; 80 7e f0 07 ; 0xc12d0 vgabios.c:825 + jnbe short 012feh ; 77 28 ; 0xc12d4 + movzx bx, byte [si+07c5dh] ; 0f b6 9c 5d 7c ; 0xc12d6 vgabios.c:827 + mov dx, strict word 00065h ; ba 65 00 ; 0xc12db + mov ax, strict word 00040h ; b8 40 00 ; 0xc12de + call 02f65h ; e8 81 1c ; 0xc12e1 + cmp byte [bp-010h], 006h ; 80 7e f0 06 ; 0xc12e4 vgabios.c:828 + jne short 012efh ; 75 05 ; 0xc12e8 + mov dx, strict word 0003fh ; ba 3f 00 ; 0xc12ea + jmp short 012f2h ; eb 03 ; 0xc12ed + mov dx, strict word 00030h ; ba 30 00 ; 0xc12ef + movzx bx, dl ; 0f b6 da ; 0xc12f2 + mov dx, strict word 00066h ; ba 66 00 ; 0xc12f5 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12f8 + call 02f65h ; e8 67 1c ; 0xc12fb + movzx bx, byte [bp-012h] ; 0f b6 5e ee ; 0xc12fe vgabios.c:832 + sal bx, 003h ; c1 e3 03 ; 0xc1302 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc1305 + jne short 01315h ; 75 09 ; 0xc130a + mov dx, strict word 00007h ; ba 07 00 ; 0xc130c vgabios.c:834 + mov ax, strict word 00006h ; b8 06 00 ; 0xc130f + call 00dbah ; e8 a5 fa ; 0xc1312 + xor bx, bx ; 31 db ; 0xc1315 vgabios.c:838 + jmp short 0131eh ; eb 05 ; 0xc1317 + cmp bx, strict byte 00008h ; 83 fb 08 ; 0xc1319 + jnc short 01329h ; 73 0b ; 0xc131c + movzx ax, bl ; 0f b6 c3 ; 0xc131e vgabios.c:839 + xor dx, dx ; 31 d2 ; 0xc1321 + call 00e5eh ; e8 38 fb ; 0xc1323 + inc bx ; 43 ; 0xc1326 + jmp short 01319h ; eb f0 ; 0xc1327 + xor ax, ax ; 31 c0 ; 0xc1329 vgabios.c:842 + call 00f00h ; e8 d2 fb ; 0xc132b + movzx bx, byte [bp-012h] ; 0f b6 5e ee ; 0xc132e vgabios.c:845 + sal bx, 003h ; c1 e3 03 ; 0xc1332 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc1335 + jne short 0134ch ; 75 10 ; 0xc133a + xor bl, bl ; 30 db ; 0xc133c vgabios.c:847 + mov AL, strict byte 004h ; b0 04 ; 0xc133e + mov AH, strict byte 011h ; b4 11 ; 0xc1340 + int 010h ; cd 10 ; 0xc1342 + xor bl, bl ; 30 db ; 0xc1344 vgabios.c:848 + mov AL, strict byte 003h ; b0 03 ; 0xc1346 + mov AH, strict byte 011h ; b4 11 ; 0xc1348 + int 010h ; cd 10 ; 0xc134a + mov dx, 057ech ; ba ec 57 ; 0xc134c vgabios.c:852 + mov ax, strict word 0001fh ; b8 1f 00 ; 0xc134f + call 00a00h ; e8 ab f6 ; 0xc1352 + mov ax, word [bp-014h] ; 8b 46 ec ; 0xc1355 vgabios.c:854 + cmp ax, strict word 00010h ; 3d 10 00 ; 0xc1358 + je short 01377h ; 74 1a ; 0xc135b + cmp ax, strict word 0000eh ; 3d 0e 00 ; 0xc135d + je short 01372h ; 74 10 ; 0xc1360 + cmp ax, strict word 00008h ; 3d 08 00 ; 0xc1362 + jne short 0137ch ; 75 15 ; 0xc1365 + mov dx, 053ech ; ba ec 53 ; 0xc1367 vgabios.c:856 + mov ax, strict word 00043h ; b8 43 00 ; 0xc136a + call 00a00h ; e8 90 f6 ; 0xc136d + jmp short 0137ch ; eb 0a ; 0xc1370 vgabios.c:857 + mov dx, 05bech ; ba ec 5b ; 0xc1372 vgabios.c:859 + jmp short 0136ah ; eb f3 ; 0xc1375 + mov dx, 069ech ; ba ec 69 ; 0xc1377 vgabios.c:862 + jmp short 0136ah ; eb ee ; 0xc137a + lea sp, [bp-00ah] ; 8d 66 f6 ; 0xc137c vgabios.c:865 + pop di ; 5f ; 0xc137f + pop si ; 5e ; 0xc1380 + pop dx ; 5a ; 0xc1381 + pop cx ; 59 ; 0xc1382 + pop bx ; 5b ; 0xc1383 + pop bp ; 5d ; 0xc1384 + retn ; c3 ; 0xc1385 + ; disGetNextSymbol 0xc1386 LB 0x2872 -> off=0x0 cb=0000000000000076 uValue=00000000000c1386 'vgamem_copy_pl4' +vgamem_copy_pl4: ; 0xc1386 LB 0x76 + push bp ; 55 ; 0xc1386 vgabios.c:868 + mov bp, sp ; 89 e5 ; 0xc1387 + push si ; 56 ; 0xc1389 + push di ; 57 ; 0xc138a + push ax ; 50 ; 0xc138b + push ax ; 50 ; 0xc138c + mov bh, cl ; 88 cf ; 0xc138d + movzx di, dl ; 0f b6 fa ; 0xc138f vgabios.c:874 + movzx cx, byte [bp+006h] ; 0f b6 4e 06 ; 0xc1392 + imul di, cx ; 0f af f9 ; 0xc1396 + movzx si, byte [bp+004h] ; 0f b6 76 04 ; 0xc1399 + imul di, si ; 0f af fe ; 0xc139d + xor ah, ah ; 30 e4 ; 0xc13a0 + add di, ax ; 01 c7 ; 0xc13a2 + mov word [bp-008h], di ; 89 7e f8 ; 0xc13a4 + movzx di, bl ; 0f b6 fb ; 0xc13a7 vgabios.c:875 + imul cx, di ; 0f af cf ; 0xc13aa + imul cx, si ; 0f af ce ; 0xc13ad + add cx, ax ; 01 c1 ; 0xc13b0 + mov word [bp-006h], cx ; 89 4e fa ; 0xc13b2 + mov ax, 00105h ; b8 05 01 ; 0xc13b5 vgabios.c:876 + mov dx, 003ceh ; ba ce 03 ; 0xc13b8 + out DX, ax ; ef ; 0xc13bb + xor bl, bl ; 30 db ; 0xc13bc vgabios.c:877 + cmp bl, byte [bp+006h] ; 3a 5e 06 ; 0xc13be + jnc short 013ech ; 73 29 ; 0xc13c1 + movzx cx, bh ; 0f b6 cf ; 0xc13c3 vgabios.c:879 + movzx si, bl ; 0f b6 f3 ; 0xc13c6 + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc13c9 + imul ax, si ; 0f af c6 ; 0xc13cd + mov si, word [bp-008h] ; 8b 76 f8 ; 0xc13d0 + add si, ax ; 01 c6 ; 0xc13d3 + mov di, word [bp-006h] ; 8b 7e fa ; 0xc13d5 + add di, ax ; 01 c7 ; 0xc13d8 + mov dx, 0a000h ; ba 00 a0 ; 0xc13da + mov es, dx ; 8e c2 ; 0xc13dd + cld ; fc ; 0xc13df + jcxz 013e8h ; e3 06 ; 0xc13e0 + push DS ; 1e ; 0xc13e2 + mov ds, dx ; 8e da ; 0xc13e3 + rep movsb ; f3 a4 ; 0xc13e5 + pop DS ; 1f ; 0xc13e7 + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc13e8 vgabios.c:880 + jmp short 013beh ; eb d2 ; 0xc13ea + mov ax, strict word 00005h ; b8 05 00 ; 0xc13ec vgabios.c:881 + mov dx, 003ceh ; ba ce 03 ; 0xc13ef + out DX, ax ; ef ; 0xc13f2 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc13f3 vgabios.c:882 + pop di ; 5f ; 0xc13f6 + pop si ; 5e ; 0xc13f7 + pop bp ; 5d ; 0xc13f8 + retn 00004h ; c2 04 00 ; 0xc13f9 + ; disGetNextSymbol 0xc13fc LB 0x27fc -> off=0x0 cb=0000000000000061 uValue=00000000000c13fc 'vgamem_fill_pl4' +vgamem_fill_pl4: ; 0xc13fc LB 0x61 + push bp ; 55 ; 0xc13fc vgabios.c:885 + mov bp, sp ; 89 e5 ; 0xc13fd + push di ; 57 ; 0xc13ff + push ax ; 50 ; 0xc1400 + push ax ; 50 ; 0xc1401 + mov byte [bp-004h], bl ; 88 5e fc ; 0xc1402 + mov bh, cl ; 88 cf ; 0xc1405 + movzx cx, dl ; 0f b6 ca ; 0xc1407 vgabios.c:891 + movzx dx, byte [bp+004h] ; 0f b6 56 04 ; 0xc140a + imul cx, dx ; 0f af ca ; 0xc140e + movzx dx, bh ; 0f b6 d7 ; 0xc1411 + imul dx, cx ; 0f af d1 ; 0xc1414 + xor ah, ah ; 30 e4 ; 0xc1417 + add dx, ax ; 01 c2 ; 0xc1419 + mov word [bp-006h], dx ; 89 56 fa ; 0xc141b + mov ax, 00205h ; b8 05 02 ; 0xc141e vgabios.c:892 + mov dx, 003ceh ; ba ce 03 ; 0xc1421 + out DX, ax ; ef ; 0xc1424 + xor bl, bl ; 30 db ; 0xc1425 vgabios.c:893 + cmp bl, byte [bp+004h] ; 3a 5e 04 ; 0xc1427 + jnc short 0144eh ; 73 22 ; 0xc142a + movzx cx, byte [bp-004h] ; 0f b6 4e fc ; 0xc142c vgabios.c:895 + movzx ax, byte [bp+006h] ; 0f b6 46 06 ; 0xc1430 + movzx dx, bl ; 0f b6 d3 ; 0xc1434 + movzx di, bh ; 0f b6 ff ; 0xc1437 + imul di, dx ; 0f af fa ; 0xc143a + add di, word [bp-006h] ; 03 7e fa ; 0xc143d + mov dx, 0a000h ; ba 00 a0 ; 0xc1440 + mov es, dx ; 8e c2 ; 0xc1443 + cld ; fc ; 0xc1445 + jcxz 0144ah ; e3 02 ; 0xc1446 + rep stosb ; f3 aa ; 0xc1448 + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc144a vgabios.c:896 + jmp short 01427h ; eb d9 ; 0xc144c + mov ax, strict word 00005h ; b8 05 00 ; 0xc144e vgabios.c:897 + mov dx, 003ceh ; ba ce 03 ; 0xc1451 + out DX, ax ; ef ; 0xc1454 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc1455 vgabios.c:898 + pop di ; 5f ; 0xc1458 + pop bp ; 5d ; 0xc1459 + retn 00004h ; c2 04 00 ; 0xc145a + ; disGetNextSymbol 0xc145d LB 0x279b -> off=0x0 cb=00000000000000a4 uValue=00000000000c145d 'vgamem_copy_cga' +vgamem_copy_cga: ; 0xc145d LB 0xa4 + push bp ; 55 ; 0xc145d vgabios.c:901 + mov bp, sp ; 89 e5 ; 0xc145e + push si ; 56 ; 0xc1460 + push di ; 57 ; 0xc1461 + push ax ; 50 ; 0xc1462 + push ax ; 50 ; 0xc1463 + mov bh, cl ; 88 cf ; 0xc1464 + movzx di, dl ; 0f b6 fa ; 0xc1466 vgabios.c:907 + movzx cx, byte [bp+006h] ; 0f b6 4e 06 ; 0xc1469 + imul di, cx ; 0f af f9 ; 0xc146d + movzx si, byte [bp+004h] ; 0f b6 76 04 ; 0xc1470 + imul di, si ; 0f af fe ; 0xc1474 + sar di, 1 ; d1 ff ; 0xc1477 + xor ah, ah ; 30 e4 ; 0xc1479 + add di, ax ; 01 c7 ; 0xc147b + mov word [bp-006h], di ; 89 7e fa ; 0xc147d + movzx di, bl ; 0f b6 fb ; 0xc1480 vgabios.c:908 + imul cx, di ; 0f af cf ; 0xc1483 + imul si, cx ; 0f af f1 ; 0xc1486 + sar si, 1 ; d1 fe ; 0xc1489 + add si, ax ; 01 c6 ; 0xc148b + mov word [bp-008h], si ; 89 76 f8 ; 0xc148d + xor bl, bl ; 30 db ; 0xc1490 vgabios.c:909 + cmp bl, byte [bp+006h] ; 3a 5e 06 ; 0xc1492 + jnc short 014f8h ; 73 61 ; 0xc1495 + test bl, 001h ; f6 c3 01 ; 0xc1497 vgabios.c:911 + je short 014cdh ; 74 31 ; 0xc149a + movzx cx, bh ; 0f b6 cf ; 0xc149c vgabios.c:912 + movzx si, bl ; 0f b6 f3 ; 0xc149f + sar si, 1 ; d1 fe ; 0xc14a2 + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc14a4 + imul ax, si ; 0f af c6 ; 0xc14a8 + mov si, word [bp-006h] ; 8b 76 fa ; 0xc14ab + add si, 02000h ; 81 c6 00 20 ; 0xc14ae + add si, ax ; 01 c6 ; 0xc14b2 + mov di, word [bp-008h] ; 8b 7e f8 ; 0xc14b4 + add di, 02000h ; 81 c7 00 20 ; 0xc14b7 + add di, ax ; 01 c7 ; 0xc14bb + mov dx, 0b800h ; ba 00 b8 ; 0xc14bd + mov es, dx ; 8e c2 ; 0xc14c0 + cld ; fc ; 0xc14c2 + jcxz 014cbh ; e3 06 ; 0xc14c3 + push DS ; 1e ; 0xc14c5 + mov ds, dx ; 8e da ; 0xc14c6 + rep movsb ; f3 a4 ; 0xc14c8 + pop DS ; 1f ; 0xc14ca + jmp short 014f4h ; eb 27 ; 0xc14cb vgabios.c:913 + movzx cx, bh ; 0f b6 cf ; 0xc14cd vgabios.c:914 + movzx ax, bl ; 0f b6 c3 ; 0xc14d0 + sar ax, 1 ; d1 f8 ; 0xc14d3 + movzx si, byte [bp+004h] ; 0f b6 76 04 ; 0xc14d5 + imul ax, si ; 0f af c6 ; 0xc14d9 + mov si, word [bp-006h] ; 8b 76 fa ; 0xc14dc + add si, ax ; 01 c6 ; 0xc14df + mov di, word [bp-008h] ; 8b 7e f8 ; 0xc14e1 + add di, ax ; 01 c7 ; 0xc14e4 + mov dx, 0b800h ; ba 00 b8 ; 0xc14e6 + mov es, dx ; 8e c2 ; 0xc14e9 + cld ; fc ; 0xc14eb + jcxz 014f4h ; e3 06 ; 0xc14ec + push DS ; 1e ; 0xc14ee + mov ds, dx ; 8e da ; 0xc14ef + rep movsb ; f3 a4 ; 0xc14f1 + pop DS ; 1f ; 0xc14f3 + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc14f4 vgabios.c:915 + jmp short 01492h ; eb 9a ; 0xc14f6 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc14f8 vgabios.c:916 + pop di ; 5f ; 0xc14fb + pop si ; 5e ; 0xc14fc + pop bp ; 5d ; 0xc14fd + retn 00004h ; c2 04 00 ; 0xc14fe + ; disGetNextSymbol 0xc1501 LB 0x26f7 -> off=0x0 cb=000000000000008a uValue=00000000000c1501 'vgamem_fill_cga' +vgamem_fill_cga: ; 0xc1501 LB 0x8a + push bp ; 55 ; 0xc1501 vgabios.c:919 + mov bp, sp ; 89 e5 ; 0xc1502 + push si ; 56 ; 0xc1504 + push di ; 57 ; 0xc1505 + push ax ; 50 ; 0xc1506 + push ax ; 50 ; 0xc1507 + mov byte [bp-006h], bl ; 88 5e fa ; 0xc1508 + mov bh, cl ; 88 cf ; 0xc150b + movzx cx, dl ; 0f b6 ca ; 0xc150d vgabios.c:925 + movzx dx, byte [bp+004h] ; 0f b6 56 04 ; 0xc1510 + imul dx, cx ; 0f af d1 ; 0xc1514 + movzx cx, bh ; 0f b6 cf ; 0xc1517 + imul dx, cx ; 0f af d1 ; 0xc151a + sar dx, 1 ; d1 fa ; 0xc151d + movzx si, al ; 0f b6 f0 ; 0xc151f + add si, dx ; 01 d6 ; 0xc1522 + xor bl, bl ; 30 db ; 0xc1524 vgabios.c:926 + cmp bl, byte [bp+004h] ; 3a 5e 04 ; 0xc1526 + jnc short 01582h ; 73 57 ; 0xc1529 + test bl, 001h ; f6 c3 01 ; 0xc152b vgabios.c:928 + je short 0155fh ; 74 2f ; 0xc152e + movzx cx, byte [bp-006h] ; 0f b6 4e fa ; 0xc1530 vgabios.c:929 + movzx ax, byte [bp+006h] ; 0f b6 46 06 ; 0xc1534 + movzx dx, bl ; 0f b6 d3 ; 0xc1538 + sar dx, 1 ; d1 fa ; 0xc153b + mov word [bp-008h], dx ; 89 56 f8 ; 0xc153d + movzx dx, bh ; 0f b6 d7 ; 0xc1540 + mov di, word [bp-008h] ; 8b 7e f8 ; 0xc1543 + imul di, dx ; 0f af fa ; 0xc1546 + mov word [bp-008h], di ; 89 7e f8 ; 0xc1549 + lea di, [si+02000h] ; 8d bc 00 20 ; 0xc154c + add di, word [bp-008h] ; 03 7e f8 ; 0xc1550 + mov dx, 0b800h ; ba 00 b8 ; 0xc1553 + mov es, dx ; 8e c2 ; 0xc1556 + cld ; fc ; 0xc1558 + jcxz 0155dh ; e3 02 ; 0xc1559 + rep stosb ; f3 aa ; 0xc155b + jmp short 0157eh ; eb 1f ; 0xc155d vgabios.c:930 + movzx cx, byte [bp-006h] ; 0f b6 4e fa ; 0xc155f vgabios.c:931 + movzx ax, byte [bp+006h] ; 0f b6 46 06 ; 0xc1563 + movzx di, bl ; 0f b6 fb ; 0xc1567 + sar di, 1 ; d1 ff ; 0xc156a + movzx dx, bh ; 0f b6 d7 ; 0xc156c + imul di, dx ; 0f af fa ; 0xc156f + add di, si ; 01 f7 ; 0xc1572 + mov dx, 0b800h ; ba 00 b8 ; 0xc1574 + mov es, dx ; 8e c2 ; 0xc1577 + cld ; fc ; 0xc1579 + jcxz 0157eh ; e3 02 ; 0xc157a + rep stosb ; f3 aa ; 0xc157c + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc157e vgabios.c:932 + jmp short 01526h ; eb a4 ; 0xc1580 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1582 vgabios.c:933 + pop di ; 5f ; 0xc1585 + pop si ; 5e ; 0xc1586 + pop bp ; 5d ; 0xc1587 + retn 00004h ; c2 04 00 ; 0xc1588 + ; disGetNextSymbol 0xc158b LB 0x266d -> off=0x0 cb=0000000000000506 uValue=00000000000c158b 'biosfn_scroll' +biosfn_scroll: ; 0xc158b LB 0x506 + push bp ; 55 ; 0xc158b vgabios.c:936 + mov bp, sp ; 89 e5 ; 0xc158c + push si ; 56 ; 0xc158e + push di ; 57 ; 0xc158f + sub sp, strict byte 00018h ; 83 ec 18 ; 0xc1590 + mov byte [bp-010h], al ; 88 46 f0 ; 0xc1593 + mov byte [bp-00ch], dl ; 88 56 f4 ; 0xc1596 + mov byte [bp-008h], bl ; 88 5e f8 ; 0xc1599 + mov byte [bp-006h], cl ; 88 4e fa ; 0xc159c + cmp bl, byte [bp+004h] ; 3a 5e 04 ; 0xc159f vgabios.c:945 + jnbe near 01a88h ; 0f 87 e2 04 ; 0xc15a2 + cmp cl, byte [bp+006h] ; 3a 4e 06 ; 0xc15a6 vgabios.c:946 + jnbe near 01a88h ; 0f 87 db 04 ; 0xc15a9 + mov dx, strict word 00049h ; ba 49 00 ; 0xc15ad vgabios.c:949 + mov ax, strict word 00040h ; b8 40 00 ; 0xc15b0 + call 02f57h ; e8 a1 19 ; 0xc15b3 + xor ah, ah ; 30 e4 ; 0xc15b6 vgabios.c:950 + call 02f30h ; e8 75 19 ; 0xc15b8 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc15bb + cmp AL, strict byte 0ffh ; 3c ff ; 0xc15be vgabios.c:951 + je near 01a88h ; 0f 84 c4 04 ; 0xc15c0 + mov dx, 00084h ; ba 84 00 ; 0xc15c4 vgabios.c:954 + mov ax, strict word 00040h ; b8 40 00 ; 0xc15c7 + call 02f57h ; e8 8a 19 ; 0xc15ca + movzx cx, al ; 0f b6 c8 ; 0xc15cd + inc cx ; 41 ; 0xc15d0 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc15d1 vgabios.c:955 + mov ax, strict word 00040h ; b8 40 00 ; 0xc15d4 + call 02f73h ; e8 99 19 ; 0xc15d7 + mov word [bp-016h], ax ; 89 46 ea ; 0xc15da + cmp byte [bp+008h], 0ffh ; 80 7e 08 ff ; 0xc15dd vgabios.c:958 + jne short 015efh ; 75 0c ; 0xc15e1 + mov dx, strict word 00062h ; ba 62 00 ; 0xc15e3 vgabios.c:959 + mov ax, strict word 00040h ; b8 40 00 ; 0xc15e6 + call 02f57h ; e8 6b 19 ; 0xc15e9 + mov byte [bp+008h], al ; 88 46 08 ; 0xc15ec + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc15ef vgabios.c:961 + cmp ax, cx ; 39 c8 ; 0xc15f3 + jc short 015feh ; 72 07 ; 0xc15f5 + mov al, cl ; 88 c8 ; 0xc15f7 + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc15f9 + mov byte [bp+004h], al ; 88 46 04 ; 0xc15fb + movzx ax, byte [bp+006h] ; 0f b6 46 06 ; 0xc15fe vgabios.c:962 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1602 + jc short 0160fh ; 72 08 ; 0xc1605 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1607 + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc160a + mov byte [bp+006h], al ; 88 46 06 ; 0xc160c + movzx ax, byte [bp-010h] ; 0f b6 46 f0 ; 0xc160f vgabios.c:963 + cmp ax, cx ; 39 c8 ; 0xc1613 + jbe short 0161bh ; 76 04 ; 0xc1615 + mov byte [bp-010h], 000h ; c6 46 f0 00 ; 0xc1617 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc161b vgabios.c:964 + sub al, byte [bp-006h] ; 2a 46 fa ; 0xc161e + db 0feh, 0c0h + ; inc al ; fe c0 ; 0xc1621 + mov byte [bp-012h], al ; 88 46 ee ; 0xc1623 + movzx si, byte [bp-00eh] ; 0f b6 76 f2 ; 0xc1626 vgabios.c:966 + mov di, si ; 89 f7 ; 0xc162a + sal di, 003h ; c1 e7 03 ; 0xc162c + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc162f + dec ax ; 48 ; 0xc1632 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc1633 + mov ax, cx ; 89 c8 ; 0xc1636 + dec ax ; 48 ; 0xc1638 + mov word [bp-01ah], ax ; 89 46 e6 ; 0xc1639 + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc163c + imul ax, cx ; 0f af c1 ; 0xc163f + cmp byte [di+0462fh], 000h ; 80 bd 2f 46 00 ; 0xc1642 + jne near 017eah ; 0f 85 9f 01 ; 0xc1647 + mov dx, ax ; 89 c2 ; 0xc164b vgabios.c:969 + add dx, ax ; 01 c2 ; 0xc164d + or dl, 0ffh ; 80 ca ff ; 0xc164f + movzx bx, byte [bp+008h] ; 0f b6 5e 08 ; 0xc1652 + inc dx ; 42 ; 0xc1656 + imul bx, dx ; 0f af da ; 0xc1657 + cmp byte [bp-010h], 000h ; 80 7e f0 00 ; 0xc165a vgabios.c:974 + jne short 0169ah ; 75 3a ; 0xc165e + cmp byte [bp-008h], 000h ; 80 7e f8 00 ; 0xc1660 + jne short 0169ah ; 75 34 ; 0xc1664 + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc1666 + jne short 0169ah ; 75 2e ; 0xc166a + movzx dx, byte [bp+004h] ; 0f b6 56 04 ; 0xc166c + cmp dx, word [bp-01ah] ; 3b 56 e6 ; 0xc1670 + jne short 0169ah ; 75 25 ; 0xc1673 + movzx dx, byte [bp+006h] ; 0f b6 56 06 ; 0xc1675 + cmp dx, word [bp-018h] ; 3b 56 e8 ; 0xc1679 + jne short 0169ah ; 75 1c ; 0xc167c + movzx dx, byte [bp-00ch] ; 0f b6 56 f4 ; 0xc167e vgabios.c:976 + sal dx, 008h ; c1 e2 08 ; 0xc1682 + add dx, strict byte 00020h ; 83 c2 20 ; 0xc1685 + mov es, [di+04632h] ; 8e 85 32 46 ; 0xc1688 + mov cx, ax ; 89 c1 ; 0xc168c + mov ax, dx ; 89 d0 ; 0xc168e + mov di, bx ; 89 df ; 0xc1690 + cld ; fc ; 0xc1692 + jcxz 01697h ; e3 02 ; 0xc1693 + rep stosw ; f3 ab ; 0xc1695 + jmp near 01a88h ; e9 ee 03 ; 0xc1697 vgabios.c:978 + cmp byte [bp+00ah], 001h ; 80 7e 0a 01 ; 0xc169a vgabios.c:980 + jne near 0173fh ; 0f 85 9d 00 ; 0xc169e + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc16a2 vgabios.c:981 + mov word [bp-014h], ax ; 89 46 ec ; 0xc16a6 + movzx dx, byte [bp+004h] ; 0f b6 56 04 ; 0xc16a9 + cmp dx, word [bp-014h] ; 3b 56 ec ; 0xc16ad + jc near 01a88h ; 0f 82 d4 03 ; 0xc16b0 + movzx ax, byte [bp-010h] ; 0f b6 46 f0 ; 0xc16b4 vgabios.c:983 + add ax, word [bp-014h] ; 03 46 ec ; 0xc16b8 + cmp ax, dx ; 39 d0 ; 0xc16bb + jnbe short 016c5h ; 77 06 ; 0xc16bd + cmp byte [bp-010h], 000h ; 80 7e f0 00 ; 0xc16bf + jne short 016f8h ; 75 33 ; 0xc16c3 + movzx cx, byte [bp-012h] ; 0f b6 4e ee ; 0xc16c5 vgabios.c:984 + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc16c9 + sal ax, 008h ; c1 e0 08 ; 0xc16cd + add ax, strict word 00020h ; 05 20 00 ; 0xc16d0 + mov si, word [bp-014h] ; 8b 76 ec ; 0xc16d3 + imul si, word [bp-016h] ; 0f af 76 ea ; 0xc16d6 + movzx dx, byte [bp-006h] ; 0f b6 56 fa ; 0xc16da + add dx, si ; 01 f2 ; 0xc16de + add dx, dx ; 01 d2 ; 0xc16e0 + mov di, bx ; 89 df ; 0xc16e2 + add di, dx ; 01 d7 ; 0xc16e4 + movzx si, byte [bp-00eh] ; 0f b6 76 f2 ; 0xc16e6 + sal si, 003h ; c1 e6 03 ; 0xc16ea + mov es, [si+04632h] ; 8e 84 32 46 ; 0xc16ed + cld ; fc ; 0xc16f1 + jcxz 016f6h ; e3 02 ; 0xc16f2 + rep stosw ; f3 ab ; 0xc16f4 + jmp short 01739h ; eb 41 ; 0xc16f6 vgabios.c:985 + movzx dx, byte [bp-012h] ; 0f b6 56 ee ; 0xc16f8 vgabios.c:986 + mov word [bp-01ch], dx ; 89 56 e4 ; 0xc16fc + mov dx, ax ; 89 c2 ; 0xc16ff + imul dx, word [bp-016h] ; 0f af 56 ea ; 0xc1701 + movzx cx, byte [bp-006h] ; 0f b6 4e fa ; 0xc1705 + add dx, cx ; 01 ca ; 0xc1709 + add dx, dx ; 01 d2 ; 0xc170b + movzx si, byte [bp-00eh] ; 0f b6 76 f2 ; 0xc170d + sal si, 003h ; c1 e6 03 ; 0xc1711 + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc1714 + mov si, word [bp-014h] ; 8b 76 ec ; 0xc1718 + imul si, word [bp-016h] ; 0f af 76 ea ; 0xc171b + add cx, si ; 01 f1 ; 0xc171f + add cx, cx ; 01 c9 ; 0xc1721 + mov di, bx ; 89 df ; 0xc1723 + add di, cx ; 01 cf ; 0xc1725 + mov cx, word [bp-01ch] ; 8b 4e e4 ; 0xc1727 + mov si, dx ; 89 d6 ; 0xc172a + mov dx, ax ; 89 c2 ; 0xc172c + mov es, ax ; 8e c0 ; 0xc172e + cld ; fc ; 0xc1730 + jcxz 01739h ; e3 06 ; 0xc1731 + push DS ; 1e ; 0xc1733 + mov ds, dx ; 8e da ; 0xc1734 + rep movsw ; f3 a5 ; 0xc1736 + pop DS ; 1f ; 0xc1738 + inc word [bp-014h] ; ff 46 ec ; 0xc1739 vgabios.c:987 + jmp near 016a9h ; e9 6a ff ; 0xc173c + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc173f vgabios.c:990 + mov word [bp-014h], ax ; 89 46 ec ; 0xc1743 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc1746 + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc174a + jnbe near 01a88h ; 0f 87 37 03 ; 0xc174d + movzx dx, byte [bp-008h] ; 0f b6 56 f8 ; 0xc1751 vgabios.c:992 + movzx ax, byte [bp-010h] ; 0f b6 46 f0 ; 0xc1755 + add ax, dx ; 01 d0 ; 0xc1759 + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc175b + jnbe short 01766h ; 77 06 ; 0xc175e + cmp byte [bp-010h], 000h ; 80 7e f0 00 ; 0xc1760 + jne short 01799h ; 75 33 ; 0xc1764 + movzx cx, byte [bp-012h] ; 0f b6 4e ee ; 0xc1766 vgabios.c:993 + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc176a + sal ax, 008h ; c1 e0 08 ; 0xc176e + add ax, strict word 00020h ; 05 20 00 ; 0xc1771 + mov si, word [bp-014h] ; 8b 76 ec ; 0xc1774 + imul si, word [bp-016h] ; 0f af 76 ea ; 0xc1777 + movzx dx, byte [bp-006h] ; 0f b6 56 fa ; 0xc177b + add dx, si ; 01 f2 ; 0xc177f + add dx, dx ; 01 d2 ; 0xc1781 + mov di, bx ; 89 df ; 0xc1783 + add di, dx ; 01 d7 ; 0xc1785 + movzx si, byte [bp-00eh] ; 0f b6 76 f2 ; 0xc1787 + sal si, 003h ; c1 e6 03 ; 0xc178b + mov es, [si+04632h] ; 8e 84 32 46 ; 0xc178e + cld ; fc ; 0xc1792 + jcxz 01797h ; e3 02 ; 0xc1793 + rep stosw ; f3 ab ; 0xc1795 + jmp short 017d9h ; eb 40 ; 0xc1797 vgabios.c:994 + movzx cx, byte [bp-012h] ; 0f b6 4e ee ; 0xc1799 vgabios.c:995 + movzx ax, byte [bp-010h] ; 0f b6 46 f0 ; 0xc179d + mov dx, word [bp-014h] ; 8b 56 ec ; 0xc17a1 + sub dx, ax ; 29 c2 ; 0xc17a4 + imul dx, word [bp-016h] ; 0f af 56 ea ; 0xc17a6 + movzx di, byte [bp-006h] ; 0f b6 7e fa ; 0xc17aa + add dx, di ; 01 fa ; 0xc17ae + add dx, dx ; 01 d2 ; 0xc17b0 + movzx si, byte [bp-00eh] ; 0f b6 76 f2 ; 0xc17b2 + sal si, 003h ; c1 e6 03 ; 0xc17b6 + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc17b9 + mov si, word [bp-014h] ; 8b 76 ec ; 0xc17bd + imul si, word [bp-016h] ; 0f af 76 ea ; 0xc17c0 + add di, si ; 01 f7 ; 0xc17c4 + add di, di ; 01 ff ; 0xc17c6 + add di, bx ; 01 df ; 0xc17c8 + mov si, dx ; 89 d6 ; 0xc17ca + mov dx, ax ; 89 c2 ; 0xc17cc + mov es, ax ; 8e c0 ; 0xc17ce + cld ; fc ; 0xc17d0 + jcxz 017d9h ; e3 06 ; 0xc17d1 + push DS ; 1e ; 0xc17d3 + mov ds, dx ; 8e da ; 0xc17d4 + rep movsw ; f3 a5 ; 0xc17d6 + pop DS ; 1f ; 0xc17d8 + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc17d9 vgabios.c:996 + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc17dd + jc near 01a88h ; 0f 82 a4 02 ; 0xc17e0 + dec word [bp-014h] ; ff 4e ec ; 0xc17e4 vgabios.c:997 + jmp near 01746h ; e9 5c ff ; 0xc17e7 + movzx bx, byte [si+046aeh] ; 0f b6 9c ae 46 ; 0xc17ea vgabios.c:1004 + sal bx, 006h ; c1 e3 06 ; 0xc17ef + mov dl, byte [bx+046c4h] ; 8a 97 c4 46 ; 0xc17f2 + mov byte [bp-00ah], dl ; 88 56 f6 ; 0xc17f6 + mov bl, byte [di+04630h] ; 8a 9d 30 46 ; 0xc17f9 vgabios.c:1005 + cmp bl, 004h ; 80 fb 04 ; 0xc17fd + je short 01811h ; 74 0f ; 0xc1800 + cmp bl, 003h ; 80 fb 03 ; 0xc1802 + je short 01811h ; 74 0a ; 0xc1805 + cmp bl, 002h ; 80 fb 02 ; 0xc1807 + je near 01950h ; 0f 84 42 01 ; 0xc180a + jmp near 01a88h ; e9 77 02 ; 0xc180e + cmp byte [bp-010h], 000h ; 80 7e f0 00 ; 0xc1811 vgabios.c:1009 + jne short 01869h ; 75 52 ; 0xc1815 + cmp byte [bp-008h], 000h ; 80 7e f8 00 ; 0xc1817 + jne short 01869h ; 75 4c ; 0xc181b + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc181d + jne short 01869h ; 75 46 ; 0xc1821 + movzx dx, byte [bp+004h] ; 0f b6 56 04 ; 0xc1823 + mov ax, cx ; 89 c8 ; 0xc1827 + dec ax ; 48 ; 0xc1829 + cmp dx, ax ; 39 c2 ; 0xc182a + jne short 01869h ; 75 3b ; 0xc182c + movzx dx, byte [bp+006h] ; 0f b6 56 06 ; 0xc182e + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc1832 + dec ax ; 48 ; 0xc1835 + cmp dx, ax ; 39 c2 ; 0xc1836 + jne short 01869h ; 75 2f ; 0xc1838 + mov ax, 00205h ; b8 05 02 ; 0xc183a vgabios.c:1011 + mov dx, 003ceh ; ba ce 03 ; 0xc183d + out DX, ax ; ef ; 0xc1840 + imul cx, word [bp-016h] ; 0f af 4e ea ; 0xc1841 vgabios.c:1012 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc1845 + imul cx, ax ; 0f af c8 ; 0xc1849 + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc184c + movzx bx, byte [bp-00eh] ; 0f b6 5e f2 ; 0xc1850 + sal bx, 003h ; c1 e3 03 ; 0xc1854 + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc1857 + xor di, di ; 31 ff ; 0xc185b + cld ; fc ; 0xc185d + jcxz 01862h ; e3 02 ; 0xc185e + rep stosb ; f3 aa ; 0xc1860 + mov ax, strict word 00005h ; b8 05 00 ; 0xc1862 vgabios.c:1013 + out DX, ax ; ef ; 0xc1865 + jmp near 01a88h ; e9 1f 02 ; 0xc1866 vgabios.c:1015 + cmp byte [bp+00ah], 001h ; 80 7e 0a 01 ; 0xc1869 vgabios.c:1017 + jne short 018d8h ; 75 69 ; 0xc186d + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc186f vgabios.c:1018 + mov word [bp-014h], ax ; 89 46 ec ; 0xc1873 + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc1876 + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc187a + jc near 01a88h ; 0f 82 07 02 ; 0xc187d + movzx dx, byte [bp-010h] ; 0f b6 56 f0 ; 0xc1881 vgabios.c:1020 + add dx, word [bp-014h] ; 03 56 ec ; 0xc1885 + cmp dx, ax ; 39 c2 ; 0xc1888 + jnbe short 01892h ; 77 06 ; 0xc188a + cmp byte [bp-010h], 000h ; 80 7e f0 00 ; 0xc188c + jne short 018b1h ; 75 1f ; 0xc1890 + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc1892 vgabios.c:1021 + push ax ; 50 ; 0xc1896 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc1897 + push ax ; 50 ; 0xc189b + movzx cx, byte [bp-016h] ; 0f b6 4e ea ; 0xc189c + movzx bx, byte [bp-012h] ; 0f b6 5e ee ; 0xc18a0 + movzx dx, byte [bp-014h] ; 0f b6 56 ec ; 0xc18a4 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc18a8 + call 013fch ; e8 4d fb ; 0xc18ac + jmp short 018d3h ; eb 22 ; 0xc18af vgabios.c:1022 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc18b1 vgabios.c:1023 + push ax ; 50 ; 0xc18b5 + movzx ax, byte [bp-016h] ; 0f b6 46 ea ; 0xc18b6 + push ax ; 50 ; 0xc18ba + movzx cx, byte [bp-012h] ; 0f b6 4e ee ; 0xc18bb + movzx bx, byte [bp-014h] ; 0f b6 5e ec ; 0xc18bf + mov al, byte [bp-014h] ; 8a 46 ec ; 0xc18c3 + add al, byte [bp-010h] ; 02 46 f0 ; 0xc18c6 + movzx dx, al ; 0f b6 d0 ; 0xc18c9 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc18cc + call 01386h ; e8 b3 fa ; 0xc18d0 + inc word [bp-014h] ; ff 46 ec ; 0xc18d3 vgabios.c:1024 + jmp short 01876h ; eb 9e ; 0xc18d6 + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc18d8 vgabios.c:1027 + mov word [bp-014h], ax ; 89 46 ec ; 0xc18dc + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc18df + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc18e3 + jnbe near 01a88h ; 0f 87 9e 01 ; 0xc18e6 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc18ea vgabios.c:1029 + movzx dx, byte [bp-010h] ; 0f b6 56 f0 ; 0xc18ee + add ax, dx ; 01 d0 ; 0xc18f2 + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc18f4 + jnbe short 018ffh ; 77 06 ; 0xc18f7 + cmp byte [bp-010h], 000h ; 80 7e f0 00 ; 0xc18f9 + jne short 0191eh ; 75 1f ; 0xc18fd + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc18ff vgabios.c:1030 + push ax ; 50 ; 0xc1903 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc1904 + push ax ; 50 ; 0xc1908 + movzx cx, byte [bp-016h] ; 0f b6 4e ea ; 0xc1909 + movzx bx, byte [bp-012h] ; 0f b6 5e ee ; 0xc190d + movzx dx, byte [bp-014h] ; 0f b6 56 ec ; 0xc1911 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc1915 + call 013fch ; e8 e0 fa ; 0xc1919 + jmp short 01940h ; eb 22 ; 0xc191c vgabios.c:1031 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc191e vgabios.c:1032 + push ax ; 50 ; 0xc1922 + movzx ax, byte [bp-016h] ; 0f b6 46 ea ; 0xc1923 + push ax ; 50 ; 0xc1927 + movzx cx, byte [bp-012h] ; 0f b6 4e ee ; 0xc1928 + mov al, byte [bp-014h] ; 8a 46 ec ; 0xc192c + sub al, byte [bp-010h] ; 2a 46 f0 ; 0xc192f + movzx bx, al ; 0f b6 d8 ; 0xc1932 + movzx dx, byte [bp-014h] ; 0f b6 56 ec ; 0xc1935 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc1939 + call 01386h ; e8 46 fa ; 0xc193d + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc1940 vgabios.c:1033 + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc1944 + jc near 01a88h ; 0f 82 3d 01 ; 0xc1947 + dec word [bp-014h] ; ff 4e ec ; 0xc194b vgabios.c:1034 + jmp short 018dfh ; eb 8f ; 0xc194e + mov dl, byte [di+04631h] ; 8a 95 31 46 ; 0xc1950 vgabios.c:1039 + cmp byte [bp-010h], 000h ; 80 7e f0 00 ; 0xc1954 vgabios.c:1040 + jne short 01997h ; 75 3d ; 0xc1958 + cmp byte [bp-008h], 000h ; 80 7e f8 00 ; 0xc195a + jne short 01997h ; 75 37 ; 0xc195e + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc1960 + jne short 01997h ; 75 31 ; 0xc1964 + movzx bx, byte [bp+004h] ; 0f b6 5e 04 ; 0xc1966 + cmp bx, word [bp-01ah] ; 3b 5e e6 ; 0xc196a + jne short 01997h ; 75 28 ; 0xc196d + movzx bx, byte [bp+006h] ; 0f b6 5e 06 ; 0xc196f + cmp bx, word [bp-018h] ; 3b 5e e8 ; 0xc1973 + jne short 01997h ; 75 1f ; 0xc1976 + movzx bx, byte [bp-00ah] ; 0f b6 5e f6 ; 0xc1978 vgabios.c:1042 + imul ax, bx ; 0f af c3 ; 0xc197c + movzx cx, dl ; 0f b6 ca ; 0xc197f + imul cx, ax ; 0f af c8 ; 0xc1982 + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc1985 + mov es, [di+04632h] ; 8e 85 32 46 ; 0xc1989 + xor di, di ; 31 ff ; 0xc198d + cld ; fc ; 0xc198f + jcxz 01994h ; e3 02 ; 0xc1990 + rep stosb ; f3 aa ; 0xc1992 + jmp near 01a88h ; e9 f1 00 ; 0xc1994 vgabios.c:1044 + cmp dl, 002h ; 80 fa 02 ; 0xc1997 vgabios.c:1046 + jne short 019a5h ; 75 09 ; 0xc199a + sal byte [bp-006h], 1 ; d0 66 fa ; 0xc199c vgabios.c:1048 + sal byte [bp-012h], 1 ; d0 66 ee ; 0xc199f vgabios.c:1049 + sal word [bp-016h], 1 ; d1 66 ea ; 0xc19a2 vgabios.c:1050 + cmp byte [bp+00ah], 001h ; 80 7e 0a 01 ; 0xc19a5 vgabios.c:1053 + jne short 01a14h ; 75 69 ; 0xc19a9 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc19ab vgabios.c:1054 + mov word [bp-014h], ax ; 89 46 ec ; 0xc19af + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc19b2 + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc19b6 + jc near 01a88h ; 0f 82 cb 00 ; 0xc19b9 + movzx dx, byte [bp-010h] ; 0f b6 56 f0 ; 0xc19bd vgabios.c:1056 + add dx, word [bp-014h] ; 03 56 ec ; 0xc19c1 + cmp dx, ax ; 39 c2 ; 0xc19c4 + jnbe short 019ceh ; 77 06 ; 0xc19c6 + cmp byte [bp-010h], 000h ; 80 7e f0 00 ; 0xc19c8 + jne short 019edh ; 75 1f ; 0xc19cc + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc19ce vgabios.c:1057 + push ax ; 50 ; 0xc19d2 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc19d3 + push ax ; 50 ; 0xc19d7 + movzx cx, byte [bp-016h] ; 0f b6 4e ea ; 0xc19d8 + movzx bx, byte [bp-012h] ; 0f b6 5e ee ; 0xc19dc + movzx dx, byte [bp-014h] ; 0f b6 56 ec ; 0xc19e0 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc19e4 + call 01501h ; e8 16 fb ; 0xc19e8 + jmp short 01a0fh ; eb 22 ; 0xc19eb vgabios.c:1058 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc19ed vgabios.c:1059 + push ax ; 50 ; 0xc19f1 + movzx ax, byte [bp-016h] ; 0f b6 46 ea ; 0xc19f2 + push ax ; 50 ; 0xc19f6 + movzx cx, byte [bp-012h] ; 0f b6 4e ee ; 0xc19f7 + movzx bx, byte [bp-014h] ; 0f b6 5e ec ; 0xc19fb + mov al, byte [bp-014h] ; 8a 46 ec ; 0xc19ff + add al, byte [bp-010h] ; 02 46 f0 ; 0xc1a02 + movzx dx, al ; 0f b6 d0 ; 0xc1a05 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc1a08 + call 0145dh ; e8 4e fa ; 0xc1a0c + inc word [bp-014h] ; ff 46 ec ; 0xc1a0f vgabios.c:1060 + jmp short 019b2h ; eb 9e ; 0xc1a12 + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc1a14 vgabios.c:1063 + mov word [bp-014h], ax ; 89 46 ec ; 0xc1a18 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc1a1b + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc1a1f + jnbe short 01a88h ; 77 64 ; 0xc1a22 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc1a24 vgabios.c:1065 + movzx dx, byte [bp-010h] ; 0f b6 56 f0 ; 0xc1a28 + add ax, dx ; 01 d0 ; 0xc1a2c + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc1a2e + jnbe short 01a39h ; 77 06 ; 0xc1a31 + cmp byte [bp-010h], 000h ; 80 7e f0 00 ; 0xc1a33 + jne short 01a58h ; 75 1f ; 0xc1a37 + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc1a39 vgabios.c:1066 + push ax ; 50 ; 0xc1a3d + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc1a3e + push ax ; 50 ; 0xc1a42 + movzx cx, byte [bp-016h] ; 0f b6 4e ea ; 0xc1a43 + movzx bx, byte [bp-012h] ; 0f b6 5e ee ; 0xc1a47 + movzx dx, byte [bp-014h] ; 0f b6 56 ec ; 0xc1a4b + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc1a4f + call 01501h ; e8 ab fa ; 0xc1a53 + jmp short 01a7ah ; eb 22 ; 0xc1a56 vgabios.c:1067 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc1a58 vgabios.c:1068 + push ax ; 50 ; 0xc1a5c + movzx ax, byte [bp-016h] ; 0f b6 46 ea ; 0xc1a5d + push ax ; 50 ; 0xc1a61 + movzx cx, byte [bp-012h] ; 0f b6 4e ee ; 0xc1a62 + mov al, byte [bp-014h] ; 8a 46 ec ; 0xc1a66 + sub al, byte [bp-010h] ; 2a 46 f0 ; 0xc1a69 + movzx bx, al ; 0f b6 d8 ; 0xc1a6c + movzx dx, byte [bp-014h] ; 0f b6 56 ec ; 0xc1a6f + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc1a73 + call 0145dh ; e8 e3 f9 ; 0xc1a77 + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc1a7a vgabios.c:1069 + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc1a7e + jc short 01a88h ; 72 05 ; 0xc1a81 + dec word [bp-014h] ; ff 4e ec ; 0xc1a83 vgabios.c:1070 + jmp short 01a1bh ; eb 93 ; 0xc1a86 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1a88 vgabios.c:1081 + pop di ; 5f ; 0xc1a8b + pop si ; 5e ; 0xc1a8c + pop bp ; 5d ; 0xc1a8d + retn 00008h ; c2 08 00 ; 0xc1a8e + ; disGetNextSymbol 0xc1a91 LB 0x2167 -> off=0x0 cb=00000000000000eb uValue=00000000000c1a91 'write_gfx_char_pl4' +write_gfx_char_pl4: ; 0xc1a91 LB 0xeb + push bp ; 55 ; 0xc1a91 vgabios.c:1084 + mov bp, sp ; 89 e5 ; 0xc1a92 + push si ; 56 ; 0xc1a94 + push di ; 57 ; 0xc1a95 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc1a96 + mov byte [bp-006h], dl ; 88 56 fa ; 0xc1a99 + mov ah, bl ; 88 dc ; 0xc1a9c + cmp byte [bp+006h], 010h ; 80 7e 06 10 ; 0xc1a9e vgabios.c:1091 + je short 01aafh ; 74 0b ; 0xc1aa2 + cmp byte [bp+006h], 00eh ; 80 7e 06 0e ; 0xc1aa4 + jne short 01ab4h ; 75 0a ; 0xc1aa8 + mov di, 05bech ; bf ec 5b ; 0xc1aaa vgabios.c:1093 + jmp short 01ab7h ; eb 08 ; 0xc1aad vgabios.c:1094 + mov di, 069ech ; bf ec 69 ; 0xc1aaf vgabios.c:1096 + jmp short 01ab7h ; eb 03 ; 0xc1ab2 vgabios.c:1097 + mov di, 053ech ; bf ec 53 ; 0xc1ab4 vgabios.c:1099 + movzx si, cl ; 0f b6 f1 ; 0xc1ab7 vgabios.c:1101 + movzx bx, byte [bp+006h] ; 0f b6 5e 06 ; 0xc1aba + imul si, bx ; 0f af f3 ; 0xc1abe + movzx cx, byte [bp+004h] ; 0f b6 4e 04 ; 0xc1ac1 + imul cx, si ; 0f af ce ; 0xc1ac5 + movzx si, ah ; 0f b6 f4 ; 0xc1ac8 + add si, cx ; 01 ce ; 0xc1acb + mov word [bp-00eh], si ; 89 76 f2 ; 0xc1acd + xor ah, ah ; 30 e4 ; 0xc1ad0 vgabios.c:1102 + imul ax, bx ; 0f af c3 ; 0xc1ad2 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc1ad5 + mov ax, 00f02h ; b8 02 0f ; 0xc1ad8 vgabios.c:1103 + mov dx, 003c4h ; ba c4 03 ; 0xc1adb + out DX, ax ; ef ; 0xc1ade + mov ax, 00205h ; b8 05 02 ; 0xc1adf vgabios.c:1104 + mov dx, 003ceh ; ba ce 03 ; 0xc1ae2 + out DX, ax ; ef ; 0xc1ae5 + test byte [bp-006h], 080h ; f6 46 fa 80 ; 0xc1ae6 vgabios.c:1105 + je short 01af2h ; 74 06 ; 0xc1aea + mov ax, 01803h ; b8 03 18 ; 0xc1aec vgabios.c:1107 + out DX, ax ; ef ; 0xc1aef + jmp short 01af6h ; eb 04 ; 0xc1af0 vgabios.c:1109 + mov ax, strict word 00003h ; b8 03 00 ; 0xc1af2 vgabios.c:1111 + out DX, ax ; ef ; 0xc1af5 + xor ch, ch ; 30 ed ; 0xc1af6 vgabios.c:1113 + cmp ch, byte [bp+006h] ; 3a 6e 06 ; 0xc1af8 + jnc short 01b64h ; 73 67 ; 0xc1afb + movzx si, ch ; 0f b6 f5 ; 0xc1afd vgabios.c:1115 + movzx ax, byte [bp+004h] ; 0f b6 46 04 ; 0xc1b00 + imul si, ax ; 0f af f0 ; 0xc1b04 + add si, word [bp-00eh] ; 03 76 f2 ; 0xc1b07 + mov byte [bp-008h], 000h ; c6 46 f8 00 ; 0xc1b0a vgabios.c:1116 + jmp short 01b23h ; eb 13 ; 0xc1b0e + xor bx, bx ; 31 db ; 0xc1b10 vgabios.c:1127 + mov dx, si ; 89 f2 ; 0xc1b12 + mov ax, 0a000h ; b8 00 a0 ; 0xc1b14 + call 02f65h ; e8 4b 14 ; 0xc1b17 + inc byte [bp-008h] ; fe 46 f8 ; 0xc1b1a vgabios.c:1129 + cmp byte [bp-008h], 008h ; 80 7e f8 08 ; 0xc1b1d + jnc short 01b60h ; 73 3d ; 0xc1b21 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc1b23 + mov cl, al ; 88 c1 ; 0xc1b27 + mov ax, 00080h ; b8 80 00 ; 0xc1b29 + sar ax, CL ; d3 f8 ; 0xc1b2c + xor ah, ah ; 30 e4 ; 0xc1b2e + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc1b30 + sal ax, 008h ; c1 e0 08 ; 0xc1b33 + or AL, strict byte 008h ; 0c 08 ; 0xc1b36 + mov dx, 003ceh ; ba ce 03 ; 0xc1b38 + out DX, ax ; ef ; 0xc1b3b + mov dx, si ; 89 f2 ; 0xc1b3c + mov ax, 0a000h ; b8 00 a0 ; 0xc1b3e + call 02f57h ; e8 13 14 ; 0xc1b41 + movzx ax, ch ; 0f b6 c5 ; 0xc1b44 + add ax, word [bp-00ah] ; 03 46 f6 ; 0xc1b47 + mov bx, di ; 89 fb ; 0xc1b4a + add bx, ax ; 01 c3 ; 0xc1b4c + movzx ax, byte [bx] ; 0f b6 07 ; 0xc1b4e + test word [bp-00ch], ax ; 85 46 f4 ; 0xc1b51 + je short 01b10h ; 74 ba ; 0xc1b54 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1b56 + and AL, strict byte 00fh ; 24 0f ; 0xc1b59 + movzx bx, al ; 0f b6 d8 ; 0xc1b5b + jmp short 01b12h ; eb b2 ; 0xc1b5e + db 0feh, 0c5h + ; inc ch ; fe c5 ; 0xc1b60 vgabios.c:1130 + jmp short 01af8h ; eb 94 ; 0xc1b62 + mov ax, 0ff08h ; b8 08 ff ; 0xc1b64 vgabios.c:1131 + mov dx, 003ceh ; ba ce 03 ; 0xc1b67 + out DX, ax ; ef ; 0xc1b6a + mov ax, strict word 00005h ; b8 05 00 ; 0xc1b6b vgabios.c:1132 + out DX, ax ; ef ; 0xc1b6e + mov ax, strict word 00003h ; b8 03 00 ; 0xc1b6f vgabios.c:1133 + out DX, ax ; ef ; 0xc1b72 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1b73 vgabios.c:1134 + pop di ; 5f ; 0xc1b76 + pop si ; 5e ; 0xc1b77 + pop bp ; 5d ; 0xc1b78 + retn 00004h ; c2 04 00 ; 0xc1b79 + ; disGetNextSymbol 0xc1b7c LB 0x207c -> off=0x0 cb=000000000000011e uValue=00000000000c1b7c 'write_gfx_char_cga' +write_gfx_char_cga: ; 0xc1b7c LB 0x11e + push bp ; 55 ; 0xc1b7c vgabios.c:1137 + mov bp, sp ; 89 e5 ; 0xc1b7d + push si ; 56 ; 0xc1b7f + push di ; 57 ; 0xc1b80 + sub sp, strict byte 00008h ; 83 ec 08 ; 0xc1b81 + mov byte [bp-008h], dl ; 88 56 f8 ; 0xc1b84 + mov si, 053ech ; be ec 53 ; 0xc1b87 vgabios.c:1144 + xor bh, bh ; 30 ff ; 0xc1b8a vgabios.c:1145 + movzx di, byte [bp+006h] ; 0f b6 7e 06 ; 0xc1b8c + imul di, bx ; 0f af fb ; 0xc1b90 + movzx bx, cl ; 0f b6 d9 ; 0xc1b93 + imul bx, bx, 00140h ; 69 db 40 01 ; 0xc1b96 + add di, bx ; 01 df ; 0xc1b9a + mov word [bp-00ch], di ; 89 7e f4 ; 0xc1b9c + movzx di, al ; 0f b6 f8 ; 0xc1b9f vgabios.c:1146 + sal di, 003h ; c1 e7 03 ; 0xc1ba2 + mov byte [bp-006h], 000h ; c6 46 fa 00 ; 0xc1ba5 vgabios.c:1147 + jmp near 01bfch ; e9 50 00 ; 0xc1ba9 + xor al, al ; 30 c0 ; 0xc1bac vgabios.c:1160 + xor ah, ah ; 30 e4 ; 0xc1bae vgabios.c:1162 + jmp short 01bbdh ; eb 0b ; 0xc1bb0 + or al, bl ; 08 d8 ; 0xc1bb2 vgabios.c:1172 + shr ch, 1 ; d0 ed ; 0xc1bb4 vgabios.c:1175 + db 0feh, 0c4h + ; inc ah ; fe c4 ; 0xc1bb6 vgabios.c:1176 + cmp ah, 008h ; 80 fc 08 ; 0xc1bb8 + jnc short 01be5h ; 73 28 ; 0xc1bbb + movzx bx, byte [bp-006h] ; 0f b6 5e fa ; 0xc1bbd + add bx, di ; 01 fb ; 0xc1bc1 + add bx, si ; 01 f3 ; 0xc1bc3 + movzx bx, byte [bx] ; 0f b6 1f ; 0xc1bc5 + movzx dx, ch ; 0f b6 d5 ; 0xc1bc8 + test bx, dx ; 85 d3 ; 0xc1bcb + je short 01bb4h ; 74 e5 ; 0xc1bcd + mov CL, strict byte 007h ; b1 07 ; 0xc1bcf + sub cl, ah ; 28 e1 ; 0xc1bd1 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc1bd3 + and bl, 001h ; 80 e3 01 ; 0xc1bd6 + sal bl, CL ; d2 e3 ; 0xc1bd9 + test byte [bp-008h], 080h ; f6 46 f8 80 ; 0xc1bdb + je short 01bb2h ; 74 d1 ; 0xc1bdf + xor al, bl ; 30 d8 ; 0xc1be1 + jmp short 01bb4h ; eb cf ; 0xc1be3 + movzx bx, al ; 0f b6 d8 ; 0xc1be5 vgabios.c:1177 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc1be8 + mov ax, 0b800h ; b8 00 b8 ; 0xc1beb + call 02f65h ; e8 74 13 ; 0xc1bee + inc byte [bp-006h] ; fe 46 fa ; 0xc1bf1 vgabios.c:1179 + cmp byte [bp-006h], 008h ; 80 7e fa 08 ; 0xc1bf4 + jnc near 01c91h ; 0f 83 95 00 ; 0xc1bf8 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc1bfc + sar ax, 1 ; d1 f8 ; 0xc1c00 + imul ax, ax, strict byte 00050h ; 6b c0 50 ; 0xc1c02 + mov bx, word [bp-00ch] ; 8b 5e f4 ; 0xc1c05 + add bx, ax ; 01 c3 ; 0xc1c08 + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc1c0a + test byte [bp-006h], 001h ; f6 46 fa 01 ; 0xc1c0d + je short 01c17h ; 74 04 ; 0xc1c11 + add byte [bp-009h], 020h ; 80 46 f7 20 ; 0xc1c13 + mov CH, strict byte 080h ; b5 80 ; 0xc1c17 + cmp byte [bp+006h], 001h ; 80 7e 06 01 ; 0xc1c19 + jne short 01c30h ; 75 11 ; 0xc1c1d + test byte [bp-008h], ch ; 84 6e f8 ; 0xc1c1f + je short 01bach ; 74 88 ; 0xc1c22 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc1c24 + mov ax, 0b800h ; b8 00 b8 ; 0xc1c27 + call 02f57h ; e8 2a 13 ; 0xc1c2a + jmp near 01baeh ; e9 7e ff ; 0xc1c2d + test ch, ch ; 84 ed ; 0xc1c30 vgabios.c:1181 + jbe short 01bf1h ; 76 bd ; 0xc1c32 + test byte [bp-008h], 080h ; f6 46 f8 80 ; 0xc1c34 vgabios.c:1183 + je short 01c45h ; 74 0b ; 0xc1c38 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc1c3a vgabios.c:1185 + mov ax, 0b800h ; b8 00 b8 ; 0xc1c3d + call 02f57h ; e8 14 13 ; 0xc1c40 + jmp short 01c47h ; eb 02 ; 0xc1c43 vgabios.c:1187 + xor al, al ; 30 c0 ; 0xc1c45 vgabios.c:1189 + xor ah, ah ; 30 e4 ; 0xc1c47 vgabios.c:1191 + jmp short 01c56h ; eb 0b ; 0xc1c49 + or al, bl ; 08 d8 ; 0xc1c4b vgabios.c:1201 + shr ch, 1 ; d0 ed ; 0xc1c4d vgabios.c:1204 + db 0feh, 0c4h + ; inc ah ; fe c4 ; 0xc1c4f vgabios.c:1205 + cmp ah, 004h ; 80 fc 04 ; 0xc1c51 + jnc short 01c80h ; 73 2a ; 0xc1c54 + movzx bx, byte [bp-006h] ; 0f b6 5e fa ; 0xc1c56 + add bx, di ; 01 fb ; 0xc1c5a + add bx, si ; 01 f3 ; 0xc1c5c + movzx dx, byte [bx] ; 0f b6 17 ; 0xc1c5e + movzx bx, ch ; 0f b6 dd ; 0xc1c61 + test bx, dx ; 85 d3 ; 0xc1c64 + je short 01c4dh ; 74 e5 ; 0xc1c66 + mov CL, strict byte 003h ; b1 03 ; 0xc1c68 + sub cl, ah ; 28 e1 ; 0xc1c6a + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc1c6c + and bl, 003h ; 80 e3 03 ; 0xc1c6f + add cl, cl ; 00 c9 ; 0xc1c72 + sal bl, CL ; d2 e3 ; 0xc1c74 + test byte [bp-008h], 080h ; f6 46 f8 80 ; 0xc1c76 + je short 01c4bh ; 74 cf ; 0xc1c7a + xor al, bl ; 30 d8 ; 0xc1c7c + jmp short 01c4dh ; eb cd ; 0xc1c7e + movzx bx, al ; 0f b6 d8 ; 0xc1c80 vgabios.c:1206 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc1c83 + mov ax, 0b800h ; b8 00 b8 ; 0xc1c86 + call 02f65h ; e8 d9 12 ; 0xc1c89 + inc word [bp-00ah] ; ff 46 f6 ; 0xc1c8c vgabios.c:1207 + jmp short 01c30h ; eb 9f ; 0xc1c8f vgabios.c:1208 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1c91 vgabios.c:1211 + pop di ; 5f ; 0xc1c94 + pop si ; 5e ; 0xc1c95 + pop bp ; 5d ; 0xc1c96 + retn 00004h ; c2 04 00 ; 0xc1c97 + ; disGetNextSymbol 0xc1c9a LB 0x1f5e -> off=0x0 cb=0000000000000091 uValue=00000000000c1c9a 'write_gfx_char_lin' +write_gfx_char_lin: ; 0xc1c9a LB 0x91 + push bp ; 55 ; 0xc1c9a vgabios.c:1214 + mov bp, sp ; 89 e5 ; 0xc1c9b + push si ; 56 ; 0xc1c9d + push di ; 57 ; 0xc1c9e + sub sp, strict byte 00008h ; 83 ec 08 ; 0xc1c9f + mov byte [bp-006h], dl ; 88 56 fa ; 0xc1ca2 + mov di, 053ech ; bf ec 53 ; 0xc1ca5 vgabios.c:1221 + movzx dx, cl ; 0f b6 d1 ; 0xc1ca8 vgabios.c:1222 + movzx cx, byte [bp+004h] ; 0f b6 4e 04 ; 0xc1cab + imul cx, dx ; 0f af ca ; 0xc1caf + sal cx, 006h ; c1 e1 06 ; 0xc1cb2 + movzx dx, bl ; 0f b6 d3 ; 0xc1cb5 + sal dx, 003h ; c1 e2 03 ; 0xc1cb8 + add dx, cx ; 01 ca ; 0xc1cbb + mov word [bp-00ch], dx ; 89 56 f4 ; 0xc1cbd + movzx si, al ; 0f b6 f0 ; 0xc1cc0 vgabios.c:1223 + sal si, 003h ; c1 e6 03 ; 0xc1cc3 + xor cl, cl ; 30 c9 ; 0xc1cc6 vgabios.c:1224 + jmp short 01d05h ; eb 3b ; 0xc1cc8 + cmp ch, 008h ; 80 fd 08 ; 0xc1cca vgabios.c:1228 + jnc short 01cfeh ; 73 2f ; 0xc1ccd + xor al, al ; 30 c0 ; 0xc1ccf vgabios.c:1230 + movzx dx, cl ; 0f b6 d1 ; 0xc1cd1 vgabios.c:1231 + add dx, si ; 01 f2 ; 0xc1cd4 + mov bx, di ; 89 fb ; 0xc1cd6 + add bx, dx ; 01 d3 ; 0xc1cd8 + movzx dx, byte [bx] ; 0f b6 17 ; 0xc1cda + movzx bx, byte [bp-008h] ; 0f b6 5e f8 ; 0xc1cdd + test dx, bx ; 85 da ; 0xc1ce1 + je short 01ce8h ; 74 03 ; 0xc1ce3 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1ce5 vgabios.c:1233 + movzx bx, al ; 0f b6 d8 ; 0xc1ce8 vgabios.c:1235 + movzx dx, ch ; 0f b6 d5 ; 0xc1ceb + add dx, word [bp-00ah] ; 03 56 f6 ; 0xc1cee + mov ax, 0a000h ; b8 00 a0 ; 0xc1cf1 + call 02f65h ; e8 6e 12 ; 0xc1cf4 + shr byte [bp-008h], 1 ; d0 6e f8 ; 0xc1cf7 vgabios.c:1236 + db 0feh, 0c5h + ; inc ch ; fe c5 ; 0xc1cfa vgabios.c:1237 + jmp short 01ccah ; eb cc ; 0xc1cfc + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc1cfe vgabios.c:1238 + cmp cl, 008h ; 80 f9 08 ; 0xc1d00 + jnc short 01d22h ; 73 1d ; 0xc1d03 + movzx bx, cl ; 0f b6 d9 ; 0xc1d05 + movzx dx, byte [bp+004h] ; 0f b6 56 04 ; 0xc1d08 + imul dx, bx ; 0f af d3 ; 0xc1d0c + sal dx, 003h ; c1 e2 03 ; 0xc1d0f + mov bx, word [bp-00ch] ; 8b 5e f4 ; 0xc1d12 + add bx, dx ; 01 d3 ; 0xc1d15 + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc1d17 + mov byte [bp-008h], 080h ; c6 46 f8 80 ; 0xc1d1a + xor ch, ch ; 30 ed ; 0xc1d1e + jmp short 01ccfh ; eb ad ; 0xc1d20 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1d22 vgabios.c:1239 + pop di ; 5f ; 0xc1d25 + pop si ; 5e ; 0xc1d26 + pop bp ; 5d ; 0xc1d27 + retn 00002h ; c2 02 00 ; 0xc1d28 + ; disGetNextSymbol 0xc1d2b LB 0x1ecd -> off=0x0 cb=0000000000000168 uValue=00000000000c1d2b 'biosfn_write_char_attr' +biosfn_write_char_attr: ; 0xc1d2b LB 0x168 + push bp ; 55 ; 0xc1d2b vgabios.c:1242 + mov bp, sp ; 89 e5 ; 0xc1d2c + push si ; 56 ; 0xc1d2e + push di ; 57 ; 0xc1d2f + sub sp, strict byte 00018h ; 83 ec 18 ; 0xc1d30 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc1d33 + mov byte [bp-010h], dl ; 88 56 f0 ; 0xc1d36 + mov byte [bp-012h], bl ; 88 5e ee ; 0xc1d39 + mov si, cx ; 89 ce ; 0xc1d3c + mov dx, strict word 00049h ; ba 49 00 ; 0xc1d3e vgabios.c:1249 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1d41 + call 02f57h ; e8 10 12 ; 0xc1d44 + xor ah, ah ; 30 e4 ; 0xc1d47 vgabios.c:1250 + call 02f30h ; e8 e4 11 ; 0xc1d49 + mov cl, al ; 88 c1 ; 0xc1d4c + mov byte [bp-006h], al ; 88 46 fa ; 0xc1d4e + cmp AL, strict byte 0ffh ; 3c ff ; 0xc1d51 vgabios.c:1251 + je near 01e8ch ; 0f 84 35 01 ; 0xc1d53 + movzx ax, byte [bp-010h] ; 0f b6 46 f0 ; 0xc1d57 vgabios.c:1254 + lea bx, [bp-01ch] ; 8d 5e e4 ; 0xc1d5b + lea dx, [bp-01ah] ; 8d 56 e6 ; 0xc1d5e + call 00a88h ; e8 24 ed ; 0xc1d61 + mov al, byte [bp-01ch] ; 8a 46 e4 ; 0xc1d64 vgabios.c:1255 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc1d67 + mov ax, word [bp-01ch] ; 8b 46 e4 ; 0xc1d6a + xor al, al ; 30 c0 ; 0xc1d6d + shr ax, 008h ; c1 e8 08 ; 0xc1d6f + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc1d72 + mov dx, 00084h ; ba 84 00 ; 0xc1d75 vgabios.c:1258 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1d78 + call 02f57h ; e8 d9 11 ; 0xc1d7b + xor ah, ah ; 30 e4 ; 0xc1d7e + inc ax ; 40 ; 0xc1d80 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc1d81 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc1d84 vgabios.c:1259 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1d87 + call 02f73h ; e8 e6 11 ; 0xc1d8a + mov word [bp-016h], ax ; 89 46 ea ; 0xc1d8d + movzx bx, cl ; 0f b6 d9 ; 0xc1d90 vgabios.c:1261 + mov di, bx ; 89 df ; 0xc1d93 + sal di, 003h ; c1 e7 03 ; 0xc1d95 + cmp byte [di+0462fh], 000h ; 80 bd 2f 46 00 ; 0xc1d98 + jne short 01de6h ; 75 47 ; 0xc1d9d + mov bx, word [bp-018h] ; 8b 5e e8 ; 0xc1d9f vgabios.c:1264 + imul bx, ax ; 0f af d8 ; 0xc1da2 + add bx, bx ; 01 db ; 0xc1da5 + or bl, 0ffh ; 80 cb ff ; 0xc1da7 + movzx dx, byte [bp-010h] ; 0f b6 56 f0 ; 0xc1daa + inc bx ; 43 ; 0xc1dae + imul dx, bx ; 0f af d3 ; 0xc1daf + movzx bx, byte [bp-00ah] ; 0f b6 5e f6 ; 0xc1db2 + imul ax, bx ; 0f af c3 ; 0xc1db6 + movzx bx, byte [bp-00ch] ; 0f b6 5e f4 ; 0xc1db9 + add ax, bx ; 01 d8 ; 0xc1dbd + add ax, ax ; 01 c0 ; 0xc1dbf + add dx, ax ; 01 c2 ; 0xc1dc1 + movzx ax, byte [bp-012h] ; 0f b6 46 ee ; 0xc1dc3 vgabios.c:1266 + sal ax, 008h ; c1 e0 08 ; 0xc1dc7 + movzx bx, byte [bp-00eh] ; 0f b6 5e f2 ; 0xc1dca + add ax, bx ; 01 d8 ; 0xc1dce + mov word [bp-01ah], ax ; 89 46 e6 ; 0xc1dd0 + mov ax, word [bp-01ah] ; 8b 46 e6 ; 0xc1dd3 vgabios.c:1267 + mov es, [di+04632h] ; 8e 85 32 46 ; 0xc1dd6 + mov cx, si ; 89 f1 ; 0xc1dda + mov di, dx ; 89 d7 ; 0xc1ddc + cld ; fc ; 0xc1dde + jcxz 01de3h ; e3 02 ; 0xc1ddf + rep stosw ; f3 ab ; 0xc1de1 + jmp near 01e8ch ; e9 a6 00 ; 0xc1de3 vgabios.c:1269 + movzx bx, byte [bx+046aeh] ; 0f b6 9f ae 46 ; 0xc1de6 vgabios.c:1272 + sal bx, 006h ; c1 e3 06 ; 0xc1deb + mov al, byte [bx+046c4h] ; 8a 87 c4 46 ; 0xc1dee + mov byte [bp-008h], al ; 88 46 f8 ; 0xc1df2 + mov al, byte [di+04631h] ; 8a 85 31 46 ; 0xc1df5 vgabios.c:1273 + mov byte [bp-014h], al ; 88 46 ec ; 0xc1df9 + dec si ; 4e ; 0xc1dfc vgabios.c:1274 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc1dfd + je near 01e8ch ; 0f 84 88 00 ; 0xc1e00 + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc1e04 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1e08 + jnc near 01e8ch ; 0f 83 7d 00 ; 0xc1e0b + movzx bx, byte [bp-006h] ; 0f b6 5e fa ; 0xc1e0f vgabios.c:1276 + sal bx, 003h ; c1 e3 03 ; 0xc1e13 + mov al, byte [bx+04630h] ; 8a 87 30 46 ; 0xc1e16 + cmp AL, strict byte 003h ; 3c 03 ; 0xc1e1a + jc short 01e2ah ; 72 0c ; 0xc1e1c + jbe short 01e30h ; 76 10 ; 0xc1e1e + cmp AL, strict byte 005h ; 3c 05 ; 0xc1e20 + je short 01e6eh ; 74 4a ; 0xc1e22 + cmp AL, strict byte 004h ; 3c 04 ; 0xc1e24 + je short 01e30h ; 74 08 ; 0xc1e26 + jmp short 01e86h ; eb 5c ; 0xc1e28 + cmp AL, strict byte 002h ; 3c 02 ; 0xc1e2a + je short 01e4fh ; 74 21 ; 0xc1e2c + jmp short 01e86h ; eb 56 ; 0xc1e2e + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc1e30 vgabios.c:1280 + push ax ; 50 ; 0xc1e34 + movzx ax, byte [bp-016h] ; 0f b6 46 ea ; 0xc1e35 + push ax ; 50 ; 0xc1e39 + movzx cx, byte [bp-00ah] ; 0f b6 4e f6 ; 0xc1e3a + movzx bx, byte [bp-00ch] ; 0f b6 5e f4 ; 0xc1e3e + movzx dx, byte [bp-012h] ; 0f b6 56 ee ; 0xc1e42 + movzx ax, byte [bp-00eh] ; 0f b6 46 f2 ; 0xc1e46 + call 01a91h ; e8 44 fc ; 0xc1e4a + jmp short 01e86h ; eb 37 ; 0xc1e4d vgabios.c:1281 + movzx ax, byte [bp-014h] ; 0f b6 46 ec ; 0xc1e4f vgabios.c:1283 + push ax ; 50 ; 0xc1e53 + movzx ax, byte [bp-016h] ; 0f b6 46 ea ; 0xc1e54 + push ax ; 50 ; 0xc1e58 + movzx cx, byte [bp-00ah] ; 0f b6 4e f6 ; 0xc1e59 + movzx bx, byte [bp-00ch] ; 0f b6 5e f4 ; 0xc1e5d + movzx dx, byte [bp-012h] ; 0f b6 56 ee ; 0xc1e61 + movzx ax, byte [bp-00eh] ; 0f b6 46 f2 ; 0xc1e65 + call 01b7ch ; e8 10 fd ; 0xc1e69 + jmp short 01e86h ; eb 18 ; 0xc1e6c vgabios.c:1284 + movzx ax, byte [bp-016h] ; 0f b6 46 ea ; 0xc1e6e vgabios.c:1286 + push ax ; 50 ; 0xc1e72 + movzx cx, byte [bp-00ah] ; 0f b6 4e f6 ; 0xc1e73 + movzx bx, byte [bp-00ch] ; 0f b6 5e f4 ; 0xc1e77 + movzx dx, byte [bp-012h] ; 0f b6 56 ee ; 0xc1e7b + movzx ax, byte [bp-00eh] ; 0f b6 46 f2 ; 0xc1e7f + call 01c9ah ; e8 14 fe ; 0xc1e83 + inc byte [bp-00ch] ; fe 46 f4 ; 0xc1e86 vgabios.c:1293 + jmp near 01dfch ; e9 70 ff ; 0xc1e89 vgabios.c:1294 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1e8c vgabios.c:1296 + pop di ; 5f ; 0xc1e8f + pop si ; 5e ; 0xc1e90 + pop bp ; 5d ; 0xc1e91 + retn ; c3 ; 0xc1e92 + ; disGetNextSymbol 0xc1e93 LB 0x1d65 -> off=0x0 cb=000000000000016f uValue=00000000000c1e93 'biosfn_write_char_only' +biosfn_write_char_only: ; 0xc1e93 LB 0x16f + push bp ; 55 ; 0xc1e93 vgabios.c:1299 + mov bp, sp ; 89 e5 ; 0xc1e94 + push si ; 56 ; 0xc1e96 + push di ; 57 ; 0xc1e97 + sub sp, strict byte 00018h ; 83 ec 18 ; 0xc1e98 + mov byte [bp-012h], al ; 88 46 ee ; 0xc1e9b + mov byte [bp-006h], dl ; 88 56 fa ; 0xc1e9e + mov byte [bp-014h], bl ; 88 5e ec ; 0xc1ea1 + mov si, cx ; 89 ce ; 0xc1ea4 + mov dx, strict word 00049h ; ba 49 00 ; 0xc1ea6 vgabios.c:1306 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1ea9 + call 02f57h ; e8 a8 10 ; 0xc1eac + xor ah, ah ; 30 e4 ; 0xc1eaf vgabios.c:1307 + call 02f30h ; e8 7c 10 ; 0xc1eb1 + mov cl, al ; 88 c1 ; 0xc1eb4 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc1eb6 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc1eb9 vgabios.c:1308 + je near 01ffbh ; 0f 84 3c 01 ; 0xc1ebb + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc1ebf vgabios.c:1311 + lea bx, [bp-01ch] ; 8d 5e e4 ; 0xc1ec3 + lea dx, [bp-01ah] ; 8d 56 e6 ; 0xc1ec6 + call 00a88h ; e8 bc eb ; 0xc1ec9 + mov al, byte [bp-01ch] ; 8a 46 e4 ; 0xc1ecc vgabios.c:1312 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc1ecf + mov ax, word [bp-01ch] ; 8b 46 e4 ; 0xc1ed2 + xor al, al ; 30 c0 ; 0xc1ed5 + shr ax, 008h ; c1 e8 08 ; 0xc1ed7 + mov byte [bp-010h], al ; 88 46 f0 ; 0xc1eda + mov dx, 00084h ; ba 84 00 ; 0xc1edd vgabios.c:1315 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1ee0 + call 02f57h ; e8 71 10 ; 0xc1ee3 + xor ah, ah ; 30 e4 ; 0xc1ee6 + inc ax ; 40 ; 0xc1ee8 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc1ee9 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc1eec vgabios.c:1316 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1eef + call 02f73h ; e8 7e 10 ; 0xc1ef2 + mov word [bp-016h], ax ; 89 46 ea ; 0xc1ef5 + movzx di, cl ; 0f b6 f9 ; 0xc1ef8 vgabios.c:1318 + mov bx, di ; 89 fb ; 0xc1efb + sal bx, 003h ; c1 e3 03 ; 0xc1efd + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc1f00 + jne short 01f51h ; 75 4a ; 0xc1f05 + mov dx, word [bp-018h] ; 8b 56 e8 ; 0xc1f07 vgabios.c:1321 + imul dx, ax ; 0f af d0 ; 0xc1f0a + add dx, dx ; 01 d2 ; 0xc1f0d + or dl, 0ffh ; 80 ca ff ; 0xc1f0f + movzx bx, byte [bp-006h] ; 0f b6 5e fa ; 0xc1f12 + inc dx ; 42 ; 0xc1f16 + imul bx, dx ; 0f af da ; 0xc1f17 + movzx dx, byte [bp-010h] ; 0f b6 56 f0 ; 0xc1f1a + mov cx, ax ; 89 c1 ; 0xc1f1e + imul cx, dx ; 0f af ca ; 0xc1f20 + movzx dx, byte [bp-00ch] ; 0f b6 56 f4 ; 0xc1f23 + add cx, dx ; 01 d1 ; 0xc1f27 + add cx, cx ; 01 c9 ; 0xc1f29 + add cx, bx ; 01 d9 ; 0xc1f2b + dec si ; 4e ; 0xc1f2d vgabios.c:1323 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc1f2e + je near 01ffbh ; 0f 84 c6 00 ; 0xc1f31 + movzx ax, byte [bp-012h] ; 0f b6 46 ee ; 0xc1f35 vgabios.c:1324 + movzx bx, byte [bp-00eh] ; 0f b6 5e f2 ; 0xc1f39 + sal bx, 003h ; c1 e3 03 ; 0xc1f3d + mov di, word [bx+04632h] ; 8b bf 32 46 ; 0xc1f40 + mov bx, ax ; 89 c3 ; 0xc1f44 + mov dx, cx ; 89 ca ; 0xc1f46 + mov ax, di ; 89 f8 ; 0xc1f48 + call 02f65h ; e8 18 10 ; 0xc1f4a + inc cx ; 41 ; 0xc1f4d vgabios.c:1325 + inc cx ; 41 ; 0xc1f4e + jmp short 01f2dh ; eb dc ; 0xc1f4f vgabios.c:1326 + movzx di, byte [di+046aeh] ; 0f b6 bd ae 46 ; 0xc1f51 vgabios.c:1331 + sal di, 006h ; c1 e7 06 ; 0xc1f56 + mov al, byte [di+046c4h] ; 8a 85 c4 46 ; 0xc1f59 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc1f5d + mov al, byte [bx+04631h] ; 8a 87 31 46 ; 0xc1f60 vgabios.c:1332 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc1f64 + dec si ; 4e ; 0xc1f67 vgabios.c:1333 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc1f68 + je near 01ffbh ; 0f 84 8c 00 ; 0xc1f6b + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc1f6f + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1f73 + jnc near 01ffbh ; 0f 83 81 00 ; 0xc1f76 + movzx bx, byte [bp-00eh] ; 0f b6 5e f2 ; 0xc1f7a vgabios.c:1335 + sal bx, 003h ; c1 e3 03 ; 0xc1f7e + mov bl, byte [bx+04630h] ; 8a 9f 30 46 ; 0xc1f81 + cmp bl, 003h ; 80 fb 03 ; 0xc1f85 + jc short 01f98h ; 72 0e ; 0xc1f88 + jbe short 01f9fh ; 76 13 ; 0xc1f8a + cmp bl, 005h ; 80 fb 05 ; 0xc1f8c + je short 01fddh ; 74 4c ; 0xc1f8f + cmp bl, 004h ; 80 fb 04 ; 0xc1f91 + je short 01f9fh ; 74 09 ; 0xc1f94 + jmp short 01ff5h ; eb 5d ; 0xc1f96 + cmp bl, 002h ; 80 fb 02 ; 0xc1f98 + je short 01fbeh ; 74 21 ; 0xc1f9b + jmp short 01ff5h ; eb 56 ; 0xc1f9d + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc1f9f vgabios.c:1339 + push ax ; 50 ; 0xc1fa3 + movzx ax, byte [bp-016h] ; 0f b6 46 ea ; 0xc1fa4 + push ax ; 50 ; 0xc1fa8 + movzx cx, byte [bp-010h] ; 0f b6 4e f0 ; 0xc1fa9 + movzx bx, byte [bp-00ch] ; 0f b6 5e f4 ; 0xc1fad + movzx dx, byte [bp-014h] ; 0f b6 56 ec ; 0xc1fb1 + movzx ax, byte [bp-012h] ; 0f b6 46 ee ; 0xc1fb5 + call 01a91h ; e8 d5 fa ; 0xc1fb9 + jmp short 01ff5h ; eb 37 ; 0xc1fbc vgabios.c:1340 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc1fbe vgabios.c:1342 + push ax ; 50 ; 0xc1fc2 + movzx ax, byte [bp-016h] ; 0f b6 46 ea ; 0xc1fc3 + push ax ; 50 ; 0xc1fc7 + movzx cx, byte [bp-010h] ; 0f b6 4e f0 ; 0xc1fc8 + movzx bx, byte [bp-00ch] ; 0f b6 5e f4 ; 0xc1fcc + movzx dx, byte [bp-014h] ; 0f b6 56 ec ; 0xc1fd0 + movzx ax, byte [bp-012h] ; 0f b6 46 ee ; 0xc1fd4 + call 01b7ch ; e8 a1 fb ; 0xc1fd8 + jmp short 01ff5h ; eb 18 ; 0xc1fdb vgabios.c:1343 + movzx ax, byte [bp-016h] ; 0f b6 46 ea ; 0xc1fdd vgabios.c:1345 + push ax ; 50 ; 0xc1fe1 + movzx cx, byte [bp-010h] ; 0f b6 4e f0 ; 0xc1fe2 + movzx bx, byte [bp-00ch] ; 0f b6 5e f4 ; 0xc1fe6 + movzx dx, byte [bp-014h] ; 0f b6 56 ec ; 0xc1fea + movzx ax, byte [bp-012h] ; 0f b6 46 ee ; 0xc1fee + call 01c9ah ; e8 a5 fc ; 0xc1ff2 + inc byte [bp-00ch] ; fe 46 f4 ; 0xc1ff5 vgabios.c:1352 + jmp near 01f67h ; e9 6c ff ; 0xc1ff8 vgabios.c:1353 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1ffb vgabios.c:1355 + pop di ; 5f ; 0xc1ffe + pop si ; 5e ; 0xc1fff + pop bp ; 5d ; 0xc2000 + retn ; c3 ; 0xc2001 + ; disGetNextSymbol 0xc2002 LB 0x1bf6 -> off=0x0 cb=000000000000016a uValue=00000000000c2002 'biosfn_write_pixel' +biosfn_write_pixel: ; 0xc2002 LB 0x16a + push bp ; 55 ; 0xc2002 vgabios.c:1358 + mov bp, sp ; 89 e5 ; 0xc2003 + push si ; 56 ; 0xc2005 + sub sp, strict byte 00008h ; 83 ec 08 ; 0xc2006 + mov byte [bp-006h], dl ; 88 56 fa ; 0xc2009 + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc200c + mov dx, strict word 00049h ; ba 49 00 ; 0xc200f vgabios.c:1364 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2012 + call 02f57h ; e8 3f 0f ; 0xc2015 + xor ah, ah ; 30 e4 ; 0xc2018 vgabios.c:1365 + call 02f30h ; e8 13 0f ; 0xc201a + mov byte [bp-004h], al ; 88 46 fc ; 0xc201d + cmp AL, strict byte 0ffh ; 3c ff ; 0xc2020 vgabios.c:1366 + je near 02144h ; 0f 84 1e 01 ; 0xc2022 + movzx bx, al ; 0f b6 d8 ; 0xc2026 vgabios.c:1367 + sal bx, 003h ; c1 e3 03 ; 0xc2029 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc202c + je near 02144h ; 0f 84 0f 01 ; 0xc2031 + mov al, byte [bx+04630h] ; 8a 87 30 46 ; 0xc2035 vgabios.c:1369 + cmp AL, strict byte 003h ; 3c 03 ; 0xc2039 + jc short 0204ch ; 72 0f ; 0xc203b + jbe short 02053h ; 76 14 ; 0xc203d + cmp AL, strict byte 005h ; 3c 05 ; 0xc203f + je near 0214ah ; 0f 84 05 01 ; 0xc2041 + cmp AL, strict byte 004h ; 3c 04 ; 0xc2045 + je short 02053h ; 74 0a ; 0xc2047 + jmp near 02144h ; e9 f8 00 ; 0xc2049 + cmp AL, strict byte 002h ; 3c 02 ; 0xc204c + je short 020b8h ; 74 68 ; 0xc204e + jmp near 02144h ; e9 f1 00 ; 0xc2050 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2053 vgabios.c:1373 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2056 + call 02f73h ; e8 17 0f ; 0xc2059 + imul ax, cx ; 0f af c1 ; 0xc205c + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc205f + shr bx, 003h ; c1 eb 03 ; 0xc2062 + add bx, ax ; 01 c3 ; 0xc2065 + mov word [bp-008h], bx ; 89 5e f8 ; 0xc2067 + mov cx, word [bp-00ah] ; 8b 4e f6 ; 0xc206a vgabios.c:1374 + and cl, 007h ; 80 e1 07 ; 0xc206d + mov ax, 00080h ; b8 80 00 ; 0xc2070 + sar ax, CL ; d3 f8 ; 0xc2073 + xor ah, ah ; 30 e4 ; 0xc2075 vgabios.c:1375 + sal ax, 008h ; c1 e0 08 ; 0xc2077 + or AL, strict byte 008h ; 0c 08 ; 0xc207a + mov dx, 003ceh ; ba ce 03 ; 0xc207c + out DX, ax ; ef ; 0xc207f + mov ax, 00205h ; b8 05 02 ; 0xc2080 vgabios.c:1376 + out DX, ax ; ef ; 0xc2083 + mov dx, bx ; 89 da ; 0xc2084 vgabios.c:1377 + mov ax, 0a000h ; b8 00 a0 ; 0xc2086 + call 02f57h ; e8 cb 0e ; 0xc2089 + test byte [bp-006h], 080h ; f6 46 fa 80 ; 0xc208c vgabios.c:1378 + je short 02099h ; 74 07 ; 0xc2090 + mov ax, 01803h ; b8 03 18 ; 0xc2092 vgabios.c:1380 + mov dx, 003ceh ; ba ce 03 ; 0xc2095 + out DX, ax ; ef ; 0xc2098 + movzx bx, byte [bp-006h] ; 0f b6 5e fa ; 0xc2099 vgabios.c:1382 + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc209d + mov ax, 0a000h ; b8 00 a0 ; 0xc20a0 + call 02f65h ; e8 bf 0e ; 0xc20a3 + mov ax, 0ff08h ; b8 08 ff ; 0xc20a6 vgabios.c:1383 + mov dx, 003ceh ; ba ce 03 ; 0xc20a9 + out DX, ax ; ef ; 0xc20ac + mov ax, strict word 00005h ; b8 05 00 ; 0xc20ad vgabios.c:1384 + out DX, ax ; ef ; 0xc20b0 + mov ax, strict word 00003h ; b8 03 00 ; 0xc20b1 vgabios.c:1385 + out DX, ax ; ef ; 0xc20b4 + jmp near 02144h ; e9 8c 00 ; 0xc20b5 vgabios.c:1386 + mov ax, cx ; 89 c8 ; 0xc20b8 vgabios.c:1388 + shr ax, 1 ; d1 e8 ; 0xc20ba + imul ax, ax, strict byte 00050h ; 6b c0 50 ; 0xc20bc + cmp byte [bx+04631h], 002h ; 80 bf 31 46 02 ; 0xc20bf + jne short 020ceh ; 75 08 ; 0xc20c4 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc20c6 vgabios.c:1390 + shr bx, 002h ; c1 eb 02 ; 0xc20c9 + jmp short 020d4h ; eb 06 ; 0xc20cc vgabios.c:1392 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc20ce vgabios.c:1394 + shr bx, 003h ; c1 eb 03 ; 0xc20d1 + add bx, ax ; 01 c3 ; 0xc20d4 + mov word [bp-008h], bx ; 89 5e f8 ; 0xc20d6 + test cl, 001h ; f6 c1 01 ; 0xc20d9 vgabios.c:1396 + je short 020e2h ; 74 04 ; 0xc20dc + add byte [bp-007h], 020h ; 80 46 f9 20 ; 0xc20de + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc20e2 vgabios.c:1397 + mov ax, 0b800h ; b8 00 b8 ; 0xc20e5 + call 02f57h ; e8 6c 0e ; 0xc20e8 + mov bl, al ; 88 c3 ; 0xc20eb + movzx si, byte [bp-004h] ; 0f b6 76 fc ; 0xc20ed vgabios.c:1398 + sal si, 003h ; c1 e6 03 ; 0xc20f1 + cmp byte [si+04631h], 002h ; 80 bc 31 46 02 ; 0xc20f4 + jne short 02114h ; 75 19 ; 0xc20f9 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc20fb vgabios.c:1400 + and AL, strict byte 003h ; 24 03 ; 0xc20fe + mov AH, strict byte 003h ; b4 03 ; 0xc2100 + sub ah, al ; 28 c4 ; 0xc2102 + mov cl, ah ; 88 e1 ; 0xc2104 + add cl, ah ; 00 e1 ; 0xc2106 + mov bh, byte [bp-006h] ; 8a 7e fa ; 0xc2108 + and bh, 003h ; 80 e7 03 ; 0xc210b + sal bh, CL ; d2 e7 ; 0xc210e + mov AL, strict byte 003h ; b0 03 ; 0xc2110 vgabios.c:1401 + jmp short 02127h ; eb 13 ; 0xc2112 vgabios.c:1403 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2114 vgabios.c:1405 + and AL, strict byte 007h ; 24 07 ; 0xc2117 + mov CL, strict byte 007h ; b1 07 ; 0xc2119 + sub cl, al ; 28 c1 ; 0xc211b + mov bh, byte [bp-006h] ; 8a 7e fa ; 0xc211d + and bh, 001h ; 80 e7 01 ; 0xc2120 + sal bh, CL ; d2 e7 ; 0xc2123 + mov AL, strict byte 001h ; b0 01 ; 0xc2125 vgabios.c:1406 + sal al, CL ; d2 e0 ; 0xc2127 + test byte [bp-006h], 080h ; f6 46 fa 80 ; 0xc2129 vgabios.c:1408 + je short 02133h ; 74 04 ; 0xc212d + xor bl, bh ; 30 fb ; 0xc212f vgabios.c:1410 + jmp short 02139h ; eb 06 ; 0xc2131 vgabios.c:1412 + not al ; f6 d0 ; 0xc2133 vgabios.c:1414 + and bl, al ; 20 c3 ; 0xc2135 + or bl, bh ; 08 fb ; 0xc2137 vgabios.c:1415 + xor bh, bh ; 30 ff ; 0xc2139 vgabios.c:1417 + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc213b + mov ax, 0b800h ; b8 00 b8 ; 0xc213e + call 02f65h ; e8 21 0e ; 0xc2141 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc2144 vgabios.c:1418 + pop si ; 5e ; 0xc2147 + pop bp ; 5d ; 0xc2148 + retn ; c3 ; 0xc2149 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc214a vgabios.c:1420 + mov ax, strict word 00040h ; b8 40 00 ; 0xc214d + call 02f73h ; e8 20 0e ; 0xc2150 + sal ax, 003h ; c1 e0 03 ; 0xc2153 + imul cx, ax ; 0f af c8 ; 0xc2156 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc2159 + add ax, cx ; 01 c8 ; 0xc215c + mov word [bp-008h], ax ; 89 46 f8 ; 0xc215e + movzx bx, byte [bp-006h] ; 0f b6 5e fa ; 0xc2161 vgabios.c:1421 + mov dx, ax ; 89 c2 ; 0xc2165 + mov ax, 0a000h ; b8 00 a0 ; 0xc2167 + jmp short 02141h ; eb d5 ; 0xc216a + ; disGetNextSymbol 0xc216c LB 0x1a8c -> off=0x0 cb=0000000000000241 uValue=00000000000c216c 'biosfn_write_teletype' +biosfn_write_teletype: ; 0xc216c LB 0x241 + push bp ; 55 ; 0xc216c vgabios.c:1431 + mov bp, sp ; 89 e5 ; 0xc216d + push si ; 56 ; 0xc216f + sub sp, strict byte 00016h ; 83 ec 16 ; 0xc2170 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc2173 + mov byte [bp-006h], dl ; 88 56 fa ; 0xc2176 + mov byte [bp-004h], bl ; 88 5e fc ; 0xc2179 + mov byte [bp-00eh], cl ; 88 4e f2 ; 0xc217c + cmp dl, 0ffh ; 80 fa ff ; 0xc217f vgabios.c:1439 + jne short 02190h ; 75 0c ; 0xc2182 + mov dx, strict word 00062h ; ba 62 00 ; 0xc2184 vgabios.c:1440 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2187 + call 02f57h ; e8 ca 0d ; 0xc218a + mov byte [bp-006h], al ; 88 46 fa ; 0xc218d + mov dx, strict word 00049h ; ba 49 00 ; 0xc2190 vgabios.c:1443 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2193 + call 02f57h ; e8 be 0d ; 0xc2196 + xor ah, ah ; 30 e4 ; 0xc2199 vgabios.c:1444 + call 02f30h ; e8 92 0d ; 0xc219b + mov byte [bp-010h], al ; 88 46 f0 ; 0xc219e + cmp AL, strict byte 0ffh ; 3c ff ; 0xc21a1 vgabios.c:1445 + je near 023a7h ; 0f 84 00 02 ; 0xc21a3 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc21a7 vgabios.c:1448 + lea bx, [bp-018h] ; 8d 5e e8 ; 0xc21ab + lea dx, [bp-016h] ; 8d 56 ea ; 0xc21ae + call 00a88h ; e8 d4 e8 ; 0xc21b1 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc21b4 vgabios.c:1449 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc21b7 + mov ax, word [bp-018h] ; 8b 46 e8 ; 0xc21ba + xor al, al ; 30 c0 ; 0xc21bd + shr ax, 008h ; c1 e8 08 ; 0xc21bf + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc21c2 + mov dx, 00084h ; ba 84 00 ; 0xc21c5 vgabios.c:1452 + mov ax, strict word 00040h ; b8 40 00 ; 0xc21c8 + call 02f57h ; e8 89 0d ; 0xc21cb + xor ah, ah ; 30 e4 ; 0xc21ce + inc ax ; 40 ; 0xc21d0 + mov word [bp-014h], ax ; 89 46 ec ; 0xc21d1 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc21d4 vgabios.c:1453 + mov ax, strict word 00040h ; b8 40 00 ; 0xc21d7 + call 02f73h ; e8 96 0d ; 0xc21da + mov word [bp-012h], ax ; 89 46 ee ; 0xc21dd + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc21e0 vgabios.c:1455 + cmp AL, strict byte 008h ; 3c 08 ; 0xc21e3 + jc short 021f5h ; 72 0e ; 0xc21e5 + jbe short 021fdh ; 76 14 ; 0xc21e7 + cmp AL, strict byte 00dh ; 3c 0d ; 0xc21e9 + je short 0220bh ; 74 1e ; 0xc21eb + cmp AL, strict byte 00ah ; 3c 0a ; 0xc21ed + je near 022fdh ; 0f 84 0a 01 ; 0xc21ef + jmp short 02212h ; eb 1d ; 0xc21f3 + cmp AL, strict byte 007h ; 3c 07 ; 0xc21f5 + je near 02300h ; 0f 84 05 01 ; 0xc21f7 + jmp short 02212h ; eb 15 ; 0xc21fb + cmp byte [bp-008h], 000h ; 80 7e f8 00 ; 0xc21fd vgabios.c:1462 + jbe near 02300h ; 0f 86 fb 00 ; 0xc2201 + dec byte [bp-008h] ; fe 4e f8 ; 0xc2205 + jmp near 02300h ; e9 f5 00 ; 0xc2208 vgabios.c:1463 + mov byte [bp-008h], 000h ; c6 46 f8 00 ; 0xc220b vgabios.c:1470 + jmp near 02300h ; e9 ee 00 ; 0xc220f vgabios.c:1471 + movzx bx, byte [bp-010h] ; 0f b6 5e f0 ; 0xc2212 vgabios.c:1475 + mov si, bx ; 89 de ; 0xc2216 + sal si, 003h ; c1 e6 03 ; 0xc2218 + cmp byte [si+0462fh], 000h ; 80 bc 2f 46 00 ; 0xc221b + jne short 0226fh ; 75 4d ; 0xc2220 + mov ax, word [bp-012h] ; 8b 46 ee ; 0xc2222 vgabios.c:1478 + imul ax, word [bp-014h] ; 0f af 46 ec ; 0xc2225 + add ax, ax ; 01 c0 ; 0xc2229 + or AL, strict byte 0ffh ; 0c ff ; 0xc222b + movzx dx, byte [bp-006h] ; 0f b6 56 fa ; 0xc222d + mov cx, ax ; 89 c1 ; 0xc2231 + inc cx ; 41 ; 0xc2233 + imul cx, dx ; 0f af ca ; 0xc2234 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc2237 + imul ax, word [bp-012h] ; 0f af 46 ee ; 0xc223b + movzx dx, byte [bp-008h] ; 0f b6 56 f8 ; 0xc223f + add ax, dx ; 01 d0 ; 0xc2243 + add ax, ax ; 01 c0 ; 0xc2245 + add cx, ax ; 01 c1 ; 0xc2247 + movzx bx, byte [bp-00ch] ; 0f b6 5e f4 ; 0xc2249 vgabios.c:1481 + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc224d + mov dx, cx ; 89 ca ; 0xc2251 + call 02f65h ; e8 0f 0d ; 0xc2253 + cmp byte [bp-00eh], 003h ; 80 7e f2 03 ; 0xc2256 vgabios.c:1483 + jne near 022edh ; 0f 85 8f 00 ; 0xc225a + movzx bx, byte [bp-004h] ; 0f b6 5e fc ; 0xc225e vgabios.c:1484 + mov dx, cx ; 89 ca ; 0xc2262 + inc dx ; 42 ; 0xc2264 + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc2265 + call 02f65h ; e8 f9 0c ; 0xc2269 + jmp near 022edh ; e9 7e 00 ; 0xc226c vgabios.c:1486 + movzx bx, byte [bx+046aeh] ; 0f b6 9f ae 46 ; 0xc226f vgabios.c:1489 + sal bx, 006h ; c1 e3 06 ; 0xc2274 + mov ah, byte [bx+046c4h] ; 8a a7 c4 46 ; 0xc2277 + mov dl, byte [si+04631h] ; 8a 94 31 46 ; 0xc227b vgabios.c:1490 + mov al, byte [si+04630h] ; 8a 84 30 46 ; 0xc227f vgabios.c:1491 + cmp AL, strict byte 003h ; 3c 03 ; 0xc2283 + jc short 02293h ; 72 0c ; 0xc2285 + jbe short 02299h ; 76 10 ; 0xc2287 + cmp AL, strict byte 005h ; 3c 05 ; 0xc2289 + je short 022d5h ; 74 48 ; 0xc228b + cmp AL, strict byte 004h ; 3c 04 ; 0xc228d + je short 02299h ; 74 08 ; 0xc228f + jmp short 022edh ; eb 5a ; 0xc2291 + cmp AL, strict byte 002h ; 3c 02 ; 0xc2293 + je short 022b7h ; 74 20 ; 0xc2295 + jmp short 022edh ; eb 54 ; 0xc2297 + movzx ax, ah ; 0f b6 c4 ; 0xc2299 vgabios.c:1495 + push ax ; 50 ; 0xc229c + movzx ax, byte [bp-012h] ; 0f b6 46 ee ; 0xc229d + push ax ; 50 ; 0xc22a1 + movzx cx, byte [bp-00ah] ; 0f b6 4e f6 ; 0xc22a2 + movzx bx, byte [bp-008h] ; 0f b6 5e f8 ; 0xc22a6 + movzx dx, byte [bp-004h] ; 0f b6 56 fc ; 0xc22aa + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc22ae + call 01a91h ; e8 dc f7 ; 0xc22b2 + jmp short 022edh ; eb 36 ; 0xc22b5 vgabios.c:1496 + movzx ax, dl ; 0f b6 c2 ; 0xc22b7 vgabios.c:1498 + push ax ; 50 ; 0xc22ba + movzx ax, byte [bp-012h] ; 0f b6 46 ee ; 0xc22bb + push ax ; 50 ; 0xc22bf + movzx cx, byte [bp-00ah] ; 0f b6 4e f6 ; 0xc22c0 + movzx bx, byte [bp-008h] ; 0f b6 5e f8 ; 0xc22c4 + movzx dx, byte [bp-004h] ; 0f b6 56 fc ; 0xc22c8 + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc22cc + call 01b7ch ; e8 a9 f8 ; 0xc22d0 + jmp short 022edh ; eb 18 ; 0xc22d3 vgabios.c:1499 + movzx ax, byte [bp-012h] ; 0f b6 46 ee ; 0xc22d5 vgabios.c:1501 + push ax ; 50 ; 0xc22d9 + movzx cx, byte [bp-00ah] ; 0f b6 4e f6 ; 0xc22da + movzx bx, byte [bp-008h] ; 0f b6 5e f8 ; 0xc22de + movzx dx, byte [bp-004h] ; 0f b6 56 fc ; 0xc22e2 + movzx ax, byte [bp-00ch] ; 0f b6 46 f4 ; 0xc22e6 + call 01c9ah ; e8 ad f9 ; 0xc22ea + inc byte [bp-008h] ; fe 46 f8 ; 0xc22ed vgabios.c:1509 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc22f0 vgabios.c:1511 + cmp ax, word [bp-012h] ; 3b 46 ee ; 0xc22f4 + jne short 02300h ; 75 07 ; 0xc22f7 + mov byte [bp-008h], 000h ; c6 46 f8 00 ; 0xc22f9 vgabios.c:1512 + inc byte [bp-00ah] ; fe 46 f6 ; 0xc22fd vgabios.c:1513 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc2300 vgabios.c:1518 + cmp ax, word [bp-014h] ; 3b 46 ec ; 0xc2304 + jne near 0238bh ; 0f 85 80 00 ; 0xc2307 + movzx si, byte [bp-010h] ; 0f b6 76 f0 ; 0xc230b vgabios.c:1520 + sal si, 003h ; c1 e6 03 ; 0xc230f + mov bh, byte [bp-014h] ; 8a 7e ec ; 0xc2312 + db 0feh, 0cfh + ; dec bh ; fe cf ; 0xc2315 + mov bl, byte [bp-012h] ; 8a 5e ee ; 0xc2317 + db 0feh, 0cbh + ; dec bl ; fe cb ; 0xc231a + cmp byte [si+0462fh], 000h ; 80 bc 2f 46 00 ; 0xc231c + jne short 0236dh ; 75 4a ; 0xc2321 + mov ax, word [bp-012h] ; 8b 46 ee ; 0xc2323 vgabios.c:1522 + imul ax, word [bp-014h] ; 0f af 46 ec ; 0xc2326 + add ax, ax ; 01 c0 ; 0xc232a + or AL, strict byte 0ffh ; 0c ff ; 0xc232c + movzx dx, byte [bp-006h] ; 0f b6 56 fa ; 0xc232e + mov cx, ax ; 89 c1 ; 0xc2332 + inc cx ; 41 ; 0xc2334 + imul cx, dx ; 0f af ca ; 0xc2335 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc2338 + dec ax ; 48 ; 0xc233c + imul ax, word [bp-012h] ; 0f af 46 ee ; 0xc233d + movzx dx, byte [bp-008h] ; 0f b6 56 f8 ; 0xc2341 + add ax, dx ; 01 d0 ; 0xc2345 + add ax, ax ; 01 c0 ; 0xc2347 + mov dx, cx ; 89 ca ; 0xc2349 + add dx, ax ; 01 c2 ; 0xc234b + inc dx ; 42 ; 0xc234d + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc234e + call 02f57h ; e8 02 0c ; 0xc2352 + push strict byte 00001h ; 6a 01 ; 0xc2355 vgabios.c:1524 + movzx dx, byte [bp-006h] ; 0f b6 56 fa ; 0xc2357 + push dx ; 52 ; 0xc235b + movzx dx, bl ; 0f b6 d3 ; 0xc235c + push dx ; 52 ; 0xc235f + movzx dx, bh ; 0f b6 d7 ; 0xc2360 + push dx ; 52 ; 0xc2363 + movzx dx, al ; 0f b6 d0 ; 0xc2364 + xor cx, cx ; 31 c9 ; 0xc2367 + xor bx, bx ; 31 db ; 0xc2369 + jmp short 02382h ; eb 15 ; 0xc236b vgabios.c:1526 + push strict byte 00001h ; 6a 01 ; 0xc236d vgabios.c:1528 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc236f + push ax ; 50 ; 0xc2373 + movzx ax, bl ; 0f b6 c3 ; 0xc2374 + push ax ; 50 ; 0xc2377 + movzx ax, bh ; 0f b6 c7 ; 0xc2378 + push ax ; 50 ; 0xc237b + xor cx, cx ; 31 c9 ; 0xc237c + xor bx, bx ; 31 db ; 0xc237e + xor dx, dx ; 31 d2 ; 0xc2380 + mov ax, strict word 00001h ; b8 01 00 ; 0xc2382 + call 0158bh ; e8 03 f2 ; 0xc2385 + dec byte [bp-00ah] ; fe 4e f6 ; 0xc2388 vgabios.c:1530 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc238b vgabios.c:1534 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc238f + sal word [bp-018h], 008h ; c1 66 e8 08 ; 0xc2392 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc2396 + add word [bp-018h], ax ; 01 46 e8 ; 0xc239a + mov dx, word [bp-018h] ; 8b 56 e8 ; 0xc239d vgabios.c:1535 + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc23a0 + call 00e5eh ; e8 b7 ea ; 0xc23a4 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc23a7 vgabios.c:1536 + pop si ; 5e ; 0xc23aa + pop bp ; 5d ; 0xc23ab + retn ; c3 ; 0xc23ac + ; disGetNextSymbol 0xc23ad LB 0x184b -> off=0x0 cb=000000000000002c uValue=00000000000c23ad 'get_font_access' +get_font_access: ; 0xc23ad LB 0x2c + push bp ; 55 ; 0xc23ad vgabios.c:1539 + mov bp, sp ; 89 e5 ; 0xc23ae + push dx ; 52 ; 0xc23b0 + mov ax, 00100h ; b8 00 01 ; 0xc23b1 vgabios.c:1541 + mov dx, 003c4h ; ba c4 03 ; 0xc23b4 + out DX, ax ; ef ; 0xc23b7 + mov ax, 00402h ; b8 02 04 ; 0xc23b8 vgabios.c:1542 + out DX, ax ; ef ; 0xc23bb + mov ax, 00704h ; b8 04 07 ; 0xc23bc vgabios.c:1543 + out DX, ax ; ef ; 0xc23bf + mov ax, 00300h ; b8 00 03 ; 0xc23c0 vgabios.c:1544 + out DX, ax ; ef ; 0xc23c3 + mov ax, 00204h ; b8 04 02 ; 0xc23c4 vgabios.c:1545 + mov dx, 003ceh ; ba ce 03 ; 0xc23c7 + out DX, ax ; ef ; 0xc23ca + mov ax, strict word 00005h ; b8 05 00 ; 0xc23cb vgabios.c:1546 + out DX, ax ; ef ; 0xc23ce + mov ax, 00406h ; b8 06 04 ; 0xc23cf vgabios.c:1547 + out DX, ax ; ef ; 0xc23d2 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc23d3 vgabios.c:1548 + pop dx ; 5a ; 0xc23d6 + pop bp ; 5d ; 0xc23d7 + retn ; c3 ; 0xc23d8 + ; disGetNextSymbol 0xc23d9 LB 0x181f -> off=0x0 cb=000000000000003c uValue=00000000000c23d9 'release_font_access' +release_font_access: ; 0xc23d9 LB 0x3c + push bp ; 55 ; 0xc23d9 vgabios.c:1550 + mov bp, sp ; 89 e5 ; 0xc23da + push dx ; 52 ; 0xc23dc + mov ax, 00100h ; b8 00 01 ; 0xc23dd vgabios.c:1552 + mov dx, 003c4h ; ba c4 03 ; 0xc23e0 + out DX, ax ; ef ; 0xc23e3 + mov ax, 00302h ; b8 02 03 ; 0xc23e4 vgabios.c:1553 + out DX, ax ; ef ; 0xc23e7 + mov ax, 00304h ; b8 04 03 ; 0xc23e8 vgabios.c:1554 + out DX, ax ; ef ; 0xc23eb + mov ax, 00300h ; b8 00 03 ; 0xc23ec vgabios.c:1555 + out DX, ax ; ef ; 0xc23ef + mov dx, 003cch ; ba cc 03 ; 0xc23f0 vgabios.c:1556 + in AL, DX ; ec ; 0xc23f3 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc23f4 + and ax, strict word 00001h ; 25 01 00 ; 0xc23f6 + sal ax, 002h ; c1 e0 02 ; 0xc23f9 + or AL, strict byte 00ah ; 0c 0a ; 0xc23fc + sal ax, 008h ; c1 e0 08 ; 0xc23fe + or AL, strict byte 006h ; 0c 06 ; 0xc2401 + mov dx, 003ceh ; ba ce 03 ; 0xc2403 + out DX, ax ; ef ; 0xc2406 + mov ax, strict word 00004h ; b8 04 00 ; 0xc2407 vgabios.c:1557 + out DX, ax ; ef ; 0xc240a + mov ax, 01005h ; b8 05 10 ; 0xc240b vgabios.c:1558 + out DX, ax ; ef ; 0xc240e + lea sp, [bp-002h] ; 8d 66 fe ; 0xc240f vgabios.c:1559 + pop dx ; 5a ; 0xc2412 + pop bp ; 5d ; 0xc2413 + retn ; c3 ; 0xc2414 + ; disGetNextSymbol 0xc2415 LB 0x17e3 -> off=0x0 cb=00000000000000bf uValue=00000000000c2415 'set_scan_lines' +set_scan_lines: ; 0xc2415 LB 0xbf + push bp ; 55 ; 0xc2415 vgabios.c:1561 + mov bp, sp ; 89 e5 ; 0xc2416 + push bx ; 53 ; 0xc2418 + push cx ; 51 ; 0xc2419 + push dx ; 52 ; 0xc241a + push si ; 56 ; 0xc241b + push di ; 57 ; 0xc241c + mov bl, al ; 88 c3 ; 0xc241d + mov dx, strict word 00063h ; ba 63 00 ; 0xc241f vgabios.c:1566 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2422 + call 02f73h ; e8 4b 0b ; 0xc2425 + mov dx, ax ; 89 c2 ; 0xc2428 + mov si, ax ; 89 c6 ; 0xc242a + mov AL, strict byte 009h ; b0 09 ; 0xc242c vgabios.c:1567 + out DX, AL ; ee ; 0xc242e + inc dx ; 42 ; 0xc242f vgabios.c:1568 + in AL, DX ; ec ; 0xc2430 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2431 + mov ah, al ; 88 c4 ; 0xc2433 vgabios.c:1569 + and ah, 0e0h ; 80 e4 e0 ; 0xc2435 + mov al, bl ; 88 d8 ; 0xc2438 + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc243a + or al, ah ; 08 e0 ; 0xc243c + out DX, AL ; ee ; 0xc243e vgabios.c:1570 + cmp bl, 008h ; 80 fb 08 ; 0xc243f vgabios.c:1571 + jne short 0244ch ; 75 08 ; 0xc2442 + mov dx, strict word 00007h ; ba 07 00 ; 0xc2444 vgabios.c:1573 + mov ax, strict word 00006h ; b8 06 00 ; 0xc2447 + jmp short 02459h ; eb 0d ; 0xc244a vgabios.c:1575 + mov al, bl ; 88 d8 ; 0xc244c vgabios.c:1577 + sub AL, strict byte 003h ; 2c 03 ; 0xc244e + movzx dx, al ; 0f b6 d0 ; 0xc2450 + mov al, bl ; 88 d8 ; 0xc2453 + sub AL, strict byte 004h ; 2c 04 ; 0xc2455 + xor ah, ah ; 30 e4 ; 0xc2457 + call 00dbah ; e8 5e e9 ; 0xc2459 + movzx di, bl ; 0f b6 fb ; 0xc245c vgabios.c:1579 + mov bx, di ; 89 fb ; 0xc245f + mov dx, 00085h ; ba 85 00 ; 0xc2461 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2464 + call 02f81h ; e8 17 0b ; 0xc2467 + mov AL, strict byte 012h ; b0 12 ; 0xc246a vgabios.c:1580 + mov dx, si ; 89 f2 ; 0xc246c + out DX, AL ; ee ; 0xc246e + lea cx, [si+001h] ; 8d 4c 01 ; 0xc246f vgabios.c:1581 + mov dx, cx ; 89 ca ; 0xc2472 + in AL, DX ; ec ; 0xc2474 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2475 + mov bx, ax ; 89 c3 ; 0xc2477 + mov AL, strict byte 007h ; b0 07 ; 0xc2479 vgabios.c:1582 + mov dx, si ; 89 f2 ; 0xc247b + out DX, AL ; ee ; 0xc247d + mov dx, cx ; 89 ca ; 0xc247e vgabios.c:1583 + in AL, DX ; ec ; 0xc2480 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2481 + mov ah, al ; 88 c4 ; 0xc2483 vgabios.c:1584 + and ah, 002h ; 80 e4 02 ; 0xc2485 + movzx dx, ah ; 0f b6 d4 ; 0xc2488 + sal dx, 007h ; c1 e2 07 ; 0xc248b + and AL, strict byte 040h ; 24 40 ; 0xc248e + xor ah, ah ; 30 e4 ; 0xc2490 + sal ax, 003h ; c1 e0 03 ; 0xc2492 + add ax, dx ; 01 d0 ; 0xc2495 + inc ax ; 40 ; 0xc2497 + add ax, bx ; 01 d8 ; 0xc2498 + xor dx, dx ; 31 d2 ; 0xc249a vgabios.c:1585 + div di ; f7 f7 ; 0xc249c + mov cx, ax ; 89 c1 ; 0xc249e + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc24a0 vgabios.c:1586 + movzx bx, al ; 0f b6 d8 ; 0xc24a2 + mov dx, 00084h ; ba 84 00 ; 0xc24a5 + mov ax, strict word 00040h ; b8 40 00 ; 0xc24a8 + call 02f65h ; e8 b7 0a ; 0xc24ab + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc24ae vgabios.c:1587 + mov ax, strict word 00040h ; b8 40 00 ; 0xc24b1 + call 02f73h ; e8 bc 0a ; 0xc24b4 + movzx dx, cl ; 0f b6 d1 ; 0xc24b7 vgabios.c:1588 + mov bx, ax ; 89 c3 ; 0xc24ba + imul bx, dx ; 0f af da ; 0xc24bc + add bx, bx ; 01 db ; 0xc24bf + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc24c1 + mov ax, strict word 00040h ; b8 40 00 ; 0xc24c4 + call 02f81h ; e8 b7 0a ; 0xc24c7 + lea sp, [bp-00ah] ; 8d 66 f6 ; 0xc24ca vgabios.c:1589 + pop di ; 5f ; 0xc24cd + pop si ; 5e ; 0xc24ce + pop dx ; 5a ; 0xc24cf + pop cx ; 59 ; 0xc24d0 + pop bx ; 5b ; 0xc24d1 + pop bp ; 5d ; 0xc24d2 + retn ; c3 ; 0xc24d3 + ; disGetNextSymbol 0xc24d4 LB 0x1724 -> off=0x0 cb=000000000000007d uValue=00000000000c24d4 'biosfn_load_text_user_pat' +biosfn_load_text_user_pat: ; 0xc24d4 LB 0x7d + push bp ; 55 ; 0xc24d4 vgabios.c:1591 + mov bp, sp ; 89 e5 ; 0xc24d5 + push si ; 56 ; 0xc24d7 + push di ; 57 ; 0xc24d8 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc24d9 + mov byte [bp-006h], al ; 88 46 fa ; 0xc24dc + mov word [bp-00ch], dx ; 89 56 f4 ; 0xc24df + mov word [bp-008h], bx ; 89 5e f8 ; 0xc24e2 + mov word [bp-00ah], cx ; 89 4e f6 ; 0xc24e5 + call 023adh ; e8 c2 fe ; 0xc24e8 vgabios.c:1596 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc24eb vgabios.c:1597 + and AL, strict byte 003h ; 24 03 ; 0xc24ee + xor ah, ah ; 30 e4 ; 0xc24f0 + mov bx, ax ; 89 c3 ; 0xc24f2 + sal bx, 00eh ; c1 e3 0e ; 0xc24f4 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc24f7 + and AL, strict byte 004h ; 24 04 ; 0xc24fa + xor ah, ah ; 30 e4 ; 0xc24fc + sal ax, 00bh ; c1 e0 0b ; 0xc24fe + add bx, ax ; 01 c3 ; 0xc2501 + mov word [bp-00eh], bx ; 89 5e f2 ; 0xc2503 + xor bx, bx ; 31 db ; 0xc2506 vgabios.c:1598 + cmp bx, word [bp-00ah] ; 3b 5e f6 ; 0xc2508 + jnc short 02538h ; 73 2b ; 0xc250b + movzx cx, byte [bp+008h] ; 0f b6 4e 08 ; 0xc250d vgabios.c:1600 + mov si, bx ; 89 de ; 0xc2511 + imul si, cx ; 0f af f1 ; 0xc2513 + add si, word [bp-008h] ; 03 76 f8 ; 0xc2516 + mov di, word [bp+004h] ; 8b 7e 04 ; 0xc2519 vgabios.c:1601 + add di, bx ; 01 df ; 0xc251c + sal di, 005h ; c1 e7 05 ; 0xc251e + add di, word [bp-00eh] ; 03 7e f2 ; 0xc2521 + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc2524 vgabios.c:1602 + mov ax, 0a000h ; b8 00 a0 ; 0xc2527 + mov es, ax ; 8e c0 ; 0xc252a + cld ; fc ; 0xc252c + jcxz 02535h ; e3 06 ; 0xc252d + push DS ; 1e ; 0xc252f + mov ds, dx ; 8e da ; 0xc2530 + rep movsb ; f3 a4 ; 0xc2532 + pop DS ; 1f ; 0xc2534 + inc bx ; 43 ; 0xc2535 vgabios.c:1603 + jmp short 02508h ; eb d0 ; 0xc2536 + call 023d9h ; e8 9e fe ; 0xc2538 vgabios.c:1604 + cmp byte [bp-006h], 010h ; 80 7e fa 10 ; 0xc253b vgabios.c:1605 + jc short 02548h ; 72 07 ; 0xc253f + movzx ax, byte [bp+008h] ; 0f b6 46 08 ; 0xc2541 vgabios.c:1607 + call 02415h ; e8 cd fe ; 0xc2545 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc2548 vgabios.c:1609 + pop di ; 5f ; 0xc254b + pop si ; 5e ; 0xc254c + pop bp ; 5d ; 0xc254d + retn 00006h ; c2 06 00 ; 0xc254e + ; disGetNextSymbol 0xc2551 LB 0x16a7 -> off=0x0 cb=0000000000000070 uValue=00000000000c2551 'biosfn_load_text_8_14_pat' +biosfn_load_text_8_14_pat: ; 0xc2551 LB 0x70 + push bp ; 55 ; 0xc2551 vgabios.c:1611 + mov bp, sp ; 89 e5 ; 0xc2552 + push bx ; 53 ; 0xc2554 + push cx ; 51 ; 0xc2555 + push si ; 56 ; 0xc2556 + push di ; 57 ; 0xc2557 + push ax ; 50 ; 0xc2558 + push ax ; 50 ; 0xc2559 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc255a + call 023adh ; e8 4d fe ; 0xc255d vgabios.c:1615 + mov al, dl ; 88 d0 ; 0xc2560 vgabios.c:1616 + and AL, strict byte 003h ; 24 03 ; 0xc2562 + xor ah, ah ; 30 e4 ; 0xc2564 + mov bx, ax ; 89 c3 ; 0xc2566 + sal bx, 00eh ; c1 e3 0e ; 0xc2568 + mov al, dl ; 88 d0 ; 0xc256b + and AL, strict byte 004h ; 24 04 ; 0xc256d + xor ah, ah ; 30 e4 ; 0xc256f + sal ax, 00bh ; c1 e0 0b ; 0xc2571 + add bx, ax ; 01 c3 ; 0xc2574 + mov word [bp-00ch], bx ; 89 5e f4 ; 0xc2576 + xor bx, bx ; 31 db ; 0xc2579 vgabios.c:1617 + jmp short 02583h ; eb 06 ; 0xc257b + cmp bx, 00100h ; 81 fb 00 01 ; 0xc257d + jnc short 025a9h ; 73 26 ; 0xc2581 + imul si, bx, strict byte 0000eh ; 6b f3 0e ; 0xc2583 vgabios.c:1619 + mov di, bx ; 89 df ; 0xc2586 vgabios.c:1620 + sal di, 005h ; c1 e7 05 ; 0xc2588 + add di, word [bp-00ch] ; 03 7e f4 ; 0xc258b + add si, 05bech ; 81 c6 ec 5b ; 0xc258e vgabios.c:1621 + mov cx, strict word 0000eh ; b9 0e 00 ; 0xc2592 + mov dx, 0c000h ; ba 00 c0 ; 0xc2595 + mov ax, 0a000h ; b8 00 a0 ; 0xc2598 + mov es, ax ; 8e c0 ; 0xc259b + cld ; fc ; 0xc259d + jcxz 025a6h ; e3 06 ; 0xc259e + push DS ; 1e ; 0xc25a0 + mov ds, dx ; 8e da ; 0xc25a1 + rep movsb ; f3 a4 ; 0xc25a3 + pop DS ; 1f ; 0xc25a5 + inc bx ; 43 ; 0xc25a6 vgabios.c:1622 + jmp short 0257dh ; eb d4 ; 0xc25a7 + call 023d9h ; e8 2d fe ; 0xc25a9 vgabios.c:1623 + cmp byte [bp-00ah], 010h ; 80 7e f6 10 ; 0xc25ac vgabios.c:1624 + jc short 025b8h ; 72 06 ; 0xc25b0 + mov ax, strict word 0000eh ; b8 0e 00 ; 0xc25b2 vgabios.c:1626 + call 02415h ; e8 5d fe ; 0xc25b5 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc25b8 vgabios.c:1628 + pop di ; 5f ; 0xc25bb + pop si ; 5e ; 0xc25bc + pop cx ; 59 ; 0xc25bd + pop bx ; 5b ; 0xc25be + pop bp ; 5d ; 0xc25bf + retn ; c3 ; 0xc25c0 + ; disGetNextSymbol 0xc25c1 LB 0x1637 -> off=0x0 cb=0000000000000072 uValue=00000000000c25c1 'biosfn_load_text_8_8_pat' +biosfn_load_text_8_8_pat: ; 0xc25c1 LB 0x72 + push bp ; 55 ; 0xc25c1 vgabios.c:1630 + mov bp, sp ; 89 e5 ; 0xc25c2 + push bx ; 53 ; 0xc25c4 + push cx ; 51 ; 0xc25c5 + push si ; 56 ; 0xc25c6 + push di ; 57 ; 0xc25c7 + push ax ; 50 ; 0xc25c8 + push ax ; 50 ; 0xc25c9 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc25ca + call 023adh ; e8 dd fd ; 0xc25cd vgabios.c:1634 + mov al, dl ; 88 d0 ; 0xc25d0 vgabios.c:1635 + and AL, strict byte 003h ; 24 03 ; 0xc25d2 + xor ah, ah ; 30 e4 ; 0xc25d4 + mov bx, ax ; 89 c3 ; 0xc25d6 + sal bx, 00eh ; c1 e3 0e ; 0xc25d8 + mov al, dl ; 88 d0 ; 0xc25db + and AL, strict byte 004h ; 24 04 ; 0xc25dd + xor ah, ah ; 30 e4 ; 0xc25df + sal ax, 00bh ; c1 e0 0b ; 0xc25e1 + add bx, ax ; 01 c3 ; 0xc25e4 + mov word [bp-00ch], bx ; 89 5e f4 ; 0xc25e6 + xor bx, bx ; 31 db ; 0xc25e9 vgabios.c:1636 + jmp short 025f3h ; eb 06 ; 0xc25eb + cmp bx, 00100h ; 81 fb 00 01 ; 0xc25ed + jnc short 0261bh ; 73 28 ; 0xc25f1 + mov si, bx ; 89 de ; 0xc25f3 vgabios.c:1638 + sal si, 003h ; c1 e6 03 ; 0xc25f5 + mov di, bx ; 89 df ; 0xc25f8 vgabios.c:1639 + sal di, 005h ; c1 e7 05 ; 0xc25fa + add di, word [bp-00ch] ; 03 7e f4 ; 0xc25fd + add si, 053ech ; 81 c6 ec 53 ; 0xc2600 vgabios.c:1640 + mov cx, strict word 00008h ; b9 08 00 ; 0xc2604 + mov dx, 0c000h ; ba 00 c0 ; 0xc2607 + mov ax, 0a000h ; b8 00 a0 ; 0xc260a + mov es, ax ; 8e c0 ; 0xc260d + cld ; fc ; 0xc260f + jcxz 02618h ; e3 06 ; 0xc2610 + push DS ; 1e ; 0xc2612 + mov ds, dx ; 8e da ; 0xc2613 + rep movsb ; f3 a4 ; 0xc2615 + pop DS ; 1f ; 0xc2617 + inc bx ; 43 ; 0xc2618 vgabios.c:1641 + jmp short 025edh ; eb d2 ; 0xc2619 + call 023d9h ; e8 bb fd ; 0xc261b vgabios.c:1642 + cmp byte [bp-00ah], 010h ; 80 7e f6 10 ; 0xc261e vgabios.c:1643 + jc short 0262ah ; 72 06 ; 0xc2622 + mov ax, strict word 00008h ; b8 08 00 ; 0xc2624 vgabios.c:1645 + call 02415h ; e8 eb fd ; 0xc2627 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc262a vgabios.c:1647 + pop di ; 5f ; 0xc262d + pop si ; 5e ; 0xc262e + pop cx ; 59 ; 0xc262f + pop bx ; 5b ; 0xc2630 + pop bp ; 5d ; 0xc2631 + retn ; c3 ; 0xc2632 + ; disGetNextSymbol 0xc2633 LB 0x15c5 -> off=0x0 cb=0000000000000072 uValue=00000000000c2633 'biosfn_load_text_8_16_pat' +biosfn_load_text_8_16_pat: ; 0xc2633 LB 0x72 + push bp ; 55 ; 0xc2633 vgabios.c:1650 + mov bp, sp ; 89 e5 ; 0xc2634 + push bx ; 53 ; 0xc2636 + push cx ; 51 ; 0xc2637 + push si ; 56 ; 0xc2638 + push di ; 57 ; 0xc2639 + push ax ; 50 ; 0xc263a + push ax ; 50 ; 0xc263b + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc263c + call 023adh ; e8 6b fd ; 0xc263f vgabios.c:1654 + mov al, dl ; 88 d0 ; 0xc2642 vgabios.c:1655 + and AL, strict byte 003h ; 24 03 ; 0xc2644 + xor ah, ah ; 30 e4 ; 0xc2646 + mov bx, ax ; 89 c3 ; 0xc2648 + sal bx, 00eh ; c1 e3 0e ; 0xc264a + mov al, dl ; 88 d0 ; 0xc264d + and AL, strict byte 004h ; 24 04 ; 0xc264f + xor ah, ah ; 30 e4 ; 0xc2651 + sal ax, 00bh ; c1 e0 0b ; 0xc2653 + add bx, ax ; 01 c3 ; 0xc2656 + mov word [bp-00ch], bx ; 89 5e f4 ; 0xc2658 + xor bx, bx ; 31 db ; 0xc265b vgabios.c:1656 + jmp short 02665h ; eb 06 ; 0xc265d + cmp bx, 00100h ; 81 fb 00 01 ; 0xc265f + jnc short 0268dh ; 73 28 ; 0xc2663 + mov si, bx ; 89 de ; 0xc2665 vgabios.c:1658 + sal si, 004h ; c1 e6 04 ; 0xc2667 + mov di, bx ; 89 df ; 0xc266a vgabios.c:1659 + sal di, 005h ; c1 e7 05 ; 0xc266c + add di, word [bp-00ch] ; 03 7e f4 ; 0xc266f + add si, 069ech ; 81 c6 ec 69 ; 0xc2672 vgabios.c:1660 + mov cx, strict word 00010h ; b9 10 00 ; 0xc2676 + mov dx, 0c000h ; ba 00 c0 ; 0xc2679 + mov ax, 0a000h ; b8 00 a0 ; 0xc267c + mov es, ax ; 8e c0 ; 0xc267f + cld ; fc ; 0xc2681 + jcxz 0268ah ; e3 06 ; 0xc2682 + push DS ; 1e ; 0xc2684 + mov ds, dx ; 8e da ; 0xc2685 + rep movsb ; f3 a4 ; 0xc2687 + pop DS ; 1f ; 0xc2689 + inc bx ; 43 ; 0xc268a vgabios.c:1661 + jmp short 0265fh ; eb d2 ; 0xc268b + call 023d9h ; e8 49 fd ; 0xc268d vgabios.c:1662 + cmp byte [bp-00ah], 010h ; 80 7e f6 10 ; 0xc2690 vgabios.c:1663 + jc short 0269ch ; 72 06 ; 0xc2694 + mov ax, strict word 00010h ; b8 10 00 ; 0xc2696 vgabios.c:1665 + call 02415h ; e8 79 fd ; 0xc2699 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc269c vgabios.c:1667 + pop di ; 5f ; 0xc269f + pop si ; 5e ; 0xc26a0 + pop cx ; 59 ; 0xc26a1 + pop bx ; 5b ; 0xc26a2 + pop bp ; 5d ; 0xc26a3 + retn ; c3 ; 0xc26a4 + ; disGetNextSymbol 0xc26a5 LB 0x1553 -> off=0x0 cb=0000000000000005 uValue=00000000000c26a5 'biosfn_load_gfx_8_8_chars' +biosfn_load_gfx_8_8_chars: ; 0xc26a5 LB 0x5 + push bp ; 55 ; 0xc26a5 vgabios.c:1669 + mov bp, sp ; 89 e5 ; 0xc26a6 + pop bp ; 5d ; 0xc26a8 vgabios.c:1674 + retn ; c3 ; 0xc26a9 + ; disGetNextSymbol 0xc26aa LB 0x154e -> off=0x0 cb=0000000000000007 uValue=00000000000c26aa 'biosfn_load_gfx_user_chars' +biosfn_load_gfx_user_chars: ; 0xc26aa LB 0x7 + push bp ; 55 ; 0xc26aa vgabios.c:1675 + mov bp, sp ; 89 e5 ; 0xc26ab + pop bp ; 5d ; 0xc26ad vgabios.c:1681 + retn 00002h ; c2 02 00 ; 0xc26ae + ; disGetNextSymbol 0xc26b1 LB 0x1547 -> off=0x0 cb=0000000000000005 uValue=00000000000c26b1 'biosfn_load_gfx_8_14_chars' +biosfn_load_gfx_8_14_chars: ; 0xc26b1 LB 0x5 + push bp ; 55 ; 0xc26b1 vgabios.c:1682 + mov bp, sp ; 89 e5 ; 0xc26b2 + pop bp ; 5d ; 0xc26b4 vgabios.c:1687 + retn ; c3 ; 0xc26b5 + ; disGetNextSymbol 0xc26b6 LB 0x1542 -> off=0x0 cb=0000000000000005 uValue=00000000000c26b6 'biosfn_load_gfx_8_8_dd_chars' +biosfn_load_gfx_8_8_dd_chars: ; 0xc26b6 LB 0x5 + push bp ; 55 ; 0xc26b6 vgabios.c:1688 + mov bp, sp ; 89 e5 ; 0xc26b7 + pop bp ; 5d ; 0xc26b9 vgabios.c:1693 + retn ; c3 ; 0xc26ba + ; disGetNextSymbol 0xc26bb LB 0x153d -> off=0x0 cb=0000000000000005 uValue=00000000000c26bb 'biosfn_load_gfx_8_16_chars' +biosfn_load_gfx_8_16_chars: ; 0xc26bb LB 0x5 + push bp ; 55 ; 0xc26bb vgabios.c:1694 + mov bp, sp ; 89 e5 ; 0xc26bc + pop bp ; 5d ; 0xc26be vgabios.c:1699 + retn ; c3 ; 0xc26bf + ; disGetNextSymbol 0xc26c0 LB 0x1538 -> off=0x0 cb=0000000000000005 uValue=00000000000c26c0 'biosfn_alternate_prtsc' +biosfn_alternate_prtsc: ; 0xc26c0 LB 0x5 + push bp ; 55 ; 0xc26c0 vgabios.c:1701 + mov bp, sp ; 89 e5 ; 0xc26c1 + pop bp ; 5d ; 0xc26c3 vgabios.c:1706 + retn ; c3 ; 0xc26c4 + ; disGetNextSymbol 0xc26c5 LB 0x1533 -> off=0x0 cb=0000000000000005 uValue=00000000000c26c5 'biosfn_switch_video_interface' +biosfn_switch_video_interface: ; 0xc26c5 LB 0x5 + push bp ; 55 ; 0xc26c5 vgabios.c:1709 + mov bp, sp ; 89 e5 ; 0xc26c6 + pop bp ; 5d ; 0xc26c8 vgabios.c:1714 + retn ; c3 ; 0xc26c9 + ; disGetNextSymbol 0xc26ca LB 0x152e -> off=0x0 cb=0000000000000005 uValue=00000000000c26ca 'biosfn_enable_video_refresh_control' +biosfn_enable_video_refresh_control: ; 0xc26ca LB 0x5 + push bp ; 55 ; 0xc26ca vgabios.c:1715 + mov bp, sp ; 89 e5 ; 0xc26cb + pop bp ; 5d ; 0xc26cd vgabios.c:1720 + retn ; c3 ; 0xc26ce + ; disGetNextSymbol 0xc26cf LB 0x1529 -> off=0x0 cb=000000000000009c uValue=00000000000c26cf 'biosfn_write_string' +biosfn_write_string: ; 0xc26cf LB 0x9c + push bp ; 55 ; 0xc26cf vgabios.c:1723 + mov bp, sp ; 89 e5 ; 0xc26d0 + push si ; 56 ; 0xc26d2 + push di ; 57 ; 0xc26d3 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc26d4 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc26d7 + mov byte [bp-008h], dl ; 88 56 f8 ; 0xc26da + mov byte [bp-006h], bl ; 88 5e fa ; 0xc26dd + mov si, cx ; 89 ce ; 0xc26e0 + mov di, word [bp+00ah] ; 8b 7e 0a ; 0xc26e2 + movzx ax, dl ; 0f b6 c2 ; 0xc26e5 vgabios.c:1730 + lea bx, [bp-00eh] ; 8d 5e f2 ; 0xc26e8 + lea dx, [bp-00ch] ; 8d 56 f4 ; 0xc26eb + call 00a88h ; e8 97 e3 ; 0xc26ee + cmp byte [bp+004h], 0ffh ; 80 7e 04 ff ; 0xc26f1 vgabios.c:1733 + jne short 02708h ; 75 11 ; 0xc26f5 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc26f7 vgabios.c:1734 + mov byte [bp+006h], al ; 88 46 06 ; 0xc26fa + mov ax, word [bp-00eh] ; 8b 46 f2 ; 0xc26fd vgabios.c:1735 + xor al, al ; 30 c0 ; 0xc2700 + shr ax, 008h ; c1 e8 08 ; 0xc2702 + mov byte [bp+004h], al ; 88 46 04 ; 0xc2705 + movzx dx, byte [bp+004h] ; 0f b6 56 04 ; 0xc2708 vgabios.c:1738 + sal dx, 008h ; c1 e2 08 ; 0xc270c + movzx ax, byte [bp+006h] ; 0f b6 46 06 ; 0xc270f + add dx, ax ; 01 c2 ; 0xc2713 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc2715 vgabios.c:1739 + call 00e5eh ; e8 42 e7 ; 0xc2719 + dec si ; 4e ; 0xc271c vgabios.c:1741 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc271d + je short 02752h ; 74 30 ; 0xc2720 + mov dx, di ; 89 fa ; 0xc2722 vgabios.c:1743 + inc di ; 47 ; 0xc2724 + mov ax, word [bp+008h] ; 8b 46 08 ; 0xc2725 + call 02f57h ; e8 2c 08 ; 0xc2728 + mov cl, al ; 88 c1 ; 0xc272b + test byte [bp-00ah], 002h ; f6 46 f6 02 ; 0xc272d vgabios.c:1744 + je short 0273fh ; 74 0c ; 0xc2731 + mov dx, di ; 89 fa ; 0xc2733 vgabios.c:1745 + inc di ; 47 ; 0xc2735 + mov ax, word [bp+008h] ; 8b 46 08 ; 0xc2736 + call 02f57h ; e8 1b 08 ; 0xc2739 + mov byte [bp-006h], al ; 88 46 fa ; 0xc273c + movzx bx, byte [bp-006h] ; 0f b6 5e fa ; 0xc273f vgabios.c:1747 + movzx dx, byte [bp-008h] ; 0f b6 56 f8 ; 0xc2743 + movzx ax, cl ; 0f b6 c1 ; 0xc2747 + mov cx, strict word 00003h ; b9 03 00 ; 0xc274a + call 0216ch ; e8 1c fa ; 0xc274d + jmp short 0271ch ; eb ca ; 0xc2750 vgabios.c:1748 + test byte [bp-00ah], 001h ; f6 46 f6 01 ; 0xc2752 vgabios.c:1751 + jne short 02762h ; 75 0a ; 0xc2756 + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc2758 vgabios.c:1752 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc275b + call 00e5eh ; e8 fc e6 ; 0xc275f + lea sp, [bp-004h] ; 8d 66 fc ; 0xc2762 vgabios.c:1753 + pop di ; 5f ; 0xc2765 + pop si ; 5e ; 0xc2766 + pop bp ; 5d ; 0xc2767 + retn 00008h ; c2 08 00 ; 0xc2768 + ; disGetNextSymbol 0xc276b LB 0x148d -> off=0x0 cb=0000000000000101 uValue=00000000000c276b 'biosfn_read_state_info' +biosfn_read_state_info: ; 0xc276b LB 0x101 + push bp ; 55 ; 0xc276b vgabios.c:1756 + mov bp, sp ; 89 e5 ; 0xc276c + push cx ; 51 ; 0xc276e + push si ; 56 ; 0xc276f + push di ; 57 ; 0xc2770 + push dx ; 52 ; 0xc2771 + push bx ; 53 ; 0xc2772 + mov cx, ds ; 8c d9 ; 0xc2773 vgabios.c:1759 + mov bx, 05382h ; bb 82 53 ; 0xc2775 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2778 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc277b + call 02fa1h ; e8 20 08 ; 0xc277e + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc2781 vgabios.c:1762 + add di, strict byte 00004h ; 83 c7 04 ; 0xc2784 + mov cx, strict word 0001eh ; b9 1e 00 ; 0xc2787 + mov si, strict word 00049h ; be 49 00 ; 0xc278a + mov dx, strict word 00040h ; ba 40 00 ; 0xc278d + mov es, [bp-008h] ; 8e 46 f8 ; 0xc2790 + cld ; fc ; 0xc2793 + jcxz 0279ch ; e3 06 ; 0xc2794 + push DS ; 1e ; 0xc2796 + mov ds, dx ; 8e da ; 0xc2797 + rep movsb ; f3 a4 ; 0xc2799 + pop DS ; 1f ; 0xc279b + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc279c vgabios.c:1763 + add di, strict byte 00022h ; 83 c7 22 ; 0xc279f + mov cx, strict word 00003h ; b9 03 00 ; 0xc27a2 + mov si, 00084h ; be 84 00 ; 0xc27a5 + mov dx, strict word 00040h ; ba 40 00 ; 0xc27a8 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc27ab + cld ; fc ; 0xc27ae + jcxz 027b7h ; e3 06 ; 0xc27af + push DS ; 1e ; 0xc27b1 + mov ds, dx ; 8e da ; 0xc27b2 + rep movsb ; f3 a4 ; 0xc27b4 + pop DS ; 1f ; 0xc27b6 + mov dx, 0008ah ; ba 8a 00 ; 0xc27b7 vgabios.c:1765 + mov ax, strict word 00040h ; b8 40 00 ; 0xc27ba + call 02f57h ; e8 97 07 ; 0xc27bd + movzx bx, al ; 0f b6 d8 ; 0xc27c0 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc27c3 + add dx, strict byte 00025h ; 83 c2 25 ; 0xc27c6 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc27c9 + call 02f65h ; e8 96 07 ; 0xc27cc + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc27cf vgabios.c:1766 + add dx, strict byte 00026h ; 83 c2 26 ; 0xc27d2 + xor bx, bx ; 31 db ; 0xc27d5 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc27d7 + call 02f65h ; e8 88 07 ; 0xc27da + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc27dd vgabios.c:1767 + add dx, strict byte 00027h ; 83 c2 27 ; 0xc27e0 + mov bx, strict word 00010h ; bb 10 00 ; 0xc27e3 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc27e6 + call 02f65h ; e8 79 07 ; 0xc27e9 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc27ec vgabios.c:1768 + add dx, strict byte 00028h ; 83 c2 28 ; 0xc27ef + xor bx, bx ; 31 db ; 0xc27f2 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc27f4 + call 02f65h ; e8 6b 07 ; 0xc27f7 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc27fa vgabios.c:1769 + add dx, strict byte 00029h ; 83 c2 29 ; 0xc27fd + mov bx, strict word 00008h ; bb 08 00 ; 0xc2800 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2803 + call 02f65h ; e8 5c 07 ; 0xc2806 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2809 vgabios.c:1770 + add dx, strict byte 0002ah ; 83 c2 2a ; 0xc280c + mov bx, strict word 00002h ; bb 02 00 ; 0xc280f + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2812 + call 02f65h ; e8 4d 07 ; 0xc2815 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2818 vgabios.c:1771 + add dx, strict byte 0002bh ; 83 c2 2b ; 0xc281b + xor bx, bx ; 31 db ; 0xc281e + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2820 + call 02f65h ; e8 3f 07 ; 0xc2823 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2826 vgabios.c:1772 + add dx, strict byte 0002ch ; 83 c2 2c ; 0xc2829 + xor bx, bx ; 31 db ; 0xc282c + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc282e + call 02f65h ; e8 31 07 ; 0xc2831 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2834 vgabios.c:1773 + add dx, strict byte 00031h ; 83 c2 31 ; 0xc2837 + mov bx, strict word 00003h ; bb 03 00 ; 0xc283a + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc283d + call 02f65h ; e8 22 07 ; 0xc2840 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2843 vgabios.c:1774 + add dx, strict byte 00032h ; 83 c2 32 ; 0xc2846 + xor bx, bx ; 31 db ; 0xc2849 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc284b + call 02f65h ; e8 14 07 ; 0xc284e + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc2851 vgabios.c:1776 + add di, strict byte 00033h ; 83 c7 33 ; 0xc2854 + mov cx, strict word 0000dh ; b9 0d 00 ; 0xc2857 + xor ax, ax ; 31 c0 ; 0xc285a + mov es, [bp-008h] ; 8e 46 f8 ; 0xc285c + cld ; fc ; 0xc285f + jcxz 02864h ; e3 02 ; 0xc2860 + rep stosb ; f3 aa ; 0xc2862 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc2864 vgabios.c:1777 + pop di ; 5f ; 0xc2867 + pop si ; 5e ; 0xc2868 + pop cx ; 59 ; 0xc2869 + pop bp ; 5d ; 0xc286a + retn ; c3 ; 0xc286b + ; disGetNextSymbol 0xc286c LB 0x138c -> off=0x0 cb=0000000000000023 uValue=00000000000c286c 'biosfn_read_video_state_size2' +biosfn_read_video_state_size2: ; 0xc286c LB 0x23 + push dx ; 52 ; 0xc286c vgabios.c:1780 + push bp ; 55 ; 0xc286d + mov bp, sp ; 89 e5 ; 0xc286e + mov dx, ax ; 89 c2 ; 0xc2870 + xor ax, ax ; 31 c0 ; 0xc2872 vgabios.c:1784 + test dl, 001h ; f6 c2 01 ; 0xc2874 vgabios.c:1785 + je short 0287ch ; 74 03 ; 0xc2877 + mov ax, strict word 00046h ; b8 46 00 ; 0xc2879 vgabios.c:1786 + test dl, 002h ; f6 c2 02 ; 0xc287c vgabios.c:1788 + je short 02884h ; 74 03 ; 0xc287f + add ax, strict word 0002ah ; 05 2a 00 ; 0xc2881 vgabios.c:1789 + test dl, 004h ; f6 c2 04 ; 0xc2884 vgabios.c:1791 + je short 0288ch ; 74 03 ; 0xc2887 + add ax, 00304h ; 05 04 03 ; 0xc2889 vgabios.c:1792 + pop bp ; 5d ; 0xc288c vgabios.c:1796 + pop dx ; 5a ; 0xc288d + retn ; c3 ; 0xc288e + ; disGetNextSymbol 0xc288f LB 0x1369 -> off=0x0 cb=0000000000000012 uValue=00000000000c288f 'vga_get_video_state_size' +vga_get_video_state_size: ; 0xc288f LB 0x12 + push bp ; 55 ; 0xc288f vgabios.c:1798 + mov bp, sp ; 89 e5 ; 0xc2890 + push bx ; 53 ; 0xc2892 + mov bx, dx ; 89 d3 ; 0xc2893 + call 0286ch ; e8 d4 ff ; 0xc2895 vgabios.c:1800 + mov word [ss:bx], ax ; 36 89 07 ; 0xc2898 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc289b vgabios.c:1801 + pop bx ; 5b ; 0xc289e + pop bp ; 5d ; 0xc289f + retn ; c3 ; 0xc28a0 + ; disGetNextSymbol 0xc28a1 LB 0x1357 -> off=0x0 cb=0000000000000369 uValue=00000000000c28a1 'biosfn_save_video_state' +biosfn_save_video_state: ; 0xc28a1 LB 0x369 + push bp ; 55 ; 0xc28a1 vgabios.c:1803 + mov bp, sp ; 89 e5 ; 0xc28a2 + push cx ; 51 ; 0xc28a4 + push si ; 56 ; 0xc28a5 + push di ; 57 ; 0xc28a6 + push ax ; 50 ; 0xc28a7 + push ax ; 50 ; 0xc28a8 + push ax ; 50 ; 0xc28a9 + mov si, dx ; 89 d6 ; 0xc28aa + mov cx, bx ; 89 d9 ; 0xc28ac + mov dx, strict word 00063h ; ba 63 00 ; 0xc28ae vgabios.c:1807 + mov ax, strict word 00040h ; b8 40 00 ; 0xc28b1 + call 02f73h ; e8 bc 06 ; 0xc28b4 + mov di, ax ; 89 c7 ; 0xc28b7 + test byte [bp-00ch], 001h ; f6 46 f4 01 ; 0xc28b9 vgabios.c:1808 + je near 02a24h ; 0f 84 63 01 ; 0xc28bd + mov dx, 003c4h ; ba c4 03 ; 0xc28c1 vgabios.c:1809 + in AL, DX ; ec ; 0xc28c4 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc28c5 + movzx bx, al ; 0f b6 d8 ; 0xc28c7 + mov dx, cx ; 89 ca ; 0xc28ca + mov ax, si ; 89 f0 ; 0xc28cc + call 02f65h ; e8 94 06 ; 0xc28ce + inc cx ; 41 ; 0xc28d1 vgabios.c:1810 + mov dx, di ; 89 fa ; 0xc28d2 + in AL, DX ; ec ; 0xc28d4 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc28d5 + movzx bx, al ; 0f b6 d8 ; 0xc28d7 + mov dx, cx ; 89 ca ; 0xc28da + mov ax, si ; 89 f0 ; 0xc28dc + call 02f65h ; e8 84 06 ; 0xc28de + inc cx ; 41 ; 0xc28e1 vgabios.c:1811 + mov dx, 003ceh ; ba ce 03 ; 0xc28e2 + in AL, DX ; ec ; 0xc28e5 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc28e6 + movzx bx, al ; 0f b6 d8 ; 0xc28e8 + mov dx, cx ; 89 ca ; 0xc28eb + mov ax, si ; 89 f0 ; 0xc28ed + call 02f65h ; e8 73 06 ; 0xc28ef + inc cx ; 41 ; 0xc28f2 vgabios.c:1812 + mov dx, 003dah ; ba da 03 ; 0xc28f3 + in AL, DX ; ec ; 0xc28f6 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc28f7 + mov dx, 003c0h ; ba c0 03 ; 0xc28f9 vgabios.c:1813 + in AL, DX ; ec ; 0xc28fc + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc28fd + mov word [bp-008h], ax ; 89 46 f8 ; 0xc28ff + movzx bx, byte [bp-008h] ; 0f b6 5e f8 ; 0xc2902 vgabios.c:1814 + mov dx, cx ; 89 ca ; 0xc2906 + mov ax, si ; 89 f0 ; 0xc2908 + call 02f65h ; e8 58 06 ; 0xc290a + inc cx ; 41 ; 0xc290d vgabios.c:1815 + mov dx, 003cah ; ba ca 03 ; 0xc290e + in AL, DX ; ec ; 0xc2911 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2912 + movzx bx, al ; 0f b6 d8 ; 0xc2914 + mov dx, cx ; 89 ca ; 0xc2917 + mov ax, si ; 89 f0 ; 0xc2919 + call 02f65h ; e8 47 06 ; 0xc291b + mov ax, strict word 00001h ; b8 01 00 ; 0xc291e vgabios.c:1817 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc2921 + add cx, ax ; 01 c1 ; 0xc2924 + jmp short 0292eh ; eb 06 ; 0xc2926 + cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 ; 0xc2928 + jnbe short 0294bh ; 77 1d ; 0xc292c + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc292e vgabios.c:1818 + mov dx, 003c4h ; ba c4 03 ; 0xc2931 + out DX, AL ; ee ; 0xc2934 + mov dx, 003c5h ; ba c5 03 ; 0xc2935 vgabios.c:1819 + in AL, DX ; ec ; 0xc2938 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2939 + movzx bx, al ; 0f b6 d8 ; 0xc293b + mov dx, cx ; 89 ca ; 0xc293e + mov ax, si ; 89 f0 ; 0xc2940 + call 02f65h ; e8 20 06 ; 0xc2942 + inc cx ; 41 ; 0xc2945 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2946 vgabios.c:1820 + jmp short 02928h ; eb dd ; 0xc2949 + xor al, al ; 30 c0 ; 0xc294b vgabios.c:1821 + mov dx, 003c4h ; ba c4 03 ; 0xc294d + out DX, AL ; ee ; 0xc2950 + mov dx, 003c5h ; ba c5 03 ; 0xc2951 vgabios.c:1822 + in AL, DX ; ec ; 0xc2954 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2955 + movzx bx, al ; 0f b6 d8 ; 0xc2957 + mov dx, cx ; 89 ca ; 0xc295a + mov ax, si ; 89 f0 ; 0xc295c + call 02f65h ; e8 04 06 ; 0xc295e + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2961 vgabios.c:1824 + inc cx ; 41 ; 0xc2966 + jmp short 0296fh ; eb 06 ; 0xc2967 + cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 ; 0xc2969 + jnbe short 0298bh ; 77 1c ; 0xc296d + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc296f vgabios.c:1825 + mov dx, di ; 89 fa ; 0xc2972 + out DX, AL ; ee ; 0xc2974 + lea dx, [di+001h] ; 8d 55 01 ; 0xc2975 vgabios.c:1826 + in AL, DX ; ec ; 0xc2978 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2979 + movzx bx, al ; 0f b6 d8 ; 0xc297b + mov dx, cx ; 89 ca ; 0xc297e + mov ax, si ; 89 f0 ; 0xc2980 + call 02f65h ; e8 e0 05 ; 0xc2982 + inc cx ; 41 ; 0xc2985 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2986 vgabios.c:1827 + jmp short 02969h ; eb de ; 0xc2989 + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc298b vgabios.c:1829 + jmp short 02998h ; eb 06 ; 0xc2990 + cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 ; 0xc2992 + jnbe short 029c1h ; 77 29 ; 0xc2996 + mov dx, 003dah ; ba da 03 ; 0xc2998 vgabios.c:1830 + in AL, DX ; ec ; 0xc299b + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc299c + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc299e vgabios.c:1831 + and ax, strict word 00020h ; 25 20 00 ; 0xc29a1 + or ax, word [bp-00ah] ; 0b 46 f6 ; 0xc29a4 + mov dx, 003c0h ; ba c0 03 ; 0xc29a7 + out DX, AL ; ee ; 0xc29aa + mov dx, 003c1h ; ba c1 03 ; 0xc29ab vgabios.c:1832 + in AL, DX ; ec ; 0xc29ae + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc29af + movzx bx, al ; 0f b6 d8 ; 0xc29b1 + mov dx, cx ; 89 ca ; 0xc29b4 + mov ax, si ; 89 f0 ; 0xc29b6 + call 02f65h ; e8 aa 05 ; 0xc29b8 + inc cx ; 41 ; 0xc29bb + inc word [bp-00ah] ; ff 46 f6 ; 0xc29bc vgabios.c:1833 + jmp short 02992h ; eb d1 ; 0xc29bf + mov dx, 003dah ; ba da 03 ; 0xc29c1 vgabios.c:1834 + in AL, DX ; ec ; 0xc29c4 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc29c5 + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc29c7 vgabios.c:1836 + jmp short 029d4h ; eb 06 ; 0xc29cc + cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 ; 0xc29ce + jnbe short 029f1h ; 77 1d ; 0xc29d2 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc29d4 vgabios.c:1837 + mov dx, 003ceh ; ba ce 03 ; 0xc29d7 + out DX, AL ; ee ; 0xc29da + mov dx, 003cfh ; ba cf 03 ; 0xc29db vgabios.c:1838 + in AL, DX ; ec ; 0xc29de + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc29df + movzx bx, al ; 0f b6 d8 ; 0xc29e1 + mov dx, cx ; 89 ca ; 0xc29e4 + mov ax, si ; 89 f0 ; 0xc29e6 + call 02f65h ; e8 7a 05 ; 0xc29e8 + inc cx ; 41 ; 0xc29eb + inc word [bp-00ah] ; ff 46 f6 ; 0xc29ec vgabios.c:1839 + jmp short 029ceh ; eb dd ; 0xc29ef + mov bx, di ; 89 fb ; 0xc29f1 vgabios.c:1841 + mov dx, cx ; 89 ca ; 0xc29f3 + mov ax, si ; 89 f0 ; 0xc29f5 + call 02f81h ; e8 87 05 ; 0xc29f7 + inc cx ; 41 ; 0xc29fa vgabios.c:1844 + inc cx ; 41 ; 0xc29fb + xor bx, bx ; 31 db ; 0xc29fc + mov dx, cx ; 89 ca ; 0xc29fe + mov ax, si ; 89 f0 ; 0xc2a00 + call 02f65h ; e8 60 05 ; 0xc2a02 + inc cx ; 41 ; 0xc2a05 vgabios.c:1845 + xor bx, bx ; 31 db ; 0xc2a06 + mov dx, cx ; 89 ca ; 0xc2a08 + mov ax, si ; 89 f0 ; 0xc2a0a + call 02f65h ; e8 56 05 ; 0xc2a0c + inc cx ; 41 ; 0xc2a0f vgabios.c:1846 + xor bx, bx ; 31 db ; 0xc2a10 + mov dx, cx ; 89 ca ; 0xc2a12 + mov ax, si ; 89 f0 ; 0xc2a14 + call 02f65h ; e8 4c 05 ; 0xc2a16 + inc cx ; 41 ; 0xc2a19 vgabios.c:1847 + xor bx, bx ; 31 db ; 0xc2a1a + mov dx, cx ; 89 ca ; 0xc2a1c + mov ax, si ; 89 f0 ; 0xc2a1e + call 02f65h ; e8 42 05 ; 0xc2a20 + inc cx ; 41 ; 0xc2a23 + test byte [bp-00ch], 002h ; f6 46 f4 02 ; 0xc2a24 vgabios.c:1849 + je near 02b93h ; 0f 84 67 01 ; 0xc2a28 + mov dx, strict word 00049h ; ba 49 00 ; 0xc2a2c vgabios.c:1850 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2a2f + call 02f57h ; e8 22 05 ; 0xc2a32 + movzx bx, al ; 0f b6 d8 ; 0xc2a35 + mov dx, cx ; 89 ca ; 0xc2a38 + mov ax, si ; 89 f0 ; 0xc2a3a + call 02f65h ; e8 26 05 ; 0xc2a3c + inc cx ; 41 ; 0xc2a3f vgabios.c:1851 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2a40 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2a43 + call 02f73h ; e8 2a 05 ; 0xc2a46 + mov bx, ax ; 89 c3 ; 0xc2a49 + mov dx, cx ; 89 ca ; 0xc2a4b + mov ax, si ; 89 f0 ; 0xc2a4d + call 02f81h ; e8 2f 05 ; 0xc2a4f + inc cx ; 41 ; 0xc2a52 vgabios.c:1852 + inc cx ; 41 ; 0xc2a53 + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc2a54 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2a57 + call 02f73h ; e8 16 05 ; 0xc2a5a + mov bx, ax ; 89 c3 ; 0xc2a5d + mov dx, cx ; 89 ca ; 0xc2a5f + mov ax, si ; 89 f0 ; 0xc2a61 + call 02f81h ; e8 1b 05 ; 0xc2a63 + inc cx ; 41 ; 0xc2a66 vgabios.c:1853 + inc cx ; 41 ; 0xc2a67 + mov dx, strict word 00063h ; ba 63 00 ; 0xc2a68 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2a6b + call 02f73h ; e8 02 05 ; 0xc2a6e + mov bx, ax ; 89 c3 ; 0xc2a71 + mov dx, cx ; 89 ca ; 0xc2a73 + mov ax, si ; 89 f0 ; 0xc2a75 + call 02f81h ; e8 07 05 ; 0xc2a77 + inc cx ; 41 ; 0xc2a7a vgabios.c:1854 + inc cx ; 41 ; 0xc2a7b + mov dx, 00084h ; ba 84 00 ; 0xc2a7c + mov ax, strict word 00040h ; b8 40 00 ; 0xc2a7f + call 02f57h ; e8 d2 04 ; 0xc2a82 + movzx bx, al ; 0f b6 d8 ; 0xc2a85 + mov dx, cx ; 89 ca ; 0xc2a88 + mov ax, si ; 89 f0 ; 0xc2a8a + call 02f65h ; e8 d6 04 ; 0xc2a8c + inc cx ; 41 ; 0xc2a8f vgabios.c:1855 + mov dx, 00085h ; ba 85 00 ; 0xc2a90 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2a93 + call 02f73h ; e8 da 04 ; 0xc2a96 + mov bx, ax ; 89 c3 ; 0xc2a99 + mov dx, cx ; 89 ca ; 0xc2a9b + mov ax, si ; 89 f0 ; 0xc2a9d + call 02f81h ; e8 df 04 ; 0xc2a9f + inc cx ; 41 ; 0xc2aa2 vgabios.c:1856 + inc cx ; 41 ; 0xc2aa3 + mov dx, 00087h ; ba 87 00 ; 0xc2aa4 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2aa7 + call 02f57h ; e8 aa 04 ; 0xc2aaa + movzx bx, al ; 0f b6 d8 ; 0xc2aad + mov dx, cx ; 89 ca ; 0xc2ab0 + mov ax, si ; 89 f0 ; 0xc2ab2 + call 02f65h ; e8 ae 04 ; 0xc2ab4 + inc cx ; 41 ; 0xc2ab7 vgabios.c:1857 + mov dx, 00088h ; ba 88 00 ; 0xc2ab8 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2abb + call 02f57h ; e8 96 04 ; 0xc2abe + movzx bx, al ; 0f b6 d8 ; 0xc2ac1 + mov dx, cx ; 89 ca ; 0xc2ac4 + mov ax, si ; 89 f0 ; 0xc2ac6 + call 02f65h ; e8 9a 04 ; 0xc2ac8 + inc cx ; 41 ; 0xc2acb vgabios.c:1858 + mov dx, 00089h ; ba 89 00 ; 0xc2acc + mov ax, strict word 00040h ; b8 40 00 ; 0xc2acf + call 02f57h ; e8 82 04 ; 0xc2ad2 + movzx bx, al ; 0f b6 d8 ; 0xc2ad5 + mov dx, cx ; 89 ca ; 0xc2ad8 + mov ax, si ; 89 f0 ; 0xc2ada + call 02f65h ; e8 86 04 ; 0xc2adc + inc cx ; 41 ; 0xc2adf vgabios.c:1859 + mov dx, strict word 00060h ; ba 60 00 ; 0xc2ae0 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2ae3 + call 02f73h ; e8 8a 04 ; 0xc2ae6 + mov bx, ax ; 89 c3 ; 0xc2ae9 + mov dx, cx ; 89 ca ; 0xc2aeb + mov ax, si ; 89 f0 ; 0xc2aed + call 02f81h ; e8 8f 04 ; 0xc2aef + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2af2 vgabios.c:1860 + inc cx ; 41 ; 0xc2af7 + inc cx ; 41 ; 0xc2af8 + jmp short 02b01h ; eb 06 ; 0xc2af9 + cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 ; 0xc2afb + jnc short 02b1fh ; 73 1e ; 0xc2aff + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2b01 vgabios.c:1861 + add dx, dx ; 01 d2 ; 0xc2b04 + add dx, strict byte 00050h ; 83 c2 50 ; 0xc2b06 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2b09 + call 02f73h ; e8 64 04 ; 0xc2b0c + mov bx, ax ; 89 c3 ; 0xc2b0f + mov dx, cx ; 89 ca ; 0xc2b11 + mov ax, si ; 89 f0 ; 0xc2b13 + call 02f81h ; e8 69 04 ; 0xc2b15 + inc cx ; 41 ; 0xc2b18 vgabios.c:1862 + inc cx ; 41 ; 0xc2b19 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2b1a vgabios.c:1863 + jmp short 02afbh ; eb dc ; 0xc2b1d + mov dx, strict word 0004eh ; ba 4e 00 ; 0xc2b1f vgabios.c:1864 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2b22 + call 02f73h ; e8 4b 04 ; 0xc2b25 + mov bx, ax ; 89 c3 ; 0xc2b28 + mov dx, cx ; 89 ca ; 0xc2b2a + mov ax, si ; 89 f0 ; 0xc2b2c + call 02f81h ; e8 50 04 ; 0xc2b2e + inc cx ; 41 ; 0xc2b31 vgabios.c:1865 + inc cx ; 41 ; 0xc2b32 + mov dx, strict word 00062h ; ba 62 00 ; 0xc2b33 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2b36 + call 02f57h ; e8 1b 04 ; 0xc2b39 + movzx bx, al ; 0f b6 d8 ; 0xc2b3c + mov dx, cx ; 89 ca ; 0xc2b3f + mov ax, si ; 89 f0 ; 0xc2b41 + call 02f65h ; e8 1f 04 ; 0xc2b43 + inc cx ; 41 ; 0xc2b46 vgabios.c:1867 + mov dx, strict word 0007ch ; ba 7c 00 ; 0xc2b47 + xor ax, ax ; 31 c0 ; 0xc2b4a + call 02f73h ; e8 24 04 ; 0xc2b4c + mov bx, ax ; 89 c3 ; 0xc2b4f + mov dx, cx ; 89 ca ; 0xc2b51 + mov ax, si ; 89 f0 ; 0xc2b53 + call 02f81h ; e8 29 04 ; 0xc2b55 + inc cx ; 41 ; 0xc2b58 vgabios.c:1868 + inc cx ; 41 ; 0xc2b59 + mov dx, strict word 0007eh ; ba 7e 00 ; 0xc2b5a + xor ax, ax ; 31 c0 ; 0xc2b5d + call 02f73h ; e8 11 04 ; 0xc2b5f + mov bx, ax ; 89 c3 ; 0xc2b62 + mov dx, cx ; 89 ca ; 0xc2b64 + mov ax, si ; 89 f0 ; 0xc2b66 + call 02f81h ; e8 16 04 ; 0xc2b68 + inc cx ; 41 ; 0xc2b6b vgabios.c:1869 + inc cx ; 41 ; 0xc2b6c + mov dx, 0010ch ; ba 0c 01 ; 0xc2b6d + xor ax, ax ; 31 c0 ; 0xc2b70 + call 02f73h ; e8 fe 03 ; 0xc2b72 + mov bx, ax ; 89 c3 ; 0xc2b75 + mov dx, cx ; 89 ca ; 0xc2b77 + mov ax, si ; 89 f0 ; 0xc2b79 + call 02f81h ; e8 03 04 ; 0xc2b7b + inc cx ; 41 ; 0xc2b7e vgabios.c:1870 + inc cx ; 41 ; 0xc2b7f + mov dx, 0010eh ; ba 0e 01 ; 0xc2b80 + xor ax, ax ; 31 c0 ; 0xc2b83 + call 02f73h ; e8 eb 03 ; 0xc2b85 + mov bx, ax ; 89 c3 ; 0xc2b88 + mov dx, cx ; 89 ca ; 0xc2b8a + mov ax, si ; 89 f0 ; 0xc2b8c + call 02f81h ; e8 f0 03 ; 0xc2b8e + inc cx ; 41 ; 0xc2b91 + inc cx ; 41 ; 0xc2b92 + test byte [bp-00ch], 004h ; f6 46 f4 04 ; 0xc2b93 vgabios.c:1872 + je short 02c00h ; 74 67 ; 0xc2b97 + mov dx, 003c7h ; ba c7 03 ; 0xc2b99 vgabios.c:1874 + in AL, DX ; ec ; 0xc2b9c + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b9d + movzx bx, al ; 0f b6 d8 ; 0xc2b9f + mov dx, cx ; 89 ca ; 0xc2ba2 + mov ax, si ; 89 f0 ; 0xc2ba4 + call 02f65h ; e8 bc 03 ; 0xc2ba6 + inc cx ; 41 ; 0xc2ba9 vgabios.c:1875 + mov dx, 003c8h ; ba c8 03 ; 0xc2baa + in AL, DX ; ec ; 0xc2bad + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2bae + movzx bx, al ; 0f b6 d8 ; 0xc2bb0 + mov dx, cx ; 89 ca ; 0xc2bb3 + mov ax, si ; 89 f0 ; 0xc2bb5 + call 02f65h ; e8 ab 03 ; 0xc2bb7 + inc cx ; 41 ; 0xc2bba vgabios.c:1876 + mov dx, 003c6h ; ba c6 03 ; 0xc2bbb + in AL, DX ; ec ; 0xc2bbe + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2bbf + movzx bx, al ; 0f b6 d8 ; 0xc2bc1 + mov dx, cx ; 89 ca ; 0xc2bc4 + mov ax, si ; 89 f0 ; 0xc2bc6 + call 02f65h ; e8 9a 03 ; 0xc2bc8 + inc cx ; 41 ; 0xc2bcb vgabios.c:1878 + xor al, al ; 30 c0 ; 0xc2bcc + mov dx, 003c8h ; ba c8 03 ; 0xc2bce + out DX, AL ; ee ; 0xc2bd1 + xor ah, ah ; 30 e4 ; 0xc2bd2 vgabios.c:1879 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc2bd4 + jmp short 02be0h ; eb 07 ; 0xc2bd7 + cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 ; 0xc2bd9 + jnc short 02bf6h ; 73 16 ; 0xc2bde + mov dx, 003c9h ; ba c9 03 ; 0xc2be0 vgabios.c:1880 + in AL, DX ; ec ; 0xc2be3 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2be4 + movzx bx, al ; 0f b6 d8 ; 0xc2be6 + mov dx, cx ; 89 ca ; 0xc2be9 + mov ax, si ; 89 f0 ; 0xc2beb + call 02f65h ; e8 75 03 ; 0xc2bed + inc cx ; 41 ; 0xc2bf0 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2bf1 vgabios.c:1881 + jmp short 02bd9h ; eb e3 ; 0xc2bf4 + xor bx, bx ; 31 db ; 0xc2bf6 vgabios.c:1882 + mov dx, cx ; 89 ca ; 0xc2bf8 + mov ax, si ; 89 f0 ; 0xc2bfa + call 02f65h ; e8 66 03 ; 0xc2bfc + inc cx ; 41 ; 0xc2bff + mov ax, cx ; 89 c8 ; 0xc2c00 vgabios.c:1885 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc2c02 + pop di ; 5f ; 0xc2c05 + pop si ; 5e ; 0xc2c06 + pop cx ; 59 ; 0xc2c07 + pop bp ; 5d ; 0xc2c08 + retn ; c3 ; 0xc2c09 + ; disGetNextSymbol 0xc2c0a LB 0xfee -> off=0x0 cb=0000000000000326 uValue=00000000000c2c0a 'biosfn_restore_video_state' +biosfn_restore_video_state: ; 0xc2c0a LB 0x326 + push bp ; 55 ; 0xc2c0a vgabios.c:1887 + mov bp, sp ; 89 e5 ; 0xc2c0b + push cx ; 51 ; 0xc2c0d + push si ; 56 ; 0xc2c0e + push di ; 57 ; 0xc2c0f + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc2c10 + push ax ; 50 ; 0xc2c13 + mov si, dx ; 89 d6 ; 0xc2c14 + mov cx, bx ; 89 d9 ; 0xc2c16 + test byte [bp-00eh], 001h ; f6 46 f2 01 ; 0xc2c18 vgabios.c:1891 + je near 02d6ah ; 0f 84 4a 01 ; 0xc2c1c + mov dx, 003dah ; ba da 03 ; 0xc2c20 vgabios.c:1893 + in AL, DX ; ec ; 0xc2c23 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2c24 + lea dx, [bx+040h] ; 8d 57 40 ; 0xc2c26 vgabios.c:1895 + mov ax, si ; 89 f0 ; 0xc2c29 + call 02f73h ; e8 45 03 ; 0xc2c2b + mov di, ax ; 89 c7 ; 0xc2c2e + mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 ; 0xc2c30 vgabios.c:1899 + lea cx, [bx+005h] ; 8d 4f 05 ; 0xc2c35 vgabios.c:1897 + jmp short 02c40h ; eb 06 ; 0xc2c38 + cmp word [bp-008h], strict byte 00004h ; 83 7e f8 04 ; 0xc2c3a + jnbe short 02c58h ; 77 18 ; 0xc2c3e + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc2c40 vgabios.c:1900 + mov dx, 003c4h ; ba c4 03 ; 0xc2c43 + out DX, AL ; ee ; 0xc2c46 + mov dx, cx ; 89 ca ; 0xc2c47 vgabios.c:1901 + mov ax, si ; 89 f0 ; 0xc2c49 + call 02f57h ; e8 09 03 ; 0xc2c4b + mov dx, 003c5h ; ba c5 03 ; 0xc2c4e + out DX, AL ; ee ; 0xc2c51 + inc cx ; 41 ; 0xc2c52 + inc word [bp-008h] ; ff 46 f8 ; 0xc2c53 vgabios.c:1902 + jmp short 02c3ah ; eb e2 ; 0xc2c56 + xor al, al ; 30 c0 ; 0xc2c58 vgabios.c:1903 + mov dx, 003c4h ; ba c4 03 ; 0xc2c5a + out DX, AL ; ee ; 0xc2c5d + mov dx, cx ; 89 ca ; 0xc2c5e vgabios.c:1904 + mov ax, si ; 89 f0 ; 0xc2c60 + call 02f57h ; e8 f2 02 ; 0xc2c62 + mov dx, 003c5h ; ba c5 03 ; 0xc2c65 + out DX, AL ; ee ; 0xc2c68 + inc cx ; 41 ; 0xc2c69 vgabios.c:1907 + mov ax, strict word 00011h ; b8 11 00 ; 0xc2c6a + mov dx, di ; 89 fa ; 0xc2c6d + out DX, ax ; ef ; 0xc2c6f + mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 ; 0xc2c70 vgabios.c:1909 + jmp short 02c7dh ; eb 06 ; 0xc2c75 + cmp word [bp-008h], strict byte 00018h ; 83 7e f8 18 ; 0xc2c77 + jnbe short 02c9ah ; 77 1d ; 0xc2c7b + cmp word [bp-008h], strict byte 00011h ; 83 7e f8 11 ; 0xc2c7d vgabios.c:1910 + je short 02c94h ; 74 11 ; 0xc2c81 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc2c83 vgabios.c:1911 + mov dx, di ; 89 fa ; 0xc2c86 + out DX, AL ; ee ; 0xc2c88 + mov dx, cx ; 89 ca ; 0xc2c89 vgabios.c:1912 + mov ax, si ; 89 f0 ; 0xc2c8b + call 02f57h ; e8 c7 02 ; 0xc2c8d + lea dx, [di+001h] ; 8d 55 01 ; 0xc2c90 + out DX, AL ; ee ; 0xc2c93 + inc cx ; 41 ; 0xc2c94 vgabios.c:1914 + inc word [bp-008h] ; ff 46 f8 ; 0xc2c95 vgabios.c:1915 + jmp short 02c77h ; eb dd ; 0xc2c98 + mov dx, 003cch ; ba cc 03 ; 0xc2c9a vgabios.c:1917 + in AL, DX ; ec ; 0xc2c9d + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2c9e + and AL, strict byte 0feh ; 24 fe ; 0xc2ca0 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc2ca2 + cmp di, 003d4h ; 81 ff d4 03 ; 0xc2ca5 vgabios.c:1918 + jne short 02cafh ; 75 04 ; 0xc2ca9 + or byte [bp-00ah], 001h ; 80 4e f6 01 ; 0xc2cab vgabios.c:1919 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2caf vgabios.c:1920 + mov dx, 003c2h ; ba c2 03 ; 0xc2cb2 + out DX, AL ; ee ; 0xc2cb5 + mov AL, strict byte 011h ; b0 11 ; 0xc2cb6 vgabios.c:1923 + mov dx, di ; 89 fa ; 0xc2cb8 + out DX, AL ; ee ; 0xc2cba + mov dx, cx ; 89 ca ; 0xc2cbb vgabios.c:1924 + add dx, strict byte 0fff9h ; 83 c2 f9 ; 0xc2cbd + mov ax, si ; 89 f0 ; 0xc2cc0 + call 02f57h ; e8 92 02 ; 0xc2cc2 + lea dx, [di+001h] ; 8d 55 01 ; 0xc2cc5 + out DX, AL ; ee ; 0xc2cc8 + lea dx, [bx+003h] ; 8d 57 03 ; 0xc2cc9 vgabios.c:1927 + mov ax, si ; 89 f0 ; 0xc2ccc + call 02f57h ; e8 86 02 ; 0xc2cce + xor ah, ah ; 30 e4 ; 0xc2cd1 + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc2cd3 + mov dx, 003dah ; ba da 03 ; 0xc2cd6 vgabios.c:1928 + in AL, DX ; ec ; 0xc2cd9 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2cda + mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 ; 0xc2cdc vgabios.c:1929 + jmp short 02ce9h ; eb 06 ; 0xc2ce1 + cmp word [bp-008h], strict byte 00013h ; 83 7e f8 13 ; 0xc2ce3 + jnbe short 02d07h ; 77 1e ; 0xc2ce7 + mov ax, word [bp-00ch] ; 8b 46 f4 ; 0xc2ce9 vgabios.c:1930 + and ax, strict word 00020h ; 25 20 00 ; 0xc2cec + or ax, word [bp-008h] ; 0b 46 f8 ; 0xc2cef + mov dx, 003c0h ; ba c0 03 ; 0xc2cf2 + out DX, AL ; ee ; 0xc2cf5 + mov dx, cx ; 89 ca ; 0xc2cf6 vgabios.c:1931 + mov ax, si ; 89 f0 ; 0xc2cf8 + call 02f57h ; e8 5a 02 ; 0xc2cfa + mov dx, 003c0h ; ba c0 03 ; 0xc2cfd + out DX, AL ; ee ; 0xc2d00 + inc cx ; 41 ; 0xc2d01 + inc word [bp-008h] ; ff 46 f8 ; 0xc2d02 vgabios.c:1932 + jmp short 02ce3h ; eb dc ; 0xc2d05 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc2d07 vgabios.c:1933 + mov dx, 003c0h ; ba c0 03 ; 0xc2d0a + out DX, AL ; ee ; 0xc2d0d + mov dx, 003dah ; ba da 03 ; 0xc2d0e vgabios.c:1934 + in AL, DX ; ec ; 0xc2d11 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2d12 + mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 ; 0xc2d14 vgabios.c:1936 + jmp short 02d21h ; eb 06 ; 0xc2d19 + cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 ; 0xc2d1b + jnbe short 02d39h ; 77 18 ; 0xc2d1f + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc2d21 vgabios.c:1937 + mov dx, 003ceh ; ba ce 03 ; 0xc2d24 + out DX, AL ; ee ; 0xc2d27 + mov dx, cx ; 89 ca ; 0xc2d28 vgabios.c:1938 + mov ax, si ; 89 f0 ; 0xc2d2a + call 02f57h ; e8 28 02 ; 0xc2d2c + mov dx, 003cfh ; ba cf 03 ; 0xc2d2f + out DX, AL ; ee ; 0xc2d32 + inc cx ; 41 ; 0xc2d33 + inc word [bp-008h] ; ff 46 f8 ; 0xc2d34 vgabios.c:1939 + jmp short 02d1bh ; eb e2 ; 0xc2d37 + add cx, strict byte 00006h ; 83 c1 06 ; 0xc2d39 vgabios.c:1940 + mov dx, bx ; 89 da ; 0xc2d3c vgabios.c:1941 + mov ax, si ; 89 f0 ; 0xc2d3e + call 02f57h ; e8 14 02 ; 0xc2d40 + mov dx, 003c4h ; ba c4 03 ; 0xc2d43 + out DX, AL ; ee ; 0xc2d46 + inc bx ; 43 ; 0xc2d47 + mov dx, bx ; 89 da ; 0xc2d48 vgabios.c:1944 + mov ax, si ; 89 f0 ; 0xc2d4a + call 02f57h ; e8 08 02 ; 0xc2d4c + mov dx, di ; 89 fa ; 0xc2d4f + out DX, AL ; ee ; 0xc2d51 + inc bx ; 43 ; 0xc2d52 + mov dx, bx ; 89 da ; 0xc2d53 vgabios.c:1945 + mov ax, si ; 89 f0 ; 0xc2d55 + call 02f57h ; e8 fd 01 ; 0xc2d57 + mov dx, 003ceh ; ba ce 03 ; 0xc2d5a + out DX, AL ; ee ; 0xc2d5d + lea dx, [bx+002h] ; 8d 57 02 ; 0xc2d5e + mov ax, si ; 89 f0 ; 0xc2d61 + call 02f57h ; e8 f1 01 ; 0xc2d63 + lea dx, [di+006h] ; 8d 55 06 ; 0xc2d66 + out DX, AL ; ee ; 0xc2d69 + test byte [bp-00eh], 002h ; f6 46 f2 02 ; 0xc2d6a vgabios.c:1949 + je near 02ed9h ; 0f 84 67 01 ; 0xc2d6e + mov dx, cx ; 89 ca ; 0xc2d72 vgabios.c:1950 + mov ax, si ; 89 f0 ; 0xc2d74 + call 02f57h ; e8 de 01 ; 0xc2d76 + movzx bx, al ; 0f b6 d8 ; 0xc2d79 + mov dx, strict word 00049h ; ba 49 00 ; 0xc2d7c + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d7f + call 02f65h ; e8 e0 01 ; 0xc2d82 + inc cx ; 41 ; 0xc2d85 + mov dx, cx ; 89 ca ; 0xc2d86 vgabios.c:1951 + mov ax, si ; 89 f0 ; 0xc2d88 + call 02f73h ; e8 e6 01 ; 0xc2d8a + mov bx, ax ; 89 c3 ; 0xc2d8d + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2d8f + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d92 + call 02f81h ; e8 e9 01 ; 0xc2d95 + inc cx ; 41 ; 0xc2d98 + inc cx ; 41 ; 0xc2d99 + mov dx, cx ; 89 ca ; 0xc2d9a vgabios.c:1952 + mov ax, si ; 89 f0 ; 0xc2d9c + call 02f73h ; e8 d2 01 ; 0xc2d9e + mov bx, ax ; 89 c3 ; 0xc2da1 + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc2da3 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2da6 + call 02f81h ; e8 d5 01 ; 0xc2da9 + inc cx ; 41 ; 0xc2dac + inc cx ; 41 ; 0xc2dad + mov dx, cx ; 89 ca ; 0xc2dae vgabios.c:1953 + mov ax, si ; 89 f0 ; 0xc2db0 + call 02f73h ; e8 be 01 ; 0xc2db2 + mov bx, ax ; 89 c3 ; 0xc2db5 + mov dx, strict word 00063h ; ba 63 00 ; 0xc2db7 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2dba + call 02f81h ; e8 c1 01 ; 0xc2dbd + inc cx ; 41 ; 0xc2dc0 + inc cx ; 41 ; 0xc2dc1 + mov dx, cx ; 89 ca ; 0xc2dc2 vgabios.c:1954 + mov ax, si ; 89 f0 ; 0xc2dc4 + call 02f57h ; e8 8e 01 ; 0xc2dc6 + movzx bx, al ; 0f b6 d8 ; 0xc2dc9 + mov dx, 00084h ; ba 84 00 ; 0xc2dcc + mov ax, strict word 00040h ; b8 40 00 ; 0xc2dcf + call 02f65h ; e8 90 01 ; 0xc2dd2 + inc cx ; 41 ; 0xc2dd5 + mov dx, cx ; 89 ca ; 0xc2dd6 vgabios.c:1955 + mov ax, si ; 89 f0 ; 0xc2dd8 + call 02f73h ; e8 96 01 ; 0xc2dda + mov bx, ax ; 89 c3 ; 0xc2ddd + mov dx, 00085h ; ba 85 00 ; 0xc2ddf + mov ax, strict word 00040h ; b8 40 00 ; 0xc2de2 + call 02f81h ; e8 99 01 ; 0xc2de5 + inc cx ; 41 ; 0xc2de8 + inc cx ; 41 ; 0xc2de9 + mov dx, cx ; 89 ca ; 0xc2dea vgabios.c:1956 + mov ax, si ; 89 f0 ; 0xc2dec + call 02f57h ; e8 66 01 ; 0xc2dee + movzx bx, al ; 0f b6 d8 ; 0xc2df1 + mov dx, 00087h ; ba 87 00 ; 0xc2df4 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2df7 + call 02f65h ; e8 68 01 ; 0xc2dfa + inc cx ; 41 ; 0xc2dfd + mov dx, cx ; 89 ca ; 0xc2dfe vgabios.c:1957 + mov ax, si ; 89 f0 ; 0xc2e00 + call 02f57h ; e8 52 01 ; 0xc2e02 + movzx bx, al ; 0f b6 d8 ; 0xc2e05 + mov dx, 00088h ; ba 88 00 ; 0xc2e08 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2e0b + call 02f65h ; e8 54 01 ; 0xc2e0e + inc cx ; 41 ; 0xc2e11 + mov dx, cx ; 89 ca ; 0xc2e12 vgabios.c:1958 + mov ax, si ; 89 f0 ; 0xc2e14 + call 02f57h ; e8 3e 01 ; 0xc2e16 + movzx bx, al ; 0f b6 d8 ; 0xc2e19 + mov dx, 00089h ; ba 89 00 ; 0xc2e1c + mov ax, strict word 00040h ; b8 40 00 ; 0xc2e1f + call 02f65h ; e8 40 01 ; 0xc2e22 + inc cx ; 41 ; 0xc2e25 + mov dx, cx ; 89 ca ; 0xc2e26 vgabios.c:1959 + mov ax, si ; 89 f0 ; 0xc2e28 + call 02f73h ; e8 46 01 ; 0xc2e2a + mov bx, ax ; 89 c3 ; 0xc2e2d + mov dx, strict word 00060h ; ba 60 00 ; 0xc2e2f + mov ax, strict word 00040h ; b8 40 00 ; 0xc2e32 + call 02f81h ; e8 49 01 ; 0xc2e35 + mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 ; 0xc2e38 vgabios.c:1960 + inc cx ; 41 ; 0xc2e3d + inc cx ; 41 ; 0xc2e3e + jmp short 02e47h ; eb 06 ; 0xc2e3f + cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 ; 0xc2e41 + jnc short 02e65h ; 73 1e ; 0xc2e45 + mov dx, cx ; 89 ca ; 0xc2e47 vgabios.c:1961 + mov ax, si ; 89 f0 ; 0xc2e49 + call 02f73h ; e8 25 01 ; 0xc2e4b + mov bx, ax ; 89 c3 ; 0xc2e4e + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc2e50 + add dx, dx ; 01 d2 ; 0xc2e53 + add dx, strict byte 00050h ; 83 c2 50 ; 0xc2e55 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2e58 + call 02f81h ; e8 23 01 ; 0xc2e5b + inc cx ; 41 ; 0xc2e5e vgabios.c:1962 + inc cx ; 41 ; 0xc2e5f + inc word [bp-008h] ; ff 46 f8 ; 0xc2e60 vgabios.c:1963 + jmp short 02e41h ; eb dc ; 0xc2e63 + mov dx, cx ; 89 ca ; 0xc2e65 vgabios.c:1964 + mov ax, si ; 89 f0 ; 0xc2e67 + call 02f73h ; e8 07 01 ; 0xc2e69 + mov bx, ax ; 89 c3 ; 0xc2e6c + mov dx, strict word 0004eh ; ba 4e 00 ; 0xc2e6e + mov ax, strict word 00040h ; b8 40 00 ; 0xc2e71 + call 02f81h ; e8 0a 01 ; 0xc2e74 + inc cx ; 41 ; 0xc2e77 + inc cx ; 41 ; 0xc2e78 + mov dx, cx ; 89 ca ; 0xc2e79 vgabios.c:1965 + mov ax, si ; 89 f0 ; 0xc2e7b + call 02f57h ; e8 d7 00 ; 0xc2e7d + movzx bx, al ; 0f b6 d8 ; 0xc2e80 + mov dx, strict word 00062h ; ba 62 00 ; 0xc2e83 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2e86 + call 02f65h ; e8 d9 00 ; 0xc2e89 + inc cx ; 41 ; 0xc2e8c + mov dx, cx ; 89 ca ; 0xc2e8d vgabios.c:1967 + mov ax, si ; 89 f0 ; 0xc2e8f + call 02f73h ; e8 df 00 ; 0xc2e91 + mov bx, ax ; 89 c3 ; 0xc2e94 + mov dx, strict word 0007ch ; ba 7c 00 ; 0xc2e96 + xor ax, ax ; 31 c0 ; 0xc2e99 + call 02f81h ; e8 e3 00 ; 0xc2e9b + inc cx ; 41 ; 0xc2e9e + inc cx ; 41 ; 0xc2e9f + mov dx, cx ; 89 ca ; 0xc2ea0 vgabios.c:1968 + mov ax, si ; 89 f0 ; 0xc2ea2 + call 02f73h ; e8 cc 00 ; 0xc2ea4 + mov bx, ax ; 89 c3 ; 0xc2ea7 + mov dx, strict word 0007eh ; ba 7e 00 ; 0xc2ea9 + xor ax, ax ; 31 c0 ; 0xc2eac + call 02f81h ; e8 d0 00 ; 0xc2eae + inc cx ; 41 ; 0xc2eb1 + inc cx ; 41 ; 0xc2eb2 + mov dx, cx ; 89 ca ; 0xc2eb3 vgabios.c:1969 + mov ax, si ; 89 f0 ; 0xc2eb5 + call 02f73h ; e8 b9 00 ; 0xc2eb7 + mov bx, ax ; 89 c3 ; 0xc2eba + mov dx, 0010ch ; ba 0c 01 ; 0xc2ebc + xor ax, ax ; 31 c0 ; 0xc2ebf + call 02f81h ; e8 bd 00 ; 0xc2ec1 + inc cx ; 41 ; 0xc2ec4 + inc cx ; 41 ; 0xc2ec5 + mov dx, cx ; 89 ca ; 0xc2ec6 vgabios.c:1970 + mov ax, si ; 89 f0 ; 0xc2ec8 + call 02f73h ; e8 a6 00 ; 0xc2eca + mov bx, ax ; 89 c3 ; 0xc2ecd + mov dx, 0010eh ; ba 0e 01 ; 0xc2ecf + xor ax, ax ; 31 c0 ; 0xc2ed2 + call 02f81h ; e8 aa 00 ; 0xc2ed4 + inc cx ; 41 ; 0xc2ed7 + inc cx ; 41 ; 0xc2ed8 + test byte [bp-00eh], 004h ; f6 46 f2 04 ; 0xc2ed9 vgabios.c:1972 + je short 02f26h ; 74 47 ; 0xc2edd + inc cx ; 41 ; 0xc2edf vgabios.c:1973 + mov dx, cx ; 89 ca ; 0xc2ee0 vgabios.c:1974 + mov ax, si ; 89 f0 ; 0xc2ee2 + call 02f57h ; e8 70 00 ; 0xc2ee4 + xor ah, ah ; 30 e4 ; 0xc2ee7 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc2ee9 + inc cx ; 41 ; 0xc2eec + mov dx, cx ; 89 ca ; 0xc2eed vgabios.c:1975 + mov ax, si ; 89 f0 ; 0xc2eef + call 02f57h ; e8 63 00 ; 0xc2ef1 + mov dx, 003c6h ; ba c6 03 ; 0xc2ef4 + out DX, AL ; ee ; 0xc2ef7 + inc cx ; 41 ; 0xc2ef8 vgabios.c:1977 + xor al, al ; 30 c0 ; 0xc2ef9 + mov dx, 003c8h ; ba c8 03 ; 0xc2efb + out DX, AL ; ee ; 0xc2efe + xor ah, ah ; 30 e4 ; 0xc2eff vgabios.c:1978 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc2f01 + jmp short 02f0dh ; eb 07 ; 0xc2f04 + cmp word [bp-008h], 00300h ; 81 7e f8 00 03 ; 0xc2f06 + jnc short 02f1eh ; 73 11 ; 0xc2f0b + mov dx, cx ; 89 ca ; 0xc2f0d vgabios.c:1979 + mov ax, si ; 89 f0 ; 0xc2f0f + call 02f57h ; e8 43 00 ; 0xc2f11 + mov dx, 003c9h ; ba c9 03 ; 0xc2f14 + out DX, AL ; ee ; 0xc2f17 + inc cx ; 41 ; 0xc2f18 + inc word [bp-008h] ; ff 46 f8 ; 0xc2f19 vgabios.c:1980 + jmp short 02f06h ; eb e8 ; 0xc2f1c + inc cx ; 41 ; 0xc2f1e vgabios.c:1981 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2f1f + mov dx, 003c8h ; ba c8 03 ; 0xc2f22 + out DX, AL ; ee ; 0xc2f25 + mov ax, cx ; 89 c8 ; 0xc2f26 vgabios.c:1985 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc2f28 + pop di ; 5f ; 0xc2f2b + pop si ; 5e ; 0xc2f2c + pop cx ; 59 ; 0xc2f2d + pop bp ; 5d ; 0xc2f2e + retn ; c3 ; 0xc2f2f + ; disGetNextSymbol 0xc2f30 LB 0xcc8 -> off=0x0 cb=0000000000000027 uValue=00000000000c2f30 'find_vga_entry' +find_vga_entry: ; 0xc2f30 LB 0x27 + push bx ; 53 ; 0xc2f30 vgabios.c:1994 + push dx ; 52 ; 0xc2f31 + push bp ; 55 ; 0xc2f32 + mov bp, sp ; 89 e5 ; 0xc2f33 + mov dl, al ; 88 c2 ; 0xc2f35 + mov AH, strict byte 0ffh ; b4 ff ; 0xc2f37 vgabios.c:1996 + xor al, al ; 30 c0 ; 0xc2f39 vgabios.c:1997 + jmp short 02f43h ; eb 06 ; 0xc2f3b + db 0feh, 0c0h + ; inc al ; fe c0 ; 0xc2f3d vgabios.c:1998 + cmp AL, strict byte 00fh ; 3c 0f ; 0xc2f3f + jnbe short 02f51h ; 77 0e ; 0xc2f41 + movzx bx, al ; 0f b6 d8 ; 0xc2f43 + sal bx, 003h ; c1 e3 03 ; 0xc2f46 + cmp dl, byte [bx+0462eh] ; 3a 97 2e 46 ; 0xc2f49 + jne short 02f3dh ; 75 ee ; 0xc2f4d + mov ah, al ; 88 c4 ; 0xc2f4f + mov al, ah ; 88 e0 ; 0xc2f51 vgabios.c:2003 + pop bp ; 5d ; 0xc2f53 + pop dx ; 5a ; 0xc2f54 + pop bx ; 5b ; 0xc2f55 + retn ; c3 ; 0xc2f56 + ; disGetNextSymbol 0xc2f57 LB 0xca1 -> off=0x0 cb=000000000000000e uValue=00000000000c2f57 'read_byte' +read_byte: ; 0xc2f57 LB 0xe + push bx ; 53 ; 0xc2f57 vgabios.c:2011 + push bp ; 55 ; 0xc2f58 + mov bp, sp ; 89 e5 ; 0xc2f59 + mov bx, dx ; 89 d3 ; 0xc2f5b + mov es, ax ; 8e c0 ; 0xc2f5d vgabios.c:2013 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc2f5f + pop bp ; 5d ; 0xc2f62 vgabios.c:2014 + pop bx ; 5b ; 0xc2f63 + retn ; c3 ; 0xc2f64 + ; disGetNextSymbol 0xc2f65 LB 0xc93 -> off=0x0 cb=000000000000000e uValue=00000000000c2f65 'write_byte' +write_byte: ; 0xc2f65 LB 0xe + push si ; 56 ; 0xc2f65 vgabios.c:2016 + push bp ; 55 ; 0xc2f66 + mov bp, sp ; 89 e5 ; 0xc2f67 + mov si, dx ; 89 d6 ; 0xc2f69 + mov es, ax ; 8e c0 ; 0xc2f6b vgabios.c:2018 + mov byte [es:si], bl ; 26 88 1c ; 0xc2f6d + pop bp ; 5d ; 0xc2f70 vgabios.c:2019 + pop si ; 5e ; 0xc2f71 + retn ; c3 ; 0xc2f72 + ; disGetNextSymbol 0xc2f73 LB 0xc85 -> off=0x0 cb=000000000000000e uValue=00000000000c2f73 'read_word' +read_word: ; 0xc2f73 LB 0xe + push bx ; 53 ; 0xc2f73 vgabios.c:2021 + push bp ; 55 ; 0xc2f74 + mov bp, sp ; 89 e5 ; 0xc2f75 + mov bx, dx ; 89 d3 ; 0xc2f77 + mov es, ax ; 8e c0 ; 0xc2f79 vgabios.c:2023 + mov ax, word [es:bx] ; 26 8b 07 ; 0xc2f7b + pop bp ; 5d ; 0xc2f7e vgabios.c:2024 + pop bx ; 5b ; 0xc2f7f + retn ; c3 ; 0xc2f80 + ; disGetNextSymbol 0xc2f81 LB 0xc77 -> off=0x0 cb=000000000000000e uValue=00000000000c2f81 'write_word' +write_word: ; 0xc2f81 LB 0xe + push si ; 56 ; 0xc2f81 vgabios.c:2026 + push bp ; 55 ; 0xc2f82 + mov bp, sp ; 89 e5 ; 0xc2f83 + mov si, dx ; 89 d6 ; 0xc2f85 + mov es, ax ; 8e c0 ; 0xc2f87 vgabios.c:2028 + mov word [es:si], bx ; 26 89 1c ; 0xc2f89 + pop bp ; 5d ; 0xc2f8c vgabios.c:2029 + pop si ; 5e ; 0xc2f8d + retn ; c3 ; 0xc2f8e + ; disGetNextSymbol 0xc2f8f LB 0xc69 -> off=0x0 cb=0000000000000012 uValue=00000000000c2f8f 'read_dword' +read_dword: ; 0xc2f8f LB 0x12 + push bx ; 53 ; 0xc2f8f vgabios.c:2031 + push bp ; 55 ; 0xc2f90 + mov bp, sp ; 89 e5 ; 0xc2f91 + mov bx, dx ; 89 d3 ; 0xc2f93 + mov es, ax ; 8e c0 ; 0xc2f95 vgabios.c:2033 + mov ax, word [es:bx] ; 26 8b 07 ; 0xc2f97 + mov dx, word [es:bx+002h] ; 26 8b 57 02 ; 0xc2f9a + pop bp ; 5d ; 0xc2f9e vgabios.c:2034 + pop bx ; 5b ; 0xc2f9f + retn ; c3 ; 0xc2fa0 + ; disGetNextSymbol 0xc2fa1 LB 0xc57 -> off=0x0 cb=0000000000000012 uValue=00000000000c2fa1 'write_dword' +write_dword: ; 0xc2fa1 LB 0x12 + push si ; 56 ; 0xc2fa1 vgabios.c:2036 + push bp ; 55 ; 0xc2fa2 + mov bp, sp ; 89 e5 ; 0xc2fa3 + mov si, dx ; 89 d6 ; 0xc2fa5 + mov es, ax ; 8e c0 ; 0xc2fa7 vgabios.c:2038 + mov word [es:si], bx ; 26 89 1c ; 0xc2fa9 + mov word [es:si+002h], cx ; 26 89 4c 02 ; 0xc2fac + pop bp ; 5d ; 0xc2fb0 vgabios.c:2039 + pop si ; 5e ; 0xc2fb1 + retn ; c3 ; 0xc2fb2 + ; disGetNextSymbol 0xc2fb3 LB 0xc45 -> off=0x87 cb=0000000000000401 uValue=00000000000c303a 'int10_func' + db 056h, 04fh, 01ch, 01bh, 013h, 012h, 011h, 010h, 00eh, 00dh, 00ch, 00ah, 009h, 008h, 007h, 006h + db 005h, 004h, 003h, 002h, 001h, 000h, 034h, 034h, 068h, 030h, 0a6h, 030h, 0bah, 030h, 0cbh, 030h + db 0dfh, 030h, 0f0h, 030h, 0fah, 030h, 034h, 031h, 038h, 031h, 049h, 031h, 066h, 031h, 083h, 031h + db 09ch, 031h, 0b9h, 031h, 0d0h, 031h, 0dch, 031h, 0b7h, 032h, 0f1h, 032h, 024h, 033h, 039h, 033h + db 07bh, 033h, 006h, 034h, 030h, 024h, 023h, 022h, 021h, 020h, 014h, 012h, 011h, 010h, 004h, 002h + db 001h, 000h, 034h, 034h, 0fdh, 031h, 023h, 032h, 034h, 032h, 045h, 032h, 0fdh, 031h, 023h, 032h + db 034h, 032h, 045h, 032h, 056h, 032h, 062h, 032h, 07dh, 032h, 088h, 032h, 093h, 032h, 09eh, 032h + db 00ah, 009h, 006h, 004h, 002h, 001h, 000h, 0f8h, 033h, 0a3h, 033h, 0b1h, 033h, 0c2h, 033h, 0d2h + db 033h, 0e7h, 033h, 0f8h, 033h, 0f8h, 033h +int10_func: ; 0xc303a LB 0x401 + push bp ; 55 ; 0xc303a vgabios.c:2117 + mov bp, sp ; 89 e5 ; 0xc303b + push si ; 56 ; 0xc303d + push di ; 57 ; 0xc303e + push ax ; 50 ; 0xc303f + mov si, word [bp+004h] ; 8b 76 04 ; 0xc3040 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3043 vgabios.c:2122 + shr ax, 008h ; c1 e8 08 ; 0xc3046 + cmp ax, strict word 00056h ; 3d 56 00 ; 0xc3049 + jnbe near 03434h ; 0f 87 e4 03 ; 0xc304c + push CS ; 0e ; 0xc3050 + pop ES ; 07 ; 0xc3051 + mov cx, strict word 00017h ; b9 17 00 ; 0xc3052 + mov di, 02fb3h ; bf b3 2f ; 0xc3055 + repne scasb ; f2 ae ; 0xc3058 + sal cx, 1 ; d1 e1 ; 0xc305a + mov di, cx ; 89 cf ; 0xc305c + mov ax, word [cs:di+02fc9h] ; 2e 8b 85 c9 2f ; 0xc305e + mov dl, byte [bp+012h] ; 8a 56 12 ; 0xc3063 + jmp ax ; ff e0 ; 0xc3066 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3068 vgabios.c:2125 + xor ah, ah ; 30 e4 ; 0xc306b + call 00fdch ; e8 6c df ; 0xc306d + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3070 vgabios.c:2126 + and ax, strict word 0007fh ; 25 7f 00 ; 0xc3073 + cmp ax, strict word 00007h ; 3d 07 00 ; 0xc3076 + je short 03090h ; 74 15 ; 0xc3079 + cmp ax, strict word 00006h ; 3d 06 00 ; 0xc307b + je short 03087h ; 74 07 ; 0xc307e + cmp ax, strict word 00005h ; 3d 05 00 ; 0xc3080 + jbe short 03090h ; 76 0b ; 0xc3083 + jmp short 03099h ; eb 12 ; 0xc3085 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3087 vgabios.c:2128 + xor al, al ; 30 c0 ; 0xc308a + or AL, strict byte 03fh ; 0c 3f ; 0xc308c + jmp short 030a0h ; eb 10 ; 0xc308e vgabios.c:2129 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3090 vgabios.c:2137 + xor al, al ; 30 c0 ; 0xc3093 + or AL, strict byte 030h ; 0c 30 ; 0xc3095 + jmp short 030a0h ; eb 07 ; 0xc3097 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3099 vgabios.c:2140 + xor al, al ; 30 c0 ; 0xc309c + or AL, strict byte 020h ; 0c 20 ; 0xc309e + mov word [bp+012h], ax ; 89 46 12 ; 0xc30a0 + jmp near 03434h ; e9 8e 03 ; 0xc30a3 vgabios.c:2142 + mov al, byte [bp+010h] ; 8a 46 10 ; 0xc30a6 vgabios.c:2144 + movzx dx, al ; 0f b6 d0 ; 0xc30a9 + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc30ac + shr ax, 008h ; c1 e8 08 ; 0xc30af + xor ah, ah ; 30 e4 ; 0xc30b2 + call 00dbah ; e8 03 dd ; 0xc30b4 + jmp near 03434h ; e9 7a 03 ; 0xc30b7 vgabios.c:2145 + mov dx, word [bp+00eh] ; 8b 56 0e ; 0xc30ba vgabios.c:2147 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc30bd + shr ax, 008h ; c1 e8 08 ; 0xc30c0 + xor ah, ah ; 30 e4 ; 0xc30c3 + call 00e5eh ; e8 96 dd ; 0xc30c5 + jmp near 03434h ; e9 69 03 ; 0xc30c8 vgabios.c:2148 + lea bx, [bp+00eh] ; 8d 5e 0e ; 0xc30cb vgabios.c:2150 + lea dx, [bp+010h] ; 8d 56 10 ; 0xc30ce + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc30d1 + shr ax, 008h ; c1 e8 08 ; 0xc30d4 + xor ah, ah ; 30 e4 ; 0xc30d7 + call 00a88h ; e8 ac d9 ; 0xc30d9 + jmp near 03434h ; e9 55 03 ; 0xc30dc vgabios.c:2151 + xor ax, ax ; 31 c0 ; 0xc30df vgabios.c:2157 + mov word [bp+012h], ax ; 89 46 12 ; 0xc30e1 + mov word [bp+00ch], ax ; 89 46 0c ; 0xc30e4 vgabios.c:2158 + mov word [bp+010h], ax ; 89 46 10 ; 0xc30e7 vgabios.c:2159 + mov word [bp+00eh], ax ; 89 46 0e ; 0xc30ea vgabios.c:2160 + jmp near 03434h ; e9 44 03 ; 0xc30ed vgabios.c:2161 + mov al, dl ; 88 d0 ; 0xc30f0 vgabios.c:2163 + xor ah, ah ; 30 e4 ; 0xc30f2 + call 00f00h ; e8 09 de ; 0xc30f4 + jmp near 03434h ; e9 3a 03 ; 0xc30f7 vgabios.c:2164 + mov ax, strict word 00001h ; b8 01 00 ; 0xc30fa vgabios.c:2166 + push ax ; 50 ; 0xc30fd + mov ax, 000ffh ; b8 ff 00 ; 0xc30fe + push ax ; 50 ; 0xc3101 + mov al, byte [bp+00eh] ; 8a 46 0e ; 0xc3102 + xor ah, ah ; 30 e4 ; 0xc3105 + push ax ; 50 ; 0xc3107 + mov ax, word [bp+00eh] ; 8b 46 0e ; 0xc3108 + shr ax, 008h ; c1 e8 08 ; 0xc310b + xor ah, ah ; 30 e4 ; 0xc310e + push ax ; 50 ; 0xc3110 + mov al, byte [bp+010h] ; 8a 46 10 ; 0xc3111 + movzx cx, al ; 0f b6 c8 ; 0xc3114 + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc3117 + shr ax, 008h ; c1 e8 08 ; 0xc311a + movzx bx, al ; 0f b6 d8 ; 0xc311d + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc3120 + shr ax, 008h ; c1 e8 08 ; 0xc3123 + movzx dx, al ; 0f b6 d0 ; 0xc3126 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3129 + xor ah, ah ; 30 e4 ; 0xc312c + call 0158bh ; e8 5a e4 ; 0xc312e + jmp near 03434h ; e9 00 03 ; 0xc3131 vgabios.c:2167 + xor ax, ax ; 31 c0 ; 0xc3134 vgabios.c:2169 + jmp short 030fdh ; eb c5 ; 0xc3136 + lea dx, [bp+012h] ; 8d 56 12 ; 0xc3138 vgabios.c:2172 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc313b + shr ax, 008h ; c1 e8 08 ; 0xc313e + xor ah, ah ; 30 e4 ; 0xc3141 + call 00acbh ; e8 85 d9 ; 0xc3143 + jmp near 03434h ; e9 eb 02 ; 0xc3146 vgabios.c:2173 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc3149 vgabios.c:2175 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc314c + movzx bx, al ; 0f b6 d8 ; 0xc314f + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc3152 + shr ax, 008h ; c1 e8 08 ; 0xc3155 + movzx dx, al ; 0f b6 d0 ; 0xc3158 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc315b + xor ah, ah ; 30 e4 ; 0xc315e + call 01d2bh ; e8 c8 eb ; 0xc3160 + jmp near 03434h ; e9 ce 02 ; 0xc3163 vgabios.c:2176 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc3166 vgabios.c:2178 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3169 + movzx bx, al ; 0f b6 d8 ; 0xc316c + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc316f + shr ax, 008h ; c1 e8 08 ; 0xc3172 + movzx dx, al ; 0f b6 d0 ; 0xc3175 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3178 + xor ah, ah ; 30 e4 ; 0xc317b + call 01e93h ; e8 13 ed ; 0xc317d + jmp near 03434h ; e9 b1 02 ; 0xc3180 vgabios.c:2179 + mov cx, word [bp+00eh] ; 8b 4e 0e ; 0xc3183 vgabios.c:2181 + mov bx, word [bp+010h] ; 8b 5e 10 ; 0xc3186 + mov al, dl ; 88 d0 ; 0xc3189 + movzx dx, al ; 0f b6 d0 ; 0xc318b + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc318e + shr ax, 008h ; c1 e8 08 ; 0xc3191 + xor ah, ah ; 30 e4 ; 0xc3194 + call 02002h ; e8 69 ee ; 0xc3196 + jmp near 03434h ; e9 98 02 ; 0xc3199 vgabios.c:2182 + lea cx, [bp+012h] ; 8d 4e 12 ; 0xc319c vgabios.c:2184 + mov bx, word [bp+00eh] ; 8b 5e 0e ; 0xc319f + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc31a2 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc31a5 + shr ax, 008h ; c1 e8 08 ; 0xc31a8 + mov word [bp-006h], ax ; 89 46 fa ; 0xc31ab + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc31ae + xor ah, ah ; 30 e4 ; 0xc31b1 + call 00bf5h ; e8 3f da ; 0xc31b3 + jmp near 03434h ; e9 7b 02 ; 0xc31b6 vgabios.c:2185 + mov cx, strict word 00002h ; b9 02 00 ; 0xc31b9 vgabios.c:2193 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc31bc + movzx bx, al ; 0f b6 d8 ; 0xc31bf + mov dx, 000ffh ; ba ff 00 ; 0xc31c2 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc31c5 + xor ah, ah ; 30 e4 ; 0xc31c8 + call 0216ch ; e8 9f ef ; 0xc31ca + jmp near 03434h ; e9 64 02 ; 0xc31cd vgabios.c:2194 + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc31d0 vgabios.c:2197 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc31d3 + call 00d2eh ; e8 55 db ; 0xc31d6 + jmp near 03434h ; e9 58 02 ; 0xc31d9 vgabios.c:2198 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc31dc vgabios.c:2200 + xor ah, ah ; 30 e4 ; 0xc31df + cmp ax, strict word 00030h ; 3d 30 00 ; 0xc31e1 + jnbe near 03434h ; 0f 87 4c 02 ; 0xc31e4 + push CS ; 0e ; 0xc31e8 + pop ES ; 07 ; 0xc31e9 + mov cx, strict word 0000fh ; b9 0f 00 ; 0xc31ea + mov di, 02ff7h ; bf f7 2f ; 0xc31ed + repne scasb ; f2 ae ; 0xc31f0 + sal cx, 1 ; d1 e1 ; 0xc31f2 + mov di, cx ; 89 cf ; 0xc31f4 + mov ax, word [cs:di+03005h] ; 2e 8b 85 05 30 ; 0xc31f6 + jmp ax ; ff e0 ; 0xc31fb + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc31fd vgabios.c:2204 + shr ax, 008h ; c1 e8 08 ; 0xc3200 + xor ah, ah ; 30 e4 ; 0xc3203 + push ax ; 50 ; 0xc3205 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3206 + xor ah, ah ; 30 e4 ; 0xc3209 + push ax ; 50 ; 0xc320b + push word [bp+00eh] ; ff 76 0e ; 0xc320c + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc320f + xor ah, ah ; 30 e4 ; 0xc3212 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc3214 + mov bx, word [bp+008h] ; 8b 5e 08 ; 0xc3217 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc321a + call 024d4h ; e8 b4 f2 ; 0xc321d + jmp near 03434h ; e9 11 02 ; 0xc3220 vgabios.c:2205 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3223 vgabios.c:2208 + movzx dx, al ; 0f b6 d0 ; 0xc3226 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3229 + xor ah, ah ; 30 e4 ; 0xc322c + call 02551h ; e8 20 f3 ; 0xc322e + jmp near 03434h ; e9 00 02 ; 0xc3231 vgabios.c:2209 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3234 vgabios.c:2212 + movzx dx, al ; 0f b6 d0 ; 0xc3237 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc323a + xor ah, ah ; 30 e4 ; 0xc323d + call 025c1h ; e8 7f f3 ; 0xc323f + jmp near 03434h ; e9 ef 01 ; 0xc3242 vgabios.c:2213 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3245 vgabios.c:2216 + movzx dx, al ; 0f b6 d0 ; 0xc3248 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc324b + xor ah, ah ; 30 e4 ; 0xc324e + call 02633h ; e8 e0 f3 ; 0xc3250 + jmp near 03434h ; e9 de 01 ; 0xc3253 vgabios.c:2217 + mov dx, word [bp+008h] ; 8b 56 08 ; 0xc3256 vgabios.c:2219 + mov ax, word [bp+016h] ; 8b 46 16 ; 0xc3259 + call 026a5h ; e8 46 f4 ; 0xc325c + jmp near 03434h ; e9 d2 01 ; 0xc325f vgabios.c:2220 + mov al, byte [bp+00eh] ; 8a 46 0e ; 0xc3262 vgabios.c:2222 + xor ah, ah ; 30 e4 ; 0xc3265 + push ax ; 50 ; 0xc3267 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3268 + movzx cx, al ; 0f b6 c8 ; 0xc326b + mov bx, word [bp+010h] ; 8b 5e 10 ; 0xc326e + mov dx, word [bp+008h] ; 8b 56 08 ; 0xc3271 + mov ax, word [bp+016h] ; 8b 46 16 ; 0xc3274 + call 026aah ; e8 30 f4 ; 0xc3277 + jmp near 03434h ; e9 b7 01 ; 0xc327a vgabios.c:2223 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc327d vgabios.c:2225 + xor ah, ah ; 30 e4 ; 0xc3280 + call 026b1h ; e8 2c f4 ; 0xc3282 + jmp near 03434h ; e9 ac 01 ; 0xc3285 vgabios.c:2226 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3288 vgabios.c:2228 + xor ah, ah ; 30 e4 ; 0xc328b + call 026b6h ; e8 26 f4 ; 0xc328d + jmp near 03434h ; e9 a1 01 ; 0xc3290 vgabios.c:2229 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3293 vgabios.c:2231 + xor ah, ah ; 30 e4 ; 0xc3296 + call 026bbh ; e8 20 f4 ; 0xc3298 + jmp near 03434h ; e9 96 01 ; 0xc329b vgabios.c:2232 + lea ax, [bp+00eh] ; 8d 46 0e ; 0xc329e vgabios.c:2234 + push ax ; 50 ; 0xc32a1 + lea cx, [bp+010h] ; 8d 4e 10 ; 0xc32a2 + lea bx, [bp+008h] ; 8d 5e 08 ; 0xc32a5 + lea dx, [bp+016h] ; 8d 56 16 ; 0xc32a8 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc32ab + shr ax, 008h ; c1 e8 08 ; 0xc32ae + call 00b73h ; e8 bf d8 ; 0xc32b1 + jmp near 03434h ; e9 7d 01 ; 0xc32b4 vgabios.c:2242 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc32b7 vgabios.c:2244 + xor ah, ah ; 30 e4 ; 0xc32ba + cmp ax, strict word 00036h ; 3d 36 00 ; 0xc32bc + je short 032e9h ; 74 28 ; 0xc32bf + cmp ax, strict word 00035h ; 3d 35 00 ; 0xc32c1 + je short 032d3h ; 74 0d ; 0xc32c4 + cmp ax, strict word 00020h ; 3d 20 00 ; 0xc32c6 + jne near 03434h ; 0f 85 67 01 ; 0xc32c9 + call 026c0h ; e8 f0 f3 ; 0xc32cd vgabios.c:2247 + jmp near 03434h ; e9 61 01 ; 0xc32d0 vgabios.c:2248 + movzx ax, dl ; 0f b6 c2 ; 0xc32d3 vgabios.c:2250 + mov bx, word [bp+00eh] ; 8b 5e 0e ; 0xc32d6 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc32d9 + call 026c5h ; e8 e6 f3 ; 0xc32dc + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc32df vgabios.c:2251 + xor al, al ; 30 c0 ; 0xc32e2 + or AL, strict byte 012h ; 0c 12 ; 0xc32e4 + jmp near 030a0h ; e9 b7 fd ; 0xc32e6 + movzx ax, dl ; 0f b6 c2 ; 0xc32e9 vgabios.c:2254 + call 026cah ; e8 db f3 ; 0xc32ec + jmp short 032dfh ; eb ee ; 0xc32ef + push word [bp+008h] ; ff 76 08 ; 0xc32f1 vgabios.c:2264 + push word [bp+016h] ; ff 76 16 ; 0xc32f4 + mov al, byte [bp+00eh] ; 8a 46 0e ; 0xc32f7 + xor ah, ah ; 30 e4 ; 0xc32fa + push ax ; 50 ; 0xc32fc + mov ax, word [bp+00eh] ; 8b 46 0e ; 0xc32fd + shr ax, 008h ; c1 e8 08 ; 0xc3300 + xor ah, ah ; 30 e4 ; 0xc3303 + push ax ; 50 ; 0xc3305 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3306 + movzx bx, al ; 0f b6 d8 ; 0xc3309 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc330c + shr ax, 008h ; c1 e8 08 ; 0xc330f + xor ah, ah ; 30 e4 ; 0xc3312 + movzx si, dl ; 0f b6 f2 ; 0xc3314 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc3317 + mov dx, ax ; 89 c2 ; 0xc331a + mov ax, si ; 89 f0 ; 0xc331c + call 026cfh ; e8 ae f3 ; 0xc331e + jmp near 03434h ; e9 10 01 ; 0xc3321 vgabios.c:2265 + mov bx, si ; 89 f3 ; 0xc3324 vgabios.c:2267 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc3326 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc3329 + call 0276bh ; e8 3c f4 ; 0xc332c + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc332f vgabios.c:2268 + xor al, al ; 30 c0 ; 0xc3332 + or AL, strict byte 01bh ; 0c 1b ; 0xc3334 + jmp near 030a0h ; e9 67 fd ; 0xc3336 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3339 vgabios.c:2271 + xor ah, ah ; 30 e4 ; 0xc333c + cmp ax, strict word 00002h ; 3d 02 00 ; 0xc333e + je short 03365h ; 74 22 ; 0xc3341 + cmp ax, strict word 00001h ; 3d 01 00 ; 0xc3343 + je short 03357h ; 74 0f ; 0xc3346 + test ax, ax ; 85 c0 ; 0xc3348 + jne short 03371h ; 75 25 ; 0xc334a + lea dx, [bp+00ch] ; 8d 56 0c ; 0xc334c vgabios.c:2274 + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc334f + call 0288fh ; e8 3a f5 ; 0xc3352 + jmp short 03371h ; eb 1a ; 0xc3355 vgabios.c:2275 + mov bx, word [bp+00ch] ; 8b 5e 0c ; 0xc3357 vgabios.c:2277 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc335a + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc335d + call 028a1h ; e8 3e f5 ; 0xc3360 + jmp short 03371h ; eb 0c ; 0xc3363 vgabios.c:2278 + mov bx, word [bp+00ch] ; 8b 5e 0c ; 0xc3365 vgabios.c:2280 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc3368 + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc336b + call 02c0ah ; e8 99 f8 ; 0xc336e + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3371 vgabios.c:2287 + xor al, al ; 30 c0 ; 0xc3374 + or AL, strict byte 01ch ; 0c 1c ; 0xc3376 + jmp near 030a0h ; e9 25 fd ; 0xc3378 + call 007bfh ; e8 41 d4 ; 0xc337b vgabios.c:2292 + test ax, ax ; 85 c0 ; 0xc337e + je near 033ffh ; 0f 84 7b 00 ; 0xc3380 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3384 vgabios.c:2293 + xor ah, ah ; 30 e4 ; 0xc3387 + cmp ax, strict word 0000ah ; 3d 0a 00 ; 0xc3389 + jnbe short 033f8h ; 77 6a ; 0xc338c + push CS ; 0e ; 0xc338e + pop ES ; 07 ; 0xc338f + mov cx, strict word 00008h ; b9 08 00 ; 0xc3390 + mov di, 03023h ; bf 23 30 ; 0xc3393 + repne scasb ; f2 ae ; 0xc3396 + sal cx, 1 ; d1 e1 ; 0xc3398 + mov di, cx ; 89 cf ; 0xc339a + mov ax, word [cs:di+0302ah] ; 2e 8b 85 2a 30 ; 0xc339c + jmp ax ; ff e0 ; 0xc33a1 + mov bx, si ; 89 f3 ; 0xc33a3 vgabios.c:2296 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc33a5 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc33a8 + call 035f0h ; e8 42 02 ; 0xc33ab + jmp near 03434h ; e9 83 00 ; 0xc33ae vgabios.c:2297 + mov cx, si ; 89 f1 ; 0xc33b1 vgabios.c:2299 + mov bx, word [bp+016h] ; 8b 5e 16 ; 0xc33b3 + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc33b6 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc33b9 + call 03719h ; e8 5a 03 ; 0xc33bc + jmp near 03434h ; e9 72 00 ; 0xc33bf vgabios.c:2300 + mov cx, si ; 89 f1 ; 0xc33c2 vgabios.c:2302 + mov bx, word [bp+016h] ; 8b 5e 16 ; 0xc33c4 + mov dx, word [bp+00ch] ; 8b 56 0c ; 0xc33c7 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc33ca + call 037d1h ; e8 01 04 ; 0xc33cd + jmp short 03434h ; eb 62 ; 0xc33d0 vgabios.c:2303 + lea ax, [bp+00ch] ; 8d 46 0c ; 0xc33d2 vgabios.c:2305 + push ax ; 50 ; 0xc33d5 + mov cx, word [bp+016h] ; 8b 4e 16 ; 0xc33d6 + mov bx, word [bp+00eh] ; 8b 5e 0e ; 0xc33d9 + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc33dc + lea ax, [bp+012h] ; 8d 46 12 ; 0xc33df + call 039b8h ; e8 d3 05 ; 0xc33e2 + jmp short 03434h ; eb 4d ; 0xc33e5 vgabios.c:2306 + lea cx, [bp+00eh] ; 8d 4e 0e ; 0xc33e7 vgabios.c:2308 + lea bx, [bp+010h] ; 8d 5e 10 ; 0xc33ea + lea dx, [bp+00ch] ; 8d 56 0c ; 0xc33ed + lea ax, [bp+012h] ; 8d 46 12 ; 0xc33f0 + call 03a44h ; e8 4e 06 ; 0xc33f3 + jmp short 03434h ; eb 3c ; 0xc33f6 vgabios.c:2309 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc33f8 vgabios.c:2331 + jmp short 03434h ; eb 35 ; 0xc33fd vgabios.c:2334 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc33ff vgabios.c:2336 + jmp short 03434h ; eb 2e ; 0xc3404 vgabios.c:2338 + call 007bfh ; e8 b6 d3 ; 0xc3406 vgabios.c:2340 + test ax, ax ; 85 c0 ; 0xc3409 + je short 0342fh ; 74 22 ; 0xc340b + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc340d vgabios.c:2341 + xor ah, ah ; 30 e4 ; 0xc3410 + cmp ax, strict word 00042h ; 3d 42 00 ; 0xc3412 + jne short 03428h ; 75 11 ; 0xc3415 + lea cx, [bp+00eh] ; 8d 4e 0e ; 0xc3417 vgabios.c:2344 + lea bx, [bp+010h] ; 8d 5e 10 ; 0xc341a + lea dx, [bp+00ch] ; 8d 56 0c ; 0xc341d + lea ax, [bp+012h] ; 8d 46 12 ; 0xc3420 + call 03b13h ; e8 ed 06 ; 0xc3423 + jmp short 03434h ; eb 0c ; 0xc3426 vgabios.c:2345 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc3428 vgabios.c:2347 + jmp short 03434h ; eb 05 ; 0xc342d vgabios.c:2350 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc342f vgabios.c:2352 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3434 vgabios.c:2362 + pop di ; 5f ; 0xc3437 + pop si ; 5e ; 0xc3438 + pop bp ; 5d ; 0xc3439 + retn ; c3 ; 0xc343a + ; disGetNextSymbol 0xc343b LB 0x7bd -> off=0x0 cb=000000000000001f uValue=00000000000c343b 'dispi_set_xres' +dispi_set_xres: ; 0xc343b LB 0x1f + push bp ; 55 ; 0xc343b vbe.c:100 + mov bp, sp ; 89 e5 ; 0xc343c + push bx ; 53 ; 0xc343e + push dx ; 52 ; 0xc343f + mov bx, ax ; 89 c3 ; 0xc3440 + mov ax, strict word 00001h ; b8 01 00 ; 0xc3442 vbe.c:105 + mov dx, 001ceh ; ba ce 01 ; 0xc3445 + call 00570h ; e8 25 d1 ; 0xc3448 + mov ax, bx ; 89 d8 ; 0xc344b vbe.c:106 + mov dx, 001cfh ; ba cf 01 ; 0xc344d + call 00570h ; e8 1d d1 ; 0xc3450 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3453 vbe.c:107 + pop dx ; 5a ; 0xc3456 + pop bx ; 5b ; 0xc3457 + pop bp ; 5d ; 0xc3458 + retn ; c3 ; 0xc3459 + ; disGetNextSymbol 0xc345a LB 0x79e -> off=0x0 cb=000000000000001f uValue=00000000000c345a 'dispi_set_yres' +dispi_set_yres: ; 0xc345a LB 0x1f + push bp ; 55 ; 0xc345a vbe.c:109 + mov bp, sp ; 89 e5 ; 0xc345b + push bx ; 53 ; 0xc345d + push dx ; 52 ; 0xc345e + mov bx, ax ; 89 c3 ; 0xc345f + mov ax, strict word 00002h ; b8 02 00 ; 0xc3461 vbe.c:114 + mov dx, 001ceh ; ba ce 01 ; 0xc3464 + call 00570h ; e8 06 d1 ; 0xc3467 + mov ax, bx ; 89 d8 ; 0xc346a vbe.c:115 + mov dx, 001cfh ; ba cf 01 ; 0xc346c + call 00570h ; e8 fe d0 ; 0xc346f + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3472 vbe.c:116 + pop dx ; 5a ; 0xc3475 + pop bx ; 5b ; 0xc3476 + pop bp ; 5d ; 0xc3477 + retn ; c3 ; 0xc3478 + ; disGetNextSymbol 0xc3479 LB 0x77f -> off=0x0 cb=0000000000000019 uValue=00000000000c3479 'dispi_get_yres' +dispi_get_yres: ; 0xc3479 LB 0x19 + push bp ; 55 ; 0xc3479 vbe.c:118 + mov bp, sp ; 89 e5 ; 0xc347a + push dx ; 52 ; 0xc347c + mov ax, strict word 00002h ; b8 02 00 ; 0xc347d vbe.c:120 + mov dx, 001ceh ; ba ce 01 ; 0xc3480 + call 00570h ; e8 ea d0 ; 0xc3483 + mov dx, 001cfh ; ba cf 01 ; 0xc3486 vbe.c:121 + call 00577h ; e8 eb d0 ; 0xc3489 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc348c vbe.c:122 + pop dx ; 5a ; 0xc348f + pop bp ; 5d ; 0xc3490 + retn ; c3 ; 0xc3491 + ; disGetNextSymbol 0xc3492 LB 0x766 -> off=0x0 cb=000000000000001f uValue=00000000000c3492 'dispi_set_bpp' +dispi_set_bpp: ; 0xc3492 LB 0x1f + push bp ; 55 ; 0xc3492 vbe.c:124 + mov bp, sp ; 89 e5 ; 0xc3493 + push bx ; 53 ; 0xc3495 + push dx ; 52 ; 0xc3496 + mov bx, ax ; 89 c3 ; 0xc3497 + mov ax, strict word 00003h ; b8 03 00 ; 0xc3499 vbe.c:129 + mov dx, 001ceh ; ba ce 01 ; 0xc349c + call 00570h ; e8 ce d0 ; 0xc349f + mov ax, bx ; 89 d8 ; 0xc34a2 vbe.c:130 + mov dx, 001cfh ; ba cf 01 ; 0xc34a4 + call 00570h ; e8 c6 d0 ; 0xc34a7 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc34aa vbe.c:131 + pop dx ; 5a ; 0xc34ad + pop bx ; 5b ; 0xc34ae + pop bp ; 5d ; 0xc34af + retn ; c3 ; 0xc34b0 + ; disGetNextSymbol 0xc34b1 LB 0x747 -> off=0x0 cb=0000000000000019 uValue=00000000000c34b1 'dispi_get_bpp' +dispi_get_bpp: ; 0xc34b1 LB 0x19 + push bp ; 55 ; 0xc34b1 vbe.c:133 + mov bp, sp ; 89 e5 ; 0xc34b2 + push dx ; 52 ; 0xc34b4 + mov ax, strict word 00003h ; b8 03 00 ; 0xc34b5 vbe.c:135 + mov dx, 001ceh ; ba ce 01 ; 0xc34b8 + call 00570h ; e8 b2 d0 ; 0xc34bb + mov dx, 001cfh ; ba cf 01 ; 0xc34be vbe.c:136 + call 00577h ; e8 b3 d0 ; 0xc34c1 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc34c4 vbe.c:137 + pop dx ; 5a ; 0xc34c7 + pop bp ; 5d ; 0xc34c8 + retn ; c3 ; 0xc34c9 + ; disGetNextSymbol 0xc34ca LB 0x72e -> off=0x0 cb=000000000000001f uValue=00000000000c34ca 'dispi_set_virt_width' +dispi_set_virt_width: ; 0xc34ca LB 0x1f + push bp ; 55 ; 0xc34ca vbe.c:139 + mov bp, sp ; 89 e5 ; 0xc34cb + push bx ; 53 ; 0xc34cd + push dx ; 52 ; 0xc34ce + mov bx, ax ; 89 c3 ; 0xc34cf + mov ax, strict word 00006h ; b8 06 00 ; 0xc34d1 vbe.c:144 + mov dx, 001ceh ; ba ce 01 ; 0xc34d4 + call 00570h ; e8 96 d0 ; 0xc34d7 + mov ax, bx ; 89 d8 ; 0xc34da vbe.c:145 + mov dx, 001cfh ; ba cf 01 ; 0xc34dc + call 00570h ; e8 8e d0 ; 0xc34df + lea sp, [bp-004h] ; 8d 66 fc ; 0xc34e2 vbe.c:146 + pop dx ; 5a ; 0xc34e5 + pop bx ; 5b ; 0xc34e6 + pop bp ; 5d ; 0xc34e7 + retn ; c3 ; 0xc34e8 + ; disGetNextSymbol 0xc34e9 LB 0x70f -> off=0x0 cb=0000000000000019 uValue=00000000000c34e9 'dispi_get_virt_width' +dispi_get_virt_width: ; 0xc34e9 LB 0x19 + push bp ; 55 ; 0xc34e9 vbe.c:148 + mov bp, sp ; 89 e5 ; 0xc34ea + push dx ; 52 ; 0xc34ec + mov ax, strict word 00006h ; b8 06 00 ; 0xc34ed vbe.c:150 + mov dx, 001ceh ; ba ce 01 ; 0xc34f0 + call 00570h ; e8 7a d0 ; 0xc34f3 + mov dx, 001cfh ; ba cf 01 ; 0xc34f6 vbe.c:151 + call 00577h ; e8 7b d0 ; 0xc34f9 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc34fc vbe.c:152 + pop dx ; 5a ; 0xc34ff + pop bp ; 5d ; 0xc3500 + retn ; c3 ; 0xc3501 + ; disGetNextSymbol 0xc3502 LB 0x6f6 -> off=0x0 cb=0000000000000019 uValue=00000000000c3502 'dispi_get_virt_height' +dispi_get_virt_height: ; 0xc3502 LB 0x19 + push bp ; 55 ; 0xc3502 vbe.c:154 + mov bp, sp ; 89 e5 ; 0xc3503 + push dx ; 52 ; 0xc3505 + mov ax, strict word 00007h ; b8 07 00 ; 0xc3506 vbe.c:156 + mov dx, 001ceh ; ba ce 01 ; 0xc3509 + call 00570h ; e8 61 d0 ; 0xc350c + mov dx, 001cfh ; ba cf 01 ; 0xc350f vbe.c:157 + call 00577h ; e8 62 d0 ; 0xc3512 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc3515 vbe.c:158 + pop dx ; 5a ; 0xc3518 + pop bp ; 5d ; 0xc3519 + retn ; c3 ; 0xc351a + ; disGetNextSymbol 0xc351b LB 0x6dd -> off=0x0 cb=0000000000000012 uValue=00000000000c351b 'in_word' +in_word: ; 0xc351b LB 0x12 + push bp ; 55 ; 0xc351b vbe.c:160 + mov bp, sp ; 89 e5 ; 0xc351c + push bx ; 53 ; 0xc351e + mov bx, ax ; 89 c3 ; 0xc351f + mov ax, dx ; 89 d0 ; 0xc3521 + mov dx, bx ; 89 da ; 0xc3523 vbe.c:162 + out DX, ax ; ef ; 0xc3525 + in ax, DX ; ed ; 0xc3526 vbe.c:163 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc3527 vbe.c:164 + pop bx ; 5b ; 0xc352a + pop bp ; 5d ; 0xc352b + retn ; c3 ; 0xc352c + ; disGetNextSymbol 0xc352d LB 0x6cb -> off=0x0 cb=0000000000000014 uValue=00000000000c352d 'in_byte' +in_byte: ; 0xc352d LB 0x14 + push bp ; 55 ; 0xc352d vbe.c:166 + mov bp, sp ; 89 e5 ; 0xc352e + push bx ; 53 ; 0xc3530 + mov bx, ax ; 89 c3 ; 0xc3531 + mov ax, dx ; 89 d0 ; 0xc3533 + mov dx, bx ; 89 da ; 0xc3535 vbe.c:168 + out DX, ax ; ef ; 0xc3537 + in AL, DX ; ec ; 0xc3538 vbe.c:169 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc3539 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc353b vbe.c:170 + pop bx ; 5b ; 0xc353e + pop bp ; 5d ; 0xc353f + retn ; c3 ; 0xc3540 + ; disGetNextSymbol 0xc3541 LB 0x6b7 -> off=0x0 cb=0000000000000014 uValue=00000000000c3541 'dispi_get_id' +dispi_get_id: ; 0xc3541 LB 0x14 + push bp ; 55 ; 0xc3541 vbe.c:173 + mov bp, sp ; 89 e5 ; 0xc3542 + push dx ; 52 ; 0xc3544 + xor ax, ax ; 31 c0 ; 0xc3545 vbe.c:175 + mov dx, 001ceh ; ba ce 01 ; 0xc3547 + out DX, ax ; ef ; 0xc354a + mov dx, 001cfh ; ba cf 01 ; 0xc354b vbe.c:176 + in ax, DX ; ed ; 0xc354e + lea sp, [bp-002h] ; 8d 66 fe ; 0xc354f vbe.c:177 + pop dx ; 5a ; 0xc3552 + pop bp ; 5d ; 0xc3553 + retn ; c3 ; 0xc3554 + ; disGetNextSymbol 0xc3555 LB 0x6a3 -> off=0x0 cb=000000000000001a uValue=00000000000c3555 'dispi_set_id' +dispi_set_id: ; 0xc3555 LB 0x1a + push bp ; 55 ; 0xc3555 vbe.c:179 + mov bp, sp ; 89 e5 ; 0xc3556 + push bx ; 53 ; 0xc3558 + push dx ; 52 ; 0xc3559 + mov bx, ax ; 89 c3 ; 0xc355a + xor ax, ax ; 31 c0 ; 0xc355c vbe.c:181 + mov dx, 001ceh ; ba ce 01 ; 0xc355e + out DX, ax ; ef ; 0xc3561 + mov ax, bx ; 89 d8 ; 0xc3562 vbe.c:182 + mov dx, 001cfh ; ba cf 01 ; 0xc3564 + out DX, ax ; ef ; 0xc3567 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3568 vbe.c:183 + pop dx ; 5a ; 0xc356b + pop bx ; 5b ; 0xc356c + pop bp ; 5d ; 0xc356d + retn ; c3 ; 0xc356e + ; disGetNextSymbol 0xc356f LB 0x689 -> off=0x0 cb=000000000000002c uValue=00000000000c356f 'vbe_init' +vbe_init: ; 0xc356f LB 0x2c + push bp ; 55 ; 0xc356f vbe.c:188 + mov bp, sp ; 89 e5 ; 0xc3570 + push bx ; 53 ; 0xc3572 + push dx ; 52 ; 0xc3573 + mov ax, 0b0c0h ; b8 c0 b0 ; 0xc3574 vbe.c:190 + call 03555h ; e8 db ff ; 0xc3577 + call 03541h ; e8 c4 ff ; 0xc357a vbe.c:191 + cmp ax, 0b0c0h ; 3d c0 b0 ; 0xc357d + jne short 03594h ; 75 12 ; 0xc3580 + mov bx, strict word 00001h ; bb 01 00 ; 0xc3582 vbe.c:193 + mov dx, 000b9h ; ba b9 00 ; 0xc3585 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3588 + call 02f65h ; e8 d7 f9 ; 0xc358b + mov ax, 0b0c4h ; b8 c4 b0 ; 0xc358e vbe.c:194 + call 03555h ; e8 c1 ff ; 0xc3591 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3594 vbe.c:199 + pop dx ; 5a ; 0xc3597 + pop bx ; 5b ; 0xc3598 + pop bp ; 5d ; 0xc3599 + retn ; c3 ; 0xc359a + ; disGetNextSymbol 0xc359b LB 0x65d -> off=0x0 cb=0000000000000055 uValue=00000000000c359b 'mode_info_find_mode' +mode_info_find_mode: ; 0xc359b LB 0x55 + push bp ; 55 ; 0xc359b vbe.c:202 + mov bp, sp ; 89 e5 ; 0xc359c + push bx ; 53 ; 0xc359e + push cx ; 51 ; 0xc359f + push si ; 56 ; 0xc35a0 + push di ; 57 ; 0xc35a1 + mov di, ax ; 89 c7 ; 0xc35a2 + mov si, dx ; 89 d6 ; 0xc35a4 + xor dx, dx ; 31 d2 ; 0xc35a6 vbe.c:208 + mov ax, 003b6h ; b8 b6 03 ; 0xc35a8 + call 0351bh ; e8 6d ff ; 0xc35ab + cmp ax, 077cch ; 3d cc 77 ; 0xc35ae vbe.c:209 + jne short 035e5h ; 75 32 ; 0xc35b1 + mov bx, strict word 00004h ; bb 04 00 ; 0xc35b3 vbe.c:213 + mov dx, bx ; 89 da ; 0xc35b6 vbe.c:218 + mov ax, 003b6h ; b8 b6 03 ; 0xc35b8 + call 0351bh ; e8 5d ff ; 0xc35bb + mov cx, ax ; 89 c1 ; 0xc35be + cmp cx, strict byte 0ffffh ; 83 f9 ff ; 0xc35c0 vbe.c:219 + je short 035e5h ; 74 20 ; 0xc35c3 + lea dx, [bx+002h] ; 8d 57 02 ; 0xc35c5 vbe.c:221 + mov ax, 003b6h ; b8 b6 03 ; 0xc35c8 + call 0351bh ; e8 4d ff ; 0xc35cb + lea dx, [bx+044h] ; 8d 57 44 ; 0xc35ce + cmp cx, di ; 39 f9 ; 0xc35d1 vbe.c:223 + jne short 035e1h ; 75 0c ; 0xc35d3 + test si, si ; 85 f6 ; 0xc35d5 vbe.c:225 + jne short 035ddh ; 75 04 ; 0xc35d7 + mov ax, bx ; 89 d8 ; 0xc35d9 vbe.c:226 + jmp short 035e7h ; eb 0a ; 0xc35db + test AL, strict byte 080h ; a8 80 ; 0xc35dd vbe.c:227 + jne short 035d9h ; 75 f8 ; 0xc35df + mov bx, dx ; 89 d3 ; 0xc35e1 vbe.c:230 + jmp short 035b8h ; eb d3 ; 0xc35e3 vbe.c:235 + xor ax, ax ; 31 c0 ; 0xc35e5 vbe.c:238 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc35e7 vbe.c:239 + pop di ; 5f ; 0xc35ea + pop si ; 5e ; 0xc35eb + pop cx ; 59 ; 0xc35ec + pop bx ; 5b ; 0xc35ed + pop bp ; 5d ; 0xc35ee + retn ; c3 ; 0xc35ef + ; disGetNextSymbol 0xc35f0 LB 0x608 -> off=0x0 cb=0000000000000129 uValue=00000000000c35f0 'vbe_biosfn_return_controller_information' +vbe_biosfn_return_controller_information: ; 0xc35f0 LB 0x129 + push bp ; 55 ; 0xc35f0 vbe.c:270 + mov bp, sp ; 89 e5 ; 0xc35f1 + push cx ; 51 ; 0xc35f3 + push si ; 56 ; 0xc35f4 + push di ; 57 ; 0xc35f5 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc35f6 + mov si, ax ; 89 c6 ; 0xc35f9 + mov di, dx ; 89 d7 ; 0xc35fb + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc35fd + mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 ; 0xc3600 vbe.c:275 + call 005b7h ; e8 af cf ; 0xc3605 vbe.c:278 + mov word [bp-010h], ax ; 89 46 f0 ; 0xc3608 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc360b vbe.c:281 + mov word [bp-008h], di ; 89 7e f8 ; 0xc360e + xor dx, dx ; 31 d2 ; 0xc3611 vbe.c:284 + mov ax, 003b6h ; b8 b6 03 ; 0xc3613 + call 0351bh ; e8 02 ff ; 0xc3616 + cmp ax, 077cch ; 3d cc 77 ; 0xc3619 vbe.c:285 + je short 03628h ; 74 0a ; 0xc361c + push SS ; 16 ; 0xc361e vbe.c:287 + pop ES ; 07 ; 0xc361f + mov word [es:si], 00100h ; 26 c7 04 00 01 ; 0xc3620 + jmp near 03711h ; e9 e9 00 ; 0xc3625 vbe.c:291 + mov cx, strict word 00004h ; b9 04 00 ; 0xc3628 vbe.c:293 + mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 ; 0xc362b vbe.c:300 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc3630 vbe.c:308 + cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 ; 0xc3633 + jne short 03642h ; 75 07 ; 0xc3639 + cmp word [es:bx], 04256h ; 26 81 3f 56 42 ; 0xc363b + je short 03651h ; 74 0f ; 0xc3640 + cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 ; 0xc3642 + jne short 03656h ; 75 0c ; 0xc3648 + cmp word [es:bx], 04556h ; 26 81 3f 56 45 ; 0xc364a + jne short 03656h ; 75 05 ; 0xc364f + mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 ; 0xc3651 vbe.c:310 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc3656 vbe.c:318 + db 066h, 026h, 0c7h, 007h, 056h, 045h, 053h, 041h + ; mov dword [es:bx], strict dword 041534556h ; 66 26 c7 07 56 45 53 41 ; 0xc3659 + mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 ; 0xc3661 vbe.c:324 + mov word [es:bx+006h], 07c66h ; 26 c7 47 06 66 7c ; 0xc3667 vbe.c:327 + mov [es:bx+008h], ds ; 26 8c 5f 08 ; 0xc366d + db 066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 000h + ; mov dword [es:bx+00ah], strict dword 000000001h ; 66 26 c7 47 0a 01 00 00 00; 0xc3671 vbe.c:330 + mov word [es:bx+010h], di ; 26 89 7f 10 ; 0xc367a vbe.c:336 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc367e vbe.c:337 + add ax, strict word 00022h ; 05 22 00 ; 0xc3681 + mov word [es:bx+00eh], ax ; 26 89 47 0e ; 0xc3684 + mov dx, strict word 0ffffh ; ba ff ff ; 0xc3688 vbe.c:340 + mov ax, 003b6h ; b8 b6 03 ; 0xc368b + call 0351bh ; e8 8a fe ; 0xc368e + mov es, [bp-008h] ; 8e 46 f8 ; 0xc3691 + mov word [es:bx+012h], ax ; 26 89 47 12 ; 0xc3694 + cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 ; 0xc3698 vbe.c:342 + je short 036c2h ; 74 24 ; 0xc369c + mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 ; 0xc369e vbe.c:345 + mov word [es:bx+016h], 07c7bh ; 26 c7 47 16 7b 7c ; 0xc36a4 vbe.c:346 + mov [es:bx+018h], ds ; 26 8c 5f 18 ; 0xc36aa + mov word [es:bx+01ah], 07c8eh ; 26 c7 47 1a 8e 7c ; 0xc36ae vbe.c:347 + mov [es:bx+01ch], ds ; 26 8c 5f 1c ; 0xc36b4 + mov word [es:bx+01eh], 07cafh ; 26 c7 47 1e af 7c ; 0xc36b8 vbe.c:348 + mov [es:bx+020h], ds ; 26 8c 5f 20 ; 0xc36be + mov dx, cx ; 89 ca ; 0xc36c2 vbe.c:355 + add dx, strict byte 0001bh ; 83 c2 1b ; 0xc36c4 + mov ax, 003b6h ; b8 b6 03 ; 0xc36c7 + call 0352dh ; e8 60 fe ; 0xc36ca + xor ah, ah ; 30 e4 ; 0xc36cd vbe.c:356 + cmp ax, word [bp-010h] ; 3b 46 f0 ; 0xc36cf + jnbe short 036edh ; 77 19 ; 0xc36d2 + mov dx, cx ; 89 ca ; 0xc36d4 vbe.c:358 + mov ax, 003b6h ; b8 b6 03 ; 0xc36d6 + call 0351bh ; e8 3f fe ; 0xc36d9 + mov bx, ax ; 89 c3 ; 0xc36dc + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc36de vbe.c:362 + add dx, word [bp-00ch] ; 03 56 f4 ; 0xc36e1 + mov ax, di ; 89 f8 ; 0xc36e4 + call 02f81h ; e8 98 f8 ; 0xc36e6 + add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 ; 0xc36e9 vbe.c:364 + add cx, strict byte 00044h ; 83 c1 44 ; 0xc36ed vbe.c:366 + mov dx, cx ; 89 ca ; 0xc36f0 vbe.c:367 + mov ax, 003b6h ; b8 b6 03 ; 0xc36f2 + call 0351bh ; e8 23 fe ; 0xc36f5 + mov bx, ax ; 89 c3 ; 0xc36f8 + cmp ax, strict word 0ffffh ; 3d ff ff ; 0xc36fa vbe.c:368 + jne short 036c2h ; 75 c3 ; 0xc36fd + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc36ff vbe.c:371 + add dx, word [bp-00ch] ; 03 56 f4 ; 0xc3702 + mov ax, di ; 89 f8 ; 0xc3705 + call 02f81h ; e8 77 f8 ; 0xc3707 + push SS ; 16 ; 0xc370a vbe.c:372 + pop ES ; 07 ; 0xc370b + mov word [es:si], strict word 0004fh ; 26 c7 04 4f 00 ; 0xc370c + lea sp, [bp-006h] ; 8d 66 fa ; 0xc3711 vbe.c:373 + pop di ; 5f ; 0xc3714 + pop si ; 5e ; 0xc3715 + pop cx ; 59 ; 0xc3716 + pop bp ; 5d ; 0xc3717 + retn ; c3 ; 0xc3718 + ; disGetNextSymbol 0xc3719 LB 0x4df -> off=0x0 cb=00000000000000b8 uValue=00000000000c3719 'vbe_biosfn_return_mode_information' +vbe_biosfn_return_mode_information: ; 0xc3719 LB 0xb8 + push bp ; 55 ; 0xc3719 vbe.c:385 + mov bp, sp ; 89 e5 ; 0xc371a + push si ; 56 ; 0xc371c + push di ; 57 ; 0xc371d + push ax ; 50 ; 0xc371e + push ax ; 50 ; 0xc371f + push ax ; 50 ; 0xc3720 + mov ax, dx ; 89 d0 ; 0xc3721 + mov si, bx ; 89 de ; 0xc3723 + mov word [bp-006h], cx ; 89 4e fa ; 0xc3725 + test dh, 040h ; f6 c6 40 ; 0xc3728 vbe.c:396 + db 00fh, 095h, 0c2h + ; setne dl ; 0f 95 c2 ; 0xc372b + xor dh, dh ; 30 f6 ; 0xc372e + and ah, 001h ; 80 e4 01 ; 0xc3730 vbe.c:397 + call 0359bh ; e8 65 fe ; 0xc3733 vbe.c:399 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc3736 + test ax, ax ; 85 c0 ; 0xc3739 vbe.c:401 + je near 037bfh ; 0f 84 80 00 ; 0xc373b + mov cx, 00100h ; b9 00 01 ; 0xc373f vbe.c:406 + xor ax, ax ; 31 c0 ; 0xc3742 + mov di, word [bp-006h] ; 8b 7e fa ; 0xc3744 + mov es, bx ; 8e c3 ; 0xc3747 + cld ; fc ; 0xc3749 + jcxz 0374eh ; e3 02 ; 0xc374a + rep stosb ; f3 aa ; 0xc374c + xor cx, cx ; 31 c9 ; 0xc374e vbe.c:407 + jmp short 03757h ; eb 05 ; 0xc3750 + cmp cx, strict byte 00042h ; 83 f9 42 ; 0xc3752 + jnc short 03774h ; 73 1d ; 0xc3755 + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc3757 vbe.c:410 + inc dx ; 42 ; 0xc375a + inc dx ; 42 ; 0xc375b + add dx, cx ; 01 ca ; 0xc375c + mov ax, 003b6h ; b8 b6 03 ; 0xc375e + call 0352dh ; e8 c9 fd ; 0xc3761 + movzx bx, al ; 0f b6 d8 ; 0xc3764 vbe.c:411 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc3767 + add dx, cx ; 01 ca ; 0xc376a + mov ax, si ; 89 f0 ; 0xc376c + call 02f65h ; e8 f4 f7 ; 0xc376e + inc cx ; 41 ; 0xc3771 vbe.c:412 + jmp short 03752h ; eb de ; 0xc3772 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc3774 vbe.c:413 + inc dx ; 42 ; 0xc3777 + inc dx ; 42 ; 0xc3778 + mov ax, si ; 89 f0 ; 0xc3779 + call 02f57h ; e8 d9 f7 ; 0xc377b + test AL, strict byte 001h ; a8 01 ; 0xc377e vbe.c:414 + je short 0379eh ; 74 1c ; 0xc3780 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc3782 vbe.c:415 + add dx, strict byte 0000ch ; 83 c2 0c ; 0xc3785 + mov bx, 00629h ; bb 29 06 ; 0xc3788 + mov ax, si ; 89 f0 ; 0xc378b + call 02f81h ; e8 f1 f7 ; 0xc378d + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc3790 vbe.c:417 + add dx, strict byte 0000eh ; 83 c2 0e ; 0xc3793 + mov bx, 0c000h ; bb 00 c0 ; 0xc3796 + mov ax, si ; 89 f0 ; 0xc3799 + call 02f81h ; e8 e3 f7 ; 0xc379b + mov ax, strict word 0000bh ; b8 0b 00 ; 0xc379e vbe.c:420 + mov dx, 001ceh ; ba ce 01 ; 0xc37a1 + call 00570h ; e8 c9 cd ; 0xc37a4 + mov dx, 001cfh ; ba cf 01 ; 0xc37a7 vbe.c:421 + call 00577h ; e8 ca cd ; 0xc37aa + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc37ad + add dx, strict byte 0002ah ; 83 c2 2a ; 0xc37b0 + mov bx, ax ; 89 c3 ; 0xc37b3 + mov ax, si ; 89 f0 ; 0xc37b5 + call 02f81h ; e8 c7 f7 ; 0xc37b7 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc37ba vbe.c:423 + jmp short 037c2h ; eb 03 ; 0xc37bd vbe.c:424 + mov ax, 00100h ; b8 00 01 ; 0xc37bf vbe.c:428 + push SS ; 16 ; 0xc37c2 vbe.c:431 + pop ES ; 07 ; 0xc37c3 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc37c4 + mov word [es:bx], ax ; 26 89 07 ; 0xc37c7 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc37ca vbe.c:432 + pop di ; 5f ; 0xc37cd + pop si ; 5e ; 0xc37ce + pop bp ; 5d ; 0xc37cf + retn ; c3 ; 0xc37d0 + ; disGetNextSymbol 0xc37d1 LB 0x427 -> off=0x0 cb=00000000000000e9 uValue=00000000000c37d1 'vbe_biosfn_set_mode' +vbe_biosfn_set_mode: ; 0xc37d1 LB 0xe9 + push bp ; 55 ; 0xc37d1 vbe.c:444 + mov bp, sp ; 89 e5 ; 0xc37d2 + push si ; 56 ; 0xc37d4 + push di ; 57 ; 0xc37d5 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc37d6 + mov si, ax ; 89 c6 ; 0xc37d9 + mov word [bp-00ah], dx ; 89 56 f6 ; 0xc37db + test byte [bp-009h], 040h ; f6 46 f7 40 ; 0xc37de vbe.c:452 + db 00fh, 095h, 0c0h + ; setne al ; 0f 95 c0 ; 0xc37e2 + movzx dx, al ; 0f b6 d0 ; 0xc37e5 + mov ax, dx ; 89 d0 ; 0xc37e8 + test dx, dx ; 85 d2 ; 0xc37ea vbe.c:453 + je short 037f1h ; 74 03 ; 0xc37ec + mov dx, strict word 00040h ; ba 40 00 ; 0xc37ee + mov byte [bp-006h], dl ; 88 56 fa ; 0xc37f1 + test byte [bp-009h], 080h ; f6 46 f7 80 ; 0xc37f4 vbe.c:454 + je short 037ffh ; 74 05 ; 0xc37f8 + mov dx, 00080h ; ba 80 00 ; 0xc37fa + jmp short 03801h ; eb 02 ; 0xc37fd + xor dx, dx ; 31 d2 ; 0xc37ff + mov byte [bp-008h], dl ; 88 56 f8 ; 0xc3801 + and byte [bp-009h], 001h ; 80 66 f7 01 ; 0xc3804 vbe.c:456 + cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 ; 0xc3808 vbe.c:459 + jnc short 03821h ; 73 12 ; 0xc380d + xor ax, ax ; 31 c0 ; 0xc380f vbe.c:463 + call 005ddh ; e8 c9 cd ; 0xc3811 + movzx ax, byte [bp-00ah] ; 0f b6 46 f6 ; 0xc3814 vbe.c:467 + call 00fdch ; e8 c1 d7 ; 0xc3818 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc381b vbe.c:468 + jmp near 038b0h ; e9 8f 00 ; 0xc381e vbe.c:469 + mov dx, ax ; 89 c2 ; 0xc3821 vbe.c:472 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc3823 + call 0359bh ; e8 72 fd ; 0xc3826 + mov bx, ax ; 89 c3 ; 0xc3829 + test ax, ax ; 85 c0 ; 0xc382b vbe.c:474 + je near 038adh ; 0f 84 7c 00 ; 0xc382d + lea dx, [bx+014h] ; 8d 57 14 ; 0xc3831 vbe.c:479 + mov ax, 003b6h ; b8 b6 03 ; 0xc3834 + call 0351bh ; e8 e1 fc ; 0xc3837 + mov cx, ax ; 89 c1 ; 0xc383a + lea dx, [bx+016h] ; 8d 57 16 ; 0xc383c vbe.c:480 + mov ax, 003b6h ; b8 b6 03 ; 0xc383f + call 0351bh ; e8 d6 fc ; 0xc3842 + mov di, ax ; 89 c7 ; 0xc3845 + lea dx, [bx+01bh] ; 8d 57 1b ; 0xc3847 vbe.c:481 + mov ax, 003b6h ; b8 b6 03 ; 0xc384a + call 0352dh ; e8 dd fc ; 0xc384d + mov bl, al ; 88 c3 ; 0xc3850 + mov dl, al ; 88 c2 ; 0xc3852 + xor ax, ax ; 31 c0 ; 0xc3854 vbe.c:489 + call 005ddh ; e8 84 cd ; 0xc3856 + cmp bl, 004h ; 80 fb 04 ; 0xc3859 vbe.c:491 + jne short 03864h ; 75 06 ; 0xc385c + mov ax, strict word 0006ah ; b8 6a 00 ; 0xc385e vbe.c:493 + call 00fdch ; e8 78 d7 ; 0xc3861 + movzx ax, dl ; 0f b6 c2 ; 0xc3864 vbe.c:496 + call 03492h ; e8 28 fc ; 0xc3867 + mov ax, cx ; 89 c8 ; 0xc386a vbe.c:497 + call 0343bh ; e8 cc fb ; 0xc386c + mov ax, di ; 89 f8 ; 0xc386f vbe.c:498 + call 0345ah ; e8 e6 fb ; 0xc3871 + xor ax, ax ; 31 c0 ; 0xc3874 vbe.c:499 + call 00603h ; e8 8a cd ; 0xc3876 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc3879 vbe.c:500 + or AL, strict byte 001h ; 0c 01 ; 0xc387c + movzx dx, al ; 0f b6 d0 ; 0xc387e + movzx ax, byte [bp-006h] ; 0f b6 46 fa ; 0xc3881 + or ax, dx ; 09 d0 ; 0xc3885 + call 005ddh ; e8 53 cd ; 0xc3887 + call 006d2h ; e8 45 ce ; 0xc388a vbe.c:501 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc388d vbe.c:503 + mov dx, 000bah ; ba ba 00 ; 0xc3890 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3893 + call 02f81h ; e8 e8 f6 ; 0xc3896 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc3899 vbe.c:504 + or AL, strict byte 060h ; 0c 60 ; 0xc389c + movzx bx, al ; 0f b6 d8 ; 0xc389e + mov dx, 00087h ; ba 87 00 ; 0xc38a1 + mov ax, strict word 00040h ; b8 40 00 ; 0xc38a4 + call 02f65h ; e8 bb f6 ; 0xc38a7 + jmp near 0381bh ; e9 6e ff ; 0xc38aa + mov ax, 00100h ; b8 00 01 ; 0xc38ad vbe.c:513 + mov word [ss:si], ax ; 36 89 04 ; 0xc38b0 vbe.c:517 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc38b3 vbe.c:518 + pop di ; 5f ; 0xc38b6 + pop si ; 5e ; 0xc38b7 + pop bp ; 5d ; 0xc38b8 + retn ; c3 ; 0xc38b9 + ; disGetNextSymbol 0xc38ba LB 0x33e -> off=0x0 cb=0000000000000008 uValue=00000000000c38ba 'vbe_biosfn_read_video_state_size' +vbe_biosfn_read_video_state_size: ; 0xc38ba LB 0x8 + push bp ; 55 ; 0xc38ba vbe.c:520 + mov bp, sp ; 89 e5 ; 0xc38bb + mov ax, strict word 00012h ; b8 12 00 ; 0xc38bd vbe.c:523 + pop bp ; 5d ; 0xc38c0 + retn ; c3 ; 0xc38c1 + ; disGetNextSymbol 0xc38c2 LB 0x336 -> off=0x0 cb=000000000000005b uValue=00000000000c38c2 'vbe_biosfn_save_video_state' +vbe_biosfn_save_video_state: ; 0xc38c2 LB 0x5b + push bp ; 55 ; 0xc38c2 vbe.c:525 + mov bp, sp ; 89 e5 ; 0xc38c3 + push bx ; 53 ; 0xc38c5 + push cx ; 51 ; 0xc38c6 + push si ; 56 ; 0xc38c7 + push di ; 57 ; 0xc38c8 + push ax ; 50 ; 0xc38c9 + mov di, ax ; 89 c7 ; 0xc38ca + mov cx, dx ; 89 d1 ; 0xc38cc + mov ax, strict word 00004h ; b8 04 00 ; 0xc38ce vbe.c:529 + mov dx, 001ceh ; ba ce 01 ; 0xc38d1 + out DX, ax ; ef ; 0xc38d4 + mov dx, 001cfh ; ba cf 01 ; 0xc38d5 vbe.c:530 + in ax, DX ; ed ; 0xc38d8 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc38d9 + mov bx, ax ; 89 c3 ; 0xc38dc vbe.c:531 + mov dx, cx ; 89 ca ; 0xc38de + mov ax, di ; 89 f8 ; 0xc38e0 + call 02f81h ; e8 9c f6 ; 0xc38e2 + inc cx ; 41 ; 0xc38e5 vbe.c:532 + inc cx ; 41 ; 0xc38e6 + test byte [bp-00ah], 001h ; f6 46 f6 01 ; 0xc38e7 vbe.c:533 + je short 03914h ; 74 27 ; 0xc38eb + mov si, strict word 00001h ; be 01 00 ; 0xc38ed vbe.c:535 + jmp short 038f7h ; eb 05 ; 0xc38f0 + cmp si, strict byte 00009h ; 83 fe 09 ; 0xc38f2 + jnbe short 03914h ; 77 1d ; 0xc38f5 + cmp si, strict byte 00004h ; 83 fe 04 ; 0xc38f7 vbe.c:536 + je short 03911h ; 74 15 ; 0xc38fa + mov ax, si ; 89 f0 ; 0xc38fc vbe.c:537 + mov dx, 001ceh ; ba ce 01 ; 0xc38fe + out DX, ax ; ef ; 0xc3901 + mov dx, 001cfh ; ba cf 01 ; 0xc3902 vbe.c:538 + in ax, DX ; ed ; 0xc3905 + mov bx, ax ; 89 c3 ; 0xc3906 + mov dx, cx ; 89 ca ; 0xc3908 + mov ax, di ; 89 f8 ; 0xc390a + call 02f81h ; e8 72 f6 ; 0xc390c + inc cx ; 41 ; 0xc390f vbe.c:539 + inc cx ; 41 ; 0xc3910 + inc si ; 46 ; 0xc3911 vbe.c:541 + jmp short 038f2h ; eb de ; 0xc3912 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc3914 vbe.c:542 + pop di ; 5f ; 0xc3917 + pop si ; 5e ; 0xc3918 + pop cx ; 59 ; 0xc3919 + pop bx ; 5b ; 0xc391a + pop bp ; 5d ; 0xc391b + retn ; c3 ; 0xc391c + ; disGetNextSymbol 0xc391d LB 0x2db -> off=0x0 cb=000000000000009b uValue=00000000000c391d 'vbe_biosfn_restore_video_state' +vbe_biosfn_restore_video_state: ; 0xc391d LB 0x9b + push bp ; 55 ; 0xc391d vbe.c:545 + mov bp, sp ; 89 e5 ; 0xc391e + push bx ; 53 ; 0xc3920 + push cx ; 51 ; 0xc3921 + push si ; 56 ; 0xc3922 + push ax ; 50 ; 0xc3923 + mov cx, ax ; 89 c1 ; 0xc3924 + mov bx, dx ; 89 d3 ; 0xc3926 + call 02f73h ; e8 48 f6 ; 0xc3928 vbe.c:549 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc392b + inc bx ; 43 ; 0xc392e vbe.c:550 + inc bx ; 43 ; 0xc392f + test byte [bp-008h], 001h ; f6 46 f8 01 ; 0xc3930 vbe.c:552 + jne short 03946h ; 75 10 ; 0xc3934 + mov ax, strict word 00004h ; b8 04 00 ; 0xc3936 vbe.c:553 + mov dx, 001ceh ; ba ce 01 ; 0xc3939 + out DX, ax ; ef ; 0xc393c + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc393d vbe.c:554 + mov dx, 001cfh ; ba cf 01 ; 0xc3940 + out DX, ax ; ef ; 0xc3943 + jmp short 039b0h ; eb 6a ; 0xc3944 vbe.c:555 + mov ax, strict word 00001h ; b8 01 00 ; 0xc3946 vbe.c:556 + mov dx, 001ceh ; ba ce 01 ; 0xc3949 + out DX, ax ; ef ; 0xc394c + mov dx, bx ; 89 da ; 0xc394d vbe.c:557 + mov ax, cx ; 89 c8 ; 0xc394f + call 02f73h ; e8 1f f6 ; 0xc3951 + mov dx, 001cfh ; ba cf 01 ; 0xc3954 + out DX, ax ; ef ; 0xc3957 + inc bx ; 43 ; 0xc3958 vbe.c:558 + inc bx ; 43 ; 0xc3959 + mov ax, strict word 00002h ; b8 02 00 ; 0xc395a + mov dx, 001ceh ; ba ce 01 ; 0xc395d + out DX, ax ; ef ; 0xc3960 + mov dx, bx ; 89 da ; 0xc3961 vbe.c:560 + mov ax, cx ; 89 c8 ; 0xc3963 + call 02f73h ; e8 0b f6 ; 0xc3965 + mov dx, 001cfh ; ba cf 01 ; 0xc3968 + out DX, ax ; ef ; 0xc396b + inc bx ; 43 ; 0xc396c vbe.c:561 + inc bx ; 43 ; 0xc396d + mov ax, strict word 00003h ; b8 03 00 ; 0xc396e + mov dx, 001ceh ; ba ce 01 ; 0xc3971 + out DX, ax ; ef ; 0xc3974 + mov dx, bx ; 89 da ; 0xc3975 vbe.c:563 + mov ax, cx ; 89 c8 ; 0xc3977 + call 02f73h ; e8 f7 f5 ; 0xc3979 + mov dx, 001cfh ; ba cf 01 ; 0xc397c + out DX, ax ; ef ; 0xc397f + inc bx ; 43 ; 0xc3980 vbe.c:564 + inc bx ; 43 ; 0xc3981 + mov ax, strict word 00004h ; b8 04 00 ; 0xc3982 + mov dx, 001ceh ; ba ce 01 ; 0xc3985 + out DX, ax ; ef ; 0xc3988 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc3989 vbe.c:566 + mov dx, 001cfh ; ba cf 01 ; 0xc398c + out DX, ax ; ef ; 0xc398f + mov si, strict word 00005h ; be 05 00 ; 0xc3990 vbe.c:568 + jmp short 0399ah ; eb 05 ; 0xc3993 + cmp si, strict byte 00009h ; 83 fe 09 ; 0xc3995 + jnbe short 039b0h ; 77 16 ; 0xc3998 + mov ax, si ; 89 f0 ; 0xc399a vbe.c:569 + mov dx, 001ceh ; ba ce 01 ; 0xc399c + out DX, ax ; ef ; 0xc399f + mov dx, bx ; 89 da ; 0xc39a0 vbe.c:570 + mov ax, cx ; 89 c8 ; 0xc39a2 + call 02f73h ; e8 cc f5 ; 0xc39a4 + mov dx, 001cfh ; ba cf 01 ; 0xc39a7 + out DX, ax ; ef ; 0xc39aa + inc bx ; 43 ; 0xc39ab vbe.c:571 + inc bx ; 43 ; 0xc39ac + inc si ; 46 ; 0xc39ad vbe.c:572 + jmp short 03995h ; eb e5 ; 0xc39ae + lea sp, [bp-006h] ; 8d 66 fa ; 0xc39b0 vbe.c:574 + pop si ; 5e ; 0xc39b3 + pop cx ; 59 ; 0xc39b4 + pop bx ; 5b ; 0xc39b5 + pop bp ; 5d ; 0xc39b6 + retn ; c3 ; 0xc39b7 + ; disGetNextSymbol 0xc39b8 LB 0x240 -> off=0x0 cb=000000000000008c uValue=00000000000c39b8 'vbe_biosfn_save_restore_state' +vbe_biosfn_save_restore_state: ; 0xc39b8 LB 0x8c + push bp ; 55 ; 0xc39b8 vbe.c:590 + mov bp, sp ; 89 e5 ; 0xc39b9 + push si ; 56 ; 0xc39bb + push di ; 57 ; 0xc39bc + push ax ; 50 ; 0xc39bd + mov si, ax ; 89 c6 ; 0xc39be + mov word [bp-006h], dx ; 89 56 fa ; 0xc39c0 + mov ax, bx ; 89 d8 ; 0xc39c3 + mov bx, word [bp+004h] ; 8b 5e 04 ; 0xc39c5 + mov di, strict word 0004fh ; bf 4f 00 ; 0xc39c8 vbe.c:595 + xor ah, ah ; 30 e4 ; 0xc39cb vbe.c:596 + cmp ax, strict word 00002h ; 3d 02 00 ; 0xc39cd + je short 03a17h ; 74 45 ; 0xc39d0 + cmp ax, strict word 00001h ; 3d 01 00 ; 0xc39d2 + je short 039fbh ; 74 24 ; 0xc39d5 + test ax, ax ; 85 c0 ; 0xc39d7 + jne short 03a33h ; 75 58 ; 0xc39d9 + mov ax, word [bp-006h] ; 8b 46 fa ; 0xc39db vbe.c:598 + call 0286ch ; e8 8b ee ; 0xc39de + mov cx, ax ; 89 c1 ; 0xc39e1 + test byte [bp-006h], 008h ; f6 46 fa 08 ; 0xc39e3 vbe.c:602 + je short 039eeh ; 74 05 ; 0xc39e7 + call 038bah ; e8 ce fe ; 0xc39e9 vbe.c:603 + add ax, cx ; 01 c8 ; 0xc39ec + add ax, strict word 0003fh ; 05 3f 00 ; 0xc39ee vbe.c:604 + shr ax, 006h ; c1 e8 06 ; 0xc39f1 + push SS ; 16 ; 0xc39f4 + pop ES ; 07 ; 0xc39f5 + mov word [es:bx], ax ; 26 89 07 ; 0xc39f6 + jmp short 03a36h ; eb 3b ; 0xc39f9 vbe.c:605 + push SS ; 16 ; 0xc39fb vbe.c:607 + pop ES ; 07 ; 0xc39fc + mov bx, word [es:bx] ; 26 8b 1f ; 0xc39fd + mov dx, cx ; 89 ca ; 0xc3a00 vbe.c:608 + mov ax, word [bp-006h] ; 8b 46 fa ; 0xc3a02 + call 028a1h ; e8 99 ee ; 0xc3a05 + test byte [bp-006h], 008h ; f6 46 fa 08 ; 0xc3a08 vbe.c:612 + je short 03a36h ; 74 28 ; 0xc3a0c + mov dx, ax ; 89 c2 ; 0xc3a0e vbe.c:613 + mov ax, cx ; 89 c8 ; 0xc3a10 + call 038c2h ; e8 ad fe ; 0xc3a12 + jmp short 03a36h ; eb 1f ; 0xc3a15 vbe.c:614 + push SS ; 16 ; 0xc3a17 vbe.c:616 + pop ES ; 07 ; 0xc3a18 + mov bx, word [es:bx] ; 26 8b 1f ; 0xc3a19 + mov dx, cx ; 89 ca ; 0xc3a1c vbe.c:617 + mov ax, word [bp-006h] ; 8b 46 fa ; 0xc3a1e + call 02c0ah ; e8 e6 f1 ; 0xc3a21 + test byte [bp-006h], 008h ; f6 46 fa 08 ; 0xc3a24 vbe.c:621 + je short 03a36h ; 74 0c ; 0xc3a28 + mov dx, ax ; 89 c2 ; 0xc3a2a vbe.c:622 + mov ax, cx ; 89 c8 ; 0xc3a2c + call 0391dh ; e8 ec fe ; 0xc3a2e + jmp short 03a36h ; eb 03 ; 0xc3a31 vbe.c:623 + mov di, 00100h ; bf 00 01 ; 0xc3a33 vbe.c:626 + push SS ; 16 ; 0xc3a36 vbe.c:629 + pop ES ; 07 ; 0xc3a37 + mov word [es:si], di ; 26 89 3c ; 0xc3a38 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3a3b vbe.c:630 + pop di ; 5f ; 0xc3a3e + pop si ; 5e ; 0xc3a3f + pop bp ; 5d ; 0xc3a40 + retn 00002h ; c2 02 00 ; 0xc3a41 + ; disGetNextSymbol 0xc3a44 LB 0x1b4 -> off=0x0 cb=00000000000000cf uValue=00000000000c3a44 'vbe_biosfn_get_set_scanline_length' +vbe_biosfn_get_set_scanline_length: ; 0xc3a44 LB 0xcf + push bp ; 55 ; 0xc3a44 vbe.c:651 + mov bp, sp ; 89 e5 ; 0xc3a45 + push si ; 56 ; 0xc3a47 + push di ; 57 ; 0xc3a48 + sub sp, strict byte 00008h ; 83 ec 08 ; 0xc3a49 + push ax ; 50 ; 0xc3a4c + mov di, dx ; 89 d7 ; 0xc3a4d + mov si, bx ; 89 de ; 0xc3a4f + mov word [bp-008h], cx ; 89 4e f8 ; 0xc3a51 + call 034b1h ; e8 5a fa ; 0xc3a54 vbe.c:660 + cmp AL, strict byte 00fh ; 3c 0f ; 0xc3a57 vbe.c:661 + jne short 03a60h ; 75 05 ; 0xc3a59 + mov cx, strict word 00010h ; b9 10 00 ; 0xc3a5b + jmp short 03a63h ; eb 03 ; 0xc3a5e + movzx cx, al ; 0f b6 c8 ; 0xc3a60 + call 034e9h ; e8 83 fa ; 0xc3a63 vbe.c:662 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc3a66 + mov word [bp-006h], strict word 0004fh ; c7 46 fa 4f 00 ; 0xc3a69 vbe.c:663 + push SS ; 16 ; 0xc3a6e vbe.c:664 + pop ES ; 07 ; 0xc3a6f + mov bx, word [es:si] ; 26 8b 1c ; 0xc3a70 + mov al, byte [es:di] ; 26 8a 05 ; 0xc3a73 vbe.c:665 + cmp AL, strict byte 002h ; 3c 02 ; 0xc3a76 vbe.c:669 + je short 03a85h ; 74 0b ; 0xc3a78 + cmp AL, strict byte 001h ; 3c 01 ; 0xc3a7a + je short 03aach ; 74 2e ; 0xc3a7c + test al, al ; 84 c0 ; 0xc3a7e + je short 03aa7h ; 74 25 ; 0xc3a80 + jmp near 03afch ; e9 77 00 ; 0xc3a82 + cmp cl, 004h ; 80 f9 04 ; 0xc3a85 vbe.c:671 + jne short 03a8fh ; 75 05 ; 0xc3a88 + sal bx, 003h ; c1 e3 03 ; 0xc3a8a vbe.c:672 + jmp short 03aa7h ; eb 18 ; 0xc3a8d vbe.c:673 + movzx ax, cl ; 0f b6 c1 ; 0xc3a8f vbe.c:674 + cwd ; 99 ; 0xc3a92 + sal dx, 003h ; c1 e2 03 ; 0xc3a93 + db 01bh, 0c2h + ; sbb ax, dx ; 1b c2 ; 0xc3a96 + sar ax, 003h ; c1 f8 03 ; 0xc3a98 + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc3a9b + mov ax, bx ; 89 d8 ; 0xc3a9e + xor dx, dx ; 31 d2 ; 0xc3aa0 + div word [bp-00ch] ; f7 76 f4 ; 0xc3aa2 + mov bx, ax ; 89 c3 ; 0xc3aa5 + mov ax, bx ; 89 d8 ; 0xc3aa7 vbe.c:677 + call 034cah ; e8 1e fa ; 0xc3aa9 + call 034e9h ; e8 3a fa ; 0xc3aac vbe.c:680 + mov bx, ax ; 89 c3 ; 0xc3aaf + push SS ; 16 ; 0xc3ab1 vbe.c:681 + pop ES ; 07 ; 0xc3ab2 + mov word [es:si], ax ; 26 89 04 ; 0xc3ab3 + cmp cl, 004h ; 80 f9 04 ; 0xc3ab6 vbe.c:682 + jne short 03ac0h ; 75 05 ; 0xc3ab9 + shr bx, 003h ; c1 eb 03 ; 0xc3abb vbe.c:683 + jmp short 03acfh ; eb 0f ; 0xc3abe vbe.c:684 + movzx ax, cl ; 0f b6 c1 ; 0xc3ac0 vbe.c:685 + cwd ; 99 ; 0xc3ac3 + sal dx, 003h ; c1 e2 03 ; 0xc3ac4 + db 01bh, 0c2h + ; sbb ax, dx ; 1b c2 ; 0xc3ac7 + sar ax, 003h ; c1 f8 03 ; 0xc3ac9 + imul bx, ax ; 0f af d8 ; 0xc3acc + add bx, strict byte 00003h ; 83 c3 03 ; 0xc3acf vbe.c:686 + and bl, 0fch ; 80 e3 fc ; 0xc3ad2 + push SS ; 16 ; 0xc3ad5 vbe.c:687 + pop ES ; 07 ; 0xc3ad6 + mov word [es:di], bx ; 26 89 1d ; 0xc3ad7 + call 03502h ; e8 25 fa ; 0xc3ada vbe.c:688 + push SS ; 16 ; 0xc3add + pop ES ; 07 ; 0xc3ade + mov bx, word [bp-008h] ; 8b 5e f8 ; 0xc3adf + mov word [es:bx], ax ; 26 89 07 ; 0xc3ae2 + call 03479h ; e8 91 f9 ; 0xc3ae5 vbe.c:689 + push SS ; 16 ; 0xc3ae8 + pop ES ; 07 ; 0xc3ae9 + cmp ax, word [es:bx] ; 26 3b 07 ; 0xc3aea + jbe short 03b01h ; 76 12 ; 0xc3aed + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc3aef vbe.c:690 + call 034cah ; e8 d5 f9 ; 0xc3af2 + mov word [bp-006h], 00200h ; c7 46 fa 00 02 ; 0xc3af5 vbe.c:691 + jmp short 03b01h ; eb 05 ; 0xc3afa vbe.c:693 + mov word [bp-006h], 00100h ; c7 46 fa 00 01 ; 0xc3afc vbe.c:696 + push SS ; 16 ; 0xc3b01 vbe.c:699 + pop ES ; 07 ; 0xc3b02 + mov ax, word [bp-006h] ; 8b 46 fa ; 0xc3b03 + mov bx, word [bp-00eh] ; 8b 5e f2 ; 0xc3b06 + mov word [es:bx], ax ; 26 89 07 ; 0xc3b09 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3b0c vbe.c:700 + pop di ; 5f ; 0xc3b0f + pop si ; 5e ; 0xc3b10 + pop bp ; 5d ; 0xc3b11 + retn ; c3 ; 0xc3b12 + ; disGetNextSymbol 0xc3b13 LB 0xe5 -> off=0x0 cb=00000000000000e5 uValue=00000000000c3b13 'private_biosfn_custom_mode' +private_biosfn_custom_mode: ; 0xc3b13 LB 0xe5 + push bp ; 55 ; 0xc3b13 vbe.c:726 + mov bp, sp ; 89 e5 ; 0xc3b14 + push si ; 56 ; 0xc3b16 + push di ; 57 ; 0xc3b17 + push ax ; 50 ; 0xc3b18 + push ax ; 50 ; 0xc3b19 + push ax ; 50 ; 0xc3b1a + mov si, dx ; 89 d6 ; 0xc3b1b + mov dx, cx ; 89 ca ; 0xc3b1d + mov di, strict word 0004fh ; bf 4f 00 ; 0xc3b1f vbe.c:739 + push SS ; 16 ; 0xc3b22 vbe.c:740 + pop ES ; 07 ; 0xc3b23 + mov al, byte [es:si] ; 26 8a 04 ; 0xc3b24 + test al, al ; 84 c0 ; 0xc3b27 vbe.c:741 + jne short 03b4dh ; 75 22 ; 0xc3b29 + push SS ; 16 ; 0xc3b2b vbe.c:743 + pop ES ; 07 ; 0xc3b2c + mov cx, word [es:bx] ; 26 8b 0f ; 0xc3b2d + mov bx, dx ; 89 d3 ; 0xc3b30 vbe.c:744 + mov bx, word [es:bx] ; 26 8b 1f ; 0xc3b32 + mov ax, word [es:si] ; 26 8b 04 ; 0xc3b35 vbe.c:745 + shr ax, 008h ; c1 e8 08 ; 0xc3b38 + and ax, strict word 0007fh ; 25 7f 00 ; 0xc3b3b + mov byte [bp-008h], al ; 88 46 f8 ; 0xc3b3e + cmp AL, strict byte 008h ; 3c 08 ; 0xc3b41 vbe.c:750 + je short 03b53h ; 74 0e ; 0xc3b43 + cmp AL, strict byte 010h ; 3c 10 ; 0xc3b45 + je short 03b53h ; 74 0a ; 0xc3b47 + cmp AL, strict byte 020h ; 3c 20 ; 0xc3b49 + je short 03b53h ; 74 06 ; 0xc3b4b + mov di, 00100h ; bf 00 01 ; 0xc3b4d vbe.c:751 + jmp near 03be9h ; e9 96 00 ; 0xc3b50 vbe.c:752 + push SS ; 16 ; 0xc3b53 vbe.c:756 + pop ES ; 07 ; 0xc3b54 + test byte [es:si+001h], 080h ; 26 f6 44 01 80 ; 0xc3b55 + je short 03b61h ; 74 05 ; 0xc3b5a + mov ax, strict word 00040h ; b8 40 00 ; 0xc3b5c + jmp short 03b63h ; eb 02 ; 0xc3b5f + xor ax, ax ; 31 c0 ; 0xc3b61 + mov byte [bp-006h], al ; 88 46 fa ; 0xc3b63 + cmp cx, 00280h ; 81 f9 80 02 ; 0xc3b66 vbe.c:759 + jnc short 03b71h ; 73 05 ; 0xc3b6a + mov cx, 00280h ; b9 80 02 ; 0xc3b6c vbe.c:760 + jmp short 03b7ah ; eb 09 ; 0xc3b6f vbe.c:761 + cmp cx, 00a00h ; 81 f9 00 0a ; 0xc3b71 + jbe short 03b7ah ; 76 03 ; 0xc3b75 + mov cx, 00a00h ; b9 00 0a ; 0xc3b77 vbe.c:762 + cmp bx, 001e0h ; 81 fb e0 01 ; 0xc3b7a vbe.c:763 + jnc short 03b85h ; 73 05 ; 0xc3b7e + mov bx, 001e0h ; bb e0 01 ; 0xc3b80 vbe.c:764 + jmp short 03b8eh ; eb 09 ; 0xc3b83 vbe.c:765 + cmp bx, 00780h ; 81 fb 80 07 ; 0xc3b85 + jbe short 03b8eh ; 76 03 ; 0xc3b89 + mov bx, 00780h ; bb 80 07 ; 0xc3b8b vbe.c:766 + mov dx, strict word 0ffffh ; ba ff ff ; 0xc3b8e vbe.c:772 + mov ax, 003b6h ; b8 b6 03 ; 0xc3b91 + call 0351bh ; e8 84 f9 ; 0xc3b94 + mov si, ax ; 89 c6 ; 0xc3b97 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc3b99 vbe.c:775 + cwd ; 99 ; 0xc3b9d + sal dx, 003h ; c1 e2 03 ; 0xc3b9e + db 01bh, 0c2h + ; sbb ax, dx ; 1b c2 ; 0xc3ba1 + sar ax, 003h ; c1 f8 03 ; 0xc3ba3 + imul ax, cx ; 0f af c1 ; 0xc3ba6 + add ax, strict word 00003h ; 05 03 00 ; 0xc3ba9 vbe.c:776 + and AL, strict byte 0fch ; 24 fc ; 0xc3bac + mov dx, bx ; 89 da ; 0xc3bae vbe.c:778 + mul dx ; f7 e2 ; 0xc3bb0 + cmp dx, si ; 39 f2 ; 0xc3bb2 vbe.c:780 + jnbe short 03bbch ; 77 06 ; 0xc3bb4 + jne short 03bc1h ; 75 09 ; 0xc3bb6 + test ax, ax ; 85 c0 ; 0xc3bb8 + jbe short 03bc1h ; 76 05 ; 0xc3bba + mov di, 00200h ; bf 00 02 ; 0xc3bbc vbe.c:782 + jmp short 03be9h ; eb 28 ; 0xc3bbf vbe.c:783 + xor ax, ax ; 31 c0 ; 0xc3bc1 vbe.c:787 + call 005ddh ; e8 17 ca ; 0xc3bc3 + movzx ax, byte [bp-008h] ; 0f b6 46 f8 ; 0xc3bc6 vbe.c:788 + call 03492h ; e8 c5 f8 ; 0xc3bca + mov ax, cx ; 89 c8 ; 0xc3bcd vbe.c:789 + call 0343bh ; e8 69 f8 ; 0xc3bcf + mov ax, bx ; 89 d8 ; 0xc3bd2 vbe.c:790 + call 0345ah ; e8 83 f8 ; 0xc3bd4 + xor ax, ax ; 31 c0 ; 0xc3bd7 vbe.c:791 + call 00603h ; e8 27 ca ; 0xc3bd9 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc3bdc vbe.c:792 + or AL, strict byte 001h ; 0c 01 ; 0xc3bdf + xor ah, ah ; 30 e4 ; 0xc3be1 + call 005ddh ; e8 f7 c9 ; 0xc3be3 + call 006d2h ; e8 e9 ca ; 0xc3be6 vbe.c:793 + push SS ; 16 ; 0xc3be9 vbe.c:801 + pop ES ; 07 ; 0xc3bea + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc3beb + mov word [es:bx], di ; 26 89 3f ; 0xc3bee + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3bf1 vbe.c:802 + pop di ; 5f ; 0xc3bf4 + pop si ; 5e ; 0xc3bf5 + pop bp ; 5d ; 0xc3bf6 + retn ; c3 ; 0xc3bf7 + + ; Padding 0x808 bytes at 0xc3bf8 + times 2056 db 0 + +section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO + ; disGetNextSymbol 0xc4400 LB 0x115 -> off=0x0 cb=0000000000000114 uValue=00000000000c0000 'vesa_pm_start' +vesa_pm_start: ; 0xc4400 LB 0x114 + sbb byte [bx+si], al ; 18 00 ; 0xc4400 + dec di ; 4f ; 0xc4402 + add byte [bx+si], dl ; 00 10 ; 0xc4403 + add word [bx+si], cx ; 01 08 ; 0xc4405 + add dh, cl ; 00 ce ; 0xc4407 + add di, cx ; 01 cf ; 0xc4409 + add di, cx ; 01 cf ; 0xc440b + add ax, dx ; 01 d0 ; 0xc440d + add word [bp-048fdh], si ; 01 b6 03 b7 ; 0xc440f + db 003h, 0ffh + ; add di, di ; 03 ff ; 0xc4413 + db 0ffh + db 0ffh + jmp word [bp-07dh] ; ff 66 83 ; 0xc4417 + sti ; fb ; 0xc441a + add byte [si+005h], dh ; 00 74 05 ; 0xc441b + mov eax, strict dword 066c30100h ; 66 b8 00 01 c3 66 ; 0xc441e vberom.asm:825 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc4424 + push edx ; 66 52 ; 0xc4426 vberom.asm:829 + push eax ; 66 50 ; 0xc4428 vberom.asm:830 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc442a vberom.asm:831 + add ax, 06600h ; 05 00 66 ; 0xc4430 + out DX, ax ; ef ; 0xc4433 + pop eax ; 66 58 ; 0xc4434 vberom.asm:834 + mov edx, strict dword 0ef6601cfh ; 66 ba cf 01 66 ef ; 0xc4436 vberom.asm:835 + in eax, DX ; 66 ed ; 0xc443c vberom.asm:837 + pop edx ; 66 5a ; 0xc443e vberom.asm:838 + db 066h, 03bh, 0d0h + ; cmp edx, eax ; 66 3b d0 ; 0xc4440 vberom.asm:839 + jne short 0444ah ; 75 05 ; 0xc4443 vberom.asm:840 + mov eax, strict dword 066c3004fh ; 66 b8 4f 00 c3 66 ; 0xc4445 vberom.asm:841 + mov ax, 0014fh ; b8 4f 01 ; 0xc444b + retn ; c3 ; 0xc444e vberom.asm:845 + cmp bl, 080h ; 80 fb 80 ; 0xc444f vberom.asm:847 + je short 0445eh ; 74 0a ; 0xc4452 vberom.asm:848 + cmp bl, 000h ; 80 fb 00 ; 0xc4454 vberom.asm:849 + je short 0446eh ; 74 15 ; 0xc4457 vberom.asm:850 + mov eax, strict dword 052c30100h ; 66 b8 00 01 c3 52 ; 0xc4459 vberom.asm:851 + mov edx, strict dword 0a8ec03dah ; 66 ba da 03 ec a8 ; 0xc445f vberom.asm:855 + or byte [di-005h], dh ; 08 75 fb ; 0xc4465 + in AL, DX ; ec ; 0xc4468 vberom.asm:861 + test AL, strict byte 008h ; a8 08 ; 0xc4469 vberom.asm:862 + je short 04468h ; 74 fb ; 0xc446b vberom.asm:863 + pop dx ; 5a ; 0xc446d vberom.asm:864 + push ax ; 50 ; 0xc446e vberom.asm:868 + push cx ; 51 ; 0xc446f vberom.asm:869 + push dx ; 52 ; 0xc4470 vberom.asm:870 + push si ; 56 ; 0xc4471 vberom.asm:871 + push di ; 57 ; 0xc4472 vberom.asm:872 + sal dx, 010h ; c1 e2 10 ; 0xc4473 vberom.asm:873 + and cx, strict word 0ffffh ; 81 e1 ff ff ; 0xc4476 vberom.asm:874 + add byte [bx+si], al ; 00 00 ; 0xc447a + db 00bh, 0cah + ; or cx, dx ; 0b ca ; 0xc447c vberom.asm:875 + sal cx, 002h ; c1 e1 02 ; 0xc447e vberom.asm:876 + db 08bh, 0c1h + ; mov ax, cx ; 8b c1 ; 0xc4481 vberom.asm:877 + push ax ; 50 ; 0xc4483 vberom.asm:878 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc4484 vberom.asm:879 + push ES ; 06 ; 0xc448a + add byte [bp-011h], ah ; 00 66 ef ; 0xc448b + mov edx, strict dword 0ed6601cfh ; 66 ba cf 01 66 ed ; 0xc448e vberom.asm:882 + db 00fh, 0b7h, 0c8h + ; movzx cx, ax ; 0f b7 c8 ; 0xc4494 vberom.asm:884 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc4497 vberom.asm:885 + add ax, word [bx+si] ; 03 00 ; 0xc449d + out DX, eax ; 66 ef ; 0xc449f vberom.asm:887 + mov edx, strict dword 0ed6601cfh ; 66 ba cf 01 66 ed ; 0xc44a1 vberom.asm:888 + db 00fh, 0b7h, 0f0h + ; movzx si, ax ; 0f b7 f0 ; 0xc44a7 vberom.asm:890 + pop ax ; 58 ; 0xc44aa vberom.asm:891 + cmp si, strict byte 00004h ; 83 fe 04 ; 0xc44ab vberom.asm:893 + je short 044c7h ; 74 17 ; 0xc44ae vberom.asm:894 + add si, strict byte 00007h ; 83 c6 07 ; 0xc44b0 vberom.asm:895 + shr si, 003h ; c1 ee 03 ; 0xc44b3 vberom.asm:896 + imul cx, si ; 0f af ce ; 0xc44b6 vberom.asm:897 + db 033h, 0d2h + ; xor dx, dx ; 33 d2 ; 0xc44b9 vberom.asm:898 + div cx ; f7 f1 ; 0xc44bb vberom.asm:899 + db 08bh, 0f8h + ; mov di, ax ; 8b f8 ; 0xc44bd vberom.asm:900 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc44bf vberom.asm:901 + db 033h, 0d2h + ; xor dx, dx ; 33 d2 ; 0xc44c1 vberom.asm:902 + div si ; f7 f6 ; 0xc44c3 vberom.asm:903 + jmp short 044d3h ; eb 0c ; 0xc44c5 vberom.asm:904 + shr cx, 1 ; d1 e9 ; 0xc44c7 vberom.asm:907 + db 033h, 0d2h + ; xor dx, dx ; 33 d2 ; 0xc44c9 vberom.asm:908 + div cx ; f7 f1 ; 0xc44cb vberom.asm:909 + db 08bh, 0f8h + ; mov di, ax ; 8b f8 ; 0xc44cd vberom.asm:910 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc44cf vberom.asm:911 + sal ax, 1 ; d1 e0 ; 0xc44d1 vberom.asm:912 + push edx ; 66 52 ; 0xc44d3 vberom.asm:915 + push eax ; 66 50 ; 0xc44d5 vberom.asm:916 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc44d7 vberom.asm:917 + or byte [bx+si], al ; 08 00 ; 0xc44dd + out DX, eax ; 66 ef ; 0xc44df vberom.asm:919 + pop eax ; 66 58 ; 0xc44e1 vberom.asm:920 + mov edx, strict dword 0ef6601cfh ; 66 ba cf 01 66 ef ; 0xc44e3 vberom.asm:921 + pop edx ; 66 5a ; 0xc44e9 vberom.asm:923 + db 066h, 08bh, 0c7h + ; mov eax, edi ; 66 8b c7 ; 0xc44eb vberom.asm:925 + push edx ; 66 52 ; 0xc44ee vberom.asm:926 + push eax ; 66 50 ; 0xc44f0 vberom.asm:927 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc44f2 vberom.asm:928 + or word [bx+si], ax ; 09 00 ; 0xc44f8 + out DX, eax ; 66 ef ; 0xc44fa vberom.asm:930 + pop eax ; 66 58 ; 0xc44fc vberom.asm:931 + mov edx, strict dword 0ef6601cfh ; 66 ba cf 01 66 ef ; 0xc44fe vberom.asm:932 + pop edx ; 66 5a ; 0xc4504 vberom.asm:934 + pop di ; 5f ; 0xc4506 vberom.asm:936 + pop si ; 5e ; 0xc4507 vberom.asm:937 + pop dx ; 5a ; 0xc4508 vberom.asm:938 + pop cx ; 59 ; 0xc4509 vberom.asm:939 + pop ax ; 58 ; 0xc450a vberom.asm:940 + mov eax, strict dword 066c3004fh ; 66 b8 4f 00 c3 66 ; 0xc450b vberom.asm:941 + mov ax, 0014fh ; b8 4f 01 ; 0xc4511 + ; disGetNextSymbol 0xc4514 LB 0x1 -> off=0x0 cb=0000000000000001 uValue=0000000000000114 'vesa_pm_end' +vesa_pm_end: ; 0xc4514 LB 0x1 + retn ; c3 ; 0xc4514 vberom.asm:946 + + ; Padding 0xeb bytes at 0xc4515 + times 235 db 0 + +section _DATA progbits vstart=0x4600 align=1 ; size=0x3726 class=DATA group=DGROUP + ; disGetNextSymbol 0xc4600 LB 0x3726 -> off=0x0 cb=000000000000002e uValue=00000000000c0000 '_msg_vga_init' +_msg_vga_init: ; 0xc4600 LB 0x2e + db 'Oracle VM VirtualBox Version 6.0.4 VGA BIOS', 00dh, 00ah, 000h + ; disGetNextSymbol 0xc462e LB 0x36f8 -> off=0x0 cb=0000000000000080 uValue=00000000000c002e 'vga_modes' +vga_modes: ; 0xc462e LB 0x80 + db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h + db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h + db 004h, 001h, 002h, 002h, 000h, 0b8h, 0ffh, 001h, 005h, 001h, 002h, 002h, 000h, 0b8h, 0ffh, 001h + db 006h, 001h, 002h, 001h, 000h, 0b8h, 0ffh, 001h, 007h, 000h, 001h, 004h, 000h, 0b0h, 0ffh, 000h + db 00dh, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 001h, 00eh, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 001h + db 00fh, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 000h, 010h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h + db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h + db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h + ; disGetNextSymbol 0xc46ae LB 0x3678 -> off=0x0 cb=0000000000000010 uValue=00000000000c00ae 'line_to_vpti' +line_to_vpti: ; 0xc46ae LB 0x10 + db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh + ; disGetNextSymbol 0xc46be LB 0x3668 -> off=0x0 cb=0000000000000004 uValue=00000000000c00be 'dac_regs' +dac_regs: ; 0xc46be LB 0x4 + dd 0ff3f3f3fh + ; disGetNextSymbol 0xc46c2 LB 0x3664 -> off=0x0 cb=0000000000000780 uValue=00000000000c00c2 'video_param_table' +video_param_table: ; 0xc46c2 LB 0x780 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 028h, 018h, 008h, 000h, 008h, 009h, 003h, 000h, 002h, 063h, 02dh, 027h, 028h, 090h, 02bh, 080h + db 0bfh, 01fh, 000h, 0c1h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 000h, 096h + db 0b9h, 0a2h, 0ffh, 000h, 013h, 015h, 017h, 002h, 004h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 003h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 00fh, 00fh, 0ffh + db 028h, 018h, 008h, 000h, 008h, 009h, 003h, 000h, 002h, 063h, 02dh, 027h, 028h, 090h, 02bh, 080h + db 0bfh, 01fh, 000h, 0c1h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 000h, 096h + db 0b9h, 0a2h, 0ffh, 000h, 013h, 015h, 017h, 002h, 004h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 003h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 00fh, 00fh, 0ffh + db 050h, 018h, 008h, 000h, 010h, 001h, 001h, 000h, 006h, 063h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 0c1h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 000h, 096h + db 0b9h, 0c2h, 0ffh, 000h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h + db 017h, 017h, 017h, 001h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 00dh, 00fh, 0ffh + db 050h, 018h, 010h, 000h, 010h, 000h, 003h, 000h, 002h, 066h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 00fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 008h, 008h, 008h, 008h, 008h, 008h, 008h, 010h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 00eh, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00ah, 00fh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 028h, 018h, 008h, 000h, 020h, 009h, 00fh, 000h, 006h, 063h, 02dh, 027h, 028h, 090h, 02bh, 080h + db 0bfh, 01fh, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 000h, 096h + db 0b9h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 050h, 018h, 008h, 000h, 040h, 001h, 00fh, 000h, 006h, 063h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 000h, 096h + db 0b9h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 050h, 018h, 00eh, 000h, 080h, 001h, 00fh, 000h, 006h, 0a3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 083h, 085h, 05dh, 028h, 00fh, 063h + db 0bah, 0e3h, 0ffh, 000h, 008h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 008h, 000h, 000h, 000h + db 018h, 000h, 000h, 001h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 050h, 018h, 00eh, 000h, 080h, 001h, 00fh, 000h, 006h, 0a3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 083h, 085h, 05dh, 028h, 00fh, 063h + db 0bah, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 050h, 018h, 00eh, 000h, 010h, 000h, 003h, 000h, 002h, 067h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 01fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 00ch, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00eh, 00fh, 0ffh + db 028h, 018h, 010h, 000h, 008h, 008h, 003h, 000h, 002h, 067h, 02dh, 027h, 028h, 090h, 02bh, 0a0h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 01fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 00ch, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00eh, 00fh, 0ffh + db 050h, 018h, 010h, 000h, 010h, 000h, 003h, 000h, 002h, 067h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 01fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 00ch, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00eh, 00fh, 0ffh + db 050h, 018h, 010h, 000h, 010h, 000h, 003h, 000h, 002h, 066h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 00fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 008h, 008h, 008h, 008h, 008h, 008h, 008h, 010h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 00eh, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00ah, 00fh, 0ffh + db 050h, 01dh, 010h, 000h, 000h, 001h, 00fh, 000h, 006h, 0e3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 00bh, 03eh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 0eah, 08ch, 0dfh, 028h, 000h, 0e7h + db 004h, 0e3h, 0ffh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h + db 03fh, 000h, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 050h, 01dh, 010h, 000h, 000h, 001h, 00fh, 000h, 006h, 0e3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 00bh, 03eh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 0eah, 08ch, 0dfh, 028h, 000h, 0e7h + db 004h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 028h, 018h, 008h, 000h, 000h, 001h, 00fh, 000h, 00eh, 063h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 041h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 040h, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 006h, 007h, 008h, 009h, 00ah, 00bh, 00ch + db 00dh, 00eh, 00fh, 041h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 040h, 005h, 00fh, 0ffh + db 064h, 024h, 010h, 000h, 000h, 001h, 00fh, 000h, 006h, 0e3h, 07fh, 063h, 063h, 083h, 06bh, 01bh + db 072h, 0f0h, 000h, 060h, 000h, 000h, 000h, 000h, 000h, 000h, 059h, 08dh, 057h, 032h, 000h, 057h + db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + ; disGetNextSymbol 0xc4e42 LB 0x2ee4 -> off=0x0 cb=00000000000000c0 uValue=00000000000c0842 'palette0' +palette0: ; 0xc4e42 LB 0xc0 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + ; disGetNextSymbol 0xc4f02 LB 0x2e24 -> off=0x0 cb=00000000000000c0 uValue=00000000000c0902 'palette1' +palette1: ; 0xc4f02 LB 0xc0 + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah + db 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah, 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah + db 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh, 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh + db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah + db 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah, 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah + db 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh, 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh + db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + ; disGetNextSymbol 0xc4fc2 LB 0x2d64 -> off=0x0 cb=00000000000000c0 uValue=00000000000c09c2 'palette2' +palette2: ; 0xc4fc2 LB 0xc0 + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah + db 015h, 000h, 02ah, 03fh, 02ah, 000h, 015h, 02ah, 000h, 03fh, 02ah, 02ah, 015h, 02ah, 02ah, 03fh + db 000h, 015h, 000h, 000h, 015h, 02ah, 000h, 03fh, 000h, 000h, 03fh, 02ah, 02ah, 015h, 000h, 02ah + db 015h, 02ah, 02ah, 03fh, 000h, 02ah, 03fh, 02ah, 000h, 015h, 015h, 000h, 015h, 03fh, 000h, 03fh + db 015h, 000h, 03fh, 03fh, 02ah, 015h, 015h, 02ah, 015h, 03fh, 02ah, 03fh, 015h, 02ah, 03fh, 03fh + db 015h, 000h, 000h, 015h, 000h, 02ah, 015h, 02ah, 000h, 015h, 02ah, 02ah, 03fh, 000h, 000h, 03fh + db 000h, 02ah, 03fh, 02ah, 000h, 03fh, 02ah, 02ah, 015h, 000h, 015h, 015h, 000h, 03fh, 015h, 02ah + db 015h, 015h, 02ah, 03fh, 03fh, 000h, 015h, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 03fh, 02ah, 03fh + db 015h, 015h, 000h, 015h, 015h, 02ah, 015h, 03fh, 000h, 015h, 03fh, 02ah, 03fh, 015h, 000h, 03fh + db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + ; disGetNextSymbol 0xc5082 LB 0x2ca4 -> off=0x0 cb=0000000000000300 uValue=00000000000c0a82 'palette3' +palette3: ; 0xc5082 LB 0x300 + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + db 000h, 000h, 000h, 005h, 005h, 005h, 008h, 008h, 008h, 00bh, 00bh, 00bh, 00eh, 00eh, 00eh, 011h + db 011h, 011h, 014h, 014h, 014h, 018h, 018h, 018h, 01ch, 01ch, 01ch, 020h, 020h, 020h, 024h, 024h + db 024h, 028h, 028h, 028h, 02dh, 02dh, 02dh, 032h, 032h, 032h, 038h, 038h, 038h, 03fh, 03fh, 03fh + db 000h, 000h, 03fh, 010h, 000h, 03fh, 01fh, 000h, 03fh, 02fh, 000h, 03fh, 03fh, 000h, 03fh, 03fh + db 000h, 02fh, 03fh, 000h, 01fh, 03fh, 000h, 010h, 03fh, 000h, 000h, 03fh, 010h, 000h, 03fh, 01fh + db 000h, 03fh, 02fh, 000h, 03fh, 03fh, 000h, 02fh, 03fh, 000h, 01fh, 03fh, 000h, 010h, 03fh, 000h + db 000h, 03fh, 000h, 000h, 03fh, 010h, 000h, 03fh, 01fh, 000h, 03fh, 02fh, 000h, 03fh, 03fh, 000h + db 02fh, 03fh, 000h, 01fh, 03fh, 000h, 010h, 03fh, 01fh, 01fh, 03fh, 027h, 01fh, 03fh, 02fh, 01fh + db 03fh, 037h, 01fh, 03fh, 03fh, 01fh, 03fh, 03fh, 01fh, 037h, 03fh, 01fh, 02fh, 03fh, 01fh, 027h + db 03fh, 01fh, 01fh, 03fh, 027h, 01fh, 03fh, 02fh, 01fh, 03fh, 037h, 01fh, 03fh, 03fh, 01fh, 037h + db 03fh, 01fh, 02fh, 03fh, 01fh, 027h, 03fh, 01fh, 01fh, 03fh, 01fh, 01fh, 03fh, 027h, 01fh, 03fh + db 02fh, 01fh, 03fh, 037h, 01fh, 03fh, 03fh, 01fh, 037h, 03fh, 01fh, 02fh, 03fh, 01fh, 027h, 03fh + db 02dh, 02dh, 03fh, 031h, 02dh, 03fh, 036h, 02dh, 03fh, 03ah, 02dh, 03fh, 03fh, 02dh, 03fh, 03fh + db 02dh, 03ah, 03fh, 02dh, 036h, 03fh, 02dh, 031h, 03fh, 02dh, 02dh, 03fh, 031h, 02dh, 03fh, 036h + db 02dh, 03fh, 03ah, 02dh, 03fh, 03fh, 02dh, 03ah, 03fh, 02dh, 036h, 03fh, 02dh, 031h, 03fh, 02dh + db 02dh, 03fh, 02dh, 02dh, 03fh, 031h, 02dh, 03fh, 036h, 02dh, 03fh, 03ah, 02dh, 03fh, 03fh, 02dh + db 03ah, 03fh, 02dh, 036h, 03fh, 02dh, 031h, 03fh, 000h, 000h, 01ch, 007h, 000h, 01ch, 00eh, 000h + db 01ch, 015h, 000h, 01ch, 01ch, 000h, 01ch, 01ch, 000h, 015h, 01ch, 000h, 00eh, 01ch, 000h, 007h + db 01ch, 000h, 000h, 01ch, 007h, 000h, 01ch, 00eh, 000h, 01ch, 015h, 000h, 01ch, 01ch, 000h, 015h + db 01ch, 000h, 00eh, 01ch, 000h, 007h, 01ch, 000h, 000h, 01ch, 000h, 000h, 01ch, 007h, 000h, 01ch + db 00eh, 000h, 01ch, 015h, 000h, 01ch, 01ch, 000h, 015h, 01ch, 000h, 00eh, 01ch, 000h, 007h, 01ch + db 00eh, 00eh, 01ch, 011h, 00eh, 01ch, 015h, 00eh, 01ch, 018h, 00eh, 01ch, 01ch, 00eh, 01ch, 01ch + db 00eh, 018h, 01ch, 00eh, 015h, 01ch, 00eh, 011h, 01ch, 00eh, 00eh, 01ch, 011h, 00eh, 01ch, 015h + db 00eh, 01ch, 018h, 00eh, 01ch, 01ch, 00eh, 018h, 01ch, 00eh, 015h, 01ch, 00eh, 011h, 01ch, 00eh + db 00eh, 01ch, 00eh, 00eh, 01ch, 011h, 00eh, 01ch, 015h, 00eh, 01ch, 018h, 00eh, 01ch, 01ch, 00eh + db 018h, 01ch, 00eh, 015h, 01ch, 00eh, 011h, 01ch, 014h, 014h, 01ch, 016h, 014h, 01ch, 018h, 014h + db 01ch, 01ah, 014h, 01ch, 01ch, 014h, 01ch, 01ch, 014h, 01ah, 01ch, 014h, 018h, 01ch, 014h, 016h + db 01ch, 014h, 014h, 01ch, 016h, 014h, 01ch, 018h, 014h, 01ch, 01ah, 014h, 01ch, 01ch, 014h, 01ah + db 01ch, 014h, 018h, 01ch, 014h, 016h, 01ch, 014h, 014h, 01ch, 014h, 014h, 01ch, 016h, 014h, 01ch + db 018h, 014h, 01ch, 01ah, 014h, 01ch, 01ch, 014h, 01ah, 01ch, 014h, 018h, 01ch, 014h, 016h, 01ch + db 000h, 000h, 010h, 004h, 000h, 010h, 008h, 000h, 010h, 00ch, 000h, 010h, 010h, 000h, 010h, 010h + db 000h, 00ch, 010h, 000h, 008h, 010h, 000h, 004h, 010h, 000h, 000h, 010h, 004h, 000h, 010h, 008h + db 000h, 010h, 00ch, 000h, 010h, 010h, 000h, 00ch, 010h, 000h, 008h, 010h, 000h, 004h, 010h, 000h + db 000h, 010h, 000h, 000h, 010h, 004h, 000h, 010h, 008h, 000h, 010h, 00ch, 000h, 010h, 010h, 000h + db 00ch, 010h, 000h, 008h, 010h, 000h, 004h, 010h, 008h, 008h, 010h, 00ah, 008h, 010h, 00ch, 008h + db 010h, 00eh, 008h, 010h, 010h, 008h, 010h, 010h, 008h, 00eh, 010h, 008h, 00ch, 010h, 008h, 00ah + db 010h, 008h, 008h, 010h, 00ah, 008h, 010h, 00ch, 008h, 010h, 00eh, 008h, 010h, 010h, 008h, 00eh + db 010h, 008h, 00ch, 010h, 008h, 00ah, 010h, 008h, 008h, 010h, 008h, 008h, 010h, 00ah, 008h, 010h + db 00ch, 008h, 010h, 00eh, 008h, 010h, 010h, 008h, 00eh, 010h, 008h, 00ch, 010h, 008h, 00ah, 010h + db 00bh, 00bh, 010h, 00ch, 00bh, 010h, 00dh, 00bh, 010h, 00fh, 00bh, 010h, 010h, 00bh, 010h, 010h + db 00bh, 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 00bh, 00bh, 010h, 00ch, 00bh, 010h, 00dh + db 00bh, 010h, 00fh, 00bh, 010h, 010h, 00bh, 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 00bh + db 00bh, 010h, 00bh, 00bh, 010h, 00ch, 00bh, 010h, 00dh, 00bh, 010h, 00fh, 00bh, 010h, 010h, 00bh + db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc5382 LB 0x29a4 -> off=0x0 cb=0000000000000010 uValue=00000000000c0d82 'static_functionality' +static_functionality: ; 0xc5382 LB 0x10 + db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc5392 LB 0x2994 -> off=0x0 cb=0000000000000024 uValue=00000000000c0d92 '_dcc_table' +_dcc_table: ; 0xc5392 LB 0x24 + db 010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc53b6 LB 0x2970 -> off=0x0 cb=000000000000001a uValue=00000000000c0db6 '_secondary_save_area' +_secondary_save_area: ; 0xc53b6 LB 0x1a + db 01ah, 000h, 092h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc53d0 LB 0x2956 -> off=0x0 cb=000000000000001c uValue=00000000000c0dd0 '_video_save_pointer_table' +_video_save_pointer_table: ; 0xc53d0 LB 0x1c + db 0c2h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 0b6h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc53ec LB 0x293a -> off=0x0 cb=0000000000000800 uValue=00000000000c0dec 'vgafont8' +vgafont8: ; 0xc53ec LB 0x800 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh + db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h + db 010h, 038h, 07ch, 0feh, 07ch, 038h, 010h, 000h, 038h, 07ch, 038h, 0feh, 0feh, 07ch, 038h, 07ch + db 010h, 010h, 038h, 07ch, 0feh, 07ch, 038h, 07ch, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h + db 0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h + db 0ffh, 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 00fh, 007h, 00fh, 07dh, 0cch, 0cch, 0cch, 078h + db 03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 018h, 03fh, 033h, 03fh, 030h, 030h, 070h, 0f0h, 0e0h + db 07fh, 063h, 07fh, 063h, 063h, 067h, 0e6h, 0c0h, 099h, 05ah, 03ch, 0e7h, 0e7h, 03ch, 05ah, 099h + db 080h, 0e0h, 0f8h, 0feh, 0f8h, 0e0h, 080h, 000h, 002h, 00eh, 03eh, 0feh, 03eh, 00eh, 002h, 000h + db 018h, 03ch, 07eh, 018h, 018h, 07eh, 03ch, 018h, 066h, 066h, 066h, 066h, 066h, 000h, 066h, 000h + db 07fh, 0dbh, 0dbh, 07bh, 01bh, 01bh, 01bh, 000h, 03eh, 063h, 038h, 06ch, 06ch, 038h, 0cch, 078h + db 000h, 000h, 000h, 000h, 07eh, 07eh, 07eh, 000h, 018h, 03ch, 07eh, 018h, 07eh, 03ch, 018h, 0ffh + db 018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h + db 000h, 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 030h, 060h, 0feh, 060h, 030h, 000h, 000h + db 000h, 000h, 0c0h, 0c0h, 0c0h, 0feh, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h + db 000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 000h, 000h, 000h, 0ffh, 0ffh, 07eh, 03ch, 018h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 078h, 078h, 030h, 030h, 000h, 030h, 000h + db 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch, 0feh, 06ch, 06ch, 000h + db 030h, 07ch, 0c0h, 078h, 00ch, 0f8h, 030h, 000h, 000h, 0c6h, 0cch, 018h, 030h, 066h, 0c6h, 000h + db 038h, 06ch, 038h, 076h, 0dch, 0cch, 076h, 000h, 060h, 060h, 0c0h, 000h, 000h, 000h, 000h, 000h + db 018h, 030h, 060h, 060h, 060h, 030h, 018h, 000h, 060h, 030h, 018h, 018h, 018h, 030h, 060h, 000h + db 000h, 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 030h, 030h, 0fch, 030h, 030h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 030h, 030h, 060h, 000h, 000h, 000h, 0fch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 030h, 030h, 000h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h + db 07ch, 0c6h, 0ceh, 0deh, 0f6h, 0e6h, 07ch, 000h, 030h, 070h, 030h, 030h, 030h, 030h, 0fch, 000h + db 078h, 0cch, 00ch, 038h, 060h, 0cch, 0fch, 000h, 078h, 0cch, 00ch, 038h, 00ch, 0cch, 078h, 000h + db 01ch, 03ch, 06ch, 0cch, 0feh, 00ch, 01eh, 000h, 0fch, 0c0h, 0f8h, 00ch, 00ch, 0cch, 078h, 000h + db 038h, 060h, 0c0h, 0f8h, 0cch, 0cch, 078h, 000h, 0fch, 0cch, 00ch, 018h, 030h, 030h, 030h, 000h + db 078h, 0cch, 0cch, 078h, 0cch, 0cch, 078h, 000h, 078h, 0cch, 0cch, 07ch, 00ch, 018h, 070h, 000h + db 000h, 030h, 030h, 000h, 000h, 030h, 030h, 000h, 000h, 030h, 030h, 000h, 000h, 030h, 030h, 060h + db 018h, 030h, 060h, 0c0h, 060h, 030h, 018h, 000h, 000h, 000h, 0fch, 000h, 000h, 0fch, 000h, 000h + db 060h, 030h, 018h, 00ch, 018h, 030h, 060h, 000h, 078h, 0cch, 00ch, 018h, 030h, 000h, 030h, 000h + db 07ch, 0c6h, 0deh, 0deh, 0deh, 0c0h, 078h, 000h, 030h, 078h, 0cch, 0cch, 0fch, 0cch, 0cch, 000h + db 0fch, 066h, 066h, 07ch, 066h, 066h, 0fch, 000h, 03ch, 066h, 0c0h, 0c0h, 0c0h, 066h, 03ch, 000h + db 0f8h, 06ch, 066h, 066h, 066h, 06ch, 0f8h, 000h, 0feh, 062h, 068h, 078h, 068h, 062h, 0feh, 000h + db 0feh, 062h, 068h, 078h, 068h, 060h, 0f0h, 000h, 03ch, 066h, 0c0h, 0c0h, 0ceh, 066h, 03eh, 000h + db 0cch, 0cch, 0cch, 0fch, 0cch, 0cch, 0cch, 000h, 078h, 030h, 030h, 030h, 030h, 030h, 078h, 000h + db 01eh, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 000h, 0e6h, 066h, 06ch, 078h, 06ch, 066h, 0e6h, 000h + db 0f0h, 060h, 060h, 060h, 062h, 066h, 0feh, 000h, 0c6h, 0eeh, 0feh, 0feh, 0d6h, 0c6h, 0c6h, 000h + db 0c6h, 0e6h, 0f6h, 0deh, 0ceh, 0c6h, 0c6h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h + db 0fch, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h, 078h, 0cch, 0cch, 0cch, 0dch, 078h, 01ch, 000h + db 0fch, 066h, 066h, 07ch, 06ch, 066h, 0e6h, 000h, 078h, 0cch, 0e0h, 070h, 01ch, 0cch, 078h, 000h + db 0fch, 0b4h, 030h, 030h, 030h, 030h, 078h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 0fch, 000h + db 0cch, 0cch, 0cch, 0cch, 0cch, 078h, 030h, 000h, 0c6h, 0c6h, 0c6h, 0d6h, 0feh, 0eeh, 0c6h, 000h + db 0c6h, 0c6h, 06ch, 038h, 038h, 06ch, 0c6h, 000h, 0cch, 0cch, 0cch, 078h, 030h, 030h, 078h, 000h + db 0feh, 0c6h, 08ch, 018h, 032h, 066h, 0feh, 000h, 078h, 060h, 060h, 060h, 060h, 060h, 078h, 000h + db 0c0h, 060h, 030h, 018h, 00ch, 006h, 002h, 000h, 078h, 018h, 018h, 018h, 018h, 018h, 078h, 000h + db 010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 076h, 000h + db 0e0h, 060h, 060h, 07ch, 066h, 066h, 0dch, 000h, 000h, 000h, 078h, 0cch, 0c0h, 0cch, 078h, 000h + db 01ch, 00ch, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h + db 038h, 06ch, 060h, 0f0h, 060h, 060h, 0f0h, 000h, 000h, 000h, 076h, 0cch, 0cch, 07ch, 00ch, 0f8h + db 0e0h, 060h, 06ch, 076h, 066h, 066h, 0e6h, 000h, 030h, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 00ch, 000h, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 0e0h, 060h, 066h, 06ch, 078h, 06ch, 0e6h, 000h + db 070h, 030h, 030h, 030h, 030h, 030h, 078h, 000h, 000h, 000h, 0cch, 0feh, 0feh, 0d6h, 0c6h, 000h + db 000h, 000h, 0f8h, 0cch, 0cch, 0cch, 0cch, 000h, 000h, 000h, 078h, 0cch, 0cch, 0cch, 078h, 000h + db 000h, 000h, 0dch, 066h, 066h, 07ch, 060h, 0f0h, 000h, 000h, 076h, 0cch, 0cch, 07ch, 00ch, 01eh + db 000h, 000h, 0dch, 076h, 066h, 060h, 0f0h, 000h, 000h, 000h, 07ch, 0c0h, 078h, 00ch, 0f8h, 000h + db 010h, 030h, 07ch, 030h, 030h, 034h, 018h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 0cch, 0cch, 0cch, 078h, 030h, 000h, 000h, 000h, 0c6h, 0d6h, 0feh, 0feh, 06ch, 000h + db 000h, 000h, 0c6h, 06ch, 038h, 06ch, 0c6h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 07ch, 00ch, 0f8h + db 000h, 000h, 0fch, 098h, 030h, 064h, 0fch, 000h, 01ch, 030h, 030h, 0e0h, 030h, 030h, 01ch, 000h + db 018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h + db 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h + db 078h, 0cch, 0c0h, 0cch, 078h, 018h, 00ch, 078h, 000h, 0cch, 000h, 0cch, 0cch, 0cch, 07eh, 000h + db 01ch, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h, 07eh, 0c3h, 03ch, 006h, 03eh, 066h, 03fh, 000h + db 0cch, 000h, 078h, 00ch, 07ch, 0cch, 07eh, 000h, 0e0h, 000h, 078h, 00ch, 07ch, 0cch, 07eh, 000h + db 030h, 030h, 078h, 00ch, 07ch, 0cch, 07eh, 000h, 000h, 000h, 078h, 0c0h, 0c0h, 078h, 00ch, 038h + db 07eh, 0c3h, 03ch, 066h, 07eh, 060h, 03ch, 000h, 0cch, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h + db 0e0h, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h, 0cch, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 07ch, 0c6h, 038h, 018h, 018h, 018h, 03ch, 000h, 0e0h, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 0c6h, 038h, 06ch, 0c6h, 0feh, 0c6h, 0c6h, 000h, 030h, 030h, 000h, 078h, 0cch, 0fch, 0cch, 000h + db 01ch, 000h, 0fch, 060h, 078h, 060h, 0fch, 000h, 000h, 000h, 07fh, 00ch, 07fh, 0cch, 07fh, 000h + db 03eh, 06ch, 0cch, 0feh, 0cch, 0cch, 0ceh, 000h, 078h, 0cch, 000h, 078h, 0cch, 0cch, 078h, 000h + db 000h, 0cch, 000h, 078h, 0cch, 0cch, 078h, 000h, 000h, 0e0h, 000h, 078h, 0cch, 0cch, 078h, 000h + db 078h, 0cch, 000h, 0cch, 0cch, 0cch, 07eh, 000h, 000h, 0e0h, 000h, 0cch, 0cch, 0cch, 07eh, 000h + db 000h, 0cch, 000h, 0cch, 0cch, 07ch, 00ch, 0f8h, 0c3h, 018h, 03ch, 066h, 066h, 03ch, 018h, 000h + db 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 078h, 000h, 018h, 018h, 07eh, 0c0h, 0c0h, 07eh, 018h, 018h + db 038h, 06ch, 064h, 0f0h, 060h, 0e6h, 0fch, 000h, 0cch, 0cch, 078h, 0fch, 030h, 0fch, 030h, 030h + db 0f8h, 0cch, 0cch, 0fah, 0c6h, 0cfh, 0c6h, 0c7h, 00eh, 01bh, 018h, 03ch, 018h, 018h, 0d8h, 070h + db 01ch, 000h, 078h, 00ch, 07ch, 0cch, 07eh, 000h, 038h, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 000h, 01ch, 000h, 078h, 0cch, 0cch, 078h, 000h, 000h, 01ch, 000h, 0cch, 0cch, 0cch, 07eh, 000h + db 000h, 0f8h, 000h, 0f8h, 0cch, 0cch, 0cch, 000h, 0fch, 000h, 0cch, 0ech, 0fch, 0dch, 0cch, 000h + db 03ch, 06ch, 06ch, 03eh, 000h, 07eh, 000h, 000h, 038h, 06ch, 06ch, 038h, 000h, 07ch, 000h, 000h + db 030h, 000h, 030h, 060h, 0c0h, 0cch, 078h, 000h, 000h, 000h, 000h, 0fch, 0c0h, 0c0h, 000h, 000h + db 000h, 000h, 000h, 0fch, 00ch, 00ch, 000h, 000h, 0c3h, 0c6h, 0cch, 0deh, 033h, 066h, 0cch, 00fh + db 0c3h, 0c6h, 0cch, 0dbh, 037h, 06fh, 0cfh, 003h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 000h + db 000h, 033h, 066h, 0cch, 066h, 033h, 000h, 000h, 000h, 0cch, 066h, 033h, 066h, 0cch, 000h, 000h + db 022h, 088h, 022h, 088h, 022h, 088h, 022h, 088h, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah + db 0dbh, 077h, 0dbh, 0eeh, 0dbh, 077h, 0dbh, 0eeh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 0f6h, 036h, 036h, 036h, 000h, 000h, 000h, 000h, 0feh, 036h, 036h, 036h + db 000h, 000h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 036h, 036h, 0f6h, 006h, 0f6h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 000h, 000h, 0feh, 006h, 0f6h, 036h, 036h, 036h + db 036h, 036h, 0f6h, 006h, 0feh, 000h, 000h, 000h, 036h, 036h, 036h, 036h, 0feh, 000h, 000h, 000h + db 018h, 018h, 0f8h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 01fh, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 0ffh, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 0ffh, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h + db 018h, 018h, 01fh, 018h, 01fh, 018h, 018h, 018h, 036h, 036h, 036h, 036h, 037h, 036h, 036h, 036h + db 036h, 036h, 037h, 030h, 03fh, 000h, 000h, 000h, 000h, 000h, 03fh, 030h, 037h, 036h, 036h, 036h + db 036h, 036h, 0f7h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0f7h, 036h, 036h, 036h + db 036h, 036h, 037h, 030h, 037h, 036h, 036h, 036h, 000h, 000h, 0ffh, 000h, 0ffh, 000h, 000h, 000h + db 036h, 036h, 0f7h, 000h, 0f7h, 036h, 036h, 036h, 018h, 018h, 0ffh, 000h, 0ffh, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 0ffh, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 03fh, 000h, 000h, 000h + db 018h, 018h, 01fh, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 01fh, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 03fh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 036h, 036h, 036h + db 018h, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 01fh, 018h, 018h, 018h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 000h, 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h + db 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h + db 000h, 000h, 076h, 0dch, 0c8h, 0dch, 076h, 000h, 000h, 078h, 0cch, 0f8h, 0cch, 0f8h, 0c0h, 0c0h + db 000h, 0fch, 0cch, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 0feh, 06ch, 06ch, 06ch, 06ch, 06ch, 000h + db 0fch, 0cch, 060h, 030h, 060h, 0cch, 0fch, 000h, 000h, 000h, 07eh, 0d8h, 0d8h, 0d8h, 070h, 000h + db 000h, 066h, 066h, 066h, 066h, 07ch, 060h, 0c0h, 000h, 076h, 0dch, 018h, 018h, 018h, 018h, 000h + db 0fch, 030h, 078h, 0cch, 0cch, 078h, 030h, 0fch, 038h, 06ch, 0c6h, 0feh, 0c6h, 06ch, 038h, 000h + db 038h, 06ch, 0c6h, 0c6h, 06ch, 06ch, 0eeh, 000h, 01ch, 030h, 018h, 07ch, 0cch, 0cch, 078h, 000h + db 000h, 000h, 07eh, 0dbh, 0dbh, 07eh, 000h, 000h, 006h, 00ch, 07eh, 0dbh, 0dbh, 07eh, 060h, 0c0h + db 038h, 060h, 0c0h, 0f8h, 0c0h, 060h, 038h, 000h, 078h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 000h + db 000h, 0fch, 000h, 0fch, 000h, 0fch, 000h, 000h, 030h, 030h, 0fch, 030h, 030h, 000h, 0fch, 000h + db 060h, 030h, 018h, 030h, 060h, 000h, 0fch, 000h, 018h, 030h, 060h, 030h, 018h, 000h, 0fch, 000h + db 00eh, 01bh, 01bh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0d8h, 0d8h, 070h + db 030h, 030h, 000h, 0fch, 000h, 030h, 030h, 000h, 000h, 076h, 0dch, 000h, 076h, 0dch, 000h, 000h + db 038h, 06ch, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 000h, 000h, 000h, 00fh, 00ch, 00ch, 00ch, 0ech, 06ch, 03ch, 01ch + db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h + db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc5bec LB 0x213a -> off=0x0 cb=0000000000000e00 uValue=00000000000c15ec 'vgafont14' +vgafont14: ; 0xc5bec LB 0xe00 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh + db 0dbh, 0ffh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 06ch, 0feh, 0feh + db 0feh, 0feh, 07ch, 038h, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 07ch, 0feh, 07ch + db 038h, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 03ch, 0e7h, 0e7h, 0e7h, 018h, 018h + db 03ch, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 07eh, 018h, 018h, 03ch, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h, 000h, 000h, 000h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h + db 000h, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h, 000h, 000h, 000h, 0ffh, 0ffh, 0ffh, 0ffh + db 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 01eh, 00eh, 01ah, 032h + db 078h, 0cch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 066h, 066h, 03ch, 018h + db 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 03fh, 033h, 03fh, 030h, 030h, 030h, 070h, 0f0h + db 0e0h, 000h, 000h, 000h, 000h, 000h, 07fh, 063h, 07fh, 063h, 063h, 063h, 067h, 0e7h, 0e6h, 0c0h + db 000h, 000h, 000h, 000h, 018h, 018h, 0dbh, 03ch, 0e7h, 03ch, 0dbh, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 080h, 0c0h, 0e0h, 0f8h, 0feh, 0f8h, 0e0h, 0c0h, 080h, 000h, 000h, 000h, 000h, 000h + db 002h, 006h, 00eh, 03eh, 0feh, 03eh, 00eh, 006h, 002h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch + db 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h + db 066h, 066h, 000h, 066h, 066h, 000h, 000h, 000h, 000h, 000h, 07fh, 0dbh, 0dbh, 0dbh, 07bh, 01bh + db 01bh, 01bh, 01bh, 000h, 000h, 000h, 000h, 07ch, 0c6h, 060h, 038h, 06ch, 0c6h, 0c6h, 06ch, 038h + db 00ch, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 0feh, 0feh, 000h + db 000h, 000h, 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 07eh, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 060h + db 0feh, 060h, 030h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0c0h, 0c0h, 0c0h + db 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 028h, 06ch, 0feh, 06ch, 028h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 038h, 07ch, 07ch, 0feh, 0feh, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0feh, 0feh, 07ch, 07ch, 038h, 038h, 010h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 03ch, 03ch, 03ch, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 066h, 066h, 066h + db 024h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch + db 06ch, 06ch, 0feh, 06ch, 06ch, 000h, 000h, 000h, 018h, 018h, 07ch, 0c6h, 0c2h, 0c0h, 07ch, 006h + db 086h, 0c6h, 07ch, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 0c2h, 0c6h, 00ch, 018h, 030h, 066h + db 0c6h, 000h, 000h, 000h, 000h, 000h, 038h, 06ch, 06ch, 038h, 076h, 0dch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 000h, 030h, 030h, 030h, 060h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 00ch, 018h, 030h, 030h, 030h, 030h, 030h, 018h, 00ch, 000h, 000h, 000h, 000h, 000h + db 030h, 018h, 00ch, 00ch, 00ch, 00ch, 00ch, 018h, 030h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h + db 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 030h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h + db 000h, 000h, 000h, 000h, 002h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0ceh, 0deh, 0f6h, 0e6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 018h, 038h, 078h, 018h, 018h, 018h, 018h, 018h, 07eh, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h + db 006h, 00ch, 018h, 030h, 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 006h, 006h + db 03ch, 006h, 006h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 00ch, 01ch, 03ch, 06ch, 0cch, 0feh + db 00ch, 00ch, 01eh, 000h, 000h, 000h, 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 0fch, 006h, 006h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 000h, 038h, 060h, 0c0h, 0c0h, 0fch, 0c6h, 0c6h, 0c6h, 07ch, 000h + db 000h, 000h, 000h, 000h, 0feh, 0c6h, 006h, 00ch, 018h, 030h, 030h, 030h, 030h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 07ch, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 07ch, 0c6h, 0c6h, 0c6h, 07eh, 006h, 006h, 00ch, 078h, 000h, 000h, 000h, 000h, 000h, 000h, 018h + db 018h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h + db 000h, 000h, 018h, 018h, 030h, 000h, 000h, 000h, 000h, 000h, 006h, 00ch, 018h, 030h, 060h, 030h + db 018h, 00ch, 006h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 000h, 000h, 07eh, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 00ch, 006h, 00ch, 018h, 030h, 060h, 000h + db 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 00ch, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0deh, 0deh, 0deh, 0dch, 0c0h, 07ch, 000h, 000h, 000h, 000h, 000h + db 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h, 000h, 0fch, 066h + db 066h, 066h, 07ch, 066h, 066h, 066h, 0fch, 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 0c2h, 0c0h + db 0c0h, 0c0h, 0c2h, 066h, 03ch, 000h, 000h, 000h, 000h, 000h, 0f8h, 06ch, 066h, 066h, 066h, 066h + db 066h, 06ch, 0f8h, 000h, 000h, 000h, 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 062h, 066h + db 0feh, 000h, 000h, 000h, 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 060h, 060h, 0f0h, 000h + db 000h, 000h, 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0deh, 0c6h, 066h, 03ah, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h, 000h + db 03ch, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 01eh, 00ch + db 00ch, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h, 000h, 0e6h, 066h, 06ch, 06ch + db 078h, 06ch, 06ch, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h, 0f0h, 060h, 060h, 060h, 060h, 060h + db 062h, 066h, 0feh, 000h, 000h, 000h, 000h, 000h, 0c6h, 0eeh, 0feh, 0feh, 0d6h, 0c6h, 0c6h, 0c6h + db 0c6h, 000h, 000h, 000h, 000h, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h, 0c6h, 0c6h, 000h + db 000h, 000h, 000h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h, 000h + db 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0d6h, 0deh, 07ch, 00ch, 00eh, 000h, 000h, 000h, 000h, 0fch, 066h + db 066h, 066h, 07ch, 06ch, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 060h + db 038h, 00ch, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 07eh, 07eh, 05ah, 018h, 018h, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 06ch, 038h, 010h, 000h + db 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0d6h, 0d6h, 0feh, 07ch, 06ch, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 06ch, 038h, 038h, 038h, 06ch, 0c6h, 0c6h, 000h, 000h, 000h, 000h, 000h + db 066h, 066h, 066h, 066h, 03ch, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 0feh, 0c6h + db 08ch, 018h, 030h, 060h, 0c2h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h, 03ch, 030h, 030h, 030h + db 030h, 030h, 030h, 030h, 03ch, 000h, 000h, 000h, 000h, 000h, 080h, 0c0h, 0e0h, 070h, 038h, 01ch + db 00eh, 006h, 002h, 000h, 000h, 000h, 000h, 000h, 03ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch + db 03ch, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h + db 030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 0e0h, 060h + db 060h, 078h, 06ch, 066h, 066h, 066h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch + db 0c6h, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 01ch, 00ch, 00ch, 03ch, 06ch, 0cch + db 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h, 060h, 0f0h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 07ch, 00ch, 0cch, 078h, 000h + db 000h, 000h, 0e0h, 060h, 060h, 06ch, 076h, 066h, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 000h, 038h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 006h, 006h + db 000h, 00eh, 006h, 006h, 006h, 006h, 066h, 066h, 03ch, 000h, 000h, 000h, 0e0h, 060h, 060h, 066h + db 06ch, 078h, 06ch, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h, 038h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ech, 0feh, 0d6h, 0d6h, 0d6h + db 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h, 000h, 000h + db 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 07ch, 00ch, 00ch, 01eh, 000h, 000h, 000h, 000h, 000h + db 000h, 0dch, 076h, 066h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch + db 0c6h, 070h, 01ch, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 010h, 030h, 030h, 0fch, 030h, 030h + db 030h, 036h, 01ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch + db 076h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h, 03ch, 018h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0d6h, 0d6h, 0feh, 06ch, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c6h, 06ch, 038h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 0f8h, 000h, 000h, 000h, 000h, 000h + db 000h, 0feh, 0cch, 018h, 030h, 066h, 0feh, 000h, 000h, 000h, 000h, 000h, 00eh, 018h, 018h, 018h + db 070h, 018h, 018h, 018h, 00eh, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 000h, 018h + db 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 070h, 018h, 018h, 018h, 00eh, 018h, 018h, 018h + db 070h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0c2h, 066h, 03ch, 00ch, 006h, 07ch, 000h, 000h, 000h + db 0cch, 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 00ch, 018h, 030h + db 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 000h, 078h + db 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 0cch, 0cch, 000h, 078h, 00ch, 07ch + db 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 000h, 078h, 00ch, 07ch, 0cch, 0cch + db 076h, 000h, 000h, 000h, 000h, 038h, 06ch, 038h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 060h, 066h, 03ch, 00ch, 006h, 03ch, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 0cch, 0cch, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 060h, 030h, 018h + db 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 000h, 038h + db 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 018h, 03ch, 066h, 000h, 038h, 018h, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 000h, 038h, 018h, 018h, 018h, 018h + db 03ch, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 000h + db 000h, 000h, 038h, 06ch, 038h, 000h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 000h, 000h, 000h + db 018h, 030h, 060h, 000h, 0feh, 066h, 060h, 07ch, 060h, 066h, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 0cch, 076h, 036h, 07eh, 0d8h, 0d8h, 06eh, 000h, 000h, 000h, 000h, 000h, 03eh, 06ch + db 0cch, 0cch, 0feh, 0cch, 0cch, 0cch, 0ceh, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 000h, 07ch + db 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 000h, 07ch, 0c6h, 0c6h + db 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 030h, 078h, 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 000h, 060h, 030h, 018h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 078h, 000h, 000h, 0c6h + db 0c6h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 000h + db 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 018h, 018h, 03ch, 066h, 060h + db 060h, 066h, 03ch, 018h, 018h, 000h, 000h, 000h, 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h + db 060h, 0e6h, 0fch, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 03ch, 018h, 07eh, 018h, 07eh, 018h + db 018h, 000h, 000h, 000h, 000h, 0f8h, 0cch, 0cch, 0f8h, 0c4h, 0cch, 0deh, 0cch, 0cch, 0c6h, 000h + db 000h, 000h, 000h, 00eh, 01bh, 018h, 018h, 018h, 07eh, 018h, 018h, 018h, 018h, 0d8h, 070h, 000h + db 000h, 018h, 030h, 060h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 00ch + db 018h, 030h, 000h, 038h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 018h, 030h, 060h + db 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 018h, 030h, 060h, 000h, 0cch + db 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 0dch, 066h, 066h + db 066h, 066h, 066h, 000h, 000h, 000h, 076h, 0dch, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h + db 0c6h, 000h, 000h, 000h, 000h, 03ch, 06ch, 06ch, 03eh, 000h, 07eh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 038h, 06ch, 06ch, 038h, 000h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 030h, 030h, 000h, 030h, 030h, 060h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 006h, 006h, 006h, 000h, 000h, 000h, 000h, 000h, 0c0h, 0c0h, 0c6h, 0cch, 0d8h + db 030h, 060h, 0dch, 086h, 00ch, 018h, 03eh, 000h, 000h, 0c0h, 0c0h, 0c6h, 0cch, 0d8h, 030h, 066h + db 0ceh, 09eh, 03eh, 006h, 006h, 000h, 000h, 000h, 018h, 018h, 000h, 018h, 018h, 03ch, 03ch, 03ch + db 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 036h, 06ch, 0d8h, 06ch, 036h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0d8h, 06ch, 036h, 06ch, 0d8h, 000h, 000h, 000h, 000h, 000h + db 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 055h, 0aah + db 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 0ddh, 077h, 0ddh, 077h + db 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 018h, 018h + db 018h, 018h, 018h, 018h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0f6h, 036h, 036h, 036h, 036h + db 036h, 036h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 036h, 036h + db 036h, 036h, 036h, 0f6h, 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 000h, 000h, 000h, 000h, 000h, 0feh + db 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0f6h, 006h, 0feh + db 000h, 000h, 000h, 000h, 000h, 000h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0feh, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh, 018h, 018h, 018h, 018h + db 018h, 018h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 037h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 037h, 030h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 03fh, 030h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 0f7h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 000h, 0f7h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 037h, 030h, 037h + db 036h, 036h, 036h, 036h, 036h, 036h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 000h, 000h + db 000h, 000h, 000h, 000h, 036h, 036h, 036h, 036h, 036h, 0f7h, 000h, 0f7h, 036h, 036h, 036h, 036h + db 036h, 036h, 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0ffh, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 01fh, 018h, 018h + db 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 03fh, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h + db 0f0h, 0f0h, 0f0h, 0f0h, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh + db 00fh, 00fh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 0d8h, 0d8h, 0dch, 076h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0fch, 0c6h, 0c6h, 0fch, 0c0h, 0c0h, 040h, 000h, 000h, 000h, 0feh, 0c6h + db 0c6h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 06ch + db 06ch, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 0feh, 0c6h, 060h, 030h, 018h, 030h + db 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 0d8h, 0d8h, 0d8h, 0d8h + db 070h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h, 07ch, 060h, 060h, 0c0h + db 000h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 07eh, 018h, 03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 000h, 000h, 000h, 000h, 000h + db 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 038h, 06ch + db 0c6h, 0c6h, 0c6h, 06ch, 06ch, 06ch, 0eeh, 000h, 000h, 000h, 000h, 000h, 01eh, 030h, 018h, 00ch + db 03eh, 066h, 066h, 066h, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 0dbh, 0dbh + db 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 003h, 006h, 07eh, 0dbh, 0dbh, 0f3h, 07eh, 060h + db 0c0h, 000h, 000h, 000h, 000h, 000h, 01ch, 030h, 060h, 060h, 07ch, 060h, 060h, 030h, 01ch, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h + db 000h, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 018h, 018h, 07eh, 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 030h, 018h + db 00ch, 006h, 00ch, 018h, 030h, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 00ch, 018h, 030h, 060h + db 030h, 018h, 00ch, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 00eh, 01bh, 01bh, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0d8h, 0d8h + db 070h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 07eh, 000h, 018h, 018h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 00fh, 00ch, 00ch, 00ch, 00ch + db 00ch, 0ech, 06ch, 03ch, 01ch, 000h, 000h, 000h, 000h, 0d8h, 06ch, 06ch, 06ch, 06ch, 06ch, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 070h, 0d8h, 030h, 060h, 0c8h, 0f8h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc69ec LB 0x133a -> off=0x0 cb=0000000000001000 uValue=00000000000c23ec 'vgafont16' +vgafont16: ; 0xc69ec LB 0x1000 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 07eh, 0ffh, 0dbh, 0ffh, 0ffh, 0c3h, 0e7h, 0ffh, 0ffh, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 06ch, 0feh, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 010h, 038h, 07ch, 0feh, 07ch, 038h, 010h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 03ch, 03ch, 0e7h, 0e7h, 0e7h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 07eh, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h, 000h, 000h, 000h, 000h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 01eh, 00eh, 01ah, 032h, 078h, 0cch, 0cch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 066h, 066h, 066h, 03ch, 018h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 03fh, 033h, 03fh, 030h, 030h, 030h, 030h, 070h, 0f0h, 0e0h, 000h, 000h, 000h, 000h + db 000h, 000h, 07fh, 063h, 07fh, 063h, 063h, 063h, 063h, 067h, 0e7h, 0e6h, 0c0h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 018h, 0dbh, 03ch, 0e7h, 03ch, 0dbh, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 080h, 0c0h, 0e0h, 0f0h, 0f8h, 0feh, 0f8h, 0f0h, 0e0h, 0c0h, 080h, 000h, 000h, 000h, 000h + db 000h, 002h, 006h, 00eh, 01eh, 03eh, 0feh, 03eh, 01eh, 00eh, 006h, 002h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 066h, 066h, 066h, 066h, 066h, 066h, 066h, 000h, 066h, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 07fh, 0dbh, 0dbh, 0dbh, 07bh, 01bh, 01bh, 01bh, 01bh, 01bh, 000h, 000h, 000h, 000h + db 000h, 07ch, 0c6h, 060h, 038h, 06ch, 0c6h, 0c6h, 06ch, 038h, 00ch, 0c6h, 07ch, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 0feh, 0feh, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 030h, 060h, 0feh, 060h, 030h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0c0h, 0c0h, 0c0h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 010h, 038h, 038h, 07ch, 07ch, 0feh, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 0feh, 07ch, 07ch, 038h, 038h, 010h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 03ch, 03ch, 018h, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 066h, 066h, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch, 06ch, 06ch, 0feh, 06ch, 06ch, 000h, 000h, 000h, 000h + db 018h, 018h, 07ch, 0c6h, 0c2h, 0c0h, 07ch, 006h, 006h, 086h, 0c6h, 07ch, 018h, 018h, 000h, 000h + db 000h, 000h, 000h, 000h, 0c2h, 0c6h, 00ch, 018h, 030h, 060h, 0c6h, 086h, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 06ch, 06ch, 038h, 076h, 0dch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 030h, 030h, 030h, 060h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 00ch, 018h, 030h, 030h, 030h, 030h, 030h, 030h, 018h, 00ch, 000h, 000h, 000h, 000h + db 000h, 000h, 030h, 018h, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 018h, 030h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 018h, 018h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 030h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 002h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 038h, 078h, 018h, 018h, 018h, 018h, 018h, 018h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 006h, 006h, 03ch, 006h, 006h, 006h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 00ch, 01ch, 03ch, 06ch, 0cch, 0feh, 00ch, 00ch, 00ch, 01eh, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 0fch, 006h, 006h, 006h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 060h, 0c0h, 0c0h, 0fch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 0c6h, 006h, 006h, 00ch, 018h, 030h, 030h, 030h, 030h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 07eh, 006h, 006h, 006h, 00ch, 078h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 018h, 018h, 030h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 006h, 00ch, 018h, 030h, 060h, 030h, 018h, 00ch, 006h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07eh, 000h, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 060h, 030h, 018h, 00ch, 006h, 00ch, 018h, 030h, 060h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 00ch, 018h, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0deh, 0deh, 0deh, 0dch, 0c0h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 066h, 066h, 066h, 066h, 0fch, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0c0h, 0c0h, 0c2h, 066h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0f8h, 06ch, 066h, 066h, 066h, 066h, 066h, 066h, 06ch, 0f8h, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 060h, 062h, 066h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0deh, 0c6h, 0c6h, 066h, 03ah, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 01eh, 00ch, 00ch, 00ch, 00ch, 00ch, 0cch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h + db 000h, 000h, 0e6h, 066h, 066h, 06ch, 078h, 078h, 06ch, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 0f0h, 060h, 060h, 060h, 060h, 060h, 060h, 062h, 066h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0e7h, 0ffh, 0ffh, 0dbh, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 060h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0d6h, 0deh, 07ch, 00ch, 00eh, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 06ch, 066h, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 060h, 038h, 00ch, 006h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0ffh, 0dbh, 099h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 066h, 03ch, 018h, 018h, 03ch, 066h, 0c3h, 0c3h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0ffh, 0c3h, 086h, 00ch, 018h, 030h, 060h, 0c1h, 0c3h, 0ffh, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 030h, 030h, 030h, 030h, 030h, 030h, 030h, 030h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 080h, 0c0h, 0e0h, 070h, 038h, 01ch, 00eh, 006h, 002h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 03ch, 000h, 000h, 000h, 000h + db 010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 000h + db 030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 0e0h, 060h, 060h, 078h, 06ch, 066h, 066h, 066h, 066h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c0h, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 01ch, 00ch, 00ch, 03ch, 06ch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 0cch, 0cch, 07ch, 00ch, 0cch, 078h, 000h + db 000h, 000h, 0e0h, 060h, 060h, 06ch, 076h, 066h, 066h, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 018h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 006h, 006h, 000h, 00eh, 006h, 006h, 006h, 006h, 006h, 006h, 066h, 066h, 03ch, 000h + db 000h, 000h, 0e0h, 060h, 060h, 066h, 06ch, 078h, 078h, 06ch, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0e6h, 0ffh, 0dbh, 0dbh, 0dbh, 0dbh, 0dbh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 0cch, 0cch, 07ch, 00ch, 00ch, 01eh, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 076h, 066h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 060h, 038h, 00ch, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 010h, 030h, 030h, 0fch, 030h, 030h, 030h, 030h, 036h, 01ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c3h, 066h, 03ch, 018h, 03ch, 066h, 0c3h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 0f8h, 000h + db 000h, 000h, 000h, 000h, 000h, 0feh, 0cch, 018h, 030h, 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 00eh, 018h, 018h, 018h, 070h, 018h, 018h, 018h, 018h, 00eh, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 018h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 070h, 018h, 018h, 018h, 00eh, 018h, 018h, 018h, 018h, 070h, 000h, 000h, 000h, 000h + db 000h, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0c0h, 0c2h, 066h, 03ch, 00ch, 006h, 07ch, 000h, 000h + db 000h, 000h, 0cch, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 00ch, 018h, 030h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 0cch, 000h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 038h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 03ch, 066h, 060h, 060h, 066h, 03ch, 00ch, 006h, 03ch, 000h, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 000h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 066h, 000h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 018h, 03ch, 066h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 0c6h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 038h, 06ch, 038h, 000h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 018h, 030h, 060h, 000h, 0feh, 066h, 060h, 07ch, 060h, 060h, 066h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 06eh, 03bh, 01bh, 07eh, 0d8h, 0dch, 077h, 000h, 000h, 000h, 000h + db 000h, 000h, 03eh, 06ch, 0cch, 0cch, 0feh, 0cch, 0cch, 0cch, 0cch, 0ceh, 000h, 000h, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 030h, 078h, 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 078h, 000h + db 000h, 0c6h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 0c6h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 018h, 018h, 07eh, 0c3h, 0c0h, 0c0h, 0c0h, 0c3h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h, 060h, 060h, 0e6h, 0fch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 066h, 03ch, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 0fch, 066h, 066h, 07ch, 062h, 066h, 06fh, 066h, 066h, 066h, 0f3h, 000h, 000h, 000h, 000h + db 000h, 00eh, 01bh, 018h, 018h, 018h, 07eh, 018h, 018h, 018h, 018h, 018h, 0d8h, 070h, 000h, 000h + db 000h, 018h, 030h, 060h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 00ch, 018h, 030h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 018h, 030h, 060h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 018h, 030h, 060h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 076h, 0dch, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 066h, 000h, 000h, 000h, 000h + db 076h, 0dch, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 03ch, 06ch, 06ch, 03eh, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 06ch, 038h, 000h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 030h, 030h, 000h, 030h, 030h, 060h, 0c0h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 006h, 006h, 006h, 006h, 000h, 000h, 000h, 000h, 000h + db 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 060h, 0ceh, 09bh, 006h, 00ch, 01fh, 000h, 000h + db 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h, 006h, 000h, 000h + db 000h, 000h, 018h, 018h, 000h, 018h, 018h, 018h, 03ch, 03ch, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 036h, 06ch, 0d8h, 06ch, 036h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0d8h, 06ch, 036h, 06ch, 0d8h, 000h, 000h, 000h, 000h, 000h, 000h + db 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h + db 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah + db 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 036h, 0f6h, 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0feh, 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 0f6h, 006h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 037h, 030h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 03fh, 030h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 0f7h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0f7h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 037h, 030h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 0f7h, 000h, 0f7h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 03fh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h + db 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 0d8h, 0d8h, 0d8h, 0dch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 078h, 0cch, 0cch, 0cch, 0d8h, 0cch, 0c6h, 0c6h, 0c6h, 0cch, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 0c6h, 0c6h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 06ch, 06ch, 06ch, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0feh, 0c6h, 060h, 030h, 018h, 030h, 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07eh, 0d8h, 0d8h, 0d8h, 0d8h, 0d8h, 070h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h, 066h, 07ch, 060h, 060h, 0c0h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 076h, 0dch, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 07eh, 018h, 03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 06ch, 06ch, 06ch, 06ch, 0eeh, 000h, 000h, 000h, 000h + db 000h, 000h, 01eh, 030h, 018h, 00ch, 03eh, 066h, 066h, 066h, 066h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07eh, 0dbh, 0dbh, 0dbh, 07eh, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 003h, 006h, 07eh, 0dbh, 0dbh, 0f3h, 07eh, 060h, 0c0h, 000h, 000h, 000h, 000h + db 000h, 000h, 01ch, 030h, 060h, 060h, 07ch, 060h, 060h, 060h, 030h, 01ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 07eh, 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 030h, 018h, 00ch, 006h, 00ch, 018h, 030h, 000h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 00ch, 018h, 030h, 060h, 030h, 018h, 00ch, 000h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 00eh, 01bh, 01bh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0d8h, 0d8h, 0d8h, 070h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 07eh, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 00fh, 00ch, 00ch, 00ch, 00ch, 00ch, 0ech, 06ch, 06ch, 03ch, 01ch, 000h, 000h, 000h, 000h + db 000h, 0d8h, 06ch, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 070h, 0d8h, 030h, 060h, 0c8h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc79ec LB 0x33a -> off=0x0 cb=000000000000012d uValue=00000000000c33ec 'vgafont14alt' +vgafont14alt: ; 0xc79ec LB 0x12d + db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h + db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h + db 000h, 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 02dh, 000h, 000h + db 000h, 000h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 04dh, 000h, 000h, 0c3h + db 0e7h, 0ffh, 0dbh, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 000h, 000h, 000h, 054h, 000h, 000h, 0ffh, 0dbh + db 099h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 056h, 000h, 000h, 0c3h, 0c3h, 0c3h + db 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 057h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h + db 0dbh, 0dbh, 0ffh, 066h, 066h, 000h, 000h, 000h, 058h, 000h, 000h, 0c3h, 0c3h, 066h, 03ch, 018h + db 03ch, 066h, 0c3h, 0c3h, 000h, 000h, 000h, 059h, 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 05ah, 000h, 000h, 0ffh, 0c3h, 086h, 00ch, 018h, 030h, 061h + db 0c3h, 0ffh, 000h, 000h, 000h, 06dh, 000h, 000h, 000h, 000h, 000h, 0e6h, 0ffh, 0dbh, 0dbh, 0dbh + db 0dbh, 000h, 000h, 000h, 076h, 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h + db 000h, 000h, 000h, 077h, 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 000h + db 000h, 000h, 091h, 000h, 000h, 000h, 000h, 06eh, 03bh, 01bh, 07eh, 0d8h, 0dch, 077h, 000h, 000h + db 000h, 09bh, 000h, 018h, 018h, 07eh, 0c3h, 0c0h, 0c0h, 0c3h, 07eh, 018h, 018h, 000h, 000h, 000h + db 09dh, 000h, 000h, 0c3h, 066h, 03ch, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 000h, 000h, 000h, 09eh + db 000h, 0fch, 066h, 066h, 07ch, 062h, 066h, 06fh, 066h, 066h, 0f3h, 000h, 000h, 000h, 0f1h, 000h + db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h + db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc7b19 LB 0x20d -> off=0x0 cb=0000000000000144 uValue=00000000000c3519 'vgafont16alt' +vgafont16alt: ; 0xc7b19 LB 0x144 + db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h + db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h + db 000h, 000h, 04dh, 000h, 000h, 0c3h, 0e7h, 0ffh, 0ffh, 0dbh, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 000h + db 000h, 000h, 000h, 054h, 000h, 000h, 0ffh, 0dbh, 099h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch + db 000h, 000h, 000h, 000h, 056h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch + db 018h, 000h, 000h, 000h, 000h, 057h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh + db 066h, 066h, 000h, 000h, 000h, 000h, 058h, 000h, 000h, 0c3h, 0c3h, 066h, 03ch, 018h, 018h, 03ch + db 066h, 0c3h, 0c3h, 000h, 000h, 000h, 000h, 059h, 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h + db 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 05ah, 000h, 000h, 0ffh, 0c3h, 086h, 00ch, 018h + db 030h, 060h, 0c1h, 0c3h, 0ffh, 000h, 000h, 000h, 000h, 06dh, 000h, 000h, 000h, 000h, 000h, 0e6h + db 0ffh, 0dbh, 0dbh, 0dbh, 0dbh, 0dbh, 000h, 000h, 000h, 000h, 076h, 000h, 000h, 000h, 000h, 000h + db 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 000h, 077h, 000h, 000h, 000h, 000h + db 000h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 000h, 000h, 000h, 000h, 078h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 066h, 03ch, 018h, 03ch, 066h, 0c3h, 000h, 000h, 000h, 000h, 091h, 000h, 000h + db 000h, 000h, 000h, 06eh, 03bh, 01bh, 07eh, 0d8h, 0dch, 077h, 000h, 000h, 000h, 000h, 09bh, 000h + db 018h, 018h, 07eh, 0c3h, 0c0h, 0c0h, 0c0h, 0c3h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 09dh + db 000h, 000h, 0c3h, 066h, 03ch, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 09eh, 000h, 0fch, 066h, 066h, 07ch, 062h, 066h, 06fh, 066h, 066h, 066h, 0f3h, 000h, 000h, 000h + db 000h, 0abh, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 060h, 0ceh, 09bh, 006h, 00ch, 01fh + db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h + db 006h, 000h, 000h, 000h + ; disGetNextSymbol 0xc7c5d LB 0xc9 -> off=0x0 cb=0000000000000009 uValue=00000000000c365d '_cga_msr' +_cga_msr: ; 0xc7c5d LB 0x9 + db 02ch, 028h, 02dh, 029h, 02ah, 02eh, 01eh, 029h, 000h + ; disGetNextSymbol 0xc7c66 LB 0xc0 -> off=0x0 cb=0000000000000015 uValue=00000000000c3666 '_vbebios_copyright' +_vbebios_copyright: ; 0xc7c66 LB 0x15 + db 'VirtualBox VESA BIOS', 000h + ; disGetNextSymbol 0xc7c7b LB 0xab -> off=0x0 cb=0000000000000013 uValue=00000000000c367b '_vbebios_vendor_name' +_vbebios_vendor_name: ; 0xc7c7b LB 0x13 + db 'Oracle Corporation', 000h + ; disGetNextSymbol 0xc7c8e LB 0x98 -> off=0x0 cb=0000000000000021 uValue=00000000000c368e '_vbebios_product_name' +_vbebios_product_name: ; 0xc7c8e LB 0x21 + db 'Oracle VM VirtualBox VBE Adapter', 000h + ; disGetNextSymbol 0xc7caf LB 0x77 -> off=0x0 cb=0000000000000023 uValue=00000000000c36af '_vbebios_product_revision' +_vbebios_product_revision: ; 0xc7caf LB 0x23 + db 'Oracle VM VirtualBox Version 6.0.4', 000h + ; disGetNextSymbol 0xc7cd2 LB 0x54 -> off=0x0 cb=000000000000002b uValue=00000000000c36d2 '_vbebios_info_string' +_vbebios_info_string: ; 0xc7cd2 LB 0x2b + db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h + ; disGetNextSymbol 0xc7cfd LB 0x29 -> off=0x0 cb=0000000000000029 uValue=00000000000c36fd '_no_vbebios_info_string' +_no_vbebios_info_string: ; 0xc7cfd LB 0x29 + db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h + +section CONST progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP + +section CONST2 progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP + + ; Padding 0x2da bytes at 0xc7d26 + db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh + db 065h, 02fh, 06dh, 069h, 063h, 068h, 061h, 065h, 06ch, 02fh, 076h, 062h, 06fh, 078h, 02fh, 062h + db 072h, 061h, 06eh, 063h, 068h, 065h, 073h, 02fh, 056h, 042h, 06fh, 078h, 02dh, 036h, 02eh, 030h + db 02fh, 06fh, 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h + db 02fh, 072h, 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh + db 078h, 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 033h, 038h, 036h, 02fh, 056h, 042h, 06fh, 078h + db 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 033h, 038h, 036h, 02eh, 073h, 079h, 06dh, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f5h diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum new file mode 100644 index 00000000..0d01ed6b --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum @@ -0,0 +1 @@ +e748eb448935510f0b7dc53f755359ac *VBoxVgaBios386.rom diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm new file mode 100644 index 00000000..4dfee2e7 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm @@ -0,0 +1,8649 @@ +; $Id: VBoxVgaBiosAlternative8086.asm $ +;; @file +; Auto Generated source file. Do not edit. +; + +; +; Source file: vgarom.asm +; +; ============================================================================================ +; +; Copyright (C) 2001,2002 the LGPL VGABios developers Team +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Lesser General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library 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 +; Lesser General Public License for more details. +; +; You should have received a copy of the GNU Lesser General Public +; License along with this library; if not, write to the Free Software +; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; +; ============================================================================================ +; +; This VGA Bios is specific to the plex86/bochs Emulated VGA card. +; You can NOT drive any physical vga card with it. +; +; ============================================================================================ +; + +; +; Source file: vberom.asm +; +; ============================================================================================ +; +; Copyright (C) 2002 Jeroen Janssen +; +; This library is free software; you can redistribute it and/or +; modify it under the terms of the GNU Lesser General Public +; License as published by the Free Software Foundation; either +; version 2 of the License, or (at your option) any later version. +; +; This library 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 +; Lesser General Public License for more details. +; +; You should have received a copy of the GNU Lesser General Public +; License along with this library; if not, write to the Free Software +; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; +; ============================================================================================ +; +; This VBE is part of the VGA Bios specific to the plex86/bochs Emulated VGA card. +; You can NOT drive any physical vga card with it. +; +; ============================================================================================ +; +; This VBE Bios is based on information taken from : +; - VESA BIOS EXTENSION (VBE) Core Functions Standard Version 3.0 located at www.vesa.org +; +; ============================================================================================ + +; +; Source file: vgabios.c +; +; // ============================================================================================ +; +; vgabios.c +; +; // ============================================================================================ +; // +; // Copyright (C) 2001,2002 the LGPL VGABios developers Team +; // +; // This library is free software; you can redistribute it and/or +; // modify it under the terms of the GNU Lesser General Public +; // License as published by the Free Software Foundation; either +; // version 2 of the License, or (at your option) any later version. +; // +; // This library 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 +; // Lesser General Public License for more details. +; // +; // You should have received a copy of the GNU Lesser General Public +; // License along with this library; if not, write to the Free Software +; // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; // +; // ============================================================================================ +; // +; // This VGA Bios is specific to the plex86/bochs Emulated VGA card. +; // You can NOT drive any physical vga card with it. +; // +; // ============================================================================================ +; // +; // This file contains code ripped from : +; // - rombios.c of plex86 +; // +; // This VGA Bios contains fonts from : +; // - fntcol16.zip (c) by Joseph Gil avalable at : +; // ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip +; // These fonts are public domain +; // +; // This VGA Bios is based on information taken from : +; // - Kevin Lawton's vga card emulation for bochs/plex86 +; // - Ralf Brown's interrupts list available at http://www.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html +; // - Finn Thogersons' VGADOC4b available at http://home.worldonline.dk/~finth/ +; // - Michael Abrash's Graphics Programming Black Book +; // - Francois Gervais' book "programmation des cartes graphiques cga-ega-vga" edited by sybex +; // - DOSEMU 1.0.1 source code for several tables values and formulas +; // +; // Thanks for patches, comments and ideas to : +; // - techt@pikeonline.net +; // +; // ============================================================================================ + +; +; Source file: vbe.c +; +; // ============================================================================================ +; // +; // Copyright (C) 2002 Jeroen Janssen +; // +; // This library is free software; you can redistribute it and/or +; // modify it under the terms of the GNU Lesser General Public +; // License as published by the Free Software Foundation; either +; // version 2 of the License, or (at your option) any later version. +; // +; // This library 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 +; // Lesser General Public License for more details. +; // +; // You should have received a copy of the GNU Lesser General Public +; // License along with this library; if not, write to the Free Software +; // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +; // +; // ============================================================================================ +; // +; // This VBE is part of the VGA Bios specific to the plex86/bochs Emulated VGA card. +; // You can NOT drive any physical vga card with it. +; // +; // ============================================================================================ +; // +; // This VBE Bios is based on information taken from : +; // - VESA BIOS EXTENSION (VBE) Core Functions Standard Version 3.0 located at www.vesa.org +; // +; // ============================================================================================ + +; +; Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice +; other than GPL or LGPL is available it will apply instead, Oracle elects to use only +; the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where +; a choice of LGPL license versions is made available with the language indicating +; that LGPLv2 or any later version may be used, or where a choice of which version +; of the LGPL is applied is otherwise unspecified. +; + + + + + +section VGAROM progbits vstart=0x0 align=1 ; size=0x942 class=CODE group=AUTO + ; disGetNextSymbol 0xc0000 LB 0x942 -> off=0x22 cb=000000000000056e uValue=00000000000c0022 'vgabios_int10_handler' + db 055h, 0aah, 040h, 0e9h, 064h, 00ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 049h, 042h + db 04dh, 000h +vgabios_int10_handler: ; 0xc0022 LB 0x56e + pushfw ; 9c ; 0xc0022 vgarom.asm:84 + cmp ah, 00fh ; 80 fc 0f ; 0xc0023 vgarom.asm:96 + jne short 0002eh ; 75 06 ; 0xc0026 vgarom.asm:97 + call 00189h ; e8 5e 01 ; 0xc0028 vgarom.asm:98 + jmp near 000f9h ; e9 cb 00 ; 0xc002b vgarom.asm:99 + cmp ah, 01ah ; 80 fc 1a ; 0xc002e vgarom.asm:101 + jne short 00039h ; 75 06 ; 0xc0031 vgarom.asm:102 + call 0055ch ; e8 26 05 ; 0xc0033 vgarom.asm:103 + jmp near 000f9h ; e9 c0 00 ; 0xc0036 vgarom.asm:104 + cmp ah, 00bh ; 80 fc 0b ; 0xc0039 vgarom.asm:106 + jne short 00044h ; 75 06 ; 0xc003c vgarom.asm:107 + call 000fbh ; e8 ba 00 ; 0xc003e vgarom.asm:108 + jmp near 000f9h ; e9 b5 00 ; 0xc0041 vgarom.asm:109 + cmp ax, 01103h ; 3d 03 11 ; 0xc0044 vgarom.asm:111 + jne short 0004fh ; 75 06 ; 0xc0047 vgarom.asm:112 + call 00450h ; e8 04 04 ; 0xc0049 vgarom.asm:113 + jmp near 000f9h ; e9 aa 00 ; 0xc004c vgarom.asm:114 + cmp ah, 012h ; 80 fc 12 ; 0xc004f vgarom.asm:116 + jne short 00093h ; 75 3f ; 0xc0052 vgarom.asm:117 + cmp bl, 010h ; 80 fb 10 ; 0xc0054 vgarom.asm:118 + jne short 0005fh ; 75 06 ; 0xc0057 vgarom.asm:119 + call 0045dh ; e8 01 04 ; 0xc0059 vgarom.asm:120 + jmp near 000f9h ; e9 9a 00 ; 0xc005c vgarom.asm:121 + cmp bl, 030h ; 80 fb 30 ; 0xc005f vgarom.asm:123 + jne short 0006ah ; 75 06 ; 0xc0062 vgarom.asm:124 + call 00480h ; e8 19 04 ; 0xc0064 vgarom.asm:125 + jmp near 000f9h ; e9 8f 00 ; 0xc0067 vgarom.asm:126 + cmp bl, 031h ; 80 fb 31 ; 0xc006a vgarom.asm:128 + jne short 00075h ; 75 06 ; 0xc006d vgarom.asm:129 + call 004d3h ; e8 61 04 ; 0xc006f vgarom.asm:130 + jmp near 000f9h ; e9 84 00 ; 0xc0072 vgarom.asm:131 + cmp bl, 032h ; 80 fb 32 ; 0xc0075 vgarom.asm:133 + jne short 0007fh ; 75 05 ; 0xc0078 vgarom.asm:134 + call 004f8h ; e8 7b 04 ; 0xc007a vgarom.asm:135 + jmp short 000f9h ; eb 7a ; 0xc007d vgarom.asm:136 + cmp bl, 033h ; 80 fb 33 ; 0xc007f vgarom.asm:138 + jne short 00089h ; 75 05 ; 0xc0082 vgarom.asm:139 + call 00516h ; e8 8f 04 ; 0xc0084 vgarom.asm:140 + jmp short 000f9h ; eb 70 ; 0xc0087 vgarom.asm:141 + cmp bl, 034h ; 80 fb 34 ; 0xc0089 vgarom.asm:143 + jne short 000ddh ; 75 4f ; 0xc008c vgarom.asm:144 + call 0053ah ; e8 a9 04 ; 0xc008e vgarom.asm:145 + jmp short 000f9h ; eb 66 ; 0xc0091 vgarom.asm:146 + cmp ax, 0101bh ; 3d 1b 10 ; 0xc0093 vgarom.asm:148 + je short 000ddh ; 74 45 ; 0xc0096 vgarom.asm:149 + cmp ah, 010h ; 80 fc 10 ; 0xc0098 vgarom.asm:150 + jne short 000a2h ; 75 05 ; 0xc009b vgarom.asm:154 + call 001b0h ; e8 10 01 ; 0xc009d vgarom.asm:156 + jmp short 000f9h ; eb 57 ; 0xc00a0 vgarom.asm:157 + cmp ah, 04fh ; 80 fc 4f ; 0xc00a2 vgarom.asm:160 + jne short 000ddh ; 75 36 ; 0xc00a5 vgarom.asm:161 + cmp AL, strict byte 003h ; 3c 03 ; 0xc00a7 vgarom.asm:162 + jne short 000b0h ; 75 05 ; 0xc00a9 vgarom.asm:163 + call 007fbh ; e8 4d 07 ; 0xc00ab vgarom.asm:164 + jmp short 000f9h ; eb 49 ; 0xc00ae vgarom.asm:165 + cmp AL, strict byte 005h ; 3c 05 ; 0xc00b0 vgarom.asm:167 + jne short 000b9h ; 75 05 ; 0xc00b2 vgarom.asm:168 + call 00820h ; e8 69 07 ; 0xc00b4 vgarom.asm:169 + jmp short 000f9h ; eb 40 ; 0xc00b7 vgarom.asm:170 + cmp AL, strict byte 007h ; 3c 07 ; 0xc00b9 vgarom.asm:172 + jne short 000c2h ; 75 05 ; 0xc00bb vgarom.asm:173 + call 0084dh ; e8 8d 07 ; 0xc00bd vgarom.asm:174 + jmp short 000f9h ; eb 37 ; 0xc00c0 vgarom.asm:175 + cmp AL, strict byte 008h ; 3c 08 ; 0xc00c2 vgarom.asm:177 + jne short 000cbh ; 75 05 ; 0xc00c4 vgarom.asm:178 + call 00881h ; e8 b8 07 ; 0xc00c6 vgarom.asm:179 + jmp short 000f9h ; eb 2e ; 0xc00c9 vgarom.asm:180 + cmp AL, strict byte 009h ; 3c 09 ; 0xc00cb vgarom.asm:182 + jne short 000d4h ; 75 05 ; 0xc00cd vgarom.asm:183 + call 008b8h ; e8 e6 07 ; 0xc00cf vgarom.asm:184 + jmp short 000f9h ; eb 25 ; 0xc00d2 vgarom.asm:185 + cmp AL, strict byte 00ah ; 3c 0a ; 0xc00d4 vgarom.asm:187 + jne short 000ddh ; 75 05 ; 0xc00d6 vgarom.asm:188 + call 0092bh ; e8 50 08 ; 0xc00d8 vgarom.asm:189 + jmp short 000f9h ; eb 1c ; 0xc00db vgarom.asm:190 + push ES ; 06 ; 0xc00dd vgarom.asm:194 + push DS ; 1e ; 0xc00de vgarom.asm:195 + push ax ; 50 ; 0xc00df vgarom.asm:99 + push cx ; 51 ; 0xc00e0 vgarom.asm:100 + push dx ; 52 ; 0xc00e1 vgarom.asm:101 + push bx ; 53 ; 0xc00e2 vgarom.asm:102 + push sp ; 54 ; 0xc00e3 vgarom.asm:103 + push bp ; 55 ; 0xc00e4 vgarom.asm:104 + push si ; 56 ; 0xc00e5 vgarom.asm:105 + push di ; 57 ; 0xc00e6 vgarom.asm:106 + mov bx, 0c000h ; bb 00 c0 ; 0xc00e7 vgarom.asm:199 + mov ds, bx ; 8e db ; 0xc00ea vgarom.asm:200 + call 032a1h ; e8 b2 31 ; 0xc00ec vgarom.asm:201 + pop di ; 5f ; 0xc00ef vgarom.asm:116 + pop si ; 5e ; 0xc00f0 vgarom.asm:117 + pop bp ; 5d ; 0xc00f1 vgarom.asm:118 + pop bx ; 5b ; 0xc00f2 vgarom.asm:119 + pop bx ; 5b ; 0xc00f3 vgarom.asm:120 + pop dx ; 5a ; 0xc00f4 vgarom.asm:121 + pop cx ; 59 ; 0xc00f5 vgarom.asm:122 + pop ax ; 58 ; 0xc00f6 vgarom.asm:123 + pop DS ; 1f ; 0xc00f7 vgarom.asm:204 + pop ES ; 07 ; 0xc00f8 vgarom.asm:205 + popfw ; 9d ; 0xc00f9 vgarom.asm:207 + iret ; cf ; 0xc00fa vgarom.asm:208 + cmp bh, 000h ; 80 ff 00 ; 0xc00fb vgarom.asm:213 + je short 00106h ; 74 06 ; 0xc00fe vgarom.asm:214 + cmp bh, 001h ; 80 ff 01 ; 0xc0100 vgarom.asm:215 + je short 00157h ; 74 52 ; 0xc0103 vgarom.asm:216 + retn ; c3 ; 0xc0105 vgarom.asm:220 + push ax ; 50 ; 0xc0106 vgarom.asm:222 + push bx ; 53 ; 0xc0107 vgarom.asm:223 + push cx ; 51 ; 0xc0108 vgarom.asm:224 + push dx ; 52 ; 0xc0109 vgarom.asm:225 + push DS ; 1e ; 0xc010a vgarom.asm:226 + mov dx, strict word 00040h ; ba 40 00 ; 0xc010b vgarom.asm:227 + mov ds, dx ; 8e da ; 0xc010e vgarom.asm:228 + mov dx, 003dah ; ba da 03 ; 0xc0110 vgarom.asm:229 + in AL, DX ; ec ; 0xc0113 vgarom.asm:230 + cmp byte [word 00049h], 003h ; 80 3e 49 00 03 ; 0xc0114 vgarom.asm:231 + jbe short 0014ah ; 76 2f ; 0xc0119 vgarom.asm:232 + mov dx, 003c0h ; ba c0 03 ; 0xc011b vgarom.asm:233 + mov AL, strict byte 000h ; b0 00 ; 0xc011e vgarom.asm:234 + out DX, AL ; ee ; 0xc0120 vgarom.asm:235 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0121 vgarom.asm:236 + and AL, strict byte 00fh ; 24 0f ; 0xc0123 vgarom.asm:237 + test AL, strict byte 008h ; a8 08 ; 0xc0125 vgarom.asm:238 + je short 0012bh ; 74 02 ; 0xc0127 vgarom.asm:239 + add AL, strict byte 008h ; 04 08 ; 0xc0129 vgarom.asm:240 + out DX, AL ; ee ; 0xc012b vgarom.asm:242 + mov CL, strict byte 001h ; b1 01 ; 0xc012c vgarom.asm:243 + and bl, 010h ; 80 e3 10 ; 0xc012e vgarom.asm:244 + mov dx, 003c0h ; ba c0 03 ; 0xc0131 vgarom.asm:246 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc0134 vgarom.asm:247 + out DX, AL ; ee ; 0xc0136 vgarom.asm:248 + mov dx, 003c1h ; ba c1 03 ; 0xc0137 vgarom.asm:249 + in AL, DX ; ec ; 0xc013a vgarom.asm:250 + and AL, strict byte 0efh ; 24 ef ; 0xc013b vgarom.asm:251 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc013d vgarom.asm:252 + mov dx, 003c0h ; ba c0 03 ; 0xc013f vgarom.asm:253 + out DX, AL ; ee ; 0xc0142 vgarom.asm:254 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc0143 vgarom.asm:255 + cmp cl, 004h ; 80 f9 04 ; 0xc0145 vgarom.asm:256 + jne short 00131h ; 75 e7 ; 0xc0148 vgarom.asm:257 + mov AL, strict byte 020h ; b0 20 ; 0xc014a vgarom.asm:259 + out DX, AL ; ee ; 0xc014c vgarom.asm:260 + mov dx, 003dah ; ba da 03 ; 0xc014d vgarom.asm:262 + in AL, DX ; ec ; 0xc0150 vgarom.asm:263 + pop DS ; 1f ; 0xc0151 vgarom.asm:265 + pop dx ; 5a ; 0xc0152 vgarom.asm:266 + pop cx ; 59 ; 0xc0153 vgarom.asm:267 + pop bx ; 5b ; 0xc0154 vgarom.asm:268 + pop ax ; 58 ; 0xc0155 vgarom.asm:269 + retn ; c3 ; 0xc0156 vgarom.asm:270 + push ax ; 50 ; 0xc0157 vgarom.asm:272 + push bx ; 53 ; 0xc0158 vgarom.asm:273 + push cx ; 51 ; 0xc0159 vgarom.asm:274 + push dx ; 52 ; 0xc015a vgarom.asm:275 + mov dx, 003dah ; ba da 03 ; 0xc015b vgarom.asm:276 + in AL, DX ; ec ; 0xc015e vgarom.asm:277 + mov CL, strict byte 001h ; b1 01 ; 0xc015f vgarom.asm:278 + and bl, 001h ; 80 e3 01 ; 0xc0161 vgarom.asm:279 + mov dx, 003c0h ; ba c0 03 ; 0xc0164 vgarom.asm:281 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc0167 vgarom.asm:282 + out DX, AL ; ee ; 0xc0169 vgarom.asm:283 + mov dx, 003c1h ; ba c1 03 ; 0xc016a vgarom.asm:284 + in AL, DX ; ec ; 0xc016d vgarom.asm:285 + and AL, strict byte 0feh ; 24 fe ; 0xc016e vgarom.asm:286 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc0170 vgarom.asm:287 + mov dx, 003c0h ; ba c0 03 ; 0xc0172 vgarom.asm:288 + out DX, AL ; ee ; 0xc0175 vgarom.asm:289 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc0176 vgarom.asm:290 + cmp cl, 004h ; 80 f9 04 ; 0xc0178 vgarom.asm:291 + jne short 00164h ; 75 e7 ; 0xc017b vgarom.asm:292 + mov AL, strict byte 020h ; b0 20 ; 0xc017d vgarom.asm:293 + out DX, AL ; ee ; 0xc017f vgarom.asm:294 + mov dx, 003dah ; ba da 03 ; 0xc0180 vgarom.asm:296 + in AL, DX ; ec ; 0xc0183 vgarom.asm:297 + pop dx ; 5a ; 0xc0184 vgarom.asm:299 + pop cx ; 59 ; 0xc0185 vgarom.asm:300 + pop bx ; 5b ; 0xc0186 vgarom.asm:301 + pop ax ; 58 ; 0xc0187 vgarom.asm:302 + retn ; c3 ; 0xc0188 vgarom.asm:303 + push DS ; 1e ; 0xc0189 vgarom.asm:308 + mov ax, strict word 00040h ; b8 40 00 ; 0xc018a vgarom.asm:309 + mov ds, ax ; 8e d8 ; 0xc018d vgarom.asm:310 + push bx ; 53 ; 0xc018f vgarom.asm:311 + mov bx, strict word 00062h ; bb 62 00 ; 0xc0190 vgarom.asm:312 + mov al, byte [bx] ; 8a 07 ; 0xc0193 vgarom.asm:313 + pop bx ; 5b ; 0xc0195 vgarom.asm:314 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc0196 vgarom.asm:315 + push bx ; 53 ; 0xc0198 vgarom.asm:316 + mov bx, 00087h ; bb 87 00 ; 0xc0199 vgarom.asm:317 + mov ah, byte [bx] ; 8a 27 ; 0xc019c vgarom.asm:318 + and ah, 080h ; 80 e4 80 ; 0xc019e vgarom.asm:319 + mov bx, strict word 00049h ; bb 49 00 ; 0xc01a1 vgarom.asm:320 + mov al, byte [bx] ; 8a 07 ; 0xc01a4 vgarom.asm:321 + db 00ah, 0c4h + ; or al, ah ; 0a c4 ; 0xc01a6 vgarom.asm:322 + mov bx, strict word 0004ah ; bb 4a 00 ; 0xc01a8 vgarom.asm:323 + mov ah, byte [bx] ; 8a 27 ; 0xc01ab vgarom.asm:324 + pop bx ; 5b ; 0xc01ad vgarom.asm:325 + pop DS ; 1f ; 0xc01ae vgarom.asm:326 + retn ; c3 ; 0xc01af vgarom.asm:327 + cmp AL, strict byte 000h ; 3c 00 ; 0xc01b0 vgarom.asm:332 + jne short 001b6h ; 75 02 ; 0xc01b2 vgarom.asm:333 + jmp short 00217h ; eb 61 ; 0xc01b4 vgarom.asm:334 + cmp AL, strict byte 001h ; 3c 01 ; 0xc01b6 vgarom.asm:336 + jne short 001bch ; 75 02 ; 0xc01b8 vgarom.asm:337 + jmp short 00235h ; eb 79 ; 0xc01ba vgarom.asm:338 + cmp AL, strict byte 002h ; 3c 02 ; 0xc01bc vgarom.asm:340 + jne short 001c2h ; 75 02 ; 0xc01be vgarom.asm:341 + jmp short 0023dh ; eb 7b ; 0xc01c0 vgarom.asm:342 + cmp AL, strict byte 003h ; 3c 03 ; 0xc01c2 vgarom.asm:344 + jne short 001c9h ; 75 03 ; 0xc01c4 vgarom.asm:345 + jmp near 0026eh ; e9 a5 00 ; 0xc01c6 vgarom.asm:346 + cmp AL, strict byte 007h ; 3c 07 ; 0xc01c9 vgarom.asm:348 + jne short 001d0h ; 75 03 ; 0xc01cb vgarom.asm:349 + jmp near 0029bh ; e9 cb 00 ; 0xc01cd vgarom.asm:350 + cmp AL, strict byte 008h ; 3c 08 ; 0xc01d0 vgarom.asm:352 + jne short 001d7h ; 75 03 ; 0xc01d2 vgarom.asm:353 + jmp near 002c3h ; e9 ec 00 ; 0xc01d4 vgarom.asm:354 + cmp AL, strict byte 009h ; 3c 09 ; 0xc01d7 vgarom.asm:356 + jne short 001deh ; 75 03 ; 0xc01d9 vgarom.asm:357 + jmp near 002d1h ; e9 f3 00 ; 0xc01db vgarom.asm:358 + cmp AL, strict byte 010h ; 3c 10 ; 0xc01de vgarom.asm:360 + jne short 001e5h ; 75 03 ; 0xc01e0 vgarom.asm:361 + jmp near 00316h ; e9 31 01 ; 0xc01e2 vgarom.asm:362 + cmp AL, strict byte 012h ; 3c 12 ; 0xc01e5 vgarom.asm:364 + jne short 001ech ; 75 03 ; 0xc01e7 vgarom.asm:365 + jmp near 0032fh ; e9 43 01 ; 0xc01e9 vgarom.asm:366 + cmp AL, strict byte 013h ; 3c 13 ; 0xc01ec vgarom.asm:368 + jne short 001f3h ; 75 03 ; 0xc01ee vgarom.asm:369 + jmp near 00357h ; e9 64 01 ; 0xc01f0 vgarom.asm:370 + cmp AL, strict byte 015h ; 3c 15 ; 0xc01f3 vgarom.asm:372 + jne short 001fah ; 75 03 ; 0xc01f5 vgarom.asm:373 + jmp near 003aah ; e9 b0 01 ; 0xc01f7 vgarom.asm:374 + cmp AL, strict byte 017h ; 3c 17 ; 0xc01fa vgarom.asm:376 + jne short 00201h ; 75 03 ; 0xc01fc vgarom.asm:377 + jmp near 003c5h ; e9 c4 01 ; 0xc01fe vgarom.asm:378 + cmp AL, strict byte 018h ; 3c 18 ; 0xc0201 vgarom.asm:380 + jne short 00208h ; 75 03 ; 0xc0203 vgarom.asm:381 + jmp near 003edh ; e9 e5 01 ; 0xc0205 vgarom.asm:382 + cmp AL, strict byte 019h ; 3c 19 ; 0xc0208 vgarom.asm:384 + jne short 0020fh ; 75 03 ; 0xc020a vgarom.asm:385 + jmp near 003f8h ; e9 e9 01 ; 0xc020c vgarom.asm:386 + cmp AL, strict byte 01ah ; 3c 1a ; 0xc020f vgarom.asm:388 + jne short 00216h ; 75 03 ; 0xc0211 vgarom.asm:389 + jmp near 00403h ; e9 ed 01 ; 0xc0213 vgarom.asm:390 + retn ; c3 ; 0xc0216 vgarom.asm:395 + cmp bl, 014h ; 80 fb 14 ; 0xc0217 vgarom.asm:398 + jnbe short 00234h ; 77 18 ; 0xc021a vgarom.asm:399 + push ax ; 50 ; 0xc021c vgarom.asm:400 + push dx ; 52 ; 0xc021d vgarom.asm:401 + mov dx, 003dah ; ba da 03 ; 0xc021e vgarom.asm:402 + in AL, DX ; ec ; 0xc0221 vgarom.asm:403 + mov dx, 003c0h ; ba c0 03 ; 0xc0222 vgarom.asm:404 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0225 vgarom.asm:405 + out DX, AL ; ee ; 0xc0227 vgarom.asm:406 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc0228 vgarom.asm:407 + out DX, AL ; ee ; 0xc022a vgarom.asm:408 + mov AL, strict byte 020h ; b0 20 ; 0xc022b vgarom.asm:409 + out DX, AL ; ee ; 0xc022d vgarom.asm:410 + mov dx, 003dah ; ba da 03 ; 0xc022e vgarom.asm:412 + in AL, DX ; ec ; 0xc0231 vgarom.asm:413 + pop dx ; 5a ; 0xc0232 vgarom.asm:415 + pop ax ; 58 ; 0xc0233 vgarom.asm:416 + retn ; c3 ; 0xc0234 vgarom.asm:418 + push bx ; 53 ; 0xc0235 vgarom.asm:423 + mov BL, strict byte 011h ; b3 11 ; 0xc0236 vgarom.asm:424 + call 00217h ; e8 dc ff ; 0xc0238 vgarom.asm:425 + pop bx ; 5b ; 0xc023b vgarom.asm:426 + retn ; c3 ; 0xc023c vgarom.asm:427 + push ax ; 50 ; 0xc023d vgarom.asm:432 + push bx ; 53 ; 0xc023e vgarom.asm:433 + push cx ; 51 ; 0xc023f vgarom.asm:434 + push dx ; 52 ; 0xc0240 vgarom.asm:435 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc0241 vgarom.asm:436 + mov dx, 003dah ; ba da 03 ; 0xc0243 vgarom.asm:437 + in AL, DX ; ec ; 0xc0246 vgarom.asm:438 + mov CL, strict byte 000h ; b1 00 ; 0xc0247 vgarom.asm:439 + mov dx, 003c0h ; ba c0 03 ; 0xc0249 vgarom.asm:440 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc024c vgarom.asm:442 + out DX, AL ; ee ; 0xc024e vgarom.asm:443 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc024f vgarom.asm:444 + out DX, AL ; ee ; 0xc0252 vgarom.asm:445 + inc bx ; 43 ; 0xc0253 vgarom.asm:446 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc0254 vgarom.asm:447 + cmp cl, 010h ; 80 f9 10 ; 0xc0256 vgarom.asm:448 + jne short 0024ch ; 75 f1 ; 0xc0259 vgarom.asm:449 + mov AL, strict byte 011h ; b0 11 ; 0xc025b vgarom.asm:450 + out DX, AL ; ee ; 0xc025d vgarom.asm:451 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc025e vgarom.asm:452 + out DX, AL ; ee ; 0xc0261 vgarom.asm:453 + mov AL, strict byte 020h ; b0 20 ; 0xc0262 vgarom.asm:454 + out DX, AL ; ee ; 0xc0264 vgarom.asm:455 + mov dx, 003dah ; ba da 03 ; 0xc0265 vgarom.asm:457 + in AL, DX ; ec ; 0xc0268 vgarom.asm:458 + pop dx ; 5a ; 0xc0269 vgarom.asm:460 + pop cx ; 59 ; 0xc026a vgarom.asm:461 + pop bx ; 5b ; 0xc026b vgarom.asm:462 + pop ax ; 58 ; 0xc026c vgarom.asm:463 + retn ; c3 ; 0xc026d vgarom.asm:464 + push ax ; 50 ; 0xc026e vgarom.asm:469 + push bx ; 53 ; 0xc026f vgarom.asm:470 + push dx ; 52 ; 0xc0270 vgarom.asm:471 + mov dx, 003dah ; ba da 03 ; 0xc0271 vgarom.asm:472 + in AL, DX ; ec ; 0xc0274 vgarom.asm:473 + mov dx, 003c0h ; ba c0 03 ; 0xc0275 vgarom.asm:474 + mov AL, strict byte 010h ; b0 10 ; 0xc0278 vgarom.asm:475 + out DX, AL ; ee ; 0xc027a vgarom.asm:476 + mov dx, 003c1h ; ba c1 03 ; 0xc027b vgarom.asm:477 + in AL, DX ; ec ; 0xc027e vgarom.asm:478 + and AL, strict byte 0f7h ; 24 f7 ; 0xc027f vgarom.asm:479 + and bl, 001h ; 80 e3 01 ; 0xc0281 vgarom.asm:480 + sal bl, 1 ; d0 e3 ; 0xc0284 vgarom.asm:484 + sal bl, 1 ; d0 e3 ; 0xc0286 vgarom.asm:485 + sal bl, 1 ; d0 e3 ; 0xc0288 vgarom.asm:486 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc028a vgarom.asm:488 + mov dx, 003c0h ; ba c0 03 ; 0xc028c vgarom.asm:489 + out DX, AL ; ee ; 0xc028f vgarom.asm:490 + mov AL, strict byte 020h ; b0 20 ; 0xc0290 vgarom.asm:491 + out DX, AL ; ee ; 0xc0292 vgarom.asm:492 + mov dx, 003dah ; ba da 03 ; 0xc0293 vgarom.asm:494 + in AL, DX ; ec ; 0xc0296 vgarom.asm:495 + pop dx ; 5a ; 0xc0297 vgarom.asm:497 + pop bx ; 5b ; 0xc0298 vgarom.asm:498 + pop ax ; 58 ; 0xc0299 vgarom.asm:499 + retn ; c3 ; 0xc029a vgarom.asm:500 + cmp bl, 014h ; 80 fb 14 ; 0xc029b vgarom.asm:505 + jnbe short 002c2h ; 77 22 ; 0xc029e vgarom.asm:506 + push ax ; 50 ; 0xc02a0 vgarom.asm:507 + push dx ; 52 ; 0xc02a1 vgarom.asm:508 + mov dx, 003dah ; ba da 03 ; 0xc02a2 vgarom.asm:509 + in AL, DX ; ec ; 0xc02a5 vgarom.asm:510 + mov dx, 003c0h ; ba c0 03 ; 0xc02a6 vgarom.asm:511 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc02a9 vgarom.asm:512 + out DX, AL ; ee ; 0xc02ab vgarom.asm:513 + mov dx, 003c1h ; ba c1 03 ; 0xc02ac vgarom.asm:514 + in AL, DX ; ec ; 0xc02af vgarom.asm:515 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc02b0 vgarom.asm:516 + mov dx, 003dah ; ba da 03 ; 0xc02b2 vgarom.asm:517 + in AL, DX ; ec ; 0xc02b5 vgarom.asm:518 + mov dx, 003c0h ; ba c0 03 ; 0xc02b6 vgarom.asm:519 + mov AL, strict byte 020h ; b0 20 ; 0xc02b9 vgarom.asm:520 + out DX, AL ; ee ; 0xc02bb vgarom.asm:521 + mov dx, 003dah ; ba da 03 ; 0xc02bc vgarom.asm:523 + in AL, DX ; ec ; 0xc02bf vgarom.asm:524 + pop dx ; 5a ; 0xc02c0 vgarom.asm:526 + pop ax ; 58 ; 0xc02c1 vgarom.asm:527 + retn ; c3 ; 0xc02c2 vgarom.asm:529 + push ax ; 50 ; 0xc02c3 vgarom.asm:534 + push bx ; 53 ; 0xc02c4 vgarom.asm:535 + mov BL, strict byte 011h ; b3 11 ; 0xc02c5 vgarom.asm:536 + call 0029bh ; e8 d1 ff ; 0xc02c7 vgarom.asm:537 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc02ca vgarom.asm:538 + pop bx ; 5b ; 0xc02cc vgarom.asm:539 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc02cd vgarom.asm:540 + pop ax ; 58 ; 0xc02cf vgarom.asm:541 + retn ; c3 ; 0xc02d0 vgarom.asm:542 + push ax ; 50 ; 0xc02d1 vgarom.asm:547 + push bx ; 53 ; 0xc02d2 vgarom.asm:548 + push cx ; 51 ; 0xc02d3 vgarom.asm:549 + push dx ; 52 ; 0xc02d4 vgarom.asm:550 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc02d5 vgarom.asm:551 + mov CL, strict byte 000h ; b1 00 ; 0xc02d7 vgarom.asm:552 + mov dx, 003dah ; ba da 03 ; 0xc02d9 vgarom.asm:554 + in AL, DX ; ec ; 0xc02dc vgarom.asm:555 + mov dx, 003c0h ; ba c0 03 ; 0xc02dd vgarom.asm:556 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc02e0 vgarom.asm:557 + out DX, AL ; ee ; 0xc02e2 vgarom.asm:558 + mov dx, 003c1h ; ba c1 03 ; 0xc02e3 vgarom.asm:559 + in AL, DX ; ec ; 0xc02e6 vgarom.asm:560 + mov byte [es:bx], al ; 26 88 07 ; 0xc02e7 vgarom.asm:561 + inc bx ; 43 ; 0xc02ea vgarom.asm:562 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc02eb vgarom.asm:563 + cmp cl, 010h ; 80 f9 10 ; 0xc02ed vgarom.asm:564 + jne short 002d9h ; 75 e7 ; 0xc02f0 vgarom.asm:565 + mov dx, 003dah ; ba da 03 ; 0xc02f2 vgarom.asm:566 + in AL, DX ; ec ; 0xc02f5 vgarom.asm:567 + mov dx, 003c0h ; ba c0 03 ; 0xc02f6 vgarom.asm:568 + mov AL, strict byte 011h ; b0 11 ; 0xc02f9 vgarom.asm:569 + out DX, AL ; ee ; 0xc02fb vgarom.asm:570 + mov dx, 003c1h ; ba c1 03 ; 0xc02fc vgarom.asm:571 + in AL, DX ; ec ; 0xc02ff vgarom.asm:572 + mov byte [es:bx], al ; 26 88 07 ; 0xc0300 vgarom.asm:573 + mov dx, 003dah ; ba da 03 ; 0xc0303 vgarom.asm:574 + in AL, DX ; ec ; 0xc0306 vgarom.asm:575 + mov dx, 003c0h ; ba c0 03 ; 0xc0307 vgarom.asm:576 + mov AL, strict byte 020h ; b0 20 ; 0xc030a vgarom.asm:577 + out DX, AL ; ee ; 0xc030c vgarom.asm:578 + mov dx, 003dah ; ba da 03 ; 0xc030d vgarom.asm:580 + in AL, DX ; ec ; 0xc0310 vgarom.asm:581 + pop dx ; 5a ; 0xc0311 vgarom.asm:583 + pop cx ; 59 ; 0xc0312 vgarom.asm:584 + pop bx ; 5b ; 0xc0313 vgarom.asm:585 + pop ax ; 58 ; 0xc0314 vgarom.asm:586 + retn ; c3 ; 0xc0315 vgarom.asm:587 + push ax ; 50 ; 0xc0316 vgarom.asm:592 + push dx ; 52 ; 0xc0317 vgarom.asm:593 + mov dx, 003c8h ; ba c8 03 ; 0xc0318 vgarom.asm:594 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc031b vgarom.asm:595 + out DX, AL ; ee ; 0xc031d vgarom.asm:596 + mov dx, 003c9h ; ba c9 03 ; 0xc031e vgarom.asm:597 + pop ax ; 58 ; 0xc0321 vgarom.asm:598 + push ax ; 50 ; 0xc0322 vgarom.asm:599 + db 08ah, 0c4h + ; mov al, ah ; 8a c4 ; 0xc0323 vgarom.asm:600 + out DX, AL ; ee ; 0xc0325 vgarom.asm:601 + db 08ah, 0c5h + ; mov al, ch ; 8a c5 ; 0xc0326 vgarom.asm:602 + out DX, AL ; ee ; 0xc0328 vgarom.asm:603 + db 08ah, 0c1h + ; mov al, cl ; 8a c1 ; 0xc0329 vgarom.asm:604 + out DX, AL ; ee ; 0xc032b vgarom.asm:605 + pop dx ; 5a ; 0xc032c vgarom.asm:606 + pop ax ; 58 ; 0xc032d vgarom.asm:607 + retn ; c3 ; 0xc032e vgarom.asm:608 + push ax ; 50 ; 0xc032f vgarom.asm:613 + push bx ; 53 ; 0xc0330 vgarom.asm:614 + push cx ; 51 ; 0xc0331 vgarom.asm:615 + push dx ; 52 ; 0xc0332 vgarom.asm:616 + mov dx, 003c8h ; ba c8 03 ; 0xc0333 vgarom.asm:617 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc0336 vgarom.asm:618 + out DX, AL ; ee ; 0xc0338 vgarom.asm:619 + pop dx ; 5a ; 0xc0339 vgarom.asm:620 + push dx ; 52 ; 0xc033a vgarom.asm:621 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc033b vgarom.asm:622 + mov dx, 003c9h ; ba c9 03 ; 0xc033d vgarom.asm:623 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc0340 vgarom.asm:625 + out DX, AL ; ee ; 0xc0343 vgarom.asm:626 + inc bx ; 43 ; 0xc0344 vgarom.asm:627 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc0345 vgarom.asm:628 + out DX, AL ; ee ; 0xc0348 vgarom.asm:629 + inc bx ; 43 ; 0xc0349 vgarom.asm:630 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc034a vgarom.asm:631 + out DX, AL ; ee ; 0xc034d vgarom.asm:632 + inc bx ; 43 ; 0xc034e vgarom.asm:633 + dec cx ; 49 ; 0xc034f vgarom.asm:634 + jne short 00340h ; 75 ee ; 0xc0350 vgarom.asm:635 + pop dx ; 5a ; 0xc0352 vgarom.asm:636 + pop cx ; 59 ; 0xc0353 vgarom.asm:637 + pop bx ; 5b ; 0xc0354 vgarom.asm:638 + pop ax ; 58 ; 0xc0355 vgarom.asm:639 + retn ; c3 ; 0xc0356 vgarom.asm:640 + push ax ; 50 ; 0xc0357 vgarom.asm:645 + push bx ; 53 ; 0xc0358 vgarom.asm:646 + push dx ; 52 ; 0xc0359 vgarom.asm:647 + mov dx, 003dah ; ba da 03 ; 0xc035a vgarom.asm:648 + in AL, DX ; ec ; 0xc035d vgarom.asm:649 + mov dx, 003c0h ; ba c0 03 ; 0xc035e vgarom.asm:650 + mov AL, strict byte 010h ; b0 10 ; 0xc0361 vgarom.asm:651 + out DX, AL ; ee ; 0xc0363 vgarom.asm:652 + mov dx, 003c1h ; ba c1 03 ; 0xc0364 vgarom.asm:653 + in AL, DX ; ec ; 0xc0367 vgarom.asm:654 + and bl, 001h ; 80 e3 01 ; 0xc0368 vgarom.asm:655 + jne short 00385h ; 75 18 ; 0xc036b vgarom.asm:656 + and AL, strict byte 07fh ; 24 7f ; 0xc036d vgarom.asm:657 + sal bh, 1 ; d0 e7 ; 0xc036f vgarom.asm:661 + sal bh, 1 ; d0 e7 ; 0xc0371 vgarom.asm:662 + sal bh, 1 ; d0 e7 ; 0xc0373 vgarom.asm:663 + sal bh, 1 ; d0 e7 ; 0xc0375 vgarom.asm:664 + sal bh, 1 ; d0 e7 ; 0xc0377 vgarom.asm:665 + sal bh, 1 ; d0 e7 ; 0xc0379 vgarom.asm:666 + sal bh, 1 ; d0 e7 ; 0xc037b vgarom.asm:667 + db 00ah, 0c7h + ; or al, bh ; 0a c7 ; 0xc037d vgarom.asm:669 + mov dx, 003c0h ; ba c0 03 ; 0xc037f vgarom.asm:670 + out DX, AL ; ee ; 0xc0382 vgarom.asm:671 + jmp short 0039fh ; eb 1a ; 0xc0383 vgarom.asm:672 + push ax ; 50 ; 0xc0385 vgarom.asm:674 + mov dx, 003dah ; ba da 03 ; 0xc0386 vgarom.asm:675 + in AL, DX ; ec ; 0xc0389 vgarom.asm:676 + mov dx, 003c0h ; ba c0 03 ; 0xc038a vgarom.asm:677 + mov AL, strict byte 014h ; b0 14 ; 0xc038d vgarom.asm:678 + out DX, AL ; ee ; 0xc038f vgarom.asm:679 + pop ax ; 58 ; 0xc0390 vgarom.asm:680 + and AL, strict byte 080h ; 24 80 ; 0xc0391 vgarom.asm:681 + jne short 00399h ; 75 04 ; 0xc0393 vgarom.asm:682 + sal bh, 1 ; d0 e7 ; 0xc0395 vgarom.asm:686 + sal bh, 1 ; d0 e7 ; 0xc0397 vgarom.asm:687 + and bh, 00fh ; 80 e7 0f ; 0xc0399 vgarom.asm:690 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc039c vgarom.asm:691 + out DX, AL ; ee ; 0xc039e vgarom.asm:692 + mov AL, strict byte 020h ; b0 20 ; 0xc039f vgarom.asm:694 + out DX, AL ; ee ; 0xc03a1 vgarom.asm:695 + mov dx, 003dah ; ba da 03 ; 0xc03a2 vgarom.asm:697 + in AL, DX ; ec ; 0xc03a5 vgarom.asm:698 + pop dx ; 5a ; 0xc03a6 vgarom.asm:700 + pop bx ; 5b ; 0xc03a7 vgarom.asm:701 + pop ax ; 58 ; 0xc03a8 vgarom.asm:702 + retn ; c3 ; 0xc03a9 vgarom.asm:703 + push ax ; 50 ; 0xc03aa vgarom.asm:708 + push dx ; 52 ; 0xc03ab vgarom.asm:709 + mov dx, 003c7h ; ba c7 03 ; 0xc03ac vgarom.asm:710 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc03af vgarom.asm:711 + out DX, AL ; ee ; 0xc03b1 vgarom.asm:712 + pop ax ; 58 ; 0xc03b2 vgarom.asm:713 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc03b3 vgarom.asm:714 + mov dx, 003c9h ; ba c9 03 ; 0xc03b5 vgarom.asm:715 + in AL, DX ; ec ; 0xc03b8 vgarom.asm:716 + xchg al, ah ; 86 e0 ; 0xc03b9 vgarom.asm:717 + push ax ; 50 ; 0xc03bb vgarom.asm:718 + in AL, DX ; ec ; 0xc03bc vgarom.asm:719 + db 08ah, 0e8h + ; mov ch, al ; 8a e8 ; 0xc03bd vgarom.asm:720 + in AL, DX ; ec ; 0xc03bf vgarom.asm:721 + db 08ah, 0c8h + ; mov cl, al ; 8a c8 ; 0xc03c0 vgarom.asm:722 + pop dx ; 5a ; 0xc03c2 vgarom.asm:723 + pop ax ; 58 ; 0xc03c3 vgarom.asm:724 + retn ; c3 ; 0xc03c4 vgarom.asm:725 + push ax ; 50 ; 0xc03c5 vgarom.asm:730 + push bx ; 53 ; 0xc03c6 vgarom.asm:731 + push cx ; 51 ; 0xc03c7 vgarom.asm:732 + push dx ; 52 ; 0xc03c8 vgarom.asm:733 + mov dx, 003c7h ; ba c7 03 ; 0xc03c9 vgarom.asm:734 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc03cc vgarom.asm:735 + out DX, AL ; ee ; 0xc03ce vgarom.asm:736 + pop dx ; 5a ; 0xc03cf vgarom.asm:737 + push dx ; 52 ; 0xc03d0 vgarom.asm:738 + db 08bh, 0dah + ; mov bx, dx ; 8b da ; 0xc03d1 vgarom.asm:739 + mov dx, 003c9h ; ba c9 03 ; 0xc03d3 vgarom.asm:740 + in AL, DX ; ec ; 0xc03d6 vgarom.asm:742 + mov byte [es:bx], al ; 26 88 07 ; 0xc03d7 vgarom.asm:743 + inc bx ; 43 ; 0xc03da vgarom.asm:744 + in AL, DX ; ec ; 0xc03db vgarom.asm:745 + mov byte [es:bx], al ; 26 88 07 ; 0xc03dc vgarom.asm:746 + inc bx ; 43 ; 0xc03df vgarom.asm:747 + in AL, DX ; ec ; 0xc03e0 vgarom.asm:748 + mov byte [es:bx], al ; 26 88 07 ; 0xc03e1 vgarom.asm:749 + inc bx ; 43 ; 0xc03e4 vgarom.asm:750 + dec cx ; 49 ; 0xc03e5 vgarom.asm:751 + jne short 003d6h ; 75 ee ; 0xc03e6 vgarom.asm:752 + pop dx ; 5a ; 0xc03e8 vgarom.asm:753 + pop cx ; 59 ; 0xc03e9 vgarom.asm:754 + pop bx ; 5b ; 0xc03ea vgarom.asm:755 + pop ax ; 58 ; 0xc03eb vgarom.asm:756 + retn ; c3 ; 0xc03ec vgarom.asm:757 + push ax ; 50 ; 0xc03ed vgarom.asm:762 + push dx ; 52 ; 0xc03ee vgarom.asm:763 + mov dx, 003c6h ; ba c6 03 ; 0xc03ef vgarom.asm:764 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc03f2 vgarom.asm:765 + out DX, AL ; ee ; 0xc03f4 vgarom.asm:766 + pop dx ; 5a ; 0xc03f5 vgarom.asm:767 + pop ax ; 58 ; 0xc03f6 vgarom.asm:768 + retn ; c3 ; 0xc03f7 vgarom.asm:769 + push ax ; 50 ; 0xc03f8 vgarom.asm:774 + push dx ; 52 ; 0xc03f9 vgarom.asm:775 + mov dx, 003c6h ; ba c6 03 ; 0xc03fa vgarom.asm:776 + in AL, DX ; ec ; 0xc03fd vgarom.asm:777 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc03fe vgarom.asm:778 + pop dx ; 5a ; 0xc0400 vgarom.asm:779 + pop ax ; 58 ; 0xc0401 vgarom.asm:780 + retn ; c3 ; 0xc0402 vgarom.asm:781 + push ax ; 50 ; 0xc0403 vgarom.asm:786 + push dx ; 52 ; 0xc0404 vgarom.asm:787 + mov dx, 003dah ; ba da 03 ; 0xc0405 vgarom.asm:788 + in AL, DX ; ec ; 0xc0408 vgarom.asm:789 + mov dx, 003c0h ; ba c0 03 ; 0xc0409 vgarom.asm:790 + mov AL, strict byte 010h ; b0 10 ; 0xc040c vgarom.asm:791 + out DX, AL ; ee ; 0xc040e vgarom.asm:792 + mov dx, 003c1h ; ba c1 03 ; 0xc040f vgarom.asm:793 + in AL, DX ; ec ; 0xc0412 vgarom.asm:794 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc0413 vgarom.asm:795 + shr bl, 1 ; d0 eb ; 0xc0415 vgarom.asm:799 + shr bl, 1 ; d0 eb ; 0xc0417 vgarom.asm:800 + shr bl, 1 ; d0 eb ; 0xc0419 vgarom.asm:801 + shr bl, 1 ; d0 eb ; 0xc041b vgarom.asm:802 + shr bl, 1 ; d0 eb ; 0xc041d vgarom.asm:803 + shr bl, 1 ; d0 eb ; 0xc041f vgarom.asm:804 + shr bl, 1 ; d0 eb ; 0xc0421 vgarom.asm:805 + mov dx, 003dah ; ba da 03 ; 0xc0423 vgarom.asm:807 + in AL, DX ; ec ; 0xc0426 vgarom.asm:808 + mov dx, 003c0h ; ba c0 03 ; 0xc0427 vgarom.asm:809 + mov AL, strict byte 014h ; b0 14 ; 0xc042a vgarom.asm:810 + out DX, AL ; ee ; 0xc042c vgarom.asm:811 + mov dx, 003c1h ; ba c1 03 ; 0xc042d vgarom.asm:812 + in AL, DX ; ec ; 0xc0430 vgarom.asm:813 + db 08ah, 0f8h + ; mov bh, al ; 8a f8 ; 0xc0431 vgarom.asm:814 + and bh, 00fh ; 80 e7 0f ; 0xc0433 vgarom.asm:815 + test bl, 001h ; f6 c3 01 ; 0xc0436 vgarom.asm:816 + jne short 0043fh ; 75 04 ; 0xc0439 vgarom.asm:817 + shr bh, 1 ; d0 ef ; 0xc043b vgarom.asm:821 + shr bh, 1 ; d0 ef ; 0xc043d vgarom.asm:822 + mov dx, 003dah ; ba da 03 ; 0xc043f vgarom.asm:825 + in AL, DX ; ec ; 0xc0442 vgarom.asm:826 + mov dx, 003c0h ; ba c0 03 ; 0xc0443 vgarom.asm:827 + mov AL, strict byte 020h ; b0 20 ; 0xc0446 vgarom.asm:828 + out DX, AL ; ee ; 0xc0448 vgarom.asm:829 + mov dx, 003dah ; ba da 03 ; 0xc0449 vgarom.asm:831 + in AL, DX ; ec ; 0xc044c vgarom.asm:832 + pop dx ; 5a ; 0xc044d vgarom.asm:834 + pop ax ; 58 ; 0xc044e vgarom.asm:835 + retn ; c3 ; 0xc044f vgarom.asm:836 + push ax ; 50 ; 0xc0450 vgarom.asm:841 + push dx ; 52 ; 0xc0451 vgarom.asm:842 + mov dx, 003c4h ; ba c4 03 ; 0xc0452 vgarom.asm:843 + db 08ah, 0e3h + ; mov ah, bl ; 8a e3 ; 0xc0455 vgarom.asm:844 + mov AL, strict byte 003h ; b0 03 ; 0xc0457 vgarom.asm:845 + out DX, ax ; ef ; 0xc0459 vgarom.asm:846 + pop dx ; 5a ; 0xc045a vgarom.asm:847 + pop ax ; 58 ; 0xc045b vgarom.asm:848 + retn ; c3 ; 0xc045c vgarom.asm:849 + push DS ; 1e ; 0xc045d vgarom.asm:854 + push ax ; 50 ; 0xc045e vgarom.asm:855 + mov ax, strict word 00040h ; b8 40 00 ; 0xc045f vgarom.asm:856 + mov ds, ax ; 8e d8 ; 0xc0462 vgarom.asm:857 + db 032h, 0edh + ; xor ch, ch ; 32 ed ; 0xc0464 vgarom.asm:858 + mov bx, 00088h ; bb 88 00 ; 0xc0466 vgarom.asm:859 + mov cl, byte [bx] ; 8a 0f ; 0xc0469 vgarom.asm:860 + and cl, 00fh ; 80 e1 0f ; 0xc046b vgarom.asm:861 + mov bx, strict word 00063h ; bb 63 00 ; 0xc046e vgarom.asm:862 + mov ax, word [bx] ; 8b 07 ; 0xc0471 vgarom.asm:863 + mov bx, strict word 00003h ; bb 03 00 ; 0xc0473 vgarom.asm:864 + cmp ax, 003b4h ; 3d b4 03 ; 0xc0476 vgarom.asm:865 + jne short 0047dh ; 75 02 ; 0xc0479 vgarom.asm:866 + mov BH, strict byte 001h ; b7 01 ; 0xc047b vgarom.asm:867 + pop ax ; 58 ; 0xc047d vgarom.asm:869 + pop DS ; 1f ; 0xc047e vgarom.asm:870 + retn ; c3 ; 0xc047f vgarom.asm:871 + push DS ; 1e ; 0xc0480 vgarom.asm:879 + push bx ; 53 ; 0xc0481 vgarom.asm:880 + push dx ; 52 ; 0xc0482 vgarom.asm:881 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc0483 vgarom.asm:882 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0485 vgarom.asm:883 + mov ds, ax ; 8e d8 ; 0xc0488 vgarom.asm:884 + mov bx, 00089h ; bb 89 00 ; 0xc048a vgarom.asm:885 + mov al, byte [bx] ; 8a 07 ; 0xc048d vgarom.asm:886 + mov bx, 00088h ; bb 88 00 ; 0xc048f vgarom.asm:887 + mov ah, byte [bx] ; 8a 27 ; 0xc0492 vgarom.asm:888 + cmp dl, 001h ; 80 fa 01 ; 0xc0494 vgarom.asm:889 + je short 004aeh ; 74 15 ; 0xc0497 vgarom.asm:890 + jc short 004b8h ; 72 1d ; 0xc0499 vgarom.asm:891 + cmp dl, 002h ; 80 fa 02 ; 0xc049b vgarom.asm:892 + je short 004a2h ; 74 02 ; 0xc049e vgarom.asm:893 + jmp short 004cch ; eb 2a ; 0xc04a0 vgarom.asm:903 + and AL, strict byte 07fh ; 24 7f ; 0xc04a2 vgarom.asm:909 + or AL, strict byte 010h ; 0c 10 ; 0xc04a4 vgarom.asm:910 + and ah, 0f0h ; 80 e4 f0 ; 0xc04a6 vgarom.asm:911 + or ah, 009h ; 80 cc 09 ; 0xc04a9 vgarom.asm:912 + jne short 004c2h ; 75 14 ; 0xc04ac vgarom.asm:913 + and AL, strict byte 06fh ; 24 6f ; 0xc04ae vgarom.asm:919 + and ah, 0f0h ; 80 e4 f0 ; 0xc04b0 vgarom.asm:920 + or ah, 009h ; 80 cc 09 ; 0xc04b3 vgarom.asm:921 + jne short 004c2h ; 75 0a ; 0xc04b6 vgarom.asm:922 + and AL, strict byte 0efh ; 24 ef ; 0xc04b8 vgarom.asm:928 + or AL, strict byte 080h ; 0c 80 ; 0xc04ba vgarom.asm:929 + and ah, 0f0h ; 80 e4 f0 ; 0xc04bc vgarom.asm:930 + or ah, 008h ; 80 cc 08 ; 0xc04bf vgarom.asm:931 + mov bx, 00089h ; bb 89 00 ; 0xc04c2 vgarom.asm:933 + mov byte [bx], al ; 88 07 ; 0xc04c5 vgarom.asm:934 + mov bx, 00088h ; bb 88 00 ; 0xc04c7 vgarom.asm:935 + mov byte [bx], ah ; 88 27 ; 0xc04ca vgarom.asm:936 + mov ax, 01212h ; b8 12 12 ; 0xc04cc vgarom.asm:938 + pop dx ; 5a ; 0xc04cf vgarom.asm:939 + pop bx ; 5b ; 0xc04d0 vgarom.asm:940 + pop DS ; 1f ; 0xc04d1 vgarom.asm:941 + retn ; c3 ; 0xc04d2 vgarom.asm:942 + push DS ; 1e ; 0xc04d3 vgarom.asm:951 + push bx ; 53 ; 0xc04d4 vgarom.asm:952 + push dx ; 52 ; 0xc04d5 vgarom.asm:953 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc04d6 vgarom.asm:954 + and dl, 001h ; 80 e2 01 ; 0xc04d8 vgarom.asm:955 + sal dl, 1 ; d0 e2 ; 0xc04db vgarom.asm:959 + sal dl, 1 ; d0 e2 ; 0xc04dd vgarom.asm:960 + sal dl, 1 ; d0 e2 ; 0xc04df vgarom.asm:961 + mov ax, strict word 00040h ; b8 40 00 ; 0xc04e1 vgarom.asm:963 + mov ds, ax ; 8e d8 ; 0xc04e4 vgarom.asm:964 + mov bx, 00089h ; bb 89 00 ; 0xc04e6 vgarom.asm:965 + mov al, byte [bx] ; 8a 07 ; 0xc04e9 vgarom.asm:966 + and AL, strict byte 0f7h ; 24 f7 ; 0xc04eb vgarom.asm:967 + db 00ah, 0c2h + ; or al, dl ; 0a c2 ; 0xc04ed vgarom.asm:968 + mov byte [bx], al ; 88 07 ; 0xc04ef vgarom.asm:969 + mov ax, 01212h ; b8 12 12 ; 0xc04f1 vgarom.asm:970 + pop dx ; 5a ; 0xc04f4 vgarom.asm:971 + pop bx ; 5b ; 0xc04f5 vgarom.asm:972 + pop DS ; 1f ; 0xc04f6 vgarom.asm:973 + retn ; c3 ; 0xc04f7 vgarom.asm:974 + push bx ; 53 ; 0xc04f8 vgarom.asm:978 + push dx ; 52 ; 0xc04f9 vgarom.asm:979 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc04fa vgarom.asm:980 + and bl, 001h ; 80 e3 01 ; 0xc04fc vgarom.asm:981 + xor bl, 001h ; 80 f3 01 ; 0xc04ff vgarom.asm:982 + sal bl, 1 ; d0 e3 ; 0xc0502 vgarom.asm:983 + mov dx, 003cch ; ba cc 03 ; 0xc0504 vgarom.asm:984 + in AL, DX ; ec ; 0xc0507 vgarom.asm:985 + and AL, strict byte 0fdh ; 24 fd ; 0xc0508 vgarom.asm:986 + db 00ah, 0c3h + ; or al, bl ; 0a c3 ; 0xc050a vgarom.asm:987 + mov dx, 003c2h ; ba c2 03 ; 0xc050c vgarom.asm:988 + out DX, AL ; ee ; 0xc050f vgarom.asm:989 + mov ax, 01212h ; b8 12 12 ; 0xc0510 vgarom.asm:990 + pop dx ; 5a ; 0xc0513 vgarom.asm:991 + pop bx ; 5b ; 0xc0514 vgarom.asm:992 + retn ; c3 ; 0xc0515 vgarom.asm:993 + push DS ; 1e ; 0xc0516 vgarom.asm:997 + push bx ; 53 ; 0xc0517 vgarom.asm:998 + push dx ; 52 ; 0xc0518 vgarom.asm:999 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc0519 vgarom.asm:1000 + and dl, 001h ; 80 e2 01 ; 0xc051b vgarom.asm:1001 + xor dl, 001h ; 80 f2 01 ; 0xc051e vgarom.asm:1002 + sal dl, 1 ; d0 e2 ; 0xc0521 vgarom.asm:1003 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0523 vgarom.asm:1004 + mov ds, ax ; 8e d8 ; 0xc0526 vgarom.asm:1005 + mov bx, 00089h ; bb 89 00 ; 0xc0528 vgarom.asm:1006 + mov al, byte [bx] ; 8a 07 ; 0xc052b vgarom.asm:1007 + and AL, strict byte 0fdh ; 24 fd ; 0xc052d vgarom.asm:1008 + db 00ah, 0c2h + ; or al, dl ; 0a c2 ; 0xc052f vgarom.asm:1009 + mov byte [bx], al ; 88 07 ; 0xc0531 vgarom.asm:1010 + mov ax, 01212h ; b8 12 12 ; 0xc0533 vgarom.asm:1011 + pop dx ; 5a ; 0xc0536 vgarom.asm:1012 + pop bx ; 5b ; 0xc0537 vgarom.asm:1013 + pop DS ; 1f ; 0xc0538 vgarom.asm:1014 + retn ; c3 ; 0xc0539 vgarom.asm:1015 + push DS ; 1e ; 0xc053a vgarom.asm:1019 + push bx ; 53 ; 0xc053b vgarom.asm:1020 + push dx ; 52 ; 0xc053c vgarom.asm:1021 + db 08ah, 0d0h + ; mov dl, al ; 8a d0 ; 0xc053d vgarom.asm:1022 + and dl, 001h ; 80 e2 01 ; 0xc053f vgarom.asm:1023 + xor dl, 001h ; 80 f2 01 ; 0xc0542 vgarom.asm:1024 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0545 vgarom.asm:1025 + mov ds, ax ; 8e d8 ; 0xc0548 vgarom.asm:1026 + mov bx, 00089h ; bb 89 00 ; 0xc054a vgarom.asm:1027 + mov al, byte [bx] ; 8a 07 ; 0xc054d vgarom.asm:1028 + and AL, strict byte 0feh ; 24 fe ; 0xc054f vgarom.asm:1029 + db 00ah, 0c2h + ; or al, dl ; 0a c2 ; 0xc0551 vgarom.asm:1030 + mov byte [bx], al ; 88 07 ; 0xc0553 vgarom.asm:1031 + mov ax, 01212h ; b8 12 12 ; 0xc0555 vgarom.asm:1032 + pop dx ; 5a ; 0xc0558 vgarom.asm:1033 + pop bx ; 5b ; 0xc0559 vgarom.asm:1034 + pop DS ; 1f ; 0xc055a vgarom.asm:1035 + retn ; c3 ; 0xc055b vgarom.asm:1036 + cmp AL, strict byte 000h ; 3c 00 ; 0xc055c vgarom.asm:1041 + je short 00565h ; 74 05 ; 0xc055e vgarom.asm:1042 + cmp AL, strict byte 001h ; 3c 01 ; 0xc0560 vgarom.asm:1043 + je short 0057ah ; 74 16 ; 0xc0562 vgarom.asm:1044 + retn ; c3 ; 0xc0564 vgarom.asm:1048 + push DS ; 1e ; 0xc0565 vgarom.asm:1050 + push ax ; 50 ; 0xc0566 vgarom.asm:1051 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0567 vgarom.asm:1052 + mov ds, ax ; 8e d8 ; 0xc056a vgarom.asm:1053 + mov bx, 0008ah ; bb 8a 00 ; 0xc056c vgarom.asm:1054 + mov al, byte [bx] ; 8a 07 ; 0xc056f vgarom.asm:1055 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc0571 vgarom.asm:1056 + db 032h, 0ffh + ; xor bh, bh ; 32 ff ; 0xc0573 vgarom.asm:1057 + pop ax ; 58 ; 0xc0575 vgarom.asm:1058 + db 08ah, 0c4h + ; mov al, ah ; 8a c4 ; 0xc0576 vgarom.asm:1059 + pop DS ; 1f ; 0xc0578 vgarom.asm:1060 + retn ; c3 ; 0xc0579 vgarom.asm:1061 + push DS ; 1e ; 0xc057a vgarom.asm:1063 + push ax ; 50 ; 0xc057b vgarom.asm:1064 + push bx ; 53 ; 0xc057c vgarom.asm:1065 + mov ax, strict word 00040h ; b8 40 00 ; 0xc057d vgarom.asm:1066 + mov ds, ax ; 8e d8 ; 0xc0580 vgarom.asm:1067 + db 08bh, 0c3h + ; mov ax, bx ; 8b c3 ; 0xc0582 vgarom.asm:1068 + mov bx, 0008ah ; bb 8a 00 ; 0xc0584 vgarom.asm:1069 + mov byte [bx], al ; 88 07 ; 0xc0587 vgarom.asm:1070 + pop bx ; 5b ; 0xc0589 vgarom.asm:1080 + pop ax ; 58 ; 0xc058a vgarom.asm:1081 + db 08ah, 0c4h + ; mov al, ah ; 8a c4 ; 0xc058b vgarom.asm:1082 + pop DS ; 1f ; 0xc058d vgarom.asm:1083 + retn ; c3 ; 0xc058e vgarom.asm:1084 + times 0x1 db 0 + ; disGetNextSymbol 0xc0590 LB 0x3b2 -> off=0x0 cb=0000000000000007 uValue=00000000000c0590 'do_out_dx_ax' +do_out_dx_ax: ; 0xc0590 LB 0x7 + xchg ah, al ; 86 c4 ; 0xc0590 vberom.asm:69 + out DX, AL ; ee ; 0xc0592 vberom.asm:70 + xchg ah, al ; 86 c4 ; 0xc0593 vberom.asm:71 + out DX, AL ; ee ; 0xc0595 vberom.asm:72 + retn ; c3 ; 0xc0596 vberom.asm:73 + ; disGetNextSymbol 0xc0597 LB 0x3ab -> off=0x0 cb=0000000000000043 uValue=00000000000c0597 'do_in_ax_dx' +do_in_ax_dx: ; 0xc0597 LB 0x43 + in AL, DX ; ec ; 0xc0597 vberom.asm:76 + xchg ah, al ; 86 c4 ; 0xc0598 vberom.asm:77 + in AL, DX ; ec ; 0xc059a vberom.asm:78 + retn ; c3 ; 0xc059b vberom.asm:79 + push ax ; 50 ; 0xc059c vberom.asm:90 + push dx ; 52 ; 0xc059d vberom.asm:91 + mov dx, 003dah ; ba da 03 ; 0xc059e vberom.asm:92 + in AL, DX ; ec ; 0xc05a1 vberom.asm:94 + test AL, strict byte 008h ; a8 08 ; 0xc05a2 vberom.asm:95 + je short 005a1h ; 74 fb ; 0xc05a4 vberom.asm:96 + pop dx ; 5a ; 0xc05a6 vberom.asm:97 + pop ax ; 58 ; 0xc05a7 vberom.asm:98 + retn ; c3 ; 0xc05a8 vberom.asm:99 + push ax ; 50 ; 0xc05a9 vberom.asm:102 + push dx ; 52 ; 0xc05aa vberom.asm:103 + mov dx, 003dah ; ba da 03 ; 0xc05ab vberom.asm:104 + in AL, DX ; ec ; 0xc05ae vberom.asm:106 + test AL, strict byte 008h ; a8 08 ; 0xc05af vberom.asm:107 + jne short 005aeh ; 75 fb ; 0xc05b1 vberom.asm:108 + pop dx ; 5a ; 0xc05b3 vberom.asm:109 + pop ax ; 58 ; 0xc05b4 vberom.asm:110 + retn ; c3 ; 0xc05b5 vberom.asm:111 + push dx ; 52 ; 0xc05b6 vberom.asm:116 + mov dx, 001ceh ; ba ce 01 ; 0xc05b7 vberom.asm:117 + mov ax, strict word 00003h ; b8 03 00 ; 0xc05ba vberom.asm:118 + call 00590h ; e8 d0 ff ; 0xc05bd vberom.asm:119 + mov dx, 001cfh ; ba cf 01 ; 0xc05c0 vberom.asm:120 + call 00597h ; e8 d1 ff ; 0xc05c3 vberom.asm:121 + cmp AL, strict byte 004h ; 3c 04 ; 0xc05c6 vberom.asm:122 + jbe short 005d8h ; 76 0e ; 0xc05c8 vberom.asm:123 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc05ca vberom.asm:124 + shr ah, 1 ; d0 ec ; 0xc05cc vberom.asm:128 + shr ah, 1 ; d0 ec ; 0xc05ce vberom.asm:129 + shr ah, 1 ; d0 ec ; 0xc05d0 vberom.asm:130 + test AL, strict byte 007h ; a8 07 ; 0xc05d2 vberom.asm:132 + je short 005d8h ; 74 02 ; 0xc05d4 vberom.asm:133 + db 0feh, 0c4h + ; inc ah ; fe c4 ; 0xc05d6 vberom.asm:134 + pop dx ; 5a ; 0xc05d8 vberom.asm:136 + retn ; c3 ; 0xc05d9 vberom.asm:137 + ; disGetNextSymbol 0xc05da LB 0x368 -> off=0x0 cb=0000000000000026 uValue=00000000000c05da '_dispi_get_max_bpp' +_dispi_get_max_bpp: ; 0xc05da LB 0x26 + push dx ; 52 ; 0xc05da vberom.asm:142 + push bx ; 53 ; 0xc05db vberom.asm:143 + call 00614h ; e8 35 00 ; 0xc05dc vberom.asm:144 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc05df vberom.asm:145 + or ax, strict byte 00002h ; 83 c8 02 ; 0xc05e1 vberom.asm:146 + call 00600h ; e8 19 00 ; 0xc05e4 vberom.asm:147 + mov dx, 001ceh ; ba ce 01 ; 0xc05e7 vberom.asm:148 + mov ax, strict word 00003h ; b8 03 00 ; 0xc05ea vberom.asm:149 + call 00590h ; e8 a0 ff ; 0xc05ed vberom.asm:150 + mov dx, 001cfh ; ba cf 01 ; 0xc05f0 vberom.asm:151 + call 00597h ; e8 a1 ff ; 0xc05f3 vberom.asm:152 + push ax ; 50 ; 0xc05f6 vberom.asm:153 + db 08bh, 0c3h + ; mov ax, bx ; 8b c3 ; 0xc05f7 vberom.asm:154 + call 00600h ; e8 04 00 ; 0xc05f9 vberom.asm:155 + pop ax ; 58 ; 0xc05fc vberom.asm:156 + pop bx ; 5b ; 0xc05fd vberom.asm:157 + pop dx ; 5a ; 0xc05fe vberom.asm:158 + retn ; c3 ; 0xc05ff vberom.asm:159 + ; disGetNextSymbol 0xc0600 LB 0x342 -> off=0x0 cb=0000000000000026 uValue=00000000000c0600 'dispi_set_enable_' +dispi_set_enable_: ; 0xc0600 LB 0x26 + push dx ; 52 ; 0xc0600 vberom.asm:162 + push ax ; 50 ; 0xc0601 vberom.asm:163 + mov dx, 001ceh ; ba ce 01 ; 0xc0602 vberom.asm:164 + mov ax, strict word 00004h ; b8 04 00 ; 0xc0605 vberom.asm:165 + call 00590h ; e8 85 ff ; 0xc0608 vberom.asm:166 + pop ax ; 58 ; 0xc060b vberom.asm:167 + mov dx, 001cfh ; ba cf 01 ; 0xc060c vberom.asm:168 + call 00590h ; e8 7e ff ; 0xc060f vberom.asm:169 + pop dx ; 5a ; 0xc0612 vberom.asm:170 + retn ; c3 ; 0xc0613 vberom.asm:171 + push dx ; 52 ; 0xc0614 vberom.asm:174 + mov dx, 001ceh ; ba ce 01 ; 0xc0615 vberom.asm:175 + mov ax, strict word 00004h ; b8 04 00 ; 0xc0618 vberom.asm:176 + call 00590h ; e8 72 ff ; 0xc061b vberom.asm:177 + mov dx, 001cfh ; ba cf 01 ; 0xc061e vberom.asm:178 + call 00597h ; e8 73 ff ; 0xc0621 vberom.asm:179 + pop dx ; 5a ; 0xc0624 vberom.asm:180 + retn ; c3 ; 0xc0625 vberom.asm:181 + ; disGetNextSymbol 0xc0626 LB 0x31c -> off=0x0 cb=0000000000000026 uValue=00000000000c0626 'dispi_set_bank_' +dispi_set_bank_: ; 0xc0626 LB 0x26 + push dx ; 52 ; 0xc0626 vberom.asm:184 + push ax ; 50 ; 0xc0627 vberom.asm:185 + mov dx, 001ceh ; ba ce 01 ; 0xc0628 vberom.asm:186 + mov ax, strict word 00005h ; b8 05 00 ; 0xc062b vberom.asm:187 + call 00590h ; e8 5f ff ; 0xc062e vberom.asm:188 + pop ax ; 58 ; 0xc0631 vberom.asm:189 + mov dx, 001cfh ; ba cf 01 ; 0xc0632 vberom.asm:190 + call 00590h ; e8 58 ff ; 0xc0635 vberom.asm:191 + pop dx ; 5a ; 0xc0638 vberom.asm:192 + retn ; c3 ; 0xc0639 vberom.asm:193 + push dx ; 52 ; 0xc063a vberom.asm:196 + mov dx, 001ceh ; ba ce 01 ; 0xc063b vberom.asm:197 + mov ax, strict word 00005h ; b8 05 00 ; 0xc063e vberom.asm:198 + call 00590h ; e8 4c ff ; 0xc0641 vberom.asm:199 + mov dx, 001cfh ; ba cf 01 ; 0xc0644 vberom.asm:200 + call 00597h ; e8 4d ff ; 0xc0647 vberom.asm:201 + pop dx ; 5a ; 0xc064a vberom.asm:202 + retn ; c3 ; 0xc064b vberom.asm:203 + ; disGetNextSymbol 0xc064c LB 0x2f6 -> off=0x0 cb=00000000000000ac uValue=00000000000c064c '_dispi_set_bank_farcall' +_dispi_set_bank_farcall: ; 0xc064c LB 0xac + cmp bx, 00100h ; 81 fb 00 01 ; 0xc064c vberom.asm:206 + je short 00676h ; 74 24 ; 0xc0650 vberom.asm:207 + db 00bh, 0dbh + ; or bx, bx ; 0b db ; 0xc0652 vberom.asm:208 + jne short 00688h ; 75 32 ; 0xc0654 vberom.asm:209 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc0656 vberom.asm:210 + push dx ; 52 ; 0xc0658 vberom.asm:211 + push ax ; 50 ; 0xc0659 vberom.asm:212 + mov ax, strict word 00005h ; b8 05 00 ; 0xc065a vberom.asm:213 + mov dx, 001ceh ; ba ce 01 ; 0xc065d vberom.asm:214 + call 00590h ; e8 2d ff ; 0xc0660 vberom.asm:215 + pop ax ; 58 ; 0xc0663 vberom.asm:216 + mov dx, 001cfh ; ba cf 01 ; 0xc0664 vberom.asm:217 + call 00590h ; e8 26 ff ; 0xc0667 vberom.asm:218 + call 00597h ; e8 2a ff ; 0xc066a vberom.asm:219 + pop dx ; 5a ; 0xc066d vberom.asm:220 + db 03bh, 0d0h + ; cmp dx, ax ; 3b d0 ; 0xc066e vberom.asm:221 + jne short 00688h ; 75 16 ; 0xc0670 vberom.asm:222 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0672 vberom.asm:223 + retf ; cb ; 0xc0675 vberom.asm:224 + mov ax, strict word 00005h ; b8 05 00 ; 0xc0676 vberom.asm:226 + mov dx, 001ceh ; ba ce 01 ; 0xc0679 vberom.asm:227 + call 00590h ; e8 11 ff ; 0xc067c vberom.asm:228 + mov dx, 001cfh ; ba cf 01 ; 0xc067f vberom.asm:229 + call 00597h ; e8 12 ff ; 0xc0682 vberom.asm:230 + db 08bh, 0d0h + ; mov dx, ax ; 8b d0 ; 0xc0685 vberom.asm:231 + retf ; cb ; 0xc0687 vberom.asm:232 + mov ax, 0014fh ; b8 4f 01 ; 0xc0688 vberom.asm:234 + retf ; cb ; 0xc068b vberom.asm:235 + push dx ; 52 ; 0xc068c vberom.asm:238 + push ax ; 50 ; 0xc068d vberom.asm:239 + mov dx, 001ceh ; ba ce 01 ; 0xc068e vberom.asm:240 + mov ax, strict word 00008h ; b8 08 00 ; 0xc0691 vberom.asm:241 + call 00590h ; e8 f9 fe ; 0xc0694 vberom.asm:242 + pop ax ; 58 ; 0xc0697 vberom.asm:243 + mov dx, 001cfh ; ba cf 01 ; 0xc0698 vberom.asm:244 + call 00590h ; e8 f2 fe ; 0xc069b vberom.asm:245 + pop dx ; 5a ; 0xc069e vberom.asm:246 + retn ; c3 ; 0xc069f vberom.asm:247 + push dx ; 52 ; 0xc06a0 vberom.asm:250 + mov dx, 001ceh ; ba ce 01 ; 0xc06a1 vberom.asm:251 + mov ax, strict word 00008h ; b8 08 00 ; 0xc06a4 vberom.asm:252 + call 00590h ; e8 e6 fe ; 0xc06a7 vberom.asm:253 + mov dx, 001cfh ; ba cf 01 ; 0xc06aa vberom.asm:254 + call 00597h ; e8 e7 fe ; 0xc06ad vberom.asm:255 + pop dx ; 5a ; 0xc06b0 vberom.asm:256 + retn ; c3 ; 0xc06b1 vberom.asm:257 + push dx ; 52 ; 0xc06b2 vberom.asm:260 + push ax ; 50 ; 0xc06b3 vberom.asm:261 + mov dx, 001ceh ; ba ce 01 ; 0xc06b4 vberom.asm:262 + mov ax, strict word 00009h ; b8 09 00 ; 0xc06b7 vberom.asm:263 + call 00590h ; e8 d3 fe ; 0xc06ba vberom.asm:264 + pop ax ; 58 ; 0xc06bd vberom.asm:265 + mov dx, 001cfh ; ba cf 01 ; 0xc06be vberom.asm:266 + call 00590h ; e8 cc fe ; 0xc06c1 vberom.asm:267 + pop dx ; 5a ; 0xc06c4 vberom.asm:268 + retn ; c3 ; 0xc06c5 vberom.asm:269 + push dx ; 52 ; 0xc06c6 vberom.asm:272 + mov dx, 001ceh ; ba ce 01 ; 0xc06c7 vberom.asm:273 + mov ax, strict word 00009h ; b8 09 00 ; 0xc06ca vberom.asm:274 + call 00590h ; e8 c0 fe ; 0xc06cd vberom.asm:275 + mov dx, 001cfh ; ba cf 01 ; 0xc06d0 vberom.asm:276 + call 00597h ; e8 c1 fe ; 0xc06d3 vberom.asm:277 + pop dx ; 5a ; 0xc06d6 vberom.asm:278 + retn ; c3 ; 0xc06d7 vberom.asm:279 + push ax ; 50 ; 0xc06d8 vberom.asm:282 + push bx ; 53 ; 0xc06d9 vberom.asm:283 + push dx ; 52 ; 0xc06da vberom.asm:284 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc06db vberom.asm:285 + call 005b6h ; e8 d6 fe ; 0xc06dd vberom.asm:286 + cmp AL, strict byte 004h ; 3c 04 ; 0xc06e0 vberom.asm:287 + jnbe short 006e6h ; 77 02 ; 0xc06e2 vberom.asm:288 + shr bx, 1 ; d1 eb ; 0xc06e4 vberom.asm:289 + shr bx, 1 ; d1 eb ; 0xc06e6 vberom.asm:294 + shr bx, 1 ; d1 eb ; 0xc06e8 vberom.asm:295 + shr bx, 1 ; d1 eb ; 0xc06ea vberom.asm:296 + mov dx, 003d4h ; ba d4 03 ; 0xc06ec vberom.asm:298 + db 08ah, 0e3h + ; mov ah, bl ; 8a e3 ; 0xc06ef vberom.asm:299 + mov AL, strict byte 013h ; b0 13 ; 0xc06f1 vberom.asm:300 + out DX, ax ; ef ; 0xc06f3 vberom.asm:301 + pop dx ; 5a ; 0xc06f4 vberom.asm:302 + pop bx ; 5b ; 0xc06f5 vberom.asm:303 + pop ax ; 58 ; 0xc06f6 vberom.asm:304 + retn ; c3 ; 0xc06f7 vberom.asm:305 + ; disGetNextSymbol 0xc06f8 LB 0x24a -> off=0x0 cb=00000000000000f0 uValue=00000000000c06f8 '_vga_compat_setup' +_vga_compat_setup: ; 0xc06f8 LB 0xf0 + push ax ; 50 ; 0xc06f8 vberom.asm:308 + push dx ; 52 ; 0xc06f9 vberom.asm:309 + mov dx, 001ceh ; ba ce 01 ; 0xc06fa vberom.asm:312 + mov ax, strict word 00001h ; b8 01 00 ; 0xc06fd vberom.asm:313 + call 00590h ; e8 8d fe ; 0xc0700 vberom.asm:314 + mov dx, 001cfh ; ba cf 01 ; 0xc0703 vberom.asm:315 + call 00597h ; e8 8e fe ; 0xc0706 vberom.asm:316 + push ax ; 50 ; 0xc0709 vberom.asm:317 + mov dx, 003d4h ; ba d4 03 ; 0xc070a vberom.asm:318 + mov ax, strict word 00011h ; b8 11 00 ; 0xc070d vberom.asm:319 + out DX, ax ; ef ; 0xc0710 vberom.asm:320 + pop ax ; 58 ; 0xc0711 vberom.asm:321 + push ax ; 50 ; 0xc0712 vberom.asm:322 + shr ax, 1 ; d1 e8 ; 0xc0713 vberom.asm:326 + shr ax, 1 ; d1 e8 ; 0xc0715 vberom.asm:327 + shr ax, 1 ; d1 e8 ; 0xc0717 vberom.asm:328 + dec ax ; 48 ; 0xc0719 vberom.asm:330 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc071a vberom.asm:331 + mov AL, strict byte 001h ; b0 01 ; 0xc071c vberom.asm:332 + out DX, ax ; ef ; 0xc071e vberom.asm:333 + pop ax ; 58 ; 0xc071f vberom.asm:334 + call 006d8h ; e8 b5 ff ; 0xc0720 vberom.asm:335 + mov dx, 001ceh ; ba ce 01 ; 0xc0723 vberom.asm:338 + mov ax, strict word 00002h ; b8 02 00 ; 0xc0726 vberom.asm:339 + call 00590h ; e8 64 fe ; 0xc0729 vberom.asm:340 + mov dx, 001cfh ; ba cf 01 ; 0xc072c vberom.asm:341 + call 00597h ; e8 65 fe ; 0xc072f vberom.asm:342 + dec ax ; 48 ; 0xc0732 vberom.asm:343 + push ax ; 50 ; 0xc0733 vberom.asm:344 + mov dx, 003d4h ; ba d4 03 ; 0xc0734 vberom.asm:345 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc0737 vberom.asm:346 + mov AL, strict byte 012h ; b0 12 ; 0xc0739 vberom.asm:347 + out DX, ax ; ef ; 0xc073b vberom.asm:348 + pop ax ; 58 ; 0xc073c vberom.asm:349 + mov AL, strict byte 007h ; b0 07 ; 0xc073d vberom.asm:350 + out DX, AL ; ee ; 0xc073f vberom.asm:351 + inc dx ; 42 ; 0xc0740 vberom.asm:352 + in AL, DX ; ec ; 0xc0741 vberom.asm:353 + and AL, strict byte 0bdh ; 24 bd ; 0xc0742 vberom.asm:354 + test ah, 001h ; f6 c4 01 ; 0xc0744 vberom.asm:355 + je short 0074bh ; 74 02 ; 0xc0747 vberom.asm:356 + or AL, strict byte 002h ; 0c 02 ; 0xc0749 vberom.asm:357 + test ah, 002h ; f6 c4 02 ; 0xc074b vberom.asm:359 + je short 00752h ; 74 02 ; 0xc074e vberom.asm:360 + or AL, strict byte 040h ; 0c 40 ; 0xc0750 vberom.asm:361 + out DX, AL ; ee ; 0xc0752 vberom.asm:363 + mov dx, 003d4h ; ba d4 03 ; 0xc0753 vberom.asm:366 + mov ax, strict word 00009h ; b8 09 00 ; 0xc0756 vberom.asm:367 + out DX, AL ; ee ; 0xc0759 vberom.asm:368 + mov dx, 003d5h ; ba d5 03 ; 0xc075a vberom.asm:369 + in AL, DX ; ec ; 0xc075d vberom.asm:370 + and AL, strict byte 060h ; 24 60 ; 0xc075e vberom.asm:371 + out DX, AL ; ee ; 0xc0760 vberom.asm:372 + mov dx, 003d4h ; ba d4 03 ; 0xc0761 vberom.asm:373 + mov AL, strict byte 017h ; b0 17 ; 0xc0764 vberom.asm:374 + out DX, AL ; ee ; 0xc0766 vberom.asm:375 + mov dx, 003d5h ; ba d5 03 ; 0xc0767 vberom.asm:376 + in AL, DX ; ec ; 0xc076a vberom.asm:377 + or AL, strict byte 003h ; 0c 03 ; 0xc076b vberom.asm:378 + out DX, AL ; ee ; 0xc076d vberom.asm:379 + mov dx, 003dah ; ba da 03 ; 0xc076e vberom.asm:380 + in AL, DX ; ec ; 0xc0771 vberom.asm:381 + mov dx, 003c0h ; ba c0 03 ; 0xc0772 vberom.asm:382 + mov AL, strict byte 010h ; b0 10 ; 0xc0775 vberom.asm:383 + out DX, AL ; ee ; 0xc0777 vberom.asm:384 + mov dx, 003c1h ; ba c1 03 ; 0xc0778 vberom.asm:385 + in AL, DX ; ec ; 0xc077b vberom.asm:386 + or AL, strict byte 001h ; 0c 01 ; 0xc077c vberom.asm:387 + mov dx, 003c0h ; ba c0 03 ; 0xc077e vberom.asm:388 + out DX, AL ; ee ; 0xc0781 vberom.asm:389 + mov AL, strict byte 020h ; b0 20 ; 0xc0782 vberom.asm:390 + out DX, AL ; ee ; 0xc0784 vberom.asm:391 + mov dx, 003ceh ; ba ce 03 ; 0xc0785 vberom.asm:392 + mov ax, 00506h ; b8 06 05 ; 0xc0788 vberom.asm:393 + out DX, ax ; ef ; 0xc078b vberom.asm:394 + mov dx, 003c4h ; ba c4 03 ; 0xc078c vberom.asm:395 + mov ax, 00f02h ; b8 02 0f ; 0xc078f vberom.asm:396 + out DX, ax ; ef ; 0xc0792 vberom.asm:397 + mov dx, 001ceh ; ba ce 01 ; 0xc0793 vberom.asm:400 + mov ax, strict word 00003h ; b8 03 00 ; 0xc0796 vberom.asm:401 + call 00590h ; e8 f4 fd ; 0xc0799 vberom.asm:402 + mov dx, 001cfh ; ba cf 01 ; 0xc079c vberom.asm:403 + call 00597h ; e8 f5 fd ; 0xc079f vberom.asm:404 + cmp AL, strict byte 008h ; 3c 08 ; 0xc07a2 vberom.asm:405 + jc short 007e6h ; 72 40 ; 0xc07a4 vberom.asm:406 + mov dx, 003d4h ; ba d4 03 ; 0xc07a6 vberom.asm:407 + mov AL, strict byte 014h ; b0 14 ; 0xc07a9 vberom.asm:408 + out DX, AL ; ee ; 0xc07ab vberom.asm:409 + mov dx, 003d5h ; ba d5 03 ; 0xc07ac vberom.asm:410 + in AL, DX ; ec ; 0xc07af vberom.asm:411 + or AL, strict byte 040h ; 0c 40 ; 0xc07b0 vberom.asm:412 + out DX, AL ; ee ; 0xc07b2 vberom.asm:413 + mov dx, 003dah ; ba da 03 ; 0xc07b3 vberom.asm:414 + in AL, DX ; ec ; 0xc07b6 vberom.asm:415 + mov dx, 003c0h ; ba c0 03 ; 0xc07b7 vberom.asm:416 + mov AL, strict byte 010h ; b0 10 ; 0xc07ba vberom.asm:417 + out DX, AL ; ee ; 0xc07bc vberom.asm:418 + mov dx, 003c1h ; ba c1 03 ; 0xc07bd vberom.asm:419 + in AL, DX ; ec ; 0xc07c0 vberom.asm:420 + or AL, strict byte 040h ; 0c 40 ; 0xc07c1 vberom.asm:421 + mov dx, 003c0h ; ba c0 03 ; 0xc07c3 vberom.asm:422 + out DX, AL ; ee ; 0xc07c6 vberom.asm:423 + mov AL, strict byte 020h ; b0 20 ; 0xc07c7 vberom.asm:424 + out DX, AL ; ee ; 0xc07c9 vberom.asm:425 + mov dx, 003c4h ; ba c4 03 ; 0xc07ca vberom.asm:426 + mov AL, strict byte 004h ; b0 04 ; 0xc07cd vberom.asm:427 + out DX, AL ; ee ; 0xc07cf vberom.asm:428 + mov dx, 003c5h ; ba c5 03 ; 0xc07d0 vberom.asm:429 + in AL, DX ; ec ; 0xc07d3 vberom.asm:430 + or AL, strict byte 008h ; 0c 08 ; 0xc07d4 vberom.asm:431 + out DX, AL ; ee ; 0xc07d6 vberom.asm:432 + mov dx, 003ceh ; ba ce 03 ; 0xc07d7 vberom.asm:433 + mov AL, strict byte 005h ; b0 05 ; 0xc07da vberom.asm:434 + out DX, AL ; ee ; 0xc07dc vberom.asm:435 + mov dx, 003cfh ; ba cf 03 ; 0xc07dd vberom.asm:436 + in AL, DX ; ec ; 0xc07e0 vberom.asm:437 + and AL, strict byte 09fh ; 24 9f ; 0xc07e1 vberom.asm:438 + or AL, strict byte 040h ; 0c 40 ; 0xc07e3 vberom.asm:439 + out DX, AL ; ee ; 0xc07e5 vberom.asm:440 + pop dx ; 5a ; 0xc07e6 vberom.asm:443 + pop ax ; 58 ; 0xc07e7 vberom.asm:444 + ; disGetNextSymbol 0xc07e8 LB 0x15a -> off=0x0 cb=0000000000000013 uValue=00000000000c07e8 '_vbe_has_vbe_display' +_vbe_has_vbe_display: ; 0xc07e8 LB 0x13 + push DS ; 1e ; 0xc07e8 vberom.asm:450 + push bx ; 53 ; 0xc07e9 vberom.asm:451 + mov ax, strict word 00040h ; b8 40 00 ; 0xc07ea vberom.asm:452 + mov ds, ax ; 8e d8 ; 0xc07ed vberom.asm:453 + mov bx, 000b9h ; bb b9 00 ; 0xc07ef vberom.asm:454 + mov al, byte [bx] ; 8a 07 ; 0xc07f2 vberom.asm:455 + and AL, strict byte 001h ; 24 01 ; 0xc07f4 vberom.asm:456 + db 032h, 0e4h + ; xor ah, ah ; 32 e4 ; 0xc07f6 vberom.asm:457 + pop bx ; 5b ; 0xc07f8 vberom.asm:458 + pop DS ; 1f ; 0xc07f9 vberom.asm:459 + retn ; c3 ; 0xc07fa vberom.asm:460 + ; disGetNextSymbol 0xc07fb LB 0x147 -> off=0x0 cb=0000000000000025 uValue=00000000000c07fb 'vbe_biosfn_return_current_mode' +vbe_biosfn_return_current_mode: ; 0xc07fb LB 0x25 + push DS ; 1e ; 0xc07fb vberom.asm:473 + mov ax, strict word 00040h ; b8 40 00 ; 0xc07fc vberom.asm:474 + mov ds, ax ; 8e d8 ; 0xc07ff vberom.asm:475 + call 00614h ; e8 10 fe ; 0xc0801 vberom.asm:476 + and ax, strict byte 00001h ; 83 e0 01 ; 0xc0804 vberom.asm:477 + je short 00812h ; 74 09 ; 0xc0807 vberom.asm:478 + mov bx, 000bah ; bb ba 00 ; 0xc0809 vberom.asm:479 + mov ax, word [bx] ; 8b 07 ; 0xc080c vberom.asm:480 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc080e vberom.asm:481 + jne short 0081bh ; 75 09 ; 0xc0810 vberom.asm:482 + mov bx, strict word 00049h ; bb 49 00 ; 0xc0812 vberom.asm:484 + mov al, byte [bx] ; 8a 07 ; 0xc0815 vberom.asm:485 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc0817 vberom.asm:486 + db 032h, 0ffh + ; xor bh, bh ; 32 ff ; 0xc0819 vberom.asm:487 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc081b vberom.asm:489 + pop DS ; 1f ; 0xc081e vberom.asm:490 + retn ; c3 ; 0xc081f vberom.asm:491 + ; disGetNextSymbol 0xc0820 LB 0x122 -> off=0x0 cb=000000000000002d uValue=00000000000c0820 'vbe_biosfn_display_window_control' +vbe_biosfn_display_window_control: ; 0xc0820 LB 0x2d + cmp bl, 000h ; 80 fb 00 ; 0xc0820 vberom.asm:515 + jne short 00849h ; 75 24 ; 0xc0823 vberom.asm:516 + cmp bh, 001h ; 80 ff 01 ; 0xc0825 vberom.asm:517 + je short 00840h ; 74 16 ; 0xc0828 vberom.asm:518 + jc short 00830h ; 72 04 ; 0xc082a vberom.asm:519 + mov ax, 00100h ; b8 00 01 ; 0xc082c vberom.asm:520 + retn ; c3 ; 0xc082f vberom.asm:521 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc0830 vberom.asm:523 + call 00626h ; e8 f1 fd ; 0xc0832 vberom.asm:524 + call 0063ah ; e8 02 fe ; 0xc0835 vberom.asm:525 + db 03bh, 0c2h + ; cmp ax, dx ; 3b c2 ; 0xc0838 vberom.asm:526 + jne short 00849h ; 75 0d ; 0xc083a vberom.asm:527 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc083c vberom.asm:528 + retn ; c3 ; 0xc083f vberom.asm:529 + call 0063ah ; e8 f7 fd ; 0xc0840 vberom.asm:531 + db 08bh, 0d0h + ; mov dx, ax ; 8b d0 ; 0xc0843 vberom.asm:532 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc0845 vberom.asm:533 + retn ; c3 ; 0xc0848 vberom.asm:534 + mov ax, 0014fh ; b8 4f 01 ; 0xc0849 vberom.asm:536 + retn ; c3 ; 0xc084c vberom.asm:537 + ; disGetNextSymbol 0xc084d LB 0xf5 -> off=0x0 cb=0000000000000034 uValue=00000000000c084d 'vbe_biosfn_set_get_display_start' +vbe_biosfn_set_get_display_start: ; 0xc084d LB 0x34 + cmp bl, 080h ; 80 fb 80 ; 0xc084d vberom.asm:577 + je short 0085dh ; 74 0b ; 0xc0850 vberom.asm:578 + cmp bl, 001h ; 80 fb 01 ; 0xc0852 vberom.asm:579 + je short 00871h ; 74 1a ; 0xc0855 vberom.asm:580 + jc short 00863h ; 72 0a ; 0xc0857 vberom.asm:581 + mov ax, 00100h ; b8 00 01 ; 0xc0859 vberom.asm:582 + retn ; c3 ; 0xc085c vberom.asm:583 + call 005a9h ; e8 49 fd ; 0xc085d vberom.asm:585 + call 0059ch ; e8 39 fd ; 0xc0860 vberom.asm:586 + db 08bh, 0c1h + ; mov ax, cx ; 8b c1 ; 0xc0863 vberom.asm:588 + call 0068ch ; e8 24 fe ; 0xc0865 vberom.asm:589 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc0868 vberom.asm:590 + call 006b2h ; e8 45 fe ; 0xc086a vberom.asm:591 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc086d vberom.asm:592 + retn ; c3 ; 0xc0870 vberom.asm:593 + call 006a0h ; e8 2c fe ; 0xc0871 vberom.asm:595 + db 08bh, 0c8h + ; mov cx, ax ; 8b c8 ; 0xc0874 vberom.asm:596 + call 006c6h ; e8 4d fe ; 0xc0876 vberom.asm:597 + db 08bh, 0d0h + ; mov dx, ax ; 8b d0 ; 0xc0879 vberom.asm:598 + db 032h, 0ffh + ; xor bh, bh ; 32 ff ; 0xc087b vberom.asm:599 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc087d vberom.asm:600 + retn ; c3 ; 0xc0880 vberom.asm:601 + ; disGetNextSymbol 0xc0881 LB 0xc1 -> off=0x0 cb=0000000000000037 uValue=00000000000c0881 'vbe_biosfn_set_get_dac_palette_format' +vbe_biosfn_set_get_dac_palette_format: ; 0xc0881 LB 0x37 + cmp bl, 001h ; 80 fb 01 ; 0xc0881 vberom.asm:616 + je short 008a4h ; 74 1e ; 0xc0884 vberom.asm:617 + jc short 0088ch ; 72 04 ; 0xc0886 vberom.asm:618 + mov ax, 00100h ; b8 00 01 ; 0xc0888 vberom.asm:619 + retn ; c3 ; 0xc088b vberom.asm:620 + call 00614h ; e8 85 fd ; 0xc088c vberom.asm:622 + cmp bh, 006h ; 80 ff 06 ; 0xc088f vberom.asm:623 + je short 0089eh ; 74 0a ; 0xc0892 vberom.asm:624 + cmp bh, 008h ; 80 ff 08 ; 0xc0894 vberom.asm:625 + jne short 008b4h ; 75 1b ; 0xc0897 vberom.asm:626 + or ax, strict byte 00020h ; 83 c8 20 ; 0xc0899 vberom.asm:627 + jne short 008a1h ; 75 03 ; 0xc089c vberom.asm:628 + and ax, strict byte 0ffdfh ; 83 e0 df ; 0xc089e vberom.asm:630 + call 00600h ; e8 5c fd ; 0xc08a1 vberom.asm:632 + mov BH, strict byte 006h ; b7 06 ; 0xc08a4 vberom.asm:634 + call 00614h ; e8 6b fd ; 0xc08a6 vberom.asm:635 + and ax, strict byte 00020h ; 83 e0 20 ; 0xc08a9 vberom.asm:636 + je short 008b0h ; 74 02 ; 0xc08ac vberom.asm:637 + mov BH, strict byte 008h ; b7 08 ; 0xc08ae vberom.asm:638 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc08b0 vberom.asm:640 + retn ; c3 ; 0xc08b3 vberom.asm:641 + mov ax, 0014fh ; b8 4f 01 ; 0xc08b4 vberom.asm:643 + retn ; c3 ; 0xc08b7 vberom.asm:644 + ; disGetNextSymbol 0xc08b8 LB 0x8a -> off=0x0 cb=0000000000000073 uValue=00000000000c08b8 'vbe_biosfn_set_get_palette_data' +vbe_biosfn_set_get_palette_data: ; 0xc08b8 LB 0x73 + test bl, bl ; 84 db ; 0xc08b8 vberom.asm:683 + je short 008cbh ; 74 0f ; 0xc08ba vberom.asm:684 + cmp bl, 001h ; 80 fb 01 ; 0xc08bc vberom.asm:685 + je short 008f9h ; 74 38 ; 0xc08bf vberom.asm:686 + cmp bl, 003h ; 80 fb 03 ; 0xc08c1 vberom.asm:687 + jbe short 00927h ; 76 61 ; 0xc08c4 vberom.asm:688 + cmp bl, 080h ; 80 fb 80 ; 0xc08c6 vberom.asm:689 + jne short 00923h ; 75 58 ; 0xc08c9 vberom.asm:690 + push ax ; 50 ; 0xc08cb vberom.asm:135 + push cx ; 51 ; 0xc08cc vberom.asm:136 + push dx ; 52 ; 0xc08cd vberom.asm:137 + push bx ; 53 ; 0xc08ce vberom.asm:138 + push sp ; 54 ; 0xc08cf vberom.asm:139 + push bp ; 55 ; 0xc08d0 vberom.asm:140 + push si ; 56 ; 0xc08d1 vberom.asm:141 + push di ; 57 ; 0xc08d2 vberom.asm:142 + push DS ; 1e ; 0xc08d3 vberom.asm:696 + push ES ; 06 ; 0xc08d4 vberom.asm:697 + pop DS ; 1f ; 0xc08d5 vberom.asm:698 + db 08ah, 0c2h + ; mov al, dl ; 8a c2 ; 0xc08d6 vberom.asm:699 + mov dx, 003c8h ; ba c8 03 ; 0xc08d8 vberom.asm:700 + out DX, AL ; ee ; 0xc08db vberom.asm:701 + inc dx ; 42 ; 0xc08dc vberom.asm:702 + db 08bh, 0f7h + ; mov si, di ; 8b f7 ; 0xc08dd vberom.asm:703 + lodsw ; ad ; 0xc08df vberom.asm:714 + db 08bh, 0d8h + ; mov bx, ax ; 8b d8 ; 0xc08e0 vberom.asm:715 + lodsw ; ad ; 0xc08e2 vberom.asm:716 + out DX, AL ; ee ; 0xc08e3 vberom.asm:717 + db 08ah, 0c7h + ; mov al, bh ; 8a c7 ; 0xc08e4 vberom.asm:718 + out DX, AL ; ee ; 0xc08e6 vberom.asm:719 + db 08ah, 0c3h + ; mov al, bl ; 8a c3 ; 0xc08e7 vberom.asm:720 + out DX, AL ; ee ; 0xc08e9 vberom.asm:721 + loop 008dfh ; e2 f3 ; 0xc08ea vberom.asm:723 + pop DS ; 1f ; 0xc08ec vberom.asm:724 + pop di ; 5f ; 0xc08ed vberom.asm:154 + pop si ; 5e ; 0xc08ee vberom.asm:155 + pop bp ; 5d ; 0xc08ef vberom.asm:156 + pop bx ; 5b ; 0xc08f0 vberom.asm:157 + pop bx ; 5b ; 0xc08f1 vberom.asm:158 + pop dx ; 5a ; 0xc08f2 vberom.asm:159 + pop cx ; 59 ; 0xc08f3 vberom.asm:160 + pop ax ; 58 ; 0xc08f4 vberom.asm:161 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc08f5 vberom.asm:727 + retn ; c3 ; 0xc08f8 vberom.asm:728 + push ax ; 50 ; 0xc08f9 vberom.asm:135 + push cx ; 51 ; 0xc08fa vberom.asm:136 + push dx ; 52 ; 0xc08fb vberom.asm:137 + push bx ; 53 ; 0xc08fc vberom.asm:138 + push sp ; 54 ; 0xc08fd vberom.asm:139 + push bp ; 55 ; 0xc08fe vberom.asm:140 + push si ; 56 ; 0xc08ff vberom.asm:141 + push di ; 57 ; 0xc0900 vberom.asm:142 + db 08ah, 0c2h + ; mov al, dl ; 8a c2 ; 0xc0901 vberom.asm:732 + mov dx, 003c7h ; ba c7 03 ; 0xc0903 vberom.asm:733 + out DX, AL ; ee ; 0xc0906 vberom.asm:734 + add dl, 002h ; 80 c2 02 ; 0xc0907 vberom.asm:735 + db 033h, 0dbh + ; xor bx, bx ; 33 db ; 0xc090a vberom.asm:746 + in AL, DX ; ec ; 0xc090c vberom.asm:748 + db 08ah, 0d8h + ; mov bl, al ; 8a d8 ; 0xc090d vberom.asm:749 + in AL, DX ; ec ; 0xc090f vberom.asm:750 + db 08ah, 0e0h + ; mov ah, al ; 8a e0 ; 0xc0910 vberom.asm:751 + in AL, DX ; ec ; 0xc0912 vberom.asm:752 + stosw ; ab ; 0xc0913 vberom.asm:753 + db 08bh, 0c3h + ; mov ax, bx ; 8b c3 ; 0xc0914 vberom.asm:754 + stosw ; ab ; 0xc0916 vberom.asm:755 + loop 0090ch ; e2 f3 ; 0xc0917 vberom.asm:757 + pop di ; 5f ; 0xc0919 vberom.asm:154 + pop si ; 5e ; 0xc091a vberom.asm:155 + pop bp ; 5d ; 0xc091b vberom.asm:156 + pop bx ; 5b ; 0xc091c vberom.asm:157 + pop bx ; 5b ; 0xc091d vberom.asm:158 + pop dx ; 5a ; 0xc091e vberom.asm:159 + pop cx ; 59 ; 0xc091f vberom.asm:160 + pop ax ; 58 ; 0xc0920 vberom.asm:161 + jmp short 008f5h ; eb d2 ; 0xc0921 vberom.asm:759 + mov ax, 0014fh ; b8 4f 01 ; 0xc0923 vberom.asm:762 + retn ; c3 ; 0xc0926 vberom.asm:763 + mov ax, 0024fh ; b8 4f 02 ; 0xc0927 vberom.asm:765 + retn ; c3 ; 0xc092a vberom.asm:766 + ; disGetNextSymbol 0xc092b LB 0x17 -> off=0x0 cb=0000000000000017 uValue=00000000000c092b 'vbe_biosfn_return_protected_mode_interface' +vbe_biosfn_return_protected_mode_interface: ; 0xc092b LB 0x17 + test bl, bl ; 84 db ; 0xc092b vberom.asm:780 + jne short 0093eh ; 75 0f ; 0xc092d vberom.asm:781 + mov di, 0c000h ; bf 00 c0 ; 0xc092f vberom.asm:782 + mov es, di ; 8e c7 ; 0xc0932 vberom.asm:783 + mov di, 04400h ; bf 00 44 ; 0xc0934 vberom.asm:784 + mov cx, 00115h ; b9 15 01 ; 0xc0937 vberom.asm:785 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc093a vberom.asm:786 + retn ; c3 ; 0xc093d vberom.asm:787 + mov ax, 0014fh ; b8 4f 01 ; 0xc093e vberom.asm:789 + retn ; c3 ; 0xc0941 vberom.asm:790 + + ; Padding 0xbe bytes at 0xc0942 + times 190 db 0 + +section _TEXT progbits vstart=0xa00 align=1 ; size=0x342a class=CODE group=AUTO + ; disGetNextSymbol 0xc0a00 LB 0x342a -> off=0x0 cb=000000000000001c uValue=00000000000c0a00 'set_int_vector' +set_int_vector: ; 0xc0a00 LB 0x1c + push bx ; 53 ; 0xc0a00 vgabios.c:85 + push bp ; 55 ; 0xc0a01 + mov bp, sp ; 89 e5 ; 0xc0a02 + mov bl, al ; 88 c3 ; 0xc0a04 + xor bh, bh ; 30 ff ; 0xc0a06 vgabios.c:89 + sal bx, 1 ; d1 e3 ; 0xc0a08 + sal bx, 1 ; d1 e3 ; 0xc0a0a + xor ax, ax ; 31 c0 ; 0xc0a0c + mov es, ax ; 8e c0 ; 0xc0a0e + mov word [es:bx], dx ; 26 89 17 ; 0xc0a10 + mov word [es:bx+002h], 0c000h ; 26 c7 47 02 00 c0 ; 0xc0a13 + pop bp ; 5d ; 0xc0a19 vgabios.c:90 + pop bx ; 5b ; 0xc0a1a + retn ; c3 ; 0xc0a1b + ; disGetNextSymbol 0xc0a1c LB 0x340e -> off=0x0 cb=000000000000001c uValue=00000000000c0a1c 'init_vga_card' +init_vga_card: ; 0xc0a1c LB 0x1c + push bp ; 55 ; 0xc0a1c vgabios.c:141 + mov bp, sp ; 89 e5 ; 0xc0a1d + push dx ; 52 ; 0xc0a1f + mov AL, strict byte 0c3h ; b0 c3 ; 0xc0a20 vgabios.c:144 + mov dx, 003c2h ; ba c2 03 ; 0xc0a22 + out DX, AL ; ee ; 0xc0a25 + mov AL, strict byte 004h ; b0 04 ; 0xc0a26 vgabios.c:147 + mov dx, 003c4h ; ba c4 03 ; 0xc0a28 + out DX, AL ; ee ; 0xc0a2b + mov AL, strict byte 002h ; b0 02 ; 0xc0a2c vgabios.c:148 + mov dx, 003c5h ; ba c5 03 ; 0xc0a2e + out DX, AL ; ee ; 0xc0a31 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc0a32 vgabios.c:153 + pop dx ; 5a ; 0xc0a35 + pop bp ; 5d ; 0xc0a36 + retn ; c3 ; 0xc0a37 + ; disGetNextSymbol 0xc0a38 LB 0x33f2 -> off=0x0 cb=0000000000000032 uValue=00000000000c0a38 'init_bios_area' +init_bios_area: ; 0xc0a38 LB 0x32 + push bx ; 53 ; 0xc0a38 vgabios.c:162 + push bp ; 55 ; 0xc0a39 + mov bp, sp ; 89 e5 ; 0xc0a3a + xor bx, bx ; 31 db ; 0xc0a3c vgabios.c:166 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0a3e + mov es, ax ; 8e c0 ; 0xc0a41 + mov al, byte [es:bx+010h] ; 26 8a 47 10 ; 0xc0a43 vgabios.c:169 + and AL, strict byte 0cfh ; 24 cf ; 0xc0a47 + or AL, strict byte 020h ; 0c 20 ; 0xc0a49 + mov byte [es:bx+010h], al ; 26 88 47 10 ; 0xc0a4b + mov byte [es:bx+00085h], 010h ; 26 c6 87 85 00 10 ; 0xc0a4f vgabios.c:173 + mov word [es:bx+00087h], 0f960h ; 26 c7 87 87 00 60 f9 ; 0xc0a55 vgabios.c:175 + mov byte [es:bx+00089h], 051h ; 26 c6 87 89 00 51 ; 0xc0a5c vgabios.c:179 + mov byte [es:bx+065h], 009h ; 26 c6 47 65 09 ; 0xc0a62 vgabios.c:181 + pop bp ; 5d ; 0xc0a67 vgabios.c:182 + pop bx ; 5b ; 0xc0a68 + retn ; c3 ; 0xc0a69 + ; disGetNextSymbol 0xc0a6a LB 0x33c0 -> off=0x0 cb=0000000000000022 uValue=00000000000c0a6a 'vgabios_init_func' +vgabios_init_func: ; 0xc0a6a LB 0x22 + inc bp ; 45 ; 0xc0a6a vgabios.c:222 + push bp ; 55 ; 0xc0a6b + mov bp, sp ; 89 e5 ; 0xc0a6c + call 00a1ch ; e8 ab ff ; 0xc0a6e vgabios.c:224 + call 00a38h ; e8 c4 ff ; 0xc0a71 vgabios.c:225 + call 0376eh ; e8 f7 2c ; 0xc0a74 vgabios.c:227 + mov dx, strict word 00022h ; ba 22 00 ; 0xc0a77 vgabios.c:229 + mov ax, strict word 00010h ; b8 10 00 ; 0xc0a7a + call 00a00h ; e8 80 ff ; 0xc0a7d + mov ax, strict word 00003h ; b8 03 00 ; 0xc0a80 vgabios.c:255 + db 032h, 0e4h + ; xor ah, ah ; 32 e4 ; 0xc0a83 + int 010h ; cd 10 ; 0xc0a85 + mov sp, bp ; 89 ec ; 0xc0a87 vgabios.c:258 + pop bp ; 5d ; 0xc0a89 + dec bp ; 4d ; 0xc0a8a + retf ; cb ; 0xc0a8b + ; disGetNextSymbol 0xc0a8c LB 0x339e -> off=0x0 cb=0000000000000046 uValue=00000000000c0a8c 'vga_get_cursor_pos' +vga_get_cursor_pos: ; 0xc0a8c LB 0x46 + push bp ; 55 ; 0xc0a8c vgabios.c:327 + mov bp, sp ; 89 e5 ; 0xc0a8d + push cx ; 51 ; 0xc0a8f + push si ; 56 ; 0xc0a90 + mov cl, al ; 88 c1 ; 0xc0a91 + mov si, dx ; 89 d6 ; 0xc0a93 + cmp AL, strict byte 007h ; 3c 07 ; 0xc0a95 vgabios.c:329 + jbe short 00aa7h ; 76 0e ; 0xc0a97 + push SS ; 16 ; 0xc0a99 vgabios.c:330 + pop ES ; 07 ; 0xc0a9a + mov word [es:si], strict word 00000h ; 26 c7 04 00 00 ; 0xc0a9b + mov word [es:bx], strict word 00000h ; 26 c7 07 00 00 ; 0xc0aa0 vgabios.c:331 + jmp short 00acbh ; eb 24 ; 0xc0aa5 vgabios.c:332 + mov dx, strict word 00060h ; ba 60 00 ; 0xc0aa7 vgabios.c:334 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0aaa + call 031dah ; e8 2a 27 ; 0xc0aad + push SS ; 16 ; 0xc0ab0 + pop ES ; 07 ; 0xc0ab1 + mov word [es:si], ax ; 26 89 04 ; 0xc0ab2 + mov al, cl ; 88 c8 ; 0xc0ab5 vgabios.c:335 + xor ah, ah ; 30 e4 ; 0xc0ab7 + mov dx, ax ; 89 c2 ; 0xc0ab9 + sal dx, 1 ; d1 e2 ; 0xc0abb + add dx, strict byte 00050h ; 83 c2 50 ; 0xc0abd + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ac0 + call 031dah ; e8 14 27 ; 0xc0ac3 + push SS ; 16 ; 0xc0ac6 + pop ES ; 07 ; 0xc0ac7 + mov word [es:bx], ax ; 26 89 07 ; 0xc0ac8 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc0acb vgabios.c:337 + pop si ; 5e ; 0xc0ace + pop cx ; 59 ; 0xc0acf + pop bp ; 5d ; 0xc0ad0 + retn ; c3 ; 0xc0ad1 + ; disGetNextSymbol 0xc0ad2 LB 0x3358 -> off=0x0 cb=000000000000009f uValue=00000000000c0ad2 'vga_read_char_attr' +vga_read_char_attr: ; 0xc0ad2 LB 0x9f + push bp ; 55 ; 0xc0ad2 vgabios.c:340 + mov bp, sp ; 89 e5 ; 0xc0ad3 + push bx ; 53 ; 0xc0ad5 + push cx ; 51 ; 0xc0ad6 + push si ; 56 ; 0xc0ad7 + push di ; 57 ; 0xc0ad8 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc0ad9 + mov ch, al ; 88 c5 ; 0xc0adc + mov si, dx ; 89 d6 ; 0xc0ade + mov dx, strict word 00049h ; ba 49 00 ; 0xc0ae0 vgabios.c:347 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ae3 + call 031beh ; e8 d5 26 ; 0xc0ae6 + xor ah, ah ; 30 e4 ; 0xc0ae9 vgabios.c:348 + call 03193h ; e8 a5 26 ; 0xc0aeb + mov cl, al ; 88 c1 ; 0xc0aee + cmp AL, strict byte 0ffh ; 3c ff ; 0xc0af0 vgabios.c:349 + je short 00b68h ; 74 74 ; 0xc0af2 + mov al, ch ; 88 e8 ; 0xc0af4 vgabios.c:353 + xor ah, ah ; 30 e4 ; 0xc0af6 + lea bx, [bp-012h] ; 8d 5e ee ; 0xc0af8 + lea dx, [bp-010h] ; 8d 56 f0 ; 0xc0afb + call 00a8ch ; e8 8b ff ; 0xc0afe + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc0b01 vgabios.c:354 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc0b04 + mov ax, word [bp-012h] ; 8b 46 ee ; 0xc0b07 vgabios.c:355 + mov al, ah ; 88 e0 ; 0xc0b0a + xor ah, ah ; 30 e4 ; 0xc0b0c + mov word [bp-00eh], ax ; 89 46 f2 ; 0xc0b0e + mov dx, 00084h ; ba 84 00 ; 0xc0b11 vgabios.c:358 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0b14 + call 031beh ; e8 a4 26 ; 0xc0b17 + xor ah, ah ; 30 e4 ; 0xc0b1a + inc ax ; 40 ; 0xc0b1c + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc0b1d + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0b20 vgabios.c:359 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0b23 + call 031dah ; e8 b1 26 ; 0xc0b26 + mov di, ax ; 89 c7 ; 0xc0b29 + mov bl, cl ; 88 cb ; 0xc0b2b vgabios.c:361 + xor bh, bh ; 30 ff ; 0xc0b2d + mov CL, strict byte 003h ; b1 03 ; 0xc0b2f + sal bx, CL ; d3 e3 ; 0xc0b31 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc0b33 + jne short 00b68h ; 75 2e ; 0xc0b38 + mul word [bp-00ch] ; f7 66 f4 ; 0xc0b3a vgabios.c:363 + sal ax, 1 ; d1 e0 ; 0xc0b3d + or AL, strict byte 0ffh ; 0c ff ; 0xc0b3f + mov cl, ch ; 88 e9 ; 0xc0b41 + xor ch, ch ; 30 ed ; 0xc0b43 + inc ax ; 40 ; 0xc0b45 + mul cx ; f7 e1 ; 0xc0b46 + mov cx, ax ; 89 c1 ; 0xc0b48 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc0b4a + xor ah, ah ; 30 e4 ; 0xc0b4d + mul di ; f7 e7 ; 0xc0b4f + mov dx, ax ; 89 c2 ; 0xc0b51 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc0b53 + xor ah, ah ; 30 e4 ; 0xc0b56 + add dx, ax ; 01 c2 ; 0xc0b58 + sal dx, 1 ; d1 e2 ; 0xc0b5a + add dx, cx ; 01 ca ; 0xc0b5c + mov ax, word [bx+04632h] ; 8b 87 32 46 ; 0xc0b5e vgabios.c:364 + call 031dah ; e8 75 26 ; 0xc0b62 + mov word [ss:si], ax ; 36 89 04 ; 0xc0b65 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc0b68 vgabios.c:371 + pop di ; 5f ; 0xc0b6b + pop si ; 5e ; 0xc0b6c + pop cx ; 59 ; 0xc0b6d + pop bx ; 5b ; 0xc0b6e + pop bp ; 5d ; 0xc0b6f + retn ; c3 ; 0xc0b70 + ; disGetNextSymbol 0xc0b71 LB 0x32b9 -> off=0x10 cb=000000000000007b uValue=00000000000c0b81 'vga_get_font_info' + db 096h, 00bh, 0d4h, 00bh, 0d9h, 00bh, 0e1h, 00bh, 0e6h, 00bh, 0ebh, 00bh, 0f0h, 00bh, 0f5h, 00bh +vga_get_font_info: ; 0xc0b81 LB 0x7b + push bp ; 55 ; 0xc0b81 vgabios.c:373 + mov bp, sp ; 89 e5 ; 0xc0b82 + push si ; 56 ; 0xc0b84 + push di ; 57 ; 0xc0b85 + mov si, dx ; 89 d6 ; 0xc0b86 + cmp ax, strict word 00007h ; 3d 07 00 ; 0xc0b88 vgabios.c:378 + jnbe short 00bcbh ; 77 3e ; 0xc0b8b + mov di, ax ; 89 c7 ; 0xc0b8d + sal di, 1 ; d1 e7 ; 0xc0b8f + jmp word [cs:di+00b71h] ; 2e ff a5 71 0b ; 0xc0b91 + mov dx, strict word 0007ch ; ba 7c 00 ; 0xc0b96 vgabios.c:380 + xor ax, ax ; 31 c0 ; 0xc0b99 + call 031f6h ; e8 58 26 ; 0xc0b9b + push SS ; 16 ; 0xc0b9e vgabios.c:381 + pop ES ; 07 ; 0xc0b9f + mov word [es:bx], ax ; 26 89 07 ; 0xc0ba0 + mov word [es:si], dx ; 26 89 14 ; 0xc0ba3 + mov dx, 00085h ; ba 85 00 ; 0xc0ba6 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ba9 + call 031beh ; e8 0f 26 ; 0xc0bac + xor ah, ah ; 30 e4 ; 0xc0baf + push SS ; 16 ; 0xc0bb1 + pop ES ; 07 ; 0xc0bb2 + mov bx, cx ; 89 cb ; 0xc0bb3 + mov word [es:bx], ax ; 26 89 07 ; 0xc0bb5 + mov dx, 00084h ; ba 84 00 ; 0xc0bb8 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0bbb + call 031beh ; e8 fd 25 ; 0xc0bbe + xor ah, ah ; 30 e4 ; 0xc0bc1 + push SS ; 16 ; 0xc0bc3 + pop ES ; 07 ; 0xc0bc4 + mov bx, word [bp+004h] ; 8b 5e 04 ; 0xc0bc5 + mov word [es:bx], ax ; 26 89 07 ; 0xc0bc8 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc0bcb + pop di ; 5f ; 0xc0bce + pop si ; 5e ; 0xc0bcf + pop bp ; 5d ; 0xc0bd0 + retn 00002h ; c2 02 00 ; 0xc0bd1 + mov dx, 0010ch ; ba 0c 01 ; 0xc0bd4 vgabios.c:383 + jmp short 00b99h ; eb c0 ; 0xc0bd7 + mov ax, 05bech ; b8 ec 5b ; 0xc0bd9 vgabios.c:386 + mov dx, 0c000h ; ba 00 c0 ; 0xc0bdc + jmp short 00b9eh ; eb bd ; 0xc0bdf vgabios.c:387 + mov ax, 053ech ; b8 ec 53 ; 0xc0be1 vgabios.c:389 + jmp short 00bdch ; eb f6 ; 0xc0be4 + mov ax, 057ech ; b8 ec 57 ; 0xc0be6 vgabios.c:392 + jmp short 00bdch ; eb f1 ; 0xc0be9 + mov ax, 079ech ; b8 ec 79 ; 0xc0beb vgabios.c:395 + jmp short 00bdch ; eb ec ; 0xc0bee + mov ax, 069ech ; b8 ec 69 ; 0xc0bf0 vgabios.c:398 + jmp short 00bdch ; eb e7 ; 0xc0bf3 + mov ax, 07b19h ; b8 19 7b ; 0xc0bf5 vgabios.c:401 + jmp short 00bdch ; eb e2 ; 0xc0bf8 + jmp short 00bcbh ; eb cf ; 0xc0bfa vgabios.c:407 + ; disGetNextSymbol 0xc0bfc LB 0x322e -> off=0x0 cb=0000000000000143 uValue=00000000000c0bfc 'vga_read_pixel' +vga_read_pixel: ; 0xc0bfc LB 0x143 + push bp ; 55 ; 0xc0bfc vgabios.c:420 + mov bp, sp ; 89 e5 ; 0xc0bfd + push si ; 56 ; 0xc0bff + push di ; 57 ; 0xc0c00 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc0c01 + mov si, dx ; 89 d6 ; 0xc0c04 + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc0c06 + mov di, cx ; 89 cf ; 0xc0c09 + mov dx, strict word 00049h ; ba 49 00 ; 0xc0c0b vgabios.c:426 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0c0e + call 031beh ; e8 aa 25 ; 0xc0c11 + xor ah, ah ; 30 e4 ; 0xc0c14 vgabios.c:427 + call 03193h ; e8 7a 25 ; 0xc0c16 + mov ch, al ; 88 c5 ; 0xc0c19 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc0c1b vgabios.c:428 + je short 00c2eh ; 74 0f ; 0xc0c1d + mov bl, al ; 88 c3 ; 0xc0c1f vgabios.c:430 + xor bh, bh ; 30 ff ; 0xc0c21 + mov CL, strict byte 003h ; b1 03 ; 0xc0c23 + sal bx, CL ; d3 e3 ; 0xc0c25 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc0c27 + jne short 00c31h ; 75 03 ; 0xc0c2c + jmp near 00d38h ; e9 07 01 ; 0xc0c2e vgabios.c:431 + mov bl, byte [bx+04630h] ; 8a 9f 30 46 ; 0xc0c31 vgabios.c:434 + cmp bl, cl ; 38 cb ; 0xc0c35 + jc short 00c48h ; 72 0f ; 0xc0c37 + jbe short 00c50h ; 76 15 ; 0xc0c39 + cmp bl, 005h ; 80 fb 05 ; 0xc0c3b + je short 00ca8h ; 74 68 ; 0xc0c3e + cmp bl, 004h ; 80 fb 04 ; 0xc0c40 + je short 00c50h ; 74 0b ; 0xc0c43 + jmp near 00d33h ; e9 eb 00 ; 0xc0c45 + cmp bl, 002h ; 80 fb 02 ; 0xc0c48 + je short 00cadh ; 74 60 ; 0xc0c4b + jmp near 00d33h ; e9 e3 00 ; 0xc0c4d + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0c50 vgabios.c:437 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0c53 + call 031dah ; e8 81 25 ; 0xc0c56 + mov bx, ax ; 89 c3 ; 0xc0c59 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc0c5b + mul bx ; f7 e3 ; 0xc0c5e + mov CL, strict byte 003h ; b1 03 ; 0xc0c60 + mov bx, si ; 89 f3 ; 0xc0c62 + shr bx, CL ; d3 eb ; 0xc0c64 + add bx, ax ; 01 c3 ; 0xc0c66 + mov cx, si ; 89 f1 ; 0xc0c68 vgabios.c:438 + and cx, strict byte 00007h ; 83 e1 07 ; 0xc0c6a + mov ax, 00080h ; b8 80 00 ; 0xc0c6d + sar ax, CL ; d3 f8 ; 0xc0c70 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc0c72 + mov byte [bp-006h], ch ; 88 6e fa ; 0xc0c75 vgabios.c:440 + jmp short 00c80h ; eb 06 ; 0xc0c78 + cmp byte [bp-006h], 004h ; 80 7e fa 04 ; 0xc0c7a + jnc short 00caah ; 73 2a ; 0xc0c7e + mov ah, byte [bp-006h] ; 8a 66 fa ; 0xc0c80 vgabios.c:441 + xor al, al ; 30 c0 ; 0xc0c83 + or AL, strict byte 004h ; 0c 04 ; 0xc0c85 + mov dx, 003ceh ; ba ce 03 ; 0xc0c87 + out DX, ax ; ef ; 0xc0c8a + mov dx, bx ; 89 da ; 0xc0c8b vgabios.c:442 + mov ax, 0a000h ; b8 00 a0 ; 0xc0c8d + call 031beh ; e8 2b 25 ; 0xc0c90 + and al, byte [bp-008h] ; 22 46 f8 ; 0xc0c93 + test al, al ; 84 c0 ; 0xc0c96 vgabios.c:443 + jbe short 00ca3h ; 76 09 ; 0xc0c98 + mov cl, byte [bp-006h] ; 8a 4e fa ; 0xc0c9a vgabios.c:444 + mov AL, strict byte 001h ; b0 01 ; 0xc0c9d + sal al, CL ; d2 e0 ; 0xc0c9f + or ch, al ; 08 c5 ; 0xc0ca1 + inc byte [bp-006h] ; fe 46 fa ; 0xc0ca3 vgabios.c:445 + jmp short 00c7ah ; eb d2 ; 0xc0ca6 + jmp short 00d13h ; eb 69 ; 0xc0ca8 + jmp near 00d35h ; e9 88 00 ; 0xc0caa + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc0cad vgabios.c:448 + shr ax, 1 ; d1 e8 ; 0xc0cb0 + mov bx, strict word 00050h ; bb 50 00 ; 0xc0cb2 + mul bx ; f7 e3 ; 0xc0cb5 + mov bx, si ; 89 f3 ; 0xc0cb7 + shr bx, 1 ; d1 eb ; 0xc0cb9 + shr bx, 1 ; d1 eb ; 0xc0cbb + add bx, ax ; 01 c3 ; 0xc0cbd + test byte [bp-00ah], 001h ; f6 46 f6 01 ; 0xc0cbf vgabios.c:449 + je short 00cc8h ; 74 03 ; 0xc0cc3 + add bh, 020h ; 80 c7 20 ; 0xc0cc5 vgabios.c:450 + mov dx, bx ; 89 da ; 0xc0cc8 vgabios.c:451 + mov ax, 0b800h ; b8 00 b8 ; 0xc0cca + call 031beh ; e8 ee 24 ; 0xc0ccd + mov bl, ch ; 88 eb ; 0xc0cd0 vgabios.c:452 + xor bh, bh ; 30 ff ; 0xc0cd2 + mov CL, strict byte 003h ; b1 03 ; 0xc0cd4 + sal bx, CL ; d3 e3 ; 0xc0cd6 + cmp byte [bx+04631h], 002h ; 80 bf 31 46 02 ; 0xc0cd8 + jne short 00cfah ; 75 1b ; 0xc0cdd + mov cx, si ; 89 f1 ; 0xc0cdf vgabios.c:453 + xor ch, ch ; 30 ed ; 0xc0ce1 + and cl, 003h ; 80 e1 03 ; 0xc0ce3 + mov bx, strict word 00003h ; bb 03 00 ; 0xc0ce6 + sub bx, cx ; 29 cb ; 0xc0ce9 + mov cx, bx ; 89 d9 ; 0xc0ceb + sal cx, 1 ; d1 e1 ; 0xc0ced + xor ah, ah ; 30 e4 ; 0xc0cef + sar ax, CL ; d3 f8 ; 0xc0cf1 + mov ch, al ; 88 c5 ; 0xc0cf3 + and ch, 003h ; 80 e5 03 ; 0xc0cf5 + jmp short 00d35h ; eb 3b ; 0xc0cf8 vgabios.c:454 + mov cx, si ; 89 f1 ; 0xc0cfa vgabios.c:455 + xor ch, ch ; 30 ed ; 0xc0cfc + and cl, 007h ; 80 e1 07 ; 0xc0cfe + mov bx, strict word 00007h ; bb 07 00 ; 0xc0d01 + sub bx, cx ; 29 cb ; 0xc0d04 + mov cx, bx ; 89 d9 ; 0xc0d06 + xor ah, ah ; 30 e4 ; 0xc0d08 + sar ax, CL ; d3 f8 ; 0xc0d0a + mov ch, al ; 88 c5 ; 0xc0d0c + and ch, 001h ; 80 e5 01 ; 0xc0d0e + jmp short 00d35h ; eb 22 ; 0xc0d11 vgabios.c:456 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0d13 vgabios.c:458 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0d16 + call 031dah ; e8 be 24 ; 0xc0d19 + mov bx, ax ; 89 c3 ; 0xc0d1c + sal bx, CL ; d3 e3 ; 0xc0d1e + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc0d20 + mul bx ; f7 e3 ; 0xc0d23 + mov dx, si ; 89 f2 ; 0xc0d25 + add dx, ax ; 01 c2 ; 0xc0d27 + mov ax, 0a000h ; b8 00 a0 ; 0xc0d29 + call 031beh ; e8 8f 24 ; 0xc0d2c + mov ch, al ; 88 c5 ; 0xc0d2f + jmp short 00d35h ; eb 02 ; 0xc0d31 vgabios.c:460 + xor ch, ch ; 30 ed ; 0xc0d33 vgabios.c:465 + mov byte [ss:di], ch ; 36 88 2d ; 0xc0d35 vgabios.c:467 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc0d38 vgabios.c:468 + pop di ; 5f ; 0xc0d3b + pop si ; 5e ; 0xc0d3c + pop bp ; 5d ; 0xc0d3d + retn ; c3 ; 0xc0d3e + ; disGetNextSymbol 0xc0d3f LB 0x30eb -> off=0x0 cb=000000000000009f uValue=00000000000c0d3f 'biosfn_perform_gray_scale_summing' +biosfn_perform_gray_scale_summing: ; 0xc0d3f LB 0x9f + push bp ; 55 ; 0xc0d3f vgabios.c:473 + mov bp, sp ; 89 e5 ; 0xc0d40 + push bx ; 53 ; 0xc0d42 + push cx ; 51 ; 0xc0d43 + push si ; 56 ; 0xc0d44 + push di ; 57 ; 0xc0d45 + push ax ; 50 ; 0xc0d46 + push ax ; 50 ; 0xc0d47 + mov bx, ax ; 89 c3 ; 0xc0d48 + mov di, dx ; 89 d7 ; 0xc0d4a + mov dx, 003dah ; ba da 03 ; 0xc0d4c vgabios.c:478 + in AL, DX ; ec ; 0xc0d4f + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d50 + xor al, al ; 30 c0 ; 0xc0d52 vgabios.c:479 + mov dx, 003c0h ; ba c0 03 ; 0xc0d54 + out DX, AL ; ee ; 0xc0d57 + xor si, si ; 31 f6 ; 0xc0d58 vgabios.c:481 + cmp si, di ; 39 fe ; 0xc0d5a + jnc short 00dc3h ; 73 65 ; 0xc0d5c + mov al, bl ; 88 d8 ; 0xc0d5e vgabios.c:484 + mov dx, 003c7h ; ba c7 03 ; 0xc0d60 + out DX, AL ; ee ; 0xc0d63 + mov dx, 003c9h ; ba c9 03 ; 0xc0d64 vgabios.c:486 + in AL, DX ; ec ; 0xc0d67 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d68 + mov cx, ax ; 89 c1 ; 0xc0d6a + in AL, DX ; ec ; 0xc0d6c vgabios.c:487 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d6d + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc0d6f + in AL, DX ; ec ; 0xc0d72 vgabios.c:488 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0d73 + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc0d75 + mov al, cl ; 88 c8 ; 0xc0d78 vgabios.c:491 + xor ah, ah ; 30 e4 ; 0xc0d7a + mov cx, strict word 0004dh ; b9 4d 00 ; 0xc0d7c + imul cx ; f7 e9 ; 0xc0d7f + mov cx, ax ; 89 c1 ; 0xc0d81 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc0d83 + xor ah, ah ; 30 e4 ; 0xc0d86 + mov dx, 00097h ; ba 97 00 ; 0xc0d88 + imul dx ; f7 ea ; 0xc0d8b + add cx, ax ; 01 c1 ; 0xc0d8d + mov word [bp-00ah], cx ; 89 4e f6 ; 0xc0d8f + mov cl, byte [bp-00ch] ; 8a 4e f4 ; 0xc0d92 + xor ch, ch ; 30 ed ; 0xc0d95 + mov ax, cx ; 89 c8 ; 0xc0d97 + mov dx, strict word 0001ch ; ba 1c 00 ; 0xc0d99 + imul dx ; f7 ea ; 0xc0d9c + add ax, word [bp-00ah] ; 03 46 f6 ; 0xc0d9e + add ax, 00080h ; 05 80 00 ; 0xc0da1 + mov al, ah ; 88 e0 ; 0xc0da4 + cbw ; 98 ; 0xc0da6 + mov cx, ax ; 89 c1 ; 0xc0da7 + cmp ax, strict word 0003fh ; 3d 3f 00 ; 0xc0da9 vgabios.c:493 + jbe short 00db1h ; 76 03 ; 0xc0dac + mov cx, strict word 0003fh ; b9 3f 00 ; 0xc0dae + mov al, bl ; 88 d8 ; 0xc0db1 vgabios.c:496 + mov dx, 003c8h ; ba c8 03 ; 0xc0db3 + out DX, AL ; ee ; 0xc0db6 + mov al, cl ; 88 c8 ; 0xc0db7 vgabios.c:498 + mov dx, 003c9h ; ba c9 03 ; 0xc0db9 + out DX, AL ; ee ; 0xc0dbc + out DX, AL ; ee ; 0xc0dbd vgabios.c:499 + out DX, AL ; ee ; 0xc0dbe vgabios.c:500 + inc bx ; 43 ; 0xc0dbf vgabios.c:501 + inc si ; 46 ; 0xc0dc0 vgabios.c:502 + jmp short 00d5ah ; eb 97 ; 0xc0dc1 + mov dx, 003dah ; ba da 03 ; 0xc0dc3 vgabios.c:503 + in AL, DX ; ec ; 0xc0dc6 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0dc7 + mov AL, strict byte 020h ; b0 20 ; 0xc0dc9 vgabios.c:504 + mov dx, 003c0h ; ba c0 03 ; 0xc0dcb + out DX, AL ; ee ; 0xc0dce + mov dx, 003dah ; ba da 03 ; 0xc0dcf vgabios.c:506 + in AL, DX ; ec ; 0xc0dd2 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc0dd3 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc0dd5 vgabios.c:508 + pop di ; 5f ; 0xc0dd8 + pop si ; 5e ; 0xc0dd9 + pop cx ; 59 ; 0xc0dda + pop bx ; 5b ; 0xc0ddb + pop bp ; 5d ; 0xc0ddc + retn ; c3 ; 0xc0ddd + ; disGetNextSymbol 0xc0dde LB 0x304c -> off=0x0 cb=00000000000000b3 uValue=00000000000c0dde 'biosfn_set_cursor_shape' +biosfn_set_cursor_shape: ; 0xc0dde LB 0xb3 + push bp ; 55 ; 0xc0dde vgabios.c:511 + mov bp, sp ; 89 e5 ; 0xc0ddf + push bx ; 53 ; 0xc0de1 + push cx ; 51 ; 0xc0de2 + push si ; 56 ; 0xc0de3 + push di ; 57 ; 0xc0de4 + push ax ; 50 ; 0xc0de5 + push ax ; 50 ; 0xc0de6 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc0de7 + mov ch, dl ; 88 d5 ; 0xc0dea + and byte [bp-00ah], 03fh ; 80 66 f6 3f ; 0xc0dec vgabios.c:515 + and ch, 01fh ; 80 e5 1f ; 0xc0df0 vgabios.c:516 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc0df3 vgabios.c:518 + xor ah, ah ; 30 e4 ; 0xc0df6 + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc0df8 + mov bh, byte [bp-00ch] ; 8a 7e f4 ; 0xc0dfb + mov al, ch ; 88 e8 ; 0xc0dfe + mov si, ax ; 89 c6 ; 0xc0e00 + mov bl, ch ; 88 eb ; 0xc0e02 + mov dx, strict word 00060h ; ba 60 00 ; 0xc0e04 vgabios.c:519 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e07 + call 031e8h ; e8 db 23 ; 0xc0e0a + mov dx, 00089h ; ba 89 00 ; 0xc0e0d vgabios.c:521 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e10 + call 031beh ; e8 a8 23 ; 0xc0e13 + mov cl, al ; 88 c1 ; 0xc0e16 + mov dx, 00085h ; ba 85 00 ; 0xc0e18 vgabios.c:522 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e1b + call 031dah ; e8 b9 23 ; 0xc0e1e + mov bx, ax ; 89 c3 ; 0xc0e21 + mov di, ax ; 89 c7 ; 0xc0e23 + test cl, 001h ; f6 c1 01 ; 0xc0e25 vgabios.c:523 + je short 00e65h ; 74 3b ; 0xc0e28 + cmp ax, strict word 00008h ; 3d 08 00 ; 0xc0e2a + jbe short 00e65h ; 76 36 ; 0xc0e2d + cmp ch, 008h ; 80 fd 08 ; 0xc0e2f + jnc short 00e65h ; 73 31 ; 0xc0e32 + cmp byte [bp-00ah], 020h ; 80 7e f6 20 ; 0xc0e34 + jnc short 00e65h ; 73 2b ; 0xc0e38 + mov ax, word [bp-00ch] ; 8b 46 f4 ; 0xc0e3a vgabios.c:525 + inc ax ; 40 ; 0xc0e3d + cmp si, ax ; 39 c6 ; 0xc0e3e + je short 00e4bh ; 74 09 ; 0xc0e40 + mul bx ; f7 e3 ; 0xc0e42 vgabios.c:527 + mov CL, strict byte 003h ; b1 03 ; 0xc0e44 + shr ax, CL ; d3 e8 ; 0xc0e46 + dec ax ; 48 ; 0xc0e48 + jmp short 00e54h ; eb 09 ; 0xc0e49 vgabios.c:529 + inc ax ; 40 ; 0xc0e4b vgabios.c:531 + mul bx ; f7 e3 ; 0xc0e4c + mov CL, strict byte 003h ; b1 03 ; 0xc0e4e + shr ax, CL ; d3 e8 ; 0xc0e50 + dec ax ; 48 ; 0xc0e52 + dec ax ; 48 ; 0xc0e53 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc0e54 + mov al, ch ; 88 e8 ; 0xc0e57 vgabios.c:533 + xor ah, ah ; 30 e4 ; 0xc0e59 + inc ax ; 40 ; 0xc0e5b + mul di ; f7 e7 ; 0xc0e5c + mov CL, strict byte 003h ; b1 03 ; 0xc0e5e + shr ax, CL ; d3 e8 ; 0xc0e60 + dec ax ; 48 ; 0xc0e62 + mov ch, al ; 88 c5 ; 0xc0e63 + mov dx, strict word 00063h ; ba 63 00 ; 0xc0e65 vgabios.c:537 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0e68 + call 031dah ; e8 6c 23 ; 0xc0e6b + mov bx, ax ; 89 c3 ; 0xc0e6e + mov AL, strict byte 00ah ; b0 0a ; 0xc0e70 vgabios.c:538 + mov dx, bx ; 89 da ; 0xc0e72 + out DX, AL ; ee ; 0xc0e74 + lea si, [bx+001h] ; 8d 77 01 ; 0xc0e75 vgabios.c:539 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc0e78 + mov dx, si ; 89 f2 ; 0xc0e7b + out DX, AL ; ee ; 0xc0e7d + mov AL, strict byte 00bh ; b0 0b ; 0xc0e7e vgabios.c:540 + mov dx, bx ; 89 da ; 0xc0e80 + out DX, AL ; ee ; 0xc0e82 + mov al, ch ; 88 e8 ; 0xc0e83 vgabios.c:541 + mov dx, si ; 89 f2 ; 0xc0e85 + out DX, AL ; ee ; 0xc0e87 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc0e88 vgabios.c:542 + pop di ; 5f ; 0xc0e8b + pop si ; 5e ; 0xc0e8c + pop cx ; 59 ; 0xc0e8d + pop bx ; 5b ; 0xc0e8e + pop bp ; 5d ; 0xc0e8f + retn ; c3 ; 0xc0e90 + ; disGetNextSymbol 0xc0e91 LB 0x2f99 -> off=0x0 cb=00000000000000a3 uValue=00000000000c0e91 'biosfn_set_cursor_pos' +biosfn_set_cursor_pos: ; 0xc0e91 LB 0xa3 + push bp ; 55 ; 0xc0e91 vgabios.c:545 + mov bp, sp ; 89 e5 ; 0xc0e92 + push bx ; 53 ; 0xc0e94 + push cx ; 51 ; 0xc0e95 + push si ; 56 ; 0xc0e96 + push ax ; 50 ; 0xc0e97 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc0e98 + mov cx, dx ; 89 d1 ; 0xc0e9b + cmp AL, strict byte 007h ; 3c 07 ; 0xc0e9d vgabios.c:551 + jbe short 00ea4h ; 76 03 ; 0xc0e9f + jmp near 00f2ch ; e9 88 00 ; 0xc0ea1 + xor ah, ah ; 30 e4 ; 0xc0ea4 vgabios.c:554 + mov dx, ax ; 89 c2 ; 0xc0ea6 + sal dx, 1 ; d1 e2 ; 0xc0ea8 + add dx, strict byte 00050h ; 83 c2 50 ; 0xc0eaa + mov bx, cx ; 89 cb ; 0xc0ead + mov ax, strict word 00040h ; b8 40 00 ; 0xc0eaf + call 031e8h ; e8 33 23 ; 0xc0eb2 + mov dx, strict word 00062h ; ba 62 00 ; 0xc0eb5 vgabios.c:557 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0eb8 + call 031beh ; e8 00 23 ; 0xc0ebb + cmp al, byte [bp-008h] ; 3a 46 f8 ; 0xc0ebe vgabios.c:558 + jne short 00f2ch ; 75 69 ; 0xc0ec1 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0ec3 vgabios.c:561 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ec6 + call 031dah ; e8 0e 23 ; 0xc0ec9 + mov bx, ax ; 89 c3 ; 0xc0ecc + mov dx, 00084h ; ba 84 00 ; 0xc0ece vgabios.c:562 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0ed1 + call 031beh ; e8 e7 22 ; 0xc0ed4 + xor ah, ah ; 30 e4 ; 0xc0ed7 + mov dx, ax ; 89 c2 ; 0xc0ed9 + inc dx ; 42 ; 0xc0edb + mov ax, bx ; 89 d8 ; 0xc0edc vgabios.c:567 + mul dx ; f7 e2 ; 0xc0ede + or AL, strict byte 0ffh ; 0c ff ; 0xc0ee0 + mov dx, ax ; 89 c2 ; 0xc0ee2 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc0ee4 + xor ah, ah ; 30 e4 ; 0xc0ee7 + mov si, ax ; 89 c6 ; 0xc0ee9 + mov ax, dx ; 89 d0 ; 0xc0eeb + inc ax ; 40 ; 0xc0eed + mul si ; f7 e6 ; 0xc0eee + mov dl, cl ; 88 ca ; 0xc0ef0 + xor dh, dh ; 30 f6 ; 0xc0ef2 + mov si, ax ; 89 c6 ; 0xc0ef4 + add si, dx ; 01 d6 ; 0xc0ef6 + mov al, ch ; 88 e8 ; 0xc0ef8 + xor ah, ah ; 30 e4 ; 0xc0efa + mul bx ; f7 e3 ; 0xc0efc + add si, ax ; 01 c6 ; 0xc0efe + mov dx, strict word 00063h ; ba 63 00 ; 0xc0f00 vgabios.c:570 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f03 + call 031dah ; e8 d1 22 ; 0xc0f06 + mov bx, ax ; 89 c3 ; 0xc0f09 + mov AL, strict byte 00eh ; b0 0e ; 0xc0f0b vgabios.c:571 + mov dx, bx ; 89 da ; 0xc0f0d + out DX, AL ; ee ; 0xc0f0f + mov cx, si ; 89 f1 ; 0xc0f10 vgabios.c:572 + mov cl, ch ; 88 e9 ; 0xc0f12 + xor ch, ch ; 30 ed ; 0xc0f14 + mov ax, cx ; 89 c8 ; 0xc0f16 + lea cx, [bx+001h] ; 8d 4f 01 ; 0xc0f18 + mov dx, cx ; 89 ca ; 0xc0f1b + out DX, AL ; ee ; 0xc0f1d + mov AL, strict byte 00fh ; b0 0f ; 0xc0f1e vgabios.c:573 + mov dx, bx ; 89 da ; 0xc0f20 + out DX, AL ; ee ; 0xc0f22 + and si, 000ffh ; 81 e6 ff 00 ; 0xc0f23 vgabios.c:574 + mov ax, si ; 89 f0 ; 0xc0f27 + mov dx, cx ; 89 ca ; 0xc0f29 + out DX, AL ; ee ; 0xc0f2b + lea sp, [bp-006h] ; 8d 66 fa ; 0xc0f2c vgabios.c:576 + pop si ; 5e ; 0xc0f2f + pop cx ; 59 ; 0xc0f30 + pop bx ; 5b ; 0xc0f31 + pop bp ; 5d ; 0xc0f32 + retn ; c3 ; 0xc0f33 + ; disGetNextSymbol 0xc0f34 LB 0x2ef6 -> off=0x0 cb=00000000000000e5 uValue=00000000000c0f34 'biosfn_set_active_page' +biosfn_set_active_page: ; 0xc0f34 LB 0xe5 + push bp ; 55 ; 0xc0f34 vgabios.c:579 + mov bp, sp ; 89 e5 ; 0xc0f35 + push bx ; 53 ; 0xc0f37 + push cx ; 51 ; 0xc0f38 + push dx ; 52 ; 0xc0f39 + push si ; 56 ; 0xc0f3a + push di ; 57 ; 0xc0f3b + push ax ; 50 ; 0xc0f3c + push ax ; 50 ; 0xc0f3d + mov ch, al ; 88 c5 ; 0xc0f3e + cmp AL, strict byte 007h ; 3c 07 ; 0xc0f40 vgabios.c:585 + jnbe short 00f58h ; 77 14 ; 0xc0f42 + mov dx, strict word 00049h ; ba 49 00 ; 0xc0f44 vgabios.c:588 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f47 + call 031beh ; e8 71 22 ; 0xc0f4a + xor ah, ah ; 30 e4 ; 0xc0f4d vgabios.c:589 + call 03193h ; e8 41 22 ; 0xc0f4f + mov cl, al ; 88 c1 ; 0xc0f52 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc0f54 vgabios.c:590 + jne short 00f5bh ; 75 03 ; 0xc0f56 + jmp near 0100fh ; e9 b4 00 ; 0xc0f58 + mov al, ch ; 88 e8 ; 0xc0f5b vgabios.c:593 + xor ah, ah ; 30 e4 ; 0xc0f5d + lea bx, [bp-00eh] ; 8d 5e f2 ; 0xc0f5f + lea dx, [bp-00ch] ; 8d 56 f4 ; 0xc0f62 + call 00a8ch ; e8 24 fb ; 0xc0f65 + mov bl, cl ; 88 cb ; 0xc0f68 vgabios.c:595 + xor bh, bh ; 30 ff ; 0xc0f6a + mov CL, strict byte 003h ; b1 03 ; 0xc0f6c + mov si, bx ; 89 de ; 0xc0f6e + sal si, CL ; d3 e6 ; 0xc0f70 + cmp byte [si+0462fh], 000h ; 80 bc 2f 46 00 ; 0xc0f72 + jne short 00fc0h ; 75 47 ; 0xc0f77 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc0f79 vgabios.c:598 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f7c + call 031dah ; e8 58 22 ; 0xc0f7f + mov bx, ax ; 89 c3 ; 0xc0f82 + mov dx, 00084h ; ba 84 00 ; 0xc0f84 vgabios.c:599 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0f87 + call 031beh ; e8 31 22 ; 0xc0f8a + xor ah, ah ; 30 e4 ; 0xc0f8d + mov dx, ax ; 89 c2 ; 0xc0f8f + inc dx ; 42 ; 0xc0f91 + mov ax, bx ; 89 d8 ; 0xc0f92 vgabios.c:602 + mul dx ; f7 e2 ; 0xc0f94 + mov si, ax ; 89 c6 ; 0xc0f96 + mov dx, ax ; 89 c2 ; 0xc0f98 + sal dx, 1 ; d1 e2 ; 0xc0f9a + or dl, 0ffh ; 80 ca ff ; 0xc0f9c + mov al, ch ; 88 e8 ; 0xc0f9f + xor ah, ah ; 30 e4 ; 0xc0fa1 + mov di, ax ; 89 c7 ; 0xc0fa3 + mov ax, dx ; 89 d0 ; 0xc0fa5 + inc ax ; 40 ; 0xc0fa7 + mul di ; f7 e7 ; 0xc0fa8 + mov bx, ax ; 89 c3 ; 0xc0faa + mov dx, strict word 0004eh ; ba 4e 00 ; 0xc0fac vgabios.c:603 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0faf + call 031e8h ; e8 33 22 ; 0xc0fb2 + or si, 000ffh ; 81 ce ff 00 ; 0xc0fb5 vgabios.c:606 + lea ax, [si+001h] ; 8d 44 01 ; 0xc0fb9 + mul di ; f7 e7 ; 0xc0fbc + jmp short 00fd0h ; eb 10 ; 0xc0fbe vgabios.c:608 + mov bl, byte [bx+046aeh] ; 8a 9f ae 46 ; 0xc0fc0 vgabios.c:610 + mov CL, strict byte 006h ; b1 06 ; 0xc0fc4 + sal bx, CL ; d3 e3 ; 0xc0fc6 + mov al, ch ; 88 e8 ; 0xc0fc8 + xor ah, ah ; 30 e4 ; 0xc0fca + mul word [bx+046c5h] ; f7 a7 c5 46 ; 0xc0fcc + mov bx, ax ; 89 c3 ; 0xc0fd0 + mov dx, strict word 00063h ; ba 63 00 ; 0xc0fd2 vgabios.c:614 + mov ax, strict word 00040h ; b8 40 00 ; 0xc0fd5 + call 031dah ; e8 ff 21 ; 0xc0fd8 + mov si, ax ; 89 c6 ; 0xc0fdb + mov AL, strict byte 00ch ; b0 0c ; 0xc0fdd vgabios.c:615 + mov dx, si ; 89 f2 ; 0xc0fdf + out DX, AL ; ee ; 0xc0fe1 + mov ax, bx ; 89 d8 ; 0xc0fe2 vgabios.c:616 + mov al, bh ; 88 f8 ; 0xc0fe4 + lea di, [si+001h] ; 8d 7c 01 ; 0xc0fe6 + mov dx, di ; 89 fa ; 0xc0fe9 + out DX, AL ; ee ; 0xc0feb + mov AL, strict byte 00dh ; b0 0d ; 0xc0fec vgabios.c:617 + mov dx, si ; 89 f2 ; 0xc0fee + out DX, AL ; ee ; 0xc0ff0 + mov al, bl ; 88 d8 ; 0xc0ff1 vgabios.c:618 + mov dx, di ; 89 fa ; 0xc0ff3 + out DX, AL ; ee ; 0xc0ff5 + mov al, ch ; 88 e8 ; 0xc0ff6 vgabios.c:621 + xor ah, bh ; 30 fc ; 0xc0ff8 + mov si, ax ; 89 c6 ; 0xc0ffa + mov bx, ax ; 89 c3 ; 0xc0ffc + mov dx, strict word 00062h ; ba 62 00 ; 0xc0ffe + mov ax, strict word 00040h ; b8 40 00 ; 0xc1001 + call 031cch ; e8 c5 21 ; 0xc1004 + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc1007 vgabios.c:628 + mov ax, si ; 89 f0 ; 0xc100a + call 00e91h ; e8 82 fe ; 0xc100c + lea sp, [bp-00ah] ; 8d 66 f6 ; 0xc100f vgabios.c:629 + pop di ; 5f ; 0xc1012 + pop si ; 5e ; 0xc1013 + pop dx ; 5a ; 0xc1014 + pop cx ; 59 ; 0xc1015 + pop bx ; 5b ; 0xc1016 + pop bp ; 5d ; 0xc1017 + retn ; c3 ; 0xc1018 + ; disGetNextSymbol 0xc1019 LB 0x2e11 -> off=0x0 cb=00000000000003ea uValue=00000000000c1019 'biosfn_set_video_mode' +biosfn_set_video_mode: ; 0xc1019 LB 0x3ea + push bp ; 55 ; 0xc1019 vgabios.c:649 + mov bp, sp ; 89 e5 ; 0xc101a + push bx ; 53 ; 0xc101c + push cx ; 51 ; 0xc101d + push dx ; 52 ; 0xc101e + push si ; 56 ; 0xc101f + push di ; 57 ; 0xc1020 + sub sp, strict byte 00014h ; 83 ec 14 ; 0xc1021 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc1024 + and AL, strict byte 080h ; 24 80 ; 0xc1027 vgabios.c:653 + mov byte [bp-012h], al ; 88 46 ee ; 0xc1029 + call 007e8h ; e8 b9 f7 ; 0xc102c vgabios.c:660 + test ax, ax ; 85 c0 ; 0xc102f + je short 0103fh ; 74 0c ; 0xc1031 + mov AL, strict byte 007h ; b0 07 ; 0xc1033 vgabios.c:662 + mov dx, 003c4h ; ba c4 03 ; 0xc1035 + out DX, AL ; ee ; 0xc1038 + xor al, al ; 30 c0 ; 0xc1039 vgabios.c:663 + mov dx, 003c5h ; ba c5 03 ; 0xc103b + out DX, AL ; ee ; 0xc103e + and byte [bp-00ch], 07fh ; 80 66 f4 7f ; 0xc103f vgabios.c:668 + cmp byte [bp-00ch], 007h ; 80 7e f4 07 ; 0xc1043 vgabios.c:672 + jne short 0104dh ; 75 04 ; 0xc1047 + mov byte [bp-00ch], 000h ; c6 46 f4 00 ; 0xc1049 vgabios.c:673 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc104d vgabios.c:676 + xor ah, ah ; 30 e4 ; 0xc1050 + call 03193h ; e8 3e 21 ; 0xc1052 + mov byte [bp-010h], al ; 88 46 f0 ; 0xc1055 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc1058 vgabios.c:682 + jne short 0105fh ; 75 03 ; 0xc105a + jmp near 013f9h ; e9 9a 03 ; 0xc105c + mov byte [bp-014h], al ; 88 46 ec ; 0xc105f vgabios.c:685 + mov byte [bp-013h], 000h ; c6 46 ed 00 ; 0xc1062 + mov bx, word [bp-014h] ; 8b 5e ec ; 0xc1066 + mov al, byte [bx+046aeh] ; 8a 87 ae 46 ; 0xc1069 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc106d + mov bl, al ; 88 c3 ; 0xc1070 vgabios.c:686 + xor bh, bh ; 30 ff ; 0xc1072 + mov CL, strict byte 006h ; b1 06 ; 0xc1074 + sal bx, CL ; d3 e3 ; 0xc1076 + mov al, byte [bx+046c2h] ; 8a 87 c2 46 ; 0xc1078 + xor ah, ah ; 30 e4 ; 0xc107c + mov word [bp-016h], ax ; 89 46 ea ; 0xc107e + mov al, byte [bx+046c3h] ; 8a 87 c3 46 ; 0xc1081 vgabios.c:687 + mov word [bp-01ch], ax ; 89 46 e4 ; 0xc1085 + mov al, byte [bx+046c4h] ; 8a 87 c4 46 ; 0xc1088 vgabios.c:688 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc108c + mov dx, 00087h ; ba 87 00 ; 0xc108f vgabios.c:691 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1092 + call 031beh ; e8 26 21 ; 0xc1095 + mov dx, 00088h ; ba 88 00 ; 0xc1098 vgabios.c:694 + mov ax, strict word 00040h ; b8 40 00 ; 0xc109b + call 031beh ; e8 1d 21 ; 0xc109e + mov dx, 00089h ; ba 89 00 ; 0xc10a1 vgabios.c:697 + mov ax, strict word 00040h ; b8 40 00 ; 0xc10a4 + call 031beh ; e8 14 21 ; 0xc10a7 + mov ch, al ; 88 c5 ; 0xc10aa + test AL, strict byte 008h ; a8 08 ; 0xc10ac vgabios.c:703 + jne short 010f5h ; 75 45 ; 0xc10ae + mov CL, strict byte 003h ; b1 03 ; 0xc10b0 vgabios.c:705 + mov bx, word [bp-014h] ; 8b 5e ec ; 0xc10b2 + sal bx, CL ; d3 e3 ; 0xc10b5 + mov al, byte [bx+04634h] ; 8a 87 34 46 ; 0xc10b7 + mov dx, 003c6h ; ba c6 03 ; 0xc10bb + out DX, AL ; ee ; 0xc10be + xor al, al ; 30 c0 ; 0xc10bf vgabios.c:708 + mov dx, 003c8h ; ba c8 03 ; 0xc10c1 + out DX, AL ; ee ; 0xc10c4 + mov bl, byte [bx+04635h] ; 8a 9f 35 46 ; 0xc10c5 vgabios.c:711 + cmp bl, 001h ; 80 fb 01 ; 0xc10c9 + jc short 010dbh ; 72 0d ; 0xc10cc + jbe short 010e4h ; 76 14 ; 0xc10ce + cmp bl, cl ; 38 cb ; 0xc10d0 + je short 010eeh ; 74 1a ; 0xc10d2 + cmp bl, 002h ; 80 fb 02 ; 0xc10d4 + je short 010e9h ; 74 10 ; 0xc10d7 + jmp short 010f1h ; eb 16 ; 0xc10d9 + test bl, bl ; 84 db ; 0xc10db + jne short 010f1h ; 75 12 ; 0xc10dd + mov di, 04e42h ; bf 42 4e ; 0xc10df vgabios.c:713 + jmp short 010f1h ; eb 0d ; 0xc10e2 vgabios.c:714 + mov di, 04f02h ; bf 02 4f ; 0xc10e4 vgabios.c:716 + jmp short 010f1h ; eb 08 ; 0xc10e7 vgabios.c:717 + mov di, 04fc2h ; bf c2 4f ; 0xc10e9 vgabios.c:719 + jmp short 010f1h ; eb 03 ; 0xc10ec vgabios.c:720 + mov di, 05082h ; bf 82 50 ; 0xc10ee vgabios.c:722 + xor bx, bx ; 31 db ; 0xc10f1 vgabios.c:726 + jmp short 010fdh ; eb 08 ; 0xc10f3 + jmp short 01149h ; eb 52 ; 0xc10f5 + cmp bx, 00100h ; 81 fb 00 01 ; 0xc10f7 + jnc short 0113ch ; 73 3f ; 0xc10fb + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc10fd vgabios.c:727 + xor ah, ah ; 30 e4 ; 0xc1100 + mov CL, strict byte 003h ; b1 03 ; 0xc1102 + mov si, ax ; 89 c6 ; 0xc1104 + sal si, CL ; d3 e6 ; 0xc1106 + mov al, byte [si+04635h] ; 8a 84 35 46 ; 0xc1108 + mov si, ax ; 89 c6 ; 0xc110c + mov al, byte [si+046beh] ; 8a 84 be 46 ; 0xc110e + cmp bx, ax ; 39 c3 ; 0xc1112 + jnbe short 01131h ; 77 1b ; 0xc1114 + mov ax, bx ; 89 d8 ; 0xc1116 vgabios.c:728 + mov dx, strict word 00003h ; ba 03 00 ; 0xc1118 + mul dx ; f7 e2 ; 0xc111b + mov si, di ; 89 fe ; 0xc111d + add si, ax ; 01 c6 ; 0xc111f + mov al, byte [si] ; 8a 04 ; 0xc1121 + mov dx, 003c9h ; ba c9 03 ; 0xc1123 + out DX, AL ; ee ; 0xc1126 + mov al, byte [si+001h] ; 8a 44 01 ; 0xc1127 vgabios.c:729 + out DX, AL ; ee ; 0xc112a + mov al, byte [si+002h] ; 8a 44 02 ; 0xc112b vgabios.c:730 + out DX, AL ; ee ; 0xc112e + jmp short 01139h ; eb 08 ; 0xc112f vgabios.c:732 + xor al, al ; 30 c0 ; 0xc1131 vgabios.c:733 + mov dx, 003c9h ; ba c9 03 ; 0xc1133 + out DX, AL ; ee ; 0xc1136 + out DX, AL ; ee ; 0xc1137 vgabios.c:734 + out DX, AL ; ee ; 0xc1138 vgabios.c:735 + inc bx ; 43 ; 0xc1139 vgabios.c:737 + jmp short 010f7h ; eb bb ; 0xc113a + test ch, 002h ; f6 c5 02 ; 0xc113c vgabios.c:738 + je short 01149h ; 74 08 ; 0xc113f + mov dx, 00100h ; ba 00 01 ; 0xc1141 vgabios.c:740 + xor ax, ax ; 31 c0 ; 0xc1144 + call 00d3fh ; e8 f6 fb ; 0xc1146 + mov dx, 003dah ; ba da 03 ; 0xc1149 vgabios.c:745 + in AL, DX ; ec ; 0xc114c + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc114d + xor bx, bx ; 31 db ; 0xc114f vgabios.c:748 + jmp short 01158h ; eb 05 ; 0xc1151 + cmp bx, strict byte 00013h ; 83 fb 13 ; 0xc1153 + jnbe short 01173h ; 77 1b ; 0xc1156 + mov al, bl ; 88 d8 ; 0xc1158 vgabios.c:749 + mov dx, 003c0h ; ba c0 03 ; 0xc115a + out DX, AL ; ee ; 0xc115d + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc115e vgabios.c:750 + xor ah, ah ; 30 e4 ; 0xc1161 + mov CL, strict byte 006h ; b1 06 ; 0xc1163 + mov si, ax ; 89 c6 ; 0xc1165 + sal si, CL ; d3 e6 ; 0xc1167 + add si, bx ; 01 de ; 0xc1169 + mov al, byte [si+046e5h] ; 8a 84 e5 46 ; 0xc116b + out DX, AL ; ee ; 0xc116f + inc bx ; 43 ; 0xc1170 vgabios.c:751 + jmp short 01153h ; eb e0 ; 0xc1171 + mov AL, strict byte 014h ; b0 14 ; 0xc1173 vgabios.c:752 + mov dx, 003c0h ; ba c0 03 ; 0xc1175 + out DX, AL ; ee ; 0xc1178 + xor al, al ; 30 c0 ; 0xc1179 vgabios.c:753 + out DX, AL ; ee ; 0xc117b + mov dx, 003c4h ; ba c4 03 ; 0xc117c vgabios.c:756 + out DX, AL ; ee ; 0xc117f + mov AL, strict byte 003h ; b0 03 ; 0xc1180 vgabios.c:757 + mov dx, 003c5h ; ba c5 03 ; 0xc1182 + out DX, AL ; ee ; 0xc1185 + mov bx, strict word 00001h ; bb 01 00 ; 0xc1186 vgabios.c:758 + jmp short 01190h ; eb 05 ; 0xc1189 + cmp bx, strict byte 00004h ; 83 fb 04 ; 0xc118b + jnbe short 011aeh ; 77 1e ; 0xc118e + mov al, bl ; 88 d8 ; 0xc1190 vgabios.c:759 + mov dx, 003c4h ; ba c4 03 ; 0xc1192 + out DX, AL ; ee ; 0xc1195 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1196 vgabios.c:760 + xor ah, ah ; 30 e4 ; 0xc1199 + mov CL, strict byte 006h ; b1 06 ; 0xc119b + mov si, ax ; 89 c6 ; 0xc119d + sal si, CL ; d3 e6 ; 0xc119f + add si, bx ; 01 de ; 0xc11a1 + mov al, byte [si+046c6h] ; 8a 84 c6 46 ; 0xc11a3 + mov dx, 003c5h ; ba c5 03 ; 0xc11a7 + out DX, AL ; ee ; 0xc11aa + inc bx ; 43 ; 0xc11ab vgabios.c:761 + jmp short 0118bh ; eb dd ; 0xc11ac + xor bx, bx ; 31 db ; 0xc11ae vgabios.c:764 + jmp short 011b7h ; eb 05 ; 0xc11b0 + cmp bx, strict byte 00008h ; 83 fb 08 ; 0xc11b2 + jnbe short 011d5h ; 77 1e ; 0xc11b5 + mov al, bl ; 88 d8 ; 0xc11b7 vgabios.c:765 + mov dx, 003ceh ; ba ce 03 ; 0xc11b9 + out DX, AL ; ee ; 0xc11bc + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc11bd vgabios.c:766 + xor ah, ah ; 30 e4 ; 0xc11c0 + mov CL, strict byte 006h ; b1 06 ; 0xc11c2 + mov si, ax ; 89 c6 ; 0xc11c4 + sal si, CL ; d3 e6 ; 0xc11c6 + add si, bx ; 01 de ; 0xc11c8 + mov al, byte [si+046f9h] ; 8a 84 f9 46 ; 0xc11ca + mov dx, 003cfh ; ba cf 03 ; 0xc11ce + out DX, AL ; ee ; 0xc11d1 + inc bx ; 43 ; 0xc11d2 vgabios.c:767 + jmp short 011b2h ; eb dd ; 0xc11d3 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc11d5 vgabios.c:770 + xor bh, bh ; 30 ff ; 0xc11d8 + mov CL, strict byte 003h ; b1 03 ; 0xc11da + sal bx, CL ; d3 e3 ; 0xc11dc + cmp byte [bx+04630h], 001h ; 80 bf 30 46 01 ; 0xc11de + jne short 011eah ; 75 05 ; 0xc11e3 + mov dx, 003b4h ; ba b4 03 ; 0xc11e5 + jmp short 011edh ; eb 03 ; 0xc11e8 + mov dx, 003d4h ; ba d4 03 ; 0xc11ea + mov si, dx ; 89 d6 ; 0xc11ed + mov ax, strict word 00011h ; b8 11 00 ; 0xc11ef vgabios.c:773 + out DX, ax ; ef ; 0xc11f2 + xor bx, bx ; 31 db ; 0xc11f3 vgabios.c:775 + jmp short 011fch ; eb 05 ; 0xc11f5 + cmp bx, strict byte 00018h ; 83 fb 18 ; 0xc11f7 + jnbe short 0121bh ; 77 1f ; 0xc11fa + mov al, bl ; 88 d8 ; 0xc11fc vgabios.c:776 + mov dx, si ; 89 f2 ; 0xc11fe + out DX, AL ; ee ; 0xc1200 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1201 vgabios.c:777 + xor ah, ah ; 30 e4 ; 0xc1204 + mov CL, strict byte 006h ; b1 06 ; 0xc1206 + sal ax, CL ; d3 e0 ; 0xc1208 + mov cx, ax ; 89 c1 ; 0xc120a + mov di, ax ; 89 c7 ; 0xc120c + add di, bx ; 01 df ; 0xc120e + lea dx, [si+001h] ; 8d 54 01 ; 0xc1210 + mov al, byte [di+046cch] ; 8a 85 cc 46 ; 0xc1213 + out DX, AL ; ee ; 0xc1217 + inc bx ; 43 ; 0xc1218 vgabios.c:778 + jmp short 011f7h ; eb dc ; 0xc1219 + mov bx, cx ; 89 cb ; 0xc121b vgabios.c:781 + mov al, byte [bx+046cbh] ; 8a 87 cb 46 ; 0xc121d + mov dx, 003c2h ; ba c2 03 ; 0xc1221 + out DX, AL ; ee ; 0xc1224 + mov AL, strict byte 020h ; b0 20 ; 0xc1225 vgabios.c:784 + mov dx, 003c0h ; ba c0 03 ; 0xc1227 + out DX, AL ; ee ; 0xc122a + mov dx, 003dah ; ba da 03 ; 0xc122b vgabios.c:785 + in AL, DX ; ec ; 0xc122e + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc122f + cmp byte [bp-012h], 000h ; 80 7e ee 00 ; 0xc1231 vgabios.c:787 + jne short 01298h ; 75 61 ; 0xc1235 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc1237 vgabios.c:789 + xor bh, ch ; 30 ef ; 0xc123a + mov CL, strict byte 003h ; b1 03 ; 0xc123c + sal bx, CL ; d3 e3 ; 0xc123e + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc1240 + jne short 0125ah ; 75 13 ; 0xc1245 + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc1247 vgabios.c:791 + mov cx, 04000h ; b9 00 40 ; 0xc124b + mov ax, 00720h ; b8 20 07 ; 0xc124e + xor di, di ; 31 ff ; 0xc1251 + cld ; fc ; 0xc1253 + jcxz 01258h ; e3 02 ; 0xc1254 + rep stosw ; f3 ab ; 0xc1256 + jmp short 01298h ; eb 3e ; 0xc1258 vgabios.c:793 + cmp byte [bp-00ch], 00dh ; 80 7e f4 0d ; 0xc125a vgabios.c:795 + jnc short 01272h ; 73 12 ; 0xc125e + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc1260 vgabios.c:797 + mov cx, 04000h ; b9 00 40 ; 0xc1264 + xor ax, ax ; 31 c0 ; 0xc1267 + xor di, di ; 31 ff ; 0xc1269 + cld ; fc ; 0xc126b + jcxz 01270h ; e3 02 ; 0xc126c + rep stosw ; f3 ab ; 0xc126e + jmp short 01298h ; eb 26 ; 0xc1270 vgabios.c:799 + mov AL, strict byte 002h ; b0 02 ; 0xc1272 vgabios.c:801 + mov dx, 003c4h ; ba c4 03 ; 0xc1274 + out DX, AL ; ee ; 0xc1277 + mov dx, 003c5h ; ba c5 03 ; 0xc1278 vgabios.c:802 + in AL, DX ; ec ; 0xc127b + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc127c + mov word [bp-01eh], ax ; 89 46 e2 ; 0xc127e + mov AL, strict byte 00fh ; b0 0f ; 0xc1281 vgabios.c:803 + out DX, AL ; ee ; 0xc1283 + mov es, [bx+04632h] ; 8e 87 32 46 ; 0xc1284 vgabios.c:804 + mov cx, 08000h ; b9 00 80 ; 0xc1288 + xor ax, ax ; 31 c0 ; 0xc128b + xor di, di ; 31 ff ; 0xc128d + cld ; fc ; 0xc128f + jcxz 01294h ; e3 02 ; 0xc1290 + rep stosw ; f3 ab ; 0xc1292 + mov al, byte [bp-01eh] ; 8a 46 e2 ; 0xc1294 vgabios.c:805 + out DX, AL ; ee ; 0xc1297 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1298 vgabios.c:811 + mov byte [bp-01ah], al ; 88 46 e6 ; 0xc129b + mov byte [bp-019h], 000h ; c6 46 e7 00 ; 0xc129e + mov bx, word [bp-01ah] ; 8b 5e e6 ; 0xc12a2 + mov dx, strict word 00049h ; ba 49 00 ; 0xc12a5 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12a8 + call 031cch ; e8 1e 1f ; 0xc12ab + mov bx, word [bp-016h] ; 8b 5e ea ; 0xc12ae vgabios.c:812 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc12b1 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12b4 + call 031e8h ; e8 2e 1f ; 0xc12b7 + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc12ba vgabios.c:813 + xor bh, bh ; 30 ff ; 0xc12bd + mov CL, strict byte 006h ; b1 06 ; 0xc12bf + sal bx, CL ; d3 e3 ; 0xc12c1 + mov bx, word [bx+046c5h] ; 8b 9f c5 46 ; 0xc12c3 + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc12c7 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12ca + call 031e8h ; e8 18 1f ; 0xc12cd + mov bx, si ; 89 f3 ; 0xc12d0 vgabios.c:814 + mov dx, strict word 00063h ; ba 63 00 ; 0xc12d2 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12d5 + call 031e8h ; e8 0d 1f ; 0xc12d8 + mov bl, byte [bp-01ch] ; 8a 5e e4 ; 0xc12db vgabios.c:815 + xor bh, bh ; 30 ff ; 0xc12de + mov dx, 00084h ; ba 84 00 ; 0xc12e0 + mov ax, strict word 00040h ; b8 40 00 ; 0xc12e3 + call 031cch ; e8 e3 1e ; 0xc12e6 + mov bx, word [bp-018h] ; 8b 5e e8 ; 0xc12e9 vgabios.c:816 + mov dx, 00085h ; ba 85 00 ; 0xc12ec + mov ax, strict word 00040h ; b8 40 00 ; 0xc12ef + call 031e8h ; e8 f3 1e ; 0xc12f2 + mov bl, byte [bp-012h] ; 8a 5e ee ; 0xc12f5 vgabios.c:817 + or bl, 060h ; 80 cb 60 ; 0xc12f8 + xor bh, bh ; 30 ff ; 0xc12fb + mov dx, 00087h ; ba 87 00 ; 0xc12fd + mov ax, strict word 00040h ; b8 40 00 ; 0xc1300 + call 031cch ; e8 c6 1e ; 0xc1303 + mov bx, 000f9h ; bb f9 00 ; 0xc1306 vgabios.c:818 + mov dx, 00088h ; ba 88 00 ; 0xc1309 + mov ax, strict word 00040h ; b8 40 00 ; 0xc130c + call 031cch ; e8 ba 1e ; 0xc130f + mov dx, 00089h ; ba 89 00 ; 0xc1312 vgabios.c:819 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1315 + call 031beh ; e8 a3 1e ; 0xc1318 + mov bl, al ; 88 c3 ; 0xc131b + and bl, 07fh ; 80 e3 7f ; 0xc131d + xor bh, bh ; 30 ff ; 0xc1320 + mov dx, 00089h ; ba 89 00 ; 0xc1322 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1325 + call 031cch ; e8 a1 1e ; 0xc1328 + mov bx, strict word 00008h ; bb 08 00 ; 0xc132b vgabios.c:822 + mov dx, 0008ah ; ba 8a 00 ; 0xc132e + mov ax, strict word 00040h ; b8 40 00 ; 0xc1331 + call 031cch ; e8 95 1e ; 0xc1334 + mov cx, ds ; 8c d9 ; 0xc1337 vgabios.c:823 + mov bx, 053d0h ; bb d0 53 ; 0xc1339 + mov dx, 000a8h ; ba a8 00 ; 0xc133c + mov ax, strict word 00040h ; b8 40 00 ; 0xc133f + call 03208h ; e8 c3 1e ; 0xc1342 + cmp byte [bp-00ch], 007h ; 80 7e f4 07 ; 0xc1345 vgabios.c:825 + jnbe short 01376h ; 77 2b ; 0xc1349 + mov bx, word [bp-01ah] ; 8b 5e e6 ; 0xc134b vgabios.c:827 + mov bl, byte [bx+07c5dh] ; 8a 9f 5d 7c ; 0xc134e + xor bh, bh ; 30 ff ; 0xc1352 + mov dx, strict word 00065h ; ba 65 00 ; 0xc1354 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1357 + call 031cch ; e8 6f 1e ; 0xc135a + cmp byte [bp-00ch], 006h ; 80 7e f4 06 ; 0xc135d vgabios.c:828 + jne short 01368h ; 75 05 ; 0xc1361 + mov bx, strict word 0003fh ; bb 3f 00 ; 0xc1363 + jmp short 0136bh ; eb 03 ; 0xc1366 + mov bx, strict word 00030h ; bb 30 00 ; 0xc1368 + xor bh, bh ; 30 ff ; 0xc136b + mov dx, strict word 00066h ; ba 66 00 ; 0xc136d + mov ax, strict word 00040h ; b8 40 00 ; 0xc1370 + call 031cch ; e8 56 1e ; 0xc1373 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc1376 vgabios.c:832 + xor bh, bh ; 30 ff ; 0xc1379 + mov CL, strict byte 003h ; b1 03 ; 0xc137b + sal bx, CL ; d3 e3 ; 0xc137d + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc137f + jne short 0138fh ; 75 09 ; 0xc1384 + mov dx, strict word 00007h ; ba 07 00 ; 0xc1386 vgabios.c:834 + mov ax, strict word 00006h ; b8 06 00 ; 0xc1389 + call 00ddeh ; e8 4f fa ; 0xc138c + xor bx, bx ; 31 db ; 0xc138f vgabios.c:838 + jmp short 01398h ; eb 05 ; 0xc1391 + cmp bx, strict byte 00008h ; 83 fb 08 ; 0xc1393 + jnc short 013a4h ; 73 0c ; 0xc1396 + mov al, bl ; 88 d8 ; 0xc1398 vgabios.c:839 + xor ah, ah ; 30 e4 ; 0xc139a + xor dx, dx ; 31 d2 ; 0xc139c + call 00e91h ; e8 f0 fa ; 0xc139e + inc bx ; 43 ; 0xc13a1 + jmp short 01393h ; eb ef ; 0xc13a2 + xor ax, ax ; 31 c0 ; 0xc13a4 vgabios.c:842 + call 00f34h ; e8 8b fb ; 0xc13a6 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc13a9 vgabios.c:845 + xor bh, bh ; 30 ff ; 0xc13ac + mov CL, strict byte 003h ; b1 03 ; 0xc13ae + sal bx, CL ; d3 e3 ; 0xc13b0 + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc13b2 + jne short 013c9h ; 75 10 ; 0xc13b7 + xor bl, bl ; 30 db ; 0xc13b9 vgabios.c:847 + mov AL, strict byte 004h ; b0 04 ; 0xc13bb + mov AH, strict byte 011h ; b4 11 ; 0xc13bd + int 010h ; cd 10 ; 0xc13bf + xor bl, bl ; 30 db ; 0xc13c1 vgabios.c:848 + mov al, cl ; 88 c8 ; 0xc13c3 + mov AH, strict byte 011h ; b4 11 ; 0xc13c5 + int 010h ; cd 10 ; 0xc13c7 + mov dx, 057ech ; ba ec 57 ; 0xc13c9 vgabios.c:852 + mov ax, strict word 0001fh ; b8 1f 00 ; 0xc13cc + call 00a00h ; e8 2e f6 ; 0xc13cf + mov ax, word [bp-018h] ; 8b 46 e8 ; 0xc13d2 vgabios.c:854 + cmp ax, strict word 00010h ; 3d 10 00 ; 0xc13d5 + je short 013f4h ; 74 1a ; 0xc13d8 + cmp ax, strict word 0000eh ; 3d 0e 00 ; 0xc13da + je short 013efh ; 74 10 ; 0xc13dd + cmp ax, strict word 00008h ; 3d 08 00 ; 0xc13df + jne short 013f9h ; 75 15 ; 0xc13e2 + mov dx, 053ech ; ba ec 53 ; 0xc13e4 vgabios.c:856 + mov ax, strict word 00043h ; b8 43 00 ; 0xc13e7 + call 00a00h ; e8 13 f6 ; 0xc13ea + jmp short 013f9h ; eb 0a ; 0xc13ed vgabios.c:857 + mov dx, 05bech ; ba ec 5b ; 0xc13ef vgabios.c:859 + jmp short 013e7h ; eb f3 ; 0xc13f2 + mov dx, 069ech ; ba ec 69 ; 0xc13f4 vgabios.c:862 + jmp short 013e7h ; eb ee ; 0xc13f7 + lea sp, [bp-00ah] ; 8d 66 f6 ; 0xc13f9 vgabios.c:865 + pop di ; 5f ; 0xc13fc + pop si ; 5e ; 0xc13fd + pop dx ; 5a ; 0xc13fe + pop cx ; 59 ; 0xc13ff + pop bx ; 5b ; 0xc1400 + pop bp ; 5d ; 0xc1401 + retn ; c3 ; 0xc1402 + ; disGetNextSymbol 0xc1403 LB 0x2a27 -> off=0x0 cb=000000000000008f uValue=00000000000c1403 'vgamem_copy_pl4' +vgamem_copy_pl4: ; 0xc1403 LB 0x8f + push bp ; 55 ; 0xc1403 vgabios.c:868 + mov bp, sp ; 89 e5 ; 0xc1404 + push si ; 56 ; 0xc1406 + push di ; 57 ; 0xc1407 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc1408 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc140b + mov al, dl ; 88 d0 ; 0xc140e + mov byte [bp-00ah], bl ; 88 5e f6 ; 0xc1410 + mov byte [bp-006h], cl ; 88 4e fa ; 0xc1413 + xor ah, ah ; 30 e4 ; 0xc1416 vgabios.c:874 + mov dl, byte [bp+006h] ; 8a 56 06 ; 0xc1418 + xor dh, dh ; 30 f6 ; 0xc141b + mov cx, dx ; 89 d1 ; 0xc141d + imul dx ; f7 ea ; 0xc141f + mov dl, byte [bp+004h] ; 8a 56 04 ; 0xc1421 + xor dh, dh ; 30 f6 ; 0xc1424 + mov si, dx ; 89 d6 ; 0xc1426 + imul dx ; f7 ea ; 0xc1428 + mov dl, byte [bp-008h] ; 8a 56 f8 ; 0xc142a + xor dh, dh ; 30 f6 ; 0xc142d + mov bx, dx ; 89 d3 ; 0xc142f + add ax, dx ; 01 d0 ; 0xc1431 + mov word [bp-00eh], ax ; 89 46 f2 ; 0xc1433 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1436 vgabios.c:875 + xor ah, ah ; 30 e4 ; 0xc1439 + imul cx ; f7 e9 ; 0xc143b + imul si ; f7 ee ; 0xc143d + add ax, bx ; 01 d8 ; 0xc143f + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc1441 + mov ax, 00105h ; b8 05 01 ; 0xc1444 vgabios.c:876 + mov dx, 003ceh ; ba ce 03 ; 0xc1447 + out DX, ax ; ef ; 0xc144a + xor bl, bl ; 30 db ; 0xc144b vgabios.c:877 + cmp bl, byte [bp+006h] ; 3a 5e 06 ; 0xc144d + jnc short 01482h ; 73 30 ; 0xc1450 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1452 vgabios.c:879 + xor ah, ah ; 30 e4 ; 0xc1455 + mov cx, ax ; 89 c1 ; 0xc1457 + mov al, bl ; 88 d8 ; 0xc1459 + mov dx, ax ; 89 c2 ; 0xc145b + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc145d + mov si, ax ; 89 c6 ; 0xc1460 + mov ax, dx ; 89 d0 ; 0xc1462 + imul si ; f7 ee ; 0xc1464 + mov si, word [bp-00eh] ; 8b 76 f2 ; 0xc1466 + add si, ax ; 01 c6 ; 0xc1469 + mov di, word [bp-00ch] ; 8b 7e f4 ; 0xc146b + add di, ax ; 01 c7 ; 0xc146e + mov dx, 0a000h ; ba 00 a0 ; 0xc1470 + mov es, dx ; 8e c2 ; 0xc1473 + cld ; fc ; 0xc1475 + jcxz 0147eh ; e3 06 ; 0xc1476 + push DS ; 1e ; 0xc1478 + mov ds, dx ; 8e da ; 0xc1479 + rep movsb ; f3 a4 ; 0xc147b + pop DS ; 1f ; 0xc147d + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc147e vgabios.c:880 + jmp short 0144dh ; eb cb ; 0xc1480 + mov ax, strict word 00005h ; b8 05 00 ; 0xc1482 vgabios.c:881 + mov dx, 003ceh ; ba ce 03 ; 0xc1485 + out DX, ax ; ef ; 0xc1488 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1489 vgabios.c:882 + pop di ; 5f ; 0xc148c + pop si ; 5e ; 0xc148d + pop bp ; 5d ; 0xc148e + retn 00004h ; c2 04 00 ; 0xc148f + ; disGetNextSymbol 0xc1492 LB 0x2998 -> off=0x0 cb=000000000000007c uValue=00000000000c1492 'vgamem_fill_pl4' +vgamem_fill_pl4: ; 0xc1492 LB 0x7c + push bp ; 55 ; 0xc1492 vgabios.c:885 + mov bp, sp ; 89 e5 ; 0xc1493 + push si ; 56 ; 0xc1495 + push di ; 57 ; 0xc1496 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc1497 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc149a + mov al, dl ; 88 d0 ; 0xc149d + mov byte [bp-006h], bl ; 88 5e fa ; 0xc149f + mov bh, cl ; 88 cf ; 0xc14a2 + xor ah, ah ; 30 e4 ; 0xc14a4 vgabios.c:891 + mov dx, ax ; 89 c2 ; 0xc14a6 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc14a8 + mov cx, ax ; 89 c1 ; 0xc14ab + mov ax, dx ; 89 d0 ; 0xc14ad + imul cx ; f7 e9 ; 0xc14af + mov dl, bh ; 88 fa ; 0xc14b1 + xor dh, dh ; 30 f6 ; 0xc14b3 + imul dx ; f7 ea ; 0xc14b5 + mov dx, ax ; 89 c2 ; 0xc14b7 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc14b9 + xor ah, ah ; 30 e4 ; 0xc14bc + add dx, ax ; 01 c2 ; 0xc14be + mov word [bp-00ah], dx ; 89 56 f6 ; 0xc14c0 + mov ax, 00205h ; b8 05 02 ; 0xc14c3 vgabios.c:892 + mov dx, 003ceh ; ba ce 03 ; 0xc14c6 + out DX, ax ; ef ; 0xc14c9 + xor bl, bl ; 30 db ; 0xc14ca vgabios.c:893 + cmp bl, byte [bp+004h] ; 3a 5e 04 ; 0xc14cc + jnc short 014feh ; 73 2d ; 0xc14cf + mov cl, byte [bp-006h] ; 8a 4e fa ; 0xc14d1 vgabios.c:895 + xor ch, ch ; 30 ed ; 0xc14d4 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc14d6 + xor ah, ah ; 30 e4 ; 0xc14d9 + mov si, ax ; 89 c6 ; 0xc14db + mov al, bl ; 88 d8 ; 0xc14dd + mov dx, ax ; 89 c2 ; 0xc14df + mov al, bh ; 88 f8 ; 0xc14e1 + mov di, ax ; 89 c7 ; 0xc14e3 + mov ax, dx ; 89 d0 ; 0xc14e5 + imul di ; f7 ef ; 0xc14e7 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc14e9 + add di, ax ; 01 c7 ; 0xc14ec + mov ax, si ; 89 f0 ; 0xc14ee + mov dx, 0a000h ; ba 00 a0 ; 0xc14f0 + mov es, dx ; 8e c2 ; 0xc14f3 + cld ; fc ; 0xc14f5 + jcxz 014fah ; e3 02 ; 0xc14f6 + rep stosb ; f3 aa ; 0xc14f8 + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc14fa vgabios.c:896 + jmp short 014cch ; eb ce ; 0xc14fc + mov ax, strict word 00005h ; b8 05 00 ; 0xc14fe vgabios.c:897 + mov dx, 003ceh ; ba ce 03 ; 0xc1501 + out DX, ax ; ef ; 0xc1504 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1505 vgabios.c:898 + pop di ; 5f ; 0xc1508 + pop si ; 5e ; 0xc1509 + pop bp ; 5d ; 0xc150a + retn 00004h ; c2 04 00 ; 0xc150b + ; disGetNextSymbol 0xc150e LB 0x291c -> off=0x0 cb=00000000000000c2 uValue=00000000000c150e 'vgamem_copy_cga' +vgamem_copy_cga: ; 0xc150e LB 0xc2 + push bp ; 55 ; 0xc150e vgabios.c:901 + mov bp, sp ; 89 e5 ; 0xc150f + push si ; 56 ; 0xc1511 + push di ; 57 ; 0xc1512 + sub sp, strict byte 00008h ; 83 ec 08 ; 0xc1513 + mov byte [bp-006h], al ; 88 46 fa ; 0xc1516 + mov al, dl ; 88 d0 ; 0xc1519 + mov bh, cl ; 88 cf ; 0xc151b + xor ah, ah ; 30 e4 ; 0xc151d vgabios.c:907 + mov dx, ax ; 89 c2 ; 0xc151f + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1521 + mov cx, ax ; 89 c1 ; 0xc1524 + mov ax, dx ; 89 d0 ; 0xc1526 + imul cx ; f7 e9 ; 0xc1528 + mov dl, byte [bp+004h] ; 8a 56 04 ; 0xc152a + xor dh, dh ; 30 f6 ; 0xc152d + mov di, dx ; 89 d7 ; 0xc152f + imul dx ; f7 ea ; 0xc1531 + mov dx, ax ; 89 c2 ; 0xc1533 + sar dx, 1 ; d1 fa ; 0xc1535 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1537 + xor ah, ah ; 30 e4 ; 0xc153a + mov si, ax ; 89 c6 ; 0xc153c + add dx, ax ; 01 c2 ; 0xc153e + mov word [bp-008h], dx ; 89 56 f8 ; 0xc1540 + mov al, bl ; 88 d8 ; 0xc1543 vgabios.c:908 + imul cx ; f7 e9 ; 0xc1545 + imul di ; f7 ef ; 0xc1547 + sar ax, 1 ; d1 f8 ; 0xc1549 + add ax, si ; 01 f0 ; 0xc154b + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc154d + xor bl, bl ; 30 db ; 0xc1550 vgabios.c:909 + cmp bl, byte [bp+006h] ; 3a 5e 06 ; 0xc1552 + jnc short 015c7h ; 73 70 ; 0xc1555 + test bl, 001h ; f6 c3 01 ; 0xc1557 vgabios.c:911 + je short 01593h ; 74 37 ; 0xc155a + mov cl, bh ; 88 f9 ; 0xc155c vgabios.c:912 + xor ch, ch ; 30 ed ; 0xc155e + mov al, bl ; 88 d8 ; 0xc1560 + xor ah, ah ; 30 e4 ; 0xc1562 + mov dx, ax ; 89 c2 ; 0xc1564 + sar dx, 1 ; d1 fa ; 0xc1566 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1568 + mov si, ax ; 89 c6 ; 0xc156b + mov ax, dx ; 89 d0 ; 0xc156d + imul si ; f7 ee ; 0xc156f + mov si, word [bp-008h] ; 8b 76 f8 ; 0xc1571 + add si, 02000h ; 81 c6 00 20 ; 0xc1574 + add si, ax ; 01 c6 ; 0xc1578 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc157a + add di, 02000h ; 81 c7 00 20 ; 0xc157d + add di, ax ; 01 c7 ; 0xc1581 + mov dx, 0b800h ; ba 00 b8 ; 0xc1583 + mov es, dx ; 8e c2 ; 0xc1586 + cld ; fc ; 0xc1588 + jcxz 01591h ; e3 06 ; 0xc1589 + push DS ; 1e ; 0xc158b + mov ds, dx ; 8e da ; 0xc158c + rep movsb ; f3 a4 ; 0xc158e + pop DS ; 1f ; 0xc1590 + jmp short 015c3h ; eb 30 ; 0xc1591 vgabios.c:913 + mov al, bh ; 88 f8 ; 0xc1593 vgabios.c:914 + xor ah, ah ; 30 e4 ; 0xc1595 + mov cx, ax ; 89 c1 ; 0xc1597 + mov al, bl ; 88 d8 ; 0xc1599 + sar ax, 1 ; d1 f8 ; 0xc159b + mov dl, byte [bp+004h] ; 8a 56 04 ; 0xc159d + mov byte [bp-00ch], dl ; 88 56 f4 ; 0xc15a0 + mov byte [bp-00bh], ch ; 88 6e f5 ; 0xc15a3 + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc15a6 + imul dx ; f7 ea ; 0xc15a9 + mov si, word [bp-008h] ; 8b 76 f8 ; 0xc15ab + add si, ax ; 01 c6 ; 0xc15ae + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc15b0 + add di, ax ; 01 c7 ; 0xc15b3 + mov dx, 0b800h ; ba 00 b8 ; 0xc15b5 + mov es, dx ; 8e c2 ; 0xc15b8 + cld ; fc ; 0xc15ba + jcxz 015c3h ; e3 06 ; 0xc15bb + push DS ; 1e ; 0xc15bd + mov ds, dx ; 8e da ; 0xc15be + rep movsb ; f3 a4 ; 0xc15c0 + pop DS ; 1f ; 0xc15c2 + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc15c3 vgabios.c:915 + jmp short 01552h ; eb 8b ; 0xc15c5 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc15c7 vgabios.c:916 + pop di ; 5f ; 0xc15ca + pop si ; 5e ; 0xc15cb + pop bp ; 5d ; 0xc15cc + retn 00004h ; c2 04 00 ; 0xc15cd + ; disGetNextSymbol 0xc15d0 LB 0x285a -> off=0x0 cb=00000000000000a8 uValue=00000000000c15d0 'vgamem_fill_cga' +vgamem_fill_cga: ; 0xc15d0 LB 0xa8 + push bp ; 55 ; 0xc15d0 vgabios.c:919 + mov bp, sp ; 89 e5 ; 0xc15d1 + push si ; 56 ; 0xc15d3 + push di ; 57 ; 0xc15d4 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc15d5 + mov byte [bp-006h], al ; 88 46 fa ; 0xc15d8 + mov al, dl ; 88 d0 ; 0xc15db + mov byte [bp-008h], bl ; 88 5e f8 ; 0xc15dd + mov bh, cl ; 88 cf ; 0xc15e0 + xor ah, ah ; 30 e4 ; 0xc15e2 vgabios.c:925 + mov dx, ax ; 89 c2 ; 0xc15e4 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc15e6 + mov cx, ax ; 89 c1 ; 0xc15e9 + mov ax, dx ; 89 d0 ; 0xc15eb + imul cx ; f7 e9 ; 0xc15ed + mov dl, bh ; 88 fa ; 0xc15ef + xor dh, dh ; 30 f6 ; 0xc15f1 + imul dx ; f7 ea ; 0xc15f3 + mov dx, ax ; 89 c2 ; 0xc15f5 + sar dx, 1 ; d1 fa ; 0xc15f7 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc15f9 + xor ah, ah ; 30 e4 ; 0xc15fc + add dx, ax ; 01 c2 ; 0xc15fe + mov word [bp-00ah], dx ; 89 56 f6 ; 0xc1600 + xor bl, bl ; 30 db ; 0xc1603 vgabios.c:926 + cmp bl, byte [bp+004h] ; 3a 5e 04 ; 0xc1605 + jnc short 0166fh ; 73 65 ; 0xc1608 + test bl, 001h ; f6 c3 01 ; 0xc160a vgabios.c:928 + je short 01640h ; 74 31 ; 0xc160d + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc160f vgabios.c:929 + xor ah, ah ; 30 e4 ; 0xc1612 + mov cx, ax ; 89 c1 ; 0xc1614 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1616 + mov si, ax ; 89 c6 ; 0xc1619 + mov al, bl ; 88 d8 ; 0xc161b + mov dx, ax ; 89 c2 ; 0xc161d + sar dx, 1 ; d1 fa ; 0xc161f + mov al, bh ; 88 f8 ; 0xc1621 + mov di, ax ; 89 c7 ; 0xc1623 + mov ax, dx ; 89 d0 ; 0xc1625 + imul di ; f7 ef ; 0xc1627 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc1629 + add di, 02000h ; 81 c7 00 20 ; 0xc162c + add di, ax ; 01 c7 ; 0xc1630 + mov ax, si ; 89 f0 ; 0xc1632 + mov dx, 0b800h ; ba 00 b8 ; 0xc1634 + mov es, dx ; 8e c2 ; 0xc1637 + cld ; fc ; 0xc1639 + jcxz 0163eh ; e3 02 ; 0xc163a + rep stosb ; f3 aa ; 0xc163c + jmp short 0166bh ; eb 2b ; 0xc163e vgabios.c:930 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1640 vgabios.c:931 + xor ah, ah ; 30 e4 ; 0xc1643 + mov cx, ax ; 89 c1 ; 0xc1645 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1647 + mov si, ax ; 89 c6 ; 0xc164a + mov al, bl ; 88 d8 ; 0xc164c + mov dx, ax ; 89 c2 ; 0xc164e + sar dx, 1 ; d1 fa ; 0xc1650 + mov al, bh ; 88 f8 ; 0xc1652 + mov di, ax ; 89 c7 ; 0xc1654 + mov ax, dx ; 89 d0 ; 0xc1656 + imul di ; f7 ef ; 0xc1658 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc165a + add di, ax ; 01 c7 ; 0xc165d + mov ax, si ; 89 f0 ; 0xc165f + mov dx, 0b800h ; ba 00 b8 ; 0xc1661 + mov es, dx ; 8e c2 ; 0xc1664 + cld ; fc ; 0xc1666 + jcxz 0166bh ; e3 02 ; 0xc1667 + rep stosb ; f3 aa ; 0xc1669 + db 0feh, 0c3h + ; inc bl ; fe c3 ; 0xc166b vgabios.c:932 + jmp short 01605h ; eb 96 ; 0xc166d + lea sp, [bp-004h] ; 8d 66 fc ; 0xc166f vgabios.c:933 + pop di ; 5f ; 0xc1672 + pop si ; 5e ; 0xc1673 + pop bp ; 5d ; 0xc1674 + retn 00004h ; c2 04 00 ; 0xc1675 + ; disGetNextSymbol 0xc1678 LB 0x27b2 -> off=0x0 cb=0000000000000576 uValue=00000000000c1678 'biosfn_scroll' +biosfn_scroll: ; 0xc1678 LB 0x576 + push bp ; 55 ; 0xc1678 vgabios.c:936 + mov bp, sp ; 89 e5 ; 0xc1679 + push si ; 56 ; 0xc167b + push di ; 57 ; 0xc167c + sub sp, strict byte 0001eh ; 83 ec 1e ; 0xc167d + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc1680 + mov byte [bp-008h], dl ; 88 56 f8 ; 0xc1683 + mov byte [bp-00eh], bl ; 88 5e f2 ; 0xc1686 + mov byte [bp-00ch], cl ; 88 4e f4 ; 0xc1689 + mov ch, byte [bp+006h] ; 8a 6e 06 ; 0xc168c + cmp bl, byte [bp+004h] ; 3a 5e 04 ; 0xc168f vgabios.c:945 + jnbe short 016adh ; 77 19 ; 0xc1692 + cmp ch, cl ; 38 cd ; 0xc1694 vgabios.c:946 + jc short 016adh ; 72 15 ; 0xc1696 + mov dx, strict word 00049h ; ba 49 00 ; 0xc1698 vgabios.c:949 + mov ax, strict word 00040h ; b8 40 00 ; 0xc169b + call 031beh ; e8 1d 1b ; 0xc169e + xor ah, ah ; 30 e4 ; 0xc16a1 vgabios.c:950 + call 03193h ; e8 ed 1a ; 0xc16a3 + mov byte [bp-010h], al ; 88 46 f0 ; 0xc16a6 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc16a9 vgabios.c:951 + jne short 016b0h ; 75 03 ; 0xc16ab + jmp near 01be5h ; e9 35 05 ; 0xc16ad + mov dx, 00084h ; ba 84 00 ; 0xc16b0 vgabios.c:954 + mov ax, strict word 00040h ; b8 40 00 ; 0xc16b3 + call 031beh ; e8 05 1b ; 0xc16b6 + xor ah, ah ; 30 e4 ; 0xc16b9 + mov bx, ax ; 89 c3 ; 0xc16bb + inc bx ; 43 ; 0xc16bd + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc16be vgabios.c:955 + mov ax, strict word 00040h ; b8 40 00 ; 0xc16c1 + call 031dah ; e8 13 1b ; 0xc16c4 + mov word [bp-018h], ax ; 89 46 e8 ; 0xc16c7 + cmp byte [bp+008h], 0ffh ; 80 7e 08 ff ; 0xc16ca vgabios.c:958 + jne short 016dch ; 75 0c ; 0xc16ce + mov dx, strict word 00062h ; ba 62 00 ; 0xc16d0 vgabios.c:959 + mov ax, strict word 00040h ; b8 40 00 ; 0xc16d3 + call 031beh ; e8 e5 1a ; 0xc16d6 + mov byte [bp+008h], al ; 88 46 08 ; 0xc16d9 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc16dc vgabios.c:961 + xor ah, ah ; 30 e4 ; 0xc16df + cmp ax, bx ; 39 d8 ; 0xc16e1 + jc short 016ech ; 72 07 ; 0xc16e3 + mov al, bl ; 88 d8 ; 0xc16e5 + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc16e7 + mov byte [bp+004h], al ; 88 46 04 ; 0xc16e9 + mov al, ch ; 88 e8 ; 0xc16ec vgabios.c:962 + xor ah, ah ; 30 e4 ; 0xc16ee + cmp ax, word [bp-018h] ; 3b 46 e8 ; 0xc16f0 + jc short 016fah ; 72 05 ; 0xc16f3 + mov ch, byte [bp-018h] ; 8a 6e e8 ; 0xc16f5 + db 0feh, 0cdh + ; dec ch ; fe cd ; 0xc16f8 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc16fa vgabios.c:963 + xor ah, ah ; 30 e4 ; 0xc16fd + cmp ax, bx ; 39 d8 ; 0xc16ff + jbe short 01706h ; 76 03 ; 0xc1701 + mov byte [bp-00ah], ah ; 88 66 f6 ; 0xc1703 + mov al, ch ; 88 e8 ; 0xc1706 vgabios.c:964 + sub al, byte [bp-00ch] ; 2a 46 f4 ; 0xc1708 + db 0feh, 0c0h + ; inc al ; fe c0 ; 0xc170b + mov byte [bp-006h], al ; 88 46 fa ; 0xc170d + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc1710 vgabios.c:966 + xor ah, ah ; 30 e4 ; 0xc1713 + mov si, ax ; 89 c6 ; 0xc1715 + mov CL, strict byte 003h ; b1 03 ; 0xc1717 + mov di, ax ; 89 c7 ; 0xc1719 + sal di, CL ; d3 e7 ; 0xc171b + mov ax, word [bp-018h] ; 8b 46 e8 ; 0xc171d + dec ax ; 48 ; 0xc1720 + mov word [bp-01ch], ax ; 89 46 e4 ; 0xc1721 + lea ax, [bx-001h] ; 8d 47 ff ; 0xc1724 + mov word [bp-01eh], ax ; 89 46 e2 ; 0xc1727 + mov ax, word [bp-018h] ; 8b 46 e8 ; 0xc172a + mul bx ; f7 e3 ; 0xc172d + mov word [bp-01ah], ax ; 89 46 e6 ; 0xc172f + cmp byte [di+0462fh], 000h ; 80 bd 2f 46 00 ; 0xc1732 + jne short 01789h ; 75 50 ; 0xc1737 + sal ax, 1 ; d1 e0 ; 0xc1739 vgabios.c:969 + or AL, strict byte 0ffh ; 0c ff ; 0xc173b + mov bx, ax ; 89 c3 ; 0xc173d + mov al, byte [bp+008h] ; 8a 46 08 ; 0xc173f + xor ah, ah ; 30 e4 ; 0xc1742 + mov dx, ax ; 89 c2 ; 0xc1744 + lea ax, [bx+001h] ; 8d 47 01 ; 0xc1746 + mul dx ; f7 e2 ; 0xc1749 + mov bx, ax ; 89 c3 ; 0xc174b + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc174d vgabios.c:974 + jne short 0178ch ; 75 39 ; 0xc1751 + cmp byte [bp-00eh], 000h ; 80 7e f2 00 ; 0xc1753 + jne short 0178ch ; 75 33 ; 0xc1757 + cmp byte [bp-00ch], 000h ; 80 7e f4 00 ; 0xc1759 + jne short 0178ch ; 75 2d ; 0xc175d + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc175f + xor ah, ah ; 30 e4 ; 0xc1762 + cmp ax, word [bp-01eh] ; 3b 46 e2 ; 0xc1764 + jne short 0178ch ; 75 23 ; 0xc1767 + mov al, ch ; 88 e8 ; 0xc1769 + cmp ax, word [bp-01ch] ; 3b 46 e4 ; 0xc176b + jne short 0178ch ; 75 1c ; 0xc176e + mov ah, byte [bp-008h] ; 8a 66 f8 ; 0xc1770 vgabios.c:976 + xor al, ch ; 30 e8 ; 0xc1773 + add ax, strict word 00020h ; 05 20 00 ; 0xc1775 + mov es, [di+04632h] ; 8e 85 32 46 ; 0xc1778 + mov cx, word [bp-01ah] ; 8b 4e e6 ; 0xc177c + mov di, bx ; 89 df ; 0xc177f + cld ; fc ; 0xc1781 + jcxz 01786h ; e3 02 ; 0xc1782 + rep stosw ; f3 ab ; 0xc1784 + jmp near 01be5h ; e9 5c 04 ; 0xc1786 vgabios.c:978 + jmp near 0191ah ; e9 8e 01 ; 0xc1789 + cmp byte [bp+00ah], 001h ; 80 7e 0a 01 ; 0xc178c vgabios.c:980 + jne short 017fah ; 75 68 ; 0xc1790 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1792 vgabios.c:981 + xor ah, ah ; 30 e4 ; 0xc1795 + mov word [bp-016h], ax ; 89 46 ea ; 0xc1797 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc179a + xor ah, ah ; 30 e4 ; 0xc179d + mov dx, ax ; 89 c2 ; 0xc179f + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc17a1 + jc short 017fch ; 72 56 ; 0xc17a4 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc17a6 vgabios.c:983 + add ax, word [bp-016h] ; 03 46 ea ; 0xc17a9 + cmp ax, dx ; 39 d0 ; 0xc17ac + jnbe short 017b6h ; 77 06 ; 0xc17ae + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc17b0 + jne short 017ffh ; 75 49 ; 0xc17b4 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc17b6 vgabios.c:984 + xor ah, ah ; 30 e4 ; 0xc17b9 + mov word [bp-022h], ax ; 89 46 de ; 0xc17bb + mov ah, byte [bp-008h] ; 8a 66 f8 ; 0xc17be + xor al, al ; 30 c0 ; 0xc17c1 + mov di, ax ; 89 c7 ; 0xc17c3 + add di, strict byte 00020h ; 83 c7 20 ; 0xc17c5 + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc17c8 + mul word [bp-018h] ; f7 66 e8 ; 0xc17cb + mov dx, ax ; 89 c2 ; 0xc17ce + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc17d0 + xor ah, ah ; 30 e4 ; 0xc17d3 + add ax, dx ; 01 d0 ; 0xc17d5 + sal ax, 1 ; d1 e0 ; 0xc17d7 + mov dx, bx ; 89 da ; 0xc17d9 + add dx, ax ; 01 c2 ; 0xc17db + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc17dd + xor ah, ah ; 30 e4 ; 0xc17e0 + mov CL, strict byte 003h ; b1 03 ; 0xc17e2 + mov si, ax ; 89 c6 ; 0xc17e4 + sal si, CL ; d3 e6 ; 0xc17e6 + mov es, [si+04632h] ; 8e 84 32 46 ; 0xc17e8 + mov cx, word [bp-022h] ; 8b 4e de ; 0xc17ec + mov ax, di ; 89 f8 ; 0xc17ef + mov di, dx ; 89 d7 ; 0xc17f1 + cld ; fc ; 0xc17f3 + jcxz 017f8h ; e3 02 ; 0xc17f4 + rep stosw ; f3 ab ; 0xc17f6 + jmp short 0184ah ; eb 50 ; 0xc17f8 vgabios.c:985 + jmp short 01850h ; eb 54 ; 0xc17fa + jmp near 01be5h ; e9 e6 03 ; 0xc17fc + mov dl, byte [bp-006h] ; 8a 56 fa ; 0xc17ff vgabios.c:986 + mov di, dx ; 89 d7 ; 0xc1802 + mul word [bp-018h] ; f7 66 e8 ; 0xc1804 + mov dl, byte [bp-00ch] ; 8a 56 f4 ; 0xc1807 + xor dh, dh ; 30 f6 ; 0xc180a + mov word [bp-014h], dx ; 89 56 ec ; 0xc180c + add ax, dx ; 01 d0 ; 0xc180f + sal ax, 1 ; d1 e0 ; 0xc1811 + mov word [bp-020h], ax ; 89 46 e0 ; 0xc1813 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc1816 + xor ah, ah ; 30 e4 ; 0xc1819 + mov CL, strict byte 003h ; b1 03 ; 0xc181b + mov si, ax ; 89 c6 ; 0xc181d + sal si, CL ; d3 e6 ; 0xc181f + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc1821 + mov word [bp-022h], ax ; 89 46 de ; 0xc1825 + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc1828 + mul word [bp-018h] ; f7 66 e8 ; 0xc182b + add ax, word [bp-014h] ; 03 46 ec ; 0xc182e + sal ax, 1 ; d1 e0 ; 0xc1831 + add ax, bx ; 01 d8 ; 0xc1833 + mov cx, di ; 89 f9 ; 0xc1835 + mov si, word [bp-020h] ; 8b 76 e0 ; 0xc1837 + mov dx, word [bp-022h] ; 8b 56 de ; 0xc183a + mov di, ax ; 89 c7 ; 0xc183d + mov es, dx ; 8e c2 ; 0xc183f + cld ; fc ; 0xc1841 + jcxz 0184ah ; e3 06 ; 0xc1842 + push DS ; 1e ; 0xc1844 + mov ds, dx ; 8e da ; 0xc1845 + rep movsw ; f3 a5 ; 0xc1847 + pop DS ; 1f ; 0xc1849 + inc word [bp-016h] ; ff 46 ea ; 0xc184a vgabios.c:987 + jmp near 0179ah ; e9 4a ff ; 0xc184d + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1850 vgabios.c:990 + xor ah, ah ; 30 e4 ; 0xc1853 + mov word [bp-016h], ax ; 89 46 ea ; 0xc1855 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1858 + xor ah, ah ; 30 e4 ; 0xc185b + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc185d + jnbe short 017fch ; 77 9a ; 0xc1860 + mov dx, ax ; 89 c2 ; 0xc1862 vgabios.c:992 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1864 + add ax, dx ; 01 d0 ; 0xc1867 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1869 + jnbe short 01874h ; 77 06 ; 0xc186c + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc186e + jne short 018b3h ; 75 3f ; 0xc1872 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1874 vgabios.c:993 + xor ah, ah ; 30 e4 ; 0xc1877 + mov di, ax ; 89 c7 ; 0xc1879 + mov ah, byte [bp-008h] ; 8a 66 f8 ; 0xc187b + mov AL, strict byte 020h ; b0 20 ; 0xc187e + mov word [bp-022h], ax ; 89 46 de ; 0xc1880 + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc1883 + mul word [bp-018h] ; f7 66 e8 ; 0xc1886 + mov dx, ax ; 89 c2 ; 0xc1889 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc188b + xor ah, ah ; 30 e4 ; 0xc188e + add dx, ax ; 01 c2 ; 0xc1890 + sal dx, 1 ; d1 e2 ; 0xc1892 + add dx, bx ; 01 da ; 0xc1894 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc1896 + mov CL, strict byte 003h ; b1 03 ; 0xc1899 + mov si, ax ; 89 c6 ; 0xc189b + sal si, CL ; d3 e6 ; 0xc189d + mov si, word [si+04632h] ; 8b b4 32 46 ; 0xc189f + mov cx, di ; 89 f9 ; 0xc18a3 + mov ax, word [bp-022h] ; 8b 46 de ; 0xc18a5 + mov di, dx ; 89 d7 ; 0xc18a8 + mov es, si ; 8e c6 ; 0xc18aa + cld ; fc ; 0xc18ac + jcxz 018b1h ; e3 02 ; 0xc18ad + rep stosw ; f3 ab ; 0xc18af + jmp short 0190ah ; eb 57 ; 0xc18b1 vgabios.c:994 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc18b3 vgabios.c:995 + xor ah, ah ; 30 e4 ; 0xc18b6 + mov di, ax ; 89 c7 ; 0xc18b8 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc18ba + mov dx, word [bp-016h] ; 8b 56 ea ; 0xc18bd + sub dx, ax ; 29 c2 ; 0xc18c0 + mov ax, dx ; 89 d0 ; 0xc18c2 + mul word [bp-018h] ; f7 66 e8 ; 0xc18c4 + mov dx, ax ; 89 c2 ; 0xc18c7 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc18c9 + xor ah, ah ; 30 e4 ; 0xc18cc + mov word [bp-022h], ax ; 89 46 de ; 0xc18ce + add dx, ax ; 01 c2 ; 0xc18d1 + sal dx, 1 ; d1 e2 ; 0xc18d3 + mov word [bp-020h], dx ; 89 56 e0 ; 0xc18d5 + mov al, byte [bp-010h] ; 8a 46 f0 ; 0xc18d8 + mov CL, strict byte 003h ; b1 03 ; 0xc18db + mov si, ax ; 89 c6 ; 0xc18dd + sal si, CL ; d3 e6 ; 0xc18df + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc18e1 + mov word [bp-014h], ax ; 89 46 ec ; 0xc18e5 + mov ax, word [bp-016h] ; 8b 46 ea ; 0xc18e8 + mul word [bp-018h] ; f7 66 e8 ; 0xc18eb + add ax, word [bp-022h] ; 03 46 de ; 0xc18ee + sal ax, 1 ; d1 e0 ; 0xc18f1 + add ax, bx ; 01 d8 ; 0xc18f3 + mov cx, di ; 89 f9 ; 0xc18f5 + mov si, word [bp-020h] ; 8b 76 e0 ; 0xc18f7 + mov dx, word [bp-014h] ; 8b 56 ec ; 0xc18fa + mov di, ax ; 89 c7 ; 0xc18fd + mov es, dx ; 8e c2 ; 0xc18ff + cld ; fc ; 0xc1901 + jcxz 0190ah ; e3 06 ; 0xc1902 + push DS ; 1e ; 0xc1904 + mov ds, dx ; 8e da ; 0xc1905 + rep movsw ; f3 a5 ; 0xc1907 + pop DS ; 1f ; 0xc1909 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc190a vgabios.c:996 + xor ah, ah ; 30 e4 ; 0xc190d + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc190f + jc short 0193dh ; 72 29 ; 0xc1912 + dec word [bp-016h] ; ff 4e ea ; 0xc1914 vgabios.c:997 + jmp near 01858h ; e9 3e ff ; 0xc1917 + mov al, byte [si+046aeh] ; 8a 84 ae 46 ; 0xc191a vgabios.c:1004 + xor ah, ah ; 30 e4 ; 0xc191e + mov CL, strict byte 006h ; b1 06 ; 0xc1920 + mov si, ax ; 89 c6 ; 0xc1922 + sal si, CL ; d3 e6 ; 0xc1924 + mov al, byte [si+046c4h] ; 8a 84 c4 46 ; 0xc1926 + mov byte [bp-012h], al ; 88 46 ee ; 0xc192a + mov al, byte [di+04630h] ; 8a 85 30 46 ; 0xc192d vgabios.c:1005 + cmp AL, strict byte 004h ; 3c 04 ; 0xc1931 + je short 01940h ; 74 0b ; 0xc1933 + cmp AL, strict byte 003h ; 3c 03 ; 0xc1935 + je short 01940h ; 74 07 ; 0xc1937 + cmp AL, strict byte 002h ; 3c 02 ; 0xc1939 + je short 0196eh ; 74 31 ; 0xc193b + jmp near 01be5h ; e9 a5 02 ; 0xc193d + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc1940 vgabios.c:1009 + jne short 019ach ; 75 66 ; 0xc1944 + cmp byte [bp-00eh], 000h ; 80 7e f2 00 ; 0xc1946 + jne short 019ach ; 75 60 ; 0xc194a + cmp byte [bp-00ch], 000h ; 80 7e f4 00 ; 0xc194c + jne short 019ach ; 75 5a ; 0xc1950 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1952 + xor ah, ah ; 30 e4 ; 0xc1955 + mov dx, ax ; 89 c2 ; 0xc1957 + lea ax, [bx-001h] ; 8d 47 ff ; 0xc1959 + cmp dx, ax ; 39 c2 ; 0xc195c + jne short 019ach ; 75 4c ; 0xc195e + mov al, ch ; 88 e8 ; 0xc1960 + xor ah, ah ; 30 e4 ; 0xc1962 + mov dx, word [bp-018h] ; 8b 56 e8 ; 0xc1964 + dec dx ; 4a ; 0xc1967 + cmp ax, dx ; 39 d0 ; 0xc1968 + je short 01971h ; 74 05 ; 0xc196a + jmp short 019ach ; eb 3e ; 0xc196c + jmp near 01aa8h ; e9 37 01 ; 0xc196e + mov ax, 00205h ; b8 05 02 ; 0xc1971 vgabios.c:1011 + mov dx, 003ceh ; ba ce 03 ; 0xc1974 + out DX, ax ; ef ; 0xc1977 + mov ax, bx ; 89 d8 ; 0xc1978 vgabios.c:1012 + mul word [bp-018h] ; f7 66 e8 ; 0xc197a + mov dl, byte [bp-012h] ; 8a 56 ee ; 0xc197d + xor dh, dh ; 30 f6 ; 0xc1980 + mul dx ; f7 e2 ; 0xc1982 + mov dl, byte [bp-008h] ; 8a 56 f8 ; 0xc1984 + xor dh, dh ; 30 f6 ; 0xc1987 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc1989 + xor bh, bh ; 30 ff ; 0xc198c + mov CL, strict byte 003h ; b1 03 ; 0xc198e + sal bx, CL ; d3 e3 ; 0xc1990 + mov bx, word [bx+04632h] ; 8b 9f 32 46 ; 0xc1992 + mov cx, ax ; 89 c1 ; 0xc1996 + mov ax, dx ; 89 d0 ; 0xc1998 + xor di, di ; 31 ff ; 0xc199a + mov es, bx ; 8e c3 ; 0xc199c + cld ; fc ; 0xc199e + jcxz 019a3h ; e3 02 ; 0xc199f + rep stosb ; f3 aa ; 0xc19a1 + mov ax, strict word 00005h ; b8 05 00 ; 0xc19a3 vgabios.c:1013 + mov dx, 003ceh ; ba ce 03 ; 0xc19a6 + out DX, ax ; ef ; 0xc19a9 + jmp short 0193dh ; eb 91 ; 0xc19aa vgabios.c:1015 + cmp byte [bp+00ah], 001h ; 80 7e 0a 01 ; 0xc19ac vgabios.c:1017 + jne short 019f7h ; 75 45 ; 0xc19b0 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc19b2 vgabios.c:1018 + xor ah, ah ; 30 e4 ; 0xc19b5 + mov word [bp-016h], ax ; 89 46 ea ; 0xc19b7 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc19ba + xor ah, ah ; 30 e4 ; 0xc19bd + mov dx, ax ; 89 c2 ; 0xc19bf + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc19c1 + jc short 01a28h ; 72 62 ; 0xc19c4 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc19c6 vgabios.c:1020 + add ax, word [bp-016h] ; 03 46 ea ; 0xc19c9 + cmp ax, dx ; 39 d0 ; 0xc19cc + jnbe short 019d6h ; 77 06 ; 0xc19ce + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc19d0 + jne short 019f9h ; 75 23 ; 0xc19d4 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc19d6 vgabios.c:1021 + xor ah, ah ; 30 e4 ; 0xc19d9 + push ax ; 50 ; 0xc19db + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc19dc + push ax ; 50 ; 0xc19df + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc19e0 + mov cx, ax ; 89 c1 ; 0xc19e3 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc19e5 + xor bh, bh ; 30 ff ; 0xc19e8 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc19ea + mov dx, ax ; 89 c2 ; 0xc19ed + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc19ef + call 01492h ; e8 9d fa ; 0xc19f2 + jmp short 01a23h ; eb 2c ; 0xc19f5 vgabios.c:1022 + jmp short 01a2bh ; eb 32 ; 0xc19f7 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc19f9 vgabios.c:1023 + xor ah, ah ; 30 e4 ; 0xc19fc + push ax ; 50 ; 0xc19fe + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc19ff + push ax ; 50 ; 0xc1a02 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1a03 + mov cx, ax ; 89 c1 ; 0xc1a06 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1a08 + mov bx, ax ; 89 c3 ; 0xc1a0b + add al, byte [bp-00ah] ; 02 46 f6 ; 0xc1a0d + mov dl, byte [bp-00ch] ; 8a 56 f4 ; 0xc1a10 + mov byte [bp-014h], dl ; 88 56 ec ; 0xc1a13 + mov byte [bp-013h], ah ; 88 66 ed ; 0xc1a16 + mov si, word [bp-014h] ; 8b 76 ec ; 0xc1a19 + mov dx, ax ; 89 c2 ; 0xc1a1c + mov ax, si ; 89 f0 ; 0xc1a1e + call 01403h ; e8 e0 f9 ; 0xc1a20 + inc word [bp-016h] ; ff 46 ea ; 0xc1a23 vgabios.c:1024 + jmp short 019bah ; eb 92 ; 0xc1a26 + jmp near 01be5h ; e9 ba 01 ; 0xc1a28 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1a2b vgabios.c:1027 + xor ah, ah ; 30 e4 ; 0xc1a2e + mov word [bp-016h], ax ; 89 46 ea ; 0xc1a30 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1a33 + xor ah, ah ; 30 e4 ; 0xc1a36 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1a38 + jnbe short 01a28h ; 77 eb ; 0xc1a3b + mov dx, ax ; 89 c2 ; 0xc1a3d vgabios.c:1029 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1a3f + add dx, ax ; 01 c2 ; 0xc1a42 + cmp dx, word [bp-016h] ; 3b 56 ea ; 0xc1a44 + jnbe short 01a4dh ; 77 04 ; 0xc1a47 + test al, al ; 84 c0 ; 0xc1a49 + jne short 01a6eh ; 75 21 ; 0xc1a4b + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1a4d vgabios.c:1030 + xor ah, ah ; 30 e4 ; 0xc1a50 + push ax ; 50 ; 0xc1a52 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1a53 + push ax ; 50 ; 0xc1a56 + mov cl, byte [bp-018h] ; 8a 4e e8 ; 0xc1a57 + xor ch, ch ; 30 ed ; 0xc1a5a + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1a5c + mov bx, ax ; 89 c3 ; 0xc1a5f + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1a61 + mov dx, ax ; 89 c2 ; 0xc1a64 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1a66 + call 01492h ; e8 26 fa ; 0xc1a69 + jmp short 01a99h ; eb 2b ; 0xc1a6c vgabios.c:1031 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1a6e vgabios.c:1032 + push ax ; 50 ; 0xc1a71 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1a72 + push ax ; 50 ; 0xc1a75 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1a76 + mov cx, ax ; 89 c1 ; 0xc1a79 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1a7b + sub al, byte [bp-00ah] ; 2a 46 f6 ; 0xc1a7e + mov bx, ax ; 89 c3 ; 0xc1a81 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1a83 + mov dl, byte [bp-00ch] ; 8a 56 f4 ; 0xc1a86 + mov byte [bp-014h], dl ; 88 56 ec ; 0xc1a89 + mov byte [bp-013h], ah ; 88 66 ed ; 0xc1a8c + mov si, word [bp-014h] ; 8b 76 ec ; 0xc1a8f + mov dx, ax ; 89 c2 ; 0xc1a92 + mov ax, si ; 89 f0 ; 0xc1a94 + call 01403h ; e8 6a f9 ; 0xc1a96 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1a99 vgabios.c:1033 + xor ah, ah ; 30 e4 ; 0xc1a9c + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1a9e + jc short 01aefh ; 72 4c ; 0xc1aa1 + dec word [bp-016h] ; ff 4e ea ; 0xc1aa3 vgabios.c:1034 + jmp short 01a33h ; eb 8b ; 0xc1aa6 + mov bl, byte [di+04631h] ; 8a 9d 31 46 ; 0xc1aa8 vgabios.c:1039 + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc1aac vgabios.c:1040 + jne short 01af2h ; 75 40 ; 0xc1ab0 + cmp byte [bp-00eh], 000h ; 80 7e f2 00 ; 0xc1ab2 + jne short 01af2h ; 75 3a ; 0xc1ab6 + cmp byte [bp-00ch], 000h ; 80 7e f4 00 ; 0xc1ab8 + jne short 01af2h ; 75 34 ; 0xc1abc + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1abe + cmp ax, word [bp-01eh] ; 3b 46 e2 ; 0xc1ac1 + jne short 01af2h ; 75 2c ; 0xc1ac4 + mov al, ch ; 88 e8 ; 0xc1ac6 + cmp ax, word [bp-01ch] ; 3b 46 e4 ; 0xc1ac8 + jne short 01af2h ; 75 25 ; 0xc1acb + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1acd vgabios.c:1042 + mov dx, ax ; 89 c2 ; 0xc1ad0 + mov ax, word [bp-01ah] ; 8b 46 e6 ; 0xc1ad2 + mul dx ; f7 e2 ; 0xc1ad5 + xor bh, bh ; 30 ff ; 0xc1ad7 + mul bx ; f7 e3 ; 0xc1ad9 + mov dl, byte [bp-008h] ; 8a 56 f8 ; 0xc1adb + xor dh, dh ; 30 f6 ; 0xc1ade + mov es, [di+04632h] ; 8e 85 32 46 ; 0xc1ae0 + mov cx, ax ; 89 c1 ; 0xc1ae4 + mov ax, dx ; 89 d0 ; 0xc1ae6 + xor di, di ; 31 ff ; 0xc1ae8 + cld ; fc ; 0xc1aea + jcxz 01aefh ; e3 02 ; 0xc1aeb + rep stosb ; f3 aa ; 0xc1aed + jmp near 01be5h ; e9 f3 00 ; 0xc1aef vgabios.c:1044 + cmp bl, 002h ; 80 fb 02 ; 0xc1af2 vgabios.c:1046 + jne short 01b00h ; 75 09 ; 0xc1af5 + sal byte [bp-00ch], 1 ; d0 66 f4 ; 0xc1af7 vgabios.c:1048 + sal byte [bp-006h], 1 ; d0 66 fa ; 0xc1afa vgabios.c:1049 + sal word [bp-018h], 1 ; d1 66 e8 ; 0xc1afd vgabios.c:1050 + cmp byte [bp+00ah], 001h ; 80 7e 0a 01 ; 0xc1b00 vgabios.c:1053 + jne short 01b6fh ; 75 69 ; 0xc1b04 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1b06 vgabios.c:1054 + xor ah, ah ; 30 e4 ; 0xc1b09 + mov word [bp-016h], ax ; 89 46 ea ; 0xc1b0b + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1b0e + xor ah, ah ; 30 e4 ; 0xc1b11 + mov dx, ax ; 89 c2 ; 0xc1b13 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1b15 + jc short 01aefh ; 72 d5 ; 0xc1b18 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1b1a vgabios.c:1056 + add ax, word [bp-016h] ; 03 46 ea ; 0xc1b1d + cmp ax, dx ; 39 d0 ; 0xc1b20 + jnbe short 01b2ah ; 77 06 ; 0xc1b22 + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc1b24 + jne short 01b4bh ; 75 21 ; 0xc1b28 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1b2a vgabios.c:1057 + xor ah, ah ; 30 e4 ; 0xc1b2d + push ax ; 50 ; 0xc1b2f + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1b30 + push ax ; 50 ; 0xc1b33 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1b34 + mov cx, ax ; 89 c1 ; 0xc1b37 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1b39 + mov bx, ax ; 89 c3 ; 0xc1b3c + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1b3e + mov dx, ax ; 89 c2 ; 0xc1b41 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1b43 + call 015d0h ; e8 87 fa ; 0xc1b46 + jmp short 01b6ah ; eb 1f ; 0xc1b49 vgabios.c:1058 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1b4b vgabios.c:1059 + xor ah, ah ; 30 e4 ; 0xc1b4e + push ax ; 50 ; 0xc1b50 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1b51 + push ax ; 50 ; 0xc1b54 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1b55 + mov cx, ax ; 89 c1 ; 0xc1b58 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1b5a + mov bx, ax ; 89 c3 ; 0xc1b5d + add al, byte [bp-00ah] ; 02 46 f6 ; 0xc1b5f + mov dx, ax ; 89 c2 ; 0xc1b62 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1b64 + call 0150eh ; e8 a4 f9 ; 0xc1b67 + inc word [bp-016h] ; ff 46 ea ; 0xc1b6a vgabios.c:1060 + jmp short 01b0eh ; eb 9f ; 0xc1b6d + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1b6f vgabios.c:1063 + xor ah, ah ; 30 e4 ; 0xc1b72 + mov word [bp-016h], ax ; 89 46 ea ; 0xc1b74 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1b77 + xor ah, ah ; 30 e4 ; 0xc1b7a + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1b7c + jnbe short 01be5h ; 77 64 ; 0xc1b7f + mov dx, ax ; 89 c2 ; 0xc1b81 vgabios.c:1065 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1b83 + add ax, dx ; 01 d0 ; 0xc1b86 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1b88 + jnbe short 01b93h ; 77 06 ; 0xc1b8b + cmp byte [bp-00ah], 000h ; 80 7e f6 00 ; 0xc1b8d + jne short 01bb4h ; 75 21 ; 0xc1b91 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1b93 vgabios.c:1066 + xor ah, ah ; 30 e4 ; 0xc1b96 + push ax ; 50 ; 0xc1b98 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1b99 + push ax ; 50 ; 0xc1b9c + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1b9d + mov cx, ax ; 89 c1 ; 0xc1ba0 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1ba2 + mov bx, ax ; 89 c3 ; 0xc1ba5 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1ba7 + mov dx, ax ; 89 c2 ; 0xc1baa + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1bac + call 015d0h ; e8 1e fa ; 0xc1baf + jmp short 01bd6h ; eb 22 ; 0xc1bb2 vgabios.c:1067 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1bb4 vgabios.c:1068 + xor ah, ah ; 30 e4 ; 0xc1bb7 + push ax ; 50 ; 0xc1bb9 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc1bba + push ax ; 50 ; 0xc1bbd + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1bbe + mov cx, ax ; 89 c1 ; 0xc1bc1 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1bc3 + sub al, byte [bp-00ah] ; 2a 46 f6 ; 0xc1bc6 + mov bx, ax ; 89 c3 ; 0xc1bc9 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc1bcb + mov dx, ax ; 89 c2 ; 0xc1bce + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1bd0 + call 0150eh ; e8 38 f9 ; 0xc1bd3 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1bd6 vgabios.c:1069 + xor ah, ah ; 30 e4 ; 0xc1bd9 + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1bdb + jc short 01be5h ; 72 05 ; 0xc1bde + dec word [bp-016h] ; ff 4e ea ; 0xc1be0 vgabios.c:1070 + jmp short 01b77h ; eb 92 ; 0xc1be3 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1be5 vgabios.c:1081 + pop di ; 5f ; 0xc1be8 + pop si ; 5e ; 0xc1be9 + pop bp ; 5d ; 0xc1bea + retn 00008h ; c2 08 00 ; 0xc1beb + ; disGetNextSymbol 0xc1bee LB 0x223c -> off=0x0 cb=00000000000000f8 uValue=00000000000c1bee 'write_gfx_char_pl4' +write_gfx_char_pl4: ; 0xc1bee LB 0xf8 + push bp ; 55 ; 0xc1bee vgabios.c:1084 + mov bp, sp ; 89 e5 ; 0xc1bef + push si ; 56 ; 0xc1bf1 + push di ; 57 ; 0xc1bf2 + sub sp, strict byte 0000eh ; 83 ec 0e ; 0xc1bf3 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc1bf6 + mov byte [bp-006h], dl ; 88 56 fa ; 0xc1bf9 + mov byte [bp-00ah], bl ; 88 5e f6 ; 0xc1bfc + mov al, cl ; 88 c8 ; 0xc1bff + cmp byte [bp+006h], 010h ; 80 7e 06 10 ; 0xc1c01 vgabios.c:1091 + je short 01c12h ; 74 0b ; 0xc1c05 + cmp byte [bp+006h], 00eh ; 80 7e 06 0e ; 0xc1c07 + jne short 01c17h ; 75 0a ; 0xc1c0b + mov di, 05bech ; bf ec 5b ; 0xc1c0d vgabios.c:1093 + jmp short 01c1ah ; eb 08 ; 0xc1c10 vgabios.c:1094 + mov di, 069ech ; bf ec 69 ; 0xc1c12 vgabios.c:1096 + jmp short 01c1ah ; eb 03 ; 0xc1c15 vgabios.c:1097 + mov di, 053ech ; bf ec 53 ; 0xc1c17 vgabios.c:1099 + xor ah, ah ; 30 e4 ; 0xc1c1a vgabios.c:1101 + mov bx, ax ; 89 c3 ; 0xc1c1c + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1c1e + mov si, ax ; 89 c6 ; 0xc1c21 + mov ax, bx ; 89 d8 ; 0xc1c23 + imul si ; f7 ee ; 0xc1c25 + mov bl, byte [bp+004h] ; 8a 5e 04 ; 0xc1c27 + imul bx ; f7 eb ; 0xc1c2a + mov bx, ax ; 89 c3 ; 0xc1c2c + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc1c2e + xor ah, ah ; 30 e4 ; 0xc1c31 + add ax, bx ; 01 d8 ; 0xc1c33 + mov word [bp-010h], ax ; 89 46 f0 ; 0xc1c35 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1c38 vgabios.c:1102 + xor ah, ah ; 30 e4 ; 0xc1c3b + imul si ; f7 ee ; 0xc1c3d + mov word [bp-00eh], ax ; 89 46 f2 ; 0xc1c3f + mov ax, 00f02h ; b8 02 0f ; 0xc1c42 vgabios.c:1103 + mov dx, 003c4h ; ba c4 03 ; 0xc1c45 + out DX, ax ; ef ; 0xc1c48 + mov ax, 00205h ; b8 05 02 ; 0xc1c49 vgabios.c:1104 + mov dx, 003ceh ; ba ce 03 ; 0xc1c4c + out DX, ax ; ef ; 0xc1c4f + test byte [bp-006h], 080h ; f6 46 fa 80 ; 0xc1c50 vgabios.c:1105 + je short 01c5ch ; 74 06 ; 0xc1c54 + mov ax, 01803h ; b8 03 18 ; 0xc1c56 vgabios.c:1107 + out DX, ax ; ef ; 0xc1c59 + jmp short 01c60h ; eb 04 ; 0xc1c5a vgabios.c:1109 + mov ax, strict word 00003h ; b8 03 00 ; 0xc1c5c vgabios.c:1111 + out DX, ax ; ef ; 0xc1c5f + xor ch, ch ; 30 ed ; 0xc1c60 vgabios.c:1113 + cmp ch, byte [bp+006h] ; 3a 6e 06 ; 0xc1c62 + jnc short 01cceh ; 73 67 ; 0xc1c65 + mov al, ch ; 88 e8 ; 0xc1c67 vgabios.c:1115 + xor ah, ah ; 30 e4 ; 0xc1c69 + mov bl, byte [bp+004h] ; 8a 5e 04 ; 0xc1c6b + xor bh, bh ; 30 ff ; 0xc1c6e + imul bx ; f7 eb ; 0xc1c70 + mov si, word [bp-010h] ; 8b 76 f0 ; 0xc1c72 + add si, ax ; 01 c6 ; 0xc1c75 + mov byte [bp-008h], bh ; 88 7e f8 ; 0xc1c77 vgabios.c:1116 + jmp short 01c8fh ; eb 13 ; 0xc1c7a + xor bx, bx ; 31 db ; 0xc1c7c vgabios.c:1127 + mov dx, si ; 89 f2 ; 0xc1c7e + mov ax, 0a000h ; b8 00 a0 ; 0xc1c80 + call 031cch ; e8 46 15 ; 0xc1c83 + inc byte [bp-008h] ; fe 46 f8 ; 0xc1c86 vgabios.c:1129 + cmp byte [bp-008h], 008h ; 80 7e f8 08 ; 0xc1c89 + jnc short 01ccah ; 73 3b ; 0xc1c8d + mov cl, byte [bp-008h] ; 8a 4e f8 ; 0xc1c8f + mov ax, 00080h ; b8 80 00 ; 0xc1c92 + sar ax, CL ; d3 f8 ; 0xc1c95 + xor ah, ah ; 30 e4 ; 0xc1c97 + mov word [bp-012h], ax ; 89 46 ee ; 0xc1c99 + mov ah, byte [bp-012h] ; 8a 66 ee ; 0xc1c9c + xor al, al ; 30 c0 ; 0xc1c9f + or AL, strict byte 008h ; 0c 08 ; 0xc1ca1 + mov dx, 003ceh ; ba ce 03 ; 0xc1ca3 + out DX, ax ; ef ; 0xc1ca6 + mov dx, si ; 89 f2 ; 0xc1ca7 + mov ax, 0a000h ; b8 00 a0 ; 0xc1ca9 + call 031beh ; e8 0f 15 ; 0xc1cac + mov al, ch ; 88 e8 ; 0xc1caf + xor ah, ah ; 30 e4 ; 0xc1cb1 + mov bx, word [bp-00eh] ; 8b 5e f2 ; 0xc1cb3 + add bx, ax ; 01 c3 ; 0xc1cb6 + add bx, di ; 01 fb ; 0xc1cb8 + mov al, byte [bx] ; 8a 07 ; 0xc1cba + test word [bp-012h], ax ; 85 46 ee ; 0xc1cbc + je short 01c7ch ; 74 bb ; 0xc1cbf + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1cc1 + and AL, strict byte 00fh ; 24 0f ; 0xc1cc4 + mov bx, ax ; 89 c3 ; 0xc1cc6 + jmp short 01c7eh ; eb b4 ; 0xc1cc8 + db 0feh, 0c5h + ; inc ch ; fe c5 ; 0xc1cca vgabios.c:1130 + jmp short 01c62h ; eb 94 ; 0xc1ccc + mov ax, 0ff08h ; b8 08 ff ; 0xc1cce vgabios.c:1131 + mov dx, 003ceh ; ba ce 03 ; 0xc1cd1 + out DX, ax ; ef ; 0xc1cd4 + mov ax, strict word 00005h ; b8 05 00 ; 0xc1cd5 vgabios.c:1132 + out DX, ax ; ef ; 0xc1cd8 + mov ax, strict word 00003h ; b8 03 00 ; 0xc1cd9 vgabios.c:1133 + out DX, ax ; ef ; 0xc1cdc + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1cdd vgabios.c:1134 + pop di ; 5f ; 0xc1ce0 + pop si ; 5e ; 0xc1ce1 + pop bp ; 5d ; 0xc1ce2 + retn 00004h ; c2 04 00 ; 0xc1ce3 + ; disGetNextSymbol 0xc1ce6 LB 0x2144 -> off=0x0 cb=000000000000013a uValue=00000000000c1ce6 'write_gfx_char_cga' +write_gfx_char_cga: ; 0xc1ce6 LB 0x13a + push bp ; 55 ; 0xc1ce6 vgabios.c:1137 + mov bp, sp ; 89 e5 ; 0xc1ce7 + push si ; 56 ; 0xc1ce9 + push di ; 57 ; 0xc1cea + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc1ceb + mov byte [bp-008h], al ; 88 46 f8 ; 0xc1cee + mov byte [bp-00ah], dl ; 88 56 f6 ; 0xc1cf1 + mov si, 053ech ; be ec 53 ; 0xc1cf4 vgabios.c:1144 + xor bh, bh ; 30 ff ; 0xc1cf7 vgabios.c:1145 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc1cf9 + xor ah, ah ; 30 e4 ; 0xc1cfc + mov di, ax ; 89 c7 ; 0xc1cfe + mov ax, bx ; 89 d8 ; 0xc1d00 + imul di ; f7 ef ; 0xc1d02 + mov bx, ax ; 89 c3 ; 0xc1d04 + mov al, cl ; 88 c8 ; 0xc1d06 + xor ah, ah ; 30 e4 ; 0xc1d08 + mov cx, 00140h ; b9 40 01 ; 0xc1d0a + imul cx ; f7 e9 ; 0xc1d0d + add bx, ax ; 01 c3 ; 0xc1d0f + mov word [bp-00eh], bx ; 89 5e f2 ; 0xc1d11 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc1d14 vgabios.c:1146 + xor ah, ah ; 30 e4 ; 0xc1d17 + mov CL, strict byte 003h ; b1 03 ; 0xc1d19 + mov di, ax ; 89 c7 ; 0xc1d1b + sal di, CL ; d3 e7 ; 0xc1d1d + mov byte [bp-006h], ah ; 88 66 fa ; 0xc1d1f vgabios.c:1147 + jmp near 01d77h ; e9 52 00 ; 0xc1d22 + xor al, al ; 30 c0 ; 0xc1d25 vgabios.c:1160 + xor ah, ah ; 30 e4 ; 0xc1d27 vgabios.c:1162 + jmp short 01d36h ; eb 0b ; 0xc1d29 + or al, bl ; 08 d8 ; 0xc1d2b vgabios.c:1172 + shr ch, 1 ; d0 ed ; 0xc1d2d vgabios.c:1175 + db 0feh, 0c4h + ; inc ah ; fe c4 ; 0xc1d2f vgabios.c:1176 + cmp ah, 008h ; 80 fc 08 ; 0xc1d31 + jnc short 01d61h ; 73 2b ; 0xc1d34 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc1d36 + xor bh, bh ; 30 ff ; 0xc1d39 + add bx, di ; 01 fb ; 0xc1d3b + add bx, si ; 01 f3 ; 0xc1d3d + mov bl, byte [bx] ; 8a 1f ; 0xc1d3f + xor bh, bh ; 30 ff ; 0xc1d41 + mov dx, bx ; 89 da ; 0xc1d43 + mov bl, ch ; 88 eb ; 0xc1d45 + test dx, bx ; 85 da ; 0xc1d47 + je short 01d2dh ; 74 e2 ; 0xc1d49 + mov CL, strict byte 007h ; b1 07 ; 0xc1d4b + sub cl, ah ; 28 e1 ; 0xc1d4d + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc1d4f + and bl, 001h ; 80 e3 01 ; 0xc1d52 + sal bl, CL ; d2 e3 ; 0xc1d55 + test byte [bp-00ah], 080h ; f6 46 f6 80 ; 0xc1d57 + je short 01d2bh ; 74 ce ; 0xc1d5b + xor al, bl ; 30 d8 ; 0xc1d5d + jmp short 01d2dh ; eb cc ; 0xc1d5f + xor ah, ah ; 30 e4 ; 0xc1d61 vgabios.c:1177 + mov bx, ax ; 89 c3 ; 0xc1d63 + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc1d65 + mov ax, 0b800h ; b8 00 b8 ; 0xc1d68 + call 031cch ; e8 5e 14 ; 0xc1d6b + inc byte [bp-006h] ; fe 46 fa ; 0xc1d6e vgabios.c:1179 + cmp byte [bp-006h], 008h ; 80 7e fa 08 ; 0xc1d71 + jnc short 01dc9h ; 73 52 ; 0xc1d75 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1d77 + xor ah, ah ; 30 e4 ; 0xc1d7a + sar ax, 1 ; d1 f8 ; 0xc1d7c + mov bx, strict word 00050h ; bb 50 00 ; 0xc1d7e + imul bx ; f7 eb ; 0xc1d81 + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc1d83 + add dx, ax ; 01 c2 ; 0xc1d86 + mov word [bp-00ch], dx ; 89 56 f4 ; 0xc1d88 + test byte [bp-006h], 001h ; f6 46 fa 01 ; 0xc1d8b + je short 01d95h ; 74 04 ; 0xc1d8f + add byte [bp-00bh], 020h ; 80 46 f5 20 ; 0xc1d91 + mov CH, strict byte 080h ; b5 80 ; 0xc1d95 + cmp byte [bp+006h], 001h ; 80 7e 06 01 ; 0xc1d97 + jne short 01daeh ; 75 11 ; 0xc1d9b + test byte [bp-00ah], ch ; 84 6e f6 ; 0xc1d9d + je short 01d25h ; 74 83 ; 0xc1da0 + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc1da2 + mov ax, 0b800h ; b8 00 b8 ; 0xc1da5 + call 031beh ; e8 13 14 ; 0xc1da8 + jmp near 01d27h ; e9 79 ff ; 0xc1dab + test ch, ch ; 84 ed ; 0xc1dae vgabios.c:1181 + jbe short 01d6eh ; 76 bc ; 0xc1db0 + test byte [bp-00ah], 080h ; f6 46 f6 80 ; 0xc1db2 vgabios.c:1183 + je short 01dc3h ; 74 0b ; 0xc1db6 + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc1db8 vgabios.c:1185 + mov ax, 0b800h ; b8 00 b8 ; 0xc1dbb + call 031beh ; e8 fd 13 ; 0xc1dbe + jmp short 01dc5h ; eb 02 ; 0xc1dc1 vgabios.c:1187 + xor al, al ; 30 c0 ; 0xc1dc3 vgabios.c:1189 + xor ah, ah ; 30 e4 ; 0xc1dc5 vgabios.c:1191 + jmp short 01dd0h ; eb 07 ; 0xc1dc7 + jmp short 01e17h ; eb 4c ; 0xc1dc9 + cmp ah, 004h ; 80 fc 04 ; 0xc1dcb + jnc short 01e05h ; 73 35 ; 0xc1dce + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc1dd0 vgabios.c:1193 + xor bh, bh ; 30 ff ; 0xc1dd3 + add bx, di ; 01 fb ; 0xc1dd5 + add bx, si ; 01 f3 ; 0xc1dd7 + mov bl, byte [bx] ; 8a 1f ; 0xc1dd9 + xor bh, bh ; 30 ff ; 0xc1ddb + mov dx, bx ; 89 da ; 0xc1ddd + mov bl, ch ; 88 eb ; 0xc1ddf + test dx, bx ; 85 da ; 0xc1de1 + je short 01dffh ; 74 1a ; 0xc1de3 + mov CL, strict byte 003h ; b1 03 ; 0xc1de5 vgabios.c:1194 + sub cl, ah ; 28 e1 ; 0xc1de7 + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc1de9 + and bl, 003h ; 80 e3 03 ; 0xc1dec + sal cl, 1 ; d0 e1 ; 0xc1def + sal bl, CL ; d2 e3 ; 0xc1df1 + test byte [bp-00ah], 080h ; f6 46 f6 80 ; 0xc1df3 vgabios.c:1195 + je short 01dfdh ; 74 04 ; 0xc1df7 + xor al, bl ; 30 d8 ; 0xc1df9 vgabios.c:1197 + jmp short 01dffh ; eb 02 ; 0xc1dfb vgabios.c:1199 + or al, bl ; 08 d8 ; 0xc1dfd vgabios.c:1201 + shr ch, 1 ; d0 ed ; 0xc1dff vgabios.c:1204 + db 0feh, 0c4h + ; inc ah ; fe c4 ; 0xc1e01 vgabios.c:1205 + jmp short 01dcbh ; eb c6 ; 0xc1e03 + xor ah, ah ; 30 e4 ; 0xc1e05 vgabios.c:1206 + mov bx, ax ; 89 c3 ; 0xc1e07 + mov dx, word [bp-00ch] ; 8b 56 f4 ; 0xc1e09 + mov ax, 0b800h ; b8 00 b8 ; 0xc1e0c + call 031cch ; e8 ba 13 ; 0xc1e0f + inc word [bp-00ch] ; ff 46 f4 ; 0xc1e12 vgabios.c:1207 + jmp short 01daeh ; eb 97 ; 0xc1e15 vgabios.c:1208 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1e17 vgabios.c:1211 + pop di ; 5f ; 0xc1e1a + pop si ; 5e ; 0xc1e1b + pop bp ; 5d ; 0xc1e1c + retn 00004h ; c2 04 00 ; 0xc1e1d + ; disGetNextSymbol 0xc1e20 LB 0x200a -> off=0x0 cb=00000000000000ac uValue=00000000000c1e20 'write_gfx_char_lin' +write_gfx_char_lin: ; 0xc1e20 LB 0xac + push bp ; 55 ; 0xc1e20 vgabios.c:1214 + mov bp, sp ; 89 e5 ; 0xc1e21 + push si ; 56 ; 0xc1e23 + push di ; 57 ; 0xc1e24 + sub sp, strict byte 0000ch ; 83 ec 0c ; 0xc1e25 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc1e28 + mov byte [bp-00ch], dl ; 88 56 f4 ; 0xc1e2b + mov byte [bp-006h], bl ; 88 5e fa ; 0xc1e2e + mov al, cl ; 88 c8 ; 0xc1e31 + mov si, 053ech ; be ec 53 ; 0xc1e33 vgabios.c:1221 + xor ah, ah ; 30 e4 ; 0xc1e36 vgabios.c:1222 + mov bl, byte [bp+004h] ; 8a 5e 04 ; 0xc1e38 + xor bh, bh ; 30 ff ; 0xc1e3b + imul bx ; f7 eb ; 0xc1e3d + mov CL, strict byte 006h ; b1 06 ; 0xc1e3f + sal ax, CL ; d3 e0 ; 0xc1e41 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc1e43 + mov CL, strict byte 003h ; b1 03 ; 0xc1e46 + mov dx, bx ; 89 da ; 0xc1e48 + sal dx, CL ; d3 e2 ; 0xc1e4a + add dx, ax ; 01 c2 ; 0xc1e4c + mov word [bp-00eh], dx ; 89 56 f2 ; 0xc1e4e + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc1e51 vgabios.c:1223 + mov di, bx ; 89 df ; 0xc1e54 + sal di, CL ; d3 e7 ; 0xc1e56 + xor ch, ch ; 30 ed ; 0xc1e58 vgabios.c:1224 + jmp short 01ea0h ; eb 44 ; 0xc1e5a + cmp cl, 008h ; 80 f9 08 ; 0xc1e5c vgabios.c:1228 + jnc short 01e99h ; 73 38 ; 0xc1e5f + xor dl, dl ; 30 d2 ; 0xc1e61 vgabios.c:1230 + mov al, ch ; 88 e8 ; 0xc1e63 vgabios.c:1231 + xor ah, ah ; 30 e4 ; 0xc1e65 + add ax, di ; 01 f8 ; 0xc1e67 + mov bx, si ; 89 f3 ; 0xc1e69 + add bx, ax ; 01 c3 ; 0xc1e6b + mov al, byte [bx] ; 8a 07 ; 0xc1e6d + xor ah, ah ; 30 e4 ; 0xc1e6f + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc1e71 + xor bh, bh ; 30 ff ; 0xc1e74 + test ax, bx ; 85 d8 ; 0xc1e76 + je short 01e7dh ; 74 03 ; 0xc1e78 + mov dl, byte [bp-00ch] ; 8a 56 f4 ; 0xc1e7a vgabios.c:1233 + mov bl, dl ; 88 d3 ; 0xc1e7d vgabios.c:1235 + xor bh, bh ; 30 ff ; 0xc1e7f + mov ax, bx ; 89 d8 ; 0xc1e81 + mov bl, cl ; 88 cb ; 0xc1e83 + mov dx, word [bp-010h] ; 8b 56 f0 ; 0xc1e85 + add dx, bx ; 01 da ; 0xc1e88 + mov bx, ax ; 89 c3 ; 0xc1e8a + mov ax, 0a000h ; b8 00 a0 ; 0xc1e8c + call 031cch ; e8 3a 13 ; 0xc1e8f + shr byte [bp-008h], 1 ; d0 6e f8 ; 0xc1e92 vgabios.c:1236 + db 0feh, 0c1h + ; inc cl ; fe c1 ; 0xc1e95 vgabios.c:1237 + jmp short 01e5ch ; eb c3 ; 0xc1e97 + db 0feh, 0c5h + ; inc ch ; fe c5 ; 0xc1e99 vgabios.c:1238 + cmp ch, 008h ; 80 fd 08 ; 0xc1e9b + jnc short 01ec3h ; 73 23 ; 0xc1e9e + mov bl, ch ; 88 eb ; 0xc1ea0 + xor bh, bh ; 30 ff ; 0xc1ea2 + mov al, byte [bp+004h] ; 8a 46 04 ; 0xc1ea4 + xor ah, ah ; 30 e4 ; 0xc1ea7 + mov dx, ax ; 89 c2 ; 0xc1ea9 + mov ax, bx ; 89 d8 ; 0xc1eab + imul dx ; f7 ea ; 0xc1ead + mov CL, strict byte 003h ; b1 03 ; 0xc1eaf + sal ax, CL ; d3 e0 ; 0xc1eb1 + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc1eb3 + add dx, ax ; 01 c2 ; 0xc1eb6 + mov word [bp-010h], dx ; 89 56 f0 ; 0xc1eb8 + mov byte [bp-008h], 080h ; c6 46 f8 80 ; 0xc1ebb + xor cl, cl ; 30 c9 ; 0xc1ebf + jmp short 01e61h ; eb 9e ; 0xc1ec1 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc1ec3 vgabios.c:1239 + pop di ; 5f ; 0xc1ec6 + pop si ; 5e ; 0xc1ec7 + pop bp ; 5d ; 0xc1ec8 + retn 00002h ; c2 02 00 ; 0xc1ec9 + ; disGetNextSymbol 0xc1ecc LB 0x1f5e -> off=0x0 cb=0000000000000192 uValue=00000000000c1ecc 'biosfn_write_char_attr' +biosfn_write_char_attr: ; 0xc1ecc LB 0x192 + push bp ; 55 ; 0xc1ecc vgabios.c:1242 + mov bp, sp ; 89 e5 ; 0xc1ecd + push si ; 56 ; 0xc1ecf + push di ; 57 ; 0xc1ed0 + sub sp, strict byte 0001ah ; 83 ec 1a ; 0xc1ed1 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc1ed4 + mov byte [bp-012h], dl ; 88 56 ee ; 0xc1ed7 + mov byte [bp-006h], bl ; 88 5e fa ; 0xc1eda + mov si, cx ; 89 ce ; 0xc1edd + mov dx, strict word 00049h ; ba 49 00 ; 0xc1edf vgabios.c:1249 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1ee2 + call 031beh ; e8 d6 12 ; 0xc1ee5 + xor ah, ah ; 30 e4 ; 0xc1ee8 vgabios.c:1250 + call 03193h ; e8 a6 12 ; 0xc1eea + mov cl, al ; 88 c1 ; 0xc1eed + mov byte [bp-014h], al ; 88 46 ec ; 0xc1eef + cmp AL, strict byte 0ffh ; 3c ff ; 0xc1ef2 vgabios.c:1251 + jne short 01ef9h ; 75 03 ; 0xc1ef4 + jmp near 02057h ; e9 5e 01 ; 0xc1ef6 + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1ef9 vgabios.c:1254 + xor ah, ah ; 30 e4 ; 0xc1efc + lea bx, [bp-01eh] ; 8d 5e e2 ; 0xc1efe + lea dx, [bp-01ch] ; 8d 56 e4 ; 0xc1f01 + call 00a8ch ; e8 85 eb ; 0xc1f04 + mov al, byte [bp-01eh] ; 8a 46 e2 ; 0xc1f07 vgabios.c:1255 + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc1f0a + mov ax, word [bp-01eh] ; 8b 46 e2 ; 0xc1f0d + mov byte [bp-00eh], ah ; 88 66 f2 ; 0xc1f10 + mov dx, 00084h ; ba 84 00 ; 0xc1f13 vgabios.c:1258 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1f16 + call 031beh ; e8 a2 12 ; 0xc1f19 + xor ah, ah ; 30 e4 ; 0xc1f1c + inc ax ; 40 ; 0xc1f1e + mov word [bp-01ah], ax ; 89 46 e6 ; 0xc1f1f + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc1f22 vgabios.c:1259 + mov ax, strict word 00040h ; b8 40 00 ; 0xc1f25 + call 031dah ; e8 af 12 ; 0xc1f28 + mov bx, ax ; 89 c3 ; 0xc1f2b + mov word [bp-016h], ax ; 89 46 ea ; 0xc1f2d + mov al, cl ; 88 c8 ; 0xc1f30 vgabios.c:1261 + xor ah, ah ; 30 e4 ; 0xc1f32 + mov CL, strict byte 003h ; b1 03 ; 0xc1f34 + mov di, ax ; 89 c7 ; 0xc1f36 + sal di, CL ; d3 e7 ; 0xc1f38 + cmp byte [di+0462fh], 000h ; 80 bd 2f 46 00 ; 0xc1f3a + jne short 01f8ah ; 75 49 ; 0xc1f3f + mov ax, bx ; 89 d8 ; 0xc1f41 vgabios.c:1264 + mul word [bp-01ah] ; f7 66 e6 ; 0xc1f43 + sal ax, 1 ; d1 e0 ; 0xc1f46 + or AL, strict byte 0ffh ; 0c ff ; 0xc1f48 + mov cx, ax ; 89 c1 ; 0xc1f4a + mov al, byte [bp-012h] ; 8a 46 ee ; 0xc1f4c + xor ah, ah ; 30 e4 ; 0xc1f4f + mov dx, ax ; 89 c2 ; 0xc1f51 + mov ax, cx ; 89 c8 ; 0xc1f53 + inc ax ; 40 ; 0xc1f55 + mul dx ; f7 e2 ; 0xc1f56 + mov cx, ax ; 89 c1 ; 0xc1f58 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc1f5a + xor ah, ah ; 30 e4 ; 0xc1f5d + mul bx ; f7 e3 ; 0xc1f5f + mov bl, byte [bp-00ch] ; 8a 5e f4 ; 0xc1f61 + xor bh, bh ; 30 ff ; 0xc1f64 + mov dx, ax ; 89 c2 ; 0xc1f66 + add dx, bx ; 01 da ; 0xc1f68 + sal dx, 1 ; d1 e2 ; 0xc1f6a + add dx, cx ; 01 ca ; 0xc1f6c + mov bh, byte [bp-006h] ; 8a 7e fa ; 0xc1f6e vgabios.c:1266 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc1f71 + mov word [bp-01ch], bx ; 89 5e e4 ; 0xc1f74 + mov ax, word [bp-01ch] ; 8b 46 e4 ; 0xc1f77 vgabios.c:1267 + mov es, [di+04632h] ; 8e 85 32 46 ; 0xc1f7a + mov cx, si ; 89 f1 ; 0xc1f7e + mov di, dx ; 89 d7 ; 0xc1f80 + cld ; fc ; 0xc1f82 + jcxz 01f87h ; e3 02 ; 0xc1f83 + rep stosw ; f3 ab ; 0xc1f85 + jmp near 02057h ; e9 cd 00 ; 0xc1f87 vgabios.c:1269 + mov bx, ax ; 89 c3 ; 0xc1f8a vgabios.c:1272 + mov al, byte [bx+046aeh] ; 8a 87 ae 46 ; 0xc1f8c + mov CL, strict byte 006h ; b1 06 ; 0xc1f90 + mov bx, ax ; 89 c3 ; 0xc1f92 + sal bx, CL ; d3 e3 ; 0xc1f94 + mov al, byte [bx+046c4h] ; 8a 87 c4 46 ; 0xc1f96 + mov byte [bp-010h], al ; 88 46 f0 ; 0xc1f9a + mov al, byte [di+04631h] ; 8a 85 31 46 ; 0xc1f9d vgabios.c:1273 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc1fa1 + dec si ; 4e ; 0xc1fa4 vgabios.c:1274 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc1fa5 + je short 01fb4h ; 74 0a ; 0xc1fa8 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1faa + xor ah, ah ; 30 e4 ; 0xc1fad + cmp ax, word [bp-016h] ; 3b 46 ea ; 0xc1faf + jc short 01fb7h ; 72 03 ; 0xc1fb2 + jmp near 02057h ; e9 a0 00 ; 0xc1fb4 + mov al, byte [bp-014h] ; 8a 46 ec ; 0xc1fb7 vgabios.c:1276 + mov CL, strict byte 003h ; b1 03 ; 0xc1fba + mov bx, ax ; 89 c3 ; 0xc1fbc + sal bx, CL ; d3 e3 ; 0xc1fbe + mov al, byte [bx+04630h] ; 8a 87 30 46 ; 0xc1fc0 + cmp al, cl ; 38 c8 ; 0xc1fc4 + jc short 01fd5h ; 72 0d ; 0xc1fc6 + jbe short 01fdbh ; 76 11 ; 0xc1fc8 + cmp AL, strict byte 005h ; 3c 05 ; 0xc1fca + je short 02030h ; 74 62 ; 0xc1fcc + cmp AL, strict byte 004h ; 3c 04 ; 0xc1fce + je short 01fdbh ; 74 09 ; 0xc1fd0 + jmp near 02051h ; e9 7c 00 ; 0xc1fd2 + cmp AL, strict byte 002h ; 3c 02 ; 0xc1fd5 + je short 02004h ; 74 2b ; 0xc1fd7 + jmp short 02051h ; eb 76 ; 0xc1fd9 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc1fdb vgabios.c:1280 + xor bh, bh ; 30 ff ; 0xc1fde + push bx ; 53 ; 0xc1fe0 + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc1fe1 + push bx ; 53 ; 0xc1fe4 + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc1fe5 + mov cx, bx ; 89 d9 ; 0xc1fe8 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc1fea + xor ah, ah ; 30 e4 ; 0xc1fed + mov dx, ax ; 89 c2 ; 0xc1fef + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc1ff1 + mov di, ax ; 89 c7 ; 0xc1ff4 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc1ff6 + mov ax, bx ; 89 d8 ; 0xc1ff9 + mov bx, dx ; 89 d3 ; 0xc1ffb + mov dx, di ; 89 fa ; 0xc1ffd + call 01beeh ; e8 ec fb ; 0xc1fff + jmp short 02051h ; eb 4d ; 0xc2002 vgabios.c:1281 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2004 vgabios.c:1283 + push ax ; 50 ; 0xc2007 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc2008 + push ax ; 50 ; 0xc200b + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc200c + mov cx, ax ; 89 c1 ; 0xc200f + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc2011 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc2014 + xor bh, bh ; 30 ff ; 0xc2017 + mov dx, bx ; 89 da ; 0xc2019 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc201b + mov byte [bp-018h], bl ; 88 5e e8 ; 0xc201e + mov byte [bp-017h], ah ; 88 66 e9 ; 0xc2021 + mov di, word [bp-018h] ; 8b 7e e8 ; 0xc2024 + mov bx, ax ; 89 c3 ; 0xc2027 + mov ax, di ; 89 f8 ; 0xc2029 + call 01ce6h ; e8 b8 fc ; 0xc202b + jmp short 02051h ; eb 21 ; 0xc202e vgabios.c:1284 + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc2030 vgabios.c:1286 + xor bh, bh ; 30 ff ; 0xc2033 + push bx ; 53 ; 0xc2035 + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc2036 + mov cx, bx ; 89 d9 ; 0xc2039 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc203b + mov dx, ax ; 89 c2 ; 0xc203e + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc2040 + mov di, bx ; 89 df ; 0xc2043 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc2045 + mov ax, bx ; 89 d8 ; 0xc2048 + mov bx, dx ; 89 d3 ; 0xc204a + mov dx, di ; 89 fa ; 0xc204c + call 01e20h ; e8 cf fd ; 0xc204e + inc byte [bp-00ch] ; fe 46 f4 ; 0xc2051 vgabios.c:1293 + jmp near 01fa4h ; e9 4d ff ; 0xc2054 vgabios.c:1294 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc2057 vgabios.c:1296 + pop di ; 5f ; 0xc205a + pop si ; 5e ; 0xc205b + pop bp ; 5d ; 0xc205c + retn ; c3 ; 0xc205d + ; disGetNextSymbol 0xc205e LB 0x1dcc -> off=0x0 cb=0000000000000193 uValue=00000000000c205e 'biosfn_write_char_only' +biosfn_write_char_only: ; 0xc205e LB 0x193 + push bp ; 55 ; 0xc205e vgabios.c:1299 + mov bp, sp ; 89 e5 ; 0xc205f + push si ; 56 ; 0xc2061 + push di ; 57 ; 0xc2062 + sub sp, strict byte 00018h ; 83 ec 18 ; 0xc2063 + mov byte [bp-006h], al ; 88 46 fa ; 0xc2066 + mov byte [bp-008h], dl ; 88 56 f8 ; 0xc2069 + mov byte [bp-00ah], bl ; 88 5e f6 ; 0xc206c + mov si, cx ; 89 ce ; 0xc206f + mov dx, strict word 00049h ; ba 49 00 ; 0xc2071 vgabios.c:1306 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2074 + call 031beh ; e8 44 11 ; 0xc2077 + xor ah, ah ; 30 e4 ; 0xc207a vgabios.c:1307 + call 03193h ; e8 14 11 ; 0xc207c + mov cl, al ; 88 c1 ; 0xc207f + mov byte [bp-00ch], al ; 88 46 f4 ; 0xc2081 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc2084 vgabios.c:1308 + jne short 0208bh ; 75 03 ; 0xc2086 + jmp near 021eah ; e9 5f 01 ; 0xc2088 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc208b vgabios.c:1311 + xor bh, bh ; 30 ff ; 0xc208e + mov ax, bx ; 89 d8 ; 0xc2090 + lea bx, [bp-01ch] ; 8d 5e e4 ; 0xc2092 + lea dx, [bp-01ah] ; 8d 56 e6 ; 0xc2095 + call 00a8ch ; e8 f1 e9 ; 0xc2098 + mov al, byte [bp-01ch] ; 8a 46 e4 ; 0xc209b vgabios.c:1312 + mov byte [bp-00eh], al ; 88 46 f2 ; 0xc209e + mov ax, word [bp-01ch] ; 8b 46 e4 ; 0xc20a1 + mov byte [bp-014h], ah ; 88 66 ec ; 0xc20a4 + mov dx, 00084h ; ba 84 00 ; 0xc20a7 vgabios.c:1315 + mov ax, strict word 00040h ; b8 40 00 ; 0xc20aa + call 031beh ; e8 0e 11 ; 0xc20ad + mov bl, al ; 88 c3 ; 0xc20b0 + xor bh, bh ; 30 ff ; 0xc20b2 + inc bx ; 43 ; 0xc20b4 + mov word [bp-018h], bx ; 89 5e e8 ; 0xc20b5 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc20b8 vgabios.c:1316 + mov ax, strict word 00040h ; b8 40 00 ; 0xc20bb + call 031dah ; e8 19 11 ; 0xc20be + mov di, ax ; 89 c7 ; 0xc20c1 + mov word [bp-016h], ax ; 89 46 ea ; 0xc20c3 + mov bl, cl ; 88 cb ; 0xc20c6 vgabios.c:1318 + xor bh, bh ; 30 ff ; 0xc20c8 + mov ax, bx ; 89 d8 ; 0xc20ca + mov CL, strict byte 003h ; b1 03 ; 0xc20cc + sal bx, CL ; d3 e3 ; 0xc20ce + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc20d0 + jne short 02125h ; 75 4e ; 0xc20d5 + mov ax, di ; 89 f8 ; 0xc20d7 vgabios.c:1321 + mul word [bp-018h] ; f7 66 e8 ; 0xc20d9 + sal ax, 1 ; d1 e0 ; 0xc20dc + or AL, strict byte 0ffh ; 0c ff ; 0xc20de + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc20e0 + xor bh, bh ; 30 ff ; 0xc20e3 + inc ax ; 40 ; 0xc20e5 + mul bx ; f7 e3 ; 0xc20e6 + mov cx, ax ; 89 c1 ; 0xc20e8 + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc20ea + mov ax, bx ; 89 d8 ; 0xc20ed + mul di ; f7 e7 ; 0xc20ef + mov dl, byte [bp-00eh] ; 8a 56 f2 ; 0xc20f1 + xor dh, dh ; 30 f6 ; 0xc20f4 + add ax, dx ; 01 d0 ; 0xc20f6 + sal ax, 1 ; d1 e0 ; 0xc20f8 + mov di, cx ; 89 cf ; 0xc20fa + add di, ax ; 01 c7 ; 0xc20fc + dec si ; 4e ; 0xc20fe vgabios.c:1323 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc20ff + je short 02088h ; 74 84 ; 0xc2102 + mov dl, byte [bp-006h] ; 8a 56 fa ; 0xc2104 vgabios.c:1324 + xor dh, dh ; 30 f6 ; 0xc2107 + mov ax, dx ; 89 d0 ; 0xc2109 + mov dl, byte [bp-00ch] ; 8a 56 f4 ; 0xc210b + mov CL, strict byte 003h ; b1 03 ; 0xc210e + mov bx, dx ; 89 d3 ; 0xc2110 + sal bx, CL ; d3 e3 ; 0xc2112 + mov cx, word [bx+04632h] ; 8b 8f 32 46 ; 0xc2114 + mov bx, ax ; 89 c3 ; 0xc2118 + mov dx, di ; 89 fa ; 0xc211a + mov ax, cx ; 89 c8 ; 0xc211c + call 031cch ; e8 ab 10 ; 0xc211e + inc di ; 47 ; 0xc2121 vgabios.c:1325 + inc di ; 47 ; 0xc2122 + jmp short 020feh ; eb d9 ; 0xc2123 vgabios.c:1326 + mov di, ax ; 89 c7 ; 0xc2125 vgabios.c:1331 + mov dl, byte [di+046aeh] ; 8a 95 ae 46 ; 0xc2127 + xor dh, dh ; 30 f6 ; 0xc212b + mov CL, strict byte 006h ; b1 06 ; 0xc212d + mov di, dx ; 89 d7 ; 0xc212f + sal di, CL ; d3 e7 ; 0xc2131 + mov al, byte [di+046c4h] ; 8a 85 c4 46 ; 0xc2133 + mov byte [bp-012h], al ; 88 46 ee ; 0xc2137 + mov al, byte [bx+04631h] ; 8a 87 31 46 ; 0xc213a vgabios.c:1332 + mov byte [bp-010h], al ; 88 46 f0 ; 0xc213e + dec si ; 4e ; 0xc2141 vgabios.c:1333 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc2142 + je short 0219ch ; 74 55 ; 0xc2145 + mov dl, byte [bp-00eh] ; 8a 56 f2 ; 0xc2147 + xor dh, dh ; 30 f6 ; 0xc214a + cmp dx, word [bp-016h] ; 3b 56 ea ; 0xc214c + jnc short 0219ch ; 73 4b ; 0xc214f + mov dl, byte [bp-00ch] ; 8a 56 f4 ; 0xc2151 vgabios.c:1335 + mov CL, strict byte 003h ; b1 03 ; 0xc2154 + mov bx, dx ; 89 d3 ; 0xc2156 + sal bx, CL ; d3 e3 ; 0xc2158 + mov bl, byte [bx+04630h] ; 8a 9f 30 46 ; 0xc215a + cmp bl, cl ; 38 cb ; 0xc215e + jc short 02170h ; 72 0e ; 0xc2160 + jbe short 02177h ; 76 13 ; 0xc2162 + cmp bl, 005h ; 80 fb 05 ; 0xc2164 + je short 021c3h ; 74 5a ; 0xc2167 + cmp bl, 004h ; 80 fb 04 ; 0xc2169 + je short 02177h ; 74 09 ; 0xc216c + jmp short 021e4h ; eb 74 ; 0xc216e + cmp bl, 002h ; 80 fb 02 ; 0xc2170 + je short 0219eh ; 74 29 ; 0xc2173 + jmp short 021e4h ; eb 6d ; 0xc2175 + mov dl, byte [bp-012h] ; 8a 56 ee ; 0xc2177 vgabios.c:1339 + xor dh, dh ; 30 f6 ; 0xc217a + push dx ; 52 ; 0xc217c + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc217d + xor bh, bh ; 30 ff ; 0xc2180 + push bx ; 53 ; 0xc2182 + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc2183 + mov cx, bx ; 89 d9 ; 0xc2186 + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc2188 + mov dl, byte [bp-00ah] ; 8a 56 f6 ; 0xc218b + mov di, dx ; 89 d7 ; 0xc218e + mov dl, byte [bp-006h] ; 8a 56 fa ; 0xc2190 + mov ax, dx ; 89 d0 ; 0xc2193 + mov dx, di ; 89 fa ; 0xc2195 + call 01beeh ; e8 54 fa ; 0xc2197 + jmp short 021e4h ; eb 48 ; 0xc219a vgabios.c:1340 + jmp short 021eah ; eb 4c ; 0xc219c + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc219e vgabios.c:1342 + xor bh, bh ; 30 ff ; 0xc21a1 + push bx ; 53 ; 0xc21a3 + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc21a4 + push bx ; 53 ; 0xc21a7 + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc21a8 + mov cx, bx ; 89 d9 ; 0xc21ab + mov dl, byte [bp-00eh] ; 8a 56 f2 ; 0xc21ad + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc21b0 + mov di, bx ; 89 df ; 0xc21b3 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc21b5 + xor ah, ah ; 30 e4 ; 0xc21b8 + mov bx, dx ; 89 d3 ; 0xc21ba + mov dx, di ; 89 fa ; 0xc21bc + call 01ce6h ; e8 25 fb ; 0xc21be + jmp short 021e4h ; eb 21 ; 0xc21c1 vgabios.c:1343 + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc21c3 vgabios.c:1345 + xor bh, bh ; 30 ff ; 0xc21c6 + push bx ; 53 ; 0xc21c8 + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc21c9 + mov cx, bx ; 89 d9 ; 0xc21cc + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc21ce + xor ah, ah ; 30 e4 ; 0xc21d1 + mov di, ax ; 89 c7 ; 0xc21d3 + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc21d5 + mov dx, bx ; 89 da ; 0xc21d8 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc21da + mov ax, bx ; 89 d8 ; 0xc21dd + mov bx, di ; 89 fb ; 0xc21df + call 01e20h ; e8 3c fc ; 0xc21e1 + inc byte [bp-00eh] ; fe 46 f2 ; 0xc21e4 vgabios.c:1352 + jmp near 02141h ; e9 57 ff ; 0xc21e7 vgabios.c:1353 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc21ea vgabios.c:1355 + pop di ; 5f ; 0xc21ed + pop si ; 5e ; 0xc21ee + pop bp ; 5d ; 0xc21ef + retn ; c3 ; 0xc21f0 + ; disGetNextSymbol 0xc21f1 LB 0x1c39 -> off=0x0 cb=000000000000017f uValue=00000000000c21f1 'biosfn_write_pixel' +biosfn_write_pixel: ; 0xc21f1 LB 0x17f + push bp ; 55 ; 0xc21f1 vgabios.c:1358 + mov bp, sp ; 89 e5 ; 0xc21f2 + push si ; 56 ; 0xc21f4 + sub sp, strict byte 00008h ; 83 ec 08 ; 0xc21f5 + mov byte [bp-004h], dl ; 88 56 fc ; 0xc21f8 + mov word [bp-008h], bx ; 89 5e f8 ; 0xc21fb + mov word [bp-00ah], cx ; 89 4e f6 ; 0xc21fe + mov dx, strict word 00049h ; ba 49 00 ; 0xc2201 vgabios.c:1364 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2204 + call 031beh ; e8 b4 0f ; 0xc2207 + xor ah, ah ; 30 e4 ; 0xc220a vgabios.c:1365 + call 03193h ; e8 84 0f ; 0xc220c + mov ch, al ; 88 c5 ; 0xc220f + cmp AL, strict byte 0ffh ; 3c ff ; 0xc2211 vgabios.c:1366 + je short 0223ch ; 74 27 ; 0xc2213 + xor ah, ah ; 30 e4 ; 0xc2215 vgabios.c:1367 + mov CL, strict byte 003h ; b1 03 ; 0xc2217 + mov bx, ax ; 89 c3 ; 0xc2219 + sal bx, CL ; d3 e3 ; 0xc221b + cmp byte [bx+0462fh], 000h ; 80 bf 2f 46 00 ; 0xc221d + je short 0223ch ; 74 18 ; 0xc2222 + mov al, byte [bx+04630h] ; 8a 87 30 46 ; 0xc2224 vgabios.c:1369 + cmp al, cl ; 38 c8 ; 0xc2228 + jc short 02238h ; 72 0c ; 0xc222a + jbe short 02242h ; 76 14 ; 0xc222c + cmp AL, strict byte 005h ; 3c 05 ; 0xc222e + je short 0223fh ; 74 0d ; 0xc2230 + cmp AL, strict byte 004h ; 3c 04 ; 0xc2232 + je short 02242h ; 74 0c ; 0xc2234 + jmp short 0223ch ; eb 04 ; 0xc2236 + cmp AL, strict byte 002h ; 3c 02 ; 0xc2238 + je short 022adh ; 74 71 ; 0xc223a + jmp near 02341h ; e9 02 01 ; 0xc223c + jmp near 02347h ; e9 05 01 ; 0xc223f + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2242 vgabios.c:1373 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2245 + call 031dah ; e8 8f 0f ; 0xc2248 + mov bx, ax ; 89 c3 ; 0xc224b + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc224d + mul bx ; f7 e3 ; 0xc2250 + mov CL, strict byte 003h ; b1 03 ; 0xc2252 + mov bx, word [bp-008h] ; 8b 5e f8 ; 0xc2254 + shr bx, CL ; d3 eb ; 0xc2257 + add bx, ax ; 01 c3 ; 0xc2259 + mov word [bp-006h], bx ; 89 5e fa ; 0xc225b + mov cx, word [bp-008h] ; 8b 4e f8 ; 0xc225e vgabios.c:1374 + and cl, 007h ; 80 e1 07 ; 0xc2261 + mov ax, 00080h ; b8 80 00 ; 0xc2264 + sar ax, CL ; d3 f8 ; 0xc2267 + mov ah, al ; 88 c4 ; 0xc2269 vgabios.c:1375 + xor al, al ; 30 c0 ; 0xc226b + or AL, strict byte 008h ; 0c 08 ; 0xc226d + mov dx, 003ceh ; ba ce 03 ; 0xc226f + out DX, ax ; ef ; 0xc2272 + mov ax, 00205h ; b8 05 02 ; 0xc2273 vgabios.c:1376 + out DX, ax ; ef ; 0xc2276 + mov dx, bx ; 89 da ; 0xc2277 vgabios.c:1377 + mov ax, 0a000h ; b8 00 a0 ; 0xc2279 + call 031beh ; e8 3f 0f ; 0xc227c + test byte [bp-004h], 080h ; f6 46 fc 80 ; 0xc227f vgabios.c:1378 + je short 0228ch ; 74 07 ; 0xc2283 + mov ax, 01803h ; b8 03 18 ; 0xc2285 vgabios.c:1380 + mov dx, 003ceh ; ba ce 03 ; 0xc2288 + out DX, ax ; ef ; 0xc228b + mov al, byte [bp-004h] ; 8a 46 fc ; 0xc228c vgabios.c:1382 + xor ah, ah ; 30 e4 ; 0xc228f + mov bx, ax ; 89 c3 ; 0xc2291 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc2293 + mov ax, 0a000h ; b8 00 a0 ; 0xc2296 + call 031cch ; e8 30 0f ; 0xc2299 + mov ax, 0ff08h ; b8 08 ff ; 0xc229c vgabios.c:1383 + mov dx, 003ceh ; ba ce 03 ; 0xc229f + out DX, ax ; ef ; 0xc22a2 + mov ax, strict word 00005h ; b8 05 00 ; 0xc22a3 vgabios.c:1384 + out DX, ax ; ef ; 0xc22a6 + mov ax, strict word 00003h ; b8 03 00 ; 0xc22a7 vgabios.c:1385 + out DX, ax ; ef ; 0xc22aa + jmp short 0223ch ; eb 8f ; 0xc22ab vgabios.c:1386 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc22ad vgabios.c:1388 + shr ax, 1 ; d1 e8 ; 0xc22b0 + mov si, strict word 00050h ; be 50 00 ; 0xc22b2 + mul si ; f7 e6 ; 0xc22b5 + cmp byte [bx+04631h], 002h ; 80 bf 31 46 02 ; 0xc22b7 + jne short 022c7h ; 75 09 ; 0xc22bc + mov bx, word [bp-008h] ; 8b 5e f8 ; 0xc22be vgabios.c:1390 + shr bx, 1 ; d1 eb ; 0xc22c1 + shr bx, 1 ; d1 eb ; 0xc22c3 + jmp short 022cch ; eb 05 ; 0xc22c5 vgabios.c:1392 + mov bx, word [bp-008h] ; 8b 5e f8 ; 0xc22c7 vgabios.c:1394 + shr bx, CL ; d3 eb ; 0xc22ca + add bx, ax ; 01 c3 ; 0xc22cc + mov word [bp-006h], bx ; 89 5e fa ; 0xc22ce + test byte [bp-00ah], 001h ; f6 46 f6 01 ; 0xc22d1 vgabios.c:1396 + je short 022dbh ; 74 04 ; 0xc22d5 + add byte [bp-005h], 020h ; 80 46 fb 20 ; 0xc22d7 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc22db vgabios.c:1397 + mov ax, 0b800h ; b8 00 b8 ; 0xc22de + call 031beh ; e8 da 0e ; 0xc22e1 + mov bl, al ; 88 c3 ; 0xc22e4 + mov al, ch ; 88 e8 ; 0xc22e6 vgabios.c:1398 + xor ah, ah ; 30 e4 ; 0xc22e8 + mov CL, strict byte 003h ; b1 03 ; 0xc22ea + mov si, ax ; 89 c6 ; 0xc22ec + sal si, CL ; d3 e6 ; 0xc22ee + cmp byte [si+04631h], 002h ; 80 bc 31 46 02 ; 0xc22f0 + jne short 02311h ; 75 1a ; 0xc22f5 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc22f7 vgabios.c:1400 + and al, cl ; 20 c8 ; 0xc22fa + mov ah, cl ; 88 cc ; 0xc22fc + sub ah, al ; 28 c4 ; 0xc22fe + mov al, ah ; 88 e0 ; 0xc2300 + sal al, 1 ; d0 e0 ; 0xc2302 + mov bh, byte [bp-004h] ; 8a 7e fc ; 0xc2304 + and bh, cl ; 20 cf ; 0xc2307 + mov cl, al ; 88 c1 ; 0xc2309 + sal bh, CL ; d2 e7 ; 0xc230b + mov AL, strict byte 003h ; b0 03 ; 0xc230d vgabios.c:1401 + jmp short 02324h ; eb 13 ; 0xc230f vgabios.c:1403 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc2311 vgabios.c:1405 + and AL, strict byte 007h ; 24 07 ; 0xc2314 + mov CL, strict byte 007h ; b1 07 ; 0xc2316 + sub cl, al ; 28 c1 ; 0xc2318 + mov bh, byte [bp-004h] ; 8a 7e fc ; 0xc231a + and bh, 001h ; 80 e7 01 ; 0xc231d + sal bh, CL ; d2 e7 ; 0xc2320 + mov AL, strict byte 001h ; b0 01 ; 0xc2322 vgabios.c:1406 + sal al, CL ; d2 e0 ; 0xc2324 + test byte [bp-004h], 080h ; f6 46 fc 80 ; 0xc2326 vgabios.c:1408 + je short 02330h ; 74 04 ; 0xc232a + xor bl, bh ; 30 fb ; 0xc232c vgabios.c:1410 + jmp short 02336h ; eb 06 ; 0xc232e vgabios.c:1412 + not al ; f6 d0 ; 0xc2330 vgabios.c:1414 + and bl, al ; 20 c3 ; 0xc2332 + or bl, bh ; 08 fb ; 0xc2334 vgabios.c:1415 + xor bh, bh ; 30 ff ; 0xc2336 vgabios.c:1417 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc2338 + mov ax, 0b800h ; b8 00 b8 ; 0xc233b + call 031cch ; e8 8b 0e ; 0xc233e + lea sp, [bp-002h] ; 8d 66 fe ; 0xc2341 vgabios.c:1418 + pop si ; 5e ; 0xc2344 + pop bp ; 5d ; 0xc2345 + retn ; c3 ; 0xc2346 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2347 vgabios.c:1420 + mov ax, strict word 00040h ; b8 40 00 ; 0xc234a + call 031dah ; e8 8a 0e ; 0xc234d + mov bx, ax ; 89 c3 ; 0xc2350 + sal bx, CL ; d3 e3 ; 0xc2352 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc2354 + mul bx ; f7 e3 ; 0xc2357 + mov bx, word [bp-008h] ; 8b 5e f8 ; 0xc2359 + add bx, ax ; 01 c3 ; 0xc235c + mov word [bp-006h], bx ; 89 5e fa ; 0xc235e + mov al, byte [bp-004h] ; 8a 46 fc ; 0xc2361 vgabios.c:1421 + xor ah, ah ; 30 e4 ; 0xc2364 + mov bx, ax ; 89 c3 ; 0xc2366 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc2368 + mov ax, 0a000h ; b8 00 a0 ; 0xc236b + jmp short 0233eh ; eb ce ; 0xc236e + ; disGetNextSymbol 0xc2370 LB 0x1aba -> off=0x0 cb=000000000000025f uValue=00000000000c2370 'biosfn_write_teletype' +biosfn_write_teletype: ; 0xc2370 LB 0x25f + push bp ; 55 ; 0xc2370 vgabios.c:1431 + mov bp, sp ; 89 e5 ; 0xc2371 + push si ; 56 ; 0xc2373 + push di ; 57 ; 0xc2374 + sub sp, strict byte 0001ah ; 83 ec 1a ; 0xc2375 + mov byte [bp-016h], al ; 88 46 ea ; 0xc2378 + mov byte [bp-014h], dl ; 88 56 ec ; 0xc237b + mov byte [bp-00eh], bl ; 88 5e f2 ; 0xc237e + mov byte [bp-00ch], cl ; 88 4e f4 ; 0xc2381 + cmp dl, 0ffh ; 80 fa ff ; 0xc2384 vgabios.c:1439 + jne short 02395h ; 75 0c ; 0xc2387 + mov dx, strict word 00062h ; ba 62 00 ; 0xc2389 vgabios.c:1440 + mov ax, strict word 00040h ; b8 40 00 ; 0xc238c + call 031beh ; e8 2c 0e ; 0xc238f + mov byte [bp-014h], al ; 88 46 ec ; 0xc2392 + mov dx, strict word 00049h ; ba 49 00 ; 0xc2395 vgabios.c:1443 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2398 + call 031beh ; e8 20 0e ; 0xc239b + mov bl, al ; 88 c3 ; 0xc239e vgabios.c:1444 + xor bh, bh ; 30 ff ; 0xc23a0 + mov ax, bx ; 89 d8 ; 0xc23a2 + call 03193h ; e8 ec 0d ; 0xc23a4 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc23a7 + cmp AL, strict byte 0ffh ; 3c ff ; 0xc23aa vgabios.c:1445 + je short 02411h ; 74 63 ; 0xc23ac + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc23ae vgabios.c:1448 + mov ax, bx ; 89 d8 ; 0xc23b1 + lea bx, [bp-01eh] ; 8d 5e e2 ; 0xc23b3 + lea dx, [bp-01ch] ; 8d 56 e4 ; 0xc23b6 + call 00a8ch ; e8 d0 e6 ; 0xc23b9 + mov al, byte [bp-01eh] ; 8a 46 e2 ; 0xc23bc vgabios.c:1449 + mov byte [bp-006h], al ; 88 46 fa ; 0xc23bf + mov bx, word [bp-01eh] ; 8b 5e e2 ; 0xc23c2 + mov byte [bp-008h], bh ; 88 7e f8 ; 0xc23c5 + mov dx, 00084h ; ba 84 00 ; 0xc23c8 vgabios.c:1452 + mov ax, strict word 00040h ; b8 40 00 ; 0xc23cb + call 031beh ; e8 ed 0d ; 0xc23ce + mov bl, al ; 88 c3 ; 0xc23d1 + xor bh, bh ; 30 ff ; 0xc23d3 + inc bx ; 43 ; 0xc23d5 + mov word [bp-018h], bx ; 89 5e e8 ; 0xc23d6 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc23d9 vgabios.c:1453 + mov ax, strict word 00040h ; b8 40 00 ; 0xc23dc + call 031dah ; e8 f8 0d ; 0xc23df + mov word [bp-01ah], ax ; 89 46 e6 ; 0xc23e2 + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc23e5 vgabios.c:1455 + cmp AL, strict byte 008h ; 3c 08 ; 0xc23e8 + jc short 023f8h ; 72 0c ; 0xc23ea + jbe short 023ffh ; 76 11 ; 0xc23ec + cmp AL, strict byte 00dh ; 3c 0d ; 0xc23ee + je short 0240ah ; 74 18 ; 0xc23f0 + cmp AL, strict byte 00ah ; 3c 0a ; 0xc23f2 + je short 02414h ; 74 1e ; 0xc23f4 + jmp short 02417h ; eb 1f ; 0xc23f6 + cmp AL, strict byte 007h ; 3c 07 ; 0xc23f8 + jne short 02417h ; 75 1b ; 0xc23fa + jmp near 0250dh ; e9 0e 01 ; 0xc23fc + cmp byte [bp-006h], 000h ; 80 7e fa 00 ; 0xc23ff vgabios.c:1462 + jbe short 0240eh ; 76 09 ; 0xc2403 + dec byte [bp-006h] ; fe 4e fa ; 0xc2405 + jmp short 0240eh ; eb 04 ; 0xc2408 vgabios.c:1463 + mov byte [bp-006h], 000h ; c6 46 fa 00 ; 0xc240a vgabios.c:1470 + jmp near 0250dh ; e9 fc 00 ; 0xc240e vgabios.c:1471 + jmp near 025c8h ; e9 b4 01 ; 0xc2411 + jmp near 0250ah ; e9 f3 00 ; 0xc2414 + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc2417 vgabios.c:1475 + xor bh, bh ; 30 ff ; 0xc241a + mov CL, strict byte 003h ; b1 03 ; 0xc241c + mov si, bx ; 89 de ; 0xc241e + sal si, CL ; d3 e6 ; 0xc2420 + cmp byte [si+0462fh], 000h ; 80 bc 2f 46 00 ; 0xc2422 + jne short 0246fh ; 75 46 ; 0xc2427 + mov ax, word [bp-01ah] ; 8b 46 e6 ; 0xc2429 vgabios.c:1478 + mul word [bp-018h] ; f7 66 e8 ; 0xc242c + sal ax, 1 ; d1 e0 ; 0xc242f + or AL, strict byte 0ffh ; 0c ff ; 0xc2431 + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc2433 + inc ax ; 40 ; 0xc2436 + mul bx ; f7 e3 ; 0xc2437 + mov cx, ax ; 89 c1 ; 0xc2439 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc243b + mov ax, bx ; 89 d8 ; 0xc243e + mul word [bp-01ah] ; f7 66 e6 ; 0xc2440 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc2443 + add ax, bx ; 01 d8 ; 0xc2446 + sal ax, 1 ; d1 e0 ; 0xc2448 + add cx, ax ; 01 c1 ; 0xc244a + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc244c vgabios.c:1481 + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc244f + mov dx, cx ; 89 ca ; 0xc2453 + call 031cch ; e8 74 0d ; 0xc2455 + cmp byte [bp-00ch], 003h ; 80 7e f4 03 ; 0xc2458 vgabios.c:1483 + jne short 024b5h ; 75 57 ; 0xc245c + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc245e vgabios.c:1484 + xor bh, bh ; 30 ff ; 0xc2461 + mov dx, cx ; 89 ca ; 0xc2463 + inc dx ; 42 ; 0xc2465 + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc2466 + call 031cch ; e8 5f 0d ; 0xc246a + jmp short 024b5h ; eb 46 ; 0xc246d vgabios.c:1486 + mov bl, byte [bx+046aeh] ; 8a 9f ae 46 ; 0xc246f vgabios.c:1489 + mov CL, strict byte 006h ; b1 06 ; 0xc2473 + sal bx, CL ; d3 e3 ; 0xc2475 + mov bl, byte [bx+046c4h] ; 8a 9f c4 46 ; 0xc2477 + mov ah, byte [si+04631h] ; 8a a4 31 46 ; 0xc247b vgabios.c:1490 + mov al, byte [si+04630h] ; 8a 84 30 46 ; 0xc247f vgabios.c:1491 + cmp AL, strict byte 003h ; 3c 03 ; 0xc2483 + jc short 02493h ; 72 0c ; 0xc2485 + jbe short 02499h ; 76 10 ; 0xc2487 + cmp AL, strict byte 005h ; 3c 05 ; 0xc2489 + je short 024d7h ; 74 4a ; 0xc248b + cmp AL, strict byte 004h ; 3c 04 ; 0xc248d + je short 02499h ; 74 08 ; 0xc248f + jmp short 024fah ; eb 67 ; 0xc2491 + cmp AL, strict byte 002h ; 3c 02 ; 0xc2493 + je short 024b7h ; 74 20 ; 0xc2495 + jmp short 024fah ; eb 61 ; 0xc2497 + xor bh, bh ; 30 ff ; 0xc2499 vgabios.c:1495 + push bx ; 53 ; 0xc249b + mov al, byte [bp-01ah] ; 8a 46 e6 ; 0xc249c + xor ah, ah ; 30 e4 ; 0xc249f + push ax ; 50 ; 0xc24a1 + mov cl, byte [bp-008h] ; 8a 4e f8 ; 0xc24a2 + xor ch, ch ; 30 ed ; 0xc24a5 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc24a7 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc24aa + mov dx, ax ; 89 c2 ; 0xc24ad + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc24af + call 01beeh ; e8 39 f7 ; 0xc24b2 + jmp short 024fah ; eb 43 ; 0xc24b5 vgabios.c:1496 + mov al, ah ; 88 e0 ; 0xc24b7 vgabios.c:1498 + xor ah, ah ; 30 e4 ; 0xc24b9 + push ax ; 50 ; 0xc24bb + mov al, byte [bp-01ah] ; 8a 46 e6 ; 0xc24bc + push ax ; 50 ; 0xc24bf + mov cl, byte [bp-008h] ; 8a 4e f8 ; 0xc24c0 + xor ch, ch ; 30 ed ; 0xc24c3 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc24c5 + mov bx, ax ; 89 c3 ; 0xc24c8 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc24ca + mov dx, ax ; 89 c2 ; 0xc24cd + mov al, byte [bp-016h] ; 8a 46 ea ; 0xc24cf + call 01ce6h ; e8 11 f8 ; 0xc24d2 + jmp short 024fah ; eb 23 ; 0xc24d5 vgabios.c:1499 + mov al, byte [bp-01ah] ; 8a 46 e6 ; 0xc24d7 vgabios.c:1501 + xor ah, ah ; 30 e4 ; 0xc24da + push ax ; 50 ; 0xc24dc + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc24dd + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc24e0 + xor bh, bh ; 30 ff ; 0xc24e3 + mov si, bx ; 89 de ; 0xc24e5 + mov bl, byte [bp-00eh] ; 8a 5e f2 ; 0xc24e7 + mov dx, bx ; 89 da ; 0xc24ea + mov bl, byte [bp-016h] ; 8a 5e ea ; 0xc24ec + mov di, bx ; 89 df ; 0xc24ef + mov cx, ax ; 89 c1 ; 0xc24f1 + mov bx, si ; 89 f3 ; 0xc24f3 + mov ax, di ; 89 f8 ; 0xc24f5 + call 01e20h ; e8 26 f9 ; 0xc24f7 + inc byte [bp-006h] ; fe 46 fa ; 0xc24fa vgabios.c:1509 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc24fd vgabios.c:1511 + xor bh, bh ; 30 ff ; 0xc2500 + cmp bx, word [bp-01ah] ; 3b 5e e6 ; 0xc2502 + jne short 0250dh ; 75 06 ; 0xc2505 + mov byte [bp-006h], bh ; 88 7e fa ; 0xc2507 vgabios.c:1512 + inc byte [bp-008h] ; fe 46 f8 ; 0xc250a vgabios.c:1513 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc250d vgabios.c:1518 + xor bh, bh ; 30 ff ; 0xc2510 + mov ax, word [bp-018h] ; 8b 46 e8 ; 0xc2512 + cmp bx, ax ; 39 c3 ; 0xc2515 + jne short 0258ah ; 75 71 ; 0xc2517 + mov bl, byte [bp-00ah] ; 8a 5e f6 ; 0xc2519 vgabios.c:1520 + xor bh, ah ; 30 e7 ; 0xc251c + mov CL, strict byte 003h ; b1 03 ; 0xc251e + mov si, bx ; 89 de ; 0xc2520 + sal si, CL ; d3 e6 ; 0xc2522 + mov al, byte [bp-018h] ; 8a 46 e8 ; 0xc2524 + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc2527 + mov byte [bp-010h], al ; 88 46 f0 ; 0xc2529 + mov al, byte [bp-01ah] ; 8a 46 e6 ; 0xc252c + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc252f + mov byte [bp-012h], al ; 88 46 ee ; 0xc2531 + cmp byte [si+0462fh], 000h ; 80 bc 2f 46 00 ; 0xc2534 + jne short 0258ch ; 75 51 ; 0xc2539 + mov ax, word [bp-01ah] ; 8b 46 e6 ; 0xc253b vgabios.c:1522 + mul word [bp-018h] ; f7 66 e8 ; 0xc253e + sal ax, 1 ; d1 e0 ; 0xc2541 + or AL, strict byte 0ffh ; 0c ff ; 0xc2543 + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc2545 + xor bh, bh ; 30 ff ; 0xc2548 + inc ax ; 40 ; 0xc254a + mul bx ; f7 e3 ; 0xc254b + mov cx, ax ; 89 c1 ; 0xc254d + mov dl, byte [bp-008h] ; 8a 56 f8 ; 0xc254f + xor dh, dh ; 30 f6 ; 0xc2552 + mov ax, dx ; 89 d0 ; 0xc2554 + dec ax ; 48 ; 0xc2556 + mul word [bp-01ah] ; f7 66 e6 ; 0xc2557 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc255a + add ax, bx ; 01 d8 ; 0xc255d + sal ax, 1 ; d1 e0 ; 0xc255f + mov dx, cx ; 89 ca ; 0xc2561 + add dx, ax ; 01 c2 ; 0xc2563 + inc dx ; 42 ; 0xc2565 + mov ax, word [si+04632h] ; 8b 84 32 46 ; 0xc2566 + call 031beh ; e8 51 0c ; 0xc256a + mov dx, strict word 00001h ; ba 01 00 ; 0xc256d vgabios.c:1524 + push dx ; 52 ; 0xc2570 + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc2571 + push bx ; 53 ; 0xc2574 + mov bl, byte [bp-012h] ; 8a 5e ee ; 0xc2575 + push bx ; 53 ; 0xc2578 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc2579 + push bx ; 53 ; 0xc257c + mov bl, al ; 88 c3 ; 0xc257d + mov dx, bx ; 89 da ; 0xc257f + xor cx, cx ; 31 c9 ; 0xc2581 + xor bl, al ; 30 c3 ; 0xc2583 + mov ax, strict word 00001h ; b8 01 00 ; 0xc2585 + jmp short 025a4h ; eb 1a ; 0xc2588 vgabios.c:1526 + jmp short 025aah ; eb 1e ; 0xc258a + mov ax, strict word 00001h ; b8 01 00 ; 0xc258c vgabios.c:1528 + push ax ; 50 ; 0xc258f + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc2590 + xor bh, bh ; 30 ff ; 0xc2593 + push bx ; 53 ; 0xc2595 + mov bl, byte [bp-012h] ; 8a 5e ee ; 0xc2596 + push bx ; 53 ; 0xc2599 + mov bl, byte [bp-010h] ; 8a 5e f0 ; 0xc259a + push bx ; 53 ; 0xc259d + xor cx, cx ; 31 c9 ; 0xc259e + xor bl, bl ; 30 db ; 0xc25a0 + xor dx, dx ; 31 d2 ; 0xc25a2 + call 01678h ; e8 d1 f0 ; 0xc25a4 + dec byte [bp-008h] ; fe 4e f8 ; 0xc25a7 vgabios.c:1530 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc25aa vgabios.c:1534 + xor bh, bh ; 30 ff ; 0xc25ad + mov word [bp-01eh], bx ; 89 5e e2 ; 0xc25af + mov CL, strict byte 008h ; b1 08 ; 0xc25b2 + sal word [bp-01eh], CL ; d3 66 e2 ; 0xc25b4 + mov bl, byte [bp-006h] ; 8a 5e fa ; 0xc25b7 + add word [bp-01eh], bx ; 01 5e e2 ; 0xc25ba + mov dx, word [bp-01eh] ; 8b 56 e2 ; 0xc25bd vgabios.c:1535 + mov bl, byte [bp-014h] ; 8a 5e ec ; 0xc25c0 + mov ax, bx ; 89 d8 ; 0xc25c3 + call 00e91h ; e8 c9 e8 ; 0xc25c5 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc25c8 vgabios.c:1536 + pop di ; 5f ; 0xc25cb + pop si ; 5e ; 0xc25cc + pop bp ; 5d ; 0xc25cd + retn ; c3 ; 0xc25ce + ; disGetNextSymbol 0xc25cf LB 0x185b -> off=0x0 cb=000000000000002c uValue=00000000000c25cf 'get_font_access' +get_font_access: ; 0xc25cf LB 0x2c + push bp ; 55 ; 0xc25cf vgabios.c:1539 + mov bp, sp ; 89 e5 ; 0xc25d0 + push dx ; 52 ; 0xc25d2 + mov ax, 00100h ; b8 00 01 ; 0xc25d3 vgabios.c:1541 + mov dx, 003c4h ; ba c4 03 ; 0xc25d6 + out DX, ax ; ef ; 0xc25d9 + mov ax, 00402h ; b8 02 04 ; 0xc25da vgabios.c:1542 + out DX, ax ; ef ; 0xc25dd + mov ax, 00704h ; b8 04 07 ; 0xc25de vgabios.c:1543 + out DX, ax ; ef ; 0xc25e1 + mov ax, 00300h ; b8 00 03 ; 0xc25e2 vgabios.c:1544 + out DX, ax ; ef ; 0xc25e5 + mov ax, 00204h ; b8 04 02 ; 0xc25e6 vgabios.c:1545 + mov dx, 003ceh ; ba ce 03 ; 0xc25e9 + out DX, ax ; ef ; 0xc25ec + mov ax, strict word 00005h ; b8 05 00 ; 0xc25ed vgabios.c:1546 + out DX, ax ; ef ; 0xc25f0 + mov ax, 00406h ; b8 06 04 ; 0xc25f1 vgabios.c:1547 + out DX, ax ; ef ; 0xc25f4 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc25f5 vgabios.c:1548 + pop dx ; 5a ; 0xc25f8 + pop bp ; 5d ; 0xc25f9 + retn ; c3 ; 0xc25fa + ; disGetNextSymbol 0xc25fb LB 0x182f -> off=0x0 cb=000000000000003f uValue=00000000000c25fb 'release_font_access' +release_font_access: ; 0xc25fb LB 0x3f + push bp ; 55 ; 0xc25fb vgabios.c:1550 + mov bp, sp ; 89 e5 ; 0xc25fc + push dx ; 52 ; 0xc25fe + mov ax, 00100h ; b8 00 01 ; 0xc25ff vgabios.c:1552 + mov dx, 003c4h ; ba c4 03 ; 0xc2602 + out DX, ax ; ef ; 0xc2605 + mov ax, 00302h ; b8 02 03 ; 0xc2606 vgabios.c:1553 + out DX, ax ; ef ; 0xc2609 + mov ax, 00304h ; b8 04 03 ; 0xc260a vgabios.c:1554 + out DX, ax ; ef ; 0xc260d + mov ax, 00300h ; b8 00 03 ; 0xc260e vgabios.c:1555 + out DX, ax ; ef ; 0xc2611 + mov dx, 003cch ; ba cc 03 ; 0xc2612 vgabios.c:1556 + in AL, DX ; ec ; 0xc2615 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2616 + and ax, strict word 00001h ; 25 01 00 ; 0xc2618 + sal ax, 1 ; d1 e0 ; 0xc261b + sal ax, 1 ; d1 e0 ; 0xc261d + mov ah, al ; 88 c4 ; 0xc261f + or ah, 00ah ; 80 cc 0a ; 0xc2621 + xor al, al ; 30 c0 ; 0xc2624 + or AL, strict byte 006h ; 0c 06 ; 0xc2626 + mov dx, 003ceh ; ba ce 03 ; 0xc2628 + out DX, ax ; ef ; 0xc262b + mov ax, strict word 00004h ; b8 04 00 ; 0xc262c vgabios.c:1557 + out DX, ax ; ef ; 0xc262f + mov ax, 01005h ; b8 05 10 ; 0xc2630 vgabios.c:1558 + out DX, ax ; ef ; 0xc2633 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc2634 vgabios.c:1559 + pop dx ; 5a ; 0xc2637 + pop bp ; 5d ; 0xc2638 + retn ; c3 ; 0xc2639 + ; disGetNextSymbol 0xc263a LB 0x17f0 -> off=0x0 cb=00000000000000c8 uValue=00000000000c263a 'set_scan_lines' +set_scan_lines: ; 0xc263a LB 0xc8 + push bp ; 55 ; 0xc263a vgabios.c:1561 + mov bp, sp ; 89 e5 ; 0xc263b + push bx ; 53 ; 0xc263d + push cx ; 51 ; 0xc263e + push dx ; 52 ; 0xc263f + push si ; 56 ; 0xc2640 + push ax ; 50 ; 0xc2641 + mov bl, al ; 88 c3 ; 0xc2642 + mov dx, strict word 00063h ; ba 63 00 ; 0xc2644 vgabios.c:1566 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2647 + call 031dah ; e8 8d 0b ; 0xc264a + mov dx, ax ; 89 c2 ; 0xc264d + mov si, ax ; 89 c6 ; 0xc264f + mov AL, strict byte 009h ; b0 09 ; 0xc2651 vgabios.c:1567 + out DX, AL ; ee ; 0xc2653 + inc dx ; 42 ; 0xc2654 vgabios.c:1568 + in AL, DX ; ec ; 0xc2655 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2656 + mov ah, al ; 88 c4 ; 0xc2658 vgabios.c:1569 + and ah, 0e0h ; 80 e4 e0 ; 0xc265a + mov al, bl ; 88 d8 ; 0xc265d + db 0feh, 0c8h + ; dec al ; fe c8 ; 0xc265f + or al, ah ; 08 e0 ; 0xc2661 + out DX, AL ; ee ; 0xc2663 vgabios.c:1570 + cmp bl, 008h ; 80 fb 08 ; 0xc2664 vgabios.c:1571 + jne short 02671h ; 75 08 ; 0xc2667 + mov dx, strict word 00007h ; ba 07 00 ; 0xc2669 vgabios.c:1573 + mov ax, strict word 00006h ; b8 06 00 ; 0xc266c + jmp short 0267eh ; eb 0d ; 0xc266f vgabios.c:1575 + mov dl, bl ; 88 da ; 0xc2671 vgabios.c:1577 + sub dl, 003h ; 80 ea 03 ; 0xc2673 + xor dh, dh ; 30 f6 ; 0xc2676 + mov al, bl ; 88 d8 ; 0xc2678 + sub AL, strict byte 004h ; 2c 04 ; 0xc267a + xor ah, ah ; 30 e4 ; 0xc267c + call 00ddeh ; e8 5d e7 ; 0xc267e + mov byte [bp-00ah], bl ; 88 5e f6 ; 0xc2681 vgabios.c:1579 + mov byte [bp-009h], 000h ; c6 46 f7 00 ; 0xc2684 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc2688 + mov dx, 00085h ; ba 85 00 ; 0xc268b + mov ax, strict word 00040h ; b8 40 00 ; 0xc268e + call 031e8h ; e8 54 0b ; 0xc2691 + mov AL, strict byte 012h ; b0 12 ; 0xc2694 vgabios.c:1580 + mov dx, si ; 89 f2 ; 0xc2696 + out DX, AL ; ee ; 0xc2698 + lea cx, [si+001h] ; 8d 4c 01 ; 0xc2699 vgabios.c:1581 + mov dx, cx ; 89 ca ; 0xc269c + in AL, DX ; ec ; 0xc269e + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc269f + mov bx, ax ; 89 c3 ; 0xc26a1 + mov AL, strict byte 007h ; b0 07 ; 0xc26a3 vgabios.c:1582 + mov dx, si ; 89 f2 ; 0xc26a5 + out DX, AL ; ee ; 0xc26a7 + mov dx, cx ; 89 ca ; 0xc26a8 vgabios.c:1583 + in AL, DX ; ec ; 0xc26aa + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc26ab + mov dl, al ; 88 c2 ; 0xc26ad vgabios.c:1584 + and dl, 002h ; 80 e2 02 ; 0xc26af + xor dh, ch ; 30 ee ; 0xc26b2 + mov CL, strict byte 007h ; b1 07 ; 0xc26b4 + sal dx, CL ; d3 e2 ; 0xc26b6 + and AL, strict byte 040h ; 24 40 ; 0xc26b8 + xor ah, ah ; 30 e4 ; 0xc26ba + mov CL, strict byte 003h ; b1 03 ; 0xc26bc + sal ax, CL ; d3 e0 ; 0xc26be + add ax, dx ; 01 d0 ; 0xc26c0 + inc ax ; 40 ; 0xc26c2 + add ax, bx ; 01 d8 ; 0xc26c3 + xor dx, dx ; 31 d2 ; 0xc26c5 vgabios.c:1585 + div word [bp-00ah] ; f7 76 f6 ; 0xc26c7 + mov cx, ax ; 89 c1 ; 0xc26ca + mov bl, al ; 88 c3 ; 0xc26cc vgabios.c:1586 + db 0feh, 0cbh + ; dec bl ; fe cb ; 0xc26ce + xor bh, bh ; 30 ff ; 0xc26d0 + mov dx, 00084h ; ba 84 00 ; 0xc26d2 + mov ax, strict word 00040h ; b8 40 00 ; 0xc26d5 + call 031cch ; e8 f1 0a ; 0xc26d8 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc26db vgabios.c:1587 + mov ax, strict word 00040h ; b8 40 00 ; 0xc26de + call 031dah ; e8 f6 0a ; 0xc26e1 + mov dx, ax ; 89 c2 ; 0xc26e4 + mov al, cl ; 88 c8 ; 0xc26e6 vgabios.c:1588 + xor ah, ah ; 30 e4 ; 0xc26e8 + mul dx ; f7 e2 ; 0xc26ea + mov bx, ax ; 89 c3 ; 0xc26ec + sal bx, 1 ; d1 e3 ; 0xc26ee + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc26f0 + mov ax, strict word 00040h ; b8 40 00 ; 0xc26f3 + call 031e8h ; e8 ef 0a ; 0xc26f6 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc26f9 vgabios.c:1589 + pop si ; 5e ; 0xc26fc + pop dx ; 5a ; 0xc26fd + pop cx ; 59 ; 0xc26fe + pop bx ; 5b ; 0xc26ff + pop bp ; 5d ; 0xc2700 + retn ; c3 ; 0xc2701 + ; disGetNextSymbol 0xc2702 LB 0x1728 -> off=0x0 cb=0000000000000085 uValue=00000000000c2702 'biosfn_load_text_user_pat' +biosfn_load_text_user_pat: ; 0xc2702 LB 0x85 + push bp ; 55 ; 0xc2702 vgabios.c:1591 + mov bp, sp ; 89 e5 ; 0xc2703 + push si ; 56 ; 0xc2705 + push di ; 57 ; 0xc2706 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc2707 + mov byte [bp-006h], al ; 88 46 fa ; 0xc270a + mov word [bp-00eh], dx ; 89 56 f2 ; 0xc270d + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc2710 + mov word [bp-00ch], cx ; 89 4e f4 ; 0xc2713 + call 025cfh ; e8 b6 fe ; 0xc2716 vgabios.c:1596 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc2719 vgabios.c:1597 + and AL, strict byte 003h ; 24 03 ; 0xc271c + xor ah, ah ; 30 e4 ; 0xc271e + mov CL, strict byte 00eh ; b1 0e ; 0xc2720 + mov bx, ax ; 89 c3 ; 0xc2722 + sal bx, CL ; d3 e3 ; 0xc2724 + mov al, byte [bp+006h] ; 8a 46 06 ; 0xc2726 + and AL, strict byte 004h ; 24 04 ; 0xc2729 + mov CL, strict byte 00bh ; b1 0b ; 0xc272b + sal ax, CL ; d3 e0 ; 0xc272d + add bx, ax ; 01 c3 ; 0xc272f + mov word [bp-008h], bx ; 89 5e f8 ; 0xc2731 + xor bx, bx ; 31 db ; 0xc2734 vgabios.c:1598 + cmp bx, word [bp-00ch] ; 3b 5e f4 ; 0xc2736 + jnc short 0276dh ; 73 32 ; 0xc2739 + mov al, byte [bp+008h] ; 8a 46 08 ; 0xc273b vgabios.c:1600 + xor ah, ah ; 30 e4 ; 0xc273e + mov si, ax ; 89 c6 ; 0xc2740 + mov ax, bx ; 89 d8 ; 0xc2742 + mul si ; f7 e6 ; 0xc2744 + add ax, word [bp-00ah] ; 03 46 f6 ; 0xc2746 + mov di, word [bp+004h] ; 8b 7e 04 ; 0xc2749 vgabios.c:1601 + add di, bx ; 01 df ; 0xc274c + mov CL, strict byte 005h ; b1 05 ; 0xc274e + sal di, CL ; d3 e7 ; 0xc2750 + add di, word [bp-008h] ; 03 7e f8 ; 0xc2752 + mov cx, si ; 89 f1 ; 0xc2755 vgabios.c:1602 + mov si, ax ; 89 c6 ; 0xc2757 + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc2759 + mov ax, 0a000h ; b8 00 a0 ; 0xc275c + mov es, ax ; 8e c0 ; 0xc275f + cld ; fc ; 0xc2761 + jcxz 0276ah ; e3 06 ; 0xc2762 + push DS ; 1e ; 0xc2764 + mov ds, dx ; 8e da ; 0xc2765 + rep movsb ; f3 a4 ; 0xc2767 + pop DS ; 1f ; 0xc2769 + inc bx ; 43 ; 0xc276a vgabios.c:1603 + jmp short 02736h ; eb c9 ; 0xc276b + call 025fbh ; e8 8b fe ; 0xc276d vgabios.c:1604 + cmp byte [bp-006h], 010h ; 80 7e fa 10 ; 0xc2770 vgabios.c:1605 + jc short 0277eh ; 72 08 ; 0xc2774 + mov al, byte [bp+008h] ; 8a 46 08 ; 0xc2776 vgabios.c:1607 + xor ah, ah ; 30 e4 ; 0xc2779 + call 0263ah ; e8 bc fe ; 0xc277b + lea sp, [bp-004h] ; 8d 66 fc ; 0xc277e vgabios.c:1609 + pop di ; 5f ; 0xc2781 + pop si ; 5e ; 0xc2782 + pop bp ; 5d ; 0xc2783 + retn 00006h ; c2 06 00 ; 0xc2784 + ; disGetNextSymbol 0xc2787 LB 0x16a3 -> off=0x0 cb=0000000000000076 uValue=00000000000c2787 'biosfn_load_text_8_14_pat' +biosfn_load_text_8_14_pat: ; 0xc2787 LB 0x76 + push bp ; 55 ; 0xc2787 vgabios.c:1611 + mov bp, sp ; 89 e5 ; 0xc2788 + push bx ; 53 ; 0xc278a + push cx ; 51 ; 0xc278b + push si ; 56 ; 0xc278c + push di ; 57 ; 0xc278d + push ax ; 50 ; 0xc278e + push ax ; 50 ; 0xc278f + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc2790 + call 025cfh ; e8 39 fe ; 0xc2793 vgabios.c:1615 + mov al, dl ; 88 d0 ; 0xc2796 vgabios.c:1616 + and AL, strict byte 003h ; 24 03 ; 0xc2798 + xor ah, ah ; 30 e4 ; 0xc279a + mov CL, strict byte 00eh ; b1 0e ; 0xc279c + mov bx, ax ; 89 c3 ; 0xc279e + sal bx, CL ; d3 e3 ; 0xc27a0 + mov al, dl ; 88 d0 ; 0xc27a2 + and AL, strict byte 004h ; 24 04 ; 0xc27a4 + mov CL, strict byte 00bh ; b1 0b ; 0xc27a6 + sal ax, CL ; d3 e0 ; 0xc27a8 + add bx, ax ; 01 c3 ; 0xc27aa + mov word [bp-00ch], bx ; 89 5e f4 ; 0xc27ac + xor bx, bx ; 31 db ; 0xc27af vgabios.c:1617 + jmp short 027b9h ; eb 06 ; 0xc27b1 + cmp bx, 00100h ; 81 fb 00 01 ; 0xc27b3 + jnc short 027e5h ; 73 2c ; 0xc27b7 + mov ax, bx ; 89 d8 ; 0xc27b9 vgabios.c:1619 + mov si, strict word 0000eh ; be 0e 00 ; 0xc27bb + mul si ; f7 e6 ; 0xc27be + mov CL, strict byte 005h ; b1 05 ; 0xc27c0 vgabios.c:1620 + mov di, bx ; 89 df ; 0xc27c2 + sal di, CL ; d3 e7 ; 0xc27c4 + add di, word [bp-00ch] ; 03 7e f4 ; 0xc27c6 + mov si, 05bech ; be ec 5b ; 0xc27c9 vgabios.c:1621 + add si, ax ; 01 c6 ; 0xc27cc + mov cx, strict word 0000eh ; b9 0e 00 ; 0xc27ce + mov dx, 0c000h ; ba 00 c0 ; 0xc27d1 + mov ax, 0a000h ; b8 00 a0 ; 0xc27d4 + mov es, ax ; 8e c0 ; 0xc27d7 + cld ; fc ; 0xc27d9 + jcxz 027e2h ; e3 06 ; 0xc27da + push DS ; 1e ; 0xc27dc + mov ds, dx ; 8e da ; 0xc27dd + rep movsb ; f3 a4 ; 0xc27df + pop DS ; 1f ; 0xc27e1 + inc bx ; 43 ; 0xc27e2 vgabios.c:1622 + jmp short 027b3h ; eb ce ; 0xc27e3 + call 025fbh ; e8 13 fe ; 0xc27e5 vgabios.c:1623 + cmp byte [bp-00ah], 010h ; 80 7e f6 10 ; 0xc27e8 vgabios.c:1624 + jc short 027f4h ; 72 06 ; 0xc27ec + mov ax, strict word 0000eh ; b8 0e 00 ; 0xc27ee vgabios.c:1626 + call 0263ah ; e8 46 fe ; 0xc27f1 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc27f4 vgabios.c:1628 + pop di ; 5f ; 0xc27f7 + pop si ; 5e ; 0xc27f8 + pop cx ; 59 ; 0xc27f9 + pop bx ; 5b ; 0xc27fa + pop bp ; 5d ; 0xc27fb + retn ; c3 ; 0xc27fc + ; disGetNextSymbol 0xc27fd LB 0x162d -> off=0x0 cb=0000000000000074 uValue=00000000000c27fd 'biosfn_load_text_8_8_pat' +biosfn_load_text_8_8_pat: ; 0xc27fd LB 0x74 + push bp ; 55 ; 0xc27fd vgabios.c:1630 + mov bp, sp ; 89 e5 ; 0xc27fe + push bx ; 53 ; 0xc2800 + push cx ; 51 ; 0xc2801 + push si ; 56 ; 0xc2802 + push di ; 57 ; 0xc2803 + push ax ; 50 ; 0xc2804 + push ax ; 50 ; 0xc2805 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc2806 + call 025cfh ; e8 c3 fd ; 0xc2809 vgabios.c:1634 + mov al, dl ; 88 d0 ; 0xc280c vgabios.c:1635 + and AL, strict byte 003h ; 24 03 ; 0xc280e + xor ah, ah ; 30 e4 ; 0xc2810 + mov CL, strict byte 00eh ; b1 0e ; 0xc2812 + mov bx, ax ; 89 c3 ; 0xc2814 + sal bx, CL ; d3 e3 ; 0xc2816 + mov al, dl ; 88 d0 ; 0xc2818 + and AL, strict byte 004h ; 24 04 ; 0xc281a + mov CL, strict byte 00bh ; b1 0b ; 0xc281c + sal ax, CL ; d3 e0 ; 0xc281e + add bx, ax ; 01 c3 ; 0xc2820 + mov word [bp-00ch], bx ; 89 5e f4 ; 0xc2822 + xor bx, bx ; 31 db ; 0xc2825 vgabios.c:1636 + jmp short 0282fh ; eb 06 ; 0xc2827 + cmp bx, 00100h ; 81 fb 00 01 ; 0xc2829 + jnc short 02859h ; 73 2a ; 0xc282d + mov CL, strict byte 003h ; b1 03 ; 0xc282f vgabios.c:1638 + mov si, bx ; 89 de ; 0xc2831 + sal si, CL ; d3 e6 ; 0xc2833 + mov CL, strict byte 005h ; b1 05 ; 0xc2835 vgabios.c:1639 + mov di, bx ; 89 df ; 0xc2837 + sal di, CL ; d3 e7 ; 0xc2839 + add di, word [bp-00ch] ; 03 7e f4 ; 0xc283b + add si, 053ech ; 81 c6 ec 53 ; 0xc283e vgabios.c:1640 + mov cx, strict word 00008h ; b9 08 00 ; 0xc2842 + mov dx, 0c000h ; ba 00 c0 ; 0xc2845 + mov ax, 0a000h ; b8 00 a0 ; 0xc2848 + mov es, ax ; 8e c0 ; 0xc284b + cld ; fc ; 0xc284d + jcxz 02856h ; e3 06 ; 0xc284e + push DS ; 1e ; 0xc2850 + mov ds, dx ; 8e da ; 0xc2851 + rep movsb ; f3 a4 ; 0xc2853 + pop DS ; 1f ; 0xc2855 + inc bx ; 43 ; 0xc2856 vgabios.c:1641 + jmp short 02829h ; eb d0 ; 0xc2857 + call 025fbh ; e8 9f fd ; 0xc2859 vgabios.c:1642 + cmp byte [bp-00ah], 010h ; 80 7e f6 10 ; 0xc285c vgabios.c:1643 + jc short 02868h ; 72 06 ; 0xc2860 + mov ax, strict word 00008h ; b8 08 00 ; 0xc2862 vgabios.c:1645 + call 0263ah ; e8 d2 fd ; 0xc2865 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc2868 vgabios.c:1647 + pop di ; 5f ; 0xc286b + pop si ; 5e ; 0xc286c + pop cx ; 59 ; 0xc286d + pop bx ; 5b ; 0xc286e + pop bp ; 5d ; 0xc286f + retn ; c3 ; 0xc2870 + ; disGetNextSymbol 0xc2871 LB 0x15b9 -> off=0x0 cb=0000000000000074 uValue=00000000000c2871 'biosfn_load_text_8_16_pat' +biosfn_load_text_8_16_pat: ; 0xc2871 LB 0x74 + push bp ; 55 ; 0xc2871 vgabios.c:1650 + mov bp, sp ; 89 e5 ; 0xc2872 + push bx ; 53 ; 0xc2874 + push cx ; 51 ; 0xc2875 + push si ; 56 ; 0xc2876 + push di ; 57 ; 0xc2877 + push ax ; 50 ; 0xc2878 + push ax ; 50 ; 0xc2879 + mov byte [bp-00ah], al ; 88 46 f6 ; 0xc287a + call 025cfh ; e8 4f fd ; 0xc287d vgabios.c:1654 + mov al, dl ; 88 d0 ; 0xc2880 vgabios.c:1655 + and AL, strict byte 003h ; 24 03 ; 0xc2882 + xor ah, ah ; 30 e4 ; 0xc2884 + mov CL, strict byte 00eh ; b1 0e ; 0xc2886 + mov bx, ax ; 89 c3 ; 0xc2888 + sal bx, CL ; d3 e3 ; 0xc288a + mov al, dl ; 88 d0 ; 0xc288c + and AL, strict byte 004h ; 24 04 ; 0xc288e + mov CL, strict byte 00bh ; b1 0b ; 0xc2890 + sal ax, CL ; d3 e0 ; 0xc2892 + add bx, ax ; 01 c3 ; 0xc2894 + mov word [bp-00ch], bx ; 89 5e f4 ; 0xc2896 + xor bx, bx ; 31 db ; 0xc2899 vgabios.c:1656 + jmp short 028a3h ; eb 06 ; 0xc289b + cmp bx, 00100h ; 81 fb 00 01 ; 0xc289d + jnc short 028cdh ; 73 2a ; 0xc28a1 + mov CL, strict byte 004h ; b1 04 ; 0xc28a3 vgabios.c:1658 + mov si, bx ; 89 de ; 0xc28a5 + sal si, CL ; d3 e6 ; 0xc28a7 + mov CL, strict byte 005h ; b1 05 ; 0xc28a9 vgabios.c:1659 + mov di, bx ; 89 df ; 0xc28ab + sal di, CL ; d3 e7 ; 0xc28ad + add di, word [bp-00ch] ; 03 7e f4 ; 0xc28af + add si, 069ech ; 81 c6 ec 69 ; 0xc28b2 vgabios.c:1660 + mov cx, strict word 00010h ; b9 10 00 ; 0xc28b6 + mov dx, 0c000h ; ba 00 c0 ; 0xc28b9 + mov ax, 0a000h ; b8 00 a0 ; 0xc28bc + mov es, ax ; 8e c0 ; 0xc28bf + cld ; fc ; 0xc28c1 + jcxz 028cah ; e3 06 ; 0xc28c2 + push DS ; 1e ; 0xc28c4 + mov ds, dx ; 8e da ; 0xc28c5 + rep movsb ; f3 a4 ; 0xc28c7 + pop DS ; 1f ; 0xc28c9 + inc bx ; 43 ; 0xc28ca vgabios.c:1661 + jmp short 0289dh ; eb d0 ; 0xc28cb + call 025fbh ; e8 2b fd ; 0xc28cd vgabios.c:1662 + cmp byte [bp-00ah], 010h ; 80 7e f6 10 ; 0xc28d0 vgabios.c:1663 + jc short 028dch ; 72 06 ; 0xc28d4 + mov ax, strict word 00010h ; b8 10 00 ; 0xc28d6 vgabios.c:1665 + call 0263ah ; e8 5e fd ; 0xc28d9 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc28dc vgabios.c:1667 + pop di ; 5f ; 0xc28df + pop si ; 5e ; 0xc28e0 + pop cx ; 59 ; 0xc28e1 + pop bx ; 5b ; 0xc28e2 + pop bp ; 5d ; 0xc28e3 + retn ; c3 ; 0xc28e4 + ; disGetNextSymbol 0xc28e5 LB 0x1545 -> off=0x0 cb=0000000000000005 uValue=00000000000c28e5 'biosfn_load_gfx_8_8_chars' +biosfn_load_gfx_8_8_chars: ; 0xc28e5 LB 0x5 + push bp ; 55 ; 0xc28e5 vgabios.c:1669 + mov bp, sp ; 89 e5 ; 0xc28e6 + pop bp ; 5d ; 0xc28e8 vgabios.c:1674 + retn ; c3 ; 0xc28e9 + ; disGetNextSymbol 0xc28ea LB 0x1540 -> off=0x0 cb=0000000000000007 uValue=00000000000c28ea 'biosfn_load_gfx_user_chars' +biosfn_load_gfx_user_chars: ; 0xc28ea LB 0x7 + push bp ; 55 ; 0xc28ea vgabios.c:1675 + mov bp, sp ; 89 e5 ; 0xc28eb + pop bp ; 5d ; 0xc28ed vgabios.c:1681 + retn 00002h ; c2 02 00 ; 0xc28ee + ; disGetNextSymbol 0xc28f1 LB 0x1539 -> off=0x0 cb=0000000000000005 uValue=00000000000c28f1 'biosfn_load_gfx_8_14_chars' +biosfn_load_gfx_8_14_chars: ; 0xc28f1 LB 0x5 + push bp ; 55 ; 0xc28f1 vgabios.c:1682 + mov bp, sp ; 89 e5 ; 0xc28f2 + pop bp ; 5d ; 0xc28f4 vgabios.c:1687 + retn ; c3 ; 0xc28f5 + ; disGetNextSymbol 0xc28f6 LB 0x1534 -> off=0x0 cb=0000000000000005 uValue=00000000000c28f6 'biosfn_load_gfx_8_8_dd_chars' +biosfn_load_gfx_8_8_dd_chars: ; 0xc28f6 LB 0x5 + push bp ; 55 ; 0xc28f6 vgabios.c:1688 + mov bp, sp ; 89 e5 ; 0xc28f7 + pop bp ; 5d ; 0xc28f9 vgabios.c:1693 + retn ; c3 ; 0xc28fa + ; disGetNextSymbol 0xc28fb LB 0x152f -> off=0x0 cb=0000000000000005 uValue=00000000000c28fb 'biosfn_load_gfx_8_16_chars' +biosfn_load_gfx_8_16_chars: ; 0xc28fb LB 0x5 + push bp ; 55 ; 0xc28fb vgabios.c:1694 + mov bp, sp ; 89 e5 ; 0xc28fc + pop bp ; 5d ; 0xc28fe vgabios.c:1699 + retn ; c3 ; 0xc28ff + ; disGetNextSymbol 0xc2900 LB 0x152a -> off=0x0 cb=0000000000000005 uValue=00000000000c2900 'biosfn_alternate_prtsc' +biosfn_alternate_prtsc: ; 0xc2900 LB 0x5 + push bp ; 55 ; 0xc2900 vgabios.c:1701 + mov bp, sp ; 89 e5 ; 0xc2901 + pop bp ; 5d ; 0xc2903 vgabios.c:1706 + retn ; c3 ; 0xc2904 + ; disGetNextSymbol 0xc2905 LB 0x1525 -> off=0x0 cb=0000000000000005 uValue=00000000000c2905 'biosfn_switch_video_interface' +biosfn_switch_video_interface: ; 0xc2905 LB 0x5 + push bp ; 55 ; 0xc2905 vgabios.c:1709 + mov bp, sp ; 89 e5 ; 0xc2906 + pop bp ; 5d ; 0xc2908 vgabios.c:1714 + retn ; c3 ; 0xc2909 + ; disGetNextSymbol 0xc290a LB 0x1520 -> off=0x0 cb=0000000000000005 uValue=00000000000c290a 'biosfn_enable_video_refresh_control' +biosfn_enable_video_refresh_control: ; 0xc290a LB 0x5 + push bp ; 55 ; 0xc290a vgabios.c:1715 + mov bp, sp ; 89 e5 ; 0xc290b + pop bp ; 5d ; 0xc290d vgabios.c:1720 + retn ; c3 ; 0xc290e + ; disGetNextSymbol 0xc290f LB 0x151b -> off=0x0 cb=0000000000000096 uValue=00000000000c290f 'biosfn_write_string' +biosfn_write_string: ; 0xc290f LB 0x96 + push bp ; 55 ; 0xc290f vgabios.c:1723 + mov bp, sp ; 89 e5 ; 0xc2910 + push si ; 56 ; 0xc2912 + push di ; 57 ; 0xc2913 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc2914 + mov byte [bp-008h], al ; 88 46 f8 ; 0xc2917 + mov byte [bp-00ah], dl ; 88 56 f6 ; 0xc291a + mov byte [bp-006h], bl ; 88 5e fa ; 0xc291d + mov si, cx ; 89 ce ; 0xc2920 + mov di, word [bp+00ah] ; 8b 7e 0a ; 0xc2922 + mov al, dl ; 88 d0 ; 0xc2925 vgabios.c:1730 + xor ah, ah ; 30 e4 ; 0xc2927 + lea bx, [bp-00eh] ; 8d 5e f2 ; 0xc2929 + lea dx, [bp-00ch] ; 8d 56 f4 ; 0xc292c + call 00a8ch ; e8 5a e1 ; 0xc292f + cmp byte [bp+004h], 0ffh ; 80 7e 04 ff ; 0xc2932 vgabios.c:1733 + jne short 02944h ; 75 0c ; 0xc2936 + mov al, byte [bp-00eh] ; 8a 46 f2 ; 0xc2938 vgabios.c:1734 + mov byte [bp+006h], al ; 88 46 06 ; 0xc293b + mov ax, word [bp-00eh] ; 8b 46 f2 ; 0xc293e vgabios.c:1735 + mov byte [bp+004h], ah ; 88 66 04 ; 0xc2941 + mov dh, byte [bp+004h] ; 8a 76 04 ; 0xc2944 vgabios.c:1738 + mov dl, byte [bp+006h] ; 8a 56 06 ; 0xc2947 + xor ah, ah ; 30 e4 ; 0xc294a + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc294c vgabios.c:1739 + call 00e91h ; e8 3f e5 ; 0xc294f + dec si ; 4e ; 0xc2952 vgabios.c:1741 + cmp si, strict byte 0ffffh ; 83 fe ff ; 0xc2953 + je short 0298bh ; 74 33 ; 0xc2956 + mov dx, di ; 89 fa ; 0xc2958 vgabios.c:1743 + inc di ; 47 ; 0xc295a + mov ax, word [bp+008h] ; 8b 46 08 ; 0xc295b + call 031beh ; e8 5d 08 ; 0xc295e + mov cl, al ; 88 c1 ; 0xc2961 + test byte [bp-008h], 002h ; f6 46 f8 02 ; 0xc2963 vgabios.c:1744 + je short 02975h ; 74 0c ; 0xc2967 + mov dx, di ; 89 fa ; 0xc2969 vgabios.c:1745 + inc di ; 47 ; 0xc296b + mov ax, word [bp+008h] ; 8b 46 08 ; 0xc296c + call 031beh ; e8 4c 08 ; 0xc296f + mov byte [bp-006h], al ; 88 46 fa ; 0xc2972 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc2975 vgabios.c:1747 + xor ah, ah ; 30 e4 ; 0xc2978 + mov bx, ax ; 89 c3 ; 0xc297a + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc297c + mov dx, ax ; 89 c2 ; 0xc297f + mov al, cl ; 88 c8 ; 0xc2981 + mov cx, strict word 00003h ; b9 03 00 ; 0xc2983 + call 02370h ; e8 e7 f9 ; 0xc2986 + jmp short 02952h ; eb c7 ; 0xc2989 vgabios.c:1748 + test byte [bp-008h], 001h ; f6 46 f8 01 ; 0xc298b vgabios.c:1751 + jne short 0299ch ; 75 0b ; 0xc298f + mov dx, word [bp-00eh] ; 8b 56 f2 ; 0xc2991 vgabios.c:1752 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2994 + xor ah, ah ; 30 e4 ; 0xc2997 + call 00e91h ; e8 f5 e4 ; 0xc2999 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc299c vgabios.c:1753 + pop di ; 5f ; 0xc299f + pop si ; 5e ; 0xc29a0 + pop bp ; 5d ; 0xc29a1 + retn 00008h ; c2 08 00 ; 0xc29a2 + ; disGetNextSymbol 0xc29a5 LB 0x1485 -> off=0x0 cb=0000000000000102 uValue=00000000000c29a5 'biosfn_read_state_info' +biosfn_read_state_info: ; 0xc29a5 LB 0x102 + push bp ; 55 ; 0xc29a5 vgabios.c:1756 + mov bp, sp ; 89 e5 ; 0xc29a6 + push cx ; 51 ; 0xc29a8 + push si ; 56 ; 0xc29a9 + push di ; 57 ; 0xc29aa + push dx ; 52 ; 0xc29ab + push bx ; 53 ; 0xc29ac + mov cx, ds ; 8c d9 ; 0xc29ad vgabios.c:1759 + mov bx, 05382h ; bb 82 53 ; 0xc29af + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc29b2 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc29b5 + call 03208h ; e8 4d 08 ; 0xc29b8 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc29bb vgabios.c:1762 + add di, strict byte 00004h ; 83 c7 04 ; 0xc29be + mov cx, strict word 0001eh ; b9 1e 00 ; 0xc29c1 + mov si, strict word 00049h ; be 49 00 ; 0xc29c4 + mov dx, strict word 00040h ; ba 40 00 ; 0xc29c7 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc29ca + cld ; fc ; 0xc29cd + jcxz 029d6h ; e3 06 ; 0xc29ce + push DS ; 1e ; 0xc29d0 + mov ds, dx ; 8e da ; 0xc29d1 + rep movsb ; f3 a4 ; 0xc29d3 + pop DS ; 1f ; 0xc29d5 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc29d6 vgabios.c:1763 + add di, strict byte 00022h ; 83 c7 22 ; 0xc29d9 + mov cx, strict word 00003h ; b9 03 00 ; 0xc29dc + mov si, 00084h ; be 84 00 ; 0xc29df + mov dx, strict word 00040h ; ba 40 00 ; 0xc29e2 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc29e5 + cld ; fc ; 0xc29e8 + jcxz 029f1h ; e3 06 ; 0xc29e9 + push DS ; 1e ; 0xc29eb + mov ds, dx ; 8e da ; 0xc29ec + rep movsb ; f3 a4 ; 0xc29ee + pop DS ; 1f ; 0xc29f0 + mov dx, 0008ah ; ba 8a 00 ; 0xc29f1 vgabios.c:1765 + mov ax, strict word 00040h ; b8 40 00 ; 0xc29f4 + call 031beh ; e8 c4 07 ; 0xc29f7 + mov bl, al ; 88 c3 ; 0xc29fa + xor bh, bh ; 30 ff ; 0xc29fc + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc29fe + add dx, strict byte 00025h ; 83 c2 25 ; 0xc2a01 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a04 + call 031cch ; e8 c2 07 ; 0xc2a07 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a0a vgabios.c:1766 + add dx, strict byte 00026h ; 83 c2 26 ; 0xc2a0d + xor bx, bx ; 31 db ; 0xc2a10 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a12 + call 031cch ; e8 b4 07 ; 0xc2a15 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a18 vgabios.c:1767 + add dx, strict byte 00027h ; 83 c2 27 ; 0xc2a1b + mov bx, strict word 00010h ; bb 10 00 ; 0xc2a1e + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a21 + call 031cch ; e8 a5 07 ; 0xc2a24 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a27 vgabios.c:1768 + add dx, strict byte 00028h ; 83 c2 28 ; 0xc2a2a + xor bx, bx ; 31 db ; 0xc2a2d + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a2f + call 031cch ; e8 97 07 ; 0xc2a32 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a35 vgabios.c:1769 + add dx, strict byte 00029h ; 83 c2 29 ; 0xc2a38 + mov bx, strict word 00008h ; bb 08 00 ; 0xc2a3b + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a3e + call 031cch ; e8 88 07 ; 0xc2a41 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a44 vgabios.c:1770 + add dx, strict byte 0002ah ; 83 c2 2a ; 0xc2a47 + mov bx, strict word 00002h ; bb 02 00 ; 0xc2a4a + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a4d + call 031cch ; e8 79 07 ; 0xc2a50 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a53 vgabios.c:1771 + add dx, strict byte 0002bh ; 83 c2 2b ; 0xc2a56 + xor bx, bx ; 31 db ; 0xc2a59 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a5b + call 031cch ; e8 6b 07 ; 0xc2a5e + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a61 vgabios.c:1772 + add dx, strict byte 0002ch ; 83 c2 2c ; 0xc2a64 + xor bx, bx ; 31 db ; 0xc2a67 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a69 + call 031cch ; e8 5d 07 ; 0xc2a6c + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a6f vgabios.c:1773 + add dx, strict byte 00031h ; 83 c2 31 ; 0xc2a72 + mov bx, strict word 00003h ; bb 03 00 ; 0xc2a75 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a78 + call 031cch ; e8 4e 07 ; 0xc2a7b + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2a7e vgabios.c:1774 + add dx, strict byte 00032h ; 83 c2 32 ; 0xc2a81 + xor bx, bx ; 31 db ; 0xc2a84 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2a86 + call 031cch ; e8 40 07 ; 0xc2a89 + mov di, word [bp-00ah] ; 8b 7e f6 ; 0xc2a8c vgabios.c:1776 + add di, strict byte 00033h ; 83 c7 33 ; 0xc2a8f + mov cx, strict word 0000dh ; b9 0d 00 ; 0xc2a92 + xor ax, ax ; 31 c0 ; 0xc2a95 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc2a97 + cld ; fc ; 0xc2a9a + jcxz 02a9fh ; e3 02 ; 0xc2a9b + rep stosb ; f3 aa ; 0xc2a9d + lea sp, [bp-006h] ; 8d 66 fa ; 0xc2a9f vgabios.c:1777 + pop di ; 5f ; 0xc2aa2 + pop si ; 5e ; 0xc2aa3 + pop cx ; 59 ; 0xc2aa4 + pop bp ; 5d ; 0xc2aa5 + retn ; c3 ; 0xc2aa6 + ; disGetNextSymbol 0xc2aa7 LB 0x1383 -> off=0x0 cb=0000000000000023 uValue=00000000000c2aa7 'biosfn_read_video_state_size2' +biosfn_read_video_state_size2: ; 0xc2aa7 LB 0x23 + push dx ; 52 ; 0xc2aa7 vgabios.c:1780 + push bp ; 55 ; 0xc2aa8 + mov bp, sp ; 89 e5 ; 0xc2aa9 + mov dx, ax ; 89 c2 ; 0xc2aab + xor ax, ax ; 31 c0 ; 0xc2aad vgabios.c:1784 + test dl, 001h ; f6 c2 01 ; 0xc2aaf vgabios.c:1785 + je short 02ab7h ; 74 03 ; 0xc2ab2 + mov ax, strict word 00046h ; b8 46 00 ; 0xc2ab4 vgabios.c:1786 + test dl, 002h ; f6 c2 02 ; 0xc2ab7 vgabios.c:1788 + je short 02abfh ; 74 03 ; 0xc2aba + add ax, strict word 0002ah ; 05 2a 00 ; 0xc2abc vgabios.c:1789 + test dl, 004h ; f6 c2 04 ; 0xc2abf vgabios.c:1791 + je short 02ac7h ; 74 03 ; 0xc2ac2 + add ax, 00304h ; 05 04 03 ; 0xc2ac4 vgabios.c:1792 + pop bp ; 5d ; 0xc2ac7 vgabios.c:1796 + pop dx ; 5a ; 0xc2ac8 + retn ; c3 ; 0xc2ac9 + ; disGetNextSymbol 0xc2aca LB 0x1360 -> off=0x0 cb=0000000000000012 uValue=00000000000c2aca 'vga_get_video_state_size' +vga_get_video_state_size: ; 0xc2aca LB 0x12 + push bp ; 55 ; 0xc2aca vgabios.c:1798 + mov bp, sp ; 89 e5 ; 0xc2acb + push bx ; 53 ; 0xc2acd + mov bx, dx ; 89 d3 ; 0xc2ace + call 02aa7h ; e8 d4 ff ; 0xc2ad0 vgabios.c:1800 + mov word [ss:bx], ax ; 36 89 07 ; 0xc2ad3 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc2ad6 vgabios.c:1801 + pop bx ; 5b ; 0xc2ad9 + pop bp ; 5d ; 0xc2ada + retn ; c3 ; 0xc2adb + ; disGetNextSymbol 0xc2adc LB 0x134e -> off=0x0 cb=0000000000000381 uValue=00000000000c2adc 'biosfn_save_video_state' +biosfn_save_video_state: ; 0xc2adc LB 0x381 + push bp ; 55 ; 0xc2adc vgabios.c:1803 + mov bp, sp ; 89 e5 ; 0xc2add + push cx ; 51 ; 0xc2adf + push si ; 56 ; 0xc2ae0 + push di ; 57 ; 0xc2ae1 + push ax ; 50 ; 0xc2ae2 + push ax ; 50 ; 0xc2ae3 + push ax ; 50 ; 0xc2ae4 + mov si, dx ; 89 d6 ; 0xc2ae5 + mov cx, bx ; 89 d9 ; 0xc2ae7 + mov dx, strict word 00063h ; ba 63 00 ; 0xc2ae9 vgabios.c:1807 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2aec + call 031dah ; e8 e8 06 ; 0xc2aef + mov di, ax ; 89 c7 ; 0xc2af2 + test byte [bp-00ch], 001h ; f6 46 f4 01 ; 0xc2af4 vgabios.c:1808 + je short 02b68h ; 74 6e ; 0xc2af8 + mov dx, 003c4h ; ba c4 03 ; 0xc2afa vgabios.c:1809 + in AL, DX ; ec ; 0xc2afd + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2afe + xor ah, ah ; 30 e4 ; 0xc2b00 + mov bx, ax ; 89 c3 ; 0xc2b02 + mov dx, cx ; 89 ca ; 0xc2b04 + mov ax, si ; 89 f0 ; 0xc2b06 + call 031cch ; e8 c1 06 ; 0xc2b08 + inc cx ; 41 ; 0xc2b0b vgabios.c:1810 + mov dx, di ; 89 fa ; 0xc2b0c + in AL, DX ; ec ; 0xc2b0e + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b0f + xor ah, ah ; 30 e4 ; 0xc2b11 + mov bx, ax ; 89 c3 ; 0xc2b13 + mov dx, cx ; 89 ca ; 0xc2b15 + mov ax, si ; 89 f0 ; 0xc2b17 + call 031cch ; e8 b0 06 ; 0xc2b19 + inc cx ; 41 ; 0xc2b1c vgabios.c:1811 + mov dx, 003ceh ; ba ce 03 ; 0xc2b1d + in AL, DX ; ec ; 0xc2b20 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b21 + xor ah, ah ; 30 e4 ; 0xc2b23 + mov bx, ax ; 89 c3 ; 0xc2b25 + mov dx, cx ; 89 ca ; 0xc2b27 + mov ax, si ; 89 f0 ; 0xc2b29 + call 031cch ; e8 9e 06 ; 0xc2b2b + inc cx ; 41 ; 0xc2b2e vgabios.c:1812 + mov dx, 003dah ; ba da 03 ; 0xc2b2f + in AL, DX ; ec ; 0xc2b32 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b33 + mov dx, 003c0h ; ba c0 03 ; 0xc2b35 vgabios.c:1813 + in AL, DX ; ec ; 0xc2b38 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b39 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc2b3b + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc2b3e vgabios.c:1814 + xor ah, ah ; 30 e4 ; 0xc2b41 + mov bx, ax ; 89 c3 ; 0xc2b43 + mov dx, cx ; 89 ca ; 0xc2b45 + mov ax, si ; 89 f0 ; 0xc2b47 + call 031cch ; e8 80 06 ; 0xc2b49 + inc cx ; 41 ; 0xc2b4c vgabios.c:1815 + mov dx, 003cah ; ba ca 03 ; 0xc2b4d + in AL, DX ; ec ; 0xc2b50 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b51 + xor ah, ah ; 30 e4 ; 0xc2b53 + mov bx, ax ; 89 c3 ; 0xc2b55 + mov dx, cx ; 89 ca ; 0xc2b57 + mov ax, si ; 89 f0 ; 0xc2b59 + call 031cch ; e8 6e 06 ; 0xc2b5b + mov ax, strict word 00001h ; b8 01 00 ; 0xc2b5e vgabios.c:1817 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc2b61 + add cx, ax ; 01 c1 ; 0xc2b64 + jmp short 02b71h ; eb 09 ; 0xc2b66 + jmp near 02c6ch ; e9 01 01 ; 0xc2b68 + cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 ; 0xc2b6b + jnbe short 02b8fh ; 77 1e ; 0xc2b6f + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2b71 vgabios.c:1818 + mov dx, 003c4h ; ba c4 03 ; 0xc2b74 + out DX, AL ; ee ; 0xc2b77 + mov dx, 003c5h ; ba c5 03 ; 0xc2b78 vgabios.c:1819 + in AL, DX ; ec ; 0xc2b7b + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b7c + xor ah, ah ; 30 e4 ; 0xc2b7e + mov bx, ax ; 89 c3 ; 0xc2b80 + mov dx, cx ; 89 ca ; 0xc2b82 + mov ax, si ; 89 f0 ; 0xc2b84 + call 031cch ; e8 43 06 ; 0xc2b86 + inc cx ; 41 ; 0xc2b89 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2b8a vgabios.c:1820 + jmp short 02b6bh ; eb dc ; 0xc2b8d + xor al, al ; 30 c0 ; 0xc2b8f vgabios.c:1821 + mov dx, 003c4h ; ba c4 03 ; 0xc2b91 + out DX, AL ; ee ; 0xc2b94 + mov dx, 003c5h ; ba c5 03 ; 0xc2b95 vgabios.c:1822 + in AL, DX ; ec ; 0xc2b98 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2b99 + xor ah, ah ; 30 e4 ; 0xc2b9b + mov bx, ax ; 89 c3 ; 0xc2b9d + mov dx, cx ; 89 ca ; 0xc2b9f + mov ax, si ; 89 f0 ; 0xc2ba1 + call 031cch ; e8 26 06 ; 0xc2ba3 + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2ba6 vgabios.c:1824 + inc cx ; 41 ; 0xc2bab + jmp short 02bb4h ; eb 06 ; 0xc2bac + cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 ; 0xc2bae + jnbe short 02bd1h ; 77 1d ; 0xc2bb2 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2bb4 vgabios.c:1825 + mov dx, di ; 89 fa ; 0xc2bb7 + out DX, AL ; ee ; 0xc2bb9 + lea dx, [di+001h] ; 8d 55 01 ; 0xc2bba vgabios.c:1826 + in AL, DX ; ec ; 0xc2bbd + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2bbe + xor ah, ah ; 30 e4 ; 0xc2bc0 + mov bx, ax ; 89 c3 ; 0xc2bc2 + mov dx, cx ; 89 ca ; 0xc2bc4 + mov ax, si ; 89 f0 ; 0xc2bc6 + call 031cch ; e8 01 06 ; 0xc2bc8 + inc cx ; 41 ; 0xc2bcb + inc word [bp-00ah] ; ff 46 f6 ; 0xc2bcc vgabios.c:1827 + jmp short 02baeh ; eb dd ; 0xc2bcf + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2bd1 vgabios.c:1829 + jmp short 02bdeh ; eb 06 ; 0xc2bd6 + cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 ; 0xc2bd8 + jnbe short 02c08h ; 77 2a ; 0xc2bdc + mov dx, 003dah ; ba da 03 ; 0xc2bde vgabios.c:1830 + in AL, DX ; ec ; 0xc2be1 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2be2 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc2be4 vgabios.c:1831 + and ax, strict word 00020h ; 25 20 00 ; 0xc2be7 + or ax, word [bp-00ah] ; 0b 46 f6 ; 0xc2bea + mov dx, 003c0h ; ba c0 03 ; 0xc2bed + out DX, AL ; ee ; 0xc2bf0 + mov dx, 003c1h ; ba c1 03 ; 0xc2bf1 vgabios.c:1832 + in AL, DX ; ec ; 0xc2bf4 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2bf5 + xor ah, ah ; 30 e4 ; 0xc2bf7 + mov bx, ax ; 89 c3 ; 0xc2bf9 + mov dx, cx ; 89 ca ; 0xc2bfb + mov ax, si ; 89 f0 ; 0xc2bfd + call 031cch ; e8 ca 05 ; 0xc2bff + inc cx ; 41 ; 0xc2c02 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2c03 vgabios.c:1833 + jmp short 02bd8h ; eb d0 ; 0xc2c06 + mov dx, 003dah ; ba da 03 ; 0xc2c08 vgabios.c:1834 + in AL, DX ; ec ; 0xc2c0b + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2c0c + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2c0e vgabios.c:1836 + jmp short 02c1bh ; eb 06 ; 0xc2c13 + cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 ; 0xc2c15 + jnbe short 02c39h ; 77 1e ; 0xc2c19 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2c1b vgabios.c:1837 + mov dx, 003ceh ; ba ce 03 ; 0xc2c1e + out DX, AL ; ee ; 0xc2c21 + mov dx, 003cfh ; ba cf 03 ; 0xc2c22 vgabios.c:1838 + in AL, DX ; ec ; 0xc2c25 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2c26 + xor ah, ah ; 30 e4 ; 0xc2c28 + mov bx, ax ; 89 c3 ; 0xc2c2a + mov dx, cx ; 89 ca ; 0xc2c2c + mov ax, si ; 89 f0 ; 0xc2c2e + call 031cch ; e8 99 05 ; 0xc2c30 + inc cx ; 41 ; 0xc2c33 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2c34 vgabios.c:1839 + jmp short 02c15h ; eb dc ; 0xc2c37 + mov bx, di ; 89 fb ; 0xc2c39 vgabios.c:1841 + mov dx, cx ; 89 ca ; 0xc2c3b + mov ax, si ; 89 f0 ; 0xc2c3d + call 031e8h ; e8 a6 05 ; 0xc2c3f + inc cx ; 41 ; 0xc2c42 vgabios.c:1844 + inc cx ; 41 ; 0xc2c43 + xor bx, bx ; 31 db ; 0xc2c44 + mov dx, cx ; 89 ca ; 0xc2c46 + mov ax, si ; 89 f0 ; 0xc2c48 + call 031cch ; e8 7f 05 ; 0xc2c4a + inc cx ; 41 ; 0xc2c4d vgabios.c:1845 + xor bx, bx ; 31 db ; 0xc2c4e + mov dx, cx ; 89 ca ; 0xc2c50 + mov ax, si ; 89 f0 ; 0xc2c52 + call 031cch ; e8 75 05 ; 0xc2c54 + inc cx ; 41 ; 0xc2c57 vgabios.c:1846 + xor bx, bx ; 31 db ; 0xc2c58 + mov dx, cx ; 89 ca ; 0xc2c5a + mov ax, si ; 89 f0 ; 0xc2c5c + call 031cch ; e8 6b 05 ; 0xc2c5e + inc cx ; 41 ; 0xc2c61 vgabios.c:1847 + xor bx, bx ; 31 db ; 0xc2c62 + mov dx, cx ; 89 ca ; 0xc2c64 + mov ax, si ; 89 f0 ; 0xc2c66 + call 031cch ; e8 61 05 ; 0xc2c68 + inc cx ; 41 ; 0xc2c6b + test byte [bp-00ch], 002h ; f6 46 f4 02 ; 0xc2c6c vgabios.c:1849 + jne short 02c75h ; 75 03 ; 0xc2c70 + jmp near 02de2h ; e9 6d 01 ; 0xc2c72 + mov dx, strict word 00049h ; ba 49 00 ; 0xc2c75 vgabios.c:1850 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2c78 + call 031beh ; e8 40 05 ; 0xc2c7b + xor ah, ah ; 30 e4 ; 0xc2c7e + mov bx, ax ; 89 c3 ; 0xc2c80 + mov dx, cx ; 89 ca ; 0xc2c82 + mov ax, si ; 89 f0 ; 0xc2c84 + call 031cch ; e8 43 05 ; 0xc2c86 + inc cx ; 41 ; 0xc2c89 vgabios.c:1851 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2c8a + mov ax, strict word 00040h ; b8 40 00 ; 0xc2c8d + call 031dah ; e8 47 05 ; 0xc2c90 + mov bx, ax ; 89 c3 ; 0xc2c93 + mov dx, cx ; 89 ca ; 0xc2c95 + mov ax, si ; 89 f0 ; 0xc2c97 + call 031e8h ; e8 4c 05 ; 0xc2c99 + inc cx ; 41 ; 0xc2c9c vgabios.c:1852 + inc cx ; 41 ; 0xc2c9d + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc2c9e + mov ax, strict word 00040h ; b8 40 00 ; 0xc2ca1 + call 031dah ; e8 33 05 ; 0xc2ca4 + mov bx, ax ; 89 c3 ; 0xc2ca7 + mov dx, cx ; 89 ca ; 0xc2ca9 + mov ax, si ; 89 f0 ; 0xc2cab + call 031e8h ; e8 38 05 ; 0xc2cad + inc cx ; 41 ; 0xc2cb0 vgabios.c:1853 + inc cx ; 41 ; 0xc2cb1 + mov dx, strict word 00063h ; ba 63 00 ; 0xc2cb2 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2cb5 + call 031dah ; e8 1f 05 ; 0xc2cb8 + mov bx, ax ; 89 c3 ; 0xc2cbb + mov dx, cx ; 89 ca ; 0xc2cbd + mov ax, si ; 89 f0 ; 0xc2cbf + call 031e8h ; e8 24 05 ; 0xc2cc1 + inc cx ; 41 ; 0xc2cc4 vgabios.c:1854 + inc cx ; 41 ; 0xc2cc5 + mov dx, 00084h ; ba 84 00 ; 0xc2cc6 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2cc9 + call 031beh ; e8 ef 04 ; 0xc2ccc + xor ah, ah ; 30 e4 ; 0xc2ccf + mov bx, ax ; 89 c3 ; 0xc2cd1 + mov dx, cx ; 89 ca ; 0xc2cd3 + mov ax, si ; 89 f0 ; 0xc2cd5 + call 031cch ; e8 f2 04 ; 0xc2cd7 + inc cx ; 41 ; 0xc2cda vgabios.c:1855 + mov dx, 00085h ; ba 85 00 ; 0xc2cdb + mov ax, strict word 00040h ; b8 40 00 ; 0xc2cde + call 031dah ; e8 f6 04 ; 0xc2ce1 + mov bx, ax ; 89 c3 ; 0xc2ce4 + mov dx, cx ; 89 ca ; 0xc2ce6 + mov ax, si ; 89 f0 ; 0xc2ce8 + call 031e8h ; e8 fb 04 ; 0xc2cea + inc cx ; 41 ; 0xc2ced vgabios.c:1856 + inc cx ; 41 ; 0xc2cee + mov dx, 00087h ; ba 87 00 ; 0xc2cef + mov ax, strict word 00040h ; b8 40 00 ; 0xc2cf2 + call 031beh ; e8 c6 04 ; 0xc2cf5 + xor ah, ah ; 30 e4 ; 0xc2cf8 + mov bx, ax ; 89 c3 ; 0xc2cfa + mov dx, cx ; 89 ca ; 0xc2cfc + mov ax, si ; 89 f0 ; 0xc2cfe + call 031cch ; e8 c9 04 ; 0xc2d00 + inc cx ; 41 ; 0xc2d03 vgabios.c:1857 + mov dx, 00088h ; ba 88 00 ; 0xc2d04 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d07 + call 031beh ; e8 b1 04 ; 0xc2d0a + mov bl, al ; 88 c3 ; 0xc2d0d + xor bh, bh ; 30 ff ; 0xc2d0f + mov dx, cx ; 89 ca ; 0xc2d11 + mov ax, si ; 89 f0 ; 0xc2d13 + call 031cch ; e8 b4 04 ; 0xc2d15 + inc cx ; 41 ; 0xc2d18 vgabios.c:1858 + mov dx, 00089h ; ba 89 00 ; 0xc2d19 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d1c + call 031beh ; e8 9c 04 ; 0xc2d1f + xor ah, ah ; 30 e4 ; 0xc2d22 + mov bx, ax ; 89 c3 ; 0xc2d24 + mov dx, cx ; 89 ca ; 0xc2d26 + mov ax, si ; 89 f0 ; 0xc2d28 + call 031cch ; e8 9f 04 ; 0xc2d2a + inc cx ; 41 ; 0xc2d2d vgabios.c:1859 + mov dx, strict word 00060h ; ba 60 00 ; 0xc2d2e + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d31 + call 031dah ; e8 a3 04 ; 0xc2d34 + mov bx, ax ; 89 c3 ; 0xc2d37 + mov dx, cx ; 89 ca ; 0xc2d39 + mov ax, si ; 89 f0 ; 0xc2d3b + call 031e8h ; e8 a8 04 ; 0xc2d3d + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2d40 vgabios.c:1860 + inc cx ; 41 ; 0xc2d45 + inc cx ; 41 ; 0xc2d46 + jmp short 02d4fh ; eb 06 ; 0xc2d47 + cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 ; 0xc2d49 + jnc short 02d6dh ; 73 1e ; 0xc2d4d + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc2d4f vgabios.c:1861 + sal dx, 1 ; d1 e2 ; 0xc2d52 + add dx, strict byte 00050h ; 83 c2 50 ; 0xc2d54 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d57 + call 031dah ; e8 7d 04 ; 0xc2d5a + mov bx, ax ; 89 c3 ; 0xc2d5d + mov dx, cx ; 89 ca ; 0xc2d5f + mov ax, si ; 89 f0 ; 0xc2d61 + call 031e8h ; e8 82 04 ; 0xc2d63 + inc cx ; 41 ; 0xc2d66 vgabios.c:1862 + inc cx ; 41 ; 0xc2d67 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2d68 vgabios.c:1863 + jmp short 02d49h ; eb dc ; 0xc2d6b + mov dx, strict word 0004eh ; ba 4e 00 ; 0xc2d6d vgabios.c:1864 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d70 + call 031dah ; e8 64 04 ; 0xc2d73 + mov bx, ax ; 89 c3 ; 0xc2d76 + mov dx, cx ; 89 ca ; 0xc2d78 + mov ax, si ; 89 f0 ; 0xc2d7a + call 031e8h ; e8 69 04 ; 0xc2d7c + inc cx ; 41 ; 0xc2d7f vgabios.c:1865 + inc cx ; 41 ; 0xc2d80 + mov dx, strict word 00062h ; ba 62 00 ; 0xc2d81 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2d84 + call 031beh ; e8 34 04 ; 0xc2d87 + xor ah, ah ; 30 e4 ; 0xc2d8a + mov bx, ax ; 89 c3 ; 0xc2d8c + mov dx, cx ; 89 ca ; 0xc2d8e + mov ax, si ; 89 f0 ; 0xc2d90 + call 031cch ; e8 37 04 ; 0xc2d92 + inc cx ; 41 ; 0xc2d95 vgabios.c:1867 + mov dx, strict word 0007ch ; ba 7c 00 ; 0xc2d96 + xor ax, ax ; 31 c0 ; 0xc2d99 + call 031dah ; e8 3c 04 ; 0xc2d9b + mov bx, ax ; 89 c3 ; 0xc2d9e + mov dx, cx ; 89 ca ; 0xc2da0 + mov ax, si ; 89 f0 ; 0xc2da2 + call 031e8h ; e8 41 04 ; 0xc2da4 + inc cx ; 41 ; 0xc2da7 vgabios.c:1868 + inc cx ; 41 ; 0xc2da8 + mov dx, strict word 0007eh ; ba 7e 00 ; 0xc2da9 + xor ax, ax ; 31 c0 ; 0xc2dac + call 031dah ; e8 29 04 ; 0xc2dae + mov bx, ax ; 89 c3 ; 0xc2db1 + mov dx, cx ; 89 ca ; 0xc2db3 + mov ax, si ; 89 f0 ; 0xc2db5 + call 031e8h ; e8 2e 04 ; 0xc2db7 + inc cx ; 41 ; 0xc2dba vgabios.c:1869 + inc cx ; 41 ; 0xc2dbb + mov dx, 0010ch ; ba 0c 01 ; 0xc2dbc + xor ax, ax ; 31 c0 ; 0xc2dbf + call 031dah ; e8 16 04 ; 0xc2dc1 + mov bx, ax ; 89 c3 ; 0xc2dc4 + mov dx, cx ; 89 ca ; 0xc2dc6 + mov ax, si ; 89 f0 ; 0xc2dc8 + call 031e8h ; e8 1b 04 ; 0xc2dca + inc cx ; 41 ; 0xc2dcd vgabios.c:1870 + inc cx ; 41 ; 0xc2dce + mov dx, 0010eh ; ba 0e 01 ; 0xc2dcf + xor ax, ax ; 31 c0 ; 0xc2dd2 + call 031dah ; e8 03 04 ; 0xc2dd4 + mov bx, ax ; 89 c3 ; 0xc2dd7 + mov dx, cx ; 89 ca ; 0xc2dd9 + mov ax, si ; 89 f0 ; 0xc2ddb + call 031e8h ; e8 08 04 ; 0xc2ddd + inc cx ; 41 ; 0xc2de0 + inc cx ; 41 ; 0xc2de1 + test byte [bp-00ch], 004h ; f6 46 f4 04 ; 0xc2de2 vgabios.c:1872 + je short 02e53h ; 74 6b ; 0xc2de6 + mov dx, 003c7h ; ba c7 03 ; 0xc2de8 vgabios.c:1874 + in AL, DX ; ec ; 0xc2deb + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2dec + mov bl, al ; 88 c3 ; 0xc2dee + xor bh, bh ; 30 ff ; 0xc2df0 + mov dx, cx ; 89 ca ; 0xc2df2 + mov ax, si ; 89 f0 ; 0xc2df4 + call 031cch ; e8 d3 03 ; 0xc2df6 + inc cx ; 41 ; 0xc2df9 vgabios.c:1875 + mov dx, 003c8h ; ba c8 03 ; 0xc2dfa + in AL, DX ; ec ; 0xc2dfd + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2dfe + mov bl, al ; 88 c3 ; 0xc2e00 + xor bh, bh ; 30 ff ; 0xc2e02 + mov dx, cx ; 89 ca ; 0xc2e04 + mov ax, si ; 89 f0 ; 0xc2e06 + call 031cch ; e8 c1 03 ; 0xc2e08 + inc cx ; 41 ; 0xc2e0b vgabios.c:1876 + mov dx, 003c6h ; ba c6 03 ; 0xc2e0c + in AL, DX ; ec ; 0xc2e0f + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2e10 + xor ah, ah ; 30 e4 ; 0xc2e12 + mov bx, ax ; 89 c3 ; 0xc2e14 + mov dx, cx ; 89 ca ; 0xc2e16 + mov ax, si ; 89 f0 ; 0xc2e18 + call 031cch ; e8 af 03 ; 0xc2e1a + inc cx ; 41 ; 0xc2e1d vgabios.c:1878 + xor al, al ; 30 c0 ; 0xc2e1e + mov dx, 003c8h ; ba c8 03 ; 0xc2e20 + out DX, AL ; ee ; 0xc2e23 + xor ah, ah ; 30 e4 ; 0xc2e24 vgabios.c:1879 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc2e26 + jmp short 02e32h ; eb 07 ; 0xc2e29 + cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 ; 0xc2e2b + jnc short 02e49h ; 73 17 ; 0xc2e30 + mov dx, 003c9h ; ba c9 03 ; 0xc2e32 vgabios.c:1880 + in AL, DX ; ec ; 0xc2e35 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2e36 + mov bl, al ; 88 c3 ; 0xc2e38 + xor bh, bh ; 30 ff ; 0xc2e3a + mov dx, cx ; 89 ca ; 0xc2e3c + mov ax, si ; 89 f0 ; 0xc2e3e + call 031cch ; e8 89 03 ; 0xc2e40 + inc cx ; 41 ; 0xc2e43 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2e44 vgabios.c:1881 + jmp short 02e2bh ; eb e2 ; 0xc2e47 + xor bx, bx ; 31 db ; 0xc2e49 vgabios.c:1882 + mov dx, cx ; 89 ca ; 0xc2e4b + mov ax, si ; 89 f0 ; 0xc2e4d + call 031cch ; e8 7a 03 ; 0xc2e4f + inc cx ; 41 ; 0xc2e52 + mov ax, cx ; 89 c8 ; 0xc2e53 vgabios.c:1885 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc2e55 + pop di ; 5f ; 0xc2e58 + pop si ; 5e ; 0xc2e59 + pop cx ; 59 ; 0xc2e5a + pop bp ; 5d ; 0xc2e5b + retn ; c3 ; 0xc2e5c + ; disGetNextSymbol 0xc2e5d LB 0xfcd -> off=0x0 cb=0000000000000336 uValue=00000000000c2e5d 'biosfn_restore_video_state' +biosfn_restore_video_state: ; 0xc2e5d LB 0x336 + push bp ; 55 ; 0xc2e5d vgabios.c:1887 + mov bp, sp ; 89 e5 ; 0xc2e5e + push cx ; 51 ; 0xc2e60 + push si ; 56 ; 0xc2e61 + push di ; 57 ; 0xc2e62 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc2e63 + push ax ; 50 ; 0xc2e66 + mov si, dx ; 89 d6 ; 0xc2e67 + mov cx, bx ; 89 d9 ; 0xc2e69 + test byte [bp-00eh], 001h ; f6 46 f2 01 ; 0xc2e6b vgabios.c:1891 + je short 02ec8h ; 74 57 ; 0xc2e6f + mov dx, 003dah ; ba da 03 ; 0xc2e71 vgabios.c:1893 + in AL, DX ; ec ; 0xc2e74 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2e75 + lea dx, [bx+040h] ; 8d 57 40 ; 0xc2e77 vgabios.c:1895 + mov ax, si ; 89 f0 ; 0xc2e7a + call 031dah ; e8 5b 03 ; 0xc2e7c + mov di, ax ; 89 c7 ; 0xc2e7f + mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 ; 0xc2e81 vgabios.c:1899 + lea cx, [bx+005h] ; 8d 4f 05 ; 0xc2e86 vgabios.c:1897 + jmp short 02e91h ; eb 06 ; 0xc2e89 + cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 ; 0xc2e8b + jnbe short 02ea9h ; 77 18 ; 0xc2e8f + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2e91 vgabios.c:1900 + mov dx, 003c4h ; ba c4 03 ; 0xc2e94 + out DX, AL ; ee ; 0xc2e97 + mov dx, cx ; 89 ca ; 0xc2e98 vgabios.c:1901 + mov ax, si ; 89 f0 ; 0xc2e9a + call 031beh ; e8 1f 03 ; 0xc2e9c + mov dx, 003c5h ; ba c5 03 ; 0xc2e9f + out DX, AL ; ee ; 0xc2ea2 + inc cx ; 41 ; 0xc2ea3 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2ea4 vgabios.c:1902 + jmp short 02e8bh ; eb e2 ; 0xc2ea7 + xor al, al ; 30 c0 ; 0xc2ea9 vgabios.c:1903 + mov dx, 003c4h ; ba c4 03 ; 0xc2eab + out DX, AL ; ee ; 0xc2eae + mov dx, cx ; 89 ca ; 0xc2eaf vgabios.c:1904 + mov ax, si ; 89 f0 ; 0xc2eb1 + call 031beh ; e8 08 03 ; 0xc2eb3 + mov dx, 003c5h ; ba c5 03 ; 0xc2eb6 + out DX, AL ; ee ; 0xc2eb9 + inc cx ; 41 ; 0xc2eba vgabios.c:1907 + mov ax, strict word 00011h ; b8 11 00 ; 0xc2ebb + mov dx, di ; 89 fa ; 0xc2ebe + out DX, ax ; ef ; 0xc2ec0 + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2ec1 vgabios.c:1909 + jmp short 02ed1h ; eb 09 ; 0xc2ec6 + jmp near 02fbeh ; e9 f3 00 ; 0xc2ec8 + cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 ; 0xc2ecb + jnbe short 02eeeh ; 77 1d ; 0xc2ecf + cmp word [bp-00ah], strict byte 00011h ; 83 7e f6 11 ; 0xc2ed1 vgabios.c:1910 + je short 02ee8h ; 74 11 ; 0xc2ed5 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2ed7 vgabios.c:1911 + mov dx, di ; 89 fa ; 0xc2eda + out DX, AL ; ee ; 0xc2edc + mov dx, cx ; 89 ca ; 0xc2edd vgabios.c:1912 + mov ax, si ; 89 f0 ; 0xc2edf + call 031beh ; e8 da 02 ; 0xc2ee1 + lea dx, [di+001h] ; 8d 55 01 ; 0xc2ee4 + out DX, AL ; ee ; 0xc2ee7 + inc cx ; 41 ; 0xc2ee8 vgabios.c:1914 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2ee9 vgabios.c:1915 + jmp short 02ecbh ; eb dd ; 0xc2eec + mov dx, 003cch ; ba cc 03 ; 0xc2eee vgabios.c:1917 + in AL, DX ; ec ; 0xc2ef1 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2ef2 + and AL, strict byte 0feh ; 24 fe ; 0xc2ef4 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc2ef6 + cmp di, 003d4h ; 81 ff d4 03 ; 0xc2ef9 vgabios.c:1918 + jne short 02f03h ; 75 04 ; 0xc2efd + or byte [bp-008h], 001h ; 80 4e f8 01 ; 0xc2eff vgabios.c:1919 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc2f03 vgabios.c:1920 + mov dx, 003c2h ; ba c2 03 ; 0xc2f06 + out DX, AL ; ee ; 0xc2f09 + mov AL, strict byte 011h ; b0 11 ; 0xc2f0a vgabios.c:1923 + mov dx, di ; 89 fa ; 0xc2f0c + out DX, AL ; ee ; 0xc2f0e + mov dx, cx ; 89 ca ; 0xc2f0f vgabios.c:1924 + add dx, strict byte 0fff9h ; 83 c2 f9 ; 0xc2f11 + mov ax, si ; 89 f0 ; 0xc2f14 + call 031beh ; e8 a5 02 ; 0xc2f16 + lea dx, [di+001h] ; 8d 55 01 ; 0xc2f19 + out DX, AL ; ee ; 0xc2f1c + lea dx, [bx+003h] ; 8d 57 03 ; 0xc2f1d vgabios.c:1927 + mov ax, si ; 89 f0 ; 0xc2f20 + call 031beh ; e8 99 02 ; 0xc2f22 + xor ah, ah ; 30 e4 ; 0xc2f25 + mov word [bp-00ch], ax ; 89 46 f4 ; 0xc2f27 + mov dx, 003dah ; ba da 03 ; 0xc2f2a vgabios.c:1928 + in AL, DX ; ec ; 0xc2f2d + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2f2e + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2f30 vgabios.c:1929 + jmp short 02f3dh ; eb 06 ; 0xc2f35 + cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 ; 0xc2f37 + jnbe short 02f5bh ; 77 1e ; 0xc2f3b + mov ax, word [bp-00ch] ; 8b 46 f4 ; 0xc2f3d vgabios.c:1930 + and ax, strict word 00020h ; 25 20 00 ; 0xc2f40 + or ax, word [bp-00ah] ; 0b 46 f6 ; 0xc2f43 + mov dx, 003c0h ; ba c0 03 ; 0xc2f46 + out DX, AL ; ee ; 0xc2f49 + mov dx, cx ; 89 ca ; 0xc2f4a vgabios.c:1931 + mov ax, si ; 89 f0 ; 0xc2f4c + call 031beh ; e8 6d 02 ; 0xc2f4e + mov dx, 003c0h ; ba c0 03 ; 0xc2f51 + out DX, AL ; ee ; 0xc2f54 + inc cx ; 41 ; 0xc2f55 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2f56 vgabios.c:1932 + jmp short 02f37h ; eb dc ; 0xc2f59 + mov al, byte [bp-00ch] ; 8a 46 f4 ; 0xc2f5b vgabios.c:1933 + mov dx, 003c0h ; ba c0 03 ; 0xc2f5e + out DX, AL ; ee ; 0xc2f61 + mov dx, 003dah ; ba da 03 ; 0xc2f62 vgabios.c:1934 + in AL, DX ; ec ; 0xc2f65 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc2f66 + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc2f68 vgabios.c:1936 + jmp short 02f75h ; eb 06 ; 0xc2f6d + cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 ; 0xc2f6f + jnbe short 02f8dh ; 77 18 ; 0xc2f73 + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc2f75 vgabios.c:1937 + mov dx, 003ceh ; ba ce 03 ; 0xc2f78 + out DX, AL ; ee ; 0xc2f7b + mov dx, cx ; 89 ca ; 0xc2f7c vgabios.c:1938 + mov ax, si ; 89 f0 ; 0xc2f7e + call 031beh ; e8 3b 02 ; 0xc2f80 + mov dx, 003cfh ; ba cf 03 ; 0xc2f83 + out DX, AL ; ee ; 0xc2f86 + inc cx ; 41 ; 0xc2f87 + inc word [bp-00ah] ; ff 46 f6 ; 0xc2f88 vgabios.c:1939 + jmp short 02f6fh ; eb e2 ; 0xc2f8b + add cx, strict byte 00006h ; 83 c1 06 ; 0xc2f8d vgabios.c:1940 + mov dx, bx ; 89 da ; 0xc2f90 vgabios.c:1941 + mov ax, si ; 89 f0 ; 0xc2f92 + call 031beh ; e8 27 02 ; 0xc2f94 + mov dx, 003c4h ; ba c4 03 ; 0xc2f97 + out DX, AL ; ee ; 0xc2f9a + inc bx ; 43 ; 0xc2f9b + mov dx, bx ; 89 da ; 0xc2f9c vgabios.c:1944 + mov ax, si ; 89 f0 ; 0xc2f9e + call 031beh ; e8 1b 02 ; 0xc2fa0 + mov dx, di ; 89 fa ; 0xc2fa3 + out DX, AL ; ee ; 0xc2fa5 + inc bx ; 43 ; 0xc2fa6 + mov dx, bx ; 89 da ; 0xc2fa7 vgabios.c:1945 + mov ax, si ; 89 f0 ; 0xc2fa9 + call 031beh ; e8 10 02 ; 0xc2fab + mov dx, 003ceh ; ba ce 03 ; 0xc2fae + out DX, AL ; ee ; 0xc2fb1 + lea dx, [bx+002h] ; 8d 57 02 ; 0xc2fb2 + mov ax, si ; 89 f0 ; 0xc2fb5 + call 031beh ; e8 04 02 ; 0xc2fb7 + lea dx, [di+006h] ; 8d 55 06 ; 0xc2fba + out DX, AL ; ee ; 0xc2fbd + test byte [bp-00eh], 002h ; f6 46 f2 02 ; 0xc2fbe vgabios.c:1949 + jne short 02fc7h ; 75 03 ; 0xc2fc2 + jmp near 0313ch ; e9 75 01 ; 0xc2fc4 + mov dx, cx ; 89 ca ; 0xc2fc7 vgabios.c:1950 + mov ax, si ; 89 f0 ; 0xc2fc9 + call 031beh ; e8 f0 01 ; 0xc2fcb + xor ah, ah ; 30 e4 ; 0xc2fce + mov bx, ax ; 89 c3 ; 0xc2fd0 + mov dx, strict word 00049h ; ba 49 00 ; 0xc2fd2 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2fd5 + call 031cch ; e8 f1 01 ; 0xc2fd8 + inc cx ; 41 ; 0xc2fdb + mov dx, cx ; 89 ca ; 0xc2fdc vgabios.c:1951 + mov ax, si ; 89 f0 ; 0xc2fde + call 031dah ; e8 f7 01 ; 0xc2fe0 + mov bx, ax ; 89 c3 ; 0xc2fe3 + mov dx, strict word 0004ah ; ba 4a 00 ; 0xc2fe5 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2fe8 + call 031e8h ; e8 fa 01 ; 0xc2feb + inc cx ; 41 ; 0xc2fee + inc cx ; 41 ; 0xc2fef + mov dx, cx ; 89 ca ; 0xc2ff0 vgabios.c:1952 + mov ax, si ; 89 f0 ; 0xc2ff2 + call 031dah ; e8 e3 01 ; 0xc2ff4 + mov bx, ax ; 89 c3 ; 0xc2ff7 + mov dx, strict word 0004ch ; ba 4c 00 ; 0xc2ff9 + mov ax, strict word 00040h ; b8 40 00 ; 0xc2ffc + call 031e8h ; e8 e6 01 ; 0xc2fff + inc cx ; 41 ; 0xc3002 + inc cx ; 41 ; 0xc3003 + mov dx, cx ; 89 ca ; 0xc3004 vgabios.c:1953 + mov ax, si ; 89 f0 ; 0xc3006 + call 031dah ; e8 cf 01 ; 0xc3008 + mov bx, ax ; 89 c3 ; 0xc300b + mov dx, strict word 00063h ; ba 63 00 ; 0xc300d + mov ax, strict word 00040h ; b8 40 00 ; 0xc3010 + call 031e8h ; e8 d2 01 ; 0xc3013 + inc cx ; 41 ; 0xc3016 + inc cx ; 41 ; 0xc3017 + mov dx, cx ; 89 ca ; 0xc3018 vgabios.c:1954 + mov ax, si ; 89 f0 ; 0xc301a + call 031beh ; e8 9f 01 ; 0xc301c + xor ah, ah ; 30 e4 ; 0xc301f + mov bx, ax ; 89 c3 ; 0xc3021 + mov dx, 00084h ; ba 84 00 ; 0xc3023 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3026 + call 031cch ; e8 a0 01 ; 0xc3029 + inc cx ; 41 ; 0xc302c + mov dx, cx ; 89 ca ; 0xc302d vgabios.c:1955 + mov ax, si ; 89 f0 ; 0xc302f + call 031dah ; e8 a6 01 ; 0xc3031 + mov bx, ax ; 89 c3 ; 0xc3034 + mov dx, 00085h ; ba 85 00 ; 0xc3036 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3039 + call 031e8h ; e8 a9 01 ; 0xc303c + inc cx ; 41 ; 0xc303f + inc cx ; 41 ; 0xc3040 + mov dx, cx ; 89 ca ; 0xc3041 vgabios.c:1956 + mov ax, si ; 89 f0 ; 0xc3043 + call 031beh ; e8 76 01 ; 0xc3045 + mov dl, al ; 88 c2 ; 0xc3048 + xor dh, dh ; 30 f6 ; 0xc304a + mov bx, dx ; 89 d3 ; 0xc304c + mov dx, 00087h ; ba 87 00 ; 0xc304e + mov ax, strict word 00040h ; b8 40 00 ; 0xc3051 + call 031cch ; e8 75 01 ; 0xc3054 + inc cx ; 41 ; 0xc3057 + mov dx, cx ; 89 ca ; 0xc3058 vgabios.c:1957 + mov ax, si ; 89 f0 ; 0xc305a + call 031beh ; e8 5f 01 ; 0xc305c + mov dl, al ; 88 c2 ; 0xc305f + xor dh, dh ; 30 f6 ; 0xc3061 + mov bx, dx ; 89 d3 ; 0xc3063 + mov dx, 00088h ; ba 88 00 ; 0xc3065 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3068 + call 031cch ; e8 5e 01 ; 0xc306b + inc cx ; 41 ; 0xc306e + mov dx, cx ; 89 ca ; 0xc306f vgabios.c:1958 + mov ax, si ; 89 f0 ; 0xc3071 + call 031beh ; e8 48 01 ; 0xc3073 + mov dl, al ; 88 c2 ; 0xc3076 + xor dh, dh ; 30 f6 ; 0xc3078 + mov bx, dx ; 89 d3 ; 0xc307a + mov dx, 00089h ; ba 89 00 ; 0xc307c + mov ax, strict word 00040h ; b8 40 00 ; 0xc307f + call 031cch ; e8 47 01 ; 0xc3082 + inc cx ; 41 ; 0xc3085 + mov dx, cx ; 89 ca ; 0xc3086 vgabios.c:1959 + mov ax, si ; 89 f0 ; 0xc3088 + call 031dah ; e8 4d 01 ; 0xc308a + mov bx, ax ; 89 c3 ; 0xc308d + mov dx, strict word 00060h ; ba 60 00 ; 0xc308f + mov ax, strict word 00040h ; b8 40 00 ; 0xc3092 + call 031e8h ; e8 50 01 ; 0xc3095 + mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 ; 0xc3098 vgabios.c:1960 + inc cx ; 41 ; 0xc309d + inc cx ; 41 ; 0xc309e + jmp short 030a7h ; eb 06 ; 0xc309f + cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 ; 0xc30a1 + jnc short 030c5h ; 73 1e ; 0xc30a5 + mov dx, cx ; 89 ca ; 0xc30a7 vgabios.c:1961 + mov ax, si ; 89 f0 ; 0xc30a9 + call 031dah ; e8 2c 01 ; 0xc30ab + mov bx, ax ; 89 c3 ; 0xc30ae + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc30b0 + sal dx, 1 ; d1 e2 ; 0xc30b3 + add dx, strict byte 00050h ; 83 c2 50 ; 0xc30b5 + mov ax, strict word 00040h ; b8 40 00 ; 0xc30b8 + call 031e8h ; e8 2a 01 ; 0xc30bb + inc cx ; 41 ; 0xc30be vgabios.c:1962 + inc cx ; 41 ; 0xc30bf + inc word [bp-00ah] ; ff 46 f6 ; 0xc30c0 vgabios.c:1963 + jmp short 030a1h ; eb dc ; 0xc30c3 + mov dx, cx ; 89 ca ; 0xc30c5 vgabios.c:1964 + mov ax, si ; 89 f0 ; 0xc30c7 + call 031dah ; e8 0e 01 ; 0xc30c9 + mov bx, ax ; 89 c3 ; 0xc30cc + mov dx, strict word 0004eh ; ba 4e 00 ; 0xc30ce + mov ax, strict word 00040h ; b8 40 00 ; 0xc30d1 + call 031e8h ; e8 11 01 ; 0xc30d4 + inc cx ; 41 ; 0xc30d7 + inc cx ; 41 ; 0xc30d8 + mov dx, cx ; 89 ca ; 0xc30d9 vgabios.c:1965 + mov ax, si ; 89 f0 ; 0xc30db + call 031beh ; e8 de 00 ; 0xc30dd + mov dl, al ; 88 c2 ; 0xc30e0 + xor dh, dh ; 30 f6 ; 0xc30e2 + mov bx, dx ; 89 d3 ; 0xc30e4 + mov dx, strict word 00062h ; ba 62 00 ; 0xc30e6 + mov ax, strict word 00040h ; b8 40 00 ; 0xc30e9 + call 031cch ; e8 dd 00 ; 0xc30ec + inc cx ; 41 ; 0xc30ef + mov dx, cx ; 89 ca ; 0xc30f0 vgabios.c:1967 + mov ax, si ; 89 f0 ; 0xc30f2 + call 031dah ; e8 e3 00 ; 0xc30f4 + mov bx, ax ; 89 c3 ; 0xc30f7 + mov dx, strict word 0007ch ; ba 7c 00 ; 0xc30f9 + xor ax, ax ; 31 c0 ; 0xc30fc + call 031e8h ; e8 e7 00 ; 0xc30fe + inc cx ; 41 ; 0xc3101 + inc cx ; 41 ; 0xc3102 + mov dx, cx ; 89 ca ; 0xc3103 vgabios.c:1968 + mov ax, si ; 89 f0 ; 0xc3105 + call 031dah ; e8 d0 00 ; 0xc3107 + mov bx, ax ; 89 c3 ; 0xc310a + mov dx, strict word 0007eh ; ba 7e 00 ; 0xc310c + xor ax, ax ; 31 c0 ; 0xc310f + call 031e8h ; e8 d4 00 ; 0xc3111 + inc cx ; 41 ; 0xc3114 + inc cx ; 41 ; 0xc3115 + mov dx, cx ; 89 ca ; 0xc3116 vgabios.c:1969 + mov ax, si ; 89 f0 ; 0xc3118 + call 031dah ; e8 bd 00 ; 0xc311a + mov bx, ax ; 89 c3 ; 0xc311d + mov dx, 0010ch ; ba 0c 01 ; 0xc311f + xor ax, ax ; 31 c0 ; 0xc3122 + call 031e8h ; e8 c1 00 ; 0xc3124 + inc cx ; 41 ; 0xc3127 + inc cx ; 41 ; 0xc3128 + mov dx, cx ; 89 ca ; 0xc3129 vgabios.c:1970 + mov ax, si ; 89 f0 ; 0xc312b + call 031dah ; e8 aa 00 ; 0xc312d + mov bx, ax ; 89 c3 ; 0xc3130 + mov dx, 0010eh ; ba 0e 01 ; 0xc3132 + xor ax, ax ; 31 c0 ; 0xc3135 + call 031e8h ; e8 ae 00 ; 0xc3137 + inc cx ; 41 ; 0xc313a + inc cx ; 41 ; 0xc313b + test byte [bp-00eh], 004h ; f6 46 f2 04 ; 0xc313c vgabios.c:1972 + je short 03189h ; 74 47 ; 0xc3140 + inc cx ; 41 ; 0xc3142 vgabios.c:1973 + mov dx, cx ; 89 ca ; 0xc3143 vgabios.c:1974 + mov ax, si ; 89 f0 ; 0xc3145 + call 031beh ; e8 74 00 ; 0xc3147 + xor ah, ah ; 30 e4 ; 0xc314a + mov word [bp-008h], ax ; 89 46 f8 ; 0xc314c + inc cx ; 41 ; 0xc314f + mov dx, cx ; 89 ca ; 0xc3150 vgabios.c:1975 + mov ax, si ; 89 f0 ; 0xc3152 + call 031beh ; e8 67 00 ; 0xc3154 + mov dx, 003c6h ; ba c6 03 ; 0xc3157 + out DX, AL ; ee ; 0xc315a + inc cx ; 41 ; 0xc315b vgabios.c:1977 + xor al, al ; 30 c0 ; 0xc315c + mov dx, 003c8h ; ba c8 03 ; 0xc315e + out DX, AL ; ee ; 0xc3161 + xor ah, ah ; 30 e4 ; 0xc3162 vgabios.c:1978 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc3164 + jmp short 03170h ; eb 07 ; 0xc3167 + cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 ; 0xc3169 + jnc short 03181h ; 73 11 ; 0xc316e + mov dx, cx ; 89 ca ; 0xc3170 vgabios.c:1979 + mov ax, si ; 89 f0 ; 0xc3172 + call 031beh ; e8 47 00 ; 0xc3174 + mov dx, 003c9h ; ba c9 03 ; 0xc3177 + out DX, AL ; ee ; 0xc317a + inc cx ; 41 ; 0xc317b + inc word [bp-00ah] ; ff 46 f6 ; 0xc317c vgabios.c:1980 + jmp short 03169h ; eb e8 ; 0xc317f + inc cx ; 41 ; 0xc3181 vgabios.c:1981 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc3182 + mov dx, 003c8h ; ba c8 03 ; 0xc3185 + out DX, AL ; ee ; 0xc3188 + mov ax, cx ; 89 c8 ; 0xc3189 vgabios.c:1985 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc318b + pop di ; 5f ; 0xc318e + pop si ; 5e ; 0xc318f + pop cx ; 59 ; 0xc3190 + pop bp ; 5d ; 0xc3191 + retn ; c3 ; 0xc3192 + ; disGetNextSymbol 0xc3193 LB 0xc97 -> off=0x0 cb=000000000000002b uValue=00000000000c3193 'find_vga_entry' +find_vga_entry: ; 0xc3193 LB 0x2b + push bx ; 53 ; 0xc3193 vgabios.c:1994 + push cx ; 51 ; 0xc3194 + push dx ; 52 ; 0xc3195 + push bp ; 55 ; 0xc3196 + mov bp, sp ; 89 e5 ; 0xc3197 + mov dl, al ; 88 c2 ; 0xc3199 + mov AH, strict byte 0ffh ; b4 ff ; 0xc319b vgabios.c:1996 + xor al, al ; 30 c0 ; 0xc319d vgabios.c:1997 + jmp short 031a7h ; eb 06 ; 0xc319f + db 0feh, 0c0h + ; inc al ; fe c0 ; 0xc31a1 vgabios.c:1998 + cmp AL, strict byte 00fh ; 3c 0f ; 0xc31a3 + jnbe short 031b7h ; 77 10 ; 0xc31a5 + mov bl, al ; 88 c3 ; 0xc31a7 + xor bh, bh ; 30 ff ; 0xc31a9 + mov CL, strict byte 003h ; b1 03 ; 0xc31ab + sal bx, CL ; d3 e3 ; 0xc31ad + cmp dl, byte [bx+0462eh] ; 3a 97 2e 46 ; 0xc31af + jne short 031a1h ; 75 ec ; 0xc31b3 + mov ah, al ; 88 c4 ; 0xc31b5 + mov al, ah ; 88 e0 ; 0xc31b7 vgabios.c:2003 + pop bp ; 5d ; 0xc31b9 + pop dx ; 5a ; 0xc31ba + pop cx ; 59 ; 0xc31bb + pop bx ; 5b ; 0xc31bc + retn ; c3 ; 0xc31bd + ; disGetNextSymbol 0xc31be LB 0xc6c -> off=0x0 cb=000000000000000e uValue=00000000000c31be 'read_byte' +read_byte: ; 0xc31be LB 0xe + push bx ; 53 ; 0xc31be vgabios.c:2011 + push bp ; 55 ; 0xc31bf + mov bp, sp ; 89 e5 ; 0xc31c0 + mov bx, dx ; 89 d3 ; 0xc31c2 + mov es, ax ; 8e c0 ; 0xc31c4 vgabios.c:2013 + mov al, byte [es:bx] ; 26 8a 07 ; 0xc31c6 + pop bp ; 5d ; 0xc31c9 vgabios.c:2014 + pop bx ; 5b ; 0xc31ca + retn ; c3 ; 0xc31cb + ; disGetNextSymbol 0xc31cc LB 0xc5e -> off=0x0 cb=000000000000000e uValue=00000000000c31cc 'write_byte' +write_byte: ; 0xc31cc LB 0xe + push si ; 56 ; 0xc31cc vgabios.c:2016 + push bp ; 55 ; 0xc31cd + mov bp, sp ; 89 e5 ; 0xc31ce + mov si, dx ; 89 d6 ; 0xc31d0 + mov es, ax ; 8e c0 ; 0xc31d2 vgabios.c:2018 + mov byte [es:si], bl ; 26 88 1c ; 0xc31d4 + pop bp ; 5d ; 0xc31d7 vgabios.c:2019 + pop si ; 5e ; 0xc31d8 + retn ; c3 ; 0xc31d9 + ; disGetNextSymbol 0xc31da LB 0xc50 -> off=0x0 cb=000000000000000e uValue=00000000000c31da 'read_word' +read_word: ; 0xc31da LB 0xe + push bx ; 53 ; 0xc31da vgabios.c:2021 + push bp ; 55 ; 0xc31db + mov bp, sp ; 89 e5 ; 0xc31dc + mov bx, dx ; 89 d3 ; 0xc31de + mov es, ax ; 8e c0 ; 0xc31e0 vgabios.c:2023 + mov ax, word [es:bx] ; 26 8b 07 ; 0xc31e2 + pop bp ; 5d ; 0xc31e5 vgabios.c:2024 + pop bx ; 5b ; 0xc31e6 + retn ; c3 ; 0xc31e7 + ; disGetNextSymbol 0xc31e8 LB 0xc42 -> off=0x0 cb=000000000000000e uValue=00000000000c31e8 'write_word' +write_word: ; 0xc31e8 LB 0xe + push si ; 56 ; 0xc31e8 vgabios.c:2026 + push bp ; 55 ; 0xc31e9 + mov bp, sp ; 89 e5 ; 0xc31ea + mov si, dx ; 89 d6 ; 0xc31ec + mov es, ax ; 8e c0 ; 0xc31ee vgabios.c:2028 + mov word [es:si], bx ; 26 89 1c ; 0xc31f0 + pop bp ; 5d ; 0xc31f3 vgabios.c:2029 + pop si ; 5e ; 0xc31f4 + retn ; c3 ; 0xc31f5 + ; disGetNextSymbol 0xc31f6 LB 0xc34 -> off=0x0 cb=0000000000000012 uValue=00000000000c31f6 'read_dword' +read_dword: ; 0xc31f6 LB 0x12 + push bx ; 53 ; 0xc31f6 vgabios.c:2031 + push bp ; 55 ; 0xc31f7 + mov bp, sp ; 89 e5 ; 0xc31f8 + mov bx, dx ; 89 d3 ; 0xc31fa + mov es, ax ; 8e c0 ; 0xc31fc vgabios.c:2033 + mov ax, word [es:bx] ; 26 8b 07 ; 0xc31fe + mov dx, word [es:bx+002h] ; 26 8b 57 02 ; 0xc3201 + pop bp ; 5d ; 0xc3205 vgabios.c:2034 + pop bx ; 5b ; 0xc3206 + retn ; c3 ; 0xc3207 + ; disGetNextSymbol 0xc3208 LB 0xc22 -> off=0x0 cb=0000000000000012 uValue=00000000000c3208 'write_dword' +write_dword: ; 0xc3208 LB 0x12 + push si ; 56 ; 0xc3208 vgabios.c:2036 + push bp ; 55 ; 0xc3209 + mov bp, sp ; 89 e5 ; 0xc320a + mov si, dx ; 89 d6 ; 0xc320c + mov es, ax ; 8e c0 ; 0xc320e vgabios.c:2038 + mov word [es:si], bx ; 26 89 1c ; 0xc3210 + mov word [es:si+002h], cx ; 26 89 4c 02 ; 0xc3213 + pop bp ; 5d ; 0xc3217 vgabios.c:2039 + pop si ; 5e ; 0xc3218 + retn ; c3 ; 0xc3219 + ; disGetNextSymbol 0xc321a LB 0xc10 -> off=0x87 cb=0000000000000399 uValue=00000000000c32a1 'int10_func' + db 056h, 04fh, 01ch, 01bh, 013h, 012h, 011h, 010h, 00eh, 00dh, 00ch, 00ah, 009h, 008h, 007h, 006h + db 005h, 004h, 003h, 002h, 001h, 000h, 033h, 036h, 0cch, 032h, 009h, 033h, 016h, 033h, 022h, 033h + db 030h, 033h, 040h, 033h, 045h, 033h, 06eh, 033h, 08bh, 033h, 096h, 033h, 0ach, 033h, 0c2h, 033h + db 0d3h, 033h, 0ebh, 033h, 0ffh, 033h, 00bh, 034h, 0cfh, 034h, 002h, 035h, 023h, 035h, 038h, 035h + db 07ah, 035h, 005h, 036h, 030h, 024h, 023h, 022h, 021h, 020h, 014h, 012h, 011h, 010h, 004h, 002h + db 001h, 000h, 033h, 036h, 02ah, 034h, 048h, 034h, 057h, 034h, 066h, 034h, 02ah, 034h, 048h, 034h + db 057h, 034h, 066h, 034h, 075h, 034h, 081h, 034h, 09ah, 034h, 0a4h, 034h, 0aeh, 034h, 0b8h, 034h + db 00ah, 009h, 006h, 004h, 002h, 001h, 000h, 0f7h, 035h, 0a0h, 035h, 0aeh, 035h, 0bfh, 035h, 0cfh + db 035h, 0e4h, 035h, 0f7h, 035h, 0f7h, 035h +int10_func: ; 0xc32a1 LB 0x399 + push bp ; 55 ; 0xc32a1 vgabios.c:2117 + mov bp, sp ; 89 e5 ; 0xc32a2 + push si ; 56 ; 0xc32a4 + push di ; 57 ; 0xc32a5 + push ax ; 50 ; 0xc32a6 + mov si, word [bp+004h] ; 8b 76 04 ; 0xc32a7 + mov al, byte [bp+013h] ; 8a 46 13 ; 0xc32aa vgabios.c:2122 + xor ah, ah ; 30 e4 ; 0xc32ad + cmp ax, strict word 00056h ; 3d 56 00 ; 0xc32af + jnbe short 0331fh ; 77 6b ; 0xc32b2 + push CS ; 0e ; 0xc32b4 + pop ES ; 07 ; 0xc32b5 + mov cx, strict word 00017h ; b9 17 00 ; 0xc32b6 + mov di, 0321ah ; bf 1a 32 ; 0xc32b9 + repne scasb ; f2 ae ; 0xc32bc + sal cx, 1 ; d1 e1 ; 0xc32be + mov di, cx ; 89 cf ; 0xc32c0 + mov dx, word [cs:di+03230h] ; 2e 8b 95 30 32 ; 0xc32c2 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc32c7 + jmp dx ; ff e2 ; 0xc32ca + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc32cc vgabios.c:2125 + xor ah, ah ; 30 e4 ; 0xc32cf + call 01019h ; e8 45 dd ; 0xc32d1 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc32d4 vgabios.c:2126 + and ax, strict word 0007fh ; 25 7f 00 ; 0xc32d7 + cmp ax, strict word 00007h ; 3d 07 00 ; 0xc32da + je short 032f4h ; 74 15 ; 0xc32dd + cmp ax, strict word 00006h ; 3d 06 00 ; 0xc32df + je short 032ebh ; 74 07 ; 0xc32e2 + cmp ax, strict word 00005h ; 3d 05 00 ; 0xc32e4 + jbe short 032f4h ; 76 0b ; 0xc32e7 + jmp short 032fdh ; eb 12 ; 0xc32e9 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc32eb vgabios.c:2128 + xor al, al ; 30 c0 ; 0xc32ee + or AL, strict byte 03fh ; 0c 3f ; 0xc32f0 + jmp short 03304h ; eb 10 ; 0xc32f2 vgabios.c:2129 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc32f4 vgabios.c:2137 + xor al, al ; 30 c0 ; 0xc32f7 + or AL, strict byte 030h ; 0c 30 ; 0xc32f9 + jmp short 03304h ; eb 07 ; 0xc32fb + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc32fd vgabios.c:2140 + xor al, al ; 30 c0 ; 0xc3300 + or AL, strict byte 020h ; 0c 20 ; 0xc3302 + mov word [bp+012h], ax ; 89 46 12 ; 0xc3304 + jmp short 0331fh ; eb 16 ; 0xc3307 vgabios.c:2142 + mov al, byte [bp+010h] ; 8a 46 10 ; 0xc3309 vgabios.c:2144 + mov dx, ax ; 89 c2 ; 0xc330c + mov al, byte [bp+011h] ; 8a 46 11 ; 0xc330e + call 00ddeh ; e8 ca da ; 0xc3311 + jmp short 0331fh ; eb 09 ; 0xc3314 vgabios.c:2145 + mov dx, word [bp+00eh] ; 8b 56 0e ; 0xc3316 vgabios.c:2147 + mov al, byte [bp+00dh] ; 8a 46 0d ; 0xc3319 + call 00e91h ; e8 72 db ; 0xc331c + jmp near 03633h ; e9 11 03 ; 0xc331f vgabios.c:2148 + lea bx, [bp+00eh] ; 8d 5e 0e ; 0xc3322 vgabios.c:2150 + lea dx, [bp+010h] ; 8d 56 10 ; 0xc3325 + mov al, byte [bp+00dh] ; 8a 46 0d ; 0xc3328 + call 00a8ch ; e8 5e d7 ; 0xc332b + jmp short 0331fh ; eb ef ; 0xc332e vgabios.c:2151 + xor al, al ; 30 c0 ; 0xc3330 vgabios.c:2157 + mov word [bp+012h], ax ; 89 46 12 ; 0xc3332 + mov word [bp+00ch], ax ; 89 46 0c ; 0xc3335 vgabios.c:2158 + mov word [bp+010h], ax ; 89 46 10 ; 0xc3338 vgabios.c:2159 + mov word [bp+00eh], ax ; 89 46 0e ; 0xc333b vgabios.c:2160 + jmp short 0331fh ; eb df ; 0xc333e vgabios.c:2161 + call 00f34h ; e8 f1 db ; 0xc3340 vgabios.c:2163 + jmp short 0331fh ; eb da ; 0xc3343 vgabios.c:2164 + mov ax, strict word 00001h ; b8 01 00 ; 0xc3345 vgabios.c:2166 + push ax ; 50 ; 0xc3348 + mov ax, 000ffh ; b8 ff 00 ; 0xc3349 + push ax ; 50 ; 0xc334c + mov al, byte [bp+00eh] ; 8a 46 0e ; 0xc334d + xor ah, ah ; 30 e4 ; 0xc3350 + push ax ; 50 ; 0xc3352 + mov al, byte [bp+00fh] ; 8a 46 0f ; 0xc3353 + push ax ; 50 ; 0xc3356 + mov al, byte [bp+010h] ; 8a 46 10 ; 0xc3357 + mov cx, ax ; 89 c1 ; 0xc335a + mov bl, byte [bp+011h] ; 8a 5e 11 ; 0xc335c + xor bh, bh ; 30 ff ; 0xc335f + mov al, byte [bp+00dh] ; 8a 46 0d ; 0xc3361 + mov dx, ax ; 89 c2 ; 0xc3364 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3366 + call 01678h ; e8 0c e3 ; 0xc3369 + jmp short 0331fh ; eb b1 ; 0xc336c vgabios.c:2167 + xor al, al ; 30 c0 ; 0xc336e vgabios.c:2169 + push ax ; 50 ; 0xc3370 + mov ax, 000ffh ; b8 ff 00 ; 0xc3371 + push ax ; 50 ; 0xc3374 + mov al, byte [bp+00eh] ; 8a 46 0e ; 0xc3375 + xor ah, ah ; 30 e4 ; 0xc3378 + push ax ; 50 ; 0xc337a + mov al, byte [bp+00fh] ; 8a 46 0f ; 0xc337b + push ax ; 50 ; 0xc337e + mov al, byte [bp+010h] ; 8a 46 10 ; 0xc337f + mov cx, ax ; 89 c1 ; 0xc3382 + mov al, byte [bp+011h] ; 8a 46 11 ; 0xc3384 + mov bx, ax ; 89 c3 ; 0xc3387 + jmp short 03361h ; eb d6 ; 0xc3389 + lea dx, [bp+012h] ; 8d 56 12 ; 0xc338b vgabios.c:2172 + mov al, byte [bp+00dh] ; 8a 46 0d ; 0xc338e + call 00ad2h ; e8 3e d7 ; 0xc3391 + jmp short 0331fh ; eb 89 ; 0xc3394 vgabios.c:2173 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc3396 vgabios.c:2175 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3399 + mov bx, ax ; 89 c3 ; 0xc339c + mov al, byte [bp+00dh] ; 8a 46 0d ; 0xc339e + mov dx, ax ; 89 c2 ; 0xc33a1 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc33a3 + call 01ecch ; e8 23 eb ; 0xc33a6 + jmp near 03633h ; e9 87 02 ; 0xc33a9 vgabios.c:2176 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc33ac vgabios.c:2178 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc33af + mov bx, ax ; 89 c3 ; 0xc33b2 + mov al, byte [bp+00dh] ; 8a 46 0d ; 0xc33b4 + mov dx, ax ; 89 c2 ; 0xc33b7 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc33b9 + call 0205eh ; e8 9f ec ; 0xc33bc + jmp near 03633h ; e9 71 02 ; 0xc33bf vgabios.c:2179 + mov cx, word [bp+00eh] ; 8b 4e 0e ; 0xc33c2 vgabios.c:2181 + mov bx, word [bp+010h] ; 8b 5e 10 ; 0xc33c5 + mov dx, ax ; 89 c2 ; 0xc33c8 + mov al, byte [bp+00dh] ; 8a 46 0d ; 0xc33ca + call 021f1h ; e8 21 ee ; 0xc33cd + jmp near 03633h ; e9 60 02 ; 0xc33d0 vgabios.c:2182 + lea cx, [bp+012h] ; 8d 4e 12 ; 0xc33d3 vgabios.c:2184 + mov bx, word [bp+00eh] ; 8b 5e 0e ; 0xc33d6 + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc33d9 + mov al, byte [bp+00dh] ; 8a 46 0d ; 0xc33dc + mov word [bp-006h], ax ; 89 46 fa ; 0xc33df + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc33e2 + call 00bfch ; e8 14 d8 ; 0xc33e5 + jmp near 03633h ; e9 48 02 ; 0xc33e8 vgabios.c:2185 + mov cx, strict word 00002h ; b9 02 00 ; 0xc33eb vgabios.c:2193 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc33ee + mov bx, ax ; 89 c3 ; 0xc33f1 + mov dx, 000ffh ; ba ff 00 ; 0xc33f3 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc33f6 + call 02370h ; e8 74 ef ; 0xc33f9 + jmp near 03633h ; e9 34 02 ; 0xc33fc vgabios.c:2194 + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc33ff vgabios.c:2197 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc3402 + call 00d3fh ; e8 37 d9 ; 0xc3405 + jmp near 03633h ; e9 28 02 ; 0xc3408 vgabios.c:2198 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc340b vgabios.c:2200 + xor ah, ah ; 30 e4 ; 0xc340e + cmp ax, strict word 00030h ; 3d 30 00 ; 0xc3410 + jnbe short 0347eh ; 77 69 ; 0xc3413 + push CS ; 0e ; 0xc3415 + pop ES ; 07 ; 0xc3416 + mov cx, strict word 0000fh ; b9 0f 00 ; 0xc3417 + mov di, 0325eh ; bf 5e 32 ; 0xc341a + repne scasb ; f2 ae ; 0xc341d + sal cx, 1 ; d1 e1 ; 0xc341f + mov di, cx ; 89 cf ; 0xc3421 + mov ax, word [cs:di+0326ch] ; 2e 8b 85 6c 32 ; 0xc3423 + jmp ax ; ff e0 ; 0xc3428 + mov al, byte [bp+00dh] ; 8a 46 0d ; 0xc342a vgabios.c:2204 + xor ah, ah ; 30 e4 ; 0xc342d + push ax ; 50 ; 0xc342f + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3430 + push ax ; 50 ; 0xc3433 + push word [bp+00eh] ; ff 76 0e ; 0xc3434 + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc3437 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc343a + mov bx, word [bp+008h] ; 8b 5e 08 ; 0xc343d + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc3440 + call 02702h ; e8 bc f2 ; 0xc3443 + jmp short 0347eh ; eb 36 ; 0xc3446 vgabios.c:2205 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3448 vgabios.c:2208 + xor ah, ah ; 30 e4 ; 0xc344b + mov dx, ax ; 89 c2 ; 0xc344d + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc344f + call 02787h ; e8 32 f3 ; 0xc3452 + jmp short 0347eh ; eb 27 ; 0xc3455 vgabios.c:2209 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3457 vgabios.c:2212 + xor ah, ah ; 30 e4 ; 0xc345a + mov dx, ax ; 89 c2 ; 0xc345c + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc345e + call 027fdh ; e8 99 f3 ; 0xc3461 + jmp short 0347eh ; eb 18 ; 0xc3464 vgabios.c:2213 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc3466 vgabios.c:2216 + xor ah, ah ; 30 e4 ; 0xc3469 + mov dx, ax ; 89 c2 ; 0xc346b + mov al, byte [bp+012h] ; 8a 46 12 ; 0xc346d + call 02871h ; e8 fe f3 ; 0xc3470 + jmp short 0347eh ; eb 09 ; 0xc3473 vgabios.c:2217 + mov dx, word [bp+008h] ; 8b 56 08 ; 0xc3475 vgabios.c:2219 + mov ax, word [bp+016h] ; 8b 46 16 ; 0xc3478 + call 028e5h ; e8 67 f4 ; 0xc347b + jmp near 03633h ; e9 b2 01 ; 0xc347e vgabios.c:2220 + mov al, byte [bp+00eh] ; 8a 46 0e ; 0xc3481 vgabios.c:2222 + xor ah, ah ; 30 e4 ; 0xc3484 + push ax ; 50 ; 0xc3486 + mov cl, byte [bp+00ch] ; 8a 4e 0c ; 0xc3487 + xor ch, ch ; 30 ed ; 0xc348a + mov bx, word [bp+010h] ; 8b 5e 10 ; 0xc348c + mov dx, word [bp+008h] ; 8b 56 08 ; 0xc348f + mov ax, word [bp+016h] ; 8b 46 16 ; 0xc3492 + call 028eah ; e8 52 f4 ; 0xc3495 + jmp short 0347eh ; eb e4 ; 0xc3498 vgabios.c:2223 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc349a vgabios.c:2225 + xor ah, ah ; 30 e4 ; 0xc349d + call 028f1h ; e8 4f f4 ; 0xc349f + jmp short 0347eh ; eb da ; 0xc34a2 vgabios.c:2226 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc34a4 vgabios.c:2228 + xor ah, ah ; 30 e4 ; 0xc34a7 + call 028f6h ; e8 4a f4 ; 0xc34a9 + jmp short 0347eh ; eb d0 ; 0xc34ac vgabios.c:2229 + mov al, byte [bp+00ch] ; 8a 46 0c ; 0xc34ae vgabios.c:2231 + xor ah, ah ; 30 e4 ; 0xc34b1 + call 028fbh ; e8 45 f4 ; 0xc34b3 + jmp short 0347eh ; eb c6 ; 0xc34b6 vgabios.c:2232 + lea ax, [bp+00eh] ; 8d 46 0e ; 0xc34b8 vgabios.c:2234 + push ax ; 50 ; 0xc34bb + lea cx, [bp+010h] ; 8d 4e 10 ; 0xc34bc + lea bx, [bp+008h] ; 8d 5e 08 ; 0xc34bf + lea dx, [bp+016h] ; 8d 56 16 ; 0xc34c2 + mov al, byte [bp+00dh] ; 8a 46 0d ; 0xc34c5 + xor ah, ah ; 30 e4 ; 0xc34c8 + call 00b81h ; e8 b4 d6 ; 0xc34ca + jmp short 0347eh ; eb af ; 0xc34cd vgabios.c:2242 + mov si, word [bp+00ch] ; 8b 76 0c ; 0xc34cf vgabios.c:2244 + and si, 000ffh ; 81 e6 ff 00 ; 0xc34d2 + cmp si, strict byte 00036h ; 83 fe 36 ; 0xc34d6 + je short 034fdh ; 74 22 ; 0xc34d9 + cmp si, strict byte 00035h ; 83 fe 35 ; 0xc34db + je short 034eah ; 74 0a ; 0xc34de + cmp si, strict byte 00020h ; 83 fe 20 ; 0xc34e0 + jne short 03520h ; 75 3b ; 0xc34e3 + call 02900h ; e8 18 f4 ; 0xc34e5 vgabios.c:2247 + jmp short 03520h ; eb 36 ; 0xc34e8 vgabios.c:2248 + mov bx, word [bp+00eh] ; 8b 5e 0e ; 0xc34ea vgabios.c:2250 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc34ed + call 02905h ; e8 12 f4 ; 0xc34f0 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc34f3 vgabios.c:2251 + xor al, al ; 30 c0 ; 0xc34f6 + or AL, strict byte 012h ; 0c 12 ; 0xc34f8 + jmp near 03304h ; e9 07 fe ; 0xc34fa + call 0290ah ; e8 0a f4 ; 0xc34fd vgabios.c:2254 + jmp short 034f3h ; eb f1 ; 0xc3500 + push word [bp+008h] ; ff 76 08 ; 0xc3502 vgabios.c:2264 + push word [bp+016h] ; ff 76 16 ; 0xc3505 + mov dl, byte [bp+00eh] ; 8a 56 0e ; 0xc3508 + xor dh, dh ; 30 f6 ; 0xc350b + push dx ; 52 ; 0xc350d + mov dl, byte [bp+00fh] ; 8a 56 0f ; 0xc350e + push dx ; 52 ; 0xc3511 + mov dl, byte [bp+00ch] ; 8a 56 0c ; 0xc3512 + mov bx, dx ; 89 d3 ; 0xc3515 + mov dl, byte [bp+00dh] ; 8a 56 0d ; 0xc3517 + mov cx, word [bp+010h] ; 8b 4e 10 ; 0xc351a + call 0290fh ; e8 ef f3 ; 0xc351d + jmp near 03633h ; e9 10 01 ; 0xc3520 vgabios.c:2265 + mov bx, si ; 89 f3 ; 0xc3523 vgabios.c:2267 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc3525 + mov ax, word [bp+00ch] ; 8b 46 0c ; 0xc3528 + call 029a5h ; e8 77 f4 ; 0xc352b + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc352e vgabios.c:2268 + xor al, al ; 30 c0 ; 0xc3531 + or AL, strict byte 01bh ; 0c 1b ; 0xc3533 + jmp near 03304h ; e9 cc fd ; 0xc3535 + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3538 vgabios.c:2271 + xor ah, ah ; 30 e4 ; 0xc353b + cmp ax, strict word 00002h ; 3d 02 00 ; 0xc353d + je short 03564h ; 74 22 ; 0xc3540 + cmp ax, strict word 00001h ; 3d 01 00 ; 0xc3542 + je short 03556h ; 74 0f ; 0xc3545 + test ax, ax ; 85 c0 ; 0xc3547 + jne short 03570h ; 75 25 ; 0xc3549 + lea dx, [bp+00ch] ; 8d 56 0c ; 0xc354b vgabios.c:2274 + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc354e + call 02acah ; e8 76 f5 ; 0xc3551 + jmp short 03570h ; eb 1a ; 0xc3554 vgabios.c:2275 + mov bx, word [bp+00ch] ; 8b 5e 0c ; 0xc3556 vgabios.c:2277 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc3559 + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc355c + call 02adch ; e8 7a f5 ; 0xc355f + jmp short 03570h ; eb 0c ; 0xc3562 vgabios.c:2278 + mov bx, word [bp+00ch] ; 8b 5e 0c ; 0xc3564 vgabios.c:2280 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc3567 + mov ax, word [bp+010h] ; 8b 46 10 ; 0xc356a + call 02e5dh ; e8 ed f8 ; 0xc356d + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3570 vgabios.c:2287 + xor al, al ; 30 c0 ; 0xc3573 + or AL, strict byte 01ch ; 0c 1c ; 0xc3575 + jmp near 03304h ; e9 8a fd ; 0xc3577 + call 007e8h ; e8 6b d2 ; 0xc357a vgabios.c:2292 + test ax, ax ; 85 c0 ; 0xc357d + je short 035f5h ; 74 74 ; 0xc357f + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc3581 vgabios.c:2293 + xor ah, ah ; 30 e4 ; 0xc3584 + cmp ax, strict word 0000ah ; 3d 0a 00 ; 0xc3586 + jnbe short 035f7h ; 77 6c ; 0xc3589 + push CS ; 0e ; 0xc358b + pop ES ; 07 ; 0xc358c + mov cx, strict word 00008h ; b9 08 00 ; 0xc358d + mov di, 0328ah ; bf 8a 32 ; 0xc3590 + repne scasb ; f2 ae ; 0xc3593 + sal cx, 1 ; d1 e1 ; 0xc3595 + mov di, cx ; 89 cf ; 0xc3597 + mov ax, word [cs:di+03291h] ; 2e 8b 85 91 32 ; 0xc3599 + jmp ax ; ff e0 ; 0xc359e + mov bx, si ; 89 f3 ; 0xc35a0 vgabios.c:2296 + mov dx, word [bp+016h] ; 8b 56 16 ; 0xc35a2 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc35a5 + call 037efh ; e8 44 02 ; 0xc35a8 + jmp near 03633h ; e9 85 00 ; 0xc35ab vgabios.c:2297 + mov cx, si ; 89 f1 ; 0xc35ae vgabios.c:2299 + mov bx, word [bp+016h] ; 8b 5e 16 ; 0xc35b0 + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc35b3 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc35b6 + call 0391eh ; e8 62 03 ; 0xc35b9 + jmp near 03633h ; e9 74 00 ; 0xc35bc vgabios.c:2300 + mov cx, si ; 89 f1 ; 0xc35bf vgabios.c:2302 + mov bx, word [bp+016h] ; 8b 5e 16 ; 0xc35c1 + mov dx, word [bp+00ch] ; 8b 56 0c ; 0xc35c4 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc35c7 + call 039dbh ; e8 0e 04 ; 0xc35ca + jmp short 03633h ; eb 64 ; 0xc35cd vgabios.c:2303 + lea ax, [bp+00ch] ; 8d 46 0c ; 0xc35cf vgabios.c:2305 + push ax ; 50 ; 0xc35d2 + mov cx, word [bp+016h] ; 8b 4e 16 ; 0xc35d3 + mov bx, word [bp+00eh] ; 8b 5e 0e ; 0xc35d6 + mov dx, word [bp+010h] ; 8b 56 10 ; 0xc35d9 + lea ax, [bp+012h] ; 8d 46 12 ; 0xc35dc + call 03bc4h ; e8 e2 05 ; 0xc35df + jmp short 03633h ; eb 4f ; 0xc35e2 vgabios.c:2306 + lea cx, [bp+00eh] ; 8d 4e 0e ; 0xc35e4 vgabios.c:2308 + lea bx, [bp+010h] ; 8d 5e 10 ; 0xc35e7 + lea dx, [bp+00ch] ; 8d 56 0c ; 0xc35ea + lea ax, [bp+012h] ; 8d 46 12 ; 0xc35ed + call 03c51h ; e8 5e 06 ; 0xc35f0 + jmp short 03633h ; eb 3e ; 0xc35f3 vgabios.c:2309 + jmp short 035feh ; eb 07 ; 0xc35f5 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc35f7 vgabios.c:2331 + jmp short 03633h ; eb 35 ; 0xc35fc vgabios.c:2334 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc35fe vgabios.c:2336 + jmp short 03633h ; eb 2e ; 0xc3603 vgabios.c:2338 + call 007e8h ; e8 e0 d1 ; 0xc3605 vgabios.c:2340 + test ax, ax ; 85 c0 ; 0xc3608 + je short 0362eh ; 74 22 ; 0xc360a + mov ax, word [bp+012h] ; 8b 46 12 ; 0xc360c vgabios.c:2341 + xor ah, ah ; 30 e4 ; 0xc360f + cmp ax, strict word 00042h ; 3d 42 00 ; 0xc3611 + jne short 03627h ; 75 11 ; 0xc3614 + lea cx, [bp+00eh] ; 8d 4e 0e ; 0xc3616 vgabios.c:2344 + lea bx, [bp+010h] ; 8d 5e 10 ; 0xc3619 + lea dx, [bp+00ch] ; 8d 56 0c ; 0xc361c + lea ax, [bp+012h] ; 8d 46 12 ; 0xc361f + call 03d33h ; e8 0e 07 ; 0xc3622 + jmp short 03633h ; eb 0c ; 0xc3625 vgabios.c:2345 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc3627 vgabios.c:2347 + jmp short 03633h ; eb 05 ; 0xc362c vgabios.c:2350 + mov word [bp+012h], 00100h ; c7 46 12 00 01 ; 0xc362e vgabios.c:2352 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3633 vgabios.c:2362 + pop di ; 5f ; 0xc3636 + pop si ; 5e ; 0xc3637 + pop bp ; 5d ; 0xc3638 + retn ; c3 ; 0xc3639 + ; disGetNextSymbol 0xc363a LB 0x7f0 -> off=0x0 cb=000000000000001f uValue=00000000000c363a 'dispi_set_xres' +dispi_set_xres: ; 0xc363a LB 0x1f + push bp ; 55 ; 0xc363a vbe.c:100 + mov bp, sp ; 89 e5 ; 0xc363b + push bx ; 53 ; 0xc363d + push dx ; 52 ; 0xc363e + mov bx, ax ; 89 c3 ; 0xc363f + mov ax, strict word 00001h ; b8 01 00 ; 0xc3641 vbe.c:105 + mov dx, 001ceh ; ba ce 01 ; 0xc3644 + call 00590h ; e8 46 cf ; 0xc3647 + mov ax, bx ; 89 d8 ; 0xc364a vbe.c:106 + mov dx, 001cfh ; ba cf 01 ; 0xc364c + call 00590h ; e8 3e cf ; 0xc364f + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3652 vbe.c:107 + pop dx ; 5a ; 0xc3655 + pop bx ; 5b ; 0xc3656 + pop bp ; 5d ; 0xc3657 + retn ; c3 ; 0xc3658 + ; disGetNextSymbol 0xc3659 LB 0x7d1 -> off=0x0 cb=000000000000001f uValue=00000000000c3659 'dispi_set_yres' +dispi_set_yres: ; 0xc3659 LB 0x1f + push bp ; 55 ; 0xc3659 vbe.c:109 + mov bp, sp ; 89 e5 ; 0xc365a + push bx ; 53 ; 0xc365c + push dx ; 52 ; 0xc365d + mov bx, ax ; 89 c3 ; 0xc365e + mov ax, strict word 00002h ; b8 02 00 ; 0xc3660 vbe.c:114 + mov dx, 001ceh ; ba ce 01 ; 0xc3663 + call 00590h ; e8 27 cf ; 0xc3666 + mov ax, bx ; 89 d8 ; 0xc3669 vbe.c:115 + mov dx, 001cfh ; ba cf 01 ; 0xc366b + call 00590h ; e8 1f cf ; 0xc366e + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3671 vbe.c:116 + pop dx ; 5a ; 0xc3674 + pop bx ; 5b ; 0xc3675 + pop bp ; 5d ; 0xc3676 + retn ; c3 ; 0xc3677 + ; disGetNextSymbol 0xc3678 LB 0x7b2 -> off=0x0 cb=0000000000000019 uValue=00000000000c3678 'dispi_get_yres' +dispi_get_yres: ; 0xc3678 LB 0x19 + push bp ; 55 ; 0xc3678 vbe.c:118 + mov bp, sp ; 89 e5 ; 0xc3679 + push dx ; 52 ; 0xc367b + mov ax, strict word 00002h ; b8 02 00 ; 0xc367c vbe.c:120 + mov dx, 001ceh ; ba ce 01 ; 0xc367f + call 00590h ; e8 0b cf ; 0xc3682 + mov dx, 001cfh ; ba cf 01 ; 0xc3685 vbe.c:121 + call 00597h ; e8 0c cf ; 0xc3688 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc368b vbe.c:122 + pop dx ; 5a ; 0xc368e + pop bp ; 5d ; 0xc368f + retn ; c3 ; 0xc3690 + ; disGetNextSymbol 0xc3691 LB 0x799 -> off=0x0 cb=000000000000001f uValue=00000000000c3691 'dispi_set_bpp' +dispi_set_bpp: ; 0xc3691 LB 0x1f + push bp ; 55 ; 0xc3691 vbe.c:124 + mov bp, sp ; 89 e5 ; 0xc3692 + push bx ; 53 ; 0xc3694 + push dx ; 52 ; 0xc3695 + mov bx, ax ; 89 c3 ; 0xc3696 + mov ax, strict word 00003h ; b8 03 00 ; 0xc3698 vbe.c:129 + mov dx, 001ceh ; ba ce 01 ; 0xc369b + call 00590h ; e8 ef ce ; 0xc369e + mov ax, bx ; 89 d8 ; 0xc36a1 vbe.c:130 + mov dx, 001cfh ; ba cf 01 ; 0xc36a3 + call 00590h ; e8 e7 ce ; 0xc36a6 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc36a9 vbe.c:131 + pop dx ; 5a ; 0xc36ac + pop bx ; 5b ; 0xc36ad + pop bp ; 5d ; 0xc36ae + retn ; c3 ; 0xc36af + ; disGetNextSymbol 0xc36b0 LB 0x77a -> off=0x0 cb=0000000000000019 uValue=00000000000c36b0 'dispi_get_bpp' +dispi_get_bpp: ; 0xc36b0 LB 0x19 + push bp ; 55 ; 0xc36b0 vbe.c:133 + mov bp, sp ; 89 e5 ; 0xc36b1 + push dx ; 52 ; 0xc36b3 + mov ax, strict word 00003h ; b8 03 00 ; 0xc36b4 vbe.c:135 + mov dx, 001ceh ; ba ce 01 ; 0xc36b7 + call 00590h ; e8 d3 ce ; 0xc36ba + mov dx, 001cfh ; ba cf 01 ; 0xc36bd vbe.c:136 + call 00597h ; e8 d4 ce ; 0xc36c0 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc36c3 vbe.c:137 + pop dx ; 5a ; 0xc36c6 + pop bp ; 5d ; 0xc36c7 + retn ; c3 ; 0xc36c8 + ; disGetNextSymbol 0xc36c9 LB 0x761 -> off=0x0 cb=000000000000001f uValue=00000000000c36c9 'dispi_set_virt_width' +dispi_set_virt_width: ; 0xc36c9 LB 0x1f + push bp ; 55 ; 0xc36c9 vbe.c:139 + mov bp, sp ; 89 e5 ; 0xc36ca + push bx ; 53 ; 0xc36cc + push dx ; 52 ; 0xc36cd + mov bx, ax ; 89 c3 ; 0xc36ce + mov ax, strict word 00006h ; b8 06 00 ; 0xc36d0 vbe.c:144 + mov dx, 001ceh ; ba ce 01 ; 0xc36d3 + call 00590h ; e8 b7 ce ; 0xc36d6 + mov ax, bx ; 89 d8 ; 0xc36d9 vbe.c:145 + mov dx, 001cfh ; ba cf 01 ; 0xc36db + call 00590h ; e8 af ce ; 0xc36de + lea sp, [bp-004h] ; 8d 66 fc ; 0xc36e1 vbe.c:146 + pop dx ; 5a ; 0xc36e4 + pop bx ; 5b ; 0xc36e5 + pop bp ; 5d ; 0xc36e6 + retn ; c3 ; 0xc36e7 + ; disGetNextSymbol 0xc36e8 LB 0x742 -> off=0x0 cb=0000000000000019 uValue=00000000000c36e8 'dispi_get_virt_width' +dispi_get_virt_width: ; 0xc36e8 LB 0x19 + push bp ; 55 ; 0xc36e8 vbe.c:148 + mov bp, sp ; 89 e5 ; 0xc36e9 + push dx ; 52 ; 0xc36eb + mov ax, strict word 00006h ; b8 06 00 ; 0xc36ec vbe.c:150 + mov dx, 001ceh ; ba ce 01 ; 0xc36ef + call 00590h ; e8 9b ce ; 0xc36f2 + mov dx, 001cfh ; ba cf 01 ; 0xc36f5 vbe.c:151 + call 00597h ; e8 9c ce ; 0xc36f8 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc36fb vbe.c:152 + pop dx ; 5a ; 0xc36fe + pop bp ; 5d ; 0xc36ff + retn ; c3 ; 0xc3700 + ; disGetNextSymbol 0xc3701 LB 0x729 -> off=0x0 cb=0000000000000019 uValue=00000000000c3701 'dispi_get_virt_height' +dispi_get_virt_height: ; 0xc3701 LB 0x19 + push bp ; 55 ; 0xc3701 vbe.c:154 + mov bp, sp ; 89 e5 ; 0xc3702 + push dx ; 52 ; 0xc3704 + mov ax, strict word 00007h ; b8 07 00 ; 0xc3705 vbe.c:156 + mov dx, 001ceh ; ba ce 01 ; 0xc3708 + call 00590h ; e8 82 ce ; 0xc370b + mov dx, 001cfh ; ba cf 01 ; 0xc370e vbe.c:157 + call 00597h ; e8 83 ce ; 0xc3711 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc3714 vbe.c:158 + pop dx ; 5a ; 0xc3717 + pop bp ; 5d ; 0xc3718 + retn ; c3 ; 0xc3719 + ; disGetNextSymbol 0xc371a LB 0x710 -> off=0x0 cb=0000000000000012 uValue=00000000000c371a 'in_word' +in_word: ; 0xc371a LB 0x12 + push bp ; 55 ; 0xc371a vbe.c:160 + mov bp, sp ; 89 e5 ; 0xc371b + push bx ; 53 ; 0xc371d + mov bx, ax ; 89 c3 ; 0xc371e + mov ax, dx ; 89 d0 ; 0xc3720 + mov dx, bx ; 89 da ; 0xc3722 vbe.c:162 + out DX, ax ; ef ; 0xc3724 + in ax, DX ; ed ; 0xc3725 vbe.c:163 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc3726 vbe.c:164 + pop bx ; 5b ; 0xc3729 + pop bp ; 5d ; 0xc372a + retn ; c3 ; 0xc372b + ; disGetNextSymbol 0xc372c LB 0x6fe -> off=0x0 cb=0000000000000014 uValue=00000000000c372c 'in_byte' +in_byte: ; 0xc372c LB 0x14 + push bp ; 55 ; 0xc372c vbe.c:166 + mov bp, sp ; 89 e5 ; 0xc372d + push bx ; 53 ; 0xc372f + mov bx, ax ; 89 c3 ; 0xc3730 + mov ax, dx ; 89 d0 ; 0xc3732 + mov dx, bx ; 89 da ; 0xc3734 vbe.c:168 + out DX, ax ; ef ; 0xc3736 + in AL, DX ; ec ; 0xc3737 vbe.c:169 + db 02ah, 0e4h + ; sub ah, ah ; 2a e4 ; 0xc3738 + lea sp, [bp-002h] ; 8d 66 fe ; 0xc373a vbe.c:170 + pop bx ; 5b ; 0xc373d + pop bp ; 5d ; 0xc373e + retn ; c3 ; 0xc373f + ; disGetNextSymbol 0xc3740 LB 0x6ea -> off=0x0 cb=0000000000000014 uValue=00000000000c3740 'dispi_get_id' +dispi_get_id: ; 0xc3740 LB 0x14 + push bp ; 55 ; 0xc3740 vbe.c:173 + mov bp, sp ; 89 e5 ; 0xc3741 + push dx ; 52 ; 0xc3743 + xor ax, ax ; 31 c0 ; 0xc3744 vbe.c:175 + mov dx, 001ceh ; ba ce 01 ; 0xc3746 + out DX, ax ; ef ; 0xc3749 + mov dx, 001cfh ; ba cf 01 ; 0xc374a vbe.c:176 + in ax, DX ; ed ; 0xc374d + lea sp, [bp-002h] ; 8d 66 fe ; 0xc374e vbe.c:177 + pop dx ; 5a ; 0xc3751 + pop bp ; 5d ; 0xc3752 + retn ; c3 ; 0xc3753 + ; disGetNextSymbol 0xc3754 LB 0x6d6 -> off=0x0 cb=000000000000001a uValue=00000000000c3754 'dispi_set_id' +dispi_set_id: ; 0xc3754 LB 0x1a + push bp ; 55 ; 0xc3754 vbe.c:179 + mov bp, sp ; 89 e5 ; 0xc3755 + push bx ; 53 ; 0xc3757 + push dx ; 52 ; 0xc3758 + mov bx, ax ; 89 c3 ; 0xc3759 + xor ax, ax ; 31 c0 ; 0xc375b vbe.c:181 + mov dx, 001ceh ; ba ce 01 ; 0xc375d + out DX, ax ; ef ; 0xc3760 + mov ax, bx ; 89 d8 ; 0xc3761 vbe.c:182 + mov dx, 001cfh ; ba cf 01 ; 0xc3763 + out DX, ax ; ef ; 0xc3766 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3767 vbe.c:183 + pop dx ; 5a ; 0xc376a + pop bx ; 5b ; 0xc376b + pop bp ; 5d ; 0xc376c + retn ; c3 ; 0xc376d + ; disGetNextSymbol 0xc376e LB 0x6bc -> off=0x0 cb=000000000000002c uValue=00000000000c376e 'vbe_init' +vbe_init: ; 0xc376e LB 0x2c + push bp ; 55 ; 0xc376e vbe.c:188 + mov bp, sp ; 89 e5 ; 0xc376f + push bx ; 53 ; 0xc3771 + push dx ; 52 ; 0xc3772 + mov ax, 0b0c0h ; b8 c0 b0 ; 0xc3773 vbe.c:190 + call 03754h ; e8 db ff ; 0xc3776 + call 03740h ; e8 c4 ff ; 0xc3779 vbe.c:191 + cmp ax, 0b0c0h ; 3d c0 b0 ; 0xc377c + jne short 03793h ; 75 12 ; 0xc377f + mov bx, strict word 00001h ; bb 01 00 ; 0xc3781 vbe.c:193 + mov dx, 000b9h ; ba b9 00 ; 0xc3784 + mov ax, strict word 00040h ; b8 40 00 ; 0xc3787 + call 031cch ; e8 3f fa ; 0xc378a + mov ax, 0b0c4h ; b8 c4 b0 ; 0xc378d vbe.c:194 + call 03754h ; e8 c1 ff ; 0xc3790 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3793 vbe.c:199 + pop dx ; 5a ; 0xc3796 + pop bx ; 5b ; 0xc3797 + pop bp ; 5d ; 0xc3798 + retn ; c3 ; 0xc3799 + ; disGetNextSymbol 0xc379a LB 0x690 -> off=0x0 cb=0000000000000055 uValue=00000000000c379a 'mode_info_find_mode' +mode_info_find_mode: ; 0xc379a LB 0x55 + push bp ; 55 ; 0xc379a vbe.c:202 + mov bp, sp ; 89 e5 ; 0xc379b + push bx ; 53 ; 0xc379d + push cx ; 51 ; 0xc379e + push si ; 56 ; 0xc379f + push di ; 57 ; 0xc37a0 + mov di, ax ; 89 c7 ; 0xc37a1 + mov si, dx ; 89 d6 ; 0xc37a3 + xor dx, dx ; 31 d2 ; 0xc37a5 vbe.c:208 + mov ax, 003b6h ; b8 b6 03 ; 0xc37a7 + call 0371ah ; e8 6d ff ; 0xc37aa + cmp ax, 077cch ; 3d cc 77 ; 0xc37ad vbe.c:209 + jne short 037e4h ; 75 32 ; 0xc37b0 + mov bx, strict word 00004h ; bb 04 00 ; 0xc37b2 vbe.c:213 + mov dx, bx ; 89 da ; 0xc37b5 vbe.c:218 + mov ax, 003b6h ; b8 b6 03 ; 0xc37b7 + call 0371ah ; e8 5d ff ; 0xc37ba + mov cx, ax ; 89 c1 ; 0xc37bd + cmp cx, strict byte 0ffffh ; 83 f9 ff ; 0xc37bf vbe.c:219 + je short 037e4h ; 74 20 ; 0xc37c2 + lea dx, [bx+002h] ; 8d 57 02 ; 0xc37c4 vbe.c:221 + mov ax, 003b6h ; b8 b6 03 ; 0xc37c7 + call 0371ah ; e8 4d ff ; 0xc37ca + lea dx, [bx+044h] ; 8d 57 44 ; 0xc37cd + cmp cx, di ; 39 f9 ; 0xc37d0 vbe.c:223 + jne short 037e0h ; 75 0c ; 0xc37d2 + test si, si ; 85 f6 ; 0xc37d4 vbe.c:225 + jne short 037dch ; 75 04 ; 0xc37d6 + mov ax, bx ; 89 d8 ; 0xc37d8 vbe.c:226 + jmp short 037e6h ; eb 0a ; 0xc37da + test AL, strict byte 080h ; a8 80 ; 0xc37dc vbe.c:227 + jne short 037d8h ; 75 f8 ; 0xc37de + mov bx, dx ; 89 d3 ; 0xc37e0 vbe.c:230 + jmp short 037b7h ; eb d3 ; 0xc37e2 vbe.c:235 + xor ax, ax ; 31 c0 ; 0xc37e4 vbe.c:238 + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc37e6 vbe.c:239 + pop di ; 5f ; 0xc37e9 + pop si ; 5e ; 0xc37ea + pop cx ; 59 ; 0xc37eb + pop bx ; 5b ; 0xc37ec + pop bp ; 5d ; 0xc37ed + retn ; c3 ; 0xc37ee + ; disGetNextSymbol 0xc37ef LB 0x63b -> off=0x0 cb=000000000000012f uValue=00000000000c37ef 'vbe_biosfn_return_controller_information' +vbe_biosfn_return_controller_information: ; 0xc37ef LB 0x12f + push bp ; 55 ; 0xc37ef vbe.c:270 + mov bp, sp ; 89 e5 ; 0xc37f0 + push cx ; 51 ; 0xc37f2 + push si ; 56 ; 0xc37f3 + push di ; 57 ; 0xc37f4 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc37f5 + mov si, ax ; 89 c6 ; 0xc37f8 + mov di, dx ; 89 d7 ; 0xc37fa + mov word [bp-00ah], bx ; 89 5e f6 ; 0xc37fc + mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 ; 0xc37ff vbe.c:275 + call 005dah ; e8 d3 cd ; 0xc3804 vbe.c:278 + mov word [bp-010h], ax ; 89 46 f0 ; 0xc3807 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc380a vbe.c:281 + mov word [bp-008h], di ; 89 7e f8 ; 0xc380d + xor dx, dx ; 31 d2 ; 0xc3810 vbe.c:284 + mov ax, 003b6h ; b8 b6 03 ; 0xc3812 + call 0371ah ; e8 02 ff ; 0xc3815 + cmp ax, 077cch ; 3d cc 77 ; 0xc3818 vbe.c:285 + je short 03827h ; 74 0a ; 0xc381b + push SS ; 16 ; 0xc381d vbe.c:287 + pop ES ; 07 ; 0xc381e + mov word [es:si], 00100h ; 26 c7 04 00 01 ; 0xc381f + jmp near 03916h ; e9 ef 00 ; 0xc3824 vbe.c:291 + mov cx, strict word 00004h ; b9 04 00 ; 0xc3827 vbe.c:293 + mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 ; 0xc382a vbe.c:300 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc382f vbe.c:308 + cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 ; 0xc3832 + jne short 03841h ; 75 07 ; 0xc3838 + cmp word [es:bx], 04256h ; 26 81 3f 56 42 ; 0xc383a + je short 03850h ; 74 0f ; 0xc383f + cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 ; 0xc3841 + jne short 03855h ; 75 0c ; 0xc3847 + cmp word [es:bx], 04556h ; 26 81 3f 56 45 ; 0xc3849 + jne short 03855h ; 75 05 ; 0xc384e + mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 ; 0xc3850 vbe.c:310 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc3855 vbe.c:318 + mov word [es:bx], 04556h ; 26 c7 07 56 45 ; 0xc3858 + mov word [es:bx+002h], 04153h ; 26 c7 47 02 53 41 ; 0xc385d vbe.c:320 + mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 ; 0xc3863 vbe.c:324 + mov word [es:bx+006h], 07c66h ; 26 c7 47 06 66 7c ; 0xc3869 vbe.c:327 + mov [es:bx+008h], ds ; 26 8c 5f 08 ; 0xc386f + mov word [es:bx+00ah], strict word 00001h ; 26 c7 47 0a 01 00 ; 0xc3873 vbe.c:330 + mov word [es:bx+00ch], strict word 00000h ; 26 c7 47 0c 00 00 ; 0xc3879 vbe.c:332 + mov word [es:bx+010h], di ; 26 89 7f 10 ; 0xc387f vbe.c:336 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc3883 vbe.c:337 + add ax, strict word 00022h ; 05 22 00 ; 0xc3886 + mov word [es:bx+00eh], ax ; 26 89 47 0e ; 0xc3889 + mov dx, strict word 0ffffh ; ba ff ff ; 0xc388d vbe.c:340 + mov ax, 003b6h ; b8 b6 03 ; 0xc3890 + call 0371ah ; e8 84 fe ; 0xc3893 + mov es, [bp-008h] ; 8e 46 f8 ; 0xc3896 + mov word [es:bx+012h], ax ; 26 89 47 12 ; 0xc3899 + cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 ; 0xc389d vbe.c:342 + je short 038c7h ; 74 24 ; 0xc38a1 + mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 ; 0xc38a3 vbe.c:345 + mov word [es:bx+016h], 07c7bh ; 26 c7 47 16 7b 7c ; 0xc38a9 vbe.c:346 + mov [es:bx+018h], ds ; 26 8c 5f 18 ; 0xc38af + mov word [es:bx+01ah], 07c8eh ; 26 c7 47 1a 8e 7c ; 0xc38b3 vbe.c:347 + mov [es:bx+01ch], ds ; 26 8c 5f 1c ; 0xc38b9 + mov word [es:bx+01eh], 07cafh ; 26 c7 47 1e af 7c ; 0xc38bd vbe.c:348 + mov [es:bx+020h], ds ; 26 8c 5f 20 ; 0xc38c3 + mov dx, cx ; 89 ca ; 0xc38c7 vbe.c:355 + add dx, strict byte 0001bh ; 83 c2 1b ; 0xc38c9 + mov ax, 003b6h ; b8 b6 03 ; 0xc38cc + call 0372ch ; e8 5a fe ; 0xc38cf + xor ah, ah ; 30 e4 ; 0xc38d2 vbe.c:356 + cmp ax, word [bp-010h] ; 3b 46 f0 ; 0xc38d4 + jnbe short 038f2h ; 77 19 ; 0xc38d7 + mov dx, cx ; 89 ca ; 0xc38d9 vbe.c:358 + mov ax, 003b6h ; b8 b6 03 ; 0xc38db + call 0371ah ; e8 39 fe ; 0xc38de + mov bx, ax ; 89 c3 ; 0xc38e1 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc38e3 vbe.c:362 + add dx, word [bp-00ch] ; 03 56 f4 ; 0xc38e6 + mov ax, di ; 89 f8 ; 0xc38e9 + call 031e8h ; e8 fa f8 ; 0xc38eb + add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 ; 0xc38ee vbe.c:364 + add cx, strict byte 00044h ; 83 c1 44 ; 0xc38f2 vbe.c:366 + mov dx, cx ; 89 ca ; 0xc38f5 vbe.c:367 + mov ax, 003b6h ; b8 b6 03 ; 0xc38f7 + call 0371ah ; e8 1d fe ; 0xc38fa + mov bx, ax ; 89 c3 ; 0xc38fd + cmp ax, strict word 0ffffh ; 3d ff ff ; 0xc38ff vbe.c:368 + jne short 038c7h ; 75 c3 ; 0xc3902 + mov dx, word [bp-00ah] ; 8b 56 f6 ; 0xc3904 vbe.c:371 + add dx, word [bp-00ch] ; 03 56 f4 ; 0xc3907 + mov ax, di ; 89 f8 ; 0xc390a + call 031e8h ; e8 d9 f8 ; 0xc390c + push SS ; 16 ; 0xc390f vbe.c:372 + pop ES ; 07 ; 0xc3910 + mov word [es:si], strict word 0004fh ; 26 c7 04 4f 00 ; 0xc3911 + lea sp, [bp-006h] ; 8d 66 fa ; 0xc3916 vbe.c:373 + pop di ; 5f ; 0xc3919 + pop si ; 5e ; 0xc391a + pop cx ; 59 ; 0xc391b + pop bp ; 5d ; 0xc391c + retn ; c3 ; 0xc391d + ; disGetNextSymbol 0xc391e LB 0x50c -> off=0x0 cb=00000000000000bd uValue=00000000000c391e 'vbe_biosfn_return_mode_information' +vbe_biosfn_return_mode_information: ; 0xc391e LB 0xbd + push bp ; 55 ; 0xc391e vbe.c:385 + mov bp, sp ; 89 e5 ; 0xc391f + push si ; 56 ; 0xc3921 + push di ; 57 ; 0xc3922 + push ax ; 50 ; 0xc3923 + push ax ; 50 ; 0xc3924 + push ax ; 50 ; 0xc3925 + mov ax, dx ; 89 d0 ; 0xc3926 + mov si, bx ; 89 de ; 0xc3928 + mov word [bp-006h], cx ; 89 4e fa ; 0xc392a + test dh, 040h ; f6 c6 40 ; 0xc392d vbe.c:396 + je short 03937h ; 74 05 ; 0xc3930 + mov dx, strict word 00001h ; ba 01 00 ; 0xc3932 + jmp short 03939h ; eb 02 ; 0xc3935 + xor dx, dx ; 31 d2 ; 0xc3937 + and ah, 001h ; 80 e4 01 ; 0xc3939 vbe.c:397 + call 0379ah ; e8 5b fe ; 0xc393c vbe.c:399 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc393f + test ax, ax ; 85 c0 ; 0xc3942 vbe.c:401 + je short 0397ch ; 74 36 ; 0xc3944 + mov cx, 00100h ; b9 00 01 ; 0xc3946 vbe.c:406 + xor ax, ax ; 31 c0 ; 0xc3949 + mov di, word [bp-006h] ; 8b 7e fa ; 0xc394b + mov es, si ; 8e c6 ; 0xc394e + cld ; fc ; 0xc3950 + jcxz 03955h ; e3 02 ; 0xc3951 + rep stosb ; f3 aa ; 0xc3953 + xor cx, cx ; 31 c9 ; 0xc3955 vbe.c:407 + jmp short 0395eh ; eb 05 ; 0xc3957 + cmp cx, strict byte 00042h ; 83 f9 42 ; 0xc3959 + jnc short 0397eh ; 73 20 ; 0xc395c + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc395e vbe.c:410 + inc dx ; 42 ; 0xc3961 + inc dx ; 42 ; 0xc3962 + add dx, cx ; 01 ca ; 0xc3963 + mov ax, 003b6h ; b8 b6 03 ; 0xc3965 + call 0372ch ; e8 c1 fd ; 0xc3968 + mov bl, al ; 88 c3 ; 0xc396b vbe.c:411 + xor bh, bh ; 30 ff ; 0xc396d + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc396f + add dx, cx ; 01 ca ; 0xc3972 + mov ax, si ; 89 f0 ; 0xc3974 + call 031cch ; e8 53 f8 ; 0xc3976 + inc cx ; 41 ; 0xc3979 vbe.c:412 + jmp short 03959h ; eb dd ; 0xc397a + jmp short 039c9h ; eb 4b ; 0xc397c + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc397e vbe.c:413 + inc dx ; 42 ; 0xc3981 + inc dx ; 42 ; 0xc3982 + mov ax, si ; 89 f0 ; 0xc3983 + call 031beh ; e8 36 f8 ; 0xc3985 + test AL, strict byte 001h ; a8 01 ; 0xc3988 vbe.c:414 + je short 039a8h ; 74 1c ; 0xc398a + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc398c vbe.c:415 + add dx, strict byte 0000ch ; 83 c2 0c ; 0xc398f + mov bx, 0064ch ; bb 4c 06 ; 0xc3992 + mov ax, si ; 89 f0 ; 0xc3995 + call 031e8h ; e8 4e f8 ; 0xc3997 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc399a vbe.c:417 + add dx, strict byte 0000eh ; 83 c2 0e ; 0xc399d + mov bx, 0c000h ; bb 00 c0 ; 0xc39a0 + mov ax, si ; 89 f0 ; 0xc39a3 + call 031e8h ; e8 40 f8 ; 0xc39a5 + mov ax, strict word 0000bh ; b8 0b 00 ; 0xc39a8 vbe.c:420 + mov dx, 001ceh ; ba ce 01 ; 0xc39ab + call 00590h ; e8 df cb ; 0xc39ae + mov dx, 001cfh ; ba cf 01 ; 0xc39b1 vbe.c:421 + call 00597h ; e8 e0 cb ; 0xc39b4 + mov dx, word [bp-006h] ; 8b 56 fa ; 0xc39b7 + add dx, strict byte 0002ah ; 83 c2 2a ; 0xc39ba + mov bx, ax ; 89 c3 ; 0xc39bd + mov ax, si ; 89 f0 ; 0xc39bf + call 031e8h ; e8 24 f8 ; 0xc39c1 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc39c4 vbe.c:423 + jmp short 039cch ; eb 03 ; 0xc39c7 vbe.c:424 + mov ax, 00100h ; b8 00 01 ; 0xc39c9 vbe.c:428 + push SS ; 16 ; 0xc39cc vbe.c:431 + pop ES ; 07 ; 0xc39cd + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc39ce + mov word [es:bx], ax ; 26 89 07 ; 0xc39d1 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc39d4 vbe.c:432 + pop di ; 5f ; 0xc39d7 + pop si ; 5e ; 0xc39d8 + pop bp ; 5d ; 0xc39d9 + retn ; c3 ; 0xc39da + ; disGetNextSymbol 0xc39db LB 0x44f -> off=0x0 cb=00000000000000eb uValue=00000000000c39db 'vbe_biosfn_set_mode' +vbe_biosfn_set_mode: ; 0xc39db LB 0xeb + push bp ; 55 ; 0xc39db vbe.c:444 + mov bp, sp ; 89 e5 ; 0xc39dc + push si ; 56 ; 0xc39de + push di ; 57 ; 0xc39df + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc39e0 + mov si, ax ; 89 c6 ; 0xc39e3 + mov word [bp-00ah], dx ; 89 56 f6 ; 0xc39e5 + test byte [bp-009h], 040h ; f6 46 f7 40 ; 0xc39e8 vbe.c:452 + je short 039f3h ; 74 05 ; 0xc39ec + mov ax, strict word 00001h ; b8 01 00 ; 0xc39ee + jmp short 039f5h ; eb 02 ; 0xc39f1 + xor ax, ax ; 31 c0 ; 0xc39f3 + mov dx, ax ; 89 c2 ; 0xc39f5 + test ax, ax ; 85 c0 ; 0xc39f7 vbe.c:453 + je short 039feh ; 74 03 ; 0xc39f9 + mov ax, strict word 00040h ; b8 40 00 ; 0xc39fb + mov byte [bp-006h], al ; 88 46 fa ; 0xc39fe + test byte [bp-009h], 080h ; f6 46 f7 80 ; 0xc3a01 vbe.c:454 + je short 03a0ch ; 74 05 ; 0xc3a05 + mov ax, 00080h ; b8 80 00 ; 0xc3a07 + jmp short 03a0eh ; eb 02 ; 0xc3a0a + xor ax, ax ; 31 c0 ; 0xc3a0c + mov byte [bp-008h], al ; 88 46 f8 ; 0xc3a0e + and byte [bp-009h], 001h ; 80 66 f7 01 ; 0xc3a11 vbe.c:456 + cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 ; 0xc3a15 vbe.c:459 + jnc short 03a2fh ; 73 13 ; 0xc3a1a + xor ax, ax ; 31 c0 ; 0xc3a1c vbe.c:463 + call 00600h ; e8 df cb ; 0xc3a1e + mov al, byte [bp-00ah] ; 8a 46 f6 ; 0xc3a21 vbe.c:467 + xor ah, ah ; 30 e4 ; 0xc3a24 + call 01019h ; e8 f0 d5 ; 0xc3a26 + mov ax, strict word 0004fh ; b8 4f 00 ; 0xc3a29 vbe.c:468 + jmp near 03abch ; e9 8d 00 ; 0xc3a2c vbe.c:469 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc3a2f vbe.c:472 + call 0379ah ; e8 65 fd ; 0xc3a32 + mov bx, ax ; 89 c3 ; 0xc3a35 + test ax, ax ; 85 c0 ; 0xc3a37 vbe.c:474 + jne short 03a3eh ; 75 03 ; 0xc3a39 + jmp near 03ab9h ; e9 7b 00 ; 0xc3a3b + lea dx, [bx+014h] ; 8d 57 14 ; 0xc3a3e vbe.c:479 + mov ax, 003b6h ; b8 b6 03 ; 0xc3a41 + call 0371ah ; e8 d3 fc ; 0xc3a44 + mov cx, ax ; 89 c1 ; 0xc3a47 + lea dx, [bx+016h] ; 8d 57 16 ; 0xc3a49 vbe.c:480 + mov ax, 003b6h ; b8 b6 03 ; 0xc3a4c + call 0371ah ; e8 c8 fc ; 0xc3a4f + mov di, ax ; 89 c7 ; 0xc3a52 + lea dx, [bx+01bh] ; 8d 57 1b ; 0xc3a54 vbe.c:481 + mov ax, 003b6h ; b8 b6 03 ; 0xc3a57 + call 0372ch ; e8 cf fc ; 0xc3a5a + mov bl, al ; 88 c3 ; 0xc3a5d + mov dl, al ; 88 c2 ; 0xc3a5f + xor ax, ax ; 31 c0 ; 0xc3a61 vbe.c:489 + call 00600h ; e8 9a cb ; 0xc3a63 + cmp bl, 004h ; 80 fb 04 ; 0xc3a66 vbe.c:491 + jne short 03a71h ; 75 06 ; 0xc3a69 + mov ax, strict word 0006ah ; b8 6a 00 ; 0xc3a6b vbe.c:493 + call 01019h ; e8 a8 d5 ; 0xc3a6e + mov al, dl ; 88 d0 ; 0xc3a71 vbe.c:496 + xor ah, ah ; 30 e4 ; 0xc3a73 + call 03691h ; e8 19 fc ; 0xc3a75 + mov ax, cx ; 89 c8 ; 0xc3a78 vbe.c:497 + call 0363ah ; e8 bd fb ; 0xc3a7a + mov ax, di ; 89 f8 ; 0xc3a7d vbe.c:498 + call 03659h ; e8 d7 fb ; 0xc3a7f + xor ax, ax ; 31 c0 ; 0xc3a82 vbe.c:499 + call 00626h ; e8 9f cb ; 0xc3a84 + mov al, byte [bp-008h] ; 8a 46 f8 ; 0xc3a87 vbe.c:500 + or AL, strict byte 001h ; 0c 01 ; 0xc3a8a + xor ah, ah ; 30 e4 ; 0xc3a8c + mov dl, byte [bp-006h] ; 8a 56 fa ; 0xc3a8e + or al, dl ; 08 d0 ; 0xc3a91 + call 00600h ; e8 6a cb ; 0xc3a93 + call 006f8h ; e8 5f cc ; 0xc3a96 vbe.c:501 + mov bx, word [bp-00ah] ; 8b 5e f6 ; 0xc3a99 vbe.c:503 + mov dx, 000bah ; ba ba 00 ; 0xc3a9c + mov ax, strict word 00040h ; b8 40 00 ; 0xc3a9f + call 031e8h ; e8 43 f7 ; 0xc3aa2 + mov bl, byte [bp-008h] ; 8a 5e f8 ; 0xc3aa5 vbe.c:504 + or bl, 060h ; 80 cb 60 ; 0xc3aa8 + xor bh, bh ; 30 ff ; 0xc3aab + mov dx, 00087h ; ba 87 00 ; 0xc3aad + mov ax, strict word 00040h ; b8 40 00 ; 0xc3ab0 + call 031cch ; e8 16 f7 ; 0xc3ab3 + jmp near 03a29h ; e9 70 ff ; 0xc3ab6 + mov ax, 00100h ; b8 00 01 ; 0xc3ab9 vbe.c:513 + mov word [ss:si], ax ; 36 89 04 ; 0xc3abc vbe.c:517 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3abf vbe.c:518 + pop di ; 5f ; 0xc3ac2 + pop si ; 5e ; 0xc3ac3 + pop bp ; 5d ; 0xc3ac4 + retn ; c3 ; 0xc3ac5 + ; disGetNextSymbol 0xc3ac6 LB 0x364 -> off=0x0 cb=0000000000000008 uValue=00000000000c3ac6 'vbe_biosfn_read_video_state_size' +vbe_biosfn_read_video_state_size: ; 0xc3ac6 LB 0x8 + push bp ; 55 ; 0xc3ac6 vbe.c:520 + mov bp, sp ; 89 e5 ; 0xc3ac7 + mov ax, strict word 00012h ; b8 12 00 ; 0xc3ac9 vbe.c:523 + pop bp ; 5d ; 0xc3acc + retn ; c3 ; 0xc3acd + ; disGetNextSymbol 0xc3ace LB 0x35c -> off=0x0 cb=000000000000005b uValue=00000000000c3ace 'vbe_biosfn_save_video_state' +vbe_biosfn_save_video_state: ; 0xc3ace LB 0x5b + push bp ; 55 ; 0xc3ace vbe.c:525 + mov bp, sp ; 89 e5 ; 0xc3acf + push bx ; 53 ; 0xc3ad1 + push cx ; 51 ; 0xc3ad2 + push si ; 56 ; 0xc3ad3 + push di ; 57 ; 0xc3ad4 + push ax ; 50 ; 0xc3ad5 + mov di, ax ; 89 c7 ; 0xc3ad6 + mov cx, dx ; 89 d1 ; 0xc3ad8 + mov ax, strict word 00004h ; b8 04 00 ; 0xc3ada vbe.c:529 + mov dx, 001ceh ; ba ce 01 ; 0xc3add + out DX, ax ; ef ; 0xc3ae0 + mov dx, 001cfh ; ba cf 01 ; 0xc3ae1 vbe.c:530 + in ax, DX ; ed ; 0xc3ae4 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc3ae5 + mov bx, ax ; 89 c3 ; 0xc3ae8 vbe.c:531 + mov dx, cx ; 89 ca ; 0xc3aea + mov ax, di ; 89 f8 ; 0xc3aec + call 031e8h ; e8 f7 f6 ; 0xc3aee + inc cx ; 41 ; 0xc3af1 vbe.c:532 + inc cx ; 41 ; 0xc3af2 + test byte [bp-00ah], 001h ; f6 46 f6 01 ; 0xc3af3 vbe.c:533 + je short 03b20h ; 74 27 ; 0xc3af7 + mov si, strict word 00001h ; be 01 00 ; 0xc3af9 vbe.c:535 + jmp short 03b03h ; eb 05 ; 0xc3afc + cmp si, strict byte 00009h ; 83 fe 09 ; 0xc3afe + jnbe short 03b20h ; 77 1d ; 0xc3b01 + cmp si, strict byte 00004h ; 83 fe 04 ; 0xc3b03 vbe.c:536 + je short 03b1dh ; 74 15 ; 0xc3b06 + mov ax, si ; 89 f0 ; 0xc3b08 vbe.c:537 + mov dx, 001ceh ; ba ce 01 ; 0xc3b0a + out DX, ax ; ef ; 0xc3b0d + mov dx, 001cfh ; ba cf 01 ; 0xc3b0e vbe.c:538 + in ax, DX ; ed ; 0xc3b11 + mov bx, ax ; 89 c3 ; 0xc3b12 + mov dx, cx ; 89 ca ; 0xc3b14 + mov ax, di ; 89 f8 ; 0xc3b16 + call 031e8h ; e8 cd f6 ; 0xc3b18 + inc cx ; 41 ; 0xc3b1b vbe.c:539 + inc cx ; 41 ; 0xc3b1c + inc si ; 46 ; 0xc3b1d vbe.c:541 + jmp short 03afeh ; eb de ; 0xc3b1e + lea sp, [bp-008h] ; 8d 66 f8 ; 0xc3b20 vbe.c:542 + pop di ; 5f ; 0xc3b23 + pop si ; 5e ; 0xc3b24 + pop cx ; 59 ; 0xc3b25 + pop bx ; 5b ; 0xc3b26 + pop bp ; 5d ; 0xc3b27 + retn ; c3 ; 0xc3b28 + ; disGetNextSymbol 0xc3b29 LB 0x301 -> off=0x0 cb=000000000000009b uValue=00000000000c3b29 'vbe_biosfn_restore_video_state' +vbe_biosfn_restore_video_state: ; 0xc3b29 LB 0x9b + push bp ; 55 ; 0xc3b29 vbe.c:545 + mov bp, sp ; 89 e5 ; 0xc3b2a + push bx ; 53 ; 0xc3b2c + push cx ; 51 ; 0xc3b2d + push si ; 56 ; 0xc3b2e + push ax ; 50 ; 0xc3b2f + mov cx, ax ; 89 c1 ; 0xc3b30 + mov bx, dx ; 89 d3 ; 0xc3b32 + call 031dah ; e8 a3 f6 ; 0xc3b34 vbe.c:549 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc3b37 + inc bx ; 43 ; 0xc3b3a vbe.c:550 + inc bx ; 43 ; 0xc3b3b + test byte [bp-008h], 001h ; f6 46 f8 01 ; 0xc3b3c vbe.c:552 + jne short 03b52h ; 75 10 ; 0xc3b40 + mov ax, strict word 00004h ; b8 04 00 ; 0xc3b42 vbe.c:553 + mov dx, 001ceh ; ba ce 01 ; 0xc3b45 + out DX, ax ; ef ; 0xc3b48 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc3b49 vbe.c:554 + mov dx, 001cfh ; ba cf 01 ; 0xc3b4c + out DX, ax ; ef ; 0xc3b4f + jmp short 03bbch ; eb 6a ; 0xc3b50 vbe.c:555 + mov ax, strict word 00001h ; b8 01 00 ; 0xc3b52 vbe.c:556 + mov dx, 001ceh ; ba ce 01 ; 0xc3b55 + out DX, ax ; ef ; 0xc3b58 + mov dx, bx ; 89 da ; 0xc3b59 vbe.c:557 + mov ax, cx ; 89 c8 ; 0xc3b5b + call 031dah ; e8 7a f6 ; 0xc3b5d + mov dx, 001cfh ; ba cf 01 ; 0xc3b60 + out DX, ax ; ef ; 0xc3b63 + inc bx ; 43 ; 0xc3b64 vbe.c:558 + inc bx ; 43 ; 0xc3b65 + mov ax, strict word 00002h ; b8 02 00 ; 0xc3b66 + mov dx, 001ceh ; ba ce 01 ; 0xc3b69 + out DX, ax ; ef ; 0xc3b6c + mov dx, bx ; 89 da ; 0xc3b6d vbe.c:560 + mov ax, cx ; 89 c8 ; 0xc3b6f + call 031dah ; e8 66 f6 ; 0xc3b71 + mov dx, 001cfh ; ba cf 01 ; 0xc3b74 + out DX, ax ; ef ; 0xc3b77 + inc bx ; 43 ; 0xc3b78 vbe.c:561 + inc bx ; 43 ; 0xc3b79 + mov ax, strict word 00003h ; b8 03 00 ; 0xc3b7a + mov dx, 001ceh ; ba ce 01 ; 0xc3b7d + out DX, ax ; ef ; 0xc3b80 + mov dx, bx ; 89 da ; 0xc3b81 vbe.c:563 + mov ax, cx ; 89 c8 ; 0xc3b83 + call 031dah ; e8 52 f6 ; 0xc3b85 + mov dx, 001cfh ; ba cf 01 ; 0xc3b88 + out DX, ax ; ef ; 0xc3b8b + inc bx ; 43 ; 0xc3b8c vbe.c:564 + inc bx ; 43 ; 0xc3b8d + mov ax, strict word 00004h ; b8 04 00 ; 0xc3b8e + mov dx, 001ceh ; ba ce 01 ; 0xc3b91 + out DX, ax ; ef ; 0xc3b94 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc3b95 vbe.c:566 + mov dx, 001cfh ; ba cf 01 ; 0xc3b98 + out DX, ax ; ef ; 0xc3b9b + mov si, strict word 00005h ; be 05 00 ; 0xc3b9c vbe.c:568 + jmp short 03ba6h ; eb 05 ; 0xc3b9f + cmp si, strict byte 00009h ; 83 fe 09 ; 0xc3ba1 + jnbe short 03bbch ; 77 16 ; 0xc3ba4 + mov ax, si ; 89 f0 ; 0xc3ba6 vbe.c:569 + mov dx, 001ceh ; ba ce 01 ; 0xc3ba8 + out DX, ax ; ef ; 0xc3bab + mov dx, bx ; 89 da ; 0xc3bac vbe.c:570 + mov ax, cx ; 89 c8 ; 0xc3bae + call 031dah ; e8 27 f6 ; 0xc3bb0 + mov dx, 001cfh ; ba cf 01 ; 0xc3bb3 + out DX, ax ; ef ; 0xc3bb6 + inc bx ; 43 ; 0xc3bb7 vbe.c:571 + inc bx ; 43 ; 0xc3bb8 + inc si ; 46 ; 0xc3bb9 vbe.c:572 + jmp short 03ba1h ; eb e5 ; 0xc3bba + lea sp, [bp-006h] ; 8d 66 fa ; 0xc3bbc vbe.c:574 + pop si ; 5e ; 0xc3bbf + pop cx ; 59 ; 0xc3bc0 + pop bx ; 5b ; 0xc3bc1 + pop bp ; 5d ; 0xc3bc2 + retn ; c3 ; 0xc3bc3 + ; disGetNextSymbol 0xc3bc4 LB 0x266 -> off=0x0 cb=000000000000008d uValue=00000000000c3bc4 'vbe_biosfn_save_restore_state' +vbe_biosfn_save_restore_state: ; 0xc3bc4 LB 0x8d + push bp ; 55 ; 0xc3bc4 vbe.c:590 + mov bp, sp ; 89 e5 ; 0xc3bc5 + push si ; 56 ; 0xc3bc7 + push di ; 57 ; 0xc3bc8 + push ax ; 50 ; 0xc3bc9 + mov si, ax ; 89 c6 ; 0xc3bca + mov word [bp-006h], dx ; 89 56 fa ; 0xc3bcc + mov ax, bx ; 89 d8 ; 0xc3bcf + mov bx, word [bp+004h] ; 8b 5e 04 ; 0xc3bd1 + mov di, strict word 0004fh ; bf 4f 00 ; 0xc3bd4 vbe.c:595 + xor ah, ah ; 30 e4 ; 0xc3bd7 vbe.c:596 + cmp ax, strict word 00002h ; 3d 02 00 ; 0xc3bd9 + je short 03c24h ; 74 46 ; 0xc3bdc + cmp ax, strict word 00001h ; 3d 01 00 ; 0xc3bde + je short 03c08h ; 74 25 ; 0xc3be1 + test ax, ax ; 85 c0 ; 0xc3be3 + jne short 03c40h ; 75 59 ; 0xc3be5 + mov ax, word [bp-006h] ; 8b 46 fa ; 0xc3be7 vbe.c:598 + call 02aa7h ; e8 ba ee ; 0xc3bea + mov cx, ax ; 89 c1 ; 0xc3bed + test byte [bp-006h], 008h ; f6 46 fa 08 ; 0xc3bef vbe.c:602 + je short 03bfah ; 74 05 ; 0xc3bf3 + call 03ac6h ; e8 ce fe ; 0xc3bf5 vbe.c:603 + add ax, cx ; 01 c8 ; 0xc3bf8 + add ax, strict word 0003fh ; 05 3f 00 ; 0xc3bfa vbe.c:604 + mov CL, strict byte 006h ; b1 06 ; 0xc3bfd + shr ax, CL ; d3 e8 ; 0xc3bff + push SS ; 16 ; 0xc3c01 + pop ES ; 07 ; 0xc3c02 + mov word [es:bx], ax ; 26 89 07 ; 0xc3c03 + jmp short 03c43h ; eb 3b ; 0xc3c06 vbe.c:605 + push SS ; 16 ; 0xc3c08 vbe.c:607 + pop ES ; 07 ; 0xc3c09 + mov bx, word [es:bx] ; 26 8b 1f ; 0xc3c0a + mov dx, cx ; 89 ca ; 0xc3c0d vbe.c:608 + mov ax, word [bp-006h] ; 8b 46 fa ; 0xc3c0f + call 02adch ; e8 c7 ee ; 0xc3c12 + test byte [bp-006h], 008h ; f6 46 fa 08 ; 0xc3c15 vbe.c:612 + je short 03c43h ; 74 28 ; 0xc3c19 + mov dx, ax ; 89 c2 ; 0xc3c1b vbe.c:613 + mov ax, cx ; 89 c8 ; 0xc3c1d + call 03aceh ; e8 ac fe ; 0xc3c1f + jmp short 03c43h ; eb 1f ; 0xc3c22 vbe.c:614 + push SS ; 16 ; 0xc3c24 vbe.c:616 + pop ES ; 07 ; 0xc3c25 + mov bx, word [es:bx] ; 26 8b 1f ; 0xc3c26 + mov dx, cx ; 89 ca ; 0xc3c29 vbe.c:617 + mov ax, word [bp-006h] ; 8b 46 fa ; 0xc3c2b + call 02e5dh ; e8 2c f2 ; 0xc3c2e + test byte [bp-006h], 008h ; f6 46 fa 08 ; 0xc3c31 vbe.c:621 + je short 03c43h ; 74 0c ; 0xc3c35 + mov dx, ax ; 89 c2 ; 0xc3c37 vbe.c:622 + mov ax, cx ; 89 c8 ; 0xc3c39 + call 03b29h ; e8 eb fe ; 0xc3c3b + jmp short 03c43h ; eb 03 ; 0xc3c3e vbe.c:623 + mov di, 00100h ; bf 00 01 ; 0xc3c40 vbe.c:626 + push SS ; 16 ; 0xc3c43 vbe.c:629 + pop ES ; 07 ; 0xc3c44 + mov word [es:si], di ; 26 89 3c ; 0xc3c45 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3c48 vbe.c:630 + pop di ; 5f ; 0xc3c4b + pop si ; 5e ; 0xc3c4c + pop bp ; 5d ; 0xc3c4d + retn 00002h ; c2 02 00 ; 0xc3c4e + ; disGetNextSymbol 0xc3c51 LB 0x1d9 -> off=0x0 cb=00000000000000e2 uValue=00000000000c3c51 'vbe_biosfn_get_set_scanline_length' +vbe_biosfn_get_set_scanline_length: ; 0xc3c51 LB 0xe2 + push bp ; 55 ; 0xc3c51 vbe.c:651 + mov bp, sp ; 89 e5 ; 0xc3c52 + push si ; 56 ; 0xc3c54 + push di ; 57 ; 0xc3c55 + sub sp, strict byte 0000ah ; 83 ec 0a ; 0xc3c56 + push ax ; 50 ; 0xc3c59 + mov di, dx ; 89 d7 ; 0xc3c5a + mov word [bp-006h], bx ; 89 5e fa ; 0xc3c5c + mov si, cx ; 89 ce ; 0xc3c5f + call 036b0h ; e8 4c fa ; 0xc3c61 vbe.c:660 + cmp AL, strict byte 00fh ; 3c 0f ; 0xc3c64 vbe.c:661 + jne short 03c6dh ; 75 05 ; 0xc3c66 + mov cx, strict word 00010h ; b9 10 00 ; 0xc3c68 + jmp short 03c71h ; eb 04 ; 0xc3c6b + xor ah, ah ; 30 e4 ; 0xc3c6d + mov cx, ax ; 89 c1 ; 0xc3c6f + mov ch, cl ; 88 cd ; 0xc3c71 + call 036e8h ; e8 72 fa ; 0xc3c73 vbe.c:662 + mov word [bp-00ah], ax ; 89 46 f6 ; 0xc3c76 + mov word [bp-00ch], strict word 0004fh ; c7 46 f4 4f 00 ; 0xc3c79 vbe.c:663 + push SS ; 16 ; 0xc3c7e vbe.c:664 + pop ES ; 07 ; 0xc3c7f + mov bx, word [bp-006h] ; 8b 5e fa ; 0xc3c80 + mov bx, word [es:bx] ; 26 8b 1f ; 0xc3c83 + mov al, byte [es:di] ; 26 8a 05 ; 0xc3c86 vbe.c:665 + cmp AL, strict byte 002h ; 3c 02 ; 0xc3c89 vbe.c:669 + je short 03c98h ; 74 0b ; 0xc3c8b + cmp AL, strict byte 001h ; 3c 01 ; 0xc3c8d + je short 03cc1h ; 74 30 ; 0xc3c8f + test al, al ; 84 c0 ; 0xc3c91 + je short 03cbch ; 74 27 ; 0xc3c93 + jmp near 03d1ch ; e9 84 00 ; 0xc3c95 + cmp ch, 004h ; 80 fd 04 ; 0xc3c98 vbe.c:671 + jne short 03ca3h ; 75 06 ; 0xc3c9b + mov CL, strict byte 003h ; b1 03 ; 0xc3c9d vbe.c:672 + sal bx, CL ; d3 e3 ; 0xc3c9f + jmp short 03cbch ; eb 19 ; 0xc3ca1 vbe.c:673 + mov al, ch ; 88 e8 ; 0xc3ca3 vbe.c:674 + xor ah, ah ; 30 e4 ; 0xc3ca5 + cwd ; 99 ; 0xc3ca7 + mov CL, strict byte 003h ; b1 03 ; 0xc3ca8 + sal dx, CL ; d3 e2 ; 0xc3caa + db 01bh, 0c2h + ; sbb ax, dx ; 1b c2 ; 0xc3cac + sar ax, CL ; d3 f8 ; 0xc3cae + mov word [bp-00eh], ax ; 89 46 f2 ; 0xc3cb0 + mov ax, bx ; 89 d8 ; 0xc3cb3 + xor dx, dx ; 31 d2 ; 0xc3cb5 + div word [bp-00eh] ; f7 76 f2 ; 0xc3cb7 + mov bx, ax ; 89 c3 ; 0xc3cba + mov ax, bx ; 89 d8 ; 0xc3cbc vbe.c:677 + call 036c9h ; e8 08 fa ; 0xc3cbe + call 036e8h ; e8 24 fa ; 0xc3cc1 vbe.c:680 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc3cc4 + push SS ; 16 ; 0xc3cc7 vbe.c:681 + pop ES ; 07 ; 0xc3cc8 + mov bx, word [bp-006h] ; 8b 5e fa ; 0xc3cc9 + mov word [es:bx], ax ; 26 89 07 ; 0xc3ccc + cmp ch, 004h ; 80 fd 04 ; 0xc3ccf vbe.c:682 + jne short 03cdch ; 75 08 ; 0xc3cd2 + mov CL, strict byte 003h ; b1 03 ; 0xc3cd4 vbe.c:683 + mov bx, ax ; 89 c3 ; 0xc3cd6 + shr bx, CL ; d3 eb ; 0xc3cd8 + jmp short 03cf2h ; eb 16 ; 0xc3cda vbe.c:684 + mov al, ch ; 88 e8 ; 0xc3cdc vbe.c:685 + xor ah, ah ; 30 e4 ; 0xc3cde + cwd ; 99 ; 0xc3ce0 + mov CL, strict byte 003h ; b1 03 ; 0xc3ce1 + sal dx, CL ; d3 e2 ; 0xc3ce3 + db 01bh, 0c2h + ; sbb ax, dx ; 1b c2 ; 0xc3ce5 + sar ax, CL ; d3 f8 ; 0xc3ce7 + mov bx, ax ; 89 c3 ; 0xc3ce9 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc3ceb + mul bx ; f7 e3 ; 0xc3cee + mov bx, ax ; 89 c3 ; 0xc3cf0 + add bx, strict byte 00003h ; 83 c3 03 ; 0xc3cf2 vbe.c:686 + and bl, 0fch ; 80 e3 fc ; 0xc3cf5 + push SS ; 16 ; 0xc3cf8 vbe.c:687 + pop ES ; 07 ; 0xc3cf9 + mov word [es:di], bx ; 26 89 1d ; 0xc3cfa + call 03701h ; e8 01 fa ; 0xc3cfd vbe.c:688 + push SS ; 16 ; 0xc3d00 + pop ES ; 07 ; 0xc3d01 + mov word [es:si], ax ; 26 89 04 ; 0xc3d02 + call 03678h ; e8 70 f9 ; 0xc3d05 vbe.c:689 + push SS ; 16 ; 0xc3d08 + pop ES ; 07 ; 0xc3d09 + cmp ax, word [es:si] ; 26 3b 04 ; 0xc3d0a + jbe short 03d21h ; 76 12 ; 0xc3d0d + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc3d0f vbe.c:690 + call 036c9h ; e8 b4 f9 ; 0xc3d12 + mov word [bp-00ch], 00200h ; c7 46 f4 00 02 ; 0xc3d15 vbe.c:691 + jmp short 03d21h ; eb 05 ; 0xc3d1a vbe.c:693 + mov word [bp-00ch], 00100h ; c7 46 f4 00 01 ; 0xc3d1c vbe.c:696 + push SS ; 16 ; 0xc3d21 vbe.c:699 + pop ES ; 07 ; 0xc3d22 + mov ax, word [bp-00ch] ; 8b 46 f4 ; 0xc3d23 + mov bx, word [bp-010h] ; 8b 5e f0 ; 0xc3d26 + mov word [es:bx], ax ; 26 89 07 ; 0xc3d29 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3d2c vbe.c:700 + pop di ; 5f ; 0xc3d2f + pop si ; 5e ; 0xc3d30 + pop bp ; 5d ; 0xc3d31 + retn ; c3 ; 0xc3d32 + ; disGetNextSymbol 0xc3d33 LB 0xf7 -> off=0x0 cb=00000000000000f7 uValue=00000000000c3d33 'private_biosfn_custom_mode' +private_biosfn_custom_mode: ; 0xc3d33 LB 0xf7 + push bp ; 55 ; 0xc3d33 vbe.c:726 + mov bp, sp ; 89 e5 ; 0xc3d34 + push si ; 56 ; 0xc3d36 + push di ; 57 ; 0xc3d37 + sub sp, strict byte 00006h ; 83 ec 06 ; 0xc3d38 + push ax ; 50 ; 0xc3d3b + mov si, dx ; 89 d6 ; 0xc3d3c + mov di, cx ; 89 cf ; 0xc3d3e + mov word [bp-00ah], strict word 0004fh ; c7 46 f6 4f 00 ; 0xc3d40 vbe.c:739 + push SS ; 16 ; 0xc3d45 vbe.c:740 + pop ES ; 07 ; 0xc3d46 + mov al, byte [es:si] ; 26 8a 04 ; 0xc3d47 + test al, al ; 84 c0 ; 0xc3d4a vbe.c:741 + jne short 03d6eh ; 75 20 ; 0xc3d4c + push SS ; 16 ; 0xc3d4e vbe.c:743 + pop ES ; 07 ; 0xc3d4f + mov bx, word [es:bx] ; 26 8b 1f ; 0xc3d50 + mov ax, word [es:di] ; 26 8b 05 ; 0xc3d53 vbe.c:744 + mov word [bp-008h], ax ; 89 46 f8 ; 0xc3d56 + mov al, byte [es:si+001h] ; 26 8a 44 01 ; 0xc3d59 vbe.c:745 + and ax, strict word 0007fh ; 25 7f 00 ; 0xc3d5d + mov ch, al ; 88 c5 ; 0xc3d60 + cmp AL, strict byte 008h ; 3c 08 ; 0xc3d62 vbe.c:750 + je short 03d76h ; 74 10 ; 0xc3d64 + cmp AL, strict byte 010h ; 3c 10 ; 0xc3d66 + je short 03d76h ; 74 0c ; 0xc3d68 + cmp AL, strict byte 020h ; 3c 20 ; 0xc3d6a + je short 03d76h ; 74 08 ; 0xc3d6c + mov word [bp-00ah], 00100h ; c7 46 f6 00 01 ; 0xc3d6e vbe.c:751 + jmp near 03e18h ; e9 a2 00 ; 0xc3d73 vbe.c:752 + push SS ; 16 ; 0xc3d76 vbe.c:756 + pop ES ; 07 ; 0xc3d77 + test byte [es:si+001h], 080h ; 26 f6 44 01 80 ; 0xc3d78 + je short 03d84h ; 74 05 ; 0xc3d7d + mov ax, strict word 00040h ; b8 40 00 ; 0xc3d7f + jmp short 03d86h ; eb 02 ; 0xc3d82 + xor ax, ax ; 31 c0 ; 0xc3d84 + mov byte [bp-006h], al ; 88 46 fa ; 0xc3d86 + cmp bx, 00280h ; 81 fb 80 02 ; 0xc3d89 vbe.c:759 + jnc short 03d94h ; 73 05 ; 0xc3d8d + mov bx, 00280h ; bb 80 02 ; 0xc3d8f vbe.c:760 + jmp short 03d9dh ; eb 09 ; 0xc3d92 vbe.c:761 + cmp bx, 00a00h ; 81 fb 00 0a ; 0xc3d94 + jbe short 03d9dh ; 76 03 ; 0xc3d98 + mov bx, 00a00h ; bb 00 0a ; 0xc3d9a vbe.c:762 + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc3d9d vbe.c:763 + cmp ax, 001e0h ; 3d e0 01 ; 0xc3da0 + jnc short 03dach ; 73 07 ; 0xc3da3 + mov word [bp-008h], 001e0h ; c7 46 f8 e0 01 ; 0xc3da5 vbe.c:764 + jmp short 03db6h ; eb 0a ; 0xc3daa vbe.c:765 + cmp ax, 00780h ; 3d 80 07 ; 0xc3dac + jbe short 03db6h ; 76 05 ; 0xc3daf + mov word [bp-008h], 00780h ; c7 46 f8 80 07 ; 0xc3db1 vbe.c:766 + mov dx, strict word 0ffffh ; ba ff ff ; 0xc3db6 vbe.c:772 + mov ax, 003b6h ; b8 b6 03 ; 0xc3db9 + call 0371ah ; e8 5b f9 ; 0xc3dbc + mov si, ax ; 89 c6 ; 0xc3dbf + mov al, ch ; 88 e8 ; 0xc3dc1 vbe.c:775 + xor ah, ah ; 30 e4 ; 0xc3dc3 + cwd ; 99 ; 0xc3dc5 + mov CL, strict byte 003h ; b1 03 ; 0xc3dc6 + sal dx, CL ; d3 e2 ; 0xc3dc8 + db 01bh, 0c2h + ; sbb ax, dx ; 1b c2 ; 0xc3dca + sar ax, CL ; d3 f8 ; 0xc3dcc + mov dx, ax ; 89 c2 ; 0xc3dce + mov ax, bx ; 89 d8 ; 0xc3dd0 + mul dx ; f7 e2 ; 0xc3dd2 + add ax, strict word 00003h ; 05 03 00 ; 0xc3dd4 vbe.c:776 + and AL, strict byte 0fch ; 24 fc ; 0xc3dd7 + mov dx, word [bp-008h] ; 8b 56 f8 ; 0xc3dd9 vbe.c:778 + mul dx ; f7 e2 ; 0xc3ddc + cmp dx, si ; 39 f2 ; 0xc3dde vbe.c:780 + jnbe short 03de8h ; 77 06 ; 0xc3de0 + jne short 03defh ; 75 0b ; 0xc3de2 + test ax, ax ; 85 c0 ; 0xc3de4 + jbe short 03defh ; 76 07 ; 0xc3de6 + mov word [bp-00ah], 00200h ; c7 46 f6 00 02 ; 0xc3de8 vbe.c:782 + jmp short 03e18h ; eb 29 ; 0xc3ded vbe.c:783 + xor ax, ax ; 31 c0 ; 0xc3def vbe.c:787 + call 00600h ; e8 0c c8 ; 0xc3df1 + mov al, ch ; 88 e8 ; 0xc3df4 vbe.c:788 + xor ah, ah ; 30 e4 ; 0xc3df6 + call 03691h ; e8 96 f8 ; 0xc3df8 + mov ax, bx ; 89 d8 ; 0xc3dfb vbe.c:789 + call 0363ah ; e8 3a f8 ; 0xc3dfd + mov ax, word [bp-008h] ; 8b 46 f8 ; 0xc3e00 vbe.c:790 + call 03659h ; e8 53 f8 ; 0xc3e03 + xor ax, ax ; 31 c0 ; 0xc3e06 vbe.c:791 + call 00626h ; e8 1b c8 ; 0xc3e08 + mov al, byte [bp-006h] ; 8a 46 fa ; 0xc3e0b vbe.c:792 + or AL, strict byte 001h ; 0c 01 ; 0xc3e0e + xor ah, ah ; 30 e4 ; 0xc3e10 + call 00600h ; e8 eb c7 ; 0xc3e12 + call 006f8h ; e8 e0 c8 ; 0xc3e15 vbe.c:793 + push SS ; 16 ; 0xc3e18 vbe.c:801 + pop ES ; 07 ; 0xc3e19 + mov ax, word [bp-00ah] ; 8b 46 f6 ; 0xc3e1a + mov bx, word [bp-00ch] ; 8b 5e f4 ; 0xc3e1d + mov word [es:bx], ax ; 26 89 07 ; 0xc3e20 + lea sp, [bp-004h] ; 8d 66 fc ; 0xc3e23 vbe.c:802 + pop di ; 5f ; 0xc3e26 + pop si ; 5e ; 0xc3e27 + pop bp ; 5d ; 0xc3e28 + retn ; c3 ; 0xc3e29 + + ; Padding 0x5d6 bytes at 0xc3e2a + times 1494 db 0 + +section VBE32 progbits vstart=0x4400 align=1 ; size=0x115 class=CODE group=AUTO + ; disGetNextSymbol 0xc4400 LB 0x115 -> off=0x0 cb=0000000000000114 uValue=00000000000c0000 'vesa_pm_start' +vesa_pm_start: ; 0xc4400 LB 0x114 + sbb byte [bx+si], al ; 18 00 ; 0xc4400 + dec di ; 4f ; 0xc4402 + add byte [bx+si], dl ; 00 10 ; 0xc4403 + add word [bx+si], cx ; 01 08 ; 0xc4405 + add dh, cl ; 00 ce ; 0xc4407 + add di, cx ; 01 cf ; 0xc4409 + add di, cx ; 01 cf ; 0xc440b + add ax, dx ; 01 d0 ; 0xc440d + add word [bp-048fdh], si ; 01 b6 03 b7 ; 0xc440f + db 003h, 0ffh + ; add di, di ; 03 ff ; 0xc4413 + db 0ffh + db 0ffh + jmp word [bp-07dh] ; ff 66 83 ; 0xc4417 + sti ; fb ; 0xc441a + add byte [si+005h], dh ; 00 74 05 ; 0xc441b + mov eax, strict dword 066c30100h ; 66 b8 00 01 c3 66 ; 0xc441e vberom.asm:825 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc4424 + push edx ; 66 52 ; 0xc4426 vberom.asm:829 + push eax ; 66 50 ; 0xc4428 vberom.asm:830 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc442a vberom.asm:831 + add ax, 06600h ; 05 00 66 ; 0xc4430 + out DX, ax ; ef ; 0xc4433 + pop eax ; 66 58 ; 0xc4434 vberom.asm:834 + mov edx, strict dword 0ef6601cfh ; 66 ba cf 01 66 ef ; 0xc4436 vberom.asm:835 + in eax, DX ; 66 ed ; 0xc443c vberom.asm:837 + pop edx ; 66 5a ; 0xc443e vberom.asm:838 + db 066h, 03bh, 0d0h + ; cmp edx, eax ; 66 3b d0 ; 0xc4440 vberom.asm:839 + jne short 0444ah ; 75 05 ; 0xc4443 vberom.asm:840 + mov eax, strict dword 066c3004fh ; 66 b8 4f 00 c3 66 ; 0xc4445 vberom.asm:841 + mov ax, 0014fh ; b8 4f 01 ; 0xc444b + retn ; c3 ; 0xc444e vberom.asm:845 + cmp bl, 080h ; 80 fb 80 ; 0xc444f vberom.asm:847 + je short 0445eh ; 74 0a ; 0xc4452 vberom.asm:848 + cmp bl, 000h ; 80 fb 00 ; 0xc4454 vberom.asm:849 + je short 0446eh ; 74 15 ; 0xc4457 vberom.asm:850 + mov eax, strict dword 052c30100h ; 66 b8 00 01 c3 52 ; 0xc4459 vberom.asm:851 + mov edx, strict dword 0a8ec03dah ; 66 ba da 03 ec a8 ; 0xc445f vberom.asm:855 + or byte [di-005h], dh ; 08 75 fb ; 0xc4465 + in AL, DX ; ec ; 0xc4468 vberom.asm:861 + test AL, strict byte 008h ; a8 08 ; 0xc4469 vberom.asm:862 + je short 04468h ; 74 fb ; 0xc446b vberom.asm:863 + pop dx ; 5a ; 0xc446d vberom.asm:864 + push ax ; 50 ; 0xc446e vberom.asm:868 + push cx ; 51 ; 0xc446f vberom.asm:869 + push dx ; 52 ; 0xc4470 vberom.asm:870 + push si ; 56 ; 0xc4471 vberom.asm:871 + push di ; 57 ; 0xc4472 vberom.asm:872 + sal dx, 010h ; c1 e2 10 ; 0xc4473 vberom.asm:873 + and cx, strict word 0ffffh ; 81 e1 ff ff ; 0xc4476 vberom.asm:874 + add byte [bx+si], al ; 00 00 ; 0xc447a + db 00bh, 0cah + ; or cx, dx ; 0b ca ; 0xc447c vberom.asm:875 + sal cx, 002h ; c1 e1 02 ; 0xc447e vberom.asm:876 + db 08bh, 0c1h + ; mov ax, cx ; 8b c1 ; 0xc4481 vberom.asm:877 + push ax ; 50 ; 0xc4483 vberom.asm:878 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc4484 vberom.asm:879 + push ES ; 06 ; 0xc448a + add byte [bp-011h], ah ; 00 66 ef ; 0xc448b + mov edx, strict dword 0ed6601cfh ; 66 ba cf 01 66 ed ; 0xc448e vberom.asm:882 + db 00fh, 0b7h, 0c8h + ; movzx cx, ax ; 0f b7 c8 ; 0xc4494 vberom.asm:884 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc4497 vberom.asm:885 + add ax, word [bx+si] ; 03 00 ; 0xc449d + out DX, eax ; 66 ef ; 0xc449f vberom.asm:887 + mov edx, strict dword 0ed6601cfh ; 66 ba cf 01 66 ed ; 0xc44a1 vberom.asm:888 + db 00fh, 0b7h, 0f0h + ; movzx si, ax ; 0f b7 f0 ; 0xc44a7 vberom.asm:890 + pop ax ; 58 ; 0xc44aa vberom.asm:891 + cmp si, strict byte 00004h ; 83 fe 04 ; 0xc44ab vberom.asm:893 + je short 044c7h ; 74 17 ; 0xc44ae vberom.asm:894 + add si, strict byte 00007h ; 83 c6 07 ; 0xc44b0 vberom.asm:895 + shr si, 003h ; c1 ee 03 ; 0xc44b3 vberom.asm:896 + imul cx, si ; 0f af ce ; 0xc44b6 vberom.asm:897 + db 033h, 0d2h + ; xor dx, dx ; 33 d2 ; 0xc44b9 vberom.asm:898 + div cx ; f7 f1 ; 0xc44bb vberom.asm:899 + db 08bh, 0f8h + ; mov di, ax ; 8b f8 ; 0xc44bd vberom.asm:900 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc44bf vberom.asm:901 + db 033h, 0d2h + ; xor dx, dx ; 33 d2 ; 0xc44c1 vberom.asm:902 + div si ; f7 f6 ; 0xc44c3 vberom.asm:903 + jmp short 044d3h ; eb 0c ; 0xc44c5 vberom.asm:904 + shr cx, 1 ; d1 e9 ; 0xc44c7 vberom.asm:907 + db 033h, 0d2h + ; xor dx, dx ; 33 d2 ; 0xc44c9 vberom.asm:908 + div cx ; f7 f1 ; 0xc44cb vberom.asm:909 + db 08bh, 0f8h + ; mov di, ax ; 8b f8 ; 0xc44cd vberom.asm:910 + db 08bh, 0c2h + ; mov ax, dx ; 8b c2 ; 0xc44cf vberom.asm:911 + sal ax, 1 ; d1 e0 ; 0xc44d1 vberom.asm:912 + push edx ; 66 52 ; 0xc44d3 vberom.asm:915 + push eax ; 66 50 ; 0xc44d5 vberom.asm:916 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc44d7 vberom.asm:917 + or byte [bx+si], al ; 08 00 ; 0xc44dd + out DX, eax ; 66 ef ; 0xc44df vberom.asm:919 + pop eax ; 66 58 ; 0xc44e1 vberom.asm:920 + mov edx, strict dword 0ef6601cfh ; 66 ba cf 01 66 ef ; 0xc44e3 vberom.asm:921 + pop edx ; 66 5a ; 0xc44e9 vberom.asm:923 + db 066h, 08bh, 0c7h + ; mov eax, edi ; 66 8b c7 ; 0xc44eb vberom.asm:925 + push edx ; 66 52 ; 0xc44ee vberom.asm:926 + push eax ; 66 50 ; 0xc44f0 vberom.asm:927 + mov edx, strict dword 0b86601ceh ; 66 ba ce 01 66 b8 ; 0xc44f2 vberom.asm:928 + or word [bx+si], ax ; 09 00 ; 0xc44f8 + out DX, eax ; 66 ef ; 0xc44fa vberom.asm:930 + pop eax ; 66 58 ; 0xc44fc vberom.asm:931 + mov edx, strict dword 0ef6601cfh ; 66 ba cf 01 66 ef ; 0xc44fe vberom.asm:932 + pop edx ; 66 5a ; 0xc4504 vberom.asm:934 + pop di ; 5f ; 0xc4506 vberom.asm:936 + pop si ; 5e ; 0xc4507 vberom.asm:937 + pop dx ; 5a ; 0xc4508 vberom.asm:938 + pop cx ; 59 ; 0xc4509 vberom.asm:939 + pop ax ; 58 ; 0xc450a vberom.asm:940 + mov eax, strict dword 066c3004fh ; 66 b8 4f 00 c3 66 ; 0xc450b vberom.asm:941 + mov ax, 0014fh ; b8 4f 01 ; 0xc4511 + ; disGetNextSymbol 0xc4514 LB 0x1 -> off=0x0 cb=0000000000000001 uValue=0000000000000114 'vesa_pm_end' +vesa_pm_end: ; 0xc4514 LB 0x1 + retn ; c3 ; 0xc4514 vberom.asm:946 + + ; Padding 0xeb bytes at 0xc4515 + times 235 db 0 + +section _DATA progbits vstart=0x4600 align=1 ; size=0x3726 class=DATA group=DGROUP + ; disGetNextSymbol 0xc4600 LB 0x3726 -> off=0x0 cb=000000000000002e uValue=00000000000c0000 '_msg_vga_init' +_msg_vga_init: ; 0xc4600 LB 0x2e + db 'Oracle VM VirtualBox Version 6.0.4 VGA BIOS', 00dh, 00ah, 000h + ; disGetNextSymbol 0xc462e LB 0x36f8 -> off=0x0 cb=0000000000000080 uValue=00000000000c002e 'vga_modes' +vga_modes: ; 0xc462e LB 0x80 + db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h + db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h + db 004h, 001h, 002h, 002h, 000h, 0b8h, 0ffh, 001h, 005h, 001h, 002h, 002h, 000h, 0b8h, 0ffh, 001h + db 006h, 001h, 002h, 001h, 000h, 0b8h, 0ffh, 001h, 007h, 000h, 001h, 004h, 000h, 0b0h, 0ffh, 000h + db 00dh, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 001h, 00eh, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 001h + db 00fh, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 000h, 010h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h + db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h + db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h + ; disGetNextSymbol 0xc46ae LB 0x3678 -> off=0x0 cb=0000000000000010 uValue=00000000000c00ae 'line_to_vpti' +line_to_vpti: ; 0xc46ae LB 0x10 + db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh + ; disGetNextSymbol 0xc46be LB 0x3668 -> off=0x0 cb=0000000000000004 uValue=00000000000c00be 'dac_regs' +dac_regs: ; 0xc46be LB 0x4 + dd 0ff3f3f3fh + ; disGetNextSymbol 0xc46c2 LB 0x3664 -> off=0x0 cb=0000000000000780 uValue=00000000000c00c2 'video_param_table' +video_param_table: ; 0xc46c2 LB 0x780 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 028h, 018h, 008h, 000h, 008h, 009h, 003h, 000h, 002h, 063h, 02dh, 027h, 028h, 090h, 02bh, 080h + db 0bfh, 01fh, 000h, 0c1h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 000h, 096h + db 0b9h, 0a2h, 0ffh, 000h, 013h, 015h, 017h, 002h, 004h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 003h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 00fh, 00fh, 0ffh + db 028h, 018h, 008h, 000h, 008h, 009h, 003h, 000h, 002h, 063h, 02dh, 027h, 028h, 090h, 02bh, 080h + db 0bfh, 01fh, 000h, 0c1h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 000h, 096h + db 0b9h, 0a2h, 0ffh, 000h, 013h, 015h, 017h, 002h, 004h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 003h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 00fh, 00fh, 0ffh + db 050h, 018h, 008h, 000h, 010h, 001h, 001h, 000h, 006h, 063h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 0c1h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 000h, 096h + db 0b9h, 0c2h, 0ffh, 000h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h, 017h + db 017h, 017h, 017h, 001h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 00dh, 00fh, 0ffh + db 050h, 018h, 010h, 000h, 010h, 000h, 003h, 000h, 002h, 066h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 00fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 008h, 008h, 008h, 008h, 008h, 008h, 008h, 010h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 00eh, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00ah, 00fh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 028h, 018h, 008h, 000h, 020h, 009h, 00fh, 000h, 006h, 063h, 02dh, 027h, 028h, 090h, 02bh, 080h + db 0bfh, 01fh, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 000h, 096h + db 0b9h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 050h, 018h, 008h, 000h, 040h, 001h, 00fh, 000h, 006h, 063h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 000h, 096h + db 0b9h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 006h, 007h, 010h, 011h, 012h, 013h, 014h + db 015h, 016h, 017h, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 050h, 018h, 00eh, 000h, 080h, 001h, 00fh, 000h, 006h, 0a3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 083h, 085h, 05dh, 028h, 00fh, 063h + db 0bah, 0e3h, 0ffh, 000h, 008h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 008h, 000h, 000h, 000h + db 018h, 000h, 000h, 001h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 050h, 018h, 00eh, 000h, 080h, 001h, 00fh, 000h, 006h, 0a3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 083h, 085h, 05dh, 028h, 00fh, 063h + db 0bah, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 050h, 018h, 00eh, 000h, 010h, 000h, 003h, 000h, 002h, 067h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 01fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 00ch, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00eh, 00fh, 0ffh + db 028h, 018h, 010h, 000h, 008h, 008h, 003h, 000h, 002h, 067h, 02dh, 027h, 028h, 090h, 02bh, 0a0h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 014h, 01fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 00ch, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00eh, 00fh, 0ffh + db 050h, 018h, 010h, 000h, 010h, 000h, 003h, 000h, 002h, 067h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 01fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 00ch, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00eh, 00fh, 0ffh + db 050h, 018h, 010h, 000h, 010h, 000h, 003h, 000h, 002h, 066h, 05fh, 04fh, 050h, 082h, 055h, 081h + db 0bfh, 01fh, 000h, 04fh, 00dh, 00eh, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 00fh, 096h + db 0b9h, 0a3h, 0ffh, 000h, 008h, 008h, 008h, 008h, 008h, 008h, 008h, 010h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 00eh, 000h, 00fh, 008h, 000h, 000h, 000h, 000h, 000h, 010h, 00ah, 00fh, 0ffh + db 050h, 01dh, 010h, 000h, 000h, 001h, 00fh, 000h, 006h, 0e3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 00bh, 03eh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 0eah, 08ch, 0dfh, 028h, 000h, 0e7h + db 004h, 0e3h, 0ffh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h, 03fh, 000h + db 03fh, 000h, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 050h, 01dh, 010h, 000h, 000h, 001h, 00fh, 000h, 006h, 0e3h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 00bh, 03eh, 000h, 040h, 000h, 000h, 000h, 000h, 000h, 000h, 0eah, 08ch, 0dfh, 028h, 000h, 0e7h + db 004h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + db 028h, 018h, 008h, 000h, 000h, 001h, 00fh, 000h, 00eh, 063h, 05fh, 04fh, 050h, 082h, 054h, 080h + db 0bfh, 01fh, 000h, 041h, 000h, 000h, 000h, 000h, 000h, 000h, 09ch, 08eh, 08fh, 028h, 040h, 096h + db 0b9h, 0a3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 006h, 007h, 008h, 009h, 00ah, 00bh, 00ch + db 00dh, 00eh, 00fh, 041h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 040h, 005h, 00fh, 0ffh + db 064h, 024h, 010h, 000h, 000h, 001h, 00fh, 000h, 006h, 0e3h, 07fh, 063h, 063h, 083h, 06bh, 01bh + db 072h, 0f0h, 000h, 060h, 000h, 000h, 000h, 000h, 000h, 000h, 059h, 08dh, 057h, 032h, 000h, 057h + db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch + db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh + ; disGetNextSymbol 0xc4e42 LB 0x2ee4 -> off=0x0 cb=00000000000000c0 uValue=00000000000c0842 'palette0' +palette0: ; 0xc4e42 LB 0xc0 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah + db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh + ; disGetNextSymbol 0xc4f02 LB 0x2e24 -> off=0x0 cb=00000000000000c0 uValue=00000000000c0902 'palette1' +palette1: ; 0xc4f02 LB 0xc0 + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah + db 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah, 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah + db 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh, 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh + db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah + db 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah, 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah + db 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh, 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh + db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + ; disGetNextSymbol 0xc4fc2 LB 0x2d64 -> off=0x0 cb=00000000000000c0 uValue=00000000000c09c2 'palette2' +palette2: ; 0xc4fc2 LB 0xc0 + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah + db 015h, 000h, 02ah, 03fh, 02ah, 000h, 015h, 02ah, 000h, 03fh, 02ah, 02ah, 015h, 02ah, 02ah, 03fh + db 000h, 015h, 000h, 000h, 015h, 02ah, 000h, 03fh, 000h, 000h, 03fh, 02ah, 02ah, 015h, 000h, 02ah + db 015h, 02ah, 02ah, 03fh, 000h, 02ah, 03fh, 02ah, 000h, 015h, 015h, 000h, 015h, 03fh, 000h, 03fh + db 015h, 000h, 03fh, 03fh, 02ah, 015h, 015h, 02ah, 015h, 03fh, 02ah, 03fh, 015h, 02ah, 03fh, 03fh + db 015h, 000h, 000h, 015h, 000h, 02ah, 015h, 02ah, 000h, 015h, 02ah, 02ah, 03fh, 000h, 000h, 03fh + db 000h, 02ah, 03fh, 02ah, 000h, 03fh, 02ah, 02ah, 015h, 000h, 015h, 015h, 000h, 03fh, 015h, 02ah + db 015h, 015h, 02ah, 03fh, 03fh, 000h, 015h, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 03fh, 02ah, 03fh + db 015h, 015h, 000h, 015h, 015h, 02ah, 015h, 03fh, 000h, 015h, 03fh, 02ah, 03fh, 015h, 000h, 03fh + db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + ; disGetNextSymbol 0xc5082 LB 0x2ca4 -> off=0x0 cb=0000000000000300 uValue=00000000000c0a82 'palette3' +palette3: ; 0xc5082 LB 0x300 + db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah + db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh + db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh + db 000h, 000h, 000h, 005h, 005h, 005h, 008h, 008h, 008h, 00bh, 00bh, 00bh, 00eh, 00eh, 00eh, 011h + db 011h, 011h, 014h, 014h, 014h, 018h, 018h, 018h, 01ch, 01ch, 01ch, 020h, 020h, 020h, 024h, 024h + db 024h, 028h, 028h, 028h, 02dh, 02dh, 02dh, 032h, 032h, 032h, 038h, 038h, 038h, 03fh, 03fh, 03fh + db 000h, 000h, 03fh, 010h, 000h, 03fh, 01fh, 000h, 03fh, 02fh, 000h, 03fh, 03fh, 000h, 03fh, 03fh + db 000h, 02fh, 03fh, 000h, 01fh, 03fh, 000h, 010h, 03fh, 000h, 000h, 03fh, 010h, 000h, 03fh, 01fh + db 000h, 03fh, 02fh, 000h, 03fh, 03fh, 000h, 02fh, 03fh, 000h, 01fh, 03fh, 000h, 010h, 03fh, 000h + db 000h, 03fh, 000h, 000h, 03fh, 010h, 000h, 03fh, 01fh, 000h, 03fh, 02fh, 000h, 03fh, 03fh, 000h + db 02fh, 03fh, 000h, 01fh, 03fh, 000h, 010h, 03fh, 01fh, 01fh, 03fh, 027h, 01fh, 03fh, 02fh, 01fh + db 03fh, 037h, 01fh, 03fh, 03fh, 01fh, 03fh, 03fh, 01fh, 037h, 03fh, 01fh, 02fh, 03fh, 01fh, 027h + db 03fh, 01fh, 01fh, 03fh, 027h, 01fh, 03fh, 02fh, 01fh, 03fh, 037h, 01fh, 03fh, 03fh, 01fh, 037h + db 03fh, 01fh, 02fh, 03fh, 01fh, 027h, 03fh, 01fh, 01fh, 03fh, 01fh, 01fh, 03fh, 027h, 01fh, 03fh + db 02fh, 01fh, 03fh, 037h, 01fh, 03fh, 03fh, 01fh, 037h, 03fh, 01fh, 02fh, 03fh, 01fh, 027h, 03fh + db 02dh, 02dh, 03fh, 031h, 02dh, 03fh, 036h, 02dh, 03fh, 03ah, 02dh, 03fh, 03fh, 02dh, 03fh, 03fh + db 02dh, 03ah, 03fh, 02dh, 036h, 03fh, 02dh, 031h, 03fh, 02dh, 02dh, 03fh, 031h, 02dh, 03fh, 036h + db 02dh, 03fh, 03ah, 02dh, 03fh, 03fh, 02dh, 03ah, 03fh, 02dh, 036h, 03fh, 02dh, 031h, 03fh, 02dh + db 02dh, 03fh, 02dh, 02dh, 03fh, 031h, 02dh, 03fh, 036h, 02dh, 03fh, 03ah, 02dh, 03fh, 03fh, 02dh + db 03ah, 03fh, 02dh, 036h, 03fh, 02dh, 031h, 03fh, 000h, 000h, 01ch, 007h, 000h, 01ch, 00eh, 000h + db 01ch, 015h, 000h, 01ch, 01ch, 000h, 01ch, 01ch, 000h, 015h, 01ch, 000h, 00eh, 01ch, 000h, 007h + db 01ch, 000h, 000h, 01ch, 007h, 000h, 01ch, 00eh, 000h, 01ch, 015h, 000h, 01ch, 01ch, 000h, 015h + db 01ch, 000h, 00eh, 01ch, 000h, 007h, 01ch, 000h, 000h, 01ch, 000h, 000h, 01ch, 007h, 000h, 01ch + db 00eh, 000h, 01ch, 015h, 000h, 01ch, 01ch, 000h, 015h, 01ch, 000h, 00eh, 01ch, 000h, 007h, 01ch + db 00eh, 00eh, 01ch, 011h, 00eh, 01ch, 015h, 00eh, 01ch, 018h, 00eh, 01ch, 01ch, 00eh, 01ch, 01ch + db 00eh, 018h, 01ch, 00eh, 015h, 01ch, 00eh, 011h, 01ch, 00eh, 00eh, 01ch, 011h, 00eh, 01ch, 015h + db 00eh, 01ch, 018h, 00eh, 01ch, 01ch, 00eh, 018h, 01ch, 00eh, 015h, 01ch, 00eh, 011h, 01ch, 00eh + db 00eh, 01ch, 00eh, 00eh, 01ch, 011h, 00eh, 01ch, 015h, 00eh, 01ch, 018h, 00eh, 01ch, 01ch, 00eh + db 018h, 01ch, 00eh, 015h, 01ch, 00eh, 011h, 01ch, 014h, 014h, 01ch, 016h, 014h, 01ch, 018h, 014h + db 01ch, 01ah, 014h, 01ch, 01ch, 014h, 01ch, 01ch, 014h, 01ah, 01ch, 014h, 018h, 01ch, 014h, 016h + db 01ch, 014h, 014h, 01ch, 016h, 014h, 01ch, 018h, 014h, 01ch, 01ah, 014h, 01ch, 01ch, 014h, 01ah + db 01ch, 014h, 018h, 01ch, 014h, 016h, 01ch, 014h, 014h, 01ch, 014h, 014h, 01ch, 016h, 014h, 01ch + db 018h, 014h, 01ch, 01ah, 014h, 01ch, 01ch, 014h, 01ah, 01ch, 014h, 018h, 01ch, 014h, 016h, 01ch + db 000h, 000h, 010h, 004h, 000h, 010h, 008h, 000h, 010h, 00ch, 000h, 010h, 010h, 000h, 010h, 010h + db 000h, 00ch, 010h, 000h, 008h, 010h, 000h, 004h, 010h, 000h, 000h, 010h, 004h, 000h, 010h, 008h + db 000h, 010h, 00ch, 000h, 010h, 010h, 000h, 00ch, 010h, 000h, 008h, 010h, 000h, 004h, 010h, 000h + db 000h, 010h, 000h, 000h, 010h, 004h, 000h, 010h, 008h, 000h, 010h, 00ch, 000h, 010h, 010h, 000h + db 00ch, 010h, 000h, 008h, 010h, 000h, 004h, 010h, 008h, 008h, 010h, 00ah, 008h, 010h, 00ch, 008h + db 010h, 00eh, 008h, 010h, 010h, 008h, 010h, 010h, 008h, 00eh, 010h, 008h, 00ch, 010h, 008h, 00ah + db 010h, 008h, 008h, 010h, 00ah, 008h, 010h, 00ch, 008h, 010h, 00eh, 008h, 010h, 010h, 008h, 00eh + db 010h, 008h, 00ch, 010h, 008h, 00ah, 010h, 008h, 008h, 010h, 008h, 008h, 010h, 00ah, 008h, 010h + db 00ch, 008h, 010h, 00eh, 008h, 010h, 010h, 008h, 00eh, 010h, 008h, 00ch, 010h, 008h, 00ah, 010h + db 00bh, 00bh, 010h, 00ch, 00bh, 010h, 00dh, 00bh, 010h, 00fh, 00bh, 010h, 010h, 00bh, 010h, 010h + db 00bh, 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 00bh, 00bh, 010h, 00ch, 00bh, 010h, 00dh + db 00bh, 010h, 00fh, 00bh, 010h, 010h, 00bh, 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 00bh + db 00bh, 010h, 00bh, 00bh, 010h, 00ch, 00bh, 010h, 00dh, 00bh, 010h, 00fh, 00bh, 010h, 010h, 00bh + db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc5382 LB 0x29a4 -> off=0x0 cb=0000000000000010 uValue=00000000000c0d82 'static_functionality' +static_functionality: ; 0xc5382 LB 0x10 + db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc5392 LB 0x2994 -> off=0x0 cb=0000000000000024 uValue=00000000000c0d92 '_dcc_table' +_dcc_table: ; 0xc5392 LB 0x24 + db 010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc53b6 LB 0x2970 -> off=0x0 cb=000000000000001a uValue=00000000000c0db6 '_secondary_save_area' +_secondary_save_area: ; 0xc53b6 LB 0x1a + db 01ah, 000h, 092h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc53d0 LB 0x2956 -> off=0x0 cb=000000000000001c uValue=00000000000c0dd0 '_video_save_pointer_table' +_video_save_pointer_table: ; 0xc53d0 LB 0x1c + db 0c2h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 0b6h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc53ec LB 0x293a -> off=0x0 cb=0000000000000800 uValue=00000000000c0dec 'vgafont8' +vgafont8: ; 0xc53ec LB 0x800 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh + db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h + db 010h, 038h, 07ch, 0feh, 07ch, 038h, 010h, 000h, 038h, 07ch, 038h, 0feh, 0feh, 07ch, 038h, 07ch + db 010h, 010h, 038h, 07ch, 0feh, 07ch, 038h, 07ch, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h + db 0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h + db 0ffh, 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 00fh, 007h, 00fh, 07dh, 0cch, 0cch, 0cch, 078h + db 03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 018h, 03fh, 033h, 03fh, 030h, 030h, 070h, 0f0h, 0e0h + db 07fh, 063h, 07fh, 063h, 063h, 067h, 0e6h, 0c0h, 099h, 05ah, 03ch, 0e7h, 0e7h, 03ch, 05ah, 099h + db 080h, 0e0h, 0f8h, 0feh, 0f8h, 0e0h, 080h, 000h, 002h, 00eh, 03eh, 0feh, 03eh, 00eh, 002h, 000h + db 018h, 03ch, 07eh, 018h, 018h, 07eh, 03ch, 018h, 066h, 066h, 066h, 066h, 066h, 000h, 066h, 000h + db 07fh, 0dbh, 0dbh, 07bh, 01bh, 01bh, 01bh, 000h, 03eh, 063h, 038h, 06ch, 06ch, 038h, 0cch, 078h + db 000h, 000h, 000h, 000h, 07eh, 07eh, 07eh, 000h, 018h, 03ch, 07eh, 018h, 07eh, 03ch, 018h, 0ffh + db 018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h + db 000h, 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 030h, 060h, 0feh, 060h, 030h, 000h, 000h + db 000h, 000h, 0c0h, 0c0h, 0c0h, 0feh, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h + db 000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 000h, 000h, 000h, 0ffh, 0ffh, 07eh, 03ch, 018h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 078h, 078h, 030h, 030h, 000h, 030h, 000h + db 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch, 0feh, 06ch, 06ch, 000h + db 030h, 07ch, 0c0h, 078h, 00ch, 0f8h, 030h, 000h, 000h, 0c6h, 0cch, 018h, 030h, 066h, 0c6h, 000h + db 038h, 06ch, 038h, 076h, 0dch, 0cch, 076h, 000h, 060h, 060h, 0c0h, 000h, 000h, 000h, 000h, 000h + db 018h, 030h, 060h, 060h, 060h, 030h, 018h, 000h, 060h, 030h, 018h, 018h, 018h, 030h, 060h, 000h + db 000h, 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 030h, 030h, 0fch, 030h, 030h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 030h, 030h, 060h, 000h, 000h, 000h, 0fch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 030h, 030h, 000h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h + db 07ch, 0c6h, 0ceh, 0deh, 0f6h, 0e6h, 07ch, 000h, 030h, 070h, 030h, 030h, 030h, 030h, 0fch, 000h + db 078h, 0cch, 00ch, 038h, 060h, 0cch, 0fch, 000h, 078h, 0cch, 00ch, 038h, 00ch, 0cch, 078h, 000h + db 01ch, 03ch, 06ch, 0cch, 0feh, 00ch, 01eh, 000h, 0fch, 0c0h, 0f8h, 00ch, 00ch, 0cch, 078h, 000h + db 038h, 060h, 0c0h, 0f8h, 0cch, 0cch, 078h, 000h, 0fch, 0cch, 00ch, 018h, 030h, 030h, 030h, 000h + db 078h, 0cch, 0cch, 078h, 0cch, 0cch, 078h, 000h, 078h, 0cch, 0cch, 07ch, 00ch, 018h, 070h, 000h + db 000h, 030h, 030h, 000h, 000h, 030h, 030h, 000h, 000h, 030h, 030h, 000h, 000h, 030h, 030h, 060h + db 018h, 030h, 060h, 0c0h, 060h, 030h, 018h, 000h, 000h, 000h, 0fch, 000h, 000h, 0fch, 000h, 000h + db 060h, 030h, 018h, 00ch, 018h, 030h, 060h, 000h, 078h, 0cch, 00ch, 018h, 030h, 000h, 030h, 000h + db 07ch, 0c6h, 0deh, 0deh, 0deh, 0c0h, 078h, 000h, 030h, 078h, 0cch, 0cch, 0fch, 0cch, 0cch, 000h + db 0fch, 066h, 066h, 07ch, 066h, 066h, 0fch, 000h, 03ch, 066h, 0c0h, 0c0h, 0c0h, 066h, 03ch, 000h + db 0f8h, 06ch, 066h, 066h, 066h, 06ch, 0f8h, 000h, 0feh, 062h, 068h, 078h, 068h, 062h, 0feh, 000h + db 0feh, 062h, 068h, 078h, 068h, 060h, 0f0h, 000h, 03ch, 066h, 0c0h, 0c0h, 0ceh, 066h, 03eh, 000h + db 0cch, 0cch, 0cch, 0fch, 0cch, 0cch, 0cch, 000h, 078h, 030h, 030h, 030h, 030h, 030h, 078h, 000h + db 01eh, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 000h, 0e6h, 066h, 06ch, 078h, 06ch, 066h, 0e6h, 000h + db 0f0h, 060h, 060h, 060h, 062h, 066h, 0feh, 000h, 0c6h, 0eeh, 0feh, 0feh, 0d6h, 0c6h, 0c6h, 000h + db 0c6h, 0e6h, 0f6h, 0deh, 0ceh, 0c6h, 0c6h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h + db 0fch, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h, 078h, 0cch, 0cch, 0cch, 0dch, 078h, 01ch, 000h + db 0fch, 066h, 066h, 07ch, 06ch, 066h, 0e6h, 000h, 078h, 0cch, 0e0h, 070h, 01ch, 0cch, 078h, 000h + db 0fch, 0b4h, 030h, 030h, 030h, 030h, 078h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 0fch, 000h + db 0cch, 0cch, 0cch, 0cch, 0cch, 078h, 030h, 000h, 0c6h, 0c6h, 0c6h, 0d6h, 0feh, 0eeh, 0c6h, 000h + db 0c6h, 0c6h, 06ch, 038h, 038h, 06ch, 0c6h, 000h, 0cch, 0cch, 0cch, 078h, 030h, 030h, 078h, 000h + db 0feh, 0c6h, 08ch, 018h, 032h, 066h, 0feh, 000h, 078h, 060h, 060h, 060h, 060h, 060h, 078h, 000h + db 0c0h, 060h, 030h, 018h, 00ch, 006h, 002h, 000h, 078h, 018h, 018h, 018h, 018h, 018h, 078h, 000h + db 010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 076h, 000h + db 0e0h, 060h, 060h, 07ch, 066h, 066h, 0dch, 000h, 000h, 000h, 078h, 0cch, 0c0h, 0cch, 078h, 000h + db 01ch, 00ch, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h + db 038h, 06ch, 060h, 0f0h, 060h, 060h, 0f0h, 000h, 000h, 000h, 076h, 0cch, 0cch, 07ch, 00ch, 0f8h + db 0e0h, 060h, 06ch, 076h, 066h, 066h, 0e6h, 000h, 030h, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 00ch, 000h, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 0e0h, 060h, 066h, 06ch, 078h, 06ch, 0e6h, 000h + db 070h, 030h, 030h, 030h, 030h, 030h, 078h, 000h, 000h, 000h, 0cch, 0feh, 0feh, 0d6h, 0c6h, 000h + db 000h, 000h, 0f8h, 0cch, 0cch, 0cch, 0cch, 000h, 000h, 000h, 078h, 0cch, 0cch, 0cch, 078h, 000h + db 000h, 000h, 0dch, 066h, 066h, 07ch, 060h, 0f0h, 000h, 000h, 076h, 0cch, 0cch, 07ch, 00ch, 01eh + db 000h, 000h, 0dch, 076h, 066h, 060h, 0f0h, 000h, 000h, 000h, 07ch, 0c0h, 078h, 00ch, 0f8h, 000h + db 010h, 030h, 07ch, 030h, 030h, 034h, 018h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 0cch, 0cch, 0cch, 078h, 030h, 000h, 000h, 000h, 0c6h, 0d6h, 0feh, 0feh, 06ch, 000h + db 000h, 000h, 0c6h, 06ch, 038h, 06ch, 0c6h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 07ch, 00ch, 0f8h + db 000h, 000h, 0fch, 098h, 030h, 064h, 0fch, 000h, 01ch, 030h, 030h, 0e0h, 030h, 030h, 01ch, 000h + db 018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h + db 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h + db 078h, 0cch, 0c0h, 0cch, 078h, 018h, 00ch, 078h, 000h, 0cch, 000h, 0cch, 0cch, 0cch, 07eh, 000h + db 01ch, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h, 07eh, 0c3h, 03ch, 006h, 03eh, 066h, 03fh, 000h + db 0cch, 000h, 078h, 00ch, 07ch, 0cch, 07eh, 000h, 0e0h, 000h, 078h, 00ch, 07ch, 0cch, 07eh, 000h + db 030h, 030h, 078h, 00ch, 07ch, 0cch, 07eh, 000h, 000h, 000h, 078h, 0c0h, 0c0h, 078h, 00ch, 038h + db 07eh, 0c3h, 03ch, 066h, 07eh, 060h, 03ch, 000h, 0cch, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h + db 0e0h, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h, 0cch, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 07ch, 0c6h, 038h, 018h, 018h, 018h, 03ch, 000h, 0e0h, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 0c6h, 038h, 06ch, 0c6h, 0feh, 0c6h, 0c6h, 000h, 030h, 030h, 000h, 078h, 0cch, 0fch, 0cch, 000h + db 01ch, 000h, 0fch, 060h, 078h, 060h, 0fch, 000h, 000h, 000h, 07fh, 00ch, 07fh, 0cch, 07fh, 000h + db 03eh, 06ch, 0cch, 0feh, 0cch, 0cch, 0ceh, 000h, 078h, 0cch, 000h, 078h, 0cch, 0cch, 078h, 000h + db 000h, 0cch, 000h, 078h, 0cch, 0cch, 078h, 000h, 000h, 0e0h, 000h, 078h, 0cch, 0cch, 078h, 000h + db 078h, 0cch, 000h, 0cch, 0cch, 0cch, 07eh, 000h, 000h, 0e0h, 000h, 0cch, 0cch, 0cch, 07eh, 000h + db 000h, 0cch, 000h, 0cch, 0cch, 07ch, 00ch, 0f8h, 0c3h, 018h, 03ch, 066h, 066h, 03ch, 018h, 000h + db 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 078h, 000h, 018h, 018h, 07eh, 0c0h, 0c0h, 07eh, 018h, 018h + db 038h, 06ch, 064h, 0f0h, 060h, 0e6h, 0fch, 000h, 0cch, 0cch, 078h, 0fch, 030h, 0fch, 030h, 030h + db 0f8h, 0cch, 0cch, 0fah, 0c6h, 0cfh, 0c6h, 0c7h, 00eh, 01bh, 018h, 03ch, 018h, 018h, 0d8h, 070h + db 01ch, 000h, 078h, 00ch, 07ch, 0cch, 07eh, 000h, 038h, 000h, 070h, 030h, 030h, 030h, 078h, 000h + db 000h, 01ch, 000h, 078h, 0cch, 0cch, 078h, 000h, 000h, 01ch, 000h, 0cch, 0cch, 0cch, 07eh, 000h + db 000h, 0f8h, 000h, 0f8h, 0cch, 0cch, 0cch, 000h, 0fch, 000h, 0cch, 0ech, 0fch, 0dch, 0cch, 000h + db 03ch, 06ch, 06ch, 03eh, 000h, 07eh, 000h, 000h, 038h, 06ch, 06ch, 038h, 000h, 07ch, 000h, 000h + db 030h, 000h, 030h, 060h, 0c0h, 0cch, 078h, 000h, 000h, 000h, 000h, 0fch, 0c0h, 0c0h, 000h, 000h + db 000h, 000h, 000h, 0fch, 00ch, 00ch, 000h, 000h, 0c3h, 0c6h, 0cch, 0deh, 033h, 066h, 0cch, 00fh + db 0c3h, 0c6h, 0cch, 0dbh, 037h, 06fh, 0cfh, 003h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 000h + db 000h, 033h, 066h, 0cch, 066h, 033h, 000h, 000h, 000h, 0cch, 066h, 033h, 066h, 0cch, 000h, 000h + db 022h, 088h, 022h, 088h, 022h, 088h, 022h, 088h, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah + db 0dbh, 077h, 0dbh, 0eeh, 0dbh, 077h, 0dbh, 0eeh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 0f6h, 036h, 036h, 036h, 000h, 000h, 000h, 000h, 0feh, 036h, 036h, 036h + db 000h, 000h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 036h, 036h, 0f6h, 006h, 0f6h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 000h, 000h, 0feh, 006h, 0f6h, 036h, 036h, 036h + db 036h, 036h, 0f6h, 006h, 0feh, 000h, 000h, 000h, 036h, 036h, 036h, 036h, 0feh, 000h, 000h, 000h + db 018h, 018h, 0f8h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 01fh, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 0ffh, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 0ffh, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h + db 018h, 018h, 01fh, 018h, 01fh, 018h, 018h, 018h, 036h, 036h, 036h, 036h, 037h, 036h, 036h, 036h + db 036h, 036h, 037h, 030h, 03fh, 000h, 000h, 000h, 000h, 000h, 03fh, 030h, 037h, 036h, 036h, 036h + db 036h, 036h, 0f7h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0f7h, 036h, 036h, 036h + db 036h, 036h, 037h, 030h, 037h, 036h, 036h, 036h, 000h, 000h, 0ffh, 000h, 0ffh, 000h, 000h, 000h + db 036h, 036h, 0f7h, 000h, 0f7h, 036h, 036h, 036h, 018h, 018h, 0ffh, 000h, 0ffh, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 0ffh, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 03fh, 000h, 000h, 000h + db 018h, 018h, 01fh, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 01fh, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 03fh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 036h, 036h, 036h + db 018h, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 01fh, 018h, 018h, 018h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 000h, 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h + db 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h + db 000h, 000h, 076h, 0dch, 0c8h, 0dch, 076h, 000h, 000h, 078h, 0cch, 0f8h, 0cch, 0f8h, 0c0h, 0c0h + db 000h, 0fch, 0cch, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 0feh, 06ch, 06ch, 06ch, 06ch, 06ch, 000h + db 0fch, 0cch, 060h, 030h, 060h, 0cch, 0fch, 000h, 000h, 000h, 07eh, 0d8h, 0d8h, 0d8h, 070h, 000h + db 000h, 066h, 066h, 066h, 066h, 07ch, 060h, 0c0h, 000h, 076h, 0dch, 018h, 018h, 018h, 018h, 000h + db 0fch, 030h, 078h, 0cch, 0cch, 078h, 030h, 0fch, 038h, 06ch, 0c6h, 0feh, 0c6h, 06ch, 038h, 000h + db 038h, 06ch, 0c6h, 0c6h, 06ch, 06ch, 0eeh, 000h, 01ch, 030h, 018h, 07ch, 0cch, 0cch, 078h, 000h + db 000h, 000h, 07eh, 0dbh, 0dbh, 07eh, 000h, 000h, 006h, 00ch, 07eh, 0dbh, 0dbh, 07eh, 060h, 0c0h + db 038h, 060h, 0c0h, 0f8h, 0c0h, 060h, 038h, 000h, 078h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 000h + db 000h, 0fch, 000h, 0fch, 000h, 0fch, 000h, 000h, 030h, 030h, 0fch, 030h, 030h, 000h, 0fch, 000h + db 060h, 030h, 018h, 030h, 060h, 000h, 0fch, 000h, 018h, 030h, 060h, 030h, 018h, 000h, 0fch, 000h + db 00eh, 01bh, 01bh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0d8h, 0d8h, 070h + db 030h, 030h, 000h, 0fch, 000h, 030h, 030h, 000h, 000h, 076h, 0dch, 000h, 076h, 0dch, 000h, 000h + db 038h, 06ch, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 000h, 000h, 000h, 00fh, 00ch, 00ch, 00ch, 0ech, 06ch, 03ch, 01ch + db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h + db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc5bec LB 0x213a -> off=0x0 cb=0000000000000e00 uValue=00000000000c15ec 'vgafont14' +vgafont14: ; 0xc5bec LB 0xe00 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh + db 0dbh, 0ffh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 06ch, 0feh, 0feh + db 0feh, 0feh, 07ch, 038h, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 07ch, 0feh, 07ch + db 038h, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 03ch, 0e7h, 0e7h, 0e7h, 018h, 018h + db 03ch, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 07eh, 018h, 018h, 03ch, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h, 000h, 000h, 000h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h + db 000h, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h, 000h, 000h, 000h, 0ffh, 0ffh, 0ffh, 0ffh + db 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 01eh, 00eh, 01ah, 032h + db 078h, 0cch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 066h, 066h, 03ch, 018h + db 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 03fh, 033h, 03fh, 030h, 030h, 030h, 070h, 0f0h + db 0e0h, 000h, 000h, 000h, 000h, 000h, 07fh, 063h, 07fh, 063h, 063h, 063h, 067h, 0e7h, 0e6h, 0c0h + db 000h, 000h, 000h, 000h, 018h, 018h, 0dbh, 03ch, 0e7h, 03ch, 0dbh, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 080h, 0c0h, 0e0h, 0f8h, 0feh, 0f8h, 0e0h, 0c0h, 080h, 000h, 000h, 000h, 000h, 000h + db 002h, 006h, 00eh, 03eh, 0feh, 03eh, 00eh, 006h, 002h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch + db 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h + db 066h, 066h, 000h, 066h, 066h, 000h, 000h, 000h, 000h, 000h, 07fh, 0dbh, 0dbh, 0dbh, 07bh, 01bh + db 01bh, 01bh, 01bh, 000h, 000h, 000h, 000h, 07ch, 0c6h, 060h, 038h, 06ch, 0c6h, 0c6h, 06ch, 038h + db 00ch, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 0feh, 0feh, 000h + db 000h, 000h, 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 07eh, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 060h + db 0feh, 060h, 030h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0c0h, 0c0h, 0c0h + db 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 028h, 06ch, 0feh, 06ch, 028h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 038h, 07ch, 07ch, 0feh, 0feh, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0feh, 0feh, 07ch, 07ch, 038h, 038h, 010h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 03ch, 03ch, 03ch, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 066h, 066h, 066h + db 024h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch + db 06ch, 06ch, 0feh, 06ch, 06ch, 000h, 000h, 000h, 018h, 018h, 07ch, 0c6h, 0c2h, 0c0h, 07ch, 006h + db 086h, 0c6h, 07ch, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 0c2h, 0c6h, 00ch, 018h, 030h, 066h + db 0c6h, 000h, 000h, 000h, 000h, 000h, 038h, 06ch, 06ch, 038h, 076h, 0dch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 000h, 030h, 030h, 030h, 060h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 00ch, 018h, 030h, 030h, 030h, 030h, 030h, 018h, 00ch, 000h, 000h, 000h, 000h, 000h + db 030h, 018h, 00ch, 00ch, 00ch, 00ch, 00ch, 018h, 030h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h + db 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 030h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h + db 000h, 000h, 000h, 000h, 002h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0ceh, 0deh, 0f6h, 0e6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 018h, 038h, 078h, 018h, 018h, 018h, 018h, 018h, 07eh, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h + db 006h, 00ch, 018h, 030h, 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 006h, 006h + db 03ch, 006h, 006h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 00ch, 01ch, 03ch, 06ch, 0cch, 0feh + db 00ch, 00ch, 01eh, 000h, 000h, 000h, 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 0fch, 006h, 006h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 000h, 038h, 060h, 0c0h, 0c0h, 0fch, 0c6h, 0c6h, 0c6h, 07ch, 000h + db 000h, 000h, 000h, 000h, 0feh, 0c6h, 006h, 00ch, 018h, 030h, 030h, 030h, 030h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 07ch, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 07ch, 0c6h, 0c6h, 0c6h, 07eh, 006h, 006h, 00ch, 078h, 000h, 000h, 000h, 000h, 000h, 000h, 018h + db 018h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h + db 000h, 000h, 018h, 018h, 030h, 000h, 000h, 000h, 000h, 000h, 006h, 00ch, 018h, 030h, 060h, 030h + db 018h, 00ch, 006h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 000h, 000h, 07eh, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 00ch, 006h, 00ch, 018h, 030h, 060h, 000h + db 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 00ch, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0deh, 0deh, 0deh, 0dch, 0c0h, 07ch, 000h, 000h, 000h, 000h, 000h + db 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h, 000h, 0fch, 066h + db 066h, 066h, 07ch, 066h, 066h, 066h, 0fch, 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 0c2h, 0c0h + db 0c0h, 0c0h, 0c2h, 066h, 03ch, 000h, 000h, 000h, 000h, 000h, 0f8h, 06ch, 066h, 066h, 066h, 066h + db 066h, 06ch, 0f8h, 000h, 000h, 000h, 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 062h, 066h + db 0feh, 000h, 000h, 000h, 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 060h, 060h, 0f0h, 000h + db 000h, 000h, 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0deh, 0c6h, 066h, 03ah, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h, 000h + db 03ch, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 01eh, 00ch + db 00ch, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h, 000h, 0e6h, 066h, 06ch, 06ch + db 078h, 06ch, 06ch, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h, 0f0h, 060h, 060h, 060h, 060h, 060h + db 062h, 066h, 0feh, 000h, 000h, 000h, 000h, 000h, 0c6h, 0eeh, 0feh, 0feh, 0d6h, 0c6h, 0c6h, 0c6h + db 0c6h, 000h, 000h, 000h, 000h, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h, 0c6h, 0c6h, 000h + db 000h, 000h, 000h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h, 000h + db 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0d6h, 0deh, 07ch, 00ch, 00eh, 000h, 000h, 000h, 000h, 0fch, 066h + db 066h, 066h, 07ch, 06ch, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 060h + db 038h, 00ch, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 07eh, 07eh, 05ah, 018h, 018h, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 06ch, 038h, 010h, 000h + db 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0d6h, 0d6h, 0feh, 07ch, 06ch, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 06ch, 038h, 038h, 038h, 06ch, 0c6h, 0c6h, 000h, 000h, 000h, 000h, 000h + db 066h, 066h, 066h, 066h, 03ch, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 0feh, 0c6h + db 08ch, 018h, 030h, 060h, 0c2h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h, 03ch, 030h, 030h, 030h + db 030h, 030h, 030h, 030h, 03ch, 000h, 000h, 000h, 000h, 000h, 080h, 0c0h, 0e0h, 070h, 038h, 01ch + db 00eh, 006h, 002h, 000h, 000h, 000h, 000h, 000h, 03ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch + db 03ch, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h + db 030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 0e0h, 060h + db 060h, 078h, 06ch, 066h, 066h, 066h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch + db 0c6h, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 01ch, 00ch, 00ch, 03ch, 06ch, 0cch + db 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h, 060h, 0f0h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 07ch, 00ch, 0cch, 078h, 000h + db 000h, 000h, 0e0h, 060h, 060h, 06ch, 076h, 066h, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 000h, 038h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 006h, 006h + db 000h, 00eh, 006h, 006h, 006h, 006h, 066h, 066h, 03ch, 000h, 000h, 000h, 0e0h, 060h, 060h, 066h + db 06ch, 078h, 06ch, 066h, 0e6h, 000h, 000h, 000h, 000h, 000h, 038h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ech, 0feh, 0d6h, 0d6h, 0d6h + db 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h, 000h, 000h + db 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 07ch, 00ch, 00ch, 01eh, 000h, 000h, 000h, 000h, 000h + db 000h, 0dch, 076h, 066h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch + db 0c6h, 070h, 01ch, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 010h, 030h, 030h, 0fch, 030h, 030h + db 030h, 036h, 01ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch + db 076h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h, 03ch, 018h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0d6h, 0d6h, 0feh, 06ch, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c6h, 06ch, 038h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 0f8h, 000h, 000h, 000h, 000h, 000h + db 000h, 0feh, 0cch, 018h, 030h, 066h, 0feh, 000h, 000h, 000h, 000h, 000h, 00eh, 018h, 018h, 018h + db 070h, 018h, 018h, 018h, 00eh, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 000h, 018h + db 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 070h, 018h, 018h, 018h, 00eh, 018h, 018h, 018h + db 070h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0c2h, 066h, 03ch, 00ch, 006h, 07ch, 000h, 000h, 000h + db 0cch, 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 00ch, 018h, 030h + db 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 000h, 078h + db 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 0cch, 0cch, 000h, 078h, 00ch, 07ch + db 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 000h, 078h, 00ch, 07ch, 0cch, 0cch + db 076h, 000h, 000h, 000h, 000h, 038h, 06ch, 038h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 060h, 066h, 03ch, 00ch, 006h, 03ch, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 0cch, 0cch, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 060h, 030h, 018h + db 000h, 07ch, 0c6h, 0feh, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 000h, 038h + db 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 018h, 03ch, 066h, 000h, 038h, 018h, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 000h, 038h, 018h, 018h, 018h, 018h + db 03ch, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 000h + db 000h, 000h, 038h, 06ch, 038h, 000h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 000h, 000h, 000h + db 018h, 030h, 060h, 000h, 0feh, 066h, 060h, 07ch, 060h, 066h, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 0cch, 076h, 036h, 07eh, 0d8h, 0d8h, 06eh, 000h, 000h, 000h, 000h, 000h, 03eh, 06ch + db 0cch, 0cch, 0feh, 0cch, 0cch, 0cch, 0ceh, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 000h, 07ch + db 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 000h, 07ch, 0c6h, 0c6h + db 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 060h, 030h, 018h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h + db 07ch, 000h, 000h, 000h, 000h, 030h, 078h, 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h + db 000h, 000h, 000h, 060h, 030h, 018h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 078h, 000h, 000h, 0c6h + db 0c6h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 000h + db 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 018h, 018h, 03ch, 066h, 060h + db 060h, 066h, 03ch, 018h, 018h, 000h, 000h, 000h, 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h + db 060h, 0e6h, 0fch, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 03ch, 018h, 07eh, 018h, 07eh, 018h + db 018h, 000h, 000h, 000h, 000h, 0f8h, 0cch, 0cch, 0f8h, 0c4h, 0cch, 0deh, 0cch, 0cch, 0c6h, 000h + db 000h, 000h, 000h, 00eh, 01bh, 018h, 018h, 018h, 07eh, 018h, 018h, 018h, 018h, 0d8h, 070h, 000h + db 000h, 018h, 030h, 060h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 00ch + db 018h, 030h, 000h, 038h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 018h, 030h, 060h + db 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 018h, 030h, 060h, 000h, 0cch + db 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 0dch, 066h, 066h + db 066h, 066h, 066h, 000h, 000h, 000h, 076h, 0dch, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h + db 0c6h, 000h, 000h, 000h, 000h, 03ch, 06ch, 06ch, 03eh, 000h, 07eh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 038h, 06ch, 06ch, 038h, 000h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 030h, 030h, 000h, 030h, 030h, 060h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 006h, 006h, 006h, 000h, 000h, 000h, 000h, 000h, 0c0h, 0c0h, 0c6h, 0cch, 0d8h + db 030h, 060h, 0dch, 086h, 00ch, 018h, 03eh, 000h, 000h, 0c0h, 0c0h, 0c6h, 0cch, 0d8h, 030h, 066h + db 0ceh, 09eh, 03eh, 006h, 006h, 000h, 000h, 000h, 018h, 018h, 000h, 018h, 018h, 03ch, 03ch, 03ch + db 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 036h, 06ch, 0d8h, 06ch, 036h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0d8h, 06ch, 036h, 06ch, 0d8h, 000h, 000h, 000h, 000h, 000h + db 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 055h, 0aah + db 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 0ddh, 077h, 0ddh, 077h + db 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 018h, 018h + db 018h, 018h, 018h, 018h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0f6h, 036h, 036h, 036h, 036h + db 036h, 036h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 036h, 036h + db 036h, 036h, 036h, 0f6h, 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 000h, 000h, 000h, 000h, 000h, 0feh + db 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0f6h, 006h, 0feh + db 000h, 000h, 000h, 000h, 000h, 000h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0feh, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh, 018h, 018h, 018h, 018h + db 018h, 018h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 037h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 037h, 030h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 03fh, 030h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 0f7h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 000h, 0f7h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 037h, 030h, 037h + db 036h, 036h, 036h, 036h, 036h, 036h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 000h, 000h + db 000h, 000h, 000h, 000h, 036h, 036h, 036h, 036h, 036h, 0f7h, 000h, 0f7h, 036h, 036h, 036h, 036h + db 036h, 036h, 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0ffh, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 01fh, 018h, 018h + db 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 03fh, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h + db 0f0h, 0f0h, 0f0h, 0f0h, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh + db 00fh, 00fh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 0d8h, 0d8h, 0dch, 076h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0fch, 0c6h, 0c6h, 0fch, 0c0h, 0c0h, 040h, 000h, 000h, 000h, 0feh, 0c6h + db 0c6h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 06ch + db 06ch, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 0feh, 0c6h, 060h, 030h, 018h, 030h + db 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 0d8h, 0d8h, 0d8h, 0d8h + db 070h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h, 07ch, 060h, 060h, 0c0h + db 000h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h + db 000h, 000h, 07eh, 018h, 03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 000h, 000h, 000h, 000h, 000h + db 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 038h, 06ch + db 0c6h, 0c6h, 0c6h, 06ch, 06ch, 06ch, 0eeh, 000h, 000h, 000h, 000h, 000h, 01eh, 030h, 018h, 00ch + db 03eh, 066h, 066h, 066h, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 0dbh, 0dbh + db 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 003h, 006h, 07eh, 0dbh, 0dbh, 0f3h, 07eh, 060h + db 0c0h, 000h, 000h, 000h, 000h, 000h, 01ch, 030h, 060h, 060h, 07ch, 060h, 060h, 030h, 01ch, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h + db 000h, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 018h, 018h, 07eh, 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 030h, 018h + db 00ch, 006h, 00ch, 018h, 030h, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 00ch, 018h, 030h, 060h + db 030h, 018h, 00ch, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 00eh, 01bh, 01bh, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0d8h, 0d8h + db 070h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 07eh, 000h, 018h, 018h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 00fh, 00ch, 00ch, 00ch, 00ch + db 00ch, 0ech, 06ch, 03ch, 01ch, 000h, 000h, 000h, 000h, 0d8h, 06ch, 06ch, 06ch, 06ch, 06ch, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 070h, 0d8h, 030h, 060h, 0c8h, 0f8h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc69ec LB 0x133a -> off=0x0 cb=0000000000001000 uValue=00000000000c23ec 'vgafont16' +vgafont16: ; 0xc69ec LB 0x1000 + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 07eh, 0ffh, 0dbh, 0ffh, 0ffh, 0c3h, 0e7h, 0ffh, 0ffh, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 06ch, 0feh, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 010h, 038h, 07ch, 0feh, 07ch, 038h, 010h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 03ch, 03ch, 0e7h, 0e7h, 0e7h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 07eh, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h, 000h, 000h, 000h, 000h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 01eh, 00eh, 01ah, 032h, 078h, 0cch, 0cch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 066h, 066h, 066h, 03ch, 018h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 03fh, 033h, 03fh, 030h, 030h, 030h, 030h, 070h, 0f0h, 0e0h, 000h, 000h, 000h, 000h + db 000h, 000h, 07fh, 063h, 07fh, 063h, 063h, 063h, 063h, 067h, 0e7h, 0e6h, 0c0h, 000h, 000h, 000h + db 000h, 000h, 000h, 018h, 018h, 0dbh, 03ch, 0e7h, 03ch, 0dbh, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 080h, 0c0h, 0e0h, 0f0h, 0f8h, 0feh, 0f8h, 0f0h, 0e0h, 0c0h, 080h, 000h, 000h, 000h, 000h + db 000h, 002h, 006h, 00eh, 01eh, 03eh, 0feh, 03eh, 01eh, 00eh, 006h, 002h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 066h, 066h, 066h, 066h, 066h, 066h, 066h, 000h, 066h, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 07fh, 0dbh, 0dbh, 0dbh, 07bh, 01bh, 01bh, 01bh, 01bh, 01bh, 000h, 000h, 000h, 000h + db 000h, 07ch, 0c6h, 060h, 038h, 06ch, 0c6h, 0c6h, 06ch, 038h, 00ch, 0c6h, 07ch, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 0feh, 0feh, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 07eh, 03ch, 018h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 030h, 060h, 0feh, 060h, 030h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0c0h, 0c0h, 0c0h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 010h, 038h, 038h, 07ch, 07ch, 0feh, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 0feh, 07ch, 07ch, 038h, 038h, 010h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 03ch, 03ch, 03ch, 018h, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 066h, 066h, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch, 06ch, 06ch, 0feh, 06ch, 06ch, 000h, 000h, 000h, 000h + db 018h, 018h, 07ch, 0c6h, 0c2h, 0c0h, 07ch, 006h, 006h, 086h, 0c6h, 07ch, 018h, 018h, 000h, 000h + db 000h, 000h, 000h, 000h, 0c2h, 0c6h, 00ch, 018h, 030h, 060h, 0c6h, 086h, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 06ch, 06ch, 038h, 076h, 0dch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 030h, 030h, 030h, 060h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 00ch, 018h, 030h, 030h, 030h, 030h, 030h, 030h, 018h, 00ch, 000h, 000h, 000h, 000h + db 000h, 000h, 030h, 018h, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 018h, 030h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 018h, 018h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 018h, 030h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 002h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 038h, 078h, 018h, 018h, 018h, 018h, 018h, 018h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 006h, 006h, 03ch, 006h, 006h, 006h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 00ch, 01ch, 03ch, 06ch, 0cch, 0feh, 00ch, 00ch, 00ch, 01eh, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 0fch, 006h, 006h, 006h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 060h, 0c0h, 0c0h, 0fch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 0c6h, 006h, 006h, 00ch, 018h, 030h, 030h, 030h, 030h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 07eh, 006h, 006h, 006h, 00ch, 078h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 018h, 018h, 030h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 006h, 00ch, 018h, 030h, 060h, 030h, 018h, 00ch, 006h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07eh, 000h, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 060h, 030h, 018h, 00ch, 006h, 00ch, 018h, 030h, 060h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 00ch, 018h, 018h, 018h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0deh, 0deh, 0deh, 0dch, 0c0h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 066h, 066h, 066h, 066h, 0fch, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0c0h, 0c0h, 0c2h, 066h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0f8h, 06ch, 066h, 066h, 066h, 066h, 066h, 066h, 06ch, 0f8h, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 060h, 062h, 066h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 066h, 062h, 068h, 078h, 068h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0deh, 0c6h, 0c6h, 066h, 03ah, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 01eh, 00ch, 00ch, 00ch, 00ch, 00ch, 0cch, 0cch, 0cch, 078h, 000h, 000h, 000h, 000h + db 000h, 000h, 0e6h, 066h, 066h, 06ch, 078h, 078h, 06ch, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 0f0h, 060h, 060h, 060h, 060h, 060h, 060h, 062h, 066h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0e7h, 0ffh, 0ffh, 0dbh, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 060h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0d6h, 0deh, 07ch, 00ch, 00eh, 000h, 000h + db 000h, 000h, 0fch, 066h, 066h, 066h, 07ch, 06ch, 066h, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 07ch, 0c6h, 0c6h, 060h, 038h, 00ch, 006h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0ffh, 0dbh, 099h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 066h, 03ch, 018h, 018h, 03ch, 066h, 0c3h, 0c3h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0ffh, 0c3h, 086h, 00ch, 018h, 030h, 060h, 0c1h, 0c3h, 0ffh, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 030h, 030h, 030h, 030h, 030h, 030h, 030h, 030h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 080h, 0c0h, 0e0h, 070h, 038h, 01ch, 00eh, 006h, 002h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 00ch, 03ch, 000h, 000h, 000h, 000h + db 010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 000h + db 030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 0e0h, 060h, 060h, 078h, 06ch, 066h, 066h, 066h, 066h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c0h, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 01ch, 00ch, 00ch, 03ch, 06ch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 0cch, 0cch, 07ch, 00ch, 0cch, 078h, 000h + db 000h, 000h, 0e0h, 060h, 060h, 06ch, 076h, 066h, 066h, 066h, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 018h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 006h, 006h, 000h, 00eh, 006h, 006h, 006h, 006h, 006h, 006h, 066h, 066h, 03ch, 000h + db 000h, 000h, 0e0h, 060h, 060h, 066h, 06ch, 078h, 078h, 06ch, 066h, 0e6h, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0e6h, 0ffh, 0dbh, 0dbh, 0dbh, 0dbh, 0dbh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0cch, 0cch, 0cch, 0cch, 0cch, 07ch, 00ch, 00ch, 01eh, 000h + db 000h, 000h, 000h, 000h, 000h, 0dch, 076h, 066h, 060h, 060h, 060h, 0f0h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07ch, 0c6h, 060h, 038h, 00ch, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 010h, 030h, 030h, 0fch, 030h, 030h, 030h, 030h, 036h, 01ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c3h, 066h, 03ch, 018h, 03ch, 066h, 0c3h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 0f8h, 000h + db 000h, 000h, 000h, 000h, 000h, 0feh, 0cch, 018h, 030h, 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 00eh, 018h, 018h, 018h, 070h, 018h, 018h, 018h, 018h, 00eh, 000h, 000h, 000h, 000h + db 000h, 000h, 018h, 018h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 070h, 018h, 018h, 018h, 00eh, 018h, 018h, 018h, 018h, 070h, 000h, 000h, 000h, 000h + db 000h, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 03ch, 066h, 0c2h, 0c0h, 0c0h, 0c0h, 0c2h, 066h, 03ch, 00ch, 006h, 07ch, 000h, 000h + db 000h, 000h, 0cch, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 00ch, 018h, 030h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 0cch, 000h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 038h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 03ch, 066h, 060h, 060h, 066h, 03ch, 00ch, 006h, 03ch, 000h, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 000h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 07ch, 0c6h, 0feh, 0c0h, 0c0h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 066h, 000h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 018h, 03ch, 066h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 0c6h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 038h, 06ch, 038h, 000h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 018h, 030h, 060h, 000h, 0feh, 066h, 060h, 07ch, 060h, 060h, 066h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 06eh, 03bh, 01bh, 07eh, 0d8h, 0dch, 077h, 000h, 000h, 000h, 000h + db 000h, 000h, 03eh, 06ch, 0cch, 0cch, 0feh, 0cch, 0cch, 0cch, 0cch, 0ceh, 000h, 000h, 000h, 000h + db 000h, 010h, 038h, 06ch, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 030h, 078h, 0cch, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 060h, 030h, 018h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 0c6h, 000h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07eh, 006h, 00ch, 078h, 000h + db 000h, 0c6h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 0c6h, 000h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 018h, 018h, 07eh, 0c3h, 0c0h, 0c0h, 0c0h, 0c3h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 064h, 060h, 0f0h, 060h, 060h, 060h, 060h, 0e6h, 0fch, 000h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 066h, 03ch, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 0fch, 066h, 066h, 07ch, 062h, 066h, 06fh, 066h, 066h, 066h, 0f3h, 000h, 000h, 000h, 000h + db 000h, 00eh, 01bh, 018h, 018h, 018h, 07eh, 018h, 018h, 018h, 018h, 018h, 0d8h, 070h, 000h, 000h + db 000h, 018h, 030h, 060h, 000h, 078h, 00ch, 07ch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 00ch, 018h, 030h, 000h, 038h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h + db 000h, 018h, 030h, 060h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 018h, 030h, 060h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 076h, 0dch, 000h, 0dch, 066h, 066h, 066h, 066h, 066h, 066h, 000h, 000h, 000h, 000h + db 076h, 0dch, 000h, 0c6h, 0e6h, 0f6h, 0feh, 0deh, 0ceh, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 03ch, 06ch, 06ch, 03eh, 000h, 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 06ch, 038h, 000h, 07ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 030h, 030h, 000h, 030h, 030h, 060h, 0c0h, 0c6h, 0c6h, 07ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 006h, 006h, 006h, 006h, 000h, 000h, 000h, 000h, 000h + db 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 060h, 0ceh, 09bh, 006h, 00ch, 01fh, 000h, 000h + db 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h, 006h, 000h, 000h + db 000h, 000h, 018h, 018h, 000h, 018h, 018h, 018h, 03ch, 03ch, 03ch, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 036h, 06ch, 0d8h, 06ch, 036h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0d8h, 06ch, 036h, 06ch, 0d8h, 000h, 000h, 000h, 000h, 000h, 000h + db 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h, 011h, 044h + db 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah, 055h, 0aah + db 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h, 0ddh, 077h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 036h, 0f6h, 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0feh, 006h, 0f6h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 0f6h, 006h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0feh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 0f8h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f8h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 037h, 030h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 03fh, 030h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 0f7h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0f7h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 037h, 030h, 037h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 0f7h, 000h, 0f7h, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 0ffh, 000h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 03fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 018h, 018h, 018h, 018h, 018h, 01fh, 018h, 01fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 03fh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 036h, 036h, 036h, 036h, 036h, 036h, 036h, 0ffh, 036h, 036h, 036h, 036h, 036h, 036h, 036h, 036h + db 018h, 018h, 018h, 018h, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01fh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh + db 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h, 0f0h + db 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh, 00fh + db 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 0d8h, 0d8h, 0d8h, 0dch, 076h, 000h, 000h, 000h, 000h + db 000h, 000h, 078h, 0cch, 0cch, 0cch, 0d8h, 0cch, 0c6h, 0c6h, 0c6h, 0cch, 000h, 000h, 000h, 000h + db 000h, 000h, 0feh, 0c6h, 0c6h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 0c0h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 06ch, 06ch, 06ch, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 0feh, 0c6h, 060h, 030h, 018h, 030h, 060h, 0c6h, 0feh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07eh, 0d8h, 0d8h, 0d8h, 0d8h, 0d8h, 070h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 066h, 066h, 066h, 066h, 066h, 07ch, 060h, 060h, 0c0h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 076h, 0dch, 018h, 018h, 018h, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 07eh, 018h, 03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 038h, 06ch, 0c6h, 0c6h, 0feh, 0c6h, 0c6h, 06ch, 038h, 000h, 000h, 000h, 000h + db 000h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 06ch, 06ch, 06ch, 06ch, 0eeh, 000h, 000h, 000h, 000h + db 000h, 000h, 01eh, 030h, 018h, 00ch, 03eh, 066h, 066h, 066h, 066h, 03ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 07eh, 0dbh, 0dbh, 0dbh, 07eh, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 003h, 006h, 07eh, 0dbh, 0dbh, 0f3h, 07eh, 060h, 0c0h, 000h, 000h, 000h, 000h + db 000h, 000h, 01ch, 030h, 060h, 060h, 07ch, 060h, 060h, 060h, 030h, 01ch, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 07ch, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 0c6h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 0feh, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 07eh, 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 030h, 018h, 00ch, 006h, 00ch, 018h, 030h, 000h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 00ch, 018h, 030h, 060h, 030h, 018h, 00ch, 000h, 07eh, 000h, 000h, 000h, 000h + db 000h, 000h, 00eh, 01bh, 01bh, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h + db 018h, 018h, 018h, 018h, 018h, 018h, 018h, 018h, 0d8h, 0d8h, 0d8h, 070h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 018h, 018h, 000h, 07eh, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 076h, 0dch, 000h, 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 038h, 06ch, 06ch, 038h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 00fh, 00ch, 00ch, 00ch, 00ch, 00ch, 0ech, 06ch, 06ch, 03ch, 01ch, 000h, 000h, 000h, 000h + db 000h, 0d8h, 06ch, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 070h, 0d8h, 030h, 060h, 0c8h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc79ec LB 0x33a -> off=0x0 cb=000000000000012d uValue=00000000000c33ec 'vgafont14alt' +vgafont14alt: ; 0xc79ec LB 0x12d + db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h + db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h + db 000h, 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 02dh, 000h, 000h + db 000h, 000h, 000h, 000h, 0ffh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 04dh, 000h, 000h, 0c3h + db 0e7h, 0ffh, 0dbh, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 000h, 000h, 000h, 054h, 000h, 000h, 0ffh, 0dbh + db 099h, 018h, 018h, 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 056h, 000h, 000h, 0c3h, 0c3h, 0c3h + db 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 057h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h + db 0dbh, 0dbh, 0ffh, 066h, 066h, 000h, 000h, 000h, 058h, 000h, 000h, 0c3h, 0c3h, 066h, 03ch, 018h + db 03ch, 066h, 0c3h, 0c3h, 000h, 000h, 000h, 059h, 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h + db 018h, 018h, 03ch, 000h, 000h, 000h, 05ah, 000h, 000h, 0ffh, 0c3h, 086h, 00ch, 018h, 030h, 061h + db 0c3h, 0ffh, 000h, 000h, 000h, 06dh, 000h, 000h, 000h, 000h, 000h, 0e6h, 0ffh, 0dbh, 0dbh, 0dbh + db 0dbh, 000h, 000h, 000h, 076h, 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h + db 000h, 000h, 000h, 077h, 000h, 000h, 000h, 000h, 000h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 000h + db 000h, 000h, 091h, 000h, 000h, 000h, 000h, 06eh, 03bh, 01bh, 07eh, 0d8h, 0dch, 077h, 000h, 000h + db 000h, 09bh, 000h, 018h, 018h, 07eh, 0c3h, 0c0h, 0c0h, 0c3h, 07eh, 018h, 018h, 000h, 000h, 000h + db 09dh, 000h, 000h, 0c3h, 066h, 03ch, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 000h, 000h, 000h, 09eh + db 000h, 0fch, 066h, 066h, 07ch, 062h, 066h, 06fh, 066h, 066h, 0f3h, 000h, 000h, 000h, 0f1h, 000h + db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h + db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h + ; disGetNextSymbol 0xc7b19 LB 0x20d -> off=0x0 cb=0000000000000144 uValue=00000000000c3519 'vgafont16alt' +vgafont16alt: ; 0xc7b19 LB 0x144 + db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h + db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h + db 000h, 000h, 04dh, 000h, 000h, 0c3h, 0e7h, 0ffh, 0ffh, 0dbh, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 000h + db 000h, 000h, 000h, 054h, 000h, 000h, 0ffh, 0dbh, 099h, 018h, 018h, 018h, 018h, 018h, 018h, 03ch + db 000h, 000h, 000h, 000h, 056h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch + db 018h, 000h, 000h, 000h, 000h, 057h, 000h, 000h, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh + db 066h, 066h, 000h, 000h, 000h, 000h, 058h, 000h, 000h, 0c3h, 0c3h, 066h, 03ch, 018h, 018h, 03ch + db 066h, 0c3h, 0c3h, 000h, 000h, 000h, 000h, 059h, 000h, 000h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h + db 018h, 018h, 018h, 03ch, 000h, 000h, 000h, 000h, 05ah, 000h, 000h, 0ffh, 0c3h, 086h, 00ch, 018h + db 030h, 060h, 0c1h, 0c3h, 0ffh, 000h, 000h, 000h, 000h, 06dh, 000h, 000h, 000h, 000h, 000h, 0e6h + db 0ffh, 0dbh, 0dbh, 0dbh, 0dbh, 0dbh, 000h, 000h, 000h, 000h, 076h, 000h, 000h, 000h, 000h, 000h + db 0c3h, 0c3h, 0c3h, 0c3h, 066h, 03ch, 018h, 000h, 000h, 000h, 000h, 077h, 000h, 000h, 000h, 000h + db 000h, 0c3h, 0c3h, 0c3h, 0dbh, 0dbh, 0ffh, 066h, 000h, 000h, 000h, 000h, 078h, 000h, 000h, 000h + db 000h, 000h, 0c3h, 066h, 03ch, 018h, 03ch, 066h, 0c3h, 000h, 000h, 000h, 000h, 091h, 000h, 000h + db 000h, 000h, 000h, 06eh, 03bh, 01bh, 07eh, 0d8h, 0dch, 077h, 000h, 000h, 000h, 000h, 09bh, 000h + db 018h, 018h, 07eh, 0c3h, 0c0h, 0c0h, 0c0h, 0c3h, 07eh, 018h, 018h, 000h, 000h, 000h, 000h, 09dh + db 000h, 000h, 0c3h, 066h, 03ch, 018h, 0ffh, 018h, 0ffh, 018h, 018h, 018h, 000h, 000h, 000h, 000h + db 09eh, 000h, 0fch, 066h, 066h, 07ch, 062h, 066h, 06fh, 066h, 066h, 066h, 0f3h, 000h, 000h, 000h + db 000h, 0abh, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 060h, 0ceh, 09bh, 006h, 00ch, 01fh + db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h + db 006h, 000h, 000h, 000h + ; disGetNextSymbol 0xc7c5d LB 0xc9 -> off=0x0 cb=0000000000000009 uValue=00000000000c365d '_cga_msr' +_cga_msr: ; 0xc7c5d LB 0x9 + db 02ch, 028h, 02dh, 029h, 02ah, 02eh, 01eh, 029h, 000h + ; disGetNextSymbol 0xc7c66 LB 0xc0 -> off=0x0 cb=0000000000000015 uValue=00000000000c3666 '_vbebios_copyright' +_vbebios_copyright: ; 0xc7c66 LB 0x15 + db 'VirtualBox VESA BIOS', 000h + ; disGetNextSymbol 0xc7c7b LB 0xab -> off=0x0 cb=0000000000000013 uValue=00000000000c367b '_vbebios_vendor_name' +_vbebios_vendor_name: ; 0xc7c7b LB 0x13 + db 'Oracle Corporation', 000h + ; disGetNextSymbol 0xc7c8e LB 0x98 -> off=0x0 cb=0000000000000021 uValue=00000000000c368e '_vbebios_product_name' +_vbebios_product_name: ; 0xc7c8e LB 0x21 + db 'Oracle VM VirtualBox VBE Adapter', 000h + ; disGetNextSymbol 0xc7caf LB 0x77 -> off=0x0 cb=0000000000000023 uValue=00000000000c36af '_vbebios_product_revision' +_vbebios_product_revision: ; 0xc7caf LB 0x23 + db 'Oracle VM VirtualBox Version 6.0.4', 000h + ; disGetNextSymbol 0xc7cd2 LB 0x54 -> off=0x0 cb=000000000000002b uValue=00000000000c36d2 '_vbebios_info_string' +_vbebios_info_string: ; 0xc7cd2 LB 0x2b + db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h + ; disGetNextSymbol 0xc7cfd LB 0x29 -> off=0x0 cb=0000000000000029 uValue=00000000000c36fd '_no_vbebios_info_string' +_no_vbebios_info_string: ; 0xc7cfd LB 0x29 + db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h + +section CONST progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP + +section CONST2 progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP + + ; Padding 0x2da bytes at 0xc7d26 + db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh + db 065h, 02fh, 06dh, 069h, 063h, 068h, 061h, 065h, 06ch, 02fh, 076h, 062h, 06fh, 078h, 02fh, 062h + db 072h, 061h, 06eh, 063h, 068h, 065h, 073h, 02fh, 056h, 042h, 06fh, 078h, 02dh, 036h, 02eh, 030h + db 02fh, 06fh, 075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h + db 02fh, 072h, 065h, 06ch, 065h, 061h, 073h, 065h, 02fh, 06fh, 062h, 06ah, 02fh, 056h, 042h, 06fh + db 078h, 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 038h, 030h, 038h, 036h, 02fh, 056h, 042h, 06fh + db 078h, 056h, 067h, 061h, 042h, 069h, 06fh, 073h, 038h, 030h, 038h, 036h, 02eh, 073h, 079h, 06dh + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h + db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 04ch diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum new file mode 100644 index 00000000..706819a6 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum @@ -0,0 +1 @@ +fc6ddcac2e6aab16879426f0d0e5138d *VBoxVgaBios8086.rom diff --git a/src/VBox/Devices/Graphics/BIOS/inlines.h b/src/VBox/Devices/Graphics/BIOS/inlines.h new file mode 100644 index 00000000..210545ac --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/inlines.h @@ -0,0 +1,151 @@ +/** @file + * Inline routines for Watcom C. + */ + +/* + * Copyright (C) 2010-2019 Oracle Corporation + * + * This file is part of VirtualBox Open Source Edition (OSE), as + * available from http://www.virtualbox.org. This file is free software; + * you can redistribute it and/or modify it under the terms of the GNU + * General Public License (GPL) as published by the Free Software + * Foundation, in version 2 as it comes in the "COPYING" file of the + * VirtualBox OSE distribution. VirtualBox OSE is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. + */ + +#ifndef VBOX_INCLUDED_SRC_Graphics_BIOS_inlines_h +#define VBOX_INCLUDED_SRC_Graphics_BIOS_inlines_h +#ifndef RT_WITHOUT_PRAGMA_ONCE +# pragma once +#endif + +extern unsigned inp(unsigned port); +extern unsigned outp(unsigned port, unsigned value); +extern unsigned inpw(unsigned port); +extern unsigned outpw(unsigned port, unsigned value); +#pragma intrinsic(inp,outp,inpw,outpw) +#define inb(p) inp(p) +#define outb(p, v) outp(p, v) +#define inw(p) inpw(p) +#define outw(p, v) outpw(p, v) + +extern uint8_t read_byte(uint16_t seg, uint16_t offset); +extern uint16_t read_word(uint16_t seg, uint16_t offset); +extern uint32_t read_dword(uint16_t seg, uint16_t offset); +extern void write_byte(uint16_t seg, uint16_t offset, uint8_t data); +extern void write_word(uint16_t seg, uint16_t offset, uint16_t data); +extern void write_dword(uint16_t seg, uint16_t offset, uint32_t data); + +void int_enable(void); +#pragma aux int_enable = "sti" modify exact [] nomemory; + +void int_disable(void); +#pragma aux int_disable = "cli" modify exact [] nomemory; + +uint16_t int_query(void); +#pragma aux int_query = \ + "pushf" \ + "pop ax" \ + value [ax] modify exact [ax] nomemory; + +void int_restore(uint16_t old_flags); +#pragma aux int_restore = \ + "push ax" \ + "popf" \ + parm [ax] modify exact [] nomemory; + +void halt(void); +#pragma aux halt = "hlt" modify exact [] nomemory; + +void halt_forever(void); +#pragma aux halt_forever = \ + "forever:" \ + "hlt" \ + "jmp forever" \ + modify exact [] nomemory aborts; + +void rep_movsw(void __far *d, void __far *s, int nwords); +#pragma aux rep_movsw = \ + "push ds" \ + "mov ds, dx" \ + "rep movsw" \ + "pop ds" \ + parm [es di] [dx si] [cx]; + +char __far *rep_insb(char __far *buffer, unsigned nbytes, unsigned port); +#pragma aux rep_insb = ".286" "rep insb" parm [es di] [cx] [dx] value [es di] modify exact [cx di]; + +char __far *rep_insw(char __far *buffer, unsigned nwords, unsigned port); +#pragma aux rep_insw = ".286" "rep insw" parm [es di] [cx] [dx] value [es di] modify exact [cx di]; + +#if VBOX_BIOS_CPU >= 80386 +char __far *rep_insd(char __far *buffer, unsigned ndwords, unsigned port); +# pragma aux rep_insd = ".386" "rep insd" parm [es di] [cx] [dx] value [es di] modify exact [cx di]; +#endif + +char __far *rep_outsb(char __far *buffer, unsigned nbytes, unsigned port); +#pragma aux rep_outsb = ".286" "rep outs dx,byte ptr es:[si]" parm [es si] [cx] [dx] value [es si] modify exact [cx si]; + +char __far *rep_outsw(char __far *buffer, unsigned nwords, unsigned port); +#pragma aux rep_outsw = ".286" "rep outs dx,word ptr es:[si]" parm [es si] [cx] [dx] value [es si] modify exact [cx si]; + +#if VBOX_BIOS_CPU >= 80386 +char __far *rep_outsd(char __far *buffer, unsigned ndwords, unsigned port); +# pragma aux rep_outsd = ".386" "rep outs dx,dword ptr es:[si]" parm [es si] [cx] [dx] value [es si] modify exact [cx si]; +#endif + +uint16_t __far swap_16(uint16_t val); +#pragma aux swap_16 = "xchg ah,al" parm [ax] value [ax] modify exact [ax] nomemory; + +uint32_t __far swap_32(uint32_t val); +#pragma aux swap_32 = \ + "xchg ah, al" \ + "xchg dh, dl" \ + "xchg ax, dx" \ + parm [dx ax] value [dx ax] modify exact [dx ax] nomemory; + +//@todo: Do CLD elsewhere! +extern void memsetb(uint16_t seg, uint16_t offset, uint16_t value, uint16_t count); +#pragma aux memsetb = \ + "cld" \ + "jcxz no_copy" \ + "rep stosb" \ + "no_copy:" \ + parm [es] [di] [ax] [cx]; + +//@todo: Do CLD elsewhere! +extern void memsetw(uint16_t seg, uint16_t offset, uint16_t value, uint16_t count); +#pragma aux memsetw = \ + "cld" \ + "jcxz no_copy" \ + "rep stosw" \ + "no_copy:" \ + parm [es] [di] [ax] [cx]; + +//@todo: Do CLD elsewhere! +extern void memcpyb(uint16_t dseg, uint16_t doffset, uint16_t sseg, uint16_t soffset, uint16_t count); +#pragma aux memcpyb = \ + "cld" \ + "jcxz no_copy" \ + "push ds" \ + "mov ds, dx" \ + "rep movsb" \ + "pop ds" \ + "no_copy:" \ + parm [es] [di] [dx] [si] [cx]; + +//@todo: Do CLD elsewhere! +extern void memcpyw(uint16_t dseg, uint16_t doffset, uint16_t sseg, uint16_t soffset, uint16_t count); +#pragma aux memcpyw = \ + "cld" \ + "jcxz no_copy" \ + "push ds" \ + "mov ds, dx" \ + "rep movsw" \ + "pop ds" \ + "no_copy:" \ + parm [es] [di] [dx] [si] [cx]; + +#endif /* !VBOX_INCLUDED_SRC_Graphics_BIOS_inlines_h */ + diff --git a/src/VBox/Devices/Graphics/BIOS/makefile b/src/VBox/Devices/Graphics/BIOS/makefile new file mode 100644 index 00000000..0173ae56 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/makefile @@ -0,0 +1,48 @@ +# Compiler flags: +# -q no banner +# -wx max warnings +# -0 generate 8086 code +# -ms force small model (default) +# -s remove runtime stack checks (required) +# -os optimize for size +# -zu assume that SS != DS (required) +# -zl do not emit default library information +# +!ifdef __UNIX__ +Q=\" +!else +Q=" +!endif +CFLAGS = -q -3 -wx -zu -zl -s -oas -d1 -ms +DEFS = -DVBOX -DVBE -DVBOX_VERSION_STRING=$(Q)0.9.90$(Q) -DVBOX_VENDOR=$(Q)Oracle_Corporation$(Q) -DVBOX_PRODUCT=$(Q)Oracle_VM_VirtualBox$(Q) -DVBOX_BIOS_CPU=80386 +#DEFS = -DVBOX -DVBOX_VERSION_STRING=$(Q)0.9$(Q) -DVBOX_VENDOR=$(Q)Oracle$(Q) -DVBOX_PRODUCT=$(Q)VirtualBox$(Q) + +AFLAGS = -q -0 -wx + +INCLS = -I$(Q)../../../../../include$(Q) -I$(Q)../../../../../include/VBox/Graphics$(Q) +AINCS = -I$(Q)../../BiosCommonCode$(Q) + +.c.obj : .autodepend + wcc -fo=.obj $(CFLAGS) $(DEFS) $(INCLS) $< + +.asm.obj : .autodepend + wasm -fo=.obj $(AFLAGS) $(DEFS) $(AINCS) $< + +OBJS = vgarom.obj vberom.obj vgabios.obj vbe.obj + +vgabios.rom : vgabios.bin + biossums $< $@ + +vgabios.bin : $(OBJS) $(__MAKEFILES__) + wlink name $@ system dos debug all option quiet & + option nofarcalls, map, verbose, statics, symfile & + output raw offset=0xC0000 order & + clname CODE segment VGAROM segaddr=0xC000 & + segment _TEXT segaddr=0xC000 offset=0xA00 & + segment VBE32 segaddr=0xC000 offset=0x4600 & + clname DATA segment _DATA segaddr=0xC000 offset=0x4800 & + file { $(OBJS) } disable 1014, 1023, 2120 + +clean : .symbolic + @rm -f *.obj *.err + @rm -f vgabios.bin vgabios.rom vgabios.map vgabios.sym diff --git a/src/VBox/Devices/Graphics/BIOS/ose_logo.bmp b/src/VBox/Devices/Graphics/BIOS/ose_logo.bmp Binary files differnew file mode 100644 index 00000000..a4d5008d --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/ose_logo.bmp diff --git a/src/VBox/Devices/Graphics/BIOS/tests/testbios.c b/src/VBox/Devices/Graphics/BIOS/tests/testbios.c new file mode 100644 index 00000000..92295d1d --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/tests/testbios.c @@ -0,0 +1,353 @@ +/* + This is a little turbo C program that executes + several int10, and let you inspect the content + of the vgabios area + + It is used to test the behavior of the vgabios +*/ + +#include <stdio.h> +#include <dos.h> +#include <conio.h> + + +typedef unsigned char Bit8u; +typedef unsigned short Bit16u; + +typedef struct +{Bit8u initial; + Bit8u current; + Bit16u nbcols; + Bit16u regen; + Bit16u start; + Bit16u curpos[8]; + Bit8u curtyp; + Bit8u curpage; + Bit16u crtc; + Bit16u msr; + Bit16u cgapal; + Bit8u nbrows; + Bit16u cheight; + Bit8u ctl; + Bit8u switches; + Bit8u modeset; + Bit8u dcc; + Bit16u vsseg; + Bit16u vsoffset; +} BIOSAREA; + +void int10ax0003(struct REGPACK *regs) +{ + regs->r_ax=0x0003; + intr(0x10,regs); +} + +void int10ax02(struct REGPACK *regs) +{ + regs->r_ax=0x0200; + regs->r_bx=0x0000; + regs->r_dx=0x1710; + intr(0x10,regs); + printf("We are now at 24/17"); +} + +void int10ax03(struct REGPACK *regs) +{ + regs->r_ax=0x0300; + regs->r_bx=0x0000; + intr(0x10,regs); + printf("\nCursor is ax%04x cx%04x dx%04x\n",regs->r_ax,regs->r_cx,regs->r_dx); +} + +void int10ax0501(struct REGPACK *regs) +{ + regs->r_ax=0x0501; + intr(0x10,regs); + regs->r_ax=0x0e61; + regs->r_bx=0x0000; + intr(0x10,regs); + printf("We are now on page 2"); +} + +void int10ax0602(struct REGPACK *regs) +{ + regs->r_ax=0x0602; + regs->r_bx=0x0700; + regs->r_cx=0x0101; + regs->r_dx=0x0a0a; + intr(0x10,regs); + printf("Scrolled 2 up"); +} + +void int10ax0702(struct REGPACK *regs) +{ + regs->r_ax=0x0702; + regs->r_bx=0x0700; + regs->r_cx=0x0101; + regs->r_dx=0x0a0a; + intr(0x10,regs); + printf("Scrolled 2 down"); +} + +void int10ax08(struct REGPACK *regs) +{ + regs->r_ax=0x0800; + regs->r_bx=0x0000; + intr(0x10,regs); +} + +void int10ax09(struct REGPACK *regs) +{ + char attr; + regs->r_ax=0x0501; + intr(0x10,regs); + for(attr=0;attr<16;attr++) + {printf("%02x ",attr); + regs->r_ax=0x0961+attr; + regs->r_bx=0x0100+attr; + regs->r_cx=0x0016; + intr(0x10,regs); + printf("\n"); + } +} + +void int10ax0a(struct REGPACK *regs) +{ + regs->r_ax=0x0501; + intr(0x10,regs); + regs->r_ax=0x0a62; + regs->r_bx=0x0101; + regs->r_cx=0x0016; + intr(0x10,regs); +} + +void int10ax0f(struct REGPACK *regs) +{ + regs->r_ax=0x0501; + intr(0x10,regs); + regs->r_ax=0x0f00; + intr(0x10,regs); +} + +void int10ax1b(struct REGPACK *regs) +{unsigned char table[64]; + unsigned char far *ptable; + int i; + + regs->r_ax=0x0501; + intr(0x10,regs); + regs->r_ax=0x1b00; + regs->r_bx=0x0000; + ptable=&table; + regs->r_es=FP_SEG(ptable); + regs->r_di=FP_OFF(ptable); + printf("Read state info in %04x:%04x\n",regs->r_es,regs->r_di); + intr(0x10,regs); + + for(i=0;i<64;i++) + {if(i%16==0)printf("\n%02x ",i); + printf("%02x ",table[i]); + } + printf("\n"); +} + +static unsigned char var[64]; + +void int10ax13(struct REGPACK *regs) +{unsigned char far *pvar; + + pvar=&var; + + regs->r_ax=0x1300; + regs->r_bx=0x000b; + regs->r_dx=0x1010; + regs->r_cx=0x0002; + regs->r_es=FP_SEG(pvar); + regs->r_bp=FP_OFF(pvar); + pokeb(regs->r_es,regs->r_bp,'t'); + pokeb(regs->r_es,regs->r_bp+1,'b'); + printf("Writing from %04x:%04x\n",regs->r_es,regs->r_bp); + intr(0x10,regs); + +} + +void switch_50(struct REGPACK *regs) +{ + regs->r_ax=0x1202; + regs->r_bx=0x3000; + intr(0x10,regs); + regs->r_ax=0x0003; + intr(0x10,regs); + regs->r_ax=0x1112; + regs->r_bx=0x0000; + intr(0x10,regs); +} + +char exec_function(struct REGPACK *regs) +{char c; + + printf("--- Functions --------------------\n"); + printf("a. int10 ax0003\t"); + printf("b. int10 ax02\t"); + printf("c. int10 ax03\t"); + printf("d. int10 ax0501\n"); + printf("e. int10 ax0602\t"); + printf("f. int10 ax0702\t"); + printf("g. int10 ax08\t"); + printf("h. int10 ax09\t"); + printf("i. int10 ax0a\n"); + printf("j. int10 ax0f\t"); + printf("k. int10 ax1b\t"); + printf("l. int10 ax13\n"); + printf("q. Quit\t"); + printf("r. switch to 50 lines\n"); + c=getche(); + + switch(c) + {case 'a': + int10ax0003(regs); + break; + case 'b': + int10ax02(regs); + break; + case 'c': + int10ax03(regs); + break; + case 'd': + int10ax0501(regs); + break; + case 'e': + int10ax0602(regs); + break; + case 'f': + int10ax0702(regs); + break; + case 'g': + int10ax08(regs); + break; + case 'h': + int10ax09(regs); + break; + case 'i': + int10ax0a(regs); + break; + case 'j': + int10ax0f(regs); + break; + case 'k': + int10ax1b(regs); + break; + case 'l': + int10ax13(regs); + break; + case 'q': + break; + case 'r': + switch_50(regs); + break; + default: + printf("No such function!\n"); + } + + if(c=='q')return 1; + while(kbhit()==0); + c=getch(); + + return 0; +} + +void read_bios_area(BIOSAREA *biosarea) +{ + biosarea->initial=peekb(0x40,0x10); + biosarea->current=peekb(0x40,0x49); + biosarea->nbcols=peek(0x40,0x4a); + biosarea->regen=peek(0x40,0x4c); + biosarea->start=peek(0x40,0x4e); + biosarea->curpos[0]=peek(0x40,0x50); + biosarea->curpos[1]=peek(0x40,0x52); + biosarea->curpos[2]=peek(0x40,0x54); + biosarea->curpos[3]=peek(0x40,0x56); + biosarea->curpos[4]=peek(0x40,0x58); + biosarea->curpos[5]=peek(0x40,0x5a); + biosarea->curpos[6]=peek(0x40,0x5c); + biosarea->curpos[7]=peek(0x40,0x5e); + biosarea->curtyp=peek(0x40,0x60); + biosarea->curpage=peekb(0x40,0x62); + biosarea->crtc=peek(0x40,0x63); + biosarea->msr=peekb(0x40,0x65); + biosarea->cgapal=peekb(0x40,0x66); + biosarea->nbrows=peekb(0x40,0x84); + biosarea->cheight=peek(0x40,0x85); + biosarea->ctl=peekb(0x40,0x87); + biosarea->switches=peekb(0x40,0x88); + biosarea->modeset=peekb(0x40,0x89); + biosarea->dcc=peekb(0x40,0x8a); + biosarea->vsseg=peek(0x40,0xa8); + biosarea->vsoffset=peek(0x40,0xaa); +} + +void show_bios_area(BIOSAREA *biosarea) +{ + printf("--- BIOS area --------------------\n"); + printf("initial : %02x\t",biosarea->initial); + printf("current : %02x\t",biosarea->current); + printf("nbcols : %04x\t",biosarea->nbcols); + printf("regen : %04x\t",biosarea->regen); + printf("start : %04x\n",biosarea->start); + printf("curpos : %04x %04x %04x %04x %04x %04x %04x %04x\n", + biosarea->curpos[0], biosarea->curpos[1], biosarea->curpos[2], biosarea->curpos[3], + biosarea->curpos[4], biosarea->curpos[5], biosarea->curpos[6], biosarea->curpos[7]); + printf("curtyp : %04x\t",biosarea->curtyp); + printf("curpage : %02x\t",biosarea->curpage); + printf("crtc : %04x\t",biosarea->crtc); + printf("msr : %04x\n",biosarea->msr); + printf("cgapal : %04x\t",biosarea->cgapal); + printf("nbrows-1: %02x\t",biosarea->nbrows); + printf("cheight : %04x\t",biosarea->cheight); + printf("ctl : %02x\n",biosarea->ctl); + printf("switches: %02x\t",biosarea->switches); + printf("modeset : %02x\t",biosarea->modeset); + printf("dcc : %02x\t",biosarea->dcc); + printf("vs : %04x:%04x\n",biosarea->vsseg,biosarea->vsoffset); +} + +void show_regs(struct REGPACK *regs) +{ + printf("--- Registers --------------------\n"); + printf("ax %04x\t",regs->r_ax); + printf("bx %04x\t",regs->r_bx); + printf("cx %04x\t",regs->r_cx); + printf("dx %04x\t",regs->r_dx); + printf("ds %04x\t",regs->r_ds); + printf("si %04x\t",regs->r_si); + printf("es %04x\t",regs->r_es); + printf("di %04x\n",regs->r_di); +} + +void reset_videomode() +{ + struct REGPACK regs; + + regs.r_ax=0x0003; + intr(0x10,®s); +} + +void main() +{ + + BIOSAREA biosarea; + struct REGPACK regs; + + directvideo=0; + + while(1) + { + read_bios_area(&biosarea); + + reset_videomode(); + show_bios_area(&biosarea); + show_regs(®s); + + if(exec_function(®s)!=0)break; + } +} diff --git a/src/VBox/Devices/Graphics/BIOS/vbe.c b/src/VBox/Devices/Graphics/BIOS/vbe.c new file mode 100644 index 00000000..f7bf2b22 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vbe.c @@ -0,0 +1,802 @@ +// ============================================================================================ +// +// Copyright (C) 2002 Jeroen Janssen +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library 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 +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// ============================================================================================ +// +// This VBE is part of the VGA Bios specific to the plex86/bochs Emulated VGA card. +// You can NOT drive any physical vga card with it. +// +// ============================================================================================ +// +// This VBE Bios is based on information taken from : +// - VESA BIOS EXTENSION (VBE) Core Functions Standard Version 3.0 located at www.vesa.org +// +// ============================================================================================ + + +/* + * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice + * other than GPL or LGPL is available it will apply instead, Oracle elects to use only + * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where + * a choice of LGPL license versions is made available with the language indicating + * that LGPLv2 or any later version may be used, or where a choice of which version + * of the LGPL is applied is otherwise unspecified. + */ + +#include <inttypes.h> +#include <stddef.h> +#include "vbe.h" +#include "vgadefs.h" +#include "inlines.h" + +// disable VESA/VBE2 check in vbe info +//#define VBE2_NO_VESA_CHECK + +// use bytewise i/o (Longhorn beta issue, not in released Vista) +#define VBE_BYTEWISE_IO + +#ifdef VBE_BYTEWISE_IO + extern void do_out_dx_ax(); + #pragma aux do_out_dx_ax "*"; + extern void out_w(uint16_t port, uint16_t value); + #pragma aux out_w = \ + "call do_out_dx_ax" \ + parm [dx] [ax] modify nomemory; + extern void do_in_ax_dx(); + #pragma aux do_in_ax_dx "*"; + extern uint16_t in_w(uint16_t port); + #pragma aux in_w = \ + "call do_in_ax_dx" \ + parm [dx] value [ax] modify nomemory; +#else + #define out_w outw + #define in_w inw +#endif + + +/* VESA signatures as integer constants. */ +#define SIG_VBE2 0x32454256 /* 'VBE2' */ +#define SIG_VESA 0x41534556 /* 'VESA' */ + + +/* Implemented in assembler. */ +extern void __cdecl vga_compat_setup(void); +extern void dispi_set_enable(uint16_t enable); +extern void dispi_set_bank(uint16_t bank); +extern uint16_t __cdecl dispi_get_max_bpp(void); +extern void __cdecl dispi_set_bank_farcall(void); + +// The current OEM Software Revision of this VBE Bios +#define VBE_OEM_SOFTWARE_REV 0x0003 + +// FIXME: 'merge' these (c) etc strings with the vgabios.c strings? +char vbebios_copyright[] = "VirtualBox VESA BIOS"; +char vbebios_vendor_name[] = VBOX_VENDOR; +char vbebios_product_name[] = VBOX_PRODUCT " VBE Adapter"; +char vbebios_product_revision[] = VBOX_PRODUCT " Version " VBOX_VERSION_STRING; + +char vbebios_info_string[] = "VirtualBox VBE Display Adapter enabled\r\n\r\n"; +char no_vbebios_info_string[] = "No VirtualBox VBE support available!\r\n\r\n"; + +#ifdef VGA_DEBUG +char msg_vbe_init[] = "VirtualBox Version " VBOX_VERSION_STRING " VBE Display Adapter\r\n"; +#endif + +static void dispi_set_xres(uint16_t xres) +{ +#ifdef VGA_DEBUG + printf("vbe_set_xres: %04x\n", xres); +#endif + out_w(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_XRES); + out_w(VBE_DISPI_IOPORT_DATA, xres); +} + +static void dispi_set_yres(uint16_t yres) +{ +#ifdef VGA_DEBUG + printf("vbe_set_yres: %04x\n", yres); +#endif + out_w(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_YRES); + out_w(VBE_DISPI_IOPORT_DATA, yres); +} + +static uint16_t dispi_get_yres(void) +{ + out_w(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_YRES); + return in_w(VBE_DISPI_IOPORT_DATA); +} + +static void dispi_set_bpp(uint16_t bpp) +{ +#ifdef VGA_DEBUG + printf("vbe_set_bpp: %02x\n", bpp); +#endif + out_w(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_BPP); + out_w(VBE_DISPI_IOPORT_DATA, bpp); +} + +static uint16_t dispi_get_bpp(void) +{ + out_w(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_BPP); + return in_w(VBE_DISPI_IOPORT_DATA); +} + +static void dispi_set_virt_width(uint16_t vwidth) +{ +#ifdef VGA_DEBUG + printf("vbe_set_virt_width: %04x\n", vwidth); +#endif + out_w(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_VIRT_WIDTH); + out_w(VBE_DISPI_IOPORT_DATA, vwidth); +} + +static uint16_t dispi_get_virt_width(void) +{ + out_w(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_VIRT_WIDTH); + return in_w(VBE_DISPI_IOPORT_DATA); +} + +static uint16_t dispi_get_virt_height(void) +{ + out_w(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_VIRT_HEIGHT); + return in_w(VBE_DISPI_IOPORT_DATA); +} + +uint16_t in_word(uint16_t port, uint16_t addr) +{ + outw(port, addr); + return inw(port); +} + +uint8_t in_byte(uint16_t port, uint16_t addr) +{ + outw(port, addr); + return inb(port); +} + +/* Display "chip" identification helpers. */ +static uint16_t dispi_get_id(void) +{ + outw(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_ID); + return inw(VBE_DISPI_IOPORT_DATA); +} + +static void dispi_set_id(uint16_t chip_id) +{ + outw(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_ID); + outw(VBE_DISPI_IOPORT_DATA, chip_id); +} + +/* VBE Init - Initialise the VESA BIOS Extension (VBE) support + * This function does a sanity check on the host side display code interface. + */ +void vbe_init(void) +{ + dispi_set_id(VBE_DISPI_ID0); + if (dispi_get_id() == VBE_DISPI_ID0) { + /* VBE support was detected. */ + write_byte(BIOSMEM_SEG, BIOSMEM_VBE_FLAG, 1); + dispi_set_id(VBE_DISPI_ID4); + } +#ifdef DEBUG_VGA + printf(msg_vbe_init); +#endif +} + +/* Find the offset of the desired mode, given its number. */ +static uint16_t mode_info_find_mode(uint16_t mode, Boolean using_lfb) +{ + uint16_t sig, vmode, attrs; + uint16_t cur_info_ofs; /* Current offset in mode list. */ + + /* Read and check the VBE Extra Data signature. */ + sig = in_word(VBE_EXTRA_PORT, 0); + if (sig != VBEHEADER_MAGIC) { +#ifdef DEBUG_VGA + printf("Signature NOT found! %x\n", sig); +#endif + return 0; + } + + cur_info_ofs = sizeof(VBEHeader); + + vmode = in_word(VBE_EXTRA_PORT, cur_info_ofs + offsetof(ModeInfoListItem, mode)/*&cur_info->mode*/); + while (vmode != VBE_VESA_MODE_END_OF_LIST) + { + attrs = in_word(VBE_EXTRA_PORT, /*&cur_info->info.ModeAttributes*/cur_info_ofs + offsetof(ModeInfoListItem, info.ModeAttributes) ); + + if (vmode == mode) + { + if (!using_lfb) + return cur_info_ofs; + else if (attrs & VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE) + return cur_info_ofs; + else { + cur_info_ofs += sizeof(ModeInfoListItem); + vmode = in_word(VBE_EXTRA_PORT, /*&cur_info->mode*/cur_info_ofs + offsetof(ModeInfoListItem, mode)); + } + } else { + cur_info_ofs += sizeof(ModeInfoListItem); + vmode = in_word(VBE_EXTRA_PORT, /*&cur_info->mode*/cur_info_ofs + offsetof(ModeInfoListItem, mode)); + } + } + return 0; +} + +#ifndef VBOX +; VBE Display Info - Display information on screen about the VBE + +vbe_display_info: + call _vbe_has_vbe_display + test ax, ax + jz no_vbe_flag + mov ax, #0xc000 + mov ds, ax + mov si, #_vbebios_info_string + jmp _display_string +no_vbe_flag: + mov ax, #0xc000 + mov ds, ax + mov si, #_no_vbebios_info_string + jmp _display_string +#endif + +/** Function 00h - Return VBE Controller Information + * + * Input: + * AX = 4F00h + * ES:DI = Pointer to buffer in which to place VbeInfoBlock structure + * (VbeSignature should be VBE2 when VBE 2.0 information is desired and + * the info block is 512 bytes in size) + * Output: + * AX = VBE Return Status + * + */ +void vbe_biosfn_return_controller_information(uint16_t STACK_BASED *AX, uint16_t ES, uint16_t DI) +{ + uint16_t status; + uint16_t vbe2_info; + uint16_t cur_mode = 0; + uint16_t cur_ptr=34; + uint16_t cur_info_ofs; + uint16_t sig, vmode; + uint16_t max_bpp = dispi_get_max_bpp(); + VbeInfoBlock __far *info_block; + + info_block = ES :> (VbeInfoBlock *)DI; + + /* Read VBE Extra Data signature */ + sig = in_word(VBE_EXTRA_PORT, 0); + if (sig != VBEHEADER_MAGIC) + { + *AX = 0x0100; +#ifdef DEBUG_VGA + printf("Signature NOT found\n"); +#endif + return; + } + cur_info_ofs = sizeof(VBEHeader); + status = *AX; + +#ifdef VGA_DEBUG + printf("VBE vbe_biosfn_return_vbe_info ES%x DI%x AX%x\n",ES,DI,status); +#endif + + vbe2_info = 0; + + /* Don't use a local copy of VbeInfoBlock on the stack; it's too big. + * The Ubuntu 8.04 64 bits splash screen emulator can't handle this. + */ +#ifdef VBE2_NO_VESA_CHECK +#else /* !VBE2_NO_VESA_CHECK */ + // check for VBE2 signature + if (info_block->VbeSignature.Sig32 == SIG_VBE2 || info_block->VbeSignature.Sig32 == SIG_VESA) + { + vbe2_info = 1; +#ifdef VGA_DEBUG + printf("VBE correct VESA/VBE2 signature found\n"); +#endif + } +#endif /* !VBE2_NO_VESA_CHECK */ + + /* VBE Signature - the compiler will optimize this into something sane. */ + info_block->VbeSignature.SigChr[0] = 'V'; + info_block->VbeSignature.SigChr[1] = 'E'; + info_block->VbeSignature.SigChr[2] = 'S'; + info_block->VbeSignature.SigChr[3] = 'A'; + + /* VBE Version supported. */ + info_block->VbeVersion = 0x0200; /* Version 2.0. */ + + /* OEM String. */ + info_block->OemString.Ptr = &vbebios_copyright; + + /* Capabilities if this implementation. */ + info_block->Capabilities[0] = VBE_CAPABILITY_8BIT_DAC; + info_block->Capabilities[1] = 0; + info_block->Capabilities[2] = 0; + info_block->Capabilities[3] = 0; + + /* Video mode list pointer (dynamically generated). */ + info_block->VideoModePtr_Seg = ES; + info_block->VideoModePtr_Off = DI + 34; + + /* Total controller memory in 64K units. */ + info_block->TotalMemory = in_word(VBE_EXTRA_PORT, 0xffff); + + if (vbe2_info) + { + /* OEM information. */ + info_block->OemSoftwareRev = VBE_OEM_SOFTWARE_REV; + info_block->OemVendorName.Ptr = &vbebios_vendor_name; + info_block->OemProductName.Ptr = &vbebios_product_name; + info_block->OemProductRev.Ptr = &vbebios_product_revision; + } + + do + { + uint8_t data_b; + + data_b = in_byte(VBE_EXTRA_PORT, cur_info_ofs + offsetof(ModeInfoListItem, info.BitsPerPixel) /*&cur_info->info.BitsPerPixel*/); + if (data_b <= max_bpp) + { + vmode = in_word(VBE_EXTRA_PORT, cur_info_ofs + offsetof(ModeInfoListItem, mode)/*&cur_info->mode*/); +#ifdef VGA_DEBUG + printf("VBE found mode %x => %x\n", vmode, cur_mode); +#endif + write_word(ES, DI + cur_ptr, vmode); + cur_mode++; + cur_ptr+=2; + } + cur_info_ofs += sizeof(ModeInfoListItem); + vmode = in_word(VBE_EXTRA_PORT, cur_info_ofs + offsetof(ModeInfoListItem, mode)/*&cur_info->mode*/); + } while (vmode != VBE_VESA_MODE_END_OF_LIST); + + // Add vesa mode list terminator + write_word(ES, DI + cur_ptr, vmode); + *AX = 0x004F; +} + +/** Function 01h - Return VBE Mode Information + * + * Input: + * AX = 4F01h + * CX = Mode Number + * ES:DI = Pointer to buffer in which to place ModeInfoBlock structure + * Output: + * AX = VBE Return Status + * + */ +void vbe_biosfn_return_mode_information(uint16_t STACK_BASED *AX, uint16_t CX, uint16_t ES, uint16_t DI) +{ + uint16_t result = 0x0100; + uint16_t cur_info_ofs; + Boolean using_lfb; + uint8_t win_attr; + +#ifdef VGA_DEBUG + printf("VBE vbe_biosfn_return_mode_information ES%x DI%x CX%x\n",ES,DI,CX); +#endif + + using_lfb = ((CX & VBE_MODE_LINEAR_FRAME_BUFFER) == VBE_MODE_LINEAR_FRAME_BUFFER); + CX = (CX & 0x1ff); + + cur_info_ofs = mode_info_find_mode(CX, using_lfb); + + if (cur_info_ofs) { + uint16_t i; +#ifdef VGA_DEBUG + printf("VBE found mode %x\n",CX); +#endif + memsetb(ES, DI, 0, 256); // The mode info size is fixed + for (i = 0; i < sizeof(ModeInfoBlockCompact); i++) { + uint8_t b; + + b = in_byte(VBE_EXTRA_PORT, cur_info_ofs + offsetof(ModeInfoListItem, info) + i/*(char *)(&(cur_info->info)) + i*/); + write_byte(ES, DI + i, b); + } + win_attr = read_byte(ES, DI + offsetof(ModeInfoBlock, WinAAttributes)); + if (win_attr & VBE_WINDOW_ATTRIBUTE_RELOCATABLE) { + write_word(ES, DI + offsetof(ModeInfoBlock, WinFuncPtr), (uint16_t)(dispi_set_bank_farcall)); + // If BIOS not at 0xC000 -> boom + write_word(ES, DI + offsetof(ModeInfoBlock, WinFuncPtr) + 2, 0xC000); + } + // Update the LFB physical address which may change at runtime + out_w(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_FB_BASE_HI); + write_word(ES, DI + offsetof(ModeInfoBlock, PhysBasePtr) + 2, in_w(VBE_DISPI_IOPORT_DATA)); + + result = 0x4f; + } else { +#ifdef VGA_DEBUG + printf("VBE *NOT* found mode %x\n",CX); +#endif + result = 0x100; + } + + *AX = result; +} + +/** Function 02h - Set VBE Mode + * + * Input: + * AX = 4F02h + * BX = Desired Mode to set + * ES:DI = Pointer to CRTCInfoBlock structure + * Output: + * AX = VBE Return Status + * + */ +void vbe_biosfn_set_mode(uint16_t STACK_BASED *AX, uint16_t BX, uint16_t ES, uint16_t DI) +{ + uint16_t result; + uint16_t cur_info_ofs; + Boolean using_lfb; + uint8_t no_clear; + uint8_t lfb_flag; + + using_lfb = ((BX & VBE_MODE_LINEAR_FRAME_BUFFER) == VBE_MODE_LINEAR_FRAME_BUFFER); + lfb_flag = using_lfb ? VBE_DISPI_LFB_ENABLED : 0; + no_clear = ((BX & VBE_MODE_PRESERVE_DISPLAY_MEMORY) == VBE_MODE_PRESERVE_DISPLAY_MEMORY) ? VBE_DISPI_NOCLEARMEM : 0; + + BX = (BX & 0x1ff); + + // check for non vesa mode + if (BX < VBE_MODE_VESA_DEFINED) + { + uint8_t mode; + + dispi_set_enable(VBE_DISPI_DISABLED); + // call the vgabios in order to set the video mode + // this allows for going back to textmode with a VBE call (some applications expect that to work) + mode = (BX & 0xff); + biosfn_set_video_mode(mode); + result = 0x4f; + goto leave; + } + + cur_info_ofs = mode_info_find_mode(BX, using_lfb); + + if (cur_info_ofs != 0) + { + uint16_t xres, yres; + uint8_t bpp; + + xres = in_word(VBE_EXTRA_PORT, cur_info_ofs + offsetof(ModeInfoListItem, info.XResolution) /*&cur_info->info.XResolution*/); + yres = in_word(VBE_EXTRA_PORT, cur_info_ofs + offsetof(ModeInfoListItem, info.YResolution) /*&cur_info->info.YResolution*/); + bpp = in_byte(VBE_EXTRA_PORT, cur_info_ofs + offsetof(ModeInfoListItem, info.BitsPerPixel) /*&cur_info->info.BitsPerPixel*/); + +#ifdef VGA_DEBUG + printf("VBE found mode %x, setting:\n", BX); + printf("\txres%x yres%x bpp%x\n", xres, yres, bpp); +#endif + + // first disable current mode (when switching between vesa modi) + dispi_set_enable(VBE_DISPI_DISABLED); + + if (bpp == 4) + { + biosfn_set_video_mode(0x6a); + } + + dispi_set_bpp(bpp); + dispi_set_xres(xres); + dispi_set_yres(yres); + dispi_set_bank(0); + dispi_set_enable(VBE_DISPI_ENABLED | no_clear | lfb_flag); + vga_compat_setup(); + + write_word(BIOSMEM_SEG,BIOSMEM_VBE_MODE,BX); + write_byte(BIOSMEM_SEG,BIOSMEM_VIDEO_CTL,(0x60 | no_clear)); + + result = 0x4f; + } + else + { +#ifdef VGA_DEBUG + printf("VBE *NOT* found mode %x\n" , BX); +#endif + result = 0x100; + } + +leave: + *AX = result; +} + +uint16_t vbe_biosfn_read_video_state_size(void) +{ + return 9 * 2; +} + +void vbe_biosfn_save_video_state(uint16_t ES, uint16_t BX) +{ + uint16_t enable, i; + + outw(VBE_DISPI_IOPORT_INDEX,VBE_DISPI_INDEX_ENABLE); + enable = inw(VBE_DISPI_IOPORT_DATA); + write_word(ES, BX, enable); + BX += 2; + if (!(enable & VBE_DISPI_ENABLED)) + return; + for(i = VBE_DISPI_INDEX_XRES; i <= VBE_DISPI_INDEX_Y_OFFSET; i++) { + if (i != VBE_DISPI_INDEX_ENABLE) { + outw(VBE_DISPI_IOPORT_INDEX, i); + write_word(ES, BX, inw(VBE_DISPI_IOPORT_DATA)); + BX += 2; + } + } +} + + +void vbe_biosfn_restore_video_state(uint16_t ES, uint16_t BX) +{ + uint16_t enable, i; + + enable = read_word(ES, BX); + BX += 2; + + if (!(enable & VBE_DISPI_ENABLED)) { + outw(VBE_DISPI_IOPORT_INDEX,VBE_DISPI_INDEX_ENABLE); + outw(VBE_DISPI_IOPORT_DATA, enable); + } else { + outw(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_XRES); + outw(VBE_DISPI_IOPORT_DATA, read_word(ES, BX)); + BX += 2; + outw(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_YRES); + outw(VBE_DISPI_IOPORT_DATA, read_word(ES, BX)); + BX += 2; + outw(VBE_DISPI_IOPORT_INDEX, VBE_DISPI_INDEX_BPP); + outw(VBE_DISPI_IOPORT_DATA, read_word(ES, BX)); + BX += 2; + outw(VBE_DISPI_IOPORT_INDEX,VBE_DISPI_INDEX_ENABLE); + outw(VBE_DISPI_IOPORT_DATA, enable); + + for(i = VBE_DISPI_INDEX_BANK; i <= VBE_DISPI_INDEX_Y_OFFSET; i++) { + outw(VBE_DISPI_IOPORT_INDEX, i); + outw(VBE_DISPI_IOPORT_DATA, read_word(ES, BX)); + BX += 2; + } + } +} + +/** Function 04h - Save/Restore State + * + * Input: + * AX = 4F04h + * DL = 00h Return Save/Restore State buffer size + * 01h Save State + * 02h Restore State + * CX = Requested states + * ES:BX = Pointer to buffer (if DL <> 00h) + * Output: + * AX = VBE Return Status + * BX = Number of 64-byte blocks to hold the state buffer (if DL=00h) + * + */ +void vbe_biosfn_save_restore_state(uint16_t STACK_BASED *AX, uint16_t CX, uint16_t DX, + uint16_t ES, uint16_t STACK_BASED *BX) +{ + uint16_t result, val; + + result = 0x004F; + switch(GET_DL()) { + case 0x00: + val = biosfn_read_video_state_size2(CX); +#ifdef VGA_DEBUG + printf("VGA state size=%x\n", val); +#endif + if (CX & 8) + val += vbe_biosfn_read_video_state_size(); + *BX = (val + 63) / 64; + break; + case 0x01: + val = *BX; + val = biosfn_save_video_state(CX, ES, val); +#ifdef VGA_DEBUG + printf("VGA save_state offset=%x\n", val); +#endif + if (CX & 8) + vbe_biosfn_save_video_state(ES, val); + break; + case 0x02: + val = *BX; + val = biosfn_restore_video_state(CX, ES, val); +#ifdef VGA_DEBUG + printf("VGA restore_state offset=%x\n", val); +#endif + if (CX & 8) + vbe_biosfn_restore_video_state(ES, val); + break; + default: + // function failed + result = 0x100; + break; + } + *AX = result; +} + +/** Function 06h - Set/Get Logical Scan Line Length + * + * Input: + * AX = 4F06h + * BL = 00h Set Scan Line Length in Pixels + * = 01h Get Scan Line Length + * = 02h Set Scan Line Length in Bytes + * = 03h Get Maximum Scan Line Length + * CX = If BL=00h Desired Width in Pixels + * If BL=02h Desired Width in Bytes + * (Ignored for Get Functions) + * + * Output: + * AX = VBE Return Status + * BX = Bytes Per Scan Line + * CX = Actual Pixels Per Scan Line (truncated to + * nearest complete pixel) + * DX = Maximum Number of Scan Lines + */ +void vbe_biosfn_get_set_scanline_length(uint16_t STACK_BASED *AX, uint16_t STACK_BASED *BX, + uint16_t STACK_BASED *CX, uint16_t STACK_BASED *DX) +{ + uint16_t val; + uint16_t result; + uint8_t bpp; + uint8_t subfn; + uint16_t old_vw; + + bpp = dispi_get_bpp(); + bpp = bpp == 15 ? 16 : bpp; + old_vw = dispi_get_virt_width(); + result = 0x004F; + val = *CX; + subfn = *BX & 0xFF; +#ifdef VGA_DEBUG + printf("VBE get/set scanline len fn=%x, CX=%x\n", subfn, *CX); +#endif + switch(subfn) { + case 0x02: + if (bpp == 4) + val = val * 8; + else + val = val / (bpp / 8); + /* fall through */ + case 0x00: + dispi_set_virt_width(val); + /* fall through */ + case 0x01: + val = dispi_get_virt_width(); + *CX = val; /* Width in pixels. */ + if (bpp == 4) + val = val / 8; + else + val = val * (bpp / 8); + val = (val + 3) & ~3; + *BX = val; /* Bytes per scanline. */ + *DX = dispi_get_virt_height(); /* Height in lines. */ + if (*DX < dispi_get_yres()) { + dispi_set_virt_width(old_vw); + result = 0x200; + } + break; + default: + // function failed + result = 0x100; + break; + } + *AX = result; +} + + +/* We would very much like to avoid dragging in the long multiply library + * routine, and we really just need to multiply two 16-bit numbers to + * obtain a 32-bit result, so... + */ +uint32_t mul32_16x16(uint16_t a, uint16_t b); +#pragma aux mul32_16x16 = \ + "mul dx" \ + parm [ax] [dx] modify nomemory; + + +/** Private INT 10h function 5642h - Manage custom video modes using X/Y + * resolution and bit depth rather than mode number + * + * Input: + * AX = 5642h ('VB') + * BL = 00h Set video mode + * BH = If BL=00h Desired bit depth in pixels + * CX = If BL=00h Desired width in pixels + * DX = If BL=00h Desired height in pixels + * + * Output: + * AX = VBE style return status + */ +void private_biosfn_custom_mode(uint16_t STACK_BASED *AX, uint16_t STACK_BASED *BX, + uint16_t STACK_BASED *CX, uint16_t STACK_BASED *DX) +{ + uint16_t result; + uint8_t subfn; + uint8_t bpp; + uint8_t lfb_flag; + uint16_t xres; + uint16_t yres; + uint16_t line_size; + uint32_t vram_size; + uint32_t mode_size; + + result = 0x004F; + subfn = *BX & 0xFF; + switch (subfn) { + case 0x00: + xres = *CX; + yres = *DX; + bpp = (*BX >> 8) & 0x7F; +#ifdef VGA_DEBUG + printf("Set custom mode %04x by %04x %xbpp\n", xres, yres, bpp); +#endif + /* Only allow 32/16/8bpp. */ + if (bpp != 8 && bpp != 16 && bpp != 32) { + result = 0x100; + break; + } + + /* Determine the LFB flag. */ + lfb_flag = *BX & 0x8000 ? VBE_DISPI_LFB_ENABLED : 0; + + /* Cap the resolution to something not insanely high or low. */ + if (xres < 640) + xres = 640; + else if (xres > 2560) + xres = 2560; + if (yres < 480) + yres = 480; + else if (yres > 1920) + yres = 1920; +#ifdef VGA_DEBUG + printf("Adjusted resolution %04x by %04x\n", xres, yres); +#endif + + /* Calculate the VRAM size in bytes. */ + vram_size = (uint32_t)in_word(VBE_EXTRA_PORT, 0xffff) << 16; + + /* Calculate the scanline size in bytes. */ + line_size = xres * (bpp / 8); + line_size = (line_size + 3) & ~3; + /* And now the memory required for the mode. */ + mode_size = mul32_16x16(line_size, yres); + + if (mode_size > vram_size) { + /* No can do. Don't have that much VRAM. */ + result = 0x200; + break; + } + + /* Mode looks valid, let's get cracking. */ + dispi_set_enable(VBE_DISPI_DISABLED); + dispi_set_bpp(bpp); + dispi_set_xres(xres); + dispi_set_yres(yres); + dispi_set_bank(0); + dispi_set_enable(VBE_DISPI_ENABLED | lfb_flag); + vga_compat_setup(); + break; + + default: + // unsupported sub-function + result = 0x100; + break; + } + *AX = result; +} diff --git a/src/VBox/Devices/Graphics/BIOS/vbe.h b/src/VBox/Devices/Graphics/BIOS/vbe.h new file mode 100644 index 00000000..eb2ea867 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vbe.h @@ -0,0 +1,117 @@ + +#ifndef VBOX_INCLUDED_SRC_Graphics_BIOS_vbe_h +#define VBOX_INCLUDED_SRC_Graphics_BIOS_vbe_h +#ifndef RT_WITHOUT_PRAGMA_ONCE +# pragma once +#endif + +#include "vgabios.h" + +#include <VBoxVideoVBE.h> +#include <VBoxVideoVBEPrivate.h> + +// DISPI helper function +//void dispi_set_enable(Boolean enable); + +/** VBE int10 API + * + * See the function descriptions in vbe.c for more information + */ + +/* Far pointer for VBE info block usage. */ +typedef union vbe_ptr { + uint32_t Ptr32; + void __far *Ptr; + union { + uint16_t Off; + uint16_t Seg; + }; +} vbe_ptr; + +// The official VBE Information Block +typedef struct VbeInfoBlock +{ + union { + uint8_t SigChr[4]; + uint32_t Sig32; + } VbeSignature; + uint16_t VbeVersion; + vbe_ptr OemString; + uint8_t Capabilities[4]; + uint16_t VideoModePtr_Off; + uint16_t VideoModePtr_Seg; + uint16_t TotalMemory; + uint16_t OemSoftwareRev; + vbe_ptr OemVendorName; + vbe_ptr OemProductName; + vbe_ptr OemProductRev; + uint16_t Reserved[111]; // used for dynamically generated mode list + uint8_t OemData[256]; +} VbeInfoBlock; + + +typedef struct ModeInfoBlock +{ +// Mandatory information for all VBE revisions + uint16_t ModeAttributes; + uint8_t WinAAttributes; + uint8_t WinBAttributes; + uint16_t WinGranularity; + uint16_t WinSize; + uint16_t WinASegment; + uint16_t WinBSegment; + uint32_t WinFuncPtr; + uint16_t BytesPerScanLine; +// Mandatory information for VBE 1.2 and above + uint16_t XResolution; + uint16_t YResolution; + uint8_t XCharSize; + uint8_t YCharSize; + uint8_t NumberOfPlanes; + uint8_t BitsPerPixel; + uint8_t NumberOfBanks; + uint8_t MemoryModel; + uint8_t BankSize; + uint8_t NumberOfImagePages; + uint8_t Reserved_page; +// Direct Color fields (required for direct/6 and YUV/7 memory models) + uint8_t RedMaskSize; + uint8_t RedFieldPosition; + uint8_t GreenMaskSize; + uint8_t GreenFieldPosition; + uint8_t BlueMaskSize; + uint8_t BlueFieldPosition; + uint8_t RsvdMaskSize; + uint8_t RsvdFieldPosition; + uint8_t DirectColorModeInfo; +// Mandatory information for VBE 2.0 and above + uint32_t PhysBasePtr; + uint32_t OffScreenMemOffset; + uint16_t OffScreenMemSize; +// Mandatory information for VBE 3.0 and above + uint16_t LinBytesPerScanLine; + uint8_t BnkNumberOfPages; + uint8_t LinNumberOfPages; + uint8_t LinRedMaskSize; + uint8_t LinRedFieldPosition; + uint8_t LinGreenMaskSize; + uint8_t LinGreenFieldPosition; + uint8_t LinBlueMaskSize; + uint8_t LinBlueFieldPosition; + uint8_t LinRsvdMaskSize; + uint8_t LinRsvdFieldPosition; + uint32_t MaxPixelClock; + uint8_t Reserved[189]; +} ModeInfoBlock; + +// VBE Return Status Info +// AL +#define VBE_RETURN_STATUS_SUPPORTED 0x4F +#define VBE_RETURN_STATUS_UNSUPPORTED 0x00 +// AH +#define VBE_RETURN_STATUS_SUCCESSFULL 0x00 +#define VBE_RETURN_STATUS_FAILED 0x01 +#define VBE_RETURN_STATUS_NOT_SUPPORTED 0x02 +#define VBE_RETURN_STATUS_INVALID 0x03 + +#endif /* !VBOX_INCLUDED_SRC_Graphics_BIOS_vbe_h */ diff --git a/src/VBox/Devices/Graphics/BIOS/vbe_display_api.txt b/src/VBox/Devices/Graphics/BIOS/vbe_display_api.txt new file mode 100644 index 00000000..ddec277e --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vbe_display_api.txt @@ -0,0 +1,237 @@ +VBE Display API +------------------------------------------------------------------------------------------------------------- + This document is part of the Bochs/VBEBios documentation, + it specifies the bochs host <-> vbebios client communication. + + That means, the display code implementation and the vbebios code depend + very heavily on each other. As such, this documents needs be synchronised + between bochs CVS and the vgabios CVS. + + This document does not describe how the VBEBios implements the VBE2/3 spec. + This document does not describe how the Bochs display code will display gfx based upon this spec. + + +API History +----------- +0xb0c0 supports the following VBE_DISPI_ interfaces (present in Bochs 1.4): + VBE_DISPI_INDEX_ID + VBE_DISPI_INDEX_XRES + VBE_DISPI_INDEX_YRES + VBE_DISPI_INDEX_BPP + VBE_DISPI_INDEX_ENABLE + VBE_DISPI_INDEX_BANK + + Bpp format supported is: + VBE_DISPI_BPP_8 + +0xb0c1 supports 0xb0c0 VBE_DISPI_ interfaces, additional interfaces (present in Bochs 2.0): + VBE_DISPI_INDEX_VIRT_WIDTH + VBE_DISPI_INDEX_VIRT_HEIGHT + VBE_DISPI_INDEX_X_OFFSET + VBE_DISPI_INDEX_Y_OFFSET + +0xb0c2 supports 0xb0c1 VBE_DISPI_ interfaces, interfaces updated for + additional features (present in Bochs 2.1): + VBE_DISPI_INDEX_BPP supports >8bpp color depth (value = bits) + VBE_DISPI_INDEX_ENABLE supports new flags VBE_DISPI_NOCLEARMEM and VBE_DISPI_LFB_ENABLED + VBE i/o registers changed from 0xFF80/81 to 0x01CE/CF + +0xb0c3 supports 0xb0c2 VBE_DISPI_ interfaces, interfaces updated for + additional features: + VBE_DISPI_INDEX_ENABLE supports new flags VBE_DISPI_GETCAPS and VBE_DISPI_8BIT_DAC + +0xb0c4 VBE video memory increased to 8 MB + + +History +------- + Version 0.6 2002 Nov 23 Jeroen Janssen + - Added LFB support + - Added Virt width, height and x,y offset + + Version 0.5 2002 March 08 Jeroen Janssen + - Added documentation about panic behaviour / current limits of the data values. + - Changed BPP API (in order to include future (A)RGB formats) + - Initial version (based upon extended display text of the vbe bochs display patch) + + +Todo +---- + Version 0.6+ [random order] + - Add lots of different (A)RGB formats + +References +---------- + [VBE3] VBE 3 Specification at + http://www.vesa.org/vbe3.pdf + + [BOCHS] Bochs Open Source IA-32 Emulator at + http://bochs.sourceforge.net + + [VBEBIOS] VBE Bios for Bochs at + http://savannah.gnu.org/projects/vgabios/ + + [Screenshots] Screenshots of programs using the VBE Bios at + http://japj.org/projects/bochs_plex86/screenshots.html + +Abbreviations +------------- + VBE Vesa Bios Extension + DISPI (Bochs) Display Interface + BPP Bits Per Pixel + LFB Linear Frame Buffer + + +#defines +-------- +vbetables-gen.c + #define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 8 + +vbe.h + #define VBE_DISPI_BANK_ADDRESS 0xA0000 + #define VBE_DISPI_BANK_SIZE_KB 64 + + #define VBE_DISPI_MAX_XRES 1024 + #define VBE_DISPI_MAX_YRES 768 + + #define VBE_DISPI_IOPORT_INDEX 0x01CE + #define VBE_DISPI_IOPORT_DATA 0x01CF + + #define VBE_DISPI_INDEX_ID 0x0 + #define VBE_DISPI_INDEX_XRES 0x1 + #define VBE_DISPI_INDEX_YRES 0x2 + #define VBE_DISPI_INDEX_BPP 0x3 + #define VBE_DISPI_INDEX_ENABLE 0x4 + #define VBE_DISPI_INDEX_BANK 0x5 + #define VBE_DISPI_INDEX_VIRT_WIDTH 0x6 + #define VBE_DISPI_INDEX_VIRT_HEIGHT 0x7 + #define VBE_DISPI_INDEX_X_OFFSET 0x8 + #define VBE_DISPI_INDEX_Y_OFFSET 0x9 + + #define VBE_DISPI_ID0 0xB0C0 + #define VBE_DISPI_ID1 0xB0C1 + #define VBE_DISPI_ID2 0xB0C2 + #define VBE_DISPI_ID3 0xB0C3 + #define VBE_DISPI_ID4 0xB0C4 + + #define VBE_DISPI_DISABLED 0x00 + #define VBE_DISPI_ENABLED 0x01 + #define VBE_DISPI_VBE_ENABLED 0x40 + #define VBE_DISPI_NOCLEARMEM 0x80 + + #define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xE0000000 + +API +--- + The display api works by using a index (VBE_DISPI_IOPORT_INDEX) and + data (VBE_DISPI_IOPORT_DATA) ioport. One writes the index of the parameter to the index port. + Next, the parameter value can be read or written. + +[0xb0c0] + * VBE_DISPI_INDEX_ID : WORD {R,W} + This parameter can be used to detect the current display API (both bochs & vbebios). + The bios writes VBE_DISPI_ID0 to the dataport and reads it back again. + This way, the display code knows the vbebios 'ID' and the vbebios can check if the correct + display code is present. + As a result, a PANIC can be generated if an incompatible vbebios/display code combination is detected. + This panic can be generated from the bochs display code (NOT the bios, see Notes). + + Example values: VBE_DISPI_ID0 + + * VBE_DISPI_INDEX_XRES : WORD {R,W} + This parameter can be used to read/write the vbe display X resolution (in pixels). + It's illegal to set the XRES when the VBE is enabled (display code should generate PANIC). + + If the value written exceeds VBE_DISPI_MAX_XRES, the display code needs to generate a PANIC. + + Example values: 320,640,800,1024 + + * VBE_DISPI_INDEX_YRES : WORD {R,W} + This parameter can be used to read/write the vbe display Y resolution (in pixels). + It's illegal to set the YRES when the VBE is enabled (display code should generate PANIC). + + If the value written exceeds VBE_DISPI_MAX_YRES, the display code needs to generate a PANIC. + + Example values: 200,400,480,600,768 + + * VBE_DISPI_INDEX_BPP : WORD {R,W} + This parameter can be used to read/write the vbe display BPP. + It's illegal to set the BPP when the VBE is enabled (display code should generate PANIC). + + If the value written is an incompatible BPP, the display code needs to generate a PANIC. + + Example values: VBE_DISPI_BPP_8 + + * VBE_DISPI_INDEX_ENABLE : WORD {R,W} + This parameter can be used to read/write the vbe ENABLED state. + If the bios writes VBE_DISPI_ENABLED then the display code will setup a hostside display mode + with the current XRES, YRES and BPP settings. + If the bios write VBE_DISPI_DISABLED then the display code will switch back to normal vga mode behaviour. + + Example values: VBE_DISPI_ENABLED, VBE_DISPI_DISABLED + + * VBE_DISPI_INDEX_BANK : WORD {R,W} + This parameter can be used to read/write the current selected BANK (at 0xA0000). + This can be used for switching banks in banked mode. + +[0xb0c1] + * VBE_DISPI_INDEX_VIRT_WIDTH : WORD {R,W} + This parameter can be used to read/write the current virtual width. + Upon enabling a mode, this will be set to the current xres + Setting this field during enabled mode will result in the virtual width to be changed. + Value will be adjusted if current setting is not possible. + + * VBE_DISPI_INDEX_VIRT_HEIGHT : WORD {R} + This parameter can be read in order to obtain the current virtual height. + This setting will be adjusted after setting a virtual width in order to stay within limit of video memory. + + * VBE_DISPI_INDEX_X_OFFSET : WORD {R,W} + The current X offset (in pixels!) of the visible screen part. + Writing a new offset will also result in a complete screen refresh. + + * VBE_DISPI_INDEX_Y_OFFSET : WORD {R,W} + The current Y offset (in pixels!) of the visible screen part. + Writing a new offset will also result in a complete screen refresh. + + +[0xb0c2] + * VBE_DISPI_INDEX_BPP : WORD {R,W} + The value written is now the number of bits per pixel. A value of 0 is treated + the same as 8 for backward compatibilty. These values are supported: 8, 15, + 16, 24 and 32. The value of 4 is not yet handled in the VBE code. + * VBE_DISPI_INDEX_ENABLE : WORD {R,W} + The new flag VBE_DISPI_NOCLEARMEM allows to preserve the VBE video memory. + The new flag VBE_DISPI_LFB_ENABLED indicates the usage of the LFB. + +[0xb0c3] + * VBE_DISPI_INDEX_ENABLE : WORD {R,W} + If the new flag VBE_DISPI_GETCAPS is enabled, the xres, yres and bpp registers + return the gui capabilities. + The new flag VBE_DISPI_8BIT_DAC switches the DAC to 8 bit mode. + +[0xb0c4] + * VBE_DISPI_TOTAL_VIDEO_MEMORY_MB set to 8 (moved to auto-generated vbetables.h) + +Displaying GFX (banked mode) +-------------- + What happens is that the total screen is devided in banks of 'VBE_DISPI_BANK_SIZE_KB' KiloByte in size. + If you want to set a pixel you can calculate its bank by doing: + + offset = pixel_x + pixel_y * resolution_x; + bank = offset / 64 Kb (rounded 1.9999 -> 1) + + bank_pixel_pos = offset - bank * 64Kb + + Now you can set the current bank and put the pixel at VBE_DISPI_BANK_ADDRESS + bank_pixel_pos + +Displaying GFX (linear frame buffer mode) +-------------- + NOT WRITTEN YET + +Notes +----- + * Since the XRES/YRES/BPP may not be written when VBE is enabled, if you want to switch from one VBE mode + to another, you will need to disable VBE first. + + * Note when the bios doesn't find a valid DISPI_ID, it can disable the VBE functions. This allows people to + use the same bios for both vbe enabled and disabled bochs executables. diff --git a/src/VBox/Devices/Graphics/BIOS/vberom.asm b/src/VBox/Devices/Graphics/BIOS/vberom.asm new file mode 100644 index 00000000..5ff08dda --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vberom.asm @@ -0,0 +1,951 @@ +;; ============================================================================================ +;; +;; Copyright (C) 2002 Jeroen Janssen +;; +;; This library is free software; you can redistribute it and/or +;; modify it under the terms of the GNU Lesser General Public +;; License as published by the Free Software Foundation; either +;; version 2 of the License, or (at your option) any later version. +;; +;; This library 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 +;; Lesser General Public License for more details. +;; +;; You should have received a copy of the GNU Lesser General Public +;; License along with this library; if not, write to the Free Software +;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +;; +;; ============================================================================================ +;; +;; This VBE is part of the VGA Bios specific to the plex86/bochs Emulated VGA card. +;; You can NOT drive any physical vga card with it. +;; +;; ============================================================================================ +;; +;; This VBE Bios is based on information taken from : +;; - VESA BIOS EXTENSION (VBE) Core Functions Standard Version 3.0 located at www.vesa.org +;; +;; ============================================================================================ + + +; Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice +; other than GPL or LGPL is available it will apply instead, Oracle elects to use only +; the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where +; a choice of LGPL license versions is made available with the language indicating +; that LGPLv2 or any later version may be used, or where a choice of which version +; of the LGPL is applied is otherwise unspecified. + +include vgadefs.inc +include commondefs.inc + +public _vga_compat_setup +public dispi_set_enable_ +public dispi_set_bank_ +public _dispi_set_bank_farcall +public _dispi_get_max_bpp +public _vbe_has_vbe_display + +public vbe_biosfn_return_current_mode +public vbe_biosfn_display_window_control +public vbe_biosfn_set_get_display_start +public vbe_biosfn_set_get_dac_palette_format +public vbe_biosfn_set_get_palette_data +public vbe_biosfn_return_protected_mode_interface + +VGAROM segment public 'CODE' + +SET_DEFAULT_CPU + +VBE_BYTEWISE_IO EQU 1 + +;; Bytewise in/out +ifdef VBE_BYTEWISE_IO + +public do_out_dx_ax +public do_in_ax_dx + +do_out_dx_ax: + xchg ah, al + out dx, al + xchg ah, al + out dx, al + ret + +do_in_ax_dx: + in al, dx + xchg ah, al + in al, dx + ret + + out_dx_ax EQU call do_out_dx_ax + in_ax_dx EQU call do_in_ax_dx +else + out_dx_ax EQU out dx, ax + in_ax_dx EQU in ax, dx +endif + +;; Vertical retrace waiting +wait_vsync: + push ax + push dx + mov dx, 03DAh ; @todo use a symbolic constant! +wv_loop: + in al, dx + test al, 8 + jz wv_loop + pop dx + pop ax + ret + +wait_not_vsync: + push ax + push dx + mov dx, 03DAh ; @todo use a symbolic constant! +wnv_loop: + in al, dx + test al, 8 + jnz wnv_loop + pop dx + pop ax + ret + + +; AL = bits per pixel / AH = bytes per pixel +dispi_get_bpp: + push dx + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_BPP + out_dx_ax + mov dx, VBE_DISPI_IOPORT_DATA + in_ax_dx + cmp al, 4 + jbe get_bpp_noinc + mov ah, al +if VBOX_BIOS_CPU gt 8086 + shr ah, 3 +else + shr ah, 1 + shr ah, 1 + shr ah, 1 +endif + test al, 07 + jz get_bpp_noinc + inc ah +get_bpp_noinc: + pop dx + ret + +; get display capabilities + +_dispi_get_max_bpp: + push dx + push bx + call dispi_get_enable + mov bx, ax + or ax, VBE_DISPI_GETCAPS + call dispi_set_enable_ + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_BPP + out_dx_ax + mov dx, VBE_DISPI_IOPORT_DATA + in_ax_dx + push ax + mov ax, bx + call dispi_set_enable_ + pop ax + pop bx + pop dx + ret + +dispi_set_enable_: + push dx + push ax + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_ENABLE + out_dx_ax + pop ax + mov dx, VBE_DISPI_IOPORT_DATA + out_dx_ax + pop dx + ret + +dispi_get_enable: + push dx + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_ENABLE + out_dx_ax + mov dx, VBE_DISPI_IOPORT_DATA + in_ax_dx + pop dx + ret + +dispi_set_bank_: + push dx + push ax + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_BANK + out_dx_ax + pop ax + mov dx, VBE_DISPI_IOPORT_DATA + out_dx_ax + pop dx + ret + +dispi_get_bank: + push dx + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_BANK + out_dx_ax + mov dx, VBE_DISPI_IOPORT_DATA + in_ax_dx + pop dx + ret + +_dispi_set_bank_farcall: + cmp bx, 0100h + je dispi_set_bank_farcall_get + or bx,bx + jnz dispi_set_bank_farcall_error + mov ax, dx + push dx + push ax + mov ax, VBE_DISPI_INDEX_BANK + mov dx, VBE_DISPI_IOPORT_INDEX + out_dx_ax + pop ax + mov dx, VBE_DISPI_IOPORT_DATA + out_dx_ax + in_ax_dx + pop dx + cmp dx,ax + jne dispi_set_bank_farcall_error + mov ax, 004Fh + retf +dispi_set_bank_farcall_get: + mov ax, VBE_DISPI_INDEX_BANK + mov dx, VBE_DISPI_IOPORT_INDEX + out_dx_ax + mov dx, VBE_DISPI_IOPORT_DATA + in_ax_dx + mov dx,ax + retf +dispi_set_bank_farcall_error: + mov ax, 014Fh + retf + +dispi_set_x_offset: + push dx + push ax + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_X_OFFSET + out_dx_ax + pop ax + mov dx, VBE_DISPI_IOPORT_DATA + out_dx_ax + pop dx + ret + +dispi_get_x_offset: + push dx + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_X_OFFSET + out_dx_ax + mov dx, VBE_DISPI_IOPORT_DATA + in_ax_dx + pop dx + ret + +dispi_set_y_offset: + push dx + push ax + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_Y_OFFSET + out_dx_ax + pop ax + mov dx, VBE_DISPI_IOPORT_DATA + out_dx_ax + pop dx + ret + +dispi_get_y_offset: + push dx + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_Y_OFFSET + out_dx_ax + mov dx, VBE_DISPI_IOPORT_DATA + in_ax_dx + pop dx + ret + +vga_set_virt_width: + push ax + push bx + push dx + mov bx, ax + call dispi_get_bpp + cmp al, 4 + ja set_width_svga + shr bx, 1 +set_width_svga: +if VBOX_BIOS_CPU gt 8086 + shr bx, 3 +else + shr bx, 1 + shr bx, 1 + shr bx, 1 +endif + mov dx, VGAREG_VGA_CRTC_ADDRESS + mov ah, bl + mov al, 13h + out dx, ax + pop dx + pop bx + pop ax + ret + +_vga_compat_setup: + push ax + push dx + + ; set CRT X resolution + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_XRES + out_dx_ax + mov dx, VBE_DISPI_IOPORT_DATA + in_ax_dx + push ax + mov dx, VGAREG_VGA_CRTC_ADDRESS + mov ax, 0011h + out dx, ax + pop ax + push ax +if VBOX_BIOS_CPU gt 8086 + shr ax, 3 +else + shr ax, 1 + shr ax, 1 + shr ax, 1 +endif + dec ax + mov ah, al + mov al, 01 + out dx, ax + pop ax + call vga_set_virt_width + + ; set CRT Y resolution + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_YRES + out_dx_ax + mov dx, VBE_DISPI_IOPORT_DATA + in_ax_dx + dec ax + push ax + mov dx, VGAREG_VGA_CRTC_ADDRESS + mov ah, al + mov al, 12h + out dx, ax + pop ax + mov al, 07 + out dx, al + inc dx + in al, dx + and al, 0BDh + test ah, 01 + jz bit8_clear + or al, 02 +bit8_clear: + test ah, 02 + jz bit9_clear + or al, 40h +bit9_clear: + out dx, al + + ; other settings + mov dx, VGAREG_VGA_CRTC_ADDRESS + mov ax, 0009 + out dx, al + mov dx, VGAREG_VGA_CRTC_DATA + in al, dx + and al, 60h ; clear double scan bit and cell height + out dx, al + mov dx, VGAREG_VGA_CRTC_ADDRESS + mov al, 17h + out dx, al + mov dx, VGAREG_VGA_CRTC_DATA + in al, dx + or al, 03 + out dx, al + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 10h + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + or al, 01 + mov dx, VGAREG_ACTL_ADDRESS + out dx, al + mov al, 20h + out dx, al + mov dx, VGAREG_GRDC_ADDRESS + mov ax, 0506h + out dx, ax + mov dx, VGAREG_SEQU_ADDRESS + mov ax, 0F02h + out dx, ax + + ; settings for >= 8bpp + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_BPP + out_dx_ax + mov dx, VBE_DISPI_IOPORT_DATA + in_ax_dx + cmp al, 08 + jb vga_compat_end + mov dx, VGAREG_VGA_CRTC_ADDRESS + mov al, 14h + out dx, al + mov dx, VGAREG_VGA_CRTC_DATA + in al, dx + or al, 40h + out dx, al + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 10h + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + or al, 40h + mov dx, VGAREG_ACTL_ADDRESS + out dx, al + mov al, 20h + out dx, al + mov dx, VGAREG_SEQU_ADDRESS + mov al, 04 + out dx, al + mov dx, VGAREG_SEQU_DATA + in al, dx + or al, 08 + out dx, al + mov dx, VGAREG_GRDC_ADDRESS + mov al, 05 + out dx, al + mov dx, VGAREG_GRDC_DATA + in al, dx + and al, 9Fh + or al, 40h + out dx, al + +vga_compat_end: + pop dx + pop ax + + +; Has VBE display - Returns true if VBE display detected + +_vbe_has_vbe_display: + push ds + push bx + mov ax, BIOSMEM_SEG + mov ds, ax + mov bx, BIOSMEM_VBE_FLAG + mov al, [bx] + and al, 01 + xor ah, ah + pop bx + pop ds + ret + + +; Function 03h - Return Current VBE Mode +; +; Input: +; AX = 4F03h +; Output: +; AX = VBE Return Status +; BX = Current VBE Mode +; +; +vbe_biosfn_return_current_mode: + push ds + mov ax, BIOSMEM_SEG + mov ds, ax + call dispi_get_enable + and ax, VBE_DISPI_ENABLED + jz no_vbe_mode + mov bx, BIOSMEM_VBE_MODE + mov ax, [bx] + mov bx, ax + jnz vbe_03_ok +no_vbe_mode: + mov bx, BIOSMEM_CURRENT_MODE + mov al, [bx] + mov bl, al + xor bh, bh +vbe_03_ok: + mov ax, 004Fh + pop ds + ret + + +; Function 05h - Display Window Control +; +; Input: +; AX = 4F05h +; (16-bit) BH = 00h Set memory window +; = 01h Get memory window +; BL = Window number +; = 00h Window A +; = 01h Window B +; DX = Window number in video memory in window +; granularity units (Set Memory Window only) +; Note: +; If this function is called while in a linear frame buffer mode, +; this function must fail with completion code AH=03h +; +; Output: +; AX = VBE Return Status +; DX = Window number in window granularity units +; (Get Memory Window only) + +vbe_biosfn_display_window_control: + cmp bl, 0 + jne vbe_05_failed + cmp bh, 1 + je get_display_window + jb set_display_window + mov ax, 0100h + ret +set_display_window: + mov ax, dx + call dispi_set_bank_ + call dispi_get_bank + cmp ax, dx + jne vbe_05_failed + mov ax, 004Fh + ret +get_display_window: + call dispi_get_bank + mov dx, ax + mov ax, 004Fh + ret +vbe_05_failed: + mov ax, 014Fh + ret + + +; Function 07h - Set/Get Display Start +; +; Input(16-bit): +; AX = 4F07h +; BH = 00h Reserved and must be 00h +; BL = 00h Set Display Start +; = 01h Get Display Start +; = 02h Schedule Display Start (Alternate) +; = 03h Schedule Stereoscopic Display Start +; = 04h Get Scheduled Display Start Status +; = 05h Enable Stereoscopic Mode +; = 06h Disable Stereoscopic Mode +; = 80h Set Display Start during Vertical Retrace +; = 82h Set Display Start during Vertical Retrace (Alternate) +; = 83h Set Stereoscopic Display Start during Vertical Retrace +; ECX = If BL=02h/82h Display Start Address in bytes +; If BL=03h/83h Left Image Start Address in bytes +; EDX = If BL=03h/83h Right Image Start Address in bytes +; CX = If BL=00h/80h First Displayed Pixel In Scan Line +; DX = If BL=00h/80h First Displayed Scan Line +; +; Output: +; AX = VBE Return Status +; BH = If BL=01h Reserved and will be 0 +; CX = If BL=01h First Displayed Pixel In Scan Line +; If BL=04h 0 if flip has not occurred, not 0 if it has +; DX = If BL=01h First Displayed Scan Line +; +; Input(32-bit): +; BH = 00h Reserved and must be 00h +; BL = 00h Set Display Start +; = 80h Set Display Start during Vertical Retrace +; CX = Bits 0-15 of display start address +; DX = Bits 16-31 of display start address +; ES = Selector for memory mapped registers +; +vbe_biosfn_set_get_display_start: + cmp bl, 80h + je set_display_start_wait + cmp bl, 1 + je get_display_start + jb set_display_start + mov ax, 0100h + ret +set_display_start_wait: + call wait_not_vsync + call wait_vsync +set_display_start: + mov ax, cx + call dispi_set_x_offset + mov ax, dx + call dispi_set_y_offset + mov ax, 004Fh + ret +get_display_start: + call dispi_get_x_offset + mov cx, ax + call dispi_get_y_offset + mov dx, ax + xor bh, bh + mov ax, 004Fh + ret + + +; Function 08h - Set/Get Dac Palette Format +; +; Input: +; AX = 4F08h +; BL = 00h set DAC palette width +; = 01h get DAC palette width +; BH = If BL=00h: desired number of bits per primary color +; Output: +; AX = VBE Return Status +; BH = current number of bits per primary color (06h = standard VGA) +; +vbe_biosfn_set_get_dac_palette_format: + cmp bl, 1 + je get_dac_palette_format + jb set_dac_palette_format + mov ax, 0100h + ret +set_dac_palette_format: + call dispi_get_enable + cmp bh, 6 + je set_normal_dac + cmp bh, 8 + jne vbe_08_unsupported + or ax, VBE_DISPI_8BIT_DAC + jnz set_dac_mode +set_normal_dac: + and ax, NOT VBE_DISPI_8BIT_DAC +set_dac_mode: + call dispi_set_enable_ +get_dac_palette_format: + mov bh, 6 + call dispi_get_enable + and ax, VBE_DISPI_8BIT_DAC + jz vbe_08_ok + mov bh, 8 +vbe_08_ok: + mov ax, 004Fh + ret +vbe_08_unsupported: + mov ax, 014Fh + ret + + +; Function 09h - Set/Get Palette Data +; +; Input: +; AX = 4F09h +; (16-bit) BL = 00h Set palette data +; = 01h Get palette data +; = 02h Set secondary palette data +; = 03h Get secondary palette data +; = 80h Set palette data during VRetrace +; CX = Number of entries to update (<= 256) +; DX = First entry to update +; ES:DI = Table of palette values +; Output: +; AX = VBE Return Status +; +; Notes: +; Secondary palette support is a "future extension". +; Attempts to set/get it should return status 02h. +; +; In VBE 3.0, reading palette data is optional and +; subfunctions 01h and 03h may return failure. +; +; The format of palette entries is as follows: +; +; PaletteEntry struc +; Blue db ? ; Blue channel value (6 or 8 bits) +; Green db ? ; Green channel value (6 or 8 bits) +; Red db ? ; Red channel value (6 or 8 bits) +; Padding db ? ; DWORD alignment byte (unused) +; PaletteEntry ends +; +; Most applications use VGA DAC registers directly to +; set/get palette in VBE modes. However, subfn 4F09h is +; required for NonVGA controllers (eg. XGA). +; +vbe_biosfn_set_get_palette_data: + test bl, bl + jz set_palette_data + cmp bl, 01 + je get_palette_data + cmp bl, 03 + jbe vbe_09_nohw + cmp bl, 80h + jne vbe_09_unsupported +if 0 + ; this is where we could wait for vertical retrace +endif +set_palette_data: + DO_pushad + push ds + push es + pop ds + mov al, dl + mov dx, VGAREG_DAC_WRITE_ADDRESS + out dx, al + inc dx + mov si, di +set_pal_loop: +if VBOX_BIOS_CPU ge 80386 + lodsd + ror eax, 16 + out dx, al + rol eax, 8 + out dx, al + rol eax, 8 + out dx, al +else + lodsw + mov bx, ax + lodsw + out dx, al + mov al, bh + out dx, al + mov al, bl + out dx, al +endif + loop set_pal_loop + pop ds + DO_popad +vbe_09_ok: + mov ax, 004Fh + ret + +get_palette_data: + DO_pushad + mov al, dl + mov dx, VGAREG_DAC_READ_ADDRESS + out dx, al + add dl, 2 +if VBOX_BIOS_CPU ge 80386 +get_pal_loop: + xor eax, eax + in al, dx + shl eax, 8 + in al, dx + shl eax, 8 + in al, dx + stosd +else + xor bx, bx +get_pal_loop: + in al, dx + mov bl, al + in al, dx + mov ah, al + in al, dx + stosw + mov ax, bx + stosw +endif + loop get_pal_loop + DO_popad + jmp vbe_09_ok + +vbe_09_unsupported: + mov ax, 014Fh + ret +vbe_09_nohw: + mov ax, 024Fh + ret + + +; Function 0Ah - Return VBE Protected Mode Interface +; +; Input: AX = 4F0Ah VBE 2.0 Protected Mode Interface +; BL = 00h Return protected mode table +; Output: AX = Status +; ES = Real Mode Segment of Table +; DI = Offset of Table +; CX = Length of Table including protected mode code +; (for copying purposes) +; +vbe_biosfn_return_protected_mode_interface: + test bl, bl + jnz _fail + mov di, 0C000h + mov es, di + mov di, offset vesa_pm_start + mov cx, vesa_pm_end - vesa_pm_start + mov ax, 004Fh + ret +_fail: + mov ax, 014fh + ret + +VGAROM ends + +;; +;; 32-bit VBE interface +;; + +.386 + +public vesa_pm_start +public vesa_pm_end + +VBE32 segment public use32 'CODE' + + align 2 + +vesa_pm_start: + dw vesa_pm_set_window - vesa_pm_start + dw vesa_pm_set_display_start - vesa_pm_start + dw vesa_pm_unimplemented - vesa_pm_start + dw vesa_pm_io_ports_table - vesa_pm_start +vesa_pm_io_ports_table: + dw VBE_DISPI_IOPORT_INDEX + dw VBE_DISPI_IOPORT_INDEX + 1 + dw VBE_DISPI_IOPORT_DATA + dw VBE_DISPI_IOPORT_DATA + 1 + dw 3B6h + dw 3B7h + dw 0FFFFh + dw 0FFFFh + +vesa_pm_set_window: + cmp bx, 0 + je vesa_pm_set_display_window1 + mov ax, 0100h + ret +vesa_pm_set_display_window1: + mov ax, dx + push dx + push ax + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_BANK + out dx, ax + pop ax + mov dx, VBE_DISPI_IOPORT_DATA + out dx, ax + in ax, dx + pop dx + cmp dx, ax + jne illegal_window + mov ax, 004Fh + ret +illegal_window: + mov ax, 014Fh + ret +vesa_pm_set_display_start: + cmp bl, 80h + je vesa_pm_set_display_start1_wait + cmp bl, 00 + je vesa_pm_set_display_start1 + mov ax, 0100h + ret +vesa_pm_set_display_start1_wait: + push edx + mov dx, 03DAh ; @todo: use symbolic constant +wnv_loop_32: + in al, dx + test al, 8 + jnz wnv_loop_32 +wv_loop_32: + in al, dx + test al, 8 + jz wv_loop_32 + pop edx +vesa_pm_set_display_start1: +; convert offset to (X, Y) coordinate +; (would be simpler to change Bochs VBE API...) + push eax + push ecx + push edx + push esi + push edi + shl edx, 16 + and ecx, 0FFFFh + or ecx, edx + shl ecx, 2 + mov eax, ecx + push eax + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_VIRT_WIDTH + out dx, ax + mov dx, VBE_DISPI_IOPORT_DATA + in ax, dx + movzx ecx, ax + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_BPP + out dx, ax + mov dx, VBE_DISPI_IOPORT_DATA + in ax, dx + movzx esi, ax + pop eax + + cmp esi, 4 + jz bpp4_mode + add esi, 7 + shr esi, 3 + imul ecx, esi + xor edx, edx + div ecx + mov edi, eax + mov eax, edx + xor edx, edx + div esi + jmp set_xy_regs + +bpp4_mode: + shr ecx, 1 + xor edx, edx + div ecx + mov edi, eax + mov eax, edx + shl eax, 1 + +set_xy_regs: + push dx + push ax + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_X_OFFSET + out dx, ax + pop ax + mov dx, VBE_DISPI_IOPORT_DATA + out dx, ax + pop dx + + mov ax, di + push dx + push ax + mov dx, VBE_DISPI_IOPORT_INDEX + mov ax, VBE_DISPI_INDEX_Y_OFFSET + out dx, ax + pop ax + mov dx, VBE_DISPI_IOPORT_DATA + out dx, ax + pop dx + + pop edi + pop esi + pop edx + pop ecx + pop eax + mov ax, 004fh + ret + +vesa_pm_unimplemented: + mov ax, 014Fh + ret +vesa_pm_end: + +VBE32 ends + + end diff --git a/src/VBox/Devices/Graphics/BIOS/vbetables-gen.c b/src/VBox/Devices/Graphics/BIOS/vbetables-gen.c new file mode 100644 index 00000000..f572386a --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vbetables-gen.c @@ -0,0 +1,245 @@ +/* Generate the VGABIOS VBE Tables */ +#include <stdlib.h> +#include <stdio.h> + +#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 8 + +typedef struct { + int width; + int height; + int depth; + int mode; +} ModeInfo; + +ModeInfo modes[] = { + /* standard VESA modes */ +{ 640, 400, 8 , 0x100}, +{ 640, 480, 8 , 0x101}, +{ 800, 600, 4 , 0x102}, +{ 800, 600, 8 , 0x103}, +{ 1024, 768, 4 , 0x104}, +{ 1024, 768, 8 , 0x105}, +{ 1280, 1024, 4 , 0x106}, +{ 1280, 1024, 8 , 0x107}, +{ 320, 200, 15 , 0x10D}, +{ 320, 200, 16 , 0x10E}, +{ 320, 200, 24 , 0x10F}, +{ 640, 480, 15 , 0x110}, +{ 640, 480, 16 , 0x111}, +{ 640, 480, 24 , 0x112}, +{ 800, 600, 15 , 0x113}, +{ 800, 600, 16 , 0x114}, +{ 800, 600, 24 , 0x115}, +{ 1024, 768, 15 , 0x116}, +{ 1024, 768, 16 , 0x117}, +{ 1024, 768, 24 , 0x118}, +{ 1280, 1024, 15 , 0x119}, +{ 1280, 1024, 16 , 0x11A}, +{ 1280, 1024, 24 , 0x11B}, +#if 0 /* Ubuntu fails with this */ +{ 1600, 1200, 8 , 0x11C}, +{ 1600, 1200, 15 , 0x11D}, +{ 1600, 1200, 16 , 0x11E}, +{ 1600, 1200, 24 , 0x11F}, +#endif + + /* BOCHS/PLE, 86 'own' mode numbers */ +{ 320, 200, 32 , 0x140}, +{ 640, 400, 32 , 0x141}, +{ 640, 480, 32 , 0x142}, +{ 800, 600, 32 , 0x143}, +{ 1024, 768, 32 , 0x144}, +{ 1280, 1024, 32 , 0x145}, +{ 320, 200, 8 , 0x146}, +{ 1600, 1200, 32 , 0x147}, +{ 1152, 864, 8 , 0x148}, +{ 1152, 864, 15 , 0x149}, +{ 1152, 864, 16 , 0x14a}, +{ 1152, 864, 24 , 0x14b}, +{ 1152, 864, 32 , 0x14c}, +{ 0, }, +}; + +int main(int argc, char **argv) +{ + const ModeInfo *pm; + int pages, pitch; + int r_size, r_pos, g_size, g_pos, b_size, b_pos, a_size, a_pos; + const char *str; + long vram_size = VBE_DISPI_TOTAL_VIDEO_MEMORY_MB * 1024 * 1024; + + (void)argc; (void)argv; + + printf("/* THIS FILE IS AUTOMATICALLY GENERATED - DO NOT EDIT */\n\n"); + printf("#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB %d\n\n", VBE_DISPI_TOTAL_VIDEO_MEMORY_MB); + printf("static ModeInfoListItem mode_info_list[]=\n"); + printf("{\n"); + for (pm = modes; pm->mode != 0; pm++) { + if (pm->depth == 4) + pitch = (pm->width + 7) / 8; + else + pitch = pm->width * ((pm->depth + 7) / 8); + pages = vram_size / (pm->height * pitch); + if (pages > 0) { + printf("{ 0x%04x, /* %dx%dx%d */\n", + pm->mode, pm->width, pm->height, pm->depth); + if (pm->depth == 4) + printf("{ /*Bit16u ModeAttributes*/ %s,\n", + "VBE_MODE_ATTRIBUTE_SUPPORTED | " + "VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | " + "VBE_MODE_ATTRIBUTE_COLOR_MODE | " + "VBE_MODE_ATTRIBUTE_TTY_BIOS_SUPPORT | " + "VBE_MODE_ATTRIBUTE_GRAPHICS_MODE"); + else + printf("{ /*Bit16u ModeAttributes*/ %s,\n", + "VBE_MODE_ATTRIBUTE_SUPPORTED | " + "VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | " + "VBE_MODE_ATTRIBUTE_COLOR_MODE | " + "VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | " + "VBE_MODE_ATTRIBUTE_GRAPHICS_MODE"); + printf("/*Bit8u WinAAttributes*/ %s,\n", + "VBE_WINDOW_ATTRIBUTE_RELOCATABLE | " + "VBE_WINDOW_ATTRIBUTE_READABLE | " + "VBE_WINDOW_ATTRIBUTE_WRITEABLE"); + + printf("/*Bit8u WinBAttributes*/ %d,\n", 0); + + printf("/*Bit16u WinGranularity*/ %s,\n", "VBE_DISPI_BANK_SIZE_KB"); + + printf("/*Bit16u WinSize*/ %s,\n", "VBE_DISPI_BANK_SIZE_KB"); + + printf("/*Bit16u WinASegment*/ %s,\n", "VGAMEM_GRAPH"); + + printf("/*Bit16u WinBSegment*/ 0x%04x,\n", 0); + + printf("/*Bit32u WinFuncPtr*/ %d,\n", 0); + + printf("/*Bit16u BytesPerScanLine*/ %d,\n", pitch); + + /* Mandatory information for VBE 1.2 and above */ + printf("/*Bit16u XResolution*/ %d,\n", pm->width); + printf("/*Bit16u YResolution*/ %d,\n", pm->height); + printf("/*Bit8u XCharSize*/ %d,\n", 8); + printf("/*Bit8u YCharSize*/ %d,\n", 16); + if (pm->depth == 4) { + printf("/*Bit8u NumberOfPlanes*/ %d,\n", 4); + } else { + printf("/*Bit8u NumberOfPlanes*/ %d,\n", 1); + } + printf("/*Bit8u BitsPerPixel*/ %d,\n", pm->depth); + printf("/*Bit8u NumberOfBanks*/ %d,\n", 1); /* This would only be non-zero for CGA/HGC modes! */ + + if (pm->depth == 4) + str = "VBE_MEMORYMODEL_PLANAR"; + else if (pm->depth == 8) + str = "VBE_MEMORYMODEL_PACKED_PIXEL"; + else + str = "VBE_MEMORYMODEL_DIRECT_COLOR"; + printf("/*Bit8u MemoryModel*/ %s,\n", str); + printf("/*Bit8u BankSize*/ %d,\n", 0); + if (pm->depth == 4) + printf("/*Bit8u NumberOfImagePages*/ %d,\n", (pages / 4) - 1); + else + printf("/*Bit8u NumberOfImagePages*/ %d,\n", pages - 1); + printf("/*Bit8u Reserved_page*/ %d,\n", 0); + + /* Direct Color fields (required for direct/6 and YUV/7 memory models) */ + switch(pm->depth) { + case 15: + r_size = 5; + r_pos = 10; + g_size = 5; + g_pos = 5; + b_size = 5; + b_pos = 0; + a_size = 1; + a_pos = 15; + break; + case 16: + r_size = 5; + r_pos = 11; + g_size = 6; + g_pos = 5; + b_size = 5; + b_pos = 0; + a_size = 0; + a_pos = 0; + break; + case 24: + r_size = 8; + r_pos = 16; + g_size = 8; + g_pos = 8; + b_size = 8; + b_pos = 0; + a_size = 0; + a_pos = 0; + break; + case 32: + r_size = 8; + r_pos = 16; + g_size = 8; + g_pos = 8; + b_size = 8; + b_pos = 0; + a_size = 8; + a_pos = 24; + break; + default: + r_size = 0; + r_pos = 0; + g_size = 0; + g_pos = 0; + b_size = 0; + b_pos = 0; + a_size = 0; + a_pos = 0; + break; + } + + printf("/*Bit8u RedMaskSize*/ %d,\n", r_size); + printf("/*Bit8u RedFieldPosition*/ %d,\n", r_pos); + printf("/*Bit8u GreenMaskSize*/ %d,\n", g_size); + printf("/*Bit8u GreenFieldPosition*/ %d,\n", g_pos); + printf("/*Bit8u BlueMaskSize*/ %d,\n", b_size); + printf("/*Bit8u BlueFieldPosition*/ %d,\n", b_pos); + printf("/*Bit8u RsvdMaskSize*/ %d,\n", a_size); + printf("/*Bit8u RsvdFieldPosition*/ %d,\n", a_pos); + if (pm->depth == 32) + printf("/*Bit8u DirectColorModeInfo*/ %s,\n", + "VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE"); + else + printf("/*Bit8u DirectColorModeInfo*/ %s,\n", "0"); + + /* Mandatory information for VBE 2.0 and above */ + if (pm->depth > 4) + printf("/*Bit32u PhysBasePtr*/ %s,\n", + "0xFFFF0000 /* Filled in at run-time; low word must be zero! */"); + else + printf("/*Bit32u PhysBasePtr*/ %s,\n", "0"); + printf("/*Bit32u OffScreenMemOffset*/ %d,\n", 0); + printf("/*Bit16u OffScreenMemSize*/ %d,\n", 0); + /* Mandatory information for VBE 3.0 and above */ + printf("/*Bit16u LinBytesPerScanLine*/ %d,\n", pitch); + printf("/*Bit8u BnkNumberOfPages*/ %d,\n", 0); + printf("/*Bit8u LinNumberOfPages*/ %d,\n", 0); + printf("/*Bit8u LinRedMaskSize*/ %d,\n", r_size); + printf("/*Bit8u LinRedFieldPosition*/ %d,\n", r_pos); + printf("/*Bit8u LinGreenMaskSize*/ %d,\n", g_size); + printf("/*Bit8u LinGreenFieldPosition*/ %d,\n", g_pos); + printf("/*Bit8u LinBlueMaskSize*/ %d,\n", b_size); + printf("/*Bit8u LinBlueFieldPosition*/ %d,\n", b_pos); + printf("/*Bit8u LinRsvdMaskSize*/ %d,\n", a_size); + printf("/*Bit8u LinRsvdFieldPosition*/ %d,\n", a_pos); + printf("/*Bit32u MaxPixelClock*/ %d,\n", 0); + printf("} },\n"); + } + } +#ifndef VBOX /* We'll add the terminator ourselves, thank you. */ + printf("{ VBE_VESA_MODE_END_OF_LIST,\n"); + printf("{ 0,\n"); + printf("} },\n"); +#endif + printf("};\n"); + return 0; +} diff --git a/src/VBox/Devices/Graphics/BIOS/vgabios.c b/src/VBox/Devices/Graphics/BIOS/vgabios.c new file mode 100644 index 00000000..eabbb7db --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vgabios.c @@ -0,0 +1,2373 @@ +// ============================================================================================ +/* + * vgabios.c + */ +// ============================================================================================ +// +// Copyright (C) 2001,2002 the LGPL VGABios developers Team +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library 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 +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// ============================================================================================ +// +// This VGA Bios is specific to the plex86/bochs Emulated VGA card. +// You can NOT drive any physical vga card with it. +// +// ============================================================================================ +// +// This file contains code ripped from : +// - rombios.c of plex86 +// +// This VGA Bios contains fonts from : +// - fntcol16.zip (c) by Joseph Gil avalable at : +// ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip +// These fonts are public domain +// +// This VGA Bios is based on information taken from : +// - Kevin Lawton's vga card emulation for bochs/plex86 +// - Ralf Brown's interrupts list available at http://www.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html +// - Finn Thogersons' VGADOC4b available at http://home.worldonline.dk/~finth/ +// - Michael Abrash's Graphics Programming Black Book +// - Francois Gervais' book "programmation des cartes graphiques cga-ega-vga" edited by sybex +// - DOSEMU 1.0.1 source code for several tables values and formulas +// +// Thanks for patches, comments and ideas to : +// - techt@pikeonline.net +// +// ============================================================================================ + + +/* + * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice + * other than GPL or LGPL is available it will apply instead, Oracle elects to use only + * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where + * a choice of LGPL license versions is made available with the language indicating + * that LGPLv2 or any later version may be used, or where a choice of which version + * of the LGPL is applied is otherwise unspecified. + */ + +#include <inttypes.h> +#include "vgabios.h" + +#ifdef VBE +#include "vbe.h" +#endif + +#include "inlines.h" + +/* Declares */ +extern void vgabios_int10_handler(void); +#pragma aux vgabios_int10_handler "*"; + +// Output +void __cdecl unimplemented(void); +void __cdecl unknown(void); + +static uint8_t find_vga_entry(); + +#ifdef VBE +extern uint16_t __cdecl vbe_has_vbe_display(void); +extern void vbe_init(void); +#endif + +void set_int_vector(uint8_t int_vec, void *offset) +{ + void __far * __far *ivt = 0; + + ivt[int_vec] = 0xC000 :> offset; +} + +//@todo!! +#if 0 + +vgabios_name: +#ifdef VBOX +.ascii "VirtualBox VGA BIOS" +#else +.ascii "Plex86/Bochs VGABios" +#endif +.ascii " " +.byte 0x00 + +#ifndef VBOX +vgabios_version: +#ifndef VGABIOS_VERS +.ascii "current-cvs" +#else +.ascii VGABIOS_VERS +#endif +.ascii " " + +vgabios_date: +.ascii VGABIOS_DATE +.byte 0x0a,0x0d +.byte 0x00 +#endif + +#ifndef VBOX +char vgabios_copyright[] = "(C) 2003 the LGPL VGABios developers Team\r\n"; +char vgabios_license[] = "This VGA/VBE Bios is released under the GNU LGPL\r\n\r\n"; +char vgabios_website[] = "Please visit :\r\n" \ + " . http://www.plex86.org\r\n" \ + " . http://bochs.sourceforge.net\r\n" \ + " . http://www.nongnu.org/vgabios\r\n\r\n" +#endif + +#endif + +extern void set_mode(int mode); +#pragma aux set_mode = \ + "xor ah, ah" \ + "int 10h" \ + parm [ax]; + +char msg_vga_init[] = "Oracle VM VirtualBox Version " VBOX_VERSION_STRING " VGA BIOS\r\n"; + +/* + * Boot time harware inits + */ +void init_vga_card(void) +{ + /* Switch to color mode and enable CPU access 480 lines. */ + outb(0x3C2, 0xC3); + /* More than 64k 3C4/04. */ + /// @todo 16-bit write + outb(0x3C4, 0x04); + outb(0x3C5, 0x02); + +#ifdef DEBUG_VGA + printf(msg_vga_init); +#endif +} + +#include "vgatables.h" +#include "vgadefs.h" + +// -------------------------------------------------------------------------------------------- +/* + * Boot time bios area inits + */ +void init_bios_area(void) +{ + uint8_t __far *bda; + + bda = 0x40 :> 0; + + /* Indicate 80x25 color was detected. */ + bda[BIOSMEM_INITIAL_MODE] = (bda[BIOSMEM_INITIAL_MODE] & 0xcf) | 0x20; + /* Just for the first int10 find its children. */ + + /* The default char height. */ + bda[BIOSMEM_CHAR_HEIGHT] = 16; + /* Clear the screen. */ + bda[BIOSMEM_VIDEO_CTL] = 0x60; + /* Set the basic screen we have. */ + bda[BIOSMEM_SWITCHES] = 0xf9; + /* Set the basic mode set options. */ + bda[BIOSMEM_MODESET_CTL] = 0x51; + /* Set the default MSR. */ + bda[BIOSMEM_CURRENT_MSR] = 0x09; +} + +struct dcc { + uint8_t n_ent; + uint8_t version; + uint8_t max_code; + uint8_t reserved; + uint16_t dccs[16]; +} dcc_table = { + 16, + 1, + 7, + 0 +}; + +struct ssa { + uint16_t size; + void __far *dcc; + void __far *sacs; + void __far *pal; + void __far *resvd[3]; + +} secondary_save_area = { + sizeof(struct ssa), + &dcc_table +}; + +void __far *video_save_pointer_table[7] = { + &video_param_table, + 0, + 0, + 0, + &secondary_save_area +}; + +// ============================================================================================ +// +// Init Entry point +// +// ============================================================================================ +void __far __cdecl vgabios_init_func(void) +{ + init_vga_card(); + init_bios_area(); +#ifdef VBE + vbe_init(); +#endif + set_int_vector(0x10, vgabios_int10_handler); +#ifdef CIRRUS + cirrus_init(); +#endif + +#ifndef VBOX + display_splash_screen(); + + // init video mode and clear the screen + // @@AS: Do not remove this init, because it will break VESA graphics + set_mode(3); + + display_info(); + +#ifdef VBE + vbe_display_info(); +#endif + +#ifdef CIRRUS + cirrus_display_info(); +#endif + +#else /* VBOX */ + +//#ifdef DEBUG_bird + /* Init video mode and clear the screen */ + set_mode(3); +//#endif +#endif /* VBOX */ +} + +#include "vgafonts.h" + +#ifndef VBOX +// -------------------------------------------------------------------------------------------- +/* + * Boot time Splash screen + */ +static void display_splash_screen() +{ +} + +// -------------------------------------------------------------------------------------------- +/* + * Tell who we are + */ + +static void display_string(void) +{ + // Get length of string +ASM_START + mov ax,ds + mov es,ax + mov di,si + xor cx,cx + not cx + xor al,al + cld + repne + scasb + not cx + dec cx + push cx + + mov ax,#0x0300 + mov bx,#0x0000 + int #0x10 + + pop cx + mov ax,#0x1301 + mov bx,#0x000b + mov bp,si + int #0x10 +ASM_END +} + +static void display_info(void) +{ + display_string(vgabios_name); + display_string(vgabios_version); + display_string(vgabios_copyright); + display_string(vgabios_license); + display_string(vgabios_website); +} + +#endif + +// -------------------------------------------------------------------------------------------- +#ifdef VGA_DEBUG +void __cdecl int10_debugmsg(uint16_t DI, uint16_t SI, uint16_t BP, uint16_t SP, uint16_t BX, + uint16_t DX, uint16_t CX, uint16_t AX, uint16_t DS, uint16_t ES, uint16_t FLAGS) +{ + /* Function 0Eh is write char and would generate way too much output. */ + if (GET_AH() != 0x0E) + printf("vgabios call ah%02x al%02x bx%04x cx%04x dx%04x\n", GET_AH(), GET_AL(), BX, CX, DX); +} +#endif + +static void vga_get_cursor_pos(uint8_t page, uint16_t STACK_BASED *scans, uint16_t STACK_BASED *loc) +{ + if (page > 7) { + *scans = 0; + *loc = 0; + } else { + // FIXME should handle VGA 14/16 lines + *scans = read_word(BIOSMEM_SEG,BIOSMEM_CURSOR_TYPE); + *loc = read_word(BIOSMEM_SEG,BIOSMEM_CURSOR_POS + page * 2); + } +} + + +static void vga_read_char_attr(uint8_t page, uint16_t STACK_BASED *chr_atr) +{ + uint8_t xcurs, ycurs, mode, line; + uint16_t nbcols, nbrows, address; + uint16_t cursor, dummy; + + // Get the mode + mode = read_byte(BIOSMEM_SEG, BIOSMEM_CURRENT_MODE); + line = find_vga_entry(mode); + if (line == 0xFF) + return; + + // Get the cursor pos for the page + vga_get_cursor_pos(page, &dummy, &cursor); + xcurs = cursor & 0x00ff; + ycurs = (cursor & 0xff00) >> 8; + + // Get the dimensions + nbrows = read_byte(BIOSMEM_SEG, BIOSMEM_NB_ROWS) + 1; + nbcols = read_word(BIOSMEM_SEG, BIOSMEM_NB_COLS); + + if (vga_modes[line].class == TEXT) { + // Compute the address + address = SCREEN_MEM_START(nbcols, nbrows, page) + (xcurs + ycurs * nbcols) * 2; + *chr_atr = read_word(vga_modes[line].sstart, address); + } else { + /// @todo graphics modes (not so easy - or useful!) +#ifdef VGA_DEBUG + unimplemented(); +#endif + } +} + +static void vga_get_font_info (uint16_t func, uint16_t STACK_BASED *u_seg, uint16_t STACK_BASED *u_ofs, + uint16_t STACK_BASED *c_height, uint16_t STACK_BASED *max_row) +{ + void __far *ptr; + + switch (func) { + case 0x00: + ptr = (void __far *)read_dword(0x00, 0x1f * 4); + break; + case 0x01: + ptr = (void __far *)read_dword(0x00, 0x43 * 4); + break; + case 0x02: + ptr = 0xC000 :> vgafont14; + break; + case 0x03: + ptr = 0xC000 :> vgafont8; + break; + case 0x04: + ptr = 0xC000 :> (vgafont8 + 128 * 8); + break; + case 0x05: + ptr = 0xC000 :> vgafont14alt; + break; + case 0x06: + ptr = 0xC000 :> vgafont16; + break; + case 0x07: + ptr = 0xC000 :> vgafont16alt; + break; + default: +#ifdef VGA_DEBUG + printf("Get font info subfn(%02x) not implemented\n", func); +#endif + return; + } + /* Split the far pointer and write it back. */ + *u_ofs = (uint16_t)ptr; + *u_seg = (uint32_t)ptr >> 16; + + /* The character height (effectively bytes per glyph). */ + *c_height = read_byte(BIOSMEM_SEG, BIOSMEM_CHAR_HEIGHT); + + /* The highest row number. */ + *max_row = read_byte(BIOSMEM_SEG, BIOSMEM_NB_ROWS); +} + +static void vga_read_pixel(uint8_t page, uint16_t col, uint16_t row, uint16_t STACK_BASED *pixel) +{ + uint8_t mode, line, mask, attr, data, i; + uint16_t addr; + + /* Determine current mode characteristics. */ + mode = read_byte(BIOSMEM_SEG, BIOSMEM_CURRENT_MODE); + line = find_vga_entry(mode); + if (line == 0xFF) + return; + if (vga_modes[line].class == TEXT) + return; + + /* Read data depending on memory model. */ + switch (vga_modes[line].memmodel) { + case PLANAR4: + case PLANAR1: + addr = col / 8 + row * read_word(BIOSMEM_SEG, BIOSMEM_NB_COLS); + mask = 0x80 >> (col & 0x07); + attr = 0x00; + for (i = 0; i < 4; i++) { + outw(VGAREG_GRDC_ADDRESS, (i << 8) | 0x04); + data = read_byte(0xa000,addr) & mask; + if (data > 0) + attr |= (0x01 << i); + } + break; + case CGA: + addr = (col >> 2) + (row >> 1) * 80; + if (row & 1) + addr += 0x2000; + data = read_byte(0xb800, addr); + if (vga_modes[line].pixbits == 2) + attr = (data >> ((3 - (col & 0x03)) * 2)) & 0x03; + else + attr = (data >> (7 - (col & 0x07))) & 0x01; + break; + case LINEAR8: + addr = col + row * (read_word(BIOSMEM_SEG, BIOSMEM_NB_COLS) * 8); + attr = read_byte(0xa000, addr); + break; + default: +#ifdef VGA_DEBUG + unimplemented(); +#endif + attr = 0; + } + *(uint8_t STACK_BASED *)pixel = attr; +} + + + +// -------------------------------------------------------------------------------------------- +/*static*/ void biosfn_perform_gray_scale_summing(uint16_t start, uint16_t count) +{uint8_t r,g,b; + uint16_t i; + uint16_t index; + + inb(VGAREG_ACTL_RESET); + outb(VGAREG_ACTL_ADDRESS,0x00); + + for( index = 0; index < count; index++ ) + { + // set read address and switch to read mode + outb(VGAREG_DAC_READ_ADDRESS,start); + // get 6-bit wide RGB data values + r=inb( VGAREG_DAC_DATA ); + g=inb( VGAREG_DAC_DATA ); + b=inb( VGAREG_DAC_DATA ); + + // intensity = ( 0.3 * Red ) + ( 0.59 * Green ) + ( 0.11 * Blue ) + i = ( ( 77*r + 151*g + 28*b ) + 0x80 ) >> 8; + + if(i>0x3f)i=0x3f; + + // set write address and switch to write mode + outb(VGAREG_DAC_WRITE_ADDRESS,start); + // write new intensity value + outb( VGAREG_DAC_DATA, i&0xff ); + outb( VGAREG_DAC_DATA, i&0xff ); + outb( VGAREG_DAC_DATA, i&0xff ); + start++; + } + inb(VGAREG_ACTL_RESET); + outb(VGAREG_ACTL_ADDRESS,0x20); +#ifdef VBOX + inb(VGAREG_ACTL_RESET); +#endif /* VBOX */ +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_set_cursor_shape(uint8_t CH, uint8_t CL) +{uint16_t cheight,curs,crtc_addr; + uint8_t modeset_ctl; + + CH&=0x3f; + CL&=0x1f; + + curs=(CH<<8)+CL; + write_word(BIOSMEM_SEG,BIOSMEM_CURSOR_TYPE,curs); + + modeset_ctl=read_byte(BIOSMEM_SEG,BIOSMEM_MODESET_CTL); + cheight = read_word(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT); + if((modeset_ctl&0x01) && (cheight>8) && (CL<8) && (CH<0x20)) + { + if(CL!=(CH+1)) + { + CH = ((CH+1) * cheight / 8) -1; + } + else + { + CH = ((CL+1) * cheight / 8) - 2; + } + CL = ((CL+1) * cheight / 8) - 1; + } + + // CTRC regs 0x0a and 0x0b + crtc_addr=read_word(BIOSMEM_SEG,BIOSMEM_CRTC_ADDRESS); + outb(crtc_addr,0x0a); + outb(crtc_addr+1,CH); + outb(crtc_addr,0x0b); + outb(crtc_addr+1,CL); +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_set_cursor_pos (uint8_t page, uint16_t cursor) +{ + uint8_t xcurs,ycurs,current; + uint16_t nbcols,nbrows,address,crtc_addr; + + // Should not happen... + if(page>7)return; + + // Bios cursor pos + write_word(BIOSMEM_SEG, BIOSMEM_CURSOR_POS+2*page, cursor); + + // Set the hardware cursor + current=read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_PAGE); + if(page==current) + { + // Get the dimensions + nbcols=read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS); + nbrows=read_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS)+1; + + xcurs=cursor&0x00ff;ycurs=(cursor&0xff00)>>8; + + // Calculate the address knowing nbcols nbrows and page num + address=SCREEN_IO_START(nbcols,nbrows,page)+xcurs+ycurs*nbcols; + + // CRTC regs 0x0e and 0x0f + crtc_addr=read_word(BIOSMEM_SEG,BIOSMEM_CRTC_ADDRESS); + outb(crtc_addr,0x0e); + outb(crtc_addr+1,(address&0xff00)>>8); + outb(crtc_addr,0x0f); + outb(crtc_addr+1,address&0x00ff); + } +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_set_active_page(uint8_t page) +{ + uint16_t cursor,dummy,crtc_addr; + uint16_t nbcols,nbrows,address; + uint8_t mode,line; + + if(page>7)return; + + // Get the mode + mode=read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE); + line=find_vga_entry(mode); + if(line==0xFF)return; + + // Get pos curs pos for the right page + vga_get_cursor_pos(page,&dummy,&cursor); + + if(vga_modes[line].class==TEXT) + { + // Get the dimensions + nbcols=read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS); + nbrows=read_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS)+1; + + // Calculate the address knowing nbcols nbrows and page num + address=SCREEN_MEM_START(nbcols,nbrows,page); + write_word(BIOSMEM_SEG,BIOSMEM_CURRENT_START,address); + + // Start address + address=SCREEN_IO_START(nbcols,nbrows,page); + } + else + { + address = page * (*(uint16_t *)&video_param_table[line_to_vpti[line]].slength_l); + } + + // CRTC regs 0x0c and 0x0d + crtc_addr=read_word(BIOSMEM_SEG,BIOSMEM_CRTC_ADDRESS); + outb(crtc_addr,0x0c); + outb(crtc_addr+1,(address&0xff00)>>8); + outb(crtc_addr,0x0d); + outb(crtc_addr+1,address&0x00ff); + + // And change the BIOS page + write_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_PAGE,page); + +#ifdef VGA_DEBUG + printf("Set active page %02x address %04x\n",page,address); +#endif + + // Display the cursor, now the page is active + biosfn_set_cursor_pos(page,cursor); +} + +/// @todo Evaluate whether executing INT 10h is the right thing here +extern void vga_font_set(uint8_t function, uint8_t data); +#pragma aux vga_font_set = \ + "mov ah, 11h" \ + "int 10h" \ + parm [al] [bl]; + +// ============================================================================================ +// +// BIOS functions +// +// ============================================================================================ + +/* CGA-compatible MSR (0x3D8) register values for first modes 0-7. */ +uint8_t cga_msr[8] = { + 0x2C, 0x28, 0x2D, 0x29, 0x2A, 0x2E, 0x1E, 0x29 +}; + +void biosfn_set_video_mode(uint8_t mode) +{// mode: Bit 7 is 1 if no clear screen + + // Should we clear the screen ? + uint8_t noclearmem=mode&0x80; + uint8_t line,mmask,*palette,vpti; + uint16_t i,twidth,theightm1,cheight; + uint8_t modeset_ctl,video_ctl,vga_switches; + uint16_t crtc_addr; + +#ifdef VBE + if (vbe_has_vbe_display()) { + // Force controller into VGA mode + outb(VGAREG_SEQU_ADDRESS,7); + outb(VGAREG_SEQU_DATA,0x00); + } +#endif // def VBE + + // The real mode + mode=mode&0x7f; + + // Display switching is not supported, and mono monitors aren't either. + // Requests to set mode 7 (mono) must set mode 0 instead (color). + if (mode == 7) + mode = 0; + + // find the entry in the video modes + line=find_vga_entry(mode); + +#ifdef VGA_DEBUG + printf("mode search %02x found line %02x\n",mode,line); +#endif + + if(line==0xFF) + return; + + vpti=line_to_vpti[line]; + twidth=video_param_table[vpti].twidth; + theightm1=video_param_table[vpti].theightm1; + cheight=video_param_table[vpti].cheight; + + // Read the bios vga control + video_ctl=read_byte(BIOSMEM_SEG,BIOSMEM_VIDEO_CTL); + + // Read the bios vga switches + vga_switches=read_byte(BIOSMEM_SEG,BIOSMEM_SWITCHES); + + // Read the bios mode set control + modeset_ctl=read_byte(BIOSMEM_SEG,BIOSMEM_MODESET_CTL); + + // Then we know the number of lines +// FIXME + + // if palette loading (bit 3 of modeset ctl = 0) + if((modeset_ctl&0x08)==0) + {// Set the PEL mask + outb(VGAREG_PEL_MASK,vga_modes[line].pelmask); + + // Set the whole dac always, from 0 + outb(VGAREG_DAC_WRITE_ADDRESS,0x00); + + // From which palette + switch(vga_modes[line].dacmodel) + {case 0: + palette=&palette0[0]; + break; + case 1: + palette=&palette1[0]; + break; + case 2: + palette=&palette2[0]; + break; + case 3: + palette=&palette3[0]; + break; + } + // Always 256*3 values + for(i=0;i<0x0100;i++) + {if(i<=dac_regs[vga_modes[line].dacmodel]) + {outb(VGAREG_DAC_DATA,palette[(i*3)+0]); + outb(VGAREG_DAC_DATA,palette[(i*3)+1]); + outb(VGAREG_DAC_DATA,palette[(i*3)+2]); + } + else + {outb(VGAREG_DAC_DATA,0); + outb(VGAREG_DAC_DATA,0); + outb(VGAREG_DAC_DATA,0); + } + } + if((modeset_ctl&0x02)==0x02) + { + biosfn_perform_gray_scale_summing(0x00, 0x100); + } + } + + // Reset Attribute Ctl flip-flop + inb(VGAREG_ACTL_RESET); + + // Set Attribute Ctl + for(i=0;i<=0x13;i++) + {outb(VGAREG_ACTL_ADDRESS,i); + outb(VGAREG_ACTL_WRITE_DATA,video_param_table[vpti].actl_regs[i]); + } + outb(VGAREG_ACTL_ADDRESS,0x14); + outb(VGAREG_ACTL_WRITE_DATA,0x00); + + // Set Sequencer Ctl + outb(VGAREG_SEQU_ADDRESS,0); + outb(VGAREG_SEQU_DATA,0x03); + for(i=1;i<=4;i++) + {outb(VGAREG_SEQU_ADDRESS,i); + outb(VGAREG_SEQU_DATA,video_param_table[vpti].sequ_regs[i - 1]); + } + + // Set Grafx Ctl + for(i=0;i<=8;i++) + {outb(VGAREG_GRDC_ADDRESS,i); + outb(VGAREG_GRDC_DATA,video_param_table[vpti].grdc_regs[i]); + } + + // Set CRTC address VGA or MDA + crtc_addr=vga_modes[line].memmodel==MTEXT?VGAREG_MDA_CRTC_ADDRESS:VGAREG_VGA_CRTC_ADDRESS; + + // Disable CRTC write protection + outw(crtc_addr,0x0011); + // Set CRTC regs + for(i=0;i<=0x18;i++) + {outb(crtc_addr,i); + outb(crtc_addr+1,video_param_table[vpti].crtc_regs[i]); + } + + // Set the misc register + outb(VGAREG_WRITE_MISC_OUTPUT,video_param_table[vpti].miscreg); + + // Enable video + outb(VGAREG_ACTL_ADDRESS,0x20); + inb(VGAREG_ACTL_RESET); + + if(noclearmem==0x00) + { + if(vga_modes[line].class==TEXT) + { + memsetw(vga_modes[line].sstart,0,0x0720,0x4000); // 32k + } + else + { + if(mode<0x0d) + { + memsetw(vga_modes[line].sstart,0,0x0000,0x4000); // 32k + } + else + { + outb( VGAREG_SEQU_ADDRESS, 0x02 ); + mmask = inb( VGAREG_SEQU_DATA ); + outb( VGAREG_SEQU_DATA, 0x0f ); // all planes + memsetw(vga_modes[line].sstart,0,0x0000,0x8000); // 64k + outb( VGAREG_SEQU_DATA, mmask ); + } + } + } + + // Set the BIOS mem + write_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE,mode); + write_word(BIOSMEM_SEG,BIOSMEM_NB_COLS,twidth); + write_word(BIOSMEM_SEG,BIOSMEM_PAGE_SIZE,*(uint16_t *)&video_param_table[vpti].slength_l); + write_word(BIOSMEM_SEG,BIOSMEM_CRTC_ADDRESS,crtc_addr); + write_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS,theightm1); + write_word(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT,cheight); + write_byte(BIOSMEM_SEG,BIOSMEM_VIDEO_CTL,(0x60|noclearmem)); + write_byte(BIOSMEM_SEG,BIOSMEM_SWITCHES,0xF9); + write_byte(BIOSMEM_SEG,BIOSMEM_MODESET_CTL,read_byte(BIOSMEM_SEG,BIOSMEM_MODESET_CTL)&0x7f); + + // FIXME We nearly have the good tables. to be reworked + write_byte(BIOSMEM_SEG,BIOSMEM_DCC_INDEX,0x08); // 8 is VGA should be ok for now + write_dword(BIOSMEM_SEG,BIOSMEM_VS_POINTER, (uint32_t)(void __far *)video_save_pointer_table); + + if (mode <= 7) + { + write_byte(BIOSMEM_SEG, BIOSMEM_CURRENT_MSR, cga_msr[mode]); /* Like CGA reg. 0x3D8 */ + write_byte(BIOSMEM_SEG, BIOSMEM_CURRENT_PAL, mode == 6 ? 0x3F : 0x30); /* Like CGA reg. 0x3D9*/ + } + + // Set cursor shape + if(vga_modes[line].class==TEXT) + { + biosfn_set_cursor_shape(0x06,0x07); + } + + // Set cursor pos for page 0..7 + for(i=0;i<8;i++) + biosfn_set_cursor_pos(i,0x0000); + + // Set active page 0 + biosfn_set_active_page(0x00); + + // Write the fonts in memory + if(vga_modes[line].class==TEXT) + { + vga_font_set(0x04, 0); /* Load 8x16 font into page 0. */ + vga_font_set(0x03, 0); /* Select font page mode 0. */ + } + + // Set the ints 0x1F and 0x43 + set_int_vector(0x1f, vgafont8+128*8); + + switch(cheight) + {case 8: + set_int_vector(0x43, vgafont8); + break; + case 14: + set_int_vector(0x43, vgafont14); + break; + case 16: + set_int_vector(0x43, vgafont16); + break; + } +} + +// -------------------------------------------------------------------------------------------- +static void vgamem_copy_pl4(uint8_t xstart, uint8_t ysrc, uint8_t ydest, + uint8_t cols, uint8_t nbcols, uint8_t cheight) +{ + uint16_t src,dest; + uint8_t i; + + src=ysrc*cheight*nbcols+xstart; + dest=ydest*cheight*nbcols+xstart; + outw(VGAREG_GRDC_ADDRESS, 0x0105); + for(i=0;i<cheight;i++) + { + memcpyb(0xa000,dest+i*nbcols,0xa000,src+i*nbcols,cols); + } + outw(VGAREG_GRDC_ADDRESS, 0x0005); +} + +// -------------------------------------------------------------------------------------------- +static void vgamem_fill_pl4(uint8_t xstart, uint8_t ystart, uint8_t cols, + uint8_t nbcols, uint8_t cheight, uint8_t attr) +{ + uint16_t dest; + uint8_t i; + + dest=ystart*cheight*nbcols+xstart; + outw(VGAREG_GRDC_ADDRESS, 0x0205); + for(i=0;i<cheight;i++) + { + memsetb(0xa000,dest+i*nbcols,attr,cols); + } + outw(VGAREG_GRDC_ADDRESS, 0x0005); +} + +// -------------------------------------------------------------------------------------------- +static void vgamem_copy_cga(uint8_t xstart, uint8_t ysrc, uint8_t ydest, + uint8_t cols, uint8_t nbcols, uint8_t cheight) +{ + uint16_t src,dest; + uint8_t i; + + src=((ysrc*cheight*nbcols)>>1)+xstart; + dest=((ydest*cheight*nbcols)>>1)+xstart; + for(i=0;i<cheight;i++) + { + if (i & 1) + memcpyb(0xb800,0x2000+dest+(i>>1)*nbcols,0xb800,0x2000+src+(i>>1)*nbcols,cols); + else + memcpyb(0xb800,dest+(i>>1)*nbcols,0xb800,src+(i>>1)*nbcols,cols); + } +} + +// -------------------------------------------------------------------------------------------- +static void vgamem_fill_cga(uint8_t xstart, uint8_t ystart, uint8_t cols, + uint8_t nbcols, uint8_t cheight, uint8_t attr) +{ + uint16_t dest; + uint8_t i; + + dest=((ystart*cheight*nbcols)>>1)+xstart; + for(i=0;i<cheight;i++) + { + if (i & 1) + memsetb(0xb800,0x2000+dest+(i>>1)*nbcols,attr,cols); + else + memsetb(0xb800,dest+(i>>1)*nbcols,attr,cols); + } +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_scroll(uint8_t nblines, uint8_t attr, uint8_t rul, uint8_t cul, + uint8_t rlr, uint8_t clr, uint8_t page, uint8_t dir) +{ + // page == 0xFF if current + + uint8_t mode,line,cheight,bpp,cols; + uint16_t nbcols,nbrows,i; + uint16_t address; + + if(rul>rlr)return; + if(cul>clr)return; + + // Get the mode + mode=read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE); + line=find_vga_entry(mode); + if(line==0xFF)return; + + // Get the dimensions + nbrows=read_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS)+1; + nbcols=read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS); + + // Get the current page + if(page==0xFF) + page=read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_PAGE); + + if(rlr>=nbrows)rlr=nbrows-1; + if(clr>=nbcols)clr=nbcols-1; + if(nblines>nbrows)nblines=0; + cols=clr-cul+1; + + if(vga_modes[line].class==TEXT) + { + // Compute the address + address=SCREEN_MEM_START(nbcols,nbrows,page); +#ifdef VGA_DEBUG + printf("Scroll, address %04x (%04x %04x %02x)\n",address,nbrows,nbcols,page); +#endif + + if(nblines==0&&rul==0&&cul==0&&rlr==nbrows-1&&clr==nbcols-1) + { + memsetw(vga_modes[line].sstart,address,(uint16_t)attr*0x100+' ',nbrows*nbcols); + } + else + {// if Scroll up + if(dir==SCROLL_UP) + {for(i=rul;i<=rlr;i++) + { + if((i+nblines>rlr)||(nblines==0)) + memsetw(vga_modes[line].sstart,address+(i*nbcols+cul)*2,(uint16_t)attr*0x100+' ',cols); + else + memcpyw(vga_modes[line].sstart,address+(i*nbcols+cul)*2,vga_modes[line].sstart,((i+nblines)*nbcols+cul)*2,cols); + } + } + else + {for(i=rlr;i>=rul;i--) + { + if((i<rul+nblines)||(nblines==0)) + memsetw(vga_modes[line].sstart,address+(i*nbcols+cul)*2,(uint16_t)attr*0x100+' ',cols); + else + memcpyw(vga_modes[line].sstart,address+(i*nbcols+cul)*2,vga_modes[line].sstart,((i-nblines)*nbcols+cul)*2,cols); + if (i>rlr) break; + } + } + } + } + else + { + // FIXME gfx mode not complete + cheight=video_param_table[line_to_vpti[line]].cheight; + switch(vga_modes[line].memmodel) + { + case PLANAR4: + case PLANAR1: + if(nblines==0&&rul==0&&cul==0&&rlr==nbrows-1&&clr==nbcols-1) + { + outw(VGAREG_GRDC_ADDRESS, 0x0205); + memsetb(vga_modes[line].sstart,0,attr,nbrows*nbcols*cheight); + outw(VGAREG_GRDC_ADDRESS, 0x0005); + } + else + {// if Scroll up + if(dir==SCROLL_UP) + {for(i=rul;i<=rlr;i++) + { + if((i+nblines>rlr)||(nblines==0)) + vgamem_fill_pl4(cul,i,cols,nbcols,cheight,attr); + else + vgamem_copy_pl4(cul,i+nblines,i,cols,nbcols,cheight); + } + } + else + {for(i=rlr;i>=rul;i--) + { + if((i<rul+nblines)||(nblines==0)) + vgamem_fill_pl4(cul,i,cols,nbcols,cheight,attr); + else + vgamem_copy_pl4(cul,i,i-nblines,cols,nbcols,cheight); + if (i>rlr) break; + } + } + } + break; + case CGA: + bpp=vga_modes[line].pixbits; + if(nblines==0&&rul==0&&cul==0&&rlr==nbrows-1&&clr==nbcols-1) + { + memsetb(vga_modes[line].sstart,0,attr,nbrows*nbcols*cheight*bpp); + } + else + { + if(bpp==2) + { + cul<<=1; + cols<<=1; + nbcols<<=1; + } + // if Scroll up + if(dir==SCROLL_UP) + {for(i=rul;i<=rlr;i++) + { + if((i+nblines>rlr)||(nblines==0)) + vgamem_fill_cga(cul,i,cols,nbcols,cheight,attr); + else + vgamem_copy_cga(cul,i+nblines,i,cols,nbcols,cheight); + } + } + else + {for(i=rlr;i>=rul;i--) + { + if((i<rul+nblines)||(nblines==0)) + vgamem_fill_cga(cul,i,cols,nbcols,cheight,attr); + else + vgamem_copy_cga(cul,i,i-nblines,cols,nbcols,cheight); + if (i>rlr) break; + } + } + } + break; +#ifdef VGA_DEBUG + default: + printf("Scroll in graphics mode "); + unimplemented(); +#endif + } + } +} + +// -------------------------------------------------------------------------------------------- +static void write_gfx_char_pl4(uint8_t car, uint8_t attr, uint8_t xcurs, + uint8_t ycurs, uint8_t nbcols, uint8_t cheight) +{ + uint8_t i,j,mask; + uint8_t *fdata; + uint16_t addr,dest,src; + + switch(cheight) + {case 14: + fdata = &vgafont14; + break; + case 16: + fdata = &vgafont16; + break; + default: + fdata = &vgafont8; + } + addr=xcurs+ycurs*cheight*nbcols; + src = car * cheight; + outw(VGAREG_SEQU_ADDRESS, 0x0f02); + outw(VGAREG_GRDC_ADDRESS, 0x0205); + if(attr&0x80) + { + outw(VGAREG_GRDC_ADDRESS, 0x1803); + } + else + { + outw(VGAREG_GRDC_ADDRESS, 0x0003); + } + for(i=0;i<cheight;i++) + { + dest=addr+i*nbcols; + for(j=0;j<8;j++) + { + mask=0x80>>j; + outw(VGAREG_GRDC_ADDRESS, (mask << 8) | 0x08); + read_byte(0xa000,dest); + if(fdata[src+i]&mask) + { + write_byte(0xa000,dest,attr&0x0f); + } + else + { + write_byte(0xa000,dest,0x00); + } + } + } + outw(VGAREG_GRDC_ADDRESS, 0xff08); + outw(VGAREG_GRDC_ADDRESS, 0x0005); + outw(VGAREG_GRDC_ADDRESS, 0x0003); +} + +// -------------------------------------------------------------------------------------------- +static void write_gfx_char_cga(uint8_t car, uint8_t attr, uint8_t xcurs, + uint8_t ycurs, uint8_t nbcols, uint8_t bpp) +{ + uint8_t i,j,mask,data; + uint8_t *fdata; + uint16_t addr,dest,src; + + fdata = &vgafont8; + addr=(xcurs*bpp)+ycurs*320; + src = car * 8; + for(i=0;i<8;i++) + { + dest=addr+(i>>1)*80; + if (i & 1) dest += 0x2000; + mask = 0x80; + if (bpp == 1) + { + if (attr & 0x80) + { + data = read_byte(0xb800,dest); + } + else + { + data = 0x00; + } + for(j=0;j<8;j++) + { + if (fdata[src+i] & mask) + { + if (attr & 0x80) + { + data ^= (attr & 0x01) << (7-j); + } + else + { + data |= (attr & 0x01) << (7-j); + } + } + mask >>= 1; + } + write_byte(0xb800,dest,data); + } + else + { + while (mask > 0) + { + if (attr & 0x80) + { + data = read_byte(0xb800,dest); + } + else + { + data = 0x00; + } + for(j=0;j<4;j++) + { + if (fdata[src+i] & mask) + { + if (attr & 0x80) + { + data ^= (attr & 0x03) << ((3-j)*2); + } + else + { + data |= (attr & 0x03) << ((3-j)*2); + } + } + mask >>= 1; + } + write_byte(0xb800,dest,data); + dest += 1; + } + } + } +} + +// -------------------------------------------------------------------------------------------- +static void write_gfx_char_lin(uint8_t car, uint8_t attr, uint8_t xcurs, + uint8_t ycurs, uint8_t nbcols) +{ + uint8_t i,j,mask,data; + uint8_t *fdata; + uint16_t addr,dest,src; + + fdata = &vgafont8; + addr=xcurs*8+ycurs*nbcols*64; + src = car * 8; + for(i=0;i<8;i++) + { + dest=addr+i*nbcols*8; + mask = 0x80; + for(j=0;j<8;j++) + { + data = 0x00; + if (fdata[src+i] & mask) + { + data = attr; + } + write_byte(0xa000,dest+j,data); + mask >>= 1; + } + } +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_write_char_attr(uint8_t car, uint8_t page, uint8_t attr, uint16_t count) +{ + uint8_t cheight,xcurs,ycurs,mode,line,bpp; + uint16_t nbcols,nbrows,address; + uint16_t cursor,dummy; + + // Get the mode + mode=read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE); + line=find_vga_entry(mode); + if(line==0xFF)return; + + // Get the cursor pos for the page + vga_get_cursor_pos(page,&dummy,&cursor); + xcurs=cursor&0x00ff;ycurs=(cursor&0xff00)>>8; + + // Get the dimensions + nbrows=read_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS)+1; + nbcols=read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS); + + if(vga_modes[line].class==TEXT) + { + // Compute the address + address=SCREEN_MEM_START(nbcols,nbrows,page)+(xcurs+ycurs*nbcols)*2; + + dummy=((uint16_t)attr<<8)+car; + memsetw(vga_modes[line].sstart,address,dummy,count); + } + else + { + // FIXME gfx mode not complete + cheight=video_param_table[line_to_vpti[line]].cheight; + bpp=vga_modes[line].pixbits; + while((count-->0) && (xcurs<nbcols)) + { + switch(vga_modes[line].memmodel) + { + case PLANAR4: + case PLANAR1: + write_gfx_char_pl4(car,attr,xcurs,ycurs,nbcols,cheight); + break; + case CGA: + write_gfx_char_cga(car,attr,xcurs,ycurs,nbcols,bpp); + break; + case LINEAR8: + write_gfx_char_lin(car,attr,xcurs,ycurs,nbcols); + break; +#ifdef VGA_DEBUG + default: + unimplemented(); +#endif + } + xcurs++; + } + } +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_write_char_only(uint8_t car, uint8_t page, uint8_t attr, uint16_t count) +{ + uint8_t cheight,xcurs,ycurs,mode,line,bpp; + uint16_t nbcols,nbrows,address; + uint16_t cursor,dummy; + + // Get the mode + mode=read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE); + line=find_vga_entry(mode); + if(line==0xFF)return; + + // Get the cursor pos for the page + vga_get_cursor_pos(page,&dummy,&cursor); + xcurs=cursor&0x00ff;ycurs=(cursor&0xff00)>>8; + + // Get the dimensions + nbrows=read_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS)+1; + nbcols=read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS); + + if(vga_modes[line].class==TEXT) + { + // Compute the address + address=SCREEN_MEM_START(nbcols,nbrows,page)+(xcurs+ycurs*nbcols)*2; + + while(count-->0) + {write_byte(vga_modes[line].sstart,address,car); + address+=2; + } + } + else + { + // FIXME gfx mode not complete + cheight=video_param_table[line_to_vpti[line]].cheight; + bpp=vga_modes[line].pixbits; + while((count-->0) && (xcurs<nbcols)) + { + switch(vga_modes[line].memmodel) + { + case PLANAR4: + case PLANAR1: + write_gfx_char_pl4(car,attr,xcurs,ycurs,nbcols,cheight); + break; + case CGA: + write_gfx_char_cga(car,attr,xcurs,ycurs,nbcols,bpp); + break; + case LINEAR8: + write_gfx_char_lin(car,attr,xcurs,ycurs,nbcols); + break; +#ifdef VGA_DEBUG + default: + unimplemented(); +#endif + } + xcurs++; + } + } +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_write_pixel(uint8_t BH, uint8_t AL, uint16_t CX, uint16_t DX) +{ + uint8_t mode,line,mask,attr,data; + uint16_t addr; + + // Get the mode + mode=read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE); + line=find_vga_entry(mode); + if(line==0xFF)return; + if(vga_modes[line].class==TEXT)return; + + switch(vga_modes[line].memmodel) + { + case PLANAR4: + case PLANAR1: + addr = CX/8+DX*read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS); + mask = 0x80 >> (CX & 0x07); + outw(VGAREG_GRDC_ADDRESS, (mask << 8) | 0x08); + outw(VGAREG_GRDC_ADDRESS, 0x0205); + data = read_byte(0xa000,addr); + if (AL & 0x80) + { + outw(VGAREG_GRDC_ADDRESS, 0x1803); + } + write_byte(0xa000,addr,AL); + outw(VGAREG_GRDC_ADDRESS, 0xff08); + outw(VGAREG_GRDC_ADDRESS, 0x0005); + outw(VGAREG_GRDC_ADDRESS, 0x0003); + break; + case CGA: + if(vga_modes[line].pixbits==2) + { + addr=(CX>>2)+(DX>>1)*80; + } + else + { + addr=(CX>>3)+(DX>>1)*80; + } + if (DX & 1) addr += 0x2000; + data = read_byte(0xb800,addr); + if(vga_modes[line].pixbits==2) + { + attr = (AL & 0x03) << ((3 - (CX & 0x03)) * 2); + mask = 0x03 << ((3 - (CX & 0x03)) * 2); + } + else + { + attr = (AL & 0x01) << (7 - (CX & 0x07)); + mask = 0x01 << (7 - (CX & 0x07)); + } + if (AL & 0x80) + { + data ^= attr; + } + else + { + data &= ~mask; + data |= attr; + } + write_byte(0xb800,addr,data); + break; + case LINEAR8: + addr=CX+DX*(read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS)*8); + write_byte(0xa000,addr,AL); + break; +#ifdef VGA_DEBUG + default: + unimplemented(); +#endif + } +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_write_teletype(uint8_t car, uint8_t page, uint8_t attr, uint8_t flag) +{// flag = WITH_ATTR / NO_ATTR + + uint8_t cheight,xcurs,ycurs,mode,line,bpp; + uint16_t nbcols,nbrows,address; + uint16_t cursor,dummy; + + // special case if page is 0xff, use current page + if(page==0xff) + page=read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_PAGE); + + // Get the mode + mode=read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE); + line=find_vga_entry(mode); + if(line==0xFF)return; + + // Get the cursor pos for the page + vga_get_cursor_pos(page,&dummy,&cursor); + xcurs=cursor&0x00ff;ycurs=(cursor&0xff00)>>8; + + // Get the dimensions + nbrows=read_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS)+1; + nbcols=read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS); + + switch(car) + { + case '\a': // ASCII 0x07, BEL + //FIXME should beep + break; + + case '\b': // ASCII 0x08, BS + if(xcurs>0)xcurs--; + break; + + case '\n': // ASCII 0x0A, LF + ycurs++; + break; + + case '\r': // ASCII 0x0D, CR + xcurs=0; + break; + + default: + + if(vga_modes[line].class==TEXT) + { + // Compute the address + address=SCREEN_MEM_START(nbcols,nbrows,page)+(xcurs+ycurs*nbcols)*2; + + // Write the char + write_byte(vga_modes[line].sstart,address,car); + + if(flag==WITH_ATTR) + write_byte(vga_modes[line].sstart,address+1,attr); + } + else + { + // FIXME gfx mode not complete + cheight=video_param_table[line_to_vpti[line]].cheight; + bpp=vga_modes[line].pixbits; + switch(vga_modes[line].memmodel) + { + case PLANAR4: + case PLANAR1: + write_gfx_char_pl4(car,attr,xcurs,ycurs,nbcols,cheight); + break; + case CGA: + write_gfx_char_cga(car,attr,xcurs,ycurs,nbcols,bpp); + break; + case LINEAR8: + write_gfx_char_lin(car,attr,xcurs,ycurs,nbcols); + break; +#ifdef VGA_DEBUG + default: + unimplemented(); +#endif + } + } + xcurs++; + // Do we need to wrap ? + if(xcurs==nbcols) + {xcurs=0; + ycurs++; + } + } + + // Do we need to scroll ? + if(ycurs==nbrows) + { + if(vga_modes[line].class==TEXT) + { + address=SCREEN_MEM_START(nbcols,nbrows,page)+(xcurs+(ycurs-1)*nbcols)*2; + attr=read_byte(vga_modes[line].sstart,address+1); + biosfn_scroll(0x01,attr,0,0,nbrows-1,nbcols-1,page,SCROLL_UP); + } + else + { + biosfn_scroll(0x01,0x00,0,0,nbrows-1,nbcols-1,page,SCROLL_UP); + } + ycurs-=1; + } + + // Set the cursor for the page + cursor=ycurs; cursor<<=8; cursor+=xcurs; + biosfn_set_cursor_pos(page,cursor); +} + +// -------------------------------------------------------------------------------------------- +static void get_font_access(void) +{ + outw(VGAREG_SEQU_ADDRESS, 0x0100); + outw(VGAREG_SEQU_ADDRESS, 0x0402); + outw(VGAREG_SEQU_ADDRESS, 0x0704); + outw(VGAREG_SEQU_ADDRESS, 0x0300); + outw(VGAREG_GRDC_ADDRESS, 0x0204); + outw(VGAREG_GRDC_ADDRESS, 0x0005); + outw(VGAREG_GRDC_ADDRESS, 0x0406); +} + +static void release_font_access(void) +{ + outw(VGAREG_SEQU_ADDRESS, 0x0100); + outw(VGAREG_SEQU_ADDRESS, 0x0302); + outw(VGAREG_SEQU_ADDRESS, 0x0304); + outw(VGAREG_SEQU_ADDRESS, 0x0300); + outw(VGAREG_GRDC_ADDRESS, (((0x0a | ((inb(VGAREG_READ_MISC_OUTPUT) & 0x01) << 2)) << 8) | 0x06)); + outw(VGAREG_GRDC_ADDRESS, 0x0004); + outw(VGAREG_GRDC_ADDRESS, 0x1005); +} + +static void set_scan_lines(uint8_t lines) +{ + uint16_t crtc_addr,cols,vde; + uint8_t crtc_r9,ovl,rows; + + crtc_addr = read_word(BIOSMEM_SEG,BIOSMEM_CRTC_ADDRESS); + outb(crtc_addr, 0x09); + crtc_r9 = inb(crtc_addr+1); + crtc_r9 = (crtc_r9 & 0xe0) | (lines - 1); + outb(crtc_addr+1, crtc_r9); + if(lines==8) + { + biosfn_set_cursor_shape(0x06,0x07); + } + else + { + biosfn_set_cursor_shape(lines-4,lines-3); + } + write_word(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT, lines); + outb(crtc_addr, 0x12); + vde = inb(crtc_addr+1); + outb(crtc_addr, 0x07); + ovl = inb(crtc_addr+1); + vde += (((ovl & 0x02) << 7) + ((ovl & 0x40) << 3) + 1); + rows = vde / lines; + write_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS, rows-1); + cols = read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS); + write_word(BIOSMEM_SEG,BIOSMEM_PAGE_SIZE, rows * cols * 2); +} + +static void biosfn_load_text_user_pat(uint8_t AL, uint16_t ES, uint16_t BP, uint16_t CX, + uint16_t DX, uint8_t BL, uint8_t BH) +{ + uint16_t blockaddr,dest,i,src; + + get_font_access(); + blockaddr = ((BL & 0x03) << 14) + ((BL & 0x04) << 11); + for(i=0;i<CX;i++) + { + src = BP + i * BH; + dest = blockaddr + (DX + i) * 32; + memcpyb(0xA000, dest, ES, src, BH); + } + release_font_access(); + if(AL>=0x10) + { + set_scan_lines(BH); + } +} + +static void biosfn_load_text_8_14_pat(uint8_t AL, uint8_t BL) +{ + uint16_t blockaddr,dest,i,src; + + get_font_access(); + blockaddr = ((BL & 0x03) << 14) + ((BL & 0x04) << 11); + for(i=0;i<0x100;i++) + { + src = i * 14; + dest = blockaddr + i * 32; + memcpyb(0xA000, dest, 0xC000, (uint16_t)vgafont14+src, 14); + } + release_font_access(); + if(AL>=0x10) + { + set_scan_lines(14); + } +} + +static void biosfn_load_text_8_8_pat(uint8_t AL, uint8_t BL) +{ + uint16_t blockaddr,dest,i,src; + + get_font_access(); + blockaddr = ((BL & 0x03) << 14) + ((BL & 0x04) << 11); + for(i=0;i<0x100;i++) + { + src = i * 8; + dest = blockaddr + i * 32; + memcpyb(0xA000, dest, 0xC000, (uint16_t)vgafont8+src, 8); + } + release_font_access(); + if(AL>=0x10) + { + set_scan_lines(8); + } +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_load_text_8_16_pat(uint8_t AL, uint8_t BL) +{ + uint16_t blockaddr,dest,i,src; + + get_font_access(); + blockaddr = ((BL & 0x03) << 14) + ((BL & 0x04) << 11); + for(i=0;i<0x100;i++) + { + src = i * 16; + dest = blockaddr + i * 32; + memcpyb(0xA000, dest, 0xC000, (uint16_t)vgafont16+src, 16); + } + release_font_access(); + if(AL>=0x10) + { + set_scan_lines(16); + } +} + +static void biosfn_load_gfx_8_8_chars(uint16_t ES, uint16_t BP) +{ +#ifdef VGA_DEBUG + unimplemented(); +#endif +} +static void biosfn_load_gfx_user_chars(uint16_t ES, uint16_t BP, uint16_t CX, + uint8_t BL, uint8_t DL) +{ +#ifdef VGA_DEBUG + unimplemented(); +#endif +} +static void biosfn_load_gfx_8_14_chars(uint8_t BL) +{ +#ifdef VGA_DEBUG + unimplemented(); +#endif +} +static void biosfn_load_gfx_8_8_dd_chars(uint8_t BL) +{ +#ifdef VGA_DEBUG + unimplemented(); +#endif +} +static void biosfn_load_gfx_8_16_chars(uint8_t BL) +{ +#ifdef VGA_DEBUG + unimplemented(); +#endif +} +// -------------------------------------------------------------------------------------------- +static void biosfn_alternate_prtsc(void) +{ +#ifdef VGA_DEBUG + unimplemented(); +#endif +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_switch_video_interface (AL,ES,DX) uint8_t AL;uint16_t ES;uint16_t DX; +{ +#ifdef VGA_DEBUG + unimplemented(); +#endif +} +static void biosfn_enable_video_refresh_control(uint8_t AL) +{ +#ifdef VGA_DEBUG + unimplemented(); +#endif +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_write_string(uint8_t flag, uint8_t page, uint8_t attr, uint16_t count, + uint8_t row, uint8_t col, uint16_t seg, uint16_t offset) +{ + uint16_t newcurs,oldcurs,dummy; + uint8_t car; + + // Read curs info for the page + vga_get_cursor_pos(page,&dummy,&oldcurs); + + // if row=0xff special case : use current cursor position + if(row==0xff) + {col=oldcurs&0x00ff; + row=(oldcurs&0xff00)>>8; + } + + newcurs=row; newcurs<<=8; newcurs+=col; + biosfn_set_cursor_pos(page,newcurs); + + while(count--!=0) + { + car=read_byte(seg,offset++); + if((flag&0x02)!=0) + attr=read_byte(seg,offset++); + + biosfn_write_teletype(car,page,attr,WITH_ATTR); + } + + // Set back curs pos + if((flag&0x01)==0) + biosfn_set_cursor_pos(page,oldcurs); +} + +// -------------------------------------------------------------------------------------------- +static void biosfn_read_state_info(uint16_t BX, uint16_t ES, uint16_t DI) +{ + // Address of static functionality table + write_dword(ES,DI+0x00, (uint32_t)(void __far *)static_functionality); + + // Hard coded copy from BIOS area. Should it be cleaner ? + memcpyb(ES,DI+0x04,BIOSMEM_SEG,0x49,30); + memcpyb(ES,DI+0x22,BIOSMEM_SEG,0x84,3); + + write_byte(ES,DI+0x25,read_byte(BIOSMEM_SEG,BIOSMEM_DCC_INDEX)); + write_byte(ES,DI+0x26,0); + write_byte(ES,DI+0x27,16); + write_byte(ES,DI+0x28,0); + write_byte(ES,DI+0x29,8); + write_byte(ES,DI+0x2a,2); + write_byte(ES,DI+0x2b,0); + write_byte(ES,DI+0x2c,0); + write_byte(ES,DI+0x31,3); + write_byte(ES,DI+0x32,0); + + memsetb(ES,DI+0x33,0,13); +} + +// -------------------------------------------------------------------------------------------- +uint16_t biosfn_read_video_state_size2(uint16_t state) +{ + uint16_t size; + + size = 0; + if (state & 1) + size += 0x46; + + if (state & 2) + size += (5 + 8 + 5) * 2 + 6; + + if (state & 4) + size += 3 + 256 * 3 + 1; + + /// @todo Is this supposed to be in 1-byte or 64-byte units? + return size; +} + +static void vga_get_video_state_size(uint16_t state, uint16_t STACK_BASED *size) +{ + *size = biosfn_read_video_state_size2(state); +} + +uint16_t biosfn_save_video_state(uint16_t CX, uint16_t ES, uint16_t BX) +{ + uint16_t i, crtc_addr, ar_index; + + crtc_addr = read_word(BIOSMEM_SEG, BIOSMEM_CRTC_ADDRESS); + if (CX & 1) { + write_byte(ES, BX, inb(VGAREG_SEQU_ADDRESS)); BX++; + write_byte(ES, BX, inb(crtc_addr)); BX++; + write_byte(ES, BX, inb(VGAREG_GRDC_ADDRESS)); BX++; + inb(VGAREG_ACTL_RESET); + ar_index = inb(VGAREG_ACTL_ADDRESS); + write_byte(ES, BX, ar_index); BX++; + write_byte(ES, BX, inb(VGAREG_READ_FEATURE_CTL)); BX++; + + for(i=1;i<=4;i++){ + outb(VGAREG_SEQU_ADDRESS, i); + write_byte(ES, BX, inb(VGAREG_SEQU_DATA)); BX++; + } + outb(VGAREG_SEQU_ADDRESS, 0); + write_byte(ES, BX, inb(VGAREG_SEQU_DATA)); BX++; + + for(i=0;i<=0x18;i++) { + outb(crtc_addr,i); + write_byte(ES, BX, inb(crtc_addr+1)); BX++; + } + + for(i=0;i<=0x13;i++) { + inb(VGAREG_ACTL_RESET); + outb(VGAREG_ACTL_ADDRESS, i | (ar_index & 0x20)); + write_byte(ES, BX, inb(VGAREG_ACTL_READ_DATA)); BX++; + } + inb(VGAREG_ACTL_RESET); + + for(i=0;i<=8;i++) { + outb(VGAREG_GRDC_ADDRESS,i); + write_byte(ES, BX, inb(VGAREG_GRDC_DATA)); BX++; + } + + write_word(ES, BX, crtc_addr); BX+= 2; + + /* XXX: read plane latches */ + write_byte(ES, BX, 0); BX++; + write_byte(ES, BX, 0); BX++; + write_byte(ES, BX, 0); BX++; + write_byte(ES, BX, 0); BX++; + } + if (CX & 2) { + write_byte(ES, BX, read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE)); BX++; + write_word(ES, BX, read_word(BIOSMEM_SEG,BIOSMEM_NB_COLS)); BX += 2; + write_word(ES, BX, read_word(BIOSMEM_SEG,BIOSMEM_PAGE_SIZE)); BX += 2; + write_word(ES, BX, read_word(BIOSMEM_SEG,BIOSMEM_CRTC_ADDRESS)); BX += 2; + write_byte(ES, BX, read_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS)); BX++; + write_word(ES, BX, read_word(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT)); BX += 2; + write_byte(ES, BX, read_byte(BIOSMEM_SEG,BIOSMEM_VIDEO_CTL)); BX++; + write_byte(ES, BX, read_byte(BIOSMEM_SEG,BIOSMEM_SWITCHES)); BX++; + write_byte(ES, BX, read_byte(BIOSMEM_SEG,BIOSMEM_MODESET_CTL)); BX++; + write_word(ES, BX, read_word(BIOSMEM_SEG,BIOSMEM_CURSOR_TYPE)); BX += 2; + for(i=0;i<8;i++) { + write_word(ES, BX, read_word(BIOSMEM_SEG, BIOSMEM_CURSOR_POS+2*i)); + BX += 2; + } + write_word(ES, BX, read_word(BIOSMEM_SEG,BIOSMEM_CURRENT_START)); BX += 2; + write_byte(ES, BX, read_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_PAGE)); BX++; + /* current font */ + write_word(ES, BX, read_word(0, 0x1f * 4)); BX += 2; + write_word(ES, BX, read_word(0, 0x1f * 4 + 2)); BX += 2; + write_word(ES, BX, read_word(0, 0x43 * 4)); BX += 2; + write_word(ES, BX, read_word(0, 0x43 * 4 + 2)); BX += 2; + } + if (CX & 4) { + /* XXX: check this */ + write_byte(ES, BX, inb(VGAREG_DAC_STATE)); BX++; /* read/write mode dac */ + write_byte(ES, BX, inb(VGAREG_DAC_WRITE_ADDRESS)); BX++; /* pix address */ + write_byte(ES, BX, inb(VGAREG_PEL_MASK)); BX++; + // Set the whole dac always, from 0 + outb(VGAREG_DAC_WRITE_ADDRESS,0x00); + for(i=0;i<256*3;i++) { + write_byte(ES, BX, inb(VGAREG_DAC_DATA)); BX++; + } + write_byte(ES, BX, 0); BX++; /* color select register */ + } + return BX; +} + +uint16_t biosfn_restore_video_state(uint16_t CX, uint16_t ES, uint16_t BX) +{ + uint16_t i, crtc_addr, v, addr1, ar_index; + + if (CX & 1) { + // Reset Attribute Ctl flip-flop + inb(VGAREG_ACTL_RESET); + + crtc_addr = read_word(ES, BX + 0x40); + addr1 = BX; + BX += 5; + + for(i=1;i<=4;i++){ + outb(VGAREG_SEQU_ADDRESS, i); + outb(VGAREG_SEQU_DATA, read_byte(ES, BX)); BX++; + } + outb(VGAREG_SEQU_ADDRESS, 0); + outb(VGAREG_SEQU_DATA, read_byte(ES, BX)); BX++; + + // Disable CRTC write protection + outw(crtc_addr,0x0011); + // Set CRTC regs + for(i=0;i<=0x18;i++) { + if (i != 0x11) { + outb(crtc_addr,i); + outb(crtc_addr+1, read_byte(ES, BX)); + } + BX++; + } + // select crtc base address + v = inb(VGAREG_READ_MISC_OUTPUT) & ~0x01; + if (crtc_addr == 0x3d4) + v |= 0x01; + outb(VGAREG_WRITE_MISC_OUTPUT, v); + + // enable write protection if needed + outb(crtc_addr, 0x11); + outb(crtc_addr+1, read_byte(ES, BX - 0x18 + 0x11)); + + // Set Attribute Ctl + ar_index = read_byte(ES, addr1 + 0x03); + inb(VGAREG_ACTL_RESET); + for(i=0;i<=0x13;i++) { + outb(VGAREG_ACTL_ADDRESS, i | (ar_index & 0x20)); + outb(VGAREG_ACTL_WRITE_DATA, read_byte(ES, BX)); BX++; + } + outb(VGAREG_ACTL_ADDRESS, ar_index); + inb(VGAREG_ACTL_RESET); + + for(i=0;i<=8;i++) { + outb(VGAREG_GRDC_ADDRESS,i); + outb(VGAREG_GRDC_DATA, read_byte(ES, BX)); BX++; + } + BX += 2; /* crtc_addr */ + BX += 4; /* plane latches */ + + outb(VGAREG_SEQU_ADDRESS, read_byte(ES, addr1)); addr1++; + outb(crtc_addr, read_byte(ES, addr1)); addr1++; + outb(VGAREG_GRDC_ADDRESS, read_byte(ES, addr1)); addr1++; + addr1++; + outb(crtc_addr - 0x4 + 0xa, read_byte(ES, addr1)); addr1++; + } + if (CX & 2) { + write_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE, read_byte(ES, BX)); BX++; + write_word(BIOSMEM_SEG,BIOSMEM_NB_COLS, read_word(ES, BX)); BX += 2; + write_word(BIOSMEM_SEG,BIOSMEM_PAGE_SIZE, read_word(ES, BX)); BX += 2; + write_word(BIOSMEM_SEG,BIOSMEM_CRTC_ADDRESS, read_word(ES, BX)); BX += 2; + write_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS, read_byte(ES, BX)); BX++; + write_word(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT, read_word(ES, BX)); BX += 2; + write_byte(BIOSMEM_SEG,BIOSMEM_VIDEO_CTL, read_byte(ES, BX)); BX++; + write_byte(BIOSMEM_SEG,BIOSMEM_SWITCHES, read_byte(ES, BX)); BX++; + write_byte(BIOSMEM_SEG,BIOSMEM_MODESET_CTL, read_byte(ES, BX)); BX++; + write_word(BIOSMEM_SEG,BIOSMEM_CURSOR_TYPE, read_word(ES, BX)); BX += 2; + for(i=0;i<8;i++) { + write_word(BIOSMEM_SEG, BIOSMEM_CURSOR_POS+2*i, read_word(ES, BX)); + BX += 2; + } + write_word(BIOSMEM_SEG,BIOSMEM_CURRENT_START, read_word(ES, BX)); BX += 2; + write_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_PAGE, read_byte(ES, BX)); BX++; + /* current font */ + write_word(0, 0x1f * 4, read_word(ES, BX)); BX += 2; + write_word(0, 0x1f * 4 + 2, read_word(ES, BX)); BX += 2; + write_word(0, 0x43 * 4, read_word(ES, BX)); BX += 2; + write_word(0, 0x43 * 4 + 2, read_word(ES, BX)); BX += 2; + } + if (CX & 4) { + BX++; + v = read_byte(ES, BX); BX++; + outb(VGAREG_PEL_MASK, read_byte(ES, BX)); BX++; + // Set the whole dac always, from 0 + outb(VGAREG_DAC_WRITE_ADDRESS,0x00); + for(i=0;i<256*3;i++) { + outb(VGAREG_DAC_DATA, read_byte(ES, BX)); BX++; + } + BX++; + outb(VGAREG_DAC_WRITE_ADDRESS, v); + } + return BX; +} + +// ============================================================================================ +// +// Video Utils +// +// ============================================================================================ + +// -------------------------------------------------------------------------------------------- +static uint8_t find_vga_entry(uint8_t mode) +{ + uint8_t i,line=0xFF; + for(i=0;i<=MODE_MAX;i++) + if(vga_modes[i].svgamode==mode) + {line=i; + break; + } + return line; +} + +/* =========================================================== */ +/* + * Misc Utils +*/ +/* =========================================================== */ + +uint8_t read_byte(uint16_t seg, uint16_t offset) +{ + return( *(seg:>(uint8_t *)offset) ); +} + +void write_byte(uint16_t seg, uint16_t offset, uint8_t data) +{ + *(seg:>(uint8_t *)offset) = data; +} + +uint16_t read_word(uint16_t seg, uint16_t offset) +{ + return( *(seg:>(uint16_t *)offset) ); +} + +void write_word(uint16_t seg, uint16_t offset, uint16_t data) +{ + *(seg:>(uint16_t *)offset) = data; +} + +uint32_t read_dword(uint16_t seg, uint16_t offset) +{ + return( *(seg:>(uint32_t *)offset) ); +} + +void write_dword(uint16_t seg, uint16_t offset, uint32_t data) +{ + *(seg:>(uint32_t *)offset) = data; +} + +#ifdef VGA_DEBUG +void __cdecl unimplemented() +{ + printf("--> Unimplemented\n"); +} + +void __cdecl unknown() +{ + printf("--> Unknown int10\n"); +} + +#undef VBE_PRINTF_PORT +#define VBE_PRINTF_PORT 0x504 + +// -------------------------------------------------------------------------------------------- +void __cdecl printf(char *s, ...) +{ + char c; + Boolean in_format; + unsigned format_width, i; + uint16_t arg, digit, nibble; + uint16_t STACK_BASED *arg_ptr; + + arg_ptr = (uint16_t STACK_BASED *)&s; + + in_format = 0; + format_width = 0; + + while (c = *s) { + if (c == '%') { + in_format = 1; + format_width = 0; + } else if (in_format) { + if ((c >= '0') && (c <= '9')) { + format_width = (format_width * 10) + (c - '0'); + } else if (c == 'x') { + arg_ptr++; // increment to next arg + arg = *arg_ptr; + if (format_width == 0) + format_width = 4; + i = 0; + digit = format_width - 1; + for (i = 0; i < format_width; i++) { + nibble = (arg >> (4 * digit)) & 0x000f; + if (nibble <= 9) + outb(VBE_PRINTF_PORT, nibble + '0'); + else + outb(VBE_PRINTF_PORT, (nibble - 10) + 'A'); + digit--; + } + in_format = 0; + } + //else if (c == 'd') { + // in_format = 0; + // } + } else { + outb(VBE_PRINTF_PORT, c); + } + ++s; + } +} +#endif + +/// @todo rearrange, call only from VBE module? +extern void vbe_biosfn_return_controller_information(uint16_t STACK_BASED *AX, uint16_t ES, uint16_t DI); +extern void vbe_biosfn_return_mode_information(uint16_t STACK_BASED *AX, uint16_t CX, uint16_t ES, uint16_t DI); +extern void vbe_biosfn_set_mode(uint16_t STACK_BASED *AX, uint16_t BX, uint16_t ES, uint16_t DI); +extern void vbe_biosfn_save_restore_state(uint16_t STACK_BASED *AX, uint16_t CX, uint16_t DX, uint16_t ES, uint16_t STACK_BASED *BX); +extern void vbe_biosfn_get_set_scanline_length(uint16_t STACK_BASED *AX, uint16_t STACK_BASED *BX, uint16_t STACK_BASED *CX, uint16_t STACK_BASED *DX); +extern void private_biosfn_custom_mode(uint16_t STACK_BASED *AX, uint16_t STACK_BASED *BX, uint16_t STACK_BASED *CX, uint16_t STACK_BASED *DX); + + +// -------------------------------------------------------------------------------------------- +/* + * int10 main dispatcher + */ +void __cdecl int10_func(uint16_t DI, uint16_t SI, uint16_t BP, uint16_t SP, uint16_t BX, + uint16_t DX, uint16_t CX, uint16_t AX, uint16_t DS, uint16_t ES, uint16_t FLAGS) +{ + + // BIOS functions + switch(GET_AH()) + { + case 0x00: + biosfn_set_video_mode(GET_AL()); + switch(GET_AL()&0x7F) + {case 6: + SET_AL(0x3F); + break; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 7: + SET_AL(0x30); + break; + default: + SET_AL(0x20); + } + break; + case 0x01: + biosfn_set_cursor_shape(GET_CH(),GET_CL()); + break; + case 0x02: + biosfn_set_cursor_pos(GET_BH(),DX); + break; + case 0x03: + vga_get_cursor_pos(GET_BH(), &CX, &DX); + break; + case 0x04: + // Read light pen pos (unimplemented) +#ifdef VGA_DEBUG + unimplemented(); +#endif + AX=0x00; + BX=0x00; + CX=0x00; + DX=0x00; + break; + case 0x05: + biosfn_set_active_page(GET_AL()); + break; + case 0x06: + biosfn_scroll(GET_AL(),GET_BH(),GET_CH(),GET_CL(),GET_DH(),GET_DL(),0xFF,SCROLL_UP); + break; + case 0x07: + biosfn_scroll(GET_AL(),GET_BH(),GET_CH(),GET_CL(),GET_DH(),GET_DL(),0xFF,SCROLL_DOWN); + break; + case 0x08: + vga_read_char_attr(GET_BH(), &AX); + break; + case 0x09: + biosfn_write_char_attr(GET_AL(),GET_BH(),GET_BL(),CX); + break; + case 0x0A: + biosfn_write_char_only(GET_AL(),GET_BH(),GET_BL(),CX); + break; + case 0x0C: + biosfn_write_pixel(GET_BH(),GET_AL(),CX,DX); + break; + case 0x0D: + vga_read_pixel(GET_BH(), CX, DX, &AX); + break; + case 0x0E: + // Ralf Brown Interrupt list is WRONG on bh(page) + // We do output only on the current page ! +#ifdef VGA_DEBUG + printf("write_teletype %02x\n", GET_AL()); +#endif + + biosfn_write_teletype(GET_AL(),0xff,GET_BL(),NO_ATTR); + break; + case 0x10: + // All other functions of group AH=0x10 rewritten in assembler + biosfn_perform_gray_scale_summing(BX,CX); + break; + case 0x11: + switch(GET_AL()) + { + case 0x00: + case 0x10: + biosfn_load_text_user_pat(GET_AL(),ES,BP,CX,DX,GET_BL(),GET_BH()); + break; + case 0x01: + case 0x11: + biosfn_load_text_8_14_pat(GET_AL(),GET_BL()); + break; + case 0x02: + case 0x12: + biosfn_load_text_8_8_pat(GET_AL(),GET_BL()); + break; + case 0x04: + case 0x14: + biosfn_load_text_8_16_pat(GET_AL(),GET_BL()); + break; + case 0x20: + biosfn_load_gfx_8_8_chars(ES,BP); + break; + case 0x21: + biosfn_load_gfx_user_chars(ES,BP,CX,GET_BL(),GET_DL()); + break; + case 0x22: + biosfn_load_gfx_8_14_chars(GET_BL()); + break; + case 0x23: + biosfn_load_gfx_8_8_dd_chars(GET_BL()); + break; + case 0x24: + biosfn_load_gfx_8_16_chars(GET_BL()); + break; + case 0x30: + vga_get_font_info(GET_BH(), &ES, &BP, &CX, &DX); + break; +#ifdef VGA_DEBUG + default: + unknown(); +#endif + } + + break; + case 0x12: + switch(GET_BL()) + { + case 0x20: + biosfn_alternate_prtsc(); + break; + case 0x35: + biosfn_switch_video_interface(GET_AL(),ES,DX); + SET_AL(0x12); + break; + case 0x36: + biosfn_enable_video_refresh_control(GET_AL()); + SET_AL(0x12); + break; +#ifdef VGA_DEBUG + default: + unknown(); +#endif + } + break; + case 0x13: + biosfn_write_string(GET_AL(),GET_BH(),GET_BL(),CX,GET_DH(),GET_DL(),ES,BP); + break; + case 0x1B: + biosfn_read_state_info(BX,ES,DI); + SET_AL(0x1B); + break; + case 0x1C: + switch(GET_AL()) + { + case 0x00: + vga_get_video_state_size(CX,&BX); + break; + case 0x01: + biosfn_save_video_state(CX,ES,BX); + break; + case 0x02: + biosfn_restore_video_state(CX,ES,BX); + break; +#ifdef VGA_DEBUG + default: + unknown(); +#endif + } + SET_AL(0x1C); + break; + +#ifdef VBE + case 0x4f: + if (vbe_has_vbe_display()) { + switch(GET_AL()) + { + case 0x00: + vbe_biosfn_return_controller_information(&AX,ES,DI); + break; + case 0x01: + vbe_biosfn_return_mode_information(&AX,CX,ES,DI); + break; + case 0x02: + vbe_biosfn_set_mode(&AX,BX,ES,DI); + break; + case 0x04: + vbe_biosfn_save_restore_state(&AX, CX, DX, ES, &BX); + break; + case 0x06: + vbe_biosfn_get_set_scanline_length(&AX, &BX, &CX, &DX); + break; + case 0x09: + //FIXME +#ifdef VGA_DEBUG + unimplemented(); +#endif + // function failed + AX=0x100; + break; + case 0x0A: + //FIXME +#ifdef VGA_DEBUG + unimplemented(); +#endif + // function failed + AX=0x100; + break; + default: +#ifdef VGA_DEBUG + unknown(); +#endif + // function failed + AX=0x100; + } + } + else { + // No VBE display + AX=0x0100; + } + break; + case 0x56: + if (vbe_has_vbe_display()) { + switch(GET_AL()) + { + case 0x42: + private_biosfn_custom_mode(&AX,&BX,&CX,&DX); + break; + default: + AX=0x0100; + break; + } + } else { + // No VBE display + AX=0x0100; + } + break; +#endif + +#ifdef VGA_DEBUG + default: + unknown(); +#endif + } +} + +#ifdef VBE +//#include "vbe.c" +#endif + +#ifdef CIRRUS +#include "clext.c" +#endif + +// -------------------------------------------------------------------------------------------- + diff --git a/src/VBox/Devices/Graphics/BIOS/vgabios.h b/src/VBox/Devices/Graphics/BIOS/vgabios.h new file mode 100644 index 00000000..1c545710 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vgabios.h @@ -0,0 +1,68 @@ + +#ifndef VBOX_INCLUDED_SRC_Graphics_BIOS_vgabios_h +#define VBOX_INCLUDED_SRC_Graphics_BIOS_vgabios_h +#ifndef RT_WITHOUT_PRAGMA_ONCE +# pragma once +#endif + +/* Types */ +//typedef unsigned char Bit8u; +//typedef unsigned short Bit16u; +//typedef unsigned long Bit32u; +typedef unsigned short Boolean; + +/* Defines */ + +#define SET_AL(val8) AX = ((AX & 0xff00) | (val8)) +#define SET_BL(val8) BX = ((BX & 0xff00) | (val8)) +#define SET_CL(val8) CX = ((CX & 0xff00) | (val8)) +#define SET_DL(val8) DX = ((DX & 0xff00) | (val8)) +#define SET_AH(val8) AX = ((AX & 0x00ff) | ((val8) << 8)) +#define SET_BH(val8) BX = ((BX & 0x00ff) | ((val8) << 8)) +#define SET_CH(val8) CX = ((CX & 0x00ff) | ((val8) << 8)) +#define SET_DH(val8) DX = ((DX & 0x00ff) | ((val8) << 8)) + +#define GET_AL() ( AX & 0x00ff ) +#define GET_BL() ( BX & 0x00ff ) +#define GET_CL() ( CX & 0x00ff ) +#define GET_DL() ( DX & 0x00ff ) +#define GET_AH() ( AX >> 8 ) +#define GET_BH() ( BX >> 8 ) +#define GET_CH() ( CX >> 8 ) +#define GET_DH() ( DX >> 8 ) + +#define SET_CF() FLAGS |= 0x0001 +#define CLEAR_CF() FLAGS &= 0xfffe +#define GET_CF() (FLAGS & 0x0001) + +#define SET_ZF() FLAGS |= 0x0040 +#define CLEAR_ZF() FLAGS &= 0xffbf +#define GET_ZF() (FLAGS & 0x0040) + +#define SCROLL_DOWN 0 +#define SCROLL_UP 1 +#define NO_ATTR 2 +#define WITH_ATTR 3 + +#define SCREEN_SIZE(x,y) (((x*y*2)|0x00ff)+1) +#define SCREEN_MEM_START(x,y,p) ((((x*y*2)|0x00ff)+1)*p) +#define SCREEN_IO_START(x,y,p) ((((x*y)|0x00ff)+1)*p) + +/* Macro for stack-based pointers. */ +#define STACK_BASED _based(_segname("_STACK")) + +/* Output. */ +extern void __cdecl printf(char *s, ...); + +/* VGA BIOS routines called by VBE. */ +extern void biosfn_set_video_mode(uint8_t mode); +extern uint16_t biosfn_read_video_state_size2(uint16_t state); +extern uint16_t biosfn_save_video_state(uint16_t CX, uint16_t ES, uint16_t BX); +extern uint16_t biosfn_restore_video_state(uint16_t CX, uint16_t ES, uint16_t BX); + +/* Allow stand-alone compilation. */ +#ifndef VBOX_VERSION_STRING +#include <VBox/version.h> +#endif + +#endif /* !VBOX_INCLUDED_SRC_Graphics_BIOS_vgabios_h */ diff --git a/src/VBox/Devices/Graphics/BIOS/vgadefs.h b/src/VBox/Devices/Graphics/BIOS/vgadefs.h new file mode 100644 index 00000000..5ae13ea4 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vgadefs.h @@ -0,0 +1,78 @@ + +#ifndef VBOX_INCLUDED_SRC_Graphics_BIOS_vgadefs_h +#define VBOX_INCLUDED_SRC_Graphics_BIOS_vgadefs_h +#ifndef RT_WITHOUT_PRAGMA_ONCE +# pragma once +#endif + +/* + * + * BIOS Memory + * + */ +#define BIOSMEM_SEG 0x40 + +#define BIOSMEM_INITIAL_MODE 0x10 +#define BIOSMEM_CURRENT_MODE 0x49 +#define BIOSMEM_NB_COLS 0x4A +#define BIOSMEM_PAGE_SIZE 0x4C +#define BIOSMEM_CURRENT_START 0x4E +#define BIOSMEM_CURSOR_POS 0x50 +#define BIOSMEM_CURSOR_TYPE 0x60 +#define BIOSMEM_CURRENT_PAGE 0x62 +#define BIOSMEM_CRTC_ADDRESS 0x63 +#define BIOSMEM_CURRENT_MSR 0x65 +#define BIOSMEM_CURRENT_PAL 0x66 +#define BIOSMEM_NB_ROWS 0x84 +#define BIOSMEM_CHAR_HEIGHT 0x85 +#define BIOSMEM_VIDEO_CTL 0x87 +#define BIOSMEM_SWITCHES 0x88 +#define BIOSMEM_MODESET_CTL 0x89 +#define BIOSMEM_DCC_INDEX 0x8A +#define BIOSMEM_VS_POINTER 0xA8 +#define BIOSMEM_VBE_FLAG 0xB9 +#define BIOSMEM_VBE_MODE 0xBA + + +/* + * + * VGA registers + * + */ +#define VGAREG_ACTL_ADDRESS 0x3c0 +#define VGAREG_ACTL_WRITE_DATA 0x3c0 +#define VGAREG_ACTL_READ_DATA 0x3c1 + +#define VGAREG_INPUT_STATUS 0x3c2 +#define VGAREG_WRITE_MISC_OUTPUT 0x3c2 +#define VGAREG_VIDEO_ENABLE 0x3c3 +#define VGAREG_SEQU_ADDRESS 0x3c4 +#define VGAREG_SEQU_DATA 0x3c5 + +#define VGAREG_PEL_MASK 0x3c6 +#define VGAREG_DAC_STATE 0x3c7 +#define VGAREG_DAC_READ_ADDRESS 0x3c7 +#define VGAREG_DAC_WRITE_ADDRESS 0x3c8 +#define VGAREG_DAC_DATA 0x3c9 + +#define VGAREG_READ_FEATURE_CTL 0x3ca +#define VGAREG_READ_MISC_OUTPUT 0x3cc + +#define VGAREG_GRDC_ADDRESS 0x3ce +#define VGAREG_GRDC_DATA 0x3cf + +#define VGAREG_MDA_CRTC_ADDRESS 0x3b4 +#define VGAREG_MDA_CRTC_DATA 0x3b5 +#define VGAREG_VGA_CRTC_ADDRESS 0x3d4 +#define VGAREG_VGA_CRTC_DATA 0x3d5 + +#define VGAREG_MDA_WRITE_FEATURE_CTL 0x3ba +#define VGAREG_VGA_WRITE_FEATURE_CTL 0x3da +#define VGAREG_ACTL_RESET 0x3da + +#define VGAREG_MDA_MODECTL 0x3b8 +#define VGAREG_CGA_MODECTL 0x3d8 +#define VGAREG_CGA_PALETTE 0x3d9 + +#endif /* !VBOX_INCLUDED_SRC_Graphics_BIOS_vgadefs_h */ + diff --git a/src/VBox/Devices/Graphics/BIOS/vgadefs.inc b/src/VBox/Devices/Graphics/BIOS/vgadefs.inc new file mode 100644 index 00000000..ef69fb5e --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vgadefs.inc @@ -0,0 +1,58 @@ +VGAREG_ACTL_ADDRESS EQU 3C0h +VGAREG_ACTL_WRITE_DATA EQU 3C0h +VGAREG_ACTL_READ_DATA EQU 3C1h +VGAREG_ACTL_RESET EQU 3DAh + +VGAREG_DAC_READ_ADDRESS EQU 3C7h +VGAREG_DAC_WRITE_ADDRESS EQU 3C8h +VGAREG_DAC_DATA EQU 3C9h + +VGAREG_PEL_MASK EQU 3C6h + +VGAREG_SEQU_ADDRESS EQU 3C4h +VGAREG_SEQU_DATA EQU 3C5h + +VGAREG_GRDC_ADDRESS EQU 3CEh +VGAREG_GRDC_DATA EQU 3CFh + +VGAREG_MDA_CRTC_ADDRESS EQU 3B4h +VGAREG_VGA_CRTC_ADDRESS EQU 3D4h +VGAREG_VGA_CRTC_DATA EQU 3D5h + + +VGAREG_READ_MISC_OUTPUT EQU 3CCh +VGAREG_WRITE_MISC_OUTPUT EQU 3C2h + +BIOSMEM_SEG EQU 40h +BIOSMEM_CURRENT_MODE EQU 49h +BIOSMEM_NB_COLS EQU 4Ah +BIOSMEM_CURRENT_PAGE EQU 62h +BIOSMEM_CRTC_ADDRESS EQU 63h +BIOSMEM_VIDEO_CTL EQU 87h +BIOSMEM_SWITCHES EQU 88h +BIOSMEM_MODESET_CTL EQU 89h +BIOSMEM_DCC_INDEX EQU 8Ah + +BIOSMEM_VBE_FLAG EQU 0B9h +BIOSMEM_VBE_MODE EQU 0BAh + +VBE_DISPI_IOPORT_INDEX EQU 1CEh +VBE_DISPI_IOPORT_DATA EQU 1CFh + +VBE_DISPI_INDEX_ID EQU 00h +VBE_DISPI_INDEX_XRES EQU 01h +VBE_DISPI_INDEX_YRES EQU 02h +VBE_DISPI_INDEX_BPP EQU 03h +VBE_DISPI_INDEX_ENABLE EQU 04h +VBE_DISPI_INDEX_BANK EQU 05h +VBE_DISPI_INDEX_VIRT_WIDTH EQU 06h +VBE_DISPI_INDEX_VIRT_HEIGHT EQU 07h +VBE_DISPI_INDEX_X_OFFSET EQU 08h +VBE_DISPI_INDEX_Y_OFFSET EQU 09h + +VBE_DISPI_ENABLED EQU 01h +VBE_DISPI_GETCAPS EQU 02h +VBE_DISPI_8BIT_DAC EQU 20h + +VBE_DISPI_ID0 EQU 0B0C0h +VBE_DISPI_ID4 EQU 0B0C4h diff --git a/src/VBox/Devices/Graphics/BIOS/vgafonts.h b/src/VBox/Devices/Graphics/BIOS/vgafonts.h new file mode 100644 index 00000000..3e6d4c12 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vgafonts.h @@ -0,0 +1,878 @@ +/* + * These fonts come from ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip + * The package is (c) by Joseph Gil + * The individual fonts are public domain + */ + +#ifndef VBOX_INCLUDED_SRC_Graphics_BIOS_vgafonts_h +#define VBOX_INCLUDED_SRC_Graphics_BIOS_vgafonts_h +#ifndef RT_WITHOUT_PRAGMA_ONCE +# pragma once +#endif + +static uint8_t vgafont8[256*8]= +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e, + 0x7e, 0xff, 0xdb, 0xff, 0xc3, 0xe7, 0xff, 0x7e, + 0x6c, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00, + 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00, + 0x38, 0x7c, 0x38, 0xfe, 0xfe, 0x7c, 0x38, 0x7c, + 0x10, 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x7c, + 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00, + 0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff, + 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00, + 0xff, 0xc3, 0x99, 0xbd, 0xbd, 0x99, 0xc3, 0xff, + 0x0f, 0x07, 0x0f, 0x7d, 0xcc, 0xcc, 0xcc, 0x78, + 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, + 0x3f, 0x33, 0x3f, 0x30, 0x30, 0x70, 0xf0, 0xe0, + 0x7f, 0x63, 0x7f, 0x63, 0x63, 0x67, 0xe6, 0xc0, + 0x99, 0x5a, 0x3c, 0xe7, 0xe7, 0x3c, 0x5a, 0x99, + 0x80, 0xe0, 0xf8, 0xfe, 0xf8, 0xe0, 0x80, 0x00, + 0x02, 0x0e, 0x3e, 0xfe, 0x3e, 0x0e, 0x02, 0x00, + 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x7e, 0x3c, 0x18, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x00, + 0x7f, 0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x1b, 0x00, + 0x3e, 0x63, 0x38, 0x6c, 0x6c, 0x38, 0xcc, 0x78, + 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x7e, 0x00, + 0x18, 0x3c, 0x7e, 0x18, 0x7e, 0x3c, 0x18, 0xff, + 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00, + 0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00, + 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xfe, 0x00, 0x00, + 0x00, 0x24, 0x66, 0xff, 0x66, 0x24, 0x00, 0x00, + 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x7e, 0x3c, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00, + 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6c, 0x6c, 0xfe, 0x6c, 0xfe, 0x6c, 0x6c, 0x00, + 0x30, 0x7c, 0xc0, 0x78, 0x0c, 0xf8, 0x30, 0x00, + 0x00, 0xc6, 0xcc, 0x18, 0x30, 0x66, 0xc6, 0x00, + 0x38, 0x6c, 0x38, 0x76, 0xdc, 0xcc, 0x76, 0x00, + 0x60, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, + 0x60, 0x30, 0x18, 0x18, 0x18, 0x30, 0x60, 0x00, + 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00, + 0x00, 0x30, 0x30, 0xfc, 0x30, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60, + 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, + 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, + 0x7c, 0xc6, 0xce, 0xde, 0xf6, 0xe6, 0x7c, 0x00, + 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0xfc, 0x00, + 0x78, 0xcc, 0x0c, 0x38, 0x60, 0xcc, 0xfc, 0x00, + 0x78, 0xcc, 0x0c, 0x38, 0x0c, 0xcc, 0x78, 0x00, + 0x1c, 0x3c, 0x6c, 0xcc, 0xfe, 0x0c, 0x1e, 0x00, + 0xfc, 0xc0, 0xf8, 0x0c, 0x0c, 0xcc, 0x78, 0x00, + 0x38, 0x60, 0xc0, 0xf8, 0xcc, 0xcc, 0x78, 0x00, + 0xfc, 0xcc, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x00, + 0x78, 0xcc, 0xcc, 0x78, 0xcc, 0xcc, 0x78, 0x00, + 0x78, 0xcc, 0xcc, 0x7c, 0x0c, 0x18, 0x70, 0x00, + 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00, + 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x60, + 0x18, 0x30, 0x60, 0xc0, 0x60, 0x30, 0x18, 0x00, + 0x00, 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, + 0x60, 0x30, 0x18, 0x0c, 0x18, 0x30, 0x60, 0x00, + 0x78, 0xcc, 0x0c, 0x18, 0x30, 0x00, 0x30, 0x00, + 0x7c, 0xc6, 0xde, 0xde, 0xde, 0xc0, 0x78, 0x00, + 0x30, 0x78, 0xcc, 0xcc, 0xfc, 0xcc, 0xcc, 0x00, + 0xfc, 0x66, 0x66, 0x7c, 0x66, 0x66, 0xfc, 0x00, + 0x3c, 0x66, 0xc0, 0xc0, 0xc0, 0x66, 0x3c, 0x00, + 0xf8, 0x6c, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00, + 0xfe, 0x62, 0x68, 0x78, 0x68, 0x62, 0xfe, 0x00, + 0xfe, 0x62, 0x68, 0x78, 0x68, 0x60, 0xf0, 0x00, + 0x3c, 0x66, 0xc0, 0xc0, 0xce, 0x66, 0x3e, 0x00, + 0xcc, 0xcc, 0xcc, 0xfc, 0xcc, 0xcc, 0xcc, 0x00, + 0x78, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, + 0x1e, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0x78, 0x00, + 0xe6, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0xe6, 0x00, + 0xf0, 0x60, 0x60, 0x60, 0x62, 0x66, 0xfe, 0x00, + 0xc6, 0xee, 0xfe, 0xfe, 0xd6, 0xc6, 0xc6, 0x00, + 0xc6, 0xe6, 0xf6, 0xde, 0xce, 0xc6, 0xc6, 0x00, + 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x00, + 0xfc, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00, + 0x78, 0xcc, 0xcc, 0xcc, 0xdc, 0x78, 0x1c, 0x00, + 0xfc, 0x66, 0x66, 0x7c, 0x6c, 0x66, 0xe6, 0x00, + 0x78, 0xcc, 0xe0, 0x70, 0x1c, 0xcc, 0x78, 0x00, + 0xfc, 0xb4, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xfc, 0x00, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x30, 0x00, + 0xc6, 0xc6, 0xc6, 0xd6, 0xfe, 0xee, 0xc6, 0x00, + 0xc6, 0xc6, 0x6c, 0x38, 0x38, 0x6c, 0xc6, 0x00, + 0xcc, 0xcc, 0xcc, 0x78, 0x30, 0x30, 0x78, 0x00, + 0xfe, 0xc6, 0x8c, 0x18, 0x32, 0x66, 0xfe, 0x00, + 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x00, + 0xc0, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x02, 0x00, + 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, + 0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x76, 0x00, + 0xe0, 0x60, 0x60, 0x7c, 0x66, 0x66, 0xdc, 0x00, + 0x00, 0x00, 0x78, 0xcc, 0xc0, 0xcc, 0x78, 0x00, + 0x1c, 0x0c, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00, + 0x00, 0x00, 0x78, 0xcc, 0xfc, 0xc0, 0x78, 0x00, + 0x38, 0x6c, 0x60, 0xf0, 0x60, 0x60, 0xf0, 0x00, + 0x00, 0x00, 0x76, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8, + 0xe0, 0x60, 0x6c, 0x76, 0x66, 0x66, 0xe6, 0x00, + 0x30, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, + 0x0c, 0x00, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0x78, + 0xe0, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0xe6, 0x00, + 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0x00, + 0x00, 0x00, 0xcc, 0xfe, 0xfe, 0xd6, 0xc6, 0x00, + 0x00, 0x00, 0xf8, 0xcc, 0xcc, 0xcc, 0xcc, 0x00, + 0x00, 0x00, 0x78, 0xcc, 0xcc, 0xcc, 0x78, 0x00, + 0x00, 0x00, 0xdc, 0x66, 0x66, 0x7c, 0x60, 0xf0, + 0x00, 0x00, 0x76, 0xcc, 0xcc, 0x7c, 0x0c, 0x1e, + 0x00, 0x00, 0xdc, 0x76, 0x66, 0x60, 0xf0, 0x00, + 0x00, 0x00, 0x7c, 0xc0, 0x78, 0x0c, 0xf8, 0x00, + 0x10, 0x30, 0x7c, 0x30, 0x30, 0x34, 0x18, 0x00, + 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, + 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0x78, 0x30, 0x00, + 0x00, 0x00, 0xc6, 0xd6, 0xfe, 0xfe, 0x6c, 0x00, + 0x00, 0x00, 0xc6, 0x6c, 0x38, 0x6c, 0xc6, 0x00, + 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8, + 0x00, 0x00, 0xfc, 0x98, 0x30, 0x64, 0xfc, 0x00, + 0x1c, 0x30, 0x30, 0xe0, 0x30, 0x30, 0x1c, 0x00, + 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, + 0xe0, 0x30, 0x30, 0x1c, 0x30, 0x30, 0xe0, 0x00, + 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0x00, + 0x78, 0xcc, 0xc0, 0xcc, 0x78, 0x18, 0x0c, 0x78, + 0x00, 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0x7e, 0x00, + 0x1c, 0x00, 0x78, 0xcc, 0xfc, 0xc0, 0x78, 0x00, + 0x7e, 0xc3, 0x3c, 0x06, 0x3e, 0x66, 0x3f, 0x00, + 0xcc, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x7e, 0x00, + 0xe0, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x7e, 0x00, + 0x30, 0x30, 0x78, 0x0c, 0x7c, 0xcc, 0x7e, 0x00, + 0x00, 0x00, 0x78, 0xc0, 0xc0, 0x78, 0x0c, 0x38, + 0x7e, 0xc3, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00, + 0xcc, 0x00, 0x78, 0xcc, 0xfc, 0xc0, 0x78, 0x00, + 0xe0, 0x00, 0x78, 0xcc, 0xfc, 0xc0, 0x78, 0x00, + 0xcc, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, + 0x7c, 0xc6, 0x38, 0x18, 0x18, 0x18, 0x3c, 0x00, + 0xe0, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, + 0xc6, 0x38, 0x6c, 0xc6, 0xfe, 0xc6, 0xc6, 0x00, + 0x30, 0x30, 0x00, 0x78, 0xcc, 0xfc, 0xcc, 0x00, + 0x1c, 0x00, 0xfc, 0x60, 0x78, 0x60, 0xfc, 0x00, + 0x00, 0x00, 0x7f, 0x0c, 0x7f, 0xcc, 0x7f, 0x00, + 0x3e, 0x6c, 0xcc, 0xfe, 0xcc, 0xcc, 0xce, 0x00, + 0x78, 0xcc, 0x00, 0x78, 0xcc, 0xcc, 0x78, 0x00, + 0x00, 0xcc, 0x00, 0x78, 0xcc, 0xcc, 0x78, 0x00, + 0x00, 0xe0, 0x00, 0x78, 0xcc, 0xcc, 0x78, 0x00, + 0x78, 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0x7e, 0x00, + 0x00, 0xe0, 0x00, 0xcc, 0xcc, 0xcc, 0x7e, 0x00, + 0x00, 0xcc, 0x00, 0xcc, 0xcc, 0x7c, 0x0c, 0xf8, + 0xc3, 0x18, 0x3c, 0x66, 0x66, 0x3c, 0x18, 0x00, + 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x00, + 0x18, 0x18, 0x7e, 0xc0, 0xc0, 0x7e, 0x18, 0x18, + 0x38, 0x6c, 0x64, 0xf0, 0x60, 0xe6, 0xfc, 0x00, + 0xcc, 0xcc, 0x78, 0xfc, 0x30, 0xfc, 0x30, 0x30, + 0xf8, 0xcc, 0xcc, 0xfa, 0xc6, 0xcf, 0xc6, 0xc7, + 0x0e, 0x1b, 0x18, 0x3c, 0x18, 0x18, 0xd8, 0x70, + 0x1c, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0x7e, 0x00, + 0x38, 0x00, 0x70, 0x30, 0x30, 0x30, 0x78, 0x00, + 0x00, 0x1c, 0x00, 0x78, 0xcc, 0xcc, 0x78, 0x00, + 0x00, 0x1c, 0x00, 0xcc, 0xcc, 0xcc, 0x7e, 0x00, + 0x00, 0xf8, 0x00, 0xf8, 0xcc, 0xcc, 0xcc, 0x00, + 0xfc, 0x00, 0xcc, 0xec, 0xfc, 0xdc, 0xcc, 0x00, + 0x3c, 0x6c, 0x6c, 0x3e, 0x00, 0x7e, 0x00, 0x00, + 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x7c, 0x00, 0x00, + 0x30, 0x00, 0x30, 0x60, 0xc0, 0xcc, 0x78, 0x00, + 0x00, 0x00, 0x00, 0xfc, 0xc0, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xfc, 0x0c, 0x0c, 0x00, 0x00, + 0xc3, 0xc6, 0xcc, 0xde, 0x33, 0x66, 0xcc, 0x0f, + 0xc3, 0xc6, 0xcc, 0xdb, 0x37, 0x6f, 0xcf, 0x03, + 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x33, 0x66, 0xcc, 0x66, 0x33, 0x00, 0x00, + 0x00, 0xcc, 0x66, 0x33, 0x66, 0xcc, 0x00, 0x00, + 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, + 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, + 0xdb, 0x77, 0xdb, 0xee, 0xdb, 0x77, 0xdb, 0xee, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, + 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, + 0x36, 0x36, 0x36, 0x36, 0xf6, 0x36, 0x36, 0x36, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x36, 0x36, 0x36, + 0x00, 0x00, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, + 0x36, 0x36, 0xf6, 0x06, 0xf6, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x00, 0x00, 0xfe, 0x06, 0xf6, 0x36, 0x36, 0x36, + 0x36, 0x36, 0xf6, 0x06, 0xfe, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0x36, 0xfe, 0x00, 0x00, 0x00, + 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, + 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x37, 0x30, 0x3f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0x30, 0x37, 0x36, 0x36, 0x36, + 0x36, 0x36, 0xf7, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xf7, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, + 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x36, 0x36, 0xf7, 0x00, 0xf7, 0x36, 0x36, 0x36, + 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0x36, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x3f, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0xff, 0x36, 0x36, 0x36, + 0x18, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x76, 0xdc, 0xc8, 0xdc, 0x76, 0x00, + 0x00, 0x78, 0xcc, 0xf8, 0xcc, 0xf8, 0xc0, 0xc0, + 0x00, 0xfc, 0xcc, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, + 0x00, 0xfe, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, + 0xfc, 0xcc, 0x60, 0x30, 0x60, 0xcc, 0xfc, 0x00, + 0x00, 0x00, 0x7e, 0xd8, 0xd8, 0xd8, 0x70, 0x00, + 0x00, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0xc0, + 0x00, 0x76, 0xdc, 0x18, 0x18, 0x18, 0x18, 0x00, + 0xfc, 0x30, 0x78, 0xcc, 0xcc, 0x78, 0x30, 0xfc, + 0x38, 0x6c, 0xc6, 0xfe, 0xc6, 0x6c, 0x38, 0x00, + 0x38, 0x6c, 0xc6, 0xc6, 0x6c, 0x6c, 0xee, 0x00, + 0x1c, 0x30, 0x18, 0x7c, 0xcc, 0xcc, 0x78, 0x00, + 0x00, 0x00, 0x7e, 0xdb, 0xdb, 0x7e, 0x00, 0x00, + 0x06, 0x0c, 0x7e, 0xdb, 0xdb, 0x7e, 0x60, 0xc0, + 0x38, 0x60, 0xc0, 0xf8, 0xc0, 0x60, 0x38, 0x00, + 0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x00, + 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0x00, + 0x30, 0x30, 0xfc, 0x30, 0x30, 0x00, 0xfc, 0x00, + 0x60, 0x30, 0x18, 0x30, 0x60, 0x00, 0xfc, 0x00, + 0x18, 0x30, 0x60, 0x30, 0x18, 0x00, 0xfc, 0x00, + 0x0e, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0x70, + 0x30, 0x30, 0x00, 0xfc, 0x00, 0x30, 0x30, 0x00, + 0x00, 0x76, 0xdc, 0x00, 0x76, 0xdc, 0x00, 0x00, + 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x0f, 0x0c, 0x0c, 0x0c, 0xec, 0x6c, 0x3c, 0x1c, + 0x78, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, + 0x70, 0x18, 0x30, 0x60, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +static uint8_t vgafont14[256*14]= +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, 0x81, 0xbd, 0x99, 0x81, 0x7e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0xff, 0xdb, 0xff, 0xff, 0xc3, 0xe7, 0xff, 0x7e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6c, 0xfe, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x3c, 0x3c, 0xe7, 0xe7, 0xe7, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xc3, 0x99, 0xbd, 0xbd, 0x99, 0xc3, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x1e, 0x0e, 0x1a, 0x32, 0x78, 0xcc, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0x33, 0x3f, 0x30, 0x30, 0x30, 0x70, 0xf0, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0x63, 0x7f, 0x63, 0x63, 0x63, 0x67, 0xe7, 0xe6, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0xdb, 0x3c, 0xe7, 0x3c, 0xdb, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf8, 0xfe, 0xf8, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x06, 0x0e, 0x3e, 0xfe, 0x3e, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xdb, 0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x1b, 0x1b, 0x00, 0x00, 0x00, + 0x00, 0x7c, 0xc6, 0x60, 0x38, 0x6c, 0xc6, 0xc6, 0x6c, 0x38, 0x0c, 0xc6, 0x7c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x7e, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x28, 0x6c, 0xfe, 0x6c, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x7c, 0x7c, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x7c, 0x7c, 0x38, 0x38, 0x10, 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, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6c, 0x6c, 0xfe, 0x6c, 0x6c, 0x6c, 0xfe, 0x6c, 0x6c, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x7c, 0xc6, 0xc2, 0xc0, 0x7c, 0x06, 0x86, 0xc6, 0x7c, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc2, 0xc6, 0x0c, 0x18, 0x30, 0x66, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x76, 0xdc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xce, 0xde, 0xf6, 0xe6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc6, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0x06, 0x06, 0x3c, 0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0x1c, 0x3c, 0x6c, 0xcc, 0xfe, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xc0, 0xc0, 0xc0, 0xfc, 0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x60, 0xc0, 0xc0, 0xfc, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xc6, 0x06, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x06, 0x0c, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x0c, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xde, 0xde, 0xde, 0xdc, 0xc0, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x66, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xc0, 0xc2, 0x66, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0x6c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68, 0x62, 0x66, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xde, 0xc6, 0x66, 0x3a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe6, 0x66, 0x6c, 0x6c, 0x78, 0x6c, 0x6c, 0x66, 0xe6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x62, 0x66, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xee, 0xfe, 0xfe, 0xd6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0xde, 0x7c, 0x0c, 0x0e, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x6c, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x60, 0x38, 0x0c, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0x7e, 0x5a, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0xd6, 0xfe, 0x7c, 0x6c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xc6, 0x6c, 0x38, 0x38, 0x38, 0x6c, 0xc6, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xc6, 0x8c, 0x18, 0x30, 0x60, 0xc2, 0xc6, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3c, 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, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0x60, 0x60, 0x78, 0x6c, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1c, 0x0c, 0x0c, 0x3c, 0x6c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xcc, 0x78, 0x00, + 0x00, 0x00, 0xe0, 0x60, 0x60, 0x6c, 0x76, 0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x06, 0x00, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3c, 0x00, + 0x00, 0x00, 0xe0, 0x60, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0xe6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0xfe, 0xd6, 0xd6, 0xd6, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0x0c, 0x1e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x76, 0x66, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0x70, 0x1c, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x30, 0x30, 0xfc, 0x30, 0x30, 0x30, 0x36, 0x1c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xd6, 0xd6, 0xfe, 0x6c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x6c, 0x38, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xcc, 0x18, 0x30, 0x66, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0e, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0e, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x76, 0xdc, 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, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xc2, 0x66, 0x3c, 0x0c, 0x06, 0x7c, 0x00, + 0x00, 0x00, 0xcc, 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x0c, 0x18, 0x30, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6c, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xcc, 0xcc, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6c, 0x38, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x60, 0x66, 0x3c, 0x0c, 0x06, 0x3c, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xcc, 0xcc, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x30, 0x18, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x3c, 0x66, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0xc6, 0xc6, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x00, 0x00, 0x00, + 0x38, 0x6c, 0x38, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x00, 0x00, 0x00, + 0x18, 0x30, 0x60, 0x00, 0xfe, 0x66, 0x60, 0x7c, 0x60, 0x66, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xcc, 0x76, 0x36, 0x7e, 0xd8, 0xd8, 0x6e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3e, 0x6c, 0xcc, 0xcc, 0xfe, 0xcc, 0xcc, 0xcc, 0xce, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xc6, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x30, 0x18, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x78, 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x30, 0x18, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xc6, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0x78, 0x00, + 0x00, 0xc6, 0xc6, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x00, 0x00, 0x00, + 0x00, 0xc6, 0xc6, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x18, 0x3c, 0x66, 0x60, 0x60, 0x66, 0x3c, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60, 0x60, 0xe6, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0xf8, 0xcc, 0xcc, 0xf8, 0xc4, 0xcc, 0xde, 0xcc, 0xcc, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x0e, 0x1b, 0x18, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x18, 0xd8, 0x70, 0x00, + 0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x0c, 0x18, 0x30, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x30, 0x60, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x30, 0x60, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x76, 0xdc, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, + 0x76, 0xdc, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x3c, 0x6c, 0x6c, 0x3e, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x60, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc6, 0xcc, 0xd8, 0x30, 0x60, 0xdc, 0x86, 0x0c, 0x18, 0x3e, 0x00, + 0x00, 0xc0, 0xc0, 0xc6, 0xcc, 0xd8, 0x30, 0x66, 0xce, 0x9e, 0x3e, 0x06, 0x06, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x36, 0x6c, 0xd8, 0x6c, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x36, 0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, + 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, + 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x36, 0x36, 0x36, 0x36, 0x36, 0xf6, 0x06, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x06, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0xf6, 0x06, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0xf7, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0x36, 0x36, 0xf7, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xff, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0xd8, 0xd8, 0xdc, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xfc, 0xc6, 0xc6, 0xfc, 0xc0, 0xc0, 0x40, 0x00, + 0x00, 0x00, 0xfe, 0xc6, 0xc6, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xc6, 0x60, 0x30, 0x18, 0x30, 0x60, 0xc6, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xd8, 0xd8, 0xd8, 0xd8, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0x18, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x6c, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x6c, 0x6c, 0xee, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x30, 0x18, 0x0c, 0x3e, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xdb, 0xdb, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x06, 0x7e, 0xdb, 0xdb, 0xf3, 0x7e, 0x60, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1c, 0x30, 0x60, 0x60, 0x7c, 0x60, 0x60, 0x30, 0x1c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x00, 0x7e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x00, 0x7e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0e, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7e, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x00, 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xec, 0x6c, 0x3c, 0x1c, 0x00, 0x00, 0x00, + 0x00, 0xd8, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0xd8, 0x30, 0x60, 0xc8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +static uint8_t vgafont16[256*16]= +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, 0x81, 0xbd, 0x99, 0x81, 0x81, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0xff, 0xdb, 0xff, 0xff, 0xc3, 0xe7, 0xff, 0xff, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x6c, 0xfe, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0xe7, 0xe7, 0xe7, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x99, 0xbd, 0xbd, 0x99, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x1e, 0x0e, 0x1a, 0x32, 0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3f, 0x33, 0x3f, 0x30, 0x30, 0x30, 0x30, 0x70, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0x63, 0x7f, 0x63, 0x63, 0x63, 0x63, 0x67, 0xe7, 0xe6, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0xdb, 0x3c, 0xe7, 0x3c, 0xdb, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x06, 0x0e, 0x1e, 0x3e, 0xfe, 0x3e, 0x1e, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7f, 0xdb, 0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7c, 0xc6, 0x60, 0x38, 0x6c, 0xc6, 0xc6, 0x6c, 0x38, 0x0c, 0xc6, 0x7c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x66, 0xff, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x7c, 0x7c, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x7c, 0x7c, 0x38, 0x38, 0x10, 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, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6c, 0x6c, 0xfe, 0x6c, 0x6c, 0x6c, 0xfe, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x7c, 0xc6, 0xc2, 0xc0, 0x7c, 0x06, 0x06, 0x86, 0xc6, 0x7c, 0x18, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc2, 0xc6, 0x0c, 0x18, 0x30, 0x60, 0xc6, 0x86, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x76, 0xdc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 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, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0xc3, 0xc3, 0xdb, 0xdb, 0xc3, 0xc3, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0x06, 0x06, 0x3c, 0x06, 0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0x1c, 0x3c, 0x6c, 0xcc, 0xfe, 0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xc0, 0xc0, 0xc0, 0xfc, 0x06, 0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x60, 0xc0, 0xc0, 0xfc, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xc6, 0x06, 0x06, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x06, 0x06, 0x0c, 0x78, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x0c, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xde, 0xde, 0xde, 0xdc, 0xc0, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x66, 0x66, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xc0, 0xc0, 0xc2, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0x6c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xde, 0xc6, 0xc6, 0x66, 0x3a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe6, 0x66, 0x66, 0x6c, 0x78, 0x78, 0x6c, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x62, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc3, 0xe7, 0xff, 0xff, 0xdb, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0xde, 0x7c, 0x0c, 0x0e, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x6c, 0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x60, 0x38, 0x0c, 0x06, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xdb, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xc3, 0x86, 0x0c, 0x18, 0x30, 0x60, 0xc1, 0xc3, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3c, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0x60, 0x60, 0x78, 0x6c, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc0, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1c, 0x0c, 0x0c, 0x3c, 0x6c, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xcc, 0x78, 0x00, + 0x00, 0x00, 0xe0, 0x60, 0x60, 0x6c, 0x76, 0x66, 0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x06, 0x00, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3c, 0x00, + 0x00, 0x00, 0xe0, 0x60, 0x60, 0x66, 0x6c, 0x78, 0x78, 0x6c, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xff, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 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, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0x0c, 0x1e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x76, 0x66, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0x60, 0x38, 0x0c, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x30, 0x30, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xcc, 0x18, 0x30, 0x60, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0e, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xc0, 0xc2, 0x66, 0x3c, 0x0c, 0x06, 0x7c, 0x00, 0x00, + 0x00, 0x00, 0xcc, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0c, 0x18, 0x30, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6c, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xcc, 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6c, 0x38, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x60, 0x60, 0x66, 0x3c, 0x0c, 0x06, 0x3c, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0x00, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x30, 0x18, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x3c, 0x66, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc6, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, + 0x38, 0x6c, 0x38, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x30, 0x60, 0x00, 0xfe, 0x66, 0x60, 0x7c, 0x60, 0x60, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x3b, 0x1b, 0x7e, 0xd8, 0xdc, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3e, 0x6c, 0xcc, 0xcc, 0xfe, 0xcc, 0xcc, 0xcc, 0xcc, 0xce, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x30, 0x18, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x78, 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x30, 0x18, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc6, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0x78, 0x00, + 0x00, 0xc6, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc6, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x18, 0x7e, 0xc3, 0xc0, 0xc0, 0xc0, 0xc3, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60, 0x60, 0x60, 0xe6, 0xfc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x66, 0x66, 0x7c, 0x62, 0x66, 0x6f, 0x66, 0x66, 0x66, 0xf3, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0e, 0x1b, 0x18, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0xd8, 0x70, 0x00, 0x00, + 0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0c, 0x18, 0x30, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x30, 0x60, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x30, 0x60, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x76, 0xdc, 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x76, 0xdc, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3c, 0x6c, 0x6c, 0x3e, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x60, 0xc0, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30, 0x60, 0xce, 0x9b, 0x06, 0x0c, 0x1f, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30, 0x66, 0xce, 0x96, 0x3e, 0x06, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6c, 0xd8, 0x6c, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x36, 0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, + 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, + 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x36, 0x36, 0x36, 0x36, 0x36, 0xf6, 0x06, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x06, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0xf6, 0x06, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0xf7, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0x36, 0x36, 0xf7, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xff, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, + 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0xd8, 0xd8, 0xd8, 0xdc, 0x76, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x78, 0xcc, 0xcc, 0xcc, 0xd8, 0xcc, 0xc6, 0xc6, 0xc6, 0xcc, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xc6, 0xc6, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0xc6, 0x60, 0x30, 0x18, 0x30, 0x60, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xc0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7e, 0x18, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x6c, 0x6c, 0x6c, 0xee, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1e, 0x30, 0x18, 0x0c, 0x3e, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xdb, 0xdb, 0xdb, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x06, 0x7e, 0xdb, 0xdb, 0xf3, 0x7e, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1c, 0x30, 0x60, 0x60, 0x7c, 0x60, 0x60, 0x60, 0x30, 0x1c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x30, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0e, 0x1b, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0xd8, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7e, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x00, 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0xec, 0x6c, 0x6c, 0x3c, 0x1c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xd8, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0xd8, 0x30, 0x60, 0xc8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; +static uint8_t vgafont14alt[20*15+1]= +{ + 0x1d, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x66, 0xff, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x22, + 0x00, 0x63, 0x63, 0x63, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2b, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x2d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4d, + 0x00, 0x00, 0xc3, 0xe7, 0xff, 0xdb, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x00, 0x00, 0x00, + 0x54, + 0x00, 0x00, 0xff, 0xdb, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x56, + 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, + 0x57, + 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x66, 0x00, 0x00, 0x00, + 0x58, + 0x00, 0x00, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x00, 0x00, 0x00, + 0x59, + 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, + 0x5a, + 0x00, 0x00, 0xff, 0xc3, 0x86, 0x0c, 0x18, 0x30, 0x61, 0xc3, 0xff, 0x00, 0x00, 0x00, + 0x6d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xff, 0xdb, 0xdb, 0xdb, 0xdb, 0x00, 0x00, 0x00, + 0x76, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, + 0x77, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x00, 0x00, 0x00, + 0x91, + 0x00, 0x00, 0x00, 0x00, 0x6e, 0x3b, 0x1b, 0x7e, 0xd8, 0xdc, 0x77, 0x00, 0x00, 0x00, + 0x9b, + 0x00, 0x18, 0x18, 0x7e, 0xc3, 0xc0, 0xc0, 0xc3, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x9d, + 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x9e, + 0x00, 0xfc, 0x66, 0x66, 0x7c, 0x62, 0x66, 0x6f, 0x66, 0x66, 0xf3, 0x00, 0x00, 0x00, + 0xf1, + 0x00, 0x00, 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xf6, + 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0xff, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00 +}; +static uint8_t vgafont16alt[19*17+1]= +{ + 0x1d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x66, 0xff, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, + 0x00, 0x00, 0x3c, 0x66, 0xc3, 0xc3, 0xdb, 0xdb, 0xc3, 0xc3, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x4d, + 0x00, 0x00, 0xc3, 0xe7, 0xff, 0xff, 0xdb, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, + 0x54, + 0x00, 0x00, 0xff, 0xdb, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x56, + 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x57, + 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x58, + 0x00, 0x00, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x18, 0x3c, 0x66, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, + 0x59, + 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, + 0x5a, + 0x00, 0x00, 0xff, 0xc3, 0x86, 0x0c, 0x18, 0x30, 0x60, 0xc1, 0xc3, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x6d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xff, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0x00, 0x00, 0x00, 0x00, + 0x76, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x77, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x78, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3, 0x00, 0x00, 0x00, 0x00, + 0x91, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x3b, 0x1b, 0x7e, 0xd8, 0xdc, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x9b, + 0x00, 0x18, 0x18, 0x7e, 0xc3, 0xc0, 0xc0, 0xc0, 0xc3, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x9d, + 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x9e, + 0x00, 0xfc, 0x66, 0x66, 0x7c, 0x62, 0x66, 0x6f, 0x66, 0x66, 0x66, 0xf3, 0x00, 0x00, 0x00, 0x00, + 0xab, + 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30, 0x60, 0xce, 0x9b, 0x06, 0x0c, 0x1f, 0x00, 0x00, + 0xac, + 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30, 0x66, 0xce, 0x96, 0x3e, 0x06, 0x06, 0x00, 0x00, + 0x00 +}; + +#endif /* !VBOX_INCLUDED_SRC_Graphics_BIOS_vgafonts_h */ + diff --git a/src/VBox/Devices/Graphics/BIOS/vgarom.asm b/src/VBox/Devices/Graphics/BIOS/vgarom.asm new file mode 100644 index 00000000..e943c37d --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vgarom.asm @@ -0,0 +1,1093 @@ +;; ============================================================================================ +;; +;; Copyright (C) 2001,2002 the LGPL VGABios developers Team +;; +;; This library is free software; you can redistribute it and/or +;; modify it under the terms of the GNU Lesser General Public +;; License as published by the Free Software Foundation; either +;; version 2 of the License, or (at your option) any later version. +;; +;; This library 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 +;; Lesser General Public License for more details. +;; +;; You should have received a copy of the GNU Lesser General Public +;; License along with this library; if not, write to the Free Software +;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +;; +;; ============================================================================================ +;; +;; This VGA Bios is specific to the plex86/bochs Emulated VGA card. +;; You can NOT drive any physical vga card with it. +;; +;; ============================================================================================ +;; + + +; Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice +; other than GPL or LGPL is available it will apply instead, Oracle elects to use only +; the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where +; a choice of LGPL license versions is made available with the language indicating +; that LGPLv2 or any later version may be used, or where a choice of which version +; of the LGPL is applied is otherwise unspecified. + +include vgadefs.inc +include commondefs.inc + +public vgabios_int10_handler + +VGAROM segment public 'CODE' + +; Implemented in C +extrn _int10_func:near +extrn _vgabios_init_func:near + +ifdef VBE +; Implemented in separate assembly module +extrn vbe_biosfn_return_current_mode:near +extrn vbe_biosfn_display_window_control:near +extrn vbe_biosfn_set_get_display_start:near +extrn vbe_biosfn_set_get_dac_palette_format:near +extrn vbe_biosfn_set_get_palette_data:near +extrn vbe_biosfn_return_protected_mode_interface:near +endif + +ifdef VGA_DEBUG +extrn _int10_debugmsg:near +extrn _printf:near +extrn _unimplemented:near +extrn _unknown:near +endif + +vgabios_start: + +db 055h, 0AAh ; ROM signature, required for expansion ROMs +db 40h ; ROM module length in units of 512 bytes */ + + +vgabios_entry_point: + + jmp _vgabios_init_func + + org 1Eh + + db 'IBM',0 + +;; +;; int10 handled here +;; + +SET_DEFAULT_CPU_286 + +vgabios_int10_handler: + pushf +ifdef VGA_DEBUG + push es + push ds + DO_pusha + mov bx, 0C000h + mov ds, bx + call _int10_debugmsg + DO_popa + pop ds + pop es +endif + cmp ah, 0Fh + jne int10_test_1A + call biosfn_get_video_mode + jmp int10_end +int10_test_1A: + cmp ah, 1Ah + jne int10_test_0B + call biosfn_group_1A + jmp int10_end +int10_test_0B: + cmp ah, 0Bh + jne int10_test_1103 + call biosfn_group_0B + jmp int10_end +int10_test_1103: + cmp ax, 1103h + jne int10_test_12 + call biosfn_set_text_block_specifier + jmp int10_end +int10_test_12: + cmp ah, 12h + jne int10_test_101B + cmp bl, 10h + jne int10_test_BL30 + call biosfn_get_ega_info + jmp int10_end +int10_test_BL30: + cmp bl, 30h + jne int10_test_BL31 + call biosfn_select_vert_res + jmp int10_end +int10_test_BL31: + cmp bl, 31h + jne int10_test_BL32 + call biosfn_enable_default_palette_loading + jmp int10_end +int10_test_BL32: + cmp bl, 32h + jne int10_test_BL33 + call biosfn_enable_video_addressing + jmp int10_end +int10_test_BL33: + cmp bl, 33h + jne int10_test_BL34 + call biosfn_enable_grayscale_summing + jmp int10_end +int10_test_BL34: + cmp bl, 34h + jne int10_normal + call biosfn_enable_cursor_emulation + jmp int10_end +int10_test_101B: + cmp ax, 101Bh + je int10_normal + cmp ah, 10h +ifndef VBE + jne int10_normal +else + jne int10_test_4F +endif + call biosfn_group_10 + jmp int10_end +ifdef VBE +int10_test_4F: + cmp ah, 4Fh + jne int10_normal + cmp al, 3 + jne int10_test_vbe_05 + call vbe_biosfn_return_current_mode + jmp int10_end +int10_test_vbe_05: + cmp al, 5 + jne int10_test_vbe_07 + call vbe_biosfn_display_window_control + jmp int10_end +int10_test_vbe_07: + cmp al, 7 + jne int10_test_vbe_08 + call vbe_biosfn_set_get_display_start + jmp int10_end +int10_test_vbe_08: + cmp al, 8 + jne int10_test_vbe_09 + call vbe_biosfn_set_get_dac_palette_format + jmp int10_end +int10_test_vbe_09: + cmp al, 9 + jne int10_test_vbe_0A + call vbe_biosfn_set_get_palette_data + jmp int10_end +int10_test_vbe_0A: + cmp al, 0Ah + jne int10_normal + call vbe_biosfn_return_protected_mode_interface + jmp int10_end +endif + +int10_normal: + push es + push ds + DO_pusha + +;; We have to set ds to access the right data segment + mov bx, 0C000h + mov ds, bx + call _int10_func + + DO_popa + pop ds + pop es +int10_end: + popf + iret + +;;-------------------------------------------------------------------------------------------- + +biosfn_group_0B: + cmp bh, 0 + je biosfn_set_border_color + cmp bh, 1 + je biosfn_set_palette +ifdef VGA_DEBUG + call _unknown +endif + ret +biosfn_set_border_color: + push ax + push bx + push cx + push dx + push ds + mov dx, BIOSMEM_SEG + mov ds, dx + mov dx, VGAREG_ACTL_RESET + in al, dx + cmp byte ptr ds:[BIOSMEM_CURRENT_MODE], 3 + jbe set_border_done + mov dx, VGAREG_ACTL_ADDRESS + mov al, 00h + out dx, al + mov al, bl + and al, 0Fh + test al, 08h + jz set_low_border + add al, 08h +set_low_border: + out dx, al + mov cl, 1 + and bl, 10h +set_intensity_loop: + mov dx, VGAREG_ACTL_ADDRESS + mov al, cl + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + and al, 0EFh + or al, bl + mov dx, VGAREG_ACTL_ADDRESS + out dx, al + inc cl + cmp cl, 4 + jne set_intensity_loop +set_border_done: + mov al, 20h + out dx, al +ifdef VBOX + mov dx, VGAREG_ACTL_RESET + in al, dx +endif ; VBOX + pop ds + pop dx + pop cx + pop bx + pop ax + ret +biosfn_set_palette: + push ax + push bx + push cx + push dx + mov dx, VGAREG_ACTL_RESET + in al, dx + mov cl, 01 + and bl, 01 +set_cga_palette_loop: + mov dx, VGAREG_ACTL_ADDRESS + mov al, cl + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + and al, 0FEh + or al, bl + mov dx, VGAREG_ACTL_ADDRESS + out dx, al + inc cl + cmp cl, 4 + jne set_cga_palette_loop + mov al, 20h + out dx, al +ifdef VBOX + mov dx, VGAREG_ACTL_RESET + in al, dx +endif ; VBOX + pop dx + pop cx + pop bx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_get_video_mode: + push ds + mov ax, BIOSMEM_SEG + mov ds, ax + push bx + mov bx, BIOSMEM_CURRENT_PAGE + mov al, [bx] + pop bx + mov bh, al + push bx + mov bx, BIOSMEM_VIDEO_CTL + mov ah, [bx] + and ah, 80h + mov bx, BIOSMEM_CURRENT_MODE + mov al, [bx] + or al, ah + mov bx, BIOSMEM_NB_COLS + mov ah, [bx] + pop bx + pop ds + ret + +;-------------------------------------------------------------------------------------------- + +biosfn_group_10: + cmp al, 0 + jne int10_test_1001 + jmp biosfn_set_single_palette_reg +int10_test_1001: + cmp al, 1 + jne int10_test_1002 + jmp biosfn_set_overscan_border_color +int10_test_1002: + cmp al, 2 + jne int10_test_1003 + jmp biosfn_set_all_palette_reg +int10_test_1003: + cmp al, 3 + jne int10_test_1007 + jmp biosfn_toggle_intensity +int10_test_1007: + cmp al, 7 + jne int10_test_1008 + jmp biosfn_get_single_palette_reg +int10_test_1008: + cmp al, 8 + jne int10_test_1009 + jmp biosfn_read_overscan_border_color +int10_test_1009: + cmp al, 9 + jne int10_test_1010 + jmp biosfn_get_all_palette_reg +int10_test_1010: + cmp al, 10h + jne int10_test_1012 + jmp biosfn_set_single_dac_reg +int10_test_1012: + cmp al, 12h + jne int10_test_1013 + jmp biosfn_set_all_dac_reg +int10_test_1013: + cmp al, 13h + jne int10_test_1015 + jmp biosfn_select_video_dac_color_page +int10_test_1015: + cmp al, 15h + jne int10_test_1017 + jmp biosfn_read_single_dac_reg +int10_test_1017: + cmp al, 17h + jne int10_test_1018 + jmp biosfn_read_all_dac_reg +int10_test_1018: + cmp al, 18h + jne int10_test_1019 + jmp biosfn_set_pel_mask +int10_test_1019: + cmp al, 19h + jne int10_test_101A + jmp biosfn_read_pel_mask +int10_test_101A: + cmp al, 1Ah + jne int10_group_10_unknown + jmp biosfn_read_video_dac_state +int10_group_10_unknown: +ifdef VGA_DEBUG + call _unknown +endif + ret + +biosfn_set_single_palette_reg: + cmp bl, 14h + ja no_actl_reg1 + push ax + push dx + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, bl + out dx, al + mov al, bh + out dx, al + mov al, 20h + out dx, al +ifdef VBOX + mov dx, VGAREG_ACTL_RESET + in al, dx +endif ; VBOX + pop dx + pop ax +no_actl_reg1: + ret + +;-------------------------------------------------------------------------------------------- + +biosfn_set_overscan_border_color: + push bx + mov bl, 11h + call biosfn_set_single_palette_reg + pop bx + ret + +;-------------------------------------------------------------------------------------------- + +biosfn_set_all_palette_reg: + push ax + push bx + push cx + push dx + mov bx, dx + mov dx, VGAREG_ACTL_RESET + in al, dx + mov cl, 0 + mov dx, VGAREG_ACTL_ADDRESS +set_palette_loop: + mov al, cl + out dx, al + mov al, es:[bx] + out dx, al + inc bx + inc cl + cmp cl, 10h + jne set_palette_loop + mov al, 11h + out dx, al + mov al, es:[bx] + out dx, al + mov al, 20h + out dx, al +ifdef VBOX + mov dx, VGAREG_ACTL_RESET + in al, dx +endif ; VBOX + pop dx + pop cx + pop bx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_toggle_intensity: + push ax + push bx + push dx + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 10h + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + and al, 0F7h + and bl, 01 +if VBOX_BIOS_CPU gt 8086 + shl bl, 3 +else + shl bl, 1 + shl bl, 1 + shl bl, 1 +endif + or al, bl + mov dx, VGAREG_ACTL_ADDRESS + out dx, al + mov al, 20h + out dx, al +ifdef VBOX + mov dx, VGAREG_ACTL_RESET + in al, dx +endif ; VBOX + pop dx + pop bx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_get_single_palette_reg: + cmp bl, 14h + ja no_actl_reg2 + push ax + push dx + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, bl + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + mov bh, al + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 20h + out dx, al +ifdef VBOX + mov dx, VGAREG_ACTL_RESET + in al, dx +endif ; VBOX + pop dx + pop ax +no_actl_reg2: + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_read_overscan_border_color: + push ax + push bx + mov bl, 11h + call biosfn_get_single_palette_reg + mov al, bh + pop bx + mov bh, al + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_get_all_palette_reg: + push ax + push bx + push cx + push dx + mov bx, dx + mov cl, 0 +get_palette_loop: + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, cl + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + mov es:[bx], al + inc bx + inc cl + cmp cl, 10h + jne get_palette_loop + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 11h + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + mov es:[bx], al + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 20h + out dx, al +ifdef VBOX + mov dx, VGAREG_ACTL_RESET + in al, dx +endif ; VBOX + pop dx + pop cx + pop bx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_set_single_dac_reg: + push ax + push dx + mov dx, VGAREG_DAC_WRITE_ADDRESS + mov al, bl + out dx, al + mov dx, VGAREG_DAC_DATA + pop ax + push ax + mov al, ah + out dx, al + mov al, ch + out dx, al + mov al, cl + out dx, al + pop dx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_set_all_dac_reg: + push ax + push bx + push cx + push dx + mov dx, VGAREG_DAC_WRITE_ADDRESS + mov al, bl + out dx, al + pop dx + push dx + mov bx, dx + mov dx, VGAREG_DAC_DATA +set_dac_loop: + mov al, es:[bx] + out dx, al + inc bx + mov al, es:[bx] + out dx, al + inc bx + mov al, es:[bx] + out dx, al + inc bx + dec cx + jnz set_dac_loop + pop dx + pop cx + pop bx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_select_video_dac_color_page: + push ax + push bx + push dx + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 10h + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + and bl, 01 + jnz set_dac_page + and al, 07Fh +if VBOX_BIOS_CPU gt 8086 + shl bh, 7 +else + shl bh, 1 + shl bh, 1 + shl bh, 1 + shl bh, 1 + shl bh, 1 + shl bh, 1 + shl bh, 1 +endif + or al, bh + mov dx, VGAREG_ACTL_ADDRESS + out dx, al + jmp set_actl_normal +set_dac_page: + push ax + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 14h + out dx, al + pop ax + and al, 80h + jnz set_dac_16_page +if VBOX_BIOS_CPU gt 8086 + shl bh, 2 +else + shl bh, 1 + shl bh, 1 +endif +set_dac_16_page: + and bh, 0Fh + mov al, bh + out dx, al +set_actl_normal: + mov al, 20h + out dx, al +ifdef VBOX + mov dx, VGAREG_ACTL_RESET + in al, dx +endif ; VBOX + pop dx + pop bx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_read_single_dac_reg: + push ax + push dx + mov dx, VGAREG_DAC_READ_ADDRESS + mov al, bl + out dx, al + pop ax + mov ah, al + mov dx, VGAREG_DAC_DATA + in al, dx + xchg al, ah + push ax + in al, dx + mov ch, al + in al, dx + mov cl, al + pop dx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_read_all_dac_reg: + push ax + push bx + push cx + push dx + mov dx, VGAREG_DAC_READ_ADDRESS + mov al, bl + out dx, al + pop dx + push dx + mov bx, dx + mov dx, VGAREG_DAC_DATA +read_dac_loop: + in al, dx + mov es:[bx], al + inc bx + in al, dx + mov es:[bx], al + inc bx + in al, dx + mov es:[bx], al + inc bx + dec cx + jnz read_dac_loop + pop dx + pop cx + pop bx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_set_pel_mask: + push ax + push dx + mov dx, VGAREG_PEL_MASK + mov al, bl + out dx, al + pop dx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_read_pel_mask: + push ax + push dx + mov dx, VGAREG_PEL_MASK + in al, dx + mov bl, al + pop dx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_read_video_dac_state: + push ax + push dx + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 10h + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + mov bl, al +if VBOX_BIOS_CPU gt 8086 + shr bl, 7 +else + shr bl, 1 + shr bl, 1 + shr bl, 1 + shr bl, 1 + shr bl, 1 + shr bl, 1 + shr bl, 1 +endif + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 14h + out dx, al + mov dx, VGAREG_ACTL_READ_DATA + in al, dx + mov bh, al + and bh, 0Fh + test bl, 01 + jnz get_dac_16_page +if VBOX_BIOS_CPU gt 8086 + shr bh, 2 +else + shr bh, 1 + shr bh, 1 +endif +get_dac_16_page: + mov dx, VGAREG_ACTL_RESET + in al, dx + mov dx, VGAREG_ACTL_ADDRESS + mov al, 20h + out dx, al +ifdef VBOX + mov dx, VGAREG_ACTL_RESET + in al, dx +endif ; VBOX + pop dx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_set_text_block_specifier: + push ax + push dx + mov dx, VGAREG_SEQU_ADDRESS + mov ah, bl + mov al, 03 + out dx, ax + pop dx + pop ax + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_get_ega_info: + push ds + push ax + mov ax, BIOSMEM_SEG + mov ds, ax + xor ch, ch + mov bx, BIOSMEM_SWITCHES + mov cl, [bx] + and cl, 0Fh + mov bx, BIOSMEM_CRTC_ADDRESS + mov ax, [bx] + mov bx, 0003h + cmp ax, VGAREG_MDA_CRTC_ADDRESS + jne mode_ega_color + mov bh, 01 +mode_ega_color: + pop ax + pop ds + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_select_vert_res: + +; res : 00 200 lines, 01 350 lines, 02 400 lines + + push ds + push bx + push dx + mov dl, al + mov ax, BIOSMEM_SEG + mov ds, ax + mov bx, BIOSMEM_MODESET_CTL + mov al, [bx] + mov bx, BIOSMEM_SWITCHES + mov ah, [bx] + cmp dl, 1 + je vert_res_350 + jb vert_res_200 + cmp dl, 2 + je vert_res_400 +ifdef VGA_DEBUG + mov al, dl + xor ah, ah + push ax + mov bx, msg_vert_res + push bx + call _printf + add sp, 4 +endif + jmp set_retcode +vert_res_400: + + ; reset modeset ctl bit 7 and set bit 4 + ; set switches bit 3-0 to 09 + + and al, 07Fh + or al, 010h + and ah, 0F0h + or ah, 009h + jnz set_vert_res +vert_res_350: + + ; reset modeset ctl bit 7 and bit 4 + ; set switches bit 3-0 to 09 + + and al, 06Fh + and ah, 0F0h + or ah, 009h + jnz set_vert_res +vert_res_200: + + ; set modeset ctl bit 7 and reset bit 4 + ; set switches bit 3-0 to 08 + + and al, 0EFh + or al, 080h + and ah, 0F0h + or ah, 008h +set_vert_res: + mov bx, BIOSMEM_MODESET_CTL + mov [bx], al + mov bx, BIOSMEM_SWITCHES + mov [bx], ah +set_retcode: + mov ax, 1212h + pop dx + pop bx + pop ds + ret + +ifdef VGA_DEBUG +msg_vert_res: +db "Select vert res (%02x) was discarded", 13, 10, 0 +endif + + +biosfn_enable_default_palette_loading: + push ds + push bx + push dx + mov dl, al + and dl, 01 +if VBOX_BIOS_CPU gt 8086 + shl dl, 3 +else + shl dl, 1 + shl dl, 1 + shl dl, 1 +endif + mov ax, BIOSMEM_SEG + mov ds, ax + mov bx, BIOSMEM_MODESET_CTL + mov al, [bx] + and al, 0F7h + or al, dl + mov [bx], al + mov ax, 1212h + pop dx + pop bx + pop ds + ret + + +biosfn_enable_video_addressing: + push bx + push dx + mov bl, al + and bl, 01 + xor bl, 01 + shl bl, 1 + mov dx, VGAREG_READ_MISC_OUTPUT + in al, dx + and al, 0FDh + or al, bl + mov dx, VGAREG_WRITE_MISC_OUTPUT + out dx, al + mov ax, 1212h + pop dx + pop bx + ret + + +biosfn_enable_grayscale_summing: + push ds + push bx + push dx + mov dl, al + and dl, 01h + xor dl, 01h + shl dl, 1 + mov ax, BIOSMEM_SEG + mov ds, ax + mov bx, BIOSMEM_MODESET_CTL + mov al, [bx] + and al, 0FDh + or al, dl + mov [bx], al + mov ax, 1212h + pop dx + pop bx + pop ds + ret + + +biosfn_enable_cursor_emulation: + push ds + push bx + push dx + mov dl, al + and dl, 01 + xor dl, 01 + mov ax, BIOSMEM_SEG + mov ds, ax + mov bx, BIOSMEM_MODESET_CTL + mov al, [bx] + and al, 0FEh + or al, dl + mov [bx], al + mov ax, 1212h + pop dx + pop bx + pop ds + ret + +;;-------------------------------------------------------------------------------------------- + +biosfn_group_1A: + cmp al, 0 + je biosfn_read_display_code + cmp al, 1 + je biosfn_set_display_code +ifdef VGA_DEBUG + call _unknown +endif + ret +biosfn_read_display_code: + push ds + push ax + mov ax, BIOSMEM_SEG + mov ds, ax + mov bx, BIOSMEM_DCC_INDEX + mov al, [bx] + mov bl, al + xor bh, bh + pop ax + mov al, ah + pop ds + ret +biosfn_set_display_code: + push ds + push ax + push bx + mov ax, BIOSMEM_SEG + mov ds, ax + mov ax, bx + mov bx, BIOSMEM_DCC_INDEX + mov [bx], al +ifdef VGA_DEBUG + mov al, ah + xor ah, ah + push ax + mov bx, msg_alt_dcc + push bx + call _printf + add sp, 4 +endif + pop bx + pop ax + mov al, ah + pop ds + ret + +ifdef VGA_DEBUG +msg_alt_dcc: +db "Alternate Display code (%02x) was discarded", 13, 10, 0 +endif + +VGAROM ends + + end diff --git a/src/VBox/Devices/Graphics/BIOS/vgatables.h b/src/VBox/Devices/Graphics/BIOS/vgatables.h new file mode 100644 index 00000000..09968741 --- /dev/null +++ b/src/VBox/Devices/Graphics/BIOS/vgatables.h @@ -0,0 +1,566 @@ + +#ifndef VBOX_INCLUDED_SRC_Graphics_BIOS_vgatables_h +#define VBOX_INCLUDED_SRC_Graphics_BIOS_vgatables_h +#ifndef RT_WITHOUT_PRAGMA_ONCE +# pragma once +#endif + +/* Video memory */ +#define VGAMEM_GRAPH 0xA000 +#define VGAMEM_CTEXT 0xB800 +#define VGAMEM_MTEXT 0xB000 + +/* + * + * Tables of default values for each mode + * + */ +#define MODE_MAX 15 +#define TEXT 0x00 +#define GRAPH 0x01 + +#define CTEXT 0x00 +#define MTEXT 0x01 +#define CGA 0x02 +#define PLANAR1 0x03 +#define PLANAR4 0x04 +#define LINEAR8 0x05 + +// for SVGA +#define LINEAR15 0x10 +#define LINEAR16 0x11 +#define LINEAR24 0x12 +#define LINEAR32 0x13 + +typedef struct +{uint8_t svgamode; + uint8_t class; /* TEXT, GRAPH */ + uint8_t memmodel; /* CTEXT,MTEXT,CGA,PL1,PL2,PL4,P8,P15,P16,P24,P32 */ + uint8_t pixbits; + uint16_t sstart; + uint8_t pelmask; + uint8_t dacmodel; /* 0 1 2 3 */ +} VGAMODES; + +static VGAMODES vga_modes[MODE_MAX+1]= +{//mode class model bits sstart pelm dac + {0x00, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02}, + {0x01, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02}, + {0x02, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02}, + {0x03, TEXT, CTEXT, 4, 0xB800, 0xFF, 0x02}, + {0x04, GRAPH, CGA, 2, 0xB800, 0xFF, 0x01}, + {0x05, GRAPH, CGA, 2, 0xB800, 0xFF, 0x01}, + {0x06, GRAPH, CGA, 1, 0xB800, 0xFF, 0x01}, + {0x07, TEXT, MTEXT, 4, 0xB000, 0xFF, 0x00}, + {0x0D, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x01}, + {0x0E, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x01}, + {0x0F, GRAPH, PLANAR1, 1, 0xA000, 0xFF, 0x00}, + {0x10, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02}, + {0x11, GRAPH, PLANAR1, 1, 0xA000, 0xFF, 0x02}, + {0x12, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02}, + {0x13, GRAPH, LINEAR8, 8, 0xA000, 0xFF, 0x03}, + {0x6A, GRAPH, PLANAR4, 4, 0xA000, 0xFF, 0x02} +}; + +/* convert index in vga_modes[] to index in video_param_table[] */ +static uint8_t line_to_vpti[MODE_MAX+1]={ + 0x17, 0x17, 0x18, 0x18, 0x04, 0x05, 0x06, 0x07, + 0x0d, 0x0e, 0x11, 0x12, 0x1a, 0x1b, 0x1c, 0x1d, +}; + +/* Default Palette */ +#define DAC_MAX_MODEL 3 + +static uint8_t dac_regs[DAC_MAX_MODEL+1]= +{0x3f,0x3f,0x3f,0xff}; + +/* standard BIOS Video Parameter Table */ +typedef struct { + uint8_t twidth; + uint8_t theightm1; + uint8_t cheight; + uint8_t slength_l; + uint8_t slength_h; + uint8_t sequ_regs[4]; + uint8_t miscreg; + uint8_t crtc_regs[25]; + uint8_t actl_regs[20]; + uint8_t grdc_regs[9]; +} VideoParamTableEntry; + +static VideoParamTableEntry video_param_table[30] = { +{ + /* index=0x00 no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x01 no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x02 no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x03 no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x04 vga mode 0x04 */ + 40, 24, 8, 0x00, 0x08, /* tw, th-1, ch, slength */ + 0x09, 0x03, 0x00, 0x02, /* sequ_regs */ + 0x63, /* miscreg */ + 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f, + 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2, + 0xff, /* crtc_regs */ + 0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x01, 0x00, 0x03, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x05 vga mode 0x05 */ + 40, 24, 8, 0x00, 0x08, /* tw, th-1, ch, slength */ + 0x09, 0x03, 0x00, 0x02, /* sequ_regs */ + 0x63, /* miscreg */ + 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f, + 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xa2, + 0xff, /* crtc_regs */ + 0x00, 0x13, 0x15, 0x17, 0x02, 0x04, 0x06, 0x07, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x01, 0x00, 0x03, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x06 vga mode 0x06 */ + 80, 24, 8, 0x00, 0x10, /* tw, th-1, ch, slength */ + 0x01, 0x01, 0x00, 0x06, /* sequ_regs */ + 0x63, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f, + 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xc2, + 0xff, /* crtc_regs */ + 0x00, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x01, 0x00, 0x01, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x07 vga mode 0x07 */ + 80, 24, 16, 0x00, 0x10, /* tw, th-1, ch, slength */ + 0x00, 0x03, 0x00, 0x02, /* sequ_regs */ + 0x66, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f, + 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3, + 0xff, /* crtc_regs */ + 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x0e, 0x00, 0x0f, 0x08, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x08 no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x09 no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x0a no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x0b no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x0c no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x0d vga mode 0x0d */ + 40, 24, 8, 0x00, 0x20, /* tw, th-1, ch, slength */ + 0x09, 0x0f, 0x00, 0x06, /* sequ_regs */ + 0x63, /* miscreg */ + 0x2d, 0x27, 0x28, 0x90, 0x2b, 0x80, 0xbf, 0x1f, + 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x14, 0x00, 0x96, 0xb9, 0xe3, + 0xff, /* crtc_regs */ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x01, 0x00, 0x0f, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x0e vga mode 0x0e */ + 80, 24, 8, 0x00, 0x40, /* tw, th-1, ch, slength */ + 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */ + 0x63, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f, + 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x28, 0x00, 0x96, 0xb9, 0xe3, + 0xff, /* crtc_regs */ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x01, 0x00, 0x0f, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x0f no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x10 no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x11 vga mode 0x0f */ + 80, 24, 14, 0x00, 0x80, /* tw, th-1, ch, slength */ + 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */ + 0xa3, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3, + 0xff, /* crtc_regs */ + 0x00, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, + 0x01, 0x00, 0x01, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x12 vga mode 0x10 */ + 80, 24, 14, 0x00, 0x80, /* tw, th-1, ch, slength */ + 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */ + 0xa3, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x83, 0x85, 0x5d, 0x28, 0x0f, 0x63, 0xba, 0xe3, + 0xff, /* crtc_regs */ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, + 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, + 0x01, 0x00, 0x0f, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x13 no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x14 no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x15 no mode defined */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}, +{ + /* index=0x16 ega mode 0x03 */ + 80, 24, 14, 0x00, 0x10, /* tw, th-1, ch, slength */ + 0x00, 0x03, 0x00, 0x02, /* sequ_regs */ + 0x67, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f, + 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3, + 0xff, /* crtc_regs */ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, + 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, + 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x17 vga mode 0x01 */ + 40, 24, 16, 0x00, 0x08, /* tw, th-1, ch, slength */ + 0x08, 0x03, 0x00, 0x02, /* sequ_regs */ + 0x67, /* miscreg */ + 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f, + 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x14, 0x1f, 0x96, 0xb9, 0xa3, + 0xff, /* crtc_regs */ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, + 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, + 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x18 vga mode 0x03 */ + 80, 24, 16, 0x00, 0x10, /* tw, th-1, ch, slength */ + 0x00, 0x03, 0x00, 0x02, /* sequ_regs */ + 0x67, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f, + 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x28, 0x1f, 0x96, 0xb9, 0xa3, + 0xff, /* crtc_regs */ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, + 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, + 0x0c, 0x00, 0x0f, 0x08, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x19 vga mode 0x07 */ + 80, 24, 16, 0x00, 0x10, /* tw, th-1, ch, slength */ + 0x00, 0x03, 0x00, 0x02, /* sequ_regs */ + 0x66, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x55, 0x81, 0xbf, 0x1f, + 0x00, 0x4f, 0x0d, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x28, 0x0f, 0x96, 0xb9, 0xa3, + 0xff, /* crtc_regs */ + 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x0e, 0x00, 0x0f, 0x08, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x1a vga mode 0x11 */ + 80, 29, 16, 0x00, 0x00, /* tw, th-1, ch, slength */ + 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */ + 0xe3, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3, + 0xff, /* crtc_regs */ + 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, + 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0x3f, + 0x01, 0x00, 0x0f, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x1b vga mode 0x12 */ + 80, 29, 16, 0x00, 0x00, /* tw, th-1, ch, slength */ + 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */ + 0xe3, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xea, 0x8c, 0xdf, 0x28, 0x00, 0xe7, 0x04, 0xe3, + 0xff, /* crtc_regs */ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, + 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, + 0x01, 0x00, 0x0f, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x1c vga mode 0x13 */ + 40, 24, 8, 0x00, 0x00, /* tw, th-1, ch, slength */ + 0x01, 0x0f, 0x00, 0x0e, /* sequ_regs */ + 0x63, /* miscreg */ + 0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0xbf, 0x1f, + 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x8e, 0x8f, 0x28, 0x40, 0x96, 0xb9, 0xa3, + 0xff, /* crtc_regs */ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x41, 0x00, 0x0f, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x05, 0x0f, 0xff, /* grdc_regs */ +}, +{ + /* index=0x1d vga mode 0x6a */ + 100, 36, 16, 0x00, 0x00, /* tw, th-1, ch, slength */ + 0x01, 0x0f, 0x00, 0x06, /* sequ_regs */ + 0xe3, /* miscreg */ + 0x7f, 0x63, 0x63, 0x83, 0x6b, 0x1b, 0x72, 0xf0, + 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x59, 0x8d, 0x57, 0x32, 0x00, 0x57, 0x73, 0xe3, + 0xff, /* crtc_regs */ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07, + 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, + 0x01, 0x00, 0x0f, 0x00, /* actl_regs */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0f, 0xff, /* grdc_regs */ +}, +}; + +/* Mono */ +static uint8_t palette0[63+1][3]= +{ + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, + 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, + 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, + 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, + 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f +}; + +static uint8_t palette1[63+1][3]= +{ + 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a, + 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a, + 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f, + 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f, + 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a, + 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a, + 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f, + 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f +}; + +static uint8_t palette2[63+1][3]= +{ + 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x2a,0x00, 0x2a,0x2a,0x2a, + 0x00,0x00,0x15, 0x00,0x00,0x3f, 0x00,0x2a,0x15, 0x00,0x2a,0x3f, 0x2a,0x00,0x15, 0x2a,0x00,0x3f, 0x2a,0x2a,0x15, 0x2a,0x2a,0x3f, + 0x00,0x15,0x00, 0x00,0x15,0x2a, 0x00,0x3f,0x00, 0x00,0x3f,0x2a, 0x2a,0x15,0x00, 0x2a,0x15,0x2a, 0x2a,0x3f,0x00, 0x2a,0x3f,0x2a, + 0x00,0x15,0x15, 0x00,0x15,0x3f, 0x00,0x3f,0x15, 0x00,0x3f,0x3f, 0x2a,0x15,0x15, 0x2a,0x15,0x3f, 0x2a,0x3f,0x15, 0x2a,0x3f,0x3f, + 0x15,0x00,0x00, 0x15,0x00,0x2a, 0x15,0x2a,0x00, 0x15,0x2a,0x2a, 0x3f,0x00,0x00, 0x3f,0x00,0x2a, 0x3f,0x2a,0x00, 0x3f,0x2a,0x2a, + 0x15,0x00,0x15, 0x15,0x00,0x3f, 0x15,0x2a,0x15, 0x15,0x2a,0x3f, 0x3f,0x00,0x15, 0x3f,0x00,0x3f, 0x3f,0x2a,0x15, 0x3f,0x2a,0x3f, + 0x15,0x15,0x00, 0x15,0x15,0x2a, 0x15,0x3f,0x00, 0x15,0x3f,0x2a, 0x3f,0x15,0x00, 0x3f,0x15,0x2a, 0x3f,0x3f,0x00, 0x3f,0x3f,0x2a, + 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f +}; + +static uint8_t palette3[256][3]= +{ + 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a, + 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f, + 0x00,0x00,0x00, 0x05,0x05,0x05, 0x08,0x08,0x08, 0x0b,0x0b,0x0b, 0x0e,0x0e,0x0e, 0x11,0x11,0x11, 0x14,0x14,0x14, 0x18,0x18,0x18, + 0x1c,0x1c,0x1c, 0x20,0x20,0x20, 0x24,0x24,0x24, 0x28,0x28,0x28, 0x2d,0x2d,0x2d, 0x32,0x32,0x32, 0x38,0x38,0x38, 0x3f,0x3f,0x3f, + 0x00,0x00,0x3f, 0x10,0x00,0x3f, 0x1f,0x00,0x3f, 0x2f,0x00,0x3f, 0x3f,0x00,0x3f, 0x3f,0x00,0x2f, 0x3f,0x00,0x1f, 0x3f,0x00,0x10, + 0x3f,0x00,0x00, 0x3f,0x10,0x00, 0x3f,0x1f,0x00, 0x3f,0x2f,0x00, 0x3f,0x3f,0x00, 0x2f,0x3f,0x00, 0x1f,0x3f,0x00, 0x10,0x3f,0x00, + 0x00,0x3f,0x00, 0x00,0x3f,0x10, 0x00,0x3f,0x1f, 0x00,0x3f,0x2f, 0x00,0x3f,0x3f, 0x00,0x2f,0x3f, 0x00,0x1f,0x3f, 0x00,0x10,0x3f, + 0x1f,0x1f,0x3f, 0x27,0x1f,0x3f, 0x2f,0x1f,0x3f, 0x37,0x1f,0x3f, 0x3f,0x1f,0x3f, 0x3f,0x1f,0x37, 0x3f,0x1f,0x2f, 0x3f,0x1f,0x27, + + 0x3f,0x1f,0x1f, 0x3f,0x27,0x1f, 0x3f,0x2f,0x1f, 0x3f,0x37,0x1f, 0x3f,0x3f,0x1f, 0x37,0x3f,0x1f, 0x2f,0x3f,0x1f, 0x27,0x3f,0x1f, + 0x1f,0x3f,0x1f, 0x1f,0x3f,0x27, 0x1f,0x3f,0x2f, 0x1f,0x3f,0x37, 0x1f,0x3f,0x3f, 0x1f,0x37,0x3f, 0x1f,0x2f,0x3f, 0x1f,0x27,0x3f, + 0x2d,0x2d,0x3f, 0x31,0x2d,0x3f, 0x36,0x2d,0x3f, 0x3a,0x2d,0x3f, 0x3f,0x2d,0x3f, 0x3f,0x2d,0x3a, 0x3f,0x2d,0x36, 0x3f,0x2d,0x31, + 0x3f,0x2d,0x2d, 0x3f,0x31,0x2d, 0x3f,0x36,0x2d, 0x3f,0x3a,0x2d, 0x3f,0x3f,0x2d, 0x3a,0x3f,0x2d, 0x36,0x3f,0x2d, 0x31,0x3f,0x2d, + 0x2d,0x3f,0x2d, 0x2d,0x3f,0x31, 0x2d,0x3f,0x36, 0x2d,0x3f,0x3a, 0x2d,0x3f,0x3f, 0x2d,0x3a,0x3f, 0x2d,0x36,0x3f, 0x2d,0x31,0x3f, + 0x00,0x00,0x1c, 0x07,0x00,0x1c, 0x0e,0x00,0x1c, 0x15,0x00,0x1c, 0x1c,0x00,0x1c, 0x1c,0x00,0x15, 0x1c,0x00,0x0e, 0x1c,0x00,0x07, + 0x1c,0x00,0x00, 0x1c,0x07,0x00, 0x1c,0x0e,0x00, 0x1c,0x15,0x00, 0x1c,0x1c,0x00, 0x15,0x1c,0x00, 0x0e,0x1c,0x00, 0x07,0x1c,0x00, + 0x00,0x1c,0x00, 0x00,0x1c,0x07, 0x00,0x1c,0x0e, 0x00,0x1c,0x15, 0x00,0x1c,0x1c, 0x00,0x15,0x1c, 0x00,0x0e,0x1c, 0x00,0x07,0x1c, + + 0x0e,0x0e,0x1c, 0x11,0x0e,0x1c, 0x15,0x0e,0x1c, 0x18,0x0e,0x1c, 0x1c,0x0e,0x1c, 0x1c,0x0e,0x18, 0x1c,0x0e,0x15, 0x1c,0x0e,0x11, + 0x1c,0x0e,0x0e, 0x1c,0x11,0x0e, 0x1c,0x15,0x0e, 0x1c,0x18,0x0e, 0x1c,0x1c,0x0e, 0x18,0x1c,0x0e, 0x15,0x1c,0x0e, 0x11,0x1c,0x0e, + 0x0e,0x1c,0x0e, 0x0e,0x1c,0x11, 0x0e,0x1c,0x15, 0x0e,0x1c,0x18, 0x0e,0x1c,0x1c, 0x0e,0x18,0x1c, 0x0e,0x15,0x1c, 0x0e,0x11,0x1c, + 0x14,0x14,0x1c, 0x16,0x14,0x1c, 0x18,0x14,0x1c, 0x1a,0x14,0x1c, 0x1c,0x14,0x1c, 0x1c,0x14,0x1a, 0x1c,0x14,0x18, 0x1c,0x14,0x16, + 0x1c,0x14,0x14, 0x1c,0x16,0x14, 0x1c,0x18,0x14, 0x1c,0x1a,0x14, 0x1c,0x1c,0x14, 0x1a,0x1c,0x14, 0x18,0x1c,0x14, 0x16,0x1c,0x14, + 0x14,0x1c,0x14, 0x14,0x1c,0x16, 0x14,0x1c,0x18, 0x14,0x1c,0x1a, 0x14,0x1c,0x1c, 0x14,0x1a,0x1c, 0x14,0x18,0x1c, 0x14,0x16,0x1c, + 0x00,0x00,0x10, 0x04,0x00,0x10, 0x08,0x00,0x10, 0x0c,0x00,0x10, 0x10,0x00,0x10, 0x10,0x00,0x0c, 0x10,0x00,0x08, 0x10,0x00,0x04, + 0x10,0x00,0x00, 0x10,0x04,0x00, 0x10,0x08,0x00, 0x10,0x0c,0x00, 0x10,0x10,0x00, 0x0c,0x10,0x00, 0x08,0x10,0x00, 0x04,0x10,0x00, + + 0x00,0x10,0x00, 0x00,0x10,0x04, 0x00,0x10,0x08, 0x00,0x10,0x0c, 0x00,0x10,0x10, 0x00,0x0c,0x10, 0x00,0x08,0x10, 0x00,0x04,0x10, + 0x08,0x08,0x10, 0x0a,0x08,0x10, 0x0c,0x08,0x10, 0x0e,0x08,0x10, 0x10,0x08,0x10, 0x10,0x08,0x0e, 0x10,0x08,0x0c, 0x10,0x08,0x0a, + 0x10,0x08,0x08, 0x10,0x0a,0x08, 0x10,0x0c,0x08, 0x10,0x0e,0x08, 0x10,0x10,0x08, 0x0e,0x10,0x08, 0x0c,0x10,0x08, 0x0a,0x10,0x08, + 0x08,0x10,0x08, 0x08,0x10,0x0a, 0x08,0x10,0x0c, 0x08,0x10,0x0e, 0x08,0x10,0x10, 0x08,0x0e,0x10, 0x08,0x0c,0x10, 0x08,0x0a,0x10, + 0x0b,0x0b,0x10, 0x0c,0x0b,0x10, 0x0d,0x0b,0x10, 0x0f,0x0b,0x10, 0x10,0x0b,0x10, 0x10,0x0b,0x0f, 0x10,0x0b,0x0d, 0x10,0x0b,0x0c, + 0x10,0x0b,0x0b, 0x10,0x0c,0x0b, 0x10,0x0d,0x0b, 0x10,0x0f,0x0b, 0x10,0x10,0x0b, 0x0f,0x10,0x0b, 0x0d,0x10,0x0b, 0x0c,0x10,0x0b, + 0x0b,0x10,0x0b, 0x0b,0x10,0x0c, 0x0b,0x10,0x0d, 0x0b,0x10,0x0f, 0x0b,0x10,0x10, 0x0b,0x0f,0x10, 0x0b,0x0d,0x10, 0x0b,0x0c,0x10, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00 +}; + +static uint8_t static_functionality[0x10]= +{ + /* 0 */ 0xff, // All modes supported #1 + /* 1 */ 0xe0, // All modes supported #2 + /* 2 */ 0x0f, // All modes supported #3 + /* 3 */ 0x00, 0x00, 0x00, 0x00, // reserved + /* 7 */ 0x07, // 200, 350, 400 scan lines + /* 8 */ 0x02, // maximum number of visible charsets in text mode + /* 9 */ 0x08, // total number of charset blocks in text mode + /* a */ 0xe7, // Change to add new functions + /* b */ 0x0c, // Change to add new functions + /* c */ 0x00, // reserved + /* d */ 0x00, // reserved + /* e */ 0x00, // Change to add new functions + /* f */ 0x00 // reserved +}; + +#endif /* !VBOX_INCLUDED_SRC_Graphics_BIOS_vgatables_h */ + |