From a228fdf2b978f6865bd8d5c73bd0f43474a2d759 Mon Sep 17 00:00:00 2001 From: Nick Downing Date: Tue, 1 Dec 2015 02:39:30 +1100 Subject: [PATCH] 20030528 release --- bin/appinst.bat | 2 +- bin/appinst.bat% | 2 + bin/banked/grlogin | Bin 20399 -> 20510 bytes bin/banked/test | Bin 18569 -> 18569 bytes bin/checksum | Bin 128 -> 128 bytes bin/inittab.txt | 2 +- bin/inittab.txt% | 6 + bin/kernel.bin | Bin 81141 -> 81698 bytes bin/passwd.txt | 2 +- bin/passwd.txt% | 6 + bin/uzidisk.dat | Bin 4194304 -> 4194304 bytes relnotes/20030528.txt | 14 + src/gui/grlogin.i86 | 668 +++ src/gui/grlogin.map | 174 +- src/gui/login.lst | 369 ++ src/gui/login.rst | 369 ++ src/gui/login.s01 | 333 ++ src/gui/m.bat | 6 +- src/gui/t.bat | 6 +- src/gui/test.i86 | 597 +++ src/gui/test.lst | 69 + src/gui/test.map | 110 +- src/gui/test.rst | 69 + src/gui/test.s01 | 48 + src/gui/trans.lst | 1108 +++++ src/gui/trans.rst | 1108 +++++ src/gui/trans.s01 | 1034 +++++ src/gui/wnd.c | 3 +- src/gui/wnd.c.org | 1141 +++++ src/gui/wnd.lst | 5341 ++++++++++++++++++++++++ src/gui/wnd.rel | 1025 +++-- src/gui/wnd.rst | 5341 ++++++++++++++++++++++++ src/gui/wnd.s01 | 5077 ++++++++++++++++++++++ src/kernel/build.ban | 12 + src/kernel/build.ban% | 292 ++ src/kernel/kernel.lnk | 2 + src/kernel/kernel.lnk% | 55 + src/kernel/uzi/devtty.c.org | 502 +++ src/kernel/uzi/main.c | 119 +- src/kernel/uzi/main.c.org | 832 ++++ src/kernel/uzi/testsystem.c | 56 + src/kernel/uzi/testsystem.h | 4 + src/kernel/uzi/touchscreen.c | 104 + src/kernel/uzi/touchscreen.h | 3 + src/testsystem/interpreter/hyfile.cpp | 315 ++ src/testsystem/interpreter/hyfile.h | 122 + src/testsystem/interpreter/hyfs.cpp | 137 + src/testsystem/interpreter/hyfs.h | 121 + src/testsystem/interpreter/hymb.cpp | 117 + src/testsystem/interpreter/hymb.h | 95 + src/testsystem/interpreter/n.bat | 10 + src/testsystem/interpreter/n.sh | 2 + src/testsystem/interpreter/testscr.cpp | 252 ++ src/testsystem/n.sh | 2 + src/testsystem/testter.c | 319 ++ uzi.bat | 2 +- uzipatch.bat | 2 + 57 files changed, 26744 insertions(+), 763 deletions(-) create mode 100644 bin/appinst.bat% create mode 100644 bin/inittab.txt% create mode 100644 bin/passwd.txt% create mode 100644 relnotes/20030528.txt create mode 100644 src/gui/grlogin.i86 create mode 100644 src/gui/login.lst create mode 100644 src/gui/login.rst create mode 100644 src/gui/login.s01 create mode 100644 src/gui/test.i86 create mode 100644 src/gui/test.lst create mode 100644 src/gui/test.rst create mode 100644 src/gui/test.s01 create mode 100644 src/gui/trans.lst create mode 100644 src/gui/trans.rst create mode 100644 src/gui/trans.s01 create mode 100644 src/gui/wnd.c.org create mode 100644 src/gui/wnd.lst create mode 100644 src/gui/wnd.rst create mode 100644 src/gui/wnd.s01 create mode 100644 src/kernel/build.ban% create mode 100644 src/kernel/kernel.lnk% create mode 100644 src/kernel/uzi/devtty.c.org create mode 100644 src/kernel/uzi/main.c.org create mode 100644 src/kernel/uzi/testsystem.c create mode 100644 src/kernel/uzi/testsystem.h create mode 100644 src/kernel/uzi/touchscreen.c create mode 100644 src/kernel/uzi/touchscreen.h create mode 100644 src/testsystem/interpreter/hyfile.cpp create mode 100644 src/testsystem/interpreter/hyfile.h create mode 100644 src/testsystem/interpreter/hyfs.cpp create mode 100644 src/testsystem/interpreter/hyfs.h create mode 100644 src/testsystem/interpreter/hymb.cpp create mode 100644 src/testsystem/interpreter/hymb.h create mode 100644 src/testsystem/interpreter/n.bat create mode 100644 src/testsystem/interpreter/n.sh create mode 100644 src/testsystem/interpreter/testscr.cpp create mode 100644 src/testsystem/n.sh create mode 100644 src/testsystem/testter.c create mode 100644 uzipatch.bat diff --git a/bin/appinst.bat b/bin/appinst.bat index 09788264..0836b57e 100644 --- a/bin/appinst.bat +++ b/bin/appinst.bat @@ -1,2 +1,2 @@ ucp < appinst.ucp -copy uzidisk.dat e:\ +copy uzidisk.dat f:\ diff --git a/bin/appinst.bat% b/bin/appinst.bat% new file mode 100644 index 00000000..09788264 --- /dev/null +++ b/bin/appinst.bat% @@ -0,0 +1,2 @@ +ucp < appinst.ucp +copy uzidisk.dat e:\ diff --git a/bin/banked/grlogin b/bin/banked/grlogin index b235271acc72c358ca7bdb0f85f09ca5238ba767..6e6f53dbd3c1c8745f762b61afd452539fe0ef8e 100644 GIT binary patch delta 8370 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 QyR_rIk&=FKgCo=50T?YwXaE2J delta 8297 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 diff --git a/bin/banked/test b/bin/banked/test index d91eab5a6745b89684ee94ee0247b74c6c0d5bd1..2a9df963fa7b9e159ca6e62ec26297e5c724bc22 100644 GIT binary patch delta 6284 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

g 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 diff --git a/bin/passwd.txt b/bin/passwd.txt index fd1accf6..de5c68ae 100644 --- a/bin/passwd.txt +++ b/bin/passwd.txt @@ -2,5 +2,5 @@ root::0:0::/root: bin:!:1:1::/bin: downingn:LbnMHnQ.K1gpi:60:100:Downing, Nicholas:/home/downingn:/bin/test morsinkj:TbKUmao1jtbos:70:100:Morsink, Joost:/home/morsinkj:/bin/test -buijsr:0bkPMVw/Z4/sh:80:100:Buijs, Rob:/home/buijsr:/bin/test +buijsr:0bkPMVw/Z4/sh:80:100:Buijs, Rob:/home/buijsr: 90:IccdKbe10jjDC:11:101:Surname Firstname:/home/90:/bin/test diff --git a/bin/passwd.txt% b/bin/passwd.txt% new file mode 100644 index 00000000..fd1accf6 --- /dev/null +++ b/bin/passwd.txt% @@ -0,0 +1,6 @@ +root::0:0::/root: +bin:!:1:1::/bin: +downingn:LbnMHnQ.K1gpi:60:100:Downing, Nicholas:/home/downingn:/bin/test +morsinkj:TbKUmao1jtbos:70:100:Morsink, Joost:/home/morsinkj:/bin/test +buijsr:0bkPMVw/Z4/sh:80:100:Buijs, Rob:/home/buijsr:/bin/test +90:IccdKbe10jjDC:11:101:Surname Firstname:/home/90:/bin/test diff --git a/bin/uzidisk.dat b/bin/uzidisk.dat index 072c05da9d2163a14a4245b6f661bc4bd056689d..71cbccb1f9d4027410371a7e18990e0443837959 100644 GIT binary patch delta 34129 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 diff --git a/relnotes/20030528.txt b/relnotes/20030528.txt new file mode 100644 index 00000000..9d129732 --- /dev/null +++ b/relnotes/20030528.txt @@ -0,0 +1,14 @@ +HYTECH-INTERNATIONAL BV +CMX/UZI TESTSYSTEM RELEASE 030528SD + +MANIFEST + +uzipatch.zip + +INTRODUCTION + +This release is published by Rob as a very basic initial testsystem. We have +the ability to record a test script (testter -r) and play it back (testter -p). +The file format is a binary format designed by Nick and Rob. The development +system is a PC running Red Hat Linux. See "/uzi/src/testsystem/testter.c". + diff --git a/src/gui/grlogin.i86 b/src/gui/grlogin.i86 new file mode 100644 index 00000000..751a22e3 --- /dev/null +++ b/src/gui/grlogin.i86 @@ -0,0 +1,668 @@ +:020000040000FA +:20000000C9A6020078563412140000810081B586688A689AD1ED53B586C1ED43B786E12299 +:13002000B98621CF6A3E00CD5E81EB2101473E01C35E8115 +:2005C900CD8881F8FF21060039EB218184010200EDB02AC0862323E50303C501B584C53E91 +:2005E9000121AA44CD5E81F1F14D44E171237021000039E5210000E52AC08623234E23462C +:20060900C53E00215F73CD5E81F1F1F1DD36FC60DD36FD0021000039E5210100E52AC08627 +:2006290023234E2346C53E00215F73CD5E81F1F1F1210200E52E08394D442AC08623235E23 +:2006490023563E0021C86DCD5E81F1C31F81D52AC08623235E23563E00212272CD5E81D1B2 +:20066900C32581CD8881FCFF21000039EB218384010400EDB0DD4602DD70FEDD4604DD7044 +:20068900FF210400E52B2BC340464DC342462AC08623235E23563E00C34D46CD5E81F1C390 +:2006A9001F81CD8881FCFF21000039EB218784010400EDB0DD4602DD70FEDD4604DD70FFCA +:2006C900210400E52B2BC340464DC394462AC086C3464623C39C4623563E00C34D46CD5EBF +:2006E90081F1C31F81CD8881FCFF21000039EB218B84010400EDB0DD4602DD70FEDD46049D +:20070900DD70FF210400E52B2BC340464DC394462AC086C3D94623C3484623C39E463E0023 +:20072900C3E446CD5E81F1C31F81CD8881FCFF21000039EB218F84010400EDB0DD4602DDD5 +:2007490070FEDD4604DD70FF210400E52B2BC340464DC394462AC086C3D94623C32047235A +:20076900C34A463E00C3A146CD5E81F1C31F81CD8881FCFF21000039EB219384010400EDF5 +:20078900B0DD4602DD70FEDD4604DD70FF210400E52B2BC340464DC394462AC086C3D946D8 +:2007A90023C3204723C369473E00C34D46CD5E81F1C31F81CD8881FCFF21000039EB2197EB +:2007C90084010400EDB0DD4602DD70FEDD4604DD70FF210400E52B2BC340464DC394462A4A +:2007E900C086C3D94623C3204723C369473E00C3B347CD5E81F1C31F81C5FDE5DDE5D5DDCF +:20080900E13E00213772CD5E81E5DDE5C12AC08623235E23563E0021C86DCD5E81F1DDE156 +:20082900FDE1C1C32581CD8881F8FF21000039EB219B84010700EDB0DD4602DD70FADD4621 +:2008490004DD70FBDD460ADD70FCDD460CDD70FDDD460EDD70FE210700E52E02C340464D05 +:20086900C394462AC086C3D94623C3204723C369473E00C3B347CD5E81F1C31F81C5D5CD3B +:20088900A048CD5E81218000E56CE5E5CDB848E1E1E1D1C1C3258101000059503E00216C1F +:2008A90046CD5E8101800058503E0021AB46C94D44EB3E00212F48C35E81CD8881FCFF2115 +:2008C900000039EB21A284010300EDB0DD4602DD70FE210300E52BC340464DC394462AC042 +:2008E90086C3D94623C3204723C369473E00C3B347CD5E81F1C31F81CD8881FEFF210000B5 +:2009090039EB21A584010200EDB0DD4602DD70FF210200E5C340464DC394462AC086C3D908 +:200929004623C3204723C369473E00C3B347CD5E81F1C31F81CD88810000210C00ED4BC08F +:20094900860946236668EB7BB228166B6246236668DD4E02DD4603ED422806210800191864 +:20096900E1EBC31F81CD52813E00213E49CDEB492829DD5E02DD56033E00210149CD5E819F +:20098900210A00ED4BC08609E5DD5E02DD56033E00213E49CDF649E1712370C31F81ED4BD2 +:2009A900C086094623666823234E2346237E6960CD5E814D44FD6E06FD6607A7ED42EB0167 +:2009C9000200CDC181DD6E04DD660519EB3E00216C46C9CD5E814D44FD6E08FD6609A7EDD8 +:2009E90042C9CD5E817DB4C93E0121D544CD5E814D44C9CD8881FCFFFDE5110E00CD974A3E +:200A0900DD4E0271DD46032370DD460CDD6E0AFD7502DD660BFD7403FD7004DD4610DD6ECD +:200A29000EFD7505DD660FFD7406FD7007AFFD7708FD7709DD6E12FD750ADD6613FD740B98 +:200A4900DD6E14FD750CDD6615FD740D210C00ED4BC086097E23B6210C00ED4BC0860920FB +:200A690010FDE5C1712370210A00ED4BC08609181246236668EB210800197E23B6210800F6 +:200A89001920EEFDE5C1712370FDE1C31F813E0121D544CD5E81E5FDE1C9FDE5DDE5C5D54F +:200AA900DD210000FD210000FDE5210200394E2346E1097EB72850FDE5E1095ECD40810AC3 +:200AC90000212C2E3149696A6B6C72FE4AF94AEF4AF94AF94AEA4AEA4AF44AF44AF44AEAA6 +:200AE9004A0102001812010300180D01040018080105001803010600DD09210200394E234D +:200B090046DD09FD2318A1DDE5E1F1F1DDE1FDE1C32581CD52817BFE803006210700091825 +:200B29000CFECC38083EDFBB3803696023C31F81CD52810100001A5F3E00211C4BCD5E81A8 +:200B4900C31F81CD5281010500C33F4BCD52810100003E0021A34ACD5E81C31F81CD52819A +:200B6900010200C35B4BCD5281010300C35B4BCD88810000FDE5112800CD974A2AC0865E86 +:200B8900235613722B73FDE5E1732372DD6E02FD7502DD6603FD7403FD7104FD7005DD6E3B +:200BA9000AFD7506DD660BFD7407DD6E0CFD7508DD660DFD7409AFFD770AFD770BFD770C1D +:200BC900FD770DFD770EFD770FFD7710FD7711FD7712FD7713FD7714FD7715FD7716FD7761 +:200BE90017FD7718FD7719FD771AFD771BFD771CFD771DFD771EFD771FFD7724FD7725FD2B +:200C09007726FD7727FD7720FD7721FD7722FD7723FDE5E1FDE1C31F81CD88810000FDE581 +:200C2900DD6E02DD6603E5FDE1110000DD6E04DD6605197EB728210114806B6278AC67ED3C +:200C4900423015FD6E20FD662119E5DD6E04DD66051946E1701318D4FD6E20FD6621193653 +:200C690000FDE1C31F81CD88810000FDE55950211500DD4E02DD4603097E23666FE5FDE1FE +:200C8900211500097E23B62009211500097323721819FD7E13FDB614280BFD6E13FD661497 +:200CA900E5FDE118EDFD7313FD72142113001977237721110019DD4E0271DD46032370FD60 +:200CC900E1C31F81C5FDE5DDE52115001946236668E5DDE1CD094DDDE5E17DB4281ADDE53A +:200CE900D1DD7E1CDD6E1ADD661BCD5E81DD6E13DD6614E5DDE118DF1E01CD0B4DC327486F +:200D09001E003E0021C348C35E81CD88810000FDE5DD6E02DD6603E5FDE1DD6E04DD6605FB +:200D29007EFD860277237EFD8E0377DD6E0ADD660B7EFD860477237EFD8E0577FD6E11FD4A +:200D49006612E5FDE17DB420D1FDE1C31F81CD88810000211500DD4E02DD460309462366B5 +:200D690068EB7BB2281B211000194E0600DD6E04DD6605A7ED422003EB1808211300191809 +:200D8900DC6F67C31F81CD8881F8FFFDE5DD6E02DD6603E5FDE1FD6E15DD75F8FD6616DD10 +:200DA90074F9FDE5E17DB4CA424FDD7EF8DDB6F92811DD5EF8DD56F9CD584FDD75F8DD74E8 +:200DC900F918E7FD7E11FDB612CA5E4EFD6E11FD66120115000946236668FDE5C1A7ED428B +:200DE900FD6E11FD6612011500092009E5FD6E11FD6612185046236668DD75F8DD74F92187 +:200E09001300DD4EF8DD46F90946236668FDE5C1A7ED422819211300DD4EF8DD46F9097E83 +:200E290023B6280A211300095623666A18CB211300DD4EF8DD46F9097E23B62818211300EE +:200E490009E52113000946236668011300094E2346E1712370FD6E13DD75F8FD6614DD74DE +:200E6900F93E04FDAE24FDB625C20E4FFD6E11DD75FCFD6612DD74FDFD6E26DD75FEFD6697 +:200E890027DD74FFCD4D4FDD6EFEDD66FF2323CD4D4FDD7EFCDDB6FD2820212400DD4EFC94 +:200EA900DD46FD093E04AE23B6280F2111000956DD72FC2366DD74FD18D8DD7EFCDDB6FD76 +:200EC9002843212600DD4EFCDD46FD0946DD70FE2366DD74FF210600ED4BC08609E5DD6EBF +:200EE900FEDD66FF5E2356E1732372210800ED4BC08609E5DD4EFEDD46FF030369604E23C9 +:200F090046E1712370FD4E24FD4625210000CDA6813009FD5E26FD5627CD504FFDCB0B76C8 +:200F29002011FD7E20FDB6212809FD5E20FD5621CD504FFDE5D1CD504FDD6EF8DD66F9FDE1 +:200F4900E1C31F815E23563E0021DC73C35E813E00218F4DC35E81C5FDE5DDE52115001988 +:200F690046236668E5DDE17DB42808DDE5D1CD584F18F1C32748CD88810000FDE5211500FD +:200F8900DD5E02DD5603195623666AE5FDE17DB4283D210A00FDE5C109DD7E04DD56052F7D +:200FA9005F7A2F577EA377237EA277210A00097EDDB60A77237EDDB60B77210A00097EDD6C +:200FC900AE0C77237EDDAE0D772113000918B81177853E0021A06BCD5E81FDE1C31F81C5F1 +:200FE900FDE5DDE5D5DDE12115001946236668E5FDE121200019462366680100903E80ACDC +:2010090067ED42302EDD4E20DD4621210000CDA6813020DD6E20DD662129E5210800ED4BA1 +:20102900C086094E2346E1092B2B46DD70202366DD7421DD6E22DD66230100903E80AC677E +:20104900ED42302EDD4E22DD4623210000CDA6813020DD6E22DD662329E5210800ED4BC000 +:2010690086094E2346E1092B2B46DD70222366DD7423FDE5E17DB42816FDE5D13E0021E803 +:201089004FCD5E81FD6E13FD6614E5FDE118E3C32748CD8881D0FFFDE5AFDD77FADD77FB94 +:2010A900DD77FCDD77FD5950CD6B810800010002000300020103010401050101043453A2D6 +:2010C9005235526152A951BA516E510951D850211500DD4E02DD46030946236668E5FDE1A9 +:2010E9007DB42819FDCB0A46280BDD6E0ADD660BE5CD3953E1FD6E13FD661418E0C3345331 +:20110900211500DD4E02DD46030946236668E5FDE17DB4284DFDCB0A462838DD6E0ADD6684 +:201129000BE5CD3953E1DD6E0ADD660BE5010300CD3F53E1FD7E0AE6226F26003E22AD2061 +:2011490012FD4E1044DD6E0ADD660BED422004FD210000FDE5E17DB428B7FD6E13FD6614F9 +:2011690018ACC33453DD6E02DD6603E5FDE1210A00DD4E02DD460309CB462821FDCB0A6EE1 +:20118900281BFD4E1047DD6E0ADD660BA7ED42200CFD6E26FD6627FDE5D1CD5E53C3345326 +:2011A900DD5E024BDD560342211A00CD5D53C33453210A00DD4E02DD4603097EE6FC7721A5 +:2011C9002E0039E52B2B4D44DD5E02DD5603CD5553E1210800DD4E02DD4603095E2356D5D9 +:2011E900210600095E2356D5DD6EFCDD66FDE5DD4EFADD46FB110000CDBB48E1E1E12100B6 +:2012090000E52E11DD5E02DD5603195E2356211100DD4E02DD460309462366680117000958 +:201229004E2346237E69600103011829211100DD4E02DD4603095623666AE5FDE15950CD2E +:20124900584F210000E5010301FDE5D1FD7E19FD6E17FD6618C33053211500DD4E02DD46C3 +:20126900030946236668E5FDE17DB42829DD6E0ADD660BFDE5C1ED422814FDCB0A5E280EC6 +:20128900DD6E0ADD660BE5010302CD3F53E1FD6E13FD661418D0C33453211100DD4E02DD14 +:2012A9004603097E23B6200E210400ED4BC08609360123771875210A000923CB6E2028DD8F +:2012C9006E0ADD660BE52111005950195E23562111000946236668011700094E2346237EA4 +:2012E90069600101041840211100095623666AE5FDE1110A00197EF603776A62E523E54A52 +:2013090042FDE5D13E00217F4FCD5E81E1E1210000E5DD5E024BDD5603422E17094E234629 +:20132900237E6960010501CD5E81E1FDE1C31F81DD4E04DD4605FDE5D1FD7E19FD6E17FD48 +:201349006618C35E8123234D44DDE5D13E0021134DC35E81094E2346237E6960C35E81CD00 +:201369008881FCFFFDE5DD6E02DD6603E5FDE1AFDD77FEDD77FFDD77FCDD77FD210A00ED1B +:201389004BC086097E23666F46236668FD4E0EFD460FA7ED422809FD5E0EFD560FCDED5472 +:2013A900FDCB0A46CAA55421020039E523234D44FDE5D1CD5553E1CD094DDD4EFCDD46FDBE +:2013C900DD5EFEDD56FF3E00216C46CD5E81FD4E08FD4609FD5E06FD56073E0021AB46CD65 +:2013E9005E81FD6E08FD6609E5FD6E06FD6607E5DD6EFCDD66FDE5DD4EFEDD46FF110000B9 +:20140900CDBB48E1E1E1FD5E20FD5621210A00ED4BC086097E23666FCDAA54DD4EFCDD4624 +:20142900FD09110400194D44CDB8547E23666F010500094E2346237E6960CDDC4901FCFF71 +:20144900094D44FD5E06FD56073E0021EE46CD5E81DD4EFCDD46FDCDB85446236668CDAA21 +:2014690054010500094D44FD5E06FD56073E00213347CD5E81210E00DD4EFCDD46FD094D63 +:2014890044DD5EFEDD56FF13133E00216C46CDD554FDE5D13E0021CD4CCD5E81FDE1C31FD0 +:2014A90081010500094E2346237E6960C35E81DD5EFEDD56FF3E00216C46CD5E81FD5E202D +:2014C900FD5621210A00ED4BC08609C9CD5E81FD5E20FD56213E00210248CD5E81C9DD5E20 +:2014E9000EDD560F3E00216E49C35E81CD5281CD094DCDA048CD5E8101800058503E00212F +:20150900BD47CD5E81218000E56CE5E5CDB848E1E1E1DD5E02DD56033E0021CD4CCD5E814F +:20152900C31F81CD52813E00216F4CCD5E81C31F81CD88810000FDE5DD6E0CDD660DE5DD55 +:201549006E0ADD660BE5CD7E55F1F1E5FDE101170009369B233650233600FD361A68FD36B6 +:201569001B53FD361C00FD361D2CFD361E55FD361F00C31A4CDD5E02DD56033E0021784B73 +:20158900C35E81CD5281FDE5D5FDE1DD6E0ADD660BE53E00219B50CD5E81E13E03DDAE043C +:2015A900DDB605203EFD4E1047DD6E0ADD660BED422030FD7E0AE6032829DD6E0ADD660B06 +:2015C900E5FD5E11FD5612FD6E11FD66120E17CD1956E1FDCB0A66280AFD4E100600C5CDBC +:2015E9002756E1210102DD4E04DD4605A7ED42200BDD6E0ADD660BE5CD0A56E1FDE1C31FB2 +:2016090081FD5E11FD5612FD6E11FD6612011700094E2346237E6960010102C35E81FD5E3B +:2016290011FD5612FD6E11FD66120E17094E2346237E6960010401C35E81CD5281FDE5D5EC +:20164900FDE1210A0019CB76FD5E20FD5621210A00ED4BC086097E23666F010500094E2387 +:2016690046237E69602853CD5E81294D44FD6E08FD6609A7ED42CDF0560E0C09E5FD5E2085 +:20168900FD5621210A00ED4BC086097E23666FCDB049C1CDD554FD5E08FD5609CDF1560E47 +:2016A9000A09E5FD5E22FD56236960CDA749C1CD5E81FD5E22FD56231820CDDC49CDF05613 +:2016C9000E0D09E5FD5E20FD5621210A00CDA749C1CD5E81FD5E20FD56213E00210248CD4F +:2016E9005E81FDE1C31F81EB010200CDC181DD6E0ADD660B19C9C5DDE5F5F5D5DDE1210218 +:201709000039AF7723772B2B2B772377210A00ED4BC086097E23666F46236668E5210E00C2 +:20172900194E2346E1A7ED422803CDE754DDCB0A46CACF5721000039E5CD4E53E12100004F +:2017490039CDD757CD5E81DD6E08DD6609E5DD6E06DD6607E5210400394E2346C5234E232E +:2017690046DDCB0A4E2807DD5E1016001803110000CDBB48E1E1E1DD7E0AE682281CDD7E7F +:201789000AE682EE822813DD4E08DD4609DD5E06DD56073E002178471811DD4E08DD4609A3 +:2017A900DD5E06DD56073E0021EE46CD5E81210000394E2346C5234E2346DDE5D13E0021C4 +:2017C9004356CD5E81E1E1E1DDE1C1C325814E2346235E23563E00216C46CD5E81DD4E088F +:2017E900DD4609DD5E06DD56073E0021AB46C9CD5281C31F81CD88810000FDE5DD6E0CDD31 +:20180900660DE5DD6E0ADD660BE5CD7E55F1F1E5FDE1010A00097EF60377DD460EFD7010EA +:20182900FD36178CFD361855FD361900FD361AFFFD361B56FD361C00FD361DF8FD361E57AE +:20184900FD361F00C31A4CCD5281FDE5D5FDE1DD6E0ADD660BE53E00219B50CD5E81E13E32 +:2018690003DDAE04DDB605205CFD4E1047DD6E0ADD660BED42204EFD7E0AE6032847FD7E7F +:201889000AEE04FD770ADD6E0ADD660BE5FD5E11FD5612FD6E11FD66120E17094E23462373 +:2018A9007E6960010202CD5E81E1210000E5010301CD3F53E1FDCB0A66280AFD4E10060030 +:2018C900C5CD2756E1210102DD4E04DD4605A7ED42200BDD6E0ADD660BE5CD0A56E1FDE11F +:2018E900C31F81C5DDE5F5F5D5DDE121020039AF7723772B2B2B772377210A00ED4BC08621 +:20190900097E23666F46236668E5210E00194E2346E1A7ED422803CDE754DDCB0A46CAD5A3 +:201929005921000039E5CD4E53E121000039CDD757CD5E81DDCB0A4E2836DDCB0A562830F8 +:20194900DD4E08DD4609DD5E06DD56073E00217847CD5E81DD6E08DD6609E5DD6E06DD66C2 +:2019690007E5210400394E2346C5234E23461834DD4E08DD4609DD5E06DD56073E0021EE4B +:2019890046CD5E81DD6E08DD6609E5DD6E06DD6607E5210400394E2346C5234E2346DDCBEC +:2019A9000A4E2807DD5E1016001803110000CDBB48E1E1E1210000394E2346C5234E2346E7 +:2019C900DDE5D13E00214356CD5E81E1C3CF57CD88810000FDE5DD6E0CDD660DE5DD6E0A64 +:2019E900DD660BE5CD7E55F1F1E5FDE1010A00097EF60777DD460EFD7010FD361750FD36E5 +:201A09001858FD361900FD361AECFD361B58FD361C00FD361DF8FD361E57FD361F00C31AB4 +:201A29004CCD5281FDE5D5FDE1DD6E0ADD660BE53E00219B50CD5E81E1210102DD4E04DD8D +:201A49004605A7ED4220403EFFDDAE0ADDB60B2036FDCB0B66E528050105011803010201C5 +:201A6900CD3F53E1FD4E100600C5FD5E11FD5612FD6E11FD66120E17094E2346237E6960E6 +:201A8900010103CD5E81E1210102DD4E04DD4605A7ED4220403EFEDDAE0ADDB60B2036FD38 +:201AA900CB0B66E528050105011803010201CD3F53E1FD4E100600C5FD5E11FD5612FD6E07 +:201AC90011FD66120E17094E2346237E6960010203CD5E81E1FDE1C31F81CD8881FEFFFD84 +:201AE900E5DD6E0CDD660DE5DD6E0ADD660BE5CD7E55F1F1E5FDE1010A0009CBC6DD460EC9 +:201B0900FD7010FD36172AFD36185AFD361900FD361A68FD361B53FD361C00FD361D2CFDBC +:201B2900361E55FD361F0021FF00E52E14E52E28E521E4FFCD955BF1F1F1DD75FEDD74FF06 +:201B490001200009E5110300CDF149E171237001BF84CDB15BCD5E8121FE00E52E14E52E4B +:201B690028E521C8FFCD955BF1F1F1DD75FEDD74FF01200009E5110700CDF149E171237024 +:201B890001C284CDB15BCD5E81C31A4CDD4E0CDD460D094D4421D0FFDD5E0ADD560B19EBCF +:201BA9003E0021FE57C35E81DD5EFEDD56FF3E0021224CCD5E81DD4EFEDD46FFFDE5D1FDE7 +:201BC9007E1FFD6E1DFD661EC9CD5281FDE5D5FDE1DD6E0ADD660BE53E00218C55CD5E81E4 +:201BE900E1210302DD4E04DD4605A7ED422040FDCB0A5E283A3E08DDAE0ADDB60BFD5E20C2 +:201C0900FD56213E00213772200DCDEB492815CD3D5C2B3600180DCD485C233600CD3D5CB8 +:201C2900DD460A70210000E5010301CD3F53E1FDE1C31F81FD5E20FD56213E00213772CDAE +:201C49005E81FD4E20FD462109C9C5FDE5DDE521B8FF39F9D5DDE1AF7723772377237721E0 +:201C69000A00ED4BC086097E23666F46236668E5210E00194E2346E1A7ED422803CDE7544F +:201C8900DDCB0A46CA975D21020039E52B2BCD5053E1210200394E23462B2B2BCDDB57CD3D +:201CA9005E81DD6E08DD6609E5DD6E06DD6607E5210600394E2346C52B2B2B4E2346DDCB7C +:201CC9000A4E2807DD5E1016001803110000CDBB48E1E1E1DDCB0A7EDD4E08DD4609DD5EAA +:201CE90006DD560720073E0021784718053E0021EE46CD5E81DD5E20DD5621210A00ED4BE8 +:201D0900C0860946236668010500094E2346237E6960CDF649DD6E08DD6609A7ED42EB0197 +:201D29000200CDC1816960394623666819010700094D44210000395E235613133E00216C73 +:201D490046CD5E81DDCB0B462836FD210000DD5E20DD56213E00213772CDF649FDE5E1A7E6 +:201D6900ED42210600300B39FDE5C109362AFD2318DC39FDE5C109360021060039EB1806EC +:201D8900DD5E20DD56213E00210248CD5E8121480039F9C32748CD88810000FDE5DD6E0E58 +:201DA900DD660FE5DD6E0CDD660DE5DD6E0ADD660BE5DD5E02DD5603CDA95BF1F1F1E5FDD6 +:201DC900E1010A0009CBDE01C984FDE5D13E0021224CCD5E81FD361A53FD361B5CFD361C49 +:201DE90000FD3617D2FD36185BFD361900C31A4CCD5281C31F81C5DDE5F5F5D5DDE1210279 +:201E09000039AF7723772B2B2B772377210A00ED4BC086097E23666F46236668E5210E00BB +:201E2900194E2346E1A7ED422803CDE754DDCB0A46282121000039E5CD4E53E121000039B6 +:201E49004E2346C5234E2346DDE5D13E00214356CD5E81E1C3CF57CD88810000FDE5DD6E1F +:201E69000CDD660DE5DD6E0ADD660BE5CD7E55F1F1E5FDE101200009DD4E0E71DD460F2322 +:201E890070FD360A01FD360B00FD3617F9FD36185DFD361900FD361AFFFD361B5DFD361CD0 +:201EA90000FD361DF8FD361E57FD361F00C31A4CCD88810000DD6E0ADD660BE5DD5E02DD36 +:201EC90056033E00219B50CD5E81E1C31F81CD8881CEFFFDE5DD36D800210000E5C53E01EC +:201EE90021AA44CD5E81F1F1DD75D4DD74D5DD36F02BDD36F100DD36F21ADD36F300DD3686 +:201F0900F400DD7ED8FE732018DD6ED9DD66DADD75F0DD74F1DD6EDBDD66DCDD75F2DD7449 +:201F2900F3DD7ED8FE422807DD7ED8FE4D204FDD4EDD0600C5CD9762D5DD4EDBDD5EF0DD9A +:201F490056F1CDA062D5DD4EDADD5EF2DD56F3CD2A81D5DD5ED950DD4EF0DD46F1CD2A81DD +:201F69003E0021FE57C1CD5E81F1F1F1E5FDE1DD7ED8FE4D2004FDCB0AF6DD36F401DD7ED4 +:201F8900D8FE542044DD4EDD0600C5CD9762D5DD4EDBDD5EF0DD56F1CDA062D5DD4EDADD61 +:201FA9005EF2DD56F3CD2A81D5DD5ED950DD4EF0DD46F1CD2A813E0021D859C1CD5E81F15C +:201FC900F1F1E5FDE1DD36F401DD7ED8FE442044DD4EDD0600C5CD9762D5DD4EDBDD5EF0D3 +:201FE900DD56F1CDA062D5DD4EDADD5EF2DD56F3CD2A81D5DD5ED950DD4EF0DD46F1CD2AE1 +:20200900813E00219F5DC1CD5E81F1F1F1E5FDE1DD36F401DD7ED8FE4C2047210C00390185 +:20202900120009E5CD9762D5DD4EDBDD5EF0DD56F1CDA062D5DD4EDADD5EF2DD56F3CD2AB4 +:2020490081D5DD5ED950DD4EF0DD46F1CD2A813E0021605EC1CD5E81F1F1F1E5FDE1DD36E3 +:20206900F401DD7ED8FE412051212600DD4E02DD460309E5212B0039EBE1732372DD6EDE75 +:20208900DD66DFDD75F8DD74F9DD6EE0DD66E1DD75FADD74FB211600394E2346235E235679 +:2020A900DD71FCDD70FDDD73FEDD72FFDD5E02DD56033E0021A762CD5E81DD7ED8FE5320BC +:2020C90071210C00394D44DD5ED4DD56D53E0021DF65CD5E81212600DD4E02DD460309E5A1 +:2020E900110400CD8F62EBE17323722126000956DD72F52366DD74F6212400093604233695 +:20210900006ADD66F62323E5210800ED4BC086095E2356E1732372210600ED4BC086094684 +:20212900236668E5DD6EF5DD66F6C1712370DD36F400AFDDB6F4CA3B62DD7EDEDDB6DF280B +:2021490069FDCB0AEEFD36240BFD362500110B00CD8F62FD7526FD7427FD6E26DD75D0FDD9 +:202169006627DD74D136A7233662233600DD6ED0DD66D1232323DD4EDE71DD46DF237021EE +:202189000500DD4ED0DD46D109DD5EE073DD56E1237221070009E5211800395E2356234E32 +:2021A9002346E173237223712370DD7EE6DDB6E7280CDD6EE6FD750ADD66E7FD740BDD6E10 +:2021C900E8FD750EDD66E9FD740FDD6EEAFD7520DD7EEBE60FFD7721FD7E20FDB6212016A6 +:2021E900111400CD8F62FD7520FD7421FD6E20FD662136001804FDCB0BF6DD7EEB2E004DE4 +:20220900E6F0472610ED423010DD6EEADD7EEBE60F6723FD7522FD7423FDE5DD5E024BDD8A +:20222900560342211D00094E2346237E6960C1CD5E81211400E52E0E394D44DD5ED4DD56C3 +:20224900D5CD8762F13E14ADB4CA075FDD5ED4DD56D53E00212272CD5E81DD5E02DD5603ED +:202269003E0021E84FCD5E81DD5E024BDD560342211A00094E2346237E6960C3E8563E016E +:20228900213147C35E813E0121D544C35E81DD4EDCDD5EF2DD56F3CD2A811B1B1BC9CD889E +:2022A90081EAFFFDE5DD6E02DD6603E5FDE121060039EB21A784010E00EDB0FD6E26DD754D +:2022C900EAFD6627DD74EB2323233E01AE23B62008C5010104CD3F53E1DD6EEADD66EB235D +:2022E900232346236668CB853E02ADB4C212646F67E5E5010100FD5E11FD56123E00217FDE +:202309004FCD5E81E1E1FD6E11FD6612010800094E2346C5FD6E11FD6612010600094E2306 +:2023290046C501000059503E00213A55CD5E81F1F1DD75ECDD74ED010A000936032370DD2A +:202349006EEADD66EB232323CB46280C6960DD4EECDD46ED0923CBEE211700DD4EECDD46F9 +:20236900ED0936B923365E233600211A000936F5233654233600210700DD5EEADD56EB1966 +:202389005EEBDD75F3210700DD4EEADD46EB095E2356234E2346EB3E08CDF981DD75F421C2 +:2023A9000700DD4EEADD46EB095E2356234E2346EB3E10CDF981DD75F5210700DD4EEADD4F +:2023C90046EB095E2356234E2346EB3E18CDF981DD75F6210600394D44DD5EECDD56ED3EC3 +:2023E9000021D75ECD5E81DD4EECDD46EDC5FD5E11FD5612FD6E11FD6612011D00094E238C +:2024090046237E6960C1CD5E81DD6EEADD66EB2323233E04AE23B6C2B065210100E5FD6EB8 +:2024290011FD6612010800094623666801F6FF09E5FD6E11FD6612010600094623666801A7 +:20244900F6FF09E501050059503E0021E35ACD5E81F1F1F1DD75ECDD74ED010A00093603FD +:20246900233610210E00DD4EECDD46ED093630233600AFDD77FEDD77FF210500DD4EEADD60 +:2024890046EB095E2356060CCD2E824B42DD6EFEDD66FFCDA68130043E011801AFE60FCA8D +:2024A9004465210500DD4EEADD46EB0946237E68E60F67DD4EFEDD46FF0929E5210800EDF5 +:2024C9005BC086195E2356E1192B2B5E2356D5211000E52E06DD5EECDD56ED196E26000127 +:2024E900F0FF09E5DD6EFEDD66FF29294D442909011400094D441108003E0021605ECD5E46 +:2025090081F1F1F1DD75FCDD74FD010E000936302370DD4EFCDD46FDC5DD5EEC4BDD56ED13 +:2025290042211D00094E2346237E6960C1CD5E81DD34FE2003DD34FFC3826401CA84DD5E06 +:20254900ECDD56ED3E0021224CCD5E8101FF00CDD165010E0009363023700EFECDD165EBDF +:20256900CD584FDD4EECDD46EDC5FD5E11FD5612FD6E11FD6612011D00094E2346237E6948 +:2025890060C1CD5E81210000E5FD5E11FD5612FD6E11FD6612011700094E2346237E69605B +:2025A900010301CD5E81E1211000ED4BC086097E23B623B6280DFDE5D1211000ED4BC08601 +:2025C900CD5D53FDE1C31F81DD5EECDD56ED3E0021574DC35E81CD8881F8FFFDE5030ADDAF +:2025E90077FE030ADD77FF0369604EDD71FC2346DD70FDDD6EFE6729EBCD8F62DD75FADD3B +:2026090074FB5950CD974AC54D44DD5E02DD5603CD8762F1110000AFDD77F8DD77F9DD4EF7 +:20262900FCDD46FD6B62CDA6813035CDA566303023DD75F8DD74F92B29DD4EFADD46FB09C0 +:20264900E5FDE5E1194D44E1712370FDE5E1197EB728031318F56B6213FDE5C1097718BE05 +:20266900CDA566301329DD4EFADD46FB09E5FDE5E1194D44E1712370210600ED4BC08609DC +:20268900FDE5C1712370210800ED4BC08609DD4EFA71DD46FB2370FDE1C31F81DD4EFEDD4C +:2026A90046FFDD6EF8DD66F9C3A6812AC086C32581C5D5111300CD8F6222C086AF772377E6 +:2026C900210400ED4BC08609772377210A00ED4BC08609772377210C00ED4BC08609772323 +:2026E90077210800ED4BC08609772377210600ED4BC08609772377211000ED4BC0860977AB +:20270900237723773E0021C945CD5E81210000E5E50E00C521394BE50E00C521554BE51191 +:202729003000CDD967210C0039F9210000E5E50E00C521394BE50E00C521664BE5113100E0 +:20274900CDD967210C0039F9210000E5E50E00C5214C4BE50E00C5216F4BE5113200CDD92D +:2027690067210C0039F9210E00ED4BC08609E5118000D55AD54B423E00213A55CD5E81F142 +:20278900F14D44E1712370210E00ED4BC086095623666A110A001936012372210E00ED4B63 +:2027A900C086095623666A1117001936B923365E233600210E00ED4BC0860946236668014A +:2027C9001A000936F5233654233600D1C1C325813E0021FC49C35E81C5D5210E00ED4BC09A +:2027E90086095E2356CD584F3E00218648CD5E813E00215746CD5E81D1C1C32581CD8881A4 +:20280900FEFFDD4E02DD4603210E00ED5BC086195E23563E0021D75ECD5E81210400ED4B15 +:20282900C086097E23B6C2C468210100E523394D442AC08623235E2356CD8762F13E01ADE7 +:20284900B420D8DD4EFE47C521D684E53E0021016ECD5E81F1F1AFDDB6FE28294FC5210EFE +:2028690000ED5BC086195E2356210E00ED4BC0860946236668011700094E2346237E6960A2 +:202889000101001829DD4EFFC5210E00ED5BC086195E2356210E00ED4BC086094623666863 +:1E28A900011700094E2346237E6960010200CD5E81E1DD46FEDD70FFC32468C31F8120 +:2003C9002F6465762F6C636430004F4B0043616E63656C00004D65737361676520426F7826 +:0903E900003078253032780A005A +:200395001B4B1B5300001B4300001B4E00001B5200001B4600001B6800001B5A00000000E7 +:1403B500001B45001B002F776E642F303030302E73637200DC +:2028C700FDE5DDE5C521C0FF39F9D5DDE1210C00197E23666FAFB62008DD360CDEDD360D7D +:2028E7008421000039362D012F00DD5E0CDD560D3E0021386BCD5E81E5FDE17DB42804FD0E +:20290700231809DD6E0CDD660DE5FDE1FDE5C12100003911010019EB3E0021A075CD5E81CF +:2029270021000039E5214200397E23666FC171237021400039472366682323AF772377DDC5 +:202947005E06DD56073E0021046BCD5E81DD5E04DD56053E0021E76DCD5E81DD5E0ADD560A +:202967000B3E0021B36DCD5E81210100E5DD4E0ADD460B11E6843E0021066FCD5E81F121A3 +:202987000100E5DD4E00DD460111EB843E0021066FCD5E81F1214000394E2346DD5E0CDD95 +:2029A700560D3E00214C73CD5E81DD5E0CDD560D3E00210F73CD5E811101003E0121014715 +:2029C700CD5E8121420039F9DDE1FDE1C32581CD8881E0FFFDE5DD6E02DD6603E5FDE1219C +:2029E7002600DD4E02DD4603094623666823232346236668010101A7ED42C2CA6AFD6E201D +:202A0700FD662146DD70ECFD6E20FD66212346DD70EDDD36EE00FD6E20FD66213600210E85 +:202A27000039EB3E0021BC74CD5E81DD75E0DD74E1FD4E20FD46210303DD71EADD70EB7D0A +:202A4700B4287123237E23666F46DD70E2DD6EE0DD66E12323462366682346DD70E3DD3679 +:202A6700E400210400394D44DD5EEADD56EB3E0121FD41CD5E81DD75E8DD74E9DD4EE0DD93 +:202A870046E1030369604E2346DD5EE8DD56E93E00216E72CD5E817DB420193E00218648C1 +:202AA700CD5E81010000DD5EE0DD56E13E0021C768CD5E81FDE5D1FD7E1CFD6E1AFD661BAC +:202AC700CD5E81FDE1C31F81CD52813E0021BA66CD5E813E0021B466CD5E810110000936C2 +:1D2AE700D623366923360011F0843E00210668CD5E813E0021E167CD5E81C31F812D +:2003F2002F62696E2F736800484F4D450055534552002F776E642F6C6F676E2E7363720044 +:202B0400CD5281D5210600E5210700E53E00211E6BCD5E81F1F1F1C31F8121040039C5D561 +:142B24005E2356234D44F7300622BB8621FFFFD1C1C3258168 +:0B003300DDF9DDE1D1C1F1ED3939C983 +:202B3800CD8881FEFFDD5E02DD56033E00213772CD5E81DD5E02DD560319DD75FEDD74FF57 +:202B580079B02008DD6EFEDD66FF1839DD6E02DD6603DD4EFEDD46FFA7ED422825DD6EFEE6 +:202B7800DD66FF2BDD75FEDD74FF4E0600DD6E04DD6605A7ED422008DD6EFEDD66FF18059F +:202B980018CA210000C31F81CD8881F8FFAFDD77FEDD77FFDD7E02DDB6032078115F853ED8 +:202BB8000021A06BCD5E817DB4201E1177853E0021A06BCD5E817DB4200F118F853E0021AF +:202BD800A06BCD5E817DB4280621FFFFC3B06D2A5D85DD7502DD7403DD7E02DDB603282ECB +:202BF800DD5E02DD56033E0021A06BCD5E817DB4280621FFFFC3B06D211600DD4E02DD464F +:202C180003095623666ADD7502DD740318CA210000C3B06D210C00DD4E02DD4603097EE6CF +:202C380080CA066D210600DD4E02DD4603095E23560A6F030A67A7ED52DD75FADD74FB7D7D +:202C5800B4CA046D210600DD4E02DD46030946236668DD75F8DD74F9DD6EFADD66FBE5DDDA +:202C78004EF8DD46F9210A00DD5E02DD5603195E23563E0021C86DCD5E81F1DD75FCDD747C +:202C9800FD4D44210000CDA681301E210000397EDD86FC77237EDD8EFD77210200397EDD46 +:202CB80096FC77237EDD9EFD77DD4EFCDD46FD210000CDA68138A1DD7EFCDDA6FD3C2009F2 +:202CD8002ABB863E04ADB4288FDD7EFADDB6FB281B210C00DD4E02DD4603097EF60077235A +:202CF8007EF60277DD36FEFFDD36FFFF186A210C00DD4E02DD4603097EE640285BDD6E022F +:202D1800DD66034E2346DD6E02DD660323235623666AA7ED42DD75FADD74FB4D442100005C +:202D3800CDA6813033210100E5DD4EFADD46FBA7210000ED427C079F4F41C5E5210A00DD7F +:202D58004E02DD4603095E23563E0021306ECD5E81F1F1F1CB782800210C00DD4E02DD46A1 +:202D780003097EE63F77237EE6FA7769602323E5210400DD4E02DD460309E521060009563D +:202D980023666AE56960C1712370E1712370E1712370DD6EFEDD66FFC31F81CD5281D52167 +:202DB8000300E53E00211E6BCD5E81F1F1C31F81CD5281DD6E0ADD660BE5C5D5212400E54E +:0F2DD8003E00211E6BCD5E81F1F1F1F1C31F8131 +:16003E00F5C5E5784251676BED4CED6CED5C79858257E1C1F1C922 +:202DE700CD5281D5210300E5210700E53E00211E6BCD5E81F1F1F1C31F81CD8881FCFF2185 +:202E07000E003901020009DD75FCDD74FDE5DD4E0ADD460B1177853E0021CF79CD5E81F123 +:202E2700DD75FEDD74FFC31F81CD5281DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660B29 +:202E4700E5D5211900E53E0121534BCD5E81F1F1F1F1F1C32282CD8881FEFF2A5D85DD759B +:202E6700FEDD74FF1177853E0021A06BCD5E81118F853E0021A06BCD5E81DD7EFEDDB6FFB4 +:202E8700283CDD5EFEDD56FF3E0021A06BCD5E81210A00DD4EFEDD46FF095E23563E002191 +:202EA7002272CD5E81210A000936FF2336FF211600095623666ADD75FEDD74FF18BCC31F2B +:202EC70081C5D52AA7857DB42002182E21000022A7851101003E00218A73CD5E817DB428FF +:1F2EE7000C2183857EF60177237EF600770E00115D6E3E0121204BCD5E81D1C1C3258141 +:200471000000C286C286C286C286C2870000100000000000000000000000C287C287C28717 +:20049100C287C28801002000000000000000000000009D859D859D859D859F8502002200C7 +:0C04B1000000000000000000000001003E +:202F0600CD8881F2FFAFDD77F4DD77F5DD5E02DD56033E00213772CD5E81DD75F6DD74F7ED +:202F260059503E00213772CD5E81DD75F8DD74F92AB986DD75F2DD74F3DD6EF2DD66F34DE9 +:202F4600440303DD71F2DD70F346236668DD75FADD74FB7DB4283EDD6EF6DD66F7E5DD4EB0 +:202F660002DD4603DD5EFADD56FB3E01215047CD5E81F17DB42014DD6EF6DD66F7DD4EFA27 +:202F8600DD46FB097EFE3D2002180ADD34F42003DD34F518A4DD7EFADDB6FBC2B770DD6E06 +:202FA600F4DD66F5232329EB3E0121D544CD5E81DD75FCDD74FD7DB4200C210C0022BB86D7 +:202FC60021FFFFC37F71DD6EF4DD66F529E5ED4BB986DD5EFCDD56FD3E0121D949CD5E8188 +:202FE600F1DD6EF8DD66F9DD4EF6DD46F709EB13133E0121D544CD5E81DD75FADD74FB7DCC +:20300600B42010DD5EFCDD56FD3E0021DC73CD5E8118A7DD6EF6DD66F7E5DD4E02DD460393 +:20302600DD5EFADD56FB3E0121D949CD5E81F1DD6EF6DD66F7DD4EFADD46FB09363DDD6E83 +:20304600F8DD66F923E5DD4E04DD4605DD6EF6DD66F7DD5EFADD56FB19EB133E0121D94960 +:20306600CD5E81F1DD6EF4DD66F529DD4EFCDD46FD09DD5EFADD56FB732372DD6EF4DD66D0 +:20308600F529092323AF7723772AA9857DB4280CED5BA9853E0021DC73CD5E81DD6EFCDD4C +:2030A60066FD22A985DD6EFCDD66FD22B986C37C71DD7E0ADDB60BCA7C71DD5EFADD56FBA2 +:2030C6003E00213772CD5E81DD75FCDD74FDDD6EF8DD66F9DD4EF6DD46F7094D4403DD6EF8 +:2030E600FCDD66FDA7ED423067DD6EF8DD66F9DD4EF6DD46F709EB13133E0121D544CD5EA9 +:2031060081DD75FEDD74FF7DB42003C3C06FDD6EF6DD66F7E5DD4E02DD4603DD5EFEDD5623 +:20312600FF3E0121D949CD5E81F1DD6EF6DD66F7DD4EFEDD46FF09363DDD6EF2DD66F32B8B +:203146002BDD75F2DD74F3DD71FADD70FB712370DD6EF8DD66F923E5DD4E04DD4605DD6EF9 +:20316600F6DD66F7DD5EFADD56FB19EB133E0121D949CD5E81F1210000C31F81CD8881F82E +:20318600FFDD5E02DD56033E00213772CD5E81DD75FEDD74FF2AB986DD75F8DD74F9DD7514 +:2031A600FADD74FBDD6EF8DD66F94D440303DD71F8DD70F946236668DD75FCDD74FD7DB41D +:2031C600284DDD6EFEDD66FFE5DD4E02DD4603DD5EFCDD56FD3E01215047CD5E81F17DB485 +:2031E6002012DD6EFEDD66FFDD4EFCDD46FD097EFE3D2819DD6EFADD66FB4D440303DD715A +:1C320600FADD70FBDD4EFCDD46FD7123701895DD6EFADD66FBAF772377C31F81CC +:0204BD0000003D +:20322200CD5281D5210600E53E00211E6BCD5E81F1F1C31F81CD8881FEFFDD6E02DD6603CC +:20324200DD75FEDD74FFDD6EFEDD66FFAFB6280ADD34FE2003DD34FF18ECDD4E02DD460311 +:20326200DD6EFEDD66FFA7ED42C31F81CD8881FAFFDD6E02DD6603DD75FADD74FBDD71FC44 +:20328200DD70FDDD6EFCDD66FD23DD75FCDD74FD2B46DD70FFDD6EFADD66FB23DD75FADD10 +:2032A20074FB2B4EDD71FE79B82008AFDDB6FE280218D0DD4EFF0600DD6EFE2600A7ED42B8 +:0332C200C31F81A6 +:12005400E3F5C54E2346237BEDB12002232309C39C81B9 +:2032C500CD8881FEFFDD6E02DD6603DD75FEDD74FFDD6EFEDD66FFAFB6280ADD34FE20038F +:2032E500DD34FF18ECDD4E02DD4603DD6EFEDD66FFA7ED42E5DD4E02DD46031102003E0078 +:2033050021C86DCD5E81F1C3B082CD52817BB22008DD3602FEDD360384DD5E02DD5603CDDE +:20332500C572110485CDC572ED5BBB863E0121DC47CD5E81DD7502DD7403EBCDC57211074C +:0733450085CDC572C31F8195 +:0B0412006572726F72003A20000A0051 +:20334C00CD52812AB986E53E0121BD47CD5E81F1C31F81CD5281DD6E0EDD660FE5DD6E0C88 +:20336C00DD660DE5DD6E0ADD660BE5210F00E53E00211E6BCD5E81F1F1F1F1C31F81CD885F +:20338C0081E2FF210000394D44DD5E02DD56033E0021C573CD5E817DA43C2812DD7EE6E660 +:2033AC00006FDD7EE7E6F0673E20ACB528052100001803210100C31F81CD5281C5D5210DFE +:2033CC0000E53E00211E6BCD5E81F1F1F1C31F81CD8881FCFF21FCFFDD4E02DD460309DD0C +:2033EC0075FEDD74FF23237E23B6280621FFFFC3B9742AE489DD75FCDD74FDDD4EFCDD46A7 +:20340C00FDDD6EFEDD66FFA7ED423817DD6EFCDD66FD232346236668DD4EFEDD46FFA7ED10 +:20342C00423053DD6EFCDD66FD23234E2346DD6EFCDD66FDA7ED423829DD4EFEDD46FFDD51 +:20344C006EFCDD66FDA7ED423816DD6EFCDD66FD23234E2346DD6EFEDD66FFA7ED4230027B +:20346C001814DD6EFCDD66FD232346236668DD75FCDD74FD1885DD6EFEDD66FF2323E5DD44 +:20348C004EFCDD46FD030369604E2346E1712370DD6EFCDD66FD2323DD4EFEDD46FF71239F +:2034AC0070DD6EFCDD66FD22E489210000C31F81CD8881FEFFDD7E02DDB603200B211600CE +:2034CC0022BB8621000018473E00211E75CD5E813E00218275CD5E81DD75FEDD74FF7DB48C +:2034EC00281FDD4E02DD4603DD6EFEDD66FF5E23563E00216E72CD5E817DB4200218021854 +:12350C00CF3E00216375CD5E81DD6EFEDD66FFC31F810D +:19006600E1C5D5DDE5DD210000DD39E9E526806F7EED2039ED3939E3E95E +:20351E00D52AAB857DA43C280CED5BAB853E00212272CD5E81210080E52AAD85E53E01218F +:20353E00AA44CD5E81F1F122AB857DA43C20122ABB86E5211585E53E0021016ECD5E81F1B5 +:20355E00F1D1C32581D52AAB857DA43C280CED5BAB853E00212272CD5E8121FFFF22AB85DA +:20357E00D1C32581D52AAB857DA43C280EED5BAB853E0021C775CD5E811803210000D1C3A2 +:02359E00258185 +:20041D002F6574632F706173737764004552524E4F202564206F70656E696E6720706173F0 +:07043D0073776F72640A007F +:0404BF00FFFF0985AD +:2035A000CD528159503E00213772CD5E8123E5DD4E04DD4605DD5E02DD56033E0121D949BA +:0735C000CD5E81F1C31F8104 +:1D007F00E3F5C54E23462378B1280D0B7B962320F57A9620F12323230909C39C81BF +:2035C700CD8881F4FF210001E501C288DD5E02DD56033E01213147CD5E81F1DD75FEDD7440 +:2035E700FF4D44210000CDA6813806210000C34C78010A0011C2883E01216D4BCD5E81DD32 +:2036070075F4DD74F57DB4285BDD6EF4DD66F523DD75F4DD74F52B3600210100E501C28867 +:20362700DD6EF4DD66F5A7ED42DD4EFEDD46FFA7ED427C079F4F41C5E5DD5E02DD56033E08 +:203647000021306ECD5E81F1F1F1DD6EF4DD66F52B2B7EFE0D200ADD6EF4DD66F52B2B36A2 +:2036670000C3FD76210001E501C288DD5E02DD56033E01213147CD5E81F1DD75FEDD74FF33 +:203687004D44210000CDA6813806210000C34C78010A0011C2883E01216D4BCD5E81DD751B +:2036A700F4DD74F57DB428BC210100E5DD6EFEDD66FF7C079F5F53D5E501C288DD6EF4DD2D +:2036C70066F5A7ED427C079F5F53A7C1ED42EBC1ED42E5D5210100C109EB210000C1ED4AC2 +:2036E700E5D5DD5E02DD56033E0021306ECD5E81F1F1F1C3CC753AC288FE2328153AC288B0 +:20370700FE20280E3AC288FE0A28073AC288FE092003C3CC75DD36F4C2DD36F588AFDD7785 +:20372700FCDD77FD010780DD6EFCDD66FD3E80AC67ED42D2F777DD5EFCDD56FDCDD0820060 +:20374700000700AD775A77657770777E778C779777A277DD6EF4DD66F522C2891848DD6EF5 +:20376700F4DD66F522C489183DDD6EF4DD66F5DD75FADD74FB182FDD6EF4DD66F5DD75F83B +:20378700DD74F91821DD6EF4DD66F522CA891816DD6EF4DD66F522CC89180BDD6EF4DD66F2 +:2037A700F522CE891800010680DD6EFCDD66FD3E80AC67ED42302E013A00DD5EF4DD56F57E +:2037C7003E01216D4BCD5E81DD75F4DD74F57DB42003C3CC75DD6EF4DD66F523DD75F4DD7D +:2037E70074F52B3600DD34FC2003DD34FDC32B77210A00E5210400394D44DD5EF8DD56F9F7 +:203807003E0121434CCD5E81F122C889DD6EF6DD66F7AFB62803C3CC75210A00E52104005E +:20382700394D44DD5EFADD56FB3E0121434CCD5E81F122C689DD6EF6DD66F7AFB62803C389 +:08384700CC7521C289C31F8169 +:1E009C00E1C5D5DDE5DD210000DD395E235623EB39F9EBE909097E23666FC1F1E3C924 +:20384F00CD8881FAFFAFDD77FBDD77FC59503E00213772CD5E81DD75FDDD74FEDD6E04DD15 +:20386F0066057EFE2D2014DD6E04DD660523DD7504DD74052B46DD700A180EAFDDB60A2829 +:20388F0008DD34FD2003DD34FEDD7E10DDA6113C281DDD4EFDDD46FEDD6E10DD6611CDA6E6 +:2038AF0081300CDD6E10DD6611DD75FDDD74FEDD4EFDDD46FEDD6E0EDD660FCDA681300CCB +:2038CF00DD6EFDDD66FEDD750EDD740FDD6E0EDD660FDD75FBDD74FC211400397EDD96FDEF +:2038EF0077237EDD9EFE77DD7E0EDDB60F2009DD7EFDDDB6FECAC679DD7E08DDB609203438 +:20390F00DD7E0EDDB60F282CDD7EFDDDB6FE280FAFDDB60A2809DD7E0CFE3020021823DDCD +:20392F00460CDD70FADD6E0EDD660F2BDD750EDD740F184EDD7EFDDDB6FE2833AFDDB60A53 +:20394F00280CDD460ADD70FADD360A001812DD6E04DD660523DD7504DD74052B46DD70FA4B +:20396F00DD6EFDDD66FE2BDD75FDDD74FE1813DD460CDD70FADD6E0EDD660F2BDD750EDD32 +:20398F00740FDD4E02DD4603DD5EFA16003E01219A4DCD5E81DD7EFAFE0A20183E01DDAEA5 +:2039AF0012DDB613200EDD5E02DD56033E0021A06BCD5E81C3F678DD6EFBDD66FCC3B082DE +:2039CF00CD8881A2FFAFDD77B0DD77B1210C00DD5E02DD5603197EE6034F237EE60047DD8F +:2039EF0071FDDD70FE210C00197EE6FC77237EE6FF77DD6E04DD6605AFB6CAD47EDD6E047E +:203A0F00DD66057EFE25C2877E3E02DDAEFDDDB6FE200EDD5E02DD56033E0021A06BCD5E58 +:203A2F0081AFDD77A4DD77A5DD36B300DD36B220DD36ACFFDD36ADFFAFDD77AADD77ABDDA5 +:203A4F0036A8FFDD36A9FFDD36AE0ADD36AF00211B0039DD75B5DD74B6DD36B400AFDD77E5 +:203A6F00A6DD77A7AFDD77A2DD77A3DD34042003DD3405DD6E04DD66057EFE30380BDD6EDB +:203A8F0004DD66053E39BE3002186521000039010A00CD6682DD6E04DD66054E060021D0F1 +:203AAF00FF094D44210000397E8177237E8877DD7EAADDB6AB280EDD6EA2DD66A3DD75A8A8 +:203ACF00DD74A91821DD7EA2DDB6A3200DDD7EB2FE202006DD36B230188ADD6EA2DD66A389 +:203AEF00DD75ACDD74ADDD34042003DD34051883DD6E04DD66055ECD4081140000202123D7 +:203B0F002A2B2D2E5862636468696C6F70737578837E8B7C937C167E667C5C7CE27BF77BB5 +:203B2F00ED7BF77BD37D527C817CD77B597B647B787B717BB57D647B497BDD6E04DD660531 +:203B4F002BDD7504DD7405C3877EDD36A401DD36A500C3737ADD6E04DD660546DD70B3C3F7 +:203B6F00737ADD36B401C3737A216800397EC60277237ECE00772B6E672B2B46236668DD02 +:203B8F0075A2DD74A3DD7EAADDB6AB280EDD6EA2DD66A3DD75A8DD74A9182ADD6EA2DD6659 +:203BAF00A3DD75ACDD74ADCB7C281ADD36A401DD36A500DD4EA2DD46A3A7210000ED42DDF7 +:203BCF0075ACDD74ADC3737ADD36AA01DD36AB00C3737ADD36A601DD36A700C3737AAFDD2B +:203BEF0077A6DD77A7C3737A210A00E5211D0039E5DD7EA6DDB6A7281D216C00397EC604F4 +:203C0F0077237ECE00772B6E6701FCFF095E2356234E2346181A216C00397EC60277237E2C +:203C2F00CE00772B6E672B2B5E23567A079F4F413E00212A7FCD5E81F1F1DD75B5DD74B6AF +:203C4F00C33A7EDD36AE02DD36AF001837DD36AE08DD36AF00182DAFDD77A6DD77A7DD367F +:203C6F00B230DD36AC05DD36AD00DD36A808DD36A900DD36AE10DD36AF001808DD36AEF0EC +:203C8F00DD36AFFFDD7EA6DDB6A7281E216800397EC60477237ECE00772B6E6701FCFF0967 +:203CAF005E2356234E2346EB1819216800397EC60277237ECE00772B6E672B2B4623666836 +:203CCF00010000DD75B9DD74BADD71BBDD70BCDD5EAEDD56AFD5211D003901040009E5DDC5 +:203CEF004EBBDD46BCDD5EB9DD56BA3E0121F64ECD5E81F1F1DD75B5DD74B6DD36B730DDD5 +:203D0F0036B885AFDDB6B4CAB27D3E02DDAEAEDDB6AF200ADD36B731DD36B88518493E085B +:203D2F00DDAEAEDDB6AF2018DD7EB9DDB6BADDB6BBDDB6BC2808DD36B734DD36B885182706 +:203D4F003E10DDAEAEDDB6AF200ADD36B736DD36B88518133E0FDDAEAEDDA6AF3C2008DDED +:203D6F0036B739DD36B885DD6EB7DD66B8AFB62832DD36B200DD4EB7DD46B8211B00395DAE +:203D8F00543E0021A075CD5E81DD4EB5DD46B6211B00395D543E0121334BCD5E81DD75B530 +:203DAF00DD74B6C33A7EDD6E04DD6605234E0600DD71A2DD70A379B02808DD34042003DD16 +:203DCF003405181C216800397EC60277237ECE00772B6E672B2B46236668DD75A2DD74A38D +:203DEF00DD46A2DD6EB5DD66B670DD6EB5DD66B6233600AFDDB6B4280CDD6EB5DD66B646CB +:203E0F00DD70B21822181C216800397EC60277237ECE00772B6E672B2B46236668DD75B52D +:203E2F00DD74B6DD36B220DD36B300DD6EFDDD66FEE5DD6EA8DD66A9E5DD6EACDD66ADE5C3 +:203E4F00DD6EB2E5DD6EB3E5DD6EA4DD66A5E5DD4EB5DD46B6DD5E02DD5603CD4F78EB2106 +:203E6F000C0039F9EB4D44210E00397E8177237E8877180218021842DD4E02DD4603DD6ECF +:203E8F0004DD66055E16003E01219A4DCD5E81DD34B02003DD34B1DD6E04DD66057EFE0A9D +:203EAF0020183E01DDAEFDDDB6FE200EDD5E02DD56033E0021A06BCD5E81DD34042003DD97 +:203ECF003405C3017A210C00DD4E02DD4603097EDDB6FD77237EDDB6FE773E02DDAEFDDD00 +:203EEF00B6FE200EDD5E02DD56033E0021A06BCD5E813E01DDAEFDDDB6FE2016210400DDB8 +:1B3F0F004E02DD460309E5210600094E2346E1712370DD6EB0DD66B1C31F8115 +:0C044400003062003000307800305800BA +:203F2A00CD8881FEFFDD36FE41DDCB0D7E2816DD36FE61DD4E0CDD460DA7210000ED42DD34 +:203F4A00750CDD740DDD6EFEE53E0ADDAE0CDDB60D20043E011801AF4FC5DD6E0CDD660DE5 +:203F6A00E5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E01210040CD5E81F1F1F1F1F0 +:033F8A00C31F81D1 +:1200BA00C5E5F57CEE806778EE8047F1A7ED42E1C1C9E5 +:20400000CD8881D6FFDD6E0ADD660BDD75F8DD74F921000039DD75FADD74FB212C0039DD69 +:2040200075FCDD74FD213A00397ED60A77DD4E0CDD460D212400CDA6813811010280DD6EA1 +:204040000CDD660D3E80AC67ED423003C38341DD6EFCDD66FD23237EE60047237EE680B01B +:204060002831AFDDB60E282BDD6EF8DD66F923DD75F8DD74F92B362DDD4E04DD4605DD6EDE +:2040800002DD6603CD6B83DD7502DD7403DD7104DD7005DD6EFCDD66FD23237E23B620028B +:2040A000184EDD6E0CDD660D7C079F4F41C5E5DD4E04DD4605DD6E02DD6603CD0283E5DD99 +:2040C0006EFADD66FB23DD75FADD74FB2BC171212C0039DD5E0CDD560D7A079F4F41CDF2A6 +:2040E00082DD6EFCDD66FD23237E23B620B41830DD5E02DD5603DD4E0CDD460DCDB881DD41 +:204100006EFADD66FB23DD75FADD74FB2B73DD5E02DD5603CDEB81DD6EFCDD66FD73237265 +:20412000DD6EFCDD66FD7E23B620C5210000394D44DD6EFADD66FBA7ED42DD75FFAFDDB6E5 +:20414000FF2840DD6EFADD66FB2BDD75FADD74FB46DD70FE78FE0A300ADD7EFEC630DD77C4 +:20416000FE1809DD7EFEDD8610DD77FEDD6EF8DD66F923DD75F8DD74F92BDD46FE70DD35FE +:20418000FF18BADD6EF8DD66F93600DD6E0ADD660BC31F81CD8881FEFFDD36FE41DDCB0BBB +:2041A0007E2816DD36FE61DD4E0ADD460BA7210000ED42DD750ADD740BDD6EFEE50E01C5BD +:2041C000DD6E0ADD660BE5DD6E04DD6605E53E0ADDAE0ADDB60B200DDD5E02DD56037A073F +:2041E0009F4F411809DD5E02DD56030100003E01210040CD5E81F1F1F1F1C31F81CD8881B2 +:20420000DCFFDD36F8B9DD36F979DD36FA37DD36FB9E211000E501000011D0893E01219910 +:2042200049CD5E81F1210200E5DD4E04DD460511D0893E0121D949CD5E81F1DD36FE00DDC2 +:204240007EFEFE0E302EDD4EFE0600DD6E02DD6603097EB7281E21D289DD4EFE060009E599 +:20426000DD4EFE0600DD6E02DD66030946E170DD34FE18CBDD4EFE0600DD6E02DD6603091F +:204280007EB72818DD4EFE0600DD6E02DD6603093AD2898632D289DD34FE18D8211000E521 +:2042A00001D089210A00395D543E0121D949CD5E81F1AFDD77F4DD77F5DD77F6DD77F7AFEC +:2042C000DD77E0DD77E1DD77E2DD77E3AFDD77DCDD77DDDD77DEDD77DFDD36FE40AFDDB600 +:2042E000FECAFF4321180039DD4EFADD46FBDD5EF8DD56F9CDB78221000039E521060039FB +:204300005E2356234E2346EB3E05CD0782C5E5DD6EE8DD66E9C109EBDD6EEADD66EBC1ED99 +:204320004AE5D5DD6EE2DD66E3E5DD6EE0DD66E1E5DD6EF4DD66F5C109EBDD6EF6DD66F766 +:20434000C1ED4AE5D5210E00395E2356234E2346EB3E04CD3882C5E5DD6EE4DD66E5C10913 +:20436000EBDD6EE6DD66E7C1ED4A4D44EBCD7982CD7982EBE1CDB78221040039E5210200BB +:20438000395E2356234E2346EB3E05CD0782C5E5DD6EF0DD66F1C109EBDD6EF2DD66F3C1AD +:2043A000ED4AE5D5DD6EDEDD66DFE5DD6EDCDD66DDE5DD6EF4DD66F5C109EBDD6EF6DD6600 +:2043C000F7C1ED4AE5D5210A00395E2356234E2346EB3E04CD3882C5E5DD6EECDD66EDC199 +:2043E00009EBDD6EEEDD66EFC1ED4A4D44EBCD7982CD7982EBE1CDB782DD35FEC3DD422175 +:20440000000039DD75FCDD74FDDD36FE02DD7EFEFE0DD2A044DD7EFEFE0820282100003999 +:20442000E5210600395E2356234E2346EB3E1CCD0782EBE1CD9782DD7EFCC604DD77FC3098 +:2044400003DD34FDDD6EFCDD66FD5E2356234E2346EB7DE63FDD77FF3E06DD6EFCDD66FD68 +:20446000CDDD81DD7EFFFE0C300ADD7EFFC62EDD77FF1819DD7EFFFE26300ADD7EFFC63594 +:20448000DD77FF1808DD7EFFC63BDD77FFDD4EFE060021D08909DD46FF70DD34FEC30D4494 +:0A44A000AF32DD8921D089C31F81EE +:2044AA00CD5281DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5211400E53E00211E17 +:0B44CA006BCD5E81F1F1F1F1C31F81A9 +:2000CC00F5E5CD5082EBE1F1C9F5C5E5AFCD2783F5CD5082F1B728031318067B2F5F7A2F06 +:2000EC0057E1C1F1C95E2356234E2346EBCD0782C37082F5E5CD50827B2F5F7A2F57E1F146 +:01010C00C929 +:2044D500CD8881FAFFDD6E02DD6603232323CB3CCB1DCB3CCB1D23DD75FEDD74FF2AE489C4 +:2044F500DD75FCDD74FD7DB42011DD36FCE0DD36FD8921E08922E28922E489DD6EFCDD66F1 +:20451500FD232346236668DD75FADD74FBDD6EFADD66FB232346236668DD4EFADD46FBA78A +:20453500ED42CAC545DD6EFADD66FB462366682929DD4EFADD46FB09E5030369604E2346A0 +:20455500E1A7ED42206ADD6EFADD66FB232346236668ED4BE489A7ED422015DD6EFADD66CD +:20457500FB23234623666823234623666822E489DD6EFADD66FB23237E23666F4E2346DDCF +:204595006EFADD66FB7E8177237E8877DD6EFADD66FB2323E5DD4EFADD46FB030369604E3C +:2045B5002346030369604E2346E1712370C32245DD6EFADD66FB46236668DD4EFEDD46FFE3 +:2045D500A7ED42DA8346DD6EFADD66FB46236668DD4EFEDD46FFA7ED42201CDD6EFCDD66AC +:2045F500FD2323E5DD4EFADD46FB030369604E2346E17123701856DD6EFEDD66FF2929DDA8 +:204615004EFADD46FB0922E489DD6EFCDD66FD2323ED5BE4897323722AE4892323E5030335 +:2046350069604E2346E1712370DD6EFADD66FB46236668DD4EFEDD46FFA7ED42E52AE489A9 +:20465500D1732372DD6EFADD66FB712370DD6EFCDD66FD22E489DD6EFADD66FB2323AF77E0 +:204675002377210400DD4EFADD46FB0918272AE489DD4EFADD46FBA7ED42204F1100043E69 +:204695000121614FCD5E81DD75FADD74FB7DA43C2006210000C31F81DD6EFADD66FB36002F +:2046B500233601DD6EFADD66FB2323AF772377210400DD4EFADD46FB09EB3E0021DC73CD2B +:2046D5005E812AE489DD75FADD74FBDD6EFADD66FBDD75FCDD74FDDD6EFADD66FB23234689 +:0C46F500236668DD75FADD74FBC3224506 +:20010D00B7C8CB28CB19CB1CCB1D3D20F5C9B7C8FE0838096C61480600D60818F2CB38CBFB +:09012D0019CB1CCB1D3D20F5C9C6 +:20470100CD52812ABD863ABF86B5B42812010000DD5E02DD56033ABF862ABD86CD5E81DD80 +:204721005E02DD56033E0121A84BCD5E81C31F81CD5281DD6E0ADD660BE5C5D5211700E5A1 +:0F4741003E00211E6BCD5E81F1F1F1F1C31F81AE +:20013600DDF9DDE1D13333F1ED3939C90405C8CB2ACB1B10FAC9B7C8FE083809414C652E60 +:0E01560000D60818F229CB11CB103D20F8C9B5 +:20475000CD8881FAFFDD71FADD70FBDD6E02DD6603DD75FCDD74FDDD36FE00DD36FF00DDBB +:204770006E0ADD660B2BDD750ADD740B237DB4282CDD6EFCDD66FD23DD75FCDD74FD2B4621 +:20479000DD70FFDD6EFADD66FB23DD75FADD74FB2B4EDD71FE79B82802180218C2DD4EFF41 +:2047B0000600DD6EFE2600A7ED42C31F81CD5281DD6E0ADD660BE5C5D5210A00E53E00210A +:0C47D0001E6BCD5E81F1F1F1F1C31F8181 +:160164002100003E11CB13CB123DC8CB15CB14ED4230F20918EF35 +:2047DC00CD888176FFAFDD77FEDD77FF2AB1857DB4282BDDCB037E200FED4BB185DD6E0227 +:2047FC00DD6603CDA6813803C36149DD6E02DD660329ED4BAF850946236668C39649DD4E86 +:20481C0002DD4603210000CDA6813803C36149210000E5213C85E53E0121AA44CD5E81F1DF +:20483C00F1DD75FADD74FBCB7C2803C36149218000E5210400394D44DD5EFADD56FB3E01DD +:20485C00213147CD5E81F1DD75F8DD74F94D44210000CDA681D26149AFDD77FCDD77FDDD23 +:20487C004EF8DD46F9DD6EFCDD66FDA7ED42D25E4921020039DD4EFCDD46FD097EFE0AC2F0 +:20489C00264921E689DD4EFEDD46FF09360011E6893E01214B4FCD5E81DD4E02DD4603A753 +:2048BC00ED42205D21000039E501200011E6893E01216D4BCD5E814D44E171237079B020CD +:2048DC0010DD5EFADD56FB3E00212272CD5E811874210000397E23666F7EFE20200B210066 +:2048FC000039342320013418E8DD5EFADD56FB3E00212272CD5E812100003946236668180C +:20491C0079AFDD77FEDD77FF182D014F00DD6EFEDD66FFA7ED42301F21020039DD4EFCDD09 +:20493C0046FD0946DD6EFEDD66FF23DD75FEDD74FF2B11E6891970DD34FC2003DD34FDC346 +:20495C007B48C34A48014E8511E6893E0021A075CD5E81210A00E511E6893E00213772CD4A +:1D497C005E8101E689094D44DD5E02DD56033E01219441CD5E81F121E689C31F81FD +:200450002F6C69622F6C69626572726F722E74787400556E6B6E6F776E206572726F7220AE +:01047000008B +:0404C3000000000035 +:13017A005E2356CD2A81722B73C9EB702B712B722B73C94F +:20499900CD8881FEFFDD6E02DD6603DD75FEDD74FFDD6E0ADD660B2BDD750ADD740B237DD2 +:2049B900B42814DD4604DD6EFEDD66FF23DD75FEDD74FF2B7018DADD6E02DD6603C31F81F6 +:2049D900CD8881FCFFDD6E02DD6603DD75FCDD74FDDD71FEDD70FFDD6E0ADD660B2BDD7506 +:2049F9000ADD740B237DB42820DD6EFEDD66FF23DD75FEDD74FF2B46DD6EFCDD66FD23DD56 +:204A190075FCDD74FD2B7018CEDD6E02DD6603C31F81CD8881FAFF2AB3852BDD75FADD744E +:204A3900FB21FFFF22B3853E0021000032BF8622BD86DDCBFB7E2053010500DD5EFADD56AC +:204A5900FBCD2A8121368A195E23562346EBDD75FCDD74FDDD70FE110500DD4EFADD46FB65 +:204A7900CD2A8121398A194E2346DD5E02DD5603DD7EFEDD6EFCDD66FDCD5E81DD6EFADDD0 +:204A990066FB2BDD75FADD74FB18A7C31F81CD52812AB385CB7C200E010A802AB3853E8095 +:204AB900AC67ED42380B210C0022BB8621FFFF18533E01212B4A32BF8622BD86DD7E02DD53 +:204AD900B603DDB604283A010500ED5BB385CD2A8121368A19DD5604DD4E02DD46037123F5 +:204AF900702372010500ED5BB385CD2A8121398A19DD4E0ADD460B7123702AB3852322B3DC +:1A4B190085210000C31F81CD5281210000E53E0121A74ACD5E81F1C31F8182 +:0204C700000033 +:1E018D00EBE3F5E5210600397EAB77237EAA77D1237E73A94F237E72A847F1D1E1C99F +:204B3300CD5281D53E00213772CD5E81D119EB3E0021A075CD5E81DD6E02DD6603C31F814E +:1A4B530021040039D55E2356234D44F7300822BB8621FFFF4D44D1C325810E +:1901AB00F57EB3775F237EB27757237EB1774F237EB077472B2B2BF1C9BC +:204B6D00CD8881FEFFDD6E02DD660346DD70FE480600DD6E04DD6605A7ED422008DD6E0201 +:204B8D00DD66031809AFDDB6FE2006210000C31F81DD34022003DD340318CACD5281D521F5 +:104BAD000B00E53E00211E6BCD5E81F1F1C31F812F +:2001C400DDF9DDE1D1C1C9F57E83775F237E8A7757237E89774F237E8877472B2B2BF1C955 +:204BBD00CD8881FEFFDD36FEFFDD36FFFFDD5E02160021B585197EE608280FDD4E02060047 +:204BDD0021D0FF09DD75FEDD74FFDD4E02060021B585097EE604280FDD4E02060021A9FFED +:204BFD0009DD75FEDD74FFDD4E02060021B585097EE602280FDD4E02060021B0FF09DD755D +:204C1D00FEDD74FFDD4E04DD4605DD6EFEDD66FFCDA6813808DD36FEFFDD36FFFFDD6EFEA9 +:204C3D00DD66FFC3B082CD8881FAFF110280DD6E0ADD660B3E80AC67ED52380EDD4E0ADDB3 +:204C5D00460B212400CDA6813007AFDD770ADD770BDD6E02DD66034E060021B585097EE65B +:204C7D0010280ADD34022003DD340318E4DD6E02DD66037EFE2B200ADD34022003DD3403E1 +:204C9D00186DDD7E0ADDB60B2065DD6E02DD66037EFE30205ADD6E02DD6603237EEE20FEF1 +:204CBD00582017DD360A10DD360B00210800397EC60277237ECE00771835DD6E02DD660318 +:204CDD00237EEE20FE422017DD360A02DD360B00210800397EC60277237ECE00771810DD4A +:204CFD00360A08DD360B00DD34022003DD3403DD7E0ADDB60B2008DD360A0ADD360B00AFC8 +:204D1D00DD77FADD77FBDD77FCDD77FDDD4E0ADD460BDD6E02DD66035ECDBD4BDD75FEDDE2 +:204D3D0074FF7DA43C282E21000039DD5E0ADD560B7A079F4F41CDD58321000039DD5EFEEB +:204D5D00DD56FF7A079F4F41CDB782DD34022003DD340318B7DD7E04DDB6052811DD6E02B8 +:204D7D00DD6603E5DD6E04DD6605C1712370DD4EFCDD46FDDD6EFADD66FBC32282CD888188 +:204D9D00FEFF3E0021C86ECD5E81210C000946236668DD75FEDD74FF7DE6402818DD5E0489 +:204DBD00DD56053E0021A06BCD5E817DB4280621FFFFC3A94EDD7EFEE6206FDD7EFFE6033F +:204DDD00673E20ADB4280621FFFFC3A94E210800DD4E04DD4605095E23560A6F030A67A795 +:204DFD00ED523818DD5E04DD56053E0021A06BCD5E817DB4280621FFFFC3A94EDD6E04DD16 +:204E1D0066054E234603702B710B6960DD460270210C00DD4E04DD4605097EF68077237E42 +:204E3D00F600773E0ADDAE02DDB6032007DD7EFEE6012007DD7EFEE6022817DD5E04DD56FD +:204E5D00053E0021A06BCD5E817DB4280521FFFF183ADD7EFEE6032818210400DD4E04DD98 +:204E7D00460509E5210600094E2346E17123701816210400DD4E04DD460509E52108000946 +:204E9D004E2346E1712370DD6E022600C31F81CD5281160021B585197EE604280EDD7E025E +:204EBD00EE206FDD7E03EE00671806DD6E02DD6603C31F81CD5281160021B585197EE60201 +:194EDD00280EDD7E02EE206FDD7E03EE00671806DD6E02DD6603C31F81E5 +:2004C9000101010101010101011111111111010101010101010101010101010101010101A3 +:2004E900102020202020202020202020202020204848484848484848484820202020202073 +:2005090020424242424242020202020202020202020202020202020202020220202020205E +:20052900204444444444440404040404040404040404040404040404040404202020200129 +:20054900000000000000000000000000000000000000000000000000000000000000000092 +:20056900000000000000000000000000000000000000000000000000000000000000000072 +:20058900000000000000000000000000000000000000000000000000000000000000000052 +:2005A900000000000000000000000000000000000000000000000000000000000000000032 +:204EF600CD8881FEFFDD36FE41DDCB0D7E2816DD36FE61DD4E0CDD460DA7210000ED42DD59 +:204F1600750CDD740DDD6EFEE50E00C5DD6E0CDD660DE5DD6E0ADD660BE5DD4E04DD460530 +:154F3600DD5E02DD56033E01210040CD5E81F1F1F1F1C31F8180 +:2001E400E3F5D57B96235F7A9E23577B96237A9E23C3E4823004EB2329195E2356EBD1F189 +:12020400E3C9C5D55E2356234E2346EBCD4383C37884B4 +:164F4B00CD5281210A00E50100003E0121764FCD5E81F1C31F817A +:20021600EBE3F5DDE5DD210000DD39C5D5DD5609DD7409DD5E08DD7508CD7D83DDF9DDE101 +:20023600F1D13333C9CB782809AF914F3E0098473E01CB7AC8F5AF935F3E009A57F1EE01A6 +:20025600C9EBE3F5DDE5DD210000DD39C5D5DD5609DD7409DD5E08DD7508CD7D83E1C1CD1D +:090276006984DDE1F1D13333C9E3 +:154F6100CD5281D5211800E53E00211E6BCD5E81F1F1C31F81CF +:20027F00F5AF956F3E009C673E00994F3E009847F1C9F5210000010000DD36F82118021903 +:20029F0037DDCBFC16DDCBFD16DDCBFE16DDCBFF16DD35F8282ECB11CB10CB15CB14ED5205 +:2002BF0038DD201078DD960738D5200879DD960638CD180479DD96064F78DD9E074730C12D +:2002DF002BA718BDF1E56069C1C9C5D55E2356234E2346EBCDE583C37884E3D5DDE5DD218D +:2002FF000000DD39DD5609DD7409DD5E08DD7508D5C5F5DD6E0462ED6CDD5605ED5C19590A +:20031F00DD5607ED5C19DD5E0650ED5C19E5DD5E04DD56FEED5CDD6E05DD6607ED6C19DDA8 +:20033F004606ED4C09E5DD5E04DD5607ED5CDD6E05DD6606ED6CAF1917F5DD5E04DD56062B +:20035F00ED5C4A0600AF091755C14CE10984C1814D47EBF1D1D1DDE1D133333333C9F57D5C +:16037F002F6F7C2F67792F4F782F47F1C9EB702B712B722B73C91E +:204F7600CD8881F8FFAFDD77FCDD77FDDD6E02DD6603DD75FEDD74FFDD6EFEDD66FF4E06EC +:204F96000021B585097EE610280ADD34FE2003DD34FF18E4DD6EFEDD66FF7EFE2D2012DD70 +:204FB60034FC2003DD34FDDD34FE2003DD34FF1813DD6EFEDD66FF7EFE2B2008DD34FE2084 +:204FD60003DD34FFDD6E0ADD660BE5DD4E04DD4605DD5EFEDD56FF3E0121434CCD5E81F1D2 +:204FF600DD75F8DD74F9DD71FADD70FBDD7EFCDDB6FD2805CD6B83180CDD4EFADD46FBDD64 +:085016006EF8DD66F9C3228289 +:00000001FF diff --git a/src/gui/grlogin.map b/src/gui/grlogin.map index 8f8c2e6c..e915791e 100644 --- a/src/gui/grlogin.map +++ b/src/gui/grlogin.map @@ -9,15 +9,15 @@ Area Addr Size Decimal Bytes (Attributes) 00000000 s__DEFAUL | 00000000 l_CCSTR | 00000000 l_ECSTR 00000000 .__.ABS. | 00000000 ?CL64180L | 00000000 ?CL64180B 00000014 e__DEFAUL | 00000014 l__DEFAUL | 00000034 l_CONST - 000000A0 l_CSTR | 00000158 l_CDATA0 | 00000158 l_IDATA0 + 000000A8 l_CSTR | 00000158 l_CDATA0 | 00000158 l_IDATA0 00000381 l_RCODE | 000003B3 l_UDATA0 | 00001000 l_CSTACK 00004000 s_CODE | 00008100 s_RCODE | 00008481 e_RCODE 00008481 s_CONST | 000084B5 s_CSTR | 000084B5 e_CONST - 00008555 e_CSTR | 00008555 s_IDATA0 | 00008555 s_CDATA0 - 000086AD s_UDATA0 | 000086AD e_CCSTR | 000086AD e_ECSTR - 000086AD s_CCSTR | 000086AD e_CDATA0 | 000086AD s_ECSTR - 000086AD e_IDATA0 | 00008A60 e_UDATA0 | 00008A60 s_CSTACK - 00009A60 e_CSTACK | 0000C00E l_CODE | 0001000E e_CODE + 0000855D e_CSTR | 0000855D s_IDATA0 | 0000855D s_CDATA0 + 000086B5 s_UDATA0 | 000086B5 e_CCSTR | 000086B5 e_ECSTR + 000086B5 s_CCSTR | 000086B5 e_CDATA0 | 000086B5 s_ECSTR + 000086B5 e_IDATA0 | 00008A68 e_UDATA0 | 00008A68 s_CSTACK + 00009A68 e_CSTACK | 0000C073 l_CODE | 00010073 e_CODE Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) @@ -37,16 +37,16 @@ RCODE 00008100 00000381 = 897. bytes (REL,CON) 00008100 __init | 0000811F ?BANK_LEA | 00008125 ?BANK_FAS 0000812A ?S_MUL_L0 | 00008140 ?C_V_SWIT | 00008152 ?ENT_PARM 0000815E ?BANK_CAL | 0000816B ?S_V_SWIT | 00008188 ?ENT_AUTO - 0000819C ?V_SWITCH | 000081A6 ?SS_CMP_L | 000081B8 ?SS_DIV_L - 000081D4 ?UL_RSHAS | 000081E2 ?SL_RSH_L | 000081F0 ?UL_RSH_L - 0000820B ?BANK_LEA | 00008217 ?SS_RSH_L | 00008221 ?L_LSH_L0 - 00008239 ?S_DIVMOD | 0000824F ?L_END_AS | 00008258 ?L_XOR_L0 - 00008276 ?L_ORASG_ | 0000828F ?LEAVE_DI | 00008296 ?L_ADDASG - 000082AF ?S_S_SWIT | 000082C3 ?S_SWITCH | 000082D1 ?S_FIND_S - 000082ED ?L_NEG_L0 | 000082FF ?US_MOD_L | 00008308 ?US_DIV_L - 00008316 ?L_MULASG | 00008326 ?L_MUL_L0 | 000083AA ?S_MULASG - 000083B4 ?L_END_MU | 000083BD ?UL_DIVAS | 000083CD ?UL_MOD_L - 000083F2 ?UL_DIV_L | 0000841A ?L_DIVMOD | 00008472 ?L_NOT_L0 + 0000819C ?V_SWITCH | 000081A6 ?SS_CMP_L | 000081B8 ?US_MOD_L + 000081C1 ?SS_DIV_L | 000081DD ?UL_RSHAS | 000081EB ?US_DIV_L + 000081F9 ?SL_RSH_L | 00008207 ?UL_RSH_L | 00008222 ?BANK_LEA + 0000822E ?SS_RSH_L | 00008238 ?L_LSH_L0 | 00008250 ?S_DIVMOD + 00008266 ?S_MULASG | 00008270 ?L_END_AS | 00008279 ?L_XOR_L0 + 00008297 ?L_ORASG_ | 000082B0 ?LEAVE_DI | 000082B7 ?L_ADDASG + 000082D0 ?S_S_SWIT | 000082E4 ?S_SWITCH | 000082F2 ?UL_DIVAS + 00008302 ?UL_MOD_L | 00008327 ?S_FIND_S | 00008343 ?UL_DIV_L + 0000836B ?L_NEG_L0 | 0000837D ?L_DIVMOD | 000083D5 ?L_MULASG + 000083E5 ?L_MUL_L0 | 00008469 ?L_NOT_L0 | 00008478 ?L_END_MU Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) @@ -59,7 +59,7 @@ Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -CSTR 000084B5 000000A0 = 160. bytes (REL,CON) +CSTR 000084B5 000000A8 = 168. bytes (REL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ @@ -67,18 +67,18 @@ Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -IDATA0 00008555 00000158 = 344. bytes (NUL,CON) +IDATA0 0000855D 00000158 = 344. bytes (NUL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ - 00008555 __IO_list | 00008557 stdin | 0000856F stdout - 00008587 stderr | 000085A5 _path_pas | 000085A7 __sys_err - 000085A9 __sys_ner | 000085AB __on_exit | 000085AD __ctype + 0000855D __IO_list | 0000855F stdin | 00008577 stdout + 0000858F stderr | 000085AD _path_pas | 000085AF __sys_err + 000085B1 __sys_ner | 000085B3 __on_exit | 000085B5 __ctype Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -CDATA0 00008555 00000158 = 344. bytes (REL,CON) +CDATA0 0000855D 00000158 = 344. bytes (REL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ @@ -86,7 +86,7 @@ Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -ECSTR 000086AD 00000000 = 0. bytes (NUL,CON) +ECSTR 000086B5 00000000 = 0. bytes (NUL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ @@ -94,7 +94,7 @@ Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -CCSTR 000086AD 00000000 = 0. bytes (REL,CON) +CCSTR 000086B5 00000000 = 0. bytes (REL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ @@ -102,67 +102,67 @@ Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -CODE 00004000 0000C00E = 49166. bytes (NUL,CON) +CODE 00004000 0000C073 = 49267. bytes (NUL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ - 000045C1 GraphicsO | 0000464F GraphicsC | 00004664 Move - 000046A3 ClearRect | 000046E6 DrawRectN | 0000472B FillRect - 00004770 FillRectN | 000047B5 GrayRect | 000047FA Text - 00004827 TouchRegi | 0000487E ClearScre | 000048BB EnableScr - 000048F9 grSetFont | 00004936 fontSearc | 00004966 setCurren - 000049F4 loadFont | 00004A9B stringwid | 00004B14 stringhei - 00004B31 stringhei | 00004B44 stringhei | 00004B4D stringwid - 00004B5E stringwid | 00004B67 stringwid | 00004B70 Component - 00004C1A Component | 00004C67 Component | 00004CC5 Component - 00004D0B Component | 00004D4F Component | 00004D87 Component - 00004F58 Component | 00004F77 Component | 00004FE0 Component - 00005093 Window_ha | 00005360 Window_pa | 000054ED Root_pain - 00005524 Window_ad | 00005532 Window_ne | 00005584 Button_ha - 0000563B Button_dr | 000056F7 Button_pa | 000057F0 Button_ad - 000057F6 Button_ne | 00005848 ToggleBut | 000058E4 ToggleBut - 000059D0 ToggleBut | 00005A22 Dialog_ha | 00005ADB Dialog_ne - 00005BCA Display_h | 00005C4B Display_p | 00005D97 Display_n - 00005DF1 Label_han | 00005DF7 Label_pai | 00005E58 Label_new - 00005EB1 rootWindo | 00005ECF screenbui | 000062A9 root_acti - 000065E1 read_stri | 000066B6 gui_globa | 000066BC GUIinit - 000067E3 GUIunit | 00006808 GUIgo | 000068BD login - 000069CC login_act | 00006AC5 main | 00006AFA setgid - 00006B14 unix | 00006B2E strrchr | 00006B96 fflush - 00006DA9 chdir | 00006DBE _write | 00006DDD setuid - 00006DF7 lseek | 00006E24 __stdio_c | 00006E8F __stdio_i - 00006ECD setenv | 00007149 unsetenv | 000071E9 close - 000071FE strlen | 00007235 strcmp | 000072D6 perror - 00007313 execv | 00007326 ioctl | 00007351 isatty - 0000738C fstat | 000073A3 free | 00007483 getpwnam - 000074E5 setpwent | 0000752A endpwent | 00007549 getpwent - 00007567 strcpy | 0000758E __getpwen | 00007816 crypt - 00007AC3 open | 00007AEE malloc | 00007D1A exit - 00007D4A _read | 00007D69 memcmp | 00007DD6 execve - 00007DF5 strerror | 00007FB2 memset | 00014000 memcpy - 000140CE on_exit | 00014147 atexit | 0001415A printf - 00014189 unix_long | 000141A3 strchr | 000141DE _exit - 00014279 strtoul | 000143D0 toupper | 000143F5 tolower - 0001441A atoi | 00014430 __longtoa | 000145C4 itoa - 000147AD vfprintf | 00014D08 ltoa | 00014D6B sbrk - 00014D80 strcat | 00014DA0 fputc | 00014EB2 ultoa - 00014F07 strtol + 000045C9 GraphicsO | 00004657 GraphicsC | 0000466C Move + 000046AB ClearRect | 000046EE DrawRectN | 00004733 FillRect + 00004778 FillRectN | 000047BD GrayRect | 00004802 Text + 0000482F TouchRegi | 00004886 ClearScre | 000048C3 EnableScr + 00004901 grSetFont | 0000493E fontSearc | 0000496E setCurren + 000049FC loadFont | 00004AA3 stringwid | 00004B1C stringhei + 00004B39 stringhei | 00004B4C stringhei | 00004B55 stringwid + 00004B66 stringwid | 00004B6F stringwid | 00004B78 Component + 00004C22 Component | 00004C6F Component | 00004CCD Component + 00004D13 Component | 00004D57 Component | 00004D8F Component + 00004F60 Component | 00004F7F Component | 00004FE8 Component + 0000509B Window_ha | 00005368 Window_pa | 000054F5 Root_pain + 0000552C Window_ad | 0000553A Window_ne | 0000558C Button_ha + 00005643 Button_dr | 000056FF Button_pa | 000057F8 Button_ad + 000057FE Button_ne | 00005850 ToggleBut | 000058EC ToggleBut + 000059D8 ToggleBut | 00005A2A Dialog_ha | 00005AE3 Dialog_ne + 00005BD2 Display_h | 00005C53 Display_p | 00005D9F Display_n + 00005DF9 Label_han | 00005DFF Label_pai | 00005E60 Label_new + 00005EB9 rootWindo | 00005ED7 screenbui | 000062A7 root_acti + 000065DF read_stri | 000066B4 gui_globa | 000066BA GUIinit + 000067E1 GUIunit | 00006806 GUIgo | 000068C7 login + 000069D6 login_act | 00006ACF main | 00006B04 setgid + 00006B1E unix | 00006B38 strrchr | 00006BA0 fflush + 00006DB3 chdir | 00006DC8 _write | 00006DE7 setuid + 00006E01 printf | 00006E30 lseek | 00006E5D __stdio_c + 00006EC8 __stdio_i | 00006F06 setenv | 00007182 unsetenv + 00007222 close | 00007237 strlen | 0000726E strcmp + 0000730F perror | 0000734C execv | 0000735F ioctl + 0000738A isatty | 000073C5 fstat | 000073DC free + 000074BC getpwnam | 0000751E setpwent | 00007563 endpwent + 00007582 getpwent | 000075A0 strcpy | 000075C7 __getpwen + 000079CF vfprintf | 00007F2A ltoa | 00014000 __longtoa + 00014194 itoa | 000141FD crypt | 000144AA open + 000144D5 malloc | 00014701 exit | 00014731 _read + 00014750 memcmp | 000147BD execve | 000147DC strerror + 00014999 memset | 000149D9 memcpy | 00014AA7 on_exit + 00014B20 atexit | 00014B33 strcat | 00014B53 unix_long + 00014B6D strchr | 00014BA8 _exit | 00014C43 strtoul + 00014D9A fputc | 00014EAC toupper | 00014ED1 tolower + 00014EF6 ultoa | 00014F4B atoi | 00014F61 sbrk + 00014F76 strtol Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -UDATA0 000086AD 000003B3 = 947. bytes (REL,CON) +UDATA0 000086B5 000003B3 = 947. bytes (REL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ - 000086AD _argc | 000086AF _argv | 000086B1 environ - 000086B3 errno | 000086B5 __cleanup | 000086B8 global - 000089D8 __malloc_ | 000089DC __malloc_ | 00008A2E __on_exit + 000086B5 _argc | 000086B7 _argv | 000086B9 environ + 000086BB errno | 000086BD __cleanup | 000086C0 global + 000089E0 __malloc_ | 000089E4 __malloc_ | 00008A36 __on_exit Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -CSTACK 00008A60 00001000 = 4096. bytes (REL,CON) +CSTACK 00008A68 00001000 = 4096. bytes (REL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ @@ -185,6 +185,7 @@ Libraries Linked [ object file ] ..\..\lib\libsysb.lib [ relsysb\write.rel ] ..\..\lib\libiar.lib [ reliar\SMUL.rel ] ..\..\lib\libsysb.lib [ relsysb\setuid.rel ] +..\..\lib\libcb.lib [ relcb\printf.rel ] ..\..\lib\libsysb.lib [ relsysb\lseek.rel ] ..\..\lib\libcb.lib [ relcb\stdio0.rel ] ..\..\lib\libcb.lib [ relcb\setenv.rel ] @@ -207,11 +208,16 @@ Libraries Linked [ object file ] ..\..\lib\libcb.lib [ relcb\getpwent.rel ] ..\..\lib\libiar.lib [ reliar\ENTAUTODIRECT.rel ] ..\..\lib\libiar.lib [ reliar\VSWITCHEND.rel ] +..\..\lib\libcb.lib [ relcb\vfprintf.rel ] +..\..\lib\libcb.lib [ relcb\ltoa.rel ] ..\..\lib\libiar.lib [ reliar\SSCMP.rel ] +..\..\lib\libcb.lib [ relcb\itoa.rel ] ..\..\lib\libcb.lib [ relcb\crypt.rel ] ..\..\lib\libsysb.lib [ relsysb\open.rel ] +..\..\lib\libiar.lib [ reliar\USMOD.rel ] ..\..\lib\libiar.lib [ reliar\SSDIV.rel ] ..\..\lib\libiar.lib [ reliar\ULRSHASG.rel ] +..\..\lib\libiar.lib [ reliar\USDIV.rel ] ..\..\lib\libiar.lib [ reliar\LIBVERSION.rel ] ..\..\lib\libcb.lib [ relcb\malloc.rel ] ..\..\lib\libiar.lib [ reliar\SLRSH.rel ] @@ -225,12 +231,13 @@ Libraries Linked [ object file ] ..\..\lib\libsysb.lib [ relsysb\execve.rel ] ..\..\lib\libiar.lib [ reliar\SDIVMOD.rel ] ..\..\lib\libcb.lib [ relcb\error.rel ] +..\..\lib\libiar.lib [ reliar\SMULASG.rel ] ..\..\lib\libiar.lib [ reliar\LENDASG.rel ] ..\..\lib\libcb.lib [ relcb\memset.rel ] ..\..\lib\libcb.lib [ relcb\memcpy.rel ] ..\..\lib\libcb.lib [ relcb\atexit.rel ] ..\..\lib\libiar.lib [ reliar\LXOR.rel ] -..\..\lib\libcb.lib [ relcb\printf.rel ] +..\..\lib\libcb.lib [ relcb\strcat.rel ] ..\..\lib\libsysb.lib [ relsysb\sys1b.rel ] ..\..\lib\libiar.lib [ reliar\LORASG.rel ] ..\..\lib\libcb.lib [ relcb\strchr.rel ] @@ -238,31 +245,24 @@ Libraries Linked [ object file ] ..\..\lib\libiar.lib [ reliar\LEAVEDIRECT.rel ] ..\..\lib\libiar.lib [ reliar\LADDASG.rel ] ..\..\lib\libcb.lib [ relcb\strtoul.rel ] +..\..\lib\libcb.lib [ relcb\fputc.rel ] ..\..\lib\libcb.lib [ relcb\ctype.rel ] +..\..\lib\libcb.lib [ relcb\ultoa.rel ] ..\..\lib\libiar.lib [ reliar\SSSWITCH.rel ] ..\..\lib\libiar.lib [ reliar\SSWITCHEND.rel ] +..\..\lib\libiar.lib [ reliar\ULDIVASG.rel ] ..\..\lib\libcb.lib [ relcb\atoi.rel ] -..\..\lib\libcb.lib [ relcb\itoa.rel ] -..\..\lib\libcb.lib [ relcb\vfprintf.rel ] +..\..\lib\libiar.lib [ reliar\ULMOD.rel ] ..\..\lib\libiar.lib [ reliar\SFINDSIGN.rel ] -..\..\lib\libcb.lib [ relcb\ltoa.rel ] -..\..\lib\libiar.lib [ reliar\LNEG.rel ] +..\..\lib\libiar.lib [ reliar\ULDIV.rel ] ..\..\lib\libsysb.lib [ relsysb\sbrk.rel ] -..\..\lib\libiar.lib [ reliar\USMOD.rel ] -..\..\lib\libiar.lib [ reliar\USDIV.rel ] +..\..\lib\libiar.lib [ reliar\LNEG.rel ] +..\..\lib\libiar.lib [ reliar\LDIVMOD.rel ] ..\..\lib\libiar.lib [ reliar\LMULASG.rel ] ..\..\lib\libiar.lib [ reliar\LMUL.rel ] -..\..\lib\libiar.lib [ reliar\SMULASG.rel ] -..\..\lib\libcb.lib [ relcb\strcat.rel ] +..\..\lib\libiar.lib [ reliar\LNOT.rel ] ..\..\lib\libiar.lib [ reliar\LENDMULDIVASG.rel ] -..\..\lib\libcb.lib [ relcb\fputc.rel ] -..\..\lib\libcb.lib [ relcb\ultoa.rel ] ..\..\lib\libcb.lib [ relcb\strtol.rel ] -..\..\lib\libiar.lib [ reliar\ULDIVASG.rel ] -..\..\lib\libiar.lib [ reliar\ULMOD.rel ] -..\..\lib\libiar.lib [ reliar\ULDIV.rel ] -..\..\lib\libiar.lib [ reliar\LDIVMOD.rel ] -..\..\lib\libiar.lib [ reliar\LNOT.rel ] User Base Address Definitions diff --git a/src/gui/login.lst b/src/gui/login.lst new file mode 100644 index 00000000..bd842b16 --- /dev/null +++ b/src/gui/login.lst @@ -0,0 +1,369 @@ + 1 NAME login(17) + 2 RSEG CODE(0) + 3 RSEG CSTR(0) + 4 EXTERN ClearScreen + 5 EXTERN GUIgo + 6 EXTERN GUIinit + 7 EXTERN GUIunit + 8 EXTERN chdir + 9 EXTERN crypt + 10 EXTERN execv + 11 EXTERN exit + 12 EXTERN getpwnam + 13 EXTERN gui_globals + 14 PUBLIC login + 15 PUBLIC login_actionhandler + 16 PUBLIC main + 17 EXTERN perror + 18 EXTERN setenv + 19 EXTERN setgid + 20 EXTERN setuid + 21 EXTERN strcmp + 22 EXTERN strcpy + 23 EXTERN strrchr + 24 EXTERN ?CL64180B_4_06_L00 + 25 EXTERN ?BANK_CALL_DIRECT_L08 + 26 EXTERN ?BANK_LEAVE_DIRECT_L08 + 27 EXTERN ?BANK_FAST_LEAVE_L08 + 28 EXTERN ?ENT_PARM_DIRECT_L09 + 29 EXTERN ?ENT_AUTO_DIRECT_L09 + 30 RSEG CODE + 00000000 31 login: + 00000000 FD E5 32 PUSH IY + 00000002 DD E5 33 PUSH IX + 00000004 C5 34 PUSH BC + 00000005 21 C0 FF 35 LD HL,65472 + 00000008 39 36 ADD HL,SP + 00000009 F9 37 LD SP,HL + 0000000A D5 38 PUSH DE + 0000000B DD E1 39 POP IX + 0000000D 21 0C 00 40 LD HL,12 + 00000010 19 41 ADD HL,DE + 00000011 7E 42 LD A,(HL) + 00000012 23 43 INC HL + 00000013 66 44 LD H,(HL) + 00000014 6F 45 LD L,A + 00000015 AF 46 XOR A + 00000016 B6 47 OR (HL) + 00000017 20 08 48 JR NZ,?0001 + 00000019 49 ?0000: + 00000019 DD 36 0C 00 50 LD (IX+12),LOW(?0002) + 0000001D DD 36 0D 00 51 LD (IX+13),HIGH(?0002) + 00000021 52 ?0001: + 00000021 21 00 00 53 LD HL,0 + 00000024 39 54 ADD HL,SP + 00000025 36 2D 55 LD (HL),45 + 00000027 01 2F 00 56 LD BC,47 + 0000002A DD 5E 0C 57 LD E,(IX+12) + 0000002D DD 56 0D 58 LD D,(IX+13) + 00000030 3E 00 59 LD A,BYTE3 strrchr + 00000032 21 00 00 60 LD HL,LWRD strrchr + 00000035 CD 00 00 61 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000038 E5 62 PUSH HL + 00000039 FD E1 63 POP IY + 0000003B 7D 64 LD A,L + 0000003C B4 65 OR H + 0000003D 28 04 66 JR Z,?0004 + 0000003F 67 ?0003: + 0000003F FD 23 68 INC IY + 00000041 18 09 69 JR ?0005 + 00000043 70 ?0004: + 00000043 DD 6E 0C 71 LD L,(IX+12) + 00000046 DD 66 0D 72 LD H,(IX+13) + 00000049 E5 73 PUSH HL + 0000004A FD E1 74 POP IY + 0000004C 75 ?0005: + 0000004C FD E5 76 PUSH IY + 0000004E C1 77 POP BC + 0000004F 21 00 00 78 LD HL,0 + 00000052 39 79 ADD HL,SP + 00000053 11 01 00 80 LD DE,1 + 00000056 19 81 ADD HL,DE + 00000057 EB 82 EX DE,HL + 00000058 3E 00 83 LD A,BYTE3 strcpy + 0000005A 21 00 00 84 LD HL,LWRD strcpy + 0000005D CD 00 00 85 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000060 21 00 00 86 LD HL,0 + 00000063 39 87 ADD HL,SP + 00000064 E5 88 PUSH HL + 00000065 21 42 00 89 LD HL,66 + 00000068 39 90 ADD HL,SP + 00000069 7E 91 LD A,(HL) + 0000006A 23 92 INC HL + 0000006B 66 93 LD H,(HL) + 0000006C 6F 94 LD L,A + 0000006D C1 95 POP BC + 0000006E 71 96 LD (HL),C + 0000006F 23 97 INC HL + 00000070 70 98 LD (HL),B + 00000071 21 40 00 99 LD HL,64 + 00000074 39 100 ADD HL,SP + 00000075 47 101 LD B,A + 00000076 23 102 INC HL + 00000077 66 103 LD H,(HL) + 00000078 68 104 LD L,B + 00000079 23 105 INC HL + 0000007A 23 106 INC HL + 0000007B AF 107 XOR A + 0000007C 77 108 LD (HL),A + 0000007D 23 109 INC HL + 0000007E 77 110 LD (HL),A + 0000007F DD 5E 06 111 LD E,(IX+6) + 00000082 DD 56 07 112 LD D,(IX+7) + 00000085 3E 00 113 LD A,BYTE3 setgid + 00000087 21 00 00 114 LD HL,LWRD setgid + 0000008A CD 00 00 115 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000008D DD 5E 04 116 LD E,(IX+4) + 00000090 DD 56 05 117 LD D,(IX+5) + 00000093 3E 00 118 LD A,BYTE3 setuid + 00000095 21 00 00 119 LD HL,LWRD setuid + 00000098 CD 00 00 120 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000009B DD 5E 0A 121 LD E,(IX+10) + 0000009E DD 56 0B 122 LD D,(IX+11) + 000000A1 3E 00 123 LD A,BYTE3 chdir + 000000A3 21 00 00 124 LD HL,LWRD chdir + 000000A6 CD 00 00 125 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000000A9 21 01 00 126 LD HL,1 + 000000AC E5 127 PUSH HL + 000000AD DD 4E 0A 128 LD C,(IX+10) + 000000B0 DD 46 0B 129 LD B,(IX+11) + 000000B3 11 08 00 130 LD DE,?0006 + 000000B6 3E 00 131 LD A,BYTE3 setenv + 000000B8 21 00 00 132 LD HL,LWRD setenv + 000000BB CD 00 00 133 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000000BE F1 134 POP AF + 000000BF 21 01 00 135 LD HL,1 + 000000C2 E5 136 PUSH HL + 000000C3 DD 4E 00 137 LD C,(IX+0) + 000000C6 DD 46 01 138 LD B,(IX+1) + 000000C9 11 0D 00 139 LD DE,?0007 + 000000CC 3E 00 140 LD A,BYTE3 setenv + 000000CE 21 00 00 141 LD HL,LWRD setenv + 000000D1 CD 00 00 142 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000000D4 F1 143 POP AF + 000000D5 21 40 00 144 LD HL,64 + 000000D8 39 145 ADD HL,SP + 000000D9 4E 146 LD C,(HL) + 000000DA 23 147 INC HL + 000000DB 46 148 LD B,(HL) + 000000DC DD 5E 0C 149 LD E,(IX+12) + 000000DF DD 56 0D 150 LD D,(IX+13) + 000000E2 3E 00 151 LD A,BYTE3 execv + 000000E4 21 00 00 152 LD HL,LWRD execv + 000000E7 CD 00 00 153 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000000EA DD 5E 0C 154 LD E,(IX+12) + 000000ED DD 56 0D 155 LD D,(IX+13) + 000000F0 3E 00 156 LD A,BYTE3 perror + 000000F2 21 00 00 157 LD HL,LWRD perror + 000000F5 CD 00 00 158 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000000F8 11 01 00 159 LD DE,1 + 000000FB 3E 00 160 LD A,BYTE3 exit + 000000FD 21 00 00 161 LD HL,LWRD exit + 00000100 CD 00 00 162 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000103 21 42 00 163 LD HL,66 + 00000106 39 164 ADD HL,SP + 00000107 F9 165 LD SP,HL + 00000108 DD E1 166 POP IX + 0000010A FD E1 167 POP IY + 0000010C C3 00 00 168 JP LWRD ?BANK_FAST_LEAVE_L08 + 0000010F 169 login_actionhandler: + 0000010F CD 00 00 170 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000112 E0 FF 171 DEFW -32 + 00000114 FD E5 172 PUSH IY + 00000116 DD 6E 02 173 LD L,(IX+2) + 00000119 DD 66 03 174 LD H,(IX+3) + 0000011C E5 175 PUSH HL + 0000011D FD E1 176 POP IY + 0000011F 21 26 00 177 LD HL,38 + 00000122 DD 4E 02 178 LD C,(IX+2) + 00000125 DD 46 03 179 LD B,(IX+3) + 00000128 09 180 ADD HL,BC + 00000129 46 181 LD B,(HL) + 0000012A 23 182 INC HL + 0000012B 66 183 LD H,(HL) + 0000012C 68 184 LD L,B + 0000012D 23 185 INC HL + 0000012E 23 186 INC HL + 0000012F 23 187 INC HL + 00000130 46 188 LD B,(HL) + 00000131 23 189 INC HL + 00000132 66 190 LD H,(HL) + 00000133 68 191 LD L,B + 00000134 01 01 01 192 LD BC,257 + 00000137 A7 193 AND A + 00000138 ED 42 194 SBC HL,BC + 0000013A C2 03 02 195 JP NZ,?0009 + 0000013D 196 ?0008: + 0000013D FD 6E 20 197 LD L,(IY+32) + 00000140 FD 66 21 198 LD H,(IY+33) + 00000143 46 199 LD B,(HL) + 00000144 DD 70 EC 200 LD (IX-20),B + 00000147 FD 6E 20 201 LD L,(IY+32) + 0000014A FD 66 21 202 LD H,(IY+33) + 0000014D 23 203 INC HL + 0000014E 46 204 LD B,(HL) + 0000014F DD 70 ED 205 LD (IX-19),B + 00000152 DD 36 EE 00 206 LD (IX-18),0 + 00000156 FD 6E 20 207 LD L,(IY+32) + 00000159 FD 66 21 208 LD H,(IY+33) + 0000015C 36 00 209 LD (HL),0 + 0000015E 21 0E 00 210 LD HL,14 + 00000161 39 211 ADD HL,SP + 00000162 EB 212 EX DE,HL + 00000163 3E 00 213 LD A,BYTE3 getpwnam + 00000165 21 00 00 214 LD HL,LWRD getpwnam + 00000168 CD 00 00 215 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000016B DD 75 E0 216 LD (IX-32),L + 0000016E DD 74 E1 217 LD (IX-31),H + 00000171 FD 4E 20 218 LD C,(IY+32) + 00000174 FD 46 21 219 LD B,(IY+33) + 00000177 03 220 INC BC + 00000178 03 221 INC BC + 00000179 DD 71 EA 222 LD (IX-22),C + 0000017C DD 70 EB 223 LD (IX-21),B + 0000017F 7D 224 LD A,L + 00000180 B4 225 OR H + 00000181 28 71 226 JR Z,?0013 + 00000183 227 ?0010: + 00000183 23 228 INC HL + 00000184 23 229 INC HL + 00000185 7E 230 LD A,(HL) + 00000186 23 231 INC HL + 00000187 66 232 LD H,(HL) + 00000188 6F 233 LD L,A + 00000189 46 234 LD B,(HL) + 0000018A DD 70 E2 235 LD (IX-30),B + 0000018D DD 6E E0 236 LD L,(IX-32) + 00000190 DD 66 E1 237 LD H,(IX-31) + 00000193 23 238 INC HL + 00000194 23 239 INC HL + 00000195 46 240 LD B,(HL) + 00000196 23 241 INC HL + 00000197 66 242 LD H,(HL) + 00000198 68 243 LD L,B + 00000199 23 244 INC HL + 0000019A 46 245 LD B,(HL) + 0000019B DD 70 E3 246 LD (IX-29),B + 0000019E DD 36 E4 00 247 LD (IX-28),0 + 000001A2 21 04 00 248 LD HL,4 + 000001A5 39 249 ADD HL,SP + 000001A6 4D 250 LD C,L + 000001A7 44 251 LD B,H + 000001A8 DD 5E EA 252 LD E,(IX-22) + 000001AB DD 56 EB 253 LD D,(IX-21) + 000001AE 3E 00 254 LD A,BYTE3 crypt + 000001B0 21 00 00 255 LD HL,LWRD crypt + 000001B3 CD 00 00 256 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000001B6 DD 75 E8 257 LD (IX-24),L + 000001B9 DD 74 E9 258 LD (IX-23),H + 000001BC DD 4E E0 259 LD C,(IX-32) + 000001BF DD 46 E1 260 LD B,(IX-31) + 000001C2 03 261 INC BC + 000001C3 03 262 INC BC + 000001C4 69 263 LD L,C + 000001C5 60 264 LD H,B + 000001C6 4E 265 LD C,(HL) + 000001C7 23 266 INC HL + 000001C8 46 267 LD B,(HL) + 000001C9 DD 5E E8 268 LD E,(IX-24) + 000001CC DD 56 E9 269 LD D,(IX-23) + 000001CF 3E 00 270 LD A,BYTE3 strcmp + 000001D1 21 00 00 271 LD HL,LWRD strcmp + 000001D4 CD 00 00 272 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000001D7 7D 273 LD A,L + 000001D8 B4 274 OR H + 000001D9 20 19 275 JR NZ,?0013 + 000001DB 276 ?0012: + 000001DB 3E 00 277 LD A,BYTE3 ClearScreen + 000001DD 21 00 00 278 LD HL,LWRD ClearScreen + 000001E0 CD 00 00 279 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000001E3 01 00 00 280 LD BC,0 + 000001E6 DD 5E E0 281 LD E,(IX-32) + 000001E9 DD 56 E1 282 LD D,(IX-31) + 000001EC 3E 00 283 LD A,BYTE3 login + 000001EE 21 00 00 284 LD HL,LWRD login + 000001F1 CD 00 00 285 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000001F4 286 ?0013: + 000001F4 287 ?0011: + 000001F4 FD E5 288 PUSH IY + 000001F6 D1 289 POP DE + 000001F7 FD 7E 1C 290 LD A,(IY+28) + 000001FA FD 6E 1A 291 LD L,(IY+26) + 000001FD FD 66 1B 292 LD H,(IY+27) + 00000200 CD 00 00 293 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000203 294 ?0009: + 00000203 FD E1 295 POP IY + 00000205 C3 00 00 296 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000208 297 main: + 00000208 CD 00 00 298 CALL LWRD ?ENT_PARM_DIRECT_L09 + 0000020B 3E 00 299 LD A,BYTE3 GUIinit + 0000020D 21 00 00 300 LD HL,LWRD GUIinit + 00000210 CD 00 00 301 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000213 3E 00 302 LD A,BYTE3 gui_globals + 00000215 21 00 00 303 LD HL,LWRD gui_globals + 00000218 CD 00 00 304 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000021B 01 10 00 305 LD BC,16 + 0000021E 09 306 ADD HL,BC + 0000021F 36 0F 307 LD (HL),LOW(login_actionhandler) + 00000221 23 308 INC HL + 00000222 36 01 309 LD (HL),HIGH(login_actionhandler) + 00000224 23 310 INC HL + 00000225 36 0F 311 LD (HL),BYTE3 login_actionhandler + 00000227 11 12 00 312 LD DE,?0014 + 0000022A 3E 00 313 LD A,BYTE3 GUIgo + 0000022C 21 00 00 314 LD HL,LWRD GUIgo + 0000022F CD 00 00 315 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000232 3E 00 316 LD A,BYTE3 GUIunit + 00000234 21 00 00 317 LD HL,LWRD GUIunit + 00000237 CD 00 00 318 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000023A C3 00 00 319 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 320 RSEG CSTR + 00000000 321 ?0002: + 00000000 2F 62 69 6E 2F 73 68 322 DEFB '/bin/sh' + 00000007 00 323 DEFB 0 + 00000008 324 ?0006: + 00000008 48 4F 4D 45 325 DEFB 'HOME' + 0000000C 00 326 DEFB 0 + 0000000D 327 ?0007: + 0000000D 55 53 45 52 328 DEFB 'USER' + 00000011 00 329 DEFB 0 + 00000012 330 ?0014: + 00000012 2F 77 6E 64 2F 6C 6F 331 DEFB '/wnd/logn.scr' + 67 6E 2E 73 63 72 + 0000001F 00 332 DEFB 0 + 00000020 333 END + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. +Hexadecimal [32-Bits] + +Symbol Table + + .__.ABS. = 00000000 G | 1 ?0000 00000019 R + 1 ?0001 00000021 R | 2 ?0002 00000000 R + 1 ?0003 0000003F R | 1 ?0004 00000043 R + 1 ?0005 0000004C R | 2 ?0006 00000008 R + 2 ?0007 0000000D R | 1 ?0008 0000013D R + 1 ?0009 00000203 R | 1 ?0010 00000183 R + 1 ?0011 000001F4 R | 1 ?0012 000001DB R + 1 ?0013 000001F4 R | 2 ?0014 00000012 R + ?BANK_CALL_DIR ******** GX | ?BANK_FAST_LEA ******** GX + ?BANK_LEAVE_DI ******** GX | ?CL64180B_4_06 ******** GX + ?ENT_AUTO_DIRE ******** GX | ?ENT_PARM_DIRE ******** GX + ClearScreen ******** GX | GUIgo ******** GX + GUIinit ******** GX | GUIunit ******** GX + chdir ******** GX | crypt ******** GX + execv ******** GX | exit ******** GX + getpwnam ******** GX | gui_globals ******** GX + 1 login 00000000 GR | 1 login_actionha 0000010F GR + 1 main 00000208 GR | perror ******** GX + setenv ******** GX | setgid ******** GX + setuid ******** GX | strcmp ******** GX + strcpy ******** GX | strrchr ******** GX + + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. +Hexadecimal [32-Bits] + +Area Table + + 0 _DEFAULT size 0 flags 0 + 1 CODE size 23D flags 0 + 2 CSTR size 20 flags 0 diff --git a/src/gui/login.rst b/src/gui/login.rst new file mode 100644 index 00000000..1be30eb5 --- /dev/null +++ b/src/gui/login.rst @@ -0,0 +1,369 @@ + 1 NAME login(17) + 2 RSEG CODE(0) + 3 RSEG CSTR(0) + 4 EXTERN ClearScreen + 5 EXTERN GUIgo + 6 EXTERN GUIinit + 7 EXTERN GUIunit + 8 EXTERN chdir + 9 EXTERN crypt + 10 EXTERN execv + 11 EXTERN exit + 12 EXTERN getpwnam + 13 EXTERN gui_globals + 14 PUBLIC login + 15 PUBLIC login_actionhandler + 16 PUBLIC main + 17 EXTERN perror + 18 EXTERN setenv + 19 EXTERN setgid + 20 EXTERN setuid + 21 EXTERN strcmp + 22 EXTERN strcpy + 23 EXTERN strrchr + 24 EXTERN ?CL64180B_4_06_L00 + 25 EXTERN ?BANK_CALL_DIRECT_L08 + 26 EXTERN ?BANK_LEAVE_DIRECT_L08 + 27 EXTERN ?BANK_FAST_LEAVE_L08 + 28 EXTERN ?ENT_PARM_DIRECT_L09 + 29 EXTERN ?ENT_AUTO_DIRECT_L09 + 30 RSEG CODE + 000068C7 31 login: + 000068C7 FD E5 32 PUSH IY + 000068C9 DD E5 33 PUSH IX + 000068CB C5 34 PUSH BC + 000068CC 21 C0 FF 35 LD HL,65472 + 000068CF 39 36 ADD HL,SP + 000068D0 F9 37 LD SP,HL + 000068D1 D5 38 PUSH DE + 000068D2 DD E1 39 POP IX + 000068D4 21 0C 00 40 LD HL,12 + 000068D7 19 41 ADD HL,DE + 000068D8 7E 42 LD A,(HL) + 000068D9 23 43 INC HL + 000068DA 66 44 LD H,(HL) + 000068DB 6F 45 LD L,A + 000068DC AF 46 XOR A + 000068DD B6 47 OR (HL) + 000068DE 20 08 48 JR NZ,?0001 + 000068E0 49 ?0000: + 000068E0 DD 36 0C DE 50 LD (IX+12),LOW(?0002) + 000068E4 DD 36 0D 84 51 LD (IX+13),HIGH(?0002) + 000068E8 52 ?0001: + 000068E8 21 00 00 53 LD HL,0 + 000068EB 39 54 ADD HL,SP + 000068EC 36 2D 55 LD (HL),45 + 000068EE 01 2F 00 56 LD BC,47 + 000068F1 DD 5E 0C 57 LD E,(IX+12) + 000068F4 DD 56 0D 58 LD D,(IX+13) + 000068F7 3E 00 59 LD A,BYTE3 strrchr + 000068F9 21 38 6B 60 LD HL,LWRD strrchr + 000068FC CD 5E 81 61 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000068FF E5 62 PUSH HL + 00006900 FD E1 63 POP IY + 00006902 7D 64 LD A,L + 00006903 B4 65 OR H + 00006904 28 04 66 JR Z,?0004 + 00006906 67 ?0003: + 00006906 FD 23 68 INC IY + 00006908 18 09 69 JR ?0005 + 0000690A 70 ?0004: + 0000690A DD 6E 0C 71 LD L,(IX+12) + 0000690D DD 66 0D 72 LD H,(IX+13) + 00006910 E5 73 PUSH HL + 00006911 FD E1 74 POP IY + 00006913 75 ?0005: + 00006913 FD E5 76 PUSH IY + 00006915 C1 77 POP BC + 00006916 21 00 00 78 LD HL,0 + 00006919 39 79 ADD HL,SP + 0000691A 11 01 00 80 LD DE,1 + 0000691D 19 81 ADD HL,DE + 0000691E EB 82 EX DE,HL + 0000691F 3E 00 83 LD A,BYTE3 strcpy + 00006921 21 A0 75 84 LD HL,LWRD strcpy + 00006924 CD 5E 81 85 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006927 21 00 00 86 LD HL,0 + 0000692A 39 87 ADD HL,SP + 0000692B E5 88 PUSH HL + 0000692C 21 42 00 89 LD HL,66 + 0000692F 39 90 ADD HL,SP + 00006930 7E 91 LD A,(HL) + 00006931 23 92 INC HL + 00006932 66 93 LD H,(HL) + 00006933 6F 94 LD L,A + 00006934 C1 95 POP BC + 00006935 71 96 LD (HL),C + 00006936 23 97 INC HL + 00006937 70 98 LD (HL),B + 00006938 21 40 00 99 LD HL,64 + 0000693B 39 100 ADD HL,SP + 0000693C 47 101 LD B,A + 0000693D 23 102 INC HL + 0000693E 66 103 LD H,(HL) + 0000693F 68 104 LD L,B + 00006940 23 105 INC HL + 00006941 23 106 INC HL + 00006942 AF 107 XOR A + 00006943 77 108 LD (HL),A + 00006944 23 109 INC HL + 00006945 77 110 LD (HL),A + 00006946 DD 5E 06 111 LD E,(IX+6) + 00006949 DD 56 07 112 LD D,(IX+7) + 0000694C 3E 00 113 LD A,BYTE3 setgid + 0000694E 21 04 6B 114 LD HL,LWRD setgid + 00006951 CD 5E 81 115 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006954 DD 5E 04 116 LD E,(IX+4) + 00006957 DD 56 05 117 LD D,(IX+5) + 0000695A 3E 00 118 LD A,BYTE3 setuid + 0000695C 21 E7 6D 119 LD HL,LWRD setuid + 0000695F CD 5E 81 120 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006962 DD 5E 0A 121 LD E,(IX+10) + 00006965 DD 56 0B 122 LD D,(IX+11) + 00006968 3E 00 123 LD A,BYTE3 chdir + 0000696A 21 B3 6D 124 LD HL,LWRD chdir + 0000696D CD 5E 81 125 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006970 21 01 00 126 LD HL,1 + 00006973 E5 127 PUSH HL + 00006974 DD 4E 0A 128 LD C,(IX+10) + 00006977 DD 46 0B 129 LD B,(IX+11) + 0000697A 11 E6 84 130 LD DE,?0006 + 0000697D 3E 00 131 LD A,BYTE3 setenv + 0000697F 21 06 6F 132 LD HL,LWRD setenv + 00006982 CD 5E 81 133 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006985 F1 134 POP AF + 00006986 21 01 00 135 LD HL,1 + 00006989 E5 136 PUSH HL + 0000698A DD 4E 00 137 LD C,(IX+0) + 0000698D DD 46 01 138 LD B,(IX+1) + 00006990 11 EB 84 139 LD DE,?0007 + 00006993 3E 00 140 LD A,BYTE3 setenv + 00006995 21 06 6F 141 LD HL,LWRD setenv + 00006998 CD 5E 81 142 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000699B F1 143 POP AF + 0000699C 21 40 00 144 LD HL,64 + 0000699F 39 145 ADD HL,SP + 000069A0 4E 146 LD C,(HL) + 000069A1 23 147 INC HL + 000069A2 46 148 LD B,(HL) + 000069A3 DD 5E 0C 149 LD E,(IX+12) + 000069A6 DD 56 0D 150 LD D,(IX+13) + 000069A9 3E 00 151 LD A,BYTE3 execv + 000069AB 21 4C 73 152 LD HL,LWRD execv + 000069AE CD 5E 81 153 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000069B1 DD 5E 0C 154 LD E,(IX+12) + 000069B4 DD 56 0D 155 LD D,(IX+13) + 000069B7 3E 00 156 LD A,BYTE3 perror + 000069B9 21 0F 73 157 LD HL,LWRD perror + 000069BC CD 5E 81 158 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000069BF 11 01 00 159 LD DE,1 + 000069C2 3E 01 160 LD A,BYTE3 exit + 000069C4 21 01 47 161 LD HL,LWRD exit + 000069C7 CD 5E 81 162 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000069CA 21 42 00 163 LD HL,66 + 000069CD 39 164 ADD HL,SP + 000069CE F9 165 LD SP,HL + 000069CF DD E1 166 POP IX + 000069D1 FD E1 167 POP IY + 000069D3 C3 25 81 168 JP LWRD ?BANK_FAST_LEAVE_L08 + 000069D6 169 login_actionhandler: + 000069D6 CD 88 81 170 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000069D9 E0 FF 171 DEFW -32 + 000069DB FD E5 172 PUSH IY + 000069DD DD 6E 02 173 LD L,(IX+2) + 000069E0 DD 66 03 174 LD H,(IX+3) + 000069E3 E5 175 PUSH HL + 000069E4 FD E1 176 POP IY + 000069E6 21 26 00 177 LD HL,38 + 000069E9 DD 4E 02 178 LD C,(IX+2) + 000069EC DD 46 03 179 LD B,(IX+3) + 000069EF 09 180 ADD HL,BC + 000069F0 46 181 LD B,(HL) + 000069F1 23 182 INC HL + 000069F2 66 183 LD H,(HL) + 000069F3 68 184 LD L,B + 000069F4 23 185 INC HL + 000069F5 23 186 INC HL + 000069F6 23 187 INC HL + 000069F7 46 188 LD B,(HL) + 000069F8 23 189 INC HL + 000069F9 66 190 LD H,(HL) + 000069FA 68 191 LD L,B + 000069FB 01 01 01 192 LD BC,257 + 000069FE A7 193 AND A + 000069FF ED 42 194 SBC HL,BC + 00006A01 C2 CA 6A 195 JP NZ,?0009 + 00006A04 196 ?0008: + 00006A04 FD 6E 20 197 LD L,(IY+32) + 00006A07 FD 66 21 198 LD H,(IY+33) + 00006A0A 46 199 LD B,(HL) + 00006A0B DD 70 EC 200 LD (IX-20),B + 00006A0E FD 6E 20 201 LD L,(IY+32) + 00006A11 FD 66 21 202 LD H,(IY+33) + 00006A14 23 203 INC HL + 00006A15 46 204 LD B,(HL) + 00006A16 DD 70 ED 205 LD (IX-19),B + 00006A19 DD 36 EE 00 206 LD (IX-18),0 + 00006A1D FD 6E 20 207 LD L,(IY+32) + 00006A20 FD 66 21 208 LD H,(IY+33) + 00006A23 36 00 209 LD (HL),0 + 00006A25 21 0E 00 210 LD HL,14 + 00006A28 39 211 ADD HL,SP + 00006A29 EB 212 EX DE,HL + 00006A2A 3E 00 213 LD A,BYTE3 getpwnam + 00006A2C 21 BC 74 214 LD HL,LWRD getpwnam + 00006A2F CD 5E 81 215 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006A32 DD 75 E0 216 LD (IX-32),L + 00006A35 DD 74 E1 217 LD (IX-31),H + 00006A38 FD 4E 20 218 LD C,(IY+32) + 00006A3B FD 46 21 219 LD B,(IY+33) + 00006A3E 03 220 INC BC + 00006A3F 03 221 INC BC + 00006A40 DD 71 EA 222 LD (IX-22),C + 00006A43 DD 70 EB 223 LD (IX-21),B + 00006A46 7D 224 LD A,L + 00006A47 B4 225 OR H + 00006A48 28 71 226 JR Z,?0013 + 00006A4A 227 ?0010: + 00006A4A 23 228 INC HL + 00006A4B 23 229 INC HL + 00006A4C 7E 230 LD A,(HL) + 00006A4D 23 231 INC HL + 00006A4E 66 232 LD H,(HL) + 00006A4F 6F 233 LD L,A + 00006A50 46 234 LD B,(HL) + 00006A51 DD 70 E2 235 LD (IX-30),B + 00006A54 DD 6E E0 236 LD L,(IX-32) + 00006A57 DD 66 E1 237 LD H,(IX-31) + 00006A5A 23 238 INC HL + 00006A5B 23 239 INC HL + 00006A5C 46 240 LD B,(HL) + 00006A5D 23 241 INC HL + 00006A5E 66 242 LD H,(HL) + 00006A5F 68 243 LD L,B + 00006A60 23 244 INC HL + 00006A61 46 245 LD B,(HL) + 00006A62 DD 70 E3 246 LD (IX-29),B + 00006A65 DD 36 E4 00 247 LD (IX-28),0 + 00006A69 21 04 00 248 LD HL,4 + 00006A6C 39 249 ADD HL,SP + 00006A6D 4D 250 LD C,L + 00006A6E 44 251 LD B,H + 00006A6F DD 5E EA 252 LD E,(IX-22) + 00006A72 DD 56 EB 253 LD D,(IX-21) + 00006A75 3E 01 254 LD A,BYTE3 crypt + 00006A77 21 FD 41 255 LD HL,LWRD crypt + 00006A7A CD 5E 81 256 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006A7D DD 75 E8 257 LD (IX-24),L + 00006A80 DD 74 E9 258 LD (IX-23),H + 00006A83 DD 4E E0 259 LD C,(IX-32) + 00006A86 DD 46 E1 260 LD B,(IX-31) + 00006A89 03 261 INC BC + 00006A8A 03 262 INC BC + 00006A8B 69 263 LD L,C + 00006A8C 60 264 LD H,B + 00006A8D 4E 265 LD C,(HL) + 00006A8E 23 266 INC HL + 00006A8F 46 267 LD B,(HL) + 00006A90 DD 5E E8 268 LD E,(IX-24) + 00006A93 DD 56 E9 269 LD D,(IX-23) + 00006A96 3E 00 270 LD A,BYTE3 strcmp + 00006A98 21 6E 72 271 LD HL,LWRD strcmp + 00006A9B CD 5E 81 272 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006A9E 7D 273 LD A,L + 00006A9F B4 274 OR H + 00006AA0 20 19 275 JR NZ,?0013 + 00006AA2 276 ?0012: + 00006AA2 3E 00 277 LD A,BYTE3 ClearScreen + 00006AA4 21 86 48 278 LD HL,LWRD ClearScreen + 00006AA7 CD 5E 81 279 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006AAA 01 00 00 280 LD BC,0 + 00006AAD DD 5E E0 281 LD E,(IX-32) + 00006AB0 DD 56 E1 282 LD D,(IX-31) + 00006AB3 3E 00 283 LD A,BYTE3 login + 00006AB5 21 C7 68 284 LD HL,LWRD login + 00006AB8 CD 5E 81 285 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006ABB 286 ?0013: + 00006ABB 287 ?0011: + 00006ABB FD E5 288 PUSH IY + 00006ABD D1 289 POP DE + 00006ABE FD 7E 1C 290 LD A,(IY+28) + 00006AC1 FD 6E 1A 291 LD L,(IY+26) + 00006AC4 FD 66 1B 292 LD H,(IY+27) + 00006AC7 CD 5E 81 293 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006ACA 294 ?0009: + 00006ACA FD E1 295 POP IY + 00006ACC C3 1F 81 296 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00006ACF 297 main: + 00006ACF CD 52 81 298 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00006AD2 3E 00 299 LD A,BYTE3 GUIinit + 00006AD4 21 BA 66 300 LD HL,LWRD GUIinit + 00006AD7 CD 5E 81 301 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006ADA 3E 00 302 LD A,BYTE3 gui_globals + 00006ADC 21 B4 66 303 LD HL,LWRD gui_globals + 00006ADF CD 5E 81 304 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006AE2 01 10 00 305 LD BC,16 + 00006AE5 09 306 ADD HL,BC + 00006AE6 36 D6 307 LD (HL),LOW(login_actionhandler) + 00006AE8 23 308 INC HL + 00006AE9 36 69 309 LD (HL),HIGH(login_actionhandler) + 00006AEB 23 310 INC HL + 00006AEC 36 00 311 LD (HL),BYTE3 login_actionhandler + 00006AEE 11 F0 84 312 LD DE,?0014 + 00006AF1 3E 00 313 LD A,BYTE3 GUIgo + 00006AF3 21 06 68 314 LD HL,LWRD GUIgo + 00006AF6 CD 5E 81 315 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006AF9 3E 00 316 LD A,BYTE3 GUIunit + 00006AFB 21 E1 67 317 LD HL,LWRD GUIunit + 00006AFE CD 5E 81 318 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006B01 C3 1F 81 319 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 320 RSEG CSTR + 000084DE 321 ?0002: + 000084DE 2F 62 69 6E 2F 73 68 322 DEFB '/bin/sh' + 000084E5 00 323 DEFB 0 + 000084E6 324 ?0006: + 000084E6 48 4F 4D 45 325 DEFB 'HOME' + 000084EA 00 326 DEFB 0 + 000084EB 327 ?0007: + 000084EB 55 53 45 52 328 DEFB 'USER' + 000084EF 00 329 DEFB 0 + 000084F0 330 ?0014: + 000084F0 2F 77 6E 64 2F 6C 6F 331 DEFB '/wnd/logn.scr' + 67 6E 2E 73 63 72 + 000084FD 00 332 DEFB 0 + 00000020 333 END + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. +Hexadecimal [32-Bits] + +Symbol Table + + .__.ABS. = 00000000 G | 1 ?0000 00000019 R + 1 ?0001 00000021 R | 2 ?0002 00000000 R + 1 ?0003 0000003F R | 1 ?0004 00000043 R + 1 ?0005 0000004C R | 2 ?0006 00000008 R + 2 ?0007 0000000D R | 1 ?0008 0000013D R + 1 ?0009 00000203 R | 1 ?0010 00000183 R + 1 ?0011 000001F4 R | 1 ?0012 000001DB R + 1 ?0013 000001F4 R | 2 ?0014 00000012 R + ?BANK_CALL_DIR ******** GX | ?BANK_FAST_LEA ******** GX + ?BANK_LEAVE_DI ******** GX | ?CL64180B_4_06 ******** GX + ?ENT_AUTO_DIRE ******** GX | ?ENT_PARM_DIRE ******** GX + ClearScreen ******** GX | GUIgo ******** GX + GUIinit ******** GX | GUIunit ******** GX + chdir ******** GX | crypt ******** GX + execv ******** GX | exit ******** GX + getpwnam ******** GX | gui_globals ******** GX + 1 login 00000000 GR | 1 login_actionha 0000010F GR + 1 main 00000208 GR | perror ******** GX + setenv ******** GX | setgid ******** GX + setuid ******** GX | strcmp ******** GX + strcpy ******** GX | strrchr ******** GX + + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. +Hexadecimal [32-Bits] + +Area Table + + 0 _DEFAULT size 0 flags 0 + 1 CODE size 23D flags 0 + 2 CSTR size 20 flags 0 diff --git a/src/gui/login.s01 b/src/gui/login.s01 new file mode 100644 index 00000000..c8061db5 --- /dev/null +++ b/src/gui/login.s01 @@ -0,0 +1,333 @@ + NAME login(17) + RSEG CODE(0) + RSEG CSTR(0) + EXTERN ClearScreen + EXTERN GUIgo + EXTERN GUIinit + EXTERN GUIunit + EXTERN chdir + EXTERN crypt + EXTERN execv + EXTERN exit + EXTERN getpwnam + EXTERN gui_globals + PUBLIC login + PUBLIC login_actionhandler + PUBLIC main + EXTERN perror + EXTERN setenv + EXTERN setgid + EXTERN setuid + EXTERN strcmp + EXTERN strcpy + EXTERN strrchr + EXTERN ?CL64180B_4_06_L00 + EXTERN ?BANK_CALL_DIRECT_L08 + EXTERN ?BANK_LEAVE_DIRECT_L08 + EXTERN ?BANK_FAST_LEAVE_L08 + EXTERN ?ENT_PARM_DIRECT_L09 + EXTERN ?ENT_AUTO_DIRECT_L09 + RSEG CODE +login: + PUSH IY + PUSH IX + PUSH BC + LD HL,65472 + ADD HL,SP + LD SP,HL + PUSH DE + POP IX + LD HL,12 + ADD HL,DE + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + XOR A + OR (HL) + JR NZ,?0001 +?0000: + LD (IX+12),LOW(?0002) + LD (IX+13),HIGH(?0002) +?0001: + LD HL,0 + ADD HL,SP + LD (HL),45 + LD BC,47 + LD E,(IX+12) + LD D,(IX+13) + LD A,BYTE3 strrchr + LD HL,LWRD strrchr + CALL LWRD ?BANK_CALL_DIRECT_L08 + PUSH HL + POP IY + LD A,L + OR H + JR Z,?0004 +?0003: + INC IY + JR ?0005 +?0004: + LD L,(IX+12) + LD H,(IX+13) + PUSH HL + POP IY +?0005: + PUSH IY + POP BC + LD HL,0 + ADD HL,SP + LD DE,1 + ADD HL,DE + EX DE,HL + LD A,BYTE3 strcpy + LD HL,LWRD strcpy + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,0 + ADD HL,SP + PUSH HL + LD HL,66 + ADD HL,SP + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + POP BC + LD (HL),C + INC HL + LD (HL),B + LD HL,64 + ADD HL,SP + LD B,A + INC HL + LD H,(HL) + LD L,B + INC HL + INC HL + XOR A + LD (HL),A + INC HL + LD (HL),A + LD E,(IX+6) + LD D,(IX+7) + LD A,BYTE3 setgid + LD HL,LWRD setgid + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD E,(IX+4) + LD D,(IX+5) + LD A,BYTE3 setuid + LD HL,LWRD setuid + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD E,(IX+10) + LD D,(IX+11) + LD A,BYTE3 chdir + LD HL,LWRD chdir + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,1 + PUSH HL + LD C,(IX+10) + LD B,(IX+11) + LD DE,?0006 + LD A,BYTE3 setenv + LD HL,LWRD setenv + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + LD HL,1 + PUSH HL + LD C,(IX+0) + LD B,(IX+1) + LD DE,?0007 + LD A,BYTE3 setenv + LD HL,LWRD setenv + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + LD HL,64 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + LD E,(IX+12) + LD D,(IX+13) + LD A,BYTE3 execv + LD HL,LWRD execv + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD E,(IX+12) + LD D,(IX+13) + LD A,BYTE3 perror + LD HL,LWRD perror + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD DE,1 + LD A,BYTE3 exit + LD HL,LWRD exit + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,66 + ADD HL,SP + LD SP,HL + POP IX + POP IY + JP LWRD ?BANK_FAST_LEAVE_L08 +login_actionhandler: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW -32 + PUSH IY + LD L,(IX+2) + LD H,(IX+3) + PUSH HL + POP IY + LD HL,38 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + INC HL + INC HL + INC HL + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,257 + AND A + SBC HL,BC + JP NZ,?0009 +?0008: + LD L,(IY+32) + LD H,(IY+33) + LD B,(HL) + LD (IX-20),B + LD L,(IY+32) + LD H,(IY+33) + INC HL + LD B,(HL) + LD (IX-19),B + LD (IX-18),0 + LD L,(IY+32) + LD H,(IY+33) + LD (HL),0 + LD HL,14 + ADD HL,SP + EX DE,HL + LD A,BYTE3 getpwnam + LD HL,LWRD getpwnam + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD (IX-32),L + LD (IX-31),H + LD C,(IY+32) + LD B,(IY+33) + INC BC + INC BC + LD (IX-22),C + LD (IX-21),B + LD A,L + OR H + JR Z,?0013 +?0010: + INC HL + INC HL + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + LD B,(HL) + LD (IX-30),B + LD L,(IX-32) + LD H,(IX-31) + INC HL + INC HL + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + INC HL + LD B,(HL) + LD (IX-29),B + LD (IX-28),0 + LD HL,4 + ADD HL,SP + LD C,L + LD B,H + LD E,(IX-22) + LD D,(IX-21) + LD A,BYTE3 crypt + LD HL,LWRD crypt + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD (IX-24),L + LD (IX-23),H + LD C,(IX-32) + LD B,(IX-31) + INC BC + INC BC + LD L,C + LD H,B + LD C,(HL) + INC HL + LD B,(HL) + LD E,(IX-24) + LD D,(IX-23) + LD A,BYTE3 strcmp + LD HL,LWRD strcmp + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD A,L + OR H + JR NZ,?0013 +?0012: + LD A,BYTE3 ClearScreen + LD HL,LWRD ClearScreen + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD BC,0 + LD E,(IX-32) + LD D,(IX-31) + LD A,BYTE3 login + LD HL,LWRD login + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0013: +?0011: + PUSH IY + POP DE + LD A,(IY+28) + LD L,(IY+26) + LD H,(IY+27) + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0009: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +main: + CALL LWRD ?ENT_PARM_DIRECT_L09 + LD A,BYTE3 GUIinit + LD HL,LWRD GUIinit + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD A,BYTE3 gui_globals + LD HL,LWRD gui_globals + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD BC,16 + ADD HL,BC + LD (HL),LOW(login_actionhandler) + INC HL + LD (HL),HIGH(login_actionhandler) + INC HL + LD (HL),BYTE3 login_actionhandler + LD DE,?0014 + LD A,BYTE3 GUIgo + LD HL,LWRD GUIgo + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD A,BYTE3 GUIunit + LD HL,LWRD GUIunit + CALL LWRD ?BANK_CALL_DIRECT_L08 + JP LWRD ?BANK_LEAVE_DIRECT_L08 + RSEG CSTR +?0002: + DEFB '/bin/sh' + DEFB 0 +?0006: + DEFB 'HOME' + DEFB 0 +?0007: + DEFB 'USER' + DEFB 0 +?0014: + DEFB '/wnd/logn.scr' + DEFB 0 + END diff --git a/src/gui/m.bat b/src/gui/m.bat index b5bd020f..3e56b365 100644 --- a/src/gui/m.bat +++ b/src/gui/m.bat @@ -15,9 +15,9 @@ link-z80 -f wnd ihex2bin -l grlogin.i86 ..\..\bin\banked\grlogin @if errorlevel 1 goto failure -cd ..\..\bin -call appinst.bat -cd ..\src\gui +rem cd ..\..\bin +rem call appinst.bat +rem cd ..\src\gui @echo SUCCESS @goto done diff --git a/src/gui/t.bat b/src/gui/t.bat index f7e61fb0..be22e8f3 100644 --- a/src/gui/t.bat +++ b/src/gui/t.bat @@ -21,9 +21,9 @@ link-z80 -f test ihex2bin -l test.i86 ..\..\bin\banked\test @if errorlevel 1 goto failure -cd ..\..\bin -call appinst.bat -cd ..\src\gui +rem cd ..\..\bin +rem call appinst.bat +rem cd ..\src\gui @echo SUCCESS @goto done diff --git a/src/gui/test.i86 b/src/gui/test.i86 new file mode 100644 index 00000000..1627a04d --- /dev/null +++ b/src/gui/test.i86 @@ -0,0 +1,597 @@ +:020000040000FA +:20000000C9A602007856341214000081008134877B897B99D1ED533487C1ED433687E122F5 +:13002000388721DD6F3E00CDFB81EB212C423E01C3FB8122 +:20064800CD7A82F8FF21060039EB21AF84010200EDB02A3F872323E50303C501E384C53E42 +:200668000021CD7ECDFB81F1F14D44E171237021000039E5210000E52A3F8723234E234633 +:20068800C53E0021E273CDFB81F1F1F1DD36FC60DD36FD0021000039E5210100E52A3F8708 +:2006A80023234E2346C53E0021E273CDFB81F1F1F1210200E52E08394D442A3F8723235E04 +:2006C80023563E00217272CDFB81F1C3A381D52A3F8723235E23563E00219673CDFB81D1D1 +:2006E800C3A981CD7A82FCFF21000039EB21B184010400EDB0DD4602DD70FEDD4604DD7020 +:20070800FF210400E52B2BC3BF464DC3C1462A3F8723235E23563E00C3CC46CDFB81F1C376 +:20072800A381CD7A82FCFF21000039EB21B584010400EDB0DD4602DD70FEDD4604DD70FFA5 +:20074800210400E52B2BC3BF464DC313472A3F87C3C54623C31B4723563E00C3CC46CDFBA5 +:2007680081F1C3A381CD7A82FCFF21000039EB21B984010400EDB0DD4602DD70FEDD460478 +:20078800DD70FF210400E52B2BC3BF464DC313472A3F87C3584723C3C74623C31D473E00A6 +:2007A800C36347CDFB81F1C3A381CD7A82FCFF21000039EB21BD84010400EDB0DD4602DD94 +:2007C80070FEDD4604DD70FF210400E52B2BC3BF464DC313472A3F87C3584723C39F47235D +:2007E800C3C9463E00C32047CDFB81F1C3A381CD7A82FCFF21000039EB21C184010400ED35 +:20080800B0DD4602DD70FEDD4604DD70FF210400E52B2BC3BF464DC313472A3F87C3584759 +:2008280023C39F4723C3E8473E00C3CC46CDFB81F1C3A381CD7A82FCFF21000039EB21C5AC +:2008480084010400EDB0DD4602DD70FEDD4604DD70FF210400E52B2BC3BF464DC313472ACB +:200868003F87C3584723C39F4723C3E8473E00C33248CDFB81F1C3A381C5FDE5DDE5D5DDB0 +:20088800E13E0021AB73CDFB81E5DDE5C12A3F8723235E23563E00217272CDFB81F1DDE1F9 +:2008A800FDE1C1C3A981CD7A82F8FF21000039EB21C984010700EDB0DD4602DD70FADD46FD +:2008C80004DD70FBDD460ADD70FCDD460CDD70FDDD460EDD70FE210700E52E02C3BF464D07 +:2008E800C313472A3F87C3584723C39F4723C3E8473E00C33248CDFB81F1C3A381C5D5CD9D +:200908001F49CDFB81218000E56CE5E5CD3749E1E1E1D1C1C3A98101000059503E0021EBFF +:2009280046CDFB8101800058503E00212A47C94D44EB3E0021AE48C3FB81CD7A82FCFF2169 +:20094800000039EB21D084010300EDB0DD4602DD70FE210300E52BC3BF464DC313472A3F16 +:2009680087C3584723C39F4723C3E8473E00C33248CDFB81F1C3A381CD7A82FEFF21000022 +:2009880039EB21D384010200EDB0DD4602DD70FF210200E5C3BF464DC313472A3F87C3585D +:2009A8004723C39F4723C3E8473E00C33248CDFB81F1C3A381CD7A820000210C00ED4B3FFE +:2009C800870946236668EB7BB228166B6246236668DD4E02DD4603ED4228062108001918E4 +:2009E800E1EBC3A381CDEF813E0021BD49CD6A4A2829DD5E02DD56033E00218049CDFB81E4 +:200A0800210A00ED4B3F8709E5DD5E02DD56033E0021BD49CD754AE1712370C3A381ED4B4F +:200A28003F87094623666823234E2346237E6960CDFB814D44FD6E06FD6607A7ED42EB01CA +:200A48000200CDEB82DD6E04DD660519EB3E0021EB46C9CDFB814D44FD6E08FD6609A7ED11 +:200A680042C9CDFB817DB4C93E01210040CDFB814D44C9CD7A82FCFFFDE5110E00CD164BEA +:200A8800DD4E0271DD46032370DD460CDD6E0AFD7502DD660BFD7403FD7004DD4610DD6E4E +:200AA8000EFD7505DD660FFD7406FD7007AFFD7708FD7709DD6E12FD750ADD6613FD740B19 +:200AC800DD6E14FD750CDD6615FD740D210C00ED4B3F87097E23B6210C00ED4B3F8709207C +:200AE80010FDE5C1712370210A00ED4B3F8709181246236668EB210800197E23B6210800F7 +:200B08001920EEFDE5C1712370FDE1C3A3813E01210040CDFB81E5FDE1C9FDE5DDE5C5D587 +:200B2800DD210000FD210000FDE5210200394E2346E1097EB72850FDE5E1095ECDC4810ABF +:200B480000212C2E3149696A6B6C727D4B784B6E4B784B784B694B694B734B734B734B69A7 +:200B68004B0102001812010300180D01040018080105001803010600DD09210200394E23CC +:200B880046DD09FD2318A1DDE5E1F1F1DDE1FDE1C3A981CDEF817BFE803006210700091885 +:200BA8000CFECC38083EDFBB3803696023C3A381CDEF810100001A5F3E00219B4BCDFB81EC +:200BC800C3A381CDEF81010500C3BE4BCDEF810100003E0021224BCDFB81C3A381CDEF81A0 +:200BE800010200C3DA4BCDEF81010300C3DA4BCD7A820000FDE5112800CD164B2A3F875E79 +:200C0800235613722B73FDE5E1732372DD6E02FD7502DD6603FD7403FD7104FD7005DD6EBB +:200C28000AFD7506DD660BFD7407DD6E0CFD7508DD660DFD7409AFFD770AFD770BFD770C9D +:200C4800FD770DFD770EFD770FFD7710FD7711FD7712FD7713FD7714FD7715FD7716FD77E1 +:200C680017FD7718FD7719FD771AFD771BFD771CFD771DFD771EFD771FFD7724FD7725FDAB +:200C88007726FD7727FD7720FD7721FD7722FD7723FDE5E1FDE1C3A381CD7A820000FDE58B +:200CA800DD6E02DD6603E5FDE1110000DD6E04DD6605197EB728210114806B6278AC67EDBD +:200CC800423015FD6E20FD662119E5DD6E04DD66051946E1701318D4FD6E20FD66211936D4 +:200CE80000FDE1C3A381CD7A820000FDE55950211500DD4E02DD4603097E23666FE5FDE108 +:200D0800211500097E23B62009211500097323721819FD7E13FDB614280BFD6E13FD661417 +:200D2800E5FDE118EDFD7313FD72142113001977237721110019DD4E0271DD46032370FDE0 +:200D4800E1C3A381C5FDE5DDE52115001946236668E5DDE1CD884DDDE5E17DB4281ADDE5B7 +:200D6800D1DD7E1CDD6E1ADD661BCDFB81DD6E13DD6614E5DDE118DF1E01CD8A4DC3A64854 +:200D88001E003E00214249C3FB81CD7A820000FDE5DD6E02DD6603E5FDE1DD6E04DD66056C +:200DA8007EFD860277237EFD8E0377DD6E0ADD660B7EFD860477237EFD8E0577FD6E11FDCB +:200DC8006612E5FDE17DB420D1FDE1C3A381CD7A820000211500DD4E02DD460309462366BF +:200DE80068EB7BB2281B211000194E0600DD6E04DD6605A7ED422003EB180821130019188A +:200E0800DC6F67C3A381CD7A82F8FFFDE5DD6E02DD6603E5FDE1FD6E15DD75F8FD6616DD19 +:200E280074F9FDE5E17DB4CAC14FDD7EF8DDB6F92811DD5EF8DD56F9CDD74FDD75F8DD746A +:200E4800F918E7FD7E11FDB612CADD4EFD6E11FD66120115000946236668FDE5C1A7ED428C +:200E6800FD6E11FD6612011500092009E5FD6E11FD6612185046236668DD75F8DD74F92107 +:200E88001300DD4EF8DD46F90946236668FDE5C1A7ED422819211300DD4EF8DD46F9097E04 +:200EA80023B6280A211300095623666A18CB211300DD4EF8DD46F9097E23B628182113006F +:200EC80009E52113000946236668011300094E2346E1712370FD6E13DD75F8FD6614DD745F +:200EE800F93E04FDAE24FDB625C28D4FFD6E11DD75FCFD6612DD74FDFD6E26DD75FEFD6699 +:200F080027DD74FFCDCC4FDD6EFEDD66FF2323CDCC4FDD7EFCDDB6FD2820212400DD4EFC16 +:200F2800DD46FD093E04AE23B6280F2111000956DD72FC2366DD74FD18D8DD7EFCDDB6FDF6 +:200F48002843212600DD4EFCDD46FD0946DD70FE2366DD74FF210600ED4B3F8709E5DD6EBF +:200F6800FEDD66FF5E2356E1732372210800ED4B3F8709E5DD4EFEDD46FF030369604E23C9 +:200F880046E1712370FD4E24FD4625210000CDC8823009FD5E26FD5627CDCF4FFDCB0B76A7 +:200FA8002011FD7E20FDB6212809FD5E20FD5621CDCF4FFDE5D1CDCF4FDD6EF8DD66F9FD64 +:200FC800E1C3A3815E23563E00215F74C3FB813E00210E4EC3FB81C5FDE5DDE52115001947 +:200FE80046236668E5DDE17DB42808DDE5D1CDD74F18F1C3A648CD7A820000FDE52115008D +:20100800DD5E02DD5603195623666AE5FDE17DB4283D210A00FDE5C109DD7E04DD56052FFD +:201028005F7A2F577EA377237EA277210A00097EDDB60A77237EDDB60B77210A00097EDDEC +:20104800AE0C77237EDDAE0D772113000918B81100863E00215F70CDFB81FDE1C3A381C502 +:20106800FDE5DDE5D5DDE12115001946236668E5FDE121200019462366680100903E80AC5C +:2010880067ED42302EDD4E20DD4621210000CDC8823020DD6E20DD662129E5210800ED4BFF +:2010A8003F87094E2346E1092B2B46DD70202366DD7421DD6E22DD66230100903E80AC677F +:2010C800ED42302EDD4E22DD4623210000CDC8823020DD6E22DD662329E5210800ED4B3FDF +:2010E80087094E2346E1092B2B46DD70222366DD7423FDE5E17DB42816FDE5D13E00216704 +:2011080050CDFB81FD6E13FD6614E5FDE118E3C3A648CD7A82D0FFFDE5AFDD77FADD77FB04 +:20112800DD77FCDD77FD5950CD1C82080001000200030002010301040105010104B35321A6 +:2011480053B452E05228523952ED5188515751211500DD4E02DD46030946236668E5FDE1AC +:201168007DB42819FDCB0A46280BDD6E0ADD660BE5CDB853E1FD6E13FD661418E0C3B353B3 +:20118800211500DD4E02DD46030946236668E5FDE17DB4284DFDCB0A462838DD6E0ADD6605 +:2011A8000BE5CDB853E1DD6E0ADD660BE5010300CDBE53E1FD7E0AE6226F26003E22AD20E4 +:2011C80012FD4E1044DD6E0ADD660BED422004FD210000FDE5E17DB428B7FD6E13FD66147A +:2011E80018ACC3B353DD6E02DD6603E5FDE1210A00DD4E02DD460309CB462821FDCB0A6EE3 +:20120800281BFD4E1047DD6E0ADD660BA7ED42200CFD6E26FD6627FDE5D1CDDD53C3B353A8 +:20122800DD5E024BDD560342211A00CDDC53C3B353210A00DD4E02DD4603097EE6FC772127 +:201248002E0039E52B2B4D44DD5E02DD5603CDD453E1210800DD4E02DD4603095E2356D5DA +:20126800210600095E2356D5DD6EFCDD66FDE5DD4EFADD46FB110000CD3A49E1E1E12100B6 +:2012880000E52E11DD5E02DD5603195E2356211100DD4E02DD4603094623666801170009D9 +:2012A8004E2346237E69600103011829211100DD4E02DD4603095623666AE5FDE15950CDAF +:2012C800D74F210000E5010301FDE5D1FD7E19FD6E17FD6618C3AF53211500DD4E02DD4646 +:2012E800030946236668E5FDE17DB42829DD6E0ADD660BFDE5C1ED422814FDCB0A5E280E47 +:20130800DD6E0ADD660BE5010302CDBE53E1FD6E13FD661418D0C3B353211100DD4E02DD96 +:201328004603097E23B6200E210400ED4B3F8709360123771875210A000923CB6E2028DD8F +:201348006E0ADD660BE52111005950195E23562111000946236668011700094E2346237E24 +:2013680069600101041840211100095623666AE5FDE1110A00197EF603776A62E523E54AD2 +:2013880042FDE5D13E0021FE4FCDFB81E1E1210000E5DD5E024BDD5603422E17094E23468E +:2013A800237E6960010501CDFB81E1FDE1C3A381DD4E04DD4605FDE5D1FD7E19FD6E17FDA8 +:2013C8006618C3FB8123234D44DDE5D13E0021924DC3FB81094E2346237E6960C3FB81CD2B +:2013E8007A82FCFFFDE5DD6E02DD6603E5FDE1AFDD77FEDD77FFDD77FCDD77FD210A00EDA9 +:201408004B3F87097E23666F46236668FD4E0EFD460FA7ED422809FD5E0EFD560FCD6C55F2 +:20142800FDCB0A46CA245521020039E523234D44FDE5D1CDD453E1CD884DDD4EFCDD46FDC0 +:20144800DD5EFEDD56FF3E0021EB46CDFB81FD4E08FD4609FD5E06FD56073E00212A47CD49 +:20146800FB81FD6E08FD6609E5FD6E06FD6607E5DD6EFCDD66FDE5DD4EFEDD46FF1100009C +:20148800CD3A49E1E1E1FD5E20FD5621210A00ED4B3F87097E23666FCD2955DD4EFCDD4625 +:2014A800FD09110400194D44CD37557E23666F010500094E2346237E6960CD5B4A01FCFFF2 +:2014C800094D44FD5E06FD56073E00216D47CDFB81DD4EFCDD46FDCD375546236668CD2986 +:2014E80055010500094D44FD5E06FD56073E0021B247CDFB81210E00DD4EFCDD46FD094DC7 +:2015080044DD5EFEDD56FF13133E0021EB46CD5455FDE5D13E00214C4DCDFB81FDE1C3A3B0 +:2015280081010500094E2346237E6960C3FB81DD5EFEDD56FF3E0021EB46CDFB81FD5E20F4 +:20154800FD5621210A00ED4B3F8709C9CDFB81FD5E20FD56213E00218148CDFB81C9DD5E67 +:201568000EDD560F3E0021ED49C3FB81CDEF81CD884DCD1F49CDFB8101800058503E00215A +:201588003C48CDFB81218000E56CE5E5CD3749E1E1E1DD5E02DD56033E00214C4DCDFB8116 +:2015A800C3A381CDEF813E0021EE4CCDFB81C3A381CD7A820000FDE5DD6E0CDD660DE5DD22 +:2015C8006E0ADD660BE5CDFD55F1F1E5FDE101170009361A233651233600FD361AE7FD36B9 +:2015E8001B53FD361C00FD361DABFD361E55FD361F00C3994CDD5E02DD56033E0021F74B77 +:20160800C3FB81CDEF81FDE5D5FDE1DD6E0ADD660BE53E00211A51CDFB81E13E03DDAE0465 +:20162800DDB605203EFD4E1047DD6E0ADD660BED422030FD7E0AE6032829DD6E0ADD660B86 +:20164800E5FD5E11FD5612FD6E11FD66120E17CD9856E1FDCB0A66280AFD4E100600C5CDBD +:20166800A656E1210102DD4E04DD4605A7ED42200BDD6E0ADD660BE5CD8956E1FDE1C3A3B0 +:2016880081FD5E11FD5612FD6E11FD6612011700094E2346237E6960010102C3FB81FD5E1F +:2016A80011FD5612FD6E11FD66120E17094E2346237E6960010401C3FB81CDEF81FDE5D533 +:2016C800FDE1210A0019CB76FD5E20FD5621210A00ED4B3F87097E23666F010500094E2388 +:2016E80046237E69602853CDFB81294D44FD6E08FD6609A7ED42CD6F570E0C09E5FD5E20E9 +:20170800FD5621210A00ED4B3F87097E23666FCD2F4AC1CD5455FD5E08FD5609CD70570EC7 +:201728000A09E5FD5E22FD56236960CD264AC1CDFB81FD5E22FD56231820CD5B4ACD6F5776 +:201748000E0D09E5FD5E20FD5621210A00CD264AC1CDFB81FD5E20FD56213E00218148CD33 +:20176800FB81FDE1C3A381EB010200CDEB82DD6E0ADD660B19C9C5DDE5F5F5D5DDE121024C +:201788000039AF7723772B2B2B772377210A00ED4B3F87097E23666F46236668E5210E00C3 +:2017A800194E2346E1A7ED422803CD6655DDCB0A46CA4E5821000039E5CDCD53E121000051 +:2017C80039CD5658CDFB81DD6E08DD6609E5DD6E06DD6607E5210400394E2346C5234E2392 +:2017E80046DDCB0A4E2807DD5E1016001803110000CD3A49E1E1E1DD7E0AE682281CDD7E80 +:201808000AE682EE822813DD4E08DD4609DD5E06DD56073E0021F7471811DD4E08DD4609A4 +:20182800DD5E06DD56073E00216D47CDFB81210000394E2346C5234E2346DDE5D13E002127 +:20184800C256CDFB81E1E1E1DDE1C1C3A9814E2346235E23563E0021EB46CDFB81DD4E0853 +:20186800DD4609DD5E06DD56073E00212A47C9CDEF81C3A381CD7A820000FDE5DD6E0CDD1D +:20188800660DE5DD6E0ADD660BE5CDFD55F1F1E5FDE1010A00097EF60377DD460EFD7010EC +:2018A800FD36170BFD361856FD361900FD361A7EFD361B57FD361C00FD361D77FD361E58AF +:2018C800FD361F00C3994CCDEF81FDE5D5FDE1DD6E0ADD660BE53E00211A51CDFB81E13E7A +:2018E80003DDAE04DDB605205CFD4E1047DD6E0ADD660BED42204EFD7E0AE6032847FD7E00 +:201908000AEE04FD770ADD6E0ADD660BE5FD5E11FD5612FD6E11FD66120E17094E234623F3 +:201928007E6960010202CDFB81E1210000E5010301CDBE53E1FDCB0A66280AFD4E10060094 +:20194800C5CDA656E1210102DD4E04DD4605A7ED42200BDD6E0ADD660BE5CD8956E1FDE1A1 +:20196800C3A381C5DDE5F5F5D5DDE121020039AF7723772B2B2B772377210A00ED4B3F879D +:20198800097E23666F46236668E5210E00194E2346E1A7ED422803CD6655DDCB0A46CA5425 +:2019A8005A21000039E5CDCD53E121000039CD5658CDFB81DDCB0A4E2836DDCB0A562830DC +:2019C800DD4E08DD4609DD5E06DD56073E0021F747CDFB81DD6E08DD6609E5DD6E06DD6627 +:2019E80007E5210400394E2346C5234E23461834DD4E08DD4609DD5E06DD56073E00216D4D +:201A080047CDFB81DD6E08DD6609E5DD6E06DD6607E5210400394E2346C5234E2346DDCBCE +:201A28000A4E2807DD5E1016001803110000CD3A49E1E1E1210000394E2346C5234E2346E7 +:201A4800DDE5D13E0021C256CDFB81E1C34E58CD7A820000FDE5DD6E0CDD660DE5DD6E0A55 +:201A6800DD660BE5CDFD55F1F1E5FDE1010A00097EF60777DD460EFD7010FD3617CFFD3667 +:201A88001858FD361900FD361A6BFD361B59FD361C00FD361D77FD361E58FD361F00C399B6 +:201AA8004CCDEF81FDE5D5FDE1DD6E0ADD660BE53E00211A51CDFB81E1210102DD4E04DD54 +:201AC8004605A7ED4220403EFFDDAE0ADDB60B2036FDCB0B66E52805010501180301020146 +:201AE800CDBE53E1FD4E100600C5FD5E11FD5612FD6E11FD66120E17094E2346237E6960E8 +:201B0800010103CDFB81E1210102DD4E04DD4605A7ED4220403EFEDDAE0ADDB60B2036FD1B +:201B2800CB0B66E528050105011803010201CDBE53E1FD4E100600C5FD5E11FD5612FD6E08 +:201B480011FD66120E17094E2346237E6960010203CDFB81E1FDE1C3A381CD7A82FEFFFDF0 +:201B6800E5DD6E0CDD660DE5DD6E0ADD660BE5CDFD55F1F1E5FDE1010A0009CBC6DD460ECA +:201B8800FD7010FD3617A9FD36185AFD361900FD361AE7FD361B53FD361C00FD361DABFDC0 +:201BA800361E55FD361F0021FF00E52E14E52E28E521E4FFCD145CF1F1F1DD75FEDD74FF07 +:201BC80001200009E5110300CD704AE171237001ED84CD305CCDFB8121FE00E52E14E52E01 +:201BE80028E521C8FFCD145CF1F1F1DD75FEDD74FF01200009E5110700CD704AE1712370A5 +:201C080001F084CD305CCDFB81C3994CDD4E0CDD460D094D4421D0FFDD5E0ADD560B19EB85 +:201C28003E00217D58C3FB81DD5EFEDD56FF3E0021A14CCDFB81DD4EFEDD46FFFDE5D1FD2E +:201C48007E1FFD6E1DFD661EC9CDEF81FDE5D5FDE1DD6E0ADD660BE53E00210B56CDFB81AA +:201C6800E1210302DD4E04DD4605A7ED422040FDCB0A5E283A3E08DDAE0ADDB60BFD5E2042 +:201C8800FD56213E0021AB73200DCD6A4A2815CDBC5C2B3600180DCDC75C233600CDBC5CC7 +:201CA800DD460A70210000E5010301CDBE53E1FDE1C3A381FD5E20FD56213E0021AB73CDB7 +:201CC800FB81FD4E20FD462109C9C5FDE5DDE521B8FF39F9D5DDE1AF7723772377237721C4 +:201CE8000A00ED4B3F87097E23666F46236668E5210E00194E2346E1A7ED422803CD6655D0 +:201D0800DDCB0A46CA165E21020039E52B2BCDCF53E1210200394E23462B2B2BCD5A58CD3E +:201D2800FB81DD6E08DD6609E5DD6E06DD6607E5210600394E2346C52B2B2B4E2346DDCB5F +:201D48000A4E2807DD5E1016001803110000CD3A49E1E1E1DDCB0A7EDD4E08DD4609DD5EAA +:201D680006DD560720073E0021F74718053E00216D47CDFB81DD5E20DD5621210A00ED4BCC +:201D88003F870946236668010500094E2346237E6960CD754ADD6E08DD6609A7ED42EB0118 +:201DA8000200CDEB826960394623666819010700094D44210000395E235613133E0021EB4A +:201DC80046CDFB81DDCB0B462836FD210000DD5E20DD56213E0021AB73CD754AFDE5E1A7D5 +:201DE800ED42210600300B39FDE5C109362AFD2318DC39FDE5C109360021060039EB18066D +:201E0800DD5E20DD56213E00218148CDFB8121480039F9C3A648CD7A820000FDE5DD6E0E4A +:201E2800DD660FE5DD6E0CDD660DE5DD6E0ADD660BE5DD5E02DD5603CD285CF1F1F1E5FDD6 +:201E4800E1010A0009CBDE01F784FDE5D13E0021A14CCDFB81FD361AD2FD361B5CFD361C00 +:201E680000FD361751FD36185CFD361900C3994CCDEF81C3A381C5DDE5F5F5D5DDE12102D9 +:201E88000039AF7723772B2B2B772377210A00ED4B3F87097E23666F46236668E5210E00BC +:201EA800194E2346E1A7ED422803CD6655DDCB0A46282121000039E5CDCD53E12100003938 +:201EC8004E2346C5234E2346DDE5D13E0021C256CDFB81E1C34E58CD7A820000FDE5DD6E11 +:201EE8000CDD660DE5DD6E0ADD660BE5CDFD55F1F1E5FDE101200009DD4E0E71DD460F2324 +:201F080070FD360A01FD360B00FD361778FD36185EFD361900FD361A7EFD361B5EFD361C50 +:201F280000FD361D77FD361E58FD361F00C3994CCD7A820000DD6E0ADD660BE5DD5E02DDC4 +:201F480056033E00211A51CDFB81E1C3A381CD7A82CEFFFDE5DD36D800210000E5C53E00D9 +:201F680021CD7ECDFB81F1F1DD75D4DD74D5DD36F02BDD36F100DD36F21ADD36F300DD360C +:201F8800F400DD7ED8FE732018DD6ED9DD66DADD75F0DD74F1DD6EDBDD66DCDD75F2DD74CA +:201FA800F3DD7ED8FE422807DD7ED8FE4D204FDD4EDD0600C5CD1663D5DD4EDBDD5EF0DD9B +:201FC80056F1CD1F63D5DD4EDADD5EF2DD56F3CDAE81D5DD5ED950DD4EF0DD46F1CDAE81D6 +:201FE8003E00217D58C1CDFB81F1F1F1E5FDE1DD7ED8FE4D2004FDCB0AF6DD36F401DD7E38 +:20200800D8FE542044DD4EDD0600C5CD1663D5DD4EDBDD5EF0DD56F1CD1F63D5DD4EDADDE1 +:202028005EF2DD56F3CDAE81D5DD5ED950DD4EF0DD46F1CDAE813E0021575AC1CDFB81F1B7 +:20204800F1F1E5FDE1DD36F401DD7ED8FE442044DD4EDD0600C5CD1663D5DD4EDBDD5EF0D3 +:20206800DD56F1CD1F63D5DD4EDADD5EF2DD56F3CDAE81D5DD5ED950DD4EF0DD46F1CDAED9 +:20208800813E00211E5EC1CDFB81F1F1F1E5FDE1DD36F401DD7ED8FE4C2047210C003901E9 +:2020A800120009E5CD1663D5DD4EDBDD5EF0DD56F1CD1F63D5DD4EDADD5EF2DD56F3CDAEB1 +:2020C80081D5DD5ED950DD4EF0DD46F1CDAE813E0021DF5EC1CDFB81F1F1F1E5FDE1DD36C4 +:2020E800F401DD7ED8FE412051212600DD4E02DD460309E5212B0039EBE1732372DD6EDEF6 +:20210800DD66DFDD75F8DD74F9DD6EE0DD66E1DD75FADD74FB211600394E2346235E2356F9 +:20212800DD71FCDD70FDDD73FEDD72FFDD5E02DD56033E00212663CDFB81DD7ED8FE53201F +:2021480071210C00394D44DD5ED4DD56D53E00215E66CDFB81212600DD4E02DD460309E504 +:20216800110400CD0E63EBE17323722126000956DD72F52366DD74F6212400093604233695 +:20218800006ADD66F62323E5210800ED4B3F87095E2356E1732372210600ED4B3F87094605 +:2021A800236668E5DD6EF5DD66F6C1712370DD36F400AFDDB6F4CABA62DD7EDEDDB6DF280D +:2021C80069FDCB0AEEFD36240BFD362500110B00CD0E63FD7526FD7427FD6E26DD75D0FDDA +:2021E8006627DD74D13626233663233600DD6ED0DD66D1232323DD4EDE71DD46DF237021EF +:202208000500DD4ED0DD46D109DD5EE073DD56E1237221070009E5211800395E2356234EB2 +:202228002346E173237223712370DD7EE6DDB6E7280CDD6EE6FD750ADD66E7FD740BDD6E90 +:20224800E8FD750EDD66E9FD740FDD6EEAFD7520DD7EEBE60FFD7721FD7E20FDB621201626 +:20226800111400CD0E63FD7520FD7421FD6E20FD662136001804FDCB0BF6DD7EEB2E004DE4 +:20228800E6F0472610ED423010DD6EEADD7EEBE60F6723FD7522FD7423FDE5DD5E024BDD0B +:2022A800560342211D00094E2346237E6960C1CDFB81211400E52E0E394D44DD5ED4DD56A7 +:2022C800D5CD0663F13E14ADB4CA865FDD5ED4DD56D53E00219673CDFB81DD5E02DD56035D +:2022E8003E00216750CDFB81DD5E024BDD560342211A00094E2346237E6960C367573E0152 +:20230800215C42C3FB813E01210040C3FB81DD4EDCDD5EF2DD56F3CDAE811B1B1BC9CD7A21 +:2023280082EAFFFDE5DD6E02DD6603E5FDE121060039EB21D584010E00EDB0FD6E26DD759E +:20234800EAFD6627DD74EB2323233E01AE23B62008C5010104CDBE53E1DD6EEADD66EB235E +:20236800232346236668CB853E02ADB4C291646F67E5E5010100FD5E11FD56123E0021FE60 +:202388004FCDFB81E1E1FD6E11FD6612010800094E2346C5FD6E11FD6612010600094E23EA +:2023A80046C501000059503E0021B955CDFB81F1F1DD75ECDD74ED010A000936032370DD8F +:2023C8006EEADD66EB232323CB46280C6960DD4EECDD46ED0923CBEE211700DD4EECDD467A +:2023E800ED09363823365F233600211A00093674233655233600210700DD5EEADD56EB19E7 +:202408005EEBDD75F3210700DD4EEADD46EB095E2356234E2346EB3E08CD1583DD75F42124 +:202428000700DD4EEADD46EB095E2356234E2346EB3E10CD1583DD75F5210700DD4EEADDB1 +:2024480046EB095E2356234E2346EB3E18CD1583DD75F6210600394D44DD5EECDD56ED3E25 +:202468000021565FCDFB81DD4EECDD46EDC5FD5E11FD5612FD6E11FD6612011D00094E23EF +:2024880046237E6960C1CDFB81DD6EEADD66EB2323233E04AE23B6C22F66210100E5FD6E1C +:2024A80011FD6612010800094623666801F6FF09E5FD6E11FD661201060009462366680128 +:2024C800F6FF09E501050059503E0021625BCDFB81F1F1F1DD75ECDD74ED010A0009360361 +:2024E800233610210E00DD4EECDD46ED093630233600AFDD77FEDD77FF210500DD4EEADDE1 +:2025080046EB095E2356060CCD87834B42DD6EFEDD66FFCDC88230043E011801AFE60FCA90 +:20252800C365210500DD4EEADD46EB0946237E68E60F67DD4EFEDD46FF0929E5210800EDF6 +:202548005B3F87195E2356E1192B2B5E2356D5211000E52E06DD5EECDD56ED196E26000127 +:20256800F0FF09E5DD6EFEDD66FF29294D442909011400094D441108003E0021DF5ECDFBAA +:2025880081F1F1F1DD75FCDD74FD010E000936302370DD4EFCDD46FDC5DD5EEC4BDD56ED94 +:2025A80042211D00094E2346237E6960C1CDFB81DD34FE2003DD34FFC3016501F884DD5E3C +:2025C800ECDD56ED3E0021A14CCDFB8101FF00CD5066010E0009363023700EFECD5066EB44 +:2025E800CDD74FDD4EECDD46EDC5FD5E11FD5612FD6E11FD6612011D00094E2346237E694A +:2026080060C1CDFB81210000E5FD5E11FD5612FD6E11FD6612011700094E2346237E69603E +:20262800010301CDFB81E1211000ED4B3F87097E23B623B6280DFDE5D1211000ED4B3F87E4 +:20264800CDDC53FDE1C3A381DD5EECDD56ED3E0021D64DC3FB81CD7A82F8FFFDE5030ADD1D +:2026680077FE030ADD77FF0369604EDD71FC2346DD70FDDD6EFE6729EBCD0E63DD75FADD3B +:2026880074FB5950CD164BC54D44DD5E02DD5603CD0663F1110000AFDD77F8DD77F9DD4E78 +:2026A800FCDD46FD6B62CDC8823035CD2467303023DD75F8DD74F92B29DD4EFADD46FB099E +:2026C800E5FDE5E1194D44E1712370FDE5E1197EB728031318F56B6213FDE5C1097718BE86 +:2026E800CD2467301329DD4EFADD46FB09E5FDE5E1194D44E1712370210600ED4B3F87095D +:20270800FDE5C1712370210800ED4B3F8709DD4EFA71DD46FB2370FDE1C3A381DD4EFEDDC8 +:2027280046FFDD6EF8DD66F9C3C8822A3F87C3A981C5D5111300CD0E63223F87AF7723773F +:20274800210400ED4B3F8709772377210A00ED4B3F8709772377210C00ED4B3F8709772323 +:2027680077210800ED4B3F8709772377210600ED4B3F8709772377211000ED4B3F870977AB +:20278800237723773E00214846CDFB81210000E5E50E00C521B84BE50E00C521D44BE511F7 +:2027A8003000CD5868210C0039F9210000E5E50E00C521B84BE50E00C521E54BE5113100E3 +:2027C800CD5868210C0039F9210000E5E50E00C521CB4BE50E00C521EE4BE5113200CD58B1 +:2027E80068210C0039F9210E00ED4B3F8709E5118000D55AD54B423E0021B955CDFB81F126 +:20280800F14D44E1712370210E00ED4B3F87095623666A110A001936012372210E00ED4B63 +:202828003F87095623666A11170019363823365F233600210E00ED4B3F870946236668014A +:202848001A00093674233655233600D1C1C3A9813E00217B4AC3FB81C5D5210E00ED4B3F7A +:2028680087095E2356CDD74F3E00210549CDFB813E0021D646CDFB81D1C1C3A981CD7A82F4 +:20288800FEFFDD4E02DD4603210E00ED5B3F87195E23563E0021565FCDFB81210400ED4BF9 +:2028A8003F87097E23B6C24369210100E523394D442A3F8723235E2356CD0663F13E01AD68 +:2028C800B420D8DD4EFE47C5210485E53E00219172CDFB81F1F1AFDDB6FE28294FC5210E1F +:2028E80000ED5B3F87195E2356210E00ED4B3F870946236668011700094E2346237E696023 +:202908000101001829DD4EFFC5210E00ED5B3F87195E2356210E00ED4B3F870946236668E3 +:1E292800011700094E2346237E6960010200CDFB81E1DD46FEDD70FFC3A368C3A38100 +:2003F7002F6465762F6C636430004F4B0043616E63656C00004D65737361676520426F78F8 +:09041700003078253032780A002B +:2003C3001B4B1B5300001B4300001B4E00001B5200001B4600001B6800001B5A00000000B9 +:1403E300001B45001B002F776E642F303030302E73637200AE +:20294600C5D5110800CDB36922418701060009E5CDB0694D44E1712370210600ED4B418773 +:20296600095623666A11140019AF772377210600ED4B4187097E23666F72210600ED4B4149 +:2029860087095623666A110E0019AF772377210600ED4B4187094623666801100009772345 +:2029A6007723772377D1C1C3A9811116003E01210040C3FB81CD7A829EFFFDE5212600DD75 +:2029C6004E02DD46030946DD709E2366DD749F2A41877DB420083E00214669CDFB8168DDE1 +:2029E600669F2323233E1023AE2BB6206421070048DD469F096E67E52A4187C17123702A09 +:202A060041872323E5CD1D6FE1712370210400ED4B418709E5210700DD5E9EDD569F195E22 +:202A26002356234E2346EB3E10CD316FE17123702A41874E2346DD5E02DD5603CD586FDD25 +:202A46005E02DD5603CD386FDD5E02DD5603CD756FDD6E9EDD669F232323462366680110C6 +:202A6600903E80AC67ED42DA9C6BDD6E9EDD669F2323234E2346211210CDC882DA9C6B2198 +:202A86000600ED4B41870946236668DD75A2DD74A3211400DD4EA2DD46A3097E23B6280AA8 +:202AA600211400095623666A18E1210500DD4E9EDD469F094E2346211100DD5E02DD56037A +:202AC600195E23563E0021D64DCDFB81DD75A0DD74A1012000094E2346DD5E02DD56033EBF +:202AE6000021A14CCDFB81012085DD5EA0DD56A13E0021A14CCDFB81DD5EA04BDD56A1CDC8 +:202B0600896FDD6E9EDD669F2323235E2356CD088210100300926B236B406B656B212000EB +:202B2600DD4E02DD4603094E2346DD5EA2DD56A33E00213F75CDFB811852210E00DD4EA207 +:202B4600DD46A309E5212000DD4E02DD4603095E23563E00216675CDFB814D44E1182A21EF +:202B66002000DD4E02DD4603095E23563E0021BA7CCDFB817C079F4F41E5211000DD5EA279 +:202B8600DD56A319D173237223712370DD5E024BDD5603CD896FDD6E9EDD669F2323234643 +:202BA600236668011E10A7ED42C2F96DAFDD77ACDD77ADDD77AEDD77AF210600ED4B418715 +:202BC6000946236668E5FDE1210100E5212185E53E0021CD7ECDFB81F1F1DD75A0DD74A180 +:202BE60021080039E5210000E5DD6EA0DD66A1E53E0021E273CDFB81F1F1F1DD36A860DD06 +:202C060036A90021080039E5210100E5DD6EA0DD66A1E53E0021E273CDFB81F1F1F1FDE51B +:202C2600E17DB4CA0E6DFD7E0EFDB60FCA026D3E01FDAE0EFDB60F20296F67E52E64E5CDB1 +:202C4600A06FC5E56F67E52E64E5CDAF6FC5E5FDE5212E85E521200039E5CD986F210E00F1 +:202C66001868210000E52E64E5FD6E0EFD660F7C079F4F41C5E5CDBE6FCD4782C5E52100AF +:202C860000E52E64E5FD6E0EFD660F7C079F4F41C5E5CDBE6FCD9882C5E5210000E52E6468 +:202CA600E5CDA06FC5E5210000E52E64E5CDAF6FC5E5FD6E0EFD660FE5FDE5215185E521E2 +:202CC6002A0039E5CD986F21180039F921100039E5FD5E0EFD560F7A079F4F41C5D5CDBE78 +:202CE6006FEBE1CDD68121140039EB3E0021AB73CDFB81E521160039CDCD6FF1FD6E14FD85 +:202D06006615E5FDE1C3246C6F67E52E64E5DD4EAEDD46AFDD6EACDD66ADCD4782C5E56FA9 +:202D260067E52E64E5DD4EAEDD46AFDD6EACDD66ADCD9882C5E5212085E5E5219185E521DA +:202D4600220039E5CD986F21100039F921140039EB3E0021AB73CDFB81E521160039CDCDE8 +:202D66006FF1DD5EA0DD56A13E00219673CDFB81210600ED4B41870946236668E5FDE17DE6 +:202D8600B42813FDE5D13E00215F74CDFB81FD6E14FD661518E6210600ED4B418709E5CD39 +:202DA600B069EBE1732372210600ED4B4187095623666A11140019AF772377210600ED4B4A +:202DC6004187097E23666F72210600ED4B4187095623666A110E0019AF772377210600EDAF +:202DE6004B418709462366680110000977237723772377DD6E9EDD669F23232346236668B0 +:202E0600011F10A7ED42C2186F210600ED4B41870946236668DD75A0DD74A1211400DD4EB2 +:202E2600A0DD46A1097E23B6280A211400095623666A18E1210700DD4E9EDD469F096E6785 +:202E4600E52A4187C17123702A41872323E5CD1D6FE1712370210400ED4B418709E521073A +:202E660000DD5E9EDD569F195E2356234E2346EB3E10CD316FE17123702A41874E23462182 +:202E86001100DD5E02DD5603195E2356CD586F211100DD5E02DD5603195E2356CD386F21FA +:202EA6001100DD5E02DD5603195E2356CD756F211100DD4E02DD4603095E23562111000947 +:202EC60046236668011A00CD8D6F211400DD4EA0DD46A109E5CDB069EBE173237221140030 +:202EE600095623666ADD75A0DD74A101140009AF772377DD6EA0DD66A170210E00DD4EA07F +:202F0600DD46A1097723772110000977237723772377FDE1C3A381210700DD4E9EDD469FD6 +:202F2600095E2356234E2346EB3E08CD158306004DC93E0021D64DCDFB81EB3E0021A14C1D +:202F4600011485CDFB81210400ED5B4187194E2346C93E0021D64DCDFB81EB3E0021A14CB8 +:202F6600010C85CDFB812A418723234E2346C93E0021D64DCDFB81EB3E0021A14C011A8516 +:202F8600C3FB8142211A00094E2346237E6960C3FB813E00211B70C3FB81FD4E12FD46132A +:202FA600FD6E10FD6611C34782FD4E12FD4613FD6E10FD6611C39882FD4E12FD4613FD6EF3 +:172FC60010FD6611C31F814D44DD5EA0DD56A13E00217272C3FB814B +:20042000426172636F6465005374756B73005072696A7300002F6465762F7072696E7465BB +:20044000720025313373205665726B6F6F70617274696B656C20207C25376C642C253032A1 +:200460006C640D0A0025313373205665726B6F6F70617274696B656C0D0A253464782040FB +:20048000207C2025376C642C2530326C64202020202020202020207C25376C642C25303256 +:2004A0006C640D0A000D0A25313373546F7461616C3A253130737C25376C642C2530326CE3 +:0804C000640D0A0D0A0D0A008B +:202FDD00C5D53E00213967CDFB813E00214669CDFB813E00213367CDFB810110000936BB4E +:1E2FFD0023366923360011B4853E00218568CDFB813E00216068CDFB81D1C1C3A981CD +:0E04C8002F776E642F303030302E7363720049 +:20301B00CD7A82FCFF2110003901020009DD75FCDD74FDDD4E0ADD460BED43CE85E5DD4EC9 +:20303B000CDD460D11CE853E0021FC76CDFB81F1DD75FEDD74FF2ACE853600DD6EFEDD66EB +:04305B00FFC3A3818B +:1804E20000000000FFFF0000FFFFFFFF200000000000000000000000E8 +:20003300E3D5DDE5DD210000DD39DD5609DD7409DD5E08DD7508D5C5F5DD6E0462ED6CDD76 +:200053005605ED5C1959DD5607ED5C19DD5E0650ED5C19E5DD5E04DD56FEED5CDD6E05DD1D +:200073006607ED6C19DD4606ED4C09E5DD5E04DD5607ED5CDD6E05DD6606ED6CAF1917F5B6 +:20009300DD5E04DD5606ED5C4A0600AF091755C14CE10984C1814D47EBF1D1D1DDE1D13387 +:0F00B300333333C9DDF9DDE1D1C1F1ED3939C99D +:20305F00CD7A82F8FFAFDD77FEDD77FFDD7E02DDB603207811E8853E00215F70CDFB817D40 +:20307F00B4201E1100863E00215F70CDFB817DB4200F1118863E00215F70CDFB817DB42852 +:20309F000621FFFFC36F722AE685DD7502DD7403DD7E02DDB603282EDD5E02DD56033E0011 +:2030BF00215F70CDFB817DB4280621FFFFC36F72211600DD4E02DD4603095623666ADD7568 +:2030DF0002DD740318CA210000C36F72210C00DD4E02DD4603097EE680CAC571210600DD63 +:2030FF004E02DD4603095E23560A6F030A67A7ED52DD75FADD74FB7DB4CAC371210600DDBD +:20311F004E02DD46030946236668DD75F8DD74F9DD6EFADD66FBE5DD4EF8DD46F9210A0074 +:20313F00DD5E02DD5603195E23563E00217272CDFB81F1DD75FCDD74FD4D44210000CDC8AD +:20315F0082301E210000397EDD86FC77237EDD8EFD77210200397EDD96FC77237EDD9EFD79 +:20317F0077DD4EFCDD46FD210000CDC88238A1DD7EFCDDA6FD3C20092A3A873E04ADB4286F +:20319F008FDD7EFADDB6FB281B210C00DD4E02DD4603097EF60077237EF60277DD36FEFFC7 +:2031BF00DD36FFFF186A210C00DD4E02DD4603097EE640285BDD6E02DD66034E2346DD6E18 +:2031DF0002DD660323235623666AA7ED42DD75FADD74FB4D44210000CDC88230332101003D +:2031FF00E5DD4EFADD46FBA7210000ED427C079F4F41C5E5210A00DD4E02DD4603095E232D +:20321F00563E0021C072CDFB81F1F1F1CB782800210C00DD4E02DD4603097EE63F77237EDD +:20323F00E6FA7769602323E5210400DD4E02DD460309E5210600095623666AE56960C17165 +:20325F002370E1712370E1712370DD6EFEDD66FFC3A381CDEF81DD6E0ADD660BE5C5D52100 +:12327F002400E53E01217B42CDFB81F1F1F1F1C3A38123 +:1600C200F5C5E5784251676BED4CED6CED5C79858257E1C1F1C99E +:20329100CD7A82FCFF210E003901020009DD75FCDD74FDE5DD4E0ADD460B1100863E00210B +:2032B100FC76CDFB81F1DD75FEDD74FFC3A381CDEF81DD6E0EDD660FE5DD6E0CDD660DE571 +:2032D100DD6E0ADD660BE5D5211900E53E01210F44CDFB81F1F1F1F1F1C37B83CD7A82FE28 +:2032F100FF2AE685DD75FEDD74FF1100863E00215F70CDFB811118863E00215F70CDFB8155 +:20331100DD7EFEDDB6FF283CDD5EFEDD56FF3E00215F70CDFB81210A00DD4EFEDD46FF09EC +:203331005E23563E00219673CDFB81210A000936FF2336FF211600095623666ADD75FEDD7D +:2033510074FF18BCC3A381C5D52A30867DB42002182E2100002230861101003E00210D7430 +:20337100CDFB817DB4280C210C867EF60177237EF600770E0011ED723E0121DC43CDFB819B +:05339100D1C1C3A981B8 +:2004FA0000004387438743874387438800001000000000000000000000004388438843887E +:20051A00438843890100200000000000000000000000268626862686268628860200220087 +:0C053A00000000000000000000000100B4 +:20339600CDEF81D5210600E53E01217B42CDFB81F1F1C3A381CD7A82FEFFDD6E02DD660371 +:2033B600DD75FEDD74FFDD6EFEDD66FFAFB6280ADD34FE2003DD34FF18ECDD4E02DD46039C +:0C33D600DD6EFEDD66FFA7ED42C3A381A3 +:1200D800E3F5C54E2346237BEDB12002232309C38E8242 +:2033E200CDEF81DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5210F00E53E01217BFA +:0B34020042CDFB81F1F1F1F1C3A38189 +:1900EA00F57E83775F237E8A7757237E89774F237E8877472B2B2BF1C926 +:20340D00CD7A82E2FF210000394D44DD5E02DD56033E00214874CDFB817DA43C2812DD7E41 +:20342D00E6E6006FDD7EE7E6F0673E20ACB528052100001803210100C3A381CDEF81C5D5BD +:20344D00210D00E53E01217B42CDFB81F1F1F1C3A381CD7A82FCFF21FCFFDD4E02DD4603F9 +:20346D0009DD75FEDD74FF23237E23B6280621FFFFC33C752A4789DD75FCDD74FDDD4EFC7B +:20348D00DD46FDDD6EFEDD66FFA7ED423817DD6EFCDD66FD232346236668DD4EFEDD46FF00 +:2034AD00A7ED423053DD6EFCDD66FD23234E2346DD6EFCDD66FDA7ED423829DD4EFEDD4618 +:2034CD00FFDD6EFCDD66FDA7ED423816DD6EFCDD66FD23234E2346DD6EFEDD66FFA7ED4250 +:2034ED0030021814DD6EFCDD66FD232346236668DD75FCDD74FD1885DD6EFEDD66FF232353 +:20350D00E5DD4EFCDD46FD030369604E2346E1712370DD6EFCDD66FD2323DD4EFEDD46FFEF +:12352D00712370DD6EFCDD66FD224789210000C3A38107 +:19010300E1C5D5DDE5DD210000DD39E9E526806F7EED2039ED3939E3E9C0 +:20353F00CDEF8159503E0021AB73CDFB8123E5DD4E04DD4605DD5E02DD56033E01219542B7 +:07355F00CDFB81F1C3A38144 +:20011C00E3F5D57B96235F7A9E23577B96237A9E23C33982E3F5C54E23462378B1280D0B24 +:20013C007B962320F57A9620F12323230909C38E823004EB2329195E2356EBD1F1E3C9EB4C +:20015C00E3F5DDE5DD210000DD39C5D5DD5609DD7409DD5E08DD75083E01CDC783CD23833F +:20017C00B72006CDB183CDDA82DDF9DDE1F1D13333C9E1C5D5DDE5DD210000DD395E2356AF +:10019C0023EB39F9EBE909097E23666FC1F1E3C959 +:16356600CDEF81210A00E50100003E0121A545CDFB81F1C3A38196 +:2001AC00EBE3F5DDE5DD210000DD39C5D5DD5609DD7409DD5E08DD7508AFCDC783CD238394 +:1001CC00E1C1B7CCB183C4DA82DDE1F1D13333C9FB +:20357C00CD7A82FAFFAFDD77FBDD77FC59503E0021AB73CDFB81DD75FDDD74FEDD6E04DDE6 +:20359C0066057EFE2D2014DD6E04DD660523DD7504DD74052B46DD700A180EAFDDB60A28FF +:2035BC0008DD34FD2003DD34FEDD7E10DDA6113C281DDD4EFDDD46FEDD6E10DD6611CDC89A +:2035DC0082300CDD6E10DD6611DD75FDDD74FEDD4EFDDD46FEDD6E0EDD660FCDC882300C7D +:2035FC00DD6EFDDD66FEDD750EDD740FDD6E0EDD660FDD75FBDD74FC211400397EDD96FDC5 +:20361C0077237EDD9EFE77DD7E0EDDB60F2009DD7EFDDDB6FECAF376DD7E08DDB6092034E3 +:20363C00DD7E0EDDB60F282CDD7EFDDDB6FE280FAFDDB60A2809DD7E0CFE3020021823DDA3 +:20365C00460CDD70FADD6E0EDD660F2BDD750EDD740F184EDD7EFDDDB6FE2833AFDDB60A29 +:20367C00280CDD460ADD70FADD360A001812DD6E04DD660523DD7504DD74052B46DD70FA21 +:20369C00DD6EFDDD66FE2BDD75FDDD74FE1813DD460CDD70FADD6E0EDD660F2BDD750EDD08 +:2036BC00740FDD4E02DD4603DD5EFA16003E01213E44CDFB81DD7EFAFE0A20183E01DDAE43 +:2036DC0012DDB613200EDD5E02DD56033E00215F70CDFB81C32376DD6EFBDD66FCC3C08317 +:2036FC00CD7A82A2FFAFDD77B0DD77B1210C00DD5E02DD5603197EE6034F237EE60047DD72 +:20371C0071FDDD70FE210C00197EE6FC77237EE6FF77DD6E04DD6605AFB6CA017CDD6E0428 +:20373C00DD66057EFE25C2B47B3E02DDAEFDDDB6FE200EDD5E02DD56033E00215F70CDFBA3 +:20375C0081AFDD77A4DD77A5DD36B300DD36B220DD36ACFFDD36ADFFAFDD77AADD77ABDD7B +:20377C0036A8FFDD36A9FFDD36AE0ADD36AF00211B0039DD75B5DD74B6DD36B400AFDD77BB +:20379C00A6DD77A7AFDD77A2DD77A3DD34042003DD3405DD6E04DD66057EFE30380BDD6EB1 +:2037BC0004DD66053E39BE3002186521000039010A00CDA783DD6E04DD66054E060021D085 +:2037DC00FF094D44210000397E8177237E8877DD7EAADDB6AB280EDD6EA2DD66A3DD75A87E +:2037FC00DD74A91821DD7EA2DDB6A3200DDD7EB2FE202006DD36B230188ADD6EA2DD66A35F +:20381C00DD75ACDD74ADDD34042003DD34051883DD6E04DD66055ECDC48114000020212328 +:20383C002A2B2D2E5862636468696C6F70737578B07BB879C079437B937989790F79247939 +:20385C001A792479007B7F79AE79047986789178A5789E78E27A91787678DD6E04DD6605E1 +:20387C002BDD7504DD7405C3B47BDD36A401DD36A500C3A077DD6E04DD660546DD70B3C379 +:20389C00A077DD36B401C3A077216800397EC60277237ECE00772B6E672B2B46236668DD84 +:2038BC0075A2DD74A3DD7EAADDB6AB280EDD6EA2DD66A3DD75A8DD74A9182ADD6EA2DD662F +:2038DC00A3DD75ACDD74ADCB7C281ADD36A401DD36A500DD4EA2DD46A3A7210000ED42DDCD +:2038FC0075ACDD74ADC3A077DD36AA01DD36AB00C3A077DD36A601DD36A700C3A077AFDD83 +:20391C0077A6DD77A7C3A077210A00E5211D0039E5DD7EA6DDB6A7281D216C00397EC6049F +:20393C0077237ECE00772B6E6701FCFF095E2356234E2346181A216C00397EC60277237E02 +:20395C00CE00772B6E672B2B5E23567A079F4F413E0021577CCDFB81F1F1DD75B5DD74B6BE +:20397C00C3677BDD36AE02DD36AF001837DD36AE08DD36AF00182DAFDD77A6DD77A7DD362B +:20399C00B230DD36AC05DD36AD00DD36A808DD36A900DD36AE10DD36AF001808DD36AEF0C2 +:2039BC00DD36AFFFDD7EA6DDB6A7281E216800397EC60477237ECE00772B6E6701FCFF093D +:2039DC005E2356234E2346EB1819216800397EC60277237ECE00772B6E672B2B462366680C +:2039FC00010000DD75B9DD74BADD71BBDD70BCDD5EAEDD56AFD5211D003901040009E5DD9B +:203A1C004EBBDD46BCDD5EB9DD56BA3E01215045CDFB81F1F1DD75B5DD74B6DD36B7C2DD2A +:203A3C0036B885AFDDB6B4CADF7A3E02DDAEAEDDB6AF200ADD36B7C3DD36B88518493E0875 +:203A5C00DDAEAEDDB6AF2018DD7EB9DDB6BADDB6BBDDB6BC2808DD36B7C6DD36B88518274A +:203A7C003E10DDAEAEDDB6AF200ADD36B7C8DD36B88518133E0FDDAEAEDDA6AF3C2008DD31 +:203A9C0036B7CBDD36B885DD6EB7DD66B8AFB62832DD36B200DD4EB7DD46B8211B00395DF2 +:203ABC00543E00213F75CDFB81DD4EB5DD46B6211B00395D543E0121EF43CDFB81DD75B579 +:203ADC00DD74B6C3677BDD6E04DD6605234E0600DD71A2DD70A379B02808DD34042003DDC2 +:203AFC003405181C216800397EC60277237ECE00772B6E672B2B46236668DD75A2DD74A363 +:203B1C00DD46A2DD6EB5DD66B670DD6EB5DD66B6233600AFDDB6B4280CDD6EB5DD66B646A0 +:203B3C00DD70B21822181C216800397EC60277237ECE00772B6E672B2B46236668DD75B503 +:203B5C00DD74B6DD36B220DD36B300DD6EFDDD66FEE5DD6EA8DD66A9E5DD6EACDD66ADE599 +:203B7C00DD6EB2E5DD6EB3E5DD6EA4DD66A5E5DD4EB5DD46B6DD5E02DD5603CD7C75EB21B2 +:203B9C000C0039F9EB4D44210E00397E8177237E8877180218021842DD4E02DD4603DD6EA5 +:203BBC0004DD66055E16003E01213E44CDFB81DD34B02003DD34B1DD6E04DD66057EFE0A3B +:203BDC0020183E01DDAEFDDDB6FE200EDD5E02DD56033E00215F70CDFB81DD34042003DD0C +:203BFC003405C32E77210C00DD4E02DD4603097EDDB6FD77237EDDB6FE773E02DDAEFDDDAC +:203C1C00B6FE200EDD5E02DD56033E00215F70CDFB813E01DDAEFDDDB6FE2016210400DD2C +:1B3C3C004E02DD460309E5210600094E2346E1712370DD6EB0DD66B1C3A38167 +:0C04D60000306200300030780030580028 +:203C5700CD7A82FEFFDD36FE41DDCB0D7E2816DD36FE61DD4E0CDD460DA7210000ED42DD17 +:203C7700750CDD740DDD6EFEE53E0ADDAE0CDDB60D20043E011801AF4FC5DD6E0CDD660DBB +:203C9700E5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E0021D07CCDFB81F1F1F1F11E +:193CB700C3A381CDEF81210A00E50100003E0121A545CDFB81F1C37B837A +:1201DC00C5E5F57CEE806778EE8047F1A7ED42E1C1C9C2 +:203CD000CD7A82D6FFDD6E0ADD660BDD75F8DD74F921000039DD75FADD74FB212C0039DDAA +:203CF00075FCDD74FD213A00397ED60A77DD4E0CDD460D212400CDC8823811010280DD6EB2 +:203D10000CDD660D3E80AC67ED423003C3537EDD6EFCDD66FD23237EE60047237EE680B041 +:203D30002831AFDDB60E282BDD6EF8DD66F923DD75F8DD74F92B362DDD4E04DD4605DD6E11 +:203D500002DD6603CD8484DD7502DD7403DD7104DD7005DD6EFCDD66FD23237E23B62002A4 +:203D7000184EDD6E0CDD660D7C079F4F41C5E5DD4E04DD4605DD6E02DD6603CD1B84E5DDB2 +:203D90006EFADD66FB23DD75FADD74FB2BC171212C0039DD5E0CDD560D7A079F4F41CD0BC0 +:203DB00084DD6EFCDD66FD23237E23B620B41830DD5E02DD5603DD4E0CDD460DCDE282DD47 +:203DD0006EFADD66FB23DD75FADD74FB2B73DD5E02DD5603CD0783DD6EFCDD66FD7323727B +:203DF000DD6EFCDD66FD7E23B620C5210000394D44DD6EFADD66FBA7ED42DD75FFAFDDB619 +:203E1000FF2840DD6EFADD66FB2BDD75FADD74FB46DD70FE78FE0A300ADD7EFEC630DD77F7 +:203E3000FE1809DD7EFEDD8610DD77FEDD6EF8DD66F923DD75F8DD74F92BDD46FE70DD3531 +:203E5000FF18BADD6EF8DD66F93600DD6E0ADD660BC3A381CD7A82FEFFDD36FE41DDCB0B77 +:203E70007E2816DD36FE61DD4E0ADD460BA7210000ED42DD750ADD740BDD6EFEE50E01C5F0 +:203E9000DD6E0ADD660BE5DD6E04DD6605E53E0ADDAE0ADDB60B200DDD5E02DD56037A0772 +:1D3EB0009F4F411809DD5E02DD56030100003E0021D07CCDFB81F1F1F1F1C3A38192 +:0801EE002CC024C00CC004C9A0 +:203ECD00CDEF81DD6E0EDD660FE5DD6E0CDD660DE5DD6E0ADD660BE5211400E53E01217BFF +:0B3EED0042CDFB81F1F1F1F1C3A38194 +:2001F600F5E5CD9183EBE1F1C9F5C5E5AFCD4084F5CD9183F1B728031318067B2F5F7A2F3D +:1302160057E1C1F1C9F5E5CD91837B2F5F7A2F57E1F1C9C3 +:20400000CD7A82FAFFDD6E02DD6603232323CB3CCB1DCB3CCB1D23DD75FEDD74FF2A478947 +:20402000DD75FCDD74FD7DB42011DD36FC43DD36FD89214389224589224789DD6EFCDD663E +:20404000FD232346236668DD75FADD74FBDD6EFADD66FB232346236668DD4EFADD46FBA764 +:20406000ED42CAF040DD6EFADD66FB462366682929DD4EFADD46FB09E5030369604E234654 +:20408000E1A7ED42206ADD6EFADD66FB232346236668ED4B4789A7ED422015DD6EFADD6644 +:2040A000FB232346236668232346236668224789DD6EFADD66FB23237E23666F4E2346DD46 +:2040C0006EFADD66FB7E8177237E8877DD6EFADD66FB2323E5DD4EFADD46FB030369604E16 +:2040E0002346030369604E2346E1712370C34D40DD6EFADD66FB46236668DD4EFEDD46FF97 +:20410000A7ED42DAAE41DD6EFADD66FB46236668DD4EFEDD46FFA7ED42201CDD6EFCDD665F +:20412000FD2323E5DD4EFADD46FB030369604E2346E17123701856DD6EFEDD66FF2929DD81 +:204140004EFADD46FB09224789DD6EFCDD66FD2323ED5B47897323722A47892323E50303E6 +:2041600069604E2346E1712370DD6EFADD66FB46236668DD4EFEDD46FFA7ED42E52A478920 +:20418000D1732372DD6EFADD66FB712370DD6EFCDD66FD224789DD6EFADD66FB2323AF7757 +:2041A0002377210400DD4EFADD46FB0918272A4789DD4EFADD46FBA7ED42204F1100043EE0 +:2041C00001214D46CDFB81DD75FADD74FB7DA43C2006210000C3A381DD6EFADD66FB360005 +:2041E000233601DD6EFADD66FB2323AF772377210400DD4EFADD46FB09EB3E00215F74CD81 +:20420000FB812A4789DD75FADD74FBDD6EFADD66FBDD75FCDD74FDDD6EFADD66FB23234662 +:0C422000236668DD75FADD74FBC34D40B9 +:0E022900B7C8CB28CB19CB1CCB1D3D20F5C987 +:20422C00CDEF812A3C873A3E87B5B42812010000DD5E02DD56033A3E872A3C87CDFB81DD20 +:10424C005E02DD56033E01212944CDFB81C3A381CF +:20023700F5210000010000DD36F82118021937DDCBFC16DDCBFD16DDCBFE16DDCBFF16DD2F +:2002570035F8282ECB11CB10CB15CB14ED5238DD201078DD960738D5200879DD960638CDEC +:18027700180479DD96064F78DD9E074730C12BA718BDF1E56069C1C910 +:1F425C00CDEF81DD6E0ADD660BE5C5D5211700E53E01217B42CDFB81F1F1F1F1C3A381B6 +:20028F00DDF9DDE1D13333F1ED3939C90405C8CB2ACB1B10FAC92100003E11CB13CB123D84 +:0C02AF00C8CB15CB14ED4230F20918EF5B +:1A427B0021040039C5D55E2356234D44F73006223A8721FFFFD1C1C3A981F8 +:1902BB005E2356CDAE81722B73C9F57D2F6F7C2F67792F4F782F47F1C9BD +:20429500CD7A82FCFFDD6E02DD6603DD75FCDD74FDDD71FEDD70FFDD6E0ADD660B2BDD755E +:2042B5000ADD740B237DB42820DD6EFEDD66FF23DD75FEDD74FF2B46DD6EFCDD66FD23DDA1 +:2042D50075FCDD74FD2B7018CEDD6E02DD6603C3A381CD7A82FAFF2A32862BDD75FADD74A3 +:2042F500FB21FFFF2232863E00210000323E87223C87DDCBFB7E2053010500DD5EFADD5678 +:20431500FBCDAE81214989195E23562346EBDD75FCDD74FDDD70FE110500DD4EFADD46FB1A +:20433500CDAE81214C89194E2346DD5E02DD5603DD7EFEDD6EFCDD66FDCDFB81DD6EFADDE8 +:2043550066FB2BDD75FADD74FB18A7C3A381CDEF812A3286CB7C200E010A802A32863E80BF +:20437500AC67ED42380B210C00223A8721FFFF18533E0121E742323E87223C87DD7E02DD6A +:20439500B603DDB604283A010500ED5B3286CDAE8121498919DD5604DD4E02DD460371232A +:2043B500702372010500ED5B3286CDAE81214C8919DD4E0ADD460B7123702A328623223212 +:1A43D50086210000C3A381CDEF81210000E53E01216343CDFB81F1C3A381D6 +:020546000000B3 +:2043EF00CDEF81D53E0021AB73CDFB81D119EB3E00213F75CDFB81DD6E02DD6603C3A3812B +:20440F0021040039D55E2356234D44F73008223A8721FFFF4D44D1C3A981CDEF81D5210B11 +:0F442F0000E53E01217B42CDFB81F1F1C3A3816A +:0702D400DDF9DDE1D1C1C934 +:20443E00CD7A82FEFF3E00215873CDFB81210C000946236668DD75FEDD74FF7DE640281835 +:20445E00DD5E04DD56053E00215F70CDFB817DB4280621FFFFC34D45DD7EFEE6206FDD7E54 +:20447E00FFE603673E20ADB4280621FFFFC34D45210800DD4E04DD4605095E23560A6F0392 +:20449E000A67A7ED523818DD5E04DD56053E00215F70CDFB817DB4280621FFFFC34D45DDB9 +:2044BE006E04DD66054E234603702B710B6960DD460270210C00DD4E04DD4605097EF68074 +:2044DE0077237EF600773E0ADDAE02DDB6032007DD7EFEE6012007DD7EFEE6022817DD5E85 +:2044FE0004DD56053E00215F70CDFB817DB4280521FFFF183ADD7EFEE6032818210400DD98 +:20451E004E04DD460509E5210600094E2346E17123701816210400DD4E04DD460509E52190 +:20453E000800094E2346E1712370DD6E022600C3A381CD7A82FEFFDD36FE41DDCB0D7E28E3 +:20455E0016DD36FE61DD4E0CDD460DA7210000ED42DD750CDD740DDD6EFEE50E00C5DD6E4F +:20457E000CDD660DE5DD6E0ADD660BE5DD4E04DD4605DD5E02DD56033E0021D07CCDFB8196 +:20459E00F1F1F1F1C3A381CD7A82F8FFAFDD77FCDD77FDDD6E02DD6603DD75FEDD74FFDD32 +:2045BE006EFEDD66FF4E0600213486097EE610280ADD34FE2003DD34FF18E4DD6EFEDD6687 +:2045DE00FF7EFE2D2012DD34FC2003DD34FDDD34FE2003DD34FF1813DD6EFEDD66FF7EFE31 +:2045FE002B2008DD34FE2003DD34FFDD6E0ADD660BE5DD4E04DD4605DD5EFEDD56FF3E017F +:20461E0021E846CDFB81F1DD75F8DD74F9DD71FADD70FBDD7EFCDDB6FD2805CD8484180CC2 +:0F463E00DD4EFADD46FBDD6EF8DD66F9C37B83EA +:2002DB00CB7A2818424BDD6607DD6E06CDB183CDDA825059DD7407DD75063E01DDCBFF7E6F +:2002FB00C8F5DD46FFDD4EFEDD66FDDD6EFCCDB183CDDA82DD70FFDD71FEDD74FDDD75FCF6 +:20031B00F1EE01C9C5D55E2356234E2346EBCD5C84C39684EBE3F5DDE5DD210000DD39C5FB +:20033B00D5DD5609DD7409DD5E08DD7508CD2383DDF9DDE1F1D13333C9CB782809AF914F9F +:20035B003E0098473E01CB7AC8F5AF935F3E009A57F1EE01C9EBE3F5DDE5DD210000DD3912 +:1D037B00C5D5DD5609DD7409DD5E08DD7508CD2383E1C1CDB183DDE1F1D13333C9D3 +:15464D00CDEF81D5211800E53E01217B42CDFB81F1F1C3A381F9 +:1B039800F5AF956F3E009C673E00994F3E009847F1C9EB702B712B722B73C969 +:20466200CD7A82FEFFDD36FEFFDD36FFFFDD5E021600213486197EE608280FDD4E02060034 +:2046820021D0FF09DD75FEDD74FFDD4E020600213486097EE604280FDD4E02060021A9FFCD +:2046A20009DD75FEDD74FFDD4E020600213486097EE602280FDD4E02060021B0FF09DD753D +:2046C200FEDD74FFDD4E04DD4605DD6EFEDD66FFCDC8823808DD36FEFFDD36FFFFDD6EFEE7 +:2046E200DD66FFC3C083CD7A82FAFF110280DD6E0ADD660B3E80AC67ED52380EDD4E0ADD10 +:20470200460B212400CDC8823007AFDD770ADD770BDD6E02DD66034E0600213486097EE618 +:2047220010280ADD34022003DD340318E4DD6E02DD66037EFE2B200ADD34022003DD340341 +:20474200186DDD7E0ADDB60B2065DD6E02DD66037EFE30205ADD6E02DD6603237EEE20FE51 +:20476200582017DD360A10DD360B00210800397EC60277237ECE00771835DD6E02DD660378 +:20478200237EEE20FE422017DD360A02DD360B00210800397EC60277237ECE00771810DDAA +:2047A200360A08DD360B00DD34022003DD3403DD7E0ADDB60B2008DD360A0ADD360B00AF28 +:2047C200DD77FADD77FBDD77FCDD77FDDD4E0ADD460BDD6E02DD66035ECD6246DD75FEDDA3 +:2047E20074FF7DA43C282E21000039DD5E0ADD560B7A079F4F41CD9F8421000039DD5EFE81 +:20480200DD56FF7A079F4F41CDD681DD34022003DD340318B7DD7E04DDB6052811DD6E02FA +:20482200DD6603E5DD6E04DD6605C1712370DD4EFCDD46FDDD6EFADD66FBC37B83CDEF8127 +:204842001600213486197EE604280EDD7E02EE206FDD7E03EE00671806DD6E02DD6603C3AD +:20486200A381CDEF811600213486197EE602280EDD7E02EE206FDD7E03EE00671806DD6E39 +:0748820002DD6603C3A38100 +:20054800010101010101010101111111111101010101010101010101010101010101010123 +:200568001020202020202020202020202020202048484848484848484848202020202020F3 +:200588002042424242424202020202020202020202020202020202020202022020202020DF +:2005A8002044444444444404040404040404040404040404040404040404042020202001AA +:2005C800000000000000000000000000000000000000000000000000000000000000000013 +:2005E8000000000000000000000000000000000000000000000000000000000000000000F3 +:200608000000000000000000000000000000000000000000000000000000000000000000D2 +:200628000000000000000000000000000000000000000000000000000000000000000000B2 +:1003B300C5D55E2356234E2346EBCD1F81C39684BA +:00000001FF diff --git a/src/gui/test.lst b/src/gui/test.lst new file mode 100644 index 00000000..4604eb7c --- /dev/null +++ b/src/gui/test.lst @@ -0,0 +1,69 @@ + 1 NAME test(17) + 2 RSEG CODE(0) + 3 RSEG CSTR(0) + 4 EXTERN GUIgo + 5 EXTERN GUIinit + 6 EXTERN GUIunit + 7 EXTERN Transaction_handler + 8 EXTERN Transaction_init + 9 EXTERN gui_globals + 10 PUBLIC main + 11 EXTERN ?CL64180B_4_06_L00 + 12 EXTERN ?BANK_CALL_DIRECT_L08 + 13 EXTERN ?BANK_FAST_LEAVE_L08 + 14 RSEG CODE + 00000000 15 main: + 00000000 C5 16 PUSH BC + 00000001 D5 17 PUSH DE + 00000002 3E 00 18 LD A,BYTE3 GUIinit + 00000004 21 00 00 19 LD HL,LWRD GUIinit + 00000007 CD 00 00 20 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000000A 3E 00 21 LD A,BYTE3 Transaction_init + 0000000C 21 00 00 22 LD HL,LWRD Transaction_init + 0000000F CD 00 00 23 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000012 3E 00 24 LD A,BYTE3 gui_globals + 00000014 21 00 00 25 LD HL,LWRD gui_globals + 00000017 CD 00 00 26 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000001A 01 10 00 27 LD BC,16 + 0000001D 09 28 ADD HL,BC + 0000001E 36 00 29 LD (HL),LOW(Transaction_handler) + 00000020 23 30 INC HL + 00000021 36 00 31 LD (HL),HIGH(Transaction_handler) + 00000023 23 32 INC HL + 00000024 36 00 33 LD (HL),BYTE3 Transaction_handler + 00000026 11 00 00 34 LD DE,?0000 + 00000029 3E 00 35 LD A,BYTE3 GUIgo + 0000002B 21 00 00 36 LD HL,LWRD GUIgo + 0000002E CD 00 00 37 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000031 3E 00 38 LD A,BYTE3 GUIunit + 00000033 21 00 00 39 LD HL,LWRD GUIunit + 00000036 CD 00 00 40 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000039 D1 41 POP DE + 0000003A C1 42 POP BC + 0000003B C3 00 00 43 JP LWRD ?BANK_FAST_LEAVE_L08 + 44 RSEG CSTR + 00000000 45 ?0000: + 00000000 2F 77 6E 64 2F 30 30 46 DEFB '/wnd/0000.scr' + 30 30 2E 73 63 72 + 0000000D 00 47 DEFB 0 + 0000000E 48 END + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. +Hexadecimal [32-Bits] + +Symbol Table + + .__.ABS. = 00000000 G | 2 ?0000 00000000 R + ?BANK_CALL_DIR ******** GX | ?BANK_FAST_LEA ******** GX + ?CL64180B_4_06 ******** GX | GUIgo ******** GX + GUIinit ******** GX | GUIunit ******** GX + Transaction_ha ******** GX | Transaction_in ******** GX + gui_globals ******** GX | 1 main 00000000 GR + + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. +Hexadecimal [32-Bits] + +Area Table + + 0 _DEFAULT size 0 flags 0 + 1 CODE size 3E flags 0 + 2 CSTR size E flags 0 diff --git a/src/gui/test.map b/src/gui/test.map index 6cb50e55..154ee27b 100644 --- a/src/gui/test.map +++ b/src/gui/test.map @@ -9,15 +9,15 @@ Area Addr Size Decimal Bytes (Attributes) 00000000 s__DEFAUL | 00000000 l_CCSTR | 00000000 l_ECSTR 00000000 .__.ABS. | 00000000 ?CL64180L | 00000000 ?CL64180B 00000014 e__DEFAUL | 00000014 l__DEFAUL | 00000034 l_CONST - 000000E3 l_CSTR | 00000166 l_CDATA0 | 00000166 l_IDATA0 + 000000EB l_CSTR | 00000166 l_CDATA0 | 00000166 l_IDATA0 00000247 l_UDATA0 | 000003AF l_RCODE | 00001000 l_CSTACK 00004000 s_CODE | 00008100 s_RCODE | 000084AF e_RCODE 000084AF s_CONST | 000084E3 s_CSTR | 000084E3 e_CONST - 000085C6 e_CSTR | 000085C6 s_IDATA0 | 000085C6 s_CDATA0 - 0000872C s_UDATA0 | 0000872C e_CCSTR | 0000872C e_ECSTR - 0000872C s_CCSTR | 0000872C e_CDATA0 | 0000872C s_ECSTR - 0000872C e_IDATA0 | 00008973 e_UDATA0 | 00008973 s_CSTACK - 00009973 e_CSTACK | 0000C141 l_CODE | 00010141 e_CODE + 000085CE e_CSTR | 000085CE s_IDATA0 | 000085CE s_CDATA0 + 00008734 s_UDATA0 | 00008734 e_CCSTR | 00008734 e_ECSTR + 00008734 s_CCSTR | 00008734 e_CDATA0 | 00008734 s_ECSTR + 00008734 e_IDATA0 | 0000897B e_UDATA0 | 0000897B s_CSTACK + 0000997B e_CSTACK | 0000C108 l_CODE | 00010108 e_CODE Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) @@ -59,7 +59,7 @@ Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -CSTR 000084E3 000000E3 = 227. bytes (REL,CON) +CSTR 000084E3 000000EB = 235. bytes (REL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ @@ -67,17 +67,17 @@ Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -IDATA0 000085C6 00000166 = 358. bytes (NUL,CON) +IDATA0 000085CE 00000166 = 358. bytes (NUL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ - 000085DE __IO_list | 000085E0 stdin | 000085F8 stdout - 00008610 stderr | 0000862A __on_exit | 0000862C __ctype + 000085E6 __IO_list | 000085E8 stdin | 00008600 stdout + 00008618 stderr | 00008632 __on_exit | 00008634 __ctype Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -CDATA0 000085C6 00000166 = 358. bytes (REL,CON) +CDATA0 000085CE 00000166 = 358. bytes (REL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ @@ -85,7 +85,7 @@ Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -ECSTR 0000872C 00000000 = 0. bytes (NUL,CON) +ECSTR 00008734 00000000 = 0. bytes (NUL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ @@ -93,7 +93,7 @@ Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -CCSTR 0000872C 00000000 = 0. bytes (REL,CON) +CCSTR 00008734 00000000 = 0. bytes (REL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ @@ -101,61 +101,62 @@ Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -CODE 00004000 0000C141 = 49473. bytes (NUL,CON) +CODE 00004000 0000C108 = 49416. bytes (NUL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ - 00004640 GraphicsO | 000046CE GraphicsC | 000046E3 Move - 00004722 ClearRect | 00004765 DrawRectN | 000047AA FillRect - 000047EF FillRectN | 00004834 GrayRect | 00004879 Text - 000048A6 TouchRegi | 000048FD ClearScre | 0000493A EnableScr - 00004978 grSetFont | 000049B5 fontSearc | 000049E5 setCurren - 00004A73 loadFont | 00004B1A stringwid | 00004B93 stringhei - 00004BB0 stringhei | 00004BC3 stringhei | 00004BCC stringwid - 00004BDD stringwid | 00004BE6 stringwid | 00004BEF Component - 00004C99 Component | 00004CE6 Component | 00004D44 Component - 00004D8A Component | 00004DCE Component | 00004E06 Component - 00004FD7 Component | 00004FF6 Component | 0000505F Component - 00005112 Window_ha | 000053DF Window_pa | 0000556C Root_pain - 000055A3 Window_ad | 000055B1 Window_ne | 00005603 Button_ha - 000056BA Button_dr | 00005776 Button_pa | 0000586F Button_ad - 00005875 Button_ne | 000058C7 ToggleBut | 00005963 ToggleBut - 00005A4F ToggleBut | 00005AA1 Dialog_ha | 00005B5A Dialog_ne - 00005C49 Display_h | 00005CCA Display_p | 00005E16 Display_n - 00005E70 Label_han | 00005E76 Label_pai | 00005ED7 Label_new - 00005F30 rootWindo | 00005F4E screenbui | 00006328 root_acti - 00006660 read_stri | 00006735 gui_globa | 0000673B GUIinit - 00006862 GUIunit | 00006887 GUIgo | 0000693C Transacti - 000069B1 Transacti | 00006FD3 main | 00007011 sprintf - 00007055 fflush | 00007268 _write | 00007287 lseek - 000072B4 __stdio_c | 0000731F __stdio_i | 0000735D close - 00007372 strlen | 000073A9 ioctl | 000073D4 isatty - 0000740F fstat | 00007426 free | 00007506 strcpy - 0000752D atoi | 000076C3 vfprintf | 00007C1E ltoa - 00007C81 atol | 00007C97 __longtoa | 00007E2B itoa - 00007E94 open | 00014000 malloc | 0001422C exit - 0001425C _read | 0001427B unix | 00014295 memcpy - 00014363 on_exit | 000143DC atexit | 000143EF strcat - 0001440F unix_long | 00014429 _exit | 0001443E fputc - 00014550 ultoa | 000145A5 strtol | 0001464D sbrk - 000146E8 strtoul | 0001483F toupper | 00014864 tolower + 00004648 GraphicsO | 000046D6 GraphicsC | 000046EB Move + 0000472A ClearRect | 0000476D DrawRectN | 000047B2 FillRect + 000047F7 FillRectN | 0000483C GrayRect | 00004881 Text + 000048AE TouchRegi | 00004905 ClearScre | 00004942 EnableScr + 00004980 grSetFont | 000049BD fontSearc | 000049ED setCurren + 00004A7B loadFont | 00004B22 stringwid | 00004B9B stringhei + 00004BB8 stringhei | 00004BCB stringhei | 00004BD4 stringwid + 00004BE5 stringwid | 00004BEE stringwid | 00004BF7 Component + 00004CA1 Component | 00004CEE Component | 00004D4C Component + 00004D92 Component | 00004DD6 Component | 00004E0E Component + 00004FDF Component | 00004FFE Component | 00005067 Component + 0000511A Window_ha | 000053E7 Window_pa | 00005574 Root_pain + 000055AB Window_ad | 000055B9 Window_ne | 0000560B Button_ha + 000056C2 Button_dr | 0000577E Button_pa | 00005877 Button_ad + 0000587D Button_ne | 000058CF ToggleBut | 0000596B ToggleBut + 00005A57 ToggleBut | 00005AA9 Dialog_ha | 00005B62 Dialog_ne + 00005C51 Display_h | 00005CD2 Display_p | 00005E1E Display_n + 00005E78 Label_han | 00005E7E Label_pai | 00005EDF Label_new + 00005F38 rootWindo | 00005F56 screenbui | 00006326 root_acti + 0000665E read_stri | 00006733 gui_globa | 00006739 GUIinit + 00006860 GUIunit | 00006885 GUIgo | 00006946 Transacti + 000069BB Transacti | 00006FDD main | 0000701B sprintf + 0000705F fflush | 00007272 _write | 00007291 printf + 000072C0 lseek | 000072ED __stdio_c | 00007358 __stdio_i + 00007396 close | 000073AB strlen | 000073E2 ioctl + 0000740D isatty | 00007448 fstat | 0000745F free + 0000753F strcpy | 00007566 atoi | 000076FC vfprintf + 00007C57 ltoa | 00007CBA atol | 00007CD0 __longtoa + 00007E64 itoa | 00007ECD open | 00014000 malloc + 0001422C exit | 0001425C _read | 0001427B unix + 00014295 memcpy | 00014363 on_exit | 000143DC atexit + 000143EF strcat | 0001440F unix_long | 00014429 _exit + 0001443E fputc | 00014550 ultoa | 000145A5 strtol + 0001464D sbrk | 000146E8 strtoul | 0001483F toupper + 00014864 tolower Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -UDATA0 0000872C 00000247 = 583. bytes (REL,CON) +UDATA0 00008734 00000247 = 583. bytes (REL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ - 0000872C _argc | 0000872E _argv | 00008730 environ - 00008732 errno | 00008734 __cleanup | 00008737 global - 00008739 trans | 0000893B __malloc_ | 0000893F __malloc_ - 00008941 __on_exit + 00008734 _argc | 00008736 _argv | 00008738 environ + 0000873A errno | 0000873C __cleanup | 0000873F global + 00008741 trans | 00008943 __malloc_ | 00008947 __malloc_ + 00008949 __on_exit Hexadecimal [32-Bits] Area Addr Size Decimal Bytes (Attributes) -------------------- ---- ---- ------- ----- ------------ -CSTACK 00008973 00001000 = 4096. bytes (REL,CON) +CSTACK 0000897B 00001000 = 4096. bytes (REL,CON) Value Global Value Global Value Global ----- ------ ----- ------ ----- ------ @@ -176,6 +177,7 @@ Libraries Linked [ object file ] ..\..\lib\libcb.lib [ relcb\fflush.rel ] ..\..\lib\libsysb.lib [ relsysb\write.rel ] ..\..\lib\libiar.lib [ reliar\SMUL.rel ] +..\..\lib\libcb.lib [ relcb\printf.rel ] ..\..\lib\libsysb.lib [ relsysb\lseek.rel ] ..\..\lib\libcb.lib [ relcb\stdio0.rel ] ..\..\lib\libsysb.lib [ relsysb\close.rel ] diff --git a/src/gui/test.rst b/src/gui/test.rst new file mode 100644 index 00000000..f7c0a8a2 --- /dev/null +++ b/src/gui/test.rst @@ -0,0 +1,69 @@ + 1 NAME test(17) + 2 RSEG CODE(0) + 3 RSEG CSTR(0) + 4 EXTERN GUIgo + 5 EXTERN GUIinit + 6 EXTERN GUIunit + 7 EXTERN Transaction_handler + 8 EXTERN Transaction_init + 9 EXTERN gui_globals + 10 PUBLIC main + 11 EXTERN ?CL64180B_4_06_L00 + 12 EXTERN ?BANK_CALL_DIRECT_L08 + 13 EXTERN ?BANK_FAST_LEAVE_L08 + 14 RSEG CODE + 00006FDD 15 main: + 00006FDD C5 16 PUSH BC + 00006FDE D5 17 PUSH DE + 00006FDF 3E 00 18 LD A,BYTE3 GUIinit + 00006FE1 21 39 67 19 LD HL,LWRD GUIinit + 00006FE4 CD FB 81 20 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006FE7 3E 00 21 LD A,BYTE3 Transaction_init + 00006FE9 21 46 69 22 LD HL,LWRD Transaction_init + 00006FEC CD FB 81 23 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006FEF 3E 00 24 LD A,BYTE3 gui_globals + 00006FF1 21 33 67 25 LD HL,LWRD gui_globals + 00006FF4 CD FB 81 26 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006FF7 01 10 00 27 LD BC,16 + 00006FFA 09 28 ADD HL,BC + 00006FFB 36 BB 29 LD (HL),LOW(Transaction_handler) + 00006FFD 23 30 INC HL + 00006FFE 36 69 31 LD (HL),HIGH(Transaction_handler) + 00007000 23 32 INC HL + 00007001 36 00 33 LD (HL),BYTE3 Transaction_handler + 00007003 11 B4 85 34 LD DE,?0000 + 00007006 3E 00 35 LD A,BYTE3 GUIgo + 00007008 21 85 68 36 LD HL,LWRD GUIgo + 0000700B CD FB 81 37 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000700E 3E 00 38 LD A,BYTE3 GUIunit + 00007010 21 60 68 39 LD HL,LWRD GUIunit + 00007013 CD FB 81 40 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00007016 D1 41 POP DE + 00007017 C1 42 POP BC + 00007018 C3 A9 81 43 JP LWRD ?BANK_FAST_LEAVE_L08 + 44 RSEG CSTR + 000085B4 45 ?0000: + 000085B4 2F 77 6E 64 2F 30 30 46 DEFB '/wnd/0000.scr' + 30 30 2E 73 63 72 + 000085C1 00 47 DEFB 0 + 0000000E 48 END + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. +Hexadecimal [32-Bits] + +Symbol Table + + .__.ABS. = 00000000 G | 2 ?0000 00000000 R + ?BANK_CALL_DIR ******** GX | ?BANK_FAST_LEA ******** GX + ?CL64180B_4_06 ******** GX | GUIgo ******** GX + GUIinit ******** GX | GUIunit ******** GX + Transaction_ha ******** GX | Transaction_in ******** GX + gui_globals ******** GX | 1 main 00000000 GR + + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. +Hexadecimal [32-Bits] + +Area Table + + 0 _DEFAULT size 0 flags 0 + 1 CODE size 3E flags 0 + 2 CSTR size E flags 0 diff --git a/src/gui/test.s01 b/src/gui/test.s01 new file mode 100644 index 00000000..48018bdc --- /dev/null +++ b/src/gui/test.s01 @@ -0,0 +1,48 @@ + NAME test(17) + RSEG CODE(0) + RSEG CSTR(0) + EXTERN GUIgo + EXTERN GUIinit + EXTERN GUIunit + EXTERN Transaction_handler + EXTERN Transaction_init + EXTERN gui_globals + PUBLIC main + EXTERN ?CL64180B_4_06_L00 + EXTERN ?BANK_CALL_DIRECT_L08 + EXTERN ?BANK_FAST_LEAVE_L08 + RSEG CODE +main: + PUSH BC + PUSH DE + LD A,BYTE3 GUIinit + LD HL,LWRD GUIinit + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD A,BYTE3 Transaction_init + LD HL,LWRD Transaction_init + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD A,BYTE3 gui_globals + LD HL,LWRD gui_globals + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD BC,16 + ADD HL,BC + LD (HL),LOW(Transaction_handler) + INC HL + LD (HL),HIGH(Transaction_handler) + INC HL + LD (HL),BYTE3 Transaction_handler + LD DE,?0000 + LD A,BYTE3 GUIgo + LD HL,LWRD GUIgo + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD A,BYTE3 GUIunit + LD HL,LWRD GUIunit + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP DE + POP BC + JP LWRD ?BANK_FAST_LEAVE_L08 + RSEG CSTR +?0000: + DEFB '/wnd/0000.scr' + DEFB 0 + END diff --git a/src/gui/trans.lst b/src/gui/trans.lst new file mode 100644 index 00000000..44587233 --- /dev/null +++ b/src/gui/trans.lst @@ -0,0 +1,1108 @@ + 1 NAME trans(17) + 2 RSEG CODE(0) + 3 RSEG CSTR(0) + 4 RSEG UDATA0(0) + 5 EXTERN Component_find + 6 EXTERN Component_setlabel + 7 PUBLIC Transaction_handler + 8 PUBLIC Transaction_init + 9 EXTERN _write + 10 EXTERN atoi + 11 EXTERN atol + 12 EXTERN close + 13 EXTERN free + 14 EXTERN ioctl + 15 EXTERN malloc + 16 EXTERN open + 17 EXTERN sprintf + 18 EXTERN strcpy + 19 EXTERN strlen + 20 PUBLIC trans + 21 EXTERN ?CL64180B_4_06_L00 + 22 EXTERN ?SS_CMP_L02 + 23 EXTERN ?SL_RSH_L03 + 24 EXTERN ?L_MUL_L03 + 25 EXTERN ?SL_DIV_L03 + 26 EXTERN ?SL_MOD_L03 + 27 EXTERN ?L_ADDASG_L03 + 28 EXTERN ?S_S_SWITCH_L06 + 29 EXTERN ?BANK_CALL_DIRECT_L08 + 30 EXTERN ?BANK_LEAVE_DIRECT_L08 + 31 EXTERN ?BANK_FAST_LEAVE_L08 + 32 EXTERN ?ENT_AUTO_DIRECT_L09 + 33 RSEG CODE + 00000000 34 Transaction_init: + 00000000 C5 35 PUSH BC + 00000001 D5 36 PUSH DE + 00000002 11 08 00 37 LD DE,8 + 00000005 CD 6D 00 38 CALL LWRD ?0046 + 00000008 22 00 00 39 LD (trans),HL + 0000000B 01 06 00 40 LD BC,6 + 0000000E 09 41 ADD HL,BC + 0000000F E5 42 PUSH HL + 00000010 CD 6A 00 43 CALL LWRD ?0047 + 00000013 4D 44 LD C,L + 00000014 44 45 LD B,H + 00000015 E1 46 POP HL + 00000016 71 47 LD (HL),C + 00000017 23 48 INC HL + 00000018 70 49 LD (HL),B + 00000019 21 06 00 50 LD HL,6 + 0000001C ED 4B 00 00 51 LD BC,(trans) + 00000020 09 52 ADD HL,BC + 00000021 56 53 LD D,(HL) + 00000022 23 54 INC HL + 00000023 66 55 LD H,(HL) + 00000024 6A 56 LD L,D + 00000025 11 14 00 57 LD DE,20 + 00000028 19 58 ADD HL,DE + 00000029 AF 59 XOR A + 0000002A 77 60 LD (HL),A + 0000002B 23 61 INC HL + 0000002C 77 62 LD (HL),A + 0000002D 21 06 00 63 LD HL,6 + 00000030 ED 4B 00 00 64 LD BC,(trans) + 00000034 09 65 ADD HL,BC + 00000035 7E 66 LD A,(HL) + 00000036 23 67 INC HL + 00000037 66 68 LD H,(HL) + 00000038 6F 69 LD L,A + 00000039 72 70 LD (HL),D + 0000003A 21 06 00 71 LD HL,6 + 0000003D ED 4B 00 00 72 LD BC,(trans) + 00000041 09 73 ADD HL,BC + 00000042 56 74 LD D,(HL) + 00000043 23 75 INC HL + 00000044 66 76 LD H,(HL) + 00000045 6A 77 LD L,D + 00000046 11 0E 00 78 LD DE,14 + 00000049 19 79 ADD HL,DE + 0000004A AF 80 XOR A + 0000004B 77 81 LD (HL),A + 0000004C 23 82 INC HL + 0000004D 77 83 LD (HL),A + 0000004E 21 06 00 84 LD HL,6 + 00000051 ED 4B 00 00 85 LD BC,(trans) + 00000055 09 86 ADD HL,BC + 00000056 46 87 LD B,(HL) + 00000057 23 88 INC HL + 00000058 66 89 LD H,(HL) + 00000059 68 90 LD L,B + 0000005A 01 10 00 91 LD BC,16 + 0000005D 09 92 ADD HL,BC + 0000005E 77 93 LD (HL),A + 0000005F 23 94 INC HL + 00000060 77 95 LD (HL),A + 00000061 23 96 INC HL + 00000062 77 97 LD (HL),A + 00000063 23 98 INC HL + 00000064 77 99 LD (HL),A + 00000065 D1 100 POP DE + 00000066 C1 101 POP BC + 00000067 C3 00 00 102 JP LWRD ?BANK_FAST_LEAVE_L08 + 0000006A 103 ?0047: + 0000006A 11 16 00 104 LD DE,22 + 0000006D 105 ?0046: + 0000006D 3E 00 106 LD A,BYTE3 malloc + 0000006F 21 00 00 107 LD HL,LWRD malloc + 00000072 C3 00 00 108 JP LWRD ?BANK_CALL_DIRECT_L08 + 00000075 109 Transaction_handler: + 00000075 CD 00 00 110 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000078 9E FF 111 DEFW 65438 + 0000007A FD E5 112 PUSH IY + 0000007C 21 26 00 113 LD HL,38 + 0000007F DD 4E 02 114 LD C,(IX+2) + 00000082 DD 46 03 115 LD B,(IX+3) + 00000085 09 116 ADD HL,BC + 00000086 46 117 LD B,(HL) + 00000087 DD 70 9E 118 LD (IX-98),B + 0000008A 23 119 INC HL + 0000008B 66 120 LD H,(HL) + 0000008C DD 74 9F 121 LD (IX-97),H + 0000008F 2A 00 00 122 LD HL,(trans) + 00000092 7D 123 LD A,L + 00000093 B4 124 OR H + 00000094 20 08 125 JR NZ,?0001 + 00000096 126 ?0000: + 00000096 3E 00 127 LD A,BYTE3 Transaction_init + 00000098 21 00 00 128 LD HL,LWRD Transaction_init + 0000009B CD 00 00 129 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000009E 130 ?0001: + 0000009E 68 131 LD L,B + 0000009F DD 66 9F 132 LD H,(IX-97) + 000000A2 23 133 INC HL + 000000A3 23 134 INC HL + 000000A4 23 135 INC HL + 000000A5 3E 10 136 LD A,16 + 000000A7 23 137 INC HL + 000000A8 AE 138 XOR (HL) + 000000A9 2B 139 DEC HL + 000000AA B6 140 OR (HL) + 000000AB 20 64 141 JR NZ,?0003 + 000000AD 142 ?0002: + 000000AD 21 07 00 143 LD HL,7 + 000000B0 48 144 LD C,B + 000000B1 DD 46 9F 145 LD B,(IX-97) + 000000B4 09 146 ADD HL,BC + 000000B5 6E 147 LD L,(HL) + 000000B6 67 148 LD H,A + 000000B7 E5 149 PUSH HL + 000000B8 2A 00 00 150 LD HL,(trans) + 000000BB C1 151 POP BC + 000000BC 71 152 LD (HL),C + 000000BD 23 153 INC HL + 000000BE 70 154 LD (HL),B + 000000BF 2A 00 00 155 LD HL,(trans) + 000000C2 23 156 INC HL + 000000C3 23 157 INC HL + 000000C4 E5 158 PUSH HL + 000000C5 CD D7 05 159 CALL LWRD ?0048 + 000000C8 E1 160 POP HL + 000000C9 71 161 LD (HL),C + 000000CA 23 162 INC HL + 000000CB 70 163 LD (HL),B + 000000CC 21 04 00 164 LD HL,4 + 000000CF ED 4B 00 00 165 LD BC,(trans) + 000000D3 09 166 ADD HL,BC + 000000D4 E5 167 PUSH HL + 000000D5 21 07 00 168 LD HL,7 + 000000D8 DD 5E 9E 169 LD E,(IX-98) + 000000DB DD 56 9F 170 LD D,(IX-97) + 000000DE 19 171 ADD HL,DE + 000000DF 5E 172 LD E,(HL) + 000000E0 23 173 INC HL + 000000E1 56 174 LD D,(HL) + 000000E2 23 175 INC HL + 000000E3 4E 176 LD C,(HL) + 000000E4 23 177 INC HL + 000000E5 46 178 LD B,(HL) + 000000E6 EB 179 EX DE,HL + 000000E7 3E 10 180 LD A,16 + 000000E9 CD EB 05 181 CALL LWRD ?0049 + 000000EC E1 182 POP HL + 000000ED 71 183 LD (HL),C + 000000EE 23 184 INC HL + 000000EF 70 185 LD (HL),B + 000000F0 2A 00 00 186 LD HL,(trans) + 000000F3 4E 187 LD C,(HL) + 000000F4 23 188 INC HL + 000000F5 46 189 LD B,(HL) + 000000F6 DD 5E 02 190 LD E,(IX+2) + 000000F9 DD 56 03 191 LD D,(IX+3) + 000000FC CD 12 06 192 CALL LWRD ?0051 + 000000FF DD 5E 02 193 LD E,(IX+2) + 00000102 DD 56 03 194 LD D,(IX+3) + 00000105 CD F2 05 195 CALL LWRD ?0050 + 00000108 DD 5E 02 196 LD E,(IX+2) + 0000010B DD 56 03 197 LD D,(IX+3) + 0000010E CD 2F 06 198 CALL LWRD ?0052 + 00000111 199 ?0003: + 00000111 DD 6E 9E 200 LD L,(IX-98) + 00000114 DD 66 9F 201 LD H,(IX-97) + 00000117 23 202 INC HL + 00000118 23 203 INC HL + 00000119 23 204 INC HL + 0000011A 46 205 LD B,(HL) + 0000011B 23 206 INC HL + 0000011C 66 207 LD H,(HL) + 0000011D 68 208 LD L,B + 0000011E 01 10 90 209 LD BC,36880 + 00000121 3E 80 210 LD A,128 + 00000123 AC 211 XOR H + 00000124 67 212 LD H,A + 00000125 ED 42 213 SBC HL,BC + 00000127 DA 56 02 214 JP C,?0008 + 0000012A DD 6E 9E 215 LD L,(IX-98) + 0000012D DD 66 9F 216 LD H,(IX-97) + 00000130 23 217 INC HL + 00000131 23 218 INC HL + 00000132 23 219 INC HL + 00000133 4E 220 LD C,(HL) + 00000134 23 221 INC HL + 00000135 46 222 LD B,(HL) + 00000136 21 12 10 223 LD HL,4114 + 00000139 CD 00 00 224 CALL LWRD ?SS_CMP_L02 + 0000013C DA 56 02 225 JP C,?0008 + 0000013F 226 ?0010: + 0000013F 227 ?0009: + 0000013F 228 ?0007: + 0000013F 21 06 00 229 LD HL,6 + 00000142 ED 4B 00 00 230 LD BC,(trans) + 00000146 09 231 ADD HL,BC + 00000147 46 232 LD B,(HL) + 00000148 23 233 INC HL + 00000149 66 234 LD H,(HL) + 0000014A 68 235 LD L,B + 0000014B 236 ?0041: + 0000014B DD 75 A2 237 LD (IX-94),L + 0000014E DD 74 A3 238 LD (IX-93),H + 00000151 239 ?0012: + 00000151 21 14 00 240 LD HL,20 + 00000154 DD 4E A2 241 LD C,(IX-94) + 00000157 DD 46 A3 242 LD B,(IX-93) + 0000015A 09 243 ADD HL,BC + 0000015B 7E 244 LD A,(HL) + 0000015C 23 245 INC HL + 0000015D B6 246 OR (HL) + 0000015E 28 0A 247 JR Z,?0011 + 00000160 248 ?0013: + 00000160 21 14 00 249 LD HL,20 + 00000163 09 250 ADD HL,BC + 00000164 56 251 LD D,(HL) + 00000165 23 252 INC HL + 00000166 66 253 LD H,(HL) + 00000167 6A 254 LD L,D + 00000168 18 E1 255 JR ?0041 + 0000016A 256 ?0011: + 0000016A 21 05 00 257 LD HL,5 + 0000016D DD 4E 9E 258 LD C,(IX-98) + 00000170 DD 46 9F 259 LD B,(IX-97) + 00000173 09 260 ADD HL,BC + 00000174 4E 261 LD C,(HL) + 00000175 23 262 INC HL + 00000176 46 263 LD B,(HL) + 00000177 21 11 00 264 LD HL,17 + 0000017A DD 5E 02 265 LD E,(IX+2) + 0000017D DD 56 03 266 LD D,(IX+3) + 00000180 19 267 ADD HL,DE + 00000181 5E 268 LD E,(HL) + 00000182 23 269 INC HL + 00000183 56 270 LD D,(HL) + 00000184 3E 00 271 LD A,BYTE3 Component_find + 00000186 21 00 00 272 LD HL,LWRD Component_find + 00000189 CD 00 00 273 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000018C DD 75 A0 274 LD (IX-96),L + 0000018F DD 74 A1 275 LD (IX-95),H + 00000192 01 20 00 276 LD BC,32 + 00000195 09 277 ADD HL,BC + 00000196 4E 278 LD C,(HL) + 00000197 23 279 INC HL + 00000198 46 280 LD B,(HL) + 00000199 DD 5E 02 281 LD E,(IX+2) + 0000019C DD 56 03 282 LD D,(IX+3) + 0000019F 3E 00 283 LD A,BYTE3 Component_setlabel + 000001A1 21 00 00 284 LD HL,LWRD Component_setlabel + 000001A4 CD 00 00 285 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000001A7 01 14 00 286 LD BC,?0014 + 000001AA DD 5E A0 287 LD E,(IX-96) + 000001AD DD 56 A1 288 LD D,(IX-95) + 000001B0 3E 00 289 LD A,BYTE3 Component_setlabel + 000001B2 21 00 00 290 LD HL,LWRD Component_setlabel + 000001B5 CD 00 00 291 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000001B8 DD 5E A0 292 LD E,(IX-96) + 000001BB 4B 293 LD C,E + 000001BC DD 56 A1 294 LD D,(IX-95) + 000001BF CD 43 06 295 CALL LWRD ?0053 + 000001C2 DD 6E 9E 296 LD L,(IX-98) + 000001C5 DD 66 9F 297 LD H,(IX-97) + 000001C8 23 298 INC HL + 000001C9 23 299 INC HL + 000001CA 23 300 INC HL + 000001CB 5E 301 LD E,(HL) + 000001CC 23 302 INC HL + 000001CD 56 303 LD D,(HL) + 000001CE CD 00 00 304 CALL LWRD ?S_S_SWITCH_L06 + 000001D1 10 10 305 DEFW 4112 + 000001D3 03 00 306 DEFW 3 + 000001D5 4C 02 307 DEFW ?0015 + 000001D7 DD 01 308 DEFW ?0016 + 000001D9 FA 01 309 DEFW ?0017 + 000001DB 1F 02 310 DEFW ?0018 + 000001DD 311 ?0016: + 000001DD 21 20 00 312 LD HL,32 + 000001E0 DD 4E 02 313 LD C,(IX+2) + 000001E3 DD 46 03 314 LD B,(IX+3) + 000001E6 09 315 ADD HL,BC + 000001E7 4E 316 LD C,(HL) + 000001E8 23 317 INC HL + 000001E9 46 318 LD B,(HL) + 000001EA DD 5E A2 319 LD E,(IX-94) + 000001ED DD 56 A3 320 LD D,(IX-93) + 000001F0 3E 00 321 LD A,BYTE3 strcpy + 000001F2 21 00 00 322 LD HL,LWRD strcpy + 000001F5 CD 00 00 323 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000001F8 18 52 324 JR ?0015 + 000001FA 325 ?0017: + 000001FA 21 0E 00 326 LD HL,14 + 000001FD DD 4E A2 327 LD C,(IX-94) + 00000200 DD 46 A3 328 LD B,(IX-93) + 00000203 09 329 ADD HL,BC + 00000204 E5 330 PUSH HL + 00000205 21 20 00 331 LD HL,32 + 00000208 DD 4E 02 332 LD C,(IX+2) + 0000020B DD 46 03 333 LD B,(IX+3) + 0000020E 09 334 ADD HL,BC + 0000020F 5E 335 LD E,(HL) + 00000210 23 336 INC HL + 00000211 56 337 LD D,(HL) + 00000212 3E 00 338 LD A,BYTE3 atoi + 00000214 21 00 00 339 LD HL,LWRD atoi + 00000217 CD 00 00 340 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000021A 4D 341 LD C,L + 0000021B 44 342 LD B,H + 0000021C E1 343 POP HL + 0000021D 18 2A 344 JR ?0042 + 0000021F 345 ?0018: + 0000021F 21 20 00 346 LD HL,32 + 00000222 DD 4E 02 347 LD C,(IX+2) + 00000225 DD 46 03 348 LD B,(IX+3) + 00000228 09 349 ADD HL,BC + 00000229 5E 350 LD E,(HL) + 0000022A 23 351 INC HL + 0000022B 56 352 LD D,(HL) + 0000022C 3E 00 353 LD A,BYTE3 atol + 0000022E 21 00 00 354 LD HL,LWRD atol + 00000231 CD 00 00 355 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000234 7C 356 LD A,H + 00000235 07 357 RLCA + 00000236 9F 358 SBC A,A + 00000237 4F 359 LD C,A + 00000238 41 360 LD B,C + 00000239 E5 361 PUSH HL + 0000023A 21 10 00 362 LD HL,16 + 0000023D DD 5E A2 363 LD E,(IX-94) + 00000240 DD 56 A3 364 LD D,(IX-93) + 00000243 19 365 ADD HL,DE + 00000244 D1 366 POP DE + 00000245 73 367 LD (HL),E + 00000246 23 368 INC HL + 00000247 72 369 LD (HL),D + 00000248 23 370 INC HL + 00000249 371 ?0042: + 00000249 71 372 LD (HL),C + 0000024A 23 373 INC HL + 0000024B 70 374 LD (HL),B + 0000024C 375 ?0015: + 0000024C DD 5E 02 376 LD E,(IX+2) + 0000024F 4B 377 LD C,E + 00000250 DD 56 03 378 LD D,(IX+3) + 00000253 CD 43 06 379 CALL LWRD ?0053 + 00000256 380 ?0008: + 00000256 DD 6E 9E 381 LD L,(IX-98) + 00000259 DD 66 9F 382 LD H,(IX-97) + 0000025C 23 383 INC HL + 0000025D 23 384 INC HL + 0000025E 23 385 INC HL + 0000025F 46 386 LD B,(HL) + 00000260 23 387 INC HL + 00000261 66 388 LD H,(HL) + 00000262 68 389 LD L,B + 00000263 01 1E 10 390 LD BC,4126 + 00000266 A7 391 AND A + 00000267 ED 42 392 SBC HL,BC + 00000269 C2 B3 04 393 JP NZ,?0020 + 0000026C 394 ?0019: + 0000026C AF 395 XOR A + 0000026D DD 77 AC 396 LD (IX-84),A + 00000270 DD 77 AD 397 LD (IX-83),A + 00000273 DD 77 AE 398 LD (IX-82),A + 00000276 DD 77 AF 399 LD (IX-81),A + 00000279 21 06 00 400 LD HL,6 + 0000027C ED 4B 00 00 401 LD BC,(trans) + 00000280 09 402 ADD HL,BC + 00000281 46 403 LD B,(HL) + 00000282 23 404 INC HL + 00000283 66 405 LD H,(HL) + 00000284 68 406 LD L,B + 00000285 E5 407 PUSH HL + 00000286 FD E1 408 POP IY + 00000288 21 01 00 409 LD HL,1 + 0000028B E5 410 PUSH HL + 0000028C 21 15 00 411 LD HL,?0021 + 0000028F E5 412 PUSH HL + 00000290 3E 00 413 LD A,BYTE3 open + 00000292 21 00 00 414 LD HL,LWRD open + 00000295 CD 00 00 415 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000298 F1 416 POP AF + 00000299 F1 417 POP AF + 0000029A DD 75 A0 418 LD (IX-96),L + 0000029D DD 74 A1 419 LD (IX-95),H + 000002A0 21 08 00 420 LD HL,8 + 000002A3 39 421 ADD HL,SP + 000002A4 E5 422 PUSH HL + 000002A5 21 00 00 423 LD HL,0 + 000002A8 E5 424 PUSH HL + 000002A9 DD 6E A0 425 LD L,(IX-96) + 000002AC DD 66 A1 426 LD H,(IX-95) + 000002AF E5 427 PUSH HL + 000002B0 3E 00 428 LD A,BYTE3 ioctl + 000002B2 21 00 00 429 LD HL,LWRD ioctl + 000002B5 CD 00 00 430 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000002B8 F1 431 POP AF + 000002B9 F1 432 POP AF + 000002BA F1 433 POP AF + 000002BB DD 36 A8 60 434 LD (IX-88),96 + 000002BF DD 36 A9 00 435 LD (IX-87),0 + 000002C3 21 08 00 436 LD HL,8 + 000002C6 39 437 ADD HL,SP + 000002C7 E5 438 PUSH HL + 000002C8 21 01 00 439 LD HL,1 + 000002CB E5 440 PUSH HL + 000002CC DD 6E A0 441 LD L,(IX-96) + 000002CF DD 66 A1 442 LD H,(IX-95) + 000002D2 E5 443 PUSH HL + 000002D3 3E 00 444 LD A,BYTE3 ioctl + 000002D5 21 00 00 445 LD HL,LWRD ioctl + 000002D8 CD 00 00 446 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000002DB F1 447 POP AF + 000002DC F1 448 POP AF + 000002DD F1 449 POP AF + 000002DE 450 ?0023: + 000002DE FD E5 451 PUSH IY + 000002E0 E1 452 POP HL + 000002E1 7D 453 LD A,L + 000002E2 B4 454 OR H + 000002E3 CA C8 03 455 JP Z,?0022 + 000002E6 456 ?0024: + 000002E6 FD 7E 0E 457 LD A,(IY+14) + 000002E9 FD B6 0F 458 OR (IY+15) + 000002EC CA BC 03 459 JP Z,?0026 + 000002EF 460 ?0025: + 000002EF 3E 01 461 LD A,1 + 000002F1 FD AE 0E 462 XOR (IY+14) + 000002F4 FD B6 0F 463 OR (IY+15) + 000002F7 20 29 464 JR NZ,?0028 + 000002F9 465 ?0027: + 000002F9 6F 466 LD L,A + 000002FA 67 467 LD H,A + 000002FB E5 468 PUSH HL + 000002FC 2E 64 469 LD L,100 + 000002FE E5 470 PUSH HL + 000002FF CD 5A 06 471 CALL LWRD ?0056 + 00000302 C5 472 PUSH BC + 00000303 E5 473 PUSH HL + 00000304 6F 474 LD L,A + 00000305 67 475 LD H,A + 00000306 E5 476 PUSH HL + 00000307 2E 64 477 LD L,100 + 00000309 E5 478 PUSH HL + 0000030A CD 69 06 479 CALL LWRD ?0057 + 0000030D C5 480 PUSH BC + 0000030E E5 481 PUSH HL + 0000030F FD E5 482 PUSH IY + 00000311 21 22 00 483 LD HL,?0029 + 00000314 E5 484 PUSH HL + 00000315 21 20 00 485 LD HL,32 + 00000318 39 486 ADD HL,SP + 00000319 E5 487 PUSH HL + 0000031A CD 52 06 488 CALL LWRD ?0055 + 0000031D 21 0E 00 489 LD HL,14 + 00000320 18 68 490 JR ?0043 + 00000322 491 ?0028: + 00000322 21 00 00 492 LD HL,0 + 00000325 E5 493 PUSH HL + 00000326 2E 64 494 LD L,100 + 00000328 E5 495 PUSH HL + 00000329 FD 6E 0E 496 LD L,(IY+14) + 0000032C FD 66 0F 497 LD H,(IY+15) + 0000032F 7C 498 LD A,H + 00000330 07 499 RLCA + 00000331 9F 500 SBC A,A + 00000332 4F 501 LD C,A + 00000333 41 502 LD B,C + 00000334 C5 503 PUSH BC + 00000335 E5 504 PUSH HL + 00000336 CD 78 06 505 CALL LWRD ?0058 + 00000339 CD 00 00 506 CALL LWRD ?SL_MOD_L03 + 0000033C C5 507 PUSH BC + 0000033D E5 508 PUSH HL + 0000033E 21 00 00 509 LD HL,0 + 00000341 E5 510 PUSH HL + 00000342 2E 64 511 LD L,100 + 00000344 E5 512 PUSH HL + 00000345 FD 6E 0E 513 LD L,(IY+14) + 00000348 FD 66 0F 514 LD H,(IY+15) + 0000034B 7C 515 LD A,H + 0000034C 07 516 RLCA + 0000034D 9F 517 SBC A,A + 0000034E 4F 518 LD C,A + 0000034F 41 519 LD B,C + 00000350 C5 520 PUSH BC + 00000351 E5 521 PUSH HL + 00000352 CD 78 06 522 CALL LWRD ?0058 + 00000355 CD 00 00 523 CALL LWRD ?SL_DIV_L03 + 00000358 C5 524 PUSH BC + 00000359 E5 525 PUSH HL + 0000035A 21 00 00 526 LD HL,0 + 0000035D E5 527 PUSH HL + 0000035E 2E 64 528 LD L,100 + 00000360 E5 529 PUSH HL + 00000361 CD 5A 06 530 CALL LWRD ?0056 + 00000364 C5 531 PUSH BC + 00000365 E5 532 PUSH HL + 00000366 21 00 00 533 LD HL,0 + 00000369 E5 534 PUSH HL + 0000036A 2E 64 535 LD L,100 + 0000036C E5 536 PUSH HL + 0000036D CD 69 06 537 CALL LWRD ?0057 + 00000370 C5 538 PUSH BC + 00000371 E5 539 PUSH HL + 00000372 FD 6E 0E 540 LD L,(IY+14) + 00000375 FD 66 0F 541 LD H,(IY+15) + 00000378 E5 542 PUSH HL + 00000379 FD E5 543 PUSH IY + 0000037B 21 45 00 544 LD HL,?0031 + 0000037E E5 545 PUSH HL + 0000037F 21 2A 00 546 LD HL,42 + 00000382 39 547 ADD HL,SP + 00000383 E5 548 PUSH HL + 00000384 CD 52 06 549 CALL LWRD ?0055 + 00000387 21 18 00 550 LD HL,24 + 0000038A 551 ?0043: + 0000038A 39 552 ADD HL,SP + 0000038B F9 553 LD SP,HL + 0000038C 554 ?0030: + 0000038C 21 10 00 555 LD HL,16 + 0000038F 39 556 ADD HL,SP + 00000390 E5 557 PUSH HL + 00000391 FD 5E 0E 558 LD E,(IY+14) + 00000394 FD 56 0F 559 LD D,(IY+15) + 00000397 7A 560 LD A,D + 00000398 07 561 RLCA + 00000399 9F 562 SBC A,A + 0000039A 4F 563 LD C,A + 0000039B 41 564 LD B,C + 0000039C C5 565 PUSH BC + 0000039D D5 566 PUSH DE + 0000039E CD 78 06 567 CALL LWRD ?0058 + 000003A1 EB 568 EX DE,HL + 000003A2 E1 569 POP HL + 000003A3 CD 00 00 570 CALL LWRD ?L_ADDASG_L03 + 000003A6 21 14 00 571 LD HL,20 + 000003A9 39 572 ADD HL,SP + 000003AA EB 573 EX DE,HL + 000003AB 3E 00 574 LD A,BYTE3 strlen + 000003AD 21 00 00 575 LD HL,LWRD strlen + 000003B0 CD 00 00 576 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000003B3 E5 577 PUSH HL + 000003B4 21 16 00 578 LD HL,22 + 000003B7 39 579 ADD HL,SP + 000003B8 CD 87 06 580 CALL LWRD ?0059 + 000003BB F1 581 POP AF + 000003BC 582 ?0026: + 000003BC FD 6E 14 583 LD L,(IY+20) + 000003BF FD 66 15 584 LD H,(IY+21) + 000003C2 E5 585 PUSH HL + 000003C3 FD E1 586 POP IY + 000003C5 C3 DE 02 587 JP LWRD ?0023 + 000003C8 588 ?0022: + 000003C8 6F 589 LD L,A + 000003C9 67 590 LD H,A + 000003CA E5 591 PUSH HL + 000003CB 2E 64 592 LD L,100 + 000003CD E5 593 PUSH HL + 000003CE DD 4E AE 594 LD C,(IX-82) + 000003D1 DD 46 AF 595 LD B,(IX-81) + 000003D4 DD 6E AC 596 LD L,(IX-84) + 000003D7 DD 66 AD 597 LD H,(IX-83) + 000003DA CD 00 00 598 CALL LWRD ?SL_MOD_L03 + 000003DD C5 599 PUSH BC + 000003DE E5 600 PUSH HL + 000003DF 6F 601 LD L,A + 000003E0 67 602 LD H,A + 000003E1 E5 603 PUSH HL + 000003E2 2E 64 604 LD L,100 + 000003E4 E5 605 PUSH HL + 000003E5 DD 4E AE 606 LD C,(IX-82) + 000003E8 DD 46 AF 607 LD B,(IX-81) + 000003EB DD 6E AC 608 LD L,(IX-84) + 000003EE DD 66 AD 609 LD H,(IX-83) + 000003F1 CD 00 00 610 CALL LWRD ?SL_DIV_L03 + 000003F4 C5 611 PUSH BC + 000003F5 E5 612 PUSH HL + 000003F6 21 14 00 613 LD HL,?0014 + 000003F9 E5 614 PUSH HL + 000003FA E5 615 PUSH HL + 000003FB 21 85 00 616 LD HL,?0032 + 000003FE E5 617 PUSH HL + 000003FF 21 22 00 618 LD HL,34 + 00000402 39 619 ADD HL,SP + 00000403 E5 620 PUSH HL + 00000404 CD 52 06 621 CALL LWRD ?0055 + 00000407 21 10 00 622 LD HL,16 + 0000040A 39 623 ADD HL,SP + 0000040B F9 624 LD SP,HL + 0000040C 21 14 00 625 LD HL,20 + 0000040F 39 626 ADD HL,SP + 00000410 EB 627 EX DE,HL + 00000411 3E 00 628 LD A,BYTE3 strlen + 00000413 21 00 00 629 LD HL,LWRD strlen + 00000416 CD 00 00 630 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000419 E5 631 PUSH HL + 0000041A 21 16 00 632 LD HL,22 + 0000041D 39 633 ADD HL,SP + 0000041E CD 87 06 634 CALL LWRD ?0059 + 00000421 F1 635 POP AF + 00000422 DD 5E A0 636 LD E,(IX-96) + 00000425 DD 56 A1 637 LD D,(IX-95) + 00000428 3E 00 638 LD A,BYTE3 close + 0000042A 21 00 00 639 LD HL,LWRD close + 0000042D CD 00 00 640 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000430 21 06 00 641 LD HL,6 + 00000433 ED 4B 00 00 642 LD BC,(trans) + 00000437 09 643 ADD HL,BC + 00000438 46 644 LD B,(HL) + 00000439 23 645 INC HL + 0000043A 66 646 LD H,(HL) + 0000043B 68 647 LD L,B + 0000043C 648 ?0044: + 0000043C E5 649 PUSH HL + 0000043D FD E1 650 POP IY + 0000043F 651 ?0034: + 0000043F 7D 652 LD A,L + 00000440 B4 653 OR H + 00000441 28 13 654 JR Z,?0033 + 00000443 655 ?0035: + 00000443 FD E5 656 PUSH IY + 00000445 D1 657 POP DE + 00000446 3E 00 658 LD A,BYTE3 free + 00000448 21 00 00 659 LD HL,LWRD free + 0000044B CD 00 00 660 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000044E FD 6E 14 661 LD L,(IY+20) + 00000451 FD 66 15 662 LD H,(IY+21) + 00000454 18 E6 663 JR ?0044 + 00000456 664 ?0033: + 00000456 21 06 00 665 LD HL,6 + 00000459 ED 4B 00 00 666 LD BC,(trans) + 0000045D 09 667 ADD HL,BC + 0000045E E5 668 PUSH HL + 0000045F CD 6A 00 669 CALL LWRD ?0047 + 00000462 EB 670 EX DE,HL + 00000463 E1 671 POP HL + 00000464 73 672 LD (HL),E + 00000465 23 673 INC HL + 00000466 72 674 LD (HL),D + 00000467 21 06 00 675 LD HL,6 + 0000046A ED 4B 00 00 676 LD BC,(trans) + 0000046E 09 677 ADD HL,BC + 0000046F 56 678 LD D,(HL) + 00000470 23 679 INC HL + 00000471 66 680 LD H,(HL) + 00000472 6A 681 LD L,D + 00000473 11 14 00 682 LD DE,20 + 00000476 19 683 ADD HL,DE + 00000477 AF 684 XOR A + 00000478 77 685 LD (HL),A + 00000479 23 686 INC HL + 0000047A 77 687 LD (HL),A + 0000047B 21 06 00 688 LD HL,6 + 0000047E ED 4B 00 00 689 LD BC,(trans) + 00000482 09 690 ADD HL,BC + 00000483 7E 691 LD A,(HL) + 00000484 23 692 INC HL + 00000485 66 693 LD H,(HL) + 00000486 6F 694 LD L,A + 00000487 72 695 LD (HL),D + 00000488 21 06 00 696 LD HL,6 + 0000048B ED 4B 00 00 697 LD BC,(trans) + 0000048F 09 698 ADD HL,BC + 00000490 56 699 LD D,(HL) + 00000491 23 700 INC HL + 00000492 66 701 LD H,(HL) + 00000493 6A 702 LD L,D + 00000494 11 0E 00 703 LD DE,14 + 00000497 19 704 ADD HL,DE + 00000498 AF 705 XOR A + 00000499 77 706 LD (HL),A + 0000049A 23 707 INC HL + 0000049B 77 708 LD (HL),A + 0000049C 21 06 00 709 LD HL,6 + 0000049F ED 4B 00 00 710 LD BC,(trans) + 000004A3 09 711 ADD HL,BC + 000004A4 46 712 LD B,(HL) + 000004A5 23 713 INC HL + 000004A6 66 714 LD H,(HL) + 000004A7 68 715 LD L,B + 000004A8 01 10 00 716 LD BC,16 + 000004AB 09 717 ADD HL,BC + 000004AC 77 718 LD (HL),A + 000004AD 23 719 INC HL + 000004AE 77 720 LD (HL),A + 000004AF 23 721 INC HL + 000004B0 77 722 LD (HL),A + 000004B1 23 723 INC HL + 000004B2 77 724 LD (HL),A + 000004B3 725 ?0020: + 000004B3 DD 6E 9E 726 LD L,(IX-98) + 000004B6 DD 66 9F 727 LD H,(IX-97) + 000004B9 23 728 INC HL + 000004BA 23 729 INC HL + 000004BB 23 730 INC HL + 000004BC 46 731 LD B,(HL) + 000004BD 23 732 INC HL + 000004BE 66 733 LD H,(HL) + 000004BF 68 734 LD L,B + 000004C0 01 1F 10 735 LD BC,4127 + 000004C3 A7 736 AND A + 000004C4 ED 42 737 SBC HL,BC + 000004C6 C2 D2 05 738 JP NZ,?0037 + 000004C9 739 ?0036: + 000004C9 21 06 00 740 LD HL,6 + 000004CC ED 4B 00 00 741 LD BC,(trans) + 000004D0 09 742 ADD HL,BC + 000004D1 46 743 LD B,(HL) + 000004D2 23 744 INC HL + 000004D3 66 745 LD H,(HL) + 000004D4 68 746 LD L,B + 000004D5 747 ?0045: + 000004D5 DD 75 A0 748 LD (IX-96),L + 000004D8 DD 74 A1 749 LD (IX-95),H + 000004DB 750 ?0039: + 000004DB 21 14 00 751 LD HL,20 + 000004DE DD 4E A0 752 LD C,(IX-96) + 000004E1 DD 46 A1 753 LD B,(IX-95) + 000004E4 09 754 ADD HL,BC + 000004E5 7E 755 LD A,(HL) + 000004E6 23 756 INC HL + 000004E7 B6 757 OR (HL) + 000004E8 28 0A 758 JR Z,?0038 + 000004EA 759 ?0040: + 000004EA 21 14 00 760 LD HL,20 + 000004ED 09 761 ADD HL,BC + 000004EE 56 762 LD D,(HL) + 000004EF 23 763 INC HL + 000004F0 66 764 LD H,(HL) + 000004F1 6A 765 LD L,D + 000004F2 18 E1 766 JR ?0045 + 000004F4 767 ?0038: + 000004F4 21 07 00 768 LD HL,7 + 000004F7 DD 4E 9E 769 LD C,(IX-98) + 000004FA DD 46 9F 770 LD B,(IX-97) + 000004FD 09 771 ADD HL,BC + 000004FE 6E 772 LD L,(HL) + 000004FF 67 773 LD H,A + 00000500 E5 774 PUSH HL + 00000501 2A 00 00 775 LD HL,(trans) + 00000504 C1 776 POP BC + 00000505 71 777 LD (HL),C + 00000506 23 778 INC HL + 00000507 70 779 LD (HL),B + 00000508 2A 00 00 780 LD HL,(trans) + 0000050B 23 781 INC HL + 0000050C 23 782 INC HL + 0000050D E5 783 PUSH HL + 0000050E CD D7 05 784 CALL LWRD ?0048 + 00000511 E1 785 POP HL + 00000512 71 786 LD (HL),C + 00000513 23 787 INC HL + 00000514 70 788 LD (HL),B + 00000515 21 04 00 789 LD HL,4 + 00000518 ED 4B 00 00 790 LD BC,(trans) + 0000051C 09 791 ADD HL,BC + 0000051D E5 792 PUSH HL + 0000051E 21 07 00 793 LD HL,7 + 00000521 DD 5E 9E 794 LD E,(IX-98) + 00000524 DD 56 9F 795 LD D,(IX-97) + 00000527 19 796 ADD HL,DE + 00000528 5E 797 LD E,(HL) + 00000529 23 798 INC HL + 0000052A 56 799 LD D,(HL) + 0000052B 23 800 INC HL + 0000052C 4E 801 LD C,(HL) + 0000052D 23 802 INC HL + 0000052E 46 803 LD B,(HL) + 0000052F EB 804 EX DE,HL + 00000530 3E 10 805 LD A,16 + 00000532 CD EB 05 806 CALL LWRD ?0049 + 00000535 E1 807 POP HL + 00000536 71 808 LD (HL),C + 00000537 23 809 INC HL + 00000538 70 810 LD (HL),B + 00000539 2A 00 00 811 LD HL,(trans) + 0000053C 4E 812 LD C,(HL) + 0000053D 23 813 INC HL + 0000053E 46 814 LD B,(HL) + 0000053F 21 11 00 815 LD HL,17 + 00000542 DD 5E 02 816 LD E,(IX+2) + 00000545 DD 56 03 817 LD D,(IX+3) + 00000548 19 818 ADD HL,DE + 00000549 5E 819 LD E,(HL) + 0000054A 23 820 INC HL + 0000054B 56 821 LD D,(HL) + 0000054C CD 12 06 822 CALL LWRD ?0051 + 0000054F 21 11 00 823 LD HL,17 + 00000552 DD 5E 02 824 LD E,(IX+2) + 00000555 DD 56 03 825 LD D,(IX+3) + 00000558 19 826 ADD HL,DE + 00000559 5E 827 LD E,(HL) + 0000055A 23 828 INC HL + 0000055B 56 829 LD D,(HL) + 0000055C CD F2 05 830 CALL LWRD ?0050 + 0000055F 21 11 00 831 LD HL,17 + 00000562 DD 5E 02 832 LD E,(IX+2) + 00000565 DD 56 03 833 LD D,(IX+3) + 00000568 19 834 ADD HL,DE + 00000569 5E 835 LD E,(HL) + 0000056A 23 836 INC HL + 0000056B 56 837 LD D,(HL) + 0000056C CD 2F 06 838 CALL LWRD ?0052 + 0000056F 21 11 00 839 LD HL,17 + 00000572 DD 4E 02 840 LD C,(IX+2) + 00000575 DD 46 03 841 LD B,(IX+3) + 00000578 09 842 ADD HL,BC + 00000579 5E 843 LD E,(HL) + 0000057A 23 844 INC HL + 0000057B 56 845 LD D,(HL) + 0000057C 21 11 00 846 LD HL,17 + 0000057F 09 847 ADD HL,BC + 00000580 46 848 LD B,(HL) + 00000581 23 849 INC HL + 00000582 66 850 LD H,(HL) + 00000583 68 851 LD L,B + 00000584 01 1A 00 852 LD BC,26 + 00000587 CD 47 06 853 CALL LWRD ?0054 + 0000058A 21 14 00 854 LD HL,20 + 0000058D DD 4E A0 855 LD C,(IX-96) + 00000590 DD 46 A1 856 LD B,(IX-95) + 00000593 09 857 ADD HL,BC + 00000594 E5 858 PUSH HL + 00000595 CD 6A 00 859 CALL LWRD ?0047 + 00000598 EB 860 EX DE,HL + 00000599 E1 861 POP HL + 0000059A 73 862 LD (HL),E + 0000059B 23 863 INC HL + 0000059C 72 864 LD (HL),D + 0000059D 21 14 00 865 LD HL,20 + 000005A0 09 866 ADD HL,BC + 000005A1 56 867 LD D,(HL) + 000005A2 23 868 INC HL + 000005A3 66 869 LD H,(HL) + 000005A4 6A 870 LD L,D + 000005A5 DD 75 A0 871 LD (IX-96),L + 000005A8 DD 74 A1 872 LD (IX-95),H + 000005AB 01 14 00 873 LD BC,20 + 000005AE 09 874 ADD HL,BC + 000005AF AF 875 XOR A + 000005B0 77 876 LD (HL),A + 000005B1 23 877 INC HL + 000005B2 77 878 LD (HL),A + 000005B3 DD 6E A0 879 LD L,(IX-96) + 000005B6 DD 66 A1 880 LD H,(IX-95) + 000005B9 70 881 LD (HL),B + 000005BA 21 0E 00 882 LD HL,14 + 000005BD DD 4E A0 883 LD C,(IX-96) + 000005C0 DD 46 A1 884 LD B,(IX-95) + 000005C3 09 885 ADD HL,BC + 000005C4 77 886 LD (HL),A + 000005C5 23 887 INC HL + 000005C6 77 888 LD (HL),A + 000005C7 21 10 00 889 LD HL,16 + 000005CA 09 890 ADD HL,BC + 000005CB 77 891 LD (HL),A + 000005CC 23 892 INC HL + 000005CD 77 893 LD (HL),A + 000005CE 23 894 INC HL + 000005CF 77 895 LD (HL),A + 000005D0 23 896 INC HL + 000005D1 77 897 LD (HL),A + 000005D2 898 ?0037: + 000005D2 FD E1 899 POP IY + 000005D4 C3 00 00 900 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000005D7 901 ?0048: + 000005D7 21 07 00 902 LD HL,7 + 000005DA DD 4E 9E 903 LD C,(IX-98) + 000005DD DD 46 9F 904 LD B,(IX-97) + 000005E0 09 905 ADD HL,BC + 000005E1 5E 906 LD E,(HL) + 000005E2 23 907 INC HL + 000005E3 56 908 LD D,(HL) + 000005E4 23 909 INC HL + 000005E5 4E 910 LD C,(HL) + 000005E6 23 911 INC HL + 000005E7 46 912 LD B,(HL) + 000005E8 EB 913 EX DE,HL + 000005E9 3E 08 914 LD A,8 + 000005EB 915 ?0049: + 000005EB CD 00 00 916 CALL LWRD ?SL_RSH_L03 + 000005EE 06 00 917 LD B,0 + 000005F0 4D 918 LD C,L + 000005F1 C9 919 RET + 000005F2 920 ?0050: + 000005F2 3E 00 921 LD A,BYTE3 Component_find + 000005F4 21 00 00 922 LD HL,LWRD Component_find + 000005F7 CD 00 00 923 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000005FA EB 924 EX DE,HL + 000005FB 3E 00 925 LD A,BYTE3 Component_setlabel + 000005FD 21 00 00 926 LD HL,LWRD Component_setlabel + 00000600 01 08 00 927 LD BC,?0005 + 00000603 CD 00 00 928 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000606 21 04 00 929 LD HL,4 + 00000609 ED 5B 00 00 930 LD DE,(trans) + 0000060D 19 931 ADD HL,DE + 0000060E 4E 932 LD C,(HL) + 0000060F 23 933 INC HL + 00000610 46 934 LD B,(HL) + 00000611 C9 935 RET + 00000612 936 ?0051: + 00000612 3E 00 937 LD A,BYTE3 Component_find + 00000614 21 00 00 938 LD HL,LWRD Component_find + 00000617 CD 00 00 939 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000061A EB 940 EX DE,HL + 0000061B 3E 00 941 LD A,BYTE3 Component_setlabel + 0000061D 21 00 00 942 LD HL,LWRD Component_setlabel + 00000620 01 00 00 943 LD BC,?0004 + 00000623 CD 00 00 944 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000626 2A 00 00 945 LD HL,(trans) + 00000629 23 946 INC HL + 0000062A 23 947 INC HL + 0000062B 4E 948 LD C,(HL) + 0000062C 23 949 INC HL + 0000062D 46 950 LD B,(HL) + 0000062E C9 951 RET + 0000062F 952 ?0052: + 0000062F 3E 00 953 LD A,BYTE3 Component_find + 00000631 21 00 00 954 LD HL,LWRD Component_find + 00000634 CD 00 00 955 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000637 EB 956 EX DE,HL + 00000638 3E 00 957 LD A,BYTE3 Component_setlabel + 0000063A 21 00 00 958 LD HL,LWRD Component_setlabel + 0000063D 01 0E 00 959 LD BC,?0006 + 00000640 C3 00 00 960 JP LWRD ?BANK_CALL_DIRECT_L08 + 00000643 961 ?0053: + 00000643 42 962 LD B,D + 00000644 21 1A 00 963 LD HL,26 + 00000647 964 ?0054: + 00000647 09 965 ADD HL,BC + 00000648 4E 966 LD C,(HL) + 00000649 23 967 INC HL + 0000064A 46 968 LD B,(HL) + 0000064B 23 969 INC HL + 0000064C 7E 970 LD A,(HL) + 0000064D 69 971 LD L,C + 0000064E 60 972 LD H,B + 0000064F C3 00 00 973 JP LWRD ?BANK_CALL_DIRECT_L08 + 00000652 974 ?0055: + 00000652 3E 00 975 LD A,BYTE3 sprintf + 00000654 21 00 00 976 LD HL,LWRD sprintf + 00000657 C3 00 00 977 JP LWRD ?BANK_CALL_DIRECT_L08 + 0000065A 978 ?0056: + 0000065A FD 4E 12 979 LD C,(IY+18) + 0000065D FD 46 13 980 LD B,(IY+19) + 00000660 FD 6E 10 981 LD L,(IY+16) + 00000663 FD 66 11 982 LD H,(IY+17) + 00000666 C3 00 00 983 JP LWRD ?SL_MOD_L03 + 00000669 984 ?0057: + 00000669 FD 4E 12 985 LD C,(IY+18) + 0000066C FD 46 13 986 LD B,(IY+19) + 0000066F FD 6E 10 987 LD L,(IY+16) + 00000672 FD 66 11 988 LD H,(IY+17) + 00000675 C3 00 00 989 JP LWRD ?SL_DIV_L03 + 00000678 990 ?0058: + 00000678 FD 4E 12 991 LD C,(IY+18) + 0000067B FD 46 13 992 LD B,(IY+19) + 0000067E FD 6E 10 993 LD L,(IY+16) + 00000681 FD 66 11 994 LD H,(IY+17) + 00000684 C3 00 00 995 JP LWRD ?L_MUL_L03 + 00000687 996 ?0059: + 00000687 4D 997 LD C,L + 00000688 44 998 LD B,H + 00000689 DD 5E A0 999 LD E,(IX-96) + 0000068C DD 56 A1 1000 LD D,(IX-95) + 0000068F 3E 00 1001 LD A,BYTE3 _write + 00000691 21 00 00 1002 LD HL,LWRD _write + 00000694 C3 00 00 1003 JP LWRD ?BANK_CALL_DIRECT_L08 + 1004 RSEG CSTR + 00000000 1005 ?0004: + 00000000 42 61 72 63 6F 64 65 1006 DEFB 'Barcode' + 00000007 00 1007 DEFB 0 + 00000008 1008 ?0005: + 00000008 53 74 75 6B 73 1009 DEFB 'Stuks' + 0000000D 00 1010 DEFB 0 + 0000000E 1011 ?0006: + 0000000E 50 72 69 6A 73 1012 DEFB 'Prijs' + 00000013 00 1013 DEFB 0 + 00000014 1014 ?0014: + 00000014 00 1015 DEFB 0 + 00000015 1016 ?0021: + 00000015 2F 64 65 76 2F 70 72 1017 DEFB '/dev/printer' + 69 6E 74 65 72 + 00000021 00 1018 DEFB 0 + 00000022 1019 ?0029: + 00000022 25 31 33 73 20 56 65 1020 DEFB '%13s Verkoopartikel |%7ld,%02ld' + 72 6B 6F 6F 70 61 72 + 74 69 6B 65 6C 20 20 + 7C 25 37 6C 64 2C 25 + 30 32 6C 64 + 00000042 0D 0A 00 1021 DEFB 13,10,0 + 00000045 1022 ?0031: + 00000045 25 31 33 73 20 56 65 1023 DEFB '%13s Verkoopartikel' + 72 6B 6F 6F 70 61 72 + 74 69 6B 65 6C + 00000058 0D 0A 1024 DEFB 13,10 + 0000005A 25 34 64 78 20 40 20 1025 DEFB '%4dx @ | %7ld,%02ld |%7ld,%02ld' + 7C 20 25 37 6C 64 2C + 25 30 32 6C 64 20 20 + 20 20 20 20 20 20 20 + 20 7C 25 37 6C 64 2C + 25 30 32 6C 64 + 00000082 0D 0A 00 1026 DEFB 13,10,0 + 00000085 1027 ?0032: + 00000085 0D 0A 1028 DEFB 13,10 + 00000087 25 31 33 73 54 6F 74 1029 DEFB '%13sTotaal:%10s|%7ld,%02ld' + 61 61 6C 3A 25 31 30 + 73 7C 25 37 6C 64 2C + 25 30 32 6C 64 + 000000A1 0D 0A 0D 0A 0D 0A 00 1030 DEFB 13,10,13,10,13,10,0 + 1031 RSEG UDATA0 + 00000000 1032 trans: + 00000000 1033 DEFS 2 + 00000002 1034 END + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. +Hexadecimal [32-Bits] + +Symbol Table + + .__.ABS. = 00000000 G | 1 ?0000 00000096 R + 1 ?0001 0000009E R | 1 ?0002 000000AD R + 1 ?0003 00000111 R | 2 ?0004 00000000 R + 2 ?0005 00000008 R | 2 ?0006 0000000E R + 1 ?0007 0000013F R | 1 ?0008 00000256 R + 1 ?0009 0000013F R | 1 ?0010 0000013F R + 1 ?0011 0000016A R | 1 ?0012 00000151 R + 1 ?0013 00000160 R | 2 ?0014 00000014 R + 1 ?0015 0000024C R | 1 ?0016 000001DD R + 1 ?0017 000001FA R | 1 ?0018 0000021F R + 1 ?0019 0000026C R | 1 ?0020 000004B3 R + 2 ?0021 00000015 R | 1 ?0022 000003C8 R + 1 ?0023 000002DE R | 1 ?0024 000002E6 R + 1 ?0025 000002EF R | 1 ?0026 000003BC R + 1 ?0027 000002F9 R | 1 ?0028 00000322 R + 2 ?0029 00000022 R | 1 ?0030 0000038C R + 2 ?0031 00000045 R | 2 ?0032 00000085 R + 1 ?0033 00000456 R | 1 ?0034 0000043F R + 1 ?0035 00000443 R | 1 ?0036 000004C9 R + 1 ?0037 000005D2 R | 1 ?0038 000004F4 R + 1 ?0039 000004DB R | 1 ?0040 000004EA R + 1 ?0041 0000014B R | 1 ?0042 00000249 R + 1 ?0043 0000038A R | 1 ?0044 0000043C R + 1 ?0045 000004D5 R | 1 ?0046 0000006D R + 1 ?0047 0000006A R | 1 ?0048 000005D7 R + 1 ?0049 000005EB R | 1 ?0050 000005F2 R + 1 ?0051 00000612 R | 1 ?0052 0000062F R + 1 ?0053 00000643 R | 1 ?0054 00000647 R + 1 ?0055 00000652 R | 1 ?0056 0000065A R + 1 ?0057 00000669 R | 1 ?0058 00000678 R + 1 ?0059 00000687 R | ?BANK_CALL_DIR ******** GX + ?BANK_FAST_LEA ******** GX | ?BANK_LEAVE_DI ******** GX + ?CL64180B_4_06 ******** GX | ?ENT_AUTO_DIRE ******** GX + ?L_ADDASG_L03 ******** GX | ?L_MUL_L03 ******** GX + ?SL_DIV_L03 ******** GX | ?SL_MOD_L03 ******** GX + ?SL_RSH_L03 ******** GX | ?SS_CMP_L02 ******** GX + ?S_S_SWITCH_L0 ******** GX | Component_find ******** GX + Component_setl ******** GX | 1 Transaction_ha 00000075 GR + 1 Transaction_in 00000000 GR | _write ******** GX + atoi ******** GX | atol ******** GX + close ******** GX | free ******** GX + ioctl ******** GX | malloc ******** GX + open ******** GX | sprintf ******** GX + strcpy ******** GX | strlen ******** GX + 3 trans 00000000 GR + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. +Hexadecimal [32-Bits] + +Area Table + + 0 _DEFAULT size 0 flags 0 + 1 CODE size 697 flags 0 + 2 CSTR size A8 flags 0 + 3 UDATA0 size 2 flags 0 diff --git a/src/gui/trans.rst b/src/gui/trans.rst new file mode 100644 index 00000000..d97f1ab3 --- /dev/null +++ b/src/gui/trans.rst @@ -0,0 +1,1108 @@ + 1 NAME trans(17) + 2 RSEG CODE(0) + 3 RSEG CSTR(0) + 4 RSEG UDATA0(0) + 5 EXTERN Component_find + 6 EXTERN Component_setlabel + 7 PUBLIC Transaction_handler + 8 PUBLIC Transaction_init + 9 EXTERN _write + 10 EXTERN atoi + 11 EXTERN atol + 12 EXTERN close + 13 EXTERN free + 14 EXTERN ioctl + 15 EXTERN malloc + 16 EXTERN open + 17 EXTERN sprintf + 18 EXTERN strcpy + 19 EXTERN strlen + 20 PUBLIC trans + 21 EXTERN ?CL64180B_4_06_L00 + 22 EXTERN ?SS_CMP_L02 + 23 EXTERN ?SL_RSH_L03 + 24 EXTERN ?L_MUL_L03 + 25 EXTERN ?SL_DIV_L03 + 26 EXTERN ?SL_MOD_L03 + 27 EXTERN ?L_ADDASG_L03 + 28 EXTERN ?S_S_SWITCH_L06 + 29 EXTERN ?BANK_CALL_DIRECT_L08 + 30 EXTERN ?BANK_LEAVE_DIRECT_L08 + 31 EXTERN ?BANK_FAST_LEAVE_L08 + 32 EXTERN ?ENT_AUTO_DIRECT_L09 + 33 RSEG CODE + 00006946 34 Transaction_init: + 00006946 C5 35 PUSH BC + 00006947 D5 36 PUSH DE + 00006948 11 08 00 37 LD DE,8 + 0000694B CD B3 69 38 CALL LWRD ?0046 + 0000694E 22 41 87 39 LD (trans),HL + 00006951 01 06 00 40 LD BC,6 + 00006954 09 41 ADD HL,BC + 00006955 E5 42 PUSH HL + 00006956 CD B0 69 43 CALL LWRD ?0047 + 00006959 4D 44 LD C,L + 0000695A 44 45 LD B,H + 0000695B E1 46 POP HL + 0000695C 71 47 LD (HL),C + 0000695D 23 48 INC HL + 0000695E 70 49 LD (HL),B + 0000695F 21 06 00 50 LD HL,6 + 00006962 ED 4B 41 87 51 LD BC,(trans) + 00006966 09 52 ADD HL,BC + 00006967 56 53 LD D,(HL) + 00006968 23 54 INC HL + 00006969 66 55 LD H,(HL) + 0000696A 6A 56 LD L,D + 0000696B 11 14 00 57 LD DE,20 + 0000696E 19 58 ADD HL,DE + 0000696F AF 59 XOR A + 00006970 77 60 LD (HL),A + 00006971 23 61 INC HL + 00006972 77 62 LD (HL),A + 00006973 21 06 00 63 LD HL,6 + 00006976 ED 4B 41 87 64 LD BC,(trans) + 0000697A 09 65 ADD HL,BC + 0000697B 7E 66 LD A,(HL) + 0000697C 23 67 INC HL + 0000697D 66 68 LD H,(HL) + 0000697E 6F 69 LD L,A + 0000697F 72 70 LD (HL),D + 00006980 21 06 00 71 LD HL,6 + 00006983 ED 4B 41 87 72 LD BC,(trans) + 00006987 09 73 ADD HL,BC + 00006988 56 74 LD D,(HL) + 00006989 23 75 INC HL + 0000698A 66 76 LD H,(HL) + 0000698B 6A 77 LD L,D + 0000698C 11 0E 00 78 LD DE,14 + 0000698F 19 79 ADD HL,DE + 00006990 AF 80 XOR A + 00006991 77 81 LD (HL),A + 00006992 23 82 INC HL + 00006993 77 83 LD (HL),A + 00006994 21 06 00 84 LD HL,6 + 00006997 ED 4B 41 87 85 LD BC,(trans) + 0000699B 09 86 ADD HL,BC + 0000699C 46 87 LD B,(HL) + 0000699D 23 88 INC HL + 0000699E 66 89 LD H,(HL) + 0000699F 68 90 LD L,B + 000069A0 01 10 00 91 LD BC,16 + 000069A3 09 92 ADD HL,BC + 000069A4 77 93 LD (HL),A + 000069A5 23 94 INC HL + 000069A6 77 95 LD (HL),A + 000069A7 23 96 INC HL + 000069A8 77 97 LD (HL),A + 000069A9 23 98 INC HL + 000069AA 77 99 LD (HL),A + 000069AB D1 100 POP DE + 000069AC C1 101 POP BC + 000069AD C3 A9 81 102 JP LWRD ?BANK_FAST_LEAVE_L08 + 000069B0 103 ?0047: + 000069B0 11 16 00 104 LD DE,22 + 000069B3 105 ?0046: + 000069B3 3E 01 106 LD A,BYTE3 malloc + 000069B5 21 00 40 107 LD HL,LWRD malloc + 000069B8 C3 FB 81 108 JP LWRD ?BANK_CALL_DIRECT_L08 + 000069BB 109 Transaction_handler: + 000069BB CD 7A 82 110 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000069BE 9E FF 111 DEFW 65438 + 000069C0 FD E5 112 PUSH IY + 000069C2 21 26 00 113 LD HL,38 + 000069C5 DD 4E 02 114 LD C,(IX+2) + 000069C8 DD 46 03 115 LD B,(IX+3) + 000069CB 09 116 ADD HL,BC + 000069CC 46 117 LD B,(HL) + 000069CD DD 70 9E 118 LD (IX-98),B + 000069D0 23 119 INC HL + 000069D1 66 120 LD H,(HL) + 000069D2 DD 74 9F 121 LD (IX-97),H + 000069D5 2A 41 87 122 LD HL,(trans) + 000069D8 7D 123 LD A,L + 000069D9 B4 124 OR H + 000069DA 20 08 125 JR NZ,?0001 + 000069DC 126 ?0000: + 000069DC 3E 00 127 LD A,BYTE3 Transaction_init + 000069DE 21 46 69 128 LD HL,LWRD Transaction_init + 000069E1 CD FB 81 129 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000069E4 130 ?0001: + 000069E4 68 131 LD L,B + 000069E5 DD 66 9F 132 LD H,(IX-97) + 000069E8 23 133 INC HL + 000069E9 23 134 INC HL + 000069EA 23 135 INC HL + 000069EB 3E 10 136 LD A,16 + 000069ED 23 137 INC HL + 000069EE AE 138 XOR (HL) + 000069EF 2B 139 DEC HL + 000069F0 B6 140 OR (HL) + 000069F1 20 64 141 JR NZ,?0003 + 000069F3 142 ?0002: + 000069F3 21 07 00 143 LD HL,7 + 000069F6 48 144 LD C,B + 000069F7 DD 46 9F 145 LD B,(IX-97) + 000069FA 09 146 ADD HL,BC + 000069FB 6E 147 LD L,(HL) + 000069FC 67 148 LD H,A + 000069FD E5 149 PUSH HL + 000069FE 2A 41 87 150 LD HL,(trans) + 00006A01 C1 151 POP BC + 00006A02 71 152 LD (HL),C + 00006A03 23 153 INC HL + 00006A04 70 154 LD (HL),B + 00006A05 2A 41 87 155 LD HL,(trans) + 00006A08 23 156 INC HL + 00006A09 23 157 INC HL + 00006A0A E5 158 PUSH HL + 00006A0B CD 1D 6F 159 CALL LWRD ?0048 + 00006A0E E1 160 POP HL + 00006A0F 71 161 LD (HL),C + 00006A10 23 162 INC HL + 00006A11 70 163 LD (HL),B + 00006A12 21 04 00 164 LD HL,4 + 00006A15 ED 4B 41 87 165 LD BC,(trans) + 00006A19 09 166 ADD HL,BC + 00006A1A E5 167 PUSH HL + 00006A1B 21 07 00 168 LD HL,7 + 00006A1E DD 5E 9E 169 LD E,(IX-98) + 00006A21 DD 56 9F 170 LD D,(IX-97) + 00006A24 19 171 ADD HL,DE + 00006A25 5E 172 LD E,(HL) + 00006A26 23 173 INC HL + 00006A27 56 174 LD D,(HL) + 00006A28 23 175 INC HL + 00006A29 4E 176 LD C,(HL) + 00006A2A 23 177 INC HL + 00006A2B 46 178 LD B,(HL) + 00006A2C EB 179 EX DE,HL + 00006A2D 3E 10 180 LD A,16 + 00006A2F CD 31 6F 181 CALL LWRD ?0049 + 00006A32 E1 182 POP HL + 00006A33 71 183 LD (HL),C + 00006A34 23 184 INC HL + 00006A35 70 185 LD (HL),B + 00006A36 2A 41 87 186 LD HL,(trans) + 00006A39 4E 187 LD C,(HL) + 00006A3A 23 188 INC HL + 00006A3B 46 189 LD B,(HL) + 00006A3C DD 5E 02 190 LD E,(IX+2) + 00006A3F DD 56 03 191 LD D,(IX+3) + 00006A42 CD 58 6F 192 CALL LWRD ?0051 + 00006A45 DD 5E 02 193 LD E,(IX+2) + 00006A48 DD 56 03 194 LD D,(IX+3) + 00006A4B CD 38 6F 195 CALL LWRD ?0050 + 00006A4E DD 5E 02 196 LD E,(IX+2) + 00006A51 DD 56 03 197 LD D,(IX+3) + 00006A54 CD 75 6F 198 CALL LWRD ?0052 + 00006A57 199 ?0003: + 00006A57 DD 6E 9E 200 LD L,(IX-98) + 00006A5A DD 66 9F 201 LD H,(IX-97) + 00006A5D 23 202 INC HL + 00006A5E 23 203 INC HL + 00006A5F 23 204 INC HL + 00006A60 46 205 LD B,(HL) + 00006A61 23 206 INC HL + 00006A62 66 207 LD H,(HL) + 00006A63 68 208 LD L,B + 00006A64 01 10 90 209 LD BC,36880 + 00006A67 3E 80 210 LD A,128 + 00006A69 AC 211 XOR H + 00006A6A 67 212 LD H,A + 00006A6B ED 42 213 SBC HL,BC + 00006A6D DA 9C 6B 214 JP C,?0008 + 00006A70 DD 6E 9E 215 LD L,(IX-98) + 00006A73 DD 66 9F 216 LD H,(IX-97) + 00006A76 23 217 INC HL + 00006A77 23 218 INC HL + 00006A78 23 219 INC HL + 00006A79 4E 220 LD C,(HL) + 00006A7A 23 221 INC HL + 00006A7B 46 222 LD B,(HL) + 00006A7C 21 12 10 223 LD HL,4114 + 00006A7F CD C8 82 224 CALL LWRD ?SS_CMP_L02 + 00006A82 DA 9C 6B 225 JP C,?0008 + 00006A85 226 ?0010: + 00006A85 227 ?0009: + 00006A85 228 ?0007: + 00006A85 21 06 00 229 LD HL,6 + 00006A88 ED 4B 41 87 230 LD BC,(trans) + 00006A8C 09 231 ADD HL,BC + 00006A8D 46 232 LD B,(HL) + 00006A8E 23 233 INC HL + 00006A8F 66 234 LD H,(HL) + 00006A90 68 235 LD L,B + 00006A91 236 ?0041: + 00006A91 DD 75 A2 237 LD (IX-94),L + 00006A94 DD 74 A3 238 LD (IX-93),H + 00006A97 239 ?0012: + 00006A97 21 14 00 240 LD HL,20 + 00006A9A DD 4E A2 241 LD C,(IX-94) + 00006A9D DD 46 A3 242 LD B,(IX-93) + 00006AA0 09 243 ADD HL,BC + 00006AA1 7E 244 LD A,(HL) + 00006AA2 23 245 INC HL + 00006AA3 B6 246 OR (HL) + 00006AA4 28 0A 247 JR Z,?0011 + 00006AA6 248 ?0013: + 00006AA6 21 14 00 249 LD HL,20 + 00006AA9 09 250 ADD HL,BC + 00006AAA 56 251 LD D,(HL) + 00006AAB 23 252 INC HL + 00006AAC 66 253 LD H,(HL) + 00006AAD 6A 254 LD L,D + 00006AAE 18 E1 255 JR ?0041 + 00006AB0 256 ?0011: + 00006AB0 21 05 00 257 LD HL,5 + 00006AB3 DD 4E 9E 258 LD C,(IX-98) + 00006AB6 DD 46 9F 259 LD B,(IX-97) + 00006AB9 09 260 ADD HL,BC + 00006ABA 4E 261 LD C,(HL) + 00006ABB 23 262 INC HL + 00006ABC 46 263 LD B,(HL) + 00006ABD 21 11 00 264 LD HL,17 + 00006AC0 DD 5E 02 265 LD E,(IX+2) + 00006AC3 DD 56 03 266 LD D,(IX+3) + 00006AC6 19 267 ADD HL,DE + 00006AC7 5E 268 LD E,(HL) + 00006AC8 23 269 INC HL + 00006AC9 56 270 LD D,(HL) + 00006ACA 3E 00 271 LD A,BYTE3 Component_find + 00006ACC 21 D6 4D 272 LD HL,LWRD Component_find + 00006ACF CD FB 81 273 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006AD2 DD 75 A0 274 LD (IX-96),L + 00006AD5 DD 74 A1 275 LD (IX-95),H + 00006AD8 01 20 00 276 LD BC,32 + 00006ADB 09 277 ADD HL,BC + 00006ADC 4E 278 LD C,(HL) + 00006ADD 23 279 INC HL + 00006ADE 46 280 LD B,(HL) + 00006ADF DD 5E 02 281 LD E,(IX+2) + 00006AE2 DD 56 03 282 LD D,(IX+3) + 00006AE5 3E 00 283 LD A,BYTE3 Component_setlabel + 00006AE7 21 A1 4C 284 LD HL,LWRD Component_setlabel + 00006AEA CD FB 81 285 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006AED 01 20 85 286 LD BC,?0014 + 00006AF0 DD 5E A0 287 LD E,(IX-96) + 00006AF3 DD 56 A1 288 LD D,(IX-95) + 00006AF6 3E 00 289 LD A,BYTE3 Component_setlabel + 00006AF8 21 A1 4C 290 LD HL,LWRD Component_setlabel + 00006AFB CD FB 81 291 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006AFE DD 5E A0 292 LD E,(IX-96) + 00006B01 4B 293 LD C,E + 00006B02 DD 56 A1 294 LD D,(IX-95) + 00006B05 CD 89 6F 295 CALL LWRD ?0053 + 00006B08 DD 6E 9E 296 LD L,(IX-98) + 00006B0B DD 66 9F 297 LD H,(IX-97) + 00006B0E 23 298 INC HL + 00006B0F 23 299 INC HL + 00006B10 23 300 INC HL + 00006B11 5E 301 LD E,(HL) + 00006B12 23 302 INC HL + 00006B13 56 303 LD D,(HL) + 00006B14 CD 08 82 304 CALL LWRD ?S_S_SWITCH_L06 + 00006B17 10 10 305 DEFW 4112 + 00006B19 03 00 306 DEFW 3 + 00006B1B 92 6B 307 DEFW ?0015 + 00006B1D 23 6B 308 DEFW ?0016 + 00006B1F 40 6B 309 DEFW ?0017 + 00006B21 65 6B 310 DEFW ?0018 + 00006B23 311 ?0016: + 00006B23 21 20 00 312 LD HL,32 + 00006B26 DD 4E 02 313 LD C,(IX+2) + 00006B29 DD 46 03 314 LD B,(IX+3) + 00006B2C 09 315 ADD HL,BC + 00006B2D 4E 316 LD C,(HL) + 00006B2E 23 317 INC HL + 00006B2F 46 318 LD B,(HL) + 00006B30 DD 5E A2 319 LD E,(IX-94) + 00006B33 DD 56 A3 320 LD D,(IX-93) + 00006B36 3E 00 321 LD A,BYTE3 strcpy + 00006B38 21 3F 75 322 LD HL,LWRD strcpy + 00006B3B CD FB 81 323 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006B3E 18 52 324 JR ?0015 + 00006B40 325 ?0017: + 00006B40 21 0E 00 326 LD HL,14 + 00006B43 DD 4E A2 327 LD C,(IX-94) + 00006B46 DD 46 A3 328 LD B,(IX-93) + 00006B49 09 329 ADD HL,BC + 00006B4A E5 330 PUSH HL + 00006B4B 21 20 00 331 LD HL,32 + 00006B4E DD 4E 02 332 LD C,(IX+2) + 00006B51 DD 46 03 333 LD B,(IX+3) + 00006B54 09 334 ADD HL,BC + 00006B55 5E 335 LD E,(HL) + 00006B56 23 336 INC HL + 00006B57 56 337 LD D,(HL) + 00006B58 3E 00 338 LD A,BYTE3 atoi + 00006B5A 21 66 75 339 LD HL,LWRD atoi + 00006B5D CD FB 81 340 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006B60 4D 341 LD C,L + 00006B61 44 342 LD B,H + 00006B62 E1 343 POP HL + 00006B63 18 2A 344 JR ?0042 + 00006B65 345 ?0018: + 00006B65 21 20 00 346 LD HL,32 + 00006B68 DD 4E 02 347 LD C,(IX+2) + 00006B6B DD 46 03 348 LD B,(IX+3) + 00006B6E 09 349 ADD HL,BC + 00006B6F 5E 350 LD E,(HL) + 00006B70 23 351 INC HL + 00006B71 56 352 LD D,(HL) + 00006B72 3E 00 353 LD A,BYTE3 atol + 00006B74 21 BA 7C 354 LD HL,LWRD atol + 00006B77 CD FB 81 355 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006B7A 7C 356 LD A,H + 00006B7B 07 357 RLCA + 00006B7C 9F 358 SBC A,A + 00006B7D 4F 359 LD C,A + 00006B7E 41 360 LD B,C + 00006B7F E5 361 PUSH HL + 00006B80 21 10 00 362 LD HL,16 + 00006B83 DD 5E A2 363 LD E,(IX-94) + 00006B86 DD 56 A3 364 LD D,(IX-93) + 00006B89 19 365 ADD HL,DE + 00006B8A D1 366 POP DE + 00006B8B 73 367 LD (HL),E + 00006B8C 23 368 INC HL + 00006B8D 72 369 LD (HL),D + 00006B8E 23 370 INC HL + 00006B8F 371 ?0042: + 00006B8F 71 372 LD (HL),C + 00006B90 23 373 INC HL + 00006B91 70 374 LD (HL),B + 00006B92 375 ?0015: + 00006B92 DD 5E 02 376 LD E,(IX+2) + 00006B95 4B 377 LD C,E + 00006B96 DD 56 03 378 LD D,(IX+3) + 00006B99 CD 89 6F 379 CALL LWRD ?0053 + 00006B9C 380 ?0008: + 00006B9C DD 6E 9E 381 LD L,(IX-98) + 00006B9F DD 66 9F 382 LD H,(IX-97) + 00006BA2 23 383 INC HL + 00006BA3 23 384 INC HL + 00006BA4 23 385 INC HL + 00006BA5 46 386 LD B,(HL) + 00006BA6 23 387 INC HL + 00006BA7 66 388 LD H,(HL) + 00006BA8 68 389 LD L,B + 00006BA9 01 1E 10 390 LD BC,4126 + 00006BAC A7 391 AND A + 00006BAD ED 42 392 SBC HL,BC + 00006BAF C2 F9 6D 393 JP NZ,?0020 + 00006BB2 394 ?0019: + 00006BB2 AF 395 XOR A + 00006BB3 DD 77 AC 396 LD (IX-84),A + 00006BB6 DD 77 AD 397 LD (IX-83),A + 00006BB9 DD 77 AE 398 LD (IX-82),A + 00006BBC DD 77 AF 399 LD (IX-81),A + 00006BBF 21 06 00 400 LD HL,6 + 00006BC2 ED 4B 41 87 401 LD BC,(trans) + 00006BC6 09 402 ADD HL,BC + 00006BC7 46 403 LD B,(HL) + 00006BC8 23 404 INC HL + 00006BC9 66 405 LD H,(HL) + 00006BCA 68 406 LD L,B + 00006BCB E5 407 PUSH HL + 00006BCC FD E1 408 POP IY + 00006BCE 21 01 00 409 LD HL,1 + 00006BD1 E5 410 PUSH HL + 00006BD2 21 21 85 411 LD HL,?0021 + 00006BD5 E5 412 PUSH HL + 00006BD6 3E 00 413 LD A,BYTE3 open + 00006BD8 21 CD 7E 414 LD HL,LWRD open + 00006BDB CD FB 81 415 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006BDE F1 416 POP AF + 00006BDF F1 417 POP AF + 00006BE0 DD 75 A0 418 LD (IX-96),L + 00006BE3 DD 74 A1 419 LD (IX-95),H + 00006BE6 21 08 00 420 LD HL,8 + 00006BE9 39 421 ADD HL,SP + 00006BEA E5 422 PUSH HL + 00006BEB 21 00 00 423 LD HL,0 + 00006BEE E5 424 PUSH HL + 00006BEF DD 6E A0 425 LD L,(IX-96) + 00006BF2 DD 66 A1 426 LD H,(IX-95) + 00006BF5 E5 427 PUSH HL + 00006BF6 3E 00 428 LD A,BYTE3 ioctl + 00006BF8 21 E2 73 429 LD HL,LWRD ioctl + 00006BFB CD FB 81 430 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006BFE F1 431 POP AF + 00006BFF F1 432 POP AF + 00006C00 F1 433 POP AF + 00006C01 DD 36 A8 60 434 LD (IX-88),96 + 00006C05 DD 36 A9 00 435 LD (IX-87),0 + 00006C09 21 08 00 436 LD HL,8 + 00006C0C 39 437 ADD HL,SP + 00006C0D E5 438 PUSH HL + 00006C0E 21 01 00 439 LD HL,1 + 00006C11 E5 440 PUSH HL + 00006C12 DD 6E A0 441 LD L,(IX-96) + 00006C15 DD 66 A1 442 LD H,(IX-95) + 00006C18 E5 443 PUSH HL + 00006C19 3E 00 444 LD A,BYTE3 ioctl + 00006C1B 21 E2 73 445 LD HL,LWRD ioctl + 00006C1E CD FB 81 446 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006C21 F1 447 POP AF + 00006C22 F1 448 POP AF + 00006C23 F1 449 POP AF + 00006C24 450 ?0023: + 00006C24 FD E5 451 PUSH IY + 00006C26 E1 452 POP HL + 00006C27 7D 453 LD A,L + 00006C28 B4 454 OR H + 00006C29 CA 0E 6D 455 JP Z,?0022 + 00006C2C 456 ?0024: + 00006C2C FD 7E 0E 457 LD A,(IY+14) + 00006C2F FD B6 0F 458 OR (IY+15) + 00006C32 CA 02 6D 459 JP Z,?0026 + 00006C35 460 ?0025: + 00006C35 3E 01 461 LD A,1 + 00006C37 FD AE 0E 462 XOR (IY+14) + 00006C3A FD B6 0F 463 OR (IY+15) + 00006C3D 20 29 464 JR NZ,?0028 + 00006C3F 465 ?0027: + 00006C3F 6F 466 LD L,A + 00006C40 67 467 LD H,A + 00006C41 E5 468 PUSH HL + 00006C42 2E 64 469 LD L,100 + 00006C44 E5 470 PUSH HL + 00006C45 CD A0 6F 471 CALL LWRD ?0056 + 00006C48 C5 472 PUSH BC + 00006C49 E5 473 PUSH HL + 00006C4A 6F 474 LD L,A + 00006C4B 67 475 LD H,A + 00006C4C E5 476 PUSH HL + 00006C4D 2E 64 477 LD L,100 + 00006C4F E5 478 PUSH HL + 00006C50 CD AF 6F 479 CALL LWRD ?0057 + 00006C53 C5 480 PUSH BC + 00006C54 E5 481 PUSH HL + 00006C55 FD E5 482 PUSH IY + 00006C57 21 2E 85 483 LD HL,?0029 + 00006C5A E5 484 PUSH HL + 00006C5B 21 20 00 485 LD HL,32 + 00006C5E 39 486 ADD HL,SP + 00006C5F E5 487 PUSH HL + 00006C60 CD 98 6F 488 CALL LWRD ?0055 + 00006C63 21 0E 00 489 LD HL,14 + 00006C66 18 68 490 JR ?0043 + 00006C68 491 ?0028: + 00006C68 21 00 00 492 LD HL,0 + 00006C6B E5 493 PUSH HL + 00006C6C 2E 64 494 LD L,100 + 00006C6E E5 495 PUSH HL + 00006C6F FD 6E 0E 496 LD L,(IY+14) + 00006C72 FD 66 0F 497 LD H,(IY+15) + 00006C75 7C 498 LD A,H + 00006C76 07 499 RLCA + 00006C77 9F 500 SBC A,A + 00006C78 4F 501 LD C,A + 00006C79 41 502 LD B,C + 00006C7A C5 503 PUSH BC + 00006C7B E5 504 PUSH HL + 00006C7C CD BE 6F 505 CALL LWRD ?0058 + 00006C7F CD 47 82 506 CALL LWRD ?SL_MOD_L03 + 00006C82 C5 507 PUSH BC + 00006C83 E5 508 PUSH HL + 00006C84 21 00 00 509 LD HL,0 + 00006C87 E5 510 PUSH HL + 00006C88 2E 64 511 LD L,100 + 00006C8A E5 512 PUSH HL + 00006C8B FD 6E 0E 513 LD L,(IY+14) + 00006C8E FD 66 0F 514 LD H,(IY+15) + 00006C91 7C 515 LD A,H + 00006C92 07 516 RLCA + 00006C93 9F 517 SBC A,A + 00006C94 4F 518 LD C,A + 00006C95 41 519 LD B,C + 00006C96 C5 520 PUSH BC + 00006C97 E5 521 PUSH HL + 00006C98 CD BE 6F 522 CALL LWRD ?0058 + 00006C9B CD 98 82 523 CALL LWRD ?SL_DIV_L03 + 00006C9E C5 524 PUSH BC + 00006C9F E5 525 PUSH HL + 00006CA0 21 00 00 526 LD HL,0 + 00006CA3 E5 527 PUSH HL + 00006CA4 2E 64 528 LD L,100 + 00006CA6 E5 529 PUSH HL + 00006CA7 CD A0 6F 530 CALL LWRD ?0056 + 00006CAA C5 531 PUSH BC + 00006CAB E5 532 PUSH HL + 00006CAC 21 00 00 533 LD HL,0 + 00006CAF E5 534 PUSH HL + 00006CB0 2E 64 535 LD L,100 + 00006CB2 E5 536 PUSH HL + 00006CB3 CD AF 6F 537 CALL LWRD ?0057 + 00006CB6 C5 538 PUSH BC + 00006CB7 E5 539 PUSH HL + 00006CB8 FD 6E 0E 540 LD L,(IY+14) + 00006CBB FD 66 0F 541 LD H,(IY+15) + 00006CBE E5 542 PUSH HL + 00006CBF FD E5 543 PUSH IY + 00006CC1 21 51 85 544 LD HL,?0031 + 00006CC4 E5 545 PUSH HL + 00006CC5 21 2A 00 546 LD HL,42 + 00006CC8 39 547 ADD HL,SP + 00006CC9 E5 548 PUSH HL + 00006CCA CD 98 6F 549 CALL LWRD ?0055 + 00006CCD 21 18 00 550 LD HL,24 + 00006CD0 551 ?0043: + 00006CD0 39 552 ADD HL,SP + 00006CD1 F9 553 LD SP,HL + 00006CD2 554 ?0030: + 00006CD2 21 10 00 555 LD HL,16 + 00006CD5 39 556 ADD HL,SP + 00006CD6 E5 557 PUSH HL + 00006CD7 FD 5E 0E 558 LD E,(IY+14) + 00006CDA FD 56 0F 559 LD D,(IY+15) + 00006CDD 7A 560 LD A,D + 00006CDE 07 561 RLCA + 00006CDF 9F 562 SBC A,A + 00006CE0 4F 563 LD C,A + 00006CE1 41 564 LD B,C + 00006CE2 C5 565 PUSH BC + 00006CE3 D5 566 PUSH DE + 00006CE4 CD BE 6F 567 CALL LWRD ?0058 + 00006CE7 EB 568 EX DE,HL + 00006CE8 E1 569 POP HL + 00006CE9 CD D6 81 570 CALL LWRD ?L_ADDASG_L03 + 00006CEC 21 14 00 571 LD HL,20 + 00006CEF 39 572 ADD HL,SP + 00006CF0 EB 573 EX DE,HL + 00006CF1 3E 00 574 LD A,BYTE3 strlen + 00006CF3 21 AB 73 575 LD HL,LWRD strlen + 00006CF6 CD FB 81 576 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006CF9 E5 577 PUSH HL + 00006CFA 21 16 00 578 LD HL,22 + 00006CFD 39 579 ADD HL,SP + 00006CFE CD CD 6F 580 CALL LWRD ?0059 + 00006D01 F1 581 POP AF + 00006D02 582 ?0026: + 00006D02 FD 6E 14 583 LD L,(IY+20) + 00006D05 FD 66 15 584 LD H,(IY+21) + 00006D08 E5 585 PUSH HL + 00006D09 FD E1 586 POP IY + 00006D0B C3 24 6C 587 JP LWRD ?0023 + 00006D0E 588 ?0022: + 00006D0E 6F 589 LD L,A + 00006D0F 67 590 LD H,A + 00006D10 E5 591 PUSH HL + 00006D11 2E 64 592 LD L,100 + 00006D13 E5 593 PUSH HL + 00006D14 DD 4E AE 594 LD C,(IX-82) + 00006D17 DD 46 AF 595 LD B,(IX-81) + 00006D1A DD 6E AC 596 LD L,(IX-84) + 00006D1D DD 66 AD 597 LD H,(IX-83) + 00006D20 CD 47 82 598 CALL LWRD ?SL_MOD_L03 + 00006D23 C5 599 PUSH BC + 00006D24 E5 600 PUSH HL + 00006D25 6F 601 LD L,A + 00006D26 67 602 LD H,A + 00006D27 E5 603 PUSH HL + 00006D28 2E 64 604 LD L,100 + 00006D2A E5 605 PUSH HL + 00006D2B DD 4E AE 606 LD C,(IX-82) + 00006D2E DD 46 AF 607 LD B,(IX-81) + 00006D31 DD 6E AC 608 LD L,(IX-84) + 00006D34 DD 66 AD 609 LD H,(IX-83) + 00006D37 CD 98 82 610 CALL LWRD ?SL_DIV_L03 + 00006D3A C5 611 PUSH BC + 00006D3B E5 612 PUSH HL + 00006D3C 21 20 85 613 LD HL,?0014 + 00006D3F E5 614 PUSH HL + 00006D40 E5 615 PUSH HL + 00006D41 21 91 85 616 LD HL,?0032 + 00006D44 E5 617 PUSH HL + 00006D45 21 22 00 618 LD HL,34 + 00006D48 39 619 ADD HL,SP + 00006D49 E5 620 PUSH HL + 00006D4A CD 98 6F 621 CALL LWRD ?0055 + 00006D4D 21 10 00 622 LD HL,16 + 00006D50 39 623 ADD HL,SP + 00006D51 F9 624 LD SP,HL + 00006D52 21 14 00 625 LD HL,20 + 00006D55 39 626 ADD HL,SP + 00006D56 EB 627 EX DE,HL + 00006D57 3E 00 628 LD A,BYTE3 strlen + 00006D59 21 AB 73 629 LD HL,LWRD strlen + 00006D5C CD FB 81 630 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006D5F E5 631 PUSH HL + 00006D60 21 16 00 632 LD HL,22 + 00006D63 39 633 ADD HL,SP + 00006D64 CD CD 6F 634 CALL LWRD ?0059 + 00006D67 F1 635 POP AF + 00006D68 DD 5E A0 636 LD E,(IX-96) + 00006D6B DD 56 A1 637 LD D,(IX-95) + 00006D6E 3E 00 638 LD A,BYTE3 close + 00006D70 21 96 73 639 LD HL,LWRD close + 00006D73 CD FB 81 640 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006D76 21 06 00 641 LD HL,6 + 00006D79 ED 4B 41 87 642 LD BC,(trans) + 00006D7D 09 643 ADD HL,BC + 00006D7E 46 644 LD B,(HL) + 00006D7F 23 645 INC HL + 00006D80 66 646 LD H,(HL) + 00006D81 68 647 LD L,B + 00006D82 648 ?0044: + 00006D82 E5 649 PUSH HL + 00006D83 FD E1 650 POP IY + 00006D85 651 ?0034: + 00006D85 7D 652 LD A,L + 00006D86 B4 653 OR H + 00006D87 28 13 654 JR Z,?0033 + 00006D89 655 ?0035: + 00006D89 FD E5 656 PUSH IY + 00006D8B D1 657 POP DE + 00006D8C 3E 00 658 LD A,BYTE3 free + 00006D8E 21 5F 74 659 LD HL,LWRD free + 00006D91 CD FB 81 660 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006D94 FD 6E 14 661 LD L,(IY+20) + 00006D97 FD 66 15 662 LD H,(IY+21) + 00006D9A 18 E6 663 JR ?0044 + 00006D9C 664 ?0033: + 00006D9C 21 06 00 665 LD HL,6 + 00006D9F ED 4B 41 87 666 LD BC,(trans) + 00006DA3 09 667 ADD HL,BC + 00006DA4 E5 668 PUSH HL + 00006DA5 CD B0 69 669 CALL LWRD ?0047 + 00006DA8 EB 670 EX DE,HL + 00006DA9 E1 671 POP HL + 00006DAA 73 672 LD (HL),E + 00006DAB 23 673 INC HL + 00006DAC 72 674 LD (HL),D + 00006DAD 21 06 00 675 LD HL,6 + 00006DB0 ED 4B 41 87 676 LD BC,(trans) + 00006DB4 09 677 ADD HL,BC + 00006DB5 56 678 LD D,(HL) + 00006DB6 23 679 INC HL + 00006DB7 66 680 LD H,(HL) + 00006DB8 6A 681 LD L,D + 00006DB9 11 14 00 682 LD DE,20 + 00006DBC 19 683 ADD HL,DE + 00006DBD AF 684 XOR A + 00006DBE 77 685 LD (HL),A + 00006DBF 23 686 INC HL + 00006DC0 77 687 LD (HL),A + 00006DC1 21 06 00 688 LD HL,6 + 00006DC4 ED 4B 41 87 689 LD BC,(trans) + 00006DC8 09 690 ADD HL,BC + 00006DC9 7E 691 LD A,(HL) + 00006DCA 23 692 INC HL + 00006DCB 66 693 LD H,(HL) + 00006DCC 6F 694 LD L,A + 00006DCD 72 695 LD (HL),D + 00006DCE 21 06 00 696 LD HL,6 + 00006DD1 ED 4B 41 87 697 LD BC,(trans) + 00006DD5 09 698 ADD HL,BC + 00006DD6 56 699 LD D,(HL) + 00006DD7 23 700 INC HL + 00006DD8 66 701 LD H,(HL) + 00006DD9 6A 702 LD L,D + 00006DDA 11 0E 00 703 LD DE,14 + 00006DDD 19 704 ADD HL,DE + 00006DDE AF 705 XOR A + 00006DDF 77 706 LD (HL),A + 00006DE0 23 707 INC HL + 00006DE1 77 708 LD (HL),A + 00006DE2 21 06 00 709 LD HL,6 + 00006DE5 ED 4B 41 87 710 LD BC,(trans) + 00006DE9 09 711 ADD HL,BC + 00006DEA 46 712 LD B,(HL) + 00006DEB 23 713 INC HL + 00006DEC 66 714 LD H,(HL) + 00006DED 68 715 LD L,B + 00006DEE 01 10 00 716 LD BC,16 + 00006DF1 09 717 ADD HL,BC + 00006DF2 77 718 LD (HL),A + 00006DF3 23 719 INC HL + 00006DF4 77 720 LD (HL),A + 00006DF5 23 721 INC HL + 00006DF6 77 722 LD (HL),A + 00006DF7 23 723 INC HL + 00006DF8 77 724 LD (HL),A + 00006DF9 725 ?0020: + 00006DF9 DD 6E 9E 726 LD L,(IX-98) + 00006DFC DD 66 9F 727 LD H,(IX-97) + 00006DFF 23 728 INC HL + 00006E00 23 729 INC HL + 00006E01 23 730 INC HL + 00006E02 46 731 LD B,(HL) + 00006E03 23 732 INC HL + 00006E04 66 733 LD H,(HL) + 00006E05 68 734 LD L,B + 00006E06 01 1F 10 735 LD BC,4127 + 00006E09 A7 736 AND A + 00006E0A ED 42 737 SBC HL,BC + 00006E0C C2 18 6F 738 JP NZ,?0037 + 00006E0F 739 ?0036: + 00006E0F 21 06 00 740 LD HL,6 + 00006E12 ED 4B 41 87 741 LD BC,(trans) + 00006E16 09 742 ADD HL,BC + 00006E17 46 743 LD B,(HL) + 00006E18 23 744 INC HL + 00006E19 66 745 LD H,(HL) + 00006E1A 68 746 LD L,B + 00006E1B 747 ?0045: + 00006E1B DD 75 A0 748 LD (IX-96),L + 00006E1E DD 74 A1 749 LD (IX-95),H + 00006E21 750 ?0039: + 00006E21 21 14 00 751 LD HL,20 + 00006E24 DD 4E A0 752 LD C,(IX-96) + 00006E27 DD 46 A1 753 LD B,(IX-95) + 00006E2A 09 754 ADD HL,BC + 00006E2B 7E 755 LD A,(HL) + 00006E2C 23 756 INC HL + 00006E2D B6 757 OR (HL) + 00006E2E 28 0A 758 JR Z,?0038 + 00006E30 759 ?0040: + 00006E30 21 14 00 760 LD HL,20 + 00006E33 09 761 ADD HL,BC + 00006E34 56 762 LD D,(HL) + 00006E35 23 763 INC HL + 00006E36 66 764 LD H,(HL) + 00006E37 6A 765 LD L,D + 00006E38 18 E1 766 JR ?0045 + 00006E3A 767 ?0038: + 00006E3A 21 07 00 768 LD HL,7 + 00006E3D DD 4E 9E 769 LD C,(IX-98) + 00006E40 DD 46 9F 770 LD B,(IX-97) + 00006E43 09 771 ADD HL,BC + 00006E44 6E 772 LD L,(HL) + 00006E45 67 773 LD H,A + 00006E46 E5 774 PUSH HL + 00006E47 2A 41 87 775 LD HL,(trans) + 00006E4A C1 776 POP BC + 00006E4B 71 777 LD (HL),C + 00006E4C 23 778 INC HL + 00006E4D 70 779 LD (HL),B + 00006E4E 2A 41 87 780 LD HL,(trans) + 00006E51 23 781 INC HL + 00006E52 23 782 INC HL + 00006E53 E5 783 PUSH HL + 00006E54 CD 1D 6F 784 CALL LWRD ?0048 + 00006E57 E1 785 POP HL + 00006E58 71 786 LD (HL),C + 00006E59 23 787 INC HL + 00006E5A 70 788 LD (HL),B + 00006E5B 21 04 00 789 LD HL,4 + 00006E5E ED 4B 41 87 790 LD BC,(trans) + 00006E62 09 791 ADD HL,BC + 00006E63 E5 792 PUSH HL + 00006E64 21 07 00 793 LD HL,7 + 00006E67 DD 5E 9E 794 LD E,(IX-98) + 00006E6A DD 56 9F 795 LD D,(IX-97) + 00006E6D 19 796 ADD HL,DE + 00006E6E 5E 797 LD E,(HL) + 00006E6F 23 798 INC HL + 00006E70 56 799 LD D,(HL) + 00006E71 23 800 INC HL + 00006E72 4E 801 LD C,(HL) + 00006E73 23 802 INC HL + 00006E74 46 803 LD B,(HL) + 00006E75 EB 804 EX DE,HL + 00006E76 3E 10 805 LD A,16 + 00006E78 CD 31 6F 806 CALL LWRD ?0049 + 00006E7B E1 807 POP HL + 00006E7C 71 808 LD (HL),C + 00006E7D 23 809 INC HL + 00006E7E 70 810 LD (HL),B + 00006E7F 2A 41 87 811 LD HL,(trans) + 00006E82 4E 812 LD C,(HL) + 00006E83 23 813 INC HL + 00006E84 46 814 LD B,(HL) + 00006E85 21 11 00 815 LD HL,17 + 00006E88 DD 5E 02 816 LD E,(IX+2) + 00006E8B DD 56 03 817 LD D,(IX+3) + 00006E8E 19 818 ADD HL,DE + 00006E8F 5E 819 LD E,(HL) + 00006E90 23 820 INC HL + 00006E91 56 821 LD D,(HL) + 00006E92 CD 58 6F 822 CALL LWRD ?0051 + 00006E95 21 11 00 823 LD HL,17 + 00006E98 DD 5E 02 824 LD E,(IX+2) + 00006E9B DD 56 03 825 LD D,(IX+3) + 00006E9E 19 826 ADD HL,DE + 00006E9F 5E 827 LD E,(HL) + 00006EA0 23 828 INC HL + 00006EA1 56 829 LD D,(HL) + 00006EA2 CD 38 6F 830 CALL LWRD ?0050 + 00006EA5 21 11 00 831 LD HL,17 + 00006EA8 DD 5E 02 832 LD E,(IX+2) + 00006EAB DD 56 03 833 LD D,(IX+3) + 00006EAE 19 834 ADD HL,DE + 00006EAF 5E 835 LD E,(HL) + 00006EB0 23 836 INC HL + 00006EB1 56 837 LD D,(HL) + 00006EB2 CD 75 6F 838 CALL LWRD ?0052 + 00006EB5 21 11 00 839 LD HL,17 + 00006EB8 DD 4E 02 840 LD C,(IX+2) + 00006EBB DD 46 03 841 LD B,(IX+3) + 00006EBE 09 842 ADD HL,BC + 00006EBF 5E 843 LD E,(HL) + 00006EC0 23 844 INC HL + 00006EC1 56 845 LD D,(HL) + 00006EC2 21 11 00 846 LD HL,17 + 00006EC5 09 847 ADD HL,BC + 00006EC6 46 848 LD B,(HL) + 00006EC7 23 849 INC HL + 00006EC8 66 850 LD H,(HL) + 00006EC9 68 851 LD L,B + 00006ECA 01 1A 00 852 LD BC,26 + 00006ECD CD 8D 6F 853 CALL LWRD ?0054 + 00006ED0 21 14 00 854 LD HL,20 + 00006ED3 DD 4E A0 855 LD C,(IX-96) + 00006ED6 DD 46 A1 856 LD B,(IX-95) + 00006ED9 09 857 ADD HL,BC + 00006EDA E5 858 PUSH HL + 00006EDB CD B0 69 859 CALL LWRD ?0047 + 00006EDE EB 860 EX DE,HL + 00006EDF E1 861 POP HL + 00006EE0 73 862 LD (HL),E + 00006EE1 23 863 INC HL + 00006EE2 72 864 LD (HL),D + 00006EE3 21 14 00 865 LD HL,20 + 00006EE6 09 866 ADD HL,BC + 00006EE7 56 867 LD D,(HL) + 00006EE8 23 868 INC HL + 00006EE9 66 869 LD H,(HL) + 00006EEA 6A 870 LD L,D + 00006EEB DD 75 A0 871 LD (IX-96),L + 00006EEE DD 74 A1 872 LD (IX-95),H + 00006EF1 01 14 00 873 LD BC,20 + 00006EF4 09 874 ADD HL,BC + 00006EF5 AF 875 XOR A + 00006EF6 77 876 LD (HL),A + 00006EF7 23 877 INC HL + 00006EF8 77 878 LD (HL),A + 00006EF9 DD 6E A0 879 LD L,(IX-96) + 00006EFC DD 66 A1 880 LD H,(IX-95) + 00006EFF 70 881 LD (HL),B + 00006F00 21 0E 00 882 LD HL,14 + 00006F03 DD 4E A0 883 LD C,(IX-96) + 00006F06 DD 46 A1 884 LD B,(IX-95) + 00006F09 09 885 ADD HL,BC + 00006F0A 77 886 LD (HL),A + 00006F0B 23 887 INC HL + 00006F0C 77 888 LD (HL),A + 00006F0D 21 10 00 889 LD HL,16 + 00006F10 09 890 ADD HL,BC + 00006F11 77 891 LD (HL),A + 00006F12 23 892 INC HL + 00006F13 77 893 LD (HL),A + 00006F14 23 894 INC HL + 00006F15 77 895 LD (HL),A + 00006F16 23 896 INC HL + 00006F17 77 897 LD (HL),A + 00006F18 898 ?0037: + 00006F18 FD E1 899 POP IY + 00006F1A C3 A3 81 900 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00006F1D 901 ?0048: + 00006F1D 21 07 00 902 LD HL,7 + 00006F20 DD 4E 9E 903 LD C,(IX-98) + 00006F23 DD 46 9F 904 LD B,(IX-97) + 00006F26 09 905 ADD HL,BC + 00006F27 5E 906 LD E,(HL) + 00006F28 23 907 INC HL + 00006F29 56 908 LD D,(HL) + 00006F2A 23 909 INC HL + 00006F2B 4E 910 LD C,(HL) + 00006F2C 23 911 INC HL + 00006F2D 46 912 LD B,(HL) + 00006F2E EB 913 EX DE,HL + 00006F2F 3E 08 914 LD A,8 + 00006F31 915 ?0049: + 00006F31 CD 15 83 916 CALL LWRD ?SL_RSH_L03 + 00006F34 06 00 917 LD B,0 + 00006F36 4D 918 LD C,L + 00006F37 C9 919 RET + 00006F38 920 ?0050: + 00006F38 3E 00 921 LD A,BYTE3 Component_find + 00006F3A 21 D6 4D 922 LD HL,LWRD Component_find + 00006F3D CD FB 81 923 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006F40 EB 924 EX DE,HL + 00006F41 3E 00 925 LD A,BYTE3 Component_setlabel + 00006F43 21 A1 4C 926 LD HL,LWRD Component_setlabel + 00006F46 01 14 85 927 LD BC,?0005 + 00006F49 CD FB 81 928 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006F4C 21 04 00 929 LD HL,4 + 00006F4F ED 5B 41 87 930 LD DE,(trans) + 00006F53 19 931 ADD HL,DE + 00006F54 4E 932 LD C,(HL) + 00006F55 23 933 INC HL + 00006F56 46 934 LD B,(HL) + 00006F57 C9 935 RET + 00006F58 936 ?0051: + 00006F58 3E 00 937 LD A,BYTE3 Component_find + 00006F5A 21 D6 4D 938 LD HL,LWRD Component_find + 00006F5D CD FB 81 939 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006F60 EB 940 EX DE,HL + 00006F61 3E 00 941 LD A,BYTE3 Component_setlabel + 00006F63 21 A1 4C 942 LD HL,LWRD Component_setlabel + 00006F66 01 0C 85 943 LD BC,?0004 + 00006F69 CD FB 81 944 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006F6C 2A 41 87 945 LD HL,(trans) + 00006F6F 23 946 INC HL + 00006F70 23 947 INC HL + 00006F71 4E 948 LD C,(HL) + 00006F72 23 949 INC HL + 00006F73 46 950 LD B,(HL) + 00006F74 C9 951 RET + 00006F75 952 ?0052: + 00006F75 3E 00 953 LD A,BYTE3 Component_find + 00006F77 21 D6 4D 954 LD HL,LWRD Component_find + 00006F7A CD FB 81 955 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006F7D EB 956 EX DE,HL + 00006F7E 3E 00 957 LD A,BYTE3 Component_setlabel + 00006F80 21 A1 4C 958 LD HL,LWRD Component_setlabel + 00006F83 01 1A 85 959 LD BC,?0006 + 00006F86 C3 FB 81 960 JP LWRD ?BANK_CALL_DIRECT_L08 + 00006F89 961 ?0053: + 00006F89 42 962 LD B,D + 00006F8A 21 1A 00 963 LD HL,26 + 00006F8D 964 ?0054: + 00006F8D 09 965 ADD HL,BC + 00006F8E 4E 966 LD C,(HL) + 00006F8F 23 967 INC HL + 00006F90 46 968 LD B,(HL) + 00006F91 23 969 INC HL + 00006F92 7E 970 LD A,(HL) + 00006F93 69 971 LD L,C + 00006F94 60 972 LD H,B + 00006F95 C3 FB 81 973 JP LWRD ?BANK_CALL_DIRECT_L08 + 00006F98 974 ?0055: + 00006F98 3E 00 975 LD A,BYTE3 sprintf + 00006F9A 21 1B 70 976 LD HL,LWRD sprintf + 00006F9D C3 FB 81 977 JP LWRD ?BANK_CALL_DIRECT_L08 + 00006FA0 978 ?0056: + 00006FA0 FD 4E 12 979 LD C,(IY+18) + 00006FA3 FD 46 13 980 LD B,(IY+19) + 00006FA6 FD 6E 10 981 LD L,(IY+16) + 00006FA9 FD 66 11 982 LD H,(IY+17) + 00006FAC C3 47 82 983 JP LWRD ?SL_MOD_L03 + 00006FAF 984 ?0057: + 00006FAF FD 4E 12 985 LD C,(IY+18) + 00006FB2 FD 46 13 986 LD B,(IY+19) + 00006FB5 FD 6E 10 987 LD L,(IY+16) + 00006FB8 FD 66 11 988 LD H,(IY+17) + 00006FBB C3 98 82 989 JP LWRD ?SL_DIV_L03 + 00006FBE 990 ?0058: + 00006FBE FD 4E 12 991 LD C,(IY+18) + 00006FC1 FD 46 13 992 LD B,(IY+19) + 00006FC4 FD 6E 10 993 LD L,(IY+16) + 00006FC7 FD 66 11 994 LD H,(IY+17) + 00006FCA C3 1F 81 995 JP LWRD ?L_MUL_L03 + 00006FCD 996 ?0059: + 00006FCD 4D 997 LD C,L + 00006FCE 44 998 LD B,H + 00006FCF DD 5E A0 999 LD E,(IX-96) + 00006FD2 DD 56 A1 1000 LD D,(IX-95) + 00006FD5 3E 00 1001 LD A,BYTE3 _write + 00006FD7 21 72 72 1002 LD HL,LWRD _write + 00006FDA C3 FB 81 1003 JP LWRD ?BANK_CALL_DIRECT_L08 + 1004 RSEG CSTR + 0000850C 1005 ?0004: + 0000850C 42 61 72 63 6F 64 65 1006 DEFB 'Barcode' + 00008513 00 1007 DEFB 0 + 00008514 1008 ?0005: + 00008514 53 74 75 6B 73 1009 DEFB 'Stuks' + 00008519 00 1010 DEFB 0 + 0000851A 1011 ?0006: + 0000851A 50 72 69 6A 73 1012 DEFB 'Prijs' + 0000851F 00 1013 DEFB 0 + 00008520 1014 ?0014: + 00008520 00 1015 DEFB 0 + 00008521 1016 ?0021: + 00008521 2F 64 65 76 2F 70 72 1017 DEFB '/dev/printer' + 69 6E 74 65 72 + 0000852D 00 1018 DEFB 0 + 0000852E 1019 ?0029: + 0000852E 25 31 33 73 20 56 65 1020 DEFB '%13s Verkoopartikel |%7ld,%02ld' + 72 6B 6F 6F 70 61 72 + 74 69 6B 65 6C 20 20 + 7C 25 37 6C 64 2C 25 + 30 32 6C 64 + 0000854E 0D 0A 00 1021 DEFB 13,10,0 + 00008551 1022 ?0031: + 00008551 25 31 33 73 20 56 65 1023 DEFB '%13s Verkoopartikel' + 72 6B 6F 6F 70 61 72 + 74 69 6B 65 6C + 00008564 0D 0A 1024 DEFB 13,10 + 00008566 25 34 64 78 20 40 20 1025 DEFB '%4dx @ | %7ld,%02ld |%7ld,%02ld' + 7C 20 25 37 6C 64 2C + 25 30 32 6C 64 20 20 + 20 20 20 20 20 20 20 + 20 7C 25 37 6C 64 2C + 25 30 32 6C 64 + 0000858E 0D 0A 00 1026 DEFB 13,10,0 + 00008591 1027 ?0032: + 00008591 0D 0A 1028 DEFB 13,10 + 00008593 25 31 33 73 54 6F 74 1029 DEFB '%13sTotaal:%10s|%7ld,%02ld' + 61 61 6C 3A 25 31 30 + 73 7C 25 37 6C 64 2C + 25 30 32 6C 64 + 000085AD 0D 0A 0D 0A 0D 0A 00 1030 DEFB 13,10,13,10,13,10,0 + 1031 RSEG UDATA0 + 00008741 1032 trans: + 00008741 1033 DEFS 2 + 00000002 1034 END + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. +Hexadecimal [32-Bits] + +Symbol Table + + .__.ABS. = 00000000 G | 1 ?0000 00000096 R + 1 ?0001 0000009E R | 1 ?0002 000000AD R + 1 ?0003 00000111 R | 2 ?0004 00000000 R + 2 ?0005 00000008 R | 2 ?0006 0000000E R + 1 ?0007 0000013F R | 1 ?0008 00000256 R + 1 ?0009 0000013F R | 1 ?0010 0000013F R + 1 ?0011 0000016A R | 1 ?0012 00000151 R + 1 ?0013 00000160 R | 2 ?0014 00000014 R + 1 ?0015 0000024C R | 1 ?0016 000001DD R + 1 ?0017 000001FA R | 1 ?0018 0000021F R + 1 ?0019 0000026C R | 1 ?0020 000004B3 R + 2 ?0021 00000015 R | 1 ?0022 000003C8 R + 1 ?0023 000002DE R | 1 ?0024 000002E6 R + 1 ?0025 000002EF R | 1 ?0026 000003BC R + 1 ?0027 000002F9 R | 1 ?0028 00000322 R + 2 ?0029 00000022 R | 1 ?0030 0000038C R + 2 ?0031 00000045 R | 2 ?0032 00000085 R + 1 ?0033 00000456 R | 1 ?0034 0000043F R + 1 ?0035 00000443 R | 1 ?0036 000004C9 R + 1 ?0037 000005D2 R | 1 ?0038 000004F4 R + 1 ?0039 000004DB R | 1 ?0040 000004EA R + 1 ?0041 0000014B R | 1 ?0042 00000249 R + 1 ?0043 0000038A R | 1 ?0044 0000043C R + 1 ?0045 000004D5 R | 1 ?0046 0000006D R + 1 ?0047 0000006A R | 1 ?0048 000005D7 R + 1 ?0049 000005EB R | 1 ?0050 000005F2 R + 1 ?0051 00000612 R | 1 ?0052 0000062F R + 1 ?0053 00000643 R | 1 ?0054 00000647 R + 1 ?0055 00000652 R | 1 ?0056 0000065A R + 1 ?0057 00000669 R | 1 ?0058 00000678 R + 1 ?0059 00000687 R | ?BANK_CALL_DIR ******** GX + ?BANK_FAST_LEA ******** GX | ?BANK_LEAVE_DI ******** GX + ?CL64180B_4_06 ******** GX | ?ENT_AUTO_DIRE ******** GX + ?L_ADDASG_L03 ******** GX | ?L_MUL_L03 ******** GX + ?SL_DIV_L03 ******** GX | ?SL_MOD_L03 ******** GX + ?SL_RSH_L03 ******** GX | ?SS_CMP_L02 ******** GX + ?S_S_SWITCH_L0 ******** GX | Component_find ******** GX + Component_setl ******** GX | 1 Transaction_ha 00000075 GR + 1 Transaction_in 00000000 GR | _write ******** GX + atoi ******** GX | atol ******** GX + close ******** GX | free ******** GX + ioctl ******** GX | malloc ******** GX + open ******** GX | sprintf ******** GX + strcpy ******** GX | strlen ******** GX + 3 trans 00000000 GR + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. +Hexadecimal [32-Bits] + +Area Table + + 0 _DEFAULT size 0 flags 0 + 1 CODE size 697 flags 0 + 2 CSTR size A8 flags 0 + 3 UDATA0 size 2 flags 0 diff --git a/src/gui/trans.s01 b/src/gui/trans.s01 new file mode 100644 index 00000000..ed02df12 --- /dev/null +++ b/src/gui/trans.s01 @@ -0,0 +1,1034 @@ + NAME trans(17) + RSEG CODE(0) + RSEG CSTR(0) + RSEG UDATA0(0) + EXTERN Component_find + EXTERN Component_setlabel + PUBLIC Transaction_handler + PUBLIC Transaction_init + EXTERN _write + EXTERN atoi + EXTERN atol + EXTERN close + EXTERN free + EXTERN ioctl + EXTERN malloc + EXTERN open + EXTERN sprintf + EXTERN strcpy + EXTERN strlen + PUBLIC trans + EXTERN ?CL64180B_4_06_L00 + EXTERN ?SS_CMP_L02 + EXTERN ?SL_RSH_L03 + EXTERN ?L_MUL_L03 + EXTERN ?SL_DIV_L03 + EXTERN ?SL_MOD_L03 + EXTERN ?L_ADDASG_L03 + EXTERN ?S_S_SWITCH_L06 + EXTERN ?BANK_CALL_DIRECT_L08 + EXTERN ?BANK_LEAVE_DIRECT_L08 + EXTERN ?BANK_FAST_LEAVE_L08 + EXTERN ?ENT_AUTO_DIRECT_L09 + RSEG CODE +Transaction_init: + PUSH BC + PUSH DE + LD DE,8 + CALL LWRD ?0046 + LD (trans),HL + LD BC,6 + ADD HL,BC + PUSH HL + CALL LWRD ?0047 + LD C,L + LD B,H + POP HL + LD (HL),C + INC HL + LD (HL),B + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + LD DE,20 + ADD HL,DE + XOR A + LD (HL),A + INC HL + LD (HL),A + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + LD (HL),D + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + LD DE,14 + ADD HL,DE + XOR A + LD (HL),A + INC HL + LD (HL),A + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,16 + ADD HL,BC + LD (HL),A + INC HL + LD (HL),A + INC HL + LD (HL),A + INC HL + LD (HL),A + POP DE + POP BC + JP LWRD ?BANK_FAST_LEAVE_L08 +?0047: + LD DE,22 +?0046: + LD A,BYTE3 malloc + LD HL,LWRD malloc + JP LWRD ?BANK_CALL_DIRECT_L08 +Transaction_handler: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65438 + PUSH IY + LD HL,38 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD B,(HL) + LD (IX-98),B + INC HL + LD H,(HL) + LD (IX-97),H + LD HL,(trans) + LD A,L + OR H + JR NZ,?0001 +?0000: + LD A,BYTE3 Transaction_init + LD HL,LWRD Transaction_init + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0001: + LD L,B + LD H,(IX-97) + INC HL + INC HL + INC HL + LD A,16 + INC HL + XOR (HL) + DEC HL + OR (HL) + JR NZ,?0003 +?0002: + LD HL,7 + LD C,B + LD B,(IX-97) + ADD HL,BC + LD L,(HL) + LD H,A + PUSH HL + LD HL,(trans) + POP BC + LD (HL),C + INC HL + LD (HL),B + LD HL,(trans) + INC HL + INC HL + PUSH HL + CALL LWRD ?0048 + POP HL + LD (HL),C + INC HL + LD (HL),B + LD HL,4 + LD BC,(trans) + ADD HL,BC + PUSH HL + LD HL,7 + LD E,(IX-98) + LD D,(IX-97) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + INC HL + LD C,(HL) + INC HL + LD B,(HL) + EX DE,HL + LD A,16 + CALL LWRD ?0049 + POP HL + LD (HL),C + INC HL + LD (HL),B + LD HL,(trans) + LD C,(HL) + INC HL + LD B,(HL) + LD E,(IX+2) + LD D,(IX+3) + CALL LWRD ?0051 + LD E,(IX+2) + LD D,(IX+3) + CALL LWRD ?0050 + LD E,(IX+2) + LD D,(IX+3) + CALL LWRD ?0052 +?0003: + LD L,(IX-98) + LD H,(IX-97) + INC HL + INC HL + INC HL + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,36880 + LD A,128 + XOR H + LD H,A + SBC HL,BC + JP C,?0008 + LD L,(IX-98) + LD H,(IX-97) + INC HL + INC HL + INC HL + LD C,(HL) + INC HL + LD B,(HL) + LD HL,4114 + CALL LWRD ?SS_CMP_L02 + JP C,?0008 +?0010: +?0009: +?0007: + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B +?0041: + LD (IX-94),L + LD (IX-93),H +?0012: + LD HL,20 + LD C,(IX-94) + LD B,(IX-93) + ADD HL,BC + LD A,(HL) + INC HL + OR (HL) + JR Z,?0011 +?0013: + LD HL,20 + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + JR ?0041 +?0011: + LD HL,5 + LD C,(IX-98) + LD B,(IX-97) + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + LD HL,17 + LD E,(IX+2) + LD D,(IX+3) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + LD A,BYTE3 Component_find + LD HL,LWRD Component_find + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD (IX-96),L + LD (IX-95),H + LD BC,32 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + LD E,(IX+2) + LD D,(IX+3) + LD A,BYTE3 Component_setlabel + LD HL,LWRD Component_setlabel + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD BC,?0014 + LD E,(IX-96) + LD D,(IX-95) + LD A,BYTE3 Component_setlabel + LD HL,LWRD Component_setlabel + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD E,(IX-96) + LD C,E + LD D,(IX-95) + CALL LWRD ?0053 + LD L,(IX-98) + LD H,(IX-97) + INC HL + INC HL + INC HL + LD E,(HL) + INC HL + LD D,(HL) + CALL LWRD ?S_S_SWITCH_L06 + DEFW 4112 + DEFW 3 + DEFW ?0015 + DEFW ?0016 + DEFW ?0017 + DEFW ?0018 +?0016: + LD HL,32 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + LD E,(IX-94) + LD D,(IX-93) + LD A,BYTE3 strcpy + LD HL,LWRD strcpy + CALL LWRD ?BANK_CALL_DIRECT_L08 + JR ?0015 +?0017: + LD HL,14 + LD C,(IX-94) + LD B,(IX-93) + ADD HL,BC + PUSH HL + LD HL,32 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + LD A,BYTE3 atoi + LD HL,LWRD atoi + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD C,L + LD B,H + POP HL + JR ?0042 +?0018: + LD HL,32 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + LD A,BYTE3 atol + LD HL,LWRD atol + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD A,H + RLCA + SBC A,A + LD C,A + LD B,C + PUSH HL + LD HL,16 + LD E,(IX-94) + LD D,(IX-93) + ADD HL,DE + POP DE + LD (HL),E + INC HL + LD (HL),D + INC HL +?0042: + LD (HL),C + INC HL + LD (HL),B +?0015: + LD E,(IX+2) + LD C,E + LD D,(IX+3) + CALL LWRD ?0053 +?0008: + LD L,(IX-98) + LD H,(IX-97) + INC HL + INC HL + INC HL + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,4126 + AND A + SBC HL,BC + JP NZ,?0020 +?0019: + XOR A + LD (IX-84),A + LD (IX-83),A + LD (IX-82),A + LD (IX-81),A + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + PUSH HL + POP IY + LD HL,1 + PUSH HL + LD HL,?0021 + PUSH HL + LD A,BYTE3 open + LD HL,LWRD open + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + LD (IX-96),L + LD (IX-95),H + LD HL,8 + ADD HL,SP + PUSH HL + LD HL,0 + PUSH HL + LD L,(IX-96) + LD H,(IX-95) + PUSH HL + LD A,BYTE3 ioctl + LD HL,LWRD ioctl + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + POP AF + LD (IX-88),96 + LD (IX-87),0 + LD HL,8 + ADD HL,SP + PUSH HL + LD HL,1 + PUSH HL + LD L,(IX-96) + LD H,(IX-95) + PUSH HL + LD A,BYTE3 ioctl + LD HL,LWRD ioctl + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + POP AF +?0023: + PUSH IY + POP HL + LD A,L + OR H + JP Z,?0022 +?0024: + LD A,(IY+14) + OR (IY+15) + JP Z,?0026 +?0025: + LD A,1 + XOR (IY+14) + OR (IY+15) + JR NZ,?0028 +?0027: + LD L,A + LD H,A + PUSH HL + LD L,100 + PUSH HL + CALL LWRD ?0056 + PUSH BC + PUSH HL + LD L,A + LD H,A + PUSH HL + LD L,100 + PUSH HL + CALL LWRD ?0057 + PUSH BC + PUSH HL + PUSH IY + LD HL,?0029 + PUSH HL + LD HL,32 + ADD HL,SP + PUSH HL + CALL LWRD ?0055 + LD HL,14 + JR ?0043 +?0028: + LD HL,0 + PUSH HL + LD L,100 + PUSH HL + LD L,(IY+14) + LD H,(IY+15) + LD A,H + RLCA + SBC A,A + LD C,A + LD B,C + PUSH BC + PUSH HL + CALL LWRD ?0058 + CALL LWRD ?SL_MOD_L03 + PUSH BC + PUSH HL + LD HL,0 + PUSH HL + LD L,100 + PUSH HL + LD L,(IY+14) + LD H,(IY+15) + LD A,H + RLCA + SBC A,A + LD C,A + LD B,C + PUSH BC + PUSH HL + CALL LWRD ?0058 + CALL LWRD ?SL_DIV_L03 + PUSH BC + PUSH HL + LD HL,0 + PUSH HL + LD L,100 + PUSH HL + CALL LWRD ?0056 + PUSH BC + PUSH HL + LD HL,0 + PUSH HL + LD L,100 + PUSH HL + CALL LWRD ?0057 + PUSH BC + PUSH HL + LD L,(IY+14) + LD H,(IY+15) + PUSH HL + PUSH IY + LD HL,?0031 + PUSH HL + LD HL,42 + ADD HL,SP + PUSH HL + CALL LWRD ?0055 + LD HL,24 +?0043: + ADD HL,SP + LD SP,HL +?0030: + LD HL,16 + ADD HL,SP + PUSH HL + LD E,(IY+14) + LD D,(IY+15) + LD A,D + RLCA + SBC A,A + LD C,A + LD B,C + PUSH BC + PUSH DE + CALL LWRD ?0058 + EX DE,HL + POP HL + CALL LWRD ?L_ADDASG_L03 + LD HL,20 + ADD HL,SP + EX DE,HL + LD A,BYTE3 strlen + LD HL,LWRD strlen + CALL LWRD ?BANK_CALL_DIRECT_L08 + PUSH HL + LD HL,22 + ADD HL,SP + CALL LWRD ?0059 + POP AF +?0026: + LD L,(IY+20) + LD H,(IY+21) + PUSH HL + POP IY + JP LWRD ?0023 +?0022: + LD L,A + LD H,A + PUSH HL + LD L,100 + PUSH HL + LD C,(IX-82) + LD B,(IX-81) + LD L,(IX-84) + LD H,(IX-83) + CALL LWRD ?SL_MOD_L03 + PUSH BC + PUSH HL + LD L,A + LD H,A + PUSH HL + LD L,100 + PUSH HL + LD C,(IX-82) + LD B,(IX-81) + LD L,(IX-84) + LD H,(IX-83) + CALL LWRD ?SL_DIV_L03 + PUSH BC + PUSH HL + LD HL,?0014 + PUSH HL + PUSH HL + LD HL,?0032 + PUSH HL + LD HL,34 + ADD HL,SP + PUSH HL + CALL LWRD ?0055 + LD HL,16 + ADD HL,SP + LD SP,HL + LD HL,20 + ADD HL,SP + EX DE,HL + LD A,BYTE3 strlen + LD HL,LWRD strlen + CALL LWRD ?BANK_CALL_DIRECT_L08 + PUSH HL + LD HL,22 + ADD HL,SP + CALL LWRD ?0059 + POP AF + LD E,(IX-96) + LD D,(IX-95) + LD A,BYTE3 close + LD HL,LWRD close + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B +?0044: + PUSH HL + POP IY +?0034: + LD A,L + OR H + JR Z,?0033 +?0035: + PUSH IY + POP DE + LD A,BYTE3 free + LD HL,LWRD free + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD L,(IY+20) + LD H,(IY+21) + JR ?0044 +?0033: + LD HL,6 + LD BC,(trans) + ADD HL,BC + PUSH HL + CALL LWRD ?0047 + EX DE,HL + POP HL + LD (HL),E + INC HL + LD (HL),D + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + LD DE,20 + ADD HL,DE + XOR A + LD (HL),A + INC HL + LD (HL),A + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + LD (HL),D + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + LD DE,14 + ADD HL,DE + XOR A + LD (HL),A + INC HL + LD (HL),A + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,16 + ADD HL,BC + LD (HL),A + INC HL + LD (HL),A + INC HL + LD (HL),A + INC HL + LD (HL),A +?0020: + LD L,(IX-98) + LD H,(IX-97) + INC HL + INC HL + INC HL + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,4127 + AND A + SBC HL,BC + JP NZ,?0037 +?0036: + LD HL,6 + LD BC,(trans) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B +?0045: + LD (IX-96),L + LD (IX-95),H +?0039: + LD HL,20 + LD C,(IX-96) + LD B,(IX-95) + ADD HL,BC + LD A,(HL) + INC HL + OR (HL) + JR Z,?0038 +?0040: + LD HL,20 + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + JR ?0045 +?0038: + LD HL,7 + LD C,(IX-98) + LD B,(IX-97) + ADD HL,BC + LD L,(HL) + LD H,A + PUSH HL + LD HL,(trans) + POP BC + LD (HL),C + INC HL + LD (HL),B + LD HL,(trans) + INC HL + INC HL + PUSH HL + CALL LWRD ?0048 + POP HL + LD (HL),C + INC HL + LD (HL),B + LD HL,4 + LD BC,(trans) + ADD HL,BC + PUSH HL + LD HL,7 + LD E,(IX-98) + LD D,(IX-97) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + INC HL + LD C,(HL) + INC HL + LD B,(HL) + EX DE,HL + LD A,16 + CALL LWRD ?0049 + POP HL + LD (HL),C + INC HL + LD (HL),B + LD HL,(trans) + LD C,(HL) + INC HL + LD B,(HL) + LD HL,17 + LD E,(IX+2) + LD D,(IX+3) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + CALL LWRD ?0051 + LD HL,17 + LD E,(IX+2) + LD D,(IX+3) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + CALL LWRD ?0050 + LD HL,17 + LD E,(IX+2) + LD D,(IX+3) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + CALL LWRD ?0052 + LD HL,17 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + LD HL,17 + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,26 + CALL LWRD ?0054 + LD HL,20 + LD C,(IX-96) + LD B,(IX-95) + ADD HL,BC + PUSH HL + CALL LWRD ?0047 + EX DE,HL + POP HL + LD (HL),E + INC HL + LD (HL),D + LD HL,20 + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + LD (IX-96),L + LD (IX-95),H + LD BC,20 + ADD HL,BC + XOR A + LD (HL),A + INC HL + LD (HL),A + LD L,(IX-96) + LD H,(IX-95) + LD (HL),B + LD HL,14 + LD C,(IX-96) + LD B,(IX-95) + ADD HL,BC + LD (HL),A + INC HL + LD (HL),A + LD HL,16 + ADD HL,BC + LD (HL),A + INC HL + LD (HL),A + INC HL + LD (HL),A + INC HL + LD (HL),A +?0037: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0048: + LD HL,7 + LD C,(IX-98) + LD B,(IX-97) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + INC HL + LD C,(HL) + INC HL + LD B,(HL) + EX DE,HL + LD A,8 +?0049: + CALL LWRD ?SL_RSH_L03 + LD B,0 + LD C,L + RET +?0050: + LD A,BYTE3 Component_find + LD HL,LWRD Component_find + CALL LWRD ?BANK_CALL_DIRECT_L08 + EX DE,HL + LD A,BYTE3 Component_setlabel + LD HL,LWRD Component_setlabel + LD BC,?0005 + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,4 + LD DE,(trans) + ADD HL,DE + LD C,(HL) + INC HL + LD B,(HL) + RET +?0051: + LD A,BYTE3 Component_find + LD HL,LWRD Component_find + CALL LWRD ?BANK_CALL_DIRECT_L08 + EX DE,HL + LD A,BYTE3 Component_setlabel + LD HL,LWRD Component_setlabel + LD BC,?0004 + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,(trans) + INC HL + INC HL + LD C,(HL) + INC HL + LD B,(HL) + RET +?0052: + LD A,BYTE3 Component_find + LD HL,LWRD Component_find + CALL LWRD ?BANK_CALL_DIRECT_L08 + EX DE,HL + LD A,BYTE3 Component_setlabel + LD HL,LWRD Component_setlabel + LD BC,?0006 + JP LWRD ?BANK_CALL_DIRECT_L08 +?0053: + LD B,D + LD HL,26 +?0054: + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + JP LWRD ?BANK_CALL_DIRECT_L08 +?0055: + LD A,BYTE3 sprintf + LD HL,LWRD sprintf + JP LWRD ?BANK_CALL_DIRECT_L08 +?0056: + LD C,(IY+18) + LD B,(IY+19) + LD L,(IY+16) + LD H,(IY+17) + JP LWRD ?SL_MOD_L03 +?0057: + LD C,(IY+18) + LD B,(IY+19) + LD L,(IY+16) + LD H,(IY+17) + JP LWRD ?SL_DIV_L03 +?0058: + LD C,(IY+18) + LD B,(IY+19) + LD L,(IY+16) + LD H,(IY+17) + JP LWRD ?L_MUL_L03 +?0059: + LD C,L + LD B,H + LD E,(IX-96) + LD D,(IX-95) + LD A,BYTE3 _write + LD HL,LWRD _write + JP LWRD ?BANK_CALL_DIRECT_L08 + RSEG CSTR +?0004: + DEFB 'Barcode' + DEFB 0 +?0005: + DEFB 'Stuks' + DEFB 0 +?0006: + DEFB 'Prijs' + DEFB 0 +?0014: + DEFB 0 +?0021: + DEFB '/dev/printer' + DEFB 0 +?0029: + DEFB '%13s Verkoopartikel |%7ld,%02ld' + DEFB 13,10,0 +?0031: + DEFB '%13s Verkoopartikel' + DEFB 13,10 + DEFB '%4dx @ | %7ld,%02ld |%7ld,%02ld' + DEFB 13,10,0 +?0032: + DEFB 13,10 + DEFB '%13sTotaal:%10s|%7ld,%02ld' + DEFB 13,10,13,10,13,10,0 + RSEG UDATA0 +trans: + DEFS 2 + END diff --git a/src/gui/wnd.c b/src/gui/wnd.c index bb795a9b..ec269e84 100644 --- a/src/gui/wnd.c +++ b/src/gui/wnd.c @@ -1120,10 +1120,11 @@ void GUIgo(char* scr){ char buf,obuf; screenbuilder(global->root,scr); - while(read(global->lcd,&buf,1)==1); + /* commented by Nick while(read(global->lcd,&buf,1)==1); */ while(!global->willquit){ if(read(global->lcd,&buf,1)==1){ + printf("0x%02x\n", (int)buf); /* Nick */ if(buf!=0) global->root->handler(global->root,KEY_PRESSED,buf); else diff --git a/src/gui/wnd.c.org b/src/gui/wnd.c.org new file mode 100644 index 00000000..bb795a9b --- /dev/null +++ b/src/gui/wnd.c.org @@ -0,0 +1,1141 @@ +/************************************************ + * Graphical User Interface driver (GUI) * + * By J.W. Morsink for Retail Vision B.V. * + ************************************************/ + +#include +#include "..\libc\malloc-l.h" +#undef NULL +#define NULL 0 + +/*void *malloc(size_t size) + { + void *ptr; + + ptr = (void *)sbrk(size); + return (ptr == (void *)-1) ? NULL : ptr; + } + +void free(void *ptr) + { + } + +*/ +/*#define JOOST_DEBUG +/*#define STR_DEBUG*/ +/*#define MALLOC_DEBUG + +/************************************************ + * Global variables for GUI * + ************************************************/ + +struct Global_GUI* global; + +/************************************************ + * Graphics * + ************************************************/ + +void GraphicsOpen(){ + struct sgttyb temp; + char init[]={0x1B,'K'}; + + global->lcd=open("/dev/lcd0",O_RDWR); + gtty(global->lcd,&temp); + temp.sg_flags=RAW | UNBUFF; + stty(global->lcd,&temp); + + write(global->lcd,init,2); +} + +void GraphicsClose(){ + close(global->lcd); +} + +void Move(int x, int y){ + unsigned char cmd[]={0x1B,'S',0,0}; + cmd[2]=(unsigned char) (x); + cmd[3]=(unsigned char) (y); + write(global->lcd,cmd,4); +} + +void ClearRect(int sx, int sy){ + unsigned char cmd[]={0x1B,'C',0,0}; + cmd[2]=(unsigned char) (sx); + cmd[3]=(unsigned char) (sy); + write(global->lcd,cmd,4); +} + +void DrawRectNC(int sx, int sy){ + unsigned char cmd[]={0x1B,'N',0,0}; + cmd[2]=(unsigned char) (sx); + cmd[3]=(unsigned char) (sy); + write(global->lcd,cmd,4); +} + +void FillRect(int sx, int sy){ + unsigned char cmd[]={0x1B,'R',0,0}; + cmd[2]=(unsigned char) (sx); + cmd[3]=(unsigned char) (sy); + write(global->lcd,cmd,4); +} + +void FillRectNC(int sx, int sy){ + unsigned char cmd[]={0x1B,'F',0,0}; + cmd[2]=(unsigned char) (sx); + cmd[3]=(unsigned char) (sy); + write(global->lcd,cmd,4); +} + +void GrayRect(int sx,int sy){ + unsigned char cmd[]={0x1B,'h',0,0}; + cmd[2]=(unsigned char) (sx); + cmd[3]=(unsigned char) (sy); + write(global->lcd,cmd,4); +} + +void Text(char *s){ + int c=strlen(s); + write(global->lcd,s,c); +} + +void TouchRegion(int msg, int x, int y, int sx, int sy){ + char touch[]={0x1B,'Z',0,0,0,0,0}; + touch[2]=(unsigned char) (msg); + touch[3]=(unsigned char) (x); + touch[4]=(unsigned char) (y); + touch[5]=(unsigned char) (sx); + touch[6]=(unsigned char) (sy); + write(global->lcd,touch,7); +#ifdef JOOST_DEBUG + printf("Touch: %x,%x,%x,%x,%x\n",msg,x,y,sx,sy); fflush(stdout); +#endif +} + +void ClearScreen(){ + Move(0,0); + ClearRect(0,0x80); + TouchRegion(0,0,0,0,0x80); +} + +void EnableScreen(unsigned char c){ + char cmd[]={0x1B,'E',0}; + cmd[2]=c; + write(global->lcd,cmd,3); +} + +void grSetFont(int f){ + char cmd[]={0x1B,0}; + cmd[1]=f & 0xff; + write(global->lcd,cmd,2); +} + +/************************************************ + * Fonts * + ************************************************/ + +struct Font* fontSearch(int f){ + struct Font* current=global->firstfont; + while(current!=NULL && current->id!=f) + current=current->nextfont; + return current; +} + +void setCurrentFont(int f){ + if(fontSearch(f)!=NULL){ + grSetFont(f); + global->currentfont=fontSearch(f); + } +} + +void loadFont(int id,int (*sw)(char*),int (*sh)(char*),int sizedata, void* data){ + struct Font* font=(struct Font*) malloc(sizeof(struct Font)); +#ifdef MALLOC_DEBUG + printf("malloc: %x\n",font); fflush(stdout); +#endif + font->id=id; + font->stringwidth=sw; + font->stringheight=sh; + font->nextfont=NULL; + font->sizefontdata=sizedata; + font->fontdata=data; + if(global->firstfont==NULL){ + global->firstfont=font; + global->currentfont=font; + } + else + { + struct Font* current=global->firstfont; + while(current->nextfont!=NULL) + current=current->nextfont; + current->nextfont=font; + } +} + +int stringwidth(char *str,int extra){ + int w=0,i=0; + while(str[i]!=0x00){ + switch(str[i]){ + case 'i': + case 'I': + case '!': + w+=2; + break; + case 'l': + w+=3; + break; + case ',': + case '1': + case '.': + w+=4; + break; + case 'r': + case 'k': + case 'j': + w+=5; + break; + default: + w+=6; + } + i++; + w+=extra; + } + return w; +} + +int stringheight(char ch, int extra){ + if(ch<0x80) return 7+extra; + if(ch>=0xcc && ch<=0xdf) return 1+extra; +} + +int stringheight01(char* ch){ + return stringheight(ch[0],0); +} + +int stringheight2(char* ch){ + return stringheight(ch[0],5); +} + +int stringwidth0(char *str){ + return stringwidth(str,0); +} + +int stringwidth1(char *str){ + return stringwidth(str,2); +} + +int stringwidth2(char *str){ + return stringwidth(str,3); +} +/************************************************ + * Components * + ************************************************/ + +struct Component* Component_new(int x,int y,int sx,int sy){ + struct Component* this=(struct Component*) (malloc(sizeof(struct Component))); +#ifdef MALLOC_DEBUG + printf("malloc: %x\n",this); fflush(stdout); +#endif + + this->id=(++global->id); + this->x=x; + this->y=y; + this->sizex=sx; + this->sizey=sy; + this->state=0; + this->order=0; + this->font=0; + this->msg=0; + this->parent=NULL; + this->next_sibling=NULL; + this->first_child=NULL; + this->handler=NULL; + this->paint=NULL; + this->add=NULL; + this->sizexds=0; + this->xds=NULL; + this->label=NULL; + this->label2=NULL; + return this; +} + +void Component_setlabel(struct Component* this, char* s){ + int i=0; + while(s[i]!=0 && ilabel[i]=s[i]; + i++; + } + this->label[i]=0; +} + +void Component_add(struct Component* this, struct Component* comp){ + struct Component* current=this->first_child; + if(this->first_child==NULL){ + this->first_child=comp; + comp->next_sibling=NULL; + } + else + { + while(current->next_sibling!=NULL){ + current=current->next_sibling; + } + current->next_sibling=comp; + comp->next_sibling=NULL; + } + comp->parent=this; +} + +void Component_paint(struct Component* this){ + struct Component* current=this->first_child; + EnableScreen(0); + while(current!=NULL){ + current->paint(current); + current=current->next_sibling; + } + EnableScreen(1); +} + +void Component_findXY(struct Component* this, int* x, int* y){ + struct Component* current=this; + do{ + *x+=current->x; + *y+=current->y; + current=current->parent; + } while(current!=NULL); +} + +struct Component* Component_find(struct Component* this, int msg){ + struct Component* current=this->first_child; +#ifdef JOOST_DEBUG + printf("Find %x in %x:\n",msg, this->id); fflush(stdout); +#endif + while(current!=NULL){ +#ifdef JOOST_DEBUG + printf("Comp_find: %x, %x\n",msg, current->msg); fflush(stdout); +#endif + if(current->msg==msg) + return current; + current=current->next_sibling; + } + return NULL; +} + +struct Component* Component_delete(struct Component* this){ + struct Component* current=this->first_child; + int id=this->id; + if(this!=NULL){ +#ifdef JOOST_DEBUG + printf("Deleting component: %d\n",id); fflush(stdout); +#endif + while(current!=NULL){ + current=Component_delete(current); + } + if(this->parent!=NULL){ + if(this==this->parent->first_child) + this->parent->first_child=this->parent->first_child->next_sibling; + else{ + current=this->parent->first_child; + while(this!=current->next_sibling && current->next_sibling!=NULL) + current=current->next_sibling; + if(current->next_sibling!=NULL) + current->next_sibling=current->next_sibling->next_sibling; + } + } + current=this->next_sibling; + if(this->sizexds==sizeof(struct StringTableXDS)) + { + struct Component* par=this->parent; + struct StringTableXDS* stx=(struct StringTableXDS*) this->xds; + +#ifdef STR_DEBUG + printf("Stringtable @ %x freed!\n",stx->stringtabledata); fflush(stdout); +#endif + +#ifdef MALLOC_DEBUG + printf("free: %x\n",stx->stringtabledata); fflush(stdout); +#endif + free(stx->stringtabledata); +#ifdef MALLOC_DEBUG + printf("free: %x\n",stx->stringtable); fflush(stdout); +#endif + free(stx->stringtable); + + while((par!=NULL) && (par->sizexds!=sizeof(struct StringTableXDS))) + par=par->parent; + if(par!=NULL) + { + stx=(struct StringTableXDS*) par->xds; + global->stringtabledata=stx->stringtabledata; + global->stringtable=stx->stringtable; + } + } + if(this->sizexds>0){ +#ifdef MALLOC_DEBUG + printf("free: %x\n",this->xds); fflush(stdout); +#endif + free(this->xds); + } + if((this->state & STRING_FROMTABLE)==0 && this->label!=NULL){ +#ifdef MALLOC_DEBUG + printf("free: %x\n",this->label); fflush(stdout); +#endif + free(this->label); + } +#ifdef MALLOC_DEBUG + printf("free: %x\n",this); fflush(stdout); +#endif + + free(this); +#ifdef JOOST_DEBUG + printf("Deleted component: %d\n",id); fflush(stdout); +#endif + } + return current; +} + +void Component_delete_children(struct Component* this){ + struct Component* current=this->first_child; + while(current!=NULL) + current=Component_delete(current); +} + +void Component_changestate_children(struct Component* this, int andmask, int ormask, int xormask){ + struct Component* current=this->first_child; + while(current!=NULL){ + current->state&=(0xffff-andmask); + current->state|=ormask; + current->state^=xormask; + current=current->next_sibling; + } + fflush(stdout); +} + +void Component_linkstringtable(struct Component* this){ + struct Component* child=this->first_child; +#ifdef STR_DEBUG + printf("%d: %x -> %x\n",this->id,this->label-1,global->stringtable[(int) (this->label)-1]); fflush(stdout); +#endif + if(((int)(this->label))<0x1000 && ((int)(this->label))>0) + this->label=global->stringtable[(int) (this->label)-1]; + if(((int)(this->label2))<0x1000 && ((int)(this->label2))>0) + this->label2=global->stringtable[(int) (this->label2)-1]; + while(child!=NULL){ + Component_linkstringtable(child); + child=child->next_sibling; + } + +} + +/************************************************ + * Windows * + ************************************************/ + +void Window_handler (struct Component* this, int msg, int param){ + struct Component* current,current2; + int x=0,y=0; +#ifdef JOOST_DEBUG + printf("Message in window %d, Msg: %x, Param: %x\n",this->id,msg,param); fflush(stdout); +#endif + switch(msg){ + case KEY_PRESSED: + current=this->first_child; + while(current!=NULL) { + if((current->state & STATE_VISIBLE)==(STATE_VISIBLE)) + current->handler(current,msg,param); + current=current->next_sibling; + } + break; + case KEY_RELEASED: + current=this->first_child; + while(current!=NULL) { + if((current->state & STATE_VISIBLE)!=0){ + current->handler(current,msg,param); + current->handler(current,KEY_TYPED,param); + if((current->state & (STATE_ACTION | STATE_ENABLED))==(STATE_ACTION | STATE_ENABLED) && current->msg==param) + current=NULL; + } + if(current!=NULL) + current=current->next_sibling; + } + break; + case KEY_TYPED: + current=this; + if((current->state & STATE_VISIBLE)==(STATE_VISIBLE)){ + + if((current->state & STATE_ACTION)!=0 && current->msg==param){ + struct ActionXDS* act=(struct ActionXDS*) (current->xds); +#ifdef JOOST_DEBUG + printf("Before actionhandler...\n"); +#endif + act->actionhandler(current); + if((act->action & 0xff00)==0){ + current=NULL; + } +#ifdef JOOST_DEBUG + printf("After actionhandler...\n"); +#endif + } + } + if(current!=NULL) + current=current->next_sibling; + + break; + case WND_REDRAW: + this->paint(this); + break; + case WND_CLOSE: + this->state=this->state & (0xffff-(STATE_VISIBLE | STATE_ENABLED)); + Component_findXY(this,&x,&y); + TouchRegion(0,x,y,this->sizex,this->sizey); + this->parent->handler(this->parent,WND_REDRAW,0); + break; + case WND_DESTROY: + current=this->parent; + Component_delete(this); + current->handler(current,WND_REDRAW,0); + break; + case WND_BROADCAST: + current=this->first_child; + while(current!=NULL){ + if(current!=(struct Component*) (param) && (current->state & STATE_FOCUS)!=0) + current->handler(current,CMP_BROADCAST,param); + current=current->next_sibling; + } + break; + case APP_QUIT: + if(this->parent==NULL) + global->willquit=1; + else if((this->state & STATE_APPLICATION)==0) + this->parent->handler(this->parent,APP_QUIT,param); + else{ + current=this->parent; + current->state|=STATE_VISIBLE | STATE_ENABLED; + Component_changestate_children(current,0,STATE_VISIBLE,0); + this->handler(this,WND_DESTROY,0); + } + break; + } +} + +void Window_paint(struct Component* this){ + int x=0,y=0; + struct Component* current; + if(global->currentfont->id!=this->font) + setCurrentFont(this->font); + if((this->state & STATE_VISIBLE)!=0){ + Component_findXY(this,&x,&y); + + EnableScreen(0); + Move(x,y); + ClearRect(this->sizex,this->sizey); + TouchRegion(0,x,y,this->sizex,this->sizey); + Move(x,y+global->currentfont->stringheight(this->label)+4); + DrawRectNC(this->sizex,this->sizey-global->currentfont->stringheight(this->label)-4); + Move(x,y); + FillRect(this->sizex,global->currentfont->stringheight(this->label)+5); + Move(x+2,y+14); /* Nick 2); */ + Text(this->label); + Component_paint(this); + } +} + +void Root_paint(struct Component* this){ + EnableScreen(0); + Move(0,0); + ClearRect(0,0x80); + GrayRect(0,0x80); + TouchRegion(0,0,0,0,0x80); + + Component_paint(this); +/* EnableScreen(0); + Window_paint(this); + EnableScreen(1);*/ +} + +void Window_add(struct Component* this, struct Component* comp){ + Component_add(this,comp); +} + +struct Component* Window_new(int x,int y,int sx,int sy){ + struct Component* this=Component_new(x,y,sx,sy); + this->handler=Window_handler; + this->paint=Window_paint; + this->add=Window_add; + return this; +} + +/************************************************ + * Buttons * + ************************************************/ + +void Button_handler(struct Component* this, int msg, int param){ + Window_handler(this,msg,param); + if(msg==KEY_TYPED && this->msg==param && (this->state & (STATE_VISIBLE | STATE_ENABLED))!=0){ + this->parent->handler(this->parent, CMP_ACTION, param); + if((this->state & STATE_CASTING)!=0) + this->parent->handler(this->parent, WND_BROADCAST, this->msg); + } + if(msg==CMP_ACTION) + this->parent->handler(this->parent, CMP_ACTION, param); +} + +void Button_drawtext(struct Component* this, int x, int y){ + if((this->state & STYLE_MULTILINE)!=0){ + Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-2*global->currentfont->stringheight(this->label))/2+12); /* Nick +7 */ + Text(this->label); + Move(x+(this->sizex-global->currentfont->stringwidth(this->label2))/2,y+(this->sizey)/2+10); /* Nick 1); */ + Text(this->label2); + } else { + Move(x+(this->sizex-global->currentfont->stringwidth(this->label))/2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+13); /* Nick 1); */ + Text(this->label); + } +#ifdef STR_DEBUG + printf("Drawtext (%d): ""%s"" @ %x\n",this->id,this->label,this->label); fflush(stdout); +#endif +} + +void Button_paint(struct Component* this){ + int x=0, y=0; + struct Component* current; + if(global->currentfont->id!=this->font) + setCurrentFont(this->font); + if((this->state & STATE_VISIBLE)!=0){ + Component_findXY(this,&x,&y); + Move(x,y); + ClearRect(this->sizex,this->sizey); + TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey); + + if( (this->state & (STATE_ENABLED | STYLE_INVERTED))!=0 && (this->state & (STATE_ENABLED | STYLE_INVERTED))!=(STATE_ENABLED | STYLE_INVERTED) ) + FillRectNC(this->sizex,this->sizey); + else + DrawRectNC(this->sizex,this->sizey); + Button_drawtext(this,x,y); + } +} + +void Button_add(struct Component* this, struct Component* comp){ + return; +} + +struct Component* Button_new(int x, int y, int sx, int sy, int msg){ + struct Component* this=Component_new(x,y,sx,sy); + this->state|=STATE_ENABLED | STATE_VISIBLE; + this->msg=msg; + this->handler=Button_handler; + this->paint=Button_paint; + this->add=Button_add; + + return this; +} + +/*void Numpad(struct Component* this, int x, int y){ + int i; + char s[2]={0,0}; + struct Component* button; + for(i=0; i<9; i++){ + s[0]=0x31+(char) i; + button=Button_new(x+(i%3)*0x18,y+0x30-(i/3)*0x18,0x16,0x16,i+0x31); + Component_setlabel(button,s); + button->state|=STATE_CASTING; + this->add(this,button); + } + button=Button_new(x+0x18,y+0x48,0x16,0x16,0x30); + Component_setlabel(button,"0"); + button->state|=STATE_CASTING; + this->add(this,button); + + button=Button_new(x+0x30,y+0x48,0x16,0x16,0x08); + Component_setlabel(button,"CE"); + button->state|=STATE_CASTING; + this->add(this,button); +}*/ + +/************************************************ + * Toggle-buttons * + ************************************************/ + +void ToggleButton_handler(struct Component* this, int msg, int param){ + Window_handler(this,msg,param); + if(msg==KEY_TYPED && this->msg==param && (this->state & (STATE_VISIBLE | STATE_ENABLED))!=0){ + this->state^=STATE_CHECKED; + this->parent->handler(this->parent, CMP_STATECHANGE, param); + this->handler(this, WND_REDRAW, 0); + if((this->state & STATE_CASTING)!=0) + this->parent->handler(this->parent, WND_BROADCAST, this->msg); + } + if(msg==CMP_ACTION) + this->parent->handler(this->parent, CMP_ACTION, param); +} + +void ToggleButton_paint(struct Component* this){ + int x=0, y=0; + struct Component* current; + if(global->currentfont->id!=this->font) + setCurrentFont(this->font); + if((this->state & STATE_VISIBLE)!=0){ + Component_findXY(this,&x,&y); + Move(x,y); + ClearRect(this->sizex,this->sizey); + if((this->state & STATE_ENABLED)!=0 && (this->state & STATE_CHECKED)!=0){ + FillRectNC(this->sizex,this->sizey); + TouchRegion(this->msg,x,y,this->sizex,this->sizey); + }else{ + DrawRectNC(this->sizex,this->sizey); + TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey); + } + Button_drawtext(this,x,y); + } +} + +struct Component* ToggleButton_new(int x, int y, int sx, int sy, int msg){ + struct Component* this=Component_new(x,y,sx,sy); + this->state|=STATE_ENABLED | STATE_VISIBLE | STATE_CHECKED; + this->msg=msg; + this->handler=ToggleButton_handler; + this->paint=ToggleButton_paint; + this->add=Button_add; + + return this; +} + +/************************************************ + * Dialogs * + ************************************************/ + +void Dialog_handler(struct Component* this, int msg, int param){ + Window_handler(this,msg,param); + if(msg==CMP_ACTION && param==0xff){ + if((this->state & STYLE_SELFDESTRUCT)!=0) + this->handler(this,WND_DESTROY,0); + else + this->handler(this,WND_CLOSE,0); + this->parent->handler(this->parent, DLG_OK, this->msg); + } + if(msg==CMP_ACTION && param==0xfe){ + if((this->state & STYLE_SELFDESTRUCT)!=0) + this->handler(this,WND_DESTROY,0); + else + this->handler(this,WND_CLOSE,0); + this->parent->handler(this->parent, DLG_CANCEL, this->msg); + + } +} + +struct Component* Dialog_new(int x, int y, int sx, int sy, int msg){ + struct Component* ok; + struct Component* this=Component_new(x,y,sx,sy); + this->state|=STATE_VISIBLE; + this->msg=msg; + this->handler=Dialog_handler; + this->paint=Window_paint; + this->add=Window_add; + + ok=Button_new(sx-0x30,sy-0x1c,0x28,0x14,0xff); + ok->label=(char*) malloc(3); + Component_setlabel(ok,"OK"); + this->add(this,ok); + + ok=Button_new(sx-0x30,sy-0x38,0x28,0x14,0xfe); /*Cancel*/ + ok->label=(char*) malloc(7); + Component_setlabel(ok,"Cancel"); + this->add(this,ok); + + return this; +} + +/************************************************ + * Displays * + ************************************************/ +void Display_handler(struct Component* this, int msg, int param){ + Button_handler(this,msg,param); + if(msg==CMP_BROADCAST && (this->state & STATE_FOCUS)!=0){ +#ifdef JOOST_DEBUG + printf("strlen = %d->",strlen(this->label)); fflush(stdout); +#endif + if(param==0x08){ + if(strlen(this->label)!=0) + this->label[strlen(this->label)-1]=0; + }else{ + this->label[strlen(this->label)+1]=0; + this->label[strlen(this->label)]=(char) param; + } +#ifdef JOOST_DEBUG + printf("%d\n",strlen(this->label)); fflush(stdout); +#endif + this->handler(this,WND_REDRAW,0); + } +} + +void Display_paint(struct Component* this){ + int x=0, y=0; + struct Component* current; + char pwd[64]; + if(global->currentfont->id!=this->font) + setCurrentFont(this->font); + if((this->state & STATE_VISIBLE)!=0){ + Component_findXY(this,&x,&y); + Move(x,y); + ClearRect(this->sizex,this->sizey); + TouchRegion((this->state & STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey); + + if( (this->state & STYLE_INVERTED)==0) + FillRectNC(this->sizex,this->sizey); + else + DrawRectNC(this->sizex,this->sizey); + Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+7); + if(this->state & STYLE_PASSWORD){ + int i; + for(i=0; ilabel); i++) + pwd[i]='*'; + pwd[i]=0; + Text(pwd); + }else + Text(this->label); + +/* Component_findXY(this,&x,&y); + + Move(x,y); + ClearRect(this->sizex,this->sizey); + + FillRectNC(this->sizex,this->sizey); + Move(x+2,y+(this->sizey-global->currentfont->stringheight(this->label))/2+12); /x Nick +7 x/ + Text(this->label); + TouchRegion((this->state&STATE_ENABLED)?this->msg:0,x,y,this->sizex,this->sizey); +*/ + } +} + +struct Component* Display_new(int x, int y, int sx, int sy, int msg){ + struct Component* this=Button_new(x,y,sx,sy,msg); + this->state|=STATE_FOCUS; + Component_setlabel(this,""); + this->paint=Display_paint; + this->handler=Display_handler; + return this; +} + +/************************************************ + * Labels * + ************************************************/ +void Label_handler(struct Component* this, int msg, int param){ + return; +} + +void Label_paint(struct Component* this){ + int x=0, y=0; + if(global->currentfont->id!=this->font) + setCurrentFont(this->font); + if((this->state & STATE_VISIBLE)!=0){ + Component_findXY(this,&x,&y); + Button_drawtext(this,x,y); + } +} + +struct Component* Label_new(int x, int y, int sx, int sy,char* l){ + struct Component* comp=Component_new(x,y,sx,sy); + comp->label=l; + comp->state=STATE_VISIBLE; + comp->handler=Label_handler; + comp->paint=Label_paint; + comp->add=Button_add; + return comp; +} + /************************************************ + * Implementation * + ************************************************/ +/* +void ScreenDialog_handler(struct Component* this, int msg, int param){ + char cmd[]={0x1B,'V',0}; + Dialog_handler(this,msg,param); + if(msg==CMP_ACTION){ + if(param=='U') + cmd[2]=0; + else if(param=='D') + cmd[2]=1; + else + return; + write(global->lcd,cmd,3); + } +} + +struct Component* ScreenDialog_new(int x, int y, int sx, int sy, int msg){ + struct Component* button; + struct Component* this=Dialog_new(x,y,sx,sy,msg); + + button=Button_new(0x04,0x10,0x20,0x14,'U'); + Component_setlabel(button,"Up"); + this->add(this,button); + + button=Button_new(0x04,0x28,0x20,0x14,'D'); + Component_setlabel(button,"Down"); + this->add(this,button); + + this->handler=ScreenDialog_handler; + + return this; +} +*/ +void rootWindow_handler(struct Component* this, int msg, int param){ + struct Component* dummy; + Window_handler(this,msg,param); +} + + +void screenbuilder(struct Component* root, char* filename){ + struct Component* subw; + struct ActionXDS* action; + int mode; + int fh,rd; + char buf[SIZE_SCRBLD_RECORD]; + long l; + int xs,ys; + xs=0x2b; + ys=0x1a; + buf[0]=0; + fh=open(filename,O_RDONLY); + do{ + char comp=0; + if(buf[0]=='s'){ /* Change size */ + xs=*((int*)(buf+0x1)); + ys=*((int*)(buf+0x3)); + } + + if(buf[0]=='B' || buf[0]=='M'){ /* Button, Multi-line button */ + subw=Button_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]); + if(buf[0]=='M') subw->state|=STYLE_MULTILINE; + comp=1; + } + if(buf[0]=='T'){ /* Toggle-button */ + subw=ToggleButton_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]); + comp=1; + } + if(buf[0]=='D'){ /* Display button */ + subw=Display_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf[5]); + comp=1; + } + if(buf[0]=='L'){ /* Label */ + subw=Label_new(buf[1]*xs,buf[2]*ys,buf[3]*xs-3,buf[4]*ys-3,buf+0x12); + comp=1; + } + if(buf[0]=='A'){ + struct ActionXDS a; + root->xds=&a; + a.action=*((int*)(buf+0x6)); + a.wParam=*((int*)(buf+0x8)); + a.lParam=*((long*)(buf+0xa)); + root_actionhandler(root); + } + + if(buf[0]=='S'){ + struct StringTableXDS* stx; + read_stringtable(fh,buf); + root->xds=(void*) malloc(sizeof(struct StringTableXDS)); +#ifdef MALLOC_DEBUG + printf("malloc: %x\n",root->xds); fflush(stdout); +#endif + + stx=(struct StringTableXDS*) root->xds; + root->sizexds=sizeof(struct StringTableXDS); + stx->stringtable=global->stringtable; + stx->stringtabledata=global->stringtabledata; +#ifdef STR_DEBUG + printf("Stringtable created @ %x\n",stx->stringtabledata); fflush(stdout); +#endif + comp=0; + } + if(comp!=0){ + if((buf[6] | buf[7])!=0){ + subw->state|=STATE_ACTION; + subw->sizexds=sizeof(struct ActionXDS); + subw->xds=(void*) malloc(sizeof(struct ActionXDS)); +#ifdef MALLOC_DEBUG + printf("malloc Action: %x\n",subw->xds); fflush(stdout); +#endif + + action=(struct ActionXDS*) (subw->xds); + action->actionhandler=root_actionhandler; + action->action=*((int*)(buf+0x6)); + action->wParam=*((int*)(buf+0x8)); + action->lParam=*((long*)(buf+0xa)); + } + if((buf[0x0e] | buf[0x0f])!=0) + subw->state=*((int*)(buf+0x0e)); + subw->font=*((int*)(buf+0x10)); + + subw->label=(char*) (*((int*) (buf+0x12)) & 0x0fff); + if(subw->label==NULL) { + subw->label=(char*) malloc(LABEL_LENGTH); +#ifdef MALLOC_DEBUG + printf("malloc: %x\n",subw->label); fflush(stdout); +#endif + subw->label[0]=0; + } + else + subw->state|=STRING_FROMTABLE; + + if((*((int*) (buf+0x12)) &0xf000)>0x1000) + subw->label2=(char*)((*((int*) (buf+0x12)) & 0x0fff)+1); + + root->add(root,subw); + } + + rd=read(fh,buf,SIZE_SCRBLD_RECORD); + } while(rd==SIZE_SCRBLD_RECORD); + close(fh); + Component_linkstringtable(root); + root->paint(root); +} + +void root_actionhandler(struct Component* this){ + struct ActionXDS *act; + struct Component* subw; + char filename[]={'/','w','n','d','/','0','0','0','0','.','s','c','r',0}; /* Nick added /wnd/ */ + + act=(struct ActionXDS*) (this->xds); +#ifdef JOOST_DEBUG + printf("0x%x: (0x%x, 0x%x, 0x%lx)",act, act->action, act->wParam, act->lParam); +#endif + if(act->action==0x0001){ /*QUIT*/ + this->handler(this,APP_QUIT,0); + } + if((act->action & 0xfffe)==0x0002){ /*Open Screen*/ + Component_changestate_children(this->parent,STATE_VISIBLE,0,0); + subw=Window_new(0,0,this->parent->sizex,this->parent->sizey); + subw->state=STATE_VISIBLE | STATE_ENABLED; + if((act->action & 1)!=0) + subw->state|=STATE_APPLICATION; + subw->handler=rootWindow_handler; + subw->paint=Root_paint; + filename[5]=(char) ((act->lParam) &0xff); /* Nick 5 formerly 0 */ + filename[6]=(char) ((act->lParam>>8) &0xff); /* Nick 6 formerly 1 */ + filename[7]=(char) ((act->lParam>>16) &0xff); /* Nick 7 formerly 2 */ + filename[8]=(char) ((act->lParam>>24) &0xff); /* Nick 8 formerly 3 */ + screenbuilder(subw,filename); + this->parent->add(this->parent,subw); + } + if(act->action==0x0004) { /* Open MessageBox */ + /*Component_changestate_children(this->parent,0,0,0);*/ + struct Component* label; + int i; + subw=Dialog_new(0x05,0x05,this->parent->sizex-0x0a,this->parent->sizey-0x0a,1); + subw->state=STATE_VISIBLE | STATE_ENABLED | STYLE_SELFDESTRUCT; + subw->font=0x0030; + for(i=0; i<(act->wParam>>12)&0x0f; i++){ + label=Label_new(0x08,0x14+i*0x0c,(subw->sizex & 0xff)-0x10,0x10,global->stringtable[(act->wParam&0xfff)+i-1]); + label->font=0x0030; + subw->add(subw,label); + } + Component_setlabel(subw,"Message Box"); + Component_find(subw,0xff)->font=0x0030; + Component_delete(Component_find(subw,0xfe)); + this->parent->add(this->parent,subw); + this->parent->handler(this->parent,WND_REDRAW,0); + } +#ifdef JOOST_DEBUG + printf("Before external handler...\n"); fflush(stdout); +#endif + if(global->actionhandler!=NULL) + global->actionhandler(this); + +#ifdef JOOST_DEBUG + printf("After external handler...\n"); fflush(stdout); +#endif +} + +void read_stringtable(int fh,char* buf){ + int siz,bsiz; + int i=0,j=0; + char **ptrs; + char *rawdata; + + siz=*((int*) (buf+0x01)); + bsiz=*((int*) (buf+0x03)); +#ifdef STR_DEBUG + printf("%d %d\n",siz,bsiz); +#endif + + ptrs=(char**) malloc(sizeof(char*)*siz); +#ifdef MALLOC_DEBUG + printf("malloc: %x\n",ptrs); fflush(stdout); +#endif + + rawdata=(char*) malloc(bsiz); +#ifdef MALLOC_DEBUG + printf("malloc: %x\n",rawdata); fflush(stdout); +#endif + + read(fh,rawdata,bsiz); + while(istringtabledata=rawdata; + global->stringtable=ptrs; +#ifdef STR_DEBUG + for(i=0; i""%s""\n",i,global->stringtable[i],global->stringtable[i]); + fflush(stdout); +#endif + +} + +struct Global_GUI* gui_globals(){ + return global; +} + + +void GUIinit(void){ + global=(struct Global_GUI*) malloc(sizeof(struct Global_GUI)); +#ifdef MALLOC_DEBUG + printf("malloc: %x\n",global); fflush(stdout); +#endif + + global->id=0; + global->willquit=0; + global->currentfont=NULL; + global->firstfont=NULL; + global->stringtable=NULL; + global->stringtabledata=NULL; + global->actionhandler=NULL; + GraphicsOpen(); + loadFont(0x0030,stringwidth0,stringheight01,0,NULL); + loadFont(0x0031,stringwidth1,stringheight01,0,NULL); + loadFont(0x0032,stringwidth2,stringheight2,0,NULL); + global->root=Window_new(0x0,0x0,0x00,0x80); + global->root->state=STATE_VISIBLE; + global->root->handler=rootWindow_handler; + global->root->paint=Root_paint; +} + +void GUIunit(void){ + Component_delete(global->root); + ClearScreen(); + GraphicsClose(); +} + +void GUIgo(char* scr){ + char buf,obuf; + screenbuilder(global->root,scr); + + while(read(global->lcd,&buf,1)==1); + + while(!global->willquit){ + if(read(global->lcd,&buf,1)==1){ + if(buf!=0) + global->root->handler(global->root,KEY_PRESSED,buf); + else + global->root->handler(global->root,KEY_RELEASED,obuf); + obuf=buf; + } + } +} + +/*void main(void){ + GUIinit(); + GUIgo(); + GUIunit(); +}*/ + diff --git a/src/gui/wnd.lst b/src/gui/wnd.lst new file mode 100644 index 00000000..17aae1ea --- /dev/null +++ b/src/gui/wnd.lst @@ -0,0 +1,5341 @@ + 1 NAME wnd(17) + 2 RSEG CODE(0) + 3 RSEG CSTR(0) + 4 RSEG CONST(0) + 5 RSEG UDATA0(0) + 6 PUBLIC Button_add + 7 PUBLIC Button_drawtext + 8 PUBLIC Button_handler + 9 PUBLIC Button_new + 10 PUBLIC Button_paint + 11 PUBLIC ClearRect + 12 PUBLIC ClearScreen + 13 PUBLIC Component_add + 14 PUBLIC Component_changestate_children + 15 PUBLIC Component_delete + 16 PUBLIC Component_delete_children + 17 PUBLIC Component_find + 18 PUBLIC Component_findXY + 19 PUBLIC Component_linkstringtable + 20 PUBLIC Component_new + 21 PUBLIC Component_paint + 22 PUBLIC Component_setlabel + 23 PUBLIC Dialog_handler + 24 PUBLIC Dialog_new + 25 PUBLIC Display_handler + 26 PUBLIC Display_new + 27 PUBLIC Display_paint + 28 PUBLIC DrawRectNC + 29 PUBLIC EnableScreen + 30 PUBLIC FillRect + 31 PUBLIC FillRectNC + 32 PUBLIC GUIgo + 33 PUBLIC GUIinit + 34 PUBLIC GUIunit + 35 PUBLIC GraphicsClose + 36 PUBLIC GraphicsOpen + 37 PUBLIC GrayRect + 38 PUBLIC Label_handler + 39 PUBLIC Label_new + 40 PUBLIC Label_paint + 41 PUBLIC Move + 42 PUBLIC Root_paint + 43 PUBLIC Text + 44 PUBLIC ToggleButton_handler + 45 PUBLIC ToggleButton_new + 46 PUBLIC ToggleButton_paint + 47 PUBLIC TouchRegion + 48 PUBLIC Window_add + 49 PUBLIC Window_handler + 50 PUBLIC Window_new + 51 PUBLIC Window_paint + 52 EXTERN _read + 53 EXTERN _write + 54 EXTERN close + 55 EXTERN fflush + 56 PUBLIC fontSearch + 57 EXTERN free + 58 PUBLIC global + 59 PUBLIC grSetFont + 60 PUBLIC gui_globals + 61 EXTERN ioctl + 62 PUBLIC loadFont + 63 EXTERN malloc + 64 EXTERN open + 65 EXTERN printf + 66 PUBLIC read_stringtable + 67 PUBLIC rootWindow_handler + 68 PUBLIC root_actionhandler + 69 PUBLIC screenbuilder + 70 PUBLIC setCurrentFont + 71 EXTERN stdout + 72 PUBLIC stringheight + 73 PUBLIC stringheight01 + 74 PUBLIC stringheight2 + 75 PUBLIC stringwidth + 76 PUBLIC stringwidth0 + 77 PUBLIC stringwidth1 + 78 PUBLIC stringwidth2 + 79 EXTERN strlen + 80 EXTERN ?CL64180B_4_06_L00 + 81 EXTERN ?SS_RSH_L02 + 82 EXTERN ?SS_DIV_L02 + 83 EXTERN ?S_MUL_L02 + 84 EXTERN ?SS_CMP_L02 + 85 EXTERN ?SL_RSH_L03 + 86 EXTERN ?C_V_SWITCH_L06 + 87 EXTERN ?S_V_SWITCH_L06 + 88 EXTERN ?BANK_CALL_DIRECT_L08 + 89 EXTERN ?BANK_LEAVE_DIRECT_L08 + 90 EXTERN ?BANK_FAST_LEAVE_L08 + 91 EXTERN ?ENT_PARM_DIRECT_L09 + 92 EXTERN ?ENT_AUTO_DIRECT_L09 + 93 RSEG CODE + 00000000 94 GraphicsOpen: + 00000000 CD 00 00 95 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000003 F8 FF 96 DEFW 65528 + 00000005 21 06 00 97 LD HL,6 + 00000008 39 98 ADD HL,SP + 00000009 EB 99 EX DE,HL + 0000000A 21 00 00 100 LD HL,?0000 + 0000000D 01 02 00 101 LD BC,2 + 00000010 ED B0 102 LDIR + 00000012 2A 00 00 103 LD HL,(global) + 00000015 23 104 INC HL + 00000016 23 105 INC HL + 00000017 E5 106 PUSH HL + 00000018 03 107 INC BC + 00000019 03 108 INC BC + 0000001A C5 109 PUSH BC + 0000001B 01 00 00 110 LD BC,?0001 + 0000001E C5 111 PUSH BC + 0000001F 3E 00 112 LD A,BYTE3 open + 00000021 21 00 00 113 LD HL,LWRD open + 00000024 CD 00 00 114 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000027 F1 115 POP AF + 00000028 F1 116 POP AF + 00000029 4D 117 LD C,L + 0000002A 44 118 LD B,H + 0000002B E1 119 POP HL + 0000002C 71 120 LD (HL),C + 0000002D 23 121 INC HL + 0000002E 70 122 LD (HL),B + 0000002F 21 00 00 123 LD HL,0 + 00000032 39 124 ADD HL,SP + 00000033 E5 125 PUSH HL + 00000034 21 00 00 126 LD HL,0 + 00000037 E5 127 PUSH HL + 00000038 2A 00 00 128 LD HL,(global) + 0000003B 23 129 INC HL + 0000003C 23 130 INC HL + 0000003D 4E 131 LD C,(HL) + 0000003E 23 132 INC HL + 0000003F 46 133 LD B,(HL) + 00000040 C5 134 PUSH BC + 00000041 3E 00 135 LD A,BYTE3 ioctl + 00000043 21 00 00 136 LD HL,LWRD ioctl + 00000046 CD 00 00 137 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000049 F1 138 POP AF + 0000004A F1 139 POP AF + 0000004B F1 140 POP AF + 0000004C DD 36 FC 60 141 LD (IX-4),96 + 00000050 DD 36 FD 00 142 LD (IX-3),0 + 00000054 21 00 00 143 LD HL,0 + 00000057 39 144 ADD HL,SP + 00000058 E5 145 PUSH HL + 00000059 21 01 00 146 LD HL,1 + 0000005C E5 147 PUSH HL + 0000005D 2A 00 00 148 LD HL,(global) + 00000060 23 149 INC HL + 00000061 23 150 INC HL + 00000062 4E 151 LD C,(HL) + 00000063 23 152 INC HL + 00000064 46 153 LD B,(HL) + 00000065 C5 154 PUSH BC + 00000066 3E 00 155 LD A,BYTE3 ioctl + 00000068 21 00 00 156 LD HL,LWRD ioctl + 0000006B CD 00 00 157 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000006E F1 158 POP AF + 0000006F F1 159 POP AF + 00000070 F1 160 POP AF + 00000071 21 02 00 161 LD HL,2 + 00000074 E5 162 PUSH HL + 00000075 2E 08 163 LD L,8 + 00000077 164 ?0372: + 00000077 39 165 ADD HL,SP + 00000078 4D 166 LD C,L + 00000079 167 ?0427: + 00000079 44 168 LD B,H + 0000007A 2A 00 00 169 LD HL,(global) + 0000007D 170 ?0428: + 0000007D 23 171 INC HL + 0000007E 23 172 INC HL + 0000007F 173 ?0429: + 0000007F 5E 174 LD E,(HL) + 00000080 23 175 INC HL + 00000081 176 ?0430: + 00000081 56 177 LD D,(HL) + 00000082 3E 00 178 LD A,BYTE3 _write + 00000084 179 ?0431: + 00000084 21 00 00 180 LD HL,LWRD _write + 00000087 CD 00 00 181 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000008A F1 182 POP AF + 0000008B C3 00 00 183 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000008E 184 GraphicsClose: + 0000008E D5 185 PUSH DE + 0000008F 2A 00 00 186 LD HL,(global) + 00000092 23 187 INC HL + 00000093 23 188 INC HL + 00000094 5E 189 LD E,(HL) + 00000095 23 190 INC HL + 00000096 56 191 LD D,(HL) + 00000097 3E 00 192 LD A,BYTE3 close + 00000099 21 00 00 193 LD HL,LWRD close + 0000009C CD 00 00 194 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000009F D1 195 POP DE + 000000A0 C3 00 00 196 JP LWRD ?BANK_FAST_LEAVE_L08 + 000000A3 197 Move: + 000000A3 CD 00 00 198 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000000A6 FC FF 199 DEFW 65532 + 000000A8 21 00 00 200 LD HL,0 + 000000AB 39 201 ADD HL,SP + 000000AC EB 202 EX DE,HL + 000000AD 21 02 00 203 LD HL,?0002 + 000000B0 01 04 00 204 LD BC,4 + 000000B3 ED B0 205 LDIR + 000000B5 DD 46 02 206 LD B,(IX+2) + 000000B8 DD 70 FE 207 LD (IX-2),B + 000000BB DD 46 04 208 LD B,(IX+4) + 000000BE DD 70 FF 209 LD (IX-1),B + 000000C1 21 04 00 210 LD HL,4 + 000000C4 E5 211 PUSH HL + 000000C5 2B 212 DEC HL + 000000C6 2B 213 DEC HL + 000000C7 C3 77 00 214 JP LWRD ?0372 + 000000CA 4D 215 LD C,L + 000000CB 216 ?0381: + 000000CB C3 79 00 217 JP LWRD ?0427 + 000000CE 2A 00 00 218 LD HL,(global) + 000000D1 23 219 INC HL + 000000D2 23 220 INC HL + 000000D3 221 ?0432: + 000000D3 5E 222 LD E,(HL) + 000000D4 23 223 INC HL + 000000D5 224 ?0433: + 000000D5 56 225 LD D,(HL) + 000000D6 3E 00 226 LD A,BYTE3 _write + 000000D8 227 ?0434: + 000000D8 C3 84 00 228 JP LWRD ?0431 + 000000DB CD 00 00 229 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000000DE F1 230 POP AF + 000000DF C3 00 00 231 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000000E2 232 ClearRect: + 000000E2 CD 00 00 233 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000000E5 FC FF 234 DEFW 65532 + 000000E7 21 00 00 235 LD HL,0 + 000000EA 39 236 ADD HL,SP + 000000EB EB 237 EX DE,HL + 000000EC 21 06 00 238 LD HL,?0003 + 000000EF 01 04 00 239 LD BC,4 + 000000F2 ED B0 240 LDIR + 000000F4 DD 46 02 241 LD B,(IX+2) + 000000F7 DD 70 FE 242 LD (IX-2),B + 000000FA DD 46 04 243 LD B,(IX+4) + 000000FD DD 70 FF 244 LD (IX-1),B + 00000100 21 04 00 245 LD HL,4 + 00000103 E5 246 PUSH HL + 00000104 2B 247 DEC HL + 00000105 2B 248 DEC HL + 00000106 C3 77 00 249 JP LWRD ?0372 + 00000109 4D 250 LD C,L + 0000010A C3 CB 00 251 JP LWRD ?0381 + 0000010D 2A 00 00 252 LD HL,(global) + 00000110 253 ?0389: + 00000110 C3 7D 00 254 JP LWRD ?0428 + 00000113 23 255 INC HL + 00000114 C3 D3 00 256 JP LWRD ?0432 + 00000117 23 257 INC HL + 00000118 56 258 LD D,(HL) + 00000119 3E 00 259 LD A,BYTE3 _write + 0000011B 260 ?0435: + 0000011B C3 84 00 261 JP LWRD ?0431 + 0000011E CD 00 00 262 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000121 F1 263 POP AF + 00000122 C3 00 00 264 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000125 265 DrawRectNC: + 00000125 CD 00 00 266 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000128 FC FF 267 DEFW 65532 + 0000012A 21 00 00 268 LD HL,0 + 0000012D 39 269 ADD HL,SP + 0000012E EB 270 EX DE,HL + 0000012F 21 0A 00 271 LD HL,?0004 + 00000132 01 04 00 272 LD BC,4 + 00000135 ED B0 273 LDIR + 00000137 DD 46 02 274 LD B,(IX+2) + 0000013A DD 70 FE 275 LD (IX-2),B + 0000013D DD 46 04 276 LD B,(IX+4) + 00000140 DD 70 FF 277 LD (IX-1),B + 00000143 21 04 00 278 LD HL,4 + 00000146 E5 279 PUSH HL + 00000147 2B 280 DEC HL + 00000148 2B 281 DEC HL + 00000149 C3 77 00 282 JP LWRD ?0372 + 0000014C 4D 283 LD C,L + 0000014D C3 CB 00 284 JP LWRD ?0381 + 00000150 2A 00 00 285 LD HL,(global) + 00000153 C3 10 01 286 JP LWRD ?0389 + 00000156 23 287 INC HL + 00000157 288 ?0396: + 00000157 C3 7F 00 289 JP LWRD ?0429 + 0000015A 23 290 INC HL + 0000015B C3 D5 00 291 JP LWRD ?0433 + 0000015E 3E 00 292 LD A,BYTE3 _write + 00000160 C3 1B 01 293 JP LWRD ?0435 + 00000163 CD 00 00 294 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000166 F1 295 POP AF + 00000167 C3 00 00 296 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000016A 297 FillRect: + 0000016A CD 00 00 298 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 0000016D FC FF 299 DEFW 65532 + 0000016F 21 00 00 300 LD HL,0 + 00000172 39 301 ADD HL,SP + 00000173 EB 302 EX DE,HL + 00000174 21 0E 00 303 LD HL,?0005 + 00000177 01 04 00 304 LD BC,4 + 0000017A ED B0 305 LDIR + 0000017C DD 46 02 306 LD B,(IX+2) + 0000017F DD 70 FE 307 LD (IX-2),B + 00000182 DD 46 04 308 LD B,(IX+4) + 00000185 DD 70 FF 309 LD (IX-1),B + 00000188 21 04 00 310 LD HL,4 + 0000018B E5 311 PUSH HL + 0000018C 2B 312 DEC HL + 0000018D 2B 313 DEC HL + 0000018E C3 77 00 314 JP LWRD ?0372 + 00000191 4D 315 LD C,L + 00000192 C3 CB 00 316 JP LWRD ?0381 + 00000195 2A 00 00 317 LD HL,(global) + 00000198 C3 10 01 318 JP LWRD ?0389 + 0000019B 23 319 INC HL + 0000019C C3 57 01 320 JP LWRD ?0396 + 0000019F 23 321 INC HL + 000001A0 322 ?0402: + 000001A0 C3 81 00 323 JP LWRD ?0430 + 000001A3 3E 00 324 LD A,BYTE3 _write + 000001A5 C3 D8 00 325 JP LWRD ?0434 + 000001A8 CD 00 00 326 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000001AB F1 327 POP AF + 000001AC C3 00 00 328 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000001AF 329 FillRectNC: + 000001AF CD 00 00 330 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000001B2 FC FF 331 DEFW 65532 + 000001B4 21 00 00 332 LD HL,0 + 000001B7 39 333 ADD HL,SP + 000001B8 EB 334 EX DE,HL + 000001B9 21 12 00 335 LD HL,?0006 + 000001BC 01 04 00 336 LD BC,4 + 000001BF ED B0 337 LDIR + 000001C1 DD 46 02 338 LD B,(IX+2) + 000001C4 DD 70 FE 339 LD (IX-2),B + 000001C7 DD 46 04 340 LD B,(IX+4) + 000001CA DD 70 FF 341 LD (IX-1),B + 000001CD 21 04 00 342 LD HL,4 + 000001D0 E5 343 PUSH HL + 000001D1 2B 344 DEC HL + 000001D2 2B 345 DEC HL + 000001D3 C3 77 00 346 JP LWRD ?0372 + 000001D6 4D 347 LD C,L + 000001D7 C3 CB 00 348 JP LWRD ?0381 + 000001DA 2A 00 00 349 LD HL,(global) + 000001DD C3 10 01 350 JP LWRD ?0389 + 000001E0 23 351 INC HL + 000001E1 C3 57 01 352 JP LWRD ?0396 + 000001E4 23 353 INC HL + 000001E5 C3 A0 01 354 JP LWRD ?0402 + 000001E8 3E 00 355 LD A,BYTE3 _write + 000001EA 356 ?0407: + 000001EA C3 84 00 357 JP LWRD ?0431 + 000001ED CD 00 00 358 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000001F0 F1 359 POP AF + 000001F1 C3 00 00 360 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000001F4 361 GrayRect: + 000001F4 CD 00 00 362 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000001F7 FC FF 363 DEFW 65532 + 000001F9 21 00 00 364 LD HL,0 + 000001FC 39 365 ADD HL,SP + 000001FD EB 366 EX DE,HL + 000001FE 21 16 00 367 LD HL,?0007 + 00000201 01 04 00 368 LD BC,4 + 00000204 ED B0 369 LDIR + 00000206 DD 46 02 370 LD B,(IX+2) + 00000209 DD 70 FE 371 LD (IX-2),B + 0000020C DD 46 04 372 LD B,(IX+4) + 0000020F DD 70 FF 373 LD (IX-1),B + 00000212 21 04 00 374 LD HL,4 + 00000215 E5 375 PUSH HL + 00000216 2B 376 DEC HL + 00000217 2B 377 DEC HL + 00000218 C3 77 00 378 JP LWRD ?0372 + 0000021B 4D 379 LD C,L + 0000021C C3 CB 00 380 JP LWRD ?0381 + 0000021F 2A 00 00 381 LD HL,(global) + 00000222 C3 10 01 382 JP LWRD ?0389 + 00000225 23 383 INC HL + 00000226 C3 57 01 384 JP LWRD ?0396 + 00000229 23 385 INC HL + 0000022A C3 A0 01 386 JP LWRD ?0402 + 0000022D 3E 00 387 LD A,BYTE3 _write + 0000022F C3 EA 01 388 JP LWRD ?0407 + 00000232 CD 00 00 389 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000235 F1 390 POP AF + 00000236 C3 00 00 391 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000239 392 Text: + 00000239 C5 393 PUSH BC + 0000023A FD E5 394 PUSH IY + 0000023C DD E5 395 PUSH IX + 0000023E D5 396 PUSH DE + 0000023F DD E1 397 POP IX + 00000241 3E 00 398 LD A,BYTE3 strlen + 00000243 21 00 00 399 LD HL,LWRD strlen + 00000246 CD 00 00 400 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000249 E5 401 PUSH HL + 0000024A DD E5 402 PUSH IX + 0000024C C1 403 POP BC + 0000024D 2A 00 00 404 LD HL,(global) + 00000250 23 405 INC HL + 00000251 23 406 INC HL + 00000252 5E 407 LD E,(HL) + 00000253 23 408 INC HL + 00000254 56 409 LD D,(HL) + 00000255 3E 00 410 LD A,BYTE3 _write + 00000257 21 00 00 411 LD HL,LWRD _write + 0000025A CD 00 00 412 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000025D F1 413 POP AF + 0000025E 414 ?0411: + 0000025E DD E1 415 POP IX + 00000260 FD E1 416 POP IY + 00000262 C1 417 POP BC + 00000263 C3 00 00 418 JP LWRD ?BANK_FAST_LEAVE_L08 + 00000266 419 TouchRegion: + 00000266 CD 00 00 420 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000269 F8 FF 421 DEFW 65528 + 0000026B 21 00 00 422 LD HL,0 + 0000026E 39 423 ADD HL,SP + 0000026F EB 424 EX DE,HL + 00000270 21 1A 00 425 LD HL,?0008 + 00000273 01 07 00 426 LD BC,7 + 00000276 ED B0 427 LDIR + 00000278 DD 46 02 428 LD B,(IX+2) + 0000027B DD 70 FA 429 LD (IX-6),B + 0000027E DD 46 04 430 LD B,(IX+4) + 00000281 DD 70 FB 431 LD (IX-5),B + 00000284 DD 46 0A 432 LD B,(IX+10) + 00000287 DD 70 FC 433 LD (IX-4),B + 0000028A DD 46 0C 434 LD B,(IX+12) + 0000028D DD 70 FD 435 LD (IX-3),B + 00000290 DD 46 0E 436 LD B,(IX+14) + 00000293 DD 70 FE 437 LD (IX-2),B + 00000296 21 07 00 438 LD HL,7 + 00000299 E5 439 PUSH HL + 0000029A 2E 02 440 LD L,2 + 0000029C C3 77 00 441 JP LWRD ?0372 + 0000029F 4D 442 LD C,L + 000002A0 C3 CB 00 443 JP LWRD ?0381 + 000002A3 2A 00 00 444 LD HL,(global) + 000002A6 C3 10 01 445 JP LWRD ?0389 + 000002A9 23 446 INC HL + 000002AA C3 57 01 447 JP LWRD ?0396 + 000002AD 23 448 INC HL + 000002AE C3 A0 01 449 JP LWRD ?0402 + 000002B1 3E 00 450 LD A,BYTE3 _write + 000002B3 C3 EA 01 451 JP LWRD ?0407 + 000002B6 CD 00 00 452 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000002B9 F1 453 POP AF + 000002BA C3 00 00 454 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000002BD 455 ClearScreen: + 000002BD C5 456 PUSH BC + 000002BE D5 457 PUSH DE + 000002BF CD D7 02 458 CALL LWRD ?0461 + 000002C2 CD 00 00 459 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000002C5 21 80 00 460 LD HL,128 + 000002C8 E5 461 PUSH HL + 000002C9 6C 462 LD L,H + 000002CA E5 463 PUSH HL + 000002CB E5 464 PUSH HL + 000002CC CD EF 02 465 CALL LWRD ?0470 + 000002CF E1 466 POP HL + 000002D0 E1 467 POP HL + 000002D1 E1 468 POP HL + 000002D2 D1 469 POP DE + 000002D3 C1 470 POP BC + 000002D4 C3 00 00 471 JP LWRD ?BANK_FAST_LEAVE_L08 + 000002D7 472 ?0461: + 000002D7 01 00 00 473 LD BC,0 + 000002DA 59 474 LD E,C + 000002DB 50 475 LD D,B + 000002DC 3E A3 476 LD A,BYTE3 Move + 000002DE 21 A3 00 477 LD HL,LWRD Move + 000002E1 CD 00 00 478 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000002E4 01 80 00 479 LD BC,128 + 000002E7 58 480 LD E,B + 000002E8 50 481 LD D,B + 000002E9 3E E2 482 LD A,BYTE3 ClearRect + 000002EB 21 E2 00 483 LD HL,LWRD ClearRect + 000002EE C9 484 RET + 000002EF 485 ?0470: + 000002EF 4D 486 LD C,L + 000002F0 44 487 LD B,H + 000002F1 EB 488 EX DE,HL + 000002F2 489 ?0471: + 000002F2 3E 66 490 LD A,BYTE3 TouchRegion + 000002F4 21 66 02 491 LD HL,LWRD TouchRegion + 000002F7 C3 00 00 492 JP LWRD ?BANK_CALL_DIRECT_L08 + 000002FA 493 EnableScreen: + 000002FA CD 00 00 494 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000002FD FC FF 495 DEFW 65532 + 000002FF 21 00 00 496 LD HL,0 + 00000302 39 497 ADD HL,SP + 00000303 EB 498 EX DE,HL + 00000304 21 21 00 499 LD HL,?0009 + 00000307 01 03 00 500 LD BC,3 + 0000030A ED B0 501 LDIR + 0000030C DD 46 02 502 LD B,(IX+2) + 0000030F DD 70 FE 503 LD (IX-2),B + 00000312 21 03 00 504 LD HL,3 + 00000315 E5 505 PUSH HL + 00000316 2B 506 DEC HL + 00000317 C3 77 00 507 JP LWRD ?0372 + 0000031A 4D 508 LD C,L + 0000031B C3 CB 00 509 JP LWRD ?0381 + 0000031E 2A 00 00 510 LD HL,(global) + 00000321 C3 10 01 511 JP LWRD ?0389 + 00000324 23 512 INC HL + 00000325 C3 57 01 513 JP LWRD ?0396 + 00000328 23 514 INC HL + 00000329 C3 A0 01 515 JP LWRD ?0402 + 0000032C 3E 00 516 LD A,BYTE3 _write + 0000032E C3 EA 01 517 JP LWRD ?0407 + 00000331 CD 00 00 518 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000334 F1 519 POP AF + 00000335 C3 00 00 520 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000338 521 grSetFont: + 00000338 CD 00 00 522 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 0000033B FE FF 523 DEFW 65534 + 0000033D 21 00 00 524 LD HL,0 + 00000340 39 525 ADD HL,SP + 00000341 EB 526 EX DE,HL + 00000342 21 24 00 527 LD HL,?0010 + 00000345 01 02 00 528 LD BC,2 + 00000348 ED B0 529 LDIR + 0000034A DD 46 02 530 LD B,(IX+2) + 0000034D DD 70 FF 531 LD (IX-1),B + 00000350 21 02 00 532 LD HL,2 + 00000353 E5 533 PUSH HL + 00000354 C3 77 00 534 JP LWRD ?0372 + 00000357 4D 535 LD C,L + 00000358 C3 CB 00 536 JP LWRD ?0381 + 0000035B 2A 00 00 537 LD HL,(global) + 0000035E C3 10 01 538 JP LWRD ?0389 + 00000361 23 539 INC HL + 00000362 C3 57 01 540 JP LWRD ?0396 + 00000365 23 541 INC HL + 00000366 C3 A0 01 542 JP LWRD ?0402 + 00000369 3E 00 543 LD A,BYTE3 _write + 0000036B C3 EA 01 544 JP LWRD ?0407 + 0000036E CD 00 00 545 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000371 F1 546 POP AF + 00000372 C3 00 00 547 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000375 548 fontSearch: + 00000375 CD 00 00 549 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000378 00 00 550 DEFW 0 + 0000037A 21 0C 00 551 LD HL,12 + 0000037D ED 4B 00 00 552 LD BC,(global) + 00000381 09 553 ADD HL,BC + 00000382 554 ?0321: + 00000382 46 555 LD B,(HL) + 00000383 23 556 INC HL + 00000384 66 557 LD H,(HL) + 00000385 68 558 LD L,B + 00000386 EB 559 EX DE,HL + 00000387 560 ?0012: + 00000387 7B 561 LD A,E + 00000388 B2 562 OR D + 00000389 28 16 563 JR Z,?0011 + 0000038B 6B 564 LD L,E + 0000038C 62 565 LD H,D + 0000038D 46 566 LD B,(HL) + 0000038E 23 567 INC HL + 0000038F 66 568 LD H,(HL) + 00000390 68 569 LD L,B + 00000391 DD 4E 02 570 LD C,(IX+2) + 00000394 DD 46 03 571 LD B,(IX+3) + 00000397 ED 42 572 SBC HL,BC + 00000399 28 06 573 JR Z,?0011 + 0000039B 574 ?0015: + 0000039B 575 ?0014: + 0000039B 576 ?0013: + 0000039B 21 08 00 577 LD HL,8 + 0000039E 19 578 ADD HL,DE + 0000039F 18 E1 579 JR ?0321 + 000003A1 580 ?0011: + 000003A1 EB 581 EX DE,HL + 000003A2 C3 00 00 582 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000003A5 583 setCurrentFont: + 000003A5 CD 00 00 584 CALL LWRD ?ENT_PARM_DIRECT_L09 + 000003A8 3E 75 585 LD A,BYTE3 fontSearch + 000003AA 21 75 03 586 LD HL,LWRD fontSearch + 000003AD CD 22 04 587 CALL LWRD ?0448 + 000003B0 28 29 588 JR Z,?0017 + 000003B2 589 ?0016: + 000003B2 DD 5E 02 590 LD E,(IX+2) + 000003B5 DD 56 03 591 LD D,(IX+3) + 000003B8 3E 38 592 LD A,BYTE3 grSetFont + 000003BA 21 38 03 593 LD HL,LWRD grSetFont + 000003BD CD 00 00 594 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000003C0 21 0A 00 595 LD HL,10 + 000003C3 ED 4B 00 00 596 LD BC,(global) + 000003C7 09 597 ADD HL,BC + 000003C8 E5 598 PUSH HL + 000003C9 DD 5E 02 599 LD E,(IX+2) + 000003CC DD 56 03 600 LD D,(IX+3) + 000003CF 3E 75 601 LD A,BYTE3 fontSearch + 000003D1 21 75 03 602 LD HL,LWRD fontSearch + 000003D4 CD 2D 04 603 CALL LWRD ?0449 + 000003D7 E1 604 POP HL + 000003D8 71 605 LD (HL),C + 000003D9 23 606 INC HL + 000003DA 70 607 LD (HL),B + 000003DB 608 ?0017: + 000003DB C3 00 00 609 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000003DE 610 ?0443: + 000003DE ED 4B 00 00 611 LD BC,(global) + 000003E2 09 612 ADD HL,BC + 000003E3 46 613 LD B,(HL) + 000003E4 23 614 INC HL + 000003E5 66 615 LD H,(HL) + 000003E6 68 616 LD L,B + 000003E7 617 ?0442: + 000003E7 23 618 INC HL + 000003E8 23 619 INC HL + 000003E9 4E 620 LD C,(HL) + 000003EA 23 621 INC HL + 000003EB 46 622 LD B,(HL) + 000003EC 23 623 INC HL + 000003ED 7E 624 LD A,(HL) + 000003EE 69 625 LD L,C + 000003EF 60 626 LD H,B + 000003F0 CD 00 00 627 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000003F3 4D 628 LD C,L + 000003F4 44 629 LD B,H + 000003F5 FD 6E 06 630 LD L,(IY+6) + 000003F8 FD 66 07 631 LD H,(IY+7) + 000003FB A7 632 AND A + 000003FC ED 42 633 SBC HL,BC + 000003FE EB 634 EX DE,HL + 000003FF 01 02 00 635 LD BC,2 + 00000402 CD 00 00 636 CALL LWRD ?SS_DIV_L02 + 00000405 DD 6E 04 637 LD L,(IX+4) + 00000408 DD 66 05 638 LD H,(IX+5) + 0000040B 19 639 ADD HL,DE + 0000040C EB 640 EX DE,HL + 0000040D 3E A3 641 LD A,BYTE3 Move + 0000040F 21 A3 00 642 LD HL,LWRD Move + 00000412 C9 643 RET + 00000413 644 ?0444: + 00000413 CD 00 00 645 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000416 4D 646 LD C,L + 00000417 44 647 LD B,H + 00000418 FD 6E 08 648 LD L,(IY+8) + 0000041B FD 66 09 649 LD H,(IY+9) + 0000041E A7 650 AND A + 0000041F ED 42 651 SBC HL,BC + 00000421 C9 652 RET + 00000422 653 ?0448: + 00000422 CD 00 00 654 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000425 7D 655 LD A,L + 00000426 B4 656 OR H + 00000427 C9 657 RET + 00000428 658 ?0450: + 00000428 3E 00 659 LD A,BYTE3 malloc + 0000042A 21 00 00 660 LD HL,LWRD malloc + 0000042D 661 ?0449: + 0000042D CD 00 00 662 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000430 4D 663 LD C,L + 00000431 44 664 LD B,H + 00000432 C9 665 RET + 00000433 666 loadFont: + 00000433 CD 00 00 667 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000436 FC FF 668 DEFW 65532 + 00000438 FD E5 669 PUSH IY + 0000043A 11 0E 00 670 LD DE,14 + 0000043D CD CE 04 671 CALL LWRD ?0447 + 00000440 DD 4E 02 672 LD C,(IX+2) + 00000443 71 673 LD (HL),C + 00000444 DD 46 03 674 LD B,(IX+3) + 00000447 23 675 INC HL + 00000448 70 676 LD (HL),B + 00000449 DD 46 0C 677 LD B,(IX+12) + 0000044C DD 6E 0A 678 LD L,(IX+10) + 0000044F FD 75 02 679 LD (IY+2),L + 00000452 DD 66 0B 680 LD H,(IX+11) + 00000455 FD 74 03 681 LD (IY+3),H + 00000458 FD 70 04 682 LD (IY+4),B + 0000045B DD 46 10 683 LD B,(IX+16) + 0000045E DD 6E 0E 684 LD L,(IX+14) + 00000461 FD 75 05 685 LD (IY+5),L + 00000464 DD 66 0F 686 LD H,(IX+15) + 00000467 FD 74 06 687 LD (IY+6),H + 0000046A FD 70 07 688 LD (IY+7),B + 0000046D AF 689 XOR A + 0000046E FD 77 08 690 LD (IY+8),A + 00000471 FD 77 09 691 LD (IY+9),A + 00000474 DD 6E 12 692 LD L,(IX+18) + 00000477 FD 75 0A 693 LD (IY+10),L + 0000047A DD 66 13 694 LD H,(IX+19) + 0000047D FD 74 0B 695 LD (IY+11),H + 00000480 DD 6E 14 696 LD L,(IX+20) + 00000483 FD 75 0C 697 LD (IY+12),L + 00000486 DD 66 15 698 LD H,(IX+21) + 00000489 FD 74 0D 699 LD (IY+13),H + 0000048C 21 0C 00 700 LD HL,12 + 0000048F ED 4B 00 00 701 LD BC,(global) + 00000493 09 702 ADD HL,BC + 00000494 7E 703 LD A,(HL) + 00000495 23 704 INC HL + 00000496 B6 705 OR (HL) + 00000497 21 0C 00 706 LD HL,12 + 0000049A ED 4B 00 00 707 LD BC,(global) + 0000049E 09 708 ADD HL,BC + 0000049F 20 10 709 JR NZ,?0019 + 000004A1 710 ?0018: + 000004A1 FD E5 711 PUSH IY + 000004A3 C1 712 POP BC + 000004A4 71 713 LD (HL),C + 000004A5 23 714 INC HL + 000004A6 70 715 LD (HL),B + 000004A7 21 0A 00 716 LD HL,10 + 000004AA ED 4B 00 00 717 LD BC,(global) + 000004AE 09 718 ADD HL,BC + 000004AF 18 12 719 JR ?0021 + 000004B1 720 ?0019: + 000004B1 46 721 LD B,(HL) + 000004B2 23 722 INC HL + 000004B3 66 723 LD H,(HL) + 000004B4 68 724 LD L,B + 000004B5 EB 725 EX DE,HL + 000004B6 726 ?0022: + 000004B6 21 08 00 727 LD HL,8 + 000004B9 19 728 ADD HL,DE + 000004BA 7E 729 LD A,(HL) + 000004BB 23 730 INC HL + 000004BC B6 731 OR (HL) + 000004BD 21 08 00 732 LD HL,8 + 000004C0 19 733 ADD HL,DE + 000004C1 20 EE 734 JR NZ,?0019 + 000004C3 735 ?0023: + 000004C3 736 ?0021: + 000004C3 FD E5 737 PUSH IY + 000004C5 C1 738 POP BC + 000004C6 71 739 LD (HL),C + 000004C7 23 740 INC HL + 000004C8 70 741 LD (HL),B + 000004C9 742 ?0020: + 000004C9 FD E1 743 POP IY + 000004CB C3 00 00 744 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000004CE 745 ?0447: + 000004CE 3E 00 746 LD A,BYTE3 malloc + 000004D0 21 00 00 747 LD HL,LWRD malloc + 000004D3 CD 00 00 748 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000004D6 E5 749 PUSH HL + 000004D7 FD E1 750 POP IY + 000004D9 C9 751 RET + 000004DA 752 stringwidth: + 000004DA FD E5 753 PUSH IY + 000004DC DD E5 754 PUSH IX + 000004DE C5 755 PUSH BC + 000004DF D5 756 PUSH DE + 000004E0 DD 21 00 00 757 LD IX,0 + 000004E4 FD 21 00 00 758 LD IY,0 + 000004E8 759 ?0025: + 000004E8 FD E5 760 PUSH IY + 000004EA 21 02 00 761 LD HL,2 + 000004ED 39 762 ADD HL,SP + 000004EE 4E 763 LD C,(HL) + 000004EF 23 764 INC HL + 000004F0 46 765 LD B,(HL) + 000004F1 E1 766 POP HL + 000004F2 09 767 ADD HL,BC + 000004F3 7E 768 LD A,(HL) + 000004F4 B7 769 OR A + 000004F5 28 50 770 JR Z,?0024 + 000004F7 771 ?0026: + 000004F7 FD E5 772 PUSH IY + 000004F9 E1 773 POP HL + 000004FA 09 774 ADD HL,BC + 000004FB 5E 775 LD E,(HL) + 000004FC CD 00 00 776 CALL LWRD ?C_V_SWITCH_L06 + 000004FF 0A 00 777 DEFW 10 + 00000501 21 778 DEFB 33 + 00000502 2C 779 DEFB 44 + 00000503 2E 780 DEFB 46 + 00000504 31 781 DEFB 49 + 00000505 49 782 DEFB 73 + 00000506 69 783 DEFB 105 + 00000507 6A 784 DEFB 106 + 00000508 6B 785 DEFB 107 + 00000509 6C 786 DEFB 108 + 0000050A 72 787 DEFB 114 + 0000050B 35 05 788 DEFW ?0032 + 0000050D 30 05 789 DEFW ?0031 + 0000050F 26 05 790 DEFW ?0029 + 00000511 30 05 791 DEFW ?0031 + 00000513 30 05 792 DEFW ?0031 + 00000515 21 05 793 DEFW ?0028 + 00000517 21 05 794 DEFW ?0028 + 00000519 2B 05 795 DEFW ?0030 + 0000051B 2B 05 796 DEFW ?0030 + 0000051D 2B 05 797 DEFW ?0030 + 0000051F 21 05 798 DEFW ?0028 + 00000521 799 ?0028: + 00000521 01 02 00 800 LD BC,2 + 00000524 18 12 801 JR ?0331 + 00000526 802 ?0029: + 00000526 01 03 00 803 LD BC,3 + 00000529 18 0D 804 JR ?0331 + 0000052B 805 ?0030: + 0000052B 01 04 00 806 LD BC,4 + 0000052E 18 08 807 JR ?0331 + 00000530 808 ?0031: + 00000530 01 05 00 809 LD BC,5 + 00000533 18 03 810 JR ?0331 + 00000535 811 ?0032: + 00000535 01 06 00 812 LD BC,6 + 00000538 813 ?0331: + 00000538 DD 09 814 ADD IX,BC + 0000053A 815 ?0027: + 0000053A 21 02 00 816 LD HL,2 + 0000053D 39 817 ADD HL,SP + 0000053E 4E 818 LD C,(HL) + 0000053F 23 819 INC HL + 00000540 46 820 LD B,(HL) + 00000541 DD 09 821 ADD IX,BC + 00000543 FD 23 822 INC IY + 00000545 18 A1 823 JR ?0025 + 00000547 824 ?0024: + 00000547 DD E5 825 PUSH IX + 00000549 E1 826 POP HL + 0000054A F1 827 POP AF + 0000054B F1 828 POP AF + 0000054C DD E1 829 POP IX + 0000054E FD E1 830 POP IY + 00000550 C3 00 00 831 JP LWRD ?BANK_FAST_LEAVE_L08 + 00000553 832 stringheight: + 00000553 CD 00 00 833 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00000556 7B 834 LD A,E + 00000557 FE 80 835 CP 128 + 00000559 30 06 836 JR NC,?0034 + 0000055B 837 ?0033: + 0000055B 21 07 00 838 LD HL,7 + 0000055E 09 839 ADD HL,BC + 0000055F 18 0C 840 JR ?0036 + 00000561 841 ?0034: + 00000561 FE CC 842 CP 204 + 00000563 38 08 843 JR C,?0036 + 00000565 3E DF 844 LD A,223 + 00000567 BB 845 CP E + 00000568 38 03 846 JR C,?0036 + 0000056A 847 ?0038: + 0000056A 848 ?0037: + 0000056A 849 ?0035: + 0000056A 69 850 LD L,C + 0000056B 60 851 LD H,B + 0000056C 23 852 INC HL + 0000056D 853 ?0036: + 0000056D 854 ?0039: + 0000056D C3 00 00 855 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000570 856 stringheight01: + 00000570 CD 00 00 857 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00000573 01 00 00 858 LD BC,0 + 00000576 859 ?0415: + 00000576 1A 860 LD A,(DE) + 00000577 5F 861 LD E,A + 00000578 3E 53 862 LD A,BYTE3 stringheight + 0000057A 21 53 05 863 LD HL,LWRD stringheight + 0000057D CD 00 00 864 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000580 C3 00 00 865 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000583 866 stringheight2: + 00000583 CD 00 00 867 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00000586 01 05 00 868 LD BC,5 + 00000589 C3 76 05 869 JP LWRD ?0415 + 0000058C 870 stringwidth0: + 0000058C CD 00 00 871 CALL LWRD ?ENT_PARM_DIRECT_L09 + 0000058F 01 00 00 872 LD BC,0 + 00000592 873 ?0416: + 00000592 3E DA 874 LD A,BYTE3 stringwidth + 00000594 21 DA 04 875 LD HL,LWRD stringwidth + 00000597 CD 00 00 876 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000059A C3 00 00 877 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000059D 878 stringwidth1: + 0000059D CD 00 00 879 CALL LWRD ?ENT_PARM_DIRECT_L09 + 000005A0 01 02 00 880 LD BC,2 + 000005A3 C3 92 05 881 JP LWRD ?0416 + 000005A6 882 stringwidth2: + 000005A6 CD 00 00 883 CALL LWRD ?ENT_PARM_DIRECT_L09 + 000005A9 01 03 00 884 LD BC,3 + 000005AC C3 92 05 885 JP LWRD ?0416 + 000005AF 886 Component_new: + 000005AF CD 00 00 887 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000005B2 00 00 888 DEFW 0 + 000005B4 FD E5 889 PUSH IY + 000005B6 11 28 00 890 LD DE,40 + 000005B9 CD CE 04 891 CALL LWRD ?0447 + 000005BC 2A 00 00 892 LD HL,(global) + 000005BF 5E 893 LD E,(HL) + 000005C0 23 894 INC HL + 000005C1 56 895 LD D,(HL) + 000005C2 13 896 INC DE + 000005C3 72 897 LD (HL),D + 000005C4 2B 898 DEC HL + 000005C5 73 899 LD (HL),E + 000005C6 FD E5 900 PUSH IY + 000005C8 E1 901 POP HL + 000005C9 73 902 LD (HL),E + 000005CA 23 903 INC HL + 000005CB 72 904 LD (HL),D + 000005CC DD 6E 02 905 LD L,(IX+2) + 000005CF FD 75 02 906 LD (IY+2),L + 000005D2 DD 66 03 907 LD H,(IX+3) + 000005D5 FD 74 03 908 LD (IY+3),H + 000005D8 FD 71 04 909 LD (IY+4),C + 000005DB FD 70 05 910 LD (IY+5),B + 000005DE DD 6E 0A 911 LD L,(IX+10) + 000005E1 FD 75 06 912 LD (IY+6),L + 000005E4 DD 66 0B 913 LD H,(IX+11) + 000005E7 FD 74 07 914 LD (IY+7),H + 000005EA DD 6E 0C 915 LD L,(IX+12) + 000005ED FD 75 08 916 LD (IY+8),L + 000005F0 DD 66 0D 917 LD H,(IX+13) + 000005F3 FD 74 09 918 LD (IY+9),H + 000005F6 AF 919 XOR A + 000005F7 FD 77 0A 920 LD (IY+10),A + 000005FA FD 77 0B 921 LD (IY+11),A + 000005FD FD 77 0C 922 LD (IY+12),A + 00000600 FD 77 0D 923 LD (IY+13),A + 00000603 FD 77 0E 924 LD (IY+14),A + 00000606 FD 77 0F 925 LD (IY+15),A + 00000609 FD 77 10 926 LD (IY+16),A + 0000060C FD 77 11 927 LD (IY+17),A + 0000060F FD 77 12 928 LD (IY+18),A + 00000612 FD 77 13 929 LD (IY+19),A + 00000615 FD 77 14 930 LD (IY+20),A + 00000618 FD 77 15 931 LD (IY+21),A + 0000061B FD 77 16 932 LD (IY+22),A + 0000061E FD 77 17 933 LD (IY+23),A + 00000621 FD 77 18 934 LD (IY+24),A + 00000624 FD 77 19 935 LD (IY+25),A + 00000627 FD 77 1A 936 LD (IY+26),A + 0000062A FD 77 1B 937 LD (IY+27),A + 0000062D FD 77 1C 938 LD (IY+28),A + 00000630 FD 77 1D 939 LD (IY+29),A + 00000633 FD 77 1E 940 LD (IY+30),A + 00000636 FD 77 1F 941 LD (IY+31),A + 00000639 FD 77 24 942 LD (IY+36),A + 0000063C FD 77 25 943 LD (IY+37),A + 0000063F FD 77 26 944 LD (IY+38),A + 00000642 FD 77 27 945 LD (IY+39),A + 00000645 FD 77 20 946 LD (IY+32),A + 00000648 FD 77 21 947 LD (IY+33),A + 0000064B FD 77 22 948 LD (IY+34),A + 0000064E FD 77 23 949 LD (IY+35),A + 00000651 950 ?0418: + 00000651 FD E5 951 PUSH IY + 00000653 E1 952 POP HL + 00000654 FD E1 953 POP IY + 00000656 C3 00 00 954 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000659 955 Component_setlabel: + 00000659 CD 00 00 956 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 0000065C 00 00 957 DEFW 0 + 0000065E FD E5 958 PUSH IY + 00000660 DD 6E 02 959 LD L,(IX+2) + 00000663 DD 66 03 960 LD H,(IX+3) + 00000666 E5 961 PUSH HL + 00000667 FD E1 962 POP IY + 00000669 11 00 00 963 LD DE,0 + 0000066C 964 ?0041: + 0000066C DD 6E 04 965 LD L,(IX+4) + 0000066F DD 66 05 966 LD H,(IX+5) + 00000672 19 967 ADD HL,DE + 00000673 7E 968 LD A,(HL) + 00000674 B7 969 OR A + 00000675 28 21 970 JR Z,?0040 + 00000677 01 14 80 971 LD BC,32788 + 0000067A 6B 972 LD L,E + 0000067B 62 973 LD H,D + 0000067C 78 974 LD A,B + 0000067D AC 975 XOR H + 0000067E 67 976 LD H,A + 0000067F ED 42 977 SBC HL,BC + 00000681 30 15 978 JR NC,?0040 + 00000683 979 ?0044: + 00000683 980 ?0043: + 00000683 981 ?0042: + 00000683 FD 6E 20 982 LD L,(IY+32) + 00000686 FD 66 21 983 LD H,(IY+33) + 00000689 19 984 ADD HL,DE + 0000068A E5 985 PUSH HL + 0000068B DD 6E 04 986 LD L,(IX+4) + 0000068E DD 66 05 987 LD H,(IX+5) + 00000691 19 988 ADD HL,DE + 00000692 46 989 LD B,(HL) + 00000693 E1 990 POP HL + 00000694 70 991 LD (HL),B + 00000695 13 992 INC DE + 00000696 18 D4 993 JR ?0041 + 00000698 994 ?0040: + 00000698 FD 6E 20 995 LD L,(IY+32) + 0000069B FD 66 21 996 LD H,(IY+33) + 0000069E 19 997 ADD HL,DE + 0000069F 36 00 998 LD (HL),0 + 000006A1 FD E1 999 POP IY + 000006A3 C3 00 00 1000 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000006A6 1001 Component_add: + 000006A6 CD 00 00 1002 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000006A9 00 00 1003 DEFW 0 + 000006AB FD E5 1004 PUSH IY + 000006AD 59 1005 LD E,C + 000006AE 50 1006 LD D,B + 000006AF 21 15 00 1007 LD HL,21 + 000006B2 DD 4E 02 1008 LD C,(IX+2) + 000006B5 DD 46 03 1009 LD B,(IX+3) + 000006B8 09 1010 ADD HL,BC + 000006B9 7E 1011 LD A,(HL) + 000006BA 23 1012 INC HL + 000006BB 66 1013 LD H,(HL) + 000006BC 6F 1014 LD L,A + 000006BD E5 1015 PUSH HL + 000006BE FD E1 1016 POP IY + 000006C0 21 15 00 1017 LD HL,21 + 000006C3 09 1018 ADD HL,BC + 000006C4 7E 1019 LD A,(HL) + 000006C5 23 1020 INC HL + 000006C6 B6 1021 OR (HL) + 000006C7 20 09 1022 JR NZ,?0046 + 000006C9 1023 ?0045: + 000006C9 21 15 00 1024 LD HL,21 + 000006CC 09 1025 ADD HL,BC + 000006CD 73 1026 LD (HL),E + 000006CE 23 1027 INC HL + 000006CF 72 1028 LD (HL),D + 000006D0 18 19 1029 JR ?0335 + 000006D2 1030 ?0046: + 000006D2 1031 ?0049: + 000006D2 FD 7E 13 1032 LD A,(IY+19) + 000006D5 FD B6 14 1033 OR (IY+20) + 000006D8 28 0B 1034 JR Z,?0048 + 000006DA 1035 ?0050: + 000006DA FD 6E 13 1036 LD L,(IY+19) + 000006DD FD 66 14 1037 LD H,(IY+20) + 000006E0 E5 1038 PUSH HL + 000006E1 FD E1 1039 POP IY + 000006E3 18 ED 1040 JR ?0046 + 000006E5 1041 ?0048: + 000006E5 FD 73 13 1042 LD (IY+19),E + 000006E8 FD 72 14 1043 LD (IY+20),D + 000006EB 1044 ?0335: + 000006EB 21 13 00 1045 LD HL,19 + 000006EE 19 1046 ADD HL,DE + 000006EF 77 1047 LD (HL),A + 000006F0 23 1048 INC HL + 000006F1 77 1049 LD (HL),A + 000006F2 1050 ?0047: + 000006F2 21 11 00 1051 LD HL,17 + 000006F5 19 1052 ADD HL,DE + 000006F6 DD 4E 02 1053 LD C,(IX+2) + 000006F9 71 1054 LD (HL),C + 000006FA DD 46 03 1055 LD B,(IX+3) + 000006FD 23 1056 INC HL + 000006FE 70 1057 LD (HL),B + 000006FF FD E1 1058 POP IY + 00000701 C3 00 00 1059 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000704 1060 Component_paint: + 00000704 C5 1061 PUSH BC + 00000705 FD E5 1062 PUSH IY + 00000707 DD E5 1063 PUSH IX + 00000709 21 15 00 1064 LD HL,21 + 0000070C 19 1065 ADD HL,DE + 0000070D 46 1066 LD B,(HL) + 0000070E 23 1067 INC HL + 0000070F 66 1068 LD H,(HL) + 00000710 68 1069 LD L,B + 00000711 E5 1070 PUSH HL + 00000712 DD E1 1071 POP IX + 00000714 CD 40 07 1072 CALL LWRD ?0477 + 00000717 1073 ?0052: + 00000717 DD E5 1074 PUSH IX + 00000719 E1 1075 POP HL + 0000071A 7D 1076 LD A,L + 0000071B B4 1077 OR H + 0000071C 28 1A 1078 JR Z,?0051 + 0000071E 1079 ?0053: + 0000071E DD E5 1080 PUSH IX + 00000720 D1 1081 POP DE + 00000721 DD 7E 1C 1082 LD A,(IX+28) + 00000724 DD 6E 1A 1083 LD L,(IX+26) + 00000727 DD 66 1B 1084 LD H,(IX+27) + 0000072A CD 00 00 1085 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000072D DD 6E 13 1086 LD L,(IX+19) + 00000730 DD 66 14 1087 LD H,(IX+20) + 00000733 E5 1088 PUSH HL + 00000734 DD E1 1089 POP IX + 00000736 18 DF 1090 JR ?0052 + 00000738 1091 ?0051: + 00000738 1E 01 1092 LD E,1 + 0000073A CD 42 07 1093 CALL LWRD ?0478 + 0000073D C3 5E 02 1094 JP LWRD ?0411 + 00000740 1095 ?0477: + 00000740 1E 00 1096 LD E,0 + 00000742 1097 ?0478: + 00000742 3E FA 1098 LD A,BYTE3 EnableScreen + 00000744 21 FA 02 1099 LD HL,LWRD EnableScreen + 00000747 C3 00 00 1100 JP LWRD ?BANK_CALL_DIRECT_L08 + 0000074A 1101 Component_findXY: + 0000074A CD 00 00 1102 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 0000074D 00 00 1103 DEFW 0 + 0000074F FD E5 1104 PUSH IY + 00000751 DD 6E 02 1105 LD L,(IX+2) + 00000754 DD 66 03 1106 LD H,(IX+3) + 00000757 E5 1107 PUSH HL + 00000758 FD E1 1108 POP IY + 0000075A 1109 ?0056: + 0000075A DD 6E 04 1110 LD L,(IX+4) + 0000075D DD 66 05 1111 LD H,(IX+5) + 00000760 7E 1112 LD A,(HL) + 00000761 FD 86 02 1113 ADD A,(IY+2) + 00000764 77 1114 LD (HL),A + 00000765 23 1115 INC HL + 00000766 7E 1116 LD A,(HL) + 00000767 FD 8E 03 1117 ADC A,(IY+3) + 0000076A 77 1118 LD (HL),A + 0000076B DD 6E 0A 1119 LD L,(IX+10) + 0000076E DD 66 0B 1120 LD H,(IX+11) + 00000771 7E 1121 LD A,(HL) + 00000772 FD 86 04 1122 ADD A,(IY+4) + 00000775 77 1123 LD (HL),A + 00000776 23 1124 INC HL + 00000777 7E 1125 LD A,(HL) + 00000778 FD 8E 05 1126 ADC A,(IY+5) + 0000077B 77 1127 LD (HL),A + 0000077C FD 6E 11 1128 LD L,(IY+17) + 0000077F FD 66 12 1129 LD H,(IY+18) + 00000782 E5 1130 PUSH HL + 00000783 FD E1 1131 POP IY + 00000785 7D 1132 LD A,L + 00000786 B4 1133 OR H + 00000787 20 D1 1134 JR NZ,?0056 + 00000789 1135 ?0054: + 00000789 FD E1 1136 POP IY + 0000078B C3 00 00 1137 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000078E 1138 Component_find: + 0000078E CD 00 00 1139 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000791 00 00 1140 DEFW 0 + 00000793 21 15 00 1141 LD HL,21 + 00000796 DD 4E 02 1142 LD C,(IX+2) + 00000799 DD 46 03 1143 LD B,(IX+3) + 0000079C 09 1144 ADD HL,BC + 0000079D 1145 ?0336: + 0000079D 46 1146 LD B,(HL) + 0000079E 23 1147 INC HL + 0000079F 66 1148 LD H,(HL) + 000007A0 68 1149 LD L,B + 000007A1 EB 1150 EX DE,HL + 000007A2 1151 ?0058: + 000007A2 7B 1152 LD A,E + 000007A3 B2 1153 OR D + 000007A4 28 1B 1154 JR Z,?0057 + 000007A6 1155 ?0059: + 000007A6 21 10 00 1156 LD HL,16 + 000007A9 19 1157 ADD HL,DE + 000007AA 4E 1158 LD C,(HL) + 000007AB 06 00 1159 LD B,0 + 000007AD DD 6E 04 1160 LD L,(IX+4) + 000007B0 DD 66 05 1161 LD H,(IX+5) + 000007B3 A7 1162 AND A + 000007B4 ED 42 1163 SBC HL,BC + 000007B6 20 03 1164 JR NZ,?0061 + 000007B8 1165 ?0060: + 000007B8 EB 1166 EX DE,HL + 000007B9 18 08 1167 JR ?0062 + 000007BB 1168 ?0061: + 000007BB 21 13 00 1169 LD HL,19 + 000007BE 19 1170 ADD HL,DE + 000007BF 18 DC 1171 JR ?0336 + 000007C1 1172 ?0057: + 000007C1 6F 1173 LD L,A + 000007C2 67 1174 LD H,A + 000007C3 1175 ?0062: + 000007C3 C3 00 00 1176 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000007C6 1177 Component_delete: + 000007C6 CD 00 00 1178 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000007C9 F8 FF 1179 DEFW 65528 + 000007CB FD E5 1180 PUSH IY + 000007CD DD 6E 02 1181 LD L,(IX+2) + 000007D0 DD 66 03 1182 LD H,(IX+3) + 000007D3 E5 1183 PUSH HL + 000007D4 FD E1 1184 POP IY + 000007D6 FD 6E 15 1185 LD L,(IY+21) + 000007D9 DD 75 F8 1186 LD (IX-8),L + 000007DC FD 66 16 1187 LD H,(IY+22) + 000007DF DD 74 F9 1188 LD (IX-7),H + 000007E2 FD E5 1189 PUSH IY + 000007E4 E1 1190 POP HL + 000007E5 7D 1191 LD A,L + 000007E6 B4 1192 OR H + 000007E7 CA 79 09 1193 JP Z,?0064 + 000007EA 1194 ?0063: + 000007EA 1195 ?0066: + 000007EA DD 7E F8 1196 LD A,(IX-8) + 000007ED DD B6 F9 1197 OR (IX-7) + 000007F0 28 11 1198 JR Z,?0065 + 000007F2 1199 ?0067: + 000007F2 DD 5E F8 1200 LD E,(IX-8) + 000007F5 DD 56 F9 1201 LD D,(IX-7) + 000007F8 CD 8F 09 1202 CALL LWRD ?0453 + 000007FB DD 75 F8 1203 LD (IX-8),L + 000007FE DD 74 F9 1204 LD (IX-7),H + 00000801 18 E7 1205 JR ?0063 + 00000803 1206 ?0065: + 00000803 FD 7E 11 1207 LD A,(IY+17) + 00000806 FD B6 12 1208 OR (IY+18) + 00000809 CA 95 08 1209 JP Z,?0079 + 0000080C 1210 ?0068: + 0000080C FD 6E 11 1211 LD L,(IY+17) + 0000080F FD 66 12 1212 LD H,(IY+18) + 00000812 01 15 00 1213 LD BC,21 + 00000815 09 1214 ADD HL,BC + 00000816 46 1215 LD B,(HL) + 00000817 23 1216 INC HL + 00000818 66 1217 LD H,(HL) + 00000819 68 1218 LD L,B + 0000081A FD E5 1219 PUSH IY + 0000081C C1 1220 POP BC + 0000081D A7 1221 AND A + 0000081E ED 42 1222 SBC HL,BC + 00000820 FD 6E 11 1223 LD L,(IY+17) + 00000823 FD 66 12 1224 LD H,(IY+18) + 00000826 01 15 00 1225 LD BC,21 + 00000829 09 1226 ADD HL,BC + 0000082A 20 09 1227 JR NZ,?0071 + 0000082C 1228 ?0070: + 0000082C E5 1229 PUSH HL + 0000082D FD 6E 11 1230 LD L,(IY+17) + 00000830 FD 66 12 1231 LD H,(IY+18) + 00000833 18 50 1232 JR ?0339 + 00000835 1233 ?0071: + 00000835 46 1234 LD B,(HL) + 00000836 23 1235 INC HL + 00000837 66 1236 LD H,(HL) + 00000838 68 1237 LD L,B + 00000839 1238 ?0338: + 00000839 DD 75 F8 1239 LD (IX-8),L + 0000083C DD 74 F9 1240 LD (IX-7),H + 0000083F 1241 ?0074: + 0000083F 21 13 00 1242 LD HL,19 + 00000842 DD 4E F8 1243 LD C,(IX-8) + 00000845 DD 46 F9 1244 LD B,(IX-7) + 00000848 09 1245 ADD HL,BC + 00000849 46 1246 LD B,(HL) + 0000084A 23 1247 INC HL + 0000084B 66 1248 LD H,(HL) + 0000084C 68 1249 LD L,B + 0000084D FD E5 1250 PUSH IY + 0000084F C1 1251 POP BC + 00000850 A7 1252 AND A + 00000851 ED 42 1253 SBC HL,BC + 00000853 28 19 1254 JR Z,?0073 + 00000855 21 13 00 1255 LD HL,19 + 00000858 DD 4E F8 1256 LD C,(IX-8) + 0000085B DD 46 F9 1257 LD B,(IX-7) + 0000085E 09 1258 ADD HL,BC + 0000085F 7E 1259 LD A,(HL) + 00000860 23 1260 INC HL + 00000861 B6 1261 OR (HL) + 00000862 28 0A 1262 JR Z,?0073 + 00000864 1263 ?0077: + 00000864 1264 ?0076: + 00000864 1265 ?0075: + 00000864 21 13 00 1266 LD HL,19 + 00000867 09 1267 ADD HL,BC + 00000868 56 1268 LD D,(HL) + 00000869 23 1269 INC HL + 0000086A 66 1270 LD H,(HL) + 0000086B 6A 1271 LD L,D + 0000086C 18 CB 1272 JR ?0338 + 0000086E 1273 ?0073: + 0000086E 21 13 00 1274 LD HL,19 + 00000871 DD 4E F8 1275 LD C,(IX-8) + 00000874 DD 46 F9 1276 LD B,(IX-7) + 00000877 09 1277 ADD HL,BC + 00000878 7E 1278 LD A,(HL) + 00000879 23 1279 INC HL + 0000087A B6 1280 OR (HL) + 0000087B 28 18 1281 JR Z,?0079 + 0000087D 1282 ?0078: + 0000087D 21 13 00 1283 LD HL,19 + 00000880 09 1284 ADD HL,BC + 00000881 E5 1285 PUSH HL + 00000882 21 13 00 1286 LD HL,19 + 00000885 1287 ?0339: + 00000885 09 1288 ADD HL,BC + 00000886 46 1289 LD B,(HL) + 00000887 23 1290 INC HL + 00000888 66 1291 LD H,(HL) + 00000889 68 1292 LD L,B + 0000088A 01 13 00 1293 LD BC,19 + 0000088D 09 1294 ADD HL,BC + 0000088E 4E 1295 LD C,(HL) + 0000088F 23 1296 INC HL + 00000890 46 1297 LD B,(HL) + 00000891 E1 1298 POP HL + 00000892 71 1299 LD (HL),C + 00000893 23 1300 INC HL + 00000894 70 1301 LD (HL),B + 00000895 1302 ?0079: + 00000895 1303 ?0072: + 00000895 1304 ?0069: + 00000895 FD 6E 13 1305 LD L,(IY+19) + 00000898 DD 75 F8 1306 LD (IX-8),L + 0000089B FD 66 14 1307 LD H,(IY+20) + 0000089E DD 74 F9 1308 LD (IX-7),H + 000008A1 3E 04 1309 LD A,4 + 000008A3 FD AE 24 1310 XOR (IY+36) + 000008A6 FD B6 25 1311 OR (IY+37) + 000008A9 C2 45 09 1312 JP NZ,?0088 + 000008AC 1313 ?0080: + 000008AC FD 6E 11 1314 LD L,(IY+17) + 000008AF DD 75 FC 1315 LD (IX-4),L + 000008B2 FD 66 12 1316 LD H,(IY+18) + 000008B5 DD 74 FD 1317 LD (IX-3),H + 000008B8 FD 6E 26 1318 LD L,(IY+38) + 000008BB DD 75 FE 1319 LD (IX-2),L + 000008BE FD 66 27 1320 LD H,(IY+39) + 000008C1 DD 74 FF 1321 LD (IX-1),H + 000008C4 CD 84 09 1322 CALL LWRD ?0451 + 000008C7 DD 6E FE 1323 LD L,(IX-2) + 000008CA DD 66 FF 1324 LD H,(IX-1) + 000008CD 23 1325 INC HL + 000008CE 23 1326 INC HL + 000008CF CD 84 09 1327 CALL LWRD ?0451 + 000008D2 1328 ?0083: + 000008D2 DD 7E FC 1329 LD A,(IX-4) + 000008D5 DD B6 FD 1330 OR (IX-3) + 000008D8 28 20 1331 JR Z,?0082 + 000008DA 21 24 00 1332 LD HL,36 + 000008DD DD 4E FC 1333 LD C,(IX-4) + 000008E0 DD 46 FD 1334 LD B,(IX-3) + 000008E3 09 1335 ADD HL,BC + 000008E4 3E 04 1336 LD A,4 + 000008E6 AE 1337 XOR (HL) + 000008E7 23 1338 INC HL + 000008E8 B6 1339 OR (HL) + 000008E9 28 0F 1340 JR Z,?0082 + 000008EB 1341 ?0086: + 000008EB 1342 ?0085: + 000008EB 1343 ?0084: + 000008EB 21 11 00 1344 LD HL,17 + 000008EE 09 1345 ADD HL,BC + 000008EF 56 1346 LD D,(HL) + 000008F0 DD 72 FC 1347 LD (IX-4),D + 000008F3 23 1348 INC HL + 000008F4 66 1349 LD H,(HL) + 000008F5 DD 74 FD 1350 LD (IX-3),H + 000008F8 18 D8 1351 JR ?0083 + 000008FA 1352 ?0082: + 000008FA DD 7E FC 1353 LD A,(IX-4) + 000008FD DD B6 FD 1354 OR (IX-3) + 00000900 28 43 1355 JR Z,?0088 + 00000902 1356 ?0087: + 00000902 21 26 00 1357 LD HL,38 + 00000905 DD 4E FC 1358 LD C,(IX-4) + 00000908 DD 46 FD 1359 LD B,(IX-3) + 0000090B 09 1360 ADD HL,BC + 0000090C 46 1361 LD B,(HL) + 0000090D DD 70 FE 1362 LD (IX-2),B + 00000910 23 1363 INC HL + 00000911 66 1364 LD H,(HL) + 00000912 DD 74 FF 1365 LD (IX-1),H + 00000915 21 06 00 1366 LD HL,6 + 00000918 ED 4B 00 00 1367 LD BC,(global) + 0000091C 09 1368 ADD HL,BC + 0000091D E5 1369 PUSH HL + 0000091E DD 6E FE 1370 LD L,(IX-2) + 00000921 DD 66 FF 1371 LD H,(IX-1) + 00000924 5E 1372 LD E,(HL) + 00000925 23 1373 INC HL + 00000926 56 1374 LD D,(HL) + 00000927 E1 1375 POP HL + 00000928 73 1376 LD (HL),E + 00000929 23 1377 INC HL + 0000092A 72 1378 LD (HL),D + 0000092B 21 08 00 1379 LD HL,8 + 0000092E ED 4B 00 00 1380 LD BC,(global) + 00000932 09 1381 ADD HL,BC + 00000933 E5 1382 PUSH HL + 00000934 DD 4E FE 1383 LD C,(IX-2) + 00000937 DD 46 FF 1384 LD B,(IX-1) + 0000093A 03 1385 INC BC + 0000093B 03 1386 INC BC + 0000093C 69 1387 LD L,C + 0000093D 60 1388 LD H,B + 0000093E 4E 1389 LD C,(HL) + 0000093F 23 1390 INC HL + 00000940 46 1391 LD B,(HL) + 00000941 E1 1392 POP HL + 00000942 71 1393 LD (HL),C + 00000943 23 1394 INC HL + 00000944 70 1395 LD (HL),B + 00000945 1396 ?0088: + 00000945 1397 ?0081: + 00000945 FD 4E 24 1398 LD C,(IY+36) + 00000948 FD 46 25 1399 LD B,(IY+37) + 0000094B 21 00 00 1400 LD HL,0 + 0000094E CD 00 00 1401 CALL LWRD ?SS_CMP_L02 + 00000951 30 09 1402 JR NC,?0090 + 00000953 1403 ?0089: + 00000953 FD 5E 26 1404 LD E,(IY+38) + 00000956 FD 56 27 1405 LD D,(IY+39) + 00000959 CD 87 09 1406 CALL LWRD ?0452 + 0000095C 1407 ?0090: + 0000095C FD CB 0B 76 1408 BIT 6,(IY+11) + 00000960 20 11 1409 JR NZ,?0092 + 00000962 FD 7E 20 1410 LD A,(IY+32) + 00000965 FD B6 21 1411 OR (IY+33) + 00000968 28 09 1412 JR Z,?0092 + 0000096A 1413 ?0094: + 0000096A 1414 ?0093: + 0000096A 1415 ?0091: + 0000096A FD 5E 20 1416 LD E,(IY+32) + 0000096D FD 56 21 1417 LD D,(IY+33) + 00000970 CD 87 09 1418 CALL LWRD ?0452 + 00000973 1419 ?0092: + 00000973 FD E5 1420 PUSH IY + 00000975 D1 1421 POP DE + 00000976 CD 87 09 1422 CALL LWRD ?0452 + 00000979 1423 ?0064: + 00000979 DD 6E F8 1424 LD L,(IX-8) + 0000097C DD 66 F9 1425 LD H,(IX-7) + 0000097F FD E1 1426 POP IY + 00000981 C3 00 00 1427 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000984 1428 ?0451: + 00000984 5E 1429 LD E,(HL) + 00000985 23 1430 INC HL + 00000986 56 1431 LD D,(HL) + 00000987 1432 ?0452: + 00000987 3E 00 1433 LD A,BYTE3 free + 00000989 21 00 00 1434 LD HL,LWRD free + 0000098C C3 00 00 1435 JP LWRD ?BANK_CALL_DIRECT_L08 + 0000098F 1436 ?0453: + 0000098F 3E C6 1437 LD A,BYTE3 Component_delete + 00000991 21 C6 07 1438 LD HL,LWRD Component_delete + 00000994 C3 00 00 1439 JP LWRD ?BANK_CALL_DIRECT_L08 + 00000997 1440 Component_delete_children: + 00000997 C5 1441 PUSH BC + 00000998 FD E5 1442 PUSH IY + 0000099A DD E5 1443 PUSH IX + 0000099C 21 15 00 1444 LD HL,21 + 0000099F 19 1445 ADD HL,DE + 000009A0 46 1446 LD B,(HL) + 000009A1 23 1447 INC HL + 000009A2 66 1448 LD H,(HL) + 000009A3 68 1449 LD L,B + 000009A4 1450 ?0341: + 000009A4 E5 1451 PUSH HL + 000009A5 DD E1 1452 POP IX + 000009A7 1453 ?0096: + 000009A7 7D 1454 LD A,L + 000009A8 B4 1455 OR H + 000009A9 28 08 1456 JR Z,?0095 + 000009AB 1457 ?0097: + 000009AB DD E5 1458 PUSH IX + 000009AD D1 1459 POP DE + 000009AE CD 8F 09 1460 CALL LWRD ?0453 + 000009B1 18 F1 1461 JR ?0341 + 000009B3 1462 ?0095: + 000009B3 C3 5E 02 1463 JP LWRD ?0411 + 000009B6 1464 Component_changestate_children: + 000009B6 CD 00 00 1465 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000009B9 00 00 1466 DEFW 0 + 000009BB FD E5 1467 PUSH IY + 000009BD 21 15 00 1468 LD HL,21 + 000009C0 DD 5E 02 1469 LD E,(IX+2) + 000009C3 DD 56 03 1470 LD D,(IX+3) + 000009C6 19 1471 ADD HL,DE + 000009C7 1472 ?0342: + 000009C7 56 1473 LD D,(HL) + 000009C8 23 1474 INC HL + 000009C9 66 1475 LD H,(HL) + 000009CA 6A 1476 LD L,D + 000009CB E5 1477 PUSH HL + 000009CC FD E1 1478 POP IY + 000009CE 1479 ?0099: + 000009CE 7D 1480 LD A,L + 000009CF B4 1481 OR H + 000009D0 28 3D 1482 JR Z,?0098 + 000009D2 1483 ?0100: + 000009D2 21 0A 00 1484 LD HL,10 + 000009D5 FD E5 1485 PUSH IY + 000009D7 C1 1486 POP BC + 000009D8 09 1487 ADD HL,BC + 000009D9 DD 7E 04 1488 LD A,(IX+4) + 000009DC DD 56 05 1489 LD D,(IX+5) + 000009DF 2F 1490 CPL + 000009E0 5F 1491 LD E,A + 000009E1 7A 1492 LD A,D + 000009E2 2F 1493 CPL + 000009E3 57 1494 LD D,A + 000009E4 7E 1495 LD A,(HL) + 000009E5 A3 1496 AND E + 000009E6 77 1497 LD (HL),A + 000009E7 23 1498 INC HL + 000009E8 7E 1499 LD A,(HL) + 000009E9 A2 1500 AND D + 000009EA 77 1501 LD (HL),A + 000009EB 21 0A 00 1502 LD HL,10 + 000009EE 09 1503 ADD HL,BC + 000009EF 7E 1504 LD A,(HL) + 000009F0 DD B6 0A 1505 OR (IX+10) + 000009F3 77 1506 LD (HL),A + 000009F4 23 1507 INC HL + 000009F5 7E 1508 LD A,(HL) + 000009F6 DD B6 0B 1509 OR (IX+11) + 000009F9 77 1510 LD (HL),A + 000009FA 21 0A 00 1511 LD HL,10 + 000009FD 09 1512 ADD HL,BC + 000009FE 7E 1513 LD A,(HL) + 000009FF DD AE 0C 1514 XOR (IX+12) + 00000A02 77 1515 LD (HL),A + 00000A03 23 1516 INC HL + 00000A04 7E 1517 LD A,(HL) + 00000A05 DD AE 0D 1518 XOR (IX+13) + 00000A08 77 1519 LD (HL),A + 00000A09 21 13 00 1520 LD HL,19 + 00000A0C 09 1521 ADD HL,BC + 00000A0D 18 B8 1522 JR ?0342 + 00000A0F 1523 ?0098: + 00000A0F 11 00 00 1524 LD DE,stdout + 00000A12 3E 00 1525 LD A,BYTE3 fflush + 00000A14 21 00 00 1526 LD HL,LWRD fflush + 00000A17 CD 00 00 1527 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000A1A FD E1 1528 POP IY + 00000A1C C3 00 00 1529 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000A1F 1530 Component_linkstringtable: + 00000A1F C5 1531 PUSH BC + 00000A20 FD E5 1532 PUSH IY + 00000A22 DD E5 1533 PUSH IX + 00000A24 D5 1534 PUSH DE + 00000A25 DD E1 1535 POP IX + 00000A27 21 15 00 1536 LD HL,21 + 00000A2A 19 1537 ADD HL,DE + 00000A2B 46 1538 LD B,(HL) + 00000A2C 23 1539 INC HL + 00000A2D 66 1540 LD H,(HL) + 00000A2E 68 1541 LD L,B + 00000A2F E5 1542 PUSH HL + 00000A30 FD E1 1543 POP IY + 00000A32 21 20 00 1544 LD HL,32 + 00000A35 19 1545 ADD HL,DE + 00000A36 46 1546 LD B,(HL) + 00000A37 23 1547 INC HL + 00000A38 66 1548 LD H,(HL) + 00000A39 68 1549 LD L,B + 00000A3A 01 00 90 1550 LD BC,36864 + 00000A3D 3E 80 1551 LD A,128 + 00000A3F AC 1552 XOR H + 00000A40 67 1553 LD H,A + 00000A41 ED 42 1554 SBC HL,BC + 00000A43 30 2E 1555 JR NC,?0102 + 00000A45 DD 4E 20 1556 LD C,(IX+32) + 00000A48 DD 46 21 1557 LD B,(IX+33) + 00000A4B 21 00 00 1558 LD HL,0 + 00000A4E CD 00 00 1559 CALL LWRD ?SS_CMP_L02 + 00000A51 30 20 1560 JR NC,?0102 + 00000A53 1561 ?0104: + 00000A53 1562 ?0103: + 00000A53 1563 ?0101: + 00000A53 DD 6E 20 1564 LD L,(IX+32) + 00000A56 DD 66 21 1565 LD H,(IX+33) + 00000A59 29 1566 ADD HL,HL + 00000A5A E5 1567 PUSH HL + 00000A5B 21 08 00 1568 LD HL,8 + 00000A5E ED 4B 00 00 1569 LD BC,(global) + 00000A62 09 1570 ADD HL,BC + 00000A63 4E 1571 LD C,(HL) + 00000A64 23 1572 INC HL + 00000A65 46 1573 LD B,(HL) + 00000A66 E1 1574 POP HL + 00000A67 09 1575 ADD HL,BC + 00000A68 2B 1576 DEC HL + 00000A69 2B 1577 DEC HL + 00000A6A 46 1578 LD B,(HL) + 00000A6B DD 70 20 1579 LD (IX+32),B + 00000A6E 23 1580 INC HL + 00000A6F 66 1581 LD H,(HL) + 00000A70 DD 74 21 1582 LD (IX+33),H + 00000A73 1583 ?0102: + 00000A73 DD 6E 22 1584 LD L,(IX+34) + 00000A76 DD 66 23 1585 LD H,(IX+35) + 00000A79 01 00 90 1586 LD BC,36864 + 00000A7C 3E 80 1587 LD A,128 + 00000A7E AC 1588 XOR H + 00000A7F 67 1589 LD H,A + 00000A80 ED 42 1590 SBC HL,BC + 00000A82 30 2E 1591 JR NC,?0106 + 00000A84 DD 4E 22 1592 LD C,(IX+34) + 00000A87 DD 46 23 1593 LD B,(IX+35) + 00000A8A 21 00 00 1594 LD HL,0 + 00000A8D CD 00 00 1595 CALL LWRD ?SS_CMP_L02 + 00000A90 30 20 1596 JR NC,?0106 + 00000A92 1597 ?0108: + 00000A92 1598 ?0107: + 00000A92 1599 ?0105: + 00000A92 DD 6E 22 1600 LD L,(IX+34) + 00000A95 DD 66 23 1601 LD H,(IX+35) + 00000A98 29 1602 ADD HL,HL + 00000A99 E5 1603 PUSH HL + 00000A9A 21 08 00 1604 LD HL,8 + 00000A9D ED 4B 00 00 1605 LD BC,(global) + 00000AA1 09 1606 ADD HL,BC + 00000AA2 4E 1607 LD C,(HL) + 00000AA3 23 1608 INC HL + 00000AA4 46 1609 LD B,(HL) + 00000AA5 E1 1610 POP HL + 00000AA6 09 1611 ADD HL,BC + 00000AA7 2B 1612 DEC HL + 00000AA8 2B 1613 DEC HL + 00000AA9 46 1614 LD B,(HL) + 00000AAA DD 70 22 1615 LD (IX+34),B + 00000AAD 23 1616 INC HL + 00000AAE 66 1617 LD H,(HL) + 00000AAF DD 74 23 1618 LD (IX+35),H + 00000AB2 1619 ?0106: + 00000AB2 1620 ?0110: + 00000AB2 FD E5 1621 PUSH IY + 00000AB4 E1 1622 POP HL + 00000AB5 7D 1623 LD A,L + 00000AB6 B4 1624 OR H + 00000AB7 28 16 1625 JR Z,?0109 + 00000AB9 1626 ?0111: + 00000AB9 FD E5 1627 PUSH IY + 00000ABB D1 1628 POP DE + 00000ABC 3E 1F 1629 LD A,BYTE3 Component_linkstringtable + 00000ABE 21 1F 0A 1630 LD HL,LWRD Component_linkstringtable + 00000AC1 CD 00 00 1631 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000AC4 FD 6E 13 1632 LD L,(IY+19) + 00000AC7 FD 66 14 1633 LD H,(IY+20) + 00000ACA E5 1634 PUSH HL + 00000ACB FD E1 1635 POP IY + 00000ACD 18 E3 1636 JR ?0106 + 00000ACF 1637 ?0109: + 00000ACF C3 5E 02 1638 JP LWRD ?0411 + 00000AD2 1639 Window_handler: + 00000AD2 CD 00 00 1640 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000AD5 D0 FF 1641 DEFW 65488 + 00000AD7 FD E5 1642 PUSH IY + 00000AD9 AF 1643 XOR A + 00000ADA DD 77 FA 1644 LD (IX-6),A + 00000ADD DD 77 FB 1645 LD (IX-5),A + 00000AE0 DD 77 FC 1646 LD (IX-4),A + 00000AE3 DD 77 FD 1647 LD (IX-3),A + 00000AE6 59 1648 LD E,C + 00000AE7 50 1649 LD D,B + 00000AE8 CD 00 00 1650 CALL LWRD ?S_V_SWITCH_L06 + 00000AEB 08 00 1651 DEFW 8 + 00000AED 01 00 1652 DEFW 1 + 00000AEF 02 00 1653 DEFW 2 + 00000AF1 03 00 1654 DEFW 3 + 00000AF3 02 01 1655 DEFW 258 + 00000AF5 03 01 1656 DEFW 259 + 00000AF7 04 01 1657 DEFW 260 + 00000AF9 05 01 1658 DEFW 261 + 00000AFB 01 04 1659 DEFW 1025 + 00000AFD 6B 0D 1660 DEFW ?0159 + 00000AFF D9 0C 1661 DEFW ?0153 + 00000B01 6C 0C 1662 DEFW ?0144 + 00000B03 98 0C 1663 DEFW ?0145 + 00000B05 E0 0B 1664 DEFW ?0142 + 00000B07 F1 0B 1665 DEFW ?0143 + 00000B09 A5 0B 1666 DEFW ?0131 + 00000B0B 40 0B 1667 DEFW ?0119 + 00000B0D 0F 0B 1668 DEFW ?0113 + 00000B0F 1669 ?0113: + 00000B0F 21 15 00 1670 LD HL,21 + 00000B12 DD 4E 02 1671 LD C,(IX+2) + 00000B15 DD 46 03 1672 LD B,(IX+3) + 00000B18 09 1673 ADD HL,BC + 00000B19 46 1674 LD B,(HL) + 00000B1A 23 1675 INC HL + 00000B1B 66 1676 LD H,(HL) + 00000B1C 68 1677 LD L,B + 00000B1D 1678 ?0344: + 00000B1D E5 1679 PUSH HL + 00000B1E FD E1 1680 POP IY + 00000B20 1681 ?0115: + 00000B20 7D 1682 LD A,L + 00000B21 B4 1683 OR H + 00000B22 28 19 1684 JR Z,?0114 + 00000B24 1685 ?0116: + 00000B24 FD CB 0A 46 1686 BIT 0,(IY+10) + 00000B28 28 0B 1687 JR Z,?0118 + 00000B2A 1688 ?0117: + 00000B2A DD 6E 0A 1689 LD L,(IX+10) + 00000B2D DD 66 0B 1690 LD H,(IX+11) + 00000B30 E5 1691 PUSH HL + 00000B31 CD 70 0D 1692 CALL LWRD ?0462 + 00000B34 E1 1693 POP HL + 00000B35 1694 ?0118: + 00000B35 FD 6E 13 1695 LD L,(IY+19) + 00000B38 FD 66 14 1696 LD H,(IY+20) + 00000B3B 18 E0 1697 JR ?0344 + 00000B3D 1698 ?0114: + 00000B3D C3 6B 0D 1699 JP LWRD ?0159 + 00000B40 1700 ?0119: + 00000B40 21 15 00 1701 LD HL,21 + 00000B43 DD 4E 02 1702 LD C,(IX+2) + 00000B46 DD 46 03 1703 LD B,(IX+3) + 00000B49 09 1704 ADD HL,BC + 00000B4A 46 1705 LD B,(HL) + 00000B4B 23 1706 INC HL + 00000B4C 66 1707 LD H,(HL) + 00000B4D 68 1708 LD L,B + 00000B4E 1709 ?0348: + 00000B4E E5 1710 PUSH HL + 00000B4F FD E1 1711 POP IY + 00000B51 1712 ?0121: + 00000B51 7D 1713 LD A,L + 00000B52 B4 1714 OR H + 00000B53 28 4D 1715 JR Z,?0120 + 00000B55 1716 ?0122: + 00000B55 FD CB 0A 46 1717 BIT 0,(IY+10) + 00000B59 28 38 1718 JR Z,?0126 + 00000B5B 1719 ?0123: + 00000B5B DD 6E 0A 1720 LD L,(IX+10) + 00000B5E DD 66 0B 1721 LD H,(IX+11) + 00000B61 E5 1722 PUSH HL + 00000B62 CD 70 0D 1723 CALL LWRD ?0462 + 00000B65 E1 1724 POP HL + 00000B66 DD 6E 0A 1725 LD L,(IX+10) + 00000B69 DD 66 0B 1726 LD H,(IX+11) + 00000B6C E5 1727 PUSH HL + 00000B6D 01 03 00 1728 LD BC,3 + 00000B70 CD 76 0D 1729 CALL LWRD ?0463 + 00000B73 E1 1730 POP HL + 00000B74 FD 7E 0A 1731 LD A,(IY+10) + 00000B77 E6 22 1732 AND 34 + 00000B79 6F 1733 LD L,A + 00000B7A 26 00 1734 LD H,0 + 00000B7C 3E 22 1735 LD A,34 + 00000B7E AD 1736 XOR L + 00000B7F 20 12 1737 JR NZ,?0126 + 00000B81 FD 4E 10 1738 LD C,(IY+16) + 00000B84 44 1739 LD B,H + 00000B85 DD 6E 0A 1740 LD L,(IX+10) + 00000B88 DD 66 0B 1741 LD H,(IX+11) + 00000B8B ED 42 1742 SBC HL,BC + 00000B8D 20 04 1743 JR NZ,?0126 + 00000B8F 1744 ?0128: + 00000B8F 1745 ?0127: + 00000B8F 1746 ?0125: + 00000B8F FD 21 00 00 1747 LD IY,0 + 00000B93 1748 ?0126: + 00000B93 1749 ?0124: + 00000B93 FD E5 1750 PUSH IY + 00000B95 E1 1751 POP HL + 00000B96 7D 1752 LD A,L + 00000B97 B4 1753 OR H + 00000B98 28 B7 1754 JR Z,?0121 + 00000B9A 1755 ?0129: + 00000B9A FD 6E 13 1756 LD L,(IY+19) + 00000B9D FD 66 14 1757 LD H,(IY+20) + 00000BA0 18 AC 1758 JR ?0348 + 00000BA2 1759 ?0130: + 00000BA2 1760 ?0120: + 00000BA2 C3 6B 0D 1761 JP LWRD ?0159 + 00000BA5 1762 ?0131: + 00000BA5 DD 6E 02 1763 LD L,(IX+2) + 00000BA8 DD 66 03 1764 LD H,(IX+3) + 00000BAB E5 1765 PUSH HL + 00000BAC FD E1 1766 POP IY + 00000BAE 21 0A 00 1767 LD HL,10 + 00000BB1 DD 4E 02 1768 LD C,(IX+2) + 00000BB4 DD 46 03 1769 LD B,(IX+3) + 00000BB7 09 1770 ADD HL,BC + 00000BB8 CB 46 1771 BIT 0,(HL) + 00000BBA 28 21 1772 JR Z,?0139 + 00000BBC 1773 ?0132: + 00000BBC FD CB 0A 6E 1774 BIT 5,(IY+10) + 00000BC0 28 1B 1775 JR Z,?0139 + 00000BC2 FD 4E 10 1776 LD C,(IY+16) + 00000BC5 47 1777 LD B,A + 00000BC6 DD 6E 0A 1778 LD L,(IX+10) + 00000BC9 DD 66 0B 1779 LD H,(IX+11) + 00000BCC A7 1780 AND A + 00000BCD ED 42 1781 SBC HL,BC + 00000BCF 20 0C 1782 JR NZ,?0139 + 00000BD1 1783 ?0137: + 00000BD1 1784 ?0136: + 00000BD1 1785 ?0134: + 00000BD1 FD 6E 26 1786 LD L,(IY+38) + 00000BD4 FD 66 27 1787 LD H,(IY+39) + 00000BD7 FD E5 1788 PUSH IY + 00000BD9 D1 1789 POP DE + 00000BDA CD 95 0D 1790 CALL LWRD ?0474 + 00000BDD 1791 ?0138: + 00000BDD 1792 ?0139: + 00000BDD 1793 ?0135: + 00000BDD 1794 ?0133: + 00000BDD 1795 ?0140: + 00000BDD 1796 ?0141: + 00000BDD C3 6B 0D 1797 JP LWRD ?0159 + 00000BE0 1798 ?0142: + 00000BE0 DD 5E 02 1799 LD E,(IX+2) + 00000BE3 4B 1800 LD C,E + 00000BE4 DD 56 03 1801 LD D,(IX+3) + 00000BE7 42 1802 LD B,D + 00000BE8 21 1A 00 1803 LD HL,26 + 00000BEB CD 94 0D 1804 CALL LWRD ?0475 + 00000BEE C3 6B 0D 1805 JP LWRD ?0159 + 00000BF1 1806 ?0143: + 00000BF1 21 0A 00 1807 LD HL,10 + 00000BF4 DD 4E 02 1808 LD C,(IX+2) + 00000BF7 DD 46 03 1809 LD B,(IX+3) + 00000BFA 09 1810 ADD HL,BC + 00000BFB 7E 1811 LD A,(HL) + 00000BFC E6 FC 1812 AND 252 + 00000BFE 77 1813 LD (HL),A + 00000BFF 21 2E 00 1814 LD HL,46 + 00000C02 39 1815 ADD HL,SP + 00000C03 E5 1816 PUSH HL + 00000C04 2B 1817 DEC HL + 00000C05 2B 1818 DEC HL + 00000C06 4D 1819 LD C,L + 00000C07 44 1820 LD B,H + 00000C08 DD 5E 02 1821 LD E,(IX+2) + 00000C0B DD 56 03 1822 LD D,(IX+3) + 00000C0E CD 8C 0D 1823 CALL LWRD ?0466 + 00000C11 E1 1824 POP HL + 00000C12 21 08 00 1825 LD HL,8 + 00000C15 DD 4E 02 1826 LD C,(IX+2) + 00000C18 DD 46 03 1827 LD B,(IX+3) + 00000C1B 09 1828 ADD HL,BC + 00000C1C 5E 1829 LD E,(HL) + 00000C1D 23 1830 INC HL + 00000C1E 56 1831 LD D,(HL) + 00000C1F D5 1832 PUSH DE + 00000C20 21 06 00 1833 LD HL,6 + 00000C23 09 1834 ADD HL,BC + 00000C24 5E 1835 LD E,(HL) + 00000C25 23 1836 INC HL + 00000C26 56 1837 LD D,(HL) + 00000C27 D5 1838 PUSH DE + 00000C28 DD 6E FC 1839 LD L,(IX-4) + 00000C2B DD 66 FD 1840 LD H,(IX-3) + 00000C2E E5 1841 PUSH HL + 00000C2F DD 4E FA 1842 LD C,(IX-6) + 00000C32 DD 46 FB 1843 LD B,(IX-5) + 00000C35 11 00 00 1844 LD DE,0 + 00000C38 CD F2 02 1845 CALL LWRD ?0471 + 00000C3B E1 1846 POP HL + 00000C3C E1 1847 POP HL + 00000C3D E1 1848 POP HL + 00000C3E 21 00 00 1849 LD HL,0 + 00000C41 E5 1850 PUSH HL + 00000C42 2E 11 1851 LD L,17 + 00000C44 DD 5E 02 1852 LD E,(IX+2) + 00000C47 DD 56 03 1853 LD D,(IX+3) + 00000C4A 19 1854 ADD HL,DE + 00000C4B 5E 1855 LD E,(HL) + 00000C4C 23 1856 INC HL + 00000C4D 56 1857 LD D,(HL) + 00000C4E 21 11 00 1858 LD HL,17 + 00000C51 DD 4E 02 1859 LD C,(IX+2) + 00000C54 DD 46 03 1860 LD B,(IX+3) + 00000C57 09 1861 ADD HL,BC + 00000C58 46 1862 LD B,(HL) + 00000C59 23 1863 INC HL + 00000C5A 66 1864 LD H,(HL) + 00000C5B 68 1865 LD L,B + 00000C5C 01 17 00 1866 LD BC,23 + 00000C5F 09 1867 ADD HL,BC + 00000C60 4E 1868 LD C,(HL) + 00000C61 23 1869 INC HL + 00000C62 46 1870 LD B,(HL) + 00000C63 23 1871 INC HL + 00000C64 7E 1872 LD A,(HL) + 00000C65 69 1873 LD L,C + 00000C66 60 1874 LD H,B + 00000C67 01 03 01 1875 LD BC,259 + 00000C6A 18 29 1876 JR ?0347 + 00000C6C 1877 ?0144: + 00000C6C 21 11 00 1878 LD HL,17 + 00000C6F DD 4E 02 1879 LD C,(IX+2) + 00000C72 DD 46 03 1880 LD B,(IX+3) + 00000C75 09 1881 ADD HL,BC + 00000C76 56 1882 LD D,(HL) + 00000C77 23 1883 INC HL + 00000C78 66 1884 LD H,(HL) + 00000C79 6A 1885 LD L,D + 00000C7A E5 1886 PUSH HL + 00000C7B FD E1 1887 POP IY + 00000C7D 59 1888 LD E,C + 00000C7E 50 1889 LD D,B + 00000C7F CD 8F 09 1890 CALL LWRD ?0453 + 00000C82 21 00 00 1891 LD HL,0 + 00000C85 E5 1892 PUSH HL + 00000C86 01 03 01 1893 LD BC,259 + 00000C89 FD E5 1894 PUSH IY + 00000C8B D1 1895 POP DE + 00000C8C FD 7E 19 1896 LD A,(IY+25) + 00000C8F FD 6E 17 1897 LD L,(IY+23) + 00000C92 FD 66 18 1898 LD H,(IY+24) + 00000C95 1899 ?0347: + 00000C95 C3 67 0D 1900 JP LWRD ?0346 + 00000C98 1901 ?0145: + 00000C98 21 15 00 1902 LD HL,21 + 00000C9B DD 4E 02 1903 LD C,(IX+2) + 00000C9E DD 46 03 1904 LD B,(IX+3) + 00000CA1 09 1905 ADD HL,BC + 00000CA2 46 1906 LD B,(HL) + 00000CA3 23 1907 INC HL + 00000CA4 66 1908 LD H,(HL) + 00000CA5 68 1909 LD L,B + 00000CA6 1910 ?0345: + 00000CA6 E5 1911 PUSH HL + 00000CA7 FD E1 1912 POP IY + 00000CA9 1913 ?0147: + 00000CA9 7D 1914 LD A,L + 00000CAA B4 1915 OR H + 00000CAB 28 29 1916 JR Z,?0146 + 00000CAD 1917 ?0148: + 00000CAD DD 6E 0A 1918 LD L,(IX+10) + 00000CB0 DD 66 0B 1919 LD H,(IX+11) + 00000CB3 FD E5 1920 PUSH IY + 00000CB5 C1 1921 POP BC + 00000CB6 ED 42 1922 SBC HL,BC + 00000CB8 28 14 1923 JR Z,?0150 + 00000CBA FD CB 0A 5E 1924 BIT 3,(IY+10) + 00000CBE 28 0E 1925 JR Z,?0150 + 00000CC0 1926 ?0152: + 00000CC0 1927 ?0151: + 00000CC0 1928 ?0149: + 00000CC0 DD 6E 0A 1929 LD L,(IX+10) + 00000CC3 DD 66 0B 1930 LD H,(IX+11) + 00000CC6 E5 1931 PUSH HL + 00000CC7 01 03 02 1932 LD BC,515 + 00000CCA CD 76 0D 1933 CALL LWRD ?0463 + 00000CCD E1 1934 POP HL + 00000CCE 1935 ?0150: + 00000CCE FD 6E 13 1936 LD L,(IY+19) + 00000CD1 FD 66 14 1937 LD H,(IY+20) + 00000CD4 18 D0 1938 JR ?0345 + 00000CD6 1939 ?0146: + 00000CD6 C3 6B 0D 1940 JP LWRD ?0159 + 00000CD9 1941 ?0153: + 00000CD9 21 11 00 1942 LD HL,17 + 00000CDC DD 4E 02 1943 LD C,(IX+2) + 00000CDF DD 46 03 1944 LD B,(IX+3) + 00000CE2 09 1945 ADD HL,BC + 00000CE3 7E 1946 LD A,(HL) + 00000CE4 23 1947 INC HL + 00000CE5 B6 1948 OR (HL) + 00000CE6 20 0E 1949 JR NZ,?0155 + 00000CE8 1950 ?0154: + 00000CE8 21 04 00 1951 LD HL,4 + 00000CEB ED 4B 00 00 1952 LD BC,(global) + 00000CEF 09 1953 ADD HL,BC + 00000CF0 36 01 1954 LD (HL),1 + 00000CF2 23 1955 INC HL + 00000CF3 77 1956 LD (HL),A + 00000CF4 18 75 1957 JR ?0159 + 00000CF6 1958 ?0155: + 00000CF6 21 0A 00 1959 LD HL,10 + 00000CF9 09 1960 ADD HL,BC + 00000CFA 23 1961 INC HL + 00000CFB CB 6E 1962 BIT 5,(HL) + 00000CFD 20 28 1963 JR NZ,?0158 + 00000CFF 1964 ?0157: + 00000CFF DD 6E 0A 1965 LD L,(IX+10) + 00000D02 DD 66 0B 1966 LD H,(IX+11) + 00000D05 E5 1967 PUSH HL + 00000D06 21 11 00 1968 LD HL,17 + 00000D09 59 1969 LD E,C + 00000D0A 50 1970 LD D,B + 00000D0B 19 1971 ADD HL,DE + 00000D0C 5E 1972 LD E,(HL) + 00000D0D 23 1973 INC HL + 00000D0E 56 1974 LD D,(HL) + 00000D0F 21 11 00 1975 LD HL,17 + 00000D12 09 1976 ADD HL,BC + 00000D13 46 1977 LD B,(HL) + 00000D14 23 1978 INC HL + 00000D15 66 1979 LD H,(HL) + 00000D16 68 1980 LD L,B + 00000D17 01 17 00 1981 LD BC,23 + 00000D1A 09 1982 ADD HL,BC + 00000D1B 4E 1983 LD C,(HL) + 00000D1C 23 1984 INC HL + 00000D1D 46 1985 LD B,(HL) + 00000D1E 23 1986 INC HL + 00000D1F 7E 1987 LD A,(HL) + 00000D20 69 1988 LD L,C + 00000D21 60 1989 LD H,B + 00000D22 01 01 04 1990 LD BC,1025 + 00000D25 18 40 1991 JR ?0346 + 00000D27 1992 ?0158: + 00000D27 21 11 00 1993 LD HL,17 + 00000D2A 09 1994 ADD HL,BC + 00000D2B 56 1995 LD D,(HL) + 00000D2C 23 1996 INC HL + 00000D2D 66 1997 LD H,(HL) + 00000D2E 6A 1998 LD L,D + 00000D2F E5 1999 PUSH HL + 00000D30 FD E1 2000 POP IY + 00000D32 11 0A 00 2001 LD DE,10 + 00000D35 19 2002 ADD HL,DE + 00000D36 7E 2003 LD A,(HL) + 00000D37 F6 03 2004 OR 3 + 00000D39 77 2005 LD (HL),A + 00000D3A 6A 2006 LD L,D + 00000D3B 62 2007 LD H,D + 00000D3C E5 2008 PUSH HL + 00000D3D 23 2009 INC HL + 00000D3E E5 2010 PUSH HL + 00000D3F 4A 2011 LD C,D + 00000D40 42 2012 LD B,D + 00000D41 FD E5 2013 PUSH IY + 00000D43 D1 2014 POP DE + 00000D44 3E B6 2015 LD A,BYTE3 Component_changestate_children + 00000D46 21 B6 09 2016 LD HL,LWRD Component_changestate_children + 00000D49 CD 00 00 2017 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000D4C E1 2018 POP HL + 00000D4D E1 2019 POP HL + 00000D4E 21 00 00 2020 LD HL,0 + 00000D51 E5 2021 PUSH HL + 00000D52 DD 5E 02 2022 LD E,(IX+2) + 00000D55 4B 2023 LD C,E + 00000D56 DD 56 03 2024 LD D,(IX+3) + 00000D59 42 2025 LD B,D + 00000D5A 2E 17 2026 LD L,23 + 00000D5C 09 2027 ADD HL,BC + 00000D5D 4E 2028 LD C,(HL) + 00000D5E 23 2029 INC HL + 00000D5F 46 2030 LD B,(HL) + 00000D60 23 2031 INC HL + 00000D61 7E 2032 LD A,(HL) + 00000D62 69 2033 LD L,C + 00000D63 60 2034 LD H,B + 00000D64 01 05 01 2035 LD BC,261 + 00000D67 2036 ?0346: + 00000D67 CD 00 00 2037 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000D6A E1 2038 POP HL + 00000D6B 2039 ?0159: + 00000D6B 2040 ?0156: + 00000D6B 2041 ?0112: + 00000D6B FD E1 2042 POP IY + 00000D6D C3 00 00 2043 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000D70 2044 ?0462: + 00000D70 DD 4E 04 2045 LD C,(IX+4) + 00000D73 DD 46 05 2046 LD B,(IX+5) + 00000D76 2047 ?0463: + 00000D76 FD E5 2048 PUSH IY + 00000D78 D1 2049 POP DE + 00000D79 FD 7E 19 2050 LD A,(IY+25) + 00000D7C FD 6E 17 2051 LD L,(IY+23) + 00000D7F FD 66 18 2052 LD H,(IY+24) + 00000D82 C3 00 00 2053 JP LWRD ?BANK_CALL_DIRECT_L08 + 00000D85 2054 ?0467: + 00000D85 23 2055 INC HL + 00000D86 23 2056 INC HL + 00000D87 2057 ?0468: + 00000D87 4D 2058 LD C,L + 00000D88 44 2059 LD B,H + 00000D89 DD E5 2060 PUSH IX + 00000D8B D1 2061 POP DE + 00000D8C 2062 ?0466: + 00000D8C 3E 4A 2063 LD A,BYTE3 Component_findXY + 00000D8E 21 4A 07 2064 LD HL,LWRD Component_findXY + 00000D91 C3 00 00 2065 JP LWRD ?BANK_CALL_DIRECT_L08 + 00000D94 2066 ?0475: + 00000D94 09 2067 ADD HL,BC + 00000D95 2068 ?0474: + 00000D95 4E 2069 LD C,(HL) + 00000D96 23 2070 INC HL + 00000D97 46 2071 LD B,(HL) + 00000D98 23 2072 INC HL + 00000D99 7E 2073 LD A,(HL) + 00000D9A 69 2074 LD L,C + 00000D9B 60 2075 LD H,B + 00000D9C C3 00 00 2076 JP LWRD ?BANK_CALL_DIRECT_L08 + 00000D9F 2077 Window_paint: + 00000D9F CD 00 00 2078 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000DA2 FC FF 2079 DEFW -4 + 00000DA4 FD E5 2080 PUSH IY + 00000DA6 DD 6E 02 2081 LD L,(IX+2) + 00000DA9 DD 66 03 2082 LD H,(IX+3) + 00000DAC E5 2083 PUSH HL + 00000DAD FD E1 2084 POP IY + 00000DAF AF 2085 XOR A + 00000DB0 DD 77 FE 2086 LD (IX-2),A + 00000DB3 DD 77 FF 2087 LD (IX-1),A + 00000DB6 DD 77 FC 2088 LD (IX-4),A + 00000DB9 DD 77 FD 2089 LD (IX-3),A + 00000DBC 21 0A 00 2090 LD HL,10 + 00000DBF ED 4B 00 00 2091 LD BC,(global) + 00000DC3 09 2092 ADD HL,BC + 00000DC4 7E 2093 LD A,(HL) + 00000DC5 23 2094 INC HL + 00000DC6 66 2095 LD H,(HL) + 00000DC7 6F 2096 LD L,A + 00000DC8 46 2097 LD B,(HL) + 00000DC9 23 2098 INC HL + 00000DCA 66 2099 LD H,(HL) + 00000DCB 68 2100 LD L,B + 00000DCC FD 4E 0E 2101 LD C,(IY+14) + 00000DCF FD 46 0F 2102 LD B,(IY+15) + 00000DD2 A7 2103 AND A + 00000DD3 ED 42 2104 SBC HL,BC + 00000DD5 28 09 2105 JR Z,?0161 + 00000DD7 2106 ?0160: + 00000DD7 FD 5E 0E 2107 LD E,(IY+14) + 00000DDA FD 56 0F 2108 LD D,(IY+15) + 00000DDD CD 24 0F 2109 CALL LWRD ?0472 + 00000DE0 2110 ?0161: + 00000DE0 FD CB 0A 46 2111 BIT 0,(IY+10) + 00000DE4 CA DC 0E 2112 JP Z,?0163 + 00000DE7 2113 ?0162: + 00000DE7 21 02 00 2114 LD HL,2 + 00000DEA 39 2115 ADD HL,SP + 00000DEB E5 2116 PUSH HL + 00000DEC 23 2117 INC HL + 00000DED 23 2118 INC HL + 00000DEE 4D 2119 LD C,L + 00000DEF 44 2120 LD B,H + 00000DF0 FD E5 2121 PUSH IY + 00000DF2 D1 2122 POP DE + 00000DF3 CD 8C 0D 2123 CALL LWRD ?0466 + 00000DF6 E1 2124 POP HL + 00000DF7 CD 40 07 2125 CALL LWRD ?0477 + 00000DFA DD 4E FC 2126 LD C,(IX-4) + 00000DFD DD 46 FD 2127 LD B,(IX-3) + 00000E00 DD 5E FE 2128 LD E,(IX-2) + 00000E03 DD 56 FF 2129 LD D,(IX-1) + 00000E06 3E A3 2130 LD A,BYTE3 Move + 00000E08 21 A3 00 2131 LD HL,LWRD Move + 00000E0B CD 00 00 2132 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000E0E FD 4E 08 2133 LD C,(IY+8) + 00000E11 FD 46 09 2134 LD B,(IY+9) + 00000E14 FD 5E 06 2135 LD E,(IY+6) + 00000E17 FD 56 07 2136 LD D,(IY+7) + 00000E1A 3E E2 2137 LD A,BYTE3 ClearRect + 00000E1C 21 E2 00 2138 LD HL,LWRD ClearRect + 00000E1F CD 00 00 2139 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000E22 FD 6E 08 2140 LD L,(IY+8) + 00000E25 FD 66 09 2141 LD H,(IY+9) + 00000E28 E5 2142 PUSH HL + 00000E29 FD 6E 06 2143 LD L,(IY+6) + 00000E2C FD 66 07 2144 LD H,(IY+7) + 00000E2F E5 2145 PUSH HL + 00000E30 DD 6E FC 2146 LD L,(IX-4) + 00000E33 DD 66 FD 2147 LD H,(IX-3) + 00000E36 E5 2148 PUSH HL + 00000E37 DD 4E FE 2149 LD C,(IX-2) + 00000E3A DD 46 FF 2150 LD B,(IX-1) + 00000E3D 11 00 00 2151 LD DE,0 + 00000E40 CD F2 02 2152 CALL LWRD ?0471 + 00000E43 E1 2153 POP HL + 00000E44 E1 2154 POP HL + 00000E45 E1 2155 POP HL + 00000E46 FD 5E 20 2156 LD E,(IY+32) + 00000E49 FD 56 21 2157 LD D,(IY+33) + 00000E4C 21 0A 00 2158 LD HL,10 + 00000E4F ED 4B 00 00 2159 LD BC,(global) + 00000E53 09 2160 ADD HL,BC + 00000E54 7E 2161 LD A,(HL) + 00000E55 23 2162 INC HL + 00000E56 66 2163 LD H,(HL) + 00000E57 6F 2164 LD L,A + 00000E58 CD E1 0E 2165 CALL LWRD ?0455 + 00000E5B DD 4E FC 2166 LD C,(IX-4) + 00000E5E DD 46 FD 2167 LD B,(IX-3) + 00000E61 09 2168 ADD HL,BC + 00000E62 11 04 00 2169 LD DE,4 + 00000E65 19 2170 ADD HL,DE + 00000E66 4D 2171 LD C,L + 00000E67 44 2172 LD B,H + 00000E68 CD EF 0E 2173 CALL LWRD ?0459 + 00000E6B 7E 2174 LD A,(HL) + 00000E6C 23 2175 INC HL + 00000E6D 66 2176 LD H,(HL) + 00000E6E 6F 2177 LD L,A + 00000E6F 01 05 00 2178 LD BC,5 + 00000E72 09 2179 ADD HL,BC + 00000E73 4E 2180 LD C,(HL) + 00000E74 23 2181 INC HL + 00000E75 46 2182 LD B,(HL) + 00000E76 23 2183 INC HL + 00000E77 7E 2184 LD A,(HL) + 00000E78 69 2185 LD L,C + 00000E79 60 2186 LD H,B + 00000E7A CD 13 04 2187 CALL LWRD ?0444 + 00000E7D 01 FC FF 2188 LD BC,65532 + 00000E80 09 2189 ADD HL,BC + 00000E81 4D 2190 LD C,L + 00000E82 44 2191 LD B,H + 00000E83 FD 5E 06 2192 LD E,(IY+6) + 00000E86 FD 56 07 2193 LD D,(IY+7) + 00000E89 3E 25 2194 LD A,BYTE3 DrawRectNC + 00000E8B 21 25 01 2195 LD HL,LWRD DrawRectNC + 00000E8E CD 00 00 2196 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000E91 DD 4E FC 2197 LD C,(IX-4) + 00000E94 DD 46 FD 2198 LD B,(IX-3) + 00000E97 CD EF 0E 2199 CALL LWRD ?0459 + 00000E9A 46 2200 LD B,(HL) + 00000E9B 23 2201 INC HL + 00000E9C 66 2202 LD H,(HL) + 00000E9D 68 2203 LD L,B + 00000E9E CD E1 0E 2204 CALL LWRD ?0455 + 00000EA1 01 05 00 2205 LD BC,5 + 00000EA4 09 2206 ADD HL,BC + 00000EA5 4D 2207 LD C,L + 00000EA6 44 2208 LD B,H + 00000EA7 FD 5E 06 2209 LD E,(IY+6) + 00000EAA FD 56 07 2210 LD D,(IY+7) + 00000EAD 3E 6A 2211 LD A,BYTE3 FillRect + 00000EAF 21 6A 01 2212 LD HL,LWRD FillRect + 00000EB2 CD 00 00 2213 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000EB5 21 0E 00 2214 LD HL,14 + 00000EB8 DD 4E FC 2215 LD C,(IX-4) + 00000EBB DD 46 FD 2216 LD B,(IX-3) + 00000EBE 09 2217 ADD HL,BC + 00000EBF 4D 2218 LD C,L + 00000EC0 44 2219 LD B,H + 00000EC1 DD 5E FE 2220 LD E,(IX-2) + 00000EC4 DD 56 FF 2221 LD D,(IX-1) + 00000EC7 13 2222 INC DE + 00000EC8 13 2223 INC DE + 00000EC9 3E A3 2224 LD A,BYTE3 Move + 00000ECB 21 A3 00 2225 LD HL,LWRD Move + 00000ECE CD 0C 0F 2226 CALL LWRD ?0460 + 00000ED1 FD E5 2227 PUSH IY + 00000ED3 D1 2228 POP DE + 00000ED4 3E 04 2229 LD A,BYTE3 Component_paint + 00000ED6 21 04 07 2230 LD HL,LWRD Component_paint + 00000ED9 CD 00 00 2231 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000EDC 2232 ?0163: + 00000EDC FD E1 2233 POP IY + 00000EDE C3 00 00 2234 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000EE1 2235 ?0455: + 00000EE1 01 05 00 2236 LD BC,5 + 00000EE4 09 2237 ADD HL,BC + 00000EE5 4E 2238 LD C,(HL) + 00000EE6 23 2239 INC HL + 00000EE7 46 2240 LD B,(HL) + 00000EE8 23 2241 INC HL + 00000EE9 7E 2242 LD A,(HL) + 00000EEA 69 2243 LD L,C + 00000EEB 60 2244 LD H,B + 00000EEC C3 00 00 2245 JP LWRD ?BANK_CALL_DIRECT_L08 + 00000EEF 2246 ?0459: + 00000EEF DD 5E FE 2247 LD E,(IX-2) + 00000EF2 DD 56 FF 2248 LD D,(IX-1) + 00000EF5 3E A3 2249 LD A,BYTE3 Move + 00000EF7 21 A3 00 2250 LD HL,LWRD Move + 00000EFA CD 00 00 2251 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000EFD FD 5E 20 2252 LD E,(IY+32) + 00000F00 FD 56 21 2253 LD D,(IY+33) + 00000F03 21 0A 00 2254 LD HL,10 + 00000F06 ED 4B 00 00 2255 LD BC,(global) + 00000F0A 09 2256 ADD HL,BC + 00000F0B C9 2257 RET + 00000F0C 2258 ?0460: + 00000F0C CD 00 00 2259 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000F0F FD 5E 20 2260 LD E,(IY+32) + 00000F12 FD 56 21 2261 LD D,(IY+33) + 00000F15 3E 39 2262 LD A,BYTE3 Text + 00000F17 21 39 02 2263 LD HL,LWRD Text + 00000F1A CD 00 00 2264 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000F1D C9 2265 RET + 00000F1E 2266 ?0473: + 00000F1E DD 5E 0E 2267 LD E,(IX+14) + 00000F21 DD 56 0F 2268 LD D,(IX+15) + 00000F24 2269 ?0472: + 00000F24 3E A5 2270 LD A,BYTE3 setCurrentFont + 00000F26 21 A5 03 2271 LD HL,LWRD setCurrentFont + 00000F29 C3 00 00 2272 JP LWRD ?BANK_CALL_DIRECT_L08 + 00000F2C 2273 Root_paint: + 00000F2C CD 00 00 2274 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00000F2F CD 40 07 2275 CALL LWRD ?0477 + 00000F32 CD D7 02 2276 CALL LWRD ?0461 + 00000F35 CD 00 00 2277 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000F38 01 80 00 2278 LD BC,128 + 00000F3B 58 2279 LD E,B + 00000F3C 50 2280 LD D,B + 00000F3D 3E F4 2281 LD A,BYTE3 GrayRect + 00000F3F 21 F4 01 2282 LD HL,LWRD GrayRect + 00000F42 CD 00 00 2283 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000F45 21 80 00 2284 LD HL,128 + 00000F48 E5 2285 PUSH HL + 00000F49 6C 2286 LD L,H + 00000F4A E5 2287 PUSH HL + 00000F4B E5 2288 PUSH HL + 00000F4C CD EF 02 2289 CALL LWRD ?0470 + 00000F4F E1 2290 POP HL + 00000F50 E1 2291 POP HL + 00000F51 E1 2292 POP HL + 00000F52 DD 5E 02 2293 LD E,(IX+2) + 00000F55 DD 56 03 2294 LD D,(IX+3) + 00000F58 3E 04 2295 LD A,BYTE3 Component_paint + 00000F5A 21 04 07 2296 LD HL,LWRD Component_paint + 00000F5D CD 00 00 2297 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000F60 C3 00 00 2298 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000F63 2299 Window_add: + 00000F63 CD 00 00 2300 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00000F66 3E A6 2301 LD A,BYTE3 Component_add + 00000F68 21 A6 06 2302 LD HL,LWRD Component_add + 00000F6B CD 00 00 2303 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000F6E C3 00 00 2304 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00000F71 2305 Window_new: + 00000F71 CD 00 00 2306 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00000F74 00 00 2307 DEFW 0 + 00000F76 FD E5 2308 PUSH IY + 00000F78 DD 6E 0C 2309 LD L,(IX+12) + 00000F7B DD 66 0D 2310 LD H,(IX+13) + 00000F7E E5 2311 PUSH HL + 00000F7F DD 6E 0A 2312 LD L,(IX+10) + 00000F82 DD 66 0B 2313 LD H,(IX+11) + 00000F85 E5 2314 PUSH HL + 00000F86 CD B5 0F 2315 CALL LWRD ?0438 + 00000F89 F1 2316 POP AF + 00000F8A F1 2317 POP AF + 00000F8B E5 2318 PUSH HL + 00000F8C FD E1 2319 POP IY + 00000F8E 01 17 00 2320 LD BC,23 + 00000F91 09 2321 ADD HL,BC + 00000F92 36 D2 2322 LD (HL),LOW(Window_handler) + 00000F94 23 2323 INC HL + 00000F95 36 0A 2324 LD (HL),HIGH(Window_handler) + 00000F97 23 2325 INC HL + 00000F98 36 D2 2326 LD (HL),BYTE3 Window_handler + 00000F9A FD 36 1A 9F 2327 LD (IY+26),LOW(Window_paint) + 00000F9E FD 36 1B 0D 2328 LD (IY+27),HIGH(Window_paint) + 00000FA2 FD 36 1C 9F 2329 LD (IY+28),BYTE3 Window_paint + 00000FA6 FD 36 1D 63 2330 LD (IY+29),LOW(Window_add) + 00000FAA FD 36 1E 0F 2331 LD (IY+30),HIGH(Window_add) + 00000FAE FD 36 1F 63 2332 LD (IY+31),BYTE3 Window_add + 00000FB2 C3 51 06 2333 JP LWRD ?0418 + 00000FB5 2334 ?0438: + 00000FB5 DD 5E 02 2335 LD E,(IX+2) + 00000FB8 DD 56 03 2336 LD D,(IX+3) + 00000FBB 3E AF 2337 LD A,BYTE3 Component_new + 00000FBD 21 AF 05 2338 LD HL,LWRD Component_new + 00000FC0 C3 00 00 2339 JP LWRD ?BANK_CALL_DIRECT_L08 + 00000FC3 2340 Button_handler: + 00000FC3 CD 00 00 2341 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00000FC6 FD E5 2342 PUSH IY + 00000FC8 D5 2343 PUSH DE + 00000FC9 FD E1 2344 POP IY + 00000FCB DD 6E 0A 2345 LD L,(IX+10) + 00000FCE DD 66 0B 2346 LD H,(IX+11) + 00000FD1 E5 2347 PUSH HL + 00000FD2 3E D2 2348 LD A,BYTE3 Window_handler + 00000FD4 21 D2 0A 2349 LD HL,LWRD Window_handler + 00000FD7 CD 00 00 2350 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00000FDA E1 2351 POP HL + 00000FDB 3E 03 2352 LD A,3 + 00000FDD DD AE 04 2353 XOR (IX+4) + 00000FE0 DD B6 05 2354 OR (IX+5) + 00000FE3 20 3E 2355 JR NZ,?0169 + 00000FE5 FD 4E 10 2356 LD C,(IY+16) + 00000FE8 47 2357 LD B,A + 00000FE9 DD 6E 0A 2358 LD L,(IX+10) + 00000FEC DD 66 0B 2359 LD H,(IX+11) + 00000FEF ED 42 2360 SBC HL,BC + 00000FF1 20 30 2361 JR NZ,?0169 + 00000FF3 FD 7E 0A 2362 LD A,(IY+10) + 00000FF6 E6 03 2363 AND 3 + 00000FF8 28 29 2364 JR Z,?0169 + 00000FFA 2365 ?0167: + 00000FFA 2366 ?0166: + 00000FFA 2367 ?0164: + 00000FFA DD 6E 0A 2368 LD L,(IX+10) + 00000FFD DD 66 0B 2369 LD H,(IX+11) + 00001000 E5 2370 PUSH HL + 00001001 FD 5E 11 2371 LD E,(IY+17) + 00001004 FD 56 12 2372 LD D,(IY+18) + 00001007 FD 6E 11 2373 LD L,(IY+17) + 0000100A FD 66 12 2374 LD H,(IY+18) + 0000100D 0E 17 2375 LD C,23 + 0000100F CD 50 10 2376 CALL LWRD ?0464 + 00001012 E1 2377 POP HL + 00001013 FD CB 0A 66 2378 BIT 4,(IY+10) + 00001017 28 0A 2379 JR Z,?0169 + 00001019 2380 ?0168: + 00001019 FD 4E 10 2381 LD C,(IY+16) + 0000101C 06 00 2382 LD B,0 + 0000101E C5 2383 PUSH BC + 0000101F CD 5E 10 2384 CALL LWRD ?0469 + 00001022 E1 2385 POP HL + 00001023 2386 ?0169: + 00001023 2387 ?0165: + 00001023 21 01 02 2388 LD HL,513 + 00001026 DD 4E 04 2389 LD C,(IX+4) + 00001029 DD 46 05 2390 LD B,(IX+5) + 0000102C A7 2391 AND A + 0000102D ED 42 2392 SBC HL,BC + 0000102F 20 0B 2393 JR NZ,?0171 + 00001031 2394 ?0170: + 00001031 DD 6E 0A 2395 LD L,(IX+10) + 00001034 DD 66 0B 2396 LD H,(IX+11) + 00001037 E5 2397 PUSH HL + 00001038 CD 41 10 2398 CALL LWRD ?0465 + 0000103B E1 2399 POP HL + 0000103C 2400 ?0171: + 0000103C FD E1 2401 POP IY + 0000103E C3 00 00 2402 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00001041 2403 ?0465: + 00001041 FD 5E 11 2404 LD E,(IY+17) + 00001044 FD 56 12 2405 LD D,(IY+18) + 00001047 FD 6E 11 2406 LD L,(IY+17) + 0000104A FD 66 12 2407 LD H,(IY+18) + 0000104D 01 17 00 2408 LD BC,23 + 00001050 2409 ?0464: + 00001050 09 2410 ADD HL,BC + 00001051 4E 2411 LD C,(HL) + 00001052 23 2412 INC HL + 00001053 46 2413 LD B,(HL) + 00001054 23 2414 INC HL + 00001055 7E 2415 LD A,(HL) + 00001056 69 2416 LD L,C + 00001057 60 2417 LD H,B + 00001058 01 01 02 2418 LD BC,513 + 0000105B C3 00 00 2419 JP LWRD ?BANK_CALL_DIRECT_L08 + 0000105E 2420 ?0469: + 0000105E FD 5E 11 2421 LD E,(IY+17) + 00001061 FD 56 12 2422 LD D,(IY+18) + 00001064 FD 6E 11 2423 LD L,(IY+17) + 00001067 FD 66 12 2424 LD H,(IY+18) + 0000106A 0E 17 2425 LD C,23 + 0000106C 09 2426 ADD HL,BC + 0000106D 4E 2427 LD C,(HL) + 0000106E 23 2428 INC HL + 0000106F 46 2429 LD B,(HL) + 00001070 23 2430 INC HL + 00001071 7E 2431 LD A,(HL) + 00001072 69 2432 LD L,C + 00001073 60 2433 LD H,B + 00001074 01 04 01 2434 LD BC,260 + 00001077 C3 00 00 2435 JP LWRD ?BANK_CALL_DIRECT_L08 + 0000107A 2436 Button_drawtext: + 0000107A CD 00 00 2437 CALL LWRD ?ENT_PARM_DIRECT_L09 + 0000107D FD E5 2438 PUSH IY + 0000107F D5 2439 PUSH DE + 00001080 FD E1 2440 POP IY + 00001082 21 0A 00 2441 LD HL,10 + 00001085 19 2442 ADD HL,DE + 00001086 CB 76 2443 BIT 6,(HL) + 00001088 FD 5E 20 2444 LD E,(IY+32) + 0000108B FD 56 21 2445 LD D,(IY+33) + 0000108E 21 0A 00 2446 LD HL,10 + 00001091 ED 4B 00 00 2447 LD BC,(global) + 00001095 09 2448 ADD HL,BC + 00001096 7E 2449 LD A,(HL) + 00001097 23 2450 INC HL + 00001098 66 2451 LD H,(HL) + 00001099 6F 2452 LD L,A + 0000109A 01 05 00 2453 LD BC,5 + 0000109D 09 2454 ADD HL,BC + 0000109E 4E 2455 LD C,(HL) + 0000109F 23 2456 INC HL + 000010A0 46 2457 LD B,(HL) + 000010A1 23 2458 INC HL + 000010A2 7E 2459 LD A,(HL) + 000010A3 69 2460 LD L,C + 000010A4 60 2461 LD H,B + 000010A5 28 53 2462 JR Z,?0173 + 000010A7 2463 ?0172: + 000010A7 CD 00 00 2464 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000010AA 29 2465 ADD HL,HL + 000010AB 4D 2466 LD C,L + 000010AC 44 2467 LD B,H + 000010AD FD 6E 08 2468 LD L,(IY+8) + 000010B0 FD 66 09 2469 LD H,(IY+9) + 000010B3 A7 2470 AND A + 000010B4 ED 42 2471 SBC HL,BC + 000010B6 CD 27 11 2472 CALL LWRD ?0480 + 000010B9 0E 0C 2473 LD C,12 + 000010BB 09 2474 ADD HL,BC + 000010BC E5 2475 PUSH HL + 000010BD FD 5E 20 2476 LD E,(IY+32) + 000010C0 FD 56 21 2477 LD D,(IY+33) + 000010C3 21 0A 00 2478 LD HL,10 + 000010C6 ED 4B 00 00 2479 LD BC,(global) + 000010CA 09 2480 ADD HL,BC + 000010CB 7E 2481 LD A,(HL) + 000010CC 23 2482 INC HL + 000010CD 66 2483 LD H,(HL) + 000010CE 6F 2484 LD L,A + 000010CF CD E7 03 2485 CALL LWRD ?0442 + 000010D2 C1 2486 POP BC + 000010D3 CD 0C 0F 2487 CALL LWRD ?0460 + 000010D6 FD 5E 08 2488 LD E,(IY+8) + 000010D9 FD 56 09 2489 LD D,(IY+9) + 000010DC CD 28 11 2490 CALL LWRD ?0481 + 000010DF 0E 0A 2491 LD C,10 + 000010E1 09 2492 ADD HL,BC + 000010E2 E5 2493 PUSH HL + 000010E3 FD 5E 22 2494 LD E,(IY+34) + 000010E6 FD 56 23 2495 LD D,(IY+35) + 000010E9 69 2496 LD L,C + 000010EA 60 2497 LD H,B + 000010EB CD DE 03 2498 CALL LWRD ?0443 + 000010EE C1 2499 POP BC + 000010EF CD 00 00 2500 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000010F2 FD 5E 22 2501 LD E,(IY+34) + 000010F5 FD 56 23 2502 LD D,(IY+35) + 000010F8 18 20 2503 JR ?0350 + 000010FA 2504 ?0173: + 000010FA CD 13 04 2505 CALL LWRD ?0444 + 000010FD CD 27 11 2506 CALL LWRD ?0480 + 00001100 0E 0D 2507 LD C,13 + 00001102 09 2508 ADD HL,BC + 00001103 E5 2509 PUSH HL + 00001104 FD 5E 20 2510 LD E,(IY+32) + 00001107 FD 56 21 2511 LD D,(IY+33) + 0000110A 21 0A 00 2512 LD HL,10 + 0000110D CD DE 03 2513 CALL LWRD ?0443 + 00001110 C1 2514 POP BC + 00001111 CD 00 00 2515 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001114 FD 5E 20 2516 LD E,(IY+32) + 00001117 FD 56 21 2517 LD D,(IY+33) + 0000111A 2518 ?0350: + 0000111A 3E 39 2519 LD A,BYTE3 Text + 0000111C 21 39 02 2520 LD HL,LWRD Text + 0000111F 2521 ?0424: + 0000111F CD 00 00 2522 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001122 2523 ?0174: + 00001122 FD E1 2524 POP IY + 00001124 C3 00 00 2525 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00001127 2526 ?0480: + 00001127 EB 2527 EX DE,HL + 00001128 2528 ?0481: + 00001128 01 02 00 2529 LD BC,2 + 0000112B CD 00 00 2530 CALL LWRD ?SS_DIV_L02 + 0000112E DD 6E 0A 2531 LD L,(IX+10) + 00001131 DD 66 0B 2532 LD H,(IX+11) + 00001134 19 2533 ADD HL,DE + 00001135 C9 2534 RET + 00001136 2535 Button_paint: + 00001136 C5 2536 PUSH BC + 00001137 DD E5 2537 PUSH IX + 00001139 F5 2538 PUSH AF + 0000113A F5 2539 PUSH AF + 0000113B D5 2540 PUSH DE + 0000113C DD E1 2541 POP IX + 0000113E 21 02 00 2542 LD HL,2 + 00001141 39 2543 ADD HL,SP + 00001142 AF 2544 XOR A + 00001143 77 2545 LD (HL),A + 00001144 23 2546 INC HL + 00001145 77 2547 LD (HL),A + 00001146 2B 2548 DEC HL + 00001147 2B 2549 DEC HL + 00001148 2B 2550 DEC HL + 00001149 77 2551 LD (HL),A + 0000114A 23 2552 INC HL + 0000114B 77 2553 LD (HL),A + 0000114C 21 0A 00 2554 LD HL,10 + 0000114F ED 4B 00 00 2555 LD BC,(global) + 00001153 09 2556 ADD HL,BC + 00001154 7E 2557 LD A,(HL) + 00001155 23 2558 INC HL + 00001156 66 2559 LD H,(HL) + 00001157 6F 2560 LD L,A + 00001158 46 2561 LD B,(HL) + 00001159 23 2562 INC HL + 0000115A 66 2563 LD H,(HL) + 0000115B 68 2564 LD L,B + 0000115C E5 2565 PUSH HL + 0000115D 21 0E 00 2566 LD HL,14 + 00001160 19 2567 ADD HL,DE + 00001161 4E 2568 LD C,(HL) + 00001162 23 2569 INC HL + 00001163 46 2570 LD B,(HL) + 00001164 E1 2571 POP HL + 00001165 A7 2572 AND A + 00001166 ED 42 2573 SBC HL,BC + 00001168 28 03 2574 JR Z,?0176 + 0000116A 2575 ?0175: + 0000116A CD 1E 0F 2576 CALL LWRD ?0473 + 0000116D 2577 ?0176: + 0000116D DD CB 0A 46 2578 BIT 0,(IX+10) + 00001171 CA 06 12 2579 JP Z,?0178 + 00001174 2580 ?0177: + 00001174 21 00 00 2581 LD HL,0 + 00001177 39 2582 ADD HL,SP + 00001178 E5 2583 PUSH HL + 00001179 CD 85 0D 2584 CALL LWRD ?0467 + 0000117C E1 2585 POP HL + 0000117D 21 00 00 2586 LD HL,0 + 00001180 39 2587 ADD HL,SP + 00001181 CD 0E 12 2588 CALL LWRD ?0457 + 00001184 CD 00 00 2589 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001187 DD 6E 08 2590 LD L,(IX+8) + 0000118A DD 66 09 2591 LD H,(IX+9) + 0000118D E5 2592 PUSH HL + 0000118E DD 6E 06 2593 LD L,(IX+6) + 00001191 DD 66 07 2594 LD H,(IX+7) + 00001194 E5 2595 PUSH HL + 00001195 21 04 00 2596 LD HL,4 + 00001198 39 2597 ADD HL,SP + 00001199 4E 2598 LD C,(HL) + 0000119A 23 2599 INC HL + 0000119B 46 2600 LD B,(HL) + 0000119C C5 2601 PUSH BC + 0000119D 23 2602 INC HL + 0000119E 4E 2603 LD C,(HL) + 0000119F 23 2604 INC HL + 000011A0 46 2605 LD B,(HL) + 000011A1 DD CB 0A 4E 2606 BIT 1,(IX+10) + 000011A5 28 07 2607 JR Z,?0180 + 000011A7 DD 5E 10 2608 LD E,(IX+16) + 000011AA 16 00 2609 LD D,0 + 000011AC 18 03 2610 JR ?0181 + 000011AE 2611 ?0180: + 000011AE 11 00 00 2612 LD DE,0 + 000011B1 2613 ?0181: + 000011B1 CD F2 02 2614 CALL LWRD ?0471 + 000011B4 E1 2615 POP HL + 000011B5 E1 2616 POP HL + 000011B6 E1 2617 POP HL + 000011B7 DD 7E 0A 2618 LD A,(IX+10) + 000011BA E6 82 2619 AND 130 + 000011BC 28 1C 2620 JR Z,?0183 + 000011BE DD 7E 0A 2621 LD A,(IX+10) + 000011C1 E6 82 2622 AND 130 + 000011C3 EE 82 2623 XOR 130 + 000011C5 28 13 2624 JR Z,?0183 + 000011C7 2625 ?0185: + 000011C7 2626 ?0184: + 000011C7 2627 ?0182: + 000011C7 DD 4E 08 2628 LD C,(IX+8) + 000011CA DD 46 09 2629 LD B,(IX+9) + 000011CD DD 5E 06 2630 LD E,(IX+6) + 000011D0 DD 56 07 2631 LD D,(IX+7) + 000011D3 3E AF 2632 LD A,BYTE3 FillRectNC + 000011D5 21 AF 01 2633 LD HL,LWRD FillRectNC + 000011D8 18 11 2634 JR ?0353 + 000011DA 2635 ?0183: + 000011DA DD 4E 08 2636 LD C,(IX+8) + 000011DD DD 46 09 2637 LD B,(IX+9) + 000011E0 DD 5E 06 2638 LD E,(IX+6) + 000011E3 DD 56 07 2639 LD D,(IX+7) + 000011E6 3E 25 2640 LD A,BYTE3 DrawRectNC + 000011E8 21 25 01 2641 LD HL,LWRD DrawRectNC + 000011EB 2642 ?0353: + 000011EB CD 00 00 2643 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000011EE 2644 ?0186: + 000011EE 21 00 00 2645 LD HL,0 + 000011F1 39 2646 ADD HL,SP + 000011F2 4E 2647 LD C,(HL) + 000011F3 23 2648 INC HL + 000011F4 46 2649 LD B,(HL) + 000011F5 C5 2650 PUSH BC + 000011F6 23 2651 INC HL + 000011F7 4E 2652 LD C,(HL) + 000011F8 23 2653 INC HL + 000011F9 46 2654 LD B,(HL) + 000011FA DD E5 2655 PUSH IX + 000011FC D1 2656 POP DE + 000011FD 3E 7A 2657 LD A,BYTE3 Button_drawtext + 000011FF 21 7A 10 2658 LD HL,LWRD Button_drawtext + 00001202 CD 00 00 2659 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001205 E1 2660 POP HL + 00001206 2661 ?0178: + 00001206 E1 2662 POP HL + 00001207 E1 2663 POP HL + 00001208 DD E1 2664 POP IX + 0000120A C1 2665 POP BC + 0000120B C3 00 00 2666 JP LWRD ?BANK_FAST_LEAVE_L08 + 0000120E 2667 ?0457: + 0000120E 4E 2668 LD C,(HL) + 0000120F 23 2669 INC HL + 00001210 46 2670 LD B,(HL) + 00001211 23 2671 INC HL + 00001212 2672 ?0458: + 00001212 5E 2673 LD E,(HL) + 00001213 23 2674 INC HL + 00001214 56 2675 LD D,(HL) + 00001215 3E A3 2676 LD A,BYTE3 Move + 00001217 21 A3 00 2677 LD HL,LWRD Move + 0000121A CD 00 00 2678 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000121D DD 4E 08 2679 LD C,(IX+8) + 00001220 DD 46 09 2680 LD B,(IX+9) + 00001223 DD 5E 06 2681 LD E,(IX+6) + 00001226 DD 56 07 2682 LD D,(IX+7) + 00001229 3E E2 2683 LD A,BYTE3 ClearRect + 0000122B 21 E2 00 2684 LD HL,LWRD ClearRect + 0000122E C9 2685 RET + 0000122F 2686 Button_add: + 0000122F CD 00 00 2687 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00001232 C3 00 00 2688 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00001235 2689 Button_new: + 00001235 CD 00 00 2690 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00001238 00 00 2691 DEFW 0 + 0000123A FD E5 2692 PUSH IY + 0000123C DD 6E 0C 2693 LD L,(IX+12) + 0000123F DD 66 0D 2694 LD H,(IX+13) + 00001242 E5 2695 PUSH HL + 00001243 DD 6E 0A 2696 LD L,(IX+10) + 00001246 DD 66 0B 2697 LD H,(IX+11) + 00001249 E5 2698 PUSH HL + 0000124A CD B5 0F 2699 CALL LWRD ?0438 + 0000124D F1 2700 POP AF + 0000124E F1 2701 POP AF + 0000124F E5 2702 PUSH HL + 00001250 FD E1 2703 POP IY + 00001252 01 0A 00 2704 LD BC,10 + 00001255 09 2705 ADD HL,BC + 00001256 7E 2706 LD A,(HL) + 00001257 F6 03 2707 OR 3 + 00001259 77 2708 LD (HL),A + 0000125A DD 46 0E 2709 LD B,(IX+14) + 0000125D FD 70 10 2710 LD (IY+16),B + 00001260 FD 36 17 C3 2711 LD (IY+23),LOW(Button_handler) + 00001264 FD 36 18 0F 2712 LD (IY+24),HIGH(Button_handler) + 00001268 FD 36 19 C3 2713 LD (IY+25),BYTE3 Button_handler + 0000126C FD 36 1A 36 2714 LD (IY+26),LOW(Button_paint) + 00001270 FD 36 1B 11 2715 LD (IY+27),HIGH(Button_paint) + 00001274 FD 36 1C 36 2716 LD (IY+28),BYTE3 Button_paint + 00001278 FD 36 1D 2F 2717 LD (IY+29),LOW(Button_add) + 0000127C FD 36 1E 12 2718 LD (IY+30),HIGH(Button_add) + 00001280 FD 36 1F 2F 2719 LD (IY+31),BYTE3 Button_add + 00001284 C3 51 06 2720 JP LWRD ?0418 + 00001287 2721 ToggleButton_handler: + 00001287 CD 00 00 2722 CALL LWRD ?ENT_PARM_DIRECT_L09 + 0000128A FD E5 2723 PUSH IY + 0000128C D5 2724 PUSH DE + 0000128D FD E1 2725 POP IY + 0000128F DD 6E 0A 2726 LD L,(IX+10) + 00001292 DD 66 0B 2727 LD H,(IX+11) + 00001295 E5 2728 PUSH HL + 00001296 3E D2 2729 LD A,BYTE3 Window_handler + 00001298 21 D2 0A 2730 LD HL,LWRD Window_handler + 0000129B CD 00 00 2731 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000129E E1 2732 POP HL + 0000129F 3E 03 2733 LD A,3 + 000012A1 DD AE 04 2734 XOR (IX+4) + 000012A4 DD B6 05 2735 OR (IX+5) + 000012A7 20 5C 2736 JR NZ,?0192 + 000012A9 FD 4E 10 2737 LD C,(IY+16) + 000012AC 47 2738 LD B,A + 000012AD DD 6E 0A 2739 LD L,(IX+10) + 000012B0 DD 66 0B 2740 LD H,(IX+11) + 000012B3 ED 42 2741 SBC HL,BC + 000012B5 20 4E 2742 JR NZ,?0192 + 000012B7 FD 7E 0A 2743 LD A,(IY+10) + 000012BA E6 03 2744 AND 3 + 000012BC 28 47 2745 JR Z,?0192 + 000012BE 2746 ?0190: + 000012BE 2747 ?0189: + 000012BE 2748 ?0187: + 000012BE FD 7E 0A 2749 LD A,(IY+10) + 000012C1 EE 04 2750 XOR 4 + 000012C3 FD 77 0A 2751 LD (IY+10),A + 000012C6 DD 6E 0A 2752 LD L,(IX+10) + 000012C9 DD 66 0B 2753 LD H,(IX+11) + 000012CC E5 2754 PUSH HL + 000012CD FD 5E 11 2755 LD E,(IY+17) + 000012D0 FD 56 12 2756 LD D,(IY+18) + 000012D3 FD 6E 11 2757 LD L,(IY+17) + 000012D6 FD 66 12 2758 LD H,(IY+18) + 000012D9 0E 17 2759 LD C,23 + 000012DB 09 2760 ADD HL,BC + 000012DC 4E 2761 LD C,(HL) + 000012DD 23 2762 INC HL + 000012DE 46 2763 LD B,(HL) + 000012DF 23 2764 INC HL + 000012E0 7E 2765 LD A,(HL) + 000012E1 69 2766 LD L,C + 000012E2 60 2767 LD H,B + 000012E3 01 02 02 2768 LD BC,514 + 000012E6 CD 00 00 2769 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000012E9 E1 2770 POP HL + 000012EA 21 00 00 2771 LD HL,0 + 000012ED E5 2772 PUSH HL + 000012EE 01 03 01 2773 LD BC,259 + 000012F1 CD 76 0D 2774 CALL LWRD ?0463 + 000012F4 E1 2775 POP HL + 000012F5 FD CB 0A 66 2776 BIT 4,(IY+10) + 000012F9 28 0A 2777 JR Z,?0192 + 000012FB 2778 ?0191: + 000012FB FD 4E 10 2779 LD C,(IY+16) + 000012FE 06 00 2780 LD B,0 + 00001300 C5 2781 PUSH BC + 00001301 CD 5E 10 2782 CALL LWRD ?0469 + 00001304 E1 2783 POP HL + 00001305 2784 ?0192: + 00001305 2785 ?0188: + 00001305 21 01 02 2786 LD HL,513 + 00001308 DD 4E 04 2787 LD C,(IX+4) + 0000130B DD 46 05 2788 LD B,(IX+5) + 0000130E A7 2789 AND A + 0000130F ED 42 2790 SBC HL,BC + 00001311 20 0B 2791 JR NZ,?0194 + 00001313 2792 ?0193: + 00001313 DD 6E 0A 2793 LD L,(IX+10) + 00001316 DD 66 0B 2794 LD H,(IX+11) + 00001319 E5 2795 PUSH HL + 0000131A CD 41 10 2796 CALL LWRD ?0465 + 0000131D E1 2797 POP HL + 0000131E 2798 ?0194: + 0000131E FD E1 2799 POP IY + 00001320 C3 00 00 2800 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00001323 2801 ToggleButton_paint: + 00001323 C5 2802 PUSH BC + 00001324 DD E5 2803 PUSH IX + 00001326 F5 2804 PUSH AF + 00001327 F5 2805 PUSH AF + 00001328 D5 2806 PUSH DE + 00001329 DD E1 2807 POP IX + 0000132B 21 02 00 2808 LD HL,2 + 0000132E 39 2809 ADD HL,SP + 0000132F AF 2810 XOR A + 00001330 77 2811 LD (HL),A + 00001331 23 2812 INC HL + 00001332 77 2813 LD (HL),A + 00001333 2B 2814 DEC HL + 00001334 2B 2815 DEC HL + 00001335 2B 2816 DEC HL + 00001336 77 2817 LD (HL),A + 00001337 23 2818 INC HL + 00001338 77 2819 LD (HL),A + 00001339 21 0A 00 2820 LD HL,10 + 0000133C ED 4B 00 00 2821 LD BC,(global) + 00001340 09 2822 ADD HL,BC + 00001341 7E 2823 LD A,(HL) + 00001342 23 2824 INC HL + 00001343 66 2825 LD H,(HL) + 00001344 6F 2826 LD L,A + 00001345 46 2827 LD B,(HL) + 00001346 23 2828 INC HL + 00001347 66 2829 LD H,(HL) + 00001348 68 2830 LD L,B + 00001349 E5 2831 PUSH HL + 0000134A 21 0E 00 2832 LD HL,14 + 0000134D 19 2833 ADD HL,DE + 0000134E 4E 2834 LD C,(HL) + 0000134F 23 2835 INC HL + 00001350 46 2836 LD B,(HL) + 00001351 E1 2837 POP HL + 00001352 A7 2838 AND A + 00001353 ED 42 2839 SBC HL,BC + 00001355 28 03 2840 JR Z,?0196 + 00001357 2841 ?0195: + 00001357 CD 1E 0F 2842 CALL LWRD ?0473 + 0000135A 2843 ?0196: + 0000135A DD CB 0A 46 2844 BIT 0,(IX+10) + 0000135E CA 0C 14 2845 JP Z,?0198 + 00001361 2846 ?0197: + 00001361 21 00 00 2847 LD HL,0 + 00001364 39 2848 ADD HL,SP + 00001365 E5 2849 PUSH HL + 00001366 CD 85 0D 2850 CALL LWRD ?0467 + 00001369 E1 2851 POP HL + 0000136A 21 00 00 2852 LD HL,0 + 0000136D 39 2853 ADD HL,SP + 0000136E CD 0E 12 2854 CALL LWRD ?0457 + 00001371 CD 00 00 2855 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001374 DD CB 0A 4E 2856 BIT 1,(IX+10) + 00001378 28 36 2857 JR Z,?0200 + 0000137A DD CB 0A 56 2858 BIT 2,(IX+10) + 0000137E 28 30 2859 JR Z,?0200 + 00001380 2860 ?0202: + 00001380 2861 ?0201: + 00001380 2862 ?0199: + 00001380 DD 4E 08 2863 LD C,(IX+8) + 00001383 DD 46 09 2864 LD B,(IX+9) + 00001386 DD 5E 06 2865 LD E,(IX+6) + 00001389 DD 56 07 2866 LD D,(IX+7) + 0000138C 3E AF 2867 LD A,BYTE3 FillRectNC + 0000138E 21 AF 01 2868 LD HL,LWRD FillRectNC + 00001391 CD 00 00 2869 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001394 DD 6E 08 2870 LD L,(IX+8) + 00001397 DD 66 09 2871 LD H,(IX+9) + 0000139A E5 2872 PUSH HL + 0000139B DD 6E 06 2873 LD L,(IX+6) + 0000139E DD 66 07 2874 LD H,(IX+7) + 000013A1 E5 2875 PUSH HL + 000013A2 21 04 00 2876 LD HL,4 + 000013A5 39 2877 ADD HL,SP + 000013A6 4E 2878 LD C,(HL) + 000013A7 23 2879 INC HL + 000013A8 46 2880 LD B,(HL) + 000013A9 C5 2881 PUSH BC + 000013AA 23 2882 INC HL + 000013AB 4E 2883 LD C,(HL) + 000013AC 23 2884 INC HL + 000013AD 46 2885 LD B,(HL) + 000013AE 18 34 2886 JR ?0357 + 000013B0 2887 ?0200: + 000013B0 DD 4E 08 2888 LD C,(IX+8) + 000013B3 DD 46 09 2889 LD B,(IX+9) + 000013B6 DD 5E 06 2890 LD E,(IX+6) + 000013B9 DD 56 07 2891 LD D,(IX+7) + 000013BC 3E 25 2892 LD A,BYTE3 DrawRectNC + 000013BE 21 25 01 2893 LD HL,LWRD DrawRectNC + 000013C1 CD 00 00 2894 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000013C4 DD 6E 08 2895 LD L,(IX+8) + 000013C7 DD 66 09 2896 LD H,(IX+9) + 000013CA E5 2897 PUSH HL + 000013CB DD 6E 06 2898 LD L,(IX+6) + 000013CE DD 66 07 2899 LD H,(IX+7) + 000013D1 E5 2900 PUSH HL + 000013D2 21 04 00 2901 LD HL,4 + 000013D5 39 2902 ADD HL,SP + 000013D6 4E 2903 LD C,(HL) + 000013D7 23 2904 INC HL + 000013D8 46 2905 LD B,(HL) + 000013D9 C5 2906 PUSH BC + 000013DA 23 2907 INC HL + 000013DB 4E 2908 LD C,(HL) + 000013DC 23 2909 INC HL + 000013DD 46 2910 LD B,(HL) + 000013DE DD CB 0A 4E 2911 BIT 1,(IX+10) + 000013E2 28 07 2912 JR Z,?0205 + 000013E4 2913 ?0357: + 000013E4 DD 5E 10 2914 LD E,(IX+16) + 000013E7 16 00 2915 LD D,0 + 000013E9 18 03 2916 JR ?0206 + 000013EB 2917 ?0205: + 000013EB 11 00 00 2918 LD DE,0 + 000013EE 2919 ?0206: + 000013EE CD F2 02 2920 CALL LWRD ?0471 + 000013F1 E1 2921 POP HL + 000013F2 E1 2922 POP HL + 000013F3 E1 2923 POP HL + 000013F4 2924 ?0203: + 000013F4 21 00 00 2925 LD HL,0 + 000013F7 39 2926 ADD HL,SP + 000013F8 4E 2927 LD C,(HL) + 000013F9 23 2928 INC HL + 000013FA 46 2929 LD B,(HL) + 000013FB C5 2930 PUSH BC + 000013FC 23 2931 INC HL + 000013FD 4E 2932 LD C,(HL) + 000013FE 23 2933 INC HL + 000013FF 46 2934 LD B,(HL) + 00001400 DD E5 2935 PUSH IX + 00001402 D1 2936 POP DE + 00001403 3E 7A 2937 LD A,BYTE3 Button_drawtext + 00001405 21 7A 10 2938 LD HL,LWRD Button_drawtext + 00001408 CD 00 00 2939 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000140B E1 2940 POP HL + 0000140C 2941 ?0198: + 0000140C C3 06 12 2942 JP LWRD ?0178 + 0000140F 2943 ToggleButton_new: + 0000140F CD 00 00 2944 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00001412 00 00 2945 DEFW 0 + 00001414 FD E5 2946 PUSH IY + 00001416 DD 6E 0C 2947 LD L,(IX+12) + 00001419 DD 66 0D 2948 LD H,(IX+13) + 0000141C E5 2949 PUSH HL + 0000141D DD 6E 0A 2950 LD L,(IX+10) + 00001420 DD 66 0B 2951 LD H,(IX+11) + 00001423 E5 2952 PUSH HL + 00001424 CD B5 0F 2953 CALL LWRD ?0438 + 00001427 F1 2954 POP AF + 00001428 F1 2955 POP AF + 00001429 E5 2956 PUSH HL + 0000142A FD E1 2957 POP IY + 0000142C 01 0A 00 2958 LD BC,10 + 0000142F 09 2959 ADD HL,BC + 00001430 7E 2960 LD A,(HL) + 00001431 F6 07 2961 OR 7 + 00001433 77 2962 LD (HL),A + 00001434 DD 46 0E 2963 LD B,(IX+14) + 00001437 FD 70 10 2964 LD (IY+16),B + 0000143A FD 36 17 87 2965 LD (IY+23),LOW(ToggleButton_handler) + 0000143E FD 36 18 12 2966 LD (IY+24),HIGH(ToggleButton_handler) + 00001442 FD 36 19 87 2967 LD (IY+25),BYTE3 ToggleButton_handler + 00001446 FD 36 1A 23 2968 LD (IY+26),LOW(ToggleButton_paint) + 0000144A FD 36 1B 13 2969 LD (IY+27),HIGH(ToggleButton_paint) + 0000144E FD 36 1C 23 2970 LD (IY+28),BYTE3 ToggleButton_paint + 00001452 FD 36 1D 2F 2971 LD (IY+29),LOW(Button_add) + 00001456 FD 36 1E 12 2972 LD (IY+30),HIGH(Button_add) + 0000145A FD 36 1F 2F 2973 LD (IY+31),BYTE3 Button_add + 0000145E C3 51 06 2974 JP LWRD ?0418 + 00001461 2975 Dialog_handler: + 00001461 CD 00 00 2976 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00001464 FD E5 2977 PUSH IY + 00001466 D5 2978 PUSH DE + 00001467 FD E1 2979 POP IY + 00001469 DD 6E 0A 2980 LD L,(IX+10) + 0000146C DD 66 0B 2981 LD H,(IX+11) + 0000146F E5 2982 PUSH HL + 00001470 3E D2 2983 LD A,BYTE3 Window_handler + 00001472 21 D2 0A 2984 LD HL,LWRD Window_handler + 00001475 CD 00 00 2985 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001478 E1 2986 POP HL + 00001479 21 01 02 2987 LD HL,513 + 0000147C DD 4E 04 2988 LD C,(IX+4) + 0000147F DD 46 05 2989 LD B,(IX+5) + 00001482 A7 2990 AND A + 00001483 ED 42 2991 SBC HL,BC + 00001485 20 40 2992 JR NZ,?0208 + 00001487 3E FF 2993 LD A,255 + 00001489 DD AE 0A 2994 XOR (IX+10) + 0000148C DD B6 0B 2995 OR (IX+11) + 0000148F 20 36 2996 JR NZ,?0208 + 00001491 2997 ?0210: + 00001491 2998 ?0209: + 00001491 2999 ?0207: + 00001491 FD CB 0B 66 3000 BIT 4,(IY+11) + 00001495 E5 3001 PUSH HL + 00001496 28 05 3002 JR Z,?0212 + 00001498 3003 ?0211: + 00001498 01 05 01 3004 LD BC,261 + 0000149B 18 03 3005 JR ?0358 + 0000149D 3006 ?0212: + 0000149D 01 02 01 3007 LD BC,258 + 000014A0 3008 ?0358: + 000014A0 CD 76 0D 3009 CALL LWRD ?0463 + 000014A3 E1 3010 POP HL + 000014A4 3011 ?0213: + 000014A4 FD 4E 10 3012 LD C,(IY+16) + 000014A7 06 00 3013 LD B,0 + 000014A9 C5 3014 PUSH BC + 000014AA FD 5E 11 3015 LD E,(IY+17) + 000014AD FD 56 12 3016 LD D,(IY+18) + 000014B0 FD 6E 11 3017 LD L,(IY+17) + 000014B3 FD 66 12 3018 LD H,(IY+18) + 000014B6 0E 17 3019 LD C,23 + 000014B8 09 3020 ADD HL,BC + 000014B9 4E 3021 LD C,(HL) + 000014BA 23 3022 INC HL + 000014BB 46 3023 LD B,(HL) + 000014BC 23 3024 INC HL + 000014BD 7E 3025 LD A,(HL) + 000014BE 69 3026 LD L,C + 000014BF 60 3027 LD H,B + 000014C0 01 01 03 3028 LD BC,769 + 000014C3 CD 00 00 3029 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000014C6 E1 3030 POP HL + 000014C7 3031 ?0208: + 000014C7 21 01 02 3032 LD HL,513 + 000014CA DD 4E 04 3033 LD C,(IX+4) + 000014CD DD 46 05 3034 LD B,(IX+5) + 000014D0 A7 3035 AND A + 000014D1 ED 42 3036 SBC HL,BC + 000014D3 20 40 3037 JR NZ,?0215 + 000014D5 3E FE 3038 LD A,254 + 000014D7 DD AE 0A 3039 XOR (IX+10) + 000014DA DD B6 0B 3040 OR (IX+11) + 000014DD 20 36 3041 JR NZ,?0215 + 000014DF 3042 ?0217: + 000014DF 3043 ?0216: + 000014DF 3044 ?0214: + 000014DF FD CB 0B 66 3045 BIT 4,(IY+11) + 000014E3 E5 3046 PUSH HL + 000014E4 28 05 3047 JR Z,?0219 + 000014E6 3048 ?0218: + 000014E6 01 05 01 3049 LD BC,261 + 000014E9 18 03 3050 JR ?0359 + 000014EB 3051 ?0219: + 000014EB 01 02 01 3052 LD BC,258 + 000014EE 3053 ?0359: + 000014EE CD 76 0D 3054 CALL LWRD ?0463 + 000014F1 E1 3055 POP HL + 000014F2 3056 ?0220: + 000014F2 FD 4E 10 3057 LD C,(IY+16) + 000014F5 06 00 3058 LD B,0 + 000014F7 C5 3059 PUSH BC + 000014F8 FD 5E 11 3060 LD E,(IY+17) + 000014FB FD 56 12 3061 LD D,(IY+18) + 000014FE FD 6E 11 3062 LD L,(IY+17) + 00001501 FD 66 12 3063 LD H,(IY+18) + 00001504 0E 17 3064 LD C,23 + 00001506 09 3065 ADD HL,BC + 00001507 4E 3066 LD C,(HL) + 00001508 23 3067 INC HL + 00001509 46 3068 LD B,(HL) + 0000150A 23 3069 INC HL + 0000150B 7E 3070 LD A,(HL) + 0000150C 69 3071 LD L,C + 0000150D 60 3072 LD H,B + 0000150E 01 02 03 3073 LD BC,770 + 00001511 CD 00 00 3074 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001514 E1 3075 POP HL + 00001515 3076 ?0215: + 00001515 FD E1 3077 POP IY + 00001517 C3 00 00 3078 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000151A 3079 Dialog_new: + 0000151A CD 00 00 3080 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 0000151D FE FF 3081 DEFW -2 + 0000151F FD E5 3082 PUSH IY + 00001521 DD 6E 0C 3083 LD L,(IX+12) + 00001524 DD 66 0D 3084 LD H,(IX+13) + 00001527 E5 3085 PUSH HL + 00001528 DD 6E 0A 3086 LD L,(IX+10) + 0000152B DD 66 0B 3087 LD H,(IX+11) + 0000152E E5 3088 PUSH HL + 0000152F CD B5 0F 3089 CALL LWRD ?0438 + 00001532 F1 3090 POP AF + 00001533 F1 3091 POP AF + 00001534 E5 3092 PUSH HL + 00001535 FD E1 3093 POP IY + 00001537 01 0A 00 3094 LD BC,10 + 0000153A 09 3095 ADD HL,BC + 0000153B CB C6 3096 SET 0,(HL) + 0000153D DD 46 0E 3097 LD B,(IX+14) + 00001540 FD 70 10 3098 LD (IY+16),B + 00001543 FD 36 17 61 3099 LD (IY+23),LOW(Dialog_handler) + 00001547 FD 36 18 14 3100 LD (IY+24),HIGH(Dialog_handler) + 0000154B FD 36 19 61 3101 LD (IY+25),BYTE3 Dialog_handler + 0000154F FD 36 1A 9F 3102 LD (IY+26),LOW(Window_paint) + 00001553 FD 36 1B 0D 3103 LD (IY+27),HIGH(Window_paint) + 00001557 FD 36 1C 9F 3104 LD (IY+28),BYTE3 Window_paint + 0000155B FD 36 1D 63 3105 LD (IY+29),LOW(Window_add) + 0000155F FD 36 1E 0F 3106 LD (IY+30),HIGH(Window_add) + 00001563 FD 36 1F 63 3107 LD (IY+31),BYTE3 Window_add + 00001567 21 FF 00 3108 LD HL,255 + 0000156A E5 3109 PUSH HL + 0000156B 2E 14 3110 LD L,20 + 0000156D E5 3111 PUSH HL + 0000156E 2E 28 3112 LD L,40 + 00001570 E5 3113 PUSH HL + 00001571 21 E4 FF 3114 LD HL,65508 + 00001574 CD CC 15 3115 CALL LWRD ?0439 + 00001577 F1 3116 POP AF + 00001578 F1 3117 POP AF + 00001579 F1 3118 POP AF + 0000157A DD 75 FE 3119 LD (IX-2),L + 0000157D DD 74 FF 3120 LD (IX-1),H + 00001580 01 20 00 3121 LD BC,32 + 00001583 09 3122 ADD HL,BC + 00001584 E5 3123 PUSH HL + 00001585 11 03 00 3124 LD DE,3 + 00001588 CD 28 04 3125 CALL LWRD ?0450 + 0000158B E1 3126 POP HL + 0000158C 71 3127 LD (HL),C + 0000158D 23 3128 INC HL + 0000158E 70 3129 LD (HL),B + 0000158F 01 0A 00 3130 LD BC,?0221 + 00001592 CD E8 15 3131 CALL LWRD ?0456 + 00001595 CD 00 00 3132 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001598 21 FE 00 3133 LD HL,254 + 0000159B E5 3134 PUSH HL + 0000159C 2E 14 3135 LD L,20 + 0000159E E5 3136 PUSH HL + 0000159F 2E 28 3137 LD L,40 + 000015A1 E5 3138 PUSH HL + 000015A2 21 C8 FF 3139 LD HL,65480 + 000015A5 CD CC 15 3140 CALL LWRD ?0439 + 000015A8 F1 3141 POP AF + 000015A9 F1 3142 POP AF + 000015AA F1 3143 POP AF + 000015AB DD 75 FE 3144 LD (IX-2),L + 000015AE DD 74 FF 3145 LD (IX-1),H + 000015B1 01 20 00 3146 LD BC,32 + 000015B4 09 3147 ADD HL,BC + 000015B5 E5 3148 PUSH HL + 000015B6 11 07 00 3149 LD DE,7 + 000015B9 CD 28 04 3150 CALL LWRD ?0450 + 000015BC E1 3151 POP HL + 000015BD 71 3152 LD (HL),C + 000015BE 23 3153 INC HL + 000015BF 70 3154 LD (HL),B + 000015C0 01 0D 00 3155 LD BC,?0222 + 000015C3 CD E8 15 3156 CALL LWRD ?0456 + 000015C6 CD 00 00 3157 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000015C9 C3 51 06 3158 JP LWRD ?0418 + 000015CC 3159 ?0439: + 000015CC DD 4E 0C 3160 LD C,(IX+12) + 000015CF DD 46 0D 3161 LD B,(IX+13) + 000015D2 09 3162 ADD HL,BC + 000015D3 4D 3163 LD C,L + 000015D4 44 3164 LD B,H + 000015D5 21 D0 FF 3165 LD HL,65488 + 000015D8 DD 5E 0A 3166 LD E,(IX+10) + 000015DB DD 56 0B 3167 LD D,(IX+11) + 000015DE 19 3168 ADD HL,DE + 000015DF EB 3169 EX DE,HL + 000015E0 3170 ?0440: + 000015E0 3E 35 3171 LD A,BYTE3 Button_new + 000015E2 21 35 12 3172 LD HL,LWRD Button_new + 000015E5 C3 00 00 3173 JP LWRD ?BANK_CALL_DIRECT_L08 + 000015E8 3174 ?0456: + 000015E8 DD 5E FE 3175 LD E,(IX-2) + 000015EB DD 56 FF 3176 LD D,(IX-1) + 000015EE 3E 59 3177 LD A,BYTE3 Component_setlabel + 000015F0 21 59 06 3178 LD HL,LWRD Component_setlabel + 000015F3 CD 00 00 3179 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000015F6 DD 4E FE 3180 LD C,(IX-2) + 000015F9 DD 46 FF 3181 LD B,(IX-1) + 000015FC FD E5 3182 PUSH IY + 000015FE D1 3183 POP DE + 000015FF FD 7E 1F 3184 LD A,(IY+31) + 00001602 FD 6E 1D 3185 LD L,(IY+29) + 00001605 FD 66 1E 3186 LD H,(IY+30) + 00001608 C9 3187 RET + 00001609 3188 Display_handler: + 00001609 CD 00 00 3189 CALL LWRD ?ENT_PARM_DIRECT_L09 + 0000160C FD E5 3190 PUSH IY + 0000160E D5 3191 PUSH DE + 0000160F FD E1 3192 POP IY + 00001611 DD 6E 0A 3193 LD L,(IX+10) + 00001614 DD 66 0B 3194 LD H,(IX+11) + 00001617 E5 3195 PUSH HL + 00001618 3E C3 3196 LD A,BYTE3 Button_handler + 0000161A 21 C3 0F 3197 LD HL,LWRD Button_handler + 0000161D CD 00 00 3198 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001620 E1 3199 POP HL + 00001621 21 03 02 3200 LD HL,515 + 00001624 DD 4E 04 3201 LD C,(IX+4) + 00001627 DD 46 05 3202 LD B,(IX+5) + 0000162A A7 3203 AND A + 0000162B ED 42 3204 SBC HL,BC + 0000162D 20 40 3205 JR NZ,?0224 + 0000162F FD CB 0A 5E 3206 BIT 3,(IY+10) + 00001633 28 3A 3207 JR Z,?0224 + 00001635 3208 ?0226: + 00001635 3209 ?0225: + 00001635 3210 ?0223: + 00001635 3E 08 3211 LD A,8 + 00001637 DD AE 0A 3212 XOR (IX+10) + 0000163A DD B6 0B 3213 OR (IX+11) + 0000163D FD 5E 20 3214 LD E,(IY+32) + 00001640 FD 56 21 3215 LD D,(IY+33) + 00001643 3E 00 3216 LD A,BYTE3 strlen + 00001645 21 00 00 3217 LD HL,LWRD strlen + 00001648 20 0D 3218 JR NZ,?0228 + 0000164A 3219 ?0227: + 0000164A CD 22 04 3220 CALL LWRD ?0448 + 0000164D 28 15 3221 JR Z,?0231 + 0000164F 3222 ?0229: + 0000164F CD 74 16 3223 CALL LWRD ?0445 + 00001652 2B 3224 DEC HL + 00001653 36 00 3225 LD (HL),0 + 00001655 3226 ?0230: + 00001655 18 0D 3227 JR ?0231 + 00001657 3228 ?0228: + 00001657 CD 7F 16 3229 CALL LWRD ?0446 + 0000165A 23 3230 INC HL + 0000165B 36 00 3231 LD (HL),0 + 0000165D CD 74 16 3232 CALL LWRD ?0445 + 00001660 DD 46 0A 3233 LD B,(IX+10) + 00001663 70 3234 LD (HL),B + 00001664 3235 ?0231: + 00001664 21 00 00 3236 LD HL,0 + 00001667 E5 3237 PUSH HL + 00001668 01 03 01 3238 LD BC,259 + 0000166B CD 76 0D 3239 CALL LWRD ?0463 + 0000166E E1 3240 POP HL + 0000166F 3241 ?0224: + 0000166F FD E1 3242 POP IY + 00001671 C3 00 00 3243 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00001674 3244 ?0445: + 00001674 FD 5E 20 3245 LD E,(IY+32) + 00001677 FD 56 21 3246 LD D,(IY+33) + 0000167A 3E 00 3247 LD A,BYTE3 strlen + 0000167C 21 00 00 3248 LD HL,LWRD strlen + 0000167F 3249 ?0446: + 0000167F CD 00 00 3250 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001682 FD 4E 20 3251 LD C,(IY+32) + 00001685 FD 46 21 3252 LD B,(IY+33) + 00001688 09 3253 ADD HL,BC + 00001689 C9 3254 RET + 0000168A 3255 Display_paint: + 0000168A C5 3256 PUSH BC + 0000168B FD E5 3257 PUSH IY + 0000168D DD E5 3258 PUSH IX + 0000168F 21 B8 FF 3259 LD HL,65464 + 00001692 39 3260 ADD HL,SP + 00001693 F9 3261 LD SP,HL + 00001694 D5 3262 PUSH DE + 00001695 DD E1 3263 POP IX + 00001697 AF 3264 XOR A + 00001698 77 3265 LD (HL),A + 00001699 23 3266 INC HL + 0000169A 77 3267 LD (HL),A + 0000169B 23 3268 INC HL + 0000169C 77 3269 LD (HL),A + 0000169D 23 3270 INC HL + 0000169E 77 3271 LD (HL),A + 0000169F 21 0A 00 3272 LD HL,10 + 000016A2 ED 4B 00 00 3273 LD BC,(global) + 000016A6 09 3274 ADD HL,BC + 000016A7 7E 3275 LD A,(HL) + 000016A8 23 3276 INC HL + 000016A9 66 3277 LD H,(HL) + 000016AA 6F 3278 LD L,A + 000016AB 46 3279 LD B,(HL) + 000016AC 23 3280 INC HL + 000016AD 66 3281 LD H,(HL) + 000016AE 68 3282 LD L,B + 000016AF E5 3283 PUSH HL + 000016B0 21 0E 00 3284 LD HL,14 + 000016B3 19 3285 ADD HL,DE + 000016B4 4E 3286 LD C,(HL) + 000016B5 23 3287 INC HL + 000016B6 46 3288 LD B,(HL) + 000016B7 E1 3289 POP HL + 000016B8 A7 3290 AND A + 000016B9 ED 42 3291 SBC HL,BC + 000016BB 28 03 3292 JR Z,?0233 + 000016BD 3293 ?0232: + 000016BD CD 1E 0F 3294 CALL LWRD ?0473 + 000016C0 3295 ?0233: + 000016C0 DD CB 0A 46 3296 BIT 0,(IX+10) + 000016C4 CA CE 17 3297 JP Z,?0248 + 000016C7 3298 ?0234: + 000016C7 21 02 00 3299 LD HL,2 + 000016CA 39 3300 ADD HL,SP + 000016CB E5 3301 PUSH HL + 000016CC 2B 3302 DEC HL + 000016CD 2B 3303 DEC HL + 000016CE CD 87 0D 3304 CALL LWRD ?0468 + 000016D1 E1 3305 POP HL + 000016D2 21 02 00 3306 LD HL,2 + 000016D5 39 3307 ADD HL,SP + 000016D6 4E 3308 LD C,(HL) + 000016D7 23 3309 INC HL + 000016D8 46 3310 LD B,(HL) + 000016D9 2B 3311 DEC HL + 000016DA 2B 3312 DEC HL + 000016DB 2B 3313 DEC HL + 000016DC CD 12 12 3314 CALL LWRD ?0458 + 000016DF CD 00 00 3315 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000016E2 DD 6E 08 3316 LD L,(IX+8) + 000016E5 DD 66 09 3317 LD H,(IX+9) + 000016E8 E5 3318 PUSH HL + 000016E9 DD 6E 06 3319 LD L,(IX+6) + 000016EC DD 66 07 3320 LD H,(IX+7) + 000016EF E5 3321 PUSH HL + 000016F0 21 06 00 3322 LD HL,6 + 000016F3 39 3323 ADD HL,SP + 000016F4 4E 3324 LD C,(HL) + 000016F5 23 3325 INC HL + 000016F6 46 3326 LD B,(HL) + 000016F7 C5 3327 PUSH BC + 000016F8 2B 3328 DEC HL + 000016F9 2B 3329 DEC HL + 000016FA 2B 3330 DEC HL + 000016FB 4E 3331 LD C,(HL) + 000016FC 23 3332 INC HL + 000016FD 46 3333 LD B,(HL) + 000016FE DD CB 0A 4E 3334 BIT 1,(IX+10) + 00001702 28 07 3335 JR Z,?0237 + 00001704 DD 5E 10 3336 LD E,(IX+16) + 00001707 16 00 3337 LD D,0 + 00001709 18 03 3338 JR ?0238 + 0000170B 3339 ?0237: + 0000170B 11 00 00 3340 LD DE,0 + 0000170E 3341 ?0238: + 0000170E CD F2 02 3342 CALL LWRD ?0471 + 00001711 E1 3343 POP HL + 00001712 E1 3344 POP HL + 00001713 E1 3345 POP HL + 00001714 DD CB 0A 7E 3346 BIT 7,(IX+10) + 00001718 DD 4E 08 3347 LD C,(IX+8) + 0000171B DD 46 09 3348 LD B,(IX+9) + 0000171E DD 5E 06 3349 LD E,(IX+6) + 00001721 DD 56 07 3350 LD D,(IX+7) + 00001724 20 07 3351 JR NZ,?0240 + 00001726 3352 ?0239: + 00001726 3E AF 3353 LD A,BYTE3 FillRectNC + 00001728 21 AF 01 3354 LD HL,LWRD FillRectNC + 0000172B 18 05 3355 JR ?0364 + 0000172D 3356 ?0240: + 0000172D 3E 25 3357 LD A,BYTE3 DrawRectNC + 0000172F 21 25 01 3358 LD HL,LWRD DrawRectNC + 00001732 3359 ?0364: + 00001732 CD 00 00 3360 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001735 3361 ?0241: + 00001735 DD 5E 20 3362 LD E,(IX+32) + 00001738 DD 56 21 3363 LD D,(IX+33) + 0000173B 21 0A 00 3364 LD HL,10 + 0000173E ED 4B 00 00 3365 LD BC,(global) + 00001742 09 3366 ADD HL,BC + 00001743 46 3367 LD B,(HL) + 00001744 23 3368 INC HL + 00001745 66 3369 LD H,(HL) + 00001746 68 3370 LD L,B + 00001747 01 05 00 3371 LD BC,5 + 0000174A 09 3372 ADD HL,BC + 0000174B 4E 3373 LD C,(HL) + 0000174C 23 3374 INC HL + 0000174D 46 3375 LD B,(HL) + 0000174E 23 3376 INC HL + 0000174F 7E 3377 LD A,(HL) + 00001750 69 3378 LD L,C + 00001751 60 3379 LD H,B + 00001752 CD 2D 04 3380 CALL LWRD ?0449 + 00001755 DD 6E 08 3381 LD L,(IX+8) + 00001758 DD 66 09 3382 LD H,(IX+9) + 0000175B A7 3383 AND A + 0000175C ED 42 3384 SBC HL,BC + 0000175E EB 3385 EX DE,HL + 0000175F 01 02 00 3386 LD BC,2 + 00001762 CD 00 00 3387 CALL LWRD ?SS_DIV_L02 + 00001765 69 3388 LD L,C + 00001766 60 3389 LD H,B + 00001767 39 3390 ADD HL,SP + 00001768 46 3391 LD B,(HL) + 00001769 23 3392 INC HL + 0000176A 66 3393 LD H,(HL) + 0000176B 68 3394 LD L,B + 0000176C 19 3395 ADD HL,DE + 0000176D 01 07 00 3396 LD BC,7 + 00001770 09 3397 ADD HL,BC + 00001771 4D 3398 LD C,L + 00001772 44 3399 LD B,H + 00001773 21 00 00 3400 LD HL,0 + 00001776 39 3401 ADD HL,SP + 00001777 5E 3402 LD E,(HL) + 00001778 23 3403 INC HL + 00001779 56 3404 LD D,(HL) + 0000177A 13 3405 INC DE + 0000177B 13 3406 INC DE + 0000177C 3E A3 3407 LD A,BYTE3 Move + 0000177E 21 A3 00 3408 LD HL,LWRD Move + 00001781 CD 00 00 3409 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001784 DD CB 0B 46 3410 BIT 0,(IX+11) + 00001788 28 36 3411 JR Z,?0243 + 0000178A 3412 ?0242: + 0000178A FD 21 00 00 3413 LD IY,0 + 0000178E 3414 ?0245: + 0000178E DD 5E 20 3415 LD E,(IX+32) + 00001791 DD 56 21 3416 LD D,(IX+33) + 00001794 3E 00 3417 LD A,BYTE3 strlen + 00001796 21 00 00 3418 LD HL,LWRD strlen + 00001799 CD 2D 04 3419 CALL LWRD ?0449 + 0000179C FD E5 3420 PUSH IY + 0000179E E1 3421 POP HL + 0000179F A7 3422 AND A + 000017A0 ED 42 3423 SBC HL,BC + 000017A2 21 06 00 3424 LD HL,6 + 000017A5 30 0B 3425 JR NC,?0244 + 000017A7 3426 ?0246: + 000017A7 39 3427 ADD HL,SP + 000017A8 FD E5 3428 PUSH IY + 000017AA C1 3429 POP BC + 000017AB 09 3430 ADD HL,BC + 000017AC 36 2A 3431 LD (HL),42 + 000017AE FD 23 3432 INC IY + 000017B0 18 DC 3433 JR ?0245 + 000017B2 3434 ?0244: + 000017B2 39 3435 ADD HL,SP + 000017B3 FD E5 3436 PUSH IY + 000017B5 C1 3437 POP BC + 000017B6 09 3438 ADD HL,BC + 000017B7 36 00 3439 LD (HL),0 + 000017B9 21 06 00 3440 LD HL,6 + 000017BC 39 3441 ADD HL,SP + 000017BD EB 3442 EX DE,HL + 000017BE 18 06 3443 JR ?0365 + 000017C0 3444 ?0243: + 000017C0 DD 5E 20 3445 LD E,(IX+32) + 000017C3 DD 56 21 3446 LD D,(IX+33) + 000017C6 3447 ?0365: + 000017C6 3E 39 3448 LD A,BYTE3 Text + 000017C8 21 39 02 3449 LD HL,LWRD Text + 000017CB CD 00 00 3450 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000017CE 3451 ?0248: + 000017CE 3452 ?0235: + 000017CE 21 48 00 3453 LD HL,72 + 000017D1 39 3454 ADD HL,SP + 000017D2 F9 3455 LD SP,HL + 000017D3 C3 5E 02 3456 JP LWRD ?0411 + 000017D6 3457 Display_new: + 000017D6 CD 00 00 3458 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000017D9 00 00 3459 DEFW 0 + 000017DB FD E5 3460 PUSH IY + 000017DD DD 6E 0E 3461 LD L,(IX+14) + 000017E0 DD 66 0F 3462 LD H,(IX+15) + 000017E3 E5 3463 PUSH HL + 000017E4 DD 6E 0C 3464 LD L,(IX+12) + 000017E7 DD 66 0D 3465 LD H,(IX+13) + 000017EA E5 3466 PUSH HL + 000017EB DD 6E 0A 3467 LD L,(IX+10) + 000017EE DD 66 0B 3468 LD H,(IX+11) + 000017F1 E5 3469 PUSH HL + 000017F2 DD 5E 02 3470 LD E,(IX+2) + 000017F5 DD 56 03 3471 LD D,(IX+3) + 000017F8 CD E0 15 3472 CALL LWRD ?0440 + 000017FB F1 3473 POP AF + 000017FC F1 3474 POP AF + 000017FD F1 3475 POP AF + 000017FE E5 3476 PUSH HL + 000017FF FD E1 3477 POP IY + 00001801 01 0A 00 3478 LD BC,10 + 00001804 09 3479 ADD HL,BC + 00001805 CB DE 3480 SET 3,(HL) + 00001807 01 14 00 3481 LD BC,?0249 + 0000180A FD E5 3482 PUSH IY + 0000180C D1 3483 POP DE + 0000180D 3E 59 3484 LD A,BYTE3 Component_setlabel + 0000180F 21 59 06 3485 LD HL,LWRD Component_setlabel + 00001812 CD 00 00 3486 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001815 FD 36 1A 8A 3487 LD (IY+26),LOW(Display_paint) + 00001819 FD 36 1B 16 3488 LD (IY+27),HIGH(Display_paint) + 0000181D FD 36 1C 8A 3489 LD (IY+28),BYTE3 Display_paint + 00001821 FD 36 17 09 3490 LD (IY+23),LOW(Display_handler) + 00001825 FD 36 18 16 3491 LD (IY+24),HIGH(Display_handler) + 00001829 FD 36 19 09 3492 LD (IY+25),BYTE3 Display_handler + 0000182D C3 51 06 3493 JP LWRD ?0418 + 00001830 3494 Label_handler: + 00001830 CD 00 00 3495 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00001833 C3 00 00 3496 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00001836 3497 Label_paint: + 00001836 C5 3498 PUSH BC + 00001837 DD E5 3499 PUSH IX + 00001839 F5 3500 PUSH AF + 0000183A F5 3501 PUSH AF + 0000183B D5 3502 PUSH DE + 0000183C DD E1 3503 POP IX + 0000183E 21 02 00 3504 LD HL,2 + 00001841 39 3505 ADD HL,SP + 00001842 AF 3506 XOR A + 00001843 77 3507 LD (HL),A + 00001844 23 3508 INC HL + 00001845 77 3509 LD (HL),A + 00001846 2B 3510 DEC HL + 00001847 2B 3511 DEC HL + 00001848 2B 3512 DEC HL + 00001849 77 3513 LD (HL),A + 0000184A 23 3514 INC HL + 0000184B 77 3515 LD (HL),A + 0000184C 21 0A 00 3516 LD HL,10 + 0000184F ED 4B 00 00 3517 LD BC,(global) + 00001853 09 3518 ADD HL,BC + 00001854 7E 3519 LD A,(HL) + 00001855 23 3520 INC HL + 00001856 66 3521 LD H,(HL) + 00001857 6F 3522 LD L,A + 00001858 46 3523 LD B,(HL) + 00001859 23 3524 INC HL + 0000185A 66 3525 LD H,(HL) + 0000185B 68 3526 LD L,B + 0000185C E5 3527 PUSH HL + 0000185D 21 0E 00 3528 LD HL,14 + 00001860 19 3529 ADD HL,DE + 00001861 4E 3530 LD C,(HL) + 00001862 23 3531 INC HL + 00001863 46 3532 LD B,(HL) + 00001864 E1 3533 POP HL + 00001865 A7 3534 AND A + 00001866 ED 42 3535 SBC HL,BC + 00001868 28 03 3536 JR Z,?0251 + 0000186A 3537 ?0250: + 0000186A CD 1E 0F 3538 CALL LWRD ?0473 + 0000186D 3539 ?0251: + 0000186D DD CB 0A 46 3540 BIT 0,(IX+10) + 00001871 28 21 3541 JR Z,?0253 + 00001873 3542 ?0252: + 00001873 21 00 00 3543 LD HL,0 + 00001876 39 3544 ADD HL,SP + 00001877 E5 3545 PUSH HL + 00001878 CD 85 0D 3546 CALL LWRD ?0467 + 0000187B E1 3547 POP HL + 0000187C 21 00 00 3548 LD HL,0 + 0000187F 39 3549 ADD HL,SP + 00001880 4E 3550 LD C,(HL) + 00001881 23 3551 INC HL + 00001882 46 3552 LD B,(HL) + 00001883 C5 3553 PUSH BC + 00001884 23 3554 INC HL + 00001885 4E 3555 LD C,(HL) + 00001886 23 3556 INC HL + 00001887 46 3557 LD B,(HL) + 00001888 DD E5 3558 PUSH IX + 0000188A D1 3559 POP DE + 0000188B 3E 7A 3560 LD A,BYTE3 Button_drawtext + 0000188D 21 7A 10 3561 LD HL,LWRD Button_drawtext + 00001890 CD 00 00 3562 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001893 E1 3563 POP HL + 00001894 3564 ?0253: + 00001894 C3 06 12 3565 JP LWRD ?0178 + 00001897 3566 Label_new: + 00001897 CD 00 00 3567 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 0000189A 00 00 3568 DEFW 0 + 0000189C FD E5 3569 PUSH IY + 0000189E DD 6E 0C 3570 LD L,(IX+12) + 000018A1 DD 66 0D 3571 LD H,(IX+13) + 000018A4 E5 3572 PUSH HL + 000018A5 DD 6E 0A 3573 LD L,(IX+10) + 000018A8 DD 66 0B 3574 LD H,(IX+11) + 000018AB E5 3575 PUSH HL + 000018AC CD B5 0F 3576 CALL LWRD ?0438 + 000018AF F1 3577 POP AF + 000018B0 F1 3578 POP AF + 000018B1 E5 3579 PUSH HL + 000018B2 FD E1 3580 POP IY + 000018B4 01 20 00 3581 LD BC,32 + 000018B7 09 3582 ADD HL,BC + 000018B8 DD 4E 0E 3583 LD C,(IX+14) + 000018BB 71 3584 LD (HL),C + 000018BC DD 46 0F 3585 LD B,(IX+15) + 000018BF 23 3586 INC HL + 000018C0 70 3587 LD (HL),B + 000018C1 FD 36 0A 01 3588 LD (IY+10),1 + 000018C5 FD 36 0B 00 3589 LD (IY+11),0 + 000018C9 FD 36 17 30 3590 LD (IY+23),LOW(Label_handler) + 000018CD FD 36 18 18 3591 LD (IY+24),HIGH(Label_handler) + 000018D1 FD 36 19 30 3592 LD (IY+25),BYTE3 Label_handler + 000018D5 FD 36 1A 36 3593 LD (IY+26),LOW(Label_paint) + 000018D9 FD 36 1B 18 3594 LD (IY+27),HIGH(Label_paint) + 000018DD FD 36 1C 36 3595 LD (IY+28),BYTE3 Label_paint + 000018E1 FD 36 1D 2F 3596 LD (IY+29),LOW(Button_add) + 000018E5 FD 36 1E 12 3597 LD (IY+30),HIGH(Button_add) + 000018E9 FD 36 1F 2F 3598 LD (IY+31),BYTE3 Button_add + 000018ED C3 51 06 3599 JP LWRD ?0418 + 000018F0 3600 rootWindow_handler: + 000018F0 CD 00 00 3601 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000018F3 00 00 3602 DEFW 0 + 000018F5 DD 6E 0A 3603 LD L,(IX+10) + 000018F8 DD 66 0B 3604 LD H,(IX+11) + 000018FB E5 3605 PUSH HL + 000018FC DD 5E 02 3606 LD E,(IX+2) + 000018FF DD 56 03 3607 LD D,(IX+3) + 00001902 3E D2 3608 LD A,BYTE3 Window_handler + 00001904 21 D2 0A 3609 LD HL,LWRD Window_handler + 00001907 CD 00 00 3610 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000190A E1 3611 POP HL + 0000190B C3 00 00 3612 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000190E 3613 screenbuilder: + 0000190E CD 00 00 3614 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00001911 CE FF 3615 DEFW 65486 + 00001913 FD E5 3616 PUSH IY + 00001915 DD 36 D8 00 3617 LD (IX-40),0 + 00001919 21 00 00 3618 LD HL,0 + 0000191C E5 3619 PUSH HL + 0000191D C5 3620 PUSH BC + 0000191E 3E 00 3621 LD A,BYTE3 open + 00001920 21 00 00 3622 LD HL,LWRD open + 00001923 CD 00 00 3623 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001926 F1 3624 POP AF + 00001927 F1 3625 POP AF + 00001928 DD 75 D4 3626 LD (IX-44),L + 0000192B DD 74 D5 3627 LD (IX-43),H + 0000192E DD 36 F0 2B 3628 LD (IX-16),43 + 00001932 DD 36 F1 00 3629 LD (IX-15),0 + 00001936 DD 36 F2 1A 3630 LD (IX-14),26 + 0000193A DD 36 F3 00 3631 LD (IX-13),0 + 0000193E 3632 ?0256: + 0000193E DD 36 F4 00 3633 LD (IX-12),0 + 00001942 DD 7E D8 3634 LD A,(IX-40) + 00001945 FE 73 3635 CP 115 + 00001947 20 18 3636 JR NZ,?0258 + 00001949 3637 ?0257: + 00001949 DD 6E D9 3638 LD L,(IX-39) + 0000194C DD 66 DA 3639 LD H,(IX-38) + 0000194F DD 75 F0 3640 LD (IX-16),L + 00001952 DD 74 F1 3641 LD (IX-15),H + 00001955 DD 6E DB 3642 LD L,(IX-37) + 00001958 DD 66 DC 3643 LD H,(IX-36) + 0000195B DD 75 F2 3644 LD (IX-14),L + 0000195E DD 74 F3 3645 LD (IX-13),H + 00001961 3646 ?0258: + 00001961 DD 7E D8 3647 LD A,(IX-40) + 00001964 FE 42 3648 CP 66 + 00001966 28 07 3649 JR Z,?0261 + 00001968 DD 7E D8 3650 LD A,(IX-40) + 0000196B FE 4D 3651 CP 77 + 0000196D 20 4F 3652 JR NZ,?0260 + 0000196F 3653 ?0261: + 0000196F 3654 ?0262: + 0000196F 3655 ?0259: + 0000196F DD 4E DD 3656 LD C,(IX-35) + 00001972 06 00 3657 LD B,0 + 00001974 C5 3658 PUSH BC + 00001975 CD CE 1C 3659 CALL LWRD ?0482 + 00001978 D5 3660 PUSH DE + 00001979 DD 4E DB 3661 LD C,(IX-37) + 0000197C DD 5E F0 3662 LD E,(IX-16) + 0000197F DD 56 F1 3663 LD D,(IX-15) + 00001982 CD D7 1C 3664 CALL LWRD ?0483 + 00001985 D5 3665 PUSH DE + 00001986 DD 4E DA 3666 LD C,(IX-38) + 00001989 DD 5E F2 3667 LD E,(IX-14) + 0000198C DD 56 F3 3668 LD D,(IX-13) + 0000198F CD 00 00 3669 CALL LWRD ?S_MUL_L02 + 00001992 D5 3670 PUSH DE + 00001993 DD 5E D9 3671 LD E,(IX-39) + 00001996 50 3672 LD D,B + 00001997 DD 4E F0 3673 LD C,(IX-16) + 0000199A DD 46 F1 3674 LD B,(IX-15) + 0000199D CD 00 00 3675 CALL LWRD ?S_MUL_L02 + 000019A0 3E 35 3676 LD A,BYTE3 Button_new + 000019A2 21 35 12 3677 LD HL,LWRD Button_new + 000019A5 C1 3678 POP BC + 000019A6 CD 00 00 3679 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000019A9 F1 3680 POP AF + 000019AA F1 3681 POP AF + 000019AB F1 3682 POP AF + 000019AC E5 3683 PUSH HL + 000019AD FD E1 3684 POP IY + 000019AF DD 7E D8 3685 LD A,(IX-40) + 000019B2 FE 4D 3686 CP 77 + 000019B4 20 04 3687 JR NZ,?0264 + 000019B6 3688 ?0263: + 000019B6 FD CB 0A F6 3689 SET 6,(IY+10) + 000019BA 3690 ?0264: + 000019BA DD 36 F4 01 3691 LD (IX-12),1 + 000019BE 3692 ?0260: + 000019BE DD 7E D8 3693 LD A,(IX-40) + 000019C1 FE 54 3694 CP 84 + 000019C3 20 44 3695 JR NZ,?0266 + 000019C5 3696 ?0265: + 000019C5 DD 4E DD 3697 LD C,(IX-35) + 000019C8 06 00 3698 LD B,0 + 000019CA C5 3699 PUSH BC + 000019CB CD CE 1C 3700 CALL LWRD ?0482 + 000019CE D5 3701 PUSH DE + 000019CF DD 4E DB 3702 LD C,(IX-37) + 000019D2 DD 5E F0 3703 LD E,(IX-16) + 000019D5 DD 56 F1 3704 LD D,(IX-15) + 000019D8 CD D7 1C 3705 CALL LWRD ?0483 + 000019DB D5 3706 PUSH DE + 000019DC DD 4E DA 3707 LD C,(IX-38) + 000019DF DD 5E F2 3708 LD E,(IX-14) + 000019E2 DD 56 F3 3709 LD D,(IX-13) + 000019E5 CD 00 00 3710 CALL LWRD ?S_MUL_L02 + 000019E8 D5 3711 PUSH DE + 000019E9 DD 5E D9 3712 LD E,(IX-39) + 000019EC 50 3713 LD D,B + 000019ED DD 4E F0 3714 LD C,(IX-16) + 000019F0 DD 46 F1 3715 LD B,(IX-15) + 000019F3 CD 00 00 3716 CALL LWRD ?S_MUL_L02 + 000019F6 3E 0F 3717 LD A,BYTE3 ToggleButton_new + 000019F8 21 0F 14 3718 LD HL,LWRD ToggleButton_new + 000019FB C1 3719 POP BC + 000019FC CD 00 00 3720 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000019FF F1 3721 POP AF + 00001A00 F1 3722 POP AF + 00001A01 F1 3723 POP AF + 00001A02 E5 3724 PUSH HL + 00001A03 FD E1 3725 POP IY + 00001A05 DD 36 F4 01 3726 LD (IX-12),1 + 00001A09 3727 ?0266: + 00001A09 DD 7E D8 3728 LD A,(IX-40) + 00001A0C FE 44 3729 CP 68 + 00001A0E 20 44 3730 JR NZ,?0268 + 00001A10 3731 ?0267: + 00001A10 DD 4E DD 3732 LD C,(IX-35) + 00001A13 06 00 3733 LD B,0 + 00001A15 C5 3734 PUSH BC + 00001A16 CD CE 1C 3735 CALL LWRD ?0482 + 00001A19 D5 3736 PUSH DE + 00001A1A DD 4E DB 3737 LD C,(IX-37) + 00001A1D DD 5E F0 3738 LD E,(IX-16) + 00001A20 DD 56 F1 3739 LD D,(IX-15) + 00001A23 CD D7 1C 3740 CALL LWRD ?0483 + 00001A26 D5 3741 PUSH DE + 00001A27 DD 4E DA 3742 LD C,(IX-38) + 00001A2A DD 5E F2 3743 LD E,(IX-14) + 00001A2D DD 56 F3 3744 LD D,(IX-13) + 00001A30 CD 00 00 3745 CALL LWRD ?S_MUL_L02 + 00001A33 D5 3746 PUSH DE + 00001A34 DD 5E D9 3747 LD E,(IX-39) + 00001A37 50 3748 LD D,B + 00001A38 DD 4E F0 3749 LD C,(IX-16) + 00001A3B DD 46 F1 3750 LD B,(IX-15) + 00001A3E CD 00 00 3751 CALL LWRD ?S_MUL_L02 + 00001A41 3E D6 3752 LD A,BYTE3 Display_new + 00001A43 21 D6 17 3753 LD HL,LWRD Display_new + 00001A46 C1 3754 POP BC + 00001A47 CD 00 00 3755 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001A4A F1 3756 POP AF + 00001A4B F1 3757 POP AF + 00001A4C F1 3758 POP AF + 00001A4D E5 3759 PUSH HL + 00001A4E FD E1 3760 POP IY + 00001A50 DD 36 F4 01 3761 LD (IX-12),1 + 00001A54 3762 ?0268: + 00001A54 DD 7E D8 3763 LD A,(IX-40) + 00001A57 FE 4C 3764 CP 76 + 00001A59 20 47 3765 JR NZ,?0270 + 00001A5B 3766 ?0269: + 00001A5B 21 0C 00 3767 LD HL,12 + 00001A5E 39 3768 ADD HL,SP + 00001A5F 01 12 00 3769 LD BC,18 + 00001A62 09 3770 ADD HL,BC + 00001A63 E5 3771 PUSH HL + 00001A64 CD CE 1C 3772 CALL LWRD ?0482 + 00001A67 D5 3773 PUSH DE + 00001A68 DD 4E DB 3774 LD C,(IX-37) + 00001A6B DD 5E F0 3775 LD E,(IX-16) + 00001A6E DD 56 F1 3776 LD D,(IX-15) + 00001A71 CD D7 1C 3777 CALL LWRD ?0483 + 00001A74 D5 3778 PUSH DE + 00001A75 DD 4E DA 3779 LD C,(IX-38) + 00001A78 DD 5E F2 3780 LD E,(IX-14) + 00001A7B DD 56 F3 3781 LD D,(IX-13) + 00001A7E CD 00 00 3782 CALL LWRD ?S_MUL_L02 + 00001A81 D5 3783 PUSH DE + 00001A82 DD 5E D9 3784 LD E,(IX-39) + 00001A85 50 3785 LD D,B + 00001A86 DD 4E F0 3786 LD C,(IX-16) + 00001A89 DD 46 F1 3787 LD B,(IX-15) + 00001A8C CD 00 00 3788 CALL LWRD ?S_MUL_L02 + 00001A8F 3E 97 3789 LD A,BYTE3 Label_new + 00001A91 21 97 18 3790 LD HL,LWRD Label_new + 00001A94 C1 3791 POP BC + 00001A95 CD 00 00 3792 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001A98 F1 3793 POP AF + 00001A99 F1 3794 POP AF + 00001A9A F1 3795 POP AF + 00001A9B E5 3796 PUSH HL + 00001A9C FD E1 3797 POP IY + 00001A9E DD 36 F4 01 3798 LD (IX-12),1 + 00001AA2 3799 ?0270: + 00001AA2 DD 7E D8 3800 LD A,(IX-40) + 00001AA5 FE 41 3801 CP 65 + 00001AA7 20 51 3802 JR NZ,?0272 + 00001AA9 3803 ?0271: + 00001AA9 21 26 00 3804 LD HL,38 + 00001AAC DD 4E 02 3805 LD C,(IX+2) + 00001AAF DD 46 03 3806 LD B,(IX+3) + 00001AB2 09 3807 ADD HL,BC + 00001AB3 E5 3808 PUSH HL + 00001AB4 21 2B 00 3809 LD HL,43 + 00001AB7 39 3810 ADD HL,SP + 00001AB8 EB 3811 EX DE,HL + 00001AB9 E1 3812 POP HL + 00001ABA 73 3813 LD (HL),E + 00001ABB 23 3814 INC HL + 00001ABC 72 3815 LD (HL),D + 00001ABD DD 6E DE 3816 LD L,(IX-34) + 00001AC0 DD 66 DF 3817 LD H,(IX-33) + 00001AC3 DD 75 F8 3818 LD (IX-8),L + 00001AC6 DD 74 F9 3819 LD (IX-7),H + 00001AC9 DD 6E E0 3820 LD L,(IX-32) + 00001ACC DD 66 E1 3821 LD H,(IX-31) + 00001ACF DD 75 FA 3822 LD (IX-6),L + 00001AD2 DD 74 FB 3823 LD (IX-5),H + 00001AD5 21 16 00 3824 LD HL,22 + 00001AD8 39 3825 ADD HL,SP + 00001AD9 4E 3826 LD C,(HL) + 00001ADA 23 3827 INC HL + 00001ADB 46 3828 LD B,(HL) + 00001ADC 23 3829 INC HL + 00001ADD 5E 3830 LD E,(HL) + 00001ADE 23 3831 INC HL + 00001ADF 56 3832 LD D,(HL) + 00001AE0 DD 71 FC 3833 LD (IX-4),C + 00001AE3 DD 70 FD 3834 LD (IX-3),B + 00001AE6 DD 73 FE 3835 LD (IX-2),E + 00001AE9 DD 72 FF 3836 LD (IX-1),D + 00001AEC DD 5E 02 3837 LD E,(IX+2) + 00001AEF DD 56 03 3838 LD D,(IX+3) + 00001AF2 3E DE 3839 LD A,BYTE3 root_actionhandler + 00001AF4 21 DE 1C 3840 LD HL,LWRD root_actionhandler + 00001AF7 CD 00 00 3841 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001AFA 3842 ?0272: + 00001AFA DD 7E D8 3843 LD A,(IX-40) + 00001AFD FE 53 3844 CP 83 + 00001AFF 20 71 3845 JR NZ,?0274 + 00001B01 3846 ?0273: + 00001B01 21 0C 00 3847 LD HL,12 + 00001B04 39 3848 ADD HL,SP + 00001B05 4D 3849 LD C,L + 00001B06 44 3850 LD B,H + 00001B07 DD 5E D4 3851 LD E,(IX-44) + 00001B0A DD 56 D5 3852 LD D,(IX-43) + 00001B0D 3E 16 3853 LD A,BYTE3 read_stringtable + 00001B0F 21 16 20 3854 LD HL,LWRD read_stringtable + 00001B12 CD 00 00 3855 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001B15 21 26 00 3856 LD HL,38 + 00001B18 DD 4E 02 3857 LD C,(IX+2) + 00001B1B DD 46 03 3858 LD B,(IX+3) + 00001B1E 09 3859 ADD HL,BC + 00001B1F E5 3860 PUSH HL + 00001B20 11 04 00 3861 LD DE,4 + 00001B23 CD C6 1C 3862 CALL LWRD ?0454 + 00001B26 EB 3863 EX DE,HL + 00001B27 E1 3864 POP HL + 00001B28 73 3865 LD (HL),E + 00001B29 23 3866 INC HL + 00001B2A 72 3867 LD (HL),D + 00001B2B 21 26 00 3868 LD HL,38 + 00001B2E 09 3869 ADD HL,BC + 00001B2F 56 3870 LD D,(HL) + 00001B30 DD 72 F5 3871 LD (IX-11),D + 00001B33 23 3872 INC HL + 00001B34 66 3873 LD H,(HL) + 00001B35 DD 74 F6 3874 LD (IX-10),H + 00001B38 21 24 00 3875 LD HL,36 + 00001B3B 09 3876 ADD HL,BC + 00001B3C 36 04 3877 LD (HL),4 + 00001B3E 23 3878 INC HL + 00001B3F 36 00 3879 LD (HL),0 + 00001B41 6A 3880 LD L,D + 00001B42 DD 66 F6 3881 LD H,(IX-10) + 00001B45 23 3882 INC HL + 00001B46 23 3883 INC HL + 00001B47 E5 3884 PUSH HL + 00001B48 21 08 00 3885 LD HL,8 + 00001B4B ED 4B 00 00 3886 LD BC,(global) + 00001B4F 09 3887 ADD HL,BC + 00001B50 5E 3888 LD E,(HL) + 00001B51 23 3889 INC HL + 00001B52 56 3890 LD D,(HL) + 00001B53 E1 3891 POP HL + 00001B54 73 3892 LD (HL),E + 00001B55 23 3893 INC HL + 00001B56 72 3894 LD (HL),D + 00001B57 21 06 00 3895 LD HL,6 + 00001B5A ED 4B 00 00 3896 LD BC,(global) + 00001B5E 09 3897 ADD HL,BC + 00001B5F 46 3898 LD B,(HL) + 00001B60 23 3899 INC HL + 00001B61 66 3900 LD H,(HL) + 00001B62 68 3901 LD L,B + 00001B63 E5 3902 PUSH HL + 00001B64 DD 6E F5 3903 LD L,(IX-11) + 00001B67 DD 66 F6 3904 LD H,(IX-10) + 00001B6A C1 3905 POP BC + 00001B6B 71 3906 LD (HL),C + 00001B6C 23 3907 INC HL + 00001B6D 70 3908 LD (HL),B + 00001B6E DD 36 F4 00 3909 LD (IX-12),0 + 00001B72 3910 ?0274: + 00001B72 AF 3911 XOR A + 00001B73 DD B6 F4 3912 OR (IX-12) + 00001B76 CA 72 1C 3913 JP Z,?0276 + 00001B79 3914 ?0275: + 00001B79 DD 7E DE 3915 LD A,(IX-34) + 00001B7C DD B6 DF 3916 OR (IX-33) + 00001B7F 28 69 3917 JR Z,?0278 + 00001B81 3918 ?0277: + 00001B81 FD CB 0A EE 3919 SET 5,(IY+10) + 00001B85 FD 36 24 0B 3920 LD (IY+36),11 + 00001B89 FD 36 25 00 3921 LD (IY+37),0 + 00001B8D 11 0B 00 3922 LD DE,11 + 00001B90 CD C6 1C 3923 CALL LWRD ?0454 + 00001B93 FD 75 26 3924 LD (IY+38),L + 00001B96 FD 74 27 3925 LD (IY+39),H + 00001B99 FD 6E 26 3926 LD L,(IY+38) + 00001B9C DD 75 D0 3927 LD (IX-48),L + 00001B9F FD 66 27 3928 LD H,(IY+39) + 00001BA2 DD 74 D1 3929 LD (IX-47),H + 00001BA5 36 DE 3930 LD (HL),LOW(root_actionhandler) + 00001BA7 23 3931 INC HL + 00001BA8 36 1C 3932 LD (HL),HIGH(root_actionhandler) + 00001BAA 23 3933 INC HL + 00001BAB 36 DE 3934 LD (HL),BYTE3 root_actionhandler + 00001BAD DD 6E D0 3935 LD L,(IX-48) + 00001BB0 DD 66 D1 3936 LD H,(IX-47) + 00001BB3 23 3937 INC HL + 00001BB4 23 3938 INC HL + 00001BB5 23 3939 INC HL + 00001BB6 DD 4E DE 3940 LD C,(IX-34) + 00001BB9 71 3941 LD (HL),C + 00001BBA DD 46 DF 3942 LD B,(IX-33) + 00001BBD 23 3943 INC HL + 00001BBE 70 3944 LD (HL),B + 00001BBF 21 05 00 3945 LD HL,5 + 00001BC2 DD 4E D0 3946 LD C,(IX-48) + 00001BC5 DD 46 D1 3947 LD B,(IX-47) + 00001BC8 09 3948 ADD HL,BC + 00001BC9 DD 5E E0 3949 LD E,(IX-32) + 00001BCC 73 3950 LD (HL),E + 00001BCD DD 56 E1 3951 LD D,(IX-31) + 00001BD0 23 3952 INC HL + 00001BD1 72 3953 LD (HL),D + 00001BD2 21 07 00 3954 LD HL,7 + 00001BD5 09 3955 ADD HL,BC + 00001BD6 E5 3956 PUSH HL + 00001BD7 21 18 00 3957 LD HL,24 + 00001BDA 39 3958 ADD HL,SP + 00001BDB 5E 3959 LD E,(HL) + 00001BDC 23 3960 INC HL + 00001BDD 56 3961 LD D,(HL) + 00001BDE 23 3962 INC HL + 00001BDF 4E 3963 LD C,(HL) + 00001BE0 23 3964 INC HL + 00001BE1 46 3965 LD B,(HL) + 00001BE2 E1 3966 POP HL + 00001BE3 73 3967 LD (HL),E + 00001BE4 23 3968 INC HL + 00001BE5 72 3969 LD (HL),D + 00001BE6 23 3970 INC HL + 00001BE7 71 3971 LD (HL),C + 00001BE8 23 3972 INC HL + 00001BE9 70 3973 LD (HL),B + 00001BEA 3974 ?0278: + 00001BEA DD 7E E6 3975 LD A,(IX-26) + 00001BED DD B6 E7 3976 OR (IX-25) + 00001BF0 28 0C 3977 JR Z,?0280 + 00001BF2 3978 ?0279: + 00001BF2 DD 6E E6 3979 LD L,(IX-26) + 00001BF5 FD 75 0A 3980 LD (IY+10),L + 00001BF8 DD 66 E7 3981 LD H,(IX-25) + 00001BFB FD 74 0B 3982 LD (IY+11),H + 00001BFE 3983 ?0280: + 00001BFE DD 6E E8 3984 LD L,(IX-24) + 00001C01 FD 75 0E 3985 LD (IY+14),L + 00001C04 DD 66 E9 3986 LD H,(IX-23) + 00001C07 FD 74 0F 3987 LD (IY+15),H + 00001C0A DD 6E EA 3988 LD L,(IX-22) + 00001C0D FD 75 20 3989 LD (IY+32),L + 00001C10 DD 7E EB 3990 LD A,(IX-21) + 00001C13 E6 0F 3991 AND 15 + 00001C15 FD 77 21 3992 LD (IY+33),A + 00001C18 FD 7E 20 3993 LD A,(IY+32) + 00001C1B FD B6 21 3994 OR (IY+33) + 00001C1E 20 16 3995 JR NZ,?0282 + 00001C20 3996 ?0281: + 00001C20 11 14 00 3997 LD DE,20 + 00001C23 CD C6 1C 3998 CALL LWRD ?0454 + 00001C26 FD 75 20 3999 LD (IY+32),L + 00001C29 FD 74 21 4000 LD (IY+33),H + 00001C2C FD 6E 20 4001 LD L,(IY+32) + 00001C2F FD 66 21 4002 LD H,(IY+33) + 00001C32 36 00 4003 LD (HL),0 + 00001C34 18 04 4004 JR ?0283 + 00001C36 4005 ?0282: + 00001C36 FD CB 0B F6 4006 SET 6,(IY+11) + 00001C3A 4007 ?0283: + 00001C3A DD 7E EB 4008 LD A,(IX-21) + 00001C3D 2E 00 4009 LD L,0 + 00001C3F 4D 4010 LD C,L + 00001C40 E6 F0 4011 AND 240 + 00001C42 47 4012 LD B,A + 00001C43 26 10 4013 LD H,16 + 00001C45 ED 42 4014 SBC HL,BC + 00001C47 30 10 4015 JR NC,?0285 + 00001C49 4016 ?0284: + 00001C49 DD 6E EA 4017 LD L,(IX-22) + 00001C4C DD 7E EB 4018 LD A,(IX-21) + 00001C4F E6 0F 4019 AND 15 + 00001C51 67 4020 LD H,A + 00001C52 23 4021 INC HL + 00001C53 FD 75 22 4022 LD (IY+34),L + 00001C56 FD 74 23 4023 LD (IY+35),H + 00001C59 4024 ?0285: + 00001C59 FD E5 4025 PUSH IY + 00001C5B DD 5E 02 4026 LD E,(IX+2) + 00001C5E 4B 4027 LD C,E + 00001C5F DD 56 03 4028 LD D,(IX+3) + 00001C62 42 4029 LD B,D + 00001C63 21 1D 00 4030 LD HL,29 + 00001C66 09 4031 ADD HL,BC + 00001C67 4E 4032 LD C,(HL) + 00001C68 23 4033 INC HL + 00001C69 46 4034 LD B,(HL) + 00001C6A 23 4035 INC HL + 00001C6B 7E 4036 LD A,(HL) + 00001C6C 69 4037 LD L,C + 00001C6D 60 4038 LD H,B + 00001C6E C1 4039 POP BC + 00001C6F CD 00 00 4040 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001C72 4041 ?0276: + 00001C72 21 14 00 4042 LD HL,20 + 00001C75 E5 4043 PUSH HL + 00001C76 2E 0E 4044 LD L,14 + 00001C78 39 4045 ADD HL,SP + 00001C79 4D 4046 LD C,L + 00001C7A 44 4047 LD B,H + 00001C7B DD 5E D4 4048 LD E,(IX-44) + 00001C7E DD 56 D5 4049 LD D,(IX-43) + 00001C81 CD BE 1C 4050 CALL LWRD ?0441 + 00001C84 F1 4051 POP AF + 00001C85 3E 14 4052 LD A,20 + 00001C87 AD 4053 XOR L + 00001C88 B4 4054 OR H + 00001C89 CA 3E 19 4055 JP Z,?0256 + 00001C8C 4056 ?0254: + 00001C8C DD 5E D4 4057 LD E,(IX-44) + 00001C8F DD 56 D5 4058 LD D,(IX-43) + 00001C92 3E 00 4059 LD A,BYTE3 close + 00001C94 21 00 00 4060 LD HL,LWRD close + 00001C97 CD 00 00 4061 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001C9A DD 5E 02 4062 LD E,(IX+2) + 00001C9D DD 56 03 4063 LD D,(IX+3) + 00001CA0 3E 1F 4064 LD A,BYTE3 Component_linkstringtable + 00001CA2 21 1F 0A 4065 LD HL,LWRD Component_linkstringtable + 00001CA5 CD 00 00 4066 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001CA8 DD 5E 02 4067 LD E,(IX+2) + 00001CAB 4B 4068 LD C,E + 00001CAC DD 56 03 4069 LD D,(IX+3) + 00001CAF 42 4070 LD B,D + 00001CB0 21 1A 00 4071 LD HL,26 + 00001CB3 09 4072 ADD HL,BC + 00001CB4 4E 4073 LD C,(HL) + 00001CB5 23 4074 INC HL + 00001CB6 46 4075 LD B,(HL) + 00001CB7 23 4076 INC HL + 00001CB8 7E 4077 LD A,(HL) + 00001CB9 69 4078 LD L,C + 00001CBA 60 4079 LD H,B + 00001CBB C3 1F 11 4080 JP LWRD ?0424 + 00001CBE 4081 ?0441: + 00001CBE 3E 00 4082 LD A,BYTE3 _read + 00001CC0 21 00 00 4083 LD HL,LWRD _read + 00001CC3 C3 00 00 4084 JP LWRD ?BANK_CALL_DIRECT_L08 + 00001CC6 4085 ?0454: + 00001CC6 3E 00 4086 LD A,BYTE3 malloc + 00001CC8 21 00 00 4087 LD HL,LWRD malloc + 00001CCB C3 00 00 4088 JP LWRD ?BANK_CALL_DIRECT_L08 + 00001CCE 4089 ?0482: + 00001CCE DD 4E DC 4090 LD C,(IX-36) + 00001CD1 DD 5E F2 4091 LD E,(IX-14) + 00001CD4 DD 56 F3 4092 LD D,(IX-13) + 00001CD7 4093 ?0483: + 00001CD7 CD 00 00 4094 CALL LWRD ?S_MUL_L02 + 00001CDA 1B 4095 DEC DE + 00001CDB 1B 4096 DEC DE + 00001CDC 1B 4097 DEC DE + 00001CDD C9 4098 RET + 00001CDE 4099 root_actionhandler: + 00001CDE CD 00 00 4100 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00001CE1 EA FF 4101 DEFW 65514 + 00001CE3 FD E5 4102 PUSH IY + 00001CE5 DD 6E 02 4103 LD L,(IX+2) + 00001CE8 DD 66 03 4104 LD H,(IX+3) + 00001CEB E5 4105 PUSH HL + 00001CEC FD E1 4106 POP IY + 00001CEE 21 06 00 4107 LD HL,6 + 00001CF1 39 4108 ADD HL,SP + 00001CF2 EB 4109 EX DE,HL + 00001CF3 21 26 00 4110 LD HL,?0286 + 00001CF6 01 0E 00 4111 LD BC,14 + 00001CF9 ED B0 4112 LDIR + 00001CFB FD 6E 26 4113 LD L,(IY+38) + 00001CFE DD 75 EA 4114 LD (IX-22),L + 00001D01 FD 66 27 4115 LD H,(IY+39) + 00001D04 DD 74 EB 4116 LD (IX-21),H + 00001D07 23 4117 INC HL + 00001D08 23 4118 INC HL + 00001D09 23 4119 INC HL + 00001D0A 3E 01 4120 LD A,1 + 00001D0C AE 4121 XOR (HL) + 00001D0D 23 4122 INC HL + 00001D0E B6 4123 OR (HL) + 00001D0F 20 08 4124 JR NZ,?0288 + 00001D11 4125 ?0287: + 00001D11 C5 4126 PUSH BC + 00001D12 01 01 04 4127 LD BC,1025 + 00001D15 CD 76 0D 4128 CALL LWRD ?0463 + 00001D18 E1 4129 POP HL + 00001D19 4130 ?0288: + 00001D19 DD 6E EA 4131 LD L,(IX-22) + 00001D1C DD 66 EB 4132 LD H,(IX-21) + 00001D1F 23 4133 INC HL + 00001D20 23 4134 INC HL + 00001D21 23 4135 INC HL + 00001D22 46 4136 LD B,(HL) + 00001D23 23 4137 INC HL + 00001D24 66 4138 LD H,(HL) + 00001D25 68 4139 LD L,B + 00001D26 CB 85 4140 RES 0,L + 00001D28 3E 02 4141 LD A,2 + 00001D2A AD 4142 XOR L + 00001D2B B4 4143 OR H + 00001D2C C2 49 1E 4144 JP NZ,?0290 + 00001D2F 4145 ?0289: + 00001D2F 6F 4146 LD L,A + 00001D30 67 4147 LD H,A + 00001D31 E5 4148 PUSH HL + 00001D32 E5 4149 PUSH HL + 00001D33 01 01 00 4150 LD BC,1 + 00001D36 FD 5E 11 4151 LD E,(IY+17) + 00001D39 FD 56 12 4152 LD D,(IY+18) + 00001D3C 3E B6 4153 LD A,BYTE3 Component_changestate_children + 00001D3E 21 B6 09 4154 LD HL,LWRD Component_changestate_children + 00001D41 CD 00 00 4155 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001D44 E1 4156 POP HL + 00001D45 E1 4157 POP HL + 00001D46 FD 6E 11 4158 LD L,(IY+17) + 00001D49 FD 66 12 4159 LD H,(IY+18) + 00001D4C 01 08 00 4160 LD BC,8 + 00001D4F 09 4161 ADD HL,BC + 00001D50 4E 4162 LD C,(HL) + 00001D51 23 4163 INC HL + 00001D52 46 4164 LD B,(HL) + 00001D53 C5 4165 PUSH BC + 00001D54 FD 6E 11 4166 LD L,(IY+17) + 00001D57 FD 66 12 4167 LD H,(IY+18) + 00001D5A 01 06 00 4168 LD BC,6 + 00001D5D 09 4169 ADD HL,BC + 00001D5E 4E 4170 LD C,(HL) + 00001D5F 23 4171 INC HL + 00001D60 46 4172 LD B,(HL) + 00001D61 C5 4173 PUSH BC + 00001D62 01 00 00 4174 LD BC,0 + 00001D65 59 4175 LD E,C + 00001D66 50 4176 LD D,B + 00001D67 3E 71 4177 LD A,BYTE3 Window_new + 00001D69 21 71 0F 4178 LD HL,LWRD Window_new + 00001D6C CD 00 00 4179 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001D6F F1 4180 POP AF + 00001D70 F1 4181 POP AF + 00001D71 DD 75 EC 4182 LD (IX-20),L + 00001D74 DD 74 ED 4183 LD (IX-19),H + 00001D77 01 0A 00 4184 LD BC,10 + 00001D7A 09 4185 ADD HL,BC + 00001D7B 36 03 4186 LD (HL),3 + 00001D7D 23 4187 INC HL + 00001D7E 70 4188 LD (HL),B + 00001D7F DD 6E EA 4189 LD L,(IX-22) + 00001D82 DD 66 EB 4190 LD H,(IX-21) + 00001D85 23 4191 INC HL + 00001D86 23 4192 INC HL + 00001D87 23 4193 INC HL + 00001D88 CB 46 4194 BIT 0,(HL) + 00001D8A 28 0C 4195 JR Z,?0292 + 00001D8C 4196 ?0291: + 00001D8C 69 4197 LD L,C + 00001D8D 60 4198 LD H,B + 00001D8E DD 4E EC 4199 LD C,(IX-20) + 00001D91 DD 46 ED 4200 LD B,(IX-19) + 00001D94 09 4201 ADD HL,BC + 00001D95 23 4202 INC HL + 00001D96 CB EE 4203 SET 5,(HL) + 00001D98 4204 ?0292: + 00001D98 21 17 00 4205 LD HL,23 + 00001D9B DD 4E EC 4206 LD C,(IX-20) + 00001D9E DD 46 ED 4207 LD B,(IX-19) + 00001DA1 09 4208 ADD HL,BC + 00001DA2 36 F0 4209 LD (HL),LOW(rootWindow_handler) + 00001DA4 23 4210 INC HL + 00001DA5 36 18 4211 LD (HL),HIGH(rootWindow_handler) + 00001DA7 23 4212 INC HL + 00001DA8 36 F0 4213 LD (HL),BYTE3 rootWindow_handler + 00001DAA 21 1A 00 4214 LD HL,26 + 00001DAD 09 4215 ADD HL,BC + 00001DAE 36 2C 4216 LD (HL),LOW(Root_paint) + 00001DB0 23 4217 INC HL + 00001DB1 36 0F 4218 LD (HL),HIGH(Root_paint) + 00001DB3 23 4219 INC HL + 00001DB4 36 2C 4220 LD (HL),BYTE3 Root_paint + 00001DB6 21 07 00 4221 LD HL,7 + 00001DB9 DD 5E EA 4222 LD E,(IX-22) + 00001DBC DD 56 EB 4223 LD D,(IX-21) + 00001DBF 19 4224 ADD HL,DE + 00001DC0 5E 4225 LD E,(HL) + 00001DC1 EB 4226 EX DE,HL + 00001DC2 DD 75 F3 4227 LD (IX-13),L + 00001DC5 21 07 00 4228 LD HL,7 + 00001DC8 DD 4E EA 4229 LD C,(IX-22) + 00001DCB DD 46 EB 4230 LD B,(IX-21) + 00001DCE 09 4231 ADD HL,BC + 00001DCF 5E 4232 LD E,(HL) + 00001DD0 23 4233 INC HL + 00001DD1 56 4234 LD D,(HL) + 00001DD2 23 4235 INC HL + 00001DD3 4E 4236 LD C,(HL) + 00001DD4 23 4237 INC HL + 00001DD5 46 4238 LD B,(HL) + 00001DD6 EB 4239 EX DE,HL + 00001DD7 3E 08 4240 LD A,8 + 00001DD9 CD 00 00 4241 CALL LWRD ?SL_RSH_L03 + 00001DDC DD 75 F4 4242 LD (IX-12),L + 00001DDF 21 07 00 4243 LD HL,7 + 00001DE2 DD 4E EA 4244 LD C,(IX-22) + 00001DE5 DD 46 EB 4245 LD B,(IX-21) + 00001DE8 09 4246 ADD HL,BC + 00001DE9 5E 4247 LD E,(HL) + 00001DEA 23 4248 INC HL + 00001DEB 56 4249 LD D,(HL) + 00001DEC 23 4250 INC HL + 00001DED 4E 4251 LD C,(HL) + 00001DEE 23 4252 INC HL + 00001DEF 46 4253 LD B,(HL) + 00001DF0 EB 4254 EX DE,HL + 00001DF1 3E 10 4255 LD A,16 + 00001DF3 CD 00 00 4256 CALL LWRD ?SL_RSH_L03 + 00001DF6 DD 75 F5 4257 LD (IX-11),L + 00001DF9 21 07 00 4258 LD HL,7 + 00001DFC DD 4E EA 4259 LD C,(IX-22) + 00001DFF DD 46 EB 4260 LD B,(IX-21) + 00001E02 09 4261 ADD HL,BC + 00001E03 5E 4262 LD E,(HL) + 00001E04 23 4263 INC HL + 00001E05 56 4264 LD D,(HL) + 00001E06 23 4265 INC HL + 00001E07 4E 4266 LD C,(HL) + 00001E08 23 4267 INC HL + 00001E09 46 4268 LD B,(HL) + 00001E0A EB 4269 EX DE,HL + 00001E0B 3E 18 4270 LD A,24 + 00001E0D CD 00 00 4271 CALL LWRD ?SL_RSH_L03 + 00001E10 DD 75 F6 4272 LD (IX-10),L + 00001E13 21 06 00 4273 LD HL,6 + 00001E16 39 4274 ADD HL,SP + 00001E17 4D 4275 LD C,L + 00001E18 44 4276 LD B,H + 00001E19 DD 5E EC 4277 LD E,(IX-20) + 00001E1C DD 56 ED 4278 LD D,(IX-19) + 00001E1F 3E 0E 4279 LD A,BYTE3 screenbuilder + 00001E21 21 0E 19 4280 LD HL,LWRD screenbuilder + 00001E24 CD 00 00 4281 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001E27 DD 4E EC 4282 LD C,(IX-20) + 00001E2A DD 46 ED 4283 LD B,(IX-19) + 00001E2D C5 4284 PUSH BC + 00001E2E FD 5E 11 4285 LD E,(IY+17) + 00001E31 FD 56 12 4286 LD D,(IY+18) + 00001E34 FD 6E 11 4287 LD L,(IY+17) + 00001E37 FD 66 12 4288 LD H,(IY+18) + 00001E3A 01 1D 00 4289 LD BC,29 + 00001E3D 09 4290 ADD HL,BC + 00001E3E 4E 4291 LD C,(HL) + 00001E3F 23 4292 INC HL + 00001E40 46 4293 LD B,(HL) + 00001E41 23 4294 INC HL + 00001E42 7E 4295 LD A,(HL) + 00001E43 69 4296 LD L,C + 00001E44 60 4297 LD H,B + 00001E45 C1 4298 POP BC + 00001E46 CD 00 00 4299 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001E49 4300 ?0290: + 00001E49 DD 6E EA 4301 LD L,(IX-22) + 00001E4C DD 66 EB 4302 LD H,(IX-21) + 00001E4F 23 4303 INC HL + 00001E50 23 4304 INC HL + 00001E51 23 4305 INC HL + 00001E52 3E 04 4306 LD A,4 + 00001E54 AE 4307 XOR (HL) + 00001E55 23 4308 INC HL + 00001E56 B6 4309 OR (HL) + 00001E57 C2 E7 1F 4310 JP NZ,?0294 + 00001E5A 4311 ?0293: + 00001E5A 21 01 00 4312 LD HL,1 + 00001E5D E5 4313 PUSH HL + 00001E5E FD 6E 11 4314 LD L,(IY+17) + 00001E61 FD 66 12 4315 LD H,(IY+18) + 00001E64 01 08 00 4316 LD BC,8 + 00001E67 09 4317 ADD HL,BC + 00001E68 46 4318 LD B,(HL) + 00001E69 23 4319 INC HL + 00001E6A 66 4320 LD H,(HL) + 00001E6B 68 4321 LD L,B + 00001E6C 01 F6 FF 4322 LD BC,65526 + 00001E6F 09 4323 ADD HL,BC + 00001E70 E5 4324 PUSH HL + 00001E71 FD 6E 11 4325 LD L,(IY+17) + 00001E74 FD 66 12 4326 LD H,(IY+18) + 00001E77 01 06 00 4327 LD BC,6 + 00001E7A 09 4328 ADD HL,BC + 00001E7B 46 4329 LD B,(HL) + 00001E7C 23 4330 INC HL + 00001E7D 66 4331 LD H,(HL) + 00001E7E 68 4332 LD L,B + 00001E7F 01 F6 FF 4333 LD BC,65526 + 00001E82 09 4334 ADD HL,BC + 00001E83 E5 4335 PUSH HL + 00001E84 01 05 00 4336 LD BC,5 + 00001E87 59 4337 LD E,C + 00001E88 50 4338 LD D,B + 00001E89 3E 1A 4339 LD A,BYTE3 Dialog_new + 00001E8B 21 1A 15 4340 LD HL,LWRD Dialog_new + 00001E8E CD 00 00 4341 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001E91 F1 4342 POP AF + 00001E92 F1 4343 POP AF + 00001E93 F1 4344 POP AF + 00001E94 DD 75 EC 4345 LD (IX-20),L + 00001E97 DD 74 ED 4346 LD (IX-19),H + 00001E9A 01 0A 00 4347 LD BC,10 + 00001E9D 09 4348 ADD HL,BC + 00001E9E 36 03 4349 LD (HL),3 + 00001EA0 23 4350 INC HL + 00001EA1 36 10 4351 LD (HL),16 + 00001EA3 21 0E 00 4352 LD HL,14 + 00001EA6 DD 4E EC 4353 LD C,(IX-20) + 00001EA9 DD 46 ED 4354 LD B,(IX-19) + 00001EAC 09 4355 ADD HL,BC + 00001EAD 36 30 4356 LD (HL),48 + 00001EAF 23 4357 INC HL + 00001EB0 36 00 4358 LD (HL),0 + 00001EB2 AF 4359 XOR A + 00001EB3 DD 77 FE 4360 LD (IX-2),A + 00001EB6 DD 77 FF 4361 LD (IX-1),A + 00001EB9 4362 ?0296: + 00001EB9 21 05 00 4363 LD HL,5 + 00001EBC DD 4E EA 4364 LD C,(IX-22) + 00001EBF DD 46 EB 4365 LD B,(IX-21) + 00001EC2 09 4366 ADD HL,BC + 00001EC3 5E 4367 LD E,(HL) + 00001EC4 23 4368 INC HL + 00001EC5 56 4369 LD D,(HL) + 00001EC6 06 0C 4370 LD B,12 + 00001EC8 CD 00 00 4371 CALL LWRD ?SS_RSH_L02 + 00001ECB 4B 4372 LD C,E + 00001ECC 42 4373 LD B,D + 00001ECD DD 6E FE 4374 LD L,(IX-2) + 00001ED0 DD 66 FF 4375 LD H,(IX-1) + 00001ED3 CD 00 00 4376 CALL LWRD ?SS_CMP_L02 + 00001ED6 30 04 4377 JR NC,?0367 + 00001ED8 3E 01 4378 LD A,1 + 00001EDA 18 01 4379 JR ?0368 + 00001EDC 4380 ?0367: + 00001EDC AF 4381 XOR A + 00001EDD 4382 ?0368: + 00001EDD E6 0F 4383 AND 15 + 00001EDF CA 7B 1F 4384 JP Z,?0295 + 00001EE2 4385 ?0297: + 00001EE2 21 05 00 4386 LD HL,5 + 00001EE5 DD 4E EA 4387 LD C,(IX-22) + 00001EE8 DD 46 EB 4388 LD B,(IX-21) + 00001EEB 09 4389 ADD HL,BC + 00001EEC 46 4390 LD B,(HL) + 00001EED 23 4391 INC HL + 00001EEE 7E 4392 LD A,(HL) + 00001EEF 68 4393 LD L,B + 00001EF0 E6 0F 4394 AND 15 + 00001EF2 67 4395 LD H,A + 00001EF3 DD 4E FE 4396 LD C,(IX-2) + 00001EF6 DD 46 FF 4397 LD B,(IX-1) + 00001EF9 09 4398 ADD HL,BC + 00001EFA 29 4399 ADD HL,HL + 00001EFB E5 4400 PUSH HL + 00001EFC 21 08 00 4401 LD HL,8 + 00001EFF ED 5B 00 00 4402 LD DE,(global) + 00001F03 19 4403 ADD HL,DE + 00001F04 5E 4404 LD E,(HL) + 00001F05 23 4405 INC HL + 00001F06 56 4406 LD D,(HL) + 00001F07 E1 4407 POP HL + 00001F08 19 4408 ADD HL,DE + 00001F09 2B 4409 DEC HL + 00001F0A 2B 4410 DEC HL + 00001F0B 5E 4411 LD E,(HL) + 00001F0C 23 4412 INC HL + 00001F0D 56 4413 LD D,(HL) + 00001F0E D5 4414 PUSH DE + 00001F0F 21 10 00 4415 LD HL,16 + 00001F12 E5 4416 PUSH HL + 00001F13 2E 06 4417 LD L,6 + 00001F15 DD 5E EC 4418 LD E,(IX-20) + 00001F18 DD 56 ED 4419 LD D,(IX-19) + 00001F1B 19 4420 ADD HL,DE + 00001F1C 6E 4421 LD L,(HL) + 00001F1D 26 00 4422 LD H,0 + 00001F1F 01 F0 FF 4423 LD BC,65520 + 00001F22 09 4424 ADD HL,BC + 00001F23 E5 4425 PUSH HL + 00001F24 DD 6E FE 4426 LD L,(IX-2) + 00001F27 DD 66 FF 4427 LD H,(IX-1) + 00001F2A 29 4428 ADD HL,HL + 00001F2B 29 4429 ADD HL,HL + 00001F2C 4D 4430 LD C,L + 00001F2D 44 4431 LD B,H + 00001F2E 29 4432 ADD HL,HL + 00001F2F 09 4433 ADD HL,BC + 00001F30 01 14 00 4434 LD BC,20 + 00001F33 09 4435 ADD HL,BC + 00001F34 4D 4436 LD C,L + 00001F35 44 4437 LD B,H + 00001F36 11 08 00 4438 LD DE,8 + 00001F39 3E 97 4439 LD A,BYTE3 Label_new + 00001F3B 21 97 18 4440 LD HL,LWRD Label_new + 00001F3E CD 00 00 4441 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001F41 F1 4442 POP AF + 00001F42 F1 4443 POP AF + 00001F43 F1 4444 POP AF + 00001F44 DD 75 FC 4445 LD (IX-4),L + 00001F47 DD 74 FD 4446 LD (IX-3),H + 00001F4A 01 0E 00 4447 LD BC,14 + 00001F4D 09 4448 ADD HL,BC + 00001F4E 36 30 4449 LD (HL),48 + 00001F50 23 4450 INC HL + 00001F51 70 4451 LD (HL),B + 00001F52 DD 4E FC 4452 LD C,(IX-4) + 00001F55 DD 46 FD 4453 LD B,(IX-3) + 00001F58 C5 4454 PUSH BC + 00001F59 DD 5E EC 4455 LD E,(IX-20) + 00001F5C 4B 4456 LD C,E + 00001F5D DD 56 ED 4457 LD D,(IX-19) + 00001F60 42 4458 LD B,D + 00001F61 21 1D 00 4459 LD HL,29 + 00001F64 09 4460 ADD HL,BC + 00001F65 4E 4461 LD C,(HL) + 00001F66 23 4462 INC HL + 00001F67 46 4463 LD B,(HL) + 00001F68 23 4464 INC HL + 00001F69 7E 4465 LD A,(HL) + 00001F6A 69 4466 LD L,C + 00001F6B 60 4467 LD H,B + 00001F6C C1 4468 POP BC + 00001F6D CD 00 00 4469 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001F70 DD 34 FE 4470 INC (IX-2) + 00001F73 20 03 4471 JR NZ,?0369 + 00001F75 DD 34 FF 4472 INC (IX-1) + 00001F78 4473 ?0369: + 00001F78 C3 B9 1E 4474 JP LWRD ?0296 + 00001F7B 4475 ?0295: + 00001F7B 01 15 00 4476 LD BC,?0299 + 00001F7E DD 5E EC 4477 LD E,(IX-20) + 00001F81 DD 56 ED 4478 LD D,(IX-19) + 00001F84 3E 59 4479 LD A,BYTE3 Component_setlabel + 00001F86 21 59 06 4480 LD HL,LWRD Component_setlabel + 00001F89 CD 00 00 4481 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001F8C 01 FF 00 4482 LD BC,255 + 00001F8F CD 08 20 4483 CALL LWRD ?0476 + 00001F92 01 0E 00 4484 LD BC,14 + 00001F95 09 4485 ADD HL,BC + 00001F96 36 30 4486 LD (HL),48 + 00001F98 23 4487 INC HL + 00001F99 70 4488 LD (HL),B + 00001F9A 0E FE 4489 LD C,254 + 00001F9C CD 08 20 4490 CALL LWRD ?0476 + 00001F9F EB 4491 EX DE,HL + 00001FA0 CD 8F 09 4492 CALL LWRD ?0453 + 00001FA3 DD 4E EC 4493 LD C,(IX-20) + 00001FA6 DD 46 ED 4494 LD B,(IX-19) + 00001FA9 C5 4495 PUSH BC + 00001FAA FD 5E 11 4496 LD E,(IY+17) + 00001FAD FD 56 12 4497 LD D,(IY+18) + 00001FB0 FD 6E 11 4498 LD L,(IY+17) + 00001FB3 FD 66 12 4499 LD H,(IY+18) + 00001FB6 01 1D 00 4500 LD BC,29 + 00001FB9 09 4501 ADD HL,BC + 00001FBA 4E 4502 LD C,(HL) + 00001FBB 23 4503 INC HL + 00001FBC 46 4504 LD B,(HL) + 00001FBD 23 4505 INC HL + 00001FBE 7E 4506 LD A,(HL) + 00001FBF 69 4507 LD L,C + 00001FC0 60 4508 LD H,B + 00001FC1 C1 4509 POP BC + 00001FC2 CD 00 00 4510 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001FC5 21 00 00 4511 LD HL,0 + 00001FC8 E5 4512 PUSH HL + 00001FC9 FD 5E 11 4513 LD E,(IY+17) + 00001FCC FD 56 12 4514 LD D,(IY+18) + 00001FCF FD 6E 11 4515 LD L,(IY+17) + 00001FD2 FD 66 12 4516 LD H,(IY+18) + 00001FD5 01 17 00 4517 LD BC,23 + 00001FD8 09 4518 ADD HL,BC + 00001FD9 4E 4519 LD C,(HL) + 00001FDA 23 4520 INC HL + 00001FDB 46 4521 LD B,(HL) + 00001FDC 23 4522 INC HL + 00001FDD 7E 4523 LD A,(HL) + 00001FDE 69 4524 LD L,C + 00001FDF 60 4525 LD H,B + 00001FE0 01 03 01 4526 LD BC,259 + 00001FE3 CD 00 00 4527 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00001FE6 E1 4528 POP HL + 00001FE7 4529 ?0294: + 00001FE7 21 10 00 4530 LD HL,16 + 00001FEA ED 4B 00 00 4531 LD BC,(global) + 00001FEE 09 4532 ADD HL,BC + 00001FEF 7E 4533 LD A,(HL) + 00001FF0 23 4534 INC HL + 00001FF1 B6 4535 OR (HL) + 00001FF2 23 4536 INC HL + 00001FF3 B6 4537 OR (HL) + 00001FF4 28 0D 4538 JR Z,?0301 + 00001FF6 4539 ?0300: + 00001FF6 FD E5 4540 PUSH IY + 00001FF8 D1 4541 POP DE + 00001FF9 21 10 00 4542 LD HL,16 + 00001FFC ED 4B 00 00 4543 LD BC,(global) + 00002000 CD 94 0D 4544 CALL LWRD ?0475 + 00002003 4545 ?0301: + 00002003 FD E1 4546 POP IY + 00002005 C3 00 00 4547 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00002008 4548 ?0476: + 00002008 DD 5E EC 4549 LD E,(IX-20) + 0000200B DD 56 ED 4550 LD D,(IX-19) + 0000200E 3E 8E 4551 LD A,BYTE3 Component_find + 00002010 21 8E 07 4552 LD HL,LWRD Component_find + 00002013 C3 00 00 4553 JP LWRD ?BANK_CALL_DIRECT_L08 + 00002016 4554 read_stringtable: + 00002016 CD 00 00 4555 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00002019 F8 FF 4556 DEFW -8 + 0000201B FD E5 4557 PUSH IY + 0000201D 03 4558 INC BC + 0000201E 0A 4559 LD A,(BC) + 0000201F DD 77 FE 4560 LD (IX-2),A + 00002022 03 4561 INC BC + 00002023 0A 4562 LD A,(BC) + 00002024 DD 77 FF 4563 LD (IX-1),A + 00002027 03 4564 INC BC + 00002028 69 4565 LD L,C + 00002029 60 4566 LD H,B + 0000202A 4E 4567 LD C,(HL) + 0000202B DD 71 FC 4568 LD (IX-4),C + 0000202E 23 4569 INC HL + 0000202F 46 4570 LD B,(HL) + 00002030 DD 70 FD 4571 LD (IX-3),B + 00002033 DD 6E FE 4572 LD L,(IX-2) + 00002036 67 4573 LD H,A + 00002037 29 4574 ADD HL,HL + 00002038 EB 4575 EX DE,HL + 00002039 CD C6 1C 4576 CALL LWRD ?0454 + 0000203C DD 75 FA 4577 LD (IX-6),L + 0000203F DD 74 FB 4578 LD (IX-5),H + 00002042 59 4579 LD E,C + 00002043 50 4580 LD D,B + 00002044 CD CE 04 4581 CALL LWRD ?0447 + 00002047 C5 4582 PUSH BC + 00002048 4D 4583 LD C,L + 00002049 44 4584 LD B,H + 0000204A DD 5E 02 4585 LD E,(IX+2) + 0000204D DD 56 03 4586 LD D,(IX+3) + 00002050 CD BE 1C 4587 CALL LWRD ?0441 + 00002053 F1 4588 POP AF + 00002054 11 00 00 4589 LD DE,0 + 00002057 AF 4590 XOR A + 00002058 DD 77 F8 4591 LD (IX-8),A + 0000205B DD 77 F9 4592 LD (IX-7),A + 0000205E 4593 ?0303: + 0000205E DD 4E FC 4594 LD C,(IX-4) + 00002061 DD 46 FD 4595 LD B,(IX-3) + 00002064 6B 4596 LD L,E + 00002065 62 4597 LD H,D + 00002066 CD 00 00 4598 CALL LWRD ?SS_CMP_L02 + 00002069 30 35 4599 JR NC,?0302 + 0000206B CD DC 20 4600 CALL LWRD ?0479 + 0000206E 30 30 4601 JR NC,?0302 + 00002070 4602 ?0306: + 00002070 4603 ?0305: + 00002070 4604 ?0304: + 00002070 23 4605 INC HL + 00002071 DD 75 F8 4606 LD (IX-8),L + 00002074 DD 74 F9 4607 LD (IX-7),H + 00002077 2B 4608 DEC HL + 00002078 29 4609 ADD HL,HL + 00002079 DD 4E FA 4610 LD C,(IX-6) + 0000207C DD 46 FB 4611 LD B,(IX-5) + 0000207F 09 4612 ADD HL,BC + 00002080 E5 4613 PUSH HL + 00002081 FD E5 4614 PUSH IY + 00002083 E1 4615 POP HL + 00002084 19 4616 ADD HL,DE + 00002085 4D 4617 LD C,L + 00002086 44 4618 LD B,H + 00002087 E1 4619 POP HL + 00002088 71 4620 LD (HL),C + 00002089 23 4621 INC HL + 0000208A 70 4622 LD (HL),B + 0000208B 4623 ?0308: + 0000208B FD E5 4624 PUSH IY + 0000208D E1 4625 POP HL + 0000208E 19 4626 ADD HL,DE + 0000208F 7E 4627 LD A,(HL) + 00002090 B7 4628 OR A + 00002091 28 03 4629 JR Z,?0307 + 00002093 4630 ?0309: + 00002093 13 4631 INC DE + 00002094 18 F5 4632 JR ?0308 + 00002096 4633 ?0307: + 00002096 6B 4634 LD L,E + 00002097 62 4635 LD H,D + 00002098 13 4636 INC DE + 00002099 FD E5 4637 PUSH IY + 0000209B C1 4638 POP BC + 0000209C 09 4639 ADD HL,BC + 0000209D 77 4640 LD (HL),A + 0000209E 18 BE 4641 JR ?0303 + 000020A0 4642 ?0302: + 000020A0 CD DC 20 4643 CALL LWRD ?0479 + 000020A3 30 13 4644 JR NC,?0311 + 000020A5 4645 ?0310: + 000020A5 29 4646 ADD HL,HL + 000020A6 DD 4E FA 4647 LD C,(IX-6) + 000020A9 DD 46 FB 4648 LD B,(IX-5) + 000020AC 09 4649 ADD HL,BC + 000020AD E5 4650 PUSH HL + 000020AE FD E5 4651 PUSH IY + 000020B0 E1 4652 POP HL + 000020B1 19 4653 ADD HL,DE + 000020B2 4D 4654 LD C,L + 000020B3 44 4655 LD B,H + 000020B4 E1 4656 POP HL + 000020B5 71 4657 LD (HL),C + 000020B6 23 4658 INC HL + 000020B7 70 4659 LD (HL),B + 000020B8 4660 ?0311: + 000020B8 21 06 00 4661 LD HL,6 + 000020BB ED 4B 00 00 4662 LD BC,(global) + 000020BF 09 4663 ADD HL,BC + 000020C0 FD E5 4664 PUSH IY + 000020C2 C1 4665 POP BC + 000020C3 71 4666 LD (HL),C + 000020C4 23 4667 INC HL + 000020C5 70 4668 LD (HL),B + 000020C6 21 08 00 4669 LD HL,8 + 000020C9 ED 4B 00 00 4670 LD BC,(global) + 000020CD 09 4671 ADD HL,BC + 000020CE DD 4E FA 4672 LD C,(IX-6) + 000020D1 71 4673 LD (HL),C + 000020D2 DD 46 FB 4674 LD B,(IX-5) + 000020D5 23 4675 INC HL + 000020D6 70 4676 LD (HL),B + 000020D7 FD E1 4677 POP IY + 000020D9 C3 00 00 4678 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000020DC 4679 ?0479: + 000020DC DD 4E FE 4680 LD C,(IX-2) + 000020DF DD 46 FF 4681 LD B,(IX-1) + 000020E2 DD 6E F8 4682 LD L,(IX-8) + 000020E5 DD 66 F9 4683 LD H,(IX-7) + 000020E8 C3 00 00 4684 JP LWRD ?SS_CMP_L02 + 000020EB 4685 gui_globals: + 000020EB 2A 00 00 4686 LD HL,(global) + 000020EE C3 00 00 4687 JP LWRD ?BANK_FAST_LEAVE_L08 + 000020F1 4688 GUIinit: + 000020F1 C5 4689 PUSH BC + 000020F2 D5 4690 PUSH DE + 000020F3 11 13 00 4691 LD DE,19 + 000020F6 CD C6 1C 4692 CALL LWRD ?0454 + 000020F9 22 00 00 4693 LD (global),HL + 000020FC AF 4694 XOR A + 000020FD 77 4695 LD (HL),A + 000020FE 23 4696 INC HL + 000020FF 77 4697 LD (HL),A + 00002100 21 04 00 4698 LD HL,4 + 00002103 ED 4B 00 00 4699 LD BC,(global) + 00002107 09 4700 ADD HL,BC + 00002108 77 4701 LD (HL),A + 00002109 23 4702 INC HL + 0000210A 77 4703 LD (HL),A + 0000210B 21 0A 00 4704 LD HL,10 + 0000210E ED 4B 00 00 4705 LD BC,(global) + 00002112 09 4706 ADD HL,BC + 00002113 77 4707 LD (HL),A + 00002114 23 4708 INC HL + 00002115 77 4709 LD (HL),A + 00002116 21 0C 00 4710 LD HL,12 + 00002119 ED 4B 00 00 4711 LD BC,(global) + 0000211D 09 4712 ADD HL,BC + 0000211E 77 4713 LD (HL),A + 0000211F 23 4714 INC HL + 00002120 77 4715 LD (HL),A + 00002121 21 08 00 4716 LD HL,8 + 00002124 ED 4B 00 00 4717 LD BC,(global) + 00002128 09 4718 ADD HL,BC + 00002129 77 4719 LD (HL),A + 0000212A 23 4720 INC HL + 0000212B 77 4721 LD (HL),A + 0000212C 21 06 00 4722 LD HL,6 + 0000212F ED 4B 00 00 4723 LD BC,(global) + 00002133 09 4724 ADD HL,BC + 00002134 77 4725 LD (HL),A + 00002135 23 4726 INC HL + 00002136 77 4727 LD (HL),A + 00002137 21 10 00 4728 LD HL,16 + 0000213A ED 4B 00 00 4729 LD BC,(global) + 0000213E 09 4730 ADD HL,BC + 0000213F 77 4731 LD (HL),A + 00002140 23 4732 INC HL + 00002141 77 4733 LD (HL),A + 00002142 23 4734 INC HL + 00002143 77 4735 LD (HL),A + 00002144 3E 00 4736 LD A,BYTE3 GraphicsOpen + 00002146 21 00 00 4737 LD HL,LWRD GraphicsOpen + 00002149 CD 00 00 4738 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000214C 21 00 00 4739 LD HL,0 + 0000214F E5 4740 PUSH HL + 00002150 E5 4741 PUSH HL + 00002151 0E 70 4742 LD C,BYTE3 stringheight01 + 00002153 C5 4743 PUSH BC + 00002154 21 70 05 4744 LD HL,LWRD stringheight01 + 00002157 E5 4745 PUSH HL + 00002158 0E 8C 4746 LD C,BYTE3 stringwidth0 + 0000215A C5 4747 PUSH BC + 0000215B 21 8C 05 4748 LD HL,LWRD stringwidth0 + 0000215E E5 4749 PUSH HL + 0000215F 11 30 00 4750 LD DE,48 + 00002162 CD 10 22 4751 CALL LWRD ?0484 + 00002165 21 0C 00 4752 LD HL,12 + 00002168 39 4753 ADD HL,SP + 00002169 F9 4754 LD SP,HL + 0000216A 21 00 00 4755 LD HL,0 + 0000216D E5 4756 PUSH HL + 0000216E E5 4757 PUSH HL + 0000216F 0E 70 4758 LD C,BYTE3 stringheight01 + 00002171 C5 4759 PUSH BC + 00002172 21 70 05 4760 LD HL,LWRD stringheight01 + 00002175 E5 4761 PUSH HL + 00002176 0E 9D 4762 LD C,BYTE3 stringwidth1 + 00002178 C5 4763 PUSH BC + 00002179 21 9D 05 4764 LD HL,LWRD stringwidth1 + 0000217C E5 4765 PUSH HL + 0000217D 11 31 00 4766 LD DE,49 + 00002180 CD 10 22 4767 CALL LWRD ?0484 + 00002183 21 0C 00 4768 LD HL,12 + 00002186 39 4769 ADD HL,SP + 00002187 F9 4770 LD SP,HL + 00002188 21 00 00 4771 LD HL,0 + 0000218B E5 4772 PUSH HL + 0000218C E5 4773 PUSH HL + 0000218D 0E 83 4774 LD C,BYTE3 stringheight2 + 0000218F C5 4775 PUSH BC + 00002190 21 83 05 4776 LD HL,LWRD stringheight2 + 00002193 E5 4777 PUSH HL + 00002194 0E A6 4778 LD C,BYTE3 stringwidth2 + 00002196 C5 4779 PUSH BC + 00002197 21 A6 05 4780 LD HL,LWRD stringwidth2 + 0000219A E5 4781 PUSH HL + 0000219B 11 32 00 4782 LD DE,50 + 0000219E CD 10 22 4783 CALL LWRD ?0484 + 000021A1 21 0C 00 4784 LD HL,12 + 000021A4 39 4785 ADD HL,SP + 000021A5 F9 4786 LD SP,HL + 000021A6 21 0E 00 4787 LD HL,14 + 000021A9 ED 4B 00 00 4788 LD BC,(global) + 000021AD 09 4789 ADD HL,BC + 000021AE E5 4790 PUSH HL + 000021AF 11 80 00 4791 LD DE,128 + 000021B2 D5 4792 PUSH DE + 000021B3 5A 4793 LD E,D + 000021B4 D5 4794 PUSH DE + 000021B5 4B 4795 LD C,E + 000021B6 42 4796 LD B,D + 000021B7 3E 71 4797 LD A,BYTE3 Window_new + 000021B9 21 71 0F 4798 LD HL,LWRD Window_new + 000021BC CD 00 00 4799 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000021BF F1 4800 POP AF + 000021C0 F1 4801 POP AF + 000021C1 4D 4802 LD C,L + 000021C2 44 4803 LD B,H + 000021C3 E1 4804 POP HL + 000021C4 71 4805 LD (HL),C + 000021C5 23 4806 INC HL + 000021C6 70 4807 LD (HL),B + 000021C7 21 0E 00 4808 LD HL,14 + 000021CA ED 4B 00 00 4809 LD BC,(global) + 000021CE 09 4810 ADD HL,BC + 000021CF 56 4811 LD D,(HL) + 000021D0 23 4812 INC HL + 000021D1 66 4813 LD H,(HL) + 000021D2 6A 4814 LD L,D + 000021D3 11 0A 00 4815 LD DE,10 + 000021D6 19 4816 ADD HL,DE + 000021D7 36 01 4817 LD (HL),1 + 000021D9 23 4818 INC HL + 000021DA 72 4819 LD (HL),D + 000021DB 21 0E 00 4820 LD HL,14 + 000021DE ED 4B 00 00 4821 LD BC,(global) + 000021E2 09 4822 ADD HL,BC + 000021E3 56 4823 LD D,(HL) + 000021E4 23 4824 INC HL + 000021E5 66 4825 LD H,(HL) + 000021E6 6A 4826 LD L,D + 000021E7 11 17 00 4827 LD DE,23 + 000021EA 19 4828 ADD HL,DE + 000021EB 36 F0 4829 LD (HL),LOW(rootWindow_handler) + 000021ED 23 4830 INC HL + 000021EE 36 18 4831 LD (HL),HIGH(rootWindow_handler) + 000021F0 23 4832 INC HL + 000021F1 36 F0 4833 LD (HL),BYTE3 rootWindow_handler + 000021F3 21 0E 00 4834 LD HL,14 + 000021F6 ED 4B 00 00 4835 LD BC,(global) + 000021FA 09 4836 ADD HL,BC + 000021FB 46 4837 LD B,(HL) + 000021FC 23 4838 INC HL + 000021FD 66 4839 LD H,(HL) + 000021FE 68 4840 LD L,B + 000021FF 01 1A 00 4841 LD BC,26 + 00002202 09 4842 ADD HL,BC + 00002203 36 2C 4843 LD (HL),LOW(Root_paint) + 00002205 23 4844 INC HL + 00002206 36 0F 4845 LD (HL),HIGH(Root_paint) + 00002208 23 4846 INC HL + 00002209 36 2C 4847 LD (HL),BYTE3 Root_paint + 0000220B D1 4848 POP DE + 0000220C C1 4849 POP BC + 0000220D C3 00 00 4850 JP LWRD ?BANK_FAST_LEAVE_L08 + 00002210 4851 ?0484: + 00002210 3E 33 4852 LD A,BYTE3 loadFont + 00002212 21 33 04 4853 LD HL,LWRD loadFont + 00002215 C3 00 00 4854 JP LWRD ?BANK_CALL_DIRECT_L08 + 00002218 4855 GUIunit: + 00002218 C5 4856 PUSH BC + 00002219 D5 4857 PUSH DE + 0000221A 21 0E 00 4858 LD HL,14 + 0000221D ED 4B 00 00 4859 LD BC,(global) + 00002221 09 4860 ADD HL,BC + 00002222 5E 4861 LD E,(HL) + 00002223 23 4862 INC HL + 00002224 56 4863 LD D,(HL) + 00002225 CD 8F 09 4864 CALL LWRD ?0453 + 00002228 3E BD 4865 LD A,BYTE3 ClearScreen + 0000222A 21 BD 02 4866 LD HL,LWRD ClearScreen + 0000222D CD 00 00 4867 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00002230 3E 8E 4868 LD A,BYTE3 GraphicsClose + 00002232 21 8E 00 4869 LD HL,LWRD GraphicsClose + 00002235 CD 00 00 4870 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00002238 D1 4871 POP DE + 00002239 C1 4872 POP BC + 0000223A C3 00 00 4873 JP LWRD ?BANK_FAST_LEAVE_L08 + 0000223D 4874 GUIgo: + 0000223D CD 00 00 4875 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00002240 FE FF 4876 DEFW 65534 + 00002242 DD 4E 02 4877 LD C,(IX+2) + 00002245 DD 46 03 4878 LD B,(IX+3) + 00002248 21 0E 00 4879 LD HL,14 + 0000224B ED 5B 00 00 4880 LD DE,(global) + 0000224F 19 4881 ADD HL,DE + 00002250 5E 4882 LD E,(HL) + 00002251 23 4883 INC HL + 00002252 56 4884 LD D,(HL) + 00002253 3E 0E 4885 LD A,BYTE3 screenbuilder + 00002255 21 0E 19 4886 LD HL,LWRD screenbuilder + 00002258 CD 00 00 4887 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000225B 4888 ?0313: + 0000225B 21 04 00 4889 LD HL,4 + 0000225E ED 4B 00 00 4890 LD BC,(global) + 00002262 09 4891 ADD HL,BC + 00002263 7E 4892 LD A,(HL) + 00002264 23 4893 INC HL + 00002265 B6 4894 OR (HL) + 00002266 C2 FB 22 4895 JP NZ,?0312 + 00002269 4896 ?0314: + 00002269 21 01 00 4897 LD HL,1 + 0000226C E5 4898 PUSH HL + 0000226D 23 4899 INC HL + 0000226E 39 4900 ADD HL,SP + 0000226F 4D 4901 LD C,L + 00002270 44 4902 LD B,H + 00002271 2A 00 00 4903 LD HL,(global) + 00002274 23 4904 INC HL + 00002275 23 4905 INC HL + 00002276 5E 4906 LD E,(HL) + 00002277 23 4907 INC HL + 00002278 56 4908 LD D,(HL) + 00002279 CD BE 1C 4909 CALL LWRD ?0441 + 0000227C F1 4910 POP AF + 0000227D 3E 01 4911 LD A,1 + 0000227F AD 4912 XOR L + 00002280 B4 4913 OR H + 00002281 20 D8 4914 JR NZ,?0313 + 00002283 4915 ?0315: + 00002283 DD 4E FE 4916 LD C,(IX-2) + 00002286 47 4917 LD B,A + 00002287 C5 4918 PUSH BC + 00002288 21 21 00 4919 LD HL,?0317 + 0000228B E5 4920 PUSH HL + 0000228C 3E 00 4921 LD A,BYTE3 printf + 0000228E 21 00 00 4922 LD HL,LWRD printf + 00002291 CD 00 00 4923 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00002294 F1 4924 POP AF + 00002295 F1 4925 POP AF + 00002296 AF 4926 XOR A + 00002297 DD B6 FE 4927 OR (IX-2) + 0000229A 28 29 4928 JR Z,?0319 + 0000229C 4929 ?0318: + 0000229C 4F 4930 LD C,A + 0000229D C5 4931 PUSH BC + 0000229E 21 0E 00 4932 LD HL,14 + 000022A1 ED 5B 00 00 4933 LD DE,(global) + 000022A5 19 4934 ADD HL,DE + 000022A6 5E 4935 LD E,(HL) + 000022A7 23 4936 INC HL + 000022A8 56 4937 LD D,(HL) + 000022A9 21 0E 00 4938 LD HL,14 + 000022AC ED 4B 00 00 4939 LD BC,(global) + 000022B0 09 4940 ADD HL,BC + 000022B1 46 4941 LD B,(HL) + 000022B2 23 4942 INC HL + 000022B3 66 4943 LD H,(HL) + 000022B4 68 4944 LD L,B + 000022B5 01 17 00 4945 LD BC,23 + 000022B8 09 4946 ADD HL,BC + 000022B9 4E 4947 LD C,(HL) + 000022BA 23 4948 INC HL + 000022BB 46 4949 LD B,(HL) + 000022BC 23 4950 INC HL + 000022BD 7E 4951 LD A,(HL) + 000022BE 69 4952 LD L,C + 000022BF 60 4953 LD H,B + 000022C0 01 01 00 4954 LD BC,1 + 000022C3 18 29 4955 JR ?0370 + 000022C5 4956 ?0319: + 000022C5 DD 4E FF 4957 LD C,(IX-1) + 000022C8 C5 4958 PUSH BC + 000022C9 21 0E 00 4959 LD HL,14 + 000022CC ED 5B 00 00 4960 LD DE,(global) + 000022D0 19 4961 ADD HL,DE + 000022D1 5E 4962 LD E,(HL) + 000022D2 23 4963 INC HL + 000022D3 56 4964 LD D,(HL) + 000022D4 21 0E 00 4965 LD HL,14 + 000022D7 ED 4B 00 00 4966 LD BC,(global) + 000022DB 09 4967 ADD HL,BC + 000022DC 46 4968 LD B,(HL) + 000022DD 23 4969 INC HL + 000022DE 66 4970 LD H,(HL) + 000022DF 68 4971 LD L,B + 000022E0 01 17 00 4972 LD BC,23 + 000022E3 09 4973 ADD HL,BC + 000022E4 4E 4974 LD C,(HL) + 000022E5 23 4975 INC HL + 000022E6 46 4976 LD B,(HL) + 000022E7 23 4977 INC HL + 000022E8 7E 4978 LD A,(HL) + 000022E9 69 4979 LD L,C + 000022EA 60 4980 LD H,B + 000022EB 01 02 00 4981 LD BC,2 + 000022EE 4982 ?0370: + 000022EE CD 00 00 4983 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000022F1 E1 4984 POP HL + 000022F2 4985 ?0320: + 000022F2 DD 46 FE 4986 LD B,(IX-2) + 000022F5 DD 70 FF 4987 LD (IX-1),B + 000022F8 4988 ?0316: + 000022F8 C3 5B 22 4989 JP LWRD ?0313 + 000022FB 4990 ?0312: + 000022FB C3 00 00 4991 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 4992 RSEG CSTR + 00000000 4993 ?0001: + 00000000 2F 64 65 76 2F 6C 63 4994 DEFB '/dev/lcd0' + 64 30 + 00000009 00 4995 DEFB 0 + 0000000A 4996 ?0221: + 0000000A 4F 4B 4997 DEFB 'OK' + 0000000C 00 4998 DEFB 0 + 0000000D 4999 ?0222: + 0000000D 43 61 6E 63 65 6C 5000 DEFB 'Cancel' + 00000013 00 5001 DEFB 0 + 00000014 5002 ?0249: + 00000014 00 5003 DEFB 0 + 00000015 5004 ?0299: + 00000015 4D 65 73 73 61 67 65 5005 DEFB 'Message Box' + 20 42 6F 78 + 00000020 00 5006 DEFB 0 + 00000021 5007 ?0317: + 00000021 30 78 25 30 32 78 5008 DEFB '0x%02x' + 00000027 0A 00 5009 DEFB 10,0 + 5010 RSEG CONST + 00000000 5011 ?0000: + 00000000 1B 5012 DEFB 27 + 00000001 4B 5013 DEFB 'K' + 00000002 5014 ?0002: + 00000002 1B 5015 DEFB 27 + 00000003 53 5016 DEFB 'S' + 00000004 00 5017 DEFB 0 + 00000005 00 5018 DEFB 0 + 00000006 5019 ?0003: + 00000006 1B 5020 DEFB 27 + 00000007 43 5021 DEFB 'C' + 00000008 00 5022 DEFB 0 + 00000009 00 5023 DEFB 0 + 0000000A 5024 ?0004: + 0000000A 1B 5025 DEFB 27 + 0000000B 4E 5026 DEFB 'N' + 0000000C 00 5027 DEFB 0 + 0000000D 00 5028 DEFB 0 + 0000000E 5029 ?0005: + 0000000E 1B 5030 DEFB 27 + 0000000F 52 5031 DEFB 'R' + 00000010 00 5032 DEFB 0 + 00000011 00 5033 DEFB 0 + 00000012 5034 ?0006: + 00000012 1B 5035 DEFB 27 + 00000013 46 5036 DEFB 'F' + 00000014 00 5037 DEFB 0 + 00000015 00 5038 DEFB 0 + 00000016 5039 ?0007: + 00000016 1B 5040 DEFB 27 + 00000017 68 5041 DEFB 'h' + 00000018 00 5042 DEFB 0 + 00000019 00 5043 DEFB 0 + 0000001A 5044 ?0008: + 0000001A 1B 5045 DEFB 27 + 0000001B 5A 5046 DEFB 'Z' + 0000001C 00 5047 DEFB 0 + 0000001D 00 5048 DEFB 0 + 0000001E 00 5049 DEFB 0 + 0000001F 00 5050 DEFB 0 + 00000020 00 5051 DEFB 0 + 00000021 5052 ?0009: + 00000021 1B 5053 DEFB 27 + 00000022 45 5054 DEFB 'E' + 00000023 00 5055 DEFB 0 + 00000024 5056 ?0010: + 00000024 1B 5057 DEFB 27 + 00000025 00 5058 DEFB 0 + 00000026 5059 ?0286: + 00000026 2F 5060 DEFB '/' + 00000027 77 5061 DEFB 'w' + 00000028 6E 5062 DEFB 'n' + 00000029 64 5063 DEFB 'd' + 0000002A 2F 5064 DEFB '/' + 0000002B 30 5065 DEFB '0' + 0000002C 30 5066 DEFB '0' + 0000002D 30 5067 DEFB '0' + 0000002E 30 5068 DEFB '0' + 0000002F 2E 5069 DEFB '.' + 00000030 73 5070 DEFB 's' + 00000031 63 5071 DEFB 'c' + 00000032 72 5072 DEFB 'r' + 00000033 00 5073 DEFB 0 + 5074 RSEG UDATA0 + 00000000 5075 global: + 00000000 5076 DEFS 2 + 00000002 5077 END + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. +Hexadecimal [32-Bits] + +Symbol Table + + .__.ABS. = 00000000 G | 3 ?0000 00000000 R + 2 ?0001 00000000 R | 3 ?0002 00000002 R + 3 ?0003 00000006 R | 3 ?0004 0000000A R + 3 ?0005 0000000E R | 3 ?0006 00000012 R + 3 ?0007 00000016 R | 3 ?0008 0000001A R + 3 ?0009 00000021 R | 3 ?0010 00000024 R + 1 ?0011 000003A1 R | 1 ?0012 00000387 R + 1 ?0013 0000039B R | 1 ?0014 0000039B R + 1 ?0015 0000039B R | 1 ?0016 000003B2 R + 1 ?0017 000003DB R | 1 ?0018 000004A1 R + 1 ?0019 000004B1 R | 1 ?0020 000004C9 R + 1 ?0021 000004C3 R | 1 ?0022 000004B6 R + 1 ?0023 000004C3 R | 1 ?0024 00000547 R + 1 ?0025 000004E8 R | 1 ?0026 000004F7 R + 1 ?0027 0000053A R | 1 ?0028 00000521 R + 1 ?0029 00000526 R | 1 ?0030 0000052B R + 1 ?0031 00000530 R | 1 ?0032 00000535 R + 1 ?0033 0000055B R | 1 ?0034 00000561 R + 1 ?0035 0000056A R | 1 ?0036 0000056D R + 1 ?0037 0000056A R | 1 ?0038 0000056A R + 1 ?0039 0000056D R | 1 ?0040 00000698 R + 1 ?0041 0000066C R | 1 ?0042 00000683 R + 1 ?0043 00000683 R | 1 ?0044 00000683 R + 1 ?0045 000006C9 R | 1 ?0046 000006D2 R + 1 ?0047 000006F2 R | 1 ?0048 000006E5 R + 1 ?0049 000006D2 R | 1 ?0050 000006DA R + 1 ?0051 00000738 R | 1 ?0052 00000717 R + 1 ?0053 0000071E R | 1 ?0054 00000789 R + 1 ?0056 0000075A R | 1 ?0057 000007C1 R + 1 ?0058 000007A2 R | 1 ?0059 000007A6 R + 1 ?0060 000007B8 R | 1 ?0061 000007BB R + 1 ?0062 000007C3 R | 1 ?0063 000007EA R + 1 ?0064 00000979 R | 1 ?0065 00000803 R + 1 ?0066 000007EA R | 1 ?0067 000007F2 R + 1 ?0068 0000080C R | 1 ?0069 00000895 R + 1 ?0070 0000082C R | 1 ?0071 00000835 R + 1 ?0072 00000895 R | 1 ?0073 0000086E R + 1 ?0074 0000083F R | 1 ?0075 00000864 R + 1 ?0076 00000864 R | 1 ?0077 00000864 R + 1 ?0078 0000087D R | 1 ?0079 00000895 R + 1 ?0080 000008AC R | 1 ?0081 00000945 R + 1 ?0082 000008FA R | 1 ?0083 000008D2 R + 1 ?0084 000008EB R | 1 ?0085 000008EB R + 1 ?0086 000008EB R | 1 ?0087 00000902 R + 1 ?0088 00000945 R | 1 ?0089 00000953 R + 1 ?0090 0000095C R | 1 ?0091 0000096A R + 1 ?0092 00000973 R | 1 ?0093 0000096A R + 1 ?0094 0000096A R | 1 ?0095 000009B3 R + 1 ?0096 000009A7 R | 1 ?0097 000009AB R + 1 ?0098 00000A0F R | 1 ?0099 000009CE R + 1 ?0100 000009D2 R | 1 ?0101 00000A53 R + 1 ?0102 00000A73 R | 1 ?0103 00000A53 R + 1 ?0104 00000A53 R | 1 ?0105 00000A92 R + 1 ?0106 00000AB2 R | 1 ?0107 00000A92 R + 1 ?0108 00000A92 R | 1 ?0109 00000ACF R + 1 ?0110 00000AB2 R | 1 ?0111 00000AB9 R + 1 ?0112 00000D6B R | 1 ?0113 00000B0F R + 1 ?0114 00000B3D R | 1 ?0115 00000B20 R + 1 ?0116 00000B24 R | 1 ?0117 00000B2A R + 1 ?0118 00000B35 R | 1 ?0119 00000B40 R + 1 ?0120 00000BA2 R | 1 ?0121 00000B51 R + 1 ?0122 00000B55 R | 1 ?0123 00000B5B R + 1 ?0124 00000B93 R | 1 ?0125 00000B8F R + 1 ?0126 00000B93 R | 1 ?0127 00000B8F R + 1 ?0128 00000B8F R | 1 ?0129 00000B9A R + 1 ?0130 00000BA2 R | 1 ?0131 00000BA5 R + 1 ?0132 00000BBC R | 1 ?0133 00000BDD R + 1 ?0134 00000BD1 R | 1 ?0135 00000BDD R + 1 ?0136 00000BD1 R | 1 ?0137 00000BD1 R + 1 ?0138 00000BDD R | 1 ?0139 00000BDD R + 1 ?0140 00000BDD R | 1 ?0141 00000BDD R + 1 ?0142 00000BE0 R | 1 ?0143 00000BF1 R + 1 ?0144 00000C6C R | 1 ?0145 00000C98 R + 1 ?0146 00000CD6 R | 1 ?0147 00000CA9 R + 1 ?0148 00000CAD R | 1 ?0149 00000CC0 R + 1 ?0150 00000CCE R | 1 ?0151 00000CC0 R + 1 ?0152 00000CC0 R | 1 ?0153 00000CD9 R + 1 ?0154 00000CE8 R | 1 ?0155 00000CF6 R + 1 ?0156 00000D6B R | 1 ?0157 00000CFF R + 1 ?0158 00000D27 R | 1 ?0159 00000D6B R + 1 ?0160 00000DD7 R | 1 ?0161 00000DE0 R + 1 ?0162 00000DE7 R | 1 ?0163 00000EDC R + 1 ?0164 00000FFA R | 1 ?0165 00001023 R + 1 ?0166 00000FFA R | 1 ?0167 00000FFA R + 1 ?0168 00001019 R | 1 ?0169 00001023 R + 1 ?0170 00001031 R | 1 ?0171 0000103C R + 1 ?0172 000010A7 R | 1 ?0173 000010FA R + 1 ?0174 00001122 R | 1 ?0175 0000116A R + 1 ?0176 0000116D R | 1 ?0177 00001174 R + 1 ?0178 00001206 R | 1 ?0180 000011AE R + 1 ?0181 000011B1 R | 1 ?0182 000011C7 R + 1 ?0183 000011DA R | 1 ?0184 000011C7 R + 1 ?0185 000011C7 R | 1 ?0186 000011EE R + 1 ?0187 000012BE R | 1 ?0188 00001305 R + 1 ?0189 000012BE R | 1 ?0190 000012BE R + 1 ?0191 000012FB R | 1 ?0192 00001305 R + 1 ?0193 00001313 R | 1 ?0194 0000131E R + 1 ?0195 00001357 R | 1 ?0196 0000135A R + 1 ?0197 00001361 R | 1 ?0198 0000140C R + 1 ?0199 00001380 R | 1 ?0200 000013B0 R + 1 ?0201 00001380 R | 1 ?0202 00001380 R + 1 ?0203 000013F4 R | 1 ?0205 000013EB R + 1 ?0206 000013EE R | 1 ?0207 00001491 R + 1 ?0208 000014C7 R | 1 ?0209 00001491 R + 1 ?0210 00001491 R | 1 ?0211 00001498 R + 1 ?0212 0000149D R | 1 ?0213 000014A4 R + 1 ?0214 000014DF R | 1 ?0215 00001515 R + 1 ?0216 000014DF R | 1 ?0217 000014DF R + 1 ?0218 000014E6 R | 1 ?0219 000014EB R + 1 ?0220 000014F2 R | 2 ?0221 0000000A R + 2 ?0222 0000000D R | 1 ?0223 00001635 R + 1 ?0224 0000166F R | 1 ?0225 00001635 R + 1 ?0226 00001635 R | 1 ?0227 0000164A R + 1 ?0228 00001657 R | 1 ?0229 0000164F R + 1 ?0230 00001655 R | 1 ?0231 00001664 R + 1 ?0232 000016BD R | 1 ?0233 000016C0 R + 1 ?0234 000016C7 R | 1 ?0235 000017CE R + 1 ?0237 0000170B R | 1 ?0238 0000170E R + 1 ?0239 00001726 R | 1 ?0240 0000172D R + 1 ?0241 00001735 R | 1 ?0242 0000178A R + 1 ?0243 000017C0 R | 1 ?0244 000017B2 R + 1 ?0245 0000178E R | 1 ?0246 000017A7 R + 1 ?0248 000017CE R | 2 ?0249 00000014 R + 1 ?0250 0000186A R | 1 ?0251 0000186D R + 1 ?0252 00001873 R | 1 ?0253 00001894 R + 1 ?0254 00001C8C R | 1 ?0256 0000193E R + 1 ?0257 00001949 R | 1 ?0258 00001961 R + 1 ?0259 0000196F R | 1 ?0260 000019BE R + 1 ?0261 0000196F R | 1 ?0262 0000196F R + 1 ?0263 000019B6 R | 1 ?0264 000019BA R + 1 ?0265 000019C5 R | 1 ?0266 00001A09 R + 1 ?0267 00001A10 R | 1 ?0268 00001A54 R + 1 ?0269 00001A5B R | 1 ?0270 00001AA2 R + 1 ?0271 00001AA9 R | 1 ?0272 00001AFA R + 1 ?0273 00001B01 R | 1 ?0274 00001B72 R + 1 ?0275 00001B79 R | 1 ?0276 00001C72 R + 1 ?0277 00001B81 R | 1 ?0278 00001BEA R + 1 ?0279 00001BF2 R | 1 ?0280 00001BFE R + 1 ?0281 00001C20 R | 1 ?0282 00001C36 R + 1 ?0283 00001C3A R | 1 ?0284 00001C49 R + 1 ?0285 00001C59 R | 3 ?0286 00000026 R + 1 ?0287 00001D11 R | 1 ?0288 00001D19 R + 1 ?0289 00001D2F R | 1 ?0290 00001E49 R + 1 ?0291 00001D8C R | 1 ?0292 00001D98 R + 1 ?0293 00001E5A R | 1 ?0294 00001FE7 R + 1 ?0295 00001F7B R | 1 ?0296 00001EB9 R + 1 ?0297 00001EE2 R | 2 ?0299 00000015 R + 1 ?0300 00001FF6 R | 1 ?0301 00002003 R + 1 ?0302 000020A0 R | 1 ?0303 0000205E R + 1 ?0304 00002070 R | 1 ?0305 00002070 R + 1 ?0306 00002070 R | 1 ?0307 00002096 R + 1 ?0308 0000208B R | 1 ?0309 00002093 R + 1 ?0310 000020A5 R | 1 ?0311 000020B8 R + 1 ?0312 000022FB R | 1 ?0313 0000225B R + 1 ?0314 00002269 R | 1 ?0315 00002283 R + 1 ?0316 000022F8 R | 2 ?0317 00000021 R + 1 ?0318 0000229C R | 1 ?0319 000022C5 R + 1 ?0320 000022F2 R | 1 ?0321 00000382 R + 1 ?0331 00000538 R | 1 ?0335 000006EB R + 1 ?0336 0000079D R | 1 ?0338 00000839 R + 1 ?0339 00000885 R | 1 ?0341 000009A4 R + 1 ?0342 000009C7 R | 1 ?0344 00000B1D R + 1 ?0345 00000CA6 R | 1 ?0346 00000D67 R + 1 ?0347 00000C95 R | 1 ?0348 00000B4E R + 1 ?0350 0000111A R | 1 ?0353 000011EB R + 1 ?0357 000013E4 R | 1 ?0358 000014A0 R + 1 ?0359 000014EE R | 1 ?0364 00001732 R + 1 ?0365 000017C6 R | 1 ?0367 00001EDC R + 1 ?0368 00001EDD R | 1 ?0369 00001F78 R + 1 ?0370 000022EE R | 1 ?0372 00000077 R + 1 ?0381 000000CB R | 1 ?0389 00000110 R + 1 ?0396 00000157 R | 1 ?0402 000001A0 R + 1 ?0407 000001EA R | 1 ?0411 0000025E R + 1 ?0415 00000576 R | 1 ?0416 00000592 R + 1 ?0418 00000651 R | 1 ?0424 0000111F R + 1 ?0427 00000079 R | 1 ?0428 0000007D R + 1 ?0429 0000007F R | 1 ?0430 00000081 R + 1 ?0431 00000084 R | 1 ?0432 000000D3 R + 1 ?0433 000000D5 R | 1 ?0434 000000D8 R + 1 ?0435 0000011B R | 1 ?0438 00000FB5 R + 1 ?0439 000015CC R | 1 ?0440 000015E0 R + 1 ?0441 00001CBE R | 1 ?0442 000003E7 R + 1 ?0443 000003DE R | 1 ?0444 00000413 R + 1 ?0445 00001674 R | 1 ?0446 0000167F R + 1 ?0447 000004CE R | 1 ?0448 00000422 R + 1 ?0449 0000042D R | 1 ?0450 00000428 R + 1 ?0451 00000984 R | 1 ?0452 00000987 R + 1 ?0453 0000098F R | 1 ?0454 00001CC6 R + 1 ?0455 00000EE1 R | 1 ?0456 000015E8 R + 1 ?0457 0000120E R | 1 ?0458 00001212 R + 1 ?0459 00000EEF R | 1 ?0460 00000F0C R + 1 ?0461 000002D7 R | 1 ?0462 00000D70 R + 1 ?0463 00000D76 R | 1 ?0464 00001050 R + 1 ?0465 00001041 R | 1 ?0466 00000D8C R + 1 ?0467 00000D85 R | 1 ?0468 00000D87 R + 1 ?0469 0000105E R | 1 ?0470 000002EF R + 1 ?0471 000002F2 R | 1 ?0472 00000F24 R + 1 ?0473 00000F1E R | 1 ?0474 00000D95 R + 1 ?0475 00000D94 R | 1 ?0476 00002008 R + 1 ?0477 00000740 R | 1 ?0478 00000742 R + 1 ?0479 000020DC R | 1 ?0480 00001127 R + 1 ?0481 00001128 R | 1 ?0482 00001CCE R + 1 ?0483 00001CD7 R | 1 ?0484 00002210 R + ?BANK_CALL_DIR ******** GX | ?BANK_FAST_LEA ******** GX + ?BANK_LEAVE_DI ******** GX | ?CL64180B_4_06 ******** GX + ?C_V_SWITCH_L0 ******** GX | ?ENT_AUTO_DIRE ******** GX + ?ENT_PARM_DIRE ******** GX | ?SL_RSH_L03 ******** GX + ?SS_CMP_L02 ******** GX | ?SS_DIV_L02 ******** GX + ?SS_RSH_L02 ******** GX | ?S_MUL_L02 ******** GX + ?S_V_SWITCH_L0 ******** GX | 1 Button_add 0000122F GR + 1 Button_drawtex 0000107A GR | 1 Button_handler 00000FC3 GR + 1 Button_new 00001235 GR | 1 Button_paint 00001136 GR + 1 ClearRect 000000E2 GR | 1 ClearScreen 000002BD GR + 1 Component_add 000006A6 GR | 1 Component_chan 000009B6 GR + 1 Component_dele 000007C6 GR | 1 Component_dele 00000997 GR + 1 Component_find 0000078E GR | 1 Component_find 0000074A GR + 1 Component_link 00000A1F GR | 1 Component_new 000005AF GR + 1 Component_pain 00000704 GR | 1 Component_setl 00000659 GR + 1 Dialog_handler 00001461 GR | 1 Dialog_new 0000151A GR + 1 Display_handle 00001609 GR | 1 Display_new 000017D6 GR + 1 Display_paint 0000168A GR | 1 DrawRectNC 00000125 GR + 1 EnableScreen 000002FA GR | 1 FillRect 0000016A GR + 1 FillRectNC 000001AF GR | 1 GUIgo 0000223D GR + 1 GUIinit 000020F1 GR | 1 GUIunit 00002218 GR + 1 GraphicsClose 0000008E GR | 1 GraphicsOpen 00000000 GR + 1 GrayRect 000001F4 GR | 1 Label_handler 00001830 GR + 1 Label_new 00001897 GR | 1 Label_paint 00001836 GR + 1 Move 000000A3 GR | 1 Root_paint 00000F2C GR + 1 Text 00000239 GR | 1 ToggleButton_h 00001287 GR + 1 ToggleButton_n 0000140F GR | 1 ToggleButton_p 00001323 GR + 1 TouchRegion 00000266 GR | 1 Window_add 00000F63 GR + 1 Window_handler 00000AD2 GR | 1 Window_new 00000F71 GR + 1 Window_paint 00000D9F GR | _read ******** GX + _write ******** GX | close ******** GX + fflush ******** GX | 1 fontSearch 00000375 GR + free ******** GX | 4 global 00000000 GR + 1 grSetFont 00000338 GR | 1 gui_globals 000020EB GR + ioctl ******** GX | 1 loadFont 00000433 GR + malloc ******** GX | open ******** GX + printf ******** GX | 1 read_stringtab 00002016 GR + 1 rootWindow_han 000018F0 GR | 1 root_actionhan 00001CDE GR + 1 screenbuilder 0000190E GR | 1 setCurrentFont 000003A5 GR + stdout ******** GX | 1 stringheight 00000553 GR + 1 stringheight01 00000570 GR | 1 stringheight2 00000583 GR + 1 stringwidth 000004DA GR | 1 stringwidth0 0000058C GR + 1 stringwidth1 0000059D GR | 1 stringwidth2 000005A6 GR + strlen ******** GX + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. +Hexadecimal [32-Bits] + +Area Table + + 0 _DEFAULT size 0 flags 0 + 1 CODE size 22FE flags 0 + 2 CSTR size 29 flags 0 + 3 CONST size 34 flags 0 + 4 UDATA0 size 2 flags 0 diff --git a/src/gui/wnd.rel b/src/gui/wnd.rel index cec1bfdc..f02171e1 100644 --- a/src/gui/wnd.rel +++ b/src/gui/wnd.rel @@ -1,10 +1,11 @@ XL4 -H 5 areas 57 global symbols +H 5 areas 58 global symbols M wnd S ?BANK_FAST_LEAVE_L08 Ref00000000 S fflush Ref00000000 S _write Ref00000000 S ?S_MUL_L02 Ref00000000 +S printf Ref00000000 S ?BANK_LEAVE_DIRECT_L08 Ref00000000 S close Ref00000000 S strlen Ref00000000 @@ -26,18 +27,18 @@ S _read Ref00000000 S ?SS_RSH_L02 Ref00000000 S .__.ABS. Def00000000 A _DEFAULT size 0 flags 0 -A CODE size 22FC flags 0 +A CODE size 22FE flags 0 S Window_new Def00000F71 S stringheight2 Def00000583 S GraphicsOpen Def00000000 S Component_findXY Def0000074A S Text Def00000239 -S GUIunit Def00002222 +S GUIunit Def00002218 S Button_new Def00001235 S setCurrentFont Def000003A5 S ToggleButton_new Def0000140F S ClearScreen Def000002BD -S gui_globals Def000020F5 +S gui_globals Def000020EB S Component_delete_children Def00000997 S Component_paint Def00000704 S stringheight Def00000553 @@ -51,9 +52,9 @@ S rootWindow_handler Def000018F0 S ToggleButton_paint Def00001323 S Dialog_new Def0000151A S Button_handler Def00000FC3 -S read_stringtable Def00002020 +S read_stringtable Def00002016 S ToggleButton_handler Def00001287 -S GUIgo Def00002247 +S GUIgo Def0000223D S Component_add Def000006A6 S grSetFont Def00000338 S Display_new Def000017D6 @@ -81,38 +82,38 @@ S Display_handler Def00001609 S ClearRect Def000000E2 S stringwidth Def000004DA S Move Def000000A3 -S GUIinit Def000020FB +S GUIinit Def000020F1 S Label_paint Def00001836 S Component_new Def000005AF S Label_handler Def00001830 S Component_setlabel Def00000659 -S root_actionhandler Def00001CE8 +S root_actionhandler Def00001CDE S Root_paint Def00000F2C S Component_linkstringtable Def00000A1F -A CSTR size 21 flags 0 +A CSTR size 29 flags 0 A CONST size 34 flags 0 A UDATA0 size 2 flags 0 S global Def00000000 T 00 00 00 00 R 00 00 01 00 T 00 00 00 00 CD 00 00 00 00 F8 FF 21 06 00 39 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 09 00 00 00 EB 21 00 00 00 00 01 02 00 ED B0 R 00 00 01 00 00 06 03 00 T 12 00 00 00 2A 00 00 00 00 23 23 E5 03 03 C5 R 00 00 01 00 00 05 04 00 T 1B 00 00 00 01 00 00 00 00 C5 3E 00 00 00 00 -R 00 00 01 00 00 05 02 00 2B 0B 10 00 +R 00 00 01 00 00 05 02 00 2B 0B 11 00 T 21 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 10 00 02 0A 0B 00 +R 00 00 01 00 02 05 11 00 02 0A 0C 00 T 28 00 00 00 F1 4D 44 E1 71 23 70 21 00 00 39 R 00 00 01 00 T 33 00 00 00 E5 21 00 00 E5 2A 00 00 00 00 23 R 00 00 01 00 00 0A 04 00 T 3C 00 00 00 23 4E 23 46 C5 3E 00 00 00 00 21 -R 00 00 01 00 2B 0A 08 00 +R 00 00 01 00 2B 0A 09 00 T 44 00 00 00 00 00 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 02 04 08 00 02 09 0B 00 +R 00 00 01 00 02 04 09 00 02 09 0C 00 T 4B 00 00 00 F1 DD 36 FC 60 DD 36 FD 00 21 R 00 00 01 00 T 55 00 00 00 00 00 39 E5 21 01 00 E5 2A @@ -120,9 +121,9 @@ R 00 00 01 00 T 5E 00 00 00 00 00 00 00 23 23 4E 23 46 C5 3E R 00 00 01 00 00 04 04 00 T 67 00 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 08 00 02 09 08 00 +R 00 00 01 00 2B 04 09 00 02 09 09 00 T 6C 00 00 00 00 00 00 00 F1 F1 F1 21 02 00 E5 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 75 00 00 00 2E 08 R 00 00 01 00 T 77 00 00 00 @@ -148,21 +149,21 @@ R 00 00 01 00 2B 06 02 00 T 84 00 00 00 R 00 00 01 00 T 84 00 00 00 21 00 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 02 05 02 00 02 0A 0B 00 +R 00 00 01 00 02 05 02 00 02 0A 0C 00 T 8B 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 8E 00 00 00 R 00 00 01 00 T 8E 00 00 00 D5 2A 00 00 00 00 23 23 5E 23 56 R 00 00 01 00 00 06 04 00 T 97 00 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 05 00 02 0A 05 00 +R 00 00 01 00 2B 05 06 00 02 0A 06 00 T 9D 00 00 00 00 00 00 00 D1 C3 00 00 00 00 -R 00 00 01 00 02 04 0B 00 02 0A 00 00 +R 00 00 01 00 02 04 0C 00 02 0A 00 00 T A3 00 00 00 R 00 00 01 00 T A3 00 00 00 CD 00 00 00 00 FC FF 21 00 00 39 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T AC 00 00 00 EB 21 02 00 00 00 01 04 00 ED B0 R 00 00 01 00 00 06 03 00 T B5 00 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70 @@ -188,13 +189,13 @@ R 00 00 01 00 2B 06 02 00 T D8 00 00 00 R 00 00 01 00 T D8 00 00 00 C3 84 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T DF 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T E2 00 00 00 R 00 00 01 00 T E2 00 00 00 CD 00 00 00 00 FC FF 21 00 00 39 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T EB 00 00 00 EB 21 06 00 00 00 01 04 00 ED B0 R 00 00 01 00 00 06 03 00 T F4 00 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70 @@ -214,13 +215,13 @@ R 00 00 01 00 2B 07 02 00 T 1B 01 00 00 R 00 00 01 00 T 1B 01 00 00 C3 84 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T 22 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 25 01 00 00 R 00 00 01 00 T 25 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 2E 01 00 00 EB 21 0A 00 00 00 01 04 00 ED B0 R 00 00 01 00 00 06 03 00 T 37 01 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70 @@ -238,11 +239,11 @@ R 00 00 01 00 00 05 01 00 00 0B 01 00 T 5E 01 00 00 3E 00 00 00 00 C3 1B 01 00 00 CD R 00 00 01 00 2B 05 02 00 00 0A 01 00 T 64 01 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 0B 00 02 0A 04 00 +R 00 00 01 00 02 04 0C 00 02 0A 05 00 T 6A 01 00 00 R 00 00 01 00 T 6A 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 73 01 00 00 EB 21 0E 00 00 00 01 04 00 ED B0 R 00 00 01 00 00 06 03 00 T 7C 01 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70 @@ -260,13 +261,13 @@ R 00 00 01 00 T A0 01 00 00 C3 81 00 00 00 3E 00 00 00 00 C3 R 00 00 01 00 00 05 01 00 2B 0A 02 00 T A6 01 00 00 D8 00 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T AD 01 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 +R 00 00 01 00 02 04 05 00 T AF 01 00 00 R 00 00 01 00 T AF 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T B8 01 00 00 EB 21 12 00 00 00 01 04 00 ED B0 R 00 00 01 00 00 06 03 00 T C1 01 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70 @@ -284,13 +285,13 @@ R 00 00 01 00 2B 04 02 00 T EA 01 00 00 R 00 00 01 00 T EA 01 00 00 C3 84 00 00 00 CD 00 00 00 00 F1 -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T F1 01 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T F4 01 00 00 R 00 00 01 00 T F4 01 00 00 CD 00 00 00 00 FC FF 21 00 00 39 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T FD 01 00 00 EB 21 16 00 00 00 01 04 00 ED B0 R 00 00 01 00 00 06 03 00 T 06 02 00 00 DD 46 02 DD 70 FE DD 46 04 DD 70 @@ -306,21 +307,21 @@ R 00 00 01 00 00 04 01 00 00 0A 01 00 T 2E 02 00 00 00 00 00 00 C3 EA 01 00 00 CD R 00 00 01 00 2B 04 02 00 00 09 01 00 T 33 02 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 0B 00 02 0A 04 00 +R 00 00 01 00 02 04 0C 00 02 0A 05 00 T 39 02 00 00 R 00 00 01 00 T 39 02 00 00 C5 FD E5 DD E5 D5 DD E1 3E R 00 00 01 00 T 42 02 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 06 00 02 09 06 00 +R 00 00 01 00 2B 04 07 00 02 09 07 00 T 47 02 00 00 00 00 00 00 E5 DD E5 C1 2A -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 4E 02 00 00 00 00 00 00 23 23 5E 23 56 3E R 00 00 01 00 00 04 04 00 T 56 02 00 00 00 00 00 00 21 00 00 00 00 CD R 00 00 01 00 2B 04 02 00 02 09 02 00 T 5B 02 00 00 00 00 00 00 F1 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 5E 02 00 00 R 00 00 01 00 T 5E 02 00 00 DD E1 FD E1 C1 C3 00 00 00 00 @@ -328,7 +329,7 @@ R 00 00 01 00 02 0A 00 00 T 66 02 00 00 R 00 00 01 00 T 66 02 00 00 CD 00 00 00 00 F8 FF 21 00 00 39 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 6F 02 00 00 EB 21 1A 00 00 00 01 07 00 ED B0 R 00 00 01 00 00 06 03 00 T 78 02 00 00 DD 46 02 DD 70 FA DD 46 04 DD 70 @@ -346,15 +347,15 @@ R 00 00 01 00 00 04 01 00 00 0A 01 00 T AE 02 00 00 C3 A0 01 00 00 3E 00 00 00 00 C3 R 00 00 01 00 00 05 01 00 2B 0A 02 00 T B4 02 00 00 EA 01 00 00 CD 00 00 00 00 F1 C3 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T BB 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 +R 00 00 01 00 02 04 05 00 T BD 02 00 00 R 00 00 01 00 T BD 02 00 00 C5 D5 CD D7 02 00 00 CD R 00 00 01 00 00 07 01 00 T C3 02 00 00 00 00 00 00 21 80 00 E5 6C E5 E5 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T CC 02 00 00 CD EF 02 00 00 E1 E1 E1 D1 C1 C3 R 00 00 01 00 00 05 01 00 T D5 02 00 00 00 00 00 00 @@ -364,7 +365,7 @@ R 00 00 01 00 T D7 02 00 00 01 00 00 59 50 3E A3 00 00 00 21 R 00 00 01 00 29 0A 01 00 T DF 02 00 00 A3 00 00 00 CD 00 00 00 00 01 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T E5 02 00 00 80 00 58 50 3E E2 00 00 00 21 R 00 00 01 00 29 09 01 00 T EC 02 00 00 E2 00 00 00 C9 @@ -378,11 +379,11 @@ R 00 00 01 00 T F2 02 00 00 3E 66 02 00 00 21 66 02 00 00 C3 R 00 00 01 00 29 05 01 00 00 0A 01 00 T F8 02 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T FA 02 00 00 R 00 00 01 00 T FA 02 00 00 CD 00 00 00 00 FC FF 21 00 00 39 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 03 03 00 00 EB 21 21 00 00 00 01 03 00 ED B0 R 00 00 01 00 00 06 03 00 T 0C 03 00 00 DD 46 02 DD 70 FE 21 03 00 E5 2B @@ -396,11 +397,11 @@ R 00 00 01 00 00 05 01 00 00 0B 01 00 T 2C 03 00 00 3E 00 00 00 00 C3 EA 01 00 00 CD R 00 00 01 00 2B 05 02 00 00 0A 01 00 T 32 03 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 0B 00 02 0A 04 00 +R 00 00 01 00 02 04 0C 00 02 0A 05 00 T 38 03 00 00 R 00 00 01 00 T 38 03 00 00 CD 00 00 00 00 FE FF 21 00 00 39 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 41 03 00 00 EB 21 24 00 00 00 01 02 00 ED B0 R 00 00 01 00 00 06 03 00 T 4A 03 00 00 DD 46 02 DD 70 FF 21 02 00 E5 C3 @@ -414,11 +415,11 @@ R 00 00 01 00 00 04 01 00 00 0A 01 00 T 6A 03 00 00 00 00 00 00 C3 EA 01 00 00 CD R 00 00 01 00 2B 04 02 00 00 09 01 00 T 6F 03 00 00 00 00 00 00 F1 C3 00 00 00 00 -R 00 00 01 00 02 04 0B 00 02 0A 04 00 +R 00 00 01 00 02 04 0C 00 02 0A 05 00 T 75 03 00 00 R 00 00 01 00 T 75 03 00 00 CD 00 00 00 00 00 00 21 0C 00 ED -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 7E 03 00 00 4B 00 00 00 00 09 R 00 00 01 00 00 05 04 00 T 82 03 00 00 @@ -442,11 +443,11 @@ R 00 00 01 00 T A1 03 00 00 R 00 00 01 00 T A1 03 00 00 EB C3 00 00 00 00 -R 00 00 01 00 02 06 04 00 +R 00 00 01 00 02 06 05 00 T A5 03 00 00 R 00 00 01 00 T A5 03 00 00 CD 00 00 00 00 3E 75 03 00 00 21 -R 00 00 01 00 02 05 0A 00 29 0A 01 00 +R 00 00 01 00 02 05 0B 00 29 0A 01 00 T AB 03 00 00 75 03 00 00 CD 22 04 00 00 28 29 R 00 00 01 00 00 04 01 00 00 09 01 00 T B2 03 00 00 @@ -454,7 +455,7 @@ R 00 00 01 00 T B2 03 00 00 DD 5E 02 DD 56 03 3E 38 03 00 00 R 00 00 01 00 29 0B 01 00 T BA 03 00 00 21 38 03 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T C1 03 00 00 0A 00 ED 4B 00 00 00 00 09 E5 DD R 00 00 01 00 00 08 04 00 T CA 03 00 00 5E 02 DD 56 03 3E 75 03 00 00 21 @@ -466,7 +467,7 @@ R 00 00 01 00 T DB 03 00 00 R 00 00 01 00 T DB 03 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T DE 03 00 00 R 00 00 01 00 T DE 03 00 00 ED 4B 00 00 00 00 09 46 23 66 68 @@ -476,11 +477,11 @@ R 00 00 01 00 T E7 03 00 00 23 23 4E 23 46 23 7E 69 60 CD R 00 00 01 00 T F1 03 00 00 00 00 00 00 4D 44 FD 6E 06 FD 66 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T FA 03 00 00 07 A7 ED 42 EB 01 02 00 CD R 00 00 01 00 T 03 04 00 00 00 00 00 00 DD 6E 04 DD 66 05 19 -R 00 00 01 00 02 04 11 00 +R 00 00 01 00 02 04 12 00 T 0C 04 00 00 EB 3E A3 00 00 00 21 A3 00 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T 12 04 00 00 C9 @@ -488,25 +489,25 @@ R 00 00 01 00 T 13 04 00 00 R 00 00 01 00 T 13 04 00 00 CD 00 00 00 00 4D 44 FD 6E 08 FD -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 1C 04 00 00 66 09 A7 ED 42 C9 R 00 00 01 00 T 22 04 00 00 R 00 00 01 00 T 22 04 00 00 CD 00 00 00 00 7D B4 C9 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 28 04 00 00 R 00 00 01 00 T 28 04 00 00 3E 00 00 00 00 21 00 00 00 00 -R 00 00 01 00 2B 05 14 00 02 0A 14 00 +R 00 00 01 00 2B 05 15 00 02 0A 15 00 T 2D 04 00 00 R 00 00 01 00 T 2D 04 00 00 CD 00 00 00 00 4D 44 C9 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 33 04 00 00 R 00 00 01 00 T 33 04 00 00 CD 00 00 00 00 FC FF FD E5 11 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 3B 04 00 00 0E 00 CD CE 04 00 00 DD 4E 02 71 R 00 00 01 00 00 07 01 00 T 44 04 00 00 DD 46 03 23 70 DD 46 0C DD 6E 0A @@ -552,13 +553,13 @@ R 00 00 01 00 T C9 04 00 00 R 00 00 01 00 T C9 04 00 00 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 +R 00 00 01 00 02 07 05 00 T CE 04 00 00 R 00 00 01 00 T CE 04 00 00 3E 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 05 14 00 02 0A 14 00 +R 00 00 01 00 2B 05 15 00 02 0A 15 00 T D4 04 00 00 00 00 00 00 E5 FD E1 C9 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T DA 04 00 00 R 00 00 01 00 T DA 04 00 00 FD E5 DD E5 C5 D5 DD 21 00 00 FD @@ -574,7 +575,7 @@ R 00 00 01 00 T F7 04 00 00 R 00 00 01 00 T F7 04 00 00 FD E5 E1 09 5E CD 00 00 00 00 -R 00 00 01 00 02 0A 07 00 +R 00 00 01 00 02 0A 08 00 T FF 04 00 00 0A 00 21 2C 2E 31 49 69 6A 6B 6C R 00 00 01 00 T 0A 05 00 00 72 35 05 00 00 30 05 00 00 @@ -628,7 +629,7 @@ R 00 00 01 00 02 04 00 00 T 53 05 00 00 R 00 00 01 00 T 53 05 00 00 CD 00 00 00 00 7B FE 80 30 06 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 5B 05 00 00 R 00 00 01 00 T 5B 05 00 00 21 07 00 09 18 0C @@ -650,51 +651,51 @@ R 00 00 01 00 T 6D 05 00 00 R 00 00 01 00 T 6D 05 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 70 05 00 00 R 00 00 01 00 T 70 05 00 00 CD 00 00 00 00 01 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 76 05 00 00 R 00 00 01 00 T 76 05 00 00 1A 5F 3E 53 05 00 00 21 R 00 00 01 00 29 07 01 00 T 7B 05 00 00 53 05 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T 81 05 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 +R 00 00 01 00 02 04 05 00 T 83 05 00 00 R 00 00 01 00 T 83 05 00 00 CD 00 00 00 00 01 05 00 C3 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 8A 05 00 00 76 05 00 00 R 00 00 01 00 00 04 01 00 T 8C 05 00 00 R 00 00 01 00 T 8C 05 00 00 CD 00 00 00 00 01 00 00 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 92 05 00 00 R 00 00 01 00 T 92 05 00 00 3E DA 04 00 00 21 DA 04 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 T 98 05 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 0B 00 02 09 04 00 +R 00 00 01 00 02 04 0C 00 02 09 05 00 T 9D 05 00 00 R 00 00 01 00 T 9D 05 00 00 CD 00 00 00 00 01 02 00 C3 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T A4 05 00 00 92 05 00 00 R 00 00 01 00 00 04 01 00 T A6 05 00 00 R 00 00 01 00 T A6 05 00 00 CD 00 00 00 00 01 03 00 C3 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T AD 05 00 00 92 05 00 00 R 00 00 01 00 00 04 01 00 T AF 05 00 00 R 00 00 01 00 T AF 05 00 00 CD 00 00 00 00 00 00 FD E5 11 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T B7 05 00 00 28 00 CD CE 04 00 00 2A R 00 00 01 00 00 07 01 00 T BD 05 00 00 00 00 00 00 5E 23 56 13 72 2B 73 @@ -728,11 +729,11 @@ R 00 00 01 00 T 51 06 00 00 R 00 00 01 00 T 51 06 00 00 FD E5 E1 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 0A 04 00 +R 00 00 01 00 02 0A 05 00 T 59 06 00 00 R 00 00 01 00 T 59 06 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 62 06 00 00 02 DD 66 03 E5 FD E1 11 00 00 R 00 00 01 00 T 6C 06 00 00 @@ -758,11 +759,11 @@ R 00 00 01 00 T 98 06 00 00 FD 6E 20 FD 66 21 19 36 00 FD E1 R 00 00 01 00 T A3 06 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T A6 06 00 00 R 00 00 01 00 T A6 06 00 00 CD 00 00 00 00 00 00 FD E5 59 50 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T AF 06 00 00 21 15 00 DD 4E 02 DD 46 03 09 7E R 00 00 01 00 T BA 06 00 00 23 66 6F E5 FD E1 21 15 00 09 7E @@ -796,7 +797,7 @@ R 00 00 01 00 T F2 06 00 00 21 11 00 19 DD 4E 02 71 DD 46 03 R 00 00 01 00 T FD 06 00 00 23 70 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 09 04 00 +R 00 00 01 00 02 09 05 00 T 04 07 00 00 R 00 00 01 00 T 04 07 00 00 C5 FD E5 DD E5 21 15 00 19 46 23 @@ -812,7 +813,7 @@ R 00 00 01 00 T 1E 07 00 00 DD E5 D1 DD 7E 1C DD 6E 1A DD 66 R 00 00 01 00 T 29 07 00 00 1B CD 00 00 00 00 DD 6E 13 DD 66 -R 00 00 01 00 02 06 0B 00 +R 00 00 01 00 02 06 0C 00 T 32 07 00 00 14 E5 DD E1 18 DF R 00 00 01 00 T 38 07 00 00 @@ -830,11 +831,11 @@ R 00 00 01 00 T 42 07 00 00 3E FA 02 00 00 21 FA 02 00 00 C3 R 00 00 01 00 29 05 01 00 00 0A 01 00 T 48 07 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 4A 07 00 00 R 00 00 01 00 T 4A 07 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 53 07 00 00 02 DD 66 03 E5 FD E1 R 00 00 01 00 T 5A 07 00 00 @@ -852,11 +853,11 @@ R 00 00 01 00 T 89 07 00 00 R 00 00 01 00 T 89 07 00 00 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 +R 00 00 01 00 02 07 05 00 T 8E 07 00 00 R 00 00 01 00 T 8E 07 00 00 CD 00 00 00 00 00 00 21 15 00 DD -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 97 07 00 00 4E 02 DD 46 03 09 R 00 00 01 00 T 9D 07 00 00 @@ -888,11 +889,11 @@ R 00 00 01 00 T C3 07 00 00 R 00 00 01 00 T C3 07 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T C6 07 00 00 R 00 00 01 00 T C6 07 00 00 CD 00 00 00 00 F8 FF FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T CF 07 00 00 02 DD 66 03 E5 FD E1 FD 6E 15 DD R 00 00 01 00 T DA 07 00 00 75 F8 FD 66 16 DD 74 F9 FD E5 E1 @@ -1036,7 +1037,7 @@ R 00 00 01 00 T 45 09 00 00 FD 4E 24 FD 46 25 21 00 00 CD R 00 00 01 00 T 4F 09 00 00 00 00 00 00 30 09 -R 00 00 01 00 02 04 0F 00 +R 00 00 01 00 02 04 10 00 T 53 09 00 00 R 00 00 01 00 T 53 09 00 00 FD 5E 26 FD 56 27 CD 87 09 00 00 @@ -1064,7 +1065,7 @@ R 00 00 01 00 T 79 09 00 00 DD 6E F8 DD 66 F9 FD E1 C3 R 00 00 01 00 T 82 09 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 +R 00 00 01 00 02 04 05 00 T 84 09 00 00 R 00 00 01 00 T 84 09 00 00 5E 23 56 @@ -1072,15 +1073,15 @@ R 00 00 01 00 T 87 09 00 00 R 00 00 01 00 T 87 09 00 00 3E 00 00 00 00 21 00 00 00 00 C3 -R 00 00 01 00 2B 05 09 00 02 0A 09 00 +R 00 00 01 00 2B 05 0A 00 02 0A 0A 00 T 8D 09 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 8F 09 00 00 R 00 00 01 00 T 8F 09 00 00 3E C6 07 00 00 21 C6 07 00 00 C3 R 00 00 01 00 29 05 01 00 00 0A 01 00 T 95 09 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 97 09 00 00 R 00 00 01 00 T 97 09 00 00 C5 FD E5 DD E5 21 15 00 19 46 23 @@ -1106,7 +1107,7 @@ R 00 00 01 00 00 05 01 00 T B6 09 00 00 R 00 00 01 00 T B6 09 00 00 CD 00 00 00 00 00 00 FD E5 21 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T BE 09 00 00 15 00 DD 5E 02 DD 56 03 19 R 00 00 01 00 T C7 09 00 00 @@ -1134,11 +1135,11 @@ R 00 00 01 00 T 0F 0A 00 00 R 00 00 01 00 T 0F 0A 00 00 11 00 00 00 00 3E 00 00 00 00 21 -R 00 00 01 00 02 05 0C 00 2B 0A 01 00 +R 00 00 01 00 02 05 0D 00 2B 0A 01 00 T 15 0A 00 00 00 00 00 00 CD 00 00 00 00 FD E1 -R 00 00 01 00 02 04 01 00 02 09 0B 00 +R 00 00 01 00 02 04 01 00 02 09 0C 00 T 1C 0A 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +R 00 00 01 00 02 05 05 00 T 1F 0A 00 00 R 00 00 01 00 T 1F 0A 00 00 C5 FD E5 DD E5 D5 DD E1 21 15 00 @@ -1150,7 +1151,7 @@ R 00 00 01 00 T 40 0A 00 00 67 ED 42 30 2E DD 4E 20 DD 46 21 R 00 00 01 00 T 4B 0A 00 00 21 00 00 CD 00 00 00 00 30 20 -R 00 00 01 00 02 08 0F 00 +R 00 00 01 00 02 08 10 00 T 53 0A 00 00 R 00 00 01 00 T 53 0A 00 00 @@ -1172,7 +1173,7 @@ R 00 00 01 00 T 7E 0A 00 00 AC 67 ED 42 30 2E DD 4E 22 DD 46 R 00 00 01 00 T 89 0A 00 00 23 21 00 00 CD 00 00 00 00 30 20 -R 00 00 01 00 02 09 0F 00 +R 00 00 01 00 02 09 10 00 T 92 0A 00 00 R 00 00 01 00 T 92 0A 00 00 @@ -1198,7 +1199,7 @@ R 00 00 01 00 T B9 0A 00 00 FD E5 D1 3E 1F 0A 00 00 21 R 00 00 01 00 29 08 01 00 T BF 0A 00 00 1F 0A 00 00 CD 00 00 00 00 FD 6E -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T C6 0A 00 00 13 FD 66 14 E5 FD E1 18 E3 R 00 00 01 00 T CF 0A 00 00 @@ -1208,11 +1209,11 @@ R 00 00 01 00 00 05 01 00 T D2 0A 00 00 R 00 00 01 00 T D2 0A 00 00 CD 00 00 00 00 D0 FF FD E5 AF DD -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T DB 0A 00 00 77 FA DD 77 FB DD 77 FC DD 77 FD R 00 00 01 00 T E6 0A 00 00 59 50 CD 00 00 00 00 08 00 01 00 -R 00 00 01 00 02 07 0D 00 +R 00 00 01 00 02 07 0E 00 T EF 0A 00 00 02 00 03 00 02 01 03 01 04 01 R 00 00 01 00 T F9 0A 00 00 05 01 01 04 6B 0D 00 00 @@ -1474,7 +1475,7 @@ R 00 00 01 00 T 45 0D 00 00 B6 09 00 00 21 B6 09 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 4A 0D 00 00 00 00 00 00 E1 E1 21 00 00 E5 DD -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 53 0D 00 00 5E 02 4B DD 56 03 42 2E 17 09 4E R 00 00 01 00 T 5E 0D 00 00 23 46 23 7E 69 60 01 05 01 @@ -1482,7 +1483,7 @@ R 00 00 01 00 T 67 0D 00 00 R 00 00 01 00 T 67 0D 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 6B 0D 00 00 R 00 00 01 00 T 6B 0D 00 00 @@ -1490,7 +1491,7 @@ R 00 00 01 00 T 6B 0D 00 00 R 00 00 01 00 T 6B 0D 00 00 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 +R 00 00 01 00 02 07 05 00 T 70 0D 00 00 R 00 00 01 00 T 70 0D 00 00 DD 4E 04 DD 46 05 @@ -1500,7 +1501,7 @@ R 00 00 01 00 T 76 0D 00 00 FD E5 D1 FD 7E 19 FD 6E 17 FD 66 R 00 00 01 00 T 81 0D 00 00 18 C3 00 00 00 00 -R 00 00 01 00 02 06 0B 00 +R 00 00 01 00 02 06 0C 00 T 85 0D 00 00 R 00 00 01 00 T 85 0D 00 00 23 23 @@ -1514,7 +1515,7 @@ R 00 00 01 00 T 8C 0D 00 00 3E 4A 07 00 00 21 4A 07 00 00 C3 R 00 00 01 00 29 05 01 00 00 0A 01 00 T 92 0D 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 94 0D 00 00 R 00 00 01 00 T 94 0D 00 00 09 @@ -1524,11 +1525,11 @@ R 00 00 01 00 T 95 0D 00 00 4E 23 46 23 7E 69 60 C3 R 00 00 01 00 T 9D 0D 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 9F 0D 00 00 R 00 00 01 00 T 9F 0D 00 00 CD 00 00 00 00 FC FF FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T A8 0D 00 00 02 DD 66 03 E5 FD E1 AF DD 77 FE R 00 00 01 00 T B3 0D 00 00 DD 77 FF DD 77 FC DD 77 FD 21 @@ -1558,13 +1559,13 @@ R 00 00 01 00 00 04 01 00 T 01 0E 00 00 5E FE DD 56 FF 3E A3 00 00 00 21 R 00 00 01 00 29 0A 01 00 T 09 0E 00 00 A3 00 00 00 CD 00 00 00 00 FD 4E -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T 10 0E 00 00 08 FD 46 09 FD 5E 06 FD 56 07 3E R 00 00 01 00 T 1B 0E 00 00 E2 00 00 00 21 E2 00 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 20 0E 00 00 00 00 00 00 FD 6E 08 FD 66 09 E5 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 29 0E 00 00 FD 6E 06 FD 66 07 E5 DD 6E FC DD R 00 00 01 00 T 34 0E 00 00 66 FD E5 DD 4E FE DD 46 FF 11 @@ -1588,7 +1589,7 @@ R 00 00 01 00 T 89 0E 00 00 3E 25 01 00 00 21 25 01 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 T 8F 0E 00 00 00 00 00 00 DD 4E FC DD 46 FD CD -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 98 0E 00 00 EF 0E 00 00 46 23 66 68 CD R 00 00 01 00 00 04 01 00 T 9F 0E 00 00 E1 0E 00 00 01 05 00 09 4D 44 FD @@ -1596,7 +1597,7 @@ R 00 00 01 00 00 04 01 00 T A8 0E 00 00 5E 06 FD 56 07 3E 6A 01 00 00 21 R 00 00 01 00 29 0A 01 00 T B0 0E 00 00 6A 01 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T B6 0E 00 00 0E 00 DD 4E FC DD 46 FD 09 4D 44 R 00 00 01 00 T C1 0E 00 00 DD 5E FE DD 56 FF 13 13 3E @@ -1608,23 +1609,23 @@ R 00 00 01 00 00 04 01 00 T D5 0E 00 00 04 07 00 00 21 04 07 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T DA 0E 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T DC 0E 00 00 R 00 00 01 00 T DC 0E 00 00 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 +R 00 00 01 00 02 07 05 00 T E1 0E 00 00 R 00 00 01 00 T E1 0E 00 00 01 05 00 09 4E 23 46 23 7E 69 60 R 00 00 01 00 T EC 0E 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T EF 0E 00 00 R 00 00 01 00 T EF 0E 00 00 DD 5E FE DD 56 FF 3E A3 00 00 00 R 00 00 01 00 29 0B 01 00 T F7 0E 00 00 21 A3 00 00 00 CD 00 00 00 00 FD -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T FE 0E 00 00 5E 20 FD 56 21 21 0A 00 ED 4B R 00 00 01 00 T 08 0F 00 00 00 00 00 00 09 C9 @@ -1632,11 +1633,11 @@ R 00 00 01 00 00 04 04 00 T 0C 0F 00 00 R 00 00 01 00 T 0C 0F 00 00 CD 00 00 00 00 FD 5E 20 FD 56 21 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 15 0F 00 00 3E 39 02 00 00 21 39 02 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 T 1B 0F 00 00 00 00 00 00 C9 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 1E 0F 00 00 R 00 00 01 00 T 1E 0F 00 00 DD 5E 0E DD 56 0F @@ -1646,17 +1647,17 @@ R 00 00 01 00 T 24 0F 00 00 3E A5 03 00 00 21 A5 03 00 00 C3 R 00 00 01 00 29 05 01 00 00 0A 01 00 T 2A 0F 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 2C 0F 00 00 R 00 00 01 00 T 2C 0F 00 00 CD 00 00 00 00 CD 40 07 00 00 CD -R 00 00 01 00 02 05 0A 00 00 0A 01 00 +R 00 00 01 00 02 05 0B 00 00 0A 01 00 T 33 0F 00 00 D7 02 00 00 CD 00 00 00 00 01 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T 39 0F 00 00 80 00 58 50 3E F4 01 00 00 21 R 00 00 01 00 29 09 01 00 T 40 0F 00 00 F4 01 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T 46 0F 00 00 80 00 E5 6C E5 E5 CD EF 02 00 00 R 00 00 01 00 00 0B 01 00 T 4F 0F 00 00 E1 E1 E1 DD 5E 02 DD 56 03 3E @@ -1664,19 +1665,19 @@ R 00 00 01 00 T 59 0F 00 00 04 07 00 00 21 04 07 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 5E 0F 00 00 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 04 0B 00 02 09 04 00 +R 00 00 01 00 02 04 0C 00 02 09 05 00 T 63 0F 00 00 R 00 00 01 00 T 63 0F 00 00 CD 00 00 00 00 3E A6 06 00 00 21 -R 00 00 01 00 02 05 0A 00 29 0A 01 00 +R 00 00 01 00 02 05 0B 00 29 0A 01 00 T 69 0F 00 00 A6 06 00 00 CD 00 00 00 00 C3 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T 6F 0F 00 00 00 00 00 00 -R 00 00 01 00 02 04 04 00 +R 00 00 01 00 02 04 05 00 T 71 0F 00 00 R 00 00 01 00 T 71 0F 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 7A 0F 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B R 00 00 01 00 T 85 0F 00 00 E5 CD B5 0F 00 00 F1 F1 E5 FD E1 @@ -1700,15 +1701,15 @@ R 00 00 01 00 T B5 0F 00 00 DD 5E 02 DD 56 03 3E AF 05 00 00 R 00 00 01 00 29 0B 01 00 T BD 0F 00 00 21 AF 05 00 00 C3 00 00 00 00 -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T C3 0F 00 00 R 00 00 01 00 T C3 0F 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T CC 0F 00 00 6E 0A DD 66 0B E5 3E D2 0A 00 00 R 00 00 01 00 29 0B 01 00 T D4 0F 00 00 21 D2 0A 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T DB 0F 00 00 3E 03 DD AE 04 DD B6 05 20 3E FD R 00 00 01 00 T E6 0F 00 00 4E 10 47 DD 6E 0A DD 66 0B ED 42 @@ -1750,7 +1751,7 @@ R 00 00 01 00 00 04 01 00 T 3C 10 00 00 R 00 00 01 00 T 3C 10 00 00 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 +R 00 00 01 00 02 07 05 00 T 41 10 00 00 R 00 00 01 00 T 41 10 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66 @@ -1762,7 +1763,7 @@ R 00 00 01 00 T 50 10 00 00 09 4E 23 46 23 7E 69 60 01 01 02 R 00 00 01 00 T 5B 10 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 5E 10 00 00 R 00 00 01 00 T 5E 10 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66 @@ -1770,11 +1771,11 @@ R 00 00 01 00 T 69 10 00 00 12 0E 17 09 4E 23 46 23 7E 69 60 R 00 00 01 00 T 74 10 00 00 01 04 01 C3 00 00 00 00 -R 00 00 01 00 02 08 0B 00 +R 00 00 01 00 02 08 0C 00 T 7A 10 00 00 R 00 00 01 00 T 7A 10 00 00 CD 00 00 00 00 FD E5 D5 FD E1 21 -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 83 10 00 00 0A 00 19 CB 76 FD 5E 20 FD 56 21 R 00 00 01 00 T 8E 10 00 00 21 0A 00 ED 4B 00 00 00 00 09 7E @@ -1786,7 +1787,7 @@ R 00 00 01 00 T A7 10 00 00 R 00 00 01 00 T A7 10 00 00 CD 00 00 00 00 29 4D 44 FD 6E 08 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T B0 10 00 00 FD 66 09 A7 ED 42 CD 27 11 00 00 R 00 00 01 00 00 0B 01 00 T B9 10 00 00 0E 0C 09 E5 FD 5E 20 FD 56 21 21 @@ -1802,7 +1803,7 @@ R 00 00 01 00 00 04 01 00 T E6 10 00 00 FD 56 23 69 60 CD DE 03 00 00 C1 R 00 00 01 00 00 0A 01 00 T EF 10 00 00 CD 00 00 00 00 FD 5E 22 FD 56 23 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T F8 10 00 00 18 20 R 00 00 01 00 T FA 10 00 00 @@ -1814,7 +1815,7 @@ R 00 00 01 00 T 0B 11 00 00 0A 00 CD DE 03 00 00 C1 CD R 00 00 01 00 00 07 01 00 T 12 11 00 00 00 00 00 00 FD 5E 20 FD 56 21 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 1A 11 00 00 R 00 00 01 00 T 1A 11 00 00 3E 39 02 00 00 21 39 02 00 00 @@ -1822,11 +1823,11 @@ R 00 00 01 00 29 05 01 00 00 0A 01 00 T 1F 11 00 00 R 00 00 01 00 T 1F 11 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 22 11 00 00 R 00 00 01 00 T 22 11 00 00 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 +R 00 00 01 00 02 07 05 00 T 27 11 00 00 R 00 00 01 00 T 27 11 00 00 EB @@ -1834,7 +1835,7 @@ R 00 00 01 00 T 28 11 00 00 R 00 00 01 00 T 28 11 00 00 01 02 00 CD 00 00 00 00 DD 6E 0A -R 00 00 01 00 02 08 11 00 +R 00 00 01 00 02 08 12 00 T 31 11 00 00 DD 66 0B 19 C9 R 00 00 01 00 T 36 11 00 00 @@ -1864,7 +1865,7 @@ R 00 00 01 00 00 0A 01 00 T 7D 11 00 00 21 00 00 39 CD 0E 12 00 00 CD R 00 00 01 00 00 09 01 00 T 85 11 00 00 00 00 00 00 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 8E 11 00 00 DD 6E 06 DD 66 07 E5 21 04 00 39 R 00 00 01 00 T 99 11 00 00 4E 23 46 C5 23 4E 23 46 DD CB 0A @@ -1904,7 +1905,7 @@ R 00 00 01 00 29 06 01 00 00 0B 01 00 T EB 11 00 00 R 00 00 01 00 T EB 11 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T EE 11 00 00 R 00 00 01 00 T EE 11 00 00 21 00 00 39 4E 23 46 C5 23 4E 23 @@ -1912,7 +1913,7 @@ R 00 00 01 00 T F9 11 00 00 46 DD E5 D1 3E 7A 10 00 00 21 R 00 00 01 00 29 09 01 00 T 00 12 00 00 7A 10 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T 06 12 00 00 R 00 00 01 00 T 06 12 00 00 E1 E1 DD E1 C1 C3 00 00 00 00 @@ -1926,7 +1927,7 @@ R 00 00 01 00 T 12 12 00 00 5E 23 56 3E A3 00 00 00 21 R 00 00 01 00 29 08 01 00 T 18 12 00 00 A3 00 00 00 CD 00 00 00 00 DD 4E -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T 1F 12 00 00 08 DD 46 09 DD 5E 06 DD 56 07 3E R 00 00 01 00 T 2A 12 00 00 E2 00 00 00 21 E2 00 00 00 C9 @@ -1934,11 +1935,11 @@ R 00 00 01 00 29 04 01 00 00 09 01 00 T 2F 12 00 00 R 00 00 01 00 T 2F 12 00 00 CD 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 02 0A 04 00 +R 00 00 01 00 02 05 0B 00 02 0A 05 00 T 35 12 00 00 R 00 00 01 00 T 35 12 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 3E 12 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B R 00 00 01 00 T 49 12 00 00 E5 CD B5 0F 00 00 F1 F1 E5 FD E1 @@ -1962,11 +1963,11 @@ R 00 00 01 00 29 04 01 00 00 09 01 00 T 87 12 00 00 R 00 00 01 00 T 87 12 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 90 12 00 00 6E 0A DD 66 0B E5 3E D2 0A 00 00 R 00 00 01 00 29 0B 01 00 T 98 12 00 00 21 D2 0A 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T 9F 12 00 00 3E 03 DD AE 04 DD B6 05 20 5C FD R 00 00 01 00 T AA 12 00 00 4E 10 47 DD 6E 0A DD 66 0B ED 42 @@ -1988,7 +1989,7 @@ R 00 00 01 00 T DF 12 00 00 23 7E 69 60 01 02 02 CD R 00 00 01 00 T E7 12 00 00 00 00 00 00 E1 21 00 00 E5 01 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T EF 12 00 00 03 01 CD 76 0D 00 00 E1 FD CB 0A R 00 00 01 00 00 07 01 00 T F8 12 00 00 66 28 0A @@ -2016,7 +2017,7 @@ R 00 00 01 00 00 04 01 00 T 1E 13 00 00 R 00 00 01 00 T 1E 13 00 00 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 +R 00 00 01 00 02 07 05 00 T 23 13 00 00 R 00 00 01 00 T 23 13 00 00 C5 DD E5 F5 F5 D5 DD E1 21 02 00 @@ -2044,7 +2045,7 @@ R 00 00 01 00 00 0A 01 00 T 6A 13 00 00 21 00 00 39 CD 0E 12 00 00 CD R 00 00 01 00 00 09 01 00 T 72 13 00 00 00 00 00 00 DD CB 0A 4E 28 36 DD -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 7B 13 00 00 CB 0A 56 28 30 R 00 00 01 00 T 80 13 00 00 @@ -2058,7 +2059,7 @@ R 00 00 01 00 T 8B 13 00 00 07 3E AF 01 00 00 21 AF 01 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T 91 13 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 9A 13 00 00 E5 DD 6E 06 DD 66 07 E5 21 04 00 R 00 00 01 00 T A5 13 00 00 39 4E 23 46 C5 23 4E 23 46 18 34 @@ -2070,7 +2071,7 @@ R 00 00 01 00 T BB 13 00 00 07 3E 25 01 00 00 21 25 01 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T C1 13 00 00 CD 00 00 00 00 DD 6E 08 DD 66 09 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T CA 13 00 00 E5 DD 6E 06 DD 66 07 E5 21 04 00 R 00 00 01 00 T D5 13 00 00 39 4E 23 46 C5 23 4E 23 46 DD CB @@ -2096,7 +2097,7 @@ R 00 00 01 00 T FF 13 00 00 46 DD E5 D1 3E 7A 10 00 00 21 R 00 00 01 00 29 09 01 00 T 06 14 00 00 7A 10 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T 0C 14 00 00 R 00 00 01 00 T 0C 14 00 00 C3 06 12 00 00 @@ -2104,7 +2105,7 @@ R 00 00 01 00 00 05 01 00 T 0F 14 00 00 R 00 00 01 00 T 0F 14 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 18 14 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B R 00 00 01 00 T 23 14 00 00 E5 CD B5 0F 00 00 F1 F1 E5 FD E1 @@ -2128,11 +2129,11 @@ R 00 00 01 00 29 04 01 00 00 09 01 00 T 61 14 00 00 R 00 00 01 00 T 61 14 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 6A 14 00 00 6E 0A DD 66 0B E5 3E D2 0A 00 00 R 00 00 01 00 29 0B 01 00 T 72 14 00 00 21 D2 0A 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T 79 14 00 00 21 01 02 DD 4E 04 DD 46 05 A7 ED R 00 00 01 00 T 84 14 00 00 42 20 40 3E FF DD AE 0A DD B6 0B @@ -2168,7 +2169,7 @@ R 00 00 01 00 T BA 14 00 00 23 46 23 7E 69 60 01 01 03 CD R 00 00 01 00 T C4 14 00 00 00 00 00 00 E1 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T C7 14 00 00 R 00 00 01 00 T C7 14 00 00 21 01 02 DD 4E 04 DD 46 05 A7 ED @@ -2206,15 +2207,15 @@ R 00 00 01 00 T 08 15 00 00 23 46 23 7E 69 60 01 02 03 CD R 00 00 01 00 T 12 15 00 00 00 00 00 00 E1 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 15 15 00 00 R 00 00 01 00 T 15 15 00 00 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 +R 00 00 01 00 02 07 05 00 T 1A 15 00 00 R 00 00 01 00 T 1A 15 00 00 CD 00 00 00 00 FE FF FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 23 15 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B R 00 00 01 00 T 2E 15 00 00 E5 CD B5 0F 00 00 F1 F1 E5 FD E1 @@ -2244,7 +2245,7 @@ R 00 00 01 00 00 07 01 00 T 8F 15 00 00 01 0A 00 00 00 CD E8 15 00 00 CD R 00 00 01 00 00 05 02 00 00 0A 01 00 T 96 15 00 00 00 00 00 00 21 FE 00 E5 2E 14 E5 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 9F 15 00 00 2E 28 E5 21 C8 FF CD CC 15 00 00 R 00 00 01 00 00 0B 01 00 T A8 15 00 00 F1 F1 F1 DD 75 FE DD 74 FF 01 @@ -2256,7 +2257,7 @@ R 00 00 01 00 00 04 01 00 T C1 15 00 00 0D 00 00 00 CD E8 15 00 00 CD R 00 00 01 00 00 04 02 00 00 09 01 00 T C7 15 00 00 00 00 00 00 C3 51 06 00 00 -R 00 00 01 00 02 04 0B 00 00 09 01 00 +R 00 00 01 00 02 04 0C 00 00 09 01 00 T CC 15 00 00 R 00 00 01 00 T CC 15 00 00 DD 4E 0C DD 46 0D 09 4D 44 21 @@ -2268,13 +2269,13 @@ R 00 00 01 00 T E0 15 00 00 3E 35 12 00 00 21 35 12 00 00 C3 R 00 00 01 00 29 05 01 00 00 0A 01 00 T E6 15 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T E8 15 00 00 R 00 00 01 00 T E8 15 00 00 DD 5E FE DD 56 FF 3E 59 06 00 00 R 00 00 01 00 29 0B 01 00 T F0 15 00 00 21 59 06 00 00 CD 00 00 00 00 DD -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T F7 15 00 00 4E FE DD 46 FF FD E5 D1 FD 7E 1F R 00 00 01 00 T 02 16 00 00 FD 6E 1D FD 66 1E C9 @@ -2282,11 +2283,11 @@ R 00 00 01 00 T 09 16 00 00 R 00 00 01 00 T 09 16 00 00 CD 00 00 00 00 FD E5 D5 FD E1 DD -R 00 00 01 00 02 05 0A 00 +R 00 00 01 00 02 05 0B 00 T 12 16 00 00 6E 0A DD 66 0B E5 3E C3 0F 00 00 R 00 00 01 00 29 0B 01 00 T 1A 16 00 00 21 C3 0F 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 05 01 00 02 0A 0B 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 T 21 16 00 00 21 03 02 DD 4E 04 DD 46 05 A7 ED R 00 00 01 00 T 2C 16 00 00 42 20 40 FD CB 0A 5E 28 3A @@ -2300,9 +2301,9 @@ R 00 00 01 00 T 35 16 00 00 3E 08 DD AE 0A DD B6 0B FD 5E 20 R 00 00 01 00 T 40 16 00 00 FD 56 21 3E 00 00 00 00 21 -R 00 00 01 00 2B 08 06 00 +R 00 00 01 00 2B 08 07 00 T 46 16 00 00 00 00 00 00 20 0D -R 00 00 01 00 02 04 06 00 +R 00 00 01 00 02 04 07 00 T 4A 16 00 00 R 00 00 01 00 T 4A 16 00 00 CD 22 04 00 00 28 15 @@ -2330,17 +2331,17 @@ R 00 00 01 00 00 04 01 00 T 6F 16 00 00 R 00 00 01 00 T 6F 16 00 00 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 +R 00 00 01 00 02 07 05 00 T 74 16 00 00 R 00 00 01 00 T 74 16 00 00 FD 5E 20 FD 56 21 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 +R 00 00 01 00 2B 0B 07 00 T 7C 16 00 00 21 00 00 00 00 -R 00 00 01 00 02 05 06 00 +R 00 00 01 00 02 05 07 00 T 7F 16 00 00 R 00 00 01 00 T 7F 16 00 00 CD 00 00 00 00 FD 4E 20 FD 46 21 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 88 16 00 00 09 C9 R 00 00 01 00 T 8A 16 00 00 @@ -2372,7 +2373,7 @@ R 00 00 01 00 00 04 01 00 T D8 16 00 00 46 2B 2B 2B CD 12 12 00 00 CD R 00 00 01 00 00 09 01 00 T E0 16 00 00 00 00 00 00 DD 6E 08 DD 66 09 E5 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T E9 16 00 00 DD 6E 06 DD 66 07 E5 21 06 00 39 R 00 00 01 00 T F4 16 00 00 4E 23 46 C5 2B 2B 2B 4E 23 46 DD @@ -2406,7 +2407,7 @@ R 00 00 01 00 29 05 01 00 00 0A 01 00 T 32 17 00 00 R 00 00 01 00 T 32 17 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 35 17 00 00 R 00 00 01 00 T 35 17 00 00 DD 5E 20 DD 56 21 21 0A 00 ED 4B @@ -2418,7 +2419,7 @@ R 00 00 01 00 T 53 17 00 00 2D 04 00 00 DD 6E 08 DD 66 09 A7 R 00 00 01 00 00 04 01 00 T 5C 17 00 00 ED 42 EB 01 02 00 CD 00 00 00 00 -R 00 00 01 00 02 0B 11 00 +R 00 00 01 00 02 0B 12 00 T 65 17 00 00 69 60 39 46 23 66 68 19 01 07 00 R 00 00 01 00 T 70 17 00 00 09 4D 44 21 00 00 39 5E 23 56 13 @@ -2426,7 +2427,7 @@ R 00 00 01 00 T 7B 17 00 00 13 3E A3 00 00 00 21 A3 00 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T 81 17 00 00 CD 00 00 00 00 DD CB 0B 46 28 36 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 8A 17 00 00 R 00 00 01 00 T 8A 17 00 00 FD 21 00 00 @@ -2434,9 +2435,9 @@ R 00 00 01 00 T 8E 17 00 00 R 00 00 01 00 T 8E 17 00 00 DD 5E 20 DD 56 21 3E 00 00 00 00 -R 00 00 01 00 2B 0B 06 00 +R 00 00 01 00 2B 0B 07 00 T 96 17 00 00 21 00 00 00 00 CD 2D 04 00 00 FD -R 00 00 01 00 02 05 06 00 00 0A 01 00 +R 00 00 01 00 02 05 07 00 00 0A 01 00 T 9D 17 00 00 E5 E1 A7 ED 42 21 06 00 30 0B R 00 00 01 00 T A7 17 00 00 @@ -2458,7 +2459,7 @@ R 00 00 01 00 T C6 17 00 00 3E 39 02 00 00 21 39 02 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 T CC 17 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T CE 17 00 00 R 00 00 01 00 T CE 17 00 00 @@ -2468,7 +2469,7 @@ R 00 00 01 00 00 0A 01 00 T D6 17 00 00 R 00 00 01 00 T D6 17 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T DF 17 00 00 0E DD 66 0F E5 DD 6E 0C DD 66 0D R 00 00 01 00 T EA 17 00 00 E5 DD 6E 0A DD 66 0B E5 DD 5E 02 @@ -2482,7 +2483,7 @@ R 00 00 01 00 00 04 02 00 T 0E 18 00 00 59 06 00 00 21 59 06 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 13 18 00 00 00 00 00 00 FD 36 1A 8A 16 00 00 -R 00 00 01 00 02 04 0B 00 09 0B 01 00 +R 00 00 01 00 02 04 0C 00 09 0B 01 00 T 19 18 00 00 FD 36 1B 8A 16 00 00 FD 36 1C R 00 00 01 00 89 07 01 00 T 20 18 00 00 8A 16 00 00 FD 36 17 09 16 00 00 @@ -2494,7 +2495,7 @@ R 00 00 01 00 29 04 01 00 00 09 01 00 T 30 18 00 00 R 00 00 01 00 T 30 18 00 00 CD 00 00 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 0A 00 02 0A 04 00 +R 00 00 01 00 02 05 0B 00 02 0A 05 00 T 36 18 00 00 R 00 00 01 00 T 36 18 00 00 C5 DD E5 F5 F5 D5 DD E1 21 02 00 @@ -2524,7 +2525,7 @@ R 00 00 01 00 T 87 18 00 00 46 DD E5 D1 3E 7A 10 00 00 21 R 00 00 01 00 29 09 01 00 T 8E 18 00 00 7A 10 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T 94 18 00 00 R 00 00 01 00 T 94 18 00 00 C3 06 12 00 00 @@ -2532,7 +2533,7 @@ R 00 00 01 00 00 05 01 00 T 97 18 00 00 R 00 00 01 00 T 97 18 00 00 CD 00 00 00 00 00 00 FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T A0 18 00 00 0C DD 66 0D E5 DD 6E 0A DD 66 0B R 00 00 01 00 T AB 18 00 00 E5 CD B5 0F 00 00 F1 F1 E5 FD E1 @@ -2558,23 +2559,23 @@ R 00 00 01 00 00 05 01 00 T F0 18 00 00 R 00 00 01 00 T F0 18 00 00 CD 00 00 00 00 00 00 DD 6E 0A DD -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T F9 18 00 00 66 0B E5 DD 5E 02 DD 56 03 3E R 00 00 01 00 T 03 19 00 00 D2 0A 00 00 21 D2 0A 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 08 19 00 00 00 00 00 00 E1 C3 00 00 00 00 -R 00 00 01 00 02 04 0B 00 02 0A 04 00 +R 00 00 01 00 02 04 0C 00 02 0A 05 00 T 0E 19 00 00 R 00 00 01 00 T 0E 19 00 00 CD 00 00 00 00 CE FF FD E5 DD 36 -R 00 00 01 00 02 05 0E 00 +R 00 00 01 00 02 05 0F 00 T 17 19 00 00 D8 00 21 00 00 E5 C5 3E R 00 00 01 00 T 1F 19 00 00 00 00 00 00 21 00 00 00 00 CD -R 00 00 01 00 2B 04 10 00 02 09 10 00 +R 00 00 01 00 2B 04 11 00 02 09 11 00 T 24 19 00 00 00 00 00 00 F1 F1 DD 75 D4 DD 74 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 2D 19 00 00 D5 DD 36 F0 2B DD 36 F1 00 DD 36 R 00 00 01 00 T 38 19 00 00 F2 1A DD 36 F3 00 @@ -2603,11 +2604,11 @@ T 6F 19 00 00 R 00 00 01 00 T 6F 19 00 00 R 00 00 01 00 -T 6F 19 00 00 DD 4E DD 06 00 C5 CD D8 1C 00 00 +T 6F 19 00 00 DD 4E DD 06 00 C5 CD CE 1C 00 00 R 00 00 01 00 00 0B 01 00 T 78 19 00 00 D5 DD 4E DB DD 5E F0 DD 56 F1 CD R 00 00 01 00 -T 83 19 00 00 E1 1C 00 00 D5 DD 4E DA DD 5E F2 +T 83 19 00 00 D7 1C 00 00 D5 DD 4E DA DD 5E F2 R 00 00 01 00 00 04 01 00 T 8C 19 00 00 DD 56 F3 CD 00 00 00 00 D5 DD 5E R 00 00 01 00 02 08 03 00 @@ -2616,7 +2617,7 @@ R 00 00 01 00 T 9E 19 00 00 00 00 00 00 3E 35 12 00 00 21 R 00 00 01 00 02 04 03 00 29 09 01 00 T A3 19 00 00 35 12 00 00 C1 CD 00 00 00 00 F1 -R 00 00 01 00 00 04 01 00 02 0A 0B 00 +R 00 00 01 00 00 04 01 00 02 0A 0C 00 T AA 19 00 00 F1 F1 E5 FD E1 DD 7E D8 FE 4D 20 R 00 00 01 00 T B5 19 00 00 04 @@ -2635,11 +2636,11 @@ T BE 19 00 00 DD 7E D8 FE 54 20 44 R 00 00 01 00 T C5 19 00 00 R 00 00 01 00 -T C5 19 00 00 DD 4E DD 06 00 C5 CD D8 1C 00 00 +T C5 19 00 00 DD 4E DD 06 00 C5 CD CE 1C 00 00 R 00 00 01 00 00 0B 01 00 T CE 19 00 00 D5 DD 4E DB DD 5E F0 DD 56 F1 CD R 00 00 01 00 -T D9 19 00 00 E1 1C 00 00 D5 DD 4E DA DD 5E F2 +T D9 19 00 00 D7 1C 00 00 D5 DD 4E DA DD 5E F2 R 00 00 01 00 00 04 01 00 T E2 19 00 00 DD 56 F3 CD 00 00 00 00 D5 DD 5E R 00 00 01 00 02 08 03 00 @@ -2648,7 +2649,7 @@ R 00 00 01 00 T F4 19 00 00 00 00 00 00 3E 0F 14 00 00 21 R 00 00 01 00 02 04 03 00 29 09 01 00 T F9 19 00 00 0F 14 00 00 C1 CD 00 00 00 00 F1 -R 00 00 01 00 00 04 01 00 02 0A 0B 00 +R 00 00 01 00 00 04 01 00 02 0A 0C 00 T 00 1A 00 00 F1 F1 E5 FD E1 DD 36 F4 01 R 00 00 01 00 T 09 1A 00 00 @@ -2657,11 +2658,11 @@ T 09 1A 00 00 DD 7E D8 FE 44 20 44 R 00 00 01 00 T 10 1A 00 00 R 00 00 01 00 -T 10 1A 00 00 DD 4E DD 06 00 C5 CD D8 1C 00 00 +T 10 1A 00 00 DD 4E DD 06 00 C5 CD CE 1C 00 00 R 00 00 01 00 00 0B 01 00 T 19 1A 00 00 D5 DD 4E DB DD 5E F0 DD 56 F1 CD R 00 00 01 00 -T 24 1A 00 00 E1 1C 00 00 D5 DD 4E DA DD 5E F2 +T 24 1A 00 00 D7 1C 00 00 D5 DD 4E DA DD 5E F2 R 00 00 01 00 00 04 01 00 T 2D 1A 00 00 DD 56 F3 CD 00 00 00 00 D5 DD 5E R 00 00 01 00 02 08 03 00 @@ -2670,7 +2671,7 @@ R 00 00 01 00 T 3F 1A 00 00 00 00 00 00 3E D6 17 00 00 21 R 00 00 01 00 02 04 03 00 29 09 01 00 T 44 1A 00 00 D6 17 00 00 C1 CD 00 00 00 00 F1 -R 00 00 01 00 00 04 01 00 02 0A 0B 00 +R 00 00 01 00 00 04 01 00 02 0A 0C 00 T 4B 1A 00 00 F1 F1 E5 FD E1 DD 36 F4 01 R 00 00 01 00 T 54 1A 00 00 @@ -2681,9 +2682,9 @@ T 5B 1A 00 00 R 00 00 01 00 T 5B 1A 00 00 21 0C 00 39 01 12 00 09 E5 CD R 00 00 01 00 -T 65 1A 00 00 D8 1C 00 00 D5 DD 4E DB DD 5E F0 +T 65 1A 00 00 CE 1C 00 00 D5 DD 4E DB DD 5E F0 R 00 00 01 00 00 04 01 00 -T 6E 1A 00 00 DD 56 F1 CD E1 1C 00 00 D5 DD 4E +T 6E 1A 00 00 DD 56 F1 CD D7 1C 00 00 D5 DD 4E R 00 00 01 00 00 08 01 00 T 77 1A 00 00 DA DD 5E F2 DD 56 F3 CD R 00 00 01 00 @@ -2694,7 +2695,7 @@ R 00 00 01 00 02 09 03 00 T 90 1A 00 00 97 18 00 00 21 97 18 00 00 C1 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T 96 1A 00 00 00 00 00 00 F1 F1 F1 E5 FD E1 DD -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T 9F 1A 00 00 36 F4 01 R 00 00 01 00 T A2 1A 00 00 @@ -2717,10 +2718,10 @@ T E0 1A 00 00 DD 71 FC DD 70 FD DD 73 FE DD 72 R 00 00 01 00 T EB 1A 00 00 FF DD 5E 02 DD 56 03 3E R 00 00 01 00 -T F3 1A 00 00 E8 1C 00 00 21 E8 1C 00 00 CD +T F3 1A 00 00 DE 1C 00 00 21 DE 1C 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 T F8 1A 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 +R 00 00 01 00 02 04 0C 00 T FA 1A 00 00 R 00 00 01 00 T FA 1A 00 00 DD 7E D8 FE 53 20 71 @@ -2729,13 +2730,13 @@ T 01 1B 00 00 R 00 00 01 00 T 01 1B 00 00 21 0C 00 39 4D 44 DD 5E D4 DD 56 R 00 00 01 00 -T 0C 1B 00 00 D5 3E 20 20 00 00 21 20 20 00 00 +T 0C 1B 00 00 D5 3E 16 20 00 00 21 16 20 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 T 12 1B 00 00 CD 00 00 00 00 21 26 00 DD 4E 02 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 1B 1B 00 00 DD 46 03 09 E5 11 04 00 CD R 00 00 01 00 -T 24 1B 00 00 D0 1C 00 00 EB E1 73 23 72 21 +T 24 1B 00 00 C6 1C 00 00 EB E1 73 23 72 21 R 00 00 01 00 00 04 01 00 T 2C 1B 00 00 26 00 09 56 DD 72 F5 23 66 DD 74 R 00 00 01 00 @@ -2763,13 +2764,13 @@ T 81 1B 00 00 R 00 00 01 00 T 81 1B 00 00 FD CB 0A EE FD 36 24 0B FD 36 25 R 00 00 01 00 -T 8C 1B 00 00 00 11 0B 00 CD D0 1C 00 00 FD 75 +T 8C 1B 00 00 00 11 0B 00 CD C6 1C 00 00 FD 75 R 00 00 01 00 00 09 01 00 T 95 1B 00 00 26 FD 74 27 FD 6E 26 DD 75 D0 FD R 00 00 01 00 -T A0 1B 00 00 66 27 DD 74 D1 36 E8 1C 00 00 23 +T A0 1B 00 00 66 27 DD 74 D1 36 DE 1C 00 00 23 R 00 00 01 00 09 0A 01 00 -T A8 1B 00 00 36 E8 1C 00 00 23 36 E8 1C 00 00 +T A8 1B 00 00 36 DE 1C 00 00 23 36 DE 1C 00 00 R 00 00 01 00 89 05 01 00 29 0B 01 00 T AD 1B 00 00 DD 6E D0 DD 66 D1 23 23 23 DD 4E R 00 00 01 00 @@ -2805,7 +2806,7 @@ T 1F 1C 00 00 16 R 00 00 01 00 T 20 1C 00 00 R 00 00 01 00 -T 20 1C 00 00 11 14 00 CD D0 1C 00 00 FD 75 20 +T 20 1C 00 00 11 14 00 CD C6 1C 00 00 FD 75 20 R 00 00 01 00 00 08 01 00 T 29 1C 00 00 FD 74 21 FD 6E 20 FD 66 21 36 00 R 00 00 01 00 @@ -2834,535 +2835,527 @@ R 00 00 01 00 T 64 1C 00 00 1D 00 09 4E 23 46 23 7E 69 60 C1 R 00 00 01 00 T 6F 1C 00 00 CD 00 00 00 00 -R 00 00 01 00 02 05 0B 00 +R 00 00 01 00 02 05 0C 00 T 72 1C 00 00 R 00 00 01 00 T 72 1C 00 00 21 14 00 E5 2E 0E 39 4D 44 DD 5E R 00 00 01 00 -T 7D 1C 00 00 D4 DD 56 D5 CD C8 1C 00 00 F1 3E +T 7D 1C 00 00 D4 DD 56 D5 CD BE 1C 00 00 F1 3E R 00 00 01 00 00 09 01 00 T 86 1C 00 00 14 AD B4 CA 3E 19 00 00 R 00 00 01 00 00 08 01 00 T 8C 1C 00 00 R 00 00 01 00 T 8C 1C 00 00 DD 5E D4 DD 56 D5 3E 00 00 00 00 -R 00 00 01 00 2B 0B 05 00 +R 00 00 01 00 2B 0B 06 00 T 94 1C 00 00 21 00 00 00 00 CD 00 00 00 00 DD -R 00 00 01 00 02 05 05 00 02 0A 0B 00 +R 00 00 01 00 02 05 06 00 02 0A 0C 00 T 9B 1C 00 00 5E 02 DD 56 03 3E 1F 0A 00 00 21 R 00 00 01 00 29 0A 01 00 T A3 1C 00 00 1F 0A 00 00 CD 00 00 00 00 DD 5E -R 00 00 01 00 00 04 01 00 02 09 0B 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 T AA 1C 00 00 02 4B DD 56 03 42 21 1A 00 09 4E R 00 00 01 00 T B5 1C 00 00 23 46 23 7E 69 60 C3 1F 11 00 00 R 00 00 01 00 00 0B 01 00 T BE 1C 00 00 R 00 00 01 00 -T BE 1C 00 00 4D 44 2A 00 00 00 00 23 23 5E 23 -R 00 00 01 00 00 07 04 00 -T C7 1C 00 00 56 -R 00 00 01 00 -T C8 1C 00 00 +T BE 1C 00 00 3E 00 00 00 00 21 00 00 00 00 C3 +R 00 00 01 00 2B 05 16 00 02 0A 16 00 +T C4 1C 00 00 00 00 00 00 +R 00 00 01 00 02 04 0C 00 +T C6 1C 00 00 R 00 00 01 00 -T C8 1C 00 00 3E 00 00 00 00 21 00 00 00 00 C3 +T C6 1C 00 00 3E 00 00 00 00 21 00 00 00 00 C3 R 00 00 01 00 2B 05 15 00 02 0A 15 00 -T CE 1C 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 -T D0 1C 00 00 +T CC 1C 00 00 00 00 00 00 +R 00 00 01 00 02 04 0C 00 +T CE 1C 00 00 R 00 00 01 00 -T D0 1C 00 00 3E 00 00 00 00 21 00 00 00 00 C3 -R 00 00 01 00 2B 05 14 00 02 0A 14 00 -T D6 1C 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 -T D8 1C 00 00 +T CE 1C 00 00 DD 4E DC DD 5E F2 DD 56 F3 R 00 00 01 00 -T D8 1C 00 00 DD 4E DC DD 5E F2 DD 56 F3 +T D7 1C 00 00 R 00 00 01 00 -T E1 1C 00 00 -R 00 00 01 00 -T E1 1C 00 00 CD 00 00 00 00 1B 1B 1B C9 +T D7 1C 00 00 CD 00 00 00 00 1B 1B 1B C9 R 00 00 01 00 02 05 03 00 -T E8 1C 00 00 +T DE 1C 00 00 R 00 00 01 00 -T E8 1C 00 00 CD 00 00 00 00 EA FF FD E5 DD 6E -R 00 00 01 00 02 05 0E 00 -T F1 1C 00 00 02 DD 66 03 E5 FD E1 21 06 00 39 +T DE 1C 00 00 CD 00 00 00 00 EA FF FD E5 DD 6E +R 00 00 01 00 02 05 0F 00 +T E7 1C 00 00 02 DD 66 03 E5 FD E1 21 06 00 39 R 00 00 01 00 -T FC 1C 00 00 EB 21 26 00 00 00 01 0E 00 ED B0 +T F2 1C 00 00 EB 21 26 00 00 00 01 0E 00 ED B0 R 00 00 01 00 00 06 03 00 -T 05 1D 00 00 FD 6E 26 DD 75 EA FD 66 27 DD 74 +T FB 1C 00 00 FD 6E 26 DD 75 EA FD 66 27 DD 74 R 00 00 01 00 -T 10 1D 00 00 EB 23 23 23 3E 01 AE 23 B6 20 08 +T 06 1D 00 00 EB 23 23 23 3E 01 AE 23 B6 20 08 R 00 00 01 00 -T 1B 1D 00 00 +T 11 1D 00 00 R 00 00 01 00 -T 1B 1D 00 00 C5 01 01 04 CD 76 0D 00 00 E1 +T 11 1D 00 00 C5 01 01 04 CD 76 0D 00 00 E1 R 00 00 01 00 00 09 01 00 -T 23 1D 00 00 +T 19 1D 00 00 R 00 00 01 00 -T 23 1D 00 00 DD 6E EA DD 66 EB 23 23 23 46 23 +T 19 1D 00 00 DD 6E EA DD 66 EB 23 23 23 46 23 R 00 00 01 00 -T 2E 1D 00 00 66 68 CB 85 3E 02 AD B4 C2 +T 24 1D 00 00 66 68 CB 85 3E 02 AD B4 C2 R 00 00 01 00 -T 37 1D 00 00 53 1E 00 00 +T 2D 1D 00 00 49 1E 00 00 R 00 00 01 00 00 04 01 00 -T 39 1D 00 00 +T 2F 1D 00 00 R 00 00 01 00 -T 39 1D 00 00 6F 67 E5 E5 01 01 00 FD 5E 11 FD +T 2F 1D 00 00 6F 67 E5 E5 01 01 00 FD 5E 11 FD R 00 00 01 00 -T 44 1D 00 00 56 12 3E B6 09 00 00 21 +T 3A 1D 00 00 56 12 3E B6 09 00 00 21 R 00 00 01 00 29 07 01 00 -T 49 1D 00 00 B6 09 00 00 CD 00 00 00 00 E1 E1 -R 00 00 01 00 00 04 01 00 02 09 0B 00 -T 50 1D 00 00 FD 6E 11 FD 66 12 01 08 00 09 4E +T 3F 1D 00 00 B6 09 00 00 CD 00 00 00 00 E1 E1 +R 00 00 01 00 00 04 01 00 02 09 0C 00 +T 46 1D 00 00 FD 6E 11 FD 66 12 01 08 00 09 4E R 00 00 01 00 -T 5B 1D 00 00 23 46 C5 FD 6E 11 FD 66 12 01 +T 51 1D 00 00 23 46 C5 FD 6E 11 FD 66 12 01 R 00 00 01 00 -T 65 1D 00 00 06 00 09 4E 23 46 C5 01 00 00 59 +T 5B 1D 00 00 06 00 09 4E 23 46 C5 01 00 00 59 R 00 00 01 00 -T 70 1D 00 00 50 3E 71 0F 00 00 21 71 0F 00 00 +T 66 1D 00 00 50 3E 71 0F 00 00 21 71 0F 00 00 R 00 00 01 00 29 06 01 00 00 0B 01 00 -T 76 1D 00 00 CD 00 00 00 00 F1 F1 DD 75 EC DD -R 00 00 01 00 02 05 0B 00 -T 7F 1D 00 00 74 ED 01 0A 00 09 36 03 23 70 DD +T 6C 1D 00 00 CD 00 00 00 00 F1 F1 DD 75 EC DD +R 00 00 01 00 02 05 0C 00 +T 75 1D 00 00 74 ED 01 0A 00 09 36 03 23 70 DD R 00 00 01 00 -T 8A 1D 00 00 6E EA DD 66 EB 23 23 23 CB 46 28 +T 80 1D 00 00 6E EA DD 66 EB 23 23 23 CB 46 28 R 00 00 01 00 -T 95 1D 00 00 0C +T 8B 1D 00 00 0C R 00 00 01 00 -T 96 1D 00 00 +T 8C 1D 00 00 R 00 00 01 00 -T 96 1D 00 00 69 60 DD 4E EC DD 46 ED 09 23 CB +T 8C 1D 00 00 69 60 DD 4E EC DD 46 ED 09 23 CB R 00 00 01 00 -T A1 1D 00 00 EE +T 97 1D 00 00 EE R 00 00 01 00 -T A2 1D 00 00 +T 98 1D 00 00 R 00 00 01 00 -T A2 1D 00 00 21 17 00 DD 4E EC DD 46 ED 09 36 +T 98 1D 00 00 21 17 00 DD 4E EC DD 46 ED 09 36 R 00 00 01 00 -T AD 1D 00 00 F0 18 00 00 23 36 F0 18 00 00 23 +T A3 1D 00 00 F0 18 00 00 23 36 F0 18 00 00 23 R 00 00 01 00 09 04 01 00 89 0A 01 00 -T B2 1D 00 00 36 F0 18 00 00 21 1A 00 09 36 +T A8 1D 00 00 36 F0 18 00 00 21 1A 00 09 36 R 00 00 01 00 29 05 01 00 -T B9 1D 00 00 2C 0F 00 00 23 36 2C 0F 00 00 23 +T AF 1D 00 00 2C 0F 00 00 23 36 2C 0F 00 00 23 R 00 00 01 00 09 04 01 00 89 0A 01 00 -T BE 1D 00 00 36 2C 0F 00 00 21 07 00 DD 5E EA +T B4 1D 00 00 36 2C 0F 00 00 21 07 00 DD 5E EA R 00 00 01 00 29 05 01 00 -T C6 1D 00 00 DD 56 EB 19 5E EB DD 75 F3 21 +T BC 1D 00 00 DD 56 EB 19 5E EB DD 75 F3 21 R 00 00 01 00 -T D0 1D 00 00 07 00 DD 4E EA DD 46 EB 09 5E 23 +T C6 1D 00 00 07 00 DD 4E EA DD 46 EB 09 5E 23 R 00 00 01 00 -T DB 1D 00 00 56 23 4E 23 46 EB 3E 08 CD +T D1 1D 00 00 56 23 4E 23 46 EB 3E 08 CD R 00 00 01 00 -T E4 1D 00 00 00 00 00 00 DD 75 F4 21 07 00 DD -R 00 00 01 00 02 04 13 00 -T ED 1D 00 00 4E EA DD 46 EB 09 5E 23 56 23 4E +T DA 1D 00 00 00 00 00 00 DD 75 F4 21 07 00 DD +R 00 00 01 00 02 04 14 00 +T E3 1D 00 00 4E EA DD 46 EB 09 5E 23 56 23 4E R 00 00 01 00 -T F8 1D 00 00 23 46 EB 3E 10 CD 00 00 00 00 DD -R 00 00 01 00 02 0A 13 00 -T 01 1E 00 00 75 F5 21 07 00 DD 4E EA DD 46 EB +T EE 1D 00 00 23 46 EB 3E 10 CD 00 00 00 00 DD +R 00 00 01 00 02 0A 14 00 +T F7 1D 00 00 75 F5 21 07 00 DD 4E EA DD 46 EB R 00 00 01 00 -T 0C 1E 00 00 09 5E 23 56 23 4E 23 46 EB 3E 18 +T 02 1E 00 00 09 5E 23 56 23 4E 23 46 EB 3E 18 R 00 00 01 00 -T 17 1E 00 00 CD 00 00 00 00 DD 75 F6 21 06 00 -R 00 00 01 00 02 05 13 00 -T 20 1E 00 00 39 4D 44 DD 5E EC DD 56 ED 3E +T 0D 1E 00 00 CD 00 00 00 00 DD 75 F6 21 06 00 +R 00 00 01 00 02 05 14 00 +T 16 1E 00 00 39 4D 44 DD 5E EC DD 56 ED 3E R 00 00 01 00 -T 2A 1E 00 00 0E 19 00 00 21 0E 19 00 00 CD +T 20 1E 00 00 0E 19 00 00 21 0E 19 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 -T 2F 1E 00 00 00 00 00 00 DD 4E EC DD 46 ED C5 -R 00 00 01 00 02 04 0B 00 -T 38 1E 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66 +T 25 1E 00 00 00 00 00 00 DD 4E EC DD 46 ED C5 +R 00 00 01 00 02 04 0C 00 +T 2E 1E 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66 R 00 00 01 00 -T 43 1E 00 00 12 01 1D 00 09 4E 23 46 23 7E 69 +T 39 1E 00 00 12 01 1D 00 09 4E 23 46 23 7E 69 R 00 00 01 00 -T 4E 1E 00 00 60 C1 CD 00 00 00 00 -R 00 00 01 00 02 07 0B 00 -T 53 1E 00 00 +T 44 1E 00 00 60 C1 CD 00 00 00 00 +R 00 00 01 00 02 07 0C 00 +T 49 1E 00 00 R 00 00 01 00 -T 53 1E 00 00 DD 6E EA DD 66 EB 23 23 23 3E 04 +T 49 1E 00 00 DD 6E EA DD 66 EB 23 23 23 3E 04 R 00 00 01 00 -T 5E 1E 00 00 AE 23 B6 C2 F1 1F 00 00 +T 54 1E 00 00 AE 23 B6 C2 E7 1F 00 00 R 00 00 01 00 00 08 01 00 -T 64 1E 00 00 +T 5A 1E 00 00 R 00 00 01 00 -T 64 1E 00 00 21 01 00 E5 FD 6E 11 FD 66 12 01 +T 5A 1E 00 00 21 01 00 E5 FD 6E 11 FD 66 12 01 R 00 00 01 00 -T 6F 1E 00 00 08 00 09 46 23 66 68 01 F6 FF 09 +T 65 1E 00 00 08 00 09 46 23 66 68 01 F6 FF 09 R 00 00 01 00 -T 7A 1E 00 00 E5 FD 6E 11 FD 66 12 01 06 00 09 +T 70 1E 00 00 E5 FD 6E 11 FD 66 12 01 06 00 09 R 00 00 01 00 -T 85 1E 00 00 46 23 66 68 01 F6 FF 09 E5 01 +T 7B 1E 00 00 46 23 66 68 01 F6 FF 09 E5 01 R 00 00 01 00 -T 8F 1E 00 00 05 00 59 50 3E 1A 15 00 00 21 +T 85 1E 00 00 05 00 59 50 3E 1A 15 00 00 21 R 00 00 01 00 29 09 01 00 -T 96 1E 00 00 1A 15 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 00 04 01 00 02 09 0B 00 -T 9D 1E 00 00 F1 DD 75 EC DD 74 ED 01 0A 00 09 +T 8C 1E 00 00 1A 15 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 00 04 01 00 02 09 0C 00 +T 93 1E 00 00 F1 DD 75 EC DD 74 ED 01 0A 00 09 R 00 00 01 00 -T A8 1E 00 00 36 03 23 36 10 21 0E 00 DD 4E EC +T 9E 1E 00 00 36 03 23 36 10 21 0E 00 DD 4E EC R 00 00 01 00 -T B3 1E 00 00 DD 46 ED 09 36 30 23 36 00 AF DD +T A9 1E 00 00 DD 46 ED 09 36 30 23 36 00 AF DD R 00 00 01 00 -T BE 1E 00 00 77 FE DD 77 FF +T B4 1E 00 00 77 FE DD 77 FF R 00 00 01 00 -T C3 1E 00 00 +T B9 1E 00 00 R 00 00 01 00 -T C3 1E 00 00 21 05 00 DD 4E EA DD 46 EB 09 5E +T B9 1E 00 00 21 05 00 DD 4E EA DD 46 EB 09 5E R 00 00 01 00 -T CE 1E 00 00 23 56 06 0C CD 00 00 00 00 4B 42 -R 00 00 01 00 02 09 16 00 -T D7 1E 00 00 DD 6E FE DD 66 FF CD 00 00 00 00 -R 00 00 01 00 02 0B 0F 00 -T E0 1E 00 00 30 04 3E 01 18 01 +T C4 1E 00 00 23 56 06 0C CD 00 00 00 00 4B 42 +R 00 00 01 00 02 09 17 00 +T CD 1E 00 00 DD 6E FE DD 66 FF CD 00 00 00 00 +R 00 00 01 00 02 0B 10 00 +T D6 1E 00 00 30 04 3E 01 18 01 R 00 00 01 00 -T E6 1E 00 00 +T DC 1E 00 00 R 00 00 01 00 -T E6 1E 00 00 AF +T DC 1E 00 00 AF R 00 00 01 00 -T E7 1E 00 00 +T DD 1E 00 00 R 00 00 01 00 -T E7 1E 00 00 E6 0F CA 85 1F 00 00 +T DD 1E 00 00 E6 0F CA 7B 1F 00 00 R 00 00 01 00 00 07 01 00 -T EC 1E 00 00 +T E2 1E 00 00 R 00 00 01 00 -T EC 1E 00 00 21 05 00 DD 4E EA DD 46 EB 09 46 +T E2 1E 00 00 21 05 00 DD 4E EA DD 46 EB 09 46 R 00 00 01 00 -T F7 1E 00 00 23 7E 68 E6 0F 67 DD 4E FE DD 46 +T ED 1E 00 00 23 7E 68 E6 0F 67 DD 4E FE DD 46 R 00 00 01 00 -T 02 1F 00 00 FF 09 29 E5 21 08 00 ED 5B +T F8 1E 00 00 FF 09 29 E5 21 08 00 ED 5B R 00 00 01 00 -T 0B 1F 00 00 00 00 00 00 19 5E 23 56 E1 19 2B +T 01 1F 00 00 00 00 00 00 19 5E 23 56 E1 19 2B R 00 00 01 00 00 04 04 00 -T 14 1F 00 00 2B 5E 23 56 D5 21 10 00 E5 2E 06 +T 0A 1F 00 00 2B 5E 23 56 D5 21 10 00 E5 2E 06 R 00 00 01 00 -T 1F 1F 00 00 DD 5E EC DD 56 ED 19 6E 26 00 01 +T 15 1F 00 00 DD 5E EC DD 56 ED 19 6E 26 00 01 R 00 00 01 00 -T 2A 1F 00 00 F0 FF 09 E5 DD 6E FE DD 66 FF 29 +T 20 1F 00 00 F0 FF 09 E5 DD 6E FE DD 66 FF 29 R 00 00 01 00 -T 35 1F 00 00 29 4D 44 29 09 01 14 00 09 4D 44 +T 2B 1F 00 00 29 4D 44 29 09 01 14 00 09 4D 44 R 00 00 01 00 -T 40 1F 00 00 11 08 00 3E 97 18 00 00 21 +T 36 1F 00 00 11 08 00 3E 97 18 00 00 21 R 00 00 01 00 29 08 01 00 -T 46 1F 00 00 97 18 00 00 CD 00 00 00 00 F1 F1 -R 00 00 01 00 00 04 01 00 02 09 0B 00 -T 4D 1F 00 00 F1 DD 75 FC DD 74 FD 01 0E 00 09 +T 3C 1F 00 00 97 18 00 00 CD 00 00 00 00 F1 F1 +R 00 00 01 00 00 04 01 00 02 09 0C 00 +T 43 1F 00 00 F1 DD 75 FC DD 74 FD 01 0E 00 09 R 00 00 01 00 -T 58 1F 00 00 36 30 23 70 DD 4E FC DD 46 FD C5 +T 4E 1F 00 00 36 30 23 70 DD 4E FC DD 46 FD C5 R 00 00 01 00 -T 63 1F 00 00 DD 5E EC 4B DD 56 ED 42 21 1D 00 +T 59 1F 00 00 DD 5E EC 4B DD 56 ED 42 21 1D 00 R 00 00 01 00 -T 6E 1F 00 00 09 4E 23 46 23 7E 69 60 C1 CD +T 64 1F 00 00 09 4E 23 46 23 7E 69 60 C1 CD R 00 00 01 00 -T 78 1F 00 00 00 00 00 00 DD 34 FE 20 03 DD 34 -R 00 00 01 00 02 04 0B 00 -T 81 1F 00 00 FF +T 6E 1F 00 00 00 00 00 00 DD 34 FE 20 03 DD 34 +R 00 00 01 00 02 04 0C 00 +T 77 1F 00 00 FF R 00 00 01 00 -T 82 1F 00 00 +T 78 1F 00 00 R 00 00 01 00 -T 82 1F 00 00 C3 C3 1E 00 00 +T 78 1F 00 00 C3 B9 1E 00 00 R 00 00 01 00 00 05 01 00 -T 85 1F 00 00 +T 7B 1F 00 00 R 00 00 01 00 -T 85 1F 00 00 01 15 00 00 00 DD 5E EC DD 56 ED +T 7B 1F 00 00 01 15 00 00 00 DD 5E EC DD 56 ED R 00 00 01 00 00 05 02 00 -T 8E 1F 00 00 3E 59 06 00 00 21 59 06 00 00 CD +T 84 1F 00 00 3E 59 06 00 00 21 59 06 00 00 CD R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 94 1F 00 00 00 00 00 00 01 FF 00 CD -R 00 00 01 00 02 04 0B 00 -T 9A 1F 00 00 12 20 00 00 01 0E 00 09 36 30 23 +T 8A 1F 00 00 00 00 00 00 01 FF 00 CD +R 00 00 01 00 02 04 0C 00 +T 90 1F 00 00 08 20 00 00 01 0E 00 09 36 30 23 R 00 00 01 00 00 04 01 00 -T A3 1F 00 00 70 0E FE CD 12 20 00 00 EB CD +T 99 1F 00 00 70 0E FE CD 08 20 00 00 EB CD R 00 00 01 00 00 08 01 00 -T AB 1F 00 00 8F 09 00 00 DD 4E EC DD 46 ED C5 +T A1 1F 00 00 8F 09 00 00 DD 4E EC DD 46 ED C5 R 00 00 01 00 00 04 01 00 -T B4 1F 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66 +T AA 1F 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66 R 00 00 01 00 -T BF 1F 00 00 12 01 1D 00 09 4E 23 46 23 7E 69 +T B5 1F 00 00 12 01 1D 00 09 4E 23 46 23 7E 69 R 00 00 01 00 -T CA 1F 00 00 60 C1 CD 00 00 00 00 21 00 00 E5 -R 00 00 01 00 02 07 0B 00 -T D3 1F 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66 +T C0 1F 00 00 60 C1 CD 00 00 00 00 21 00 00 E5 +R 00 00 01 00 02 07 0C 00 +T C9 1F 00 00 FD 5E 11 FD 56 12 FD 6E 11 FD 66 R 00 00 01 00 -T DE 1F 00 00 12 01 17 00 09 4E 23 46 23 7E 69 +T D4 1F 00 00 12 01 17 00 09 4E 23 46 23 7E 69 R 00 00 01 00 -T E9 1F 00 00 60 01 03 01 CD 00 00 00 00 E1 -R 00 00 01 00 02 09 0B 00 -T F1 1F 00 00 +T DF 1F 00 00 60 01 03 01 CD 00 00 00 00 E1 +R 00 00 01 00 02 09 0C 00 +T E7 1F 00 00 R 00 00 01 00 -T F1 1F 00 00 21 10 00 ED 4B 00 00 00 00 09 7E +T E7 1F 00 00 21 10 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 00 09 04 00 -T FA 1F 00 00 23 B6 23 B6 28 0D +T F0 1F 00 00 23 B6 23 B6 28 0D R 00 00 01 00 -T 00 20 00 00 +T F6 1F 00 00 R 00 00 01 00 -T 00 20 00 00 FD E5 D1 21 10 00 ED 4B +T F6 1F 00 00 FD E5 D1 21 10 00 ED 4B R 00 00 01 00 -T 08 20 00 00 00 00 00 00 CD 94 0D 00 00 +T FE 1F 00 00 00 00 00 00 CD 94 0D 00 00 R 00 00 01 00 00 04 04 00 00 09 01 00 -T 0D 20 00 00 +T 03 20 00 00 R 00 00 01 00 -T 0D 20 00 00 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 07 04 00 -T 12 20 00 00 +T 03 20 00 00 FD E1 C3 00 00 00 00 +R 00 00 01 00 02 07 05 00 +T 08 20 00 00 R 00 00 01 00 -T 12 20 00 00 DD 5E EC DD 56 ED 3E 8E 07 00 00 +T 08 20 00 00 DD 5E EC DD 56 ED 3E 8E 07 00 00 R 00 00 01 00 29 0B 01 00 -T 1A 20 00 00 21 8E 07 00 00 C3 00 00 00 00 -R 00 00 01 00 00 05 01 00 02 0A 0B 00 -T 20 20 00 00 +T 10 20 00 00 21 8E 07 00 00 C3 00 00 00 00 +R 00 00 01 00 00 05 01 00 02 0A 0C 00 +T 16 20 00 00 R 00 00 01 00 -T 20 20 00 00 CD 00 00 00 00 F8 FF FD E5 03 0A -R 00 00 01 00 02 05 0E 00 -T 29 20 00 00 DD 77 FE 03 0A DD 77 FF 03 69 60 +T 16 20 00 00 CD 00 00 00 00 F8 FF FD E5 03 0A +R 00 00 01 00 02 05 0F 00 +T 1F 20 00 00 DD 77 FE 03 0A DD 77 FF 03 69 60 R 00 00 01 00 -T 34 20 00 00 4E DD 71 FC 23 46 DD 70 FD DD 6E +T 2A 20 00 00 4E DD 71 FC 23 46 DD 70 FD DD 6E R 00 00 01 00 -T 3F 20 00 00 FE 67 29 EB CD D0 1C 00 00 DD 75 +T 35 20 00 00 FE 67 29 EB CD C6 1C 00 00 DD 75 R 00 00 01 00 00 09 01 00 -T 48 20 00 00 FA DD 74 FB 59 50 CD CE 04 00 00 +T 3E 20 00 00 FA DD 74 FB 59 50 CD CE 04 00 00 R 00 00 01 00 00 0B 01 00 -T 51 20 00 00 C5 4D 44 DD 5E 02 DD 56 03 CD +T 47 20 00 00 C5 4D 44 DD 5E 02 DD 56 03 CD R 00 00 01 00 -T 5B 20 00 00 C8 1C 00 00 F1 11 00 00 AF DD 77 +T 51 20 00 00 BE 1C 00 00 F1 11 00 00 AF DD 77 R 00 00 01 00 00 04 01 00 -T 64 20 00 00 F8 DD 77 F9 +T 5A 20 00 00 F8 DD 77 F9 R 00 00 01 00 -T 68 20 00 00 +T 5E 20 00 00 R 00 00 01 00 -T 68 20 00 00 DD 4E FC DD 46 FD 6B 62 CD +T 5E 20 00 00 DD 4E FC DD 46 FD 6B 62 CD R 00 00 01 00 -T 71 20 00 00 00 00 00 00 30 35 CD E6 20 00 00 -R 00 00 01 00 02 04 0F 00 00 0B 01 00 -T 78 20 00 00 30 30 +T 67 20 00 00 00 00 00 00 30 35 CD DC 20 00 00 +R 00 00 01 00 02 04 10 00 00 0B 01 00 +T 6E 20 00 00 30 30 R 00 00 01 00 -T 7A 20 00 00 +T 70 20 00 00 R 00 00 01 00 -T 7A 20 00 00 +T 70 20 00 00 R 00 00 01 00 -T 7A 20 00 00 +T 70 20 00 00 R 00 00 01 00 -T 7A 20 00 00 23 DD 75 F8 DD 74 F9 2B 29 DD 4E +T 70 20 00 00 23 DD 75 F8 DD 74 F9 2B 29 DD 4E R 00 00 01 00 -T 85 20 00 00 FA DD 46 FB 09 E5 FD E5 E1 19 4D +T 7B 20 00 00 FA DD 46 FB 09 E5 FD E5 E1 19 4D R 00 00 01 00 -T 90 20 00 00 44 E1 71 23 70 +T 86 20 00 00 44 E1 71 23 70 R 00 00 01 00 -T 95 20 00 00 +T 8B 20 00 00 R 00 00 01 00 -T 95 20 00 00 FD E5 E1 19 7E B7 28 03 +T 8B 20 00 00 FD E5 E1 19 7E B7 28 03 R 00 00 01 00 -T 9D 20 00 00 +T 93 20 00 00 R 00 00 01 00 -T 9D 20 00 00 13 18 F5 +T 93 20 00 00 13 18 F5 R 00 00 01 00 -T A0 20 00 00 +T 96 20 00 00 R 00 00 01 00 -T A0 20 00 00 6B 62 13 FD E5 C1 09 77 18 BE +T 96 20 00 00 6B 62 13 FD E5 C1 09 77 18 BE R 00 00 01 00 -T AA 20 00 00 +T A0 20 00 00 R 00 00 01 00 -T AA 20 00 00 CD E6 20 00 00 30 13 +T A0 20 00 00 CD DC 20 00 00 30 13 R 00 00 01 00 00 05 01 00 -T AF 20 00 00 +T A5 20 00 00 R 00 00 01 00 -T AF 20 00 00 29 DD 4E FA DD 46 FB 09 E5 FD E5 +T A5 20 00 00 29 DD 4E FA DD 46 FB 09 E5 FD E5 R 00 00 01 00 -T BA 20 00 00 E1 19 4D 44 E1 71 23 70 +T B0 20 00 00 E1 19 4D 44 E1 71 23 70 R 00 00 01 00 -T C2 20 00 00 +T B8 20 00 00 R 00 00 01 00 -T C2 20 00 00 21 06 00 ED 4B 00 00 00 00 09 FD +T B8 20 00 00 21 06 00 ED 4B 00 00 00 00 09 FD R 00 00 01 00 00 09 04 00 -T CB 20 00 00 E5 C1 71 23 70 21 08 00 ED 4B +T C1 20 00 00 E5 C1 71 23 70 21 08 00 ED 4B R 00 00 01 00 -T D5 20 00 00 00 00 00 00 09 DD 4E FA 71 DD 46 +T CB 20 00 00 00 00 00 00 09 DD 4E FA 71 DD 46 R 00 00 01 00 00 04 04 00 -T DE 20 00 00 FB 23 70 FD E1 C3 00 00 00 00 -R 00 00 01 00 02 0A 04 00 -T E6 20 00 00 +T D4 20 00 00 FB 23 70 FD E1 C3 00 00 00 00 +R 00 00 01 00 02 0A 05 00 +T DC 20 00 00 R 00 00 01 00 -T E6 20 00 00 DD 4E FE DD 46 FF DD 6E F8 DD 66 +T DC 20 00 00 DD 4E FE DD 46 FF DD 6E F8 DD 66 R 00 00 01 00 -T F1 20 00 00 F9 C3 00 00 00 00 -R 00 00 01 00 02 06 0F 00 -T F5 20 00 00 +T E7 20 00 00 F9 C3 00 00 00 00 +R 00 00 01 00 02 06 10 00 +T EB 20 00 00 R 00 00 01 00 -T F5 20 00 00 2A 00 00 00 00 C3 00 00 00 00 +T EB 20 00 00 2A 00 00 00 00 C3 00 00 00 00 R 00 00 01 00 00 05 04 00 02 0A 00 00 -T FB 20 00 00 +T F1 20 00 00 R 00 00 01 00 -T FB 20 00 00 C5 D5 11 13 00 CD D0 1C 00 00 22 +T F1 20 00 00 C5 D5 11 13 00 CD C6 1C 00 00 22 R 00 00 01 00 00 0A 01 00 -T 04 21 00 00 00 00 00 00 AF 77 23 77 21 04 00 +T FA 20 00 00 00 00 00 00 AF 77 23 77 21 04 00 R 00 00 01 00 00 04 04 00 -T 0D 21 00 00 ED 4B 00 00 00 00 09 77 23 77 21 +T 03 21 00 00 ED 4B 00 00 00 00 09 77 23 77 21 R 00 00 01 00 00 06 04 00 -T 16 21 00 00 0A 00 ED 4B 00 00 00 00 09 77 23 +T 0C 21 00 00 0A 00 ED 4B 00 00 00 00 09 77 23 R 00 00 01 00 00 08 04 00 -T 1F 21 00 00 77 21 0C 00 ED 4B 00 00 00 00 09 +T 15 21 00 00 77 21 0C 00 ED 4B 00 00 00 00 09 R 00 00 01 00 00 0A 04 00 -T 28 21 00 00 77 23 77 21 08 00 ED 4B +T 1E 21 00 00 77 23 77 21 08 00 ED 4B R 00 00 01 00 -T 30 21 00 00 00 00 00 00 09 77 23 77 21 06 00 +T 26 21 00 00 00 00 00 00 09 77 23 77 21 06 00 R 00 00 01 00 00 04 04 00 -T 39 21 00 00 ED 4B 00 00 00 00 09 77 23 77 21 +T 2F 21 00 00 ED 4B 00 00 00 00 09 77 23 77 21 R 00 00 01 00 00 06 04 00 -T 42 21 00 00 10 00 ED 4B 00 00 00 00 09 77 23 +T 38 21 00 00 10 00 ED 4B 00 00 00 00 09 77 23 R 00 00 01 00 00 08 04 00 -T 4B 21 00 00 77 23 77 3E 00 00 00 00 21 +T 41 21 00 00 77 23 77 3E 00 00 00 00 21 R 00 00 01 00 29 08 01 00 -T 51 21 00 00 00 00 00 00 CD 00 00 00 00 21 -R 00 00 01 00 00 04 01 00 02 09 0B 00 -T 57 21 00 00 00 00 E5 E5 0E 70 05 00 00 C5 21 +T 47 21 00 00 00 00 00 00 CD 00 00 00 00 21 +R 00 00 01 00 00 04 01 00 02 09 0C 00 +T 4D 21 00 00 00 00 E5 E5 0E 70 05 00 00 C5 21 R 00 00 01 00 29 09 01 00 -T 5F 21 00 00 70 05 00 00 E5 0E 8C 05 00 00 C5 +T 55 21 00 00 70 05 00 00 E5 0E 8C 05 00 00 C5 R 00 00 01 00 00 04 01 00 29 0A 01 00 -T 65 21 00 00 21 8C 05 00 00 E5 11 30 00 CD +T 5B 21 00 00 21 8C 05 00 00 E5 11 30 00 CD R 00 00 01 00 00 05 01 00 -T 6D 21 00 00 1A 22 00 00 21 0C 00 39 F9 21 +T 63 21 00 00 10 22 00 00 21 0C 00 39 F9 21 R 00 00 01 00 00 04 01 00 -T 75 21 00 00 00 00 E5 E5 0E 70 05 00 00 C5 21 +T 6B 21 00 00 00 00 E5 E5 0E 70 05 00 00 C5 21 R 00 00 01 00 29 09 01 00 -T 7D 21 00 00 70 05 00 00 E5 0E 9D 05 00 00 C5 +T 73 21 00 00 70 05 00 00 E5 0E 9D 05 00 00 C5 R 00 00 01 00 00 04 01 00 29 0A 01 00 -T 83 21 00 00 21 9D 05 00 00 E5 11 31 00 CD +T 79 21 00 00 21 9D 05 00 00 E5 11 31 00 CD R 00 00 01 00 00 05 01 00 -T 8B 21 00 00 1A 22 00 00 21 0C 00 39 F9 21 +T 81 21 00 00 10 22 00 00 21 0C 00 39 F9 21 R 00 00 01 00 00 04 01 00 -T 93 21 00 00 00 00 E5 E5 0E 83 05 00 00 C5 21 +T 89 21 00 00 00 00 E5 E5 0E 83 05 00 00 C5 21 R 00 00 01 00 29 09 01 00 -T 9B 21 00 00 83 05 00 00 E5 0E A6 05 00 00 C5 +T 91 21 00 00 83 05 00 00 E5 0E A6 05 00 00 C5 R 00 00 01 00 00 04 01 00 29 0A 01 00 -T A1 21 00 00 21 A6 05 00 00 E5 11 32 00 CD +T 97 21 00 00 21 A6 05 00 00 E5 11 32 00 CD R 00 00 01 00 00 05 01 00 -T A9 21 00 00 1A 22 00 00 21 0C 00 39 F9 21 +T 9F 21 00 00 10 22 00 00 21 0C 00 39 F9 21 R 00 00 01 00 00 04 01 00 -T B1 21 00 00 0E 00 ED 4B 00 00 00 00 09 E5 11 +T A7 21 00 00 0E 00 ED 4B 00 00 00 00 09 E5 11 R 00 00 01 00 00 08 04 00 -T BA 21 00 00 80 00 D5 5A D5 4B 42 3E +T B0 21 00 00 80 00 D5 5A D5 4B 42 3E R 00 00 01 00 -T C2 21 00 00 71 0F 00 00 21 71 0F 00 00 CD +T B8 21 00 00 71 0F 00 00 21 71 0F 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 -T C7 21 00 00 00 00 00 00 F1 F1 4D 44 E1 71 23 -R 00 00 01 00 02 04 0B 00 -T D0 21 00 00 70 21 0E 00 ED 4B 00 00 00 00 09 +T BD 21 00 00 00 00 00 00 F1 F1 4D 44 E1 71 23 +R 00 00 01 00 02 04 0C 00 +T C6 21 00 00 70 21 0E 00 ED 4B 00 00 00 00 09 R 00 00 01 00 00 0A 04 00 -T D9 21 00 00 56 23 66 6A 11 0A 00 19 36 01 23 +T CF 21 00 00 56 23 66 6A 11 0A 00 19 36 01 23 R 00 00 01 00 -T E4 21 00 00 72 21 0E 00 ED 4B 00 00 00 00 09 +T DA 21 00 00 72 21 0E 00 ED 4B 00 00 00 00 09 R 00 00 01 00 00 0A 04 00 -T ED 21 00 00 56 23 66 6A 11 17 00 19 36 +T E3 21 00 00 56 23 66 6A 11 17 00 19 36 R 00 00 01 00 -T F6 21 00 00 F0 18 00 00 23 36 F0 18 00 00 23 +T EC 21 00 00 F0 18 00 00 23 36 F0 18 00 00 23 R 00 00 01 00 09 04 01 00 89 0A 01 00 -T FB 21 00 00 36 F0 18 00 00 21 0E 00 ED 4B +T F1 21 00 00 36 F0 18 00 00 21 0E 00 ED 4B R 00 00 01 00 29 05 01 00 -T 02 22 00 00 00 00 00 00 09 46 23 66 68 01 +T F8 21 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 00 04 04 00 -T 0A 22 00 00 1A 00 09 36 2C 0F 00 00 23 36 +T 00 22 00 00 1A 00 09 36 2C 0F 00 00 23 36 R 00 00 01 00 09 08 01 00 -T 11 22 00 00 2C 0F 00 00 23 36 2C 0F 00 00 D1 +T 07 22 00 00 2C 0F 00 00 23 36 2C 0F 00 00 D1 R 00 00 01 00 89 04 01 00 29 0A 01 00 -T 16 22 00 00 C1 C3 00 00 00 00 +T 0C 22 00 00 C1 C3 00 00 00 00 R 00 00 01 00 02 06 00 00 -T 1A 22 00 00 +T 10 22 00 00 R 00 00 01 00 -T 1A 22 00 00 3E 33 04 00 00 21 33 04 00 00 C3 +T 10 22 00 00 3E 33 04 00 00 21 33 04 00 00 C3 R 00 00 01 00 29 05 01 00 00 0A 01 00 -T 20 22 00 00 00 00 00 00 -R 00 00 01 00 02 04 0B 00 -T 22 22 00 00 +T 16 22 00 00 00 00 00 00 +R 00 00 01 00 02 04 0C 00 +T 18 22 00 00 R 00 00 01 00 -T 22 22 00 00 C5 D5 21 0E 00 ED 4B 00 00 00 00 +T 18 22 00 00 C5 D5 21 0E 00 ED 4B 00 00 00 00 R 00 00 01 00 00 0B 04 00 -T 2B 22 00 00 09 5E 23 56 CD 8F 09 00 00 3E +T 21 22 00 00 09 5E 23 56 CD 8F 09 00 00 3E R 00 00 01 00 00 09 01 00 -T 33 22 00 00 BD 02 00 00 21 BD 02 00 00 CD +T 29 22 00 00 BD 02 00 00 21 BD 02 00 00 CD R 00 00 01 00 29 04 01 00 00 09 01 00 -T 38 22 00 00 00 00 00 00 3E 8E 00 00 00 21 -R 00 00 01 00 02 04 0B 00 29 09 01 00 -T 3D 22 00 00 8E 00 00 00 CD 00 00 00 00 D1 C1 -R 00 00 01 00 00 04 01 00 02 09 0B 00 -T 44 22 00 00 C3 00 00 00 00 +T 2E 22 00 00 00 00 00 00 3E 8E 00 00 00 21 +R 00 00 01 00 02 04 0C 00 29 09 01 00 +T 33 22 00 00 8E 00 00 00 CD 00 00 00 00 D1 C1 +R 00 00 01 00 00 04 01 00 02 09 0C 00 +T 3A 22 00 00 C3 00 00 00 00 R 00 00 01 00 02 05 00 00 -T 47 22 00 00 +T 3D 22 00 00 R 00 00 01 00 -T 47 22 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD -R 00 00 01 00 02 05 0E 00 -T 50 22 00 00 46 03 21 0E 00 ED 5B 00 00 00 00 +T 3D 22 00 00 CD 00 00 00 00 FE FF DD 4E 02 DD +R 00 00 01 00 02 05 0F 00 +T 46 22 00 00 46 03 21 0E 00 ED 5B 00 00 00 00 R 00 00 01 00 00 0B 04 00 -T 59 22 00 00 19 5E 23 56 3E 0E 19 00 00 21 +T 4F 22 00 00 19 5E 23 56 3E 0E 19 00 00 21 R 00 00 01 00 29 09 01 00 -T 60 22 00 00 0E 19 00 00 CD 00 00 00 00 -R 00 00 01 00 00 04 01 00 02 09 0B 00 -T 65 22 00 00 -R 00 00 01 00 -T 65 22 00 00 21 01 00 E5 23 39 CD BE 1C 00 00 -R 00 00 01 00 00 0B 01 00 -T 6E 22 00 00 F1 3E 01 AD B4 28 F0 -R 00 00 01 00 -T 75 22 00 00 +T 56 22 00 00 0E 19 00 00 CD 00 00 00 00 +R 00 00 01 00 00 04 01 00 02 09 0C 00 +T 5B 22 00 00 R 00 00 01 00 -T 75 22 00 00 -R 00 00 01 00 -T 75 22 00 00 -R 00 00 01 00 -T 75 22 00 00 21 04 00 ED 4B 00 00 00 00 09 7E +T 5B 22 00 00 21 04 00 ED 4B 00 00 00 00 09 7E R 00 00 01 00 00 09 04 00 -T 7E 22 00 00 23 B6 20 77 +T 64 22 00 00 23 B6 C2 FB 22 00 00 +R 00 00 01 00 00 07 01 00 +T 69 22 00 00 R 00 00 01 00 -T 82 22 00 00 +T 69 22 00 00 21 01 00 E5 23 39 4D 44 2A R 00 00 01 00 -T 82 22 00 00 21 01 00 E5 23 39 CD BE 1C 00 00 -R 00 00 01 00 00 0B 01 00 -T 8B 22 00 00 F1 3E 01 AD B4 20 E3 -R 00 00 01 00 -T 92 22 00 00 +T 72 22 00 00 00 00 00 00 23 23 5E 23 56 CD +R 00 00 01 00 00 04 04 00 +T 7A 22 00 00 BE 1C 00 00 F1 3E 01 AD B4 20 D8 +R 00 00 01 00 00 04 01 00 +T 83 22 00 00 R 00 00 01 00 -T 92 22 00 00 DD B6 FE 28 2B +T 83 22 00 00 DD 4E FE 47 C5 21 21 00 00 00 E5 +R 00 00 01 00 00 0A 02 00 +T 8C 22 00 00 3E 00 00 00 00 21 00 00 00 00 CD +R 00 00 01 00 2B 05 04 00 02 0A 04 00 +T 92 22 00 00 00 00 00 00 F1 F1 AF DD B6 FE 28 +R 00 00 01 00 02 04 0C 00 +T 9B 22 00 00 29 R 00 00 01 00 -T 97 22 00 00 +T 9C 22 00 00 R 00 00 01 00 -T 97 22 00 00 4F 06 00 C5 21 0E 00 ED 5B +T 9C 22 00 00 4F C5 21 0E 00 ED 5B 00 00 00 00 +R 00 00 01 00 00 0B 04 00 +T A5 22 00 00 19 5E 23 56 21 0E 00 ED 4B R 00 00 01 00 -T A0 22 00 00 00 00 00 00 19 5E 23 56 21 0E 00 +T AE 22 00 00 00 00 00 00 09 46 23 66 68 01 R 00 00 01 00 00 04 04 00 -T A9 22 00 00 ED 4B 00 00 00 00 09 46 23 66 68 -R 00 00 01 00 00 06 04 00 -T B2 22 00 00 01 17 00 09 4E 23 46 23 7E 69 60 +T B6 22 00 00 17 00 09 4E 23 46 23 7E 69 60 01 R 00 00 01 00 -T BD 22 00 00 01 01 00 18 2A +T C1 22 00 00 01 00 18 29 R 00 00 01 00 -T C2 22 00 00 +T C5 22 00 00 R 00 00 01 00 -T C2 22 00 00 DD 4E FF 47 C5 21 0E 00 ED 5B +T C5 22 00 00 DD 4E FF C5 21 0E 00 ED 5B R 00 00 01 00 -T CC 22 00 00 00 00 00 00 19 5E 23 56 21 0E 00 +T CE 22 00 00 00 00 00 00 19 5E 23 56 21 0E 00 R 00 00 01 00 00 04 04 00 -T D5 22 00 00 ED 4B 00 00 00 00 09 46 23 66 68 +T D7 22 00 00 ED 4B 00 00 00 00 09 46 23 66 68 R 00 00 01 00 00 06 04 00 -T DE 22 00 00 01 17 00 09 4E 23 46 23 7E 69 60 +T E0 22 00 00 01 17 00 09 4E 23 46 23 7E 69 60 R 00 00 01 00 -T E9 22 00 00 01 02 00 +T EB 22 00 00 01 02 00 R 00 00 01 00 -T EC 22 00 00 +T EE 22 00 00 R 00 00 01 00 -T EC 22 00 00 CD 00 00 00 00 E1 -R 00 00 01 00 02 05 0B 00 -T F0 22 00 00 +T EE 22 00 00 CD 00 00 00 00 E1 +R 00 00 01 00 02 05 0C 00 +T F2 22 00 00 R 00 00 01 00 -T F0 22 00 00 DD 46 FE DD 70 FF +T F2 22 00 00 DD 46 FE DD 70 FF R 00 00 01 00 -T F6 22 00 00 +T F8 22 00 00 R 00 00 01 00 -T F6 22 00 00 C3 75 22 00 00 +T F8 22 00 00 C3 5B 22 00 00 R 00 00 01 00 00 05 01 00 -T F9 22 00 00 +T FB 22 00 00 R 00 00 01 00 -T F9 22 00 00 C3 00 00 00 00 -R 00 00 01 00 02 05 04 00 +T FB 22 00 00 C3 00 00 00 00 +R 00 00 01 00 02 05 05 00 T 00 00 00 00 R 00 00 02 00 T 00 00 00 00 2F 64 65 76 2F 6C 63 64 30 00 @@ -3385,6 +3378,10 @@ T 15 00 00 00 4D 65 73 73 61 67 65 20 42 6F 78 R 00 00 02 00 T 20 00 00 00 00 R 00 00 02 00 +T 21 00 00 00 +R 00 00 02 00 +T 21 00 00 00 30 78 25 30 32 78 0A 00 +R 00 00 02 00 T 00 00 00 00 R 00 00 03 00 T 00 00 00 00 1B 4B diff --git a/src/gui/wnd.rst b/src/gui/wnd.rst new file mode 100644 index 00000000..f0537c05 --- /dev/null +++ b/src/gui/wnd.rst @@ -0,0 +1,5341 @@ + 1 NAME wnd(17) + 2 RSEG CODE(0) + 3 RSEG CSTR(0) + 4 RSEG CONST(0) + 5 RSEG UDATA0(0) + 6 PUBLIC Button_add + 7 PUBLIC Button_drawtext + 8 PUBLIC Button_handler + 9 PUBLIC Button_new + 10 PUBLIC Button_paint + 11 PUBLIC ClearRect + 12 PUBLIC ClearScreen + 13 PUBLIC Component_add + 14 PUBLIC Component_changestate_children + 15 PUBLIC Component_delete + 16 PUBLIC Component_delete_children + 17 PUBLIC Component_find + 18 PUBLIC Component_findXY + 19 PUBLIC Component_linkstringtable + 20 PUBLIC Component_new + 21 PUBLIC Component_paint + 22 PUBLIC Component_setlabel + 23 PUBLIC Dialog_handler + 24 PUBLIC Dialog_new + 25 PUBLIC Display_handler + 26 PUBLIC Display_new + 27 PUBLIC Display_paint + 28 PUBLIC DrawRectNC + 29 PUBLIC EnableScreen + 30 PUBLIC FillRect + 31 PUBLIC FillRectNC + 32 PUBLIC GUIgo + 33 PUBLIC GUIinit + 34 PUBLIC GUIunit + 35 PUBLIC GraphicsClose + 36 PUBLIC GraphicsOpen + 37 PUBLIC GrayRect + 38 PUBLIC Label_handler + 39 PUBLIC Label_new + 40 PUBLIC Label_paint + 41 PUBLIC Move + 42 PUBLIC Root_paint + 43 PUBLIC Text + 44 PUBLIC ToggleButton_handler + 45 PUBLIC ToggleButton_new + 46 PUBLIC ToggleButton_paint + 47 PUBLIC TouchRegion + 48 PUBLIC Window_add + 49 PUBLIC Window_handler + 50 PUBLIC Window_new + 51 PUBLIC Window_paint + 52 EXTERN _read + 53 EXTERN _write + 54 EXTERN close + 55 EXTERN fflush + 56 PUBLIC fontSearch + 57 EXTERN free + 58 PUBLIC global + 59 PUBLIC grSetFont + 60 PUBLIC gui_globals + 61 EXTERN ioctl + 62 PUBLIC loadFont + 63 EXTERN malloc + 64 EXTERN open + 65 EXTERN printf + 66 PUBLIC read_stringtable + 67 PUBLIC rootWindow_handler + 68 PUBLIC root_actionhandler + 69 PUBLIC screenbuilder + 70 PUBLIC setCurrentFont + 71 EXTERN stdout + 72 PUBLIC stringheight + 73 PUBLIC stringheight01 + 74 PUBLIC stringheight2 + 75 PUBLIC stringwidth + 76 PUBLIC stringwidth0 + 77 PUBLIC stringwidth1 + 78 PUBLIC stringwidth2 + 79 EXTERN strlen + 80 EXTERN ?CL64180B_4_06_L00 + 81 EXTERN ?SS_RSH_L02 + 82 EXTERN ?SS_DIV_L02 + 83 EXTERN ?S_MUL_L02 + 84 EXTERN ?SS_CMP_L02 + 85 EXTERN ?SL_RSH_L03 + 86 EXTERN ?C_V_SWITCH_L06 + 87 EXTERN ?S_V_SWITCH_L06 + 88 EXTERN ?BANK_CALL_DIRECT_L08 + 89 EXTERN ?BANK_LEAVE_DIRECT_L08 + 90 EXTERN ?BANK_FAST_LEAVE_L08 + 91 EXTERN ?ENT_PARM_DIRECT_L09 + 92 EXTERN ?ENT_AUTO_DIRECT_L09 + 93 RSEG CODE + 00004648 94 GraphicsOpen: + 00004648 CD 7A 82 95 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 0000464B F8 FF 96 DEFW 65528 + 0000464D 21 06 00 97 LD HL,6 + 00004650 39 98 ADD HL,SP + 00004651 EB 99 EX DE,HL + 00004652 21 AF 84 100 LD HL,?0000 + 00004655 01 02 00 101 LD BC,2 + 00004658 ED B0 102 LDIR + 0000465A 2A 3F 87 103 LD HL,(global) + 0000465D 23 104 INC HL + 0000465E 23 105 INC HL + 0000465F E5 106 PUSH HL + 00004660 03 107 INC BC + 00004661 03 108 INC BC + 00004662 C5 109 PUSH BC + 00004663 01 E3 84 110 LD BC,?0001 + 00004666 C5 111 PUSH BC + 00004667 3E 00 112 LD A,BYTE3 open + 00004669 21 CD 7E 113 LD HL,LWRD open + 0000466C CD FB 81 114 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000466F F1 115 POP AF + 00004670 F1 116 POP AF + 00004671 4D 117 LD C,L + 00004672 44 118 LD B,H + 00004673 E1 119 POP HL + 00004674 71 120 LD (HL),C + 00004675 23 121 INC HL + 00004676 70 122 LD (HL),B + 00004677 21 00 00 123 LD HL,0 + 0000467A 39 124 ADD HL,SP + 0000467B E5 125 PUSH HL + 0000467C 21 00 00 126 LD HL,0 + 0000467F E5 127 PUSH HL + 00004680 2A 3F 87 128 LD HL,(global) + 00004683 23 129 INC HL + 00004684 23 130 INC HL + 00004685 4E 131 LD C,(HL) + 00004686 23 132 INC HL + 00004687 46 133 LD B,(HL) + 00004688 C5 134 PUSH BC + 00004689 3E 00 135 LD A,BYTE3 ioctl + 0000468B 21 E2 73 136 LD HL,LWRD ioctl + 0000468E CD FB 81 137 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004691 F1 138 POP AF + 00004692 F1 139 POP AF + 00004693 F1 140 POP AF + 00004694 DD 36 FC 60 141 LD (IX-4),96 + 00004698 DD 36 FD 00 142 LD (IX-3),0 + 0000469C 21 00 00 143 LD HL,0 + 0000469F 39 144 ADD HL,SP + 000046A0 E5 145 PUSH HL + 000046A1 21 01 00 146 LD HL,1 + 000046A4 E5 147 PUSH HL + 000046A5 2A 3F 87 148 LD HL,(global) + 000046A8 23 149 INC HL + 000046A9 23 150 INC HL + 000046AA 4E 151 LD C,(HL) + 000046AB 23 152 INC HL + 000046AC 46 153 LD B,(HL) + 000046AD C5 154 PUSH BC + 000046AE 3E 00 155 LD A,BYTE3 ioctl + 000046B0 21 E2 73 156 LD HL,LWRD ioctl + 000046B3 CD FB 81 157 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000046B6 F1 158 POP AF + 000046B7 F1 159 POP AF + 000046B8 F1 160 POP AF + 000046B9 21 02 00 161 LD HL,2 + 000046BC E5 162 PUSH HL + 000046BD 2E 08 163 LD L,8 + 000046BF 164 ?0372: + 000046BF 39 165 ADD HL,SP + 000046C0 4D 166 LD C,L + 000046C1 167 ?0427: + 000046C1 44 168 LD B,H + 000046C2 2A 3F 87 169 LD HL,(global) + 000046C5 170 ?0428: + 000046C5 23 171 INC HL + 000046C6 23 172 INC HL + 000046C7 173 ?0429: + 000046C7 5E 174 LD E,(HL) + 000046C8 23 175 INC HL + 000046C9 176 ?0430: + 000046C9 56 177 LD D,(HL) + 000046CA 3E 00 178 LD A,BYTE3 _write + 000046CC 179 ?0431: + 000046CC 21 72 72 180 LD HL,LWRD _write + 000046CF CD FB 81 181 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000046D2 F1 182 POP AF + 000046D3 C3 A3 81 183 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000046D6 184 GraphicsClose: + 000046D6 D5 185 PUSH DE + 000046D7 2A 3F 87 186 LD HL,(global) + 000046DA 23 187 INC HL + 000046DB 23 188 INC HL + 000046DC 5E 189 LD E,(HL) + 000046DD 23 190 INC HL + 000046DE 56 191 LD D,(HL) + 000046DF 3E 00 192 LD A,BYTE3 close + 000046E1 21 96 73 193 LD HL,LWRD close + 000046E4 CD FB 81 194 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000046E7 D1 195 POP DE + 000046E8 C3 A9 81 196 JP LWRD ?BANK_FAST_LEAVE_L08 + 000046EB 197 Move: + 000046EB CD 7A 82 198 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000046EE FC FF 199 DEFW 65532 + 000046F0 21 00 00 200 LD HL,0 + 000046F3 39 201 ADD HL,SP + 000046F4 EB 202 EX DE,HL + 000046F5 21 B1 84 203 LD HL,?0002 + 000046F8 01 04 00 204 LD BC,4 + 000046FB ED B0 205 LDIR + 000046FD DD 46 02 206 LD B,(IX+2) + 00004700 DD 70 FE 207 LD (IX-2),B + 00004703 DD 46 04 208 LD B,(IX+4) + 00004706 DD 70 FF 209 LD (IX-1),B + 00004709 21 04 00 210 LD HL,4 + 0000470C E5 211 PUSH HL + 0000470D 2B 212 DEC HL + 0000470E 2B 213 DEC HL + 0000470F C3 BF 46 214 JP LWRD ?0372 + 00004712 4D 215 LD C,L + 00004713 216 ?0381: + 00004713 C3 C1 46 217 JP LWRD ?0427 + 00004716 2A 3F 87 218 LD HL,(global) + 00004719 23 219 INC HL + 0000471A 23 220 INC HL + 0000471B 221 ?0432: + 0000471B 5E 222 LD E,(HL) + 0000471C 23 223 INC HL + 0000471D 224 ?0433: + 0000471D 56 225 LD D,(HL) + 0000471E 3E 00 226 LD A,BYTE3 _write + 00004720 227 ?0434: + 00004720 C3 CC 46 228 JP LWRD ?0431 + 00004723 CD FB 81 229 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004726 F1 230 POP AF + 00004727 C3 A3 81 231 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000472A 232 ClearRect: + 0000472A CD 7A 82 233 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 0000472D FC FF 234 DEFW 65532 + 0000472F 21 00 00 235 LD HL,0 + 00004732 39 236 ADD HL,SP + 00004733 EB 237 EX DE,HL + 00004734 21 B5 84 238 LD HL,?0003 + 00004737 01 04 00 239 LD BC,4 + 0000473A ED B0 240 LDIR + 0000473C DD 46 02 241 LD B,(IX+2) + 0000473F DD 70 FE 242 LD (IX-2),B + 00004742 DD 46 04 243 LD B,(IX+4) + 00004745 DD 70 FF 244 LD (IX-1),B + 00004748 21 04 00 245 LD HL,4 + 0000474B E5 246 PUSH HL + 0000474C 2B 247 DEC HL + 0000474D 2B 248 DEC HL + 0000474E C3 BF 46 249 JP LWRD ?0372 + 00004751 4D 250 LD C,L + 00004752 C3 13 47 251 JP LWRD ?0381 + 00004755 2A 3F 87 252 LD HL,(global) + 00004758 253 ?0389: + 00004758 C3 C5 46 254 JP LWRD ?0428 + 0000475B 23 255 INC HL + 0000475C C3 1B 47 256 JP LWRD ?0432 + 0000475F 23 257 INC HL + 00004760 56 258 LD D,(HL) + 00004761 3E 00 259 LD A,BYTE3 _write + 00004763 260 ?0435: + 00004763 C3 CC 46 261 JP LWRD ?0431 + 00004766 CD FB 81 262 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004769 F1 263 POP AF + 0000476A C3 A3 81 264 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000476D 265 DrawRectNC: + 0000476D CD 7A 82 266 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00004770 FC FF 267 DEFW 65532 + 00004772 21 00 00 268 LD HL,0 + 00004775 39 269 ADD HL,SP + 00004776 EB 270 EX DE,HL + 00004777 21 B9 84 271 LD HL,?0004 + 0000477A 01 04 00 272 LD BC,4 + 0000477D ED B0 273 LDIR + 0000477F DD 46 02 274 LD B,(IX+2) + 00004782 DD 70 FE 275 LD (IX-2),B + 00004785 DD 46 04 276 LD B,(IX+4) + 00004788 DD 70 FF 277 LD (IX-1),B + 0000478B 21 04 00 278 LD HL,4 + 0000478E E5 279 PUSH HL + 0000478F 2B 280 DEC HL + 00004790 2B 281 DEC HL + 00004791 C3 BF 46 282 JP LWRD ?0372 + 00004794 4D 283 LD C,L + 00004795 C3 13 47 284 JP LWRD ?0381 + 00004798 2A 3F 87 285 LD HL,(global) + 0000479B C3 58 47 286 JP LWRD ?0389 + 0000479E 23 287 INC HL + 0000479F 288 ?0396: + 0000479F C3 C7 46 289 JP LWRD ?0429 + 000047A2 23 290 INC HL + 000047A3 C3 1D 47 291 JP LWRD ?0433 + 000047A6 3E 00 292 LD A,BYTE3 _write + 000047A8 C3 63 47 293 JP LWRD ?0435 + 000047AB CD FB 81 294 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000047AE F1 295 POP AF + 000047AF C3 A3 81 296 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000047B2 297 FillRect: + 000047B2 CD 7A 82 298 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000047B5 FC FF 299 DEFW 65532 + 000047B7 21 00 00 300 LD HL,0 + 000047BA 39 301 ADD HL,SP + 000047BB EB 302 EX DE,HL + 000047BC 21 BD 84 303 LD HL,?0005 + 000047BF 01 04 00 304 LD BC,4 + 000047C2 ED B0 305 LDIR + 000047C4 DD 46 02 306 LD B,(IX+2) + 000047C7 DD 70 FE 307 LD (IX-2),B + 000047CA DD 46 04 308 LD B,(IX+4) + 000047CD DD 70 FF 309 LD (IX-1),B + 000047D0 21 04 00 310 LD HL,4 + 000047D3 E5 311 PUSH HL + 000047D4 2B 312 DEC HL + 000047D5 2B 313 DEC HL + 000047D6 C3 BF 46 314 JP LWRD ?0372 + 000047D9 4D 315 LD C,L + 000047DA C3 13 47 316 JP LWRD ?0381 + 000047DD 2A 3F 87 317 LD HL,(global) + 000047E0 C3 58 47 318 JP LWRD ?0389 + 000047E3 23 319 INC HL + 000047E4 C3 9F 47 320 JP LWRD ?0396 + 000047E7 23 321 INC HL + 000047E8 322 ?0402: + 000047E8 C3 C9 46 323 JP LWRD ?0430 + 000047EB 3E 00 324 LD A,BYTE3 _write + 000047ED C3 20 47 325 JP LWRD ?0434 + 000047F0 CD FB 81 326 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000047F3 F1 327 POP AF + 000047F4 C3 A3 81 328 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000047F7 329 FillRectNC: + 000047F7 CD 7A 82 330 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000047FA FC FF 331 DEFW 65532 + 000047FC 21 00 00 332 LD HL,0 + 000047FF 39 333 ADD HL,SP + 00004800 EB 334 EX DE,HL + 00004801 21 C1 84 335 LD HL,?0006 + 00004804 01 04 00 336 LD BC,4 + 00004807 ED B0 337 LDIR + 00004809 DD 46 02 338 LD B,(IX+2) + 0000480C DD 70 FE 339 LD (IX-2),B + 0000480F DD 46 04 340 LD B,(IX+4) + 00004812 DD 70 FF 341 LD (IX-1),B + 00004815 21 04 00 342 LD HL,4 + 00004818 E5 343 PUSH HL + 00004819 2B 344 DEC HL + 0000481A 2B 345 DEC HL + 0000481B C3 BF 46 346 JP LWRD ?0372 + 0000481E 4D 347 LD C,L + 0000481F C3 13 47 348 JP LWRD ?0381 + 00004822 2A 3F 87 349 LD HL,(global) + 00004825 C3 58 47 350 JP LWRD ?0389 + 00004828 23 351 INC HL + 00004829 C3 9F 47 352 JP LWRD ?0396 + 0000482C 23 353 INC HL + 0000482D C3 E8 47 354 JP LWRD ?0402 + 00004830 3E 00 355 LD A,BYTE3 _write + 00004832 356 ?0407: + 00004832 C3 CC 46 357 JP LWRD ?0431 + 00004835 CD FB 81 358 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004838 F1 359 POP AF + 00004839 C3 A3 81 360 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000483C 361 GrayRect: + 0000483C CD 7A 82 362 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 0000483F FC FF 363 DEFW 65532 + 00004841 21 00 00 364 LD HL,0 + 00004844 39 365 ADD HL,SP + 00004845 EB 366 EX DE,HL + 00004846 21 C5 84 367 LD HL,?0007 + 00004849 01 04 00 368 LD BC,4 + 0000484C ED B0 369 LDIR + 0000484E DD 46 02 370 LD B,(IX+2) + 00004851 DD 70 FE 371 LD (IX-2),B + 00004854 DD 46 04 372 LD B,(IX+4) + 00004857 DD 70 FF 373 LD (IX-1),B + 0000485A 21 04 00 374 LD HL,4 + 0000485D E5 375 PUSH HL + 0000485E 2B 376 DEC HL + 0000485F 2B 377 DEC HL + 00004860 C3 BF 46 378 JP LWRD ?0372 + 00004863 4D 379 LD C,L + 00004864 C3 13 47 380 JP LWRD ?0381 + 00004867 2A 3F 87 381 LD HL,(global) + 0000486A C3 58 47 382 JP LWRD ?0389 + 0000486D 23 383 INC HL + 0000486E C3 9F 47 384 JP LWRD ?0396 + 00004871 23 385 INC HL + 00004872 C3 E8 47 386 JP LWRD ?0402 + 00004875 3E 00 387 LD A,BYTE3 _write + 00004877 C3 32 48 388 JP LWRD ?0407 + 0000487A CD FB 81 389 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000487D F1 390 POP AF + 0000487E C3 A3 81 391 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004881 392 Text: + 00004881 C5 393 PUSH BC + 00004882 FD E5 394 PUSH IY + 00004884 DD E5 395 PUSH IX + 00004886 D5 396 PUSH DE + 00004887 DD E1 397 POP IX + 00004889 3E 00 398 LD A,BYTE3 strlen + 0000488B 21 AB 73 399 LD HL,LWRD strlen + 0000488E CD FB 81 400 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004891 E5 401 PUSH HL + 00004892 DD E5 402 PUSH IX + 00004894 C1 403 POP BC + 00004895 2A 3F 87 404 LD HL,(global) + 00004898 23 405 INC HL + 00004899 23 406 INC HL + 0000489A 5E 407 LD E,(HL) + 0000489B 23 408 INC HL + 0000489C 56 409 LD D,(HL) + 0000489D 3E 00 410 LD A,BYTE3 _write + 0000489F 21 72 72 411 LD HL,LWRD _write + 000048A2 CD FB 81 412 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000048A5 F1 413 POP AF + 000048A6 414 ?0411: + 000048A6 DD E1 415 POP IX + 000048A8 FD E1 416 POP IY + 000048AA C1 417 POP BC + 000048AB C3 A9 81 418 JP LWRD ?BANK_FAST_LEAVE_L08 + 000048AE 419 TouchRegion: + 000048AE CD 7A 82 420 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000048B1 F8 FF 421 DEFW 65528 + 000048B3 21 00 00 422 LD HL,0 + 000048B6 39 423 ADD HL,SP + 000048B7 EB 424 EX DE,HL + 000048B8 21 C9 84 425 LD HL,?0008 + 000048BB 01 07 00 426 LD BC,7 + 000048BE ED B0 427 LDIR + 000048C0 DD 46 02 428 LD B,(IX+2) + 000048C3 DD 70 FA 429 LD (IX-6),B + 000048C6 DD 46 04 430 LD B,(IX+4) + 000048C9 DD 70 FB 431 LD (IX-5),B + 000048CC DD 46 0A 432 LD B,(IX+10) + 000048CF DD 70 FC 433 LD (IX-4),B + 000048D2 DD 46 0C 434 LD B,(IX+12) + 000048D5 DD 70 FD 435 LD (IX-3),B + 000048D8 DD 46 0E 436 LD B,(IX+14) + 000048DB DD 70 FE 437 LD (IX-2),B + 000048DE 21 07 00 438 LD HL,7 + 000048E1 E5 439 PUSH HL + 000048E2 2E 02 440 LD L,2 + 000048E4 C3 BF 46 441 JP LWRD ?0372 + 000048E7 4D 442 LD C,L + 000048E8 C3 13 47 443 JP LWRD ?0381 + 000048EB 2A 3F 87 444 LD HL,(global) + 000048EE C3 58 47 445 JP LWRD ?0389 + 000048F1 23 446 INC HL + 000048F2 C3 9F 47 447 JP LWRD ?0396 + 000048F5 23 448 INC HL + 000048F6 C3 E8 47 449 JP LWRD ?0402 + 000048F9 3E 00 450 LD A,BYTE3 _write + 000048FB C3 32 48 451 JP LWRD ?0407 + 000048FE CD FB 81 452 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004901 F1 453 POP AF + 00004902 C3 A3 81 454 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004905 455 ClearScreen: + 00004905 C5 456 PUSH BC + 00004906 D5 457 PUSH DE + 00004907 CD 1F 49 458 CALL LWRD ?0461 + 0000490A CD FB 81 459 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000490D 21 80 00 460 LD HL,128 + 00004910 E5 461 PUSH HL + 00004911 6C 462 LD L,H + 00004912 E5 463 PUSH HL + 00004913 E5 464 PUSH HL + 00004914 CD 37 49 465 CALL LWRD ?0470 + 00004917 E1 466 POP HL + 00004918 E1 467 POP HL + 00004919 E1 468 POP HL + 0000491A D1 469 POP DE + 0000491B C1 470 POP BC + 0000491C C3 A9 81 471 JP LWRD ?BANK_FAST_LEAVE_L08 + 0000491F 472 ?0461: + 0000491F 01 00 00 473 LD BC,0 + 00004922 59 474 LD E,C + 00004923 50 475 LD D,B + 00004924 3E 00 476 LD A,BYTE3 Move + 00004926 21 EB 46 477 LD HL,LWRD Move + 00004929 CD FB 81 478 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000492C 01 80 00 479 LD BC,128 + 0000492F 58 480 LD E,B + 00004930 50 481 LD D,B + 00004931 3E 00 482 LD A,BYTE3 ClearRect + 00004933 21 2A 47 483 LD HL,LWRD ClearRect + 00004936 C9 484 RET + 00004937 485 ?0470: + 00004937 4D 486 LD C,L + 00004938 44 487 LD B,H + 00004939 EB 488 EX DE,HL + 0000493A 489 ?0471: + 0000493A 3E 00 490 LD A,BYTE3 TouchRegion + 0000493C 21 AE 48 491 LD HL,LWRD TouchRegion + 0000493F C3 FB 81 492 JP LWRD ?BANK_CALL_DIRECT_L08 + 00004942 493 EnableScreen: + 00004942 CD 7A 82 494 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00004945 FC FF 495 DEFW 65532 + 00004947 21 00 00 496 LD HL,0 + 0000494A 39 497 ADD HL,SP + 0000494B EB 498 EX DE,HL + 0000494C 21 D0 84 499 LD HL,?0009 + 0000494F 01 03 00 500 LD BC,3 + 00004952 ED B0 501 LDIR + 00004954 DD 46 02 502 LD B,(IX+2) + 00004957 DD 70 FE 503 LD (IX-2),B + 0000495A 21 03 00 504 LD HL,3 + 0000495D E5 505 PUSH HL + 0000495E 2B 506 DEC HL + 0000495F C3 BF 46 507 JP LWRD ?0372 + 00004962 4D 508 LD C,L + 00004963 C3 13 47 509 JP LWRD ?0381 + 00004966 2A 3F 87 510 LD HL,(global) + 00004969 C3 58 47 511 JP LWRD ?0389 + 0000496C 23 512 INC HL + 0000496D C3 9F 47 513 JP LWRD ?0396 + 00004970 23 514 INC HL + 00004971 C3 E8 47 515 JP LWRD ?0402 + 00004974 3E 00 516 LD A,BYTE3 _write + 00004976 C3 32 48 517 JP LWRD ?0407 + 00004979 CD FB 81 518 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000497C F1 519 POP AF + 0000497D C3 A3 81 520 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004980 521 grSetFont: + 00004980 CD 7A 82 522 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00004983 FE FF 523 DEFW 65534 + 00004985 21 00 00 524 LD HL,0 + 00004988 39 525 ADD HL,SP + 00004989 EB 526 EX DE,HL + 0000498A 21 D3 84 527 LD HL,?0010 + 0000498D 01 02 00 528 LD BC,2 + 00004990 ED B0 529 LDIR + 00004992 DD 46 02 530 LD B,(IX+2) + 00004995 DD 70 FF 531 LD (IX-1),B + 00004998 21 02 00 532 LD HL,2 + 0000499B E5 533 PUSH HL + 0000499C C3 BF 46 534 JP LWRD ?0372 + 0000499F 4D 535 LD C,L + 000049A0 C3 13 47 536 JP LWRD ?0381 + 000049A3 2A 3F 87 537 LD HL,(global) + 000049A6 C3 58 47 538 JP LWRD ?0389 + 000049A9 23 539 INC HL + 000049AA C3 9F 47 540 JP LWRD ?0396 + 000049AD 23 541 INC HL + 000049AE C3 E8 47 542 JP LWRD ?0402 + 000049B1 3E 00 543 LD A,BYTE3 _write + 000049B3 C3 32 48 544 JP LWRD ?0407 + 000049B6 CD FB 81 545 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000049B9 F1 546 POP AF + 000049BA C3 A3 81 547 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000049BD 548 fontSearch: + 000049BD CD 7A 82 549 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000049C0 00 00 550 DEFW 0 + 000049C2 21 0C 00 551 LD HL,12 + 000049C5 ED 4B 3F 87 552 LD BC,(global) + 000049C9 09 553 ADD HL,BC + 000049CA 554 ?0321: + 000049CA 46 555 LD B,(HL) + 000049CB 23 556 INC HL + 000049CC 66 557 LD H,(HL) + 000049CD 68 558 LD L,B + 000049CE EB 559 EX DE,HL + 000049CF 560 ?0012: + 000049CF 7B 561 LD A,E + 000049D0 B2 562 OR D + 000049D1 28 16 563 JR Z,?0011 + 000049D3 6B 564 LD L,E + 000049D4 62 565 LD H,D + 000049D5 46 566 LD B,(HL) + 000049D6 23 567 INC HL + 000049D7 66 568 LD H,(HL) + 000049D8 68 569 LD L,B + 000049D9 DD 4E 02 570 LD C,(IX+2) + 000049DC DD 46 03 571 LD B,(IX+3) + 000049DF ED 42 572 SBC HL,BC + 000049E1 28 06 573 JR Z,?0011 + 000049E3 574 ?0015: + 000049E3 575 ?0014: + 000049E3 576 ?0013: + 000049E3 21 08 00 577 LD HL,8 + 000049E6 19 578 ADD HL,DE + 000049E7 18 E1 579 JR ?0321 + 000049E9 580 ?0011: + 000049E9 EB 581 EX DE,HL + 000049EA C3 A3 81 582 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000049ED 583 setCurrentFont: + 000049ED CD EF 81 584 CALL LWRD ?ENT_PARM_DIRECT_L09 + 000049F0 3E 00 585 LD A,BYTE3 fontSearch + 000049F2 21 BD 49 586 LD HL,LWRD fontSearch + 000049F5 CD 6A 4A 587 CALL LWRD ?0448 + 000049F8 28 29 588 JR Z,?0017 + 000049FA 589 ?0016: + 000049FA DD 5E 02 590 LD E,(IX+2) + 000049FD DD 56 03 591 LD D,(IX+3) + 00004A00 3E 00 592 LD A,BYTE3 grSetFont + 00004A02 21 80 49 593 LD HL,LWRD grSetFont + 00004A05 CD FB 81 594 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004A08 21 0A 00 595 LD HL,10 + 00004A0B ED 4B 3F 87 596 LD BC,(global) + 00004A0F 09 597 ADD HL,BC + 00004A10 E5 598 PUSH HL + 00004A11 DD 5E 02 599 LD E,(IX+2) + 00004A14 DD 56 03 600 LD D,(IX+3) + 00004A17 3E 00 601 LD A,BYTE3 fontSearch + 00004A19 21 BD 49 602 LD HL,LWRD fontSearch + 00004A1C CD 75 4A 603 CALL LWRD ?0449 + 00004A1F E1 604 POP HL + 00004A20 71 605 LD (HL),C + 00004A21 23 606 INC HL + 00004A22 70 607 LD (HL),B + 00004A23 608 ?0017: + 00004A23 C3 A3 81 609 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004A26 610 ?0443: + 00004A26 ED 4B 3F 87 611 LD BC,(global) + 00004A2A 09 612 ADD HL,BC + 00004A2B 46 613 LD B,(HL) + 00004A2C 23 614 INC HL + 00004A2D 66 615 LD H,(HL) + 00004A2E 68 616 LD L,B + 00004A2F 617 ?0442: + 00004A2F 23 618 INC HL + 00004A30 23 619 INC HL + 00004A31 4E 620 LD C,(HL) + 00004A32 23 621 INC HL + 00004A33 46 622 LD B,(HL) + 00004A34 23 623 INC HL + 00004A35 7E 624 LD A,(HL) + 00004A36 69 625 LD L,C + 00004A37 60 626 LD H,B + 00004A38 CD FB 81 627 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004A3B 4D 628 LD C,L + 00004A3C 44 629 LD B,H + 00004A3D FD 6E 06 630 LD L,(IY+6) + 00004A40 FD 66 07 631 LD H,(IY+7) + 00004A43 A7 632 AND A + 00004A44 ED 42 633 SBC HL,BC + 00004A46 EB 634 EX DE,HL + 00004A47 01 02 00 635 LD BC,2 + 00004A4A CD EB 82 636 CALL LWRD ?SS_DIV_L02 + 00004A4D DD 6E 04 637 LD L,(IX+4) + 00004A50 DD 66 05 638 LD H,(IX+5) + 00004A53 19 639 ADD HL,DE + 00004A54 EB 640 EX DE,HL + 00004A55 3E 00 641 LD A,BYTE3 Move + 00004A57 21 EB 46 642 LD HL,LWRD Move + 00004A5A C9 643 RET + 00004A5B 644 ?0444: + 00004A5B CD FB 81 645 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004A5E 4D 646 LD C,L + 00004A5F 44 647 LD B,H + 00004A60 FD 6E 08 648 LD L,(IY+8) + 00004A63 FD 66 09 649 LD H,(IY+9) + 00004A66 A7 650 AND A + 00004A67 ED 42 651 SBC HL,BC + 00004A69 C9 652 RET + 00004A6A 653 ?0448: + 00004A6A CD FB 81 654 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004A6D 7D 655 LD A,L + 00004A6E B4 656 OR H + 00004A6F C9 657 RET + 00004A70 658 ?0450: + 00004A70 3E 01 659 LD A,BYTE3 malloc + 00004A72 21 00 40 660 LD HL,LWRD malloc + 00004A75 661 ?0449: + 00004A75 CD FB 81 662 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004A78 4D 663 LD C,L + 00004A79 44 664 LD B,H + 00004A7A C9 665 RET + 00004A7B 666 loadFont: + 00004A7B CD 7A 82 667 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00004A7E FC FF 668 DEFW 65532 + 00004A80 FD E5 669 PUSH IY + 00004A82 11 0E 00 670 LD DE,14 + 00004A85 CD 16 4B 671 CALL LWRD ?0447 + 00004A88 DD 4E 02 672 LD C,(IX+2) + 00004A8B 71 673 LD (HL),C + 00004A8C DD 46 03 674 LD B,(IX+3) + 00004A8F 23 675 INC HL + 00004A90 70 676 LD (HL),B + 00004A91 DD 46 0C 677 LD B,(IX+12) + 00004A94 DD 6E 0A 678 LD L,(IX+10) + 00004A97 FD 75 02 679 LD (IY+2),L + 00004A9A DD 66 0B 680 LD H,(IX+11) + 00004A9D FD 74 03 681 LD (IY+3),H + 00004AA0 FD 70 04 682 LD (IY+4),B + 00004AA3 DD 46 10 683 LD B,(IX+16) + 00004AA6 DD 6E 0E 684 LD L,(IX+14) + 00004AA9 FD 75 05 685 LD (IY+5),L + 00004AAC DD 66 0F 686 LD H,(IX+15) + 00004AAF FD 74 06 687 LD (IY+6),H + 00004AB2 FD 70 07 688 LD (IY+7),B + 00004AB5 AF 689 XOR A + 00004AB6 FD 77 08 690 LD (IY+8),A + 00004AB9 FD 77 09 691 LD (IY+9),A + 00004ABC DD 6E 12 692 LD L,(IX+18) + 00004ABF FD 75 0A 693 LD (IY+10),L + 00004AC2 DD 66 13 694 LD H,(IX+19) + 00004AC5 FD 74 0B 695 LD (IY+11),H + 00004AC8 DD 6E 14 696 LD L,(IX+20) + 00004ACB FD 75 0C 697 LD (IY+12),L + 00004ACE DD 66 15 698 LD H,(IX+21) + 00004AD1 FD 74 0D 699 LD (IY+13),H + 00004AD4 21 0C 00 700 LD HL,12 + 00004AD7 ED 4B 3F 87 701 LD BC,(global) + 00004ADB 09 702 ADD HL,BC + 00004ADC 7E 703 LD A,(HL) + 00004ADD 23 704 INC HL + 00004ADE B6 705 OR (HL) + 00004ADF 21 0C 00 706 LD HL,12 + 00004AE2 ED 4B 3F 87 707 LD BC,(global) + 00004AE6 09 708 ADD HL,BC + 00004AE7 20 10 709 JR NZ,?0019 + 00004AE9 710 ?0018: + 00004AE9 FD E5 711 PUSH IY + 00004AEB C1 712 POP BC + 00004AEC 71 713 LD (HL),C + 00004AED 23 714 INC HL + 00004AEE 70 715 LD (HL),B + 00004AEF 21 0A 00 716 LD HL,10 + 00004AF2 ED 4B 3F 87 717 LD BC,(global) + 00004AF6 09 718 ADD HL,BC + 00004AF7 18 12 719 JR ?0021 + 00004AF9 720 ?0019: + 00004AF9 46 721 LD B,(HL) + 00004AFA 23 722 INC HL + 00004AFB 66 723 LD H,(HL) + 00004AFC 68 724 LD L,B + 00004AFD EB 725 EX DE,HL + 00004AFE 726 ?0022: + 00004AFE 21 08 00 727 LD HL,8 + 00004B01 19 728 ADD HL,DE + 00004B02 7E 729 LD A,(HL) + 00004B03 23 730 INC HL + 00004B04 B6 731 OR (HL) + 00004B05 21 08 00 732 LD HL,8 + 00004B08 19 733 ADD HL,DE + 00004B09 20 EE 734 JR NZ,?0019 + 00004B0B 735 ?0023: + 00004B0B 736 ?0021: + 00004B0B FD E5 737 PUSH IY + 00004B0D C1 738 POP BC + 00004B0E 71 739 LD (HL),C + 00004B0F 23 740 INC HL + 00004B10 70 741 LD (HL),B + 00004B11 742 ?0020: + 00004B11 FD E1 743 POP IY + 00004B13 C3 A3 81 744 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004B16 745 ?0447: + 00004B16 3E 01 746 LD A,BYTE3 malloc + 00004B18 21 00 40 747 LD HL,LWRD malloc + 00004B1B CD FB 81 748 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004B1E E5 749 PUSH HL + 00004B1F FD E1 750 POP IY + 00004B21 C9 751 RET + 00004B22 752 stringwidth: + 00004B22 FD E5 753 PUSH IY + 00004B24 DD E5 754 PUSH IX + 00004B26 C5 755 PUSH BC + 00004B27 D5 756 PUSH DE + 00004B28 DD 21 00 00 757 LD IX,0 + 00004B2C FD 21 00 00 758 LD IY,0 + 00004B30 759 ?0025: + 00004B30 FD E5 760 PUSH IY + 00004B32 21 02 00 761 LD HL,2 + 00004B35 39 762 ADD HL,SP + 00004B36 4E 763 LD C,(HL) + 00004B37 23 764 INC HL + 00004B38 46 765 LD B,(HL) + 00004B39 E1 766 POP HL + 00004B3A 09 767 ADD HL,BC + 00004B3B 7E 768 LD A,(HL) + 00004B3C B7 769 OR A + 00004B3D 28 50 770 JR Z,?0024 + 00004B3F 771 ?0026: + 00004B3F FD E5 772 PUSH IY + 00004B41 E1 773 POP HL + 00004B42 09 774 ADD HL,BC + 00004B43 5E 775 LD E,(HL) + 00004B44 CD C4 81 776 CALL LWRD ?C_V_SWITCH_L06 + 00004B47 0A 00 777 DEFW 10 + 00004B49 21 778 DEFB 33 + 00004B4A 2C 779 DEFB 44 + 00004B4B 2E 780 DEFB 46 + 00004B4C 31 781 DEFB 49 + 00004B4D 49 782 DEFB 73 + 00004B4E 69 783 DEFB 105 + 00004B4F 6A 784 DEFB 106 + 00004B50 6B 785 DEFB 107 + 00004B51 6C 786 DEFB 108 + 00004B52 72 787 DEFB 114 + 00004B53 7D 4B 788 DEFW ?0032 + 00004B55 78 4B 789 DEFW ?0031 + 00004B57 6E 4B 790 DEFW ?0029 + 00004B59 78 4B 791 DEFW ?0031 + 00004B5B 78 4B 792 DEFW ?0031 + 00004B5D 69 4B 793 DEFW ?0028 + 00004B5F 69 4B 794 DEFW ?0028 + 00004B61 73 4B 795 DEFW ?0030 + 00004B63 73 4B 796 DEFW ?0030 + 00004B65 73 4B 797 DEFW ?0030 + 00004B67 69 4B 798 DEFW ?0028 + 00004B69 799 ?0028: + 00004B69 01 02 00 800 LD BC,2 + 00004B6C 18 12 801 JR ?0331 + 00004B6E 802 ?0029: + 00004B6E 01 03 00 803 LD BC,3 + 00004B71 18 0D 804 JR ?0331 + 00004B73 805 ?0030: + 00004B73 01 04 00 806 LD BC,4 + 00004B76 18 08 807 JR ?0331 + 00004B78 808 ?0031: + 00004B78 01 05 00 809 LD BC,5 + 00004B7B 18 03 810 JR ?0331 + 00004B7D 811 ?0032: + 00004B7D 01 06 00 812 LD BC,6 + 00004B80 813 ?0331: + 00004B80 DD 09 814 ADD IX,BC + 00004B82 815 ?0027: + 00004B82 21 02 00 816 LD HL,2 + 00004B85 39 817 ADD HL,SP + 00004B86 4E 818 LD C,(HL) + 00004B87 23 819 INC HL + 00004B88 46 820 LD B,(HL) + 00004B89 DD 09 821 ADD IX,BC + 00004B8B FD 23 822 INC IY + 00004B8D 18 A1 823 JR ?0025 + 00004B8F 824 ?0024: + 00004B8F DD E5 825 PUSH IX + 00004B91 E1 826 POP HL + 00004B92 F1 827 POP AF + 00004B93 F1 828 POP AF + 00004B94 DD E1 829 POP IX + 00004B96 FD E1 830 POP IY + 00004B98 C3 A9 81 831 JP LWRD ?BANK_FAST_LEAVE_L08 + 00004B9B 832 stringheight: + 00004B9B CD EF 81 833 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00004B9E 7B 834 LD A,E + 00004B9F FE 80 835 CP 128 + 00004BA1 30 06 836 JR NC,?0034 + 00004BA3 837 ?0033: + 00004BA3 21 07 00 838 LD HL,7 + 00004BA6 09 839 ADD HL,BC + 00004BA7 18 0C 840 JR ?0036 + 00004BA9 841 ?0034: + 00004BA9 FE CC 842 CP 204 + 00004BAB 38 08 843 JR C,?0036 + 00004BAD 3E DF 844 LD A,223 + 00004BAF BB 845 CP E + 00004BB0 38 03 846 JR C,?0036 + 00004BB2 847 ?0038: + 00004BB2 848 ?0037: + 00004BB2 849 ?0035: + 00004BB2 69 850 LD L,C + 00004BB3 60 851 LD H,B + 00004BB4 23 852 INC HL + 00004BB5 853 ?0036: + 00004BB5 854 ?0039: + 00004BB5 C3 A3 81 855 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004BB8 856 stringheight01: + 00004BB8 CD EF 81 857 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00004BBB 01 00 00 858 LD BC,0 + 00004BBE 859 ?0415: + 00004BBE 1A 860 LD A,(DE) + 00004BBF 5F 861 LD E,A + 00004BC0 3E 00 862 LD A,BYTE3 stringheight + 00004BC2 21 9B 4B 863 LD HL,LWRD stringheight + 00004BC5 CD FB 81 864 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004BC8 C3 A3 81 865 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004BCB 866 stringheight2: + 00004BCB CD EF 81 867 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00004BCE 01 05 00 868 LD BC,5 + 00004BD1 C3 BE 4B 869 JP LWRD ?0415 + 00004BD4 870 stringwidth0: + 00004BD4 CD EF 81 871 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00004BD7 01 00 00 872 LD BC,0 + 00004BDA 873 ?0416: + 00004BDA 3E 00 874 LD A,BYTE3 stringwidth + 00004BDC 21 22 4B 875 LD HL,LWRD stringwidth + 00004BDF CD FB 81 876 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004BE2 C3 A3 81 877 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004BE5 878 stringwidth1: + 00004BE5 CD EF 81 879 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00004BE8 01 02 00 880 LD BC,2 + 00004BEB C3 DA 4B 881 JP LWRD ?0416 + 00004BEE 882 stringwidth2: + 00004BEE CD EF 81 883 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00004BF1 01 03 00 884 LD BC,3 + 00004BF4 C3 DA 4B 885 JP LWRD ?0416 + 00004BF7 886 Component_new: + 00004BF7 CD 7A 82 887 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00004BFA 00 00 888 DEFW 0 + 00004BFC FD E5 889 PUSH IY + 00004BFE 11 28 00 890 LD DE,40 + 00004C01 CD 16 4B 891 CALL LWRD ?0447 + 00004C04 2A 3F 87 892 LD HL,(global) + 00004C07 5E 893 LD E,(HL) + 00004C08 23 894 INC HL + 00004C09 56 895 LD D,(HL) + 00004C0A 13 896 INC DE + 00004C0B 72 897 LD (HL),D + 00004C0C 2B 898 DEC HL + 00004C0D 73 899 LD (HL),E + 00004C0E FD E5 900 PUSH IY + 00004C10 E1 901 POP HL + 00004C11 73 902 LD (HL),E + 00004C12 23 903 INC HL + 00004C13 72 904 LD (HL),D + 00004C14 DD 6E 02 905 LD L,(IX+2) + 00004C17 FD 75 02 906 LD (IY+2),L + 00004C1A DD 66 03 907 LD H,(IX+3) + 00004C1D FD 74 03 908 LD (IY+3),H + 00004C20 FD 71 04 909 LD (IY+4),C + 00004C23 FD 70 05 910 LD (IY+5),B + 00004C26 DD 6E 0A 911 LD L,(IX+10) + 00004C29 FD 75 06 912 LD (IY+6),L + 00004C2C DD 66 0B 913 LD H,(IX+11) + 00004C2F FD 74 07 914 LD (IY+7),H + 00004C32 DD 6E 0C 915 LD L,(IX+12) + 00004C35 FD 75 08 916 LD (IY+8),L + 00004C38 DD 66 0D 917 LD H,(IX+13) + 00004C3B FD 74 09 918 LD (IY+9),H + 00004C3E AF 919 XOR A + 00004C3F FD 77 0A 920 LD (IY+10),A + 00004C42 FD 77 0B 921 LD (IY+11),A + 00004C45 FD 77 0C 922 LD (IY+12),A + 00004C48 FD 77 0D 923 LD (IY+13),A + 00004C4B FD 77 0E 924 LD (IY+14),A + 00004C4E FD 77 0F 925 LD (IY+15),A + 00004C51 FD 77 10 926 LD (IY+16),A + 00004C54 FD 77 11 927 LD (IY+17),A + 00004C57 FD 77 12 928 LD (IY+18),A + 00004C5A FD 77 13 929 LD (IY+19),A + 00004C5D FD 77 14 930 LD (IY+20),A + 00004C60 FD 77 15 931 LD (IY+21),A + 00004C63 FD 77 16 932 LD (IY+22),A + 00004C66 FD 77 17 933 LD (IY+23),A + 00004C69 FD 77 18 934 LD (IY+24),A + 00004C6C FD 77 19 935 LD (IY+25),A + 00004C6F FD 77 1A 936 LD (IY+26),A + 00004C72 FD 77 1B 937 LD (IY+27),A + 00004C75 FD 77 1C 938 LD (IY+28),A + 00004C78 FD 77 1D 939 LD (IY+29),A + 00004C7B FD 77 1E 940 LD (IY+30),A + 00004C7E FD 77 1F 941 LD (IY+31),A + 00004C81 FD 77 24 942 LD (IY+36),A + 00004C84 FD 77 25 943 LD (IY+37),A + 00004C87 FD 77 26 944 LD (IY+38),A + 00004C8A FD 77 27 945 LD (IY+39),A + 00004C8D FD 77 20 946 LD (IY+32),A + 00004C90 FD 77 21 947 LD (IY+33),A + 00004C93 FD 77 22 948 LD (IY+34),A + 00004C96 FD 77 23 949 LD (IY+35),A + 00004C99 950 ?0418: + 00004C99 FD E5 951 PUSH IY + 00004C9B E1 952 POP HL + 00004C9C FD E1 953 POP IY + 00004C9E C3 A3 81 954 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004CA1 955 Component_setlabel: + 00004CA1 CD 7A 82 956 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00004CA4 00 00 957 DEFW 0 + 00004CA6 FD E5 958 PUSH IY + 00004CA8 DD 6E 02 959 LD L,(IX+2) + 00004CAB DD 66 03 960 LD H,(IX+3) + 00004CAE E5 961 PUSH HL + 00004CAF FD E1 962 POP IY + 00004CB1 11 00 00 963 LD DE,0 + 00004CB4 964 ?0041: + 00004CB4 DD 6E 04 965 LD L,(IX+4) + 00004CB7 DD 66 05 966 LD H,(IX+5) + 00004CBA 19 967 ADD HL,DE + 00004CBB 7E 968 LD A,(HL) + 00004CBC B7 969 OR A + 00004CBD 28 21 970 JR Z,?0040 + 00004CBF 01 14 80 971 LD BC,32788 + 00004CC2 6B 972 LD L,E + 00004CC3 62 973 LD H,D + 00004CC4 78 974 LD A,B + 00004CC5 AC 975 XOR H + 00004CC6 67 976 LD H,A + 00004CC7 ED 42 977 SBC HL,BC + 00004CC9 30 15 978 JR NC,?0040 + 00004CCB 979 ?0044: + 00004CCB 980 ?0043: + 00004CCB 981 ?0042: + 00004CCB FD 6E 20 982 LD L,(IY+32) + 00004CCE FD 66 21 983 LD H,(IY+33) + 00004CD1 19 984 ADD HL,DE + 00004CD2 E5 985 PUSH HL + 00004CD3 DD 6E 04 986 LD L,(IX+4) + 00004CD6 DD 66 05 987 LD H,(IX+5) + 00004CD9 19 988 ADD HL,DE + 00004CDA 46 989 LD B,(HL) + 00004CDB E1 990 POP HL + 00004CDC 70 991 LD (HL),B + 00004CDD 13 992 INC DE + 00004CDE 18 D4 993 JR ?0041 + 00004CE0 994 ?0040: + 00004CE0 FD 6E 20 995 LD L,(IY+32) + 00004CE3 FD 66 21 996 LD H,(IY+33) + 00004CE6 19 997 ADD HL,DE + 00004CE7 36 00 998 LD (HL),0 + 00004CE9 FD E1 999 POP IY + 00004CEB C3 A3 81 1000 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004CEE 1001 Component_add: + 00004CEE CD 7A 82 1002 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00004CF1 00 00 1003 DEFW 0 + 00004CF3 FD E5 1004 PUSH IY + 00004CF5 59 1005 LD E,C + 00004CF6 50 1006 LD D,B + 00004CF7 21 15 00 1007 LD HL,21 + 00004CFA DD 4E 02 1008 LD C,(IX+2) + 00004CFD DD 46 03 1009 LD B,(IX+3) + 00004D00 09 1010 ADD HL,BC + 00004D01 7E 1011 LD A,(HL) + 00004D02 23 1012 INC HL + 00004D03 66 1013 LD H,(HL) + 00004D04 6F 1014 LD L,A + 00004D05 E5 1015 PUSH HL + 00004D06 FD E1 1016 POP IY + 00004D08 21 15 00 1017 LD HL,21 + 00004D0B 09 1018 ADD HL,BC + 00004D0C 7E 1019 LD A,(HL) + 00004D0D 23 1020 INC HL + 00004D0E B6 1021 OR (HL) + 00004D0F 20 09 1022 JR NZ,?0046 + 00004D11 1023 ?0045: + 00004D11 21 15 00 1024 LD HL,21 + 00004D14 09 1025 ADD HL,BC + 00004D15 73 1026 LD (HL),E + 00004D16 23 1027 INC HL + 00004D17 72 1028 LD (HL),D + 00004D18 18 19 1029 JR ?0335 + 00004D1A 1030 ?0046: + 00004D1A 1031 ?0049: + 00004D1A FD 7E 13 1032 LD A,(IY+19) + 00004D1D FD B6 14 1033 OR (IY+20) + 00004D20 28 0B 1034 JR Z,?0048 + 00004D22 1035 ?0050: + 00004D22 FD 6E 13 1036 LD L,(IY+19) + 00004D25 FD 66 14 1037 LD H,(IY+20) + 00004D28 E5 1038 PUSH HL + 00004D29 FD E1 1039 POP IY + 00004D2B 18 ED 1040 JR ?0046 + 00004D2D 1041 ?0048: + 00004D2D FD 73 13 1042 LD (IY+19),E + 00004D30 FD 72 14 1043 LD (IY+20),D + 00004D33 1044 ?0335: + 00004D33 21 13 00 1045 LD HL,19 + 00004D36 19 1046 ADD HL,DE + 00004D37 77 1047 LD (HL),A + 00004D38 23 1048 INC HL + 00004D39 77 1049 LD (HL),A + 00004D3A 1050 ?0047: + 00004D3A 21 11 00 1051 LD HL,17 + 00004D3D 19 1052 ADD HL,DE + 00004D3E DD 4E 02 1053 LD C,(IX+2) + 00004D41 71 1054 LD (HL),C + 00004D42 DD 46 03 1055 LD B,(IX+3) + 00004D45 23 1056 INC HL + 00004D46 70 1057 LD (HL),B + 00004D47 FD E1 1058 POP IY + 00004D49 C3 A3 81 1059 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004D4C 1060 Component_paint: + 00004D4C C5 1061 PUSH BC + 00004D4D FD E5 1062 PUSH IY + 00004D4F DD E5 1063 PUSH IX + 00004D51 21 15 00 1064 LD HL,21 + 00004D54 19 1065 ADD HL,DE + 00004D55 46 1066 LD B,(HL) + 00004D56 23 1067 INC HL + 00004D57 66 1068 LD H,(HL) + 00004D58 68 1069 LD L,B + 00004D59 E5 1070 PUSH HL + 00004D5A DD E1 1071 POP IX + 00004D5C CD 88 4D 1072 CALL LWRD ?0477 + 00004D5F 1073 ?0052: + 00004D5F DD E5 1074 PUSH IX + 00004D61 E1 1075 POP HL + 00004D62 7D 1076 LD A,L + 00004D63 B4 1077 OR H + 00004D64 28 1A 1078 JR Z,?0051 + 00004D66 1079 ?0053: + 00004D66 DD E5 1080 PUSH IX + 00004D68 D1 1081 POP DE + 00004D69 DD 7E 1C 1082 LD A,(IX+28) + 00004D6C DD 6E 1A 1083 LD L,(IX+26) + 00004D6F DD 66 1B 1084 LD H,(IX+27) + 00004D72 CD FB 81 1085 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00004D75 DD 6E 13 1086 LD L,(IX+19) + 00004D78 DD 66 14 1087 LD H,(IX+20) + 00004D7B E5 1088 PUSH HL + 00004D7C DD E1 1089 POP IX + 00004D7E 18 DF 1090 JR ?0052 + 00004D80 1091 ?0051: + 00004D80 1E 01 1092 LD E,1 + 00004D82 CD 8A 4D 1093 CALL LWRD ?0478 + 00004D85 C3 A6 48 1094 JP LWRD ?0411 + 00004D88 1095 ?0477: + 00004D88 1E 00 1096 LD E,0 + 00004D8A 1097 ?0478: + 00004D8A 3E 00 1098 LD A,BYTE3 EnableScreen + 00004D8C 21 42 49 1099 LD HL,LWRD EnableScreen + 00004D8F C3 FB 81 1100 JP LWRD ?BANK_CALL_DIRECT_L08 + 00004D92 1101 Component_findXY: + 00004D92 CD 7A 82 1102 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00004D95 00 00 1103 DEFW 0 + 00004D97 FD E5 1104 PUSH IY + 00004D99 DD 6E 02 1105 LD L,(IX+2) + 00004D9C DD 66 03 1106 LD H,(IX+3) + 00004D9F E5 1107 PUSH HL + 00004DA0 FD E1 1108 POP IY + 00004DA2 1109 ?0056: + 00004DA2 DD 6E 04 1110 LD L,(IX+4) + 00004DA5 DD 66 05 1111 LD H,(IX+5) + 00004DA8 7E 1112 LD A,(HL) + 00004DA9 FD 86 02 1113 ADD A,(IY+2) + 00004DAC 77 1114 LD (HL),A + 00004DAD 23 1115 INC HL + 00004DAE 7E 1116 LD A,(HL) + 00004DAF FD 8E 03 1117 ADC A,(IY+3) + 00004DB2 77 1118 LD (HL),A + 00004DB3 DD 6E 0A 1119 LD L,(IX+10) + 00004DB6 DD 66 0B 1120 LD H,(IX+11) + 00004DB9 7E 1121 LD A,(HL) + 00004DBA FD 86 04 1122 ADD A,(IY+4) + 00004DBD 77 1123 LD (HL),A + 00004DBE 23 1124 INC HL + 00004DBF 7E 1125 LD A,(HL) + 00004DC0 FD 8E 05 1126 ADC A,(IY+5) + 00004DC3 77 1127 LD (HL),A + 00004DC4 FD 6E 11 1128 LD L,(IY+17) + 00004DC7 FD 66 12 1129 LD H,(IY+18) + 00004DCA E5 1130 PUSH HL + 00004DCB FD E1 1131 POP IY + 00004DCD 7D 1132 LD A,L + 00004DCE B4 1133 OR H + 00004DCF 20 D1 1134 JR NZ,?0056 + 00004DD1 1135 ?0054: + 00004DD1 FD E1 1136 POP IY + 00004DD3 C3 A3 81 1137 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004DD6 1138 Component_find: + 00004DD6 CD 7A 82 1139 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00004DD9 00 00 1140 DEFW 0 + 00004DDB 21 15 00 1141 LD HL,21 + 00004DDE DD 4E 02 1142 LD C,(IX+2) + 00004DE1 DD 46 03 1143 LD B,(IX+3) + 00004DE4 09 1144 ADD HL,BC + 00004DE5 1145 ?0336: + 00004DE5 46 1146 LD B,(HL) + 00004DE6 23 1147 INC HL + 00004DE7 66 1148 LD H,(HL) + 00004DE8 68 1149 LD L,B + 00004DE9 EB 1150 EX DE,HL + 00004DEA 1151 ?0058: + 00004DEA 7B 1152 LD A,E + 00004DEB B2 1153 OR D + 00004DEC 28 1B 1154 JR Z,?0057 + 00004DEE 1155 ?0059: + 00004DEE 21 10 00 1156 LD HL,16 + 00004DF1 19 1157 ADD HL,DE + 00004DF2 4E 1158 LD C,(HL) + 00004DF3 06 00 1159 LD B,0 + 00004DF5 DD 6E 04 1160 LD L,(IX+4) + 00004DF8 DD 66 05 1161 LD H,(IX+5) + 00004DFB A7 1162 AND A + 00004DFC ED 42 1163 SBC HL,BC + 00004DFE 20 03 1164 JR NZ,?0061 + 00004E00 1165 ?0060: + 00004E00 EB 1166 EX DE,HL + 00004E01 18 08 1167 JR ?0062 + 00004E03 1168 ?0061: + 00004E03 21 13 00 1169 LD HL,19 + 00004E06 19 1170 ADD HL,DE + 00004E07 18 DC 1171 JR ?0336 + 00004E09 1172 ?0057: + 00004E09 6F 1173 LD L,A + 00004E0A 67 1174 LD H,A + 00004E0B 1175 ?0062: + 00004E0B C3 A3 81 1176 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004E0E 1177 Component_delete: + 00004E0E CD 7A 82 1178 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00004E11 F8 FF 1179 DEFW 65528 + 00004E13 FD E5 1180 PUSH IY + 00004E15 DD 6E 02 1181 LD L,(IX+2) + 00004E18 DD 66 03 1182 LD H,(IX+3) + 00004E1B E5 1183 PUSH HL + 00004E1C FD E1 1184 POP IY + 00004E1E FD 6E 15 1185 LD L,(IY+21) + 00004E21 DD 75 F8 1186 LD (IX-8),L + 00004E24 FD 66 16 1187 LD H,(IY+22) + 00004E27 DD 74 F9 1188 LD (IX-7),H + 00004E2A FD E5 1189 PUSH IY + 00004E2C E1 1190 POP HL + 00004E2D 7D 1191 LD A,L + 00004E2E B4 1192 OR H + 00004E2F CA C1 4F 1193 JP Z,?0064 + 00004E32 1194 ?0063: + 00004E32 1195 ?0066: + 00004E32 DD 7E F8 1196 LD A,(IX-8) + 00004E35 DD B6 F9 1197 OR (IX-7) + 00004E38 28 11 1198 JR Z,?0065 + 00004E3A 1199 ?0067: + 00004E3A DD 5E F8 1200 LD E,(IX-8) + 00004E3D DD 56 F9 1201 LD D,(IX-7) + 00004E40 CD D7 4F 1202 CALL LWRD ?0453 + 00004E43 DD 75 F8 1203 LD (IX-8),L + 00004E46 DD 74 F9 1204 LD (IX-7),H + 00004E49 18 E7 1205 JR ?0063 + 00004E4B 1206 ?0065: + 00004E4B FD 7E 11 1207 LD A,(IY+17) + 00004E4E FD B6 12 1208 OR (IY+18) + 00004E51 CA DD 4E 1209 JP Z,?0079 + 00004E54 1210 ?0068: + 00004E54 FD 6E 11 1211 LD L,(IY+17) + 00004E57 FD 66 12 1212 LD H,(IY+18) + 00004E5A 01 15 00 1213 LD BC,21 + 00004E5D 09 1214 ADD HL,BC + 00004E5E 46 1215 LD B,(HL) + 00004E5F 23 1216 INC HL + 00004E60 66 1217 LD H,(HL) + 00004E61 68 1218 LD L,B + 00004E62 FD E5 1219 PUSH IY + 00004E64 C1 1220 POP BC + 00004E65 A7 1221 AND A + 00004E66 ED 42 1222 SBC HL,BC + 00004E68 FD 6E 11 1223 LD L,(IY+17) + 00004E6B FD 66 12 1224 LD H,(IY+18) + 00004E6E 01 15 00 1225 LD BC,21 + 00004E71 09 1226 ADD HL,BC + 00004E72 20 09 1227 JR NZ,?0071 + 00004E74 1228 ?0070: + 00004E74 E5 1229 PUSH HL + 00004E75 FD 6E 11 1230 LD L,(IY+17) + 00004E78 FD 66 12 1231 LD H,(IY+18) + 00004E7B 18 50 1232 JR ?0339 + 00004E7D 1233 ?0071: + 00004E7D 46 1234 LD B,(HL) + 00004E7E 23 1235 INC HL + 00004E7F 66 1236 LD H,(HL) + 00004E80 68 1237 LD L,B + 00004E81 1238 ?0338: + 00004E81 DD 75 F8 1239 LD (IX-8),L + 00004E84 DD 74 F9 1240 LD (IX-7),H + 00004E87 1241 ?0074: + 00004E87 21 13 00 1242 LD HL,19 + 00004E8A DD 4E F8 1243 LD C,(IX-8) + 00004E8D DD 46 F9 1244 LD B,(IX-7) + 00004E90 09 1245 ADD HL,BC + 00004E91 46 1246 LD B,(HL) + 00004E92 23 1247 INC HL + 00004E93 66 1248 LD H,(HL) + 00004E94 68 1249 LD L,B + 00004E95 FD E5 1250 PUSH IY + 00004E97 C1 1251 POP BC + 00004E98 A7 1252 AND A + 00004E99 ED 42 1253 SBC HL,BC + 00004E9B 28 19 1254 JR Z,?0073 + 00004E9D 21 13 00 1255 LD HL,19 + 00004EA0 DD 4E F8 1256 LD C,(IX-8) + 00004EA3 DD 46 F9 1257 LD B,(IX-7) + 00004EA6 09 1258 ADD HL,BC + 00004EA7 7E 1259 LD A,(HL) + 00004EA8 23 1260 INC HL + 00004EA9 B6 1261 OR (HL) + 00004EAA 28 0A 1262 JR Z,?0073 + 00004EAC 1263 ?0077: + 00004EAC 1264 ?0076: + 00004EAC 1265 ?0075: + 00004EAC 21 13 00 1266 LD HL,19 + 00004EAF 09 1267 ADD HL,BC + 00004EB0 56 1268 LD D,(HL) + 00004EB1 23 1269 INC HL + 00004EB2 66 1270 LD H,(HL) + 00004EB3 6A 1271 LD L,D + 00004EB4 18 CB 1272 JR ?0338 + 00004EB6 1273 ?0073: + 00004EB6 21 13 00 1274 LD HL,19 + 00004EB9 DD 4E F8 1275 LD C,(IX-8) + 00004EBC DD 46 F9 1276 LD B,(IX-7) + 00004EBF 09 1277 ADD HL,BC + 00004EC0 7E 1278 LD A,(HL) + 00004EC1 23 1279 INC HL + 00004EC2 B6 1280 OR (HL) + 00004EC3 28 18 1281 JR Z,?0079 + 00004EC5 1282 ?0078: + 00004EC5 21 13 00 1283 LD HL,19 + 00004EC8 09 1284 ADD HL,BC + 00004EC9 E5 1285 PUSH HL + 00004ECA 21 13 00 1286 LD HL,19 + 00004ECD 1287 ?0339: + 00004ECD 09 1288 ADD HL,BC + 00004ECE 46 1289 LD B,(HL) + 00004ECF 23 1290 INC HL + 00004ED0 66 1291 LD H,(HL) + 00004ED1 68 1292 LD L,B + 00004ED2 01 13 00 1293 LD BC,19 + 00004ED5 09 1294 ADD HL,BC + 00004ED6 4E 1295 LD C,(HL) + 00004ED7 23 1296 INC HL + 00004ED8 46 1297 LD B,(HL) + 00004ED9 E1 1298 POP HL + 00004EDA 71 1299 LD (HL),C + 00004EDB 23 1300 INC HL + 00004EDC 70 1301 LD (HL),B + 00004EDD 1302 ?0079: + 00004EDD 1303 ?0072: + 00004EDD 1304 ?0069: + 00004EDD FD 6E 13 1305 LD L,(IY+19) + 00004EE0 DD 75 F8 1306 LD (IX-8),L + 00004EE3 FD 66 14 1307 LD H,(IY+20) + 00004EE6 DD 74 F9 1308 LD (IX-7),H + 00004EE9 3E 04 1309 LD A,4 + 00004EEB FD AE 24 1310 XOR (IY+36) + 00004EEE FD B6 25 1311 OR (IY+37) + 00004EF1 C2 8D 4F 1312 JP NZ,?0088 + 00004EF4 1313 ?0080: + 00004EF4 FD 6E 11 1314 LD L,(IY+17) + 00004EF7 DD 75 FC 1315 LD (IX-4),L + 00004EFA FD 66 12 1316 LD H,(IY+18) + 00004EFD DD 74 FD 1317 LD (IX-3),H + 00004F00 FD 6E 26 1318 LD L,(IY+38) + 00004F03 DD 75 FE 1319 LD (IX-2),L + 00004F06 FD 66 27 1320 LD H,(IY+39) + 00004F09 DD 74 FF 1321 LD (IX-1),H + 00004F0C CD CC 4F 1322 CALL LWRD ?0451 + 00004F0F DD 6E FE 1323 LD L,(IX-2) + 00004F12 DD 66 FF 1324 LD H,(IX-1) + 00004F15 23 1325 INC HL + 00004F16 23 1326 INC HL + 00004F17 CD CC 4F 1327 CALL LWRD ?0451 + 00004F1A 1328 ?0083: + 00004F1A DD 7E FC 1329 LD A,(IX-4) + 00004F1D DD B6 FD 1330 OR (IX-3) + 00004F20 28 20 1331 JR Z,?0082 + 00004F22 21 24 00 1332 LD HL,36 + 00004F25 DD 4E FC 1333 LD C,(IX-4) + 00004F28 DD 46 FD 1334 LD B,(IX-3) + 00004F2B 09 1335 ADD HL,BC + 00004F2C 3E 04 1336 LD A,4 + 00004F2E AE 1337 XOR (HL) + 00004F2F 23 1338 INC HL + 00004F30 B6 1339 OR (HL) + 00004F31 28 0F 1340 JR Z,?0082 + 00004F33 1341 ?0086: + 00004F33 1342 ?0085: + 00004F33 1343 ?0084: + 00004F33 21 11 00 1344 LD HL,17 + 00004F36 09 1345 ADD HL,BC + 00004F37 56 1346 LD D,(HL) + 00004F38 DD 72 FC 1347 LD (IX-4),D + 00004F3B 23 1348 INC HL + 00004F3C 66 1349 LD H,(HL) + 00004F3D DD 74 FD 1350 LD (IX-3),H + 00004F40 18 D8 1351 JR ?0083 + 00004F42 1352 ?0082: + 00004F42 DD 7E FC 1353 LD A,(IX-4) + 00004F45 DD B6 FD 1354 OR (IX-3) + 00004F48 28 43 1355 JR Z,?0088 + 00004F4A 1356 ?0087: + 00004F4A 21 26 00 1357 LD HL,38 + 00004F4D DD 4E FC 1358 LD C,(IX-4) + 00004F50 DD 46 FD 1359 LD B,(IX-3) + 00004F53 09 1360 ADD HL,BC + 00004F54 46 1361 LD B,(HL) + 00004F55 DD 70 FE 1362 LD (IX-2),B + 00004F58 23 1363 INC HL + 00004F59 66 1364 LD H,(HL) + 00004F5A DD 74 FF 1365 LD (IX-1),H + 00004F5D 21 06 00 1366 LD HL,6 + 00004F60 ED 4B 3F 87 1367 LD BC,(global) + 00004F64 09 1368 ADD HL,BC + 00004F65 E5 1369 PUSH HL + 00004F66 DD 6E FE 1370 LD L,(IX-2) + 00004F69 DD 66 FF 1371 LD H,(IX-1) + 00004F6C 5E 1372 LD E,(HL) + 00004F6D 23 1373 INC HL + 00004F6E 56 1374 LD D,(HL) + 00004F6F E1 1375 POP HL + 00004F70 73 1376 LD (HL),E + 00004F71 23 1377 INC HL + 00004F72 72 1378 LD (HL),D + 00004F73 21 08 00 1379 LD HL,8 + 00004F76 ED 4B 3F 87 1380 LD BC,(global) + 00004F7A 09 1381 ADD HL,BC + 00004F7B E5 1382 PUSH HL + 00004F7C DD 4E FE 1383 LD C,(IX-2) + 00004F7F DD 46 FF 1384 LD B,(IX-1) + 00004F82 03 1385 INC BC + 00004F83 03 1386 INC BC + 00004F84 69 1387 LD L,C + 00004F85 60 1388 LD H,B + 00004F86 4E 1389 LD C,(HL) + 00004F87 23 1390 INC HL + 00004F88 46 1391 LD B,(HL) + 00004F89 E1 1392 POP HL + 00004F8A 71 1393 LD (HL),C + 00004F8B 23 1394 INC HL + 00004F8C 70 1395 LD (HL),B + 00004F8D 1396 ?0088: + 00004F8D 1397 ?0081: + 00004F8D FD 4E 24 1398 LD C,(IY+36) + 00004F90 FD 46 25 1399 LD B,(IY+37) + 00004F93 21 00 00 1400 LD HL,0 + 00004F96 CD C8 82 1401 CALL LWRD ?SS_CMP_L02 + 00004F99 30 09 1402 JR NC,?0090 + 00004F9B 1403 ?0089: + 00004F9B FD 5E 26 1404 LD E,(IY+38) + 00004F9E FD 56 27 1405 LD D,(IY+39) + 00004FA1 CD CF 4F 1406 CALL LWRD ?0452 + 00004FA4 1407 ?0090: + 00004FA4 FD CB 0B 76 1408 BIT 6,(IY+11) + 00004FA8 20 11 1409 JR NZ,?0092 + 00004FAA FD 7E 20 1410 LD A,(IY+32) + 00004FAD FD B6 21 1411 OR (IY+33) + 00004FB0 28 09 1412 JR Z,?0092 + 00004FB2 1413 ?0094: + 00004FB2 1414 ?0093: + 00004FB2 1415 ?0091: + 00004FB2 FD 5E 20 1416 LD E,(IY+32) + 00004FB5 FD 56 21 1417 LD D,(IY+33) + 00004FB8 CD CF 4F 1418 CALL LWRD ?0452 + 00004FBB 1419 ?0092: + 00004FBB FD E5 1420 PUSH IY + 00004FBD D1 1421 POP DE + 00004FBE CD CF 4F 1422 CALL LWRD ?0452 + 00004FC1 1423 ?0064: + 00004FC1 DD 6E F8 1424 LD L,(IX-8) + 00004FC4 DD 66 F9 1425 LD H,(IX-7) + 00004FC7 FD E1 1426 POP IY + 00004FC9 C3 A3 81 1427 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00004FCC 1428 ?0451: + 00004FCC 5E 1429 LD E,(HL) + 00004FCD 23 1430 INC HL + 00004FCE 56 1431 LD D,(HL) + 00004FCF 1432 ?0452: + 00004FCF 3E 00 1433 LD A,BYTE3 free + 00004FD1 21 5F 74 1434 LD HL,LWRD free + 00004FD4 C3 FB 81 1435 JP LWRD ?BANK_CALL_DIRECT_L08 + 00004FD7 1436 ?0453: + 00004FD7 3E 00 1437 LD A,BYTE3 Component_delete + 00004FD9 21 0E 4E 1438 LD HL,LWRD Component_delete + 00004FDC C3 FB 81 1439 JP LWRD ?BANK_CALL_DIRECT_L08 + 00004FDF 1440 Component_delete_children: + 00004FDF C5 1441 PUSH BC + 00004FE0 FD E5 1442 PUSH IY + 00004FE2 DD E5 1443 PUSH IX + 00004FE4 21 15 00 1444 LD HL,21 + 00004FE7 19 1445 ADD HL,DE + 00004FE8 46 1446 LD B,(HL) + 00004FE9 23 1447 INC HL + 00004FEA 66 1448 LD H,(HL) + 00004FEB 68 1449 LD L,B + 00004FEC 1450 ?0341: + 00004FEC E5 1451 PUSH HL + 00004FED DD E1 1452 POP IX + 00004FEF 1453 ?0096: + 00004FEF 7D 1454 LD A,L + 00004FF0 B4 1455 OR H + 00004FF1 28 08 1456 JR Z,?0095 + 00004FF3 1457 ?0097: + 00004FF3 DD E5 1458 PUSH IX + 00004FF5 D1 1459 POP DE + 00004FF6 CD D7 4F 1460 CALL LWRD ?0453 + 00004FF9 18 F1 1461 JR ?0341 + 00004FFB 1462 ?0095: + 00004FFB C3 A6 48 1463 JP LWRD ?0411 + 00004FFE 1464 Component_changestate_children: + 00004FFE CD 7A 82 1465 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00005001 00 00 1466 DEFW 0 + 00005003 FD E5 1467 PUSH IY + 00005005 21 15 00 1468 LD HL,21 + 00005008 DD 5E 02 1469 LD E,(IX+2) + 0000500B DD 56 03 1470 LD D,(IX+3) + 0000500E 19 1471 ADD HL,DE + 0000500F 1472 ?0342: + 0000500F 56 1473 LD D,(HL) + 00005010 23 1474 INC HL + 00005011 66 1475 LD H,(HL) + 00005012 6A 1476 LD L,D + 00005013 E5 1477 PUSH HL + 00005014 FD E1 1478 POP IY + 00005016 1479 ?0099: + 00005016 7D 1480 LD A,L + 00005017 B4 1481 OR H + 00005018 28 3D 1482 JR Z,?0098 + 0000501A 1483 ?0100: + 0000501A 21 0A 00 1484 LD HL,10 + 0000501D FD E5 1485 PUSH IY + 0000501F C1 1486 POP BC + 00005020 09 1487 ADD HL,BC + 00005021 DD 7E 04 1488 LD A,(IX+4) + 00005024 DD 56 05 1489 LD D,(IX+5) + 00005027 2F 1490 CPL + 00005028 5F 1491 LD E,A + 00005029 7A 1492 LD A,D + 0000502A 2F 1493 CPL + 0000502B 57 1494 LD D,A + 0000502C 7E 1495 LD A,(HL) + 0000502D A3 1496 AND E + 0000502E 77 1497 LD (HL),A + 0000502F 23 1498 INC HL + 00005030 7E 1499 LD A,(HL) + 00005031 A2 1500 AND D + 00005032 77 1501 LD (HL),A + 00005033 21 0A 00 1502 LD HL,10 + 00005036 09 1503 ADD HL,BC + 00005037 7E 1504 LD A,(HL) + 00005038 DD B6 0A 1505 OR (IX+10) + 0000503B 77 1506 LD (HL),A + 0000503C 23 1507 INC HL + 0000503D 7E 1508 LD A,(HL) + 0000503E DD B6 0B 1509 OR (IX+11) + 00005041 77 1510 LD (HL),A + 00005042 21 0A 00 1511 LD HL,10 + 00005045 09 1512 ADD HL,BC + 00005046 7E 1513 LD A,(HL) + 00005047 DD AE 0C 1514 XOR (IX+12) + 0000504A 77 1515 LD (HL),A + 0000504B 23 1516 INC HL + 0000504C 7E 1517 LD A,(HL) + 0000504D DD AE 0D 1518 XOR (IX+13) + 00005050 77 1519 LD (HL),A + 00005051 21 13 00 1520 LD HL,19 + 00005054 09 1521 ADD HL,BC + 00005055 18 B8 1522 JR ?0342 + 00005057 1523 ?0098: + 00005057 11 00 86 1524 LD DE,stdout + 0000505A 3E 00 1525 LD A,BYTE3 fflush + 0000505C 21 5F 70 1526 LD HL,LWRD fflush + 0000505F CD FB 81 1527 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005062 FD E1 1528 POP IY + 00005064 C3 A3 81 1529 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00005067 1530 Component_linkstringtable: + 00005067 C5 1531 PUSH BC + 00005068 FD E5 1532 PUSH IY + 0000506A DD E5 1533 PUSH IX + 0000506C D5 1534 PUSH DE + 0000506D DD E1 1535 POP IX + 0000506F 21 15 00 1536 LD HL,21 + 00005072 19 1537 ADD HL,DE + 00005073 46 1538 LD B,(HL) + 00005074 23 1539 INC HL + 00005075 66 1540 LD H,(HL) + 00005076 68 1541 LD L,B + 00005077 E5 1542 PUSH HL + 00005078 FD E1 1543 POP IY + 0000507A 21 20 00 1544 LD HL,32 + 0000507D 19 1545 ADD HL,DE + 0000507E 46 1546 LD B,(HL) + 0000507F 23 1547 INC HL + 00005080 66 1548 LD H,(HL) + 00005081 68 1549 LD L,B + 00005082 01 00 90 1550 LD BC,36864 + 00005085 3E 80 1551 LD A,128 + 00005087 AC 1552 XOR H + 00005088 67 1553 LD H,A + 00005089 ED 42 1554 SBC HL,BC + 0000508B 30 2E 1555 JR NC,?0102 + 0000508D DD 4E 20 1556 LD C,(IX+32) + 00005090 DD 46 21 1557 LD B,(IX+33) + 00005093 21 00 00 1558 LD HL,0 + 00005096 CD C8 82 1559 CALL LWRD ?SS_CMP_L02 + 00005099 30 20 1560 JR NC,?0102 + 0000509B 1561 ?0104: + 0000509B 1562 ?0103: + 0000509B 1563 ?0101: + 0000509B DD 6E 20 1564 LD L,(IX+32) + 0000509E DD 66 21 1565 LD H,(IX+33) + 000050A1 29 1566 ADD HL,HL + 000050A2 E5 1567 PUSH HL + 000050A3 21 08 00 1568 LD HL,8 + 000050A6 ED 4B 3F 87 1569 LD BC,(global) + 000050AA 09 1570 ADD HL,BC + 000050AB 4E 1571 LD C,(HL) + 000050AC 23 1572 INC HL + 000050AD 46 1573 LD B,(HL) + 000050AE E1 1574 POP HL + 000050AF 09 1575 ADD HL,BC + 000050B0 2B 1576 DEC HL + 000050B1 2B 1577 DEC HL + 000050B2 46 1578 LD B,(HL) + 000050B3 DD 70 20 1579 LD (IX+32),B + 000050B6 23 1580 INC HL + 000050B7 66 1581 LD H,(HL) + 000050B8 DD 74 21 1582 LD (IX+33),H + 000050BB 1583 ?0102: + 000050BB DD 6E 22 1584 LD L,(IX+34) + 000050BE DD 66 23 1585 LD H,(IX+35) + 000050C1 01 00 90 1586 LD BC,36864 + 000050C4 3E 80 1587 LD A,128 + 000050C6 AC 1588 XOR H + 000050C7 67 1589 LD H,A + 000050C8 ED 42 1590 SBC HL,BC + 000050CA 30 2E 1591 JR NC,?0106 + 000050CC DD 4E 22 1592 LD C,(IX+34) + 000050CF DD 46 23 1593 LD B,(IX+35) + 000050D2 21 00 00 1594 LD HL,0 + 000050D5 CD C8 82 1595 CALL LWRD ?SS_CMP_L02 + 000050D8 30 20 1596 JR NC,?0106 + 000050DA 1597 ?0108: + 000050DA 1598 ?0107: + 000050DA 1599 ?0105: + 000050DA DD 6E 22 1600 LD L,(IX+34) + 000050DD DD 66 23 1601 LD H,(IX+35) + 000050E0 29 1602 ADD HL,HL + 000050E1 E5 1603 PUSH HL + 000050E2 21 08 00 1604 LD HL,8 + 000050E5 ED 4B 3F 87 1605 LD BC,(global) + 000050E9 09 1606 ADD HL,BC + 000050EA 4E 1607 LD C,(HL) + 000050EB 23 1608 INC HL + 000050EC 46 1609 LD B,(HL) + 000050ED E1 1610 POP HL + 000050EE 09 1611 ADD HL,BC + 000050EF 2B 1612 DEC HL + 000050F0 2B 1613 DEC HL + 000050F1 46 1614 LD B,(HL) + 000050F2 DD 70 22 1615 LD (IX+34),B + 000050F5 23 1616 INC HL + 000050F6 66 1617 LD H,(HL) + 000050F7 DD 74 23 1618 LD (IX+35),H + 000050FA 1619 ?0106: + 000050FA 1620 ?0110: + 000050FA FD E5 1621 PUSH IY + 000050FC E1 1622 POP HL + 000050FD 7D 1623 LD A,L + 000050FE B4 1624 OR H + 000050FF 28 16 1625 JR Z,?0109 + 00005101 1626 ?0111: + 00005101 FD E5 1627 PUSH IY + 00005103 D1 1628 POP DE + 00005104 3E 00 1629 LD A,BYTE3 Component_linkstringtable + 00005106 21 67 50 1630 LD HL,LWRD Component_linkstringtable + 00005109 CD FB 81 1631 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000510C FD 6E 13 1632 LD L,(IY+19) + 0000510F FD 66 14 1633 LD H,(IY+20) + 00005112 E5 1634 PUSH HL + 00005113 FD E1 1635 POP IY + 00005115 18 E3 1636 JR ?0106 + 00005117 1637 ?0109: + 00005117 C3 A6 48 1638 JP LWRD ?0411 + 0000511A 1639 Window_handler: + 0000511A CD 7A 82 1640 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 0000511D D0 FF 1641 DEFW 65488 + 0000511F FD E5 1642 PUSH IY + 00005121 AF 1643 XOR A + 00005122 DD 77 FA 1644 LD (IX-6),A + 00005125 DD 77 FB 1645 LD (IX-5),A + 00005128 DD 77 FC 1646 LD (IX-4),A + 0000512B DD 77 FD 1647 LD (IX-3),A + 0000512E 59 1648 LD E,C + 0000512F 50 1649 LD D,B + 00005130 CD 1C 82 1650 CALL LWRD ?S_V_SWITCH_L06 + 00005133 08 00 1651 DEFW 8 + 00005135 01 00 1652 DEFW 1 + 00005137 02 00 1653 DEFW 2 + 00005139 03 00 1654 DEFW 3 + 0000513B 02 01 1655 DEFW 258 + 0000513D 03 01 1656 DEFW 259 + 0000513F 04 01 1657 DEFW 260 + 00005141 05 01 1658 DEFW 261 + 00005143 01 04 1659 DEFW 1025 + 00005145 B3 53 1660 DEFW ?0159 + 00005147 21 53 1661 DEFW ?0153 + 00005149 B4 52 1662 DEFW ?0144 + 0000514B E0 52 1663 DEFW ?0145 + 0000514D 28 52 1664 DEFW ?0142 + 0000514F 39 52 1665 DEFW ?0143 + 00005151 ED 51 1666 DEFW ?0131 + 00005153 88 51 1667 DEFW ?0119 + 00005155 57 51 1668 DEFW ?0113 + 00005157 1669 ?0113: + 00005157 21 15 00 1670 LD HL,21 + 0000515A DD 4E 02 1671 LD C,(IX+2) + 0000515D DD 46 03 1672 LD B,(IX+3) + 00005160 09 1673 ADD HL,BC + 00005161 46 1674 LD B,(HL) + 00005162 23 1675 INC HL + 00005163 66 1676 LD H,(HL) + 00005164 68 1677 LD L,B + 00005165 1678 ?0344: + 00005165 E5 1679 PUSH HL + 00005166 FD E1 1680 POP IY + 00005168 1681 ?0115: + 00005168 7D 1682 LD A,L + 00005169 B4 1683 OR H + 0000516A 28 19 1684 JR Z,?0114 + 0000516C 1685 ?0116: + 0000516C FD CB 0A 46 1686 BIT 0,(IY+10) + 00005170 28 0B 1687 JR Z,?0118 + 00005172 1688 ?0117: + 00005172 DD 6E 0A 1689 LD L,(IX+10) + 00005175 DD 66 0B 1690 LD H,(IX+11) + 00005178 E5 1691 PUSH HL + 00005179 CD B8 53 1692 CALL LWRD ?0462 + 0000517C E1 1693 POP HL + 0000517D 1694 ?0118: + 0000517D FD 6E 13 1695 LD L,(IY+19) + 00005180 FD 66 14 1696 LD H,(IY+20) + 00005183 18 E0 1697 JR ?0344 + 00005185 1698 ?0114: + 00005185 C3 B3 53 1699 JP LWRD ?0159 + 00005188 1700 ?0119: + 00005188 21 15 00 1701 LD HL,21 + 0000518B DD 4E 02 1702 LD C,(IX+2) + 0000518E DD 46 03 1703 LD B,(IX+3) + 00005191 09 1704 ADD HL,BC + 00005192 46 1705 LD B,(HL) + 00005193 23 1706 INC HL + 00005194 66 1707 LD H,(HL) + 00005195 68 1708 LD L,B + 00005196 1709 ?0348: + 00005196 E5 1710 PUSH HL + 00005197 FD E1 1711 POP IY + 00005199 1712 ?0121: + 00005199 7D 1713 LD A,L + 0000519A B4 1714 OR H + 0000519B 28 4D 1715 JR Z,?0120 + 0000519D 1716 ?0122: + 0000519D FD CB 0A 46 1717 BIT 0,(IY+10) + 000051A1 28 38 1718 JR Z,?0126 + 000051A3 1719 ?0123: + 000051A3 DD 6E 0A 1720 LD L,(IX+10) + 000051A6 DD 66 0B 1721 LD H,(IX+11) + 000051A9 E5 1722 PUSH HL + 000051AA CD B8 53 1723 CALL LWRD ?0462 + 000051AD E1 1724 POP HL + 000051AE DD 6E 0A 1725 LD L,(IX+10) + 000051B1 DD 66 0B 1726 LD H,(IX+11) + 000051B4 E5 1727 PUSH HL + 000051B5 01 03 00 1728 LD BC,3 + 000051B8 CD BE 53 1729 CALL LWRD ?0463 + 000051BB E1 1730 POP HL + 000051BC FD 7E 0A 1731 LD A,(IY+10) + 000051BF E6 22 1732 AND 34 + 000051C1 6F 1733 LD L,A + 000051C2 26 00 1734 LD H,0 + 000051C4 3E 22 1735 LD A,34 + 000051C6 AD 1736 XOR L + 000051C7 20 12 1737 JR NZ,?0126 + 000051C9 FD 4E 10 1738 LD C,(IY+16) + 000051CC 44 1739 LD B,H + 000051CD DD 6E 0A 1740 LD L,(IX+10) + 000051D0 DD 66 0B 1741 LD H,(IX+11) + 000051D3 ED 42 1742 SBC HL,BC + 000051D5 20 04 1743 JR NZ,?0126 + 000051D7 1744 ?0128: + 000051D7 1745 ?0127: + 000051D7 1746 ?0125: + 000051D7 FD 21 00 00 1747 LD IY,0 + 000051DB 1748 ?0126: + 000051DB 1749 ?0124: + 000051DB FD E5 1750 PUSH IY + 000051DD E1 1751 POP HL + 000051DE 7D 1752 LD A,L + 000051DF B4 1753 OR H + 000051E0 28 B7 1754 JR Z,?0121 + 000051E2 1755 ?0129: + 000051E2 FD 6E 13 1756 LD L,(IY+19) + 000051E5 FD 66 14 1757 LD H,(IY+20) + 000051E8 18 AC 1758 JR ?0348 + 000051EA 1759 ?0130: + 000051EA 1760 ?0120: + 000051EA C3 B3 53 1761 JP LWRD ?0159 + 000051ED 1762 ?0131: + 000051ED DD 6E 02 1763 LD L,(IX+2) + 000051F0 DD 66 03 1764 LD H,(IX+3) + 000051F3 E5 1765 PUSH HL + 000051F4 FD E1 1766 POP IY + 000051F6 21 0A 00 1767 LD HL,10 + 000051F9 DD 4E 02 1768 LD C,(IX+2) + 000051FC DD 46 03 1769 LD B,(IX+3) + 000051FF 09 1770 ADD HL,BC + 00005200 CB 46 1771 BIT 0,(HL) + 00005202 28 21 1772 JR Z,?0139 + 00005204 1773 ?0132: + 00005204 FD CB 0A 6E 1774 BIT 5,(IY+10) + 00005208 28 1B 1775 JR Z,?0139 + 0000520A FD 4E 10 1776 LD C,(IY+16) + 0000520D 47 1777 LD B,A + 0000520E DD 6E 0A 1778 LD L,(IX+10) + 00005211 DD 66 0B 1779 LD H,(IX+11) + 00005214 A7 1780 AND A + 00005215 ED 42 1781 SBC HL,BC + 00005217 20 0C 1782 JR NZ,?0139 + 00005219 1783 ?0137: + 00005219 1784 ?0136: + 00005219 1785 ?0134: + 00005219 FD 6E 26 1786 LD L,(IY+38) + 0000521C FD 66 27 1787 LD H,(IY+39) + 0000521F FD E5 1788 PUSH IY + 00005221 D1 1789 POP DE + 00005222 CD DD 53 1790 CALL LWRD ?0474 + 00005225 1791 ?0138: + 00005225 1792 ?0139: + 00005225 1793 ?0135: + 00005225 1794 ?0133: + 00005225 1795 ?0140: + 00005225 1796 ?0141: + 00005225 C3 B3 53 1797 JP LWRD ?0159 + 00005228 1798 ?0142: + 00005228 DD 5E 02 1799 LD E,(IX+2) + 0000522B 4B 1800 LD C,E + 0000522C DD 56 03 1801 LD D,(IX+3) + 0000522F 42 1802 LD B,D + 00005230 21 1A 00 1803 LD HL,26 + 00005233 CD DC 53 1804 CALL LWRD ?0475 + 00005236 C3 B3 53 1805 JP LWRD ?0159 + 00005239 1806 ?0143: + 00005239 21 0A 00 1807 LD HL,10 + 0000523C DD 4E 02 1808 LD C,(IX+2) + 0000523F DD 46 03 1809 LD B,(IX+3) + 00005242 09 1810 ADD HL,BC + 00005243 7E 1811 LD A,(HL) + 00005244 E6 FC 1812 AND 252 + 00005246 77 1813 LD (HL),A + 00005247 21 2E 00 1814 LD HL,46 + 0000524A 39 1815 ADD HL,SP + 0000524B E5 1816 PUSH HL + 0000524C 2B 1817 DEC HL + 0000524D 2B 1818 DEC HL + 0000524E 4D 1819 LD C,L + 0000524F 44 1820 LD B,H + 00005250 DD 5E 02 1821 LD E,(IX+2) + 00005253 DD 56 03 1822 LD D,(IX+3) + 00005256 CD D4 53 1823 CALL LWRD ?0466 + 00005259 E1 1824 POP HL + 0000525A 21 08 00 1825 LD HL,8 + 0000525D DD 4E 02 1826 LD C,(IX+2) + 00005260 DD 46 03 1827 LD B,(IX+3) + 00005263 09 1828 ADD HL,BC + 00005264 5E 1829 LD E,(HL) + 00005265 23 1830 INC HL + 00005266 56 1831 LD D,(HL) + 00005267 D5 1832 PUSH DE + 00005268 21 06 00 1833 LD HL,6 + 0000526B 09 1834 ADD HL,BC + 0000526C 5E 1835 LD E,(HL) + 0000526D 23 1836 INC HL + 0000526E 56 1837 LD D,(HL) + 0000526F D5 1838 PUSH DE + 00005270 DD 6E FC 1839 LD L,(IX-4) + 00005273 DD 66 FD 1840 LD H,(IX-3) + 00005276 E5 1841 PUSH HL + 00005277 DD 4E FA 1842 LD C,(IX-6) + 0000527A DD 46 FB 1843 LD B,(IX-5) + 0000527D 11 00 00 1844 LD DE,0 + 00005280 CD 3A 49 1845 CALL LWRD ?0471 + 00005283 E1 1846 POP HL + 00005284 E1 1847 POP HL + 00005285 E1 1848 POP HL + 00005286 21 00 00 1849 LD HL,0 + 00005289 E5 1850 PUSH HL + 0000528A 2E 11 1851 LD L,17 + 0000528C DD 5E 02 1852 LD E,(IX+2) + 0000528F DD 56 03 1853 LD D,(IX+3) + 00005292 19 1854 ADD HL,DE + 00005293 5E 1855 LD E,(HL) + 00005294 23 1856 INC HL + 00005295 56 1857 LD D,(HL) + 00005296 21 11 00 1858 LD HL,17 + 00005299 DD 4E 02 1859 LD C,(IX+2) + 0000529C DD 46 03 1860 LD B,(IX+3) + 0000529F 09 1861 ADD HL,BC + 000052A0 46 1862 LD B,(HL) + 000052A1 23 1863 INC HL + 000052A2 66 1864 LD H,(HL) + 000052A3 68 1865 LD L,B + 000052A4 01 17 00 1866 LD BC,23 + 000052A7 09 1867 ADD HL,BC + 000052A8 4E 1868 LD C,(HL) + 000052A9 23 1869 INC HL + 000052AA 46 1870 LD B,(HL) + 000052AB 23 1871 INC HL + 000052AC 7E 1872 LD A,(HL) + 000052AD 69 1873 LD L,C + 000052AE 60 1874 LD H,B + 000052AF 01 03 01 1875 LD BC,259 + 000052B2 18 29 1876 JR ?0347 + 000052B4 1877 ?0144: + 000052B4 21 11 00 1878 LD HL,17 + 000052B7 DD 4E 02 1879 LD C,(IX+2) + 000052BA DD 46 03 1880 LD B,(IX+3) + 000052BD 09 1881 ADD HL,BC + 000052BE 56 1882 LD D,(HL) + 000052BF 23 1883 INC HL + 000052C0 66 1884 LD H,(HL) + 000052C1 6A 1885 LD L,D + 000052C2 E5 1886 PUSH HL + 000052C3 FD E1 1887 POP IY + 000052C5 59 1888 LD E,C + 000052C6 50 1889 LD D,B + 000052C7 CD D7 4F 1890 CALL LWRD ?0453 + 000052CA 21 00 00 1891 LD HL,0 + 000052CD E5 1892 PUSH HL + 000052CE 01 03 01 1893 LD BC,259 + 000052D1 FD E5 1894 PUSH IY + 000052D3 D1 1895 POP DE + 000052D4 FD 7E 19 1896 LD A,(IY+25) + 000052D7 FD 6E 17 1897 LD L,(IY+23) + 000052DA FD 66 18 1898 LD H,(IY+24) + 000052DD 1899 ?0347: + 000052DD C3 AF 53 1900 JP LWRD ?0346 + 000052E0 1901 ?0145: + 000052E0 21 15 00 1902 LD HL,21 + 000052E3 DD 4E 02 1903 LD C,(IX+2) + 000052E6 DD 46 03 1904 LD B,(IX+3) + 000052E9 09 1905 ADD HL,BC + 000052EA 46 1906 LD B,(HL) + 000052EB 23 1907 INC HL + 000052EC 66 1908 LD H,(HL) + 000052ED 68 1909 LD L,B + 000052EE 1910 ?0345: + 000052EE E5 1911 PUSH HL + 000052EF FD E1 1912 POP IY + 000052F1 1913 ?0147: + 000052F1 7D 1914 LD A,L + 000052F2 B4 1915 OR H + 000052F3 28 29 1916 JR Z,?0146 + 000052F5 1917 ?0148: + 000052F5 DD 6E 0A 1918 LD L,(IX+10) + 000052F8 DD 66 0B 1919 LD H,(IX+11) + 000052FB FD E5 1920 PUSH IY + 000052FD C1 1921 POP BC + 000052FE ED 42 1922 SBC HL,BC + 00005300 28 14 1923 JR Z,?0150 + 00005302 FD CB 0A 5E 1924 BIT 3,(IY+10) + 00005306 28 0E 1925 JR Z,?0150 + 00005308 1926 ?0152: + 00005308 1927 ?0151: + 00005308 1928 ?0149: + 00005308 DD 6E 0A 1929 LD L,(IX+10) + 0000530B DD 66 0B 1930 LD H,(IX+11) + 0000530E E5 1931 PUSH HL + 0000530F 01 03 02 1932 LD BC,515 + 00005312 CD BE 53 1933 CALL LWRD ?0463 + 00005315 E1 1934 POP HL + 00005316 1935 ?0150: + 00005316 FD 6E 13 1936 LD L,(IY+19) + 00005319 FD 66 14 1937 LD H,(IY+20) + 0000531C 18 D0 1938 JR ?0345 + 0000531E 1939 ?0146: + 0000531E C3 B3 53 1940 JP LWRD ?0159 + 00005321 1941 ?0153: + 00005321 21 11 00 1942 LD HL,17 + 00005324 DD 4E 02 1943 LD C,(IX+2) + 00005327 DD 46 03 1944 LD B,(IX+3) + 0000532A 09 1945 ADD HL,BC + 0000532B 7E 1946 LD A,(HL) + 0000532C 23 1947 INC HL + 0000532D B6 1948 OR (HL) + 0000532E 20 0E 1949 JR NZ,?0155 + 00005330 1950 ?0154: + 00005330 21 04 00 1951 LD HL,4 + 00005333 ED 4B 3F 87 1952 LD BC,(global) + 00005337 09 1953 ADD HL,BC + 00005338 36 01 1954 LD (HL),1 + 0000533A 23 1955 INC HL + 0000533B 77 1956 LD (HL),A + 0000533C 18 75 1957 JR ?0159 + 0000533E 1958 ?0155: + 0000533E 21 0A 00 1959 LD HL,10 + 00005341 09 1960 ADD HL,BC + 00005342 23 1961 INC HL + 00005343 CB 6E 1962 BIT 5,(HL) + 00005345 20 28 1963 JR NZ,?0158 + 00005347 1964 ?0157: + 00005347 DD 6E 0A 1965 LD L,(IX+10) + 0000534A DD 66 0B 1966 LD H,(IX+11) + 0000534D E5 1967 PUSH HL + 0000534E 21 11 00 1968 LD HL,17 + 00005351 59 1969 LD E,C + 00005352 50 1970 LD D,B + 00005353 19 1971 ADD HL,DE + 00005354 5E 1972 LD E,(HL) + 00005355 23 1973 INC HL + 00005356 56 1974 LD D,(HL) + 00005357 21 11 00 1975 LD HL,17 + 0000535A 09 1976 ADD HL,BC + 0000535B 46 1977 LD B,(HL) + 0000535C 23 1978 INC HL + 0000535D 66 1979 LD H,(HL) + 0000535E 68 1980 LD L,B + 0000535F 01 17 00 1981 LD BC,23 + 00005362 09 1982 ADD HL,BC + 00005363 4E 1983 LD C,(HL) + 00005364 23 1984 INC HL + 00005365 46 1985 LD B,(HL) + 00005366 23 1986 INC HL + 00005367 7E 1987 LD A,(HL) + 00005368 69 1988 LD L,C + 00005369 60 1989 LD H,B + 0000536A 01 01 04 1990 LD BC,1025 + 0000536D 18 40 1991 JR ?0346 + 0000536F 1992 ?0158: + 0000536F 21 11 00 1993 LD HL,17 + 00005372 09 1994 ADD HL,BC + 00005373 56 1995 LD D,(HL) + 00005374 23 1996 INC HL + 00005375 66 1997 LD H,(HL) + 00005376 6A 1998 LD L,D + 00005377 E5 1999 PUSH HL + 00005378 FD E1 2000 POP IY + 0000537A 11 0A 00 2001 LD DE,10 + 0000537D 19 2002 ADD HL,DE + 0000537E 7E 2003 LD A,(HL) + 0000537F F6 03 2004 OR 3 + 00005381 77 2005 LD (HL),A + 00005382 6A 2006 LD L,D + 00005383 62 2007 LD H,D + 00005384 E5 2008 PUSH HL + 00005385 23 2009 INC HL + 00005386 E5 2010 PUSH HL + 00005387 4A 2011 LD C,D + 00005388 42 2012 LD B,D + 00005389 FD E5 2013 PUSH IY + 0000538B D1 2014 POP DE + 0000538C 3E 00 2015 LD A,BYTE3 Component_changestate_children + 0000538E 21 FE 4F 2016 LD HL,LWRD Component_changestate_children + 00005391 CD FB 81 2017 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005394 E1 2018 POP HL + 00005395 E1 2019 POP HL + 00005396 21 00 00 2020 LD HL,0 + 00005399 E5 2021 PUSH HL + 0000539A DD 5E 02 2022 LD E,(IX+2) + 0000539D 4B 2023 LD C,E + 0000539E DD 56 03 2024 LD D,(IX+3) + 000053A1 42 2025 LD B,D + 000053A2 2E 17 2026 LD L,23 + 000053A4 09 2027 ADD HL,BC + 000053A5 4E 2028 LD C,(HL) + 000053A6 23 2029 INC HL + 000053A7 46 2030 LD B,(HL) + 000053A8 23 2031 INC HL + 000053A9 7E 2032 LD A,(HL) + 000053AA 69 2033 LD L,C + 000053AB 60 2034 LD H,B + 000053AC 01 05 01 2035 LD BC,261 + 000053AF 2036 ?0346: + 000053AF CD FB 81 2037 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000053B2 E1 2038 POP HL + 000053B3 2039 ?0159: + 000053B3 2040 ?0156: + 000053B3 2041 ?0112: + 000053B3 FD E1 2042 POP IY + 000053B5 C3 A3 81 2043 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000053B8 2044 ?0462: + 000053B8 DD 4E 04 2045 LD C,(IX+4) + 000053BB DD 46 05 2046 LD B,(IX+5) + 000053BE 2047 ?0463: + 000053BE FD E5 2048 PUSH IY + 000053C0 D1 2049 POP DE + 000053C1 FD 7E 19 2050 LD A,(IY+25) + 000053C4 FD 6E 17 2051 LD L,(IY+23) + 000053C7 FD 66 18 2052 LD H,(IY+24) + 000053CA C3 FB 81 2053 JP LWRD ?BANK_CALL_DIRECT_L08 + 000053CD 2054 ?0467: + 000053CD 23 2055 INC HL + 000053CE 23 2056 INC HL + 000053CF 2057 ?0468: + 000053CF 4D 2058 LD C,L + 000053D0 44 2059 LD B,H + 000053D1 DD E5 2060 PUSH IX + 000053D3 D1 2061 POP DE + 000053D4 2062 ?0466: + 000053D4 3E 00 2063 LD A,BYTE3 Component_findXY + 000053D6 21 92 4D 2064 LD HL,LWRD Component_findXY + 000053D9 C3 FB 81 2065 JP LWRD ?BANK_CALL_DIRECT_L08 + 000053DC 2066 ?0475: + 000053DC 09 2067 ADD HL,BC + 000053DD 2068 ?0474: + 000053DD 4E 2069 LD C,(HL) + 000053DE 23 2070 INC HL + 000053DF 46 2071 LD B,(HL) + 000053E0 23 2072 INC HL + 000053E1 7E 2073 LD A,(HL) + 000053E2 69 2074 LD L,C + 000053E3 60 2075 LD H,B + 000053E4 C3 FB 81 2076 JP LWRD ?BANK_CALL_DIRECT_L08 + 000053E7 2077 Window_paint: + 000053E7 CD 7A 82 2078 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000053EA FC FF 2079 DEFW -4 + 000053EC FD E5 2080 PUSH IY + 000053EE DD 6E 02 2081 LD L,(IX+2) + 000053F1 DD 66 03 2082 LD H,(IX+3) + 000053F4 E5 2083 PUSH HL + 000053F5 FD E1 2084 POP IY + 000053F7 AF 2085 XOR A + 000053F8 DD 77 FE 2086 LD (IX-2),A + 000053FB DD 77 FF 2087 LD (IX-1),A + 000053FE DD 77 FC 2088 LD (IX-4),A + 00005401 DD 77 FD 2089 LD (IX-3),A + 00005404 21 0A 00 2090 LD HL,10 + 00005407 ED 4B 3F 87 2091 LD BC,(global) + 0000540B 09 2092 ADD HL,BC + 0000540C 7E 2093 LD A,(HL) + 0000540D 23 2094 INC HL + 0000540E 66 2095 LD H,(HL) + 0000540F 6F 2096 LD L,A + 00005410 46 2097 LD B,(HL) + 00005411 23 2098 INC HL + 00005412 66 2099 LD H,(HL) + 00005413 68 2100 LD L,B + 00005414 FD 4E 0E 2101 LD C,(IY+14) + 00005417 FD 46 0F 2102 LD B,(IY+15) + 0000541A A7 2103 AND A + 0000541B ED 42 2104 SBC HL,BC + 0000541D 28 09 2105 JR Z,?0161 + 0000541F 2106 ?0160: + 0000541F FD 5E 0E 2107 LD E,(IY+14) + 00005422 FD 56 0F 2108 LD D,(IY+15) + 00005425 CD 6C 55 2109 CALL LWRD ?0472 + 00005428 2110 ?0161: + 00005428 FD CB 0A 46 2111 BIT 0,(IY+10) + 0000542C CA 24 55 2112 JP Z,?0163 + 0000542F 2113 ?0162: + 0000542F 21 02 00 2114 LD HL,2 + 00005432 39 2115 ADD HL,SP + 00005433 E5 2116 PUSH HL + 00005434 23 2117 INC HL + 00005435 23 2118 INC HL + 00005436 4D 2119 LD C,L + 00005437 44 2120 LD B,H + 00005438 FD E5 2121 PUSH IY + 0000543A D1 2122 POP DE + 0000543B CD D4 53 2123 CALL LWRD ?0466 + 0000543E E1 2124 POP HL + 0000543F CD 88 4D 2125 CALL LWRD ?0477 + 00005442 DD 4E FC 2126 LD C,(IX-4) + 00005445 DD 46 FD 2127 LD B,(IX-3) + 00005448 DD 5E FE 2128 LD E,(IX-2) + 0000544B DD 56 FF 2129 LD D,(IX-1) + 0000544E 3E 00 2130 LD A,BYTE3 Move + 00005450 21 EB 46 2131 LD HL,LWRD Move + 00005453 CD FB 81 2132 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005456 FD 4E 08 2133 LD C,(IY+8) + 00005459 FD 46 09 2134 LD B,(IY+9) + 0000545C FD 5E 06 2135 LD E,(IY+6) + 0000545F FD 56 07 2136 LD D,(IY+7) + 00005462 3E 00 2137 LD A,BYTE3 ClearRect + 00005464 21 2A 47 2138 LD HL,LWRD ClearRect + 00005467 CD FB 81 2139 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000546A FD 6E 08 2140 LD L,(IY+8) + 0000546D FD 66 09 2141 LD H,(IY+9) + 00005470 E5 2142 PUSH HL + 00005471 FD 6E 06 2143 LD L,(IY+6) + 00005474 FD 66 07 2144 LD H,(IY+7) + 00005477 E5 2145 PUSH HL + 00005478 DD 6E FC 2146 LD L,(IX-4) + 0000547B DD 66 FD 2147 LD H,(IX-3) + 0000547E E5 2148 PUSH HL + 0000547F DD 4E FE 2149 LD C,(IX-2) + 00005482 DD 46 FF 2150 LD B,(IX-1) + 00005485 11 00 00 2151 LD DE,0 + 00005488 CD 3A 49 2152 CALL LWRD ?0471 + 0000548B E1 2153 POP HL + 0000548C E1 2154 POP HL + 0000548D E1 2155 POP HL + 0000548E FD 5E 20 2156 LD E,(IY+32) + 00005491 FD 56 21 2157 LD D,(IY+33) + 00005494 21 0A 00 2158 LD HL,10 + 00005497 ED 4B 3F 87 2159 LD BC,(global) + 0000549B 09 2160 ADD HL,BC + 0000549C 7E 2161 LD A,(HL) + 0000549D 23 2162 INC HL + 0000549E 66 2163 LD H,(HL) + 0000549F 6F 2164 LD L,A + 000054A0 CD 29 55 2165 CALL LWRD ?0455 + 000054A3 DD 4E FC 2166 LD C,(IX-4) + 000054A6 DD 46 FD 2167 LD B,(IX-3) + 000054A9 09 2168 ADD HL,BC + 000054AA 11 04 00 2169 LD DE,4 + 000054AD 19 2170 ADD HL,DE + 000054AE 4D 2171 LD C,L + 000054AF 44 2172 LD B,H + 000054B0 CD 37 55 2173 CALL LWRD ?0459 + 000054B3 7E 2174 LD A,(HL) + 000054B4 23 2175 INC HL + 000054B5 66 2176 LD H,(HL) + 000054B6 6F 2177 LD L,A + 000054B7 01 05 00 2178 LD BC,5 + 000054BA 09 2179 ADD HL,BC + 000054BB 4E 2180 LD C,(HL) + 000054BC 23 2181 INC HL + 000054BD 46 2182 LD B,(HL) + 000054BE 23 2183 INC HL + 000054BF 7E 2184 LD A,(HL) + 000054C0 69 2185 LD L,C + 000054C1 60 2186 LD H,B + 000054C2 CD 5B 4A 2187 CALL LWRD ?0444 + 000054C5 01 FC FF 2188 LD BC,65532 + 000054C8 09 2189 ADD HL,BC + 000054C9 4D 2190 LD C,L + 000054CA 44 2191 LD B,H + 000054CB FD 5E 06 2192 LD E,(IY+6) + 000054CE FD 56 07 2193 LD D,(IY+7) + 000054D1 3E 00 2194 LD A,BYTE3 DrawRectNC + 000054D3 21 6D 47 2195 LD HL,LWRD DrawRectNC + 000054D6 CD FB 81 2196 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000054D9 DD 4E FC 2197 LD C,(IX-4) + 000054DC DD 46 FD 2198 LD B,(IX-3) + 000054DF CD 37 55 2199 CALL LWRD ?0459 + 000054E2 46 2200 LD B,(HL) + 000054E3 23 2201 INC HL + 000054E4 66 2202 LD H,(HL) + 000054E5 68 2203 LD L,B + 000054E6 CD 29 55 2204 CALL LWRD ?0455 + 000054E9 01 05 00 2205 LD BC,5 + 000054EC 09 2206 ADD HL,BC + 000054ED 4D 2207 LD C,L + 000054EE 44 2208 LD B,H + 000054EF FD 5E 06 2209 LD E,(IY+6) + 000054F2 FD 56 07 2210 LD D,(IY+7) + 000054F5 3E 00 2211 LD A,BYTE3 FillRect + 000054F7 21 B2 47 2212 LD HL,LWRD FillRect + 000054FA CD FB 81 2213 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000054FD 21 0E 00 2214 LD HL,14 + 00005500 DD 4E FC 2215 LD C,(IX-4) + 00005503 DD 46 FD 2216 LD B,(IX-3) + 00005506 09 2217 ADD HL,BC + 00005507 4D 2218 LD C,L + 00005508 44 2219 LD B,H + 00005509 DD 5E FE 2220 LD E,(IX-2) + 0000550C DD 56 FF 2221 LD D,(IX-1) + 0000550F 13 2222 INC DE + 00005510 13 2223 INC DE + 00005511 3E 00 2224 LD A,BYTE3 Move + 00005513 21 EB 46 2225 LD HL,LWRD Move + 00005516 CD 54 55 2226 CALL LWRD ?0460 + 00005519 FD E5 2227 PUSH IY + 0000551B D1 2228 POP DE + 0000551C 3E 00 2229 LD A,BYTE3 Component_paint + 0000551E 21 4C 4D 2230 LD HL,LWRD Component_paint + 00005521 CD FB 81 2231 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005524 2232 ?0163: + 00005524 FD E1 2233 POP IY + 00005526 C3 A3 81 2234 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00005529 2235 ?0455: + 00005529 01 05 00 2236 LD BC,5 + 0000552C 09 2237 ADD HL,BC + 0000552D 4E 2238 LD C,(HL) + 0000552E 23 2239 INC HL + 0000552F 46 2240 LD B,(HL) + 00005530 23 2241 INC HL + 00005531 7E 2242 LD A,(HL) + 00005532 69 2243 LD L,C + 00005533 60 2244 LD H,B + 00005534 C3 FB 81 2245 JP LWRD ?BANK_CALL_DIRECT_L08 + 00005537 2246 ?0459: + 00005537 DD 5E FE 2247 LD E,(IX-2) + 0000553A DD 56 FF 2248 LD D,(IX-1) + 0000553D 3E 00 2249 LD A,BYTE3 Move + 0000553F 21 EB 46 2250 LD HL,LWRD Move + 00005542 CD FB 81 2251 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005545 FD 5E 20 2252 LD E,(IY+32) + 00005548 FD 56 21 2253 LD D,(IY+33) + 0000554B 21 0A 00 2254 LD HL,10 + 0000554E ED 4B 3F 87 2255 LD BC,(global) + 00005552 09 2256 ADD HL,BC + 00005553 C9 2257 RET + 00005554 2258 ?0460: + 00005554 CD FB 81 2259 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005557 FD 5E 20 2260 LD E,(IY+32) + 0000555A FD 56 21 2261 LD D,(IY+33) + 0000555D 3E 00 2262 LD A,BYTE3 Text + 0000555F 21 81 48 2263 LD HL,LWRD Text + 00005562 CD FB 81 2264 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005565 C9 2265 RET + 00005566 2266 ?0473: + 00005566 DD 5E 0E 2267 LD E,(IX+14) + 00005569 DD 56 0F 2268 LD D,(IX+15) + 0000556C 2269 ?0472: + 0000556C 3E 00 2270 LD A,BYTE3 setCurrentFont + 0000556E 21 ED 49 2271 LD HL,LWRD setCurrentFont + 00005571 C3 FB 81 2272 JP LWRD ?BANK_CALL_DIRECT_L08 + 00005574 2273 Root_paint: + 00005574 CD EF 81 2274 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00005577 CD 88 4D 2275 CALL LWRD ?0477 + 0000557A CD 1F 49 2276 CALL LWRD ?0461 + 0000557D CD FB 81 2277 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005580 01 80 00 2278 LD BC,128 + 00005583 58 2279 LD E,B + 00005584 50 2280 LD D,B + 00005585 3E 00 2281 LD A,BYTE3 GrayRect + 00005587 21 3C 48 2282 LD HL,LWRD GrayRect + 0000558A CD FB 81 2283 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000558D 21 80 00 2284 LD HL,128 + 00005590 E5 2285 PUSH HL + 00005591 6C 2286 LD L,H + 00005592 E5 2287 PUSH HL + 00005593 E5 2288 PUSH HL + 00005594 CD 37 49 2289 CALL LWRD ?0470 + 00005597 E1 2290 POP HL + 00005598 E1 2291 POP HL + 00005599 E1 2292 POP HL + 0000559A DD 5E 02 2293 LD E,(IX+2) + 0000559D DD 56 03 2294 LD D,(IX+3) + 000055A0 3E 00 2295 LD A,BYTE3 Component_paint + 000055A2 21 4C 4D 2296 LD HL,LWRD Component_paint + 000055A5 CD FB 81 2297 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000055A8 C3 A3 81 2298 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000055AB 2299 Window_add: + 000055AB CD EF 81 2300 CALL LWRD ?ENT_PARM_DIRECT_L09 + 000055AE 3E 00 2301 LD A,BYTE3 Component_add + 000055B0 21 EE 4C 2302 LD HL,LWRD Component_add + 000055B3 CD FB 81 2303 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000055B6 C3 A3 81 2304 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 000055B9 2305 Window_new: + 000055B9 CD 7A 82 2306 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 000055BC 00 00 2307 DEFW 0 + 000055BE FD E5 2308 PUSH IY + 000055C0 DD 6E 0C 2309 LD L,(IX+12) + 000055C3 DD 66 0D 2310 LD H,(IX+13) + 000055C6 E5 2311 PUSH HL + 000055C7 DD 6E 0A 2312 LD L,(IX+10) + 000055CA DD 66 0B 2313 LD H,(IX+11) + 000055CD E5 2314 PUSH HL + 000055CE CD FD 55 2315 CALL LWRD ?0438 + 000055D1 F1 2316 POP AF + 000055D2 F1 2317 POP AF + 000055D3 E5 2318 PUSH HL + 000055D4 FD E1 2319 POP IY + 000055D6 01 17 00 2320 LD BC,23 + 000055D9 09 2321 ADD HL,BC + 000055DA 36 1A 2322 LD (HL),LOW(Window_handler) + 000055DC 23 2323 INC HL + 000055DD 36 51 2324 LD (HL),HIGH(Window_handler) + 000055DF 23 2325 INC HL + 000055E0 36 00 2326 LD (HL),BYTE3 Window_handler + 000055E2 FD 36 1A E7 2327 LD (IY+26),LOW(Window_paint) + 000055E6 FD 36 1B 53 2328 LD (IY+27),HIGH(Window_paint) + 000055EA FD 36 1C 00 2329 LD (IY+28),BYTE3 Window_paint + 000055EE FD 36 1D AB 2330 LD (IY+29),LOW(Window_add) + 000055F2 FD 36 1E 55 2331 LD (IY+30),HIGH(Window_add) + 000055F6 FD 36 1F 00 2332 LD (IY+31),BYTE3 Window_add + 000055FA C3 99 4C 2333 JP LWRD ?0418 + 000055FD 2334 ?0438: + 000055FD DD 5E 02 2335 LD E,(IX+2) + 00005600 DD 56 03 2336 LD D,(IX+3) + 00005603 3E 00 2337 LD A,BYTE3 Component_new + 00005605 21 F7 4B 2338 LD HL,LWRD Component_new + 00005608 C3 FB 81 2339 JP LWRD ?BANK_CALL_DIRECT_L08 + 0000560B 2340 Button_handler: + 0000560B CD EF 81 2341 CALL LWRD ?ENT_PARM_DIRECT_L09 + 0000560E FD E5 2342 PUSH IY + 00005610 D5 2343 PUSH DE + 00005611 FD E1 2344 POP IY + 00005613 DD 6E 0A 2345 LD L,(IX+10) + 00005616 DD 66 0B 2346 LD H,(IX+11) + 00005619 E5 2347 PUSH HL + 0000561A 3E 00 2348 LD A,BYTE3 Window_handler + 0000561C 21 1A 51 2349 LD HL,LWRD Window_handler + 0000561F CD FB 81 2350 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005622 E1 2351 POP HL + 00005623 3E 03 2352 LD A,3 + 00005625 DD AE 04 2353 XOR (IX+4) + 00005628 DD B6 05 2354 OR (IX+5) + 0000562B 20 3E 2355 JR NZ,?0169 + 0000562D FD 4E 10 2356 LD C,(IY+16) + 00005630 47 2357 LD B,A + 00005631 DD 6E 0A 2358 LD L,(IX+10) + 00005634 DD 66 0B 2359 LD H,(IX+11) + 00005637 ED 42 2360 SBC HL,BC + 00005639 20 30 2361 JR NZ,?0169 + 0000563B FD 7E 0A 2362 LD A,(IY+10) + 0000563E E6 03 2363 AND 3 + 00005640 28 29 2364 JR Z,?0169 + 00005642 2365 ?0167: + 00005642 2366 ?0166: + 00005642 2367 ?0164: + 00005642 DD 6E 0A 2368 LD L,(IX+10) + 00005645 DD 66 0B 2369 LD H,(IX+11) + 00005648 E5 2370 PUSH HL + 00005649 FD 5E 11 2371 LD E,(IY+17) + 0000564C FD 56 12 2372 LD D,(IY+18) + 0000564F FD 6E 11 2373 LD L,(IY+17) + 00005652 FD 66 12 2374 LD H,(IY+18) + 00005655 0E 17 2375 LD C,23 + 00005657 CD 98 56 2376 CALL LWRD ?0464 + 0000565A E1 2377 POP HL + 0000565B FD CB 0A 66 2378 BIT 4,(IY+10) + 0000565F 28 0A 2379 JR Z,?0169 + 00005661 2380 ?0168: + 00005661 FD 4E 10 2381 LD C,(IY+16) + 00005664 06 00 2382 LD B,0 + 00005666 C5 2383 PUSH BC + 00005667 CD A6 56 2384 CALL LWRD ?0469 + 0000566A E1 2385 POP HL + 0000566B 2386 ?0169: + 0000566B 2387 ?0165: + 0000566B 21 01 02 2388 LD HL,513 + 0000566E DD 4E 04 2389 LD C,(IX+4) + 00005671 DD 46 05 2390 LD B,(IX+5) + 00005674 A7 2391 AND A + 00005675 ED 42 2392 SBC HL,BC + 00005677 20 0B 2393 JR NZ,?0171 + 00005679 2394 ?0170: + 00005679 DD 6E 0A 2395 LD L,(IX+10) + 0000567C DD 66 0B 2396 LD H,(IX+11) + 0000567F E5 2397 PUSH HL + 00005680 CD 89 56 2398 CALL LWRD ?0465 + 00005683 E1 2399 POP HL + 00005684 2400 ?0171: + 00005684 FD E1 2401 POP IY + 00005686 C3 A3 81 2402 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00005689 2403 ?0465: + 00005689 FD 5E 11 2404 LD E,(IY+17) + 0000568C FD 56 12 2405 LD D,(IY+18) + 0000568F FD 6E 11 2406 LD L,(IY+17) + 00005692 FD 66 12 2407 LD H,(IY+18) + 00005695 01 17 00 2408 LD BC,23 + 00005698 2409 ?0464: + 00005698 09 2410 ADD HL,BC + 00005699 4E 2411 LD C,(HL) + 0000569A 23 2412 INC HL + 0000569B 46 2413 LD B,(HL) + 0000569C 23 2414 INC HL + 0000569D 7E 2415 LD A,(HL) + 0000569E 69 2416 LD L,C + 0000569F 60 2417 LD H,B + 000056A0 01 01 02 2418 LD BC,513 + 000056A3 C3 FB 81 2419 JP LWRD ?BANK_CALL_DIRECT_L08 + 000056A6 2420 ?0469: + 000056A6 FD 5E 11 2421 LD E,(IY+17) + 000056A9 FD 56 12 2422 LD D,(IY+18) + 000056AC FD 6E 11 2423 LD L,(IY+17) + 000056AF FD 66 12 2424 LD H,(IY+18) + 000056B2 0E 17 2425 LD C,23 + 000056B4 09 2426 ADD HL,BC + 000056B5 4E 2427 LD C,(HL) + 000056B6 23 2428 INC HL + 000056B7 46 2429 LD B,(HL) + 000056B8 23 2430 INC HL + 000056B9 7E 2431 LD A,(HL) + 000056BA 69 2432 LD L,C + 000056BB 60 2433 LD H,B + 000056BC 01 04 01 2434 LD BC,260 + 000056BF C3 FB 81 2435 JP LWRD ?BANK_CALL_DIRECT_L08 + 000056C2 2436 Button_drawtext: + 000056C2 CD EF 81 2437 CALL LWRD ?ENT_PARM_DIRECT_L09 + 000056C5 FD E5 2438 PUSH IY + 000056C7 D5 2439 PUSH DE + 000056C8 FD E1 2440 POP IY + 000056CA 21 0A 00 2441 LD HL,10 + 000056CD 19 2442 ADD HL,DE + 000056CE CB 76 2443 BIT 6,(HL) + 000056D0 FD 5E 20 2444 LD E,(IY+32) + 000056D3 FD 56 21 2445 LD D,(IY+33) + 000056D6 21 0A 00 2446 LD HL,10 + 000056D9 ED 4B 3F 87 2447 LD BC,(global) + 000056DD 09 2448 ADD HL,BC + 000056DE 7E 2449 LD A,(HL) + 000056DF 23 2450 INC HL + 000056E0 66 2451 LD H,(HL) + 000056E1 6F 2452 LD L,A + 000056E2 01 05 00 2453 LD BC,5 + 000056E5 09 2454 ADD HL,BC + 000056E6 4E 2455 LD C,(HL) + 000056E7 23 2456 INC HL + 000056E8 46 2457 LD B,(HL) + 000056E9 23 2458 INC HL + 000056EA 7E 2459 LD A,(HL) + 000056EB 69 2460 LD L,C + 000056EC 60 2461 LD H,B + 000056ED 28 53 2462 JR Z,?0173 + 000056EF 2463 ?0172: + 000056EF CD FB 81 2464 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000056F2 29 2465 ADD HL,HL + 000056F3 4D 2466 LD C,L + 000056F4 44 2467 LD B,H + 000056F5 FD 6E 08 2468 LD L,(IY+8) + 000056F8 FD 66 09 2469 LD H,(IY+9) + 000056FB A7 2470 AND A + 000056FC ED 42 2471 SBC HL,BC + 000056FE CD 6F 57 2472 CALL LWRD ?0480 + 00005701 0E 0C 2473 LD C,12 + 00005703 09 2474 ADD HL,BC + 00005704 E5 2475 PUSH HL + 00005705 FD 5E 20 2476 LD E,(IY+32) + 00005708 FD 56 21 2477 LD D,(IY+33) + 0000570B 21 0A 00 2478 LD HL,10 + 0000570E ED 4B 3F 87 2479 LD BC,(global) + 00005712 09 2480 ADD HL,BC + 00005713 7E 2481 LD A,(HL) + 00005714 23 2482 INC HL + 00005715 66 2483 LD H,(HL) + 00005716 6F 2484 LD L,A + 00005717 CD 2F 4A 2485 CALL LWRD ?0442 + 0000571A C1 2486 POP BC + 0000571B CD 54 55 2487 CALL LWRD ?0460 + 0000571E FD 5E 08 2488 LD E,(IY+8) + 00005721 FD 56 09 2489 LD D,(IY+9) + 00005724 CD 70 57 2490 CALL LWRD ?0481 + 00005727 0E 0A 2491 LD C,10 + 00005729 09 2492 ADD HL,BC + 0000572A E5 2493 PUSH HL + 0000572B FD 5E 22 2494 LD E,(IY+34) + 0000572E FD 56 23 2495 LD D,(IY+35) + 00005731 69 2496 LD L,C + 00005732 60 2497 LD H,B + 00005733 CD 26 4A 2498 CALL LWRD ?0443 + 00005736 C1 2499 POP BC + 00005737 CD FB 81 2500 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000573A FD 5E 22 2501 LD E,(IY+34) + 0000573D FD 56 23 2502 LD D,(IY+35) + 00005740 18 20 2503 JR ?0350 + 00005742 2504 ?0173: + 00005742 CD 5B 4A 2505 CALL LWRD ?0444 + 00005745 CD 6F 57 2506 CALL LWRD ?0480 + 00005748 0E 0D 2507 LD C,13 + 0000574A 09 2508 ADD HL,BC + 0000574B E5 2509 PUSH HL + 0000574C FD 5E 20 2510 LD E,(IY+32) + 0000574F FD 56 21 2511 LD D,(IY+33) + 00005752 21 0A 00 2512 LD HL,10 + 00005755 CD 26 4A 2513 CALL LWRD ?0443 + 00005758 C1 2514 POP BC + 00005759 CD FB 81 2515 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000575C FD 5E 20 2516 LD E,(IY+32) + 0000575F FD 56 21 2517 LD D,(IY+33) + 00005762 2518 ?0350: + 00005762 3E 00 2519 LD A,BYTE3 Text + 00005764 21 81 48 2520 LD HL,LWRD Text + 00005767 2521 ?0424: + 00005767 CD FB 81 2522 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000576A 2523 ?0174: + 0000576A FD E1 2524 POP IY + 0000576C C3 A3 81 2525 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000576F 2526 ?0480: + 0000576F EB 2527 EX DE,HL + 00005770 2528 ?0481: + 00005770 01 02 00 2529 LD BC,2 + 00005773 CD EB 82 2530 CALL LWRD ?SS_DIV_L02 + 00005776 DD 6E 0A 2531 LD L,(IX+10) + 00005779 DD 66 0B 2532 LD H,(IX+11) + 0000577C 19 2533 ADD HL,DE + 0000577D C9 2534 RET + 0000577E 2535 Button_paint: + 0000577E C5 2536 PUSH BC + 0000577F DD E5 2537 PUSH IX + 00005781 F5 2538 PUSH AF + 00005782 F5 2539 PUSH AF + 00005783 D5 2540 PUSH DE + 00005784 DD E1 2541 POP IX + 00005786 21 02 00 2542 LD HL,2 + 00005789 39 2543 ADD HL,SP + 0000578A AF 2544 XOR A + 0000578B 77 2545 LD (HL),A + 0000578C 23 2546 INC HL + 0000578D 77 2547 LD (HL),A + 0000578E 2B 2548 DEC HL + 0000578F 2B 2549 DEC HL + 00005790 2B 2550 DEC HL + 00005791 77 2551 LD (HL),A + 00005792 23 2552 INC HL + 00005793 77 2553 LD (HL),A + 00005794 21 0A 00 2554 LD HL,10 + 00005797 ED 4B 3F 87 2555 LD BC,(global) + 0000579B 09 2556 ADD HL,BC + 0000579C 7E 2557 LD A,(HL) + 0000579D 23 2558 INC HL + 0000579E 66 2559 LD H,(HL) + 0000579F 6F 2560 LD L,A + 000057A0 46 2561 LD B,(HL) + 000057A1 23 2562 INC HL + 000057A2 66 2563 LD H,(HL) + 000057A3 68 2564 LD L,B + 000057A4 E5 2565 PUSH HL + 000057A5 21 0E 00 2566 LD HL,14 + 000057A8 19 2567 ADD HL,DE + 000057A9 4E 2568 LD C,(HL) + 000057AA 23 2569 INC HL + 000057AB 46 2570 LD B,(HL) + 000057AC E1 2571 POP HL + 000057AD A7 2572 AND A + 000057AE ED 42 2573 SBC HL,BC + 000057B0 28 03 2574 JR Z,?0176 + 000057B2 2575 ?0175: + 000057B2 CD 66 55 2576 CALL LWRD ?0473 + 000057B5 2577 ?0176: + 000057B5 DD CB 0A 46 2578 BIT 0,(IX+10) + 000057B9 CA 4E 58 2579 JP Z,?0178 + 000057BC 2580 ?0177: + 000057BC 21 00 00 2581 LD HL,0 + 000057BF 39 2582 ADD HL,SP + 000057C0 E5 2583 PUSH HL + 000057C1 CD CD 53 2584 CALL LWRD ?0467 + 000057C4 E1 2585 POP HL + 000057C5 21 00 00 2586 LD HL,0 + 000057C8 39 2587 ADD HL,SP + 000057C9 CD 56 58 2588 CALL LWRD ?0457 + 000057CC CD FB 81 2589 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000057CF DD 6E 08 2590 LD L,(IX+8) + 000057D2 DD 66 09 2591 LD H,(IX+9) + 000057D5 E5 2592 PUSH HL + 000057D6 DD 6E 06 2593 LD L,(IX+6) + 000057D9 DD 66 07 2594 LD H,(IX+7) + 000057DC E5 2595 PUSH HL + 000057DD 21 04 00 2596 LD HL,4 + 000057E0 39 2597 ADD HL,SP + 000057E1 4E 2598 LD C,(HL) + 000057E2 23 2599 INC HL + 000057E3 46 2600 LD B,(HL) + 000057E4 C5 2601 PUSH BC + 000057E5 23 2602 INC HL + 000057E6 4E 2603 LD C,(HL) + 000057E7 23 2604 INC HL + 000057E8 46 2605 LD B,(HL) + 000057E9 DD CB 0A 4E 2606 BIT 1,(IX+10) + 000057ED 28 07 2607 JR Z,?0180 + 000057EF DD 5E 10 2608 LD E,(IX+16) + 000057F2 16 00 2609 LD D,0 + 000057F4 18 03 2610 JR ?0181 + 000057F6 2611 ?0180: + 000057F6 11 00 00 2612 LD DE,0 + 000057F9 2613 ?0181: + 000057F9 CD 3A 49 2614 CALL LWRD ?0471 + 000057FC E1 2615 POP HL + 000057FD E1 2616 POP HL + 000057FE E1 2617 POP HL + 000057FF DD 7E 0A 2618 LD A,(IX+10) + 00005802 E6 82 2619 AND 130 + 00005804 28 1C 2620 JR Z,?0183 + 00005806 DD 7E 0A 2621 LD A,(IX+10) + 00005809 E6 82 2622 AND 130 + 0000580B EE 82 2623 XOR 130 + 0000580D 28 13 2624 JR Z,?0183 + 0000580F 2625 ?0185: + 0000580F 2626 ?0184: + 0000580F 2627 ?0182: + 0000580F DD 4E 08 2628 LD C,(IX+8) + 00005812 DD 46 09 2629 LD B,(IX+9) + 00005815 DD 5E 06 2630 LD E,(IX+6) + 00005818 DD 56 07 2631 LD D,(IX+7) + 0000581B 3E 00 2632 LD A,BYTE3 FillRectNC + 0000581D 21 F7 47 2633 LD HL,LWRD FillRectNC + 00005820 18 11 2634 JR ?0353 + 00005822 2635 ?0183: + 00005822 DD 4E 08 2636 LD C,(IX+8) + 00005825 DD 46 09 2637 LD B,(IX+9) + 00005828 DD 5E 06 2638 LD E,(IX+6) + 0000582B DD 56 07 2639 LD D,(IX+7) + 0000582E 3E 00 2640 LD A,BYTE3 DrawRectNC + 00005830 21 6D 47 2641 LD HL,LWRD DrawRectNC + 00005833 2642 ?0353: + 00005833 CD FB 81 2643 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005836 2644 ?0186: + 00005836 21 00 00 2645 LD HL,0 + 00005839 39 2646 ADD HL,SP + 0000583A 4E 2647 LD C,(HL) + 0000583B 23 2648 INC HL + 0000583C 46 2649 LD B,(HL) + 0000583D C5 2650 PUSH BC + 0000583E 23 2651 INC HL + 0000583F 4E 2652 LD C,(HL) + 00005840 23 2653 INC HL + 00005841 46 2654 LD B,(HL) + 00005842 DD E5 2655 PUSH IX + 00005844 D1 2656 POP DE + 00005845 3E 00 2657 LD A,BYTE3 Button_drawtext + 00005847 21 C2 56 2658 LD HL,LWRD Button_drawtext + 0000584A CD FB 81 2659 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000584D E1 2660 POP HL + 0000584E 2661 ?0178: + 0000584E E1 2662 POP HL + 0000584F E1 2663 POP HL + 00005850 DD E1 2664 POP IX + 00005852 C1 2665 POP BC + 00005853 C3 A9 81 2666 JP LWRD ?BANK_FAST_LEAVE_L08 + 00005856 2667 ?0457: + 00005856 4E 2668 LD C,(HL) + 00005857 23 2669 INC HL + 00005858 46 2670 LD B,(HL) + 00005859 23 2671 INC HL + 0000585A 2672 ?0458: + 0000585A 5E 2673 LD E,(HL) + 0000585B 23 2674 INC HL + 0000585C 56 2675 LD D,(HL) + 0000585D 3E 00 2676 LD A,BYTE3 Move + 0000585F 21 EB 46 2677 LD HL,LWRD Move + 00005862 CD FB 81 2678 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005865 DD 4E 08 2679 LD C,(IX+8) + 00005868 DD 46 09 2680 LD B,(IX+9) + 0000586B DD 5E 06 2681 LD E,(IX+6) + 0000586E DD 56 07 2682 LD D,(IX+7) + 00005871 3E 00 2683 LD A,BYTE3 ClearRect + 00005873 21 2A 47 2684 LD HL,LWRD ClearRect + 00005876 C9 2685 RET + 00005877 2686 Button_add: + 00005877 CD EF 81 2687 CALL LWRD ?ENT_PARM_DIRECT_L09 + 0000587A C3 A3 81 2688 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000587D 2689 Button_new: + 0000587D CD 7A 82 2690 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00005880 00 00 2691 DEFW 0 + 00005882 FD E5 2692 PUSH IY + 00005884 DD 6E 0C 2693 LD L,(IX+12) + 00005887 DD 66 0D 2694 LD H,(IX+13) + 0000588A E5 2695 PUSH HL + 0000588B DD 6E 0A 2696 LD L,(IX+10) + 0000588E DD 66 0B 2697 LD H,(IX+11) + 00005891 E5 2698 PUSH HL + 00005892 CD FD 55 2699 CALL LWRD ?0438 + 00005895 F1 2700 POP AF + 00005896 F1 2701 POP AF + 00005897 E5 2702 PUSH HL + 00005898 FD E1 2703 POP IY + 0000589A 01 0A 00 2704 LD BC,10 + 0000589D 09 2705 ADD HL,BC + 0000589E 7E 2706 LD A,(HL) + 0000589F F6 03 2707 OR 3 + 000058A1 77 2708 LD (HL),A + 000058A2 DD 46 0E 2709 LD B,(IX+14) + 000058A5 FD 70 10 2710 LD (IY+16),B + 000058A8 FD 36 17 0B 2711 LD (IY+23),LOW(Button_handler) + 000058AC FD 36 18 56 2712 LD (IY+24),HIGH(Button_handler) + 000058B0 FD 36 19 00 2713 LD (IY+25),BYTE3 Button_handler + 000058B4 FD 36 1A 7E 2714 LD (IY+26),LOW(Button_paint) + 000058B8 FD 36 1B 57 2715 LD (IY+27),HIGH(Button_paint) + 000058BC FD 36 1C 00 2716 LD (IY+28),BYTE3 Button_paint + 000058C0 FD 36 1D 77 2717 LD (IY+29),LOW(Button_add) + 000058C4 FD 36 1E 58 2718 LD (IY+30),HIGH(Button_add) + 000058C8 FD 36 1F 00 2719 LD (IY+31),BYTE3 Button_add + 000058CC C3 99 4C 2720 JP LWRD ?0418 + 000058CF 2721 ToggleButton_handler: + 000058CF CD EF 81 2722 CALL LWRD ?ENT_PARM_DIRECT_L09 + 000058D2 FD E5 2723 PUSH IY + 000058D4 D5 2724 PUSH DE + 000058D5 FD E1 2725 POP IY + 000058D7 DD 6E 0A 2726 LD L,(IX+10) + 000058DA DD 66 0B 2727 LD H,(IX+11) + 000058DD E5 2728 PUSH HL + 000058DE 3E 00 2729 LD A,BYTE3 Window_handler + 000058E0 21 1A 51 2730 LD HL,LWRD Window_handler + 000058E3 CD FB 81 2731 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000058E6 E1 2732 POP HL + 000058E7 3E 03 2733 LD A,3 + 000058E9 DD AE 04 2734 XOR (IX+4) + 000058EC DD B6 05 2735 OR (IX+5) + 000058EF 20 5C 2736 JR NZ,?0192 + 000058F1 FD 4E 10 2737 LD C,(IY+16) + 000058F4 47 2738 LD B,A + 000058F5 DD 6E 0A 2739 LD L,(IX+10) + 000058F8 DD 66 0B 2740 LD H,(IX+11) + 000058FB ED 42 2741 SBC HL,BC + 000058FD 20 4E 2742 JR NZ,?0192 + 000058FF FD 7E 0A 2743 LD A,(IY+10) + 00005902 E6 03 2744 AND 3 + 00005904 28 47 2745 JR Z,?0192 + 00005906 2746 ?0190: + 00005906 2747 ?0189: + 00005906 2748 ?0187: + 00005906 FD 7E 0A 2749 LD A,(IY+10) + 00005909 EE 04 2750 XOR 4 + 0000590B FD 77 0A 2751 LD (IY+10),A + 0000590E DD 6E 0A 2752 LD L,(IX+10) + 00005911 DD 66 0B 2753 LD H,(IX+11) + 00005914 E5 2754 PUSH HL + 00005915 FD 5E 11 2755 LD E,(IY+17) + 00005918 FD 56 12 2756 LD D,(IY+18) + 0000591B FD 6E 11 2757 LD L,(IY+17) + 0000591E FD 66 12 2758 LD H,(IY+18) + 00005921 0E 17 2759 LD C,23 + 00005923 09 2760 ADD HL,BC + 00005924 4E 2761 LD C,(HL) + 00005925 23 2762 INC HL + 00005926 46 2763 LD B,(HL) + 00005927 23 2764 INC HL + 00005928 7E 2765 LD A,(HL) + 00005929 69 2766 LD L,C + 0000592A 60 2767 LD H,B + 0000592B 01 02 02 2768 LD BC,514 + 0000592E CD FB 81 2769 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005931 E1 2770 POP HL + 00005932 21 00 00 2771 LD HL,0 + 00005935 E5 2772 PUSH HL + 00005936 01 03 01 2773 LD BC,259 + 00005939 CD BE 53 2774 CALL LWRD ?0463 + 0000593C E1 2775 POP HL + 0000593D FD CB 0A 66 2776 BIT 4,(IY+10) + 00005941 28 0A 2777 JR Z,?0192 + 00005943 2778 ?0191: + 00005943 FD 4E 10 2779 LD C,(IY+16) + 00005946 06 00 2780 LD B,0 + 00005948 C5 2781 PUSH BC + 00005949 CD A6 56 2782 CALL LWRD ?0469 + 0000594C E1 2783 POP HL + 0000594D 2784 ?0192: + 0000594D 2785 ?0188: + 0000594D 21 01 02 2786 LD HL,513 + 00005950 DD 4E 04 2787 LD C,(IX+4) + 00005953 DD 46 05 2788 LD B,(IX+5) + 00005956 A7 2789 AND A + 00005957 ED 42 2790 SBC HL,BC + 00005959 20 0B 2791 JR NZ,?0194 + 0000595B 2792 ?0193: + 0000595B DD 6E 0A 2793 LD L,(IX+10) + 0000595E DD 66 0B 2794 LD H,(IX+11) + 00005961 E5 2795 PUSH HL + 00005962 CD 89 56 2796 CALL LWRD ?0465 + 00005965 E1 2797 POP HL + 00005966 2798 ?0194: + 00005966 FD E1 2799 POP IY + 00005968 C3 A3 81 2800 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 0000596B 2801 ToggleButton_paint: + 0000596B C5 2802 PUSH BC + 0000596C DD E5 2803 PUSH IX + 0000596E F5 2804 PUSH AF + 0000596F F5 2805 PUSH AF + 00005970 D5 2806 PUSH DE + 00005971 DD E1 2807 POP IX + 00005973 21 02 00 2808 LD HL,2 + 00005976 39 2809 ADD HL,SP + 00005977 AF 2810 XOR A + 00005978 77 2811 LD (HL),A + 00005979 23 2812 INC HL + 0000597A 77 2813 LD (HL),A + 0000597B 2B 2814 DEC HL + 0000597C 2B 2815 DEC HL + 0000597D 2B 2816 DEC HL + 0000597E 77 2817 LD (HL),A + 0000597F 23 2818 INC HL + 00005980 77 2819 LD (HL),A + 00005981 21 0A 00 2820 LD HL,10 + 00005984 ED 4B 3F 87 2821 LD BC,(global) + 00005988 09 2822 ADD HL,BC + 00005989 7E 2823 LD A,(HL) + 0000598A 23 2824 INC HL + 0000598B 66 2825 LD H,(HL) + 0000598C 6F 2826 LD L,A + 0000598D 46 2827 LD B,(HL) + 0000598E 23 2828 INC HL + 0000598F 66 2829 LD H,(HL) + 00005990 68 2830 LD L,B + 00005991 E5 2831 PUSH HL + 00005992 21 0E 00 2832 LD HL,14 + 00005995 19 2833 ADD HL,DE + 00005996 4E 2834 LD C,(HL) + 00005997 23 2835 INC HL + 00005998 46 2836 LD B,(HL) + 00005999 E1 2837 POP HL + 0000599A A7 2838 AND A + 0000599B ED 42 2839 SBC HL,BC + 0000599D 28 03 2840 JR Z,?0196 + 0000599F 2841 ?0195: + 0000599F CD 66 55 2842 CALL LWRD ?0473 + 000059A2 2843 ?0196: + 000059A2 DD CB 0A 46 2844 BIT 0,(IX+10) + 000059A6 CA 54 5A 2845 JP Z,?0198 + 000059A9 2846 ?0197: + 000059A9 21 00 00 2847 LD HL,0 + 000059AC 39 2848 ADD HL,SP + 000059AD E5 2849 PUSH HL + 000059AE CD CD 53 2850 CALL LWRD ?0467 + 000059B1 E1 2851 POP HL + 000059B2 21 00 00 2852 LD HL,0 + 000059B5 39 2853 ADD HL,SP + 000059B6 CD 56 58 2854 CALL LWRD ?0457 + 000059B9 CD FB 81 2855 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000059BC DD CB 0A 4E 2856 BIT 1,(IX+10) + 000059C0 28 36 2857 JR Z,?0200 + 000059C2 DD CB 0A 56 2858 BIT 2,(IX+10) + 000059C6 28 30 2859 JR Z,?0200 + 000059C8 2860 ?0202: + 000059C8 2861 ?0201: + 000059C8 2862 ?0199: + 000059C8 DD 4E 08 2863 LD C,(IX+8) + 000059CB DD 46 09 2864 LD B,(IX+9) + 000059CE DD 5E 06 2865 LD E,(IX+6) + 000059D1 DD 56 07 2866 LD D,(IX+7) + 000059D4 3E 00 2867 LD A,BYTE3 FillRectNC + 000059D6 21 F7 47 2868 LD HL,LWRD FillRectNC + 000059D9 CD FB 81 2869 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000059DC DD 6E 08 2870 LD L,(IX+8) + 000059DF DD 66 09 2871 LD H,(IX+9) + 000059E2 E5 2872 PUSH HL + 000059E3 DD 6E 06 2873 LD L,(IX+6) + 000059E6 DD 66 07 2874 LD H,(IX+7) + 000059E9 E5 2875 PUSH HL + 000059EA 21 04 00 2876 LD HL,4 + 000059ED 39 2877 ADD HL,SP + 000059EE 4E 2878 LD C,(HL) + 000059EF 23 2879 INC HL + 000059F0 46 2880 LD B,(HL) + 000059F1 C5 2881 PUSH BC + 000059F2 23 2882 INC HL + 000059F3 4E 2883 LD C,(HL) + 000059F4 23 2884 INC HL + 000059F5 46 2885 LD B,(HL) + 000059F6 18 34 2886 JR ?0357 + 000059F8 2887 ?0200: + 000059F8 DD 4E 08 2888 LD C,(IX+8) + 000059FB DD 46 09 2889 LD B,(IX+9) + 000059FE DD 5E 06 2890 LD E,(IX+6) + 00005A01 DD 56 07 2891 LD D,(IX+7) + 00005A04 3E 00 2892 LD A,BYTE3 DrawRectNC + 00005A06 21 6D 47 2893 LD HL,LWRD DrawRectNC + 00005A09 CD FB 81 2894 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005A0C DD 6E 08 2895 LD L,(IX+8) + 00005A0F DD 66 09 2896 LD H,(IX+9) + 00005A12 E5 2897 PUSH HL + 00005A13 DD 6E 06 2898 LD L,(IX+6) + 00005A16 DD 66 07 2899 LD H,(IX+7) + 00005A19 E5 2900 PUSH HL + 00005A1A 21 04 00 2901 LD HL,4 + 00005A1D 39 2902 ADD HL,SP + 00005A1E 4E 2903 LD C,(HL) + 00005A1F 23 2904 INC HL + 00005A20 46 2905 LD B,(HL) + 00005A21 C5 2906 PUSH BC + 00005A22 23 2907 INC HL + 00005A23 4E 2908 LD C,(HL) + 00005A24 23 2909 INC HL + 00005A25 46 2910 LD B,(HL) + 00005A26 DD CB 0A 4E 2911 BIT 1,(IX+10) + 00005A2A 28 07 2912 JR Z,?0205 + 00005A2C 2913 ?0357: + 00005A2C DD 5E 10 2914 LD E,(IX+16) + 00005A2F 16 00 2915 LD D,0 + 00005A31 18 03 2916 JR ?0206 + 00005A33 2917 ?0205: + 00005A33 11 00 00 2918 LD DE,0 + 00005A36 2919 ?0206: + 00005A36 CD 3A 49 2920 CALL LWRD ?0471 + 00005A39 E1 2921 POP HL + 00005A3A E1 2922 POP HL + 00005A3B E1 2923 POP HL + 00005A3C 2924 ?0203: + 00005A3C 21 00 00 2925 LD HL,0 + 00005A3F 39 2926 ADD HL,SP + 00005A40 4E 2927 LD C,(HL) + 00005A41 23 2928 INC HL + 00005A42 46 2929 LD B,(HL) + 00005A43 C5 2930 PUSH BC + 00005A44 23 2931 INC HL + 00005A45 4E 2932 LD C,(HL) + 00005A46 23 2933 INC HL + 00005A47 46 2934 LD B,(HL) + 00005A48 DD E5 2935 PUSH IX + 00005A4A D1 2936 POP DE + 00005A4B 3E 00 2937 LD A,BYTE3 Button_drawtext + 00005A4D 21 C2 56 2938 LD HL,LWRD Button_drawtext + 00005A50 CD FB 81 2939 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005A53 E1 2940 POP HL + 00005A54 2941 ?0198: + 00005A54 C3 4E 58 2942 JP LWRD ?0178 + 00005A57 2943 ToggleButton_new: + 00005A57 CD 7A 82 2944 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00005A5A 00 00 2945 DEFW 0 + 00005A5C FD E5 2946 PUSH IY + 00005A5E DD 6E 0C 2947 LD L,(IX+12) + 00005A61 DD 66 0D 2948 LD H,(IX+13) + 00005A64 E5 2949 PUSH HL + 00005A65 DD 6E 0A 2950 LD L,(IX+10) + 00005A68 DD 66 0B 2951 LD H,(IX+11) + 00005A6B E5 2952 PUSH HL + 00005A6C CD FD 55 2953 CALL LWRD ?0438 + 00005A6F F1 2954 POP AF + 00005A70 F1 2955 POP AF + 00005A71 E5 2956 PUSH HL + 00005A72 FD E1 2957 POP IY + 00005A74 01 0A 00 2958 LD BC,10 + 00005A77 09 2959 ADD HL,BC + 00005A78 7E 2960 LD A,(HL) + 00005A79 F6 07 2961 OR 7 + 00005A7B 77 2962 LD (HL),A + 00005A7C DD 46 0E 2963 LD B,(IX+14) + 00005A7F FD 70 10 2964 LD (IY+16),B + 00005A82 FD 36 17 CF 2965 LD (IY+23),LOW(ToggleButton_handler) + 00005A86 FD 36 18 58 2966 LD (IY+24),HIGH(ToggleButton_handler) + 00005A8A FD 36 19 00 2967 LD (IY+25),BYTE3 ToggleButton_handler + 00005A8E FD 36 1A 6B 2968 LD (IY+26),LOW(ToggleButton_paint) + 00005A92 FD 36 1B 59 2969 LD (IY+27),HIGH(ToggleButton_paint) + 00005A96 FD 36 1C 00 2970 LD (IY+28),BYTE3 ToggleButton_paint + 00005A9A FD 36 1D 77 2971 LD (IY+29),LOW(Button_add) + 00005A9E FD 36 1E 58 2972 LD (IY+30),HIGH(Button_add) + 00005AA2 FD 36 1F 00 2973 LD (IY+31),BYTE3 Button_add + 00005AA6 C3 99 4C 2974 JP LWRD ?0418 + 00005AA9 2975 Dialog_handler: + 00005AA9 CD EF 81 2976 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00005AAC FD E5 2977 PUSH IY + 00005AAE D5 2978 PUSH DE + 00005AAF FD E1 2979 POP IY + 00005AB1 DD 6E 0A 2980 LD L,(IX+10) + 00005AB4 DD 66 0B 2981 LD H,(IX+11) + 00005AB7 E5 2982 PUSH HL + 00005AB8 3E 00 2983 LD A,BYTE3 Window_handler + 00005ABA 21 1A 51 2984 LD HL,LWRD Window_handler + 00005ABD CD FB 81 2985 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005AC0 E1 2986 POP HL + 00005AC1 21 01 02 2987 LD HL,513 + 00005AC4 DD 4E 04 2988 LD C,(IX+4) + 00005AC7 DD 46 05 2989 LD B,(IX+5) + 00005ACA A7 2990 AND A + 00005ACB ED 42 2991 SBC HL,BC + 00005ACD 20 40 2992 JR NZ,?0208 + 00005ACF 3E FF 2993 LD A,255 + 00005AD1 DD AE 0A 2994 XOR (IX+10) + 00005AD4 DD B6 0B 2995 OR (IX+11) + 00005AD7 20 36 2996 JR NZ,?0208 + 00005AD9 2997 ?0210: + 00005AD9 2998 ?0209: + 00005AD9 2999 ?0207: + 00005AD9 FD CB 0B 66 3000 BIT 4,(IY+11) + 00005ADD E5 3001 PUSH HL + 00005ADE 28 05 3002 JR Z,?0212 + 00005AE0 3003 ?0211: + 00005AE0 01 05 01 3004 LD BC,261 + 00005AE3 18 03 3005 JR ?0358 + 00005AE5 3006 ?0212: + 00005AE5 01 02 01 3007 LD BC,258 + 00005AE8 3008 ?0358: + 00005AE8 CD BE 53 3009 CALL LWRD ?0463 + 00005AEB E1 3010 POP HL + 00005AEC 3011 ?0213: + 00005AEC FD 4E 10 3012 LD C,(IY+16) + 00005AEF 06 00 3013 LD B,0 + 00005AF1 C5 3014 PUSH BC + 00005AF2 FD 5E 11 3015 LD E,(IY+17) + 00005AF5 FD 56 12 3016 LD D,(IY+18) + 00005AF8 FD 6E 11 3017 LD L,(IY+17) + 00005AFB FD 66 12 3018 LD H,(IY+18) + 00005AFE 0E 17 3019 LD C,23 + 00005B00 09 3020 ADD HL,BC + 00005B01 4E 3021 LD C,(HL) + 00005B02 23 3022 INC HL + 00005B03 46 3023 LD B,(HL) + 00005B04 23 3024 INC HL + 00005B05 7E 3025 LD A,(HL) + 00005B06 69 3026 LD L,C + 00005B07 60 3027 LD H,B + 00005B08 01 01 03 3028 LD BC,769 + 00005B0B CD FB 81 3029 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005B0E E1 3030 POP HL + 00005B0F 3031 ?0208: + 00005B0F 21 01 02 3032 LD HL,513 + 00005B12 DD 4E 04 3033 LD C,(IX+4) + 00005B15 DD 46 05 3034 LD B,(IX+5) + 00005B18 A7 3035 AND A + 00005B19 ED 42 3036 SBC HL,BC + 00005B1B 20 40 3037 JR NZ,?0215 + 00005B1D 3E FE 3038 LD A,254 + 00005B1F DD AE 0A 3039 XOR (IX+10) + 00005B22 DD B6 0B 3040 OR (IX+11) + 00005B25 20 36 3041 JR NZ,?0215 + 00005B27 3042 ?0217: + 00005B27 3043 ?0216: + 00005B27 3044 ?0214: + 00005B27 FD CB 0B 66 3045 BIT 4,(IY+11) + 00005B2B E5 3046 PUSH HL + 00005B2C 28 05 3047 JR Z,?0219 + 00005B2E 3048 ?0218: + 00005B2E 01 05 01 3049 LD BC,261 + 00005B31 18 03 3050 JR ?0359 + 00005B33 3051 ?0219: + 00005B33 01 02 01 3052 LD BC,258 + 00005B36 3053 ?0359: + 00005B36 CD BE 53 3054 CALL LWRD ?0463 + 00005B39 E1 3055 POP HL + 00005B3A 3056 ?0220: + 00005B3A FD 4E 10 3057 LD C,(IY+16) + 00005B3D 06 00 3058 LD B,0 + 00005B3F C5 3059 PUSH BC + 00005B40 FD 5E 11 3060 LD E,(IY+17) + 00005B43 FD 56 12 3061 LD D,(IY+18) + 00005B46 FD 6E 11 3062 LD L,(IY+17) + 00005B49 FD 66 12 3063 LD H,(IY+18) + 00005B4C 0E 17 3064 LD C,23 + 00005B4E 09 3065 ADD HL,BC + 00005B4F 4E 3066 LD C,(HL) + 00005B50 23 3067 INC HL + 00005B51 46 3068 LD B,(HL) + 00005B52 23 3069 INC HL + 00005B53 7E 3070 LD A,(HL) + 00005B54 69 3071 LD L,C + 00005B55 60 3072 LD H,B + 00005B56 01 02 03 3073 LD BC,770 + 00005B59 CD FB 81 3074 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005B5C E1 3075 POP HL + 00005B5D 3076 ?0215: + 00005B5D FD E1 3077 POP IY + 00005B5F C3 A3 81 3078 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00005B62 3079 Dialog_new: + 00005B62 CD 7A 82 3080 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00005B65 FE FF 3081 DEFW -2 + 00005B67 FD E5 3082 PUSH IY + 00005B69 DD 6E 0C 3083 LD L,(IX+12) + 00005B6C DD 66 0D 3084 LD H,(IX+13) + 00005B6F E5 3085 PUSH HL + 00005B70 DD 6E 0A 3086 LD L,(IX+10) + 00005B73 DD 66 0B 3087 LD H,(IX+11) + 00005B76 E5 3088 PUSH HL + 00005B77 CD FD 55 3089 CALL LWRD ?0438 + 00005B7A F1 3090 POP AF + 00005B7B F1 3091 POP AF + 00005B7C E5 3092 PUSH HL + 00005B7D FD E1 3093 POP IY + 00005B7F 01 0A 00 3094 LD BC,10 + 00005B82 09 3095 ADD HL,BC + 00005B83 CB C6 3096 SET 0,(HL) + 00005B85 DD 46 0E 3097 LD B,(IX+14) + 00005B88 FD 70 10 3098 LD (IY+16),B + 00005B8B FD 36 17 A9 3099 LD (IY+23),LOW(Dialog_handler) + 00005B8F FD 36 18 5A 3100 LD (IY+24),HIGH(Dialog_handler) + 00005B93 FD 36 19 00 3101 LD (IY+25),BYTE3 Dialog_handler + 00005B97 FD 36 1A E7 3102 LD (IY+26),LOW(Window_paint) + 00005B9B FD 36 1B 53 3103 LD (IY+27),HIGH(Window_paint) + 00005B9F FD 36 1C 00 3104 LD (IY+28),BYTE3 Window_paint + 00005BA3 FD 36 1D AB 3105 LD (IY+29),LOW(Window_add) + 00005BA7 FD 36 1E 55 3106 LD (IY+30),HIGH(Window_add) + 00005BAB FD 36 1F 00 3107 LD (IY+31),BYTE3 Window_add + 00005BAF 21 FF 00 3108 LD HL,255 + 00005BB2 E5 3109 PUSH HL + 00005BB3 2E 14 3110 LD L,20 + 00005BB5 E5 3111 PUSH HL + 00005BB6 2E 28 3112 LD L,40 + 00005BB8 E5 3113 PUSH HL + 00005BB9 21 E4 FF 3114 LD HL,65508 + 00005BBC CD 14 5C 3115 CALL LWRD ?0439 + 00005BBF F1 3116 POP AF + 00005BC0 F1 3117 POP AF + 00005BC1 F1 3118 POP AF + 00005BC2 DD 75 FE 3119 LD (IX-2),L + 00005BC5 DD 74 FF 3120 LD (IX-1),H + 00005BC8 01 20 00 3121 LD BC,32 + 00005BCB 09 3122 ADD HL,BC + 00005BCC E5 3123 PUSH HL + 00005BCD 11 03 00 3124 LD DE,3 + 00005BD0 CD 70 4A 3125 CALL LWRD ?0450 + 00005BD3 E1 3126 POP HL + 00005BD4 71 3127 LD (HL),C + 00005BD5 23 3128 INC HL + 00005BD6 70 3129 LD (HL),B + 00005BD7 01 ED 84 3130 LD BC,?0221 + 00005BDA CD 30 5C 3131 CALL LWRD ?0456 + 00005BDD CD FB 81 3132 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005BE0 21 FE 00 3133 LD HL,254 + 00005BE3 E5 3134 PUSH HL + 00005BE4 2E 14 3135 LD L,20 + 00005BE6 E5 3136 PUSH HL + 00005BE7 2E 28 3137 LD L,40 + 00005BE9 E5 3138 PUSH HL + 00005BEA 21 C8 FF 3139 LD HL,65480 + 00005BED CD 14 5C 3140 CALL LWRD ?0439 + 00005BF0 F1 3141 POP AF + 00005BF1 F1 3142 POP AF + 00005BF2 F1 3143 POP AF + 00005BF3 DD 75 FE 3144 LD (IX-2),L + 00005BF6 DD 74 FF 3145 LD (IX-1),H + 00005BF9 01 20 00 3146 LD BC,32 + 00005BFC 09 3147 ADD HL,BC + 00005BFD E5 3148 PUSH HL + 00005BFE 11 07 00 3149 LD DE,7 + 00005C01 CD 70 4A 3150 CALL LWRD ?0450 + 00005C04 E1 3151 POP HL + 00005C05 71 3152 LD (HL),C + 00005C06 23 3153 INC HL + 00005C07 70 3154 LD (HL),B + 00005C08 01 F0 84 3155 LD BC,?0222 + 00005C0B CD 30 5C 3156 CALL LWRD ?0456 + 00005C0E CD FB 81 3157 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005C11 C3 99 4C 3158 JP LWRD ?0418 + 00005C14 3159 ?0439: + 00005C14 DD 4E 0C 3160 LD C,(IX+12) + 00005C17 DD 46 0D 3161 LD B,(IX+13) + 00005C1A 09 3162 ADD HL,BC + 00005C1B 4D 3163 LD C,L + 00005C1C 44 3164 LD B,H + 00005C1D 21 D0 FF 3165 LD HL,65488 + 00005C20 DD 5E 0A 3166 LD E,(IX+10) + 00005C23 DD 56 0B 3167 LD D,(IX+11) + 00005C26 19 3168 ADD HL,DE + 00005C27 EB 3169 EX DE,HL + 00005C28 3170 ?0440: + 00005C28 3E 00 3171 LD A,BYTE3 Button_new + 00005C2A 21 7D 58 3172 LD HL,LWRD Button_new + 00005C2D C3 FB 81 3173 JP LWRD ?BANK_CALL_DIRECT_L08 + 00005C30 3174 ?0456: + 00005C30 DD 5E FE 3175 LD E,(IX-2) + 00005C33 DD 56 FF 3176 LD D,(IX-1) + 00005C36 3E 00 3177 LD A,BYTE3 Component_setlabel + 00005C38 21 A1 4C 3178 LD HL,LWRD Component_setlabel + 00005C3B CD FB 81 3179 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005C3E DD 4E FE 3180 LD C,(IX-2) + 00005C41 DD 46 FF 3181 LD B,(IX-1) + 00005C44 FD E5 3182 PUSH IY + 00005C46 D1 3183 POP DE + 00005C47 FD 7E 1F 3184 LD A,(IY+31) + 00005C4A FD 6E 1D 3185 LD L,(IY+29) + 00005C4D FD 66 1E 3186 LD H,(IY+30) + 00005C50 C9 3187 RET + 00005C51 3188 Display_handler: + 00005C51 CD EF 81 3189 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00005C54 FD E5 3190 PUSH IY + 00005C56 D5 3191 PUSH DE + 00005C57 FD E1 3192 POP IY + 00005C59 DD 6E 0A 3193 LD L,(IX+10) + 00005C5C DD 66 0B 3194 LD H,(IX+11) + 00005C5F E5 3195 PUSH HL + 00005C60 3E 00 3196 LD A,BYTE3 Button_handler + 00005C62 21 0B 56 3197 LD HL,LWRD Button_handler + 00005C65 CD FB 81 3198 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005C68 E1 3199 POP HL + 00005C69 21 03 02 3200 LD HL,515 + 00005C6C DD 4E 04 3201 LD C,(IX+4) + 00005C6F DD 46 05 3202 LD B,(IX+5) + 00005C72 A7 3203 AND A + 00005C73 ED 42 3204 SBC HL,BC + 00005C75 20 40 3205 JR NZ,?0224 + 00005C77 FD CB 0A 5E 3206 BIT 3,(IY+10) + 00005C7B 28 3A 3207 JR Z,?0224 + 00005C7D 3208 ?0226: + 00005C7D 3209 ?0225: + 00005C7D 3210 ?0223: + 00005C7D 3E 08 3211 LD A,8 + 00005C7F DD AE 0A 3212 XOR (IX+10) + 00005C82 DD B6 0B 3213 OR (IX+11) + 00005C85 FD 5E 20 3214 LD E,(IY+32) + 00005C88 FD 56 21 3215 LD D,(IY+33) + 00005C8B 3E 00 3216 LD A,BYTE3 strlen + 00005C8D 21 AB 73 3217 LD HL,LWRD strlen + 00005C90 20 0D 3218 JR NZ,?0228 + 00005C92 3219 ?0227: + 00005C92 CD 6A 4A 3220 CALL LWRD ?0448 + 00005C95 28 15 3221 JR Z,?0231 + 00005C97 3222 ?0229: + 00005C97 CD BC 5C 3223 CALL LWRD ?0445 + 00005C9A 2B 3224 DEC HL + 00005C9B 36 00 3225 LD (HL),0 + 00005C9D 3226 ?0230: + 00005C9D 18 0D 3227 JR ?0231 + 00005C9F 3228 ?0228: + 00005C9F CD C7 5C 3229 CALL LWRD ?0446 + 00005CA2 23 3230 INC HL + 00005CA3 36 00 3231 LD (HL),0 + 00005CA5 CD BC 5C 3232 CALL LWRD ?0445 + 00005CA8 DD 46 0A 3233 LD B,(IX+10) + 00005CAB 70 3234 LD (HL),B + 00005CAC 3235 ?0231: + 00005CAC 21 00 00 3236 LD HL,0 + 00005CAF E5 3237 PUSH HL + 00005CB0 01 03 01 3238 LD BC,259 + 00005CB3 CD BE 53 3239 CALL LWRD ?0463 + 00005CB6 E1 3240 POP HL + 00005CB7 3241 ?0224: + 00005CB7 FD E1 3242 POP IY + 00005CB9 C3 A3 81 3243 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00005CBC 3244 ?0445: + 00005CBC FD 5E 20 3245 LD E,(IY+32) + 00005CBF FD 56 21 3246 LD D,(IY+33) + 00005CC2 3E 00 3247 LD A,BYTE3 strlen + 00005CC4 21 AB 73 3248 LD HL,LWRD strlen + 00005CC7 3249 ?0446: + 00005CC7 CD FB 81 3250 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005CCA FD 4E 20 3251 LD C,(IY+32) + 00005CCD FD 46 21 3252 LD B,(IY+33) + 00005CD0 09 3253 ADD HL,BC + 00005CD1 C9 3254 RET + 00005CD2 3255 Display_paint: + 00005CD2 C5 3256 PUSH BC + 00005CD3 FD E5 3257 PUSH IY + 00005CD5 DD E5 3258 PUSH IX + 00005CD7 21 B8 FF 3259 LD HL,65464 + 00005CDA 39 3260 ADD HL,SP + 00005CDB F9 3261 LD SP,HL + 00005CDC D5 3262 PUSH DE + 00005CDD DD E1 3263 POP IX + 00005CDF AF 3264 XOR A + 00005CE0 77 3265 LD (HL),A + 00005CE1 23 3266 INC HL + 00005CE2 77 3267 LD (HL),A + 00005CE3 23 3268 INC HL + 00005CE4 77 3269 LD (HL),A + 00005CE5 23 3270 INC HL + 00005CE6 77 3271 LD (HL),A + 00005CE7 21 0A 00 3272 LD HL,10 + 00005CEA ED 4B 3F 87 3273 LD BC,(global) + 00005CEE 09 3274 ADD HL,BC + 00005CEF 7E 3275 LD A,(HL) + 00005CF0 23 3276 INC HL + 00005CF1 66 3277 LD H,(HL) + 00005CF2 6F 3278 LD L,A + 00005CF3 46 3279 LD B,(HL) + 00005CF4 23 3280 INC HL + 00005CF5 66 3281 LD H,(HL) + 00005CF6 68 3282 LD L,B + 00005CF7 E5 3283 PUSH HL + 00005CF8 21 0E 00 3284 LD HL,14 + 00005CFB 19 3285 ADD HL,DE + 00005CFC 4E 3286 LD C,(HL) + 00005CFD 23 3287 INC HL + 00005CFE 46 3288 LD B,(HL) + 00005CFF E1 3289 POP HL + 00005D00 A7 3290 AND A + 00005D01 ED 42 3291 SBC HL,BC + 00005D03 28 03 3292 JR Z,?0233 + 00005D05 3293 ?0232: + 00005D05 CD 66 55 3294 CALL LWRD ?0473 + 00005D08 3295 ?0233: + 00005D08 DD CB 0A 46 3296 BIT 0,(IX+10) + 00005D0C CA 16 5E 3297 JP Z,?0248 + 00005D0F 3298 ?0234: + 00005D0F 21 02 00 3299 LD HL,2 + 00005D12 39 3300 ADD HL,SP + 00005D13 E5 3301 PUSH HL + 00005D14 2B 3302 DEC HL + 00005D15 2B 3303 DEC HL + 00005D16 CD CF 53 3304 CALL LWRD ?0468 + 00005D19 E1 3305 POP HL + 00005D1A 21 02 00 3306 LD HL,2 + 00005D1D 39 3307 ADD HL,SP + 00005D1E 4E 3308 LD C,(HL) + 00005D1F 23 3309 INC HL + 00005D20 46 3310 LD B,(HL) + 00005D21 2B 3311 DEC HL + 00005D22 2B 3312 DEC HL + 00005D23 2B 3313 DEC HL + 00005D24 CD 5A 58 3314 CALL LWRD ?0458 + 00005D27 CD FB 81 3315 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005D2A DD 6E 08 3316 LD L,(IX+8) + 00005D2D DD 66 09 3317 LD H,(IX+9) + 00005D30 E5 3318 PUSH HL + 00005D31 DD 6E 06 3319 LD L,(IX+6) + 00005D34 DD 66 07 3320 LD H,(IX+7) + 00005D37 E5 3321 PUSH HL + 00005D38 21 06 00 3322 LD HL,6 + 00005D3B 39 3323 ADD HL,SP + 00005D3C 4E 3324 LD C,(HL) + 00005D3D 23 3325 INC HL + 00005D3E 46 3326 LD B,(HL) + 00005D3F C5 3327 PUSH BC + 00005D40 2B 3328 DEC HL + 00005D41 2B 3329 DEC HL + 00005D42 2B 3330 DEC HL + 00005D43 4E 3331 LD C,(HL) + 00005D44 23 3332 INC HL + 00005D45 46 3333 LD B,(HL) + 00005D46 DD CB 0A 4E 3334 BIT 1,(IX+10) + 00005D4A 28 07 3335 JR Z,?0237 + 00005D4C DD 5E 10 3336 LD E,(IX+16) + 00005D4F 16 00 3337 LD D,0 + 00005D51 18 03 3338 JR ?0238 + 00005D53 3339 ?0237: + 00005D53 11 00 00 3340 LD DE,0 + 00005D56 3341 ?0238: + 00005D56 CD 3A 49 3342 CALL LWRD ?0471 + 00005D59 E1 3343 POP HL + 00005D5A E1 3344 POP HL + 00005D5B E1 3345 POP HL + 00005D5C DD CB 0A 7E 3346 BIT 7,(IX+10) + 00005D60 DD 4E 08 3347 LD C,(IX+8) + 00005D63 DD 46 09 3348 LD B,(IX+9) + 00005D66 DD 5E 06 3349 LD E,(IX+6) + 00005D69 DD 56 07 3350 LD D,(IX+7) + 00005D6C 20 07 3351 JR NZ,?0240 + 00005D6E 3352 ?0239: + 00005D6E 3E 00 3353 LD A,BYTE3 FillRectNC + 00005D70 21 F7 47 3354 LD HL,LWRD FillRectNC + 00005D73 18 05 3355 JR ?0364 + 00005D75 3356 ?0240: + 00005D75 3E 00 3357 LD A,BYTE3 DrawRectNC + 00005D77 21 6D 47 3358 LD HL,LWRD DrawRectNC + 00005D7A 3359 ?0364: + 00005D7A CD FB 81 3360 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005D7D 3361 ?0241: + 00005D7D DD 5E 20 3362 LD E,(IX+32) + 00005D80 DD 56 21 3363 LD D,(IX+33) + 00005D83 21 0A 00 3364 LD HL,10 + 00005D86 ED 4B 3F 87 3365 LD BC,(global) + 00005D8A 09 3366 ADD HL,BC + 00005D8B 46 3367 LD B,(HL) + 00005D8C 23 3368 INC HL + 00005D8D 66 3369 LD H,(HL) + 00005D8E 68 3370 LD L,B + 00005D8F 01 05 00 3371 LD BC,5 + 00005D92 09 3372 ADD HL,BC + 00005D93 4E 3373 LD C,(HL) + 00005D94 23 3374 INC HL + 00005D95 46 3375 LD B,(HL) + 00005D96 23 3376 INC HL + 00005D97 7E 3377 LD A,(HL) + 00005D98 69 3378 LD L,C + 00005D99 60 3379 LD H,B + 00005D9A CD 75 4A 3380 CALL LWRD ?0449 + 00005D9D DD 6E 08 3381 LD L,(IX+8) + 00005DA0 DD 66 09 3382 LD H,(IX+9) + 00005DA3 A7 3383 AND A + 00005DA4 ED 42 3384 SBC HL,BC + 00005DA6 EB 3385 EX DE,HL + 00005DA7 01 02 00 3386 LD BC,2 + 00005DAA CD EB 82 3387 CALL LWRD ?SS_DIV_L02 + 00005DAD 69 3388 LD L,C + 00005DAE 60 3389 LD H,B + 00005DAF 39 3390 ADD HL,SP + 00005DB0 46 3391 LD B,(HL) + 00005DB1 23 3392 INC HL + 00005DB2 66 3393 LD H,(HL) + 00005DB3 68 3394 LD L,B + 00005DB4 19 3395 ADD HL,DE + 00005DB5 01 07 00 3396 LD BC,7 + 00005DB8 09 3397 ADD HL,BC + 00005DB9 4D 3398 LD C,L + 00005DBA 44 3399 LD B,H + 00005DBB 21 00 00 3400 LD HL,0 + 00005DBE 39 3401 ADD HL,SP + 00005DBF 5E 3402 LD E,(HL) + 00005DC0 23 3403 INC HL + 00005DC1 56 3404 LD D,(HL) + 00005DC2 13 3405 INC DE + 00005DC3 13 3406 INC DE + 00005DC4 3E 00 3407 LD A,BYTE3 Move + 00005DC6 21 EB 46 3408 LD HL,LWRD Move + 00005DC9 CD FB 81 3409 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005DCC DD CB 0B 46 3410 BIT 0,(IX+11) + 00005DD0 28 36 3411 JR Z,?0243 + 00005DD2 3412 ?0242: + 00005DD2 FD 21 00 00 3413 LD IY,0 + 00005DD6 3414 ?0245: + 00005DD6 DD 5E 20 3415 LD E,(IX+32) + 00005DD9 DD 56 21 3416 LD D,(IX+33) + 00005DDC 3E 00 3417 LD A,BYTE3 strlen + 00005DDE 21 AB 73 3418 LD HL,LWRD strlen + 00005DE1 CD 75 4A 3419 CALL LWRD ?0449 + 00005DE4 FD E5 3420 PUSH IY + 00005DE6 E1 3421 POP HL + 00005DE7 A7 3422 AND A + 00005DE8 ED 42 3423 SBC HL,BC + 00005DEA 21 06 00 3424 LD HL,6 + 00005DED 30 0B 3425 JR NC,?0244 + 00005DEF 3426 ?0246: + 00005DEF 39 3427 ADD HL,SP + 00005DF0 FD E5 3428 PUSH IY + 00005DF2 C1 3429 POP BC + 00005DF3 09 3430 ADD HL,BC + 00005DF4 36 2A 3431 LD (HL),42 + 00005DF6 FD 23 3432 INC IY + 00005DF8 18 DC 3433 JR ?0245 + 00005DFA 3434 ?0244: + 00005DFA 39 3435 ADD HL,SP + 00005DFB FD E5 3436 PUSH IY + 00005DFD C1 3437 POP BC + 00005DFE 09 3438 ADD HL,BC + 00005DFF 36 00 3439 LD (HL),0 + 00005E01 21 06 00 3440 LD HL,6 + 00005E04 39 3441 ADD HL,SP + 00005E05 EB 3442 EX DE,HL + 00005E06 18 06 3443 JR ?0365 + 00005E08 3444 ?0243: + 00005E08 DD 5E 20 3445 LD E,(IX+32) + 00005E0B DD 56 21 3446 LD D,(IX+33) + 00005E0E 3447 ?0365: + 00005E0E 3E 00 3448 LD A,BYTE3 Text + 00005E10 21 81 48 3449 LD HL,LWRD Text + 00005E13 CD FB 81 3450 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005E16 3451 ?0248: + 00005E16 3452 ?0235: + 00005E16 21 48 00 3453 LD HL,72 + 00005E19 39 3454 ADD HL,SP + 00005E1A F9 3455 LD SP,HL + 00005E1B C3 A6 48 3456 JP LWRD ?0411 + 00005E1E 3457 Display_new: + 00005E1E CD 7A 82 3458 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00005E21 00 00 3459 DEFW 0 + 00005E23 FD E5 3460 PUSH IY + 00005E25 DD 6E 0E 3461 LD L,(IX+14) + 00005E28 DD 66 0F 3462 LD H,(IX+15) + 00005E2B E5 3463 PUSH HL + 00005E2C DD 6E 0C 3464 LD L,(IX+12) + 00005E2F DD 66 0D 3465 LD H,(IX+13) + 00005E32 E5 3466 PUSH HL + 00005E33 DD 6E 0A 3467 LD L,(IX+10) + 00005E36 DD 66 0B 3468 LD H,(IX+11) + 00005E39 E5 3469 PUSH HL + 00005E3A DD 5E 02 3470 LD E,(IX+2) + 00005E3D DD 56 03 3471 LD D,(IX+3) + 00005E40 CD 28 5C 3472 CALL LWRD ?0440 + 00005E43 F1 3473 POP AF + 00005E44 F1 3474 POP AF + 00005E45 F1 3475 POP AF + 00005E46 E5 3476 PUSH HL + 00005E47 FD E1 3477 POP IY + 00005E49 01 0A 00 3478 LD BC,10 + 00005E4C 09 3479 ADD HL,BC + 00005E4D CB DE 3480 SET 3,(HL) + 00005E4F 01 F7 84 3481 LD BC,?0249 + 00005E52 FD E5 3482 PUSH IY + 00005E54 D1 3483 POP DE + 00005E55 3E 00 3484 LD A,BYTE3 Component_setlabel + 00005E57 21 A1 4C 3485 LD HL,LWRD Component_setlabel + 00005E5A CD FB 81 3486 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005E5D FD 36 1A D2 3487 LD (IY+26),LOW(Display_paint) + 00005E61 FD 36 1B 5C 3488 LD (IY+27),HIGH(Display_paint) + 00005E65 FD 36 1C 00 3489 LD (IY+28),BYTE3 Display_paint + 00005E69 FD 36 17 51 3490 LD (IY+23),LOW(Display_handler) + 00005E6D FD 36 18 5C 3491 LD (IY+24),HIGH(Display_handler) + 00005E71 FD 36 19 00 3492 LD (IY+25),BYTE3 Display_handler + 00005E75 C3 99 4C 3493 JP LWRD ?0418 + 00005E78 3494 Label_handler: + 00005E78 CD EF 81 3495 CALL LWRD ?ENT_PARM_DIRECT_L09 + 00005E7B C3 A3 81 3496 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00005E7E 3497 Label_paint: + 00005E7E C5 3498 PUSH BC + 00005E7F DD E5 3499 PUSH IX + 00005E81 F5 3500 PUSH AF + 00005E82 F5 3501 PUSH AF + 00005E83 D5 3502 PUSH DE + 00005E84 DD E1 3503 POP IX + 00005E86 21 02 00 3504 LD HL,2 + 00005E89 39 3505 ADD HL,SP + 00005E8A AF 3506 XOR A + 00005E8B 77 3507 LD (HL),A + 00005E8C 23 3508 INC HL + 00005E8D 77 3509 LD (HL),A + 00005E8E 2B 3510 DEC HL + 00005E8F 2B 3511 DEC HL + 00005E90 2B 3512 DEC HL + 00005E91 77 3513 LD (HL),A + 00005E92 23 3514 INC HL + 00005E93 77 3515 LD (HL),A + 00005E94 21 0A 00 3516 LD HL,10 + 00005E97 ED 4B 3F 87 3517 LD BC,(global) + 00005E9B 09 3518 ADD HL,BC + 00005E9C 7E 3519 LD A,(HL) + 00005E9D 23 3520 INC HL + 00005E9E 66 3521 LD H,(HL) + 00005E9F 6F 3522 LD L,A + 00005EA0 46 3523 LD B,(HL) + 00005EA1 23 3524 INC HL + 00005EA2 66 3525 LD H,(HL) + 00005EA3 68 3526 LD L,B + 00005EA4 E5 3527 PUSH HL + 00005EA5 21 0E 00 3528 LD HL,14 + 00005EA8 19 3529 ADD HL,DE + 00005EA9 4E 3530 LD C,(HL) + 00005EAA 23 3531 INC HL + 00005EAB 46 3532 LD B,(HL) + 00005EAC E1 3533 POP HL + 00005EAD A7 3534 AND A + 00005EAE ED 42 3535 SBC HL,BC + 00005EB0 28 03 3536 JR Z,?0251 + 00005EB2 3537 ?0250: + 00005EB2 CD 66 55 3538 CALL LWRD ?0473 + 00005EB5 3539 ?0251: + 00005EB5 DD CB 0A 46 3540 BIT 0,(IX+10) + 00005EB9 28 21 3541 JR Z,?0253 + 00005EBB 3542 ?0252: + 00005EBB 21 00 00 3543 LD HL,0 + 00005EBE 39 3544 ADD HL,SP + 00005EBF E5 3545 PUSH HL + 00005EC0 CD CD 53 3546 CALL LWRD ?0467 + 00005EC3 E1 3547 POP HL + 00005EC4 21 00 00 3548 LD HL,0 + 00005EC7 39 3549 ADD HL,SP + 00005EC8 4E 3550 LD C,(HL) + 00005EC9 23 3551 INC HL + 00005ECA 46 3552 LD B,(HL) + 00005ECB C5 3553 PUSH BC + 00005ECC 23 3554 INC HL + 00005ECD 4E 3555 LD C,(HL) + 00005ECE 23 3556 INC HL + 00005ECF 46 3557 LD B,(HL) + 00005ED0 DD E5 3558 PUSH IX + 00005ED2 D1 3559 POP DE + 00005ED3 3E 00 3560 LD A,BYTE3 Button_drawtext + 00005ED5 21 C2 56 3561 LD HL,LWRD Button_drawtext + 00005ED8 CD FB 81 3562 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005EDB E1 3563 POP HL + 00005EDC 3564 ?0253: + 00005EDC C3 4E 58 3565 JP LWRD ?0178 + 00005EDF 3566 Label_new: + 00005EDF CD 7A 82 3567 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00005EE2 00 00 3568 DEFW 0 + 00005EE4 FD E5 3569 PUSH IY + 00005EE6 DD 6E 0C 3570 LD L,(IX+12) + 00005EE9 DD 66 0D 3571 LD H,(IX+13) + 00005EEC E5 3572 PUSH HL + 00005EED DD 6E 0A 3573 LD L,(IX+10) + 00005EF0 DD 66 0B 3574 LD H,(IX+11) + 00005EF3 E5 3575 PUSH HL + 00005EF4 CD FD 55 3576 CALL LWRD ?0438 + 00005EF7 F1 3577 POP AF + 00005EF8 F1 3578 POP AF + 00005EF9 E5 3579 PUSH HL + 00005EFA FD E1 3580 POP IY + 00005EFC 01 20 00 3581 LD BC,32 + 00005EFF 09 3582 ADD HL,BC + 00005F00 DD 4E 0E 3583 LD C,(IX+14) + 00005F03 71 3584 LD (HL),C + 00005F04 DD 46 0F 3585 LD B,(IX+15) + 00005F07 23 3586 INC HL + 00005F08 70 3587 LD (HL),B + 00005F09 FD 36 0A 01 3588 LD (IY+10),1 + 00005F0D FD 36 0B 00 3589 LD (IY+11),0 + 00005F11 FD 36 17 78 3590 LD (IY+23),LOW(Label_handler) + 00005F15 FD 36 18 5E 3591 LD (IY+24),HIGH(Label_handler) + 00005F19 FD 36 19 00 3592 LD (IY+25),BYTE3 Label_handler + 00005F1D FD 36 1A 7E 3593 LD (IY+26),LOW(Label_paint) + 00005F21 FD 36 1B 5E 3594 LD (IY+27),HIGH(Label_paint) + 00005F25 FD 36 1C 00 3595 LD (IY+28),BYTE3 Label_paint + 00005F29 FD 36 1D 77 3596 LD (IY+29),LOW(Button_add) + 00005F2D FD 36 1E 58 3597 LD (IY+30),HIGH(Button_add) + 00005F31 FD 36 1F 00 3598 LD (IY+31),BYTE3 Button_add + 00005F35 C3 99 4C 3599 JP LWRD ?0418 + 00005F38 3600 rootWindow_handler: + 00005F38 CD 7A 82 3601 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00005F3B 00 00 3602 DEFW 0 + 00005F3D DD 6E 0A 3603 LD L,(IX+10) + 00005F40 DD 66 0B 3604 LD H,(IX+11) + 00005F43 E5 3605 PUSH HL + 00005F44 DD 5E 02 3606 LD E,(IX+2) + 00005F47 DD 56 03 3607 LD D,(IX+3) + 00005F4A 3E 00 3608 LD A,BYTE3 Window_handler + 00005F4C 21 1A 51 3609 LD HL,LWRD Window_handler + 00005F4F CD FB 81 3610 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005F52 E1 3611 POP HL + 00005F53 C3 A3 81 3612 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00005F56 3613 screenbuilder: + 00005F56 CD 7A 82 3614 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00005F59 CE FF 3615 DEFW 65486 + 00005F5B FD E5 3616 PUSH IY + 00005F5D DD 36 D8 00 3617 LD (IX-40),0 + 00005F61 21 00 00 3618 LD HL,0 + 00005F64 E5 3619 PUSH HL + 00005F65 C5 3620 PUSH BC + 00005F66 3E 00 3621 LD A,BYTE3 open + 00005F68 21 CD 7E 3622 LD HL,LWRD open + 00005F6B CD FB 81 3623 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005F6E F1 3624 POP AF + 00005F6F F1 3625 POP AF + 00005F70 DD 75 D4 3626 LD (IX-44),L + 00005F73 DD 74 D5 3627 LD (IX-43),H + 00005F76 DD 36 F0 2B 3628 LD (IX-16),43 + 00005F7A DD 36 F1 00 3629 LD (IX-15),0 + 00005F7E DD 36 F2 1A 3630 LD (IX-14),26 + 00005F82 DD 36 F3 00 3631 LD (IX-13),0 + 00005F86 3632 ?0256: + 00005F86 DD 36 F4 00 3633 LD (IX-12),0 + 00005F8A DD 7E D8 3634 LD A,(IX-40) + 00005F8D FE 73 3635 CP 115 + 00005F8F 20 18 3636 JR NZ,?0258 + 00005F91 3637 ?0257: + 00005F91 DD 6E D9 3638 LD L,(IX-39) + 00005F94 DD 66 DA 3639 LD H,(IX-38) + 00005F97 DD 75 F0 3640 LD (IX-16),L + 00005F9A DD 74 F1 3641 LD (IX-15),H + 00005F9D DD 6E DB 3642 LD L,(IX-37) + 00005FA0 DD 66 DC 3643 LD H,(IX-36) + 00005FA3 DD 75 F2 3644 LD (IX-14),L + 00005FA6 DD 74 F3 3645 LD (IX-13),H + 00005FA9 3646 ?0258: + 00005FA9 DD 7E D8 3647 LD A,(IX-40) + 00005FAC FE 42 3648 CP 66 + 00005FAE 28 07 3649 JR Z,?0261 + 00005FB0 DD 7E D8 3650 LD A,(IX-40) + 00005FB3 FE 4D 3651 CP 77 + 00005FB5 20 4F 3652 JR NZ,?0260 + 00005FB7 3653 ?0261: + 00005FB7 3654 ?0262: + 00005FB7 3655 ?0259: + 00005FB7 DD 4E DD 3656 LD C,(IX-35) + 00005FBA 06 00 3657 LD B,0 + 00005FBC C5 3658 PUSH BC + 00005FBD CD 16 63 3659 CALL LWRD ?0482 + 00005FC0 D5 3660 PUSH DE + 00005FC1 DD 4E DB 3661 LD C,(IX-37) + 00005FC4 DD 5E F0 3662 LD E,(IX-16) + 00005FC7 DD 56 F1 3663 LD D,(IX-15) + 00005FCA CD 1F 63 3664 CALL LWRD ?0483 + 00005FCD D5 3665 PUSH DE + 00005FCE DD 4E DA 3666 LD C,(IX-38) + 00005FD1 DD 5E F2 3667 LD E,(IX-14) + 00005FD4 DD 56 F3 3668 LD D,(IX-13) + 00005FD7 CD AE 81 3669 CALL LWRD ?S_MUL_L02 + 00005FDA D5 3670 PUSH DE + 00005FDB DD 5E D9 3671 LD E,(IX-39) + 00005FDE 50 3672 LD D,B + 00005FDF DD 4E F0 3673 LD C,(IX-16) + 00005FE2 DD 46 F1 3674 LD B,(IX-15) + 00005FE5 CD AE 81 3675 CALL LWRD ?S_MUL_L02 + 00005FE8 3E 00 3676 LD A,BYTE3 Button_new + 00005FEA 21 7D 58 3677 LD HL,LWRD Button_new + 00005FED C1 3678 POP BC + 00005FEE CD FB 81 3679 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00005FF1 F1 3680 POP AF + 00005FF2 F1 3681 POP AF + 00005FF3 F1 3682 POP AF + 00005FF4 E5 3683 PUSH HL + 00005FF5 FD E1 3684 POP IY + 00005FF7 DD 7E D8 3685 LD A,(IX-40) + 00005FFA FE 4D 3686 CP 77 + 00005FFC 20 04 3687 JR NZ,?0264 + 00005FFE 3688 ?0263: + 00005FFE FD CB 0A F6 3689 SET 6,(IY+10) + 00006002 3690 ?0264: + 00006002 DD 36 F4 01 3691 LD (IX-12),1 + 00006006 3692 ?0260: + 00006006 DD 7E D8 3693 LD A,(IX-40) + 00006009 FE 54 3694 CP 84 + 0000600B 20 44 3695 JR NZ,?0266 + 0000600D 3696 ?0265: + 0000600D DD 4E DD 3697 LD C,(IX-35) + 00006010 06 00 3698 LD B,0 + 00006012 C5 3699 PUSH BC + 00006013 CD 16 63 3700 CALL LWRD ?0482 + 00006016 D5 3701 PUSH DE + 00006017 DD 4E DB 3702 LD C,(IX-37) + 0000601A DD 5E F0 3703 LD E,(IX-16) + 0000601D DD 56 F1 3704 LD D,(IX-15) + 00006020 CD 1F 63 3705 CALL LWRD ?0483 + 00006023 D5 3706 PUSH DE + 00006024 DD 4E DA 3707 LD C,(IX-38) + 00006027 DD 5E F2 3708 LD E,(IX-14) + 0000602A DD 56 F3 3709 LD D,(IX-13) + 0000602D CD AE 81 3710 CALL LWRD ?S_MUL_L02 + 00006030 D5 3711 PUSH DE + 00006031 DD 5E D9 3712 LD E,(IX-39) + 00006034 50 3713 LD D,B + 00006035 DD 4E F0 3714 LD C,(IX-16) + 00006038 DD 46 F1 3715 LD B,(IX-15) + 0000603B CD AE 81 3716 CALL LWRD ?S_MUL_L02 + 0000603E 3E 00 3717 LD A,BYTE3 ToggleButton_new + 00006040 21 57 5A 3718 LD HL,LWRD ToggleButton_new + 00006043 C1 3719 POP BC + 00006044 CD FB 81 3720 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006047 F1 3721 POP AF + 00006048 F1 3722 POP AF + 00006049 F1 3723 POP AF + 0000604A E5 3724 PUSH HL + 0000604B FD E1 3725 POP IY + 0000604D DD 36 F4 01 3726 LD (IX-12),1 + 00006051 3727 ?0266: + 00006051 DD 7E D8 3728 LD A,(IX-40) + 00006054 FE 44 3729 CP 68 + 00006056 20 44 3730 JR NZ,?0268 + 00006058 3731 ?0267: + 00006058 DD 4E DD 3732 LD C,(IX-35) + 0000605B 06 00 3733 LD B,0 + 0000605D C5 3734 PUSH BC + 0000605E CD 16 63 3735 CALL LWRD ?0482 + 00006061 D5 3736 PUSH DE + 00006062 DD 4E DB 3737 LD C,(IX-37) + 00006065 DD 5E F0 3738 LD E,(IX-16) + 00006068 DD 56 F1 3739 LD D,(IX-15) + 0000606B CD 1F 63 3740 CALL LWRD ?0483 + 0000606E D5 3741 PUSH DE + 0000606F DD 4E DA 3742 LD C,(IX-38) + 00006072 DD 5E F2 3743 LD E,(IX-14) + 00006075 DD 56 F3 3744 LD D,(IX-13) + 00006078 CD AE 81 3745 CALL LWRD ?S_MUL_L02 + 0000607B D5 3746 PUSH DE + 0000607C DD 5E D9 3747 LD E,(IX-39) + 0000607F 50 3748 LD D,B + 00006080 DD 4E F0 3749 LD C,(IX-16) + 00006083 DD 46 F1 3750 LD B,(IX-15) + 00006086 CD AE 81 3751 CALL LWRD ?S_MUL_L02 + 00006089 3E 00 3752 LD A,BYTE3 Display_new + 0000608B 21 1E 5E 3753 LD HL,LWRD Display_new + 0000608E C1 3754 POP BC + 0000608F CD FB 81 3755 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006092 F1 3756 POP AF + 00006093 F1 3757 POP AF + 00006094 F1 3758 POP AF + 00006095 E5 3759 PUSH HL + 00006096 FD E1 3760 POP IY + 00006098 DD 36 F4 01 3761 LD (IX-12),1 + 0000609C 3762 ?0268: + 0000609C DD 7E D8 3763 LD A,(IX-40) + 0000609F FE 4C 3764 CP 76 + 000060A1 20 47 3765 JR NZ,?0270 + 000060A3 3766 ?0269: + 000060A3 21 0C 00 3767 LD HL,12 + 000060A6 39 3768 ADD HL,SP + 000060A7 01 12 00 3769 LD BC,18 + 000060AA 09 3770 ADD HL,BC + 000060AB E5 3771 PUSH HL + 000060AC CD 16 63 3772 CALL LWRD ?0482 + 000060AF D5 3773 PUSH DE + 000060B0 DD 4E DB 3774 LD C,(IX-37) + 000060B3 DD 5E F0 3775 LD E,(IX-16) + 000060B6 DD 56 F1 3776 LD D,(IX-15) + 000060B9 CD 1F 63 3777 CALL LWRD ?0483 + 000060BC D5 3778 PUSH DE + 000060BD DD 4E DA 3779 LD C,(IX-38) + 000060C0 DD 5E F2 3780 LD E,(IX-14) + 000060C3 DD 56 F3 3781 LD D,(IX-13) + 000060C6 CD AE 81 3782 CALL LWRD ?S_MUL_L02 + 000060C9 D5 3783 PUSH DE + 000060CA DD 5E D9 3784 LD E,(IX-39) + 000060CD 50 3785 LD D,B + 000060CE DD 4E F0 3786 LD C,(IX-16) + 000060D1 DD 46 F1 3787 LD B,(IX-15) + 000060D4 CD AE 81 3788 CALL LWRD ?S_MUL_L02 + 000060D7 3E 00 3789 LD A,BYTE3 Label_new + 000060D9 21 DF 5E 3790 LD HL,LWRD Label_new + 000060DC C1 3791 POP BC + 000060DD CD FB 81 3792 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000060E0 F1 3793 POP AF + 000060E1 F1 3794 POP AF + 000060E2 F1 3795 POP AF + 000060E3 E5 3796 PUSH HL + 000060E4 FD E1 3797 POP IY + 000060E6 DD 36 F4 01 3798 LD (IX-12),1 + 000060EA 3799 ?0270: + 000060EA DD 7E D8 3800 LD A,(IX-40) + 000060ED FE 41 3801 CP 65 + 000060EF 20 51 3802 JR NZ,?0272 + 000060F1 3803 ?0271: + 000060F1 21 26 00 3804 LD HL,38 + 000060F4 DD 4E 02 3805 LD C,(IX+2) + 000060F7 DD 46 03 3806 LD B,(IX+3) + 000060FA 09 3807 ADD HL,BC + 000060FB E5 3808 PUSH HL + 000060FC 21 2B 00 3809 LD HL,43 + 000060FF 39 3810 ADD HL,SP + 00006100 EB 3811 EX DE,HL + 00006101 E1 3812 POP HL + 00006102 73 3813 LD (HL),E + 00006103 23 3814 INC HL + 00006104 72 3815 LD (HL),D + 00006105 DD 6E DE 3816 LD L,(IX-34) + 00006108 DD 66 DF 3817 LD H,(IX-33) + 0000610B DD 75 F8 3818 LD (IX-8),L + 0000610E DD 74 F9 3819 LD (IX-7),H + 00006111 DD 6E E0 3820 LD L,(IX-32) + 00006114 DD 66 E1 3821 LD H,(IX-31) + 00006117 DD 75 FA 3822 LD (IX-6),L + 0000611A DD 74 FB 3823 LD (IX-5),H + 0000611D 21 16 00 3824 LD HL,22 + 00006120 39 3825 ADD HL,SP + 00006121 4E 3826 LD C,(HL) + 00006122 23 3827 INC HL + 00006123 46 3828 LD B,(HL) + 00006124 23 3829 INC HL + 00006125 5E 3830 LD E,(HL) + 00006126 23 3831 INC HL + 00006127 56 3832 LD D,(HL) + 00006128 DD 71 FC 3833 LD (IX-4),C + 0000612B DD 70 FD 3834 LD (IX-3),B + 0000612E DD 73 FE 3835 LD (IX-2),E + 00006131 DD 72 FF 3836 LD (IX-1),D + 00006134 DD 5E 02 3837 LD E,(IX+2) + 00006137 DD 56 03 3838 LD D,(IX+3) + 0000613A 3E 00 3839 LD A,BYTE3 root_actionhandler + 0000613C 21 26 63 3840 LD HL,LWRD root_actionhandler + 0000613F CD FB 81 3841 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006142 3842 ?0272: + 00006142 DD 7E D8 3843 LD A,(IX-40) + 00006145 FE 53 3844 CP 83 + 00006147 20 71 3845 JR NZ,?0274 + 00006149 3846 ?0273: + 00006149 21 0C 00 3847 LD HL,12 + 0000614C 39 3848 ADD HL,SP + 0000614D 4D 3849 LD C,L + 0000614E 44 3850 LD B,H + 0000614F DD 5E D4 3851 LD E,(IX-44) + 00006152 DD 56 D5 3852 LD D,(IX-43) + 00006155 3E 00 3853 LD A,BYTE3 read_stringtable + 00006157 21 5E 66 3854 LD HL,LWRD read_stringtable + 0000615A CD FB 81 3855 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000615D 21 26 00 3856 LD HL,38 + 00006160 DD 4E 02 3857 LD C,(IX+2) + 00006163 DD 46 03 3858 LD B,(IX+3) + 00006166 09 3859 ADD HL,BC + 00006167 E5 3860 PUSH HL + 00006168 11 04 00 3861 LD DE,4 + 0000616B CD 0E 63 3862 CALL LWRD ?0454 + 0000616E EB 3863 EX DE,HL + 0000616F E1 3864 POP HL + 00006170 73 3865 LD (HL),E + 00006171 23 3866 INC HL + 00006172 72 3867 LD (HL),D + 00006173 21 26 00 3868 LD HL,38 + 00006176 09 3869 ADD HL,BC + 00006177 56 3870 LD D,(HL) + 00006178 DD 72 F5 3871 LD (IX-11),D + 0000617B 23 3872 INC HL + 0000617C 66 3873 LD H,(HL) + 0000617D DD 74 F6 3874 LD (IX-10),H + 00006180 21 24 00 3875 LD HL,36 + 00006183 09 3876 ADD HL,BC + 00006184 36 04 3877 LD (HL),4 + 00006186 23 3878 INC HL + 00006187 36 00 3879 LD (HL),0 + 00006189 6A 3880 LD L,D + 0000618A DD 66 F6 3881 LD H,(IX-10) + 0000618D 23 3882 INC HL + 0000618E 23 3883 INC HL + 0000618F E5 3884 PUSH HL + 00006190 21 08 00 3885 LD HL,8 + 00006193 ED 4B 3F 87 3886 LD BC,(global) + 00006197 09 3887 ADD HL,BC + 00006198 5E 3888 LD E,(HL) + 00006199 23 3889 INC HL + 0000619A 56 3890 LD D,(HL) + 0000619B E1 3891 POP HL + 0000619C 73 3892 LD (HL),E + 0000619D 23 3893 INC HL + 0000619E 72 3894 LD (HL),D + 0000619F 21 06 00 3895 LD HL,6 + 000061A2 ED 4B 3F 87 3896 LD BC,(global) + 000061A6 09 3897 ADD HL,BC + 000061A7 46 3898 LD B,(HL) + 000061A8 23 3899 INC HL + 000061A9 66 3900 LD H,(HL) + 000061AA 68 3901 LD L,B + 000061AB E5 3902 PUSH HL + 000061AC DD 6E F5 3903 LD L,(IX-11) + 000061AF DD 66 F6 3904 LD H,(IX-10) + 000061B2 C1 3905 POP BC + 000061B3 71 3906 LD (HL),C + 000061B4 23 3907 INC HL + 000061B5 70 3908 LD (HL),B + 000061B6 DD 36 F4 00 3909 LD (IX-12),0 + 000061BA 3910 ?0274: + 000061BA AF 3911 XOR A + 000061BB DD B6 F4 3912 OR (IX-12) + 000061BE CA BA 62 3913 JP Z,?0276 + 000061C1 3914 ?0275: + 000061C1 DD 7E DE 3915 LD A,(IX-34) + 000061C4 DD B6 DF 3916 OR (IX-33) + 000061C7 28 69 3917 JR Z,?0278 + 000061C9 3918 ?0277: + 000061C9 FD CB 0A EE 3919 SET 5,(IY+10) + 000061CD FD 36 24 0B 3920 LD (IY+36),11 + 000061D1 FD 36 25 00 3921 LD (IY+37),0 + 000061D5 11 0B 00 3922 LD DE,11 + 000061D8 CD 0E 63 3923 CALL LWRD ?0454 + 000061DB FD 75 26 3924 LD (IY+38),L + 000061DE FD 74 27 3925 LD (IY+39),H + 000061E1 FD 6E 26 3926 LD L,(IY+38) + 000061E4 DD 75 D0 3927 LD (IX-48),L + 000061E7 FD 66 27 3928 LD H,(IY+39) + 000061EA DD 74 D1 3929 LD (IX-47),H + 000061ED 36 26 3930 LD (HL),LOW(root_actionhandler) + 000061EF 23 3931 INC HL + 000061F0 36 63 3932 LD (HL),HIGH(root_actionhandler) + 000061F2 23 3933 INC HL + 000061F3 36 00 3934 LD (HL),BYTE3 root_actionhandler + 000061F5 DD 6E D0 3935 LD L,(IX-48) + 000061F8 DD 66 D1 3936 LD H,(IX-47) + 000061FB 23 3937 INC HL + 000061FC 23 3938 INC HL + 000061FD 23 3939 INC HL + 000061FE DD 4E DE 3940 LD C,(IX-34) + 00006201 71 3941 LD (HL),C + 00006202 DD 46 DF 3942 LD B,(IX-33) + 00006205 23 3943 INC HL + 00006206 70 3944 LD (HL),B + 00006207 21 05 00 3945 LD HL,5 + 0000620A DD 4E D0 3946 LD C,(IX-48) + 0000620D DD 46 D1 3947 LD B,(IX-47) + 00006210 09 3948 ADD HL,BC + 00006211 DD 5E E0 3949 LD E,(IX-32) + 00006214 73 3950 LD (HL),E + 00006215 DD 56 E1 3951 LD D,(IX-31) + 00006218 23 3952 INC HL + 00006219 72 3953 LD (HL),D + 0000621A 21 07 00 3954 LD HL,7 + 0000621D 09 3955 ADD HL,BC + 0000621E E5 3956 PUSH HL + 0000621F 21 18 00 3957 LD HL,24 + 00006222 39 3958 ADD HL,SP + 00006223 5E 3959 LD E,(HL) + 00006224 23 3960 INC HL + 00006225 56 3961 LD D,(HL) + 00006226 23 3962 INC HL + 00006227 4E 3963 LD C,(HL) + 00006228 23 3964 INC HL + 00006229 46 3965 LD B,(HL) + 0000622A E1 3966 POP HL + 0000622B 73 3967 LD (HL),E + 0000622C 23 3968 INC HL + 0000622D 72 3969 LD (HL),D + 0000622E 23 3970 INC HL + 0000622F 71 3971 LD (HL),C + 00006230 23 3972 INC HL + 00006231 70 3973 LD (HL),B + 00006232 3974 ?0278: + 00006232 DD 7E E6 3975 LD A,(IX-26) + 00006235 DD B6 E7 3976 OR (IX-25) + 00006238 28 0C 3977 JR Z,?0280 + 0000623A 3978 ?0279: + 0000623A DD 6E E6 3979 LD L,(IX-26) + 0000623D FD 75 0A 3980 LD (IY+10),L + 00006240 DD 66 E7 3981 LD H,(IX-25) + 00006243 FD 74 0B 3982 LD (IY+11),H + 00006246 3983 ?0280: + 00006246 DD 6E E8 3984 LD L,(IX-24) + 00006249 FD 75 0E 3985 LD (IY+14),L + 0000624C DD 66 E9 3986 LD H,(IX-23) + 0000624F FD 74 0F 3987 LD (IY+15),H + 00006252 DD 6E EA 3988 LD L,(IX-22) + 00006255 FD 75 20 3989 LD (IY+32),L + 00006258 DD 7E EB 3990 LD A,(IX-21) + 0000625B E6 0F 3991 AND 15 + 0000625D FD 77 21 3992 LD (IY+33),A + 00006260 FD 7E 20 3993 LD A,(IY+32) + 00006263 FD B6 21 3994 OR (IY+33) + 00006266 20 16 3995 JR NZ,?0282 + 00006268 3996 ?0281: + 00006268 11 14 00 3997 LD DE,20 + 0000626B CD 0E 63 3998 CALL LWRD ?0454 + 0000626E FD 75 20 3999 LD (IY+32),L + 00006271 FD 74 21 4000 LD (IY+33),H + 00006274 FD 6E 20 4001 LD L,(IY+32) + 00006277 FD 66 21 4002 LD H,(IY+33) + 0000627A 36 00 4003 LD (HL),0 + 0000627C 18 04 4004 JR ?0283 + 0000627E 4005 ?0282: + 0000627E FD CB 0B F6 4006 SET 6,(IY+11) + 00006282 4007 ?0283: + 00006282 DD 7E EB 4008 LD A,(IX-21) + 00006285 2E 00 4009 LD L,0 + 00006287 4D 4010 LD C,L + 00006288 E6 F0 4011 AND 240 + 0000628A 47 4012 LD B,A + 0000628B 26 10 4013 LD H,16 + 0000628D ED 42 4014 SBC HL,BC + 0000628F 30 10 4015 JR NC,?0285 + 00006291 4016 ?0284: + 00006291 DD 6E EA 4017 LD L,(IX-22) + 00006294 DD 7E EB 4018 LD A,(IX-21) + 00006297 E6 0F 4019 AND 15 + 00006299 67 4020 LD H,A + 0000629A 23 4021 INC HL + 0000629B FD 75 22 4022 LD (IY+34),L + 0000629E FD 74 23 4023 LD (IY+35),H + 000062A1 4024 ?0285: + 000062A1 FD E5 4025 PUSH IY + 000062A3 DD 5E 02 4026 LD E,(IX+2) + 000062A6 4B 4027 LD C,E + 000062A7 DD 56 03 4028 LD D,(IX+3) + 000062AA 42 4029 LD B,D + 000062AB 21 1D 00 4030 LD HL,29 + 000062AE 09 4031 ADD HL,BC + 000062AF 4E 4032 LD C,(HL) + 000062B0 23 4033 INC HL + 000062B1 46 4034 LD B,(HL) + 000062B2 23 4035 INC HL + 000062B3 7E 4036 LD A,(HL) + 000062B4 69 4037 LD L,C + 000062B5 60 4038 LD H,B + 000062B6 C1 4039 POP BC + 000062B7 CD FB 81 4040 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000062BA 4041 ?0276: + 000062BA 21 14 00 4042 LD HL,20 + 000062BD E5 4043 PUSH HL + 000062BE 2E 0E 4044 LD L,14 + 000062C0 39 4045 ADD HL,SP + 000062C1 4D 4046 LD C,L + 000062C2 44 4047 LD B,H + 000062C3 DD 5E D4 4048 LD E,(IX-44) + 000062C6 DD 56 D5 4049 LD D,(IX-43) + 000062C9 CD 06 63 4050 CALL LWRD ?0441 + 000062CC F1 4051 POP AF + 000062CD 3E 14 4052 LD A,20 + 000062CF AD 4053 XOR L + 000062D0 B4 4054 OR H + 000062D1 CA 86 5F 4055 JP Z,?0256 + 000062D4 4056 ?0254: + 000062D4 DD 5E D4 4057 LD E,(IX-44) + 000062D7 DD 56 D5 4058 LD D,(IX-43) + 000062DA 3E 00 4059 LD A,BYTE3 close + 000062DC 21 96 73 4060 LD HL,LWRD close + 000062DF CD FB 81 4061 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000062E2 DD 5E 02 4062 LD E,(IX+2) + 000062E5 DD 56 03 4063 LD D,(IX+3) + 000062E8 3E 00 4064 LD A,BYTE3 Component_linkstringtable + 000062EA 21 67 50 4065 LD HL,LWRD Component_linkstringtable + 000062ED CD FB 81 4066 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000062F0 DD 5E 02 4067 LD E,(IX+2) + 000062F3 4B 4068 LD C,E + 000062F4 DD 56 03 4069 LD D,(IX+3) + 000062F7 42 4070 LD B,D + 000062F8 21 1A 00 4071 LD HL,26 + 000062FB 09 4072 ADD HL,BC + 000062FC 4E 4073 LD C,(HL) + 000062FD 23 4074 INC HL + 000062FE 46 4075 LD B,(HL) + 000062FF 23 4076 INC HL + 00006300 7E 4077 LD A,(HL) + 00006301 69 4078 LD L,C + 00006302 60 4079 LD H,B + 00006303 C3 67 57 4080 JP LWRD ?0424 + 00006306 4081 ?0441: + 00006306 3E 01 4082 LD A,BYTE3 _read + 00006308 21 5C 42 4083 LD HL,LWRD _read + 0000630B C3 FB 81 4084 JP LWRD ?BANK_CALL_DIRECT_L08 + 0000630E 4085 ?0454: + 0000630E 3E 01 4086 LD A,BYTE3 malloc + 00006310 21 00 40 4087 LD HL,LWRD malloc + 00006313 C3 FB 81 4088 JP LWRD ?BANK_CALL_DIRECT_L08 + 00006316 4089 ?0482: + 00006316 DD 4E DC 4090 LD C,(IX-36) + 00006319 DD 5E F2 4091 LD E,(IX-14) + 0000631C DD 56 F3 4092 LD D,(IX-13) + 0000631F 4093 ?0483: + 0000631F CD AE 81 4094 CALL LWRD ?S_MUL_L02 + 00006322 1B 4095 DEC DE + 00006323 1B 4096 DEC DE + 00006324 1B 4097 DEC DE + 00006325 C9 4098 RET + 00006326 4099 root_actionhandler: + 00006326 CD 7A 82 4100 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00006329 EA FF 4101 DEFW 65514 + 0000632B FD E5 4102 PUSH IY + 0000632D DD 6E 02 4103 LD L,(IX+2) + 00006330 DD 66 03 4104 LD H,(IX+3) + 00006333 E5 4105 PUSH HL + 00006334 FD E1 4106 POP IY + 00006336 21 06 00 4107 LD HL,6 + 00006339 39 4108 ADD HL,SP + 0000633A EB 4109 EX DE,HL + 0000633B 21 D5 84 4110 LD HL,?0286 + 0000633E 01 0E 00 4111 LD BC,14 + 00006341 ED B0 4112 LDIR + 00006343 FD 6E 26 4113 LD L,(IY+38) + 00006346 DD 75 EA 4114 LD (IX-22),L + 00006349 FD 66 27 4115 LD H,(IY+39) + 0000634C DD 74 EB 4116 LD (IX-21),H + 0000634F 23 4117 INC HL + 00006350 23 4118 INC HL + 00006351 23 4119 INC HL + 00006352 3E 01 4120 LD A,1 + 00006354 AE 4121 XOR (HL) + 00006355 23 4122 INC HL + 00006356 B6 4123 OR (HL) + 00006357 20 08 4124 JR NZ,?0288 + 00006359 4125 ?0287: + 00006359 C5 4126 PUSH BC + 0000635A 01 01 04 4127 LD BC,1025 + 0000635D CD BE 53 4128 CALL LWRD ?0463 + 00006360 E1 4129 POP HL + 00006361 4130 ?0288: + 00006361 DD 6E EA 4131 LD L,(IX-22) + 00006364 DD 66 EB 4132 LD H,(IX-21) + 00006367 23 4133 INC HL + 00006368 23 4134 INC HL + 00006369 23 4135 INC HL + 0000636A 46 4136 LD B,(HL) + 0000636B 23 4137 INC HL + 0000636C 66 4138 LD H,(HL) + 0000636D 68 4139 LD L,B + 0000636E CB 85 4140 RES 0,L + 00006370 3E 02 4141 LD A,2 + 00006372 AD 4142 XOR L + 00006373 B4 4143 OR H + 00006374 C2 91 64 4144 JP NZ,?0290 + 00006377 4145 ?0289: + 00006377 6F 4146 LD L,A + 00006378 67 4147 LD H,A + 00006379 E5 4148 PUSH HL + 0000637A E5 4149 PUSH HL + 0000637B 01 01 00 4150 LD BC,1 + 0000637E FD 5E 11 4151 LD E,(IY+17) + 00006381 FD 56 12 4152 LD D,(IY+18) + 00006384 3E 00 4153 LD A,BYTE3 Component_changestate_children + 00006386 21 FE 4F 4154 LD HL,LWRD Component_changestate_children + 00006389 CD FB 81 4155 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000638C E1 4156 POP HL + 0000638D E1 4157 POP HL + 0000638E FD 6E 11 4158 LD L,(IY+17) + 00006391 FD 66 12 4159 LD H,(IY+18) + 00006394 01 08 00 4160 LD BC,8 + 00006397 09 4161 ADD HL,BC + 00006398 4E 4162 LD C,(HL) + 00006399 23 4163 INC HL + 0000639A 46 4164 LD B,(HL) + 0000639B C5 4165 PUSH BC + 0000639C FD 6E 11 4166 LD L,(IY+17) + 0000639F FD 66 12 4167 LD H,(IY+18) + 000063A2 01 06 00 4168 LD BC,6 + 000063A5 09 4169 ADD HL,BC + 000063A6 4E 4170 LD C,(HL) + 000063A7 23 4171 INC HL + 000063A8 46 4172 LD B,(HL) + 000063A9 C5 4173 PUSH BC + 000063AA 01 00 00 4174 LD BC,0 + 000063AD 59 4175 LD E,C + 000063AE 50 4176 LD D,B + 000063AF 3E 00 4177 LD A,BYTE3 Window_new + 000063B1 21 B9 55 4178 LD HL,LWRD Window_new + 000063B4 CD FB 81 4179 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000063B7 F1 4180 POP AF + 000063B8 F1 4181 POP AF + 000063B9 DD 75 EC 4182 LD (IX-20),L + 000063BC DD 74 ED 4183 LD (IX-19),H + 000063BF 01 0A 00 4184 LD BC,10 + 000063C2 09 4185 ADD HL,BC + 000063C3 36 03 4186 LD (HL),3 + 000063C5 23 4187 INC HL + 000063C6 70 4188 LD (HL),B + 000063C7 DD 6E EA 4189 LD L,(IX-22) + 000063CA DD 66 EB 4190 LD H,(IX-21) + 000063CD 23 4191 INC HL + 000063CE 23 4192 INC HL + 000063CF 23 4193 INC HL + 000063D0 CB 46 4194 BIT 0,(HL) + 000063D2 28 0C 4195 JR Z,?0292 + 000063D4 4196 ?0291: + 000063D4 69 4197 LD L,C + 000063D5 60 4198 LD H,B + 000063D6 DD 4E EC 4199 LD C,(IX-20) + 000063D9 DD 46 ED 4200 LD B,(IX-19) + 000063DC 09 4201 ADD HL,BC + 000063DD 23 4202 INC HL + 000063DE CB EE 4203 SET 5,(HL) + 000063E0 4204 ?0292: + 000063E0 21 17 00 4205 LD HL,23 + 000063E3 DD 4E EC 4206 LD C,(IX-20) + 000063E6 DD 46 ED 4207 LD B,(IX-19) + 000063E9 09 4208 ADD HL,BC + 000063EA 36 38 4209 LD (HL),LOW(rootWindow_handler) + 000063EC 23 4210 INC HL + 000063ED 36 5F 4211 LD (HL),HIGH(rootWindow_handler) + 000063EF 23 4212 INC HL + 000063F0 36 00 4213 LD (HL),BYTE3 rootWindow_handler + 000063F2 21 1A 00 4214 LD HL,26 + 000063F5 09 4215 ADD HL,BC + 000063F6 36 74 4216 LD (HL),LOW(Root_paint) + 000063F8 23 4217 INC HL + 000063F9 36 55 4218 LD (HL),HIGH(Root_paint) + 000063FB 23 4219 INC HL + 000063FC 36 00 4220 LD (HL),BYTE3 Root_paint + 000063FE 21 07 00 4221 LD HL,7 + 00006401 DD 5E EA 4222 LD E,(IX-22) + 00006404 DD 56 EB 4223 LD D,(IX-21) + 00006407 19 4224 ADD HL,DE + 00006408 5E 4225 LD E,(HL) + 00006409 EB 4226 EX DE,HL + 0000640A DD 75 F3 4227 LD (IX-13),L + 0000640D 21 07 00 4228 LD HL,7 + 00006410 DD 4E EA 4229 LD C,(IX-22) + 00006413 DD 46 EB 4230 LD B,(IX-21) + 00006416 09 4231 ADD HL,BC + 00006417 5E 4232 LD E,(HL) + 00006418 23 4233 INC HL + 00006419 56 4234 LD D,(HL) + 0000641A 23 4235 INC HL + 0000641B 4E 4236 LD C,(HL) + 0000641C 23 4237 INC HL + 0000641D 46 4238 LD B,(HL) + 0000641E EB 4239 EX DE,HL + 0000641F 3E 08 4240 LD A,8 + 00006421 CD 15 83 4241 CALL LWRD ?SL_RSH_L03 + 00006424 DD 75 F4 4242 LD (IX-12),L + 00006427 21 07 00 4243 LD HL,7 + 0000642A DD 4E EA 4244 LD C,(IX-22) + 0000642D DD 46 EB 4245 LD B,(IX-21) + 00006430 09 4246 ADD HL,BC + 00006431 5E 4247 LD E,(HL) + 00006432 23 4248 INC HL + 00006433 56 4249 LD D,(HL) + 00006434 23 4250 INC HL + 00006435 4E 4251 LD C,(HL) + 00006436 23 4252 INC HL + 00006437 46 4253 LD B,(HL) + 00006438 EB 4254 EX DE,HL + 00006439 3E 10 4255 LD A,16 + 0000643B CD 15 83 4256 CALL LWRD ?SL_RSH_L03 + 0000643E DD 75 F5 4257 LD (IX-11),L + 00006441 21 07 00 4258 LD HL,7 + 00006444 DD 4E EA 4259 LD C,(IX-22) + 00006447 DD 46 EB 4260 LD B,(IX-21) + 0000644A 09 4261 ADD HL,BC + 0000644B 5E 4262 LD E,(HL) + 0000644C 23 4263 INC HL + 0000644D 56 4264 LD D,(HL) + 0000644E 23 4265 INC HL + 0000644F 4E 4266 LD C,(HL) + 00006450 23 4267 INC HL + 00006451 46 4268 LD B,(HL) + 00006452 EB 4269 EX DE,HL + 00006453 3E 18 4270 LD A,24 + 00006455 CD 15 83 4271 CALL LWRD ?SL_RSH_L03 + 00006458 DD 75 F6 4272 LD (IX-10),L + 0000645B 21 06 00 4273 LD HL,6 + 0000645E 39 4274 ADD HL,SP + 0000645F 4D 4275 LD C,L + 00006460 44 4276 LD B,H + 00006461 DD 5E EC 4277 LD E,(IX-20) + 00006464 DD 56 ED 4278 LD D,(IX-19) + 00006467 3E 00 4279 LD A,BYTE3 screenbuilder + 00006469 21 56 5F 4280 LD HL,LWRD screenbuilder + 0000646C CD FB 81 4281 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000646F DD 4E EC 4282 LD C,(IX-20) + 00006472 DD 46 ED 4283 LD B,(IX-19) + 00006475 C5 4284 PUSH BC + 00006476 FD 5E 11 4285 LD E,(IY+17) + 00006479 FD 56 12 4286 LD D,(IY+18) + 0000647C FD 6E 11 4287 LD L,(IY+17) + 0000647F FD 66 12 4288 LD H,(IY+18) + 00006482 01 1D 00 4289 LD BC,29 + 00006485 09 4290 ADD HL,BC + 00006486 4E 4291 LD C,(HL) + 00006487 23 4292 INC HL + 00006488 46 4293 LD B,(HL) + 00006489 23 4294 INC HL + 0000648A 7E 4295 LD A,(HL) + 0000648B 69 4296 LD L,C + 0000648C 60 4297 LD H,B + 0000648D C1 4298 POP BC + 0000648E CD FB 81 4299 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006491 4300 ?0290: + 00006491 DD 6E EA 4301 LD L,(IX-22) + 00006494 DD 66 EB 4302 LD H,(IX-21) + 00006497 23 4303 INC HL + 00006498 23 4304 INC HL + 00006499 23 4305 INC HL + 0000649A 3E 04 4306 LD A,4 + 0000649C AE 4307 XOR (HL) + 0000649D 23 4308 INC HL + 0000649E B6 4309 OR (HL) + 0000649F C2 2F 66 4310 JP NZ,?0294 + 000064A2 4311 ?0293: + 000064A2 21 01 00 4312 LD HL,1 + 000064A5 E5 4313 PUSH HL + 000064A6 FD 6E 11 4314 LD L,(IY+17) + 000064A9 FD 66 12 4315 LD H,(IY+18) + 000064AC 01 08 00 4316 LD BC,8 + 000064AF 09 4317 ADD HL,BC + 000064B0 46 4318 LD B,(HL) + 000064B1 23 4319 INC HL + 000064B2 66 4320 LD H,(HL) + 000064B3 68 4321 LD L,B + 000064B4 01 F6 FF 4322 LD BC,65526 + 000064B7 09 4323 ADD HL,BC + 000064B8 E5 4324 PUSH HL + 000064B9 FD 6E 11 4325 LD L,(IY+17) + 000064BC FD 66 12 4326 LD H,(IY+18) + 000064BF 01 06 00 4327 LD BC,6 + 000064C2 09 4328 ADD HL,BC + 000064C3 46 4329 LD B,(HL) + 000064C4 23 4330 INC HL + 000064C5 66 4331 LD H,(HL) + 000064C6 68 4332 LD L,B + 000064C7 01 F6 FF 4333 LD BC,65526 + 000064CA 09 4334 ADD HL,BC + 000064CB E5 4335 PUSH HL + 000064CC 01 05 00 4336 LD BC,5 + 000064CF 59 4337 LD E,C + 000064D0 50 4338 LD D,B + 000064D1 3E 00 4339 LD A,BYTE3 Dialog_new + 000064D3 21 62 5B 4340 LD HL,LWRD Dialog_new + 000064D6 CD FB 81 4341 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000064D9 F1 4342 POP AF + 000064DA F1 4343 POP AF + 000064DB F1 4344 POP AF + 000064DC DD 75 EC 4345 LD (IX-20),L + 000064DF DD 74 ED 4346 LD (IX-19),H + 000064E2 01 0A 00 4347 LD BC,10 + 000064E5 09 4348 ADD HL,BC + 000064E6 36 03 4349 LD (HL),3 + 000064E8 23 4350 INC HL + 000064E9 36 10 4351 LD (HL),16 + 000064EB 21 0E 00 4352 LD HL,14 + 000064EE DD 4E EC 4353 LD C,(IX-20) + 000064F1 DD 46 ED 4354 LD B,(IX-19) + 000064F4 09 4355 ADD HL,BC + 000064F5 36 30 4356 LD (HL),48 + 000064F7 23 4357 INC HL + 000064F8 36 00 4358 LD (HL),0 + 000064FA AF 4359 XOR A + 000064FB DD 77 FE 4360 LD (IX-2),A + 000064FE DD 77 FF 4361 LD (IX-1),A + 00006501 4362 ?0296: + 00006501 21 05 00 4363 LD HL,5 + 00006504 DD 4E EA 4364 LD C,(IX-22) + 00006507 DD 46 EB 4365 LD B,(IX-21) + 0000650A 09 4366 ADD HL,BC + 0000650B 5E 4367 LD E,(HL) + 0000650C 23 4368 INC HL + 0000650D 56 4369 LD D,(HL) + 0000650E 06 0C 4370 LD B,12 + 00006510 CD 87 83 4371 CALL LWRD ?SS_RSH_L02 + 00006513 4B 4372 LD C,E + 00006514 42 4373 LD B,D + 00006515 DD 6E FE 4374 LD L,(IX-2) + 00006518 DD 66 FF 4375 LD H,(IX-1) + 0000651B CD C8 82 4376 CALL LWRD ?SS_CMP_L02 + 0000651E 30 04 4377 JR NC,?0367 + 00006520 3E 01 4378 LD A,1 + 00006522 18 01 4379 JR ?0368 + 00006524 4380 ?0367: + 00006524 AF 4381 XOR A + 00006525 4382 ?0368: + 00006525 E6 0F 4383 AND 15 + 00006527 CA C3 65 4384 JP Z,?0295 + 0000652A 4385 ?0297: + 0000652A 21 05 00 4386 LD HL,5 + 0000652D DD 4E EA 4387 LD C,(IX-22) + 00006530 DD 46 EB 4388 LD B,(IX-21) + 00006533 09 4389 ADD HL,BC + 00006534 46 4390 LD B,(HL) + 00006535 23 4391 INC HL + 00006536 7E 4392 LD A,(HL) + 00006537 68 4393 LD L,B + 00006538 E6 0F 4394 AND 15 + 0000653A 67 4395 LD H,A + 0000653B DD 4E FE 4396 LD C,(IX-2) + 0000653E DD 46 FF 4397 LD B,(IX-1) + 00006541 09 4398 ADD HL,BC + 00006542 29 4399 ADD HL,HL + 00006543 E5 4400 PUSH HL + 00006544 21 08 00 4401 LD HL,8 + 00006547 ED 5B 3F 87 4402 LD DE,(global) + 0000654B 19 4403 ADD HL,DE + 0000654C 5E 4404 LD E,(HL) + 0000654D 23 4405 INC HL + 0000654E 56 4406 LD D,(HL) + 0000654F E1 4407 POP HL + 00006550 19 4408 ADD HL,DE + 00006551 2B 4409 DEC HL + 00006552 2B 4410 DEC HL + 00006553 5E 4411 LD E,(HL) + 00006554 23 4412 INC HL + 00006555 56 4413 LD D,(HL) + 00006556 D5 4414 PUSH DE + 00006557 21 10 00 4415 LD HL,16 + 0000655A E5 4416 PUSH HL + 0000655B 2E 06 4417 LD L,6 + 0000655D DD 5E EC 4418 LD E,(IX-20) + 00006560 DD 56 ED 4419 LD D,(IX-19) + 00006563 19 4420 ADD HL,DE + 00006564 6E 4421 LD L,(HL) + 00006565 26 00 4422 LD H,0 + 00006567 01 F0 FF 4423 LD BC,65520 + 0000656A 09 4424 ADD HL,BC + 0000656B E5 4425 PUSH HL + 0000656C DD 6E FE 4426 LD L,(IX-2) + 0000656F DD 66 FF 4427 LD H,(IX-1) + 00006572 29 4428 ADD HL,HL + 00006573 29 4429 ADD HL,HL + 00006574 4D 4430 LD C,L + 00006575 44 4431 LD B,H + 00006576 29 4432 ADD HL,HL + 00006577 09 4433 ADD HL,BC + 00006578 01 14 00 4434 LD BC,20 + 0000657B 09 4435 ADD HL,BC + 0000657C 4D 4436 LD C,L + 0000657D 44 4437 LD B,H + 0000657E 11 08 00 4438 LD DE,8 + 00006581 3E 00 4439 LD A,BYTE3 Label_new + 00006583 21 DF 5E 4440 LD HL,LWRD Label_new + 00006586 CD FB 81 4441 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006589 F1 4442 POP AF + 0000658A F1 4443 POP AF + 0000658B F1 4444 POP AF + 0000658C DD 75 FC 4445 LD (IX-4),L + 0000658F DD 74 FD 4446 LD (IX-3),H + 00006592 01 0E 00 4447 LD BC,14 + 00006595 09 4448 ADD HL,BC + 00006596 36 30 4449 LD (HL),48 + 00006598 23 4450 INC HL + 00006599 70 4451 LD (HL),B + 0000659A DD 4E FC 4452 LD C,(IX-4) + 0000659D DD 46 FD 4453 LD B,(IX-3) + 000065A0 C5 4454 PUSH BC + 000065A1 DD 5E EC 4455 LD E,(IX-20) + 000065A4 4B 4456 LD C,E + 000065A5 DD 56 ED 4457 LD D,(IX-19) + 000065A8 42 4458 LD B,D + 000065A9 21 1D 00 4459 LD HL,29 + 000065AC 09 4460 ADD HL,BC + 000065AD 4E 4461 LD C,(HL) + 000065AE 23 4462 INC HL + 000065AF 46 4463 LD B,(HL) + 000065B0 23 4464 INC HL + 000065B1 7E 4465 LD A,(HL) + 000065B2 69 4466 LD L,C + 000065B3 60 4467 LD H,B + 000065B4 C1 4468 POP BC + 000065B5 CD FB 81 4469 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000065B8 DD 34 FE 4470 INC (IX-2) + 000065BB 20 03 4471 JR NZ,?0369 + 000065BD DD 34 FF 4472 INC (IX-1) + 000065C0 4473 ?0369: + 000065C0 C3 01 65 4474 JP LWRD ?0296 + 000065C3 4475 ?0295: + 000065C3 01 F8 84 4476 LD BC,?0299 + 000065C6 DD 5E EC 4477 LD E,(IX-20) + 000065C9 DD 56 ED 4478 LD D,(IX-19) + 000065CC 3E 00 4479 LD A,BYTE3 Component_setlabel + 000065CE 21 A1 4C 4480 LD HL,LWRD Component_setlabel + 000065D1 CD FB 81 4481 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000065D4 01 FF 00 4482 LD BC,255 + 000065D7 CD 50 66 4483 CALL LWRD ?0476 + 000065DA 01 0E 00 4484 LD BC,14 + 000065DD 09 4485 ADD HL,BC + 000065DE 36 30 4486 LD (HL),48 + 000065E0 23 4487 INC HL + 000065E1 70 4488 LD (HL),B + 000065E2 0E FE 4489 LD C,254 + 000065E4 CD 50 66 4490 CALL LWRD ?0476 + 000065E7 EB 4491 EX DE,HL + 000065E8 CD D7 4F 4492 CALL LWRD ?0453 + 000065EB DD 4E EC 4493 LD C,(IX-20) + 000065EE DD 46 ED 4494 LD B,(IX-19) + 000065F1 C5 4495 PUSH BC + 000065F2 FD 5E 11 4496 LD E,(IY+17) + 000065F5 FD 56 12 4497 LD D,(IY+18) + 000065F8 FD 6E 11 4498 LD L,(IY+17) + 000065FB FD 66 12 4499 LD H,(IY+18) + 000065FE 01 1D 00 4500 LD BC,29 + 00006601 09 4501 ADD HL,BC + 00006602 4E 4502 LD C,(HL) + 00006603 23 4503 INC HL + 00006604 46 4504 LD B,(HL) + 00006605 23 4505 INC HL + 00006606 7E 4506 LD A,(HL) + 00006607 69 4507 LD L,C + 00006608 60 4508 LD H,B + 00006609 C1 4509 POP BC + 0000660A CD FB 81 4510 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000660D 21 00 00 4511 LD HL,0 + 00006610 E5 4512 PUSH HL + 00006611 FD 5E 11 4513 LD E,(IY+17) + 00006614 FD 56 12 4514 LD D,(IY+18) + 00006617 FD 6E 11 4515 LD L,(IY+17) + 0000661A FD 66 12 4516 LD H,(IY+18) + 0000661D 01 17 00 4517 LD BC,23 + 00006620 09 4518 ADD HL,BC + 00006621 4E 4519 LD C,(HL) + 00006622 23 4520 INC HL + 00006623 46 4521 LD B,(HL) + 00006624 23 4522 INC HL + 00006625 7E 4523 LD A,(HL) + 00006626 69 4524 LD L,C + 00006627 60 4525 LD H,B + 00006628 01 03 01 4526 LD BC,259 + 0000662B CD FB 81 4527 CALL LWRD ?BANK_CALL_DIRECT_L08 + 0000662E E1 4528 POP HL + 0000662F 4529 ?0294: + 0000662F 21 10 00 4530 LD HL,16 + 00006632 ED 4B 3F 87 4531 LD BC,(global) + 00006636 09 4532 ADD HL,BC + 00006637 7E 4533 LD A,(HL) + 00006638 23 4534 INC HL + 00006639 B6 4535 OR (HL) + 0000663A 23 4536 INC HL + 0000663B B6 4537 OR (HL) + 0000663C 28 0D 4538 JR Z,?0301 + 0000663E 4539 ?0300: + 0000663E FD E5 4540 PUSH IY + 00006640 D1 4541 POP DE + 00006641 21 10 00 4542 LD HL,16 + 00006644 ED 4B 3F 87 4543 LD BC,(global) + 00006648 CD DC 53 4544 CALL LWRD ?0475 + 0000664B 4545 ?0301: + 0000664B FD E1 4546 POP IY + 0000664D C3 A3 81 4547 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00006650 4548 ?0476: + 00006650 DD 5E EC 4549 LD E,(IX-20) + 00006653 DD 56 ED 4550 LD D,(IX-19) + 00006656 3E 00 4551 LD A,BYTE3 Component_find + 00006658 21 D6 4D 4552 LD HL,LWRD Component_find + 0000665B C3 FB 81 4553 JP LWRD ?BANK_CALL_DIRECT_L08 + 0000665E 4554 read_stringtable: + 0000665E CD 7A 82 4555 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00006661 F8 FF 4556 DEFW -8 + 00006663 FD E5 4557 PUSH IY + 00006665 03 4558 INC BC + 00006666 0A 4559 LD A,(BC) + 00006667 DD 77 FE 4560 LD (IX-2),A + 0000666A 03 4561 INC BC + 0000666B 0A 4562 LD A,(BC) + 0000666C DD 77 FF 4563 LD (IX-1),A + 0000666F 03 4564 INC BC + 00006670 69 4565 LD L,C + 00006671 60 4566 LD H,B + 00006672 4E 4567 LD C,(HL) + 00006673 DD 71 FC 4568 LD (IX-4),C + 00006676 23 4569 INC HL + 00006677 46 4570 LD B,(HL) + 00006678 DD 70 FD 4571 LD (IX-3),B + 0000667B DD 6E FE 4572 LD L,(IX-2) + 0000667E 67 4573 LD H,A + 0000667F 29 4574 ADD HL,HL + 00006680 EB 4575 EX DE,HL + 00006681 CD 0E 63 4576 CALL LWRD ?0454 + 00006684 DD 75 FA 4577 LD (IX-6),L + 00006687 DD 74 FB 4578 LD (IX-5),H + 0000668A 59 4579 LD E,C + 0000668B 50 4580 LD D,B + 0000668C CD 16 4B 4581 CALL LWRD ?0447 + 0000668F C5 4582 PUSH BC + 00006690 4D 4583 LD C,L + 00006691 44 4584 LD B,H + 00006692 DD 5E 02 4585 LD E,(IX+2) + 00006695 DD 56 03 4586 LD D,(IX+3) + 00006698 CD 06 63 4587 CALL LWRD ?0441 + 0000669B F1 4588 POP AF + 0000669C 11 00 00 4589 LD DE,0 + 0000669F AF 4590 XOR A + 000066A0 DD 77 F8 4591 LD (IX-8),A + 000066A3 DD 77 F9 4592 LD (IX-7),A + 000066A6 4593 ?0303: + 000066A6 DD 4E FC 4594 LD C,(IX-4) + 000066A9 DD 46 FD 4595 LD B,(IX-3) + 000066AC 6B 4596 LD L,E + 000066AD 62 4597 LD H,D + 000066AE CD C8 82 4598 CALL LWRD ?SS_CMP_L02 + 000066B1 30 35 4599 JR NC,?0302 + 000066B3 CD 24 67 4600 CALL LWRD ?0479 + 000066B6 30 30 4601 JR NC,?0302 + 000066B8 4602 ?0306: + 000066B8 4603 ?0305: + 000066B8 4604 ?0304: + 000066B8 23 4605 INC HL + 000066B9 DD 75 F8 4606 LD (IX-8),L + 000066BC DD 74 F9 4607 LD (IX-7),H + 000066BF 2B 4608 DEC HL + 000066C0 29 4609 ADD HL,HL + 000066C1 DD 4E FA 4610 LD C,(IX-6) + 000066C4 DD 46 FB 4611 LD B,(IX-5) + 000066C7 09 4612 ADD HL,BC + 000066C8 E5 4613 PUSH HL + 000066C9 FD E5 4614 PUSH IY + 000066CB E1 4615 POP HL + 000066CC 19 4616 ADD HL,DE + 000066CD 4D 4617 LD C,L + 000066CE 44 4618 LD B,H + 000066CF E1 4619 POP HL + 000066D0 71 4620 LD (HL),C + 000066D1 23 4621 INC HL + 000066D2 70 4622 LD (HL),B + 000066D3 4623 ?0308: + 000066D3 FD E5 4624 PUSH IY + 000066D5 E1 4625 POP HL + 000066D6 19 4626 ADD HL,DE + 000066D7 7E 4627 LD A,(HL) + 000066D8 B7 4628 OR A + 000066D9 28 03 4629 JR Z,?0307 + 000066DB 4630 ?0309: + 000066DB 13 4631 INC DE + 000066DC 18 F5 4632 JR ?0308 + 000066DE 4633 ?0307: + 000066DE 6B 4634 LD L,E + 000066DF 62 4635 LD H,D + 000066E0 13 4636 INC DE + 000066E1 FD E5 4637 PUSH IY + 000066E3 C1 4638 POP BC + 000066E4 09 4639 ADD HL,BC + 000066E5 77 4640 LD (HL),A + 000066E6 18 BE 4641 JR ?0303 + 000066E8 4642 ?0302: + 000066E8 CD 24 67 4643 CALL LWRD ?0479 + 000066EB 30 13 4644 JR NC,?0311 + 000066ED 4645 ?0310: + 000066ED 29 4646 ADD HL,HL + 000066EE DD 4E FA 4647 LD C,(IX-6) + 000066F1 DD 46 FB 4648 LD B,(IX-5) + 000066F4 09 4649 ADD HL,BC + 000066F5 E5 4650 PUSH HL + 000066F6 FD E5 4651 PUSH IY + 000066F8 E1 4652 POP HL + 000066F9 19 4653 ADD HL,DE + 000066FA 4D 4654 LD C,L + 000066FB 44 4655 LD B,H + 000066FC E1 4656 POP HL + 000066FD 71 4657 LD (HL),C + 000066FE 23 4658 INC HL + 000066FF 70 4659 LD (HL),B + 00006700 4660 ?0311: + 00006700 21 06 00 4661 LD HL,6 + 00006703 ED 4B 3F 87 4662 LD BC,(global) + 00006707 09 4663 ADD HL,BC + 00006708 FD E5 4664 PUSH IY + 0000670A C1 4665 POP BC + 0000670B 71 4666 LD (HL),C + 0000670C 23 4667 INC HL + 0000670D 70 4668 LD (HL),B + 0000670E 21 08 00 4669 LD HL,8 + 00006711 ED 4B 3F 87 4670 LD BC,(global) + 00006715 09 4671 ADD HL,BC + 00006716 DD 4E FA 4672 LD C,(IX-6) + 00006719 71 4673 LD (HL),C + 0000671A DD 46 FB 4674 LD B,(IX-5) + 0000671D 23 4675 INC HL + 0000671E 70 4676 LD (HL),B + 0000671F FD E1 4677 POP IY + 00006721 C3 A3 81 4678 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 00006724 4679 ?0479: + 00006724 DD 4E FE 4680 LD C,(IX-2) + 00006727 DD 46 FF 4681 LD B,(IX-1) + 0000672A DD 6E F8 4682 LD L,(IX-8) + 0000672D DD 66 F9 4683 LD H,(IX-7) + 00006730 C3 C8 82 4684 JP LWRD ?SS_CMP_L02 + 00006733 4685 gui_globals: + 00006733 2A 3F 87 4686 LD HL,(global) + 00006736 C3 A9 81 4687 JP LWRD ?BANK_FAST_LEAVE_L08 + 00006739 4688 GUIinit: + 00006739 C5 4689 PUSH BC + 0000673A D5 4690 PUSH DE + 0000673B 11 13 00 4691 LD DE,19 + 0000673E CD 0E 63 4692 CALL LWRD ?0454 + 00006741 22 3F 87 4693 LD (global),HL + 00006744 AF 4694 XOR A + 00006745 77 4695 LD (HL),A + 00006746 23 4696 INC HL + 00006747 77 4697 LD (HL),A + 00006748 21 04 00 4698 LD HL,4 + 0000674B ED 4B 3F 87 4699 LD BC,(global) + 0000674F 09 4700 ADD HL,BC + 00006750 77 4701 LD (HL),A + 00006751 23 4702 INC HL + 00006752 77 4703 LD (HL),A + 00006753 21 0A 00 4704 LD HL,10 + 00006756 ED 4B 3F 87 4705 LD BC,(global) + 0000675A 09 4706 ADD HL,BC + 0000675B 77 4707 LD (HL),A + 0000675C 23 4708 INC HL + 0000675D 77 4709 LD (HL),A + 0000675E 21 0C 00 4710 LD HL,12 + 00006761 ED 4B 3F 87 4711 LD BC,(global) + 00006765 09 4712 ADD HL,BC + 00006766 77 4713 LD (HL),A + 00006767 23 4714 INC HL + 00006768 77 4715 LD (HL),A + 00006769 21 08 00 4716 LD HL,8 + 0000676C ED 4B 3F 87 4717 LD BC,(global) + 00006770 09 4718 ADD HL,BC + 00006771 77 4719 LD (HL),A + 00006772 23 4720 INC HL + 00006773 77 4721 LD (HL),A + 00006774 21 06 00 4722 LD HL,6 + 00006777 ED 4B 3F 87 4723 LD BC,(global) + 0000677B 09 4724 ADD HL,BC + 0000677C 77 4725 LD (HL),A + 0000677D 23 4726 INC HL + 0000677E 77 4727 LD (HL),A + 0000677F 21 10 00 4728 LD HL,16 + 00006782 ED 4B 3F 87 4729 LD BC,(global) + 00006786 09 4730 ADD HL,BC + 00006787 77 4731 LD (HL),A + 00006788 23 4732 INC HL + 00006789 77 4733 LD (HL),A + 0000678A 23 4734 INC HL + 0000678B 77 4735 LD (HL),A + 0000678C 3E 00 4736 LD A,BYTE3 GraphicsOpen + 0000678E 21 48 46 4737 LD HL,LWRD GraphicsOpen + 00006791 CD FB 81 4738 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006794 21 00 00 4739 LD HL,0 + 00006797 E5 4740 PUSH HL + 00006798 E5 4741 PUSH HL + 00006799 0E 00 4742 LD C,BYTE3 stringheight01 + 0000679B C5 4743 PUSH BC + 0000679C 21 B8 4B 4744 LD HL,LWRD stringheight01 + 0000679F E5 4745 PUSH HL + 000067A0 0E 00 4746 LD C,BYTE3 stringwidth0 + 000067A2 C5 4747 PUSH BC + 000067A3 21 D4 4B 4748 LD HL,LWRD stringwidth0 + 000067A6 E5 4749 PUSH HL + 000067A7 11 30 00 4750 LD DE,48 + 000067AA CD 58 68 4751 CALL LWRD ?0484 + 000067AD 21 0C 00 4752 LD HL,12 + 000067B0 39 4753 ADD HL,SP + 000067B1 F9 4754 LD SP,HL + 000067B2 21 00 00 4755 LD HL,0 + 000067B5 E5 4756 PUSH HL + 000067B6 E5 4757 PUSH HL + 000067B7 0E 00 4758 LD C,BYTE3 stringheight01 + 000067B9 C5 4759 PUSH BC + 000067BA 21 B8 4B 4760 LD HL,LWRD stringheight01 + 000067BD E5 4761 PUSH HL + 000067BE 0E 00 4762 LD C,BYTE3 stringwidth1 + 000067C0 C5 4763 PUSH BC + 000067C1 21 E5 4B 4764 LD HL,LWRD stringwidth1 + 000067C4 E5 4765 PUSH HL + 000067C5 11 31 00 4766 LD DE,49 + 000067C8 CD 58 68 4767 CALL LWRD ?0484 + 000067CB 21 0C 00 4768 LD HL,12 + 000067CE 39 4769 ADD HL,SP + 000067CF F9 4770 LD SP,HL + 000067D0 21 00 00 4771 LD HL,0 + 000067D3 E5 4772 PUSH HL + 000067D4 E5 4773 PUSH HL + 000067D5 0E 00 4774 LD C,BYTE3 stringheight2 + 000067D7 C5 4775 PUSH BC + 000067D8 21 CB 4B 4776 LD HL,LWRD stringheight2 + 000067DB E5 4777 PUSH HL + 000067DC 0E 00 4778 LD C,BYTE3 stringwidth2 + 000067DE C5 4779 PUSH BC + 000067DF 21 EE 4B 4780 LD HL,LWRD stringwidth2 + 000067E2 E5 4781 PUSH HL + 000067E3 11 32 00 4782 LD DE,50 + 000067E6 CD 58 68 4783 CALL LWRD ?0484 + 000067E9 21 0C 00 4784 LD HL,12 + 000067EC 39 4785 ADD HL,SP + 000067ED F9 4786 LD SP,HL + 000067EE 21 0E 00 4787 LD HL,14 + 000067F1 ED 4B 3F 87 4788 LD BC,(global) + 000067F5 09 4789 ADD HL,BC + 000067F6 E5 4790 PUSH HL + 000067F7 11 80 00 4791 LD DE,128 + 000067FA D5 4792 PUSH DE + 000067FB 5A 4793 LD E,D + 000067FC D5 4794 PUSH DE + 000067FD 4B 4795 LD C,E + 000067FE 42 4796 LD B,D + 000067FF 3E 00 4797 LD A,BYTE3 Window_new + 00006801 21 B9 55 4798 LD HL,LWRD Window_new + 00006804 CD FB 81 4799 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006807 F1 4800 POP AF + 00006808 F1 4801 POP AF + 00006809 4D 4802 LD C,L + 0000680A 44 4803 LD B,H + 0000680B E1 4804 POP HL + 0000680C 71 4805 LD (HL),C + 0000680D 23 4806 INC HL + 0000680E 70 4807 LD (HL),B + 0000680F 21 0E 00 4808 LD HL,14 + 00006812 ED 4B 3F 87 4809 LD BC,(global) + 00006816 09 4810 ADD HL,BC + 00006817 56 4811 LD D,(HL) + 00006818 23 4812 INC HL + 00006819 66 4813 LD H,(HL) + 0000681A 6A 4814 LD L,D + 0000681B 11 0A 00 4815 LD DE,10 + 0000681E 19 4816 ADD HL,DE + 0000681F 36 01 4817 LD (HL),1 + 00006821 23 4818 INC HL + 00006822 72 4819 LD (HL),D + 00006823 21 0E 00 4820 LD HL,14 + 00006826 ED 4B 3F 87 4821 LD BC,(global) + 0000682A 09 4822 ADD HL,BC + 0000682B 56 4823 LD D,(HL) + 0000682C 23 4824 INC HL + 0000682D 66 4825 LD H,(HL) + 0000682E 6A 4826 LD L,D + 0000682F 11 17 00 4827 LD DE,23 + 00006832 19 4828 ADD HL,DE + 00006833 36 38 4829 LD (HL),LOW(rootWindow_handler) + 00006835 23 4830 INC HL + 00006836 36 5F 4831 LD (HL),HIGH(rootWindow_handler) + 00006838 23 4832 INC HL + 00006839 36 00 4833 LD (HL),BYTE3 rootWindow_handler + 0000683B 21 0E 00 4834 LD HL,14 + 0000683E ED 4B 3F 87 4835 LD BC,(global) + 00006842 09 4836 ADD HL,BC + 00006843 46 4837 LD B,(HL) + 00006844 23 4838 INC HL + 00006845 66 4839 LD H,(HL) + 00006846 68 4840 LD L,B + 00006847 01 1A 00 4841 LD BC,26 + 0000684A 09 4842 ADD HL,BC + 0000684B 36 74 4843 LD (HL),LOW(Root_paint) + 0000684D 23 4844 INC HL + 0000684E 36 55 4845 LD (HL),HIGH(Root_paint) + 00006850 23 4846 INC HL + 00006851 36 00 4847 LD (HL),BYTE3 Root_paint + 00006853 D1 4848 POP DE + 00006854 C1 4849 POP BC + 00006855 C3 A9 81 4850 JP LWRD ?BANK_FAST_LEAVE_L08 + 00006858 4851 ?0484: + 00006858 3E 00 4852 LD A,BYTE3 loadFont + 0000685A 21 7B 4A 4853 LD HL,LWRD loadFont + 0000685D C3 FB 81 4854 JP LWRD ?BANK_CALL_DIRECT_L08 + 00006860 4855 GUIunit: + 00006860 C5 4856 PUSH BC + 00006861 D5 4857 PUSH DE + 00006862 21 0E 00 4858 LD HL,14 + 00006865 ED 4B 3F 87 4859 LD BC,(global) + 00006869 09 4860 ADD HL,BC + 0000686A 5E 4861 LD E,(HL) + 0000686B 23 4862 INC HL + 0000686C 56 4863 LD D,(HL) + 0000686D CD D7 4F 4864 CALL LWRD ?0453 + 00006870 3E 00 4865 LD A,BYTE3 ClearScreen + 00006872 21 05 49 4866 LD HL,LWRD ClearScreen + 00006875 CD FB 81 4867 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006878 3E 00 4868 LD A,BYTE3 GraphicsClose + 0000687A 21 D6 46 4869 LD HL,LWRD GraphicsClose + 0000687D CD FB 81 4870 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006880 D1 4871 POP DE + 00006881 C1 4872 POP BC + 00006882 C3 A9 81 4873 JP LWRD ?BANK_FAST_LEAVE_L08 + 00006885 4874 GUIgo: + 00006885 CD 7A 82 4875 CALL LWRD ?ENT_AUTO_DIRECT_L09 + 00006888 FE FF 4876 DEFW 65534 + 0000688A DD 4E 02 4877 LD C,(IX+2) + 0000688D DD 46 03 4878 LD B,(IX+3) + 00006890 21 0E 00 4879 LD HL,14 + 00006893 ED 5B 3F 87 4880 LD DE,(global) + 00006897 19 4881 ADD HL,DE + 00006898 5E 4882 LD E,(HL) + 00006899 23 4883 INC HL + 0000689A 56 4884 LD D,(HL) + 0000689B 3E 00 4885 LD A,BYTE3 screenbuilder + 0000689D 21 56 5F 4886 LD HL,LWRD screenbuilder + 000068A0 CD FB 81 4887 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000068A3 4888 ?0313: + 000068A3 21 04 00 4889 LD HL,4 + 000068A6 ED 4B 3F 87 4890 LD BC,(global) + 000068AA 09 4891 ADD HL,BC + 000068AB 7E 4892 LD A,(HL) + 000068AC 23 4893 INC HL + 000068AD B6 4894 OR (HL) + 000068AE C2 43 69 4895 JP NZ,?0312 + 000068B1 4896 ?0314: + 000068B1 21 01 00 4897 LD HL,1 + 000068B4 E5 4898 PUSH HL + 000068B5 23 4899 INC HL + 000068B6 39 4900 ADD HL,SP + 000068B7 4D 4901 LD C,L + 000068B8 44 4902 LD B,H + 000068B9 2A 3F 87 4903 LD HL,(global) + 000068BC 23 4904 INC HL + 000068BD 23 4905 INC HL + 000068BE 5E 4906 LD E,(HL) + 000068BF 23 4907 INC HL + 000068C0 56 4908 LD D,(HL) + 000068C1 CD 06 63 4909 CALL LWRD ?0441 + 000068C4 F1 4910 POP AF + 000068C5 3E 01 4911 LD A,1 + 000068C7 AD 4912 XOR L + 000068C8 B4 4913 OR H + 000068C9 20 D8 4914 JR NZ,?0313 + 000068CB 4915 ?0315: + 000068CB DD 4E FE 4916 LD C,(IX-2) + 000068CE 47 4917 LD B,A + 000068CF C5 4918 PUSH BC + 000068D0 21 04 85 4919 LD HL,?0317 + 000068D3 E5 4920 PUSH HL + 000068D4 3E 00 4921 LD A,BYTE3 printf + 000068D6 21 91 72 4922 LD HL,LWRD printf + 000068D9 CD FB 81 4923 CALL LWRD ?BANK_CALL_DIRECT_L08 + 000068DC F1 4924 POP AF + 000068DD F1 4925 POP AF + 000068DE AF 4926 XOR A + 000068DF DD B6 FE 4927 OR (IX-2) + 000068E2 28 29 4928 JR Z,?0319 + 000068E4 4929 ?0318: + 000068E4 4F 4930 LD C,A + 000068E5 C5 4931 PUSH BC + 000068E6 21 0E 00 4932 LD HL,14 + 000068E9 ED 5B 3F 87 4933 LD DE,(global) + 000068ED 19 4934 ADD HL,DE + 000068EE 5E 4935 LD E,(HL) + 000068EF 23 4936 INC HL + 000068F0 56 4937 LD D,(HL) + 000068F1 21 0E 00 4938 LD HL,14 + 000068F4 ED 4B 3F 87 4939 LD BC,(global) + 000068F8 09 4940 ADD HL,BC + 000068F9 46 4941 LD B,(HL) + 000068FA 23 4942 INC HL + 000068FB 66 4943 LD H,(HL) + 000068FC 68 4944 LD L,B + 000068FD 01 17 00 4945 LD BC,23 + 00006900 09 4946 ADD HL,BC + 00006901 4E 4947 LD C,(HL) + 00006902 23 4948 INC HL + 00006903 46 4949 LD B,(HL) + 00006904 23 4950 INC HL + 00006905 7E 4951 LD A,(HL) + 00006906 69 4952 LD L,C + 00006907 60 4953 LD H,B + 00006908 01 01 00 4954 LD BC,1 + 0000690B 18 29 4955 JR ?0370 + 0000690D 4956 ?0319: + 0000690D DD 4E FF 4957 LD C,(IX-1) + 00006910 C5 4958 PUSH BC + 00006911 21 0E 00 4959 LD HL,14 + 00006914 ED 5B 3F 87 4960 LD DE,(global) + 00006918 19 4961 ADD HL,DE + 00006919 5E 4962 LD E,(HL) + 0000691A 23 4963 INC HL + 0000691B 56 4964 LD D,(HL) + 0000691C 21 0E 00 4965 LD HL,14 + 0000691F ED 4B 3F 87 4966 LD BC,(global) + 00006923 09 4967 ADD HL,BC + 00006924 46 4968 LD B,(HL) + 00006925 23 4969 INC HL + 00006926 66 4970 LD H,(HL) + 00006927 68 4971 LD L,B + 00006928 01 17 00 4972 LD BC,23 + 0000692B 09 4973 ADD HL,BC + 0000692C 4E 4974 LD C,(HL) + 0000692D 23 4975 INC HL + 0000692E 46 4976 LD B,(HL) + 0000692F 23 4977 INC HL + 00006930 7E 4978 LD A,(HL) + 00006931 69 4979 LD L,C + 00006932 60 4980 LD H,B + 00006933 01 02 00 4981 LD BC,2 + 00006936 4982 ?0370: + 00006936 CD FB 81 4983 CALL LWRD ?BANK_CALL_DIRECT_L08 + 00006939 E1 4984 POP HL + 0000693A 4985 ?0320: + 0000693A DD 46 FE 4986 LD B,(IX-2) + 0000693D DD 70 FF 4987 LD (IX-1),B + 00006940 4988 ?0316: + 00006940 C3 A3 68 4989 JP LWRD ?0313 + 00006943 4990 ?0312: + 00006943 C3 A3 81 4991 JP LWRD ?BANK_LEAVE_DIRECT_L08 + 4992 RSEG CSTR + 000084E3 4993 ?0001: + 000084E3 2F 64 65 76 2F 6C 63 4994 DEFB '/dev/lcd0' + 64 30 + 000084EC 00 4995 DEFB 0 + 000084ED 4996 ?0221: + 000084ED 4F 4B 4997 DEFB 'OK' + 000084EF 00 4998 DEFB 0 + 000084F0 4999 ?0222: + 000084F0 43 61 6E 63 65 6C 5000 DEFB 'Cancel' + 000084F6 00 5001 DEFB 0 + 000084F7 5002 ?0249: + 000084F7 00 5003 DEFB 0 + 000084F8 5004 ?0299: + 000084F8 4D 65 73 73 61 67 65 5005 DEFB 'Message Box' + 20 42 6F 78 + 00008503 00 5006 DEFB 0 + 00008504 5007 ?0317: + 00008504 30 78 25 30 32 78 5008 DEFB '0x%02x' + 0000850A 0A 00 5009 DEFB 10,0 + 5010 RSEG CONST + 000084AF 5011 ?0000: + 000084AF 1B 5012 DEFB 27 + 000084B0 4B 5013 DEFB 'K' + 000084B1 5014 ?0002: + 000084B1 1B 5015 DEFB 27 + 000084B2 53 5016 DEFB 'S' + 000084B3 00 5017 DEFB 0 + 000084B4 00 5018 DEFB 0 + 000084B5 5019 ?0003: + 000084B5 1B 5020 DEFB 27 + 000084B6 43 5021 DEFB 'C' + 000084B7 00 5022 DEFB 0 + 000084B8 00 5023 DEFB 0 + 000084B9 5024 ?0004: + 000084B9 1B 5025 DEFB 27 + 000084BA 4E 5026 DEFB 'N' + 000084BB 00 5027 DEFB 0 + 000084BC 00 5028 DEFB 0 + 000084BD 5029 ?0005: + 000084BD 1B 5030 DEFB 27 + 000084BE 52 5031 DEFB 'R' + 000084BF 00 5032 DEFB 0 + 000084C0 00 5033 DEFB 0 + 000084C1 5034 ?0006: + 000084C1 1B 5035 DEFB 27 + 000084C2 46 5036 DEFB 'F' + 000084C3 00 5037 DEFB 0 + 000084C4 00 5038 DEFB 0 + 000084C5 5039 ?0007: + 000084C5 1B 5040 DEFB 27 + 000084C6 68 5041 DEFB 'h' + 000084C7 00 5042 DEFB 0 + 000084C8 00 5043 DEFB 0 + 000084C9 5044 ?0008: + 000084C9 1B 5045 DEFB 27 + 000084CA 5A 5046 DEFB 'Z' + 000084CB 00 5047 DEFB 0 + 000084CC 00 5048 DEFB 0 + 000084CD 00 5049 DEFB 0 + 000084CE 00 5050 DEFB 0 + 000084CF 00 5051 DEFB 0 + 000084D0 5052 ?0009: + 000084D0 1B 5053 DEFB 27 + 000084D1 45 5054 DEFB 'E' + 000084D2 00 5055 DEFB 0 + 000084D3 5056 ?0010: + 000084D3 1B 5057 DEFB 27 + 000084D4 00 5058 DEFB 0 + 000084D5 5059 ?0286: + 000084D5 2F 5060 DEFB '/' + 000084D6 77 5061 DEFB 'w' + 000084D7 6E 5062 DEFB 'n' + 000084D8 64 5063 DEFB 'd' + 000084D9 2F 5064 DEFB '/' + 000084DA 30 5065 DEFB '0' + 000084DB 30 5066 DEFB '0' + 000084DC 30 5067 DEFB '0' + 000084DD 30 5068 DEFB '0' + 000084DE 2E 5069 DEFB '.' + 000084DF 73 5070 DEFB 's' + 000084E0 63 5071 DEFB 'c' + 000084E1 72 5072 DEFB 'r' + 000084E2 00 5073 DEFB 0 + 5074 RSEG UDATA0 + 0000873F 5075 global: + 0000873F 5076 DEFS 2 + 00000002 5077 END + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 1. +Hexadecimal [32-Bits] + +Symbol Table + + .__.ABS. = 00000000 G | 3 ?0000 00000000 R + 2 ?0001 00000000 R | 3 ?0002 00000002 R + 3 ?0003 00000006 R | 3 ?0004 0000000A R + 3 ?0005 0000000E R | 3 ?0006 00000012 R + 3 ?0007 00000016 R | 3 ?0008 0000001A R + 3 ?0009 00000021 R | 3 ?0010 00000024 R + 1 ?0011 000003A1 R | 1 ?0012 00000387 R + 1 ?0013 0000039B R | 1 ?0014 0000039B R + 1 ?0015 0000039B R | 1 ?0016 000003B2 R + 1 ?0017 000003DB R | 1 ?0018 000004A1 R + 1 ?0019 000004B1 R | 1 ?0020 000004C9 R + 1 ?0021 000004C3 R | 1 ?0022 000004B6 R + 1 ?0023 000004C3 R | 1 ?0024 00000547 R + 1 ?0025 000004E8 R | 1 ?0026 000004F7 R + 1 ?0027 0000053A R | 1 ?0028 00000521 R + 1 ?0029 00000526 R | 1 ?0030 0000052B R + 1 ?0031 00000530 R | 1 ?0032 00000535 R + 1 ?0033 0000055B R | 1 ?0034 00000561 R + 1 ?0035 0000056A R | 1 ?0036 0000056D R + 1 ?0037 0000056A R | 1 ?0038 0000056A R + 1 ?0039 0000056D R | 1 ?0040 00000698 R + 1 ?0041 0000066C R | 1 ?0042 00000683 R + 1 ?0043 00000683 R | 1 ?0044 00000683 R + 1 ?0045 000006C9 R | 1 ?0046 000006D2 R + 1 ?0047 000006F2 R | 1 ?0048 000006E5 R + 1 ?0049 000006D2 R | 1 ?0050 000006DA R + 1 ?0051 00000738 R | 1 ?0052 00000717 R + 1 ?0053 0000071E R | 1 ?0054 00000789 R + 1 ?0056 0000075A R | 1 ?0057 000007C1 R + 1 ?0058 000007A2 R | 1 ?0059 000007A6 R + 1 ?0060 000007B8 R | 1 ?0061 000007BB R + 1 ?0062 000007C3 R | 1 ?0063 000007EA R + 1 ?0064 00000979 R | 1 ?0065 00000803 R + 1 ?0066 000007EA R | 1 ?0067 000007F2 R + 1 ?0068 0000080C R | 1 ?0069 00000895 R + 1 ?0070 0000082C R | 1 ?0071 00000835 R + 1 ?0072 00000895 R | 1 ?0073 0000086E R + 1 ?0074 0000083F R | 1 ?0075 00000864 R + 1 ?0076 00000864 R | 1 ?0077 00000864 R + 1 ?0078 0000087D R | 1 ?0079 00000895 R + 1 ?0080 000008AC R | 1 ?0081 00000945 R + 1 ?0082 000008FA R | 1 ?0083 000008D2 R + 1 ?0084 000008EB R | 1 ?0085 000008EB R + 1 ?0086 000008EB R | 1 ?0087 00000902 R + 1 ?0088 00000945 R | 1 ?0089 00000953 R + 1 ?0090 0000095C R | 1 ?0091 0000096A R + 1 ?0092 00000973 R | 1 ?0093 0000096A R + 1 ?0094 0000096A R | 1 ?0095 000009B3 R + 1 ?0096 000009A7 R | 1 ?0097 000009AB R + 1 ?0098 00000A0F R | 1 ?0099 000009CE R + 1 ?0100 000009D2 R | 1 ?0101 00000A53 R + 1 ?0102 00000A73 R | 1 ?0103 00000A53 R + 1 ?0104 00000A53 R | 1 ?0105 00000A92 R + 1 ?0106 00000AB2 R | 1 ?0107 00000A92 R + 1 ?0108 00000A92 R | 1 ?0109 00000ACF R + 1 ?0110 00000AB2 R | 1 ?0111 00000AB9 R + 1 ?0112 00000D6B R | 1 ?0113 00000B0F R + 1 ?0114 00000B3D R | 1 ?0115 00000B20 R + 1 ?0116 00000B24 R | 1 ?0117 00000B2A R + 1 ?0118 00000B35 R | 1 ?0119 00000B40 R + 1 ?0120 00000BA2 R | 1 ?0121 00000B51 R + 1 ?0122 00000B55 R | 1 ?0123 00000B5B R + 1 ?0124 00000B93 R | 1 ?0125 00000B8F R + 1 ?0126 00000B93 R | 1 ?0127 00000B8F R + 1 ?0128 00000B8F R | 1 ?0129 00000B9A R + 1 ?0130 00000BA2 R | 1 ?0131 00000BA5 R + 1 ?0132 00000BBC R | 1 ?0133 00000BDD R + 1 ?0134 00000BD1 R | 1 ?0135 00000BDD R + 1 ?0136 00000BD1 R | 1 ?0137 00000BD1 R + 1 ?0138 00000BDD R | 1 ?0139 00000BDD R + 1 ?0140 00000BDD R | 1 ?0141 00000BDD R + 1 ?0142 00000BE0 R | 1 ?0143 00000BF1 R + 1 ?0144 00000C6C R | 1 ?0145 00000C98 R + 1 ?0146 00000CD6 R | 1 ?0147 00000CA9 R + 1 ?0148 00000CAD R | 1 ?0149 00000CC0 R + 1 ?0150 00000CCE R | 1 ?0151 00000CC0 R + 1 ?0152 00000CC0 R | 1 ?0153 00000CD9 R + 1 ?0154 00000CE8 R | 1 ?0155 00000CF6 R + 1 ?0156 00000D6B R | 1 ?0157 00000CFF R + 1 ?0158 00000D27 R | 1 ?0159 00000D6B R + 1 ?0160 00000DD7 R | 1 ?0161 00000DE0 R + 1 ?0162 00000DE7 R | 1 ?0163 00000EDC R + 1 ?0164 00000FFA R | 1 ?0165 00001023 R + 1 ?0166 00000FFA R | 1 ?0167 00000FFA R + 1 ?0168 00001019 R | 1 ?0169 00001023 R + 1 ?0170 00001031 R | 1 ?0171 0000103C R + 1 ?0172 000010A7 R | 1 ?0173 000010FA R + 1 ?0174 00001122 R | 1 ?0175 0000116A R + 1 ?0176 0000116D R | 1 ?0177 00001174 R + 1 ?0178 00001206 R | 1 ?0180 000011AE R + 1 ?0181 000011B1 R | 1 ?0182 000011C7 R + 1 ?0183 000011DA R | 1 ?0184 000011C7 R + 1 ?0185 000011C7 R | 1 ?0186 000011EE R + 1 ?0187 000012BE R | 1 ?0188 00001305 R + 1 ?0189 000012BE R | 1 ?0190 000012BE R + 1 ?0191 000012FB R | 1 ?0192 00001305 R + 1 ?0193 00001313 R | 1 ?0194 0000131E R + 1 ?0195 00001357 R | 1 ?0196 0000135A R + 1 ?0197 00001361 R | 1 ?0198 0000140C R + 1 ?0199 00001380 R | 1 ?0200 000013B0 R + 1 ?0201 00001380 R | 1 ?0202 00001380 R + 1 ?0203 000013F4 R | 1 ?0205 000013EB R + 1 ?0206 000013EE R | 1 ?0207 00001491 R + 1 ?0208 000014C7 R | 1 ?0209 00001491 R + 1 ?0210 00001491 R | 1 ?0211 00001498 R + 1 ?0212 0000149D R | 1 ?0213 000014A4 R + 1 ?0214 000014DF R | 1 ?0215 00001515 R + 1 ?0216 000014DF R | 1 ?0217 000014DF R + 1 ?0218 000014E6 R | 1 ?0219 000014EB R + 1 ?0220 000014F2 R | 2 ?0221 0000000A R + 2 ?0222 0000000D R | 1 ?0223 00001635 R + 1 ?0224 0000166F R | 1 ?0225 00001635 R + 1 ?0226 00001635 R | 1 ?0227 0000164A R + 1 ?0228 00001657 R | 1 ?0229 0000164F R + 1 ?0230 00001655 R | 1 ?0231 00001664 R + 1 ?0232 000016BD R | 1 ?0233 000016C0 R + 1 ?0234 000016C7 R | 1 ?0235 000017CE R + 1 ?0237 0000170B R | 1 ?0238 0000170E R + 1 ?0239 00001726 R | 1 ?0240 0000172D R + 1 ?0241 00001735 R | 1 ?0242 0000178A R + 1 ?0243 000017C0 R | 1 ?0244 000017B2 R + 1 ?0245 0000178E R | 1 ?0246 000017A7 R + 1 ?0248 000017CE R | 2 ?0249 00000014 R + 1 ?0250 0000186A R | 1 ?0251 0000186D R + 1 ?0252 00001873 R | 1 ?0253 00001894 R + 1 ?0254 00001C8C R | 1 ?0256 0000193E R + 1 ?0257 00001949 R | 1 ?0258 00001961 R + 1 ?0259 0000196F R | 1 ?0260 000019BE R + 1 ?0261 0000196F R | 1 ?0262 0000196F R + 1 ?0263 000019B6 R | 1 ?0264 000019BA R + 1 ?0265 000019C5 R | 1 ?0266 00001A09 R + 1 ?0267 00001A10 R | 1 ?0268 00001A54 R + 1 ?0269 00001A5B R | 1 ?0270 00001AA2 R + 1 ?0271 00001AA9 R | 1 ?0272 00001AFA R + 1 ?0273 00001B01 R | 1 ?0274 00001B72 R + 1 ?0275 00001B79 R | 1 ?0276 00001C72 R + 1 ?0277 00001B81 R | 1 ?0278 00001BEA R + 1 ?0279 00001BF2 R | 1 ?0280 00001BFE R + 1 ?0281 00001C20 R | 1 ?0282 00001C36 R + 1 ?0283 00001C3A R | 1 ?0284 00001C49 R + 1 ?0285 00001C59 R | 3 ?0286 00000026 R + 1 ?0287 00001D11 R | 1 ?0288 00001D19 R + 1 ?0289 00001D2F R | 1 ?0290 00001E49 R + 1 ?0291 00001D8C R | 1 ?0292 00001D98 R + 1 ?0293 00001E5A R | 1 ?0294 00001FE7 R + 1 ?0295 00001F7B R | 1 ?0296 00001EB9 R + 1 ?0297 00001EE2 R | 2 ?0299 00000015 R + 1 ?0300 00001FF6 R | 1 ?0301 00002003 R + 1 ?0302 000020A0 R | 1 ?0303 0000205E R + 1 ?0304 00002070 R | 1 ?0305 00002070 R + 1 ?0306 00002070 R | 1 ?0307 00002096 R + 1 ?0308 0000208B R | 1 ?0309 00002093 R + 1 ?0310 000020A5 R | 1 ?0311 000020B8 R + 1 ?0312 000022FB R | 1 ?0313 0000225B R + 1 ?0314 00002269 R | 1 ?0315 00002283 R + 1 ?0316 000022F8 R | 2 ?0317 00000021 R + 1 ?0318 0000229C R | 1 ?0319 000022C5 R + 1 ?0320 000022F2 R | 1 ?0321 00000382 R + 1 ?0331 00000538 R | 1 ?0335 000006EB R + 1 ?0336 0000079D R | 1 ?0338 00000839 R + 1 ?0339 00000885 R | 1 ?0341 000009A4 R + 1 ?0342 000009C7 R | 1 ?0344 00000B1D R + 1 ?0345 00000CA6 R | 1 ?0346 00000D67 R + 1 ?0347 00000C95 R | 1 ?0348 00000B4E R + 1 ?0350 0000111A R | 1 ?0353 000011EB R + 1 ?0357 000013E4 R | 1 ?0358 000014A0 R + 1 ?0359 000014EE R | 1 ?0364 00001732 R + 1 ?0365 000017C6 R | 1 ?0367 00001EDC R + 1 ?0368 00001EDD R | 1 ?0369 00001F78 R + 1 ?0370 000022EE R | 1 ?0372 00000077 R + 1 ?0381 000000CB R | 1 ?0389 00000110 R + 1 ?0396 00000157 R | 1 ?0402 000001A0 R + 1 ?0407 000001EA R | 1 ?0411 0000025E R + 1 ?0415 00000576 R | 1 ?0416 00000592 R + 1 ?0418 00000651 R | 1 ?0424 0000111F R + 1 ?0427 00000079 R | 1 ?0428 0000007D R + 1 ?0429 0000007F R | 1 ?0430 00000081 R + 1 ?0431 00000084 R | 1 ?0432 000000D3 R + 1 ?0433 000000D5 R | 1 ?0434 000000D8 R + 1 ?0435 0000011B R | 1 ?0438 00000FB5 R + 1 ?0439 000015CC R | 1 ?0440 000015E0 R + 1 ?0441 00001CBE R | 1 ?0442 000003E7 R + 1 ?0443 000003DE R | 1 ?0444 00000413 R + 1 ?0445 00001674 R | 1 ?0446 0000167F R + 1 ?0447 000004CE R | 1 ?0448 00000422 R + 1 ?0449 0000042D R | 1 ?0450 00000428 R + 1 ?0451 00000984 R | 1 ?0452 00000987 R + 1 ?0453 0000098F R | 1 ?0454 00001CC6 R + 1 ?0455 00000EE1 R | 1 ?0456 000015E8 R + 1 ?0457 0000120E R | 1 ?0458 00001212 R + 1 ?0459 00000EEF R | 1 ?0460 00000F0C R + 1 ?0461 000002D7 R | 1 ?0462 00000D70 R + 1 ?0463 00000D76 R | 1 ?0464 00001050 R + 1 ?0465 00001041 R | 1 ?0466 00000D8C R + 1 ?0467 00000D85 R | 1 ?0468 00000D87 R + 1 ?0469 0000105E R | 1 ?0470 000002EF R + 1 ?0471 000002F2 R | 1 ?0472 00000F24 R + 1 ?0473 00000F1E R | 1 ?0474 00000D95 R + 1 ?0475 00000D94 R | 1 ?0476 00002008 R + 1 ?0477 00000740 R | 1 ?0478 00000742 R + 1 ?0479 000020DC R | 1 ?0480 00001127 R + 1 ?0481 00001128 R | 1 ?0482 00001CCE R + 1 ?0483 00001CD7 R | 1 ?0484 00002210 R + ?BANK_CALL_DIR ******** GX | ?BANK_FAST_LEA ******** GX + ?BANK_LEAVE_DI ******** GX | ?CL64180B_4_06 ******** GX + ?C_V_SWITCH_L0 ******** GX | ?ENT_AUTO_DIRE ******** GX + ?ENT_PARM_DIRE ******** GX | ?SL_RSH_L03 ******** GX + ?SS_CMP_L02 ******** GX | ?SS_DIV_L02 ******** GX + ?SS_RSH_L02 ******** GX | ?S_MUL_L02 ******** GX + ?S_V_SWITCH_L0 ******** GX | 1 Button_add 0000122F GR + 1 Button_drawtex 0000107A GR | 1 Button_handler 00000FC3 GR + 1 Button_new 00001235 GR | 1 Button_paint 00001136 GR + 1 ClearRect 000000E2 GR | 1 ClearScreen 000002BD GR + 1 Component_add 000006A6 GR | 1 Component_chan 000009B6 GR + 1 Component_dele 000007C6 GR | 1 Component_dele 00000997 GR + 1 Component_find 0000078E GR | 1 Component_find 0000074A GR + 1 Component_link 00000A1F GR | 1 Component_new 000005AF GR + 1 Component_pain 00000704 GR | 1 Component_setl 00000659 GR + 1 Dialog_handler 00001461 GR | 1 Dialog_new 0000151A GR + 1 Display_handle 00001609 GR | 1 Display_new 000017D6 GR + 1 Display_paint 0000168A GR | 1 DrawRectNC 00000125 GR + 1 EnableScreen 000002FA GR | 1 FillRect 0000016A GR + 1 FillRectNC 000001AF GR | 1 GUIgo 0000223D GR + 1 GUIinit 000020F1 GR | 1 GUIunit 00002218 GR + 1 GraphicsClose 0000008E GR | 1 GraphicsOpen 00000000 GR + 1 GrayRect 000001F4 GR | 1 Label_handler 00001830 GR + 1 Label_new 00001897 GR | 1 Label_paint 00001836 GR + 1 Move 000000A3 GR | 1 Root_paint 00000F2C GR + 1 Text 00000239 GR | 1 ToggleButton_h 00001287 GR + 1 ToggleButton_n 0000140F GR | 1 ToggleButton_p 00001323 GR + 1 TouchRegion 00000266 GR | 1 Window_add 00000F63 GR + 1 Window_handler 00000AD2 GR | 1 Window_new 00000F71 GR + 1 Window_paint 00000D9F GR | _read ******** GX + _write ******** GX | close ******** GX + fflush ******** GX | 1 fontSearch 00000375 GR + free ******** GX | 4 global 00000000 GR + 1 grSetFont 00000338 GR | 1 gui_globals 000020EB GR + ioctl ******** GX | 1 loadFont 00000433 GR + malloc ******** GX | open ******** GX + printf ******** GX | 1 read_stringtab 00002016 GR + 1 rootWindow_han 000018F0 GR | 1 root_actionhan 00001CDE GR + 1 screenbuilder 0000190E GR | 1 setCurrentFont 000003A5 GR + stdout ******** GX | 1 stringheight 00000553 GR + 1 stringheight01 00000570 GR | 1 stringheight2 00000583 GR + 1 stringwidth 000004DA GR | 1 stringwidth0 0000058C GR + 1 stringwidth1 0000059D GR | 1 stringwidth2 000005A6 GR + strlen ******** GX + ASxxxx Assembler V03.11 (Zilog Z80 / Hitachi HD64180), page 2. +Hexadecimal [32-Bits] + +Area Table + + 0 _DEFAULT size 0 flags 0 + 1 CODE size 22FE flags 0 + 2 CSTR size 29 flags 0 + 3 CONST size 34 flags 0 + 4 UDATA0 size 2 flags 0 diff --git a/src/gui/wnd.s01 b/src/gui/wnd.s01 new file mode 100644 index 00000000..0663cccf --- /dev/null +++ b/src/gui/wnd.s01 @@ -0,0 +1,5077 @@ + NAME wnd(17) + RSEG CODE(0) + RSEG CSTR(0) + RSEG CONST(0) + RSEG UDATA0(0) + PUBLIC Button_add + PUBLIC Button_drawtext + PUBLIC Button_handler + PUBLIC Button_new + PUBLIC Button_paint + PUBLIC ClearRect + PUBLIC ClearScreen + PUBLIC Component_add + PUBLIC Component_changestate_children + PUBLIC Component_delete + PUBLIC Component_delete_children + PUBLIC Component_find + PUBLIC Component_findXY + PUBLIC Component_linkstringtable + PUBLIC Component_new + PUBLIC Component_paint + PUBLIC Component_setlabel + PUBLIC Dialog_handler + PUBLIC Dialog_new + PUBLIC Display_handler + PUBLIC Display_new + PUBLIC Display_paint + PUBLIC DrawRectNC + PUBLIC EnableScreen + PUBLIC FillRect + PUBLIC FillRectNC + PUBLIC GUIgo + PUBLIC GUIinit + PUBLIC GUIunit + PUBLIC GraphicsClose + PUBLIC GraphicsOpen + PUBLIC GrayRect + PUBLIC Label_handler + PUBLIC Label_new + PUBLIC Label_paint + PUBLIC Move + PUBLIC Root_paint + PUBLIC Text + PUBLIC ToggleButton_handler + PUBLIC ToggleButton_new + PUBLIC ToggleButton_paint + PUBLIC TouchRegion + PUBLIC Window_add + PUBLIC Window_handler + PUBLIC Window_new + PUBLIC Window_paint + EXTERN _read + EXTERN _write + EXTERN close + EXTERN fflush + PUBLIC fontSearch + EXTERN free + PUBLIC global + PUBLIC grSetFont + PUBLIC gui_globals + EXTERN ioctl + PUBLIC loadFont + EXTERN malloc + EXTERN open + EXTERN printf + PUBLIC read_stringtable + PUBLIC rootWindow_handler + PUBLIC root_actionhandler + PUBLIC screenbuilder + PUBLIC setCurrentFont + EXTERN stdout + PUBLIC stringheight + PUBLIC stringheight01 + PUBLIC stringheight2 + PUBLIC stringwidth + PUBLIC stringwidth0 + PUBLIC stringwidth1 + PUBLIC stringwidth2 + EXTERN strlen + EXTERN ?CL64180B_4_06_L00 + EXTERN ?SS_RSH_L02 + EXTERN ?SS_DIV_L02 + EXTERN ?S_MUL_L02 + EXTERN ?SS_CMP_L02 + EXTERN ?SL_RSH_L03 + EXTERN ?C_V_SWITCH_L06 + EXTERN ?S_V_SWITCH_L06 + EXTERN ?BANK_CALL_DIRECT_L08 + EXTERN ?BANK_LEAVE_DIRECT_L08 + EXTERN ?BANK_FAST_LEAVE_L08 + EXTERN ?ENT_PARM_DIRECT_L09 + EXTERN ?ENT_AUTO_DIRECT_L09 + RSEG CODE +GraphicsOpen: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65528 + LD HL,6 + ADD HL,SP + EX DE,HL + LD HL,?0000 + LD BC,2 + LDIR + LD HL,(global) + INC HL + INC HL + PUSH HL + INC BC + INC BC + PUSH BC + LD BC,?0001 + PUSH BC + LD A,BYTE3 open + LD HL,LWRD open + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + LD C,L + LD B,H + POP HL + LD (HL),C + INC HL + LD (HL),B + LD HL,0 + ADD HL,SP + PUSH HL + LD HL,0 + PUSH HL + LD HL,(global) + INC HL + INC HL + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + LD A,BYTE3 ioctl + LD HL,LWRD ioctl + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + POP AF + LD (IX-4),96 + LD (IX-3),0 + LD HL,0 + ADD HL,SP + PUSH HL + LD HL,1 + PUSH HL + LD HL,(global) + INC HL + INC HL + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + LD A,BYTE3 ioctl + LD HL,LWRD ioctl + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + POP AF + LD HL,2 + PUSH HL + LD L,8 +?0372: + ADD HL,SP + LD C,L +?0427: + LD B,H + LD HL,(global) +?0428: + INC HL + INC HL +?0429: + LD E,(HL) + INC HL +?0430: + LD D,(HL) + LD A,BYTE3 _write +?0431: + LD HL,LWRD _write + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + JP LWRD ?BANK_LEAVE_DIRECT_L08 +GraphicsClose: + PUSH DE + LD HL,(global) + INC HL + INC HL + LD E,(HL) + INC HL + LD D,(HL) + LD A,BYTE3 close + LD HL,LWRD close + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP DE + JP LWRD ?BANK_FAST_LEAVE_L08 +Move: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65532 + LD HL,0 + ADD HL,SP + EX DE,HL + LD HL,?0002 + LD BC,4 + LDIR + LD B,(IX+2) + LD (IX-2),B + LD B,(IX+4) + LD (IX-1),B + LD HL,4 + PUSH HL + DEC HL + DEC HL + JP LWRD ?0372 + LD C,L +?0381: + JP LWRD ?0427 + LD HL,(global) + INC HL + INC HL +?0432: + LD E,(HL) + INC HL +?0433: + LD D,(HL) + LD A,BYTE3 _write +?0434: + JP LWRD ?0431 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + JP LWRD ?BANK_LEAVE_DIRECT_L08 +ClearRect: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65532 + LD HL,0 + ADD HL,SP + EX DE,HL + LD HL,?0003 + LD BC,4 + LDIR + LD B,(IX+2) + LD (IX-2),B + LD B,(IX+4) + LD (IX-1),B + LD HL,4 + PUSH HL + DEC HL + DEC HL + JP LWRD ?0372 + LD C,L + JP LWRD ?0381 + LD HL,(global) +?0389: + JP LWRD ?0428 + INC HL + JP LWRD ?0432 + INC HL + LD D,(HL) + LD A,BYTE3 _write +?0435: + JP LWRD ?0431 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + JP LWRD ?BANK_LEAVE_DIRECT_L08 +DrawRectNC: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65532 + LD HL,0 + ADD HL,SP + EX DE,HL + LD HL,?0004 + LD BC,4 + LDIR + LD B,(IX+2) + LD (IX-2),B + LD B,(IX+4) + LD (IX-1),B + LD HL,4 + PUSH HL + DEC HL + DEC HL + JP LWRD ?0372 + LD C,L + JP LWRD ?0381 + LD HL,(global) + JP LWRD ?0389 + INC HL +?0396: + JP LWRD ?0429 + INC HL + JP LWRD ?0433 + LD A,BYTE3 _write + JP LWRD ?0435 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + JP LWRD ?BANK_LEAVE_DIRECT_L08 +FillRect: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65532 + LD HL,0 + ADD HL,SP + EX DE,HL + LD HL,?0005 + LD BC,4 + LDIR + LD B,(IX+2) + LD (IX-2),B + LD B,(IX+4) + LD (IX-1),B + LD HL,4 + PUSH HL + DEC HL + DEC HL + JP LWRD ?0372 + LD C,L + JP LWRD ?0381 + LD HL,(global) + JP LWRD ?0389 + INC HL + JP LWRD ?0396 + INC HL +?0402: + JP LWRD ?0430 + LD A,BYTE3 _write + JP LWRD ?0434 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + JP LWRD ?BANK_LEAVE_DIRECT_L08 +FillRectNC: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65532 + LD HL,0 + ADD HL,SP + EX DE,HL + LD HL,?0006 + LD BC,4 + LDIR + LD B,(IX+2) + LD (IX-2),B + LD B,(IX+4) + LD (IX-1),B + LD HL,4 + PUSH HL + DEC HL + DEC HL + JP LWRD ?0372 + LD C,L + JP LWRD ?0381 + LD HL,(global) + JP LWRD ?0389 + INC HL + JP LWRD ?0396 + INC HL + JP LWRD ?0402 + LD A,BYTE3 _write +?0407: + JP LWRD ?0431 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + JP LWRD ?BANK_LEAVE_DIRECT_L08 +GrayRect: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65532 + LD HL,0 + ADD HL,SP + EX DE,HL + LD HL,?0007 + LD BC,4 + LDIR + LD B,(IX+2) + LD (IX-2),B + LD B,(IX+4) + LD (IX-1),B + LD HL,4 + PUSH HL + DEC HL + DEC HL + JP LWRD ?0372 + LD C,L + JP LWRD ?0381 + LD HL,(global) + JP LWRD ?0389 + INC HL + JP LWRD ?0396 + INC HL + JP LWRD ?0402 + LD A,BYTE3 _write + JP LWRD ?0407 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Text: + PUSH BC + PUSH IY + PUSH IX + PUSH DE + POP IX + LD A,BYTE3 strlen + LD HL,LWRD strlen + CALL LWRD ?BANK_CALL_DIRECT_L08 + PUSH HL + PUSH IX + POP BC + LD HL,(global) + INC HL + INC HL + LD E,(HL) + INC HL + LD D,(HL) + LD A,BYTE3 _write + LD HL,LWRD _write + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF +?0411: + POP IX + POP IY + POP BC + JP LWRD ?BANK_FAST_LEAVE_L08 +TouchRegion: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65528 + LD HL,0 + ADD HL,SP + EX DE,HL + LD HL,?0008 + LD BC,7 + LDIR + LD B,(IX+2) + LD (IX-6),B + LD B,(IX+4) + LD (IX-5),B + LD B,(IX+10) + LD (IX-4),B + LD B,(IX+12) + LD (IX-3),B + LD B,(IX+14) + LD (IX-2),B + LD HL,7 + PUSH HL + LD L,2 + JP LWRD ?0372 + LD C,L + JP LWRD ?0381 + LD HL,(global) + JP LWRD ?0389 + INC HL + JP LWRD ?0396 + INC HL + JP LWRD ?0402 + LD A,BYTE3 _write + JP LWRD ?0407 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + JP LWRD ?BANK_LEAVE_DIRECT_L08 +ClearScreen: + PUSH BC + PUSH DE + CALL LWRD ?0461 + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,128 + PUSH HL + LD L,H + PUSH HL + PUSH HL + CALL LWRD ?0470 + POP HL + POP HL + POP HL + POP DE + POP BC + JP LWRD ?BANK_FAST_LEAVE_L08 +?0461: + LD BC,0 + LD E,C + LD D,B + LD A,BYTE3 Move + LD HL,LWRD Move + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD BC,128 + LD E,B + LD D,B + LD A,BYTE3 ClearRect + LD HL,LWRD ClearRect + RET +?0470: + LD C,L + LD B,H + EX DE,HL +?0471: + LD A,BYTE3 TouchRegion + LD HL,LWRD TouchRegion + JP LWRD ?BANK_CALL_DIRECT_L08 +EnableScreen: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65532 + LD HL,0 + ADD HL,SP + EX DE,HL + LD HL,?0009 + LD BC,3 + LDIR + LD B,(IX+2) + LD (IX-2),B + LD HL,3 + PUSH HL + DEC HL + JP LWRD ?0372 + LD C,L + JP LWRD ?0381 + LD HL,(global) + JP LWRD ?0389 + INC HL + JP LWRD ?0396 + INC HL + JP LWRD ?0402 + LD A,BYTE3 _write + JP LWRD ?0407 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + JP LWRD ?BANK_LEAVE_DIRECT_L08 +grSetFont: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65534 + LD HL,0 + ADD HL,SP + EX DE,HL + LD HL,?0010 + LD BC,2 + LDIR + LD B,(IX+2) + LD (IX-1),B + LD HL,2 + PUSH HL + JP LWRD ?0372 + LD C,L + JP LWRD ?0381 + LD HL,(global) + JP LWRD ?0389 + INC HL + JP LWRD ?0396 + INC HL + JP LWRD ?0402 + LD A,BYTE3 _write + JP LWRD ?0407 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + JP LWRD ?BANK_LEAVE_DIRECT_L08 +fontSearch: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + LD HL,12 + LD BC,(global) + ADD HL,BC +?0321: + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + EX DE,HL +?0012: + LD A,E + OR D + JR Z,?0011 + LD L,E + LD H,D + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD C,(IX+2) + LD B,(IX+3) + SBC HL,BC + JR Z,?0011 +?0015: +?0014: +?0013: + LD HL,8 + ADD HL,DE + JR ?0321 +?0011: + EX DE,HL + JP LWRD ?BANK_LEAVE_DIRECT_L08 +setCurrentFont: + CALL LWRD ?ENT_PARM_DIRECT_L09 + LD A,BYTE3 fontSearch + LD HL,LWRD fontSearch + CALL LWRD ?0448 + JR Z,?0017 +?0016: + LD E,(IX+2) + LD D,(IX+3) + LD A,BYTE3 grSetFont + LD HL,LWRD grSetFont + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,10 + LD BC,(global) + ADD HL,BC + PUSH HL + LD E,(IX+2) + LD D,(IX+3) + LD A,BYTE3 fontSearch + LD HL,LWRD fontSearch + CALL LWRD ?0449 + POP HL + LD (HL),C + INC HL + LD (HL),B +?0017: + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0443: + LD BC,(global) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B +?0442: + INC HL + INC HL + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD C,L + LD B,H + LD L,(IY+6) + LD H,(IY+7) + AND A + SBC HL,BC + EX DE,HL + LD BC,2 + CALL LWRD ?SS_DIV_L02 + LD L,(IX+4) + LD H,(IX+5) + ADD HL,DE + EX DE,HL + LD A,BYTE3 Move + LD HL,LWRD Move + RET +?0444: + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD C,L + LD B,H + LD L,(IY+8) + LD H,(IY+9) + AND A + SBC HL,BC + RET +?0448: + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD A,L + OR H + RET +?0450: + LD A,BYTE3 malloc + LD HL,LWRD malloc +?0449: + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD C,L + LD B,H + RET +loadFont: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65532 + PUSH IY + LD DE,14 + CALL LWRD ?0447 + LD C,(IX+2) + LD (HL),C + LD B,(IX+3) + INC HL + LD (HL),B + LD B,(IX+12) + LD L,(IX+10) + LD (IY+2),L + LD H,(IX+11) + LD (IY+3),H + LD (IY+4),B + LD B,(IX+16) + LD L,(IX+14) + LD (IY+5),L + LD H,(IX+15) + LD (IY+6),H + LD (IY+7),B + XOR A + LD (IY+8),A + LD (IY+9),A + LD L,(IX+18) + LD (IY+10),L + LD H,(IX+19) + LD (IY+11),H + LD L,(IX+20) + LD (IY+12),L + LD H,(IX+21) + LD (IY+13),H + LD HL,12 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + OR (HL) + LD HL,12 + LD BC,(global) + ADD HL,BC + JR NZ,?0019 +?0018: + PUSH IY + POP BC + LD (HL),C + INC HL + LD (HL),B + LD HL,10 + LD BC,(global) + ADD HL,BC + JR ?0021 +?0019: + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + EX DE,HL +?0022: + LD HL,8 + ADD HL,DE + LD A,(HL) + INC HL + OR (HL) + LD HL,8 + ADD HL,DE + JR NZ,?0019 +?0023: +?0021: + PUSH IY + POP BC + LD (HL),C + INC HL + LD (HL),B +?0020: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0447: + LD A,BYTE3 malloc + LD HL,LWRD malloc + CALL LWRD ?BANK_CALL_DIRECT_L08 + PUSH HL + POP IY + RET +stringwidth: + PUSH IY + PUSH IX + PUSH BC + PUSH DE + LD IX,0 + LD IY,0 +?0025: + PUSH IY + LD HL,2 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + POP HL + ADD HL,BC + LD A,(HL) + OR A + JR Z,?0024 +?0026: + PUSH IY + POP HL + ADD HL,BC + LD E,(HL) + CALL LWRD ?C_V_SWITCH_L06 + DEFW 10 + DEFB 33 + DEFB 44 + DEFB 46 + DEFB 49 + DEFB 73 + DEFB 105 + DEFB 106 + DEFB 107 + DEFB 108 + DEFB 114 + DEFW ?0032 + DEFW ?0031 + DEFW ?0029 + DEFW ?0031 + DEFW ?0031 + DEFW ?0028 + DEFW ?0028 + DEFW ?0030 + DEFW ?0030 + DEFW ?0030 + DEFW ?0028 +?0028: + LD BC,2 + JR ?0331 +?0029: + LD BC,3 + JR ?0331 +?0030: + LD BC,4 + JR ?0331 +?0031: + LD BC,5 + JR ?0331 +?0032: + LD BC,6 +?0331: + ADD IX,BC +?0027: + LD HL,2 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + ADD IX,BC + INC IY + JR ?0025 +?0024: + PUSH IX + POP HL + POP AF + POP AF + POP IX + POP IY + JP LWRD ?BANK_FAST_LEAVE_L08 +stringheight: + CALL LWRD ?ENT_PARM_DIRECT_L09 + LD A,E + CP 128 + JR NC,?0034 +?0033: + LD HL,7 + ADD HL,BC + JR ?0036 +?0034: + CP 204 + JR C,?0036 + LD A,223 + CP E + JR C,?0036 +?0038: +?0037: +?0035: + LD L,C + LD H,B + INC HL +?0036: +?0039: + JP LWRD ?BANK_LEAVE_DIRECT_L08 +stringheight01: + CALL LWRD ?ENT_PARM_DIRECT_L09 + LD BC,0 +?0415: + LD A,(DE) + LD E,A + LD A,BYTE3 stringheight + LD HL,LWRD stringheight + CALL LWRD ?BANK_CALL_DIRECT_L08 + JP LWRD ?BANK_LEAVE_DIRECT_L08 +stringheight2: + CALL LWRD ?ENT_PARM_DIRECT_L09 + LD BC,5 + JP LWRD ?0415 +stringwidth0: + CALL LWRD ?ENT_PARM_DIRECT_L09 + LD BC,0 +?0416: + LD A,BYTE3 stringwidth + LD HL,LWRD stringwidth + CALL LWRD ?BANK_CALL_DIRECT_L08 + JP LWRD ?BANK_LEAVE_DIRECT_L08 +stringwidth1: + CALL LWRD ?ENT_PARM_DIRECT_L09 + LD BC,2 + JP LWRD ?0416 +stringwidth2: + CALL LWRD ?ENT_PARM_DIRECT_L09 + LD BC,3 + JP LWRD ?0416 +Component_new: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + PUSH IY + LD DE,40 + CALL LWRD ?0447 + LD HL,(global) + LD E,(HL) + INC HL + LD D,(HL) + INC DE + LD (HL),D + DEC HL + LD (HL),E + PUSH IY + POP HL + LD (HL),E + INC HL + LD (HL),D + LD L,(IX+2) + LD (IY+2),L + LD H,(IX+3) + LD (IY+3),H + LD (IY+4),C + LD (IY+5),B + LD L,(IX+10) + LD (IY+6),L + LD H,(IX+11) + LD (IY+7),H + LD L,(IX+12) + LD (IY+8),L + LD H,(IX+13) + LD (IY+9),H + XOR A + LD (IY+10),A + LD (IY+11),A + LD (IY+12),A + LD (IY+13),A + LD (IY+14),A + LD (IY+15),A + LD (IY+16),A + LD (IY+17),A + LD (IY+18),A + LD (IY+19),A + LD (IY+20),A + LD (IY+21),A + LD (IY+22),A + LD (IY+23),A + LD (IY+24),A + LD (IY+25),A + LD (IY+26),A + LD (IY+27),A + LD (IY+28),A + LD (IY+29),A + LD (IY+30),A + LD (IY+31),A + LD (IY+36),A + LD (IY+37),A + LD (IY+38),A + LD (IY+39),A + LD (IY+32),A + LD (IY+33),A + LD (IY+34),A + LD (IY+35),A +?0418: + PUSH IY + POP HL + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Component_setlabel: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + PUSH IY + LD L,(IX+2) + LD H,(IX+3) + PUSH HL + POP IY + LD DE,0 +?0041: + LD L,(IX+4) + LD H,(IX+5) + ADD HL,DE + LD A,(HL) + OR A + JR Z,?0040 + LD BC,32788 + LD L,E + LD H,D + LD A,B + XOR H + LD H,A + SBC HL,BC + JR NC,?0040 +?0044: +?0043: +?0042: + LD L,(IY+32) + LD H,(IY+33) + ADD HL,DE + PUSH HL + LD L,(IX+4) + LD H,(IX+5) + ADD HL,DE + LD B,(HL) + POP HL + LD (HL),B + INC DE + JR ?0041 +?0040: + LD L,(IY+32) + LD H,(IY+33) + ADD HL,DE + LD (HL),0 + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Component_add: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + PUSH IY + LD E,C + LD D,B + LD HL,21 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + PUSH HL + POP IY + LD HL,21 + ADD HL,BC + LD A,(HL) + INC HL + OR (HL) + JR NZ,?0046 +?0045: + LD HL,21 + ADD HL,BC + LD (HL),E + INC HL + LD (HL),D + JR ?0335 +?0046: +?0049: + LD A,(IY+19) + OR (IY+20) + JR Z,?0048 +?0050: + LD L,(IY+19) + LD H,(IY+20) + PUSH HL + POP IY + JR ?0046 +?0048: + LD (IY+19),E + LD (IY+20),D +?0335: + LD HL,19 + ADD HL,DE + LD (HL),A + INC HL + LD (HL),A +?0047: + LD HL,17 + ADD HL,DE + LD C,(IX+2) + LD (HL),C + LD B,(IX+3) + INC HL + LD (HL),B + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Component_paint: + PUSH BC + PUSH IY + PUSH IX + LD HL,21 + ADD HL,DE + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + PUSH HL + POP IX + CALL LWRD ?0477 +?0052: + PUSH IX + POP HL + LD A,L + OR H + JR Z,?0051 +?0053: + PUSH IX + POP DE + LD A,(IX+28) + LD L,(IX+26) + LD H,(IX+27) + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD L,(IX+19) + LD H,(IX+20) + PUSH HL + POP IX + JR ?0052 +?0051: + LD E,1 + CALL LWRD ?0478 + JP LWRD ?0411 +?0477: + LD E,0 +?0478: + LD A,BYTE3 EnableScreen + LD HL,LWRD EnableScreen + JP LWRD ?BANK_CALL_DIRECT_L08 +Component_findXY: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + PUSH IY + LD L,(IX+2) + LD H,(IX+3) + PUSH HL + POP IY +?0056: + LD L,(IX+4) + LD H,(IX+5) + LD A,(HL) + ADD A,(IY+2) + LD (HL),A + INC HL + LD A,(HL) + ADC A,(IY+3) + LD (HL),A + LD L,(IX+10) + LD H,(IX+11) + LD A,(HL) + ADD A,(IY+4) + LD (HL),A + INC HL + LD A,(HL) + ADC A,(IY+5) + LD (HL),A + LD L,(IY+17) + LD H,(IY+18) + PUSH HL + POP IY + LD A,L + OR H + JR NZ,?0056 +?0054: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Component_find: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + LD HL,21 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC +?0336: + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + EX DE,HL +?0058: + LD A,E + OR D + JR Z,?0057 +?0059: + LD HL,16 + ADD HL,DE + LD C,(HL) + LD B,0 + LD L,(IX+4) + LD H,(IX+5) + AND A + SBC HL,BC + JR NZ,?0061 +?0060: + EX DE,HL + JR ?0062 +?0061: + LD HL,19 + ADD HL,DE + JR ?0336 +?0057: + LD L,A + LD H,A +?0062: + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Component_delete: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65528 + PUSH IY + LD L,(IX+2) + LD H,(IX+3) + PUSH HL + POP IY + LD L,(IY+21) + LD (IX-8),L + LD H,(IY+22) + LD (IX-7),H + PUSH IY + POP HL + LD A,L + OR H + JP Z,?0064 +?0063: +?0066: + LD A,(IX-8) + OR (IX-7) + JR Z,?0065 +?0067: + LD E,(IX-8) + LD D,(IX-7) + CALL LWRD ?0453 + LD (IX-8),L + LD (IX-7),H + JR ?0063 +?0065: + LD A,(IY+17) + OR (IY+18) + JP Z,?0079 +?0068: + LD L,(IY+17) + LD H,(IY+18) + LD BC,21 + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + PUSH IY + POP BC + AND A + SBC HL,BC + LD L,(IY+17) + LD H,(IY+18) + LD BC,21 + ADD HL,BC + JR NZ,?0071 +?0070: + PUSH HL + LD L,(IY+17) + LD H,(IY+18) + JR ?0339 +?0071: + LD B,(HL) + INC HL + LD H,(HL) + LD L,B +?0338: + LD (IX-8),L + LD (IX-7),H +?0074: + LD HL,19 + LD C,(IX-8) + LD B,(IX-7) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + PUSH IY + POP BC + AND A + SBC HL,BC + JR Z,?0073 + LD HL,19 + LD C,(IX-8) + LD B,(IX-7) + ADD HL,BC + LD A,(HL) + INC HL + OR (HL) + JR Z,?0073 +?0077: +?0076: +?0075: + LD HL,19 + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + JR ?0338 +?0073: + LD HL,19 + LD C,(IX-8) + LD B,(IX-7) + ADD HL,BC + LD A,(HL) + INC HL + OR (HL) + JR Z,?0079 +?0078: + LD HL,19 + ADD HL,BC + PUSH HL + LD HL,19 +?0339: + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,19 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + POP HL + LD (HL),C + INC HL + LD (HL),B +?0079: +?0072: +?0069: + LD L,(IY+19) + LD (IX-8),L + LD H,(IY+20) + LD (IX-7),H + LD A,4 + XOR (IY+36) + OR (IY+37) + JP NZ,?0088 +?0080: + LD L,(IY+17) + LD (IX-4),L + LD H,(IY+18) + LD (IX-3),H + LD L,(IY+38) + LD (IX-2),L + LD H,(IY+39) + LD (IX-1),H + CALL LWRD ?0451 + LD L,(IX-2) + LD H,(IX-1) + INC HL + INC HL + CALL LWRD ?0451 +?0083: + LD A,(IX-4) + OR (IX-3) + JR Z,?0082 + LD HL,36 + LD C,(IX-4) + LD B,(IX-3) + ADD HL,BC + LD A,4 + XOR (HL) + INC HL + OR (HL) + JR Z,?0082 +?0086: +?0085: +?0084: + LD HL,17 + ADD HL,BC + LD D,(HL) + LD (IX-4),D + INC HL + LD H,(HL) + LD (IX-3),H + JR ?0083 +?0082: + LD A,(IX-4) + OR (IX-3) + JR Z,?0088 +?0087: + LD HL,38 + LD C,(IX-4) + LD B,(IX-3) + ADD HL,BC + LD B,(HL) + LD (IX-2),B + INC HL + LD H,(HL) + LD (IX-1),H + LD HL,6 + LD BC,(global) + ADD HL,BC + PUSH HL + LD L,(IX-2) + LD H,(IX-1) + LD E,(HL) + INC HL + LD D,(HL) + POP HL + LD (HL),E + INC HL + LD (HL),D + LD HL,8 + LD BC,(global) + ADD HL,BC + PUSH HL + LD C,(IX-2) + LD B,(IX-1) + INC BC + INC BC + LD L,C + LD H,B + LD C,(HL) + INC HL + LD B,(HL) + POP HL + LD (HL),C + INC HL + LD (HL),B +?0088: +?0081: + LD C,(IY+36) + LD B,(IY+37) + LD HL,0 + CALL LWRD ?SS_CMP_L02 + JR NC,?0090 +?0089: + LD E,(IY+38) + LD D,(IY+39) + CALL LWRD ?0452 +?0090: + BIT 6,(IY+11) + JR NZ,?0092 + LD A,(IY+32) + OR (IY+33) + JR Z,?0092 +?0094: +?0093: +?0091: + LD E,(IY+32) + LD D,(IY+33) + CALL LWRD ?0452 +?0092: + PUSH IY + POP DE + CALL LWRD ?0452 +?0064: + LD L,(IX-8) + LD H,(IX-7) + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0451: + LD E,(HL) + INC HL + LD D,(HL) +?0452: + LD A,BYTE3 free + LD HL,LWRD free + JP LWRD ?BANK_CALL_DIRECT_L08 +?0453: + LD A,BYTE3 Component_delete + LD HL,LWRD Component_delete + JP LWRD ?BANK_CALL_DIRECT_L08 +Component_delete_children: + PUSH BC + PUSH IY + PUSH IX + LD HL,21 + ADD HL,DE + LD B,(HL) + INC HL + LD H,(HL) + LD L,B +?0341: + PUSH HL + POP IX +?0096: + LD A,L + OR H + JR Z,?0095 +?0097: + PUSH IX + POP DE + CALL LWRD ?0453 + JR ?0341 +?0095: + JP LWRD ?0411 +Component_changestate_children: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + PUSH IY + LD HL,21 + LD E,(IX+2) + LD D,(IX+3) + ADD HL,DE +?0342: + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + PUSH HL + POP IY +?0099: + LD A,L + OR H + JR Z,?0098 +?0100: + LD HL,10 + PUSH IY + POP BC + ADD HL,BC + LD A,(IX+4) + LD D,(IX+5) + CPL + LD E,A + LD A,D + CPL + LD D,A + LD A,(HL) + AND E + LD (HL),A + INC HL + LD A,(HL) + AND D + LD (HL),A + LD HL,10 + ADD HL,BC + LD A,(HL) + OR (IX+10) + LD (HL),A + INC HL + LD A,(HL) + OR (IX+11) + LD (HL),A + LD HL,10 + ADD HL,BC + LD A,(HL) + XOR (IX+12) + LD (HL),A + INC HL + LD A,(HL) + XOR (IX+13) + LD (HL),A + LD HL,19 + ADD HL,BC + JR ?0342 +?0098: + LD DE,stdout + LD A,BYTE3 fflush + LD HL,LWRD fflush + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Component_linkstringtable: + PUSH BC + PUSH IY + PUSH IX + PUSH DE + POP IX + LD HL,21 + ADD HL,DE + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + PUSH HL + POP IY + LD HL,32 + ADD HL,DE + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,36864 + LD A,128 + XOR H + LD H,A + SBC HL,BC + JR NC,?0102 + LD C,(IX+32) + LD B,(IX+33) + LD HL,0 + CALL LWRD ?SS_CMP_L02 + JR NC,?0102 +?0104: +?0103: +?0101: + LD L,(IX+32) + LD H,(IX+33) + ADD HL,HL + PUSH HL + LD HL,8 + LD BC,(global) + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + POP HL + ADD HL,BC + DEC HL + DEC HL + LD B,(HL) + LD (IX+32),B + INC HL + LD H,(HL) + LD (IX+33),H +?0102: + LD L,(IX+34) + LD H,(IX+35) + LD BC,36864 + LD A,128 + XOR H + LD H,A + SBC HL,BC + JR NC,?0106 + LD C,(IX+34) + LD B,(IX+35) + LD HL,0 + CALL LWRD ?SS_CMP_L02 + JR NC,?0106 +?0108: +?0107: +?0105: + LD L,(IX+34) + LD H,(IX+35) + ADD HL,HL + PUSH HL + LD HL,8 + LD BC,(global) + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + POP HL + ADD HL,BC + DEC HL + DEC HL + LD B,(HL) + LD (IX+34),B + INC HL + LD H,(HL) + LD (IX+35),H +?0106: +?0110: + PUSH IY + POP HL + LD A,L + OR H + JR Z,?0109 +?0111: + PUSH IY + POP DE + LD A,BYTE3 Component_linkstringtable + LD HL,LWRD Component_linkstringtable + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD L,(IY+19) + LD H,(IY+20) + PUSH HL + POP IY + JR ?0106 +?0109: + JP LWRD ?0411 +Window_handler: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65488 + PUSH IY + XOR A + LD (IX-6),A + LD (IX-5),A + LD (IX-4),A + LD (IX-3),A + LD E,C + LD D,B + CALL LWRD ?S_V_SWITCH_L06 + DEFW 8 + DEFW 1 + DEFW 2 + DEFW 3 + DEFW 258 + DEFW 259 + DEFW 260 + DEFW 261 + DEFW 1025 + DEFW ?0159 + DEFW ?0153 + DEFW ?0144 + DEFW ?0145 + DEFW ?0142 + DEFW ?0143 + DEFW ?0131 + DEFW ?0119 + DEFW ?0113 +?0113: + LD HL,21 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B +?0344: + PUSH HL + POP IY +?0115: + LD A,L + OR H + JR Z,?0114 +?0116: + BIT 0,(IY+10) + JR Z,?0118 +?0117: + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + CALL LWRD ?0462 + POP HL +?0118: + LD L,(IY+19) + LD H,(IY+20) + JR ?0344 +?0114: + JP LWRD ?0159 +?0119: + LD HL,21 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B +?0348: + PUSH HL + POP IY +?0121: + LD A,L + OR H + JR Z,?0120 +?0122: + BIT 0,(IY+10) + JR Z,?0126 +?0123: + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + CALL LWRD ?0462 + POP HL + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD BC,3 + CALL LWRD ?0463 + POP HL + LD A,(IY+10) + AND 34 + LD L,A + LD H,0 + LD A,34 + XOR L + JR NZ,?0126 + LD C,(IY+16) + LD B,H + LD L,(IX+10) + LD H,(IX+11) + SBC HL,BC + JR NZ,?0126 +?0128: +?0127: +?0125: + LD IY,0 +?0126: +?0124: + PUSH IY + POP HL + LD A,L + OR H + JR Z,?0121 +?0129: + LD L,(IY+19) + LD H,(IY+20) + JR ?0348 +?0130: +?0120: + JP LWRD ?0159 +?0131: + LD L,(IX+2) + LD H,(IX+3) + PUSH HL + POP IY + LD HL,10 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + BIT 0,(HL) + JR Z,?0139 +?0132: + BIT 5,(IY+10) + JR Z,?0139 + LD C,(IY+16) + LD B,A + LD L,(IX+10) + LD H,(IX+11) + AND A + SBC HL,BC + JR NZ,?0139 +?0137: +?0136: +?0134: + LD L,(IY+38) + LD H,(IY+39) + PUSH IY + POP DE + CALL LWRD ?0474 +?0138: +?0139: +?0135: +?0133: +?0140: +?0141: + JP LWRD ?0159 +?0142: + LD E,(IX+2) + LD C,E + LD D,(IX+3) + LD B,D + LD HL,26 + CALL LWRD ?0475 + JP LWRD ?0159 +?0143: + LD HL,10 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD A,(HL) + AND 252 + LD (HL),A + LD HL,46 + ADD HL,SP + PUSH HL + DEC HL + DEC HL + LD C,L + LD B,H + LD E,(IX+2) + LD D,(IX+3) + CALL LWRD ?0466 + POP HL + LD HL,8 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + PUSH DE + LD HL,6 + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + PUSH DE + LD L,(IX-4) + LD H,(IX-3) + PUSH HL + LD C,(IX-6) + LD B,(IX-5) + LD DE,0 + CALL LWRD ?0471 + POP HL + POP HL + POP HL + LD HL,0 + PUSH HL + LD L,17 + LD E,(IX+2) + LD D,(IX+3) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + LD HL,17 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,23 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,259 + JR ?0347 +?0144: + LD HL,17 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + PUSH HL + POP IY + LD E,C + LD D,B + CALL LWRD ?0453 + LD HL,0 + PUSH HL + LD BC,259 + PUSH IY + POP DE + LD A,(IY+25) + LD L,(IY+23) + LD H,(IY+24) +?0347: + JP LWRD ?0346 +?0145: + LD HL,21 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B +?0345: + PUSH HL + POP IY +?0147: + LD A,L + OR H + JR Z,?0146 +?0148: + LD L,(IX+10) + LD H,(IX+11) + PUSH IY + POP BC + SBC HL,BC + JR Z,?0150 + BIT 3,(IY+10) + JR Z,?0150 +?0152: +?0151: +?0149: + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD BC,515 + CALL LWRD ?0463 + POP HL +?0150: + LD L,(IY+19) + LD H,(IY+20) + JR ?0345 +?0146: + JP LWRD ?0159 +?0153: + LD HL,17 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + LD A,(HL) + INC HL + OR (HL) + JR NZ,?0155 +?0154: + LD HL,4 + LD BC,(global) + ADD HL,BC + LD (HL),1 + INC HL + LD (HL),A + JR ?0159 +?0155: + LD HL,10 + ADD HL,BC + INC HL + BIT 5,(HL) + JR NZ,?0158 +?0157: + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD HL,17 + LD E,C + LD D,B + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + LD HL,17 + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,23 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,1025 + JR ?0346 +?0158: + LD HL,17 + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + PUSH HL + POP IY + LD DE,10 + ADD HL,DE + LD A,(HL) + OR 3 + LD (HL),A + LD L,D + LD H,D + PUSH HL + INC HL + PUSH HL + LD C,D + LD B,D + PUSH IY + POP DE + LD A,BYTE3 Component_changestate_children + LD HL,LWRD Component_changestate_children + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL + POP HL + LD HL,0 + PUSH HL + LD E,(IX+2) + LD C,E + LD D,(IX+3) + LD B,D + LD L,23 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,261 +?0346: + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL +?0159: +?0156: +?0112: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0462: + LD C,(IX+4) + LD B,(IX+5) +?0463: + PUSH IY + POP DE + LD A,(IY+25) + LD L,(IY+23) + LD H,(IY+24) + JP LWRD ?BANK_CALL_DIRECT_L08 +?0467: + INC HL + INC HL +?0468: + LD C,L + LD B,H + PUSH IX + POP DE +?0466: + LD A,BYTE3 Component_findXY + LD HL,LWRD Component_findXY + JP LWRD ?BANK_CALL_DIRECT_L08 +?0475: + ADD HL,BC +?0474: + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + JP LWRD ?BANK_CALL_DIRECT_L08 +Window_paint: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW -4 + PUSH IY + LD L,(IX+2) + LD H,(IX+3) + PUSH HL + POP IY + XOR A + LD (IX-2),A + LD (IX-1),A + LD (IX-4),A + LD (IX-3),A + LD HL,10 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD C,(IY+14) + LD B,(IY+15) + AND A + SBC HL,BC + JR Z,?0161 +?0160: + LD E,(IY+14) + LD D,(IY+15) + CALL LWRD ?0472 +?0161: + BIT 0,(IY+10) + JP Z,?0163 +?0162: + LD HL,2 + ADD HL,SP + PUSH HL + INC HL + INC HL + LD C,L + LD B,H + PUSH IY + POP DE + CALL LWRD ?0466 + POP HL + CALL LWRD ?0477 + LD C,(IX-4) + LD B,(IX-3) + LD E,(IX-2) + LD D,(IX-1) + LD A,BYTE3 Move + LD HL,LWRD Move + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD C,(IY+8) + LD B,(IY+9) + LD E,(IY+6) + LD D,(IY+7) + LD A,BYTE3 ClearRect + LD HL,LWRD ClearRect + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD L,(IY+8) + LD H,(IY+9) + PUSH HL + LD L,(IY+6) + LD H,(IY+7) + PUSH HL + LD L,(IX-4) + LD H,(IX-3) + PUSH HL + LD C,(IX-2) + LD B,(IX-1) + LD DE,0 + CALL LWRD ?0471 + POP HL + POP HL + POP HL + LD E,(IY+32) + LD D,(IY+33) + LD HL,10 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + CALL LWRD ?0455 + LD C,(IX-4) + LD B,(IX-3) + ADD HL,BC + LD DE,4 + ADD HL,DE + LD C,L + LD B,H + CALL LWRD ?0459 + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + LD BC,5 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + CALL LWRD ?0444 + LD BC,65532 + ADD HL,BC + LD C,L + LD B,H + LD E,(IY+6) + LD D,(IY+7) + LD A,BYTE3 DrawRectNC + LD HL,LWRD DrawRectNC + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD C,(IX-4) + LD B,(IX-3) + CALL LWRD ?0459 + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + CALL LWRD ?0455 + LD BC,5 + ADD HL,BC + LD C,L + LD B,H + LD E,(IY+6) + LD D,(IY+7) + LD A,BYTE3 FillRect + LD HL,LWRD FillRect + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,14 + LD C,(IX-4) + LD B,(IX-3) + ADD HL,BC + LD C,L + LD B,H + LD E,(IX-2) + LD D,(IX-1) + INC DE + INC DE + LD A,BYTE3 Move + LD HL,LWRD Move + CALL LWRD ?0460 + PUSH IY + POP DE + LD A,BYTE3 Component_paint + LD HL,LWRD Component_paint + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0163: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0455: + LD BC,5 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + JP LWRD ?BANK_CALL_DIRECT_L08 +?0459: + LD E,(IX-2) + LD D,(IX-1) + LD A,BYTE3 Move + LD HL,LWRD Move + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD E,(IY+32) + LD D,(IY+33) + LD HL,10 + LD BC,(global) + ADD HL,BC + RET +?0460: + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD E,(IY+32) + LD D,(IY+33) + LD A,BYTE3 Text + LD HL,LWRD Text + CALL LWRD ?BANK_CALL_DIRECT_L08 + RET +?0473: + LD E,(IX+14) + LD D,(IX+15) +?0472: + LD A,BYTE3 setCurrentFont + LD HL,LWRD setCurrentFont + JP LWRD ?BANK_CALL_DIRECT_L08 +Root_paint: + CALL LWRD ?ENT_PARM_DIRECT_L09 + CALL LWRD ?0477 + CALL LWRD ?0461 + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD BC,128 + LD E,B + LD D,B + LD A,BYTE3 GrayRect + LD HL,LWRD GrayRect + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,128 + PUSH HL + LD L,H + PUSH HL + PUSH HL + CALL LWRD ?0470 + POP HL + POP HL + POP HL + LD E,(IX+2) + LD D,(IX+3) + LD A,BYTE3 Component_paint + LD HL,LWRD Component_paint + CALL LWRD ?BANK_CALL_DIRECT_L08 + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Window_add: + CALL LWRD ?ENT_PARM_DIRECT_L09 + LD A,BYTE3 Component_add + LD HL,LWRD Component_add + CALL LWRD ?BANK_CALL_DIRECT_L08 + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Window_new: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + PUSH IY + LD L,(IX+12) + LD H,(IX+13) + PUSH HL + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + CALL LWRD ?0438 + POP AF + POP AF + PUSH HL + POP IY + LD BC,23 + ADD HL,BC + LD (HL),LOW(Window_handler) + INC HL + LD (HL),HIGH(Window_handler) + INC HL + LD (HL),BYTE3 Window_handler + LD (IY+26),LOW(Window_paint) + LD (IY+27),HIGH(Window_paint) + LD (IY+28),BYTE3 Window_paint + LD (IY+29),LOW(Window_add) + LD (IY+30),HIGH(Window_add) + LD (IY+31),BYTE3 Window_add + JP LWRD ?0418 +?0438: + LD E,(IX+2) + LD D,(IX+3) + LD A,BYTE3 Component_new + LD HL,LWRD Component_new + JP LWRD ?BANK_CALL_DIRECT_L08 +Button_handler: + CALL LWRD ?ENT_PARM_DIRECT_L09 + PUSH IY + PUSH DE + POP IY + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD A,BYTE3 Window_handler + LD HL,LWRD Window_handler + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL + LD A,3 + XOR (IX+4) + OR (IX+5) + JR NZ,?0169 + LD C,(IY+16) + LD B,A + LD L,(IX+10) + LD H,(IX+11) + SBC HL,BC + JR NZ,?0169 + LD A,(IY+10) + AND 3 + JR Z,?0169 +?0167: +?0166: +?0164: + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD E,(IY+17) + LD D,(IY+18) + LD L,(IY+17) + LD H,(IY+18) + LD C,23 + CALL LWRD ?0464 + POP HL + BIT 4,(IY+10) + JR Z,?0169 +?0168: + LD C,(IY+16) + LD B,0 + PUSH BC + CALL LWRD ?0469 + POP HL +?0169: +?0165: + LD HL,513 + LD C,(IX+4) + LD B,(IX+5) + AND A + SBC HL,BC + JR NZ,?0171 +?0170: + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + CALL LWRD ?0465 + POP HL +?0171: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0465: + LD E,(IY+17) + LD D,(IY+18) + LD L,(IY+17) + LD H,(IY+18) + LD BC,23 +?0464: + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,513 + JP LWRD ?BANK_CALL_DIRECT_L08 +?0469: + LD E,(IY+17) + LD D,(IY+18) + LD L,(IY+17) + LD H,(IY+18) + LD C,23 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,260 + JP LWRD ?BANK_CALL_DIRECT_L08 +Button_drawtext: + CALL LWRD ?ENT_PARM_DIRECT_L09 + PUSH IY + PUSH DE + POP IY + LD HL,10 + ADD HL,DE + BIT 6,(HL) + LD E,(IY+32) + LD D,(IY+33) + LD HL,10 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + LD BC,5 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + JR Z,?0173 +?0172: + CALL LWRD ?BANK_CALL_DIRECT_L08 + ADD HL,HL + LD C,L + LD B,H + LD L,(IY+8) + LD H,(IY+9) + AND A + SBC HL,BC + CALL LWRD ?0480 + LD C,12 + ADD HL,BC + PUSH HL + LD E,(IY+32) + LD D,(IY+33) + LD HL,10 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + CALL LWRD ?0442 + POP BC + CALL LWRD ?0460 + LD E,(IY+8) + LD D,(IY+9) + CALL LWRD ?0481 + LD C,10 + ADD HL,BC + PUSH HL + LD E,(IY+34) + LD D,(IY+35) + LD L,C + LD H,B + CALL LWRD ?0443 + POP BC + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD E,(IY+34) + LD D,(IY+35) + JR ?0350 +?0173: + CALL LWRD ?0444 + CALL LWRD ?0480 + LD C,13 + ADD HL,BC + PUSH HL + LD E,(IY+32) + LD D,(IY+33) + LD HL,10 + CALL LWRD ?0443 + POP BC + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD E,(IY+32) + LD D,(IY+33) +?0350: + LD A,BYTE3 Text + LD HL,LWRD Text +?0424: + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0174: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0480: + EX DE,HL +?0481: + LD BC,2 + CALL LWRD ?SS_DIV_L02 + LD L,(IX+10) + LD H,(IX+11) + ADD HL,DE + RET +Button_paint: + PUSH BC + PUSH IX + PUSH AF + PUSH AF + PUSH DE + POP IX + LD HL,2 + ADD HL,SP + XOR A + LD (HL),A + INC HL + LD (HL),A + DEC HL + DEC HL + DEC HL + LD (HL),A + INC HL + LD (HL),A + LD HL,10 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + PUSH HL + LD HL,14 + ADD HL,DE + LD C,(HL) + INC HL + LD B,(HL) + POP HL + AND A + SBC HL,BC + JR Z,?0176 +?0175: + CALL LWRD ?0473 +?0176: + BIT 0,(IX+10) + JP Z,?0178 +?0177: + LD HL,0 + ADD HL,SP + PUSH HL + CALL LWRD ?0467 + POP HL + LD HL,0 + ADD HL,SP + CALL LWRD ?0457 + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD L,(IX+8) + LD H,(IX+9) + PUSH HL + LD L,(IX+6) + LD H,(IX+7) + PUSH HL + LD HL,4 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + INC HL + LD C,(HL) + INC HL + LD B,(HL) + BIT 1,(IX+10) + JR Z,?0180 + LD E,(IX+16) + LD D,0 + JR ?0181 +?0180: + LD DE,0 +?0181: + CALL LWRD ?0471 + POP HL + POP HL + POP HL + LD A,(IX+10) + AND 130 + JR Z,?0183 + LD A,(IX+10) + AND 130 + XOR 130 + JR Z,?0183 +?0185: +?0184: +?0182: + LD C,(IX+8) + LD B,(IX+9) + LD E,(IX+6) + LD D,(IX+7) + LD A,BYTE3 FillRectNC + LD HL,LWRD FillRectNC + JR ?0353 +?0183: + LD C,(IX+8) + LD B,(IX+9) + LD E,(IX+6) + LD D,(IX+7) + LD A,BYTE3 DrawRectNC + LD HL,LWRD DrawRectNC +?0353: + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0186: + LD HL,0 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + INC HL + LD C,(HL) + INC HL + LD B,(HL) + PUSH IX + POP DE + LD A,BYTE3 Button_drawtext + LD HL,LWRD Button_drawtext + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL +?0178: + POP HL + POP HL + POP IX + POP BC + JP LWRD ?BANK_FAST_LEAVE_L08 +?0457: + LD C,(HL) + INC HL + LD B,(HL) + INC HL +?0458: + LD E,(HL) + INC HL + LD D,(HL) + LD A,BYTE3 Move + LD HL,LWRD Move + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD C,(IX+8) + LD B,(IX+9) + LD E,(IX+6) + LD D,(IX+7) + LD A,BYTE3 ClearRect + LD HL,LWRD ClearRect + RET +Button_add: + CALL LWRD ?ENT_PARM_DIRECT_L09 + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Button_new: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + PUSH IY + LD L,(IX+12) + LD H,(IX+13) + PUSH HL + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + CALL LWRD ?0438 + POP AF + POP AF + PUSH HL + POP IY + LD BC,10 + ADD HL,BC + LD A,(HL) + OR 3 + LD (HL),A + LD B,(IX+14) + LD (IY+16),B + LD (IY+23),LOW(Button_handler) + LD (IY+24),HIGH(Button_handler) + LD (IY+25),BYTE3 Button_handler + LD (IY+26),LOW(Button_paint) + LD (IY+27),HIGH(Button_paint) + LD (IY+28),BYTE3 Button_paint + LD (IY+29),LOW(Button_add) + LD (IY+30),HIGH(Button_add) + LD (IY+31),BYTE3 Button_add + JP LWRD ?0418 +ToggleButton_handler: + CALL LWRD ?ENT_PARM_DIRECT_L09 + PUSH IY + PUSH DE + POP IY + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD A,BYTE3 Window_handler + LD HL,LWRD Window_handler + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL + LD A,3 + XOR (IX+4) + OR (IX+5) + JR NZ,?0192 + LD C,(IY+16) + LD B,A + LD L,(IX+10) + LD H,(IX+11) + SBC HL,BC + JR NZ,?0192 + LD A,(IY+10) + AND 3 + JR Z,?0192 +?0190: +?0189: +?0187: + LD A,(IY+10) + XOR 4 + LD (IY+10),A + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD E,(IY+17) + LD D,(IY+18) + LD L,(IY+17) + LD H,(IY+18) + LD C,23 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,514 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL + LD HL,0 + PUSH HL + LD BC,259 + CALL LWRD ?0463 + POP HL + BIT 4,(IY+10) + JR Z,?0192 +?0191: + LD C,(IY+16) + LD B,0 + PUSH BC + CALL LWRD ?0469 + POP HL +?0192: +?0188: + LD HL,513 + LD C,(IX+4) + LD B,(IX+5) + AND A + SBC HL,BC + JR NZ,?0194 +?0193: + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + CALL LWRD ?0465 + POP HL +?0194: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +ToggleButton_paint: + PUSH BC + PUSH IX + PUSH AF + PUSH AF + PUSH DE + POP IX + LD HL,2 + ADD HL,SP + XOR A + LD (HL),A + INC HL + LD (HL),A + DEC HL + DEC HL + DEC HL + LD (HL),A + INC HL + LD (HL),A + LD HL,10 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + PUSH HL + LD HL,14 + ADD HL,DE + LD C,(HL) + INC HL + LD B,(HL) + POP HL + AND A + SBC HL,BC + JR Z,?0196 +?0195: + CALL LWRD ?0473 +?0196: + BIT 0,(IX+10) + JP Z,?0198 +?0197: + LD HL,0 + ADD HL,SP + PUSH HL + CALL LWRD ?0467 + POP HL + LD HL,0 + ADD HL,SP + CALL LWRD ?0457 + CALL LWRD ?BANK_CALL_DIRECT_L08 + BIT 1,(IX+10) + JR Z,?0200 + BIT 2,(IX+10) + JR Z,?0200 +?0202: +?0201: +?0199: + LD C,(IX+8) + LD B,(IX+9) + LD E,(IX+6) + LD D,(IX+7) + LD A,BYTE3 FillRectNC + LD HL,LWRD FillRectNC + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD L,(IX+8) + LD H,(IX+9) + PUSH HL + LD L,(IX+6) + LD H,(IX+7) + PUSH HL + LD HL,4 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + INC HL + LD C,(HL) + INC HL + LD B,(HL) + JR ?0357 +?0200: + LD C,(IX+8) + LD B,(IX+9) + LD E,(IX+6) + LD D,(IX+7) + LD A,BYTE3 DrawRectNC + LD HL,LWRD DrawRectNC + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD L,(IX+8) + LD H,(IX+9) + PUSH HL + LD L,(IX+6) + LD H,(IX+7) + PUSH HL + LD HL,4 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + INC HL + LD C,(HL) + INC HL + LD B,(HL) + BIT 1,(IX+10) + JR Z,?0205 +?0357: + LD E,(IX+16) + LD D,0 + JR ?0206 +?0205: + LD DE,0 +?0206: + CALL LWRD ?0471 + POP HL + POP HL + POP HL +?0203: + LD HL,0 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + INC HL + LD C,(HL) + INC HL + LD B,(HL) + PUSH IX + POP DE + LD A,BYTE3 Button_drawtext + LD HL,LWRD Button_drawtext + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL +?0198: + JP LWRD ?0178 +ToggleButton_new: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + PUSH IY + LD L,(IX+12) + LD H,(IX+13) + PUSH HL + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + CALL LWRD ?0438 + POP AF + POP AF + PUSH HL + POP IY + LD BC,10 + ADD HL,BC + LD A,(HL) + OR 7 + LD (HL),A + LD B,(IX+14) + LD (IY+16),B + LD (IY+23),LOW(ToggleButton_handler) + LD (IY+24),HIGH(ToggleButton_handler) + LD (IY+25),BYTE3 ToggleButton_handler + LD (IY+26),LOW(ToggleButton_paint) + LD (IY+27),HIGH(ToggleButton_paint) + LD (IY+28),BYTE3 ToggleButton_paint + LD (IY+29),LOW(Button_add) + LD (IY+30),HIGH(Button_add) + LD (IY+31),BYTE3 Button_add + JP LWRD ?0418 +Dialog_handler: + CALL LWRD ?ENT_PARM_DIRECT_L09 + PUSH IY + PUSH DE + POP IY + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD A,BYTE3 Window_handler + LD HL,LWRD Window_handler + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL + LD HL,513 + LD C,(IX+4) + LD B,(IX+5) + AND A + SBC HL,BC + JR NZ,?0208 + LD A,255 + XOR (IX+10) + OR (IX+11) + JR NZ,?0208 +?0210: +?0209: +?0207: + BIT 4,(IY+11) + PUSH HL + JR Z,?0212 +?0211: + LD BC,261 + JR ?0358 +?0212: + LD BC,258 +?0358: + CALL LWRD ?0463 + POP HL +?0213: + LD C,(IY+16) + LD B,0 + PUSH BC + LD E,(IY+17) + LD D,(IY+18) + LD L,(IY+17) + LD H,(IY+18) + LD C,23 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,769 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL +?0208: + LD HL,513 + LD C,(IX+4) + LD B,(IX+5) + AND A + SBC HL,BC + JR NZ,?0215 + LD A,254 + XOR (IX+10) + OR (IX+11) + JR NZ,?0215 +?0217: +?0216: +?0214: + BIT 4,(IY+11) + PUSH HL + JR Z,?0219 +?0218: + LD BC,261 + JR ?0359 +?0219: + LD BC,258 +?0359: + CALL LWRD ?0463 + POP HL +?0220: + LD C,(IY+16) + LD B,0 + PUSH BC + LD E,(IY+17) + LD D,(IY+18) + LD L,(IY+17) + LD H,(IY+18) + LD C,23 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,770 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL +?0215: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Dialog_new: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW -2 + PUSH IY + LD L,(IX+12) + LD H,(IX+13) + PUSH HL + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + CALL LWRD ?0438 + POP AF + POP AF + PUSH HL + POP IY + LD BC,10 + ADD HL,BC + SET 0,(HL) + LD B,(IX+14) + LD (IY+16),B + LD (IY+23),LOW(Dialog_handler) + LD (IY+24),HIGH(Dialog_handler) + LD (IY+25),BYTE3 Dialog_handler + LD (IY+26),LOW(Window_paint) + LD (IY+27),HIGH(Window_paint) + LD (IY+28),BYTE3 Window_paint + LD (IY+29),LOW(Window_add) + LD (IY+30),HIGH(Window_add) + LD (IY+31),BYTE3 Window_add + LD HL,255 + PUSH HL + LD L,20 + PUSH HL + LD L,40 + PUSH HL + LD HL,65508 + CALL LWRD ?0439 + POP AF + POP AF + POP AF + LD (IX-2),L + LD (IX-1),H + LD BC,32 + ADD HL,BC + PUSH HL + LD DE,3 + CALL LWRD ?0450 + POP HL + LD (HL),C + INC HL + LD (HL),B + LD BC,?0221 + CALL LWRD ?0456 + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,254 + PUSH HL + LD L,20 + PUSH HL + LD L,40 + PUSH HL + LD HL,65480 + CALL LWRD ?0439 + POP AF + POP AF + POP AF + LD (IX-2),L + LD (IX-1),H + LD BC,32 + ADD HL,BC + PUSH HL + LD DE,7 + CALL LWRD ?0450 + POP HL + LD (HL),C + INC HL + LD (HL),B + LD BC,?0222 + CALL LWRD ?0456 + CALL LWRD ?BANK_CALL_DIRECT_L08 + JP LWRD ?0418 +?0439: + LD C,(IX+12) + LD B,(IX+13) + ADD HL,BC + LD C,L + LD B,H + LD HL,65488 + LD E,(IX+10) + LD D,(IX+11) + ADD HL,DE + EX DE,HL +?0440: + LD A,BYTE3 Button_new + LD HL,LWRD Button_new + JP LWRD ?BANK_CALL_DIRECT_L08 +?0456: + LD E,(IX-2) + LD D,(IX-1) + LD A,BYTE3 Component_setlabel + LD HL,LWRD Component_setlabel + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD C,(IX-2) + LD B,(IX-1) + PUSH IY + POP DE + LD A,(IY+31) + LD L,(IY+29) + LD H,(IY+30) + RET +Display_handler: + CALL LWRD ?ENT_PARM_DIRECT_L09 + PUSH IY + PUSH DE + POP IY + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD A,BYTE3 Button_handler + LD HL,LWRD Button_handler + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL + LD HL,515 + LD C,(IX+4) + LD B,(IX+5) + AND A + SBC HL,BC + JR NZ,?0224 + BIT 3,(IY+10) + JR Z,?0224 +?0226: +?0225: +?0223: + LD A,8 + XOR (IX+10) + OR (IX+11) + LD E,(IY+32) + LD D,(IY+33) + LD A,BYTE3 strlen + LD HL,LWRD strlen + JR NZ,?0228 +?0227: + CALL LWRD ?0448 + JR Z,?0231 +?0229: + CALL LWRD ?0445 + DEC HL + LD (HL),0 +?0230: + JR ?0231 +?0228: + CALL LWRD ?0446 + INC HL + LD (HL),0 + CALL LWRD ?0445 + LD B,(IX+10) + LD (HL),B +?0231: + LD HL,0 + PUSH HL + LD BC,259 + CALL LWRD ?0463 + POP HL +?0224: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0445: + LD E,(IY+32) + LD D,(IY+33) + LD A,BYTE3 strlen + LD HL,LWRD strlen +?0446: + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD C,(IY+32) + LD B,(IY+33) + ADD HL,BC + RET +Display_paint: + PUSH BC + PUSH IY + PUSH IX + LD HL,65464 + ADD HL,SP + LD SP,HL + PUSH DE + POP IX + XOR A + LD (HL),A + INC HL + LD (HL),A + INC HL + LD (HL),A + INC HL + LD (HL),A + LD HL,10 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + PUSH HL + LD HL,14 + ADD HL,DE + LD C,(HL) + INC HL + LD B,(HL) + POP HL + AND A + SBC HL,BC + JR Z,?0233 +?0232: + CALL LWRD ?0473 +?0233: + BIT 0,(IX+10) + JP Z,?0248 +?0234: + LD HL,2 + ADD HL,SP + PUSH HL + DEC HL + DEC HL + CALL LWRD ?0468 + POP HL + LD HL,2 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + DEC HL + DEC HL + DEC HL + CALL LWRD ?0458 + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD L,(IX+8) + LD H,(IX+9) + PUSH HL + LD L,(IX+6) + LD H,(IX+7) + PUSH HL + LD HL,6 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + DEC HL + DEC HL + DEC HL + LD C,(HL) + INC HL + LD B,(HL) + BIT 1,(IX+10) + JR Z,?0237 + LD E,(IX+16) + LD D,0 + JR ?0238 +?0237: + LD DE,0 +?0238: + CALL LWRD ?0471 + POP HL + POP HL + POP HL + BIT 7,(IX+10) + LD C,(IX+8) + LD B,(IX+9) + LD E,(IX+6) + LD D,(IX+7) + JR NZ,?0240 +?0239: + LD A,BYTE3 FillRectNC + LD HL,LWRD FillRectNC + JR ?0364 +?0240: + LD A,BYTE3 DrawRectNC + LD HL,LWRD DrawRectNC +?0364: + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0241: + LD E,(IX+32) + LD D,(IX+33) + LD HL,10 + LD BC,(global) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,5 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + CALL LWRD ?0449 + LD L,(IX+8) + LD H,(IX+9) + AND A + SBC HL,BC + EX DE,HL + LD BC,2 + CALL LWRD ?SS_DIV_L02 + LD L,C + LD H,B + ADD HL,SP + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + ADD HL,DE + LD BC,7 + ADD HL,BC + LD C,L + LD B,H + LD HL,0 + ADD HL,SP + LD E,(HL) + INC HL + LD D,(HL) + INC DE + INC DE + LD A,BYTE3 Move + LD HL,LWRD Move + CALL LWRD ?BANK_CALL_DIRECT_L08 + BIT 0,(IX+11) + JR Z,?0243 +?0242: + LD IY,0 +?0245: + LD E,(IX+32) + LD D,(IX+33) + LD A,BYTE3 strlen + LD HL,LWRD strlen + CALL LWRD ?0449 + PUSH IY + POP HL + AND A + SBC HL,BC + LD HL,6 + JR NC,?0244 +?0246: + ADD HL,SP + PUSH IY + POP BC + ADD HL,BC + LD (HL),42 + INC IY + JR ?0245 +?0244: + ADD HL,SP + PUSH IY + POP BC + ADD HL,BC + LD (HL),0 + LD HL,6 + ADD HL,SP + EX DE,HL + JR ?0365 +?0243: + LD E,(IX+32) + LD D,(IX+33) +?0365: + LD A,BYTE3 Text + LD HL,LWRD Text + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0248: +?0235: + LD HL,72 + ADD HL,SP + LD SP,HL + JP LWRD ?0411 +Display_new: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + PUSH IY + LD L,(IX+14) + LD H,(IX+15) + PUSH HL + LD L,(IX+12) + LD H,(IX+13) + PUSH HL + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD E,(IX+2) + LD D,(IX+3) + CALL LWRD ?0440 + POP AF + POP AF + POP AF + PUSH HL + POP IY + LD BC,10 + ADD HL,BC + SET 3,(HL) + LD BC,?0249 + PUSH IY + POP DE + LD A,BYTE3 Component_setlabel + LD HL,LWRD Component_setlabel + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD (IY+26),LOW(Display_paint) + LD (IY+27),HIGH(Display_paint) + LD (IY+28),BYTE3 Display_paint + LD (IY+23),LOW(Display_handler) + LD (IY+24),HIGH(Display_handler) + LD (IY+25),BYTE3 Display_handler + JP LWRD ?0418 +Label_handler: + CALL LWRD ?ENT_PARM_DIRECT_L09 + JP LWRD ?BANK_LEAVE_DIRECT_L08 +Label_paint: + PUSH BC + PUSH IX + PUSH AF + PUSH AF + PUSH DE + POP IX + LD HL,2 + ADD HL,SP + XOR A + LD (HL),A + INC HL + LD (HL),A + DEC HL + DEC HL + DEC HL + LD (HL),A + INC HL + LD (HL),A + LD HL,10 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + LD H,(HL) + LD L,A + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + PUSH HL + LD HL,14 + ADD HL,DE + LD C,(HL) + INC HL + LD B,(HL) + POP HL + AND A + SBC HL,BC + JR Z,?0251 +?0250: + CALL LWRD ?0473 +?0251: + BIT 0,(IX+10) + JR Z,?0253 +?0252: + LD HL,0 + ADD HL,SP + PUSH HL + CALL LWRD ?0467 + POP HL + LD HL,0 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + INC HL + LD C,(HL) + INC HL + LD B,(HL) + PUSH IX + POP DE + LD A,BYTE3 Button_drawtext + LD HL,LWRD Button_drawtext + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL +?0253: + JP LWRD ?0178 +Label_new: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + PUSH IY + LD L,(IX+12) + LD H,(IX+13) + PUSH HL + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + CALL LWRD ?0438 + POP AF + POP AF + PUSH HL + POP IY + LD BC,32 + ADD HL,BC + LD C,(IX+14) + LD (HL),C + LD B,(IX+15) + INC HL + LD (HL),B + LD (IY+10),1 + LD (IY+11),0 + LD (IY+23),LOW(Label_handler) + LD (IY+24),HIGH(Label_handler) + LD (IY+25),BYTE3 Label_handler + LD (IY+26),LOW(Label_paint) + LD (IY+27),HIGH(Label_paint) + LD (IY+28),BYTE3 Label_paint + LD (IY+29),LOW(Button_add) + LD (IY+30),HIGH(Button_add) + LD (IY+31),BYTE3 Button_add + JP LWRD ?0418 +rootWindow_handler: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 0 + LD L,(IX+10) + LD H,(IX+11) + PUSH HL + LD E,(IX+2) + LD D,(IX+3) + LD A,BYTE3 Window_handler + LD HL,LWRD Window_handler + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL + JP LWRD ?BANK_LEAVE_DIRECT_L08 +screenbuilder: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65486 + PUSH IY + LD (IX-40),0 + LD HL,0 + PUSH HL + PUSH BC + LD A,BYTE3 open + LD HL,LWRD open + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + LD (IX-44),L + LD (IX-43),H + LD (IX-16),43 + LD (IX-15),0 + LD (IX-14),26 + LD (IX-13),0 +?0256: + LD (IX-12),0 + LD A,(IX-40) + CP 115 + JR NZ,?0258 +?0257: + LD L,(IX-39) + LD H,(IX-38) + LD (IX-16),L + LD (IX-15),H + LD L,(IX-37) + LD H,(IX-36) + LD (IX-14),L + LD (IX-13),H +?0258: + LD A,(IX-40) + CP 66 + JR Z,?0261 + LD A,(IX-40) + CP 77 + JR NZ,?0260 +?0261: +?0262: +?0259: + LD C,(IX-35) + LD B,0 + PUSH BC + CALL LWRD ?0482 + PUSH DE + LD C,(IX-37) + LD E,(IX-16) + LD D,(IX-15) + CALL LWRD ?0483 + PUSH DE + LD C,(IX-38) + LD E,(IX-14) + LD D,(IX-13) + CALL LWRD ?S_MUL_L02 + PUSH DE + LD E,(IX-39) + LD D,B + LD C,(IX-16) + LD B,(IX-15) + CALL LWRD ?S_MUL_L02 + LD A,BYTE3 Button_new + LD HL,LWRD Button_new + POP BC + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + POP AF + PUSH HL + POP IY + LD A,(IX-40) + CP 77 + JR NZ,?0264 +?0263: + SET 6,(IY+10) +?0264: + LD (IX-12),1 +?0260: + LD A,(IX-40) + CP 84 + JR NZ,?0266 +?0265: + LD C,(IX-35) + LD B,0 + PUSH BC + CALL LWRD ?0482 + PUSH DE + LD C,(IX-37) + LD E,(IX-16) + LD D,(IX-15) + CALL LWRD ?0483 + PUSH DE + LD C,(IX-38) + LD E,(IX-14) + LD D,(IX-13) + CALL LWRD ?S_MUL_L02 + PUSH DE + LD E,(IX-39) + LD D,B + LD C,(IX-16) + LD B,(IX-15) + CALL LWRD ?S_MUL_L02 + LD A,BYTE3 ToggleButton_new + LD HL,LWRD ToggleButton_new + POP BC + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + POP AF + PUSH HL + POP IY + LD (IX-12),1 +?0266: + LD A,(IX-40) + CP 68 + JR NZ,?0268 +?0267: + LD C,(IX-35) + LD B,0 + PUSH BC + CALL LWRD ?0482 + PUSH DE + LD C,(IX-37) + LD E,(IX-16) + LD D,(IX-15) + CALL LWRD ?0483 + PUSH DE + LD C,(IX-38) + LD E,(IX-14) + LD D,(IX-13) + CALL LWRD ?S_MUL_L02 + PUSH DE + LD E,(IX-39) + LD D,B + LD C,(IX-16) + LD B,(IX-15) + CALL LWRD ?S_MUL_L02 + LD A,BYTE3 Display_new + LD HL,LWRD Display_new + POP BC + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + POP AF + PUSH HL + POP IY + LD (IX-12),1 +?0268: + LD A,(IX-40) + CP 76 + JR NZ,?0270 +?0269: + LD HL,12 + ADD HL,SP + LD BC,18 + ADD HL,BC + PUSH HL + CALL LWRD ?0482 + PUSH DE + LD C,(IX-37) + LD E,(IX-16) + LD D,(IX-15) + CALL LWRD ?0483 + PUSH DE + LD C,(IX-38) + LD E,(IX-14) + LD D,(IX-13) + CALL LWRD ?S_MUL_L02 + PUSH DE + LD E,(IX-39) + LD D,B + LD C,(IX-16) + LD B,(IX-15) + CALL LWRD ?S_MUL_L02 + LD A,BYTE3 Label_new + LD HL,LWRD Label_new + POP BC + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + POP AF + PUSH HL + POP IY + LD (IX-12),1 +?0270: + LD A,(IX-40) + CP 65 + JR NZ,?0272 +?0271: + LD HL,38 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + PUSH HL + LD HL,43 + ADD HL,SP + EX DE,HL + POP HL + LD (HL),E + INC HL + LD (HL),D + LD L,(IX-34) + LD H,(IX-33) + LD (IX-8),L + LD (IX-7),H + LD L,(IX-32) + LD H,(IX-31) + LD (IX-6),L + LD (IX-5),H + LD HL,22 + ADD HL,SP + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD E,(HL) + INC HL + LD D,(HL) + LD (IX-4),C + LD (IX-3),B + LD (IX-2),E + LD (IX-1),D + LD E,(IX+2) + LD D,(IX+3) + LD A,BYTE3 root_actionhandler + LD HL,LWRD root_actionhandler + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0272: + LD A,(IX-40) + CP 83 + JR NZ,?0274 +?0273: + LD HL,12 + ADD HL,SP + LD C,L + LD B,H + LD E,(IX-44) + LD D,(IX-43) + LD A,BYTE3 read_stringtable + LD HL,LWRD read_stringtable + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,38 + LD C,(IX+2) + LD B,(IX+3) + ADD HL,BC + PUSH HL + LD DE,4 + CALL LWRD ?0454 + EX DE,HL + POP HL + LD (HL),E + INC HL + LD (HL),D + LD HL,38 + ADD HL,BC + LD D,(HL) + LD (IX-11),D + INC HL + LD H,(HL) + LD (IX-10),H + LD HL,36 + ADD HL,BC + LD (HL),4 + INC HL + LD (HL),0 + LD L,D + LD H,(IX-10) + INC HL + INC HL + PUSH HL + LD HL,8 + LD BC,(global) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + POP HL + LD (HL),E + INC HL + LD (HL),D + LD HL,6 + LD BC,(global) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + PUSH HL + LD L,(IX-11) + LD H,(IX-10) + POP BC + LD (HL),C + INC HL + LD (HL),B + LD (IX-12),0 +?0274: + XOR A + OR (IX-12) + JP Z,?0276 +?0275: + LD A,(IX-34) + OR (IX-33) + JR Z,?0278 +?0277: + SET 5,(IY+10) + LD (IY+36),11 + LD (IY+37),0 + LD DE,11 + CALL LWRD ?0454 + LD (IY+38),L + LD (IY+39),H + LD L,(IY+38) + LD (IX-48),L + LD H,(IY+39) + LD (IX-47),H + LD (HL),LOW(root_actionhandler) + INC HL + LD (HL),HIGH(root_actionhandler) + INC HL + LD (HL),BYTE3 root_actionhandler + LD L,(IX-48) + LD H,(IX-47) + INC HL + INC HL + INC HL + LD C,(IX-34) + LD (HL),C + LD B,(IX-33) + INC HL + LD (HL),B + LD HL,5 + LD C,(IX-48) + LD B,(IX-47) + ADD HL,BC + LD E,(IX-32) + LD (HL),E + LD D,(IX-31) + INC HL + LD (HL),D + LD HL,7 + ADD HL,BC + PUSH HL + LD HL,24 + ADD HL,SP + LD E,(HL) + INC HL + LD D,(HL) + INC HL + LD C,(HL) + INC HL + LD B,(HL) + POP HL + LD (HL),E + INC HL + LD (HL),D + INC HL + LD (HL),C + INC HL + LD (HL),B +?0278: + LD A,(IX-26) + OR (IX-25) + JR Z,?0280 +?0279: + LD L,(IX-26) + LD (IY+10),L + LD H,(IX-25) + LD (IY+11),H +?0280: + LD L,(IX-24) + LD (IY+14),L + LD H,(IX-23) + LD (IY+15),H + LD L,(IX-22) + LD (IY+32),L + LD A,(IX-21) + AND 15 + LD (IY+33),A + LD A,(IY+32) + OR (IY+33) + JR NZ,?0282 +?0281: + LD DE,20 + CALL LWRD ?0454 + LD (IY+32),L + LD (IY+33),H + LD L,(IY+32) + LD H,(IY+33) + LD (HL),0 + JR ?0283 +?0282: + SET 6,(IY+11) +?0283: + LD A,(IX-21) + LD L,0 + LD C,L + AND 240 + LD B,A + LD H,16 + SBC HL,BC + JR NC,?0285 +?0284: + LD L,(IX-22) + LD A,(IX-21) + AND 15 + LD H,A + INC HL + LD (IY+34),L + LD (IY+35),H +?0285: + PUSH IY + LD E,(IX+2) + LD C,E + LD D,(IX+3) + LD B,D + LD HL,29 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + POP BC + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0276: + LD HL,20 + PUSH HL + LD L,14 + ADD HL,SP + LD C,L + LD B,H + LD E,(IX-44) + LD D,(IX-43) + CALL LWRD ?0441 + POP AF + LD A,20 + XOR L + OR H + JP Z,?0256 +?0254: + LD E,(IX-44) + LD D,(IX-43) + LD A,BYTE3 close + LD HL,LWRD close + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD E,(IX+2) + LD D,(IX+3) + LD A,BYTE3 Component_linkstringtable + LD HL,LWRD Component_linkstringtable + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD E,(IX+2) + LD C,E + LD D,(IX+3) + LD B,D + LD HL,26 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + JP LWRD ?0424 +?0441: + LD A,BYTE3 _read + LD HL,LWRD _read + JP LWRD ?BANK_CALL_DIRECT_L08 +?0454: + LD A,BYTE3 malloc + LD HL,LWRD malloc + JP LWRD ?BANK_CALL_DIRECT_L08 +?0482: + LD C,(IX-36) + LD E,(IX-14) + LD D,(IX-13) +?0483: + CALL LWRD ?S_MUL_L02 + DEC DE + DEC DE + DEC DE + RET +root_actionhandler: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65514 + PUSH IY + LD L,(IX+2) + LD H,(IX+3) + PUSH HL + POP IY + LD HL,6 + ADD HL,SP + EX DE,HL + LD HL,?0286 + LD BC,14 + LDIR + LD L,(IY+38) + LD (IX-22),L + LD H,(IY+39) + LD (IX-21),H + INC HL + INC HL + INC HL + LD A,1 + XOR (HL) + INC HL + OR (HL) + JR NZ,?0288 +?0287: + PUSH BC + LD BC,1025 + CALL LWRD ?0463 + POP HL +?0288: + LD L,(IX-22) + LD H,(IX-21) + INC HL + INC HL + INC HL + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + RES 0,L + LD A,2 + XOR L + OR H + JP NZ,?0290 +?0289: + LD L,A + LD H,A + PUSH HL + PUSH HL + LD BC,1 + LD E,(IY+17) + LD D,(IY+18) + LD A,BYTE3 Component_changestate_children + LD HL,LWRD Component_changestate_children + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL + POP HL + LD L,(IY+17) + LD H,(IY+18) + LD BC,8 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + LD L,(IY+17) + LD H,(IY+18) + LD BC,6 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + PUSH BC + LD BC,0 + LD E,C + LD D,B + LD A,BYTE3 Window_new + LD HL,LWRD Window_new + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + LD (IX-20),L + LD (IX-19),H + LD BC,10 + ADD HL,BC + LD (HL),3 + INC HL + LD (HL),B + LD L,(IX-22) + LD H,(IX-21) + INC HL + INC HL + INC HL + BIT 0,(HL) + JR Z,?0292 +?0291: + LD L,C + LD H,B + LD C,(IX-20) + LD B,(IX-19) + ADD HL,BC + INC HL + SET 5,(HL) +?0292: + LD HL,23 + LD C,(IX-20) + LD B,(IX-19) + ADD HL,BC + LD (HL),LOW(rootWindow_handler) + INC HL + LD (HL),HIGH(rootWindow_handler) + INC HL + LD (HL),BYTE3 rootWindow_handler + LD HL,26 + ADD HL,BC + LD (HL),LOW(Root_paint) + INC HL + LD (HL),HIGH(Root_paint) + INC HL + LD (HL),BYTE3 Root_paint + LD HL,7 + LD E,(IX-22) + LD D,(IX-21) + ADD HL,DE + LD E,(HL) + EX DE,HL + LD (IX-13),L + LD HL,7 + LD C,(IX-22) + LD B,(IX-21) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + INC HL + LD C,(HL) + INC HL + LD B,(HL) + EX DE,HL + LD A,8 + CALL LWRD ?SL_RSH_L03 + LD (IX-12),L + LD HL,7 + LD C,(IX-22) + LD B,(IX-21) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + INC HL + LD C,(HL) + INC HL + LD B,(HL) + EX DE,HL + LD A,16 + CALL LWRD ?SL_RSH_L03 + LD (IX-11),L + LD HL,7 + LD C,(IX-22) + LD B,(IX-21) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + INC HL + LD C,(HL) + INC HL + LD B,(HL) + EX DE,HL + LD A,24 + CALL LWRD ?SL_RSH_L03 + LD (IX-10),L + LD HL,6 + ADD HL,SP + LD C,L + LD B,H + LD E,(IX-20) + LD D,(IX-19) + LD A,BYTE3 screenbuilder + LD HL,LWRD screenbuilder + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD C,(IX-20) + LD B,(IX-19) + PUSH BC + LD E,(IY+17) + LD D,(IY+18) + LD L,(IY+17) + LD H,(IY+18) + LD BC,29 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + POP BC + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0290: + LD L,(IX-22) + LD H,(IX-21) + INC HL + INC HL + INC HL + LD A,4 + XOR (HL) + INC HL + OR (HL) + JP NZ,?0294 +?0293: + LD HL,1 + PUSH HL + LD L,(IY+17) + LD H,(IY+18) + LD BC,8 + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,65526 + ADD HL,BC + PUSH HL + LD L,(IY+17) + LD H,(IY+18) + LD BC,6 + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,65526 + ADD HL,BC + PUSH HL + LD BC,5 + LD E,C + LD D,B + LD A,BYTE3 Dialog_new + LD HL,LWRD Dialog_new + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + POP AF + LD (IX-20),L + LD (IX-19),H + LD BC,10 + ADD HL,BC + LD (HL),3 + INC HL + LD (HL),16 + LD HL,14 + LD C,(IX-20) + LD B,(IX-19) + ADD HL,BC + LD (HL),48 + INC HL + LD (HL),0 + XOR A + LD (IX-2),A + LD (IX-1),A +?0296: + LD HL,5 + LD C,(IX-22) + LD B,(IX-21) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + LD B,12 + CALL LWRD ?SS_RSH_L02 + LD C,E + LD B,D + LD L,(IX-2) + LD H,(IX-1) + CALL LWRD ?SS_CMP_L02 + JR NC,?0367 + LD A,1 + JR ?0368 +?0367: + XOR A +?0368: + AND 15 + JP Z,?0295 +?0297: + LD HL,5 + LD C,(IX-22) + LD B,(IX-21) + ADD HL,BC + LD B,(HL) + INC HL + LD A,(HL) + LD L,B + AND 15 + LD H,A + LD C,(IX-2) + LD B,(IX-1) + ADD HL,BC + ADD HL,HL + PUSH HL + LD HL,8 + LD DE,(global) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + POP HL + ADD HL,DE + DEC HL + DEC HL + LD E,(HL) + INC HL + LD D,(HL) + PUSH DE + LD HL,16 + PUSH HL + LD L,6 + LD E,(IX-20) + LD D,(IX-19) + ADD HL,DE + LD L,(HL) + LD H,0 + LD BC,65520 + ADD HL,BC + PUSH HL + LD L,(IX-2) + LD H,(IX-1) + ADD HL,HL + ADD HL,HL + LD C,L + LD B,H + ADD HL,HL + ADD HL,BC + LD BC,20 + ADD HL,BC + LD C,L + LD B,H + LD DE,8 + LD A,BYTE3 Label_new + LD HL,LWRD Label_new + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + POP AF + LD (IX-4),L + LD (IX-3),H + LD BC,14 + ADD HL,BC + LD (HL),48 + INC HL + LD (HL),B + LD C,(IX-4) + LD B,(IX-3) + PUSH BC + LD E,(IX-20) + LD C,E + LD D,(IX-19) + LD B,D + LD HL,29 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + POP BC + CALL LWRD ?BANK_CALL_DIRECT_L08 + INC (IX-2) + JR NZ,?0369 + INC (IX-1) +?0369: + JP LWRD ?0296 +?0295: + LD BC,?0299 + LD E,(IX-20) + LD D,(IX-19) + LD A,BYTE3 Component_setlabel + LD HL,LWRD Component_setlabel + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD BC,255 + CALL LWRD ?0476 + LD BC,14 + ADD HL,BC + LD (HL),48 + INC HL + LD (HL),B + LD C,254 + CALL LWRD ?0476 + EX DE,HL + CALL LWRD ?0453 + LD C,(IX-20) + LD B,(IX-19) + PUSH BC + LD E,(IY+17) + LD D,(IY+18) + LD L,(IY+17) + LD H,(IY+18) + LD BC,29 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + POP BC + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,0 + PUSH HL + LD E,(IY+17) + LD D,(IY+18) + LD L,(IY+17) + LD H,(IY+18) + LD BC,23 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,259 + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL +?0294: + LD HL,16 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + OR (HL) + INC HL + OR (HL) + JR Z,?0301 +?0300: + PUSH IY + POP DE + LD HL,16 + LD BC,(global) + CALL LWRD ?0475 +?0301: + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0476: + LD E,(IX-20) + LD D,(IX-19) + LD A,BYTE3 Component_find + LD HL,LWRD Component_find + JP LWRD ?BANK_CALL_DIRECT_L08 +read_stringtable: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW -8 + PUSH IY + INC BC + LD A,(BC) + LD (IX-2),A + INC BC + LD A,(BC) + LD (IX-1),A + INC BC + LD L,C + LD H,B + LD C,(HL) + LD (IX-4),C + INC HL + LD B,(HL) + LD (IX-3),B + LD L,(IX-2) + LD H,A + ADD HL,HL + EX DE,HL + CALL LWRD ?0454 + LD (IX-6),L + LD (IX-5),H + LD E,C + LD D,B + CALL LWRD ?0447 + PUSH BC + LD C,L + LD B,H + LD E,(IX+2) + LD D,(IX+3) + CALL LWRD ?0441 + POP AF + LD DE,0 + XOR A + LD (IX-8),A + LD (IX-7),A +?0303: + LD C,(IX-4) + LD B,(IX-3) + LD L,E + LD H,D + CALL LWRD ?SS_CMP_L02 + JR NC,?0302 + CALL LWRD ?0479 + JR NC,?0302 +?0306: +?0305: +?0304: + INC HL + LD (IX-8),L + LD (IX-7),H + DEC HL + ADD HL,HL + LD C,(IX-6) + LD B,(IX-5) + ADD HL,BC + PUSH HL + PUSH IY + POP HL + ADD HL,DE + LD C,L + LD B,H + POP HL + LD (HL),C + INC HL + LD (HL),B +?0308: + PUSH IY + POP HL + ADD HL,DE + LD A,(HL) + OR A + JR Z,?0307 +?0309: + INC DE + JR ?0308 +?0307: + LD L,E + LD H,D + INC DE + PUSH IY + POP BC + ADD HL,BC + LD (HL),A + JR ?0303 +?0302: + CALL LWRD ?0479 + JR NC,?0311 +?0310: + ADD HL,HL + LD C,(IX-6) + LD B,(IX-5) + ADD HL,BC + PUSH HL + PUSH IY + POP HL + ADD HL,DE + LD C,L + LD B,H + POP HL + LD (HL),C + INC HL + LD (HL),B +?0311: + LD HL,6 + LD BC,(global) + ADD HL,BC + PUSH IY + POP BC + LD (HL),C + INC HL + LD (HL),B + LD HL,8 + LD BC,(global) + ADD HL,BC + LD C,(IX-6) + LD (HL),C + LD B,(IX-5) + INC HL + LD (HL),B + POP IY + JP LWRD ?BANK_LEAVE_DIRECT_L08 +?0479: + LD C,(IX-2) + LD B,(IX-1) + LD L,(IX-8) + LD H,(IX-7) + JP LWRD ?SS_CMP_L02 +gui_globals: + LD HL,(global) + JP LWRD ?BANK_FAST_LEAVE_L08 +GUIinit: + PUSH BC + PUSH DE + LD DE,19 + CALL LWRD ?0454 + LD (global),HL + XOR A + LD (HL),A + INC HL + LD (HL),A + LD HL,4 + LD BC,(global) + ADD HL,BC + LD (HL),A + INC HL + LD (HL),A + LD HL,10 + LD BC,(global) + ADD HL,BC + LD (HL),A + INC HL + LD (HL),A + LD HL,12 + LD BC,(global) + ADD HL,BC + LD (HL),A + INC HL + LD (HL),A + LD HL,8 + LD BC,(global) + ADD HL,BC + LD (HL),A + INC HL + LD (HL),A + LD HL,6 + LD BC,(global) + ADD HL,BC + LD (HL),A + INC HL + LD (HL),A + LD HL,16 + LD BC,(global) + ADD HL,BC + LD (HL),A + INC HL + LD (HL),A + INC HL + LD (HL),A + LD A,BYTE3 GraphicsOpen + LD HL,LWRD GraphicsOpen + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD HL,0 + PUSH HL + PUSH HL + LD C,BYTE3 stringheight01 + PUSH BC + LD HL,LWRD stringheight01 + PUSH HL + LD C,BYTE3 stringwidth0 + PUSH BC + LD HL,LWRD stringwidth0 + PUSH HL + LD DE,48 + CALL LWRD ?0484 + LD HL,12 + ADD HL,SP + LD SP,HL + LD HL,0 + PUSH HL + PUSH HL + LD C,BYTE3 stringheight01 + PUSH BC + LD HL,LWRD stringheight01 + PUSH HL + LD C,BYTE3 stringwidth1 + PUSH BC + LD HL,LWRD stringwidth1 + PUSH HL + LD DE,49 + CALL LWRD ?0484 + LD HL,12 + ADD HL,SP + LD SP,HL + LD HL,0 + PUSH HL + PUSH HL + LD C,BYTE3 stringheight2 + PUSH BC + LD HL,LWRD stringheight2 + PUSH HL + LD C,BYTE3 stringwidth2 + PUSH BC + LD HL,LWRD stringwidth2 + PUSH HL + LD DE,50 + CALL LWRD ?0484 + LD HL,12 + ADD HL,SP + LD SP,HL + LD HL,14 + LD BC,(global) + ADD HL,BC + PUSH HL + LD DE,128 + PUSH DE + LD E,D + PUSH DE + LD C,E + LD B,D + LD A,BYTE3 Window_new + LD HL,LWRD Window_new + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + LD C,L + LD B,H + POP HL + LD (HL),C + INC HL + LD (HL),B + LD HL,14 + LD BC,(global) + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + LD DE,10 + ADD HL,DE + LD (HL),1 + INC HL + LD (HL),D + LD HL,14 + LD BC,(global) + ADD HL,BC + LD D,(HL) + INC HL + LD H,(HL) + LD L,D + LD DE,23 + ADD HL,DE + LD (HL),LOW(rootWindow_handler) + INC HL + LD (HL),HIGH(rootWindow_handler) + INC HL + LD (HL),BYTE3 rootWindow_handler + LD HL,14 + LD BC,(global) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,26 + ADD HL,BC + LD (HL),LOW(Root_paint) + INC HL + LD (HL),HIGH(Root_paint) + INC HL + LD (HL),BYTE3 Root_paint + POP DE + POP BC + JP LWRD ?BANK_FAST_LEAVE_L08 +?0484: + LD A,BYTE3 loadFont + LD HL,LWRD loadFont + JP LWRD ?BANK_CALL_DIRECT_L08 +GUIunit: + PUSH BC + PUSH DE + LD HL,14 + LD BC,(global) + ADD HL,BC + LD E,(HL) + INC HL + LD D,(HL) + CALL LWRD ?0453 + LD A,BYTE3 ClearScreen + LD HL,LWRD ClearScreen + CALL LWRD ?BANK_CALL_DIRECT_L08 + LD A,BYTE3 GraphicsClose + LD HL,LWRD GraphicsClose + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP DE + POP BC + JP LWRD ?BANK_FAST_LEAVE_L08 +GUIgo: + CALL LWRD ?ENT_AUTO_DIRECT_L09 + DEFW 65534 + LD C,(IX+2) + LD B,(IX+3) + LD HL,14 + LD DE,(global) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + LD A,BYTE3 screenbuilder + LD HL,LWRD screenbuilder + CALL LWRD ?BANK_CALL_DIRECT_L08 +?0313: + LD HL,4 + LD BC,(global) + ADD HL,BC + LD A,(HL) + INC HL + OR (HL) + JP NZ,?0312 +?0314: + LD HL,1 + PUSH HL + INC HL + ADD HL,SP + LD C,L + LD B,H + LD HL,(global) + INC HL + INC HL + LD E,(HL) + INC HL + LD D,(HL) + CALL LWRD ?0441 + POP AF + LD A,1 + XOR L + OR H + JR NZ,?0313 +?0315: + LD C,(IX-2) + LD B,A + PUSH BC + LD HL,?0317 + PUSH HL + LD A,BYTE3 printf + LD HL,LWRD printf + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP AF + POP AF + XOR A + OR (IX-2) + JR Z,?0319 +?0318: + LD C,A + PUSH BC + LD HL,14 + LD DE,(global) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + LD HL,14 + LD BC,(global) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,23 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,1 + JR ?0370 +?0319: + LD C,(IX-1) + PUSH BC + LD HL,14 + LD DE,(global) + ADD HL,DE + LD E,(HL) + INC HL + LD D,(HL) + LD HL,14 + LD BC,(global) + ADD HL,BC + LD B,(HL) + INC HL + LD H,(HL) + LD L,B + LD BC,23 + ADD HL,BC + LD C,(HL) + INC HL + LD B,(HL) + INC HL + LD A,(HL) + LD L,C + LD H,B + LD BC,2 +?0370: + CALL LWRD ?BANK_CALL_DIRECT_L08 + POP HL +?0320: + LD B,(IX-2) + LD (IX-1),B +?0316: + JP LWRD ?0313 +?0312: + JP LWRD ?BANK_LEAVE_DIRECT_L08 + RSEG CSTR +?0001: + DEFB '/dev/lcd0' + DEFB 0 +?0221: + DEFB 'OK' + DEFB 0 +?0222: + DEFB 'Cancel' + DEFB 0 +?0249: + DEFB 0 +?0299: + DEFB 'Message Box' + DEFB 0 +?0317: + DEFB '0x%02x' + DEFB 10,0 + RSEG CONST +?0000: + DEFB 27 + DEFB 'K' +?0002: + DEFB 27 + DEFB 'S' + DEFB 0 + DEFB 0 +?0003: + DEFB 27 + DEFB 'C' + DEFB 0 + DEFB 0 +?0004: + DEFB 27 + DEFB 'N' + DEFB 0 + DEFB 0 +?0005: + DEFB 27 + DEFB 'R' + DEFB 0 + DEFB 0 +?0006: + DEFB 27 + DEFB 'F' + DEFB 0 + DEFB 0 +?0007: + DEFB 27 + DEFB 'h' + DEFB 0 + DEFB 0 +?0008: + DEFB 27 + DEFB 'Z' + DEFB 0 + DEFB 0 + DEFB 0 + DEFB 0 + DEFB 0 +?0009: + DEFB 27 + DEFB 'E' + DEFB 0 +?0010: + DEFB 27 + DEFB 0 +?0286: + DEFB '/' + DEFB 'w' + DEFB 'n' + DEFB 'd' + DEFB '/' + DEFB '0' + DEFB '0' + DEFB '0' + DEFB '0' + DEFB '.' + DEFB 's' + DEFB 'c' + DEFB 'r' + DEFB 0 + RSEG UDATA0 +global: + DEFS 2 + END diff --git a/src/kernel/build.ban b/src/kernel/build.ban index e0f7b879..f3ea38bc 100644 --- a/src/kernel/build.ban +++ b/src/kernel/build.ban @@ -263,6 +263,18 @@ del exit.r01 as-z80 -l -o exit.s01 @if errorlevel 1 goto failure +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\testsystem +@if errorlevel 1 goto failure +del testsystem.r01 +as-z80 -l -o testsystem.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\touchscreen +@if errorlevel 1 goto failure +del testsystem.r01 +as-z80 -l -o touchscreen.s01 +@if errorlevel 1 goto failure + rem link everything link-z80 -f kernel diff --git a/src/kernel/build.ban% b/src/kernel/build.ban% new file mode 100644 index 00000000..83196ca1 --- /dev/null +++ b/src/kernel/build.ban% @@ -0,0 +1,292 @@ +rem build cmx + +copy ..\cmx\io64180.inc + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ ..\cmx\cmx_init +@if errorlevel 1 goto failure +del cmx_init.r01 +as-z80 -l -o cmx_init.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ ..\cmx\cxver5 +@if errorlevel 1 goto failure +del cxver5.r01 +as-z80 -l -o cxver5.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ ..\cmx\cmxio3 +@if errorlevel 1 goto failure +del cmxio3.r01 +as-z80 -l -o cmxio3.s01 +@if errorlevel 1 goto failure + +rem iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ ..\cmx\cmxbug +rem @if errorlevel 1 goto failure +rem del cmxbug.r01 +rem as-z80 -l -o cmxbug.s01 +rem @if errorlevel 1 goto failure + +rem iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ ..\cmx\cmxtrack +rem @if errorlevel 1 goto failure +rem del cmxtrack.r01 +rem as-z80 -l -o cmxtrack.s01 +rem @if errorlevel 1 goto failure + +rem copy ..\cmx\bstartup.asm bstartup.s01 +rem as-z80 -l -o bstartup.s01 +rem @if errorlevel 1 goto failure + +copy ..\cmx\cxskv5b.asm cxskv5b.s01 +as-z80 -l -o cxskv5b.s01 +@if errorlevel 1 goto failure + +copy ..\cmx\cmxintb.asm cmxintb.s01 +as-z80 -l -o cmxintb.s01 +@if errorlevel 1 goto failure + +copy ..\cmx\asci.asm asci.s01 +as-z80 -l -o asci.s01 +@if errorlevel 1 goto failure + +copy ..\cmx\escc.asm escc.s01 +as-z80 -l -o escc.s01 +@if errorlevel 1 goto failure + +copy ..\cmx\apibus.asm apibus.s01 +as-z80 -l -o apibus.s01 +@if errorlevel 1 goto failure + +copy ..\cmx\copyr.asm copyr.s01 +as-z80 -l -o copyr.s01 +@if errorlevel 1 goto failure + +copy ..\cmx\diag.asm diag.s01 +as-z80 -l -o diag.s01 +@if errorlevel 1 goto failure + +rem build uzi + +copy ..\uzi\asmdef.inc +copy ..\uzi\z180.inc + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\main +@if errorlevel 1 goto failure +del main.r01 +as-z80 -l -o main.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\data +@if errorlevel 1 goto failure +del data.r01 +as-z80 -l -o data.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\devflop +@if errorlevel 1 goto failure +del devflop.r01 +as-z80 -l -o devflop.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\devhd +@if errorlevel 1 goto failure +del devhd.r01 +as-z80 -l -o devhd.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\devio +@if errorlevel 1 goto failure +del devio.r01 +as-z80 -l -o devio.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\devmisc +@if errorlevel 1 goto failure +del devmisc.r01 +as-z80 -l -o devmisc.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\devtty +@if errorlevel 1 goto failure +del devtty.r01 +as-z80 -l -o devtty.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\filesys +@if errorlevel 1 goto failure +del filesys.r01 +as-z80 -l -o filesys.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\machdep +@if errorlevel 1 goto failure +del machdep.r01 +as-z80 -l -o machdep.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\process +@if errorlevel 1 goto failure +del process.r01 +as-z80 -l -o process.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\scall1 +@if errorlevel 1 goto failure +del scall1.r01 +as-z80 -l -o scall1.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\scall2 +@if errorlevel 1 goto failure +del scall2.r01 +as-z80 -l -o scall2.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\scall3 +@if errorlevel 1 goto failure +del scall3.r01 +as-z80 -l -o scall3.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\systrace +@if errorlevel 1 goto failure +del systrace.r01 +as-z80 -l -o systrace.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\xip +@if errorlevel 1 goto failure +del xip.r01 +as-z80 -l -o xip.s01 +@if errorlevel 1 goto failure + +copy ..\uzi\flopasm.asm flopasm.s01 +as-z80 -l -o flopasm.s01 +@if errorlevel 1 goto failure + +copy ..\uzi\machasm.asm machasm.s01 +as-z80 -l -o machasm.s01 +@if errorlevel 1 goto failure + +copy ..\uzi\procasm.asm procasm.s01 +as-z80 -l -o procasm.s01 +@if errorlevel 1 goto failure + +copy ..\uzi\utils.asm utils.s01 +as-z80 -l -o utils.s01 +@if errorlevel 1 goto failure + +rem build libc + +copy ..\libc\c0k.asm c0k.s01 +as-z80 -l -o c0k.s01 +@if errorlevel 1 goto failure + +copy ..\libc\_exit.asm _exit.s01 +as-z80 -l -o _exit.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\dprintf +@if errorlevel 1 goto failure +del dprintf.r01 +as-z80 -l -o dprintf.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\kprintf +@if errorlevel 1 goto failure +del kprintf.r01 +as-z80 -l -o kprintf.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\vfprintf +@if errorlevel 1 goto failure +del vfprintf.r01 +as-z80 -l -o vfprintf.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\itoa +@if errorlevel 1 goto failure +del itoa.r01 +as-z80 -l -o itoa.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\ltoa +@if errorlevel 1 goto failure +del ltoa.r01 +as-z80 -l -o ltoa.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\ultoa +@if errorlevel 1 goto failure +del ultoa.r01 +as-z80 -l -o ultoa.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\strlen +@if errorlevel 1 goto failure +del strlen.r01 +as-z80 -l -o strlen.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\strcat +@if errorlevel 1 goto failure +del strcat.r01 +as-z80 -l -o strcat.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\strcpy +@if errorlevel 1 goto failure +del strcpy.r01 +as-z80 -l -o strcpy.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\strncmp +@if errorlevel 1 goto failure +del strncmp.r01 +as-z80 -l -o strncmp.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\memcpy +@if errorlevel 1 goto failure +del memcpy.r01 +as-z80 -l -o memcpy.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\abort +@if errorlevel 1 goto failure +del abort.r01 +as-z80 -l -o abort.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -DDEBUG=2 ..\libc\exit +@if errorlevel 1 goto failure +del exit.r01 +as-z80 -l -o exit.s01 +@if errorlevel 1 goto failure + +iccz80 -S -w -mb -v1 -z -A -I..\..\..\include\ -I..\cmx\ -I..\uzi\ -I..\libc\ -DDEBUG=2 ..\uzi\testsystem +@if errorlevel 1 goto failure +del testsystem.r01 +as-z80 -l -o testsystem.s01 +@if errorlevel 1 goto failure + +rem link everything + +link-z80 -f kernel +@if errorlevel 1 goto failure +ihex2bin -l kernel.i86 ..\..\..\bin\kernel.bin +@if errorlevel 1 goto failure + +rem copy ..\..\..\bin\kernel.bin \nlddl +rem set country=NLD +rem crc +rem copy \nlddl\checksum ..\..\..\bin + +rem copy \nlddl\checksum \\darkstar\public\dos622\nlddl +rem copy \nlddl\kernel.bin \\darkstar\public\dos622\nlddl + +@echo SUCCESS +@goto done +:failure +@echo FAILURE +:done + diff --git a/src/kernel/kernel.lnk b/src/kernel/kernel.lnk index 2a389ec1..f2695b76 100644 --- a/src/kernel/kernel.lnk +++ b/src/kernel/kernel.lnk @@ -52,3 +52,5 @@ memcpy abort exit _exit +testsystem +touchscreen diff --git a/src/kernel/kernel.lnk% b/src/kernel/kernel.lnk% new file mode 100644 index 00000000..03264179 --- /dev/null +++ b/src/kernel/kernel.lnk% @@ -0,0 +1,55 @@ +-k ..\..\..\lib +-l libiar.lib +-m +-u +-i +-o kernel +-bl RCODE=0 +-bl ICODE=0x8100 +-bl CODE=0x804000,0x10000 +-bc CODE=0x4000 +c0k +cmx_init +cxver5 +cmxio3 +cxskv5b +cmxintb +asci +escc +apibus +copyr +diag +main +data +machasm +machdep +filesys +process +procasm +scall1 +scall2 +scall3 +devtty +devio +devhd +devmisc +devflop +flopasm +utils +systrace +xip +dprintf +kprintf +vfprintf +itoa +ltoa +ultoa +strlen +strcat +strcpy +strncmp +memcpy +abort +exit +_exit +testsystem diff --git a/src/kernel/uzi/devtty.c.org b/src/kernel/uzi/devtty.c.org new file mode 100644 index 00000000..17d55f15 --- /dev/null +++ b/src/kernel/uzi/devtty.c.org @@ -0,0 +1,502 @@ +/*************************************************************** + UZI (Unix Z80 Implementation) Kernel: devtty.c +---------------------------------------------------------------- + Adapted from UZI By Doug Braun, and UZI280 by Stefan Nitschke + Copyright (C) 1998 by Harold F. Bower + Portions Copyright (C) 1995 by Stefan Nitschke +****************************************************************/ +/* Revisions: + * 22.12.97 - Moved __putc & tty_int to MACHASM.ASZ. HFB + * 24.05.98 - Restructured tty_inproc, parse CTRL chars + * based on flag set bit (deletes CPM_CTRL in 280), add + * equate for Number of TTY terminals. HFB + */ + +#if 0 /* Nick */ +#define DEBUG /* UNdefine to delete debug code sequences */ + +#define NTTYS 9 /* 2 */ /* Number of TTY ports defined */ +#endif + +#include "vendor.h" /* Nick, must come first */ +#include +#include +#include +#include "devtty.h" /* prototypes added by Nick */ + +struct s_tty_data tty_data[NTTYS+1]; /* tty_data[0] is not used */ + +struct s_tty_data tty_default = + { + 0, 0, '\b', CTRL('x'), DFLT_MODE, + CTRL('c'), CTRL('\\'), CTRL('q'), CTRL('s'), CTRL('d'), 0 + }; + +#if 1 /* Nick */ +void (*tty_vector[NTTYS+1])(int minor, char c) = + { + tty_inproc_dummy, /* this entry is never used */ + tty_inproc_dummy, + tty_inproc_dummy, + tty_inproc_dummy, + tty_inproc_dummy, + tty_inproc_dummy, + tty_inproc_dummy, + tty_inproc_dummy, + tty_inproc_dummy, + tty_inproc_dummy + }; + +extern char xmit_bufs[PORTS][XMIT_SIZE]; +extern char recv_bufs[PORTS][RECV_SIZE]; + +struct s_queue ttyinq[NTTYS+1] = + { + { NULL, NULL, NULL, 0, 0, 0 }, /* this entry is never used */ + { recv_bufs[0], recv_bufs[0], recv_bufs[0], TTYSIZ, 0, TTYSIZ/2 }, + { recv_bufs[1], recv_bufs[1], recv_bufs[1], TTYSIZ, 0, TTYSIZ/2 }, + { recv_bufs[2], recv_bufs[2], recv_bufs[2], TTYSIZ, 0, TTYSIZ/2 }, + { recv_bufs[3], recv_bufs[3], recv_bufs[3], TTYSIZ, 0, TTYSIZ/2 }, + { recv_bufs[4], recv_bufs[4], recv_bufs[4], TTYSIZ, 0, TTYSIZ/2 }, + { recv_bufs[5], recv_bufs[5], recv_bufs[5], TTYSIZ, 0, TTYSIZ/2 }, + { recv_bufs[6], recv_bufs[6], recv_bufs[6], TTYSIZ, 0, TTYSIZ/2 }, + { recv_bufs[7], recv_bufs[7], recv_bufs[7], TTYSIZ, 0, TTYSIZ/2 }, + { recv_bufs[8], recv_bufs[8], recv_bufs[8], TTYSIZ, 0, TTYSIZ/2 } + }; +#else +/* Character Input Queue size */ +#define TTYSIZ 132 + +char tbuf1[TTYSIZ]; +char tbuf2[TTYSIZ]; + +struct s_queue ttyinq[NTTYS+1] = { /* ttyinq[0] is never used */ +{ NULL, NULL, NULL, 0, 0, 0 }, +{ tbuf1, tbuf1, tbuf1, TTYSIZ, 0, TTYSIZ/2 }, +{ tbuf2, tbuf2, tbuf2, TTYSIZ, 0, TTYSIZ/2 } +}; +#endif + +int stopflag[NTTYS+1]; /* Flag for ^S/^Q */ +int flshflag[NTTYS+1]; /* Flag for ^O */ + +int tty_read(uchar minor, uchar rawflag) +{ + int nread; + char c; + int remq(); + +#if DEBUG >= 2 + dprintf(2, "tty_read(%d, %d) starting\n", minor, rawflag); +#endif + + /* Minor == 0 means that it is the controlling tty of the process */ + ifnot (minor) + minor = udata.u_ptab->p_tty; + ifnot (udata.u_ptab->p_tty) + udata.u_ptab->p_tty = minor; + + if ((minor < 1) || (minor > NTTYS+1)) { + udata.u_error = ENODEV; +#if DEBUG >= 2 + dprintf(2, "tty_read() returning -1, error %d\n", udata.u_error); +#endif + return (-1); + } + + nread = 0; + while (nread < udata.u_count) + { + for (;;) + { + di_absolute(); /* Nick */ + if (remq (&ttyinq[minor], &c)) { +#if 1 /* Nick */ + ei_absolute(); /* Nick */ +#endif + if (udata.u_sysio) + *udata.u_base = c; + else + uputc (c, udata.u_base); + break; + } +#if 1 /* Nick */ + ei_absolute(); +#endif +#if 1 /* Nick */ + /* In unbuffered mode, don't wait when no input */ + if (tty_data[minor].t_flags & UNBUFF) + { +#if DEBUG >= 2 + dprintf(2, "tty_read() returning %d, success\n", nread); +#endif + return(nread); + } +#endif +#if 1 /* Nick, original uzi code, it can be handy to disable this sometimes */ + psleep (&ttyinq[minor]); + if (udata.u_cursig || udata.u_ptab->p_pending) { /* messy */ + udata.u_error = EINTR; +#if DEBUG >= 2 + dprintf(2, "tty_read() returning -1, error %d\n", udata.u_error); +#endif + return (-1); + } +#endif + } +#if 0 /* Nick, removed as this is now done immediately after calling remq */ + ei_absolute(); /* Nick */ +#endif + if ((nread++ == 0) && (c == tty_data[minor].t_eof)) /* ^D */ + { +#if DEBUG >= 2 + dprintf(2, "tty_read() returning 0, eof\n"); +#endif + return(0); + } + + /* In raw or cbreak mode, return after one char */ +#if 1 /* Nick */ + if ((tty_data[minor].t_flags & UNBUFF) == 0 && + (c == '\n' || tty_data[minor].t_flags & (RAW|CBREAK))) + { + break; + } +#else + if (tty_data[minor].t_flags & (RAW|CBREAK)) + break; + if (c == '\n') + break; +#endif + ++udata.u_base; + } +#if DEBUG >= 2 + dprintf(2, "tty_read() returning %d, success\n", nread); +#endif + return(nread); +} + + + +int tty_write(uchar minor, uchar rawflag) +{ + int towrite, c; +/* Nick int ugetc(); */ + + /* Minor == 0 means that it is the controlling tty of the process */ + ifnot (minor) + minor = udata.u_ptab->p_tty; + ifnot (udata.u_ptab->p_tty) + udata.u_ptab->p_tty = minor; + + if ((minor < 1) || (minor > NTTYS+1)) { + udata.u_error = ENODEV; + return (-1); + } + + towrite = udata.u_count; + + while (udata.u_count-- != 0) + { + for (;;) /* Wait on the ^S/^Q flag */ + { + di_absolute(); /* Nick */ + ifnot (stopflag[minor]) + break; + psleep (&stopflag[minor]); + if (udata.u_cursig || udata.u_ptab->p_pending) /* messy */ + { + udata.u_error = EINTR; + return (-1); + } + } + ei_absolute(); /* Nick */ + + ifnot (flshflag[minor]) + { + if (udata.u_sysio) + c = *udata.u_base; + else + c = ugetc (udata.u_base); + + if (c == '\n' && (tty_data[minor].t_flags & CRMOD)) + _putc (minor, '\r'); + _putc (minor, c); + } + ++udata.u_base; + } + return (towrite); +} + + + +int tty_open(uchar minor) +{ + /* Minor == 0 means that it is the controlling tty of the process */ + ifnot (minor) + minor = udata.u_ptab->p_tty; + +#if 1 /* Nick */ + if ((minor < 1) || (minor > NTTYS+1)) + { + udata.u_error = ENODEV; + return (-1); + } +#endif + + /* If there is no controlling tty for the process, establish it */ + ifnot (udata.u_ptab->p_tty) + udata.u_ptab->p_tty = minor; + + /* Initialize the tty_data */ + bcopy (&tty_default, &tty_data[minor], sizeof (struct s_tty_data)); + +#if 1 /* Nick */ + di_absolute(); + tty_vector[minor] = tty_inproc; + ei_absolute(); +#endif + + return (0); +} + + +int tty_close(uchar minor) +{ + /* If we are closing the controlling tty, make note */ + if (minor == udata.u_ptab->p_tty) + udata.u_ptab->p_tty = 0; + +#if 1 /* Nick */ + if ((minor < 1) || (minor > NTTYS+1)) + { + udata.u_error = ENODEV; + return (-1); + } +#endif + +#if 1 /* Nick */ + di_absolute(); + tty_vector[minor] = tty_inproc_dummy; + ei_absolute(); +#endif + + return (0); +} + + +/* Data in User Space */ +int tty_ioctl(uchar minor, int request, char *data) +{ + /* Minor == 0 means that it is the controlling tty of the process */ + ifnot (minor) + minor = udata.u_ptab->p_tty; + if ((minor < 1) || (minor > NTTYS+1)) { + udata.u_error = ENODEV; + return (-1); + } + switch (request) + { + case TIOCGETP: + uput (&tty_data[minor], data, 6); + break; + case TIOCSETP: + uget (data, &tty_data[minor], 6); + break; + case TIOCGETC: + uput (&tty_data[minor].t_intr, data, 5); + break; + case TIOCSETC: + uget (data, &tty_data[minor].t_intr, 5); + break; + case TIOCSETN: + uput (&ttyinq[minor].q_count, data, 2); + break; + case TIOCFLUSH: + clrq (&tty_data[minor]); + break; + case TIOCTLSET: + tty_data[minor].ctl_char = 1; + break; + case TIOCTLRES: + tty_data[minor].ctl_char = 0; + break; + default: + udata.u_error = EINVAL; + return (-1); + } + return (0); +} + + +/* This routine processes a character in response to an interrupt. It + * adds the character to the tty input queue, echoing and processing + * backspace and carriage return. If the queue contains a full line, + * it wakes up anything waiting on it. If it is totally full, it beeps + * at the user. + * UZI180 - This routine is called from the raw Hardware read routine, + * either interrupt or polled, to process the input character. HFB + */ + +void tty_inproc(int minor, char c) +{ + char oc; + struct s_tty_data *td; + int mode; + int insq(), uninsq(); + + td = &tty_data[minor]; +#if 1 /* Nick */ + if ((td->t_flags & (RAW|CBREAK|COOKED|UNBUFF)) == (RAW|UNBUFF)) + { + insq (&ttyinq[minor], c); + return; /* don't bother checking for error or waking task */ + } +#endif + mode = td->t_flags & (RAW|CBREAK|COOKED); + +/*** if (c == 0x1b && td->t_flags == DFLT_MODE) +/*** return; /* my terminal hates it SN */ + + if (mode != RAW) + { /* Nick */ + c &= 0x7f; /* Strip off parity */ + if (!c) + return; /* Simply quit if Null character */ + } /* Nick */ + + if (td->ctl_char == 0) /* Don't parse ctl chars if Non-0 */ + { + if ((mode & RAW) == 0) /* if mode == COOKED or CBREAK */ + { +#if DEBUG + if (c == 0x1a) /* ^Z */ + { + idump(); /* (For debugging) */ + return; + } + else if (c == 0x0e) /* ^N Nick */ + { + traceon = !traceon; + return; + } +#endif + + if (c == '\r' && (td->t_flags & CRMOD)) + c = '\n'; + + if (c == td->t_intr) { /* ^C */ + sgrpsig (minor, SIGQUIT); + clrq (&ttyinq[minor]); + stopflag[minor] = flshflag[minor] = 0; + return; + } + else if (c == td->t_quit) { /* ^\ */ + sgrpsig (minor, SIGINT); + clrq (&ttyinq[minor]); + stopflag[minor] = flshflag[minor] = 0; + return; + } + else if (c == '\017') { /* ^O */ + flshflag[minor] = !flshflag[minor]; + return; + } + else if (c == td->t_stop) { /* ^S */ + stopflag[minor] = 1; + return; + } + else if (c == td->t_start) { /* ^Q */ + stopflag[minor] = 0; + wakeup (&stopflag[minor]); + return; + } + } + + if (mode == COOKED) + { + if (c == td->t_erase) + { + if (uninsq (&ttyinq[minor], &oc)) + { + if (oc == '\n') + insq (&ttyinq[minor], oc); /* Don't erase past nl */ + else + { + echo (minor, '\b'); + echo (minor, ' '); + echo (minor, '\b'); + } + } + return; + } + else if (c == td->t_kill) + { + while (uninsq (&ttyinq[minor], &oc)) + { + if (oc == '\n') + { + insq (&ttyinq[minor], oc); /* Don't erase past nl */ + break; + } + echo (minor, '\b'); + echo (minor, ' '); + echo (minor, '\b'); + } + return; + } + } + } + /* All modes come here */ + + if (c == '\n' && (td->t_flags & CRMOD)) + echo (minor, '\r'); + + if (insq (&ttyinq[minor], c)) + echo (minor, c); + else + _putc (minor, '\007'); /* Beep if no more room */ + + if ((mode != COOKED || c == '\n' || c == td->t_eof) + && (td->ctl_char == 0)) /* ^D */ + wakeup (&ttyinq[minor]); +/* abyte('^'); */ +/* abyte(c); */ +/* while (1) */ +/* ; */ +} + + +#if 1 /* Nick */ +void tty_inproc_dummy(int minor, char c) + { + } +#endif + + +void echo(int minor, char c) +{ + if (tty_data[minor].t_flags & ECHO) + _putc (minor, c); +} + + +#if 0 +char silly_pause(void) + { + char c; + + for (;;) + { + di_absolute(); /* Nick */ + if (remq (&ttyinq[2], &c)) + { + return c; + } +#if 1 /* Nick... very temporary!! */ + ei_absolute(); +#endif + } + } +#endif + + diff --git a/src/kernel/uzi/main.c b/src/kernel/uzi/main.c index 229c500f..4a3ae3d2 100644 --- a/src/kernel/uzi/main.c +++ b/src/kernel/uzi/main.c @@ -10,6 +10,8 @@ #include #include #include "devtty.h" +#include "touchscreen.h" +#include "testsystem.h" void asci0_setup(void); void asci1_setup(void); @@ -50,7 +52,7 @@ void kputchar(char c); void puts(char *s); void _putc(int minor, char c); void tty_inproc(int minor, char c); /* in devtty.c */ -void my_tty_inproc(SDEV *device, char c); +void tty_rx_handler(SDEV *device, char c); #if 0 void my_tty_inproc5(SDEV *device, char c); #endif @@ -62,9 +64,7 @@ void bcopy(char *src, char *dest, int count); int int_min(int a, int b); int int_max(int a, int b); int scsiop(void); -void my_compactflash_in(SDEV *device, char c); -void my_touchscreen_in(SDEV *device, char c); -void sttime(time_t *tvec); +void compactflash_rx_handler(SDEV *device, char c); void hostname_setup(void); #if 0 @@ -189,18 +189,24 @@ void main(int argc, char **argv) K_OS_Disable_Interrupts(); /* redirect incoming characters on SERIAL 0 to the uzi tty handler */ - sdevs[0].rx_vector = my_tty_inproc; - sdevs[1].rx_vector = my_tty_inproc; - sdevs[2].rx_vector = my_tty_inproc; - sdevs[3].rx_vector = my_tty_inproc; - sdevs[4].rx_vector = my_tty_inproc; - sdevs[5].rx_vector = my_touchscreen_in; - sdevs[6].rx_vector = my_tty_inproc; - sdevs[7].rx_vector = my_tty_inproc; - sdevs[8].rx_vector = my_tty_inproc; + sdevs[0].rx_vector = tty_rx_handler; + sdevs[1].rx_vector = tty_rx_handler; + sdevs[2].rx_vector = tty_rx_handler; + sdevs[3].rx_vector = tty_rx_handler; + sdevs[4].rx_vector = tty_rx_handler; + sdevs[5].rx_vector = tty_rx_handler; + sdevs[6].rx_vector = tty_rx_handler; + sdevs[7].rx_vector = tty_rx_handler; + sdevs[8].rx_vector = tty_rx_handler; /* redirect incoming data from CompactFlash to the uzi scsi handler */ - sdevs[10].rx_vector = my_compactflash_in; + sdevs[10].rx_vector = compactflash_rx_handler; + + /* initialise test system */ + testsystem_init(); + + /* initialise touchscreen hooks */ + touchscreen_init(); K_OS_Enable_Interrupts(); #endif @@ -322,7 +328,7 @@ void _putc(int minor, char c) } } -void my_tty_inproc(SDEV *device, char c) +void tty_rx_handler(SDEV *device, char c) { #if 1 register int minor; @@ -592,7 +598,7 @@ int scsiop(void) return 0; } -void my_compactflash_in(SDEV *device, char c) +void compactflash_rx_handler(SDEV *device, char c) { static char state = 0; static char *dest; @@ -728,87 +734,6 @@ void my_compactflash_in(SDEV *device, char c) } } -void my_touchscreen_in(SDEV *device, char c) - { - static char state = 0; - static unsigned char message[8]; - - message[state] = c; - - switch (state) - { - - case 0: - switch (c) - { - - case 0x1b: - state++; - break; - - default: -#if 1 - (*tty_vector[6])(6, c); -#else - tty_inproc(2, c); -#endif - break; - - } - break; - - case 1: - if (c == 'T') - { - state++; - } - else - { - state = 0; - } - break; - - case 2: /* hour */ - case 3: /* mins */ - case 4: /* secs */ - case 5: /* month */ - case 6: /* day */ - state++; - break; - - case 7: /* year-1980 */ - tod.t_time = ((int)message[4] >> 1) | - ((int)message[3] << 5) | - ((int)message[2] << 11); - - tod.t_date = (int)message[6] | - ((int)message[5] << 5) | - ((int)message[7] << 9); - - state = 0; - break; - } - } - -void sttime(time_t *tvec) - { - char message[8]; - - message[0] = 0x1b; - message[1] = 'T'; - message[2] = (tvec->t_time >> 11) & 0x1f; /* hour */ - message[3] = (tvec->t_time >> 5) & 0x3f; /* mins */ - message[4] = (tvec->t_time << 1) & 0x3f; /* secs */ - message[5] = (tvec->t_date >> 5) & 0xf; /* month */ - message[6] = tvec->t_date & 0x1f; /* day */ - message[7] = (tvec->t_date >> 9) & 0x3f; /* year */ - - if (K_Put_Str_Wait(5, message, 8, 0x1000) != K_OK) - { - panic("can't sttime"); - } - } - void hostname_setup(void) { register char i, j; diff --git a/src/kernel/uzi/main.c.org b/src/kernel/uzi/main.c.org new file mode 100644 index 00000000..229c500f --- /dev/null +++ b/src/kernel/uzi/main.c.org @@ -0,0 +1,832 @@ +/* main.c for uzi180 by Nick - initialises CMX and then starts UZI as a task */ + +/* #define POLLED */ /* causes console I/O to be output via abyte() */ + +#include "vendor.h" /* Nick, must come first */ +#include +#include +#include +#include +#include +#include +#include "devtty.h" + +void asci0_setup(void); +void asci1_setup(void); +void escc0_setup(void); +void escc1_setup(void); +void apibus_setup(void); +void apibus_priority(char command); +void timer0_setup(void); /* initializes timer 3, for CMX tick */ + +extern char osBank; /* defined in machasm */ +/* extern int root_dev; /* should be dev_t */ /* defined in extern.h */ + +/* extern char silly; */ /* Nick, very silly !! */ +extern char rom_serial_no[]; /* 5 digits (leading space padded) plus null */ + +#if 1 /* Nick UZIX compatible */ +char UZIX[14]="UZI180"; /* Nick "UZIX"; should be 13 chars or fewer */ +char HOST[14]="sn00000"; /* Nick kdata.k_host should be 13 chars or fewer */ +#endif + +byte uzi_slot; /* UZI task global slot number */ +extern void initsys(void); /* start of the UZI task's code */ + +extern char cmdblk[8]; /* for scsiop(), defined in devhd.c */ +extern long hd_offset; +extern long hd_sector; +extern char *dptr; +extern int dlen; +extern char *cptr; +extern int busid; + +void main(int argc, char **argv); +void timer0_handler(void); +#if 0 /* Nick, see kprintf.c */ +void kprintf(char *fmt, ...); +#endif +void kputchar(char c); +void puts(char *s); +void _putc(int minor, char c); +void tty_inproc(int minor, char c); /* in devtty.c */ +void my_tty_inproc(SDEV *device, char c); +#if 0 +void my_tty_inproc5(SDEV *device, char c); +#endif +#if 0 /* Nick, see kprintf.c */ +char *itob(int n, char *s, int base); +#endif +void bzero(char *ptr, int count); +void bcopy(char *src, char *dest, int count); +int int_min(int a, int b); +int int_max(int a, int b); +int scsiop(void); +void my_compactflash_in(SDEV *device, char c); +void my_touchscreen_in(SDEV *device, char c); +void sttime(time_t *tvec); +void hostname_setup(void); + +#if 0 +tcbpointer compactflash_tcbptr; /* must be initialised to NULL by runtime!! */ +#else +char compactflash_enable; /* must be initialised to 0 by runtime!! */ +#endif + +#if 0 +byte t0_cnt; /* used by interrupt, for counter */ +byte go_ahead; /* used by interrupt, to determine when to send messages */ + +char int_mesg[] = {"interrupt mesg"}; /* message that interrupt will send */ +#endif + +#if 0 +void initsysx(void) + { + while (1) + { + abyte ('#'); + } + } +#endif + +void main(int argc, char **argv) + { +#if 1 + int i; +#endif + byte status; + + /* abyte('C'); */ + +#if 1 + amess("kernel: parameters:"); + if (argc < 2) + { + amess(" none"); + } + else + { + for (i = 1; i < argc; i++) + { + abyte(' '); + amess(argv[i]); + } + } + acrlf(); + + root_dev = -1; + for (i = 1; i < argc; i++) + { + if (strlen(argv[i]) == 8 && + strncmp(argv[i], "root=hd", 7) == 0 && + (status = argv[i][7]) >= '0' && status <= '9') + { + root_dev = status - '0'; + } + } +/* abyte('a'); */ +#endif + + K_OS_Init(); /* initialize ram and things */ +/* abyte('b'); */ + K_Init_Sdevs(); /* set up serial port buffers */ +/* abyte('c'); */ + /* abyte('D'); */ + + asci0_setup(); +/* abyte('d'); */ + asci1_setup(); +/* abyte('e'); */ + escc0_setup(); +/* abyte('f'); */ + escc1_setup(); +/* abyte('g'); */ + apibus_setup(); +/* abyte('h'); */ + /* abyte('E'); */ + + /* initialise compactflash card (and synchronise WPO chip tx count) */ + K_Put_Str(10, "\x1bI", 2); +/* abyte('i'); */ + +#if 1 + K_Put_Str(1, "\r\nWelcome to Hytech CMX version 1.0\r\n", 37); +/* abyte('j'); */ + /* abyte('F'); */ +#endif + + K_Task_Create(2, &uzi_slot, initsys, 128); /* create UZI task */ + K_Task_Start(uzi_slot); /* trigger UZI task */ + + timer0_setup(); /* initialize and start timer, to produce CMX TICK */ + /* abyte('0'); */ + +#if 0 + K_Put_Str(0, "\r\nHello from Hytech CMX, serial port 0\r\n", 40); +/* K_Put_Str(1, "\r\nHello from Hytech CMX, serial port 1\r\n", 40); */ + K_Put_Str(2, "\r\nHello from Hytech CMX, serial port 2\r\n", 40); + K_Put_Str(3, "\r\nHello from Hytech CMX, serial port 3\r\n", 40); + K_Put_Str(5, "\x1bKHello from Hytech CMX, apibus port 5\r\n", 40); + K_Put_Str(6, "\x1bKHello from Hytech CMX, apibus port 6\r\n", 40); +#endif + +#if 0 + K_Put_Str(1, "\r\nPress any key to start the scheduler... ", 42); + + while (!K_Get_Char(1, &status)) + /* abyte('.') */; /* can't use CMX task blocking functions just yet */ + /* abyte('>'); */ + + K_Put_Char(1, &status); + + K_Put_Str(1, "\r\nStarting the RTOS scheduler\r\n", 31); +#endif + +#if 1 + hostname_setup(); + + K_OS_Disable_Interrupts(); + + /* redirect incoming characters on SERIAL 0 to the uzi tty handler */ + sdevs[0].rx_vector = my_tty_inproc; + sdevs[1].rx_vector = my_tty_inproc; + sdevs[2].rx_vector = my_tty_inproc; + sdevs[3].rx_vector = my_tty_inproc; + sdevs[4].rx_vector = my_tty_inproc; + sdevs[5].rx_vector = my_touchscreen_in; + sdevs[6].rx_vector = my_tty_inproc; + sdevs[7].rx_vector = my_tty_inproc; + sdevs[8].rx_vector = my_tty_inproc; + + /* redirect incoming data from CompactFlash to the uzi scsi handler */ + sdevs[10].rx_vector = my_compactflash_in; + + K_OS_Enable_Interrupts(); +#endif + + K_OS_Start(); /* enter CMX RTOS */ + } + +void timer0_handler(void) + { +#if 0 /* Nick, very temporary */ + K_OS_Tick_Update(); +#endif +#if 0 + if (go_ahead) /* see if task has enable message sending */ + { + if (++t0_cnt == 2) /* see if count = 2. */ + { + t0_cnt = 0; /* reset count */ + + /* The following allows an interrupt to use a CMX function, but + it must use it indirectly. Thus the interrupt must call + the respective CMX function with a leading 'int_' to the + function. */ + K_Intrp_Mesg_Send(0,int_mesg); + } + } +#endif + } + +#if 0 /* Nick, see kprintf.c */ +void kprintf (char *fmt, ...) +{ + register char *arg; + register char c; + int base; + char s[7], *itob(); + +/* abyte('{'); */ + arg = (char *)(&fmt+1); /* NOTE: Assumes Pointer to 2-byte Word */ +#if 0 + while (c = *fmt++) + { + kputchar(c); + } + ahexw(*(int *)arg); + abyte('}'); + return; +#endif + while (c = *fmt++) { + if (c != '%') { + kputchar (c); + continue; + } + switch (c = *fmt++) { + case 'c': kputchar (*arg++); arg++; /* for IAR compiler */ + continue; + case 'd': base = -10; + goto prt; + case 'o': base = 8; + goto prt; + case 'u': base = 10; + goto prt; + case 'p': /* Nick */ + case 'x': base = 16; + prt: + puts (itob (*(int *)arg, s, base)); + arg++; arg++; /* NOTE: for Size of Word Ptr */ + continue; + case 's': puts (*(char **)arg); + arg++; arg++; /* NOTE: for Size of Word Ptr */ + continue; + default: kputchar (c); + continue; + } + } +/* abyte('}'); */ +} +#endif + +void kputchar(char c) + { + if (c == '\n') +#if 0 + { + abyte('\r'); + } + abyte(c); +#else + { + _putc(0, '\r'); /* Use default TTY, minor=0 */ + } + _putc(0, c); +#endif + } + +void puts(char *s) + { + while (*s) + { + kputchar(*s++); + } + } + +void _putc(int minor, char c) + { +#ifdef POLLED + if (minor == 0 || minor == 2) + { + abyte(c); +#else + if (minor == 0) + { + K_Put_Char_Wait(1, &c, 0x1000); +#endif + } + else + { + K_Put_Char_Wait(minor - 1, &c, 0x1000); + } + } + +void my_tty_inproc(SDEV *device, char c) + { +#if 1 + register int minor; + + minor = device->port + 1; + (*tty_vector[minor])(minor, c); +#else + tty_inproc(1, c); +#endif + } + +#if 0 +void my_tty_inproc5(SDEV *device, char c) + { + tty_inproc(2, c); + } +#endif + +#if 0 /* Nick, see kprintf.c */ +#define TRUE 1 +#define FALSE 0 + +/* convert an integer to a string in any base (2-36) */ +char *itob (int n, char *s, int base) + { + register unsigned int u; + register char *p, *q; + register negative, c; + if ((n < 0) && (base == -10)) { + negative = TRUE; + u = -n; + } + else { + negative = FALSE; + u = n; + } + if (base == -10) /* Signals signed conversion */ + base = 10; + p = q = s; + do { /* Generate digits in reverse order */ + if ((*p = u % base + '0') > '9') + *p += ('A' - ('9' + 1)); + ++p; + u = u / base; + } while (u > 0); + if (negative) + *p++ = '-'; + *p = '\0'; /* Terminate the string */ + while (q < --p) { /* Reverse the digits */ + c = *q; + *q++ = *p; + *p = c; + } + return s; + } +#endif + +void bzero(ptr, count) +char *ptr; +int count; + { + while (count--) + { + *ptr++ = 0; + } + } + +void bcopy(src, dest, count) +char *src, *dest; +int count; + { + while (count--) + { + *dest++ = *src++; + } + } + +int int_min(int a, int b) +{ + return (b < a ? b : a); +} + +int int_max(int a, int b) +{ + return (b > a ? b : a); +} + +int scsiop(void) + { + register char i, k; + register unsigned int j; /* counts up to n*0x200 */ + char checksum; /* can't be register */ + int timecnt = 0x1000; + +#if 0 + if (silly == 0) + while (1) + ; +#endif + +/** abyte(':'); **/ +#if 0 /* Nick very temporary */ + if (cmdblk[1] == 'W') + return 0; +#endif + +#if DEBUG >= 2 + dprintf(2, "scsiop: %c %u+%u,%u -> 0x%x\n", cmdblk[1], + (unsigned int)hd_sector, + (unsigned int)hd_offset, + (unsigned int)cmdblk[7], + (unsigned int)dptr); +#endif + + /* check for special hd_offset indicating the ramdrive is wanted */ + if (hd_offset == 0) + { + j = ((unsigned int)cmdblk[7]) << 9; + hd_sector = 0x40000L + (hd_sector << 9); + hd_offset = (((long)osBank) << 12) + (long)dptr; + + switch(cmdblk[1]) + { + case 'R': +/* dprintf(2, "R %08lx -> %08lx, %04x\n", hd_sector, hd_offset, j); */ + copyr(hd_sector, hd_offset, j); + break; + case 'W': +/* dprintf(2, "W %08lx -> %08lx, %04x\n", hd_offset, hd_sector, j); */ + copyr(hd_offset, hd_sector, j); + break; + } + + return 0; + } + + /* at this point partitioning doesn't matter, so clobber hd_sector */ + hd_sector += hd_offset; +/** abyte('a'); **/ + + apibus_priority(0x17); /* set device 7 = priority 1 (maximum) */ + + for (i = 0; i < cmdblk[7]; i++) + { +/** abyte('b'); **/ + cmdblk[2] = hd_sector; + cmdblk[3] = hd_sector >> 8; + cmdblk[4] = hd_sector >> 16; + cmdblk[5] = hd_sector >> 24; +/** abyte('c'); **/ + cmdblk[6] = 0xff - cmdblk[5] - cmdblk[4] + - cmdblk[3] - cmdblk[2]; +/** abyte('d'); **/ + +#if 0 + /* tell transmitter task waiting. */ + compactflash_tcbptr = activetcb; +#else + compactflash_enable = 1; /* prepare to receive esc sequence */ +#endif + +/* abyte('&'); */ + switch(cmdblk[1]) + { + + case 'R': +/** abyte('e'); **/ + if (K_Put_Str_Wait(10, cmdblk, 7, timecnt) != K_OK) + { +/** abyte('f'); **/ + /* set device 7 = priority 7 (minimum) */ + apibus_priority(0x77); + + return 1; + } +/** abyte('g'); **/ + break; + + case 'W': + if (K_Put_Str_Wait(10, cmdblk, 6, timecnt) != K_OK) + { + /* set device 7 = priority 7 (minimum) */ + apibus_priority(0x77); + + return 1; + } + + checksum = cmdblk[6]; + for (j = 0; j < 0x200; j += 0x20) + { + if (K_Put_Str_Wait(10, dptr + j, 0x20, timecnt) + != K_OK) + { + /* set device 7 = priority 7 (min) */ + apibus_priority(0x77); + + return 1; + } + for (k = 0; k < 0x20; k++) + { + checksum -= dptr[j + k]; + } +/* abyte('.'); */ + } + + if (K_Put_Char_Wait(10, &checksum, timecnt) != K_OK) + { + /* set device 7 = priority 7 (minimum) */ + apibus_priority(0x77); + + return 1; + } + break; + + } + +/* abyte('*'); */ +#if 0 + K_I_Disable_Sched(); /* set task block. */ + + /* see if still waiting for a response */ + K_OS_Disable_Interrupts(); /* DISABLE INTERRUPTS. */ + if (compactflash_tcbptr != NULL) + { + if (timecnt) /* wait on time too? */ + { + /* put task to sleep, indicating why */ + activetcb->tcbstate = WAIT | TIME; + } + else + { + /* put task to sleep, indicating why */ + activetcb->tcbstate = WAIT; + } + K_OS_Enable_Interrupts(); /* RE-ENABLE INTERRUPTS */ + + K_I_Insert_Link(timecnt); /* insert it into time link. */ + compactflash_tcbptr = NULL; /* task will return to here. */ + + K_I_Disable_Sched(); /* set task block. */ + if(K_I_Remove_Link()) /* remove from link. */ + { + /* set device 7 = priority 7 (minimum) */ + apibus_priority(0x77); + + K_I_Func_Return(); /* time out occurred. */ + return(K_TIMEOUT); + } + } + else + { + K_OS_Enable_Interrupts(); /* RE-ENABLE INTERRUPTS */ + } + K_I_Func_Return(); +#else + while (compactflash_enable) + ; /* rather primitive for the moment */ +#endif + + dptr += 0x200; + hd_sector++; + } +/** abyte(';'); **/ + + apibus_priority(0x77); /* set device 7 = priority 7 (minimum) */ + + return 0; + } + +void my_compactflash_in(SDEV *device, char c) + { + static char state = 0; + static char *dest; + static int count; + +#if 0 + if (compactflash_tcbptr == NULL) +#else + if (compactflash_enable == 0) +#endif + { +#if 0 + if (c == '0' || c == '1') + { + abyte(c + 6); + } +#endif + return; + } + + switch (state) + { + + case 0: + switch (c) + { + + case '0': + case '1': +#if 0 + abyte(c + 8); +#endif + break; + + case 0x1b: + state++; + break; + + } + break; + + case 1: + case 2: + case 3: + case 4: +#if 0 + if (state == 1) + { + abyte(c); + } +#endif + if (c == cmdblk[state]) + { + state++; + break; + } + state = 0; + break; + + case 5: + if (c == cmdblk[5]) + { + switch (cmdblk[1]) + { + + case 'R': + state = 6; /* reading, prepare for data xfer */ + dest = dptr; + count = 0x200; + break; + + case 'W': + state = 7; /* writing, skip data xfer step */ + break; + + default: + state = 0; /* should never get here */ + break; + + } + break; + } + state = 0; + break; + + case 6: + cmdblk[6] -= c; + *dest++ = c; +#if 0 + if ((count & 0x1f) == 0) + { + abyte('.'); + } +#endif + if (--count) + { + break; + } + state = 7; + break; + + case 7: + if (c == cmdblk[6]) + { +#if 0 + abyte('$'); +#endif +#if 0 + /* see if task waiting. */ + if (compactflash_tcbptr->tcbstate & WAIT) + { + /* yes, wake task. */ + device->xmit.tcbptr->tcbstate = RESUME; + if (compactflash_tcbptr->priority < + active_priority) + { + PREEMPTED; /*cmx_flag1 |= preempted;*/ /* yes, set preempted K_I_Scheduler flag */ + } + } + + compactflash_tcbptr = NULL; +#else + compactflash_enable = 0; /* command done ok */ +#endif + } +#if 0 + else { abyte('%'); } +#endif + /* we could also include retry stuff here */ + state = 0; + break; + + } + } + +void my_touchscreen_in(SDEV *device, char c) + { + static char state = 0; + static unsigned char message[8]; + + message[state] = c; + + switch (state) + { + + case 0: + switch (c) + { + + case 0x1b: + state++; + break; + + default: +#if 1 + (*tty_vector[6])(6, c); +#else + tty_inproc(2, c); +#endif + break; + + } + break; + + case 1: + if (c == 'T') + { + state++; + } + else + { + state = 0; + } + break; + + case 2: /* hour */ + case 3: /* mins */ + case 4: /* secs */ + case 5: /* month */ + case 6: /* day */ + state++; + break; + + case 7: /* year-1980 */ + tod.t_time = ((int)message[4] >> 1) | + ((int)message[3] << 5) | + ((int)message[2] << 11); + + tod.t_date = (int)message[6] | + ((int)message[5] << 5) | + ((int)message[7] << 9); + + state = 0; + break; + } + } + +void sttime(time_t *tvec) + { + char message[8]; + + message[0] = 0x1b; + message[1] = 'T'; + message[2] = (tvec->t_time >> 11) & 0x1f; /* hour */ + message[3] = (tvec->t_time >> 5) & 0x3f; /* mins */ + message[4] = (tvec->t_time << 1) & 0x3f; /* secs */ + message[5] = (tvec->t_date >> 5) & 0xf; /* month */ + message[6] = tvec->t_date & 0x1f; /* day */ + message[7] = (tvec->t_date >> 9) & 0x3f; /* year */ + + if (K_Put_Str_Wait(5, message, 8, 0x1000) != K_OK) + { + panic("can't sttime"); + } + } + +void hostname_setup(void) + { + register char i, j; + + for (i = 0; i < 5; i++) + { + if (rom_serial_no[i] != ' ') + { + break; + } + } + + j = 2; + while (i < 5 && rom_serial_no[i]) + { + HOST[j++] = rom_serial_no[i++]; + } + + HOST[j] = 0; + } + diff --git a/src/kernel/uzi/testsystem.c b/src/kernel/uzi/testsystem.c new file mode 100644 index 00000000..6c4ce833 --- /dev/null +++ b/src/kernel/uzi/testsystem.c @@ -0,0 +1,56 @@ +/* testsystem.c for uzi180 by Nick & Rob - initialises testsystem */ + +#include "vendor.h" /* Nick, must come first */ +#include +#include +#include +#include +#include +#include +#include "devtty.h" + +void _putc(int minor, char c); +void testsystem_rx_hook(SDEV *device, char c); +void testsystem_rx_handler(SDEV *device, char c); + +void (*save_rx_vector[PORTS])(SDEV *device, char c); + + +void testsystem_rx_handler(SDEV *device, char c) +{ + /* Do some special things */ + + /* For now, just simulate touchscreen */ + device->port = 5; + sdevs[device->port].rx_vector(device, c); +} + +void testsystem_rx_hook(SDEV *device, char c) +{ + /* For now, just echo character on serial 3 */ + _putc(4, c); + + save_rx_vector[device->port](device, c); +} + +void testsystem_init(void) +{ +#if 0 + int i; + + for (i = 0; i < PORTS; i++) + { + save_rx_vector[i] = sdevs[i].rx_vector; + } +#endif + + /* For now, the test system only operates on the touchscreen */ + save_rx_vector[5] = sdevs[5].rx_vector; + sdevs[5].rx_vector = testsystem_rx_hook; + + /* And install testsystem rx handler on serial 3 */ + save_rx_vector[3] = sdevs[3].rx_vector; + sdevs[3].rx_vector = testsystem_rx_handler; +} + + diff --git a/src/kernel/uzi/testsystem.h b/src/kernel/uzi/testsystem.h new file mode 100644 index 00000000..1e901a60 --- /dev/null +++ b/src/kernel/uzi/testsystem.h @@ -0,0 +1,4 @@ +/* testsystem.h for uzi180 - testsystem definitions and declarations */ + +extern void testsystem_init(); + diff --git a/src/kernel/uzi/touchscreen.c b/src/kernel/uzi/touchscreen.c new file mode 100644 index 00000000..31b42beb --- /dev/null +++ b/src/kernel/uzi/touchscreen.c @@ -0,0 +1,104 @@ +/* touchscreen.c for uzi180 - touchscreen handlers */ + +#include "vendor.h" /* Nick, must come first */ +#include +#include +#include +#include +#include +#include +#include "devtty.h" + +void sttime(time_t *tvec); +void touchscreen_rx_hook(SDEV *device, char c); +void (*touchscreen_save_rx_vector)(SDEV *device, char c); + + + +void touchscreen_init(void) +{ + touchscreen_save_rx_vector = sdevs[5].rx_vector; + sdevs[5].rx_vector = touchscreen_rx_hook; +} + +void touchscreen_rx_hook(SDEV *device, char c) + { + static char state = 0; + static unsigned char message[8]; + + message[state] = c; + + switch (state) + { + + case 0: + switch (c) + { + + case 0x1b: + state++; + break; + + default: +#if 1 + (*touchscreen_save_rx_vector)(device, c); +#else + tty_inproc(2, c); +#endif + break; + + } + break; + + case 1: + if (c == 'T') + { + state++; + } + else + { + state = 0; + } + break; + + case 2: /* hour */ + case 3: /* mins */ + case 4: /* secs */ + case 5: /* month */ + case 6: /* day */ + state++; + break; + + case 7: /* year-1980 */ + tod.t_time = ((int)message[4] >> 1) | + ((int)message[3] << 5) | + ((int)message[2] << 11); + + tod.t_date = (int)message[6] | + ((int)message[5] << 5) | + ((int)message[7] << 9); + + state = 0; + break; + } + } + +void sttime(time_t *tvec) + { + char message[8]; + + message[0] = 0x1b; + message[1] = 'T'; + message[2] = (tvec->t_time >> 11) & 0x1f; /* hour */ + message[3] = (tvec->t_time >> 5) & 0x3f; /* mins */ + message[4] = (tvec->t_time << 1) & 0x3f; /* secs */ + message[5] = (tvec->t_date >> 5) & 0xf; /* month */ + message[6] = tvec->t_date & 0x1f; /* day */ + message[7] = (tvec->t_date >> 9) & 0x3f; /* year */ + + if (K_Put_Str_Wait(5, message, 8, 0x1000) != K_OK) + { + panic("can't sttime"); + } + } + diff --git a/src/kernel/uzi/touchscreen.h b/src/kernel/uzi/touchscreen.h new file mode 100644 index 00000000..5bc950a1 --- /dev/null +++ b/src/kernel/uzi/touchscreen.h @@ -0,0 +1,3 @@ +/* touchscreen.h for uzi180 - touchscreen definitions and declarations */ + +extern void touchscreen_init(void); diff --git a/src/testsystem/interpreter/hyfile.cpp b/src/testsystem/interpreter/hyfile.cpp new file mode 100644 index 00000000..2661823e --- /dev/null +++ b/src/testsystem/interpreter/hyfile.cpp @@ -0,0 +1,315 @@ +// hyfile.cpp + +// ---------------------------------------------------------------------------- + +#include +#include +#include +#ifdef _MSC_VER +#include +#include +#pragma hdrstop +#else +#include +#endif +#include "hymb.h" +#include "hyfs.h" +#include "hyfile.h" + +// ---------------------------------------------------------------------------- + +int fiFileAllocate(FILETAG *pft, int iSize) + { + // zero the entire file tag item data area, avoiding leaks + memset(pft, 0, sizeof(FILETAG)); + + // allocate via the lower level wrapper, relying on the fact + // that the FILETAG structure is compatible with MBHANDLE !! + if (fiMBAlloc((MBHANDLE *) pft, iSize) == 0) + { + return FALSE; // indicates failure to allocate block + } + + // set position to start and file to null + pft->pcPosition = pft->pcBase; + pft->pcAppend = pft->pcBase; + + // say it is now allocated + return TRUE; + } + +int fiFileFree(FILETAG *pft) + { + // free via the lower level wrapper, relying on the fact + // that the FILETAG structure is compatible with MBHANDLE !! + if (fiMBFree((MBHANDLE *) pft) == 0) + { + return FALSE; // indicates failure to free block + } + + // zero the entire file tag item data area, avoiding leaks + memset(pft, 0, sizeof(FILETAG)); + + return TRUE; // indicates block freed and tag item zeroed + } + +// ---------------------------------------------------------------------------- + +int fiFileReadIn(FILETAG *pft, char *pszName) + { + int iSize; + FSHANDLE fsh; + + // zero the entire file tag item data area, avoiding leaks + memset(pft, 0, sizeof(FILETAG)); + + // attempt to open file for reading, get size + if (fiFSOpen(&fsh, pszName) == FALSE) + { + return FALSE; // probably file not found + } + iSize = filelength(fsh.iHandle); // assume can get size + +#if 0 + // sanity check for file much too large + if (iSize > 0x100000) // 1 megabyte + { + fiFSClose(&fsh); + return FALSE; + } +#endif + + // allocate heap to hold entire file + // note: simpler than the array or pool implementation, + // because the original limit, position, append info lost + if (fiFileAllocate(pft, iSize) == FALSE) + { + fiFSClose(&fsh); + return FALSE; + } + + // attempt read the exact amount of data + if (iFSRead(&fsh, pft->pcBase, iSize) != iSize) + { + fiFileFree(pft); + fiFSClose(&fsh); + return FALSE; + } + + fiFSClose(&fsh); + + // set position to start and length to length read + pft->pcPosition = pft->pcBase; + pft->pcAppend = pft->pcBase + iSize; + + return TRUE; // says we read the file + } + +int fiFileWriteOut(FILETAG *pft, char *pszName) + { + int iSize; + FSHANDLE fsh; + + // attempt to create or truncate file for writing + if (fiFSCreate(&fsh, pszName) == FALSE) + { + return FALSE; // probably directory not found + } + + // attempt to write the exact amount of data + iSize = iFileSize(pft); + if (iFSWrite(&fsh, pft->pcBase, iSize) != iSize) + { + fiFSClose(&fsh); + return FALSE; + } + + fiFSClose(&fsh); + return TRUE; // says we wrote the file + } + +// ---------------------------------------------------------------------------- + +int fiFileCopy(FILETAG *pft, FILETAG *pftIn) + { + int i, iSize; + + // zero the entire file tag item data area, avoiding leaks + memset(pft, 0, sizeof(FILETAG)); + + // allocate via the lower level wrapper, relying on the fact + // that the FILETAG structure is compatible with MBHANDLE !! + iSize = iFileSize(pftIn); + if (fiMBAlloc((MBHANDLE *) pft, iSize) == FALSE) + { + return FALSE; // indicates failure to allocate block + } + + // calculate the required adjustment, before clobbering pft! + i = pft->pcBase - pftIn->pcBase; + + // copy the entire file tag item data area, avoiding leaks + memcpy(pft, pftIn, sizeof(FILETAG)); + + // apply the required adjustment to all fields of filetag + pft->pcBase += i; + //pft->pcLimit += i; + pft->pcPosition += i; + pft->pcAppend += i; + + // another slight adjustment because the copy trims to size + pft->pcLimit = pft->pcAppend; + + // copy the data area attached to the input file tag + memcpy(pft->pcBase, pftIn->pcBase, iSize); + + return TRUE; // indicates copied and new tag item filled out + } + +int fiFileCopyPadded(FILETAG *pft, FILETAG *pftIn, int iLeft, int iRight) + { + int i, iSize; + + // zero the entire file tag item data area, avoiding leaks + memset(pft, 0, sizeof(FILETAG)); + + // allocate via the lower level wrapper, relying on the fact + // that the FILETAG structure is compatible with MBHANDLE !! + iSize = iFileSize(pftIn); + if (fiMBAlloc((MBHANDLE *) pft, iLeft + iSize + iRight) == FALSE) + { + return FALSE; // indicates failure to allocate block + } + + // calculate the required adjustment, before clobbering pft! + i = pft->pcBase - pftIn->pcBase; + + // copy the entire file tag item data area, avoiding leaks + memcpy(pft, pftIn, sizeof(FILETAG)); + + // apply the required adjustment to all fields of filetag + pft->pcBase += i; + //pft->pcLimit += i; + pft->pcPosition += iLeft + i; + pft->pcAppend += iLeft + i + iRight; + + // another slight adjustment because the copy trims to size + pft->pcLimit = pft->pcAppend; + + // copy the actual data, with padding as specified by caller + memset(pft->pcBase, 0, iLeft); + memcpy(pft->pcBase + iLeft, pftIn->pcBase, iSize); + memset(pft->pcBase + iLeft + iSize, 0, iRight); + + return TRUE; // indicates copied and new tag item filled out + } + +// ---------------------------------------------------------------------------- + +int fiFileGetLine(FILETAG *pft, char *pszLine, int iLimit, int *piCount) + { + int i; + + // indicate eof to caller + if (pft->pcPosition >= pft->pcAppend) + { + // if caller requested the length of the result, return null + if (piCount != NULL) + { + *piCount = 0; + } + + // the return value from the function indicates eof or not + return FALSE; + } + + for (i = 0; i < iLimit; i++) + { + // terminate the loop for eof + if (pft->pcPosition >= pft->pcAppend) + { + break; + } + + // terminate the loop for lf by itself + if (*pft->pcPosition == 0x0a) + { + (pft->pcPosition)++; + break; + } + + // terminate the loop for cr optionally skipping lf + if (*pft->pcPosition == 0x0d) + { + (pft->pcPosition)++; + if (*pft->pcPosition == 0x0a) + { + pft->pcPosition++; + } + break; + } + + // copy character to caller buffer + if (pszLine != NULL) + { + pszLine[i] = *pft->pcPosition; // formerly ++ + } + pft->pcPosition++; + } + + // null terminate string for caller + if (pszLine != NULL) + { + // see hyprintf.cpp, but i decided to do this differently here!! + //// sentinel is not always placed, so use the length instead !! + //// callers wishing to bodgy can use count-1 and poke their own 0 + //if (i < iCount) + // { + pszLine[i] = 0; + // } + } + + // if caller requested the length of the result, return it + if (piCount != NULL) + { + *piCount = i; + } + + // the return value from the function indicates eof or not + return TRUE; + } + +int fiFilePutLine(FILETAG *pft, char *pszLine) + { + int iTemp; + + // calculate length once + iTemp = 0; + if (pszLine != NULL) + { + iTemp = strlen(pszLine); + } + + // do not go past end of memory + if ((pft->pcPosition + iTemp + 2) > pft->pcLimit) + { + return FALSE; + } + + // copy line and crlf terminator out to heap + if (pszLine != NULL) + { + memcpy(pft->pcPosition, pszLine, iTemp); + } + memcpy(pft->pcPosition + iTemp, "\r\n", 2); + pft->pcPosition += iTemp + 2; + + // set file length possibly truncating + pft->pcAppend = pft->pcPosition; + + // say we stored a line + return TRUE; + } + +// ---------------------------------------------------------------------------- + diff --git a/src/testsystem/interpreter/hyfile.h b/src/testsystem/interpreter/hyfile.h new file mode 100644 index 00000000..c59fcf23 --- /dev/null +++ b/src/testsystem/interpreter/hyfile.h @@ -0,0 +1,122 @@ +// hyfile.h + +#ifndef _INC_HYFILE +#define _INC_HYFILE + +// ---------------------------------------------------------------------------- + +typedef struct +{ + char *pcBase; // also the handle for the malloc'd buffer + char *pcLimit; // offset just after end of malloc'd buffer + char *pcPosition; // offset of the next char to be clobbered + char *pcAppend; // offset just after end of valid char data +} FILETAG; + +// ---------------------------------------------------------------------------- + +int fiFileAllocate(FILETAG *pft, int iSize); +int fiFileFree(FILETAG *pft); + +int fiFileReadIn(FILETAG *pft, char *pszName); +int fiFileWriteOut(FILETAG *pft, char *pszName); + +int fiFileCopy(FILETAG *pft, FILETAG *pftIn); +int fiFileCopyPadded(FILETAG *pft, FILETAG *pftIn, int iLeft, int iRight); + +int fiFileGetLine(FILETAG *pft, char *pszLine, int iLimit, int *piCount); +int fiFilePutLine(FILETAG *pft, char *pszLine); + +// ---------------------------------------------------------------------------- + +inline int iFileSize(FILETAG *pft) + { + // return size in bytes, for use by FileReadIn etc family + return pft->pcAppend - pft->pcBase; // note: the trimmed size + } + +// ---------------------------------------------------------------------------- +// handy functions for the client, not important to the interface: + +#ifdef _INC_STDIO +inline void FileAllocate(FILETAG *pft, int iSize) + { + if (fiFileAllocate(pft, iSize) == FALSE) + { + printf("FileAllocate: Could not allocate 0x%08x bytes\n", iSize); + exit(1); + } + +#if DEBUG + printf("FileAllocate: " + "Allocated file 0x%08x, 0x%08x bytes\n", pft, iSize); +#endif + } + +inline void FileFree(FILETAG *pft) + { + if (fiFileFree(pft) == FALSE) + { + printf("FileFree: Could not free file 0x%08x\n", pft); + exit(1); + } + +#if DEBUG + printf("FileFree: Freed file 0x%08x\n", pft); +#endif + } + +inline void FileCopy(FILETAG *pft, FILETAG *pftIn) + { + if (fiFileCopy(pft, pftIn) == FALSE) + { + printf("FileCopy: Could not copy 0x%08x bytes\n", iFileSize(pftIn)); + exit(1); + } + } + +inline void FileCopyPadded(FILETAG *pft, FILETAG *pftIn, int iLeft, int iRight) + { + if (fiFileCopyPadded(pft, pftIn, iLeft, iRight) == FALSE) + { + printf("FileCopyPadded: Could not copy 0x%08x bytes\n", + iFileSize(pftIn) + iLeft + iRight); + exit(1); + } + } + +inline void FileReadIn(FILETAG *pft, char *pszName) + { + if (fiFileReadIn(pft, pszName) == FALSE) + { + printf("FileReadIn: Could not read %s\n", pszName); + exit(1); + } + + printf( +#if DEBUG + "FileReadIn: " +#endif + "Loaded %s, 0x%08x bytes\n", pszName, iFileSize(pft)); + } + +inline void FileWriteOut(FILETAG *pft, char *pszName) + { + if (fiFileWriteOut(pft, pszName) == FALSE) + { + printf("FileWriteOut: Could not write %s\n", pszName); + exit(1); + } + + printf( +#if DEBUG + "FileWriteOut: " +#endif + "Created %s, 0x%08x bytes\n", pszName, iFileSize(pft)); + } +#endif + +// ---------------------------------------------------------------------------- + +#endif + diff --git a/src/testsystem/interpreter/hyfs.cpp b/src/testsystem/interpreter/hyfs.cpp new file mode 100644 index 00000000..ebdf991f --- /dev/null +++ b/src/testsystem/interpreter/hyfs.cpp @@ -0,0 +1,137 @@ +// hyfs.cpp + +// ---------------------------------------------------------------------------- + +#include +#include +#include +#include +#include +#pragma hdrstop +#include "hyfs.h" + +// ---------------------------------------------------------------------------- + +void FSEntrySetup(void) + { + // for future expansion, including GetModuleFileName + } + +void FSExitCleanup(void) + { + // for future expansion + } + +// ---------------------------------------------------------------------------- + +int fiFSOpen(FSHANDLE *pfsh, char *pszName) + { + // clear filestreamtag, although we should also free name and error if + // not null, so calling convention needs to be revised (zero it for now) + memset(pfsh, 0, sizeof(FSHANDLE)); + + // set up fields to print a report on closure + //pfsh->iMode = 0; + //pfsh->iCount = 0; + + // attempt to open file or device for reading + pfsh->pszName = pszName; + pfsh->iHandle = open(pszName, O_RDONLY | O_BINARY); + if (pfsh->iHandle < 0) + { + pfsh->iError = IDS_ERROR_FS_OPEN; + return FALSE; + } + + // indicate successful operation + //pfsh->iError = 0; + return TRUE; + } + +int fiFSCreate(FSHANDLE *pfsh, char *pszName) + { + // clear filestreamtag, although we should also free name and error if + // not null, so calling convention needs to be revised (zero it for now) + memset(pfsh, 0, sizeof(FSHANDLE)); + + // set up fields to print a report on closure + pfsh->iMode = 1; + //pfsh->iCount = 0; + + // attempt to create file or open device for writing + pfsh->pszName = pszName; + pfsh->iHandle = open(pszName, O_RDWR | O_CREAT | O_TRUNC | O_BINARY, + S_IREAD | S_IWRITE); + if (pfsh->iHandle < 0) + { + pfsh->iError = IDS_ERROR_FS_CREATE; + return FALSE; + } + + // indicate successful operation + //pfsh->iError = 0; + return TRUE; + } + +int fiFSClose(FSHANDLE *pfsh) + { + int i; + + // attempt to close file, noting success + i = close(pfsh->iHandle); + if (i < 0) // check msdn + { + pfsh->iError = IDS_ERROR_FS_CLOSE; + return FALSE; + } + pfsh->iHandle = -1; // for no good reason + + // indicate successful operation + pfsh->iError = 0; + return TRUE; + } + +// ---------------------------------------------------------------------------- + +int iFSRead(FSHANDLE *pfsh, char *pcOut, int iLimit) + { + int i; + + // attempt to open file or device for reading + i = read(pfsh->iHandle, pcOut, iLimit); + if (i < 0) // check msdn + { + pfsh->iError = IDS_ERROR_FS_READ; + return 0; + } + + // maintain fields to print a report on closure + pfsh->iCount += i; + + // indicate successful operation + pfsh->iError = 0; + return i; + } + +int iFSWrite(FSHANDLE *pfsh, char *pcIn, int iLimit) + { + int i; + + // attempt to open file or device for reading + i = write(pfsh->iHandle, pcIn, iLimit); + if (i < 0) // check msdn + { + pfsh->iError = IDS_ERROR_FS_WRITE; + return 0; + } + + // maintain fields to print a report on closure + pfsh->iCount += i; + + // indicate successful operation + pfsh->iError = 0; + return i; + } + +// ---------------------------------------------------------------------------- + diff --git a/src/testsystem/interpreter/hyfs.h b/src/testsystem/interpreter/hyfs.h new file mode 100644 index 00000000..8ed943f7 --- /dev/null +++ b/src/testsystem/interpreter/hyfs.h @@ -0,0 +1,121 @@ +// hyfs.h + +#define _INC_HYFS + +// ---------------------------------------------------------------------------- + +#define IDS_ERROR_FS_OPEN 12000 +#define IDS_ERROR_FS_CREATE 12001 +#define IDS_ERROR_FS_CLOSE 12002 +#define IDS_ERROR_FS_READ 12003 +#define IDS_ERROR_FS_WRITE 12004 + +// ---------------------------------------------------------------------------- + +typedef struct + { + int iHandle; + char *pszName; + + int iMode; + int iCount; + + int iError; + char *pszError; + } FSHANDLE; + +// ---------------------------------------------------------------------------- + +void FSEntrySetup(void); +void FSExitCleanup(void); + +int fiFSOpen(FSHANDLE *pfsh, char *pszName); +int fiFSCreate(FSHANDLE *pfsh, char *pszName); +int fiFSClose(FSHANDLE *pfsh); + +int iFSRead(FSHANDLE *pfsh, char *pcOut, int iLimit); +int iFSWrite(FSHANDLE *pfsh, char *pcIn, int iLimit); + +// ---------------------------------------------------------------------------- + +inline void FSOpen(FSHANDLE *pfsh, char *pszName) + { + if (fiFSOpen(pfsh, pszName) == 0) + { + printf("FSOpen: " + "Could not open file %s for reading, exiting\n", pszName); + exit(1); + } + + printf("FSOpen: " + "Handle 0x%08x file %s opened, read mode\n", pfsh, pszName); + } + +inline void FSCreate(FSHANDLE *pfsh, char *pszName) + { + if (fiFSCreate(pfsh, pszName) == 0) + { + printf("FSCreate: " + "Could not create or truncate file %s, exiting\n", pszName); + exit(1); + } + + printf("FSCreate: " + "Handle 0x%08x file %s opened, write mode\n", pfsh, pszName); + } + +inline void FSClose(FSHANDLE *pfsh) + { + if (fiFSClose(pfsh) == 0) + { + printf("FSClose: " + "Could not close handle 0x%08x, exiting\n", pfsh); + exit(1); + } + + printf("FSClose: " + "Handle 0x%08x file %s closed, %s mode\n", + pfsh, pfsh->pszName, pfsh->iMode ? "write" : "read"); + + printf("Loaded file %s, size %d bytes\n", + pfsh->pszName, pfsh->iCount); + } + +inline void FSRead(FSHANDLE *pfsh, char *pcOut, int iLimit) + { + int iCount; + + iCount = iFSRead(pfsh, pcOut, iLimit); + if (iCount != iLimit) + { + printf("FSRead: " + "End of file, handle 0x%08x, request %d, return %d\n", + pfsh, iLimit, iCount); + exit(1); + } + + printf("FSRead: " + "Handle 0x%08x file %s read, request %d, return %d\n", + pfsh, pfsh->pszName, iLimit, iCount); + } + +inline void FSWrite(FSHANDLE *pfsh, char *pcIn, int iLimit) + { + int iCount; + + iCount = iFSWrite(pfsh, pcIn, iLimit); + if (iCount != iLimit) + { + printf("FSWrite: " + "Disk full, handle 0x%08x, request %d, return %d\n", + pfsh, iLimit, iCount); + exit(1); + } + + printf("FSWrite: " + "Handle 0x%08x file %s written, request %d, return %d\n", + pfsh, pfsh->pszName, iLimit, iCount); + } + +// ---------------------------------------------------------------------------- + diff --git a/src/testsystem/interpreter/hymb.cpp b/src/testsystem/interpreter/hymb.cpp new file mode 100644 index 00000000..bd465734 --- /dev/null +++ b/src/testsystem/interpreter/hymb.cpp @@ -0,0 +1,117 @@ +// hymb.cpp + +// ---------------------------------------------------------------------------- + +#include +#include +#pragma hdrstop +#include "hymb.h" + +// ---------------------------------------------------------------------------- + +void MBEntrySetup(void) + { + // for future expansion + } + +void MBExitCleanup(void) + { + // for future expansion + } + +// ---------------------------------------------------------------------------- + +int fiMBAlloc(MBHANDLE *pmbh, int iBytes) + { + // zero the entire memory block handle area, avoiding leaks + memset(pmbh, 0, sizeof(MBHANDLE)); + + pmbh->pcBase = (char *) malloc(iBytes); + if (pmbh->pcBase == NULL) + { + return FALSE; // indicates failure to allocate block + } + + pmbh->pcLimit = pmbh->pcBase + iBytes; + + return TRUE; // indicates success and handle set up + } + +int fiMBRealloc(MBHANDLE *pmbh, int iBytes) + { + char *pc; + + pc = (char *) realloc(pmbh->pcBase, iBytes); + if (pc == NULL) + { + return FALSE; // indicates failure to reallocate block + } + + pmbh->pcBase = pc; + pmbh->pcLimit = pmbh->pcBase + iBytes; + + return TRUE; // indicates success and handle updated + } + +int fiMBFree(MBHANDLE *pmbh) + { + if (pmbh->pcBase == NULL) + { + return FALSE; // indicates no such block allocated + } + + free(pmbh->pcBase); // this can't fail, apparently + + // zero the entire memory block handle area, avoiding leaks + memset(pmbh, 0, sizeof(MBHANDLE)); + + return TRUE; // indicates success, and handle zeroed + } + +// ---------------------------------------------------------------------------- + +#ifdef _INC_JLHANDLE +int hiMBNew(int iBytes) + { + int hi; + MBHANDLE *pmbh; + + // take a new handle, before bothering with memory + hi = hiJLHandleNew(patMBH); + pmbh = (MBHANDLE *) pcArrayElement(patMBH, 1, hi); + + // use inline wrapper to allocate the required bytes + MBAlloc(pmbh, iBytes); // this will bomb on failure + + return hi; // caller's reference is the opaque handle + } + +void MBResize(int hi, int iBytes) + { + MBHANDLE *pmbh; + + // find supplied handle, before bothering with memory + pmbh = (MBHANDLE *) pcArrayElement(patMBH, 1, hi); + + // use inline wrapper to reallocate the required bytes + MBRealloc(pmbh, iBytes); // this will bomb on failure + } + +void MBDelete(int hi) + { + // find supplied handle, before bothering with memory + pmbh = (MBHANDLE *) pcArrayElement(patMBH, 1, hi); + + // use inline wrapper to free up the allocated memory + MBFree(pmbh); // this will bomb on failure (null pcBase) + } + +int hiMBDelete(int hi) + { + MBDelete(hi); + return 0; // handy way for caller to zero out its copy of handle + } +#endif + +// ---------------------------------------------------------------------------- + diff --git a/src/testsystem/interpreter/hymb.h b/src/testsystem/interpreter/hymb.h new file mode 100644 index 00000000..66d4e641 --- /dev/null +++ b/src/testsystem/interpreter/hymb.h @@ -0,0 +1,95 @@ +// hymb.h + +#ifndef _INC_HYMB +#define _INC_HYMB + +// ---------------------------------------------------------------------------- + +typedef struct + { + char *pcBase; // also the 'handle' for malloc & free + char *pcLimit; // similar to Microsoft's _msize func. + } MBHANDLE; + +// ---------------------------------------------------------------------------- + +#ifdef _INC_JLHANDLE +// the optional registration of allocated memory blocks is based on a handle +// system identical to JLHANDLE.CPP, see comments for atJLHandle, patJLH etc + +extern ARRAYTAG atMBHandle; + +extern int hiMBHandleFree; // to head of most recently used free handles list +extern ARRAYTAG *patMBH; // patMBH is slightly more readable than &atMBHandle +#endif + +// ---------------------------------------------------------------------------- + +void MBEntrySetup(void); +void MBExitCleanup(void); + +int fiMBAlloc(MBHANDLE *pmbh, int iBytes); +int fiMBRealloc(MBHANDLE *pmbh, int iBytes); +int fiMBFree(MBHANDLE *pmbh); + +// ---------------------------------------------------------------------------- + +inline int iMBSize(MBHANDLE *pmbh) + { + return pmbh->pcLimit - pmbh->pcBase; + } + +// ---------------------------------------------------------------------------- +// handy functions for the client, not important to the interface: + +#ifdef _INC_STDIO +inline void MBAlloc(MBHANDLE *pmbh, int iBytes) + { + if (fiMBAlloc(pmbh, iBytes) == FALSE) + { + printf("MBAlloc: " + "Could not allocate 0x%08x bytes, exiting\n", iBytes); + exit(1); + } + +#if DEBUG + printf("MBAlloc: " + "Allocated memory block 0x%08x size 0x%08x\n", pmbh, iBytes); +#endif + } + +inline void MBRealloc(MBHANDLE *pmbh, int iBytes) + { + if (fiMBRealloc(pmbh, iBytes) == FALSE) + { + printf("MBRealloc: " + "Could not reallocate 0x%08x bytes, exiting\n", iBytes); + exit(1); + } + +#if DEBUG + printf("MBRealloc: " + "Reallocated memory block 0x%08x size 0x%08x\n", pmbh, iBytes); +#endif + } + +inline void MBFree(MBHANDLE *pmbh) + { + if (fiMBFree(pmbh) == FALSE) + { + printf("MBFree: " + "Could not free memory block 0x%08x, exiting\n", pmbh); + exit(1); + } + +#if DEBUG + printf("MBFree: " + "Freed memory block 0x%08x\n", pmbh); +#endif + } +#endif + +// ---------------------------------------------------------------------------- + +#endif + diff --git a/src/testsystem/interpreter/n.bat b/src/testsystem/interpreter/n.bat new file mode 100644 index 00000000..2bd99a30 --- /dev/null +++ b/src/testsystem/interpreter/n.bat @@ -0,0 +1,10 @@ +cl -Zi -I. -DDEBUG=9 testscr.cpp hystring.cpp hyfile.cpp hyfs.cpp hymb.cpp +@if errorlevel 1 goto failure +copy testscr.exe ..\bin + +@echo SUCCESS +@goto done +:failure +@echo FAILURE +:done + diff --git a/src/testsystem/interpreter/n.sh b/src/testsystem/interpreter/n.sh new file mode 100644 index 00000000..204ec2c4 --- /dev/null +++ b/src/testsystem/interpreter/n.sh @@ -0,0 +1,2 @@ +#!/bin/sh +gcc testscr.cpp hyfile.cpp hyfs.cpp hymb.cpp -o testscr diff --git a/src/testsystem/interpreter/testscr.cpp b/src/testsystem/interpreter/testscr.cpp new file mode 100644 index 00000000..a8ae2c0f --- /dev/null +++ b/src/testsystem/interpreter/testscr.cpp @@ -0,0 +1,252 @@ +// hfmtool.cpp by Nick for Hytech Font Metrics system + +// ---------------------------------------------------------------------------- + +#include +#include +#include +#include +#include +#pragma hdrstop + +#ifndef DEBUG +#define DEBUG 0 +#endif + +#include "hymb.h" +#include "hyfs.h" +#include "hyfile.h" +#include "hystring.h" + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +// ---------------------------------------------------------------------------- +// local preprocessor definitions + +#define LINE_MAX 0x200 +//#define PATH_MAX 0x200 + +#define OUTPUT_BUFFER 0x10000 // to create output files of up to 64 kbytes + +#define ARGUMENT_MAX 0x100 // the maximum number of arguments per command + +// ---------------------------------------------------------------------------- +// local struct and type definitions + +typedef struct + { + char *pszVerb; + int (*pfiHandler)(int argc, char **argv); + } VERBTAG; + +// ---------------------------------------------------------------------------- +// local function prototypes + +int main(int argc, char **argv); + +static int fiExecute(FILETAG *ftIn); + +static int iExampleVerb(int argc, char **argv); + +// ---------------------------------------------------------------------------- +// global variables + +VERBTAG vtVerb[] = + { + { "example_verb", iExampleVerb } + }; + +#define VERBS (sizeof(vtVerb) / sizeof(VERBTAG)) + +#if DEBUG +int fiDebug; // this one is really accessible to all modules +#endif + +// ---------------------------------------------------------------------------- + +int main(int argc, char **argv) + { + int i; + + FILETAG ftIn; + char *pszInFileName; + + FILETAG ftOut; + char *pszOutFileName; + char szOutFileName[LINE_MAX+1]; + + pszInFileName = NULL; + pszOutFileName = NULL; + + if (argc > 1) + { + pszInFileName = argv[1]; + } + +#if DEBUG + fiDebug = 0; +#endif + if (argc > 2) + { +#if DEBUG + i = atoi(argv[2]); + if (i < 1 || i > 0xff) + { +#endif + pszOutFileName = argv[2]; +#if DEBUG + if (argc > 3) + { + fiDebug = atoi(argv[3]); + } + } + else + { + fiDebug = i; + } +#endif + } + + if (pszInFileName == NULL) + { + printf("usage: testscr infile.txt [outfile.log]" +#if DEBUG + " [debuglevel]" +#endif + "\n"); + exit(1); + } + + if (pszOutFileName == NULL) + { + pszOutFileName = szOutFileName; + strcpy(pszOutFileName, pszInFileName); + + i = strlen(pszOutFileName); + while (i--) + { + if (pszOutFileName[i] == '\\') + { + break; /* no extension, so don't strip it */ + } + if (pszOutFileName[i] == '.') + { + pszOutFileName[i] = 0; /* strip dot and extension */ + break; /* ready to concatenate our extension */ + } + } + + strcat(pszOutFileName, ".log"); + } + + if (!strcmp(pszInFileName, pszOutFileName)) + { + printf("Input and output filenames identical\n"); + exit(1); + } + + // read the input txt file entirely to a malloc'd block + FileReadIn(&ftIn, pszInFileName); + + // interpret commands and construct intermediate files + if (fiExecute(&ftIn) == FALSE) + { + exit(1); + } + + fiFilePutLine(&ftOut, "this is some sample data"); + + // ready to write the output we found + FileWriteOut(&ftOut, pszOutFileName); + + return 0; + } + +// ---------------------------------------------------------------------------- + +static int fiExecute(FILETAG *pftIn) + { + int i; + char sz[LINE_MAX+1]; + int argc; + char *argv[ARGUMENT_MAX]; + int iSize, iSizeArg; + char *pcArg; + + // execute the user's script file (similar to unix shell) + while (fiFileGetLine(pftIn, sz, sizeof(sz) - 1, &iSize)) + { + argc = 0; + + i = iStringIsolate(0, sz, iSize, &pcArg, &iSizeArg); + while (iSizeArg && argc < ARGUMENT_MAX) + { + argv[argc++] = pcArg; // stash reference to string + pcArg[iSizeArg] = 0; // add null terminator + + i = iStringIsolate(i + 1, sz, iSize, + &pcArg, &iSizeArg); + } + + if (argc < 1 || argv[0][0] == '#') + { + continue; // comments and blank file lines ignored + } + +#if DEBUG + for (i = 0; i < argc; i++) + { + printf("Argument %d = \"%s\"\n", i, argv[i]); + } +#endif + + for (i = 0; i < VERBS; i++) + { + if (strcmp(argv[0], vtVerb[i].pszVerb) == 0) + { + break; + } + } + + if (i >= VERBS) + { + printf("Unrecognised command \"%s\"\n", argv[0]); + return FALSE; + } + + i = (vtVerb[i].pfiHandler)(argc, argv); +#if DEBUG + printf("Exitcode = %d\n", i); +#endif + if (i) + { + printf("Command \"%s\" reports failure\n", argv[0]); + return FALSE; + } + } + + return TRUE; + } + +// ---------------------------------------------------------------------------- + +int iExampleVerb(int argc, char **argv) + { + if (argc < 2) + { + printf("usage: blah blah\n"); + return 1; + } + + printf("your argument was %s\n", argv[1]); + return 0; + } + +// ---------------------------------------------------------------------------- + diff --git a/src/testsystem/n.sh b/src/testsystem/n.sh new file mode 100644 index 00000000..4bc77d95 --- /dev/null +++ b/src/testsystem/n.sh @@ -0,0 +1,2 @@ +#!/bin/sh +gcc -g -DPOSIX_TERMIOS testter.c -o testter diff --git a/src/testsystem/testter.c b/src/testsystem/testter.c new file mode 100644 index 00000000..35721526 --- /dev/null +++ b/src/testsystem/testter.c @@ -0,0 +1,319 @@ +/* ter.c for uzi180 by Nick */ + +#include +#include +#ifdef POSIX_TERMIOS +#include +#else +#include +#endif +#include + +#include +#include + +/* ------------------------------------------------------------------------- */ +/* definitions */ + +#define BUFFER 0x80 + +/* ------------------------------------------------------------------------- */ +/* prototypes */ + +void process_esc(char *buf, int *count); +void exit_error(char *mess1, char *mess2); +void exit_restore(void); +void entry_setup(void); +int main(int argc, char **argv); + +/* ------------------------------------------------------------------------- */ +/* global variables */ + +int fd_in, fd_out, fd_ter, fd_file; +char *pname; +char usage[80]; +#ifdef POSIX_TERMIOS +struct termios state_in, state_ter; +#else +int raw_in, raw_ter; +#endif + +/* ------------------------------------------------------------------------- */ + +void exit_error(char *mess1, char *mess2) +{ + char header[20]; + exit_restore(); + sprintf(header, "%s: ", pname); + write(fileno(stderr), header, strlen(header)); + write(fileno(stderr), mess1, strlen(mess1)); + perror(mess2); + exit(1); +} + +void exit_restore(void) + { +#ifdef POSIX_TERMIOS + struct termios state; +#else + struct sgttyb state; +#endif + + if (fd_in >= 0 && isatty(fd_in)) + { +#ifdef POSIX_TERMIOS + tcsetattr(fd_in, TCSADRAIN, &state_in); +#else + gtty(fd_in, &state); + state.sg_flags = raw_in; + stty(fd_in, &state); +#endif + } + + if (fd_ter >= 0 && isatty(fd_ter)) + { +#ifdef POSIX_TERMIOS + tcsetattr(fd_ter, TCSADRAIN, &state_ter); +#else + gtty(fd_ter, &state); + state.sg_flags = raw_ter; + stty(fd_ter, &state); +#endif + close(fd_ter); + close(fd_file); + } + } + +void entry_setup(void) + { +#ifdef POSIX_TERMIOS + struct termios state; +#else + struct sgttyb state; +#endif + + fd_in = fileno(stdin); + fd_out = fileno(stdout); + + if (isatty(fd_in)) + { +#ifdef POSIX_TERMIOS + tcgetattr(fd_in, &state); + memcpy(&state_in, &state, sizeof(struct termios)); + state.c_iflag &= (IGNBRK | IGNCR | INLCR | ICRNL | IUCLC | + IXANY | IXON | IXOFF | INPCK | ISTRIP); + state.c_iflag |= (BRKINT | IGNPAR); + state.c_oflag &= ~OPOST; + state.c_lflag &= ~(XCASE | ECHONL | NOFLSH | + ICANON | ISIG | ECHO); + state.c_cflag |= CREAD; + state.c_cc[VTIME] = 5; + state.c_cc[VMIN] = 1; + tcsetattr(fd_in, TCSADRAIN, &state); + tcsetattr(fd_in, TCSADRAIN, &state); + +#else + gtty(fd_in, &state); + raw_in = state.sg_flags; + state.sg_flags = RAW | UNBUFF; + stty(fd_in, &state); +#endif + } + + if (isatty(fd_ter)) + { +#ifdef POSIX_TERMIOS + tcgetattr(fd_ter, &state); + memcpy(&state_ter, &state, sizeof(struct termios)); + +#if 0 + state.c_iflag &= (IGNBRK | IGNCR | INLCR | ICRNL | IUCLC | + IXANY | IXON | IXOFF | INPCK | ISTRIP); + state.c_iflag |= (BRKINT | IGNPAR); + state.c_oflag &= ~OPOST; + state.c_lflag &= ~(XCASE | ECHONL | NOFLSH | + ICANON | ISIG | ECHO); + state.c_cflag |= CREAD; + state.c_cc[VTIME] = 5; + state.c_cc[VMIN] = 1; + +#endif + cfmakeraw(&state); + //tcsetattr(fd_ter, TCSADRAIN, &state); + tcsetattr(fd_ter, TCSANOW, &state); +#else + gtty(fd_ter, &state); + raw_ter = state.sg_flags; + state.sg_flags = RAW | UNBUFF; + stty(fd_ter, &state); +#endif + } + } + +void process_esc(char *buf, int *count) + { + switch (buf[0]) + { + case 'x': + case 'X': + exit_restore(); + fprintf(stderr, "\n%s: exiting\n", pname); + exit(0); + + case 0x1b: + return; /* with count = 1, so as to write it */ + + default: + *count = 0; + return; + } + } + +int main(int argc, char **argv) +{ + int escflag, count; + char buf[BUFFER]; + + pname = argv[0]; + + sprintf(usage, "usage: %s -r|-p devicename filename", pname); + + if (argc < 4) + { + printf("%s\n", usage); + exit(1); + } + + fd_in = -1; + fd_out = -1; + + fd_ter = open(argv[2], O_RDWR); + if (fd_ter < 0) + { + exit_error("can't open ", argv[1]); + } + + entry_setup(); + + escflag = 0; + + if (!strcmp("-p", argv[1])) + { + /* + * PLAYBACK + */ + fd_file = open(argv[3], O_RDONLY); + + if (fd_file < 0) + { + exit_error("can't open ", argv[3]); + } + + count = read(fd_file, buf, BUFFER); + if (count < 0) + { + exit_error("can't read ", argv[3]); + } + + if (count) + { + int i; + + for (i = 0; i < count; i++) + { + struct timeval t; + + t.tv_sec = 0; + t.tv_usec = 100000; /* 100ms */ + + if (write(fd_ter, &buf[i], 1) != 1) + { + exit_error("can't write ", argv[2]); + } + + /* + * A little delay to give the character just + * written time to be transmitted + */ + (void)select(0, NULL, NULL, NULL, &t); + } + } + + } + else if (!strcmp("-r", argv[1])) + { + /* + * RECORD + */ + fprintf(stderr, "%s: ready\n", pname); + fflush(stderr); + + fd_file = open(argv[3], O_WRONLY|O_CREAT); + + if (fd_file < 0) + { + exit_error("can't open ", argv[3]); + } + + while (1) + { + fd_set readfds; + int fdmax, fdrdy; + + FD_ZERO(&readfds); + FD_SET(fd_in, &readfds); + FD_SET(fd_ter, &readfds); + + fdmax = fd_in > fd_ter ? fd_in : fd_ter; + fdrdy = select(fdmax+1, &readfds, NULL, NULL, NULL); + + if (fdrdy < 0) + { + exit_error("can't select on read ", "select"); + } + + if (FD_ISSET(fd_in, &readfds)) + { + exit_restore(); + fprintf(stderr, "%s: exiting\n", pname); + exit(0); + } + + if (FD_ISSET(fd_ter, &readfds)) + { + count = read(fd_ter, buf, BUFFER); + if (count < 0) + { + exit_error("can't read ", argv[1]); + } + + if (count) + { + if (write(fd_out, buf, count) != count) + { + exit_error("can't write ", "stdout"); + } + + if (write(fd_file, buf, count) != count) + { + exit_error("can't write ", argv[3]); + } + } + } + } + } + else + { + exit_restore(); + printf("%s\n", usage); + exit(1); + } + + exit_restore(); + fprintf(stderr, "%s: ready\n", pname); + close(fd_ter); + close(fd_file); + exit(0); +} + +/* ------------------------------------------------------------------------- */ diff --git a/uzi.bat b/uzi.bat index 5b0247aa..5a0a0f95 100644 --- a/uzi.bat +++ b/uzi.bat @@ -1,2 +1,2 @@ -pkzipc -add=update -path=relative -recurse -excl=junk -excl=dev-* -excl=build -excl=build-b -excl=build-l -excl=*.s01 -excl=*.lst -excl=*.i86 -excl=*.rst -excl=*.obj -excl=*.pdb -excl=*.ilk uzi * +pkzipc -add=update -path=relative -recurse -excl=junk -excl=dev-* -excl=build -excl=build-b -excl=build-l -excl=*.pdb -excl=*.ilk uzi * xcopy uzi.zip \\redhat\nick diff --git a/uzipatch.bat b/uzipatch.bat new file mode 100644 index 00000000..484710f4 --- /dev/null +++ b/uzipatch.bat @@ -0,0 +1,2 @@ +pkzipc -add=update -path=relative -recurse -excl=junk -excl=dev-* -excl=build -excl=build-b -excl=build-l -excl=*.pdb -excl=*.ilk uzipatch * +xcopy uzipatch.zip \\redhat\nick -- 2.34.1