From c5d2e117e3c795c81435d3fcb5b326f39a8e8711 Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Sat, 21 Feb 2015 04:11:28 -0500 Subject: Finish download page, re-release everything under AGPL v3 or later Link to new download page from the homepage. Replace top footer text with a variable reference. Replace instances of "libreboot" with a variable reference. Delete the vortex86ex directory (that machine is a waste of time) Delete the readme.txt (it will need to be re-written) --- diff --git a/.gitignore b/.gitignore index c4ab064..942b8a0 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /site/libreboot.org.git/ /site/release/ /site/variables.php +/site/torrents.php diff --git a/site/contrib/index.php b/site/contrib/index.php index 9e48839..3c9d984 100644 --- a/site/contrib/index.php +++ b/site/contrib/index.php @@ -1,3 +1,25 @@ + + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +?> + @@ -10,10 +32,6 @@ - -
diff --git a/site/css/main.css b/site/css/main.css index 07dba0a..472311f 100644 --- a/site/css/main.css +++ b/site/css/main.css @@ -1,3 +1,20 @@ +/* + Main CSS file + Copyright (C) 2014, 2015 Francis Rowe + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ body { background:#f4f4f4; color:#2B2B2B; @@ -91,7 +108,7 @@ div.important, pre, div.subsection { margin-left:1em; margin-right:1em; border:none; - border-radius:0px; + border-radius:0.5em; box-shadow:none; height:10em; width:auto; diff --git a/site/download/index.php b/site/download/index.php index 4cadfb2..3e8b620 100644 --- a/site/download/index.php +++ b/site/download/index.php @@ -1,3 +1,26 @@ + + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +?> + @@ -6,125 +29,187 @@ - Download libreboot + Download <?php echo $lbProjectName; ?> - -
-

Download libreboot

- -

- Torrent (magnet) links to releases, and links to third-party HTTP mirrors. Use this page - to download libreboot. These are stable releases; for development (unstable) releases, - refer back to the home page. -

- -

- This page isn't actually ready yet. For now, the official download page - is at ../docs/release.html. On the next release of libreboot after r20150208, - release archives will no longer be hosted on the libreboot.org HTTP server. Old releases - will be deleted and moved to bittorrent. New releases will also be hosted on bittorrent. -

+

+ " /> +

+ +

Download

-

- Why bittorrent? As we all know, bittorrent is inherently more efficient than a HTTP server - for large files, due to its peer-to-peer distributed nature. Libreboot releases are actually much - more efficient now, where ROM images for each machine are separated into their own tar archives. - The old 'binary' archive is now named 'utils'. Documentation is also deleted from 'utils' and 'src' - and now available in a separate archive. All of this means that the user has a much more streamlined - way of getting libreboot releases, with less data to download. Bittorrent will improve this even - further, giving users faster download speeds. -

+

+ Information about these releases can be found at ../docs/release.html. + Documentation can be found at ../docs/index.html. + A copy of /docs/ can also be found in the release archives. +

+ + + + + +

+ Back to home page +

+ +
+ +
-

- Bittorrent is also redundant. The libreboot project will not actually host its own tracker at all, - but it will instead use many public trackers and publish the magnet links. The website is also - hosted in git, which means that everything is easier to mirror. If libreboot.org is down, you'll - still be able to download libreboot so long as you have those magnet links. -

+

GPG signing key

+ +

+ +

+

+ Download the key:
+ $ gpg --recv-keys +

+

+ You can verify the downloaded archives as follows:
+ $ for signature in $(ls *.tar.xz.sig); do gpg --verify $signature; done +

+ +
+ +
-

- Information about these releases can be found under docs/release.html in the libreboot_docs archive - or in the git git repository. See ../docs/release.html. -

- -

- It has been suggested to setup RSS feeds for this, so that people can automatically download and seed new releases. - TODO: look into this. -

+

Torrent links do not work yet. Use the HTTP downloads.

+

Bittorrent

+ + + + 1) { + ?>

- Back to homepage + Torrents for older releases can be found at oldtorrent/.

- + + +

Torrent links do not work yet. Use the HTTP downloads.

+
- -
- -

XXXXYYZZ

+ +
+ +

HTTP mirrors

- Next release. Date unknown. + These mirrors are intended mainly for those who cannot use + bittorrent. Otherwise, the torrent links + are highly recommended.

-

r20150208

+ +
    +0) { + for ($server=0; $server +
  • + +
  • HTTP mirrors not added yet.
  • + +
+

- The magnet links for libreboot releases aren't actually available yet. - It will all be moved later. This page is just a template for the time being. + Are you running a mirror? Contact the project + (details are on the home page), and the link will be added here.

-

TODO: populate this page.

- +
-
+
-

Git repositories

+

Git repositories (development)

+ +

+ These git repositories are intended for the development of . + The ROM images built from git are untested, and therefore not + recommended for general use (you should assume that they will + brick your computer). +

+ +

+ Snapshots (preview releases) of the git repository can be found at + ../git/. +

+

+ Documentation for from git can be found in + the git repository itself (under /docs/), or a live version + can be found at ../gitdocs/index.html. +

-

Main repositories

+

Main repositories

- This is the main repository, hosted by the libreboot project. + This is the main repository, hosted by the project.

- Firmware: $ git clone
- Website: $ git clone + Firmware: $ git clone
+ Website: $ git clone

-

Backup repositories

-

- These are backup repositories, in case the main repository is down. - Although these are regularly updated by the libreboot project, you - should ideally use the main repository. -

- -

Libreboot firmware (coreboot distribution)

+ Please do not use GitHub! +

+ +

Backup repositories

+

+ Backup repositories, in case the main repository is down. + Although these are regularly updated by the project, you + should ideally use the main repository. +

+

+ Please do not use GitHub! +

+ +

Firmware (coreboot distribution)

+

- $ git clone - "; ?> + $ git clone + "; ?> -

+

-

Libreboot website

-

+

Project website

+

- $ git clone - "; ?> + $ git clone + "; ?> -

+

diff --git a/site/download/oldtorrent/index.php b/site/download/oldtorrent/index.php new file mode 100644 index 0000000..c4b5726 --- /dev/null +++ b/site/download/oldtorrent/index.php @@ -0,0 +1,117 @@ + + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +?> + + + + + + + + + + Download <?php echo $lbProjectName; ?> (old) + + + + + +
+ +
+ +

+ " /> +

+ +

Download (old)

+ +

+ This page is for old releases, distributed via the bittorrent network. +

+ +

+ Information about these releases can be found at ../../docs/release.html. + Documentation for a given release can be found under /docs/ in that release archive. The same documentation + can also be found in the git repository by reverting to the tag used for that release. +

+ + + +

+ Back to main download page +

+ +
+ +
+ +

GPG signing key

+ +

+ +

+

+ Download the key:
+ $ gpg --recv-keys +

+

+ You can verify the downloaded archives as follows:
+ $ for signature in $(ls *.tar.xz.sig); do gpg --verify $signature; done +

+ +
+ +
+ +

Torrent links do not work yet. Use the HTTP downloads.

+ +

Bittorrent

+

+ The following is a list of links to old releases. +

+ + + +

Torrent links do not work yet. Use the HTTP downloads.

+ +
+ + + +
+ + + + diff --git a/site/footer.php b/site/footer.php index 5e4eddc..c38ab84 100644 --- a/site/footer.php +++ b/site/footer.php @@ -1,5 +1,26 @@ + -

This website is hosted on a Libreboot machine, powered by Trisquel GNU/Linux-libre and Lighttpd.

+ This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +?> + 0) echo "

$lbFooterText

"; ?> +

+ This website is a clone of a git repository: git clone +

- This website is a git clone. Download this website: git clone + This page is published under the GNU Affero General Public License, version 3 or any later version.

diff --git a/site/github/index.php b/site/github/index.php index b0bfec9..b0e7da3 100644 --- a/site/github/index.php +++ b/site/github/index.php @@ -1,3 +1,25 @@ + + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +?> + @@ -10,10 +32,6 @@ - -
@@ -23,8 +41,8 @@

Please do not use GitHub!

- Please do not use GitHub to host libreboot. - Libreboot is a free software project, so this is only a request, and not a restriction on the software. + Please do not use GitHub to host . + is a free software project, so this is only a request, and not a restriction on the software.

@@ -67,13 +85,13 @@

- By contrast, the libreboot project adheres strictly to the goals of the Free Software movement, which + By contrast, the project adheres strictly to the goals of the Free Software movement, which seeks to eliminate proprietary software to the point where all software is free.

The opinions expressed by Tom Preston-Werner of GitHub are incompatible with those of - the libreboot project. Users and developers of + the project. Users and developers of free software are strongly advised not to use GitHub, for any of their projects.

@@ -125,7 +143,7 @@ licensed under CC BY-SA 4.0 like the original.

- Back to libreboot.org homepage + Back to home page

diff --git a/site/images/welcome_screen.png b/site/images/welcome_screen.png new file mode 100644 index 0000000..be51e68 --- /dev/null +++ b/site/images/welcome_screen.png Binary files differ diff --git a/site/images/welcome_screen.png.license.txt b/site/images/welcome_screen.png.license.txt new file mode 100644 index 0000000..2a47428 --- /dev/null +++ b/site/images/welcome_screen.png.license.txt @@ -0,0 +1 @@ +Meditating GNU image found at https://www.gnu.org/graphics/meditate.html and Copyright (C) 2001 Free Software Foundation, Inc. License is GPLv3 or later. diff --git a/site/images/welcome_screen_small.jpg b/site/images/welcome_screen_small.jpg new file mode 100644 index 0000000..e30e78a --- /dev/null +++ b/site/images/welcome_screen_small.jpg Binary files differ diff --git a/site/index.php b/site/index.php index 6c82088..ecbdd45 100644 --- a/site/index.php +++ b/site/index.php @@ -1,3 +1,26 @@ + + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +?> + @@ -6,28 +29,24 @@ - Libreboot project + <?php echo $lbProjectNameCapitalized; ?> project - -

- + " />

-

Libreboot project

+

project

- Libreboot is a coreboot distribution (distro) with proprietary software removed, + is a coreboot distribution (distro) with proprietary software removed, intended to be a free (libre) 'BIOS' replacement for your computer. The project is aimed at users, attempting to make - coreboot as easy to use as possible. Learn more about libreboot. + coreboot as easy to use as possible. Learn more about .

'Free' in this sense refers to freedom (liberty); read the full Free Software definition. @@ -42,14 +61,14 @@ Utilities (statically compiled) and ROM images are provided, built from the source code.

- The latest release is from February 8th, 2015. + The latest release is from .

diff --git a/site/license.txt b/site/license.txt deleted file mode 100644 index 028a78e..0000000 --- a/site/license.txt +++ /dev/null @@ -1,10 +0,0 @@ -Copyright © 2015 Francis Rowe - -Applies to the following: -variables.php, readme.txt, .gitignore, index.php, footer.php, -release/index.php, contrib/index.php, css/main.css, vortex86ex/ - -...released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. -For a copy of that license, see https://creativecommons.org/licenses/by-sa/4.0/ - -For other resources, different conditions apply. diff --git a/site/logo/license.txt b/site/logo/license.txt index 2e219bb..5721044 100644 --- a/site/logo/license.txt +++ b/site/logo/license.txt @@ -1,2 +1 @@ -Copyright 2014 Marcus Moeller -license: CC-0 +Copyright 2014 Marcus Moeller (license: CC-0) diff --git a/site/readme.txt b/site/readme.txt deleted file mode 100644 index 6f388ce..0000000 --- a/site/readme.txt +++ /dev/null @@ -1,44 +0,0 @@ -This is a clone of the libreboot website at libreboot.org. The main -intention is to allow people to contribute to the website, but it -can also help people to mirror the site if they want to. - -Mirroring libreboot: - -(these instructions aren't complete, and you can also cherry pick what -you need instead of following these exactly) - -change the info in variables.php to what you want - -clone libreboot(website) and make that directory your docroot. - -Now, outside of the libreboot(website) clone, clone libreboot(firmware) -and build it fully, using the libreboot instructions. -in libreboot(website) clone, create a symlink called "git" to the -release/ directory in your libreboot(firmware) clone. - -Setup a repository for your version of libreboot(website) in -libreboot.org.git/ (or actually, whatever you want) in your -libreboot(website) clone. - -Setup a repository for your version of libreboot(firmware) in -libreboot.git (or actually, whatever you want) in your libreboot (website) -clone. - -That's right. A repository in a clone of that repository. - -Populate docs/ in your libreboot(website) clone with a copy of docs/ -from your release archives. Advice: always keep these strictly for stable -releases only (you can also backport stuff, as well). - -gitdocs/ should be a symlink to the docs/ directory in your clone of -libreboot(firmware). - -Create a symlink "gitdocs" in your libreboot(website) clone pointing -to docs/ in your libreboot(firmware) clone. - -Populate release/ with releases from the libreboot project. - - -The live site should not expose the .git files/directories, only -the repository should be accessible. Also, in the config file make sure -to replace any paths from your system with the URL of your remote. diff --git a/site/torrents.template.php b/site/torrents.template.php new file mode 100644 index 0000000..c80861c --- /dev/null +++ b/site/torrents.template.php @@ -0,0 +1,178 @@ + + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +?> +=($forIndexStart+1)) && (count($arrayTorrentLink)>=$forIndexBelow)) { + for ($release=$forIndexStart; $release<$forIndexBelow; $release++) { +?> +

+

+ Released on . +

+
    + +
  • + +
+ +

No torrents found.

+ diff --git a/site/variables.template.php b/site/variables.template.php index 7ea1380..4a0cd63 100644 --- a/site/variables.template.php +++ b/site/variables.template.php @@ -1,11 +1,43 @@ + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ +?> +

. */ + $lbFooterText = "This website is hosted on a Libreboot machine, powered by Trisquel GNU/Linux-libre and Lighttpd."; + + $lbProjectGpgKeyInfo = "pub  4096R/656F212E 2014-07-04 Libreboot Releases (signing key) <releases@libreboot.org>
Fingerprint=C923 4BA3 200C F688 9CC0  764D 6E97 D575 656F 212E "; + $lbProjectGpgKeyID = "0x656F212E"; ?> diff --git a/site/vortex86ex/array.php b/site/vortex86ex/array.php deleted file mode 100644 index 90bf210..0000000 --- a/site/vortex86ex/array.php +++ /dev/null @@ -1,594 +0,0 @@ - -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# The data from the $blob variable (see below) is taken -# from src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc in coreboot* and -# has different copyright terms. Check inside that file for details. -# *http://coreboot.org/ -*/ - -// steps below based on: -// https://en.wikipedia.org/wiki/Intel_HEX#Format -// Trying to disassemble http://libreboot.org/dmp_kbd_fw_part1.inc.txt -// which is from coreboot (src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc). -// The dissassemblers need intel hex format, so this script provides that. -// 8051 disassembler used: dis51 -// 8052 disassembler used: d52 -// see results on http://libreboot.org/vortex86ex/ - -$blob = array( -"0204a3020afbef75", -"f003a4ffae071fee", -"70fa22020ad51209", -"5e7f301205fb90e0", -"007416f0120ddac2", -"92c293c290d291d2", -"b8d2bad288d2a8d2", -"8ad2aa7d44e4ff12", -"0e3a7d4d0f120e3a", -"7d260f120e3a7d50", -"0f120e3a120e59d2", -"af7fb1120ef5900f", -"fee493ffb4550aa3", -"e493b4aa04d20880", -"10efb4120c900fff", -"e493b43404c208c2", -"1212036c120da612", -"010830012730121f", -"20001c301119120d", -"251209c4300805c2", -"1a120a26120d92d2", -"00120d3b1207c212", -"0ddac20112036c12", -"072e3012c43000c1", -"90d000e030e0bac2", -"af120e07500e120e", -"b6120ebcd21a120a", -"26120d3bd2af80a1", -"ae03ab05531aef90", -"d000e51af0ad078e", -"337f20120d51431a", -"1090d000e51af022", -"da7e100914120da6", -"90e000e0ff20e103", -"0202c8c2a8c2aa20", -"0403300705d2a8d2", -"aa22efa2e3921c90", -"f000e0f52c120e2f", -"d2a8d2aa301c0302", -"01eec21dc21e2017", -"030201d4e51824e1", -"603b245470030201", -"d024fa601414601e", -"14601f1460232474", -"706caf2c1205fb80", -"67e52c30e104d290", -"805ec290805ac21f", -"8002d21f852c2f80", -"46d21e804be52c70", -"1a120ced1208f285", -"3812853913853a14", -"850915850a16850b", -"17802de52cc39401", -"4013e52cd3940650", -"0cc21f7411252cf8", -"e6f52f800ae52cb4", -"070ec21f853b2fd2", -"20120db88002d21d", -"c2178002d21d301d", -"07af2c12052f8008", -"301e05af2c120597", -"120e850202c2c21d", -"e52c120b2102b71f", -"02352002b7600256", -"a7025da80264a902", -"48aa0264ab026dad", -"0274ae0241c002b7", -"cb027bd002b7d102", -"b7d202b7d302b7d4", -"0298dd028ddf02a8", -"fe000002b5120a83", -"8f2dc21f852d2f80", -"28c21f752fff8021", -"7f301205fbc21f75", -"2f55c220804b120e", -"8dd21d805a120ee6", -"d21d8053c21fe4f5", -"2fd2208034120e94", -"d21d8043120ef0d2", -"1d803c752e013090", -"03432e02c21f852e", -"2fd2208014d290c2", -"1f850f2fd2208009", -"c290c21f850f2fd2", -"20120db8d21d800f", -"c2917f05120006d2", -"91d21d8002d21d30", -"1d03120e85d21785", -"2c18200103120dda", -"22444d265000ff43", -"413f3d3b3c586444", -"42403e0f29596538", -"2a701d10025a6671", -"2c1f1e11035b672e", -"2d201205045c6839", -"2f211413065d6931", -"30232215075e6a72", -"32241608095f6b33", -"2517180b0a606c34", -"352627190c616d73", -"28741a0d626e3a36", -"1c1b752b63765556", -"7778797a0e7b7c4f", -"7d4b477e7f6f5253", -"504c4d480145574e", -"514a374946540000", -"0041540001010201", -"0202030102020302", -"0303041423143a14", -"4d423223200c0302", -"0408c21ac21be510", -"30e757e511ae1078", -"06cec313ce13d8f9", -"f526ff120dca8f27", -"e510c413135403ff", -"e5275401b50705e4", -"7f0180027f00ef30", -"e004d21b80242013", -"1faf26120779af26", -"1209f68e288f29e5", -"29f47003e528f460", -"09852926d21a8002", -"d21a301a1bc2277f", -"07120b6cc2277f06", -"120b6ca213922585", -"26311208bbc20c22", -"301b10a213922175", -"30ffd222c223d224", -"0206eec20c120e7d", -"22e4f526f5277528", -"0f7529ffe5272529", -"ffe5263528c313f5", -"2aef13f52bffae2a", -"120e15bfff0ee52b", -"24fff529e52a34ff", -"f5288047ef700de5", -"2b2401f527e4352a", -"f5268037752cffe4", -"f52de52cc313f52c", -"b5071ce52bae2a78", -"03c333ce33ced8f9", -"7c00252dffec3ecf", -"2401cf3400fe2205", -"2de52db407d47eff", -"7fff22d3e5279529", -"e5286480f8e52664", -"80984080e527ae26", -"7803c333ce33ced8", -"f9ff22787fe4f6d8", -"fd75813b0204ea02", -"0016e493a3f8e493", -"a34003f68001f208", -"dff48029e493a3f8", -"5407240cc8c333c4", -"540f4420c8834004", -"f456800146f6dfe4", -"800b010204081020", -"4080900880e47e01", -"9360bca3ff543f30", -"e509541ffee493a3", -"60010ecf54c025e0", -"60a840b8e493a3fa", -"e493a3f8e493a3c8", -"c582c8cac583caf0", -"a3c8c582c8cac583", -"cadfe9dee780bed2", -"0dc296d20ed210c2", -"948f08120dcaef13", -"b39214d216e4f50c", -"7f28120006c297d2", -"03c20a7fe87efd12", -"0c79c20dd2963016", -"16120e6250f8c2af", -"d297c2211206e5c2", -"16e4f50cd2af227f", -"e87efd120c792004", -"12200a0f120e6250", -"f5c2afc2211206e5", -"d2af2212072e22d2", -"10c294d20ad20dc2", -"968f08120dcaef13", -"b39214d216e4f50e", -"7f28120006c295d2", -"05c20e7fe87efd12", -"0c79c210d2943016", -"14120e6250f8c2af", -"d2951206e3c216e4", -"f50ed2af227fe87e", -"fd120c7920071020", -"0e0d120e6250f5c2", -"af1206e3d2af2212", -"072e22ad07ed30e6", -"04d20f8002c20fed", -"30e505120e8d8003", -"120ee6ed30e40512", -"0e948003120ef0ed", -"30e204d2278002c2", -"277f02120b6ced30", -"e105120f14800312", -"0f11ed30e00b120f", -"1a201108d211d201", -"22120f17227f0212", -"0006209442a29592", -"18050ee50eb40112", -"20180ad207d20ad2", -"0dc2968019e4f50e", -"8014e50eb40b0fd2", -"0ed210c294d213d2", -"0ce4f50ec207e510", -"c313f510e51113f5", -"1130180343108022", -"7f02120006209642", -"a2979219050ce50c", -"b4011220190ad204", -"d20ed210c2948019", -"e4f50c8014e50cb4", -"0b0fd20ad20dc296", -"c213d20ce4f50cc2", -"04e510c313f510e5", -"1113f51130190343", -"108022d2217530fe", -"d222d223c224d20a", -"d20dc296d20ed210", -"c294a22392277f06", -"120b6ca22492277f", -"07120b6c30220ca2", -"2192258530311208", -"bb8010a221922685", -"3032120bf9c292c2", -"93d209c20c222004", -"033007447fe87efd", -"120c792004033007", -"37120e6250f5c2af", -"2004033007263004", -"04c21f8002d21fe4", -"f50cc204f50ec207", -"120eeb120e80d2af", -"a21f92217530ff12", -"06e880c7d2af80c3", -"22e5196003b40209", -"e50d900363936f60", -"0be5196401702def", -"64f070280519e519", -"d394024024e4f519", -"050de50d94094019", -"752a05e4ff120c3b", -"7f07120c3bd52af3", -"e4f50d22e4f50df5", -"1922e53b64157041", -"120cede53a30e005", -"7526808003e4f526", -"e53ac313f53ae539", -"30e003433a80e539", -"c313f539e53830e0", -"03433980c2b690d0", -"01e4f0a3e526f0a3", -"e53af0a3e539f0d2", -"b622209437050ee5", -"0ed394085012e508", -"30e004d2958002c2", -"95e508c313f50822", -"e50eb40905a21492", -"9522e50eb40a03d2", -"9522e50eb40b05c2", -"16e4f50e22209637", -"050ce50cd3940850", -"12e50830e004d297", -"8002c297e508c313", -"f50822e50cb40905", -"a214929722e50cb4", -"0a03d29722e50cb4", -"0b05c216e4f50c22", -"010c00c104c10ac1", -"83c10cc109c102c1", -"16c108010e00c107", -"c10ec185c18bc186", -"c18fc112c100c111", -"c101c117010d0001", -"1900011a00013403", -"c12900a225922685", -"3132120bf9c292c2", -"9320250320060630", -"251d300b1a7f697e", -"00120c79120e6250", -"fb120eb050092025", -"04d2928002d293d2", -"0922900ffce493fe", -"740193ffc3953af5", -"0bee9539f50a900f", -"fbe493c39538f509", -"c3ef953aee953950", -"021509e50930e707", -"e4f509f50af50b22", -"0535af35ae07ee14", -"131313541ffdee54", -"07ff7006f526f527", -"801574ff7e00a807", -"088006cea2e713ce", -"13d8f8f5278e26af", -"05ad27020c5ae4ff", -"7e01efc394085027", -"ef601d64016019ef", -"64036014ee440254", -"fe90e000f054f4fd", -"ee54f46d6002d322", -"0fee25e0fe80d3c3", -"22ad07ac06ed24ff", -"ffec34fffeef7803", -"cec313ce13d8f9ff", -"ed5407fd7004f526", -"800d74ffa8050880", -"02c313d8fcf526ad", -"26020aadc2282029", -"0f120f0d8f3be53b", -"b4150375341fd229", -"120a568f35e53530", -"e00c120d7d120928", -"e4f536f537221204", -"098e368f3722200f", -"037e0022bff007d2", -"157eff7fff22efc3", -"948540037e0022ef", -"9002ce93fe7002fe", -"22301503430680c2", -"15af067e0022a21a", -"92280537e5377002", -"0536c3e536948050", -"07af37ae36020991", -"e535c39410500e12", -"0928120d7d120928", -"e4f536f53722e4ff", -"120e237effe4f526", -"e526b408077f0112", -"0e237effeeb50703", -"af2622eec313fe05", -"26e526d3941040e0", -"7fff22e4ff300f02", -"7f40200503430720", -"20030343071090e0", -"00e030e203430704", -"300b034307023006", -"03430701228e278f", -"288d29120e74e527", -"24d0f52ae528f52b", -"120ea285292fab2b", -"ad2aaf34120b4712", -"0ea9020deac0e0c0", -"f0c0d075d000c006", -"c00720100b301605", -"12080a800312064d", -"d007d006d0d0d0f0", -"d0e032c0e0c0f0c0", -"d075d000c006c007", -"200d0b3016051208", -"458003120698d007", -"d006d0d0d0f0d0e0", -"32d083d082f8e493", -"7012740193700da3", -"a393f8740193f582", -"8883e47374029368", -"60efa3a3a380dfae", -"03ab05531aef90d0", -"00e51af0ad078e33", -"7f02120d51af2f12", -"0cd0431a1090d000", -"e51af0227401a807", -"088002c333d8fcff", -"90e000e04402feef", -"30270442068003f4", -"520690e000eef022", -"120e074005120105", -"80f6120ec8120ed4", -"c21f752feea20692", -"20120db890d000e0", -"30e1f922ae03ab05", -"531aef90d000e51a", -"f0ad078e337f0312", -"0d51120bd7431a10", -"90d000e51af022e5", -"1a549ffd4420fe7c", -"08ef25e0ff90d000", -"edf0e030e4034307", -"0190d000eef0dce9", -"2290f000e532f0f5", -"0fa22692277f0512", -"0b6c90e000e04402", -"54fefef04401f0ee", -"f022531aef90d000", -"e51af07f9f120cd0", -"120bd7120bd7120b", -"d7431a1090d000e5", -"1af0228f2b7fed12", -"052faf2b12052f75", -"2c0a7fe87efd120c", -"79120e6250fbd52c", -"f1228f288d29120e", -"74120ea2e52824fe", -"fb85292f7defaf34", -"120b47120ea9020d", -"eaad07ac06c28ced", -"f4ffecf4feef2401", -"fde43ef58caf058f", -"8ac28dd28c22ad07", -"ac06c2caedf4ffec", -"f4feef2401fde43e", -"f5cdaf058fccc2cf", -"d2ca22531aef90d0", -"00e51af07f05120c", -"d0120bd7431a1090", -"d000e51af0ef1322", -"e51a549ffe4440fd", -"7c0890d000ef33ff", -"5003ed8001eef044", -"20f0dcf122120f04", -"8e398f3a120f1d8f", -"38e53830e1034339", -"80e5381313543ff5", -"3822531aef90d000", -"e51af07f05120cd0", -"120bd7431a1090d0", -"00e51af022120ec8", -"120ed490d000e020", -"e10812036c120105", -"80f122120ced1208", -"f2e509700be50a70", -"07e50b7003120eda", -"228d318b32120cd0", -"af31120cd0af3212", -"0cd0af33020cd053", -"1aef90d000e51af0", -"120cd0431a1090d0", -"00e51af022120e74", -"120ea2e4fb7dd0af", -"341200e0120ea902", -"0dea531afb90d000", -"e51af0531afde51a", -"f07f3c0200063009", -"0e120eb04009c292", -"c293c209120e7d22", -"a21f9221852f30a2", -"209222c223c22402", -"06eeefc4540f9003", -"5393feef540f932e", -"ff2290e000e04402", -"54fefef054fdf0ee", -"f022120ea2120cb3", -"921b120ea9201bf2", -"22300509200e0620", -"0203d38001c32230", -"0309200a06200203", -"d38001c322aa06ea", -"24d0fdeffbaf3412", -"0bb422ef24fefb7d", -"efaf34120bb422d2", -"02d20dc296d210c2", -"9422ef9002c9936d", -"600280fe22120df9", -"5004c210d2942212", -"0e075004c20dd296", -"22e58954f04401f5", -"8922308d04c28cd3", -"22c32230cf04c2ca", -"d322c322120ea212", -"0efa020ea9120eeb", -"c20e020e45c20212", -"0e4f020e45c205d2", -"10c29422c203d20d", -"c2962290d000e51a", -"f022302803120b90", -"22302803120d9222", -"90e000e01322531a", -"fe020e9b431a0102", -"0e9b531afd020e9b", -"431a02020e9b531a", -"fb020e9b431a0402", -"0e9b531a7f020e9b", -"431a80020e9bd205", -"020e45c20a020e4f", -"d203020e4f8f1a02", -"0e9b7f06020d677f", -"04020d67ae36af37", -"22e4f5c822120c1a", -"22c20b22d20b22c2", -"0622d20622af3522", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff" -); -?> - - -> 8) + ($addr & 0xff) + $recordtype; - - for ($j=0; $j"; -} - -// end of file -echo ":00000001FF"; -?> - diff --git a/site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.d52.txt b/site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.d52.txt deleted file mode 100644 index 715a84d..0000000 --- a/site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.d52.txt +++ /dev/null @@ -1,2444 +0,0 @@ -; -; D52 V3.4.1 8052 Disassembly of dis.inc.hex -; 2014/11/17 12:45 -; - org 0 -; - ljmp X04a3 ; 0000 02 04 a3 ..# -; -X0003: ljmp X2afb ; 0003 02 2a fb .*{ -; -X0006: mov a,r7 ; 0006 ef o - mov b,#3 ; 0007 75 f0 03 up. - mul ab ; 000a a4 $ - mov r7,a ; 000b ff . -X000c: mov r6,rb0r7 ; 000c ae 07 .. - addc a,r7 ; 000e 3f ? - mov a,r6 ; 000f ee n - jnz X000c ; 0010 70 fa pz - ret ; 0012 22 " -; - ljmp X2ad5 ; 0013 02 2a d5 .*U -; -X0016: lcall X097e ; 0016 12 09 7e ..~ - mov r7,#30h ; 0019 7f 30 .0 - lcall X05fb ; 001b 12 05 fb ..{ - mov dptr,#Xe000 ; 001e 90 e0 00 .`. - mov a,#16h ; 0021 74 16 t. - movx @dptr,a ; 0023 f0 p - lcall X2dfa ; 0024 12 2d fa .-z - clr p1.2 ; 0027 c2 92 B. - clr p1.3 ; 0029 c2 93 B. - clr p1.0 ; 002b c2 90 B. - setb p1.1 ; 002d d2 91 R. - setb px0 ; 002f d2 b8 R8 - setb px1 ; 0031 d2 ba R: - setb it0 ; 0033 d2 88 R. - setb ex0 ; 0035 d2 a8 R( - setb ex1 ; 0037 d2 aa R* - setb ex1 ; 0039 d2 aa R* - mov r5,#44h ; 003b 7d 44 }D - clr a ; 003d e4 d - mov r7,a ; 003e ff . - lcall X2e3a ; 003f 12 2e 3a ..: - mov r5,#6dh ; 0042 7d 6d }m - add a,r7 ; 0044 2f / -X0045: lcall X2e3a ; 0045 12 2e 3a ..: - mov r5,#26h ; 0048 7d 26 }& - add a,r7 ; 004a 2f / - lcall X2e3a ; 004b 12 2e 3a ..: - mov r5,#50h ; 004e 7d 50 }P - add a,r7 ; 0050 2f / - lcall X2e3a ; 0051 12 2e 3a ..: - lcall X2e59 ; 0054 12 2e 59 ..Y - setb ea ; 0057 d2 af R/ - mov r7,#0b1h ; 0059 7f b1 .1 - lcall X2ef5 ; 005b 12 2e f5 ..u - mov dptr,#X2ffe ; 005e 90 2f fe ./~ - clr a ; 0061 e4 d - movc a,@a+dptr ; 0062 93 . - mov r7,a ; 0063 ff . - cjne a,#55h,X0091 ; 0064 b4 55 2a 4U* - inc dptr ; 0067 a3 # - clr a ; 0068 e4 d - movc a,@a+dptr ; 0069 93 . - cjne a,#0aah,X0071 ; 006a b4 aa 04 4*. - setb 21h.0 ; 006d d2 08 R. - sjmp X0081 ; 006f 80 10 .. -; -X0071: mov a,r7 ; 0071 ef o - cjne a,#12h,X00a1 ; 0072 b4 12 2c 4., - mov dptr,#X2fff ; 0075 90 2f ff ./. - clr a ; 0078 e4 d - movc a,@a+dptr ; 0079 93 . - cjne a,#34h,X0081 ; 007a b4 34 04 44. - clr 21h.0 ; 007d c2 08 B. - clr 22h.2 ; 007f c2 12 B. -X0081: lcall X036c ; 0081 12 03 6c ..l - lcall X2da6 ; 0084 12 2d a6 .-& - lcall X0108 ; 0087 12 01 08 ... - jnb 20h.1,X00b4 ; 008a 30 01 27 0.' - jnb 22h.2,X00cf ; 008d 30 12 3f 0.? - jb 20h.0,X00cf ; 0090 20 00 3c .< - jnb 22h.1,X00af ; 0093 30 11 19 0.. - lcall X2d25 ; 0096 12 2d 25 .-% - lcall X09c4 ; 0099 12 09 c4 ..D - jnb 21h.0,X00a4 ; 009c 30 08 05 0.. - clr 27h.2 ; 009f c2 3a B: -X00a1: lcall X2a26 ; 00a1 12 2a 26 .*& -X00a4: lcall X2d92 ; 00a4 12 2d 92 .-. - setb 20h.0 ; 00a7 d2 00 R. - lcall X2d3b ; 00a9 12 2d 3b .-; - lcall X07c2 ; 00ac 12 07 c2 ..B -X00af: lcall X2dfa ; 00af 12 2d fa .-z - clr 20h.1 ; 00b2 c2 01 B. -X00b4: lcall X036c ; 00b4 12 03 6c ..l - lcall X072e ; 00b7 12 07 2e ... - jnb 22h.2,X0081 ; 00ba 30 12 c4 0.D - jnb 20h.0,X0081 ; 00bd 30 00 c1 0.A - mov dptr,#Xd000 ; 00c0 90 d0 00 .P. - movx a,@dptr ; 00c3 e0 ` - jnb acc.0,X0081 ; 00c4 30 e0 ba 0`: - clr ea ; 00c7 c2 af B/ - lcall X2e07 ; 00c9 12 2e 07 ... - jnc X00fc ; 00cc 50 2e P. - lcall X2eb6 ; 00ce 12 2e b6 ..6 - lcall X2ebc ; 00d1 12 2e bc ..< - setb 27h.2 ; 00d4 d2 3a R: - lcall X2a26 ; 00d6 12 2a 26 .*& - lcall X2d3b ; 00d9 12 2d 3b .-; - setb ea ; 00dc d2 af R/ - sjmp X0081 ; 00de 80 a1 .! -; -X00e0: mov r6,rb0r3 ; 00e0 ae 03 .. - mov r3,rb0r5 ; 00e2 ab 05 +. - anl 3ah,#0efh ; 00e4 53 3a ef S:o - mov dptr,#Xd000 ; 00e7 90 d0 00 .P. - mov a,3ah ; 00ea e5 3a e: - movx @dptr,a ; 00ec f0 p - mov r5,rb0r7 ; 00ed ad 07 -. - mov r6,33h ; 00ef ae 33 .3 - mov r7,#20h ; 00f1 7f 20 . - lcall X2d51 ; 00f3 12 2d 51 .-Q - orl 3ah,#10h ; 00f6 43 3a 10 C:. - mov dptr,#Xd000 ; 00f9 90 d0 00 .P. -X00fc: mov a,3ah ; 00fc e5 3a e: - movx @dptr,a ; 00fe f0 p - ret ; 00ff 22 " -; - mov r2,a ; 0100 fa z - mov r6,#10h ; 0101 7e 10 ~. - inc r1 ; 0103 09 . - dec a ; 0104 14 . -X0105: lcall X2da6 ; 0105 12 2d a6 .-& -X0108: mov dptr,#Xe000 ; 0108 90 e0 00 .`. - movx a,@dptr ; 010b e0 ` - mov r7,a ; 010c ff . - jb acc.1,X0113 ; 010d 20 e1 03 a. - ljmp X02c8 ; 0110 02 02 c8 ..H -; -X0113: clr ex0 ; 0113 c2 a8 B( - clr ex1 ; 0115 c2 aa B* - jb 20h.4,X011d ; 0117 20 04 03 .. - jnb 20h.7,X0122 ; 011a 30 07 05 0.. -X011d: setb ex0 ; 011d d2 a8 R( - setb ex1 ; 011f d2 aa R* - ret ; 0121 22 " -; -X0122: mov a,r7 ; 0122 ef o - mov c,acc.3 ; 0123 a2 e3 "c - mov 27h.4,c ; 0125 92 3c .< - mov dptr,#Xf000 ; 0127 90 f0 00 .p. - movx a,@dptr ; 012a e0 ` - mov 2ch,a ; 012b f5 2c u, - lcall X2e2f ; 012d 12 2e 2f ../ -X0130: setb ex0 ; 0130 d2 a8 R( - setb ex1 ; 0132 d2 aa R* - jnb 27h.4,X013a ; 0134 30 3c 03 0<. - ljmp X01ee ; 0137 02 01 ee ..n -; -X013a: clr 27h.5 ; 013a c2 3d B= - clr 27h.6 ; 013c c2 3e B> - jb 22h.7,X0144 ; 013e 20 17 03 .. - ljmp X01d4 ; 0141 02 01 d4 ..T -; -X0144: mov a,rb3r0 ; 0144 e5 18 e. - add a,#0e1h ; 0146 24 e1 $a - jz X0185 ; 0148 60 3b `; - add a,#54h ; 014a 24 54 $T - jnz X0151 ; 014c 70 03 p. - ljmp X01d0 ; 014e 02 01 d0 ..P -; -X0151: add a,#0fah ; 0151 24 fa $z - jz X0169 ; 0153 60 14 `. - dec a ; 0155 14 . - jz X0196 ; 0156 60 3e `> - dec a ; 0158 14 . - jz X019a ; 0159 60 3f `? - dec a ; 015b 14 . - jz X0181 ; 015c 60 23 `# - add a,#74h ; 015e 24 74 $t - jnz X01ce ; 0160 70 6c pl - mov r7,2ch ; 0162 af 2c /, - lcall X05fb ; 0164 12 05 fb ..{ - sjmp X01d0 ; 0167 80 67 .g -; -X0169: mov a,2ch ; 0169 e5 2c e, - jnb acc.1,X0172 ; 016b 30 e1 04 0a. - setb p1.0 ; 016e d2 90 R. - sjmp X01f0 ; 0170 80 7e .~ -; -X0172: clr p1.0 ; 0172 c2 90 B. - sjmp X01f0 ; 0174 80 7a .z -; - clr 27h.7 ; 0176 c2 3f B? - sjmp X017c ; 0178 80 02 .. -; - setb 27h.7 ; 017a d2 3f R? -X017c: mov 2fh,2ch ; 017c 85 2c 2f .,/ - sjmp X01c7 ; 017f 80 46 .F -; -X0181: setb 27h.6 ; 0181 d2 3e R> - sjmp X01f0 ; 0183 80 6b .k -; -X0185: mov a,2ch ; 0185 e5 2c e, - jnz X01c3 ; 0187 70 3a p: - lcall X2ced ; 0189 12 2c ed .,m - lcall X08f2 ; 018c 12 08 f2 ..r - mov rb2r2,38h ; 018f 85 38 12 .8. - mov rb2r3,39h ; 0192 85 39 13 .9. - mov rb2r4,3ah ; 0195 85 3a 14 .:. - mov rb2r5,rb1r1 ; 0198 85 09 15 ... - mov rb2r6,2ah ; 019b 85 2a 16 .*. - mov rb2r7,2bh ; 019e 85 2b 17 .+. - sjmp X01d0 ; 01a1 80 2d .- -; - mov a,2ch ; 01a3 e5 2c e, - clr c ; 01a5 c3 C - subb a,#1 ; 01a6 94 01 .. - jc X01bd ; 01a8 40 13 @. - mov a,2ch ; 01aa e5 2c e, - setb c ; 01ac d3 S - subb a,#6 ; 01ad 94 06 .. - jnc X01dd ; 01af 50 2c P, - clr 27h.7 ; 01b1 c2 3f B? - mov a,#11h ; 01b3 74 11 t. - add a,2ch ; 01b5 25 2c %, - mov r0,a ; 01b7 f8 x - mov a,@r0 ; 01b8 e6 f - mov 2fh,a ; 01b9 f5 2f u/ - sjmp X01e7 ; 01bb 80 2a .* -; -X01bd: mov a,2ch ; 01bd e5 2c e, - cjne a,#7,X01f0 ; 01bf b4 07 2e 4.. - clr 27h.7 ; 01c2 c2 3f B? - mov 2fh,3bh ; 01c4 85 3b 2f .;/ -X01c7: setb 24h.0 ; 01c7 d2 20 R - lcall X2db8 ; 01c9 12 2d b8 .-8 - sjmp X01d0 ; 01cc 80 02 .. -; -X01ce: setb 27h.5 ; 01ce d2 3d R= -X01d0: clr 22h.7 ; 01d0 c2 17 B. - sjmp X01d6 ; 01d2 80 02 .. -; -X01d4: setb 27h.5 ; 01d4 d2 3d R= -X01d6: jnb 27h.5,X01e0 ; 01d6 30 3d 07 0=. - mov r7,2ch ; 01d9 af 2c /, - lcall X052f ; 01db 12 05 2f ../ - sjmp X01e8 ; 01de 80 08 .. -; -X01e0: jnb 27h.6,X01e8 ; 01e0 30 3e 05 0>. - mov r7,2ch ; 01e3 af 2c /, - lcall X0597 ; 01e5 12 05 97 ... -X01e8: lcall X2e85 ; 01e8 12 2e 85 ... - ljmp X02c2 ; 01eb 02 02 c2 ..B -; -X01ee: clr 27h.5 ; 01ee c2 3d B= -X01f0: mov a,2ch ; 01f0 e5 2c e, - lcall X2b21 ; 01f2 12 2b 21 .+! - ljmp Xb73f ; 01f5 02 b7 3f .7? -; - ljmp X3520 ; 01f8 02 35 20 .5 -; - ljmp Xb760 ; 01fb 02 b7 60 .7` -; - ljmp X56a7 ; 01fe 02 56 a7 .V' -; - ljmp X7da8 ; 0201 02 7d a8 .}( -; - ljmp X64a9 ; 0204 02 64 a9 .d) -; - ljmp X48aa ; 0207 02 48 aa .H* -; - ljmp X64ab ; 020a 02 64 ab .d+ -; - ljmp X6dad ; 020d 02 6d ad .m- -; - ljmp X74ae ; 0210 02 74 ae .t. -; - ljmp X41c0 ; 0213 02 41 c0 .A@ -; - ljmp Xb7eb ; 0216 02 b7 eb .7k -; - ljmp X7bd0 ; 0219 02 7b d0 .{P -; - ljmp Xb7d1 ; 021c 02 b7 d1 .7Q -; - ljmp Xb7d2 ; 021f 02 b7 d2 .7R -; - ljmp Xb7d3 ; 0222 02 b7 d3 .7S -; - ljmp Xb7d4 ; 0225 02 b7 d4 .7T -; - ljmp X98fd ; 0228 02 98 fd ..} -; - ljmp Xadff ; 022b 02 ad ff .-. -; - ljmp Xa8fe ; 022e 02 a8 fe .(~ -; - org 233h -; - ljmp Xb512 ; 0233 02 b5 12 .5. -; - add a,r2 ; 0236 2a * - movc a,@a+pc ; 0237 83 . - mov r7,2dh ; 0238 af 2d /- - clr 27h.7 ; 023a c2 3f B? - mov 2fh,2dh ; 023c 85 2d 2f .-/ - sjmp X0269 ; 023f 80 28 .( -; - clr 27h.7 ; 0241 c2 3f B? - mov 2fh,#0ffh ; 0243 75 2f ff u/. - sjmp X0269 ; 0246 80 21 .! -; - mov r7,#30h ; 0248 7f 30 .0 - lcall X05fb ; 024a 12 05 fb ..{ - clr 27h.7 ; 024d c2 3f B? - mov 2fh,#55h ; 024f 75 2f 55 u/U - clr 24h.0 ; 0252 c2 20 B -X0254: sjmp X02c1 ; 0254 80 6b .k -; - lcall X2ead ; 0256 12 2e ad ..- - setb 27h.5 ; 0259 d2 3d R= - sjmp X02d7 ; 025b 80 7a .z -; - lcall X2ee6 ; 025d 12 2e e6 ..f - setb 27h.5 ; 0260 d2 3d R= - sjmp X02b7 ; 0262 80 53 .S -; - clr 27h.7 ; 0264 c2 3f B? - clr a ; 0266 e4 d - mov 2fh,a ; 0267 f5 2f u/ -X0269: setb 24h.0 ; 0269 d2 20 R - sjmp X02a1 ; 026b 80 34 .4 -; - lcall X2e94 ; 026d 12 2e 94 ... - setb 27h.5 ; 0270 d2 3d R= - sjmp X02b7 ; 0272 80 43 .C -; - lcall X2ef0 ; 0274 12 2e f0 ..p - setb 27h.5 ; 0277 d2 3d R= - sjmp X02b7 ; 0279 80 3c .< -; - mov 2eh,#1 ; 027b 75 2e 01 u.. - jnb p1.0,X0284 ; 027e 30 90 03 0.. - orl 2eh,#2 ; 0281 43 2e 02 C.. -X0284: clr 27h.7 ; 0284 c2 3f B? - mov 2fh,2eh ; 0286 85 2e 2f ../ - setb 24h.0 ; 0289 d2 20 R - sjmp X02a1 ; 028b 80 14 .. -; - setb p1.0 ; 028d d2 90 R. - clr 27h.7 ; 028f c2 3f B? - mov 2fh,2fh ; 0291 85 2f 2f .// - setb 24h.0 ; 0294 d2 20 R - sjmp X02a1 ; 0296 80 09 .. -; - clr p1.0 ; 0298 c2 90 B. - clr 27h.7 ; 029a c2 3f B? - mov 2fh,2fh ; 029c 85 2f 2f .// - setb 24h.0 ; 029f d2 20 R -X02a1: lcall X2db8 ; 02a1 12 2d b8 .-8 - setb 27h.5 ; 02a4 d2 3d R= - sjmp X02d7 ; 02a6 80 2f ./ -; - clr p1.1 ; 02a8 c2 91 B. - mov r7,#5 ; 02aa 7f 05 .. - lcall X0006 ; 02ac 12 00 06 ... - setb p1.1 ; 02af d2 91 R. - setb 27h.5 ; 02b1 d2 3d R= - sjmp X02b7 ; 02b3 80 02 .. -; - setb 27h.5 ; 02b5 d2 3d R= -X02b7: jnb 27h.5,X02bd ; 02b7 30 3d 03 0=. - lcall X2e85 ; 02ba 12 2e 85 ... -X02bd: setb 22h.7 ; 02bd d2 17 R. - mov rb3r0,2ch ; 02bf 85 2c 18 .,. -X02c2: jb 20h.1,X02c8 ; 02c2 20 01 03 .. - lcall X2dfa ; 02c5 12 2d fa .-z -X02c8: ret ; 02c8 22 " -; -X02c9: orl a,#6dh ; 02c9 44 6d Dm - add a,@r0 ; 02cb 26 & - jnc X02ce ; 02cc 50 00 P. -X02ce: mov r7,a ; 02ce ff . - orl 41h,#3fh ; 02cf 43 41 3f CA? - addc a,r5 ; 02d2 3d = - addc a,r3 ; 02d3 3b ; - addc a,r4 ; 02d4 3c < - anl a,r0 ; 02d5 58 X - xrl a,#44h ; 02d6 64 44 dD - orl 40h,a ; 02d8 42 40 B@ - addc a,r6 ; 02da 3e > - add a,r7 ; 02db 2f / - add a,r1 ; 02dc 29 ) - anl a,r1 ; 02dd 59 Y - xrl a,38h ; 02de 65 38 e8 - add a,r2 ; 02e0 2a * - jnz X0320 ; 02e1 70 3d p= - jbc 20h.2,X0360 ; 02e3 10 02 7a ..z - xrl a,@r0 ; 02e6 66 f - acall X032c ; 02e7 71 2c q, - addc a,r7 ; 02e9 3f ? - addc a,r6 ; 02ea 3e > - acall X0003 ; 02eb 11 03 .. - mov r3,#67h ; 02ed 7b 67 {g - add a,r6 ; 02ef 2e . - add a,r5 ; 02f0 2d - - jb 22h.2,X02f9 ; 02f1 20 12 05 .. - inc a ; 02f4 04 . - mov r4,#68h ; 02f5 7c 68 |h - addc a,r1 ; 02f7 39 9 - add a,r7 ; 02f8 2f / -X02f9: ajmp X0114 ; 02f9 21 14 !. -; - rrc a ; 02fb 13 . - inc @r0 ; 02fc 06 . - mov r5,#69h ; 02fd 7d 69 }i - acall X0130 ; 02ff 31 30 10 -X0301: rl a ; 0301 23 # - ret ; 0302 22 " -; -X0303: dec rb0r7 ; 0303 15 07 .. - mov r6,#6ah ; 0305 7e 6a ~j - orl c,26h.2 ; 0307 72 32 r2 - add a,#16h ; 0309 24 16 $. - inc r0 ; 030b 08 . - inc r1 ; 030c 09 . - mov r7,#6bh ; 030d 7f 6b .k - rlc a ; 030f 33 3 - add a,rb2r7 ; 0310 25 17 %. - dec r0 ; 0312 18 . - add a,r3 ; 0313 2b + - add a,r2 ; 0314 2a * - jz X0383 ; 0315 60 6c `l - addc a,#35h ; 0317 34 35 45 - add a,@r0 ; 0319 26 & - add a,@r1 ; 031a 27 ' - dec r1 ; 031b 19 . - add a,r4 ; 031c 2c , - ajmp X036d ; 031d 61 6d am -; - jmp @a+dptr ; 031f 73 s -; -X0320: add a,r0 ; 0320 28 ( - mov a,#3ah ; 0321 74 3a t: - add a,r5 ; 0323 2d - - xrl 6eh,a ; 0324 62 6e bn - addc a,r2 ; 0326 3a : - addc a,@r0 ; 0327 36 6 - addc a,r4 ; 0328 3c < - addc a,r3 ; 0329 3b ; - mov 2bh,#63h ; 032a 75 2b 63 u+c - mov @r0,#55h ; 032d 76 55 vU - anl a,@r0 ; 032f 56 V - mov @r1,#78h ; 0330 77 78 wx - mov r1,#7ah ; 0332 79 7a yz - add a,r6 ; 0334 2e . - mov r3,#7ch ; 0335 7b 7c {| - xrl a,r7 ; 0337 6f o - mov r5,#6bh ; 0338 7d 6b }k - orl a,@r1 ; 033a 47 G - mov r6,#7fh ; 033b 7e 7f ~. - xrl a,r7 ; 033d 6f o - anl 53h,a ; 033e 52 53 RS - jnc X03ae ; 0340 50 6c Pl - xrl a,r5 ; 0342 6d m - orl a,r0 ; 0343 48 H - ajmp X0045 ; 0344 01 45 .E -; - anl a,@r1 ; 0346 57 W - xrl a,r6 ; 0347 6e n - acall X026a ; 0348 51 6a Qj - addc a,@r1 ; 034a 37 7 - orl a,r1 ; 034b 49 I - orl a,@r0 ; 034c 46 F - anl a,#0 ; 034d 54 00 T. - nop ; 034f 00 . -; - org 351h -; - ajmp X0254 ; 0351 41 54 AT -; -X0353: nop ; 0353 00 . - ajmp X0001 ; 0354 01 01 .. -; - ljmp X0102 ; 0356 02 01 02 ... -; - ljmp X0301 ; 0359 02 03 01 ... -; - ljmp X0203 ; 035c 02 02 03 ... -; - ljmp X0303 ; 035f 02 03 03 ... -; - inc a ; 0362 04 . -X0363: dec a ; 0363 14 . - rl a ; 0364 23 # - dec a ; 0365 14 . - addc a,r2 ; 0366 3a : - dec a ; 0367 14 . - xrl a,r5 ; 0368 6d m - orl 32h,a ; 0369 42 32 B2 - rl a ; 036b 23 # -X036c: jb 25h.4,X0372 ; 036c 20 2c 03 ,. - ljmp X0408 ; 036f 02 04 08 ... -; -X0372: clr 27h.2 ; 0372 c2 3a B: - clr 27h.3 ; 0374 c2 3b B; - mov a,rb2r0 ; 0376 e5 10 e. - jnb acc.7,X03d2 ; 0378 30 e7 57 0gW - mov a,rb2r1 ; 037b e5 11 e. - mov r6,rb2r0 ; 037d ae 10 .. - mov r0,#6 ; 037f 78 06 x. -X0381: mov a,r6 ; 0381 ee n - clr c ; 0382 c3 C -X0383: rrc a ; 0383 13 . - mov a,r6 ; 0384 ee n - rrc a ; 0385 13 . - djnz r0,X0381 ; 0386 d8 f9 Xy - mov 26h,a ; 0388 f5 26 u& - mov r7,a ; 038a ff . - lcall X2dea ; 038b 12 2d ea .-j - mov r7,27h ; 038e af 27 /' - mov a,rb2r0 ; 0390 e5 10 e. - swap a ; 0392 c4 D - rrc a ; 0393 13 . - rrc a ; 0394 13 . - anl a,#3 ; 0395 54 03 T. - mov r7,a ; 0397 ff . - mov a,27h ; 0398 e5 27 e' - anl a,#1 ; 039a 54 01 T. - cjne a,rb0r7,X03a4 ; 039c b5 07 05 5.. - clr a ; 039f e4 d - mov r7,#1 ; 03a0 7f 01 .. - sjmp X03a6 ; 03a2 80 02 .. -; -X03a4: mov r7,#0 ; 03a4 7f 00 .. -X03a6: mov a,r7 ; 03a6 ef o - jnb acc.0,X03ae ; 03a7 30 e0 04 0`. - setb 27h.3 ; 03aa d2 3b R; - sjmp X03d2 ; 03ac 80 24 .$ -; -X03ae: jb 22h.3,X03f0 ; 03ae 20 13 3f .? - mov r7,26h ; 03b1 af 26 /& - lcall X0779 ; 03b3 12 07 79 ..y - mov r7,26h ; 03b6 af 26 /& - lcall X09f6 ; 03b8 12 09 f6 ..v - mov r6,28h ; 03bb ae 28 .( - mov r7,29h ; 03bd af 29 /) - mov a,29h ; 03bf e5 29 e) - cpl a ; 03c1 f4 t - jnz X03c7 ; 03c2 70 03 p. - mov a,28h ; 03c4 e5 28 e( - cpl a ; 03c6 f4 t -X03c7: jz X03d2 ; 03c7 60 09 `. - mov 26h,29h ; 03c9 85 29 26 .)& - setb 27h.2 ; 03cc d2 3a R: - sjmp X03d2 ; 03ce 80 02 .. -; - setb 27h.2 ; 03d0 d2 3a R: -X03d2: jnb 27h.2,X0410 ; 03d2 30 3a 3b 0:; - clr 24h.7 ; 03d5 c2 27 B' - mov r7,#7 ; 03d7 7f 07 .. - lcall X2b6c ; 03d9 12 2b 6c .+l - clr 24h.7 ; 03dc c2 27 B' - mov r7,#6 ; 03de 7f 06 .. - lcall X2b6c ; 03e0 12 2b 6c .+l - mov c,22h.3 ; 03e3 a2 13 ". - mov 24h.5,c ; 03e5 92 25 .% - mov 31h,26h ; 03e7 85 26 31 .&1 - lcall X08bb ; 03ea 12 08 bb ..; - clr 25h.4 ; 03ed c2 2c B, - ret ; 03ef 22 " -; -X03f0: jnb 27h.3,X0403 ; 03f0 30 3b 10 0;. - mov c,22h.3 ; 03f3 a2 13 ". - mov 24h.1,c ; 03f5 92 21 .! - mov 30h,#0ffh ; 03f7 75 30 ff u0. - setb 24h.2 ; 03fa d2 22 R" - clr 24h.3 ; 03fc c2 23 B# - setb 24h.4 ; 03fe d2 24 R$ - ljmp X06ee ; 0400 02 06 ee ..n -; -X0403: clr 25h.4 ; 0403 c2 2c B, - lcall X2e7d ; 0405 12 2e 7d ..} -X0408: ret ; 0408 22 " -; -X0409: clr a ; 0409 e4 d - mov 26h,a ; 040a f5 26 u& - mov 27h,a ; 040c f5 27 u' - mov 28h,#2fh ; 040e 75 28 2f u(/ - mov 29h,#0ffh ; 0411 75 29 ff u). -X0414: mov a,27h ; 0414 e5 27 e' - add a,29h ; 0416 25 29 %) - mov r7,a ; 0418 ff . - mov a,26h ; 0419 e5 26 e& - addc a,28h ; 041b 35 28 5( - clr c ; 041d c3 C - rrc a ; 041e 13 . - mov 2ah,a ; 041f f5 2a u* - mov a,r7 ; 0421 ef o - rrc a ; 0422 13 . - mov 2bh,a ; 0423 f5 2b u+ - mov r7,a ; 0425 ff . - mov r6,2ah ; 0426 ae 2a .* - lcall X2e15 ; 0428 12 2e 15 ... - cjne r7,#0ffh,X045c ; 042b bf ff 2e ?.. - mov a,2bh ; 042e e5 2b e+ - add a,#0ffh ; 0430 24 ff $. - mov 29h,a ; 0432 f5 29 u) - mov a,2ah ; 0434 e5 2a e* - addc a,#0ffh ; 0436 34 ff 4. - mov 28h,a ; 0438 f5 28 u( - sjmp X0483 ; 043a 80 47 .G -; - mov a,r7 ; 043c ef o - jnz X046c ; 043d 70 2d p- - mov a,2bh ; 043f e5 2b e+ - add a,#1 ; 0441 24 01 $. - mov 27h,a ; 0443 f5 27 u' - clr a ; 0445 e4 d - addc a,2ah ; 0446 35 2a 5* - mov 26h,a ; 0448 f5 26 u& - sjmp X0483 ; 044a 80 37 .7 -; - mov 2ch,#0ffh ; 044c 75 2c ff u,. - clr a ; 044f e4 d - mov 2dh,a ; 0450 f5 2d u- -X0452: mov a,2ch ; 0452 e5 2c e, - clr c ; 0454 c3 C - rrc a ; 0455 13 . - mov 2ch,a ; 0456 f5 2c u, - cjne a,rb0r7,X0497 ; 0458 b5 07 3c 5.< - mov a,2bh ; 045b e5 2b e+ - mov r6,2ah ; 045d ae 2a .* - mov r0,#3 ; 045f 78 03 x. -X0461: clr c ; 0461 c3 C - rlc a ; 0462 33 3 - mov a,r6 ; 0463 ee n - rlc a ; 0464 33 3 - mov a,r6 ; 0465 ee n - djnz r0,X0461 ; 0466 d8 f9 Xy - mov r4,#0 ; 0468 7c 00 |. - add a,2dh ; 046a 25 2d %- -X046c: mov r7,a ; 046c ff . - mov a,r4 ; 046d ec l - addc a,r6 ; 046e 3e > - mov a,r7 ; 046f ef o - add a,#1 ; 0470 24 01 $. - mov a,r7 ; 0472 ef o - addc a,#0 ; 0473 34 00 4. - mov r6,a ; 0475 fe ~ - ret ; 0476 22 " -; - inc 2dh ; 0477 05 2d .- - mov a,2dh ; 0479 e5 2d e- -X047b: cjne a,#7,X0452 ; 047b b4 07 d4 4.T - mov r6,#0ffh ; 047e 7e ff ~. - mov r7,#0ffh ; 0480 7f ff .. - ret ; 0482 22 " -; -X0483: setb c ; 0483 d3 S - mov a,27h ; 0484 e5 27 e' - subb a,29h ; 0486 95 29 .) - mov a,28h ; 0488 e5 28 e( - xrl a,#80h ; 048a 64 80 d. - mov r0,a ; 048c f8 x - mov a,26h ; 048d e5 26 e& - xrl a,#80h ; 048f 64 80 d. - subb a,r0 ; 0491 98 . - jc X0414 ; 0492 40 80 @. - mov a,27h ; 0494 e5 27 e' - mov r6,26h ; 0496 ae 26 .& - mov r0,#3 ; 0498 78 03 x. -X049a: clr c ; 049a c3 C - rlc a ; 049b 33 3 - mov a,r6 ; 049c ee n - rlc a ; 049d 33 3 - mov a,r6 ; 049e ee n - djnz r0,X049a ; 049f d8 f9 Xy - mov r7,a ; 04a1 ff . - ret ; 04a2 22 " -; -X04a3: mov r0,#7fh ; 04a3 78 7f x. - clr a ; 04a5 e4 d -X04a6: mov @r0,a ; 04a6 f6 v - djnz r0,X04a6 ; 04a7 d8 fd X} - mov sp,#3bh ; 04a9 75 81 3b u.; - ljmp X04ea ; 04ac 02 04 ea ..j -; -X04af: ljmp X0016 ; 04af 02 00 16 ... -; -X04b2: clr a ; 04b2 e4 d - movc a,@a+dptr ; 04b3 93 . - inc dptr ; 04b4 a3 # - mov r0,a ; 04b5 f8 x - clr a ; 04b6 e4 d - movc a,@a+dptr ; 04b7 93 . - inc dptr ; 04b8 a3 # - jc X04be ; 04b9 40 03 @. - mov @r0,a ; 04bb f6 v - sjmp X04bf ; 04bc 80 01 .. -; -X04be: movx @r0,a ; 04be f2 r -X04bf: inc r0 ; 04bf 08 . - mov r7,a ; 04c0 ff . - cpl a ; 04c1 f4 t - sjmp X04ed ; 04c2 80 29 .) -; -X04c4: clr a ; 04c4 e4 d - movc a,@a+dptr ; 04c5 93 . - inc dptr ; 04c6 a3 # - mov r0,a ; 04c7 f8 x - anl a,#7 ; 04c8 54 07 T. - add a,#2ch ; 04ca 24 2c $, - xch a,r0 ; 04cc c8 H - clr c ; 04cd c3 C - rlc a ; 04ce 33 3 - swap a ; 04cf c4 D - anl a,#2fh ; 04d0 54 2f T/ -X04d2: orl a,#20h ; 04d2 44 20 D - xch a,r0 ; 04d4 c8 H - movc a,@a+pc ; 04d5 83 . - jc X04dc ; 04d6 40 04 @. - cpl a ; 04d8 f4 t - anl a,@r0 ; 04d9 56 V - sjmp X04dd ; 04da 80 01 .. -; -X04dc: orl a,@r0 ; 04dc 46 F -X04dd: mov @r0,a ; 04dd f6 v - mov r7,a ; 04de ff . - clr a ; 04df e4 d - sjmp X050d ; 04e0 80 2b .+ -; - ajmp X0002 ; 04e2 01 02 .. -; - inc a ; 04e4 04 . - inc r0 ; 04e5 08 . - jbc 24h.0,X0529 ; 04e6 10 20 40 . @ - sjmp X047b ; 04e9 80 90 .. -; - inc r0 ; 04eb 08 . - sjmp X04d2 ; 04ec 80 e4 .d -; - mov r6,#1 ; 04ee 7e 01 ~. - movc a,@a+dptr ; 04f0 93 . - jz X04af ; 04f1 60 bc `< - inc dptr ; 04f3 a3 # - mov r7,a ; 04f4 ff . - anl a,#3fh ; 04f5 54 3f T? - jnb acc.5,X0503 ; 04f7 30 e5 09 0e. - anl a,#3fh ; 04fa 54 3f T? - mov r6,a ; 04fc fe ~ - clr a ; 04fd e4 d - movc a,@a+dptr ; 04fe 93 . - inc dptr ; 04ff a3 # - jz X0503 ; 0500 60 01 `. - add a,r6 ; 0502 2e . -X0503: mov a,r7 ; 0503 ef o - anl a,#0c0h ; 0504 54 c0 T@ - add a,acc ; 0506 25 e0 %` - jz X04b2 ; 0508 60 a8 `( - jc X04c4 ; 050a 40 b8 @8 - clr a ; 050c e4 d -X050d: movc a,@a+dptr ; 050d 93 . - inc dptr ; 050e a3 # - mov r2,a ; 050f fa z - clr a ; 0510 e4 d - movc a,@a+dptr ; 0511 93 . - inc dptr ; 0512 a3 # - mov r0,a ; 0513 f8 x - clr a ; 0514 e4 d - movc a,@a+dptr ; 0515 93 . - inc dptr ; 0516 a3 # - xch a,r0 ; 0517 c8 H - xch a,dpl ; 0518 c5 82 E. - xch a,r0 ; 051a c8 H - mov a,r2 ; 051b ea j - xch a,dph ; 051c c5 83 E. - mov a,r2 ; 051e ea j - movx @dptr,a ; 051f f0 p - inc dptr ; 0520 a3 # - xch a,r0 ; 0521 c8 H - xch a,dpl ; 0522 c5 82 E. - xch a,r0 ; 0524 c8 H - mov a,r2 ; 0525 ea j - xch a,dph ; 0526 c5 83 E. - mov a,r2 ; 0528 ea j -X0529: mov r7,a ; 0529 ff . - mov a,r1 ; 052a e9 i - mov r6,a ; 052b fe ~ - mov a,@r1 ; 052c e7 g - sjmp X04ed ; 052d 80 be .> -; -X052f: setb 25h.5 ; 052f d2 2d R- - clr p1.6 ; 0531 c2 96 B. - setb 25h.6 ; 0533 d2 2e R. - setb 22h.0 ; 0535 d2 10 R. - clr p1.4 ; 0537 c2 94 B. - mov r7,rb1r0 ; 0539 af 08 /. - lcall X2dea ; 053b 12 2d ea .-j - mov a,r7 ; 053e ef o - rrc a ; 053f 13 . - cpl c ; 0540 b3 3 - mov 22h.4,c ; 0541 92 14 .. - setb 22h.6 ; 0543 d2 16 R. - clr a ; 0545 e4 d - mov 2ch,a ; 0546 f5 2c u, - mov r7,#28h ; 0548 7f 28 .( - lcall X0006 ; 054a 12 00 06 ... - clr p1.7 ; 054d c2 97 B. - setb 20h.3 ; 054f d2 03 R. - clr 25h.2 ; 0551 c2 2a B* - mov r7,#0e8h ; 0553 7f e8 .h - mov r6,#0fdh ; 0555 7e fd ~} - lcall X2c79 ; 0557 12 2c 79 .,y - clr 25h.5 ; 055a c2 2d B- - setb p1.6 ; 055c d2 96 R. -X055e: jnb 22h.6,X0577 ; 055e 30 16 16 0.. - lcall X2e62 ; 0561 12 2e 62 ..b - jnc X055e ; 0564 50 f8 Px - clr ea ; 0566 c2 af B/ - setb p1.7 ; 0568 d2 97 R. - clr 24h.1 ; 056a c2 21 B! - lcall X06e5 ; 056c 12 06 e5 ..e - clr 22h.6 ; 056f c2 16 B. - clr a ; 0571 e4 d - mov 2ch,a ; 0572 f5 2c u, - setb ea ; 0574 d2 af R/ - ret ; 0576 22 " -; -X0577: mov r7,#0e8h ; 0577 7f e8 .h - mov r6,#0fdh ; 0579 7e fd ~} - lcall X2c79 ; 057b 12 2c 79 .,y -X057e: jb 20h.4,X0593 ; 057e 20 04 12 .. - jb 25h.2,X05b3 ; 0581 20 2a 2f */ - lcall X2e62 ; 0584 12 2e 62 ..b - jnc X057e ; 0587 50 f5 Pu - clr ea ; 0589 c2 af B/ - clr 24h.1 ; 058b c2 21 B! - lcall X06e5 ; 058d 12 06 e5 ..e - setb ea ; 0590 d2 af R/ - ret ; 0592 22 " -; -X0593: lcall X072e ; 0593 12 07 2e ... - ret ; 0596 22 " -; -X0597: setb 22h.0 ; 0597 d2 10 R. - clr p1.4 ; 0599 c2 94 B. - setb 25h.2 ; 059b d2 2a R* - setb 25h.5 ; 059d d2 2d R- - clr p1.6 ; 059f c2 96 B. - mov r7,rb1r0 ; 05a1 af 08 /. - lcall X2dea ; 05a3 12 2d ea .-j - mov a,r7 ; 05a6 ef o - rrc a ; 05a7 13 . - cpl c ; 05a8 b3 3 - mov 22h.4,c ; 05a9 92 14 .. - setb 22h.6 ; 05ab d2 16 R. - clr a ; 05ad e4 d - mov 2eh,a ; 05ae f5 2e u. - mov r7,#28h ; 05b0 7f 28 .( - lcall X0006 ; 05b2 12 00 06 ... - clr p1.5 ; 05b5 c2 95 B. - setb 20h.5 ; 05b7 d2 05 R. - clr 25h.6 ; 05b9 c2 2e B. - mov r7,#0e8h ; 05bb 7f e8 .h - mov r6,#0fdh ; 05bd 7e fd ~} - lcall X2c79 ; 05bf 12 2c 79 .,y - clr 22h.0 ; 05c2 c2 10 B. - setb p1.4 ; 05c4 d2 94 R. -X05c6: jnb 22h.6,X05dd ; 05c6 30 16 14 0.. - lcall X2e62 ; 05c9 12 2e 62 ..b - jnc X05c6 ; 05cc 50 f8 Px - clr ea ; 05ce c2 af B/ - setb p1.5 ; 05d0 d2 95 R. - lcall X06e3 ; 05d2 12 06 e3 ..c - clr 22h.6 ; 05d5 c2 16 B. - clr a ; 05d7 e4 d - mov 2eh,a ; 05d8 f5 2e u. - setb ea ; 05da d2 af R/ - ret ; 05dc 22 " -; -X05dd: mov r7,#0e8h ; 05dd 7f e8 .h - mov r6,#0fdh ; 05df 7e fd ~} - lcall X2c79 ; 05e1 12 2c 79 .,y -X05e4: jb 20h.7,X05f7 ; 05e4 20 07 10 .. - jb 25h.6,X0617 ; 05e7 20 2e 2d .- - lcall X2e62 ; 05ea 12 2e 62 ..b - jnc X05e4 ; 05ed 50 f5 Pu - clr ea ; 05ef c2 af B/ - lcall X06e3 ; 05f1 12 06 e3 ..c - setb ea ; 05f4 d2 af R/ - ret ; 05f6 22 " -; -X05f7: lcall X072e ; 05f7 12 07 2e ... - ret ; 05fa 22 " -; -X05fb: mov r5,rb0r7 ; 05fb ad 07 -. - mov a,r5 ; 05fd ed m - jnb acc.6,X0605 ; 05fe 30 e6 04 0f. - setb 25h.7 ; 0601 d2 2f R/ - sjmp X0607 ; 0603 80 02 .. -; -X0605: clr 25h.7 ; 0605 c2 2f B/ -X0607: mov a,r5 ; 0607 ed m - jnb acc.5,X0610 ; 0608 30 e5 05 0e. - lcall X2ead ; 060b 12 2e ad ..- - sjmp X0613 ; 060e 80 03 .. -; -X0610: lcall X2ee6 ; 0610 12 2e e6 ..f -X0613: mov a,r5 ; 0613 ed m - jnb acc.4,X061c ; 0614 30 e4 05 0d. -X0617: lcall X2e94 ; 0617 12 2e 94 ... - sjmp X061f ; 061a 80 03 .. -; -X061c: lcall X2ef0 ; 061c 12 2e f0 ..p -X061f: mov a,r5 ; 061f ed m - jnb acc.2,X0627 ; 0620 30 e2 04 0b. - setb 24h.7 ; 0623 d2 27 R' - sjmp X0629 ; 0625 80 02 .. -; -X0627: clr 24h.7 ; 0627 c2 27 B' -X0629: mov r7,#2 ; 0629 7f 02 .. - lcall X2b6c ; 062b 12 2b 6c .+l - mov a,r5 ; 062e ed m - jnb acc.1,X0637 ; 062f 30 e1 05 0a. - lcall X2f14 ; 0632 12 2f 14 ./. - sjmp X063a ; 0635 80 03 .. -; -X0637: lcall X2f11 ; 0637 12 2f 11 ./. -X063a: mov a,r5 ; 063a ed m - jnb acc.0,X0669 ; 063b 30 e0 2b 0`+ - lcall X2f3a ; 063e 12 2f 3a ./: - jb 22h.1,X064c ; 0641 20 11 08 .. - setb 22h.1 ; 0644 d2 11 R. - setb 20h.1 ; 0646 d2 01 R. - ret ; 0648 22 " -; - lcall X2f17 ; 0649 12 2f 17 ./. -X064c: ret ; 064c 22 " -; - mov r7,#2 ; 064d 7f 02 .. - lcall X0006 ; 064f 12 00 06 ... - jb p1.4,X0697 ; 0652 20 94 42 .B - mov c,p1.5 ; 0655 a2 95 ". - mov 23h.0,c ; 0657 92 18 .. - inc 2eh ; 0659 05 2e .. - mov a,2eh ; 065b e5 2e e. - cjne a,#1,X0672 ; 065d b4 01 12 4.. - jb 23h.0,X068d ; 0660 20 18 2a .* - setb 20h.7 ; 0663 d2 07 R. - setb 25h.2 ; 0665 d2 2a R* - setb 25h.5 ; 0667 d2 2d R- -X0669: clr p1.6 ; 0669 c2 96 B. - sjmp X0686 ; 066b 80 19 .. -; -X066d: clr a ; 066d e4 d - mov 2eh,a ; 066e f5 2e u. - sjmp X0686 ; 0670 80 14 .. -; -X0672: mov a,2eh ; 0672 e5 2e e. - cjne a,#2bh,X06a6 ; 0674 b4 2b 2f 4+/ - setb 25h.6 ; 0677 d2 2e R. - setb 22h.0 ; 0679 d2 10 R. - clr p1.4 ; 067b c2 94 B. - setb 22h.3 ; 067d d2 13 R. - setb 25h.4 ; 067f d2 2c R, - clr a ; 0681 e4 d - mov 2eh,a ; 0682 f5 2e u. - clr 20h.7 ; 0684 c2 07 B. -X0686: mov a,rb2r0 ; 0686 e5 10 e. - clr c ; 0688 c3 C - rrc a ; 0689 13 . - mov rb2r0,a ; 068a f5 10 u. - mov a,rb2r1 ; 068c e5 11 e. - rrc a ; 068e 13 . - mov rb2r1,a ; 068f f5 11 u. - jnb 23h.0,X0697 ; 0691 30 18 03 0.. - orl rb2r0,#80h ; 0694 43 10 80 C.. -X0697: ret ; 0697 22 " -; -X0698: mov r7,#2 ; 0698 7f 02 .. - lcall X0006 ; 069a 12 00 06 ... - jb p1.6,X06e2 ; 069d 20 96 42 .B - mov c,p1.7 ; 06a0 a2 97 ". - mov 23h.1,c ; 06a2 92 19 .. - inc 2ch ; 06a4 05 2c ., -X06a6: mov a,2ch ; 06a6 e5 2c e, - cjne a,#1,X06bd ; 06a8 b4 01 12 4.. - jb 23h.1,X06d8 ; 06ab 20 19 2a .* - setb 20h.4 ; 06ae d2 04 R. - setb 25h.6 ; 06b0 d2 2e R. - setb 22h.0 ; 06b2 d2 10 R. - clr p1.4 ; 06b4 c2 94 B. - sjmp X06d1 ; 06b6 80 19 .. -; - clr a ; 06b8 e4 d - mov 2ch,a ; 06b9 f5 2c u, - sjmp X06d1 ; 06bb 80 14 .. -; -X06bd: mov a,2ch ; 06bd e5 2c e, - cjne a,#2bh,X06f1 ; 06bf b4 2b 2f 4+/ - setb 25h.2 ; 06c2 d2 2a R* - setb 25h.5 ; 06c4 d2 2d R- - clr p1.6 ; 06c6 c2 96 B. - clr 22h.3 ; 06c8 c2 13 B. - setb 25h.4 ; 06ca d2 2c R, - clr a ; 06cc e4 d - mov 2ch,a ; 06cd f5 2c u, - clr 20h.4 ; 06cf c2 04 B. -X06d1: mov a,rb2r0 ; 06d1 e5 10 e. - clr c ; 06d3 c3 C - rrc a ; 06d4 13 . - mov rb2r0,a ; 06d5 f5 10 u. - mov a,rb2r1 ; 06d7 e5 11 e. - rrc a ; 06d9 13 . - mov rb2r1,a ; 06da f5 11 u. - jnb 23h.1,X06e2 ; 06dc 30 19 03 0.. - orl rb2r0,#80h ; 06df 43 10 80 C.. -X06e2: ret ; 06e2 22 " -; -X06e3: setb 24h.1 ; 06e3 d2 21 R! -X06e5: mov 30h,#0feh ; 06e5 75 30 fe u0~ -X06e8: setb 24h.2 ; 06e8 d2 22 R" - setb 24h.3 ; 06ea d2 23 R# - clr 24h.4 ; 06ec c2 24 B$ -X06ee: setb 25h.2 ; 06ee d2 2a R* - setb 25h.5 ; 06f0 d2 2d R- - clr p1.6 ; 06f2 c2 96 B. - setb 25h.6 ; 06f4 d2 2e R. - setb 22h.0 ; 06f6 d2 10 R. - clr p1.4 ; 06f8 c2 94 B. - mov c,24h.3 ; 06fa a2 23 "# - mov 24h.7,c ; 06fc 92 27 .' - mov r7,#6 ; 06fe 7f 06 .. - lcall X2b6c ; 0700 12 2b 6c .+l - mov c,24h.4 ; 0703 a2 24 "$ - mov 24h.7,c ; 0705 92 27 .' - mov r7,#7 ; 0707 7f 07 .. - lcall X2b6c ; 0709 12 2b 6c .+l - jnb 24h.2,X073b ; 070c 30 22 2c 0", - mov c,24h.1 ; 070f a2 21 "! - mov 24h.5,c ; 0711 92 25 .% - mov 31h,30h ; 0713 85 30 31 .01 - lcall X08bb ; 0716 12 08 bb ..; - sjmp X072b ; 0719 80 10 .. -; - mov c,24h.1 ; 071b a2 21 "! - mov 24h.6,c ; 071d 92 26 .& - mov 32h,30h ; 071f 85 30 32 .02 - lcall X2bf9 ; 0722 12 2b f9 .+y - clr p1.2 ; 0725 c2 92 B. - clr p1.3 ; 0727 c2 93 B. - setb 21h.1 ; 0729 d2 09 R. -X072b: clr 25h.4 ; 072b c2 2c B, - ret ; 072d 22 " -; -X072e: jb 20h.4,X0734 ; 072e 20 04 03 .. - jnb 20h.7,X0778 ; 0731 30 07 44 0.D -X0734: mov r7,#0e8h ; 0734 7f e8 .h - mov r6,#0fdh ; 0736 7e fd ~} - lcall X2c79 ; 0738 12 2c 79 .,y -X073b: jb 20h.4,X0741 ; 073b 20 04 03 .. - jnb 20h.7,X0778 ; 073e 30 07 37 0.7 -X0741: lcall X2e62 ; 0741 12 2e 62 ..b - jnc X073b ; 0744 50 f5 Pu - clr ea ; 0746 c2 af B/ - jb 20h.4,X074e ; 0748 20 04 03 .. - jnb 20h.7,X0774 ; 074b 30 07 26 0.& -X074e: jnb 20h.4,X0755 ; 074e 30 04 04 0.. - clr 27h.7 ; 0751 c2 3f B? - sjmp X0757 ; 0753 80 02 .. -; -X0755: setb 27h.7 ; 0755 d2 3f R? -X0757: clr a ; 0757 e4 d - mov 2ch,a ; 0758 f5 2c u, - clr 20h.4 ; 075a c2 04 B. - mov 2eh,a ; 075c f5 2e u. - clr 20h.7 ; 075e c2 07 B. - lcall X2eeb ; 0760 12 2e eb ..k - lcall X2e80 ; 0763 12 2e 80 ... - setb ea ; 0766 d2 af R/ - mov c,27h.7 ; 0768 a2 3f "? - mov 24h.1,c ; 076a 92 21 .! - mov 30h,#0ffh ; 076c 75 30 ff u0. - lcall X06e8 ; 076f 12 06 e8 ..h - sjmp X073b ; 0772 80 c7 .G -; -X0774: setb ea ; 0774 d2 af R/ - sjmp X073b ; 0776 80 c3 .C -; -X0778: ret ; 0778 22 " -; -X0779: mov a,rb3r1 ; 0779 e5 19 e. - jz X0780 ; 077b 60 03 `. - cjne a,#2,X0789 ; 077d b4 02 09 4.. -X0780: mov a,2dh ; 0780 e5 2d e- - mov dptr,#X0363 ; 0782 90 03 63 ..c - movc a,@a+dptr ; 0785 93 . - xrl a,r7 ; 0786 6f o - jz X07b4 ; 0787 60 2b `+ -X0789: mov a,rb3r1 ; 0789 e5 19 e. - xrl a,#1 ; 078b 64 01 d. - jnz X07bc ; 078d 70 2d p- - mov a,r7 ; 078f ef o - xrl a,#0f0h ; 0790 64 f0 dp - jnz X07bc ; 0792 70 28 p( - inc rb3r1 ; 0794 05 19 .. - mov a,rb3r1 ; 0796 e5 19 e. - setb c ; 0798 d3 S - subb a,#2 ; 0799 94 02 .. - jc X07c1 ; 079b 40 24 @$ - clr a ; 079d e4 d - mov rb3r1,a ; 079e f5 19 u. - inc 2dh ; 07a0 05 2d .- - mov a,2dh ; 07a2 e5 2d e- - subb a,#9 ; 07a4 94 09 .. - jc X07c1 ; 07a6 40 19 @. - mov 2ah,#5 ; 07a8 75 2a 05 u*. -X07ab: clr a ; 07ab e4 d - mov r7,a ; 07ac ff . - lcall X2c3b ; 07ad 12 2c 3b .,; - mov r7,#7 ; 07b0 7f 07 .. - lcall X2c3b ; 07b2 12 2c 3b .,; - djnz 2ah,X07ab ; 07b5 d5 2a f3 U*s - clr a ; 07b8 e4 d - mov 2dh,a ; 07b9 f5 2d u- - ret ; 07bb 22 " -; -X07bc: clr a ; 07bc e4 d - mov 2dh,a ; 07bd f5 2d u- - mov rb3r1,a ; 07bf f5 19 u. -X07c1: ret ; 07c1 22 " -; -X07c2: mov a,3bh ; 07c2 e5 3b e; - xrl a,#15h ; 07c4 64 15 d. - jnz X0809 ; 07c6 70 41 pA - lcall X2ced ; 07c8 12 2c ed .,m - mov a,3ah ; 07cb e5 3a e: - jnb acc.0,X07d5 ; 07cd 30 e0 05 0`. - mov 26h,#80h ; 07d0 75 26 80 u&. - sjmp X07d8 ; 07d3 80 03 .. -; -X07d5: clr a ; 07d5 e4 d - mov 26h,a ; 07d6 f5 26 u& -X07d8: mov a,3ah ; 07d8 e5 3a e: - clr c ; 07da c3 C - rrc a ; 07db 13 . - mov 3ah,a ; 07dc f5 3a u: - mov a,39h ; 07de e5 39 e9 - jnb acc.0,X07e6 ; 07e0 30 e0 03 0`. - orl 3ah,#80h ; 07e3 43 3a 80 C:. -X07e6: mov a,39h ; 07e6 e5 39 e9 - clr c ; 07e8 c3 C - rrc a ; 07e9 13 . - mov 39h,a ; 07ea f5 39 u9 - mov a,38h ; 07ec e5 38 e8 - jnb acc.0,X07f4 ; 07ee 30 e0 03 0`. - orl 39h,#80h ; 07f1 43 39 80 C9. -X07f4: clr wr ; 07f4 c2 b6 B6 - mov dptr,#Xd001 ; 07f6 90 d0 01 .P. - clr a ; 07f9 e4 d - movx @dptr,a ; 07fa f0 p - inc dptr ; 07fb a3 # - mov a,26h ; 07fc e5 26 e& - movx @dptr,a ; 07fe f0 p - inc dptr ; 07ff a3 # - mov a,3ah ; 0800 e5 3a e: - movx @dptr,a ; 0802 f0 p - inc dptr ; 0803 a3 # - mov a,39h ; 0804 e5 39 e9 - movx @dptr,a ; 0806 f0 p - setb wr ; 0807 d2 b6 R6 -X0809: ret ; 0809 22 " -; - jb p1.4,X0844 ; 080a 20 94 37 .7 - inc 2eh ; 080d 05 2e .. - mov a,2eh ; 080f e5 2e e. - setb c ; 0811 d3 S - subb a,#8 ; 0812 94 08 .. - jnc X0828 ; 0814 50 12 P. - mov a,rb1r0 ; 0816 e5 08 e. - jnb acc.0,X081f ; 0818 30 e0 04 0`. - setb p1.5 ; 081b d2 95 R. - sjmp X0821 ; 081d 80 02 .. -; -X081f: clr p1.5 ; 081f c2 95 B. -X0821: mov a,rb1r0 ; 0821 e5 08 e. - clr c ; 0823 c3 C - rrc a ; 0824 13 . - mov rb1r0,a ; 0825 f5 08 u. - ret ; 0827 22 " -; -X0828: mov a,2eh ; 0828 e5 2e e. -X082a: cjne a,#9,X0832 ; 082a b4 09 05 4.. -X082d: mov c,22h.4 ; 082d a2 14 ". - mov p1.5,c ; 082f 92 95 .. - ret ; 0831 22 " -; -X0832: mov a,2eh ; 0832 e5 2e e. -X0834: cjne a,#2ah,X083a ; 0834 b4 2a 03 4*. - setb p1.5 ; 0837 d2 95 R. - ret ; 0839 22 " -; -X083a: mov a,2eh ; 083a e5 2e e. - cjne a,#2bh,X0844 ; 083c b4 2b 05 4+. - clr 22h.6 ; 083f c2 16 B. - clr a ; 0841 e4 d - mov 2eh,a ; 0842 f5 2e u. -X0844: ret ; 0844 22 " -; -X0845: jb p1.6,X087f ; 0845 20 96 37 .7 - inc 2ch ; 0848 05 2c ., - mov a,2ch ; 084a e5 2c e, - setb c ; 084c d3 S - subb a,#8 ; 084d 94 08 .. - jnc X0863 ; 084f 50 12 P. - mov a,rb1r0 ; 0851 e5 08 e. - jnb acc.0,X085a ; 0853 30 e0 04 0`. - setb p1.7 ; 0856 d2 97 R. - sjmp X085c ; 0858 80 02 .. -; -X085a: clr p1.7 ; 085a c2 97 B. -X085c: mov a,rb1r0 ; 085c e5 08 e. - clr c ; 085e c3 C - rrc a ; 085f 13 . - mov rb1r0,a ; 0860 f5 08 u. - ret ; 0862 22 " -; -X0863: mov a,2ch ; 0863 e5 2c e, - cjne a,#9,X086d ; 0865 b4 09 05 4.. - mov c,22h.4 ; 0868 a2 14 ". - mov p1.7,c ; 086a 92 97 .. - ret ; 086c 22 " -; -X086d: mov a,2ch ; 086d e5 2c e, - cjne a,#2ah,X0875 ; 086f b4 2a 03 4*. - setb p1.7 ; 0872 d2 97 R. - ret ; 0874 22 " -; -X0875: mov a,2ch ; 0875 e5 2c e, - cjne a,#2bh,X087f ; 0877 b4 2b 05 4+. - clr 22h.6 ; 087a c2 16 B. - clr a ; 087c e4 d - mov 2ch,a ; 087d f5 2c u, -X087f: ret ; 087f 22 " -; - ajmp X082c ; 0880 01 2c ., -; - org 883h -; - ajmp X0e04 ; 0883 c1 04 A. -; - ajmp X0e2a ; 0885 c1 2a A* -; - ajmp X0e83 ; 0887 c1 83 A. -; - ajmp X0e2c ; 0889 c1 2c A, -; - ajmp X0e09 ; 088b c1 09 A. -; - ajmp X0e02 ; 088d c1 02 A. -; - ajmp X0e16 ; 088f c1 16 A. -; - ajmp X0e08 ; 0891 c1 08 A. -; - ajmp X082e ; 0893 01 2e .. -; - org 896h -; - ajmp X0e07 ; 0896 c1 07 A. -; - ajmp X0e2e ; 0898 c1 2e A. -; - ajmp X0e85 ; 089a c1 85 A. -; - ajmp X0eab ; 089c c1 ab A+ -; - ajmp X0e86 ; 089e c1 86 A. -; - ajmp X0eaf ; 08a0 c1 af A/ -; - ajmp X0e12 ; 08a2 c1 12 A. -; - ajmp X0e00 ; 08a4 c1 00 A. -; - ajmp X0e11 ; 08a6 c1 11 A. -; - ajmp X0e01 ; 08a8 c1 01 A. -; - ajmp X0e17 ; 08aa c1 17 A. -; - ajmp X082d ; 08ac 01 2d .- -; - org 8afh -; - ajmp X0819 ; 08af 01 19 .. -; - org 8b2h -; - ajmp X083a ; 08b2 01 3a .: -; - org 8b5h -; - ajmp X0834 ; 08b5 01 34 .4 -; - rr a ; 08b7 03 . - ajmp X0e29 ; 08b8 c1 29 A) -; - org 8bbh -; -X08bb: mov c,24h.5 ; 08bb a2 25 "% - mov 24h.6,c ; 08bd 92 26 .& - mov 32h,31h ; 08bf 85 31 32 .12 - lcall X2bf9 ; 08c2 12 2b f9 .+y - clr p1.2 ; 08c5 c2 92 B. - clr p1.3 ; 08c7 c2 93 B. - jb 24h.5,X08cf ; 08c9 20 25 03 %. - jb 20h.6,X08d5 ; 08cc 20 06 06 .. -X08cf: jnb 24h.5,X090f ; 08cf 30 25 3d 0%= - jnb 25h.3,X090f ; 08d2 30 2b 3a 0+: -X08d5: mov r7,#69h ; 08d5 7f 69 .i - mov r6,#0 ; 08d7 7e 00 ~. - lcall X2c79 ; 08d9 12 2c 79 .,y -X08dc: lcall X2e62 ; 08dc 12 2e 62 ..b - jnc X08dc ; 08df 50 fb P{ - lcall X2eb0 ; 08e1 12 2e b0 ..0 - jnc X08ef ; 08e4 50 09 P. - jb 24h.5,X08ed ; 08e6 20 25 04 %. - setb p1.2 ; 08e9 d2 92 R. - sjmp X08ef ; 08eb 80 02 .. -; -X08ed: setb p1.3 ; 08ed d2 93 R. -X08ef: setb 21h.1 ; 08ef d2 09 R. - ret ; 08f1 22 " -; -X08f2: mov dptr,#X2ffc ; 08f2 90 2f fc ./| - clr a ; 08f5 e4 d - movc a,@a+dptr ; 08f6 93 . - mov r6,a ; 08f7 fe ~ - mov a,#1 ; 08f8 74 01 t. - movc a,@a+dptr ; 08fa 93 . - mov r7,a ; 08fb ff . - clr c ; 08fc c3 C - subb a,3ah ; 08fd 95 3a .: - mov 2bh,a ; 08ff f5 2b u+ - mov a,r6 ; 0901 ee n - subb a,39h ; 0902 95 39 .9 - mov 2ah,a ; 0904 f5 2a u* - mov dptr,#X2ffb ; 0906 90 2f fb ./{ - clr a ; 0909 e4 d - movc a,@a+dptr ; 090a 93 . - clr c ; 090b c3 C - subb a,38h ; 090c 95 38 .8 - mov rb1r1,a ; 090e f5 09 u. - clr c ; 0910 c3 C - mov a,r7 ; 0911 ef o - subb a,3ah ; 0912 95 3a .: - mov a,r6 ; 0914 ee n - subb a,39h ; 0915 95 39 .9 - jnc X091b ; 0917 50 02 P. - dec rb1r1 ; 0919 15 09 .. -X091b: mov a,rb1r1 ; 091b e5 09 e. - jnb acc.7,X0927 ; 091d 30 e7 07 0g. - clr a ; 0920 e4 d - mov rb1r1,a ; 0921 f5 09 u. - mov 2ah,a ; 0923 f5 2a u* - mov 2bh,a ; 0925 f5 2b u+ -X0927: ret ; 0927 22 " -; -X0928: inc 35h ; 0928 05 35 .5 - mov r7,35h ; 092a af 35 /5 - mov r6,rb0r7 ; 092c ae 07 .. - mov a,r6 ; 092e ee n - dec a ; 092f 14 . - rrc a ; 0930 13 . - rrc a ; 0931 13 . - rrc a ; 0932 13 . - anl a,#3fh ; 0933 54 3f T? - mov r5,a ; 0935 fd } - mov a,r6 ; 0936 ee n - anl a,#7 ; 0937 54 07 T. - mov r7,a ; 0939 ff . - jnz X0942 ; 093a 70 06 p. - mov 26h,a ; 093c f5 26 u& - mov 27h,a ; 093e f5 27 u' - sjmp X0957 ; 0940 80 15 .. -; -X0942: mov a,#0ffh ; 0942 74 ff t. - mov r6,#0 ; 0944 7e 00 ~. - mov r0,rb0r7 ; 0946 a8 07 (. - inc r0 ; 0948 08 . - sjmp X0951 ; 0949 80 06 .. -; -X094b: mov a,r6 ; 094b ee n - mov c,acc.7 ; 094c a2 e7 "g - rrc a ; 094e 13 . - mov a,r6 ; 094f ee n - rrc a ; 0950 13 . -X0951: djnz r0,X094b ; 0951 d8 f8 Xx - mov 27h,a ; 0953 f5 27 u' - mov r6,26h ; 0955 ae 26 .& -X0957: mov r7,rb0r5 ; 0957 af 05 /. - mov r5,27h ; 0959 ad 27 -' - ljmp X2c7a ; 095b 02 2c 7a .,z -; - clr a ; 095e e4 d - mov r7,a ; 095f ff . - mov r6,#1 ; 0960 7e 01 ~. -X0962: mov a,r7 ; 0962 ef o - clr c ; 0963 c3 C - subb a,#8 ; 0964 94 08 .. - jnc X098f ; 0966 50 27 P' - mov a,r7 ; 0968 ef o - jz X09a8 ; 0969 60 3d `= - xrl a,#1 ; 096b 64 01 d. - jz X0988 ; 096d 60 19 `. - mov a,r7 ; 096f ef o - xrl a,#3 ; 0970 64 03 d. - jz X0988 ; 0972 60 14 `. - mov a,r6 ; 0974 ee n - orl a,#2 ; 0975 44 02 D. - anl a,#0feh ; 0977 54 fe T~ - mov dptr,#Xe000 ; 0979 90 e0 00 .`. - movx @dptr,a ; 097c f0 p - anl a,#0f4h ; 097d 54 f4 Tt - mov r5,a ; 097f fd } - mov a,r6 ; 0980 ee n - anl a,#0f4h ; 0981 54 f4 Tt - xrl a,r5 ; 0983 6d m - jz X0988 ; 0984 60 02 `. - setb c ; 0986 d3 S - ret ; 0987 22 " -; -X0988: add a,r7 ; 0988 2f / - mov a,r6 ; 0989 ee n - add a,acc ; 098a 25 e0 %` - mov r6,a ; 098c fe ~ - sjmp X0962 ; 098d 80 d3 .S -; -X098f: clr c ; 098f c3 C - ret ; 0990 22 " -; -X0991: mov r5,rb0r7 ; 0991 ad 07 -. - mov r4,rb0r6 ; 0993 ac 06 ,. - mov a,r5 ; 0995 ed m - add a,#0ffh ; 0996 24 ff $. - mov r7,a ; 0998 ff . - mov a,r4 ; 0999 ec l - addc a,#0ffh ; 099a 34 ff 4. - mov r6,a ; 099c fe ~ - mov a,r7 ; 099d ef o - mov r0,#3 ; 099e 78 03 x. -X09a0: mov a,r6 ; 09a0 ee n - clr c ; 09a1 c3 C - rrc a ; 09a2 13 . - mov a,r6 ; 09a3 ee n - rrc a ; 09a4 13 . - djnz r0,X09a0 ; 09a5 d8 f9 Xy - mov r7,a ; 09a7 ff . -X09a8: mov a,r5 ; 09a8 ed m - anl a,#7 ; 09a9 54 07 T. - mov r5,a ; 09ab fd } - jnz X09b2 ; 09ac 70 04 p. - mov 26h,a ; 09ae f5 26 u& - sjmp X09df ; 09b0 80 2d .- -; -X09b2: mov a,#0ffh ; 09b2 74 ff t. - mov r0,rb0r5 ; 09b4 a8 05 (. - inc r0 ; 09b6 08 . - sjmp X09bb ; 09b7 80 02 .. -; -X09b9: clr c ; 09b9 c3 C - rrc a ; 09ba 13 . -X09bb: djnz r0,X09b9 ; 09bb d8 fc X| - mov 26h,a ; 09bd f5 26 u& - mov r5,26h ; 09bf ad 26 -& - ljmp X2aad ; 09c1 02 2a ad .*- -; -X09c4: clr 25h.0 ; 09c4 c2 28 B( - jb 25h.1,X09f8 ; 09c6 20 29 2f )/ - lcall X2f2d ; 09c9 12 2f 2d ./- - mov r7,3bh ; 09cc af 3b /; - mov a,3bh ; 09ce e5 3b e; - cjne a,#15h,X09d6 ; 09d0 b4 15 03 4.. - mov 34h,#3fh ; 09d3 75 34 3f u4? -X09d6: setb 25h.1 ; 09d6 d2 29 R) - lcall X2a56 ; 09d8 12 2a 56 .*V - mov r7,35h ; 09db af 35 /5 - mov a,35h ; 09dd e5 35 e5 -X09df: jnb acc.0,X0a0e ; 09df 30 e0 2c 0`, - lcall X2d7d ; 09e2 12 2d 7d .-} - lcall X0928 ; 09e5 12 09 28 ..( - clr a ; 09e8 e4 d - mov 36h,a ; 09e9 f5 36 u6 - mov 37h,a ; 09eb f5 37 u7 - ret ; 09ed 22 " -; - lcall X0409 ; 09ee 12 04 09 ... - mov r6,36h ; 09f1 ae 36 .6 - mov r7,37h ; 09f3 af 37 /7 - ret ; 09f5 22 " -; -X09f6: jb 25h.7,X09fc ; 09f6 20 2f 03 /. - mov r6,#0 ; 09f9 7e 00 ~. - ret ; 09fb 22 " -; -X09fc: cjne r7,#0f0h,X0a06 ; 09fc bf f0 07 ?p. - setb 22h.5 ; 09ff d2 15 R. - mov r6,#0ffh ; 0a01 7e ff ~. - mov r7,#0ffh ; 0a03 7f ff .. - ret ; 0a05 22 " -; -X0a06: mov a,r7 ; 0a06 ef o - clr c ; 0a07 c3 C - subb a,#85h ; 0a08 94 85 .. - jc X0a0f ; 0a0a 40 03 @. - mov r6,#0 ; 0a0c 7e 00 ~. -X0a0e: ret ; 0a0e 22 " -; -X0a0f: mov a,r7 ; 0a0f ef o - mov dptr,#X02ee ; 0a10 90 02 ee ..n - movc a,@a+dptr ; 0a13 93 . - mov r6,a ; 0a14 fe ~ - jnz X0a19 ; 0a15 70 02 p. - mov r6,a ; 0a17 fe ~ - ret ; 0a18 22 " -; -X0a19: jnb 22h.5,X0a1f ; 0a19 30 15 03 0.. - orl rb0r6,#80h ; 0a1c 43 06 80 C.. -X0a1f: clr 22h.5 ; 0a1f c2 15 B. - mov r7,rb0r6 ; 0a21 af 06 /. - mov r6,#0 ; 0a23 7e 00 ~. - ret ; 0a25 22 " -; - mov c,27h.2 ; 0a26 a2 3a ": - mov 25h.0,c ; 0a28 92 28 .( - inc 37h ; 0a2a 05 37 .7 - mov a,37h ; 0a2c e5 37 e7 - jnz X0a32 ; 0a2e 70 02 p. - inc 36h ; 0a30 05 36 .6 -X0a32: clr c ; 0a32 c3 C - mov a,36h ; 0a33 e5 36 e6 - subb a,#80h ; 0a35 94 80 .. - jnc X0a40 ; 0a37 50 07 P. - mov r7,37h ; 0a39 af 37 /7 - mov r6,36h ; 0a3b ae 36 .6 - ljmp X0991 ; 0a3d 02 09 91 ... -; -X0a40: mov a,35h ; 0a40 e5 35 e5 - clr c ; 0a42 c3 C - subb a,#10h ; 0a43 94 10 .. - jnc X0a75 ; 0a45 50 2e P. - lcall X0928 ; 0a47 12 09 28 ..( - lcall X2d7d ; 0a4a 12 2d 7d .-} - lcall X0928 ; 0a4d 12 09 28 ..( - clr a ; 0a50 e4 d - mov 36h,a ; 0a51 f5 36 u6 - mov 37h,a ; 0a53 f5 37 u7 - ret ; 0a55 22 " -; - clr a ; 0a56 e4 d - mov r7,a ; 0a57 ff . - lcall X2e23 ; 0a58 12 2e 23 ..# - mov r6,#0ffh ; 0a5b 7e ff ~. - clr a ; 0a5d e4 d - mov 26h,a ; 0a5e f5 26 u& -X0a60: mov a,26h ; 0a60 e5 26 e& - cjne a,#8,X0a6c ; 0a62 b4 08 07 4.. - mov r7,#1 ; 0a65 7f 01 .. - lcall X2e23 ; 0a67 12 2e 23 ..# - mov r6,#0ffh ; 0a6a 7e ff ~. -X0a6c: mov a,r6 ; 0a6c ee n - cjne a,rb0r7,X0a73 ; 0a6d b5 07 03 5.. - mov r7,26h ; 0a70 af 26 /& - ret ; 0a72 22 " -; -X0a73: mov a,r6 ; 0a73 ee n - clr c ; 0a74 c3 C -X0a75: rrc a ; 0a75 13 . - mov r6,a ; 0a76 fe ~ - inc 26h ; 0a77 05 26 .& - mov a,26h ; 0a79 e5 26 e& - setb c ; 0a7b d3 S - subb a,#10h ; 0a7c 94 10 .. - jc X0a60 ; 0a7e 40 e0 @` - mov r7,#0ffh ; 0a80 7f ff .. - ret ; 0a82 22 " -; - clr a ; 0a83 e4 d - mov r7,a ; 0a84 ff . - jnb 25h.7,X0a8a ; 0a85 30 2f 02 0/. - mov r7,#40h ; 0a88 7f 40 .@ -X0a8a: jb 20h.5,X0a90 ; 0a8a 20 05 03 .. - orl rb0r7,#20h ; 0a8d 43 07 20 C. -X0a90: jb 20h.3,X0a96 ; 0a90 20 03 03 .. - orl rb0r7,#10h ; 0a93 43 07 10 C.. -X0a96: mov dptr,#Xe000 ; 0a96 90 e0 00 .`. - movx a,@dptr ; 0a99 e0 ` - jnb acc.2,X0aa0 ; 0a9a 30 e2 03 0b. - orl rb0r7,#4 ; 0a9d 43 07 04 C.. -X0aa0: jnb 25h.3,X0aa6 ; 0aa0 30 2b 03 0+. - orl rb0r7,#2 ; 0aa3 43 07 02 C.. -X0aa6: jnb 20h.6,X0aac ; 0aa6 30 06 03 0.. - orl rb0r7,#1 ; 0aa9 43 07 01 C.. -X0aac: ret ; 0aac 22 " -; - mov r6,27h ; 0aad ae 27 .' - mov r7,28h ; 0aaf af 28 /( - mov r5,29h ; 0ab1 ad 29 -) - lcall X2e74 ; 0ab3 12 2e 74 ..t - mov a,27h ; 0ab6 e5 27 e' - add a,#0d0h ; 0ab8 24 d0 $P - mov 2ah,a ; 0aba f5 2a u* - mov a,28h ; 0abc e5 28 e( - mov 2bh,a ; 0abe f5 2b u+ - lcall X2ea2 ; 0ac0 12 2e a2 .." - mov 2fh,29h ; 0ac3 85 29 2f .)/ - mov r3,2bh ; 0ac6 ab 2b ++ - mov r5,2ah ; 0ac8 ad 2a -* - mov r7,34h ; 0aca af 34 /4 - lcall X2b47 ; 0acc 12 2b 47 .+G - lcall X2ea9 ; 0acf 12 2e a9 ..) - ljmp X2dea ; 0ad2 02 2d ea .-j -; - push acc ; 0ad5 c0 e0 @` - push b ; 0ad7 c0 f0 @p - push psw ; 0ad9 c0 d0 @P - mov psw,#0 ; 0adb 75 d0 00 uP. - push rb0r6 ; 0ade c0 06 @. - push rb0r7 ; 0ae0 c0 07 @. - jb 22h.0,X0b10 ; 0ae2 20 10 2b .+ - jnb 22h.6,X0aed ; 0ae5 30 16 05 0.. - lcall X082a ; 0ae8 12 08 2a ..* - sjmp X0af0 ; 0aeb 80 03 .. -; -X0aed: lcall X066d ; 0aed 12 06 6d ..m -X0af0: pop rb0r7 ; 0af0 d0 07 P. - pop rb0r6 ; 0af2 d0 06 P. - pop psw ; 0af4 d0 d0 PP - pop b ; 0af6 d0 f0 Pp - pop acc ; 0af8 d0 e0 P` - reti ; 0afa 32 2 -; - push acc ; 0afb c0 e0 @` - push b ; 0afd c0 f0 @p - push psw ; 0aff c0 d0 @P - mov psw,#0 ; 0b01 75 d0 00 uP. - push rb0r6 ; 0b04 c0 06 @. - push rb0r7 ; 0b06 c0 07 @. - jb 25h.5,X0b36 ; 0b08 20 2d 2b -+ - jnb 22h.6,X0b13 ; 0b0b 30 16 05 0.. - lcall X0845 ; 0b0e 12 08 45 ..E - sjmp X0b16 ; 0b11 80 03 .. -; -X0b13: lcall X0698 ; 0b13 12 06 98 ... -X0b16: pop rb0r7 ; 0b16 d0 07 P. - pop rb0r6 ; 0b18 d0 06 P. - pop psw ; 0b1a d0 d0 PP - pop b ; 0b1c d0 f0 Pp - pop acc ; 0b1e d0 e0 P` - reti ; 0b20 32 2 -; - pop dph ; 0b21 d0 83 P. - pop dpl ; 0b23 d0 82 P. - mov r0,a ; 0b25 f8 x - clr a ; 0b26 e4 d - movc a,@a+dptr ; 0b27 93 . - jnz X0b3c ; 0b28 70 12 p. - mov a,#1 ; 0b2a 74 01 t. - movc a,@a+dptr ; 0b2c 93 . - jnz X0b5c ; 0b2d 70 2d p- - inc dptr ; 0b2f a3 # - inc dptr ; 0b30 a3 # -X0b31: movc a,@a+dptr ; 0b31 93 . - mov r0,a ; 0b32 f8 x - mov a,#1 ; 0b33 74 01 t. - movc a,@a+dptr ; 0b35 93 . -X0b36: mov dpl,a ; 0b36 f5 82 u. - mov dph,r0 ; 0b38 88 83 .. - clr a ; 0b3a e4 d - jmp @a+dptr ; 0b3b 73 s -; -X0b3c: mov a,#2 ; 0b3c 74 02 t. - movc a,@a+dptr ; 0b3e 93 . - xrl a,r0 ; 0b3f 68 h - jz X0b31 ; 0b40 60 ef `o - inc dptr ; 0b42 a3 # - inc dptr ; 0b43 a3 # - inc dptr ; 0b44 a3 # - sjmp X0b46 ; 0b45 80 ff .. -; - mov r6,rb0r3 ; 0b47 ae 03 .. - mov r3,rb0r5 ; 0b49 ab 05 +. - anl 3ah,#0efh ; 0b4b 53 3a ef S:o - mov dptr,#Xd000 ; 0b4e 90 d0 00 .P. - mov a,3ah ; 0b51 e5 3a e: - movx @dptr,a ; 0b53 f0 p - mov r5,rb0r7 ; 0b54 ad 07 -. - mov r6,33h ; 0b56 ae 33 .3 - mov r7,#2 ; 0b58 7f 02 .. - lcall X2d51 ; 0b5a 12 2d 51 .-Q - mov r7,2fh ; 0b5d af 2f // - lcall X2cd0 ; 0b5f 12 2c d0 .,P - orl 3ah,#10h ; 0b62 43 3a 10 C:. - mov dptr,#Xd000 ; 0b65 90 d0 00 .P. - mov a,3ah ; 0b68 e5 3a e: - movx @dptr,a ; 0b6a f0 p - ret ; 0b6b 22 " -; - mov a,#1 ; 0b6c 74 01 t. - mov r0,rb0r7 ; 0b6e a8 07 (. - inc r0 ; 0b70 08 . - sjmp X0b75 ; 0b71 80 02 .. -; -X0b73: clr c ; 0b73 c3 C - rlc a ; 0b74 33 3 -X0b75: djnz r0,X0b73 ; 0b75 d8 fc X| - mov r7,a ; 0b77 ff . - mov dptr,#Xe000 ; 0b78 90 e0 00 .`. - movx a,@dptr ; 0b7b e0 ` - orl a,#2 ; 0b7c 44 02 D. - mov r6,a ; 0b7e fe ~ - mov a,r7 ; 0b7f ef o - jnb 24h.7,X0b87 ; 0b80 30 27 04 0'. - orl rb0r6,a ; 0b83 42 06 B. - sjmp X0b8a ; 0b85 80 03 .. -; -X0b87: cpl a ; 0b87 f4 t - anl rb0r6,a ; 0b88 52 06 R. -X0b8a: mov dptr,#Xe000 ; 0b8a 90 e0 00 .`. - mov a,r6 ; 0b8d ee n - movx @dptr,a ; 0b8e f0 p - ret ; 0b8f 22 " -; -X0b90: lcall X2e07 ; 0b90 12 2e 07 ... - jc X0b9a ; 0b93 40 05 @. - lcall X0105 ; 0b95 12 01 05 ... - sjmp X0b90 ; 0b98 80 f6 .v -; -X0b9a: lcall X2ec8 ; 0b9a 12 2e c8 ..H - lcall X2ed4 ; 0b9d 12 2e d4 ..T - clr 27h.7 ; 0ba0 c2 3f B? - mov 2fh,#0eeh ; 0ba2 75 2f ee u/n - mov c,20h.6 ; 0ba5 a2 06 ". - mov 24h.0,c ; 0ba7 92 20 . - lcall X2db8 ; 0ba9 12 2d b8 .-8 -X0bac: mov dptr,#Xd000 ; 0bac 90 d0 00 .P. - movx a,@dptr ; 0baf e0 ` - jnb acc.1,X0bac ; 0bb0 30 e1 f9 0ay - ret ; 0bb3 22 " -; - mov r6,rb0r3 ; 0bb4 ae 03 .. - mov r3,rb0r5 ; 0bb6 ab 05 +. - anl 3ah,#0efh ; 0bb8 53 3a ef S:o - mov dptr,#Xd000 ; 0bbb 90 d0 00 .P. - mov a,3ah ; 0bbe e5 3a e: - movx @dptr,a ; 0bc0 f0 p - mov r5,rb0r7 ; 0bc1 ad 07 -. - mov r6,33h ; 0bc3 ae 33 .3 - mov r7,#3 ; 0bc5 7f 03 .. - lcall X2d51 ; 0bc7 12 2d 51 .-Q - lcall X2bd7 ; 0bca 12 2b d7 .+W - orl 3ah,#10h ; 0bcd 43 3a 10 C:. - mov dptr,#Xd000 ; 0bd0 90 d0 00 .P. - mov a,3ah ; 0bd3 e5 3a e: - movx @dptr,a ; 0bd5 f0 p - ret ; 0bd6 22 " -; - mov a,3ah ; 0bd7 e5 3a e: - anl a,#0bfh ; 0bd9 54 bf T? - mov r5,a ; 0bdb fd } - orl a,#20h ; 0bdc 44 20 D - mov r6,a ; 0bde fe ~ - mov r4,#8 ; 0bdf 7c 08 |. - mov a,r7 ; 0be1 ef o - add a,acc ; 0be2 25 e0 %` - mov r7,a ; 0be4 ff . - mov dptr,#Xd000 ; 0be5 90 d0 00 .P. - mov a,r5 ; 0be8 ed m - movx @dptr,a ; 0be9 f0 p - movx a,@dptr ; 0bea e0 ` - jnb acc.4,X0bf1 ; 0beb 30 e4 03 0d. - orl rb0r7,#1 ; 0bee 43 07 01 C.. -X0bf1: mov dptr,#Xd000 ; 0bf1 90 d0 00 .P. - mov a,r6 ; 0bf4 ee n - movx @dptr,a ; 0bf5 f0 p - mov r4,a ; 0bf6 fc | - mov a,r1 ; 0bf7 e9 i - ret ; 0bf8 22 " -; - mov dptr,#Xf000 ; 0bf9 90 f0 00 .p. - mov a,32h ; 0bfc e5 32 e2 - movx @dptr,a ; 0bfe f0 p - mov 2fh,a ; 0bff f5 2f u/ - mov c,24h.6 ; 0c01 a2 26 "& - mov 24h.7,c ; 0c03 92 27 .' - mov r7,#5 ; 0c05 7f 05 .. - lcall X2b6c ; 0c07 12 2b 6c .+l - mov dptr,#Xe000 ; 0c0a 90 e0 00 .`. - movx a,@dptr ; 0c0d e0 ` - orl a,#2 ; 0c0e 44 02 D. - anl a,#0feh ; 0c10 54 fe T~ - mov r6,a ; 0c12 fe ~ - movx @dptr,a ; 0c13 f0 p - orl a,#1 ; 0c14 44 01 D. - movx @dptr,a ; 0c16 f0 p - mov a,r6 ; 0c17 ee n - movx @dptr,a ; 0c18 f0 p - ret ; 0c19 22 " -; - anl 3ah,#0efh ; 0c1a 53 3a ef S:o - mov dptr,#Xd000 ; 0c1d 90 d0 00 .P. - mov a,3ah ; 0c20 e5 3a e: - movx @dptr,a ; 0c22 f0 p - mov r7,#0bfh ; 0c23 7f bf .? - lcall X2cd0 ; 0c25 12 2c d0 .,P - lcall X2bd7 ; 0c28 12 2b d7 .+W - lcall X2bd7 ; 0c2b 12 2b d7 .+W - lcall X2bd7 ; 0c2e 12 2b d7 .+W - orl 3ah,#10h ; 0c31 43 3a 10 C:. - mov dptr,#Xd000 ; 0c34 90 d0 00 .P. - mov a,3ah ; 0c37 e5 3a e: - movx @dptr,a ; 0c39 f0 p - ret ; 0c3a 22 " -; - mov r7,2bh ; 0c3b af 2b /+ - mov r7,#0edh ; 0c3d 7f ed .m - lcall X052f ; 0c3f 12 05 2f ../ - mov r7,2bh ; 0c42 af 2b /+ - lcall X052f ; 0c44 12 05 2f ../ - mov 2ch,#2ah ; 0c47 75 2c 2a u,* -X0c4a: mov r7,#0e8h ; 0c4a 7f e8 .h - mov r6,#0fdh ; 0c4c 7e fd ~} - lcall X2c79 ; 0c4e 12 2c 79 .,y -X0c51: lcall X2e62 ; 0c51 12 2e 62 ..b - jnc X0c51 ; 0c54 50 fb P{ - djnz 2ch,X0c4a ; 0c56 d5 2c f1 U,q - ret ; 0c59 22 " -; - mov r7,28h ; 0c5a af 28 /( - mov r5,29h ; 0c5c ad 29 -) - lcall X2e74 ; 0c5e 12 2e 74 ..t - lcall X2ea2 ; 0c61 12 2e a2 .." - mov a,28h ; 0c64 e5 28 e( - add a,#0feh ; 0c66 24 fe $~ - mov r3,a ; 0c68 fb { - mov 2fh,29h ; 0c69 85 29 2f .)/ - mov r5,#0efh ; 0c6c 7d ef }o - mov r7,34h ; 0c6e af 34 /4 - lcall X2b47 ; 0c70 12 2b 47 .+G - lcall X2ea9 ; 0c73 12 2e a9 ..) - ljmp X2dea ; 0c76 02 2d ea .-j -; - mov r5,rb0r7 ; 0c79 ad 07 -. - mov r4,rb0r6 ; 0c7b ac 06 ,. - clr es ; 0c7d c2 ac B, - mov a,r5 ; 0c7f ed m - cpl a ; 0c80 f4 t - mov r7,a ; 0c81 ff . - mov a,r4 ; 0c82 ec l - cpl a ; 0c83 f4 t - mov r6,a ; 0c84 fe ~ - mov a,r7 ; 0c85 ef o - add a,#1 ; 0c86 24 01 $. - mov r5,a ; 0c88 fd } - clr a ; 0c89 e4 d - addc a,r6 ; 0c8a 3e > - mov ctl0,a ; 0c8b f5 ac u, - mov r7,rb0r5 ; 0c8d af 05 /. - mov r7,cml1 ; 0c8f af aa /* - clr ie.5 ; 0c91 c2 ad B- - setb es ; 0c93 d2 ac R, - ret ; 0c95 22 " -; - mov r5,rb0r7 ; 0c96 ad 07 -. - mov r4,rb0r6 ; 0c98 ac 06 ,. - clr idsm ; 0c9a c2 ea Bj - mov a,r5 ; 0c9c ed m - cpl a ; 0c9d f4 t - mov r7,a ; 0c9e ff . - mov a,r4 ; 0c9f ec l - cpl a ; 0ca0 f4 t - mov r6,a ; 0ca1 fe ~ - mov a,r7 ; 0ca2 ef o - add a,#1 ; 0ca3 24 01 $. - mov r5,a ; 0ca5 fd } - clr a ; 0ca6 e4 d - addc a,r6 ; 0ca7 3e > - mov tmh2,a ; 0ca8 f5 ed um - mov r7,rb0r5 ; 0caa af 05 /. - mov r7,tml2 ; 0cac af ec /l - clr mb1 ; 0cae c2 ef Bo - setb idsm ; 0cb0 d2 ea Rj - ret ; 0cb2 22 " -; - anl 3ah,#0efh ; 0cb3 53 3a ef S:o - mov dptr,#Xd000 ; 0cb6 90 d0 00 .P. - mov a,3ah ; 0cb9 e5 3a e: - movx @dptr,a ; 0cbb f0 p - mov r7,#5 ; 0cbc 7f 05 .. - lcall X2cd0 ; 0cbe 12 2c d0 .,P - lcall X2bd7 ; 0cc1 12 2b d7 .+W - orl 3ah,#10h ; 0cc4 43 3a 10 C:. - mov dptr,#Xd000 ; 0cc7 90 d0 00 .P. - mov a,3ah ; 0cca e5 3a e: - movx @dptr,a ; 0ccc f0 p - mov a,r7 ; 0ccd ef o - rrc a ; 0cce 13 . - ret ; 0ccf 22 " -; - mov a,3ah ; 0cd0 e5 3a e: - anl a,#0bfh ; 0cd2 54 bf T? - mov r6,a ; 0cd4 fe ~ - orl a,#40h ; 0cd5 44 40 D@ - mov r5,a ; 0cd7 fd } - mov r4,#8 ; 0cd8 7c 08 |. - mov dptr,#Xd000 ; 0cda 90 d0 00 .P. - mov a,r7 ; 0cdd ef o - rlc a ; 0cde 33 3 - mov r7,a ; 0cdf ff . - jnc X0ce5 ; 0ce0 50 03 P. - mov a,r5 ; 0ce2 ed m - sjmp X0ce6 ; 0ce3 80 01 .. -; -X0ce5: mov a,r6 ; 0ce5 ee n -X0ce6: movx @dptr,a ; 0ce6 f0 p - orl a,#20h ; 0ce7 44 20 D - movx @dptr,a ; 0ce9 f0 p - mov r4,a ; 0cea fc | - acall X0f22 ; 0ceb f1 22 q" - lcall X2f04 ; 0ced 12 2f 04 ./. - mov r6,39h ; 0cf0 ae 39 .9 - mov r7,3ah ; 0cf2 af 3a /: - lcall X2f3d ; 0cf4 12 2f 3d ./= - mov r7,38h ; 0cf7 af 38 /8 - mov a,38h ; 0cf9 e5 38 e8 - jnb acc.1,X0d01 ; 0cfb 30 e1 03 0a. - orl 39h,#80h ; 0cfe 43 39 80 C9. -X0d01: mov a,38h ; 0d01 e5 38 e8 - rrc a ; 0d03 13 . - rrc a ; 0d04 13 . - anl a,#3fh ; 0d05 54 3f T? - mov 38h,a ; 0d07 f5 38 u8 - ret ; 0d09 22 " -; - anl 3ah,#0efh ; 0d0a 53 3a ef S:o - mov dptr,#Xd000 ; 0d0d 90 d0 00 .P. - mov a,3ah ; 0d10 e5 3a e: - movx @dptr,a ; 0d12 f0 p - mov r7,#5 ; 0d13 7f 05 .. - lcall X2cd0 ; 0d15 12 2c d0 .,P - lcall X2bd7 ; 0d18 12 2b d7 .+W - orl 3ah,#10h ; 0d1b 43 3a 10 C:. - mov dptr,#Xd000 ; 0d1e 90 d0 00 .P. - mov a,3ah ; 0d21 e5 3a e: - movx @dptr,a ; 0d23 f0 p - ret ; 0d24 22 " -; - lcall X2ec8 ; 0d25 12 2e c8 ..H - lcall X2ed4 ; 0d28 12 2e d4 ..T -X0d2b: mov dptr,#Xd000 ; 0d2b 90 d0 00 .P. - movx a,@dptr ; 0d2e e0 ` - jb acc.1,X0d3a ; 0d2f 20 e1 08 a. - lcall X036c ; 0d32 12 03 6c ..l - lcall X0105 ; 0d35 12 01 05 ... - sjmp X0d2b ; 0d38 80 f1 .q -; -X0d3a: ret ; 0d3a 22 " -; - lcall X2ced ; 0d3b 12 2c ed .,m - lcall X08f2 ; 0d3e 12 08 f2 ..r - mov a,rb1r1 ; 0d41 e5 09 e. - jnz X0d70 ; 0d43 70 2b p+ - mov a,2ah ; 0d45 e5 2a e* - jnz X0d50 ; 0d47 70 07 p. - mov a,2bh ; 0d49 e5 2b e+ - jnz X0d50 ; 0d4b 70 03 p. - lcall X2efa ; 0d4d 12 2e fa ..z -X0d50: ret ; 0d50 22 " -; - mov r5,31h ; 0d51 ad 31 -1 - mov r3,32h ; 0d53 ab 32 +2 - lcall X2cd0 ; 0d55 12 2c d0 .,P - mov r7,31h ; 0d58 af 31 /1 - lcall X2cd0 ; 0d5a 12 2c d0 .,P - mov r7,32h ; 0d5d af 32 /2 - lcall X2cd0 ; 0d5f 12 2c d0 .,P - mov r7,33h ; 0d62 af 33 /3 - ljmp X2cd0 ; 0d64 02 2c d0 .,P -; - anl 3ah,#0efh ; 0d67 53 3a ef S:o - mov dptr,#Xd000 ; 0d6a 90 d0 00 .P. - mov a,3ah ; 0d6d e5 3a e: - movx @dptr,a ; 0d6f f0 p -X0d70: lcall X2cd0 ; 0d70 12 2c d0 .,P - orl 3ah,#10h ; 0d73 43 3a 10 C:. - mov dptr,#Xd000 ; 0d76 90 d0 00 .P. - mov a,3ah ; 0d79 e5 3a e: - movx @dptr,a ; 0d7b f0 p - ret ; 0d7c 22 " -; - lcall X2e74 ; 0d7d 12 2e 74 ..t - lcall X2ea2 ; 0d80 12 2e a2 .." - clr a ; 0d83 e4 d - mov r3,a ; 0d84 fb { - mov r5,#0d0h ; 0d85 7d d0 }P - mov r7,34h ; 0d87 af 34 /4 - lcall X00e0 ; 0d89 12 00 e0 ..` - lcall X2ea9 ; 0d8c 12 2e a9 ..) - ljmp X2dea ; 0d8f 02 2d ea .-j -; - anl 3ah,#0fbh ; 0d92 53 3a fb S:{ - mov dptr,#Xd000 ; 0d95 90 d0 00 .P. - mov a,3ah ; 0d98 e5 3a e: - movx @dptr,a ; 0d9a f0 p - anl 3ah,#0fdh ; 0d9b 53 3a fd S:} - mov a,3ah ; 0d9e e5 3a e: - movx @dptr,a ; 0da0 f0 p - mov r7,#3ch ; 0da1 7f 3c .< - ljmp X0006 ; 0da3 02 00 06 ... -; - jnb 21h.1,X0dd7 ; 0da6 30 09 2e 0.. - lcall X2eb0 ; 0da9 12 2e b0 ..0 - jc X0db7 ; 0dac 40 09 @. - clr p1.2 ; 0dae c2 92 B. - clr p1.3 ; 0db0 c2 93 B. - clr 21h.1 ; 0db2 c2 09 B. - lcall X2e7d ; 0db4 12 2e 7d ..} -X0db7: ret ; 0db7 22 " -; - mov c,27h.7 ; 0db8 a2 3f "? - mov 24h.1,c ; 0dba 92 21 .! - mov 30h,2fh ; 0dbc 85 2f 30 ./0 - mov c,24h.0 ; 0dbf a2 20 " - mov 24h.2,c ; 0dc1 92 22 ." - clr 24h.3 ; 0dc3 c2 23 B# - clr 24h.4 ; 0dc5 c2 24 B$ - ljmp X06ee ; 0dc7 02 06 ee ..n -; - mov a,r7 ; 0dca ef o - swap a ; 0dcb c4 D - anl a,#2fh ; 0dcc 54 2f T/ - mov dptr,#X0353 ; 0dce 90 03 53 ..S - movc a,@a+dptr ; 0dd1 93 . - mov r6,a ; 0dd2 fe ~ - mov a,r7 ; 0dd3 ef o - anl a,#2fh ; 0dd4 54 2f T/ - movc a,@a+dptr ; 0dd6 93 . -X0dd7: add a,r6 ; 0dd7 2e . - mov r7,a ; 0dd8 ff . - ret ; 0dd9 22 " -; - mov dptr,#Xe000 ; 0dda 90 e0 00 .`. - movx a,@dptr ; 0ddd e0 ` - orl a,#2 ; 0dde 44 02 D. - anl a,#0feh ; 0de0 54 fe T~ - mov r6,a ; 0de2 fe ~ - movx @dptr,a ; 0de3 f0 p - anl a,#0fdh ; 0de4 54 fd T} - movx @dptr,a ; 0de6 f0 p - mov a,r6 ; 0de7 ee n - movx @dptr,a ; 0de8 f0 p - ret ; 0de9 22 " -; -X0dea: lcall X2ea2 ; 0dea 12 2e a2 .." - lcall X2cb3 ; 0ded 12 2c b3 .,3 - mov 27h.3,c ; 0df0 92 3b .; - lcall X2ea9 ; 0df2 12 2e a9 ..) - jb 27h.3,X0dea ; 0df5 20 3b f2 ;r - ret ; 0df8 22 " -; - jnb 20h.5,X0e05 ; 0df9 30 05 09 0.. - jb 25h.6,X0e05 ; 0dfc 20 2e 06 .. - jb 20h.2,X0e05 ; 0dff 20 02 03 .. -X0e02: setb c ; 0e02 d3 S - sjmp X0e06 ; 0e03 80 01 .. -; -X0e05: clr c ; 0e05 c3 C -X0e06: ret ; 0e06 22 " -; -X0e07: jnb 20h.3,X0e13 ; 0e07 30 03 09 0.. - jb 25h.2,X0e13 ; 0e0a 20 2a 06 *. - jb 20h.2,X0e13 ; 0e0d 20 02 03 .. - setb c ; 0e10 d3 S -X0e11: sjmp X0e14 ; 0e11 80 01 .. -; -X0e13: clr c ; 0e13 c3 C -X0e14: ret ; 0e14 22 " -; - mov r2,rb0r6 ; 0e15 aa 06 *. -X0e17: mov a,r2 ; 0e17 ea j - add a,#0d0h ; 0e18 24 d0 $P - mov r5,a ; 0e1a fd } - mov a,r7 ; 0e1b ef o - mov r3,a ; 0e1c fb { - mov r7,34h ; 0e1d af 34 /4 - lcall X2bb4 ; 0e1f 12 2b b4 .+4 - ret ; 0e22 22 " -; - mov a,r7 ; 0e23 ef o - add a,#0feh ; 0e24 24 fe $~ - mov r3,a ; 0e26 fb { - mov r5,#0efh ; 0e27 7d ef }o -X0e29: mov r7,34h ; 0e29 af 34 /4 - lcall X2bb4 ; 0e2b 12 2b b4 .+4 -X0e2e: ret ; 0e2e 22 " -; - setb 20h.2 ; 0e2f d2 02 R. - setb 25h.5 ; 0e31 d2 2d R- - clr p1.6 ; 0e33 c2 96 B. - setb 22h.0 ; 0e35 d2 10 R. - clr p1.4 ; 0e37 c2 94 B. - ret ; 0e39 22 " -; - mov a,r7 ; 0e3a ef o - mov dptr,#X02c9 ; 0e3b 90 02 c9 ..I - movc a,@a+dptr ; 0e3e 93 . - xrl a,r5 ; 0e3f 6d m - jz X0e44 ; 0e40 60 02 `. -X0e42: sjmp X0e42 ; 0e42 80 fe .~ -; -X0e44: ret ; 0e44 22 " -; - lcall X2df9 ; 0e45 12 2d f9 .-y - jnc X0e4e ; 0e48 50 04 P. - clr 22h.0 ; 0e4a c2 10 B. - setb p1.4 ; 0e4c d2 94 R. -X0e4e: ret ; 0e4e 22 " -; - lcall X2e07 ; 0e4f 12 2e 07 ... - jnc X0e58 ; 0e52 50 04 P. - clr 25h.5 ; 0e54 c2 2d B- - setb p1.6 ; 0e56 d2 96 R. -X0e58: ret ; 0e58 22 " -; - mov a,tmod ; 0e59 e5 89 e. - anl a,#0f0h ; 0e5b 54 f0 Tp - orl a,#1 ; 0e5d 44 01 D. - mov tmod,a ; 0e5f f5 89 u. - ret ; 0e61 22 " -; - jnb ie.5,X0e69 ; 0e62 30 ad 04 0-. - clr es ; 0e65 c2 ac B, - setb c ; 0e67 d3 S - ret ; 0e68 22 " -; -X0e69: clr c ; 0e69 c3 C - ret ; 0e6a 22 " -; - jnb mb1,X0e72 ; 0e6b 30 ef 04 0o. - clr idsm ; 0e6e c2 ea Bj - setb c ; 0e70 d3 S - ret ; 0e71 22 " -; -X0e72: clr c ; 0e72 c3 C - ret ; 0e73 22 " -; - lcall X2ea2 ; 0e74 12 2e a2 .." - lcall X2efa ; 0e77 12 2e fa ..z - ljmp X2ea9 ; 0e7a 02 2e a9 ..) -; - lcall X2eeb ; 0e7d 12 2e eb ..k - clr 25h.6 ; 0e80 c2 2e B. - ljmp X2e45 ; 0e82 02 2e 45 ..E -; -X0e85: clr 20h.2 ; 0e85 c2 02 B. - lcall X2e6f ; 0e87 12 2e 6f ..o - ljmp X2e45 ; 0e8a 02 2e 45 ..E -; - clr 20h.5 ; 0e8d c2 05 B. - setb 22h.0 ; 0e8f d2 10 R. - clr p1.4 ; 0e91 c2 94 B. - ret ; 0e93 22 " -; - clr 20h.3 ; 0e94 c2 03 B. - setb 25h.5 ; 0e96 d2 2d R- - clr p1.6 ; 0e98 c2 96 B. - ret ; 0e9a 22 " -; - mov dptr,#Xd000 ; 0e9b 90 d0 00 .P. - mov a,3ah ; 0e9e e5 3a e: - movx @dptr,a ; 0ea0 f0 p - ret ; 0ea1 22 " -; - jnb 25h.0,X0ea8 ; 0ea2 30 28 03 0(. - lcall X2b90 ; 0ea5 12 2b 90 .+. -X0ea8: ret ; 0ea8 22 " -; - jnb 25h.0,X0eaf ; 0ea9 30 28 03 0(. - lcall X2d92 ; 0eac 12 2d 92 .-. -X0eaf: ret ; 0eaf 22 " -; - mov dptr,#Xe000 ; 0eb0 90 e0 00 .`. - movx a,@dptr ; 0eb3 e0 ` - rrc a ; 0eb4 13 . - ret ; 0eb5 22 " -; - anl 3ah,#0feh ; 0eb6 53 3a fe S:~ - ljmp X2ebb ; 0eb9 02 2e bb ..; -; - orl 3ah,#1 ; 0ebc 43 3a 01 C:. - ljmp X2ebb ; 0ebf 02 2e bb ..; -; - anl 3ah,#0fdh ; 0ec2 53 3a fd S:} - ljmp X2ebb ; 0ec5 02 2e bb ..; -; - orl 3ah,#2 ; 0ec8 43 3a 02 C:. - ljmp X2ebb ; 0ecb 02 2e bb ..; -; - anl 3ah,#0fbh ; 0ece 53 3a fb S:{ - ljmp X2ebb ; 0ed1 02 2e bb ..; -; - orl 3ah,#4 ; 0ed4 43 3a 04 C:. - ljmp X2ebb ; 0ed7 02 2e bb ..; -; - anl 3ah,#7fh ; 0eda 53 3a 7f S:. - ljmp X2ebb ; 0edd 02 2e bb ..; -; - orl 3ah,#80h ; 0ee0 43 3a 80 C:. - ljmp X2ebb ; 0ee3 02 2e bb ..; -; - setb 20h.5 ; 0ee6 d2 05 R. - ljmp X2e45 ; 0ee8 02 2e 45 ..E -; - clr 25h.2 ; 0eeb c2 2a B* - ljmp X2e6f ; 0eed 02 2e 6f ..o -; - setb 20h.3 ; 0ef0 d2 03 R. - ljmp X2e6f ; 0ef2 02 2e 6f ..o -; - mov r7,3ah ; 0ef5 af 3a /: - ljmp X2ebb ; 0ef7 02 2e bb ..; -; - mov r7,#6 ; 0efa 7f 06 .. - ljmp X2d67 ; 0efc 02 2d 67 .-g -; - mov r7,#4 ; 0eff 7f 04 .. - ljmp X2d67 ; 0f01 02 2d 67 .-g -; - mov r6,36h ; 0f04 ae 36 .6 - mov r7,37h ; 0f06 af 37 /7 - ret ; 0f08 22 " -; - clr a ; 0f09 e4 d - mov t2con,a ; 0f0a f5 c8 uH - ret ; 0f0c 22 " -; - lcall X2c3a ; 0f0d 12 2c 3a .,: - ret ; 0f10 22 " -; - clr 25h.3 ; 0f11 c2 2b B+ - ret ; 0f13 22 " -; - setb 25h.3 ; 0f14 d2 2b R+ - ret ; 0f16 22 " -; - clr 20h.6 ; 0f17 c2 06 B. - ret ; 0f19 22 " -; - setb 20h.6 ; 0f1a d2 06 R. - ret ; 0f1c 22 " -; - mov r7,35h ; 0f1d af 35 /5 - ret ; 0f1f 22 " -; - org 0f22h -; -X0f22: mov r7,a ; 0f22 ff . -; -; Register/Memory Equates -; -rb0r3 equ 3 -rb0r5 equ 5 -rb0r6 equ 6 -rb0r7 equ 7 -rb1r0 equ 8 -rb1r1 equ 9 -rb2r0 equ 10h -rb2r1 equ 11h -rb2r2 equ 12h -rb2r3 equ 13h -rb2r4 equ 14h -rb2r5 equ 15h -rb2r6 equ 16h -rb2r7 equ 17h -rb3r0 equ 18h -rb3r1 equ 19h -; -; Miscellaneous equates -; -; These are addresses referenced in the code but -; which are in the middle of a multibyte instruction -; or are addresses outside the initialized space -; -X0001 equ 1 -X0002 equ 2 -X0091 equ 91h -X00cf equ 0cfh -X0102 equ 102h -X0114 equ 114h -X0196 equ 196h -X019a equ 19ah -X01c3 equ 1c3h -X01dd equ 1ddh -X01e7 equ 1e7h -X0203 equ 203h -X026a equ 26ah -X02c1 equ 2c1h -X02d7 equ 2d7h -X02ee equ 2eeh -X032c equ 32ch -X0360 equ 360h -X036d equ 36dh -X0410 equ 410h -X045c equ 45ch -X0497 equ 497h -X04ea equ 4eah -X04ed equ 4edh -X05b3 equ 5b3h -X068d equ 68dh -X06d8 equ 6d8h -X06f1 equ 6f1h -X07b4 equ 7b4h -X0819 equ 819h -X082c equ 82ch -X082e equ 82eh -X090f equ 90fh -X097e equ 97eh -X09f8 equ 9f8h -X0b10 equ 0b10h -X0b46 equ 0b46h -X0b5c equ 0b5ch -X0e00 equ 0e00h -X0e01 equ 0e01h -X0e04 equ 0e04h -X0e08 equ 0e08h -X0e09 equ 0e09h -X0e12 equ 0e12h -X0e16 equ 0e16h -X0e2a equ 0e2ah -X0e2c equ 0e2ch -X0e83 equ 0e83h -X0e86 equ 0e86h -X0eab equ 0eabh -X2a26 equ 2a26h -X2a56 equ 2a56h -X2aad equ 2aadh -X2ad5 equ 2ad5h -X2afb equ 2afbh -X2b21 equ 2b21h -X2b47 equ 2b47h -X2b6c equ 2b6ch -X2b90 equ 2b90h -X2bb4 equ 2bb4h -X2bd7 equ 2bd7h -X2bf9 equ 2bf9h -X2c3a equ 2c3ah -X2c3b equ 2c3bh -X2c79 equ 2c79h -X2c7a equ 2c7ah -X2cb3 equ 2cb3h -X2cd0 equ 2cd0h -X2ced equ 2cedh -X2d25 equ 2d25h -X2d3b equ 2d3bh -X2d51 equ 2d51h -X2d67 equ 2d67h -X2d7d equ 2d7dh -X2d92 equ 2d92h -X2da6 equ 2da6h -X2db8 equ 2db8h -X2dea equ 2deah -X2df9 equ 2df9h -X2dfa equ 2dfah -X2e07 equ 2e07h -X2e15 equ 2e15h -X2e23 equ 2e23h -X2e2f equ 2e2fh -X2e3a equ 2e3ah -X2e45 equ 2e45h -X2e59 equ 2e59h -X2e62 equ 2e62h -X2e6f equ 2e6fh -X2e74 equ 2e74h -X2e7d equ 2e7dh -X2e80 equ 2e80h -X2e85 equ 2e85h -X2e94 equ 2e94h -X2ea2 equ 2ea2h -X2ea9 equ 2ea9h -X2ead equ 2eadh -X2eb0 equ 2eb0h -X2eb6 equ 2eb6h -X2ebb equ 2ebbh -X2ebc equ 2ebch -X2ec8 equ 2ec8h -X2ed4 equ 2ed4h -X2ee6 equ 2ee6h -X2eeb equ 2eebh -X2ef0 equ 2ef0h -X2ef5 equ 2ef5h -X2efa equ 2efah -X2f04 equ 2f04h -X2f11 equ 2f11h -X2f14 equ 2f14h -X2f17 equ 2f17h -X2f2d equ 2f2dh -X2f3a equ 2f3ah -X2f3d equ 2f3dh -X2ffb equ 2ffbh -X2ffc equ 2ffch -X2ffe equ 2ffeh -X2fff equ 2fffh -X3520 equ 3520h -X41c0 equ 41c0h -X48aa equ 48aah -X56a7 equ 56a7h -X64a9 equ 64a9h -X64ab equ 64abh -X6dad equ 6dadh -X74ae equ 74aeh -X7bd0 equ 7bd0h -X7da8 equ 7da8h -X98fd equ 98fdh -Xa8fe equ 0a8feh -Xadff equ 0adffh -Xb512 equ 0b512h -Xb73f equ 0b73fh -Xb760 equ 0b760h -Xb7d1 equ 0b7d1h -Xb7d2 equ 0b7d2h -Xb7d3 equ 0b7d3h -Xb7d4 equ 0b7d4h -Xb7eb equ 0b7ebh -Xd000 equ 0d000h -Xd001 equ 0d001h -Xe000 equ 0e000h -Xf000 equ 0f000h -; - end -; - diff --git a/site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt b/site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt deleted file mode 100644 index 55cfc7a..0000000 --- a/site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt +++ /dev/null @@ -1,3079 +0,0 @@ -CSEG AT 0000h - LJMP L0001 - - DB 02h - DB 0Ah - DB 0FBh -L0065: - MOV A, R7 - MOV B, #3h - MUL AB - MOV R7, A -L0066: - MOV R6, 7h - DEC R7 - MOV A, R6 - JNZ L0066 - RET - - DB 02h - DB 0Ah - DB 0D5h -L0015: - LCALL L0016 - MOV R7, #30h - LCALL L0017 - MOV DPTR, #0E000h - MOV A, #16h - MOVX @DPTR, A - LCALL L0018 - CLR P1.2 - CLR P1.3 - CLR P1.0 - SETB P1.1 - SETB PX0 - SETB PX1 - SETB IT0 - SETB EX0 - SETB IT1 - SETB EX1 - MOV R5, #44h - CLR A - MOV R7, A - LCALL L0019 - MOV R5, #4Dh - INC R7 - LCALL L0019 - MOV R5, #26h - INC R7 - LCALL L0019 - MOV R5, #50h - INC R7 - LCALL L0019 - LCALL L0020 - SETB EA - MOV R7, #0B1h - LCALL L0021 - MOV DPTR, #0FFEh - CLR A - MOVC A, @A+DPTR - MOV R7, A - CJNE A, #55h, L0022 - INC DPTR - CLR A - MOVC A, @A+DPTR - CJNE A, #0AAh, L0022 - SETB 8h - SJMP L0023 - -L0022: - MOV A, R7 - CJNE A, #12h, L0023 - MOV DPTR, #0FFFh - CLR A - MOVC A, @A+DPTR - CJNE A, #34h, L0023 - CLR 8h - CLR 12h -L0023: - LCALL L0024 - LCALL L0025 - LCALL L0026 - JNB 1h, L0027 - JNB 12h, L0028 - JB 0h, L0028 - JNB 11h, L0028 - LCALL L0029 - LCALL L0030 - JNB 8h, L0031 - CLR 1Ah - LCALL L0032 -L0031: - LCALL L0033 - SETB 0h - LCALL L0034 - LCALL L0035 -L0028: - LCALL L0018 - CLR 1h -L0027: - LCALL L0024 - LCALL L0036 - JNB 12h, L0023 - JNB 0h, L0023 - MOV DPTR, #0D000h - MOVX A, @DPTR - JNB ACC.0, L0023 - CLR EA - LCALL L0037 - JNC L0038 - LCALL L0039 - LCALL L0040 - SETB 1Ah - LCALL L0032 - LCALL L0034 -L0038: - SETB EA - SJMP L0023 - -L0201: - MOV R6, 3h - MOV R3, 5h - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV R5, 7h - MOV 33h, R6 - MOV R7, #20h - LCALL L0188 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - - DB 0DAh - DB 07Eh - DB 010h - DB 09h - DB 014h -L0077: - LCALL L0025 -L0026: - MOV DPTR, #0E000h - MOVX A, @DPTR - MOV R7, A - JB ACC.1, L0078 - LJMP L0079 - -L0078: - CLR EX0 - CLR EX1 - JB 4h, L0080 - JNB 7h, L0081 -L0080: - SETB EX0 - SETB EX1 - RET - -L0081: - MOV A, R7 - MOV C, ACC.3 - MOV 1Ch, C - MOV DPTR, #0F000h - MOVX A, @DPTR - MOV 2Ch, A - LCALL L0082 - SETB EX0 - SETB EX1 - JNB 1Ch, L0083 - LJMP L0084 - -L0083: - CLR 1Dh - CLR 1Eh - JB 17h, L0090 - LJMP L0091 - -L0090: - MOV A, 18h - ADD A, #0E1h - JZ L0147 - ADD A, #54h - JNZ L0148 - LJMP L0149 - -L0148: - ADD A, #0FAh - JZ L0151 - DEC A - JZ L0152 - DEC A - JZ L0153 - DEC A - JZ L0154 - ADD A, #74h - JNZ L0155 - MOV R7, 2Ch - LCALL L0017 - SJMP L0149 - -L0151: - MOV A, 2Ch - JNB ACC.1, L0180 - SETB P1.0 - SJMP L0149 - -L0180: - CLR P1.0 - SJMP L0149 - -L0152: - CLR 1Fh - SJMP L0179 - -L0153: - SETB 1Fh -L0179: - MOV 2Fh, 2Ch - SJMP L0176 - -L0154: - SETB 1Eh - SJMP L0149 - -L0147: - MOV A, 2Ch - JNZ L0181 - LCALL L0041 - LCALL L0042 - MOV 12h, 38h - MOV 13h, 39h - MOV 14h, 3Ah - MOV 15h, 9h - MOV 16h, 0Ah - MOV 17h, 0Bh - SJMP L0149 - -L0181: - MOV A, 2Ch - CLR C - SUBB A, #1h - JC L0182 - MOV A, 2Ch - SETB C - SUBB A, #6h - JNC L0182 - CLR 1Fh - MOV A, #11h - ADD A, 2Ch - MOV R0, A - MOV A, @R0 - MOV 2Fh, A - SJMP L0176 - -L0182: - MOV A, 2Ch - CJNE A, #7h, L0149 - CLR 1Fh - MOV 2Fh, 3Bh -L0176: - SETB 20h - LCALL L0177 - SJMP L0149 - -L0155: - SETB 1Dh -L0149: - CLR 17h - SJMP L0150 - -L0091: - SETB 1Dh -L0150: - JNB 1Dh, L0092 - MOV R7, 2Ch - LCALL L0093 - SJMP L0094 - -L0092: - JNB 1Eh, L0094 - MOV R7, 2Ch - LCALL L0141 -L0094: - LCALL L0095 - LJMP L0096 - -L0084: - CLR 1Dh - MOV A, 2Ch - LCALL L0085 - LJMP L0086 - - DB 02h - DB 035h - DB 020h - DB 02h - DB 0B7h - DB 060h - DB 02h - DB 056h - DB 0A7h - DB 02h - DB 05Dh - DB 0A8h - DB 02h - DB 064h - DB 0A9h - DB 02h - DB 048h - DB 0AAh - DB 02h - DB 064h - DB 0ABh - DB 02h - DB 06Dh - DB 0ADh - DB 02h - DB 074h - DB 0AEh - DB 02h - DB 041h - DB 0C0h - DB 02h - DB 0B7h - DB 0CBh - DB 02h - DB 07Bh - DB 0D0h - DB 02h - DB 0B7h - DB 0D1h - DB 02h - DB 0B7h - DB 0D2h - DB 02h - DB 0B7h - DB 0D3h - DB 02h - DB 0B7h - DB 0D4h - DB 02h - DB 098h - DB 0DDh - DB 02h - DB 08Dh - DB 0DFh - DB 02h - DB 0A8h - DB 0FEh - DB 00h - DB 00h - DB 02h - DB 0B5h - DB 012h - DB 0Ah - DB 083h - DB 08Fh - DB 02Dh - DB 0C2h - DB 01Fh - DB 085h - DB 02Dh - DB 02Fh - DB 080h - DB 028h - DB 0C2h - DB 01Fh - DB 075h - DB 02Fh - DB 0FFh - DB 080h - DB 021h - DB 07Fh - DB 030h - DB 012h - DB 05h - DB 0FBh - DB 0C2h - DB 01Fh - DB 075h - DB 02Fh - DB 055h - DB 0C2h - DB 020h - DB 080h - DB 04Bh - DB 012h - DB 0Eh - DB 08Dh - DB 0D2h - DB 01Dh - DB 080h - DB 05Ah - DB 012h - DB 0Eh - DB 0E6h - DB 0D2h - DB 01Dh - DB 080h - DB 053h - DB 0C2h - DB 01Fh - DB 0E4h - DB 0F5h - DB 02Fh - DB 0D2h - DB 020h - DB 080h - DB 034h - DB 012h - DB 0Eh - DB 094h - DB 0D2h - DB 01Dh - DB 080h - DB 043h - DB 012h - DB 0Eh - DB 0F0h - DB 0D2h - DB 01Dh - DB 080h - DB 03Ch - DB 075h - DB 02Eh - DB 01h - DB 030h - DB 090h - DB 03h - DB 043h - DB 02Eh - DB 02h - DB 0C2h - DB 01Fh - DB 085h - DB 02Eh - DB 02Fh - DB 0D2h - DB 020h - DB 080h - DB 014h - DB 0D2h - DB 090h - DB 0C2h - DB 01Fh - DB 085h - DB 0Fh - DB 02Fh - DB 0D2h - DB 020h - DB 080h - DB 09h - DB 0C2h - DB 090h - DB 0C2h - DB 01Fh - DB 085h - DB 0Fh - DB 02Fh - DB 0D2h - DB 020h - DB 012h - DB 0Dh - DB 0B8h - DB 0D2h - DB 01Dh - DB 080h - DB 0Fh - DB 0C2h - DB 091h - DB 07Fh - DB 05h - DB 012h - DB 00h - DB 06h - DB 0D2h - DB 091h - DB 0D2h - DB 01Dh - DB 080h - DB 02h - DB 0D2h - DB 01Dh - DB 030h - DB 01Dh - DB 03h - DB 012h - DB 0Eh - DB 085h - DB 0D2h - DB 017h - DB 085h - DB 02Ch - DB 018h -L0096: - JB 1h, L0079 - LCALL L0018 -L0079: - RET - - DB 044h - DB 04Dh - DB 026h - DB 050h - DB 00h - DB 0FFh - DB 043h - DB 041h - DB 03Fh - DB 03Dh - DB 03Bh - DB 03Ch - DB 058h - DB 064h - DB 044h - DB 042h - DB 040h - DB 03Eh - DB 0Fh - DB 029h - DB 059h - DB 065h - DB 038h - DB 02Ah - DB 070h - DB 01Dh - DB 010h - DB 02h - DB 05Ah - DB 066h - DB 071h - DB 02Ch - DB 01Fh - DB 01Eh - DB 011h - DB 03h - DB 05Bh - DB 067h - DB 02Eh - DB 02Dh - DB 020h - DB 012h - DB 05h - DB 04h - DB 05Ch - DB 068h - DB 039h - DB 02Fh - DB 021h - DB 014h - DB 013h - DB 06h - DB 05Dh - DB 069h - DB 031h - DB 030h - DB 023h - DB 022h - DB 015h - DB 07h - DB 05Eh - DB 06Ah - DB 072h - DB 032h - DB 024h - DB 016h - DB 08h - DB 09h - DB 05Fh - DB 06Bh - DB 033h - DB 025h - DB 017h - DB 018h - DB 0Bh - DB 0Ah - DB 060h - DB 06Ch - DB 034h - DB 035h - DB 026h - DB 027h - DB 019h - DB 0Ch - DB 061h - DB 06Dh - DB 073h - DB 028h - DB 074h - DB 01Ah - DB 0Dh - DB 062h - DB 06Eh - DB 03Ah - DB 036h - DB 01Ch - DB 01Bh - DB 075h - DB 02Bh - DB 063h - DB 076h - DB 055h - DB 056h - DB 077h - DB 078h - DB 079h - DB 07Ah - DB 0Eh - DB 07Bh - DB 07Ch - DB 04Fh - DB 07Dh - DB 04Bh - DB 047h - DB 07Eh - DB 07Fh - DB 06Fh - DB 052h - DB 053h - DB 050h - DB 04Ch - DB 04Dh - DB 048h - DB 01h - DB 045h - DB 057h - DB 04Eh - DB 051h - DB 04Ah - DB 037h - DB 049h - DB 046h - DB 054h - DB 00h - DB 00h - DB 00h - DB 041h - DB 054h - DB 00h - DB 01h - DB 01h - DB 02h - DB 01h - DB 02h - DB 02h - DB 03h - DB 01h - DB 02h - DB 02h - DB 03h - DB 02h - DB 03h - DB 03h - DB 04h - DB 014h - DB 023h - DB 014h - DB 03Ah - DB 014h - DB 04Dh - DB 042h - DB 032h - DB 023h -L0024: - JB 0Ch, L0202 - LJMP L0203 - -L0202: - CLR 1Ah - CLR 1Bh - MOV A, 10h - JNB ACC.7, L0204 - MOV A, 11h - MOV R6, 10h - MOV R0, #6h -L0205: - XCH A, R6 - CLR C - RRC A - XCH A, R6 - RRC A - DJNZ R0, L0205 - MOV 26h, A - MOV R7, A - LCALL L0106 - MOV 27h, R7 - MOV A, 10h - SWAP A - RRC A - RRC A - ANL A, #3h - MOV R7, A - MOV A, 27h - ANL A, #1h - CJNE A, 7h, L0206 - CLR A - MOV R7, #1h - SJMP L0207 - -L0206: - MOV R7, #0h -L0207: - MOV A, R7 - JNB ACC.0, L0208 - SETB 1Bh - SJMP L0204 - -L0208: - JB 13h, L0211 - MOV R7, 26h - LCALL L0212 - MOV R7, 26h - LCALL L0213 - MOV 28h, R6 - MOV 29h, R7 - MOV A, 29h - CPL A - JNZ L0214 - MOV A, 28h - CPL A -L0214: - JZ L0204 - MOV 26h, 29h - SETB 1Ah - SJMP L0204 - -L0211: - SETB 1Ah -L0204: - JNB 1Ah, L0209 - CLR 27h - MOV R7, #7h - LCALL L0112 - CLR 27h - MOV R7, #6h - LCALL L0112 - MOV C, 13h - MOV 25h, C - MOV 31h, 26h - LCALL L0114 - CLR 0Ch - RET - -L0209: - JNB 1Bh, L0210 - MOV C, 13h - MOV 21h, C - MOV 30h, #0FFh - SETB 22h - CLR 23h - SETB 24h - LJMP L0178 - -L0210: - CLR 0Ch - LCALL L0184 -L0203: - RET - -L0239: - CLR A - MOV 26h, A - MOV 27h, A - MOV 28h, #0Fh - MOV 29h, #0FFh -L0243: - MOV A, 27h - ADD A, 29h - MOV R7, A - MOV A, 26h - ADDC A, 28h - CLR C - RRC A - MOV 2Ah, A - MOV A, R7 - RRC A - MOV 2Bh, A - MOV R7, A - MOV R6, 2Ah - LCALL L0240 - CJNE R7, #0FFh, L0241 - MOV A, 2Bh - ADD A, #0FFh - MOV 29h, A - MOV A, 2Ah - ADDC A, #0FFh - MOV 28h, A - SJMP L0242 - -L0241: - MOV A, R7 - JNZ L0245 - MOV A, 2Bh - ADD A, #1h - MOV 27h, A - CLR A - ADDC A, 2Ah - MOV 26h, A - SJMP L0242 - -L0245: - MOV 2Ch, #0FFh - CLR A - MOV 2Dh, A -L0248: - MOV A, 2Ch - CLR C - RRC A - MOV 2Ch, A - CJNE A, 7h, L0246 - MOV A, 2Bh - MOV R6, 2Ah - MOV R0, #3h -L0247: - CLR C - RLC A - XCH A, R6 - RLC A - XCH A, R6 - DJNZ R0, L0247 - MOV R4, #0h - ADD A, 2Dh - MOV R7, A - MOV A, R4 - ADDC A, R6 - XCH A, R7 - ADD A, #1h - XCH A, R7 - ADDC A, #0h - MOV R6, A - RET - -L0246: - INC 2Dh - MOV A, 2Dh - CJNE A, #7h, L0248 - MOV R6, #0FFh - MOV R7, #0FFh - RET - -L0242: - SETB C - MOV A, 27h - SUBB A, 29h - MOV A, 28h - XRL A, #80h - MOV R0, A - MOV A, 26h - XRL A, #80h - SUBB A, R0 - JC L0243 - MOV A, 27h - MOV R6, 26h - MOV R0, #3h -L0244: - CLR C - RLC A - XCH A, R6 - RLC A - XCH A, R6 - DJNZ R0, L0244 - MOV R7, A - RET - -L0001: - MOV R0, #7Fh - CLR A -L0002: - MOV @R0, A - DJNZ R0, L0002 - MOV SP, #3Bh - LJMP L0003 - -L0004: - LJMP L0015 - -L0006: - CLR A - MOVC A, @A+DPTR - INC DPTR - MOV R0, A -L0014: - CLR A - MOVC A, @A+DPTR - INC DPTR - JC L0012 - MOV @R0, A - SJMP L0013 - -L0012: - MOVX @R0, A -L0013: - INC R0 - DJNZ R7, L0014 - SJMP L0009 - -L0007: - CLR A - MOVC A, @A+DPTR - INC DPTR - MOV R0, A - ANL A, #7h - ADD A, #0Ch - XCH A, R0 - CLR C - RLC A - SWAP A - ANL A, #0Fh - ORL A, #20h - XCH A, R0 - MOVC A, @A+PC - JC L0010 - CPL A - ANL A, @R0 - SJMP L0011 - -L0010: - ORL A, @R0 -L0011: - MOV @R0, A - DJNZ R7, L0007 - SJMP L0009 - - DB 01h - DB 02h - DB 04h - DB 08h - DB 010h - DB 020h - DB 040h - DB 080h -L0003: - MOV DPTR, #0880h -L0009: - CLR A - MOV R6, #1h - MOVC A, @A+DPTR - JZ L0004 - INC DPTR - MOV R7, A - ANL A, #3Fh - JNB ACC.5, L0005 - ANL A, #1Fh - MOV R6, A - CLR A - MOVC A, @A+DPTR - INC DPTR - JZ L0005 - INC R6 -L0005: - XCH A, R7 - ANL A, #0C0h - ADD A, ACC - JZ L0006 - JC L0007 - CLR A - MOVC A, @A+DPTR - INC DPTR - MOV R2, A - CLR A - MOVC A, @A+DPTR - INC DPTR - MOV R0, A -L0008: - CLR A - MOVC A, @A+DPTR - INC DPTR - XCH A, R0 - XCH A, DPL - XCH A, R0 - XCH A, R2 - XCH A, DPH - XCH A, R2 - MOVX @DPTR, A - INC DPTR - XCH A, R0 - XCH A, DPL - XCH A, R0 - XCH A, R2 - XCH A, DPH - XCH A, R2 - DJNZ R7, L0008 - DJNZ R6, L0008 - SJMP L0009 - -L0093: - SETB 0Dh - CLR P1.6 - SETB 0Eh - SETB 10h - CLR P1.4 - MOV 8h, R7 - LCALL L0106 - MOV A, R7 - RRC A - CPL C - MOV 14h, C - SETB 16h - CLR A - MOV 0Ch, A - MOV R7, #28h - LCALL L0065 - CLR P1.7 - SETB 3h - CLR 0Ah - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 - CLR 0Dh - SETB P1.6 -L0110: - JNB 16h, L0108 - LCALL L0109 - JNC L0110 - CLR EA - SETB P1.7 - CLR 21h - LCALL L0111 - CLR 16h - CLR A - MOV 0Ch, A - SETB EA - RET - -L0108: - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 -L0129: - JB 4h, L0128 - JB 0Ah, L0128 - LCALL L0109 - JNC L0129 - CLR EA - CLR 21h - LCALL L0111 - SETB EA - RET - -L0128: - LCALL L0036 - RET - -L0141: - SETB 10h - CLR P1.4 - SETB 0Ah - SETB 0Dh - CLR P1.6 - MOV 8h, R7 - LCALL L0106 - MOV A, R7 - RRC A - CPL C - MOV 14h, C - SETB 16h - CLR A - MOV 0Eh, A - MOV R7, #28h - LCALL L0065 - CLR P1.5 - SETB 5h - CLR 0Eh - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 - CLR 10h - SETB P1.4 -L0143: - JNB 16h, L0142 - LCALL L0109 - JNC L0143 - CLR EA - SETB P1.5 - LCALL L0144 - CLR 16h - CLR A - MOV 0Eh, A - SETB EA - RET - -L0142: - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 -L0146: - JB 7h, L0145 - JB 0Eh, L0145 - LCALL L0109 - JNC L0146 - CLR EA - LCALL L0144 - SETB EA - RET - -L0145: - LCALL L0036 - RET - -L0017: - MOV R5, 7h - MOV A, R5 - JNB ACC.6, L0156 - SETB 0Fh - SJMP L0157 - -L0156: - CLR 0Fh -L0157: - MOV A, R5 - JNB ACC.5, L0158 - LCALL L0159 - SJMP L0160 - -L0158: - LCALL L0175 -L0160: - MOV A, R5 - JNB ACC.4, L0161 - LCALL L0162 - SJMP L0163 - -L0161: - LCALL L0174 -L0163: - MOV A, R5 - JNB ACC.2, L0164 - SETB 27h - SJMP L0165 - -L0164: - CLR 27h -L0165: - MOV R7, #2h - LCALL L0112 - MOV A, R5 - JNB ACC.1, L0166 - LCALL L0167 - SJMP L0168 - -L0166: - LCALL L0173 -L0168: - MOV A, R5 - JNB ACC.0, L0169 - LCALL L0170 - JB 11h, L0171 - SETB 11h - SETB 1h - RET - -L0169: - LCALL L0172 -L0171: - RET - - DB 07Fh - DB 02h - DB 012h - DB 00h - DB 06h - DB 020h - DB 094h - DB 042h - DB 0A2h - DB 095h - DB 092h - DB 018h - DB 05h - DB 0Eh - DB 0E5h - DB 0Eh - DB 0B4h - DB 01h - DB 012h - DB 020h - DB 018h - DB 0Ah - DB 0D2h - DB 07h - DB 0D2h - DB 0Ah - DB 0D2h - DB 0Dh - DB 0C2h - DB 096h - DB 080h - DB 019h - DB 0E4h - DB 0F5h - DB 0Eh - DB 080h - DB 014h - DB 0E5h - DB 0Eh - DB 0B4h - DB 0Bh - DB 0Fh - DB 0D2h - DB 0Eh - DB 0D2h - DB 010h - DB 0C2h - DB 094h - DB 0D2h - DB 013h - DB 0D2h - DB 0Ch - DB 0E4h - DB 0F5h - DB 0Eh - DB 0C2h - DB 07h - DB 0E5h - DB 010h - DB 0C3h - DB 013h - DB 0F5h - DB 010h - DB 0E5h - DB 011h - DB 013h - DB 0F5h - DB 011h - DB 030h - DB 018h - DB 03h - DB 043h - DB 010h - DB 080h - DB 022h - DB 07Fh - DB 02h - DB 012h - DB 00h - DB 06h - DB 020h - DB 096h - DB 042h - DB 0A2h - DB 097h - DB 092h - DB 019h - DB 05h - DB 0Ch - DB 0E5h - DB 0Ch - DB 0B4h - DB 01h - DB 012h - DB 020h - DB 019h - DB 0Ah - DB 0D2h - DB 04h - DB 0D2h - DB 0Eh - DB 0D2h - DB 010h - DB 0C2h - DB 094h - DB 080h - DB 019h - DB 0E4h - DB 0F5h - DB 0Ch - DB 080h - DB 014h - DB 0E5h - DB 0Ch - DB 0B4h - DB 0Bh - DB 0Fh - DB 0D2h - DB 0Ah - DB 0D2h - DB 0Dh - DB 0C2h - DB 096h - DB 0C2h - DB 013h - DB 0D2h - DB 0Ch - DB 0E4h - DB 0F5h - DB 0Ch - DB 0C2h - DB 04h - DB 0E5h - DB 010h - DB 0C3h - DB 013h - DB 0F5h - DB 010h - DB 0E5h - DB 011h - DB 013h - DB 0F5h - DB 011h - DB 030h - DB 019h - DB 03h - DB 043h - DB 010h - DB 080h - DB 022h -L0144: - SETB 21h -L0111: - MOV 30h, #0FEh -L0140: - SETB 22h - SETB 23h - CLR 24h -L0178: - SETB 0Ah - SETB 0Dh - CLR P1.6 - SETB 0Eh - SETB 10h - CLR P1.4 - MOV C, 23h - MOV 27h, C - MOV R7, #6h - LCALL L0112 - MOV C, 24h - MOV 27h, C - MOV R7, #7h - LCALL L0112 - JNB 22h, L0113 - MOV C, 21h - MOV 25h, C - MOV 31h, 30h - LCALL L0114 - SJMP L0115 - -L0113: - MOV C, 21h - MOV 26h, C - MOV 32h, 30h - LCALL L0116 - CLR P1.2 - CLR P1.3 - SETB 9h -L0115: - CLR 0Ch - RET - -L0036: - JB 4h, L0130 - JNB 7h, L0131 -L0130: - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 -L0133: - JB 4h, L0132 - JNB 7h, L0131 -L0132: - LCALL L0109 - JNC L0133 - CLR EA - JB 4h, L0134 - JNB 7h, L0135 -L0134: - JNB 4h, L0136 - CLR 1Fh - SJMP L0137 - -L0136: - SETB 1Fh -L0137: - CLR A - MOV 0Ch, A - CLR 4h - MOV 0Eh, A - CLR 7h - LCALL L0138 - LCALL L0139 - SETB EA - MOV C, 1Fh - MOV 21h, C - MOV 30h, #0FFh - LCALL L0140 - SJMP L0133 - -L0135: - SETB EA - SJMP L0133 - -L0131: - RET - -L0212: - MOV A, 19h - JZ L0220 - CJNE A, #2h, L0221 -L0220: - MOV A, 0Dh - MOV DPTR, #0363h - MOVC A, @A+DPTR - XRL A, R7 - JZ L0222 -L0221: - MOV A, 19h - XRL A, #1h - JNZ L0223 - MOV A, R7 - XRL A, #0F0h - JNZ L0223 -L0222: - INC 19h - MOV A, 19h - SETB C - SUBB A, #2h - JC L0224 - CLR A - MOV 19h, A - INC 0Dh - MOV A, 0Dh - SUBB A, #9h - JC L0224 - MOV 2Ah, #5h -L0226: - CLR A - MOV R7, A - LCALL L0225 - MOV R7, #7h - LCALL L0225 - DJNZ 2Ah, L0226 - CLR A - MOV 0Dh, A - RET - -L0223: - CLR A - MOV 0Dh, A - MOV 19h, A -L0224: - RET - -L0035: - MOV A, 3Bh - XRL A, #15h - JNZ L0229 - LCALL L0041 - MOV A, 3Ah - JNB ACC.0, L0230 - MOV 26h, #80h - SJMP L0231 - -L0230: - CLR A - MOV 26h, A -L0231: - MOV A, 3Ah - CLR C - RRC A - MOV 3Ah, A - MOV A, 39h - JNB ACC.0, L0232 - ORL 3Ah, #80h -L0232: - MOV A, 39h - CLR C - RRC A - MOV 39h, A - MOV A, 38h - JNB ACC.0, L0233 - ORL 39h, #80h -L0233: - CLR P3.6 - MOV DPTR, #0D001h - CLR A - MOVX @DPTR, A - INC DPTR - MOV A, 26h - MOVX @DPTR, A - INC DPTR - MOV A, 3Ah - MOVX @DPTR, A - INC DPTR - MOV A, 39h - MOVX @DPTR, A - SETB P3.6 -L0229: - RET - - DB 020h - DB 094h - DB 037h - DB 05h - DB 0Eh - DB 0E5h - DB 0Eh - DB 0D3h - DB 094h - DB 08h - DB 050h - DB 012h - DB 0E5h - DB 08h - DB 030h - DB 0E0h - DB 04h - DB 0D2h - DB 095h - DB 080h - DB 02h - DB 0C2h - DB 095h - DB 0E5h - DB 08h - DB 0C3h - DB 013h - DB 0F5h - DB 08h - DB 022h - DB 0E5h - DB 0Eh - DB 0B4h - DB 09h - DB 05h - DB 0A2h - DB 014h - DB 092h - DB 095h - DB 022h - DB 0E5h - DB 0Eh - DB 0B4h - DB 0Ah - DB 03h - DB 0D2h - DB 095h - DB 022h - DB 0E5h - DB 0Eh - DB 0B4h - DB 0Bh - DB 05h - DB 0C2h - DB 016h - DB 0E4h - DB 0F5h - DB 0Eh - DB 022h - DB 020h - DB 096h - DB 037h - DB 05h - DB 0Ch - DB 0E5h - DB 0Ch - DB 0D3h - DB 094h - DB 08h - DB 050h - DB 012h - DB 0E5h - DB 08h - DB 030h - DB 0E0h - DB 04h - DB 0D2h - DB 097h - DB 080h - DB 02h - DB 0C2h - DB 097h - DB 0E5h - DB 08h - DB 0C3h - DB 013h - DB 0F5h - DB 08h - DB 022h - DB 0E5h - DB 0Ch - DB 0B4h - DB 09h - DB 05h - DB 0A2h - DB 014h - DB 092h - DB 097h - DB 022h - DB 0E5h - DB 0Ch - DB 0B4h - DB 0Ah - DB 03h - DB 0D2h - DB 097h - DB 022h - DB 0E5h - DB 0Ch - DB 0B4h - DB 0Bh - DB 05h - DB 0C2h - DB 016h - DB 0E4h - DB 0F5h - DB 0Ch - DB 022h - DB 01h - DB 0Ch - DB 00h - DB 0C1h - DB 04h - DB 0C1h - DB 0Ah - DB 0C1h - DB 083h - DB 0C1h - DB 0Ch - DB 0C1h - DB 09h - DB 0C1h - DB 02h - DB 0C1h - DB 016h - DB 0C1h - DB 08h - DB 01h - DB 0Eh - DB 00h - DB 0C1h - DB 07h - DB 0C1h - DB 0Eh - DB 0C1h - DB 085h - DB 0C1h - DB 08Bh - DB 0C1h - DB 086h - DB 0C1h - DB 08Fh - DB 0C1h - DB 012h - DB 0C1h - DB 00h - DB 0C1h - DB 011h - DB 0C1h - DB 01h - DB 0C1h - DB 017h - DB 01h - DB 0Dh - DB 00h - DB 01h - DB 019h - DB 00h - DB 01h - DB 01Ah - DB 00h - DB 01h - DB 034h - DB 03h - DB 0C1h - DB 029h - DB 00h -L0114: - MOV C, 25h - MOV 26h, C - MOV 32h, 31h - LCALL L0116 - CLR P1.2 - CLR P1.3 - JB 25h, L0117 - JB 6h, L0118 -L0117: - JNB 25h, L0119 - JNB 0Bh, L0119 -L0118: - MOV R7, #69h - MOV R6, #0h - LCALL L0107 -L0120: - LCALL L0109 - JNC L0120 - LCALL L0121 - JNC L0119 - JB 25h, L0122 - SETB P1.2 - SJMP L0119 - -L0122: - SETB P1.3 -L0119: - SETB 9h - RET - -L0042: - MOV DPTR, #0FFCh - CLR A - MOVC A, @A+DPTR - MOV R6, A - MOV A, #1h - MOVC A, @A+DPTR - MOV R7, A - CLR C - SUBB A, 3Ah - MOV 0Bh, A - MOV A, R6 - SUBB A, 39h - MOV 0Ah, A - MOV DPTR, #0FFBh - CLR A - MOVC A, @A+DPTR - CLR C - SUBB A, 38h - MOV 9h, A - CLR C - MOV A, R7 - SUBB A, 3Ah - MOV A, R6 - SUBB A, 39h - JNC L0046 - DEC 9h -L0046: - MOV A, 9h - JNB ACC.7, L0047 - CLR A - MOV 9h, A - MOV 0Ah, A - MOV 0Bh, A -L0047: - RET - -L0194: - INC 35h - MOV R7, 35h - MOV R6, 7h - MOV A, R6 - DEC A - RRC A - RRC A - RRC A - ANL A, #1Fh - MOV R5, A - MOV A, R6 - ANL A, #7h - MOV R7, A - JNZ L0196 - MOV 26h, A - MOV 27h, A - SJMP L0197 - -L0196: - MOV A, #0FFh - MOV R6, #0h - MOV R0, 7h - INC R0 - SJMP L0199 - -L0200: - XCH A, R6 - MOV C, ACC.7 - RRC A - XCH A, R6 - RRC A -L0199: - DJNZ R0, L0200 - MOV 27h, A - MOV 26h, R6 -L0197: - MOV R7, 5h - MOV R5, 27h - LJMP L0198 - -L0016: - CLR A - MOV R7, A - MOV R6, #1h -L0261: - MOV A, R7 - CLR C - SUBB A, #8h - JNC L0259 - MOV A, R7 - JZ L0260 - XRL A, #1h - JZ L0260 - MOV A, R7 - XRL A, #3h - JZ L0260 - MOV A, R6 - ORL A, #2h - ANL A, #0FEh - MOV DPTR, #0E000h - MOVX @DPTR, A - ANL A, #0F4h - MOV R5, A - MOV A, R6 - ANL A, #0F4h - XRL A, R5 - JZ L0260 - SETB C - RET - -L0260: - INC R7 - MOV A, R6 - ADD A, ACC - MOV R6, A - SJMP L0261 - -L0259: - CLR C - RET - -L0053: - MOV R5, 7h - MOV R4, 6h - MOV A, R5 - ADD A, #0FFh - MOV R7, A - MOV A, R4 - ADDC A, #0FFh - MOV R6, A - MOV A, R7 - MOV R0, #3h -L0054: - XCH A, R6 - CLR C - RRC A - XCH A, R6 - RRC A - DJNZ R0, L0054 - MOV R7, A - MOV A, R5 - ANL A, #7h - MOV R5, A - JNZ L0055 - MOV 26h, A - SJMP L0056 - -L0055: - MOV A, #0FFh - MOV R0, 5h - INC R0 - SJMP L0191 - -L0192: - CLR C - RRC A -L0191: - DJNZ R0, L0192 - MOV 26h, A -L0056: - MOV R5, 26h - LJMP L0057 - -L0030: - CLR 28h - JB 29h, L0234 - LCALL L0235 - MOV 3Bh, R7 - MOV A, 3Bh - CJNE A, #15h, L0236 - MOV 34h, #1Fh -L0236: - SETB 29h -L0234: - LCALL L0237 - MOV 35h, R7 - MOV A, 35h - JNB ACC.0, L0238 - LCALL L0195 - LCALL L0194 - CLR A - MOV 36h, A - MOV 37h, A - RET - -L0238: - LCALL L0239 - MOV 36h, R6 - MOV 37h, R7 - RET - -L0213: - JB 0Fh, L0215 - MOV R6, #0h - RET - -L0215: - CJNE R7, #0F0h, L0216 - SETB 15h - MOV R6, #0FFh - MOV R7, #0FFh - RET - -L0216: - MOV A, R7 - CLR C - SUBB A, #85h - JC L0217 - MOV R6, #0h - RET - -L0217: - MOV A, R7 - MOV DPTR, #02CEh - MOVC A, @A+DPTR - MOV R6, A - JNZ L0218 - MOV R6, A - RET - -L0218: - JNB 15h, L0219 - ORL 6h, #80h -L0219: - CLR 15h - MOV R7, 6h - MOV R6, #0h - RET - -L0032: - MOV C, 1Ah - MOV 28h, C - INC 37h - MOV A, 37h - JNZ L0051 - INC 36h -L0051: - CLR C - MOV A, 36h - SUBB A, #80h - JNC L0052 - MOV R7, 37h - MOV R6, 36h - LJMP L0053 - -L0052: - MOV A, 35h - CLR C - SUBB A, #10h - JNC L0193 - LCALL L0194 - LCALL L0195 - LCALL L0194 - CLR A - MOV 36h, A - MOV 37h, A -L0193: - RET - -L0237: - CLR A - MOV R7, A - LCALL L0250 - MOV R6, #0FFh - CLR A - MOV 26h, A -L0253: - MOV A, 26h - CJNE A, #8h, L0251 - MOV R7, #1h - LCALL L0250 - MOV R6, #0FFh -L0251: - MOV A, R6 - CJNE A, 7h, L0252 - MOV R7, 26h - RET - -L0252: - MOV A, R6 - CLR C - RRC A - MOV R6, A - INC 26h - MOV A, 26h - SETB C - SUBB A, #10h - JC L0253 - MOV R7, #0FFh - RET - - DB 0E4h - DB 0FFh - DB 030h - DB 0Fh - DB 02h - DB 07Fh - DB 040h - DB 020h - DB 05h - DB 03h - DB 043h - DB 07h - DB 020h - DB 020h - DB 03h - DB 03h - DB 043h - DB 07h - DB 010h - DB 090h - DB 0E0h - DB 00h - DB 0E0h - DB 030h - DB 0E2h - DB 03h - DB 043h - DB 07h - DB 04h - DB 030h - DB 0Bh - DB 03h - DB 043h - DB 07h - DB 02h - DB 030h - DB 06h - DB 03h - DB 043h - DB 07h - DB 01h - DB 022h -L0057: - MOV 27h, R6 - MOV 28h, R7 - MOV 29h, R5 - LCALL L0058 - MOV A, 27h - ADD A, #0D0h - MOV 2Ah, A - MOV A, 28h - MOV 2Bh, A - LCALL L0059 - MOV 2Fh, 29h - MOV R3, 2Bh - MOV R5, 2Ah - MOV R7, 34h - LCALL L0060 - LCALL L0061 - LJMP L0062 - - DB 0C0h - DB 0E0h - DB 0C0h - DB 0F0h - DB 0C0h - DB 0D0h - DB 075h - DB 0D0h - DB 00h - DB 0C0h - DB 06h - DB 0C0h - DB 07h - DB 020h - DB 010h - DB 0Bh - DB 030h - DB 016h - DB 05h - DB 012h - DB 08h - DB 0Ah - DB 080h - DB 03h - DB 012h - DB 06h - DB 04Dh - DB 0D0h - DB 07h - DB 0D0h - DB 06h - DB 0D0h - DB 0D0h - DB 0D0h - DB 0F0h - DB 0D0h - DB 0E0h - DB 032h - DB 0C0h - DB 0E0h - DB 0C0h - DB 0F0h - DB 0C0h - DB 0D0h - DB 075h - DB 0D0h - DB 00h - DB 0C0h - DB 06h - DB 0C0h - DB 07h - DB 020h - DB 0Dh - DB 0Bh - DB 030h - DB 016h - DB 05h - DB 012h - DB 08h - DB 045h - DB 080h - DB 03h - DB 012h - DB 06h - DB 098h - DB 0D0h - DB 07h - DB 0D0h - DB 06h - DB 0D0h - DB 0D0h - DB 0D0h - DB 0F0h - DB 0D0h - DB 0E0h - DB 032h -L0085: - POP DPH - POP DPL - MOV R0, A -L0089: - CLR A - MOVC A, @A+DPTR - JNZ L0087 - MOV A, #1h - MOVC A, @A+DPTR - JNZ L0087 - INC DPTR - INC DPTR -L0088: - MOVC A, @A+DPTR - MOV R0, A - MOV A, #1h - MOVC A, @A+DPTR - MOV DPL, A - MOV DPH, R0 - CLR A - JMP @A+DPTR - -L0087: - MOV A, #2h - MOVC A, @A+DPTR - XRL A, R0 - JZ L0088 - INC DPTR - INC DPTR - INC DPTR - SJMP L0089 - -L0060: - MOV R6, 3h - MOV R3, 5h - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV R5, 7h - MOV 33h, R6 - MOV R7, #2h - LCALL L0188 - MOV R7, 2Fh - LCALL L0067 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - -L0112: - MOV A, #1h - MOV R0, 7h - INC R0 - SJMP L0124 - -L0125: - CLR C - RLC A -L0124: - DJNZ R0, L0125 - MOV R7, A - MOV DPTR, #0E000h - MOVX A, @DPTR - ORL A, #2h - MOV R6, A - MOV A, R7 - JNB 27h, L0126 - ORL 6h, A - SJMP L0127 - -L0126: - CPL A - ANL 6h, A -L0127: - MOV DPTR, #0E000h - MOV A, R6 - MOVX @DPTR, A - RET - -L0075: - LCALL L0037 - JC L0076 - LCALL L0077 - SJMP L0075 - -L0076: - LCALL L0185 - LCALL L0186 - CLR 1Fh - MOV 2Fh, #0EEh - MOV C, 6h - MOV 20h, C - LCALL L0177 -L0187: - MOV DPTR, #0D000h - MOVX A, @DPTR - JNB ACC.1, L0187 - RET - -L0249: - MOV R6, 3h - MOV R3, 5h - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV R5, 7h - MOV 33h, R6 - MOV R7, #3h - LCALL L0188 - LCALL L0068 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - -L0068: - MOV A, 1Ah - ANL A, #9Fh - MOV R5, A - ORL A, #20h - MOV R6, A - MOV R4, #8h -L0070: - MOV A, R7 - ADD A, ACC - MOV R7, A - MOV DPTR, #0D000h - MOV A, R5 - MOVX @DPTR, A - MOVX A, @DPTR - JNB ACC.4, L0069 - ORL 7h, #1h -L0069: - MOV DPTR, #0D000h - MOV A, R6 - MOVX @DPTR, A - DJNZ R4, L0070 - RET - -L0116: - MOV DPTR, #0F000h - MOV A, 32h - MOVX @DPTR, A - MOV 0Fh, A - MOV C, 26h - MOV 27h, C - MOV R7, #5h - LCALL L0112 - MOV DPTR, #0E000h - MOVX A, @DPTR - ORL A, #2h - ANL A, #0FEh - MOV R6, A - MOVX @DPTR, A - ORL A, #1h - MOVX @DPTR, A - MOV A, R6 - MOVX @DPTR, A - RET - -L0254: - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV R7, #9Fh - LCALL L0067 - LCALL L0068 - LCALL L0068 - LCALL L0068 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - -L0225: - MOV 2Bh, R7 - MOV R7, #0EDh - LCALL L0093 - MOV R7, 2Bh - LCALL L0093 - MOV 2Ch, #0Ah -L0228: - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 -L0227: - LCALL L0109 - JNC L0227 - DJNZ 2Ch, L0228 - RET - -L0198: - MOV 28h, R7 - MOV 29h, R5 - LCALL L0058 - LCALL L0059 - MOV A, 28h - ADD A, #0FEh - MOV R3, A - MOV 2Fh, 29h - MOV R5, #0EFh - MOV R7, 34h - LCALL L0060 - LCALL L0061 - LJMP L0062 - -L0107: - MOV R5, 7h - MOV R4, 6h - CLR TR0 - MOV A, R5 - CPL A - MOV R7, A - MOV A, R4 - CPL A - MOV R6, A - MOV A, R7 - ADD A, #1h - MOV R5, A - CLR A - ADDC A, R6 - MOV TH0, A - MOV R7, 5h - MOV TL0, R7 - CLR TF0 - SETB TR0 - RET - - DB 0ADh - DB 07h - DB 0ACh - DB 06h - DB 0C2h - DB 0CAh - DB 0EDh - DB 0F4h - DB 0FFh - DB 0ECh - DB 0F4h - DB 0FEh - DB 0EFh - DB 024h - DB 01h - DB 0FDh - DB 0E4h - DB 03Eh - DB 0F5h - DB 0CDh - DB 0AFh - DB 05h - DB 08Fh - DB 0CCh - DB 0C2h - DB 0CFh - DB 0D2h - DB 0CAh - DB 022h -L0063: - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV R7, #5h - LCALL L0067 - LCALL L0068 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV A, R7 - RRC A - RET - -L0067: - MOV A, 1Ah - ANL A, #9Fh - MOV R6, A - ORL A, #40h - MOV R5, A - MOV R4, #8h - MOV DPTR, #0D000h -L0073: - MOV A, R7 - RLC A - MOV R7, A - JNC L0071 - MOV A, R5 - SJMP L0072 - -L0071: - MOV A, R6 -L0072: - MOVX @DPTR, A - ORL A, #20h - MOVX @DPTR, A - DJNZ R4, L0073 - RET - -L0041: - LCALL L0048 - MOV 39h, R6 - MOV 3Ah, R7 - LCALL L0049 - MOV 38h, R7 - MOV A, 38h - JNB ACC.1, L0050 - ORL 39h, #80h -L0050: - MOV A, 38h - RRC A - RRC A - ANL A, #3Fh - MOV 38h, A - RET - - DB 053h - DB 01Ah - DB 0EFh - DB 090h - DB 0D0h - DB 00h - DB 0E5h - DB 01Ah - DB 0F0h - DB 07Fh - DB 05h - DB 012h - DB 0Ch - DB 0D0h - DB 012h - DB 0Bh - DB 0D7h - DB 043h - DB 01Ah - DB 010h - DB 090h - DB 0D0h - DB 00h - DB 0E5h - DB 01Ah - DB 0F0h - DB 022h -L0029: - LCALL L0185 - LCALL L0186 -L0256: - MOV DPTR, #0D000h - MOVX A, @DPTR - JB ACC.1, L0255 - LCALL L0024 - LCALL L0077 - SJMP L0256 - -L0255: - RET - -L0034: - LCALL L0041 - LCALL L0042 - MOV A, 9h - JNZ L0043 - MOV A, 0Ah - JNZ L0043 - MOV A, 0Bh - JNZ L0043 - LCALL L0044 -L0043: - RET - -L0188: - MOV 31h, R5 - MOV 32h, R3 - LCALL L0067 - MOV R7, 31h - LCALL L0067 - MOV R7, 32h - LCALL L0067 - MOV R7, 33h - LJMP L0067 - -L0190: - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - LCALL L0067 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - -L0195: - LCALL L0058 - LCALL L0059 - CLR A - MOV R3, A - MOV R5, #0D0h - MOV R7, 34h - LCALL L0201 - LCALL L0061 - LJMP L0062 - -L0033: - ANL 1Ah, #0FBh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - ANL 1Ah, #0FDh - MOV A, 1Ah - MOVX @DPTR, A - MOV R7, #3Ch - LJMP L0065 - -L0025: - JNB 9h, L0183 - LCALL L0121 - JC L0183 - CLR P1.2 - CLR P1.3 - CLR 9h - LCALL L0184 -L0183: - RET - -L0177: - MOV C, 1Fh - MOV 21h, C - MOV 30h, 2Fh - MOV C, 20h - MOV 22h, C - CLR 23h - CLR 24h - LJMP L0178 - -L0106: - MOV A, R7 - SWAP A - ANL A, #0Fh - MOV DPTR, #0353h - MOVC A, @A+DPTR - MOV R6, A - MOV A, R7 - ANL A, #0Fh - MOVC A, @A+DPTR - ADD A, R6 - MOV R7, A - RET - -L0018: - MOV DPTR, #0E000h - MOVX A, @DPTR - ORL A, #2h - ANL A, #0FEh - MOV R6, A - MOVX @DPTR, A - ANL A, #0FDh - MOVX @DPTR, A - MOV A, R6 - MOVX @DPTR, A - RET - -L0062: - LCALL L0059 - LCALL L0063 - MOV 1Bh, C - LCALL L0061 - JB 1Bh, L0062 - RET - -L0099: - JNB 5h, L0101 - JB 0Eh, L0101 - JB 2h, L0101 - SETB C - SJMP L0102 - -L0101: - CLR C -L0102: - RET - -L0037: - JNB 3h, L0104 - JB 0Ah, L0104 - JB 2h, L0104 - SETB C - SJMP L0105 - -L0104: - CLR C -L0105: - RET - -L0240: - MOV R2, 6h - MOV A, R2 - ADD A, #0D0h - MOV R5, A - MOV A, R7 - MOV R3, A - MOV R7, 34h - LCALL L0249 - RET - -L0250: - MOV A, R7 - ADD A, #0FEh - MOV R3, A - MOV R5, #0EFh - MOV R7, 34h - LCALL L0249 - RET - -L0082: - SETB 2h - SETB 0Dh - CLR P1.6 - SETB 10h - CLR P1.4 - RET - -L0019: - MOV A, R7 - MOV DPTR, #02C9h - MOVC A, @A+DPTR - XRL A, R5 - JZ L0257 -L0258: - SJMP L0258 - -L0257: - RET - -L0098: - LCALL L0099 - JNC L0100 - CLR 10h - SETB P1.4 -L0100: - RET - -L0097: - LCALL L0037 - JNC L0103 - CLR 0Dh - SETB P1.6 -L0103: - RET - -L0020: - MOV A, TMOD - ANL A, #0F0h - ORL A, #1h - MOV TMOD, A - RET - -L0109: - JNB TF0, L0123 - CLR TR0 - SETB C - RET - -L0123: - CLR C - RET - - DB 030h - DB 0CFh - DB 04h - DB 0C2h - DB 0CAh - DB 0D3h - DB 022h - DB 0C3h - DB 022h -L0058: - LCALL L0059 - LCALL L0189 - LJMP L0061 - -L0184: - LCALL L0138 -L0139: - CLR 0Eh - LJMP L0098 - -L0095: - CLR 2h - LCALL L0097 - LJMP L0098 - -L0159: - CLR 5h - SETB 10h - CLR P1.4 - RET - -L0162: - CLR 3h - SETB 0Dh - CLR P1.6 - RET - -L0045: - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - -L0059: - JNB 28h, L0074 - LCALL L0075 -L0074: - RET - -L0061: - JNB 28h, L0064 - LCALL L0033 -L0064: - RET - -L0121: - MOV DPTR, #0E000h - MOVX A, @DPTR - RRC A - RET - -L0039: - ANL 1Ah, #0FEh - LJMP L0045 - -L0040: - ORL 1Ah, #1h - LJMP L0045 - - DB 053h - DB 01Ah - DB 0FDh - DB 02h - DB 0Eh - DB 09Bh -L0185: - ORL 1Ah, #2h - LJMP L0045 - - DB 053h - DB 01Ah - DB 0FBh - DB 02h - DB 0Eh - DB 09Bh -L0186: - ORL 1Ah, #4h - LJMP L0045 - -L0044: - ANL 1Ah, #7Fh - LJMP L0045 - - DB 043h - DB 01Ah - DB 080h - DB 02h - DB 0Eh - DB 09Bh -L0175: - SETB 5h - LJMP L0098 - -L0138: - CLR 0Ah - LJMP L0097 - -L0174: - SETB 3h - LJMP L0097 - -L0021: - MOV 1Ah, R7 - LJMP L0045 - -L0189: - MOV R7, #6h - LJMP L0190 - - DB 07Fh - DB 04h - DB 02h - DB 0Dh - DB 067h -L0048: - MOV R6, 36h - MOV R7, 37h - RET - - DB 0E4h - DB 0F5h - DB 0C8h - DB 022h -L0235: - LCALL L0254 - RET - -L0173: - CLR 0Bh - RET - -L0167: - SETB 0Bh - RET - -L0172: - CLR 6h - RET - -L0170: - SETB 6h - RET - -L0049: - MOV R7, 35h - RET - - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh -END diff --git a/site/vortex86ex/dmp_kbd_fw_part1.inc.txt b/site/vortex86ex/dmp_kbd_fw_part1.inc.txt deleted file mode 100755 index 486bf1b..0000000 --- a/site/vortex86ex/dmp_kbd_fw_part1.inc.txt +++ /dev/null @@ -1,531 +0,0 @@ -/* - * This file is part of the coreboot project. - * - * Copyright (C) 2013 DMP Electronics Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - .byte 0x02, 0x04, 0xa3, 0x02, 0x0a, 0xfb, 0xef, 0x75 - .byte 0xf0, 0x03, 0xa4, 0xff, 0xae, 0x07, 0x1f, 0xee - .byte 0x70, 0xfa, 0x22, 0x02, 0x0a, 0xd5, 0x12, 0x09 - .byte 0x5e, 0x7f, 0x30, 0x12, 0x05, 0xfb, 0x90, 0xe0 - .byte 0x00, 0x74, 0x16, 0xf0, 0x12, 0x0d, 0xda, 0xc2 - .byte 0x92, 0xc2, 0x93, 0xc2, 0x90, 0xd2, 0x91, 0xd2 - .byte 0xb8, 0xd2, 0xba, 0xd2, 0x88, 0xd2, 0xa8, 0xd2 - .byte 0x8a, 0xd2, 0xaa, 0x7d, 0x44, 0xe4, 0xff, 0x12 - .byte 0x0e, 0x3a, 0x7d, 0x4d, 0x0f, 0x12, 0x0e, 0x3a - .byte 0x7d, 0x26, 0x0f, 0x12, 0x0e, 0x3a, 0x7d, 0x50 - .byte 0x0f, 0x12, 0x0e, 0x3a, 0x12, 0x0e, 0x59, 0xd2 - .byte 0xaf, 0x7f, 0xb1, 0x12, 0x0e, 0xf5, 0x90, 0x0f - .byte 0xfe, 0xe4, 0x93, 0xff, 0xb4, 0x55, 0x0a, 0xa3 - .byte 0xe4, 0x93, 0xb4, 0xaa, 0x04, 0xd2, 0x08, 0x80 - .byte 0x10, 0xef, 0xb4, 0x12, 0x0c, 0x90, 0x0f, 0xff - .byte 0xe4, 0x93, 0xb4, 0x34, 0x04, 0xc2, 0x08, 0xc2 - .byte 0x12, 0x12, 0x03, 0x6c, 0x12, 0x0d, 0xa6, 0x12 - .byte 0x01, 0x08, 0x30, 0x01, 0x27, 0x30, 0x12, 0x1f - .byte 0x20, 0x00, 0x1c, 0x30, 0x11, 0x19, 0x12, 0x0d - .byte 0x25, 0x12, 0x09, 0xc4, 0x30, 0x08, 0x05, 0xc2 - .byte 0x1a, 0x12, 0x0a, 0x26, 0x12, 0x0d, 0x92, 0xd2 - .byte 0x00, 0x12, 0x0d, 0x3b, 0x12, 0x07, 0xc2, 0x12 - .byte 0x0d, 0xda, 0xc2, 0x01, 0x12, 0x03, 0x6c, 0x12 - .byte 0x07, 0x2e, 0x30, 0x12, 0xc4, 0x30, 0x00, 0xc1 - .byte 0x90, 0xd0, 0x00, 0xe0, 0x30, 0xe0, 0xba, 0xc2 - .byte 0xaf, 0x12, 0x0e, 0x07, 0x50, 0x0e, 0x12, 0x0e - .byte 0xb6, 0x12, 0x0e, 0xbc, 0xd2, 0x1a, 0x12, 0x0a - .byte 0x26, 0x12, 0x0d, 0x3b, 0xd2, 0xaf, 0x80, 0xa1 - .byte 0xae, 0x03, 0xab, 0x05, 0x53, 0x1a, 0xef, 0x90 - .byte 0xd0, 0x00, 0xe5, 0x1a, 0xf0, 0xad, 0x07, 0x8e - .byte 0x33, 0x7f, 0x20, 0x12, 0x0d, 0x51, 0x43, 0x1a - .byte 0x10, 0x90, 0xd0, 0x00, 0xe5, 0x1a, 0xf0, 0x22 - .byte 0xda, 0x7e, 0x10, 0x09, 0x14, 0x12, 0x0d, 0xa6 - .byte 0x90, 0xe0, 0x00, 0xe0, 0xff, 0x20, 0xe1, 0x03 - .byte 0x02, 0x02, 0xc8, 0xc2, 0xa8, 0xc2, 0xaa, 0x20 - .byte 0x04, 0x03, 0x30, 0x07, 0x05, 0xd2, 0xa8, 0xd2 - .byte 0xaa, 0x22, 0xef, 0xa2, 0xe3, 0x92, 0x1c, 0x90 - .byte 0xf0, 0x00, 0xe0, 0xf5, 0x2c, 0x12, 0x0e, 0x2f - .byte 0xd2, 0xa8, 0xd2, 0xaa, 0x30, 0x1c, 0x03, 0x02 - .byte 0x01, 0xee, 0xc2, 0x1d, 0xc2, 0x1e, 0x20, 0x17 - .byte 0x03, 0x02, 0x01, 0xd4, 0xe5, 0x18, 0x24, 0xe1 - .byte 0x60, 0x3b, 0x24, 0x54, 0x70, 0x03, 0x02, 0x01 - .byte 0xd0, 0x24, 0xfa, 0x60, 0x14, 0x14, 0x60, 0x1e - .byte 0x14, 0x60, 0x1f, 0x14, 0x60, 0x23, 0x24, 0x74 - .byte 0x70, 0x6c, 0xaf, 0x2c, 0x12, 0x05, 0xfb, 0x80 - .byte 0x67, 0xe5, 0x2c, 0x30, 0xe1, 0x04, 0xd2, 0x90 - .byte 0x80, 0x5e, 0xc2, 0x90, 0x80, 0x5a, 0xc2, 0x1f - .byte 0x80, 0x02, 0xd2, 0x1f, 0x85, 0x2c, 0x2f, 0x80 - .byte 0x46, 0xd2, 0x1e, 0x80, 0x4b, 0xe5, 0x2c, 0x70 - .byte 0x1a, 0x12, 0x0c, 0xed, 0x12, 0x08, 0xf2, 0x85 - .byte 0x38, 0x12, 0x85, 0x39, 0x13, 0x85, 0x3a, 0x14 - .byte 0x85, 0x09, 0x15, 0x85, 0x0a, 0x16, 0x85, 0x0b - .byte 0x17, 0x80, 0x2d, 0xe5, 0x2c, 0xc3, 0x94, 0x01 - .byte 0x40, 0x13, 0xe5, 0x2c, 0xd3, 0x94, 0x06, 0x50 - .byte 0x0c, 0xc2, 0x1f, 0x74, 0x11, 0x25, 0x2c, 0xf8 - .byte 0xe6, 0xf5, 0x2f, 0x80, 0x0a, 0xe5, 0x2c, 0xb4 - .byte 0x07, 0x0e, 0xc2, 0x1f, 0x85, 0x3b, 0x2f, 0xd2 - .byte 0x20, 0x12, 0x0d, 0xb8, 0x80, 0x02, 0xd2, 0x1d - .byte 0xc2, 0x17, 0x80, 0x02, 0xd2, 0x1d, 0x30, 0x1d - .byte 0x07, 0xaf, 0x2c, 0x12, 0x05, 0x2f, 0x80, 0x08 - .byte 0x30, 0x1e, 0x05, 0xaf, 0x2c, 0x12, 0x05, 0x97 - .byte 0x12, 0x0e, 0x85, 0x02, 0x02, 0xc2, 0xc2, 0x1d - .byte 0xe5, 0x2c, 0x12, 0x0b, 0x21, 0x02, 0xb7, 0x1f - .byte 0x02, 0x35, 0x20, 0x02, 0xb7, 0x60, 0x02, 0x56 - .byte 0xa7, 0x02, 0x5d, 0xa8, 0x02, 0x64, 0xa9, 0x02 - .byte 0x48, 0xaa, 0x02, 0x64, 0xab, 0x02, 0x6d, 0xad - .byte 0x02, 0x74, 0xae, 0x02, 0x41, 0xc0, 0x02, 0xb7 - .byte 0xcb, 0x02, 0x7b, 0xd0, 0x02, 0xb7, 0xd1, 0x02 - .byte 0xb7, 0xd2, 0x02, 0xb7, 0xd3, 0x02, 0xb7, 0xd4 - .byte 0x02, 0x98, 0xdd, 0x02, 0x8d, 0xdf, 0x02, 0xa8 - .byte 0xfe, 0x00, 0x00, 0x02, 0xb5, 0x12, 0x0a, 0x83 - .byte 0x8f, 0x2d, 0xc2, 0x1f, 0x85, 0x2d, 0x2f, 0x80 - .byte 0x28, 0xc2, 0x1f, 0x75, 0x2f, 0xff, 0x80, 0x21 - .byte 0x7f, 0x30, 0x12, 0x05, 0xfb, 0xc2, 0x1f, 0x75 - .byte 0x2f, 0x55, 0xc2, 0x20, 0x80, 0x4b, 0x12, 0x0e - .byte 0x8d, 0xd2, 0x1d, 0x80, 0x5a, 0x12, 0x0e, 0xe6 - .byte 0xd2, 0x1d, 0x80, 0x53, 0xc2, 0x1f, 0xe4, 0xf5 - .byte 0x2f, 0xd2, 0x20, 0x80, 0x34, 0x12, 0x0e, 0x94 - .byte 0xd2, 0x1d, 0x80, 0x43, 0x12, 0x0e, 0xf0, 0xd2 - .byte 0x1d, 0x80, 0x3c, 0x75, 0x2e, 0x01, 0x30, 0x90 - .byte 0x03, 0x43, 0x2e, 0x02, 0xc2, 0x1f, 0x85, 0x2e - .byte 0x2f, 0xd2, 0x20, 0x80, 0x14, 0xd2, 0x90, 0xc2 - .byte 0x1f, 0x85, 0x0f, 0x2f, 0xd2, 0x20, 0x80, 0x09 - .byte 0xc2, 0x90, 0xc2, 0x1f, 0x85, 0x0f, 0x2f, 0xd2 - .byte 0x20, 0x12, 0x0d, 0xb8, 0xd2, 0x1d, 0x80, 0x0f - .byte 0xc2, 0x91, 0x7f, 0x05, 0x12, 0x00, 0x06, 0xd2 - .byte 0x91, 0xd2, 0x1d, 0x80, 0x02, 0xd2, 0x1d, 0x30 - .byte 0x1d, 0x03, 0x12, 0x0e, 0x85, 0xd2, 0x17, 0x85 - .byte 0x2c, 0x18, 0x20, 0x01, 0x03, 0x12, 0x0d, 0xda - .byte 0x22, 0x44, 0x4d, 0x26, 0x50, 0x00, 0xff, 0x43 - .byte 0x41, 0x3f, 0x3d, 0x3b, 0x3c, 0x58, 0x64, 0x44 - .byte 0x42, 0x40, 0x3e, 0x0f, 0x29, 0x59, 0x65, 0x38 - .byte 0x2a, 0x70, 0x1d, 0x10, 0x02, 0x5a, 0x66, 0x71 - .byte 0x2c, 0x1f, 0x1e, 0x11, 0x03, 0x5b, 0x67, 0x2e - .byte 0x2d, 0x20, 0x12, 0x05, 0x04, 0x5c, 0x68, 0x39 - .byte 0x2f, 0x21, 0x14, 0x13, 0x06, 0x5d, 0x69, 0x31 - .byte 0x30, 0x23, 0x22, 0x15, 0x07, 0x5e, 0x6a, 0x72 - .byte 0x32, 0x24, 0x16, 0x08, 0x09, 0x5f, 0x6b, 0x33 - .byte 0x25, 0x17, 0x18, 0x0b, 0x0a, 0x60, 0x6c, 0x34 - .byte 0x35, 0x26, 0x27, 0x19, 0x0c, 0x61, 0x6d, 0x73 - .byte 0x28, 0x74, 0x1a, 0x0d, 0x62, 0x6e, 0x3a, 0x36 - .byte 0x1c, 0x1b, 0x75, 0x2b, 0x63, 0x76, 0x55, 0x56 - .byte 0x77, 0x78, 0x79, 0x7a, 0x0e, 0x7b, 0x7c, 0x4f - .byte 0x7d, 0x4b, 0x47, 0x7e, 0x7f, 0x6f, 0x52, 0x53 - .byte 0x50, 0x4c, 0x4d, 0x48, 0x01, 0x45, 0x57, 0x4e - .byte 0x51, 0x4a, 0x37, 0x49, 0x46, 0x54, 0x00, 0x00 - .byte 0x00, 0x41, 0x54, 0x00, 0x01, 0x01, 0x02, 0x01 - .byte 0x02, 0x02, 0x03, 0x01, 0x02, 0x02, 0x03, 0x02 - .byte 0x03, 0x03, 0x04, 0x14, 0x23, 0x14, 0x3a, 0x14 - .byte 0x4d, 0x42, 0x32, 0x23, 0x20, 0x0c, 0x03, 0x02 - .byte 0x04, 0x08, 0xc2, 0x1a, 0xc2, 0x1b, 0xe5, 0x10 - .byte 0x30, 0xe7, 0x57, 0xe5, 0x11, 0xae, 0x10, 0x78 - .byte 0x06, 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9 - .byte 0xf5, 0x26, 0xff, 0x12, 0x0d, 0xca, 0x8f, 0x27 - .byte 0xe5, 0x10, 0xc4, 0x13, 0x13, 0x54, 0x03, 0xff - .byte 0xe5, 0x27, 0x54, 0x01, 0xb5, 0x07, 0x05, 0xe4 - .byte 0x7f, 0x01, 0x80, 0x02, 0x7f, 0x00, 0xef, 0x30 - .byte 0xe0, 0x04, 0xd2, 0x1b, 0x80, 0x24, 0x20, 0x13 - .byte 0x1f, 0xaf, 0x26, 0x12, 0x07, 0x79, 0xaf, 0x26 - .byte 0x12, 0x09, 0xf6, 0x8e, 0x28, 0x8f, 0x29, 0xe5 - .byte 0x29, 0xf4, 0x70, 0x03, 0xe5, 0x28, 0xf4, 0x60 - .byte 0x09, 0x85, 0x29, 0x26, 0xd2, 0x1a, 0x80, 0x02 - .byte 0xd2, 0x1a, 0x30, 0x1a, 0x1b, 0xc2, 0x27, 0x7f - .byte 0x07, 0x12, 0x0b, 0x6c, 0xc2, 0x27, 0x7f, 0x06 - .byte 0x12, 0x0b, 0x6c, 0xa2, 0x13, 0x92, 0x25, 0x85 - .byte 0x26, 0x31, 0x12, 0x08, 0xbb, 0xc2, 0x0c, 0x22 - .byte 0x30, 0x1b, 0x10, 0xa2, 0x13, 0x92, 0x21, 0x75 - .byte 0x30, 0xff, 0xd2, 0x22, 0xc2, 0x23, 0xd2, 0x24 - .byte 0x02, 0x06, 0xee, 0xc2, 0x0c, 0x12, 0x0e, 0x7d - .byte 0x22, 0xe4, 0xf5, 0x26, 0xf5, 0x27, 0x75, 0x28 - .byte 0x0f, 0x75, 0x29, 0xff, 0xe5, 0x27, 0x25, 0x29 - .byte 0xff, 0xe5, 0x26, 0x35, 0x28, 0xc3, 0x13, 0xf5 - .byte 0x2a, 0xef, 0x13, 0xf5, 0x2b, 0xff, 0xae, 0x2a - .byte 0x12, 0x0e, 0x15, 0xbf, 0xff, 0x0e, 0xe5, 0x2b - .byte 0x24, 0xff, 0xf5, 0x29, 0xe5, 0x2a, 0x34, 0xff - .byte 0xf5, 0x28, 0x80, 0x47, 0xef, 0x70, 0x0d, 0xe5 - .byte 0x2b, 0x24, 0x01, 0xf5, 0x27, 0xe4, 0x35, 0x2a - .byte 0xf5, 0x26, 0x80, 0x37, 0x75, 0x2c, 0xff, 0xe4 - .byte 0xf5, 0x2d, 0xe5, 0x2c, 0xc3, 0x13, 0xf5, 0x2c - .byte 0xb5, 0x07, 0x1c, 0xe5, 0x2b, 0xae, 0x2a, 0x78 - .byte 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9 - .byte 0x7c, 0x00, 0x25, 0x2d, 0xff, 0xec, 0x3e, 0xcf - .byte 0x24, 0x01, 0xcf, 0x34, 0x00, 0xfe, 0x22, 0x05 - .byte 0x2d, 0xe5, 0x2d, 0xb4, 0x07, 0xd4, 0x7e, 0xff - .byte 0x7f, 0xff, 0x22, 0xd3, 0xe5, 0x27, 0x95, 0x29 - .byte 0xe5, 0x28, 0x64, 0x80, 0xf8, 0xe5, 0x26, 0x64 - .byte 0x80, 0x98, 0x40, 0x80, 0xe5, 0x27, 0xae, 0x26 - .byte 0x78, 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8 - .byte 0xf9, 0xff, 0x22, 0x78, 0x7f, 0xe4, 0xf6, 0xd8 - .byte 0xfd, 0x75, 0x81, 0x3b, 0x02, 0x04, 0xea, 0x02 - .byte 0x00, 0x16, 0xe4, 0x93, 0xa3, 0xf8, 0xe4, 0x93 - .byte 0xa3, 0x40, 0x03, 0xf6, 0x80, 0x01, 0xf2, 0x08 - .byte 0xdf, 0xf4, 0x80, 0x29, 0xe4, 0x93, 0xa3, 0xf8 - .byte 0x54, 0x07, 0x24, 0x0c, 0xc8, 0xc3, 0x33, 0xc4 - .byte 0x54, 0x0f, 0x44, 0x20, 0xc8, 0x83, 0x40, 0x04 - .byte 0xf4, 0x56, 0x80, 0x01, 0x46, 0xf6, 0xdf, 0xe4 - .byte 0x80, 0x0b, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20 - .byte 0x40, 0x80, 0x90, 0x08, 0x80, 0xe4, 0x7e, 0x01 - .byte 0x93, 0x60, 0xbc, 0xa3, 0xff, 0x54, 0x3f, 0x30 - .byte 0xe5, 0x09, 0x54, 0x1f, 0xfe, 0xe4, 0x93, 0xa3 - .byte 0x60, 0x01, 0x0e, 0xcf, 0x54, 0xc0, 0x25, 0xe0 - .byte 0x60, 0xa8, 0x40, 0xb8, 0xe4, 0x93, 0xa3, 0xfa - .byte 0xe4, 0x93, 0xa3, 0xf8, 0xe4, 0x93, 0xa3, 0xc8 - .byte 0xc5, 0x82, 0xc8, 0xca, 0xc5, 0x83, 0xca, 0xf0 - .byte 0xa3, 0xc8, 0xc5, 0x82, 0xc8, 0xca, 0xc5, 0x83 - .byte 0xca, 0xdf, 0xe9, 0xde, 0xe7, 0x80, 0xbe, 0xd2 - .byte 0x0d, 0xc2, 0x96, 0xd2, 0x0e, 0xd2, 0x10, 0xc2 - .byte 0x94, 0x8f, 0x08, 0x12, 0x0d, 0xca, 0xef, 0x13 - .byte 0xb3, 0x92, 0x14, 0xd2, 0x16, 0xe4, 0xf5, 0x0c - .byte 0x7f, 0x28, 0x12, 0x00, 0x06, 0xc2, 0x97, 0xd2 - .byte 0x03, 0xc2, 0x0a, 0x7f, 0xe8, 0x7e, 0xfd, 0x12 - .byte 0x0c, 0x79, 0xc2, 0x0d, 0xd2, 0x96, 0x30, 0x16 - .byte 0x16, 0x12, 0x0e, 0x62, 0x50, 0xf8, 0xc2, 0xaf - .byte 0xd2, 0x97, 0xc2, 0x21, 0x12, 0x06, 0xe5, 0xc2 - .byte 0x16, 0xe4, 0xf5, 0x0c, 0xd2, 0xaf, 0x22, 0x7f - .byte 0xe8, 0x7e, 0xfd, 0x12, 0x0c, 0x79, 0x20, 0x04 - .byte 0x12, 0x20, 0x0a, 0x0f, 0x12, 0x0e, 0x62, 0x50 - .byte 0xf5, 0xc2, 0xaf, 0xc2, 0x21, 0x12, 0x06, 0xe5 - .byte 0xd2, 0xaf, 0x22, 0x12, 0x07, 0x2e, 0x22, 0xd2 - .byte 0x10, 0xc2, 0x94, 0xd2, 0x0a, 0xd2, 0x0d, 0xc2 - .byte 0x96, 0x8f, 0x08, 0x12, 0x0d, 0xca, 0xef, 0x13 - .byte 0xb3, 0x92, 0x14, 0xd2, 0x16, 0xe4, 0xf5, 0x0e - .byte 0x7f, 0x28, 0x12, 0x00, 0x06, 0xc2, 0x95, 0xd2 - .byte 0x05, 0xc2, 0x0e, 0x7f, 0xe8, 0x7e, 0xfd, 0x12 - .byte 0x0c, 0x79, 0xc2, 0x10, 0xd2, 0x94, 0x30, 0x16 - .byte 0x14, 0x12, 0x0e, 0x62, 0x50, 0xf8, 0xc2, 0xaf - .byte 0xd2, 0x95, 0x12, 0x06, 0xe3, 0xc2, 0x16, 0xe4 - .byte 0xf5, 0x0e, 0xd2, 0xaf, 0x22, 0x7f, 0xe8, 0x7e - .byte 0xfd, 0x12, 0x0c, 0x79, 0x20, 0x07, 0x10, 0x20 - .byte 0x0e, 0x0d, 0x12, 0x0e, 0x62, 0x50, 0xf5, 0xc2 - .byte 0xaf, 0x12, 0x06, 0xe3, 0xd2, 0xaf, 0x22, 0x12 - .byte 0x07, 0x2e, 0x22, 0xad, 0x07, 0xed, 0x30, 0xe6 - .byte 0x04, 0xd2, 0x0f, 0x80, 0x02, 0xc2, 0x0f, 0xed - .byte 0x30, 0xe5, 0x05, 0x12, 0x0e, 0x8d, 0x80, 0x03 - .byte 0x12, 0x0e, 0xe6, 0xed, 0x30, 0xe4, 0x05, 0x12 - .byte 0x0e, 0x94, 0x80, 0x03, 0x12, 0x0e, 0xf0, 0xed - .byte 0x30, 0xe2, 0x04, 0xd2, 0x27, 0x80, 0x02, 0xc2 - .byte 0x27, 0x7f, 0x02, 0x12, 0x0b, 0x6c, 0xed, 0x30 - .byte 0xe1, 0x05, 0x12, 0x0f, 0x14, 0x80, 0x03, 0x12 - .byte 0x0f, 0x11, 0xed, 0x30, 0xe0, 0x0b, 0x12, 0x0f - .byte 0x1a, 0x20, 0x11, 0x08, 0xd2, 0x11, 0xd2, 0x01 - .byte 0x22, 0x12, 0x0f, 0x17, 0x22, 0x7f, 0x02, 0x12 - .byte 0x00, 0x06, 0x20, 0x94, 0x42, 0xa2, 0x95, 0x92 - .byte 0x18, 0x05, 0x0e, 0xe5, 0x0e, 0xb4, 0x01, 0x12 - .byte 0x20, 0x18, 0x0a, 0xd2, 0x07, 0xd2, 0x0a, 0xd2 - .byte 0x0d, 0xc2, 0x96, 0x80, 0x19, 0xe4, 0xf5, 0x0e - .byte 0x80, 0x14, 0xe5, 0x0e, 0xb4, 0x0b, 0x0f, 0xd2 - .byte 0x0e, 0xd2, 0x10, 0xc2, 0x94, 0xd2, 0x13, 0xd2 - .byte 0x0c, 0xe4, 0xf5, 0x0e, 0xc2, 0x07, 0xe5, 0x10 - .byte 0xc3, 0x13, 0xf5, 0x10, 0xe5, 0x11, 0x13, 0xf5 - .byte 0x11, 0x30, 0x18, 0x03, 0x43, 0x10, 0x80, 0x22 - .byte 0x7f, 0x02, 0x12, 0x00, 0x06, 0x20, 0x96, 0x42 - .byte 0xa2, 0x97, 0x92, 0x19, 0x05, 0x0c, 0xe5, 0x0c - .byte 0xb4, 0x01, 0x12, 0x20, 0x19, 0x0a, 0xd2, 0x04 - .byte 0xd2, 0x0e, 0xd2, 0x10, 0xc2, 0x94, 0x80, 0x19 - .byte 0xe4, 0xf5, 0x0c, 0x80, 0x14, 0xe5, 0x0c, 0xb4 - .byte 0x0b, 0x0f, 0xd2, 0x0a, 0xd2, 0x0d, 0xc2, 0x96 - .byte 0xc2, 0x13, 0xd2, 0x0c, 0xe4, 0xf5, 0x0c, 0xc2 - .byte 0x04, 0xe5, 0x10, 0xc3, 0x13, 0xf5, 0x10, 0xe5 - .byte 0x11, 0x13, 0xf5, 0x11, 0x30, 0x19, 0x03, 0x43 - .byte 0x10, 0x80, 0x22, 0xd2, 0x21, 0x75, 0x30, 0xfe - .byte 0xd2, 0x22, 0xd2, 0x23, 0xc2, 0x24, 0xd2, 0x0a - .byte 0xd2, 0x0d, 0xc2, 0x96, 0xd2, 0x0e, 0xd2, 0x10 - .byte 0xc2, 0x94, 0xa2, 0x23, 0x92, 0x27, 0x7f, 0x06 - .byte 0x12, 0x0b, 0x6c, 0xa2, 0x24, 0x92, 0x27, 0x7f - .byte 0x07, 0x12, 0x0b, 0x6c, 0x30, 0x22, 0x0c, 0xa2 - .byte 0x21, 0x92, 0x25, 0x85, 0x30, 0x31, 0x12, 0x08 - .byte 0xbb, 0x80, 0x10, 0xa2, 0x21, 0x92, 0x26, 0x85 - .byte 0x30, 0x32, 0x12, 0x0b, 0xf9, 0xc2, 0x92, 0xc2 - .byte 0x93, 0xd2, 0x09, 0xc2, 0x0c, 0x22, 0x20, 0x04 - .byte 0x03, 0x30, 0x07, 0x44, 0x7f, 0xe8, 0x7e, 0xfd - .byte 0x12, 0x0c, 0x79, 0x20, 0x04, 0x03, 0x30, 0x07 - .byte 0x37, 0x12, 0x0e, 0x62, 0x50, 0xf5, 0xc2, 0xaf - .byte 0x20, 0x04, 0x03, 0x30, 0x07, 0x26, 0x30, 0x04 - .byte 0x04, 0xc2, 0x1f, 0x80, 0x02, 0xd2, 0x1f, 0xe4 - .byte 0xf5, 0x0c, 0xc2, 0x04, 0xf5, 0x0e, 0xc2, 0x07 - .byte 0x12, 0x0e, 0xeb, 0x12, 0x0e, 0x80, 0xd2, 0xaf - .byte 0xa2, 0x1f, 0x92, 0x21, 0x75, 0x30, 0xff, 0x12 - .byte 0x06, 0xe8, 0x80, 0xc7, 0xd2, 0xaf, 0x80, 0xc3 - .byte 0x22, 0xe5, 0x19, 0x60, 0x03, 0xb4, 0x02, 0x09 - .byte 0xe5, 0x0d, 0x90, 0x03, 0x63, 0x93, 0x6f, 0x60 - .byte 0x0b, 0xe5, 0x19, 0x64, 0x01, 0x70, 0x2d, 0xef - .byte 0x64, 0xf0, 0x70, 0x28, 0x05, 0x19, 0xe5, 0x19 - .byte 0xd3, 0x94, 0x02, 0x40, 0x24, 0xe4, 0xf5, 0x19 - .byte 0x05, 0x0d, 0xe5, 0x0d, 0x94, 0x09, 0x40, 0x19 - .byte 0x75, 0x2a, 0x05, 0xe4, 0xff, 0x12, 0x0c, 0x3b - .byte 0x7f, 0x07, 0x12, 0x0c, 0x3b, 0xd5, 0x2a, 0xf3 - .byte 0xe4, 0xf5, 0x0d, 0x22, 0xe4, 0xf5, 0x0d, 0xf5 - .byte 0x19, 0x22, 0xe5, 0x3b, 0x64, 0x15, 0x70, 0x41 - .byte 0x12, 0x0c, 0xed, 0xe5, 0x3a, 0x30, 0xe0, 0x05 - .byte 0x75, 0x26, 0x80, 0x80, 0x03, 0xe4, 0xf5, 0x26 - .byte 0xe5, 0x3a, 0xc3, 0x13, 0xf5, 0x3a, 0xe5, 0x39 - .byte 0x30, 0xe0, 0x03, 0x43, 0x3a, 0x80, 0xe5, 0x39 - .byte 0xc3, 0x13, 0xf5, 0x39, 0xe5, 0x38, 0x30, 0xe0 - .byte 0x03, 0x43, 0x39, 0x80, 0xc2, 0xb6, 0x90, 0xd0 - .byte 0x01, 0xe4, 0xf0, 0xa3, 0xe5, 0x26, 0xf0, 0xa3 - .byte 0xe5, 0x3a, 0xf0, 0xa3, 0xe5, 0x39, 0xf0, 0xd2 - .byte 0xb6, 0x22, 0x20, 0x94, 0x37, 0x05, 0x0e, 0xe5 - .byte 0x0e, 0xd3, 0x94, 0x08, 0x50, 0x12, 0xe5, 0x08 - .byte 0x30, 0xe0, 0x04, 0xd2, 0x95, 0x80, 0x02, 0xc2 - .byte 0x95, 0xe5, 0x08, 0xc3, 0x13, 0xf5, 0x08, 0x22 - .byte 0xe5, 0x0e, 0xb4, 0x09, 0x05, 0xa2, 0x14, 0x92 - .byte 0x95, 0x22, 0xe5, 0x0e, 0xb4, 0x0a, 0x03, 0xd2 - .byte 0x95, 0x22, 0xe5, 0x0e, 0xb4, 0x0b, 0x05, 0xc2 - .byte 0x16, 0xe4, 0xf5, 0x0e, 0x22, 0x20, 0x96, 0x37 - .byte 0x05, 0x0c, 0xe5, 0x0c, 0xd3, 0x94, 0x08, 0x50 - .byte 0x12, 0xe5, 0x08, 0x30, 0xe0, 0x04, 0xd2, 0x97 - .byte 0x80, 0x02, 0xc2, 0x97, 0xe5, 0x08, 0xc3, 0x13 - .byte 0xf5, 0x08, 0x22, 0xe5, 0x0c, 0xb4, 0x09, 0x05 - .byte 0xa2, 0x14, 0x92, 0x97, 0x22, 0xe5, 0x0c, 0xb4 - .byte 0x0a, 0x03, 0xd2, 0x97, 0x22, 0xe5, 0x0c, 0xb4 - .byte 0x0b, 0x05, 0xc2, 0x16, 0xe4, 0xf5, 0x0c, 0x22 - .byte 0x01, 0x0c, 0x00, 0xc1, 0x04, 0xc1, 0x0a, 0xc1 - .byte 0x83, 0xc1, 0x0c, 0xc1, 0x09, 0xc1, 0x02, 0xc1 - .byte 0x16, 0xc1, 0x08, 0x01, 0x0e, 0x00, 0xc1, 0x07 - .byte 0xc1, 0x0e, 0xc1, 0x85, 0xc1, 0x8b, 0xc1, 0x86 - .byte 0xc1, 0x8f, 0xc1, 0x12, 0xc1, 0x00, 0xc1, 0x11 - .byte 0xc1, 0x01, 0xc1, 0x17, 0x01, 0x0d, 0x00, 0x01 - .byte 0x19, 0x00, 0x01, 0x1a, 0x00, 0x01, 0x34, 0x03 - .byte 0xc1, 0x29, 0x00, 0xa2, 0x25, 0x92, 0x26, 0x85 - .byte 0x31, 0x32, 0x12, 0x0b, 0xf9, 0xc2, 0x92, 0xc2 - .byte 0x93, 0x20, 0x25, 0x03, 0x20, 0x06, 0x06, 0x30 - .byte 0x25, 0x1d, 0x30, 0x0b, 0x1a, 0x7f, 0x69, 0x7e - .byte 0x00, 0x12, 0x0c, 0x79, 0x12, 0x0e, 0x62, 0x50 - .byte 0xfb, 0x12, 0x0e, 0xb0, 0x50, 0x09, 0x20, 0x25 - .byte 0x04, 0xd2, 0x92, 0x80, 0x02, 0xd2, 0x93, 0xd2 - .byte 0x09, 0x22, 0x90, 0x0f, 0xfc, 0xe4, 0x93, 0xfe - .byte 0x74, 0x01, 0x93, 0xff, 0xc3, 0x95, 0x3a, 0xf5 - .byte 0x0b, 0xee, 0x95, 0x39, 0xf5, 0x0a, 0x90, 0x0f - .byte 0xfb, 0xe4, 0x93, 0xc3, 0x95, 0x38, 0xf5, 0x09 - .byte 0xc3, 0xef, 0x95, 0x3a, 0xee, 0x95, 0x39, 0x50 - .byte 0x02, 0x15, 0x09, 0xe5, 0x09, 0x30, 0xe7, 0x07 - .byte 0xe4, 0xf5, 0x09, 0xf5, 0x0a, 0xf5, 0x0b, 0x22 - .byte 0x05, 0x35, 0xaf, 0x35, 0xae, 0x07, 0xee, 0x14 - .byte 0x13, 0x13, 0x13, 0x54, 0x1f, 0xfd, 0xee, 0x54 - .byte 0x07, 0xff, 0x70, 0x06, 0xf5, 0x26, 0xf5, 0x27 - .byte 0x80, 0x15, 0x74, 0xff, 0x7e, 0x00, 0xa8, 0x07 - .byte 0x08, 0x80, 0x06, 0xce, 0xa2, 0xe7, 0x13, 0xce - .byte 0x13, 0xd8, 0xf8, 0xf5, 0x27, 0x8e, 0x26, 0xaf - .byte 0x05, 0xad, 0x27, 0x02, 0x0c, 0x5a, 0xe4, 0xff - .byte 0x7e, 0x01, 0xef, 0xc3, 0x94, 0x08, 0x50, 0x27 - .byte 0xef, 0x60, 0x1d, 0x64, 0x01, 0x60, 0x19, 0xef - .byte 0x64, 0x03, 0x60, 0x14, 0xee, 0x44, 0x02, 0x54 - .byte 0xfe, 0x90, 0xe0, 0x00, 0xf0, 0x54, 0xf4, 0xfd - .byte 0xee, 0x54, 0xf4, 0x6d, 0x60, 0x02, 0xd3, 0x22 - .byte 0x0f, 0xee, 0x25, 0xe0, 0xfe, 0x80, 0xd3, 0xc3 - .byte 0x22, 0xad, 0x07, 0xac, 0x06, 0xed, 0x24, 0xff - .byte 0xff, 0xec, 0x34, 0xff, 0xfe, 0xef, 0x78, 0x03 - .byte 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff - .byte 0xed, 0x54, 0x07, 0xfd, 0x70, 0x04, 0xf5, 0x26 - .byte 0x80, 0x0d, 0x74, 0xff, 0xa8, 0x05, 0x08, 0x80 - .byte 0x02, 0xc3, 0x13, 0xd8, 0xfc, 0xf5, 0x26, 0xad - .byte 0x26, 0x02, 0x0a, 0xad, 0xc2, 0x28, 0x20, 0x29 - .byte 0x0f, 0x12, 0x0f, 0x0d, 0x8f, 0x3b, 0xe5, 0x3b - .byte 0xb4, 0x15, 0x03, 0x75, 0x34, 0x1f, 0xd2, 0x29 - .byte 0x12, 0x0a, 0x56, 0x8f, 0x35, 0xe5, 0x35, 0x30 - .byte 0xe0, 0x0c, 0x12, 0x0d, 0x7d, 0x12, 0x09, 0x28 - .byte 0xe4, 0xf5, 0x36, 0xf5, 0x37, 0x22, 0x12, 0x04 - .byte 0x09, 0x8e, 0x36, 0x8f, 0x37, 0x22, 0x20, 0x0f - .byte 0x03, 0x7e, 0x00, 0x22, 0xbf, 0xf0, 0x07, 0xd2 - .byte 0x15, 0x7e, 0xff, 0x7f, 0xff, 0x22, 0xef, 0xc3 - .byte 0x94, 0x85, 0x40, 0x03, 0x7e, 0x00, 0x22, 0xef - .byte 0x90, 0x02, 0xce, 0x93, 0xfe, 0x70, 0x02, 0xfe - .byte 0x22, 0x30, 0x15, 0x03, 0x43, 0x06, 0x80, 0xc2 - .byte 0x15, 0xaf, 0x06, 0x7e, 0x00, 0x22, 0xa2, 0x1a - .byte 0x92, 0x28, 0x05, 0x37, 0xe5, 0x37, 0x70, 0x02 - .byte 0x05, 0x36, 0xc3, 0xe5, 0x36, 0x94, 0x80, 0x50 - .byte 0x07, 0xaf, 0x37, 0xae, 0x36, 0x02, 0x09, 0x91 - .byte 0xe5, 0x35, 0xc3, 0x94, 0x10, 0x50, 0x0e, 0x12 - .byte 0x09, 0x28, 0x12, 0x0d, 0x7d, 0x12, 0x09, 0x28 - .byte 0xe4, 0xf5, 0x36, 0xf5, 0x37, 0x22, 0xe4, 0xff - .byte 0x12, 0x0e, 0x23, 0x7e, 0xff, 0xe4, 0xf5, 0x26 - .byte 0xe5, 0x26, 0xb4, 0x08, 0x07, 0x7f, 0x01, 0x12 - .byte 0x0e, 0x23, 0x7e, 0xff, 0xee, 0xb5, 0x07, 0x03 - .byte 0xaf, 0x26, 0x22, 0xee, 0xc3, 0x13, 0xfe, 0x05 - .byte 0x26, 0xe5, 0x26, 0xd3, 0x94, 0x10, 0x40, 0xe0 - .byte 0x7f, 0xff, 0x22, 0xe4, 0xff, 0x30, 0x0f, 0x02 - .byte 0x7f, 0x40, 0x20, 0x05, 0x03, 0x43, 0x07, 0x20 - .byte 0x20, 0x03, 0x03, 0x43, 0x07, 0x10, 0x90, 0xe0 - .byte 0x00, 0xe0, 0x30, 0xe2, 0x03, 0x43, 0x07, 0x04 - .byte 0x30, 0x0b, 0x03, 0x43, 0x07, 0x02, 0x30, 0x06 - .byte 0x03, 0x43, 0x07, 0x01, 0x22, 0x8e, 0x27, 0x8f - .byte 0x28, 0x8d, 0x29, 0x12, 0x0e, 0x74, 0xe5, 0x27 - .byte 0x24, 0xd0, 0xf5, 0x2a, 0xe5, 0x28, 0xf5, 0x2b - .byte 0x12, 0x0e, 0xa2, 0x85, 0x29, 0x2f, 0xab, 0x2b - .byte 0xad, 0x2a, 0xaf, 0x34, 0x12, 0x0b, 0x47, 0x12 - .byte 0x0e, 0xa9, 0x02, 0x0d, 0xea, 0xc0, 0xe0, 0xc0 - .byte 0xf0, 0xc0, 0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x06 - .byte 0xc0, 0x07, 0x20, 0x10, 0x0b, 0x30, 0x16, 0x05 - .byte 0x12, 0x08, 0x0a, 0x80, 0x03, 0x12, 0x06, 0x4d - .byte 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0xd0, 0xd0, 0xf0 - .byte 0xd0, 0xe0, 0x32, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0 - .byte 0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x06, 0xc0, 0x07 - .byte 0x20, 0x0d, 0x0b, 0x30, 0x16, 0x05, 0x12, 0x08 - .byte 0x45, 0x80, 0x03, 0x12, 0x06, 0x98, 0xd0, 0x07 - .byte 0xd0, 0x06, 0xd0, 0xd0, 0xd0, 0xf0, 0xd0, 0xe0 - .byte 0x32, 0xd0, 0x83, 0xd0, 0x82, 0xf8, 0xe4, 0x93 - .byte 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0d, 0xa3 - .byte 0xa3, 0x93, 0xf8, 0x74, 0x01, 0x93, 0xf5, 0x82 - .byte 0x88, 0x83, 0xe4, 0x73, 0x74, 0x02, 0x93, 0x68 - .byte 0x60, 0xef, 0xa3, 0xa3, 0xa3, 0x80, 0xdf, 0xae - .byte 0x03, 0xab, 0x05, 0x53, 0x1a, 0xef, 0x90, 0xd0 - .byte 0x00, 0xe5, 0x1a, 0xf0, 0xad, 0x07, 0x8e, 0x33 - .byte 0x7f, 0x02, 0x12, 0x0d, 0x51, 0xaf, 0x2f, 0x12 - .byte 0x0c, 0xd0, 0x43, 0x1a, 0x10, 0x90, 0xd0, 0x00 - .byte 0xe5, 0x1a, 0xf0, 0x22, 0x74, 0x01, 0xa8, 0x07 - .byte 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0xff - .byte 0x90, 0xe0, 0x00, 0xe0, 0x44, 0x02, 0xfe, 0xef - .byte 0x30, 0x27, 0x04, 0x42, 0x06, 0x80, 0x03, 0xf4 - .byte 0x52, 0x06, 0x90, 0xe0, 0x00, 0xee, 0xf0, 0x22 - .byte 0x12, 0x0e, 0x07, 0x40, 0x05, 0x12, 0x01, 0x05 - .byte 0x80, 0xf6, 0x12, 0x0e, 0xc8, 0x12, 0x0e, 0xd4 - .byte 0xc2, 0x1f, 0x75, 0x2f, 0xee, 0xa2, 0x06, 0x92 - .byte 0x20, 0x12, 0x0d, 0xb8, 0x90, 0xd0, 0x00, 0xe0 - .byte 0x30, 0xe1, 0xf9, 0x22, 0xae, 0x03, 0xab, 0x05 - .byte 0x53, 0x1a, 0xef, 0x90, 0xd0, 0x00, 0xe5, 0x1a - .byte 0xf0, 0xad, 0x07, 0x8e, 0x33, 0x7f, 0x03, 0x12 - .byte 0x0d, 0x51, 0x12, 0x0b, 0xd7, 0x43, 0x1a, 0x10 - .byte 0x90, 0xd0, 0x00, 0xe5, 0x1a, 0xf0, 0x22, 0xe5 - .byte 0x1a, 0x54, 0x9f, 0xfd, 0x44, 0x20, 0xfe, 0x7c - .byte 0x08, 0xef, 0x25, 0xe0, 0xff, 0x90, 0xd0, 0x00 - .byte 0xed, 0xf0, 0xe0, 0x30, 0xe4, 0x03, 0x43, 0x07 - .byte 0x01, 0x90, 0xd0, 0x00, 0xee, 0xf0, 0xdc, 0xe9 - .byte 0x22, 0x90, 0xf0, 0x00, 0xe5, 0x32, 0xf0, 0xf5 - .byte 0x0f, 0xa2, 0x26, 0x92, 0x27, 0x7f, 0x05, 0x12 - .byte 0x0b, 0x6c, 0x90, 0xe0, 0x00, 0xe0, 0x44, 0x02 - .byte 0x54, 0xfe, 0xfe, 0xf0, 0x44, 0x01, 0xf0, 0xee - .byte 0xf0, 0x22, 0x53, 0x1a, 0xef, 0x90, 0xd0, 0x00 - .byte 0xe5, 0x1a, 0xf0, 0x7f, 0x9f, 0x12, 0x0c, 0xd0 - .byte 0x12, 0x0b, 0xd7, 0x12, 0x0b, 0xd7, 0x12, 0x0b - .byte 0xd7, 0x43, 0x1a, 0x10, 0x90, 0xd0, 0x00, 0xe5 - .byte 0x1a, 0xf0, 0x22, 0x8f, 0x2b, 0x7f, 0xed, 0x12 - .byte 0x05, 0x2f, 0xaf, 0x2b, 0x12, 0x05, 0x2f, 0x75 - .byte 0x2c, 0x0a, 0x7f, 0xe8, 0x7e, 0xfd, 0x12, 0x0c - .byte 0x79, 0x12, 0x0e, 0x62, 0x50, 0xfb, 0xd5, 0x2c - .byte 0xf1, 0x22, 0x8f, 0x28, 0x8d, 0x29, 0x12, 0x0e - .byte 0x74, 0x12, 0x0e, 0xa2, 0xe5, 0x28, 0x24, 0xfe - .byte 0xfb, 0x85, 0x29, 0x2f, 0x7d, 0xef, 0xaf, 0x34 - .byte 0x12, 0x0b, 0x47, 0x12, 0x0e, 0xa9, 0x02, 0x0d - .byte 0xea, 0xad, 0x07, 0xac, 0x06, 0xc2, 0x8c, 0xed - .byte 0xf4, 0xff, 0xec, 0xf4, 0xfe, 0xef, 0x24, 0x01 - .byte 0xfd, 0xe4, 0x3e, 0xf5, 0x8c, 0xaf, 0x05, 0x8f - .byte 0x8a, 0xc2, 0x8d, 0xd2, 0x8c, 0x22, 0xad, 0x07 - .byte 0xac, 0x06, 0xc2, 0xca, 0xed, 0xf4, 0xff, 0xec - .byte 0xf4, 0xfe, 0xef, 0x24, 0x01, 0xfd, 0xe4, 0x3e - .byte 0xf5, 0xcd, 0xaf, 0x05, 0x8f, 0xcc, 0xc2, 0xcf - .byte 0xd2, 0xca, 0x22, 0x53, 0x1a, 0xef, 0x90, 0xd0 - .byte 0x00, 0xe5, 0x1a, 0xf0, 0x7f, 0x05, 0x12, 0x0c - .byte 0xd0, 0x12, 0x0b, 0xd7, 0x43, 0x1a, 0x10, 0x90 - .byte 0xd0, 0x00, 0xe5, 0x1a, 0xf0, 0xef, 0x13, 0x22 - .byte 0xe5, 0x1a, 0x54, 0x9f, 0xfe, 0x44, 0x40, 0xfd - .byte 0x7c, 0x08, 0x90, 0xd0, 0x00, 0xef, 0x33, 0xff - .byte 0x50, 0x03, 0xed, 0x80, 0x01, 0xee, 0xf0, 0x44 - .byte 0x20, 0xf0, 0xdc, 0xf1, 0x22, 0x12, 0x0f, 0x04 - .byte 0x8e, 0x39, 0x8f, 0x3a, 0x12, 0x0f, 0x1d, 0x8f - .byte 0x38, 0xe5, 0x38, 0x30, 0xe1, 0x03, 0x43, 0x39 - .byte 0x80, 0xe5, 0x38, 0x13, 0x13, 0x54, 0x3f, 0xf5 - .byte 0x38, 0x22, 0x53, 0x1a, 0xef, 0x90, 0xd0, 0x00 - .byte 0xe5, 0x1a, 0xf0, 0x7f, 0x05, 0x12, 0x0c, 0xd0 - .byte 0x12, 0x0b, 0xd7, 0x43, 0x1a, 0x10, 0x90, 0xd0 - .byte 0x00, 0xe5, 0x1a, 0xf0, 0x22, 0x12, 0x0e, 0xc8 - .byte 0x12, 0x0e, 0xd4, 0x90, 0xd0, 0x00, 0xe0, 0x20 - .byte 0xe1, 0x08, 0x12, 0x03, 0x6c, 0x12, 0x01, 0x05 - .byte 0x80, 0xf1, 0x22, 0x12, 0x0c, 0xed, 0x12, 0x08 - .byte 0xf2, 0xe5, 0x09, 0x70, 0x0b, 0xe5, 0x0a, 0x70 - .byte 0x07, 0xe5, 0x0b, 0x70, 0x03, 0x12, 0x0e, 0xda - .byte 0x22, 0x8d, 0x31, 0x8b, 0x32, 0x12, 0x0c, 0xd0 - .byte 0xaf, 0x31, 0x12, 0x0c, 0xd0, 0xaf, 0x32, 0x12 - .byte 0x0c, 0xd0, 0xaf, 0x33, 0x02, 0x0c, 0xd0, 0x53 - .byte 0x1a, 0xef, 0x90, 0xd0, 0x00, 0xe5, 0x1a, 0xf0 - .byte 0x12, 0x0c, 0xd0, 0x43, 0x1a, 0x10, 0x90, 0xd0 - .byte 0x00, 0xe5, 0x1a, 0xf0, 0x22, 0x12, 0x0e, 0x74 - .byte 0x12, 0x0e, 0xa2, 0xe4, 0xfb, 0x7d, 0xd0, 0xaf - .byte 0x34, 0x12, 0x00, 0xe0, 0x12, 0x0e, 0xa9, 0x02 - .byte 0x0d, 0xea, 0x53, 0x1a, 0xfb, 0x90, 0xd0, 0x00 - .byte 0xe5, 0x1a, 0xf0, 0x53, 0x1a, 0xfd, 0xe5, 0x1a - .byte 0xf0, 0x7f, 0x3c, 0x02, 0x00, 0x06, 0x30, 0x09 - .byte 0x0e, 0x12, 0x0e, 0xb0, 0x40, 0x09, 0xc2, 0x92 - .byte 0xc2, 0x93, 0xc2, 0x09, 0x12, 0x0e, 0x7d, 0x22 - .byte 0xa2, 0x1f, 0x92, 0x21, 0x85, 0x2f, 0x30, 0xa2 - .byte 0x20, 0x92, 0x22, 0xc2, 0x23, 0xc2, 0x24, 0x02 - .byte 0x06, 0xee, 0xef, 0xc4, 0x54, 0x0f, 0x90, 0x03 - .byte 0x53, 0x93, 0xfe, 0xef, 0x54, 0x0f, 0x93, 0x2e - .byte 0xff, 0x22, 0x90, 0xe0, 0x00, 0xe0, 0x44, 0x02 - .byte 0x54, 0xfe, 0xfe, 0xf0, 0x54, 0xfd, 0xf0, 0xee - .byte 0xf0, 0x22, 0x12, 0x0e, 0xa2, 0x12, 0x0c, 0xb3 - .byte 0x92, 0x1b, 0x12, 0x0e, 0xa9, 0x20, 0x1b, 0xf2 - .byte 0x22, 0x30, 0x05, 0x09, 0x20, 0x0e, 0x06, 0x20 - .byte 0x02, 0x03, 0xd3, 0x80, 0x01, 0xc3, 0x22, 0x30 - .byte 0x03, 0x09, 0x20, 0x0a, 0x06, 0x20, 0x02, 0x03 - .byte 0xd3, 0x80, 0x01, 0xc3, 0x22, 0xaa, 0x06, 0xea - .byte 0x24, 0xd0, 0xfd, 0xef, 0xfb, 0xaf, 0x34, 0x12 - .byte 0x0b, 0xb4, 0x22, 0xef, 0x24, 0xfe, 0xfb, 0x7d - .byte 0xef, 0xaf, 0x34, 0x12, 0x0b, 0xb4, 0x22, 0xd2 - .byte 0x02, 0xd2, 0x0d, 0xc2, 0x96, 0xd2, 0x10, 0xc2 - .byte 0x94, 0x22, 0xef, 0x90, 0x02, 0xc9, 0x93, 0x6d - .byte 0x60, 0x02, 0x80, 0xfe, 0x22, 0x12, 0x0d, 0xf9 - .byte 0x50, 0x04, 0xc2, 0x10, 0xd2, 0x94, 0x22, 0x12 - .byte 0x0e, 0x07, 0x50, 0x04, 0xc2, 0x0d, 0xd2, 0x96 - .byte 0x22, 0xe5, 0x89, 0x54, 0xf0, 0x44, 0x01, 0xf5 - .byte 0x89, 0x22, 0x30, 0x8d, 0x04, 0xc2, 0x8c, 0xd3 - .byte 0x22, 0xc3, 0x22, 0x30, 0xcf, 0x04, 0xc2, 0xca - .byte 0xd3, 0x22, 0xc3, 0x22, 0x12, 0x0e, 0xa2, 0x12 - .byte 0x0e, 0xfa, 0x02, 0x0e, 0xa9, 0x12, 0x0e, 0xeb - .byte 0xc2, 0x0e, 0x02, 0x0e, 0x45, 0xc2, 0x02, 0x12 - .byte 0x0e, 0x4f, 0x02, 0x0e, 0x45, 0xc2, 0x05, 0xd2 - .byte 0x10, 0xc2, 0x94, 0x22, 0xc2, 0x03, 0xd2, 0x0d - .byte 0xc2, 0x96, 0x22, 0x90, 0xd0, 0x00, 0xe5, 0x1a - .byte 0xf0, 0x22, 0x30, 0x28, 0x03, 0x12, 0x0b, 0x90 - .byte 0x22, 0x30, 0x28, 0x03, 0x12, 0x0d, 0x92, 0x22 - .byte 0x90, 0xe0, 0x00, 0xe0, 0x13, 0x22, 0x53, 0x1a - .byte 0xfe, 0x02, 0x0e, 0x9b, 0x43, 0x1a, 0x01, 0x02 - .byte 0x0e, 0x9b, 0x53, 0x1a, 0xfd, 0x02, 0x0e, 0x9b - .byte 0x43, 0x1a, 0x02, 0x02, 0x0e, 0x9b, 0x53, 0x1a - .byte 0xfb, 0x02, 0x0e, 0x9b, 0x43, 0x1a, 0x04, 0x02 - .byte 0x0e, 0x9b, 0x53, 0x1a, 0x7f, 0x02, 0x0e, 0x9b - .byte 0x43, 0x1a, 0x80, 0x02, 0x0e, 0x9b, 0xd2, 0x05 - .byte 0x02, 0x0e, 0x45, 0xc2, 0x0a, 0x02, 0x0e, 0x4f - .byte 0xd2, 0x03, 0x02, 0x0e, 0x4f, 0x8f, 0x1a, 0x02 - .byte 0x0e, 0x9b, 0x7f, 0x06, 0x02, 0x0d, 0x67, 0x7f - .byte 0x04, 0x02, 0x0d, 0x67, 0xae, 0x36, 0xaf, 0x37 - .byte 0x22, 0xe4, 0xf5, 0xc8, 0x22, 0x12, 0x0c, 0x1a - .byte 0x22, 0xc2, 0x0b, 0x22, 0xd2, 0x0b, 0x22, 0xc2 - .byte 0x06, 0x22, 0xd2, 0x06, 0x22, 0xaf, 0x35, 0x22 - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff diff --git a/site/vortex86ex/index.php b/site/vortex86ex/index.php deleted file mode 100644 index 8a1370a..0000000 --- a/site/vortex86ex/index.php +++ /dev/null @@ -1,307 +0,0 @@ - - - - - - - - - dmp vortex86ex in libreboot - - - - - - - -
- -
- -

dmp vortex86ex in libreboot

- -

- small embedded system (SoC), i586 CPU - made by a company called DMP. Seems like there are no blobs except a small firmware - for a keyboard controller (PS/2), could use usb keyboard instead if - the ps/2 'blob' is an issue. -

-

- (Back to homepage) -

- -

- Last updated 00:22 UTC+0100 on November 23rd, 2014 -

- -
- - -
- -

#libreboot on November 15th, 2014

- -
-<pehjota> After the conversation yesterday about KolibriOS, I stumbled upon some hardware that community seems to like: the Vortex86 series of i586-compatible SoCs and the DMP EBOX nettops that use those SoCs.  coreboot supports one computer by DMP (src/mainboard/dmp/vortex86ex/) which appears to be the EBOX-3100 (the only EBOX nettop AFAICT without VGA).  Three years ago someone ported coreboot to the
-<pehjota> EBOX-3300MX but apparently never upstreamed that work.  These Vortex86 SoCs look pretty good, freedom-wise: I think there's no microcode at all, the VGA cores don't seem to need option ROMs, and there are no blobs for things like ME/MRC/AGESA.  They have relatively low CPU clock rates (most at 600 or 933 MHz), so they aren't great for compiling or gaming.  But they're sold as nettops, thin clients,
-<pehjota> and embedded systems, and the prices ($95–$269 from the US distributor) aren't bad.
-<pehjota> DMP EBOX computers: http://www.compactpc.com.tw/en/index.html.  EBOX-3300MX coreboot port: https://github.com/XVilka/coreboot (last six commits).  Basic (and incomplete) information on the Vortex86 SoCs: http://www.vortex86.com/.  Some technical overviews and resources: http://www.dmp.com.tw/tech/.  DMP's BusyBox/Linux distribution (with a Linux config file but apparently no source code):
-<pehjota> http://www.dmp.com.tw/tech/os-xlinux/.
-
- -

#libreboot on November 16th, 2014

- -
-<fchmmr> pehjota, I added info about those vortex86 machines to libreboot.org/release.html and to git. 
-<fchmmr> By the way, xvilka (the person behind those commits on that github page) is in #coreboot at the moment. 
-<pehjota> Cool.  I can't discuss it right now either (busy and have to go idle soon), but I'm interested in his work and possibly seeing at least EBOX-3350MX (a nice cheap one with VGA) supported as well.
-<pehjota> The EBOX systems are cheap (once you add the cost of a power supply and enclosure to a BBB, it isn't much cheaper than an EBOX is) and most have VGA.  Some have dual Ethernet and miniPCI.
-
-<mtjm> what is in dmp_kbd_fw_part1.inc in coreboot sources?
-<fchmmr> mtjm, coreboot/src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc is part of the "DEBLOB" file in libreboot. 
-<fchmmr> I'll check it's contents in a coreboot clone. 
-<fchmmr> it's referenced (included) by src/cpu/dmp/vortex86ex/biosdata.{inc,lds}
-<fchmmr> src/cpu/dmp/vortex86ex/biosdata.inc: #include "src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc"
-<fchmmr> src/cpu/dmp/vortex86ex/Makefile.inc:chipset_bootblock_inc += $(src)/cpu/dmp/vortex86ex/biosdata.inc
-<mtjm> are there other blobs for that platform?
-<mtjm> for checking if it's code or data, see code that uses it (hardware only here?) and relevant documentation; if a disassembler produces reasonable code for an appropriate ISA, then it's most probably code, otherwise it's unknown
-<mtjm> (or is it e.g. a keymap?)
-<fchmmr> As far as I can tell, src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc is the only blob
-<fchmmr> xvilka will know more, I'm sure
-I then asked for more info in #coreboot and emailed Andrew Wu (original maintainer for that board) asking the same question
-
- -

#coreboot on November 16th, 2014

- -
-<fchmmr> xvilka, what is src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc for? What kind of data is it?
-<fchmmr> Is there a document that describes this data?
-<idwer> fchmmr: you haven't looked at biosdata.inc/.lds then
-<ruik> fchmmr: i think it is firmware for keyboard controller havent check
-<fchmmr> idwer, i looked at biosdata.inc, not lds. checking now. 
-<fchmmr> ruik, keyboard as in ps/2 keyboard?
-<ruik> fchmmr: yes
-<ruik> fchmmr: could be 8051
-<ruik> 0x2 can be LJMP
-
- -

back to #libreboot on November 16th, 2014

- -
-<fchmmr> mtjm, just a hunch from #coreboot discussion: I think it might just be for PS/2 keyboards, not sure. 
-<fchmmr> If that is the case though, you could basically just ignore it (not use it) and use a usb keyboard, I imagine.  
-
-<pehjota> fchmmr: The EBOX-3100 (only Vortex86EX computer by DMP: <http://www.compactpc.com.tw/en/product/EBOX-3100/ebox-3100_1.html>.
-<fchmmr> coreboot menuconfig just says DMP -> Vortex86EX
-<pehjota> Yeah, it doesn't say which computer that is, but I'm guessing it's the EBOX-3100.
-<fchmmr> maybe there are more that also work. 
-<fchmmr> I found a few "86duino" boards for isntance. 
-<fchmmr> http://www.bttr-software.de/forum/mix_entry.php?id=13074
-<fchmmr> http://www.86duino.com/?page_id=85/installation-troubleshooting-1/recompiling-coreboot-seabios-need-config-files
-<pehjota> Yeah, there's 86duino which supposedly comes with coreboot installed.  There were some old configs posted to a forum but the links are dead.  Other than that I can't find source code.  And it's not in upstream coreboot.
-Surely someone had a git repository somewhere? Was it public (and is it still online)?
-So we need to check all the usual places (github, gitorious, search google/ddg, etc).
-
-<pehjota> Yeah, that thread; the links are dead.
-<fchmmr> tried the wayback machine?
-<fchmmr> https://archive.org/web/
-<pehjota> Oh right, that's a Vortex86EX.  Maybe that's the one supported by coreboot.  DMP sells that one too.
-<fchmmr> a lot of the actual commits in coreboot seem to come from DMP themselves. 
-
-<pehjota> I didn't, but the Wayback Machine usually doesn't archive .zip files or other things that aren't Web documents.
-<fchmmr> sometimes it does. 
-
-<pehjota> Yeah, there's a developer at DMP who contributes this code to coreboot.
-<pehjota> And who is apparently active with KolibriOS too.
-<fchmmr> Andrew Wu
-<pehjota> Yup.
-
-<fchmmr> does trisquel 7 run on i586-only hardware?
-<fchmmr> i thought it was i686
-<fchmmr> I asked in #trisquel
-<pehjota> Not sure.
-<pehjota> Rereading the message in 8522f99 ("Add support for DMP Vortex86EX PCI mainboard.") and looking at <http://www.86duino.com/index.php?p=68>, I think that might be the board.
-<fchmmr> maybe it runs on all vortex86ex soc's
-<pehjota> The code in src/cpu/ should, but src/mainboard/ is specific to individual boards.
-<fchmmr> I meant that maybe the same rom will work on multiple boards. 
-Or maybe all those *many* menuconfig options means that it could...
-
-<pehjota> Although src/mainboard/dmp/vortex86ex/Kconfig appears to support configuration for different Vortex86EX-based boards, which is interesting.
-<pehjota> With defaults for 86Duino ZERO.
-<fchmmr> yes. lots of config options in menuconfig. 
-<fchmmr> the default microcode options when selecting that board is "do not include microcode", which is promising. 
-<pehjota> Yeah, as I said I don't think there's any microcode on Vortex86.  I think the ISA is implemented directly in hardware.
-<fchmmr> Where does it say 86Duino in that Kconfigfile?
-<pehjota> It doesn't; I'm just guessing based on some of the default values.
-<fchmmr>  select BOARD_ROM_KB_256
-<fchmmr> in Kconfig
-<fchmmr> probably couldn't fit GRUB in there, then. Would hvae to use SeaBIOS. 
-<pehjota> And as I said, the initial commit message suggests it could have been originally for the 86Duino ZERO.
-<fchmmr> But if there's no vbios, or if it's a full (and free) vbios implementation, then seabios would be ok. 
-<pehjota> Yeah, it uses SeaBIOS.
-<pehjota> Yup.
-<fchmmr> personally I'd prefer to use GRUB, but seabios is also fine. 
-<fchmmr> GRUB wouldn't fit in such a small space
-<fchmmr> unless you build it with basically no modules
-<pehjota> It's basic VGA hardware with no option ROM AFAICT.  No GPU or anything to initialize.  The Linux driver is just a framebuffer one.
-<fchmmr> this all sounds very promising. 
-<fchmmr> That file for keyboard can apparently be ignored if it's a freedom issue
-<pehjota> So just a framebuffer that gets sent out on VGA.
-<fchmmr> (can use usb keyboard)
-<pehjota> Yeah.
-<fchmmr> <pehjota> So just a framebuffer that gets sent out on VGA.
-<fchmmr> <pehjota> The Linux driver is just a framebuffer one.
-<pehjota> There's no GPU driver enabled in DMP's Linux config, only a couple video framebuffer drivers.
-<fchmmr> I'll ask on the mailing list (coreboot one) who has vortex86 hardware to test on
-<pehjota> The Linux config file is in the "source" .zip files here: <http://www.dmp.com.tw/tech/os-xlinux/>.
-<pehjota> (Old version of Linux.)
-<fchmmr> Source for Vortex86DX/MX: xlinux-5.7-src-dx.zip (4.74 MB)
-<fchmmr> Source for Vortex86SX: xlinux-5.7-src-sx.zip (4.77 MB) 
-<fchmmr> isn't it vortex86ex that we're looking at?
-<pehjota> fchmmr: Yeah, the SoC supported in mainline coreboot is the EX, for which there are apparently no "sources" on that page.  I wouldn't use these systems for routers though; there are cheaper Atheros MIPS boards with dual Ethernet ports and built-in wireless chipsets, which should be able to run U-Boot.
-<pehjota> Good call on asking Andrew Wu.  I was planning to just ask DMP in general about coreboot support for the EBOX systems.
-<pehjota> Personally I'm not all that interested in the EX-based systems like 86Duino.  They don't have VGA, which would be necessary at least for the use cases I currently have in mind.  I think the MX ones are more interesting from a practical perspective (they should be just as potentially free and xvilka ported coreboot to one of them).  DX2 ones are also nice, but more expensive.
-
-DMP sells the 86Duino directly, and distributors sell the EBOX-3100 (as well as the other EBOX computers).
-
- -
- -
- -

Firmware for keyboard

- -

- In coreboot, see src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc. It is believed to be - firmware for a PS/2 keyboard controller, though it's actual purpose is yet to be - confirmed. You could probably exclude this - (libreboot already does, in the DEBLOB script) and plug in a USB keyboard. -

- -

- A copy of dmp_kbd_fw_part1.inc: dmp_kbd_fw_part1.inc.txt. -

- -

- The hex arrays were copied and formated in a PHP file. - This outputs the array in intel hex format. - See results at array.php (for src, clone the libreboot site using the info from the - home page). - The output was then saved as dis.inc and dis.inc.hex. -

- -

- According to ruik in #coreboot IRC channel, this is either 8051 or 8052 assembly code. I installed - 2 disassemblers: dis51 (8051 disassembly) and d52 (8052 disassembly).
- $ dis51 < dis.inc > dmp_kbd_fw_part1.inc.disassembled.dis51.txt
- And for 8052 disassembly:
- $ d52 -dh dis.inc.hex
- $ mv dis.inc.d52 dmp_kbd_fw_part1.inc.disassembled.d52.txt -

- -

- Disassembly results here:
- 8051 (dis51) disassembly: - dmp_kbd_fw_part1.inc.disassembled.dis51.txt - - lots of data (non-instruction) sections, might be unknown instructions from 8052?
- 8052 (d52) disassembly: - dmp_kbd_fw_part1.inc.disassembled.d52.txt - - it's 8051 code. See below. -

- -

- The original dmp_kbd_fw_part1.inc in coreboot also has a GPL licence attached, so it's possible - that DMP might give the source code for this. Otherwise, if all else fails, we have the - disassembled code to try to reverse engineer. -

- -

- Todo's from mtjm: -

-
    -
  • check if there is any documented load address, check if jump addresses are reasonable
  • -
  • check if there are reasonable code sequences (so it's probably really 8051 code)
  • -
  • - make sure that it's really under the GPL, then work on generating the same binary from disassembly - + comments added when trying to understand it -
  • -
  • check if anything reads the code (there are different memory spaces for code and modifiable data)
  • -
  • maybe it has data or unaligned instructions
  • -
  • (check that you disassembled it properly, in other words)
  • -
  • - you want to get code that a machine runs, while you send some (maybe not all) code to it, - that code has instructions that can read the available code and probably does some i/o that - can be used to send that code -
  • -
  • not sure if it would have any bootrom; 8051 starts running code at address 0
  • -
- -

- Andrew Wu replied to my email. The keyboard controller firmware is non-free; no source code available. - The GPL license on it is bogus. So libreboot will simply not include PS/2 keyboard support for this machine, - unless it can be reverse engineered based on the above. (not needed. just use USB) -

- -

- Andrew also said that the firmware is 8051 code, not 8052. The firmware - implements a standard PC/AT 8042 keyboard controller (handling PS/2 KB_CLK, KB_DATA signals, etc) - There are datasheets for this!!. -

- -

- Andrew also said that he doesn't know about specific hardware as he is in sotfware, - so he forwarded me to sales, they/he will let me know what vortex86ex systems are actually available for coreboot. -

- -
-The 8051 PS/2 keyboard controller firmware not only controls PS/2 keyboard/mouse, but also handles some system functions, like system reset, A20 line enable, etc, via I/O port 60h/64h.
-
-(Because standard PC/AT 8042 keyboard controller does so).
-
-In short, if software reads or writes I/O port 60h/64h in vortex86ex, then you need the 8051 firmware, otherwise these I/O ports won’t work correctly.
-
-I think most OSes, like DOS or Windows, will access port 60h/64h on startup, so removing the firmware code may cause many compatibility problems. 
-
- -
-Instead I propose that I take some minimal time to re-disassemble it
-trough the usual free software tools like gdb, binutils(readelf, and
-objdump), or radare2.
-
-^ other approaches.
-
- -

- If GNU/Linux will work, then it's ok. -

- -
- -
-
- - - -
- - - - -- cgit v0.9.1