summaryrefslogtreecommitdiffstats
path: root/bin/php-gameboy.phar
blob: dbee79828b571ce538716ebfa17b2ed700602f61 (plain)
ofshex dumpascii
0000 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 70 68 70 0a 3c 3f 70 68 70 0a 0a 50 68 61 72 3a 3a #!/usr/bin/env.php.<?php..Phar::
0020 6d 61 70 50 68 61 72 28 22 70 68 70 2d 67 61 6d 65 62 6f 79 2e 70 68 61 72 22 29 3b 0a 0a 72 65 mapPhar("php-gameboy.phar");..re
0040 71 75 69 72 65 5f 6f 6e 63 65 28 22 70 68 61 72 3a 2f 2f 70 68 70 2d 67 61 6d 65 62 6f 79 2e 70 quire_once("phar://php-gameboy.p
0060 68 61 72 2f 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f har/php-terminal-gameboy-emulato
0080 72 2f 62 6f 6f 74 2e 70 68 70 22 29 3b 0a 0a 5f 5f 48 41 4c 54 5f 43 4f 4d 50 49 4c 45 52 28 29 r/boot.php");..__HALT_COMPILER()
00a0 3b 20 3f 3e 0d 0a 0e 0a 00 00 1c 00 00 00 11 00 00 00 01 00 10 00 00 00 70 68 70 2d 67 61 6d 65 ;.?>....................php-game
00c0 62 6f 79 2e 70 68 61 72 00 00 00 00 26 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d boy.phar....&...php-terminal-gam
00e0 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 62 6f 6f 74 2e 70 68 70 d0 05 00 00 b6 8d cf 56 d0 05 eboy-emulator/boot.php.......V..
0100 00 00 68 bf 27 7b b6 01 00 00 00 00 00 00 2b 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 ..h.'{........+...php-terminal-g
0120 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 06 03 00 ameboy-emulator/composer.json...
0140 00 b6 8d cf 56 06 03 00 00 11 fc 50 1e b6 01 00 00 00 00 00 00 31 00 00 00 70 68 70 2d 74 65 72 ....V......P.........1...php-ter
0160 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 6e 64 6f 72 2f 61 75 minal-gameboy-emulator/vendor/au
0180 74 6f 6c 6f 61 64 2e 70 68 70 b7 00 00 00 b6 8d cf 56 b7 00 00 00 4a 1e a9 ab b6 01 00 00 00 00 toload.php.......V....J.........
01a0 00 00 41 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 ..A...php-terminal-gameboy-emula
01c0 74 6f 72 2f 73 72 63 2f 43 61 6e 76 61 73 2f 44 72 61 77 43 6f 6e 74 65 78 74 49 6e 74 65 72 66 tor/src/Canvas/DrawContextInterf
01e0 61 63 65 2e 70 68 70 7d 01 00 00 b6 8d cf 56 7d 01 00 00 54 21 ab 24 b6 01 00 00 00 00 00 00 3b ace.php}......V}...T!.$........;
0200 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 ...php-terminal-gameboy-emulator
0220 2f 73 72 63 2f 43 61 6e 76 61 73 2f 54 65 72 6d 69 6e 61 6c 43 61 6e 76 61 73 2e 70 68 70 ca 07 /src/Canvas/TerminalCanvas.php..
0240 00 00 b6 8d cf 56 ca 07 00 00 c7 3b 16 07 b6 01 00 00 00 00 00 00 2e 00 00 00 70 68 70 2d 74 65 .....V.....;..............php-te
0260 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 73 72 63 2f 43 62 6f 70 rminal-gameboy-emulator/src/Cbop
0280 63 6f 64 65 2e 70 68 70 9b e0 00 00 b6 8d cf 56 9b e0 00 00 1a 53 67 67 b6 01 00 00 00 00 00 00 code.php.......V.....Sgg........
02a0 2a 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f *...php-terminal-gameboy-emulato
02c0 72 2f 73 72 63 2f 43 6f 72 65 2e 70 68 70 b7 a4 01 00 b6 8d cf 56 b7 a4 01 00 da bb 72 be b6 01 r/src/Core.php.......V......r...
02e0 00 00 00 00 00 00 2a 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 ......*...php-terminal-gameboy-e
0300 6d 75 6c 61 74 6f 72 2f 73 72 63 2f 44 61 74 61 2e 70 68 70 9f 4b 00 00 b6 8d cf 56 9f 4b 00 00 mulator/src/Data.php.K.....V.K..
0320 e3 d9 e6 11 b6 01 00 00 00 00 00 00 2e 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d ................php-terminal-gam
0340 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 73 72 63 2f 4b 65 79 62 6f 61 72 64 2e 70 68 70 29 05 eboy-emulator/src/Keyboard.php).
0360 00 00 b6 8d cf 56 29 05 00 00 66 be ab f1 b6 01 00 00 00 00 00 00 33 00 00 00 70 68 70 2d 74 65 .....V)...f...........3...php-te
0380 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 73 72 63 2f 4c 63 64 43 rminal-gameboy-emulator/src/LcdC
03a0 6f 6e 74 72 6f 6c 6c 65 72 2e 70 68 70 bf 15 00 00 b6 8d cf 56 bf 15 00 00 c6 09 eb d5 b6 01 00 ontroller.php.......V...........
03c0 00 00 00 00 00 2c 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d .....,...php-terminal-gameboy-em
03e0 75 6c 61 74 6f 72 2f 73 72 63 2f 4f 70 63 6f 64 65 2e 70 68 70 f7 75 01 00 b6 8d cf 56 f7 75 01 ulator/src/Opcode.php.u.....V.u.
0400 00 3b ca ff 39 b6 01 00 00 00 00 00 00 2e 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 .;..9............php-terminal-ga
0420 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 73 72 63 2f 53 65 74 74 69 6e 67 73 2e 70 68 70 02 meboy-emulator/src/Settings.php.
0440 07 00 00 b6 8d cf 56 02 07 00 00 82 84 43 25 b6 01 00 00 00 00 00 00 30 00 00 00 70 68 70 2d 74 ......V......C%........0...php-t
0460 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 73 72 63 2f 54 49 43 erminal-gameboy-emulator/src/TIC
0480 4b 54 61 62 6c 65 73 2e 70 68 70 01 09 00 00 b6 8d cf 56 01 09 00 00 db e9 3c 51 b6 01 00 00 00 KTables.php.......V......<Q.....
04a0 00 00 00 3d 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c ...=...php-terminal-gameboy-emul
04c0 61 74 6f 72 2f 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 43 6c 61 73 73 4c 6f 61 64 65 72 ator/vendor/composer/ClassLoader
04e0 2e 70 68 70 b2 30 00 00 b6 8d cf 56 b2 30 00 00 fa 81 dd 5d b6 01 00 00 00 00 00 00 43 00 00 00 .php.0.....V.0.....]........C...
0500 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 php-terminal-gameboy-emulator/ve
0520 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e ndor/composer/autoload_classmap.
0540 70 68 70 c5 9a 00 00 b6 8d cf 56 c5 9a 00 00 a0 19 99 9b b6 01 00 00 00 00 00 00 45 00 00 00 70 php.......V................E...p
0560 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 6e hp-terminal-gameboy-emulator/ven
0580 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 dor/composer/autoload_namespaces
05a0 2e 70 68 70 d8 00 00 00 b6 8d cf 56 d8 00 00 00 7b 22 6e 91 b6 01 00 00 00 00 00 00 3f 00 00 00 .php.......V....{"n.........?...
05c0 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 php-terminal-gameboy-emulator/ve
05e0 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 09 ndor/composer/autoload_psr4.php.
0600 01 00 00 b6 8d cf 56 09 01 00 00 48 0b 21 70 b6 01 00 00 00 00 00 00 3f 00 00 00 70 68 70 2d 74 ......V....H.!p........?...php-t
0620 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 6e 64 6f 72 2f erminal-gameboy-emulator/vendor/
0640 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 1e 05 00 00 b6 8d composer/autoload_real.php......
0660 cf 56 1e 05 00 00 e5 8c cd 0b b6 01 00 00 00 00 00 00 53 00 00 00 70 68 70 2d 74 65 72 6d 69 6e .V................S...php-termin
0680 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 6e 64 6f 72 2f 77 68 61 74 74 al-gameboy-emulator/vendor/whatt
06a0 68 65 6a 65 66 66 2f 64 72 61 77 69 6c 6c 65 2f 65 78 61 6d 70 6c 65 73 2f 49 6d 61 67 65 50 72 hejeff/drawille/examples/ImagePr
06c0 69 6e 74 65 72 2e 70 68 70 e6 07 00 00 b6 8d cf 56 e6 07 00 00 85 63 c7 02 b6 01 00 00 00 00 00 inter.php.......V.....c.........
06e0 00 4c 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 .L...php-terminal-gameboy-emulat
0700 6f 72 2f 76 65 6e 64 6f 72 2f 77 68 61 74 74 68 65 6a 65 66 66 2f 64 72 61 77 69 6c 6c 65 2f 65 or/vendor/whatthejeff/drawille/e
0720 78 61 6d 70 6c 65 73 2f 62 61 73 69 63 2e 70 68 70 5e 04 00 00 b6 8d cf 56 5e 04 00 00 40 3f 0d xamples/basic.php^......V^...@?.
0740 4d b6 01 00 00 00 00 00 00 4f 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f M........O...php-terminal-gamebo
0760 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 6e 64 6f 72 2f 77 68 61 74 74 68 65 6a 65 66 66 2f 64 72 y-emulator/vendor/whatthejeff/dr
0780 61 77 69 6c 6c 65 2f 65 78 61 6d 70 6c 65 73 2f 69 6d 67 32 74 65 72 6d 2e 70 68 70 82 0a 00 00 awille/examples/img2term.php....
07a0 b6 8d cf 56 82 0a 00 00 d8 b8 7e 91 b6 01 00 00 00 00 00 00 53 00 00 00 70 68 70 2d 74 65 72 6d ...V......~.........S...php-term
07c0 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 6e 64 6f 72 2f 77 68 61 inal-gameboy-emulator/vendor/wha
07e0 74 74 68 65 6a 65 66 66 2f 64 72 61 77 69 6c 6c 65 2f 65 78 61 6d 70 6c 65 73 2f 6f 63 74 6f 63 tthejeff/drawille/examples/octoc
0800 61 74 32 74 65 72 6d 2e 70 68 70 7c 0e 00 00 b6 8d cf 56 7c 0e 00 00 6f da 5d a8 b6 01 00 00 00 at2term.php|......V|...o.]......
0820 00 00 00 4d 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c ...M...php-terminal-gameboy-emul
0840 61 74 6f 72 2f 76 65 6e 64 6f 72 2f 77 68 61 74 74 68 65 6a 65 66 66 2f 64 72 61 77 69 6c 6c 65 ator/vendor/whatthejeff/drawille
0860 2f 65 78 61 6d 70 6c 65 73 2f 74 75 72 74 6c 65 2e 70 68 70 fc 01 00 00 b6 8d cf 56 fc 01 00 00 /examples/turtle.php.......V....
0880 2a d4 2e 8b b6 01 00 00 00 00 00 00 50 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d *...........P...php-terminal-gam
08a0 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 6e 64 6f 72 2f 77 68 61 74 74 68 65 6a 65 66 66 eboy-emulator/vendor/whatthejeff
08c0 2f 64 72 61 77 69 6c 6c 65 2f 65 78 61 6d 70 6c 65 73 2f 78 6b 63 64 32 74 65 72 6d 2e 70 68 70 /drawille/examples/xkcd2term.php
08e0 4f 0c 00 00 b6 8d cf 56 4f 0c 00 00 79 cd b1 8e b6 01 00 00 00 00 00 00 51 00 00 00 70 68 70 2d O......VO...y...........Q...php-
0900 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 6e 64 6f 72 terminal-gameboy-emulator/vendor
0920 2f 77 68 61 74 74 68 65 6a 65 66 66 2f 64 72 61 77 69 6c 6c 65 2f 73 72 63 2f 44 72 61 77 69 6c /whatthejeff/drawille/src/Drawil
0940 6c 65 2f 43 61 6e 76 61 73 2e 70 68 70 51 16 00 00 b6 8d cf 56 51 16 00 00 af bd fa f1 b6 01 00 le/Canvas.phpQ......VQ..........
0960 00 00 00 00 00 51 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d .....Q...php-terminal-gameboy-em
0980 75 6c 61 74 6f 72 2f 76 65 6e 64 6f 72 2f 77 68 61 74 74 68 65 6a 65 66 66 2f 64 72 61 77 69 6c ulator/vendor/whatthejeff/drawil
09a0 6c 65 2f 73 72 63 2f 44 72 61 77 69 6c 6c 65 2f 54 75 72 74 6c 65 2e 70 68 70 23 12 00 00 b6 8d le/src/Drawille/Turtle.php#.....
09c0 cf 56 23 12 00 00 0a 8f 07 98 b6 01 00 00 00 00 00 00 57 00 00 00 70 68 70 2d 74 65 72 6d 69 6e .V#...............W...php-termin
09e0 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 2f 76 65 6e 64 6f 72 2f 77 68 61 74 74 al-gameboy-emulator/vendor/whatt
0a00 68 65 6a 65 66 66 2f 64 72 61 77 69 6c 6c 65 2f 74 65 73 74 73 2f 44 72 61 77 69 6c 6c 65 2f 43 hejeff/drawille/tests/Drawille/C
0a20 61 6e 76 61 73 54 65 73 74 2e 70 68 70 16 07 00 00 b6 8d cf 56 16 07 00 00 4b 11 9c 14 b6 01 00 anvasTest.php.......V....K......
0a40 00 00 00 00 00 57 00 00 00 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d .....W...php-terminal-gameboy-em
0a60 75 6c 61 74 6f 72 2f 76 65 6e 64 6f 72 2f 77 68 61 74 74 68 65 6a 65 66 66 2f 64 72 61 77 69 6c ulator/vendor/whatthejeff/drawil
0a80 6c 65 2f 74 65 73 74 73 2f 44 72 61 77 69 6c 6c 65 2f 54 75 72 74 6c 65 54 65 73 74 2e 70 68 70 le/tests/Drawille/TurtleTest.php
0aa0 68 06 00 00 b6 8d cf 56 68 06 00 00 44 fe 9d 5d b6 01 00 00 00 00 00 00 3c 3f 70 68 70 0a 0a 0a h......Vh...D..]........<?php...
0ac0 66 6f 72 65 61 63 68 20 28 5b 27 2e 2e 2f 2e 2e 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 2c 20 foreach.(['../../autoload.php',.
0ae0 27 2e 2e 2f 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 2c 20 27 76 65 6e 64 6f '../vendor/autoload.php',.'vendo
0b00 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 5d 20 61 73 20 24 61 75 74 6f 6c 6f 61 64 29 20 7b r/autoload.php'].as.$autoload).{
0b20 0a 20 20 20 20 24 61 75 74 6f 6c 6f 61 64 20 3d 20 5f 5f 44 49 52 5f 5f 2e 27 2f 27 2e 24 61 75 .....$autoload.=.__DIR__.'/'.$au
0b40 74 6f 6c 6f 61 64 3b 0a 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 61 75 74 toload;.....if.(file_exists($aut
0b60 6f 6c 6f 61 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 20 24 61 75 74 6f 6c oload)).{.........require.$autol
0b80 6f 61 64 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 7d 0a 7d 0a 75 6e 73 65 oad;.........break;.....}.}.unse
0ba0 74 28 24 61 75 74 6f 6c 6f 61 64 29 3b 0a 0a 75 73 65 20 47 61 6d 65 42 6f 79 5c 43 61 6e 76 61 t($autoload);..use.GameBoy\Canva
0bc0 73 5c 54 65 72 6d 69 6e 61 6c 43 61 6e 76 61 73 3b 0a 75 73 65 20 47 61 6d 65 42 6f 79 5c 43 6f s\TerminalCanvas;.use.GameBoy\Co
0be0 72 65 3b 0a 75 73 65 20 47 61 6d 65 42 6f 79 5c 4b 65 79 62 6f 61 72 64 3b 0a 0a 73 65 74 5f 65 re;.use.GameBoy\Keyboard;..set_e
0c00 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 45 78 63 65 70 xception_handler(function.(Excep
0c20 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 66 77 72 69 74 65 28 53 54 tion.$exception).{.....fwrite(ST
0c40 44 45 52 52 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 50 DERR,.$exception->getMessage().P
0c60 48 50 5f 45 4f 4c 29 3b 0a 20 20 20 20 65 78 69 74 28 32 35 34 29 3b 0a 7d 29 3b 0a 0a 69 66 20 HP_EOL);.....exit(254);.});..if.
0c80 28 63 6f 75 6e 74 28 24 61 72 67 76 29 20 3c 20 32 29 20 7b 0a 20 20 20 20 74 68 72 6f 77 20 6e (count($argv).<.2).{.....throw.n
0ca0 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6e 65 65 64 20 74 6f ew.RuntimeException('You.need.to
0cc0 20 70 61 73 73 20 74 68 65 20 52 4f 4d 20 66 69 6c 65 20 6e 61 6d 65 20 28 45 78 3a 20 64 72 6d .pass.the.ROM.file.name.(Ex:.drm
0ce0 61 72 69 6f 2e 72 6f 6d 29 27 29 3b 0a 7d 0a 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 24 61 72 67 ario.rom)');.}..$filename.=.$arg
0d00 76 5b 31 5d 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 6e 61 6d v[1];..if.(!file_exists($filenam
0d20 65 29 29 20 7b 0a 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 e)).{.....throw.new.RuntimeExcep
0d40 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 22 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 tion(sprintf('"%s".does.not.exis
0d60 74 27 2c 20 24 66 69 6c 65 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f t',.$filename));.}..if.(extensio
0d80 6e 5f 6c 6f 61 64 65 64 28 27 78 64 65 62 75 67 27 29 29 20 7b 0a 20 20 20 20 66 77 72 69 74 65 n_loaded('xdebug')).{.....fwrite
0da0 28 53 54 44 45 52 52 2c 20 27 52 75 6e 6e 69 6e 67 20 70 68 70 2d 67 61 6d 65 62 6f 79 20 77 69 (STDERR,.'Running.php-gameboy.wi
0dc0 74 68 20 58 64 65 62 75 67 20 65 6e 61 62 6c 65 64 20 72 65 64 75 63 65 73 20 69 74 73 20 73 70 th.Xdebug.enabled.reduces.its.sp
0de0 65 65 64 20 63 6f 6e 73 69 64 65 72 61 62 6c 79 2e 27 2e 50 48 50 5f 45 4f 4c 29 3b 0a 20 20 20 eed.considerably.'.PHP_EOL);....
0e00 20 66 77 72 69 74 65 28 53 54 44 45 52 52 2c 20 27 59 6f 75 20 73 68 6f 75 6c 64 20 63 6f 6e 73 .fwrite(STDERR,.'You.should.cons
0e20 69 64 65 72 20 74 6f 20 64 69 73 61 62 6c 65 20 69 74 20 62 65 66 6f 72 65 20 65 78 65 63 75 74 ider.to.disable.it.before.execut
0e40 65 20 70 68 70 2d 67 61 6d 65 62 6f 79 2e 27 2e 50 48 50 5f 45 4f 4c 29 3b 0a 20 20 20 20 73 6c e.php-gameboy.'.PHP_EOL);.....sl
0e60 65 65 70 28 31 29 3b 0a 7d 0a 0a 24 72 6f 6d 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 eep(1);.}..$rom.=.file_get_conte
0e80 6e 74 73 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 0a 24 63 61 6e 76 61 73 20 3d 20 6e 65 77 20 54 nts($filename);..$canvas.=.new.T
0ea0 65 72 6d 69 6e 61 6c 43 61 6e 76 61 73 28 29 3b 0a 24 63 6f 72 65 20 3d 20 6e 65 77 20 43 6f 72 erminalCanvas();.$core.=.new.Cor
0ec0 65 28 24 72 6f 6d 2c 20 24 63 61 6e 76 61 73 29 3b 0a 24 6b 65 79 62 6f 61 72 64 20 3d 20 6e 65 e($rom,.$canvas);.$keyboard.=.ne
0ee0 77 20 4b 65 79 62 6f 61 72 64 28 24 63 6f 72 65 29 3b 0a 0a 24 63 6f 72 65 2d 3e 73 74 61 72 74 w.Keyboard($core);..$core->start
0f00 28 29 3b 0a 0a 69 66 20 28 28 24 63 6f 72 65 2d 3e 73 74 6f 70 45 6d 75 6c 61 74 6f 72 20 26 20 ();..if.(($core->stopEmulator.&.
0f20 32 29 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 2).==.0).{.....throw.new.Runtime
0f40 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 47 61 6d 65 42 6f 79 20 63 6f 72 65 20 69 73 20 61 Exception('The.GameBoy.core.is.a
0f60 6c 72 65 61 64 79 20 72 75 6e 6e 69 6e 67 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 63 6f 72 65 2d lready.running.');.}..if.($core-
0f80 3e 73 74 6f 70 45 6d 75 6c 61 74 6f 72 20 26 20 32 20 21 3d 20 32 29 20 7b 0a 20 20 20 20 74 68 >stopEmulator.&.2.!=.2).{.....th
0fa0 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 47 61 6d 65 42 6f row.new.RuntimeException('GameBo
0fc0 79 20 63 6f 72 65 20 63 61 6e 6e 6f 74 20 72 75 6e 20 77 68 69 6c 65 20 69 74 20 68 61 73 20 6e y.core.cannot.run.while.it.has.n
0fe0 6f 74 20 62 65 65 6e 20 69 6e 69 74 69 61 6c 69 7a 65 64 2e 27 29 3b 0a 7d 0a 0a 24 63 6f 72 65 ot.been.initialized.');.}..$core
1000 2d 3e 73 74 6f 70 45 6d 75 6c 61 74 6f 72 20 26 3d 20 31 3b 0a 24 63 6f 72 65 2d 3e 6c 61 73 74 ->stopEmulator.&=.1;.$core->last
1020 49 74 65 72 61 74 69 6f 6e 20 3d 20 28 69 6e 74 29 20 28 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 Iteration.=.(int).(microtime(tru
1040 65 29 20 2a 20 31 30 30 30 29 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 20 20 20 20 e).*.1000);..while.(true).{.....
1060 24 63 6f 72 65 2d 3e 72 75 6e 28 29 3b 0a 20 20 20 20 24 6b 65 79 62 6f 61 72 64 2d 3e 63 68 65 $core->run();.....$keyboard->che
1080 63 6b 28 29 3b 0a 7d 0a 7b 0a 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 67 61 62 72 69 65 6c 72 63 ck();.}.{....."name":."gabrielrc
10a0 6f 75 74 6f 2f 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 outo/php-terminal-gameboy-emulat
10c0 6f 72 22 2c 0a 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 65 72 6d 69 6e 61 or",....."description":."Termina
10e0 6c 20 47 61 6d 65 62 6f 79 20 45 6d 75 6c 61 72 22 2c 0a 20 20 20 20 22 6b 65 79 77 6f 72 64 73 l.Gameboy.Emular",....."keywords
1100 22 3a 20 5b 22 74 65 72 6d 69 6e 61 6c 22 2c 22 63 6f 6e 73 6f 6c 65 22 2c 22 67 61 6d 65 62 6f ":.["terminal","console","gamebo
1120 79 22 2c 22 65 6d 75 6c 61 74 6f 72 22 5d 2c 0a 20 20 20 20 22 68 6f 6d 65 70 61 67 65 22 3a 20 y","emulator"],....."homepage":.
1140 22 68 74 74 70 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 67 61 62 72 69 65 6c 72 63 6f 75 74 6f "http://github.com/gabrielrcouto
1160 2f 70 68 70 2d 74 65 72 6d 69 6e 61 6c 2d 67 61 6d 65 62 6f 79 2d 65 6d 75 6c 61 74 6f 72 22 2c /php-terminal-gameboy-emulator",
1180 0a 20 20 20 20 22 6c 69 63 65 6e 73 65 22 3a 20 22 4d 49 54 22 2c 0a 20 20 20 20 22 61 75 74 68 ....."license":."MIT",....."auth
11a0 6f 72 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 6e ors":.[.........{............."n
11c0 61 6d 65 22 3a 20 22 47 61 62 72 69 65 6c 20 52 6f 64 72 69 67 75 65 73 20 43 6f 75 74 6f 22 2c ame":."Gabriel.Rodrigues.Couto",
11e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6d 61 69 6c 22 3a 20 22 67 61 62 72 69 65 6c 72 63 ............."email":."gabrielrc
1200 6f 75 74 6f 40 67 6d 61 69 6c 2e 63 6f 6d 22 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 5d 2c outo@gmail.com".........}.....],
1220 0a 20 20 20 20 22 72 65 71 75 69 72 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 70 68 70 22 3a ....."require":.{........."php":
1240 20 22 3e 3d 35 2e 36 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 22 77 68 61 74 74 68 65 6a 65 66 66 .">=5.6.0",........."whatthejeff
1260 2f 64 72 61 77 69 6c 6c 65 22 3a 20 22 5e 31 2e 30 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 22 62 /drawille":."^1.0".....},....."b
1280 69 6e 22 3a 20 5b 22 62 69 6e 2f 70 68 70 2d 67 61 6d 65 62 6f 79 22 5d 2c 0a 20 20 20 20 22 72 in":.["bin/php-gameboy"],....."r
12a0 65 71 75 69 72 65 2d 64 65 76 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 73 71 75 69 7a 6c 61 62 equire-dev":.{........."squizlab
12c0 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 22 3a 20 22 32 2e 30 2e 2a 40 64 65 76 22 2c s/php_codesniffer":."2.0.*@dev",
12e0 0a 20 20 20 20 20 20 20 20 22 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 22 20 3a 20 22 2a 22 0a ........."symfony/finder".:."*".
1300 20 20 20 20 7d 2c 0a 20 20 20 20 22 63 6f 6e 66 69 67 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 ....},....."config":.{........."
1320 62 69 6e 2d 64 69 72 22 3a 20 22 62 69 6e 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 22 61 75 74 6f bin-dir":."bin".....},....."auto
1340 6c 6f 61 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 70 73 72 2d 34 22 3a 20 7b 0a 20 20 20 20 load":.{........."psr-4":.{.....
1360 20 20 20 20 20 20 20 20 22 47 61 6d 65 42 6f 79 5c 5c 22 3a 20 22 73 72 63 2f 22 0a 20 20 20 20 ........"GameBoy\\":."src/".....
1380 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 ....}.....}.}.<?php..//.autoload
13a0 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 72 65 71 .php.@generated.by.Composer..req
13c0 75 69 72 65 5f 6f 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 27 20 uire_once.__DIR__...'/composer'.
13e0 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 27 3b 0a 0a 72 65 74 75 72 6e 20 ..'/autoload_real.php';..return.
1400 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 36 33 30 39 39 61 35 39 33 61 ComposerAutoloaderInit63099a593a
1420 65 63 30 31 39 66 33 62 31 38 36 39 37 62 62 37 32 31 33 31 62 34 3a 3a 67 65 74 4c 6f 61 64 65 ec019f3b18697bb72131b4::getLoade
1440 72 28 29 3b 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 47 61 6d 65 42 6f 79 5c 43 61 r();.<?php..namespace.GameBoy\Ca
1460 6e 76 61 73 3b 0a 0a 2f 2a 2a 0a 20 2a 20 49 6e 74 65 72 66 61 63 65 20 74 6f 20 64 72 61 77 20 nvas;../**..*.Interface.to.draw.
1480 74 68 65 20 47 61 6d 65 42 6f 79 20 6f 75 74 70 75 74 0a 20 2a 20 47 61 6d 65 42 6f 79 20 73 63 the.GameBoy.output..*.GameBoy.sc
14a0 72 65 65 6e 20 73 69 7a 65 3a 20 31 36 30 20 78 20 31 34 34 2e 0a 20 2a 2f 0a 69 6e 74 65 72 66 reen.size:.160.x.144...*/.interf
14c0 61 63 65 20 44 72 61 77 43 6f 6e 74 65 78 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f ace.DrawContextInterface.{...../
14e0 2a 2a 0a 20 20 20 20 20 2a 20 44 72 61 77 20 69 6d 61 67 65 20 6f 6e 20 63 61 6e 76 61 73 2e 0a **......*.Draw.image.on.canvas..
1500 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 63 61 6e 76 .....*......*.@param.array.$canv
1520 61 73 42 75 66 66 65 72 20 45 61 63 68 20 70 69 78 65 6c 20 3d 3e 20 34 20 69 74 65 6d 73 20 6f asBuffer.Each.pixel.=>.4.items.o
1540 6e 20 61 72 72 61 79 20 28 52 47 42 41 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 n.array.(RGBA)......*.@param.int
1560 20 20 20 24 6c 65 66 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 24 74 6f ...$left......*.@param.int...$to
1580 70 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 72 p......*/.....public.function.dr
15a0 61 77 28 24 63 61 6e 76 61 73 42 75 66 66 65 72 2c 20 24 6c 65 66 74 2c 20 24 74 6f 70 29 3b 0a aw($canvasBuffer,.$left,.$top);.
15c0 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 47 61 6d 65 42 6f 79 5c 43 61 6e 76 61 }.<?php..namespace.GameBoy\Canva
15e0 73 3b 0a 0a 75 73 65 20 44 72 61 77 69 6c 6c 65 5c 43 61 6e 76 61 73 3b 0a 75 73 65 20 47 61 6d s;..use.Drawille\Canvas;.use.Gam
1600 65 42 6f 79 5c 53 65 74 74 69 6e 67 73 3b 0a 0a 63 6c 61 73 73 20 54 65 72 6d 69 6e 61 6c 43 61 eBoy\Settings;..class.TerminalCa
1620 6e 76 61 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 44 72 61 77 43 6f 6e 74 65 78 74 49 6e 74 65 72 nvas.implements.DrawContextInter
1640 66 61 63 65 0a 7b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 24 63 61 6e 76 61 73 3b 0a 20 20 face.{.....protected.$canvas;...
1660 20 20 70 72 6f 74 65 63 74 65 64 20 24 63 75 72 72 65 6e 74 53 65 63 6f 6e 64 20 3d 20 30 3b 0a ..protected.$currentSecond.=.0;.
1680 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 24 66 72 61 6d 65 73 49 6e 53 65 63 6f 6e 64 20 3d 20 ....protected.$framesInSecond.=.
16a0 30 3b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 24 66 70 73 20 3d 20 30 3b 0a 0a 20 20 20 20 0;.....protected.$fps.=.0;......
16c0 70 72 69 76 61 74 65 20 24 77 69 64 74 68 20 3d 20 30 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 private.$width.=.0;.....private.
16e0 24 68 65 69 67 68 74 20 3d 20 30 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f $height.=.0;......public.functio
1700 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 n.__construct().....{.........$t
1720 68 69 73 2d 3e 63 61 6e 76 61 73 20 3d 20 6e 65 77 20 43 61 6e 76 61 73 28 29 3b 0a 20 20 20 20 his->canvas.=.new.Canvas();.....
1740 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 72 61 77 20 69 6d 61 67 65 20 6f 6e 20 }....../**......*.Draw.image.on.
1760 63 61 6e 76 61 73 20 75 73 69 6e 67 20 62 72 61 69 6c 6c 65 20 66 6f 6e 74 2e 0a 20 20 20 20 20 canvas.using.braille.font.......
1780 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6f 62 6a 65 63 74 20 24 63 61 6e 76 61 73 42 75 *......*.@param.object.$canvasBu
17a0 66 66 65 72 20 24 64 61 74 61 20 3d 20 45 61 63 68 20 70 69 78 65 6c 20 3d 20 34 20 69 74 65 6d ffer.$data.=.Each.pixel.=.4.item
17c0 73 20 6f 6e 20 61 72 72 61 79 20 28 52 47 42 41 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 s.on.array.(RGBA)......*.@param.
17e0 69 6e 74 20 20 20 20 24 6c 65 66 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 int....$left......*.@param.int..
1800 20 20 24 74 6f 70 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ..$top......*/.....public.functi
1820 6f 6e 20 64 72 61 77 28 24 63 61 6e 76 61 73 42 75 66 66 65 72 2c 20 24 6c 65 66 74 2c 20 24 74 on.draw($canvasBuffer,.$left,.$t
1840 6f 70 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 43 6f 72 6e 65 72 20 70 69 78 65 6c op).....{.........//Corner.pixel
1860 2c 20 74 6f 20 64 72 61 77 20 73 61 6d 65 20 73 69 7a 65 20 65 61 63 68 20 74 69 6d 65 0a 20 20 ,.to.draw.same.size.each.time...
1880 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 73 65 74 28 30 2c 20 30 29 3b 0a ......$this->canvas->set(0,.0);.
18a0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 73 65 74 28 31 35 39 2c 20 ........$this->canvas->set(159,.
18c0 31 34 33 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 79 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 143);..........$y.=.0;..........
18e0 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 63 6f 75 6e 74 28 24 63 61 6e 76 61 73 42 for.($i.=.0;.$i.<.count($canvasB
1900 75 66 66 65 72 29 3b 20 24 69 20 3d 20 24 69 20 2b 20 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 uffer);.$i.=.$i.+.4).{..........
1920 20 20 20 2f 2f 20 53 75 6d 20 6f 66 20 61 6c 6c 20 63 6f 6c 6f 72 73 2c 20 49 67 6e 6f 72 65 20 ...//.Sum.of.all.colors,.Ignore.
1940 61 6c 70 68 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 6f 74 61 6c 20 3d 20 24 63 61 6e 76 alpha.............$total.=.$canv
1960 61 73 42 75 66 66 65 72 5b 24 69 5d 20 2b 20 24 63 61 6e 76 61 73 42 75 66 66 65 72 5b 24 69 20 asBuffer[$i].+.$canvasBuffer[$i.
1980 2b 20 31 5d 20 2b 20 24 63 61 6e 76 61 73 42 75 66 66 65 72 5b 24 69 20 2b 20 32 5d 3b 0a 0a 20 +.1].+.$canvasBuffer[$i.+.2];...
19a0 20 20 20 20 20 20 20 20 20 20 20 24 78 20 3d 20 28 24 69 20 2f 20 34 29 20 25 20 31 36 30 3b 0a ...........$x.=.($i./.4).%.160;.
19c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 33 35 30 20 69 73 20 61 20 67 6f 6f 64 20 74 68 .............//.350.is.a.good.th
19e0 72 65 73 68 6f 6c 64 20 66 6f 72 20 62 6c 61 63 6b 20 61 6e 64 20 77 68 69 74 65 0a 20 20 20 20 reshold.for.black.and.white.....
1a00 20 20 20 20 20 20 20 20 69 66 20 28 24 74 6f 74 61 6c 20 3e 20 33 35 30 29 20 7b 0a 20 20 20 20 ........if.($total.>.350).{.....
1a20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 73 65 74 28 24 ............$this->canvas->set($
1a40 78 2c 20 24 79 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 x,.$y);.............}...........
1a60 20 20 20 69 66 20 28 24 78 20 3d 3d 20 31 35 39 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...if.($x.==.159).{.............
1a80 20 20 20 20 2b 2b 24 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ....++$y;.............}.........
1aa0 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 53 65 63 }..........if.($this->currentSec
1ac0 6f 6e 64 20 21 3d 20 74 69 6d 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 ond.!=.time()).{.............$th
1ae0 69 73 2d 3e 66 70 73 20 3d 20 24 74 68 69 73 2d 3e 66 72 61 6d 65 73 49 6e 53 65 63 6f 6e 64 3b is->fps.=.$this->framesInSecond;
1b00 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 53 65 63 6f 6e .............$this->currentSecon
1b20 64 20 3d 20 74 69 6d 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 d.=.time();.............$this->f
1b40 72 61 6d 65 73 49 6e 53 65 63 6f 6e 64 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 ramesInSecond.=.1;.........}.els
1b60 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 74 68 69 73 2d 3e 66 72 61 6d 65 73 49 e.{.............++$this->framesI
1b80 6e 53 65 63 6f 6e 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 72 61 nSecond;.........}..........$fra
1ba0 6d 65 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 66 72 61 6d 65 28 29 3b 0a 20 20 20 me.=.$this->canvas->frame();....
1bc0 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 20 3d 20 22 5c 65 5b 48 5c 65 5b 32 4a 22 3b 0a 0a 20 20 .....$content.=."\e[H\e[2J";....
1be0 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 68 65 69 67 68 74 20 3e 20 30 20 26 26 20 24 ......if.($this->height.>.0.&&.$
1c00 74 68 69 73 2d 3e 77 69 64 74 68 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 this->width.>.0).{.............$
1c20 63 6f 6e 74 65 6e 74 20 3d 20 22 5c 65 5b 7b 24 74 68 69 73 2d 3e 68 65 69 67 68 74 7d 41 5c 65 content.=."\e[{$this->height}A\e
1c40 5b 7b 24 74 68 69 73 2d 3e 77 69 64 74 68 7d 44 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 [{$this->width}D";.........}....
1c60 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 46 50 53 3a 20 ......$content..=.sprintf('FPS:.
1c80 25 64 20 2d 20 46 72 61 6d 65 20 53 6b 69 70 3a 20 25 73 27 2e 50 48 50 5f 45 4f 4c 2c 20 24 74 %d.-.Frame.Skip:.%s'.PHP_EOL,.$t
1ca0 68 69 73 2d 3e 66 70 73 2c 20 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 34 5d his->fps,.Settings::$settings[4]
1cc0 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 24 66 72 61 6d 65 3b 0a 0a );.........$content..=.$frame;..
1ce0 20 20 20 20 20 20 20 20 65 63 68 6f 20 24 63 6f 6e 74 65 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 ........echo.$content;..........
1d00 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 63 6c 65 61 72 28 29 3b 0a 0a 20 20 20 20 20 20 20 $this->canvas->clear();.........
1d20 20 24 74 68 69 73 2d 3e 68 65 69 67 68 74 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 66 .$this->height.=.substr_count($f
1d40 72 61 6d 65 2c 20 50 48 50 5f 45 4f 4c 29 20 2b 20 31 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 rame,.PHP_EOL).+.1;.........$thi
1d60 73 2d 3e 77 69 64 74 68 20 3d 20 73 74 72 70 6f 73 28 24 66 72 61 6d 65 2c 20 50 48 50 5f 45 4f s->width.=.strpos($frame,.PHP_EO
1d80 4c 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 47 61 6d L);.....}.}.<?php..namespace.Gam
1da0 65 42 6f 79 3b 0a 0a 63 6c 61 73 73 20 43 62 6f 70 63 6f 64 65 0a 7b 0a 20 20 20 20 70 75 62 6c eBoy;..class.Cbopcode.{.....publ
1dc0 69 63 20 24 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 70 75 ic.$functionsArray.=.[];......pu
1de0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 20 20 20 20 blic.function.__construct().....
1e00 7b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 30 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 {.........//#0x00:.........$this
1e20 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
1e40 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 parentObj).{.............$parent
1e60 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 Obj->FCarry.=.(($parentObj->regi
1e80 73 74 65 72 42 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 sterB.&.0x80).==.0x80);.........
1ea0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 28 28 24 70 ....$parentObj->registerB.=.(($p
1ec0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3c 3c 20 31 29 20 26 20 30 78 46 46 arentObj->registerB.<<.1).&.0xFF
1ee0 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 ).+.(($parentObj->FCarry).?.1.:.
1f00 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 0);.............$parentObj->FHal
1f20 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d fCarry.=.$parentObj->FSubtract.=
1f40 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .false;.............$parentObj->
1f60 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d FZero.=.($parentObj->registerB.=
1f80 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 =.0);.........};..........//#0x0
1fa0 31 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 1:.........$this->functionsArray
1fc0 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
1fe0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 .........$parentObj->FCarry.=.((
2000 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 38 30 29 20 3d 3d $parentObj->registerC.&.0x80).==
2020 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .0x80);.............$parentObj->
2040 72 65 67 69 73 74 65 72 43 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 registerC.=.(($parentObj->regist
2060 65 72 43 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a erC.<<.1).&.0xFF).+.(($parentObj
2080 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ->FCarry).?.1.:.0);.............
20a0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 $parentObj->FHalfCarry.=.$parent
20c0 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 Obj->FSubtract.=.false;.........
20e0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 ....$parentObj->FZero.=.($parent
2100 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b Obj->registerC.==.0);.........};
2120 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 32 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .........//#0x02:.........$this-
2140 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
2160 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
2180 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 bj->FCarry.=.(($parentObj->regis
21a0 74 65 72 44 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 terD.&.0x80).==.0x80);..........
21c0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 28 28 24 70 61 ...$parentObj->registerD.=.(($pa
21e0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 rentObj->registerD.<<.1).&.0xFF)
2200 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 .+.(($parentObj->FCarry).?.1.:.0
2220 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 );.............$parentObj->FHalf
2240 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 Carry.=.$parentObj->FSubtract.=.
2260 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 false;.............$parentObj->F
2280 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 3d Zero.=.($parentObj->registerD.==
22a0 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 33 3a .0);.........};.........//#0x03:
22c0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
22e0 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
2300 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 .......$parentObj->FCarry.=.(($p
2320 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 38 30 29 20 3d 3d 20 30 arentObj->registerE.&.0x80).==.0
2340 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 x80);.............$parentObj->re
2360 67 69 73 74 65 72 45 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 gisterE.=.(($parentObj->register
2380 45 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e E.<<.1).&.0xFF).+.(($parentObj->
23a0 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 FCarry).?.1.:.0);.............$p
23c0 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 arentObj->FHalfCarry.=.$parentOb
23e0 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 j->FSubtract.=.false;...........
2400 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 ..$parentObj->FZero.=.($parentOb
2420 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 j->registerE.==.0);.........};..
2440 20 20 20 20 20 20 20 2f 2f 23 30 78 30 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .......//#0x04:.........$this->f
2460 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
2480 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
24a0 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 ->FCarry.=.(($parentObj->registe
24c0 72 73 48 4c 20 26 20 30 78 38 30 30 30 29 20 3d 3d 20 30 78 38 30 30 30 29 3b 0a 20 20 20 20 20 rsHL.&.0x8000).==.0x8000);......
24e0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d .......$parentObj->registersHL.=
2500 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3c 3c 20 31 29 .(($parentObj->registersHL.<<.1)
2520 20 26 20 30 78 46 45 30 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 .&.0xFE00).+.(($parentObj->FCarr
2540 79 29 20 3f 20 30 78 31 30 30 20 3a 20 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 y).?.0x100.:.0).+.($parentObj->r
2560 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 egistersHL.&.0xFF);.............
2580 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 $parentObj->FHalfCarry.=.$parent
25a0 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 Obj->FSubtract.=.false;.........
25c0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 ....$parentObj->FZero.=.($parent
25e0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3c 3d 20 30 78 46 46 29 3b 0a 20 20 20 20 20 Obj->registersHL.<=.0xFF);......
2600 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 35 3a 0a 20 20 20 20 20 20 20 20 24 ...};.........//#0x05:.........$
2620 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
2640 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 n.($parentObj).{.............$pa
2660 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e rentObj->FCarry.=.(($parentObj->
2680 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 registersHL.&.0x80).==.0x80);...
26a0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 ..........$parentObj->registersH
26c0 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 L.=.($parentObj->registersHL.&.0
26e0 78 46 46 30 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 xFF00).+.(($parentObj->registers
2700 48 4c 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d HL.<<.1).&.0xFF).+.(($parentObj-
2720 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 >FCarry).?.1.:.0);.............$
2740 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f parentObj->FHalfCarry.=.$parentO
2760 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 bj->FSubtract.=.false;..........
2780 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 ...$parentObj->FZero.=.(($parent
27a0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 3d 3d 20 30 78 30 30 Obj->registersHL.&.0xFF).==.0x00
27c0 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 36 3a 0a 20 );.........};.........//#0x06:..
27e0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
2800 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
2820 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d .....$temp_var.=.$parentObj->mem
2840 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 oryReader[$parentObj->registersH
2860 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 L]($parentObj,.$parentObj->regis
2880 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d tersHL);.............$parentObj-
28a0 3e 46 43 61 72 72 79 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 38 30 29 20 3d 3d >FCarry.=.(($temp_var.&.0x80).==
28c0 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 .0x80);.............$temp_var.=.
28e0 28 28 24 74 65 6d 70 5f 76 61 72 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 28 24 70 (($temp_var.<<.1).&.0xFF).+.(($p
2900 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 arentObj->FCarry).?.1.:.0);.....
2920 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 ........$parentObj->memoryWrite(
2940 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 74 65 6d 70 5f 76 $parentObj->registersHL,.$temp_v
2960 61 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 ar);.............$parentObj->FHa
2980 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 lfCarry.=.$parentObj->FSubtract.
29a0 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d =.false;.............$parentObj-
29c0 3e 46 5a 65 72 6f 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 >FZero.=.($temp_var.==.0x00);...
29e0 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 37 3a 0a 20 20 20 20 20 20 ......};.........//#0x07:.......
2a00 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
2a20 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
2a40 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 $parentObj->FCarry.=.(($parentOb
2a60 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 j->registerA.&.0x80).==.0x80);..
2a80 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 ...........$parentObj->registerA
2aa0 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3c 3c 20 31 29 .=.(($parentObj->registerA.<<.1)
2ac0 20 26 20 30 78 46 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 .&.0xFF).+.(($parentObj->FCarry)
2ae0 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 .?.1.:.0);.............$parentOb
2b00 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 j->FHalfCarry.=.$parentObj->FSub
2b20 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 tract.=.false;.............$pare
2b40 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ntObj->FZero.=.($parentObj->regi
2b60 73 74 65 72 41 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 sterA.==.0x00);.........};......
2b80 20 20 20 2f 2f 23 30 78 30 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0x08:.........$this->funct
2ba0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
2bc0 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 bj).{.............$parentObj->FC
2be0 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 arry.=.(($parentObj->registerB.&
2c00 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 .0x01).==.0x01);.............$pa
2c20 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 rentObj->registerB.=.(($parentOb
2c40 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 20 3a 20 30 29 20 2b 20 28 24 70 61 72 65 6e j->FCarry).?.0x80.:.0).+.($paren
2c60 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 tObj->registerB.>>.1);..........
2c80 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 ...$parentObj->FHalfCarry.=.$par
2ca0 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 entObj->FSubtract.=.false;......
2cc0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 .......$parentObj->FZero.=.($par
2ce0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 entObj->registerB.==.0);........
2d00 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 .};.........//#0x09:.........$th
2d20 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
2d40 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
2d60 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 ntObj->FCarry.=.(($parentObj->re
2d80 67 69 73 74 65 72 43 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 gisterC.&.0x01).==.0x01);.......
2da0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 28 28 ......$parentObj->registerC.=.((
2dc0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 20 3a 20 30 29 20 $parentObj->FCarry).?.0x80.:.0).
2de0 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3e 3e 20 31 29 3b 0a +.($parentObj->registerC.>>.1);.
2e00 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 ............$parentObj->FHalfCar
2e20 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c ry.=.$parentObj->FSubtract.=.fal
2e40 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 se;.............$parentObj->FZer
2e60 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 3d 20 30 29 o.=.($parentObj->registerC.==.0)
2e80 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 41 3a 0a 20 20 ;.........};.........//#0x0A:...
2ea0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
2ec0 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
2ee0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 ....$parentObj->FCarry.=.(($pare
2f00 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 ntObj->registerD.&.0x01).==.0x01
2f20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 );.............$parentObj->regis
2f40 74 65 72 44 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 terD.=.(($parentObj->FCarry).?.0
2f60 78 38 30 20 3a 20 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 x80.:.0).+.($parentObj->register
2f80 44 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d D.>>.1);.............$parentObj-
2fa0 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 >FHalfCarry.=.$parentObj->FSubtr
2fc0 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 act.=.false;.............$parent
2fe0 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 Obj->FZero.=.($parentObj->regist
3000 65 72 44 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f erD.==.0);.........};.........//
3020 23 30 78 30 42 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 #0x0B:.........$this->functionsA
3040 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
3060 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 .............$parentObj->FCarry.
3080 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 30 31 =.(($parentObj->registerE.&.0x01
30a0 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f ).==.0x01);.............$parentO
30c0 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 bj->registerE.=.(($parentObj->FC
30e0 61 72 72 79 29 20 3f 20 30 78 38 30 20 3a 20 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d arry).?.0x80.:.0).+.($parentObj-
3100 3e 72 65 67 69 73 74 65 72 45 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 >registerE.>>.1);.............$p
3120 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 arentObj->FHalfCarry.=.$parentOb
3140 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 j->FSubtract.=.false;...........
3160 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 ..$parentObj->FZero.=.($parentOb
3180 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 j->registerE.==.0);.........};..
31a0 20 20 20 20 20 20 20 2f 2f 23 30 78 30 43 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .......//#0x0C:.........$this->f
31c0 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
31e0 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
3200 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 ->FCarry.=.(($parentObj->registe
3220 72 73 48 4c 20 26 20 30 78 30 31 30 30 29 20 3d 3d 20 30 78 30 31 30 30 29 3b 0a 20 20 20 20 20 rsHL.&.0x0100).==.0x0100);......
3240 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d .......$parentObj->registersHL.=
3260 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 30 30 20 .(($parentObj->FCarry).?.0x8000.
3280 3a 20 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c :.0).+.(($parentObj->registersHL
32a0 20 3e 3e 20 31 29 20 26 20 30 78 46 46 30 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .>>.1).&.0xFF00).+.($parentObj->
32c0 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 registersHL.&.0xFF);............
32e0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e .$parentObj->FHalfCarry.=.$paren
3300 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 tObj->FSubtract.=.false;........
3320 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e .....$parentObj->FZero.=.($paren
3340 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3c 3d 20 30 78 46 46 29 3b 0a 20 20 20 20 tObj->registersHL.<=.0xFF);.....
3360 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 44 3a 0a 20 20 20 20 20 20 20 20 ....};.........//#0x0D:.........
3380 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
33a0 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
33c0 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d arentObj->FCarry.=.(($parentObj-
33e0 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 >registersHL.&.0x01).==.0x01);..
3400 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 ...........$parentObj->registers
3420 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 HL.=.($parentObj->registersHL.&.
3440 30 78 46 46 30 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 0xFF00).+.(($parentObj->FCarry).
3460 3f 20 30 78 38 30 20 3a 20 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ?.0x80.:.0).+.(($parentObj->regi
3480 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 stersHL.&.0xFF).>>.1);..........
34a0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 ...$parentObj->FHalfCarry.=.$par
34c0 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 entObj->FSubtract.=.false;......
34e0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 .......$parentObj->FZero.=.(($pa
3500 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 3d 3d 20 rentObj->registersHL.&.0xFF).==.
3520 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 0x00);.........};.........//#0x0
3540 45 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 E:.........$this->functionsArray
3560 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
3580 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d .........$temp_var.=.$parentObj-
35a0 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 >memoryReader[$parentObj->regist
35c0 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 ersHL]($parentObj,.$parentObj->r
35e0 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 egistersHL);.............$parent
3600 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 30 31 Obj->FCarry.=.(($temp_var.&.0x01
3620 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 ).==.0x01);.............$temp_va
3640 72 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 r.=.(($parentObj->FCarry).?.0x80
3660 20 3a 20 30 29 20 2b 20 28 24 74 65 6d 70 5f 76 61 72 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 .:.0).+.($temp_var.>>.1);.......
3680 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 ......$parentObj->memoryWrite($p
36a0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 74 65 6d 70 5f 76 61 72 arentObj->registersHL,.$temp_var
36c0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 );.............$parentObj->FHalf
36e0 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 Carry.=.$parentObj->FSubtract.=.
3700 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 false;.............$parentObj->F
3720 5a 65 72 6f 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 Zero.=.($temp_var.==.0x00);.....
3740 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 46 3a 0a 20 20 20 20 20 20 20 20 ....};.........//#0x0F:.........
3760 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
3780 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
37a0 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d arentObj->FCarry.=.(($parentObj-
37c0 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 >registerA.&.0x01).==.0x01);....
37e0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d .........$parentObj->registerA.=
3800 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 20 3a 20 .(($parentObj->FCarry).?.0x80.:.
3820 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3e 3e 20 31 0).+.($parentObj->registerA.>>.1
3840 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 );.............$parentObj->FHalf
3860 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 Carry.=.$parentObj->FSubtract.=.
3880 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 false;.............$parentObj->F
38a0 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d Zero.=.($parentObj->registerA.==
38c0 20 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 .0x00);.........};.........//#0x
38e0 31 30 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 10:.........$this->functionsArra
3900 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
3920 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 ..........$newFCarry.=.(($parent
3940 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b Obj->registerB.&.0x80).==.0x80);
3960 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 .............$parentObj->registe
3980 72 42 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3c 3c 20 rB.=.(($parentObj->registerB.<<.
39a0 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 1).&.0xFF).+.(($parentObj->FCarr
39c0 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 y).?.1.:.0);.............$parent
39e0 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 77 46 43 61 72 72 79 3b 0a 20 20 20 20 20 20 Obj->FCarry.=.$newFCarry;.......
3a00 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 ......$parentObj->FHalfCarry.=.$
3a20 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 parentObj->FSubtract.=.false;...
3a40 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 ..........$parentObj->FZero.=.($
3a60 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 3d 20 30 29 3b 0a 20 20 20 20 parentObj->registerB.==.0);.....
3a80 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 ....};.........$this->functionsA
3aa0 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
3ac0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 .............$newFCarry.=.(($par
3ae0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 entObj->registerC.&.0x80).==.0x8
3b00 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 0);.............$parentObj->regi
3b20 73 74 65 72 43 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 sterC.=.(($parentObj->registerC.
3b40 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 <<.1).&.0xFF).+.(($parentObj->FC
3b60 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 arry).?.1.:.0);.............$par
3b80 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 77 46 43 61 72 72 79 3b 0a 20 20 20 entObj->FCarry.=.$newFCarry;....
3ba0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 .........$parentObj->FHalfCarry.
3bc0 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b =.$parentObj->FSubtract.=.false;
3be0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d .............$parentObj->FZero.=
3c00 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 3d 20 30 29 3b 0a 20 .($parentObj->registerC.==.0);..
3c20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
3c40 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
3c60 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 46 43 61 72 72 79 20 3d 20 28 28 24 ).{.............$newFCarry.=.(($
3c80 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 38 30 29 20 3d 3d 20 parentObj->registerD.&.0x80).==.
3ca0 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 0x80);.............$parentObj->r
3cc0 65 67 69 73 74 65 72 44 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 egisterD.=.(($parentObj->registe
3ce0 72 44 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d rD.<<.1).&.0xFF).+.(($parentObj-
3d00 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 >FCarry).?.1.:.0);.............$
3d20 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 77 46 43 61 72 72 79 3b 0a parentObj->FCarry.=.$newFCarry;.
3d40 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 ............$parentObj->FHalfCar
3d60 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c ry.=.$parentObj->FSubtract.=.fal
3d80 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 se;.............$parentObj->FZer
3da0 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 3d 20 30 29 o.=.($parentObj->registerD.==.0)
3dc0 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ;.........};.........$this->func
3de0 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
3e00 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 46 43 61 72 72 79 20 3d 20 Obj).{.............$newFCarry.=.
3e20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 38 30 29 20 (($parentObj->registerE.&.0x80).
3e40 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a ==.0x80);.............$parentObj
3e60 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ->registerE.=.(($parentObj->regi
3e80 73 74 65 72 45 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f sterE.<<.1).&.0xFF).+.(($parentO
3ea0 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 bj->FCarry).?.1.:.0);...........
3ec0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 77 46 43 61 72 72 ..$parentObj->FCarry.=.$newFCarr
3ee0 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 y;.............$parentObj->FHalf
3f00 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 Carry.=.$parentObj->FSubtract.=.
3f20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 false;.............$parentObj->F
3f40 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 3d Zero.=.($parentObj->registerE.==
3f60 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .0);.........};.........$this->f
3f80 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
3fa0 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 46 43 61 72 72 79 entObj).{.............$newFCarry
3fc0 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 .=.(($parentObj->registersHL.&.0
3fe0 78 38 30 30 30 29 20 3d 3d 20 30 78 38 30 30 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 x8000).==.0x8000);.............$
4000 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 28 24 70 61 72 65 parentObj->registersHL.=.(($pare
4020 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3c 3c 20 31 29 20 26 20 30 78 46 45 30 ntObj->registersHL.<<.1).&.0xFE0
4040 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 31 0).+.(($parentObj->FCarry).?.0x1
4060 30 30 20 3a 20 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 00.:.0).+.($parentObj->registers
4080 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f HL.&.0xFF);.............$parentO
40a0 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 77 46 43 61 72 72 79 3b 0a 20 20 20 20 20 20 20 bj->FCarry.=.$newFCarry;........
40c0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 .....$parentObj->FHalfCarry.=.$p
40e0 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 arentObj->FSubtract.=.false;....
4100 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 .........$parentObj->FZero.=.($p
4120 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3c 3d 20 30 78 46 46 29 3b 0a arentObj->registersHL.<=.0xFF);.
4140 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 ........};.........$this->functi
4160 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 onsArray[].=.function.($parentOb
4180 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 46 43 61 72 72 79 20 3d 20 28 28 j).{.............$newFCarry.=.((
41a0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 38 30 29 20 $parentObj->registersHL.&.0x80).
41c0 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a ==.0x80);.............$parentObj
41e0 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 ->registersHL.=.($parentObj->reg
4200 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 30 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 istersHL.&.0xFF00).+.(($parentOb
4220 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 j->registersHL.<<.1).&.0xFF).+.(
4240 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 ($parentObj->FCarry).?.1.:.0);..
4260 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 ...........$parentObj->FCarry.=.
4280 24 6e 65 77 46 43 61 72 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f $newFCarry;.............$parentO
42a0 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 bj->FHalfCarry.=.$parentObj->FSu
42c0 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 btract.=.false;.............$par
42e0 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 entObj->FZero.=.(($parentObj->re
4300 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 gistersHL.&.0xFF).==.0x00);.....
4320 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 ....};.........$this->functionsA
4340 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
4360 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 .............$temp_var.=.$parent
4380 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 Obj->memoryReader[$parentObj->re
43a0 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 gistersHL]($parentObj,.$parentOb
43c0 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 j->registersHL);.............$ne
43e0 77 46 43 61 72 72 79 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 38 30 29 20 3d 3d wFCarry.=.(($temp_var.&.0x80).==
4400 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 .0x80);.............$temp_var.=.
4420 28 28 24 74 65 6d 70 5f 76 61 72 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 28 24 70 (($temp_var.<<.1).&.0xFF).+.(($p
4440 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 arentObj->FCarry).?.1.:.0);.....
4460 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 ........$parentObj->FCarry.=.$ne
4480 77 46 43 61 72 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d wFCarry;.............$parentObj-
44a0 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 >memoryWrite($parentObj->registe
44c0 72 73 48 4c 2c 20 24 74 65 6d 70 5f 76 61 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 rsHL,.$temp_var);.............$p
44e0 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 arentObj->FHalfCarry.=.$parentOb
4500 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 j->FSubtract.=.false;...........
4520 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 ..$parentObj->FZero.=.($temp_var
4540 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 .==.0x00);.........};.........$t
4560 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
4580 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 .($parentObj).{.............$new
45a0 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 FCarry.=.(($parentObj->registerA
45c0 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 .&.0x80).==.0x80);.............$
45e0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 28 28 24 70 61 72 65 6e 74 parentObj->registerA.=.(($parent
4600 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 2b 20 28 Obj->registerA.<<.1).&.0xFF).+.(
4620 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 ($parentObj->FCarry).?.1.:.0);..
4640 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 ...........$parentObj->FCarry.=.
4660 24 6e 65 77 46 43 61 72 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f $newFCarry;.............$parentO
4680 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 bj->FHalfCarry.=.$parentObj->FSu
46a0 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 btract.=.false;.............$par
46c0 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 entObj->FZero.=.($parentObj->reg
46e0 69 73 74 65 72 41 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 isterA.==.0x00);.........};.....
4700 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
4720 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
4740 20 20 24 6e 65 77 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 ..$newFCarry.=.(($parentObj->reg
4760 69 73 74 65 72 42 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 isterB.&.0x01).==.0x01);........
4780 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 28 28 24 .....$parentObj->registerB.=.(($
47a0 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 20 3a 20 30 29 20 2b parentObj->FCarry).?.0x80.:.0).+
47c0 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3e 3e 20 31 29 3b 0a 20 .($parentObj->registerB.>>.1);..
47e0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 ...........$parentObj->FCarry.=.
4800 24 6e 65 77 46 43 61 72 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f $newFCarry;.............$parentO
4820 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 bj->FHalfCarry.=.$parentObj->FSu
4840 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 btract.=.false;.............$par
4860 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 entObj->FZero.=.($parentObj->reg
4880 69 73 74 65 72 42 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 isterB.==.0);.........};........
48a0 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
48c0 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ion.($parentObj).{.............$
48e0 6e 65 77 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 newFCarry.=.(($parentObj->regist
4900 65 72 43 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 erC.&.0x01).==.0x01);...........
4920 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 28 28 24 70 61 72 ..$parentObj->registerC.=.(($par
4940 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 20 3a 20 30 29 20 2b 20 28 24 entObj->FCarry).?.0x80.:.0).+.($
4960 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3e 3e 20 31 29 3b 0a 20 20 20 20 parentObj->registerC.>>.1);.....
4980 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 ........$parentObj->FCarry.=.$ne
49a0 77 46 43 61 72 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d wFCarry;.............$parentObj-
49c0 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 >FHalfCarry.=.$parentObj->FSubtr
49e0 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 act.=.false;.............$parent
4a00 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 Obj->FZero.=.($parentObj->regist
4a20 65 72 43 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 erC.==.0);.........};.........$t
4a40 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
4a60 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 .($parentObj).{.............$new
4a80 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 FCarry.=.(($parentObj->registerD
4aa0 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 .&.0x01).==.0x01);.............$
4ac0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 28 28 24 70 61 72 65 6e 74 parentObj->registerD.=.(($parent
4ae0 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 20 3a 20 30 29 20 2b 20 28 24 70 61 72 Obj->FCarry).?.0x80.:.0).+.($par
4b00 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 entObj->registerD.>>.1);........
4b20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 77 46 43 .....$parentObj->FCarry.=.$newFC
4b40 61 72 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 arry;.............$parentObj->FH
4b60 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 alfCarry.=.$parentObj->FSubtract
4b80 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a .=.false;.............$parentObj
4ba0 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 ->FZero.=.($parentObj->registerD
4bc0 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 .==.0);.........};.........$this
4be0 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
4c00 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 46 43 61 parentObj).{.............$newFCa
4c20 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 rry.=.(($parentObj->registerE.&.
4c40 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 0x01).==.0x01);.............$par
4c60 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a entObj->registerE.=.(($parentObj
4c80 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 20 3a 20 30 29 20 2b 20 28 24 70 61 72 65 6e 74 ->FCarry).?.0x80.:.0).+.($parent
4ca0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 Obj->registerE.>>.1);...........
4cc0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 77 46 43 61 72 72 ..$parentObj->FCarry.=.$newFCarr
4ce0 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 y;.............$parentObj->FHalf
4d00 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 Carry.=.$parentObj->FSubtract.=.
4d20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 false;.............$parentObj->F
4d40 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 3d Zero.=.($parentObj->registerE.==
4d60 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .0);.........};.........$this->f
4d80 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
4da0 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 46 43 61 72 72 79 entObj).{.............$newFCarry
4dc0 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 .=.(($parentObj->registersHL.&.0
4de0 78 30 31 30 30 29 20 3d 3d 20 30 78 30 31 30 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 x0100).==.0x0100);.............$
4e00 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 28 24 70 61 72 65 parentObj->registersHL.=.(($pare
4e20 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 30 30 20 3a 20 30 29 20 2b 20 28 ntObj->FCarry).?.0x8000.:.0).+.(
4e40 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 31 29 20 26 ($parentObj->registersHL.>>.1).&
4e60 20 30 78 46 46 30 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 .0xFF00).+.($parentObj->register
4e80 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 sHL.&.0xFF);.............$parent
4ea0 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 77 46 43 61 72 72 79 3b 0a 20 20 20 20 20 20 Obj->FCarry.=.$newFCarry;.......
4ec0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 ......$parentObj->FHalfCarry.=.$
4ee0 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 parentObj->FSubtract.=.false;...
4f00 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 ..........$parentObj->FZero.=.($
4f20 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3c 3d 20 30 78 46 46 29 3b parentObj->registersHL.<=.0xFF);
4f40 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 .........};.........$this->funct
4f60 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
4f80 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 46 43 61 72 72 79 20 3d 20 28 bj).{.............$newFCarry.=.(
4fa0 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 31 29 ($parentObj->registersHL.&.0x01)
4fc0 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 .==.0x01);.............$parentOb
4fe0 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 j->registersHL.=.($parentObj->re
5000 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 30 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f gistersHL.&.0xFF00).+.(($parentO
5020 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 20 3a 20 30 29 20 2b 20 28 28 24 70 61 72 bj->FCarry).?.0x80.:.0).+.(($par
5040 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 3e 3e 20 31 entObj->registersHL.&.0xFF).>>.1
5060 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 );.............$parentObj->FCarr
5080 79 20 3d 20 24 6e 65 77 46 43 61 72 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 y.=.$newFCarry;.............$par
50a0 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->FHalfCarry.=.$parentObj-
50c0 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >FSubtract.=.false;.............
50e0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a $parentObj->FZero.=.(($parentObj
5100 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 3d 3d 20 30 78 30 30 29 3b 0a ->registersHL.&.0xFF).==.0x00);.
5120 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 ........};.........$this->functi
5140 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 onsArray[].=.function.($parentOb
5160 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 j).{.............$temp_var.=.$pa
5180 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a rentObj->memoryReader[$parentObj
51a0 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 ->registersHL]($parentObj,.$pare
51c0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ntObj->registersHL);............
51e0 20 24 6e 65 77 46 43 61 72 72 79 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 30 31 .$newFCarry.=.(($temp_var.&.0x01
5200 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 ).==.0x01);.............$temp_va
5220 72 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 r.=.(($parentObj->FCarry).?.0x80
5240 20 3a 20 30 29 20 2b 20 28 24 74 65 6d 70 5f 76 61 72 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 .:.0).+.($temp_var.>>.1);.......
5260 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 77 46 ......$parentObj->FCarry.=.$newF
5280 43 61 72 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d Carry;.............$parentObj->m
52a0 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 emoryWrite($parentObj->registers
52c0 48 4c 2c 20 24 74 65 6d 70 5f 76 61 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 HL,.$temp_var);.............$par
52e0 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->FHalfCarry.=.$parentObj-
5300 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >FSubtract.=.false;.............
5320 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 3d $parentObj->FZero.=.($temp_var.=
5340 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 =.0x00);.........};.........$thi
5360 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
5380 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 46 43 $parentObj).{.............$newFC
53a0 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 arry.=.(($parentObj->registerA.&
53c0 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 .0x01).==.0x01);.............$pa
53e0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 rentObj->registerA.=.(($parentOb
5400 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 38 30 20 3a 20 30 29 20 2b 20 28 24 70 61 72 65 6e j->FCarry).?.0x80.:.0).+.($paren
5420 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 tObj->registerA.>>.1);..........
5440 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 6e 65 77 46 43 61 72 ...$parentObj->FCarry.=.$newFCar
5460 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c ry;.............$parentObj->FHal
5480 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d fCarry.=.$parentObj->FSubtract.=
54a0 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .false;.............$parentObj->
54c0 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d FZero.=.($parentObj->registerA.=
54e0 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 =.0x00);.........};.........$thi
5500 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
5520 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
5540 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 tObj->FCarry.=.(($parentObj->reg
5560 69 73 74 65 72 42 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 isterB.&.0x80).==.0x80);........
5580 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 28 24 70 .....$parentObj->registerB.=.($p
55a0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3c 3c 20 31 29 20 26 20 30 78 46 46 arentObj->registerB.<<.1).&.0xFF
55c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 ;.............$parentObj->FHalfC
55e0 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 arry.=.$parentObj->FSubtract.=.f
5600 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a alse;.............$parentObj->FZ
5620 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 3d 20 ero.=.($parentObj->registerB.==.
5640 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 0);.........};.........$this->fu
5660 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
5680 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj).{.............$parentObj-
56a0 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 >FCarry.=.(($parentObj->register
56c0 43 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 C.&.0x80).==.0x80);.............
56e0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 28 24 70 61 72 65 6e 74 $parentObj->registerC.=.($parent
5700 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3c 3c 20 31 29 20 26 20 30 78 46 46 3b 0a 20 20 20 Obj->registerC.<<.1).&.0xFF;....
5720 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 .........$parentObj->FHalfCarry.
5740 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b =.$parentObj->FSubtract.=.false;
5760 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d .............$parentObj->FZero.=
5780 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 3d 20 30 29 3b 0a 20 .($parentObj->registerC.==.0);..
57a0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
57c0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
57e0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 ).{.............$parentObj->FCar
5800 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 ry.=.(($parentObj->registerD.&.0
5820 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 x80).==.0x80);.............$pare
5840 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ntObj->registerD.=.($parentObj->
5860 72 65 67 69 73 74 65 72 44 20 3c 3c 20 31 29 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 registerD.<<.1).&.0xFF;.........
5880 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 ....$parentObj->FHalfCarry.=.$pa
58a0 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 rentObj->FSubtract.=.false;.....
58c0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 ........$parentObj->FZero.=.($pa
58e0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 rentObj->registerD.==.0);.......
5900 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 ..};.........$this->functionsArr
5920 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
5940 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 ...........$parentObj->FCarry.=.
5960 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 38 30 29 20 (($parentObj->registerE.&.0x80).
5980 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a ==.0x80);.............$parentObj
59a0 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 ->registerE.=.($parentObj->regis
59c0 74 65 72 45 20 3c 3c 20 31 29 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 terE.<<.1).&.0xFF;.............$
59e0 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f parentObj->FHalfCarry.=.$parentO
5a00 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 bj->FSubtract.=.false;..........
5a20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f ...$parentObj->FZero.=.($parentO
5a40 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a bj->registerE.==.0);.........};.
5a60 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
5a80 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
5aa0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 ......$parentObj->FCarry.=.(($pa
5ac0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 38 30 30 30 29 20 3d rentObj->registersHL.&.0x8000).=
5ae0 3d 20 30 78 38 30 30 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 =.0x8000);.............$parentOb
5b00 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 j->registersHL.=.(($parentObj->r
5b20 65 67 69 73 74 65 72 73 48 4c 20 3c 3c 20 31 29 20 26 20 30 78 46 45 30 30 29 20 2b 20 28 24 70 egistersHL.<<.1).&.0xFE00).+.($p
5b40 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 arentObj->registersHL.&.0xFF);..
5b60 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 ...........$parentObj->FHalfCarr
5b80 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 y.=.$parentObj->FSubtract.=.fals
5ba0 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f e;.............$parentObj->FZero
5bc0 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3c 3d 20 30 .=.($parentObj->registersHL.<=.0
5be0 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e xFF);.........};.........$this->
5c00 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
5c20 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 rentObj).{.............$parentOb
5c40 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 j->FCarry.=.(($parentObj->regist
5c60 65 72 73 48 4c 20 26 20 30 78 30 30 38 30 29 20 3d 3d 20 30 78 30 30 38 30 29 3b 0a 20 20 20 20 ersHL.&.0x0080).==.0x0080);.....
5c80 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 ........$parentObj->registersHL.
5ca0 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 =.($parentObj->registersHL.&.0xF
5cc0 46 30 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c F00).+.(($parentObj->registersHL
5ce0 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .<<.1).&.0xFF);.............$par
5d00 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->FHalfCarry.=.$parentObj-
5d20 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >FSubtract.=.false;.............
5d40 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a $parentObj->FZero.=.(($parentObj
5d60 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 3d 3d 20 30 78 30 30 29 3b 0a ->registersHL.&.0xFF).==.0x00);.
5d80 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 ........};.........$this->functi
5da0 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 onsArray[].=.function.($parentOb
5dc0 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 j).{.............$temp_var.=.$pa
5de0 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a rentObj->memoryReader[$parentObj
5e00 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 ->registersHL]($parentObj,.$pare
5e20 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ntObj->registersHL);............
5e40 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 .$parentObj->FCarry.=.(($temp_va
5e60 72 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 r.&.0x80).==.0x80);.............
5e80 24 74 65 6d 70 5f 76 61 72 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 3c 3c 20 31 29 20 26 20 30 $temp_var.=.($temp_var.<<.1).&.0
5ea0 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d xFF;.............$parentObj->mem
5ec0 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c oryWrite($parentObj->registersHL
5ee0 2c 20 24 74 65 6d 70 5f 76 61 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ,.$temp_var);.............$paren
5f00 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 tObj->FHalfCarry.=.$parentObj->F
5f20 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 Subtract.=.false;.............$p
5f40 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 3d 3d 20 arentObj->FZero.=.($temp_var.==.
5f60 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 0x00);.........};.........$this-
5f80 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
5fa0 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
5fc0 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 bj->FCarry.=.(($parentObj->regis
5fe0 74 65 72 41 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 terA.&.0x80).==.0x80);..........
6000 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 28 24 70 61 72 ...$parentObj->registerA.=.($par
6020 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3c 3c 20 31 29 20 26 20 30 78 46 46 3b 0a entObj->registerA.<<.1).&.0xFF;.
6040 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 ............$parentObj->FHalfCar
6060 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c ry.=.$parentObj->FSubtract.=.fal
6080 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 se;.............$parentObj->FZer
60a0 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 78 o.=.($parentObj->registerA.==.0x
60c0 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 00);.........};.........$this->f
60e0 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
6100 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
6120 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 ->FCarry.=.(($parentObj->registe
6140 72 42 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 rB.&.0x01).==.0x01);............
6160 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 28 24 70 61 72 65 6e .$parentObj->registerB.=.($paren
6180 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 20 30 78 38 30 29 20 2b 20 28 24 70 61 72 65 tObj->registerB.&.0x80).+.($pare
61a0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 ntObj->registerB.>>.1);.........
61c0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 ....$parentObj->FHalfCarry.=.$pa
61e0 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 rentObj->FSubtract.=.false;.....
6200 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 ........$parentObj->FZero.=.($pa
6220 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 rentObj->registerB.==.0);.......
6240 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 ..};.........$this->functionsArr
6260 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
6280 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 ...........$parentObj->FCarry.=.
62a0 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 30 31 29 20 (($parentObj->registerC.&.0x01).
62c0 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a ==.0x01);.............$parentObj
62e0 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 ->registerC.=.($parentObj->regis
6300 74 65 72 43 20 26 20 30 78 38 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 terC.&.0x80).+.($parentObj->regi
6320 73 74 65 72 43 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 sterC.>>.1);.............$parent
6340 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 Obj->FHalfCarry.=.$parentObj->FS
6360 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ubtract.=.false;.............$pa
6380 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 rentObj->FZero.=.($parentObj->re
63a0 67 69 73 74 65 72 43 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 gisterC.==.0);.........};.......
63c0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
63e0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
6400 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 $parentObj->FCarry.=.(($parentOb
6420 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 j->registerD.&.0x01).==.0x01);..
6440 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 ...........$parentObj->registerD
6460 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 38 30 .=.($parentObj->registerD.&.0x80
6480 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3e 3e 20 31 29 ).+.($parentObj->registerD.>>.1)
64a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 ;.............$parentObj->FHalfC
64c0 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 arry.=.$parentObj->FSubtract.=.f
64e0 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a alse;.............$parentObj->FZ
6500 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 3d 20 ero.=.($parentObj->registerD.==.
6520 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 0);.........};.........$this->fu
6540 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
6560 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj).{.............$parentObj-
6580 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 >FCarry.=.(($parentObj->register
65a0 45 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 E.&.0x01).==.0x01);.............
65c0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 28 24 70 61 72 65 6e 74 $parentObj->registerE.=.($parent
65e0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 38 30 29 20 2b 20 28 24 70 61 72 65 6e Obj->registerE.&.0x80).+.($paren
6600 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 tObj->registerE.>>.1);..........
6620 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 ...$parentObj->FHalfCarry.=.$par
6640 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 entObj->FSubtract.=.false;......
6660 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 .......$parentObj->FZero.=.($par
6680 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 entObj->registerE.==.0);........
66a0 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 .};.........$this->functionsArra
66c0 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
66e0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 ..........$parentObj->FCarry.=.(
6700 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 31 30 ($parentObj->registersHL.&.0x010
6720 30 29 20 3d 3d 20 30 78 30 31 30 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 0).==.0x0100);.............$pare
6740 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 ntObj->registersHL.=.(($parentOb
6760 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 31 29 20 26 20 30 78 46 46 30 30 29 20 2b j->registersHL.>>.1).&.0xFF00).+
6780 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 38 30 .($parentObj->registersHL.&.0x80
67a0 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 FF);.............$parentObj->FHa
67c0 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 lfCarry.=.$parentObj->FSubtract.
67e0 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d =.false;.............$parentObj-
6800 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 >FZero.=.($parentObj->registersH
6820 4c 20 3c 3d 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 L.<=.0xFF);.........};.........$
6840 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
6860 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 n.($parentObj).{.............$pa
6880 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e rentObj->FCarry.=.(($parentObj->
68a0 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 30 30 31 29 20 3d 3d 20 30 78 30 30 30 31 29 registersHL.&.0x0001).==.0x0001)
68c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 ;.............$parentObj->regist
68e0 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c ersHL.=.($parentObj->registersHL
6900 20 26 20 30 78 46 46 38 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 .&.0xFF80).+.(($parentObj->regis
6920 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 tersHL.&.0xFF).>>.1);...........
6940 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 ..$parentObj->FHalfCarry.=.$pare
6960 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 ntObj->FSubtract.=.false;.......
6980 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 ......$parentObj->FZero.=.(($par
69a0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 3d 3d 20 30 entObj->registersHL.&.0xFF).==.0
69c0 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e x00);.........};.........$this->
69e0 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
6a00 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 rentObj).{.............$temp_var
6a20 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 .=.$parentObj->memoryReader[$par
6a40 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c entObj->registersHL]($parentObj,
6a60 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 .$parentObj->registersHL);......
6a80 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 74 .......$parentObj->FCarry.=.(($t
6aa0 65 6d 70 5f 76 61 72 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 emp_var.&.0x01).==.0x01);.......
6ac0 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 ......$temp_var.=.($temp_var.&.0
6ae0 78 38 30 29 20 2b 20 28 24 74 65 6d 70 5f 76 61 72 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 x80).+.($temp_var.>>.1);........
6b00 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 .....$parentObj->memoryWrite($pa
6b20 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 74 65 6d 70 5f 76 61 72 29 rentObj->registersHL,.$temp_var)
6b40 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 ;.............$parentObj->FHalfC
6b60 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 arry.=.$parentObj->FSubtract.=.f
6b80 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a alse;.............$parentObj->FZ
6ba0 65 72 6f 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 20 ero.=.($temp_var.==.0x00);......
6bc0 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 ...};.........$this->functionsAr
6be0 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
6c00 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d ............$parentObj->FCarry.=
6c20 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 30 31 29 .(($parentObj->registerA.&.0x01)
6c40 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 .==.0x01);.............$parentOb
6c60 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 j->registerA.=.($parentObj->regi
6c80 73 74 65 72 41 20 26 20 30 78 38 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 sterA.&.0x80).+.($parentObj->reg
6ca0 69 73 74 65 72 41 20 3e 3e 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e isterA.>>.1);.............$paren
6cc0 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 tObj->FHalfCarry.=.$parentObj->F
6ce0 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 Subtract.=.false;.............$p
6d00 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 arentObj->FZero.=.($parentObj->r
6d20 65 67 69 73 74 65 72 41 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 egisterA.==.0x00);.........};...
6d40 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
6d60 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
6d80 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 28 28 24 70 ....$parentObj->registerB.=.(($p
6da0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 20 30 78 46 29 20 3c 3c 20 34 29 arentObj->registerB.&.0xF).<<.4)
6dc0 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3e 3e 20 34 29 3b .+.($parentObj->registerB.>>.4);
6de0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d .............$parentObj->FZero.=
6e00 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 3d 20 30 29 3b 0a 20 .($parentObj->registerB.==.0);..
6e20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 ...........$parentObj->FCarry.=.
6e40 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 $parentObj->FHalfCarry.=.$parent
6e60 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 Obj->FSubtract.=.false;.........
6e80 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 };.........$this->functionsArray
6ea0 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
6ec0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d .........$parentObj->registerC.=
6ee0 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 46 29 20 .(($parentObj->registerC.&.0xF).
6f00 3c 3c 20 34 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3e <<.4).+.($parentObj->registerC.>
6f20 3e 20 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a >.4);.............$parentObj->FZ
6f40 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 3d 20 ero.=.($parentObj->registerC.==.
6f60 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 0);.............$parentObj->FCar
6f80 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 ry.=.$parentObj->FHalfCarry.=.$p
6fa0 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 arentObj->FSubtract.=.false;....
6fc0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 .....};.........$this->functions
6fe0 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
7000 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 {.............$parentObj->regist
7020 65 72 44 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 erD.=.(($parentObj->registerD.&.
7040 30 78 46 29 20 3c 3c 20 34 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 0xF).<<.4).+.($parentObj->regist
7060 65 72 44 20 3e 3e 20 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 erD.>>.4);.............$parentOb
7080 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 j->FZero.=.($parentObj->register
70a0 44 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d D.==.0);.............$parentObj-
70c0 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 >FCarry.=.$parentObj->FHalfCarry
70e0 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 .=.$parentObj->FSubtract.=.false
7100 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ;.........};.........$this->func
7120 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
7140 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 Obj).{.............$parentObj->r
7160 65 67 69 73 74 65 72 45 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 egisterE.=.(($parentObj->registe
7180 72 45 20 26 20 30 78 46 29 20 3c 3c 20 34 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 rE.&.0xF).<<.4).+.($parentObj->r
71a0 65 67 69 73 74 65 72 45 20 3e 3e 20 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 egisterE.>>.4);.............$par
71c0 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 entObj->FZero.=.($parentObj->reg
71e0 69 73 74 65 72 45 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e isterE.==.0);.............$paren
7200 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 tObj->FCarry.=.$parentObj->FHalf
7220 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 Carry.=.$parentObj->FSubtract.=.
7240 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d false;.........};.........$this-
7260 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
7280 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
72a0 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e bj->registersHL.=.(($parentObj->
72c0 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 30 30 29 20 3c 3c 20 34 29 20 2b 20 28 28 24 registersHL.&.0xF00).<<.4).+.(($
72e0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 30 30 30 29 parentObj->registersHL.&.0xF000)
7300 20 3e 3e 20 34 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 .>>.4).+.($parentObj->registersH
7320 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 L.&.0xFF);.............$parentOb
7340 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 j->FZero.=.($parentObj->register
7360 73 48 4c 20 3c 3d 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e sHL.<=.0xFF);.............$paren
7380 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 tObj->FCarry.=.$parentObj->FHalf
73a0 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 Carry.=.$parentObj->FSubtract.=.
73c0 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d false;.........};.........$this-
73e0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
7400 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
7420 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 bj->registersHL.=.($parentObj->r
7440 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 30 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 egistersHL.&.0xFF00).+.(($parent
7460 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 29 20 3c 3c 20 34 29 20 2b 20 Obj->registersHL.&.0xF).<<.4).+.
7480 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 30 (($parentObj->registersHL.&.0xF0
74a0 29 20 3e 3e 20 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ).>>.4);.............$parentObj-
74c0 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 >FZero.=.(($parentObj->registers
74e0 48 4c 20 26 20 30 78 46 46 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 HL.&.0xFF).==.0);.............$p
7500 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 arentObj->FCarry.=.$parentObj->F
7520 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 HalfCarry.=.$parentObj->FSubtrac
7540 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 t.=.false;.........};.........$t
7560 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
7580 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d .($parentObj).{.............$tem
75a0 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 p_var.=.$parentObj->memoryReader
75c0 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e [$parentObj->registersHL]($paren
75e0 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a tObj,.$parentObj->registersHL);.
7600 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 28 28 24 74 65 6d 70 5f ............$temp_var.=.(($temp_
7620 76 61 72 20 26 20 30 78 46 29 20 3c 3c 20 34 29 20 2b 20 28 24 74 65 6d 70 5f 76 61 72 20 3e 3e var.&.0xF).<<.4).+.($temp_var.>>
7640 20 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d .4);.............$parentObj->mem
7660 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c oryWrite($parentObj->registersHL
7680 2c 20 24 74 65 6d 70 5f 76 61 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ,.$temp_var);.............$paren
76a0 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 3d 3d 20 30 29 3b 0a tObj->FZero.=.($temp_var.==.0);.
76c0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d ............$parentObj->FCarry.=
76e0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e .$parentObj->FHalfCarry.=.$paren
7700 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 tObj->FSubtract.=.false;........
7720 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 .};.........$this->functionsArra
7740 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
7760 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 ..........$parentObj->registerA.
7780 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 =.(($parentObj->registerA.&.0xF)
77a0 20 3c 3c 20 34 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 .<<.4).+.($parentObj->registerA.
77c0 3e 3e 20 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 >>.4);.............$parentObj->F
77e0 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d Zero.=.($parentObj->registerA.==
7800 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 .0);.............$parentObj->FCa
7820 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 rry.=.$parentObj->FHalfCarry.=.$
7840 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 parentObj->FSubtract.=.false;...
7860 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e ......};.........$this->function
7880 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 sArray[].=.function.($parentObj)
78a0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 .{.............$parentObj->FCarr
78c0 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 20 30 78 y.=.(($parentObj->registerB.&.0x
78e0 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 01).==.0x01);.............$paren
7900 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 tObj->registerB.>>=.1;..........
7920 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 ...$parentObj->FHalfCarry.=.$par
7940 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 entObj->FSubtract.=.false;......
7960 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 .......$parentObj->FZero.=.($par
7980 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 entObj->registerB.==.0);........
79a0 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 .};.........$this->functionsArra
79c0 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
79e0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 ..........$parentObj->FCarry.=.(
7a00 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 30 31 29 20 3d ($parentObj->registerC.&.0x01).=
7a20 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d =.0x01);.............$parentObj-
7a40 3e 72 65 67 69 73 74 65 72 43 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 >registerC.>>=.1;.............$p
7a60 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 arentObj->FHalfCarry.=.$parentOb
7a80 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 j->FSubtract.=.false;...........
7aa0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 ..$parentObj->FZero.=.($parentOb
7ac0 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 j->registerC.==.0);.........};..
7ae0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
7b00 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
7b20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 .....$parentObj->FCarry.=.(($par
7b40 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 entObj->registerD.&.0x01).==.0x0
7b60 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 1);.............$parentObj->regi
7b80 73 74 65 72 44 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 sterD.>>=.1;.............$parent
7ba0 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 Obj->FHalfCarry.=.$parentObj->FS
7bc0 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ubtract.=.false;.............$pa
7be0 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 rentObj->FZero.=.($parentObj->re
7c00 67 69 73 74 65 72 44 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 gisterD.==.0);.........};.......
7c20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
7c40 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
7c60 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 $parentObj->FCarry.=.(($parentOb
7c80 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b 0a 20 j->registerE.&.0x01).==.0x01);..
7ca0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 ...........$parentObj->registerE
7cc0 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .>>=.1;.............$parentObj->
7ce0 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 FHalfCarry.=.$parentObj->FSubtra
7d00 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f ct.=.false;.............$parentO
7d20 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 bj->FZero.=.($parentObj->registe
7d40 72 45 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 rE.==.0);.........};.........$th
7d60 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
7d80 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
7da0 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 ntObj->FCarry.=.(($parentObj->re
7dc0 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 31 30 30 29 20 3d 3d 20 30 78 30 31 30 30 29 3b 0a gistersHL.&.0x0100).==.0x0100);.
7de0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ............$parentObj->register
7e00 73 48 4c 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 sHL.=.(($parentObj->registersHL.
7e20 3e 3e 20 31 29 20 26 20 30 78 46 46 30 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 >>.1).&.0xFF00).+.($parentObj->r
7e40 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 egistersHL.&.0xFF);.............
7e60 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 $parentObj->FHalfCarry.=.$parent
7e80 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 Obj->FSubtract.=.false;.........
7ea0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 ....$parentObj->FZero.=.($parent
7ec0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3c 3d 20 30 78 46 46 29 3b 0a 20 20 20 20 20 Obj->registersHL.<=.0xFF);......
7ee0 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 ...};.........$this->functionsAr
7f00 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
7f20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d ............$parentObj->FCarry.=
7f40 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 .(($parentObj->registersHL.&.0x0
7f60 30 30 31 29 20 3d 3d 20 30 78 30 30 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 001).==.0x0001);.............$pa
7f80 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f rentObj->registersHL.=.($parentO
7fa0 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 30 30 29 20 2b 20 28 28 24 70 bj->registersHL.&.0xFF00).+.(($p
7fc0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 3e 3e arentObj->registersHL.&.0xFF).>>
7fe0 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 .1);.............$parentObj->FHa
8000 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 lfCarry.=.$parentObj->FSubtract.
8020 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d =.false;.............$parentObj-
8040 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 >FZero.=.(($parentObj->registers
8060 48 4c 20 26 20 30 78 46 46 29 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a HL.&.0xFF).==.0x00);.........};.
8080 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
80a0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
80c0 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 ......$temp_var.=.$parentObj->me
80e0 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 moryReader[$parentObj->registers
8100 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 HL]($parentObj,.$parentObj->regi
8120 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a stersHL);.............$parentObj
8140 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 30 31 29 20 3d ->FCarry.=.(($temp_var.&.0x01).=
8160 3d 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d =.0x01);.............$parentObj-
8180 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 >memoryWrite($parentObj->registe
81a0 72 73 48 4c 2c 20 24 74 65 6d 70 5f 76 61 72 20 3e 3e 3d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 rsHL,.$temp_var.>>=.1);.........
81c0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 ....$parentObj->FHalfCarry.=.$pa
81e0 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 rentObj->FSubtract.=.false;.....
8200 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 74 65 ........$parentObj->FZero.=.($te
8220 6d 70 5f 76 61 72 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 mp_var.==.0x00);.........};.....
8240 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
8260 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
8280 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 ..$parentObj->FCarry.=.(($parent
82a0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 3b Obj->registerA.&.0x01).==.0x01);
82c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 .............$parentObj->registe
82e0 72 41 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a rA.>>=.1;.............$parentObj
8300 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 ->FHalfCarry.=.$parentObj->FSubt
8320 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ract.=.false;.............$paren
8340 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 tObj->FZero.=.($parentObj->regis
8360 74 65 72 41 20 3d 3d 20 30 78 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 terA.==.0x00);.........};.......
8380 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
83a0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
83c0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 $parentObj->FHalfCarry.=.true;..
83e0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 ...........$parentObj->FSubtract
8400 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a .=.false;.............$parentObj
8420 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ->FZero.=.(($parentObj->register
8440 42 20 26 20 30 78 30 31 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 B.&.0x01).==.0);.........};.....
8460 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
8480 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
84a0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b ..$parentObj->FHalfCarry.=.true;
84c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 .............$parentObj->FSubtra
84e0 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f ct.=.false;.............$parentO
8500 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 bj->FZero.=.(($parentObj->regist
8520 65 72 43 20 26 20 30 78 30 31 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 erC.&.0x01).==.0);.........};...
8540 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
8560 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
8580 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 ....$parentObj->FHalfCarry.=.tru
85a0 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 e;.............$parentObj->FSubt
85c0 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ract.=.false;.............$paren
85e0 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 tObj->FZero.=.(($parentObj->regi
8600 73 74 65 72 44 20 26 20 30 78 30 31 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a sterD.&.0x01).==.0);.........};.
8620 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
8640 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
8660 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 ......$parentObj->FHalfCarry.=.t
8680 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 rue;.............$parentObj->FSu
86a0 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 btract.=.false;.............$par
86c0 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 entObj->FZero.=.(($parentObj->re
86e0 67 69 73 74 65 72 45 20 26 20 30 78 30 31 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d gisterE.&.0x01).==.0);.........}
8700 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
8720 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
8740 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d ........$parentObj->FHalfCarry.=
8760 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 .true;.............$parentObj->F
8780 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 Subtract.=.false;.............$p
87a0 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e arentObj->FZero.=.(($parentObj->
87c0 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 31 30 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 registersHL.&.0x0100).==.0);....
87e0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 .....};.........$this->functions
8800 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
8820 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 {.............$parentObj->FHalfC
8840 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 arry.=.true;.............$parent
8860 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 Obj->FSubtract.=.false;.........
8880 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e ....$parentObj->FZero.=.(($paren
88a0 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 30 30 31 29 20 3d 3d 20 30 tObj->registersHL.&.0x0001).==.0
88c0 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e );.........};.........$this->fun
88e0 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
8900 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
8920 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 FHalfCarry.=.true;.............$
8940 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 parentObj->FSubtract.=.false;...
8960 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 ..........$parentObj->FZero.=.((
8980 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 $parentObj->memoryReader[$parent
89a0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 Obj->registersHL]($parentObj,.$p
89c0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 30 31 29 20 3d arentObj->registersHL).&.0x01).=
89e0 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e =.0);.........};.........$this->
8a00 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
8a20 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 rentObj).{.............$parentOb
8a40 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 j->FHalfCarry.=.true;...........
8a60 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b ..$parentObj->FSubtract.=.false;
8a80 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d .............$parentObj->FZero.=
8aa0 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 30 31 29 .(($parentObj->registerA.&.0x01)
8ac0 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 .==.0);.........};.........$this
8ae0 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
8b00 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 parentObj).{.............$parent
8b20 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 Obj->FHalfCarry.=.true;.........
8b40 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 ....$parentObj->FSubtract.=.fals
8b60 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f e;.............$parentObj->FZero
8b80 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 20 30 78 30 .=.(($parentObj->registerB.&.0x0
8ba0 32 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 2).==.0);.........};.........$th
8bc0 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
8be0 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
8c00 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 ntObj->FHalfCarry.=.true;.......
8c20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 ......$parentObj->FSubtract.=.fa
8c40 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 lse;.............$parentObj->FZe
8c60 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 ro.=.(($parentObj->registerC.&.0
8c80 78 30 32 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 x02).==.0);.........};.........$
8ca0 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
8cc0 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 n.($parentObj).{.............$pa
8ce0 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 rentObj->FHalfCarry.=.true;.....
8d00 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 ........$parentObj->FSubtract.=.
8d20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 false;.............$parentObj->F
8d40 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 Zero.=.(($parentObj->registerD.&
8d60 20 30 78 30 32 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 .0x02).==.0);.........};........
8d80 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
8da0 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ion.($parentObj).{.............$
8dc0 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 parentObj->FHalfCarry.=.true;...
8de0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 ..........$parentObj->FSubtract.
8e00 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d =.false;.............$parentObj-
8e20 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 >FZero.=.(($parentObj->registerE
8e40 20 26 20 30 78 30 32 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 .&.0x02).==.0);.........};......
8e60 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
8e80 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
8ea0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a .$parentObj->FHalfCarry.=.true;.
8ec0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 ............$parentObj->FSubtrac
8ee0 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 t.=.false;.............$parentOb
8f00 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 j->FZero.=.(($parentObj->registe
8f20 72 73 48 4c 20 26 20 30 78 30 32 30 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b rsHL.&.0x0200).==.0);.........};
8f40 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
8f60 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
8f80 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 .......$parentObj->FHalfCarry.=.
8fa0 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 true;.............$parentObj->FS
8fc0 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ubtract.=.false;.............$pa
8fe0 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 rentObj->FZero.=.(($parentObj->r
9000 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 30 30 32 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 egistersHL.&.0x0002).==.0);.....
9020 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 ....};.........$this->functionsA
9040 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
9060 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 .............$parentObj->FHalfCa
9080 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f rry.=.true;.............$parentO
90a0 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 bj->FSubtract.=.false;..........
90c0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 ...$parentObj->FZero.=.(($parent
90e0 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 Obj->memoryReader[$parentObj->re
9100 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 gistersHL]($parentObj,.$parentOb
9120 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 30 32 29 20 3d 3d 20 30 29 3b 0a 20 j->registersHL).&.0x02).==.0);..
9140 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
9160 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
9180 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c ).{.............$parentObj->FHal
91a0 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 fCarry.=.true;.............$pare
91c0 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 ntObj->FSubtract.=.false;.......
91e0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 ......$parentObj->FZero.=.(($par
9200 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 30 32 29 20 3d 3d 20 30 29 3b entObj->registerA.&.0x02).==.0);
9220 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 .........};.........$this->funct
9240 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
9260 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 bj).{.............$parentObj->FH
9280 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 alfCarry.=.true;.............$pa
92a0 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 rentObj->FSubtract.=.false;.....
92c0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 ........$parentObj->FZero.=.(($p
92e0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 20 30 78 30 34 29 20 3d 3d 20 30 arentObj->registerB.&.0x04).==.0
9300 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e );.........};.........$this->fun
9320 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
9340 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
9360 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 FHalfCarry.=.true;.............$
9380 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 parentObj->FSubtract.=.false;...
93a0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 ..........$parentObj->FZero.=.((
93c0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 30 34 29 20 3d 3d $parentObj->registerC.&.0x04).==
93e0 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .0);.........};.........$this->f
9400 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
9420 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
9440 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ->FHalfCarry.=.true;............
9460 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a .$parentObj->FSubtract.=.false;.
9480 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 ............$parentObj->FZero.=.
94a0 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 30 34 29 20 (($parentObj->registerD.&.0x04).
94c0 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ==.0);.........};.........$this-
94e0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
9500 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
9520 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 bj->FHalfCarry.=.true;..........
9540 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 ...$parentObj->FSubtract.=.false
9560 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 ;.............$parentObj->FZero.
9580 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 30 34 =.(($parentObj->registerE.&.0x04
95a0 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 ).==.0);.........};.........$thi
95c0 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
95e0 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
9600 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 tObj->FHalfCarry.=.true;........
9620 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c .....$parentObj->FSubtract.=.fal
9640 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 se;.............$parentObj->FZer
9660 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 o.=.(($parentObj->registersHL.&.
9680 30 78 30 34 30 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 0x0400).==.0);.........};.......
96a0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
96c0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
96e0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 $parentObj->FHalfCarry.=.true;..
9700 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 ...........$parentObj->FSubtract
9720 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a .=.false;.............$parentObj
9740 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ->FZero.=.(($parentObj->register
9760 73 48 4c 20 26 20 30 78 30 30 30 34 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a sHL.&.0x0004).==.0);.........};.
9780 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
97a0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
97c0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 ......$parentObj->FHalfCarry.=.t
97e0 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 rue;.............$parentObj->FSu
9800 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 btract.=.false;.............$par
9820 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 entObj->FZero.=.(($parentObj->me
9840 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 moryReader[$parentObj->registers
9860 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 HL]($parentObj,.$parentObj->regi
9880 73 74 65 72 73 48 4c 29 20 26 20 30 78 30 34 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 stersHL).&.0x04).==.0);.........
98a0 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 };.........$this->functionsArray
98c0 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
98e0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 .........$parentObj->FHalfCarry.
9900 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e =.true;.............$parentObj->
9920 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 FSubtract.=.false;.............$
9940 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d parentObj->FZero.=.(($parentObj-
9960 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 30 34 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 >registerA.&.0x04).==.0);.......
9980 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 ..};.........$this->functionsArr
99a0 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
99c0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 ...........$parentObj->FHalfCarr
99e0 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a y.=.true;.............$parentObj
9a00 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ->FSubtract.=.false;............
9a20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 .$parentObj->FZero.=.(($parentOb
9a40 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 20 30 78 30 38 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 j->registerB.&.0x08).==.0);.....
9a60 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 ....};.........$this->functionsA
9a80 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
9aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 .............$parentObj->FHalfCa
9ac0 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f rry.=.true;.............$parentO
9ae0 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 bj->FSubtract.=.false;..........
9b00 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 ...$parentObj->FZero.=.(($parent
9b20 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 30 38 29 20 3d 3d 20 30 29 3b 0a 20 20 Obj->registerC.&.0x08).==.0);...
9b40 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e ......};.........$this->function
9b60 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 sArray[].=.function.($parentObj)
9b80 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 .{.............$parentObj->FHalf
9ba0 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e Carry.=.true;.............$paren
9bc0 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 tObj->FSubtract.=.false;........
9be0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 .....$parentObj->FZero.=.(($pare
9c00 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 30 38 29 20 3d 3d 20 30 29 3b 0a ntObj->registerD.&.0x08).==.0);.
9c20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 ........};.........$this->functi
9c40 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 onsArray[].=.function.($parentOb
9c60 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 j).{.............$parentObj->FHa
9c80 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 lfCarry.=.true;.............$par
9ca0 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 entObj->FSubtract.=.false;......
9cc0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 .......$parentObj->FZero.=.(($pa
9ce0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 30 38 29 20 3d 3d 20 30 29 rentObj->registerE.&.0x08).==.0)
9d00 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ;.........};.........$this->func
9d20 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
9d40 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 Obj).{.............$parentObj->F
9d60 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 HalfCarry.=.true;.............$p
9d80 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 arentObj->FSubtract.=.false;....
9da0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 .........$parentObj->FZero.=.(($
9dc0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 38 30 30 29 parentObj->registersHL.&.0x0800)
9de0 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 .==.0);.........};.........$this
9e00 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
9e20 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 parentObj).{.............$parent
9e40 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 Obj->FHalfCarry.=.true;.........
9e60 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 ....$parentObj->FSubtract.=.fals
9e80 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f e;.............$parentObj->FZero
9ea0 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 .=.(($parentObj->registersHL.&.0
9ec0 78 30 30 30 38 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 x0008).==.0);.........};........
9ee0 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
9f00 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ion.($parentObj).{.............$
9f20 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 parentObj->FHalfCarry.=.true;...
9f40 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 ..........$parentObj->FSubtract.
9f60 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d =.false;.............$parentObj-
9f80 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 >FZero.=.(($parentObj->memoryRea
9fa0 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 der[$parentObj->registersHL]($pa
9fc0 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c rentObj,.$parentObj->registersHL
9fe0 29 20 26 20 30 78 30 38 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 ).&.0x08).==.0);.........};.....
a000 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
a020 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
a040 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b ..$parentObj->FHalfCarry.=.true;
a060 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 .............$parentObj->FSubtra
a080 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f ct.=.false;.............$parentO
a0a0 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 bj->FZero.=.(($parentObj->regist
a0c0 65 72 41 20 26 20 30 78 30 38 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 erA.&.0x08).==.0);.........};...
a0e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
a100 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
a120 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 ....$parentObj->FHalfCarry.=.tru
a140 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 e;.............$parentObj->FSubt
a160 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ract.=.false;.............$paren
a180 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 tObj->FZero.=.(($parentObj->regi
a1a0 73 74 65 72 42 20 26 20 30 78 31 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a sterB.&.0x10).==.0);.........};.
a1c0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
a1e0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
a200 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 ......$parentObj->FHalfCarry.=.t
a220 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 rue;.............$parentObj->FSu
a240 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 btract.=.false;.............$par
a260 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 entObj->FZero.=.(($parentObj->re
a280 67 69 73 74 65 72 43 20 26 20 30 78 31 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d gisterC.&.0x10).==.0);.........}
a2a0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
a2c0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
a2e0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d ........$parentObj->FHalfCarry.=
a300 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 .true;.............$parentObj->F
a320 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 Subtract.=.false;.............$p
a340 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e arentObj->FZero.=.(($parentObj->
a360 72 65 67 69 73 74 65 72 44 20 26 20 30 78 31 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 registerD.&.0x10).==.0);........
a380 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 .};.........$this->functionsArra
a3a0 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
a3c0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 ..........$parentObj->FHalfCarry
a3e0 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d .=.true;.............$parentObj-
a400 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >FSubtract.=.false;.............
a420 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a $parentObj->FZero.=.(($parentObj
a440 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 31 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 ->registerE.&.0x10).==.0);......
a460 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 ...};.........$this->functionsAr
a480 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
a4a0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 ............$parentObj->FHalfCar
a4c0 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 ry.=.true;.............$parentOb
a4e0 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 j->FSubtract.=.false;...........
a500 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f ..$parentObj->FZero.=.(($parentO
a520 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 31 30 30 30 29 20 3d 3d 20 30 29 3b bj->registersHL.&.0x1000).==.0);
a540 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 .........};.........$this->funct
a560 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
a580 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 bj).{.............$parentObj->FH
a5a0 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 alfCarry.=.true;.............$pa
a5c0 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 rentObj->FSubtract.=.false;.....
a5e0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 ........$parentObj->FZero.=.(($p
a600 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 30 31 30 29 20 arentObj->registersHL.&.0x0010).
a620 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ==.0);.........};.........$this-
a640 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
a660 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
a680 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 bj->FHalfCarry.=.true;..........
a6a0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 ...$parentObj->FSubtract.=.false
a6c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 ;.............$parentObj->FZero.
a6e0 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 =.(($parentObj->memoryReader[$pa
a700 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a rentObj->registersHL]($parentObj
a720 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 31 ,.$parentObj->registersHL).&.0x1
a740 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 0).==.0);.........};.........$th
a760 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
a780 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
a7a0 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 ntObj->FHalfCarry.=.true;.......
a7c0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 ......$parentObj->FSubtract.=.fa
a7e0 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 lse;.............$parentObj->FZe
a800 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 ro.=.(($parentObj->registerA.&.0
a820 78 31 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 x10).==.0);.........};.........$
a840 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
a860 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 n.($parentObj).{.............$pa
a880 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 rentObj->FHalfCarry.=.true;.....
a8a0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 ........$parentObj->FSubtract.=.
a8c0 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 false;.............$parentObj->F
a8e0 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 Zero.=.(($parentObj->registerB.&
a900 20 30 78 32 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 .0x20).==.0);.........};........
a920 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
a940 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ion.($parentObj).{.............$
a960 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 parentObj->FHalfCarry.=.true;...
a980 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 ..........$parentObj->FSubtract.
a9a0 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d =.false;.............$parentObj-
a9c0 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 >FZero.=.(($parentObj->registerC
a9e0 20 26 20 30 78 32 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 .&.0x20).==.0);.........};......
aa00 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
aa20 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
aa40 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a .$parentObj->FHalfCarry.=.true;.
aa60 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 ............$parentObj->FSubtrac
aa80 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 t.=.false;.............$parentOb
aaa0 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 j->FZero.=.(($parentObj->registe
aac0 72 44 20 26 20 30 78 32 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 rD.&.0x20).==.0);.........};....
aae0 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
ab00 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
ab20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 ...$parentObj->FHalfCarry.=.true
ab40 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 ;.............$parentObj->FSubtr
ab60 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 act.=.false;.............$parent
ab80 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 Obj->FZero.=.(($parentObj->regis
aba0 74 65 72 45 20 26 20 30 78 32 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 terE.&.0x20).==.0);.........};..
abc0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
abe0 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
ac00 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 .....$parentObj->FHalfCarry.=.tr
ac20 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 ue;.............$parentObj->FSub
ac40 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 tract.=.false;.............$pare
ac60 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 ntObj->FZero.=.(($parentObj->reg
ac80 69 73 74 65 72 73 48 4c 20 26 20 30 78 32 30 30 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 istersHL.&.0x2000).==.0);.......
aca0 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 ..};.........$this->functionsArr
acc0 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
ace0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 ...........$parentObj->FHalfCarr
ad00 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a y.=.true;.............$parentObj
ad20 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ->FSubtract.=.false;............
ad40 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 .$parentObj->FZero.=.(($parentOb
ad60 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 30 30 32 30 29 20 3d 3d 20 30 29 3b 0a j->registersHL.&.0x0020).==.0);.
ad80 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 ........};.........$this->functi
ada0 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 onsArray[].=.function.($parentOb
adc0 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 j).{.............$parentObj->FHa
ade0 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 lfCarry.=.true;.............$par
ae00 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 entObj->FSubtract.=.false;......
ae20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 .......$parentObj->FZero.=.(($pa
ae40 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a rentObj->memoryReader[$parentObj
ae60 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 ->registersHL]($parentObj,.$pare
ae80 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 32 30 29 20 3d 3d 20 30 ntObj->registersHL).&.0x20).==.0
aea0 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e );.........};.........$this->fun
aec0 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
aee0 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
af00 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 FHalfCarry.=.true;.............$
af20 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 parentObj->FSubtract.=.false;...
af40 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 ..........$parentObj->FZero.=.((
af60 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 32 30 29 20 3d 3d $parentObj->registerA.&.0x20).==
af80 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .0);.........};.........$this->f
afa0 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
afc0 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
afe0 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ->FHalfCarry.=.true;............
b000 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a .$parentObj->FSubtract.=.false;.
b020 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 ............$parentObj->FZero.=.
b040 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 20 30 78 34 30 29 20 (($parentObj->registerB.&.0x40).
b060 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ==.0);.........};.........$this-
b080 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
b0a0 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
b0c0 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 bj->FHalfCarry.=.true;..........
b0e0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 ...$parentObj->FSubtract.=.false
b100 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 ;.............$parentObj->FZero.
b120 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 34 30 =.(($parentObj->registerC.&.0x40
b140 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 ).==.0);.........};.........$thi
b160 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
b180 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
b1a0 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 tObj->FHalfCarry.=.true;........
b1c0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c .....$parentObj->FSubtract.=.fal
b1e0 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 se;.............$parentObj->FZer
b200 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 o.=.(($parentObj->registerD.&.0x
b220 34 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 40).==.0);.........};.........$t
b240 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
b260 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
b280 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 entObj->FHalfCarry.=.true;......
b2a0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 .......$parentObj->FSubtract.=.f
b2c0 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a alse;.............$parentObj->FZ
b2e0 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 ero.=.(($parentObj->registerE.&.
b300 30 78 34 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 0x40).==.0);.........};.........
b320 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
b340 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
b360 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 arentObj->FHalfCarry.=.true;....
b380 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d .........$parentObj->FSubtract.=
b3a0 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .false;.............$parentObj->
b3c0 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 FZero.=.(($parentObj->registersH
b3e0 4c 20 26 20 30 78 34 30 30 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 L.&.0x4000).==.0);.........};...
b400 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
b420 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
b440 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 ....$parentObj->FHalfCarry.=.tru
b460 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 e;.............$parentObj->FSubt
b480 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ract.=.false;.............$paren
b4a0 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 tObj->FZero.=.(($parentObj->regi
b4c0 73 74 65 72 73 48 4c 20 26 20 30 78 30 30 34 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 stersHL.&.0x0040).==.0);........
b4e0 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 .};.........$this->functionsArra
b500 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
b520 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 ..........$parentObj->FHalfCarry
b540 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d .=.true;.............$parentObj-
b560 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >FSubtract.=.false;.............
b580 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a $parentObj->FZero.=.(($parentObj
b5a0 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 ->memoryReader[$parentObj->regis
b5c0 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tersHL]($parentObj,.$parentObj->
b5e0 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 34 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 registersHL).&.0x40).==.0);.....
b600 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 ....};.........$this->functionsA
b620 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
b640 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 .............$parentObj->FHalfCa
b660 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f rry.=.true;.............$parentO
b680 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 bj->FSubtract.=.false;..........
b6a0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 ...$parentObj->FZero.=.(($parent
b6c0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 34 30 29 20 3d 3d 20 30 29 3b 0a 20 20 Obj->registerA.&.0x40).==.0);...
b6e0 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e ......};.........$this->function
b700 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 sArray[].=.function.($parentObj)
b720 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 .{.............$parentObj->FHalf
b740 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e Carry.=.true;.............$paren
b760 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 tObj->FSubtract.=.false;........
b780 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 .....$parentObj->FZero.=.(($pare
b7a0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 20 30 78 38 30 29 20 3d 3d 20 30 29 3b 0a ntObj->registerB.&.0x80).==.0);.
b7c0 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 ........};.........$this->functi
b7e0 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 onsArray[].=.function.($parentOb
b800 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 j).{.............$parentObj->FHa
b820 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 lfCarry.=.true;.............$par
b840 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 entObj->FSubtract.=.false;......
b860 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 .......$parentObj->FZero.=.(($pa
b880 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 38 30 29 20 3d 3d 20 30 29 rentObj->registerC.&.0x80).==.0)
b8a0 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ;.........};.........$this->func
b8c0 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
b8e0 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 Obj).{.............$parentObj->F
b900 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 HalfCarry.=.true;.............$p
b920 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 arentObj->FSubtract.=.false;....
b940 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 .........$parentObj->FZero.=.(($
b960 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 38 30 29 20 3d 3d 20 parentObj->registerD.&.0x80).==.
b980 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 0);.........};.........$this->fu
b9a0 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
b9c0 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj).{.............$parentObj-
b9e0 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >FHalfCarry.=.true;.............
ba00 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 $parentObj->FSubtract.=.false;..
ba20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 ...........$parentObj->FZero.=.(
ba40 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 38 30 29 20 3d ($parentObj->registerE.&.0x80).=
ba60 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e =.0);.........};.........$this->
ba80 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
baa0 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 rentObj).{.............$parentOb
bac0 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 j->FHalfCarry.=.true;...........
bae0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b ..$parentObj->FSubtract.=.false;
bb00 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d .............$parentObj->FZero.=
bb20 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 38 .(($parentObj->registersHL.&.0x8
bb40 30 30 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 000).==.0);.........};.........$
bb60 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
bb80 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 n.($parentObj).{.............$pa
bba0 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 rentObj->FHalfCarry.=.true;.....
bbc0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 ........$parentObj->FSubtract.=.
bbe0 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 false;.............$parentObj->F
bc00 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c Zero.=.(($parentObj->registersHL
bc20 20 26 20 30 78 30 30 38 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 .&.0x0080).==.0);.........};....
bc40 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
bc60 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
bc80 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 ...$parentObj->FHalfCarry.=.true
bca0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 ;.............$parentObj->FSubtr
bcc0 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 act.=.false;.............$parent
bce0 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 Obj->FZero.=.(($parentObj->memor
bd00 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d yReader[$parentObj->registersHL]
bd20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 ($parentObj,.$parentObj->registe
bd40 72 73 48 4c 29 20 26 20 30 78 38 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a rsHL).&.0x80).==.0);.........};.
bd60 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
bd80 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
bda0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 ......$parentObj->FHalfCarry.=.t
bdc0 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 rue;.............$parentObj->FSu
bde0 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 btract.=.false;.............$par
be00 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 entObj->FZero.=.(($parentObj->re
be20 67 69 73 74 65 72 41 20 26 20 30 78 38 30 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d gisterA.&.0x80).==.0);.........}
be40 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
be60 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
be80 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 3d ........$parentObj->registerB.&=
bea0 20 30 78 46 45 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0xFE;.........};.........$this-
bec0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
bee0 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
bf00 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 3d 20 30 78 46 45 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerC.&=.0xFE;.........}
bf20 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
bf40 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
bf60 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 3d ........$parentObj->registerD.&=
bf80 20 30 78 46 45 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0xFE;.........};.........$this-
bfa0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
bfc0 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
bfe0 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 3d 20 30 78 46 45 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerE.&=.0xFE;.........}
c000 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
c020 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
c040 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 ........$parentObj->registersHL.
c060 26 3d 20 30 78 46 45 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 &=.0xFEFF;.........};.........$t
c080 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
c0a0 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
c0c0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 78 46 46 46 45 3b 0a 20 entObj->registersHL.&=.0xFFFE;..
c0e0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
c100 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
c120 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f ).{.............$parentObj->memo
c140 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c ryWrite($parentObj->registersHL,
c160 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e .$parentObj->memoryReader[$paren
c180 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 tObj->registersHL]($parentObj,.$
c1a0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 46 45 29 3b parentObj->registersHL).&.0xFE);
c1c0 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 .........};.........$this->funct
c1e0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
c200 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj).{.............$parentObj->re
c220 67 69 73 74 65 72 41 20 26 3d 20 30 78 46 45 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 gisterA.&=.0xFE;.........};.....
c240 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
c260 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
c280 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 3d 20 30 78 46 44 3b ..$parentObj->registerB.&=.0xFD;
c2a0 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 .........};.........$this->funct
c2c0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
c2e0 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj).{.............$parentObj->re
c300 67 69 73 74 65 72 43 20 26 3d 20 30 78 46 44 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 gisterC.&=.0xFD;.........};.....
c320 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
c340 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
c360 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 3d 20 30 78 46 44 3b ..$parentObj->registerD.&=.0xFD;
c380 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 .........};.........$this->funct
c3a0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
c3c0 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj).{.............$parentObj->re
c3e0 67 69 73 74 65 72 45 20 26 3d 20 30 78 46 44 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 gisterE.&=.0xFD;.........};.....
c400 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
c420 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
c440 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 78 46 ..$parentObj->registersHL.&=.0xF
c460 44 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 DFF;.........};.........$this->f
c480 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
c4a0 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
c4c0 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 78 46 46 46 44 3b 0a 20 20 20 20 20 20 20 ->registersHL.&=.0xFFFD;........
c4e0 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 .};.........$this->functionsArra
c500 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
c520 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 ..........$parentObj->memoryWrit
c540 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 e($parentObj->registersHL,.$pare
c560 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ntObj->memoryReader[$parentObj->
c580 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 registersHL]($parentObj,.$parent
c5a0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 46 44 29 3b 0a 20 20 20 20 20 Obj->registersHL).&.0xFD);......
c5c0 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 ...};.........$this->functionsAr
c5e0 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
c600 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ............$parentObj->register
c620 41 20 26 3d 20 30 78 46 44 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 A.&=.0xFD;.........};.........$t
c640 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
c660 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
c680 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 3d 20 30 78 46 42 3b 0a 20 20 20 20 20 entObj->registerB.&=.0xFB;......
c6a0 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 ...};.........$this->functionsAr
c6c0 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
c6e0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ............$parentObj->register
c700 43 20 26 3d 20 30 78 46 42 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 C.&=.0xFB;.........};.........$t
c720 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
c740 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
c760 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 3d 20 30 78 46 42 3b 0a 20 20 20 20 20 entObj->registerD.&=.0xFB;......
c780 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 ...};.........$this->functionsAr
c7a0 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
c7c0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ............$parentObj->register
c7e0 45 20 26 3d 20 30 78 46 42 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 E.&=.0xFB;.........};.........$t
c800 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
c820 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
c840 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 78 46 42 46 46 3b 0a 20 entObj->registersHL.&=.0xFBFF;..
c860 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
c880 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
c8a0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
c8c0 73 74 65 72 73 48 4c 20 26 3d 20 30 78 46 46 46 42 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 stersHL.&=.0xFFFB;.........};...
c8e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
c900 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
c920 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 ....$parentObj->memoryWrite($par
c940 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->registersHL,.$parentObj-
c960 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 >memoryReader[$parentObj->regist
c980 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 ersHL]($parentObj,.$parentObj->r
c9a0 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 46 42 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a egistersHL).&.0xFB);.........};.
c9c0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
c9e0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
ca00 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 3d 20 30 ......$parentObj->registerA.&=.0
ca20 78 46 42 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 xFB;.........};.........$this->f
ca40 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
ca60 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
ca80 2d 3e 72 65 67 69 73 74 65 72 42 20 26 3d 20 30 78 46 37 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a ->registerB.&=.0xF7;.........};.
caa0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
cac0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
cae0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 3d 20 30 ......$parentObj->registerC.&=.0
cb00 78 46 37 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 xF7;.........};.........$this->f
cb20 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
cb40 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
cb60 2d 3e 72 65 67 69 73 74 65 72 44 20 26 3d 20 30 78 46 37 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a ->registerD.&=.0xF7;.........};.
cb80 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
cba0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
cbc0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 3d 20 30 ......$parentObj->registerE.&=.0
cbe0 78 46 37 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 xF7;.........};.........$this->f
cc00 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
cc20 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
cc40 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 78 46 37 46 46 3b 0a 20 20 20 20 20 20 20 ->registersHL.&=.0xF7FF;........
cc60 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 .};.........$this->functionsArra
cc80 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
cca0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 ..........$parentObj->registersH
ccc0 4c 20 26 3d 20 30 78 46 46 46 37 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 L.&=.0xFFF7;.........};.........
cce0 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
cd00 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
cd20 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a arentObj->memoryWrite($parentObj
cd40 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 ->registersHL,.$parentObj->memor
cd60 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d yReader[$parentObj->registersHL]
cd80 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 ($parentObj,.$parentObj->registe
cda0 72 73 48 4c 29 20 26 20 30 78 46 37 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 rsHL).&.0xF7);.........};.......
cdc0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
cde0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
ce00 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 3d 20 30 78 46 37 3b 0a 20 $parentObj->registerA.&=.0xF7;..
ce20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
ce40 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
ce60 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
ce80 73 74 65 72 42 20 26 3d 20 30 78 45 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterB.&=.0xEF;.........};.......
cea0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
cec0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
cee0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 3d 20 30 78 45 46 3b 0a 20 $parentObj->registerC.&=.0xEF;..
cf00 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
cf20 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
cf40 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
cf60 73 74 65 72 44 20 26 3d 20 30 78 45 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterD.&=.0xEF;.........};.......
cf80 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
cfa0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
cfc0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 3d 20 30 78 45 46 3b 0a 20 $parentObj->registerE.&=.0xEF;..
cfe0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
d000 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
d020 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
d040 73 74 65 72 73 48 4c 20 26 3d 20 30 78 45 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 stersHL.&=.0xEFFF;.........};...
d060 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
d080 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
d0a0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 ....$parentObj->registersHL.&=.0
d0c0 78 46 46 45 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d xFFEF;.........};.........$this-
d0e0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
d100 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
d120 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 bj->memoryWrite($parentObj->regi
d140 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 stersHL,.$parentObj->memoryReade
d160 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 r[$parentObj->registersHL]($pare
d180 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 ntObj,.$parentObj->registersHL).
d1a0 26 20 30 78 45 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 &.0xEF);.........};.........$thi
d1c0 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
d1e0 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
d200 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 3d 20 30 78 45 46 3b 0a 20 20 20 20 20 20 20 tObj->registerA.&=.0xEF;........
d220 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 .};.........$this->functionsArra
d240 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
d260 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 ..........$parentObj->registerB.
d280 26 3d 20 30 78 44 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 &=.0xDF;.........};.........$thi
d2a0 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
d2c0 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
d2e0 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 3d 20 30 78 44 46 3b 0a 20 20 20 20 20 20 20 tObj->registerC.&=.0xDF;........
d300 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 .};.........$this->functionsArra
d320 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
d340 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 ..........$parentObj->registerD.
d360 26 3d 20 30 78 44 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 &=.0xDF;.........};.........$thi
d380 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
d3a0 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
d3c0 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 3d 20 30 78 44 46 3b 0a 20 20 20 20 20 20 20 tObj->registerE.&=.0xDF;........
d3e0 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 .};.........$this->functionsArra
d400 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
d420 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 ..........$parentObj->registersH
d440 4c 20 26 3d 20 30 78 44 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 L.&=.0xDFFF;.........};.........
d460 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
d480 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
d4a0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 78 46 46 44 46 3b arentObj->registersHL.&=.0xFFDF;
d4c0 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 .........};.........$this->funct
d4e0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
d500 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 bj).{.............$parentObj->me
d520 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 moryWrite($parentObj->registersH
d540 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 L,.$parentObj->memoryReader[$par
d560 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c entObj->registersHL]($parentObj,
d580 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 44 46 .$parentObj->registersHL).&.0xDF
d5a0 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e );.........};.........$this->fun
d5c0 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
d5e0 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
d600 72 65 67 69 73 74 65 72 41 20 26 3d 20 30 78 44 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 registerA.&=.0xDF;.........};...
d620 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
d640 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
d660 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 3d 20 30 78 42 ....$parentObj->registerB.&=.0xB
d680 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e F;.........};.........$this->fun
d6a0 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
d6c0 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
d6e0 72 65 67 69 73 74 65 72 43 20 26 3d 20 30 78 42 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 registerC.&=.0xBF;.........};...
d700 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
d720 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
d740 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 3d 20 30 78 42 ....$parentObj->registerD.&=.0xB
d760 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e F;.........};.........$this->fun
d780 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
d7a0 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
d7c0 72 65 67 69 73 74 65 72 45 20 26 3d 20 30 78 42 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 registerE.&=.0xBF;.........};...
d7e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
d800 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
d820 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 ....$parentObj->registersHL.&=.0
d840 78 42 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d xBFFF;.........};.........$this-
d860 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
d880 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
d8a0 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 78 46 46 42 46 3b 0a 20 20 20 20 20 bj->registersHL.&=.0xFFBF;......
d8c0 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 ...};.........$this->functionsAr
d8e0 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
d900 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 ............$parentObj->memoryWr
d920 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 ite($parentObj->registersHL,.$pa
d940 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a rentObj->memoryReader[$parentObj
d960 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 ->registersHL]($parentObj,.$pare
d980 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 42 46 29 3b 0a 20 20 20 ntObj->registersHL).&.0xBF);....
d9a0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 .....};.........$this->functions
d9c0 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
d9e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 {.............$parentObj->regist
da00 65 72 41 20 26 3d 20 30 78 42 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 erA.&=.0xBF;.........};.........
da20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
da40 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
da60 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 3d 20 30 78 37 46 3b 0a 20 20 20 arentObj->registerB.&=.0x7F;....
da80 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 .....};.........$this->functions
daa0 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
dac0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 {.............$parentObj->regist
dae0 65 72 43 20 26 3d 20 30 78 37 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 erC.&=.0x7F;.........};.........
db00 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
db20 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
db40 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 3d 20 30 78 37 46 3b 0a 20 20 20 arentObj->registerD.&=.0x7F;....
db60 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 .....};.........$this->functions
db80 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
dba0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 {.............$parentObj->regist
dbc0 65 72 45 20 26 3d 20 30 78 37 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 erE.&=.0x7F;.........};.........
dbe0 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
dc00 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
dc20 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 78 37 46 46 46 3b arentObj->registersHL.&=.0x7FFF;
dc40 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 .........};.........$this->funct
dc60 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
dc80 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj).{.............$parentObj->re
dca0 67 69 73 74 65 72 73 48 4c 20 26 3d 20 30 78 46 46 37 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a gistersHL.&=.0xFF7F;.........};.
dcc0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
dce0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
dd00 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 ......$parentObj->memoryWrite($p
dd20 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 arentObj->registersHL,.$parentOb
dd40 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 j->memoryReader[$parentObj->regi
dd60 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d stersHL]($parentObj,.$parentObj-
dd80 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 20 30 78 37 46 29 3b 0a 20 20 20 20 20 20 20 20 7d >registersHL).&.0x7F);.........}
dda0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
ddc0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
dde0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 3d ........$parentObj->registerA.&=
de00 20 30 78 37 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0x7F;.........};.........$this-
de20 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
de40 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
de60 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 7c 3d 20 30 78 30 31 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerB.|=.0x01;.........}
de80 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
dea0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
dec0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 7c 3d ........$parentObj->registerC.|=
dee0 20 30 78 30 31 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0x01;.........};.........$this-
df00 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
df20 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
df40 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 7c 3d 20 30 78 30 31 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerD.|=.0x01;.........}
df60 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
df80 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
dfa0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 7c 3d ........$parentObj->registerE.|=
dfc0 20 30 78 30 31 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0x01;.........};.........$this-
dfe0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
e000 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
e020 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 7c 3d 20 30 78 30 31 30 30 3b 0a 20 20 20 20 20 bj->registersHL.|=.0x0100;......
e040 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 ...};.........$this->functionsAr
e060 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
e080 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ............$parentObj->register
e0a0 73 48 4c 20 7c 3d 20 30 78 30 31 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 sHL.|=.0x01;.........};.........
e0c0 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
e0e0 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
e100 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a arentObj->memoryWrite($parentObj
e120 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 ->registersHL,.$parentObj->memor
e140 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d yReader[$parentObj->registersHL]
e160 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 ($parentObj,.$parentObj->registe
e180 72 73 48 4c 29 20 7c 20 30 78 30 31 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 rsHL).|.0x01);.........};.......
e1a0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
e1c0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
e1e0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d 20 30 78 30 31 3b 0a 20 $parentObj->registerA.|=.0x01;..
e200 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
e220 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
e240 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
e260 73 74 65 72 42 20 7c 3d 20 30 78 30 32 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterB.|=.0x02;.........};.......
e280 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
e2a0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
e2c0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 7c 3d 20 30 78 30 32 3b 0a 20 $parentObj->registerC.|=.0x02;..
e2e0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
e300 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
e320 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
e340 73 74 65 72 44 20 7c 3d 20 30 78 30 32 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterD.|=.0x02;.........};.......
e360 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
e380 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
e3a0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 7c 3d 20 30 78 30 32 3b 0a 20 $parentObj->registerE.|=.0x02;..
e3c0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
e3e0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
e400 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
e420 73 74 65 72 73 48 4c 20 7c 3d 20 30 78 30 32 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 stersHL.|=.0x0200;.........};...
e440 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
e460 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
e480 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 7c 3d 20 30 ....$parentObj->registersHL.|=.0
e4a0 78 30 32 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 x02;.........};.........$this->f
e4c0 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
e4e0 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
e500 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 ->memoryWrite($parentObj->regist
e520 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b ersHL,.$parentObj->memoryReader[
e540 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 $parentObj->registersHL]($parent
e560 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 7c 20 Obj,.$parentObj->registersHL).|.
e580 30 78 30 32 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 0x02);.........};.........$this-
e5a0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
e5c0 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
e5e0 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d 20 30 78 30 32 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerA.|=.0x02;.........}
e600 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
e620 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
e640 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 7c 3d ........$parentObj->registerB.|=
e660 20 30 78 30 34 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0x04;.........};.........$this-
e680 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
e6a0 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
e6c0 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 7c 3d 20 30 78 30 34 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerC.|=.0x04;.........}
e6e0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
e700 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
e720 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 7c 3d ........$parentObj->registerD.|=
e740 20 30 78 30 34 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0x04;.........};.........$this-
e760 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
e780 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
e7a0 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 7c 3d 20 30 78 30 34 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerE.|=.0x04;.........}
e7c0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
e7e0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
e800 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 ........$parentObj->registersHL.
e820 7c 3d 20 30 78 30 34 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 |=.0x0400;.........};.........$t
e840 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
e860 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
e880 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 7c 3d 20 30 78 30 34 3b 0a 20 20 20 entObj->registersHL.|=.0x04;....
e8a0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 .....};.........$this->functions
e8c0 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
e8e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 {.............$parentObj->memory
e900 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 Write($parentObj->registersHL,.$
e920 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f parentObj->memoryReader[$parentO
e940 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 bj->registersHL]($parentObj,.$pa
e960 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 7c 20 30 78 30 34 29 3b 0a 20 rentObj->registersHL).|.0x04);..
e980 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
e9a0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
e9c0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
e9e0 73 74 65 72 41 20 7c 3d 20 30 78 30 34 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterA.|=.0x04;.........};.......
ea00 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
ea20 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
ea40 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 7c 3d 20 30 78 30 38 3b 0a 20 $parentObj->registerB.|=.0x08;..
ea60 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
ea80 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
eaa0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
eac0 73 74 65 72 43 20 7c 3d 20 30 78 30 38 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterC.|=.0x08;.........};.......
eae0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
eb00 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
eb20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 7c 3d 20 30 78 30 38 3b 0a 20 $parentObj->registerD.|=.0x08;..
eb40 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
eb60 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
eb80 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
eba0 73 74 65 72 45 20 7c 3d 20 30 78 30 38 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterE.|=.0x08;.........};.......
ebc0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
ebe0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
ec00 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 7c 3d 20 30 78 30 38 30 $parentObj->registersHL.|=.0x080
ec20 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 0;.........};.........$this->fun
ec40 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
ec60 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
ec80 72 65 67 69 73 74 65 72 73 48 4c 20 7c 3d 20 30 78 30 38 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a registersHL.|=.0x08;.........};.
eca0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
ecc0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
ece0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 ......$parentObj->memoryWrite($p
ed00 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 arentObj->registersHL,.$parentOb
ed20 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 j->memoryReader[$parentObj->regi
ed40 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d stersHL]($parentObj,.$parentObj-
ed60 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 7c 20 30 78 30 38 29 3b 0a 20 20 20 20 20 20 20 20 7d >registersHL).|.0x08);.........}
ed80 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
eda0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
edc0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d ........$parentObj->registerA.|=
ede0 20 30 78 30 38 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0x08;.........};.........$this-
ee00 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
ee20 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
ee40 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 7c 3d 20 30 78 31 30 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerB.|=.0x10;.........}
ee60 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
ee80 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
eea0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 7c 3d ........$parentObj->registerC.|=
eec0 20 30 78 31 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0x10;.........};.........$this-
eee0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
ef00 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
ef20 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 7c 3d 20 30 78 31 30 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerD.|=.0x10;.........}
ef40 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
ef60 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
ef80 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 7c 3d ........$parentObj->registerE.|=
efa0 20 30 78 31 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0x10;.........};.........$this-
efc0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
efe0 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
f000 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 7c 3d 20 30 78 31 30 30 30 3b 0a 20 20 20 20 20 bj->registersHL.|=.0x1000;......
f020 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 ...};.........$this->functionsAr
f040 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
f060 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ............$parentObj->register
f080 73 48 4c 20 7c 3d 20 30 78 31 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 sHL.|=.0x10;.........};.........
f0a0 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
f0c0 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
f0e0 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a arentObj->memoryWrite($parentObj
f100 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 ->registersHL,.$parentObj->memor
f120 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d yReader[$parentObj->registersHL]
f140 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 ($parentObj,.$parentObj->registe
f160 72 73 48 4c 29 20 7c 20 30 78 31 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 rsHL).|.0x10);.........};.......
f180 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
f1a0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
f1c0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d 20 30 78 31 30 3b 0a 20 $parentObj->registerA.|=.0x10;..
f1e0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
f200 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
f220 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
f240 73 74 65 72 42 20 7c 3d 20 30 78 32 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterB.|=.0x20;.........};.......
f260 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
f280 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
f2a0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 7c 3d 20 30 78 32 30 3b 0a 20 $parentObj->registerC.|=.0x20;..
f2c0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
f2e0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
f300 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
f320 73 74 65 72 44 20 7c 3d 20 30 78 32 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterD.|=.0x20;.........};.......
f340 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
f360 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
f380 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 7c 3d 20 30 78 32 30 3b 0a 20 $parentObj->registerE.|=.0x20;..
f3a0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
f3c0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
f3e0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
f400 73 74 65 72 73 48 4c 20 7c 3d 20 30 78 32 30 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 stersHL.|=.0x2000;.........};...
f420 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
f440 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
f460 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 7c 3d 20 30 ....$parentObj->registersHL.|=.0
f480 78 32 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 x20;.........};.........$this->f
f4a0 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
f4c0 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
f4e0 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 ->memoryWrite($parentObj->regist
f500 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b ersHL,.$parentObj->memoryReader[
f520 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 $parentObj->registersHL]($parent
f540 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 7c 20 Obj,.$parentObj->registersHL).|.
f560 30 78 32 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 0x20);.........};.........$this-
f580 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
f5a0 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
f5c0 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d 20 30 78 32 30 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerA.|=.0x20;.........}
f5e0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
f600 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
f620 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 7c 3d ........$parentObj->registerB.|=
f640 20 30 78 34 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0x40;.........};.........$this-
f660 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
f680 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
f6a0 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 7c 3d 20 30 78 34 30 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerC.|=.0x40;.........}
f6c0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
f6e0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
f700 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 7c 3d ........$parentObj->registerD.|=
f720 20 30 78 34 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .0x40;.........};.........$this-
f740 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
f760 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
f780 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 7c 3d 20 30 78 34 30 3b 0a 20 20 20 20 20 20 20 20 7d bj->registerE.|=.0x40;.........}
f7a0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
f7c0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
f7e0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 ........$parentObj->registersHL.
f800 7c 3d 20 30 78 34 30 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 |=.0x4000;.........};.........$t
f820 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
f840 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
f860 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 7c 3d 20 30 78 34 30 3b 0a 20 20 20 entObj->registersHL.|=.0x40;....
f880 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 .....};.........$this->functions
f8a0 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
f8c0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 {.............$parentObj->memory
f8e0 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 Write($parentObj->registersHL,.$
f900 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f parentObj->memoryReader[$parentO
f920 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 bj->registersHL]($parentObj,.$pa
f940 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 7c 20 30 78 34 30 29 3b 0a 20 rentObj->registersHL).|.0x40);..
f960 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
f980 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
f9a0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
f9c0 73 74 65 72 41 20 7c 3d 20 30 78 34 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterA.|=.0x40;.........};.......
f9e0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
fa00 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
fa20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 7c 3d 20 30 78 38 30 3b 0a 20 $parentObj->registerB.|=.0x80;..
fa40 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
fa60 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
fa80 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
faa0 73 74 65 72 43 20 7c 3d 20 30 78 38 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterC.|=.0x80;.........};.......
fac0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
fae0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
fb00 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 7c 3d 20 30 78 38 30 3b 0a 20 $parentObj->registerD.|=.0x80;..
fb20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .......};.........$this->functio
fb40 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
fb60 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
fb80 73 74 65 72 45 20 7c 3d 20 30 78 38 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 sterE.|=.0x80;.........};.......
fba0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
fbc0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
fbe0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 7c 3d 20 30 78 38 30 30 $parentObj->registersHL.|=.0x800
fc00 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 0;.........};.........$this->fun
fc20 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
fc40 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
fc60 72 65 67 69 73 74 65 72 73 48 4c 20 7c 3d 20 30 78 38 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a registersHL.|=.0x80;.........};.
fc80 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
fca0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
fcc0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 ......$parentObj->memoryWrite($p
fce0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 arentObj->registersHL,.$parentOb
fd00 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 j->memoryReader[$parentObj->regi
fd20 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d stersHL]($parentObj,.$parentObj-
fd40 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 7c 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 7d >registersHL).|.0x80);.........}
fd60 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b ;.........$this->functionsArray[
fd80 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
fda0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d ........$parentObj->registerA.|=
fdc0 20 30 78 38 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 .0x80;.........};.....}......pub
fde0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 lic.function.get().....{........
fe00 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 3b 0a 20 .return.$this->functionsArray;..
fe20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 47 61 6d 65 42 6f 79 3b ...}.}.<?php..namespace.GameBoy;
fe40 0a 0a 63 6c 61 73 73 20 43 6f 72 65 0a 7b 0a 20 20 20 20 2f 2f 20 4c 43 44 20 43 6f 6e 74 65 78 ..class.Core.{.....//.LCD.Contex
fe60 74 0a 20 20 20 20 70 75 62 6c 69 63 20 24 64 72 61 77 43 6f 6e 74 65 78 74 20 3d 20 6e 75 6c 6c t.....public.$drawContext.=.null
fe80 3b 0a 0a 20 20 20 20 2f 2f 54 68 65 20 67 61 6d 65 27 73 20 52 4f 4d 2e 0a 20 20 20 20 70 75 62 ;......//The.game's.ROM......pub
fea0 6c 69 63 20 24 52 4f 4d 49 6d 61 67 65 3b 0a 0a 20 20 20 20 2f 2f 54 68 65 20 66 75 6c 6c 20 52 lic.$ROMImage;......//The.full.R
fec0 4f 4d 20 66 69 6c 65 20 64 75 6d 70 65 64 20 74 6f 20 61 6e 20 61 72 72 61 79 2e 0a 20 20 20 20 OM.file.dumped.to.an.array......
fee0 70 75 62 6c 69 63 20 24 52 4f 4d 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 2f 2f 57 68 65 74 68 65 72 public.$ROM.=.[];......//Whether
ff00 20 77 65 27 72 65 20 69 6e 20 74 68 65 20 47 42 43 20 62 6f 6f 74 20 52 4f 4d 2e 0a 20 20 20 20 .we're.in.the.GBC.boot.ROM......
ff20 70 75 62 6c 69 63 20 24 69 6e 42 6f 6f 74 73 74 72 61 70 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 public.$inBootstrap.=.true;.....
ff40 20 2f 2f 55 70 64 61 74 65 64 20 75 70 6f 6e 20 52 4f 4d 20 6c 6f 61 64 69 6e 67 2e 2e 2e 0a 20 .//Updated.upon.ROM.loading.....
ff60 20 20 20 70 75 62 6c 69 63 20 24 75 73 65 64 42 6f 6f 74 52 4f 4d 20 3d 20 66 61 6c 73 65 3b 0a ...public.$usedBootROM.=.false;.
ff80 0a 20 20 20 20 2f 2f 20 41 63 63 75 6d 75 6c 61 74 6f 72 20 28 64 65 66 61 75 6c 74 20 69 73 20 .....//.Accumulator.(default.is.
ffa0 47 42 20 6d 6f 64 65 29 0a 20 20 20 20 70 75 62 6c 69 63 20 24 72 65 67 69 73 74 65 72 41 20 3d GB.mode).....public.$registerA.=
ffc0 20 30 78 30 31 3b 0a 0a 20 20 20 20 2f 2f 20 62 69 74 20 37 20 2d 20 5a 65 72 6f 0a 20 20 20 20 .0x01;......//.bit.7.-.Zero.....
ffe0 70 75 62 6c 69 63 20 24 46 5a 65 72 6f 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 2f 2f 20 62 69 public.$FZero.=.true;......//.bi
10000 74 20 36 20 2d 20 53 75 62 0a 20 20 20 20 70 75 62 6c 69 63 20 24 46 53 75 62 74 72 61 63 74 20 t.6.-.Sub.....public.$FSubtract.
10020 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 20 62 69 74 20 35 20 2d 20 48 61 6c 66 20 43 61 =.false;......//.bit.5.-.Half.Ca
10040 72 72 79 0a 20 20 20 20 70 75 62 6c 69 63 20 24 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 rry.....public.$FHalfCarry.=.tru
10060 65 3b 0a 0a 20 20 20 20 2f 2f 20 62 69 74 20 34 20 2d 20 43 61 72 72 79 0a 20 20 20 20 70 75 62 e;......//.bit.4.-.Carry.....pub
10080 6c 69 63 20 24 46 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 2f 2f 20 52 65 67 69 lic.$FCarry.=.true;......//.Regi
100a0 73 74 65 72 20 42 0a 20 20 20 20 70 75 62 6c 69 63 20 24 72 65 67 69 73 74 65 72 42 20 3d 20 30 ster.B.....public.$registerB.=.0
100c0 78 30 30 3b 0a 0a 20 20 20 20 2f 2f 20 52 65 67 69 73 74 65 72 20 43 0a 20 20 20 20 70 75 62 6c x00;......//.Register.C.....publ
100e0 69 63 20 24 72 65 67 69 73 74 65 72 43 20 3d 20 30 78 31 33 3b 0a 0a 20 20 20 20 2f 2f 20 52 65 ic.$registerC.=.0x13;......//.Re
10100 67 69 73 74 65 72 20 44 0a 20 20 20 20 70 75 62 6c 69 63 20 24 72 65 67 69 73 74 65 72 44 20 3d gister.D.....public.$registerD.=
10120 20 30 78 30 30 3b 0a 0a 20 20 20 20 2f 2f 20 52 65 67 69 73 74 65 72 20 45 0a 20 20 20 20 70 75 .0x00;......//.Register.E.....pu
10140 62 6c 69 63 20 24 72 65 67 69 73 74 65 72 45 20 3d 20 30 78 44 38 3b 0a 0a 20 20 20 20 2f 2f 20 blic.$registerE.=.0xD8;......//.
10160 52 65 67 69 73 74 65 72 73 20 48 20 61 6e 64 20 4c 0a 20 20 20 20 70 75 62 6c 69 63 20 24 72 65 Registers.H.and.L.....public.$re
10180 67 69 73 74 65 72 73 48 4c 20 3d 20 30 78 30 31 34 44 3b 0a 0a 20 20 20 20 2f 2f 41 72 72 61 79 gistersHL.=.0x014D;......//Array
101a0 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 6d 61 70 70 65 64 20 74 6f 20 72 65 61 64 20 62 61 63 .of.functions.mapped.to.read.bac
101c0 6b 20 6d 65 6d 6f 72 79 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6d 65 6d 6f 72 79 52 65 61 64 65 k.memory.....public.$memoryReade
101e0 72 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 2f 2f 41 72 72 61 79 20 6f 66 20 66 75 6e 63 74 69 6f 6e r.=.[];......//Array.of.function
10200 73 20 6d 61 70 70 65 64 20 74 6f 20 77 72 69 74 65 20 74 6f 20 6d 65 6d 6f 72 79 0a 20 20 20 20 s.mapped.to.write.to.memory.....
10220 70 75 62 6c 69 63 20 24 6d 65 6d 6f 72 79 57 72 69 74 65 72 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 public.$memoryWriter.=.[];......
10240 2f 2f 20 53 74 61 63 6b 20 50 6f 69 6e 74 65 72 0a 20 20 20 20 70 75 62 6c 69 63 20 24 73 74 61 //.Stack.Pointer.....public.$sta
10260 63 6b 50 6f 69 6e 74 65 72 20 3d 20 30 78 46 46 46 45 3b 0a 0a 20 20 20 20 2f 2f 20 50 72 6f 67 ckPointer.=.0xFFFE;......//.Prog
10280 72 61 6d 20 43 6f 75 6e 74 65 72 0a 20 20 20 20 70 75 62 6c 69 63 20 24 70 72 6f 67 72 61 6d 43 ram.Counter.....public.$programC
102a0 6f 75 6e 74 65 72 20 3d 20 30 78 30 31 30 30 3b 0a 0a 20 20 20 20 2f 2f 48 61 73 20 74 68 65 20 ounter.=.0x0100;......//Has.the.
102c0 43 50 55 20 62 65 65 6e 20 73 75 73 70 65 6e 64 65 64 20 75 6e 74 69 6c 20 74 68 65 20 6e 65 78 CPU.been.suspended.until.the.nex
102e0 74 20 69 6e 74 65 72 72 75 70 74 3f 0a 20 20 20 20 70 75 62 6c 69 63 20 24 68 61 6c 74 20 3d 20 t.interrupt?.....public.$halt.=.
10300 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 44 69 64 20 77 65 20 74 72 69 70 20 74 68 65 20 44 4d false;......//Did.we.trip.the.DM
10320 47 20 48 61 6c 74 20 62 75 67 3f 0a 20 20 20 20 70 75 62 6c 69 63 20 24 73 6b 69 70 50 43 49 6e G.Halt.bug?.....public.$skipPCIn
10340 63 72 65 6d 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 48 61 73 20 74 68 65 20 crement.=.false;......//Has.the.
10360 65 6d 75 6c 61 74 69 6f 6e 20 62 65 65 6e 20 70 61 75 73 65 64 20 6f 72 20 61 20 66 72 61 6d 65 emulation.been.paused.or.a.frame
10380 20 68 61 73 20 65 6e 64 65 64 3f 0a 20 20 20 20 70 75 62 6c 69 63 20 24 73 74 6f 70 45 6d 75 6c .has.ended?.....public.$stopEmul
103a0 61 74 6f 72 20 3d 20 33 3b 0a 0a 20 20 20 20 2f 2f 41 72 65 20 69 6e 74 65 72 72 75 70 74 73 20 ator.=.3;......//Are.interrupts.
103c0 65 6e 61 62 6c 65 64 3f 0a 20 20 20 20 70 75 62 6c 69 63 20 24 49 4d 45 20 3d 20 74 72 75 65 3b enabled?.....public.$IME.=.true;
103e0 0a 0a 20 20 20 20 2f 2f 48 44 4d 41 20 54 72 61 6e 73 66 65 72 20 46 6c 61 67 20 2d 20 47 42 43 ......//HDMA.Transfer.Flag.-.GBC
10400 20 6f 6e 6c 79 0a 20 20 20 20 70 75 62 6c 69 63 20 24 68 64 6d 61 52 75 6e 6e 69 6e 67 20 3d 20 .only.....public.$hdmaRunning.=.
10420 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6c 6f 63 false;......//The.number.of.cloc
10440 6b 20 63 79 63 6c 65 73 20 65 6d 75 6c 61 74 65 64 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 43 k.cycles.emulated......public.$C
10460 50 55 54 69 63 6b 73 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 47 42 43 20 53 70 65 65 64 20 4d 75 PUTicks.=.0;......//GBC.Speed.Mu
10480 6c 74 69 70 6c 69 65 72 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6d 75 6c 74 69 70 6c 69 65 72 20 ltiplier.....public.$multiplier.
104a0 3d 20 31 3b 0a 0a 20 20 20 20 2f 2f 0a 20 20 20 20 2f 2f 4d 61 69 6e 20 52 41 4d 2c 20 4d 42 43 =.1;......//.....//Main.RAM,.MBC
104c0 20 52 41 4d 2c 20 47 42 43 20 4d 61 69 6e 20 52 41 4d 2c 20 56 52 41 4d 2c 20 65 74 63 2e 0a 20 .RAM,.GBC.Main.RAM,.VRAM,.etc...
104e0 20 20 20 2f 2f 0a 0a 20 20 20 20 2f 2f 4d 61 69 6e 20 43 6f 72 65 20 4d 65 6d 6f 72 79 0a 20 20 ...//......//Main.Core.Memory...
10500 20 20 70 75 62 6c 69 63 20 24 6d 65 6d 6f 72 79 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 2f 2f 53 77 ..public.$memory.=.[];......//Sw
10520 69 74 63 68 61 62 6c 65 20 52 41 4d 20 28 55 73 65 64 20 62 79 20 67 61 6d 65 73 20 66 6f 72 20 itchable.RAM.(Used.by.games.for.
10540 6d 6f 72 65 20 52 41 4d 29 20 66 6f 72 20 74 68 65 20 6d 61 69 6e 20 6d 65 6d 6f 72 79 20 72 61 more.RAM).for.the.main.memory.ra
10560 6e 67 65 20 30 78 41 30 30 30 20 2d 20 30 78 43 30 30 30 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 nge.0xA000.-.0xC000......public.
10580 24 4d 42 43 52 61 6d 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 2f 2f 45 78 74 72 61 20 56 52 41 4d 20 $MBCRam.=.[];......//Extra.VRAM.
105a0 62 61 6e 6b 20 66 6f 72 20 47 42 43 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 56 52 41 4d 20 3d bank.for.GBC......public.$VRAM.=
105c0 20 5b 5d 3b 0a 0a 20 20 20 20 2f 2f 43 75 72 72 65 6e 74 20 56 52 41 4d 20 62 61 6e 6b 20 66 6f .[];......//Current.VRAM.bank.fo
105e0 72 20 47 42 43 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 75 72 72 56 52 41 4d 42 61 6e 6b 20 r.GBC......public.$currVRAMBank.
10600 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 47 42 43 20 6d 61 69 6e 20 52 41 4d 20 42 61 6e 6b 73 0a 20 =.0;......//GBC.main.RAM.Banks..
10620 20 20 20 70 75 62 6c 69 63 20 24 47 42 43 4d 65 6d 6f 72 79 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 ...public.$GBCMemory.=.[];......
10640 2f 2f 4d 42 43 31 20 54 79 70 65 20 28 34 2f 33 32 2c 20 31 36 2f 38 29 0a 20 20 20 20 70 75 62 //MBC1.Type.(4/32,.16/8).....pub
10660 6c 69 63 20 24 4d 42 43 31 4d 6f 64 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 4d 42 lic.$MBC1Mode.=.false;......//MB
10680 43 20 52 41 4d 20 41 63 63 65 73 73 20 43 6f 6e 74 72 6f 6c 2e 0a 20 20 20 20 70 75 62 6c 69 63 C.RAM.Access.Control......public
106a0 20 24 4d 42 43 52 41 4d 42 61 6e 6b 73 45 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 .$MBCRAMBanksEnabled.=.false;...
106c0 20 20 20 2f 2f 4d 42 43 20 43 75 72 72 65 6e 74 6c 79 20 49 6e 64 65 78 65 64 20 52 41 4d 20 42 ...//MBC.Currently.Indexed.RAM.B
106e0 61 6e 6b 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 20 3d ank.....public.$currMBCRAMBank.=
10700 20 30 3b 0a 0a 20 20 20 20 2f 2f 4d 42 43 20 50 6f 73 69 74 69 6f 6e 20 41 64 64 65 72 3b 0a 20 .0;......//MBC.Position.Adder;..
10720 20 20 20 70 75 62 6c 69 63 20 24 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 50 6f 73 69 74 69 6f ...public.$currMBCRAMBankPositio
10740 6e 20 3d 20 2d 30 78 41 30 30 30 3b 0a 0a 20 20 20 20 2f 2f 47 61 6d 65 42 6f 79 20 43 6f 6c 6f n.=.-0xA000;......//GameBoy.Colo
10760 72 20 64 65 74 65 63 74 69 6f 6e 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 47 42 43 20 3d 20 r.detection......public.$cGBC.=.
10780 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 43 75 72 72 65 6e 74 6c 79 20 53 77 69 74 63 68 65 64 false;......//Currently.Switched
107a0 20 47 61 6d 65 42 6f 79 20 43 6f 6c 6f 72 20 72 61 6d 20 62 61 6e 6b 0a 20 20 20 20 70 75 62 6c .GameBoy.Color.ram.bank.....publ
107c0 69 63 20 24 67 62 63 52 61 6d 42 61 6e 6b 20 3d 20 31 3b 0a 0a 20 20 20 20 2f 2f 47 42 43 20 52 ic.$gbcRamBank.=.1;......//GBC.R
107e0 41 4d 20 6f 66 66 73 65 74 20 66 72 6f 6d 20 61 64 64 72 65 73 73 20 73 74 61 72 74 2e 0a 20 20 AM.offset.from.address.start....
10800 20 20 70 75 62 6c 69 63 20 24 67 62 63 52 61 6d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 20 3d 20 2d ..public.$gbcRamBankPosition.=.-
10820 30 78 44 30 30 30 3b 0a 0a 20 20 20 20 2f 2f 47 42 43 20 52 41 4d 20 28 45 43 48 4f 20 6d 69 72 0xD000;......//GBC.RAM.(ECHO.mir
10840 72 6f 72 69 6e 67 29 20 6f 66 66 73 65 74 20 66 72 6f 6d 20 61 64 64 72 65 73 73 20 73 74 61 72 roring).offset.from.address.star
10860 74 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 67 62 63 52 61 6d 42 61 6e 6b 50 6f 73 69 74 69 6f t......public.$gbcRamBankPositio
10880 6e 45 43 48 4f 20 3d 20 2d 30 78 46 30 30 30 3b 0a 0a 20 20 20 20 2f 2f 55 73 65 64 20 74 6f 20 nECHO.=.-0xF000;......//Used.to.
108a0 6d 61 70 20 74 68 65 20 52 41 4d 20 62 61 6e 6b 73 20 74 6f 20 6d 61 78 69 6d 75 6d 20 73 69 7a map.the.RAM.banks.to.maximum.siz
108c0 65 20 74 68 65 20 4d 42 43 20 75 73 65 64 20 63 61 6e 20 64 6f 2e 0a 20 20 20 20 70 75 62 6c 69 e.the.MBC.used.can.do......publi
108e0 63 20 24 52 41 4d 42 61 6e 6b 73 20 3d 20 5b 30 2c 20 31 2c 20 32 2c 20 34 2c 20 31 36 5d 3b 0a c.$RAMBanks.=.[0,.1,.2,.4,.16];.
10900 0a 20 20 20 20 2f 2f 4f 66 66 73 65 74 20 6f 66 20 74 68 65 20 52 4f 4d 20 62 61 6e 6b 20 73 77 .....//Offset.of.the.ROM.bank.sw
10920 69 74 63 68 69 6e 67 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 52 4f 4d 42 61 6e 6b 31 6f 66 66 itching......public.$ROMBank1off
10940 73 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 54 68 65 20 70 61 72 73 65 64 20 63 75 72 72 65 6e 74 s.=.0;......//The.parsed.current
10960 20 52 4f 4d 20 62 61 6e 6b 20 73 65 6c 65 63 74 69 6f 6e 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 .ROM.bank.selection......public.
10980 24 63 75 72 72 65 6e 74 52 4f 4d 42 61 6e 6b 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 43 61 72 74 $currentROMBank.=.0;......//Cart
109a0 72 69 64 67 65 20 54 79 70 65 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 61 72 74 72 69 64 67 65 ridge.Type.....public.$cartridge
109c0 54 79 70 65 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 4e 61 6d 65 20 6f 66 20 74 68 65 20 67 61 6d Type.=.0;......//Name.of.the.gam
109e0 65 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6e 61 6d 65 20 3d 20 27 27 3b 0a 0a 20 20 20 20 2f 2f e.....public.$name.=.'';......//
10a00 47 61 6d 65 20 63 6f 64 65 20 28 53 75 66 66 69 78 20 66 6f 72 20 6f 6c 64 65 72 20 67 61 6d 65 Game.code.(Suffix.for.older.game
10a20 73 29 0a 20 20 20 20 70 75 62 6c 69 63 20 24 67 61 6d 65 43 6f 64 65 20 3d 20 27 27 3b 0a 0a 20 s).....public.$gameCode.=.'';...
10a40 20 20 20 2f 2f 41 20 62 6f 6f 6c 65 61 6e 20 74 6f 20 73 65 65 20 69 66 20 74 68 69 73 20 77 61 ...//A.boolean.to.see.if.this.wa
10a60 73 20 6c 6f 61 64 65 64 20 69 6e 20 61 73 20 61 20 73 61 76 65 20 73 74 61 74 65 2e 0a 20 20 20 s.loaded.in.as.a.save.state.....
10a80 20 70 75 62 6c 69 63 20 24 66 72 6f 6d 53 61 76 65 53 74 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a .public.$fromSaveState.=.false;.
10aa0 0a 20 20 20 20 2f 2f 57 68 65 6e 20 6c 6f 61 64 65 64 20 69 6e 20 61 73 20 61 20 73 61 76 65 20 .....//When.loaded.in.as.a.save.
10ac0 73 74 61 74 65 2c 20 74 68 69 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 65 6d 70 74 79 2e 0a 20 state,.this.will.not.be.empty...
10ae0 20 20 20 70 75 62 6c 69 63 20 24 73 61 76 65 64 53 74 61 74 65 46 69 6c 65 4e 61 6d 65 20 3d 20 ...public.$savedStateFileName.=.
10b00 27 27 3b 0a 0a 20 20 20 20 2f 2f 54 72 61 63 6b 65 72 20 66 6f 72 20 53 54 41 54 20 74 72 69 67 '';......//Tracker.for.STAT.trig
10b20 67 65 72 69 6e 67 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 53 54 41 54 54 72 61 63 6b 65 72 20 gering......public.$STATTracker.
10b40 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 54 68 65 20 73 63 61 6e 20 6c 69 6e 65 20 6d 6f 64 65 20 28 =.0;......//The.scan.line.mode.(
10b60 66 6f 72 20 6c 69 6e 65 73 20 31 2d 31 34 34 20 69 74 27 73 20 32 2d 33 2d 30 2c 20 66 6f 72 20 for.lines.1-144.it's.2-3-0,.for.
10b80 31 34 35 2d 31 35 34 20 69 74 27 73 20 31 29 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6d 6f 64 65 145-154.it's.1).....public.$mode
10ba0 53 54 41 54 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 53 68 6f 75 6c 64 20 77 65 20 74 72 69 67 67 STAT.=.0;......//Should.we.trigg
10bc0 65 72 20 61 6e 20 69 6e 74 65 72 72 75 70 74 20 69 66 20 4c 59 3d 3d 4c 59 43 3f 0a 20 20 20 20 er.an.interrupt.if.LY==LYC?.....
10be0 70 75 62 6c 69 63 20 24 4c 59 43 4d 61 74 63 68 54 72 69 67 67 65 72 53 54 41 54 20 3d 20 66 61 public.$LYCMatchTriggerSTAT.=.fa
10c00 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 53 68 6f 75 6c 64 20 77 65 20 74 72 69 67 67 65 72 20 61 6e lse;......//Should.we.trigger.an
10c20 20 69 6e 74 65 72 72 75 70 74 20 69 66 20 69 6e 20 6d 6f 64 65 20 32 3f 0a 20 20 20 20 70 75 62 .interrupt.if.in.mode.2?.....pub
10c40 6c 69 63 20 24 6d 6f 64 65 32 54 72 69 67 67 65 72 53 54 41 54 20 3d 20 66 61 6c 73 65 3b 0a 0a lic.$mode2TriggerSTAT.=.false;..
10c60 20 20 20 20 2f 2f 53 68 6f 75 6c 64 20 77 65 20 74 72 69 67 67 65 72 20 61 6e 20 69 6e 74 65 72 ....//Should.we.trigger.an.inter
10c80 72 75 70 74 20 69 66 20 69 6e 20 6d 6f 64 65 20 31 3f 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6d rupt.if.in.mode.1?.....public.$m
10ca0 6f 64 65 31 54 72 69 67 67 65 72 53 54 41 54 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f ode1TriggerSTAT.=.false;......//
10cc0 53 68 6f 75 6c 64 20 77 65 20 74 72 69 67 67 65 72 20 61 6e 20 69 6e 74 65 72 72 75 70 74 20 69 Should.we.trigger.an.interrupt.i
10ce0 66 20 69 6e 20 6d 6f 64 65 20 30 3f 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6d 6f 64 65 30 54 72 f.in.mode.0?.....public.$mode0Tr
10d00 69 67 67 65 72 53 54 41 54 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 49 73 20 74 68 65 iggerSTAT.=.false;......//Is.the
10d20 20 65 6d 75 6c 61 74 65 64 20 4c 43 44 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 6f 6e 3f 0a 20 20 20 .emulated.LCD.controller.on?....
10d40 20 70 75 62 6c 69 63 20 24 4c 43 44 69 73 4f 6e 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f .public.$LCDisOn.=.false;....../
10d60 2f 6c 63 64 43 6f 6e 74 72 6f 6c 6c 65 72 6c 65 72 20 6f 62 6a 65 63 74 0a 20 20 20 20 70 75 62 /lcdControllerler.object.....pub
10d80 6c 69 63 20 24 6c 63 64 43 6f 6e 74 72 6f 6c 6c 65 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 lic.$lcdController.=.null;......
10da0 70 75 62 6c 69 63 20 24 67 66 78 57 69 6e 64 6f 77 59 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 public.$gfxWindowY.=.false;.....
10dc0 20 70 75 62 6c 69 63 20 24 67 66 78 57 69 6e 64 6f 77 44 69 73 70 6c 61 79 20 3d 20 66 61 6c 73 .public.$gfxWindowDisplay.=.fals
10de0 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 67 66 78 53 70 72 69 74 65 53 68 6f 77 20 3d 20 e;......public.$gfxSpriteShow.=.
10e00 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 67 66 78 53 70 72 69 74 65 44 6f 75 false;......public.$gfxSpriteDou
10e20 62 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 67 66 78 42 61 63 ble.=.false;......public.$gfxBac
10e40 6b 67 72 6f 75 6e 64 59 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 67 kgroundY.=.false;......public.$g
10e60 66 78 42 61 63 6b 67 72 6f 75 6e 64 58 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c fxBackgroundX.=.false;......publ
10e80 69 63 20 24 54 49 4d 41 45 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f ic.$TIMAEnabled.=.false;......//
10ea0 4a 6f 79 70 61 64 20 53 74 61 74 65 20 28 74 77 6f 20 66 6f 75 72 2d 62 69 74 20 73 74 61 74 65 Joypad.State.(two.four-bit.state
10ec0 73 20 61 63 74 75 61 6c 6c 79 29 0a 20 20 20 20 70 75 62 6c 69 63 20 24 4a 6f 79 50 61 64 20 3d s.actually).....public.$JoyPad.=
10ee0 20 30 78 46 46 3b 0a 0a 20 20 20 20 2f 2f 0a 20 20 20 20 2f 2f 52 54 43 3a 0a 20 20 20 20 2f 2f .0xFF;......//.....//RTC:.....//
10f00 0a 20 20 20 20 70 75 62 6c 69 63 20 24 52 54 43 69 73 4c 61 74 63 68 65 64 20 3d 20 74 72 75 65 .....public.$RTCisLatched.=.true
10f20 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6c 61 74 63 68 65 64 53 65 63 6f 6e 64 73 20 3d 20 ;......public.$latchedSeconds.=.
10f40 30 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6c 61 74 63 68 65 64 4d 69 6e 75 74 65 73 20 3d 0;......public.$latchedMinutes.=
10f60 20 30 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6c 61 74 63 68 65 64 48 6f 75 72 73 20 3d 20 .0;......public.$latchedHours.=.
10f80 30 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6c 61 74 63 68 65 64 4c 44 61 79 73 20 3d 20 30 0;......public.$latchedLDays.=.0
10fa0 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6c 61 74 63 68 65 64 48 44 61 79 73 20 3d 20 30 3b ;......public.$latchedHDays.=.0;
10fc0 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 52 54 43 53 65 63 6f 6e 64 73 20 3d 20 30 3b 0a 0a 20 ......public.$RTCSeconds.=.0;...
10fe0 20 20 20 70 75 62 6c 69 63 20 24 52 54 43 4d 69 6e 75 74 65 73 20 3d 20 30 3b 0a 0a 20 20 20 20 ...public.$RTCMinutes.=.0;......
11000 70 75 62 6c 69 63 20 24 52 54 43 48 6f 75 72 73 20 3d 20 30 3b 0a 0a 20 20 20 20 70 75 62 6c 69 public.$RTCHours.=.0;......publi
11020 63 20 24 52 54 43 44 61 79 73 20 3d 20 30 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 52 54 43 c.$RTCDays.=.0;......public.$RTC
11040 44 61 79 4f 76 65 72 46 6c 6f 77 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 DayOverFlow.=.false;......public
11060 20 24 52 54 43 48 41 4c 54 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 0a 20 20 20 20 2f .$RTCHALT.=.false;......//...../
11080 2f 54 69 6d 69 6e 67 20 56 61 72 69 61 62 6c 65 73 0a 20 20 20 20 2f 2f 0a 0a 20 20 20 20 2f 2f /Timing.Variables.....//......//
110a0 55 73 65 64 20 74 6f 20 73 61 6d 70 6c 65 20 74 68 65 20 61 75 64 69 6f 20 73 79 73 74 65 6d 20 Used.to.sample.the.audio.system.
110c0 65 76 65 72 79 20 78 20 43 50 55 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a 20 20 20 20 70 75 every.x.CPU.instructions......pu
110e0 62 6c 69 63 20 24 61 75 64 69 6f 54 69 63 6b 73 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 54 69 6d blic.$audioTicks.=.0;......//Tim
11100 65 73 20 66 6f 72 20 68 6f 77 20 6d 61 6e 79 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 74 6f 20 es.for.how.many.instructions.to.
11120 65 78 65 63 75 74 65 20 62 65 66 6f 72 65 20 65 6e 64 69 6e 67 20 74 68 65 20 6c 6f 6f 70 2e 0a execute.before.ending.the.loop..
11140 20 20 20 20 70 75 62 6c 69 63 20 24 65 6d 75 6c 61 74 6f 72 54 69 63 6b 73 20 3d 20 30 3b 0a 0a ....public.$emulatorTicks.=.0;..
11160 20 20 20 20 2f 2f 20 44 49 56 20 54 69 63 6b 73 20 43 6f 75 6e 74 65 72 20 28 49 6e 76 69 73 69 ....//.DIV.Ticks.Counter.(Invisi
11180 62 6c 65 20 6c 6f 77 65 72 20 38 2d 62 69 74 29 0a 20 20 20 20 70 75 62 6c 69 63 20 24 44 49 56 ble.lower.8-bit).....public.$DIV
111a0 54 69 63 6b 73 20 3d 20 31 34 3b 0a 0a 20 20 20 20 2f 2f 20 53 63 61 6e 4c 69 6e 65 20 43 6f 75 Ticks.=.14;......//.ScanLine.Cou
111c0 6e 74 65 72 0a 20 20 20 20 70 75 62 6c 69 63 20 24 4c 43 44 54 69 63 6b 73 20 3d 20 31 35 3b 0a nter.....public.$LCDTicks.=.15;.
111e0 0a 20 20 20 20 2f 2f 20 54 69 6d 65 72 20 54 69 63 6b 73 20 43 6f 75 6e 74 0a 20 20 20 20 70 75 .....//.Timer.Ticks.Count.....pu
11200 62 6c 69 63 20 24 74 69 6d 65 72 54 69 63 6b 73 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 20 54 69 blic.$timerTicks.=.0;......//.Ti
11220 6d 65 72 20 4d 61 78 20 54 69 63 6b 73 0a 20 20 20 20 70 75 62 6c 69 63 20 24 54 41 43 43 6c 6f mer.Max.Ticks.....public.$TACClo
11240 63 6b 65 72 20 3d 20 32 35 36 3b 0a 0a 20 20 20 20 2f 2f 41 72 65 20 74 68 65 20 69 6e 74 65 72 cker.=.256;......//Are.the.inter
11260 72 75 70 74 73 20 6f 6e 20 71 75 65 75 65 20 74 6f 20 62 65 20 65 6e 61 62 6c 65 64 3f 0a 20 20 rupts.on.queue.to.be.enabled?...
11280 20 20 70 75 62 6c 69 63 20 24 75 6e 74 69 6c 45 6e 61 62 6c 65 20 3d 20 30 3b 0a 0a 20 20 20 20 ..public.$untilEnable.=.0;......
112a0 2f 2f 54 68 65 20 6c 61 73 74 20 74 69 6d 65 20 77 65 20 69 74 65 72 61 74 65 64 20 74 68 65 20 //The.last.time.we.iterated.the.
112c0 6d 61 69 6e 20 6c 6f 6f 70 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6c 61 73 74 49 74 65 72 61 main.loop......public.$lastItera
112e0 74 69 6f 6e 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 41 63 74 75 61 6c 20 73 63 61 6e 20 6c 69 6e tion.=.0;......//Actual.scan.lin
11300 65 2e 2e 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 20 e........public.$actualScanLine.
11320 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 0a 20 20 20 20 2f 2f 52 4f 4d 20 43 61 72 74 72 69 64 67 65 =.0;......//.....//ROM.Cartridge
11340 20 43 6f 6d 70 6f 6e 65 6e 74 73 3a 0a 20 20 20 20 2f 2f 0a 0a 20 20 20 20 2f 2f 44 6f 65 73 20 .Components:.....//......//Does.
11360 74 68 65 20 63 61 72 74 72 69 64 67 65 20 75 73 65 20 4d 42 43 31 3f 0a 20 20 20 20 70 75 62 6c the.cartridge.use.MBC1?.....publ
11380 69 63 20 24 63 4d 42 43 31 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 44 6f 65 73 20 74 ic.$cMBC1.=.false;......//Does.t
113a0 68 65 20 63 61 72 74 72 69 64 67 65 20 75 73 65 20 4d 42 43 32 3f 0a 20 20 20 20 70 75 62 6c 69 he.cartridge.use.MBC2?.....publi
113c0 63 20 24 63 4d 42 43 32 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 44 6f 65 73 20 74 68 c.$cMBC2.=.false;......//Does.th
113e0 65 20 63 61 72 74 72 69 64 67 65 20 75 73 65 20 4d 42 43 33 3f 0a 20 20 20 20 70 75 62 6c 69 63 e.cartridge.use.MBC3?.....public
11400 20 24 63 4d 42 43 33 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 44 6f 65 73 20 74 68 65 .$cMBC3.=.false;......//Does.the
11420 20 63 61 72 74 72 69 64 67 65 20 75 73 65 20 4d 42 43 35 3f 0a 20 20 20 20 70 75 62 6c 69 63 20 .cartridge.use.MBC5?.....public.
11440 24 63 4d 42 43 35 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 44 6f 65 73 20 74 68 65 20 $cMBC5.=.false;......//Does.the.
11460 63 61 72 74 72 69 64 67 65 20 75 73 65 20 73 61 76 65 20 52 41 4d 3f 0a 20 20 20 20 70 75 62 6c cartridge.use.save.RAM?.....publ
11480 69 63 20 24 63 53 52 41 4d 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 ic.$cSRAM.=.false;......public.$
114a0 63 4d 4d 4d 4f 31 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 44 6f 65 73 20 74 68 65 20 cMMMO1.=.false;......//Does.the.
114c0 63 61 72 74 72 69 64 67 65 20 75 73 65 20 74 68 65 20 52 55 4d 42 4c 45 20 61 64 64 72 65 73 73 cartridge.use.the.RUMBLE.address
114e0 69 6e 67 20 28 6d 6f 64 69 66 69 65 64 20 4d 42 43 35 29 3f 0a 20 20 20 20 70 75 62 6c 69 63 20 ing.(modified.MBC5)?.....public.
11500 24 63 52 55 4d 42 4c 45 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 $cRUMBLE.=.false;......public.$c
11520 43 61 6d 65 72 61 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 54 41 Camera.=.false;......public.$cTA
11540 4d 41 35 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 48 75 43 33 20 MA5.=.false;......public.$cHuC3.
11560 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 48 75 43 31 20 3d 20 66 61 =.false;......public.$cHuC1.=.fa
11580 6c 73 65 3b 0a 0a 20 20 20 20 2f 2f 20 31 20 42 61 6e 6b 20 3d 20 31 36 20 4b 42 79 74 65 73 20 lse;......//.1.Bank.=.16.KBytes.
115a0 3d 20 32 35 36 20 4b 62 69 74 73 0a 20 20 20 20 70 75 62 6c 69 63 20 24 52 4f 4d 42 61 6e 6b 73 =.256.Kbits.....public.$ROMBanks
115c0 20 3d 20 5b 0a 20 20 20 20 20 20 20 20 32 2c 20 34 2c 20 38 2c 20 31 36 2c 20 33 32 2c 20 36 34 .=.[.........2,.4,.8,.16,.32,.64
115e0 2c 20 31 32 38 2c 20 32 35 36 2c 20 35 31 32 2c 0a 20 20 20 20 5d 3b 0a 0a 20 20 20 20 2f 2f 48 ,.128,.256,.512,.....];......//H
11600 6f 77 20 6d 61 6e 79 20 52 41 4d 20 62 61 6e 6b 73 20 77 65 72 65 20 61 63 74 75 61 6c 6c 79 20 ow.many.RAM.banks.were.actually.
11620 61 6c 6c 6f 63 61 74 65 64 3f 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6e 75 6d 52 41 4d 42 61 6e allocated?.....public.$numRAMBan
11640 6b 73 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 0a 20 20 20 20 2f 2f 47 72 61 70 68 69 63 73 20 56 ks.=.0;......//.....//Graphics.V
11660 61 72 69 61 62 6c 65 73 0a 20 20 20 20 2f 2f 0a 0a 20 20 20 20 2f 2f 54 6f 20 70 72 65 76 65 6e ariables.....//......//To.preven
11680 74 20 74 68 65 20 72 65 70 65 61 74 69 6e 67 20 6f 66 20 64 72 61 77 69 6e 67 20 61 20 62 6c 61 t.the.repeating.of.drawing.a.bla
116a0 6e 6b 20 73 63 72 65 65 6e 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 64 72 65 77 42 6c 61 6e 6b nk.screen......public.$drewBlank
116c0 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 20 74 69 6c 65 20 64 61 74 61 20 61 72 72 61 79 73 0a 20 .=.0;......//.tile.data.arrays..
116e0 20 20 20 70 75 62 6c 69 63 20 24 74 69 6c 65 44 61 74 61 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 70 ...public.$tileData.=.[];......p
11700 75 62 6c 69 63 20 24 66 72 61 6d 65 42 75 66 66 65 72 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 70 75 ublic.$frameBuffer.=.[];......pu
11720 62 6c 69 63 20 24 63 61 6e 76 61 73 42 75 66 66 65 72 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 blic.$canvasBuffer;......public.
11740 24 67 62 63 52 61 77 50 61 6c 65 74 74 65 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 2f 2f 47 42 3a 20 $gbcRawPalette.=.[];......//GB:.
11760 33 38 34 2c 20 47 42 43 3a 20 33 38 34 20 2a 20 32 0a 20 20 20 20 70 75 62 6c 69 63 20 24 74 69 384,.GBC:.384.*.2.....public.$ti
11780 6c 65 43 6f 75 6e 74 20 3d 20 33 38 34 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 74 69 6c 65 leCount.=.384;......public.$tile
117a0 43 6f 75 6e 74 49 6e 76 61 6c 69 64 61 74 6f 72 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 CountInvalidator;......public.$c
117c0 6f 6c 6f 72 43 6f 75 6e 74 20 3d 20 31 32 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 67 62 50 olorCount.=.12;......public.$gbP
117e0 61 6c 65 74 74 65 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 67 62 43 6f 6c 6f alette.=.[];......public.$gbColo
11800 72 69 7a 65 64 50 61 6c 65 74 74 65 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 rizedPalette.=.[];......public.$
11820 67 62 63 50 61 6c 65 74 74 65 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 2f 2f 20 6d 69 6e 20 22 61 74 gbcPalette.=.[];......//.min."at
11840 74 72 69 62 22 20 76 61 6c 75 65 20 77 68 65 72 65 20 74 72 61 6e 73 70 61 72 65 6e 63 79 20 63 trib".value.where.transparency.c
11860 61 6e 20 6f 63 63 75 72 20 28 44 65 66 61 75 6c 74 20 69 73 20 34 20 28 47 42 20 6d 6f 64 65 29 an.occur.(Default.is.4.(GB.mode)
11880 29 0a 20 20 20 20 70 75 62 6c 69 63 20 24 74 72 61 6e 73 70 61 72 65 6e 74 43 75 74 6f 66 66 20 ).....public.$transparentCutoff.
118a0 3d 20 34 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 62 67 45 6e 61 62 6c 65 64 20 3d 20 74 72 =.4;......public.$bgEnabled.=.tr
118c0 75 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 73 70 72 69 74 65 50 72 69 6f 72 69 74 79 45 ue;......public.$spritePriorityE
118e0 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 2f 2f 20 74 72 75 65 20 69 66 20 74 nabled.=.true;......//.true.if.t
11900 68 65 72 65 20 61 72 65 20 61 6e 79 20 69 6d 61 67 65 73 20 74 6f 20 62 65 20 69 6e 76 61 6c 69 here.are.any.images.to.be.invali
11920 64 61 74 65 64 0a 20 20 20 20 70 75 62 6c 69 63 20 24 74 69 6c 65 52 65 61 64 53 74 61 74 65 20 dated.....public.$tileReadState.
11940 3d 20 5b 5d 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 77 69 6e 64 6f 77 53 6f 75 72 63 65 4c =.[];......public.$windowSourceL
11960 69 6e 65 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2f 22 43 6c 61 73 73 69 63 22 20 47 61 6d 65 42 6f ine.=.0;......//"Classic".GameBo
11980 79 20 70 61 6c 65 74 74 65 20 63 6f 6c 6f 72 73 2e 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 6f y.palette.colors......public.$co
119a0 6c 6f 72 73 20 3d 20 5b 30 78 38 30 45 46 46 46 44 45 2c 20 30 78 38 30 41 44 44 37 39 34 2c 20 lors.=.[0x80EFFFDE,.0x80ADD794,.
119c0 30 78 38 30 35 32 39 32 37 33 2c 20 30 78 38 30 31 38 33 34 34 32 5d 3b 0a 0a 20 20 20 20 2f 2f 0x80529273,.0x80183442];......//
119e0 46 72 61 6d 65 20 73 6b 69 70 20 74 72 61 63 6b 65 72 0a 20 20 20 20 70 75 62 6c 69 63 20 24 66 Frame.skip.tracker.....public.$f
11a00 72 61 6d 65 43 6f 75 6e 74 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 77 65 61 76 65 4c 6f 6f rameCount;......public.$weaveLoo
11a20 6b 75 70 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 77 69 64 74 68 20 3d 20 31 kup.=.[];......public.$width.=.1
11a40 36 30 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 68 65 69 67 68 74 20 3d 20 31 34 34 3b 0a 0a 60;......public.$height.=.144;..
11a60 20 20 20 20 70 75 62 6c 69 63 20 24 70 69 78 65 6c 43 6f 75 6e 74 3b 0a 0a 20 20 20 20 70 75 62 ....public.$pixelCount;......pub
11a80 6c 69 63 20 24 72 67 62 43 6f 75 6e 74 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 77 69 64 74 lic.$rgbCount;......public.$widt
11aa0 68 52 61 74 69 6f 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 68 65 69 67 68 74 52 61 74 69 6f hRatio;......public.$heightRatio
11ac0 3b 0a 0a 20 20 20 20 2f 2f 50 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 ;......//Pointer.to.the.current.
11ae0 70 61 6c 65 74 74 65 20 77 65 27 72 65 20 75 73 69 6e 67 20 28 55 73 65 64 20 66 6f 72 20 70 61 palette.we're.using.(Used.for.pa
11b00 6c 65 74 74 65 20 73 77 69 74 63 68 65 73 20 64 75 72 69 6e 67 20 62 6f 6f 74 20 6f 72 20 73 6f lette.switches.during.boot.or.so
11b20 20 69 74 20 63 61 6e 20 62 65 20 64 6f 6e 65 20 61 6e 79 74 69 6d 65 29 0a 20 20 20 20 70 75 62 .it.can.be.done.anytime).....pub
11b40 6c 69 63 20 24 70 61 6c 65 74 74 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 2f 2f 0a 20 20 20 lic.$palette.=.null;......//....
11b60 20 2f 2f 44 61 74 61 0a 20 20 20 20 2f 2f 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 44 41 41 54 .//Data.....//......public.$DAAT
11b80 61 62 6c 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 66 66 78 78 44 75 6d 70 3b 0a 0a 20 20 able;......public.$ffxxDump;....
11ba0 20 20 70 75 62 6c 69 63 20 24 4f 50 43 4f 44 45 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 43 ..public.$OPCODE;......public.$C
11bc0 42 4f 50 43 4f 44 45 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 54 49 43 4b 54 61 62 6c 65 3b BOPCODE;......public.$TICKTable;
11be0 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 53 65 63 6f 6e 64 61 72 79 54 49 43 4b 54 61 62 6c 65 ......public.$SecondaryTICKTable
11c00 3b 0a 0a 20 20 20 20 2f 2f 20 41 64 64 65 64 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 54 49 ;......//.Added......public.$cTI
11c20 4d 45 52 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e MER.=.null;......public.function
11c40 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 52 4f 4d 49 6d 61 67 65 2c 20 24 64 72 61 77 43 6f 6e .__construct($ROMImage,.$drawCon
11c60 74 65 78 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 72 61 77 43 text).....{.........$this->drawC
11c80 6f 6e 74 65 78 74 20 3d 20 24 64 72 61 77 43 6f 6e 74 65 78 74 3b 0a 20 20 20 20 20 20 20 20 24 ontext.=.$drawContext;.........$
11ca0 74 68 69 73 2d 3e 52 4f 4d 49 6d 61 67 65 20 3d 20 24 52 4f 4d 49 6d 61 67 65 3b 0a 0a 20 20 20 this->ROMImage.=.$ROMImage;.....
11cc0 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 49 6e 76 61 6c 69 64 61 74 6f 72 .....$this->tileCountInvalidator
11ce0 20 3d 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 34 3b 0a 0a 20 20 20 20 20 20 .=.$this->tileCount.*.4;........
11d00 20 20 24 74 68 69 73 2d 3e 52 4f 4d 42 61 6e 6b 73 5b 30 78 35 32 5d 20 3d 20 37 32 3b 0a 20 20 ..$this->ROMBanks[0x52].=.72;...
11d20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 4f 4d 42 61 6e 6b 73 5b 30 78 35 33 5d 20 3d 20 38 30 ......$this->ROMBanks[0x53].=.80
11d40 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 4f 4d 42 61 6e 6b 73 5b 30 78 35 34 5d 20 ;.........$this->ROMBanks[0x54].
11d60 3d 20 39 36 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 61 6d 65 43 6f 75 6e 74 =.96;..........$this->frameCount
11d80 20 3d 20 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 31 32 5d 3b 0a 20 20 20 20 .=.Settings::$settings[12];.....
11da0 20 20 20 20 24 74 68 69 73 2d 3e 70 69 78 65 6c 43 6f 75 6e 74 20 3d 20 24 74 68 69 73 2d 3e 77 ....$this->pixelCount.=.$this->w
11dc0 69 64 74 68 20 2a 20 24 74 68 69 73 2d 3e 68 65 69 67 68 74 3b 0a 20 20 20 20 20 20 20 20 24 74 idth.*.$this->height;.........$t
11de0 68 69 73 2d 3e 72 67 62 43 6f 75 6e 74 20 3d 20 24 74 68 69 73 2d 3e 70 69 78 65 6c 43 6f 75 6e his->rgbCount.=.$this->pixelCoun
11e00 74 20 2a 20 34 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 69 64 74 68 52 61 74 69 6f t.*.4;.........$this->widthRatio
11e20 20 3d 20 31 36 30 20 2f 20 24 74 68 69 73 2d 3e 77 69 64 74 68 3b 0a 20 20 20 20 20 20 20 20 24 .=.160./.$this->width;.........$
11e40 74 68 69 73 2d 3e 68 65 69 67 68 74 52 61 74 69 6f 20 3d 20 31 34 34 20 2f 20 24 74 68 69 73 2d this->heightRatio.=.144./.$this-
11e60 3e 68 65 69 67 68 74 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 70 79 20 44 61 74 61 0a 20 >height;..........//.Copy.Data..
11e80 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 41 41 54 61 62 6c 65 20 3d 20 44 61 74 61 3a 3a 24 .......$this->DAATable.=.Data::$
11ea0 44 41 41 54 61 62 6c 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 66 78 78 44 75 6d DAATable;.........$this->ffxxDum
11ec0 70 20 3d 20 44 61 74 61 3a 3a 24 66 66 78 78 44 75 6d 70 3b 0a 0a 20 20 20 20 20 20 20 20 24 6f p.=.Data::$ffxxDump;..........$o
11ee0 70 63 6f 64 65 20 3d 20 6e 65 77 20 4f 70 63 6f 64 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 pcode.=.new.Opcode();.........$t
11f00 68 69 73 2d 3e 4f 50 43 4f 44 45 20 3d 20 24 6f 70 63 6f 64 65 2d 3e 67 65 74 28 29 3b 0a 0a 20 his->OPCODE.=.$opcode->get();...
11f20 20 20 20 20 20 20 20 24 63 62 6f 70 63 6f 64 65 20 3d 20 6e 65 77 20 43 62 6f 70 63 6f 64 65 28 .......$cbopcode.=.new.Cbopcode(
11f40 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 43 42 4f 50 43 4f 44 45 20 3d 20 24 63 62 );.........$this->CBOPCODE.=.$cb
11f60 6f 70 63 6f 64 65 2d 3e 67 65 74 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 54 opcode->get();..........$this->T
11f80 49 43 4b 54 61 62 6c 65 20 3d 20 54 49 43 4b 54 61 62 6c 65 73 3a 3a 24 70 72 69 6d 61 72 79 3b ICKTable.=.TICKTables::$primary;
11fa0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 53 65 63 6f 6e 64 61 72 79 54 49 43 4b 54 61 62 .........$this->SecondaryTICKTab
11fc0 6c 65 20 3d 20 54 49 43 4b 54 61 62 6c 65 73 3a 3a 24 73 65 63 6f 6e 64 61 72 79 3b 0a 0a 20 20 le.=.TICKTables::$secondary;....
11fe0 20 20 20 20 20 20 2f 2f 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 4c 43 44 20 43 6f 6e 74 72 ......//Initialize.the.LCD.Contr
12000 6f 6c 6c 65 72 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 63 64 43 6f 6e 74 72 6f 6c 6c oller.........$this->lcdControll
12020 65 72 20 3d 20 6e 65 77 20 4c 63 64 43 6f 6e 74 72 6f 6c 6c 65 72 28 24 74 68 69 73 29 3b 0a 20 er.=.new.LcdController($this);..
12040 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 61 76 65 53 74 ...}......public.function.saveSt
12060 61 74 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 5b 0a 20 20 20 ate().....{.........return.[....
12080 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 6f 6d 54 79 70 65 64 41 72 72 61 79 28 24 .........$this->fromTypedArray($
120a0 74 68 69 73 2d 3e 52 4f 4d 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 this->ROM),.............$this->i
120c0 6e 42 6f 6f 74 73 74 72 61 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 nBootstrap,.............$this->r
120e0 65 67 69 73 74 65 72 41 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 5a 65 egisterA,.............$this->FZe
12100 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 53 75 62 74 72 61 63 74 ro,.............$this->FSubtract
12120 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 48 61 6c 66 43 61 72 72 79 2c ,.............$this->FHalfCarry,
12140 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 43 61 72 72 79 2c 0a 20 20 20 20 .............$this->FCarry,.....
12160 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 42 2c 0a 20 20 20 20 20 20 ........$this->registerB,.......
12180 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 43 2c 0a 20 20 20 20 20 20 20 20 ......$this->registerC,.........
121a0 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 44 2c 0a 20 20 20 20 20 20 20 20 20 20 ....$this->registerD,...........
121c0 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..$this->registerE,.............
121e0 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 $this->registersHL,.............
12200 24 74 68 69 73 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 $this->stackPointer,............
12220 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 2c 0a 20 20 20 20 20 20 20 20 .$this->programCounter,.........
12240 20 20 20 20 24 74 68 69 73 2d 3e 68 61 6c 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 ....$this->halt,.............$th
12260 69 73 2d 3e 49 4d 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 64 6d 61 is->IME,.............$this->hdma
12280 52 75 6e 6e 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 43 50 55 54 Running,.............$this->CPUT
122a0 69 63 6b 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 75 6c 74 69 70 6c icks,.............$this->multipl
122c0 69 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 6f 6d 54 79 70 65 ier,.............$this->fromType
122e0 64 41 72 72 61 79 28 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 29 2c 0a 20 20 20 20 20 20 20 20 20 dArray($this->memory),..........
12300 20 20 20 24 74 68 69 73 2d 3e 66 72 6f 6d 54 79 70 65 64 41 72 72 61 79 28 24 74 68 69 73 2d 3e ...$this->fromTypedArray($this->
12320 4d 42 43 52 61 6d 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 6f 6d MBCRam),.............$this->from
12340 54 79 70 65 64 41 72 72 61 79 28 24 74 68 69 73 2d 3e 56 52 41 4d 29 2c 0a 20 20 20 20 20 20 20 TypedArray($this->VRAM),........
12360 20 20 20 20 20 24 74 68 69 73 2d 3e 63 75 72 72 56 52 41 4d 42 61 6e 6b 2c 0a 20 20 20 20 20 20 .....$this->currVRAMBank,.......
12380 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 6f 6d 54 79 70 65 64 41 72 72 61 79 28 24 74 68 69 ......$this->fromTypedArray($thi
123a0 73 2d 3e 47 42 43 4d 65 6d 6f 72 79 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 s->GBCMemory),.............$this
123c0 2d 3e 4d 42 43 31 4d 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 4d ->MBC1Mode,.............$this->M
123e0 42 43 52 41 4d 42 61 6e 6b 73 45 6e 61 62 6c 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 BCRAMBanksEnabled,.............$
12400 74 68 69 73 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 2c 0a 20 20 20 20 20 20 20 20 20 20 this->currMBCRAMBank,...........
12420 20 20 24 74 68 69 73 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 2c ..$this->currMBCRAMBankPosition,
12440 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 47 42 43 2c 0a 20 20 20 20 20 20 .............$this->cGBC,.......
12460 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 52 61 6d 42 61 6e 6b 2c 0a 20 20 20 20 20 20 20 ......$this->gbcRamBank,........
12480 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 52 61 6d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 2c 0a .....$this->gbcRamBankPosition,.
124a0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 2c ............$this->ROMBank1offs,
124c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 52 4f 4d 42 61 .............$this->currentROMBa
124e0 6e 6b 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 72 74 72 69 64 67 65 nk,.............$this->cartridge
12500 54 79 70 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 0a 20 Type,.............$this->name,..
12520 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 61 6d 65 43 6f 64 65 2c 0a 20 20 20 20 ...........$this->gameCode,.....
12540 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 64 65 53 54 41 54 2c 0a 20 20 20 20 20 20 20 ........$this->modeSTAT,........
12560 20 20 20 20 20 24 74 68 69 73 2d 3e 4c 59 43 4d 61 74 63 68 54 72 69 67 67 65 72 53 54 41 54 2c .....$this->LYCMatchTriggerSTAT,
12580 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 64 65 32 54 72 69 67 67 65 72 .............$this->mode2Trigger
125a0 53 54 41 54 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 64 65 31 54 72 STAT,.............$this->mode1Tr
125c0 69 67 67 65 72 53 54 41 54 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f iggerSTAT,.............$this->mo
125e0 64 65 30 54 72 69 67 67 65 72 53 54 41 54 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 de0TriggerSTAT,.............$thi
12600 73 2d 3e 4c 43 44 69 73 4f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 s->LCDisOn,.............$this->g
12620 66 78 57 69 6e 64 6f 77 59 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 66 fxWindowY,.............$this->gf
12640 78 57 69 6e 64 6f 77 44 69 73 70 6c 61 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 xWindowDisplay,.............$thi
12660 73 2d 3e 67 66 78 53 70 72 69 74 65 53 68 6f 77 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 s->gfxSpriteShow,.............$t
12680 68 69 73 2d 3e 67 66 78 53 70 72 69 74 65 44 6f 75 62 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 his->gfxSpriteDouble,...........
126a0 20 20 24 74 68 69 73 2d 3e 67 66 78 42 61 63 6b 67 72 6f 75 6e 64 59 2c 0a 20 20 20 20 20 20 20 ..$this->gfxBackgroundY,........
126c0 20 20 20 20 20 24 74 68 69 73 2d 3e 67 66 78 42 61 63 6b 67 72 6f 75 6e 64 58 2c 0a 20 20 20 20 .....$this->gfxBackgroundX,.....
126e0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 54 49 4d 41 45 6e 61 62 6c 65 64 2c 0a 20 20 20 20 ........$this->TIMAEnabled,.....
12700 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 49 56 54 69 63 6b 73 2c 0a 20 20 20 20 20 20 20 ........$this->DIVTicks,........
12720 20 20 20 20 20 24 74 68 69 73 2d 3e 4c 43 44 54 69 63 6b 73 2c 0a 20 20 20 20 20 20 20 20 20 20 .....$this->LCDTicks,...........
12740 20 20 24 74 68 69 73 2d 3e 74 69 6d 65 72 54 69 63 6b 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..$this->timerTicks,............
12760 20 24 74 68 69 73 2d 3e 54 41 43 43 6c 6f 63 6b 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .$this->TACClocker,.............
12780 24 74 68 69 73 2d 3e 75 6e 74 69 6c 45 6e 61 62 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 $this->untilEnable,.............
127a0 24 74 68 69 73 2d 3e 6c 61 73 74 49 74 65 72 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 $this->lastIteration,...........
127c0 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 ..$this->cMBC1,.............$thi
127e0 73 2d 3e 63 4d 42 43 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 s->cMBC2,.............$this->cMB
12800 43 33 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 35 2c 0a 20 20 C3,.............$this->cMBC5,...
12820 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 52 41 4d 2c 0a 20 20 20 20 20 20 20 20 ..........$this->cSRAM,.........
12840 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 4d 4d 4f 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ....$this->cMMMO1,.............$
12860 74 68 69 73 2d 3e 63 52 55 4d 42 4c 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 this->cRUMBLE,.............$this
12880 2d 3e 63 43 61 6d 65 72 61 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 54 ->cCamera,.............$this->cT
128a0 41 4d 41 35 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 48 75 43 33 2c 0a AMA5,.............$this->cHuC3,.
128c0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 48 75 43 31 2c 0a 20 20 20 20 20 20 ............$this->cHuC1,.......
128e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 72 65 77 42 6c 61 6e 6b 2c 0a 20 20 20 20 20 20 20 20 ......$this->drewBlank,.........
12900 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ....$this->tileData,............
12920 20 24 74 68 69 73 2d 3e 66 72 6f 6d 54 79 70 65 64 41 72 72 61 79 28 24 74 68 69 73 2d 3e 66 72 .$this->fromTypedArray($this->fr
12940 61 6d 65 42 75 66 66 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 ameBuffer),.............$this->t
12960 69 6c 65 43 6f 75 6e 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6c ileCount,.............$this->col
12980 6f 72 43 6f 75 6e 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 50 61 orCount,.............$this->gbPa
129a0 6c 65 74 74 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 52 61 77 lette,.............$this->gbcRaw
129c0 50 61 6c 65 74 74 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 50 Palette,.............$this->gbcP
129e0 61 6c 65 74 74 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 alette,.............$this->trans
12a00 70 61 72 65 6e 74 43 75 74 6f 66 66 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d parentCutoff,.............$this-
12a20 3e 62 67 45 6e 61 62 6c 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 >bgEnabled,.............$this->s
12a40 70 72 69 74 65 50 72 69 6f 72 69 74 79 45 6e 61 62 6c 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 pritePriorityEnabled,...........
12a60 20 20 24 74 68 69 73 2d 3e 66 72 6f 6d 54 79 70 65 64 41 72 72 61 79 28 24 74 68 69 73 2d 3e 74 ..$this->fromTypedArray($this->t
12a80 69 6c 65 52 65 61 64 53 74 61 74 65 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 ileReadState),.............$this
12aa0 2d 3e 77 69 6e 64 6f 77 53 6f 75 72 63 65 4c 69 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ->windowSourceLine,.............
12ac0 24 74 68 69 73 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 $this->actualScanLine,..........
12ae0 20 20 20 24 74 68 69 73 2d 3e 52 54 43 69 73 4c 61 74 63 68 65 64 2c 0a 20 20 20 20 20 20 20 20 ...$this->RTCisLatched,.........
12b00 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 74 63 68 65 64 53 65 63 6f 6e 64 73 2c 0a 20 20 20 20 20 ....$this->latchedSeconds,......
12b20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 74 63 68 65 64 4d 69 6e 75 74 65 73 2c 0a 20 20 .......$this->latchedMinutes,...
12b40 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 74 63 68 65 64 48 6f 75 72 73 2c 0a 20 ..........$this->latchedHours,..
12b60 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 74 63 68 65 64 4c 44 61 79 73 2c 0a ...........$this->latchedLDays,.
12b80 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 74 63 68 65 64 48 44 61 79 73 2c ............$this->latchedHDays,
12ba0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 53 65 63 6f 6e 64 73 2c 0a .............$this->RTCSeconds,.
12bc0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 4d 69 6e 75 74 65 73 2c 0a 20 ............$this->RTCMinutes,..
12be0 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 48 6f 75 72 73 2c 0a 20 20 20 20 ...........$this->RTCHours,.....
12c00 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 44 61 79 73 2c 0a 20 20 20 20 20 20 20 20 ........$this->RTCDays,.........
12c20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 44 61 79 4f 76 65 72 46 6c 6f 77 2c 0a 20 20 20 20 20 ....$this->RTCDayOverFlow,......
12c40 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 48 41 4c 54 2c 0a 20 20 20 20 20 20 20 20 20 .......$this->RTCHALT,..........
12c60 20 20 20 24 74 68 69 73 2d 3e 67 62 43 6f 6c 6f 72 69 7a 65 64 50 61 6c 65 74 74 65 2c 0a 20 20 ...$this->gbColorizedPalette,...
12c80 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 73 65 64 42 6f 6f 74 52 4f 4d 2c 0a 20 20 ..........$this->usedBootROM,...
12ca0 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 6b 69 70 50 43 49 6e 63 72 65 6d 65 6e 74 ..........$this->skipPCIncrement
12cc0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 53 54 41 54 54 72 61 63 6b 65 72 ,.............$this->STATTracker
12ce0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 52 61 6d 42 61 6e 6b 50 ,.............$this->gbcRamBankP
12d00 6f 73 69 74 69 6f 6e 45 43 48 4f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ositionECHO,.............$this->
12d20 6e 75 6d 52 41 4d 42 61 6e 6b 73 2c 0a 20 20 20 20 20 20 20 20 5d 3b 0a 20 20 20 20 7d 0a 0a 20 numRAMBanks,.........];.....}...
12d40 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 46 72 6f 6d 53 74 61 ...public.function.returnFromSta
12d60 74 65 28 24 72 65 74 75 72 6e 65 64 46 72 6f 6d 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 te($returnedFrom).....{.........
12d80 24 69 6e 64 65 78 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 73 74 61 74 65 20 3d 20 24 72 65 $index.=.0;.........$state.=.$re
12da0 74 75 72 6e 65 64 46 72 6f 6d 2d 3e 73 6c 69 63 65 28 30 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 turnedFrom->slice(0);..........$
12dc0 74 68 69 73 2d 3e 52 4f 4d 20 3d 20 24 74 68 69 73 2d 3e 74 6f 54 79 70 65 64 41 72 72 61 79 28 this->ROM.=.$this->toTypedArray(
12de0 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 2c 20 66 61 6c 73 65 2c 20 66 61 6c 73 65 29 3b $state[$index++],.false,.false);
12e00 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 42 6f 6f 74 73 74 72 61 70 20 3d 20 24 73 .........$this->inBootstrap.=.$s
12e20 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 tate[$index++];.........$this->r
12e40 65 67 69 73 74 65 72 41 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 egisterA.=.$state[$index++];....
12e60 20 20 20 20 20 24 74 68 69 73 2d 3e 46 5a 65 72 6f 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 .....$this->FZero.=.$state[$inde
12e80 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 53 75 62 74 72 61 63 74 20 3d x++];.........$this->FSubtract.=
12ea0 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 .$state[$index++];.........$this
12ec0 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b ->FHalfCarry.=.$state[$index++];
12ee0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 43 61 72 72 79 20 3d 20 24 73 74 61 74 65 5b .........$this->FCarry.=.$state[
12f00 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 $index++];.........$this->regist
12f20 65 72 42 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 erB.=.$state[$index++];.........
12f40 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 $this->registerC.=.$state[$index
12f60 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 ++];.........$this->registerD.=.
12f80 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d $state[$index++];.........$this-
12fa0 3e 72 65 67 69 73 74 65 72 45 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 >registerE.=.$state[$index++];..
12fc0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 24 73 74 61 .......$this->registersHL.=.$sta
12fe0 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 61 te[$index++];.........$this->sta
13000 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 ckPointer.=.$state[$index++];...
13020 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 24 73 ......$this->programCounter.=.$s
13040 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 tate[$index++];.........$this->h
13060 61 6c 74 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 alt.=.$state[$index++];.........
13080 24 74 68 69 73 2d 3e 49 4d 45 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 $this->IME.=.$state[$index++];..
130a0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 64 6d 61 52 75 6e 6e 69 6e 67 20 3d 20 24 73 74 61 .......$this->hdmaRunning.=.$sta
130c0 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 43 50 55 te[$index++];.........$this->CPU
130e0 54 69 63 6b 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 Ticks.=.$state[$index++];.......
13100 20 20 24 74 68 69 73 2d 3e 6d 75 6c 74 69 70 6c 69 65 72 20 3d 20 24 73 74 61 74 65 5b 24 69 6e ..$this->multiplier.=.$state[$in
13120 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 20 3d 20 dex++];.........$this->memory.=.
13140 24 74 68 69 73 2d 3e 74 6f 54 79 70 65 64 41 72 72 61 79 28 24 73 74 61 74 65 5b 24 69 6e 64 65 $this->toTypedArray($state[$inde
13160 78 2b 2b 5d 2c 20 66 61 6c 73 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 x++],.false,.false);.........$th
13180 69 73 2d 3e 4d 42 43 52 61 6d 20 3d 20 24 74 68 69 73 2d 3e 74 6f 54 79 70 65 64 41 72 72 61 79 is->MBCRam.=.$this->toTypedArray
131a0 28 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 2c 20 66 61 6c 73 65 2c 20 66 61 6c 73 65 29 ($state[$index++],.false,.false)
131c0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 56 52 41 4d 20 3d 20 24 74 68 69 73 2d 3e 74 ;.........$this->VRAM.=.$this->t
131e0 6f 54 79 70 65 64 41 72 72 61 79 28 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 2c 20 66 61 oTypedArray($state[$index++],.fa
13200 6c 73 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 75 72 72 lse,.false);.........$this->curr
13220 56 52 41 4d 42 61 6e 6b 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 VRAMBank.=.$state[$index++];....
13240 20 20 20 20 20 24 74 68 69 73 2d 3e 47 42 43 4d 65 6d 6f 72 79 20 3d 20 24 74 68 69 73 2d 3e 74 .....$this->GBCMemory.=.$this->t
13260 6f 54 79 70 65 64 41 72 72 61 79 28 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 2c 20 66 61 oTypedArray($state[$index++],.fa
13280 6c 73 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 4d 42 43 31 lse,.false);.........$this->MBC1
132a0 4d 6f 64 65 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 Mode.=.$state[$index++];........
132c0 20 24 74 68 69 73 2d 3e 4d 42 43 52 41 4d 42 61 6e 6b 73 45 6e 61 62 6c 65 64 20 3d 20 24 73 74 .$this->MBCRAMBanksEnabled.=.$st
132e0 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 75 ate[$index++];.........$this->cu
13300 72 72 4d 42 43 52 41 4d 42 61 6e 6b 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b rrMBCRAMBank.=.$state[$index++];
13320 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 50 6f .........$this->currMBCRAMBankPo
13340 73 69 74 69 6f 6e 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 sition.=.$state[$index++];......
13360 20 20 20 24 74 68 69 73 2d 3e 63 47 42 43 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b ...$this->cGBC.=.$state[$index++
13380 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 52 61 6d 42 61 6e 6b 20 3d 20 24 ];.........$this->gbcRamBank.=.$
133a0 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e state[$index++];.........$this->
133c0 67 62 63 52 61 6d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 gbcRamBankPosition.=.$state[$ind
133e0 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 ex++];.........$this->ROMBank1of
13400 66 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 fs.=.$state[$index++];.........$
13420 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 52 4f 4d 42 61 6e 6b 20 3d 20 24 73 74 61 74 65 5b 24 69 this->currentROMBank.=.$state[$i
13440 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 72 74 72 69 64 67 ndex++];.........$this->cartridg
13460 65 54 79 70 65 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 eType.=.$state[$index++];.......
13480 20 20 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d ..$this->name.=.$state[$index++]
134a0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 61 6d 65 43 6f 64 65 20 3d 20 24 73 74 61 ;.........$this->gameCode.=.$sta
134c0 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 64 te[$index++];.........$this->mod
134e0 65 53 54 41 54 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 eSTAT.=.$state[$index++];.......
13500 20 20 24 74 68 69 73 2d 3e 4c 59 43 4d 61 74 63 68 54 72 69 67 67 65 72 53 54 41 54 20 3d 20 24 ..$this->LYCMatchTriggerSTAT.=.$
13520 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e state[$index++];.........$this->
13540 6d 6f 64 65 32 54 72 69 67 67 65 72 53 54 41 54 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 mode2TriggerSTAT.=.$state[$index
13560 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 64 65 31 54 72 69 67 67 65 72 ++];.........$this->mode1Trigger
13580 53 54 41 54 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 STAT.=.$state[$index++];........
135a0 20 24 74 68 69 73 2d 3e 6d 6f 64 65 30 54 72 69 67 67 65 72 53 54 41 54 20 3d 20 24 73 74 61 74 .$this->mode0TriggerSTAT.=.$stat
135c0 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 4c 43 44 69 e[$index++];.........$this->LCDi
135e0 73 4f 6e 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 sOn.=.$state[$index++];.........
13600 24 74 68 69 73 2d 3e 67 66 78 57 69 6e 64 6f 77 59 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 $this->gfxWindowY.=.$state[$inde
13620 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 66 78 57 69 6e 64 6f 77 44 69 x++];.........$this->gfxWindowDi
13640 73 70 6c 61 79 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 splay.=.$state[$index++];.......
13660 20 20 24 74 68 69 73 2d 3e 67 66 78 53 70 72 69 74 65 53 68 6f 77 20 3d 20 24 73 74 61 74 65 5b ..$this->gfxSpriteShow.=.$state[
13680 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 66 78 53 70 72 $index++];.........$this->gfxSpr
136a0 69 74 65 44 6f 75 62 6c 65 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 iteDouble.=.$state[$index++];...
136c0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 66 78 42 61 63 6b 67 72 6f 75 6e 64 59 20 3d 20 24 73 ......$this->gfxBackgroundY.=.$s
136e0 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 tate[$index++];.........$this->g
13700 66 78 42 61 63 6b 67 72 6f 75 6e 64 58 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d fxBackgroundX.=.$state[$index++]
13720 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 54 49 4d 41 45 6e 61 62 6c 65 64 20 3d 20 24 ;.........$this->TIMAEnabled.=.$
13740 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e state[$index++];.........$this->
13760 44 49 56 54 69 63 6b 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 DIVTicks.=.$state[$index++];....
13780 20 20 20 20 20 24 74 68 69 73 2d 3e 4c 43 44 54 69 63 6b 73 20 3d 20 24 73 74 61 74 65 5b 24 69 .....$this->LCDTicks.=.$state[$i
137a0 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6d 65 72 54 69 63 ndex++];.........$this->timerTic
137c0 6b 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 ks.=.$state[$index++];.........$
137e0 74 68 69 73 2d 3e 54 41 43 43 6c 6f 63 6b 65 72 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 this->TACClocker.=.$state[$index
13800 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 6e 74 69 6c 45 6e 61 62 6c 65 20 ++];.........$this->untilEnable.
13820 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 =.$state[$index++];.........$thi
13840 73 2d 3e 6c 61 73 74 49 74 65 72 61 74 69 6f 6e 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 s->lastIteration.=.$state[$index
13860 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 31 20 3d 20 24 73 74 61 ++];.........$this->cMBC1.=.$sta
13880 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 te[$index++];.........$this->cMB
138a0 43 32 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 C2.=.$state[$index++];.........$
138c0 74 68 69 73 2d 3e 63 4d 42 43 33 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a this->cMBC3.=.$state[$index++];.
138e0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 35 20 3d 20 24 73 74 61 74 65 5b 24 69 ........$this->cMBC5.=.$state[$i
13900 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 52 41 4d 20 3d 20 ndex++];.........$this->cSRAM.=.
13920 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d $state[$index++];.........$this-
13940 3e 63 4d 4d 4d 4f 31 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 >cMMMO1.=.$state[$index++];.....
13960 20 20 20 20 24 74 68 69 73 2d 3e 63 52 55 4d 42 4c 45 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 ....$this->cRUMBLE.=.$state[$ind
13980 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 43 61 6d 65 72 61 20 3d 20 ex++];.........$this->cCamera.=.
139a0 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d $state[$index++];.........$this-
139c0 3e 63 54 41 4d 41 35 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 >cTAMA5.=.$state[$index++];.....
139e0 20 20 20 20 24 74 68 69 73 2d 3e 63 48 75 43 33 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 ....$this->cHuC3.=.$state[$index
13a00 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 48 75 43 31 20 3d 20 24 73 74 61 ++];.........$this->cHuC1.=.$sta
13a20 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 72 65 te[$index++];.........$this->dre
13a40 77 42 6c 61 6e 6b 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 wBlank.=.$state[$index++];......
13a60 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 ...$this->tileData.=.$state[$ind
13a80 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 61 6d 65 42 75 66 66 65 ex++];.........$this->frameBuffe
13aa0 72 20 3d 20 24 74 68 69 73 2d 3e 74 6f 54 79 70 65 64 41 72 72 61 79 28 24 73 74 61 74 65 5b 24 r.=.$this->toTypedArray($state[$
13ac0 69 6e 64 65 78 2b 2b 5d 2c 20 74 72 75 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 index++],.true,.false);.........
13ae0 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 $this->tileCount.=.$state[$index
13b00 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 43 6f 75 6e 74 20 3d ++];.........$this->colorCount.=
13b20 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 .$state[$index++];.........$this
13b40 2d 3e 67 62 50 61 6c 65 74 74 65 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a ->gbPalette.=.$state[$index++];.
13b60 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 52 61 77 50 61 6c 65 74 74 65 20 3d 20 24 ........$this->gbcRawPalette.=.$
13b80 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e state[$index++];.........$this->
13ba0 67 62 63 50 61 6c 65 74 74 65 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 gbcPalette.=.$state[$index++];..
13bc0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 70 61 72 65 6e 74 43 75 74 6f 66 66 20 .......$this->transparentCutoff.
13be0 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 =.$state[$index++];.........$thi
13c00 73 2d 3e 62 67 45 6e 61 62 6c 65 64 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b s->bgEnabled.=.$state[$index++];
13c20 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 70 72 69 74 65 50 72 69 6f 72 69 74 79 45 6e .........$this->spritePriorityEn
13c40 61 62 6c 65 64 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 abled.=.$state[$index++];.......
13c60 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 52 65 61 64 53 74 61 74 65 20 3d 20 24 74 68 69 73 2d 3e ..$this->tileReadState.=.$this->
13c80 74 6f 54 79 70 65 64 41 72 72 61 79 28 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 2c 20 66 toTypedArray($state[$index++],.f
13ca0 61 6c 73 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 69 6e alse,.false);.........$this->win
13cc0 64 6f 77 53 6f 75 72 63 65 4c 69 6e 65 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d dowSourceLine.=.$state[$index++]
13ce0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 20 ;.........$this->actualScanLine.
13d00 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 =.$state[$index++];.........$thi
13d20 73 2d 3e 52 54 43 69 73 4c 61 74 63 68 65 64 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b s->RTCisLatched.=.$state[$index+
13d40 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 74 63 68 65 64 53 65 63 6f 6e 64 +];.........$this->latchedSecond
13d60 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 s.=.$state[$index++];.........$t
13d80 68 69 73 2d 3e 6c 61 74 63 68 65 64 4d 69 6e 75 74 65 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e his->latchedMinutes.=.$state[$in
13da0 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 74 63 68 65 64 48 6f dex++];.........$this->latchedHo
13dc0 75 72 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 urs.=.$state[$index++];.........
13de0 24 74 68 69 73 2d 3e 6c 61 74 63 68 65 64 4c 44 61 79 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e $this->latchedLDays.=.$state[$in
13e00 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 74 63 68 65 64 48 44 dex++];.........$this->latchedHD
13e20 61 79 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 ays.=.$state[$index++];.........
13e40 24 74 68 69 73 2d 3e 52 54 43 53 65 63 6f 6e 64 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 $this->RTCSeconds.=.$state[$inde
13e60 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 4d 69 6e 75 74 65 73 20 x++];.........$this->RTCMinutes.
13e80 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 =.$state[$index++];.........$thi
13ea0 73 2d 3e 52 54 43 48 6f 75 72 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a s->RTCHours.=.$state[$index++];.
13ec0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 44 61 79 73 20 3d 20 24 73 74 61 74 65 5b ........$this->RTCDays.=.$state[
13ee0 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 44 61 79 $index++];.........$this->RTCDay
13f00 4f 76 65 72 46 6c 6f 77 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 OverFlow.=.$state[$index++];....
13f20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 48 41 4c 54 20 3d 20 24 73 74 61 74 65 5b 24 69 6e .....$this->RTCHALT.=.$state[$in
13f40 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 43 6f 6c 6f 72 69 7a dex++];.........$this->gbColoriz
13f60 65 64 50 61 6c 65 74 74 65 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 edPalette.=.$state[$index++];...
13f80 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 73 65 64 42 6f 6f 74 52 4f 4d 20 3d 20 24 73 74 61 74 ......$this->usedBootROM.=.$stat
13fa0 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 6b 69 70 e[$index++];.........$this->skip
13fc0 50 43 49 6e 63 72 65 6d 65 6e 74 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a PCIncrement.=.$state[$index++];.
13fe0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 53 54 41 54 54 72 61 63 6b 65 72 20 3d 20 24 73 74 ........$this->STATTracker.=.$st
14000 61 74 65 5b 24 69 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 ate[$index++];.........$this->gb
14020 63 52 61 6d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 45 43 48 4f 20 3d 20 24 73 74 61 74 65 5b 24 69 cRamBankPositionECHO.=.$state[$i
14040 6e 64 65 78 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 75 6d 52 41 4d 42 61 ndex++];.........$this->numRAMBa
14060 6e 6b 73 20 3d 20 24 73 74 61 74 65 5b 24 69 6e 64 65 78 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 nks.=.$state[$index];.........$t
14080 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 49 6e 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 his->tileCountInvalidator.=.$thi
140a0 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 34 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d s->tileCount.*.4;.........$this-
140c0 3e 66 72 6f 6d 53 61 76 65 53 74 61 74 65 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 24 >fromSaveState.=.true;.........$
140e0 74 68 69 73 2d 3e 63 68 65 63 6b 50 61 6c 65 74 74 65 54 79 70 65 28 29 3b 0a 20 20 20 20 20 20 this->checkPaletteType();.......
14100 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 4a 75 6d 70 43 6f 6d 70 69 6c 65 28 29 ..$this->memoryReadJumpCompile()
14120 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 4a 75 6d 70 ;.........$this->memoryWriteJump
14140 43 6f 6d 70 69 6c 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 69 74 4c 43 Compile();.........$this->initLC
14160 44 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 72 61 77 54 6f 43 61 6e 76 61 73 D();.........$this->drawToCanvas
14180 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ();.....}......public.function.s
141a0 74 61 72 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 53 65 74 74 69 6e 67 73 3a 3a 24 tart().....{.........Settings::$
141c0 73 65 74 74 69 6e 67 73 5b 34 5d 20 3d 20 30 3b 20 2f 2f 52 65 73 65 74 20 74 68 65 20 66 72 61 settings[4].=.0;.//Reset.the.fra
141e0 6d 65 20 73 6b 69 70 20 73 65 74 74 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e me.skip.setting..........$this->
14200 69 6e 69 74 4d 65 6d 6f 72 79 28 29 3b 20 2f 2f 57 72 69 74 65 20 74 68 65 20 73 74 61 72 74 75 initMemory();.//Write.the.startu
14220 70 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 4f 4d 4c 6f 61 64 p.memory..........$this->ROMLoad
14240 28 29 3b 20 2f 2f 4c 6f 61 64 20 74 68 65 20 52 4f 4d 20 69 6e 74 6f 20 6d 65 6d 6f 72 79 20 61 ();.//Load.the.ROM.into.memory.a
14260 6e 64 20 67 65 74 20 63 61 72 74 72 69 64 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f nd.get.cartridge.information.fro
14280 6d 20 69 74 2e 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 69 74 4c 43 44 28 29 3b 20 m.it..........$this->initLCD();.
142a0 2f 2f 49 6e 69 74 69 61 6c 69 7a 61 65 20 74 68 65 20 67 72 61 70 68 69 63 73 2e 0a 20 20 20 20 //Initializae.the.graphics......
142c0 20 20 20 20 24 74 68 69 73 2d 3e 72 75 6e 28 29 3b 20 2f 2f 53 74 61 72 74 20 74 68 65 20 65 6d ....$this->run();.//Start.the.em
142e0 75 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 ulation......}......public.funct
14300 69 6f 6e 20 69 6e 69 74 4d 65 6d 6f 72 79 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f ion.initMemory().....{........./
14320 2f 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 52 41 4d 3a 0a 20 20 20 20 20 20 20 20 24 74 68 /Initialize.the.RAM:.........$th
14340 69 73 2d 3e 6d 65 6d 6f 72 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 64 41 72 72 61 is->memory.=.$this->getTypedArra
14360 79 28 30 78 31 30 30 30 30 2c 20 30 2c 20 27 75 69 6e 74 38 27 29 3b 0a 20 20 20 20 20 20 20 20 y(0x10000,.0,.'uint8');.........
14380 24 74 68 69 73 2d 3e 66 72 61 6d 65 42 75 66 66 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 $this->frameBuffer.=.$this->getT
143a0 79 70 65 64 41 72 72 61 79 28 32 33 30 34 30 2c 20 30 78 30 30 46 46 46 46 46 46 2c 20 27 69 6e ypedArray(23040,.0x00FFFFFF,.'in
143c0 74 33 32 27 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 50 61 6c 65 74 74 65 20 t32');.........$this->gbPalette.
143e0 3d 20 24 74 68 69 73 2d 3e 61 72 72 61 79 50 61 64 28 31 32 2c 20 30 29 3b 20 2f 2f 33 32 2d 62 =.$this->arrayPad(12,.0);.//32-b
14400 69 74 20 73 69 67 6e 65 64 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 43 6f 6c 6f 72 it.signed.........$this->gbColor
14420 69 7a 65 64 50 61 6c 65 74 74 65 20 3d 20 24 74 68 69 73 2d 3e 61 72 72 61 79 50 61 64 28 31 32 izedPalette.=.$this->arrayPad(12
14440 2c 20 30 29 3b 20 2f 2f 33 32 2d 62 69 74 20 73 69 67 6e 65 64 0a 20 20 20 20 20 20 20 20 24 74 ,.0);.//32-bit.signed.........$t
14460 68 69 73 2d 3e 67 62 63 52 61 77 50 61 6c 65 74 74 65 20 3d 20 24 74 68 69 73 2d 3e 61 72 72 61 his->gbcRawPalette.=.$this->arra
14480 79 50 61 64 28 30 78 38 30 2c 20 2d 31 30 30 30 29 3b 20 2f 2f 33 32 2d 62 69 74 20 73 69 67 6e yPad(0x80,.-1000);.//32-bit.sign
144a0 65 64 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 50 61 6c 65 74 74 65 20 3d 20 5b ed.........$this->gbcPalette.=.[
144c0 30 78 34 30 5d 3b 20 2f 2f 33 32 2d 62 69 74 20 73 69 67 6e 65 64 0a 20 20 20 20 20 20 20 20 2f 0x40];.//32-bit.signed........./
144e0 2f 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 47 42 43 20 50 61 6c 65 74 74 65 3a 0a 20 20 20 /Initialize.the.GBC.Palette:....
14500 20 20 20 20 20 24 69 6e 64 65 78 20 3d 20 30 78 33 46 3b 0a 0a 20 20 20 20 20 20 20 20 77 68 69 .....$index.=.0x3F;..........whi
14520 6c 65 20 28 24 69 6e 64 65 78 20 3e 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 le.($index.>=.0).{.............$
14540 74 68 69 73 2d 3e 67 62 63 50 61 6c 65 74 74 65 5b 24 69 6e 64 65 78 5d 20 3d 20 28 24 69 6e 64 this->gbcPalette[$index].=.($ind
14560 65 78 20 3c 20 30 78 32 30 29 20 3f 20 2d 31 20 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ex.<.0x20).?.-1.:.0;............
14580 20 2d 2d 24 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 .--$index;.........}.....}......
145a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 53 6b 69 70 42 6f 6f 74 73 74 72 61 public.function.initSkipBootstra
145c0 70 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 53 74 61 72 74 20 61 73 20 61 6e 20 p().....{.........//Start.as.an.
145e0 75 6e 73 65 74 20 64 65 76 69 63 65 3a 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 53 74 61 72 unset.device:.........echo.'Star
14600 74 69 6e 67 20 77 69 74 68 6f 75 74 20 74 68 65 20 47 42 43 20 62 6f 6f 74 20 52 4f 4d 27 2e 50 ting.without.the.GBC.boot.ROM'.P
14620 48 50 5f 45 4f 4c 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 61 6d 43 HP_EOL;..........$this->programC
14640 6f 75 6e 74 65 72 20 3d 20 30 78 31 30 30 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 ounter.=.0x100;.........$this->s
14660 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 30 78 46 46 46 45 3b 0a 20 20 20 20 20 20 20 20 24 74 tackPointer.=.0xFFFE;.........$t
14680 68 69 73 2d 3e 49 4d 45 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e his->IME.=.true;.........$this->
146a0 4c 43 44 54 69 63 6b 73 20 3d 20 31 35 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 49 LCDTicks.=.15;.........$this->DI
146c0 56 54 69 63 6b 73 20 3d 20 31 34 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 VTicks.=.14;.........$this->regi
146e0 73 74 65 72 41 20 3d 20 28 24 74 68 69 73 2d 3e 63 47 42 43 29 20 3f 20 30 78 31 31 20 3a 20 30 sterA.=.($this->cGBC).?.0x11.:.0
14700 78 31 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 30 x1;.........$this->registerB.=.0
14720 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 30 78 31 ;.........$this->registerC.=.0x1
14740 33 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 30 3b 3;.........$this->registerD.=.0;
14760 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 30 78 44 38 .........$this->registerE.=.0xD8
14780 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 5a 65 72 6f 20 3d 20 74 72 75 65 3b 0a 20 ;.........$this->FZero.=.true;..
147a0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b .......$this->FSubtract.=.false;
147c0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 .........$this->FHalfCarry.=.tru
147e0 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 43 61 72 72 79 20 3d 20 74 72 75 65 3b e;.........$this->FCarry.=.true;
14800 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 30 78 .........$this->registersHL.=.0x
14820 30 31 34 44 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 46 69 6c 6c 20 69 6e 20 74 68 65 20 62 6f 6f 014D;..........//Fill.in.the.boo
14840 74 20 52 4f 4d 20 73 65 74 20 72 65 67 69 73 74 65 72 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 t.ROM.set.register.values.......
14860 20 20 2f 2f 44 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 74 6f 20 74 68 65 20 47 42 20 62 6f 6f ..//Default.values.to.the.GB.boo
14880 74 20 52 4f 4d 20 76 61 6c 75 65 73 2c 20 74 68 65 6e 20 66 69 6c 6c 20 69 6e 20 74 68 65 20 47 t.ROM.values,.then.fill.in.the.G
148a0 42 43 20 62 6f 6f 74 20 52 4f 4d 20 76 61 6c 75 65 73 20 61 66 74 65 72 20 52 4f 4d 20 6c 6f 61 BC.boot.ROM.values.after.ROM.loa
148c0 64 69 6e 67 0a 20 20 20 20 20 20 20 20 24 69 6e 64 65 78 20 3d 20 30 78 46 46 3b 0a 0a 20 20 20 ding.........$index.=.0xFF;.....
148e0 20 20 20 20 20 77 68 69 6c 65 20 28 24 69 6e 64 65 78 20 3e 3d 20 30 29 20 7b 0a 20 20 20 20 20 .....while.($index.>=.0).{......
14900 20 20 20 20 20 20 20 69 66 20 28 24 69 6e 64 65 78 20 3e 3d 20 30 78 33 30 20 26 26 20 24 69 6e .......if.($index.>=.0x30.&&.$in
14920 64 65 78 20 3c 20 30 78 34 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 dex.<.0x40).{.................$t
14940 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 30 78 46 46 30 30 20 2b 20 24 69 6e 64 65 78 his->memoryWrite(0xFF00.+.$index
14960 2c 20 24 74 68 69 73 2d 3e 66 66 78 78 44 75 6d 70 5b 24 69 6e 64 65 78 5d 29 3b 0a 20 20 20 20 ,.$this->ffxxDump[$index]);.....
14980 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........}.else.{................
149a0 20 73 77 69 74 63 68 20 28 24 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .switch.($index).{..............
149c0 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......case.0x00:...............
149e0 20 20 20 20 20 20 63 61 73 65 20 30 78 30 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......case.0x01:................
14a00 20 20 20 20 20 63 61 73 65 20 30 78 30 32 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....case.0x02:.................
14a20 20 20 20 20 63 61 73 65 20 30 78 30 37 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....case.0x07:..................
14a40 20 20 20 63 61 73 65 20 30 78 30 46 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...case.0x0F:...................
14a60 20 20 63 61 73 65 20 30 78 34 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..case.0x40:....................
14a80 20 63 61 73 65 20 30 78 46 46 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .case.0xFF:.....................
14aa0 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 30 78 46 46 30 30 20 2b 20 ....$this->memoryWrite(0xFF00.+.
14ac0 24 69 6e 64 65 78 2c 20 24 74 68 69 73 2d 3e 66 66 78 78 44 75 6d 70 5b 24 69 6e 64 65 78 5d 29 $index,.$this->ffxxDump[$index])
14ae0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b ;.........................break;
14b00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 .....................default:...
14b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d ......................$this->mem
14b40 6f 72 79 5b 30 78 46 46 30 30 20 2b 20 24 69 6e 64 65 78 5d 20 3d 20 24 74 68 69 73 2d 3e 66 66 ory[0xFF00.+.$index].=.$this->ff
14b60 78 78 44 75 6d 70 5b 24 69 6e 64 65 78 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xxDump[$index];.................
14b80 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 24 69 }.............}.............--$i
14ba0 6e 64 65 78 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 ndex;.........}.....}......publi
14bc0 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 42 6f 6f 74 73 74 72 61 70 28 29 0a 20 20 20 20 7b c.function.initBootstrap().....{
14be0 0a 20 20 20 20 20 20 20 20 2f 2f 53 74 61 72 74 20 61 73 20 61 6e 20 75 6e 73 65 74 20 64 65 76 .........//Start.as.an.unset.dev
14c00 69 63 65 3a 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 53 74 61 72 74 69 6e 67 20 74 68 65 20 ice:.........echo.'Starting.the.
14c20 47 42 43 20 62 6f 6f 74 20 52 4f 4d 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 0a 20 20 20 20 20 20 20 GBC.boot.ROM.'.PHP_EOL;.........
14c40 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 30 3b 0a 20 20 20 20 .$this->programCounter.=.0;.....
14c60 20 20 20 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 30 3b 0a 20 20 20 ....$this->stackPointer.=.0;....
14c80 20 20 20 20 20 24 74 68 69 73 2d 3e 49 4d 45 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 .....$this->IME.=.false;........
14ca0 20 24 74 68 69 73 2d 3e 4c 43 44 54 69 63 6b 73 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 .$this->LCDTicks.=.0;.........$t
14cc0 68 69 73 2d 3e 44 49 56 54 69 63 6b 73 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 his->DIVTicks.=.0;.........$this
14ce0 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ->registerA.=.0;.........$this->
14d00 72 65 67 69 73 74 65 72 42 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 registerB.=.0;.........$this->re
14d20 67 69 73 74 65 72 43 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 gisterC.=.0;.........$this->regi
14d40 73 74 65 72 44 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 sterD.=.0;.........$this->regist
14d60 65 72 45 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 46 5a 65 72 6f 20 3d 20 erE.=.0;.........$this->FZero.=.
14d80 24 74 68 69 73 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 74 68 69 73 2d 3e 46 48 61 6c 66 43 $this->FSubtract.=.$this->FHalfC
14da0 61 72 72 79 20 3d 20 24 74 68 69 73 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 arry.=.$this->FCarry.=.false;...
14dc0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 30 3b 0a 20 20 ......$this->registersHL.=.0;...
14de0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 30 5d 20 3d 20 30 78 ......$this->memory[0xFF00].=.0x
14e00 46 3b 20 2f 2f 53 65 74 20 74 68 65 20 6a 6f 79 70 61 64 20 73 74 61 74 65 2e 0a 20 20 20 20 7d F;.//Set.the.joypad.state......}
14e20 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 52 4f 4d 4c 6f 61 64 28 29 0a ......public.function.ROMLoad().
14e40 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 6f 61 64 20 74 68 65 20 66 69 72 73 74 20 74 ....{.........//Load.the.first.t
14e60 77 6f 20 52 4f 4d 20 62 61 6e 6b 73 20 28 30 78 30 30 30 30 20 2d 20 30 78 37 46 46 46 29 20 69 wo.ROM.banks.(0x0000.-.0x7FFF).i
14e80 6e 74 6f 20 72 65 67 75 6c 61 72 20 67 61 6d 65 62 6f 79 20 6d 65 6d 6f 72 79 3a 0a 20 20 20 20 nto.regular.gameboy.memory:.....
14ea0 20 20 20 20 24 74 68 69 73 2d 3e 52 4f 4d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 64 ....$this->ROM.=.$this->getTyped
14ec0 41 72 72 61 79 28 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 52 4f 4d 49 6d 61 67 65 29 2c 20 30 Array(strlen($this->ROMImage),.0
14ee0 2c 20 27 75 69 6e 74 38 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 73 65 64 ,.'uint8');..........$this->used
14f00 42 6f 6f 74 52 4f 4d 20 3d 20 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 31 36 BootROM.=.Settings::$settings[16
14f20 5d 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 72 6f 6d 49 6e 64 65 78 20 3d 20 30 3b 20 ];..........for.($romIndex.=.0;.
14f40 24 72 6f 6d 49 6e 64 65 78 20 3c 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 52 4f 4d 49 6d 61 $romIndex.<.strlen($this->ROMIma
14f60 67 65 29 3b 20 2b 2b 24 72 6f 6d 49 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ge);.++$romIndex).{.............
14f80 24 74 68 69 73 2d 3e 52 4f 4d 5b 24 72 6f 6d 49 6e 64 65 78 5d 20 3d 20 28 6f 72 64 28 24 74 68 $this->ROM[$romIndex].=.(ord($th
14fa0 69 73 2d 3e 52 4f 4d 49 6d 61 67 65 5b 24 72 6f 6d 49 6e 64 65 78 5d 29 20 26 20 30 78 46 46 29 is->ROMImage[$romIndex]).&.0xFF)
14fc0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 6d 49 6e 64 65 78 20 3c 20 30 78 ;.............if.($romIndex.<.0x
14fe0 38 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 8000).{.................if.(!$th
15000 69 73 2d 3e 75 73 65 64 42 6f 6f 74 52 4f 4d 20 7c 7c 20 24 72 6f 6d 49 6e 64 65 78 20 3e 3d 20 is->usedBootROM.||.$romIndex.>=.
15020 30 78 39 30 30 20 7c 7c 20 28 24 72 6f 6d 49 6e 64 65 78 20 3e 3d 20 30 78 31 30 30 20 26 26 20 0x900.||.($romIndex.>=.0x100.&&.
15040 24 72 6f 6d 49 6e 64 65 78 20 3c 20 30 78 32 30 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 $romIndex.<.0x200)).{...........
15060 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 24 72 6f 6d 49 6e 64 65 ..........$this->memory[$romInde
15080 78 5d 20 3d 20 24 74 68 69 73 2d 3e 52 4f 4d 5b 24 72 6f 6d 49 6e 64 65 78 5d 3b 20 2f 2f 4c 6f x].=.$this->ROM[$romIndex];.//Lo
150a0 61 64 20 69 6e 20 74 68 65 20 67 61 6d 65 20 52 4f 4d 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ad.in.the.game.ROM..............
150c0 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....}.else.{....................
150e0 20 2f 2f 20 52 65 6d 6f 76 65 64 20 47 42 43 52 4f 4d 20 64 75 65 20 63 6f 70 79 72 69 67 68 74 .//.Removed.GBCROM.due.copyright
15100 20 3b 2d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 24 74 68 69 .;-).....................//.$thi
15120 73 2d 3e 6d 65 6d 6f 72 79 5b 24 72 6f 6d 49 6e 64 65 78 5d 20 3d 20 24 74 68 69 73 2d 3e 47 42 s->memory[$romIndex].=.$this->GB
15140 43 42 4f 4f 54 52 4f 4d 5b 24 72 6f 6d 49 6e 64 65 78 5d 3b 20 2f 2f 4c 6f 61 64 20 69 6e 20 74 CBOOTROM[$romIndex];.//Load.in.t
15160 68 65 20 47 61 6d 65 42 6f 79 20 43 6f 6c 6f 72 20 42 4f 4f 54 20 52 4f 4d 2e 0a 20 20 20 20 20 he.GameBoy.Color.BOOT.ROM.......
15180 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ...........}.............}......
151a0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 52 4f 4d 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 ...}.........//.ROM.name........
151c0 20 66 6f 72 20 28 24 69 6e 64 65 78 20 3d 20 30 78 31 33 34 3b 20 24 69 6e 64 65 78 20 3c 20 30 .for.($index.=.0x134;.$index.<.0
151e0 78 31 33 46 3b 20 2b 2b 24 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 x13F;.++$index).{.............if
15200 20 28 6f 72 64 28 24 74 68 69 73 2d 3e 52 4f 4d 49 6d 61 67 65 5b 24 69 6e 64 65 78 5d 29 20 3e .(ord($this->ROMImage[$index]).>
15220 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 61 6d .0).{.................$this->nam
15240 65 20 2e 3d 20 24 74 68 69 73 2d 3e 52 4f 4d 49 6d 61 67 65 5b 24 69 6e 64 65 78 5d 3b 0a 20 20 e..=.$this->ROMImage[$index];...
15260 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f ..........}.........}........../
15280 2f 20 52 4f 4d 20 67 61 6d 65 20 63 6f 64 65 20 28 66 6f 72 20 6e 65 77 65 72 20 67 61 6d 65 73 /.ROM.game.code.(for.newer.games
152a0 29 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 6e 64 65 78 20 3d 20 30 78 31 33 46 3b 20 24 ).........for.($index.=.0x13F;.$
152c0 69 6e 64 65 78 20 3c 20 30 78 31 34 33 3b 20 2b 2b 24 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 index.<.0x143;.++$index).{......
152e0 20 20 20 20 20 20 20 69 66 20 28 6f 72 64 28 24 74 68 69 73 2d 3e 52 4f 4d 49 6d 61 67 65 5b 24 .......if.(ord($this->ROMImage[$
15300 69 6e 64 65 78 5d 29 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 index]).>.0).{.................$
15320 74 68 69 73 2d 3e 67 61 6d 65 43 6f 64 65 20 2e 3d 20 24 74 68 69 73 2d 3e 52 4f 4d 49 6d 61 67 this->gameCode..=.$this->ROMImag
15340 65 5b 24 69 6e 64 65 78 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 e[$index];.............}........
15360 20 7d 0a 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 47 61 6d 65 20 54 69 74 6c 65 3a 20 27 2e .}..........echo.'Game.Title:.'.
15380 24 74 68 69 73 2d 3e 6e 61 6d 65 2e 27 5b 27 2e 24 74 68 69 73 2d 3e 67 61 6d 65 43 6f 64 65 2e $this->name.'['.$this->gameCode.
153a0 27 5d 5b 27 2e 24 74 68 69 73 2d 3e 52 4f 4d 49 6d 61 67 65 5b 30 78 31 34 33 5d 2e 27 5d 27 2e ']['.$this->ROMImage[0x143].']'.
153c0 50 48 50 5f 45 4f 4c 3b 0a 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 47 61 6d 65 20 43 6f 64 PHP_EOL;..........echo.'Game.Cod
153e0 65 3a 20 27 2e 24 74 68 69 73 2d 3e 67 61 6d 65 43 6f 64 65 2e 50 48 50 5f 45 4f 4c 3b 0a 0a 20 e:.'.$this->gameCode.PHP_EOL;...
15400 20 20 20 20 20 20 20 2f 2f 20 43 61 72 74 72 69 64 67 65 20 74 79 70 65 0a 20 20 20 20 20 20 20 .......//.Cartridge.type........
15420 20 24 74 68 69 73 2d 3e 63 61 72 74 72 69 64 67 65 54 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 52 .$this->cartridgeType.=.$this->R
15440 4f 4d 5b 30 78 31 34 37 5d 3b 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 43 61 72 74 72 69 64 OM[0x147];.........echo.'Cartrid
15460 67 65 20 74 79 70 65 20 23 27 2e 24 74 68 69 73 2d 3e 63 61 72 74 72 69 64 67 65 54 79 70 65 2e ge.type.#'.$this->cartridgeType.
15480 50 48 50 5f 45 4f 4c 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 4d 61 70 20 6f 75 74 20 52 4f 4d 20 PHP_EOL;..........//Map.out.ROM.
154a0 63 61 72 74 72 69 64 67 65 20 73 75 62 2d 74 79 70 65 73 2e 0a 20 20 20 20 20 20 20 20 24 4d 42 cartridge.sub-types..........$MB
154c0 43 54 79 70 65 20 3d 20 27 27 3b 0a 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 68 CType.=.'';..........switch.($th
154e0 69 73 2d 3e 63 61 72 74 72 69 64 67 65 54 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 is->cartridgeType).{............
15500 20 63 61 73 65 20 30 78 30 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 52 4f .case.0x00:.................//RO
15520 4d 20 77 2f 6f 20 62 61 6e 6b 20 73 77 69 74 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 M.w/o.bank.switching............
15540 20 20 20 20 20 69 66 20 28 21 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 39 5d .....if.(!Settings::$settings[9]
15560 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 ).{.....................$MBCType
15580 20 3d 20 27 52 4f 4d 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 .=.'ROM';.....................br
155a0 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 eak;.................}..........
155c0 20 20 20 20 20 20 20 2f 2f 20 6e 6f 20 62 72 65 61 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 .......//.no.break.............c
155e0 61 73 65 20 30 78 30 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ase.0x01:.................$this-
15600 3e 63 4d 42 43 31 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 >cMBC1.=.true;.................$
15620 4d 42 43 54 79 70 65 20 3d 20 27 4d 42 43 31 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 MBCType.=.'MBC1';...............
15640 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 32 3a 0a ..break;.............case.0x02:.
15660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 31 20 3d 20 74 ................$this->cMBC1.=.t
15680 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 52 41 rue;.................$this->cSRA
156a0 4d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 M.=.true;.................$MBCTy
156c0 70 65 20 3d 20 27 4d 42 43 31 20 2b 20 53 52 41 4d 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 pe.=.'MBC1.+.SRAM';.............
156e0 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 33 ....break;.............case.0x03
15700 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 31 20 3d :.................$this->cMBC1.=
15720 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 .true;.................$this->cS
15740 52 41 4d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 RAM.=.true;.................$thi
15760 73 2d 3e 63 42 41 54 54 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s->cBATT.=.true;................
15780 20 24 4d 42 43 54 79 70 65 20 3d 20 27 4d 42 43 31 20 2b 20 53 52 41 4d 20 2b 20 42 41 54 54 27 .$MBCType.=.'MBC1.+.SRAM.+.BATT'
157a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 ;.................break;........
157c0 20 20 20 20 20 63 61 73 65 20 30 78 30 35 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....case.0x05:.................
157e0 24 74 68 69 73 2d 3e 63 4d 42 43 32 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 $this->cMBC2.=.true;............
15800 20 20 20 20 20 24 4d 42 43 54 79 70 65 20 3d 20 27 4d 42 43 32 27 3b 0a 20 20 20 20 20 20 20 20 .....$MBCType.=.'MBC2';.........
15820 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 ........break;.............case.
15840 30 78 30 36 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 0x06:.................$this->cMB
15860 43 32 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 C2.=.true;.................$this
15880 2d 3e 63 42 41 54 54 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ->cBATT.=.true;.................
158a0 24 4d 42 43 54 79 70 65 20 3d 20 27 4d 42 43 32 20 2b 20 42 41 54 54 27 3b 0a 20 20 20 20 20 20 $MBCType.=.'MBC2.+.BATT';.......
158c0 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 ..........break;.............cas
158e0 65 20 30 78 30 38 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 e.0x08:.................$this->c
15900 53 52 41 4d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 SRAM.=.true;.................$MB
15920 43 54 79 70 65 20 3d 20 27 52 4f 4d 20 2b 20 53 52 41 4d 27 3b 0a 20 20 20 20 20 20 20 20 20 20 CType.=.'ROM.+.SRAM';...........
15940 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 ......break;.............case.0x
15960 30 39 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 52 41 4d 09:.................$this->cSRAM
15980 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e .=.true;.................$this->
159a0 63 42 41 54 54 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d cBATT.=.true;.................$M
159c0 42 43 54 79 70 65 20 3d 20 27 52 4f 4d 20 2b 20 53 52 41 4d 20 2b 20 42 41 54 54 27 3b 0a 20 20 BCType.=.'ROM.+.SRAM.+.BATT';...
159e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..............break;............
15a00 20 63 61 73 65 20 30 78 30 42 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 .case.0x0B:.................$thi
15a20 73 2d 3e 63 4d 4d 4d 4f 31 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s->cMMMO1.=.true;...............
15a40 20 20 24 4d 42 43 54 79 70 65 20 3d 20 27 4d 4d 4d 4f 31 27 3b 0a 20 20 20 20 20 20 20 20 20 20 ..$MBCType.=.'MMMO1';...........
15a60 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 ......break;.............case.0x
15a80 30 43 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 4d 4d 4f 0C:.................$this->cMMMO
15aa0 31 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 1.=.true;.................$this-
15ac0 3e 63 53 52 41 4d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 >cSRAM.=.true;.................$
15ae0 4d 42 43 54 79 70 65 20 3d 20 27 4d 4d 4d 4f 31 20 2b 20 53 52 41 4d 27 3b 0a 20 20 20 20 20 20 MBCType.=.'MMMO1.+.SRAM';.......
15b00 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 ..........break;.............cas
15b20 65 20 30 78 30 44 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 e.0x0D:.................$this->c
15b40 4d 4d 4d 4f 31 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 MMMO1.=.true;.................$t
15b60 68 69 73 2d 3e 63 53 52 41 4d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 his->cSRAM.=.true;..............
15b80 20 20 20 24 74 68 69 73 2d 3e 63 42 41 54 54 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 ...$this->cBATT.=.true;.........
15ba0 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 20 3d 20 27 4d 4d 4d 4f 31 20 2b 20 53 52 41 4d ........$MBCType.=.'MMMO1.+.SRAM
15bc0 20 2b 20 42 41 54 54 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b .+.BATT';.................break;
15be0 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 46 3a 0a 20 20 20 20 20 20 20 20 .............case.0x0F:.........
15c00 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 33 20 3d 20 74 72 75 65 3b 0a 20 20 20 ........$this->cMBC3.=.true;....
15c20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 54 49 4d 45 52 20 3d 20 74 72 75 .............$this->cTIMER.=.tru
15c40 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 42 41 54 54 20 e;.................$this->cBATT.
15c60 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 =.true;.................$MBCType
15c80 20 3d 20 27 4d 42 43 33 20 2b 20 54 49 4d 45 52 20 2b 20 42 41 54 54 27 3b 0a 20 20 20 20 20 20 .=.'MBC3.+.TIMER.+.BATT';.......
15ca0 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 ..........break;.............cas
15cc0 65 20 30 78 31 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 e.0x10:.................$this->c
15ce0 4d 42 43 33 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 MBC3.=.true;.................$th
15d00 69 73 2d 3e 63 54 49 4d 45 52 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 is->cTIMER.=.true;..............
15d20 20 20 20 24 74 68 69 73 2d 3e 63 42 41 54 54 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 ...$this->cBATT.=.true;.........
15d40 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 52 41 4d 20 3d 20 74 72 75 65 3b 0a 20 20 20 ........$this->cSRAM.=.true;....
15d60 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 20 3d 20 27 4d 42 43 33 20 2b 20 .............$MBCType.=.'MBC3.+.
15d80 54 49 4d 45 52 20 2b 20 42 41 54 54 20 2b 20 53 52 41 4d 27 3b 0a 20 20 20 20 20 20 20 20 20 20 TIMER.+.BATT.+.SRAM';...........
15da0 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 ......break;.............case.0x
15dc0 31 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 33 11:.................$this->cMBC3
15de0 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 .=.true;.................$MBCTyp
15e00 65 20 3d 20 27 4d 42 43 33 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 e.=.'MBC3';.................brea
15e20 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 31 32 3a 0a 20 20 20 20 20 20 k;.............case.0x12:.......
15e40 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 33 20 3d 20 74 72 75 65 3b 0a 20 ..........$this->cMBC3.=.true;..
15e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 52 41 4d 20 3d 20 74 72 ...............$this->cSRAM.=.tr
15e80 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 20 3d 20 27 ue;.................$MBCType.=.'
15ea0 4d 42 43 33 20 2b 20 53 52 41 4d 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 MBC3.+.SRAM';.................br
15ec0 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 31 33 3a 0a 20 20 20 20 eak;.............case.0x13:.....
15ee0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 33 20 3d 20 74 72 75 65 3b ............$this->cMBC3.=.true;
15f00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 52 41 4d 20 3d 20 .................$this->cSRAM.=.
15f20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 42 41 true;.................$this->cBA
15f40 54 54 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 TT.=.true;.................$MBCT
15f60 79 70 65 20 3d 20 27 4d 42 43 33 20 2b 20 53 52 41 4d 20 2b 20 42 41 54 54 27 3b 0a 20 20 20 20 ype.=.'MBC3.+.SRAM.+.BATT';.....
15f80 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 ............break;.............c
15fa0 61 73 65 20 30 78 31 39 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ase.0x19:.................$this-
15fc0 3e 63 4d 42 43 35 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 >cMBC5.=.true;.................$
15fe0 4d 42 43 54 79 70 65 20 3d 20 27 4d 42 43 35 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 MBCType.=.'MBC5';...............
16000 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 31 41 3a 0a ..break;.............case.0x1A:.
16020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 35 20 3d 20 74 ................$this->cMBC5.=.t
16040 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 52 41 rue;.................$this->cSRA
16060 4d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 M.=.true;.................$MBCTy
16080 70 65 20 3d 20 27 4d 42 43 35 20 2b 20 53 52 41 4d 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 pe.=.'MBC5.+.SRAM';.............
160a0 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 31 42 ....break;.............case.0x1B
160c0 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 4d 42 43 35 20 3d :.................$this->cMBC5.=
160e0 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 .true;.................$this->cS
16100 52 41 4d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 RAM.=.true;.................$thi
16120 73 2d 3e 63 42 41 54 54 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s->cBATT.=.true;................
16140 20 24 4d 42 43 54 79 70 65 20 3d 20 27 4d 42 43 35 20 2b 20 53 52 41 4d 20 2b 20 42 41 54 54 27 .$MBCType.=.'MBC5.+.SRAM.+.BATT'
16160 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 ;.................break;........
16180 20 20 20 20 20 63 61 73 65 20 30 78 31 43 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....case.0x1C:.................
161a0 24 74 68 69 73 2d 3e 63 52 55 4d 42 4c 45 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 $this->cRUMBLE.=.true;..........
161c0 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 20 3d 20 27 52 55 4d 42 4c 45 27 3b 0a 20 20 20 20 .......$MBCType.=.'RUMBLE';.....
161e0 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 ............break;.............c
16200 61 73 65 20 30 78 31 44 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ase.0x1D:.................$this-
16220 3e 63 52 55 4d 42 4c 45 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >cRUMBLE.=.true;................
16240 20 24 74 68 69 73 2d 3e 63 53 52 41 4d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 .$this->cSRAM.=.true;...........
16260 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 20 3d 20 27 52 55 4d 42 4c 45 20 2b 20 53 52 41 4d 27 ......$MBCType.=.'RUMBLE.+.SRAM'
16280 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 ;.................break;........
162a0 20 20 20 20 20 63 61 73 65 20 30 78 31 45 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....case.0x1E:.................
162c0 24 74 68 69 73 2d 3e 63 52 55 4d 42 4c 45 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 $this->cRUMBLE.=.true;..........
162e0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 53 52 41 4d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 .......$this->cSRAM.=.true;.....
16300 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 42 41 54 54 20 3d 20 74 72 75 65 3b ............$this->cBATT.=.true;
16320 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 20 3d 20 27 52 55 4d .................$MBCType.=.'RUM
16340 42 4c 45 20 2b 20 53 52 41 4d 20 2b 20 42 41 54 54 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 BLE.+.SRAM.+.BATT';.............
16360 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 31 46 ....break;.............case.0x1F
16380 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 43 61 6d 65 72 61 :.................$this->cCamera
163a0 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 .=.true;.................$MBCTyp
163c0 65 20 3d 20 27 47 61 6d 65 42 6f 79 20 43 61 6d 65 72 61 27 3b 0a 20 20 20 20 20 20 20 20 20 20 e.=.'GameBoy.Camera';...........
163e0 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 ......break;.............case.0x
16400 46 44 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 54 41 4d 41 FD:.................$this->cTAMA
16420 35 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 5.=.true;.................$MBCTy
16440 70 65 20 3d 20 27 54 41 4d 41 35 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 pe.=.'TAMA5';.................br
16460 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 45 3a 0a 20 20 20 20 eak;.............case.0xFE:.....
16480 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 48 75 43 33 20 3d 20 74 72 75 65 3b ............$this->cHuC3.=.true;
164a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 20 3d 20 27 48 75 43 .................$MBCType.=.'HuC
164c0 33 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 3';.................break;......
164e0 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......case.0xFF:...............
16500 20 20 24 74 68 69 73 2d 3e 63 48 75 43 31 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 ..$this->cHuC1.=.true;..........
16520 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 20 3d 20 27 48 75 43 31 27 3b 0a 20 20 20 20 20 20 .......$MBCType.=.'HuC1';.......
16540 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 ..........break;.............def
16560 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 54 79 70 65 20 3d ault:.................$MBCType.=
16580 20 27 55 6e 6b 6e 6f 77 6e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f .'Unknown';.................echo
165a0 20 27 43 61 72 74 72 69 64 67 65 20 74 79 70 65 20 69 73 20 75 6e 6b 6e 6f 77 6e 2e 27 2e 50 48 .'Cartridge.type.is.unknown.'.PH
165c0 50 5f 45 4f 4c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 40 54 4f 44 4f P_EOL;..................//.@TODO
165e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 70 61 75 73 65 28 29 3b 0a 20 20 20 20 .................//pause();.....
16600 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 43 61 72 74 72 69 64 67 65 20 54 ....}..........echo.'Cartridge.T
16620 79 70 65 3a 20 27 2e 24 4d 42 43 54 79 70 65 2e 50 48 50 5f 45 4f 4c 3b 0a 0a 20 20 20 20 20 20 ype:.'.$MBCType.PHP_EOL;........
16640 20 20 2f 2f 20 52 4f 4d 20 61 6e 64 20 52 41 4d 20 62 61 6e 6b 73 0a 20 20 20 20 20 20 20 20 24 ..//.ROM.and.RAM.banks.........$
16660 74 68 69 73 2d 3e 6e 75 6d 52 4f 4d 42 61 6e 6b 73 20 3d 20 24 74 68 69 73 2d 3e 52 4f 4d 42 61 this->numROMBanks.=.$this->ROMBa
16680 6e 6b 73 5b 24 74 68 69 73 2d 3e 52 4f 4d 5b 30 78 31 34 38 5d 5d 3b 0a 0a 20 20 20 20 20 20 20 nks[$this->ROM[0x148]];.........
166a0 20 65 63 68 6f 20 24 74 68 69 73 2d 3e 6e 75 6d 52 4f 4d 42 61 6e 6b 73 2e 27 20 52 4f 4d 20 62 .echo.$this->numROMBanks.'.ROM.b
166c0 61 6e 6b 73 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 anks.'.PHP_EOL;..........switch.
166e0 28 24 74 68 69 73 2d 3e 52 41 4d 42 61 6e 6b 73 5b 24 74 68 69 73 2d 3e 52 4f 4d 5b 30 78 31 34 ($this->RAMBanks[$this->ROM[0x14
16700 39 5d 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 3a 0a 20 20 20 20 20 9]]).{.............case.0:......
16720 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 4e 6f 20 52 41 4d 20 62 61 6e 6b 69 6e 67 20 ...........echo.'No.RAM.banking.
16740 72 65 71 75 65 73 74 65 64 20 66 6f 72 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 6f 72 20 4d 42 43 20 requested.for.allocation.or.MBC.
16760 69 73 20 6f 66 20 74 79 70 65 20 32 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 is.of.type.2.'.PHP_EOL;.........
16780 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 ........break;.............case.
167a0 32 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 31 20 52 41 4d 20 62 2:.................echo.'1.RAM.b
167c0 61 6e 6b 20 72 65 71 75 65 73 74 65 64 20 66 6f 72 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e 27 2e 50 ank.requested.for.allocation.'.P
167e0 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 HP_EOL;.................break;..
16800 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 33 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........case.3:..............
16820 20 20 20 65 63 68 6f 20 27 34 20 52 41 4d 20 62 61 6e 6b 73 20 72 65 71 75 65 73 74 65 64 20 66 ...echo.'4.RAM.banks.requested.f
16840 6f 72 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 or.allocation.'.PHP_EOL;........
16860 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 .........break;.............case
16880 20 34 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 31 36 20 52 41 4d .4:.................echo.'16.RAM
168a0 20 62 61 6e 6b 73 20 72 65 71 75 65 73 74 65 64 20 66 6f 72 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e .banks.requested.for.allocation.
168c0 27 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b '.PHP_EOL;.................break
168e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 ;.............default:..........
16900 20 20 20 20 20 20 20 65 63 68 6f 20 27 52 41 4d 20 62 61 6e 6b 20 61 6d 6f 75 6e 74 20 72 65 71 .......echo.'RAM.bank.amount.req
16920 75 65 73 74 65 64 20 69 73 20 75 6e 6b 6e 6f 77 6e 2c 20 77 69 6c 6c 20 75 73 65 20 6d 61 78 69 uested.is.unknown,.will.use.maxi
16940 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 62 79 20 73 70 65 63 69 66 69 65 64 20 4d 42 43 20 74 79 70 mum.allowed.by.specified.MBC.typ
16960 65 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 e.'.PHP_EOL;.........}..........
16980 2f 2f 43 68 65 63 6b 20 74 68 65 20 47 42 2f 47 42 43 20 6d 6f 64 65 20 62 79 74 65 3a 0a 20 20 //Check.the.GB/GBC.mode.byte:...
169a0 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 75 73 65 64 42 6f 6f 74 52 4f 4d 29 20 7b ......if.(!$this->usedBootROM).{
169c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 52 4f 4d 5b .............switch.($this->ROM[
169e0 30 78 31 34 33 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 0x143]).{.................case.0
16a00 78 30 30 3a 20 2f 2f 4f 6e 6c 79 20 47 42 20 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 x00:.//Only.GB.mode.............
16a20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 47 42 43 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 ........$this->cGBC.=.false;....
16a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 4f 6e 6c 79 20 47 42 20 6d .................echo.'Only.GB.m
16a60 6f 64 65 20 64 65 74 65 63 74 65 64 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 ode.detected.'.PHP_EOL;.........
16a80 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ............break;..............
16aa0 20 20 20 63 61 73 65 20 30 78 38 30 3a 20 2f 2f 42 6f 74 68 20 47 42 20 2b 20 47 42 43 20 6d 6f ...case.0x80:.//Both.GB.+.GBC.mo
16ac0 64 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 des.....................$this->c
16ae0 47 42 43 20 3d 20 21 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 32 5d 3b 0a 20 GBC.=.!Settings::$settings[2];..
16b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 47 42 20 61 6e 64 20 ...................echo.'GB.and.
16b20 47 42 43 20 6d 6f 64 65 20 64 65 74 65 63 74 65 64 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 GBC.mode.detected.'.PHP_EOL;....
16b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 .................break;.........
16b60 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 43 30 3a 20 2f 2f 4f 6e 6c 79 20 47 42 43 20 6d 6f ........case.0xC0:.//Only.GBC.mo
16b80 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 47 de.....................$this->cG
16ba0 42 43 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 BC.=.true;.....................e
16bc0 63 68 6f 20 27 4f 6e 6c 79 20 47 42 43 20 6d 6f 64 65 20 64 65 74 65 63 74 65 64 2e 27 2e 50 48 cho.'Only.GBC.mode.detected.'.PH
16be0 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b P_EOL;.....................break
16c00 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 ;.................default:......
16c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 47 42 43 20 3d 20 66 61 6c ...............$this->cGBC.=.fal
16c40 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 55 6e se;.....................echo.'Un
16c60 6b 6e 6f 77 6e 20 47 61 6d 65 42 6f 79 20 67 61 6d 65 20 74 79 70 65 20 63 6f 64 65 20 23 27 2e known.GameBoy.game.type.code.#'.
16c80 24 74 68 69 73 2d 3e 52 4f 4d 5b 30 78 31 34 33 5d 2e 22 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 $this->ROM[0x143].",.defaulting.
16ca0 74 6f 20 47 42 20 6d 6f 64 65 20 28 4f 6c 64 20 67 61 6d 65 73 20 64 6f 6e 27 74 20 68 61 76 65 to.GB.mode.(Old.games.don't.have
16cc0 20 61 20 74 79 70 65 20 63 6f 64 65 29 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 .a.type.code).".PHP_EOL;........
16ce0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 42 6f 6f .....}..............$this->inBoo
16d00 74 73 74 72 61 70 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 tstrap.=.false;.............$thi
16d20 73 2d 3e 73 65 74 75 70 52 41 4d 28 29 3b 20 2f 2f 43 50 55 2f 28 56 29 52 41 4d 20 69 6e 69 74 s->setupRAM();.//CPU/(V)RAM.init
16d40 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 ialization..............$this->i
16d60 6e 69 74 53 6b 69 70 42 6f 6f 74 73 74 72 61 70 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c nitSkipBootstrap();.........}.el
16d80 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 47 42 43 20 3d 20 74 se.{.............$this->cGBC.=.t
16da0 72 75 65 3b 20 2f 2f 41 6c 6c 6f 77 20 74 68 65 20 47 42 43 20 62 6f 6f 74 20 52 4f 4d 20 74 6f rue;.//Allow.the.GBC.boot.ROM.to
16dc0 20 72 75 6e 20 69 6e 20 47 42 43 20 6d 6f 64 65 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .run.in.GBC.mode................
16de0 24 74 68 69 73 2d 3e 73 65 74 75 70 52 41 4d 28 29 3b 20 2f 2f 43 50 55 2f 28 56 29 52 41 4d 20 $this->setupRAM();.//CPU/(V)RAM.
16e00 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 initialization..............$thi
16e20 73 2d 3e 69 6e 69 74 42 6f 6f 74 73 74 72 61 70 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 s->initBootstrap();.........}...
16e40 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 50 61 6c 65 74 74 65 54 79 70 65 28 29 3b ......$this->checkPaletteType();
16e60 0a 20 20 20 20 20 20 20 20 2f 2f 4c 69 63 65 6e 73 65 20 43 6f 64 65 20 4c 6f 6f 6b 75 70 3a 0a .........//License.Code.Lookup:.
16e80 20 20 20 20 20 20 20 20 24 63 4f 6c 64 4c 69 63 65 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 52 4f ........$cOldLicense.=.$this->RO
16ea0 4d 5b 30 78 31 34 42 5d 3b 0a 20 20 20 20 20 20 20 20 24 63 4e 65 77 4c 69 63 65 6e 73 65 20 3d M[0x14B];.........$cNewLicense.=
16ec0 20 28 24 74 68 69 73 2d 3e 52 4f 4d 5b 30 78 31 34 34 5d 20 26 20 30 78 46 46 30 30 29 20 7c 20 .($this->ROM[0x144].&.0xFF00).|.
16ee0 28 24 74 68 69 73 2d 3e 52 4f 4d 5b 30 78 31 34 35 5d 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 ($this->ROM[0x145].&.0xFF);.....
16f00 20 20 20 20 69 66 20 28 24 63 4f 6c 64 4c 69 63 65 6e 73 65 20 21 3d 20 30 78 33 33 29 20 7b 0a ....if.($cOldLicense.!=.0x33).{.
16f20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4f 6c 64 20 53 74 79 6c 65 20 4c 69 63 65 6e 73 65 20 ............//Old.Style.License.
16f40 48 65 61 64 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 4f 6c 64 20 73 74 79 Header.............echo.'Old.sty
16f60 6c 65 20 6c 69 63 65 6e 73 65 20 63 6f 64 65 3a 20 27 2e 24 63 4f 6c 64 4c 69 63 65 6e 73 65 2e le.license.code:.'.$cOldLicense.
16f80 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 PHP_EOL;.........}.else.{.......
16fa0 20 20 20 20 20 20 2f 2f 4e 65 77 20 53 74 79 6c 65 20 4c 69 63 65 6e 73 65 20 48 65 61 64 65 72 ......//New.Style.License.Header
16fc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 4e 65 77 20 73 74 79 6c 65 20 6c 69 63 .............echo.'New.style.lic
16fe0 65 6e 73 65 20 63 6f 64 65 3a 20 27 2e 24 63 4e 65 77 4c 69 63 65 6e 73 65 2e 50 48 50 5f 45 4f ense.code:.'.$cNewLicense.PHP_EO
17000 4c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 L;.........}.....}......public.f
17020 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 42 6f 6f 74 52 4f 4d 28 29 0a 20 20 20 20 7b 0a 20 unction.disableBootROM().....{..
17040 20 20 20 20 20 20 20 2f 2f 52 65 6d 6f 76 65 20 61 6e 79 20 74 72 61 63 65 73 20 6f 66 20 74 68 .......//Remove.any.traces.of.th
17060 65 20 62 6f 6f 74 20 52 4f 4d 20 66 72 6f 6d 20 52 4f 4d 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 e.boot.ROM.from.ROM.memory......
17080 20 20 20 20 66 6f 72 20 28 24 69 6e 64 65 78 20 3d 20 30 3b 20 24 69 6e 64 65 78 20 3c 20 30 78 ....for.($index.=.0;.$index.<.0x
170a0 39 30 30 3b 20 2b 2b 24 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 53 900;.++$index).{.............//S
170c0 6b 69 70 20 74 68 65 20 61 6c 72 65 61 64 79 20 6c 6f 61 64 65 64 20 69 6e 20 52 4f 4d 20 68 65 kip.the.already.loaded.in.ROM.he
170e0 61 64 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 ader..............if.($index.<.0
17100 78 31 30 30 20 7c 7c 20 24 69 6e 64 65 78 20 3e 3d 20 30 78 32 30 30 29 20 7b 0a 20 20 20 20 20 x100.||.$index.>=.0x200).{......
17120 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 24 69 6e 64 65 78 5d ...........$this->memory[$index]
17140 20 3d 20 24 74 68 69 73 2d 3e 52 4f 4d 5b 24 69 6e 64 65 78 5d 3b 20 2f 2f 52 65 70 6c 61 63 65 .=.$this->ROM[$index];.//Replace
17160 20 74 68 65 20 47 61 6d 65 42 6f 79 20 43 6f 6c 6f 72 20 62 6f 6f 74 20 52 4f 4d 20 77 69 74 68 .the.GameBoy.Color.boot.ROM.with
17180 20 74 68 65 20 67 61 6d 65 20 52 4f 4d 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .the.game.ROM..............}....
171a0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 50 61 6c 65 74 .....}.........$this->checkPalet
171c0 74 65 54 79 70 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 63 teType();..........if.(!$this->c
171e0 47 42 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 43 6c 65 61 6e 20 75 70 20 74 68 GBC).{.............//Clean.up.th
17200 65 20 70 6f 73 74 2d 62 6f 6f 74 20 28 47 42 20 6d 6f 64 65 20 6f 6e 6c 79 29 20 73 74 61 74 65 e.post-boot.(GB.mode.only).state
17220 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 53 74 65 70 70 69 6e 67 20 64 6f 77 :.............echo.'Stepping.dow
17240 6e 20 66 72 6f 6d 20 47 42 43 20 6d 6f 64 65 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 n.from.GBC.mode.'.PHP_EOL;......
17260 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2f 3d 20 32 3b 0a 20 20 .......$this->tileCount./=.2;...
17280 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 49 6e 76 61 6c 69 ..........$this->tileCountInvali
172a0 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 34 3b 0a 20 20 dator.=.$this->tileCount.*.4;...
172c0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e ..........if.(!Settings::$settin
172e0 67 73 5b 31 37 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d gs[17]).{.................$this-
17300 3e 74 72 61 6e 73 70 61 72 65 6e 74 43 75 74 6f 66 66 20 3d 20 34 3b 0a 20 20 20 20 20 20 20 20 >transparentCutoff.=.4;.........
17320 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 43 6f ....}.............$this->colorCo
17340 75 6e 74 20 3d 20 31 32 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 40 54 4f 44 4f 0a unt.=.12;..............//.@TODO.
17360 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 2e 6c ............//.$this->tileData.l
17380 65 6e 67 74 68 20 3d 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 24 74 68 69 73 ength.=.$this->tileCount.*.$this
173a0 2d 3e 63 6f 6c 6f 72 43 6f 75 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 ->colorCount;..............unset
173c0 28 24 74 68 69 73 2d 3e 56 52 41 4d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 ($this->VRAM);.............unset
173e0 28 24 74 68 69 73 2d 3e 47 42 43 4d 65 6d 6f 72 79 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ($this->GBCMemory);.............
17400 2f 2f 50 6f 73 73 69 62 6c 65 20 45 78 74 72 61 3a 20 73 68 6f 72 74 65 6e 20 73 6f 6d 65 20 67 //Possible.Extra:.shorten.some.g
17420 66 78 20 61 72 72 61 79 73 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 74 68 61 74 20 77 65 20 fx.arrays.to.the.length.that.we.
17440 6e 65 65 64 20 28 52 65 6d 6f 76 65 20 74 68 65 20 75 6e 75 73 65 64 20 69 6e 64 69 63 65 73 29 need.(Remove.the.unused.indices)
17460 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 .........}..........$this->memor
17480 79 52 65 61 64 4a 75 6d 70 43 6f 6d 70 69 6c 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 yReadJumpCompile();.........$thi
174a0 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 4a 75 6d 70 43 6f 6d 70 69 6c 65 28 29 3b 0a 20 20 20 s->memoryWriteJumpCompile();....
174c0 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 52 41 4d .}......public.function.setupRAM
174e0 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 53 65 74 75 70 20 74 68 65 20 61 75 78 ().....{.........//Setup.the.aux
17500 69 6c 6c 69 61 72 79 2f 73 77 69 74 63 68 61 62 6c 65 20 52 41 4d 20 74 6f 20 74 68 65 69 72 20 illiary/switchable.RAM.to.their.
17520 6d 61 78 69 6d 75 6d 20 70 6f 73 73 69 62 6c 65 20 73 69 7a 65 20 28 42 61 64 20 68 65 61 64 65 maximum.possible.size.(Bad.heade
17540 72 73 20 63 61 6e 20 6c 69 65 29 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e rs.can.lie)..........if.($this->
17560 63 4d 42 43 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 75 6d 52 cMBC2).{.............$this->numR
17580 41 4d 42 61 6e 6b 73 20 3d 20 31 20 2f 20 31 36 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 AMBanks.=.1./.16;.........}.else
175a0 69 66 20 28 24 74 68 69 73 2d 3e 63 4d 42 43 31 20 7c 7c 20 24 74 68 69 73 2d 3e 63 52 55 4d 42 if.($this->cMBC1.||.$this->cRUMB
175c0 4c 45 20 7c 7c 20 24 74 68 69 73 2d 3e 63 4d 42 43 33 20 7c 7c 20 24 74 68 69 73 2d 3e 63 48 75 LE.||.$this->cMBC3.||.$this->cHu
175e0 43 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 75 6d 52 41 4d 42 C3).{.............$this->numRAMB
17600 61 6e 6b 73 20 3d 20 34 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 anks.=.4;.........}.elseif.($thi
17620 73 2d 3e 63 4d 42 43 35 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e s->cMBC5).{.............$this->n
17640 75 6d 52 41 4d 42 61 6e 6b 73 20 3d 20 31 36 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 umRAMBanks.=.16;.........}.elsei
17660 66 20 28 24 74 68 69 73 2d 3e 63 53 52 41 4d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 f.($this->cSRAM).{.............$
17680 74 68 69 73 2d 3e 6e 75 6d 52 41 4d 42 61 6e 6b 73 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 7d this->numRAMBanks.=.1;.........}
176a0 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6e 75 6d 52 41 4d 42 61 6e 6b 73 20 .........if.($this->numRAMBanks.
176c0 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 4d >.0).{.............if.(!$this->M
176e0 42 43 52 41 4d 55 74 69 6c 69 7a 65 64 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 BCRAMUtilized()).{..............
17700 20 20 20 2f 2f 46 6f 72 20 52 4f 4d 20 61 6e 64 20 75 6e 6b 6e 6f 77 6e 20 4d 42 43 20 63 61 72 ...//For.ROM.and.unknown.MBC.car
17720 74 72 69 64 67 65 73 20 75 73 69 6e 67 20 74 68 65 20 65 78 74 65 72 6e 61 6c 20 52 41 4d 3a 0a tridges.using.the.external.RAM:.
17740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 4d 42 43 52 41 4d 42 61 6e ................$this->MBCRAMBan
17760 6b 73 45 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ksEnabled.=.true;.............}.
17780 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 53 77 69 74 63 68 65 64 20 52 41 4d 20 55 73 65 64 0a ............//Switched.RAM.Used.
177a0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 4d 42 43 52 61 6d 20 3d 20 24 74 68 69 ............$this->MBCRam.=.$thi
177c0 73 2d 3e 67 65 74 54 79 70 65 64 41 72 72 61 79 28 24 74 68 69 73 2d 3e 6e 75 6d 52 41 4d 42 61 s->getTypedArray($this->numRAMBa
177e0 6e 6b 73 20 2a 20 30 78 32 30 30 30 2c 20 30 2c 20 27 75 69 6e 74 38 27 29 3b 0a 20 20 20 20 20 nks.*.0x2000,.0,.'uint8');......
17800 20 20 20 7d 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 41 63 74 75 61 6c 20 62 79 74 65 73 20 ...}.........echo.'Actual.bytes.
17820 6f 66 20 4d 42 43 20 52 41 4d 20 61 6c 6c 6f 63 61 74 65 64 3a 20 27 2e 28 24 74 68 69 73 2d 3e of.MBC.RAM.allocated:.'.($this->
17840 6e 75 6d 52 41 4d 42 61 6e 6b 73 20 2a 20 30 78 32 30 30 30 29 2e 50 48 50 5f 45 4f 4c 3b 0a 20 numRAMBanks.*.0x2000).PHP_EOL;..
17860 20 20 20 20 20 20 20 2f 2f 53 65 74 75 70 20 74 68 65 20 52 41 4d 20 66 6f 72 20 47 42 43 20 6d .......//Setup.the.RAM.for.GBC.m
17880 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 47 42 43 29 20 7b 0a ode..........if.($this->cGBC).{.
178a0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 56 52 41 4d 20 3d 20 24 74 68 69 73 2d ............$this->VRAM.=.$this-
178c0 3e 67 65 74 54 79 70 65 64 41 72 72 61 79 28 30 78 32 30 30 30 2c 20 30 2c 20 27 75 69 6e 74 38 >getTypedArray(0x2000,.0,.'uint8
178e0 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 47 42 43 4d 65 6d 6f 72 79 ');.............$this->GBCMemory
17900 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 64 41 72 72 61 79 28 30 78 37 30 30 30 2c 20 .=.$this->getTypedArray(0x7000,.
17920 30 2c 20 27 75 69 6e 74 38 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 0,.'uint8');.............$this->
17940 74 69 6c 65 43 6f 75 6e 74 20 2a 3d 20 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 tileCount.*=.2;.............$thi
17960 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 49 6e 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d s->tileCountInvalidator.=.$this-
17980 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 >tileCount.*.4;.............$thi
179a0 73 2d 3e 63 6f 6c 6f 72 43 6f 75 6e 74 20 3d 20 36 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 s->colorCount.=.64;.............
179c0 24 74 68 69 73 2d 3e 74 72 61 6e 73 70 61 72 65 6e 74 43 75 74 6f 66 66 20 3d 20 33 32 3b 0a 20 $this->transparentCutoff.=.32;..
179e0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 .......}.........$this->tileData
17a00 20 3d 20 24 74 68 69 73 2d 3e 61 72 72 61 79 50 61 64 28 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f .=.$this->arrayPad($this->tileCo
17a20 75 6e 74 20 2a 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 43 6f 75 6e 74 2c 20 6e 75 6c 6c 29 3b 0a unt.*.$this->colorCount,.null);.
17a40 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 52 65 61 64 53 74 61 74 65 20 3d 20 24 ........$this->tileReadState.=.$
17a60 74 68 69 73 2d 3e 67 65 74 54 79 70 65 64 41 72 72 61 79 28 24 74 68 69 73 2d 3e 74 69 6c 65 43 this->getTypedArray($this->tileC
17a80 6f 75 6e 74 2c 20 30 2c 20 27 75 69 6e 74 38 27 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 ount,.0,.'uint8');.........$this
17aa0 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 4a 75 6d 70 43 6f 6d 70 69 6c 65 28 29 3b 0a 20 20 20 20 20 ->memoryReadJumpCompile();......
17ac0 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 4a 75 6d 70 43 6f 6d 70 69 6c 65 ...$this->memoryWriteJumpCompile
17ae0 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 4d ();.....}......public.function.M
17b00 42 43 52 41 4d 55 74 69 6c 69 7a 65 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 BCRAMUtilized().....{.........re
17b20 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 4d 42 43 31 20 7c 7c 20 24 74 68 69 73 2d 3e 63 4d 42 43 turn.$this->cMBC1.||.$this->cMBC
17b40 32 20 7c 7c 20 24 74 68 69 73 2d 3e 63 4d 42 43 33 20 7c 7c 20 24 74 68 69 73 2d 3e 63 4d 42 43 2.||.$this->cMBC3.||.$this->cMBC
17b60 35 20 7c 7c 20 24 74 68 69 73 2d 3e 63 52 55 4d 42 4c 45 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 5.||.$this->cRUMBLE;.....}......
17b80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 4c 43 44 28 29 0a 20 20 20 20 7b 0a public.function.initLCD().....{.
17ba0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 70 61 72 65 6e 74 43 75 74 6f 66 66 ........$this->transparentCutoff
17bc0 20 3d 20 28 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 31 37 5d 20 7c 7c 20 24 .=.(Settings::$settings[17].||.$
17be0 74 68 69 73 2d 3e 63 47 42 43 29 20 3f 20 33 32 20 3a 20 34 3b 0a 20 20 20 20 20 20 20 20 69 66 this->cGBC).?.32.:.4;.........if
17c00 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 77 65 61 76 65 4c 6f 6f 6b 75 70 29 20 3d 3d 20 30 .(count($this->weaveLookup).==.0
17c20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 53 65 74 75 70 20 74 68 65 20 69 6d 61 67 ).{.............//Setup.the.imag
17c40 65 20 64 65 63 6f 64 69 6e 67 20 6c 6f 6f 6b 75 70 20 74 61 62 6c 65 3a 0a 20 20 20 20 20 20 20 e.decoding.lookup.table:........
17c60 20 20 20 20 20 24 74 68 69 73 2d 3e 77 65 61 76 65 4c 6f 6f 6b 75 70 20 3d 20 24 74 68 69 73 2d .....$this->weaveLookup.=.$this-
17c80 3e 67 65 74 54 79 70 65 64 41 72 72 61 79 28 32 35 36 2c 20 30 2c 20 27 75 69 6e 74 31 36 27 29 >getTypedArray(256,.0,.'uint16')
17ca0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 5f 20 3d 20 30 78 31 3b 20 24 69 ;.............for.($i_.=.0x1;.$i
17cc0 5f 20 3c 3d 20 30 78 46 46 3b 20 2b 2b 24 69 5f 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 _.<=.0xFF;.++$i_).{.............
17ce0 20 20 20 20 66 6f 72 20 28 24 64 5f 20 3d 20 30 3b 20 24 64 5f 20 3c 20 30 78 38 3b 20 2b 2b 24 ....for.($d_.=.0;.$d_.<.0x8;.++$
17d00 64 5f 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d d_).{.....................$this-
17d20 3e 77 65 61 76 65 4c 6f 6f 6b 75 70 5b 24 69 5f 5d 20 2b 3d 20 28 28 24 69 5f 20 3e 3e 20 24 64 >weaveLookup[$i_].+=.(($i_.>>.$d
17d40 5f 29 20 26 20 31 29 20 3c 3c 20 28 24 64 5f 20 2a 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 _).&.1).<<.($d_.*.2);...........
17d60 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a ......}.............}.........}.
17d80 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 69 64 74 68 20 3d 20 31 36 30 3b 0a 20 20 20 .........$this->width.=.160;....
17da0 20 20 20 20 20 24 74 68 69 73 2d 3e 68 65 69 67 68 74 20 3d 20 31 34 34 3b 0a 0a 20 20 20 20 20 .....$this->height.=.144;.......
17dc0 20 20 20 2f 2f 47 65 74 20 61 20 43 61 6e 76 61 73 50 69 78 65 6c 41 72 72 61 79 20 62 75 66 66 ...//Get.a.CanvasPixelArray.buff
17de0 65 72 3a 0a 20 20 20 20 20 20 20 20 2f 2f 43 72 65 61 74 65 20 61 20 77 68 69 74 65 20 73 63 72 er:.........//Create.a.white.scr
17e00 65 65 6e 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 42 75 66 66 65 72 20 een.........$this->canvasBuffer.
17e20 3d 20 61 72 72 61 79 5f 66 69 6c 6c 28 30 2c 20 34 20 2a 20 24 74 68 69 73 2d 3e 77 69 64 74 68 =.array_fill(0,.4.*.$this->width
17e40 20 2a 20 24 74 68 69 73 2d 3e 68 65 69 67 68 74 2c 20 32 35 35 29 3b 0a 0a 20 20 20 20 20 20 20 .*.$this->height,.255);.........
17e60 20 24 69 6e 64 65 78 20 3d 20 24 74 68 69 73 2d 3e 70 69 78 65 6c 43 6f 75 6e 74 3b 0a 20 20 20 .$index.=.$this->pixelCount;....
17e80 20 20 20 20 20 24 69 6e 64 65 78 32 20 3d 20 24 74 68 69 73 2d 3e 72 67 62 43 6f 75 6e 74 3b 0a .....$index2.=.$this->rgbCount;.
17ea0 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 69 6e 64 65 78 20 3e 20 30 29 20 7b 0a 20 20 .........while.($index.>.0).{...
17ec0 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 61 6d 65 42 75 66 66 65 72 5b 2d 2d 24 ..........$this->frameBuffer[--$
17ee0 69 6e 64 65 78 5d 20 3d 20 30 78 30 30 46 46 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 index].=.0x00FFFFFF;............
17f00 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 42 75 66 66 65 72 5b 24 69 6e 64 65 78 32 20 2d 3d 20 .$this->canvasBuffer[$index2.-=.
17f20 34 5d 20 3d 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 4].=.0xFF;.............$this->ca
17f40 6e 76 61 73 42 75 66 66 65 72 5b 24 69 6e 64 65 78 32 20 2b 20 31 5d 20 3d 20 30 78 46 46 3b 0a nvasBuffer[$index2.+.1].=.0xFF;.
17f60 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 42 75 66 66 65 72 5b ............$this->canvasBuffer[
17f80 24 69 6e 64 65 78 32 20 2b 20 32 5d 20 3d 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 $index2.+.2].=.0xFF;............
17fa0 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 42 75 66 66 65 72 5b 24 69 6e 64 65 78 32 20 2b 20 33 .$this->canvasBuffer[$index2.+.3
17fc0 5d 20 3d 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 ].=.0xFF;.........}..........$th
17fe0 69 73 2d 3e 64 72 61 77 43 6f 6e 74 65 78 74 2d 3e 64 72 61 77 28 24 74 68 69 73 2d 3e 63 61 6e is->drawContext->draw($this->can
18000 76 61 73 42 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 vasBuffer,.0,.0);.....}......pub
18020 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6a 6f 79 50 61 64 45 76 65 6e 74 28 24 6b 65 79 2c 20 24 lic.function.joyPadEvent($key,.$
18040 64 6f 77 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 6f 77 6e 29 20 7b down).....{.........if.($down).{
18060 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 4a 6f 79 50 61 64 20 26 3d 20 30 78 .............$this->JoyPad.&=.0x
18080 46 46 20 5e 20 28 31 20 3c 3c 20 24 6b 65 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 FF.^.(1.<<.$key);.........}.else
180a0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 4a 6f 79 50 61 64 20 7c 3d 20 .{.............$this->JoyPad.|=.
180c0 28 31 20 3c 3c 20 24 6b 65 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 (1.<<.$key);.........}.........$
180e0 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 30 5d 20 3d 20 28 24 74 68 69 73 2d 3e 6d this->memory[0xFF00].=.($this->m
18100 65 6d 6f 72 79 5b 30 78 46 46 30 30 5d 20 26 20 30 78 33 30 29 20 2b 20 28 28 28 28 24 74 68 69 emory[0xFF00].&.0x30).+.(((($thi
18120 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 30 5d 20 26 20 30 78 32 30 29 20 3d 3d 20 30 29 20 s->memory[0xFF00].&.0x20).==.0).
18140 3f 20 28 24 74 68 69 73 2d 3e 4a 6f 79 50 61 64 20 3e 3e 20 34 29 20 3a 20 30 78 46 29 20 26 20 ?.($this->JoyPad.>>.4).:.0xF).&.
18160 28 28 28 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 30 5d 20 26 20 30 78 31 30 29 ((($this->memory[0xFF00].&.0x10)
18180 20 3d 3d 20 30 29 20 3f 20 28 24 74 68 69 73 2d 3e 4a 6f 79 50 61 64 20 26 20 30 78 46 29 20 3a .==.0).?.($this->JoyPad.&.0xF).:
181a0 20 30 78 46 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .0xF));.....}......public.functi
181c0 6f 6e 20 72 75 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 54 68 65 20 70 72 65 on.run().....{.........//The.pre
181e0 70 72 6f 63 65 73 73 69 6e 67 20 62 65 66 6f 72 65 20 74 68 65 20 61 63 74 75 61 6c 20 69 74 65 processing.before.the.actual.ite
18200 72 61 74 69 6f 6e 20 6c 6f 6f 70 3a 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 ration.loop:.........try.{......
18220 20 20 20 20 20 20 20 69 66 20 28 28 24 74 68 69 73 2d 3e 73 74 6f 70 45 6d 75 6c 61 74 6f 72 20 .......if.(($this->stopEmulator.
18240 26 20 32 29 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 &.2).==.0).{.................if.
18260 28 28 24 74 68 69 73 2d 3e 73 74 6f 70 45 6d 75 6c 61 74 6f 72 20 26 20 31 29 20 3d 3d 20 31 29 (($this->stopEmulator.&.1).==.1)
18280 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 .{.....................$this->st
182a0 6f 70 45 6d 75 6c 61 74 6f 72 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 opEmulator.=.0;.................
182c0 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 6f 63 6b 55 70 64 61 74 65 28 29 3b 20 2f 2f 46 72 61 6d ....$this->clockUpdate();.//Fram
182e0 65 20 73 6b 69 70 20 61 6e 64 20 52 54 43 20 63 6f 64 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 e.skip.and.RTC.code.............
18300 20 20 20 20 20 20 20 20 20 20 2f 2f 49 66 20 6e 6f 20 48 41 4c 54 2e 2e 2e 20 45 78 65 63 75 74 ..........//If.no.HALT....Execut
18320 65 20 6e 6f 72 6d 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 e.normally.....................i
18340 66 20 28 21 24 74 68 69 73 2d 3e 68 61 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 f.(!$this->halt).{..............
18360 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 49 74 65 72 61 74 69 ...........$this->executeIterati
18380 6f 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 49 66 20 77 on();.....................//If.w
183a0 65 20 62 61 69 6c 65 64 20 6f 75 74 20 6f 66 20 61 20 68 61 6c 74 20 62 65 63 61 75 73 65 20 74 e.bailed.out.of.a.halt.because.t
183c0 68 65 20 69 74 65 72 61 74 69 6f 6e 20 72 61 6e 20 64 6f 77 6e 20 69 74 73 20 74 69 6d 69 6e 67 he.iteration.ran.down.its.timing
183e0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 ......................}.else.{..
18400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 43 50 .......................$this->CP
18420 55 54 69 63 6b 73 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 UTicks.=.1;.....................
18440 20 20 20 20 24 74 68 69 73 2d 3e 4f 50 43 4f 44 45 5b 30 78 37 36 5d 28 24 74 68 69 73 29 3b 0a ....$this->OPCODE[0x76]($this);.
18460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 45 78 65 63 75 74 ........................//Execut
18480 65 20 49 6e 74 65 72 72 75 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.Interrupt:....................
184a0 20 20 20 20 20 24 74 68 69 73 2d 3e 72 75 6e 49 6e 74 65 72 72 75 70 74 28 29 3b 0a 20 20 20 20 .....$this->runInterrupt();.....
184c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 54 69 6d 69 6e 67 3a 0a 20 20 ....................//Timing:...
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 70 64 ......................$this->upd
18500 61 74 65 43 6f 72 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ateCore();......................
18520 20 20 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 49 74 65 72 61 74 69 6f 6e 28 29 3b 0a 20 20 ...$this->executeIteration();...
18540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..................}.............
18560 20 20 20 20 2f 2f 57 65 20 63 61 6e 20 6f 6e 6c 79 20 67 65 74 20 68 65 72 65 20 69 66 20 74 68 ....//We.can.only.get.here.if.th
18580 65 72 65 20 77 61 73 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 2c 20 62 75 74 20 74 ere.was.an.internal.error,.but.t
185a0 68 65 20 6c 6f 6f 70 20 77 61 73 20 72 65 73 74 61 72 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 he.loop.was.restarted...........
185c0 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......}.else.{.................
185e0 20 20 20 20 65 63 68 6f 20 27 49 74 65 72 61 74 6f 72 20 72 65 73 74 61 72 74 65 64 20 61 20 66 ....echo.'Iterator.restarted.a.f
18600 61 75 6c 74 65 64 20 63 6f 72 65 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 20 aulted.core.'.PHP_EOL;..........
18620 20 20 20 20 20 20 20 20 20 20 20 70 61 75 73 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........pause();.............
18640 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 63 61 ....}.............}.........}.ca
18660 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 72 72 6f 72 29 20 7b 0a 20 20 20 20 20 20 tch.(\Exception.$error).{.......
18680 20 20 20 20 20 20 69 66 20 28 24 65 72 72 6f 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 21 ......if.($error->getMessage().!
186a0 3d 20 27 48 41 4c 54 5f 4f 56 45 52 52 55 4e 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 =.'HALT_OVERRUN').{.............
186c0 20 20 20 20 65 63 68 6f 20 27 47 61 6d 65 42 6f 79 20 72 75 6e 74 69 6d 65 20 65 72 72 6f 72 27 ....echo.'GameBoy.runtime.error'
186e0 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 .PHP_EOL;.............}.........
18700 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 }.....}......public.function.exe
18720 63 75 74 65 49 74 65 72 61 74 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f cuteIteration().....{.........//
18740 49 74 65 72 61 74 65 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 6c 6f 6f 70 3a 0a 20 20 Iterate.the.interpreter.loop:...
18760 20 20 20 20 20 20 24 6f 70 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 ......$op.=.0;..........while.($
18780 74 68 69 73 2d 3e 73 74 6f 70 45 6d 75 6c 61 74 6f 72 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 this->stopEmulator.==.0).{......
187a0 20 20 20 20 20 20 20 2f 2f 46 65 74 63 68 20 74 68 65 20 63 75 72 72 65 6e 74 20 6f 70 63 6f 64 .......//Fetch.the.current.opcod
187c0 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 20 3d 20 24 74 68 69 73 2d 3e 6d 65 6d 6f e..............$op.=.$this->memo
187e0 72 79 52 65 61 64 28 24 74 68 69 73 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 ryRead($this->programCounter);..
18800 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 73 6b 69 70 50 43 49 6e 63 ...........if.(!$this->skipPCInc
18820 72 65 6d 65 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 49 6e 63 72 rement).{.................//Incr
18840 65 6d 65 6e 74 20 74 68 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6e 74 65 72 20 74 6f 20 74 68 65 ement.the.program.counter.to.the
18860 20 6e 65 78 74 20 69 6e 73 74 72 75 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .next.instruction:..............
18880 20 20 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 74 68 69 ...$this->programCounter.=.($thi
188a0 73 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b s->programCounter.+.1).&.0xFFFF;
188c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 .............}.............$this
188e0 2d 3e 73 6b 69 70 50 43 49 6e 63 72 65 6d 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 ->skipPCIncrement.=.false;......
18900 20 20 20 20 20 20 20 2f 2f 47 65 74 20 68 6f 77 20 6d 61 6e 79 20 43 50 55 20 63 79 63 6c 65 73 .......//Get.how.many.CPU.cycles
18920 20 74 68 65 20 63 75 72 72 65 6e 74 20 6f 70 20 63 6f 64 65 20 63 6f 75 6e 74 73 20 66 6f 72 3a .the.current.op.code.counts.for:
18940 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 43 50 55 54 69 63 6b 73 20 3d 20 24 .............$this->CPUTicks.=.$
18960 74 68 69 73 2d 3e 54 49 43 4b 54 61 62 6c 65 5b 24 6f 70 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 this->TICKTable[$op];...........
18980 20 20 2f 2f 45 78 65 63 75 74 65 20 74 68 65 20 4f 50 20 63 6f 64 65 20 69 6e 73 74 72 75 63 74 ..//Execute.the.OP.code.instruct
189a0 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 4f 50 43 4f 44 45 5b 24 ion:.............$this->OPCODE[$
189c0 6f 70 5d 28 24 74 68 69 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 49 6e 74 65 72 72 op]($this);.............//Interr
189e0 75 70 74 20 41 72 6d 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 upt.Arming:.............switch.(
18a00 24 74 68 69 73 2d 3e 75 6e 74 69 6c 45 6e 61 62 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 $this->untilEnable).{...........
18a20 20 20 20 20 20 20 63 61 73 65 20 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......case.1:...................
18a40 20 20 24 74 68 69 73 2d 3e 49 4d 45 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..$this->IME.=.true;............
18a60 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 20 62 72 65 61 6b 0a 20 20 20 20 20 20 20 20 20 20 20 .........//.no.break............
18a80 20 20 20 20 20 63 61 73 65 20 32 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....case.2:....................
18aa0 20 24 74 68 69 73 2d 3e 75 6e 74 69 6c 45 6e 61 62 6c 65 2d 2d 3b 0a 20 20 20 20 20 20 20 20 20 .$this->untilEnable--;..........
18ac0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 20 62 72 65 61 6b 0a 20 20 20 20 20 20 20 20 20 ...........//.no.break..........
18ae0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 45 78 65 63 75 74 65 20 49 6e 74 65 72 ...}.............//Execute.Inter
18b00 72 75 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 49 4d 45 rupt:.............if.($this->IME
18b20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 75 6e 49 6e ).{.................$this->runIn
18b40 74 65 72 72 75 70 74 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 terrupt();.............}........
18b60 20 20 20 20 20 2f 2f 54 69 6d 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 .....//Timing:.............$this
18b80 2d 3e 75 70 64 61 74 65 43 6f 72 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a ->updateCore();.........}.....}.
18ba0 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 49 6e 74 65 72 72 75 70 .....public.function.runInterrup
18bc0 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 62 69 74 53 68 69 66 74 20 3d 20 30 3b t().....{.........$bitShift.=.0;
18be0 0a 20 20 20 20 20 20 20 20 24 74 65 73 74 62 69 74 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 24 .........$testbit.=.1;.........$
18c00 69 6e 74 65 72 72 75 70 74 73 20 3d 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 46 interrupts.=.$this->memory[0xFFF
18c20 46 5d 20 26 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 3b 0a 0a 20 20 20 F].&.$this->memory[0xFF0F];.....
18c40 20 20 20 20 20 77 68 69 6c 65 20 28 24 62 69 74 53 68 69 66 74 20 3c 20 35 29 20 7b 0a 20 20 20 .....while.($bitShift.<.5).{....
18c60 20 20 20 20 20 20 20 20 20 2f 2f 43 68 65 63 6b 20 74 6f 20 73 65 65 20 69 66 20 61 6e 20 69 6e .........//Check.to.see.if.an.in
18c80 74 65 72 72 75 70 74 20 69 73 20 65 6e 61 62 6c 65 64 20 41 4e 44 20 72 65 71 75 65 73 74 65 64 terrupt.is.enabled.AND.requested
18ca0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 74 65 73 74 62 69 74 20 26 20 24 69 ..............if.(($testbit.&.$i
18cc0 6e 74 65 72 72 75 70 74 73 29 20 3d 3d 20 24 74 65 73 74 62 69 74 29 20 7b 0a 20 20 20 20 20 20 nterrupts).==.$testbit).{.......
18ce0 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 49 4d 45 20 3d 20 66 61 6c 73 65 3b 20 2f 2f ..........$this->IME.=.false;.//
18d00 52 65 73 65 74 20 74 68 65 20 69 6e 74 65 72 72 75 70 74 20 65 6e 61 62 6c 69 6e 67 2e 0a 20 20 Reset.the.interrupt.enabling....
18d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 ..............$this->memory[0xFF
18d40 30 46 5d 20 2d 3d 20 24 74 65 73 74 62 69 74 3b 20 2f 2f 52 65 73 65 74 20 74 68 65 20 69 6e 74 0F].-=.$testbit;.//Reset.the.int
18d60 65 72 72 75 70 74 20 72 65 71 75 65 73 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 errupt.request..................
18d80 2f 2f 53 65 74 20 74 68 65 20 73 74 61 63 6b 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 63 //Set.the.stack.pointer.to.the.c
18da0 75 72 72 65 6e 74 20 70 72 6f 67 72 61 6d 20 63 6f 75 6e 74 65 72 20 76 61 6c 75 65 3a 0a 20 20 urrent.program.counter.value:...
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 ..............$this->stackPointe
18de0 72 20 3d 20 24 74 68 69 73 2d 3e 75 6e 73 77 74 75 77 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 50 r.=.$this->unswtuw($this->stackP
18e00 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 ointer.-.1);.................$th
18e20 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 50 6f 69 6e is->memoryWrite($this->stackPoin
18e40 74 65 72 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3e 3e 20 38 29 ter,.$this->programCounter.>>.8)
18e60 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 50 6f ;.................$this->stackPo
18e80 69 6e 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 75 6e 73 77 74 75 77 28 24 74 68 69 73 2d 3e 73 74 inter.=.$this->unswtuw($this->st
18ea0 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ackPointer.-.1);................
18ec0 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 74 68 69 73 2d 3e 73 74 61 63 6b .$this->memoryWrite($this->stack
18ee0 50 6f 69 6e 74 65 72 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 26 Pointer,.$this->programCounter.&
18f00 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 53 65 74 20 74 68 .0xFF);.................//Set.th
18f20 65 20 70 72 6f 67 72 61 6d 20 63 6f 75 6e 74 65 72 20 74 6f 20 74 68 65 20 69 6e 74 65 72 72 75 e.program.counter.to.the.interru
18f40 70 74 27 73 20 61 64 64 72 65 73 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 pt's.address:.................$t
18f60 68 69 73 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 30 78 30 30 34 30 20 2b 20 28 his->programCounter.=.0x0040.+.(
18f80 24 62 69 74 53 68 69 66 74 20 2a 20 30 78 30 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 $bitShift.*.0x08);..............
18fa0 20 20 20 2f 2f 49 6e 74 65 72 72 75 70 74 73 20 68 61 76 65 20 61 20 63 65 72 74 61 69 6e 20 63 ...//Interrupts.have.a.certain.c
18fc0 6c 6f 63 6b 20 63 79 63 6c 65 20 6c 65 6e 67 74 68 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lock.cycle.length:..............
18fe0 20 20 20 24 74 68 69 73 2d 3e 43 50 55 54 69 63 6b 73 20 2b 3d 20 35 3b 20 2f 2f 50 65 6f 70 6c ...$this->CPUTicks.+=.5;.//Peopl
19000 65 20 73 61 79 20 69 74 27 73 20 61 72 6f 75 6e 64 20 35 2e 0a 20 20 20 20 20 20 20 20 20 20 20 e.say.it's.around.5.............
19020 20 20 20 20 20 62 72 65 61 6b 3b 20 2f 2f 57 65 20 6f 6e 6c 79 20 77 61 6e 74 20 74 68 65 20 68 .....break;.//We.only.want.the.h
19040 69 67 68 65 73 74 20 70 72 69 6f 72 69 74 79 20 69 6e 74 65 72 72 75 70 74 2e 0a 20 20 20 20 20 ighest.priority.interrupt.......
19060 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 73 74 62 69 74 20 3d .......}..............$testbit.=
19080 20 31 20 3c 3c 20 2b 2b 24 62 69 74 53 68 69 66 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .1.<<.++$bitShift;.........}....
190a0 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 63 61 6e 4c 69 6e 65 .}......public.function.scanLine
190c0 4d 6f 64 65 32 28 29 0a 20 20 20 20 7b 20 2f 2f 20 4f 41 4d 20 69 6e 20 75 73 65 0a 20 20 20 20 Mode2().....{.//.OAM.in.use.....
190e0 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 6f 64 65 53 54 41 54 20 21 3d 20 32 29 20 7b 0a ....if.($this->modeSTAT.!=.2).{.
19100 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 6f 64 65 32 54 72 69 67 ............if.($this->mode2Trig
19120 67 65 72 53 54 41 54 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 gerSTAT).{.................$this
19140 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 7c 3d 20 30 78 32 3b 20 2f 2f 20 73 65 74 20 ->memory[0xFF0F].|=.0x2;.//.set.
19160 49 46 20 62 69 74 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 IF.bit.1.............}..........
19180 20 20 20 24 74 68 69 73 2d 3e 53 54 41 54 54 72 61 63 6b 65 72 20 3d 20 31 3b 0a 20 20 20 20 20 ...$this->STATTracker.=.1;......
191a0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 64 65 53 54 41 54 20 3d 20 32 3b 0a 20 20 20 20 .......$this->modeSTAT.=.2;.....
191c0 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ....}.....}......public.function
191e0 20 73 63 61 6e 4c 69 6e 65 4d 6f 64 65 33 28 29 0a 20 20 20 20 7b 20 2f 2f 20 4f 41 4d 20 69 6e .scanLineMode3().....{.//.OAM.in
19200 20 75 73 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 6f 64 65 53 54 41 54 .use.........if.($this->modeSTAT
19220 20 21 3d 20 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e .!=.3).{.............if.($this->
19240 6d 6f 64 65 32 54 72 69 67 67 65 72 53 54 41 54 20 26 26 20 24 74 68 69 73 2d 3e 53 54 41 54 54 mode2TriggerSTAT.&&.$this->STATT
19260 72 61 63 6b 65 72 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 racker.==.0).{.................$
19280 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 7c 3d 20 30 78 32 3b 20 2f 2f 20 this->memory[0xFF0F].|=.0x2;.//.
192a0 73 65 74 20 49 46 20 62 69 74 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 set.IF.bit.1.............}......
192c0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 53 54 41 54 54 72 61 63 6b 65 72 20 3d 20 31 3b 0a 20 .......$this->STATTracker.=.1;..
192e0 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 64 65 53 54 41 54 20 3d 20 33 3b 0a ...........$this->modeSTAT.=.3;.
19300 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 ........}.....}......public.func
19320 74 69 6f 6e 20 73 63 61 6e 4c 69 6e 65 4d 6f 64 65 30 28 29 0a 20 20 20 20 7b 20 2f 2f 20 48 2d tion.scanLineMode0().....{.//.H-
19340 42 6c 61 6e 6b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 6f 64 65 53 54 41 Blank.........if.($this->modeSTA
19360 54 20 21 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d T.!=.0).{.............if.($this-
19380 3e 68 64 6d 61 52 75 6e 6e 69 6e 67 20 26 26 20 21 24 74 68 69 73 2d 3e 68 61 6c 74 20 26 26 20 >hdmaRunning.&&.!$this->halt.&&.
193a0 24 74 68 69 73 2d 3e 4c 43 44 69 73 4f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $this->LCDisOn).{...............
193c0 20 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 6d 48 64 6d 61 28 29 3b 20 2f 2f 48 2d 42 6c 61 6e ..$this->performHdma();.//H-Blan
193e0 6b 20 44 4d 41 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 k.DMA.............}.............
19400 69 66 20 28 24 74 68 69 73 2d 3e 6d 6f 64 65 30 54 72 69 67 67 65 72 53 54 41 54 20 7c 7c 20 28 if.($this->mode0TriggerSTAT.||.(
19420 24 74 68 69 73 2d 3e 6d 6f 64 65 32 54 72 69 67 67 65 72 53 54 41 54 20 26 26 20 24 74 68 69 73 $this->mode2TriggerSTAT.&&.$this
19440 2d 3e 53 54 41 54 54 72 61 63 6b 65 72 20 3d 3d 20 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ->STATTracker.==.0)).{..........
19460 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 7c 3d 20 .......$this->memory[0xFF0F].|=.
19480 30 78 32 3b 20 2f 2f 20 69 66 20 53 54 41 54 20 62 69 74 20 33 20 2d 3e 20 73 65 74 20 49 46 20 0x2;.//.if.STAT.bit.3.->.set.IF.
194a0 62 69 74 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 bit1.............}.............$
194c0 74 68 69 73 2d 3e 6e 6f 74 69 66 79 53 63 61 6e 6c 69 6e 65 28 29 3b 0a 20 20 20 20 20 20 20 20 this->notifyScanline();.........
194e0 20 20 20 20 24 74 68 69 73 2d 3e 53 54 41 54 54 72 61 63 6b 65 72 20 3d 20 32 3b 0a 20 20 20 20 ....$this->STATTracker.=.2;.....
19500 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 64 65 53 54 41 54 20 3d 20 30 3b 0a 20 20 20 ........$this->modeSTAT.=.0;....
19520 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .....}.....}......public.functio
19540 6e 20 6d 61 74 63 68 4c 59 43 28 29 0a 20 20 20 20 7b 20 2f 2f 20 4c 59 20 2d 20 4c 59 43 20 43 n.matchLYC().....{.//.LY.-.LYC.C
19560 6f 6d 70 61 72 65 0a 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 4c 59 3d 3d 4c 43 59 0a 20 20 20 ompare.........//.If.LY==LCY....
19580 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 34 5d 20 3d .....if.($this->memory[0xFF44].=
195a0 3d 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 35 5d 29 20 7b 0a 20 20 20 20 20 =.$this->memory[0xFF45]).{......
195c0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 31 5d 20 7c 3d 20 .......$this->memory[0xFF41].|=.
195e0 30 78 30 34 3b 20 2f 2f 20 73 65 74 20 53 54 41 54 20 62 69 74 20 32 3a 20 4c 59 2d 4c 59 43 20 0x04;.//.set.STAT.bit.2:.LY-LYC.
19600 63 6f 69 6e 63 69 64 65 6e 63 65 20 66 6c 61 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 coincidence.flag.............if.
19620 28 24 74 68 69 73 2d 3e 4c 59 43 4d 61 74 63 68 54 72 69 67 67 65 72 53 54 41 54 29 20 7b 0a 20 ($this->LYCMatchTriggerSTAT).{..
19640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 ...............$this->memory[0xF
19660 46 30 46 5d 20 7c 3d 20 30 78 32 3b 20 2f 2f 20 73 65 74 20 49 46 20 62 69 74 20 31 0a 20 20 20 F0F].|=.0x2;.//.set.IF.bit.1....
19680 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 .........}.........}.else.{.....
196a0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 31 5d 20 26 3d ........$this->memory[0xFF41].&=
196c0 20 30 78 46 42 3b 20 2f 2f 20 72 65 73 65 74 20 53 54 41 54 20 62 69 74 20 32 20 28 4c 59 21 3d .0xFB;.//.reset.STAT.bit.2.(LY!=
196e0 4c 59 43 29 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 LYC).........}.....}......public
19700 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 43 6f 72 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 .function.updateCore().....{....
19720 20 20 20 20 20 2f 2f 20 44 49 56 20 63 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 20 20 20 24 74 68 69 .....//.DIV.control.........$thi
19740 73 2d 3e 44 49 56 54 69 63 6b 73 20 2b 3d 20 24 74 68 69 73 2d 3e 43 50 55 54 69 63 6b 73 3b 0a s->DIVTicks.+=.$this->CPUTicks;.
19760 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 44 49 56 54 69 63 6b 73 20 3e 3d 20 30 ........if.($this->DIVTicks.>=.0
19780 78 34 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 44 49 56 54 69 63 x40).{.............$this->DIVTic
197a0 6b 73 20 2d 3d 20 30 78 34 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d ks.-=.0x40;.............$this->m
197c0 65 6d 6f 72 79 5b 30 78 46 46 30 34 5d 20 3d 20 28 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 emory[0xFF04].=.($this->memory[0
197e0 78 46 46 30 34 5d 20 2b 20 31 29 20 26 20 30 78 46 46 3b 20 2f 2f 20 69 6e 63 20 44 49 56 0a 20 xFF04].+.1).&.0xFF;.//.inc.DIV..
19800 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 4c 43 44 20 43 6f 6e 74 72 6f 6c 6c 65 .......}.........//LCD.Controlle
19820 72 20 54 69 63 6b 73 0a 20 20 20 20 20 20 20 20 24 74 69 6d 65 64 54 69 63 6b 73 20 3d 20 24 74 r.Ticks.........$timedTicks.=.$t
19840 68 69 73 2d 3e 43 50 55 54 69 63 6b 73 20 2f 20 24 74 68 69 73 2d 3e 6d 75 6c 74 69 70 6c 69 65 his->CPUTicks./.$this->multiplie
19860 72 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 4c 43 44 20 54 69 6d 69 6e 67 0a 20 20 20 20 20 20 20 r;.........//.LCD.Timing........
19880 20 24 74 68 69 73 2d 3e 4c 43 44 54 69 63 6b 73 20 2b 3d 20 24 74 69 6d 65 64 54 69 63 6b 73 3b .$this->LCDTicks.+=.$timedTicks;
198a0 20 2f 2f 4c 43 44 20 74 69 6d 69 6e 67 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 63 64 .//LCD.timing.........$this->lcd
198c0 43 6f 6e 74 72 6f 6c 6c 65 72 2d 3e 73 63 61 6e 4c 69 6e 65 28 24 74 68 69 73 2d 3e 61 63 74 75 Controller->scanLine($this->actu
198e0 61 6c 53 63 61 6e 4c 69 6e 65 29 3b 20 2f 2f 53 63 61 6e 20 4c 69 6e 65 20 61 6e 64 20 53 54 41 alScanLine);.//Scan.Line.and.STA
19900 54 20 4d 6f 64 65 20 43 6f 6e 74 72 6f 6c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 41 75 64 69 6f 20 T.Mode.Control..........//Audio.
19920 54 69 6d 69 6e 67 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 64 69 6f 54 69 63 6b 73 Timing.........$this->audioTicks
19940 20 2b 3d 20 24 74 69 6d 65 64 54 69 63 6b 73 3b 20 2f 2f 4e 6f 74 20 74 68 65 20 73 61 6d 65 20 .+=.$timedTicks;.//Not.the.same.
19960 61 73 20 74 68 65 20 4c 43 44 20 74 69 6d 69 6e 67 20 28 43 61 6e 6e 6f 74 20 62 65 20 61 6c 74 as.the.LCD.timing.(Cannot.be.alt
19980 65 72 65 64 20 62 79 20 64 69 73 70 6c 61 79 20 6f 6e 2f 6f 66 66 20 63 68 61 6e 67 65 73 21 21 ered.by.display.on/off.changes!!
199a0 21 29 2e 0a 0a 20 20 20 20 20 20 20 20 2f 2f 41 72 65 20 77 65 20 70 61 73 74 20 74 68 65 20 67 !)...........//Are.we.past.the.g
199c0 72 61 6e 75 6c 61 72 69 74 79 20 73 65 74 74 69 6e 67 3f 0a 20 20 20 20 20 20 20 20 69 66 20 28 ranularity.setting?.........if.(
199e0 24 74 68 69 73 2d 3e 61 75 64 69 6f 54 69 63 6b 73 20 3e 3d 20 53 65 74 74 69 6e 67 73 3a 3a 24 $this->audioTicks.>=.Settings::$
19a00 73 65 74 74 69 6e 67 73 5b 31 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 45 6d settings[11]).{.............//Em
19a20 75 6c 61 74 6f 72 20 54 69 6d 69 6e 67 20 28 54 69 6d 65 64 20 61 67 61 69 6e 73 74 20 61 75 64 ulator.Timing.(Timed.against.aud
19a40 69 6f 20 66 6f 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 20 20 io.for.optimization):...........
19a60 20 20 24 74 68 69 73 2d 3e 65 6d 75 6c 61 74 6f 72 54 69 63 6b 73 20 2b 3d 20 24 74 68 69 73 2d ..$this->emulatorTicks.+=.$this-
19a80 3e 61 75 64 69 6f 54 69 63 6b 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 >audioTicks;.............if.($th
19aa0 69 73 2d 3e 65 6d 75 6c 61 74 6f 72 54 69 63 6b 73 20 3e 3d 20 53 65 74 74 69 6e 67 73 3a 3a 24 is->emulatorTicks.>=.Settings::$
19ac0 73 65 74 74 69 6e 67 73 5b 31 33 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 settings[13]).{.................
19ae0 2f 2f 4d 61 6b 65 20 73 75 72 65 20 77 65 20 64 6f 6e 27 74 20 6f 76 65 72 64 6f 20 74 68 65 20 //Make.sure.we.don't.overdo.the.
19b00 61 75 64 69 6f 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 74 68 69 audio..................if.(($thi
19b20 73 2d 3e 73 74 6f 70 45 6d 75 6c 61 74 6f 72 20 26 20 31 29 20 3d 3d 20 30 29 20 7b 0a 20 20 20 s->stopEmulator.&.1).==.0).{....
19b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4c 43 44 20 6f 66 66 20 74 61 6b 65 73 .................//LCD.off.takes
19b60 20 61 74 20 6c 65 61 73 74 20 32 20 66 72 61 6d 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .at.least.2.frames..............
19b80 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 64 72 65 77 42 6c 61 6e 6b 20 3d 3d 20 ........if.($this->drewBlank.==.
19ba0 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 0).{.........................$th
19bc0 69 73 2d 3e 64 72 61 77 54 6f 43 61 6e 76 61 73 28 29 3b 20 2f 2f 44 69 73 70 6c 61 79 20 66 72 is->drawToCanvas();.//Display.fr
19be0 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ame.....................}.......
19c00 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 ..........}.................$thi
19c20 73 2d 3e 73 74 6f 70 45 6d 75 6c 61 74 6f 72 20 7c 3d 20 31 3b 20 2f 2f 45 6e 64 20 63 75 72 72 s->stopEmulator.|=.1;.//End.curr
19c40 65 6e 74 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ent.loop..................$this-
19c60 3e 65 6d 75 6c 61 74 6f 72 54 69 63 6b 73 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >emulatorTicks.=.0;.............
19c80 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 64 69 6f 54 69 63 6b 73 20 }.............$this->audioTicks.
19ca0 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 49 6e 74 65 72 =.0;.........}..........//.Inter
19cc0 6e 61 6c 20 54 69 6d 65 72 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 54 49 4d nal.Timer.........if.($this->TIM
19ce0 41 45 6e 61 62 6c 65 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 AEnabled).{.............$this->t
19d00 69 6d 65 72 54 69 63 6b 73 20 2b 3d 20 24 74 68 69 73 2d 3e 43 50 55 54 69 63 6b 73 3b 0a 20 20 imerTicks.+=.$this->CPUTicks;...
19d20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 74 68 69 73 2d 3e 74 69 6d 65 72 54 69 63 ..........while.($this->timerTic
19d40 6b 73 20 3e 3d 20 24 74 68 69 73 2d 3e 54 41 43 43 6c 6f 63 6b 65 72 29 20 7b 0a 20 20 20 20 20 ks.>=.$this->TACClocker).{......
19d60 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6d 65 72 54 69 63 6b 73 20 2d 3d 20 ...........$this->timerTicks.-=.
19d80 24 74 68 69 73 2d 3e 54 41 43 43 6c 6f 63 6b 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 $this->TACClocker;..............
19da0 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 35 5d 20 3d 3d 20 ...if.($this->memory[0xFF05].==.
19dc0 30 78 46 46 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 0xFF).{.....................$thi
19de0 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 35 5d 20 3d 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 s->memory[0xFF05].=.$this->memor
19e00 79 5b 30 78 46 46 30 36 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 y[0xFF06];.....................$
19e20 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 7c 3d 20 30 78 34 3b 20 2f 2f 20 this->memory[0xFF0F].|=.0x4;.//.
19e40 73 65 74 20 49 46 20 62 69 74 20 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 set.IF.bit.2.................}.e
19e60 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 74 68 69 lse.{.....................++$thi
19e80 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 35 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 s->memory[0xFF05];..............
19ea0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ...}.............}.........}....
19ec0 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 53 .}......public.function.displayS
19ee0 68 6f 77 4f 66 66 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 howOff().....{.........if.($this
19f00 2d 3e 64 72 65 77 42 6c 61 6e 6b 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ->drewBlank.==.0).{.............
19f20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 42 75 66 66 65 72 20 3d 20 61 72 72 61 79 5f 66 69 6c 6c $this->canvasBuffer.=.array_fill
19f40 28 30 2c 20 34 20 2a 20 24 74 68 69 73 2d 3e 77 69 64 74 68 20 2a 20 24 74 68 69 73 2d 3e 68 65 (0,.4.*.$this->width.*.$this->he
19f60 69 67 68 74 2c 20 32 35 35 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 ight,.255);.............$this->d
19f80 72 61 77 43 6f 6e 74 65 78 74 2d 3e 64 72 61 77 28 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 42 75 rawContext->draw($this->canvasBu
19fa0 66 66 65 72 2c 20 30 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ffer,.0,.0);.............$this->
19fc0 64 72 65 77 42 6c 61 6e 6b 20 3d 20 32 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a drewBlank.=.2;.........}.....}..
19fe0 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 48 64 6d 61 28 ....public.function.performHdma(
1a000 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 43 50 55 54 69 63 6b 73 20 ).....{.........$this->CPUTicks.
1a020 2b 3d 20 31 20 2b 20 28 38 20 2a 20 24 74 68 69 73 2d 3e 6d 75 6c 74 69 70 6c 69 65 72 29 3b 0a +=.1.+.(8.*.$this->multiplier);.
1a040 0a 20 20 20 20 20 20 20 20 24 64 6d 61 53 72 63 20 3d 20 28 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 .........$dmaSrc.=.($this->memor
1a060 79 5b 30 78 46 46 35 31 5d 20 3c 3c 20 38 29 20 2b 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b y[0xFF51].<<.8).+.$this->memory[
1a080 30 78 46 46 35 32 5d 3b 0a 20 20 20 20 20 20 20 20 24 64 6d 61 44 73 74 52 65 6c 61 74 69 76 65 0xFF52];.........$dmaDstRelative
1a0a0 20 3d 20 28 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 33 5d 20 3c 3c 20 38 29 20 .=.($this->memory[0xFF53].<<.8).
1a0c0 2b 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 34 5d 3b 0a 20 20 20 20 20 20 20 +.$this->memory[0xFF54];........
1a0e0 20 24 64 6d 61 44 73 74 46 69 6e 61 6c 20 3d 20 24 64 6d 61 44 73 74 52 65 6c 61 74 69 76 65 20 .$dmaDstFinal.=.$dmaDstRelative.
1a100 2b 20 30 78 31 30 3b 0a 20 20 20 20 20 20 20 20 24 74 69 6c 65 52 65 6c 61 74 69 76 65 20 3d 20 +.0x10;.........$tileRelative.=.
1a120 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 2d 3e 6c 65 6e 67 74 68 20 2d 20 24 74 68 69 73 2d $this->tileData->length.-.$this-
1a140 3e 74 69 6c 65 43 6f 75 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e >tileCount;..........if.($this->
1a160 63 75 72 72 56 52 41 4d 42 61 6e 6b 20 3d 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 currVRAMBank.==.1).{............
1a180 20 77 68 69 6c 65 20 28 24 64 6d 61 44 73 74 52 65 6c 61 74 69 76 65 20 3c 20 24 64 6d 61 44 73 .while.($dmaDstRelative.<.$dmaDs
1a1a0 74 46 69 6e 61 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 42 6b 67 tFinal).{.................//.Bkg
1a1c0 20 54 69 6c 65 20 64 61 74 61 20 61 72 65 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Tile.data.area.................
1a1e0 69 66 20 28 24 64 6d 61 44 73 74 52 65 6c 61 74 69 76 65 20 3c 20 30 78 31 38 30 30 29 20 7b 0a if.($dmaDstRelative.<.0x1800).{.
1a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 6c 65 49 6e 64 65 78 20 3d ....................$tileIndex.=
1a220 20 28 24 64 6d 61 44 73 74 52 65 6c 61 74 69 76 65 20 3e 3e 20 34 29 20 2b 20 33 38 34 3b 0a 20 .($dmaDstRelative.>>.4).+.384;..
1a240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 74 69 ...................if.($this->ti
1a260 6c 65 52 65 61 64 53 74 61 74 65 5b 24 74 69 6c 65 49 6e 64 65 78 5d 20 3d 3d 20 31 29 20 7b 0a leReadState[$tileIndex].==.1).{.
1a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 3d 20 24 74 69 ........................$r.=.$ti
1a2a0 6c 65 52 65 6c 61 74 69 76 65 20 2b 20 24 74 69 6c 65 49 6e 64 65 78 3b 0a 20 20 20 20 20 20 20 leRelative.+.$tileIndex;........
1a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .................do.{...........
1a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 ..................$this->tileDat
1a300 61 5b 24 72 5d 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a[$r].=.null;...................
1a320 20 20 20 20 20 20 20 20 20 20 24 72 20 2d 3d 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 ..........$r.-=.$this->tileCount
1a340 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 77 68 69 6c ;.........................}.whil
1a360 65 20 28 24 72 20 3e 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.($r.>=.0);....................
1a380 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 52 65 61 64 53 74 61 74 65 5b 24 74 69 6c 65 49 .....$this->tileReadState[$tileI
1a3a0 6e 64 65 78 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ndex].=.0;.....................}
1a3c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
1a3e0 20 20 20 24 74 68 69 73 2d 3e 56 52 41 4d 5b 24 64 6d 61 44 73 74 52 65 6c 61 74 69 76 65 2b 2b ...$this->VRAM[$dmaDstRelative++
1a400 5d 20 3d 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 24 64 6d 61 53 72 63 2b 2b 29 ].=.$this->memoryRead($dmaSrc++)
1a420 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b ;.............}.........}.else.{
1a440 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 64 6d 61 44 73 74 52 65 6c 61 74 .............while.($dmaDstRelat
1a460 69 76 65 20 3c 20 24 64 6d 61 44 73 74 46 69 6e 61 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ive.<.$dmaDstFinal).{...........
1a480 20 20 20 20 20 20 2f 2f 20 42 6b 67 20 54 69 6c 65 20 64 61 74 61 20 61 72 65 61 0a 20 20 20 20 ......//.Bkg.Tile.data.area.....
1a4a0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 64 6d 61 44 73 74 52 65 6c 61 74 69 76 65 20 ............if.($dmaDstRelative.
1a4c0 3c 20 30 78 31 38 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 <.0x1800).{.....................
1a4e0 24 74 69 6c 65 49 6e 64 65 78 20 3d 20 24 64 6d 61 44 73 74 52 65 6c 61 74 69 76 65 20 3e 3e 20 $tileIndex.=.$dmaDstRelative.>>.
1a500 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 4;.....................if.($this
1a520 2d 3e 74 69 6c 65 52 65 61 64 53 74 61 74 65 5b 24 74 69 6c 65 49 6e 64 65 78 5d 20 3d 3d 20 31 ->tileReadState[$tileIndex].==.1
1a540 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 3d ).{.........................$r.=
1a560 20 24 74 69 6c 65 52 65 6c 61 74 69 76 65 20 2b 20 24 74 69 6c 65 49 6e 64 65 78 3b 0a 0a 20 20 .$tileRelative.+.$tileIndex;....
1a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 ......................do.{......
1a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 .......................$this->ti
1a5c0 6c 65 44 61 74 61 5b 24 72 5d 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 leData[$r].=.null;..............
1a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 2d 3d 20 24 74 68 69 73 2d 3e 74 69 6c 65 ...............$r.-=.$this->tile
1a600 43 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d Count;.........................}
1a620 20 77 68 69 6c 65 20 28 24 72 20 3e 3d 20 30 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .while.($r.>=.0);...............
1a640 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 52 65 61 64 53 74 61 74 65 5b ...........$this->tileReadState[
1a660 24 74 69 6c 65 49 6e 64 65 78 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $tileIndex].=.0;................
1a680 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .....}.................}........
1a6a0 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 38 30 30 30 20 2b 20 .........$this->memory[0x8000.+.
1a6c0 24 64 6d 61 44 73 74 52 65 6c 61 74 69 76 65 2b 2b 5d 20 3d 20 24 74 68 69 73 2d 3e 6d 65 6d 6f $dmaDstRelative++].=.$this->memo
1a6e0 72 79 52 65 61 64 28 24 64 6d 61 53 72 63 2b 2b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ryRead($dmaSrc++);.............}
1a700 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 .........}..........$this->memor
1a720 79 5b 30 78 46 46 35 31 5d 20 3d 20 28 28 24 64 6d 61 53 72 63 20 26 20 30 78 46 46 30 30 29 20 y[0xFF51].=.(($dmaSrc.&.0xFF00).
1a740 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 >>.8);.........$this->memory[0xF
1a760 46 35 32 5d 20 3d 20 28 24 64 6d 61 53 72 63 20 26 20 30 78 30 30 46 30 29 3b 0a 20 20 20 20 20 F52].=.($dmaSrc.&.0x00F0);......
1a780 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 33 5d 20 3d 20 28 28 24 64 6d ...$this->memory[0xFF53].=.(($dm
1a7a0 61 44 73 74 46 69 6e 61 6c 20 26 20 30 78 31 46 30 30 29 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 aDstFinal.&.0x1F00).>>.8);......
1a7c0 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 34 5d 20 3d 20 28 24 64 6d 61 ...$this->memory[0xFF54].=.($dma
1a7e0 44 73 74 46 69 6e 61 6c 20 26 20 30 78 30 30 46 30 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 DstFinal.&.0x00F0);.........if.(
1a800 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 35 5d 20 3d 3d 20 30 29 20 7b 0a 20 20 $this->memory[0xFF55].==.0).{...
1a820 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 64 6d 61 52 75 6e 6e 69 6e 67 20 3d 20 66 ..........$this->hdmaRunning.=.f
1a840 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b alse;.............$this->memory[
1a860 30 78 46 46 35 35 5d 20 3d 20 30 78 46 46 3b 20 2f 2f 54 72 61 6e 73 66 65 72 20 63 6f 6d 70 6c 0xFF55].=.0xFF;.//Transfer.compl
1a880 65 74 65 64 20 28 22 48 69 64 64 65 6e 20 6c 61 73 74 20 73 74 65 70 2c 22 20 73 69 6e 63 65 20 eted.("Hidden.last.step,".since.
1a8a0 73 6f 6d 65 20 52 4f 4d 73 20 64 6f 6e 27 74 20 69 6d 70 6c 79 20 74 68 69 73 2c 20 62 75 74 20 some.ROMs.don't.imply.this,.but.
1a8c0 6d 6f 73 74 20 64 6f 29 2e 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 most.do)..........}.else.{......
1a8e0 20 20 20 20 20 20 20 2d 2d 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 35 5d 3b 0a .......--$this->memory[0xFF55];.
1a900 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 ........}.....}......public.func
1a920 74 69 6f 6e 20 63 6c 6f 63 6b 55 70 64 61 74 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 tion.clockUpdate().....{........
1a940 20 2f 2f 57 65 27 72 65 20 74 79 69 6e 67 20 69 6e 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 72 .//We're.tying.in.the.same.timer
1a960 20 66 6f 72 20 52 54 43 20 61 6e 64 20 66 72 61 6d 65 20 73 6b 69 70 70 69 6e 67 2c 20 73 69 6e .for.RTC.and.frame.skipping,.sin
1a980 63 65 20 77 65 20 63 61 6e 20 61 6e 64 20 74 68 69 73 20 72 65 64 75 63 65 73 20 6c 6f 61 64 2e ce.we.can.and.this.reduces.load.
1a9a0 0a 20 20 20 20 20 20 20 20 69 66 20 28 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 .........if.(Settings::$settings
1a9c0 5b 37 5d 20 7c 7c 20 24 74 68 69 73 2d 3e 63 54 49 4d 45 52 29 20 7b 0a 20 20 20 20 20 20 20 20 [7].||.$this->cTIMER).{.........
1a9e0 20 20 20 20 24 74 69 6d 65 45 6c 61 70 73 65 64 20 3d 20 28 28 69 6e 74 29 20 28 6d 69 63 72 6f ....$timeElapsed.=.((int).(micro
1aa00 74 69 6d 65 28 74 72 75 65 29 20 2a 20 31 30 30 30 29 29 20 2d 20 24 74 68 69 73 2d 3e 6c 61 73 time(true).*.1000)).-.$this->las
1aa20 74 49 74 65 72 61 74 69 6f 6e 3b 20 2f 2f 47 65 74 20 74 68 65 20 6e 75 6d 6e 62 65 72 20 6f 66 tIteration;.//Get.the.numnber.of
1aa40 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 73 69 6e 63 65 20 74 68 69 73 20 6c 61 73 74 20 65 78 .milliseconds.since.this.last.ex
1aa60 65 63 75 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 ecuted..............if.($this->c
1aa80 54 49 4d 45 52 20 26 26 20 21 24 74 68 69 73 2d 3e 52 54 43 48 41 4c 54 29 20 7b 0a 20 20 20 20 TIMER.&&.!$this->RTCHALT).{.....
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 55 70 64 61 74 65 20 74 68 65 20 4d 42 43 33 20 52 54 ............//Update.the.MBC3.RT
1aac0 43 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 53 65 63 C:.................$this->RTCSec
1aae0 6f 6e 64 73 20 2b 3d 20 24 74 69 6d 65 45 6c 61 70 73 65 64 20 2f 20 31 30 30 30 3b 0a 20 20 20 onds.+=.$timeElapsed./.1000;....
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 53 79 73 74 65 6d 20 63 61 6e 20 73 74 75 74 74 65 .............//System.can.stutte
1ab20 72 2c 20 73 6f 20 74 68 65 20 73 65 63 6f 6e 64 73 20 64 69 66 66 65 72 65 6e 63 65 20 63 61 6e r,.so.the.seconds.difference.can
1ab40 20 67 65 74 20 6c 61 72 67 65 2c 20 74 68 75 73 20 74 68 65 20 22 77 68 69 6c 65 22 2e 0a 20 20 .get.large,.thus.the."while"....
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 74 68 69 73 2d 3e 52 54 43 53 ..............while.($this->RTCS
1ab80 65 63 6f 6e 64 73 20 3e 3d 20 36 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 econds.>=.60).{.................
1aba0 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 53 65 63 6f 6e 64 73 20 2d 3d 20 36 30 3b 0a 20 20 20 ....$this->RTCSeconds.-=.60;....
1abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 74 68 69 73 2d 3e 52 54 43 4d 69 6e .................++$this->RTCMin
1abe0 75 74 65 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 utes;.....................if.($t
1ac00 68 69 73 2d 3e 52 54 43 4d 69 6e 75 74 65 73 20 3e 3d 20 36 30 29 20 7b 0a 20 20 20 20 20 20 20 his->RTCMinutes.>=.60).{........
1ac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 4d 69 6e 75 74 .................$this->RTCMinut
1ac40 65 73 20 2d 3d 20 36 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es.-=.60;.......................
1ac60 20 20 2b 2b 24 74 68 69 73 2d 3e 52 54 43 48 6f 75 72 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..++$this->RTCHours;............
1ac80 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 52 54 43 48 6f 75 72 73 .............if.($this->RTCHours
1aca0 20 3e 3d 20 32 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .>=.24).{.......................
1acc0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 48 6f 75 72 73 20 2d 3d 20 32 34 3b 0a 20 20 20 ......$this->RTCHours.-=.24;....
1ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 74 68 69 73 .........................++$this
1ad00 2d 3e 52 54 43 44 61 79 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ->RTCDays;......................
1ad20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 52 54 43 44 61 79 73 20 3e 3d 20 35 31 32 .......if.($this->RTCDays.>=.512
1ad40 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).{.............................
1ad60 20 20 20 20 24 74 68 69 73 2d 3e 52 54 43 44 61 79 73 20 2d 3d 20 35 31 32 3b 0a 20 20 20 20 20 ....$this->RTCDays.-=.512;......
1ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 ...........................$this
1ada0 2d 3e 52 54 43 44 61 79 4f 76 65 72 46 6c 6f 77 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 ->RTCDayOverFlow.=.true;........
1adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 .....................}..........
1ade0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
1ae00 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .....}.................}........
1ae20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 53 65 74 74 69 6e 67 73 3a .....}.............if.(Settings:
1ae40 3a 24 73 65 74 74 69 6e 67 73 5b 37 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :$settings[7]).{................
1ae60 20 2f 2f 41 75 74 6f 20 46 72 61 6d 65 20 53 6b 69 70 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 .//Auto.Frame.Skip:.............
1ae80 20 20 20 20 69 66 20 28 24 74 69 6d 65 45 6c 61 70 73 65 64 20 3e 20 53 65 74 74 69 6e 67 73 3a ....if.($timeElapsed.>.Settings:
1aea0 3a 24 73 65 74 74 69 6e 67 73 5b 32 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :$settings[20]).{...............
1aec0 20 20 20 20 20 20 2f 2f 44 69 64 20 6e 6f 74 20 66 69 6e 69 73 68 20 69 6e 20 74 69 6d 65 2e 2e ......//Did.not.finish.in.time..
1aee0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 53 65 74 74 69 6e ......................if.(Settin
1af00 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 34 5d 20 3c 20 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 gs::$settings[4].<.Settings::$se
1af20 74 74 69 6e 67 73 5b 38 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ttings[8]).{....................
1af40 20 20 20 20 20 2b 2b 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 34 5d 3b 0a 20 .....++Settings::$settings[4];..
1af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 ...................}............
1af80 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e .....}.elseif.(Settings::$settin
1afa0 67 73 5b 34 5d 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gs[4].>.0).{....................
1afc0 20 2f 2f 57 65 20 66 69 6e 69 73 68 65 64 20 6f 6e 20 74 69 6d 65 2c 20 64 65 63 72 65 61 73 65 .//We.finished.on.time,.decrease
1afe0 20 66 72 61 6d 65 20 73 6b 69 70 70 69 6e 67 20 28 74 68 72 6f 74 74 6c 65 20 74 6f 20 73 6f 6d .frame.skipping.(throttle.to.som
1b000 65 77 68 65 72 65 20 6a 75 73 74 20 62 65 6c 6f 77 20 66 75 6c 6c 20 73 70 65 65 64 29 2e 2e 2e ewhere.just.below.full.speed)...
1b020 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 53 65 74 74 69 6e 67 73 3a .....................--Settings:
1b040 3a 24 73 65 74 74 69 6e 67 73 5b 34 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d :$settings[4];.................}
1b060 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 .............}.............$this
1b080 2d 3e 6c 61 73 74 49 74 65 72 61 74 69 6f 6e 20 3d 20 28 69 6e 74 29 20 28 6d 69 63 72 6f 74 69 ->lastIteration.=.(int).(microti
1b0a0 6d 65 28 74 72 75 65 29 20 2a 20 31 30 30 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 me(true).*.1000);.........}.....
1b0c0 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 72 61 77 54 6f 43 61 6e }......public.function.drawToCan
1b0e0 76 61 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 44 72 61 77 20 74 68 65 20 66 vas().....{.........//Draw.the.f
1b100 72 61 6d 65 20 62 75 66 66 65 72 20 74 6f 20 74 68 65 20 63 61 6e 76 61 73 3a 0a 20 20 20 20 20 rame.buffer.to.the.canvas:......
1b120 20 20 20 69 66 20 28 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 34 5d 20 3d 3d ...if.(Settings::$settings[4].==
1b140 20 30 20 7c 7c 20 24 74 68 69 73 2d 3e 66 72 61 6d 65 43 6f 75 6e 74 20 3e 20 30 29 20 7b 0a 20 .0.||.$this->frameCount.>.0).{..
1b160 20 20 20 20 20 20 20 20 20 20 20 2f 2f 43 6f 70 79 20 61 6e 64 20 63 6f 6e 76 65 72 74 20 74 68 ...........//Copy.and.convert.th
1b180 65 20 66 72 61 6d 65 62 75 66 66 65 72 20 64 61 74 61 20 74 6f 20 74 68 65 20 43 61 6e 76 61 73 e.framebuffer.data.to.the.Canvas
1b1a0 50 69 78 65 6c 41 72 72 61 79 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 PixelArray.format..............$
1b1c0 62 75 66 66 65 72 49 6e 64 65 78 20 3d 20 24 74 68 69 73 2d 3e 70 69 78 65 6c 43 6f 75 6e 74 3b bufferIndex.=.$this->pixelCount;
1b1e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 61 6e 76 61 73 49 6e 64 65 78 20 3d 20 24 74 68 69 .............$canvasIndex.=.$thi
1b200 73 2d 3e 72 67 62 43 6f 75 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 s->rgbCount;..............while.
1b220 28 24 63 61 6e 76 61 73 49 6e 64 65 78 20 3e 20 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ($canvasIndex.>.3).{............
1b240 20 20 20 20 20 2f 2f 52 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 .....//Red.................$this
1b260 2d 3e 63 61 6e 76 61 73 42 75 66 66 65 72 5b 24 63 61 6e 76 61 73 49 6e 64 65 78 20 2d 3d 20 34 ->canvasBuffer[$canvasIndex.-=.4
1b280 5d 20 3d 20 28 24 74 68 69 73 2d 3e 66 72 61 6d 65 42 75 66 66 65 72 5b 2d 2d 24 62 75 66 66 65 ].=.($this->frameBuffer[--$buffe
1b2a0 72 49 6e 64 65 78 5d 20 3e 3e 20 31 36 29 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 rIndex].>>.16).&.0xFF;..........
1b2c0 20 20 20 20 20 20 20 2f 2f 47 72 65 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 .......//Green.................$
1b2e0 74 68 69 73 2d 3e 63 61 6e 76 61 73 42 75 66 66 65 72 5b 24 63 61 6e 76 61 73 49 6e 64 65 78 20 this->canvasBuffer[$canvasIndex.
1b300 2b 20 31 5d 20 3d 20 28 24 74 68 69 73 2d 3e 66 72 61 6d 65 42 75 66 66 65 72 5b 24 62 75 66 66 +.1].=.($this->frameBuffer[$buff
1b320 65 72 49 6e 64 65 78 5d 20 3e 3e 20 38 29 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 erIndex].>>.8).&.0xFF;..........
1b340 20 20 20 20 20 20 20 2f 2f 42 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 .......//Blue.................$t
1b360 68 69 73 2d 3e 63 61 6e 76 61 73 42 75 66 66 65 72 5b 24 63 61 6e 76 61 73 49 6e 64 65 78 20 2b his->canvasBuffer[$canvasIndex.+
1b380 20 32 5d 20 3d 20 24 74 68 69 73 2d 3e 66 72 61 6d 65 42 75 66 66 65 72 5b 24 62 75 66 66 65 72 .2].=.$this->frameBuffer[$buffer
1b3a0 49 6e 64 65 78 5d 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 Index].&.0xFF;.............}....
1b3c0 20 20 20 20 20 20 20 20 20 20 2f 2f 44 72 61 77 20 6f 75 74 20 74 68 65 20 43 61 6e 76 61 73 50 ..........//Draw.out.the.CanvasP
1b3e0 69 78 65 6c 41 72 72 61 79 20 64 61 74 61 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 ixelArray.data:.............$thi
1b400 73 2d 3e 64 72 61 77 43 6f 6e 74 65 78 74 2d 3e 64 72 61 77 28 24 74 68 69 73 2d 3e 63 61 6e 76 s->drawContext->draw($this->canv
1b420 61 73 42 75 66 66 65 72 2c 20 30 2c 20 30 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 asBuffer,.0,.0);..............if
1b440 20 28 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 34 5d 20 3e 20 30 29 20 7b 0a .(Settings::$settings[4].>.0).{.
1b460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 44 65 63 72 65 6d 65 6e 74 20 74 68 65 20 ................//Decrement.the.
1b480 66 72 61 6d 65 73 6b 69 70 20 63 6f 75 6e 74 65 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 frameskip.counter:..............
1b4a0 20 20 20 24 74 68 69 73 2d 3e 66 72 61 6d 65 43 6f 75 6e 74 20 2d 3d 20 53 65 74 74 69 6e 67 73 ...$this->frameCount.-=.Settings
1b4c0 3a 3a 24 73 65 74 74 69 6e 67 73 5b 34 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ::$settings[4];.............}...
1b4e0 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 52 65 73 ......}.else.{.............//Res
1b500 65 74 20 74 68 65 20 66 72 61 6d 65 73 6b 69 70 20 63 6f 75 6e 74 65 72 3a 0a 20 20 20 20 20 20 et.the.frameskip.counter:.......
1b520 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 61 6d 65 43 6f 75 6e 74 20 2b 3d 20 53 65 74 74 69 ......$this->frameCount.+=.Setti
1b540 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 31 32 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 ngs::$settings[12];.........}...
1b560 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 76 61 6c 69 64 ..}......public.function.invalid
1b580 61 74 65 41 6c 6c 28 24 70 61 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 74 6f 70 ateAll($pal).....{.........$stop
1b5a0 20 3d 20 28 24 70 61 6c 20 2b 20 31 29 20 2a 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 .=.($pal.+.1).*.$this->tileCount
1b5c0 49 6e 76 61 6c 69 64 61 74 6f 72 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 72 20 3d 20 24 Invalidator;.........for.($r.=.$
1b5e0 70 61 6c 20 2a 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 49 6e 76 61 6c 69 64 61 74 6f pal.*.$this->tileCountInvalidato
1b600 72 3b 20 24 72 20 3c 20 24 73 74 6f 70 3b 20 2b 2b 24 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 r;.$r.<.$stop;.++$r).{..........
1b620 20 20 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 5b 24 72 5d 20 3d 20 6e 75 6c 6c 3b 0a 20 ...$this->tileData[$r].=.null;..
1b640 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 .......}.....}......public.funct
1b660 69 6f 6e 20 73 65 74 47 42 43 50 61 6c 65 74 74 65 50 72 65 28 24 69 6e 64 65 78 5f 2c 20 24 64 ion.setGBCPalettePre($index_,.$d
1b680 61 74 61 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 67 62 ata).....{.........if.($this->gb
1b6a0 63 52 61 77 50 61 6c 65 74 74 65 5b 24 69 6e 64 65 78 5f 5d 20 3d 3d 20 24 64 61 74 61 29 20 7b cRawPalette[$index_].==.$data).{
1b6c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 .............return;.........}..
1b6e0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 52 61 77 50 61 6c 65 74 74 65 5b 24 69 6e 64 .......$this->gbcRawPalette[$ind
1b700 65 78 5f 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 69 6e 64 65 78 ex_].=.$data;.........if.($index
1b720 5f 20 3e 3d 20 30 78 34 30 20 26 26 20 28 24 69 6e 64 65 78 5f 20 26 20 30 78 36 29 20 3d 3d 20 _.>=.0x40.&&.($index_.&.0x6).==.
1b740 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 73 74 61 79 20 74 72 61 6e 73 70 61 0).{.............//.stay.transpa
1b760 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 rent.............return;........
1b780 20 7d 0a 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 28 24 74 68 69 73 2d 3e 67 62 63 52 .}.........$value.=.($this->gbcR
1b7a0 61 77 50 61 6c 65 74 74 65 5b 24 69 6e 64 65 78 5f 20 7c 20 31 5d 20 3c 3c 20 38 29 20 2b 20 24 awPalette[$index_.|.1].<<.8).+.$
1b7c0 74 68 69 73 2d 3e 67 62 63 52 61 77 50 61 6c 65 74 74 65 5b 24 69 6e 64 65 78 5f 20 26 20 2d 32 this->gbcRawPalette[$index_.&.-2
1b7e0 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 50 61 6c 65 74 74 65 5b 24 69 6e ];.........$this->gbcPalette[$in
1b800 64 65 78 5f 20 3e 3e 20 31 5d 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 2b 20 28 28 24 76 61 6c dex_.>>.1].=.0x80000000.+.(($val
1b820 75 65 20 26 20 30 78 31 46 29 20 3c 3c 20 31 39 29 20 2b 20 28 28 24 76 61 6c 75 65 20 26 20 30 ue.&.0x1F).<<.19).+.(($value.&.0
1b840 78 33 45 30 29 20 3c 3c 20 36 29 20 2b 20 28 28 24 76 61 6c 75 65 20 26 20 30 78 37 43 30 30 29 x3E0).<<.6).+.(($value.&.0x7C00)
1b860 20 3e 3e 20 37 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 76 61 6c 69 64 61 74 .>>.7);.........$this->invalidat
1b880 65 41 6c 6c 28 24 69 6e 64 65 78 5f 20 3e 3e 20 33 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 eAll($index_.>>.3);.....}......p
1b8a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 47 42 43 50 61 6c 65 74 74 65 28 24 69 6e ublic.function.setGBCPalette($in
1b8c0 64 65 78 5f 2c 20 24 64 61 74 61 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 dex_,.$data).....{.........$this
1b8e0 2d 3e 73 65 74 47 42 43 50 61 6c 65 74 74 65 50 72 65 28 24 69 6e 64 65 78 5f 2c 20 24 64 61 74 ->setGBCPalettePre($index_,.$dat
1b900 61 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 24 69 6e 64 65 78 5f 20 26 20 30 78 36 29 20 a);.........if.(($index_.&.0x6).
1b920 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 63 50 61 ==.0).{.............$this->gbcPa
1b940 6c 65 74 74 65 5b 24 69 6e 64 65 78 5f 20 3e 3e 20 31 5d 20 26 3d 20 30 78 30 30 46 46 46 46 46 lette[$index_.>>.1].&=.0x00FFFFF
1b960 46 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 F;.........}.....}......public.f
1b980 75 6e 63 74 69 6f 6e 20 64 65 63 6f 64 65 50 61 6c 65 74 74 65 28 24 73 74 61 72 74 49 6e 64 65 unction.decodePalette($startInde
1b9a0 78 2c 20 24 64 61 74 61 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 x,.$data).....{.........if.(!$th
1b9c0 69 73 2d 3e 63 47 42 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 is->cGBC).{.............$this->g
1b9e0 62 50 61 6c 65 74 74 65 5b 24 73 74 61 72 74 49 6e 64 65 78 5d 20 3d 20 24 74 68 69 73 2d 3e 63 bPalette[$startIndex].=.$this->c
1ba00 6f 6c 6f 72 73 5b 24 64 61 74 61 20 26 20 30 78 30 33 5d 20 26 20 30 78 30 30 46 46 46 46 46 46 olors[$data.&.0x03].&.0x00FFFFFF
1ba20 3b 20 2f 2f 20 63 6f 6c 6f 72 20 30 3a 20 74 72 61 6e 73 70 61 72 65 6e 74 0a 20 20 20 20 20 20 ;.//.color.0:.transparent.......
1ba40 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 50 61 6c 65 74 74 65 5b 24 73 74 61 72 74 49 6e 64 ......$this->gbPalette[$startInd
1ba60 65 78 20 2b 20 31 5d 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 28 24 64 61 74 61 20 3e ex.+.1].=.$this->colors[($data.>
1ba80 3e 20 32 29 20 26 20 30 78 30 33 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d >.2).&.0x03];.............$this-
1baa0 3e 67 62 50 61 6c 65 74 74 65 5b 24 73 74 61 72 74 49 6e 64 65 78 20 2b 20 32 5d 20 3d 20 24 74 >gbPalette[$startIndex.+.2].=.$t
1bac0 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 28 24 64 61 74 61 20 3e 3e 20 34 29 20 26 20 30 78 30 33 5d his->colors[($data.>>.4).&.0x03]
1bae0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 50 61 6c 65 74 74 65 5b 24 ;.............$this->gbPalette[$
1bb00 73 74 61 72 74 49 6e 64 65 78 20 2b 20 33 5d 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b startIndex.+.3].=.$this->colors[
1bb20 24 64 61 74 61 20 3e 3e 20 36 5d 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 44 6f 20 70 $data.>>.6];..............//Do.p
1bb40 61 6c 65 74 74 65 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 69 66 20 77 65 20 64 69 64 20 74 68 65 alette.conversions.if.we.did.the
1bb60 20 47 42 43 20 62 6f 6f 74 75 70 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 .GBC.bootup:.............if.($th
1bb80 69 73 2d 3e 75 73 65 64 42 6f 6f 74 52 4f 4d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 is->usedBootROM).{..............
1bba0 20 20 20 2f 2f 47 42 20 63 6f 6c 6f 72 69 7a 61 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 ...//GB.colorization:...........
1bbc0 20 20 20 20 20 20 24 73 74 61 72 74 4f 66 66 73 65 74 20 3d 20 28 24 73 74 61 72 74 49 6e 64 65 ......$startOffset.=.($startInde
1bbe0 78 20 3e 3d 20 34 29 20 3f 20 30 78 32 30 20 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 x.>=.4).?.0x20.:.0;.............
1bc00 20 20 20 20 24 70 61 6c 32 20 3d 20 24 74 68 69 73 2d 3e 67 62 63 50 61 6c 65 74 74 65 5b 24 73 ....$pal2.=.$this->gbcPalette[$s
1bc20 74 61 72 74 4f 66 66 73 65 74 20 2b 20 28 28 24 64 61 74 61 20 3e 3e 20 32 29 20 26 20 30 78 30 tartOffset.+.(($data.>>.2).&.0x0
1bc40 33 29 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 6c 33 20 3d 20 24 74 68 3)];.................$pal3.=.$th
1bc60 69 73 2d 3e 67 62 63 50 61 6c 65 74 74 65 5b 24 73 74 61 72 74 4f 66 66 73 65 74 20 2b 20 28 28 is->gbcPalette[$startOffset.+.((
1bc80 24 64 61 74 61 20 3e 3e 20 34 29 20 26 20 30 78 30 33 29 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 $data.>>.4).&.0x03)];...........
1bca0 20 20 20 20 20 20 24 70 61 6c 34 20 3d 20 24 74 68 69 73 2d 3e 67 62 63 50 61 6c 65 74 74 65 5b ......$pal4.=.$this->gbcPalette[
1bcc0 24 73 74 61 72 74 4f 66 66 73 65 74 20 2b 20 28 24 64 61 74 61 20 3e 3e 20 36 29 5d 3b 0a 20 20 $startOffset.+.($data.>>.6)];...
1bce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 43 6f 6c 6f 72 69 7a 65 64 ..............$this->gbColorized
1bd00 50 61 6c 65 74 74 65 5b 24 73 74 61 72 74 49 6e 64 65 78 5d 20 3d 20 24 74 68 69 73 2d 3e 67 62 Palette[$startIndex].=.$this->gb
1bd20 63 50 61 6c 65 74 74 65 5b 24 73 74 61 72 74 4f 66 66 73 65 74 20 2b 20 28 24 64 61 74 61 20 26 cPalette[$startOffset.+.($data.&
1bd40 20 30 78 30 33 29 5d 20 26 20 30 78 30 30 46 46 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 .0x03)].&.0x00FFFFFF;...........
1bd60 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 43 6f 6c 6f 72 69 7a 65 64 50 61 6c 65 74 74 65 5b ......$this->gbColorizedPalette[
1bd80 24 73 74 61 72 74 49 6e 64 65 78 20 2b 20 31 5d 20 3d 20 28 24 70 61 6c 32 20 3e 3d 20 30 78 38 $startIndex.+.1].=.($pal2.>=.0x8
1bda0 30 30 30 30 30 30 30 29 20 3f 20 24 70 61 6c 32 20 3a 20 30 78 46 46 46 46 46 46 46 46 3b 0a 20 0000000).?.$pal2.:.0xFFFFFFFF;..
1bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 62 43 6f 6c 6f 72 69 7a 65 ...............$this->gbColorize
1bde0 64 50 61 6c 65 74 74 65 5b 24 73 74 61 72 74 49 6e 64 65 78 20 2b 20 32 5d 20 3d 20 28 24 70 61 dPalette[$startIndex.+.2].=.($pa
1be00 6c 33 20 3e 3d 20 30 78 38 30 30 30 30 30 30 30 29 20 3f 20 24 70 61 6c 33 20 3a 20 30 78 46 46 l3.>=.0x80000000).?.$pal3.:.0xFF
1be20 46 46 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 FFFFFF;.................$this->g
1be40 62 43 6f 6c 6f 72 69 7a 65 64 50 61 6c 65 74 74 65 5b 24 73 74 61 72 74 49 6e 64 65 78 20 2b 20 bColorizedPalette[$startIndex.+.
1be60 33 5d 20 3d 20 28 24 70 61 6c 34 20 3e 3d 20 30 78 38 30 30 30 30 30 30 30 29 20 3f 20 24 70 61 3].=.($pal4.>=.0x80000000).?.$pa
1be80 6c 34 20 3a 20 30 78 46 46 46 46 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a l4.:.0xFFFFFFFF;.............}..
1bea0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 40 50 48 50 20 2d 20 4e 65 65 64 20 74 6f 20 63 6f 70 ............//@PHP.-.Need.to.cop
1bec0 79 20 74 68 65 20 6e 65 77 20 70 61 6c 65 74 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 y.the.new.palette.............$t
1bee0 68 69 73 2d 3e 63 68 65 63 6b 50 61 6c 65 74 74 65 54 79 70 65 28 29 3b 0a 20 20 20 20 20 20 20 his->checkPaletteType();........
1bf00 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f .}.....}......public.function.no
1bf20 74 69 66 79 53 63 61 6e 6c 69 6e 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 tifyScanline().....{.........if.
1bf40 28 24 74 68 69 73 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 20 3d 3d 20 30 29 20 7b 0a 20 ($this->actualScanLine.==.0).{..
1bf60 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 69 6e 64 6f 77 53 6f 75 72 63 65 4c 69 ...........$this->windowSourceLi
1bf80 6e 65 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 64 65 74 ne.=.0;.........}.........//.det
1bfa0 65 72 6d 69 6e 65 20 74 68 65 20 6c 65 66 74 20 65 64 67 65 20 6f 66 20 74 68 65 20 77 69 6e 64 ermine.the.left.edge.of.the.wind
1bfc0 6f 77 20 28 31 36 30 20 69 66 20 77 69 6e 64 6f 77 20 69 73 20 69 6e 61 63 74 69 76 65 29 0a 20 ow.(160.if.window.is.inactive)..
1bfe0 20 20 20 20 20 20 20 24 77 69 6e 64 6f 77 4c 65 66 74 20 3d 20 28 24 74 68 69 73 2d 3e 67 66 78 .......$windowLeft.=.($this->gfx
1c000 57 69 6e 64 6f 77 44 69 73 70 6c 61 79 20 26 26 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 WindowDisplay.&&.$this->memory[0
1c020 78 46 46 34 41 5d 20 3c 3d 20 24 74 68 69 73 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 29 xFF4A].<=.$this->actualScanLine)
1c040 20 3f 20 6d 69 6e 28 31 36 30 2c 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 42 .?.min(160,.$this->memory[0xFF4B
1c060 5d 20 2d 20 37 29 20 3a 20 31 36 30 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 74 65 70 20 31 3a ].-.7).:.160;.........//.step.1:
1c080 20 62 61 63 6b 67 72 6f 75 6e 64 2b 77 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 20 24 73 6b 69 70 .background+window.........$skip
1c0a0 70 65 64 41 6e 79 74 68 69 6e 67 20 3d 20 24 74 68 69 73 2d 3e 64 72 61 77 42 61 63 6b 67 72 6f pedAnything.=.$this->drawBackgro
1c0c0 75 6e 64 46 6f 72 4c 69 6e 65 28 24 74 68 69 73 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 undForLine($this->actualScanLine
1c0e0 2c 20 24 77 69 6e 64 6f 77 4c 65 66 74 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 41 74 ,.$windowLeft,.0);.........//.At
1c100 20 74 68 69 73 20 70 6f 69 6e 74 2c 20 74 68 65 20 68 69 67 68 20 28 61 6c 70 68 61 29 20 62 79 .this.point,.the.high.(alpha).by
1c120 74 65 20 69 6e 20 74 68 65 20 66 72 61 6d 65 42 75 66 66 65 72 20 69 73 20 30 78 66 66 20 66 6f te.in.the.frameBuffer.is.0xff.fo
1c140 72 20 63 6f 6c 6f 72 73 20 31 2c 32 2c 33 20 61 6e 64 0a 20 20 20 20 20 20 20 20 2f 2f 20 30 78 r.colors.1,2,3.and.........//.0x
1c160 30 30 20 66 6f 72 20 63 6f 6c 6f 72 20 30 2e 20 46 6f 72 65 67 72 6f 75 6e 64 20 73 70 72 69 74 00.for.color.0..Foreground.sprit
1c180 65 73 20 64 72 61 77 20 6f 6e 20 61 6c 6c 20 63 6f 6c 6f 72 73 2c 20 62 61 63 6b 67 72 6f 75 6e es.draw.on.all.colors,.backgroun
1c1a0 64 20 73 70 72 69 74 65 73 20 64 72 61 77 20 6f 6e 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 6f 70 d.sprites.draw.on.........//.top
1c1c0 20 6f 66 20 63 6f 6c 6f 72 20 30 20 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 74 65 .of.color.0.only..........//.ste
1c1e0 70 20 32 3a 20 73 70 72 69 74 65 73 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 72 61 77 p.2:.sprites.........$this->draw
1c200 53 70 72 69 74 65 73 46 6f 72 4c 69 6e 65 28 24 74 68 69 73 2d 3e 61 63 74 75 61 6c 53 63 61 6e SpritesForLine($this->actualScan
1c220 4c 69 6e 65 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 74 65 70 20 33 3a 20 70 72 69 6f 20 74 Line);.........//.step.3:.prio.t
1c240 69 6c 65 73 2b 77 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 73 6b 69 70 70 65 64 iles+window.........if.($skipped
1c260 41 6e 79 74 68 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 Anything).{.............$this->d
1c280 72 61 77 42 61 63 6b 67 72 6f 75 6e 64 46 6f 72 4c 69 6e 65 28 24 74 68 69 73 2d 3e 61 63 74 75 rawBackgroundForLine($this->actu
1c2a0 61 6c 53 63 61 6e 4c 69 6e 65 2c 20 24 77 69 6e 64 6f 77 4c 65 66 74 2c 20 30 78 38 30 29 3b 0a alScanLine,.$windowLeft,.0x80);.
1c2c0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 77 69 6e 64 6f 77 4c 65 66 ........}.........if.($windowLef
1c2e0 74 20 3c 20 31 36 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 74 68 69 73 2d 3e t.<.160).{.............++$this->
1c300 77 69 6e 64 6f 77 53 6f 75 72 63 65 4c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 windowSourceLine;.........}.....
1c320 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 72 61 77 42 61 63 6b 67 }......public.function.drawBackg
1c340 72 6f 75 6e 64 46 6f 72 4c 69 6e 65 28 24 6c 69 6e 65 2c 20 24 77 69 6e 64 6f 77 4c 65 66 74 2c roundForLine($line,.$windowLeft,
1c360 20 24 70 72 69 6f 72 69 74 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 6b 69 70 70 .$priority).....{.........$skipp
1c380 65 64 54 69 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 24 74 69 6c 65 4e 75 6d edTile.=.false;.........$tileNum
1c3a0 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 69 6c 65 58 43 6f 6f 72 64 20 3d 20 30 3b 0a 20 .=.0;.........$tileXCoord.=.0;..
1c3c0 20 20 20 20 20 20 20 24 74 69 6c 65 41 74 74 72 69 62 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 .......$tileAttrib.=.0;.........
1c3e0 24 73 6f 75 72 63 65 59 20 3d 20 24 6c 69 6e 65 20 2b 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 $sourceY.=.$line.+.$this->memory
1c400 5b 30 78 46 46 34 32 5d 3b 0a 20 20 20 20 20 20 20 20 24 73 6f 75 72 63 65 49 6d 61 67 65 4c 69 [0xFF42];.........$sourceImageLi
1c420 6e 65 20 3d 20 24 73 6f 75 72 63 65 59 20 26 20 30 78 37 3b 0a 20 20 20 20 20 20 20 20 24 74 69 ne.=.$sourceY.&.0x7;.........$ti
1c440 6c 65 58 20 3d 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 33 5d 20 3e 3e 20 33 leX.=.$this->memory[0xFF43].>>.3
1c460 3b 0a 20 20 20 20 20 20 20 20 24 6d 65 6d 53 74 61 72 74 20 3d 20 28 28 24 74 68 69 73 2d 3e 67 ;.........$memStart.=.(($this->g
1c480 66 78 42 61 63 6b 67 72 6f 75 6e 64 59 29 20 3f 20 30 78 31 43 30 30 20 3a 20 30 78 31 38 30 30 fxBackgroundY).?.0x1C00.:.0x1800
1c4a0 29 20 2b 20 28 28 24 73 6f 75 72 63 65 59 20 26 20 30 78 46 38 29 20 3c 3c 20 32 29 3b 0a 20 20 ).+.(($sourceY.&.0xF8).<<.2);...
1c4c0 20 20 20 20 20 20 24 73 63 72 65 65 6e 58 20 3d 20 2d 28 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 ......$screenX.=.-($this->memory
1c4e0 5b 30 78 46 46 34 33 5d 20 26 20 37 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 3b 20 24 [0xFF43].&.7);..........for.(;.$
1c500 73 63 72 65 65 6e 58 20 3c 20 24 77 69 6e 64 6f 77 4c 65 66 74 3b 20 24 74 69 6c 65 58 2b 2b 2c screenX.<.$windowLeft;.$tileX++,
1c520 20 24 73 63 72 65 65 6e 58 20 2b 3d 20 38 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 .$screenX.+=.8).{.............$t
1c540 69 6c 65 58 43 6f 6f 72 64 20 3d 20 28 24 74 69 6c 65 58 20 26 20 30 78 31 46 29 3b 0a 20 20 20 ileXCoord.=.($tileX.&.0x1F);....
1c560 20 20 20 20 20 20 20 20 20 24 62 61 73 65 61 64 64 72 20 3d 20 24 74 68 69 73 2d 3e 6d 65 6d 6f .........$baseaddr.=.$this->memo
1c580 72 79 5b 30 78 38 30 30 30 20 2b 20 24 6d 65 6d 53 74 61 72 74 20 2b 20 24 74 69 6c 65 58 43 6f ry[0x8000.+.$memStart.+.$tileXCo
1c5a0 6f 72 64 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 6c 65 4e 75 6d 20 3d 20 28 24 74 ord];.............$tileNum.=.($t
1c5c0 68 69 73 2d 3e 67 66 78 42 61 63 6b 67 72 6f 75 6e 64 58 29 20 3f 20 24 62 61 73 65 61 64 64 72 his->gfxBackgroundX).?.$baseaddr
1c5e0 20 3a 20 28 28 24 62 61 73 65 61 64 64 72 20 3e 20 30 78 37 46 29 20 3f 20 28 28 24 62 61 73 65 .:.(($baseaddr.>.0x7F).?.(($base
1c600 61 64 64 72 20 26 20 30 78 37 46 29 20 2b 20 30 78 38 30 29 20 3a 20 28 24 62 61 73 65 61 64 64 addr.&.0x7F).+.0x80).:.($baseadd
1c620 72 20 2b 20 30 78 31 30 30 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 r.+.0x100));.............if.($th
1c640 69 73 2d 3e 63 47 42 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 61 70 is->cGBC).{.................$map
1c660 41 74 74 72 69 62 20 3d 20 24 74 68 69 73 2d 3e 56 52 41 4d 5b 24 6d 65 6d 53 74 61 72 74 20 2b Attrib.=.$this->VRAM[$memStart.+
1c680 20 24 74 69 6c 65 58 43 6f 6f 72 64 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 .$tileXCoord];.................i
1c6a0 66 20 28 28 24 6d 61 70 41 74 74 72 69 62 20 26 20 30 78 38 30 29 20 21 3d 20 24 70 72 69 6f 72 f.(($mapAttrib.&.0x80).!=.$prior
1c6c0 69 74 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 6b 69 70 ity).{.....................$skip
1c6e0 70 65 64 54 69 6c 65 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pedTile.=.true;.................
1c700 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ....continue;.................}.
1c720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 6c 65 41 74 74 72 69 62 20 3d 20 28 28 ................$tileAttrib.=.((
1c740 24 6d 61 70 41 74 74 72 69 62 20 26 20 30 78 30 37 29 20 3c 3c 20 32 29 20 2b 20 28 28 24 6d 61 $mapAttrib.&.0x07).<<.2).+.(($ma
1c760 70 41 74 74 72 69 62 20 3e 3e 20 35 29 20 26 20 30 78 30 33 29 3b 0a 20 20 20 20 20 20 20 20 20 pAttrib.>>.5).&.0x03);..........
1c780 20 20 20 20 20 20 20 24 74 69 6c 65 4e 75 6d 20 2b 3d 20 33 38 34 20 2a 20 28 28 24 6d 61 70 41 .......$tileNum.+=.384.*.(($mapA
1c7a0 74 74 72 69 62 20 3e 3e 20 33 29 20 26 20 30 78 30 31 29 3b 20 2f 2f 20 74 69 6c 65 20 76 72 61 ttrib.>>.3).&.0x01);.//.tile.vra
1c7c0 6d 20 62 61 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 m.bank.............}............
1c7e0 20 24 74 68 69 73 2d 3e 64 72 61 77 50 61 72 74 43 6f 70 79 28 24 74 69 6c 65 4e 75 6d 2c 20 24 .$this->drawPartCopy($tileNum,.$
1c800 73 63 72 65 65 6e 58 2c 20 24 6c 69 6e 65 2c 20 24 73 6f 75 72 63 65 49 6d 61 67 65 4c 69 6e 65 screenX,.$line,.$sourceImageLine
1c820 2c 20 24 74 69 6c 65 41 74 74 72 69 62 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ,.$tileAttrib);.........}.......
1c840 20 20 20 69 66 20 28 24 77 69 6e 64 6f 77 4c 65 66 74 20 3c 20 31 36 30 29 20 7b 0a 20 20 20 20 ...if.($windowLeft.<.160).{.....
1c860 20 20 20 20 20 20 20 20 2f 2f 20 77 69 6e 64 6f 77 21 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ........//.window!.............$
1c880 77 69 6e 64 6f 77 53 74 61 72 74 41 64 64 72 65 73 73 20 3d 20 28 24 74 68 69 73 2d 3e 67 66 78 windowStartAddress.=.($this->gfx
1c8a0 57 69 6e 64 6f 77 59 29 20 3f 20 30 78 31 43 30 30 20 3a 20 30 78 31 38 30 30 3b 0a 20 20 20 20 WindowY).?.0x1C00.:.0x1800;.....
1c8c0 20 20 20 20 20 20 20 20 24 77 69 6e 64 6f 77 53 6f 75 72 63 65 54 69 6c 65 59 20 3d 20 24 74 68 ........$windowSourceTileY.=.$th
1c8e0 69 73 2d 3e 77 69 6e 64 6f 77 53 6f 75 72 63 65 4c 69 6e 65 20 3e 3e 20 33 3b 0a 20 20 20 20 20 is->windowSourceLine.>>.3;......
1c900 20 20 20 20 20 20 20 24 74 69 6c 65 41 64 64 72 65 73 73 20 3d 20 24 77 69 6e 64 6f 77 53 74 61 .......$tileAddress.=.$windowSta
1c920 72 74 41 64 64 72 65 73 73 20 2b 20 28 24 77 69 6e 64 6f 77 53 6f 75 72 63 65 54 69 6c 65 59 20 rtAddress.+.($windowSourceTileY.
1c940 2a 20 30 78 32 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 77 69 6e 64 6f 77 53 6f 75 72 *.0x20);.............$windowSour
1c960 63 65 54 69 6c 65 4c 69 6e 65 20 3d 20 24 74 68 69 73 2d 3e 77 69 6e 64 6f 77 53 6f 75 72 63 65 ceTileLine.=.$this->windowSource
1c980 4c 69 6e 65 20 26 20 30 78 37 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 73 63 Line.&.0x7;.............for.($sc
1c9a0 72 65 65 6e 58 20 3d 20 24 77 69 6e 64 6f 77 4c 65 66 74 3b 20 24 73 63 72 65 65 6e 58 20 3c 20 reenX.=.$windowLeft;.$screenX.<.
1c9c0 31 36 30 3b 20 24 74 69 6c 65 41 64 64 72 65 73 73 2b 2b 2c 20 24 73 63 72 65 65 6e 58 20 2b 3d 160;.$tileAddress++,.$screenX.+=
1c9e0 20 38 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 62 61 73 65 61 64 64 72 20 .8).{.................$baseaddr.
1ca00 3d 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 38 30 30 30 20 2b 20 24 74 69 6c 65 41 64 =.$this->memory[0x8000.+.$tileAd
1ca20 64 72 65 73 73 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 6c 65 4e 75 6d dress];.................$tileNum
1ca40 20 3d 20 28 24 74 68 69 73 2d 3e 67 66 78 42 61 63 6b 67 72 6f 75 6e 64 58 29 20 3f 20 24 62 61 .=.($this->gfxBackgroundX).?.$ba
1ca60 73 65 61 64 64 72 20 3a 20 28 28 24 62 61 73 65 61 64 64 72 20 3e 20 30 78 37 46 29 20 3f 20 28 seaddr.:.(($baseaddr.>.0x7F).?.(
1ca80 28 24 62 61 73 65 61 64 64 72 20 26 20 30 78 37 46 29 20 2b 20 30 78 38 30 29 20 3a 20 28 24 62 ($baseaddr.&.0x7F).+.0x80).:.($b
1caa0 61 73 65 61 64 64 72 20 2b 20 30 78 31 30 30 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 aseaddr.+.0x100));..............
1cac0 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 47 42 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ...if.($this->cGBC).{...........
1cae0 20 20 20 20 20 20 20 20 20 20 24 6d 61 70 41 74 74 72 69 62 20 3d 20 24 74 68 69 73 2d 3e 56 52 ..........$mapAttrib.=.$this->VR
1cb00 41 4d 5b 24 74 69 6c 65 41 64 64 72 65 73 73 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 AM[$tileAddress];...............
1cb20 20 20 20 20 20 20 69 66 20 28 28 24 6d 61 70 41 74 74 72 69 62 20 26 20 30 78 38 30 29 20 21 3d ......if.(($mapAttrib.&.0x80).!=
1cb40 20 24 70 72 69 6f 72 69 74 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$priority).{...................
1cb60 20 20 20 20 20 20 24 73 6b 69 70 70 65 64 54 69 6c 65 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 ......$skippedTile.=.true;......
1cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 ...................continue;....
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
1cbc0 20 20 20 20 20 20 20 24 74 69 6c 65 41 74 74 72 69 62 20 3d 20 28 28 24 6d 61 70 41 74 74 72 69 .......$tileAttrib.=.(($mapAttri
1cbe0 62 20 26 20 30 78 30 37 29 20 3c 3c 20 32 29 20 2b 20 28 28 24 6d 61 70 41 74 74 72 69 62 20 3e b.&.0x07).<<.2).+.(($mapAttrib.>
1cc00 3e 20 35 29 20 26 20 30 78 30 33 29 3b 20 2f 2f 20 6d 69 72 72 6f 72 69 6e 67 0a 20 20 20 20 20 >.5).&.0x03);.//.mirroring......
1cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 6c 65 4e 75 6d 20 2b 3d 20 33 38 34 20 2a ...............$tileNum.+=.384.*
1cc40 20 28 28 24 6d 61 70 41 74 74 72 69 62 20 3e 3e 20 33 29 20 26 20 30 78 30 31 29 3b 20 2f 2f 20 .(($mapAttrib.>>.3).&.0x01);.//.
1cc60 74 69 6c 65 20 76 72 61 6d 20 62 61 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d tile.vram.bank.................}
1cc80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 72 61 77 50 61 72 74 .................$this->drawPart
1cca0 43 6f 70 79 28 24 74 69 6c 65 4e 75 6d 2c 20 24 73 63 72 65 65 6e 58 2c 20 24 6c 69 6e 65 2c 20 Copy($tileNum,.$screenX,.$line,.
1ccc0 24 77 69 6e 64 6f 77 53 6f 75 72 63 65 54 69 6c 65 4c 69 6e 65 2c 20 24 74 69 6c 65 41 74 74 72 $windowSourceTileLine,.$tileAttr
1cce0 69 62 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ib);.............}.........}....
1cd00 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 6b 69 70 70 65 64 54 69 6c 65 3b 0a 20 20 20 20 7d ......return.$skippedTile;.....}
1cd20 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 72 61 77 50 61 72 74 43 6f ......public.function.drawPartCo
1cd40 70 79 28 24 74 69 6c 65 49 6e 64 65 78 2c 20 24 78 2c 20 24 79 2c 20 24 73 6f 75 72 63 65 4c 69 py($tileIndex,.$x,.$y,.$sourceLi
1cd60 6e 65 2c 20 24 61 74 74 72 69 62 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 6d 61 ne,.$attribs).....{.........$ima
1cd80 67 65 20 3d 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 5b 24 74 69 6c 65 49 6e 64 65 78 20 ge.=.$this->tileData[$tileIndex.
1cda0 2b 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 24 61 74 74 72 69 62 73 5d 20 3f +.$this->tileCount.*.$attribs].?
1cdc0 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 5b 24 74 69 6c 65 49 6e 64 65 78 20 2b 20 24 74 .$this->tileData[$tileIndex.+.$t
1cde0 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 24 61 74 74 72 69 62 73 5d 20 3a 20 24 74 68 his->tileCount.*.$attribs].:.$th
1ce00 69 73 2d 3e 75 70 64 61 74 65 49 6d 61 67 65 28 24 74 69 6c 65 49 6e 64 65 78 2c 20 24 61 74 74 is->updateImage($tileIndex,.$att
1ce20 72 69 62 73 29 3b 0a 20 20 20 20 20 20 20 20 24 64 73 74 20 3d 20 24 78 20 2b 20 24 79 20 2a 20 ribs);.........$dst.=.$x.+.$y.*.
1ce40 31 36 30 3b 0a 20 20 20 20 20 20 20 20 24 73 72 63 20 3d 20 24 73 6f 75 72 63 65 4c 69 6e 65 20 160;.........$src.=.$sourceLine.
1ce60 2a 20 38 3b 0a 20 20 20 20 20 20 20 20 24 64 73 74 45 6e 64 20 3d 20 28 24 78 20 3e 20 31 35 32 *.8;.........$dstEnd.=.($x.>.152
1ce80 29 20 3f 20 28 28 24 79 20 2b 20 31 29 20 2a 20 31 36 30 29 20 3a 20 28 24 64 73 74 20 2b 20 38 ).?.(($y.+.1).*.160).:.($dst.+.8
1cea0 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 61 64 6a 75 73 74 20 6c 65 66 74 0a 20 20 20 20 20 20 );.........//.adjust.left.......
1cec0 20 20 69 66 20 28 24 78 20 3c 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 73 74 ..if.($x.<.0).{.............$dst
1cee0 20 2d 3d 20 24 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 72 63 20 2d 3d 20 24 78 3b 0a .-=.$x;.............$src.-=.$x;.
1cf00 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 64 73 74 20 3c ........}..........while.($dst.<
1cf20 20 24 64 73 74 45 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .$dstEnd).{.............$this->f
1cf40 72 61 6d 65 42 75 66 66 65 72 5b 24 64 73 74 2b 2b 5d 20 3d 20 24 69 6d 61 67 65 5b 24 73 72 63 rameBuffer[$dst++].=.$image[$src
1cf60 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 ++];.........}.....}......public
1cf80 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 50 61 6c 65 74 74 65 54 79 70 65 28 29 0a 20 20 20 .function.checkPaletteType()....
1cfa0 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 52 65 66 65 72 65 6e 63 65 20 74 68 65 20 63 6f 72 72 65 .{.........//Reference.the.corre
1cfc0 63 74 20 70 61 6c 65 74 74 65 20 61 68 65 61 64 20 6f 66 20 74 69 6d 65 2e 2e 2e 0a 20 20 20 20 ct.palette.ahead.of.time........
1cfe0 20 20 20 20 24 74 68 69 73 2d 3e 70 61 6c 65 74 74 65 20 3d 20 28 24 74 68 69 73 2d 3e 63 47 42 ....$this->palette.=.($this->cGB
1d000 43 29 20 3f 20 24 74 68 69 73 2d 3e 67 62 63 50 61 6c 65 74 74 65 20 3a 20 28 28 24 74 68 69 73 C).?.$this->gbcPalette.:.(($this
1d020 2d 3e 75 73 65 64 42 6f 6f 74 52 4f 4d 20 26 26 20 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 ->usedBootROM.&&.Settings::$sett
1d040 69 6e 67 73 5b 31 37 5d 29 20 3f 20 24 74 68 69 73 2d 3e 67 62 43 6f 6c 6f 72 69 7a 65 64 50 61 ings[17]).?.$this->gbColorizedPa
1d060 6c 65 74 74 65 20 3a 20 24 74 68 69 73 2d 3e 67 62 50 61 6c 65 74 74 65 29 3b 0a 20 20 20 20 7d lette.:.$this->gbPalette);.....}
1d080 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 49 6d 61 67 ......public.function.updateImag
1d0a0 65 28 24 74 69 6c 65 49 6e 64 65 78 2c 20 24 61 74 74 72 69 62 73 29 0a 20 20 20 20 7b 0a 20 20 e($tileIndex,.$attribs).....{...
1d0c0 20 20 20 20 20 20 24 69 6e 64 65 78 5f 20 3d 20 24 74 69 6c 65 49 6e 64 65 78 20 2b 20 24 74 68 ......$index_.=.$tileIndex.+.$th
1d0e0 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 24 61 74 74 72 69 62 73 3b 0a 20 20 20 20 20 20 is->tileCount.*.$attribs;.......
1d100 20 20 24 6f 74 68 65 72 42 61 6e 6b 20 3d 20 28 24 74 69 6c 65 49 6e 64 65 78 20 3e 3d 20 33 38 ..$otherBank.=.($tileIndex.>=.38
1d120 34 29 3b 0a 20 20 20 20 20 20 20 20 24 6f 66 66 73 65 74 20 3d 20 24 6f 74 68 65 72 42 61 6e 6b 4);.........$offset.=.$otherBank
1d140 20 3f 20 28 28 24 74 69 6c 65 49 6e 64 65 78 20 2d 20 33 38 34 29 20 3c 3c 20 34 29 20 3a 20 28 .?.(($tileIndex.-.384).<<.4).:.(
1d160 24 74 69 6c 65 49 6e 64 65 78 20 3c 3c 20 34 29 3b 0a 20 20 20 20 20 20 20 20 24 70 61 6c 65 74 $tileIndex.<<.4);.........$palet
1d180 74 65 53 74 61 72 74 20 3d 20 24 61 74 74 72 69 62 73 20 26 20 30 78 46 43 3b 0a 20 20 20 20 20 teStart.=.$attribs.&.0xFC;......
1d1a0 20 20 20 24 74 72 61 6e 73 70 61 72 65 6e 74 20 3d 20 24 61 74 74 72 69 62 73 20 3e 3d 20 24 74 ...$transparent.=.$attribs.>=.$t
1d1c0 68 69 73 2d 3e 74 72 61 6e 73 70 61 72 65 6e 74 43 75 74 6f 66 66 3b 0a 20 20 20 20 20 20 20 20 his->transparentCutoff;.........
1d1e0 24 70 69 78 69 78 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 70 69 78 69 78 64 78 20 3d 20 31 $pixix.=.0;.........$pixixdx.=.1
1d200 3b 0a 20 20 20 20 20 20 20 20 24 70 69 78 69 78 64 79 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 ;.........$pixixdy.=.0;.........
1d220 24 74 65 6d 70 50 69 78 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 64 41 72 72 61 79 28 $tempPix.=.$this->getTypedArray(
1d240 36 34 2c 20 30 2c 20 27 69 6e 74 33 32 27 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 24 61 64,.0,.'int32');.........if.(($a
1d260 74 74 72 69 62 73 20 26 20 32 29 20 21 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ttribs.&.2).!=.0).{.............
1d280 24 70 69 78 69 78 64 79 20 3d 20 2d 31 36 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 69 78 $pixixdy.=.-16;.............$pix
1d2a0 69 78 20 3d 20 35 36 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 ix.=.56;.........}.........if.((
1d2c0 24 61 74 74 72 69 62 73 20 26 20 31 29 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 $attribs.&.1).==.0).{...........
1d2e0 20 20 24 70 69 78 69 78 64 78 20 3d 20 2d 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 69 ..$pixixdx.=.-1;.............$pi
1d300 78 69 78 20 2b 3d 20 37 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 69 78 69 78 64 79 20 2b xix.+=.7;.............$pixixdy.+
1d320 3d 20 31 36 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 79 20 =.16;.........}.........for.($y.
1d340 3d 20 38 3b 20 2d 2d 24 79 20 3e 3d 20 30 3b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 =.8;.--$y.>=.0;).{.............$
1d360 6e 75 6d 20 3d 20 24 74 68 69 73 2d 3e 77 65 61 76 65 4c 6f 6f 6b 75 70 5b 24 74 68 69 73 2d 3e num.=.$this->weaveLookup[$this->
1d380 56 52 41 4d 52 65 61 64 47 46 58 28 24 6f 66 66 73 65 74 2b 2b 2c 20 24 6f 74 68 65 72 42 61 6e VRAMReadGFX($offset++,.$otherBan
1d3a0 6b 29 5d 20 2b 20 28 24 74 68 69 73 2d 3e 77 65 61 76 65 4c 6f 6f 6b 75 70 5b 24 74 68 69 73 2d k)].+.($this->weaveLookup[$this-
1d3c0 3e 56 52 41 4d 52 65 61 64 47 46 58 28 24 6f 66 66 73 65 74 2b 2b 2c 20 24 6f 74 68 65 72 42 61 >VRAMReadGFX($offset++,.$otherBa
1d3e0 6e 6b 29 5d 20 3c 3c 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 75 6d nk)].<<.1);.............if.($num
1d400 20 21 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 72 61 6e 73 70 .!=.0).{.................$transp
1d420 61 72 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 arent.=.false;.............}....
1d440 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 78 20 3d 20 38 3b 20 2d 2d 24 78 20 3e 3d 20 30 3b .........for.($x.=.8;.--$x.>=.0;
1d460 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 50 69 78 5b 24 70 69 ).{.................$tempPix[$pi
1d480 78 69 78 5d 20 3d 20 24 74 68 69 73 2d 3e 70 61 6c 65 74 74 65 5b 24 70 61 6c 65 74 74 65 53 74 xix].=.$this->palette[$paletteSt
1d4a0 61 72 74 20 2b 20 28 24 6e 75 6d 20 26 20 33 29 5d 20 26 20 2d 31 3b 0a 20 20 20 20 20 20 20 20 art.+.($num.&.3)].&.-1;.........
1d4c0 20 20 20 20 20 20 20 20 24 70 69 78 69 78 20 2b 3d 20 24 70 69 78 69 78 64 78 3b 0a 20 20 20 20 ........$pixix.+=.$pixixdx;.....
1d4e0 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 75 6d 20 3e 3e 3d 20 32 3b 0a 20 20 20 20 20 20 20 20 ............$num.>>=.2;.........
1d500 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 69 78 69 78 20 2b 3d 20 24 70 69 78 ....}.............$pixix.+=.$pix
1d520 69 78 64 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 ixdy;.........}.........$this->t
1d540 69 6c 65 44 61 74 61 5b 24 69 6e 64 65 78 5f 5d 20 3d 20 28 24 74 72 61 6e 73 70 61 72 65 6e 74 ileData[$index_].=.($transparent
1d560 29 20 3f 20 74 72 75 65 20 3a 20 24 74 65 6d 70 50 69 78 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 ).?.true.:.$tempPix;..........$t
1d580 68 69 73 2d 3e 74 69 6c 65 52 65 61 64 53 74 61 74 65 5b 24 74 69 6c 65 49 6e 64 65 78 5d 20 3d his->tileReadState[$tileIndex].=
1d5a0 20 31 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 .1;..........return.$this->tileD
1d5c0 61 74 61 5b 24 69 6e 64 65 78 5f 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 ata[$index_];.....}......public.
1d5e0 66 75 6e 63 74 69 6f 6e 20 64 72 61 77 53 70 72 69 74 65 73 46 6f 72 4c 69 6e 65 28 24 6c 69 6e function.drawSpritesForLine($lin
1d600 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 67 66 78 e).....{.........if.(!$this->gfx
1d620 53 70 72 69 74 65 53 68 6f 77 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e SpriteShow).{.............return
1d640 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 6d 69 6e 53 70 72 69 74 65 59 20 ;.........}.........$minSpriteY.
1d660 3d 20 24 6c 69 6e 65 20 2d 20 28 28 24 74 68 69 73 2d 3e 67 66 78 53 70 72 69 74 65 44 6f 75 62 =.$line.-.(($this->gfxSpriteDoub
1d680 6c 65 29 20 3f 20 31 35 20 3a 20 37 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 65 69 74 68 65 72 le).?.15.:.7);.........//.either
1d6a0 20 6f 6e 6c 79 20 64 6f 20 70 72 69 6f 72 69 74 79 46 6c 61 67 20 3d 3d 20 30 20 28 61 6c 6c 20 .only.do.priorityFlag.==.0.(all.
1d6c0 66 6f 72 65 67 72 6f 75 6e 64 29 2c 0a 20 20 20 20 20 20 20 20 2f 2f 20 6f 72 20 66 69 72 73 74 foreground),.........//.or.first
1d6e0 20 30 78 38 30 20 28 62 61 63 6b 67 72 6f 75 6e 64 29 20 61 6e 64 20 74 68 65 6e 20 30 20 28 66 .0x80.(background).and.then.0.(f
1d700 6f 72 65 67 72 6f 75 6e 64 29 0a 20 20 20 20 20 20 20 20 24 70 72 69 6f 72 69 74 79 46 6c 61 67 oreground).........$priorityFlag
1d720 20 3d 20 24 74 68 69 73 2d 3e 73 70 72 69 74 65 50 72 69 6f 72 69 74 79 45 6e 61 62 6c 65 64 20 .=.$this->spritePriorityEnabled.
1d740 3f 20 30 78 38 30 20 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 3b 20 24 70 72 69 6f ?.0x80.:.0;.........for.(;.$prio
1d760 72 69 74 79 46 6c 61 67 20 3e 3d 20 30 3b 20 24 70 72 69 6f 72 69 74 79 46 6c 61 67 20 2d 3d 20 rityFlag.>=.0;.$priorityFlag.-=.
1d780 30 78 38 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 61 6d 49 78 20 3d 20 31 35 39 0x80).{.............$oamIx.=.159
1d7a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 6f 61 6d 49 78 20 3e 3d 20 30 ;.............while.($oamIx.>=.0
1d7c0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 74 74 72 69 62 75 74 65 73 20 ).{.................$attributes.
1d7e0 3d 20 30 78 46 46 20 26 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 45 30 30 20 2b 20 =.0xFF.&.$this->memory[0xFE00.+.
1d800 24 6f 61 6d 49 78 2d 2d 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 $oamIx--];.................if.((
1d820 24 61 74 74 72 69 62 75 74 65 73 20 26 20 30 78 38 30 29 20 3d 3d 20 24 70 72 69 6f 72 69 74 79 $attributes.&.0x80).==.$priority
1d840 46 6c 61 67 20 7c 7c 20 21 24 74 68 69 73 2d 3e 73 70 72 69 74 65 50 72 69 6f 72 69 74 79 45 6e Flag.||.!$this->spritePriorityEn
1d860 61 62 6c 65 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 abled).{.....................$ti
1d880 6c 65 4e 75 6d 20 3d 20 28 30 78 46 46 20 26 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 leNum.=.(0xFF.&.$this->memory[0x
1d8a0 46 45 30 30 20 2b 20 24 6f 61 6d 49 78 2d 2d 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 FE00.+.$oamIx--]);..............
1d8c0 20 20 20 20 20 20 20 24 73 70 72 69 74 65 58 20 3d 20 28 30 78 46 46 20 26 20 24 74 68 69 73 2d .......$spriteX.=.(0xFF.&.$this-
1d8e0 3e 6d 65 6d 6f 72 79 5b 30 78 46 45 30 30 20 2b 20 24 6f 61 6d 49 78 2d 2d 5d 29 20 2d 20 38 3b >memory[0xFE00.+.$oamIx--]).-.8;
1d900 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 70 72 69 74 65 59 20 3d 20 .....................$spriteY.=.
1d920 28 30 78 46 46 20 26 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 45 30 30 20 2b 20 24 (0xFF.&.$this->memory[0xFE00.+.$
1d940 6f 61 6d 49 78 2d 2d 5d 29 20 2d 20 31 36 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oamIx--]).-.16;.................
1d960 20 20 20 20 24 6f 66 66 73 65 74 20 3d 20 24 6c 69 6e 65 20 2d 20 24 73 70 72 69 74 65 59 3b 0a ....$offset.=.$line.-.$spriteY;.
1d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 73 70 72 69 74 65 58 ....................if.($spriteX
1d9a0 20 3e 3d 20 31 36 30 20 7c 7c 20 24 73 70 72 69 74 65 59 20 3c 20 24 6d 69 6e 53 70 72 69 74 65 .>=.160.||.$spriteY.<.$minSprite
1d9c0 59 20 7c 7c 20 24 6f 66 66 73 65 74 20 3c 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 Y.||.$offset.<.0).{.............
1d9e0 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 ............continue;...........
1da00 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........}.....................
1da20 69 66 20 28 24 74 68 69 73 2d 3e 67 66 78 53 70 72 69 74 65 44 6f 75 62 6c 65 29 20 7b 0a 20 20 if.($this->gfxSpriteDouble).{...
1da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 6c 65 4e 75 6d 20 3d ......................$tileNum.=
1da60 20 24 74 69 6c 65 4e 75 6d 20 26 20 30 78 46 45 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$tileNum.&.0xFE;...............
1da80 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 70 72 ......}.....................$spr
1daa0 69 74 65 41 74 74 72 69 62 20 3d 20 28 24 61 74 74 72 69 62 75 74 65 73 20 3e 3e 20 35 29 20 26 iteAttrib.=.($attributes.>>.5).&
1dac0 20 30 78 30 33 3b 20 2f 2f 20 66 6c 69 70 78 3a 20 66 72 6f 6d 20 62 69 74 20 30 78 32 30 20 74 .0x03;.//.flipx:.from.bit.0x20.t
1dae0 6f 20 30 78 30 31 2c 20 66 6c 69 70 79 3a 20 66 72 6f 6d 20 62 69 74 20 30 78 34 30 20 74 6f 20 o.0x01,.flipy:.from.bit.0x40.to.
1db00 30 78 30 32 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 0x02.....................if.($th
1db20 69 73 2d 3e 63 47 42 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 is->cGBC).{.....................
1db40 20 20 20 20 24 73 70 72 69 74 65 41 74 74 72 69 62 20 2b 3d 20 30 78 32 30 20 2b 20 28 28 24 61 ....$spriteAttrib.+=.0x20.+.(($a
1db60 74 74 72 69 62 75 74 65 73 20 26 20 30 78 30 37 29 20 3c 3c 20 32 29 3b 20 2f 2f 20 70 61 6c 65 ttributes.&.0x07).<<.2);.//.pale
1db80 74 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 6c tte.........................$til
1dba0 65 4e 75 6d 20 2b 3d 20 28 33 38 34 20 3e 3e 20 33 29 20 2a 20 28 24 61 74 74 72 69 62 75 74 65 eNum.+=.(384.>>.3).*.($attribute
1dbc0 73 20 26 20 30 78 30 38 29 3b 20 2f 2f 20 74 69 6c 65 20 76 72 61 6d 20 62 61 6e 6b 0a 20 20 20 s.&.0x08);.//.tile.vram.bank....
1dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 .................}.else.{.......
1dc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 74 74 72 69 62 75 74 65 73 20 ..................//.attributes.
1dc20 30 78 31 30 3a 20 30 78 30 30 20 3d 20 4f 42 4a 31 20 70 61 6c 65 74 74 65 2c 20 30 78 31 30 20 0x10:.0x00.=.OBJ1.palette,.0x10.
1dc40 3d 20 4f 42 4a 32 20 70 61 6c 65 74 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.OBJ2.palette..................
1dc60 20 20 20 20 20 20 20 2f 2f 20 73 70 72 69 74 65 41 74 74 72 69 62 3a 20 30 78 30 34 3a 20 4f 42 .......//.spriteAttrib:.0x04:.OB
1dc80 4a 31 20 70 61 6c 65 74 74 65 2c 20 30 78 30 38 3a 20 4f 42 4a 32 20 70 61 6c 65 74 74 65 0a 20 J1.palette,.0x08:.OBJ2.palette..
1dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 70 72 69 74 65 41 74 .......................$spriteAt
1dcc0 74 72 69 62 20 2b 3d 20 30 78 34 20 2b 20 28 28 24 61 74 74 72 69 62 75 74 65 73 20 26 20 30 78 trib.+=.0x4.+.(($attributes.&.0x
1dce0 31 30 29 20 3e 3e 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 10).>>.2);.....................}
1dd00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 69 6f 72 69 .....................if.($priori
1dd20 74 79 46 6c 61 67 20 3d 3d 20 30 78 38 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tyFlag.==.0x80).{...............
1dd40 20 20 20 20 20 20 20 20 20 20 2f 2f 20 62 61 63 6b 67 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 ..........//.background.........
1dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 67 66 78 53 70 ................if.($this->gfxSp
1dd80 72 69 74 65 44 6f 75 62 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 riteDouble).{...................
1dda0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 73 70 72 69 74 65 41 74 74 72 69 62 20 26 20 32 ..........if.(($spriteAttrib.&.2
1ddc0 29 20 21 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).!=.0).{.......................
1dde0 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 72 61 77 50 61 72 74 42 67 53 70 72 69 74 ..........$this->drawPartBgSprit
1de00 65 28 28 24 74 69 6c 65 4e 75 6d 20 7c 20 31 29 20 2d 20 28 24 6f 66 66 73 65 74 20 3e 3e 20 33 e(($tileNum.|.1).-.($offset.>>.3
1de20 29 2c 20 24 73 70 72 69 74 65 58 2c 20 24 6c 69 6e 65 2c 20 24 6f 66 66 73 65 74 20 26 20 37 2c ),.$spriteX,.$line,.$offset.&.7,
1de40 20 24 73 70 72 69 74 65 41 74 74 72 69 62 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$spriteAttrib);................
1de60 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .............}.else.{...........
1de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 72 61 ......................$this->dra
1dea0 77 50 61 72 74 42 67 53 70 72 69 74 65 28 28 24 74 69 6c 65 4e 75 6d 20 26 20 2d 32 29 20 2b 20 wPartBgSprite(($tileNum.&.-2).+.
1dec0 28 24 6f 66 66 73 65 74 20 3e 3e 20 33 29 2c 20 24 73 70 72 69 74 65 58 2c 20 24 6c 69 6e 65 2c ($offset.>>.3),.$spriteX,.$line,
1dee0 20 24 6f 66 66 73 65 74 20 26 20 37 2c 20 24 73 70 72 69 74 65 41 74 74 72 69 62 29 3b 0a 20 20 .$offset.&.7,.$spriteAttrib);...
1df00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ..........................}.....
1df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 ....................}.else.{....
1df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e .........................$this->
1df60 64 72 61 77 50 61 72 74 42 67 53 70 72 69 74 65 28 24 74 69 6c 65 4e 75 6d 2c 20 24 73 70 72 69 drawPartBgSprite($tileNum,.$spri
1df80 74 65 58 2c 20 24 6c 69 6e 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 73 70 72 69 74 65 41 74 74 72 teX,.$line,.$offset,.$spriteAttr
1dfa0 69 62 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ib);.........................}..
1dfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 ...................}.else.{.....
1dfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 66 6f 72 65 67 72 6f 75 6e ....................//.foregroun
1e000 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 d.........................if.($t
1e020 68 69 73 2d 3e 67 66 78 53 70 72 69 74 65 44 6f 75 62 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 his->gfxSpriteDouble).{.........
1e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 73 70 72 69 74 65 ....................if.(($sprite
1e060 41 74 74 72 69 62 20 26 20 32 29 20 21 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 Attrib.&.2).!=.0).{.............
1e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 72 61 77 50 ....................$this->drawP
1e0a0 61 72 74 46 67 53 70 72 69 74 65 28 28 24 74 69 6c 65 4e 75 6d 20 7c 20 31 29 20 2d 20 28 24 6f artFgSprite(($tileNum.|.1).-.($o
1e0c0 66 66 73 65 74 20 3e 3e 20 33 29 2c 20 24 73 70 72 69 74 65 58 2c 20 24 6c 69 6e 65 2c 20 24 6f ffset.>>.3),.$spriteX,.$line,.$o
1e0e0 66 66 73 65 74 20 26 20 37 2c 20 24 73 70 72 69 74 65 41 74 74 72 69 62 29 3b 0a 20 20 20 20 20 ffset.&.7,.$spriteAttrib);......
1e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a .......................}.else.{.
1e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1e140 24 74 68 69 73 2d 3e 64 72 61 77 50 61 72 74 46 67 53 70 72 69 74 65 28 28 24 74 69 6c 65 4e 75 $this->drawPartFgSprite(($tileNu
1e160 6d 20 26 20 2d 32 29 20 2b 20 28 24 6f 66 66 73 65 74 20 3e 3e 20 33 29 2c 20 24 73 70 72 69 74 m.&.-2).+.($offset.>>.3),.$sprit
1e180 65 58 2c 20 24 6c 69 6e 65 2c 20 24 6f 66 66 73 65 74 20 26 20 37 2c 20 24 73 70 72 69 74 65 41 eX,.$line,.$offset.&.7,.$spriteA
1e1a0 74 74 72 69 62 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ttrib);.........................
1e1c0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 ....}.........................}.
1e1e0 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 else.{..........................
1e200 20 20 20 24 74 68 69 73 2d 3e 64 72 61 77 50 61 72 74 46 67 53 70 72 69 74 65 28 24 74 69 6c 65 ...$this->drawPartFgSprite($tile
1e220 4e 75 6d 2c 20 24 73 70 72 69 74 65 58 2c 20 24 6c 69 6e 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 Num,.$spriteX,.$line,.$offset,.$
1e240 73 70 72 69 74 65 41 74 74 72 69 62 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 spriteAttrib);..................
1e260 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 .......}.....................}..
1e280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 ...............}.else.{.........
1e2a0 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 61 6d 49 78 20 2d 3d 20 33 3b 0a 20 20 20 20 20 20 20 ............$oamIx.-=.3;........
1e2c0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .........}.............}........
1e2e0 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 72 .}.....}......public.function.dr
1e300 61 77 50 61 72 74 46 67 53 70 72 69 74 65 28 24 74 69 6c 65 49 6e 64 65 78 2c 20 24 78 2c 20 24 awPartFgSprite($tileIndex,.$x,.$
1e320 79 2c 20 24 73 6f 75 72 63 65 4c 69 6e 65 2c 20 24 61 74 74 72 69 62 73 29 0a 20 20 20 20 7b 0a y,.$sourceLine,.$attribs).....{.
1e340 20 20 20 20 20 20 20 20 24 69 6d 20 3d 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 5b 24 74 ........$im.=.$this->tileData[$t
1e360 69 6c 65 49 6e 64 65 78 20 2b 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 24 61 ileIndex.+.$this->tileCount.*.$a
1e380 74 74 72 69 62 73 5d 20 3f 20 24 74 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 5b 24 74 69 6c 65 49 ttribs].?.$this->tileData[$tileI
1e3a0 6e 64 65 78 20 2b 20 24 74 68 69 73 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 24 61 74 74 72 69 ndex.+.$this->tileCount.*.$attri
1e3c0 62 73 5d 20 3a 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 49 6d 61 67 65 28 24 74 69 6c 65 49 6e bs].:.$this->updateImage($tileIn
1e3e0 64 65 78 2c 20 24 61 74 74 72 69 62 73 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 69 6d 20 dex,.$attribs);.........if.($im.
1e400 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a ===.true).{.............return;.
1e420 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 64 73 74 20 3d 20 24 78 20 2b 20 24 79 ........}.........$dst.=.$x.+.$y
1e440 20 2a 20 31 36 30 3b 0a 20 20 20 20 20 20 20 20 24 73 72 63 20 3d 20 24 73 6f 75 72 63 65 4c 69 .*.160;.........$src.=.$sourceLi
1e460 6e 65 20 2a 20 38 3b 0a 20 20 20 20 20 20 20 20 24 64 73 74 45 6e 64 20 3d 20 28 24 78 20 3e 20 ne.*.8;.........$dstEnd.=.($x.>.
1e480 31 35 32 29 20 3f 20 28 28 24 79 20 2b 20 31 29 20 2a 20 31 36 30 29 20 3a 20 28 24 64 73 74 20 152).?.(($y.+.1).*.160).:.($dst.
1e4a0 2b 20 38 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 61 64 6a 75 73 74 20 6c 65 66 74 0a 20 20 20 +.8);.........//.adjust.left....
1e4c0 20 20 20 20 20 69 66 20 28 24 78 20 3c 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 .....if.($x.<.0).{.............$
1e4e0 64 73 74 20 2d 3d 20 24 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 72 63 20 2d 3d 20 24 dst.-=.$x;.............$src.-=.$
1e500 78 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 64 73 x;.........}..........while.($ds
1e520 74 20 3c 20 24 64 73 74 45 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 t.<.$dstEnd).{.............$this
1e540 2d 3e 66 72 61 6d 65 42 75 66 66 65 72 5b 24 64 73 74 5d 20 3d 20 24 69 6d 5b 24 73 72 63 5d 3b ->frameBuffer[$dst].=.$im[$src];
1e560 0a 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 64 73 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .............++$dst;............
1e580 20 2b 2b 24 73 72 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 .++$src;.........}.....}......pu
1e5a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 72 61 77 50 61 72 74 42 67 53 70 72 69 74 65 28 24 blic.function.drawPartBgSprite($
1e5c0 74 69 6c 65 49 6e 64 65 78 2c 20 24 78 2c 20 24 79 2c 20 24 73 6f 75 72 63 65 4c 69 6e 65 2c 20 tileIndex,.$x,.$y,.$sourceLine,.
1e5e0 24 61 74 74 72 69 62 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 6d 20 3d 20 24 74 $attribs).....{.........$im.=.$t
1e600 68 69 73 2d 3e 74 69 6c 65 44 61 74 61 5b 24 74 69 6c 65 49 6e 64 65 78 20 2b 20 24 74 68 69 73 his->tileData[$tileIndex.+.$this
1e620 2d 3e 74 69 6c 65 43 6f 75 6e 74 20 2a 20 24 61 74 74 72 69 62 73 5d 20 3f 20 24 74 68 69 73 2d ->tileCount.*.$attribs].?.$this-
1e640 3e 74 69 6c 65 44 61 74 61 5b 24 74 69 6c 65 49 6e 64 65 78 20 2b 20 24 74 68 69 73 2d 3e 74 69 >tileData[$tileIndex.+.$this->ti
1e660 6c 65 43 6f 75 6e 74 20 2a 20 24 61 74 74 72 69 62 73 5d 20 3a 20 24 74 68 69 73 2d 3e 75 70 64 leCount.*.$attribs].:.$this->upd
1e680 61 74 65 49 6d 61 67 65 28 24 74 69 6c 65 49 6e 64 65 78 2c 20 24 61 74 74 72 69 62 73 29 3b 0a ateImage($tileIndex,.$attribs);.
1e6a0 20 20 20 20 20 20 20 20 69 66 20 28 24 69 6d 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 20 20 20 20 ........if.($im.===.true).{.....
1e6c0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ........return;.........}.......
1e6e0 20 20 24 64 73 74 20 3d 20 24 78 20 2b 20 24 79 20 2a 20 31 36 30 3b 0a 20 20 20 20 20 20 20 20 ..$dst.=.$x.+.$y.*.160;.........
1e700 24 73 72 63 20 3d 20 24 73 6f 75 72 63 65 4c 69 6e 65 20 2a 20 38 3b 0a 20 20 20 20 20 20 20 20 $src.=.$sourceLine.*.8;.........
1e720 24 64 73 74 45 6e 64 20 3d 20 28 24 78 20 3e 20 31 35 32 29 20 3f 20 28 28 24 79 20 2b 20 31 29 $dstEnd.=.($x.>.152).?.(($y.+.1)
1e740 20 2a 20 31 36 30 29 20 3a 20 28 24 64 73 74 20 2b 20 38 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f .*.160).:.($dst.+.8);.........//
1e760 20 61 64 6a 75 73 74 20 6c 65 66 74 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 78 20 3c 20 30 29 .adjust.left.........if.($x.<.0)
1e780 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 73 74 20 2d 3d 20 24 78 3b 0a 20 20 20 20 20 .{.............$dst.-=.$x;......
1e7a0 20 20 20 20 20 20 20 24 73 72 63 20 2d 3d 20 24 78 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .......$src.-=.$x;.........}....
1e7c0 20 20 20 20 20 77 68 69 6c 65 20 28 24 64 73 74 20 3c 20 24 64 73 74 45 6e 64 29 20 7b 0a 20 20 .....while.($dst.<.$dstEnd).{...
1e7e0 20 20 20 20 20 20 20 20 20 20 2f 2f 69 66 20 28 24 69 6d 5b 24 73 72 63 5d 20 3c 20 30 20 26 26 ..........//if.($im[$src].<.0.&&
1e800 20 24 74 68 69 73 2d 3e 66 72 61 6d 65 42 75 66 66 65 72 5b 24 64 73 74 5d 20 3e 3d 20 30 29 20 .$this->frameBuffer[$dst].>=.0).
1e820 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 72 61 6d 65 42 75 66 66 65 72 {.............$this->frameBuffer
1e840 5b 24 64 73 74 5d 20 3d 20 24 69 6d 5b 24 73 72 63 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 [$dst].=.$im[$src];.............
1e860 2f 2f 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 64 73 74 3b 0a 20 20 20 20 20 20 20 //.}.............++$dst;........
1e880 20 20 20 20 20 2b 2b 24 73 72 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 .....++$src;.........}.....}....
1e8a0 20 20 2f 2f 4d 65 6d 6f 72 79 20 52 65 61 64 69 6e 67 3a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 ..//Memory.Reading:.....public.f
1e8c0 75 6e 63 74 69 6f 6e 20 6d 65 6d 6f 72 79 52 65 61 64 28 24 61 64 64 72 65 73 73 29 0a 20 20 20 unction.memoryRead($address)....
1e8e0 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 41 63 74 20 61 73 20 61 20 77 72 61 70 70 65 72 20 66 6f .{.........//Act.as.a.wrapper.fo
1e900 72 20 72 65 61 64 69 6e 67 20 74 68 65 20 72 65 74 75 72 6e 73 20 66 72 6f 6d 20 74 68 65 20 63 r.reading.the.returns.from.the.c
1e920 6f 6d 70 69 6c 65 64 20 6a 75 6d 70 73 20 74 6f 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 20 ompiled.jumps.to.memory.........
1e940 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 61 64 64 .return.$this->memoryReader[$add
1e960 72 65 73 73 5d 28 24 74 68 69 73 2c 20 24 61 64 64 72 65 73 73 29 3b 20 2f 2f 54 68 69 73 20 73 ress]($this,.$address);.//This.s
1e980 65 65 6d 73 20 74 6f 20 62 65 20 66 61 73 74 65 72 20 74 68 61 6e 20 74 68 65 20 75 73 75 61 6c eems.to.be.faster.than.the.usual
1e9a0 20 69 66 2f 65 6c 73 65 2e 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 .if/else......}......public.func
1e9c0 74 69 6f 6e 20 6d 65 6d 6f 72 79 52 65 61 64 4a 75 6d 70 43 6f 6d 70 69 6c 65 28 29 0a 20 20 20 tion.memoryReadJumpCompile()....
1e9e0 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 46 61 73 74 65 72 20 69 6e 20 73 6f 6d 65 20 62 72 6f 77 .{.........//Faster.in.some.brow
1ea00 73 65 72 73 2c 20 73 69 6e 63 65 20 77 65 20 61 72 65 20 64 6f 69 6e 67 20 6c 65 73 73 20 63 6f sers,.since.we.are.doing.less.co
1ea20 6e 64 69 74 69 6f 6e 61 6c 73 20 6f 76 65 72 61 6c 6c 20 62 79 20 69 6d 70 6c 65 6d 65 6e 74 69 nditionals.overall.by.implementi
1ea40 6e 67 20 74 68 65 6d 20 69 6e 20 61 64 76 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 66 6f 72 20 ng.them.in.advance..........for.
1ea60 28 24 69 6e 64 65 78 20 3d 20 30 78 30 30 30 30 3b 20 24 69 6e 64 65 78 20 3c 3d 20 30 78 46 46 ($index.=.0x0000;.$index.<=.0xFF
1ea80 46 46 3b 20 2b 2b 24 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 FF;.++$index).{.............if.(
1eaa0 24 69 6e 64 65 78 20 3c 20 30 78 34 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 $index.<.0x4000).{..............
1eac0 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 69 6e 64 65 78 5d 20 3d ...$this->memoryReader[$index].=
1eae0 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 .function.($parentObj,.$address)
1eb00 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 4e 6f 72 6d 61 6c 0a 20 20 20 20 20 20 20 20 20 20 .{.//memoryReadNormal...........
1eb20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d ..........return.$parentObj->mem
1eb40 6f 72 79 5b 24 61 64 64 72 65 73 73 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ory[$address];.................}
1eb60 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3c ;.............}.elseif.($index.<
1eb80 20 30 78 38 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 .0x8000).{.................$this
1eba0 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f ->memoryReader[$index].=.functio
1ebc0 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 20 2f 2f 6d 65 6d n.($parentObj,.$address).{.//mem
1ebe0 6f 72 79 52 65 61 64 52 4f 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 oryReadROM.....................r
1ec00 65 74 75 72 6e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 4f 4d 5b 24 70 61 72 65 6e 74 4f 62 6a eturn.$parentObj->ROM[$parentObj
1ec20 2d 3e 63 75 72 72 65 6e 74 52 4f 4d 42 61 6e 6b 20 2b 20 24 61 64 64 72 65 73 73 5d 3b 0a 20 20 ->currentROMBank.+.$address];...
1ec40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 ..............};.............}.e
1ec60 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3e 3d 20 30 78 38 30 30 30 20 26 26 20 24 69 6e 64 65 lseif.($index.>=.0x8000.&&.$inde
1ec80 78 20 3c 20 30 78 41 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 56 x.<.0xA000).{.................$V
1eca0 52 41 4d 52 65 61 64 43 47 42 43 50 55 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e RAMReadCGBCPU.=.function.($paren
1ecc0 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tObj,.$address).{...............
1ece0 20 20 20 20 20 20 2f 2f 43 50 55 20 53 69 64 65 20 52 65 61 64 69 6e 67 20 54 68 65 20 56 52 41 ......//CPU.Side.Reading.The.VRA
1ed00 4d 20 28 4f 70 74 69 6d 69 7a 65 64 20 66 6f 72 20 47 61 6d 65 42 6f 79 20 43 6f 6c 6f 72 29 0a M.(Optimized.for.GameBoy.Color).
1ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 24 70 61 72 ....................return.($par
1ed40 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 53 54 41 54 20 3e 20 32 29 20 3f 20 30 78 46 46 20 3a 20 28 entObj->modeSTAT.>.2).?.0xFF.:.(
1ed60 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 56 52 41 4d 42 61 6e 6b 20 3d 3d 20 30 29 20 ($parentObj->currVRAMBank.==.0).
1ed80 3f 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 5d 20 3a ?.$parentObj->memory[$address].:
1eda0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 56 52 41 4d 5b 24 61 64 64 72 65 73 73 20 2d 20 30 78 38 .$parentObj->VRAM[$address.-.0x8
1edc0 30 30 30 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 000]);.................};.......
1ede0 20 20 20 20 20 20 20 20 20 20 20 24 56 52 41 4d 52 65 61 64 44 4d 47 43 50 55 20 3d 20 66 75 6e ...........$VRAMReadDMGCPU.=.fun
1ee00 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 ction.($parentObj,.$address).{..
1ee20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 43 50 55 20 53 69 64 65 20 52 65 ...................//CPU.Side.Re
1ee40 61 64 69 6e 67 20 54 68 65 20 56 52 41 4d 20 28 4f 70 74 69 6d 69 7a 65 64 20 66 6f 72 20 63 6c ading.The.VRAM.(Optimized.for.cl
1ee60 61 73 73 69 63 20 47 61 6d 65 42 6f 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 assic.GameBoy)..................
1ee80 20 20 20 72 65 74 75 72 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 53 54 41 54 20 ...return.($parentObj->modeSTAT.
1eea0 3e 20 32 29 20 3f 20 30 78 46 46 20 3a 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 >.2).?.0xFF.:.$parentObj->memory
1eec0 5b 24 61 64 64 72 65 73 73 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 0a [$address];.................};..
1eee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 ................$this->memoryRea
1ef00 64 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 28 24 74 68 69 73 2d 3e 63 47 42 43 29 20 3f 20 24 56 der[$index].=.($this->cGBC).?.$V
1ef20 52 41 4d 52 65 61 64 43 47 42 43 50 55 20 3a 20 24 56 52 41 4d 52 65 61 64 44 4d 47 43 50 55 3b RAMReadCGBCPU.:.$VRAMReadDMGCPU;
1ef40 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3e 3d .............}.elseif.($index.>=
1ef60 20 30 78 41 30 30 30 20 26 26 20 24 69 6e 64 65 78 20 3c 20 30 78 43 30 30 30 29 20 7b 0a 20 20 .0xA000.&&.$index.<.0xC000).{...
1ef80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 74 68 69 73 2d 3e 6e 75 6d 52 41 4d ..............if.(($this->numRAM
1efa0 42 61 6e 6b 73 20 3d 3d 20 31 20 2f 20 31 36 20 26 26 20 24 69 6e 64 65 78 20 3c 20 30 78 41 32 Banks.==.1./.16.&&.$index.<.0xA2
1efc0 30 30 29 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 75 6d 52 41 4d 42 61 6e 6b 73 20 3e 3d 20 31 29 20 00).||.$this->numRAMBanks.>=.1).
1efe0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 {.....................if.(!$this
1f000 2d 3e 63 4d 42 43 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ->cMBC3).{......................
1f020 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 69 6e 64 65 78 5d 20 3d ...$this->memoryReader[$index].=
1f040 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 .function.($parentObj,.$address)
1f060 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 4d 42 43 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .{.//memoryReadMBC..............
1f080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 53 77 69 74 63 68 61 62 6c 65 20 52 41 4d 0a ...............//Switchable.RAM.
1f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ............................if.(
1f0c0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4d 42 43 52 41 4d 42 61 6e 6b 73 45 6e 61 62 6c 65 64 20 7c $parentObj->MBCRAMBanksEnabled.|
1f0e0 7c 20 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 31 30 5d 29 20 7b 0a 20 20 20 |.Settings::$settings[10]).{....
1f100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 .............................ret
1f120 75 72 6e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4d 42 43 52 61 6d 5b 24 61 64 64 72 65 73 73 20 urn.$parentObj->MBCRam[$address.
1f140 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 50 6f 73 69 +.$parentObj->currMBCRAMBankPosi
1f160 74 69 6f 6e 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion];..........................
1f180 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...}............................
1f1a0 20 2f 2f 63 6f 75 74 28 22 52 65 61 64 69 6e 67 20 66 72 6f 6d 20 64 69 73 61 62 6c 65 64 20 52 .//cout("Reading.from.disabled.R
1f1c0 41 4d 2e 22 2c 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 AM.",.1);.......................
1f1e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......return.0xFF;..............
1f200 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........};...................
1f220 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..}.else.{......................
1f240 20 20 20 2f 2f 4d 42 43 33 20 52 54 43 20 2b 20 52 41 4d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 ...//MBC3.RTC.+.RAM:............
1f260 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 .............$this->memoryReader
1f280 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c [$index].=.function.($parentObj,
1f2a0 20 24 61 64 64 72 65 73 73 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 4d 42 43 33 0a 20 20 .$address).{.//memoryReadMBC3...
1f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 53 77 69 74 ..........................//Swit
1f2e0 63 68 61 62 6c 65 20 52 41 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 chable.RAM......................
1f300 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4d 42 43 52 41 4d 42 61 6e .......if.($parentObj->MBCRAMBan
1f320 6b 73 45 6e 61 62 6c 65 64 20 7c 7c 20 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 ksEnabled.||.Settings::$settings
1f340 5b 31 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [10]).{.........................
1f360 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 ........switch.($parentObj->curr
1f380 4d 42 43 52 41 4d 42 61 6e 6b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 MBCRAMBank).{...................
1f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 3a 0a 20 20 20 ..................case.0x00:....
1f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f3e0 20 63 61 73 65 20 30 78 30 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .case.0x01:.....................
1f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 32 3a 0a 20 20 20 20 20 ................case.0x02:......
1f420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 ...............................c
1f440 61 73 65 20 30 78 30 33 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ase.0x03:.......................
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 61 72 65 6e 74 ..................return.$parent
1f480 4f 62 6a 2d 3e 4d 42 43 52 61 6d 5b 24 61 64 64 72 65 73 73 20 2b 20 24 70 61 72 65 6e 74 4f 62 Obj->MBCRam[$address.+.$parentOb
1f4a0 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 5d 3b 0a 20 20 20 20 j->currMBCRAMBankPosition];.....
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f4e0 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....break;......................
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 38 3a 0a 20 20 20 20 20 20 ...............case.0x08:.......
1f520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f540 20 20 72 65 74 75 72 6e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6c 61 74 63 68 65 64 53 65 63 6f ..return.$parentObj->latchedSeco
1f560 6e 64 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nds;............................
1f580 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............break;.............
1f5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 ........................case.0x0
1f5c0 39 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9:..............................
1f5e0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6c 61 ...........return.$parentObj->la
1f600 74 63 68 65 64 4d 69 6e 75 74 65 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tchedMinutes;...................
1f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 ......................break;....
1f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f660 20 63 61 73 65 20 30 78 30 41 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .case.0x0A:.....................
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 61 72 65 ....................return.$pare
1f6a0 6e 74 4f 62 6a 2d 3e 6c 61 74 63 68 65 64 48 6f 75 72 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ntObj->latchedHours;............
1f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 .............................bre
1f6e0 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ak;.............................
1f700 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 42 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........case.0x0B:..............
1f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 ...........................retur
1f740 6e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6c 61 74 63 68 65 64 4c 44 61 79 73 3b 0a 20 20 20 20 n.$parentObj->latchedLDays;.....
1f760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f780 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....break;......................
1f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 43 3a 0a 20 20 20 20 20 20 ...............case.0x0C:.......
1f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f7e0 20 20 72 65 74 75 72 6e 20 28 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 44 61 79 4f 76 ..return.((($parentObj->RTCDayOv
1f800 65 72 46 6c 6f 77 29 20 3f 20 30 78 38 30 20 3a 20 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f erFlow).?.0x80.:.0).+.(($parentO
1f820 62 6a 2d 3e 52 54 43 48 41 4c 54 29 20 3f 20 30 78 34 30 20 3a 20 30 29 29 20 2b 20 24 70 61 72 bj->RTCHALT).?.0x40.:.0)).+.$par
1f840 65 6e 74 4f 62 6a 2d 3e 6c 61 74 63 68 65 64 48 44 61 79 73 3b 0a 20 20 20 20 20 20 20 20 20 20 entObj->latchedHDays;...........
1f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ......................}.........
1f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
1f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 63 6f 75 74 28 22 52 65 61 64 69 6e ..................//cout("Readin
1f8c0 67 20 66 72 6f 6d 20 69 6e 76 61 6c 69 64 20 6f 72 20 64 69 73 61 62 6c 65 64 20 52 41 4d 2e 22 g.from.invalid.or.disabled.RAM."
1f8e0 2c 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,.1);...........................
1f900 20 20 72 65 74 75 72 6e 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..return.0xFF;..................
1f920 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a .......};.....................}.
1f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 ................}.else.{........
1f960 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 .............$this->memoryReader
1f980 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c [$index].=.function.($parentObj,
1f9a0 20 24 61 64 64 72 65 73 73 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 42 41 44 0a 20 20 20 .$address).{.//memoryReadBAD....
1f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 46 46 .....................return.0xFF
1f9e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 ;.....................};........
1fa00 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 .........}.............}.elseif.
1fa20 28 24 69 6e 64 65 78 20 3e 3d 20 30 78 43 30 30 30 20 26 26 20 24 69 6e 64 65 78 20 3c 20 30 78 ($index.>=.0xC000.&&.$index.<.0x
1fa40 45 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 E000).{.................if.(!$th
1fa60 69 73 2d 3e 63 47 42 43 20 7c 7c 20 24 69 6e 64 65 78 20 3c 20 30 78 44 30 30 30 29 20 7b 0a 20 is->cGBC.||.$index.<.0xD000).{..
1fa80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 ...................$this->memory
1faa0 52 65 61 64 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 Reader[$index].=.function.($pare
1fac0 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 4e ntObj,.$address).{.//memoryReadN
1fae0 6f 72 6d 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ormal.........................re
1fb00 74 75 72 6e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 turn.$parentObj->memory[$address
1fb20 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 ];.....................};.......
1fb40 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........}.else.{..............
1fb60 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 69 6e 64 65 .......$this->memoryReader[$inde
1fb80 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 x].=.function.($parentObj,.$addr
1fba0 65 73 73 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 47 42 43 4d 65 6d 6f 72 79 0a 20 20 20 ess).{.//memoryReadGBCMemory....
1fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 61 72 .....................return.$par
1fbe0 65 6e 74 4f 62 6a 2d 3e 47 42 43 4d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 20 2b 20 24 70 61 entObj->GBCMemory[$address.+.$pa
1fc00 72 65 6e 74 4f 62 6a 2d 3e 67 62 63 52 61 6d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 5d 3b 0a 20 20 rentObj->gbcRamBankPosition];...
1fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..................};............
1fc40 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e .....}.............}.elseif.($in
1fc60 64 65 78 20 3e 3d 20 30 78 45 30 30 30 20 26 26 20 24 69 6e 64 65 78 20 3c 20 30 78 46 45 30 30 dex.>=.0xE000.&&.$index.<.0xFE00
1fc80 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e ).{.................if.(!$this->
1fca0 63 47 42 43 20 7c 7c 20 24 69 6e 64 65 78 20 3c 20 30 78 46 30 30 30 29 20 7b 0a 20 20 20 20 20 cGBC.||.$index.<.0xF000).{......
1fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 ...............$this->memoryRead
1fce0 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 er[$index].=.function.($parentOb
1fd00 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 45 43 48 4f 4e j,.$address).{.//memoryReadECHON
1fd20 6f 72 6d 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ormal.........................re
1fd40 74 75 72 6e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 turn.$parentObj->memory[$address
1fd60 20 2d 20 30 78 32 30 30 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-.0x2000];.....................
1fd80 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 };.................}.else.{.....
1fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 ................$this->memoryRea
1fdc0 64 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f der[$index].=.function.($parentO
1fde0 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 45 43 48 4f bj,.$address).{.//memoryReadECHO
1fe00 47 42 43 4d 65 6d 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 GBCMemory.......................
1fe20 20 20 72 65 74 75 72 6e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 47 42 43 4d 65 6d 6f 72 79 5b 24 ..return.$parentObj->GBCMemory[$
1fe40 61 64 64 72 65 73 73 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 62 63 52 61 6d 42 61 6e 6b address.+.$parentObj->gbcRamBank
1fe60 50 6f 73 69 74 69 6f 6e 45 43 48 4f 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PositionECHO];..................
1fe80 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ...};.................}.........
1fea0 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 46 45 41 30 29 20 7b ....}.elseif.($index.<.0xFEA0).{
1fec0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 .................$this->memoryRe
1fee0 61 64 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 ader[$index].=.function.($parent
1ff00 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 4f 41 4d Obj,.$address).{.//memoryReadOAM
1ff20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 24 70 61 .....................return.($pa
1ff40 72 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 53 54 41 54 20 3e 20 31 29 20 3f 20 30 78 46 46 20 3a 20 rentObj->modeSTAT.>.1).?.0xFF.:.
1ff60 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 5d 3b 0a 20 20 $parentObj->memory[$address];...
1ff80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 ..............};.............}.e
1ffa0 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 47 42 43 20 26 26 20 24 69 6e 64 65 78 20 3e 3d 20 lseif.($this->cGBC.&&.$index.>=.
1ffc0 30 78 46 45 41 30 20 26 26 20 24 69 6e 64 65 78 20 3c 20 30 78 46 46 30 30 29 20 7b 0a 20 20 20 0xFEA0.&&.$index.<.0xFF00).{....
1ffe0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 .............$this->memoryReader
20000 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c [$index].=.function.($parentObj,
20020 20 24 61 64 64 72 65 73 73 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 4e 6f 72 6d 61 6c 0a .$address).{.//memoryReadNormal.
20040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 61 72 65 ....................return.$pare
20060 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 5d 3b 0a 20 20 20 20 20 20 20 ntObj->memory[$address];........
20080 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 .........};.............}.elseif
200a0 20 28 24 69 6e 64 65 78 20 3e 3d 20 30 78 46 46 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .($index.>=.0xFF00).{...........
200c0 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 ......switch.($index).{.........
200e0 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 30 30 3a 0a 20 20 20 20 20 20 20 ............case.0xFF00:........
20100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 .................$this->memoryRe
20120 61 64 65 72 5b 30 78 46 46 30 30 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 ader[0xFF00].=.function.($parent
20140 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Obj,.$address).{................
20160 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 43 30 20 7c 20 24 70 61 72 65 .............return.0xC0.|.$pare
20180 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 30 5d 3b 20 2f 2f 54 6f 70 20 6e 69 62 ntObj->memory[0xFF00];.//Top.nib
201a0 62 6c 65 20 72 65 74 75 72 6e 73 20 61 73 20 73 65 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ble.returns.as.set..............
201c0 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............};..................
201e0 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......break;...................
20200 20 20 63 61 73 65 20 30 78 46 46 30 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..case.0xFF01:..................
20220 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 30 .......$this->memoryReader[0xFF0
20240 31 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 1].=.function.($parentObj,.$addr
20260 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ess).{..........................
20280 20 20 20 72 65 74 75 72 6e 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 ...return.(($parentObj->memory[0
202a0 78 46 46 30 32 5d 20 26 20 30 78 31 29 20 3d 3d 20 30 78 31 29 20 3f 20 30 78 46 46 20 3a 20 24 xFF02].&.0x1).==.0x1).?.0xFF.:.$
202c0 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 31 5d 3b 0a 20 20 20 20 20 parentObj->memory[0xFF01];......
202e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 ...................};...........
20300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..............break;............
20320 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 30 32 3a 0a 20 20 20 20 20 20 20 20 20 20 .........case.0xFF02:...........
20340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 47 42 43 29 20 7b ..............if.($this->cGBC).{
20360 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 .............................$th
20380 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 30 32 5d 20 3d 20 66 75 6e 63 74 is->memoryReader[0xFF02].=.funct
203a0 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 ion.($parentObj,.$address).{....
203c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 .............................ret
203e0 75 72 6e 20 30 78 37 43 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 urn.0x7C.|.$parentObj->memory[0x
20400 46 46 30 32 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF02];..........................
20420 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 ...};.........................}.
20440 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 else.{..........................
20460 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 30 32 5d 20 3d ...$this->memoryReader[0xFF02].=
20480 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 .function.($parentObj,.$address)
204a0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .{..............................
204c0 20 20 20 72 65 74 75 72 6e 20 30 78 37 45 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d ...return.0x7E.|.$parentObj->mem
204e0 6f 72 79 5b 30 78 46 46 30 32 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ory[0xFF02];....................
20500 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........};.....................
20520 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 ....}.........................br
20540 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 eak;.....................case.0x
20560 46 46 30 37 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 FF07:.........................$t
20580 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 30 37 5d 20 3d 20 66 75 6e 63 his->memoryReader[0xFF07].=.func
205a0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 tion.($parentObj,.$address).{...
205c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ..........................return
205e0 20 30 78 46 38 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 .0xF8.|.$parentObj->memory[0xFF0
20600 37 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 7];.........................};..
20620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 .......................break;...
20640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 30 46 3a 0a 20 ..................case.0xFF0F:..
20660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 .......................$this->me
20680 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 30 46 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 moryReader[0xFF0F].=.function.($
206a0 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 parentObj,.$address).{..........
206c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 45 30 20 7c ...................return.0xE0.|
206e0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 3b 0a 20 20 20 .$parentObj->memory[0xFF0F];....
20700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 .....................};.........
20720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 ................break;..........
20740 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 31 30 3a 0a 20 20 20 20 20 20 20 20 ...........case.0xFF10:.........
20760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 ................$this->memoryRea
20780 64 65 72 5b 30 78 46 46 31 30 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f der[0xFF10].=.function.($parentO
207a0 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bj,.$address).{.................
207c0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 38 30 20 7c 20 24 70 61 72 65 6e ............return.0x80.|.$paren
207e0 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 31 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 tObj->memory[0xFF10];...........
20800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............};................
20820 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........break;.................
20840 20 20 20 20 63 61 73 65 20 30 78 46 46 31 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....case.0xFF11:................
20860 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 .........$this->memoryReader[0xF
20880 46 31 31 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 F11].=.function.($parentObj,.$ad
208a0 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dress).{........................
208c0 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 33 46 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d .....return.0x3F.|.$parentObj->m
208e0 65 6d 6f 72 79 5b 30 78 46 46 31 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 emory[0xFF11];..................
20900 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......};.......................
20920 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 ..break;.....................cas
20940 65 20 30 78 46 46 31 34 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.0xFF14:.......................
20960 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 31 34 5d 20 3d 20 ..$this->memoryReader[0xFF14].=.
20980 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 function.($parentObj,.$address).
209a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 {.............................re
209c0 74 75 72 6e 20 30 78 42 46 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 turn.0xBF.|.$parentObj->memory[0
209e0 78 46 46 31 34 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xFF14];.........................
20a00 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b };.........................break
20a20 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 31 ;.....................case.0xFF1
20a40 36 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 6:.........................$this
20a60 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 31 36 5d 20 3d 20 66 75 6e 63 74 69 6f ->memoryReader[0xFF16].=.functio
20a80 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 n.($parentObj,.$address).{......
20aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 .......................return.0x
20ac0 33 46 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 31 36 5d 3b 3F.|.$parentObj->memory[0xFF16];
20ae0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 .........................};.....
20b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 ....................break;......
20b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 31 39 3a 0a 20 20 20 20 ...............case.0xFF19:.....
20b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 ....................$this->memor
20b60 79 52 65 61 64 65 72 5b 30 78 46 46 31 39 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 yReader[0xFF19].=.function.($par
20b80 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 entObj,.$address).{.............
20ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 42 46 20 7c 20 24 70 ................return.0xBF.|.$p
20bc0 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 31 39 5d 3b 0a 20 20 20 20 20 20 arentObj->memory[0xFF19];.......
20be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..................};............
20c00 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............break;.............
20c20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 31 41 3a 0a 20 20 20 20 20 20 20 20 20 20 20 ........case.0xFF1A:............
20c40 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 .............$this->memoryReader
20c60 5b 30 78 46 46 31 41 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c [0xFF1A].=.function.($parentObj,
20c80 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$address).{....................
20ca0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 37 46 20 7c 20 24 70 61 72 65 6e 74 4f 62 .........return.0x7F.|.$parentOb
20cc0 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 31 41 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 j->memory[0xFF1A];..............
20ce0 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........};...................
20d00 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......break;....................
20d20 20 63 61 73 65 20 30 78 46 46 31 42 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .case.0xFF1B:...................
20d40 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 31 42 ......$this->memoryReader[0xFF1B
20d60 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 ].=.function.($parentObj,.$addre
20d80 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss).{...........................
20da0 20 20 72 65 74 75 72 6e 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..return.0xFF;..................
20dc0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......};.......................
20de0 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 ..break;.....................cas
20e00 65 20 30 78 46 46 31 43 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.0xFF1C:.......................
20e20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 31 43 5d 20 3d 20 ..$this->memoryReader[0xFF1C].=.
20e40 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 function.($parentObj,.$address).
20e60 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 {.............................re
20e80 74 75 72 6e 20 30 78 39 46 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 turn.0x9F.|.$parentObj->memory[0
20ea0 78 46 46 31 43 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xFF1C];.........................
20ec0 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b };.........................break
20ee0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 31 ;.....................case.0xFF1
20f00 45 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 E:.........................$this
20f20 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 31 45 5d 20 3d 20 66 75 6e 63 74 69 6f ->memoryReader[0xFF1E].=.functio
20f40 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 n.($parentObj,.$address).{......
20f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 .......................return.0x
20f80 42 46 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 31 45 5d 3b BF.|.$parentObj->memory[0xFF1E];
20fa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 .........................};.....
20fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 ....................break;......
20fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 32 30 3a 0a 20 20 20 20 ...............case.0xFF20:.....
21000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 ....................$this->memor
21020 79 52 65 61 64 65 72 5b 30 78 46 46 32 30 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 yReader[0xFF20].=.function.($par
21040 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 entObj,.$address).{.............
21060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 46 46 3b 0a 20 20 20 ................return.0xFF;....
21080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 .....................};.........
210a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 ................break;..........
210c0 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 32 33 3a 0a 20 20 20 20 20 20 20 20 ...........case.0xFF23:.........
210e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 ................$this->memoryRea
21100 64 65 72 5b 30 78 46 46 32 33 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f der[0xFF23].=.function.($parentO
21120 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bj,.$address).{.................
21140 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 42 46 20 7c 20 24 70 61 72 65 6e ............return.0xBF.|.$paren
21160 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 32 33 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 tObj->memory[0xFF23];...........
21180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............};................
211a0 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........break;.................
211c0 20 20 20 20 63 61 73 65 20 30 78 46 46 32 36 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....case.0xFF26:................
211e0 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 .........$this->memoryReader[0xF
21200 46 32 36 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 F26].=.function.($parentObj,.$ad
21220 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dress).{........................
21240 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 37 30 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d .....return.0x70.|.$parentObj->m
21260 65 6d 6f 72 79 5b 30 78 46 46 32 36 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 emory[0xFF26];..................
21280 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......};.......................
212a0 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 ..break;.....................cas
212c0 65 20 30 78 46 46 33 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 e.0xFF30:.....................ca
212e0 73 65 20 30 78 46 46 33 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 se.0xFF31:.....................c
21300 61 73 65 20 30 78 46 46 33 32 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ase.0xFF32:.....................
21320 63 61 73 65 20 30 78 46 46 33 33 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 case.0xFF33:....................
21340 20 63 61 73 65 20 30 78 46 46 33 34 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .case.0xFF34:...................
21360 20 20 63 61 73 65 20 30 78 46 46 33 35 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..case.0xFF35:..................
21380 20 20 20 63 61 73 65 20 30 78 46 46 33 36 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...case.0xFF36:.................
213a0 20 20 20 20 63 61 73 65 20 30 78 46 46 33 37 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....case.0xFF37:................
213c0 20 20 20 20 20 63 61 73 65 20 30 78 46 46 33 38 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....case.0xFF38:...............
213e0 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 33 39 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......case.0xFF39:..............
21400 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 33 41 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......case.0xFF3A:.............
21420 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 33 42 3a 0a 20 20 20 20 20 20 20 20 20 20 20 ........case.0xFF3B:............
21440 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 33 43 3a 0a 20 20 20 20 20 20 20 20 20 20 .........case.0xFF3C:...........
21460 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 33 44 3a 0a 20 20 20 20 20 20 20 20 20 ..........case.0xFF3D:..........
21480 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 33 45 3a 0a 20 20 20 20 20 20 20 20 ...........case.0xFF3E:.........
214a0 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 33 46 3a 0a 20 20 20 20 20 20 20 ............case.0xFF3F:........
214c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 .................$this->memoryRe
214e0 61 64 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 ader[$index].=.function.($parent
21500 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Obj,.$address).{................
21520 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 28 24 70 61 72 65 6e 74 4f 62 6a .............return.(($parentObj
21540 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 32 36 5d 20 26 20 30 78 34 29 20 3d 3d 20 30 78 34 29 20 ->memory[0xFF26].&.0x4).==.0x4).
21560 3f 20 30 78 46 46 20 3a 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 ?.0xFF.:.$parentObj->memory[$add
21580 72 65 73 73 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ress];.........................}
215a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b ;.........................break;
215c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 34 31 .....................case.0xFF41
215e0 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d :.........................$this-
21600 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 34 31 5d 20 3d 20 66 75 6e 63 74 69 6f 6e >memoryReader[0xFF41].=.function
21620 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 .($parentObj,.$address).{.......
21640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 38 ......................return.0x8
21660 30 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 31 5d 20 7c 0.|.$parentObj->memory[0xFF41].|
21680 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 53 54 41 54 3b 0a 20 20 20 20 20 20 20 20 20 .$parentObj->modeSTAT;..........
216a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............};...............
216c0 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........break;................
216e0 20 20 20 20 20 63 61 73 65 20 30 78 46 46 34 34 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....case.0xFF44:...............
21700 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 ..........$this->memoryReader[0x
21720 46 46 34 34 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 FF44].=.function.($parentObj,.$a
21740 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ddress).{.......................
21760 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4c 43 44 69 73 4f ......return.($parentObj->LCDisO
21780 6e 29 20 3f 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 34 5d 20 n).?.$parentObj->memory[0xFF44].
217a0 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a :.0;.........................};.
217c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 ........................break;..
217e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 46 46 34 46 3a 0a ...................case.0xFF4F:.
21800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d ........................$this->m
21820 65 6d 6f 72 79 52 65 61 64 65 72 5b 30 78 46 46 34 46 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 emoryReader[0xFF4F].=.function.(
21840 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 $parentObj,.$address).{.........
21860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 61 72 65 ....................return.$pare
21880 6e 74 4f 62 6a 2d 3e 63 75 72 72 56 52 41 4d 42 61 6e 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ntObj->currVRAMBank;............
218a0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............};.................
218c0 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........break;..................
218e0 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...default:.....................
21900 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 69 6e 64 65 78 5d 20 ....$this->memoryReader[$index].
21920 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 =.function.($parentObj,.$address
21940 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 4e 6f 72 6d 61 6c 0a 20 20 20 20 20 20 20 20 20 ).{.//memoryReadNormal..........
21960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 61 72 65 6e ...................return.$paren
21980 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 5d 3b 0a 20 20 20 20 20 20 20 20 tObj->memory[$address];.........
219a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................};..............
219c0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 ...}.............}.else.{.......
219e0 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 69 ..........$this->memoryReader[$i
21a00 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 ndex].=.function.($parentObj,.$a
21a20 64 64 72 65 73 73 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 52 65 61 64 42 41 44 0a 20 20 20 20 20 20 ddress).{.//memoryReadBAD.......
21a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 78 46 46 3b 0a 20 20 20 20 20 ..............return.0xFF;......
21a60 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ...........};.............}.....
21a80 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ....}.....}......public.function
21aa0 20 56 52 41 4d 52 65 61 64 47 46 58 28 24 61 64 64 72 65 73 73 2c 20 24 67 62 63 42 61 6e 6b 29 .VRAMReadGFX($address,.$gbcBank)
21ac0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 47 72 61 70 68 69 63 73 20 53 69 64 65 20 52 .....{.........//Graphics.Side.R
21ae0 65 61 64 69 6e 67 20 54 68 65 20 56 52 41 4d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 eading.The.VRAM.........return.(
21b00 21 24 67 62 63 42 61 6e 6b 29 20 3f 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 5b 30 78 38 30 30 !$gbcBank).?.$this->memory[0x800
21b20 30 20 2b 20 24 61 64 64 72 65 73 73 5d 20 3a 20 24 74 68 69 73 2d 3e 56 52 41 4d 5b 24 61 64 64 0.+.$address].:.$this->VRAM[$add
21b40 72 65 73 73 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ress];.....}......public.functio
21b60 6e 20 73 65 74 43 75 72 72 65 6e 74 4d 42 43 31 52 4f 4d 42 61 6e 6b 28 29 0a 20 20 20 20 7b 0a n.setCurrentMBC1ROMBank().....{.
21b80 20 20 20 20 20 20 20 20 2f 2f 52 65 61 64 20 74 68 65 20 63 61 72 74 72 69 64 67 65 20 52 4f 4d ........//Read.the.cartridge.ROM
21ba0 20 64 61 74 61 20 66 72 6f 6d 20 52 41 4d 20 6d 65 6d 6f 72 79 3a 0a 20 20 20 20 20 20 20 20 73 .data.from.RAM.memory:.........s
21bc0 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 29 20 7b 0a 20 20 witch.($this->ROMBank1offs).{...
21be0 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 ..........case.0x00:............
21c00 20 63 61 73 65 20 30 78 32 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 34 .case.0x20:.............case.0x4
21c20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 36 30 3a 0a 20 20 20 20 20 20 0:.............case.0x60:.......
21c40 20 20 20 20 20 20 20 20 20 20 2f 2f 42 61 6e 6b 20 63 61 6c 6c 73 20 66 6f 72 20 30 78 30 30 2c ..........//Bank.calls.for.0x00,
21c60 20 30 78 32 30 2c 20 30 78 34 30 2c 20 61 6e 64 20 30 78 36 30 20 61 72 65 20 72 65 61 6c 6c 79 .0x20,.0x40,.and.0x60.are.really
21c80 20 66 6f 72 20 30 78 30 31 2c 20 30 78 32 31 2c 20 30 78 34 31 2c 20 61 6e 64 20 30 78 36 31 2e .for.0x01,.0x21,.0x41,.and.0x61.
21ca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 52 .................$this->currentR
21cc0 4f 4d 42 61 6e 6b 20 3d 20 24 74 68 69 73 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 20 2a 20 30 OMBank.=.$this->ROMBank1offs.*.0
21ce0 78 34 30 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 x4000;.................break;...
21d00 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........default:..............
21d20 20 20 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 52 4f 4d 42 61 6e 6b 20 3d 20 28 24 74 68 69 ...$this->currentROMBank.=.($thi
21d40 73 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 20 2d 20 31 29 20 2a 20 30 78 34 30 30 30 3b 0a 20 s->ROMBank1offs.-.1).*.0x4000;..
21d60 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 74 68 69 73 2d 3e 63 .......}.........while.($this->c
21d80 75 72 72 65 6e 74 52 4f 4d 42 61 6e 6b 20 2b 20 30 78 34 30 30 30 20 3e 3d 20 63 6f 75 6e 74 28 urrentROMBank.+.0x4000.>=.count(
21da0 24 74 68 69 73 2d 3e 52 4f 4d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 $this->ROM)).{.............$this
21dc0 2d 3e 63 75 72 72 65 6e 74 52 4f 4d 42 61 6e 6b 20 2d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d ->currentROMBank.-=.count($this-
21de0 3e 52 4f 4d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c >ROM);.........}.....}......publ
21e00 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 75 72 72 65 6e 74 4d 42 43 32 41 4e 44 33 52 4f ic.function.setCurrentMBC2AND3RO
21e20 4d 42 61 6e 6b 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 52 65 61 64 20 74 68 65 MBank().....{.........//Read.the
21e40 20 63 61 72 74 72 69 64 67 65 20 52 4f 4d 20 64 61 74 61 20 66 72 6f 6d 20 52 41 4d 20 6d 65 6d .cartridge.ROM.data.from.RAM.mem
21e60 6f 72 79 3a 0a 20 20 20 20 20 20 20 20 2f 2f 4f 6e 6c 79 20 6d 61 70 20 62 61 6e 6b 20 30 20 74 ory:.........//Only.map.bank.0.t
21e80 6f 20 62 61 6e 6b 20 31 20 68 65 72 65 20 28 4d 42 43 32 20 69 73 20 6c 69 6b 65 20 4d 42 43 31 o.bank.1.here.(MBC2.is.like.MBC1
21ea0 2c 20 62 75 74 20 63 61 6e 20 6f 6e 6c 79 20 64 6f 20 31 36 20 62 61 6e 6b 73 2c 20 73 6f 20 6f ,.but.can.only.do.16.banks,.so.o
21ec0 6e 6c 79 20 74 68 65 20 62 61 6e 6b 20 30 20 71 75 69 72 6b 20 61 70 70 65 61 72 73 20 66 6f 72 nly.the.bank.0.quirk.appears.for
21ee0 20 4d 42 43 32 29 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 52 4f .MBC2):.........$this->currentRO
21f00 4d 42 61 6e 6b 20 3d 20 6d 61 78 28 24 74 68 69 73 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 20 MBank.=.max($this->ROMBank1offs.
21f20 2d 20 31 2c 20 30 29 20 2a 20 30 78 34 30 30 30 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 -.1,.0).*.0x4000;.........while.
21f40 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 52 4f 4d 42 61 6e 6b 20 2b 20 30 78 34 30 30 30 20 ($this->currentROMBank.+.0x4000.
21f60 3e 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 52 4f 4d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 >=.count($this->ROM)).{.........
21f80 20 20 20 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 52 4f 4d 42 61 6e 6b 20 2d 3d 20 63 6f 75 ....$this->currentROMBank.-=.cou
21fa0 6e 74 28 24 74 68 69 73 2d 3e 52 4f 4d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a nt($this->ROM);.........}.....}.
21fc0 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 75 72 72 65 6e 74 4d 42 ....public.function.setCurrentMB
21fe0 43 35 52 4f 4d 42 61 6e 6b 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 52 65 61 64 C5ROMBank().....{.........//Read
22000 20 74 68 65 20 63 61 72 74 72 69 64 67 65 20 52 4f 4d 20 64 61 74 61 20 66 72 6f 6d 20 52 41 4d .the.cartridge.ROM.data.from.RAM
22020 20 6d 65 6d 6f 72 79 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 52 .memory:.........$this->currentR
22040 4f 4d 42 61 6e 6b 20 3d 20 28 24 74 68 69 73 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 20 2d 20 OMBank.=.($this->ROMBank1offs.-.
22060 31 29 20 2a 20 30 78 34 30 30 30 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 74 68 69 1).*.0x4000;.........while.($thi
22080 73 2d 3e 63 75 72 72 65 6e 74 52 4f 4d 42 61 6e 6b 20 2b 20 30 78 34 30 30 30 20 3e 3d 20 63 6f s->currentROMBank.+.0x4000.>=.co
220a0 75 6e 74 28 24 74 68 69 73 2d 3e 52 4f 4d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 unt($this->ROM)).{.............$
220c0 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 52 4f 4d 42 61 6e 6b 20 2d 3d 20 63 6f 75 6e 74 28 24 74 this->currentROMBank.-=.count($t
220e0 68 69 73 2d 3e 52 4f 4d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 his->ROM);.........}.....}......
22100 2f 2f 4d 65 6d 6f 72 79 20 57 72 69 74 69 6e 67 3a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e //Memory.Writing:.....public.fun
22120 63 74 69 6f 6e 20 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 ction.memoryWrite($address,.$dat
22140 61 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 41 63 74 20 61 73 20 61 20 77 72 61 70 a).....{.........//Act.as.a.wrap
22160 70 65 72 20 66 6f 72 20 77 72 69 74 69 6e 67 20 62 79 20 63 6f 6d 70 69 6c 65 64 20 6a 75 6d 70 per.for.writing.by.compiled.jump
22180 73 20 74 6f 20 73 70 65 63 69 66 69 63 20 6d 65 6d 6f 72 79 20 77 72 69 74 69 6e 67 20 66 75 6e s.to.specific.memory.writing.fun
221a0 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 ctions..........$this->memoryWri
221c0 74 65 72 5b 24 61 64 64 72 65 73 73 5d 28 24 74 68 69 73 2c 20 24 61 64 64 72 65 73 73 2c 20 24 ter[$address]($this,.$address,.$
221e0 64 61 74 61 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f data);.....}......public.functio
22200 6e 20 6d 65 6d 6f 72 79 57 72 69 74 65 4a 75 6d 70 43 6f 6d 70 69 6c 65 28 29 0a 20 20 20 20 7b n.memoryWriteJumpCompile().....{
22220 0a 20 20 20 20 20 20 20 20 24 4d 42 43 57 72 69 74 65 45 6e 61 62 6c 65 20 3d 20 66 75 6e 63 74 .........$MBCWriteEnable.=.funct
22240 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 ion.($parentObj,.$address,.$data
22260 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4d 42 43 20 52 41 4d 20 42 61 6e 6b 20 45 ).{.............//MBC.RAM.Bank.E
22280 6e 61 62 6c 65 2f 44 69 73 61 62 6c 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 nable/Disable:.............$pare
222a0 6e 74 4f 62 6a 2d 3e 4d 42 43 52 41 4d 42 61 6e 6b 73 45 6e 61 62 6c 65 64 20 3d 20 28 28 24 64 ntObj->MBCRAMBanksEnabled.=.(($d
222c0 61 74 61 20 26 20 30 78 30 46 29 20 3d 3d 20 30 78 30 41 29 3b 20 2f 2f 49 66 20 6c 6f 77 65 72 ata.&.0x0F).==.0x0A);.//If.lower
222e0 20 6e 69 62 62 6c 65 20 69 73 20 30 78 30 41 2c 20 74 68 65 6e 20 65 6e 61 62 6c 65 2c 20 6f 74 .nibble.is.0x0A,.then.enable,.ot
22300 68 65 72 77 69 73 65 20 64 69 73 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 herwise.disable..........};.....
22320 20 20 20 20 20 24 4d 42 43 33 57 72 69 74 65 52 4f 4d 42 61 6e 6b 20 3d 20 66 75 6e 63 74 69 6f .....$MBC3WriteROMBank.=.functio
22340 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 n.($parentObj,.$address,.$data).
22360 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4d 42 43 33 20 52 4f 4d 20 62 61 6e 6b 20 73 77 {.............//MBC3.ROM.bank.sw
22380 69 74 63 68 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d itching:.............$parentObj-
223a0 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 20 3d 20 24 64 61 74 61 20 26 20 30 78 37 46 3b 0a 20 20 >ROMBank1offs.=.$data.&.0x7F;...
223c0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 65 74 43 75 72 72 65 6e 74 ..........$parentObj->setCurrent
223e0 4d 42 43 32 41 4e 44 33 52 4f 4d 42 61 6e 6b 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 MBC2AND3ROMBank();.........};...
22400 20 20 20 20 20 20 20 24 63 61 72 74 49 67 6e 6f 72 65 57 72 69 74 65 20 3d 20 66 75 6e 63 74 69 .......$cartIgnoreWrite.=.functi
22420 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 on.($parentObj,.$address,.$data)
22440 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 57 65 20 6d 69 67 68 74 20 68 61 76 65 20 65 .{.............//We.might.have.e
22460 6e 63 6f 75 6e 74 65 72 65 64 20 69 6c 6c 65 67 61 6c 20 52 41 4d 20 77 72 69 74 69 6e 67 20 6f ncountered.illegal.RAM.writing.o
22480 72 20 73 75 63 68 2c 20 73 6f 20 6a 75 73 74 20 64 6f 20 6e 6f 74 68 69 6e 67 2e 2e 2e 0a 20 20 r.such,.so.just.do.nothing......
224a0 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 46 61 73 74 65 72 20 69 6e 20 73 6f ......};..........//Faster.in.so
224c0 6d 65 20 62 72 6f 77 73 65 72 73 2c 20 73 69 6e 63 65 20 77 65 20 61 72 65 20 64 6f 69 6e 67 20 me.browsers,.since.we.are.doing.
224e0 6c 65 73 73 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 73 20 6f 76 65 72 61 6c 6c 20 62 79 20 69 6d 70 less.conditionals.overall.by.imp
22500 6c 65 6d 65 6e 74 69 6e 67 20 74 68 65 6d 20 69 6e 20 61 64 76 61 6e 63 65 2e 0a 20 20 20 20 20 lementing.them.in.advance.......
22520 20 20 20 66 6f 72 20 28 24 69 6e 64 65 78 20 3d 20 30 78 30 30 30 30 3b 20 24 69 6e 64 65 78 20 ...for.($index.=.0x0000;.$index.
22540 3c 3d 20 30 78 46 46 46 46 3b 20 2b 2b 24 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 <=.0xFFFF;.++$index).{..........
22560 20 20 20 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 38 30 30 30 29 20 7b 0a 20 20 20 20 20 20 ...if.($index.<.0x8000).{.......
22580 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 4d 42 43 31 29 20 7b 0a 20 20 ..........if.($this->cMBC1).{...
225a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 ..................if.($index.<.0
225c0 78 32 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x2000).{........................
225e0 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 24 .$this->memoryWriter[$index].=.$
22600 4d 42 43 57 72 69 74 65 45 6e 61 62 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 MBCWriteEnable;.................
22620 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 34 30 30 30 29 20 7b ....}.elseif.($index.<.0x4000).{
22640 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e .........................$this->
22660 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 memoryWriter[$index].=.function.
22680 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 20 ($parentObj,.$address,.$data).{.
226a0 2f 2f 20 4d 42 43 31 57 72 69 74 65 52 4f 4d 42 61 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 //.MBC1WriteROMBank.............
226c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4d 42 43 31 20 52 4f 4d 20 62 61 6e 6b 20 ................//MBC1.ROM.bank.
226e0 73 77 69 74 63 68 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 switching:......................
22700 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 20 .......$parentObj->ROMBank1offs.
22720 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 20 26 20 30 78 =.($parentObj->ROMBank1offs.&.0x
22740 36 30 29 20 7c 20 28 24 64 61 74 61 20 26 20 30 78 31 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 60).|.($data.&.0x1F);...........
22760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 65 ..................$parentObj->se
22780 74 43 75 72 72 65 6e 74 4d 42 43 31 52 4f 4d 42 61 6e 6b 28 29 3b 0a 20 20 20 20 20 20 20 20 20 tCurrentMBC1ROMBank();..........
227a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............};...............
227c0 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 36 30 30 30 29 ......}.elseif.($index.<.0x6000)
227e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 .{.........................$this
22800 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f ->memoryWriter[$index].=.functio
22820 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 n.($parentObj,.$address,.$data).
22840 7b 20 2f 2f 4d 42 43 31 57 72 69 74 65 52 41 4d 42 61 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 {.//MBC1WriteRAMBank............
22860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4d 42 43 31 20 52 41 4d 20 62 61 6e 6b .................//MBC1.RAM.bank
22880 20 73 77 69 74 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .switching......................
228a0 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4d 42 43 31 4d 6f 64 65 29 .......if.($parentObj->MBC1Mode)
228c0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .{..............................
228e0 20 20 20 2f 2f 34 2f 33 32 20 4d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...//4/32.Mode..................
22900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d ...............$parentObj->currM
22920 42 43 52 41 4d 42 61 6e 6b 20 3d 20 24 64 61 74 61 20 26 20 30 78 33 3b 0a 20 20 20 20 20 20 20 BCRAMBank.=.$data.&.0x3;........
22940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 .........................$parent
22960 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 20 3d 20 28 24 Obj->currMBCRAMBankPosition.=.($
22980 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 20 3c 3c 20 31 33 29 parentObj->currMBCRAMBank.<<.13)
229a0 20 2d 20 30 78 41 30 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-.0xA000;......................
229c0 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......}.else.{.................
229e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 31 36 2f 38 20 4d 6f 64 65 0a 20 20 20 20 ................//16/8.Mode.....
22a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 ............................$par
22a20 65 6e 74 4f 62 6a 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 20 3d 20 28 28 24 64 61 74 61 20 26 entObj->ROMBank1offs.=.(($data.&
22a40 20 30 78 30 33 29 20 3c 3c 20 35 29 20 7c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 4f 4d 42 .0x03).<<.5).|.($parentObj->ROMB
22a60 61 6e 6b 31 6f 66 66 73 20 26 20 30 78 31 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ank1offs.&.0x1F);...............
22a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 65 ..................$parentObj->se
22aa0 74 43 75 72 72 65 6e 74 4d 42 43 31 52 4f 4d 42 61 6e 6b 28 29 3b 0a 20 20 20 20 20 20 20 20 20 tCurrentMBC1ROMBank();..........
22ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 ...................}............
22ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............};.................
22b00 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....}.else.{....................
22b20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d .....$this->memoryWriter[$index]
22b40 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 .=.function.($parentObj,.$addres
22b60 73 2c 20 24 64 61 74 61 29 20 7b 20 2f 2f 4d 42 43 31 57 72 69 74 65 54 79 70 65 0a 20 20 20 20 s,.$data).{.//MBC1WriteType.....
22b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4d 42 43 31 20 6d ........................//MBC1.m
22ba0 6f 64 65 20 73 65 74 74 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ode.setting:....................
22bc0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4d 42 43 31 4d 6f 64 65 20 3d 20 .........$parentObj->MBC1Mode.=.
22be0 28 28 24 64 61 74 61 20 26 20 30 78 31 29 20 3d 3d 20 30 78 31 29 3b 0a 20 20 20 20 20 20 20 20 (($data.&.0x1).==.0x1);.........
22c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................};..............
22c20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 .......}.................}.elsei
22c40 66 20 28 24 74 68 69 73 2d 3e 63 4d 42 43 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 f.($this->cMBC2).{..............
22c60 20 20 20 20 20 20 20 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 31 30 30 30 29 20 7b 0a 20 20 .......if.($index.<.0x1000).{...
22c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d ......................$this->mem
22ca0 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 24 4d 42 43 57 72 69 74 65 45 6e 61 oryWriter[$index].=.$MBCWriteEna
22cc0 62 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 ble;.....................}.elsei
22ce0 66 20 28 24 69 6e 64 65 78 20 3e 3d 20 30 78 32 31 30 30 20 26 26 20 24 69 6e 64 65 78 20 3c 20 f.($index.>=.0x2100.&&.$index.<.
22d00 30 78 32 32 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0x2200).{.......................
22d20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 ..$this->memoryWriter[$index].=.
22d40 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 function.($parentObj,.$address,.
22d60 24 64 61 74 61 29 20 7b 20 2f 2f 4d 42 43 32 57 72 69 74 65 52 4f 4d 42 61 6e 6b 0a 20 20 20 20 $data).{.//MBC2WriteROMBank.....
22d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4d 42 43 32 20 52 ........................//MBC2.R
22da0 4f 4d 20 62 61 6e 6b 20 73 77 69 74 63 68 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 OM.bank.switching:..............
22dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 4f 4d 42 61 ...............$parentObj->ROMBa
22de0 6e 6b 31 6f 66 66 73 20 3d 20 24 64 61 74 61 20 26 20 30 78 30 46 3b 0a 20 20 20 20 20 20 20 20 nk1offs.=.$data.&.0x0F;.........
22e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ....................$parentObj->
22e20 73 65 74 43 75 72 72 65 6e 74 4d 42 43 32 41 4e 44 33 52 4f 4d 42 61 6e 6b 28 29 3b 0a 20 20 20 setCurrentMBC2AND3ROMBank();....
22e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 .....................};.........
22e60 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............}.else.{............
22e80 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 .............$this->memoryWriter
22ea0 5b 24 69 6e 64 65 78 5d 20 3d 20 24 63 61 72 74 49 67 6e 6f 72 65 57 72 69 74 65 3b 0a 20 20 20 [$index].=.$cartIgnoreWrite;....
22ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
22ee0 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 4d 42 43 33 29 20 7b 0a 20 20 20 ...}.elseif.($this->cMBC3).{....
22f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 .................if.($index.<.0x
22f20 32 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2000).{.........................
22f40 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 24 4d $this->memoryWriter[$index].=.$M
22f60 42 43 57 72 69 74 65 45 6e 61 62 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 BCWriteEnable;..................
22f80 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 34 30 30 30 29 20 7b 0a ...}.elseif.($index.<.0x4000).{.
22fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d ........................$this->m
22fc0 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 24 4d 42 43 33 57 72 69 74 65 emoryWriter[$index].=.$MBC3Write
22fe0 52 4f 4d 42 61 6e 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 ROMBank;.....................}.e
23000 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 36 30 30 30 29 20 7b 0a 20 20 20 20 20 20 lseif.($index.<.0x6000).{.......
23020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 ..................$this->memoryW
23040 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e riter[$index].=.function.($paren
23060 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 20 2f 2f 4d 42 43 33 57 tObj,.$address,.$data).{.//MBC3W
23080 72 69 74 65 52 41 4d 42 61 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 riteRAMBank.....................
230a0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 ........$parentObj->currMBCRAMBa
230c0 6e 6b 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nk.=.$data;.....................
230e0 20 20 20 20 20 20 20 20 69 66 20 28 24 64 61 74 61 20 3c 20 34 29 20 7b 0a 20 20 20 20 20 20 20 ........if.($data.<.4).{........
23100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4d 42 43 33 20 .........................//MBC3.
23120 52 41 4d 20 62 61 6e 6b 20 73 77 69 74 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 RAM.bank.switching..............
23140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 ...................$parentObj->c
23160 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 20 3d 20 28 24 70 61 72 65 6e 74 urrMBCRAMBankPosition.=.($parent
23180 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 20 3c 3c 20 31 33 29 20 2d 20 30 78 41 Obj->currMBCRAMBank.<<.13).-.0xA
231a0 30 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 000;............................
231c0 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 .}.........................};...
231e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 ..................}.else.{......
23200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 ...................$this->memory
23220 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 Writer[$index].=.function.($pare
23240 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 20 2f 2f 4d 42 43 33 ntObj,.$address,.$data).{.//MBC3
23260 57 72 69 74 65 52 54 43 4c 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 WriteRTCLatch...................
23280 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 64 61 74 61 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 ..........if.($data.==.0).{.....
232a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 ............................$par
232c0 65 6e 74 4f 62 6a 2d 3e 52 54 43 69 73 4c 61 74 63 68 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20 20 entObj->RTCisLatched.=.false;...
232e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 ..........................}.else
23300 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 69 73 4c 61 74 63 68 65 64 29 20 7b if.(!$parentObj->RTCisLatched).{
23320 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
23340 20 2f 2f 43 6f 70 79 20 6f 76 65 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 52 54 43 20 74 69 6d .//Copy.over.the.current.RTC.tim
23360 65 20 66 6f 72 20 72 65 61 64 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.for.reading...................
23380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 69 73 ...............$parentObj->RTCis
233a0 4c 61 74 63 68 65 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Latched.=.true;.................
233c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6c 61 74 63 ................$parentObj->latc
233e0 68 65 64 53 65 63 6f 6e 64 73 20 3d 20 66 6c 6f 6f 72 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 hedSeconds.=.floor($parentObj->R
23400 54 43 53 65 63 6f 6e 64 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 TCSeconds);.....................
23420 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6c 61 74 63 68 65 64 4d ............$parentObj->latchedM
23440 69 6e 75 74 65 73 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 4d 69 6e 75 74 65 73 3b inutes.=.$parentObj->RTCMinutes;
23460 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
23480 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6c 61 74 63 68 65 64 48 6f 75 72 73 20 3d 20 24 70 61 72 .$parentObj->latchedHours.=.$par
234a0 65 6e 74 4f 62 6a 2d 3e 52 54 43 48 6f 75 72 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 entObj->RTCHours;...............
234c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6c 61 ..................$parentObj->la
234e0 74 63 68 65 64 4c 44 61 79 73 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 44 61 79 tchedLDays.=.($parentObj->RTCDay
23500 73 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.&.0xFF);......................
23520 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6c 61 74 63 68 65 64 48 44 ...........$parentObj->latchedHD
23540 61 79 73 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 44 61 79 73 20 3e 3e 20 38 3b 0a ays.=.$parentObj->RTCDays.>>.8;.
23560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ............................}...
23580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 ......................};........
235a0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d .............}.................}
235c0 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 4d 42 43 35 20 7c 7c 20 24 74 68 69 73 2d 3e .elseif.($this->cMBC5.||.$this->
235e0 63 52 55 4d 42 4c 45 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 cRUMBLE).{.....................i
23600 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 32 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 f.($index.<.0x2000).{...........
23620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 ..............$this->memoryWrite
23640 72 5b 24 69 6e 64 65 78 5d 20 3d 20 24 4d 42 43 57 72 69 74 65 45 6e 61 62 6c 65 3b 0a 20 20 20 r[$index].=.$MBCWriteEnable;....
23660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 .................}.elseif.($inde
23680 78 20 3c 20 30 78 33 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x.<.0x3000).{...................
236a0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 ......$this->memoryWriter[$index
236c0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 ].=.function.($parentObj,.$addre
236e0 73 73 2c 20 24 64 61 74 61 29 20 7b 20 2f 2f 4d 42 43 35 57 72 69 74 65 52 4f 4d 42 61 6e 6b 4c ss,.$data).{.//MBC5WriteROMBankL
23700 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f ow............................./
23720 2f 4d 42 43 35 20 52 4f 4d 20 62 61 6e 6b 20 73 77 69 74 63 68 69 6e 67 3a 0a 20 20 20 20 20 20 /MBC5.ROM.bank.switching:.......
23740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a ......................$parentObj
23760 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 4f ->ROMBank1offs.=.($parentObj->RO
23780 4d 42 61 6e 6b 31 6f 66 66 73 20 26 20 30 78 31 30 30 29 20 7c 20 24 64 61 74 61 3b 0a 20 20 20 MBank1offs.&.0x100).|.$data;....
237a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 .........................$parent
237c0 4f 62 6a 2d 3e 73 65 74 43 75 72 72 65 6e 74 4d 42 43 35 52 4f 4d 42 61 6e 6b 28 29 3b 0a 20 20 Obj->setCurrentMBC5ROMBank();...
237e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 ......................};........
23800 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3c 20 .............}.elseif.($index.<.
23820 30 78 34 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0x4000).{.......................
23840 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 ..$this->memoryWriter[$index].=.
23860 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 function.($parentObj,.$address,.
23880 24 64 61 74 61 29 20 7b 20 2f 2f 4d 42 43 35 57 72 69 74 65 52 4f 4d 42 61 6e 6b 48 69 67 68 0a $data).{.//MBC5WriteROMBankHigh.
238a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4d 42 ............................//MB
238c0 43 35 20 52 4f 4d 20 62 61 6e 6b 20 73 77 69 74 63 68 69 6e 67 20 28 62 79 20 6c 65 61 73 74 20 C5.ROM.bank.switching.(by.least.
238e0 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 significant.bit):...............
23900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 4f 4d 42 61 6e ..............$parentObj->ROMBan
23920 6b 31 6f 66 66 73 20 3d 20 28 28 24 64 61 74 61 20 26 20 30 78 30 31 29 20 3c 3c 20 38 29 20 7c k1offs.=.(($data.&.0x01).<<.8).|
23940 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 4f 4d 42 61 6e 6b 31 6f 66 66 73 20 26 20 30 78 46 .($parentObj->ROMBank1offs.&.0xF
23960 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 F);.............................
23980 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 65 74 43 75 72 72 65 6e 74 4d 42 43 35 52 4f 4d 42 61 6e $parentObj->setCurrentMBC5ROMBan
239a0 6b 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a k();.........................};.
239c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 ....................}.elseif.($i
239e0 6e 64 65 78 20 3c 20 30 78 36 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ndex.<.0x6000).{................
23a00 20 20 20 20 20 20 20 20 20 24 52 55 4d 42 4c 45 57 72 69 74 65 52 41 4d 42 61 6e 6b 20 3d 20 66 .........$RUMBLEWriteRAMBank.=.f
23a20 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 unction.($parentObj,.$address,.$
23a40 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 data).{.........................
23a60 20 20 20 20 2f 2f 4d 42 43 35 20 52 41 4d 20 62 61 6e 6b 20 73 77 69 74 63 68 69 6e 67 0a 20 20 ....//MBC5.RAM.bank.switching...
23a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4c 69 6b 65 ..........................//Like
23aa0 20 4d 42 43 35 2c 20 62 75 74 20 62 69 74 20 33 20 6f 66 20 74 68 65 20 6c 6f 77 65 72 20 6e 69 .MBC5,.but.bit.3.of.the.lower.ni
23ac0 62 62 6c 65 20 69 73 20 75 73 65 64 20 66 6f 72 20 72 75 6d 62 6c 69 6e 67 20 61 6e 64 20 62 69 bble.is.used.for.rumbling.and.bi
23ae0 74 20 32 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.2.is.ignored..................
23b00 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 ............$parentObj->currMBCR
23b20 41 4d 42 61 6e 6b 20 3d 20 24 64 61 74 61 20 26 20 30 78 33 3b 0a 20 20 20 20 20 20 20 20 20 20 AMBank.=.$data.&.0x3;...........
23b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 ..................$parentObj->cu
23b60 72 72 4d 42 43 52 41 4d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 20 3d 20 28 24 70 61 72 65 6e 74 4f rrMBCRAMBankPosition.=.($parentO
23b80 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 20 3c 3c 20 31 33 29 20 2d 20 30 78 41 30 bj->currMBCRAMBank.<<.13).-.0xA0
23ba0 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 0a 00;.........................};..
23bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 4d 42 43 35 57 72 69 ........................$MBC5Wri
23be0 74 65 52 41 4d 42 61 6e 6b 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a teRAMBank.=.function.($parentObj
23c00 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ,.$address,.$data).{............
23c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4d 42 43 35 20 52 41 4d 20 62 61 6e 6b .................//MBC5.RAM.bank
23c40 20 73 77 69 74 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .switching......................
23c60 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e .......$parentObj->currMBCRAMBan
23c80 6b 20 3d 20 24 64 61 74 61 20 26 20 30 78 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 k.=.$data.&.0xF;................
23ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 .............$parentObj->currMBC
23cc0 52 41 4d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 RAMBankPosition.=.($parentObj->c
23ce0 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 20 3c 3c 20 31 33 29 20 2d 20 30 78 41 30 30 30 3b 0a 20 urrMBCRAMBank.<<.13).-.0xA000;..
23d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 .......................};.......
23d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 ...................$this->memory
23d40 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 28 24 74 68 69 73 2d 3e 63 52 55 4d 42 4c 45 Writer[$index].=.($this->cRUMBLE
23d60 29 20 3f 20 24 52 55 4d 42 4c 45 57 72 69 74 65 52 41 4d 42 61 6e 6b 20 3a 20 24 4d 42 43 35 57 ).?.$RUMBLEWriteRAMBank.:.$MBC5W
23d80 72 69 74 65 52 41 4d 42 61 6e 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 riteRAMBank;....................
23da0 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .}.else.{.......................
23dc0 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 ..$this->memoryWriter[$index].=.
23de0 24 63 61 72 74 49 67 6e 6f 72 65 57 72 69 74 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $cartIgnoreWrite;...............
23e00 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 ......}.................}.elseif
23e20 20 28 24 74 68 69 73 2d 3e 63 48 75 43 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .($this->cHuC3).{...............
23e40 20 20 20 20 20 20 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 32 30 30 30 29 20 7b 0a 20 20 20 ......if.($index.<.0x2000).{....
23e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f .....................$this->memo
23e80 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 24 4d 42 43 57 72 69 74 65 45 6e 61 62 ryWriter[$index].=.$MBCWriteEnab
23ea0 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 le;.....................}.elseif
23ec0 20 28 24 69 6e 64 65 78 20 3c 20 30 78 34 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .($index.<.0x4000).{............
23ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 .............$this->memoryWriter
23f00 5b 24 69 6e 64 65 78 5d 20 3d 20 24 4d 42 43 33 57 72 69 74 65 52 4f 4d 42 61 6e 6b 3b 0a 20 20 [$index].=.$MBC3WriteROMBank;...
23f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 ..................}.elseif.($ind
23f40 65 78 20 3c 20 30 78 36 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ex.<.0x6000).{..................
23f60 20 20 20 20 20 20 20 2f 2f 48 75 43 33 57 72 69 74 65 52 41 4d 42 61 6e 6b 0a 20 20 20 20 20 20 .......//HuC3WriteRAMBank.......
23f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 ..................$this->memoryW
23fa0 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e riter[$index].=.function.($paren
23fc0 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 tObj,.$address,.$data).{........
23fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 48 75 43 33 20 52 41 4d 20 .....................//HuC3.RAM.
24000 62 61 6e 6b 20 73 77 69 74 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bank.switching..................
24020 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 ...........$parentObj->currMBCRA
24040 4d 42 61 6e 6b 20 3d 20 24 64 61 74 61 20 26 20 30 78 30 33 3b 0a 20 20 20 20 20 20 20 20 20 20 MBank.=.$data.&.0x03;...........
24060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 ..................$parentObj->cu
24080 72 72 4d 42 43 52 41 4d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 20 3d 20 28 24 70 61 72 65 6e 74 4f rrMBCRAMBankPosition.=.($parentO
240a0 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 20 3c 3c 20 31 33 29 20 2d 20 30 78 41 30 bj->currMBCRAMBank.<<.13).-.0xA0
240c0 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 00;.........................};..
240e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 ...................}.else.{.....
24100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 ....................$this->memor
24120 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 24 63 61 72 74 49 67 6e 6f 72 65 57 72 69 yWriter[$index].=.$cartIgnoreWri
24140 74 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 te;.....................}.......
24160 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........}.else.{..............
24180 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 .......$this->memoryWriter[$inde
241a0 78 5d 20 3d 20 24 63 61 72 74 49 67 6e 6f 72 65 57 72 69 74 65 3b 0a 20 20 20 20 20 20 20 20 20 x].=.$cartIgnoreWrite;..........
241c0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 .......}.............}.elseif.($
241e0 69 6e 64 65 78 20 3c 20 30 78 41 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 index.<.0xA000).{...............
24200 20 20 2f 2f 20 56 52 41 4d 57 72 69 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 ..//.VRAMWrite.................$
24220 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e this->memoryWriter[$index].=.fun
24240 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 ction.($parentObj,.$address,.$da
24260 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 56 52 41 4d ta).{.....................//VRAM
24280 20 63 61 6e 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 64 75 72 69 6e 67 20 6d 6f 64 .cannot.be.written.to.during.mod
242a0 65 20 33 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 e.3.....................if.($par
242c0 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 53 54 41 54 20 3c 20 33 29 20 7b 0a 20 20 20 20 20 20 20 20 entObj->modeSTAT.<.3).{.........
242e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 42 6b 67 20 54 69 6c 65 20 64 61 74 61 ................//.Bkg.Tile.data
24300 20 61 72 65 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 .area.........................if
24320 20 28 24 61 64 64 72 65 73 73 20 3c 20 30 78 39 38 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .($address.<.0x9800).{..........
24340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 6c 65 49 6e 64 65 78 20 3d 20 ...................$tileIndex.=.
24360 28 28 24 61 64 64 72 65 73 73 20 2d 20 30 78 38 30 30 30 29 20 3e 3e 20 34 29 20 2b 20 28 33 38 (($address.-.0x8000).>>.4).+.(38
24380 34 20 2a 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 56 52 41 4d 42 61 6e 6b 29 3b 0a 20 4.*.$parentObj->currVRAMBank);..
243a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 ...........................if.($
243c0 70 61 72 65 6e 74 4f 62 6a 2d 3e 74 69 6c 65 52 65 61 64 53 74 61 74 65 5b 24 74 69 6c 65 49 6e parentObj->tileReadState[$tileIn
243e0 64 65 78 5d 20 3d 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dex].==.1).{....................
24400 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 3d 20 63 6f 75 6e 74 28 24 70 61 72 65 6e 74 4f .............$r.=.count($parentO
24420 62 6a 2d 3e 74 69 6c 65 44 61 74 61 29 20 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 74 69 6c 65 bj->tileData).-.$parentObj->tile
24440 43 6f 75 6e 74 20 2b 20 24 74 69 6c 65 49 6e 64 65 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 Count.+.$tileIndex;.............
24460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 ....................do.{........
24480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 .............................$pa
244a0 72 65 6e 74 4f 62 6a 2d 3e 74 69 6c 65 44 61 74 61 5b 24 72 5d 20 3d 20 6e 75 6c 6c 3b 0a 20 20 rentObj->tileData[$r].=.null;...
244c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
244e0 20 20 24 72 20 2d 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 74 69 6c 65 43 6f 75 6e 74 3b 0a 20 ..$r.-=.$parentObj->tileCount;..
24500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ...............................}
24520 20 77 68 69 6c 65 20 28 24 72 20 3e 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .while.($r.>=.0);...............
24540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 74 69 ..................$parentObj->ti
24560 6c 65 52 65 61 64 53 74 61 74 65 5b 24 74 69 6c 65 49 6e 64 65 78 5d 20 3d 20 30 3b 0a 20 20 20 leReadState[$tileIndex].=.0;....
24580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 .........................}......
245a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 ...................}............
245c0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 .............if.($parentObj->cur
245e0 72 56 52 41 4d 42 61 6e 6b 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rVRAMBank.==.0).{...............
24600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 ..............$parentObj->memory
24620 5b 24 61 64 64 72 65 73 73 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 [$address].=.$data;.............
24640 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............}.else.{............
24660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 56 52 41 .................$parentObj->VRA
24680 4d 5b 24 61 64 64 72 65 73 73 20 2d 20 30 78 38 30 30 30 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 M[$address.-.0x8000].=.$data;...
246a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ......................}.........
246c0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b ............}.................};
246e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3c 20 .............}.elseif.($index.<.
24700 30 78 43 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 0xC000).{.................if.(($
24720 74 68 69 73 2d 3e 6e 75 6d 52 41 4d 42 61 6e 6b 73 20 3d 3d 20 31 20 2f 20 31 36 20 26 26 20 24 this->numRAMBanks.==.1./.16.&&.$
24740 69 6e 64 65 78 20 3c 20 30 78 41 32 30 30 29 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 75 6d 52 41 4d index.<.0xA200).||.$this->numRAM
24760 42 61 6e 6b 73 20 3e 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Banks.>=.1).{...................
24780 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 63 4d 42 43 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ..if.(!$this->cMBC3).{..........
247a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 ...............$this->memoryWrit
247c0 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 er[$index].=.function.($parentOb
247e0 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 57 72 j,.$address,.$data).{.//memoryWr
24800 69 74 65 4d 42 43 52 41 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iteMBCRAM.......................
24820 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4d 42 43 52 41 4d 42 61 6e 6b ......if.($parentObj->MBCRAMBank
24840 73 45 6e 61 62 6c 65 64 20 7c 7c 20 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b sEnabled.||.Settings::$settings[
24860 31 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 10]).{..........................
24880 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4d 42 43 52 61 6d 5b 24 61 64 64 72 65 .......$parentObj->MBCRam[$addre
248a0 73 73 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 50 ss.+.$parentObj->currMBCRAMBankP
248c0 6f 73 69 74 69 6f 6e 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 osition].=.$data;...............
248e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
24900 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ........};.....................}
24920 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .else.{.........................
24940 2f 2f 4d 42 43 33 20 52 54 43 20 2b 20 52 41 4d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 //MBC3.RTC.+.RAM:...............
24960 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 ..........$this->memoryWriter[$i
24980 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 ndex].=.function.($parentObj,.$a
249a0 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 57 72 69 74 65 4d 42 ddress,.$data).{.//memoryWriteMB
249c0 43 33 52 41 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 C3RAM...........................
249e0 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4d 42 43 52 41 4d 42 61 6e 6b 73 45 6e 61 ..if.($parentObj->MBCRAMBanksEna
24a00 62 6c 65 64 20 7c 7c 20 53 65 74 74 69 6e 67 73 3a 3a 24 73 65 74 74 69 6e 67 73 5b 31 30 5d 29 bled.||.Settings::$settings[10])
24a20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .{..............................
24a40 20 20 20 73 77 69 74 63 68 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 ...switch.($parentObj->currMBCRA
24a60 4d 42 61 6e 6b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 MBank).{........................
24a80 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 30 3a 0a 20 20 20 20 20 20 20 20 .............case.0x00:.........
24aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 ............................case
24ac0 20 30 78 30 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .0x01:..........................
24ae0 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 32 3a 0a 20 20 20 20 20 20 20 20 20 20 ...........case.0x02:...........
24b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 ..........................case.0
24b20 78 30 33 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x03:............................
24b40 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4d 42 43 52 61 6d 5b .............$parentObj->MBCRam[
24b60 24 61 64 64 72 65 73 73 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 $address.+.$parentObj->currMBCRA
24b80 4d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 MBankPosition].=.$data;.........
24ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24bc0 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 break;..........................
24be0 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 38 3a 0a 20 20 20 20 20 20 20 20 20 20 ...........case.0x08:...........
24c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ..............................if
24c20 20 28 24 64 61 74 61 20 3c 20 36 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .($data.<.60).{.................
24c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 ............................$par
24c60 65 6e 74 4f 62 6a 2d 3e 52 54 43 53 65 63 6f 6e 64 73 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 entObj->RTCSeconds.=.$data;.....
24c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24ca0 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....}.else.{....................
24cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 28 .........................echo.'(
24ce0 42 61 6e 6b 20 23 27 2e 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 Bank.#'.$parentObj->currMBCRAMBa
24d00 6e 6b 2e 27 29 20 52 54 43 20 77 72 69 74 65 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 3a 20 27 2e nk.').RTC.write.out.of.range:.'.
24d20 24 64 61 74 61 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $data.PHP_EOL;..................
24d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .......................}........
24d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24d80 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .break;.........................
24da0 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 39 3a 0a 20 20 20 20 20 20 20 20 20 ............case.0x09:..........
24dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 ...............................i
24de0 66 20 28 24 64 61 74 61 20 3c 20 36 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.($data.<.60).{................
24e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 .............................$pa
24e20 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 4d 69 6e 75 74 65 73 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 rentObj->RTCMinutes.=.$data;....
24e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24e60 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....}.else.{...................
24e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 ..........................echo.'
24ea0 28 42 61 6e 6b 20 23 27 2e 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 (Bank.#'.$parentObj->currMBCRAMB
24ec0 61 6e 6b 2e 27 29 20 52 54 43 20 77 72 69 74 65 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 3a 20 27 ank.').RTC.write.out.of.range:.'
24ee0 2e 24 64 61 74 61 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$data.PHP_EOL;.................
24f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ........................}.......
24f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24f40 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..break;........................
24f60 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 41 3a 0a 20 20 20 20 20 20 20 20 .............case.0x0A:.........
24f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24fa0 69 66 20 28 24 64 61 74 61 20 3c 20 32 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 if.($data.<.24).{...............
24fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 ..............................$p
24fe0 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 48 6f 75 72 73 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 arentObj->RTCHours.=.$data;.....
25000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
25020 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....}.else.{....................
25040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 28 .........................echo.'(
25060 42 61 6e 6b 20 23 27 2e 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 Bank.#'.$parentObj->currMBCRAMBa
25080 6e 6b 2e 27 29 20 52 54 43 20 77 72 69 74 65 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 3a 20 27 2e nk.').RTC.write.out.of.range:.'.
250a0 24 64 61 74 61 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $data.PHP_EOL;..................
250c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .......................}........
250e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
25100 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .break;.........................
25120 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 42 3a 0a 20 20 20 20 20 20 20 20 20 ............case.0x0B:..........
25140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 ...............................$
25160 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 44 61 79 73 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 parentObj->RTCDays.=.($data.&.0x
25180 46 46 29 20 7c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 44 61 79 73 20 26 20 30 78 31 FF).|.($parentObj->RTCDays.&.0x1
251a0 30 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00);............................
251c0 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............break;.............
251e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 30 78 30 ........................case.0x0
25200 43 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 C:..............................
25220 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 44 61 79 4f 76 65 ...........$parentObj->RTCDayOve
25240 72 46 6c 6f 77 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 3b 0a rFlow.=.($data.&.0x80).==.0x80;.
25260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
25280 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 48 61 6c 74 20 3d 20 28 24 ........$parentObj->RTCHalt.=.($
252a0 64 61 74 61 20 26 20 30 78 34 30 29 20 3d 3d 20 30 78 34 30 3b 0a 20 20 20 20 20 20 20 20 20 20 data.&.0x40).==.0x40;...........
252c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 ..............................$p
252e0 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 44 61 79 73 20 3d 20 28 28 24 64 61 74 61 20 26 20 30 78 arentObj->RTCDays.=.(($data.&.0x
25300 31 29 20 3c 3c 20 38 29 20 7c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 52 54 43 44 61 79 73 20 1).<<.8).|.($parentObj->RTCDays.
25320 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 &.0xFF);........................
25340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 .................break;.........
25360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 ............................defa
25380 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ult:............................
253a0 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 49 6e 76 61 6c 69 64 20 4d 42 43 33 20 .............echo.'Invalid.MBC3.
253c0 62 61 6e 6b 20 61 64 64 72 65 73 73 20 73 65 6c 65 63 74 65 64 3a 20 27 2e 24 70 61 72 65 6e 74 bank.address.selected:.'.$parent
253e0 4f 62 6a 2d 3e 63 75 72 72 4d 42 43 52 41 4d 42 61 6e 6b 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 Obj->currMBCRAMBank.PHP_EOL;....
25400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 .............................}..
25420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ...........................}....
25440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 .....................};.........
25460 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 ............}.................}.
25480 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 else.{.....................$this
254a0 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 24 63 61 72 74 49 67 ->memoryWriter[$index].=.$cartIg
254c0 6e 6f 72 65 57 72 69 74 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 noreWrite;.................}....
254e0 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 45 30 .........}.elseif.($index.<.0xE0
25500 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 00).{.................if.($this-
25520 3e 63 47 42 43 20 26 26 20 24 69 6e 64 65 78 20 3e 3d 20 30 78 44 30 30 30 29 20 7b 0a 20 20 20 >cGBC.&&.$index.>=.0xD000).{....
25540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 .................$this->memoryWr
25560 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 iter[$index].=.function.($parent
25580 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 20 2f 2f 6d 65 6d 6f 72 79 Obj,.$address,.$data).{.//memory
255a0 57 72 69 74 65 47 42 43 52 41 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 WriteGBCRAM.....................
255c0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 47 42 43 4d 65 6d 6f 72 79 5b 24 61 64 64 72 65 ....$parentObj->GBCMemory[$addre
255e0 73 73 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 62 63 52 61 6d 42 61 6e 6b 50 6f 73 69 74 ss.+.$parentObj->gbcRamBankPosit
25600 69 6f 6e 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion].=.$data;...................
25620 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 ..};.................}.else.{...
25640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 ..................$this->memoryW
25660 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e riter[$index].=.function.($paren
25680 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 20 2f 2f 6d 65 6d 6f 72 tObj,.$address,.$data).{.//memor
256a0 79 57 72 69 74 65 4e 6f 72 6d 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 yWriteNormal....................
256c0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 .....$parentObj->memory[$address
256e0 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ].=.$data;.....................}
25700 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ;.................}.............
25720 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 64 65 78 20 3c 20 30 78 46 45 30 30 29 20 7b 0a 20 20 20 }.elseif.($index.<.0xFE00).{....
25740 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 47 42 43 20 26 26 20 .............if.($this->cGBC.&&.
25760 24 69 6e 64 65 78 20 3e 3d 20 30 78 46 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $index.>=.0xF000).{.............
25780 20 20 20 20 20 20 20 20 2f 2f 6d 65 6d 6f 72 79 57 72 69 74 65 45 43 48 4f 47 42 43 52 41 4d 0a ........//memoryWriteECHOGBCRAM.
257a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 ....................$this->memor
257c0 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 yWriter[$index].=.function.($par
257e0 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 entObj,.$address,.$data).{......
25800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 47 ...................$parentObj->G
25820 42 43 4d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e BCMemory[$address.+.$parentObj->
25840 67 62 63 52 61 6d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 45 43 48 4f 5d 20 3d 20 24 64 61 74 61 3b gbcRamBankPositionECHO].=.$data;
25860 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 .....................};.........
25880 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........}.else.{................
258a0 20 20 20 20 20 2f 2f 6d 65 6d 6f 72 79 57 72 69 74 65 45 43 48 4f 4e 6f 72 6d 61 6c 0a 20 20 20 .....//memoryWriteECHONormal....
258c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 .................$this->memoryWr
258e0 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 iter[$index].=.function.($parent
25900 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 Obj,.$address,.$data).{.........
25920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f ................$parentObj->memo
25940 72 79 5b 24 61 64 64 72 65 73 73 20 2d 20 30 78 32 30 30 30 5d 20 3d 20 24 64 61 74 61 3b 0a 20 ry[$address.-.0x2000].=.$data;..
25960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 ...................};...........
25980 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 69 ......}.............}.elseif.($i
259a0 6e 64 65 78 20 3c 3d 20 30 78 46 45 41 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ndex.<=.0xFEA0).{...............
259c0 20 20 2f 2f 6d 65 6d 6f 72 79 57 72 69 74 65 4f 41 4d 52 41 4d 0a 20 20 20 20 20 20 20 20 20 20 ..//memoryWriteOAMRAM...........
259e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 ......$this->memoryWriter[$index
25a00 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 ].=.function.($parentObj,.$addre
25a20 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss,.$data).{....................
25a40 20 2f 2f 4f 41 4d 20 52 41 4d 20 63 61 6e 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 .//OAM.RAM.cannot.be.written.to.
25a60 69 6e 20 6d 6f 64 65 20 32 20 26 20 33 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in.mode.2.&.3...................
25a80 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 53 54 41 54 20 3c 20 32 29 20 ..if.($parentObj->modeSTAT.<.2).
25aa0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e {.........................$paren
25ac0 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 5d 20 3d 20 24 64 61 74 61 3b 0a tObj->memory[$address].=.$data;.
25ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
25b00 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 ......};.............}.elseif.($
25b20 69 6e 64 65 78 20 3c 20 30 78 46 46 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 index.<.0xFF00).{...............
25b40 20 20 2f 2f 4f 6e 6c 79 20 47 42 43 20 68 61 73 20 61 63 63 65 73 73 20 74 6f 20 74 68 69 73 20 ..//Only.GBC.has.access.to.this.
25b60 52 41 4d 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e RAM..................if.($this->
25b80 63 47 42 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 6d 65 cGBC).{.....................//me
25ba0 6d 6f 72 79 57 72 69 74 65 4e 6f 72 6d 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 moryWriteNormal.................
25bc0 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 ....$this->memoryWriter[$index].
25be0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 =.function.($parentObj,.$address
25c00 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,.$data).{......................
25c20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 5d 20 ...$parentObj->memory[$address].
25c40 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a =.$data;.....................};.
25c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 ................}.else.{........
25c80 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 .............$this->memoryWriter
25ca0 5b 24 69 6e 64 65 78 5d 20 3d 20 24 63 61 72 74 49 67 6e 6f 72 65 57 72 69 74 65 3b 0a 20 20 20 [$index].=.$cartIgnoreWrite;....
25cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 .............}.............}.els
25ce0 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 53 74 61 72 74 20 74 68 65 20 e.{.................//Start.the.
25d00 49 2f 4f 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 62 79 20 66 69 6c 6c 69 6e 67 20 69 6e I/O.initialization.by.filling.in
25d20 20 74 68 65 20 73 6c 6f 74 73 20 61 73 20 6e 6f 72 6d 61 6c 20 6d 65 6d 6f 72 79 3a 0a 20 20 20 .the.slots.as.normal.memory:....
25d40 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 6d 65 6d 6f 72 79 57 72 69 74 65 4e 6f 72 6d 61 6c .............//memoryWriteNormal
25d60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 .................$this->memoryWr
25d80 69 74 65 72 5b 24 69 6e 64 65 78 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 iter[$index].=.function.($parent
25da0 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 Obj,.$address,.$data).{.........
25dc0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 24 ............$parentObj->memory[$
25de0 61 64 64 72 65 73 73 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 address].=.$data;...............
25e00 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ..};.............}.........}....
25e20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 57 72 69 74 65 4a 75 6d 70 43 6f 6d .....$this->registerWriteJumpCom
25e40 70 69 6c 65 28 29 3b 20 2f 2f 43 6f 6d 70 69 6c 65 20 74 68 65 20 49 2f 4f 20 77 72 69 74 65 20 pile();.//Compile.the.I/O.write.
25e60 66 75 6e 63 74 69 6f 6e 73 20 73 65 70 61 72 61 74 65 6c 79 2e 2e 2e 0a 20 20 20 20 7d 0a 0a 20 functions.separately........}...
25e80 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 57 72 69 74 65 ...public.function.registerWrite
25ea0 4a 75 6d 70 43 6f 6d 70 69 6c 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 49 2f JumpCompile().....{.........//I/
25ec0 4f 20 52 65 67 69 73 74 65 72 73 20 28 47 42 20 2b 20 47 42 43 29 3a 0a 20 20 20 20 20 20 20 20 O.Registers.(GB.+.GBC):.........
25ee0 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 30 30 5d 20 3d 20 66 75 $this->memoryWriter[0xFF00].=.fu
25f00 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 nction.($parentObj,.$address,.$d
25f20 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d ata).{.............$parentObj->m
25f40 65 6d 6f 72 79 5b 30 78 46 46 30 30 5d 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 33 30 29 20 7c emory[0xFF00].=.($data.&.0x30).|
25f60 20 28 28 28 28 24 64 61 74 61 20 26 20 30 78 32 30 29 20 3d 3d 20 30 29 20 3f 20 28 24 70 61 72 .(((($data.&.0x20).==.0).?.($par
25f80 65 6e 74 4f 62 6a 2d 3e 4a 6f 79 50 61 64 20 3e 3e 20 34 29 20 3a 20 30 78 46 29 20 26 20 28 28 entObj->JoyPad.>>.4).:.0xF).&.((
25fa0 28 24 64 61 74 61 20 26 20 30 78 31 30 29 20 3d 3d 20 30 29 20 3f 20 28 24 70 61 72 65 6e 74 4f ($data.&.0x10).==.0).?.($parentO
25fc0 62 6a 2d 3e 4a 6f 79 50 61 64 20 26 20 30 78 46 29 20 3a 20 30 78 46 29 29 3b 0a 20 20 20 20 20 bj->JoyPad.&.0xF).:.0xF));......
25fe0 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 ...};.........$this->memoryWrite
26000 72 5b 30 78 46 46 30 32 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a r[0xFF02].=.function.($parentObj
26020 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ,.$address,.$data).{............
26040 20 69 66 20 28 28 28 24 64 61 74 61 20 26 20 30 78 31 29 20 3d 3d 20 30 78 31 29 29 20 7b 0a 20 .if.((($data.&.0x1).==.0x1)).{..
26060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 49 6e 74 65 72 6e 61 6c 20 63 6c 6f 63 6b 3a ...............//Internal.clock:
26080 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d .................$parentObj->mem
260a0 6f 72 79 5b 30 78 46 46 30 32 5d 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 37 46 29 3b 0a 20 20 ory[0xFF02].=.($data.&.0x7F);...
260c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 ..............$parentObj->memory
260e0 5b 30 78 46 46 30 46 5d 20 7c 3d 20 30 78 38 3b 20 2f 2f 47 65 74 20 74 68 69 73 20 74 69 6d 65 [0xFF0F].|=.0x8;.//Get.this.time
26100 20 64 65 6c 61 79 65 64 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b .delayed................}.else.{
26120 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 45 78 74 65 72 6e 61 6c 20 63 6c 6f 63 .................//External.cloc
26140 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d k:.................$parentObj->m
26160 65 6d 6f 72 79 5b 30 78 46 46 30 32 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 emory[0xFF02].=.$data;..........
26180 20 20 20 20 20 20 20 2f 2f 4e 6f 20 63 6f 6e 6e 65 63 74 65 64 20 73 65 72 69 61 6c 20 64 65 76 .......//No.connected.serial.dev
261a0 69 63 65 2c 20 73 6f 20 64 6f 6e 27 74 20 74 72 69 67 67 65 72 20 69 6e 74 65 72 72 75 70 74 2e ice,.so.don't.trigger.interrupt.
261c0 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 ...............}.........};.....
261e0 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 30 34 5d 20 ....$this->memoryWriter[0xFF04].
26200 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 =.function.($parentObj,.$address
26220 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 ,.$data).{.............$parentOb
26240 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 34 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 7d j->memory[0xFF04].=.0;.........}
26260 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 ;.........$this->memoryWriter[0x
26280 46 46 30 37 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 FF07].=.function.($parentObj,.$a
262a0 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ddress,.$data).{.............$pa
262c0 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 37 5d 20 3d 20 24 64 61 74 61 20 rentObj->memory[0xFF07].=.$data.
262e0 26 20 30 78 30 37 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e &.0x07;.............$parentObj->
26300 54 49 4d 41 45 6e 61 62 6c 65 64 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 30 34 29 20 3d 3d 20 TIMAEnabled.=.($data.&.0x04).==.
26320 30 78 30 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 54 41 0x04;.............$parentObj->TA
26340 43 43 6c 6f 63 6b 65 72 20 3d 20 70 6f 77 28 34 2c 20 28 28 24 64 61 74 61 20 26 20 30 78 33 29 CClocker.=.pow(4,.(($data.&.0x3)
26360 20 21 3d 20 30 29 20 3f 20 28 24 64 61 74 61 20 26 20 30 78 33 29 20 3a 20 34 29 3b 20 2f 2f 54 .!=.0).?.($data.&.0x3).:.4);.//T
26380 4f 44 4f 3a 20 46 69 6e 64 20 61 20 77 61 79 20 74 6f 20 6e 6f 74 20 6d 61 6b 65 20 61 20 63 6f ODO:.Find.a.way.to.not.make.a.co
263a0 6e 64 69 74 69 6f 6e 61 6c 20 69 6e 20 68 65 72 65 2e 2e 2e 0a 20 20 20 20 20 20 20 20 7d 3b 0a nditional.in.here............};.
263c0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 ........$this->memoryWriter[0xFF
263e0 34 35 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 45].=.function.($parentObj,.$add
26400 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ress,.$data).{.............$pare
26420 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 35 5d 20 3d 20 24 64 61 74 61 3b 0a 20 ntObj->memory[0xFF45].=.$data;..
26440 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4c 43 44 69 73 ...........if.($parentObj->LCDis
26460 4f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a On).{.................$parentObj
26480 2d 3e 6d 61 74 63 68 4c 59 43 28 29 3b 20 2f 2f 47 65 74 20 74 68 65 20 63 6f 6d 70 61 72 65 20 ->matchLYC();.//Get.the.compare.
264a0 6f 66 20 74 68 65 20 66 69 72 73 74 20 73 63 61 6e 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 of.the.first.scan.line..........
264c0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ....}.........};.........$this->
264e0 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 34 36 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 memoryWriter[0xFF46].=.function.
26500 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a ($parentObj,.$address,.$data).{.
26520 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 ............$parentObj->memory[0
26540 78 46 46 34 36 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 44 4d xFF46].=.$data;.............//DM
26560 47 20 63 61 6e 6e 6f 74 20 44 4d 41 20 66 72 6f 6d 20 74 68 65 20 52 4f 4d 20 62 61 6e 6b 73 2e G.cannot.DMA.from.the.ROM.banks.
26580 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 47 42 .............if.($parentObj->cGB
265a0 43 20 7c 7c 20 24 64 61 74 61 20 3e 20 30 78 37 46 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 C.||.$data.>.0x7F).{............
265c0 20 20 20 20 20 24 64 61 74 61 20 3c 3c 3d 20 38 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....$data.<<=.8;...............
265e0 20 20 24 61 64 64 72 65 73 73 20 3d 20 30 78 46 45 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..$address.=.0xFE00;............
26600 20 20 20 20 20 77 68 69 6c 65 20 28 24 61 64 64 72 65 73 73 20 3c 20 30 78 46 45 41 30 29 20 7b .....while.($address.<.0xFEA0).{
26620 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d .....................$parentObj-
26640 3e 6d 65 6d 6f 72 79 5b 24 61 64 64 72 65 73 73 2b 2b 5d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a >memory[$address++].=.$parentObj
26660 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 64 61 74 61 5d 28 24 70 61 72 65 6e 74 4f 62 6a ->memoryReader[$data]($parentObj
26680 2c 20 24 64 61 74 61 2b 2b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ,.$data++);.................}...
266a0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 ..........}.........};.........$
266c0 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 34 37 5d 20 3d 20 66 75 6e this->memoryWriter[0xFF47].=.fun
266e0 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 ction.($parentObj,.$address,.$da
26700 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 64 65 ta).{.............$parentObj->de
26720 63 6f 64 65 50 61 6c 65 74 74 65 28 30 2c 20 24 64 61 74 61 29 3b 0a 20 20 20 20 20 20 20 20 20 codePalette(0,.$data);..........
26740 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 37 ...if.($parentObj->memory[0xFF47
26760 5d 20 21 3d 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 ].!=.$data).{.................$p
26780 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 37 5d 20 3d 20 24 64 61 74 61 arentObj->memory[0xFF47].=.$data
267a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 69 6e ;.................$parentObj->in
267c0 76 61 6c 69 64 61 74 65 41 6c 6c 28 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 validateAll(0);.............}...
267e0 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 ......};.........$this->memoryWr
26800 69 74 65 72 5b 30 78 46 46 34 38 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 iter[0xFF48].=.function.($parent
26820 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 Obj,.$address,.$data).{.........
26840 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 64 65 63 6f 64 65 50 61 6c 65 74 74 65 28 34 2c ....$parentObj->decodePalette(4,
26860 20 24 64 61 74 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 .$data);.............if.($parent
26880 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 38 5d 20 21 3d 20 24 64 61 74 61 29 20 7b 0a Obj->memory[0xFF48].!=.$data).{.
268a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f ................$parentObj->memo
268c0 72 79 5b 30 78 46 46 34 38 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ry[0xFF48].=.$data;.............
268e0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 69 6e 76 61 6c 69 64 61 74 65 41 6c 6c 28 31 29 ....$parentObj->invalidateAll(1)
26900 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 ;.............}.........};......
26920 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 34 39 5d 20 3d ...$this->memoryWriter[0xFF49].=
26940 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c .function.($parentObj,.$address,
26960 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a .$data).{.............$parentObj
26980 2d 3e 64 65 63 6f 64 65 50 61 6c 65 74 74 65 28 38 2c 20 24 64 61 74 61 29 3b 0a 20 20 20 20 20 ->decodePalette(8,.$data);......
269a0 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 .......if.($parentObj->memory[0x
269c0 46 46 34 39 5d 20 21 3d 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 FF49].!=.$data).{...............
269e0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 39 5d 20 3d 20 24 ..$parentObj->memory[0xFF49].=.$
26a00 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a data;.................$parentObj
26a20 2d 3e 69 6e 76 61 6c 69 64 61 74 65 41 6c 6c 28 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ->invalidateAll(2);.............
26a40 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e }.........};.........if.($this->
26a60 63 47 42 43 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 47 61 6d 65 42 6f 79 20 43 6f cGBC).{.............//GameBoy.Co
26a80 6c 6f 72 20 53 70 65 63 69 66 69 63 20 49 2f 4f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 lor.Specific.I/O:.............$t
26aa0 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 34 30 5d 20 3d 20 66 75 6e 63 his->memoryWriter[0xFF40].=.func
26ac0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 tion.($parentObj,.$address,.$dat
26ae0 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d a).{.................$temp_var.=
26b00 20 28 24 64 61 74 61 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 3b 0a 20 20 20 20 20 20 20 .($data.&.0x80).==.0x80;........
26b20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 65 6d 70 5f 76 61 72 20 21 3d 20 24 70 61 72 65 6e .........if.($temp_var.!=.$paren
26b40 74 4f 62 6a 2d 3e 4c 43 44 69 73 4f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tObj->LCDisOn).{................
26b60 20 20 20 20 20 2f 2f 57 68 65 6e 20 74 68 65 20 64 69 73 70 6c 61 79 20 6d 6f 64 65 20 63 68 61 .....//When.the.display.mode.cha
26b80 6e 67 65 73 2e 2e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 nges........................$par
26ba0 65 6e 74 4f 62 6a 2d 3e 4c 43 44 69 73 4f 6e 20 3d 20 24 74 65 6d 70 5f 76 61 72 3b 0a 20 20 20 entObj->LCDisOn.=.$temp_var;....
26bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d .................$parentObj->mem
26be0 6f 72 79 5b 30 78 46 46 34 31 5d 20 26 3d 20 30 78 46 38 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ory[0xFF41].&=.0xF8;............
26c00 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 53 54 41 54 54 72 61 63 6b 65 72 .........$parentObj->STATTracker
26c20 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 53 54 41 54 20 3d 20 24 70 61 72 65 6e .=.$parentObj->modeSTAT.=.$paren
26c40 74 4f 62 6a 2d 3e 4c 43 44 54 69 63 6b 73 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 61 63 74 tObj->LCDTicks.=.$parentObj->act
26c60 75 61 6c 53 63 61 6e 4c 69 6e 65 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 ualScanLine.=.$parentObj->memory
26c80 5b 30 78 46 46 34 34 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [0xFF44].=.0;...................
26ca0 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4c 43 44 69 73 4f 6e 29 20 7b 0a 20 20 20 ..if.($parentObj->LCDisOn).{....
26cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d .....................$parentObj-
26ce0 3e 6d 61 74 63 68 4c 59 43 28 29 3b 20 2f 2f 47 65 74 20 74 68 65 20 63 6f 6d 70 61 72 65 20 6f >matchLYC();.//Get.the.compare.o
26d00 66 20 74 68 65 20 66 69 72 73 74 20 73 63 61 6e 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 f.the.first.scan.line...........
26d20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........}.else.{.............
26d40 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 64 69 73 70 6c 61 79 53 ............$parentObj->displayS
26d60 68 6f 77 4f 66 66 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a howOff();.....................}.
26d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ....................$parentObj->
26da0 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 26 3d 20 30 78 46 44 3b 0a 20 20 20 20 20 20 20 20 memory[0xFF0F].&=.0xFD;.........
26dc0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ........}.................$paren
26de0 74 4f 62 6a 2d 3e 67 66 78 57 69 6e 64 6f 77 59 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 34 30 tObj->gfxWindowY.=.($data.&.0x40
26e00 29 20 3d 3d 20 30 78 34 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ).==.0x40;.................$pare
26e20 6e 74 4f 62 6a 2d 3e 67 66 78 57 69 6e 64 6f 77 44 69 73 70 6c 61 79 20 3d 20 28 24 64 61 74 61 ntObj->gfxWindowDisplay.=.($data
26e40 20 26 20 30 78 32 30 29 20 3d 3d 20 30 78 32 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .&.0x20).==.0x20;...............
26e60 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 66 78 42 61 63 6b 67 72 6f 75 6e 64 58 20 3d 20 28 ..$parentObj->gfxBackgroundX.=.(
26e80 24 64 61 74 61 20 26 20 30 78 31 30 29 20 3d 3d 20 30 78 31 30 3b 0a 20 20 20 20 20 20 20 20 20 $data.&.0x10).==.0x10;..........
26ea0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 66 78 42 61 63 6b 67 72 6f 75 6e 64 .......$parentObj->gfxBackground
26ec0 59 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 30 38 29 20 3d 3d 20 30 78 30 38 3b 0a 20 20 20 20 Y.=.($data.&.0x08).==.0x08;.....
26ee0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 66 78 53 70 72 69 74 ............$parentObj->gfxSprit
26f00 65 44 6f 75 62 6c 65 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 30 34 29 20 3d 3d 20 30 78 30 34 eDouble.=.($data.&.0x04).==.0x04
26f20 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 66 ;.................$parentObj->gf
26f40 78 53 70 72 69 74 65 53 68 6f 77 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 30 32 29 20 3d 3d 20 xSpriteShow.=.($data.&.0x02).==.
26f60 30 78 30 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 0x02;.................$parentObj
26f80 2d 3e 73 70 72 69 74 65 50 72 69 6f 72 69 74 79 45 6e 61 62 6c 65 64 20 3d 20 28 24 64 61 74 61 ->spritePriorityEnabled.=.($data
26fa0 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .&.0x01).==.0x01;...............
26fc0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 30 5d 20 3d 20 24 ..$parentObj->memory[0xFF40].=.$
26fe0 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 data;.............};............
27000 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 34 31 5d 20 3d 20 66 .$this->memoryWriter[0xFF41].=.f
27020 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 unction.($parentObj,.$address,.$
27040 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f data).{.................$parentO
27060 62 6a 2d 3e 4c 59 43 4d 61 74 63 68 54 72 69 67 67 65 72 53 54 41 54 20 3d 20 28 28 24 64 61 74 bj->LYCMatchTriggerSTAT.=.(($dat
27080 61 20 26 20 30 78 34 30 29 20 3d 3d 20 30 78 34 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 a.&.0x40).==.0x40);.............
270a0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 32 54 72 69 67 67 65 72 53 54 41 54 ....$parentObj->mode2TriggerSTAT
270c0 20 3d 20 28 28 24 64 61 74 61 20 26 20 30 78 32 30 29 20 3d 3d 20 30 78 32 30 29 3b 0a 20 20 20 .=.(($data.&.0x20).==.0x20);....
270e0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 31 54 72 .............$parentObj->mode1Tr
27100 69 67 67 65 72 53 54 41 54 20 3d 20 28 28 24 64 61 74 61 20 26 20 30 78 31 30 29 20 3d 3d 20 30 iggerSTAT.=.(($data.&.0x10).==.0
27120 78 31 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a x10);.................$parentObj
27140 2d 3e 6d 6f 64 65 30 54 72 69 67 67 65 72 53 54 41 54 20 3d 20 28 28 24 64 61 74 61 20 26 20 30 ->mode0TriggerSTAT.=.(($data.&.0
27160 78 30 38 29 20 3d 3d 20 30 78 30 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 x08).==.0x08);.................$
27180 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 31 5d 20 3d 20 28 24 64 61 parentObj->memory[0xFF41].=.($da
271a0 74 61 20 26 20 30 78 46 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 ta.&.0xF8);.............};......
271c0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 34 .......$this->memoryWriter[0xFF4
271e0 44 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 D].=.function.($parentObj,.$addr
27200 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 ess,.$data).{.................$p
27220 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 44 5d 20 3d 20 28 24 64 61 74 arentObj->memory[0xFF4D].=.($dat
27240 61 20 26 20 30 78 37 46 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b a.&.0x7F).+.($parentObj->memory[
27260 30 78 46 46 34 44 5d 20 26 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 0xFF4D].&.0x80);.............};.
27280 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b ............$this->memoryWriter[
272a0 30 78 46 46 34 46 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 0xFF4F].=.function.($parentObj,.
272c0 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 $address,.$data).{..............
272e0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 75 72 72 56 52 41 4d 42 61 6e 6b 20 3d 20 24 64 ...$parentObj->currVRAMBank.=.$d
27300 61 74 61 20 26 20 30 78 30 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4f 6e ata.&.0x01;.................//On
27320 6c 79 20 77 72 69 74 61 62 6c 65 20 62 79 20 47 42 43 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ly.writable.by.GBC..............
27340 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 };.............$this->memoryWrit
27360 65 72 5b 30 78 46 46 35 31 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 er[0xFF51].=.function.($parentOb
27380 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 j,.$address,.$data).{...........
273a0 20 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 68 64 6d 61 52 75 6e 6e 69 ......if.(!$parentObj->hdmaRunni
273c0 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ng).{.....................$paren
273e0 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 31 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 tObj->memory[0xFF51].=.$data;...
27400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 ..............}.............};..
27420 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 ...........$this->memoryWriter[0
27440 78 46 46 35 32 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 xFF52].=.function.($parentObj,.$
27460 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 address,.$data).{...............
27480 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 68 64 6d 61 52 75 6e 6e 69 6e 67 29 20 ..if.(!$parentObj->hdmaRunning).
274a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a {.....................$parentObj
274c0 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 32 5d 20 3d 20 24 64 61 74 61 20 26 20 30 78 46 30 3b ->memory[0xFF52].=.$data.&.0xF0;
274e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d .................}.............}
27500 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 ;.............$this->memoryWrite
27520 72 5b 30 78 46 46 35 33 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a r[0xFF53].=.function.($parentObj
27540 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ,.$address,.$data).{............
27560 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 68 64 6d 61 52 75 6e 6e 69 6e .....if.(!$parentObj->hdmaRunnin
27580 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 g).{.....................$parent
275a0 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 33 5d 20 3d 20 24 64 61 74 61 20 26 20 30 78 Obj->memory[0xFF53].=.$data.&.0x
275c0 31 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 1F;.................}...........
275e0 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 ..};.............$this->memoryWr
27600 69 74 65 72 5b 30 78 46 46 35 34 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 iter[0xFF54].=.function.($parent
27620 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 Obj,.$address,.$data).{.........
27640 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 68 64 6d 61 52 75 6e ........if.(!$parentObj->hdmaRun
27660 6e 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 ning).{.....................$par
27680 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 34 5d 20 3d 20 24 64 61 74 61 20 26 entObj->memory[0xFF54].=.$data.&
276a0 20 30 78 46 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .0xF0;.................}........
276c0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 .....};.............$this->memor
276e0 79 57 72 69 74 65 72 5b 30 78 46 46 35 35 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 yWriter[0xFF55].=.function.($par
27700 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 entObj,.$address,.$data).{......
27720 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 68 64 6d 61 ...........if.(!$parentObj->hdma
27740 52 75 6e 6e 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 Running).{.....................i
27760 66 20 28 28 24 64 61 74 61 20 26 20 30 78 38 30 29 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 f.(($data.&.0x80).==.0).{.......
27780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 44 4d 41 0a 20 20 20 20 20 20 20 20 ..................//DMA.........
277a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 ................$parentObj->CPUT
277c0 69 63 6b 73 20 2b 3d 20 31 20 2b 20 28 28 38 20 2a 20 28 28 24 64 61 74 61 20 26 20 30 78 37 46 icks.+=.1.+.((8.*.(($data.&.0x7F
277e0 29 20 2b 20 31 29 29 20 2a 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 75 6c 74 69 70 6c 69 65 72 ).+.1)).*.$parentObj->multiplier
27800 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 6d 61 53 );.........................$dmaS
27820 72 63 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 31 5d rc.=.($parentObj->memory[0xFF51]
27840 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 .<<.8).+.$parentObj->memory[0xFF
27860 35 32 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 6d 52];.........................$dm
27880 61 44 73 74 20 3d 20 30 78 38 30 30 30 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d aDst.=.0x8000.+.($parentObj->mem
278a0 6f 72 79 5b 30 78 46 46 35 33 5d 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ory[0xFF53].<<.8).+.$parentObj->
278c0 6d 65 6d 6f 72 79 5b 30 78 46 46 35 34 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 memory[0xFF54];.................
278e0 20 20 20 20 20 20 20 20 24 65 6e 64 41 6d 6f 75 6e 74 20 3d 20 28 28 28 24 64 61 74 61 20 26 20 ........$endAmount.=.((($data.&.
27900 30 78 37 46 29 20 2a 20 30 78 31 30 29 20 2b 20 30 78 31 30 29 3b 0a 20 20 20 20 20 20 20 20 20 0x7F).*.0x10).+.0x10);..........
27920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 6c 6f 6f 70 41 6d 6f 75 6e 74 20 ...............for.($loopAmount.
27940 3d 20 30 3b 20 24 6c 6f 6f 70 41 6d 6f 75 6e 74 20 3c 20 24 65 6e 64 41 6d 6f 75 6e 74 3b 20 2b =.0;.$loopAmount.<.$endAmount;.+
27960 2b 24 6c 6f 6f 70 41 6d 6f 75 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +$loopAmount).{.................
27980 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 ............$parentObj->memoryWr
279a0 69 74 65 28 24 64 6d 61 44 73 74 2b 2b 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 ite($dmaDst++,.$parentObj->memor
279c0 79 52 65 61 64 28 24 64 6d 61 53 72 63 2b 2b 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 yRead($dmaSrc++));..............
279e0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........}....................
27a00 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 31 5d 20 .....$parentObj->memory[0xFF51].
27a20 3d 20 28 28 24 64 6d 61 53 72 63 20 26 20 30 78 46 46 30 30 29 20 3e 3e 20 38 29 3b 0a 20 20 20 =.(($dmaSrc.&.0xFF00).>>.8);....
27a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d .....................$parentObj-
27a60 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 32 5d 20 3d 20 28 24 64 6d 61 53 72 63 20 26 20 30 78 30 >memory[0xFF52].=.($dmaSrc.&.0x0
27a80 30 46 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 0F0);.........................$p
27aa0 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 33 5d 20 3d 20 28 28 24 64 6d arentObj->memory[0xFF53].=.(($dm
27ac0 61 44 73 74 20 26 20 30 78 31 46 30 30 29 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 aDst.&.0x1F00).>>.8);...........
27ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 ..............$parentObj->memory
27b00 5b 30 78 46 46 35 34 5d 20 3d 20 28 24 64 6d 61 44 73 74 20 26 20 30 78 30 30 46 30 29 3b 0a 20 [0xFF54].=.($dmaDst.&.0x00F0);..
27b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 .......................$parentOb
27b40 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 35 5d 20 3d 20 30 78 46 46 3b 20 2f 2f 54 72 61 6e j->memory[0xFF55].=.0xFF;.//Tran
27b60 73 66 65 72 20 63 6f 6d 70 6c 65 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sfer.completed..................
27b80 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....}.else.{....................
27ba0 20 20 20 20 20 2f 2f 48 2d 42 6c 61 6e 6b 20 44 4d 41 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .....//H-Blank.DMA..............
27bc0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 64 61 74 61 20 3e 20 30 78 38 30 29 20 7b 0a 20 ...........if.($data.>.0x80).{..
27be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ...........................$pare
27c00 6e 74 4f 62 6a 2d 3e 68 64 6d 61 52 75 6e 6e 69 6e 67 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 ntObj->hdmaRunning.=.true;......
27c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 .......................$parentOb
27c40 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 35 5d 20 3d 20 24 64 61 74 61 20 26 20 30 78 37 46 j->memory[0xFF55].=.$data.&.0x7F
27c60 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 ;.........................}.else
27c80 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 .{.............................$
27ca0 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 35 5d 20 3d 20 30 78 46 46 parentObj->memory[0xFF55].=.0xFF
27cc0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ;.........................}.....
27ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................}...............
27d00 20 20 7d 20 65 6c 73 65 69 66 20 28 28 24 64 61 74 61 20 26 20 30 78 38 30 29 20 3d 3d 20 30 29 ..}.elseif.(($data.&.0x80).==.0)
27d20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 53 74 6f 70 20 48 2d .{.....................//Stop.H-
27d40 42 6c 61 6e 6b 20 44 4d 41 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 Blank.DMA.....................$p
27d60 61 72 65 6e 74 4f 62 6a 2d 3e 68 64 6d 61 52 75 6e 6e 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 20 arentObj->hdmaRunning.=.false;..
27d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d ...................$parentObj->m
27da0 65 6d 6f 72 79 5b 30 78 46 46 35 35 5d 20 7c 3d 20 30 78 38 30 3b 0a 20 20 20 20 20 20 20 20 20 emory[0xFF55].|=.0x80;..........
27dc0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 .......}.............};.........
27de0 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 36 38 5d 20 ....$this->memoryWriter[0xFF68].
27e00 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 =.function.($parentObj,.$address
27e20 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ,.$data).{.................$pare
27e40 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 39 5d 20 3d 20 30 78 46 46 20 26 20 24 ntObj->memory[0xFF69].=.0xFF.&.$
27e60 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 62 63 52 61 77 50 61 6c 65 74 74 65 5b 24 64 61 74 61 20 26 parentObj->gbcRawPalette[$data.&
27e80 20 30 78 33 46 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f .0x3F];.................$parentO
27ea0 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 38 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 bj->memory[0xFF68].=.$data;.....
27ec0 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 ........};.............$this->me
27ee0 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 36 39 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 moryWriter[0xFF69].=.function.($
27f00 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 parentObj,.$address,.$data).{...
27f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 65 74 47 42 43 ..............$parentObj->setGBC
27f40 50 61 6c 65 74 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 Palette($parentObj->memory[0xFF6
27f60 38 5d 20 26 20 30 78 33 46 2c 20 24 64 61 74 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 8].&.0x3F,.$data);..............
27f80 20 20 20 2f 2f 20 68 69 67 68 20 62 69 74 20 3d 20 61 75 74 6f 69 6e 63 72 65 6d 65 6e 74 0a 20 ...//.high.bit.=.autoincrement..
27fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 ...............if.($parentObj->u
27fc0 73 62 74 73 62 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 38 5d sbtsb($parentObj->memory[0xFF68]
27fe0 29 20 3c 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 ).<.0).{.....................$ne
28000 78 74 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 73 62 74 73 62 28 24 70 61 72 65 6e xt.=.(($parentObj->usbtsb($paren
28020 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 38 5d 29 20 2b 20 31 29 20 26 20 30 78 33 tObj->memory[0xFF68]).+.1).&.0x3
28040 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f F);.....................$parentO
28060 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 38 5d 20 3d 20 28 24 6e 65 78 74 20 7c 20 30 78 bj->memory[0xFF68].=.($next.|.0x
28080 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 80);.....................$parent
280a0 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 39 5d 20 3d 20 30 78 46 46 20 26 20 24 70 61 Obj->memory[0xFF69].=.0xFF.&.$pa
280c0 72 65 6e 74 4f 62 6a 2d 3e 67 62 63 52 61 77 50 61 6c 65 74 74 65 5b 24 6e 65 78 74 5d 3b 0a 20 rentObj->gbcRawPalette[$next];..
280e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 ...............}.else.{.........
28100 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 ............$parentObj->memory[0
28120 78 46 46 36 39 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xFF69].=.$data;.................
28140 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 }.............};.............$th
28160 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 36 41 5d 20 3d 20 66 75 6e 63 74 is->memoryWriter[0xFF6A].=.funct
28180 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 ion.($parentObj,.$address,.$data
281a0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ).{.................$parentObj->
281c0 6d 65 6d 6f 72 79 5b 30 78 46 46 36 42 5d 20 3d 20 30 78 46 46 20 26 20 24 70 61 72 65 6e 74 4f memory[0xFF6B].=.0xFF.&.$parentO
281e0 62 6a 2d 3e 67 62 63 52 61 77 50 61 6c 65 74 74 65 5b 28 24 64 61 74 61 20 26 20 30 78 33 46 29 bj->gbcRawPalette[($data.&.0x3F)
28200 20 7c 20 30 78 34 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e .|.0x40];.................$paren
28220 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 41 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 tObj->memory[0xFF6A].=.$data;...
28240 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ..........};.............$this->
28260 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 36 42 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 memoryWriter[0xFF6B].=.function.
28280 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a ($parentObj,.$address,.$data).{.
282a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 65 74 47 ................$parentObj->setG
282c0 42 43 50 61 6c 65 74 74 65 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 BCPalette(($parentObj->memory[0x
282e0 46 46 36 41 5d 20 26 20 30 78 33 46 29 20 2b 20 30 78 34 30 2c 20 24 64 61 74 61 29 3b 0a 20 20 FF6A].&.0x3F).+.0x40,.$data);...
28300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 68 69 67 68 20 62 69 74 20 3d 20 61 75 74 6f ..............//.high.bit.=.auto
28320 69 6e 63 72 65 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 increment.................if.($p
28340 61 72 65 6e 74 4f 62 6a 2d 3e 75 73 62 74 73 62 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d arentObj->usbtsb($parentObj->mem
28360 6f 72 79 5b 30 78 46 46 36 41 5d 29 20 3c 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ory[0xFF6A]).<.0).{.............
28380 20 20 20 20 20 20 20 20 24 6e 65 78 74 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 ........$next.=.(($parentObj->me
283a0 6d 6f 72 79 5b 30 78 46 46 36 41 5d 20 2b 20 31 29 20 26 20 30 78 33 46 29 3b 0a 20 20 20 20 20 mory[0xFF6A].+.1).&.0x3F);......
283c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 ...............$parentObj->memor
283e0 79 5b 30 78 46 46 36 41 5d 20 3d 20 28 24 6e 65 78 74 20 7c 20 30 78 38 30 29 3b 0a 20 20 20 20 y[0xFF6A].=.($next.|.0x80);.....
28400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f ................$parentObj->memo
28420 72 79 5b 30 78 46 46 36 42 5d 20 3d 20 30 78 46 46 20 26 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ry[0xFF6B].=.0xFF.&.$parentObj->
28440 67 62 63 52 61 77 50 61 6c 65 74 74 65 5b 24 6e 65 78 74 20 7c 20 30 78 34 30 5d 3b 0a 20 20 20 gbcRawPalette[$next.|.0x40];....
28460 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .............}.else.{...........
28480 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 ..........$parentObj->memory[0xF
284a0 46 36 42 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a F6B].=.$data;.................}.
284c0 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 ............};.............$this
284e0 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 37 30 5d 20 3d 20 66 75 6e 63 74 69 6f ->memoryWriter[0xFF70].=.functio
28500 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 n.($parentObj,.$address,.$data).
28520 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 64 64 72 65 73 73 43 68 65 63 6b 20 {.................$addressCheck.
28540 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 31 5d 20 3c 3c =.($parentObj->memory[0xFF51].<<
28560 20 38 29 20 7c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 32 5d .8).|.$parentObj->memory[0xFF52]
28580 3b 20 2f 2f 43 61 6e 6e 6f 74 20 63 68 61 6e 67 65 20 74 68 65 20 52 41 4d 20 62 61 6e 6b 20 77 ;.//Cannot.change.the.RAM.bank.w
285a0 68 69 6c 65 20 57 52 41 4d 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 61 20 72 75 6e hile.WRAM.is.the.source.of.a.run
285c0 6e 69 6e 67 20 48 44 4d 41 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 ning.HDMA..................if.(!
285e0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 68 64 6d 61 52 75 6e 6e 69 6e 67 20 7c 7c 20 24 61 64 64 72 $parentObj->hdmaRunning.||.$addr
28600 65 73 73 43 68 65 63 6b 20 3c 20 30 78 44 30 30 30 20 7c 7c 20 24 61 64 64 72 65 73 73 43 68 65 essCheck.<.0xD000.||.$addressChe
28620 63 6b 20 3e 3d 20 30 78 45 30 30 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ck.>=.0xE000).{.................
28640 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 62 63 52 61 6d 42 61 6e 6b 20 3d 20 6d 61 78 ....$parentObj->gbcRamBank.=.max
28660 28 24 64 61 74 61 20 26 20 30 78 30 37 2c 20 31 29 3b 20 2f 2f 42 61 6e 6b 20 72 61 6e 67 65 20 ($data.&.0x07,.1);.//Bank.range.
28680 69 73 20 66 72 6f 6d 20 31 2d 37 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 is.from.1-7.....................
286a0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 62 63 52 61 6d 42 61 6e 6b 50 6f 73 69 74 69 6f 6e 20 3d $parentObj->gbcRamBankPosition.=
286c0 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 62 63 52 61 6d 42 61 6e 6b 20 2d 20 31 29 20 2a .(($parentObj->gbcRamBank.-.1).*
286e0 20 30 78 31 30 30 30 29 20 2d 20 30 78 44 30 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .0x1000).-.0xD000;..............
28700 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 62 63 52 61 6d 42 61 6e 6b 50 6f 73 .......$parentObj->gbcRamBankPos
28720 69 74 69 6f 6e 45 43 48 4f 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 62 63 52 61 6d itionECHO.=.(($parentObj->gbcRam
28740 42 61 6e 6b 20 2d 20 31 29 20 2a 20 30 78 31 30 30 30 29 20 2d 20 30 78 46 30 30 30 3b 0a 20 20 Bank.-.1).*.0x1000).-.0xF000;...
28760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
28780 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 37 30 5d 20 3d 20 28 24 64 $parentObj->memory[0xFF70].=.($d
287a0 61 74 61 20 7c 20 30 78 34 30 29 3b 20 2f 2f 42 69 74 20 36 20 63 61 6e 6e 6f 74 20 62 65 20 77 ata.|.0x40);.//Bit.6.cannot.be.w
287c0 72 69 74 74 65 6e 20 74 6f 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 ritten.to..............};.......
287e0 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 46 69 6c 6c 20 69 6e ..}.else.{.............//Fill.in
28800 20 74 68 65 20 47 61 6d 65 42 6f 79 20 43 6f 6c 6f 72 20 49 2f 4f 20 72 65 67 69 73 74 65 72 73 .the.GameBoy.Color.I/O.registers
28820 20 61 73 20 6e 6f 72 6d 61 6c 20 52 41 4d 20 66 6f 72 20 47 61 6d 65 42 6f 79 20 63 6f 6d 70 61 .as.normal.RAM.for.GameBoy.compa
28840 74 69 62 69 6c 69 74 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d tibility:.............$this->mem
28860 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 34 30 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 oryWriter[0xFF40].=.function.($p
28880 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 arentObj,.$address,.$data).{....
288a0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 28 24 64 61 74 61 20 .............$temp_var.=.($data.
288c0 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 &.0x80).==.0x80;................
288e0 20 69 66 20 28 24 74 65 6d 70 5f 76 61 72 20 21 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4c 43 .if.($temp_var.!=.$parentObj->LC
28900 44 69 73 4f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 57 DisOn).{.....................//W
28920 68 65 6e 20 74 68 65 20 64 69 73 70 6c 61 79 20 6d 6f 64 65 20 63 68 61 6e 67 65 73 2e 2e 2e 0a hen.the.display.mode.changes....
28940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ....................$parentObj->
28960 4c 43 44 69 73 4f 6e 20 3d 20 24 74 65 6d 70 5f 76 61 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 LCDisOn.=.$temp_var;............
28980 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 .........$parentObj->memory[0xFF
289a0 34 31 5d 20 26 3d 20 30 78 46 38 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41].&=.0xF8;....................
289c0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 53 54 41 54 54 72 61 63 6b 65 72 20 3d 20 24 70 61 72 65 .$parentObj->STATTracker.=.$pare
289e0 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 53 54 41 54 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4c 43 ntObj->modeSTAT.=.$parentObj->LC
28a00 44 54 69 63 6b 73 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c DTicks.=.$parentObj->actualScanL
28a20 69 6e 65 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 34 5d ine.=.$parentObj->memory[0xFF44]
28a40 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 .=.0;.....................if.($p
28a60 61 72 65 6e 74 4f 62 6a 2d 3e 4c 43 44 69 73 4f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 arentObj->LCDisOn).{............
28a80 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 61 74 63 68 4c 59 .............$parentObj->matchLY
28aa0 43 28 29 3b 20 2f 2f 47 65 74 20 74 68 65 20 63 6f 6d 70 61 72 65 20 6f 66 20 74 68 65 20 66 69 C();.//Get.the.compare.of.the.fi
28ac0 72 73 74 20 73 63 61 6e 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rst.scan.line...................
28ae0 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...}.else.{.....................
28b00 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 64 69 73 70 6c 61 79 53 68 6f 77 4f 66 66 28 29 ....$parentObj->displayShowOff()
28b20 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ;.....................}.........
28b40 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 ............$parentObj->memory[0
28b60 78 46 46 30 46 5d 20 26 3d 20 30 78 46 44 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xFF0F].&=.0xFD;.................
28b80 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 66 }.................$parentObj->gf
28ba0 78 57 69 6e 64 6f 77 59 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 34 30 29 20 3d 3d 20 30 78 34 xWindowY.=.($data.&.0x40).==.0x4
28bc0 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 0;.................$parentObj->g
28be0 66 78 57 69 6e 64 6f 77 44 69 73 70 6c 61 79 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 32 30 29 fxWindowDisplay.=.($data.&.0x20)
28c00 20 3d 3d 20 30 78 32 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e .==.0x20;.................$paren
28c20 74 4f 62 6a 2d 3e 67 66 78 42 61 63 6b 67 72 6f 75 6e 64 58 20 3d 20 28 24 64 61 74 61 20 26 20 tObj->gfxBackgroundX.=.($data.&.
28c40 30 78 31 30 29 20 3d 3d 20 30 78 31 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 0x10).==.0x10;.................$
28c60 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 66 78 42 61 63 6b 67 72 6f 75 6e 64 59 20 3d 20 28 24 64 61 parentObj->gfxBackgroundY.=.($da
28c80 74 61 20 26 20 30 78 30 38 29 20 3d 3d 20 30 78 30 38 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ta.&.0x08).==.0x08;.............
28ca0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 66 78 53 70 72 69 74 65 44 6f 75 62 6c 65 20 ....$parentObj->gfxSpriteDouble.
28cc0 3d 20 28 24 64 61 74 61 20 26 20 30 78 30 34 29 20 3d 3d 20 30 78 30 34 3b 0a 20 20 20 20 20 20 =.($data.&.0x04).==.0x04;.......
28ce0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 66 78 53 70 72 69 74 65 53 ..........$parentObj->gfxSpriteS
28d00 68 6f 77 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 30 32 29 20 3d 3d 20 30 78 30 32 3b 0a 20 20 how.=.($data.&.0x02).==.0x02;...
28d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 64 61 74 61 20 26 20 30 78 30 31 29 ..............if.(($data.&.0x01)
28d40 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 .==.0).{.....................//.
28d60 74 68 69 73 20 65 6d 75 6c 61 74 65 73 20 74 68 65 20 67 62 63 2d 69 6e 2d 67 62 2d 6d 6f 64 65 this.emulates.the.gbc-in-gb-mode
28d80 2c 20 6e 6f 74 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 67 62 2d 6d 6f 64 65 0a 20 20 20 20 20 ,.not.the.original.gb-mode......
28da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 62 67 45 6e 61 ...............$parentObj->bgEna
28dc0 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bled.=.false;...................
28de0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 67 66 78 57 69 6e 64 6f 77 44 69 73 70 6c 61 79 20 3d ..$parentObj->gfxWindowDisplay.=
28e00 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b .false;.................}.else.{
28e20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d .....................$parentObj-
28e40 3e 62 67 45 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 >bgEnabled.=.true;..............
28e60 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ...}.................$parentObj-
28e80 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 30 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 >memory[0xFF40].=.$data;........
28ea0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 .....};.............$this->memor
28ec0 79 57 72 69 74 65 72 5b 30 78 46 46 34 31 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 yWriter[0xFF41].=.function.($par
28ee0 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 entObj,.$address,.$data).{......
28f00 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4c 59 43 4d 61 74 63 68 54 ...........$parentObj->LYCMatchT
28f20 72 69 67 67 65 72 53 54 41 54 20 3d 20 28 28 24 64 61 74 61 20 26 20 30 78 34 30 29 20 3d 3d 20 riggerSTAT.=.(($data.&.0x40).==.
28f40 30 78 34 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 0x40);.................$parentOb
28f60 6a 2d 3e 6d 6f 64 65 32 54 72 69 67 67 65 72 53 54 41 54 20 3d 20 28 28 24 64 61 74 61 20 26 20 j->mode2TriggerSTAT.=.(($data.&.
28f80 30 78 32 30 29 20 3d 3d 20 30 78 32 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0x20).==.0x20);.................
28fa0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 31 54 72 69 67 67 65 72 53 54 41 54 20 3d 20 28 $parentObj->mode1TriggerSTAT.=.(
28fc0 28 24 64 61 74 61 20 26 20 30 78 31 30 29 20 3d 3d 20 30 78 31 30 29 3b 0a 20 20 20 20 20 20 20 ($data.&.0x10).==.0x10);........
28fe0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 30 54 72 69 67 67 65 .........$parentObj->mode0Trigge
29000 72 53 54 41 54 20 3d 20 28 28 24 64 61 74 61 20 26 20 30 78 30 38 29 20 3d 3d 20 30 78 30 38 29 rSTAT.=.(($data.&.0x08).==.0x08)
29020 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 ;.................$parentObj->me
29040 6d 6f 72 79 5b 30 78 46 46 34 31 5d 20 3d 20 28 24 64 61 74 61 20 26 20 30 78 46 38 29 3b 0a 20 mory[0xFF41].=.($data.&.0xF8);..
29060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 4c ...............if.($parentObj->L
29080 43 44 69 73 4f 6e 20 26 26 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 6f 64 65 53 54 41 54 20 3c CDisOn.&&.$parentObj->modeSTAT.<
290a0 20 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e .2).{.....................$paren
290c0 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 7c 3d 20 30 78 32 3b 0a 20 20 20 tObj->memory[0xFF0F].|=.0x2;....
290e0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 .............}.............};...
29100 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 ..........$this->memoryWriter[0x
29120 46 46 34 44 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 FF4D].=.function.($parentObj,.$a
29140 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ddress,.$data).{................
29160 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 44 5d 20 3d 20 24 64 .$parentObj->memory[0xFF4D].=.$d
29180 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ata;.............};.............
291a0 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 34 46 5d 20 3d 20 66 75 $this->memoryWriter[0xFF4F].=.fu
291c0 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 nction.($parentObj,.$address,.$d
291e0 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4e 6f 74 20 77 72 69 ata).{.................//Not.wri
29200 74 61 62 6c 65 20 69 6e 20 44 4d 47 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d table.in.DMG.mode..............}
29220 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 ;.............$this->memoryWrite
29240 72 5b 30 78 46 46 35 35 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a r[0xFF55].=.function.($parentObj
29260 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ,.$address,.$data).{............
29280 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 35 5d 20 .....$parentObj->memory[0xFF55].
292a0 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 =.$data;.............};.........
292c0 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 36 38 5d 20 ....$this->memoryWriter[0xFF68].
292e0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 =.function.($parentObj,.$address
29300 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ,.$data).{.................$pare
29320 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 38 5d 20 3d 20 24 64 61 74 61 3b 0a 20 ntObj->memory[0xFF68].=.$data;..
29340 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ...........};.............$this-
29360 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 36 39 5d 20 3d 20 66 75 6e 63 74 69 6f 6e >memoryWriter[0xFF69].=.function
29380 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b .($parentObj,.$address,.$data).{
293a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d .................$parentObj->mem
293c0 6f 72 79 5b 30 78 46 46 36 39 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ory[0xFF69].=.$data;............
293e0 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 .};.............$this->memoryWri
29400 74 65 72 5b 30 78 46 46 36 41 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ter[0xFF6A].=.function.($parentO
29420 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 bj,.$address,.$data).{..........
29440 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 41 .......$parentObj->memory[0xFF6A
29460 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 ].=.$data;.............};.......
29480 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 36 42 ......$this->memoryWriter[0xFF6B
294a0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 ].=.function.($parentObj,.$addre
294c0 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ss,.$data).{.................$pa
294e0 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 42 5d 20 3d 20 24 64 61 74 61 3b rentObj->memory[0xFF6B].=.$data;
29500 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 .............};.............$thi
29520 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 37 30 5d 20 3d 20 66 75 6e 63 74 69 s->memoryWriter[0xFF70].=.functi
29540 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 on.($parentObj,.$address,.$data)
29560 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d .{.................$parentObj->m
29580 65 6d 6f 72 79 5b 30 78 46 46 37 30 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 emory[0xFF70].=.$data;..........
295a0 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 42 6f 6f 74 20 49 ...};.........}.........//Boot.I
295c0 2f 4f 20 52 65 67 69 73 74 65 72 73 3a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d /O.Registers:.........if.($this-
295e0 3e 69 6e 42 6f 6f 74 73 74 72 61 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 >inBootstrap).{.............$thi
29600 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 35 30 5d 20 3d 20 66 75 6e 63 74 69 s->memoryWriter[0xFF50].=.functi
29620 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 on.($parentObj,.$address,.$data)
29640 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 42 6f 6f 74 20 52 4f .{.................echo.'Boot.RO
29660 4d 20 72 65 61 64 73 20 62 6c 6f 63 6b 65 64 3a 20 42 6f 6f 74 73 74 72 61 70 20 70 72 6f 63 65 M.reads.blocked:.Bootstrap.proce
29680 73 73 20 68 61 73 20 65 6e 64 65 64 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 ss.has.ended.'.PHP_EOL;.........
296a0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 69 6e 42 6f 6f 74 73 74 72 61 70 20 ........$parentObj->inBootstrap.
296c0 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 =.false;.................$parent
296e0 4f 62 6a 2d 3e 64 69 73 61 62 6c 65 42 6f 6f 74 52 4f 4d 28 29 3b 20 2f 2f 46 69 6c 6c 20 69 6e Obj->disableBootROM();.//Fill.in
29700 20 74 68 65 20 62 6f 6f 74 20 52 4f 4d 20 72 61 6e 67 65 73 20 77 69 74 68 20 52 4f 4d 20 20 62 .the.boot.ROM.ranges.with.ROM..b
29720 61 6e 6b 20 30 20 52 4f 4d 20 72 61 6e 67 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ank.0.ROM.ranges................
29740 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 35 30 5d 20 3d 20 24 64 .$parentObj->memory[0xFF50].=.$d
29760 61 74 61 3b 20 2f 2f 42 69 74 73 20 61 72 65 20 73 75 73 74 61 69 6e 65 64 20 69 6e 20 6d 65 6d ata;.//Bits.are.sustained.in.mem
29780 6f 72 79 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ory?.............};.............
297a0 24 74 68 69 73 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 36 43 5d 20 3d 20 66 75 $this->memoryWriter[0xFF6C].=.fu
297c0 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 nction.($parentObj,.$address,.$d
297e0 61 74 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 ata).{.................if.($pare
29800 6e 74 4f 62 6a 2d 3e 69 6e 42 6f 6f 74 73 74 72 61 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ntObj->inBootstrap).{...........
29820 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 47 42 43 20 3d 20 28 24 64 ..........$parentObj->cGBC.=.($d
29840 61 74 61 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ata.==.0x80);...................
29860 20 20 65 63 68 6f 20 27 42 6f 6f 74 65 64 20 74 6f 20 47 42 43 20 4d 6f 64 65 3a 20 27 2e 24 70 ..echo.'Booted.to.GBC.Mode:.'.$p
29880 61 72 65 6e 74 4f 62 6a 2d 3e 63 47 42 43 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 20 20 20 20 arentObj->cGBC.PHP_EOL;.........
298a0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ........}.................$paren
298c0 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 36 43 5d 20 3d 20 24 64 61 74 61 3b 0a 20 20 tObj->memory[0xFF6C].=.$data;...
298e0 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 ..........};.........}.else.{...
29900 20 20 20 20 20 20 20 20 20 20 2f 2f 4c 6f 63 6b 6f 75 74 20 74 68 65 20 52 4f 4d 73 20 66 72 6f ..........//Lockout.the.ROMs.fro
29920 6d 20 61 63 63 65 73 73 69 6e 67 20 74 68 65 20 42 4f 4f 54 20 52 4f 4d 20 63 6f 6e 74 72 6f 6c m.accessing.the.BOOT.ROM.control
29940 20 72 65 67 69 73 74 65 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 .register:.............$this->me
29960 6d 6f 72 79 57 72 69 74 65 72 5b 30 78 46 46 36 43 5d 20 3d 20 24 74 68 69 73 2d 3e 6d 65 6d 6f moryWriter[0xFF6C].=.$this->memo
29980 72 79 57 72 69 74 65 72 5b 30 78 46 46 35 30 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 ryWriter[0xFF50].=.function.($pa
299a0 72 65 6e 74 4f 62 6a 2c 20 24 61 64 64 72 65 73 73 2c 20 24 64 61 74 61 29 20 7b 0a 20 20 20 20 rentObj,.$address,.$data).{.....
299c0 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f ........};.........}.....}...../
299e0 2f 48 65 6c 70 65 72 20 46 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e /Helper.Functions.....public.fun
29a00 63 74 69 6f 6e 20 75 73 62 74 73 62 28 24 75 62 79 74 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ction.usbtsb($ubyte).....{......
29a20 20 20 20 2f 2f 55 6e 73 69 67 6e 65 64 20 62 79 74 65 20 74 6f 20 73 69 67 6e 65 64 20 62 79 74 ...//Unsigned.byte.to.signed.byt
29a40 65 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 24 75 62 79 74 65 20 3e 20 30 78 37 46 e:.........return.($ubyte.>.0x7F
29a60 29 20 3f 20 28 28 24 75 62 79 74 65 20 26 20 30 78 37 46 29 20 2d 20 30 78 38 30 29 20 3a 20 24 ).?.(($ubyte.&.0x7F).-.0x80).:.$
29a80 75 62 79 74 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ubyte;.....}......public.functio
29aa0 6e 20 75 6e 73 62 74 75 62 28 24 75 62 79 74 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 n.unsbtub($ubyte).....{.........
29ac0 2f 2f 4b 65 65 70 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 62 79 74 65 20 75 6e 73 69 67 6e 65 64 //Keep.an.unsigned.byte.unsigned
29ae0 3a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 75 62 79 74 65 20 3c 20 30 29 20 7b 0a 20 20 20 20 :.........if.($ubyte.<.0).{.....
29b00 20 20 20 20 20 20 20 20 24 75 62 79 74 65 20 2b 3d 20 30 78 31 30 30 3b 0a 20 20 20 20 20 20 20 ........$ubyte.+=.0x100;........
29b20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 75 62 79 74 65 3b 20 2f 2f 49 66 20 .}..........return.$ubyte;.//If.
29b40 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 2c 20 6e 6f 20 77 72 61 70 this.function.is.called,.no.wrap
29b60 70 69 6e 67 20 72 65 71 75 65 73 74 65 64 2e 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 ping.requested......}......publi
29b80 63 20 66 75 6e 63 74 69 6f 6e 20 6e 73 77 74 75 77 28 24 75 77 6f 72 64 29 0a 20 20 20 20 7b 0a c.function.nswtuw($uword).....{.
29ba0 20 20 20 20 20 20 20 20 2f 2f 4b 65 65 70 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 77 6f 72 64 20 ........//Keep.an.unsigned.word.
29bc0 75 6e 73 69 67 6e 65 64 3a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 75 77 6f 72 64 20 3c 20 30 unsigned:.........if.($uword.<.0
29be0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 75 77 6f 72 64 20 2b 3d 20 30 78 31 30 30 30 ).{.............$uword.+=.0x1000
29c00 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 75 77 0;.........}..........return.$uw
29c20 6f 72 64 20 26 20 30 78 46 46 46 46 3b 20 2f 2f 57 72 61 70 20 61 6c 73 6f 2e 2e 2e 0a 20 20 20 ord.&.0xFFFF;.//Wrap.also.......
29c40 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 73 77 74 75 77 28 .}......public.function.unswtuw(
29c60 24 75 77 6f 72 64 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 4b 65 65 70 20 61 6e 20 $uword).....{.........//Keep.an.
29c80 75 6e 73 69 67 6e 65 64 20 77 6f 72 64 20 75 6e 73 69 67 6e 65 64 3a 0a 20 20 20 20 20 20 20 20 unsigned.word.unsigned:.........
29ca0 69 66 20 28 24 75 77 6f 72 64 20 3c 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 75 if.($uword.<.0).{.............$u
29cc0 77 6f 72 64 20 2b 3d 20 30 78 31 30 30 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 word.+=.0x10000;.........}......
29ce0 20 20 20 20 72 65 74 75 72 6e 20 24 75 77 6f 72 64 3b 20 2f 2f 49 66 20 74 68 69 73 20 66 75 6e ....return.$uword;.//If.this.fun
29d00 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 2c 20 6e 6f 20 77 72 61 70 70 69 6e 67 20 72 65 71 ction.is.called,.no.wrapping.req
29d20 75 65 73 74 65 64 2e 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 uested......}......public.functi
29d40 6f 6e 20 74 6f 54 79 70 65 64 41 72 72 61 79 28 24 62 61 73 65 41 72 72 61 79 2c 20 24 62 69 74 on.toTypedArray($baseArray,.$bit
29d60 33 32 2c 20 24 75 6e 73 69 67 6e 65 64 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 74 72 79 32,.$unsigned).....{.........try
29d80 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 79 70 65 64 41 72 72 61 79 54 65 6d 70 20 3d .{.............$typedArrayTemp.=
29da0 20 28 24 62 69 74 33 32 29 20 3f 20 28 28 24 75 6e 73 69 67 6e 65 64 29 20 3f 20 6e 65 77 20 55 .($bit32).?.(($unsigned).?.new.U
29dc0 69 6e 74 33 32 41 72 72 61 79 28 63 6f 75 6e 74 28 24 62 61 73 65 41 72 72 61 79 29 29 20 3a 20 int32Array(count($baseArray)).:.
29de0 6e 65 77 20 49 6e 74 33 32 41 72 72 61 79 28 63 6f 75 6e 74 28 24 62 61 73 65 41 72 72 61 79 29 new.Int32Array(count($baseArray)
29e00 29 29 20 3a 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 63 6f 75 6e 74 28 24 62 61 73 65 41 )).:.new.Uint8Array(count($baseA
29e20 72 72 61 79 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 6e 64 65 78 20 rray));.............for.($index.
29e40 3d 20 30 3b 20 24 69 6e 64 65 78 20 3c 20 63 6f 75 6e 74 28 24 62 61 73 65 41 72 72 61 79 29 3b =.0;.$index.<.count($baseArray);
29e60 20 2b 2b 24 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 79 .++$index).{.................$ty
29e80 70 65 64 41 72 72 61 79 54 65 6d 70 5b 24 69 6e 64 65 78 5d 20 3d 20 24 62 61 73 65 41 72 72 61 pedArrayTemp[$index].=.$baseArra
29ea0 79 5b 24 69 6e 64 65 78 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 y[$index];.............}........
29ec0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 79 70 65 64 41 72 72 61 79 54 65 6d 70 3b 0a 20 20 ......return.$typedArrayTemp;...
29ee0 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 72 72 6f 72 ......}.catch.(\Exception.$error
29f00 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 43 6f 75 6c 64 20 6e 6f 74 20 ).{.............echo.'Could.not.
29f20 63 6f 6e 76 65 72 74 20 61 6e 20 61 72 72 61 79 20 74 6f 20 61 20 74 79 70 65 64 20 61 72 72 61 convert.an.array.to.a.typed.arra
29f40 79 27 2e 50 48 50 5f 45 4f 4c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 y'.PHP_EOL;..............return.
29f60 24 62 61 73 65 41 72 72 61 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 $baseArray;.........}.....}.....
29f80 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 6f 6d 54 79 70 65 64 41 72 72 61 79 28 .public.function.fromTypedArray(
29fa0 24 62 61 73 65 41 72 72 61 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a $baseArray).....{.........try.{.
29fc0 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 72 61 79 54 65 6d 70 20 3d 20 61 72 72 61 79 5f 66 ............$arrayTemp.=.array_f
29fe0 69 6c 6c 28 30 2c 20 63 6f 75 6e 74 28 24 62 61 73 65 41 72 72 61 79 29 2c 20 30 29 3b 0a 20 20 ill(0,.count($baseArray),.0);...
2a000 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 6e 64 65 78 20 3d 20 30 3b 20 24 69 6e 64 65 ..........for.($index.=.0;.$inde
2a020 78 20 3c 20 63 6f 75 6e 74 28 24 62 61 73 65 41 72 72 61 79 29 3b 20 2b 2b 24 69 6e 64 65 78 29 x.<.count($baseArray);.++$index)
2a040 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 72 61 79 54 65 6d 70 5b 24 69 .{.................$arrayTemp[$i
2a060 6e 64 65 78 5d 20 3d 20 24 62 61 73 65 41 72 72 61 79 5b 24 69 6e 64 65 78 5d 3b 0a 20 20 20 20 ndex].=.$baseArray[$index];.....
2a080 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 ........}..............return.$a
2a0a0 72 72 61 79 54 65 6d 70 3b 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 rrayTemp;.........}.catch.(\Exce
2a0c0 70 74 69 6f 6e 20 24 65 72 72 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 ption.$error).{.............retu
2a0e0 72 6e 20 24 62 61 73 65 41 72 72 61 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a rn.$baseArray;.........}.....}..
2a100 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 64 41 72 72 61 ....public.function.getTypedArra
2a120 79 28 24 6c 65 6e 67 74 68 2c 20 24 64 65 66 61 75 6c 74 56 61 6c 75 65 2c 20 24 6e 75 6d 62 65 y($length,.$defaultValue,.$numbe
2a140 72 54 79 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 40 50 48 50 20 2d 20 57 rType).....{.........//.@PHP.-.W
2a160 65 20 64 6f 6e 74 20 68 61 76 65 20 74 79 70 65 64 20 61 72 72 61 79 73 20 61 6e 64 20 75 6e 73 e.dont.have.typed.arrays.and.uns
2a180 69 67 6e 65 64 20 69 6e 74 20 69 6e 20 50 48 50 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 68 69 73 igned.int.in.PHP.........//.This
2a1a0 20 66 75 6e 63 74 69 6f 6e 20 6a 75 73 74 20 63 72 65 61 74 65 73 20 61 6e 20 61 72 72 61 79 20 .function.just.creates.an.array.
2a1c0 61 6e 64 20 69 6e 69 74 69 61 6c 69 7a 65 20 77 69 74 68 20 61 20 76 61 6c 75 65 0a 20 20 20 20 and.initialize.with.a.value.....
2a1e0 20 20 20 20 24 61 72 72 61 79 48 61 6e 64 6c 65 20 3d 20 61 72 72 61 79 5f 66 69 6c 6c 28 30 2c ....$arrayHandle.=.array_fill(0,
2a200 20 24 6c 65 6e 67 74 68 2c 20 24 64 65 66 61 75 6c 74 56 61 6c 75 65 29 3b 0a 0a 20 20 20 20 20 .$length,.$defaultValue);.......
2a220 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 61 79 48 61 6e 64 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 ...return.$arrayHandle;.....}...
2a240 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 72 61 79 50 61 64 28 24 6c 65 6e ...public.function.arrayPad($len
2a260 67 74 68 2c 20 24 64 65 66 61 75 6c 74 56 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 gth,.$defaultValue).....{.......
2a280 20 20 24 61 72 72 61 79 48 61 6e 64 6c 65 20 3d 20 61 72 72 61 79 5f 66 69 6c 6c 28 30 2c 20 24 ..$arrayHandle.=.array_fill(0,.$
2a2a0 6c 65 6e 67 74 68 2c 20 24 64 65 66 61 75 6c 74 56 61 6c 75 65 29 3b 0a 0a 20 20 20 20 20 20 20 length,.$defaultValue);.........
2a2c0 20 72 65 74 75 72 6e 20 24 61 72 72 61 79 48 61 6e 64 6c 65 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f .return.$arrayHandle;.....}.}.<?
2a2e0 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 47 61 6d 65 42 6f 79 3b 0a 0a 63 6c 61 73 73 20 44 php..namespace.GameBoy;..class.D
2a300 61 74 61 0a 7b 0a 20 20 20 20 2f 2f 20 44 41 41 20 6c 6f 6f 6b 75 70 20 61 72 72 61 79 20 66 72 ata.{.....//.DAA.lookup.array.fr
2a320 6f 6d 20 56 42 41 2d 4d 20 28 49 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 61 6e 20 61 6c 67 6f om.VBA-M.(I.need.to.make.an.algo
2a340 20 74 6f 20 67 65 6e 65 72 61 74 65 20 74 68 69 73 20 6f 6e 20 73 74 61 72 74 75 70 20 69 6e 73 .to.generate.this.on.startup.ins
2a360 74 65 61 64 2e 20 3c 5f 3c 20 29 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 44 tead..<_<.).....public.static.$D
2a380 41 41 54 61 62 6c 65 20 3d 20 5b 0a 20 20 20 20 20 20 20 20 30 78 30 30 38 30 2c 20 30 78 30 31 AATable.=.[.........0x0080,.0x01
2a3a0 30 30 2c 20 30 78 30 32 30 30 2c 20 30 78 30 33 30 30 2c 20 30 78 30 34 30 30 2c 20 30 78 30 35 00,.0x0200,.0x0300,.0x0400,.0x05
2a3c0 30 30 2c 20 30 78 30 36 30 30 2c 20 30 78 30 37 30 30 2c 20 30 78 30 38 30 30 2c 20 30 78 30 39 00,.0x0600,.0x0700,.0x0800,.0x09
2a3e0 30 30 2c 20 30 78 31 30 30 30 2c 20 30 78 31 31 30 30 2c 20 30 78 31 32 30 30 2c 20 30 78 31 33 00,.0x1000,.0x1100,.0x1200,.0x13
2a400 30 30 2c 20 30 78 31 34 30 30 2c 20 30 78 31 35 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 31 30 00,.0x1400,.0x1500,.........0x10
2a420 30 30 2c 20 30 78 31 31 30 30 2c 20 30 78 31 32 30 30 2c 20 30 78 31 33 30 30 2c 20 30 78 31 34 00,.0x1100,.0x1200,.0x1300,.0x14
2a440 30 30 2c 20 30 78 31 35 30 30 2c 20 30 78 31 36 30 30 2c 20 30 78 31 37 30 30 2c 20 30 78 31 38 00,.0x1500,.0x1600,.0x1700,.0x18
2a460 30 30 2c 20 30 78 31 39 30 30 2c 20 30 78 32 30 30 30 2c 20 30 78 32 31 30 30 2c 20 30 78 32 32 00,.0x1900,.0x2000,.0x2100,.0x22
2a480 30 30 2c 20 30 78 32 33 30 30 2c 20 30 78 32 34 30 30 2c 20 30 78 32 35 30 30 2c 0a 20 20 20 20 00,.0x2300,.0x2400,.0x2500,.....
2a4a0 20 20 20 20 30 78 32 30 30 30 2c 20 30 78 32 31 30 30 2c 20 30 78 32 32 30 30 2c 20 30 78 32 33 ....0x2000,.0x2100,.0x2200,.0x23
2a4c0 30 30 2c 20 30 78 32 34 30 30 2c 20 30 78 32 35 30 30 2c 20 30 78 32 36 30 30 2c 20 30 78 32 37 00,.0x2400,.0x2500,.0x2600,.0x27
2a4e0 30 30 2c 20 30 78 32 38 30 30 2c 20 30 78 32 39 30 30 2c 20 30 78 33 30 30 30 2c 20 30 78 33 31 00,.0x2800,.0x2900,.0x3000,.0x31
2a500 30 30 2c 20 30 78 33 32 30 30 2c 20 30 78 33 33 30 30 2c 20 30 78 33 34 30 30 2c 20 30 78 33 35 00,.0x3200,.0x3300,.0x3400,.0x35
2a520 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 33 30 30 30 2c 20 30 78 33 31 30 30 2c 20 30 78 33 32 00,.........0x3000,.0x3100,.0x32
2a540 30 30 2c 20 30 78 33 33 30 30 2c 20 30 78 33 34 30 30 2c 20 30 78 33 35 30 30 2c 20 30 78 33 36 00,.0x3300,.0x3400,.0x3500,.0x36
2a560 30 30 2c 20 30 78 33 37 30 30 2c 20 30 78 33 38 30 30 2c 20 30 78 33 39 30 30 2c 20 30 78 34 30 00,.0x3700,.0x3800,.0x3900,.0x40
2a580 30 30 2c 20 30 78 34 31 30 30 2c 20 30 78 34 32 30 30 2c 20 30 78 34 33 30 30 2c 20 30 78 34 34 00,.0x4100,.0x4200,.0x4300,.0x44
2a5a0 30 30 2c 20 30 78 34 35 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 34 30 30 30 2c 20 30 78 34 31 00,.0x4500,.........0x4000,.0x41
2a5c0 30 30 2c 20 30 78 34 32 30 30 2c 20 30 78 34 33 30 30 2c 20 30 78 34 34 30 30 2c 20 30 78 34 35 00,.0x4200,.0x4300,.0x4400,.0x45
2a5e0 30 30 2c 20 30 78 34 36 30 30 2c 20 30 78 34 37 30 30 2c 20 30 78 34 38 30 30 2c 20 30 78 34 39 00,.0x4600,.0x4700,.0x4800,.0x49
2a600 30 30 2c 20 30 78 35 30 30 30 2c 20 30 78 35 31 30 30 2c 20 30 78 35 32 30 30 2c 20 30 78 35 33 00,.0x5000,.0x5100,.0x5200,.0x53
2a620 30 30 2c 20 30 78 35 34 30 30 2c 20 30 78 35 35 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 35 30 00,.0x5400,.0x5500,.........0x50
2a640 30 30 2c 20 30 78 35 31 30 30 2c 20 30 78 35 32 30 30 2c 20 30 78 35 33 30 30 2c 20 30 78 35 34 00,.0x5100,.0x5200,.0x5300,.0x54
2a660 30 30 2c 20 30 78 35 35 30 30 2c 20 30 78 35 36 30 30 2c 20 30 78 35 37 30 30 2c 20 30 78 35 38 00,.0x5500,.0x5600,.0x5700,.0x58
2a680 30 30 2c 20 30 78 35 39 30 30 2c 20 30 78 36 30 30 30 2c 20 30 78 36 31 30 30 2c 20 30 78 36 32 00,.0x5900,.0x6000,.0x6100,.0x62
2a6a0 30 30 2c 20 30 78 36 33 30 30 2c 20 30 78 36 34 30 30 2c 20 30 78 36 35 30 30 2c 0a 20 20 20 20 00,.0x6300,.0x6400,.0x6500,.....
2a6c0 20 20 20 20 30 78 36 30 30 30 2c 20 30 78 36 31 30 30 2c 20 30 78 36 32 30 30 2c 20 30 78 36 33 ....0x6000,.0x6100,.0x6200,.0x63
2a6e0 30 30 2c 20 30 78 36 34 30 30 2c 20 30 78 36 35 30 30 2c 20 30 78 36 36 30 30 2c 20 30 78 36 37 00,.0x6400,.0x6500,.0x6600,.0x67
2a700 30 30 2c 20 30 78 36 38 30 30 2c 20 30 78 36 39 30 30 2c 20 30 78 37 30 30 30 2c 20 30 78 37 31 00,.0x6800,.0x6900,.0x7000,.0x71
2a720 30 30 2c 20 30 78 37 32 30 30 2c 20 30 78 37 33 30 30 2c 20 30 78 37 34 30 30 2c 20 30 78 37 35 00,.0x7200,.0x7300,.0x7400,.0x75
2a740 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 37 30 30 30 2c 20 30 78 37 31 30 30 2c 20 30 78 37 32 00,.........0x7000,.0x7100,.0x72
2a760 30 30 2c 20 30 78 37 33 30 30 2c 20 30 78 37 34 30 30 2c 20 30 78 37 35 30 30 2c 20 30 78 37 36 00,.0x7300,.0x7400,.0x7500,.0x76
2a780 30 30 2c 20 30 78 37 37 30 30 2c 20 30 78 37 38 30 30 2c 20 30 78 37 39 30 30 2c 20 30 78 38 30 00,.0x7700,.0x7800,.0x7900,.0x80
2a7a0 30 30 2c 20 30 78 38 31 30 30 2c 20 30 78 38 32 30 30 2c 20 30 78 38 33 30 30 2c 20 30 78 38 34 00,.0x8100,.0x8200,.0x8300,.0x84
2a7c0 30 30 2c 20 30 78 38 35 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 38 30 30 30 2c 20 30 78 38 31 00,.0x8500,.........0x8000,.0x81
2a7e0 30 30 2c 20 30 78 38 32 30 30 2c 20 30 78 38 33 30 30 2c 20 30 78 38 34 30 30 2c 20 30 78 38 35 00,.0x8200,.0x8300,.0x8400,.0x85
2a800 30 30 2c 20 30 78 38 36 30 30 2c 20 30 78 38 37 30 30 2c 20 30 78 38 38 30 30 2c 20 30 78 38 39 00,.0x8600,.0x8700,.0x8800,.0x89
2a820 30 30 2c 20 30 78 39 30 30 30 2c 20 30 78 39 31 30 30 2c 20 30 78 39 32 30 30 2c 20 30 78 39 33 00,.0x9000,.0x9100,.0x9200,.0x93
2a840 30 30 2c 20 30 78 39 34 30 30 2c 20 30 78 39 35 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 39 30 00,.0x9400,.0x9500,.........0x90
2a860 30 30 2c 20 30 78 39 31 30 30 2c 20 30 78 39 32 30 30 2c 20 30 78 39 33 30 30 2c 20 30 78 39 34 00,.0x9100,.0x9200,.0x9300,.0x94
2a880 30 30 2c 20 30 78 39 35 30 30 2c 20 30 78 39 36 30 30 2c 20 30 78 39 37 30 30 2c 20 30 78 39 38 00,.0x9500,.0x9600,.0x9700,.0x98
2a8a0 30 30 2c 20 30 78 39 39 30 30 2c 20 30 78 30 30 39 30 2c 20 30 78 30 31 31 30 2c 20 30 78 30 32 00,.0x9900,.0x0090,.0x0110,.0x02
2a8c0 31 30 2c 20 30 78 30 33 31 30 2c 20 30 78 30 34 31 30 2c 20 30 78 30 35 31 30 2c 0a 20 20 20 20 10,.0x0310,.0x0410,.0x0510,.....
2a8e0 20 20 20 20 30 78 30 30 39 30 2c 20 30 78 30 31 31 30 2c 20 30 78 30 32 31 30 2c 20 30 78 30 33 ....0x0090,.0x0110,.0x0210,.0x03
2a900 31 30 2c 20 30 78 30 34 31 30 2c 20 30 78 30 35 31 30 2c 20 30 78 30 36 31 30 2c 20 30 78 30 37 10,.0x0410,.0x0510,.0x0610,.0x07
2a920 31 30 2c 20 30 78 30 38 31 30 2c 20 30 78 30 39 31 30 2c 20 30 78 31 30 31 30 2c 20 30 78 31 31 10,.0x0810,.0x0910,.0x1010,.0x11
2a940 31 30 2c 20 30 78 31 32 31 30 2c 20 30 78 31 33 31 30 2c 20 30 78 31 34 31 30 2c 20 30 78 31 35 10,.0x1210,.0x1310,.0x1410,.0x15
2a960 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 31 30 31 30 2c 20 30 78 31 31 31 30 2c 20 30 78 31 32 10,.........0x1010,.0x1110,.0x12
2a980 31 30 2c 20 30 78 31 33 31 30 2c 20 30 78 31 34 31 30 2c 20 30 78 31 35 31 30 2c 20 30 78 31 36 10,.0x1310,.0x1410,.0x1510,.0x16
2a9a0 31 30 2c 20 30 78 31 37 31 30 2c 20 30 78 31 38 31 30 2c 20 30 78 31 39 31 30 2c 20 30 78 32 30 10,.0x1710,.0x1810,.0x1910,.0x20
2a9c0 31 30 2c 20 30 78 32 31 31 30 2c 20 30 78 32 32 31 30 2c 20 30 78 32 33 31 30 2c 20 30 78 32 34 10,.0x2110,.0x2210,.0x2310,.0x24
2a9e0 31 30 2c 20 30 78 32 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 32 30 31 30 2c 20 30 78 32 31 10,.0x2510,.........0x2010,.0x21
2aa00 31 30 2c 20 30 78 32 32 31 30 2c 20 30 78 32 33 31 30 2c 20 30 78 32 34 31 30 2c 20 30 78 32 35 10,.0x2210,.0x2310,.0x2410,.0x25
2aa20 31 30 2c 20 30 78 32 36 31 30 2c 20 30 78 32 37 31 30 2c 20 30 78 32 38 31 30 2c 20 30 78 32 39 10,.0x2610,.0x2710,.0x2810,.0x29
2aa40 31 30 2c 20 30 78 33 30 31 30 2c 20 30 78 33 31 31 30 2c 20 30 78 33 32 31 30 2c 20 30 78 33 33 10,.0x3010,.0x3110,.0x3210,.0x33
2aa60 31 30 2c 20 30 78 33 34 31 30 2c 20 30 78 33 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 33 30 10,.0x3410,.0x3510,.........0x30
2aa80 31 30 2c 20 30 78 33 31 31 30 2c 20 30 78 33 32 31 30 2c 20 30 78 33 33 31 30 2c 20 30 78 33 34 10,.0x3110,.0x3210,.0x3310,.0x34
2aaa0 31 30 2c 20 30 78 33 35 31 30 2c 20 30 78 33 36 31 30 2c 20 30 78 33 37 31 30 2c 20 30 78 33 38 10,.0x3510,.0x3610,.0x3710,.0x38
2aac0 31 30 2c 20 30 78 33 39 31 30 2c 20 30 78 34 30 31 30 2c 20 30 78 34 31 31 30 2c 20 30 78 34 32 10,.0x3910,.0x4010,.0x4110,.0x42
2aae0 31 30 2c 20 30 78 34 33 31 30 2c 20 30 78 34 34 31 30 2c 20 30 78 34 35 31 30 2c 0a 20 20 20 20 10,.0x4310,.0x4410,.0x4510,.....
2ab00 20 20 20 20 30 78 34 30 31 30 2c 20 30 78 34 31 31 30 2c 20 30 78 34 32 31 30 2c 20 30 78 34 33 ....0x4010,.0x4110,.0x4210,.0x43
2ab20 31 30 2c 20 30 78 34 34 31 30 2c 20 30 78 34 35 31 30 2c 20 30 78 34 36 31 30 2c 20 30 78 34 37 10,.0x4410,.0x4510,.0x4610,.0x47
2ab40 31 30 2c 20 30 78 34 38 31 30 2c 20 30 78 34 39 31 30 2c 20 30 78 35 30 31 30 2c 20 30 78 35 31 10,.0x4810,.0x4910,.0x5010,.0x51
2ab60 31 30 2c 20 30 78 35 32 31 30 2c 20 30 78 35 33 31 30 2c 20 30 78 35 34 31 30 2c 20 30 78 35 35 10,.0x5210,.0x5310,.0x5410,.0x55
2ab80 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 35 30 31 30 2c 20 30 78 35 31 31 30 2c 20 30 78 35 32 10,.........0x5010,.0x5110,.0x52
2aba0 31 30 2c 20 30 78 35 33 31 30 2c 20 30 78 35 34 31 30 2c 20 30 78 35 35 31 30 2c 20 30 78 35 36 10,.0x5310,.0x5410,.0x5510,.0x56
2abc0 31 30 2c 20 30 78 35 37 31 30 2c 20 30 78 35 38 31 30 2c 20 30 78 35 39 31 30 2c 20 30 78 36 30 10,.0x5710,.0x5810,.0x5910,.0x60
2abe0 31 30 2c 20 30 78 36 31 31 30 2c 20 30 78 36 32 31 30 2c 20 30 78 36 33 31 30 2c 20 30 78 36 34 10,.0x6110,.0x6210,.0x6310,.0x64
2ac00 31 30 2c 20 30 78 36 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 36 30 31 30 2c 20 30 78 36 31 10,.0x6510,.........0x6010,.0x61
2ac20 31 30 2c 20 30 78 36 32 31 30 2c 20 30 78 36 33 31 30 2c 20 30 78 36 34 31 30 2c 20 30 78 36 35 10,.0x6210,.0x6310,.0x6410,.0x65
2ac40 31 30 2c 20 30 78 36 36 31 30 2c 20 30 78 36 37 31 30 2c 20 30 78 36 38 31 30 2c 20 30 78 36 39 10,.0x6610,.0x6710,.0x6810,.0x69
2ac60 31 30 2c 20 30 78 37 30 31 30 2c 20 30 78 37 31 31 30 2c 20 30 78 37 32 31 30 2c 20 30 78 37 33 10,.0x7010,.0x7110,.0x7210,.0x73
2ac80 31 30 2c 20 30 78 37 34 31 30 2c 20 30 78 37 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 37 30 10,.0x7410,.0x7510,.........0x70
2aca0 31 30 2c 20 30 78 37 31 31 30 2c 20 30 78 37 32 31 30 2c 20 30 78 37 33 31 30 2c 20 30 78 37 34 10,.0x7110,.0x7210,.0x7310,.0x74
2acc0 31 30 2c 20 30 78 37 35 31 30 2c 20 30 78 37 36 31 30 2c 20 30 78 37 37 31 30 2c 20 30 78 37 38 10,.0x7510,.0x7610,.0x7710,.0x78
2ace0 31 30 2c 20 30 78 37 39 31 30 2c 20 30 78 38 30 31 30 2c 20 30 78 38 31 31 30 2c 20 30 78 38 32 10,.0x7910,.0x8010,.0x8110,.0x82
2ad00 31 30 2c 20 30 78 38 33 31 30 2c 20 30 78 38 34 31 30 2c 20 30 78 38 35 31 30 2c 0a 20 20 20 20 10,.0x8310,.0x8410,.0x8510,.....
2ad20 20 20 20 20 30 78 38 30 31 30 2c 20 30 78 38 31 31 30 2c 20 30 78 38 32 31 30 2c 20 30 78 38 33 ....0x8010,.0x8110,.0x8210,.0x83
2ad40 31 30 2c 20 30 78 38 34 31 30 2c 20 30 78 38 35 31 30 2c 20 30 78 38 36 31 30 2c 20 30 78 38 37 10,.0x8410,.0x8510,.0x8610,.0x87
2ad60 31 30 2c 20 30 78 38 38 31 30 2c 20 30 78 38 39 31 30 2c 20 30 78 39 30 31 30 2c 20 30 78 39 31 10,.0x8810,.0x8910,.0x9010,.0x91
2ad80 31 30 2c 20 30 78 39 32 31 30 2c 20 30 78 39 33 31 30 2c 20 30 78 39 34 31 30 2c 20 30 78 39 35 10,.0x9210,.0x9310,.0x9410,.0x95
2ada0 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 39 30 31 30 2c 20 30 78 39 31 31 30 2c 20 30 78 39 32 10,.........0x9010,.0x9110,.0x92
2adc0 31 30 2c 20 30 78 39 33 31 30 2c 20 30 78 39 34 31 30 2c 20 30 78 39 35 31 30 2c 20 30 78 39 36 10,.0x9310,.0x9410,.0x9510,.0x96
2ade0 31 30 2c 20 30 78 39 37 31 30 2c 20 30 78 39 38 31 30 2c 20 30 78 39 39 31 30 2c 20 30 78 41 30 10,.0x9710,.0x9810,.0x9910,.0xA0
2ae00 31 30 2c 20 30 78 41 31 31 30 2c 20 30 78 41 32 31 30 2c 20 30 78 41 33 31 30 2c 20 30 78 41 34 10,.0xA110,.0xA210,.0xA310,.0xA4
2ae20 31 30 2c 20 30 78 41 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 41 30 31 30 2c 20 30 78 41 31 10,.0xA510,.........0xA010,.0xA1
2ae40 31 30 2c 20 30 78 41 32 31 30 2c 20 30 78 41 33 31 30 2c 20 30 78 41 34 31 30 2c 20 30 78 41 35 10,.0xA210,.0xA310,.0xA410,.0xA5
2ae60 31 30 2c 20 30 78 41 36 31 30 2c 20 30 78 41 37 31 30 2c 20 30 78 41 38 31 30 2c 20 30 78 41 39 10,.0xA610,.0xA710,.0xA810,.0xA9
2ae80 31 30 2c 20 30 78 42 30 31 30 2c 20 30 78 42 31 31 30 2c 20 30 78 42 32 31 30 2c 20 30 78 42 33 10,.0xB010,.0xB110,.0xB210,.0xB3
2aea0 31 30 2c 20 30 78 42 34 31 30 2c 20 30 78 42 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 42 30 10,.0xB410,.0xB510,.........0xB0
2aec0 31 30 2c 20 30 78 42 31 31 30 2c 20 30 78 42 32 31 30 2c 20 30 78 42 33 31 30 2c 20 30 78 42 34 10,.0xB110,.0xB210,.0xB310,.0xB4
2aee0 31 30 2c 20 30 78 42 35 31 30 2c 20 30 78 42 36 31 30 2c 20 30 78 42 37 31 30 2c 20 30 78 42 38 10,.0xB510,.0xB610,.0xB710,.0xB8
2af00 31 30 2c 20 30 78 42 39 31 30 2c 20 30 78 43 30 31 30 2c 20 30 78 43 31 31 30 2c 20 30 78 43 32 10,.0xB910,.0xC010,.0xC110,.0xC2
2af20 31 30 2c 20 30 78 43 33 31 30 2c 20 30 78 43 34 31 30 2c 20 30 78 43 35 31 30 2c 0a 20 20 20 20 10,.0xC310,.0xC410,.0xC510,.....
2af40 20 20 20 20 30 78 43 30 31 30 2c 20 30 78 43 31 31 30 2c 20 30 78 43 32 31 30 2c 20 30 78 43 33 ....0xC010,.0xC110,.0xC210,.0xC3
2af60 31 30 2c 20 30 78 43 34 31 30 2c 20 30 78 43 35 31 30 2c 20 30 78 43 36 31 30 2c 20 30 78 43 37 10,.0xC410,.0xC510,.0xC610,.0xC7
2af80 31 30 2c 20 30 78 43 38 31 30 2c 20 30 78 43 39 31 30 2c 20 30 78 44 30 31 30 2c 20 30 78 44 31 10,.0xC810,.0xC910,.0xD010,.0xD1
2afa0 31 30 2c 20 30 78 44 32 31 30 2c 20 30 78 44 33 31 30 2c 20 30 78 44 34 31 30 2c 20 30 78 44 35 10,.0xD210,.0xD310,.0xD410,.0xD5
2afc0 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 44 30 31 30 2c 20 30 78 44 31 31 30 2c 20 30 78 44 32 10,.........0xD010,.0xD110,.0xD2
2afe0 31 30 2c 20 30 78 44 33 31 30 2c 20 30 78 44 34 31 30 2c 20 30 78 44 35 31 30 2c 20 30 78 44 36 10,.0xD310,.0xD410,.0xD510,.0xD6
2b000 31 30 2c 20 30 78 44 37 31 30 2c 20 30 78 44 38 31 30 2c 20 30 78 44 39 31 30 2c 20 30 78 45 30 10,.0xD710,.0xD810,.0xD910,.0xE0
2b020 31 30 2c 20 30 78 45 31 31 30 2c 20 30 78 45 32 31 30 2c 20 30 78 45 33 31 30 2c 20 30 78 45 34 10,.0xE110,.0xE210,.0xE310,.0xE4
2b040 31 30 2c 20 30 78 45 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 45 30 31 30 2c 20 30 78 45 31 10,.0xE510,.........0xE010,.0xE1
2b060 31 30 2c 20 30 78 45 32 31 30 2c 20 30 78 45 33 31 30 2c 20 30 78 45 34 31 30 2c 20 30 78 45 35 10,.0xE210,.0xE310,.0xE410,.0xE5
2b080 31 30 2c 20 30 78 45 36 31 30 2c 20 30 78 45 37 31 30 2c 20 30 78 45 38 31 30 2c 20 30 78 45 39 10,.0xE610,.0xE710,.0xE810,.0xE9
2b0a0 31 30 2c 20 30 78 46 30 31 30 2c 20 30 78 46 31 31 30 2c 20 30 78 46 32 31 30 2c 20 30 78 46 33 10,.0xF010,.0xF110,.0xF210,.0xF3
2b0c0 31 30 2c 20 30 78 46 34 31 30 2c 20 30 78 46 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 46 30 10,.0xF410,.0xF510,.........0xF0
2b0e0 31 30 2c 20 30 78 46 31 31 30 2c 20 30 78 46 32 31 30 2c 20 30 78 46 33 31 30 2c 20 30 78 46 34 10,.0xF110,.0xF210,.0xF310,.0xF4
2b100 31 30 2c 20 30 78 46 35 31 30 2c 20 30 78 46 36 31 30 2c 20 30 78 46 37 31 30 2c 20 30 78 46 38 10,.0xF510,.0xF610,.0xF710,.0xF8
2b120 31 30 2c 20 30 78 46 39 31 30 2c 20 30 78 30 30 39 30 2c 20 30 78 30 31 31 30 2c 20 30 78 30 32 10,.0xF910,.0x0090,.0x0110,.0x02
2b140 31 30 2c 20 30 78 30 33 31 30 2c 20 30 78 30 34 31 30 2c 20 30 78 30 35 31 30 2c 0a 20 20 20 20 10,.0x0310,.0x0410,.0x0510,.....
2b160 20 20 20 20 30 78 30 30 39 30 2c 20 30 78 30 31 31 30 2c 20 30 78 30 32 31 30 2c 20 30 78 30 33 ....0x0090,.0x0110,.0x0210,.0x03
2b180 31 30 2c 20 30 78 30 34 31 30 2c 20 30 78 30 35 31 30 2c 20 30 78 30 36 31 30 2c 20 30 78 30 37 10,.0x0410,.0x0510,.0x0610,.0x07
2b1a0 31 30 2c 20 30 78 30 38 31 30 2c 20 30 78 30 39 31 30 2c 20 30 78 31 30 31 30 2c 20 30 78 31 31 10,.0x0810,.0x0910,.0x1010,.0x11
2b1c0 31 30 2c 20 30 78 31 32 31 30 2c 20 30 78 31 33 31 30 2c 20 30 78 31 34 31 30 2c 20 30 78 31 35 10,.0x1210,.0x1310,.0x1410,.0x15
2b1e0 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 31 30 31 30 2c 20 30 78 31 31 31 30 2c 20 30 78 31 32 10,.........0x1010,.0x1110,.0x12
2b200 31 30 2c 20 30 78 31 33 31 30 2c 20 30 78 31 34 31 30 2c 20 30 78 31 35 31 30 2c 20 30 78 31 36 10,.0x1310,.0x1410,.0x1510,.0x16
2b220 31 30 2c 20 30 78 31 37 31 30 2c 20 30 78 31 38 31 30 2c 20 30 78 31 39 31 30 2c 20 30 78 32 30 10,.0x1710,.0x1810,.0x1910,.0x20
2b240 31 30 2c 20 30 78 32 31 31 30 2c 20 30 78 32 32 31 30 2c 20 30 78 32 33 31 30 2c 20 30 78 32 34 10,.0x2110,.0x2210,.0x2310,.0x24
2b260 31 30 2c 20 30 78 32 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 32 30 31 30 2c 20 30 78 32 31 10,.0x2510,.........0x2010,.0x21
2b280 31 30 2c 20 30 78 32 32 31 30 2c 20 30 78 32 33 31 30 2c 20 30 78 32 34 31 30 2c 20 30 78 32 35 10,.0x2210,.0x2310,.0x2410,.0x25
2b2a0 31 30 2c 20 30 78 32 36 31 30 2c 20 30 78 32 37 31 30 2c 20 30 78 32 38 31 30 2c 20 30 78 32 39 10,.0x2610,.0x2710,.0x2810,.0x29
2b2c0 31 30 2c 20 30 78 33 30 31 30 2c 20 30 78 33 31 31 30 2c 20 30 78 33 32 31 30 2c 20 30 78 33 33 10,.0x3010,.0x3110,.0x3210,.0x33
2b2e0 31 30 2c 20 30 78 33 34 31 30 2c 20 30 78 33 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 33 30 10,.0x3410,.0x3510,.........0x30
2b300 31 30 2c 20 30 78 33 31 31 30 2c 20 30 78 33 32 31 30 2c 20 30 78 33 33 31 30 2c 20 30 78 33 34 10,.0x3110,.0x3210,.0x3310,.0x34
2b320 31 30 2c 20 30 78 33 35 31 30 2c 20 30 78 33 36 31 30 2c 20 30 78 33 37 31 30 2c 20 30 78 33 38 10,.0x3510,.0x3610,.0x3710,.0x38
2b340 31 30 2c 20 30 78 33 39 31 30 2c 20 30 78 34 30 31 30 2c 20 30 78 34 31 31 30 2c 20 30 78 34 32 10,.0x3910,.0x4010,.0x4110,.0x42
2b360 31 30 2c 20 30 78 34 33 31 30 2c 20 30 78 34 34 31 30 2c 20 30 78 34 35 31 30 2c 0a 20 20 20 20 10,.0x4310,.0x4410,.0x4510,.....
2b380 20 20 20 20 30 78 34 30 31 30 2c 20 30 78 34 31 31 30 2c 20 30 78 34 32 31 30 2c 20 30 78 34 33 ....0x4010,.0x4110,.0x4210,.0x43
2b3a0 31 30 2c 20 30 78 34 34 31 30 2c 20 30 78 34 35 31 30 2c 20 30 78 34 36 31 30 2c 20 30 78 34 37 10,.0x4410,.0x4510,.0x4610,.0x47
2b3c0 31 30 2c 20 30 78 34 38 31 30 2c 20 30 78 34 39 31 30 2c 20 30 78 35 30 31 30 2c 20 30 78 35 31 10,.0x4810,.0x4910,.0x5010,.0x51
2b3e0 31 30 2c 20 30 78 35 32 31 30 2c 20 30 78 35 33 31 30 2c 20 30 78 35 34 31 30 2c 20 30 78 35 35 10,.0x5210,.0x5310,.0x5410,.0x55
2b400 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 35 30 31 30 2c 20 30 78 35 31 31 30 2c 20 30 78 35 32 10,.........0x5010,.0x5110,.0x52
2b420 31 30 2c 20 30 78 35 33 31 30 2c 20 30 78 35 34 31 30 2c 20 30 78 35 35 31 30 2c 20 30 78 35 36 10,.0x5310,.0x5410,.0x5510,.0x56
2b440 31 30 2c 20 30 78 35 37 31 30 2c 20 30 78 35 38 31 30 2c 20 30 78 35 39 31 30 2c 20 30 78 36 30 10,.0x5710,.0x5810,.0x5910,.0x60
2b460 31 30 2c 20 30 78 36 31 31 30 2c 20 30 78 36 32 31 30 2c 20 30 78 36 33 31 30 2c 20 30 78 36 34 10,.0x6110,.0x6210,.0x6310,.0x64
2b480 31 30 2c 20 30 78 36 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 30 36 30 30 2c 20 30 78 30 37 10,.0x6510,.........0x0600,.0x07
2b4a0 30 30 2c 20 30 78 30 38 30 30 2c 20 30 78 30 39 30 30 2c 20 30 78 30 41 30 30 2c 20 30 78 30 42 00,.0x0800,.0x0900,.0x0A00,.0x0B
2b4c0 30 30 2c 20 30 78 30 43 30 30 2c 20 30 78 30 44 30 30 2c 20 30 78 30 45 30 30 2c 20 30 78 30 46 00,.0x0C00,.0x0D00,.0x0E00,.0x0F
2b4e0 30 30 2c 20 30 78 31 30 30 30 2c 20 30 78 31 31 30 30 2c 20 30 78 31 32 30 30 2c 20 30 78 31 33 00,.0x1000,.0x1100,.0x1200,.0x13
2b500 30 30 2c 20 30 78 31 34 30 30 2c 20 30 78 31 35 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 31 36 00,.0x1400,.0x1500,.........0x16
2b520 30 30 2c 20 30 78 31 37 30 30 2c 20 30 78 31 38 30 30 2c 20 30 78 31 39 30 30 2c 20 30 78 31 41 00,.0x1700,.0x1800,.0x1900,.0x1A
2b540 30 30 2c 20 30 78 31 42 30 30 2c 20 30 78 31 43 30 30 2c 20 30 78 31 44 30 30 2c 20 30 78 31 45 00,.0x1B00,.0x1C00,.0x1D00,.0x1E
2b560 30 30 2c 20 30 78 31 46 30 30 2c 20 30 78 32 30 30 30 2c 20 30 78 32 31 30 30 2c 20 30 78 32 32 00,.0x1F00,.0x2000,.0x2100,.0x22
2b580 30 30 2c 20 30 78 32 33 30 30 2c 20 30 78 32 34 30 30 2c 20 30 78 32 35 30 30 2c 0a 20 20 20 20 00,.0x2300,.0x2400,.0x2500,.....
2b5a0 20 20 20 20 30 78 32 36 30 30 2c 20 30 78 32 37 30 30 2c 20 30 78 32 38 30 30 2c 20 30 78 32 39 ....0x2600,.0x2700,.0x2800,.0x29
2b5c0 30 30 2c 20 30 78 32 41 30 30 2c 20 30 78 32 42 30 30 2c 20 30 78 32 43 30 30 2c 20 30 78 32 44 00,.0x2A00,.0x2B00,.0x2C00,.0x2D
2b5e0 30 30 2c 20 30 78 32 45 30 30 2c 20 30 78 32 46 30 30 2c 20 30 78 33 30 30 30 2c 20 30 78 33 31 00,.0x2E00,.0x2F00,.0x3000,.0x31
2b600 30 30 2c 20 30 78 33 32 30 30 2c 20 30 78 33 33 30 30 2c 20 30 78 33 34 30 30 2c 20 30 78 33 35 00,.0x3200,.0x3300,.0x3400,.0x35
2b620 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 33 36 30 30 2c 20 30 78 33 37 30 30 2c 20 30 78 33 38 00,.........0x3600,.0x3700,.0x38
2b640 30 30 2c 20 30 78 33 39 30 30 2c 20 30 78 33 41 30 30 2c 20 30 78 33 42 30 30 2c 20 30 78 33 43 00,.0x3900,.0x3A00,.0x3B00,.0x3C
2b660 30 30 2c 20 30 78 33 44 30 30 2c 20 30 78 33 45 30 30 2c 20 30 78 33 46 30 30 2c 20 30 78 34 30 00,.0x3D00,.0x3E00,.0x3F00,.0x40
2b680 30 30 2c 20 30 78 34 31 30 30 2c 20 30 78 34 32 30 30 2c 20 30 78 34 33 30 30 2c 20 30 78 34 34 00,.0x4100,.0x4200,.0x4300,.0x44
2b6a0 30 30 2c 20 30 78 34 35 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 34 36 30 30 2c 20 30 78 34 37 00,.0x4500,.........0x4600,.0x47
2b6c0 30 30 2c 20 30 78 34 38 30 30 2c 20 30 78 34 39 30 30 2c 20 30 78 34 41 30 30 2c 20 30 78 34 42 00,.0x4800,.0x4900,.0x4A00,.0x4B
2b6e0 30 30 2c 20 30 78 34 43 30 30 2c 20 30 78 34 44 30 30 2c 20 30 78 34 45 30 30 2c 20 30 78 34 46 00,.0x4C00,.0x4D00,.0x4E00,.0x4F
2b700 30 30 2c 20 30 78 35 30 30 30 2c 20 30 78 35 31 30 30 2c 20 30 78 35 32 30 30 2c 20 30 78 35 33 00,.0x5000,.0x5100,.0x5200,.0x53
2b720 30 30 2c 20 30 78 35 34 30 30 2c 20 30 78 35 35 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 35 36 00,.0x5400,.0x5500,.........0x56
2b740 30 30 2c 20 30 78 35 37 30 30 2c 20 30 78 35 38 30 30 2c 20 30 78 35 39 30 30 2c 20 30 78 35 41 00,.0x5700,.0x5800,.0x5900,.0x5A
2b760 30 30 2c 20 30 78 35 42 30 30 2c 20 30 78 35 43 30 30 2c 20 30 78 35 44 30 30 2c 20 30 78 35 45 00,.0x5B00,.0x5C00,.0x5D00,.0x5E
2b780 30 30 2c 20 30 78 35 46 30 30 2c 20 30 78 36 30 30 30 2c 20 30 78 36 31 30 30 2c 20 30 78 36 32 00,.0x5F00,.0x6000,.0x6100,.0x62
2b7a0 30 30 2c 20 30 78 36 33 30 30 2c 20 30 78 36 34 30 30 2c 20 30 78 36 35 30 30 2c 0a 20 20 20 20 00,.0x6300,.0x6400,.0x6500,.....
2b7c0 20 20 20 20 30 78 36 36 30 30 2c 20 30 78 36 37 30 30 2c 20 30 78 36 38 30 30 2c 20 30 78 36 39 ....0x6600,.0x6700,.0x6800,.0x69
2b7e0 30 30 2c 20 30 78 36 41 30 30 2c 20 30 78 36 42 30 30 2c 20 30 78 36 43 30 30 2c 20 30 78 36 44 00,.0x6A00,.0x6B00,.0x6C00,.0x6D
2b800 30 30 2c 20 30 78 36 45 30 30 2c 20 30 78 36 46 30 30 2c 20 30 78 37 30 30 30 2c 20 30 78 37 31 00,.0x6E00,.0x6F00,.0x7000,.0x71
2b820 30 30 2c 20 30 78 37 32 30 30 2c 20 30 78 37 33 30 30 2c 20 30 78 37 34 30 30 2c 20 30 78 37 35 00,.0x7200,.0x7300,.0x7400,.0x75
2b840 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 37 36 30 30 2c 20 30 78 37 37 30 30 2c 20 30 78 37 38 00,.........0x7600,.0x7700,.0x78
2b860 30 30 2c 20 30 78 37 39 30 30 2c 20 30 78 37 41 30 30 2c 20 30 78 37 42 30 30 2c 20 30 78 37 43 00,.0x7900,.0x7A00,.0x7B00,.0x7C
2b880 30 30 2c 20 30 78 37 44 30 30 2c 20 30 78 37 45 30 30 2c 20 30 78 37 46 30 30 2c 20 30 78 38 30 00,.0x7D00,.0x7E00,.0x7F00,.0x80
2b8a0 30 30 2c 20 30 78 38 31 30 30 2c 20 30 78 38 32 30 30 2c 20 30 78 38 33 30 30 2c 20 30 78 38 34 00,.0x8100,.0x8200,.0x8300,.0x84
2b8c0 30 30 2c 20 30 78 38 35 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 38 36 30 30 2c 20 30 78 38 37 00,.0x8500,.........0x8600,.0x87
2b8e0 30 30 2c 20 30 78 38 38 30 30 2c 20 30 78 38 39 30 30 2c 20 30 78 38 41 30 30 2c 20 30 78 38 42 00,.0x8800,.0x8900,.0x8A00,.0x8B
2b900 30 30 2c 20 30 78 38 43 30 30 2c 20 30 78 38 44 30 30 2c 20 30 78 38 45 30 30 2c 20 30 78 38 46 00,.0x8C00,.0x8D00,.0x8E00,.0x8F
2b920 30 30 2c 20 30 78 39 30 30 30 2c 20 30 78 39 31 30 30 2c 20 30 78 39 32 30 30 2c 20 30 78 39 33 00,.0x9000,.0x9100,.0x9200,.0x93
2b940 30 30 2c 20 30 78 39 34 30 30 2c 20 30 78 39 35 30 30 2c 0a 20 20 20 20 20 20 20 20 30 78 39 36 00,.0x9400,.0x9500,.........0x96
2b960 30 30 2c 20 30 78 39 37 30 30 2c 20 30 78 39 38 30 30 2c 20 30 78 39 39 30 30 2c 20 30 78 39 41 00,.0x9700,.0x9800,.0x9900,.0x9A
2b980 30 30 2c 20 30 78 39 42 30 30 2c 20 30 78 39 43 30 30 2c 20 30 78 39 44 30 30 2c 20 30 78 39 45 00,.0x9B00,.0x9C00,.0x9D00,.0x9E
2b9a0 30 30 2c 20 30 78 39 46 30 30 2c 20 30 78 30 30 39 30 2c 20 30 78 30 31 31 30 2c 20 30 78 30 32 00,.0x9F00,.0x0090,.0x0110,.0x02
2b9c0 31 30 2c 20 30 78 30 33 31 30 2c 20 30 78 30 34 31 30 2c 20 30 78 30 35 31 30 2c 0a 20 20 20 20 10,.0x0310,.0x0410,.0x0510,.....
2b9e0 20 20 20 20 30 78 30 36 31 30 2c 20 30 78 30 37 31 30 2c 20 30 78 30 38 31 30 2c 20 30 78 30 39 ....0x0610,.0x0710,.0x0810,.0x09
2ba00 31 30 2c 20 30 78 30 41 31 30 2c 20 30 78 30 42 31 30 2c 20 30 78 30 43 31 30 2c 20 30 78 30 44 10,.0x0A10,.0x0B10,.0x0C10,.0x0D
2ba20 31 30 2c 20 30 78 30 45 31 30 2c 20 30 78 30 46 31 30 2c 20 30 78 31 30 31 30 2c 20 30 78 31 31 10,.0x0E10,.0x0F10,.0x1010,.0x11
2ba40 31 30 2c 20 30 78 31 32 31 30 2c 20 30 78 31 33 31 30 2c 20 30 78 31 34 31 30 2c 20 30 78 31 35 10,.0x1210,.0x1310,.0x1410,.0x15
2ba60 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 31 36 31 30 2c 20 30 78 31 37 31 30 2c 20 30 78 31 38 10,.........0x1610,.0x1710,.0x18
2ba80 31 30 2c 20 30 78 31 39 31 30 2c 20 30 78 31 41 31 30 2c 20 30 78 31 42 31 30 2c 20 30 78 31 43 10,.0x1910,.0x1A10,.0x1B10,.0x1C
2baa0 31 30 2c 20 30 78 31 44 31 30 2c 20 30 78 31 45 31 30 2c 20 30 78 31 46 31 30 2c 20 30 78 32 30 10,.0x1D10,.0x1E10,.0x1F10,.0x20
2bac0 31 30 2c 20 30 78 32 31 31 30 2c 20 30 78 32 32 31 30 2c 20 30 78 32 33 31 30 2c 20 30 78 32 34 10,.0x2110,.0x2210,.0x2310,.0x24
2bae0 31 30 2c 20 30 78 32 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 32 36 31 30 2c 20 30 78 32 37 10,.0x2510,.........0x2610,.0x27
2bb00 31 30 2c 20 30 78 32 38 31 30 2c 20 30 78 32 39 31 30 2c 20 30 78 32 41 31 30 2c 20 30 78 32 42 10,.0x2810,.0x2910,.0x2A10,.0x2B
2bb20 31 30 2c 20 30 78 32 43 31 30 2c 20 30 78 32 44 31 30 2c 20 30 78 32 45 31 30 2c 20 30 78 32 46 10,.0x2C10,.0x2D10,.0x2E10,.0x2F
2bb40 31 30 2c 20 30 78 33 30 31 30 2c 20 30 78 33 31 31 30 2c 20 30 78 33 32 31 30 2c 20 30 78 33 33 10,.0x3010,.0x3110,.0x3210,.0x33
2bb60 31 30 2c 20 30 78 33 34 31 30 2c 20 30 78 33 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 33 36 10,.0x3410,.0x3510,.........0x36
2bb80 31 30 2c 20 30 78 33 37 31 30 2c 20 30 78 33 38 31 30 2c 20 30 78 33 39 31 30 2c 20 30 78 33 41 10,.0x3710,.0x3810,.0x3910,.0x3A
2bba0 31 30 2c 20 30 78 33 42 31 30 2c 20 30 78 33 43 31 30 2c 20 30 78 33 44 31 30 2c 20 30 78 33 45 10,.0x3B10,.0x3C10,.0x3D10,.0x3E
2bbc0 31 30 2c 20 30 78 33 46 31 30 2c 20 30 78 34 30 31 30 2c 20 30 78 34 31 31 30 2c 20 30 78 34 32 10,.0x3F10,.0x4010,.0x4110,.0x42
2bbe0 31 30 2c 20 30 78 34 33 31 30 2c 20 30 78 34 34 31 30 2c 20 30 78 34 35 31 30 2c 0a 20 20 20 20 10,.0x4310,.0x4410,.0x4510,.....
2bc00 20 20 20 20 30 78 34 36 31 30 2c 20 30 78 34 37 31 30 2c 20 30 78 34 38 31 30 2c 20 30 78 34 39 ....0x4610,.0x4710,.0x4810,.0x49
2bc20 31 30 2c 20 30 78 34 41 31 30 2c 20 30 78 34 42 31 30 2c 20 30 78 34 43 31 30 2c 20 30 78 34 44 10,.0x4A10,.0x4B10,.0x4C10,.0x4D
2bc40 31 30 2c 20 30 78 34 45 31 30 2c 20 30 78 34 46 31 30 2c 20 30 78 35 30 31 30 2c 20 30 78 35 31 10,.0x4E10,.0x4F10,.0x5010,.0x51
2bc60 31 30 2c 20 30 78 35 32 31 30 2c 20 30 78 35 33 31 30 2c 20 30 78 35 34 31 30 2c 20 30 78 35 35 10,.0x5210,.0x5310,.0x5410,.0x55
2bc80 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 35 36 31 30 2c 20 30 78 35 37 31 30 2c 20 30 78 35 38 10,.........0x5610,.0x5710,.0x58
2bca0 31 30 2c 20 30 78 35 39 31 30 2c 20 30 78 35 41 31 30 2c 20 30 78 35 42 31 30 2c 20 30 78 35 43 10,.0x5910,.0x5A10,.0x5B10,.0x5C
2bcc0 31 30 2c 20 30 78 35 44 31 30 2c 20 30 78 35 45 31 30 2c 20 30 78 35 46 31 30 2c 20 30 78 36 30 10,.0x5D10,.0x5E10,.0x5F10,.0x60
2bce0 31 30 2c 20 30 78 36 31 31 30 2c 20 30 78 36 32 31 30 2c 20 30 78 36 33 31 30 2c 20 30 78 36 34 10,.0x6110,.0x6210,.0x6310,.0x64
2bd00 31 30 2c 20 30 78 36 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 36 36 31 30 2c 20 30 78 36 37 10,.0x6510,.........0x6610,.0x67
2bd20 31 30 2c 20 30 78 36 38 31 30 2c 20 30 78 36 39 31 30 2c 20 30 78 36 41 31 30 2c 20 30 78 36 42 10,.0x6810,.0x6910,.0x6A10,.0x6B
2bd40 31 30 2c 20 30 78 36 43 31 30 2c 20 30 78 36 44 31 30 2c 20 30 78 36 45 31 30 2c 20 30 78 36 46 10,.0x6C10,.0x6D10,.0x6E10,.0x6F
2bd60 31 30 2c 20 30 78 37 30 31 30 2c 20 30 78 37 31 31 30 2c 20 30 78 37 32 31 30 2c 20 30 78 37 33 10,.0x7010,.0x7110,.0x7210,.0x73
2bd80 31 30 2c 20 30 78 37 34 31 30 2c 20 30 78 37 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 37 36 10,.0x7410,.0x7510,.........0x76
2bda0 31 30 2c 20 30 78 37 37 31 30 2c 20 30 78 37 38 31 30 2c 20 30 78 37 39 31 30 2c 20 30 78 37 41 10,.0x7710,.0x7810,.0x7910,.0x7A
2bdc0 31 30 2c 20 30 78 37 42 31 30 2c 20 30 78 37 43 31 30 2c 20 30 78 37 44 31 30 2c 20 30 78 37 45 10,.0x7B10,.0x7C10,.0x7D10,.0x7E
2bde0 31 30 2c 20 30 78 37 46 31 30 2c 20 30 78 38 30 31 30 2c 20 30 78 38 31 31 30 2c 20 30 78 38 32 10,.0x7F10,.0x8010,.0x8110,.0x82
2be00 31 30 2c 20 30 78 38 33 31 30 2c 20 30 78 38 34 31 30 2c 20 30 78 38 35 31 30 2c 0a 20 20 20 20 10,.0x8310,.0x8410,.0x8510,.....
2be20 20 20 20 20 30 78 38 36 31 30 2c 20 30 78 38 37 31 30 2c 20 30 78 38 38 31 30 2c 20 30 78 38 39 ....0x8610,.0x8710,.0x8810,.0x89
2be40 31 30 2c 20 30 78 38 41 31 30 2c 20 30 78 38 42 31 30 2c 20 30 78 38 43 31 30 2c 20 30 78 38 44 10,.0x8A10,.0x8B10,.0x8C10,.0x8D
2be60 31 30 2c 20 30 78 38 45 31 30 2c 20 30 78 38 46 31 30 2c 20 30 78 39 30 31 30 2c 20 30 78 39 31 10,.0x8E10,.0x8F10,.0x9010,.0x91
2be80 31 30 2c 20 30 78 39 32 31 30 2c 20 30 78 39 33 31 30 2c 20 30 78 39 34 31 30 2c 20 30 78 39 35 10,.0x9210,.0x9310,.0x9410,.0x95
2bea0 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 39 36 31 30 2c 20 30 78 39 37 31 30 2c 20 30 78 39 38 10,.........0x9610,.0x9710,.0x98
2bec0 31 30 2c 20 30 78 39 39 31 30 2c 20 30 78 39 41 31 30 2c 20 30 78 39 42 31 30 2c 20 30 78 39 43 10,.0x9910,.0x9A10,.0x9B10,.0x9C
2bee0 31 30 2c 20 30 78 39 44 31 30 2c 20 30 78 39 45 31 30 2c 20 30 78 39 46 31 30 2c 20 30 78 41 30 10,.0x9D10,.0x9E10,.0x9F10,.0xA0
2bf00 31 30 2c 20 30 78 41 31 31 30 2c 20 30 78 41 32 31 30 2c 20 30 78 41 33 31 30 2c 20 30 78 41 34 10,.0xA110,.0xA210,.0xA310,.0xA4
2bf20 31 30 2c 20 30 78 41 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 41 36 31 30 2c 20 30 78 41 37 10,.0xA510,.........0xA610,.0xA7
2bf40 31 30 2c 20 30 78 41 38 31 30 2c 20 30 78 41 39 31 30 2c 20 30 78 41 41 31 30 2c 20 30 78 41 42 10,.0xA810,.0xA910,.0xAA10,.0xAB
2bf60 31 30 2c 20 30 78 41 43 31 30 2c 20 30 78 41 44 31 30 2c 20 30 78 41 45 31 30 2c 20 30 78 41 46 10,.0xAC10,.0xAD10,.0xAE10,.0xAF
2bf80 31 30 2c 20 30 78 42 30 31 30 2c 20 30 78 42 31 31 30 2c 20 30 78 42 32 31 30 2c 20 30 78 42 33 10,.0xB010,.0xB110,.0xB210,.0xB3
2bfa0 31 30 2c 20 30 78 42 34 31 30 2c 20 30 78 42 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 42 36 10,.0xB410,.0xB510,.........0xB6
2bfc0 31 30 2c 20 30 78 42 37 31 30 2c 20 30 78 42 38 31 30 2c 20 30 78 42 39 31 30 2c 20 30 78 42 41 10,.0xB710,.0xB810,.0xB910,.0xBA
2bfe0 31 30 2c 20 30 78 42 42 31 30 2c 20 30 78 42 43 31 30 2c 20 30 78 42 44 31 30 2c 20 30 78 42 45 10,.0xBB10,.0xBC10,.0xBD10,.0xBE
2c000 31 30 2c 20 30 78 42 46 31 30 2c 20 30 78 43 30 31 30 2c 20 30 78 43 31 31 30 2c 20 30 78 43 32 10,.0xBF10,.0xC010,.0xC110,.0xC2
2c020 31 30 2c 20 30 78 43 33 31 30 2c 20 30 78 43 34 31 30 2c 20 30 78 43 35 31 30 2c 0a 20 20 20 20 10,.0xC310,.0xC410,.0xC510,.....
2c040 20 20 20 20 30 78 43 36 31 30 2c 20 30 78 43 37 31 30 2c 20 30 78 43 38 31 30 2c 20 30 78 43 39 ....0xC610,.0xC710,.0xC810,.0xC9
2c060 31 30 2c 20 30 78 43 41 31 30 2c 20 30 78 43 42 31 30 2c 20 30 78 43 43 31 30 2c 20 30 78 43 44 10,.0xCA10,.0xCB10,.0xCC10,.0xCD
2c080 31 30 2c 20 30 78 43 45 31 30 2c 20 30 78 43 46 31 30 2c 20 30 78 44 30 31 30 2c 20 30 78 44 31 10,.0xCE10,.0xCF10,.0xD010,.0xD1
2c0a0 31 30 2c 20 30 78 44 32 31 30 2c 20 30 78 44 33 31 30 2c 20 30 78 44 34 31 30 2c 20 30 78 44 35 10,.0xD210,.0xD310,.0xD410,.0xD5
2c0c0 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 44 36 31 30 2c 20 30 78 44 37 31 30 2c 20 30 78 44 38 10,.........0xD610,.0xD710,.0xD8
2c0e0 31 30 2c 20 30 78 44 39 31 30 2c 20 30 78 44 41 31 30 2c 20 30 78 44 42 31 30 2c 20 30 78 44 43 10,.0xD910,.0xDA10,.0xDB10,.0xDC
2c100 31 30 2c 20 30 78 44 44 31 30 2c 20 30 78 44 45 31 30 2c 20 30 78 44 46 31 30 2c 20 30 78 45 30 10,.0xDD10,.0xDE10,.0xDF10,.0xE0
2c120 31 30 2c 20 30 78 45 31 31 30 2c 20 30 78 45 32 31 30 2c 20 30 78 45 33 31 30 2c 20 30 78 45 34 10,.0xE110,.0xE210,.0xE310,.0xE4
2c140 31 30 2c 20 30 78 45 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 45 36 31 30 2c 20 30 78 45 37 10,.0xE510,.........0xE610,.0xE7
2c160 31 30 2c 20 30 78 45 38 31 30 2c 20 30 78 45 39 31 30 2c 20 30 78 45 41 31 30 2c 20 30 78 45 42 10,.0xE810,.0xE910,.0xEA10,.0xEB
2c180 31 30 2c 20 30 78 45 43 31 30 2c 20 30 78 45 44 31 30 2c 20 30 78 45 45 31 30 2c 20 30 78 45 46 10,.0xEC10,.0xED10,.0xEE10,.0xEF
2c1a0 31 30 2c 20 30 78 46 30 31 30 2c 20 30 78 46 31 31 30 2c 20 30 78 46 32 31 30 2c 20 30 78 46 33 10,.0xF010,.0xF110,.0xF210,.0xF3
2c1c0 31 30 2c 20 30 78 46 34 31 30 2c 20 30 78 46 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 46 36 10,.0xF410,.0xF510,.........0xF6
2c1e0 31 30 2c 20 30 78 46 37 31 30 2c 20 30 78 46 38 31 30 2c 20 30 78 46 39 31 30 2c 20 30 78 46 41 10,.0xF710,.0xF810,.0xF910,.0xFA
2c200 31 30 2c 20 30 78 46 42 31 30 2c 20 30 78 46 43 31 30 2c 20 30 78 46 44 31 30 2c 20 30 78 46 45 10,.0xFB10,.0xFC10,.0xFD10,.0xFE
2c220 31 30 2c 20 30 78 46 46 31 30 2c 20 30 78 30 30 39 30 2c 20 30 78 30 31 31 30 2c 20 30 78 30 32 10,.0xFF10,.0x0090,.0x0110,.0x02
2c240 31 30 2c 20 30 78 30 33 31 30 2c 20 30 78 30 34 31 30 2c 20 30 78 30 35 31 30 2c 0a 20 20 20 20 10,.0x0310,.0x0410,.0x0510,.....
2c260 20 20 20 20 30 78 30 36 31 30 2c 20 30 78 30 37 31 30 2c 20 30 78 30 38 31 30 2c 20 30 78 30 39 ....0x0610,.0x0710,.0x0810,.0x09
2c280 31 30 2c 20 30 78 30 41 31 30 2c 20 30 78 30 42 31 30 2c 20 30 78 30 43 31 30 2c 20 30 78 30 44 10,.0x0A10,.0x0B10,.0x0C10,.0x0D
2c2a0 31 30 2c 20 30 78 30 45 31 30 2c 20 30 78 30 46 31 30 2c 20 30 78 31 30 31 30 2c 20 30 78 31 31 10,.0x0E10,.0x0F10,.0x1010,.0x11
2c2c0 31 30 2c 20 30 78 31 32 31 30 2c 20 30 78 31 33 31 30 2c 20 30 78 31 34 31 30 2c 20 30 78 31 35 10,.0x1210,.0x1310,.0x1410,.0x15
2c2e0 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 31 36 31 30 2c 20 30 78 31 37 31 30 2c 20 30 78 31 38 10,.........0x1610,.0x1710,.0x18
2c300 31 30 2c 20 30 78 31 39 31 30 2c 20 30 78 31 41 31 30 2c 20 30 78 31 42 31 30 2c 20 30 78 31 43 10,.0x1910,.0x1A10,.0x1B10,.0x1C
2c320 31 30 2c 20 30 78 31 44 31 30 2c 20 30 78 31 45 31 30 2c 20 30 78 31 46 31 30 2c 20 30 78 32 30 10,.0x1D10,.0x1E10,.0x1F10,.0x20
2c340 31 30 2c 20 30 78 32 31 31 30 2c 20 30 78 32 32 31 30 2c 20 30 78 32 33 31 30 2c 20 30 78 32 34 10,.0x2110,.0x2210,.0x2310,.0x24
2c360 31 30 2c 20 30 78 32 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 32 36 31 30 2c 20 30 78 32 37 10,.0x2510,.........0x2610,.0x27
2c380 31 30 2c 20 30 78 32 38 31 30 2c 20 30 78 32 39 31 30 2c 20 30 78 32 41 31 30 2c 20 30 78 32 42 10,.0x2810,.0x2910,.0x2A10,.0x2B
2c3a0 31 30 2c 20 30 78 32 43 31 30 2c 20 30 78 32 44 31 30 2c 20 30 78 32 45 31 30 2c 20 30 78 32 46 10,.0x2C10,.0x2D10,.0x2E10,.0x2F
2c3c0 31 30 2c 20 30 78 33 30 31 30 2c 20 30 78 33 31 31 30 2c 20 30 78 33 32 31 30 2c 20 30 78 33 33 10,.0x3010,.0x3110,.0x3210,.0x33
2c3e0 31 30 2c 20 30 78 33 34 31 30 2c 20 30 78 33 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 33 36 10,.0x3410,.0x3510,.........0x36
2c400 31 30 2c 20 30 78 33 37 31 30 2c 20 30 78 33 38 31 30 2c 20 30 78 33 39 31 30 2c 20 30 78 33 41 10,.0x3710,.0x3810,.0x3910,.0x3A
2c420 31 30 2c 20 30 78 33 42 31 30 2c 20 30 78 33 43 31 30 2c 20 30 78 33 44 31 30 2c 20 30 78 33 45 10,.0x3B10,.0x3C10,.0x3D10,.0x3E
2c440 31 30 2c 20 30 78 33 46 31 30 2c 20 30 78 34 30 31 30 2c 20 30 78 34 31 31 30 2c 20 30 78 34 32 10,.0x3F10,.0x4010,.0x4110,.0x42
2c460 31 30 2c 20 30 78 34 33 31 30 2c 20 30 78 34 34 31 30 2c 20 30 78 34 35 31 30 2c 0a 20 20 20 20 10,.0x4310,.0x4410,.0x4510,.....
2c480 20 20 20 20 30 78 34 36 31 30 2c 20 30 78 34 37 31 30 2c 20 30 78 34 38 31 30 2c 20 30 78 34 39 ....0x4610,.0x4710,.0x4810,.0x49
2c4a0 31 30 2c 20 30 78 34 41 31 30 2c 20 30 78 34 42 31 30 2c 20 30 78 34 43 31 30 2c 20 30 78 34 44 10,.0x4A10,.0x4B10,.0x4C10,.0x4D
2c4c0 31 30 2c 20 30 78 34 45 31 30 2c 20 30 78 34 46 31 30 2c 20 30 78 35 30 31 30 2c 20 30 78 35 31 10,.0x4E10,.0x4F10,.0x5010,.0x51
2c4e0 31 30 2c 20 30 78 35 32 31 30 2c 20 30 78 35 33 31 30 2c 20 30 78 35 34 31 30 2c 20 30 78 35 35 10,.0x5210,.0x5310,.0x5410,.0x55
2c500 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 35 36 31 30 2c 20 30 78 35 37 31 30 2c 20 30 78 35 38 10,.........0x5610,.0x5710,.0x58
2c520 31 30 2c 20 30 78 35 39 31 30 2c 20 30 78 35 41 31 30 2c 20 30 78 35 42 31 30 2c 20 30 78 35 43 10,.0x5910,.0x5A10,.0x5B10,.0x5C
2c540 31 30 2c 20 30 78 35 44 31 30 2c 20 30 78 35 45 31 30 2c 20 30 78 35 46 31 30 2c 20 30 78 36 30 10,.0x5D10,.0x5E10,.0x5F10,.0x60
2c560 31 30 2c 20 30 78 36 31 31 30 2c 20 30 78 36 32 31 30 2c 20 30 78 36 33 31 30 2c 20 30 78 36 34 10,.0x6110,.0x6210,.0x6310,.0x64
2c580 31 30 2c 20 30 78 36 35 31 30 2c 0a 20 20 20 20 20 20 20 20 30 78 30 30 43 30 2c 20 30 78 30 31 10,.0x6510,.........0x00C0,.0x01
2c5a0 34 30 2c 20 30 78 30 32 34 30 2c 20 30 78 30 33 34 30 2c 20 30 78 30 34 34 30 2c 20 30 78 30 35 40,.0x0240,.0x0340,.0x0440,.0x05
2c5c0 34 30 2c 20 30 78 30 36 34 30 2c 20 30 78 30 37 34 30 2c 20 30 78 30 38 34 30 2c 20 30 78 30 39 40,.0x0640,.0x0740,.0x0840,.0x09
2c5e0 34 30 2c 20 30 78 30 41 34 30 2c 20 30 78 30 42 34 30 2c 20 30 78 30 43 34 30 2c 20 30 78 30 44 40,.0x0A40,.0x0B40,.0x0C40,.0x0D
2c600 34 30 2c 20 30 78 30 45 34 30 2c 20 30 78 30 46 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 31 30 40,.0x0E40,.0x0F40,.........0x10
2c620 34 30 2c 20 30 78 31 31 34 30 2c 20 30 78 31 32 34 30 2c 20 30 78 31 33 34 30 2c 20 30 78 31 34 40,.0x1140,.0x1240,.0x1340,.0x14
2c640 34 30 2c 20 30 78 31 35 34 30 2c 20 30 78 31 36 34 30 2c 20 30 78 31 37 34 30 2c 20 30 78 31 38 40,.0x1540,.0x1640,.0x1740,.0x18
2c660 34 30 2c 20 30 78 31 39 34 30 2c 20 30 78 31 41 34 30 2c 20 30 78 31 42 34 30 2c 20 30 78 31 43 40,.0x1940,.0x1A40,.0x1B40,.0x1C
2c680 34 30 2c 20 30 78 31 44 34 30 2c 20 30 78 31 45 34 30 2c 20 30 78 31 46 34 30 2c 0a 20 20 20 20 40,.0x1D40,.0x1E40,.0x1F40,.....
2c6a0 20 20 20 20 30 78 32 30 34 30 2c 20 30 78 32 31 34 30 2c 20 30 78 32 32 34 30 2c 20 30 78 32 33 ....0x2040,.0x2140,.0x2240,.0x23
2c6c0 34 30 2c 20 30 78 32 34 34 30 2c 20 30 78 32 35 34 30 2c 20 30 78 32 36 34 30 2c 20 30 78 32 37 40,.0x2440,.0x2540,.0x2640,.0x27
2c6e0 34 30 2c 20 30 78 32 38 34 30 2c 20 30 78 32 39 34 30 2c 20 30 78 32 41 34 30 2c 20 30 78 32 42 40,.0x2840,.0x2940,.0x2A40,.0x2B
2c700 34 30 2c 20 30 78 32 43 34 30 2c 20 30 78 32 44 34 30 2c 20 30 78 32 45 34 30 2c 20 30 78 32 46 40,.0x2C40,.0x2D40,.0x2E40,.0x2F
2c720 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 33 30 34 30 2c 20 30 78 33 31 34 30 2c 20 30 78 33 32 40,.........0x3040,.0x3140,.0x32
2c740 34 30 2c 20 30 78 33 33 34 30 2c 20 30 78 33 34 34 30 2c 20 30 78 33 35 34 30 2c 20 30 78 33 36 40,.0x3340,.0x3440,.0x3540,.0x36
2c760 34 30 2c 20 30 78 33 37 34 30 2c 20 30 78 33 38 34 30 2c 20 30 78 33 39 34 30 2c 20 30 78 33 41 40,.0x3740,.0x3840,.0x3940,.0x3A
2c780 34 30 2c 20 30 78 33 42 34 30 2c 20 30 78 33 43 34 30 2c 20 30 78 33 44 34 30 2c 20 30 78 33 45 40,.0x3B40,.0x3C40,.0x3D40,.0x3E
2c7a0 34 30 2c 20 30 78 33 46 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 34 30 34 30 2c 20 30 78 34 31 40,.0x3F40,.........0x4040,.0x41
2c7c0 34 30 2c 20 30 78 34 32 34 30 2c 20 30 78 34 33 34 30 2c 20 30 78 34 34 34 30 2c 20 30 78 34 35 40,.0x4240,.0x4340,.0x4440,.0x45
2c7e0 34 30 2c 20 30 78 34 36 34 30 2c 20 30 78 34 37 34 30 2c 20 30 78 34 38 34 30 2c 20 30 78 34 39 40,.0x4640,.0x4740,.0x4840,.0x49
2c800 34 30 2c 20 30 78 34 41 34 30 2c 20 30 78 34 42 34 30 2c 20 30 78 34 43 34 30 2c 20 30 78 34 44 40,.0x4A40,.0x4B40,.0x4C40,.0x4D
2c820 34 30 2c 20 30 78 34 45 34 30 2c 20 30 78 34 46 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 35 30 40,.0x4E40,.0x4F40,.........0x50
2c840 34 30 2c 20 30 78 35 31 34 30 2c 20 30 78 35 32 34 30 2c 20 30 78 35 33 34 30 2c 20 30 78 35 34 40,.0x5140,.0x5240,.0x5340,.0x54
2c860 34 30 2c 20 30 78 35 35 34 30 2c 20 30 78 35 36 34 30 2c 20 30 78 35 37 34 30 2c 20 30 78 35 38 40,.0x5540,.0x5640,.0x5740,.0x58
2c880 34 30 2c 20 30 78 35 39 34 30 2c 20 30 78 35 41 34 30 2c 20 30 78 35 42 34 30 2c 20 30 78 35 43 40,.0x5940,.0x5A40,.0x5B40,.0x5C
2c8a0 34 30 2c 20 30 78 35 44 34 30 2c 20 30 78 35 45 34 30 2c 20 30 78 35 46 34 30 2c 0a 20 20 20 20 40,.0x5D40,.0x5E40,.0x5F40,.....
2c8c0 20 20 20 20 30 78 36 30 34 30 2c 20 30 78 36 31 34 30 2c 20 30 78 36 32 34 30 2c 20 30 78 36 33 ....0x6040,.0x6140,.0x6240,.0x63
2c8e0 34 30 2c 20 30 78 36 34 34 30 2c 20 30 78 36 35 34 30 2c 20 30 78 36 36 34 30 2c 20 30 78 36 37 40,.0x6440,.0x6540,.0x6640,.0x67
2c900 34 30 2c 20 30 78 36 38 34 30 2c 20 30 78 36 39 34 30 2c 20 30 78 36 41 34 30 2c 20 30 78 36 42 40,.0x6840,.0x6940,.0x6A40,.0x6B
2c920 34 30 2c 20 30 78 36 43 34 30 2c 20 30 78 36 44 34 30 2c 20 30 78 36 45 34 30 2c 20 30 78 36 46 40,.0x6C40,.0x6D40,.0x6E40,.0x6F
2c940 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 37 30 34 30 2c 20 30 78 37 31 34 30 2c 20 30 78 37 32 40,.........0x7040,.0x7140,.0x72
2c960 34 30 2c 20 30 78 37 33 34 30 2c 20 30 78 37 34 34 30 2c 20 30 78 37 35 34 30 2c 20 30 78 37 36 40,.0x7340,.0x7440,.0x7540,.0x76
2c980 34 30 2c 20 30 78 37 37 34 30 2c 20 30 78 37 38 34 30 2c 20 30 78 37 39 34 30 2c 20 30 78 37 41 40,.0x7740,.0x7840,.0x7940,.0x7A
2c9a0 34 30 2c 20 30 78 37 42 34 30 2c 20 30 78 37 43 34 30 2c 20 30 78 37 44 34 30 2c 20 30 78 37 45 40,.0x7B40,.0x7C40,.0x7D40,.0x7E
2c9c0 34 30 2c 20 30 78 37 46 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 38 30 34 30 2c 20 30 78 38 31 40,.0x7F40,.........0x8040,.0x81
2c9e0 34 30 2c 20 30 78 38 32 34 30 2c 20 30 78 38 33 34 30 2c 20 30 78 38 34 34 30 2c 20 30 78 38 35 40,.0x8240,.0x8340,.0x8440,.0x85
2ca00 34 30 2c 20 30 78 38 36 34 30 2c 20 30 78 38 37 34 30 2c 20 30 78 38 38 34 30 2c 20 30 78 38 39 40,.0x8640,.0x8740,.0x8840,.0x89
2ca20 34 30 2c 20 30 78 38 41 34 30 2c 20 30 78 38 42 34 30 2c 20 30 78 38 43 34 30 2c 20 30 78 38 44 40,.0x8A40,.0x8B40,.0x8C40,.0x8D
2ca40 34 30 2c 20 30 78 38 45 34 30 2c 20 30 78 38 46 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 39 30 40,.0x8E40,.0x8F40,.........0x90
2ca60 34 30 2c 20 30 78 39 31 34 30 2c 20 30 78 39 32 34 30 2c 20 30 78 39 33 34 30 2c 20 30 78 39 34 40,.0x9140,.0x9240,.0x9340,.0x94
2ca80 34 30 2c 20 30 78 39 35 34 30 2c 20 30 78 39 36 34 30 2c 20 30 78 39 37 34 30 2c 20 30 78 39 38 40,.0x9540,.0x9640,.0x9740,.0x98
2caa0 34 30 2c 20 30 78 39 39 34 30 2c 20 30 78 39 41 34 30 2c 20 30 78 39 42 34 30 2c 20 30 78 39 43 40,.0x9940,.0x9A40,.0x9B40,.0x9C
2cac0 34 30 2c 20 30 78 39 44 34 30 2c 20 30 78 39 45 34 30 2c 20 30 78 39 46 34 30 2c 0a 20 20 20 20 40,.0x9D40,.0x9E40,.0x9F40,.....
2cae0 20 20 20 20 30 78 41 30 34 30 2c 20 30 78 41 31 34 30 2c 20 30 78 41 32 34 30 2c 20 30 78 41 33 ....0xA040,.0xA140,.0xA240,.0xA3
2cb00 34 30 2c 20 30 78 41 34 34 30 2c 20 30 78 41 35 34 30 2c 20 30 78 41 36 34 30 2c 20 30 78 41 37 40,.0xA440,.0xA540,.0xA640,.0xA7
2cb20 34 30 2c 20 30 78 41 38 34 30 2c 20 30 78 41 39 34 30 2c 20 30 78 41 41 34 30 2c 20 30 78 41 42 40,.0xA840,.0xA940,.0xAA40,.0xAB
2cb40 34 30 2c 20 30 78 41 43 34 30 2c 20 30 78 41 44 34 30 2c 20 30 78 41 45 34 30 2c 20 30 78 41 46 40,.0xAC40,.0xAD40,.0xAE40,.0xAF
2cb60 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 42 30 34 30 2c 20 30 78 42 31 34 30 2c 20 30 78 42 32 40,.........0xB040,.0xB140,.0xB2
2cb80 34 30 2c 20 30 78 42 33 34 30 2c 20 30 78 42 34 34 30 2c 20 30 78 42 35 34 30 2c 20 30 78 42 36 40,.0xB340,.0xB440,.0xB540,.0xB6
2cba0 34 30 2c 20 30 78 42 37 34 30 2c 20 30 78 42 38 34 30 2c 20 30 78 42 39 34 30 2c 20 30 78 42 41 40,.0xB740,.0xB840,.0xB940,.0xBA
2cbc0 34 30 2c 20 30 78 42 42 34 30 2c 20 30 78 42 43 34 30 2c 20 30 78 42 44 34 30 2c 20 30 78 42 45 40,.0xBB40,.0xBC40,.0xBD40,.0xBE
2cbe0 34 30 2c 20 30 78 42 46 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 43 30 34 30 2c 20 30 78 43 31 40,.0xBF40,.........0xC040,.0xC1
2cc00 34 30 2c 20 30 78 43 32 34 30 2c 20 30 78 43 33 34 30 2c 20 30 78 43 34 34 30 2c 20 30 78 43 35 40,.0xC240,.0xC340,.0xC440,.0xC5
2cc20 34 30 2c 20 30 78 43 36 34 30 2c 20 30 78 43 37 34 30 2c 20 30 78 43 38 34 30 2c 20 30 78 43 39 40,.0xC640,.0xC740,.0xC840,.0xC9
2cc40 34 30 2c 20 30 78 43 41 34 30 2c 20 30 78 43 42 34 30 2c 20 30 78 43 43 34 30 2c 20 30 78 43 44 40,.0xCA40,.0xCB40,.0xCC40,.0xCD
2cc60 34 30 2c 20 30 78 43 45 34 30 2c 20 30 78 43 46 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 44 30 40,.0xCE40,.0xCF40,.........0xD0
2cc80 34 30 2c 20 30 78 44 31 34 30 2c 20 30 78 44 32 34 30 2c 20 30 78 44 33 34 30 2c 20 30 78 44 34 40,.0xD140,.0xD240,.0xD340,.0xD4
2cca0 34 30 2c 20 30 78 44 35 34 30 2c 20 30 78 44 36 34 30 2c 20 30 78 44 37 34 30 2c 20 30 78 44 38 40,.0xD540,.0xD640,.0xD740,.0xD8
2ccc0 34 30 2c 20 30 78 44 39 34 30 2c 20 30 78 44 41 34 30 2c 20 30 78 44 42 34 30 2c 20 30 78 44 43 40,.0xD940,.0xDA40,.0xDB40,.0xDC
2cce0 34 30 2c 20 30 78 44 44 34 30 2c 20 30 78 44 45 34 30 2c 20 30 78 44 46 34 30 2c 0a 20 20 20 20 40,.0xDD40,.0xDE40,.0xDF40,.....
2cd00 20 20 20 20 30 78 45 30 34 30 2c 20 30 78 45 31 34 30 2c 20 30 78 45 32 34 30 2c 20 30 78 45 33 ....0xE040,.0xE140,.0xE240,.0xE3
2cd20 34 30 2c 20 30 78 45 34 34 30 2c 20 30 78 45 35 34 30 2c 20 30 78 45 36 34 30 2c 20 30 78 45 37 40,.0xE440,.0xE540,.0xE640,.0xE7
2cd40 34 30 2c 20 30 78 45 38 34 30 2c 20 30 78 45 39 34 30 2c 20 30 78 45 41 34 30 2c 20 30 78 45 42 40,.0xE840,.0xE940,.0xEA40,.0xEB
2cd60 34 30 2c 20 30 78 45 43 34 30 2c 20 30 78 45 44 34 30 2c 20 30 78 45 45 34 30 2c 20 30 78 45 46 40,.0xEC40,.0xED40,.0xEE40,.0xEF
2cd80 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 46 30 34 30 2c 20 30 78 46 31 34 30 2c 20 30 78 46 32 40,.........0xF040,.0xF140,.0xF2
2cda0 34 30 2c 20 30 78 46 33 34 30 2c 20 30 78 46 34 34 30 2c 20 30 78 46 35 34 30 2c 20 30 78 46 36 40,.0xF340,.0xF440,.0xF540,.0xF6
2cdc0 34 30 2c 20 30 78 46 37 34 30 2c 20 30 78 46 38 34 30 2c 20 30 78 46 39 34 30 2c 20 30 78 46 41 40,.0xF740,.0xF840,.0xF940,.0xFA
2cde0 34 30 2c 20 30 78 46 42 34 30 2c 20 30 78 46 43 34 30 2c 20 30 78 46 44 34 30 2c 20 30 78 46 45 40,.0xFB40,.0xFC40,.0xFD40,.0xFE
2ce00 34 30 2c 20 30 78 46 46 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 41 30 35 30 2c 20 30 78 41 31 40,.0xFF40,.........0xA050,.0xA1
2ce20 35 30 2c 20 30 78 41 32 35 30 2c 20 30 78 41 33 35 30 2c 20 30 78 41 34 35 30 2c 20 30 78 41 35 50,.0xA250,.0xA350,.0xA450,.0xA5
2ce40 35 30 2c 20 30 78 41 36 35 30 2c 20 30 78 41 37 35 30 2c 20 30 78 41 38 35 30 2c 20 30 78 41 39 50,.0xA650,.0xA750,.0xA850,.0xA9
2ce60 35 30 2c 20 30 78 41 41 35 30 2c 20 30 78 41 42 35 30 2c 20 30 78 41 43 35 30 2c 20 30 78 41 44 50,.0xAA50,.0xAB50,.0xAC50,.0xAD
2ce80 35 30 2c 20 30 78 41 45 35 30 2c 20 30 78 41 46 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 42 30 50,.0xAE50,.0xAF50,.........0xB0
2cea0 35 30 2c 20 30 78 42 31 35 30 2c 20 30 78 42 32 35 30 2c 20 30 78 42 33 35 30 2c 20 30 78 42 34 50,.0xB150,.0xB250,.0xB350,.0xB4
2cec0 35 30 2c 20 30 78 42 35 35 30 2c 20 30 78 42 36 35 30 2c 20 30 78 42 37 35 30 2c 20 30 78 42 38 50,.0xB550,.0xB650,.0xB750,.0xB8
2cee0 35 30 2c 20 30 78 42 39 35 30 2c 20 30 78 42 41 35 30 2c 20 30 78 42 42 35 30 2c 20 30 78 42 43 50,.0xB950,.0xBA50,.0xBB50,.0xBC
2cf00 35 30 2c 20 30 78 42 44 35 30 2c 20 30 78 42 45 35 30 2c 20 30 78 42 46 35 30 2c 0a 20 20 20 20 50,.0xBD50,.0xBE50,.0xBF50,.....
2cf20 20 20 20 20 30 78 43 30 35 30 2c 20 30 78 43 31 35 30 2c 20 30 78 43 32 35 30 2c 20 30 78 43 33 ....0xC050,.0xC150,.0xC250,.0xC3
2cf40 35 30 2c 20 30 78 43 34 35 30 2c 20 30 78 43 35 35 30 2c 20 30 78 43 36 35 30 2c 20 30 78 43 37 50,.0xC450,.0xC550,.0xC650,.0xC7
2cf60 35 30 2c 20 30 78 43 38 35 30 2c 20 30 78 43 39 35 30 2c 20 30 78 43 41 35 30 2c 20 30 78 43 42 50,.0xC850,.0xC950,.0xCA50,.0xCB
2cf80 35 30 2c 20 30 78 43 43 35 30 2c 20 30 78 43 44 35 30 2c 20 30 78 43 45 35 30 2c 20 30 78 43 46 50,.0xCC50,.0xCD50,.0xCE50,.0xCF
2cfa0 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 44 30 35 30 2c 20 30 78 44 31 35 30 2c 20 30 78 44 32 50,.........0xD050,.0xD150,.0xD2
2cfc0 35 30 2c 20 30 78 44 33 35 30 2c 20 30 78 44 34 35 30 2c 20 30 78 44 35 35 30 2c 20 30 78 44 36 50,.0xD350,.0xD450,.0xD550,.0xD6
2cfe0 35 30 2c 20 30 78 44 37 35 30 2c 20 30 78 44 38 35 30 2c 20 30 78 44 39 35 30 2c 20 30 78 44 41 50,.0xD750,.0xD850,.0xD950,.0xDA
2d000 35 30 2c 20 30 78 44 42 35 30 2c 20 30 78 44 43 35 30 2c 20 30 78 44 44 35 30 2c 20 30 78 44 45 50,.0xDB50,.0xDC50,.0xDD50,.0xDE
2d020 35 30 2c 20 30 78 44 46 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 45 30 35 30 2c 20 30 78 45 31 50,.0xDF50,.........0xE050,.0xE1
2d040 35 30 2c 20 30 78 45 32 35 30 2c 20 30 78 45 33 35 30 2c 20 30 78 45 34 35 30 2c 20 30 78 45 35 50,.0xE250,.0xE350,.0xE450,.0xE5
2d060 35 30 2c 20 30 78 45 36 35 30 2c 20 30 78 45 37 35 30 2c 20 30 78 45 38 35 30 2c 20 30 78 45 39 50,.0xE650,.0xE750,.0xE850,.0xE9
2d080 35 30 2c 20 30 78 45 41 35 30 2c 20 30 78 45 42 35 30 2c 20 30 78 45 43 35 30 2c 20 30 78 45 44 50,.0xEA50,.0xEB50,.0xEC50,.0xED
2d0a0 35 30 2c 20 30 78 45 45 35 30 2c 20 30 78 45 46 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 46 30 50,.0xEE50,.0xEF50,.........0xF0
2d0c0 35 30 2c 20 30 78 46 31 35 30 2c 20 30 78 46 32 35 30 2c 20 30 78 46 33 35 30 2c 20 30 78 46 34 50,.0xF150,.0xF250,.0xF350,.0xF4
2d0e0 35 30 2c 20 30 78 46 35 35 30 2c 20 30 78 46 36 35 30 2c 20 30 78 46 37 35 30 2c 20 30 78 46 38 50,.0xF550,.0xF650,.0xF750,.0xF8
2d100 35 30 2c 20 30 78 46 39 35 30 2c 20 30 78 46 41 35 30 2c 20 30 78 46 42 35 30 2c 20 30 78 46 43 50,.0xF950,.0xFA50,.0xFB50,.0xFC
2d120 35 30 2c 20 30 78 46 44 35 30 2c 20 30 78 46 45 35 30 2c 20 30 78 46 46 35 30 2c 0a 20 20 20 20 50,.0xFD50,.0xFE50,.0xFF50,.....
2d140 20 20 20 20 30 78 30 30 44 30 2c 20 30 78 30 31 35 30 2c 20 30 78 30 32 35 30 2c 20 30 78 30 33 ....0x00D0,.0x0150,.0x0250,.0x03
2d160 35 30 2c 20 30 78 30 34 35 30 2c 20 30 78 30 35 35 30 2c 20 30 78 30 36 35 30 2c 20 30 78 30 37 50,.0x0450,.0x0550,.0x0650,.0x07
2d180 35 30 2c 20 30 78 30 38 35 30 2c 20 30 78 30 39 35 30 2c 20 30 78 30 41 35 30 2c 20 30 78 30 42 50,.0x0850,.0x0950,.0x0A50,.0x0B
2d1a0 35 30 2c 20 30 78 30 43 35 30 2c 20 30 78 30 44 35 30 2c 20 30 78 30 45 35 30 2c 20 30 78 30 46 50,.0x0C50,.0x0D50,.0x0E50,.0x0F
2d1c0 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 31 30 35 30 2c 20 30 78 31 31 35 30 2c 20 30 78 31 32 50,.........0x1050,.0x1150,.0x12
2d1e0 35 30 2c 20 30 78 31 33 35 30 2c 20 30 78 31 34 35 30 2c 20 30 78 31 35 35 30 2c 20 30 78 31 36 50,.0x1350,.0x1450,.0x1550,.0x16
2d200 35 30 2c 20 30 78 31 37 35 30 2c 20 30 78 31 38 35 30 2c 20 30 78 31 39 35 30 2c 20 30 78 31 41 50,.0x1750,.0x1850,.0x1950,.0x1A
2d220 35 30 2c 20 30 78 31 42 35 30 2c 20 30 78 31 43 35 30 2c 20 30 78 31 44 35 30 2c 20 30 78 31 45 50,.0x1B50,.0x1C50,.0x1D50,.0x1E
2d240 35 30 2c 20 30 78 31 46 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 32 30 35 30 2c 20 30 78 32 31 50,.0x1F50,.........0x2050,.0x21
2d260 35 30 2c 20 30 78 32 32 35 30 2c 20 30 78 32 33 35 30 2c 20 30 78 32 34 35 30 2c 20 30 78 32 35 50,.0x2250,.0x2350,.0x2450,.0x25
2d280 35 30 2c 20 30 78 32 36 35 30 2c 20 30 78 32 37 35 30 2c 20 30 78 32 38 35 30 2c 20 30 78 32 39 50,.0x2650,.0x2750,.0x2850,.0x29
2d2a0 35 30 2c 20 30 78 32 41 35 30 2c 20 30 78 32 42 35 30 2c 20 30 78 32 43 35 30 2c 20 30 78 32 44 50,.0x2A50,.0x2B50,.0x2C50,.0x2D
2d2c0 35 30 2c 20 30 78 32 45 35 30 2c 20 30 78 32 46 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 33 30 50,.0x2E50,.0x2F50,.........0x30
2d2e0 35 30 2c 20 30 78 33 31 35 30 2c 20 30 78 33 32 35 30 2c 20 30 78 33 33 35 30 2c 20 30 78 33 34 50,.0x3150,.0x3250,.0x3350,.0x34
2d300 35 30 2c 20 30 78 33 35 35 30 2c 20 30 78 33 36 35 30 2c 20 30 78 33 37 35 30 2c 20 30 78 33 38 50,.0x3550,.0x3650,.0x3750,.0x38
2d320 35 30 2c 20 30 78 33 39 35 30 2c 20 30 78 33 41 35 30 2c 20 30 78 33 42 35 30 2c 20 30 78 33 43 50,.0x3950,.0x3A50,.0x3B50,.0x3C
2d340 35 30 2c 20 30 78 33 44 35 30 2c 20 30 78 33 45 35 30 2c 20 30 78 33 46 35 30 2c 0a 20 20 20 20 50,.0x3D50,.0x3E50,.0x3F50,.....
2d360 20 20 20 20 30 78 34 30 35 30 2c 20 30 78 34 31 35 30 2c 20 30 78 34 32 35 30 2c 20 30 78 34 33 ....0x4050,.0x4150,.0x4250,.0x43
2d380 35 30 2c 20 30 78 34 34 35 30 2c 20 30 78 34 35 35 30 2c 20 30 78 34 36 35 30 2c 20 30 78 34 37 50,.0x4450,.0x4550,.0x4650,.0x47
2d3a0 35 30 2c 20 30 78 34 38 35 30 2c 20 30 78 34 39 35 30 2c 20 30 78 34 41 35 30 2c 20 30 78 34 42 50,.0x4850,.0x4950,.0x4A50,.0x4B
2d3c0 35 30 2c 20 30 78 34 43 35 30 2c 20 30 78 34 44 35 30 2c 20 30 78 34 45 35 30 2c 20 30 78 34 46 50,.0x4C50,.0x4D50,.0x4E50,.0x4F
2d3e0 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 35 30 35 30 2c 20 30 78 35 31 35 30 2c 20 30 78 35 32 50,.........0x5050,.0x5150,.0x52
2d400 35 30 2c 20 30 78 35 33 35 30 2c 20 30 78 35 34 35 30 2c 20 30 78 35 35 35 30 2c 20 30 78 35 36 50,.0x5350,.0x5450,.0x5550,.0x56
2d420 35 30 2c 20 30 78 35 37 35 30 2c 20 30 78 35 38 35 30 2c 20 30 78 35 39 35 30 2c 20 30 78 35 41 50,.0x5750,.0x5850,.0x5950,.0x5A
2d440 35 30 2c 20 30 78 35 42 35 30 2c 20 30 78 35 43 35 30 2c 20 30 78 35 44 35 30 2c 20 30 78 35 45 50,.0x5B50,.0x5C50,.0x5D50,.0x5E
2d460 35 30 2c 20 30 78 35 46 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 36 30 35 30 2c 20 30 78 36 31 50,.0x5F50,.........0x6050,.0x61
2d480 35 30 2c 20 30 78 36 32 35 30 2c 20 30 78 36 33 35 30 2c 20 30 78 36 34 35 30 2c 20 30 78 36 35 50,.0x6250,.0x6350,.0x6450,.0x65
2d4a0 35 30 2c 20 30 78 36 36 35 30 2c 20 30 78 36 37 35 30 2c 20 30 78 36 38 35 30 2c 20 30 78 36 39 50,.0x6650,.0x6750,.0x6850,.0x69
2d4c0 35 30 2c 20 30 78 36 41 35 30 2c 20 30 78 36 42 35 30 2c 20 30 78 36 43 35 30 2c 20 30 78 36 44 50,.0x6A50,.0x6B50,.0x6C50,.0x6D
2d4e0 35 30 2c 20 30 78 36 45 35 30 2c 20 30 78 36 46 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 37 30 50,.0x6E50,.0x6F50,.........0x70
2d500 35 30 2c 20 30 78 37 31 35 30 2c 20 30 78 37 32 35 30 2c 20 30 78 37 33 35 30 2c 20 30 78 37 34 50,.0x7150,.0x7250,.0x7350,.0x74
2d520 35 30 2c 20 30 78 37 35 35 30 2c 20 30 78 37 36 35 30 2c 20 30 78 37 37 35 30 2c 20 30 78 37 38 50,.0x7550,.0x7650,.0x7750,.0x78
2d540 35 30 2c 20 30 78 37 39 35 30 2c 20 30 78 37 41 35 30 2c 20 30 78 37 42 35 30 2c 20 30 78 37 43 50,.0x7950,.0x7A50,.0x7B50,.0x7C
2d560 35 30 2c 20 30 78 37 44 35 30 2c 20 30 78 37 45 35 30 2c 20 30 78 37 46 35 30 2c 0a 20 20 20 20 50,.0x7D50,.0x7E50,.0x7F50,.....
2d580 20 20 20 20 30 78 38 30 35 30 2c 20 30 78 38 31 35 30 2c 20 30 78 38 32 35 30 2c 20 30 78 38 33 ....0x8050,.0x8150,.0x8250,.0x83
2d5a0 35 30 2c 20 30 78 38 34 35 30 2c 20 30 78 38 35 35 30 2c 20 30 78 38 36 35 30 2c 20 30 78 38 37 50,.0x8450,.0x8550,.0x8650,.0x87
2d5c0 35 30 2c 20 30 78 38 38 35 30 2c 20 30 78 38 39 35 30 2c 20 30 78 38 41 35 30 2c 20 30 78 38 42 50,.0x8850,.0x8950,.0x8A50,.0x8B
2d5e0 35 30 2c 20 30 78 38 43 35 30 2c 20 30 78 38 44 35 30 2c 20 30 78 38 45 35 30 2c 20 30 78 38 46 50,.0x8C50,.0x8D50,.0x8E50,.0x8F
2d600 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 39 30 35 30 2c 20 30 78 39 31 35 30 2c 20 30 78 39 32 50,.........0x9050,.0x9150,.0x92
2d620 35 30 2c 20 30 78 39 33 35 30 2c 20 30 78 39 34 35 30 2c 20 30 78 39 35 35 30 2c 20 30 78 39 36 50,.0x9350,.0x9450,.0x9550,.0x96
2d640 35 30 2c 20 30 78 39 37 35 30 2c 20 30 78 39 38 35 30 2c 20 30 78 39 39 35 30 2c 20 30 78 39 41 50,.0x9750,.0x9850,.0x9950,.0x9A
2d660 35 30 2c 20 30 78 39 42 35 30 2c 20 30 78 39 43 35 30 2c 20 30 78 39 44 35 30 2c 20 30 78 39 45 50,.0x9B50,.0x9C50,.0x9D50,.0x9E
2d680 35 30 2c 20 30 78 39 46 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 46 41 34 30 2c 20 30 78 46 42 50,.0x9F50,.........0xFA40,.0xFB
2d6a0 34 30 2c 20 30 78 46 43 34 30 2c 20 30 78 46 44 34 30 2c 20 30 78 46 45 34 30 2c 20 30 78 46 46 40,.0xFC40,.0xFD40,.0xFE40,.0xFF
2d6c0 34 30 2c 20 30 78 30 30 43 30 2c 20 30 78 30 31 34 30 2c 20 30 78 30 32 34 30 2c 20 30 78 30 33 40,.0x00C0,.0x0140,.0x0240,.0x03
2d6e0 34 30 2c 20 30 78 30 34 34 30 2c 20 30 78 30 35 34 30 2c 20 30 78 30 36 34 30 2c 20 30 78 30 37 40,.0x0440,.0x0540,.0x0640,.0x07
2d700 34 30 2c 20 30 78 30 38 34 30 2c 20 30 78 30 39 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 30 41 40,.0x0840,.0x0940,.........0x0A
2d720 34 30 2c 20 30 78 30 42 34 30 2c 20 30 78 30 43 34 30 2c 20 30 78 30 44 34 30 2c 20 30 78 30 45 40,.0x0B40,.0x0C40,.0x0D40,.0x0E
2d740 34 30 2c 20 30 78 30 46 34 30 2c 20 30 78 31 30 34 30 2c 20 30 78 31 31 34 30 2c 20 30 78 31 32 40,.0x0F40,.0x1040,.0x1140,.0x12
2d760 34 30 2c 20 30 78 31 33 34 30 2c 20 30 78 31 34 34 30 2c 20 30 78 31 35 34 30 2c 20 30 78 31 36 40,.0x1340,.0x1440,.0x1540,.0x16
2d780 34 30 2c 20 30 78 31 37 34 30 2c 20 30 78 31 38 34 30 2c 20 30 78 31 39 34 30 2c 0a 20 20 20 20 40,.0x1740,.0x1840,.0x1940,.....
2d7a0 20 20 20 20 30 78 31 41 34 30 2c 20 30 78 31 42 34 30 2c 20 30 78 31 43 34 30 2c 20 30 78 31 44 ....0x1A40,.0x1B40,.0x1C40,.0x1D
2d7c0 34 30 2c 20 30 78 31 45 34 30 2c 20 30 78 31 46 34 30 2c 20 30 78 32 30 34 30 2c 20 30 78 32 31 40,.0x1E40,.0x1F40,.0x2040,.0x21
2d7e0 34 30 2c 20 30 78 32 32 34 30 2c 20 30 78 32 33 34 30 2c 20 30 78 32 34 34 30 2c 20 30 78 32 35 40,.0x2240,.0x2340,.0x2440,.0x25
2d800 34 30 2c 20 30 78 32 36 34 30 2c 20 30 78 32 37 34 30 2c 20 30 78 32 38 34 30 2c 20 30 78 32 39 40,.0x2640,.0x2740,.0x2840,.0x29
2d820 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 32 41 34 30 2c 20 30 78 32 42 34 30 2c 20 30 78 32 43 40,.........0x2A40,.0x2B40,.0x2C
2d840 34 30 2c 20 30 78 32 44 34 30 2c 20 30 78 32 45 34 30 2c 20 30 78 32 46 34 30 2c 20 30 78 33 30 40,.0x2D40,.0x2E40,.0x2F40,.0x30
2d860 34 30 2c 20 30 78 33 31 34 30 2c 20 30 78 33 32 34 30 2c 20 30 78 33 33 34 30 2c 20 30 78 33 34 40,.0x3140,.0x3240,.0x3340,.0x34
2d880 34 30 2c 20 30 78 33 35 34 30 2c 20 30 78 33 36 34 30 2c 20 30 78 33 37 34 30 2c 20 30 78 33 38 40,.0x3540,.0x3640,.0x3740,.0x38
2d8a0 34 30 2c 20 30 78 33 39 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 33 41 34 30 2c 20 30 78 33 42 40,.0x3940,.........0x3A40,.0x3B
2d8c0 34 30 2c 20 30 78 33 43 34 30 2c 20 30 78 33 44 34 30 2c 20 30 78 33 45 34 30 2c 20 30 78 33 46 40,.0x3C40,.0x3D40,.0x3E40,.0x3F
2d8e0 34 30 2c 20 30 78 34 30 34 30 2c 20 30 78 34 31 34 30 2c 20 30 78 34 32 34 30 2c 20 30 78 34 33 40,.0x4040,.0x4140,.0x4240,.0x43
2d900 34 30 2c 20 30 78 34 34 34 30 2c 20 30 78 34 35 34 30 2c 20 30 78 34 36 34 30 2c 20 30 78 34 37 40,.0x4440,.0x4540,.0x4640,.0x47
2d920 34 30 2c 20 30 78 34 38 34 30 2c 20 30 78 34 39 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 34 41 40,.0x4840,.0x4940,.........0x4A
2d940 34 30 2c 20 30 78 34 42 34 30 2c 20 30 78 34 43 34 30 2c 20 30 78 34 44 34 30 2c 20 30 78 34 45 40,.0x4B40,.0x4C40,.0x4D40,.0x4E
2d960 34 30 2c 20 30 78 34 46 34 30 2c 20 30 78 35 30 34 30 2c 20 30 78 35 31 34 30 2c 20 30 78 35 32 40,.0x4F40,.0x5040,.0x5140,.0x52
2d980 34 30 2c 20 30 78 35 33 34 30 2c 20 30 78 35 34 34 30 2c 20 30 78 35 35 34 30 2c 20 30 78 35 36 40,.0x5340,.0x5440,.0x5540,.0x56
2d9a0 34 30 2c 20 30 78 35 37 34 30 2c 20 30 78 35 38 34 30 2c 20 30 78 35 39 34 30 2c 0a 20 20 20 20 40,.0x5740,.0x5840,.0x5940,.....
2d9c0 20 20 20 20 30 78 35 41 34 30 2c 20 30 78 35 42 34 30 2c 20 30 78 35 43 34 30 2c 20 30 78 35 44 ....0x5A40,.0x5B40,.0x5C40,.0x5D
2d9e0 34 30 2c 20 30 78 35 45 34 30 2c 20 30 78 35 46 34 30 2c 20 30 78 36 30 34 30 2c 20 30 78 36 31 40,.0x5E40,.0x5F40,.0x6040,.0x61
2da00 34 30 2c 20 30 78 36 32 34 30 2c 20 30 78 36 33 34 30 2c 20 30 78 36 34 34 30 2c 20 30 78 36 35 40,.0x6240,.0x6340,.0x6440,.0x65
2da20 34 30 2c 20 30 78 36 36 34 30 2c 20 30 78 36 37 34 30 2c 20 30 78 36 38 34 30 2c 20 30 78 36 39 40,.0x6640,.0x6740,.0x6840,.0x69
2da40 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 36 41 34 30 2c 20 30 78 36 42 34 30 2c 20 30 78 36 43 40,.........0x6A40,.0x6B40,.0x6C
2da60 34 30 2c 20 30 78 36 44 34 30 2c 20 30 78 36 45 34 30 2c 20 30 78 36 46 34 30 2c 20 30 78 37 30 40,.0x6D40,.0x6E40,.0x6F40,.0x70
2da80 34 30 2c 20 30 78 37 31 34 30 2c 20 30 78 37 32 34 30 2c 20 30 78 37 33 34 30 2c 20 30 78 37 34 40,.0x7140,.0x7240,.0x7340,.0x74
2daa0 34 30 2c 20 30 78 37 35 34 30 2c 20 30 78 37 36 34 30 2c 20 30 78 37 37 34 30 2c 20 30 78 37 38 40,.0x7540,.0x7640,.0x7740,.0x78
2dac0 34 30 2c 20 30 78 37 39 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 37 41 34 30 2c 20 30 78 37 42 40,.0x7940,.........0x7A40,.0x7B
2dae0 34 30 2c 20 30 78 37 43 34 30 2c 20 30 78 37 44 34 30 2c 20 30 78 37 45 34 30 2c 20 30 78 37 46 40,.0x7C40,.0x7D40,.0x7E40,.0x7F
2db00 34 30 2c 20 30 78 38 30 34 30 2c 20 30 78 38 31 34 30 2c 20 30 78 38 32 34 30 2c 20 30 78 38 33 40,.0x8040,.0x8140,.0x8240,.0x83
2db20 34 30 2c 20 30 78 38 34 34 30 2c 20 30 78 38 35 34 30 2c 20 30 78 38 36 34 30 2c 20 30 78 38 37 40,.0x8440,.0x8540,.0x8640,.0x87
2db40 34 30 2c 20 30 78 38 38 34 30 2c 20 30 78 38 39 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 38 41 40,.0x8840,.0x8940,.........0x8A
2db60 34 30 2c 20 30 78 38 42 34 30 2c 20 30 78 38 43 34 30 2c 20 30 78 38 44 34 30 2c 20 30 78 38 45 40,.0x8B40,.0x8C40,.0x8D40,.0x8E
2db80 34 30 2c 20 30 78 38 46 34 30 2c 20 30 78 39 30 34 30 2c 20 30 78 39 31 34 30 2c 20 30 78 39 32 40,.0x8F40,.0x9040,.0x9140,.0x92
2dba0 34 30 2c 20 30 78 39 33 34 30 2c 20 30 78 39 34 34 30 2c 20 30 78 39 35 34 30 2c 20 30 78 39 36 40,.0x9340,.0x9440,.0x9540,.0x96
2dbc0 34 30 2c 20 30 78 39 37 34 30 2c 20 30 78 39 38 34 30 2c 20 30 78 39 39 34 30 2c 0a 20 20 20 20 40,.0x9740,.0x9840,.0x9940,.....
2dbe0 20 20 20 20 30 78 39 41 34 30 2c 20 30 78 39 42 34 30 2c 20 30 78 39 43 34 30 2c 20 30 78 39 44 ....0x9A40,.0x9B40,.0x9C40,.0x9D
2dc00 34 30 2c 20 30 78 39 45 34 30 2c 20 30 78 39 46 34 30 2c 20 30 78 41 30 34 30 2c 20 30 78 41 31 40,.0x9E40,.0x9F40,.0xA040,.0xA1
2dc20 34 30 2c 20 30 78 41 32 34 30 2c 20 30 78 41 33 34 30 2c 20 30 78 41 34 34 30 2c 20 30 78 41 35 40,.0xA240,.0xA340,.0xA440,.0xA5
2dc40 34 30 2c 20 30 78 41 36 34 30 2c 20 30 78 41 37 34 30 2c 20 30 78 41 38 34 30 2c 20 30 78 41 39 40,.0xA640,.0xA740,.0xA840,.0xA9
2dc60 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 41 41 34 30 2c 20 30 78 41 42 34 30 2c 20 30 78 41 43 40,.........0xAA40,.0xAB40,.0xAC
2dc80 34 30 2c 20 30 78 41 44 34 30 2c 20 30 78 41 45 34 30 2c 20 30 78 41 46 34 30 2c 20 30 78 42 30 40,.0xAD40,.0xAE40,.0xAF40,.0xB0
2dca0 34 30 2c 20 30 78 42 31 34 30 2c 20 30 78 42 32 34 30 2c 20 30 78 42 33 34 30 2c 20 30 78 42 34 40,.0xB140,.0xB240,.0xB340,.0xB4
2dcc0 34 30 2c 20 30 78 42 35 34 30 2c 20 30 78 42 36 34 30 2c 20 30 78 42 37 34 30 2c 20 30 78 42 38 40,.0xB540,.0xB640,.0xB740,.0xB8
2dce0 34 30 2c 20 30 78 42 39 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 42 41 34 30 2c 20 30 78 42 42 40,.0xB940,.........0xBA40,.0xBB
2dd00 34 30 2c 20 30 78 42 43 34 30 2c 20 30 78 42 44 34 30 2c 20 30 78 42 45 34 30 2c 20 30 78 42 46 40,.0xBC40,.0xBD40,.0xBE40,.0xBF
2dd20 34 30 2c 20 30 78 43 30 34 30 2c 20 30 78 43 31 34 30 2c 20 30 78 43 32 34 30 2c 20 30 78 43 33 40,.0xC040,.0xC140,.0xC240,.0xC3
2dd40 34 30 2c 20 30 78 43 34 34 30 2c 20 30 78 43 35 34 30 2c 20 30 78 43 36 34 30 2c 20 30 78 43 37 40,.0xC440,.0xC540,.0xC640,.0xC7
2dd60 34 30 2c 20 30 78 43 38 34 30 2c 20 30 78 43 39 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 43 41 40,.0xC840,.0xC940,.........0xCA
2dd80 34 30 2c 20 30 78 43 42 34 30 2c 20 30 78 43 43 34 30 2c 20 30 78 43 44 34 30 2c 20 30 78 43 45 40,.0xCB40,.0xCC40,.0xCD40,.0xCE
2dda0 34 30 2c 20 30 78 43 46 34 30 2c 20 30 78 44 30 34 30 2c 20 30 78 44 31 34 30 2c 20 30 78 44 32 40,.0xCF40,.0xD040,.0xD140,.0xD2
2ddc0 34 30 2c 20 30 78 44 33 34 30 2c 20 30 78 44 34 34 30 2c 20 30 78 44 35 34 30 2c 20 30 78 44 36 40,.0xD340,.0xD440,.0xD540,.0xD6
2dde0 34 30 2c 20 30 78 44 37 34 30 2c 20 30 78 44 38 34 30 2c 20 30 78 44 39 34 30 2c 0a 20 20 20 20 40,.0xD740,.0xD840,.0xD940,.....
2de00 20 20 20 20 30 78 44 41 34 30 2c 20 30 78 44 42 34 30 2c 20 30 78 44 43 34 30 2c 20 30 78 44 44 ....0xDA40,.0xDB40,.0xDC40,.0xDD
2de20 34 30 2c 20 30 78 44 45 34 30 2c 20 30 78 44 46 34 30 2c 20 30 78 45 30 34 30 2c 20 30 78 45 31 40,.0xDE40,.0xDF40,.0xE040,.0xE1
2de40 34 30 2c 20 30 78 45 32 34 30 2c 20 30 78 45 33 34 30 2c 20 30 78 45 34 34 30 2c 20 30 78 45 35 40,.0xE240,.0xE340,.0xE440,.0xE5
2de60 34 30 2c 20 30 78 45 36 34 30 2c 20 30 78 45 37 34 30 2c 20 30 78 45 38 34 30 2c 20 30 78 45 39 40,.0xE640,.0xE740,.0xE840,.0xE9
2de80 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 45 41 34 30 2c 20 30 78 45 42 34 30 2c 20 30 78 45 43 40,.........0xEA40,.0xEB40,.0xEC
2dea0 34 30 2c 20 30 78 45 44 34 30 2c 20 30 78 45 45 34 30 2c 20 30 78 45 46 34 30 2c 20 30 78 46 30 40,.0xED40,.0xEE40,.0xEF40,.0xF0
2dec0 34 30 2c 20 30 78 46 31 34 30 2c 20 30 78 46 32 34 30 2c 20 30 78 46 33 34 30 2c 20 30 78 46 34 40,.0xF140,.0xF240,.0xF340,.0xF4
2dee0 34 30 2c 20 30 78 46 35 34 30 2c 20 30 78 46 36 34 30 2c 20 30 78 46 37 34 30 2c 20 30 78 46 38 40,.0xF540,.0xF640,.0xF740,.0xF8
2df00 34 30 2c 20 30 78 46 39 34 30 2c 0a 20 20 20 20 20 20 20 20 30 78 39 41 35 30 2c 20 30 78 39 42 40,.0xF940,.........0x9A50,.0x9B
2df20 35 30 2c 20 30 78 39 43 35 30 2c 20 30 78 39 44 35 30 2c 20 30 78 39 45 35 30 2c 20 30 78 39 46 50,.0x9C50,.0x9D50,.0x9E50,.0x9F
2df40 35 30 2c 20 30 78 41 30 35 30 2c 20 30 78 41 31 35 30 2c 20 30 78 41 32 35 30 2c 20 30 78 41 33 50,.0xA050,.0xA150,.0xA250,.0xA3
2df60 35 30 2c 20 30 78 41 34 35 30 2c 20 30 78 41 35 35 30 2c 20 30 78 41 36 35 30 2c 20 30 78 41 37 50,.0xA450,.0xA550,.0xA650,.0xA7
2df80 35 30 2c 20 30 78 41 38 35 30 2c 20 30 78 41 39 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 41 41 50,.0xA850,.0xA950,.........0xAA
2dfa0 35 30 2c 20 30 78 41 42 35 30 2c 20 30 78 41 43 35 30 2c 20 30 78 41 44 35 30 2c 20 30 78 41 45 50,.0xAB50,.0xAC50,.0xAD50,.0xAE
2dfc0 35 30 2c 20 30 78 41 46 35 30 2c 20 30 78 42 30 35 30 2c 20 30 78 42 31 35 30 2c 20 30 78 42 32 50,.0xAF50,.0xB050,.0xB150,.0xB2
2dfe0 35 30 2c 20 30 78 42 33 35 30 2c 20 30 78 42 34 35 30 2c 20 30 78 42 35 35 30 2c 20 30 78 42 36 50,.0xB350,.0xB450,.0xB550,.0xB6
2e000 35 30 2c 20 30 78 42 37 35 30 2c 20 30 78 42 38 35 30 2c 20 30 78 42 39 35 30 2c 0a 20 20 20 20 50,.0xB750,.0xB850,.0xB950,.....
2e020 20 20 20 20 30 78 42 41 35 30 2c 20 30 78 42 42 35 30 2c 20 30 78 42 43 35 30 2c 20 30 78 42 44 ....0xBA50,.0xBB50,.0xBC50,.0xBD
2e040 35 30 2c 20 30 78 42 45 35 30 2c 20 30 78 42 46 35 30 2c 20 30 78 43 30 35 30 2c 20 30 78 43 31 50,.0xBE50,.0xBF50,.0xC050,.0xC1
2e060 35 30 2c 20 30 78 43 32 35 30 2c 20 30 78 43 33 35 30 2c 20 30 78 43 34 35 30 2c 20 30 78 43 35 50,.0xC250,.0xC350,.0xC450,.0xC5
2e080 35 30 2c 20 30 78 43 36 35 30 2c 20 30 78 43 37 35 30 2c 20 30 78 43 38 35 30 2c 20 30 78 43 39 50,.0xC650,.0xC750,.0xC850,.0xC9
2e0a0 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 43 41 35 30 2c 20 30 78 43 42 35 30 2c 20 30 78 43 43 50,.........0xCA50,.0xCB50,.0xCC
2e0c0 35 30 2c 20 30 78 43 44 35 30 2c 20 30 78 43 45 35 30 2c 20 30 78 43 46 35 30 2c 20 30 78 44 30 50,.0xCD50,.0xCE50,.0xCF50,.0xD0
2e0e0 35 30 2c 20 30 78 44 31 35 30 2c 20 30 78 44 32 35 30 2c 20 30 78 44 33 35 30 2c 20 30 78 44 34 50,.0xD150,.0xD250,.0xD350,.0xD4
2e100 35 30 2c 20 30 78 44 35 35 30 2c 20 30 78 44 36 35 30 2c 20 30 78 44 37 35 30 2c 20 30 78 44 38 50,.0xD550,.0xD650,.0xD750,.0xD8
2e120 35 30 2c 20 30 78 44 39 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 44 41 35 30 2c 20 30 78 44 42 50,.0xD950,.........0xDA50,.0xDB
2e140 35 30 2c 20 30 78 44 43 35 30 2c 20 30 78 44 44 35 30 2c 20 30 78 44 45 35 30 2c 20 30 78 44 46 50,.0xDC50,.0xDD50,.0xDE50,.0xDF
2e160 35 30 2c 20 30 78 45 30 35 30 2c 20 30 78 45 31 35 30 2c 20 30 78 45 32 35 30 2c 20 30 78 45 33 50,.0xE050,.0xE150,.0xE250,.0xE3
2e180 35 30 2c 20 30 78 45 34 35 30 2c 20 30 78 45 35 35 30 2c 20 30 78 45 36 35 30 2c 20 30 78 45 37 50,.0xE450,.0xE550,.0xE650,.0xE7
2e1a0 35 30 2c 20 30 78 45 38 35 30 2c 20 30 78 45 39 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 45 41 50,.0xE850,.0xE950,.........0xEA
2e1c0 35 30 2c 20 30 78 45 42 35 30 2c 20 30 78 45 43 35 30 2c 20 30 78 45 44 35 30 2c 20 30 78 45 45 50,.0xEB50,.0xEC50,.0xED50,.0xEE
2e1e0 35 30 2c 20 30 78 45 46 35 30 2c 20 30 78 46 30 35 30 2c 20 30 78 46 31 35 30 2c 20 30 78 46 32 50,.0xEF50,.0xF050,.0xF150,.0xF2
2e200 35 30 2c 20 30 78 46 33 35 30 2c 20 30 78 46 34 35 30 2c 20 30 78 46 35 35 30 2c 20 30 78 46 36 50,.0xF350,.0xF450,.0xF550,.0xF6
2e220 35 30 2c 20 30 78 46 37 35 30 2c 20 30 78 46 38 35 30 2c 20 30 78 46 39 35 30 2c 0a 20 20 20 20 50,.0xF750,.0xF850,.0xF950,.....
2e240 20 20 20 20 30 78 46 41 35 30 2c 20 30 78 46 42 35 30 2c 20 30 78 46 43 35 30 2c 20 30 78 46 44 ....0xFA50,.0xFB50,.0xFC50,.0xFD
2e260 35 30 2c 20 30 78 46 45 35 30 2c 20 30 78 46 46 35 30 2c 20 30 78 30 30 44 30 2c 20 30 78 30 31 50,.0xFE50,.0xFF50,.0x00D0,.0x01
2e280 35 30 2c 20 30 78 30 32 35 30 2c 20 30 78 30 33 35 30 2c 20 30 78 30 34 35 30 2c 20 30 78 30 35 50,.0x0250,.0x0350,.0x0450,.0x05
2e2a0 35 30 2c 20 30 78 30 36 35 30 2c 20 30 78 30 37 35 30 2c 20 30 78 30 38 35 30 2c 20 30 78 30 39 50,.0x0650,.0x0750,.0x0850,.0x09
2e2c0 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 30 41 35 30 2c 20 30 78 30 42 35 30 2c 20 30 78 30 43 50,.........0x0A50,.0x0B50,.0x0C
2e2e0 35 30 2c 20 30 78 30 44 35 30 2c 20 30 78 30 45 35 30 2c 20 30 78 30 46 35 30 2c 20 30 78 31 30 50,.0x0D50,.0x0E50,.0x0F50,.0x10
2e300 35 30 2c 20 30 78 31 31 35 30 2c 20 30 78 31 32 35 30 2c 20 30 78 31 33 35 30 2c 20 30 78 31 34 50,.0x1150,.0x1250,.0x1350,.0x14
2e320 35 30 2c 20 30 78 31 35 35 30 2c 20 30 78 31 36 35 30 2c 20 30 78 31 37 35 30 2c 20 30 78 31 38 50,.0x1550,.0x1650,.0x1750,.0x18
2e340 35 30 2c 20 30 78 31 39 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 31 41 35 30 2c 20 30 78 31 42 50,.0x1950,.........0x1A50,.0x1B
2e360 35 30 2c 20 30 78 31 43 35 30 2c 20 30 78 31 44 35 30 2c 20 30 78 31 45 35 30 2c 20 30 78 31 46 50,.0x1C50,.0x1D50,.0x1E50,.0x1F
2e380 35 30 2c 20 30 78 32 30 35 30 2c 20 30 78 32 31 35 30 2c 20 30 78 32 32 35 30 2c 20 30 78 32 33 50,.0x2050,.0x2150,.0x2250,.0x23
2e3a0 35 30 2c 20 30 78 32 34 35 30 2c 20 30 78 32 35 35 30 2c 20 30 78 32 36 35 30 2c 20 30 78 32 37 50,.0x2450,.0x2550,.0x2650,.0x27
2e3c0 35 30 2c 20 30 78 32 38 35 30 2c 20 30 78 32 39 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 32 41 50,.0x2850,.0x2950,.........0x2A
2e3e0 35 30 2c 20 30 78 32 42 35 30 2c 20 30 78 32 43 35 30 2c 20 30 78 32 44 35 30 2c 20 30 78 32 45 50,.0x2B50,.0x2C50,.0x2D50,.0x2E
2e400 35 30 2c 20 30 78 32 46 35 30 2c 20 30 78 33 30 35 30 2c 20 30 78 33 31 35 30 2c 20 30 78 33 32 50,.0x2F50,.0x3050,.0x3150,.0x32
2e420 35 30 2c 20 30 78 33 33 35 30 2c 20 30 78 33 34 35 30 2c 20 30 78 33 35 35 30 2c 20 30 78 33 36 50,.0x3350,.0x3450,.0x3550,.0x36
2e440 35 30 2c 20 30 78 33 37 35 30 2c 20 30 78 33 38 35 30 2c 20 30 78 33 39 35 30 2c 0a 20 20 20 20 50,.0x3750,.0x3850,.0x3950,.....
2e460 20 20 20 20 30 78 33 41 35 30 2c 20 30 78 33 42 35 30 2c 20 30 78 33 43 35 30 2c 20 30 78 33 44 ....0x3A50,.0x3B50,.0x3C50,.0x3D
2e480 35 30 2c 20 30 78 33 45 35 30 2c 20 30 78 33 46 35 30 2c 20 30 78 34 30 35 30 2c 20 30 78 34 31 50,.0x3E50,.0x3F50,.0x4050,.0x41
2e4a0 35 30 2c 20 30 78 34 32 35 30 2c 20 30 78 34 33 35 30 2c 20 30 78 34 34 35 30 2c 20 30 78 34 35 50,.0x4250,.0x4350,.0x4450,.0x45
2e4c0 35 30 2c 20 30 78 34 36 35 30 2c 20 30 78 34 37 35 30 2c 20 30 78 34 38 35 30 2c 20 30 78 34 39 50,.0x4650,.0x4750,.0x4850,.0x49
2e4e0 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 34 41 35 30 2c 20 30 78 34 42 35 30 2c 20 30 78 34 43 50,.........0x4A50,.0x4B50,.0x4C
2e500 35 30 2c 20 30 78 34 44 35 30 2c 20 30 78 34 45 35 30 2c 20 30 78 34 46 35 30 2c 20 30 78 35 30 50,.0x4D50,.0x4E50,.0x4F50,.0x50
2e520 35 30 2c 20 30 78 35 31 35 30 2c 20 30 78 35 32 35 30 2c 20 30 78 35 33 35 30 2c 20 30 78 35 34 50,.0x5150,.0x5250,.0x5350,.0x54
2e540 35 30 2c 20 30 78 35 35 35 30 2c 20 30 78 35 36 35 30 2c 20 30 78 35 37 35 30 2c 20 30 78 35 38 50,.0x5550,.0x5650,.0x5750,.0x58
2e560 35 30 2c 20 30 78 35 39 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 35 41 35 30 2c 20 30 78 35 42 50,.0x5950,.........0x5A50,.0x5B
2e580 35 30 2c 20 30 78 35 43 35 30 2c 20 30 78 35 44 35 30 2c 20 30 78 35 45 35 30 2c 20 30 78 35 46 50,.0x5C50,.0x5D50,.0x5E50,.0x5F
2e5a0 35 30 2c 20 30 78 36 30 35 30 2c 20 30 78 36 31 35 30 2c 20 30 78 36 32 35 30 2c 20 30 78 36 33 50,.0x6050,.0x6150,.0x6250,.0x63
2e5c0 35 30 2c 20 30 78 36 34 35 30 2c 20 30 78 36 35 35 30 2c 20 30 78 36 36 35 30 2c 20 30 78 36 37 50,.0x6450,.0x6550,.0x6650,.0x67
2e5e0 35 30 2c 20 30 78 36 38 35 30 2c 20 30 78 36 39 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 36 41 50,.0x6850,.0x6950,.........0x6A
2e600 35 30 2c 20 30 78 36 42 35 30 2c 20 30 78 36 43 35 30 2c 20 30 78 36 44 35 30 2c 20 30 78 36 45 50,.0x6B50,.0x6C50,.0x6D50,.0x6E
2e620 35 30 2c 20 30 78 36 46 35 30 2c 20 30 78 37 30 35 30 2c 20 30 78 37 31 35 30 2c 20 30 78 37 32 50,.0x6F50,.0x7050,.0x7150,.0x72
2e640 35 30 2c 20 30 78 37 33 35 30 2c 20 30 78 37 34 35 30 2c 20 30 78 37 35 35 30 2c 20 30 78 37 36 50,.0x7350,.0x7450,.0x7550,.0x76
2e660 35 30 2c 20 30 78 37 37 35 30 2c 20 30 78 37 38 35 30 2c 20 30 78 37 39 35 30 2c 0a 20 20 20 20 50,.0x7750,.0x7850,.0x7950,.....
2e680 20 20 20 20 30 78 37 41 35 30 2c 20 30 78 37 42 35 30 2c 20 30 78 37 43 35 30 2c 20 30 78 37 44 ....0x7A50,.0x7B50,.0x7C50,.0x7D
2e6a0 35 30 2c 20 30 78 37 45 35 30 2c 20 30 78 37 46 35 30 2c 20 30 78 38 30 35 30 2c 20 30 78 38 31 50,.0x7E50,.0x7F50,.0x8050,.0x81
2e6c0 35 30 2c 20 30 78 38 32 35 30 2c 20 30 78 38 33 35 30 2c 20 30 78 38 34 35 30 2c 20 30 78 38 35 50,.0x8250,.0x8350,.0x8450,.0x85
2e6e0 35 30 2c 20 30 78 38 36 35 30 2c 20 30 78 38 37 35 30 2c 20 30 78 38 38 35 30 2c 20 30 78 38 39 50,.0x8650,.0x8750,.0x8850,.0x89
2e700 35 30 2c 0a 20 20 20 20 20 20 20 20 30 78 38 41 35 30 2c 20 30 78 38 42 35 30 2c 20 30 78 38 43 50,.........0x8A50,.0x8B50,.0x8C
2e720 35 30 2c 20 30 78 38 44 35 30 2c 20 30 78 38 45 35 30 2c 20 30 78 38 46 35 30 2c 20 30 78 39 30 50,.0x8D50,.0x8E50,.0x8F50,.0x90
2e740 35 30 2c 20 30 78 39 31 35 30 2c 20 30 78 39 32 35 30 2c 20 30 78 39 33 35 30 2c 20 30 78 39 34 50,.0x9150,.0x9250,.0x9350,.0x94
2e760 35 30 2c 20 30 78 39 35 35 30 2c 20 30 78 39 36 35 30 2c 20 30 78 39 37 35 30 2c 20 30 78 39 38 50,.0x9550,.0x9650,.0x9750,.0x98
2e780 35 30 2c 20 30 78 39 39 35 30 2c 0a 20 20 20 20 5d 3b 0a 0a 20 20 20 20 2f 2f 44 75 6d 70 20 6f 50,.0x9950,.....];......//Dump.o
2e7a0 66 20 74 68 65 20 70 6f 73 74 2d 42 4f 4f 54 20 49 2f 4f 20 72 65 67 69 73 74 65 72 20 73 74 61 f.the.post-BOOT.I/O.register.sta
2e7c0 74 65 20 28 46 72 6f 6d 20 67 61 6d 62 61 74 74 65 29 3a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 te.(From.gambatte):.....public.s
2e7e0 74 61 74 69 63 20 24 66 66 78 78 44 75 6d 70 20 3d 20 5b 0a 20 20 20 20 20 20 20 20 30 78 30 46 tatic.$ffxxDump.=.[.........0x0F
2e800 2c 20 30 78 30 30 2c 20 30 78 37 43 2c 20 30 78 46 46 2c 20 30 78 34 33 2c 20 30 78 30 30 2c 20 ,.0x00,.0x7C,.0xFF,.0x43,.0x00,.
2e820 30 78 30 30 2c 20 30 78 46 38 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 0x00,.0xF8,.0xFF,.0xFF,.0xFF,.0x
2e840 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 30 31 2c 0a 20 20 20 20 FF,.0xFF,.0xFF,.0xFF,.0x01,.....
2e860 20 20 20 20 30 78 38 30 2c 20 30 78 42 46 2c 20 30 78 46 33 2c 20 30 78 46 46 2c 20 30 78 42 46 ....0x80,.0xBF,.0xF3,.0xFF,.0xBF
2e880 2c 20 30 78 46 46 2c 20 30 78 33 46 2c 20 30 78 30 30 2c 20 30 78 46 46 2c 20 30 78 42 46 2c 20 ,.0xFF,.0x3F,.0x00,.0xFF,.0xBF,.
2e8a0 30 78 37 46 2c 20 30 78 46 46 2c 20 30 78 39 46 2c 20 30 78 46 46 2c 20 30 78 42 46 2c 20 30 78 0x7F,.0xFF,.0x9F,.0xFF,.0xBF,.0x
2e8c0 46 46 2c 0a 20 20 20 20 20 20 20 20 30 78 46 46 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 FF,.........0xFF,.0x00,.0x00,.0x
2e8e0 42 46 2c 20 30 78 37 37 2c 20 30 78 46 33 2c 20 30 78 46 31 2c 20 30 78 46 46 2c 20 30 78 46 46 BF,.0x77,.0xF3,.0xF1,.0xFF,.0xFF
2e900 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 ,.0xFF,.0xFF,.0xFF,.0xFF,.0xFF,.
2e920 30 78 46 46 2c 20 30 78 46 46 2c 0a 20 20 20 20 20 20 20 20 30 78 30 30 2c 20 30 78 46 46 2c 20 0xFF,.0xFF,.........0x00,.0xFF,.
2e940 30 78 30 30 2c 20 30 78 46 46 2c 20 30 78 30 30 2c 20 30 78 46 46 2c 20 30 78 30 30 2c 20 30 78 0x00,.0xFF,.0x00,.0xFF,.0x00,.0x
2e960 46 46 2c 20 30 78 30 30 2c 20 30 78 46 46 2c 20 30 78 30 30 2c 20 30 78 46 46 2c 20 30 78 30 30 FF,.0x00,.0xFF,.0x00,.0xFF,.0x00
2e980 2c 20 30 78 46 46 2c 20 30 78 30 30 2c 20 30 78 46 46 2c 0a 20 20 20 20 20 20 20 20 30 78 39 31 ,.0xFF,.0x00,.0xFF,.........0x91
2e9a0 2c 20 30 78 38 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 ,.0x80,.0x00,.0x00,.0x00,.0x00,.
2e9c0 30 78 30 30 2c 20 30 78 46 43 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 0x00,.0xFC,.0x00,.0x00,.0x00,.0x
2e9e0 30 30 2c 20 30 78 46 46 2c 20 30 78 37 45 2c 20 30 78 46 46 2c 20 30 78 46 45 2c 0a 20 20 20 20 00,.0xFF,.0x7E,.0xFF,.0xFE,.....
2ea00 20 20 20 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 ....0xFF,.0xFF,.0xFF,.0xFF,.0xFF
2ea20 2c 20 30 78 46 46 2c 20 30 78 33 45 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 ,.0xFF,.0x3E,.0xFF,.0xFF,.0xFF,.
2ea40 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 0xFF,.0xFF,.0xFF,.0xFF,.0xFF,.0x
2ea60 46 46 2c 0a 20 20 20 20 20 20 20 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 FF,.........0xFF,.0xFF,.0xFF,.0x
2ea80 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 43 30 FF,.0xFF,.0xFF,.0xFF,.0xFF,.0xC0
2eaa0 2c 20 30 78 46 46 2c 20 30 78 43 31 2c 20 30 78 30 30 2c 20 30 78 46 45 2c 20 30 78 46 46 2c 20 ,.0xFF,.0xC1,.0x00,.0xFE,.0xFF,.
2eac0 30 78 46 46 2c 20 30 78 46 46 2c 0a 20 20 20 20 20 20 20 20 30 78 46 38 2c 20 30 78 46 46 2c 20 0xFF,.0xFF,.........0xF8,.0xFF,.
2eae0 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 38 46 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x00,.0x00,.0x8F,.0x00,.0x
2eb00 30 30 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 00,.0xFF,.0xFF,.0xFF,.0xFF,.0xFF
2eb20 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 20 30 78 46 46 2c 0a 20 20 20 20 20 20 20 20 30 78 43 45 ,.0xFF,.0xFF,.0xFF,.........0xCE
2eb40 2c 20 30 78 45 44 2c 20 30 78 36 36 2c 20 30 78 36 36 2c 20 30 78 43 43 2c 20 30 78 30 44 2c 20 ,.0xED,.0x66,.0x66,.0xCC,.0x0D,.
2eb60 30 78 30 30 2c 20 30 78 30 42 2c 20 30 78 30 33 2c 20 30 78 37 33 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x0B,.0x03,.0x73,.0x00,.0x
2eb80 38 33 2c 20 30 78 30 30 2c 20 30 78 30 43 2c 20 30 78 30 30 2c 20 30 78 30 44 2c 0a 20 20 20 20 83,.0x00,.0x0C,.0x00,.0x0D,.....
2eba0 20 20 20 20 30 78 30 30 2c 20 30 78 30 38 2c 20 30 78 31 31 2c 20 30 78 31 46 2c 20 30 78 38 38 ....0x00,.0x08,.0x11,.0x1F,.0x88
2ebc0 2c 20 30 78 38 39 2c 20 30 78 30 30 2c 20 30 78 30 45 2c 20 30 78 44 43 2c 20 30 78 43 43 2c 20 ,.0x89,.0x00,.0x0E,.0xDC,.0xCC,.
2ebe0 30 78 36 45 2c 20 30 78 45 36 2c 20 30 78 44 44 2c 20 30 78 44 44 2c 20 30 78 44 39 2c 20 30 78 0x6E,.0xE6,.0xDD,.0xDD,.0xD9,.0x
2ec00 39 39 2c 0a 20 20 20 20 20 20 20 20 30 78 42 42 2c 20 30 78 42 42 2c 20 30 78 36 37 2c 20 30 78 99,.........0xBB,.0xBB,.0x67,.0x
2ec20 36 33 2c 20 30 78 36 45 2c 20 30 78 30 45 2c 20 30 78 45 43 2c 20 30 78 43 43 2c 20 30 78 44 44 63,.0x6E,.0x0E,.0xEC,.0xCC,.0xDD
2ec40 2c 20 30 78 44 43 2c 20 30 78 39 39 2c 20 30 78 39 46 2c 20 30 78 42 42 2c 20 30 78 42 39 2c 20 ,.0xDC,.0x99,.0x9F,.0xBB,.0xB9,.
2ec60 30 78 33 33 2c 20 30 78 33 45 2c 0a 20 20 20 20 20 20 20 20 30 78 34 35 2c 20 30 78 45 43 2c 20 0x33,.0x3E,.........0x45,.0xEC,.
2ec80 30 78 35 32 2c 20 30 78 46 41 2c 20 30 78 30 38 2c 20 30 78 42 37 2c 20 30 78 30 37 2c 20 30 78 0x52,.0xFA,.0x08,.0xB7,.0x07,.0x
2eca0 35 44 2c 20 30 78 30 31 2c 20 30 78 46 44 2c 20 30 78 43 30 2c 20 30 78 46 46 2c 20 30 78 30 38 5D,.0x01,.0xFD,.0xC0,.0xFF,.0x08
2ecc0 2c 20 30 78 46 43 2c 20 30 78 30 30 2c 20 30 78 45 35 2c 0a 20 20 20 20 20 20 20 20 30 78 30 42 ,.0xFC,.0x00,.0xE5,.........0x0B
2ece0 2c 20 30 78 46 38 2c 20 30 78 43 32 2c 20 30 78 43 45 2c 20 30 78 46 34 2c 20 30 78 46 39 2c 20 ,.0xF8,.0xC2,.0xCE,.0xF4,.0xF9,.
2ed00 30 78 30 46 2c 20 30 78 37 46 2c 20 30 78 34 35 2c 20 30 78 36 44 2c 20 30 78 33 44 2c 20 30 78 0x0F,.0x7F,.0x45,.0x6D,.0x3D,.0x
2ed20 46 45 2c 20 30 78 34 36 2c 20 30 78 39 37 2c 20 30 78 33 33 2c 20 30 78 35 45 2c 0a 20 20 20 20 FE,.0x46,.0x97,.0x33,.0x5E,.....
2ed40 20 20 20 20 30 78 30 38 2c 20 30 78 45 46 2c 20 30 78 46 31 2c 20 30 78 46 46 2c 20 30 78 38 36 ....0x08,.0xEF,.0xF1,.0xFF,.0x86
2ed60 2c 20 30 78 38 33 2c 20 30 78 32 34 2c 20 30 78 37 34 2c 20 30 78 31 32 2c 20 30 78 46 43 2c 20 ,.0x83,.0x24,.0x74,.0x12,.0xFC,.
2ed80 30 78 30 30 2c 20 30 78 39 46 2c 20 30 78 42 34 2c 20 30 78 42 37 2c 20 30 78 30 36 2c 20 30 78 0x00,.0x9F,.0xB4,.0xB7,.0x06,.0x
2eda0 44 35 2c 0a 20 20 20 20 20 20 20 20 30 78 44 30 2c 20 30 78 37 41 2c 20 30 78 30 30 2c 20 30 78 D5,.........0xD0,.0x7A,.0x00,.0x
2edc0 39 45 2c 20 30 78 30 34 2c 20 30 78 35 46 2c 20 30 78 34 31 2c 20 30 78 32 46 2c 20 30 78 31 44 9E,.0x04,.0x5F,.0x41,.0x2F,.0x1D
2ede0 2c 20 30 78 37 37 2c 20 30 78 33 36 2c 20 30 78 37 35 2c 20 30 78 38 31 2c 20 30 78 41 41 2c 20 ,.0x77,.0x36,.0x75,.0x81,.0xAA,.
2ee00 30 78 37 30 2c 20 30 78 33 41 2c 0a 20 20 20 20 20 20 20 20 30 78 39 38 2c 20 30 78 44 31 2c 20 0x70,.0x3A,.........0x98,.0xD1,.
2ee20 30 78 37 31 2c 20 30 78 30 32 2c 20 30 78 34 44 2c 20 30 78 30 31 2c 20 30 78 43 31 2c 20 30 78 0x71,.0x02,.0x4D,.0x01,.0xC1,.0x
2ee40 46 46 2c 20 30 78 30 44 2c 20 30 78 30 30 2c 20 30 78 44 33 2c 20 30 78 30 35 2c 20 30 78 46 39 FF,.0x0D,.0x00,.0xD3,.0x05,.0xF9
2ee60 2c 20 30 78 30 30 2c 20 30 78 30 42 2c 20 30 78 30 30 2c 0a 20 20 20 20 5d 3b 0a 7d 0a 3c 3f 70 ,.0x00,.0x0B,.0x00,.....];.}.<?p
2ee80 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 47 61 6d 65 42 6f 79 3b 0a 0a 63 6c 61 73 73 20 4b 65 hp..namespace.GameBoy;..class.Ke
2eea0 79 62 6f 61 72 64 0a 7b 0a 20 20 20 20 70 75 62 6c 69 63 20 24 63 6f 72 65 3b 0a 20 20 20 20 70 yboard.{.....public.$core;.....p
2eec0 75 62 6c 69 63 20 24 66 69 6c 65 3b 0a 20 20 20 20 70 75 62 6c 69 63 20 24 6b 65 79 50 72 65 73 ublic.$file;.....public.$keyPres
2eee0 73 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 70 75 62 6c 69 63 20 24 73 74 61 72 74 65 64 sing.=.null;.....public.$started
2ef00 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f .=.false;......public.function._
2ef20 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 72 65 20 24 63 6f 72 65 29 0a 20 20 20 20 7b 0a 20 20 20 _construct(Core.$core).....{....
2ef40 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 20 3d 20 24 63 6f 72 65 3b 0a 20 20 20 20 20 20 .....$this->core.=.$core;.......
2ef60 20 20 65 78 65 63 28 27 73 74 74 79 20 2d 69 63 61 6e 6f 6e 27 29 3b 0a 20 20 20 20 20 20 20 20 ..exec('stty.-icanon');.........
2ef80 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 73 74 64 69 6e $this->file.=.fopen('php://stdin
2efa0 27 2c 20 27 72 27 29 3b 0a 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 5f 73 65 74 5f 62 6c 6f 63 ',.'r');.........stream_set_bloc
2efc0 6b 69 6e 67 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 7d 0a king($this->file,.false);.....}.
2efe0 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 29 0a 20 20 20 .....public.function.check()....
2f000 20 7b 0a 20 20 20 20 20 20 20 20 24 6b 65 79 20 3d 20 66 72 65 61 64 28 24 74 68 69 73 2d 3e 66 .{.........$key.=.fread($this->f
2f020 69 6c 65 2c 20 31 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 6b 65 ile,.1);..........if.(!empty($ke
2f040 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6b 65 79 44 6f 77 6e y)).{.............$this->keyDown
2f060 28 24 6b 65 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 ($key);.........}.elseif.(!empty
2f080 28 24 74 68 69 73 2d 3e 6b 65 79 50 72 65 73 73 69 6e 67 29 29 20 7b 0a 20 20 20 20 20 20 20 20 ($this->keyPressing)).{.........
2f0a0 20 20 20 20 24 74 68 69 73 2d 3e 6b 65 79 55 70 28 24 74 68 69 73 2d 3e 6b 65 79 50 72 65 73 73 ....$this->keyUp($this->keyPress
2f0c0 69 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ing);.........}..........$this->
2f0e0 6b 65 79 50 72 65 73 73 69 6e 67 20 3d 20 24 6b 65 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 keyPressing.=.$key;.....}......p
2f100 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 4b 65 79 28 24 6b 65 79 29 0a 20 20 ublic.function.matchKey($key)...
2f120 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 4d 61 70 73 20 61 20 6b 65 79 62 6f 61 72 64 20 6b 65 ..{.........//Maps.a.keyboard.ke
2f140 79 20 74 6f 20 61 20 67 61 6d 65 62 6f 79 20 6b 65 79 2e 0a 20 20 20 20 20 20 20 20 2f 2f 4f 72 y.to.a.gameboy.key..........//Or
2f160 64 65 72 3a 20 52 69 67 68 74 2c 20 4c 65 66 74 2c 20 55 70 2c 20 44 6f 77 6e 2c 20 41 2c 20 42 der:.Right,.Left,.Up,.Down,.A,.B
2f180 2c 20 53 65 6c 65 63 74 2c 20 53 74 61 72 74 0a 0a 20 20 20 20 20 20 20 20 24 6b 65 79 49 6e 64 ,.Select,.Start..........$keyInd
2f1a0 65 78 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 6b 65 79 2c 20 53 65 74 74 69 6e 67 73 ex.=.array_search($key,.Settings
2f1c0 3a 3a 24 73 65 74 74 69 6e 67 73 5b 33 5d 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6b ::$settings[3]);..........if.($k
2f1e0 65 79 49 6e 64 65 78 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 eyIndex.===.false).{............
2f200 20 72 65 74 75 72 6e 20 2d 31 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 .return.-1;.........}..........r
2f220 65 74 75 72 6e 20 24 6b 65 79 49 6e 64 65 78 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c eturn.$keyIndex;.....}......publ
2f240 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 44 6f 77 6e 28 24 6b 65 79 29 0a 20 20 20 20 7b 0a ic.function.keyDown($key).....{.
2f260 20 20 20 20 20 20 20 20 24 6b 65 79 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 4b ........$keyCode.=.$this->matchK
2f280 65 79 28 24 6b 65 79 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6b 65 79 43 6f 64 65 20 ey($key);..........if.($keyCode.
2f2a0 3e 20 2d 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d >.-1).{.............$this->core-
2f2c0 3e 6a 6f 79 50 61 64 45 76 65 6e 74 28 24 6b 65 79 43 6f 64 65 2c 20 74 72 75 65 29 3b 0a 20 20 >joyPadEvent($keyCode,.true);...
2f2e0 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ......}.....}......public.functi
2f300 6f 6e 20 6b 65 79 55 70 28 24 6b 65 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6b 65 on.keyUp($key).....{.........$ke
2f320 79 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 4b 65 79 28 24 6b 65 79 29 3b 0a 0a yCode.=.$this->matchKey($key);..
2f340 20 20 20 20 20 20 20 20 69 66 20 28 24 6b 65 79 43 6f 64 65 20 3e 20 2d 31 29 20 7b 0a 20 20 20 ........if.($keyCode.>.-1).{....
2f360 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6a 6f 79 50 61 64 45 76 65 6e .........$this->core->joyPadEven
2f380 74 28 24 6b 65 79 43 6f 64 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 t($keyCode,.false);.........}...
2f3a0 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 47 61 6d 65 42 6f 79 3b 0a ..}.}.<?php..namespace.GameBoy;.
2f3c0 0a 63 6c 61 73 73 20 4c 63 64 43 6f 6e 74 72 6f 6c 6c 65 72 0a 7b 0a 20 20 20 20 70 72 6f 74 65 .class.LcdController.{.....prote
2f3e0 63 74 65 64 20 24 63 6f 72 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e cted.$core;......public.function
2f400 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 6f 72 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 .__construct($core).....{.......
2f420 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 20 3d 20 24 63 6f 72 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 ..$this->core.=.$core;.....}....
2f440 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 63 61 6e 20 4c 69 6e 65 20 61 6e 64 20 53 54 41 54 20 ../**......*.Scan.Line.and.STAT.
2f460 4d 6f 64 65 20 43 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 69 6e 74 20 Mode.Control......*.@param..int.
2f480 24 6c 69 6e 65 20 4d 65 6d 6f 72 79 20 53 63 61 6e 6c 69 6e 65 0a 20 20 20 20 20 2a 2f 0a 20 20 $line.Memory.Scanline......*/...
2f4a0 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 63 61 6e 4c 69 6e 65 28 24 6c 69 6e 65 ..public.function.scanLine($line
2f4c0 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 57 68 65 6e 20 74 75 72 6e 65 64 20 6f 66 ).....{.........//When.turned.of
2f4e0 66 20 3d 20 44 6f 20 6e 6f 74 68 69 6e 67 21 0a 20 20 20 20 20 20 20 20 2f 2f 40 54 4f 44 4f 20 f.=.Do.nothing!.........//@TODO.
2f500 2d 20 4d 6f 76 65 20 4c 43 44 69 73 4f 6e 20 74 6f 20 74 68 69 73 20 63 6c 61 73 73 0a 20 20 20 -.Move.LCDisOn.to.this.class....
2f520 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 69 73 4f 6e 29 20 7b .....if.($this->core->LCDisOn).{
2f540 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6c 69 6e 65 20 3c 20 31 34 33 29 20 7b 0a .............if.($line.<.143).{.
2f560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 57 65 27 72 65 20 6f 6e 20 61 20 6e 6f 72 ................//We're.on.a.nor
2f580 6d 61 6c 20 73 63 61 6e 20 6c 69 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 mal.scan.line:.................i
2f5a0 66 20 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 54 69 63 6b 73 20 3c 20 32 30 29 20 7b f.($this->core->LCDTicks.<.20).{
2f5c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 .....................$this->core
2f5e0 2d 3e 73 63 61 6e 4c 69 6e 65 4d 6f 64 65 32 28 29 3b 20 2f 2f 20 6d 6f 64 65 32 3a 20 38 30 20 ->scanLineMode2();.//.mode2:.80.
2f600 63 79 63 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 cycles.................}.elseif.
2f620 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 54 69 63 6b 73 20 3c 20 36 33 29 20 7b 0a 20 ($this->core->LCDTicks.<.63).{..
2f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e ...................$this->core->
2f660 73 63 61 6e 4c 69 6e 65 4d 6f 64 65 33 28 29 3b 20 2f 2f 20 6d 6f 64 65 33 3a 20 31 37 32 20 63 scanLineMode3();.//.mode3:.172.c
2f680 79 63 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 ycles.................}.elseif.(
2f6a0 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 54 69 63 6b 73 20 3c 20 31 31 34 29 20 7b 0a 20 $this->core->LCDTicks.<.114).{..
2f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e ...................$this->core->
2f6e0 73 63 61 6e 4c 69 6e 65 4d 6f 64 65 30 28 29 3b 20 2f 2f 20 6d 6f 64 65 30 3a 20 32 30 34 20 63 scanLineMode0();.//.mode0:.204.c
2f700 79 63 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 ycles.................}.else.{..
2f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 57 65 27 72 65 20 6f 6e 20 61 20 ...................//We're.on.a.
2f740 6e 65 77 20 73 63 61 6e 20 6c 69 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 new.scan.line:..................
2f760 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 54 69 63 6b 73 20 2d 3d 20 31 31 34 3b ...$this->core->LCDTicks.-=.114;
2f780 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 .....................$this->core
2f7a0 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 20 3d 20 2b 2b 24 74 68 69 73 2d 3e 63 6f 72 65 ->actualScanLine.=.++$this->core
2f7c0 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 34 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ->memory[0xFF44];...............
2f7e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d 61 74 63 68 4c 59 43 28 29 3b 0a 20 ......$this->core->matchLYC();..
2f800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6f ...................if.($this->co
2f820 72 65 2d 3e 53 54 41 54 54 72 61 63 6b 65 72 20 21 3d 20 32 29 20 7b 0a 20 20 20 20 20 20 20 20 re->STATTracker.!=.2).{.........
2f840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d ................if.($this->core-
2f860 3e 68 64 6d 61 52 75 6e 6e 69 6e 67 20 26 26 20 21 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 68 61 >hdmaRunning.&&.!$this->core->ha
2f880 6c 74 20 26 26 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 69 73 4f 6e 29 20 7b 0a 20 20 lt.&&.$this->core->LCDisOn).{...
2f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ..........................$this-
2f8c0 3e 63 6f 72 65 2d 3e 70 65 72 66 6f 72 6d 48 64 6d 61 28 29 3b 20 2f 2f 48 2d 42 6c 61 6e 6b 20 >core->performHdma();.//H-Blank.
2f8e0 44 4d 41 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 DMA.........................}...
2f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d ......................if.($this-
2f920 3e 63 6f 72 65 2d 3e 6d 6f 64 65 30 54 72 69 67 67 65 72 53 54 41 54 29 20 7b 0a 20 20 20 20 20 >core->mode0TriggerSTAT).{......
2f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f .......................$this->co
2f960 72 65 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 7c 3d 20 30 78 32 3b 20 2f 2f 20 73 65 re->memory[0xFF0F].|=.0x2;.//.se
2f980 74 20 49 46 20 62 69 74 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.IF.bit.1......................
2f9a0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ...}.....................}......
2f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 53 54 41 54 ...............$this->core->STAT
2f9e0 54 72 61 63 6b 65 72 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Tracker.=.0;....................
2fa00 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 73 63 61 6e 4c 69 6e 65 4d 6f 64 65 32 28 29 3b 20 2f .$this->core->scanLineMode2();./
2fa20 2f 20 6d 6f 64 65 32 3a 20 38 30 20 63 79 63 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 /.mode2:.80.cycles..............
2fa40 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 54 69 63 6b 73 .......if.($this->core->LCDTicks
2fa60 20 3e 3d 20 31 31 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .>=.114).{......................
2fa80 20 20 20 2f 2f 57 65 20 6e 65 65 64 20 74 6f 20 73 6b 69 70 20 31 20 6f 72 20 6d 6f 72 65 20 73 ...//We.need.to.skip.1.or.more.s
2faa0 63 61 6e 20 6c 69 6e 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 can.lines:......................
2fac0 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6e 6f 74 69 66 79 53 63 61 6e 6c 69 6e 65 28 29 ...$this->core->notifyScanline()
2fae0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ;.........................$this-
2fb00 3e 73 63 61 6e 4c 69 6e 65 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 61 63 74 75 61 6c 53 63 61 >scanLine($this->core->actualSca
2fb20 6e 4c 69 6e 65 29 3b 20 2f 2f 53 63 61 6e 20 4c 69 6e 65 20 61 6e 64 20 53 54 41 54 20 4d 6f 64 nLine);.//Scan.Line.and.STAT.Mod
2fb40 65 20 43 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a e.Control.....................}.
2fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 ................}.............}.
2fb80 65 6c 73 65 69 66 20 28 24 6c 69 6e 65 20 3d 3d 20 31 34 33 29 20 7b 0a 20 20 20 20 20 20 20 20 elseif.($line.==.143).{.........
2fba0 20 20 20 20 20 20 20 20 2f 2f 57 65 27 72 65 20 6f 6e 20 74 68 65 20 6c 61 73 74 20 76 69 73 69 ........//We're.on.the.last.visi
2fbc0 62 6c 65 20 73 63 61 6e 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 4c 43 44 20 73 63 72 65 65 6e 3a ble.scan.line.of.the.LCD.screen:
2fbe0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 72 65 .................if.($this->core
2fc00 2d 3e 4c 43 44 54 69 63 6b 73 20 3c 20 32 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ->LCDTicks.<.20).{..............
2fc20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 73 63 61 6e 4c 69 6e 65 4d 6f 64 65 .......$this->core->scanLineMode
2fc40 32 28 29 3b 20 2f 2f 20 6d 6f 64 65 32 3a 20 38 30 20 63 79 63 6c 65 73 0a 20 20 20 20 20 20 20 2();.//.mode2:.80.cycles........
2fc60 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e .........}.elseif.($this->core->
2fc80 4c 43 44 54 69 63 6b 73 20 3c 20 36 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 LCDTicks.<.63).{................
2fca0 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 73 63 61 6e 4c 69 6e 65 4d 6f 64 65 33 28 .....$this->core->scanLineMode3(
2fcc0 29 3b 20 2f 2f 20 6d 6f 64 65 33 3a 20 31 37 32 20 63 79 63 6c 65 73 0a 20 20 20 20 20 20 20 20 );.//.mode3:.172.cycles.........
2fce0 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c ........}.elseif.($this->core->L
2fd00 43 44 54 69 63 6b 73 20 3c 20 31 31 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 CDTicks.<.114).{................
2fd20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 73 63 61 6e 4c 69 6e 65 4d 6f 64 65 30 28 .....$this->core->scanLineMode0(
2fd40 29 3b 20 2f 2f 20 6d 6f 64 65 30 3a 20 32 30 34 20 63 79 63 6c 65 73 0a 20 20 20 20 20 20 20 20 );.//.mode0:.204.cycles.........
2fd60 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........}.else.{................
2fd80 20 20 20 20 20 2f 2f 53 74 61 72 74 69 6e 67 20 56 2d 42 6c 61 6e 6b 3a 0a 20 20 20 20 20 20 20 .....//Starting.V-Blank:........
2fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4a 75 73 74 20 66 69 6e 69 73 68 65 64 20 74 68 65 .............//Just.finished.the
2fdc0 20 6c 61 73 74 20 76 69 73 69 62 6c 65 20 73 63 61 6e 20 6c 69 6e 65 3a 0a 20 20 20 20 20 20 20 .last.visible.scan.line:........
2fde0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 54 69 63 .............$this->core->LCDTic
2fe00 6b 73 20 2d 3d 20 31 31 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 ks.-=.114;.....................$
2fe20 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 20 3d 20 2b 2b 24 this->core->actualScanLine.=.++$
2fe40 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 34 5d 3b 0a 20 20 20 20 this->core->memory[0xFF44];.....
2fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d 61 74 ................$this->core->mat
2fe80 63 68 4c 59 43 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 chLYC();.....................if.
2fea0 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d 6f 64 65 31 54 72 69 67 67 65 72 53 54 41 54 29 20 ($this->core->mode1TriggerSTAT).
2fec0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d {.........................$this-
2fee0 3e 63 6f 72 65 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 7c 3d 20 30 78 32 3b 20 2f 2f >core->memory[0xFF0F].|=.0x2;.//
2ff00 20 73 65 74 20 49 46 20 62 69 74 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .set.IF.bit.1...................
2ff20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 ..}.....................if.($thi
2ff40 73 2d 3e 63 6f 72 65 2d 3e 53 54 41 54 54 72 61 63 6b 65 72 20 21 3d 20 32 29 20 7b 0a 20 20 20 s->core->STATTracker.!=.2).{....
2ff60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e .....................if.($this->
2ff80 63 6f 72 65 2d 3e 68 64 6d 61 52 75 6e 6e 69 6e 67 20 26 26 20 21 24 74 68 69 73 2d 3e 63 6f 72 core->hdmaRunning.&&.!$this->cor
2ffa0 65 2d 3e 68 61 6c 74 20 26 26 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 69 73 4f 6e 29 e->halt.&&.$this->core->LCDisOn)
2ffc0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 .{.............................$
2ffe0 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 70 65 72 66 6f 72 6d 48 64 6d 61 28 29 3b 20 2f 2f 48 2d 42 this->core->performHdma();.//H-B
30000 6c 61 6e 6b 20 44 4d 41 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lank.DMA........................
30020 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 .}.........................if.($
30040 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d 6f 64 65 30 54 72 69 67 67 65 72 53 54 41 54 29 20 7b 0a this->core->mode0TriggerSTAT).{.
30060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 ............................$thi
30080 73 2d 3e 63 6f 72 65 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 7c 3d 20 30 78 32 3b 20 s->core->memory[0xFF0F].|=.0x2;.
300a0 2f 2f 20 73 65 74 20 49 46 20 62 69 74 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 //.set.IF.bit.1.................
300c0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ........}.....................}.
300e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d ....................$this->core-
30100 3e 53 54 41 54 54 72 61 63 6b 65 72 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >STATTracker.=.0;...............
30120 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d 6f 64 65 53 54 41 54 20 3d 20 31 3b ......$this->core->modeSTAT.=.1;
30140 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 .....................$this->core
30160 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 7c 3d 20 30 78 31 3b 20 2f 2f 20 73 65 74 20 ->memory[0xFF0F].|=.0x1;.//.set.
30180 49 46 20 66 6c 61 67 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f IF.flag.0.....................//
301a0 4c 43 44 20 6f 66 66 20 74 61 6b 65 73 20 61 74 20 6c 65 61 73 74 20 32 20 66 72 61 6d 65 73 2e LCD.off.takes.at.least.2.frames.
301c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e .....................if.($this->
301e0 63 6f 72 65 2d 3e 64 72 65 77 42 6c 61 6e 6b 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 core->drewBlank.>.0).{..........
30200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 64 72 ...............--$this->core->dr
30220 65 77 42 6c 61 6e 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ewBlank;.....................}..
30240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6f ...................if.($this->co
30260 72 65 2d 3e 4c 43 44 54 69 63 6b 73 20 3e 3d 20 31 31 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 re->LCDTicks.>=.114).{..........
30280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 57 65 20 6e 65 65 64 20 74 6f 20 73 6b 69 70 ...............//We.need.to.skip
302a0 20 31 20 6f 72 20 6d 6f 72 65 20 73 63 61 6e 20 6c 69 6e 65 73 3a 0a 20 20 20 20 20 20 20 20 20 .1.or.more.scan.lines:..........
302c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 63 61 6e 4c 69 6e 65 28 24 ...............$this->scanLine($
302e0 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 29 3b 20 2f 2f 53 this->core->actualScanLine);.//S
30300 63 61 6e 20 4c 69 6e 65 20 61 6e 64 20 53 54 41 54 20 4d 6f 64 65 20 43 6f 6e 74 72 6f 6c 0a 20 can.Line.and.STAT.Mode.Control..
30320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 ...................}............
30340 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 6c 69 .....}.............}.elseif.($li
30360 6e 65 20 3c 20 31 35 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 49 6e ne.<.153).{.................//In
30380 20 56 42 6c 61 6e 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 .VBlank.................if.($thi
303a0 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 54 69 63 6b 73 20 3e 3d 20 31 31 34 29 20 7b 0a 20 20 20 20 s->core->LCDTicks.>=.114).{.....
303c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 57 65 27 72 65 20 6f 6e 20 61 20 6e 65 77 ................//We're.on.a.new
303e0 20 73 63 61 6e 20 6c 69 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .scan.line:.....................
30400 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 54 69 63 6b 73 20 2d 3d 20 31 31 34 3b 0a 20 20 $this->core->LCDTicks.-=.114;...
30420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 61 ..................$this->core->a
30440 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 20 3d 20 2b 2b 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d ctualScanLine.=.++$this->core->m
30460 65 6d 6f 72 79 5b 30 78 46 46 34 34 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 emory[0xFF44];..................
30480 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d 61 74 63 68 4c 59 43 28 29 3b 0a 20 20 20 20 ...$this->core->matchLYC();.....
304a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d ................if.($this->core-
304c0 3e 4c 43 44 54 69 63 6b 73 20 3e 3d 20 31 31 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >LCDTicks.>=.114).{.............
304e0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 57 65 20 6e 65 65 64 20 74 6f 20 73 6b 69 70 20 31 20 ............//We.need.to.skip.1.
30500 6f 72 20 6d 6f 72 65 20 73 63 61 6e 20 6c 69 6e 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 or.more.scan.lines:.............
30520 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 63 61 6e 4c 69 6e 65 28 24 74 68 69 ............$this->scanLine($thi
30540 73 2d 3e 63 6f 72 65 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 29 3b 20 2f 2f 53 63 61 6e s->core->actualScanLine);.//Scan
30560 20 4c 69 6e 65 20 61 6e 64 20 53 54 41 54 20 4d 6f 64 65 20 43 6f 6e 74 72 6f 6c 0a 20 20 20 20 .Line.and.STAT.Mode.Control.....
30580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................}...............
305a0 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 ..}.............}.else.{........
305c0 20 20 20 20 20 20 20 20 20 2f 2f 56 42 6c 61 6e 6b 20 45 6e 64 69 6e 67 20 28 57 65 27 72 65 20 .........//VBlank.Ending.(We're.
305e0 6f 6e 20 74 68 65 20 6c 61 73 74 20 61 63 74 75 61 6c 20 73 63 61 6e 20 6c 69 6e 65 29 0a 20 20 on.the.last.actual.scan.line)...
30600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d ..............if.($this->core->m
30620 65 6d 6f 72 79 5b 30 78 46 46 34 34 5d 20 3d 3d 20 31 35 33 29 20 7b 0a 20 20 20 20 20 20 20 20 emory[0xFF44].==.153).{.........
30640 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d 65 6d 6f 72 79 5b ............$this->core->memory[
30660 30 78 46 46 34 34 5d 20 3d 20 30 3b 20 2f 2f 4c 59 20 72 65 67 69 73 74 65 72 20 72 65 73 65 74 0xFF44].=.0;.//LY.register.reset
30680 73 20 74 6f 20 30 20 65 61 72 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.to.0.early....................
306a0 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 6d 61 74 63 68 4c 59 43 28 29 3b 20 2f 2f 4c 59 3d ..$this->core->matchLYC();.//LY=
306c0 3d 4c 59 43 20 54 65 73 74 20 69 73 20 65 61 72 6c 79 20 68 65 72 65 20 28 46 69 78 65 73 20 73 =LYC.Test.is.early.here.(Fixes.s
306e0 70 65 63 69 66 69 63 20 6f 6e 65 2d 6c 69 6e 65 20 67 6c 69 74 63 68 65 73 20 28 65 78 61 6d 70 pecific.one-line.glitches.(examp
30700 6c 65 3a 20 4b 69 72 62 79 32 20 69 6e 74 72 6f 29 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 le:.Kirby2.intro))..............
30720 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d ....}.................if.($this-
30740 3e 63 6f 72 65 2d 3e 4c 43 44 54 69 63 6b 73 20 3e 3d 20 31 31 34 29 20 7b 0a 20 20 20 20 20 20 >core->LCDTicks.>=.114).{.......
30760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 57 65 20 72 65 73 65 74 20 62 61 63 6b 20 74 6f ..............//We.reset.back.to
30780 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .the.beginning:.................
307a0 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 4c 43 44 54 69 63 6b 73 20 2d 3d 20 31 31 34 ....$this->core->LCDTicks.-=.114
307c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 ;.....................$this->cor
307e0 65 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 e->actualScanLine.=.0;..........
30800 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 72 65 2d 3e 73 63 61 6e 4c 69 6e 65 ...........$this->core->scanLine
30820 4d 6f 64 65 32 28 29 3b 20 2f 2f 20 6d 6f 64 65 32 3a 20 38 30 20 63 79 63 6c 65 73 0a 20 20 20 Mode2();.//.mode2:.80.cycles....
30840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 72 65 .................if.($this->core
30860 2d 3e 4c 43 44 54 69 63 6b 73 20 3e 3d 20 31 31 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ->LCDTicks.>=.114).{............
30880 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 57 65 20 6e 65 65 64 20 74 6f 20 73 6b 69 70 20 31 .............//We.need.to.skip.1
308a0 20 6f 72 20 6d 6f 72 65 20 73 63 61 6e 20 6c 69 6e 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 .or.more.scan.lines:............
308c0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 63 61 6e 4c 69 6e 65 28 24 74 68 .............$this->scanLine($th
308e0 69 73 2d 3e 63 6f 72 65 2d 3e 61 63 74 75 61 6c 53 63 61 6e 4c 69 6e 65 29 3b 20 2f 2f 53 63 61 is->core->actualScanLine);.//Sca
30900 6e 20 4c 69 6e 65 20 61 6e 64 20 53 54 41 54 20 4d 6f 64 65 20 43 6f 6e 74 72 6f 6c 0a 20 20 20 n.Line.and.STAT.Mode.Control....
30920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
30940 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ...}.............}.........}....
30960 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 47 61 6d 65 42 6f 79 3b 0a 0a .}.}.<?php..namespace.GameBoy;..
30980 63 6c 61 73 73 20 4f 70 63 6f 64 65 0a 7b 0a 20 20 20 20 70 75 62 6c 69 63 20 24 66 75 6e 63 74 class.Opcode.{.....public.$funct
309a0 69 6f 6e 73 41 72 72 61 79 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 ionsArray.=.[];......public.func
309c0 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 tion.__construct().....{........
309e0 20 2f 2f 4e 4f 50 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 30 3a 0a 20 20 20 20 20 20 20 20 .//NOP.........//#0x00:.........
30a00 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
30a20 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f on.($parentObj).{.............//
30a40 44 6f 20 4e 6f 74 68 69 6e 67 2e 2e 2e 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 Do.Nothing............};........
30a60 20 2f 2f 4c 44 20 42 43 2c 20 6e 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 31 3a 0a 20 20 .//LD.BC,.nn.........//#0x01:...
30a80 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
30aa0 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
30ac0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 24 70 61 72 ....$parentObj->registerC.=.$par
30ae0 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->memoryReader[$parentObj-
30b00 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 >programCounter]($parentObj,.$pa
30b20 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 rentObj->programCounter);.......
30b40 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 24 70 ......$parentObj->registerB.=.$p
30b60 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a arentObj->memoryRead(($parentObj
30b80 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 3b ->programCounter.+.1).&.0xFFFF);
30ba0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d .............$parentObj->program
30bc0 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f Counter.=.($parentObj->programCo
30be0 75 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a unter.+.2).&.0xFFFF;.........};.
30c00 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 28 42 43 29 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 ........//LD.(BC),.A.........//#
30c20 30 78 30 32 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 0x02:.........$this->functionsAr
30c40 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
30c60 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 ............$parentObj->memoryWr
30c80 69 74 65 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3c 3c 20 38 29 ite(($parentObj->registerB.<<.8)
30ca0 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 2c 20 24 70 61 72 65 6e .+.$parentObj->registerC,.$paren
30cc0 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 tObj->registerA);.........};....
30ce0 20 20 20 20 20 2f 2f 49 4e 43 20 42 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 33 3a 0a 20 .....//INC.BC.........//#0x03:..
30d00 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
30d20 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
30d40 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 28 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .....$temp_var.=.((($parentObj->
30d60 72 65 67 69 73 74 65 72 42 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 registerB.<<.8).+.$parentObj->re
30d80 67 69 73 74 65 72 43 29 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 gisterC).+.1);.............$pare
30da0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 3e ntObj->registerB.=.(($temp_var.>
30dc0 3e 20 38 29 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e >.8).&.0xFF);.............$paren
30de0 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 tObj->registerC.=.($temp_var.&.0
30e00 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 49 4e 43 20 42 xFF);.........};.........//INC.B
30e20 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .........//#0x04:.........$this-
30e40 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
30e60 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
30e80 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj->registerB.=.(($parentObj->re
30ea0 67 69 73 74 65 72 42 20 2b 20 31 29 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 gisterB.+.1).&.0xFF);...........
30ec0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 ..$parentObj->FZero.=.($parentOb
30ee0 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 j->registerB.==.0);.............
30f00 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 $parentObj->FHalfCarry.=.(($pare
30f20 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 20 30 78 46 29 20 3d 3d 20 30 29 3b 0a 20 ntObj->registerB.&.0xF).==.0);..
30f40 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 ...........$parentObj->FSubtract
30f60 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 .=.false;.........};.........//D
30f80 45 43 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 35 3a 0a 20 20 20 20 20 20 20 20 24 74 EC.B.........//#0x05:.........$t
30fa0 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
30fc0 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
30fe0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e entObj->registerB.=.$parentObj->
31000 75 6e 73 62 74 75 62 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 2d 20 unsbtub($parentObj->registerB.-.
31020 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 1);.............$parentObj->FZer
31040 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 3d 20 30 29 o.=.($parentObj->registerB.==.0)
31060 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 ;.............$parentObj->FHalfC
31080 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 26 arry.=.(($parentObj->registerB.&
310a0 20 30 78 46 29 20 3d 3d 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 .0xF).==.0xF);.............$pare
310c0 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 ntObj->FSubtract.=.true;........
310e0 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 42 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f .};.........//LD.B,.n.........//
31100 23 30 78 30 36 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 #0x06:.........$this->functionsA
31120 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
31140 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 .............$parentObj->registe
31160 72 42 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 rB.=.$parentObj->memoryReader[$p
31180 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e arentObj->programCounter]($paren
311a0 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 tObj,.$parentObj->programCounter
311c0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 );.............$parentObj->progr
311e0 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d amCounter.=.($parentObj->program
31200 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d Counter.+.1).&.0xFFFF;.........}
31220 3b 0a 20 20 20 20 20 20 20 20 2f 2f 52 4c 43 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 37 ;.........//RLCA.........//#0x07
31240 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b :.........$this->functionsArray[
31260 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
31280 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 ........$parentObj->FCarry.=.(($
312a0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 38 30 29 20 3d 3d 20 parentObj->registerA.&.0x80).==.
312c0 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 0x80);.............$parentObj->r
312e0 65 67 69 73 74 65 72 41 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 egisterA.=.(($parentObj->registe
31300 72 41 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 7c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e rA.<<.1).&.0xFF).|.($parentObj->
31320 72 65 67 69 73 74 65 72 41 20 3e 3e 20 37 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 registerA.>>.7);.............$pa
31340 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 rentObj->FZero.=.$parentObj->FSu
31360 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 btract.=.$parentObj->FHalfCarry.
31380 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 =.false;.........};.........//LD
313a0 20 28 6e 6e 29 2c 20 53 50 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 38 3a 0a 20 20 20 20 20 .(nn),.SP.........//#0x08:......
313c0 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
313e0 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
31400 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 .$temp_var.=.($parentObj->memory
31420 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 Read(($parentObj->programCounter
31440 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f .+.1).&.0xFFFF).<<.8).+.$parentO
31460 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f bj->memoryReader[$parentObj->pro
31480 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 gramCounter]($parentObj,.$parent
314a0 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 Obj->programCounter);...........
314c0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 74 65 6d 70 5f ..$parentObj->memoryWrite($temp_
314e0 76 61 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 26 20 var,.$parentObj->stackPointer.&.
31500 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 0xFF);.............$parentObj->m
31520 65 6d 6f 72 79 57 72 69 74 65 28 28 24 74 65 6d 70 5f 76 61 72 20 2b 20 31 29 20 26 20 30 78 46 emoryWrite(($temp_var.+.1).&.0xF
31540 46 46 46 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3e 3e FFF,.$parentObj->stackPointer.>>
31560 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f .8);.............$parentObj->pro
31580 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 gramCounter.=.($parentObj->progr
315a0 61 6d 43 6f 75 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 amCounter.+.2).&.0xFFFF;........
315c0 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 44 20 48 4c 2c 20 42 43 0a 20 20 20 20 20 20 20 .};.........//ADD.HL,.BC........
315e0 20 2f 2f 23 30 78 30 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0x09:.........$this->functio
31600 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
31620 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 32 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 ).{.............$n2.=.($parentOb
31640 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d j->registerB.<<.8).+.$parentObj-
31660 3e 72 65 67 69 73 74 65 72 43 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 >registerC;.............$dirtySu
31680 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 2b 20 24 6e m.=.$parentObj->registersHL.+.$n
316a0 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 2;.............$parentObj->FHalf
316c0 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 Carry.=.(($parentObj->registersH
316e0 4c 20 26 20 30 78 46 46 46 29 20 2b 20 28 24 6e 32 20 26 20 30 78 46 46 46 29 20 3e 20 30 78 46 L.&.0xFFF).+.($n2.&.0xFFF).>.0xF
31700 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 FF);.............$parentObj->FCa
31720 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 rry.=.($dirtySum.>.0xFFFF);.....
31740 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 ........$parentObj->registersHL.
31760 3d 20 28 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 20 20 =.($dirtySum.&.0xFFFF);.........
31780 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 ....$parentObj->FSubtract.=.fals
317a0 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 41 2c 20 28 42 e;.........};.........//LD.A,.(B
317c0 43 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 C).........//#0x0A:.........$thi
317e0 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
31800 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
31820 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 tObj->registerA.=.$parentObj->me
31840 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 moryRead(($parentObj->registerB.
31860 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 29 3b 0a <<.8).+.$parentObj->registerC);.
31880 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 45 43 20 42 43 0a 20 20 20 20 ........};.........//DEC.BC.....
318a0 20 20 20 20 2f 2f 23 30 78 30 42 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ....//#0x0B:.........$this->func
318c0 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
318e0 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 Obj).{.............$temp_var.=.$
31900 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d parentObj->unswtuw((($parentObj-
31920 3e 72 65 67 69 73 74 65 72 42 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 >registerB.<<.8).+.$parentObj->r
31940 65 67 69 73 74 65 72 43 29 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 egisterC).-.1);.............$par
31960 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 3e entObj->registerB.=.($temp_var.>
31980 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 >.8);.............$parentObj->re
319a0 67 69 73 74 65 72 43 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 46 46 29 3b 0a 20 20 gisterC.=.($temp_var.&.0xFF);...
319c0 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 49 4e 43 20 43 0a 20 20 20 20 20 20 20 ......};.........//INC.C........
319e0 20 2f 2f 23 30 78 30 43 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0x0C:.........$this->functio
31a00 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
31a20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
31a40 73 74 65 72 43 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 sterC.=.(($parentObj->registerC.
31a60 2b 20 31 29 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e +.1).&.0xFF);.............$paren
31a80 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 tObj->FZero.=.($parentObj->regis
31aa0 74 65 72 43 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f terC.==.0);.............$parentO
31ac0 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 bj->FHalfCarry.=.(($parentObj->r
31ae0 65 67 69 73 74 65 72 43 20 26 20 30 78 46 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 egisterC.&.0xF).==.0);..........
31b00 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 ...$parentObj->FSubtract.=.false
31b20 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 45 43 20 43 0a 20 20 20 ;.........};.........//DEC.C....
31b40 20 20 20 20 20 2f 2f 23 30 78 30 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0x0D:.........$this->fun
31b60 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
31b80 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
31ba0 72 65 67 69 73 74 65 72 43 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 registerC.=.$parentObj->unsbtub(
31bc0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 2d 20 31 29 3b 0a 20 20 20 20 $parentObj->registerC.-.1);.....
31be0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 ........$parentObj->FZero.=.($pa
31c00 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 rentObj->registerC.==.0);.......
31c20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 ......$parentObj->FHalfCarry.=.(
31c40 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 46 29 20 3d 3d ($parentObj->registerC.&.0xF).==
31c60 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 .0xF);.............$parentObj->F
31c80 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 Subtract.=.true;.........};.....
31ca0 20 20 20 20 2f 2f 4c 44 20 43 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 45 3a 0a 20 ....//LD.C,.n.........//#0x0E:..
31cc0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
31ce0 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
31d00 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 24 70 61 .....$parentObj->registerC.=.$pa
31d20 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a rentObj->memoryReader[$parentObj
31d40 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 ->programCounter]($parentObj,.$p
31d60 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 arentObj->programCounter);......
31d80 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 .......$parentObj->programCounte
31da0 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 r.=.($parentObj->programCounter.
31dc0 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 +.1).&.0xFFFF;.........};.......
31de0 20 20 2f 2f 52 52 43 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 30 46 3a 0a 20 20 20 20 20 20 ..//RRCA.........//#0x0F:.......
31e00 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
31e20 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
31e40 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 $parentObj->FCarry.=.(($parentOb
31e60 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 31 29 20 3d 3d 20 31 29 3b 0a 20 20 20 20 20 20 20 j->registerA.&.1).==.1);........
31e80 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 28 24 70 .....$parentObj->registerA.=.($p
31ea0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3e 3e 20 31 29 20 2b 20 28 28 24 70 arentObj->registerA.>>.1).+.(($p
31ec0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 31 29 20 3c 3c 20 37 29 3b 0a arentObj->registerA.&.1).<<.7);.
31ee0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 ............$parentObj->FZero.=.
31f00 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f $parentObj->FSubtract.=.$parentO
31f20 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 bj->FHalfCarry.=.false;.........
31f40 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 54 4f 50 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 31 };.........//STOP.........//#0x1
31f60 30 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 0:.........$this->functionsArray
31f80 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
31fa0 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 47 42 43 29 20 7b .........if.($parentObj->cGBC).{
31fc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 54 4f 44 4f 3a 20 45 6d 75 6c 61 74 65 ................./*TODO:.Emulate
31fe0 20 74 68 65 20 73 70 65 65 64 20 73 77 69 74 63 68 20 64 65 6c 61 79 3a 0a 20 20 20 20 20 20 20 .the.speed.switch.delay:........
32000 20 20 20 20 20 20 20 20 20 44 65 6c 61 79 20 41 6d 6f 75 6e 74 3a 0a 20 20 20 20 20 20 20 20 20 .........Delay.Amount:..........
32020 20 20 20 20 20 20 20 31 36 20 6d 73 20 77 68 65 6e 20 67 6f 69 6e 67 20 74 6f 20 64 6f 75 62 6c .......16.ms.when.going.to.doubl
32040 65 2d 73 70 65 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 32 20 6d 73 20 77 e-speed..................32.ms.w
32060 68 65 6e 20 67 6f 69 6e 67 20 74 6f 20 73 69 6e 67 6c 65 2d 73 70 65 65 64 2e 0a 20 20 20 20 20 hen.going.to.single-speed.......
32080 20 20 20 20 20 20 20 20 20 20 20 41 6c 73 6f 2c 20 62 69 74 73 20 34 20 61 6e 64 20 35 20 6f 66 ...........Also,.bits.4.and.5.of
320a0 20 30 78 46 46 30 30 20 73 68 6f 75 6c 64 20 72 65 61 64 20 61 73 20 73 65 74 20 28 31 29 2c 20 .0xFF00.should.read.as.set.(1),.
320c0 77 68 69 6c 65 20 74 68 65 20 73 77 69 74 63 68 20 69 73 20 69 6e 20 70 72 6f 63 65 73 73 2e 0a while.the.switch.is.in.process..
320e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 2f 0a 0a 20 20 20 20 20 20 20 20 20 20 20 .................*/.............
32100 20 20 20 20 20 2f 2f 20 53 70 65 65 64 20 63 68 61 6e 67 65 20 72 65 71 75 65 73 74 65 64 2e 0a .....//.Speed.change.requested..
32120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d ................if.(($parentObj-
32140 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 44 5d 20 26 20 30 78 30 31 29 20 3d 3d 20 30 78 30 31 29 >memory[0xFF4D].&.0x01).==.0x01)
32160 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 47 6f 20 62 61 63 6b .{.....................//Go.back
32180 20 74 6f 20 73 69 6e 67 6c 65 20 73 70 65 65 64 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 .to.single.speed.mode...........
321a0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f ...........if.(($parentObj->memo
321c0 72 79 5b 30 78 46 46 34 44 5d 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 20 7b 0a 20 20 ry[0xFF4D].&.0x80).==.0x80).{...
321e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 75 74 28 22 47 ......................//.cout("G
32200 6f 69 6e 67 20 69 6e 74 6f 20 73 69 6e 67 6c 65 20 63 6c 6f 63 6b 20 73 70 65 65 64 20 6d 6f 64 oing.into.single.clock.speed.mod
32220 65 2e 22 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.",.0);........................
32240 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 75 6c 74 69 70 6c 69 65 72 20 3d 20 31 3b 20 2f 2f 54 .$parentObj->multiplier.=.1;.//T
32260 4f 44 4f 3a 20 4d 6f 76 65 20 74 68 69 73 20 69 6e 74 6f 20 74 68 65 20 64 65 6c 61 79 20 64 6f ODO:.Move.this.into.the.delay.do
32280 6e 65 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.code.........................
322a0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 44 5d 20 26 3d 20 30 .$parentObj->memory[0xFF4D].&=.0
322c0 78 37 46 3b 20 2f 2f 43 6c 65 61 72 20 74 68 65 20 64 6f 75 62 6c 65 20 73 70 65 65 64 20 6d 6f x7F;.//Clear.the.double.speed.mo
322e0 64 65 20 66 6c 61 67 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 47 de.flag......................//G
32300 6f 20 74 6f 20 64 6f 75 62 6c 65 20 73 70 65 65 64 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 o.to.double.speed.mode..........
32320 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............}.else.{............
32340 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 75 74 28 22 47 6f 69 6e 67 20 69 6e 74 6f .............//.cout("Going.into
32360 20 64 6f 75 62 6c 65 20 63 6c 6f 63 6b 20 73 70 65 65 64 20 6d 6f 64 65 2e 22 2c 20 30 29 3b 0a .double.clock.speed.mode.",.0);.
32380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f ........................$parentO
323a0 62 6a 2d 3e 6d 75 6c 74 69 70 6c 69 65 72 20 3d 20 32 3b 20 2f 2f 54 4f 44 4f 3a 20 4d 6f 76 65 bj->multiplier.=.2;.//TODO:.Move
323c0 20 74 68 69 73 20 69 6e 74 6f 20 74 68 65 20 64 65 6c 61 79 20 64 6f 6e 65 20 63 6f 64 65 2e 0a .this.into.the.delay.done.code..
323e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f ........................$parentO
32400 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 44 5d 20 7c 3d 20 30 78 38 30 3b 20 2f 2f 53 65 bj->memory[0xFF4D].|=.0x80;.//Se
32420 74 20 74 68 65 20 64 6f 75 62 6c 65 20 73 70 65 65 64 20 6d 6f 64 65 20 66 6c 61 67 2e 0a 20 20 t.the.double.speed.mode.flag....
32440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..................}.............
32460 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 34 ........$parentObj->memory[0xFF4
32480 44 5d 20 26 3d 20 30 78 46 45 3b 20 2f 2f 52 65 73 65 74 20 74 68 65 20 72 65 71 75 65 73 74 20 D].&=.0xFE;.//Reset.the.request.
324a0 62 69 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 bit..................}..........
324c0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 44 45 2c ...}.........};.........//LD.DE,
324e0 20 6e 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 31 31 3a 0a 20 20 20 20 20 20 20 20 24 74 68 .nn.........//#0x11:.........$th
32500 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
32520 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
32540 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d ntObj->registerE.=.$parentObj->m
32560 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 emoryReader[$parentObj->programC
32580 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ounter]($parentObj,.$parentObj->
325a0 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 programCounter);.............$pa
325c0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d rentObj->registerD.=.$parentObj-
325e0 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d >memoryRead(($parentObj->program
32600 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 20 20 Counter.+.1).&.0xFFFF);.........
32620 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d ....$parentObj->programCounter.=
32640 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 32 .($parentObj->programCounter.+.2
32660 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f ).&.0xFFFF;.........};........./
32680 2f 4c 44 20 28 44 45 29 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 31 32 3a 0a 20 20 20 /LD.(DE),.A.........//#0x12:....
326a0 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
326c0 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
326e0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 28 24 70 61 72 ...$parentObj->memoryWrite(($par
32700 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e entObj->registerD.<<.8).+.$paren
32720 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 tObj->registerE,.$parentObj->reg
32740 69 73 74 65 72 41 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 49 4e isterA);.........};.........//IN
32760 43 20 44 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 31 33 3a 0a 20 20 20 20 20 20 20 20 24 74 C.DE.........//#0x13:.........$t
32780 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
327a0 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d .($parentObj).{.............$tem
327c0 70 5f 76 61 72 20 3d 20 28 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 p_var.=.((($parentObj->registerD
327e0 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 29 20 .<<.8).+.$parentObj->registerE).
32800 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 +.1);.............$parentObj->re
32820 67 69 73 74 65 72 44 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 3e 3e 20 38 29 20 26 20 30 78 gisterD.=.(($temp_var.>>.8).&.0x
32840 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 FF);.............$parentObj->reg
32860 69 73 74 65 72 45 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 46 46 29 3b 0a 20 20 20 isterE.=.($temp_var.&.0xFF);....
32880 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 49 4e 43 20 44 0a 20 20 20 20 20 20 20 20 .....};.........//INC.D.........
328a0 2f 2f 23 30 78 31 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e //#0x14:.........$this->function
328c0 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 sArray[].=.function.($parentObj)
328e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 .{.............$parentObj->regis
32900 74 65 72 44 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 2b terD.=.(($parentObj->registerD.+
32920 20 31 29 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 .1).&.0xFF);.............$parent
32940 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 Obj->FZero.=.($parentObj->regist
32960 65 72 44 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 erD.==.0);.............$parentOb
32980 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 j->FHalfCarry.=.(($parentObj->re
329a0 67 69 73 74 65 72 44 20 26 20 30 78 46 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 gisterD.&.0xF).==.0);...........
329c0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b ..$parentObj->FSubtract.=.false;
329e0 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 45 43 20 44 0a 20 20 20 20 .........};.........//DEC.D.....
32a00 20 20 20 20 2f 2f 23 30 78 31 35 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ....//#0x15:.........$this->func
32a20 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
32a40 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 Obj).{.............$parentObj->r
32a60 65 67 69 73 74 65 72 44 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 egisterD.=.$parentObj->unsbtub($
32a80 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 2d 20 31 29 3b 0a 20 20 20 20 20 parentObj->registerD.-.1);......
32aa0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 .......$parentObj->FZero.=.($par
32ac0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 entObj->registerD.==.0);........
32ae0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 .....$parentObj->FHalfCarry.=.((
32b00 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 46 29 20 3d 3d 20 $parentObj->registerD.&.0xF).==.
32b20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 0xF);.............$parentObj->FS
32b40 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 ubtract.=.true;.........};......
32b60 20 20 20 2f 2f 4c 44 20 44 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 31 36 3a 0a 20 20 ...//LD.D,.n.........//#0x16:...
32b80 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
32ba0 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
32bc0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 24 70 61 72 ....$parentObj->registerD.=.$par
32be0 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->memoryReader[$parentObj-
32c00 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 >programCounter]($parentObj,.$pa
32c20 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 rentObj->programCounter);.......
32c40 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 ......$parentObj->programCounter
32c60 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b .=.($parentObj->programCounter.+
32c80 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 .1).&.0xFFFF;.........};........
32ca0 20 2f 2f 52 4c 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 31 37 3a 0a 20 20 20 20 20 20 20 20 .//RLA.........//#0x17:.........
32cc0 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
32ce0 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 on.($parentObj).{.............$c
32d00 61 72 72 79 5f 66 6c 61 67 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 arry_flag.=.($parentObj->FCarry)
32d20 20 3f 20 31 20 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a .?.1.:.0;.............$parentObj
32d40 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 ->FCarry.=.(($parentObj->registe
32d60 72 41 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 rA.&.0x80).==.0x80);............
32d80 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 28 28 24 70 61 72 65 .$parentObj->registerA.=.(($pare
32da0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3c 3c 20 31 29 20 26 20 30 78 46 46 29 20 7c ntObj->registerA.<<.1).&.0xFF).|
32dc0 20 24 63 61 72 72 79 5f 66 6c 61 67 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e .$carry_flag;.............$paren
32de0 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 tObj->FZero.=.$parentObj->FSubtr
32e00 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 66 act.=.$parentObj->FHalfCarry.=.f
32e20 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4a 52 20 6e 0a alse;.........};.........//JR.n.
32e40 20 20 20 20 20 20 20 20 2f 2f 23 30 78 31 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ........//#0x18:.........$this->
32e60 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
32e80 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 rentObj).{.............$parentOb
32ea0 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e j->programCounter.=.$parentObj->
32ec0 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 nswtuw($parentObj->programCounte
32ee0 72 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 73 62 74 73 62 28 24 70 61 72 65 6e 74 4f 62 r.+.$parentObj->usbtsb($parentOb
32f00 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 j->memoryReader[$parentObj->prog
32f20 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f ramCounter]($parentObj,.$parentO
32f40 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 29 20 2b 20 31 29 3b 0a 20 20 20 20 20 bj->programCounter)).+.1);......
32f60 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 44 20 48 4c 2c 20 44 45 0a 20 20 20 20 20 ...};.........//ADD.HL,.DE......
32f80 20 20 20 2f 2f 23 30 78 31 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0x19:.........$this->funct
32fa0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
32fc0 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 32 20 3d 20 28 24 70 61 72 65 6e 74 bj).{.............$n2.=.($parent
32fe0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 Obj->registerD.<<.8).+.$parentOb
33000 6a 2d 3e 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 j->registerE;.............$dirty
33020 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 2b 20 Sum.=.$parentObj->registersHL.+.
33040 24 6e 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 $n2;.............$parentObj->FHa
33060 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 lfCarry.=.(($parentObj->register
33080 73 48 4c 20 26 20 30 78 46 46 46 29 20 2b 20 28 24 6e 32 20 26 20 30 78 46 46 46 29 20 3e 20 30 sHL.&.0xFFF).+.($n2.&.0xFFF).>.0
330a0 78 46 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 xFFF);.............$parentObj->F
330c0 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 46 46 46 29 3b 0a 20 20 Carry.=.($dirtySum.>.0xFFFF);...
330e0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 ..........$parentObj->registersH
33100 4c 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 L.=.($dirtySum.&.0xFFFF);.......
33120 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 ......$parentObj->FSubtract.=.fa
33140 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 41 2c 20 lse;.........};.........//LD.A,.
33160 28 44 45 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 31 41 3a 0a 20 20 20 20 20 20 20 20 24 74 (DE).........//#0x1A:.........$t
33180 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
331a0 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
331c0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e entObj->registerA.=.$parentObj->
331e0 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 memoryRead(($parentObj->register
33200 44 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 29 D.<<.8).+.$parentObj->registerE)
33220 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 45 43 20 44 45 0a 20 20 ;.........};.........//DEC.DE...
33240 20 20 20 20 20 20 2f 2f 23 30 78 31 42 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 ......//#0x1B:.........$this->fu
33260 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
33280 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d ntObj).{.............$temp_var.=
332a0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 28 28 24 70 61 72 65 6e 74 4f 62 .$parentObj->unswtuw((($parentOb
332c0 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d j->registerD.<<.8).+.$parentObj-
332e0 3e 72 65 67 69 73 74 65 72 45 29 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 >registerE).-.1);.............$p
33300 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 arentObj->registerD.=.($temp_var
33320 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .>>.8);.............$parentObj->
33340 72 65 67 69 73 74 65 72 45 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 46 46 29 3b 0a registerE.=.($temp_var.&.0xFF);.
33360 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 49 4e 43 20 45 0a 20 20 20 20 20 ........};.........//INC.E......
33380 20 20 20 2f 2f 23 30 78 31 43 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0x1C:.........$this->funct
333a0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
333c0 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj).{.............$parentObj->re
333e0 67 69 73 74 65 72 45 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 gisterE.=.(($parentObj->register
33400 45 20 2b 20 31 29 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 E.+.1).&.0xFF);.............$par
33420 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 entObj->FZero.=.($parentObj->reg
33440 69 73 74 65 72 45 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e isterE.==.0);.............$paren
33460 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d tObj->FHalfCarry.=.(($parentObj-
33480 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 46 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 >registerE.&.0xF).==.0);........
334a0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c .....$parentObj->FSubtract.=.fal
334c0 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 45 43 20 45 0a 20 se;.........};.........//DEC.E..
334e0 20 20 20 20 20 20 20 2f 2f 23 30 78 31 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .......//#0x1D:.........$this->f
33500 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
33520 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a entObj).{.............$parentObj
33540 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 ->registerE.=.$parentObj->unsbtu
33560 62 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 2d 20 31 29 3b 0a 20 20 b($parentObj->registerE.-.1);...
33580 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 ..........$parentObj->FZero.=.($
335a0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 3d 20 30 29 3b 0a 20 20 20 20 parentObj->registerE.==.0);.....
335c0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d ........$parentObj->FHalfCarry.=
335e0 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 46 29 20 .(($parentObj->registerE.&.0xF).
33600 3d 3d 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ==.0xF);.............$parentObj-
33620 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 >FSubtract.=.true;.........};...
33640 20 20 20 20 20 20 2f 2f 4c 44 20 45 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 31 45 3a ......//LD.E,.n.........//#0x1E:
33660 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
33680 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
336a0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 24 .......$parentObj->registerE.=.$
336c0 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f parentObj->memoryReader[$parentO
336e0 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 bj->programCounter]($parentObj,.
33700 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 $parentObj->programCounter);....
33720 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e .........$parentObj->programCoun
33740 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 ter.=.($parentObj->programCounte
33760 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 r.+.1).&.0xFFFF;.........};.....
33780 20 20 20 20 2f 2f 52 52 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 31 46 3a 0a 20 20 20 20 20 ....//RRA.........//#0x1F:......
337a0 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
337c0 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
337e0 20 24 63 61 72 72 79 5f 66 6c 61 67 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 .$carry_flag.=.($parentObj->FCar
33800 72 79 29 20 3f 20 30 78 38 30 20 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 ry).?.0x80.:.0;.............$par
33820 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 entObj->FCarry.=.(($parentObj->r
33840 65 67 69 73 74 65 72 41 20 26 20 31 29 20 3d 3d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 egisterA.&.1).==.1);............
33860 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 28 24 70 61 72 65 6e .$parentObj->registerA.=.($paren
33880 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3e 3e 20 31 29 20 2b 20 24 63 61 72 72 79 5f 66 tObj->registerA.>>.1).+.$carry_f
338a0 6c 61 67 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 lag;.............$parentObj->FZe
338c0 72 6f 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 ro.=.$parentObj->FSubtract.=.$pa
338e0 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 rentObj->FHalfCarry.=.false;....
33900 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4a 52 20 63 63 2c 20 6e 0a 20 20 20 20 20 .....};.........//JR.cc,.n......
33920 20 20 20 2f 2f 23 30 78 32 30 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0x20:.........$this->funct
33940 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
33960 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 bj).{.............if.(!$parentOb
33980 6a 2d 3e 46 5a 65 72 6f 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 j->FZero).{.................$par
339a0 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 entObj->programCounter.=.$parent
339c0 4f 62 6a 2d 3e 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 Obj->nswtuw($parentObj->programC
339e0 6f 75 6e 74 65 72 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 73 62 74 73 62 28 24 70 61 72 ounter.+.$parentObj->usbtsb($par
33a00 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->memoryReader[$parentObj-
33a20 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 >programCounter]($parentObj,.$pa
33a40 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 29 20 2b 20 31 29 3b 0a rentObj->programCounter)).+.1);.
33a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 ................++$parentObj->CP
33a80 55 54 69 63 6b 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 UTicks;.............}.else.{....
33aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d .............$parentObj->program
33ac0 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f Counter.=.($parentObj->programCo
33ae0 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 unter.+.1).&.0xFFFF;............
33b00 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 48 4c 2c 20 6e .}.........};.........//LD.HL,.n
33b20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 32 31 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 n.........//#0x21:.........$this
33b40 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
33b60 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 parentObj).{.............$parent
33b80 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e Obj->registersHL.=.($parentObj->
33ba0 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 memoryRead(($parentObj->programC
33bc0 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 ounter.+.1).&.0xFFFF).<<.8).+.$p
33be0 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 arentObj->memoryReader[$parentOb
33c00 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 j->programCounter]($parentObj,.$
33c20 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 parentObj->programCounter);.....
33c40 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 ........$parentObj->programCount
33c60 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 er.=.($parentObj->programCounter
33c80 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 .+.2).&.0xFFFF;.........};......
33ca0 20 20 20 2f 2f 4c 44 49 20 28 48 4c 29 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 32 32 ...//LDI.(HL),.A.........//#0x22
33cc0 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b :.........$this->functionsArray[
33ce0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
33d00 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 ........$parentObj->memoryWrite(
33d20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 $parentObj->registersHL,.$parent
33d40 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 Obj->registerA);.............$pa
33d60 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 28 24 70 61 72 65 6e 74 rentObj->registersHL.=.(($parent
33d80 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 3b Obj->registersHL.+.1).&.0xFFFF);
33da0 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 49 4e 43 20 48 4c 0a 20 20 20 .........};.........//INC.HL....
33dc0 20 20 20 20 20 2f 2f 23 30 78 32 33 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0x23:.........$this->fun
33de0 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
33e00 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
33e20 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 registersHL.=.(($parentObj->regi
33e40 73 74 65 72 73 48 4c 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 20 20 stersHL.+.1).&.0xFFFF);.........
33e60 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 49 4e 43 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 };.........//INC.H.........//#0x
33e80 32 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 24:.........$this->functionsArra
33ea0 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
33ec0 20 20 20 20 20 20 20 20 20 20 24 48 20 3d 20 28 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 ..........$H.=.((($parentObj->re
33ee0 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 29 20 2b 20 31 29 20 26 20 30 78 46 46 29 3b 0a 20 20 gistersHL.>>.8).+.1).&.0xFF);...
33f00 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 ..........$parentObj->FZero.=.($
33f20 48 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d H.==.0);.............$parentObj-
33f40 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 48 20 26 20 30 78 46 29 20 3d 3d 20 30 29 3b >FHalfCarry.=.(($H.&.0xF).==.0);
33f60 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 .............$parentObj->FSubtra
33f80 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f ct.=.false;.............$parentO
33fa0 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 48 20 3c 3c 20 38 29 20 2b 20 28 24 bj->registersHL.=.($H.<<.8).+.($
33fc0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a parentObj->registersHL.&.0xFF);.
33fe0 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 45 43 20 48 0a 20 20 20 20 20 ........};.........//DEC.H......
34000 20 20 20 2f 2f 23 30 78 32 35 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0x25:.........$this->funct
34020 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
34040 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 48 20 3d 20 24 70 61 72 65 6e 74 4f 62 bj).{.............$H.=.$parentOb
34060 6a 2d 3e 75 6e 73 62 74 75 62 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 j->unsbtub(($parentObj->register
34080 73 48 4c 20 3e 3e 20 38 29 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 sHL.>>.8).-.1);.............$par
340a0 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 48 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 entObj->FZero.=.($H.==.0);......
340c0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 .......$parentObj->FHalfCarry.=.
340e0 28 28 24 48 20 26 20 30 78 46 29 20 3d 3d 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 (($H.&.0xF).==.0xF);............
34100 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 .$parentObj->FSubtract.=.true;..
34120 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 ...........$parentObj->registers
34140 48 4c 20 3d 20 28 24 48 20 3c 3c 20 38 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 HL.=.($H.<<.8).+.($parentObj->re
34160 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 gistersHL.&.0xFF);.........};...
34180 20 20 20 20 20 20 2f 2f 4c 44 20 48 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 32 36 3a ......//LD.H,.n.........//#0x26:
341a0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
341c0 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
341e0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d .......$parentObj->registersHL.=
34200 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 .($parentObj->memoryReader[$pare
34220 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 ntObj->programCounter]($parentOb
34240 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 20 3c j,.$parentObj->programCounter).<
34260 3c 20 38 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 <.8).+.($parentObj->registersHL.
34280 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d &.0xFF);.............$parentObj-
342a0 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 >programCounter.=.($parentObj->p
342c0 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 rogramCounter.+.1).&.0xFFFF;....
342e0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 41 41 0a 20 20 20 20 20 20 20 20 2f 2f .....};.........//DAA.........//
34300 23 30 78 32 37 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 #0x27:.........$this->functionsA
34320 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
34340 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 .............$temp_var.=.$parent
34360 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 Obj->registerA;.............if.(
34380 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 $parentObj->FCarry).{...........
343a0 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 7c 3d 20 30 78 31 30 30 3b 0a 20 20 20 20 20 20 ......$temp_var.|=.0x100;.......
343c0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f ......}.............if.($parentO
343e0 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bj->FHalfCarry).{...............
34400 20 20 24 74 65 6d 70 5f 76 61 72 20 7c 3d 20 30 78 32 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 ..$temp_var.|=.0x200;...........
34420 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ..}.............if.($parentObj->
34440 46 53 75 62 74 72 61 63 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 FSubtract).{.................$te
34460 6d 70 5f 76 61 72 20 7c 3d 20 30 78 34 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 mp_var.|=.0x400;.............}..
34480 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 ...........$parentObj->registerA
344a0 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 44 41 41 54 .=.($temp_var.=.$parentObj->DAAT
344c0 61 62 6c 65 5b 24 74 65 6d 70 5f 76 61 72 5d 29 20 3e 3e 20 38 3b 0a 20 20 20 20 20 20 20 20 20 able[$temp_var]).>>.8;..........
344e0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 28 24 74 65 6d 70 5f 76 ...$parentObj->FZero.=.(($temp_v
34500 61 72 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ar.&.0x80).==.0x80);............
34520 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 28 28 24 74 65 6d 70 .$parentObj->FSubtract.=.(($temp
34540 5f 76 61 72 20 26 20 30 78 34 30 29 20 3d 3d 20 30 78 34 30 29 3b 0a 20 20 20 20 20 20 20 20 20 _var.&.0x40).==.0x40);..........
34560 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 74 ...$parentObj->FHalfCarry.=.(($t
34580 65 6d 70 5f 76 61 72 20 26 20 30 78 32 30 29 20 3d 3d 20 30 78 32 30 29 3b 0a 20 20 20 20 20 20 emp_var.&.0x20).==.0x20);.......
345a0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 24 74 65 ......$parentObj->FCarry.=.(($te
345c0 6d 70 5f 76 61 72 20 26 20 30 78 31 30 29 20 3d 3d 20 30 78 31 30 29 3b 0a 20 20 20 20 20 20 20 mp_var.&.0x10).==.0x10);........
345e0 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4a 52 20 63 63 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f .};.........//JR.cc,.n........./
34600 2f 23 30 78 32 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 /#0x28:.........$this->functions
34620 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
34640 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a {.............if.($parentObj->FZ
34660 65 72 6f 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 ero).{.................$parentOb
34680 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e j->programCounter.=.$parentObj->
346a0 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 nswtuw($parentObj->programCounte
346c0 72 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 73 62 74 73 62 28 24 70 61 72 65 6e 74 4f 62 r.+.$parentObj->usbtsb($parentOb
346e0 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 j->memoryReader[$parentObj->prog
34700 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f ramCounter]($parentObj,.$parentO
34720 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 29 20 2b 20 31 29 3b 0a 20 20 20 20 20 bj->programCounter)).+.1);......
34740 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b ...........++$parentObj->CPUTick
34760 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 s;.............}.else.{.........
34780 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 ........$parentObj->programCount
347a0 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 er.=.($parentObj->programCounter
347c0 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 .+.1).&.0xFFFF;.............}...
347e0 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 44 20 48 4c 2c 20 48 4c 0a 20 20 ......};.........//ADD.HL,.HL...
34800 20 20 20 20 20 20 2f 2f 23 30 78 32 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 ......//#0x29:.........$this->fu
34820 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
34840 6e 74 4f 62 6a 29 20 7b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a ntObj).{;.............$parentObj
34860 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 ->FHalfCarry.=.(($parentObj->reg
34880 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 46 29 20 3e 20 30 78 37 46 46 29 3b 0a 20 20 20 20 istersHL.&.0xFFF).>.0x7FF);.....
348a0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 70 ........$parentObj->FCarry.=.($p
348c0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 20 30 78 37 46 46 46 29 3b arentObj->registersHL.>.0x7FFF);
348e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 .............$parentObj->registe
34900 72 73 48 4c 20 3d 20 28 28 32 20 2a 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 rsHL.=.((2.*.$parentObj->registe
34920 72 73 48 4c 29 20 26 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 rsHL).&.0xFFFF);.............$pa
34940 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 rentObj->FSubtract.=.false;.....
34960 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 49 20 41 2c 20 28 48 4c 29 0a 20 20 20 ....};.........//LDI.A,.(HL)....
34980 20 20 20 20 20 2f 2f 23 30 78 32 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0x2A:.........$this->fun
349a0 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
349c0 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
349e0 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 registerA.=.$parentObj->memoryRe
34a00 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 ader[$parentObj->registersHL]($p
34a20 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 arentObj,.$parentObj->registersH
34a40 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 L);.............$parentObj->regi
34a60 73 74 65 72 73 48 4c 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 stersHL.=.(($parentObj->register
34a80 73 48 4c 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 sHL.+.1).&.0xFFFF);.........};..
34aa0 20 20 20 20 20 20 20 2f 2f 44 45 43 20 48 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 32 42 3a .......//DEC.HL.........//#0x2B:
34ac0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
34ae0 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
34b00 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d .......$parentObj->registersHL.=
34b20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d .$parentObj->unswtuw($parentObj-
34b40 3e 72 65 67 69 73 74 65 72 73 48 4c 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 >registersHL.-.1);.........};...
34b60 20 20 20 20 20 20 2f 2f 49 4e 43 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 32 43 3a 0a 20 ......//INC.L.........//#0x2C:..
34b80 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
34ba0 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
34bc0 20 20 20 20 20 24 4c 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 .....$L.=.(($parentObj->register
34be0 73 48 4c 20 2b 20 31 29 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 sHL.+.1).&.0xFF);.............$p
34c00 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 4c 20 3d 3d 20 30 29 3b 0a 20 20 20 arentObj->FZero.=.($L.==.0);....
34c20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 .........$parentObj->FHalfCarry.
34c40 3d 20 28 28 24 4c 20 26 20 30 78 46 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 =.(($L.&.0xF).==.0);............
34c60 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a .$parentObj->FSubtract.=.false;.
34c80 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ............$parentObj->register
34ca0 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 sHL.=.($parentObj->registersHL.&
34cc0 20 30 78 46 46 30 30 29 20 2b 20 24 4c 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 .0xFF00).+.$L;.........};.......
34ce0 20 20 2f 2f 44 45 43 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 32 44 3a 0a 20 20 20 20 20 ..//DEC.L.........//#0x2D:......
34d00 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
34d20 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
34d40 20 24 4c 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 28 24 70 61 72 65 .$L.=.$parentObj->unsbtub(($pare
34d60 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 2d 20 31 29 3b ntObj->registersHL.&.0xFF).-.1);
34d80 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d .............$parentObj->FZero.=
34da0 20 28 24 4c 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f .($L.==.0);.............$parentO
34dc0 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 4c 20 26 20 30 78 46 29 20 3d 3d 20 bj->FHalfCarry.=.(($L.&.0xF).==.
34de0 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 0xF);.............$parentObj->FS
34e00 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 ubtract.=.true;.............$par
34e20 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 entObj->registersHL.=.($parentOb
34e40 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 30 30 29 20 2b 20 24 4c 3b 0a 20 j->registersHL.&.0xFF00).+.$L;..
34e60 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 4c 2c 20 6e 0a 20 20 20 20 .......};.........//LD.L,.n.....
34e80 20 20 20 20 2f 2f 23 30 78 32 45 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ....//#0x2E:.........$this->func
34ea0 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
34ec0 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 Obj).{.............$parentObj->r
34ee0 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 egistersHL.=.($parentObj->regist
34f00 65 72 73 48 4c 20 26 20 30 78 46 46 30 30 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 ersHL.&.0xFF00).+.$parentObj->me
34f20 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f moryReader[$parentObj->programCo
34f40 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 unter]($parentObj,.$parentObj->p
34f60 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 rogramCounter);.............$par
34f80 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e entObj->programCounter.=.($paren
34fa0 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 tObj->programCounter.+.1).&.0xFF
34fc0 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 43 50 4c 0a 20 20 20 FF;.........};.........//CPL....
34fe0 20 20 20 20 20 2f 2f 23 30 78 32 46 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0x2F:.........$this->fun
35000 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
35020 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
35040 72 65 67 69 73 74 65 72 41 20 5e 3d 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 registerA.^=.0xFF;.............$
35060 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 parentObj->FSubtract.=.$parentOb
35080 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b j->FHalfCarry.=.true;.........};
350a0 0a 20 20 20 20 20 20 20 20 2f 2f 4a 52 20 63 63 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 .........//JR.cc,.n.........//#0
350c0 78 33 30 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 x30:.........$this->functionsArr
350e0 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
35100 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 ...........if.(!$parentObj->FCar
35120 72 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a ry).{.................$parentObj
35140 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6e ->programCounter.=.$parentObj->n
35160 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 swtuw($parentObj->programCounter
35180 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 73 62 74 73 62 28 24 70 61 72 65 6e 74 4f 62 6a .+.$parentObj->usbtsb($parentObj
351a0 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 ->memoryReader[$parentObj->progr
351c0 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 amCounter]($parentObj,.$parentOb
351e0 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 29 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 j->programCounter)).+.1);.......
35200 20 20 20 20 20 20 20 20 20 20 2b 2b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 ..........++$parentObj->CPUTicks
35220 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 ;.............}.else.{..........
35240 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 .......$parentObj->programCounte
35260 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 r.=.($parentObj->programCounter.
35280 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 +.1).&.0xFFFF;.............}....
352a0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 53 50 2c 20 6e 6e 0a 20 20 20 20 .....};.........//LD.SP,.nn.....
352c0 20 20 20 20 2f 2f 23 30 78 33 31 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ....//#0x31:.........$this->func
352e0 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
35300 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 Obj).{.............$parentObj->s
35320 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 tackPointer.=.($parentObj->memor
35340 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 yRead(($parentObj->programCounte
35360 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 r.+.1).&.0xFFFF).<<.8).+.$parent
35380 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 Obj->memoryReader[$parentObj->pr
353a0 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e ogramCounter]($parentObj,.$paren
353c0 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 tObj->programCounter);..........
353e0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 ...$parentObj->programCounter.=.
35400 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 32 29 ($parentObj->programCounter.+.2)
35420 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f .&.0xFFFF;.........};.........//
35440 4c 44 44 20 28 48 4c 29 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 33 32 3a 0a 20 20 20 LDD.(HL),.A.........//#0x32:....
35460 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
35480 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
354a0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 ...$parentObj->memoryWrite($pare
354c0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ntObj->registersHL,.$parentObj->
354e0 72 65 67 69 73 74 65 72 41 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f registerA);.............$parentO
35500 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e bj->registersHL.=.$parentObj->un
35520 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 2d 20 swtuw($parentObj->registersHL.-.
35540 31 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 49 4e 43 20 53 50 0a 1);.........};.........//INC.SP.
35560 20 20 20 20 20 20 20 20 2f 2f 23 30 78 33 33 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ........//#0x33:.........$this->
35580 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
355a0 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 rentObj).{.............$parentOb
355c0 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 j->stackPointer.=.($parentObj->s
355e0 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 tackPointer.+.1).&.0xFFFF;......
35600 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 49 4e 43 20 28 48 4c 29 0a 20 20 20 20 20 20 20 ...};.........//INC.(HL)........
35620 20 2f 2f 23 30 78 33 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0x34:.........$this->functio
35640 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
35660 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 28 28 24 70 ).{.............$temp_var.=.(($p
35680 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 arentObj->memoryReader[$parentOb
356a0 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 j->registersHL]($parentObj,.$par
356c0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 2b 20 31 29 20 26 20 30 78 46 46 entObj->registersHL).+.1).&.0xFF
356e0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f );.............$parentObj->FZero
35700 20 3d 20 28 24 74 65 6d 70 5f 76 61 72 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .=.($temp_var.==.0);............
35720 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 74 65 6d .$parentObj->FHalfCarry.=.(($tem
35740 70 5f 76 61 72 20 26 20 30 78 46 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 p_var.&.0xF).==.0);.............
35760 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 $parentObj->FSubtract.=.false;..
35780 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 ...........$parentObj->memoryWri
357a0 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 74 65 6d te($parentObj->registersHL,.$tem
357c0 70 5f 76 61 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 45 43 p_var);.........};.........//DEC
357e0 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 33 35 3a 0a 20 20 20 20 20 20 20 20 24 .(HL).........//#0x35:.........$
35800 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
35820 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 n.($parentObj).{.............$te
35840 6d 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 70 61 mp_var.=.$parentObj->unsbtub($pa
35860 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a rentObj->memoryReader[$parentObj
35880 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 ->registersHL]($parentObj,.$pare
358a0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 ntObj->registersHL).-.1);.......
358c0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 74 65 6d 70 ......$parentObj->FZero.=.($temp
358e0 5f 76 61 72 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f _var.==.0);.............$parentO
35900 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 bj->FHalfCarry.=.(($temp_var.&.0
35920 78 46 29 20 3d 3d 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 xF).==.0xF);.............$parent
35940 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 Obj->FSubtract.=.true;..........
35960 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 ...$parentObj->memoryWrite($pare
35980 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 24 74 65 6d 70 5f 76 61 72 29 3b 0a ntObj->registersHL,.$temp_var);.
359a0 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 28 48 4c 29 2c 20 6e 0a ........};.........//LD.(HL),.n.
359c0 20 20 20 20 20 20 20 20 2f 2f 23 30 78 33 36 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ........//#0x36:.........$this->
359e0 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
35a00 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 rentObj).{.............$parentOb
35a20 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 j->memoryWrite($parentObj->regis
35a40 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 tersHL,.$parentObj->memoryReader
35a60 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 [$parentObj->programCounter]($pa
35a80 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e rentObj,.$parentObj->programCoun
35aa0 74 65 72 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 ter));.............$parentObj->p
35ac0 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f rogramCounter.=.($parentObj->pro
35ae0 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 gramCounter.+.1).&.0xFFFF;......
35b00 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 43 46 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 ...};.........//SCF.........//#0
35b20 78 33 37 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 x37:.........$this->functionsArr
35b40 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
35b60 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 ...........$parentObj->FCarry.=.
35b80 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 true;.............$parentObj->FS
35ba0 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 ubtract.=.$parentObj->FHalfCarry
35bc0 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4a .=.false;.........};.........//J
35be0 52 20 63 63 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 33 38 3a 0a 20 20 20 20 20 20 20 R.cc,.n.........//#0x38:........
35c00 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
35c20 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 ion.($parentObj).{.............i
35c40 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 7b 0a 20 20 20 20 20 20 20 f.($parentObj->FCarry).{........
35c60 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e .........$parentObj->programCoun
35c80 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 ter.=.$parentObj->nswtuw($parent
35ca0 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a Obj->programCounter.+.$parentObj
35cc0 2d 3e 75 73 62 74 73 62 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 ->usbtsb($parentObj->memoryReade
35ce0 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 r[$parentObj->programCounter]($p
35d00 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 arentObj,.$parentObj->programCou
35d20 6e 74 65 72 29 29 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 nter)).+.1);.................++$
35d40 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 parentObj->CPUTicks;............
35d60 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e .}.else.{.................$paren
35d80 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f tObj->programCounter.=.($parentO
35da0 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 bj->programCounter.+.1).&.0xFFFF
35dc0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 ;.............}.........};......
35de0 20 20 20 2f 2f 41 44 44 20 48 4c 2c 20 53 50 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 33 39 3a ...//ADD.HL,.SP.........//#0x39:
35e00 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
35e20 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
35e40 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 .......$dirtySum.=.$parentObj->r
35e60 65 67 69 73 74 65 72 73 48 4c 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f egistersHL.+.$parentObj->stackPo
35e80 69 6e 74 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 inter;.............$parentObj->F
35ea0 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 HalfCarry.=.(($parentObj->regist
35ec0 65 72 73 48 4c 20 26 20 30 78 46 46 46 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 ersHL.&.0xFFF).+.($parentObj->st
35ee0 61 63 6b 50 6f 69 6e 74 65 72 20 26 20 30 78 46 46 46 29 20 3e 20 30 78 46 46 46 29 3b 0a 20 20 ackPointer.&.0xFFF).>.0xFFF);...
35f00 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 ..........$parentObj->FCarry.=.(
35f20 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 $dirtySum.>.0xFFFF);............
35f40 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 64 69 72 .$parentObj->registersHL.=.($dir
35f60 74 79 53 75 6d 20 26 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 tySum.&.0xFFFF);.............$pa
35f80 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 rentObj->FSubtract.=.false;.....
35fa0 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 4c 44 44 20 41 2c 20 28 48 4c 29 0a 20 20 ....};.........//.LDD.A,.(HL)...
35fc0 20 20 20 20 20 20 2f 2f 23 30 78 33 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 ......//#0x3A:.........$this->fu
35fe0 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
36000 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj).{.............$parentObj-
36020 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 >registerA.=.$parentObj->memoryR
36040 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 eader[$parentObj->registersHL]($
36060 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 parentObj,.$parentObj->registers
36080 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 HL);.............$parentObj->reg
360a0 69 73 74 65 72 73 48 4c 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 istersHL.=.$parentObj->unswtuw($
360c0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 2d 20 31 29 3b 0a 20 20 20 parentObj->registersHL.-.1);....
360e0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 45 43 20 53 50 0a 20 20 20 20 20 20 20 .....};.........//DEC.SP........
36100 20 2f 2f 23 30 78 33 42 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0x3B:.........$this->functio
36120 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
36140 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 ).{.............$parentObj->stac
36160 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 kPointer.=.$parentObj->unswtuw($
36180 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 parentObj->stackPointer.-.1);...
361a0 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 49 4e 43 20 41 0a 20 20 20 20 20 20 20 ......};.........//INC.A........
361c0 20 2f 2f 23 30 78 33 43 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0x3C:.........$this->functio
361e0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
36200 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
36220 73 74 65 72 41 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 sterA.=.(($parentObj->registerA.
36240 2b 20 31 29 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e +.1).&.0xFF);.............$paren
36260 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 tObj->FZero.=.($parentObj->regis
36280 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f terA.==.0);.............$parentO
362a0 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 bj->FHalfCarry.=.(($parentObj->r
362c0 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 egisterA.&.0xF).==.0);..........
362e0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 ...$parentObj->FSubtract.=.false
36300 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 45 43 20 41 0a 20 20 20 ;.........};.........//DEC.A....
36320 20 20 20 20 20 2f 2f 23 30 78 33 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0x3D:.........$this->fun
36340 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
36360 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
36380 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 registerA.=.$parentObj->unsbtub(
363a0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 31 29 3b 0a 20 20 20 20 $parentObj->registerA.-.1);.....
363c0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 ........$parentObj->FZero.=.($pa
363e0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 rentObj->registerA.==.0);.......
36400 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 ......$parentObj->FHalfCarry.=.(
36420 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 3d 3d ($parentObj->registerA.&.0xF).==
36440 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 .0xF);.............$parentObj->F
36460 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 Subtract.=.true;.........};.....
36480 20 20 20 20 2f 2f 4c 44 20 41 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 33 45 3a 0a 20 ....//LD.A,.n.........//#0x3E:..
364a0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
364c0 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
364e0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 .....$parentObj->registerA.=.$pa
36500 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a rentObj->memoryReader[$parentObj
36520 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 ->programCounter]($parentObj,.$p
36540 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 arentObj->programCounter);......
36560 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 .......$parentObj->programCounte
36580 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 r.=.($parentObj->programCounter.
365a0 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 +.1).&.0xFFFF;.........};.......
365c0 20 20 2f 2f 43 43 46 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 33 46 3a 0a 20 20 20 20 20 20 20 ..//CCF.........//#0x3F:........
365e0 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
36600 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ion.($parentObj).{.............$
36620 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 21 24 70 61 72 65 6e 74 4f 62 6a 2d parentObj->FCarry.=.!$parentObj-
36640 3e 46 43 61 72 72 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d >FCarry;.............$parentObj-
36660 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 >FSubtract.=.$parentObj->FHalfCa
36680 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 rry.=.false;.........};.........
366a0 2f 2f 4c 44 20 42 2c 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 34 30 3a 0a 20 20 20 20 20 //LD.B,.B.........//#0x40:......
366c0 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
366e0 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
36700 20 2f 2f 44 6f 20 6e 6f 74 68 69 6e 67 2e 2e 2e 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 .//Do.nothing............};.....
36720 20 20 20 20 2f 2f 4c 44 20 42 2c 20 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 34 31 3a 0a 20 ....//LD.B,.C.........//#0x41:..
36740 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
36760 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
36780 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 24 70 61 .....$parentObj->registerB.=.$pa
367a0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 rentObj->registerC;.........};..
367c0 20 20 20 20 20 20 20 2f 2f 4c 44 20 42 2c 20 44 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 34 32 .......//LD.B,.D.........//#0x42
367e0 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b :.........$this->functionsArray[
36800 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
36820 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 ........$parentObj->registerB.=.
36840 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 3b 0a 20 20 20 20 20 20 20 20 7d $parentObj->registerD;.........}
36860 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 42 2c 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 ;.........//LD.B,.E.........//#0
36880 78 34 33 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 x43:.........$this->functionsArr
368a0 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
368c0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 ...........$parentObj->registerB
368e0 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 20 20 .=.$parentObj->registerE;.......
36900 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 42 2c 20 48 0a 20 20 20 20 20 20 20 20 2f ..};.........//LD.B,.H........./
36920 2f 23 30 78 34 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 /#0x44:.........$this->functions
36940 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
36960 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 {.............$parentObj->regist
36980 65 72 42 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e erB.=.($parentObj->registersHL.>
369a0 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 42 2c >.8);.........};.........//LD.B,
369c0 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 34 35 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 .L.........//#0x45:.........$thi
369e0 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
36a00 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
36a20 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 tObj->registerB.=.($parentObj->r
36a40 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 egistersHL.&.0xFF);.........};..
36a60 20 20 20 20 20 20 20 2f 2f 4c 44 20 42 2c 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 .......//LD.B,.(HL).........//#0
36a80 78 34 36 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 x46:.........$this->functionsArr
36aa0 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
36ac0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 ...........$parentObj->registerB
36ae0 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 .=.$parentObj->memoryReader[$par
36b00 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c entObj->registersHL]($parentObj,
36b20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 .$parentObj->registersHL);......
36b40 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 42 2c 20 41 0a 20 20 20 20 20 20 20 20 ...};.........//LD.B,.A.........
36b60 2f 2f 23 30 78 34 37 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e //#0x47:.........$this->function
36b80 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 sArray[].=.function.($parentObj)
36ba0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 .{.............$parentObj->regis
36bc0 74 65 72 42 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 3b 0a 20 20 terB.=.$parentObj->registerA;...
36be0 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 43 2c 20 42 0a 20 20 20 20 20 ......};.........//LD.C,.B......
36c00 20 20 20 2f 2f 23 30 78 34 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0x48:.........$this->funct
36c20 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
36c40 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj).{.............$parentObj->re
36c60 67 69 73 74 65 72 43 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 3b gisterC.=.$parentObj->registerB;
36c80 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 43 2c 20 43 0a 20 20 .........};.........//LD.C,.C...
36ca0 20 20 20 20 20 20 2f 2f 23 30 78 34 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 ......//#0x49:.........$this->fu
36cc0 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
36ce0 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 44 6f 20 6e 6f 74 68 69 6e ntObj).{.............//Do.nothin
36d00 67 2e 2e 2e 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 43 2c 20 g............};.........//LD.C,.
36d20 44 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 34 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 D.........//#0x4A:.........$this
36d40 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
36d60 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 parentObj).{.............$parent
36d80 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 Obj->registerC.=.$parentObj->reg
36da0 69 73 74 65 72 44 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 isterD;.........};.........//LD.
36dc0 43 2c 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 34 42 3a 0a 20 20 20 20 20 20 20 20 24 74 C,.E.........//#0x4B:.........$t
36de0 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
36e00 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
36e20 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e entObj->registerC.=.$parentObj->
36e40 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f registerE;.........};.........//
36e60 4c 44 20 43 2c 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 34 43 3a 0a 20 20 20 20 20 20 20 LD.C,.H.........//#0x4C:........
36e80 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
36ea0 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ion.($parentObj).{.............$
36ec0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 28 24 70 61 72 65 6e 74 4f parentObj->registerC.=.($parentO
36ee0 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 7d bj->registersHL.>>.8);.........}
36f00 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 43 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 ;.........//LD.C,.L.........//#0
36f20 78 34 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 x4D:.........$this->functionsArr
36f40 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
36f60 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 ...........$parentObj->registerC
36f80 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 .=.($parentObj->registersHL.&.0x
36fa0 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 43 2c 20 FF);.........};.........//LD.C,.
36fc0 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 34 45 3a 0a 20 20 20 20 20 20 20 20 24 74 (HL).........//#0x4E:.........$t
36fe0 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
37000 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
37020 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e entObj->registerC.=.$parentObj->
37040 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 memoryReader[$parentObj->registe
37060 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 rsHL]($parentObj,.$parentObj->re
37080 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f gistersHL);.........};........./
370a0 2f 4c 44 20 43 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 34 46 3a 0a 20 20 20 20 20 20 /LD.C,.A.........//#0x4F:.......
370c0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
370e0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
37100 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 24 70 61 72 65 6e 74 4f $parentObj->registerC.=.$parentO
37120 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 bj->registerA;.........};.......
37140 20 20 2f 2f 4c 44 20 44 2c 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 35 30 3a 0a 20 20 20 ..//LD.D,.B.........//#0x50:....
37160 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
37180 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
371a0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 24 70 61 72 65 ...$parentObj->registerD.=.$pare
371c0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 ntObj->registerB;.........};....
371e0 20 20 20 20 20 2f 2f 4c 44 20 44 2c 20 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 35 31 3a 0a .....//LD.D,.C.........//#0x51:.
37200 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
37220 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
37240 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 24 70 ......$parentObj->registerD.=.$p
37260 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a arentObj->registerC;.........};.
37280 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 44 2c 20 44 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 35 ........//LD.D,.D.........//#0x5
372a0 32 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 2:.........$this->functionsArray
372c0 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
372e0 20 20 20 20 20 20 20 20 20 2f 2f 44 6f 20 6e 6f 74 68 69 6e 67 2e 2e 2e 0a 20 20 20 20 20 20 20 .........//Do.nothing...........
37300 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 44 2c 20 45 0a 20 20 20 20 20 20 20 20 2f 2f .};.........//LD.D,.E.........//
37320 23 30 78 35 33 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 #0x53:.........$this->functionsA
37340 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
37360 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 .............$parentObj->registe
37380 72 44 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 rD.=.$parentObj->registerE;.....
373a0 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 44 2c 20 48 0a 20 20 20 20 20 20 20 ....};.........//LD.D,.H........
373c0 20 2f 2f 23 30 78 35 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0x54:.........$this->functio
373e0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
37400 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ).{.............$parentObj->regi
37420 73 74 65 72 44 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c sterD.=.($parentObj->registersHL
37440 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 .>>.8);.........};.........//LD.
37460 44 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 35 35 3a 0a 20 20 20 20 20 20 20 20 24 74 D,.L.........//#0x55:.........$t
37480 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
374a0 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
374c0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->registerD.=.($parentObj-
374e0 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b >registersHL.&.0xFF);.........};
37500 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 44 2c 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f .........//LD.D,.(HL).........//
37520 23 30 78 35 36 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 #0x56:.........$this->functionsA
37540 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
37560 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 .............$parentObj->registe
37580 72 44 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 rD.=.$parentObj->memoryReader[$p
375a0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 arentObj->registersHL]($parentOb
375c0 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 j,.$parentObj->registersHL);....
375e0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 44 2c 20 41 0a 20 20 20 20 20 20 .....};.........//LD.D,.A.......
37600 20 20 2f 2f 23 30 78 35 37 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 ..//#0x57:.........$this->functi
37620 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 onsArray[].=.function.($parentOb
37640 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 j).{.............$parentObj->reg
37660 69 73 74 65 72 44 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 3b 0a isterD.=.$parentObj->registerA;.
37680 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 45 2c 20 42 0a 20 20 20 ........};.........//LD.E,.B....
376a0 20 20 20 20 20 2f 2f 23 30 78 35 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0x58:.........$this->fun
376c0 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
376e0 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
37700 72 65 67 69 73 74 65 72 45 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 registerE.=.$parentObj->register
37720 42 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 45 2c 20 43 0a B;.........};.........//LD.E,.C.
37740 20 20 20 20 20 20 20 20 2f 2f 23 30 78 35 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ........//#0x59:.........$this->
37760 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
37780 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 rentObj).{.............$parentOb
377a0 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 j->registerE.=.$parentObj->regis
377c0 74 65 72 43 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 45 2c terC;.........};.........//LD.E,
377e0 20 44 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 35 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 .D.........//#0x5A:.........$thi
37800 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
37820 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
37840 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 tObj->registerE.=.$parentObj->re
37860 67 69 73 74 65 72 44 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 gisterD;.........};.........//LD
37880 20 45 2c 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 35 42 3a 0a 20 20 20 20 20 20 20 20 24 .E,.E.........//#0x5B:.........$
378a0 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
378c0 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 44 n.($parentObj).{.............//D
378e0 6f 20 6e 6f 74 68 69 6e 67 2e 2e 2e 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 o.nothing............};.........
37900 2f 2f 4c 44 20 45 2c 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 35 43 3a 0a 20 20 20 20 20 //LD.E,.H.........//#0x5C:......
37920 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
37940 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
37960 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 28 24 70 61 72 65 6e .$parentObj->registerE.=.($paren
37980 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 tObj->registersHL.>>.8);........
379a0 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 45 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f .};.........//LD.E,.L.........//
379c0 23 30 78 35 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 #0x5D:.........$this->functionsA
379e0 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
37a00 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 .............$parentObj->registe
37a20 72 45 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 rE.=.($parentObj->registersHL.&.
37a40 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 45 0xFF);.........};.........//LD.E
37a60 2c 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 35 45 3a 0a 20 20 20 20 20 20 20 20 ,.(HL).........//#0x5E:.........
37a80 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
37aa0 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
37ac0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a arentObj->registerE.=.$parentObj
37ae0 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 ->memoryReader[$parentObj->regis
37b00 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tersHL]($parentObj,.$parentObj->
37b20 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 registersHL);.........};........
37b40 20 2f 2f 4c 44 20 45 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 35 46 3a 0a 20 20 20 20 .//LD.E,.A.........//#0x5F:.....
37b60 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
37b80 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
37ba0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 3d 20 24 70 61 72 65 6e ..$parentObj->registerE.=.$paren
37bc0 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 tObj->registerA;.........};.....
37be0 20 20 20 20 2f 2f 4c 44 20 48 2c 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 36 30 3a 0a 20 ....//LD.H,.B.........//#0x60:..
37c00 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
37c20 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
37c40 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 .....$parentObj->registersHL.=.(
37c60 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3c 3c 20 38 29 20 2b 20 28 24 $parentObj->registerB.<<.8).+.($
37c80 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a parentObj->registersHL.&.0xFF);.
37ca0 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 48 2c 20 43 0a 20 20 20 ........};.........//LD.H,.C....
37cc0 20 20 20 20 20 2f 2f 23 30 78 36 31 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0x61:.........$this->fun
37ce0 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
37d00 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
37d20 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 registersHL.=.($parentObj->regis
37d40 74 65 72 43 20 3c 3c 20 38 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 terC.<<.8).+.($parentObj->regist
37d60 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 ersHL.&.0xFF);.........};.......
37d80 20 20 2f 2f 4c 44 20 48 2c 20 44 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 36 32 3a 0a 20 20 20 ..//LD.H,.D.........//#0x62:....
37da0 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
37dc0 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
37de0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 ...$parentObj->registersHL.=.($p
37e00 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 3c 3c 20 38 29 20 2b 20 28 24 70 61 arentObj->registerD.<<.8).+.($pa
37e20 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 rentObj->registersHL.&.0xFF);...
37e40 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 48 2c 20 45 0a 20 20 20 20 20 ......};.........//LD.H,.E......
37e60 20 20 20 2f 2f 23 30 78 36 33 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0x63:.........$this->funct
37e80 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
37ea0 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj).{.............$parentObj->re
37ec0 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 gistersHL.=.($parentObj->registe
37ee0 72 45 20 3c 3c 20 38 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 rE.<<.8).+.($parentObj->register
37f00 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 sHL.&.0xFF);.........};.........
37f20 2f 2f 4c 44 20 48 2c 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 36 34 3a 0a 20 20 20 20 20 //LD.H,.H.........//#0x64:......
37f40 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
37f60 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
37f80 20 2f 2f 44 6f 20 6e 6f 74 68 69 6e 67 2e 2e 2e 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 .//Do.nothing............};.....
37fa0 20 20 20 20 2f 2f 4c 44 20 48 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 36 35 3a 0a 20 ....//LD.H,.L.........//#0x65:..
37fc0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
37fe0 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
38000 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 .....$parentObj->registersHL.=.(
38020 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 ($parentObj->registersHL.&.0xFF)
38040 20 3c 3c 20 38 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 .<<.8).+.($parentObj->registersH
38060 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f L.&.0xFF);.........};.........//
38080 4c 44 20 48 2c 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 36 36 3a 0a 20 20 20 20 LD.H,.(HL).........//#0x66:.....
380a0 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
380c0 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
380e0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 ..$parentObj->registersHL.=.($pa
38100 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a rentObj->memoryReader[$parentObj
38120 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 ->registersHL]($parentObj,.$pare
38140 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 3c 3c 20 38 29 20 2b 20 28 24 70 61 ntObj->registersHL).<<.8).+.($pa
38160 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 rentObj->registersHL.&.0xFF);...
38180 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 48 2c 20 41 0a 20 20 20 20 20 ......};.........//LD.H,.A......
381a0 20 20 20 2f 2f 23 30 78 36 37 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0x67:.........$this->funct
381c0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
381e0 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj).{.............$parentObj->re
38200 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 gistersHL.=.($parentObj->registe
38220 72 41 20 3c 3c 20 38 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 rA.<<.8).+.($parentObj->register
38240 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 sHL.&.0xFF);.........};.........
38260 2f 2f 4c 44 20 4c 2c 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 36 38 3a 0a 20 20 20 20 20 //LD.L,.B.........//#0x68:......
38280 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
382a0 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
382c0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 .$parentObj->registersHL.=.($par
382e0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 30 30 29 20 2b 20 entObj->registersHL.&.0xFF00).+.
38300 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 3b 0a 20 20 20 20 20 20 20 20 7d $parentObj->registerB;.........}
38320 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 4c 2c 20 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 ;.........//LD.L,.C.........//#0
38340 78 36 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 x69:.........$this->functionsArr
38360 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
38380 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 ...........$parentObj->registers
383a0 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 HL.=.($parentObj->registersHL.&.
383c0 30 78 46 46 30 30 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 3b 0xFF00).+.$parentObj->registerC;
383e0 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 4c 2c 20 44 0a 20 20 .........};.........//LD.L,.D...
38400 20 20 20 20 20 20 2f 2f 23 30 78 36 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 ......//#0x6A:.........$this->fu
38420 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
38440 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj).{.............$parentObj-
38460 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 >registersHL.=.($parentObj->regi
38480 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 30 30 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e stersHL.&.0xFF00).+.$parentObj->
384a0 72 65 67 69 73 74 65 72 44 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f registerD;.........};.........//
384c0 4c 44 20 4c 2c 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 36 42 3a 0a 20 20 20 20 20 20 20 LD.L,.E.........//#0x6B:........
384e0 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
38500 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ion.($parentObj).{.............$
38520 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e parentObj->registersHL.=.($paren
38540 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 30 30 29 20 2b 20 24 70 tObj->registersHL.&.0xFF00).+.$p
38560 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a arentObj->registerE;.........};.
38580 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 4c 2c 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 36 ........//LD.L,.H.........//#0x6
385a0 43 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 C:.........$this->functionsArray
385c0 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
385e0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c .........$parentObj->registersHL
38600 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 .=.($parentObj->registersHL.&.0x
38620 46 46 30 30 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c FF00).+.($parentObj->registersHL
38640 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 .>>.8);.........};.........//LD.
38660 4c 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 36 44 3a 0a 20 20 20 20 20 20 20 20 24 74 L,.L.........//#0x6D:.........$t
38680 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
386a0 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 44 6f .($parentObj).{.............//Do
386c0 20 6e 6f 74 68 69 6e 67 2e 2e 2e 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f .nothing............};........./
386e0 2f 4c 44 20 4c 2c 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 36 45 3a 0a 20 20 20 /LD.L,.(HL).........//#0x6E:....
38700 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
38720 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
38740 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 28 24 70 ...$parentObj->registersHL.=.($p
38760 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 30 30 29 20 arentObj->registersHL.&.0xFF00).
38780 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 +.$parentObj->memoryReader[$pare
387a0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 ntObj->registersHL]($parentObj,.
387c0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 $parentObj->registersHL);.......
387e0 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 4c 2c 20 41 0a 20 20 20 20 20 20 20 20 2f ..};.........//LD.L,.A........./
38800 2f 23 30 78 36 46 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 /#0x6F:.........$this->functions
38820 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
38840 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 {.............$parentObj->regist
38860 65 72 73 48 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c ersHL.=.($parentObj->registersHL
38880 20 26 20 30 78 46 46 30 30 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 .&.0xFF00).+.$parentObj->registe
388a0 72 41 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 28 48 4c 29 rA;.........};.........//LD.(HL)
388c0 2c 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 30 3a 0a 20 20 20 20 20 20 20 20 24 74 68 ,.B.........//#0x70:.........$th
388e0 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
38900 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
38920 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 ntObj->memoryWrite($parentObj->r
38940 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 egistersHL,.$parentObj->register
38960 42 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 28 48 4c 29 B);.........};.........//LD.(HL)
38980 2c 20 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 31 3a 0a 20 20 20 20 20 20 20 20 24 74 68 ,.C.........//#0x71:.........$th
389a0 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
389c0 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
389e0 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 ntObj->memoryWrite($parentObj->r
38a00 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 egistersHL,.$parentObj->register
38a20 43 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 28 48 4c 29 C);.........};.........//LD.(HL)
38a40 2c 20 44 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 32 3a 0a 20 20 20 20 20 20 20 20 24 74 68 ,.D.........//#0x72:.........$th
38a60 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
38a80 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
38aa0 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 ntObj->memoryWrite($parentObj->r
38ac0 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 egistersHL,.$parentObj->register
38ae0 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 28 48 4c 29 D);.........};.........//LD.(HL)
38b00 2c 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 33 3a 0a 20 20 20 20 20 20 20 20 24 74 68 ,.E.........//#0x73:.........$th
38b20 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
38b40 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
38b60 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 ntObj->memoryWrite($parentObj->r
38b80 65 67 69 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 egistersHL,.$parentObj->register
38ba0 45 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 28 48 4c 29 E);.........};.........//LD.(HL)
38bc0 2c 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 ,.H.........//#0x74:.........$th
38be0 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
38c00 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
38c20 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 ntObj->memoryWrite($parentObj->r
38c40 65 67 69 73 74 65 72 73 48 4c 2c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 egistersHL,.($parentObj->registe
38c60 72 73 48 4c 20 3e 3e 20 38 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 rsHL.>>.8));.........};.........
38c80 2f 2f 4c 44 20 28 48 4c 29 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 35 3a 0a 20 20 //LD.(HL),.L.........//#0x75:...
38ca0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
38cc0 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
38ce0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 ....$parentObj->memoryWrite($par
38d00 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 2c 20 28 24 70 61 72 65 6e 74 4f 62 6a entObj->registersHL,.($parentObj
38d20 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 29 3b 0a 20 20 20 20 20 20 20 20 ->registersHL.&.0xFF));.........
38d40 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 48 41 4c 54 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 };.........//HALT.........//#0x7
38d60 36 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 6:.........$this->functionsArray
38d80 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
38da0 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 74 69 6c 45 6e .........if.($parentObj->untilEn
38dc0 61 62 6c 65 20 3d 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 56 able.==.1).{................./*V
38de0 42 41 2d 4d 20 73 61 79 73 20 74 68 69 73 20 66 69 78 65 73 20 54 6f 72 70 65 64 6f 20 52 61 6e BA-M.says.this.fixes.Torpedo.Ran
38e00 67 65 20 28 53 65 65 6d 73 20 74 6f 20 77 6f 72 6b 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ge.(Seems.to.work):.............
38e20 20 20 20 20 49 6e 76 6f 6c 76 65 73 20 61 6e 20 65 64 67 65 20 63 61 73 65 20 77 68 65 72 65 20 ....Involves.an.edge.case.where.
38e40 61 6e 20 45 49 20 69 73 20 70 6c 61 63 65 64 20 72 69 67 68 74 20 62 65 66 6f 72 65 20 61 20 48 an.EI.is.placed.right.before.a.H
38e60 41 4c 54 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 49 20 69 6e 20 74 68 69 73 20 ALT..................EI.in.this.
38e80 63 61 73 65 20 61 63 74 75 61 6c 6c 79 20 69 73 20 69 6d 6d 65 64 69 61 74 65 2c 20 73 6f 20 77 case.actually.is.immediate,.so.w
38ea0 65 20 61 64 6a 75 73 74 20 28 48 61 63 6b 79 3f 29 2e 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 e.adjust.(Hacky?).*/............
38ec0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 .....$parentObj->programCounter.
38ee0 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d =.$parentObj->nswtuw($parentObj-
38f00 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 >programCounter.-.1);...........
38f20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 ..}.else.{.................if.(!
38f40 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 68 61 6c 74 20 26 26 20 21 24 70 61 72 65 6e 74 4f 62 6a 2d $parentObj->halt.&&.!$parentObj-
38f60 3e 49 4d 45 20 26 26 20 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 63 47 42 43 20 26 26 20 21 24 70 >IME.&&.!$parentObj->cGBC.&&.!$p
38f80 61 72 65 6e 74 4f 62 6a 2d 3e 75 73 65 64 42 6f 6f 74 52 4f 4d 20 26 26 20 28 24 70 61 72 65 6e arentObj->usedBootROM.&&.($paren
38fa0 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 30 46 5d 20 26 20 24 70 61 72 65 6e 74 4f 62 tObj->memory[0xFF0F].&.$parentOb
38fc0 6a 2d 3e 6d 65 6d 6f 72 79 5b 30 78 46 46 46 46 5d 20 26 20 30 78 31 46 29 20 3e 20 30 29 20 7b j->memory[0xFFFF].&.0x1F).>.0).{
38fe0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d .....................$parentObj-
39000 3e 73 6b 69 70 50 43 49 6e 63 72 65 6d 65 6e 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 >skipPCIncrement.=.true;........
39020 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 .........}.................$pare
39040 6e 74 4f 62 6a 2d 3e 68 61 6c 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ntObj->halt.=.true;.............
39060 20 20 20 20 77 68 69 6c 65 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 68 61 6c 74 20 26 26 20 28 ....while.($parentObj->halt.&&.(
39080 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 6f 70 45 6d 75 6c 61 74 6f 72 20 26 20 31 29 20 3d 3d $parentObj->stopEmulator.&.1).==
390a0 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 57 65 27 72 .0).{...................../*We'r
390c0 65 20 68 69 6a 61 63 6b 69 6e 67 20 74 68 65 20 6d 61 69 6e 20 69 6e 74 65 72 70 72 65 74 65 72 e.hijacking.the.main.interpreter
390e0 20 6c 6f 6f 70 20 74 6f 20 64 6f 20 74 68 69 73 20 64 69 72 74 79 20 62 75 73 69 6e 65 73 73 0a .loop.to.do.this.dirty.business.
39100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 ....................in.order.to.
39120 6e 6f 74 20 73 6c 6f 77 20 64 6f 77 6e 20 74 68 65 20 6d 61 69 6e 20 69 6e 74 65 72 70 72 65 74 not.slow.down.the.main.interpret
39140 65 72 20 6c 6f 6f 70 20 63 6f 64 65 20 77 69 74 68 20 68 61 6c 74 20 73 74 61 74 65 20 68 61 6e er.loop.code.with.halt.state.han
39160 64 6c 69 6e 67 2e 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 62 69 dling.*/.....................$bi
39180 74 53 68 69 66 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tShift.=.0;.....................
391a0 24 74 65 73 74 62 69 74 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $testbit.=.1;...................
391c0 20 20 24 69 6e 74 65 72 72 75 70 74 73 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f ..$interrupts.=.$parentObj->memo
391e0 72 79 5b 30 78 46 46 46 46 5d 20 26 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 5b ry[0xFFFF].&.$parentObj->memory[
39200 30 78 46 46 30 46 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 0xFF0F];.....................whi
39220 6c 65 20 28 24 62 69 74 53 68 69 66 74 20 3c 20 35 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 le.($bitShift.<.5).{............
39240 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 43 68 65 63 6b 20 74 6f 20 73 65 65 20 69 66 20 61 .............//Check.to.see.if.a
39260 6e 20 69 6e 74 65 72 72 75 70 74 20 69 73 20 65 6e 61 62 6c 65 64 20 41 4e 44 20 72 65 71 75 65 n.interrupt.is.enabled.AND.reque
39280 73 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 sted..........................if
392a0 20 28 28 24 74 65 73 74 62 69 74 20 26 20 24 69 6e 74 65 72 72 75 70 74 73 29 20 3d 3d 20 24 74 .(($testbit.&.$interrupts).==.$t
392c0 65 73 74 62 69 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 estbit).{.......................
392e0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 68 61 6c 74 20 3d 20 66 61 6c 73 65 3b 20 ......$parentObj->halt.=.false;.
39300 2f 2f 47 65 74 20 6f 75 74 20 6f 66 20 68 61 6c 74 20 73 74 61 74 65 20 69 66 20 69 6e 20 68 61 //Get.out.of.halt.state.if.in.ha
39320 6c 74 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lt.state........................
39340 20 20 20 20 20 20 72 65 74 75 72 6e 3b 20 2f 2f 4c 65 74 20 74 68 65 20 6d 61 69 6e 20 69 6e 74 ......return;.//Let.the.main.int
39360 65 72 72 75 70 74 20 68 61 6e 64 6c 65 72 20 63 6f 6d 70 75 74 65 20 74 68 65 20 69 6e 74 65 72 errupt.handler.compute.the.inter
39380 72 75 70 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a rupt..........................}.
393a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 73 74 62 69 74 ........................$testbit
393c0 20 3d 20 31 20 3c 3c 20 2b 2b 24 62 69 74 53 68 69 66 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .=.1.<<.++$bitShift;............
393e0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 .........}.....................$
39400 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 20 3d 20 31 3b 20 2f 2f 31 20 6d 61 63 parentObj->CPUTicks.=.1;.//1.mac
39420 68 69 6e 65 20 63 79 63 6c 65 20 75 6e 64 65 72 20 48 41 4c 54 2e 2e 2e 0a 20 20 20 20 20 20 20 hine.cycle.under.HALT...........
39440 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 54 69 6d 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 .............//Timing:..........
39460 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 70 64 61 74 65 43 6f 72 ...........$parentObj->updateCor
39480 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 e();.................}..........
394a0 20 20 20 20 20 20 20 20 2f 2f 54 68 72 6f 77 20 61 6e 20 65 72 72 6f 72 20 6f 6e 20 70 75 72 70 ........//Throw.an.error.on.purp
394c0 6f 73 65 20 74 6f 20 65 78 69 74 20 6f 75 74 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 ose.to.exit.out.of.the.loop.....
394e0 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f .............throw.new.\Exceptio
39500 6e 28 27 48 41 4c 54 5f 4f 56 45 52 52 55 4e 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d n('HALT_OVERRUN');.............}
39520 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 28 48 4c 29 2c 20 41 .........};.........//LD.(HL),.A
39540 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 37 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .........//#0x77:.........$this-
39560 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
39580 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
395a0 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 bj->memoryWrite($parentObj->regi
395c0 73 74 65 72 73 48 4c 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 29 3b stersHL,.$parentObj->registerA);
395e0 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 41 2c 20 42 0a 20 20 .........};.........//LD.A,.B...
39600 20 20 20 20 20 20 2f 2f 23 30 78 37 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 ......//#0x78:.........$this->fu
39620 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
39640 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj).{.............$parentObj-
39660 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 >registerA.=.$parentObj->registe
39680 72 42 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 41 2c 20 43 rB;.........};.........//LD.A,.C
396a0 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .........//#0x79:.........$this-
396c0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
396e0 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f arentObj).{.............$parentO
39700 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 bj->registerA.=.$parentObj->regi
39720 73 74 65 72 43 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 41 sterC;.........};.........//LD.A
39740 2c 20 44 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 ,.D.........//#0x7A:.........$th
39760 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
39780 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
397a0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 ntObj->registerA.=.$parentObj->r
397c0 65 67 69 73 74 65 72 44 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c egisterD;.........};.........//L
397e0 44 20 41 2c 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 42 3a 0a 20 20 20 20 20 20 20 20 D.A,.E.........//#0x7B:.........
39800 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
39820 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
39840 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a arentObj->registerA.=.$parentObj
39860 2d 3e 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 ->registerE;.........};.........
39880 2f 2f 4c 44 20 41 2c 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 43 3a 0a 20 20 20 20 20 //LD.A,.H.........//#0x7C:......
398a0 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
398c0 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
398e0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 28 24 70 61 72 65 6e .$parentObj->registerA.=.($paren
39900 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 tObj->registersHL.>>.8);........
39920 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 41 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f .};.........//LD.A,.L.........//
39940 23 30 78 37 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 #0x7D:.........$this->functionsA
39960 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
39980 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 .............$parentObj->registe
399a0 72 41 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 rA.=.($parentObj->registersHL.&.
399c0 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 2c 20 0xFF);.........};.........//LD,.
399e0 41 2c 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 45 3a 0a 20 20 20 20 20 20 20 A,.(HL).........//#0x7E:........
39a00 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
39a20 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ion.($parentObj).{.............$
39a40 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 parentObj->registerA.=.$parentOb
39a60 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 j->memoryReader[$parentObj->regi
39a80 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d stersHL]($parentObj,.$parentObj-
39aa0 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 >registersHL);.........};.......
39ac0 20 20 2f 2f 4c 44 20 41 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 37 46 3a 0a 20 20 20 ..//LD.A,.A.........//#0x7F:....
39ae0 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
39b00 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
39b20 20 20 20 2f 2f 44 6f 20 4e 6f 74 68 69 6e 67 2e 2e 2e 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 ...//Do.Nothing............};...
39b40 20 20 20 20 20 20 2f 2f 41 44 44 20 41 2c 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 30 ......//ADD.A,.B.........//#0x80
39b60 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b :.........$this->functionsArray[
39b80 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
39ba0 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ........$dirtySum.=.$parentObj->
39bc0 72 65 67 69 73 74 65 72 41 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 registerA.+.$parentObj->register
39be0 42 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 B;.............$parentObj->FHalf
39c00 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 Carry.=.($dirtySum.&.0xF).<.($pa
39c20 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 rentObj->registerA.&.0xF);......
39c40 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 .......$parentObj->FCarry.=.($di
39c60 72 74 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 rtySum.>.0xFF);.............$par
39c80 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 entObj->registerA.=.$dirtySum.&.
39ca0 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 0xFF;.............$parentObj->FZ
39cc0 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 ero.=.($parentObj->registerA.==.
39ce0 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 0);.............$parentObj->FSub
39d00 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 tract.=.false;.........};.......
39d20 20 20 2f 2f 41 44 44 20 41 2c 20 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 31 3a 0a 20 20 ..//ADD.A,.C.........//#0x81:...
39d40 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
39d60 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
39d80 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ....$dirtySum.=.$parentObj->regi
39da0 73 74 65 72 41 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 3b 0a 20 sterA.+.$parentObj->registerC;..
39dc0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 ...........$parentObj->FHalfCarr
39de0 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 72 65 6e 74 y.=.($dirtySum.&.0xF).<.($parent
39e00 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 Obj->registerA.&.0xF);..........
39e20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 ...$parentObj->FCarry.=.($dirtyS
39e40 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f um.>.0xFF);.............$parentO
39e60 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 bj->registerA.=.$dirtySum.&.0xFF
39e80 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 ;.............$parentObj->FZero.
39ea0 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a =.($parentObj->registerA.==.0);.
39ec0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 ............$parentObj->FSubtrac
39ee0 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f t.=.false;.........};.........//
39f00 41 44 44 20 41 2c 20 44 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 32 3a 0a 20 20 20 20 20 20 ADD.A,.D.........//#0x82:.......
39f20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
39f40 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
39f60 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 $dirtySum.=.$parentObj->register
39f80 41 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 3b 0a 20 20 20 20 20 A.+.$parentObj->registerD;......
39fa0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 .......$parentObj->FHalfCarry.=.
39fc0 28 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d ($dirtySum.&.0xF).<.($parentObj-
39fe0 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 >registerA.&.0xF);.............$
3a000 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3e parentObj->FCarry.=.($dirtySum.>
3a020 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .0xFF);.............$parentObj->
3a040 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 3b 0a 20 20 registerA.=.$dirtySum.&.0xFF;...
3a060 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 ..........$parentObj->FZero.=.($
3a080 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 parentObj->registerA.==.0);.....
3a0a0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 ........$parentObj->FSubtract.=.
3a0c0 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 44 20 false;.........};.........//ADD.
3a0e0 41 2c 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 33 3a 0a 20 20 20 20 20 20 20 20 24 74 A,.E.........//#0x83:.........$t
3a100 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
3a120 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 .($parentObj).{.............$dir
3a140 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2b 20 tySum.=.$parentObj->registerA.+.
3a160 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 20 20 20 20 20 $parentObj->registerE;..........
3a180 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 24 64 69 ...$parentObj->FHalfCarry.=.($di
3a1a0 72 74 79 53 75 6d 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 rtySum.&.0xF).<.($parentObj->reg
3a1c0 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 isterA.&.0xF);.............$pare
3a1e0 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 ntObj->FCarry.=.($dirtySum.>.0xF
3a200 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 F);.............$parentObj->regi
3a220 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 sterA.=.$dirtySum.&.0xFF;.......
3a240 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 ......$parentObj->FZero.=.($pare
3a260 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 ntObj->registerA.==.0);.........
3a280 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 ....$parentObj->FSubtract.=.fals
3a2a0 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 44 20 41 2c 20 48 e;.........};.........//ADD.A,.H
3a2c0 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .........//#0x84:.........$this-
3a2e0 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
3a300 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 arentObj).{.............$dirtySu
3a320 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2b 20 28 24 70 61 m.=.$parentObj->registerA.+.($pa
3a340 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 29 3b 0a 20 20 20 20 rentObj->registersHL.>>.8);.....
3a360 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d ........$parentObj->FHalfCarry.=
3a380 20 28 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 72 65 6e 74 4f 62 6a .($dirtySum.&.0xF).<.($parentObj
3a3a0 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ->registerA.&.0xF);.............
3a3c0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 $parentObj->FCarry.=.($dirtySum.
3a3e0 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d >.0xFF);.............$parentObj-
3a400 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 3b 0a 20 >registerA.=.$dirtySum.&.0xFF;..
3a420 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 ...........$parentObj->FZero.=.(
3a440 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 $parentObj->registerA.==.0);....
3a460 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d .........$parentObj->FSubtract.=
3a480 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 44 .false;.........};.........//ADD
3a4a0 20 41 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 35 3a 0a 20 20 20 20 20 20 20 20 24 .A,.L.........//#0x85:.........$
3a4c0 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
3a4e0 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 n.($parentObj).{.............$di
3a500 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2b rtySum.=.$parentObj->registerA.+
3a520 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 .($parentObj->registersHL.&.0xFF
3a540 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 );.............$parentObj->FHalf
3a560 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 Carry.=.($dirtySum.&.0xF).<.($pa
3a580 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 rentObj->registerA.&.0xF);......
3a5a0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 .......$parentObj->FCarry.=.($di
3a5c0 72 74 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 rtySum.>.0xFF);.............$par
3a5e0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 entObj->registerA.=.$dirtySum.&.
3a600 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 0xFF;.............$parentObj->FZ
3a620 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 ero.=.($parentObj->registerA.==.
3a640 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 0);.............$parentObj->FSub
3a660 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 tract.=.false;.........};.......
3a680 20 20 2f 2f 41 44 44 20 41 2c 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 36 3a ..//ADD.A,.(HL).........//#0x86:
3a6a0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
3a6c0 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
3a6e0 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 .......$dirtySum.=.$parentObj->r
3a700 65 67 69 73 74 65 72 41 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 egisterA.+.$parentObj->memoryRea
3a720 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 der[$parentObj->registersHL]($pa
3a740 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c rentObj,.$parentObj->registersHL
3a760 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 );.............$parentObj->FHalf
3a780 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 Carry.=.($dirtySum.&.0xF).<.($pa
3a7a0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 rentObj->registerA.&.0xF);......
3a7c0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 .......$parentObj->FCarry.=.($di
3a7e0 72 74 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 rtySum.>.0xFF);.............$par
3a800 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 entObj->registerA.=.$dirtySum.&.
3a820 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 0xFF;.............$parentObj->FZ
3a840 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 ero.=.($parentObj->registerA.==.
3a860 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 0);.............$parentObj->FSub
3a880 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 tract.=.false;.........};.......
3a8a0 20 20 2f 2f 41 44 44 20 41 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 37 3a 0a 20 20 ..//ADD.A,.A.........//#0x87:...
3a8c0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
3a8e0 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
3a900 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ....$dirtySum.=.$parentObj->regi
3a920 73 74 65 72 41 20 2a 20 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 sterA.*.2;.............$parentOb
3a940 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 j->FHalfCarry.=.($dirtySum.&.0xF
3a960 29 20 3c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 ).<.($parentObj->registerA.&.0xF
3a980 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 );.............$parentObj->FCarr
3a9a0 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 y.=.($dirtySum.>.0xFF);.........
3a9c0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 ....$parentObj->registerA.=.$dir
3a9e0 74 79 53 75 6d 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e tySum.&.0xFF;.............$paren
3aa00 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 tObj->FZero.=.($parentObj->regis
3aa20 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f terA.==.0);.............$parentO
3aa40 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d bj->FSubtract.=.false;.........}
3aa60 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 43 20 41 2c 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 ;.........//ADC.A,.B.........//#
3aa80 30 78 38 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 0x88:.........$this->functionsAr
3aaa0 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
3aac0 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f ............$dirtySum.=.$parentO
3aae0 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 bj->registerA.+.$parentObj->regi
3ab00 73 74 65 72 42 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 sterB.+.(($parentObj->FCarry).?.
3ab20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 1.:.0);.............$parentObj->
3ab40 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 FHalfCarry.=.(($parentObj->regis
3ab60 74 65 72 41 20 26 20 30 78 46 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 terA.&.0xF).+.($parentObj->regis
3ab80 74 65 72 42 20 26 20 30 78 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 terB.&.0xF).+.(($parentObj->FCar
3aba0 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3e 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ry).?.1.:.0).>.0xF);............
3abc0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d .$parentObj->FCarry.=.($dirtySum
3abe0 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a .>.0xFF);.............$parentObj
3ac00 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 3b 0a ->registerA.=.$dirtySum.&.0xFF;.
3ac20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 ............$parentObj->FZero.=.
3ac40 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 ($parentObj->registerA.==.0);...
3ac60 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 ..........$parentObj->FSubtract.
3ac80 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 =.false;.........};.........//AD
3aca0 43 20 41 2c 20 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 39 3a 0a 20 20 20 20 20 20 20 20 C.A,.C.........//#0x89:.........
3acc0 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
3ace0 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 on.($parentObj).{.............$d
3ad00 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 irtySum.=.$parentObj->registerA.
3ad20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 2b 20 28 28 24 70 61 72 +.$parentObj->registerC.+.(($par
3ad40 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 entObj->FCarry).?.1.:.0);.......
3ad60 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 ......$parentObj->FHalfCarry.=.(
3ad80 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2b 20 ($parentObj->registerA.&.0xF).+.
3ada0 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 46 29 20 2b 20 ($parentObj->registerC.&.0xF).+.
3adc0 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3e (($parentObj->FCarry).?.1.:.0).>
3ade0 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 .0xF);.............$parentObj->F
3ae00 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 Carry.=.($dirtySum.>.0xFF);.....
3ae20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 ........$parentObj->registerA.=.
3ae40 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 $dirtySum.&.0xFF;.............$p
3ae60 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 arentObj->FZero.=.($parentObj->r
3ae80 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 egisterA.==.0);.............$par
3aea0 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 entObj->FSubtract.=.false;......
3aec0 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 43 20 41 2c 20 44 0a 20 20 20 20 20 20 20 ...};.........//ADC.A,.D........
3aee0 20 2f 2f 23 30 78 38 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0x8A:.........$this->functio
3af00 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
3af20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 ).{.............$dirtySum.=.$par
3af40 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e entObj->registerA.+.$parentObj->
3af60 72 65 67 69 73 74 65 72 44 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 registerD.+.(($parentObj->FCarry
3af80 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f ).?.1.:.0);.............$parentO
3afa0 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 bj->FHalfCarry.=.(($parentObj->r
3afc0 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 egisterA.&.0xF).+.($parentObj->r
3afe0 65 67 69 73 74 65 72 44 20 26 20 30 78 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e egisterD.&.0xF).+.(($parentObj->
3b000 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3e 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 FCarry).?.1.:.0).>.0xF);........
3b020 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 .....$parentObj->FCarry.=.($dirt
3b040 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ySum.>.0xFF);.............$paren
3b060 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 tObj->registerA.=.$dirtySum.&.0x
3b080 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 FF;.............$parentObj->FZer
3b0a0 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 o.=.($parentObj->registerA.==.0)
3b0c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 ;.............$parentObj->FSubtr
3b0e0 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 act.=.false;.........};.........
3b100 2f 2f 41 44 43 20 41 2c 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 42 3a 0a 20 20 20 20 //ADC.A,.E.........//#0x8B:.....
3b120 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
3b140 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
3b160 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 ..$dirtySum.=.$parentObj->regist
3b180 65 72 41 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 2b 20 28 28 erA.+.$parentObj->registerE.+.((
3b1a0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 $parentObj->FCarry).?.1.:.0);...
3b1c0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 ..........$parentObj->FHalfCarry
3b1e0 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 .=.(($parentObj->registerA.&.0xF
3b200 29 20 2b 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 46 ).+.($parentObj->registerE.&.0xF
3b220 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 ).+.(($parentObj->FCarry).?.1.:.
3b240 30 29 20 3e 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 0).>.0xF);.............$parentOb
3b260 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a j->FCarry.=.($dirtySum.>.0xFF);.
3b280 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ............$parentObj->register
3b2a0 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 A.=.$dirtySum.&.0xFF;...........
3b2c0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 ..$parentObj->FZero.=.($parentOb
3b2e0 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 j->registerA.==.0);.............
3b300 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 $parentObj->FSubtract.=.false;..
3b320 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 43 20 41 2c 20 48 0a 20 20 20 .......};.........//ADC.A,.H....
3b340 20 20 20 20 20 2f 2f 23 30 78 38 43 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0x8C:.........$this->fun
3b360 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
3b380 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 56 61 6c 75 65 20 3d tObj).{.............$tempValue.=
3b3a0 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 29 3b .($parentObj->registersHL.>>.8);
3b3c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 .............$dirtySum.=.$parent
3b3e0 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2b 20 24 74 65 6d 70 56 61 6c 75 65 20 2b 20 28 28 Obj->registerA.+.$tempValue.+.((
3b400 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 $parentObj->FCarry).?.1.:.0);...
3b420 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 ..........$parentObj->FHalfCarry
3b440 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 .=.(($parentObj->registerA.&.0xF
3b460 29 20 2b 20 28 24 74 65 6d 70 56 61 6c 75 65 20 26 20 30 78 46 29 20 2b 20 28 28 24 70 61 72 65 ).+.($tempValue.&.0xF).+.(($pare
3b480 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3e 20 30 78 46 29 3b 0a ntObj->FCarry).?.1.:.0).>.0xF);.
3b4a0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d ............$parentObj->FCarry.=
3b4c0 20 28 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .($dirtySum.>.0xFF);............
3b4e0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 .$parentObj->registerA.=.$dirtyS
3b500 75 6d 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 um.&.0xFF;.............$parentOb
3b520 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 j->FZero.=.($parentObj->register
3b540 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d A.==.0);.............$parentObj-
3b560 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 >FSubtract.=.false;.........};..
3b580 20 20 20 20 20 20 20 2f 2f 41 44 43 20 41 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 .......//ADC.A,.L.........//#0x8
3b5a0 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 D:.........$this->functionsArray
3b5c0 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
3b5e0 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 56 61 6c 75 65 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 .........$tempValue.=.($parentOb
3b600 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 j->registersHL.&.0xFF);.........
3b620 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 ....$dirtySum.=.$parentObj->regi
3b640 73 74 65 72 41 20 2b 20 24 74 65 6d 70 56 61 6c 75 65 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 sterA.+.$tempValue.+.(($parentOb
3b660 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 j->FCarry).?.1.:.0);............
3b680 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 .$parentObj->FHalfCarry.=.(($par
3b6a0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2b 20 28 24 74 65 6d entObj->registerA.&.0xF).+.($tem
3b6c0 70 56 61 6c 75 65 20 26 20 30 78 46 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 pValue.&.0xF).+.(($parentObj->FC
3b6e0 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3e 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 arry).?.1.:.0).>.0xF);..........
3b700 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 ...$parentObj->FCarry.=.($dirtyS
3b720 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f um.>.0xFF);.............$parentO
3b740 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 bj->registerA.=.$dirtySum.&.0xFF
3b760 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 ;.............$parentObj->FZero.
3b780 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a =.($parentObj->registerA.==.0);.
3b7a0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 ............$parentObj->FSubtrac
3b7c0 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f t.=.false;.........};.........//
3b7e0 41 44 43 20 41 2c 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 38 45 3a 0a 20 20 20 ADC.A,.(HL).........//#0x8E:....
3b800 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
3b820 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
3b840 20 20 20 24 74 65 6d 70 56 61 6c 75 65 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f ...$tempValue.=.$parentObj->memo
3b860 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c ryReader[$parentObj->registersHL
3b880 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 ]($parentObj,.$parentObj->regist
3b8a0 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 ersHL);.............$dirtySum.=.
3b8c0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2b 20 24 74 65 6d 70 56 61 6c $parentObj->registerA.+.$tempVal
3b8e0 75 65 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a ue.+.(($parentObj->FCarry).?.1.:
3b900 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 .0);.............$parentObj->FHa
3b920 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 lfCarry.=.(($parentObj->register
3b940 41 20 26 20 30 78 46 29 20 2b 20 28 24 74 65 6d 70 56 61 6c 75 65 20 26 20 30 78 46 29 20 2b 20 A.&.0xF).+.($tempValue.&.0xF).+.
3b960 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3e (($parentObj->FCarry).?.1.:.0).>
3b980 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 .0xF);.............$parentObj->F
3b9a0 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 Carry.=.($dirtySum.>.0xFF);.....
3b9c0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 ........$parentObj->registerA.=.
3b9e0 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 $dirtySum.&.0xFF;.............$p
3ba00 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 arentObj->FZero.=.($parentObj->r
3ba20 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 egisterA.==.0);.............$par
3ba40 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 entObj->FSubtract.=.false;......
3ba60 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 43 20 41 2c 20 41 0a 20 20 20 20 20 20 20 ...};.........//ADC.A,.A........
3ba80 20 2f 2f 23 30 78 38 46 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0x8F:.........$this->functio
3baa0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
3bac0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 28 24 70 61 ).{.............$dirtySum.=.($pa
3bae0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2a 20 32 29 20 2b 20 28 28 24 70 61 72 rentObj->registerA.*.2).+.(($par
3bb00 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 entObj->FCarry).?.1.:.0);.......
3bb20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 ......$parentObj->FHalfCarry.=.(
3bb40 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2b 20 ($parentObj->registerA.&.0xF).+.
3bb60 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2b 20 ($parentObj->registerA.&.0xF).+.
3bb80 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3e (($parentObj->FCarry).?.1.:.0).>
3bba0 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 .0xF);.............$parentObj->F
3bbc0 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 Carry.=.($dirtySum.>.0xFF);.....
3bbe0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 ........$parentObj->registerA.=.
3bc00 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 $dirtySum.&.0xFF;.............$p
3bc20 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 arentObj->FZero.=.($parentObj->r
3bc40 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 egisterA.==.0);.............$par
3bc60 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 entObj->FSubtract.=.false;......
3bc80 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 55 42 20 41 2c 20 42 0a 20 20 20 20 20 20 20 ...};.........//SUB.A,.B........
3bca0 20 2f 2f 23 30 78 39 30 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0x90:.........$this->functio
3bcc0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
3bce0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 ).{.............$dirtySum.=.$par
3bd00 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e entObj->registerA.-.$parentObj->
3bd20 72 65 67 69 73 74 65 72 42 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 registerB;.............$parentOb
3bd40 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 j->FHalfCarry.=.($parentObj->reg
3bd60 69 73 74 65 72 41 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 isterA.&.0xF).<.($parentObj->reg
3bd80 69 73 74 65 72 42 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 isterB.&.0xF);.............$pare
3bda0 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b ntObj->FCarry.=.($dirtySum.<.0);
3bdc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 .............$parentObj->registe
3bde0 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 rA.=.$parentObj->unsbtub($dirtyS
3be00 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 um);.............$parentObj->FZe
3be20 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 ro.=.($parentObj->registerA.==.0
3be40 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 );.............$parentObj->FSubt
3be60 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 ract.=.true;.........};.........
3be80 2f 2f 53 55 42 20 41 2c 20 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 39 31 3a 0a 20 20 20 20 //SUB.A,.C.........//#0x91:.....
3bea0 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
3bec0 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
3bee0 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 ..$dirtySum.=.$parentObj->regist
3bf00 65 72 41 20 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 3b 0a 20 20 20 erA.-.$parentObj->registerC;....
3bf20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 .........$parentObj->FHalfCarry.
3bf40 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 =.($parentObj->registerA.&.0xF).
3bf60 3c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 30 78 46 29 3b <.($parentObj->registerC.&.0xF);
3bf80 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 .............$parentObj->FCarry.
3bfa0 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 =.($dirtySum.<.0);.............$
3bfc0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 parentObj->registerA.=.$parentOb
3bfe0 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 j->unsbtub($dirtySum);..........
3c000 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f ...$parentObj->FZero.=.($parentO
3c020 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 bj->registerA.==.0);............
3c040 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 .$parentObj->FSubtract.=.true;..
3c060 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 55 42 20 41 2c 20 44 0a 20 20 20 .......};.........//SUB.A,.D....
3c080 20 20 20 20 20 2f 2f 23 30 78 39 32 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0x92:.........$this->fun
3c0a0 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
3c0c0 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 tObj).{.............$dirtySum.=.
3c0e0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 70 61 72 65 6e 74 4f $parentObj->registerA.-.$parentO
3c100 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 bj->registerD;.............$pare
3c120 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj->FHalfCarry.=.($parentObj-
3c140 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d >registerA.&.0xF).<.($parentObj-
3c160 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 >registerD.&.0xF);.............$
3c180 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c parentObj->FCarry.=.($dirtySum.<
3c1a0 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 .0);.............$parentObj->reg
3c1c0 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 isterA.=.$parentObj->unsbtub($di
3c1e0 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d rtySum);.............$parentObj-
3c200 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 >FZero.=.($parentObj->registerA.
3c220 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 ==.0);.............$parentObj->F
3c240 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 Subtract.=.true;.........};.....
3c260 20 20 20 20 2f 2f 53 55 42 20 41 2c 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 39 33 3a 0a ....//SUB.A,.E.........//#0x93:.
3c280 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
3c2a0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
3c2c0 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 ......$dirtySum.=.$parentObj->re
3c2e0 67 69 73 74 65 72 41 20 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 3b gisterA.-.$parentObj->registerE;
3c300 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 .............$parentObj->FHalfCa
3c320 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 rry.=.($parentObj->registerA.&.0
3c340 78 46 29 20 3c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 xF).<.($parentObj->registerE.&.0
3c360 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 xF);.............$parentObj->FCa
3c380 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 rry.=.($dirtySum.<.0);..........
3c3a0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 ...$parentObj->registerA.=.$pare
3c3c0 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 ntObj->unsbtub($dirtySum);......
3c3e0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 .......$parentObj->FZero.=.($par
3c400 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 entObj->registerA.==.0);........
3c420 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 .....$parentObj->FSubtract.=.tru
3c440 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 55 42 20 41 2c 20 48 e;.........};.........//SUB.A,.H
3c460 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 39 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .........//#0x94:.........$this-
3c480 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
3c4a0 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 arentObj).{.............$temp_va
3c4c0 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 r.=.$parentObj->registersHL.>>.8
3c4e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e ;.............$dirtySum.=.$paren
3c500 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 74 65 6d 70 5f 76 61 72 3b 0a 20 20 20 tObj->registerA.-.$temp_var;....
3c520 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 .........$parentObj->FHalfCarry.
3c540 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 =.($parentObj->registerA.&.0xF).
3c560 3c 20 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 <.($temp_var.&.0xF);............
3c580 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d .$parentObj->FCarry.=.($dirtySum
3c5a0 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 .<.0);.............$parentObj->r
3c5c0 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 egisterA.=.$parentObj->unsbtub($
3c5e0 64 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 dirtySum);.............$parentOb
3c600 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 j->FZero.=.($parentObj->register
3c620 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d A.==.0);.............$parentObj-
3c640 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 >FSubtract.=.true;.........};...
3c660 20 20 20 20 20 20 2f 2f 53 55 42 20 41 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 39 35 ......//SUB.A,.L.........//#0x95
3c680 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b :.........$this->functionsArray[
3c6a0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
3c6c0 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ........$dirtySum.=.$parentObj->
3c6e0 72 65 67 69 73 74 65 72 41 20 2d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 registerA.-.($parentObj->registe
3c700 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e rsHL.&.0xFF);.............$paren
3c720 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj->FHalfCarry.=.($parentObj->
3c740 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e registerA.&.0xF).<.($parentObj->
3c760 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 registersHL.&.0xF);.............
3c780 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 $parentObj->FCarry.=.($dirtySum.
3c7a0 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 <.0);.............$parentObj->re
3c7c0 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 gisterA.=.$parentObj->unsbtub($d
3c7e0 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a irtySum);.............$parentObj
3c800 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 ->FZero.=.($parentObj->registerA
3c820 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .==.0);.............$parentObj->
3c840 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 FSubtract.=.true;.........};....
3c860 20 20 20 20 20 2f 2f 53 55 42 20 41 2c 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 .....//SUB.A,.(HL).........//#0x
3c880 39 36 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 96:.........$this->functionsArra
3c8a0 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
3c8c0 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a ..........$temp_var.=.$parentObj
3c8e0 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 ->memoryReader[$parentObj->regis
3c900 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tersHL]($parentObj,.$parentObj->
3c920 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 registersHL);.............$dirty
3c940 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 74 Sum.=.$parentObj->registerA.-.$t
3c960 65 6d 70 5f 76 61 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d emp_var;.............$parentObj-
3c980 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 >FHalfCarry.=.($parentObj->regis
3c9a0 74 65 72 41 20 26 20 30 78 46 29 20 3c 20 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 46 29 3b terA.&.0xF).<.($temp_var.&.0xF);
3c9c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 .............$parentObj->FCarry.
3c9e0 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 =.($dirtySum.<.0);.............$
3ca00 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 parentObj->registerA.=.$parentOb
3ca20 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 j->unsbtub($dirtySum);..........
3ca40 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f ...$parentObj->FZero.=.($parentO
3ca60 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 bj->registerA.==.0);............
3ca80 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 .$parentObj->FSubtract.=.true;..
3caa0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 55 42 20 41 2c 20 41 0a 20 20 20 .......};.........//SUB.A,.A....
3cac0 20 20 20 20 20 2f 2f 23 30 78 39 37 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0x97:.........$this->fun
3cae0 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
3cb00 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 6e 75 6d 62 65 72 20 2d 20 73 tObj).{.............//number.-.s
3cb20 61 6d 65 20 6e 75 6d 62 65 72 20 3d 3d 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 ame.number.==.0.............$par
3cb40 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 entObj->registerA.=.0;..........
3cb60 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 ...$parentObj->FHalfCarry.=.$par
3cb80 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 entObj->FCarry.=.false;.........
3cba0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 24 70 61 72 65 6e 74 4f ....$parentObj->FZero.=.$parentO
3cbc0 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b bj->FSubtract.=.true;.........};
3cbe0 0a 20 20 20 20 20 20 20 20 2f 2f 53 42 43 20 41 2c 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 .........//SBC.A,.B.........//#0
3cc00 78 39 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 x98:.........$this->functionsArr
3cc20 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
3cc40 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 ...........$dirtySum.=.$parentOb
3cc60 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 j->registerA.-.$parentObj->regis
3cc80 74 65 72 42 20 2d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 terB.-.(($parentObj->FCarry).?.1
3cca0 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 .:.0);.............$parentObj->F
3ccc0 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 HalfCarry.=.(($parentObj->regist
3cce0 65 72 41 20 26 20 30 78 46 29 20 2d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 erA.&.0xF).-.($parentObj->regist
3cd00 65 72 42 20 26 20 30 78 46 29 20 2d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 erB.&.0xF).-.(($parentObj->FCarr
3cd20 79 29 20 3f 20 31 20 3a 20 30 29 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 y).?.1.:.0).<.0);.............$p
3cd40 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 arentObj->FCarry.=.($dirtySum.<.
3cd60 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 0);.............$parentObj->regi
3cd80 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 sterA.=.$parentObj->unsbtub($dir
3cda0 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tySum);.............$parentObj->
3cdc0 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d FZero.=.($parentObj->registerA.=
3cde0 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 =.0);.............$parentObj->FS
3ce00 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 ubtract.=.true;.........};......
3ce20 20 20 20 2f 2f 53 42 43 20 41 2c 20 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 39 39 3a 0a 20 ...//SBC.A,.C.........//#0x99:..
3ce40 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
3ce60 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
3ce80 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 .....$dirtySum.=.$parentObj->reg
3cea0 69 73 74 65 72 41 20 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 2d isterA.-.$parentObj->registerC.-
3cec0 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b .(($parentObj->FCarry).?.1.:.0);
3cee0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 .............$parentObj->FHalfCa
3cf00 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 rry.=.(($parentObj->registerA.&.
3cf20 30 78 46 29 20 2d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 26 20 0xF).-.($parentObj->registerC.&.
3cf40 30 78 46 29 20 2d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 0xF).-.(($parentObj->FCarry).?.1
3cf60 20 3a 20 30 29 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f .:.0).<.0);.............$parentO
3cf80 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 bj->FCarry.=.($dirtySum.<.0);...
3cfa0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 ..........$parentObj->registerA.
3cfc0 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 =.$parentObj->unsbtub($dirtySum)
3cfe0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 ;.............$parentObj->FZero.
3d000 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a =.($parentObj->registerA.==.0);.
3d020 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 ............$parentObj->FSubtrac
3d040 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 t.=.true;.........};.........//S
3d060 42 43 20 41 2c 20 44 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 39 41 3a 0a 20 20 20 20 20 20 20 BC.A,.D.........//#0x9A:........
3d080 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
3d0a0 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ion.($parentObj).{.............$
3d0c0 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 dirtySum.=.$parentObj->registerA
3d0e0 20 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 2d 20 28 28 24 70 61 .-.$parentObj->registerD.-.(($pa
3d100 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 rentObj->FCarry).?.1.:.0);......
3d120 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 .......$parentObj->FHalfCarry.=.
3d140 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2d (($parentObj->registerA.&.0xF).-
3d160 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 20 26 20 30 78 46 29 20 2d .($parentObj->registerD.&.0xF).-
3d180 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 .(($parentObj->FCarry).?.1.:.0).
3d1a0 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 <.0);.............$parentObj->FC
3d1c0 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 arry.=.($dirtySum.<.0);.........
3d1e0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 ....$parentObj->registerA.=.$par
3d200 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 entObj->unsbtub($dirtySum);.....
3d220 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 ........$parentObj->FZero.=.($pa
3d240 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 rentObj->registerA.==.0);.......
3d260 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 ......$parentObj->FSubtract.=.tr
3d280 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 42 43 20 41 2c 20 ue;.........};.........//SBC.A,.
3d2a0 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 39 42 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 E.........//#0x9B:.........$this
3d2c0 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
3d2e0 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 parentObj).{.............$dirtyS
3d300 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 70 61 um.=.$parentObj->registerA.-.$pa
3d320 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 2d 20 28 28 24 70 61 72 65 6e 74 4f 62 rentObj->registerE.-.(($parentOb
3d340 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 j->FCarry).?.1.:.0);............
3d360 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 .$parentObj->FHalfCarry.=.(($par
3d380 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2d 20 28 24 70 61 72 entObj->registerA.&.0xF).-.($par
3d3a0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 20 26 20 30 78 46 29 20 2d 20 28 28 24 70 61 entObj->registerE.&.0xF).-.(($pa
3d3c0 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3c 20 30 29 3b 0a rentObj->FCarry).?.1.:.0).<.0);.
3d3e0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d ............$parentObj->FCarry.=
3d400 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 .($dirtySum.<.0);.............$p
3d420 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a arentObj->registerA.=.$parentObj
3d440 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 ->unsbtub($dirtySum);...........
3d460 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 ..$parentObj->FZero.=.($parentOb
3d480 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 j->registerA.==.0);.............
3d4a0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 $parentObj->FSubtract.=.true;...
3d4c0 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 42 43 20 41 2c 20 48 0a 20 20 20 20 ......};.........//SBC.A,.H.....
3d4e0 20 20 20 20 2f 2f 23 30 78 39 43 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ....//#0x9C:.........$this->func
3d500 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
3d520 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 Obj).{.............$temp_var.=.$
3d540 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 3b 0a 20 20 20 parentObj->registersHL.>>.8;....
3d560 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d .........$dirtySum.=.$parentObj-
3d580 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 74 65 6d 70 5f 76 61 72 20 2d 20 28 28 24 70 61 72 65 >registerA.-.$temp_var.-.(($pare
3d5a0 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 ntObj->FCarry).?.1.:.0);........
3d5c0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 .....$parentObj->FHalfCarry.=.((
3d5e0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2d 20 28 $parentObj->registerA.&.0xF).-.(
3d600 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 46 29 20 2d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d $temp_var.&.0xF).-.(($parentObj-
3d620 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 >FCarry).?.1.:.0).<.0);.........
3d640 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 ....$parentObj->FCarry.=.($dirty
3d660 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a Sum.<.0);.............$parentObj
3d680 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 ->registerA.=.$parentObj->unsbtu
3d6a0 62 28 24 64 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e b($dirtySum);.............$paren
3d6c0 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 tObj->FZero.=.($parentObj->regis
3d6e0 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f terA.==.0);.............$parentO
3d700 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b bj->FSubtract.=.true;.........};
3d720 0a 20 20 20 20 20 20 20 20 2f 2f 53 42 43 20 41 2c 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 .........//SBC.A,.L.........//#0
3d740 78 39 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 x9D:.........$this->functionsArr
3d760 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
3d780 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 ...........$dirtySum.=.$parentOb
3d7a0 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 j->registerA.-.($parentObj->regi
3d7c0 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 20 2d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e stersHL.&.0xFF).-.(($parentObj->
3d7e0 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 FCarry).?.1.:.0);.............$p
3d800 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 65 6e 74 arentObj->FHalfCarry.=.(($parent
3d820 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2d 20 28 24 70 61 72 65 6e 74 Obj->registerA.&.0xF).-.($parent
3d840 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 29 20 2d 20 28 28 24 70 61 72 Obj->registersHL.&.0xF).-.(($par
3d860 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3c 20 30 29 3b 0a 20 entObj->FCarry).?.1.:.0).<.0);..
3d880 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 ...........$parentObj->FCarry.=.
3d8a0 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ($dirtySum.<.0);.............$pa
3d8c0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d rentObj->registerA.=.$parentObj-
3d8e0 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 >unsbtub($dirtySum);............
3d900 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a .$parentObj->FZero.=.($parentObj
3d920 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ->registerA.==.0);.............$
3d940 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 parentObj->FSubtract.=.true;....
3d960 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 42 43 20 41 2c 20 28 48 4c 29 0a 20 20 .....};.........//SBC.A,.(HL)...
3d980 20 20 20 20 20 20 2f 2f 23 30 78 39 45 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 ......//#0x9E:.........$this->fu
3d9a0 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
3d9c0 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d ntObj).{.............$temp_var.=
3d9e0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e .$parentObj->memoryReader[$paren
3da00 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 tObj->registersHL]($parentObj,.$
3da20 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 parentObj->registersHL);........
3da40 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 .....$dirtySum.=.$parentObj->reg
3da60 69 73 74 65 72 41 20 2d 20 24 74 65 6d 70 5f 76 61 72 20 2d 20 28 28 24 70 61 72 65 6e 74 4f 62 isterA.-.$temp_var.-.(($parentOb
3da80 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 j->FCarry).?.1.:.0);............
3daa0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 72 .$parentObj->FHalfCarry.=.(($par
3dac0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2d 20 28 24 74 65 6d entObj->registerA.&.0xF).-.($tem
3dae0 70 5f 76 61 72 20 26 20 30 78 46 29 20 2d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 p_var.&.0xF).-.(($parentObj->FCa
3db00 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 rry).?.1.:.0).<.0);.............
3db20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 $parentObj->FCarry.=.($dirtySum.
3db40 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 <.0);.............$parentObj->re
3db60 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 gisterA.=.$parentObj->unsbtub($d
3db80 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a irtySum);.............$parentObj
3dba0 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 ->FZero.=.($parentObj->registerA
3dbc0 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .==.0);.............$parentObj->
3dbe0 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 FSubtract.=.true;.........};....
3dc00 20 20 20 20 20 2f 2f 53 42 43 20 41 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 39 46 3a .....//SBC.A,.A.........//#0x9F:
3dc20 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
3dc40 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
3dc60 20 20 20 20 20 20 20 2f 2f 4f 70 74 69 6d 69 7a 65 64 20 53 42 43 20 41 3a 0a 20 20 20 20 20 20 .......//Optimized.SBC.A:.......
3dc80 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 7b 0a ......if.($parentObj->FCarry).{.
3dca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 ................$parentObj->FZer
3dcc0 6f 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 o.=.false;.................$pare
3dce0 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 ntObj->FSubtract.=.$parentObj->F
3dd00 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d HalfCarry.=.$parentObj->FCarry.=
3dd20 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 .true;.................$parentOb
3dd40 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 j->registerA.=.0xFF;............
3dd60 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e .}.else.{.................$paren
3dd80 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 tObj->FHalfCarry.=.$parentObj->F
3dda0 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 Carry.=.false;.................$
3ddc0 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 parentObj->FSubtract.=.$parentOb
3dde0 6a 2d 3e 46 5a 65 72 6f 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 j->FZero.=.true;................
3de00 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 30 3b 0a 20 20 20 20 .$parentObj->registerA.=.0;.....
3de20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 ........}.........};.........//A
3de40 4e 44 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 30 3a 0a 20 20 20 20 20 20 20 20 24 74 ND.B.........//#0xA0:.........$t
3de60 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
3de80 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
3dea0 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->registerA.&=.$parentObj-
3dec0 3e 72 65 67 69 73 74 65 72 42 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f >registerB;.............$parentO
3dee0 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 bj->FZero.=.($parentObj->registe
3df00 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a rA.==.0);.............$parentObj
3df20 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ->FHalfCarry.=.true;............
3df40 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 .$parentObj->FSubtract.=.$parent
3df60 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a Obj->FCarry.=.false;.........};.
3df80 20 20 20 20 20 20 20 20 2f 2f 41 4e 44 20 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 31 3a ........//AND.C.........//#0xA1:
3dfa0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
3dfc0 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
3dfe0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 3d 20 .......$parentObj->registerA.&=.
3e000 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 3b 0a 20 20 20 20 20 20 20 20 20 $parentObj->registerC;..........
3e020 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f ...$parentObj->FZero.=.($parentO
3e040 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 bj->registerA.==.0);............
3e060 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a .$parentObj->FHalfCarry.=.true;.
3e080 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 ............$parentObj->FSubtrac
3e0a0 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a t.=.$parentObj->FCarry.=.false;.
3e0c0 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 4e 44 20 44 0a 20 20 20 20 20 ........};.........//AND.D......
3e0e0 20 20 20 2f 2f 23 30 78 41 32 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0xA2:.........$this->funct
3e100 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
3e120 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj).{.............$parentObj->re
3e140 67 69 73 74 65 72 41 20 26 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 gisterA.&=.$parentObj->registerD
3e160 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 ;.............$parentObj->FZero.
3e180 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a =.($parentObj->registerA.==.0);.
3e1a0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 ............$parentObj->FHalfCar
3e1c0 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 ry.=.true;.............$parentOb
3e1e0 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 j->FSubtract.=.$parentObj->FCarr
3e200 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f y.=.false;.........};.........//
3e220 41 4e 44 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 33 3a 0a 20 20 20 20 20 20 20 20 24 AND.E.........//#0xA3:.........$
3e240 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
3e260 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 n.($parentObj).{.............$pa
3e280 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 3d 20 24 70 61 72 65 6e 74 4f 62 6a rentObj->registerA.&=.$parentObj
3e2a0 2d 3e 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 ->registerE;.............$parent
3e2c0 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 Obj->FZero.=.($parentObj->regist
3e2e0 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 erA.==.0);.............$parentOb
3e300 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 j->FHalfCarry.=.true;...........
3e320 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e ..$parentObj->FSubtract.=.$paren
3e340 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b tObj->FCarry.=.false;.........};
3e360 0a 20 20 20 20 20 20 20 20 2f 2f 41 4e 44 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 34 .........//AND.H.........//#0xA4
3e380 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b :.........$this->functionsArray[
3e3a0 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
3e3c0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 3d ........$parentObj->registerA.&=
3e3e0 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 29 3b .($parentObj->registersHL.>>.8);
3e400 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d .............$parentObj->FZero.=
3e420 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 .($parentObj->registerA.==.0);..
3e440 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 ...........$parentObj->FHalfCarr
3e460 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a y.=.true;.............$parentObj
3e480 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 ->FSubtract.=.$parentObj->FCarry
3e4a0 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 .=.false;.........};.........//A
3e4c0 4e 44 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 35 3a 0a 20 20 20 20 20 20 20 20 24 74 ND.L.........//#0xA5:.........$t
3e4e0 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
3e500 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
3e520 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a entObj->registerA.&=.($parentObj
3e540 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 ->registersHL.&.0xFF);..........
3e560 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f ...$parentObj->FZero.=.($parentO
3e580 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 bj->registerA.==.0);............
3e5a0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a .$parentObj->FHalfCarry.=.true;.
3e5c0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 ............$parentObj->FSubtrac
3e5e0 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a t.=.$parentObj->FCarry.=.false;.
3e600 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 4e 44 20 28 48 4c 29 0a 20 20 ........};.........//AND.(HL)...
3e620 20 20 20 20 20 20 2f 2f 23 30 78 41 36 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 ......//#0xA6:.........$this->fu
3e640 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
3e660 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj).{.............$parentObj-
3e680 3e 72 65 67 69 73 74 65 72 41 20 26 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 >registerA.&=.$parentObj->memory
3e6a0 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 Reader[$parentObj->registersHL](
3e6c0 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 $parentObj,.$parentObj->register
3e6e0 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a sHL);.............$parentObj->FZ
3e700 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 ero.=.($parentObj->registerA.==.
3e720 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 0);.............$parentObj->FHal
3e740 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 fCarry.=.true;.............$pare
3e760 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 ntObj->FSubtract.=.$parentObj->F
3e780 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 Carry.=.false;.........};.......
3e7a0 20 20 2f 2f 41 4e 44 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 37 3a 0a 20 20 20 20 20 ..//AND.A.........//#0xA7:......
3e7c0 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
3e7e0 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
3e800 20 2f 2f 6e 75 6d 62 65 72 20 26 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 3d 20 73 61 6d 65 20 6e .//number.&.same.number.=.same.n
3e820 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a umber.............$parentObj->FZ
3e840 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 ero.=.($parentObj->registerA.==.
3e860 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 0);.............$parentObj->FHal
3e880 66 43 61 72 72 79 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 fCarry.=.true;.............$pare
3e8a0 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 ntObj->FSubtract.=.$parentObj->F
3e8c0 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 Carry.=.false;.........};.......
3e8e0 20 20 2f 2f 58 4f 52 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 38 3a 0a 20 20 20 20 20 ..//XOR.B.........//#0xA8:......
3e900 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
3e920 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
3e940 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 5e 3d 20 24 70 61 72 65 6e .$parentObj->registerA.^=.$paren
3e960 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 tObj->registerB;.............$pa
3e980 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 rentObj->FZero.=.($parentObj->re
3e9a0 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 gisterA.==.0);.............$pare
3e9c0 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 ntObj->FSubtract.=.$parentObj->F
3e9e0 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d HalfCarry.=.$parentObj->FCarry.=
3ea00 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 58 4f 52 .false;.........};.........//XOR
3ea20 20 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 .C.........//#0xA9:.........$thi
3ea40 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
3ea60 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
3ea80 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 5e 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 tObj->registerA.^=.$parentObj->r
3eaa0 65 67 69 73 74 65 72 43 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a egisterC;.............$parentObj
3eac0 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 ->FZero.=.($parentObj->registerA
3eae0 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .==.0);.............$parentObj->
3eb00 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 FSubtract.=.$parentObj->FHalfCar
3eb20 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b ry.=.$parentObj->FCarry.=.false;
3eb40 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 58 4f 52 20 44 0a 20 20 20 20 .........};.........//XOR.D.....
3eb60 20 20 20 20 2f 2f 23 30 78 41 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ....//#0xAA:.........$this->func
3eb80 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
3eba0 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 Obj).{.............$parentObj->r
3ebc0 65 67 69 73 74 65 72 41 20 5e 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 egisterA.^=.$parentObj->register
3ebe0 44 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f D;.............$parentObj->FZero
3ec00 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b .=.($parentObj->registerA.==.0);
3ec20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 .............$parentObj->FSubtra
3ec40 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 ct.=.$parentObj->FHalfCarry.=.$p
3ec60 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 arentObj->FCarry.=.false;.......
3ec80 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 58 4f 52 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 ..};.........//XOR.E.........//#
3eca0 30 78 41 42 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 0xAB:.........$this->functionsAr
3ecc0 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
3ece0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 ............$parentObj->register
3ed00 41 20 5e 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 A.^=.$parentObj->registerE;.....
3ed20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 ........$parentObj->FZero.=.($pa
3ed40 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 rentObj->registerA.==.0);.......
3ed60 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 ......$parentObj->FSubtract.=.$p
3ed80 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 arentObj->FHalfCarry.=.$parentOb
3eda0 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 j->FCarry.=.false;.........};...
3edc0 20 20 20 20 20 20 2f 2f 58 4f 52 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 43 3a 0a 20 ......//XOR.H.........//#0xAC:..
3ede0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
3ee00 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
3ee20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 5e 3d 20 28 24 .....$parentObj->registerA.^=.($
3ee40 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 29 3b 0a 20 20 parentObj->registersHL.>>.8);...
3ee60 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 ..........$parentObj->FZero.=.($
3ee80 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 parentObj->registerA.==.0);.....
3eea0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 ........$parentObj->FSubtract.=.
3eec0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 $parentObj->FHalfCarry.=.$parent
3eee0 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a Obj->FCarry.=.false;.........};.
3ef00 20 20 20 20 20 20 20 20 2f 2f 58 4f 52 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 44 3a ........//XOR.L.........//#0xAD:
3ef20 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
3ef40 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
3ef60 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 5e 3d 20 .......$parentObj->registerA.^=.
3ef80 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 ($parentObj->registersHL.&.0xFF)
3efa0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 ;.............$parentObj->FZero.
3efc0 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a =.($parentObj->registerA.==.0);.
3efe0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 ............$parentObj->FSubtrac
3f000 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 t.=.$parentObj->FHalfCarry.=.$pa
3f020 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 rentObj->FCarry.=.false;........
3f040 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 58 4f 52 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f .};.........//XOR.(HL)........./
3f060 2f 23 30 78 41 45 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 /#0xAE:.........$this->functions
3f080 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 Array[].=.function.($parentObj).
3f0a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 {.............$parentObj->regist
3f0c0 65 72 41 20 5e 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b erA.^=.$parentObj->memoryReader[
3f0e0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 $parentObj->registersHL]($parent
3f100 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 Obj,.$parentObj->registersHL);..
3f120 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 ...........$parentObj->FZero.=.(
3f140 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 $parentObj->registerA.==.0);....
3f160 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d .........$parentObj->FSubtract.=
3f180 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e .$parentObj->FHalfCarry.=.$paren
3f1a0 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b tObj->FCarry.=.false;.........};
3f1c0 0a 20 20 20 20 20 20 20 20 2f 2f 58 4f 52 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 41 46 .........//XOR.A.........//#0xAF
3f1e0 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b :.........$this->functionsArray[
3f200 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
3f220 20 20 20 20 20 20 20 20 2f 2f 6e 75 6d 62 65 72 20 5e 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 3d ........//number.^.same.number.=
3f240 3d 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 =.0.............$parentObj->regi
3f260 73 74 65 72 41 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 sterA.=.0;.............$parentOb
3f280 6a 2d 3e 46 5a 65 72 6f 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 j->FZero.=.true;.............$pa
3f2a0 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d rentObj->FSubtract.=.$parentObj-
3f2c0 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 >FHalfCarry.=.$parentObj->FCarry
3f2e0 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4f .=.false;.........};.........//O
3f300 52 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 42 30 3a 0a 20 20 20 20 20 20 20 20 24 74 68 R.B.........//#0xB0:.........$th
3f320 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
3f340 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
3f360 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ntObj->registerA.|=.$parentObj->
3f380 72 65 67 69 73 74 65 72 42 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 registerB;.............$parentOb
3f3a0 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 j->FZero.=.($parentObj->register
3f3c0 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d A.==.0);.............$parentObj-
3f3e0 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 >FSubtract.=.$parentObj->FCarry.
3f400 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 66 61 6c 73 65 =.$parentObj->FHalfCarry.=.false
3f420 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4f 52 20 43 0a 20 20 20 20 ;.........};.........//OR.C.....
3f440 20 20 20 20 2f 2f 23 30 78 42 31 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ....//#0xB1:.........$this->func
3f460 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
3f480 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 Obj).{.............$parentObj->r
3f4a0 65 67 69 73 74 65 72 41 20 7c 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 egisterA.|=.$parentObj->register
3f4c0 43 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f C;.............$parentObj->FZero
3f4e0 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b .=.($parentObj->registerA.==.0);
3f500 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 .............$parentObj->FSubtra
3f520 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e ct.=.$parentObj->FCarry.=.$paren
3f540 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 tObj->FHalfCarry.=.false;.......
3f560 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4f 52 20 44 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 ..};.........//OR.D.........//#0
3f580 78 42 32 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 xB2:.........$this->functionsArr
3f5a0 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 ay[].=.function.($parentObj).{..
3f5c0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 ...........$parentObj->registerA
3f5e0 20 7c 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 3b 0a 20 20 20 20 20 .|=.$parentObj->registerD;......
3f600 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 .......$parentObj->FZero.=.($par
3f620 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 entObj->registerA.==.0);........
3f640 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 .....$parentObj->FSubtract.=.$pa
3f660 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 rentObj->FCarry.=.$parentObj->FH
3f680 61 6c 66 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 alfCarry.=.false;.........};....
3f6a0 20 20 20 20 20 2f 2f 4f 52 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 42 33 3a 0a 20 20 20 .....//OR.E.........//#0xB3:....
3f6c0 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
3f6e0 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
3f700 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d 20 24 70 61 72 ...$parentObj->registerA.|=.$par
3f720 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 entObj->registerE;.............$
3f740 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e parentObj->FZero.=.($parentObj->
3f760 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 registerA.==.0);.............$pa
3f780 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d rentObj->FSubtract.=.$parentObj-
3f7a0 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 >FCarry.=.$parentObj->FHalfCarry
3f7c0 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4f .=.false;.........};.........//O
3f7e0 52 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 42 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 R.H.........//#0xB4:.........$th
3f800 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
3f820 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
3f840 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj->registerA.|=.($parentObj-
3f860 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >registersHL.>>.8);.............
3f880 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d $parentObj->FZero.=.($parentObj-
3f8a0 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 >registerA.==.0);.............$p
3f8c0 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a arentObj->FSubtract.=.$parentObj
3f8e0 2d 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 ->FCarry.=.$parentObj->FHalfCarr
3f900 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f y.=.false;.........};.........//
3f920 4f 52 20 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 42 35 3a 0a 20 20 20 20 20 20 20 20 24 74 OR.L.........//#0xB5:.........$t
3f940 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
3f960 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
3f980 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a entObj->registerA.|=.($parentObj
3f9a0 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 ->registersHL.&.0xFF);..........
3f9c0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f ...$parentObj->FZero.=.($parentO
3f9e0 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 bj->registerA.==.0);............
3fa00 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 .$parentObj->FSubtract.=.$parent
3fa20 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 Obj->FCarry.=.$parentObj->FHalfC
3fa40 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 arry.=.false;.........};........
3fa60 20 2f 2f 4f 52 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 42 36 3a 0a 20 20 20 20 .//OR.(HL).........//#0xB6:.....
3fa80 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
3faa0 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
3fac0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 7c 3d 20 24 70 61 72 65 ..$parentObj->registerA.|=.$pare
3fae0 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ntObj->memoryReader[$parentObj->
3fb00 72 65 67 69 73 74 65 72 73 48 4c 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 registersHL]($parentObj,.$parent
3fb20 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 Obj->registersHL);.............$
3fb40 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e parentObj->FZero.=.($parentObj->
3fb60 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 registerA.==.0);.............$pa
3fb80 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d rentObj->FSubtract.=.$parentObj-
3fba0 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 >FCarry.=.$parentObj->FHalfCarry
3fbc0 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4f .=.false;.........};.........//O
3fbe0 52 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 42 37 3a 0a 20 20 20 20 20 20 20 20 24 74 68 R.A.........//#0xB7:.........$th
3fc00 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
3fc20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 6e 75 6d ($parentObj).{.............//num
3fc40 62 65 72 20 7c 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 3d 3d 20 73 61 6d 65 20 6e 75 6d 62 65 72 ber.|.same.number.==.same.number
3fc60 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d .............$parentObj->FZero.=
3fc80 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 .($parentObj->registerA.==.0);..
3fca0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 ...........$parentObj->FSubtract
3fcc0 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f .=.$parentObj->FCarry.=.$parentO
3fce0 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 bj->FHalfCarry.=.false;.........
3fd00 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 43 50 20 42 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 42 };.........//CP.B.........//#0xB
3fd20 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 8:.........$this->functionsArray
3fd40 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
3fd60 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d .........$dirtySum.=.$parentObj-
3fd80 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 >registerA.-.$parentObj->registe
3fda0 72 42 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c rB;.............$parentObj->FHal
3fdc0 66 43 61 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 fCarry.=.($parentObj->unsbtub($d
3fde0 69 72 74 79 53 75 6d 29 20 26 20 30 78 46 29 20 3e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 irtySum).&.0xF).>.($parentObj->r
3fe00 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 egisterA.&.0xF);.............$pa
3fe20 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 rentObj->FCarry.=.($dirtySum.<.0
3fe40 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f );.............$parentObj->FZero
3fe60 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .=.($dirtySum.==.0);............
3fe80 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 .$parentObj->FSubtract.=.true;..
3fea0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 43 50 20 43 0a 20 20 20 20 20 20 20 .......};.........//CP.C........
3fec0 20 2f 2f 23 30 78 42 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0xB9:.........$this->functio
3fee0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
3ff00 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 ).{.............$dirtySum.=.$par
3ff20 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e entObj->registerA.-.$parentObj->
3ff40 72 65 67 69 73 74 65 72 43 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 registerC;.............$parentOb
3ff60 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 j->FHalfCarry.=.($parentObj->uns
3ff80 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 20 26 20 30 78 46 29 20 3e 20 28 24 70 61 72 65 6e btub($dirtySum).&.0xF).>.($paren
3ffa0 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 tObj->registerA.&.0xF);.........
3ffc0 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 ....$parentObj->FCarry.=.($dirty
3ffe0 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a Sum.<.0);.............$parentObj
40000 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3d 3d 20 30 29 3b 0a 20 20 20 20 ->FZero.=.($dirtySum.==.0);.....
40020 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 ........$parentObj->FSubtract.=.
40040 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 43 50 20 44 0a true;.........};.........//CP.D.
40060 20 20 20 20 20 20 20 20 2f 2f 23 30 78 42 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ........//#0xBA:.........$this->
40080 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
400a0 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d rentObj).{.............$dirtySum
400c0 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 70 61 72 65 .=.$parentObj->registerA.-.$pare
400e0 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 ntObj->registerD;.............$p
40100 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f arentObj->FHalfCarry.=.($parentO
40120 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 20 26 20 30 78 46 29 20 3e 20 bj->unsbtub($dirtySum).&.0xF).>.
40140 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 ($parentObj->registerA.&.0xF);..
40160 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 ...........$parentObj->FCarry.=.
40180 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ($dirtySum.<.0);.............$pa
401a0 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3d 3d 20 30 rentObj->FZero.=.($dirtySum.==.0
401c0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 );.............$parentObj->FSubt
401e0 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 ract.=.true;.........};.........
40200 2f 2f 43 50 20 45 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 42 42 3a 0a 20 20 20 20 20 20 20 20 //CP.E.........//#0xBB:.........
40220 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
40240 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 on.($parentObj).{.............$d
40260 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 irtySum.=.$parentObj->registerA.
40280 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 45 3b 0a 20 20 20 20 20 20 20 -.$parentObj->registerE;........
402a0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 24 .....$parentObj->FHalfCarry.=.($
402c0 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 20 26 20 parentObj->unsbtub($dirtySum).&.
402e0 30 78 46 29 20 3e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 0xF).>.($parentObj->registerA.&.
40300 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 0xF);.............$parentObj->FC
40320 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 arry.=.($dirtySum.<.0);.........
40340 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 64 69 72 74 79 53 ....$parentObj->FZero.=.($dirtyS
40360 75 6d 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a um.==.0);.............$parentObj
40380 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 ->FSubtract.=.true;.........};..
403a0 20 20 20 20 20 20 20 2f 2f 43 50 20 48 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 42 43 3a 0a 20 .......//CP.H.........//#0xBC:..
403c0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
403e0 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
40400 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 .....$dirtySum.=.$parentObj->reg
40420 69 73 74 65 72 41 20 2d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 isterA.-.($parentObj->registersH
40440 4c 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d L.>>.8);.............$parentObj-
40460 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 >FHalfCarry.=.($parentObj->unsbt
40480 75 62 28 24 64 69 72 74 79 53 75 6d 29 20 26 20 30 78 46 29 20 3e 20 28 24 70 61 72 65 6e 74 4f ub($dirtySum).&.0xF).>.($parentO
404a0 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 bj->registerA.&.0xF);...........
404c0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 ..$parentObj->FCarry.=.($dirtySu
404e0 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e m.<.0);.............$parentObj->
40500 46 5a 65 72 6f 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 FZero.=.($dirtySum.==.0);.......
40520 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 ......$parentObj->FSubtract.=.tr
40540 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 43 50 20 4c 0a 20 20 ue;.........};.........//CP.L...
40560 20 20 20 20 20 20 2f 2f 23 30 78 42 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 ......//#0xBD:.........$this->fu
40580 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
405a0 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d ntObj).{.............$dirtySum.=
405c0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 28 24 70 61 72 65 6e .$parentObj->registerA.-.($paren
405e0 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 tObj->registersHL.&.0xFF);......
40600 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 .......$parentObj->FHalfCarry.=.
40620 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 75 6d 29 20 ($parentObj->unsbtub($dirtySum).
40640 26 20 30 78 46 29 20 3e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 &.0xF).>.($parentObj->registerA.
40660 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e &.0xF);.............$parentObj->
40680 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 FCarry.=.($dirtySum.<.0);.......
406a0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 64 69 72 74 ......$parentObj->FZero.=.($dirt
406c0 79 53 75 6d 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f ySum.==.0);.............$parentO
406e0 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b bj->FSubtract.=.true;.........};
40700 0a 20 20 20 20 20 20 20 20 2f 2f 43 50 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 .........//CP.(HL).........//#0x
40720 42 45 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 BE:.........$this->functionsArra
40740 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
40760 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a ..........$dirtySum.=.$parentObj
40780 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 ->registerA.-.$parentObj->memory
407a0 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 5d 28 Reader[$parentObj->registersHL](
407c0 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 $parentObj,.$parentObj->register
407e0 73 48 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 sHL);.............$parentObj->FH
40800 61 6c 66 43 61 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 alfCarry.=.($parentObj->unsbtub(
40820 24 64 69 72 74 79 53 75 6d 29 20 26 20 30 78 46 29 20 3e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d $dirtySum).&.0xF).>.($parentObj-
40840 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 >registerA.&.0xF);.............$
40860 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c parentObj->FCarry.=.($dirtySum.<
40880 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 .0);.............$parentObj->FZe
408a0 72 6f 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 ro.=.($dirtySum.==.0);..........
408c0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 72 75 65 3b ...$parentObj->FSubtract.=.true;
408e0 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 43 50 20 41 0a 20 20 20 20 20 .........};.........//CP.A......
40900 20 20 20 2f 2f 23 30 78 42 46 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0xBF:.........$this->funct
40920 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
40940 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 bj).{.............$parentObj->FH
40960 61 6c 66 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 alfCarry.=.$parentObj->FCarry.=.
40980 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 false;.............$parentObj->F
409a0 5a 65 72 6f 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 74 Zero.=.$parentObj->FSubtract.=.t
409c0 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 52 45 54 20 21 46 rue;.........};.........//RET.!F
409e0 5a 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 30 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 Z.........//#0xC0:.........$this
40a00 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
40a20 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 parentObj).{.............if.(!$p
40a40 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 arentObj->FZero).{..............
40a60 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 ...$parentObj->programCounter.=.
40a80 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 ($parentObj->memoryRead(($parent
40aa0 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 Obj->stackPointer.+.1).&.0xFFFF)
40ac0 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 .<<.8).+.$parentObj->memoryReade
40ae0 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 5d 28 24 70 61 72 r[$parentObj->stackPointer]($par
40b00 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 entObj,.$parentObj->stackPointer
40b20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 );.................$parentObj->s
40b40 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b tackPointer.=.($parentObj->stack
40b60 50 6f 69 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 Pointer.+.2).&.0xFFFF;..........
40b80 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 20 2b 3d 20 33 .......$parentObj->CPUTicks.+=.3
40ba0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 ;.............}.........};......
40bc0 20 20 20 2f 2f 50 4f 50 20 42 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 31 3a 0a 20 20 20 ...//POP.BC.........//#0xC1:....
40be0 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
40c00 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
40c20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 20 3d 20 24 70 61 72 65 ...$parentObj->registerC.=.$pare
40c40 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ntObj->memoryReader[$parentObj->
40c60 73 74 61 63 6b 50 6f 69 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e stackPointer]($parentObj,.$paren
40c80 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 tObj->stackPointer);............
40ca0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 20 3d 20 24 70 61 72 65 6e 74 .$parentObj->registerB.=.$parent
40cc0 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 Obj->memoryRead(($parentObj->sta
40ce0 63 6b 50 6f 69 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 ckPointer.+.1).&.0xFFFF);.......
40d00 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d ......$parentObj->stackPointer.=
40d20 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 32 29 20 .($parentObj->stackPointer.+.2).
40d40 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4a &.0xFFFF;.........};.........//J
40d60 50 20 21 46 5a 2c 20 6e 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 32 3a 0a 20 20 20 20 20 P.!FZ,.nn.........//#0xC2:......
40d80 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
40da0 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
40dc0 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 29 20 7b 0a 20 20 20 20 20 .if.(!$parentObj->FZero).{......
40de0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f ...........$parentObj->programCo
40e00 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 unter.=.($parentObj->memoryRead(
40e20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 ($parentObj->programCounter.+.1)
40e40 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d .&.0xFFFF).<<.8).+.$parentObj->m
40e60 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 emoryReader[$parentObj->programC
40e80 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ounter]($parentObj,.$parentObj->
40ea0 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 programCounter);................
40ec0 20 2b 2b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 3b 0a 20 20 20 20 20 20 20 .++$parentObj->CPUTicks;........
40ee0 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 .....}.else.{.................$p
40f00 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 arentObj->programCounter.=.($par
40f20 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 entObj->programCounter.+.2).&.0x
40f40 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 FFFF;.............}.........};..
40f60 20 20 20 20 20 20 20 2f 2f 4a 50 20 6e 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 33 3a 0a .......//JP.nn.........//#0xC3:.
40f80 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 ........$this->functionsArray[].
40fa0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 =.function.($parentObj).{.......
40fc0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 ......$parentObj->programCounter
40fe0 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 .=.($parentObj->memoryRead(($par
41000 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 entObj->programCounter.+.1).&.0x
41020 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 FFFF).<<.8).+.$parentObj->memory
41040 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 Reader[$parentObj->programCounte
41060 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 r]($parentObj,.$parentObj->progr
41080 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f amCounter);.........};........./
410a0 2f 43 41 4c 4c 20 21 46 5a 2c 20 6e 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 34 3a 0a 20 /CALL.!FZ,.nn.........//#0xC4:..
410c0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
410e0 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
41100 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 29 20 7b 0a 20 .....if.(!$parentObj->FZero).{..
41120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 70 63 20 3d 20 28 24 70 61 72 65 ...............$temp_pc.=.($pare
41140 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 ntObj->memoryRead(($parentObj->p
41160 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 rogramCounter.+.1).&.0xFFFF).<<.
41180 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 8).+.$parentObj->memoryReader[$p
411a0 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e arentObj->programCounter]($paren
411c0 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 tObj,.$parentObj->programCounter
411e0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 );.................$parentObj->p
41200 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f rogramCounter.=.($parentObj->pro
41220 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 gramCounter.+.2).&.0xFFFF;......
41240 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e ...........$parentObj->stackPoin
41260 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e ter.=.$parentObj->unswtuw($paren
41280 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 tObj->stackPointer.-.1);........
412a0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 .........$parentObj->memoryWrite
412c0 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 ($parentObj->stackPointer,.$pare
412e0 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 ntObj->programCounter.>>.8);....
41300 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f .............$parentObj->stackPo
41320 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 inter.=.$parentObj->unswtuw($par
41340 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 entObj->stackPointer.-.1);......
41360 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 ...........$parentObj->memoryWri
41380 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 te($parentObj->stackPointer,.$pa
413a0 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 26 20 30 78 46 46 29 3b rentObj->programCounter.&.0xFF);
413c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f .................$parentObj->pro
413e0 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 24 74 65 6d 70 5f 70 63 3b 0a 20 20 20 20 20 20 20 20 gramCounter.=.$temp_pc;.........
41400 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 20 2b 3d 20 ........$parentObj->CPUTicks.+=.
41420 33 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 3;.............}.else.{.........
41440 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 ........$parentObj->programCount
41460 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 er.=.($parentObj->programCounter
41480 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 .+.2).&.0xFFFF;.............}...
414a0 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 50 55 53 48 20 42 43 0a 20 20 20 20 20 ......};.........//PUSH.BC......
414c0 20 20 20 2f 2f 23 30 78 43 35 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0xC5:.........$this->funct
414e0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
41500 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 bj).{.............$parentObj->st
41520 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 ackPointer.=.$parentObj->unswtuw
41540 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a ($parentObj->stackPointer.-.1);.
41560 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 ............$parentObj->memoryWr
41580 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 ite($parentObj->stackPointer,.$p
415a0 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 42 29 3b 0a 20 20 20 20 20 20 20 20 20 20 arentObj->registerB);...........
415c0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 ..$parentObj->stackPointer.=.$pa
415e0 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 rentObj->unswtuw($parentObj->sta
41600 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 ckPointer.-.1);.............$par
41620 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e entObj->memoryWrite($parentObj->
41640 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 stackPointer,.$parentObj->regist
41660 65 72 43 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 44 2c 20 erC);.........};.........//ADD,.
41680 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 36 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 n.........//#0xC6:.........$this
416a0 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
416c0 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 parentObj).{.............$dirtyS
416e0 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2b 20 24 70 61 um.=.$parentObj->registerA.+.$pa
41700 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a rentObj->memoryReader[$parentObj
41720 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 ->programCounter]($parentObj,.$p
41740 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 arentObj->programCounter);......
41760 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 .......$parentObj->FHalfCarry.=.
41780 28 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 29 20 3c 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d ($dirtySum.&.0xF).<.($parentObj-
417a0 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 >registerA.&.0xF);.............$
417c0 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3e parentObj->FCarry.=.($dirtySum.>
417e0 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .0xFF);.............$parentObj->
41800 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 75 6d 20 26 20 30 78 46 46 3b 0a 20 20 registerA.=.$dirtySum.&.0xFF;...
41820 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 ..........$parentObj->FZero.=.($
41840 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 parentObj->registerA.==.0);.....
41860 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 ........$parentObj->FSubtract.=.
41880 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 false;.............$parentObj->p
418a0 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f rogramCounter.=.($parentObj->pro
418c0 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 gramCounter.+.1).&.0xFFFF;......
418e0 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 52 53 54 20 30 0a 20 20 20 20 20 20 20 20 2f 2f ...};.........//RST.0.........//
41900 23 30 78 43 37 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 #0xC7:.........$this->functionsA
41920 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
41940 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f .............$parentObj->stackPo
41960 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 inter.=.$parentObj->unswtuw($par
41980 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 entObj->stackPointer.-.1);......
419a0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 .......$parentObj->memoryWrite($
419c0 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 parentObj->stackPointer,.$parent
419e0 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 Obj->programCounter.>>.8);......
41a00 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 .......$parentObj->stackPointer.
41a20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a =.$parentObj->unswtuw($parentObj
41a40 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ->stackPointer.-.1);............
41a60 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 .$parentObj->memoryWrite($parent
41a80 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 Obj->stackPointer,.$parentObj->p
41aa0 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 rogramCounter.&.0xFF);..........
41ac0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 ...$parentObj->programCounter.=.
41ae0 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 52 45 54 20 46 5a 0a 20 0;.........};.........//RET.FZ..
41b00 20 20 20 20 20 20 20 2f 2f 23 30 78 43 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .......//#0xC8:.........$this->f
41b20 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
41b40 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e entObj).{.............if.($paren
41b60 74 4f 62 6a 2d 3e 46 5a 65 72 6f 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 tObj->FZero).{.................$
41b80 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 parentObj->programCounter.=.($pa
41ba0 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d rentObj->memoryRead(($parentObj-
41bc0 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 >stackPointer.+.1).&.0xFFFF).<<.
41be0 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 8).+.$parentObj->memoryReader[$p
41c00 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f arentObj->stackPointer]($parentO
41c20 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 29 3b 0a 20 bj,.$parentObj->stackPointer);..
41c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b ...............$parentObj->stack
41c60 50 6f 69 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e Pointer.=.($parentObj->stackPoin
41c80 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ter.+.2).&.0xFFFF;..............
41ca0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 20 2b 3d 20 33 3b 0a 20 20 ...$parentObj->CPUTicks.+=.3;...
41cc0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f ..........}.........};........./
41ce0 2f 52 45 54 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 39 3a 0a 20 20 20 20 20 20 20 20 24 74 /RET.........//#0xC9:.........$t
41d00 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
41d20 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
41d40 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e entObj->programCounter.=.($paren
41d60 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 tObj->memoryRead(($parentObj->st
41d80 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 ackPointer.+.1).&.0xFFFF).<<.8).
41da0 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 +.$parentObj->memoryReader[$pare
41dc0 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c ntObj->stackPointer]($parentObj,
41de0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 29 3b 0a 20 20 20 20 .$parentObj->stackPointer);.....
41e00 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 ........$parentObj->stackPointer
41e20 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 32 .=.($parentObj->stackPointer.+.2
41e40 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f ).&.0xFFFF;.........};........./
41e60 2f 4a 50 20 46 5a 2c 20 6e 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 41 3a 0a 20 20 20 20 /JP.FZ,.nn.........//#0xCA:.....
41e80 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
41ea0 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
41ec0 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 29 20 7b 0a 20 20 20 20 20 ..if.($parentObj->FZero).{......
41ee0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f ...........$parentObj->programCo
41f00 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 unter.=.($parentObj->memoryRead(
41f20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 ($parentObj->programCounter.+.1)
41f40 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d .&.0xFFFF).<<.8).+.$parentObj->m
41f60 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 emoryReader[$parentObj->programC
41f80 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ounter]($parentObj,.$parentObj->
41fa0 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 programCounter);................
41fc0 20 2b 2b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 3b 0a 20 20 20 20 20 20 20 .++$parentObj->CPUTicks;........
41fe0 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 .....}.else.{.................$p
42000 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 arentObj->programCounter.=.($par
42020 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 entObj->programCounter.+.2).&.0x
42040 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 FFFF;.............}.........};..
42060 20 20 20 20 20 20 20 2f 2f 53 65 63 6f 6e 64 61 72 79 20 4f 50 20 43 6f 64 65 20 53 65 74 3a 0a .......//Secondary.OP.Code.Set:.
42080 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 42 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ........//#0xCB:.........$this->
420a0 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
420c0 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 63 6f 64 65 20 3d rentObj).{.............$opcode.=
420e0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e .$parentObj->memoryReader[$paren
42100 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a tObj->programCounter]($parentObj
42120 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 ,.$parentObj->programCounter);..
42140 20 20 20 20 20 20 20 20 20 20 20 2f 2f 49 6e 63 72 65 6d 65 6e 74 20 74 68 65 20 70 72 6f 67 72 ...........//Increment.the.progr
42160 61 6d 20 63 6f 75 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 78 74 20 69 6e 73 74 72 75 63 74 69 am.counter.to.the.next.instructi
42180 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 on:.............$parentObj->prog
421a0 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 ramCounter.=.($parentObj->progra
421c0 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 mCounter.+.1).&.0xFFFF;.........
421e0 20 20 20 20 2f 2f 47 65 74 20 68 6f 77 20 6d 61 6e 79 20 43 50 55 20 63 79 63 6c 65 73 20 74 68 ....//Get.how.many.CPU.cycles.th
42200 65 20 63 75 72 72 65 6e 74 20 30 78 43 42 58 58 20 6f 70 20 63 6f 64 65 20 63 6f 75 6e 74 73 20 e.current.0xCBXX.op.code.counts.
42220 66 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 for:.............$parentObj->CPU
42240 54 69 63 6b 73 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 53 65 63 6f 6e 64 61 72 79 54 49 43 Ticks.=.$parentObj->SecondaryTIC
42260 4b 54 61 62 6c 65 5b 24 6f 70 63 6f 64 65 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 45 KTable[$opcode];.............//E
42280 78 65 63 75 74 65 20 73 65 63 6f 6e 64 61 72 79 20 4f 50 20 63 6f 64 65 73 20 66 6f 72 20 74 68 xecute.secondary.OP.codes.for.th
422a0 65 20 30 78 43 42 20 4f 50 20 63 6f 64 65 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 e.0xCB.OP.code.call.............
422c0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 42 4f 50 43 4f 44 45 5b 24 6f 70 63 6f 64 65 5d 28 24 .$parentObj->CBOPCODE[$opcode]($
422e0 70 61 72 65 6e 74 4f 62 6a 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f parentObj);.........};........./
42300 2f 43 41 4c 4c 20 46 5a 2c 20 6e 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 43 3a 0a 20 20 /CALL.FZ,.nn.........//#0xCC:...
42320 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 ......$this->functionsArray[].=.
42340 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 function.($parentObj).{.........
42360 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 29 20 7b 0a 20 20 20 ....if.($parentObj->FZero).{....
42380 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 70 63 20 3d 20 28 24 70 61 72 65 6e 74 .............$temp_pc.=.($parent
423a0 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f Obj->memoryRead(($parentObj->pro
423c0 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 gramCounter.+.1).&.0xFFFF).<<.8)
423e0 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 .+.$parentObj->memoryReader[$par
42400 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f entObj->programCounter]($parentO
42420 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b bj,.$parentObj->programCounter);
42440 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f .................$parentObj->pro
42460 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 gramCounter.=.($parentObj->progr
42480 61 6d 43 6f 75 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 amCounter.+.2).&.0xFFFF;........
424a0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 .........$parentObj->stackPointe
424c0 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f r.=.$parentObj->unswtuw($parentO
424e0 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 bj->stackPointer.-.1);..........
42500 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 .......$parentObj->memoryWrite($
42520 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 parentObj->stackPointer,.$parent
42540 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 Obj->programCounter.>>.8);......
42560 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e ...........$parentObj->stackPoin
42580 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e ter.=.$parentObj->unswtuw($paren
425a0 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 tObj->stackPointer.-.1);........
425c0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 .........$parentObj->memoryWrite
425e0 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 ($parentObj->stackPointer,.$pare
42600 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 26 20 30 78 46 46 29 3b 0a 20 ntObj->programCounter.&.0xFF);..
42620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 ...............$parentObj->progr
42640 61 6d 43 6f 75 6e 74 65 72 20 3d 20 24 74 65 6d 70 5f 70 63 3b 0a 20 20 20 20 20 20 20 20 20 20 amCounter.=.$temp_pc;...........
42660 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 20 2b 3d 20 33 3b ......$parentObj->CPUTicks.+=.3;
42680 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .............}.else.{...........
426a0 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 ......$parentObj->programCounter
426c0 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b .=.($parentObj->programCounter.+
426e0 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .2).&.0xFFFF;.............}.....
42700 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 43 41 4c 4c 20 6e 6e 0a 20 20 20 20 20 20 20 ....};.........//CALL.nn........
42720 20 2f 2f 23 30 78 43 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0xCD:.........$this->functio
42740 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
42760 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 70 63 20 3d 20 28 24 70 61 72 ).{.............$temp_pc.=.($par
42780 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e entObj->memoryRead(($parentObj->
427a0 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c programCounter.+.1).&.0xFFFF).<<
427c0 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 .8).+.$parentObj->memoryReader[$
427e0 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 parentObj->programCounter]($pare
42800 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 ntObj,.$parentObj->programCounte
42820 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 r);.............$parentObj->prog
42840 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 ramCounter.=.($parentObj->progra
42860 6d 43 6f 75 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 mCounter.+.2).&.0xFFFF;.........
42880 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 ....$parentObj->stackPointer.=.$
428a0 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 parentObj->unswtuw($parentObj->s
428c0 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 tackPointer.-.1);.............$p
428e0 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a arentObj->memoryWrite($parentObj
42900 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 ->stackPointer,.$parentObj->prog
42920 72 61 6d 43 6f 75 6e 74 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 ramCounter.>>.8);.............$p
42940 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 arentObj->stackPointer.=.$parent
42960 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f Obj->unswtuw($parentObj->stackPo
42980 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f inter.-.1);.............$parentO
429a0 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 bj->memoryWrite($parentObj->stac
429c0 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 kPointer,.$parentObj->programCou
429e0 6e 74 65 72 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e nter.&.0xFF);.............$paren
42a00 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 24 74 65 6d 70 5f 70 63 3b tObj->programCounter.=.$temp_pc;
42a20 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 43 20 41 2c 20 6e 0a 20 .........};.........//ADC.A,.n..
42a40 20 20 20 20 20 20 20 2f 2f 23 30 78 43 45 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .......//#0xCE:.........$this->f
42a60 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
42a80 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 56 61 6c 75 65 entObj).{.............$tempValue
42aa0 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 .=.$parentObj->memoryReader[$par
42ac0 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f entObj->programCounter]($parentO
42ae0 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b bj,.$parentObj->programCounter);
42b00 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 .............$dirtySum.=.$parent
42b20 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2b 20 24 74 65 6d 70 56 61 6c 75 65 20 2b 20 28 28 Obj->registerA.+.$tempValue.+.((
42b40 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 $parentObj->FCarry).?.1.:.0);...
42b60 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 ..........$parentObj->FHalfCarry
42b80 20 3d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 .=.(($parentObj->registerA.&.0xF
42ba0 29 20 2b 20 28 24 74 65 6d 70 56 61 6c 75 65 20 26 20 30 78 46 29 20 2b 20 28 28 24 70 61 72 65 ).+.($tempValue.&.0xF).+.(($pare
42bc0 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3e 20 30 78 46 29 3b 0a ntObj->FCarry).?.1.:.0).>.0xF);.
42be0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d ............$parentObj->FCarry.=
42c00 20 28 24 64 69 72 74 79 53 75 6d 20 3e 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .($dirtySum.>.0xFF);............
42c20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 64 69 72 74 79 53 .$parentObj->registerA.=.$dirtyS
42c40 75 6d 20 26 20 30 78 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 um.&.0xFF;.............$parentOb
42c60 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 j->FZero.=.($parentObj->register
42c80 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d A.==.0);.............$parentObj-
42ca0 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >FSubtract.=.false;.............
42cc0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 $parentObj->programCounter.=.($p
42ce0 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 arentObj->programCounter.+.1).&.
42d00 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 52 53 54 0xFFFF;.........};.........//RST
42d20 20 30 78 38 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 43 46 3a 0a 20 20 20 20 20 20 20 20 24 74 .0x8.........//#0xCF:.........$t
42d40 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
42d60 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
42d80 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 entObj->stackPointer.=.$parentOb
42da0 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e j->unswtuw($parentObj->stackPoin
42dc0 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a ter.-.1);.............$parentObj
42de0 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 ->memoryWrite($parentObj->stackP
42e00 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 ointer,.$parentObj->programCount
42e20 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a er.>>.8);.............$parentObj
42e40 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 ->stackPointer.=.$parentObj->uns
42e60 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 wtuw($parentObj->stackPointer.-.
42e80 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 1);.............$parentObj->memo
42ea0 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 ryWrite($parentObj->stackPointer
42ec0 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 26 20 30 ,.$parentObj->programCounter.&.0
42ee0 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 xFF);.............$parentObj->pr
42f00 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 30 78 38 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 ogramCounter.=.0x8;.........};..
42f20 20 20 20 20 20 20 20 2f 2f 52 45 54 20 21 46 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 44 30 .......//RET.!FC.........//#0xD0
42f40 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b :.........$this->functionsArray[
42f60 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 ].=.function.($parentObj).{.....
42f80 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 ........if.(!$parentObj->FCarry)
42fa0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 .{.................$parentObj->p
42fc0 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d rogramCounter.=.($parentObj->mem
42fe0 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 oryRead(($parentObj->stackPointe
43000 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 r.+.1).&.0xFFFF).<<.8).+.$parent
43020 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 Obj->memoryReader[$parentObj->st
43040 61 63 6b 50 6f 69 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f ackPointer]($parentObj,.$parentO
43060 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 bj->stackPointer);..............
43080 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 28 24 ...$parentObj->stackPointer.=.($
430a0 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 32 29 20 26 20 30 parentObj->stackPointer.+.2).&.0
430c0 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 xFFFF;.................$parentOb
430e0 6a 2d 3e 43 50 55 54 69 63 6b 73 20 2b 3d 20 33 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a j->CPUTicks.+=.3;.............}.
43100 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 50 4f 50 20 44 45 0a 20 20 20 20 ........};.........//POP.DE.....
43120 20 20 20 20 2f 2f 23 30 78 44 31 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ....//#0xD1:.........$this->func
43140 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
43160 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 Obj).{.............$parentObj->r
43180 65 67 69 73 74 65 72 45 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 egisterE.=.$parentObj->memoryRea
431a0 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 5d 28 24 70 der[$parentObj->stackPointer]($p
431c0 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 arentObj,.$parentObj->stackPoint
431e0 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 er);.............$parentObj->reg
43200 69 73 74 65 72 44 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 isterD.=.$parentObj->memoryRead(
43220 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 31 29 20 26 ($parentObj->stackPointer.+.1).&
43240 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a .0xFFFF);.............$parentObj
43260 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 ->stackPointer.=.($parentObj->st
43280 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 ackPointer.+.2).&.0xFFFF;.......
432a0 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4a 50 20 21 46 43 2c 20 6e 6e 0a 20 20 20 20 20 20 ..};.........//JP.!FC,.nn.......
432c0 20 20 2f 2f 23 30 78 44 32 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 ..//#0xD2:.........$this->functi
432e0 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 onsArray[].=.function.($parentOb
43300 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a j).{.............if.(!$parentObj
43320 2d 3e 46 43 61 72 72 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 ->FCarry).{.................$par
43340 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e entObj->programCounter.=.($paren
43360 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 tObj->memoryRead(($parentObj->pr
43380 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 ogramCounter.+.1).&.0xFFFF).<<.8
433a0 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 ).+.$parentObj->memoryReader[$pa
433c0 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 rentObj->programCounter]($parent
433e0 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 Obj,.$parentObj->programCounter)
43400 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ;.................++$parentObj->
43420 43 50 55 54 69 63 6b 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 CPUTicks;.............}.else.{..
43440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 ...............$parentObj->progr
43460 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d amCounter.=.($parentObj->program
43480 43 6f 75 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 Counter.+.2).&.0xFFFF;..........
434a0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 30 78 44 33 20 2d ...}.........};.........//0xD3.-
434c0 20 49 6c 6c 65 67 61 6c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 44 33 3a 0a 20 20 20 20 20 20 .Illegal.........//#0xD3:.......
434e0 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
43500 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
43520 2f 2f 20 40 54 4f 44 4f 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 75 74 28 22 49 6c //.@TODO.............//.cout("Il
43540 6c 65 67 61 6c 20 6f 70 20 63 6f 64 65 20 30 78 44 33 20 63 61 6c 6c 65 64 2c 20 70 61 75 73 69 legal.op.code.0xD3.called,.pausi
43560 6e 67 20 65 6d 75 6c 61 74 69 6f 6e 2e 22 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ng.emulation.",.2);.............
43580 2f 2f 20 70 61 75 73 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f //.pause();.........};........./
435a0 2f 43 41 4c 4c 20 21 46 43 2c 20 6e 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 44 34 3a 0a 20 /CALL.!FC,.nn.........//#0xD4:..
435c0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
435e0 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
43600 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 7b 0a .....if.(!$parentObj->FCarry).{.
43620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 70 63 20 3d 20 28 24 70 61 72 ................$temp_pc.=.($par
43640 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e entObj->memoryRead(($parentObj->
43660 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c programCounter.+.1).&.0xFFFF).<<
43680 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 .8).+.$parentObj->memoryReader[$
436a0 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 parentObj->programCounter]($pare
436c0 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 ntObj,.$parentObj->programCounte
436e0 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e r);.................$parentObj->
43700 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 programCounter.=.($parentObj->pr
43720 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 ogramCounter.+.2).&.0xFFFF;.....
43740 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 ............$parentObj->stackPoi
43760 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 nter.=.$parentObj->unswtuw($pare
43780 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 ntObj->stackPointer.-.1);.......
437a0 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 ..........$parentObj->memoryWrit
437c0 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 e($parentObj->stackPointer,.$par
437e0 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3e 3e 20 38 29 3b 0a 20 20 entObj->programCounter.>>.8);...
43800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 ..............$parentObj->stackP
43820 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 ointer.=.$parentObj->unswtuw($pa
43840 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 rentObj->stackPointer.-.1);.....
43860 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 ............$parentObj->memoryWr
43880 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 ite($parentObj->stackPointer,.$p
438a0 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 26 20 30 78 46 46 29 arentObj->programCounter.&.0xFF)
438c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 ;.................$parentObj->pr
438e0 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 24 74 65 6d 70 5f 70 63 3b 0a 20 20 20 20 20 20 20 ogramCounter.=.$temp_pc;........
43900 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 20 2b 3d .........$parentObj->CPUTicks.+=
43920 20 33 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 .3;.............}.else.{........
43940 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e .........$parentObj->programCoun
43960 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 ter.=.($parentObj->programCounte
43980 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 r.+.2).&.0xFFFF;.............}..
439a0 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 50 55 53 48 20 44 45 0a 20 20 20 20 .......};.........//PUSH.DE.....
439c0 20 20 20 20 2f 2f 23 30 78 44 35 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ....//#0xD5:.........$this->func
439e0 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
43a00 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 Obj).{.............$parentObj->s
43a20 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 tackPointer.=.$parentObj->unswtu
43a40 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b w($parentObj->stackPointer.-.1);
43a60 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 .............$parentObj->memoryW
43a80 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 rite($parentObj->stackPointer,.$
43aa0 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 44 29 3b 0a 20 20 20 20 20 20 20 20 20 parentObj->registerD);..........
43ac0 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 ...$parentObj->stackPointer.=.$p
43ae0 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 arentObj->unswtuw($parentObj->st
43b00 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ackPointer.-.1);.............$pa
43b20 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d rentObj->memoryWrite($parentObj-
43b40 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 >stackPointer,.$parentObj->regis
43b60 74 65 72 45 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 55 42 20 terE);.........};.........//SUB.
43b80 41 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 44 36 3a 0a 20 20 20 20 20 20 20 20 24 74 A,.n.........//#0xD6:.........$t
43ba0 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
43bc0 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d .($parentObj).{.............$tem
43be0 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 p_var.=.$parentObj->memoryReader
43c00 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 [$parentObj->programCounter]($pa
43c20 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e rentObj,.$parentObj->programCoun
43c40 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 ter);.............$dirtySum.=.$p
43c60 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d 20 24 74 65 6d 70 5f 76 61 72 3b arentObj->registerA.-.$temp_var;
43c80 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 .............$parentObj->FHalfCa
43ca0 72 72 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 rry.=.($parentObj->registerA.&.0
43cc0 78 46 29 20 3c 20 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 xF).<.($temp_var.&.0xF);........
43ce0 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 .....$parentObj->FCarry.=.($dirt
43d00 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 ySum.<.0);.............$parentOb
43d20 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 j->registerA.=.$parentObj->unsbt
43d40 75 62 28 24 64 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ub($dirtySum);.............$pare
43d60 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 ntObj->programCounter.=.($parent
43d80 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 Obj->programCounter.+.1).&.0xFFF
43da0 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f F;.............$parentObj->FZero
43dc0 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b .=.($parentObj->registerA.==.0);
43de0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 .............$parentObj->FSubtra
43e00 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f ct.=.true;.........};.........//
43e20 52 53 54 20 30 78 31 30 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 44 37 3a 0a 20 20 20 20 20 20 RST.0x10.........//#0xD7:.......
43e40 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
43e60 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
43e80 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 $parentObj->stackPointer.=.$pare
43ea0 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b ntObj->unswtuw($parentObj->stack
43ec0 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e Pointer.-.1);.............$paren
43ee0 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 tObj->memoryWrite($parentObj->st
43f00 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 ackPointer,.$parentObj->programC
43f20 6f 75 6e 74 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e ounter.>>.8);.............$paren
43f40 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d tObj->stackPointer.=.$parentObj-
43f60 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 >unswtuw($parentObj->stackPointe
43f80 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e r.-.1);.............$parentObj->
43fa0 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 memoryWrite($parentObj->stackPoi
43fc0 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 nter,.$parentObj->programCounter
43fe0 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a .&.0xFF);.............$parentObj
44000 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 30 78 31 30 3b 0a 20 20 20 20 20 20 20 ->programCounter.=.0x10;........
44020 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 52 45 54 20 46 43 0a 20 20 20 20 20 20 20 20 2f 2f 23 .};.........//RET.FC.........//#
44040 30 78 44 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 0xD8:.........$this->functionsAr
44060 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
44080 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 ............if.($parentObj->FCar
440a0 72 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a ry).{.................$parentObj
440c0 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ->programCounter.=.($parentObj->
440e0 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 memoryRead(($parentObj->stackPoi
44100 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 nter.+.1).&.0xFFFF).<<.8).+.$par
44120 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->memoryReader[$parentObj-
44140 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 >stackPointer]($parentObj,.$pare
44160 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 ntObj->stackPointer);...........
44180 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d ......$parentObj->stackPointer.=
441a0 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 32 29 20 .($parentObj->stackPointer.+.2).
441c0 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e &.0xFFFF;.................$paren
441e0 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 20 2b 3d 20 33 3b 0a 20 20 20 20 20 20 20 20 20 20 20 tObj->CPUTicks.+=.3;............
44200 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 52 45 54 49 0a 20 20 20 .}.........};.........//RETI....
44220 20 20 20 20 20 2f 2f 23 30 78 44 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e .....//#0xD9:.........$this->fun
44240 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e ctionsArray[].=.function.($paren
44260 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e tObj).{.............$parentObj->
44280 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 programCounter.=.($parentObj->me
442a0 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 moryRead(($parentObj->stackPoint
442c0 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e er.+.1).&.0xFFFF).<<.8).+.$paren
442e0 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 tObj->memoryReader[$parentObj->s
44300 74 61 63 6b 50 6f 69 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 tackPointer]($parentObj,.$parent
44320 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 Obj->stackPointer);.............
44340 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 28 24 70 61 72 $parentObj->stackPointer.=.($par
44360 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 entObj->stackPointer.+.2).&.0xFF
44380 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 49 4d FF;.............//$parentObj->IM
443a0 45 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a E.=.true;.............$parentObj
443c0 2d 3e 75 6e 74 69 6c 45 6e 61 62 6c 65 20 3d 20 32 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 ->untilEnable.=.2;.........};...
443e0 20 20 20 20 20 20 2f 2f 4a 50 20 46 43 2c 20 6e 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 44 ......//JP.FC,.nn.........//#0xD
44400 41 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 A:.........$this->functionsArray
44420 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
44440 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 .........if.($parentObj->FCarry)
44460 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 .{.................$parentObj->p
44480 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d rogramCounter.=.($parentObj->mem
444a0 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e oryRead(($parentObj->programCoun
444c0 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 ter.+.1).&.0xFFFF).<<.8).+.$pare
444e0 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ntObj->memoryReader[$parentObj->
44500 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 programCounter]($parentObj,.$par
44520 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 entObj->programCounter);........
44540 20 20 20 20 20 20 20 20 20 2b 2b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 3b .........++$parentObj->CPUTicks;
44560 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .............}.else.{...........
44580 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 ......$parentObj->programCounter
445a0 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b .=.($parentObj->programCounter.+
445c0 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .2).&.0xFFFF;.............}.....
445e0 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 30 78 44 42 20 2d 20 49 6c 6c 65 67 61 6c 0a ....};.........//0xDB.-.Illegal.
44600 20 20 20 20 20 20 20 20 2f 2f 23 30 78 44 42 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ........//#0xDB:.........$this->
44620 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 functionsArray[].=.function.($pa
44640 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 49 6c 6c rentObj).{.............echo.'Ill
44660 65 67 61 6c 20 6f 70 20 63 6f 64 65 20 30 78 44 42 20 63 61 6c 6c 65 64 2c 20 70 61 75 73 69 6e egal.op.code.0xDB.called,.pausin
44680 67 20 65 6d 75 6c 61 74 69 6f 6e 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 g.emulation.';.............exit(
446a0 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 43 41 4c 4c 20 46 43 2c );.........};.........//CALL.FC,
446c0 20 6e 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 44 43 3a 0a 20 20 20 20 20 20 20 20 24 74 68 .nn.........//#0xDC:.........$th
446e0 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
44700 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 ($parentObj).{.............if.($
44720 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 parentObj->FCarry).{............
44740 20 20 20 20 20 24 74 65 6d 70 5f 70 63 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d .....$temp_pc.=.($parentObj->mem
44760 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e oryRead(($parentObj->programCoun
44780 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 ter.+.1).&.0xFFFF).<<.8).+.$pare
447a0 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ntObj->memoryReader[$parentObj->
447c0 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 programCounter]($parentObj,.$par
447e0 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 entObj->programCounter);........
44800 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e .........$parentObj->programCoun
44820 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 ter.=.($parentObj->programCounte
44840 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.+.2).&.0xFFFF;................
44860 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 .$parentObj->stackPointer.=.$par
44880 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 entObj->unswtuw($parentObj->stac
448a0 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 kPointer.-.1);.................$
448c0 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 parentObj->memoryWrite($parentOb
448e0 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f j->stackPointer,.$parentObj->pro
44900 67 72 61 6d 43 6f 75 6e 74 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 gramCounter.>>.8);..............
44920 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 ...$parentObj->stackPointer.=.$p
44940 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 arentObj->unswtuw($parentObj->st
44960 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ackPointer.-.1);................
44980 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 .$parentObj->memoryWrite($parent
449a0 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 Obj->stackPointer,.$parentObj->p
449c0 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 rogramCounter.&.0xFF);..........
449e0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 .......$parentObj->programCounte
44a00 72 20 3d 20 24 74 65 6d 70 5f 70 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 r.=.$temp_pc;.................$p
44a20 61 72 65 6e 74 4f 62 6a 2d 3e 43 50 55 54 69 63 6b 73 20 2b 3d 20 33 3b 0a 20 20 20 20 20 20 20 arentObj->CPUTicks.+=.3;........
44a40 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 .....}.else.{.................$p
44a60 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 arentObj->programCounter.=.($par
44a80 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 entObj->programCounter.+.2).&.0x
44aa0 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 FFFF;.............}.........};..
44ac0 20 20 20 20 20 20 20 2f 2f 30 78 44 44 20 2d 20 49 6c 6c 65 67 61 6c 0a 20 20 20 20 20 20 20 20 .......//0xDD.-.Illegal.........
44ae0 2f 2f 23 30 78 44 44 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e //#0xDD:.........$this->function
44b00 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 sArray[].=.function.($parentObj)
44b20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 49 6c 6c 65 67 61 6c 20 6f 70 20 .{.............echo.'Illegal.op.
44b40 63 6f 64 65 20 30 78 44 44 20 63 61 6c 6c 65 64 2c 20 70 61 75 73 69 6e 67 20 65 6d 75 6c 61 74 code.0xDD.called,.pausing.emulat
44b60 69 6f 6e 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 29 3b 0a 20 20 20 20 20 ion.';.............exit();......
44b80 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 53 42 43 20 41 2c 20 6e 0a 20 20 20 20 20 20 20 ...};.........//SBC.A,.n........
44ba0 20 2f 2f 23 30 78 44 45 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f .//#0xDE:.........$this->functio
44bc0 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a nsArray[].=.function.($parentObj
44be0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 72 ).{.............$temp_var.=.$par
44c00 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d entObj->memoryReader[$parentObj-
44c20 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 >programCounter]($parentObj,.$pa
44c40 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 rentObj->programCounter);.......
44c60 20 20 20 20 20 20 24 64 69 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 ......$dirtySum.=.$parentObj->re
44c80 67 69 73 74 65 72 41 20 2d 20 24 74 65 6d 70 5f 76 61 72 20 2d 20 28 28 24 70 61 72 65 6e 74 4f gisterA.-.$temp_var.-.(($parentO
44ca0 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 bj->FCarry).?.1.:.0);...........
44cc0 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 70 61 ..$parentObj->FHalfCarry.=.(($pa
44ce0 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 26 20 30 78 46 29 20 2d 20 28 24 74 65 rentObj->registerA.&.0xF).-.($te
44d00 6d 70 5f 76 61 72 20 26 20 30 78 46 29 20 2d 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 mp_var.&.0xF).-.(($parentObj->FC
44d20 61 72 72 79 29 20 3f 20 31 20 3a 20 30 29 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 arry).?.1.:.0).<.0);............
44d40 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d .$parentObj->FCarry.=.($dirtySum
44d60 20 3c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 .<.0);.............$parentObj->r
44d80 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 egisterA.=.$parentObj->unsbtub($
44da0 64 69 72 74 79 53 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 dirtySum);.............$parentOb
44dc0 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d j->programCounter.=.($parentObj-
44de0 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 >programCounter.+.1).&.0xFFFF;..
44e00 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 ...........$parentObj->FZero.=.(
44e20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 $parentObj->registerA.==.0);....
44e40 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d .........$parentObj->FSubtract.=
44e60 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 52 53 54 20 .true;.........};.........//RST.
44e80 30 78 31 38 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 44 46 3a 0a 20 20 20 20 20 20 20 20 24 74 0x18.........//#0xDF:.........$t
44ea0 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e his->functionsArray[].=.function
44ec0 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 .($parentObj).{.............$par
44ee0 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 entObj->stackPointer.=.$parentOb
44f00 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e j->unswtuw($parentObj->stackPoin
44f20 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a ter.-.1);.............$parentObj
44f40 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 ->memoryWrite($parentObj->stackP
44f60 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 ointer,.$parentObj->programCount
44f80 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a er.>>.8);.............$parentObj
44fa0 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 ->stackPointer.=.$parentObj->uns
44fc0 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 wtuw($parentObj->stackPointer.-.
44fe0 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 1);.............$parentObj->memo
45000 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 ryWrite($parentObj->stackPointer
45020 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 26 20 30 ,.$parentObj->programCounter.&.0
45040 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 xFF);.............$parentObj->pr
45060 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 30 78 31 38 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a ogramCounter.=.0x18;.........};.
45080 20 20 20 20 20 20 20 20 2f 2f 4c 44 48 20 28 6e 29 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 ........//LDH.(n),.A.........//#
450a0 30 78 45 30 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 0xE0:.........$this->functionsAr
450c0 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a ray[].=.function.($parentObj).{.
450e0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 ............$parentObj->memoryWr
45100 69 74 65 28 30 78 46 46 30 30 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 ite(0xFF00.+.$parentObj->memoryR
45120 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 eader[$parentObj->programCounter
45140 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 ]($parentObj,.$parentObj->progra
45160 6d 43 6f 75 6e 74 65 72 29 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 mCounter),.$parentObj->registerA
45180 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 );.............$parentObj->progr
451a0 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d amCounter.=.($parentObj->program
451c0 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d Counter.+.1).&.0xFFFF;.........}
451e0 3b 0a 20 20 20 20 20 20 20 20 2f 2f 50 4f 50 20 48 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 ;.........//POP.HL.........//#0x
45200 45 31 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 E1:.........$this->functionsArra
45220 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 y[].=.function.($parentObj).{...
45240 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 ..........$parentObj->registersH
45260 4c 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 L.=.($parentObj->memoryRead(($pa
45280 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 rentObj->stackPointer.+.1).&.0xF
452a0 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 FFF).<<.8).+.$parentObj->memoryR
452c0 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 5d 28 eader[$parentObj->stackPointer](
452e0 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 $parentObj,.$parentObj->stackPoi
45300 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 nter);.............$parentObj->s
45320 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b tackPointer.=.($parentObj->stack
45340 50 6f 69 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d Pointer.+.2).&.0xFFFF;.........}
45360 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 28 43 29 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f ;.........//LD.(C),.A.........//
45380 23 30 78 45 32 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 #0xE2:.........$this->functionsA
453a0 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
453c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 .............$parentObj->memoryW
453e0 72 69 74 65 28 30 78 46 46 30 30 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 rite(0xFF00.+.$parentObj->regist
45400 65 72 43 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 29 3b 0a 20 20 20 erC,.$parentObj->registerA);....
45420 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 30 78 45 33 20 2d 20 49 6c 6c 65 67 61 6c .....};.........//0xE3.-.Illegal
45440 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 45 33 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .........//#0xE3:.........$this-
45460 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 >functionsArray[].=.function.($p
45480 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 49 6c arentObj).{.............echo.'Il
454a0 6c 65 67 61 6c 20 6f 70 20 63 6f 64 65 20 30 78 45 33 20 63 61 6c 6c 65 64 2c 20 70 61 75 73 69 legal.op.code.0xE3.called,.pausi
454c0 6e 67 20 65 6d 75 6c 61 74 69 6f 6e 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 ng.emulation.';.............exit
454e0 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 30 78 45 34 20 2d 20 ();.........};.........//0xE4.-.
45500 49 6c 6c 65 67 61 6c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 45 34 3a 0a 20 20 20 20 20 20 20 Illegal.........//#0xE4:........
45520 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
45540 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 ion.($parentObj).{.............e
45560 63 68 6f 20 27 49 6c 6c 65 67 61 6c 20 6f 70 20 63 6f 64 65 20 30 78 45 34 20 63 61 6c 6c 65 64 cho.'Illegal.op.code.0xE4.called
45580 2c 20 70 61 75 73 69 6e 67 20 65 6d 75 6c 61 74 69 6f 6e 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 ,.pausing.emulation.';..........
455a0 20 20 20 65 78 69 74 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f ...exit();.........};.........//
455c0 50 55 53 48 20 48 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 45 35 3a 0a 20 20 20 20 20 20 20 PUSH.HL.........//#0xE5:........
455e0 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 .$this->functionsArray[].=.funct
45600 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ion.($parentObj).{.............$
45620 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e parentObj->stackPointer.=.$paren
45640 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 tObj->unswtuw($parentObj->stackP
45660 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 ointer.-.1);.............$parent
45680 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 Obj->memoryWrite($parentObj->sta
456a0 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 ckPointer,.$parentObj->registers
456c0 48 4c 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a HL.>>.8);.............$parentObj
456e0 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 ->stackPointer.=.$parentObj->uns
45700 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 wtuw($parentObj->stackPointer.-.
45720 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 1);.............$parentObj->memo
45740 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 ryWrite($parentObj->stackPointer
45760 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 26 20 30 78 46 46 ,.$parentObj->registersHL.&.0xFF
45780 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 4e 44 20 6e 0a 20 20 );.........};.........//AND.n...
457a0 20 20 20 20 20 20 2f 2f 23 30 78 45 36 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 ......//#0xE6:.........$this->fu
457c0 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 nctionsArray[].=.function.($pare
457e0 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj).{.............$parentObj-
45800 3e 72 65 67 69 73 74 65 72 41 20 26 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 >registerA.&=.$parentObj->memory
45820 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 Reader[$parentObj->programCounte
45840 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 r]($parentObj,.$parentObj->progr
45860 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f amCounter);.............$parentO
45880 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a bj->programCounter.=.($parentObj
458a0 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a ->programCounter.+.1).&.0xFFFF;.
458c0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 ............$parentObj->FZero.=.
458e0 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 ($parentObj->registerA.==.0);...
45900 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 ..........$parentObj->FHalfCarry
45920 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d .=.true;.............$parentObj-
45940 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 >FSubtract.=.$parentObj->FCarry.
45960 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 52 53 =.false;.........};.........//RS
45980 54 20 30 78 32 30 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 45 37 3a 0a 20 20 20 20 20 20 20 20 T.0x20.........//#0xE7:.........
459a0 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 $this->functionsArray[].=.functi
459c0 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 on.($parentObj).{.............$p
459e0 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 arentObj->stackPointer.=.$parent
45a00 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f Obj->unswtuw($parentObj->stackPo
45a20 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f inter.-.1);.............$parentO
45a40 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 bj->memoryWrite($parentObj->stac
45a60 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 kPointer,.$parentObj->programCou
45a80 6e 74 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f nter.>>.8);.............$parentO
45aa0 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 bj->stackPointer.=.$parentObj->u
45ac0 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 nswtuw($parentObj->stackPointer.
45ae0 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 -.1);.............$parentObj->me
45b00 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 moryWrite($parentObj->stackPoint
45b20 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 26 er,.$parentObj->programCounter.&
45b40 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .0xFF);.............$parentObj->
45b60 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 30 78 32 30 3b 0a 20 20 20 20 20 20 20 20 7d programCounter.=.0x20;.........}
45b80 3b 0a 20 20 20 20 20 20 20 20 2f 2f 41 44 44 20 53 50 2c 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f ;.........//ADD.SP,.n.........//
45ba0 23 30 78 45 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 #0xE8:.........$this->functionsA
45bc0 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b rray[].=.function.($parentObj).{
45be0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 69 67 6e 65 64 42 79 74 65 20 3d 20 24 70 61 72 65 .............$signedByte.=.$pare
45c00 6e 74 4f 62 6a 2d 3e 75 73 62 74 73 62 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 ntObj->usbtsb($parentObj->memory
45c20 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 Reader[$parentObj->programCounte
45c40 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 r]($parentObj,.$parentObj->progr
45c60 61 6d 43 6f 75 6e 74 65 72 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 6d 70 5f 76 amCounter));.............$temp_v
45c80 61 6c 75 65 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6e 73 77 74 75 77 28 24 70 61 72 65 6e alue.=.$parentObj->nswtuw($paren
45ca0 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 24 73 69 67 6e 65 64 42 79 74 65 tObj->stackPointer.+.$signedByte
45cc0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 );.............$parentObj->FCarr
45ce0 79 20 3d 20 28 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 y.=.((($parentObj->stackPointer.
45d00 5e 20 24 73 69 67 6e 65 64 42 79 74 65 20 5e 20 24 74 65 6d 70 5f 76 61 6c 75 65 29 20 26 20 30 ^.$signedByte.^.$temp_value).&.0
45d20 78 31 30 30 29 20 3d 3d 20 30 78 31 30 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 x100).==.0x100);.............$pa
45d40 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 28 24 70 61 72 65 6e 74 rentObj->FHalfCarry.=.((($parent
45d60 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 5e 20 24 73 69 67 6e 65 64 42 79 74 65 20 Obj->stackPointer.^.$signedByte.
45d80 5e 20 24 74 65 6d 70 5f 76 61 6c 75 65 29 20 26 20 30 78 31 30 29 20 3d 3d 20 30 78 31 30 29 3b ^.$temp_value).&.0x10).==.0x10);
45da0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f .............$parentObj->stackPo
45dc0 69 6e 74 65 72 20 3d 20 24 74 65 6d 70 5f 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 inter.=.$temp_value;............
45de0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 .$parentObj->programCounter.=.($
45e00 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 parentObj->programCounter.+.1).&
45e20 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d .0xFFFF;.............$parentObj-
45e40 3e 46 5a 65 72 6f 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d >FZero.=.$parentObj->FSubtract.=
45e60 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4a 50 2c .false;.........};.........//JP,
45e80 20 28 48 4c 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 45 39 3a 0a 20 20 20 20 20 20 20 20 24 .(HL).........//#0xE9:.........$
45ea0 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
45ec0 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 n.($parentObj).{.............$pa
45ee0 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 24 70 61 72 65 6e rentObj->programCounter.=.$paren
45f00 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 tObj->registersHL;.........};...
45f20 20 20 20 20 20 20 2f 2f 4c 44 20 6e 2c 20 41 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 45 41 3a ......//LD.n,.A.........//#0xEA:
45f40 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d .........$this->functionsArray[]
45f60 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 .=.function.($parentObj).{......
45f80 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 28 .......$parentObj->memoryWrite((
45fa0 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f $parentObj->memoryRead(($parentO
45fc0 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 bj->programCounter.+.1).&.0xFFFF
45fe0 29 20 3c 3c 20 38 29 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 ).<<.8).+.$parentObj->memoryRead
46000 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 er[$parentObj->programCounter]($
46020 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f parentObj,.$parentObj->programCo
46040 75 6e 74 65 72 29 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 29 3b 0a unter),.$parentObj->registerA);.
46060 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 ............$parentObj->programC
46080 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 ounter.=.($parentObj->programCou
460a0 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 nter.+.2).&.0xFFFF;.........};..
460c0 20 20 20 20 20 20 20 2f 2f 30 78 45 42 20 2d 20 49 6c 6c 65 67 61 6c 0a 20 20 20 20 20 20 20 20 .......//0xEB.-.Illegal.........
460e0 2f 2f 23 30 78 45 42 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e //#0xEB:.........$this->function
46100 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 sArray[].=.function.($parentObj)
46120 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 49 6c 6c 65 67 61 6c 20 6f 70 20 .{.............echo.'Illegal.op.
46140 63 6f 64 65 20 30 78 45 42 20 63 61 6c 6c 65 64 2c 20 70 61 75 73 69 6e 67 20 65 6d 75 6c 61 74 code.0xEB.called,.pausing.emulat
46160 69 6f 6e 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 29 3b 0a 20 20 20 20 20 ion.';.............exit();......
46180 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 30 78 45 43 20 2d 20 49 6c 6c 65 67 61 6c 0a 20 ...};.........//0xEC.-.Illegal..
461a0 20 20 20 20 20 20 20 2f 2f 23 30 78 45 43 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 .......//#0xEC:.........$this->f
461c0 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 unctionsArray[].=.function.($par
461e0 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 49 6c 6c 65 entObj).{.............echo.'Ille
46200 67 61 6c 20 6f 70 20 63 6f 64 65 20 30 78 45 43 20 63 61 6c 6c 65 64 2c 20 70 61 75 73 69 6e 67 gal.op.code.0xEC.called,.pausing
46220 20 65 6d 75 6c 61 74 69 6f 6e 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 29 .emulation.';.............exit()
46240 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 30 78 45 44 20 2d 20 49 6c ;.........};.........//0xED.-.Il
46260 6c 65 67 61 6c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 45 44 3a 0a 20 20 20 20 20 20 20 20 24 legal.........//#0xED:.........$
46280 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
462a0 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 n.($parentObj).{.............ech
462c0 6f 20 27 49 6c 6c 65 67 61 6c 20 6f 70 20 63 6f 64 65 20 30 78 45 44 20 63 61 6c 6c 65 64 2c 20 o.'Illegal.op.code.0xED.called,.
462e0 70 61 75 73 69 6e 67 20 65 6d 75 6c 61 74 69 6f 6e 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 pausing.emulation.';............
46300 20 65 78 69 74 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 58 4f .exit();.........};.........//XO
46320 52 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 45 45 3a 0a 20 20 20 20 20 20 20 20 24 74 68 R.n.........//#0xEE:.........$th
46340 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 is->functionsArray[].=.function.
46360 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 ($parentObj).{.............$pare
46380 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 5e 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e ntObj->registerA.^=.$parentObj->
463a0 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d memoryReader[$parentObj->program
463c0 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d Counter]($parentObj,.$parentObj-
463e0 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 >programCounter);.............$p
46400 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 arentObj->FZero.=.($parentObj->r
46420 65 67 69 73 74 65 72 41 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 egisterA.==.0);.............$par
46440 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e entObj->programCounter.=.($paren
46460 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 tObj->programCounter.+.1).&.0xFF
46480 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 FF;.............$parentObj->FSub
464a0 74 72 61 63 74 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d tract.=.$parentObj->FHalfCarry.=
464c0 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 .$parentObj->FCarry.=.false;....
464e0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 52 53 54 20 30 78 32 38 0a 20 20 20 20 20 .....};.........//RST.0x28......
46500 20 20 20 2f 2f 23 30 78 45 46 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0xEF:.........$this->funct
46520 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
46540 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 bj).{.............$parentObj->st
46560 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 ackPointer.=.$parentObj->unswtuw
46580 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a ($parentObj->stackPointer.-.1);.
465a0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 ............$parentObj->memoryWr
465c0 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 ite($parentObj->stackPointer,.$p
465e0 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3e 3e 20 38 29 3b 0a arentObj->programCounter.>>.8);.
46600 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 ............$parentObj->stackPoi
46620 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 nter.=.$parentObj->unswtuw($pare
46640 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 ntObj->stackPointer.-.1);.......
46660 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 ......$parentObj->memoryWrite($p
46680 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f arentObj->stackPointer,.$parentO
466a0 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 bj->programCounter.&.0xFF);.....
466c0 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 ........$parentObj->programCount
466e0 65 72 20 3d 20 30 78 32 38 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f er.=.0x28;.........};.........//
46700 4c 44 48 20 41 2c 20 28 6e 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 30 3a 0a 20 20 20 20 LDH.A,.(n).........//#0xF0:.....
46720 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 ....$this->functionsArray[].=.fu
46740 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nction.($parentObj).{...........
46760 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e ..$parentObj->registerA.=.$paren
46780 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 30 78 46 46 30 30 20 2b 20 24 70 61 72 65 6e tObj->memoryRead(0xFF00.+.$paren
467a0 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 tObj->memoryReader[$parentObj->p
467c0 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 rogramCounter]($parentObj,.$pare
467e0 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 29 3b 0a 20 20 20 20 20 20 20 ntObj->programCounter));........
46800 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 .....$parentObj->programCounter.
46820 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 =.($parentObj->programCounter.+.
46840 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 1).&.0xFFFF;.........};.........
46860 2f 2f 50 4f 50 20 41 46 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 31 3a 0a 20 20 20 20 20 20 //POP.AF.........//#0xF1:.......
46880 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
468a0 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
468c0 24 74 65 6d 70 5f 76 61 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 $temp_var.=.$parentObj->memoryRe
468e0 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 5d 28 24 ader[$parentObj->stackPointer]($
46900 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e parentObj,.$parentObj->stackPoin
46920 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a ter);.............$parentObj->FZ
46940 65 72 6f 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 38 30 29 20 3d 3d 20 30 78 38 ero.=.(($temp_var.&.0x80).==.0x8
46960 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 0);.............$parentObj->FSub
46980 74 72 61 63 74 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 34 30 29 20 3d 3d 20 30 tract.=.(($temp_var.&.0x40).==.0
469a0 78 34 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 x40);.............$parentObj->FH
469c0 61 6c 66 43 61 72 72 79 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 32 30 29 20 3d alfCarry.=.(($temp_var.&.0x20).=
469e0 3d 20 30 78 32 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d =.0x20);.............$parentObj-
46a00 3e 46 43 61 72 72 79 20 3d 20 28 28 24 74 65 6d 70 5f 76 61 72 20 26 20 30 78 31 30 29 20 3d 3d >FCarry.=.(($temp_var.&.0x10).==
46a20 20 30 78 31 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e .0x10);.............$parentObj->
46a40 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 registerA.=.$parentObj->memoryRe
46a60 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 31 ad(($parentObj->stackPointer.+.1
46a80 29 20 26 20 30 78 46 46 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 ).&.0xFFFF);.............$parent
46aa0 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d Obj->stackPointer.=.($parentObj-
46ac0 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 >stackPointer.+.2).&.0xFFFF;....
46ae0 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 41 2c 20 28 43 29 0a 20 20 20 20 .....};.........//LD.A,.(C).....
46b00 20 20 20 20 2f 2f 23 30 78 46 32 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 ....//#0xF2:.........$this->func
46b20 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 tionsArray[].=.function.($parent
46b40 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 Obj).{.............$parentObj->r
46b60 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 egisterA.=.$parentObj->memoryRea
46b80 64 28 30 78 46 46 30 30 20 2b 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 43 d(0xFF00.+.$parentObj->registerC
46ba0 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 44 49 0a 20 20 20 20 20 );.........};.........//DI......
46bc0 20 20 20 2f 2f 23 30 78 46 33 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0xF3:.........$this->funct
46be0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
46c00 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 49 4d bj).{.............$parentObj->IM
46c20 45 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 E.=.false;.............$parentOb
46c40 6a 2d 3e 75 6e 74 69 6c 45 6e 61 62 6c 65 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 j->untilEnable.=.0;.........};..
46c60 20 20 20 20 20 20 20 2f 2f 30 78 46 34 20 2d 20 49 6c 6c 65 67 61 6c 0a 20 20 20 20 20 20 20 20 .......//0xF4.-.Illegal.........
46c80 2f 2f 23 30 78 46 34 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e //#0xF4:.........$this->function
46ca0 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 sArray[].=.function.($parentObj)
46cc0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 40 54 4f 44 4f 0a 20 20 20 20 20 20 20 20 .{.............//.@TODO.........
46ce0 20 20 20 20 2f 2f 20 63 6f 75 74 28 22 49 6c 6c 65 67 61 6c 20 6f 70 20 63 6f 64 65 20 30 78 46 ....//.cout("Illegal.op.code.0xF
46d00 34 20 63 61 6c 6c 65 64 2c 20 70 61 75 73 69 6e 67 20 65 6d 75 6c 61 74 69 6f 6e 2e 22 2c 20 32 4.called,.pausing.emulation.",.2
46d20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 70 61 75 73 65 28 29 3b 0a 20 20 20 20 20 );.............//.pause();......
46d40 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 50 55 53 48 20 41 46 0a 20 20 20 20 20 20 20 20 ...};.........//PUSH.AF.........
46d60 2f 2f 23 30 78 46 35 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e //#0xF5:.........$this->function
46d80 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 sArray[].=.function.($parentObj)
46da0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b .{.............$parentObj->stack
46dc0 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 Pointer.=.$parentObj->unswtuw($p
46de0 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 arentObj->stackPointer.-.1);....
46e00 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 .........$parentObj->memoryWrite
46e20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 ($parentObj->stackPointer,.$pare
46e40 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ntObj->registerA);.............$
46e60 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e parentObj->stackPointer.=.$paren
46e80 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 tObj->unswtuw($parentObj->stackP
46ea0 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 ointer.-.1);.............$parent
46ec0 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 Obj->memoryWrite($parentObj->sta
46ee0 63 6b 50 6f 69 6e 74 65 72 2c 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 29 20 ckPointer,.(($parentObj->FZero).
46f00 3f 20 30 78 38 30 20 3a 20 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 ?.0x80.:.0).+.(($parentObj->FSub
46f20 74 72 61 63 74 29 20 3f 20 30 78 34 30 20 3a 20 30 29 20 2b 20 28 28 24 70 61 72 65 6e 74 4f 62 tract).?.0x40.:.0).+.(($parentOb
46f40 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 29 20 3f 20 30 78 32 30 20 3a 20 30 29 20 2b 20 28 28 24 j->FHalfCarry).?.0x20.:.0).+.(($
46f60 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 29 20 3f 20 30 78 31 30 20 3a 20 30 29 29 3b parentObj->FCarry).?.0x10.:.0));
46f80 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4f 52 20 6e 0a 20 20 20 20 20 .........};.........//OR.n......
46fa0 20 20 20 2f 2f 23 30 78 46 36 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 ...//#0xF6:.........$this->funct
46fc0 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f ionsArray[].=.function.($parentO
46fe0 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 bj).{.............$parentObj->re
47000 67 69 73 74 65 72 41 20 7c 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 gisterA.|=.$parentObj->memoryRea
47020 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 der[$parentObj->programCounter](
47040 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 $parentObj,.$parentObj->programC
47060 6f 75 6e 74 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d ounter);.............$parentObj-
47080 3e 46 5a 65 72 6f 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 >FZero.=.($parentObj->registerA.
470a0 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 ==.0);.............$parentObj->p
470c0 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f rogramCounter.=.($parentObj->pro
470e0 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 gramCounter.+.1).&.0xFFFF;......
47100 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 24 .......$parentObj->FSubtract.=.$
47120 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e parentObj->FCarry.=.$parentObj->
47140 46 48 61 6c 66 43 61 72 72 79 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 FHalfCarry.=.false;.........};..
47160 20 20 20 20 20 20 20 2f 2f 52 53 54 20 30 78 33 30 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 .......//RST.0x30.........//#0xF
47180 37 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 7:.........$this->functionsArray
471a0 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 [].=.function.($parentObj).{....
471c0 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 .........$parentObj->stackPointe
471e0 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f r.=.$parentObj->unswtuw($parentO
47200 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 bj->stackPointer.-.1);..........
47220 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 ...$parentObj->memoryWrite($pare
47240 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d ntObj->stackPointer,.$parentObj-
47260 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 >programCounter.>>.8);..........
47280 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 ...$parentObj->stackPointer.=.$p
472a0 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 arentObj->unswtuw($parentObj->st
472c0 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ackPointer.-.1);.............$pa
472e0 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d rentObj->memoryWrite($parentObj-
47300 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 >stackPointer,.$parentObj->progr
47320 61 6d 43 6f 75 6e 74 65 72 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 amCounter.&.0xFF);.............$
47340 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 30 78 33 30 parentObj->programCounter.=.0x30
47360 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 48 4c 20 53 50 2c 20 ;.........};.........//LDHL.SP,.
47380 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 38 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 n.........//#0xF8:.........$this
473a0 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
473c0 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 69 67 6e 65 64 parentObj).{.............$signed
473e0 42 79 74 65 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 73 62 74 73 62 28 24 70 61 72 65 6e Byte.=.$parentObj->usbtsb($paren
47400 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 tObj->memoryReader[$parentObj->p
47420 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 24 70 61 72 65 rogramCounter]($parentObj,.$pare
47440 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 29 3b 0a 20 20 20 20 20 20 20 ntObj->programCounter));........
47460 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 20 3d 20 24 .....$parentObj->registersHL.=.$
47480 70 61 72 65 6e 74 4f 62 6a 2d 3e 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 parentObj->nswtuw($parentObj->st
474a0 61 63 6b 50 6f 69 6e 74 65 72 20 2b 20 24 73 69 67 6e 65 64 42 79 74 65 29 3b 0a 20 20 20 20 20 ackPointer.+.$signedByte);......
474c0 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 28 28 24 .......$parentObj->FCarry.=.((($
474e0 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 5e 20 24 73 69 67 6e 65 parentObj->stackPointer.^.$signe
47500 64 42 79 74 65 20 5e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 dByte.^.$parentObj->registersHL)
47520 20 26 20 30 78 31 30 30 29 20 3d 3d 20 30 78 31 30 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .&.0x100).==.0x100);............
47540 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 79 20 3d 20 28 28 28 24 70 61 .$parentObj->FHalfCarry.=.((($pa
47560 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 5e 20 24 73 69 67 6e 65 64 42 rentObj->stackPointer.^.$signedB
47580 79 74 65 20 5e 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 73 48 4c 29 20 26 yte.^.$parentObj->registersHL).&
475a0 20 30 78 31 30 29 20 3d 3d 20 30 78 31 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 .0x10).==.0x10);.............$pa
475c0 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 rentObj->programCounter.=.($pare
475e0 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 ntObj->programCounter.+.1).&.0xF
47600 46 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 FFF;.............$parentObj->FZe
47620 72 6f 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 74 72 61 63 74 20 3d 20 66 61 6c ro.=.$parentObj->FSubtract.=.fal
47640 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 4c 44 20 53 50 2c 20 se;.........};.........//LD.SP,.
47660 48 4c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 39 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 HL.........//#0xF9:.........$thi
47680 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 s->functionsArray[].=.function.(
476a0 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e $parentObj).{.............$paren
476c0 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d tObj->stackPointer.=.$parentObj-
476e0 3e 72 65 67 69 73 74 65 72 73 48 4c 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 >registersHL;.........};........
47700 20 2f 2f 4c 44 20 41 2c 20 28 6e 6e 29 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 41 3a 0a 20 .//LD.A,.(nn).........//#0xFA:..
47720 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d .......$this->functionsArray[].=
47740 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 .function.($parentObj).{........
47760 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 3d 20 24 70 61 .....$parentObj->registerA.=.$pa
47780 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d rentObj->memoryRead(($parentObj-
477a0 3e 6d 65 6d 6f 72 79 52 65 61 64 28 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d >memoryRead(($parentObj->program
477c0 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 46 46 29 20 3c 3c 20 38 29 20 2b 20 24 Counter.+.1).&.0xFFFF).<<.8).+.$
477e0 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e 74 4f parentObj->memoryReader[$parentO
47800 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a 2c 20 bj->programCounter]($parentObj,.
47820 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 29 3b 0a 20 20 $parentObj->programCounter));...
47840 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 ..........$parentObj->programCou
47860 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 nter.=.($parentObj->programCount
47880 65 72 20 2b 20 32 29 20 26 20 30 78 46 46 46 46 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 er.+.2).&.0xFFFF;.........};....
478a0 20 20 20 20 20 2f 2f 45 49 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 42 3a 0a 20 20 20 20 20 .....//EI.........//#0xFB:......
478c0 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e ...$this->functionsArray[].=.fun
478e0 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ction.($parentObj).{............
47900 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 74 69 6c 45 6e 61 62 6c 65 20 3d 20 32 3b 0a 20 20 .$parentObj->untilEnable.=.2;...
47920 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 30 78 46 43 20 2d 20 49 6c 6c 65 67 61 ......};.........//0xFC.-.Illega
47940 6c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 43 3a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 l.........//#0xFC:.........$this
47960 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 ->functionsArray[].=.function.($
47980 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 27 49 parentObj).{.............echo.'I
479a0 6c 6c 65 67 61 6c 20 6f 70 20 63 6f 64 65 20 30 78 46 43 20 63 61 6c 6c 65 64 2c 20 70 61 75 73 llegal.op.code.0xFC.called,.paus
479c0 69 6e 67 20 65 6d 75 6c 61 74 69 6f 6e 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 ing.emulation.';.............exi
479e0 74 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 30 78 46 44 20 2d t();.........};.........//0xFD.-
47a00 20 49 6c 6c 65 67 61 6c 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 44 3a 0a 20 20 20 20 20 20 .Illegal.........//#0xFD:.......
47a20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 ..$this->functionsArray[].=.func
47a40 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.($parentObj).{.............
47a60 65 63 68 6f 20 27 49 6c 6c 65 67 61 6c 20 6f 70 20 63 6f 64 65 20 30 78 46 44 20 63 61 6c 6c 65 echo.'Illegal.op.code.0xFD.calle
47a80 64 2c 20 70 61 75 73 69 6e 67 20 65 6d 75 6c 61 74 69 6f 6e 2e 27 3b 0a 20 20 20 20 20 20 20 20 d,.pausing.emulation.';.........
47aa0 20 20 20 20 65 78 69 74 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f ....exit();.........};........./
47ac0 2f 43 50 20 6e 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 45 3a 0a 20 20 20 20 20 20 20 20 24 /CP.n.........//#0xFE:.........$
47ae0 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 75 6e 63 74 69 6f this->functionsArray[].=.functio
47b00 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 n.($parentObj).{.............$di
47b20 72 74 79 53 75 6d 20 3d 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 65 72 41 20 2d rtySum.=.$parentObj->registerA.-
47b40 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 52 65 61 64 65 72 5b 24 70 61 72 65 6e .$parentObj->memoryReader[$paren
47b60 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 5d 28 24 70 61 72 65 6e 74 4f 62 6a tObj->programCounter]($parentObj
47b80 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 29 3b 0a 20 ,.$parentObj->programCounter);..
47ba0 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 48 61 6c 66 43 61 72 72 ...........$parentObj->FHalfCarr
47bc0 79 20 3d 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 62 74 75 62 28 24 64 69 72 74 79 53 y.=.($parentObj->unsbtub($dirtyS
47be0 75 6d 29 20 26 20 30 78 46 29 20 3e 20 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 72 65 67 69 73 74 um).&.0xF).>.($parentObj->regist
47c00 65 72 41 20 26 20 30 78 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f erA.&.0xF);.............$parentO
47c20 62 6a 2d 3e 46 43 61 72 72 79 20 3d 20 28 24 64 69 72 74 79 53 75 6d 20 3c 20 30 29 3b 0a 20 20 bj->FCarry.=.($dirtySum.<.0);...
47c40 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 5a 65 72 6f 20 3d 20 28 24 ..........$parentObj->FZero.=.($
47c60 64 69 72 74 79 53 75 6d 20 3d 3d 20 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 dirtySum.==.0);.............$par
47c80 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 28 24 70 61 72 65 6e entObj->programCounter.=.($paren
47ca0 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 2b 20 31 29 20 26 20 30 78 46 46 tObj->programCounter.+.1).&.0xFF
47cc0 46 46 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 46 53 75 62 FF;.............$parentObj->FSub
47ce0 74 72 61 63 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 tract.=.true;.........};........
47d00 20 2f 2f 52 53 54 20 30 78 33 38 0a 20 20 20 20 20 20 20 20 2f 2f 23 30 78 46 46 3a 0a 20 20 20 .//RST.0x38.........//#0xFF:....
47d20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 5b 5d 20 3d 20 66 .....$this->functionsArray[].=.f
47d40 75 6e 63 74 69 6f 6e 20 28 24 70 61 72 65 6e 74 4f 62 6a 29 20 7b 0a 20 20 20 20 20 20 20 20 20 unction.($parentObj).{..........
47d60 20 20 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 ...$parentObj->stackPointer.=.$p
47d80 61 72 65 6e 74 4f 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 arentObj->unswtuw($parentObj->st
47da0 61 63 6b 50 6f 69 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 ackPointer.-.1);.............$pa
47dc0 72 65 6e 74 4f 62 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d rentObj->memoryWrite($parentObj-
47de0 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 >stackPointer,.$parentObj->progr
47e00 61 6d 43 6f 75 6e 74 65 72 20 3e 3e 20 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 amCounter.>>.8);.............$pa
47e20 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 6e 74 65 72 20 3d 20 24 70 61 72 65 6e 74 4f rentObj->stackPointer.=.$parentO
47e40 62 6a 2d 3e 75 6e 73 77 74 75 77 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b 50 6f 69 bj->unswtuw($parentObj->stackPoi
47e60 6e 74 65 72 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4f 62 nter.-.1);.............$parentOb
47e80 6a 2d 3e 6d 65 6d 6f 72 79 57 72 69 74 65 28 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 73 74 61 63 6b j->memoryWrite($parentObj->stack
47ea0 50 6f 69 6e 74 65 72 2c 20 24 70 61 72 65 6e 74 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e Pointer,.$parentObj->programCoun
47ec0 74 65 72 20 26 20 30 78 46 46 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 ter.&.0xFF);.............$parent
47ee0 4f 62 6a 2d 3e 70 72 6f 67 72 61 6d 43 6f 75 6e 74 65 72 20 3d 20 30 78 33 38 3b 0a 20 20 20 20 Obj->programCounter.=.0x38;.....
47f00 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ....};.....}......public.functio
47f20 6e 20 67 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 n.get().....{.........return.$th
47f40 69 73 2d 3e 66 75 6e 63 74 69 6f 6e 73 41 72 72 61 79 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 is->functionsArray;.....}.}.<?ph
47f60 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 47 61 6d 65 42 6f 79 3b 0a 0a 63 6c 61 73 73 20 53 65 74 p..namespace.GameBoy;..class.Set
47f80 74 69 6e 67 73 0a 7b 0a 20 20 20 20 2f 2f 53 6f 6d 65 20 73 65 74 74 69 6e 67 73 2e 0a 20 20 20 tings.{.....//Some.settings.....
47fa0 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 73 65 74 74 69 6e 67 73 20 3d 20 5b 0a 20 20 20 .public.static.$settings.=.[....
47fc0 20 20 20 20 20 2f 2f 5b 30 5d 20 2d 20 54 75 72 6e 20 6f 6e 20 73 6f 75 6e 64 2e 0a 20 20 20 20 .....//[0].-.Turn.on.sound......
47fe0 20 20 20 20 66 61 6c 73 65 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 31 5d 20 2d 20 46 6f 72 63 ....false,..........//[1].-.Forc
48000 65 20 4d 6f 6e 6f 20 73 6f 75 6e 64 2e 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 0a 20 20 e.Mono.sound..........false,....
48020 20 20 20 20 20 20 2f 2f 5b 32 5d 20 2d 20 47 69 76 65 20 70 72 69 6f 72 69 74 79 20 74 6f 20 47 ......//[2].-.Give.priority.to.G
48040 61 6d 65 42 6f 79 20 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 0a 20 20 20 20 20 ameBoy.mode.........true,.......
48060 20 20 20 2f 2f 5b 33 5d 20 2d 20 4b 65 79 62 6f 61 72 64 20 62 75 74 74 6f 6e 20 6d 61 70 2e 0a ...//[3].-.Keyboard.button.map..
48080 20 20 20 20 20 20 20 20 2f 2f 4f 72 64 65 72 3a 20 52 69 67 68 74 2c 20 4c 65 66 74 2c 20 55 70 ........//Order:.Right,.Left,.Up
480a0 2c 20 44 6f 77 6e 2c 20 41 2c 20 42 2c 20 53 65 6c 65 63 74 2c 20 53 74 61 72 74 0a 20 20 20 20 ,.Down,.A,.B,.Select,.Start.....
480c0 20 20 20 20 5b 27 64 27 2c 20 27 61 27 2c 20 27 77 27 2c 20 27 73 27 2c 20 27 2c 27 2c 20 27 2e ....['d',.'a',.'w',.'s',.',',.'.
480e0 27 2c 20 27 6e 27 2c 20 27 6d 27 5d 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 34 5d 20 2d 20 46 ',.'n',.'m'],..........//[4].-.F
48100 72 61 6d 65 73 6b 69 70 20 41 6d 6f 75 6e 74 20 28 41 75 74 6f 20 66 72 61 6d 65 73 6b 69 70 20 rameskip.Amount.(Auto.frameskip.
48120 73 65 74 74 69 6e 67 20 61 6c 6c 6f 77 73 20 74 68 65 20 73 63 72 69 70 74 20 74 6f 20 63 68 61 setting.allows.the.script.to.cha
48140 6e 67 65 20 74 68 69 73 2e 29 0a 20 20 20 20 20 20 20 20 30 2c 0a 0a 20 20 20 20 20 20 20 20 2f nge.this.).........0,........../
48160 2f 5b 35 5d 20 2d 20 55 73 65 20 74 68 65 20 64 61 74 61 20 55 52 49 20 42 4d 50 20 6d 65 74 68 /[5].-.Use.the.data.URI.BMP.meth
48180 6f 64 20 6f 76 65 72 20 74 68 65 20 63 61 6e 76 61 73 20 74 61 67 20 6d 65 74 68 6f 64 3f 0a 20 od.over.the.canvas.tag.method?..
481a0 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 36 5d 20 2d 20 48 .......false,..........//[6].-.H
481c0 6f 77 20 6d 61 6e 79 20 74 69 6c 65 73 20 69 6e 20 65 61 63 68 20 64 69 72 65 63 74 69 6f 6e 20 ow.many.tiles.in.each.direction.
481e0 77 68 65 6e 20 75 73 69 6e 67 20 74 68 65 20 42 4d 50 20 6d 65 74 68 6f 64 20 28 77 69 64 74 68 when.using.the.BMP.method.(width
48200 20 2a 20 68 65 69 67 68 74 29 2e 0a 20 20 20 20 20 20 20 20 5b 31 36 2c 20 31 32 5d 2c 0a 0a 20 .*.height)..........[16,.12],...
48220 20 20 20 20 20 20 20 2f 2f 5b 37 5d 20 2d 20 41 75 74 6f 20 46 72 61 6d 65 20 53 6b 69 70 0a 20 .......//[7].-.Auto.Frame.Skip..
48240 20 20 20 20 20 20 20 74 72 75 65 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 38 5d 20 2d 20 4d 61 .......true,..........//[8].-.Ma
48260 78 69 6d 75 6d 20 46 72 61 6d 65 20 53 6b 69 70 0a 20 20 20 20 20 20 20 20 32 39 2c 0a 0a 20 20 ximum.Frame.Skip.........29,....
48280 20 20 20 20 20 20 2f 2f 5b 39 5d 20 2d 20 4f 76 65 72 72 69 64 65 20 74 6f 20 61 6c 6c 6f 77 20 ......//[9].-.Override.to.allow.
482a0 66 6f 72 20 4d 42 43 31 20 69 6e 73 74 65 61 64 20 6f 66 20 52 4f 4d 20 6f 6e 6c 79 20 28 63 6f for.MBC1.instead.of.ROM.only.(co
482c0 6d 70 61 74 69 62 69 6c 69 74 79 20 66 6f 72 20 62 72 6f 6b 65 6e 20 33 72 64 2d 70 61 72 74 79 mpatibility.for.broken.3rd-party
482e0 20 63 61 72 74 72 69 64 67 65 73 29 2e 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 0a 20 20 20 .cartridges)..........true,.....
48300 20 20 20 20 20 2f 2f 5b 31 30 5d 20 2d 20 4f 76 65 72 72 69 64 65 20 4d 42 43 20 52 41 4d 20 64 .....//[10].-.Override.MBC.RAM.d
48320 69 73 61 62 6c 69 6e 67 20 61 6e 64 20 61 6c 77 61 79 73 20 61 6c 6c 6f 77 20 72 65 61 64 69 6e isabling.and.always.allow.readin
48340 67 20 61 6e 64 20 77 72 69 74 69 6e 67 20 74 6f 20 74 68 65 20 62 61 6e 6b 73 2e 0a 20 20 20 20 g.and.writing.to.the.banks......
48360 20 20 20 20 74 72 75 65 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 31 31 5d 20 2d 20 41 75 64 69 ....true,..........//[11].-.Audi
48380 6f 20 67 72 61 6e 75 6c 61 72 69 74 79 20 73 65 74 74 69 6e 67 20 28 53 61 6d 70 6c 69 6e 67 20 o.granularity.setting.(Sampling.
483a0 6f 66 20 61 75 64 69 6f 20 65 76 65 72 79 20 78 20 6d 61 6e 79 20 6d 61 63 68 69 6e 65 20 63 79 of.audio.every.x.many.machine.cy
483c0 63 6c 65 73 29 0a 20 20 20 20 20 20 20 20 32 30 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 31 32 cles).........20,..........//[12
483e0 5d 20 2d 20 46 72 61 6d 65 73 6b 69 70 20 62 61 73 65 20 66 61 63 74 6f 72 0a 20 20 20 20 20 20 ].-.Frameskip.base.factor.......
48400 20 20 31 30 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 31 33 5d 20 2d 20 54 61 72 67 65 74 20 6e ..10,..........//[13].-.Target.n
48420 75 6d 62 65 72 20 6f 66 20 6d 61 63 68 69 6e 65 20 63 79 63 6c 65 73 20 70 65 72 20 6c 6f 6f 70 umber.of.machine.cycles.per.loop
48440 2e 20 28 34 2c 31 39 34 2c 33 30 30 20 2f 20 31 30 30 30 20 2a 20 31 37 29 0a 20 20 20 20 20 20 ..(4,194,300./.1000.*.17).......
48460 20 20 31 37 38 32 36 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 31 34 5d 20 2d 20 53 61 6d 70 6c ..17826,..........//[14].-.Sampl
48480 65 20 52 61 74 65 0a 20 20 20 20 20 20 20 20 37 30 30 30 30 2c 0a 0a 20 20 20 20 20 20 20 20 2f e.Rate.........70000,........../
484a0 2f 5b 31 35 5d 20 2d 20 48 6f 77 20 6d 61 6e 79 20 62 69 74 73 20 70 65 72 20 57 41 56 20 50 43 /[15].-.How.many.bits.per.WAV.PC
484c0 4d 20 73 61 6d 70 6c 65 20 28 46 6f 72 20 62 72 6f 77 73 65 72 73 20 74 68 61 74 20 66 61 6c 6c M.sample.(For.browsers.that.fall
484e0 20 62 61 63 6b 20 74 6f 20 57 41 56 20 50 43 4d 20 67 65 6e 65 72 61 74 69 6f 6e 29 0a 20 20 20 .back.to.WAV.PCM.generation)....
48500 20 20 20 20 20 30 78 31 30 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 31 36 5d 20 2d 20 55 73 65 .....0x10,..........//[16].-.Use
48520 20 74 68 65 20 47 42 43 20 42 49 4f 53 3f 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 0a 20 .the.GBC.BIOS?.........false,...
48540 20 20 20 20 20 20 20 2f 2f 5b 31 37 5d 20 2d 20 43 6f 6c 6f 72 69 7a 65 20 47 42 20 6d 6f 64 65 .......//[17].-.Colorize.GB.mode
48560 3f 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 31 38 5d ?.........false,..........//[18]
48580 20 2d 20 53 61 6d 70 6c 65 20 73 69 7a 65 20 66 6f 72 20 77 65 62 6b 69 74 20 61 75 64 69 6f 2e .-.Sample.size.for.webkit.audio.
485a0 0a 20 20 20 20 20 20 20 20 35 31 32 2c 0a 0a 20 20 20 20 20 20 20 20 2f 2f 5b 31 39 5d 20 2d 20 .........512,..........//[19].-.
485c0 57 68 65 74 68 65 72 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 63 61 6e 76 61 73 20 61 74 Whether.to.display.the.canvas.at
485e0 20 31 34 34 78 31 36 30 20 6f 6e 20 66 75 6c 6c 73 63 72 65 65 6e 20 6f 72 20 61 73 20 73 74 72 .144x160.on.fullscreen.or.as.str
48600 65 74 63 68 65 64 2e 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 0a 20 20 20 20 20 20 20 20 etched..........false,..........
48620 2f 2f 5b 32 30 5d 20 2d 20 49 6e 74 65 72 76 61 6c 20 66 6f 72 20 74 68 65 20 65 6d 75 6c 61 74 //[20].-.Interval.for.the.emulat
48640 6f 72 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 20 20 20 31 37 2c 0a 20 20 20 20 5d 3b 0a 7d 0a 3c 3f or.loop..........17,.....];.}.<?
48660 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 47 61 6d 65 42 6f 79 3b 0a 0a 63 6c 61 73 73 20 54 php..namespace.GameBoy;..class.T
48680 49 43 4b 54 61 62 6c 65 73 0a 7b 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 70 ICKTables.{.....public.static.$p
486a0 72 69 6d 61 72 79 20 3d 20 5b 0a 20 20 20 20 20 20 20 20 2f 2f 4e 75 6d 62 65 72 20 6f 66 20 6d rimary.=.[.........//Number.of.m
486c0 61 63 68 69 6e 65 20 63 79 63 6c 65 73 20 66 6f 72 20 65 61 63 68 20 69 6e 73 74 72 75 63 74 69 achine.cycles.for.each.instructi
486e0 6f 6e 3a 0a 20 20 20 20 20 20 20 20 2f 2a 20 20 30 2c 20 31 2c 20 32 2c 20 33 2c 20 34 2c 20 35 on:........./*..0,.1,.2,.3,.4,.5
48700 2c 20 36 2c 20 37 2c 20 20 20 20 20 38 2c 20 39 2c 20 41 2c 20 42 2c 20 43 2c 20 44 2c 20 45 2c ,.6,.7,.....8,.9,.A,.B,.C,.D,.E,
48720 20 46 2a 2f 0a 20 20 20 20 20 20 20 20 31 2c 20 33 2c 20 32 2c 20 32 2c 20 31 2c 20 31 2c 20 32 .F*/.........1,.3,.2,.2,.1,.1,.2
48740 2c 20 31 2c 20 35 2c 20 32 2c 20 32 2c 20 32 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 2f 2f 30 ,.1,.5,.2,.2,.2,.1,.1,.2,.1,.//0
48760 0a 20 20 20 20 20 20 20 20 31 2c 20 33 2c 20 32 2c 20 32 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c .........1,.3,.2,.2,.1,.1,.2,.1,
48780 20 33 2c 20 32 2c 20 32 2c 20 32 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 2f 2f 31 0a 20 20 20 .3,.2,.2,.2,.1,.1,.2,.1,.//1....
487a0 20 20 20 20 20 32 2c 20 33 2c 20 32 2c 20 32 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 32 2c 20 .....2,.3,.2,.2,.1,.1,.2,.1,.2,.
487c0 32 2c 20 32 2c 20 32 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 2f 2f 32 0a 20 20 20 20 20 20 20 2,.2,.2,.1,.1,.2,.1,.//2........
487e0 20 32 2c 20 33 2c 20 32 2c 20 32 2c 20 33 2c 20 33 2c 20 33 2c 20 31 2c 20 32 2c 20 32 2c 20 32 .2,.3,.2,.2,.3,.3,.3,.1,.2,.2,.2
48800 2c 20 32 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 2f 2f 33 0a 0a 20 20 20 20 20 20 20 20 31 2c ,.2,.1,.1,.2,.1,.//3..........1,
48820 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 .1,.1,.1,.1,.1,.2,.1,.1,.1,.1,.1
48840 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 2f 2f 34 0a 20 20 20 20 20 20 20 20 31 2c 20 31 2c 20 ,.1,.1,.2,.1,.//4.........1,.1,.
48860 31 2c 20 31 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 1,.1,.1,.1,.2,.1,.1,.1,.1,.1,.1,
48880 20 31 2c 20 32 2c 20 31 2c 20 2f 2f 35 0a 20 20 20 20 20 20 20 20 31 2c 20 31 2c 20 31 2c 20 31 .1,.2,.1,.//5.........1,.1,.1,.1
488a0 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 ,.1,.1,.2,.1,.1,.1,.1,.1,.1,.1,.
488c0 32 2c 20 31 2c 20 2f 2f 36 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 2,.1,.//6.........2,.2,.2,.2,.2,
488e0 20 32 2c 20 31 2c 20 32 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 32 2c 20 31 .2,.1,.2,.1,.1,.1,.1,.1,.1,.2,.1
48900 2c 20 2f 2f 37 0a 0a 20 20 20 20 20 20 20 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c ,.//7..........1,.1,.1,.1,.1,.1,
48920 20 32 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 2f .2,.1,.1,.1,.1,.1,.1,.1,.2,.1,./
48940 2f 38 0a 20 20 20 20 20 20 20 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 32 2c 20 /8.........1,.1,.1,.1,.1,.1,.2,.
48960 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 2f 2f 39 0a 20 1,.1,.1,.1,.1,.1,.1,.2,.1,.//9..
48980 20 20 20 20 20 20 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 31 .......1,.1,.1,.1,.1,.1,.2,.1,.1
489a0 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 2f 2f 41 0a 20 20 20 20 20 ,.1,.1,.1,.1,.1,.2,.1,.//A......
489c0 20 20 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 31 2c 20 31 2c ...1,.1,.1,.1,.1,.1,.2,.1,.1,.1,
489e0 20 31 2c 20 31 2c 20 31 2c 20 31 2c 20 32 2c 20 31 2c 20 2f 2f 42 0a 0a 20 20 20 20 20 20 20 20 .1,.1,.1,.1,.2,.1,.//B..........
48a00 32 2c 20 33 2c 20 33 2c 20 34 2c 20 33 2c 20 34 2c 20 32 2c 20 34 2c 20 32 2c 20 34 2c 20 33 2c 2,.3,.3,.4,.3,.4,.2,.4,.2,.4,.3,
48a20 20 32 2c 20 33 2c 20 36 2c 20 32 2c 20 34 2c 20 2f 2f 43 0a 20 20 20 20 20 20 20 20 32 2c 20 33 .2,.3,.6,.2,.4,.//C.........2,.3
48a40 2c 20 33 2c 20 31 2c 20 33 2c 20 34 2c 20 32 2c 20 34 2c 20 32 2c 20 34 2c 20 33 2c 20 31 2c 20 ,.3,.1,.3,.4,.2,.4,.2,.4,.3,.1,.
48a60 33 2c 20 31 2c 20 32 2c 20 34 2c 20 2f 2f 44 0a 20 20 20 20 20 20 20 20 33 2c 20 33 2c 20 32 2c 3,.1,.2,.4,.//D.........3,.3,.2,
48a80 20 31 2c 20 31 2c 20 34 2c 20 32 2c 20 34 2c 20 34 2c 20 31 2c 20 34 2c 20 31 2c 20 31 2c 20 31 .1,.1,.4,.2,.4,.4,.1,.4,.1,.1,.1
48aa0 2c 20 32 2c 20 34 2c 20 2f 2f 45 0a 20 20 20 20 20 20 20 20 33 2c 20 33 2c 20 32 2c 20 31 2c 20 ,.2,.4,.//E.........3,.3,.2,.1,.
48ac0 31 2c 20 34 2c 20 32 2c 20 34 2c 20 33 2c 20 32 2c 20 34 2c 20 31 2c 20 30 2c 20 31 2c 20 32 2c 1,.4,.2,.4,.3,.2,.4,.1,.0,.1,.2,
48ae0 20 34 2c 20 2f 2f 46 0a 0a 20 20 20 20 5d 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 .4,.//F......];......public.stat
48b00 69 63 20 24 73 65 63 6f 6e 64 61 72 79 20 3d 20 5b 0a 20 20 20 20 20 20 20 20 2f 2f 4e 75 6d 62 ic.$secondary.=.[.........//Numb
48b20 65 72 20 6f 66 20 6d 61 63 68 69 6e 65 20 63 79 63 6c 65 73 20 66 6f 72 20 65 61 63 68 20 30 78 er.of.machine.cycles.for.each.0x
48b40 43 42 58 58 20 69 6e 73 74 72 75 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 2f 2a 20 20 30 2c CBXX.instruction:........./*..0,
48b60 20 31 2c 20 32 2c 20 33 2c 20 34 2c 20 35 2c 20 36 2c 20 37 2c 20 20 20 20 20 38 2c 20 39 2c 20 .1,.2,.3,.4,.5,.6,.7,.....8,.9,.
48b80 41 2c 20 42 2c 20 43 2c 20 44 2c 20 45 2c 20 46 2a 2f 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c A,.B,.C,.D,.E,.F*/.........2,.2,
48ba0 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 .2,.2,.2,.2,.4,.2,.2,.2,.2,.2,.2
48bc0 2c 20 32 2c 20 34 2c 20 32 2c 20 2f 2f 30 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 ,.2,.4,.2,.//0.........2,.2,.2,.
48be0 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 2,.2,.2,.4,.2,.2,.2,.2,.2,.2,.2,
48c00 20 34 2c 20 32 2c 20 2f 2f 31 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 .4,.2,.//1.........2,.2,.2,.2,.2
48c20 2c 20 32 2c 20 34 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 ,.2,.4,.2,.2,.2,.2,.2,.2,.2,.4,.
48c40 32 2c 20 2f 2f 32 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 2,.//2.........2,.2,.2,.2,.2,.2,
48c60 20 34 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 2f .4,.2,.2,.2,.2,.2,.2,.2,.4,.2,./
48c80 2f 33 0a 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 33 2c /3..........2,.2,.2,.2,.2,.2,.3,
48ca0 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 33 2c 20 32 2c 20 2f 2f 34 0a .2,.2,.2,.2,.2,.2,.2,.3,.2,.//4.
48cc0 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 33 2c 20 32 2c 20 ........2,.2,.2,.2,.2,.2,.3,.2,.
48ce0 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 33 2c 20 32 2c 20 2f 2f 35 0a 20 20 20 20 2,.2,.2,.2,.2,.2,.3,.2,.//5.....
48d00 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 33 2c 20 32 2c 20 32 2c 20 32 ....2,.2,.2,.2,.2,.2,.3,.2,.2,.2
48d20 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 33 2c 20 32 2c 20 2f 2f 36 0a 20 20 20 20 20 20 20 20 ,.2,.2,.2,.2,.3,.2,.//6.........
48d40 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 33 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 2,.2,.2,.2,.2,.2,.3,.2,.2,.2,.2,
48d60 20 32 2c 20 32 2c 20 32 2c 20 33 2c 20 32 2c 20 2f 2f 37 0a 0a 20 20 20 20 20 20 20 20 32 2c 20 .2,.2,.2,.3,.2,.//7..........2,.
48d80 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 2,.2,.2,.2,.2,.4,.2,.2,.2,.2,.2,
48da0 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 2f 2f 38 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 .2,.2,.4,.2,.//8.........2,.2,.2
48dc0 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 ,.2,.2,.2,.4,.2,.2,.2,.2,.2,.2,.
48de0 32 2c 20 34 2c 20 32 2c 20 2f 2f 39 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 2,.4,.2,.//9.........2,.2,.2,.2,
48e00 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 .2,.2,.4,.2,.2,.2,.2,.2,.2,.2,.4
48e20 2c 20 32 2c 20 2f 2f 41 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 ,.2,.//A.........2,.2,.2,.2,.2,.
48e40 32 2c 20 34 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 2,.4,.2,.2,.2,.2,.2,.2,.2,.4,.2,
48e60 20 2f 2f 42 0a 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 .//B..........2,.2,.2,.2,.2,.2,.
48e80 34 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 2f 2f 4,.2,.2,.2,.2,.2,.2,.2,.4,.2,.//
48ea0 43 0a 20 20 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 C.........2,.2,.2,.2,.2,.2,.4,.2
48ec0 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 2f 2f 44 0a 20 20 ,.2,.2,.2,.2,.2,.2,.4,.2,.//D...
48ee0 20 20 20 20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 32 2c ......2,.2,.2,.2,.2,.2,.4,.2,.2,
48f00 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 2f 2f 45 0a 20 20 20 20 20 20 .2,.2,.2,.2,.2,.4,.2,.//E.......
48f20 20 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 32 2c 20 32 2c 20 ..2,.2,.2,.2,.2,.2,.4,.2,.2,.2,.
48f40 32 2c 20 32 2c 20 32 2c 20 32 2c 20 34 2c 20 32 2c 20 2f 2f 46 0a 20 20 20 20 5d 3b 0a 7d 0a 3c 2,.2,.2,.2,.4,.2,.//F.....];.}.<
48f60 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 ?php../*..*.This.file.is.part.of
48f80 20 43 6f 6d 70 6f 73 65 72 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 4e 69 6c 73 20 41 64 65 72 6d 61 .Composer...*..*.(c).Nils.Aderma
48fa0 6e 6e 20 3c 6e 61 64 65 72 6d 61 6e 40 6e 61 64 65 72 6d 61 6e 2e 64 65 3e 0a 20 2a 20 20 20 20 nn.<naderman@naderman.de>..*....
48fc0 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 .Jordi.Boggiano.<j.boggiano@seld
48fe0 2e 62 65 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 .be>..*..*.For.the.full.copyrigh
49000 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 t.and.license.information,.pleas
49020 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 e.view.the.LICENSE..*.file.that.
49040 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 was.distributed.with.this.source
49060 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 .code...*/..namespace.Composer\A
49080 75 74 6f 6c 6f 61 64 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6c 61 73 73 4c 6f 61 64 65 72 20 69 6d 70 utoload;../**..*.ClassLoader.imp
490a0 6c 65 6d 65 6e 74 73 20 61 20 50 53 52 2d 30 2c 20 50 53 52 2d 34 20 61 6e 64 20 63 6c 61 73 73 lements.a.PSR-0,.PSR-4.and.class
490c0 6d 61 70 20 63 6c 61 73 73 20 6c 6f 61 64 65 72 2e 0a 20 2a 0a 20 2a 20 20 20 20 20 24 6c 6f 61 map.class.loader...*..*.....$loa
490e0 64 65 72 20 3d 20 6e 65 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 der.=.new.\Composer\Autoload\Cla
49100 73 73 4c 6f 61 64 65 72 28 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 2f 2f 20 72 65 67 69 73 74 65 ssLoader();..*..*.....//.registe
49120 72 20 63 6c 61 73 73 65 73 20 77 69 74 68 20 6e 61 6d 65 73 70 61 63 65 73 0a 20 2a 20 20 20 20 r.classes.with.namespaces..*....
49140 20 24 6c 6f 61 64 65 72 2d 3e 61 64 64 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .$loader->add('Symfony\Component
49160 27 2c 20 5f 5f 44 49 52 5f 5f 2e 27 2f 63 6f 6d 70 6f 6e 65 6e 74 27 29 3b 0a 20 2a 20 20 20 20 ',.__DIR__.'/component');..*....
49180 20 24 6c 6f 61 64 65 72 2d 3e 61 64 64 28 27 53 79 6d 66 6f 6e 79 27 2c 20 20 20 20 20 20 20 20 .$loader->add('Symfony',........
491a0 20 20 20 5f 5f 44 49 52 5f 5f 2e 27 2f 66 72 61 6d 65 77 6f 72 6b 27 29 3b 0a 20 2a 0a 20 2a 20 ...__DIR__.'/framework');..*..*.
491c0 20 20 20 20 2f 2f 20 61 63 74 69 76 61 74 65 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 0a 20 ....//.activate.the.autoloader..
491e0 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 29 3b 0a 20 2a 0a 20 2a *.....$loader->register();..*..*
49200 20 20 20 20 20 2f 2f 20 74 6f 20 65 6e 61 62 6c 65 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 .....//.to.enable.searching.the.
49220 69 6e 63 6c 75 64 65 20 70 61 74 68 20 28 65 67 2e 20 66 6f 72 20 50 45 41 52 20 70 61 63 6b 61 include.path.(eg..for.PEAR.packa
49240 67 65 73 29 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 55 73 65 49 6e 63 6c 75 ges)..*.....$loader->setUseInclu
49260 64 65 50 61 74 68 28 74 72 75 65 29 3b 0a 20 2a 0a 20 2a 20 49 6e 20 74 68 69 73 20 65 78 61 6d dePath(true);..*..*.In.this.exam
49280 70 6c 65 2c 20 69 66 20 79 6f 75 20 74 72 79 20 74 6f 20 75 73 65 20 61 20 63 6c 61 73 73 20 69 ple,.if.you.try.to.use.a.class.i
492a0 6e 20 74 68 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 0a 20 2a 20 6e 61 6d 65 73 n.the.Symfony\Component..*.names
492c0 70 61 63 65 20 6f 72 20 6f 6e 65 20 6f 66 20 69 74 73 20 63 68 69 6c 64 72 65 6e 20 28 53 79 6d pace.or.one.of.its.children.(Sym
492e0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 20 66 6f 72 20 69 6e 73 74 61 fony\Component\Console.for.insta
49300 6e 63 65 29 2c 0a 20 2a 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 66 69 72 nce),..*.the.autoloader.will.fir
49320 73 74 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 63 6c 61 73 73 20 75 6e 64 65 72 20 74 68 65 20 st.look.for.the.class.under.the.
49340 63 6f 6d 70 6f 6e 65 6e 74 2f 0a 20 2a 20 64 69 72 65 63 74 6f 72 79 2c 20 61 6e 64 20 69 74 20 component/..*.directory,.and.it.
49360 77 69 6c 6c 20 74 68 65 6e 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20 74 68 65 20 66 72 61 6d 65 77 will.then.fallback.to.the.framew
49380 6f 72 6b 2f 20 64 69 72 65 63 74 6f 72 79 20 69 66 20 6e 6f 74 0a 20 2a 20 66 6f 75 6e 64 20 62 ork/.directory.if.not..*.found.b
493a0 65 66 6f 72 65 20 67 69 76 69 6e 67 20 75 70 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 63 6c 61 73 efore.giving.up...*..*.This.clas
493c0 73 20 69 73 20 6c 6f 6f 73 65 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 53 79 6d 66 6f 6e s.is.loosely.based.on.the.Symfon
493e0 79 20 55 6e 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 72 2e 0a 20 2a 0a 20 2a 20 40 61 y.UniversalClassLoader...*..*.@a
49400 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 uthor.Fabien.Potencier.<fabien@s
49420 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a 6f 72 64 69 20 42 6f 67 ymfony.com>..*.@author.Jordi.Bog
49440 67 69 61 6e 6f 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 2e 62 65 3e 0a 20 2a 20 40 73 giano.<j.boggiano@seld.be>..*.@s
49460 65 65 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2d 66 69 67 2e 6f 72 67 2f 70 73 72 ee....http://www.php-fig.org/psr
49480 2f 70 73 72 2d 30 2f 0a 20 2a 20 40 73 65 65 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 /psr-0/..*.@see....http://www.ph
494a0 70 2d 66 69 67 2e 6f 72 67 2f 70 73 72 2f 70 73 72 2d 34 2f 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 p-fig.org/psr/psr-4/..*/.class.C
494c0 6c 61 73 73 4c 6f 61 64 65 72 0a 7b 0a 20 20 20 20 2f 2f 20 50 53 52 2d 34 0a 20 20 20 20 70 72 lassLoader.{.....//.PSR-4.....pr
494e0 69 76 61 74 65 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 20 3d 20 61 72 72 61 79 ivate.$prefixLengthsPsr4.=.array
49500 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 44 69 72 73 50 73 72 34 20 ();.....private.$prefixDirsPsr4.
49520 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b =.array();.....private.$fallback
49540 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 2f 2f 20 50 53 52 2d DirsPsr4.=.array();......//.PSR-
49560 30 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 65 73 50 73 72 30 20 3d 20 61 72 0.....private.$prefixesPsr0.=.ar
49580 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 44 69 72 73 ray();.....private.$fallbackDirs
495a0 50 73 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 75 73 Psr0.=.array();......private.$us
495c0 65 49 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 69 76 61 74 eIncludePath.=.false;.....privat
495e0 65 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 70 72 69 76 e.$classMap.=.array();......priv
49600 61 74 65 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c ate.$classMapAuthoritative.=.fal
49620 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 se;......public.function.getPref
49640 69 78 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 ixes().....{.........if.(!empty(
49660 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 $this->prefixesPsr0)).{.........
49680 20 20 20 20 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 ....return.call_user_func_array(
496a0 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 'array_merge',.$this->prefixesPs
496c0 72 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 r0);.........}..........return.a
496e0 72 72 61 79 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rray();.....}......public.functi
49700 6f 6e 20 67 65 74 50 72 65 66 69 78 65 73 50 73 72 34 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 on.getPrefixesPsr4().....{......
49720 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 3b ...return.$this->prefixDirsPsr4;
49740 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 .....}......public.function.getF
49760 61 6c 6c 62 61 63 6b 44 69 72 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 allbackDirs().....{.........retu
49780 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 3b 0a 20 20 20 20 rn.$this->fallbackDirsPsr0;.....
497a0 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 }......public.function.getFallba
497c0 63 6b 44 69 72 73 50 73 72 34 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 ckDirsPsr4().....{.........retur
497e0 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 3b 0a 20 20 20 20 7d n.$this->fallbackDirsPsr4;.....}
49800 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 4d 61 ......public.function.getClassMa
49820 70 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e p().....{.........return.$this->
49840 63 6c 61 73 73 4d 61 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 classMap;.....}....../**......*.
49860 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 70 20 43 6c 61 73 73 20 74 6f 20 @param.array.$classMap.Class.to.
49880 66 69 6c 65 6e 61 6d 65 20 6d 61 70 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 filename.map......*/.....public.
498a0 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6c 61 73 73 4d 61 70 28 61 72 72 61 79 20 24 63 6c 61 73 function.addClassMap(array.$clas
498c0 73 4d 61 70 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 sMap).....{.........if.($this->c
498e0 6c 61 73 73 4d 61 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c lassMap).{.............$this->cl
49900 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 6c 61 73 assMap.=.array_merge($this->clas
49920 73 4d 61 70 2c 20 24 63 6c 61 73 73 4d 61 70 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 sMap,.$classMap);.........}.else
49940 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 20 3d .{.............$this->classMap.=
49960 20 24 63 6c 61 73 73 4d 61 70 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 .$classMap;.........}.....}.....
49980 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 ./**......*.Registers.a.set.of.P
499a0 53 52 2d 30 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e 20 70 72 65 SR-0.directories.for.a.given.pre
499c0 66 69 78 2c 20 65 69 74 68 65 72 0a 20 20 20 20 20 2a 20 61 70 70 65 6e 64 69 6e 67 20 6f 72 20 fix,.either......*.appending.or.
499e0 70 72 65 70 65 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6f 6e 65 73 20 70 72 65 76 69 6f 75 73 6c prepending.to.the.ones.previousl
49a00 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 70 72 65 66 69 78 2e 0a 20 20 20 20 20 2a 0a 20 20 y.set.for.this.prefix.......*...
49a20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 65 66 69 78 ...*.@param.string.......$prefix
49a40 20 20 54 68 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 ..The.prefix......*.@param.array
49a60 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 20 54 68 65 20 50 53 52 2d 30 20 72 6f 6f 74 20 |string.$paths...The.PSR-0.root.
49a80 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 20 directories......*.@param.bool..
49aa0 20 20 20 20 20 20 20 24 70 72 65 70 65 6e 64 20 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 70 65 .......$prepend.Whether.to.prepe
49ac0 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 nd.the.directories......*/.....p
49ae0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 ublic.function.add($prefix,.$pat
49b00 68 73 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 hs,.$prepend.=.false).....{.....
49b20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....if.(!$prefix).{.............
49b40 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 if.($prepend).{.................
49b60 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f $this->fallbackDirsPsr0.=.array_
49b80 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 merge(.....................(arra
49ba0 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 y).$paths,.....................$
49bc0 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 0a 20 20 20 20 20 20 20 20 20 this->fallbackDirsPsr0..........
49be0 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 .......);.............}.else.{..
49c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 ...............$this->fallbackDi
49c20 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 rsPsr0.=.array_merge(...........
49c40 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 ..........$this->fallbackDirsPsr
49c60 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 0,.....................(array).$
49c80 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 paths.................);........
49ca0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 .....}..............return;.....
49cc0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 69 72 73 74 20 3d 20 24 70 72 65 66 69 78 5b ....}..........$first.=.$prefix[
49ce0 30 5d 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 0];.........if.(!isset($this->pr
49d00 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a efixesPsr0[$first][$prefix])).{.
49d20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b ............$this->prefixesPsr0[
49d40 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 $first][$prefix].=.(array).$path
49d60 73 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 s;..............return;.........
49d80 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 }.........if.($prepend).{.......
49da0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 ......$this->prefixesPsr0[$first
49dc0 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 ][$prefix].=.array_merge(.......
49de0 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 20 20 20 ..........(array).$paths,.......
49e00 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 ..........$this->prefixesPsr0[$f
49e20 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 irst][$prefix].............);...
49e40 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 ......}.else.{.............$this
49e60 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 ->prefixesPsr0[$first][$prefix].
49e80 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 =.array_merge(.................$
49ea0 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 this->prefixesPsr0[$first][$pref
49ec0 69 78 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 ix],.................(array).$pa
49ee0 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ths.............);.........}....
49f00 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 .}....../**......*.Registers.a.s
49f20 65 74 20 6f 66 20 50 53 52 2d 34 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 et.of.PSR-4.directories.for.a.gi
49f40 76 65 6e 20 6e 61 6d 65 73 70 61 63 65 2c 20 65 69 74 68 65 72 0a 20 20 20 20 20 2a 20 61 70 70 ven.namespace,.either......*.app
49f60 65 6e 64 69 6e 67 20 6f 72 20 70 72 65 70 65 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6f 6e 65 73 ending.or.prepending.to.the.ones
49f80 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 6e 61 6d 65 73 70 61 .previously.set.for.this.namespa
49fa0 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 ce.......*......*.@param.string.
49fc0 20 20 20 20 20 20 24 70 72 65 66 69 78 20 20 54 68 65 20 70 72 65 66 69 78 2f 6e 61 6d 65 73 70 ......$prefix..The.prefix/namesp
49fe0 61 63 65 2c 20 77 69 74 68 20 74 72 61 69 6c 69 6e 67 20 27 5c 5c 27 0a 20 20 20 20 20 2a 20 40 ace,.with.trailing.'\\'......*.@
4a000 70 61 72 61 6d 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 20 54 68 65 20 param.array|string.$paths...The.
4a020 50 53 52 2d 34 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 20 40 70 PSR-4.base.directories......*.@p
4a040 61 72 61 6d 20 62 6f 6f 6c 20 20 20 20 20 20 20 20 20 24 70 72 65 70 65 6e 64 20 57 68 65 74 68 aram.bool.........$prepend.Wheth
4a060 65 72 20 74 6f 20 70 72 65 70 65 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 er.to.prepend.the.directories...
4a080 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 ...*......*.@throws.\InvalidArgu
4a0a0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 mentException......*/.....public
4a0c0 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 .function.addPsr4($prefix,.$path
4a0e0 73 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 s,.$prepend.=.false).....{......
4a100 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f ...if.(!$prefix).{............./
4a120 2f 20 52 65 67 69 73 74 65 72 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 74 68 65 20 72 /.Register.directories.for.the.r
4a140 6f 6f 74 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 oot.namespace..............if.($
4a160 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 prepend).{.................$this
4a180 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 ->fallbackDirsPsr4.=.array_merge
4a1a0 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 (.....................(array).$p
4a1c0 61 74 68 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d aths,.....................$this-
4a1e0 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >fallbackDirsPsr4...............
4a200 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 ..);.............}.else.{.......
4a220 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 ..........$this->fallbackDirsPsr
4a240 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4.=.array_merge(................
4a260 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 2c 0a 20 20 .....$this->fallbackDirsPsr4,...
4a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 ..................(array).$paths
4a2a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................);.............
4a2c0 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 }.........}.elseif.(!isset($this
4a2e0 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a 20 20 ->prefixDirsPsr4[$prefix])).{...
4a300 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 67 69 73 74 65 72 20 64 69 72 65 63 74 6f 72 69 65 ..........//.Register.directorie
4a320 73 20 66 6f 72 20 61 20 6e 65 77 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 s.for.a.new.namespace...........
4a340 20 20 20 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 20 20 ...$length.=.strlen($prefix);...
4a360 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 ..........if.('\\'.!==.$prefix[$
4a380 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 length.-.1]).{.................t
4a3a0 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 hrow.new.\InvalidArgumentExcepti
4a3c0 6f 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 78 20 6d 75 73 on("A.non-empty.PSR-4.prefix.mus
4a3e0 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 t.end.with.a.namespace.separator
4a400 2e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 .");.............}.............$
4a420 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 70 72 65 66 69 78 5b this->prefixLengthsPsr4[$prefix[
4a440 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 0]][$prefix].=.$length;.........
4a460 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 ....$this->prefixDirsPsr4[$prefi
4a480 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 x].=.(array).$paths;.........}.e
4a4a0 6c 73 65 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f lseif.($prepend).{............./
4a4c0 2f 20 50 72 65 70 65 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 6e 20 61 6c 72 /.Prepend.directories.for.an.alr
4a4e0 65 61 64 79 20 72 65 67 69 73 74 65 72 65 64 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 eady.registered.namespace.......
4a500 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 .......$this->prefixDirsPsr4[$pr
4a520 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 efix].=.array_merge(............
4a540 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 .....(array).$paths,............
4a560 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 .....$this->prefixDirsPsr4[$pref
4a580 69 78 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 ix].............);.........}.els
4a5a0 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 70 70 65 6e 64 20 64 69 72 65 63 74 e.{.............//.Append.direct
4a5c0 6f 72 69 65 73 20 66 6f 72 20 61 6e 20 61 6c 72 65 61 64 79 20 72 65 67 69 73 74 65 72 65 64 20 ories.for.an.already.registered.
4a5e0 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 namespace..............$this->pr
4a600 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 efixDirsPsr4[$prefix].=.array_me
4a620 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 rge(.................$this->pref
4a640 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ixDirsPsr4[$prefix],............
4a660 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 .....(array).$paths.............
4a680 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 );.........}.....}....../**.....
4a6a0 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 52 2d 30 20 64 69 72 65 .*.Registers.a.set.of.PSR-0.dire
4a6c0 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e 20 70 72 65 66 69 78 2c 0a 20 20 20 20 ctories.for.a.given.prefix,.....
4a6e0 20 2a 20 72 65 70 6c 61 63 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 73 20 70 72 65 76 69 6f 75 73 .*.replacing.any.others.previous
4a700 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 70 72 65 66 69 78 2e 0a 20 20 20 20 20 2a 0a 20 ly.set.for.this.prefix.......*..
4a720 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 65 66 69 ....*.@param.string.......$prefi
4a740 78 20 54 68 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 x.The.prefix......*.@param.array
4a760 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 54 68 65 20 50 53 52 2d 30 20 62 61 73 65 20 64 |string.$paths..The.PSR-0.base.d
4a780 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 irectories......*/.....public.fu
4a7a0 6e 63 74 69 6f 6e 20 73 65 74 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 29 0a 20 20 20 20 nction.set($prefix,.$paths).....
4a7c0 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 {.........if.(!$prefix).{.......
4a7e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 ......$this->fallbackDirsPsr0.=.
4a800 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b (array).$paths;.........}.else.{
4a820 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 .............$this->prefixesPsr0
4a840 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 [$prefix[0]][$prefix].=.(array).
4a860 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a $paths;.........}.....}....../**
4a880 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 52 2d 34 ......*.Registers.a.set.of.PSR-4
4a8a0 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 73 70 61 .directories.for.a.given.namespa
4a8c0 63 65 2c 0a 20 20 20 20 20 2a 20 72 65 70 6c 61 63 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 73 20 ce,......*.replacing.any.others.
4a8e0 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 6e 61 6d 65 73 70 61 63 previously.set.for.this.namespac
4a900 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 e.......*......*.@param.string..
4a920 20 20 20 20 20 24 70 72 65 66 69 78 20 54 68 65 20 70 72 65 66 69 78 2f 6e 61 6d 65 73 70 61 63 .....$prefix.The.prefix/namespac
4a940 65 2c 20 77 69 74 68 20 74 72 61 69 6c 69 6e 67 20 27 5c 5c 27 0a 20 20 20 20 20 2a 20 40 70 61 e,.with.trailing.'\\'......*.@pa
4a960 72 61 6d 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 54 68 65 20 50 53 52 ram.array|string.$paths..The.PSR
4a980 2d 34 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 -4.base.directories......*......
4a9a0 2a 20 40 74 68 72 6f 77 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 *.@throws.\InvalidArgumentExcept
4a9c0 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ion......*/.....public.function.
4a9e0 73 65 74 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 29 0a 20 20 20 20 7b 0a 20 setPsr4($prefix,.$paths).....{..
4aa00 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .......if.(!$prefix).{..........
4aa20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 28 61 72 ...$this->fallbackDirsPsr4.=.(ar
4aa40 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 ray).$paths;.........}.else.{...
4aa60 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 ..........$length.=.strlen($pref
4aa80 69 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 24 70 ix);.............if.('\\'.!==.$p
4aaa0 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 refix[$length.-.1]).{...........
4aac0 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 ......throw.new.\InvalidArgument
4aae0 45 78 63 65 70 74 69 6f 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 Exception("A.non-empty.PSR-4.pre
4ab00 66 69 78 20 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 fix.must.end.with.a.namespace.se
4ab20 70 61 72 61 74 6f 72 2e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 parator.");.............}.......
4ab40 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 ......$this->prefixLengthsPsr4[$
4ab60 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 68 3b 0a 20 prefix[0]][$prefix].=.$length;..
4ab80 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 ...........$this->prefixDirsPsr4
4aba0 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 [$prefix].=.(array).$paths;.....
4abc0 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 75 72 6e ....}.....}....../**......*.Turn
4abe0 73 20 6f 6e 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 69 6e 63 6c 75 64 65 20 70 61 74 68 20 s.on.searching.the.include.path.
4ac00 66 6f 72 20 63 6c 61 73 73 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 for.class.files.......*......*.@
4ac20 70 61 72 61 6d 20 62 6f 6f 6c 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 0a 20 20 20 20 20 param.bool.$useIncludePath......
4ac40 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 73 65 49 6e 63 */.....public.function.setUseInc
4ac60 6c 75 64 65 50 61 74 68 28 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 29 0a 20 20 20 20 7b 0a ludePath($useIncludePath).....{.
4ac80 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 ........$this->useIncludePath.=.
4aca0 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a $useIncludePath;.....}....../**.
4acc0 20 20 20 20 20 2a 20 43 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 65 63 6b 20 69 66 20 74 .....*.Can.be.used.to.check.if.t
4ace0 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 75 73 65 73 20 74 68 65 20 69 6e 63 6c 75 64 65 20 70 he.autoloader.uses.the.include.p
4ad00 61 74 68 20 74 6f 20 63 68 65 63 6b 0a 20 20 20 20 20 2a 20 66 6f 72 20 63 6c 61 73 73 65 73 2e ath.to.check......*.for.classes.
4ad20 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 0a 20 20 20 20 ......*......*.@return.bool.....
4ad40 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 49 6e .*/.....public.function.getUseIn
4ad60 63 6c 75 64 65 50 61 74 68 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e cludePath().....{.........return
4ad80 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a 20 20 20 20 7d 0a 0a 20 .$this->useIncludePath;.....}...
4ada0 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 75 72 6e 73 20 6f 66 66 20 73 65 61 72 63 68 69 6e .../**......*.Turns.off.searchin
4adc0 67 20 74 68 65 20 70 72 65 66 69 78 20 61 6e 64 20 66 61 6c 6c 62 61 63 6b 20 64 69 72 65 63 74 g.the.prefix.and.fallback.direct
4ade0 6f 72 69 65 73 20 66 6f 72 20 63 6c 61 73 73 65 73 0a 20 20 20 20 20 2a 20 74 68 61 74 20 68 61 ories.for.classes......*.that.ha
4ae00 76 65 20 6e 6f 74 20 62 65 65 6e 20 72 65 67 69 73 74 65 72 65 64 20 77 69 74 68 20 74 68 65 20 ve.not.been.registered.with.the.
4ae20 63 6c 61 73 73 20 6d 61 70 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 class.map.......*......*.@param.
4ae40 62 6f 6f 6c 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 0a 20 20 20 20 bool.$classMapAuthoritative.....
4ae60 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6c 61 73 73 .*/.....public.function.setClass
4ae80 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 MapAuthoritative($classMapAuthor
4aea0 69 74 61 74 69 76 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c itative).....{.........$this->cl
4aec0 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 63 6c 61 73 73 4d 61 70 41 assMapAuthoritative.=.$classMapA
4aee0 75 74 68 6f 72 69 74 61 74 69 76 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 uthoritative;.....}....../**....
4af00 20 20 2a 20 53 68 6f 75 6c 64 20 63 6c 61 73 73 20 6c 6f 6f 6b 75 70 20 66 61 69 6c 20 69 66 20 ..*.Should.class.lookup.fail.if.
4af20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6c 61 73 73 20 6d not.found.in.the.current.class.m
4af40 61 70 3f 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 0a 20 ap?......*......*.@return.bool..
4af60 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 6c 61 ....*/.....public.function.isCla
4af80 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ssMapAuthoritative().....{......
4afa0 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 ...return.$this->classMapAuthori
4afc0 74 61 74 69 76 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 tative;.....}....../**......*.Re
4afe0 67 69 73 74 65 72 73 20 74 68 69 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 61 6e 20 61 75 74 6f gisters.this.instance.as.an.auto
4b000 6c 6f 61 64 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f loader.......*......*.@param.boo
4b020 6c 20 24 70 72 65 70 65 6e 64 20 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 70 65 6e 64 20 74 68 l.$prepend.Whether.to.prepend.th
4b040 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 e.autoloader.or.not......*/.....
4b060 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 70 72 65 70 65 6e public.function.register($prepen
4b080 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 d.=.false).....{.........spl_aut
4b0a0 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 6c 6f 61 oload_register(array($this,.'loa
4b0c0 64 43 6c 61 73 73 27 29 2c 20 74 72 75 65 2c 20 24 70 72 65 70 65 6e 64 29 3b 0a 20 20 20 20 7d dClass'),.true,.$prepend);.....}
4b0e0 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 55 6e 72 65 67 69 73 74 65 72 73 20 74 68 69 ....../**......*.Unregisters.thi
4b100 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 61 6e 20 61 75 74 6f 6c 6f 61 64 65 72 2e 0a 20 20 20 s.instance.as.an.autoloader.....
4b120 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 72 65 67 69 73 ..*/.....public.function.unregis
4b140 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 ter().....{.........spl_autoload
4b160 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 6c 6f 61 64 43 6c _unregister(array($this,.'loadCl
4b180 61 73 73 27 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f ass'));.....}....../**......*.Lo
4b1a0 61 64 73 20 74 68 65 20 67 69 76 65 6e 20 63 6c 61 73 73 20 6f 72 20 69 6e 74 65 72 66 61 63 65 ads.the.given.class.or.interface
4b1c0 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 20 .......*......*.@param..string..
4b1e0 20 20 24 63 6c 61 73 73 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6c 61 73 73 0a 20 ..$class.The.name.of.the.class..
4b200 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 7c 6e 75 6c 6c 20 54 72 75 65 20 69 66 20 ....*.@return.bool|null.True.if.
4b220 6c 6f 61 64 65 64 2c 20 6e 75 6c 6c 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f 0a 20 loaded,.null.otherwise......*/..
4b240 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 28 24 63 6c ...public.function.loadClass($cl
4b260 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 69 6c 65 20 3d 20 24 ass).....{.........if.($file.=.$
4b280 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 29 20 7b 0a 20 20 20 20 20 20 this->findFile($class)).{.......
4b2a0 20 20 20 20 20 20 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 3b 0a 0a 20 20 20 20 20 ......includeFile($file);.......
4b2c0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 .......return.true;.........}...
4b2e0 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 69 6e 64 73 20 74 68 65 20 70 61 ..}....../**......*.Finds.the.pa
4b300 74 68 20 74 6f 20 74 68 65 20 66 69 6c 65 20 77 68 65 72 65 20 74 68 65 20 63 6c 61 73 73 20 69 th.to.the.file.where.the.class.i
4b320 73 20 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 s.defined.......*......*.@param.
4b340 73 74 72 69 6e 67 20 24 63 6c 61 73 73 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6c string.$class.The.name.of.the.cl
4b360 61 73 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 ass......*......*.@return.string
4b380 7c 66 61 6c 73 65 20 54 68 65 20 70 61 74 68 20 69 66 20 66 6f 75 6e 64 2c 20 66 61 6c 73 65 20 |false.The.path.if.found,.false.
4b3a0 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e otherwise......*/.....public.fun
4b3c0 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 ction.findFile($class).....{....
4b3e0 20 20 20 20 20 2f 2f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20 66 6f 72 20 50 48 50 20 35 2e 33 2e .....//.work.around.for.PHP.5.3.
4b400 30 20 2d 20 35 2e 33 2e 32 20 68 74 74 70 73 3a 2f 2f 62 75 67 73 2e 70 68 70 2e 6e 65 74 2f 35 0.-.5.3.2.https://bugs.php.net/5
4b420 30 37 33 31 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 3d 3d 20 24 63 6c 61 73 73 5b 0731.........if.('\\'.==.$class[
4b440 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 20 3d 20 73 75 62 73 74 0]).{.............$class.=.subst
4b460 72 28 24 63 6c 61 73 73 2c 20 31 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 r($class,.1);.........}.........
4b480 20 2f 2f 20 63 6c 61 73 73 20 6d 61 70 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 69 66 20 .//.class.map.lookup.........if.
4b4a0 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 29 29 (isset($this->classMap[$class]))
4b4c0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 .{.............return.$this->cla
4b4e0 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ssMap[$class];.........}........
4b500 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 .if.($this->classMapAuthoritativ
4b520 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 e).{.............return.false;..
4b540 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d .......}..........$file.=.$this-
4b560 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 27 >findFileWithExtension($class,.'
4b580 2e 70 68 70 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 65 61 72 63 68 20 66 6f 72 20 48 .php');..........//.Search.for.H
4b5a0 61 63 6b 20 66 69 6c 65 73 20 69 66 20 77 65 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 48 ack.files.if.we.are.running.on.H
4b5c0 48 56 4d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 69 6c 65 20 3d 3d 3d 20 6e 75 6c 6c 20 26 HVM.........if.($file.===.null.&
4b5e0 26 20 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 20 20 20 &.defined('HHVM_VERSION')).{....
4b600 20 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 .........$file.=.$this->findFile
4b620 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 27 2e 68 68 27 29 3b 0a 20 20 WithExtension($class,.'.hh');...
4b640 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 69 6c 65 20 3d 3d 3d 20 6e ......}..........if.($file.===.n
4b660 75 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 65 6d 62 65 72 20 74 ull).{.............//.Remember.t
4b680 68 61 74 20 74 68 69 73 20 63 6c 61 73 73 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 0a 20 hat.this.class.does.not.exist...
4b6a0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 ...........return.$this->classMa
4b6c0 70 5b 24 63 6c 61 73 73 5d 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 p[$class].=.false;.........}....
4b6e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 ......return.$file;.....}......p
4b700 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 rivate.function.findFileWithExte
4b720 6e 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 24 65 78 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 nsion($class,.$ext).....{.......
4b740 20 20 2f 2f 20 50 53 52 2d 34 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 69 63 ..//.PSR-4.lookup.........$logic
4b760 61 6c 50 61 74 68 50 73 72 34 20 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 2c alPathPsr4.=.strtr($class,.'\\',
4b780 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 0a 20 .DIRECTORY_SEPARATOR)...$ext;...
4b7a0 20 20 20 20 20 20 20 24 66 69 72 73 74 20 3d 20 24 63 6c 61 73 73 5b 30 5d 3b 0a 20 20 20 20 20 .......$first.=.$class[0];......
4b7c0 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 ...if.(isset($this->prefixLength
4b7e0 73 50 73 72 34 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f sPsr4[$first])).{.............fo
4b800 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b reach.($this->prefixLengthsPsr4[
4b820 24 66 69 72 73 74 5d 20 61 73 20 24 70 72 65 66 69 78 20 3d 3e 20 24 6c 65 6e 67 74 68 29 20 7b $first].as.$prefix.=>.$length).{
4b840 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f .................if.(0.===.strpo
4b860 73 28 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 s($class,.$prefix)).{...........
4b880 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 ..........foreach.($this->prefix
4b8a0 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 DirsPsr4[$prefix].as.$dir).{....
4b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 .....................if.(file_ex
4b8e0 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 ists($file.=.$dir...DIRECTORY_SE
4b900 50 41 52 41 54 4f 52 20 2e 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 PARATOR...substr($logicalPathPsr
4b920 34 2c 20 24 6c 65 6e 67 74 68 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4,.$length))).{.................
4b940 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 ............return.$file;.......
4b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..................}.............
4b980 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ........}.................}.....
4b9a0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 ........}.........}..........//.
4b9c0 50 53 52 2d 34 20 66 61 6c 6c 62 61 63 6b 20 64 69 72 73 0a 20 20 20 20 20 20 20 20 66 6f 72 65 PSR-4.fallback.dirs.........fore
4b9e0 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 61 73 20 ach.($this->fallbackDirsPsr4.as.
4ba00 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 $dir).{.............if.(file_exi
4ba20 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 sts($file.=.$dir...DIRECTORY_SEP
4ba40 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 29 29 20 7b 0a 20 20 ARATOR...$logicalPathPsr4)).{...
4ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 ..............return.$file;.....
4ba80 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 ........}.........}..........//.
4baa0 50 53 52 2d 30 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 PSR-0.lookup.........if.(false.!
4bac0 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 29 29 ==.$pos.=.strrpos($class,.'\\'))
4bae0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 61 6d 65 73 70 61 63 65 64 20 63 6c 61 .{.............//.namespaced.cla
4bb00 73 73 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 ss.name.............$logicalPath
4bb20 50 73 72 30 20 3d 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 Psr0.=.substr($logicalPathPsr4,.
4bb40 30 2c 20 24 70 6f 73 20 2b 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 73 0,.$pos.+.1)...................s
4bb60 74 72 74 72 28 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 24 70 trtr(substr($logicalPathPsr4,.$p
4bb80 6f 73 20 2b 20 31 29 2c 20 27 5f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f os.+.1),.'_',.DIRECTORY_SEPARATO
4bba0 52 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 R);.........}.else.{............
4bbc0 20 2f 2f 20 50 45 41 52 2d 6c 69 6b 65 20 63 6c 61 73 73 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 .//.PEAR-like.class.name........
4bbe0 20 20 20 20 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 20 3d 20 73 74 72 74 72 28 24 63 .....$logicalPathPsr0.=.strtr($c
4bc00 6c 61 73 73 2c 20 27 5f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 lass,.'_',.DIRECTORY_SEPARATOR).
4bc20 2e 20 24 65 78 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 ..$ext;.........}..........if.(i
4bc40 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d sset($this->prefixesPsr0[$first]
4bc60 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d )).{.............foreach.($this-
4bc80 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 20 61 73 20 24 70 72 65 66 69 78 >prefixesPsr0[$first].as.$prefix
4bca0 20 3d 3e 20 24 64 69 72 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 .=>.$dirs).{.................if.
4bcc0 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 29 20 (0.===.strpos($class,.$prefix)).
4bce0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 {.....................foreach.($
4bd00 64 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dirs.as.$dir).{.................
4bd20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 ........if.(file_exists($file.=.
4bd40 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f $dir...DIRECTORY_SEPARATOR...$lo
4bd60 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gicalPathPsr0)).{...............
4bd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 ..............return.$file;.....
4bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
4bdc0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ..........}.................}...
4bde0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f ..........}.........}........../
4be00 2f 20 50 53 52 2d 30 20 66 61 6c 6c 62 61 63 6b 20 64 69 72 73 0a 20 20 20 20 20 20 20 20 66 6f /.PSR-0.fallback.dirs.........fo
4be20 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 61 reach.($this->fallbackDirsPsr0.a
4be40 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 s.$dir).{.............if.(file_e
4be60 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 xists($file.=.$dir...DIRECTORY_S
4be80 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a EPARATOR...$logicalPathPsr0)).{.
4bea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 ................return.$file;...
4bec0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f ..........}.........}........../
4bee0 2f 20 50 53 52 2d 30 20 69 6e 63 6c 75 64 65 20 70 61 74 68 73 2e 0a 20 20 20 20 20 20 20 20 69 /.PSR-0.include.paths..........i
4bf00 66 20 28 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 26 26 20 24 66 69 6c f.($this->useIncludePath.&&.$fil
4bf20 65 20 3d 20 73 74 72 65 61 6d 5f 72 65 73 6f 6c 76 65 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 e.=.stream_resolve_include_path(
4bf40 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 $logicalPathPsr0)).{............
4bf60 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d .return.$file;.........}.....}.}
4bf80 0a 0a 2f 2a 2a 0a 20 2a 20 53 63 6f 70 65 20 69 73 6f 6c 61 74 65 64 20 69 6e 63 6c 75 64 65 2e ../**..*.Scope.isolated.include.
4bfa0 0a 20 2a 0a 20 2a 20 50 72 65 76 65 6e 74 73 20 61 63 63 65 73 73 20 74 6f 20 24 74 68 69 73 2f ..*..*.Prevents.access.to.$this/
4bfc0 73 65 6c 66 20 66 72 6f 6d 20 69 6e 63 6c 75 64 65 64 20 66 69 6c 65 73 2e 0a 20 2a 2f 0a 66 75 self.from.included.files...*/.fu
4bfe0 6e 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 0a 7b 0a 20 20 20 20 nction.includeFile($file).{.....
4c000 69 6e 63 6c 75 64 65 20 24 66 69 6c 65 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c include.$file;.}.<?php..//.autol
4c020 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 oad_classmap.php.@generated.by.C
4c040 6f 6d 70 6f 73 65 72 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 omposer..$vendorDir.=.dirname(di
4c060 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 rname(__FILE__));.$baseDir.=.dir
4c080 6e 61 6d 65 28 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 name($vendorDir);..return.array(
4c0a0 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6c 61 73 73 65 73 5f 44 75 70 .....'Generic_Sniffs_Classes_Dup
4c0c0 6c 69 63 61 74 65 43 6c 61 73 73 4e 61 6d 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 licateClassNameSniff'.=>.$vendor
4c0e0 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
4c100 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f r/CodeSniffer/Standards/Generic/
4c120 53 6e 69 66 66 73 2f 43 6c 61 73 73 65 73 2f 44 75 70 6c 69 63 61 74 65 43 6c 61 73 73 4e 61 6d Sniffs/Classes/DuplicateClassNam
4c140 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 eSniff.php',.....'Generic_Sniffs
4c160 5f 43 6f 64 65 41 6e 61 6c 79 73 69 73 5f 45 6d 70 74 79 53 74 61 74 65 6d 65 6e 74 53 6e 69 66 _CodeAnalysis_EmptyStatementSnif
4c180 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 f'.=>.$vendorDir...'/squizlabs/p
4c1a0 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 hp_codesniffer/CodeSniffer/Stand
4c1c0 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 43 6f 64 65 41 6e 61 6c 79 73 69 73 ards/Generic/Sniffs/CodeAnalysis
4c1e0 2f 45 6d 70 74 79 53 74 61 74 65 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 /EmptyStatementSniff.php',.....'
4c200 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6f 64 65 41 6e 61 6c 79 73 69 73 5f 46 6f 72 4c Generic_Sniffs_CodeAnalysis_ForL
4c220 6f 6f 70 53 68 6f 75 6c 64 42 65 57 68 69 6c 65 4c 6f 6f 70 53 6e 69 66 66 27 20 3d 3e 20 24 76 oopShouldBeWhileLoopSniff'.=>.$v
4c240 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 endorDir...'/squizlabs/php_codes
4c260 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e niffer/CodeSniffer/Standards/Gen
4c280 65 72 69 63 2f 53 6e 69 66 66 73 2f 43 6f 64 65 41 6e 61 6c 79 73 69 73 2f 46 6f 72 4c 6f 6f 70 eric/Sniffs/CodeAnalysis/ForLoop
4c2a0 53 68 6f 75 6c 64 42 65 57 68 69 6c 65 4c 6f 6f 70 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 ShouldBeWhileLoopSniff.php',....
4c2c0 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6f 64 65 41 6e 61 6c 79 73 69 73 5f 46 6f .'Generic_Sniffs_CodeAnalysis_Fo
4c2e0 72 4c 6f 6f 70 57 69 74 68 54 65 73 74 46 75 6e 63 74 69 6f 6e 43 61 6c 6c 53 6e 69 66 66 27 20 rLoopWithTestFunctionCallSniff'.
4c300 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f =>.$vendorDir...'/squizlabs/php_
4c320 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 codesniffer/CodeSniffer/Standard
4c340 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 43 6f 64 65 41 6e 61 6c 79 73 69 73 2f 46 6f s/Generic/Sniffs/CodeAnalysis/Fo
4c360 72 4c 6f 6f 70 57 69 74 68 54 65 73 74 46 75 6e 63 74 69 6f 6e 43 61 6c 6c 53 6e 69 66 66 2e 70 rLoopWithTestFunctionCallSniff.p
4c380 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6f 64 65 41 6e 61 hp',.....'Generic_Sniffs_CodeAna
4c3a0 6c 79 73 69 73 5f 4a 75 6d 62 6c 65 64 49 6e 63 72 65 6d 65 6e 74 65 72 53 6e 69 66 66 27 20 3d lysis_JumbledIncrementerSniff'.=
4c3c0 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 >.$vendorDir...'/squizlabs/php_c
4c3e0 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 odesniffer/CodeSniffer/Standards
4c400 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 43 6f 64 65 41 6e 61 6c 79 73 69 73 2f 4a 75 6d /Generic/Sniffs/CodeAnalysis/Jum
4c420 62 6c 65 64 49 6e 63 72 65 6d 65 6e 74 65 72 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 bledIncrementerSniff.php',.....'
4c440 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6f 64 65 41 6e 61 6c 79 73 69 73 5f 55 6e 63 6f Generic_Sniffs_CodeAnalysis_Unco
4c460 6e 64 69 74 69 6f 6e 61 6c 49 66 53 74 61 74 65 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 nditionalIfStatementSniff'.=>.$v
4c480 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 endorDir...'/squizlabs/php_codes
4c4a0 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e niffer/CodeSniffer/Standards/Gen
4c4c0 65 72 69 63 2f 53 6e 69 66 66 73 2f 43 6f 64 65 41 6e 61 6c 79 73 69 73 2f 55 6e 63 6f 6e 64 69 eric/Sniffs/CodeAnalysis/Uncondi
4c4e0 74 69 6f 6e 61 6c 49 66 53 74 61 74 65 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 tionalIfStatementSniff.php',....
4c500 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6f 64 65 41 6e 61 6c 79 73 69 73 5f 55 6e .'Generic_Sniffs_CodeAnalysis_Un
4c520 6e 65 63 65 73 73 61 72 79 46 69 6e 61 6c 4d 6f 64 69 66 69 65 72 53 6e 69 66 66 27 20 3d 3e 20 necessaryFinalModifierSniff'.=>.
4c540 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 $vendorDir...'/squizlabs/php_cod
4c560 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 esniffer/CodeSniffer/Standards/G
4c580 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 43 6f 64 65 41 6e 61 6c 79 73 69 73 2f 55 6e 6e 65 63 eneric/Sniffs/CodeAnalysis/Unnec
4c5a0 65 73 73 61 72 79 46 69 6e 61 6c 4d 6f 64 69 66 69 65 72 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 essaryFinalModifierSniff.php',..
4c5c0 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6f 64 65 41 6e 61 6c 79 73 69 73 5f ...'Generic_Sniffs_CodeAnalysis_
4c5e0 55 6e 75 73 65 64 46 75 6e 63 74 69 6f 6e 50 61 72 61 6d 65 74 65 72 53 6e 69 66 66 27 20 3d 3e UnusedFunctionParameterSniff'.=>
4c600 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f .$vendorDir...'/squizlabs/php_co
4c620 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f desniffer/CodeSniffer/Standards/
4c640 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 43 6f 64 65 41 6e 61 6c 79 73 69 73 2f 55 6e 75 73 Generic/Sniffs/CodeAnalysis/Unus
4c660 65 64 46 75 6e 63 74 69 6f 6e 50 61 72 61 6d 65 74 65 72 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 edFunctionParameterSniff.php',..
4c680 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6f 64 65 41 6e 61 6c 79 73 69 73 5f ...'Generic_Sniffs_CodeAnalysis_
4c6a0 55 73 65 6c 65 73 73 4f 76 65 72 72 69 64 69 6e 67 4d 65 74 68 6f 64 53 6e 69 66 66 27 20 3d 3e UselessOverridingMethodSniff'.=>
4c6c0 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f .$vendorDir...'/squizlabs/php_co
4c6e0 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f desniffer/CodeSniffer/Standards/
4c700 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 43 6f 64 65 41 6e 61 6c 79 73 69 73 2f 55 73 65 6c Generic/Sniffs/CodeAnalysis/Usel
4c720 65 73 73 4f 76 65 72 72 69 64 69 6e 67 4d 65 74 68 6f 64 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 essOverridingMethodSniff.php',..
4c740 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 44 6f ...'Generic_Sniffs_Commenting_Do
4c760 63 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 cCommentSniff'.=>.$vendorDir...'
4c780 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 /squizlabs/php_codesniffer/CodeS
4c7a0 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f niffer/Standards/Generic/Sniffs/
4c7c0 43 6f 6d 6d 65 6e 74 69 6e 67 2f 44 6f 63 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c Commenting/DocCommentSniff.php',
4c7e0 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f .....'Generic_Sniffs_Commenting_
4c800 46 69 78 6d 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 FixmeSniff'.=>.$vendorDir...'/sq
4c820 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
4c840 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 43 6f 6d fer/Standards/Generic/Sniffs/Com
4c860 6d 65 6e 74 69 6e 67 2f 46 69 78 6d 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 menting/FixmeSniff.php',.....'Ge
4c880 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 54 6f 64 6f 53 6e 69 66 neric_Sniffs_Commenting_TodoSnif
4c8a0 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 f'.=>.$vendorDir...'/squizlabs/p
4c8c0 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 hp_codesniffer/CodeSniffer/Stand
4c8e0 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 54 ards/Generic/Sniffs/Commenting/T
4c900 6f 64 6f 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 odoSniff.php',.....'Generic_Snif
4c920 66 73 5f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 49 6e 6c 69 6e 65 43 6f 6e 74 72 fs_ControlStructures_InlineContr
4c940 6f 6c 53 74 72 75 63 74 75 72 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 olStructureSniff'.=>.$vendorDir.
4c960 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f ..'/squizlabs/php_codesniffer/Co
4c980 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 deSniffer/Standards/Generic/Snif
4c9a0 66 73 2f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 2f 49 6e 6c 69 6e 65 43 6f 6e 74 72 fs/ControlStructures/InlineContr
4c9c0 6f 6c 53 74 72 75 63 74 75 72 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 olStructureSniff.php',.....'Gene
4c9e0 72 69 63 5f 53 6e 69 66 66 73 5f 44 65 62 75 67 5f 43 53 53 4c 69 6e 74 53 6e 69 66 66 27 20 3d ric_Sniffs_Debug_CSSLintSniff'.=
4ca00 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 >.$vendorDir...'/squizlabs/php_c
4ca20 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 odesniffer/CodeSniffer/Standards
4ca40 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 44 65 62 75 67 2f 43 53 53 4c 69 6e 74 53 6e 69 /Generic/Sniffs/Debug/CSSLintSni
4ca60 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 44 65 62 ff.php',.....'Generic_Sniffs_Deb
4ca80 75 67 5f 43 6c 6f 73 75 72 65 4c 69 6e 74 65 72 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f ug_ClosureLinterSniff'.=>.$vendo
4caa0 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 rDir...'/squizlabs/php_codesniff
4cac0 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 er/CodeSniffer/Standards/Generic
4cae0 2f 53 6e 69 66 66 73 2f 44 65 62 75 67 2f 43 6c 6f 73 75 72 65 4c 69 6e 74 65 72 53 6e 69 66 66 /Sniffs/Debug/ClosureLinterSniff
4cb00 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 44 65 62 75 67 .php',.....'Generic_Sniffs_Debug
4cb20 5f 4a 53 48 69 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f _JSHintSniff'.=>.$vendorDir...'/
4cb40 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e squizlabs/php_codesniffer/CodeSn
4cb60 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 44 iffer/Standards/Generic/Sniffs/D
4cb80 65 62 75 67 2f 4a 53 48 69 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 ebug/JSHintSniff.php',.....'Gene
4cba0 72 69 63 5f 53 6e 69 66 66 73 5f 46 69 6c 65 73 5f 42 79 74 65 4f 72 64 65 72 4d 61 72 6b 53 6e ric_Sniffs_Files_ByteOrderMarkSn
4cbc0 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 iff'.=>.$vendorDir...'/squizlabs
4cbe0 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 /php_codesniffer/CodeSniffer/Sta
4cc00 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 42 79 74 65 ndards/Generic/Sniffs/Files/Byte
4cc20 4f 72 64 65 72 4d 61 72 6b 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 OrderMarkSniff.php',.....'Generi
4cc40 63 5f 53 6e 69 66 66 73 5f 46 69 6c 65 73 5f 45 6e 64 46 69 6c 65 4e 65 77 6c 69 6e 65 53 6e 69 c_Sniffs_Files_EndFileNewlineSni
4cc60 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
4cc80 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
4cca0 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 45 6e 64 46 69 dards/Generic/Sniffs/Files/EndFi
4ccc0 6c 65 4e 65 77 6c 69 6e 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 leNewlineSniff.php',.....'Generi
4cce0 63 5f 53 6e 69 66 66 73 5f 46 69 6c 65 73 5f 45 6e 64 46 69 6c 65 4e 6f 4e 65 77 6c 69 6e 65 53 c_Sniffs_Files_EndFileNoNewlineS
4cd00 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 niff'.=>.$vendorDir...'/squizlab
4cd20 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 s/php_codesniffer/CodeSniffer/St
4cd40 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 45 6e 64 andards/Generic/Sniffs/Files/End
4cd60 46 69 6c 65 4e 6f 4e 65 77 6c 69 6e 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 FileNoNewlineSniff.php',.....'Ge
4cd80 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 46 69 6c 65 73 5f 49 6e 6c 69 6e 65 48 54 4d 4c 53 6e 69 neric_Sniffs_Files_InlineHTMLSni
4cda0 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
4cdc0 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
4cde0 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 49 6e 6c 69 6e dards/Generic/Sniffs/Files/Inlin
4ce00 65 48 54 4d 4c 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e eHTMLSniff.php',.....'Generic_Sn
4ce20 69 66 66 73 5f 46 69 6c 65 73 5f 4c 69 6e 65 45 6e 64 69 6e 67 73 53 6e 69 66 66 27 20 3d 3e 20 iffs_Files_LineEndingsSniff'.=>.
4ce40 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 $vendorDir...'/squizlabs/php_cod
4ce60 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 esniffer/CodeSniffer/Standards/G
4ce80 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 4c 69 6e 65 45 6e 64 69 6e 67 73 53 eneric/Sniffs/Files/LineEndingsS
4cea0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 46 niff.php',.....'Generic_Sniffs_F
4cec0 69 6c 65 73 5f 4c 69 6e 65 4c 65 6e 67 74 68 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 iles_LineLengthSniff'.=>.$vendor
4cee0 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
4cf00 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f r/CodeSniffer/Standards/Generic/
4cf20 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 4c 69 6e 65 4c 65 6e 67 74 68 53 6e 69 66 66 2e 70 68 70 Sniffs/Files/LineLengthSniff.php
4cf40 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 46 69 6c 65 73 5f 4c 6f 77 ',.....'Generic_Sniffs_Files_Low
4cf60 65 72 63 61 73 65 64 46 69 6c 65 6e 61 6d 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 ercasedFilenameSniff'.=>.$vendor
4cf80 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
4cfa0 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f r/CodeSniffer/Standards/Generic/
4cfc0 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 4c 6f 77 65 72 63 61 73 65 64 46 69 6c 65 6e 61 6d 65 53 Sniffs/Files/LowercasedFilenameS
4cfe0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 46 niff.php',.....'Generic_Sniffs_F
4d000 69 6c 65 73 5f 4f 6e 65 43 6c 61 73 73 50 65 72 46 69 6c 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 iles_OneClassPerFileSniff'.=>.$v
4d020 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 endorDir...'/squizlabs/php_codes
4d040 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e niffer/CodeSniffer/Standards/Gen
4d060 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 4f 6e 65 43 6c 61 73 73 50 65 72 46 69 6c eric/Sniffs/Files/OneClassPerFil
4d080 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 eSniff.php',.....'Generic_Sniffs
4d0a0 5f 46 69 6c 65 73 5f 4f 6e 65 49 6e 74 65 72 66 61 63 65 50 65 72 46 69 6c 65 53 6e 69 66 66 27 _Files_OneInterfacePerFileSniff'
4d0c0 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 .=>.$vendorDir...'/squizlabs/php
4d0e0 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 _codesniffer/CodeSniffer/Standar
4d100 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 4f 6e 65 49 6e 74 65 72 ds/Generic/Sniffs/Files/OneInter
4d120 66 61 63 65 50 65 72 46 69 6c 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 facePerFileSniff.php',.....'Gene
4d140 72 69 63 5f 53 6e 69 66 66 73 5f 46 69 6c 65 73 5f 4f 6e 65 54 72 61 69 74 50 65 72 46 69 6c 65 ric_Sniffs_Files_OneTraitPerFile
4d160 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 Sniff'.=>.$vendorDir...'/squizla
4d180 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 bs/php_codesniffer/CodeSniffer/S
4d1a0 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 4f 6e tandards/Generic/Sniffs/Files/On
4d1c0 65 54 72 61 69 74 50 65 72 46 69 6c 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 eTraitPerFileSniff.php',.....'Ge
4d1e0 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 46 6f 72 6d 61 74 74 69 6e 67 5f 44 69 73 61 6c 6c 6f 77 neric_Sniffs_Formatting_Disallow
4d200 4d 75 6c 74 69 70 6c 65 53 74 61 74 65 6d 65 6e 74 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e MultipleStatementsSniff'.=>.$ven
4d220 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 dorDir...'/squizlabs/php_codesni
4d240 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 ffer/CodeSniffer/Standards/Gener
4d260 69 63 2f 53 6e 69 66 66 73 2f 46 6f 72 6d 61 74 74 69 6e 67 2f 44 69 73 61 6c 6c 6f 77 4d 75 6c ic/Sniffs/Formatting/DisallowMul
4d280 74 69 70 6c 65 53 74 61 74 65 6d 65 6e 74 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 tipleStatementsSniff.php',.....'
4d2a0 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 46 6f 72 6d 61 74 74 69 6e 67 5f 4d 75 6c 74 69 70 Generic_Sniffs_Formatting_Multip
4d2c0 6c 65 53 74 61 74 65 6d 65 6e 74 41 6c 69 67 6e 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 leStatementAlignmentSniff'.=>.$v
4d2e0 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 endorDir...'/squizlabs/php_codes
4d300 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e niffer/CodeSniffer/Standards/Gen
4d320 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 6f 72 6d 61 74 74 69 6e 67 2f 4d 75 6c 74 69 70 6c 65 53 eric/Sniffs/Formatting/MultipleS
4d340 74 61 74 65 6d 65 6e 74 41 6c 69 67 6e 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 tatementAlignmentSniff.php',....
4d360 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 46 6f 72 6d 61 74 74 69 6e 67 5f 4e 6f 53 70 .'Generic_Sniffs_Formatting_NoSp
4d380 61 63 65 41 66 74 65 72 43 61 73 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 aceAfterCastSniff'.=>.$vendorDir
4d3a0 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 ...'/squizlabs/php_codesniffer/C
4d3c0 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 odeSniffer/Standards/Generic/Sni
4d3e0 66 66 73 2f 46 6f 72 6d 61 74 74 69 6e 67 2f 4e 6f 53 70 61 63 65 41 66 74 65 72 43 61 73 74 53 ffs/Formatting/NoSpaceAfterCastS
4d400 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 46 niff.php',.....'Generic_Sniffs_F
4d420 6f 72 6d 61 74 74 69 6e 67 5f 53 70 61 63 65 41 66 74 65 72 43 61 73 74 53 6e 69 66 66 27 20 3d ormatting_SpaceAfterCastSniff'.=
4d440 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 >.$vendorDir...'/squizlabs/php_c
4d460 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 odesniffer/CodeSniffer/Standards
4d480 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 6f 72 6d 61 74 74 69 6e 67 2f 53 70 61 63 65 /Generic/Sniffs/Formatting/Space
4d4a0 41 66 74 65 72 43 61 73 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 AfterCastSniff.php',.....'Generi
4d4c0 63 5f 53 6e 69 66 66 73 5f 46 75 6e 63 74 69 6f 6e 73 5f 43 61 6c 6c 54 69 6d 65 50 61 73 73 42 c_Sniffs_Functions_CallTimePassB
4d4e0 79 52 65 66 65 72 65 6e 63 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e yReferenceSniff'.=>.$vendorDir..
4d500 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 .'/squizlabs/php_codesniffer/Cod
4d520 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 eSniffer/Standards/Generic/Sniff
4d540 73 2f 46 75 6e 63 74 69 6f 6e 73 2f 43 61 6c 6c 54 69 6d 65 50 61 73 73 42 79 52 65 66 65 72 65 s/Functions/CallTimePassByRefere
4d560 6e 63 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 nceSniff.php',.....'Generic_Snif
4d580 66 73 5f 46 75 6e 63 74 69 6f 6e 73 5f 46 75 6e 63 74 69 6f 6e 43 61 6c 6c 41 72 67 75 6d 65 6e fs_Functions_FunctionCallArgumen
4d5a0 74 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 tSpacingSniff'.=>.$vendorDir...'
4d5c0 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 /squizlabs/php_codesniffer/CodeS
4d5e0 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f niffer/Standards/Generic/Sniffs/
4d600 46 75 6e 63 74 69 6f 6e 73 2f 46 75 6e 63 74 69 6f 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 53 70 Functions/FunctionCallArgumentSp
4d620 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e acingSniff.php',.....'Generic_Sn
4d640 69 66 66 73 5f 46 75 6e 63 74 69 6f 6e 73 5f 4f 70 65 6e 69 6e 67 46 75 6e 63 74 69 6f 6e 42 72 iffs_Functions_OpeningFunctionBr
4d660 61 63 65 42 73 64 41 6c 6c 6d 61 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 aceBsdAllmanSniff'.=>.$vendorDir
4d680 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 ...'/squizlabs/php_codesniffer/C
4d6a0 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 odeSniffer/Standards/Generic/Sni
4d6c0 66 66 73 2f 46 75 6e 63 74 69 6f 6e 73 2f 4f 70 65 6e 69 6e 67 46 75 6e 63 74 69 6f 6e 42 72 61 ffs/Functions/OpeningFunctionBra
4d6e0 63 65 42 73 64 41 6c 6c 6d 61 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 ceBsdAllmanSniff.php',.....'Gene
4d700 72 69 63 5f 53 6e 69 66 66 73 5f 46 75 6e 63 74 69 6f 6e 73 5f 4f 70 65 6e 69 6e 67 46 75 6e 63 ric_Sniffs_Functions_OpeningFunc
4d720 74 69 6f 6e 42 72 61 63 65 4b 65 72 6e 69 67 68 61 6e 52 69 74 63 68 69 65 53 6e 69 66 66 27 20 tionBraceKernighanRitchieSniff'.
4d740 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f =>.$vendorDir...'/squizlabs/php_
4d760 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 codesniffer/CodeSniffer/Standard
4d780 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 46 75 6e 63 74 69 6f 6e 73 2f 4f 70 65 6e 69 s/Generic/Sniffs/Functions/Openi
4d7a0 6e 67 46 75 6e 63 74 69 6f 6e 42 72 61 63 65 4b 65 72 6e 69 67 68 61 6e 52 69 74 63 68 69 65 53 ngFunctionBraceKernighanRitchieS
4d7c0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 4d niff.php',.....'Generic_Sniffs_M
4d7e0 65 74 72 69 63 73 5f 43 79 63 6c 6f 6d 61 74 69 63 43 6f 6d 70 6c 65 78 69 74 79 53 6e 69 66 66 etrics_CyclomaticComplexitySniff
4d800 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 '.=>.$vendorDir...'/squizlabs/ph
4d820 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 p_codesniffer/CodeSniffer/Standa
4d840 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 4d 65 74 72 69 63 73 2f 43 79 63 6c 6f rds/Generic/Sniffs/Metrics/Cyclo
4d860 6d 61 74 69 63 43 6f 6d 70 6c 65 78 69 74 79 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 maticComplexitySniff.php',.....'
4d880 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 4d 65 74 72 69 63 73 5f 4e 65 73 74 69 6e 67 4c 65 Generic_Sniffs_Metrics_NestingLe
4d8a0 76 65 6c 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 velSniff'.=>.$vendorDir...'/squi
4d8c0 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 zlabs/php_codesniffer/CodeSniffe
4d8e0 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 4d 65 74 72 69 r/Standards/Generic/Sniffs/Metri
4d900 63 73 2f 4e 65 73 74 69 6e 67 4c 65 76 65 6c 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 cs/NestingLevelSniff.php',.....'
4d920 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 Generic_Sniffs_NamingConventions
4d940 5f 43 61 6d 65 6c 43 61 70 73 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 53 6e 69 66 66 27 20 3d 3e 20 _CamelCapsFunctionNameSniff'.=>.
4d960 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 $vendorDir...'/squizlabs/php_cod
4d980 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 esniffer/CodeSniffer/Standards/G
4d9a0 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 2f eneric/Sniffs/NamingConventions/
4d9c0 43 61 6d 65 6c 43 61 70 73 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 53 6e 69 66 66 2e 70 68 70 27 2c CamelCapsFunctionNameSniff.php',
4d9e0 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 4e 61 6d 69 6e 67 43 6f 6e 76 65 .....'Generic_Sniffs_NamingConve
4da00 6e 74 69 6f 6e 73 5f 43 6f 6e 73 74 72 75 63 74 6f 72 4e 61 6d 65 53 6e 69 66 66 27 20 3d 3e 20 ntions_ConstructorNameSniff'.=>.
4da20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 $vendorDir...'/squizlabs/php_cod
4da40 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 esniffer/CodeSniffer/Standards/G
4da60 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 2f eneric/Sniffs/NamingConventions/
4da80 43 6f 6e 73 74 72 75 63 74 6f 72 4e 61 6d 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 ConstructorNameSniff.php',.....'
4daa0 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 Generic_Sniffs_NamingConventions
4dac0 5f 55 70 70 65 72 43 61 73 65 43 6f 6e 73 74 61 6e 74 4e 61 6d 65 53 6e 69 66 66 27 20 3d 3e 20 _UpperCaseConstantNameSniff'.=>.
4dae0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 $vendorDir...'/squizlabs/php_cod
4db00 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 esniffer/CodeSniffer/Standards/G
4db20 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 2f eneric/Sniffs/NamingConventions/
4db40 55 70 70 65 72 43 61 73 65 43 6f 6e 73 74 61 6e 74 4e 61 6d 65 53 6e 69 66 66 2e 70 68 70 27 2c UpperCaseConstantNameSniff.php',
4db60 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 50 48 50 5f 43 68 61 72 61 63 74 .....'Generic_Sniffs_PHP_Charact
4db80 65 72 42 65 66 6f 72 65 50 48 50 4f 70 65 6e 69 6e 67 54 61 67 53 6e 69 66 66 27 20 3d 3e 20 24 erBeforePHPOpeningTagSniff'.=>.$
4dba0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 vendorDir...'/squizlabs/php_code
4dbc0 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 sniffer/CodeSniffer/Standards/Ge
4dbe0 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 50 48 50 2f 43 68 61 72 61 63 74 65 72 42 65 66 6f 72 65 neric/Sniffs/PHP/CharacterBefore
4dc00 50 48 50 4f 70 65 6e 69 6e 67 54 61 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 PHPOpeningTagSniff.php',.....'Ge
4dc20 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 50 48 50 5f 43 6c 6f 73 69 6e 67 50 48 50 54 61 67 53 6e neric_Sniffs_PHP_ClosingPHPTagSn
4dc40 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 iff'.=>.$vendorDir...'/squizlabs
4dc60 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 /php_codesniffer/CodeSniffer/Sta
4dc80 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 50 48 50 2f 43 6c 6f 73 69 6e ndards/Generic/Sniffs/PHP/Closin
4dca0 67 50 48 50 54 61 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f gPHPTagSniff.php',.....'Generic_
4dcc0 53 6e 69 66 66 73 5f 50 48 50 5f 44 65 70 72 65 63 61 74 65 64 46 75 6e 63 74 69 6f 6e 73 53 6e Sniffs_PHP_DeprecatedFunctionsSn
4dce0 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 iff'.=>.$vendorDir...'/squizlabs
4dd00 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 /php_codesniffer/CodeSniffer/Sta
4dd20 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 50 48 50 2f 44 65 70 72 65 63 ndards/Generic/Sniffs/PHP/Deprec
4dd40 61 74 65 64 46 75 6e 63 74 69 6f 6e 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 atedFunctionsSniff.php',.....'Ge
4dd60 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 50 48 50 5f 44 69 73 61 6c 6c 6f 77 53 68 6f 72 74 4f 70 neric_Sniffs_PHP_DisallowShortOp
4dd80 65 6e 54 61 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 enTagSniff'.=>.$vendorDir...'/sq
4dda0 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
4ddc0 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 50 48 50 fer/Standards/Generic/Sniffs/PHP
4dde0 2f 44 69 73 61 6c 6c 6f 77 53 68 6f 72 74 4f 70 65 6e 54 61 67 53 6e 69 66 66 2e 70 68 70 27 2c /DisallowShortOpenTagSniff.php',
4de00 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 50 48 50 5f 46 6f 72 62 69 64 64 .....'Generic_Sniffs_PHP_Forbidd
4de20 65 6e 46 75 6e 63 74 69 6f 6e 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 enFunctionsSniff'.=>.$vendorDir.
4de40 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f ..'/squizlabs/php_codesniffer/Co
4de60 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 deSniffer/Standards/Generic/Snif
4de80 66 73 2f 50 48 50 2f 46 6f 72 62 69 64 64 65 6e 46 75 6e 63 74 69 6f 6e 73 53 6e 69 66 66 2e 70 fs/PHP/ForbiddenFunctionsSniff.p
4dea0 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 50 48 50 5f 4c 6f 77 hp',.....'Generic_Sniffs_PHP_Low
4dec0 65 72 43 61 73 65 43 6f 6e 73 74 61 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 erCaseConstantSniff'.=>.$vendorD
4dee0 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 ir...'/squizlabs/php_codesniffer
4df00 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 /CodeSniffer/Standards/Generic/S
4df20 6e 69 66 66 73 2f 50 48 50 2f 4c 6f 77 65 72 43 61 73 65 43 6f 6e 73 74 61 6e 74 53 6e 69 66 66 niffs/PHP/LowerCaseConstantSniff
4df40 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 50 48 50 5f 4c .php',.....'Generic_Sniffs_PHP_L
4df60 6f 77 65 72 43 61 73 65 4b 65 79 77 6f 72 64 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 owerCaseKeywordSniff'.=>.$vendor
4df80 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
4dfa0 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f r/CodeSniffer/Standards/Generic/
4dfc0 53 6e 69 66 66 73 2f 50 48 50 2f 4c 6f 77 65 72 43 61 73 65 4b 65 79 77 6f 72 64 53 6e 69 66 66 Sniffs/PHP/LowerCaseKeywordSniff
4dfe0 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 50 48 50 5f 4e .php',.....'Generic_Sniffs_PHP_N
4e000 6f 53 69 6c 65 6e 63 65 64 45 72 72 6f 72 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 oSilencedErrorsSniff'.=>.$vendor
4e020 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
4e040 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f r/CodeSniffer/Standards/Generic/
4e060 53 6e 69 66 66 73 2f 50 48 50 2f 4e 6f 53 69 6c 65 6e 63 65 64 45 72 72 6f 72 73 53 6e 69 66 66 Sniffs/PHP/NoSilencedErrorsSniff
4e080 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 50 48 50 5f 53 .php',.....'Generic_Sniffs_PHP_S
4e0a0 41 50 49 55 73 61 67 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 APIUsageSniff'.=>.$vendorDir...'
4e0c0 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 /squizlabs/php_codesniffer/CodeS
4e0e0 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f niffer/Standards/Generic/Sniffs/
4e100 50 48 50 2f 53 41 50 49 55 73 61 67 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 PHP/SAPIUsageSniff.php',.....'Ge
4e120 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 50 48 50 5f 53 79 6e 74 61 78 53 6e 69 66 66 27 20 3d 3e neric_Sniffs_PHP_SyntaxSniff'.=>
4e140 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f .$vendorDir...'/squizlabs/php_co
4e160 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f desniffer/CodeSniffer/Standards/
4e180 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 50 48 50 2f 53 79 6e 74 61 78 53 6e 69 66 66 2e 70 Generic/Sniffs/PHP/SyntaxSniff.p
4e1a0 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 50 48 50 5f 55 70 70 hp',.....'Generic_Sniffs_PHP_Upp
4e1c0 65 72 43 61 73 65 43 6f 6e 73 74 61 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 erCaseConstantSniff'.=>.$vendorD
4e1e0 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 ir...'/squizlabs/php_codesniffer
4e200 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 /CodeSniffer/Standards/Generic/S
4e220 6e 69 66 66 73 2f 50 48 50 2f 55 70 70 65 72 43 61 73 65 43 6f 6e 73 74 61 6e 74 53 6e 69 66 66 niffs/PHP/UpperCaseConstantSniff
4e240 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 53 74 72 69 6e .php',.....'Generic_Sniffs_Strin
4e260 67 73 5f 55 6e 6e 65 63 65 73 73 61 72 79 53 74 72 69 6e 67 43 6f 6e 63 61 74 53 6e 69 66 66 27 gs_UnnecessaryStringConcatSniff'
4e280 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 .=>.$vendorDir...'/squizlabs/php
4e2a0 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 _codesniffer/CodeSniffer/Standar
4e2c0 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 53 74 72 69 6e 67 73 2f 55 6e 6e 65 63 65 ds/Generic/Sniffs/Strings/Unnece
4e2e0 73 73 61 72 79 53 74 72 69 6e 67 43 6f 6e 63 61 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 ssaryStringConcatSniff.php',....
4e300 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 56 65 72 73 69 6f 6e 43 6f 6e 74 72 6f 6c 5f .'Generic_Sniffs_VersionControl_
4e320 53 75 62 76 65 72 73 69 6f 6e 50 72 6f 70 65 72 74 69 65 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 SubversionPropertiesSniff'.=>.$v
4e340 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 endorDir...'/squizlabs/php_codes
4e360 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e niffer/CodeSniffer/Standards/Gen
4e380 65 72 69 63 2f 53 6e 69 66 66 73 2f 56 65 72 73 69 6f 6e 43 6f 6e 74 72 6f 6c 2f 53 75 62 76 65 eric/Sniffs/VersionControl/Subve
4e3a0 72 73 69 6f 6e 50 72 6f 70 65 72 74 69 65 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 rsionPropertiesSniff.php',.....'
4e3c0 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 44 69 73 61 6c 6c Generic_Sniffs_WhiteSpace_Disall
4e3e0 6f 77 53 70 61 63 65 49 6e 64 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 owSpaceIndentSniff'.=>.$vendorDi
4e400 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f r...'/squizlabs/php_codesniffer/
4e420 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e CodeSniffer/Standards/Generic/Sn
4e440 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 44 69 73 61 6c 6c 6f 77 53 70 61 63 65 49 6e 64 iffs/WhiteSpace/DisallowSpaceInd
4e460 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 entSniff.php',.....'Generic_Snif
4e480 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 44 69 73 61 6c 6c 6f 77 54 61 62 49 6e 64 65 6e 74 53 fs_WhiteSpace_DisallowTabIndentS
4e4a0 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 niff'.=>.$vendorDir...'/squizlab
4e4c0 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 s/php_codesniffer/CodeSniffer/St
4e4e0 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 andards/Generic/Sniffs/WhiteSpac
4e500 65 2f 44 69 73 61 6c 6c 6f 77 54 61 62 49 6e 64 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 e/DisallowTabIndentSniff.php',..
4e520 20 20 20 27 47 65 6e 65 72 69 63 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 53 63 ...'Generic_Sniffs_WhiteSpace_Sc
4e540 6f 70 65 49 6e 64 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 opeIndentSniff'.=>.$vendorDir...
4e560 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 '/squizlabs/php_codesniffer/Code
4e580 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 47 65 6e 65 72 69 63 2f 53 6e 69 66 66 73 Sniffer/Standards/Generic/Sniffs
4e5a0 2f 57 68 69 74 65 53 70 61 63 65 2f 53 63 6f 70 65 49 6e 64 65 6e 74 53 6e 69 66 66 2e 70 68 70 /WhiteSpace/ScopeIndentSniff.php
4e5c0 27 2c 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 73 5f 43 53 53 5f 42 72 6f 77 ',.....'MySource_Sniffs_CSS_Brow
4e5e0 73 65 72 53 70 65 63 69 66 69 63 53 74 79 6c 65 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 serSpecificStylesSniff'.=>.$vend
4e600 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 orDir...'/squizlabs/php_codesnif
4e620 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f 75 72 fer/CodeSniffer/Standards/MySour
4e640 63 65 2f 53 6e 69 66 66 73 2f 43 53 53 2f 42 72 6f 77 73 65 72 53 70 65 63 69 66 69 63 53 74 79 ce/Sniffs/CSS/BrowserSpecificSty
4e660 6c 65 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 lesSniff.php',.....'MySource_Sni
4e680 66 66 73 5f 43 68 61 6e 6e 65 6c 73 5f 44 69 73 61 6c 6c 6f 77 53 65 6c 66 41 63 74 69 6f 6e 73 ffs_Channels_DisallowSelfActions
4e6a0 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 Sniff'.=>.$vendorDir...'/squizla
4e6c0 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 bs/php_codesniffer/CodeSniffer/S
4e6e0 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f 75 72 63 65 2f 53 6e 69 66 66 73 2f 43 68 61 6e 6e 65 6c tandards/MySource/Sniffs/Channel
4e700 73 2f 44 69 73 61 6c 6c 6f 77 53 65 6c 66 41 63 74 69 6f 6e 73 53 6e 69 66 66 2e 70 68 70 27 2c s/DisallowSelfActionsSniff.php',
4e720 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 73 5f 43 68 61 6e 6e 65 6c 73 5f 49 .....'MySource_Sniffs_Channels_I
4e740 6e 63 6c 75 64 65 4f 77 6e 53 79 73 74 65 6d 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 ncludeOwnSystemSniff'.=>.$vendor
4e760 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
4e780 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f 75 72 63 65 r/CodeSniffer/Standards/MySource
4e7a0 2f 53 6e 69 66 66 73 2f 43 68 61 6e 6e 65 6c 73 2f 49 6e 63 6c 75 64 65 4f 77 6e 53 79 73 74 65 /Sniffs/Channels/IncludeOwnSyste
4e7c0 6d 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 mSniff.php',.....'MySource_Sniff
4e7e0 73 5f 43 68 61 6e 6e 65 6c 73 5f 49 6e 63 6c 75 64 65 53 79 73 74 65 6d 53 6e 69 66 66 27 20 3d s_Channels_IncludeSystemSniff'.=
4e800 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 >.$vendorDir...'/squizlabs/php_c
4e820 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 odesniffer/CodeSniffer/Standards
4e840 2f 4d 79 53 6f 75 72 63 65 2f 53 6e 69 66 66 73 2f 43 68 61 6e 6e 65 6c 73 2f 49 6e 63 6c 75 64 /MySource/Sniffs/Channels/Includ
4e860 65 53 79 73 74 65 6d 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 eSystemSniff.php',.....'MySource
4e880 5f 53 6e 69 66 66 73 5f 43 68 61 6e 6e 65 6c 73 5f 55 6e 75 73 65 64 53 79 73 74 65 6d 53 6e 69 _Sniffs_Channels_UnusedSystemSni
4e8a0 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
4e8c0 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
4e8e0 64 61 72 64 73 2f 4d 79 53 6f 75 72 63 65 2f 53 6e 69 66 66 73 2f 43 68 61 6e 6e 65 6c 73 2f 55 dards/MySource/Sniffs/Channels/U
4e900 6e 75 73 65 64 53 79 73 74 65 6d 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 4d 79 53 6f nusedSystemSniff.php',.....'MySo
4e920 75 72 63 65 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 46 75 6e 63 74 69 6f 6e 43 urce_Sniffs_Commenting_FunctionC
4e940 6f 6d 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 ommentSniff'.=>.$vendorDir...'/s
4e960 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
4e980 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f 75 72 63 65 2f 53 6e 69 66 66 73 2f 43 ffer/Standards/MySource/Sniffs/C
4e9a0 6f 6d 6d 65 6e 74 69 6e 67 2f 46 75 6e 63 74 69 6f 6e 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 ommenting/FunctionCommentSniff.p
4e9c0 68 70 27 2c 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 73 5f 44 65 62 75 67 5f hp',.....'MySource_Sniffs_Debug_
4e9e0 44 65 62 75 67 43 6f 64 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 DebugCodeSniff'.=>.$vendorDir...
4ea00 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 '/squizlabs/php_codesniffer/Code
4ea20 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f 75 72 63 65 2f 53 6e 69 66 66 Sniffer/Standards/MySource/Sniff
4ea40 73 2f 44 65 62 75 67 2f 44 65 62 75 67 43 6f 64 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 s/Debug/DebugCodeSniff.php',....
4ea60 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 73 5f 44 65 62 75 67 5f 46 69 72 65 62 75 67 43 .'MySource_Sniffs_Debug_FirebugC
4ea80 6f 6e 73 6f 6c 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 onsoleSniff'.=>.$vendorDir...'/s
4eaa0 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
4eac0 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f 75 72 63 65 2f 53 6e 69 66 66 73 2f 44 ffer/Standards/MySource/Sniffs/D
4eae0 65 62 75 67 2f 46 69 72 65 62 75 67 43 6f 6e 73 6f 6c 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 ebug/FirebugConsoleSniff.php',..
4eb00 20 20 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 73 5f 4f 62 6a 65 63 74 73 5f 41 73 73 69 ...'MySource_Sniffs_Objects_Assi
4eb20 67 6e 54 68 69 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 gnThisSniff'.=>.$vendorDir...'/s
4eb40 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
4eb60 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f 75 72 63 65 2f 53 6e 69 66 66 73 2f 4f ffer/Standards/MySource/Sniffs/O
4eb80 62 6a 65 63 74 73 2f 41 73 73 69 67 6e 54 68 69 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 bjects/AssignThisSniff.php',....
4eba0 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 73 5f 4f 62 6a 65 63 74 73 5f 43 72 65 61 74 65 .'MySource_Sniffs_Objects_Create
4ebc0 57 69 64 67 65 74 54 79 70 65 43 61 6c 6c 62 61 63 6b 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e WidgetTypeCallbackSniff'.=>.$ven
4ebe0 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 dorDir...'/squizlabs/php_codesni
4ec00 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f 75 ffer/CodeSniffer/Standards/MySou
4ec20 72 63 65 2f 53 6e 69 66 66 73 2f 4f 62 6a 65 63 74 73 2f 43 72 65 61 74 65 57 69 64 67 65 74 54 rce/Sniffs/Objects/CreateWidgetT
4ec40 79 70 65 43 61 6c 6c 62 61 63 6b 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 4d 79 53 6f ypeCallbackSniff.php',.....'MySo
4ec60 75 72 63 65 5f 53 6e 69 66 66 73 5f 4f 62 6a 65 63 74 73 5f 44 69 73 61 6c 6c 6f 77 4e 65 77 57 urce_Sniffs_Objects_DisallowNewW
4ec80 69 64 67 65 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 idgetSniff'.=>.$vendorDir...'/sq
4eca0 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
4ecc0 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f 75 72 63 65 2f 53 6e 69 66 66 73 2f 4f 62 fer/Standards/MySource/Sniffs/Ob
4ece0 6a 65 63 74 73 2f 44 69 73 61 6c 6c 6f 77 4e 65 77 57 69 64 67 65 74 53 6e 69 66 66 2e 70 68 70 jects/DisallowNewWidgetSniff.php
4ed00 27 2c 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 73 5f 50 48 50 5f 41 6a 61 78 ',.....'MySource_Sniffs_PHP_Ajax
4ed20 4e 75 6c 6c 43 6f 6d 70 61 72 69 73 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 NullComparisonSniff'.=>.$vendorD
4ed40 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 ir...'/squizlabs/php_codesniffer
4ed60 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f 75 72 63 65 2f /CodeSniffer/Standards/MySource/
4ed80 53 6e 69 66 66 73 2f 50 48 50 2f 41 6a 61 78 4e 75 6c 6c 43 6f 6d 70 61 72 69 73 6f 6e 53 6e 69 Sniffs/PHP/AjaxNullComparisonSni
4eda0 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 73 5f 50 48 ff.php',.....'MySource_Sniffs_PH
4edc0 50 5f 45 76 61 6c 4f 62 6a 65 63 74 46 61 63 74 6f 72 79 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 P_EvalObjectFactorySniff'.=>.$ve
4ede0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e ndorDir...'/squizlabs/php_codesn
4ee00 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 6f iffer/CodeSniffer/Standards/MySo
4ee20 75 72 63 65 2f 53 6e 69 66 66 73 2f 50 48 50 2f 45 76 61 6c 4f 62 6a 65 63 74 46 61 63 74 6f 72 urce/Sniffs/PHP/EvalObjectFactor
4ee40 79 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 ySniff.php',.....'MySource_Sniff
4ee60 73 5f 50 48 50 5f 47 65 74 52 65 71 75 65 73 74 44 61 74 61 53 6e 69 66 66 27 20 3d 3e 20 24 76 s_PHP_GetRequestDataSniff'.=>.$v
4ee80 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 endorDir...'/squizlabs/php_codes
4eea0 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 4d 79 53 niffer/CodeSniffer/Standards/MyS
4eec0 6f 75 72 63 65 2f 53 6e 69 66 66 73 2f 50 48 50 2f 47 65 74 52 65 71 75 65 73 74 44 61 74 61 53 ource/Sniffs/PHP/GetRequestDataS
4eee0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 5f 53 6e 69 66 66 73 5f niff.php',.....'MySource_Sniffs_
4ef00 50 48 50 5f 52 65 74 75 72 6e 46 75 6e 63 74 69 6f 6e 56 61 6c 75 65 53 6e 69 66 66 27 20 3d 3e PHP_ReturnFunctionValueSniff'.=>
4ef20 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f .$vendorDir...'/squizlabs/php_co
4ef40 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f desniffer/CodeSniffer/Standards/
4ef60 4d 79 53 6f 75 72 63 65 2f 53 6e 69 66 66 73 2f 50 48 50 2f 52 65 74 75 72 6e 46 75 6e 63 74 69 MySource/Sniffs/PHP/ReturnFuncti
4ef80 6f 6e 56 61 6c 75 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 4d 79 53 6f 75 72 63 65 onValueSniff.php',.....'MySource
4efa0 5f 53 6e 69 66 66 73 5f 53 74 72 69 6e 67 73 5f 4a 6f 69 6e 53 74 72 69 6e 67 73 53 6e 69 66 66 _Sniffs_Strings_JoinStringsSniff
4efc0 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 '.=>.$vendorDir...'/squizlabs/ph
4efe0 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 p_codesniffer/CodeSniffer/Standa
4f000 72 64 73 2f 4d 79 53 6f 75 72 63 65 2f 53 6e 69 66 66 73 2f 53 74 72 69 6e 67 73 2f 4a 6f 69 6e rds/MySource/Sniffs/Strings/Join
4f020 53 74 72 69 6e 67 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 StringsSniff.php',.....'PEAR_Sni
4f040 66 66 73 5f 43 6c 61 73 73 65 73 5f 43 6c 61 73 73 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 ffs_Classes_ClassDeclarationSnif
4f060 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 f'.=>.$vendorDir...'/squizlabs/p
4f080 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 hp_codesniffer/CodeSniffer/Stand
4f0a0 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 43 6c 61 73 73 65 73 2f 43 6c 61 73 73 44 65 ards/PEAR/Sniffs/Classes/ClassDe
4f0c0 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 clarationSniff.php',.....'PEAR_S
4f0e0 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 43 6c 61 73 73 43 6f 6d 6d 65 6e 74 53 6e 69 niffs_Commenting_ClassCommentSni
4f100 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
4f120 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
4f140 64 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 43 6c 61 dards/PEAR/Sniffs/Commenting/Cla
4f160 73 73 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 ssCommentSniff.php',.....'PEAR_S
4f180 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 46 69 6c 65 43 6f 6d 6d 65 6e 74 53 6e 69 66 niffs_Commenting_FileCommentSnif
4f1a0 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 f'.=>.$vendorDir...'/squizlabs/p
4f1c0 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 hp_codesniffer/CodeSniffer/Stand
4f1e0 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 46 69 6c 65 ards/PEAR/Sniffs/Commenting/File
4f200 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 CommentSniff.php',.....'PEAR_Sni
4f220 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 46 75 6e 63 74 69 6f 6e 43 6f 6d 6d 65 6e 74 53 6e ffs_Commenting_FunctionCommentSn
4f240 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 iff'.=>.$vendorDir...'/squizlabs
4f260 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 /php_codesniffer/CodeSniffer/Sta
4f280 6e 64 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 46 75 ndards/PEAR/Sniffs/Commenting/Fu
4f2a0 6e 63 74 69 6f 6e 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 nctionCommentSniff.php',.....'PE
4f2c0 41 52 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 49 6e 6c 69 6e 65 43 6f 6d 6d 65 AR_Sniffs_Commenting_InlineComme
4f2e0 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a ntSniff'.=>.$vendorDir...'/squiz
4f300 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 labs/php_codesniffer/CodeSniffer
4f320 2f 53 74 61 6e 64 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e /Standards/PEAR/Sniffs/Commentin
4f340 67 2f 49 6e 6c 69 6e 65 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 g/InlineCommentSniff.php',.....'
4f360 50 45 41 52 5f 53 6e 69 66 66 73 5f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 43 6f PEAR_Sniffs_ControlStructures_Co
4f380 6e 74 72 6f 6c 53 69 67 6e 61 74 75 72 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 ntrolSignatureSniff'.=>.$vendorD
4f3a0 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 ir...'/squizlabs/php_codesniffer
4f3c0 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 /CodeSniffer/Standards/PEAR/Snif
4f3e0 66 73 2f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 2f 43 6f 6e 74 72 6f 6c 53 69 67 6e fs/ControlStructures/ControlSign
4f400 61 74 75 72 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 66 66 atureSniff.php',.....'PEAR_Sniff
4f420 73 5f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 4d 75 6c 74 69 4c 69 6e 65 43 6f 6e s_ControlStructures_MultiLineCon
4f440 64 69 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 ditionSniff'.=>.$vendorDir...'/s
4f460 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
4f480 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 43 6f 6e 74 72 ffer/Standards/PEAR/Sniffs/Contr
4f4a0 6f 6c 53 74 72 75 63 74 75 72 65 73 2f 4d 75 6c 74 69 4c 69 6e 65 43 6f 6e 64 69 74 69 6f 6e 53 olStructures/MultiLineConditionS
4f4c0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 66 66 73 5f 46 69 6c 65 niff.php',.....'PEAR_Sniffs_File
4f4e0 73 5f 49 6e 63 6c 75 64 69 6e 67 46 69 6c 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 s_IncludingFileSniff'.=>.$vendor
4f500 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
4f520 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 r/CodeSniffer/Standards/PEAR/Sni
4f540 66 66 73 2f 46 69 6c 65 73 2f 49 6e 63 6c 75 64 69 6e 67 46 69 6c 65 53 6e 69 66 66 2e 70 68 70 ffs/Files/IncludingFileSniff.php
4f560 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 66 66 73 5f 46 6f 72 6d 61 74 74 69 6e 67 5f 4d ',.....'PEAR_Sniffs_Formatting_M
4f580 75 6c 74 69 4c 69 6e 65 41 73 73 69 67 6e 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e ultiLineAssignmentSniff'.=>.$ven
4f5a0 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 dorDir...'/squizlabs/php_codesni
4f5c0 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 45 41 52 2f ffer/CodeSniffer/Standards/PEAR/
4f5e0 53 6e 69 66 66 73 2f 46 6f 72 6d 61 74 74 69 6e 67 2f 4d 75 6c 74 69 4c 69 6e 65 41 73 73 69 67 Sniffs/Formatting/MultiLineAssig
4f600 6e 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 66 66 nmentSniff.php',.....'PEAR_Sniff
4f620 73 5f 46 75 6e 63 74 69 6f 6e 73 5f 46 75 6e 63 74 69 6f 6e 43 61 6c 6c 53 69 67 6e 61 74 75 72 s_Functions_FunctionCallSignatur
4f640 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c eSniff'.=>.$vendorDir...'/squizl
4f660 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f abs/php_codesniffer/CodeSniffer/
4f680 53 74 61 6e 64 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 46 75 6e 63 74 69 6f 6e 73 2f Standards/PEAR/Sniffs/Functions/
4f6a0 46 75 6e 63 74 69 6f 6e 43 61 6c 6c 53 69 67 6e 61 74 75 72 65 53 6e 69 66 66 2e 70 68 70 27 2c FunctionCallSignatureSniff.php',
4f6c0 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 66 66 73 5f 46 75 6e 63 74 69 6f 6e 73 5f 46 75 6e 63 .....'PEAR_Sniffs_Functions_Func
4f6e0 74 69 6f 6e 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 tionDeclarationSniff'.=>.$vendor
4f700 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
4f720 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 r/CodeSniffer/Standards/PEAR/Sni
4f740 66 66 73 2f 46 75 6e 63 74 69 6f 6e 73 2f 46 75 6e 63 74 69 6f 6e 44 65 63 6c 61 72 61 74 69 6f ffs/Functions/FunctionDeclaratio
4f760 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 66 66 73 5f 46 75 nSniff.php',.....'PEAR_Sniffs_Fu
4f780 6e 63 74 69 6f 6e 73 5f 56 61 6c 69 64 44 65 66 61 75 6c 74 56 61 6c 75 65 53 6e 69 66 66 27 20 nctions_ValidDefaultValueSniff'.
4f7a0 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f =>.$vendorDir...'/squizlabs/php_
4f7c0 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 codesniffer/CodeSniffer/Standard
4f7e0 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 46 75 6e 63 74 69 6f 6e 73 2f 56 61 6c 69 64 44 65 66 s/PEAR/Sniffs/Functions/ValidDef
4f800 61 75 6c 74 56 61 6c 75 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 aultValueSniff.php',.....'PEAR_S
4f820 6e 69 66 66 73 5f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 5f 56 61 6c 69 64 43 6c 61 niffs_NamingConventions_ValidCla
4f840 73 73 4e 61 6d 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 ssNameSniff'.=>.$vendorDir...'/s
4f860 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
4f880 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 4e 61 6d 69 6e ffer/Standards/PEAR/Sniffs/Namin
4f8a0 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 2f 56 61 6c 69 64 43 6c 61 73 73 4e 61 6d 65 53 6e 69 66 66 gConventions/ValidClassNameSniff
4f8c0 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 66 66 73 5f 4e 61 6d 69 6e 67 43 6f .php',.....'PEAR_Sniffs_NamingCo
4f8e0 6e 76 65 6e 74 69 6f 6e 73 5f 56 61 6c 69 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 53 6e 69 66 66 nventions_ValidFunctionNameSniff
4f900 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 '.=>.$vendorDir...'/squizlabs/ph
4f920 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 p_codesniffer/CodeSniffer/Standa
4f940 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e rds/PEAR/Sniffs/NamingConvention
4f960 73 2f 56 61 6c 69 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 s/ValidFunctionNameSniff.php',..
4f980 20 20 20 27 50 45 41 52 5f 53 6e 69 66 66 73 5f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e ...'PEAR_Sniffs_NamingConvention
4f9a0 73 5f 56 61 6c 69 64 56 61 72 69 61 62 6c 65 4e 61 6d 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 s_ValidVariableNameSniff'.=>.$ve
4f9c0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e ndorDir...'/squizlabs/php_codesn
4f9e0 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 45 41 52 iffer/CodeSniffer/Standards/PEAR
4fa00 2f 53 6e 69 66 66 73 2f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 2f 56 61 6c 69 64 56 /Sniffs/NamingConventions/ValidV
4fa20 61 72 69 61 62 6c 65 4e 61 6d 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 ariableNameSniff.php',.....'PEAR
4fa40 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 4f 62 6a 65 63 74 4f 70 65 72 61 74 6f _Sniffs_WhiteSpace_ObjectOperato
4fa60 72 49 6e 64 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f rIndentSniff'.=>.$vendorDir...'/
4fa80 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e squizlabs/php_codesniffer/CodeSn
4faa0 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 57 68 69 74 iffer/Standards/PEAR/Sniffs/Whit
4fac0 65 53 70 61 63 65 2f 4f 62 6a 65 63 74 4f 70 65 72 61 74 6f 72 49 6e 64 65 6e 74 53 6e 69 66 66 eSpace/ObjectOperatorIndentSniff
4fae0 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 .php',.....'PEAR_Sniffs_WhiteSpa
4fb00 63 65 5f 53 63 6f 70 65 43 6c 6f 73 69 6e 67 42 72 61 63 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 ce_ScopeClosingBraceSniff'.=>.$v
4fb20 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 endorDir...'/squizlabs/php_codes
4fb40 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 45 41 niffer/CodeSniffer/Standards/PEA
4fb60 52 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 53 63 6f 70 65 43 6c 6f 73 69 6e 67 R/Sniffs/WhiteSpace/ScopeClosing
4fb80 42 72 61 63 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 45 41 52 5f 53 6e 69 66 66 BraceSniff.php',.....'PEAR_Sniff
4fba0 73 5f 57 68 69 74 65 53 70 61 63 65 5f 53 63 6f 70 65 49 6e 64 65 6e 74 53 6e 69 66 66 27 20 3d s_WhiteSpace_ScopeIndentSniff'.=
4fbc0 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 >.$vendorDir...'/squizlabs/php_c
4fbe0 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 odesniffer/CodeSniffer/Standards
4fc00 2f 50 45 41 52 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 53 63 6f 70 65 49 6e 64 /PEAR/Sniffs/WhiteSpace/ScopeInd
4fc20 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 entSniff.php',.....'PHP_CodeSnif
4fc40 66 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 fer'.=>.$vendorDir...'/squizlabs
4fc60 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2e 70 68 70 /php_codesniffer/CodeSniffer.php
4fc80 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 43 4c 49 27 20 3d 3e 20 ',.....'PHP_CodeSniffer_CLI'.=>.
4fca0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 $vendorDir...'/squizlabs/php_cod
4fcc0 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 43 4c 49 2e 70 68 70 27 2c 0a 20 esniffer/CodeSniffer/CLI.php',..
4fce0 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 44 6f 63 47 65 6e 65 72 61 74 6f 72 ...'PHP_CodeSniffer_DocGenerator
4fd00 73 5f 47 65 6e 65 72 61 74 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 s_Generator'.=>.$vendorDir...'/s
4fd20 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
4fd40 66 66 65 72 2f 44 6f 63 47 65 6e 65 72 61 74 6f 72 73 2f 47 65 6e 65 72 61 74 6f 72 2e 70 68 70 ffer/DocGenerators/Generator.php
4fd60 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 44 6f 63 47 65 6e 65 72 ',.....'PHP_CodeSniffer_DocGener
4fd80 61 74 6f 72 73 5f 48 54 4d 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 ators_HTML'.=>.$vendorDir...'/sq
4fda0 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
4fdc0 66 65 72 2f 44 6f 63 47 65 6e 65 72 61 74 6f 72 73 2f 48 54 4d 4c 2e 70 68 70 27 2c 0a 20 20 20 fer/DocGenerators/HTML.php',....
4fde0 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 44 6f 63 47 65 6e 65 72 61 74 6f 72 73 5f .'PHP_CodeSniffer_DocGenerators_
4fe00 54 65 78 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 Text'.=>.$vendorDir...'/squizlab
4fe20 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 44 6f s/php_codesniffer/CodeSniffer/Do
4fe40 63 47 65 6e 65 72 61 74 6f 72 73 2f 54 65 78 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f cGenerators/Text.php',.....'PHP_
4fe60 43 6f 64 65 53 6e 69 66 66 65 72 5f 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f CodeSniffer_Exception'.=>.$vendo
4fe80 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 rDir...'/squizlabs/php_codesniff
4fea0 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 er/CodeSniffer/Exception.php',..
4fec0 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 46 69 6c 65 27 20 3d 3e 20 24 76 65 ...'PHP_CodeSniffer_File'.=>.$ve
4fee0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e ndorDir...'/squizlabs/php_codesn
4ff00 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 46 69 6c 65 2e 70 68 70 27 2c 0a 20 20 20 iffer/CodeSniffer/File.php',....
4ff20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 46 69 78 65 72 27 20 3d 3e 20 24 76 65 6e .'PHP_CodeSniffer_Fixer'.=>.$ven
4ff40 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 dorDir...'/squizlabs/php_codesni
4ff60 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 46 69 78 65 72 2e 70 68 70 27 2c 0a 20 20 20 ffer/CodeSniffer/Fixer.php',....
4ff80 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 27 20 3d 3e 20 24 76 65 .'PHP_CodeSniffer_Report'.=>.$ve
4ffa0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e ndorDir...'/squizlabs/php_codesn
4ffc0 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 2e 70 68 70 27 2c 0a 20 iffer/CodeSniffer/Report.php',..
4ffe0 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 69 6e 67 27 20 3d ...'PHP_CodeSniffer_Reporting'.=
50000 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 >.$vendorDir...'/squizlabs/php_c
50020 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 69 6e 67 odesniffer/CodeSniffer/Reporting
50040 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f .php',.....'PHP_CodeSniffer_Repo
50060 72 74 73 5f 43 62 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a rts_Cbf'.=>.$vendorDir...'/squiz
50080 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 labs/php_codesniffer/CodeSniffer
500a0 2f 52 65 70 6f 72 74 73 2f 43 62 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 /Reports/Cbf.php',.....'PHP_Code
500c0 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 73 5f 43 68 65 63 6b 73 74 79 6c 65 27 20 3d 3e 20 24 Sniffer_Reports_Checkstyle'.=>.$
500e0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 vendorDir...'/squizlabs/php_code
50100 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 2f 43 68 65 63 sniffer/CodeSniffer/Reports/Chec
50120 6b 73 74 79 6c 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 kstyle.php',.....'PHP_CodeSniffe
50140 72 5f 52 65 70 6f 72 74 73 5f 43 73 76 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 r_Reports_Csv'.=>.$vendorDir...'
50160 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 /squizlabs/php_codesniffer/CodeS
50180 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 2f 43 73 76 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 niffer/Reports/Csv.php',.....'PH
501a0 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 73 5f 44 69 66 66 27 20 3d 3e 20 24 P_CodeSniffer_Reports_Diff'.=>.$
501c0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 vendorDir...'/squizlabs/php_code
501e0 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 2f 44 69 66 66 sniffer/CodeSniffer/Reports/Diff
50200 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f .php',.....'PHP_CodeSniffer_Repo
50220 72 74 73 5f 45 6d 61 63 73 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 rts_Emacs'.=>.$vendorDir...'/squ
50240 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 izlabs/php_codesniffer/CodeSniff
50260 65 72 2f 52 65 70 6f 72 74 73 2f 45 6d 61 63 73 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f er/Reports/Emacs.php',.....'PHP_
50280 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 73 5f 46 75 6c 6c 27 20 3d 3e 20 24 76 65 CodeSniffer_Reports_Full'.=>.$ve
502a0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e ndorDir...'/squizlabs/php_codesn
502c0 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 2f 46 75 6c 6c 2e 70 iffer/CodeSniffer/Reports/Full.p
502e0 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 hp',.....'PHP_CodeSniffer_Report
50300 73 5f 47 69 74 62 6c 61 6d 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 s_Gitblame'.=>.$vendorDir...'/sq
50320 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
50340 66 65 72 2f 52 65 70 6f 72 74 73 2f 47 69 74 62 6c 61 6d 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 fer/Reports/Gitblame.php',.....'
50360 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 73 5f 48 67 62 6c 61 6d 65 27 PHP_CodeSniffer_Reports_Hgblame'
50380 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 .=>.$vendorDir...'/squizlabs/php
503a0 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 _codesniffer/CodeSniffer/Reports
503c0 2f 48 67 62 6c 61 6d 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 /Hgblame.php',.....'PHP_CodeSnif
503e0 66 65 72 5f 52 65 70 6f 72 74 73 5f 49 6e 66 6f 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 fer_Reports_Info'.=>.$vendorDir.
50400 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f ..'/squizlabs/php_codesniffer/Co
50420 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 2f 49 6e 66 6f 2e 70 68 70 27 2c 0a 20 20 20 deSniffer/Reports/Info.php',....
50440 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 73 5f 4a 73 6f 6e 27 20 .'PHP_CodeSniffer_Reports_Json'.
50460 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f =>.$vendorDir...'/squizlabs/php_
50480 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 2f codesniffer/CodeSniffer/Reports/
504a0 4a 73 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f Json.php',.....'PHP_CodeSniffer_
504c0 52 65 70 6f 72 74 73 5f 4a 75 6e 69 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 Reports_Junit'.=>.$vendorDir...'
504e0 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 /squizlabs/php_codesniffer/CodeS
50500 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 2f 4a 75 6e 69 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 niffer/Reports/Junit.php',.....'
50520 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 73 5f 4e 6f 74 69 66 79 73 65 PHP_CodeSniffer_Reports_Notifyse
50540 6e 64 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f nd'.=>.$vendorDir...'/squizlabs/
50560 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f php_codesniffer/CodeSniffer/Repo
50580 72 74 73 2f 4e 6f 74 69 66 79 73 65 6e 64 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f rts/Notifysend.php',.....'PHP_Co
505a0 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 73 5f 53 6f 75 72 63 65 27 20 3d 3e 20 24 76 65 deSniffer_Reports_Source'.=>.$ve
505c0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e ndorDir...'/squizlabs/php_codesn
505e0 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 2f 53 6f 75 72 63 65 iffer/CodeSniffer/Reports/Source
50600 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f .php',.....'PHP_CodeSniffer_Repo
50620 72 74 73 5f 53 75 6d 6d 61 72 79 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 rts_Summary'.=>.$vendorDir...'/s
50640 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
50660 66 66 65 72 2f 52 65 70 6f 72 74 73 2f 53 75 6d 6d 61 72 79 2e 70 68 70 27 2c 0a 20 20 20 20 27 ffer/Reports/Summary.php',.....'
50680 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 73 5f 53 76 6e 62 6c 61 6d 65 PHP_CodeSniffer_Reports_Svnblame
506a0 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 '.=>.$vendorDir...'/squizlabs/ph
506c0 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 p_codesniffer/CodeSniffer/Report
506e0 73 2f 53 76 6e 62 6c 61 6d 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e s/Svnblame.php',.....'PHP_CodeSn
50700 69 66 66 65 72 5f 52 65 70 6f 72 74 73 5f 56 65 72 73 69 6f 6e 43 6f 6e 74 72 6f 6c 27 20 3d 3e iffer_Reports_VersionControl'.=>
50720 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f .$vendorDir...'/squizlabs/php_co
50740 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 2f 56 65 desniffer/CodeSniffer/Reports/Ve
50760 72 73 69 6f 6e 43 6f 6e 74 72 6f 6c 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 rsionControl.php',.....'PHP_Code
50780 53 6e 69 66 66 65 72 5f 52 65 70 6f 72 74 73 5f 58 6d 6c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 Sniffer_Reports_Xml'.=>.$vendorD
507a0 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 ir...'/squizlabs/php_codesniffer
507c0 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 52 65 70 6f 72 74 73 2f 58 6d 6c 2e 70 68 70 27 2c 0a 20 /CodeSniffer/Reports/Xml.php',..
507e0 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 53 6e 69 66 66 27 20 3d 3e 20 24 76 ...'PHP_CodeSniffer_Sniff'.=>.$v
50800 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 endorDir...'/squizlabs/php_codes
50820 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 niffer/CodeSniffer/Sniff.php',..
50840 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 53 74 61 6e 64 61 72 64 73 5f 41 62 ...'PHP_CodeSniffer_Standards_Ab
50860 73 74 72 61 63 74 50 61 74 74 65 72 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 stractPatternSniff'.=>.$vendorDi
50880 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f r...'/squizlabs/php_codesniffer/
508a0 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 41 62 73 74 72 61 63 74 50 61 CodeSniffer/Standards/AbstractPa
508c0 74 74 65 72 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e tternSniff.php',.....'PHP_CodeSn
508e0 69 66 66 65 72 5f 53 74 61 6e 64 61 72 64 73 5f 41 62 73 74 72 61 63 74 53 63 6f 70 65 53 6e 69 iffer_Standards_AbstractScopeSni
50900 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
50920 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
50940 64 61 72 64 73 2f 41 62 73 74 72 61 63 74 53 63 6f 70 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 dards/AbstractScopeSniff.php',..
50960 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 53 74 61 6e 64 61 72 64 73 5f 41 62 ...'PHP_CodeSniffer_Standards_Ab
50980 73 74 72 61 63 74 56 61 72 69 61 62 6c 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 stractVariableSniff'.=>.$vendorD
509a0 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 ir...'/squizlabs/php_codesniffer
509c0 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 41 62 73 74 72 61 63 74 56 /CodeSniffer/Standards/AbstractV
509e0 61 72 69 61 62 6c 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 ariableSniff.php',.....'PHP_Code
50a00 53 6e 69 66 66 65 72 5f 53 74 61 6e 64 61 72 64 73 5f 49 6e 63 6f 72 72 65 63 74 50 61 74 74 65 Sniffer_Standards_IncorrectPatte
50a20 72 6e 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 rnException'.=>.$vendorDir...'/s
50a40 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
50a60 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 49 6e 63 6f 72 72 65 63 74 50 61 74 74 65 72 6e 45 ffer/Standards/IncorrectPatternE
50a80 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 xception.php',.....'PHP_CodeSnif
50aa0 66 65 72 5f 54 6f 6b 65 6e 69 7a 65 72 73 5f 43 53 53 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 fer_Tokenizers_CSS'.=>.$vendorDi
50ac0 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f r...'/squizlabs/php_codesniffer/
50ae0 43 6f 64 65 53 6e 69 66 66 65 72 2f 54 6f 6b 65 6e 69 7a 65 72 73 2f 43 53 53 2e 70 68 70 27 2c CodeSniffer/Tokenizers/CSS.php',
50b00 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 54 6f 6b 65 6e 69 7a 65 72 73 .....'PHP_CodeSniffer_Tokenizers
50b20 5f 43 6f 6d 6d 65 6e 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 _Comment'.=>.$vendorDir...'/squi
50b40 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 zlabs/php_codesniffer/CodeSniffe
50b60 72 2f 54 6f 6b 65 6e 69 7a 65 72 73 2f 43 6f 6d 6d 65 6e 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 r/Tokenizers/Comment.php',.....'
50b80 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 54 6f 6b 65 6e 69 7a 65 72 73 5f 4a 53 27 20 3d PHP_CodeSniffer_Tokenizers_JS'.=
50ba0 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 >.$vendorDir...'/squizlabs/php_c
50bc0 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 54 6f 6b 65 6e 69 7a 65 72 odesniffer/CodeSniffer/Tokenizer
50be0 73 2f 4a 53 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f s/JS.php',.....'PHP_CodeSniffer_
50c00 54 6f 6b 65 6e 69 7a 65 72 73 5f 50 48 50 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 Tokenizers_PHP'.=>.$vendorDir...
50c20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 '/squizlabs/php_codesniffer/Code
50c40 53 6e 69 66 66 65 72 2f 54 6f 6b 65 6e 69 7a 65 72 73 2f 50 48 50 2e 70 68 70 27 2c 0a 20 20 20 Sniffer/Tokenizers/PHP.php',....
50c60 20 27 50 48 50 5f 43 6f 64 65 53 6e 69 66 66 65 72 5f 54 6f 6b 65 6e 73 27 20 3d 3e 20 24 76 65 .'PHP_CodeSniffer_Tokens'.=>.$ve
50c80 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e ndorDir...'/squizlabs/php_codesn
50ca0 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 54 6f 6b 65 6e 73 2e 70 68 70 27 2c 0a 20 iffer/CodeSniffer/Tokens.php',..
50cc0 20 20 20 27 50 53 52 31 5f 53 6e 69 66 66 73 5f 43 6c 61 73 73 65 73 5f 43 6c 61 73 73 44 65 63 ...'PSR1_Sniffs_Classes_ClassDec
50ce0 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 larationSniff'.=>.$vendorDir...'
50d00 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 /squizlabs/php_codesniffer/CodeS
50d20 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 53 52 31 2f 53 6e 69 66 66 73 2f 43 6c 61 niffer/Standards/PSR1/Sniffs/Cla
50d40 73 73 65 73 2f 43 6c 61 73 73 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c sses/ClassDeclarationSniff.php',
50d60 0a 20 20 20 20 27 50 53 52 31 5f 53 6e 69 66 66 73 5f 46 69 6c 65 73 5f 53 69 64 65 45 66 66 65 .....'PSR1_Sniffs_Files_SideEffe
50d80 63 74 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 ctsSniff'.=>.$vendorDir...'/squi
50da0 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 zlabs/php_codesniffer/CodeSniffe
50dc0 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 53 52 31 2f 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 53 69 r/Standards/PSR1/Sniffs/Files/Si
50de0 64 65 45 66 66 65 63 74 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 53 52 31 5f 53 deEffectsSniff.php',.....'PSR1_S
50e00 6e 69 66 66 73 5f 4d 65 74 68 6f 64 73 5f 43 61 6d 65 6c 43 61 70 73 4d 65 74 68 6f 64 4e 61 6d niffs_Methods_CamelCapsMethodNam
50e20 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c eSniff'.=>.$vendorDir...'/squizl
50e40 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f abs/php_codesniffer/CodeSniffer/
50e60 53 74 61 6e 64 61 72 64 73 2f 50 53 52 31 2f 53 6e 69 66 66 73 2f 4d 65 74 68 6f 64 73 2f 43 61 Standards/PSR1/Sniffs/Methods/Ca
50e80 6d 65 6c 43 61 70 73 4d 65 74 68 6f 64 4e 61 6d 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 melCapsMethodNameSniff.php',....
50ea0 20 27 50 53 52 32 5f 53 6e 69 66 66 73 5f 43 6c 61 73 73 65 73 5f 43 6c 61 73 73 44 65 63 6c 61 .'PSR2_Sniffs_Classes_ClassDecla
50ec0 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 rationSniff'.=>.$vendorDir...'/s
50ee0 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
50f00 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 53 52 32 2f 53 6e 69 66 66 73 2f 43 6c 61 73 73 ffer/Standards/PSR2/Sniffs/Class
50f20 65 73 2f 43 6c 61 73 73 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 es/ClassDeclarationSniff.php',..
50f40 20 20 20 27 50 53 52 32 5f 53 6e 69 66 66 73 5f 43 6c 61 73 73 65 73 5f 50 72 6f 70 65 72 74 79 ...'PSR2_Sniffs_Classes_Property
50f60 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 DeclarationSniff'.=>.$vendorDir.
50f80 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f ..'/squizlabs/php_codesniffer/Co
50fa0 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 53 52 32 2f 53 6e 69 66 66 73 2f deSniffer/Standards/PSR2/Sniffs/
50fc0 43 6c 61 73 73 65 73 2f 50 72 6f 70 65 72 74 79 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 Classes/PropertyDeclarationSniff
50fe0 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 53 52 32 5f 53 6e 69 66 66 73 5f 43 6f 6e 74 72 6f 6c 53 .php',.....'PSR2_Sniffs_ControlS
51000 74 72 75 63 74 75 72 65 73 5f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 53 70 61 63 69 6e tructures_ControlStructureSpacin
51020 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c gSniff'.=>.$vendorDir...'/squizl
51040 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f abs/php_codesniffer/CodeSniffer/
51060 53 74 61 6e 64 61 72 64 73 2f 50 53 52 32 2f 53 6e 69 66 66 73 2f 43 6f 6e 74 72 6f 6c 53 74 72 Standards/PSR2/Sniffs/ControlStr
51080 75 63 74 75 72 65 73 2f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 53 70 61 63 69 6e 67 53 uctures/ControlStructureSpacingS
510a0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 53 52 32 5f 53 6e 69 66 66 73 5f 43 6f 6e 74 niff.php',.....'PSR2_Sniffs_Cont
510c0 72 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 45 6c 73 65 49 66 44 65 63 6c 61 72 61 74 69 6f 6e 53 rolStructures_ElseIfDeclarationS
510e0 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 niff'.=>.$vendorDir...'/squizlab
51100 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 s/php_codesniffer/CodeSniffer/St
51120 61 6e 64 61 72 64 73 2f 50 53 52 32 2f 53 6e 69 66 66 73 2f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 andards/PSR2/Sniffs/ControlStruc
51140 74 75 72 65 73 2f 45 6c 73 65 49 66 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 tures/ElseIfDeclarationSniff.php
51160 27 2c 0a 20 20 20 20 27 50 53 52 32 5f 53 6e 69 66 66 73 5f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 ',.....'PSR2_Sniffs_ControlStruc
51180 74 75 72 65 73 5f 53 77 69 74 63 68 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e tures_SwitchDeclarationSniff'.=>
511a0 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f .$vendorDir...'/squizlabs/php_co
511c0 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f desniffer/CodeSniffer/Standards/
511e0 50 53 52 32 2f 53 6e 69 66 66 73 2f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 2f 53 77 PSR2/Sniffs/ControlStructures/Sw
51200 69 74 63 68 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 itchDeclarationSniff.php',.....'
51220 50 53 52 32 5f 53 6e 69 66 66 73 5f 46 69 6c 65 73 5f 45 6e 64 46 69 6c 65 4e 65 77 6c 69 6e 65 PSR2_Sniffs_Files_EndFileNewline
51240 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 Sniff'.=>.$vendorDir...'/squizla
51260 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 bs/php_codesniffer/CodeSniffer/S
51280 74 61 6e 64 61 72 64 73 2f 50 53 52 32 2f 53 6e 69 66 66 73 2f 46 69 6c 65 73 2f 45 6e 64 46 69 tandards/PSR2/Sniffs/Files/EndFi
512a0 6c 65 4e 65 77 6c 69 6e 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 53 52 32 5f 53 leNewlineSniff.php',.....'PSR2_S
512c0 6e 69 66 66 73 5f 4d 65 74 68 6f 64 73 5f 46 75 6e 63 74 69 6f 6e 43 61 6c 6c 53 69 67 6e 61 74 niffs_Methods_FunctionCallSignat
512e0 75 72 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 ureSniff'.=>.$vendorDir...'/squi
51300 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 zlabs/php_codesniffer/CodeSniffe
51320 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 53 52 32 2f 53 6e 69 66 66 73 2f 4d 65 74 68 6f 64 73 2f r/Standards/PSR2/Sniffs/Methods/
51340 46 75 6e 63 74 69 6f 6e 43 61 6c 6c 53 69 67 6e 61 74 75 72 65 53 6e 69 66 66 2e 70 68 70 27 2c FunctionCallSignatureSniff.php',
51360 0a 20 20 20 20 27 50 53 52 32 5f 53 6e 69 66 66 73 5f 4d 65 74 68 6f 64 73 5f 4d 65 74 68 6f 64 .....'PSR2_Sniffs_Methods_Method
51380 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 DeclarationSniff'.=>.$vendorDir.
513a0 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f ..'/squizlabs/php_codesniffer/Co
513c0 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 53 52 32 2f 53 6e 69 66 66 73 2f deSniffer/Standards/PSR2/Sniffs/
513e0 4d 65 74 68 6f 64 73 2f 4d 65 74 68 6f 64 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 Methods/MethodDeclarationSniff.p
51400 68 70 27 2c 0a 20 20 20 20 27 50 53 52 32 5f 53 6e 69 66 66 73 5f 4e 61 6d 65 73 70 61 63 65 73 hp',.....'PSR2_Sniffs_Namespaces
51420 5f 4e 61 6d 65 73 70 61 63 65 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 _NamespaceDeclarationSniff'.=>.$
51440 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 vendorDir...'/squizlabs/php_code
51460 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 50 53 sniffer/CodeSniffer/Standards/PS
51480 52 32 2f 53 6e 69 66 66 73 2f 4e 61 6d 65 73 70 61 63 65 73 2f 4e 61 6d 65 73 70 61 63 65 44 65 R2/Sniffs/Namespaces/NamespaceDe
514a0 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 53 52 32 5f 53 clarationSniff.php',.....'PSR2_S
514c0 6e 69 66 66 73 5f 4e 61 6d 65 73 70 61 63 65 73 5f 55 73 65 44 65 63 6c 61 72 61 74 69 6f 6e 53 niffs_Namespaces_UseDeclarationS
514e0 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 niff'.=>.$vendorDir...'/squizlab
51500 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 s/php_codesniffer/CodeSniffer/St
51520 61 6e 64 61 72 64 73 2f 50 53 52 32 2f 53 6e 69 66 66 73 2f 4e 61 6d 65 73 70 61 63 65 73 2f 55 andards/PSR2/Sniffs/Namespaces/U
51540 73 65 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 seDeclarationSniff.php',.....'Sq
51560 75 69 7a 5f 53 6e 69 66 66 73 5f 41 72 72 61 79 73 5f 41 72 72 61 79 42 72 61 63 6b 65 74 53 70 uiz_Sniffs_Arrays_ArrayBracketSp
51580 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 acingSniff'.=>.$vendorDir...'/sq
515a0 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
515c0 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 41 72 72 61 79 fer/Standards/Squiz/Sniffs/Array
515e0 73 2f 41 72 72 61 79 42 72 61 63 6b 65 74 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c s/ArrayBracketSpacingSniff.php',
51600 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 41 72 72 61 79 73 5f 41 72 72 61 79 44 .....'Squiz_Sniffs_Arrays_ArrayD
51620 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e eclarationSniff'.=>.$vendorDir..
51640 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 .'/squizlabs/php_codesniffer/Cod
51660 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f eSniffer/Standards/Squiz/Sniffs/
51680 41 72 72 61 79 73 2f 41 72 72 61 79 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 Arrays/ArrayDeclarationSniff.php
516a0 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 43 6c 61 73 73 44 65 ',.....'Squiz_Sniffs_CSS_ClassDe
516c0 66 69 6e 69 74 69 6f 6e 43 6c 6f 73 69 6e 67 42 72 61 63 65 53 70 61 63 65 53 6e 69 66 66 27 20 finitionClosingBraceSpaceSniff'.
516e0 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f =>.$vendorDir...'/squizlabs/php_
51700 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 codesniffer/CodeSniffer/Standard
51720 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 2f 43 6c 61 73 73 44 65 66 69 6e 69 74 69 s/Squiz/Sniffs/CSS/ClassDefiniti
51740 6f 6e 43 6c 6f 73 69 6e 67 42 72 61 63 65 53 70 61 63 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 onClosingBraceSpaceSniff.php',..
51760 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 43 6c 61 73 73 44 65 66 69 6e 69 ...'Squiz_Sniffs_CSS_ClassDefini
51780 74 69 6f 6e 4e 61 6d 65 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 tionNameSpacingSniff'.=>.$vendor
517a0 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
517c0 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e r/CodeSniffer/Standards/Squiz/Sn
517e0 69 66 66 73 2f 43 53 53 2f 43 6c 61 73 73 44 65 66 69 6e 69 74 69 6f 6e 4e 61 6d 65 53 70 61 63 iffs/CSS/ClassDefinitionNameSpac
51800 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 ingSniff.php',.....'Squiz_Sniffs
51820 5f 43 53 53 5f 43 6c 61 73 73 44 65 66 69 6e 69 74 69 6f 6e 4f 70 65 6e 69 6e 67 42 72 61 63 65 _CSS_ClassDefinitionOpeningBrace
51840 53 70 61 63 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 SpaceSniff'.=>.$vendorDir...'/sq
51860 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
51880 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 2f 43 fer/Standards/Squiz/Sniffs/CSS/C
518a0 6c 61 73 73 44 65 66 69 6e 69 74 69 6f 6e 4f 70 65 6e 69 6e 67 42 72 61 63 65 53 70 61 63 65 53 lassDefinitionOpeningBraceSpaceS
518c0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 53 53 niff.php',.....'Squiz_Sniffs_CSS
518e0 5f 43 6f 6c 6f 6e 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 _ColonSpacingSniff'.=>.$vendorDi
51900 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f r...'/squizlabs/php_codesniffer/
51920 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 CodeSniffer/Standards/Squiz/Snif
51940 66 73 2f 43 53 53 2f 43 6f 6c 6f 6e 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 fs/CSS/ColonSpacingSniff.php',..
51960 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 43 6f 6c 6f 75 72 44 65 66 69 6e ...'Squiz_Sniffs_CSS_ColourDefin
51980 69 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 itionSniff'.=>.$vendorDir...'/sq
519a0 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
519c0 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 2f 43 fer/Standards/Squiz/Sniffs/CSS/C
519e0 6f 6c 6f 75 72 44 65 66 69 6e 69 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 olourDefinitionSniff.php',.....'
51a00 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 44 69 73 61 6c 6c 6f 77 4d 75 6c 74 69 70 6c Squiz_Sniffs_CSS_DisallowMultipl
51a20 65 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 eStyleDefinitionsSniff'.=>.$vend
51a40 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 orDir...'/squizlabs/php_codesnif
51a60 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f fer/CodeSniffer/Standards/Squiz/
51a80 53 6e 69 66 66 73 2f 43 53 53 2f 44 69 73 61 6c 6c 6f 77 4d 75 6c 74 69 70 6c 65 53 74 79 6c 65 Sniffs/CSS/DisallowMultipleStyle
51aa0 44 65 66 69 6e 69 74 69 6f 6e 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 DefinitionsSniff.php',.....'Squi
51ac0 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 44 75 70 6c 69 63 61 74 65 43 6c 61 73 73 44 65 66 69 6e z_Sniffs_CSS_DuplicateClassDefin
51ae0 69 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 itionSniff'.=>.$vendorDir...'/sq
51b00 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
51b20 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 2f 44 fer/Standards/Squiz/Sniffs/CSS/D
51b40 75 70 6c 69 63 61 74 65 43 6c 61 73 73 44 65 66 69 6e 69 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 uplicateClassDefinitionSniff.php
51b60 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 44 75 70 6c 69 63 61 ',.....'Squiz_Sniffs_CSS_Duplica
51b80 74 65 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 teStyleDefinitionSniff'.=>.$vend
51ba0 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 orDir...'/squizlabs/php_codesnif
51bc0 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f fer/CodeSniffer/Standards/Squiz/
51be0 53 6e 69 66 66 73 2f 43 53 53 2f 44 75 70 6c 69 63 61 74 65 53 74 79 6c 65 44 65 66 69 6e 69 74 Sniffs/CSS/DuplicateStyleDefinit
51c00 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 ionSniff.php',.....'Squiz_Sniffs
51c20 5f 43 53 53 5f 45 6d 70 74 79 43 6c 61 73 73 44 65 66 69 6e 69 74 69 6f 6e 53 6e 69 66 66 27 20 _CSS_EmptyClassDefinitionSniff'.
51c40 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f =>.$vendorDir...'/squizlabs/php_
51c60 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 codesniffer/CodeSniffer/Standard
51c80 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 2f 45 6d 70 74 79 43 6c 61 73 73 44 65 66 s/Squiz/Sniffs/CSS/EmptyClassDef
51ca0 69 6e 69 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e initionSniff.php',.....'Squiz_Sn
51cc0 69 66 66 73 5f 43 53 53 5f 45 6d 70 74 79 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 53 6e 69 iffs_CSS_EmptyStyleDefinitionSni
51ce0 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
51d00 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
51d20 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 2f 45 6d 70 74 79 53 74 79 6c dards/Squiz/Sniffs/CSS/EmptyStyl
51d40 65 44 65 66 69 6e 69 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 eDefinitionSniff.php',.....'Squi
51d60 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 46 6f 72 62 69 64 64 65 6e 53 74 79 6c 65 73 53 6e 69 66 z_Sniffs_CSS_ForbiddenStylesSnif
51d80 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 f'.=>.$vendorDir...'/squizlabs/p
51da0 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 hp_codesniffer/CodeSniffer/Stand
51dc0 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 2f 46 6f 72 62 69 64 64 65 6e 53 ards/Squiz/Sniffs/CSS/ForbiddenS
51de0 74 79 6c 65 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 tylesSniff.php',.....'Squiz_Snif
51e00 66 73 5f 43 53 53 5f 49 6e 64 65 6e 74 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e fs_CSS_IndentationSniff'.=>.$ven
51e20 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 dorDir...'/squizlabs/php_codesni
51e40 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a ffer/CodeSniffer/Standards/Squiz
51e60 2f 53 6e 69 66 66 73 2f 43 53 53 2f 49 6e 64 65 6e 74 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 /Sniffs/CSS/IndentationSniff.php
51e80 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 4c 6f 77 65 72 63 61 ',.....'Squiz_Sniffs_CSS_Lowerca
51ea0 73 65 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 seStyleDefinitionSniff'.=>.$vend
51ec0 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 orDir...'/squizlabs/php_codesnif
51ee0 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f fer/CodeSniffer/Standards/Squiz/
51f00 53 6e 69 66 66 73 2f 43 53 53 2f 4c 6f 77 65 72 63 61 73 65 53 74 79 6c 65 44 65 66 69 6e 69 74 Sniffs/CSS/LowercaseStyleDefinit
51f20 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 ionSniff.php',.....'Squiz_Sniffs
51f40 5f 43 53 53 5f 4d 69 73 73 69 6e 67 43 6f 6c 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 _CSS_MissingColonSniff'.=>.$vend
51f60 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 orDir...'/squizlabs/php_codesnif
51f80 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f fer/CodeSniffer/Standards/Squiz/
51fa0 53 6e 69 66 66 73 2f 43 53 53 2f 4d 69 73 73 69 6e 67 43 6f 6c 6f 6e 53 6e 69 66 66 2e 70 68 70 Sniffs/CSS/MissingColonSniff.php
51fc0 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 4e 61 6d 65 64 43 6f ',.....'Squiz_Sniffs_CSS_NamedCo
51fe0 6c 6f 75 72 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 loursSniff'.=>.$vendorDir...'/sq
52000 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
52020 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 2f 4e fer/Standards/Squiz/Sniffs/CSS/N
52040 61 6d 65 64 43 6f 6c 6f 75 72 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 amedColoursSniff.php',.....'Squi
52060 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 4f 70 61 63 69 74 79 53 6e 69 66 66 27 20 3d 3e 20 24 76 z_Sniffs_CSS_OpacitySniff'.=>.$v
52080 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 endorDir...'/squizlabs/php_codes
520a0 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 niffer/CodeSniffer/Standards/Squ
520c0 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 2f 4f 70 61 63 69 74 79 53 6e 69 66 66 2e 70 68 70 27 2c iz/Sniffs/CSS/OpacitySniff.php',
520e0 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 53 65 6d 69 63 6f 6c 6f 6e .....'Squiz_Sniffs_CSS_Semicolon
52100 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f SpacingSniff'.=>.$vendorDir...'/
52120 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e squizlabs/php_codesniffer/CodeSn
52140 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 iffer/Standards/Squiz/Sniffs/CSS
52160 2f 53 65 6d 69 63 6f 6c 6f 6e 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 /SemicolonSpacingSniff.php',....
52180 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 53 53 5f 53 68 6f 72 74 68 61 6e 64 53 69 7a 65 .'Squiz_Sniffs_CSS_ShorthandSize
521a0 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 Sniff'.=>.$vendorDir...'/squizla
521c0 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 bs/php_codesniffer/CodeSniffer/S
521e0 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 53 53 2f 53 68 6f 72 74 68 tandards/Squiz/Sniffs/CSS/Shorth
52200 61 6e 64 53 69 7a 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e andSizeSniff.php',.....'Squiz_Sn
52220 69 66 66 73 5f 43 6c 61 73 73 65 73 5f 43 6c 61 73 73 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 iffs_Classes_ClassDeclarationSni
52240 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
52260 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
52280 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6c 61 73 73 65 73 2f 43 6c 61 73 73 dards/Squiz/Sniffs/Classes/Class
522a0 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 DeclarationSniff.php',.....'Squi
522c0 7a 5f 53 6e 69 66 66 73 5f 43 6c 61 73 73 65 73 5f 43 6c 61 73 73 46 69 6c 65 4e 61 6d 65 53 6e z_Sniffs_Classes_ClassFileNameSn
522e0 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 iff'.=>.$vendorDir...'/squizlabs
52300 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 /php_codesniffer/CodeSniffer/Sta
52320 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6c 61 73 73 65 73 2f 43 6c 61 73 ndards/Squiz/Sniffs/Classes/Clas
52340 73 46 69 6c 65 4e 61 6d 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f sFileNameSniff.php',.....'Squiz_
52360 53 6e 69 66 66 73 5f 43 6c 61 73 73 65 73 5f 44 75 70 6c 69 63 61 74 65 50 72 6f 70 65 72 74 79 Sniffs_Classes_DuplicateProperty
52380 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 Sniff'.=>.$vendorDir...'/squizla
523a0 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 bs/php_codesniffer/CodeSniffer/S
523c0 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6c 61 73 73 65 73 2f 44 75 tandards/Squiz/Sniffs/Classes/Du
523e0 70 6c 69 63 61 74 65 50 72 6f 70 65 72 74 79 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 plicatePropertySniff.php',.....'
52400 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6c 61 73 73 65 73 5f 4c 6f 77 65 72 63 61 73 65 43 6c Squiz_Sniffs_Classes_LowercaseCl
52420 61 73 73 4b 65 79 77 6f 72 64 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 assKeywordsSniff'.=>.$vendorDir.
52440 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f ..'/squizlabs/php_codesniffer/Co
52460 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 deSniffer/Standards/Squiz/Sniffs
52480 2f 43 6c 61 73 73 65 73 2f 4c 6f 77 65 72 63 61 73 65 43 6c 61 73 73 4b 65 79 77 6f 72 64 73 53 /Classes/LowercaseClassKeywordsS
524a0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6c 61 niff.php',.....'Squiz_Sniffs_Cla
524c0 73 73 65 73 5f 53 65 6c 66 4d 65 6d 62 65 72 52 65 66 65 72 65 6e 63 65 53 6e 69 66 66 27 20 3d sses_SelfMemberReferenceSniff'.=
524e0 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 >.$vendorDir...'/squizlabs/php_c
52500 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 odesniffer/CodeSniffer/Standards
52520 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6c 61 73 73 65 73 2f 53 65 6c 66 4d 65 6d 62 65 72 /Squiz/Sniffs/Classes/SelfMember
52540 52 65 66 65 72 65 6e 63 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f ReferenceSniff.php',.....'Squiz_
52560 53 6e 69 66 66 73 5f 43 6c 61 73 73 65 73 5f 56 61 6c 69 64 43 6c 61 73 73 4e 61 6d 65 53 6e 69 Sniffs_Classes_ValidClassNameSni
52580 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
525a0 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
525c0 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6c 61 73 73 65 73 2f 56 61 6c 69 64 dards/Squiz/Sniffs/Classes/Valid
525e0 43 6c 61 73 73 4e 61 6d 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f ClassNameSniff.php',.....'Squiz_
52600 53 6e 69 66 66 73 5f 43 6f 64 65 41 6e 61 6c 79 73 69 73 5f 45 6d 70 74 79 53 74 61 74 65 6d 65 Sniffs_CodeAnalysis_EmptyStateme
52620 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a ntSniff'.=>.$vendorDir...'/squiz
52640 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 labs/php_codesniffer/CodeSniffer
52660 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 64 65 41 6e 61 6c /Standards/Squiz/Sniffs/CodeAnal
52680 79 73 69 73 2f 45 6d 70 74 79 53 74 61 74 65 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 ysis/EmptyStatementSniff.php',..
526a0 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 42 6c 6f 63 ...'Squiz_Sniffs_Commenting_Bloc
526c0 6b 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 kCommentSniff'.=>.$vendorDir...'
526e0 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 /squizlabs/php_codesniffer/CodeS
52700 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f niffer/Standards/Squiz/Sniffs/Co
52720 6d 6d 65 6e 74 69 6e 67 2f 42 6c 6f 63 6b 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c mmenting/BlockCommentSniff.php',
52740 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 43 6c .....'Squiz_Sniffs_Commenting_Cl
52760 61 73 73 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e assCommentSniff'.=>.$vendorDir..
52780 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 .'/squizlabs/php_codesniffer/Cod
527a0 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f eSniffer/Standards/Squiz/Sniffs/
527c0 43 6f 6d 6d 65 6e 74 69 6e 67 2f 43 6c 61 73 73 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 Commenting/ClassCommentSniff.php
527e0 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f ',.....'Squiz_Sniffs_Commenting_
52800 43 6c 6f 73 69 6e 67 44 65 63 6c 61 72 61 74 69 6f 6e 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 27 20 ClosingDeclarationCommentSniff'.
52820 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f =>.$vendorDir...'/squizlabs/php_
52840 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 codesniffer/CodeSniffer/Standard
52860 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 43 6c 6f 73 69 6e s/Squiz/Sniffs/Commenting/Closin
52880 67 44 65 63 6c 61 72 61 74 69 6f 6e 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 gDeclarationCommentSniff.php',..
528a0 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 44 6f 63 43 ...'Squiz_Sniffs_Commenting_DocC
528c0 6f 6d 6d 65 6e 74 41 6c 69 67 6e 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 ommentAlignmentSniff'.=>.$vendor
528e0 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
52900 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e r/CodeSniffer/Standards/Squiz/Sn
52920 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 44 6f 63 43 6f 6d 6d 65 6e 74 41 6c 69 67 6e 6d iffs/Commenting/DocCommentAlignm
52940 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 entSniff.php',.....'Squiz_Sniffs
52960 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 45 6d 70 74 79 43 61 74 63 68 43 6f 6d 6d 65 6e 74 53 6e 69 _Commenting_EmptyCatchCommentSni
52980 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
529a0 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
529c0 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 45 6d dards/Squiz/Sniffs/Commenting/Em
529e0 70 74 79 43 61 74 63 68 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 ptyCatchCommentSniff.php',.....'
52a00 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 46 69 6c 65 43 6f 6d 6d Squiz_Sniffs_Commenting_FileComm
52a20 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 entSniff'.=>.$vendorDir...'/squi
52a40 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 zlabs/php_codesniffer/CodeSniffe
52a60 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 r/Standards/Squiz/Sniffs/Comment
52a80 69 6e 67 2f 46 69 6c 65 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 ing/FileCommentSniff.php',.....'
52aa0 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 46 75 6e 63 74 69 6f 6e Squiz_Sniffs_Commenting_Function
52ac0 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f CommentSniff'.=>.$vendorDir...'/
52ae0 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e squizlabs/php_codesniffer/CodeSn
52b00 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6d iffer/Standards/Squiz/Sniffs/Com
52b20 6d 65 6e 74 69 6e 67 2f 46 75 6e 63 74 69 6f 6e 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 menting/FunctionCommentSniff.php
52b40 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f ',.....'Squiz_Sniffs_Commenting_
52b60 46 75 6e 63 74 69 6f 6e 43 6f 6d 6d 65 6e 74 54 68 72 6f 77 54 61 67 53 6e 69 66 66 27 20 3d 3e FunctionCommentThrowTagSniff'.=>
52b80 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f .$vendorDir...'/squizlabs/php_co
52ba0 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f desniffer/CodeSniffer/Standards/
52bc0 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 46 75 6e 63 74 69 6f 6e Squiz/Sniffs/Commenting/Function
52be0 43 6f 6d 6d 65 6e 74 54 68 72 6f 77 54 61 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 CommentThrowTagSniff.php',.....'
52c00 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 49 6e 6c 69 6e 65 43 6f Squiz_Sniffs_Commenting_InlineCo
52c20 6d 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 mmentSniff'.=>.$vendorDir...'/sq
52c40 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
52c60 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 fer/Standards/Squiz/Sniffs/Comme
52c80 6e 74 69 6e 67 2f 49 6e 6c 69 6e 65 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 nting/InlineCommentSniff.php',..
52ca0 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 4c 6f 6e 67 ...'Squiz_Sniffs_Commenting_Long
52cc0 43 6f 6e 64 69 74 69 6f 6e 43 6c 6f 73 69 6e 67 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e ConditionClosingCommentSniff'.=>
52ce0 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f .$vendorDir...'/squizlabs/php_co
52d00 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f desniffer/CodeSniffer/Standards/
52d20 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 4c 6f 6e 67 43 6f 6e 64 Squiz/Sniffs/Commenting/LongCond
52d40 69 74 69 6f 6e 43 6c 6f 73 69 6e 67 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 itionClosingCommentSniff.php',..
52d60 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 50 6f 73 74 ...'Squiz_Sniffs_Commenting_Post
52d80 53 74 61 74 65 6d 65 6e 74 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f StatementCommentSniff'.=>.$vendo
52da0 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 rDir...'/squizlabs/php_codesniff
52dc0 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 er/CodeSniffer/Standards/Squiz/S
52de0 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 50 6f 73 74 53 74 61 74 65 6d 65 6e 74 43 6f niffs/Commenting/PostStatementCo
52e00 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 mmentSniff.php',.....'Squiz_Snif
52e20 66 73 5f 43 6f 6d 6d 65 6e 74 69 6e 67 5f 56 61 72 69 61 62 6c 65 43 6f 6d 6d 65 6e 74 53 6e 69 fs_Commenting_VariableCommentSni
52e40 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
52e60 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
52e80 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6d 6d 65 6e 74 69 6e 67 2f 56 61 dards/Squiz/Sniffs/Commenting/Va
52ea0 72 69 61 62 6c 65 43 6f 6d 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 riableCommentSniff.php',.....'Sq
52ec0 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 43 6f 6e uiz_Sniffs_ControlStructures_Con
52ee0 74 72 6f 6c 53 69 67 6e 61 74 75 72 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 trolSignatureSniff'.=>.$vendorDi
52f00 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f r...'/squizlabs/php_codesniffer/
52f20 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 CodeSniffer/Standards/Squiz/Snif
52f40 66 73 2f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 2f 43 6f 6e 74 72 6f 6c 53 69 67 6e fs/ControlStructures/ControlSign
52f60 61 74 75 72 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 atureSniff.php',.....'Squiz_Snif
52f80 66 73 5f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 45 6c 73 65 49 66 44 65 63 6c 61 fs_ControlStructures_ElseIfDecla
52fa0 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 rationSniff'.=>.$vendorDir...'/s
52fc0 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
52fe0 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6e 74 ffer/Standards/Squiz/Sniffs/Cont
53000 72 6f 6c 53 74 72 75 63 74 75 72 65 73 2f 45 6c 73 65 49 66 44 65 63 6c 61 72 61 74 69 6f 6e 53 rolStructures/ElseIfDeclarationS
53020 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6e niff.php',.....'Squiz_Sniffs_Con
53040 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 46 6f 72 45 61 63 68 4c 6f 6f 70 44 65 63 6c 61 72 trolStructures_ForEachLoopDeclar
53060 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 ationSniff'.=>.$vendorDir...'/sq
53080 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
530a0 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6e 74 72 fer/Standards/Squiz/Sniffs/Contr
530c0 6f 6c 53 74 72 75 63 74 75 72 65 73 2f 46 6f 72 45 61 63 68 4c 6f 6f 70 44 65 63 6c 61 72 61 74 olStructures/ForEachLoopDeclarat
530e0 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 ionSniff.php',.....'Squiz_Sniffs
53100 5f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 46 6f 72 4c 6f 6f 70 44 65 63 6c 61 72 _ControlStructures_ForLoopDeclar
53120 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 ationSniff'.=>.$vendorDir...'/sq
53140 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 uizlabs/php_codesniffer/CodeSnif
53160 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6e 74 72 fer/Standards/Squiz/Sniffs/Contr
53180 6f 6c 53 74 72 75 63 74 75 72 65 73 2f 46 6f 72 4c 6f 6f 70 44 65 63 6c 61 72 61 74 69 6f 6e 53 olStructures/ForLoopDeclarationS
531a0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6e niff.php',.....'Squiz_Sniffs_Con
531c0 74 72 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 49 6e 6c 69 6e 65 49 66 44 65 63 6c 61 72 61 74 69 trolStructures_InlineIfDeclarati
531e0 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a onSniff'.=>.$vendorDir...'/squiz
53200 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 labs/php_codesniffer/CodeSniffer
53220 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6e 74 72 6f 6c 53 /Standards/Squiz/Sniffs/ControlS
53240 74 72 75 63 74 75 72 65 73 2f 49 6e 6c 69 6e 65 49 66 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 tructures/InlineIfDeclarationSni
53260 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6e 74 72 ff.php',.....'Squiz_Sniffs_Contr
53280 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 4c 6f 77 65 72 63 61 73 65 44 65 63 6c 61 72 61 74 69 6f olStructures_LowercaseDeclaratio
532a0 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c nSniff'.=>.$vendorDir...'/squizl
532c0 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f abs/php_codesniffer/CodeSniffer/
532e0 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6e 74 72 6f 6c 53 74 Standards/Squiz/Sniffs/ControlSt
53300 72 75 63 74 75 72 65 73 2f 4c 6f 77 65 72 63 61 73 65 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 ructures/LowercaseDeclarationSni
53320 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 43 6f 6e 74 72 ff.php',.....'Squiz_Sniffs_Contr
53340 6f 6c 53 74 72 75 63 74 75 72 65 73 5f 53 77 69 74 63 68 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e olStructures_SwitchDeclarationSn
53360 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 iff'.=>.$vendorDir...'/squizlabs
53380 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 /php_codesniffer/CodeSniffer/Sta
533a0 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 ndards/Squiz/Sniffs/ControlStruc
533c0 74 75 72 65 73 2f 53 77 69 74 63 68 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 tures/SwitchDeclarationSniff.php
533e0 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 44 65 62 75 67 5f 4a 53 4c 69 6e ',.....'Squiz_Sniffs_Debug_JSLin
53400 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c tSniff'.=>.$vendorDir...'/squizl
53420 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f abs/php_codesniffer/CodeSniffer/
53440 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 44 65 62 75 67 2f 4a 53 4c Standards/Squiz/Sniffs/Debug/JSL
53460 69 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 intSniff.php',.....'Squiz_Sniffs
53480 5f 44 65 62 75 67 5f 4a 61 76 61 53 63 72 69 70 74 4c 69 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 _Debug_JavaScriptLintSniff'.=>.$
534a0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 vendorDir...'/squizlabs/php_code
534c0 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 sniffer/CodeSniffer/Standards/Sq
534e0 75 69 7a 2f 53 6e 69 66 66 73 2f 44 65 62 75 67 2f 4a 61 76 61 53 63 72 69 70 74 4c 69 6e 74 53 uiz/Sniffs/Debug/JavaScriptLintS
53500 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 46 69 6c niff.php',.....'Squiz_Sniffs_Fil
53520 65 73 5f 46 69 6c 65 45 78 74 65 6e 73 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f es_FileExtensionSniff'.=>.$vendo
53540 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 rDir...'/squizlabs/php_codesniff
53560 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 er/CodeSniffer/Standards/Squiz/S
53580 6e 69 66 66 73 2f 46 69 6c 65 73 2f 46 69 6c 65 45 78 74 65 6e 73 69 6f 6e 53 6e 69 66 66 2e 70 niffs/Files/FileExtensionSniff.p
535a0 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 46 6f 72 6d 61 74 74 69 6e hp',.....'Squiz_Sniffs_Formattin
535c0 67 5f 4f 70 65 72 61 74 6f 72 42 72 61 63 6b 65 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 g_OperatorBracketSniff'.=>.$vend
535e0 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 orDir...'/squizlabs/php_codesnif
53600 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f fer/CodeSniffer/Standards/Squiz/
53620 53 6e 69 66 66 73 2f 46 6f 72 6d 61 74 74 69 6e 67 2f 4f 70 65 72 61 74 6f 72 42 72 61 63 6b 65 Sniffs/Formatting/OperatorBracke
53640 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 46 tSniff.php',.....'Squiz_Sniffs_F
53660 75 6e 63 74 69 6f 6e 73 5f 46 75 6e 63 74 69 6f 6e 44 65 63 6c 61 72 61 74 69 6f 6e 41 72 67 75 unctions_FunctionDeclarationArgu
53680 6d 65 6e 74 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 mentSpacingSniff'.=>.$vendorDir.
536a0 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f ..'/squizlabs/php_codesniffer/Co
536c0 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 deSniffer/Standards/Squiz/Sniffs
536e0 2f 46 75 6e 63 74 69 6f 6e 73 2f 46 75 6e 63 74 69 6f 6e 44 65 63 6c 61 72 61 74 69 6f 6e 41 72 /Functions/FunctionDeclarationAr
53700 67 75 6d 65 6e 74 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 gumentSpacingSniff.php',.....'Sq
53720 75 69 7a 5f 53 6e 69 66 66 73 5f 46 75 6e 63 74 69 6f 6e 73 5f 46 75 6e 63 74 69 6f 6e 44 65 63 uiz_Sniffs_Functions_FunctionDec
53740 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 larationSniff'.=>.$vendorDir...'
53760 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 /squizlabs/php_codesniffer/CodeS
53780 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 46 75 niffer/Standards/Squiz/Sniffs/Fu
537a0 6e 63 74 69 6f 6e 73 2f 46 75 6e 63 74 69 6f 6e 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 nctions/FunctionDeclarationSniff
537c0 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 46 75 6e 63 74 69 6f .php',.....'Squiz_Sniffs_Functio
537e0 6e 73 5f 46 75 6e 63 74 69 6f 6e 44 75 70 6c 69 63 61 74 65 41 72 67 75 6d 65 6e 74 53 6e 69 66 ns_FunctionDuplicateArgumentSnif
53800 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 f'.=>.$vendorDir...'/squizlabs/p
53820 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 hp_codesniffer/CodeSniffer/Stand
53840 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 46 75 6e 63 74 69 6f 6e 73 2f 46 75 6e 63 ards/Squiz/Sniffs/Functions/Func
53860 74 69 6f 6e 44 75 70 6c 69 63 61 74 65 41 72 67 75 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c tionDuplicateArgumentSniff.php',
53880 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 46 75 6e 63 74 69 6f 6e 73 5f 47 6c 6f .....'Squiz_Sniffs_Functions_Glo
538a0 62 61 6c 46 75 6e 63 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 balFunctionSniff'.=>.$vendorDir.
538c0 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f ..'/squizlabs/php_codesniffer/Co
538e0 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 deSniffer/Standards/Squiz/Sniffs
53900 2f 46 75 6e 63 74 69 6f 6e 73 2f 47 6c 6f 62 61 6c 46 75 6e 63 74 69 6f 6e 53 6e 69 66 66 2e 70 /Functions/GlobalFunctionSniff.p
53920 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 46 75 6e 63 74 69 6f 6e 73 hp',.....'Squiz_Sniffs_Functions
53940 5f 4c 6f 77 65 72 63 61 73 65 46 75 6e 63 74 69 6f 6e 4b 65 79 77 6f 72 64 73 53 6e 69 66 66 27 _LowercaseFunctionKeywordsSniff'
53960 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 .=>.$vendorDir...'/squizlabs/php
53980 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 _codesniffer/CodeSniffer/Standar
539a0 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 46 75 6e 63 74 69 6f 6e 73 2f 4c 6f 77 65 72 63 ds/Squiz/Sniffs/Functions/Lowerc
539c0 61 73 65 46 75 6e 63 74 69 6f 6e 4b 65 79 77 6f 72 64 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 aseFunctionKeywordsSniff.php',..
539e0 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 46 75 6e 63 74 69 6f 6e 73 5f 4d 75 6c 74 69 ...'Squiz_Sniffs_Functions_Multi
53a00 4c 69 6e 65 46 75 6e 63 74 69 6f 6e 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e LineFunctionDeclarationSniff'.=>
53a20 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f .$vendorDir...'/squizlabs/php_co
53a40 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f desniffer/CodeSniffer/Standards/
53a60 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 46 75 6e 63 74 69 6f 6e 73 2f 4d 75 6c 74 69 4c 69 6e 65 Squiz/Sniffs/Functions/MultiLine
53a80 46 75 6e 63 74 69 6f 6e 44 65 63 6c 61 72 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 FunctionDeclarationSniff.php',..
53aa0 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f ...'Squiz_Sniffs_NamingConventio
53ac0 6e 73 5f 43 6f 6e 73 74 61 6e 74 43 61 73 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 ns_ConstantCaseSniff'.=>.$vendor
53ae0 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
53b00 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e r/CodeSniffer/Standards/Squiz/Sn
53b20 69 66 66 73 2f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 2f 43 6f 6e 73 74 61 6e 74 43 iffs/NamingConventions/ConstantC
53b40 61 73 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 aseSniff.php',.....'Squiz_Sniffs
53b60 5f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 5f 56 61 6c 69 64 46 75 6e 63 74 69 6f 6e _NamingConventions_ValidFunction
53b80 4e 61 6d 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 NameSniff'.=>.$vendorDir...'/squ
53ba0 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 izlabs/php_codesniffer/CodeSniff
53bc0 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 4e 61 6d 69 6e 67 er/Standards/Squiz/Sniffs/Naming
53be0 43 6f 6e 76 65 6e 74 69 6f 6e 73 2f 56 61 6c 69 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 53 6e 69 Conventions/ValidFunctionNameSni
53c00 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 4e 61 6d 69 6e ff.php',.....'Squiz_Sniffs_Namin
53c20 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 5f 56 61 6c 69 64 56 61 72 69 61 62 6c 65 4e 61 6d 65 53 6e gConventions_ValidVariableNameSn
53c40 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 iff'.=>.$vendorDir...'/squizlabs
53c60 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 /php_codesniffer/CodeSniffer/Sta
53c80 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e ndards/Squiz/Sniffs/NamingConven
53ca0 74 69 6f 6e 73 2f 56 61 6c 69 64 56 61 72 69 61 62 6c 65 4e 61 6d 65 53 6e 69 66 66 2e 70 68 70 tions/ValidVariableNameSniff.php
53cc0 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 4f 62 6a 65 63 74 73 5f 44 69 73 ',.....'Squiz_Sniffs_Objects_Dis
53ce0 61 6c 6c 6f 77 4f 62 6a 65 63 74 53 74 72 69 6e 67 49 6e 64 65 78 53 6e 69 66 66 27 20 3d 3e 20 allowObjectStringIndexSniff'.=>.
53d00 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 $vendorDir...'/squizlabs/php_cod
53d20 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 esniffer/CodeSniffer/Standards/S
53d40 71 75 69 7a 2f 53 6e 69 66 66 73 2f 4f 62 6a 65 63 74 73 2f 44 69 73 61 6c 6c 6f 77 4f 62 6a 65 quiz/Sniffs/Objects/DisallowObje
53d60 63 74 53 74 72 69 6e 67 49 6e 64 65 78 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 ctStringIndexSniff.php',.....'Sq
53d80 75 69 7a 5f 53 6e 69 66 66 73 5f 4f 62 6a 65 63 74 73 5f 4f 62 6a 65 63 74 49 6e 73 74 61 6e 74 uiz_Sniffs_Objects_ObjectInstant
53da0 69 61 74 69 6f 6e 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 iationSniff'.=>.$vendorDir...'/s
53dc0 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
53de0 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 4f 62 6a 65 ffer/Standards/Squiz/Sniffs/Obje
53e00 63 74 73 2f 4f 62 6a 65 63 74 49 6e 73 74 61 6e 74 69 61 74 69 6f 6e 53 6e 69 66 66 2e 70 68 70 cts/ObjectInstantiationSniff.php
53e20 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 4f 62 6a 65 63 74 73 5f 4f 62 6a ',.....'Squiz_Sniffs_Objects_Obj
53e40 65 63 74 4d 65 6d 62 65 72 43 6f 6d 6d 61 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 ectMemberCommaSniff'.=>.$vendorD
53e60 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 ir...'/squizlabs/php_codesniffer
53e80 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 /CodeSniffer/Standards/Squiz/Sni
53ea0 66 66 73 2f 4f 62 6a 65 63 74 73 2f 4f 62 6a 65 63 74 4d 65 6d 62 65 72 43 6f 6d 6d 61 53 6e 69 ffs/Objects/ObjectMemberCommaSni
53ec0 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 4f 70 65 72 61 ff.php',.....'Squiz_Sniffs_Opera
53ee0 74 6f 72 73 5f 43 6f 6d 70 61 72 69 73 6f 6e 4f 70 65 72 61 74 6f 72 55 73 61 67 65 53 6e 69 66 tors_ComparisonOperatorUsageSnif
53f00 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 f'.=>.$vendorDir...'/squizlabs/p
53f20 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 hp_codesniffer/CodeSniffer/Stand
53f40 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 4f 70 65 72 61 74 6f 72 73 2f 43 6f 6d 70 ards/Squiz/Sniffs/Operators/Comp
53f60 61 72 69 73 6f 6e 4f 70 65 72 61 74 6f 72 55 73 61 67 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 arisonOperatorUsageSniff.php',..
53f80 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 4f 70 65 72 61 74 6f 72 73 5f 49 6e 63 72 65 ...'Squiz_Sniffs_Operators_Incre
53fa0 6d 65 6e 74 44 65 63 72 65 6d 65 6e 74 55 73 61 67 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e mentDecrementUsageSniff'.=>.$ven
53fc0 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 dorDir...'/squizlabs/php_codesni
53fe0 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a ffer/CodeSniffer/Standards/Squiz
54000 2f 53 6e 69 66 66 73 2f 4f 70 65 72 61 74 6f 72 73 2f 49 6e 63 72 65 6d 65 6e 74 44 65 63 72 65 /Sniffs/Operators/IncrementDecre
54020 6d 65 6e 74 55 73 61 67 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f mentUsageSniff.php',.....'Squiz_
54040 53 6e 69 66 66 73 5f 4f 70 65 72 61 74 6f 72 73 5f 56 61 6c 69 64 4c 6f 67 69 63 61 6c 4f 70 65 Sniffs_Operators_ValidLogicalOpe
54060 72 61 74 6f 72 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 ratorsSniff'.=>.$vendorDir...'/s
54080 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
540a0 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 4f 70 65 72 ffer/Standards/Squiz/Sniffs/Oper
540c0 61 74 6f 72 73 2f 56 61 6c 69 64 4c 6f 67 69 63 61 6c 4f 70 65 72 61 74 6f 72 73 53 6e 69 66 66 ators/ValidLogicalOperatorsSniff
540e0 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 43 6f 6d .php',.....'Squiz_Sniffs_PHP_Com
54100 6d 65 6e 74 65 64 4f 75 74 43 6f 64 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 mentedOutCodeSniff'.=>.$vendorDi
54120 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f r...'/squizlabs/php_codesniffer/
54140 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 CodeSniffer/Standards/Squiz/Snif
54160 66 73 2f 50 48 50 2f 43 6f 6d 6d 65 6e 74 65 64 4f 75 74 43 6f 64 65 53 6e 69 66 66 2e 70 68 70 fs/PHP/CommentedOutCodeSniff.php
54180 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 44 69 73 61 6c 6c 6f ',.....'Squiz_Sniffs_PHP_Disallo
541a0 77 42 6f 6f 6c 65 61 6e 53 74 61 74 65 6d 65 6e 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 wBooleanStatementSniff'.=>.$vend
541c0 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 orDir...'/squizlabs/php_codesnif
541e0 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f fer/CodeSniffer/Standards/Squiz/
54200 53 6e 69 66 66 73 2f 50 48 50 2f 44 69 73 61 6c 6c 6f 77 42 6f 6f 6c 65 61 6e 53 74 61 74 65 6d Sniffs/PHP/DisallowBooleanStatem
54220 65 6e 74 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 entSniff.php',.....'Squiz_Sniffs
54240 5f 50 48 50 5f 44 69 73 61 6c 6c 6f 77 43 6f 6d 70 61 72 69 73 6f 6e 41 73 73 69 67 6e 6d 65 6e _PHP_DisallowComparisonAssignmen
54260 74 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c tSniff'.=>.$vendorDir...'/squizl
54280 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f abs/php_codesniffer/CodeSniffer/
542a0 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 50 48 50 2f 44 69 73 61 6c Standards/Squiz/Sniffs/PHP/Disal
542c0 6c 6f 77 43 6f 6d 70 61 72 69 73 6f 6e 41 73 73 69 67 6e 6d 65 6e 74 53 6e 69 66 66 2e 70 68 70 lowComparisonAssignmentSniff.php
542e0 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 44 69 73 61 6c 6c 6f ',.....'Squiz_Sniffs_PHP_Disallo
54300 77 49 6e 6c 69 6e 65 49 66 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 wInlineIfSniff'.=>.$vendorDir...
54320 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 '/squizlabs/php_codesniffer/Code
54340 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 50 Sniffer/Standards/Squiz/Sniffs/P
54360 48 50 2f 44 69 73 61 6c 6c 6f 77 49 6e 6c 69 6e 65 49 66 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 HP/DisallowInlineIfSniff.php',..
54380 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 44 69 73 61 6c 6c 6f 77 4d 75 6c ...'Squiz_Sniffs_PHP_DisallowMul
543a0 74 69 70 6c 65 41 73 73 69 67 6e 6d 65 6e 74 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f tipleAssignmentsSniff'.=>.$vendo
543c0 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 rDir...'/squizlabs/php_codesniff
543e0 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 er/CodeSniffer/Standards/Squiz/S
54400 6e 69 66 66 73 2f 50 48 50 2f 44 69 73 61 6c 6c 6f 77 4d 75 6c 74 69 70 6c 65 41 73 73 69 67 6e niffs/PHP/DisallowMultipleAssign
54420 6d 65 6e 74 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 mentsSniff.php',.....'Squiz_Snif
54440 66 73 5f 50 48 50 5f 44 69 73 61 6c 6c 6f 77 4f 62 45 6e 64 46 6c 75 73 68 53 6e 69 66 66 27 20 fs_PHP_DisallowObEndFlushSniff'.
54460 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f =>.$vendorDir...'/squizlabs/php_
54480 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 codesniffer/CodeSniffer/Standard
544a0 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 50 48 50 2f 44 69 73 61 6c 6c 6f 77 4f 62 45 6e 64 s/Squiz/Sniffs/PHP/DisallowObEnd
544c0 46 6c 75 73 68 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 FlushSniff.php',.....'Squiz_Snif
544e0 66 73 5f 50 48 50 5f 44 69 73 61 6c 6c 6f 77 53 69 7a 65 46 75 6e 63 74 69 6f 6e 73 49 6e 4c 6f fs_PHP_DisallowSizeFunctionsInLo
54500 6f 70 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 opsSniff'.=>.$vendorDir...'/squi
54520 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 zlabs/php_codesniffer/CodeSniffe
54540 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 50 48 50 2f 44 69 73 r/Standards/Squiz/Sniffs/PHP/Dis
54560 61 6c 6c 6f 77 53 69 7a 65 46 75 6e 63 74 69 6f 6e 73 49 6e 4c 6f 6f 70 73 53 6e 69 66 66 2e 70 allowSizeFunctionsInLoopsSniff.p
54580 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 44 69 73 63 6f hp',.....'Squiz_Sniffs_PHP_Disco
545a0 75 72 61 67 65 64 46 75 6e 63 74 69 6f 6e 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 uragedFunctionsSniff'.=>.$vendor
545c0 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
545e0 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e r/CodeSniffer/Standards/Squiz/Sn
54600 69 66 66 73 2f 50 48 50 2f 44 69 73 63 6f 75 72 61 67 65 64 46 75 6e 63 74 69 6f 6e 73 53 6e 69 iffs/PHP/DiscouragedFunctionsSni
54620 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 45 ff.php',.....'Squiz_Sniffs_PHP_E
54640 6d 62 65 64 64 65 64 50 68 70 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e mbeddedPhpSniff'.=>.$vendorDir..
54660 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 .'/squizlabs/php_codesniffer/Cod
54680 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f eSniffer/Standards/Squiz/Sniffs/
546a0 50 48 50 2f 45 6d 62 65 64 64 65 64 50 68 70 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 PHP/EmbeddedPhpSniff.php',.....'
546c0 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 45 76 61 6c 53 6e 69 66 66 27 20 3d 3e 20 24 Squiz_Sniffs_PHP_EvalSniff'.=>.$
546e0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 vendorDir...'/squizlabs/php_code
54700 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 sniffer/CodeSniffer/Standards/Sq
54720 75 69 7a 2f 53 6e 69 66 66 73 2f 50 48 50 2f 45 76 61 6c 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 uiz/Sniffs/PHP/EvalSniff.php',..
54740 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 46 6f 72 62 69 64 64 65 6e 46 75 ...'Squiz_Sniffs_PHP_ForbiddenFu
54760 6e 63 74 69 6f 6e 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f nctionsSniff'.=>.$vendorDir...'/
54780 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e squizlabs/php_codesniffer/CodeSn
547a0 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 50 48 50 iffer/Standards/Squiz/Sniffs/PHP
547c0 2f 46 6f 72 62 69 64 64 65 6e 46 75 6e 63 74 69 6f 6e 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 /ForbiddenFunctionsSniff.php',..
547e0 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 47 6c 6f 62 61 6c 4b 65 79 77 6f ...'Squiz_Sniffs_PHP_GlobalKeywo
54800 72 64 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a rdSniff'.=>.$vendorDir...'/squiz
54820 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 labs/php_codesniffer/CodeSniffer
54840 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 50 48 50 2f 47 6c 6f 62 /Standards/Squiz/Sniffs/PHP/Glob
54860 61 6c 4b 65 79 77 6f 72 64 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f alKeywordSniff.php',.....'Squiz_
54880 53 6e 69 66 66 73 5f 50 48 50 5f 48 65 72 65 64 6f 63 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e Sniffs_PHP_HeredocSniff'.=>.$ven
548a0 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 dorDir...'/squizlabs/php_codesni
548c0 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a ffer/CodeSniffer/Standards/Squiz
548e0 2f 53 6e 69 66 66 73 2f 50 48 50 2f 48 65 72 65 64 6f 63 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 /Sniffs/PHP/HeredocSniff.php',..
54900 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 49 6e 6e 65 72 46 75 6e 63 74 69 ...'Squiz_Sniffs_PHP_InnerFuncti
54920 6f 6e 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 onsSniff'.=>.$vendorDir...'/squi
54940 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 zlabs/php_codesniffer/CodeSniffe
54960 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 50 48 50 2f 49 6e 6e r/Standards/Squiz/Sniffs/PHP/Inn
54980 65 72 46 75 6e 63 74 69 6f 6e 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 erFunctionsSniff.php',.....'Squi
549a0 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 4c 6f 77 65 72 63 61 73 65 50 48 50 46 75 6e 63 74 69 6f z_Sniffs_PHP_LowercasePHPFunctio
549c0 6e 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a nsSniff'.=>.$vendorDir...'/squiz
549e0 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 labs/php_codesniffer/CodeSniffer
54a00 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 50 48 50 2f 4c 6f 77 65 /Standards/Squiz/Sniffs/PHP/Lowe
54a20 72 63 61 73 65 50 48 50 46 75 6e 63 74 69 6f 6e 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 rcasePHPFunctionsSniff.php',....
54a40 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 50 48 50 5f 4e 6f 6e 45 78 65 63 75 74 61 62 6c 65 .'Squiz_Sniffs_PHP_NonExecutable
54a60 43 6f 64 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 CodeSniff'.=>.$vendorDir...'/squ
54a80 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 izlabs/php_codesniffer/CodeSniff
54aa0 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 50 48 50 2f 4e 6f er/Standards/Squiz/Sniffs/PHP/No
54ac0 6e 45 78 65 63 75 74 61 62 6c 65 43 6f 64 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 nExecutableCodeSniff.php',.....'
54ae0 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 53 63 6f 70 65 5f 4d 65 6d 62 65 72 56 61 72 53 63 6f 70 Squiz_Sniffs_Scope_MemberVarScop
54b00 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c eSniff'.=>.$vendorDir...'/squizl
54b20 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f abs/php_codesniffer/CodeSniffer/
54b40 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 53 63 6f 70 65 2f 4d 65 6d Standards/Squiz/Sniffs/Scope/Mem
54b60 62 65 72 56 61 72 53 63 6f 70 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 berVarScopeSniff.php',.....'Squi
54b80 7a 5f 53 6e 69 66 66 73 5f 53 63 6f 70 65 5f 4d 65 74 68 6f 64 53 63 6f 70 65 53 6e 69 66 66 27 z_Sniffs_Scope_MethodScopeSniff'
54ba0 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 .=>.$vendorDir...'/squizlabs/php
54bc0 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 _codesniffer/CodeSniffer/Standar
54be0 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 53 63 6f 70 65 2f 4d 65 74 68 6f 64 53 63 6f 70 ds/Squiz/Sniffs/Scope/MethodScop
54c00 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 53 eSniff.php',.....'Squiz_Sniffs_S
54c20 63 6f 70 65 5f 53 74 61 74 69 63 54 68 69 73 55 73 61 67 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 cope_StaticThisUsageSniff'.=>.$v
54c40 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 endorDir...'/squizlabs/php_codes
54c60 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 niffer/CodeSniffer/Standards/Squ
54c80 69 7a 2f 53 6e 69 66 66 73 2f 53 63 6f 70 65 2f 53 74 61 74 69 63 54 68 69 73 55 73 61 67 65 53 iz/Sniffs/Scope/StaticThisUsageS
54ca0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 53 74 72 niff.php',.....'Squiz_Sniffs_Str
54cc0 69 6e 67 73 5f 43 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 ings_ConcatenationSpacingSniff'.
54ce0 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f =>.$vendorDir...'/squizlabs/php_
54d00 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 codesniffer/CodeSniffer/Standard
54d20 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 53 74 72 69 6e 67 73 2f 43 6f 6e 63 61 74 65 6e 61 s/Squiz/Sniffs/Strings/Concatena
54d40 74 69 6f 6e 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 tionSpacingSniff.php',.....'Squi
54d60 7a 5f 53 6e 69 66 66 73 5f 53 74 72 69 6e 67 73 5f 44 6f 75 62 6c 65 51 75 6f 74 65 55 73 61 67 z_Sniffs_Strings_DoubleQuoteUsag
54d80 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c eSniff'.=>.$vendorDir...'/squizl
54da0 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f abs/php_codesniffer/CodeSniffer/
54dc0 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 53 74 72 69 6e 67 73 2f 44 Standards/Squiz/Sniffs/Strings/D
54de0 6f 75 62 6c 65 51 75 6f 74 65 55 73 61 67 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 oubleQuoteUsageSniff.php',.....'
54e00 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 53 74 72 69 6e 67 73 5f 45 63 68 6f 65 64 53 74 72 69 6e Squiz_Sniffs_Strings_EchoedStrin
54e20 67 73 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a gsSniff'.=>.$vendorDir...'/squiz
54e40 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 labs/php_codesniffer/CodeSniffer
54e60 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 53 74 72 69 6e 67 73 2f /Standards/Squiz/Sniffs/Strings/
54e80 45 63 68 6f 65 64 53 74 72 69 6e 67 73 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 EchoedStringsSniff.php',.....'Sq
54ea0 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 43 61 73 74 53 70 61 63 69 6e uiz_Sniffs_WhiteSpace_CastSpacin
54ec0 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c gSniff'.=>.$vendorDir...'/squizl
54ee0 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f abs/php_codesniffer/CodeSniffer/
54f00 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 Standards/Squiz/Sniffs/WhiteSpac
54f20 65 2f 43 61 73 74 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 e/CastSpacingSniff.php',.....'Sq
54f40 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 43 6f 6e 74 72 6f 6c 53 74 72 uiz_Sniffs_WhiteSpace_ControlStr
54f60 75 63 74 75 72 65 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 uctureSpacingSniff'.=>.$vendorDi
54f80 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f r...'/squizlabs/php_codesniffer/
54fa0 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 CodeSniffer/Standards/Squiz/Snif
54fc0 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 43 6f 6e 74 72 6f 6c 53 74 72 75 63 74 75 72 65 53 70 fs/WhiteSpace/ControlStructureSp
54fe0 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 acingSniff.php',.....'Squiz_Snif
55000 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 46 75 6e 63 74 69 6f 6e 43 6c 6f 73 69 6e 67 42 72 61 fs_WhiteSpace_FunctionClosingBra
55020 63 65 53 70 61 63 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f ceSpaceSniff'.=>.$vendorDir...'/
55040 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e squizlabs/php_codesniffer/CodeSn
55060 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 iffer/Standards/Squiz/Sniffs/Whi
55080 74 65 53 70 61 63 65 2f 46 75 6e 63 74 69 6f 6e 43 6c 6f 73 69 6e 67 42 72 61 63 65 53 70 61 63 teSpace/FunctionClosingBraceSpac
550a0 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 57 eSniff.php',.....'Squiz_Sniffs_W
550c0 68 69 74 65 53 70 61 63 65 5f 46 75 6e 63 74 69 6f 6e 4f 70 65 6e 69 6e 67 42 72 61 63 65 53 70 hiteSpace_FunctionOpeningBraceSp
550e0 61 63 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 aceSniff'.=>.$vendorDir...'/squi
55100 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 zlabs/php_codesniffer/CodeSniffe
55120 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 r/Standards/Squiz/Sniffs/WhiteSp
55140 61 63 65 2f 46 75 6e 63 74 69 6f 6e 4f 70 65 6e 69 6e 67 42 72 61 63 65 53 70 61 63 65 53 6e 69 ace/FunctionOpeningBraceSpaceSni
55160 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 ff.php',.....'Squiz_Sniffs_White
55180 53 70 61 63 65 5f 46 75 6e 63 74 69 6f 6e 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 Space_FunctionSpacingSniff'.=>.$
551a0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 vendorDir...'/squizlabs/php_code
551c0 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 sniffer/CodeSniffer/Standards/Sq
551e0 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 46 75 6e 63 74 69 6f 6e 53 70 uiz/Sniffs/WhiteSpace/FunctionSp
55200 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 acingSniff.php',.....'Squiz_Snif
55220 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 4c 61 6e 67 75 61 67 65 43 6f 6e 73 74 72 75 63 74 53 fs_WhiteSpace_LanguageConstructS
55240 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 pacingSniff'.=>.$vendorDir...'/s
55260 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 quizlabs/php_codesniffer/CodeSni
55280 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 74 ffer/Standards/Squiz/Sniffs/Whit
552a0 65 53 70 61 63 65 2f 4c 61 6e 67 75 61 67 65 43 6f 6e 73 74 72 75 63 74 53 70 61 63 69 6e 67 53 eSpace/LanguageConstructSpacingS
552c0 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 niff.php',.....'Squiz_Sniffs_Whi
552e0 74 65 53 70 61 63 65 5f 4c 6f 67 69 63 61 6c 4f 70 65 72 61 74 6f 72 53 70 61 63 69 6e 67 53 6e teSpace_LogicalOperatorSpacingSn
55300 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 iff'.=>.$vendorDir...'/squizlabs
55320 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 /php_codesniffer/CodeSniffer/Sta
55340 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 4c ndards/Squiz/Sniffs/WhiteSpace/L
55360 6f 67 69 63 61 6c 4f 70 65 72 61 74 6f 72 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c ogicalOperatorSpacingSniff.php',
55380 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 4d 65 .....'Squiz_Sniffs_WhiteSpace_Me
553a0 6d 62 65 72 56 61 72 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 mberVarSpacingSniff'.=>.$vendorD
553c0 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 ir...'/squizlabs/php_codesniffer
553e0 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 /CodeSniffer/Standards/Squiz/Sni
55400 66 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 4d 65 6d 62 65 72 56 61 72 53 70 61 63 69 6e 67 53 ffs/WhiteSpace/MemberVarSpacingS
55420 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 niff.php',.....'Squiz_Sniffs_Whi
55440 74 65 53 70 61 63 65 5f 4f 62 6a 65 63 74 4f 70 65 72 61 74 6f 72 53 70 61 63 69 6e 67 53 6e 69 teSpace_ObjectOperatorSpacingSni
55460 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f ff'.=>.$vendorDir...'/squizlabs/
55480 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e php_codesniffer/CodeSniffer/Stan
554a0 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 4f 62 dards/Squiz/Sniffs/WhiteSpace/Ob
554c0 6a 65 63 74 4f 70 65 72 61 74 6f 72 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 jectOperatorSpacingSniff.php',..
554e0 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 4f 70 65 72 ...'Squiz_Sniffs_WhiteSpace_Oper
55500 61 74 6f 72 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 atorSpacingSniff'.=>.$vendorDir.
55520 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f ..'/squizlabs/php_codesniffer/Co
55540 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 deSniffer/Standards/Squiz/Sniffs
55560 2f 57 68 69 74 65 53 70 61 63 65 2f 4f 70 65 72 61 74 6f 72 53 70 61 63 69 6e 67 53 6e 69 66 66 /WhiteSpace/OperatorSpacingSniff
55580 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 .php',.....'Squiz_Sniffs_WhiteSp
555a0 61 63 65 5f 50 72 6f 70 65 72 74 79 4c 61 62 65 6c 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d ace_PropertyLabelSpacingSniff'.=
555c0 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 >.$vendorDir...'/squizlabs/php_c
555e0 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 odesniffer/CodeSniffer/Standards
55600 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 50 72 6f 70 65 72 74 /Squiz/Sniffs/WhiteSpace/Propert
55620 79 4c 61 62 65 6c 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 yLabelSpacingSniff.php',.....'Sq
55640 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 53 63 6f 70 65 43 6c 6f 73 69 uiz_Sniffs_WhiteSpace_ScopeClosi
55660 6e 67 42 72 61 63 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f ngBraceSniff'.=>.$vendorDir...'/
55680 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e squizlabs/php_codesniffer/CodeSn
556a0 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 iffer/Standards/Squiz/Sniffs/Whi
556c0 74 65 53 70 61 63 65 2f 53 63 6f 70 65 43 6c 6f 73 69 6e 67 42 72 61 63 65 53 6e 69 66 66 2e 70 teSpace/ScopeClosingBraceSniff.p
556e0 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 hp',.....'Squiz_Sniffs_WhiteSpac
55700 65 5f 53 63 6f 70 65 4b 65 79 77 6f 72 64 53 70 61 63 69 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 e_ScopeKeywordSpacingSniff'.=>.$
55720 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 vendorDir...'/squizlabs/php_code
55740 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 sniffer/CodeSniffer/Standards/Sq
55760 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 53 63 6f 70 65 4b 65 79 77 6f uiz/Sniffs/WhiteSpace/ScopeKeywo
55780 72 64 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 71 75 69 7a 5f rdSpacingSniff.php',.....'Squiz_
557a0 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 53 65 6d 69 63 6f 6c 6f 6e 53 70 61 63 69 Sniffs_WhiteSpace_SemicolonSpaci
557c0 6e 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a ngSniff'.=>.$vendorDir...'/squiz
557e0 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 labs/php_codesniffer/CodeSniffer
55800 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 /Standards/Squiz/Sniffs/WhiteSpa
55820 63 65 2f 53 65 6d 69 63 6f 6c 6f 6e 53 70 61 63 69 6e 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 ce/SemicolonSpacingSniff.php',..
55840 20 20 20 27 53 71 75 69 7a 5f 53 6e 69 66 66 73 5f 57 68 69 74 65 53 70 61 63 65 5f 53 75 70 65 ...'Squiz_Sniffs_WhiteSpace_Supe
55860 72 66 6c 75 6f 75 73 57 68 69 74 65 73 70 61 63 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 rfluousWhitespaceSniff'.=>.$vend
55880 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 orDir...'/squizlabs/php_codesnif
558a0 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 53 71 75 69 7a 2f fer/CodeSniffer/Standards/Squiz/
558c0 53 6e 69 66 66 73 2f 57 68 69 74 65 53 70 61 63 65 2f 53 75 70 65 72 66 6c 75 6f 75 73 57 68 69 Sniffs/WhiteSpace/SuperfluousWhi
558e0 74 65 73 70 61 63 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 5a 65 6e 64 5f 53 6e 69 tespaceSniff.php',.....'Zend_Sni
55900 66 66 73 5f 44 65 62 75 67 5f 43 6f 64 65 41 6e 61 6c 79 7a 65 72 53 6e 69 66 66 27 20 3d 3e 20 ffs_Debug_CodeAnalyzerSniff'.=>.
55920 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 $vendorDir...'/squizlabs/php_cod
55940 65 73 6e 69 66 66 65 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 5a esniffer/CodeSniffer/Standards/Z
55960 65 6e 64 2f 53 6e 69 66 66 73 2f 44 65 62 75 67 2f 43 6f 64 65 41 6e 61 6c 79 7a 65 72 53 6e 69 end/Sniffs/Debug/CodeAnalyzerSni
55980 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 5a 65 6e 64 5f 53 6e 69 66 66 73 5f 46 69 6c 65 73 5f ff.php',.....'Zend_Sniffs_Files_
559a0 43 6c 6f 73 69 6e 67 54 61 67 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e ClosingTagSniff'.=>.$vendorDir..
559c0 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 72 2f 43 6f 64 .'/squizlabs/php_codesniffer/Cod
559e0 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 5a 65 6e 64 2f 53 6e 69 66 66 73 2f 46 eSniffer/Standards/Zend/Sniffs/F
55a00 69 6c 65 73 2f 43 6c 6f 73 69 6e 67 54 61 67 53 6e 69 66 66 2e 70 68 70 27 2c 0a 20 20 20 20 27 iles/ClosingTagSniff.php',.....'
55a20 5a 65 6e 64 5f 53 6e 69 66 66 73 5f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 5f 56 61 Zend_Sniffs_NamingConventions_Va
55a40 6c 69 64 56 61 72 69 61 62 6c 65 4e 61 6d 65 53 6e 69 66 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 lidVariableNameSniff'.=>.$vendor
55a60 44 69 72 20 2e 20 27 2f 73 71 75 69 7a 6c 61 62 73 2f 70 68 70 5f 63 6f 64 65 73 6e 69 66 66 65 Dir...'/squizlabs/php_codesniffe
55a80 72 2f 43 6f 64 65 53 6e 69 66 66 65 72 2f 53 74 61 6e 64 61 72 64 73 2f 5a 65 6e 64 2f 53 6e 69 r/CodeSniffer/Standards/Zend/Sni
55aa0 66 66 73 2f 4e 61 6d 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 73 2f 56 61 6c 69 64 56 61 72 69 61 ffs/NamingConventions/ValidVaria
55ac0 62 6c 65 4e 61 6d 65 53 6e 69 66 66 2e 70 68 70 27 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 bleNameSniff.php',.);.<?php..//.
55ae0 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 20 40 67 65 6e 65 72 61 74 autoload_namespaces.php.@generat
55b00 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 ed.by.Composer..$vendorDir.=.dir
55b20 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 name(dirname(__FILE__));.$baseDi
55b40 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e r.=.dirname($vendorDir);..return
55b60 20 61 72 72 61 79 28 0a 20 20 20 20 27 44 72 61 77 69 6c 6c 65 27 20 3d 3e 20 61 72 72 61 79 28 .array(.....'Drawille'.=>.array(
55b80 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 77 68 61 74 74 68 65 6a 65 66 66 2f 64 72 61 77 69 $vendorDir...'/whatthejeff/drawi
55ba0 6c 6c 65 2f 73 72 63 27 29 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 lle/src'),.);.<?php..//.autoload
55bc0 5f 70 73 72 34 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 _psr4.php.@generated.by.Composer
55be0 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f ..$vendorDir.=.dirname(dirname(_
55c00 5f 46 49 4c 45 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 _FILE__));.$baseDir.=.dirname($v
55c20 65 6e 64 6f 72 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 20 20 20 20 27 53 endorDir);..return.array(.....'S
55c40 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 69 6e 64 65 72 5c 5c 27 20 3d 3e 20 ymfony\\Component\\Finder\\'.=>.
55c60 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e array($vendorDir...'/symfony/fin
55c80 64 65 72 27 29 2c 0a 20 20 20 20 27 47 61 6d 65 42 6f 79 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 der'),.....'GameBoy\\'.=>.array(
55ca0 24 62 61 73 65 44 69 72 20 2e 20 27 2f 73 72 63 27 29 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 2f 2f $baseDir...'/src'),.);.<?php..//
55cc0 20 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 .autoload_real.php.@generated.by
55ce0 20 43 6f 6d 70 6f 73 65 72 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 .Composer..class.ComposerAutoloa
55d00 64 65 72 49 6e 69 74 36 33 30 39 39 61 35 39 33 61 65 63 30 31 39 66 33 62 31 38 36 39 37 62 62 derInit63099a593aec019f3b18697bb
55d20 37 32 31 33 31 62 34 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 6f 72131b4.{.....private.static.$lo
55d40 61 64 65 72 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ader;......public.static.functio
55d60 6e 20 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a n.loadClassLoader($class).....{.
55d80 20 20 20 20 20 20 20 20 69 66 20 28 27 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 ........if.('Composer\Autoload\C
55da0 6c 61 73 73 4c 6f 61 64 65 72 27 20 3d 3d 3d 20 24 63 6c 61 73 73 29 20 7b 0a 20 20 20 20 20 20 lassLoader'.===.$class).{.......
55dc0 20 20 20 20 20 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 43 6c 61 73 73 4c ......require.__DIR__...'/ClassL
55de0 6f 61 64 65 72 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 oader.php';.........}.....}.....
55e00 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 61 64 65 .public.static.function.getLoade
55e20 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 r().....{.........if.(null.!==.s
55e40 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 elf::$loader).{.............retu
55e60 72 6e 20 73 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 rn.self::$loader;.........}.....
55e80 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 .....spl_autoload_register(array
55ea0 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 36 33 30 39 39 61 35 39 ('ComposerAutoloaderInit63099a59
55ec0 33 61 65 63 30 31 39 66 33 62 31 38 36 39 37 62 62 37 32 31 33 31 62 34 27 2c 20 27 6c 6f 61 64 3aec019f3b18697bb72131b4',.'load
55ee0 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 ClassLoader'),.true,.true);.....
55f00 20 20 20 20 73 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 20 3d 20 24 6c 6f 61 64 65 72 20 3d 20 6e 65 ....self::$loader.=.$loader.=.ne
55f20 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 w.\Composer\Autoload\ClassLoader
55f40 28 29 3b 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 ();.........spl_autoload_unregis
55f60 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 ter(array('ComposerAutoloaderIni
55f80 74 36 33 30 39 39 61 35 39 33 61 65 63 30 31 39 66 33 62 31 38 36 39 37 62 62 37 32 31 33 31 62 t63099a593aec019f3b18697bb72131b
55fa0 34 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 29 3b 0a 0a 20 20 20 20 20 20 4',.'loadClassLoader'));........
55fc0 20 20 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 ..$map.=.require.__DIR__...'/aut
55fe0 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 66 oload_namespaces.php';.........f
56000 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 oreach.($map.as.$namespace.=>.$p
56020 61 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 28 ath).{.............$loader->set(
56040 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 $namespace,.$path);.........}...
56060 20 20 20 20 20 20 20 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 .......$map.=.require.__DIR__...
56080 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 66 6f '/autoload_psr4.php';.........fo
560a0 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 reach.($map.as.$namespace.=>.$pa
560c0 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 50 73 th).{.............$loader->setPs
560e0 72 34 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 20 20 20 20 20 20 20 20 7d r4($namespace,.$path);.........}
56100 0a 0a 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 72 65 71 75 69 72 65 20 5f 5f ..........$classMap.=.require.__
56120 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 27 DIR__...'/autoload_classmap.php'
56140 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 6c 61 73 73 4d 61 70 29 20 7b 0a 20 20 20 20 20 ;.........if.($classMap).{......
56160 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 28 24 63 6c 61 .......$loader->addClassMap($cla
56180 73 73 4d 61 70 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6c 6f 61 64 ssMap);.........}..........$load
561a0 65 72 2d 3e 72 65 67 69 73 74 65 72 28 74 72 75 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 er->register(true);..........ret
561c0 75 72 6e 20 24 6c 6f 61 64 65 72 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 urn.$loader;.....}.}.<?php../*..
561e0 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 70 68 70 2d 64 72 61 77 69 *.This.file.is.part.of.php-drawi
56200 6c 6c 65 0a 20 2a 0a 20 2a 20 28 63 29 20 4a 65 66 66 20 57 65 6c 63 68 20 3c 77 68 61 74 74 68 lle..*..*.(c).Jeff.Welch.<whatth
56220 65 6a 65 66 66 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 ejeff@gmail.com>..*..*.For.the.f
56240 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d ull.copyright.and.license.inform
56260 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 ation,.please.view.the.LICENSE..
56280 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 *.file.that.was.distributed.with
562a0 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 75 73 65 20 49 6d 61 67 .this.source.code...*/..use.Imag
562c0 69 6e 65 5c 47 64 5c 49 6d 61 67 69 6e 65 3b 0a 75 73 65 20 49 6d 61 67 69 6e 65 5c 49 6d 61 67 ine\Gd\Imagine;.use.Imagine\Imag
562e0 65 5c 42 6f 78 3b 0a 75 73 65 20 49 6d 61 67 69 6e 65 5c 49 6d 61 67 65 5c 50 6f 69 6e 74 3b 0a e\Box;.use.Imagine\Image\Point;.
56300 0a 75 73 65 20 44 72 61 77 69 6c 6c 65 5c 43 61 6e 76 61 73 3b 0a 0a 63 6c 61 73 73 20 49 6d 61 .use.Drawille\Canvas;..class.Ima
56320 67 65 50 72 69 6e 74 65 72 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 69 6d 61 67 65 3b 0a gePrinter.{.....private.$image;.
56340 20 20 20 20 70 72 69 76 61 74 65 20 24 74 68 72 65 73 68 6f 6c 64 3b 0a 20 20 20 20 70 72 69 76 ....private.$threshold;.....priv
56360 61 74 65 20 24 72 61 74 69 6f 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 69 6e 76 65 72 74 3b ate.$ratio;.....private.$invert;
56380 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 ......public.function.__construc
563a0 74 28 24 69 6d 61 67 65 2c 20 24 74 68 72 65 73 68 6f 6c 64 20 3d 20 33 38 35 2e 32 2c 20 24 72 t($image,.$threshold.=.385.2,.$r
563c0 61 74 69 6f 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 76 65 72 74 20 3d 20 66 61 6c 73 65 29 20 7b 0a atio.=.null,.$invert.=.false).{.
563e0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6d 61 67 65 20 3d 20 24 69 6d 61 67 65 3b 0a 20 ........$this->image.=.$image;..
56400 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 68 72 65 73 68 6f 6c 64 20 3d 20 28 66 6c 6f 61 74 .......$this->threshold.=.(float
56420 29 20 24 74 68 72 65 73 68 6f 6c 64 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 61 74 ).$threshold;.........$this->rat
56440 69 6f 20 3d 20 24 72 61 74 69 6f 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 76 65 io.=.$ratio;.........$this->inve
56460 72 74 20 3d 20 24 69 6e 76 65 72 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 rt.=.$invert;.....}......public.
56480 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 24 74 65 72 6d 69 6e 61 6c 57 69 64 74 68 2c 20 24 74 65 function.run($terminalWidth,.$te
564a0 72 6d 69 6e 61 6c 48 65 69 67 68 74 29 20 7b 0a 20 20 20 20 20 20 20 20 24 69 6d 61 67 69 6e 65 rminalHeight).{.........$imagine
564c0 20 3d 20 6e 65 77 20 49 6d 61 67 69 6e 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 69 6d 61 67 65 .=.new.Imagine();.........$image
564e0 20 3d 20 24 69 6d 61 67 69 6e 65 2d 3e 6f 70 65 6e 28 24 74 68 69 73 2d 3e 69 6d 61 67 65 29 3b .=.$imagine->open($this->image);
56500 0a 0a 20 20 20 20 20 20 20 20 24 73 69 7a 65 20 3d 20 24 69 6d 61 67 65 2d 3e 67 65 74 53 69 7a ..........$size.=.$image->getSiz
56520 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 77 69 64 74 68 20 3d 20 24 73 69 7a 65 2d 3e 67 65 74 e();.........$width.=.$size->get
56540 57 69 64 74 68 28 29 3b 0a 20 20 20 20 20 20 20 20 24 68 65 69 67 68 74 20 3d 20 24 73 69 7a 65 Width();.........$height.=.$size
56560 2d 3e 67 65 74 48 65 69 67 68 74 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 ->getHeight();..........if.($thi
56580 73 2d 3e 72 61 74 69 6f 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 61 74 69 6f 20 3d s->ratio).{.............$ratio.=
565a0 20 28 66 6c 6f 61 74 29 20 24 74 68 69 73 2d 3e 72 61 74 69 6f 3b 0a 20 20 20 20 20 20 20 20 20 .(float).$this->ratio;..........
565c0 20 20 20 24 77 69 64 74 68 20 3d 20 66 6c 6f 6f 72 28 24 77 69 64 74 68 20 2a 20 24 72 61 74 69 ...$width.=.floor($width.*.$rati
565e0 6f 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 68 65 69 67 68 74 20 3d 20 66 6c 6f 6f 72 28 o);.............$height.=.floor(
56600 24 68 65 69 67 68 74 20 2a 20 24 72 61 74 69 6f 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 $height.*.$ratio);.............$
56620 69 6d 61 67 65 2d 3e 72 65 73 69 7a 65 28 6e 65 77 20 42 6f 78 28 24 77 69 64 74 68 2c 20 24 68 image->resize(new.Box($width,.$h
56640 65 69 67 68 74 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 65 6c 73 65 eight));.........}..........else
56660 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 68 65 69 67 68 74 5f 72 61 74 69 6f 20 3d 20 24 .{.............$height_ratio.=.$
56680 74 65 72 6d 69 6e 61 6c 48 65 69 67 68 74 20 2a 20 34 20 2f 20 24 68 65 69 67 68 74 3b 0a 20 20 terminalHeight.*.4./.$height;...
566a0 20 20 20 20 20 20 20 20 20 20 24 77 69 64 74 68 5f 72 61 74 69 6f 20 3d 20 24 74 65 72 6d 69 6e ..........$width_ratio.=.$termin
566c0 61 6c 57 69 64 74 68 20 2a 20 32 20 2f 20 24 77 69 64 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 alWidth.*.2./.$width;...........
566e0 20 20 24 72 61 74 69 6f 20 3d 20 6d 69 6e 28 24 68 65 69 67 68 74 5f 72 61 74 69 6f 2c 20 24 77 ..$ratio.=.min($height_ratio,.$w
56700 69 64 74 68 5f 72 61 74 69 6f 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 idth_ratio);..............if.($r
56720 61 74 69 6f 20 3c 20 31 2e 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 77 atio.<.1.0).{.................$w
56740 69 64 74 68 20 3d 20 66 6c 6f 6f 72 28 24 77 69 64 74 68 20 2a 20 24 72 61 74 69 6f 29 3b 0a 20 idth.=.floor($width.*.$ratio);..
56760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 68 65 69 67 68 74 20 3d 20 66 6c 6f 6f 72 28 24 ...............$height.=.floor($
56780 68 65 69 67 68 74 20 2a 20 24 72 61 74 69 6f 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 height.*.$ratio);...............
567a0 20 20 24 69 6d 61 67 65 2d 3e 72 65 73 69 7a 65 28 6e 65 77 20 42 6f 78 28 24 77 69 64 74 68 2c ..$image->resize(new.Box($width,
567c0 20 24 68 65 69 67 68 74 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 .$height));.............}.......
567e0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 61 6e 76 61 73 20 3d 20 6e 65 77 20 43 61 6e 76 61 ..}..........$canvas.=.new.Canva
56800 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 79 20 3d 20 30 3b 20 24 79 20 3c 20 s();..........for.($y.=.0;.$y.<.
56820 24 68 65 69 67 68 74 3b 20 24 79 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 $height;.$y++).{.............for
56840 20 28 24 78 20 3d 20 30 3b 20 24 78 20 3c 20 24 77 69 64 74 68 3b 20 24 78 2b 2b 29 20 7b 0a 20 .($x.=.0;.$x.<.$width;.$x++).{..
56860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 6f 72 20 3d 20 24 69 6d 61 67 65 2d 3e ...............$color.=.$image->
56880 67 65 74 43 6f 6c 6f 72 41 74 28 6e 65 77 20 50 6f 69 6e 74 28 24 78 2c 20 24 79 29 29 3b 0a 20 getColorAt(new.Point($x,.$y));..
568a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 6f 74 61 6c 20 3d 20 24 63 6f 6c 6f 72 2d 3e ...............$total.=.$color->
568c0 67 65 74 52 65 64 28 29 20 2b 20 24 63 6f 6c 6f 72 2d 3e 67 65 74 47 72 65 65 6e 28 29 20 2b 20 getRed().+.$color->getGreen().+.
568e0 24 63 6f 6c 6f 72 2d 3e 67 65 74 42 6c 75 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 $color->getBlue();..............
56900 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6e 76 65 72 74 20 5e 20 24 74 6f 74 61 6c 20 ....if.(!$this->invert.^.$total.
56920 3e 20 24 74 68 69 73 2d 3e 74 68 72 65 73 68 6f 6c 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 >.$this->threshold).{...........
56940 20 20 20 20 20 20 20 20 20 20 24 63 61 6e 76 61 73 2d 3e 73 65 74 28 24 78 2c 20 24 79 29 3b 0a ..........$canvas->set($x,.$y);.
56960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ................}.............}.
56980 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 24 63 61 6e 76 61 73 2d ........}..........echo.$canvas-
569a0 3e 66 72 61 6d 65 28 29 2c 20 22 5c 6e 22 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3f 3e 3c 3f 70 68 70 >frame(),."\n";.....}.}..?><?php
569c0 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 70 68 70 ../*..*.This.file.is.part.of.php
569e0 2d 64 72 61 77 69 6c 6c 65 0a 20 2a 0a 20 2a 20 28 63 29 20 4a 65 66 66 20 57 65 6c 63 68 20 3c -drawille..*..*.(c).Jeff.Welch.<
56a00 77 68 61 74 74 68 65 6a 65 66 66 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 whatthejeff@gmail.com>..*..*.For
56a20 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 .the.full.copyright.and.license.
56a40 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 information,.please.view.the.LIC
56a60 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 ENSE..*.file.that.was.distribute
56a80 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 72 65 d.with.this.source.code...*/..re
56aa0 71 75 69 72 65 5f 6f 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 76 65 6e 64 6f 72 quire_once.__DIR__...'/../vendor
56ac0 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 3b 0a 0a 75 73 65 20 44 72 61 77 69 6c 6c 65 5c 43 61 /autoload.php';..use.Drawille\Ca
56ae0 6e 76 61 73 3b 0a 0a 24 63 61 6e 76 61 73 20 3d 20 6e 65 77 20 43 61 6e 76 61 73 28 29 3b 0a 0a nvas;..$canvas.=.new.Canvas();..
56b00 66 6f 72 20 28 24 78 20 3d 20 30 3b 20 24 78 20 3c 3d 20 31 38 30 30 3b 20 24 78 2b 2b 29 20 7b for.($x.=.0;.$x.<=.1800;.$x++).{
56b20 0a 20 20 20 20 24 63 61 6e 76 61 73 2d 3e 73 65 74 28 24 78 20 2f 20 31 30 2c 20 73 69 6e 28 24 .....$canvas->set($x./.10,.sin($
56b40 78 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 29 20 2a 20 31 30 29 3b 0a 7d 0a 0a 65 63 68 6f 20 24 x.*.M_PI./.180).*.10);.}..echo.$
56b60 63 61 6e 76 61 73 2d 3e 66 72 61 6d 65 28 29 2c 20 22 5c 6e 22 3b 0a 24 63 61 6e 76 61 73 2d 3e canvas->frame(),."\n";.$canvas->
56b80 63 6c 65 61 72 28 29 3b 0a 0a 66 6f 72 20 28 24 78 20 3d 20 30 3b 20 24 78 20 3c 3d 20 31 38 30 clear();..for.($x.=.0;.$x.<=.180
56ba0 30 3b 20 24 78 20 2b 3d 20 31 30 29 20 7b 0a 20 20 20 20 24 63 61 6e 76 61 73 2d 3e 73 65 74 28 0;.$x.+=.10).{.....$canvas->set(
56bc0 24 78 20 2f 20 31 30 2c 20 31 30 20 2b 20 73 69 6e 28 24 78 20 2a 20 4d 5f 50 49 20 2f 20 31 38 $x./.10,.10.+.sin($x.*.M_PI./.18
56be0 30 29 20 2a 20 31 30 29 3b 0a 20 20 20 20 24 63 61 6e 76 61 73 2d 3e 73 65 74 28 24 78 20 2f 20 0).*.10);.....$canvas->set($x./.
56c00 31 30 2c 20 31 30 20 2b 20 63 6f 73 28 24 78 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 29 20 2a 20 10,.10.+.cos($x.*.M_PI./.180).*.
56c20 31 30 29 3b 0a 7d 0a 0a 65 63 68 6f 20 24 63 61 6e 76 61 73 2d 3e 66 72 61 6d 65 28 29 2c 20 22 10);.}..echo.$canvas->frame(),."
56c40 5c 6e 22 3b 0a 24 63 61 6e 76 61 73 2d 3e 63 6c 65 61 72 28 29 3b 0a 0a 66 6f 72 20 28 24 78 20 \n";.$canvas->clear();..for.($x.
56c60 3d 20 30 3b 20 24 78 20 3c 3d 20 33 36 30 30 3b 20 24 78 20 2b 3d 20 32 30 29 20 7b 0a 20 20 20 =.0;.$x.<=.3600;.$x.+=.20).{....
56c80 20 24 63 61 6e 76 61 73 2d 3e 73 65 74 28 24 78 20 2f 20 32 30 2c 20 34 20 2b 20 73 69 6e 28 24 .$canvas->set($x./.20,.4.+.sin($
56ca0 78 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 29 20 2a 20 34 29 3b 0a 7d 0a 0a 65 63 68 6f 20 24 63 x.*.M_PI./.180).*.4);.}..echo.$c
56cc0 61 6e 76 61 73 2d 3e 66 72 61 6d 65 28 29 2c 20 22 5c 6e 22 3b 0a 24 63 61 6e 76 61 73 2d 3e 63 anvas->frame(),."\n";.$canvas->c
56ce0 6c 65 61 72 28 29 3b 0a 0a 66 6f 72 20 28 24 78 20 3d 20 30 3b 20 24 78 20 3c 3d 20 33 36 30 3b lear();..for.($x.=.0;.$x.<=.360;
56d00 20 24 78 20 2b 3d 20 34 29 20 7b 0a 20 20 20 20 24 63 61 6e 76 61 73 2d 3e 73 65 74 28 24 78 20 .$x.+=.4).{.....$canvas->set($x.
56d20 2f 20 34 2c 20 33 30 20 2b 20 73 69 6e 28 24 78 20 2a 20 4d 5f 50 49 20 2f 20 31 38 30 29 20 2a /.4,.30.+.sin($x.*.M_PI./.180).*
56d40 20 33 30 29 3b 0a 7d 0a 0a 66 6f 72 20 28 24 78 20 3d 20 30 3b 20 24 78 20 3c 3d 20 33 30 3b 20 .30);.}..for.($x.=.0;.$x.<=.30;.
56d60 24 78 2b 2b 29 20 7b 0a 20 20 20 20 66 6f 72 20 28 24 79 20 3d 20 30 3b 20 24 79 20 3c 3d 20 33 $x++).{.....for.($y.=.0;.$y.<=.3
56d80 30 3b 20 24 79 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 24 63 61 6e 76 61 73 2d 3e 73 65 74 28 0;.$y++).{.........$canvas->set(
56da0 24 78 2c 20 24 79 29 3b 0a 20 20 20 20 20 20 20 20 24 63 61 6e 76 61 73 2d 3e 74 6f 67 67 6c 65 $x,.$y);.........$canvas->toggle
56dc0 28 24 78 2b 33 30 2c 20 24 79 2b 33 30 29 3b 0a 20 20 20 20 20 20 20 20 24 63 61 6e 76 61 73 2d ($x+30,.$y+30);.........$canvas-
56de0 3e 74 6f 67 67 6c 65 28 24 78 2b 36 30 2c 20 24 79 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 65 63 68 >toggle($x+60,.$y);.....}.}..ech
56e00 6f 20 24 63 61 6e 76 61 73 2d 3e 66 72 61 6d 65 28 29 2c 20 22 5c 6e 22 3b 23 21 2f 75 73 72 2f o.$canvas->frame(),."\n";#!/usr/
56e20 62 69 6e 2f 65 6e 76 20 70 68 70 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 bin/env.php.<?php../*..*.This.fi
56e40 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 70 68 70 2d 64 72 61 77 69 6c 6c 65 0a 20 2a 0a 20 2a le.is.part.of.php-drawille..*..*
56e60 20 28 63 29 20 4a 65 66 66 20 57 65 6c 63 68 20 3c 77 68 61 74 74 68 65 6a 65 66 66 40 67 6d 61 .(c).Jeff.Welch.<whatthejeff@gma
56e80 69 6c 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 il.com>..*..*.For.the.full.copyr
56ea0 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c ight.and.license.information,.pl
56ec0 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 ease.view.the.LICENSE..*.file.th
56ee0 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 at.was.distributed.with.this.sou
56f00 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 5f 5f 44 49 rce.code...*/..require_once.__DI
56f20 52 5f 5f 20 2e 20 27 2f 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 3b 0a 0a 75 R__...'/vendor/autoload.php';..u
56f40 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 se.Symfony\Component\Console\App
56f60 6c 69 63 61 74 69 6f 6e 20 61 73 20 43 6f 6e 73 6f 6c 65 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a lication.as.ConsoleApplication;.
56f80 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f use.Symfony\Component\Console\Co
56fa0 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 20 61 73 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 3b mmand\Command.as.ConsoleCommand;
56fc0 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ..use.Symfony\Component\Console\
56fe0 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 Input\InputArgument;.use.Symfony
57000 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 \Component\Console\Input\InputOp
57020 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tion;.use.Symfony\Component\Cons
57040 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 ole\Input\InputDefinition;.use.S
57060 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
57080 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nputInterface;.use.Symfony\Compo
570a0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 nent\Console\Output\OutputInterf
570c0 61 63 65 3b 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 ace;..class.Application.extends.
570e0 43 6f 6e 73 6f 6c 65 41 70 70 6c 69 63 61 74 69 6f 6e 0a 7b 0a 20 20 20 20 70 75 62 6c 69 63 20 ConsoleApplication.{.....public.
57100 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 20 7b 0a 20 20 20 20 20 20 20 function.__construct().{........
57120 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 62 61 73 65 6e 61 6d 65 28 5f 5f .parent::__construct(basename(__
57140 46 49 4c 45 5f 5f 29 2c 20 27 31 2e 30 27 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e FILE__),.'1.0');.........$this->
57160 61 64 64 28 6e 65 77 20 43 6f 6d 6d 61 6e 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 6f add(new.Command);.....}......pro
57180 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 49 tected.function.getCommandName(I
571a0 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 20 7b 0a 20 20 20 20 20 20 20 20 nputInterface.$input).{.........
571c0 72 65 74 75 72 6e 20 62 61 73 65 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 3b 0a 20 20 20 20 7d return.basename(__FILE__);.....}
571e0 0a 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 ......protected.function.getDefa
57200 75 6c 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ultInputDefinition().....{......
57220 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 ...return.new.InputDefinition(ar
57240 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e ray(.............new.InputOption
57260 28 27 2d 2d 68 65 6c 70 27 2c 20 20 20 20 27 2d 68 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a ('--help',....'-h',.InputOption:
57280 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c 70 20 :VALUE_NONE,.'Display.this.help.
572a0 6d 65 73 73 61 67 65 2e 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 49 6e 70 75 message.'),.............new.Inpu
572c0 74 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 27 2c 20 49 6e 70 75 74 tOption('--version',.'-V',.Input
572e0 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 Option::VALUE_NONE,.'Display.thi
57300 73 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 76 65 72 73 69 6f 6e 2e 27 29 0a 20 20 20 20 20 20 20 s.application.version.')........
57320 20 29 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 20 65 78 74 65 .));.....}.}..class.Command.exte
57340 6e 64 73 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 20 20 20 20 70 72 6f 74 65 63 74 nds.ConsoleCommand.{.....protect
57360 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 20 20 20 20 7b 0a 20 20 ed.function.configure().....{...
57380 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 4e 61 6d 65 28 62 61 73 65 6e 61 6d 65 28 5f 5f ......$this->setName(basename(__
573a0 46 49 4c 45 5f 5f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 44 65 73 63 72 FILE__))..............->setDescr
573c0 69 70 74 69 6f 6e 28 27 63 6f 6e 76 65 72 74 20 61 6e 20 69 6d 61 67 65 20 74 6f 20 74 65 72 6d iption('convert.an.image.to.term
573e0 69 6e 61 6c 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 61 64 64 41 72 67 75 6d 65 6e inal')..............->addArgumen
57400 74 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6d 61 67 65 27 2c 0a 20 20 20 t(..................'image',....
57420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 ..............InputArgument::REQ
57440 55 49 52 45 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 49 6d 61 67 65 20 66 UIRED,..................'Image.f
57460 69 6c 65 20 70 61 74 68 2f 75 72 6c 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 ile.path/url'..............)....
57480 20 20 20 20 20 20 20 20 20 20 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 ..........->addOption(..........
574a0 20 20 20 20 20 20 20 20 27 74 68 72 65 73 68 6f 6c 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ........'threshold',............
574c0 20 20 20 20 20 20 27 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 ......'t',..................Inpu
574e0 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 0a 20 20 20 20 20 20 20 tOption::VALUE_REQUIRED,........
57500 20 20 20 20 20 20 20 20 20 20 27 43 6f 6c 6f 72 20 74 68 72 65 73 68 6f 6c 64 27 2c 0a 20 20 20 ..........'Color.threshold',....
57520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 38 32 2e 35 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..............382.5.............
57540 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 0a 20 20 20 .)..............->addOption(....
57560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 74 69 6f 27 2c 0a 20 20 20 20 20 20 20 20 20 ..............'ratio',..........
57580 20 20 20 20 20 20 20 20 27 72 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e ........'r',..................In
575a0 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 0a 20 20 20 20 20 putOption::VALUE_REQUIRED,......
575c0 20 20 20 20 20 20 20 20 20 20 20 20 27 49 6d 61 67 65 20 72 65 73 69 7a 65 20 72 61 74 69 6f 27 ............'Image.resize.ratio'
575e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 61 ..............)..............->a
57600 64 64 4f 70 74 69 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 76 65 ddOption(..................'inve
57620 72 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 27 2c 0a 20 20 20 20 20 rt',..................'i',......
57640 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e ............InputOption::VALUE_N
57660 4f 4e 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 49 6e 76 65 72 74 20 63 6f ONE,..................'Invert.co
57680 6c 6f 72 73 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 lors'..............);.....}.....
576a0 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 .protected.function.execute(Inpu
576c0 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 tInterface.$input,.OutputInterfa
576e0 63 65 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 6c 69 73 74 28 24 ce.$output).....{.........list($
57700 74 65 72 6d 69 6e 61 6c 57 69 64 74 68 2c 20 24 74 65 72 6d 69 6e 61 6c 48 65 69 67 68 74 29 20 terminalWidth,.$terminalHeight).
57720 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 67 65 74 54 65 =.$this->getApplication()->getTe
57740 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 72 rminalDimensions();..........$pr
57760 69 6e 74 65 72 20 3d 20 6e 65 77 20 49 6d 61 67 65 50 72 69 6e 74 65 72 28 0a 20 20 20 20 20 20 inter.=.new.ImagePrinter(.......
57780 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 69 6d 61 67 65 ......$input->getArgument('image
577a0 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f '),.............$input->getOptio
577c0 6e 28 27 74 68 72 65 73 68 6f 6c 64 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 n('threshold'),.............$inp
577e0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 61 74 69 6f 27 29 2c 0a 20 20 20 20 20 20 20 20 ut->getOption('ratio'),.........
57800 20 20 20 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 6e 76 65 72 74 27 29 0a ....$input->getOption('invert').
57820 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 72 69 6e 74 65 72 2d 3e 72 75 ........);..........$printer->ru
57840 6e 28 24 74 65 72 6d 69 6e 61 6c 57 69 64 74 68 2c 20 24 74 65 72 6d 69 6e 61 6c 48 65 69 67 68 n($terminalWidth,.$terminalHeigh
57860 74 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 24 63 6f 6e 73 6f 6c 65 20 3d 20 6e 65 77 20 41 70 70 6c t);.....}.}..$console.=.new.Appl
57880 69 63 61 74 69 6f 6e 28 29 3b 0a 24 63 6f 6e 73 6f 6c 65 2d 3e 72 75 6e 28 29 3b 23 21 2f 75 73 ication();.$console->run();#!/us
578a0 72 2f 62 69 6e 2f 65 6e 76 20 70 68 70 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 r/bin/env.php.<?php../*..*.This.
578c0 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 70 68 70 2d 64 72 61 77 69 6c 6c 65 0a 20 2a 0a file.is.part.of.php-drawille..*.
578e0 20 2a 20 28 63 29 20 4a 65 66 66 20 57 65 6c 63 68 20 3c 77 68 61 74 74 68 65 6a 65 66 66 40 67 .*.(c).Jeff.Welch.<whatthejeff@g
57900 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 mail.com>..*..*.For.the.full.cop
57920 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 yright.and.license.information,.
57940 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 please.view.the.LICENSE..*.file.
57960 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 that.was.distributed.with.this.s
57980 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 5f 5f ource.code...*/..require_once.__
579a0 44 49 52 5f 5f 20 2e 20 27 2f 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 3b 0a DIR__...'/vendor/autoload.php';.
579c0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 .use.Symfony\Component\Console\A
579e0 70 70 6c 69 63 61 74 69 6f 6e 20 61 73 20 43 6f 6e 73 6f 6c 65 41 70 70 6c 69 63 61 74 69 6f 6e pplication.as.ConsoleApplication
57a00 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
57a20 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 20 61 73 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e Command\Command.as.ConsoleComman
57a40 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c d;..use.Symfony\Component\Consol
57a60 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f e\Input\InputArgument;.use.Symfo
57a80 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 ny\Component\Console\Input\Input
57aa0 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f Option;.use.Symfony\Component\Co
57ac0 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 nsole\Input\InputDefinition;.use
57ae0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 .Symfony\Component\Console\Input
57b00 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d \InputInterface;.use.Symfony\Com
57b20 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 ponent\Console\Output\OutputInte
57b40 72 66 61 63 65 3b 0a 0a 75 73 65 20 47 6f 75 74 74 65 5c 43 6c 69 65 6e 74 3b 0a 0a 63 6c 61 73 rface;..use.Goutte\Client;..clas
57b60 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 41 70 70 s.Application.extends.ConsoleApp
57b80 6c 69 63 61 74 69 6f 6e 0a 7b 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f lication.{.....public.function._
57ba0 5f 63 6f 6e 73 74 72 75 63 74 28 29 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f _construct().{.........parent::_
57bc0 5f 63 6f 6e 73 74 72 75 63 74 28 62 61 73 65 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2c 20 27 _construct(basename(__FILE__),.'
57be0 31 2e 30 27 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 64 64 28 6e 65 77 20 43 6f 1.0');.........$this->add(new.Co
57c00 6d 6d 61 6e 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e mmand);.....}......protected.fun
57c20 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 49 6e 70 75 74 49 6e 74 65 72 66 ction.getCommandName(InputInterf
57c40 61 63 65 20 24 69 6e 70 75 74 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 61 73 ace.$input).{.........return.bas
57c60 65 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 6f 74 ename(__FILE__);.....}......prot
57c80 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 49 6e 70 75 74 44 65 ected.function.getDefaultInputDe
57ca0 66 69 6e 69 74 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 finition().....{.........return.
57cc0 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 20 20 20 20 20 new.InputDefinition(array(......
57ce0 20 20 20 20 20 20 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 68 65 6c 70 27 2c .......new.InputOption('--help',
57d00 20 20 20 20 27 2d 68 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e ....'-h',.InputOption::VALUE_NON
57d20 45 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c 70 20 6d 65 73 73 61 67 65 2e 27 29 E,.'Display.this.help.message.')
57d40 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d ,.............new.InputOption('-
57d60 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 -version',.'-V',.InputOption::VA
57d80 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 73 20 61 70 70 6c 69 63 61 74 LUE_NONE,.'Display.this.applicat
57da0 69 6f 6e 20 76 65 72 73 69 6f 6e 2e 27 29 0a 20 20 20 20 20 20 20 20 29 29 3b 0a 20 20 20 20 7d ion.version.').........));.....}
57dc0 0a 7d 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c .}..class.Command.extends.Consol
57de0 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f eCommand.{.....protected.functio
57e00 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 n.configure().....{.........$thi
57e20 73 2d 3e 73 65 74 4e 61 6d 65 28 62 61 73 65 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 0a 20 s->setName(basename(__FILE__))..
57e40 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 63 6f ............->setDescription('co
57e60 6e 76 65 72 74 20 61 6e 20 6f 63 74 6f 63 61 74 20 74 6f 20 74 65 72 6d 69 6e 61 6c 27 29 0a 20 nvert.an.octocat.to.terminal')..
57e80 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 28 0a 20 20 20 20 20 ............->addArgument(......
57ea0 20 20 20 20 20 20 20 20 20 20 20 20 27 63 61 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ............'cat',..............
57ec0 20 20 20 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 0a 20 20 20 ....InputArgument::REQUIRED,....
57ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 43 61 74 20 6e 75 6d 62 65 72 2c 20 6e 61 6d 65 2c ..............'Cat.number,.name,
57f00 20 74 69 74 6c 65 2c 20 6f 72 20 22 72 61 6e 64 6f 6d 22 27 0a 20 20 20 20 20 20 20 20 20 20 20 .title,.or."random"'............
57f20 20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 0a 20 20 ..)..............->addOption(...
57f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 68 72 65 73 68 6f 6c 64 27 2c 0a 20 20 20 20 ...............'threshold',.....
57f60 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............'t',...............
57f80 20 20 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 0a ...InputOption::VALUE_REQUIRED,.
57fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 43 6f 6c 6f 72 20 74 68 72 65 73 68 6f 6c .................'Color.threshol
57fc0 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 38 32 2e 35 0a 20 20 20 20 20 d',..................382.5......
57fe0 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 61 64 64 4f 70 74 69 ........)..............->addOpti
58000 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 74 69 6f 27 2c 0a 20 20 on(..................'ratio',...
58020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...............'r',.............
58040 20 20 20 20 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 .....InputOption::VALUE_REQUIRED
58060 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 49 6d 61 67 65 20 72 65 73 69 7a 65 ,..................'Image.resize
58080 20 72 61 74 69 6f 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 20 .ratio'..............)..........
580a0 20 20 20 20 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....->addOption(................
580c0 20 20 27 69 6e 76 65 72 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 27 ..'invert',..................'i'
580e0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a ,..................InputOption::
58100 56 41 4c 55 45 5f 4e 4f 4e 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 49 6e VALUE_NONE,..................'In
58120 76 65 72 74 20 63 6f 6c 6f 72 73 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 vert.colors'..............);....
58140 20 7d 0a 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 .}......protected.function.execu
58160 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 te(InputInterface.$input,.Output
58180 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 Interface.$output).....{........
581a0 20 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 6f 63 74 6f 64 65 78 2e 67 69 74 68 75 62 2e .$url.=.'https://octodex.github.
581c0 63 6f 6d 27 3b 0a 20 20 20 20 20 20 20 20 24 63 61 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 com';.........$cat.=.$input->get
581e0 41 72 67 75 6d 65 6e 74 28 27 63 61 74 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6c 69 65 6e Argument('cat');..........$clien
58200 74 20 3d 20 6e 65 77 20 43 6c 69 65 6e 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 63 72 61 77 6c t.=.new.Client();.........$crawl
58220 65 72 20 3d 20 24 63 6c 69 65 6e 74 2d 3e 72 65 71 75 65 73 74 28 27 47 45 54 27 2c 20 24 75 72 er.=.$client->request('GET',.$ur
58240 6c 29 3b 0a 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 l);..........try.{.............i
58260 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 63 61 74 29 20 7c 7c 20 24 63 61 74 20 3d 3d 20 27 f.(is_numeric($cat).||.$cat.==.'
58280 72 61 6e 64 6f 6d 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 6c 74 random').{.................$filt
582a0 65 72 20 3d 20 24 63 72 61 77 6c 65 72 2d 3e 66 69 6c 74 65 72 28 27 2e 70 72 65 76 69 65 77 2d er.=.$crawler->filter('.preview-
582c0 69 6d 61 67 65 20 3e 20 69 6d 67 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 image.>.img');.................$
582e0 74 6f 74 61 6c 20 3d 20 69 74 65 72 61 74 6f 72 5f 63 6f 75 6e 74 28 24 66 69 6c 74 65 72 29 3b total.=.iterator_count($filter);
58300 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 24 63 61 74 20 3d 3d 20 27 72 61 ..................if($cat.==.'ra
58320 6e 64 6f 6d 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 61 ndom').{.....................$ca
58340 74 20 3d 20 6d 74 5f 72 61 6e 64 28 31 2c 20 24 74 6f 74 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 t.=.mt_rand(1,.$total);.........
58360 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6d 61 67 ........}..................$imag
58380 65 20 3d 20 24 66 69 6c 74 65 72 2d 3e 65 71 28 24 74 6f 74 61 6c 20 2d 20 24 63 61 74 29 2d 3e e.=.$filter->eq($total.-.$cat)->
583a0 61 74 74 72 28 27 64 61 74 61 2d 73 72 63 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a attr('data-src');.............}.
583c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 73 75 62 73 74 72 28 24 63 61 .............else.if.(substr($ca
583e0 74 2c 20 30 2c 20 34 29 20 3d 3d 20 27 74 68 65 20 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 t,.0,.4).==.'the.').{...........
58400 20 20 20 20 20 20 24 69 6d 61 67 65 20 3d 20 24 63 72 61 77 6c 65 72 2d 3e 66 69 6c 74 65 72 28 ......$image.=.$crawler->filter(
58420 22 69 6d 67 5b 61 6c 74 3d 5c 22 24 63 61 74 5c 22 5d 22 29 2d 3e 61 74 74 72 28 27 64 61 74 61 "img[alt=\"$cat\"]")->attr('data
58440 2d 73 72 63 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 -src');.............}...........
58460 20 20 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6d 61 67 65 ...else.{.................$image
58480 20 3d 20 24 63 72 61 77 6c 65 72 2d 3e 66 69 6c 74 65 72 28 22 61 5b 68 72 65 66 3d 5c 22 2f 24 .=.$crawler->filter("a[href=\"/$
584a0 63 61 74 5c 22 5d 20 3e 20 69 6d 67 22 29 2d 3e 61 74 74 72 28 27 64 61 74 61 2d 73 72 63 27 29 cat\"].>.img")->attr('data-src')
584c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ;.............}.........}.......
584e0 20 20 20 63 61 74 63 68 20 28 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 ...catch.(InvalidArgumentExcepti
58500 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 on.$exception).{.............thr
58520 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 4f 63 74 6f 63 61 74 ow.new.RuntimeException('Octocat
58540 20 6e 6f 74 20 66 6f 75 6e 64 20 61 74 3a 20 27 20 2e 20 24 75 72 6c 29 3b 0a 20 20 20 20 20 20 .not.found.at:.'...$url);.......
58560 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 6c 69 73 74 28 24 74 65 72 6d 69 6e 61 6c 57 69 64 74 68 ..}..........list($terminalWidth
58580 2c 20 24 74 65 72 6d 69 6e 61 6c 48 65 69 67 68 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 ,.$terminalHeight).=.$this->getA
585a0 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 pplication()->getTerminalDimensi
585c0 6f 6e 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 72 69 6e 74 65 72 20 3d 20 6e 65 77 20 49 ons();..........$printer.=.new.I
585e0 6d 61 67 65 50 72 69 6e 74 65 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 68 74 74 70 73 3a magePrinter(.............'https:
58600 2f 2f 6f 63 74 6f 64 65 78 2e 67 69 74 68 75 62 2e 63 6f 6d 27 20 2e 20 24 69 6d 61 67 65 2c 0a //octodex.github.com'...$image,.
58620 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 ............$input->getOption('t
58640 68 72 65 73 68 6f 6c 64 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e hreshold'),.............$input->
58660 67 65 74 4f 70 74 69 6f 6e 28 27 72 61 74 69 6f 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 getOption('ratio'),.............
58680 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 6e 76 65 72 74 27 29 0a 20 20 20 20 $input->getOption('invert').....
586a0 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 72 69 6e 74 65 72 2d 3e 72 75 6e 28 24 74 ....);..........$printer->run($t
586c0 65 72 6d 69 6e 61 6c 57 69 64 74 68 2c 20 24 74 65 72 6d 69 6e 61 6c 48 65 69 67 68 74 29 3b 0a erminalWidth,.$terminalHeight);.
586e0 20 20 20 20 7d 0a 7d 0a 0a 24 63 6f 6e 73 6f 6c 65 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 ....}.}..$console.=.new.Applicat
58700 69 6f 6e 28 29 3b 0a 24 63 6f 6e 73 6f 6c 65 2d 3e 72 75 6e 28 29 3b 3c 3f 70 68 70 0a 0a 2f 2a ion();.$console->run();<?php../*
58720 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 70 68 70 2d 64 72 61 ..*.This.file.is.part.of.php-dra
58740 77 69 6c 6c 65 0a 20 2a 0a 20 2a 20 28 63 29 20 4a 65 66 66 20 57 65 6c 63 68 20 3c 77 68 61 74 wille..*..*.(c).Jeff.Welch.<what
58760 74 68 65 6a 65 66 66 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 thejeff@gmail.com>..*..*.For.the
58780 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f .full.copyright.and.license.info
587a0 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 rmation,.please.view.the.LICENSE
587c0 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 ..*.file.that.was.distributed.wi
587e0 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 72 65 71 75 69 72 th.this.source.code...*/..requir
58800 65 5f 6f 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 76 65 6e 64 6f 72 2f 61 75 74 e_once.__DIR__...'/../vendor/aut
58820 6f 6c 6f 61 64 2e 70 68 70 27 3b 0a 0a 75 73 65 20 44 72 61 77 69 6c 6c 65 5c 54 75 72 74 6c 65 oload.php';..use.Drawille\Turtle
58840 3b 0a 0a 24 74 75 72 74 6c 65 20 3d 20 6e 65 77 20 54 75 72 74 6c 65 28 29 3b 0a 0a 66 6f 72 20 ;..$turtle.=.new.Turtle();..for.
58860 28 24 78 20 3d 20 30 3b 20 24 78 20 3c 20 33 36 3b 20 24 78 2b 2b 29 20 7b 0a 20 20 20 20 24 74 ($x.=.0;.$x.<.36;.$x++).{.....$t
58880 75 72 74 6c 65 2d 3e 72 69 67 68 74 28 31 30 29 3b 0a 0a 20 20 20 20 66 6f 72 20 28 24 79 20 3d urtle->right(10);......for.($y.=
588a0 20 30 3b 20 24 79 20 3c 20 33 36 3b 20 24 79 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 75 .0;.$y.<.36;.$y++).{.........$tu
588c0 72 74 6c 65 2d 3e 72 69 67 68 74 28 31 30 29 3b 0a 20 20 20 20 20 20 20 20 24 74 75 72 74 6c 65 rtle->right(10);.........$turtle
588e0 2d 3e 66 6f 72 77 61 72 64 28 38 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 65 63 68 6f 20 24 74 75 72 ->forward(8);.....}.}..echo.$tur
58900 74 6c 65 2d 3e 66 72 61 6d 65 28 29 2c 20 22 5c 6e 22 3b 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e tle->frame(),."\n";#!/usr/bin/en
58920 76 20 70 68 70 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 v.php.<?php../*..*.This.file.is.
58940 70 61 72 74 20 6f 66 20 70 68 70 2d 64 72 61 77 69 6c 6c 65 0a 20 2a 0a 20 2a 20 28 63 29 20 4a part.of.php-drawille..*..*.(c).J
58960 65 66 66 20 57 65 6c 63 68 20 3c 77 68 61 74 74 68 65 6a 65 66 66 40 67 6d 61 69 6c 2e 63 6f 6d eff.Welch.<whatthejeff@gmail.com
58980 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 >..*..*.For.the.full.copyright.a
589a0 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 nd.license.information,.please.v
589c0 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 iew.the.LICENSE..*.file.that.was
589e0 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f .distributed.with.this.source.co
58a00 64 65 2e 0a 20 2a 2f 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 de...*/..require_once.__DIR__...
58a20 27 2f 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 3b 0a 0a 75 73 65 20 53 79 6d '/vendor/autoload.php';..use.Sym
58a40 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 fony\Component\Console\Applicati
58a60 6f 6e 20 61 73 20 43 6f 6e 73 6f 6c 65 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 on.as.ConsoleApplication;.use.Sy
58a80 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c mfony\Component\Console\Command\
58aa0 43 6f 6d 6d 61 6e 64 20 61 73 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 Command.as.ConsoleCommand;..use.
58ac0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c Symfony\Component\Console\Input\
58ae0 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f InputArgument;.use.Symfony\Compo
58b00 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a nent\Console\Input\InputOption;.
58b20 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
58b40 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 put\InputDefinition;.use.Symfony
58b60 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e \Component\Console\Input\InputIn
58b80 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 terface;.use.Symfony\Component\C
58ba0 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a onsole\Output\OutputInterface;..
58bc0 75 73 65 20 47 6f 75 74 74 65 5c 43 6c 69 65 6e 74 3b 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 use.Goutte\Client;..class.Applic
58be0 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 41 70 70 6c 69 63 61 74 69 6f 6e ation.extends.ConsoleApplication
58c00 0a 7b 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 .{.....public.function.__constru
58c20 63 74 28 29 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 ct().{.........parent::__constru
58c40 63 74 28 62 61 73 65 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2c 20 27 31 2e 30 27 29 3b 0a 20 ct(basename(__FILE__),.'1.0');..
58c60 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 64 64 28 6e 65 77 20 43 6f 6d 6d 61 6e 64 29 3b 0a .......$this->add(new.Command);.
58c80 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 ....}......protected.function.ge
58ca0 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 tCommandName(InputInterface.$inp
58cc0 75 74 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 61 73 65 6e 61 6d 65 28 5f 5f ut).{.........return.basename(__
58ce0 46 49 4c 45 5f 5f 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 FILE__);.....}......protected.fu
58d00 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e nction.getDefaultInputDefinition
58d20 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 70 75 ().....{.........return.new.Inpu
58d40 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e tDefinition(array(.............n
58d60 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 68 65 6c 70 27 2c 20 20 20 20 27 2d 68 27 ew.InputOption('--help',....'-h'
58d80 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 ,.InputOption::VALUE_NONE,.'Disp
58da0 6c 61 79 20 74 68 69 73 20 68 65 6c 70 20 6d 65 73 73 61 67 65 2e 27 29 2c 0a 20 20 20 20 20 20 lay.this.help.message.'),.......
58dc0 20 20 20 20 20 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 73 69 6f 6e ......new.InputOption('--version
58de0 27 2c 20 27 2d 56 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.'-V',.InputOption::VALUE_NONE
58e00 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 73 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 76 65 72 73 ,.'Display.this.application.vers
58e20 69 6f 6e 2e 27 29 0a 20 20 20 20 20 20 20 20 29 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 63 6c 61 73 ion.').........));.....}.}..clas
58e40 73 20 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 s.Command.extends.ConsoleCommand
58e60 0a 7b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 .{.....protected.function.config
58e80 75 72 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 4e 61 ure().....{.........$this->setNa
58ea0 6d 65 28 62 61 73 65 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 0a 20 20 20 20 20 20 20 20 20 me(basename(__FILE__))..........
58ec0 20 20 20 20 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 63 6f 6e 76 65 72 74 20 61 6e ....->setDescription('convert.an
58ee0 20 78 6b 63 64 20 63 6f 6d 69 63 20 74 6f 20 74 65 72 6d 69 6e 61 6c 27 29 0a 20 20 20 20 20 20 .xkcd.comic.to.terminal').......
58f00 20 20 20 20 20 20 20 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 28 0a 20 20 20 20 20 20 20 20 20 20 .......->addArgument(...........
58f20 20 20 20 20 20 20 20 27 63 6f 6d 69 63 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......'comic',.................
58f40 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 0a 20 20 20 20 20 20 .InputArgument::REQUIRED,.......
58f60 20 20 20 20 20 20 20 20 20 20 20 27 43 6f 6d 69 63 20 49 44 20 6f 72 20 22 72 61 6e 64 6f 6d 22 ...........'Comic.ID.or."random"
58f80 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e '..............)..............->
58fa0 61 64 64 4f 70 74 69 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 68 72 addOption(..................'thr
58fc0 65 73 68 6f 6c 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 27 2c 0a 20 eshold',..................'t',..
58fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c ................InputOption::VAL
59000 55 45 5f 52 45 51 55 49 52 45 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 43 UE_REQUIRED,..................'C
59020 6f 6c 6f 72 20 74 68 72 65 73 68 6f 6c 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olor.threshold',................
59040 20 20 33 38 32 2e 35 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 20 ..382.5..............)..........
59060 20 20 20 20 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....->addOption(................
59080 20 20 27 72 61 74 69 6f 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 27 2c ..'ratio',..................'r',
590a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 ..................InputOption::V
590c0 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ALUE_REQUIRED,..................
590e0 27 49 6d 61 67 65 20 72 65 73 69 7a 65 20 72 61 74 69 6f 27 0a 20 20 20 20 20 20 20 20 20 20 20 'Image.resize.ratio'............
59100 20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 0a 20 20 ..)..............->addOption(...
59120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 76 65 72 74 27 2c 0a 20 20 20 20 20 20 20 ...............'invert',........
59140 20 20 20 20 20 20 20 20 20 20 27 69 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........'i',..................
59160 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 0a 20 20 20 20 20 20 20 InputOption::VALUE_NONE,........
59180 20 20 20 20 20 20 20 20 20 20 27 49 6e 76 65 72 74 20 63 6f 6c 6f 72 73 27 0a 20 20 20 20 20 20 ..........'Invert.colors'.......
591a0 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 .......);.....}......protected.f
591c0 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 unction.execute(InputInterface.$
591e0 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a input,.OutputInterface.$output).
59200 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 69 63 20 3d 20 24 69 6e 70 75 74 2d 3e 67 ....{.........$comic.=.$input->g
59220 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 69 63 27 29 3b 0a 20 20 20 20 20 20 20 20 24 75 72 etArgument('comic');.........$ur
59240 6c 20 3d 20 24 63 6f 6d 69 63 20 3d 3d 20 27 72 61 6e 64 6f 6d 27 20 3f 20 27 68 74 74 70 3a 2f l.=.$comic.==.'random'.?.'http:/
59260 2f 63 2e 78 6b 63 64 2e 63 6f 6d 2f 72 61 6e 64 6f 6d 2f 63 6f 6d 69 63 2f 27 20 3a 20 22 68 74 /c.xkcd.com/random/comic/'.:."ht
59280 74 70 3a 2f 2f 78 6b 63 64 2e 63 6f 6d 2f 24 63 6f 6d 69 63 2f 22 3b 0a 0a 20 20 20 20 20 20 20 tp://xkcd.com/$comic/";.........
592a0 20 24 63 6c 69 65 6e 74 20 3d 20 6e 65 77 20 43 6c 69 65 6e 74 28 29 3b 0a 20 20 20 20 20 20 20 .$client.=.new.Client();........
592c0 20 24 63 72 61 77 6c 65 72 20 3d 20 24 63 6c 69 65 6e 74 2d 3e 72 65 71 75 65 73 74 28 27 47 45 .$crawler.=.$client->request('GE
592e0 54 27 2c 20 24 75 72 6c 29 3b 0a 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 T',.$url);..........try.{.......
59300 20 20 20 20 20 20 24 69 6d 61 67 65 20 3d 20 24 63 72 61 77 6c 65 72 2d 3e 66 69 6c 74 65 72 28 ......$image.=.$crawler->filter(
59320 27 23 63 6f 6d 69 63 20 3e 20 69 6d 67 27 29 2d 3e 61 74 74 72 28 27 73 72 63 27 29 3b 0a 20 20 '#comic.>.img')->attr('src');...
59340 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 63 61 74 63 68 28 49 6e 76 61 6c 69 64 41 72 ......}..........catch(InvalidAr
59360 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 gumentException.$exception).{...
59380 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 ..........throw.new.RuntimeExcep
593a0 74 69 6f 6e 28 27 4e 6f 20 63 6f 6d 69 63 20 66 6f 75 6e 64 20 6f 6e 3a 20 27 20 2e 20 24 75 72 tion('No.comic.found.on:.'...$ur
593c0 6c 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 6c 69 73 74 28 24 74 65 72 l);.........}..........list($ter
593e0 6d 69 6e 61 6c 57 69 64 74 68 2c 20 24 74 65 72 6d 69 6e 61 6c 48 65 69 67 68 74 29 20 3d 20 24 minalWidth,.$terminalHeight).=.$
59400 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 67 65 74 54 65 72 6d 69 this->getApplication()->getTermi
59420 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 72 69 6e 74 nalDimensions();..........$print
59440 65 72 20 3d 20 6e 65 77 20 49 6d 61 67 65 50 72 69 6e 74 65 72 28 0a 20 20 20 20 20 20 20 20 20 er.=.new.ImagePrinter(..........
59460 20 20 20 24 69 6d 61 67 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 67 ...$image,.............$input->g
59480 65 74 4f 70 74 69 6f 6e 28 27 74 68 72 65 73 68 6f 6c 64 27 29 2c 0a 20 20 20 20 20 20 20 20 20 etOption('threshold'),..........
594a0 20 20 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 61 74 69 6f 27 29 2c 0a 20 ...$input->getOption('ratio'),..
594c0 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 6e ...........$input->getOption('in
594e0 76 65 72 74 27 29 0a 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 72 69 6e vert').........);..........$prin
59500 74 65 72 2d 3e 72 75 6e 28 24 74 65 72 6d 69 6e 61 6c 57 69 64 74 68 2c 20 24 74 65 72 6d 69 6e ter->run($terminalWidth,.$termin
59520 61 6c 48 65 69 67 68 74 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 24 63 6f 6e 73 6f 6c 65 20 3d 20 6e alHeight);.....}.}..$console.=.n
59540 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 24 63 6f 6e 73 6f 6c 65 2d 3e 72 75 6e 28 ew.Application();.$console->run(
59560 29 3b 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 );<?php../*..*.This.file.is.part
59580 20 6f 66 20 70 68 70 2d 64 72 61 77 69 6c 6c 65 0a 20 2a 0a 20 2a 20 28 63 29 20 4a 65 66 66 20 .of.php-drawille..*..*.(c).Jeff.
595a0 57 65 6c 63 68 20 3c 77 68 61 74 74 68 65 6a 65 66 66 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a Welch.<whatthejeff@gmail.com>..*
595c0 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c ..*.For.the.full.copyright.and.l
595e0 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 icense.information,.please.view.
59600 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 the.LICENSE..*.file.that.was.dis
59620 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a tributed.with.this.source.code..
59640 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 44 72 61 77 69 6c 6c 65 3b 0a 0a 2f 2a 2a 0a 20 2a .*/..namespace.Drawille;../**..*
59660 20 50 69 78 65 6c 20 73 75 72 66 61 63 65 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a 65 66 .Pixel.surface..*..*.@author.Jef
59680 66 20 57 65 6c 63 68 20 3c 77 68 61 74 74 68 65 6a 65 66 66 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a f.Welch.<whatthejeff@gmail.com>.
596a0 20 2a 2f 0a 63 6c 61 73 73 20 43 61 6e 76 61 73 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 .*/.class.Canvas.{...../**......
596c0 2a 20 44 6f 74 73 3a 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 20 20 2c 5f 5f 5f 2c 0a 20 20 *.Dots:......*......*...,___,...
596e0 20 20 20 2a 20 20 20 7c 31 20 34 7c 0a 20 20 20 20 20 2a 20 20 20 7c 32 20 35 7c 0a 20 20 20 20 ...*...|1.4|......*...|2.5|.....
59700 20 2a 20 20 20 7c 33 20 36 7c 0a 20 20 20 20 20 2a 20 20 20 7c 37 20 38 7c 0a 20 20 20 20 20 2a .*...|3.6|......*...|7.8|......*
59720 20 20 20 60 60 60 60 60 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 61 72 72 61 ...`````......*......*.@var.arra
59740 79 0a 20 20 20 20 20 2a 20 40 73 65 65 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 6c 61 6e 77 6f 6f y......*.@see.http://www.alanwoo
59760 64 2e 6e 65 74 2f 75 6e 69 63 6f 64 65 2f 62 72 61 69 6c 6c 65 5f 70 61 74 74 65 72 6e 73 2e 68 d.net/unicode/braille_patterns.h
59780 74 6d 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 tml......*/.....private.static.$
597a0 70 69 78 65 6c 5f 6d 61 70 20 3d 20 5b 0a 20 20 20 20 20 20 20 20 5b 30 78 30 31 2c 20 30 78 30 pixel_map.=.[.........[0x01,.0x0
597c0 38 5d 2c 0a 20 20 20 20 20 20 20 20 5b 30 78 30 32 2c 20 30 78 31 30 5d 2c 0a 20 20 20 20 20 20 8],.........[0x02,.0x10],.......
597e0 20 20 5b 30 78 30 34 2c 20 30 78 32 30 5d 2c 0a 20 20 20 20 20 20 20 20 5b 30 78 34 30 2c 20 30 ..[0x04,.0x20],.........[0x40,.0
59800 78 38 30 5d 0a 20 20 20 20 5d 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 42 72 61 69 x80].....];....../**......*.Brai
59820 6c 6c 65 20 63 68 61 72 61 63 74 65 72 73 20 73 74 61 72 74 73 20 61 74 20 30 78 32 38 30 30 0a lle.characters.starts.at.0x2800.
59840 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 69 6e 74 65 67 65 72 0a 20 20 20 20 20 .....*......*.@var.integer......
59860 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 62 72 61 69 6c 6c 65 5f 63 */.....private.static.$braille_c
59880 68 61 72 5f 6f 66 66 73 65 74 20 3d 20 30 78 32 38 30 30 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 har_offset.=.0x2800;....../**...
598a0 20 20 20 2a 20 43 61 6e 76 61 73 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 ...*.Canvas.representation......
598c0 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 *......*.@var.array......*/.....
598e0 70 72 69 76 61 74 65 20 24 63 68 61 72 73 20 3d 20 5b 5d 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 private.$chars.=.[];....../**...
59900 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 ...*.Constructor......*/.....pub
59920 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 20 7b 0a 20 20 20 lic.function.__construct().{....
59940 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 65 61 72 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 .....$this->clear();.....}......
59960 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 65 61 72 73 20 74 68 65 20 63 61 6e 76 61 73 0a 20 20 20 /**......*.Clears.the.canvas....
59980 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 28 29 ..*/.....public.function.clear()
599a0 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 68 61 72 73 20 3d 20 5b 5d 3b 0a 20 20 .{.........$this->chars.=.[];...
599c0 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 61 20 70 69 78 65 6c ..}....../**......*.Sets.a.pixel
599e0 20 61 74 20 74 68 65 20 67 69 76 65 6e 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 .at.the.given.position......*...
59a00 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 78 20 78 20 70 6f 73 69 74 69 6f ...*.@param.integer.$x.x.positio
59a20 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 79 20 79 20 70 6f 73 n......*.@param.integer.$y.y.pos
59a40 69 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ition......*/.....public.functio
59a60 6e 20 73 65 74 28 24 78 2c 20 24 79 29 20 7b 0a 20 20 20 20 20 20 20 20 6c 69 73 74 28 24 78 2c n.set($x,.$y).{.........list($x,
59a80 20 24 79 2c 20 24 70 78 2c 20 24 70 79 29 20 3d 20 24 74 68 69 73 2d 3e 70 72 69 6d 65 28 24 78 .$y,.$px,.$py).=.$this->prime($x
59aa0 2c 20 24 79 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 68 61 72 73 5b 24 70 79 5d ,.$y);.........$this->chars[$py]
59ac0 5b 24 70 78 5d 20 7c 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 74 46 72 6f 6d 4d 61 70 28 24 78 [$px].|=.$this->getDotFromMap($x
59ae0 2c 20 24 79 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 55 6e 73 ,.$y);.....}....../**......*.Uns
59b00 65 74 73 20 61 20 70 69 78 65 6c 20 61 74 20 74 68 65 20 67 69 76 65 6e 20 70 6f 73 69 74 69 6f ets.a.pixel.at.the.given.positio
59b20 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 n......*......*.@param.integer.$
59b40 78 20 78 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 x.x.position......*.@param.integ
59b60 65 72 20 24 79 20 79 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 er.$y.y.position......*/.....pub
59b80 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 24 78 2c 20 24 79 29 20 7b 0a 20 20 20 lic.function.reset($x,.$y).{....
59ba0 20 20 20 20 20 6c 69 73 74 28 24 78 2c 20 24 79 2c 20 24 70 78 2c 20 24 70 79 29 20 3d 20 24 74 .....list($x,.$y,.$px,.$py).=.$t
59bc0 68 69 73 2d 3e 70 72 69 6d 65 28 24 78 2c 20 24 79 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 his->prime($x,.$y);.........$thi
59be0 73 2d 3e 63 68 61 72 73 5b 24 70 79 5d 5b 24 70 78 5d 20 26 3d 20 7e 24 74 68 69 73 2d 3e 67 65 s->chars[$py][$px].&=.~$this->ge
59c00 74 44 6f 74 46 72 6f 6d 4d 61 70 28 24 78 2c 20 24 79 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 tDotFromMap($x,.$y);.....}......
59c20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 70 69 78 65 6c 20 73 74 61 74 65 20 /**......*.Gets.the.pixel.state.
59c40 61 74 20 61 20 67 69 76 65 6e 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 at.a.given.position......*......
59c60 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 78 20 78 20 70 6f 73 69 74 69 6f 6e 0a 20 *.@param.integer.$x.x.position..
59c80 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 79 20 79 20 70 6f 73 69 74 69 ....*.@param.integer.$y.y.positi
59ca0 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 68 on......*......*.@return.bool.th
59cc0 65 20 70 69 78 65 6c 20 73 74 61 74 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 e.pixel.state......*/.....public
59ce0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 28 24 78 2c 20 24 79 29 20 7b 0a 20 20 20 20 20 20 20 20 .function.get($x,.$y).{.........
59d00 6c 69 73 74 28 24 78 2c 20 24 79 2c 20 2c 20 2c 20 24 63 68 61 72 29 20 3d 20 24 74 68 69 73 2d list($x,.$y,.,.,.$char).=.$this-
59d20 3e 70 72 69 6d 65 28 24 78 2c 20 24 79 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 >prime($x,.$y);.........return.(
59d40 62 6f 6f 6c 29 28 24 63 68 61 72 20 26 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 74 46 72 6f 6d 4d bool)($char.&.$this->getDotFromM
59d60 61 70 28 24 78 2c 20 24 79 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 ap($x,.$y));.....}....../**.....
59d80 20 2a 20 54 6f 67 67 6c 65 73 20 74 68 65 20 70 69 78 65 6c 20 73 74 61 74 65 20 6f 6e 2f 6f 66 .*.Toggles.the.pixel.state.on/of
59da0 66 20 61 74 20 61 20 67 69 76 65 6e 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 f.at.a.given.position......*....
59dc0 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 78 20 78 20 70 6f 73 69 74 69 6f 6e ..*.@param.integer.$x.x.position
59de0 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 79 20 79 20 70 6f 73 69 ......*.@param.integer.$y.y.posi
59e00 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e tion......*/.....public.function
59e20 20 74 6f 67 67 6c 65 28 24 78 2c 20 24 79 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d .toggle($x,.$y).{.........$this-
59e40 3e 67 65 74 28 24 78 2c 20 24 79 29 20 3f 20 24 74 68 69 73 2d 3e 72 65 73 65 74 28 24 78 2c 20 >get($x,.$y).?.$this->reset($x,.
59e60 24 79 29 20 3a 20 24 74 68 69 73 2d 3e 73 65 74 28 24 78 2c 20 24 79 29 3b 0a 20 20 20 20 7d 0a $y).:.$this->set($x,.$y);.....}.
59e80 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 61 20 6c 69 6e 65 0a 20 20 20 20 ...../**......*.Gets.a.line.....
59ea0 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 79 20 20 20 20 20 .*......*.@param.integer.$y.....
59ec0 79 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 y.position......*.@param.array.$
59ee0 6f 70 74 69 6f 6e 73 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 options.options......*......*.@r
59f00 65 74 75 72 6e 20 73 74 72 69 6e 67 20 6c 69 6e 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 eturn.string.line......*/.....pu
59f20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 6f 77 28 24 79 2c 20 61 72 72 61 79 20 24 6f 70 74 blic.function.row($y,.array.$opt
59f40 69 6f 6e 73 20 3d 20 5b 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 24 72 6f 77 20 3d 20 69 73 73 65 ions.=.[]).{.........$row.=.isse
59f60 74 28 24 74 68 69 73 2d 3e 63 68 61 72 73 5b 24 79 5d 29 20 3f 20 24 74 68 69 73 2d 3e 63 68 61 t($this->chars[$y]).?.$this->cha
59f80 72 73 5b 24 79 5d 20 3a 20 5b 5d 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 28 21 69 73 73 65 74 28 rs[$y].:.[];..........if(!isset(
59fa0 24 6f 70 74 69 6f 6e 73 5b 27 6d 69 6e 5f 78 27 5d 29 20 7c 7c 20 21 69 73 73 65 74 28 24 6f 70 $options['min_x']).||.!isset($op
59fc0 74 69 6f 6e 73 5b 27 6d 61 78 5f 78 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 tions['max_x'])).{.............i
59fe0 66 28 21 28 24 6b 65 79 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 72 6f 77 29 29 29 20 7b f(!($keys.=.array_keys($row))).{
5a000 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 27 3b 0a 20 20 20 20 .................return.'';.....
5a020 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6d 69 ........}.........}..........$mi
5a040 6e 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6d 69 6e 5f 78 27 5d 29 20 3f 20 24 n.=.isset($options['min_x']).?.$
5a060 6f 70 74 69 6f 6e 73 5b 27 6d 69 6e 5f 78 27 5d 20 3a 20 6d 69 6e 28 24 6b 65 79 73 29 3b 0a 20 options['min_x'].:.min($keys);..
5a080 20 20 20 20 20 20 20 24 6d 61 78 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6d 61 .......$max.=.isset($options['ma
5a0a0 78 5f 78 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6d 61 78 5f 78 27 5d 20 3a 20 6d 61 78 x_x']).?.$options['max_x'].:.max
5a0c0 28 24 6b 65 79 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 72 ($keys);..........return.array_r
5a0e0 65 64 75 63 65 28 72 61 6e 67 65 28 24 6d 69 6e 2c 20 24 6d 61 78 29 2c 20 66 75 6e 63 74 69 6f educe(range($min,.$max),.functio
5a100 6e 20 28 24 63 61 72 72 79 2c 20 24 69 74 65 6d 29 20 75 73 65 20 28 24 72 6f 77 29 20 7b 0a 20 n.($carry,.$item).use.($row).{..
5a120 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 61 72 72 79 20 2e 3d 20 24 74 68 69 ...........return.$carry..=.$thi
5a140 73 2d 3e 74 6f 42 72 61 69 6c 6c 65 28 69 73 73 65 74 28 24 72 6f 77 5b 24 69 74 65 6d 5d 29 20 s->toBraille(isset($row[$item]).
5a160 3f 20 24 72 6f 77 5b 24 69 74 65 6d 5d 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 2c 20 27 ?.$row[$item].:.0);.........},.'
5a180 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 61 ');.....}....../**......*.Gets.a
5a1a0 6c 6c 20 6c 69 6e 65 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 ll.lines......*......*.@param.ar
5a1c0 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 ray.$options.options......*.....
5a1e0 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 6c 69 6e 65 0a 20 20 20 20 20 2a 2f 0a 20 20 .*.@return.array.line......*/...
5a200 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 6f 77 73 28 61 72 72 61 79 20 24 6f 70 ..public.function.rows(array.$op
5a220 74 69 6f 6e 73 20 3d 20 5b 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 21 69 73 73 65 74 28 tions.=.[]).{.........if(!isset(
5a240 24 6f 70 74 69 6f 6e 73 5b 27 6d 69 6e 5f 79 27 5d 29 20 7c 7c 20 21 69 73 73 65 74 28 24 6f 70 $options['min_y']).||.!isset($op
5a260 74 69 6f 6e 73 5b 27 6d 61 78 5f 79 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 tions['max_y'])).{.............i
5a280 66 28 21 28 24 6b 65 79 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 63 68 f(!($keys.=.array_keys($this->ch
5a2a0 61 72 73 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ars))).{.................return.
5a2c0 5b 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 [];.............}.........}.....
5a2e0 20 20 20 20 20 24 6d 69 6e 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6d 69 6e 5f .....$min.=.isset($options['min_
5a300 79 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6d 69 6e 5f 79 27 5d 20 3a 20 6d 69 6e 28 24 y']).?.$options['min_y'].:.min($
5a320 6b 65 79 73 29 3b 0a 20 20 20 20 20 20 20 20 24 6d 61 78 20 3d 20 69 73 73 65 74 28 24 6f 70 74 keys);.........$max.=.isset($opt
5a340 69 6f 6e 73 5b 27 6d 61 78 5f 79 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6d 61 78 5f 79 ions['max_y']).?.$options['max_y
5a360 27 5d 20 3a 20 6d 61 78 28 24 6b 65 79 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 28 21 69 73 '].:.max($keys);..........if(!is
5a380 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6d 69 6e 5f 78 27 5d 29 20 7c 7c 20 21 69 73 73 65 74 set($options['min_x']).||.!isset
5a3a0 28 24 6f 70 74 69 6f 6e 73 5b 27 6d 61 78 5f 78 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ($options['max_x'])).{..........
5a3c0 20 20 20 24 66 6c 61 74 74 65 6e 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 ...$flattened.=.array();........
5a3e0 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 74 68 69 73 2d 3e 63 68 61 72 73 20 61 73 20 24 6b 65 .....foreach($this->chars.as.$ke
5a400 79 20 3d 3e 20 24 63 68 61 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 y.=>.$char).{.................$f
5a420 6c 61 74 74 65 6e 65 64 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 66 6c 61 74 74 65 6e 65 lattened.=.array_merge($flattene
5a440 64 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 63 68 61 72 29 29 3b 0a 20 20 20 20 20 20 20 20 20 d,.array_keys($char));..........
5a460 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 ...}.........}..........$options
5a480 5b 27 6d 69 6e 5f 78 27 5d 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6d 69 6e 5f ['min_x'].=.isset($options['min_
5a4a0 78 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6d 69 6e 5f 78 27 5d 20 3a 20 6d 69 6e 28 24 x']).?.$options['min_x'].:.min($
5a4c0 66 6c 61 74 74 65 6e 65 64 29 3b 0a 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 5b 27 6d 61 flattened);.........$options['ma
5a4e0 78 5f 78 27 5d 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6d 61 78 5f 78 27 5d 29 x_x'].=.isset($options['max_x'])
5a500 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6d 61 78 5f 78 27 5d 20 3a 20 6d 61 78 28 24 66 6c 61 74 .?.$options['max_x'].:.max($flat
5a520 74 65 6e 65 64 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 61 tened);..........return.array_ma
5a540 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 69 29 20 75 73 65 20 28 24 6f 70 74 69 6f 6e 73 29 20 7b p(function.($i).use.($options).{
5a560 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 77 28 24 .............return.$this->row($
5a580 69 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 2c 20 72 61 6e 67 65 28 24 i,.$options);.........},.range($
5a5a0 6d 69 6e 2c 20 24 6d 61 78 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 min,.$max));.....}....../**.....
5a5c0 20 2a 20 47 65 74 73 20 61 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 .*.Gets.a.string.representation.
5a5e0 6f 66 20 74 68 65 20 63 61 6e 76 61 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 of.the.canvas......*......*.@par
5a600 61 6d 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a am.array.$options.options......*
5a620 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 ......*.@return.string.represent
5a640 61 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ation......*/.....public.functio
5a660 6e 20 66 72 61 6d 65 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 5b 5d 29 20 7b 0a 20 n.frame(array.$options.=.[]).{..
5a680 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6a 6f 69 6e 28 22 5c 6e 22 2c 20 24 74 68 69 73 2d 3e .......return.join("\n",.$this->
5a6a0 72 6f 77 73 28 24 6f 70 74 69 6f 6e 73 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a rows($options));.....}....../**.
5a6c0 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 63 61 6e 76 61 73 20 72 65 70 72 65 73 65 6e 74 .....*.Gets.the.canvas.represent
5a6e0 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 ation.......*......*.@return.arr
5a700 61 79 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 ay.characters......*/.....public
5a720 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 72 73 28 29 20 7b 0a 20 20 20 20 20 20 72 65 74 .function.getChars().{.......ret
5a740 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 72 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a urn.$this->chars;.....}....../**
5a760 0a 20 20 20 20 20 2a 20 47 65 74 73 20 61 20 62 72 61 69 6c 6c 65 20 75 6e 69 63 6f 64 65 20 63 ......*.Gets.a.braille.unicode.c
5a780 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e haracter......*......*.@param.in
5a7a0 74 65 67 65 72 20 24 63 6f 64 65 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 0a 20 20 20 20 20 teger.$code.character.code......
5a7c0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 62 72 61 69 6c 6c 65 0a *......*.@return.string.braille.
5a7e0 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 42 .....*/.....private.function.toB
5a800 72 61 69 6c 6c 65 28 24 63 6f 64 65 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 68 raille($code).{.........return.h
5a820 74 6d 6c 5f 65 6e 74 69 74 79 5f 64 65 63 6f 64 65 28 27 26 23 27 20 2e 20 28 73 65 6c 66 3a 3a tml_entity_decode('&#'...(self::
5a840 24 62 72 61 69 6c 6c 65 5f 63 68 61 72 5f 6f 66 66 73 65 74 20 2b 20 24 63 6f 64 65 29 20 2e 20 $braille_char_offset.+.$code)...
5a860 27 3b 27 2c 20 45 4e 54 5f 4e 4f 51 55 4f 54 45 53 2c 20 27 55 54 46 2d 38 27 29 3b 0a 20 20 20 ';',.ENT_NOQUOTES,.'UTF-8');....
5a880 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 61 20 64 6f 74 20 66 72 .}....../**......*.Gets.a.dot.fr
5a8a0 6f 6d 20 74 68 65 20 70 69 78 65 6c 20 6d 61 70 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 om.the.pixel.map.......*......*.
5a8c0 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 78 20 78 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 @param.integer.$x.x.position....
5a8e0 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 79 20 79 20 70 6f 73 69 74 69 6f 6e ..*.@param.integer.$y.y.position
5a900 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 65 67 65 72 20 64 ......*......*.@return.integer.d
5a920 6f 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ot......*/.....private.function.
5a940 67 65 74 44 6f 74 46 72 6f 6d 4d 61 70 28 24 78 2c 20 24 79 29 20 7b 0a 20 20 20 20 20 20 20 20 getDotFromMap($x,.$y).{.........
5a960 24 79 20 3d 20 24 79 20 25 20 34 3b 0a 20 20 20 20 20 20 20 20 24 78 20 3d 20 24 78 20 25 20 32 $y.=.$y.%.4;.........$x.=.$x.%.2
5a980 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 70 69 78 65 6c 5f 6d ;..........return.self::$pixel_m
5a9a0 61 70 5b 24 79 20 3c 20 30 20 3f 20 34 20 2b 20 24 79 20 3a 20 24 79 5d 5b 24 78 20 3c 20 30 20 ap[$y.<.0.?.4.+.$y.:.$y][$x.<.0.
5a9c0 3f 20 32 20 2b 20 24 78 20 3a 20 24 78 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 ?.2.+.$x.:.$x];.....}....../**..
5a9e0 20 20 20 20 2a 20 41 75 74 6f 76 69 76 69 66 69 63 61 74 69 6f 6e 20 66 6f 72 20 61 20 63 61 6e ....*.Autovivification.for.a.can
5aa00 76 61 73 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 vas.position.......*......*.@par
5aa20 61 6d 20 69 6e 74 65 67 65 72 20 24 78 20 78 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 20 am.integer.$x.x.position......*.
5aa40 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 79 20 79 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 @param.integer.$y.y.position....
5aa60 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f ..*......*.@return.array......*/
5aa80 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6d 65 28 24 78 2c 20 .....private.function.prime($x,.
5aaa0 24 79 29 20 7b 0a 20 20 20 20 20 20 20 20 24 78 20 3d 20 72 6f 75 6e 64 28 24 78 29 3b 0a 20 20 $y).{.........$x.=.round($x);...
5aac0 20 20 20 20 20 20 24 79 20 3d 20 72 6f 75 6e 64 28 24 79 29 3b 0a 20 20 20 20 20 20 20 20 24 70 ......$y.=.round($y);.........$p
5aae0 78 20 3d 20 66 6c 6f 6f 72 28 24 78 20 2f 20 32 29 3b 0a 20 20 20 20 20 20 20 20 24 70 79 20 3d x.=.floor($x./.2);.........$py.=
5ab00 20 66 6c 6f 6f 72 28 24 79 20 2f 20 34 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 28 21 69 73 73 .floor($y./.4);..........if(!iss
5ab20 65 74 28 24 74 68 69 73 2d 3e 63 68 61 72 73 5b 24 70 79 5d 5b 24 70 78 5d 29 29 20 7b 0a 20 20 et($this->chars[$py][$px])).{...
5ab40 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 68 61 72 73 5b 24 70 79 5d 5b 24 70 78 5d ..........$this->chars[$py][$px]
5ab60 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 .=.0;.........}..........return.
5ab80 5b 24 78 2c 20 24 79 2c 20 24 70 78 2c 20 24 70 79 2c 20 24 74 68 69 73 2d 3e 63 68 61 72 73 5b [$x,.$y,.$px,.$py,.$this->chars[
5aba0 24 70 79 5d 5b 24 70 78 5d 5d 3b 0a 20 20 20 20 7d 0a 7d 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 $py][$px]];.....}.}<?php../*..*.
5abc0 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 70 68 70 2d 64 72 61 77 69 6c 6c This.file.is.part.of.php-drawill
5abe0 65 0a 20 2a 0a 20 2a 20 28 63 29 20 4a 65 66 66 20 57 65 6c 63 68 20 3c 77 68 61 74 74 68 65 6a e..*..*.(c).Jeff.Welch.<whatthej
5ac00 65 66 66 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c eff@gmail.com>..*..*.For.the.ful
5ac20 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 l.copyright.and.license.informat
5ac40 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 ion,.please.view.the.LICENSE..*.
5ac60 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 file.that.was.distributed.with.t
5ac80 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 his.source.code...*/..namespace.
5aca0 44 72 61 77 69 6c 6c 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 42 61 73 69 63 20 74 75 72 74 6c 65 20 67 Drawille;../**..*.Basic.turtle.g
5acc0 72 61 70 68 69 63 73 20 69 6e 74 65 72 66 61 63 65 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 raphics.interface..*..*.@author.
5ace0 4a 65 66 66 20 57 65 6c 63 68 20 3c 77 68 61 74 74 68 65 6a 65 66 66 40 67 6d 61 69 6c 2e 63 6f Jeff.Welch.<whatthejeff@gmail.co
5ad00 6d 3e 0a 20 2a 20 40 73 65 65 20 20 20 20 68 74 74 70 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 m>..*.@see....http://en.wikipedi
5ad20 61 2e 6f 72 67 2f 77 69 6b 69 2f 54 75 72 74 6c 65 5f 67 72 61 70 68 69 63 73 0a 20 2a 2f 0a 63 a.org/wiki/Turtle_graphics..*/.c
5ad40 6c 61 73 73 20 54 75 72 74 6c 65 20 65 78 74 65 6e 64 73 20 43 61 6e 76 61 73 0a 7b 0a 20 20 20 lass.Turtle.extends.Canvas.{....
5ad60 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 75 72 72 65 6e 74 20 78 20 70 6f 73 69 74 69 6f 6e 0a 20 ./**......*.Current.x.position..
5ad80 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 69 6e 74 65 67 65 72 0a 20 20 20 20 20 2a ....*......*.@var.integer......*
5ada0 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 78 20 3d 20 30 3b 0a 20 20 20 20 2f 2a 2a 0a 20 20 /.....private.$x.=.0;...../**...
5adc0 20 20 20 2a 20 43 75 72 72 65 6e 74 20 79 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 ...*.Current.y.position......*..
5ade0 20 20 20 20 2a 20 40 76 61 72 20 69 6e 74 65 67 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ....*.@var.integer......*/.....p
5ae00 72 69 76 61 74 65 20 24 79 20 3d 20 30 3b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 75 rivate.$y.=.0;...../**......*.Cu
5ae20 72 72 65 6e 74 20 63 61 6e 76 61 73 20 72 6f 74 61 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 rrent.canvas.rotation......*....
5ae40 20 20 2a 20 40 76 61 72 20 69 6e 74 65 67 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 ..*.@var.integer......*/.....pri
5ae60 76 61 74 65 20 24 72 6f 74 61 74 69 6f 6e 20 3d 20 30 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 vate.$rotation.=.0;....../**....
5ae80 20 20 2a 20 49 66 20 74 68 65 20 70 65 6e 20 69 73 20 75 70 0a 20 20 20 20 20 2a 0a 20 20 20 20 ..*.If.the.pen.is.up......*.....
5aea0 20 2a 20 40 76 61 72 20 62 6f 6f 6c 65 61 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 .*.@var.boolean......*/.....priv
5aec0 61 74 65 20 24 75 70 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a ate.$up.=.false;....../**......*
5aee0 20 43 6f 6e 73 74 72 75 63 74 6f 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 .Constructor......*......*.@para
5af00 6d 20 69 6e 74 20 24 79 20 73 74 61 72 74 69 6e 67 20 78 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 m.int.$y.starting.x.position....
5af20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 79 20 73 74 61 72 74 69 6e 67 20 79 20 70 6f 73 ..*.@param.int.$y.starting.y.pos
5af40 69 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ition......*/.....public.functio
5af60 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 78 20 3d 20 30 2c 20 24 79 20 3d 20 30 29 20 7b 0a n.__construct($x.=.0,.$y.=.0).{.
5af80 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 0a ........parent::__construct();..
5afa0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 78 20 3d 20 24 78 3b 0a 20 20 20 20 20 20 20 20 24 ........$this->x.=.$x;.........$
5afc0 74 68 69 73 2d 3e 79 20 3d 20 24 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 this->y.=.$y;.....}....../**....
5afe0 20 20 2a 20 47 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 78 20 70 6f 73 69 74 69 6f 6e 2e ..*.Gets.the.current.x.position.
5b000 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 65 67 65 72 20 78 ......*......*.@return.integer.x
5b020 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e .position......*/.....public.fun
5b040 63 74 69 6f 6e 20 67 65 74 58 28 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 ction.getX().{.........return.$t
5b060 68 69 73 2d 3e 78 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 his->x;.....}....../**......*.Ge
5b080 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 79 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 ts.the.current.y.position.......
5b0a0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 65 67 65 72 20 79 20 70 6f 73 69 74 *......*.@return.integer.y.posit
5b0c0 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ion......*/.....public.function.
5b0e0 67 65 74 59 28 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 79 getY().{.........return.$this->y
5b100 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 ;.....}....../**......*.Gets.the
5b120 20 63 75 72 72 65 6e 74 20 63 61 6e 76 61 73 20 72 6f 74 61 74 69 6f 6e 0a 20 20 20 20 20 2a 0a .current.canvas.rotation......*.
5b140 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 65 67 65 72 20 63 75 72 72 65 6e 74 20 63 .....*.@return.integer.current.c
5b160 61 6e 76 61 73 20 72 6f 74 61 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 anvas.rotation......*/.....publi
5b180 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 74 61 74 69 6f 6e 28 29 20 7b 0a 20 20 20 20 20 c.function.getRotation().{......
5b1a0 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 74 61 74 69 6f 6e 3b 0a 20 20 20 20 7d ...return.$this->rotation;.....}
5b1c0 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 75 73 68 20 74 68 65 20 70 65 6e 20 64 6f ....../**......*.Push.the.pen.do
5b1e0 77 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 wn......*/.....public.function.d
5b200 6f 77 6e 28 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 70 20 3d 20 66 61 6c 73 own().{.........$this->up.=.fals
5b220 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 75 6c 6c 20 74 68 e;.....}....../**......*.Pull.th
5b240 65 20 70 65 6e 20 75 70 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 e.pen.up......*/.....public.func
5b260 74 69 6f 6e 20 75 70 28 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 70 20 3d 20 tion.up().{.........$this->up.=.
5b280 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f 76 65 true;.....}....../**......*.Move
5b2a0 20 74 68 65 20 70 65 6e 20 66 6f 72 77 61 72 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 .the.pen.forward......*......*.@
5b2c0 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 6c 65 6e 67 74 68 20 64 69 73 74 61 6e 63 65 20 74 param.integer.$length.distance.t
5b2e0 6f 20 6d 6f 76 65 20 66 6f 72 77 61 72 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 o.move.forward......*/.....publi
5b300 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 77 61 72 64 28 24 6c 65 6e 67 74 68 29 20 7b 0a 20 20 c.function.forward($length).{...
5b320 20 20 20 20 20 20 24 74 68 65 74 61 20 3d 20 24 74 68 69 73 2d 3e 72 6f 74 61 74 69 6f 6e 20 2f ......$theta.=.$this->rotation./
5b340 20 31 38 30 2e 30 20 2a 20 4d 5f 50 49 3b 0a 20 20 20 20 20 20 20 20 24 78 20 20 20 20 20 3d 20 .180.0.*.M_PI;.........$x.....=.
5b360 24 74 68 69 73 2d 3e 78 20 2b 20 24 6c 65 6e 67 74 68 20 2a 20 63 6f 73 28 24 74 68 65 74 61 29 $this->x.+.$length.*.cos($theta)
5b380 3b 0a 20 20 20 20 20 20 20 20 24 79 20 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 79 20 2b 20 24 6c ;.........$y.....=.$this->y.+.$l
5b3a0 65 6e 67 74 68 20 2a 20 73 69 6e 28 24 74 68 65 74 61 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 ength.*.sin($theta);..........$t
5b3c0 68 69 73 2d 3e 6d 6f 76 65 28 24 78 2c 20 24 79 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a his->move($x,.$y);.....}....../*
5b3e0 2a 0a 20 20 20 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 70 65 6e 20 62 61 63 6b 77 61 72 64 73 0a *......*.Move.the.pen.backwards.
5b400 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 6c 65 .....*......*.@param.integer.$le
5b420 6e 67 74 68 20 64 69 73 74 61 6e 63 65 20 74 6f 20 6d 6f 76 65 20 62 61 63 6b 77 61 72 64 73 0a ngth.distance.to.move.backwards.
5b440 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 61 63 6b .....*/.....public.function.back
5b460 28 24 6c 65 6e 67 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 77 61 ($length).{.........$this->forwa
5b480 72 64 28 2d 24 6c 65 6e 67 74 68 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 rd(-$length);.....}....../**....
5b4a0 20 20 2a 20 41 6e 67 6c 65 20 74 68 65 20 63 61 6e 76 61 73 20 74 6f 20 74 68 65 20 72 69 67 68 ..*.Angle.the.canvas.to.the.righ
5b4c0 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 t.......*......*.@param.integer.
5b4e0 24 61 6e 67 6c 65 20 64 65 67 72 65 65 20 74 6f 20 61 6e 67 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 $angle.degree.to.angle......*/..
5b500 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 69 67 68 74 28 24 61 6e 67 6c 65 29 ...public.function.right($angle)
5b520 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 6f 74 61 74 69 6f 6e 20 2b 3d 20 24 61 .{.........$this->rotation.+=.$a
5b540 6e 67 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 6e 67 6c ngle;.....}....../**......*.Angl
5b560 65 20 74 68 65 20 63 61 6e 76 61 73 20 74 6f 20 74 68 65 20 6c 65 66 74 2e 0a 20 20 20 20 20 2a e.the.canvas.to.the.left.......*
5b580 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 61 6e 67 6c 65 20 64 65 ......*.@param.integer.$angle.de
5b5a0 67 72 65 65 20 74 6f 20 61 6e 67 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 gree.to.angle......*/.....public
5b5c0 20 66 75 6e 63 74 69 6f 6e 20 6c 65 66 74 28 24 61 6e 67 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 .function.left($angle).{........
5b5e0 20 24 74 68 69 73 2d 3e 72 6f 74 61 74 69 6f 6e 20 2d 3d 20 24 61 6e 67 6c 65 3b 0a 20 20 20 20 .$this->rotation.-=.$angle;.....
5b600 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 70 65 6e 2c 20 }....../**......*.Move.the.pen,.
5b620 64 72 61 77 69 6e 67 20 69 66 20 74 68 65 20 70 65 6e 20 69 73 20 64 6f 77 6e 2e 0a 20 20 20 20 drawing.if.the.pen.is.down......
5b640 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 79 20 6e 65 77 20 78 20 70 6f .*......*.@param.int.$y.new.x.po
5b660 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 79 20 6e 65 77 20 sition......*.@param.int.$y.new.
5b680 79 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 y.position......*/.....public.fu
5b6a0 6e 63 74 69 6f 6e 20 6d 6f 76 65 28 24 78 2c 20 24 79 29 20 7b 0a 20 20 20 20 20 20 69 66 28 21 nction.move($x,.$y).{.......if(!
5b6c0 24 74 68 69 73 2d 3e 75 70 29 20 7b 0a 20 20 20 20 20 20 20 20 24 78 31 20 3d 20 72 6f 75 6e 64 $this->up).{.........$x1.=.round
5b6e0 28 24 74 68 69 73 2d 3e 78 29 3b 0a 20 20 20 20 20 20 20 20 24 79 31 20 3d 20 72 6f 75 6e 64 28 ($this->x);.........$y1.=.round(
5b700 24 74 68 69 73 2d 3e 79 29 3b 0a 20 20 20 20 20 20 20 20 24 78 32 20 3d 20 24 78 3b 0a 20 20 20 $this->y);.........$x2.=.$x;....
5b720 20 20 20 20 20 24 79 32 20 3d 20 24 79 3b 0a 0a 20 20 20 20 20 20 20 20 24 78 64 69 66 66 20 3d .....$y2.=.$y;..........$xdiff.=
5b740 20 6d 61 78 28 24 78 31 2c 20 24 78 32 29 20 2d 20 6d 69 6e 28 24 78 31 2c 20 24 78 32 29 3b 0a .max($x1,.$x2).-.min($x1,.$x2);.
5b760 20 20 20 20 20 20 20 20 24 79 64 69 66 66 20 3d 20 6d 61 78 28 24 79 31 2c 20 24 79 32 29 20 2d ........$ydiff.=.max($y1,.$y2).-
5b780 20 6d 69 6e 28 24 79 31 2c 20 24 79 32 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 78 64 69 72 20 3d .min($y1,.$y2);..........$xdir.=
5b7a0 20 24 78 31 20 3c 3d 20 24 78 32 20 3f 20 31 20 3a 20 2d 31 3b 0a 20 20 20 20 20 20 20 20 24 79 .$x1.<=.$x2.?.1.:.-1;.........$y
5b7c0 64 69 72 20 3d 20 24 79 31 20 3c 3d 20 24 79 32 20 3f 20 31 20 3a 20 2d 31 3b 0a 0a 20 20 20 20 dir.=.$y1.<=.$y2.?.1.:.-1;......
5b7e0 20 20 20 20 24 72 20 3d 20 6d 61 78 28 24 78 64 69 66 66 2c 20 24 79 64 69 66 66 29 3b 0a 0a 20 ....$r.=.max($xdiff,.$ydiff);...
5b800 20 20 20 20 20 20 20 66 6f 72 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 3d 20 24 72 3b 20 24 69 2b .......for($i.=.0;.$i.<=.$r;.$i+
5b820 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 78 20 3d 20 24 78 31 3b 0a 20 20 20 20 20 +).{.............$x.=.$x1;......
5b840 20 20 20 20 20 20 20 24 79 20 3d 20 24 79 31 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 .......$y.=.$y1;..............if
5b860 20 28 24 79 64 69 66 66 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .($ydiff.>.0).{.................
5b880 24 79 20 2b 3d 20 28 28 66 6c 6f 61 74 29 24 69 2a 24 79 64 69 66 66 29 2f 24 72 2a 24 79 64 69 $y.+=.((float)$i*$ydiff)/$r*$ydi
5b8a0 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 r;.............}..............if
5b8c0 28 24 78 64 69 66 66 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 ($xdiff.>.0).{.................$
5b8e0 78 20 2b 3d 20 28 28 66 6c 6f 61 74 29 24 69 2a 24 78 64 69 66 66 29 2f 24 72 2a 24 78 64 69 72 x.+=.((float)$i*$xdiff)/$r*$xdir
5b900 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 ;.............}..............$th
5b920 69 73 2d 3e 73 65 74 28 24 78 2c 20 24 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 is->set($x,.$y);.........}......
5b940 20 7d 0a 0a 20 20 20 20 20 20 24 74 68 69 73 2d 3e 78 20 3d 20 24 78 3b 0a 20 20 20 20 20 20 24 .}........$this->x.=.$x;.......$
5b960 74 68 69 73 2d 3e 79 20 3d 20 24 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 this->y.=.$y;.....}....../**....
5b980 20 20 2a 20 50 75 6c 6c 20 74 68 65 20 70 65 6e 20 75 70 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ..*.Pull.the.pen.up......*/.....
5b9a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 75 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 public.function.pu().{..........
5b9c0 24 74 68 69 73 2d 3e 75 70 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 $this->up();.....}....../**.....
5b9e0 20 2a 20 50 75 73 68 20 74 68 65 20 70 65 6e 20 75 70 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 .*.Push.the.pen.up......*/.....p
5ba00 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 64 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 24 ublic.function.pd().{..........$
5ba20 74 68 69 73 2d 3e 64 6f 77 6e 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 this->down();.....}....../**....
5ba40 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 70 65 6e 20 66 6f 72 77 61 72 64 0a 20 20 20 20 20 2a 0a ..*.Move.the.pen.forward......*.
5ba60 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 6c 65 6e 67 74 68 20 64 69 .....*.@param.integer.$length.di
5ba80 73 74 61 6e 63 65 20 74 6f 20 6d 6f 76 65 20 66 6f 72 77 61 72 64 0a 20 20 20 20 20 2a 2f 0a 20 stance.to.move.forward......*/..
5baa0 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 64 28 24 6c 65 6e 67 74 68 29 20 7b ...public.function.fd($length).{
5bac0 0a 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 77 61 72 64 28 24 6c 65 6e 67 74 68 ..........$this->forward($length
5bae0 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f 76 65 20 74 68 );.....}....../**......*.Move.th
5bb00 65 20 70 65 6e 2c 20 64 72 61 77 69 6e 67 20 69 66 20 74 68 65 20 70 65 6e 20 69 73 20 64 6f 77 e.pen,.drawing.if.the.pen.is.dow
5bb20 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 79 20 6e n.......*......*.@param.int.$y.n
5bb40 65 77 20 78 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 ew.x.position......*.@param.int.
5bb60 24 79 20 6e 65 77 20 79 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 $y.new.y.position......*/.....pu
5bb80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 76 28 24 78 2c 20 24 79 29 20 7b 0a 20 20 20 20 20 blic.function.mv($x,.$y).{......
5bba0 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 76 65 28 24 78 2c 20 24 79 29 3b 0a 20 20 20 20 7d 0a 0a ....$this->move($x,.$y);.....}..
5bbc0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 6e 67 6c 65 20 74 68 65 20 63 61 6e 76 61 73 20 ..../**......*.Angle.the.canvas.
5bbe0 74 6f 20 74 68 65 20 72 69 67 68 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 to.the.right.......*......*.@par
5bc00 61 6d 20 69 6e 74 65 67 65 72 20 24 61 6e 67 6c 65 20 64 65 67 72 65 65 20 74 6f 20 61 6e 67 6c am.integer.$angle.degree.to.angl
5bc20 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 74 e......*/.....public.function.rt
5bc40 28 24 61 6e 67 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 69 67 68 74 ($angle).{..........$this->right
5bc60 28 24 61 6e 67 6c 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 ($angle);.....}....../**......*.
5bc80 41 6e 67 6c 65 20 74 68 65 20 63 61 6e 76 61 73 20 74 6f 20 74 68 65 20 6c 65 66 74 2e 0a 20 20 Angle.the.canvas.to.the.left....
5bca0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 65 72 20 24 61 6e 67 6c ...*......*.@param.integer.$angl
5bcc0 65 20 64 65 67 72 65 65 20 74 6f 20 61 6e 67 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 e.degree.to.angle......*/.....pu
5bce0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 74 28 24 61 6e 67 6c 65 29 20 7b 0a 20 20 20 20 20 blic.function.lt($angle).{......
5bd00 20 20 20 20 24 74 68 69 73 2d 3e 6c 65 66 74 28 24 61 6e 67 6c 65 29 3b 0a 20 20 20 20 7d 0a 0a ....$this->left($angle);.....}..
5bd20 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 6f 76 65 20 74 68 65 20 70 65 6e 20 62 61 63 6b ..../**......*.Move.the.pen.back
5bd40 77 61 72 64 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 65 67 wards......*......*.@param.integ
5bd60 65 72 20 24 6c 65 6e 67 74 68 20 64 69 73 74 61 6e 63 65 20 74 6f 20 6d 6f 76 65 20 62 61 63 6b er.$length.distance.to.move.back
5bd80 77 61 72 64 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f wards......*/.....public.functio
5bda0 6e 20 62 6b 28 24 6c 65 6e 67 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e n.bk($length).{..........$this->
5bdc0 62 61 63 6b 28 24 6c 65 6e 67 74 68 29 3b 0a 20 20 20 20 7d 0a 7d 3c 3f 70 68 70 0a 0a 2f 2a 0a back($length);.....}.}<?php../*.
5bde0 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 70 68 70 2d 64 72 61 77 .*.This.file.is.part.of.php-draw
5be00 69 6c 6c 65 0a 20 2a 0a 20 2a 20 28 63 29 20 4a 65 66 66 20 57 65 6c 63 68 20 3c 77 68 61 74 74 ille..*..*.(c).Jeff.Welch.<whatt
5be20 68 65 6a 65 66 66 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 hejeff@gmail.com>..*..*.For.the.
5be40 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 full.copyright.and.license.infor
5be60 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a mation,.please.view.the.LICENSE.
5be80 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 .*.file.that.was.distributed.wit
5bea0 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 h.this.source.code...*/..namespa
5bec0 63 65 20 44 72 61 77 69 6c 6c 65 3b 0a 0a 63 6c 61 73 73 20 43 61 6e 76 61 73 54 65 73 74 20 65 ce.Drawille;..class.CanvasTest.e
5bee0 78 74 65 6e 64 73 20 5c 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 54 65 73 74 43 61 xtends.\PHPUnit_Framework_TestCa
5bf00 73 65 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 61 6e 76 61 73 3b 0a 0a 20 20 20 20 70 se.{.....private.$canvas;......p
5bf20 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 70 28 29 20 7b 0a 20 20 20 20 rotected.function.setUp().{.....
5bf40 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 20 3d 20 6e 65 77 20 43 61 6e 76 61 73 28 29 ....$this->canvas.=.new.Canvas()
5bf60 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 ;.....}......public.function.tes
5bf80 74 53 65 74 28 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e tSet().{.........$this->canvas->
5bfa0 73 65 74 28 30 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 set(0,.0);.........$this->assert
5bfc0 45 71 75 61 6c 73 28 5b 5b 31 5d 5d 2c 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 67 65 74 Equals([[1]],.$this->canvas->get
5bfe0 43 68 61 72 73 28 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 Chars());.....}....../**......*.
5c000 40 64 65 70 65 6e 64 73 20 74 65 73 74 53 65 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 @depends.testSet......*/.....pub
5c020 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 52 65 73 65 74 28 29 20 7b 0a 20 20 20 20 20 lic.function.testReset().{......
5c040 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 73 65 74 28 30 2c 20 30 29 3b 0a 20 20 20 ...$this->canvas->set(0,.0);....
5c060 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 72 65 73 65 74 28 30 2c 20 30 29 3b .....$this->canvas->reset(0,.0);
5c080 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 5b 5b 30 .........$this->assertEquals([[0
5c0a0 5d 5d 2c 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 67 65 74 43 68 61 72 73 28 29 29 3b 0a ]],.$this->canvas->getChars());.
5c0c0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 64 65 70 65 6e 64 73 20 74 ....}....../**......*.@depends.t
5c0e0 65 73 74 53 65 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 estSet......*/.....public.functi
5c100 6f 6e 20 74 65 73 74 43 6c 65 61 72 28 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e on.testClear().{.........$this->
5c120 63 61 6e 76 61 73 2d 3e 73 65 74 28 30 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 canvas->set(0,.0);.........$this
5c140 2d 3e 63 61 6e 76 61 73 2d 3e 63 6c 65 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 ->canvas->clear();.........$this
5c160 2d 3e 61 73 73 65 72 74 45 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 67 65 74 ->assertEmpty($this->canvas->get
5c180 43 68 61 72 73 28 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 Chars());.....}......public.func
5c1a0 74 69 6f 6e 20 74 65 73 74 54 6f 67 67 6c 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 tion.testToggle().{.........$thi
5c1c0 73 2d 3e 63 61 6e 76 61 73 2d 3e 74 6f 67 67 6c 65 28 30 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 s->canvas->toggle(0,.0);........
5c1e0 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 5b 5b 31 5d 5d 2c 20 24 74 68 69 .$this->assertEquals([[1]],.$thi
5c200 73 2d 3e 63 61 6e 76 61 73 2d 3e 67 65 74 43 68 61 72 73 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 s->canvas->getChars());.........
5c220 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 74 6f 67 67 6c 65 28 30 2c 20 30 29 3b 0a 20 20 .$this->canvas->toggle(0,.0);...
5c240 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 5b 5b 30 5d 5d 2c ......$this->assertEquals([[0]],
5c260 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 67 65 74 43 68 61 72 73 28 29 29 3b 0a 20 20 20 .$this->canvas->getChars());....
5c280 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 64 65 70 65 6e 64 73 20 74 65 73 74 .}....../**......*.@depends.test
5c2a0 53 65 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 Set......*/.....public.function.
5c2c0 74 65 73 74 46 72 61 6d 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 testFrame().{.........$this->ass
5c2e0 65 72 74 45 71 75 61 6c 73 28 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 66 72 61 6d 65 28 29 ertEquals($this->canvas->frame()
5c300 2c 20 27 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 73 ,.'');..........$this->canvas->s
5c320 65 74 28 30 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 et(0,.0);.........$this->assertE
5c340 71 75 61 6c 73 28 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 66 72 61 6d 65 28 29 2c 20 27 e2 quals($this->canvas->frame(),.'.
5c360 a0 81 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 64 65 70 ..');.....}....../**......*.@dep
5c380 65 6e 64 73 20 74 65 73 74 53 65 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 ends.testSet......*/.....public.
5c3a0 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 47 65 74 28 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 function.testGet().{.........$th
5c3c0 69 73 2d 3e 61 73 73 65 72 74 46 61 6c 73 65 28 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 67 is->assertFalse($this->canvas->g
5c3e0 65 74 28 30 2c 20 30 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 et(0,.0));.........$this->canvas
5c400 2d 3e 73 65 74 28 30 2c 20 30 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 ->set(0,.0);..........$this->ass
5c420 65 72 74 54 72 75 65 28 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 67 65 74 28 30 2c 20 30 29 ertTrue($this->canvas->get(0,.0)
5c440 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 46 61 6c 73 65 28 24 74 );.........$this->assertFalse($t
5c460 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 67 65 74 28 31 2c 20 30 29 29 3b 0a 20 20 20 20 20 20 20 his->canvas->get(1,.0));........
5c480 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 46 61 6c 73 65 28 24 74 68 69 73 2d 3e 63 61 6e 76 61 .$this->assertFalse($this->canva
5c4a0 73 2d 3e 67 65 74 28 30 2c 20 31 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 s->get(0,.1));.........$this->as
5c4c0 73 65 72 74 46 61 6c 73 65 28 24 74 68 69 73 2d 3e 63 61 6e 76 61 73 2d 3e 67 65 74 28 31 2c 20 sertFalse($this->canvas->get(1,.
5c4e0 31 29 29 3b 0a 20 20 20 20 7d 0a 7d 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 1));.....}.}<?php../*..*.This.fi
5c500 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 70 68 70 2d 64 72 61 77 69 6c 6c 65 0a 20 2a 0a 20 2a le.is.part.of.php-drawille..*..*
5c520 20 28 63 29 20 4a 65 66 66 20 57 65 6c 63 68 20 3c 77 68 61 74 74 68 65 6a 65 66 66 40 67 6d 61 .(c).Jeff.Welch.<whatthejeff@gma
5c540 69 6c 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 il.com>..*..*.For.the.full.copyr
5c560 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c ight.and.license.information,.pl
5c580 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 ease.view.the.LICENSE..*.file.th
5c5a0 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 at.was.distributed.with.this.sou
5c5c0 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 44 72 61 77 69 6c 6c rce.code...*/..namespace.Drawill
5c5e0 65 3b 0a 0a 63 6c 61 73 73 20 54 75 72 74 6c 65 54 65 73 74 20 65 78 74 65 6e 64 73 20 5c 50 48 e;..class.TurtleTest.extends.\PH
5c600 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 54 65 73 74 43 61 73 65 0a 7b 0a 20 20 20 20 70 PUnit_Framework_TestCase.{.....p
5c620 72 69 76 61 74 65 20 24 74 75 72 74 6c 65 3b 0a 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 rivate.$turtle;......protected.f
5c640 75 6e 63 74 69 6f 6e 20 73 65 74 55 70 28 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d unction.setUp().{.........$this-
5c660 3e 74 75 72 74 6c 65 20 3d 20 6e 65 77 20 54 75 72 74 6c 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 >turtle.=.new.Turtle();.....}...
5c680 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 50 6f 73 69 74 69 6f 6e 28 ...public.function.testPosition(
5c6a0 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 ).{.........$this->assertEquals(
5c6c0 30 2c 20 24 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 74 58 28 29 29 3b 0a 20 20 20 20 20 0,.$this->turtle->getX());......
5c6e0 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 30 2c 20 24 74 68 69 73 2d ...$this->assertEquals(0,.$this-
5c700 3e 74 75 72 74 6c 65 2d 3e 67 65 74 59 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 >turtle->getY());..........$this
5c720 2d 3e 74 75 72 74 6c 65 2d 3e 6d 6f 76 65 28 31 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 24 74 ->turtle->move(1,.2);.........$t
5c740 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 31 2c 20 24 74 68 69 73 2d 3e 74 75 72 74 his->assertEquals(1,.$this->turt
5c760 6c 65 2d 3e 67 65 74 58 28 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 le->getX());.........$this->asse
5c780 72 74 45 71 75 61 6c 73 28 32 2c 20 24 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 74 59 28 rtEquals(2,.$this->turtle->getY(
5c7a0 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 ));.....}......public.function.t
5c7c0 65 73 74 52 6f 74 61 74 69 6f 6e 28 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 estRotation().{.........$this->a
5c7e0 73 73 65 72 74 45 71 75 61 6c 73 28 30 2c 20 24 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 ssertEquals(0,.$this->turtle->ge
5c800 74 52 6f 74 61 74 69 6f 6e 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 75 tRotation());..........$this->tu
5c820 72 74 6c 65 2d 3e 72 69 67 68 74 28 33 30 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e rtle->right(30);.........$this->
5c840 61 73 73 65 72 74 45 71 75 61 6c 73 28 33 30 2c 20 24 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e assertEquals(30,.$this->turtle->
5c860 67 65 74 52 6f 74 61 74 69 6f 6e 28 29 29 3b 0a 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d getRotation());...........$this-
5c880 3e 74 75 72 74 6c 65 2d 3e 6c 65 66 74 28 33 30 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 >turtle->left(30);.........$this
5c8a0 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 30 2c 20 24 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d ->assertEquals(0,.$this->turtle-
5c8c0 3e 67 65 74 52 6f 74 61 74 69 6f 6e 28 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c >getRotation());.....}......publ
5c8e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 42 72 75 73 68 28 29 20 7b 0a 20 20 20 20 20 20 ic.function.testBrush().{.......
5c900 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 46 61 6c 73 65 28 24 74 68 69 73 2d 3e 74 75 72 74 ..$this->assertFalse($this->turt
5c920 6c 65 2d 3e 67 65 74 28 24 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 74 58 28 29 2c 20 24 le->get($this->turtle->getX(),.$
5c940 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 74 59 28 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 this->turtle->getY()));.........
5c960 20 24 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 66 6f 72 77 61 72 64 28 31 29 3b 0a 20 20 20 20 .$this->turtle->forward(1);.....
5c980 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 54 72 75 65 28 24 74 68 69 73 2d 3e 74 75 72 ....$this->assertTrue($this->tur
5c9a0 74 6c 65 2d 3e 67 65 74 28 30 2c 20 30 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e tle->get(0,.0));.........$this->
5c9c0 61 73 73 65 72 74 54 72 75 65 28 24 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 74 28 24 74 assertTrue($this->turtle->get($t
5c9e0 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 74 58 28 29 2c 20 24 74 68 69 73 2d 3e 74 75 72 74 his->turtle->getX(),.$this->turt
5ca00 6c 65 2d 3e 67 65 74 59 28 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 75 le->getY()));..........$this->tu
5ca20 72 74 6c 65 2d 3e 75 70 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 75 72 74 6c rtle->up();.........$this->turtl
5ca40 65 2d 3e 6d 6f 76 65 28 32 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 e->move(2,.0);.........$this->as
5ca60 73 65 72 74 46 61 6c 73 65 28 24 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 74 28 24 74 68 sertFalse($this->turtle->get($th
5ca80 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 74 58 28 29 2c 20 24 74 68 69 73 2d 3e 74 75 72 74 6c is->turtle->getX(),.$this->turtl
5caa0 65 2d 3e 67 65 74 59 28 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 75 72 e->getY()));..........$this->tur
5cac0 74 6c 65 2d 3e 64 6f 77 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 75 72 74 tle->down();.........$this->turt
5cae0 6c 65 2d 3e 6d 6f 76 65 28 33 2c 20 30 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 le->move(3,.0);.........$this->a
5cb00 73 73 65 72 74 54 72 75 65 28 24 74 68 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 74 28 24 74 68 ssertTrue($this->turtle->get($th
5cb20 69 73 2d 3e 74 75 72 74 6c 65 2d 3e 67 65 74 58 28 29 2c 20 24 74 68 69 73 2d 3e 74 75 72 74 6c is->turtle->getX(),.$this->turtl
5cb40 65 2d 3e 67 65 74 59 28 29 29 29 3b 0a 20 20 20 20 7d 0a 7d cf b2 e5 e2 21 96 cc 25 9e ab ec b3 e->getY()));.....}.}....!..%....
5cb60 50 5f c9 ff be 60 d1 84 02 00 00 00 47 42 4d 42 P_...`......GBMB