diff --git a/README.md b/README.md index e5b63bb..af3067f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ This repository contains documents related to the YARM thesis at the HTBLuVA Innsbruck Anichstrasse. + # LICENSE This thesis is licensed for use under the Creative Commons BY 4.0 License as diff --git a/code/textadv/bin/mc.elf b/code/textadv/bin/mc.elf index c71351a..8219c20 100755 Binary files a/code/textadv/bin/mc.elf and b/code/textadv/bin/mc.elf differ diff --git a/code/textadv/bin/mc.hex b/code/textadv/bin/mc.hex index 790f610..4e32a4d 100644 --- a/code/textadv/bin/mc.hex +++ b/code/textadv/bin/mc.hex @@ -1,18 +1,18 @@ -:100000000C9432040C9462040C9462040C94620408 -:100010000C9462040C9462040C9462040C946204C8 -:100020000C9462040C9462040C9462040C946204B8 -:100030000C9462040C9462040C9462040C946204A8 -:100040000C9462040C9462040C9462040C94620498 -:100050000C9462040C9494060C9462040C94620454 -:100060000C9462040C9462040C9462040C94620478 -:100070000C9462040C9462040C9462040C94620468 -:100080000C9462040C9462040C9462040C94620458 -:100090000C9462040C9462040C9462040C94620448 -:1000A0000C9462040C9462040C9462040C94620438 -:1000B0000C9462040C9462040C9462040C94620428 -:1000C0000C9462040C9462040C9462040C94620418 -:1000D0000C9462040C9462040C9462040C94620408 -:1000E0000C9462040C94DA0402FDFFC80002FCFFC9 +:100000000C9482040C94B2040C94B2040C94B204C8 +:100010000C94B2040C94B2040C94B2040C94B20488 +:100020000C94B2040C94B2040C94B2040C94B20478 +:100030000C94B2040C94B2040C94B2040C94B20468 +:100040000C94B2040C94B2040C94B2040C94B20458 +:100050000C94B2040C9477070C94B2040C94B20480 +:100060000C94B2040C94B2040C94B2040C94B20438 +:100070000C94B2040C94B2040C94B2040C94B20428 +:100080000C94B2040C94B2040C94B2040C94B20418 +:100090000C94B2040C94B2040C94B2040C94B20408 +:1000A0000C94B2040C94B2040C94B2040C94B204F8 +:1000B0000C94B2040C94B2040C94B2040C94B204E8 +:1000C0000C94B2040C94B2040C94B2040C94B204D8 +:1000D0000C94B2040C94B2040C94B2040C94B204C8 +:1000E0000C94B2040C942A0502FDFFC80002FCFF28 :1000F000C80002FBFFC80002FDFFC80002FCFFC8E9 :100100000002FBFFC80002FDFFC80002FCFFC800A0 :1001100002FBFFC80002FDFFC80002FCFFC800028E @@ -20,356 +20,396 @@ :10013000FFC80002FDFFC80002FCFFC80002FBFF71 :10014000C80002FDFFC80002FCFFC80002FBFFC898 :100150000002FDFFC80002FCFFC80002FBFFC80050 -:1001600002FDFFC80002FCFFC80002FBFFC800023E -:10017000FDFFC80002FCFFC80002FBFFC80002FD33 -:10018000FFC80002FCFFC80002FBFFC80002FDFF21 -:10019000C80002FCFFC80002FBFFC80002FDFF9080 -:1001A0000102FCFF900102FBFF900102FDFF9001A4 -:1001B00002FCFF900102FBFF900102FDFF20030201 -:1001C000FCFF840302FBFFE803020000640004005C -:1001D000006400030000C800020000640004000086 -:1001E0006400010000C80001000064000400006415 -:1001F00000010000C80002000064000000000000D0 -:100200000200006400020A006400020000640002B0 -:100210000A0064000200006400040000C800010A33 -:1002200000320001F6FF3200010A00320001F6FF41 -:1002300032000200006400020A0064000200006450 -:1002400000020A0064000200006400040000C8000C -:10025000010A00320001F6FF3200010A00320001FB -:10026000F6FF32000200006400020A00640002008F -:10027000006400020A006400020000640004000040 -:10028000C800010A00320001F6FF3200010A003204 -:100290000001F6FF32000200006400020A00640060 -:1002A0000200006400020A0064000200006400040E -:1002B0000000C800010A00320001F6FF3200010A06 -:1002C00000320001F6FF32000200006400020A0062 -:1002D00064000200006400020A006400020000647E -:1002E00000040000C800010A00320001F6FF3200DD -:1002F000010A00320001F6FF320002FEFF64000234 -:100300000800640002FEFF6400020800640002FEB0 -:10031000FF6400040000C800010C00320001F8FF77 -:100320003200010C00320001F8FF320002FDFF64D0 -:1003300000020700640002FDFF6400020700640081 -:1003400002FDFF6400040000C800010D003200013E -:10035000F9FF3200010D00320001F9FF3200000008 -:10036000000000300C03DF31FA2B78D5D86C29451A -:10037000A1026969918D6571B843DEF2F6786E1D50 -:10038000BF344ECB382EFD3259750732E2317784B7 -:1003900033E1EDC56E5236279615198D8D88AB4D1C -:1003A000BCF918F5271627818C2FB46E602BF294B8 -:1003B0000CE0597B338FA3C9A4BD573245027F029D -:1003C000FB98F723AE1EA53A4D59A9AE849B4291E6 -:1003D0007C9B0CB02BB07ACF6DD102B2D381B4CE5E -:1003E00019ACF2C7CB970218F0ABC774470906C423 -:1003F000A51374D0C3EEA030BFA2E2922497613D52 -:100400004453050FEA0728DAB3EF4FFAF955BE9FB8 -:1004100068336F2B21105CE0B23F73D6D7D4141B26 -:10042000271A2A122153ECD5423CCF3C918EDBFA9D -:10043000C24B26E35B82C40EC137E5980BFAB43396 -:1004400014DE453631320B746EDBB1006A8CFA2C47 -:10045000D7210F33A3D342650A27FE1621B24935AF -:10046000918E6BC3C077382E52E92FBC7629E84DA8 -:100470004BF781EFCBC354D5EB53EC0D06354398C6 -:10048000C3AF5B842694B3787DE235F30C1D4157EE -:1004900015C346E0879BB672EEA37FF5D8C28D9C4C -:1004A00072E920987DD311FBB546EFC1643119790B -:1004B000F45F5A7BFA11EEE9B46EDE8C316C29A33D -:1004C00055493BD31C4DCED293BE94F7EFAD71E4AA -:1004D0000DCC6008DD4EF192BCD01FED3C489092EF -:1004E00091CC65AE193481ADF215A5E2C317C6D023 -:1004F000E327D8C175CA53329B721FD8BBB06A4D6F -:100500007DD0FB97047D45F793EAD95601A027E4F7 -:10051000C700A53DCBF96F666C8F3F2740A974BE1D -:100520007A70557FEE9A76818550D787F1FF6BB947 -:10053000FF11F7CA0B673177F7709F371A14F694DB -:10054000854B1373E68AF46CDBCBF3CCCB5F86CAA6 -:10055000717D957CE4C6F4DC36931350A70AE52D33 -:1005600055F9A03C8394A95F609C2B2BFCB2F66DDF -:10057000308BE91451DEF0887104D8190EBE466440 -:10058000B7E6A13B7B4A9ADBE7C607E378FD51A8B3 -:10059000883BBDDA19AE628AB33AA4C2F9EB26B041 -:1005A000D2C8EC4D138629FA4D30DEC62E2F6FB619 -:1005B0006A2D9083DBF20E8F2DB351279E78D87170 -:1005C00040C4BE544BE84E98182D5F465DCEFDC723 -:1005D000FB8E4BD7815A66AF0EB7D6AC2FAE1D70CF -:1005E00072DCC4BDC41356DD40B6249D84216580F1 -:1005F000B0B157310BBDE01975B6C6A564E415D787 -:10060000C1DA9585EDEC632EA287CC26A932A659D6 -:10061000E3FD8AEFBB6B093021CFD586B4EB5D7566 -:10062000C5F3FBB3DF5EE281E6AFA78FE14EE8C51D -:100630004C73B407DFBE38018E0D8742F8E5B8BEB3 -:10064000D8B472B7125439F904E088E62F71AB7B45 -:10065000E56083C41EBBC5ACC94DEFC233A7800C97 -:100660005BF3C36E48FC674CDDF0320D61DD8847FB -:100670003E0B0B5CC7D109901EF852529FD25EFB15 -:10068000C622690E1FD15AFDC28C0A236A926AA93A -:100690009E760565470EF5660647B9A61A17A2E0CD -:1006A000390CEE59DD49569FD660C341F32EEA91CD -:1006B000A4F0F7ECFEEC5305340CAC4F244E2F5D48 -:1006C0005A1EB738670DD83E6D9C7F61CA69F26FBC -:1006D00059E95C58D6B05E0BBC0A5AE0598A3EB460 -:1006E000A8F5EC1003C54E7161CED22C37C49C9195 -:1006F000AEF8EA85A848906552EB46AC7584601E5A -:100700007A4D2F7D137DEE744CC0A183853D153449 -:1007100036FFBADF474B449A368A47AC0FA7CA89DF -:10072000F5F9070877F57DC3B61F473C5C5C71930C -:100730005C2B72A376B73EAC418558512D23DB224A -:100740001CE22B93D8A8578FC79ECB24FB3CB757EE -:10075000682AFBDEE1398B23BFE474EC074F0F24DA -:10076000323AB87F8285888C8F9295989B9EA1A4FF -:10077000A7AAADB0B3B6B9BBBEC1C3C6C9CBCED0B4 -:10078000D3D5D7D9DCDEE0E2E4E6E8E9EBEDEEF044 -:10079000F1F2F4F5F6F7F8F9FAFBFCFCFDFDFEFECC -:1007A000FEFEFEFEFEFEFEFEFDFDFCFCFBFAFAF97F -:1007B000F8F7F6F4F3F2F0EFEDECEAE8E7E5E3E161 -:1007C000DFDDDBD8D6D4D1CFCCCAC7C5C2BFBDBA56 -:1007D000B7B4B1AFACA9A6A3A09D9A9693908D8A09 -:1007E0008784817D7A7774716E6B6864615E5B5813 -:1007F00055524F4D4A4744413F3C393734322F2DF3 -:100800002A282623211F1D1B1917161412110F0E3B -:100810000C0B0A080706050404030202010100008C -:1008200000000000000000000101020203040506B0 -:100830000708090A0C0D0E1011131516181A1C1EA4 -:1008400020222527292B2E303335383B3D40434588 -:10085000484B4E5154575A5D606366696C6F7276AF -:10086000797C7F0011241FBECFEFD1E2DEBFCDBF68 -:1008700000E00CBF84B78093370514BE0FB6F89420 -:10088000A89580916000886180936000109260005C -:100890000FBE14E0A0E0B2E0E8E9F4E100E00BBF35 -:1008A00002C007900D92A83BB107D9F725E0A8EB4D -:1008B000B4E001C01D92A733B207E1F70E945407CC -:1008C0000C944A0A0C940000CF93C62F0E94BC06D9 -:1008D0008FEF80BBC1BBEBE0F1E08081857F80833F -:1008E00085E08A95F1F7000080818A608083CF914E -:1008F00008950E94BC0610BA11BAEBE0F1E08081C5 -:10090000837F808385E08A95F1F700008FB1908125 -:100910009C609083089563E883E00E94640463E030 -:1009200080E00E94640460E081E00E94640463E06F -:1009300083E00E94640480E092E090933405809309 -:1009400033058EE692E00C947F07CF93DF93CDB70B -:10095000DEB7FE01369681919191BF010E94AB07EF -:100960008AE090E00E94790790E080E0DF91CF91EB -:100970000895CF92DF92EF92FF92CF93C82F80E439 -:10098000C82E82E4D82E8FE0E82EF12C85E00E945C -:10099000790485FD06C081E0C81AD108E108F10894 -:1009A000A9F76C2F80E0CF91FF90EF90DF90CF9070 -:1009B0000C946404CF93C82F8A3019F48DE00E9400 -:1009C000B9048C2F0E94B90490E080E0CF91089583 -:1009D000CF9385E00E94790480FF0FC080E00E94E1 -:1009E0007904C82F0E947F06CD3019F48AE00E9456 -:1009F000B9048C2FCF910C94B904CF910895CF9363 -:100A0000C62F0E94BC068FEF80BBC1BBEBE0F1E0BC -:100A100080818D7E808385E08A95F1F7000080815A -:100A200080618083808182608083CF9108950E945D -:100A3000BC0610BA11BAEBE0F1E080818B7E8083B6 -:100A400085E08A95F1F700008FB1908194619083E1 -:100A500008950F931F93CF93DF9380910F028330FC -:100A600009F4B3C0A8F4813009F444C0CFE7823060 -:100A700009F476C0C0E060E08C2F81700E94FF0412 -:100A8000CF5FCF3FC1F7DF91CF911F910F910895B5 -:100A9000843009F4C8C01FE7CFEFD0E00FEF8530F6 -:100AA00049F76091BE048FEF860F8E3F28F080914A -:100AB0000E02819580930E0280E00E94FF046091F7 -:100AC000BE0481E00E94FF044091B8045091B90433 -:100AD00057FDDFC08091BC049091BD04019684173E -:100AE00095070CF0CAC09093BD048093BC041150CC -:100AF000C1F6C9CFCFE7E091BE04F0E0ED59F84F61 -:100B0000649181E00E94FF04E091BE04F0E0ED59A1 -:100B1000F84F649180E00E94FF042091B804309166 -:100B2000B90437FD19C08091BC049091BD040196B1 -:100B3000821793073CF49093BD048093BC04C1508A -:100B4000D1F6A1CF1092BD041092BC048091BE04D6 -:100B50008F5F8093BE04F3CF8091BE04821BF9CFD8 -:100B60008091BE0487FF1DC06FEF80E00E94FF04EC -:100B70006FEF81E00E94FF042091B8043091B90426 -:100B800037FD1FC08091BC049091BD04019682176F -:100B900093076CF49093BD048093BC04C15001F79B -:100BA00072CF60E080E00E94FF0460E0E2CF10922C -:100BB000BD041092BC048091BE048F5F8093BE047C -:100BC000EDCF8091BE04821BF9CFCFE76091BE04C8 -:100BD00080E00E94FF046091BE0481E00E94FF0457 -:100BE0002091B8043091B90437FD19C08091BC043C -:100BF0009091BD040196821793073CF49093BD0435 -:100C00008093BC04C15011F73ECF1092BD041092E6 -:100C1000BC048091BE048F5F8093BE04F3CF8091AB -:100C2000BE04821BF9CFCFE7E091BA04F091BB0478 -:100C3000ED59FC4F649181E00E94FF04E091BA04F9 -:100C4000F091BB04ED59FC4F649180E00E94FF04D9 -:100C50008091BA049091BB040196811524E092071B -:100C600038F49093BB048093BA04C150E9F60BCFDB -:100C70001092BB041092BA04F8CF1092BD041092E7 -:100C8000BC048091BE0490910E02890F8093BE0433 -:100C90002ECF20910E022403B001259F700D112448 -:100CA0008091BE04FE01E81BF109E617F7071CF46A -:100CB0000093BE041CCF249F202D11242093BE043A -:100CC00016CF80E00E94170580FF0C942905089537 -:100CD000E091BF04E43650F01092BF04EDECF4E074 -:100CE00084E6DF011D928A95E9F70895F0E0E45368 -:100CF000FB4F80818A3081F38D3071F30895E0914C -:100D0000BF0491E09E0F9093BF04F0E0E353FB4FCC -:100D10008083089582E884BD84E085BD80E487BD3A -:100D200082E080936E0008951F920F920FB60F928B -:100D300011240BB60F922F933F934F935F936F93B2 -:100D40007F938F939F93AF93BF93EF93FF930E94F3 -:100D5000E106FF91EF91BF91AF919F918F917F91AC -:100D60006F915F914F913F912F910F900BBE0F901C -:100D70000FBE0F901F9018958093080108958FEF74 -:100D800080BB8093070180930A011092080111BA79 -:100D9000EBE0F1E0108280818F6180838FE891E049 -:100DA0000197F1F700C0000080818E7F8083089555 -:100DB0000E9461060E94E8040E94680690E080E0BC -:100DC00008956091C0047091C1046115710529F402 -:100DD0001092CC041092CB0408958091CB04909192 -:100DE000CC0401969093CC048093CB042091C4044E -:100DF0003091C5044091C9045091CA0484179507E5 -:100E000020F46217730721F408956217730761F0E5 -:100E10001092C3041092C2041092CC041092CB041E -:100E20007093C5046093C4042091C2043091C3043C -:100E300045E0429FC001439F900D1124680F791F28 -:100E400045E050E086EC94E00E9470078091C90470 -:100E50009091CA04892B71F41092C3041092C204B9 -:100E60006091C0047091C10445E050E086EC94E0CC -:100E70000E9470078091C60480930F028091C7047E -:100E80009091C8049093B9048093B8041092CC0454 -:100E90001092CB048091C2049091C3040196909368 -:100EA000C3048093C2040895F8940E94BF060E9470 -:100EB0008B040E948A0680E092E09093C1048093A4 -:100EC000C004789488E19EE00FB6F894A8958093CA -:100ED00060000FBE90936000A8950E94D806FCCFDA -:100EE000FB01DC0102C005900D9241505040D8F743 -:100EF000089560913305709134050C94BC090F93EB -:100F00001F93CF93DF93E0913305F0913405238154 -:100F100010E000E021FD0EC00FEF1FEFC801DF91D0 -:100F2000CF911F910F9108951995892B11F00FEF13 -:100F30001FEFCE01EC01899160913305709134056A -:100F4000DB011896ED91FC918111EECF8AE01995A5 -:100F5000892B21F3E1CFAB01BC0180913305909146 -:100F600034050C94B3072F923F924F925F926F9289 -:100F70007F928F929F92AF92BF92CF92DF92EF9229 -:100F8000FF920F931F93CF93DF9300D000D000D038 -:100F90000F920F92CDB7DEB77C013B018A01FC01B5 -:100FA00017821682838181FFCEC19AE0292ECE015D -:100FB00001965C01F7019381F30193FD859193FF05 -:100FC00081913F01882309F446C1853239F493FDAC -:100FD000859193FF81913F01853229F4B70190E01B -:100FE0000E94BC09E7CF912C412C512CFFE1F51553 -:100FF00038F08B3209F188F4803201F1833221F12B -:1010000057FC3AC020ED280F2A3040F556FE1FC08D -:10101000929C200D1124922E06C08D3291F08033C7 -:1010200079F7689450F8F30193FD859193FF8191CE -:101030003F018111DBCF20C0689451F8689452F8C9 -:10104000F2CF689453F8EFCF689454F8ECCF429CF9 -:10105000200D1124422E689455F8E5CF8E3229F4E4 -:1010600056FCF9C0689456F8DECF8C3619F46894B3 -:1010700057F8D9CF8836B9F2982F9F7D9554933081 -:10108000C0F08336A1F18337C1F1833509F05BC02D -:10109000F801C190D1908F01692D70E056FC02C01B -:1010A0006FEF7FEFC6010E94A6094C01689457F8C4 -:1010B0000AC00C5F1F4F2FE3298388248394912C4F -:1010C0006501E89457F853FC04C04814190409F06A -:1010D00018F5342C8114910431F5332009F46ACFCA -:1010E000B70180E290E00E94BC093A94F6CFF80183 -:1010F000808189830E5F1F4FE0CFF801C190D190AE -:101100008F01692D70E056FC02C06FEF7FEFC601C2 -:101110000E94B1094C01D5CFB70180E290E00E9456 -:10112000BC094A94D2CFF60157FC859157FE8191B4 -:101130006F01B70190E00E94BC0931103A94F1E0D0 -:101140008F1A9108C7CF843619F0893609F074C018 -:10115000F80157FE6AC061917191819191918F015F -:10116000252D2F76D22E97FF09C0909580957095EA -:1011700061957F4F8F4F9F4F6894D7F82AE030E0FA -:10118000A5010E94EC09C82ECA188C2C5D2CD6FE35 -:101190000CC0E89450F8C91440F4D4FE05C0D2FC49 -:1011A00003C0FD2DFE7E5F2E892C54FEA4C0FE01DF -:1011B000EC0DF11D8081803309F096C0252D297E2C -:1011C000522E852D8870382E53FCA4C050FE9EC030 -:1011D0009C2C841418F44C0C942C981854FEA0C029 -:1011E000B70180E390E00E94BC0952FE09C088E785 -:1011F00090E051FE02C088E590E0B7010E94BC0972 -:10120000C91408F499C0CA94D12C9FEFC91AD90AFD -:10121000CA0CDB1CF60182916F01B70190E00E94BD -:10122000BC09AC14BD04B1F758CF61917191072E80 -:10123000000C880B990B93CFD52CE894D4F82AE0B6 -:1012400030E08537E1F1952D997FD92E8F36A9F1C0 -:10125000F0F4883551F1F701868197812B960FB60E -:10126000F894DEBF0FBECDBFDF91CF911F910F91DC -:10127000FF90EF90DF90CF90BF90AF909F908F90B6 -:101280007F906F905F904F903F902F9008958037A0 -:1012900049F0883701F7D4FE02C06894D2F820E103 -:1012A00030E00DC06894D4F8F6CF54FE03C0E92FA7 -:1012B000E660DE2E20E132E002C028E030E0F801F6 -:1012C000D7FE0DC061917191819191918F01A5011E -:1012D0000E94EC09C82ECA18E894D7F856CF61913D -:1012E000719190E080E0F2CF52FC02C0839469CF0C -:1012F0008394839466CF852D867809F462CFF6CFE8 -:10130000B70180E290E00E94BC0983948414C0F38A -:10131000312C64CF342C3818841408F45FCFF8CF04 -:10132000852D867809F46CCF8BE251FE80E257FC64 -:101330008DE2B70190E062CFB70180E390E00E94B8 -:10134000BC099A945DCF8FEF9FEF88CFFC01059089 -:10135000615070400110D8F7809590958E0F9F1FB7 -:101360000895FC016150704001900110D8F78095FC -:1013700090958E0F9F1F08950F931F93CF93DF9328 -:10138000182F092FEB018B8181FD09C01FEF0FEF93 -:10139000812F902FDF91CF911F910F91089582FFA0 -:1013A00014C02E813F818C819D81281739073CF420 -:1013B000E881F981CF0101969983888310838E811A -:1013C0009F8101969F838E83E3CFE885F985812FE6 -:1013D0001995892BA1F3DACFFA01AA27283051F108 -:1013E000203181F1E8946F936E7F6E5F7F4F8F4F56 -:1013F0009F4FAF4FB1E03ED0B4E03CD0670F781FB5 -:10140000891F9A1FA11D680F791F8A1F911DA11D99 -:101410006A0F711D811D911DA11D20D009F46894D2 -:101420003F912AE0269F11243019305D3193DEF67A -:10143000CF010895462F4770405D4193B3E00FD030 -:10144000C9F7F6CF462F4F70405D4A3318F0495D1B -:1014500031FD4052419302D0A9F7EACFB4E0A695FE -:101460009795879577956795BA95C9F70097610520 -:10147000710508959B01AC010A2E06945795479576 -:1014800037952795BA95C9F7620F731F841F951F6B -:08149000A01D0895F894FFCFA0 -:101498000000000200000000DA0400000000010162 -:1014A800740280028D0291029902A602AF02B6026E -:1014B800C902D702E102EC02F60202030803110393 -:1014C8001F03C902D702E102EC02F6020203080375 -:1014D8001103CE03D403DA03DF03E403EA03EE03C4 -:1014E800F4030504190433043A04400446044B0485 -:1014F80050046104690475048B049A04A904494ED4 -:1015080049540D00464C4F505059204449534B0004 -:10151800534352455720445249564552004B45596A -:10152800005341555341474500524F5454454E20AE -:10153800464C455348004B4559424F415244005090 -:101548004953544F4C004E4F5448494E474C4F4E08 -:10155800454C5920524F414400532F4E2044495284 -:101568005420524F41440046495245504C4143454E -:10157800004E2F5720537472656574004F4C4420F9 -:10158800484F555345004C4956494E4720524F4FF6 -:101598004D00415454494300424153454D454E5432 -:1015A80000434F4D505554455220524F4F4D00590E -:1015B8006F7520737461726520696E746F20612085 -:1015C800766F6964206F66206E6F7468696E676EE7 -:1015D8006573732E20596F7520736565206E6F6F64 -:1015E8006E652C20796F752068656172206E6F6F4B -:1015F8006E652C796F75206665656C20736F6D65F7 -:101608006F6E652E0A20596F75206C6F6F6B2061A5 -:10161800726F756E642C20616E6420736565206E30 -:101628006F7468696E672C2079657420796F7520EE -:10163800617265206E6F206C6573732073636172CD -:1016480065642E20596F75206861626520776F6E1A -:101658002E0A4C4F4E454C5920524F4144006E6F54 -:1016680072746800736F75746800776573740065C9 -:101678006173740073686F6F740075736500455209 -:10168800524F5200496E76616C696420636F6D6DCC -:10169800616E642100596F752063616E277420752F -:1016A80073652074686174210057686174206172E1 -:1016B8006520796F7520676F696E6720746F206485 -:1016C8006F3F00676F696E6720004E4F52544800A5 -:1016D800534F5554480045415354005745535400FF -:1016E800594F55204D415920414354204E4F5721C1 -:1016F8000069742064696564006974207375727682 -:10170800697665640061206265617220626C6F634E -:101718006B73207468652077617900697420726141 -:101728006E20617761792E2E2E00697420776F6E96 -:10173800277420737461727400796F752063616E09 -:0817480027742074797065001C +:1001600002FDFF900102FCFF900102FBFF900102E3 +:10017000FDFFF40102FCFF260202FBFF580202FD14 +:10018000FF200302FCFF840302FBFFE803000000E2 +:10019000E803000000000002FEFF500002FDFF50D7 +:1001A0000003FCFFAA000000001E0003FAFFAA00E3 +:1001B0000000001E0003FAFFAA000000001E00025B +:1001C000FEFF500002FDFF500003FCFFAA000000EC +:1001D000001E0003FAFFAA000000001E0003FAFF41 +:1001E000AA000000001E0002FEFF500002FDFF50AA +:1001F0000003FCFFAA000000001E0003FAFFAA0093 +:100200000000001E0003FAFF2C0103FCFF82000324 +:10021000FEFF8200000000500002FFFF500002FEBF +:10022000FF500003FDFFAA00000000140003FBFFC5 +:10023000AA00000000140003FBFFAA000000001E3B +:100240000002FFFF500002FEFF500003FDFFAA0066 +:10025000000000140003FBFFAA00000000140003CC +:10026000FBFFAA00000000140002FFFF500002FE86 +:10027000FF500003FDFFAA000000001E0003FBFF6B +:10028000AA000000001E0003FBFF2C0103FDFF82FB +:100290000003FFFF8200000000500000000000008B +:1002A0000200006400020A00640002000064000210 +:1002B0000A0064000200006400040000C800010A93 +:1002C00000320001F6FF3200010A00320001F6FFA1 +:1002D00032000200006400020A00640002000064B0 +:1002E00000020A0064000200006400040000C8006C +:1002F000010A00320001F6FF3200010A003200015B +:10030000F6FF32000200006400020A0064000200EE +:10031000006400020A00640002000064000400009F +:10032000C800010A00320001F6FF3200010A003263 +:100330000001F6FF32000200006400020A006400BF +:100340000200006400020A0064000200006400046D +:100350000000C800010A00320001F6FF3200010A65 +:1003600000320001F6FF32000200006400020A00C1 +:1003700064000200006400020A00640002000064DD +:1003800000040000C800010A00320001F6FF32003C +:10039000010A00320001F6FF320002FEFF64000293 +:1003A0000800640002FEFF6400020800640002FE10 +:1003B000FF6400040000C800010C00320001F8FFD7 +:1003C0003200010C00320001F8FF320002FDFF6430 +:1003D00000020700640002FDFF64000207006400E1 +:1003E00002FDFF6400040000C800010D003200019E +:1003F000F9FF3200010D00320001F9FF3200000068 +:10040000000000300C03DF31FA2B78D5D86C294579 +:10041000A1026969918D6571B843DEF2F6786E1DAF +:10042000BF344ECB382EFD3259750732E231778416 +:1004300033E1EDC56E5236279615198D8D88AB4D7B +:10044000BCF918F5271627818C2FB46E602BF29417 +:100450000CE0597B338FA3C9A4BD573245027F02FC +:10046000FB98F723AE1EA53A4D59A9AE849B429145 +:100470007C9B0CB02BB07ACF6DD102B2D381B4CEBD +:1004800019ACF2C7CB970218F0ABC774470906C482 +:10049000A51374D0C3EEA030BFA2E2922497613DB1 +:1004A0004453050FEA0728DAB3EF4FFAF955BE9F18 +:1004B00068336F2B21105CE0B23F73D6D7D4141B86 +:1004C000271A2A122153ECD5423CCF3C918EDBFAFD +:1004D000C24B26E35B82C40EC137E5980BFAB433F6 +:1004E00014DE453631320B746EDBB1006A8CFA2CA7 +:1004F000D7210F33A3D342650A27FE1621B249350F +:10050000918E6BC3C077382E52E92FBC7629E84D07 +:100510004BF781EFCBC354D5EB53EC0D0635439825 +:10052000C3AF5B842694B3787DE235F30C1D41574D +:1005300015C346E0879BB672EEA37FF5D8C28D9CAB +:1005400072E920987DD311FBB546EFC1643119796A +:10055000F45F5A7BFA11EEE9B46EDE8C316C29A39C +:1005600055493BD31C4DCED293BE94F7EFAD71E409 +:100570000DCC6008DD4EF192BCD01FED3C4890924E +:1005800091CC65AE193481ADF215A5E2C317C6D082 +:10059000E327D8C175CA53329B721FD8BBB06A4DCE +:1005A0007DD0FB97047D45F793EAD95601A027E457 +:1005B000C700A53DCBF96F666C8F3F2740A974BE7D +:1005C0007A70557FEE9A76818550D787F1FF6BB9A7 +:1005D000FF11F7CA0B673177F7709F371A14F6943B +:1005E000854B1373E68AF46CDBCBF3CCCB5F86CA06 +:1005F000717D957CE4C6F4DC36931350A70AE52D93 +:1006000055F9A03C8394A95F609C2B2BFCB2F66D3E +:10061000308BE91451DEF0887104D8190EBE46649F +:10062000B7E6A13B7B4A9ADBE7C607E378FD51A812 +:10063000883BBDDA19AE628AB33AA4C2F9EB26B0A0 +:10064000D2C8EC4D138629FA4D30DEC62E2F6FB678 +:100650006A2D9083DBF20E8F2DB351279E78D871CF +:1006600040C4BE544BE84E98182D5F465DCEFDC782 +:10067000FB8E4BD7815A66AF0EB7D6AC2FAE1D702E +:1006800072DCC4BDC41356DD40B6249D8421658050 +:10069000B0B157310BBDE01975B6C6A564E415D7E6 +:1006A000C1DA9585EDEC632EA287CC26A932A65936 +:1006B000E3FD8AEFBB6B093021CFD586B4EB5D75C6 +:1006C000C5F3FBB3DF5EE281E6AFA78FE14EE8C57D +:1006D0004C73B407DFBE38018E0D8742F8E5B8BE13 +:1006E000D8B472B7125439F904E088E62F71AB7BA5 +:1006F000E56083C41EBBC5ACC94DEFC233A7800CF7 +:100700005BF3C36E48FC674CDDF0320D61DD88475A +:100710003E0B0B5CC7D109901EF852529FD25EFB74 +:10072000C622690E1FD15AFDC28C0A236A926AA999 +:100730009E760565470EF5660647B9A61A17A2E02C +:10074000390CEE59DD49569FD660C341F32EEA912C +:10075000A4F0F7ECFEEC5305340CAC4F244E2F5DA7 +:100760005A1EB738670DD83E6D9C7F61CA69F26F1B +:1007700059E95C58D6B05E0BBC0A5AE0598A3EB4BF +:10078000A8F5EC1003C54E7161CED22C37C49C91F4 +:10079000AEF8EA85A848906552EB46AC7584601EB9 +:1007A0007A4D2F7D137DEE744CC0A183853D1534A9 +:1007B00036FFBADF474B449A368A47AC0FA7CA893F +:1007C000F5F9070877F57DC3B61F473C5C5C71936C +:1007D0005C2B72A376B73EAC418558512D23DB22AA +:1007E0001CE22B93D8A8578FC79ECB24FB3CB7574E +:1007F000682AFBDEE1398B23BFE474EC074F0F243A +:10080000323AB87F8285888C8F9295989B9EA1A45E +:10081000A7AAADB0B3B6B9BBBEC1C3C6C9CBCED013 +:10082000D3D5D7D9DCDEE0E2E4E6E8E9EBEDEEF0A3 +:10083000F1F2F4F5F6F7F8F9FAFBFCFCFDFDFEFE2B +:10084000FEFEFEFEFEFEFEFEFDFDFCFCFBFAFAF9DE +:10085000F8F7F6F4F3F2F0EFEDECEAE8E7E5E3E1C0 +:10086000DFDDDBD8D6D4D1CFCCCAC7C5C2BFBDBAB5 +:10087000B7B4B1AFACA9A6A3A09D9A9693908D8A68 +:100880008784817D7A7774716E6B6864615E5B5872 +:1008900055524F4D4A4744413F3C393734322F2D52 +:1008A0002A282623211F1D1B1917161412110F0E9B +:1008B0000C0B0A08070605040403020201010000EC +:1008C0000000000000000000010102020304050610 +:1008D0000708090A0C0D0E1011131516181A1C1E04 +:1008E00020222527292B2E303335383B3D404345E8 +:1008F000484B4E5154575A5D606366696C6F72760F +:10090000797C7F0011241FBECFEFD1E2DEBFCDBFC7 +:1009100000E00CBF84B78093A40514BE0FB6F89412 +:10092000A8958091600088618093600010926000BB +:100930000FBE15E0A0E0B2E0E2EAF6E100E00BBF96 +:1009400002C007900D92A432B107D9F725E0A4E2C6 +:10095000B5E001C01D92A43AB207E1F70E94370842 +:100960000C944F0B0C940000CF93C62F0E949F074E +:100970008FEF80BBC1BBEBE0F1E08081857F80839E +:1009800085E08A95F1F7000080818A608083CF91AD +:1009900008950E949F0710BA11BAEBE0F1E0808140 +:1009A000837F808385E08A95F1F700008FB1908185 +:1009B0009C609083089563E883E00E94B40463E040 +:1009C00080E00E94B40460E081E00E94B40463E02F +:1009D00083E00E94B40480E092E09093A1058093AC +:1009E000A0058AEB92E00C948408CF93DF93CDB7F7 +:1009F000DEB7FE01369681919191BF010E94B00849 +:100A00008AE090E00E947E0890E080E0DF91CF9144 +:100A10000895CF92DF92EF92FF92CF93C82F80E498 +:100A2000C82E82E4D82E8FE0E82EF12C85E00E94BB +:100A3000C90485FD06C081E0C81AD108E108F108A3 +:100A4000A9F76C2F80E0CF91FF90EF90DF90CF90CF +:100A50000C94B404CF93C82F8A3019F48DE00E940F +:100A600009058C2F0E94090590E080E0CF91089540 +:100A7000CF9385E00E94C90480FF0FC080E00E94F0 +:100A8000C904C82F0E94B806CD3019F48AE00E942C +:100A900009058C2FCF910C940905CF910895CF9320 +:100AA000C62F0E949F078FEF80BBC1BBEBE0F1E038 +:100AB00080818D7E808385E08A95F1F700008081BA +:100AC00080618083808182608083CF9108950E94BD +:100AD0009F0710BA11BAEBE0F1E080818B7E808332 +:100AE00085E08A95F1F700008FB190819461908341 +:100AF00008950F931F93CF93DF9380910F0283305C +:100B000009F4B3C0A8F4813009F444C0CFE78230BF +:100B100009F476C0C0E060E08C2F81700E944F0520 +:100B2000CF5FCF3FC1F7DF91CF911F910F91089514 +:100B3000843009F4C8C01FE7CFEFD0E00FEF853055 +:100B400049F760912A058FEF860F8E3F28F080913C +:100B50000E02819580930E0280E00E944F05609105 +:100B60002A0581E00E944F054091240550912505FA +:100B700057FDDFC0809128059091290501968417C3 +:100B800095070CF0CAC09093290580932805115051 +:100B9000C1F6C9CFCFE7E0912A05F0E0ED5FF74F4E +:100BA000649181E00E944F05E0912A05F0E0ED5F3D +:100BB000F74F649180E00E944F0520912405309109 +:100BC000250537FD19C080912805909129050196CA +:100BD000821793073CF49093290580932805C15010 +:100BE000D1F6A1CF109229051092280580912A05EF +:100BF0008F5F80932A05F3CF80912A05821BF9CF5E +:100C000080912A0587FF1DC06FEF80E00E944F058D +:100C10006FEF81E00E944F0520912405309125055A +:100C200037FD1FC0809128059091290501968217F4 +:100C300093076CF49093290580932805C15001F720 +:100C400072CF60E080E00E944F0560E0E2CF10923A +:100C500029051092280580912A058F5F80932A0527 +:100C6000EDCF80912A05821BF9CFCFE760912A054D +:100C700080E00E944F0560912A0581E00E944F05A7 +:100C8000209124053091250537FD19C08091280554 +:100C9000909129050196821793073CF490932905BA +:100CA00080932805C15011F73ECF1092290510926C +:100CB000280580912A058F5F80932A05F3CF8091C4 +:100CC0002A05821BF9CFCFE7E0912605F091270591 +:100CD000ED5FFB4F649181E00E944F05E091260596 +:100CE000F0912705ED5FFB4F649180E00E944F0576 +:100CF00080912605909127050196811524E09207A1 +:100D000038F49093270580932605C150E9F60BCF60 +:100D10001092270510922605F8CF109229051092FF +:100D2000280580912A0590910E02890F80932A054B +:100D30002ECF20910E022403B001259F700D1124A7 +:100D400080912A05FE01E81BF109E617F7071CF45C +:100D500000932A051CCF249F202D112420932A05BF +:100D600016CF80E00E94670580FF0C9479050895F6 +:100D7000E0912C0591E09E0F90932C05F0E0E65C4D +:100D8000FA4F808308950F931F93CF93DF93C82F5B +:100D900070E060E08AE00E942A05C53011F180EC25 +:100DA00092E09F938F930E94F504C6E4D2E00F90E7 +:100DB0000F9009EC12E08881998122969F938F937E +:100DC0001F930F930E94F5040F900F900F900F90B8 +:100DD00082E0C435D80779F7DF91CF911F910F9149 +:100DE0000895E0912B05F0E0EE0FFF1FEE5CFD4F44 +:100DF00081818F9380818F930E94F50470E060E081 +:100E00008AE00E942A05E0912B05F0E0EE0FFF1F1B +:100E1000E25EFD4F81818F9380818F930E94F50464 +:100E20000F900F900F900F90D7CF0F931F93CF93EA +:100E3000DF93E0912C05E436B0F010922C05EAE344 +:100E4000F5E084E6DF011D928A95E9F780ED92E0F6 +:100E50009F938F930E94F5040F900F90DF91CF9195 +:100E60001F910F910895F0E0E75CFA4F80818A307E +:100E700011F08D3099F706E412E0D0E0C0E0F801FF +:100E8000819191918F01FC0101900020E9F7319748 +:100E9000AF01481B590B6AE375E00E946608892B75 +:100EA00069F48C2F0E94C30610922C05EAE3F5E04A +:100EB00084E6DF011D928A95E9F7D0CF2196C730ED +:100EC000D105E9F6809157028F93809156028F9356 +:100ED0000E94F5040F900F90E7CF82E884BD84E074 +:100EE00085BD80E487BD82E080936E0008951F92E7 +:100EF0000F920FB60F9211240BB60F922F933F93C0 +:100F00004F935F936F937F938F939F93AF93BF9311 +:100F1000EF93FF930E94C407FF91EF91BF91AF91B0 +:100F20009F918F917F916F915F914F913F912F9101 +:100F30000F900BBE0F900FBE0F901F9018958093CF +:100F4000080108958FEF80BB8093070180930A0109 +:100F50001092080111BAEBE0F1E0108280818F61FC +:100F600080838FE891E00197F1F700C00000808155 +:100F70008E7F808308950E94B1060E9438050E94EA +:100F8000150790E080E0089560912D0570912E0581 +:100F90006115710529F410923905109238050895EC +:100FA0008091380590913905019690933905809389 +:100FB0003805209131053091320540913605509128 +:100FC00037058417950720F46217730721F40895F5 +:100FD0006217730761F01092300510922F0510927E +:100FE00039051092380570933205609331052091D0 +:100FF0002F053091300545E0429FC001439F900D81 +:101000001124680F791F45E050E083E395E00E94CA +:101010005D088091360590913705892B71F4109207 +:10102000300510922F0560912D0570912E0545E039 +:1010300050E083E395E00E945D0880913305809342 +:101040000F0280913405909135059093250580938A +:101050002405109239051092380580912F05909142 +:10106000300501969093300580932F050895F894EC +:101070000E94A2070E94DB040E946D0788EE90E0A8 +:1010800090932E0580932D05789480911F028F9365 +:1010900080911E028F930E94F50488E19EE00FB6B6 +:1010A000F894A895809360000FBE909360000F9015 +:1010B0000F90A8950E94BB07FCCFFB01DC0102C08A +:1010C00005900D9241505040D8F70895FB01DC0186 +:1010D0004150504088F08D9181341CF08B350CF4D8 +:1010E000805E619161341CF06B350CF4605E861B90 +:1010F000611171F3990B0895881BFCCF6091A005D5 +:101100007091A1050C94C10A0F931F93CF93DF93A5 +:10111000E091A005F091A105238110E000E021FD00 +:101120000EC00FEF1FEFC801DF91CF911F910F91FC +:1011300008951995892B11F00FEF1FEFCE01EC01E7 +:1011400089916091A0057091A105DB011896ED9140 +:10115000FC918111EECF8AE01995892B21F3E1CF23 +:10116000AB01BC018091A0059091A1050C94B80839 +:101170002F923F924F925F926F927F928F929F92A7 +:10118000AF92BF92CF92DF92EF92FF920F931F9395 +:10119000CF93DF9300D000D000D00F920F92CDB745 +:1011A000DEB77C013B018A01FC0117821682838134 +:1011B00081FFCEC19AE0292ECE0101965C01F70194 +:1011C0009381F30193FD859193FF81913F018823E2 +:1011D00009F446C1853239F493FD859193FF8191DD +:1011E0003F01853229F4B70190E00E94C10AE7CFA0 +:1011F000912C412C512CFFE1F51538F08B3209F17F +:1012000088F4803201F1833221F157FC3AC020ED9D +:10121000280F2A3040F556FE1FC0929C200D112445 +:10122000922E06C08D3291F0803379F7689450F891 +:10123000F30193FD859193FF81913F018111DBCFF4 +:1012400020C0689451F8689452F8F2CF689453F82B +:10125000EFCF689454F8ECCF429C200D1124422E1D +:10126000689455F8E5CF8E3229F456FCF9C068949D +:1012700056F8DECF8C3619F4689457F8D9CF8836F3 +:10128000B9F2982F9F7D95549330C0F08336A1F129 +:101290008337C1F1833509F05BC0F801C190D1906B +:1012A0008F01692D70E056FC02C06FEF7FEFC60121 +:1012B0000E94AB0A4C01689457F80AC00C5F1F4F9C +:1012C0002FE3298388248394912C6501E89457F8AF +:1012D00053FC04C04814190409F018F5342C811487 +:1012E000910431F5332009F46ACFB70180E290E030 +:1012F0000E94C10A3A94F6CFF801808189830E5F7B +:101300001F4FE0CFF801C190D1908F01692D70E09F +:1013100056FC02C06FEF7FEFC6010E94B60A4C0177 +:10132000D5CFB70180E290E00E94C10A4A94D2CFA3 +:10133000F60157FC859157FE81916F01B70190E04E +:101340000E94C10A31103A94F1E08F1A9108C7CF78 +:10135000843619F0893609F074C0F80157FE6AC066 +:1013600061917191819191918F01252D2F76D22ECE +:1013700097FF09C090958095709561957F4F8F4F2D +:101380009F4F6894D7F82AE030E0A5010E94F10A47 +:10139000C82ECA188C2C5D2CD6FE0CC0E89450F8D0 +:1013A000C91440F4D4FE05C0D2FC03C0FD2DFE7E5E +:1013B0005F2E892C54FEA4C0FE01EC0DF11D80812E +:1013C000803309F096C0252D297E522E852D8870F8 +:1013D000382E53FCA4C050FE9EC09C2C841418F4DC +:1013E0004C0C942C981854FEA0C0B70180E390E0F8 +:1013F0000E94C10A52FE09C088E790E051FE02C077 +:1014000088E590E0B7010E94C10AC91408F499C0A8 +:10141000CA94D12C9FEFC91AD90ACA0CDB1CF60159 +:1014200082916F01B70190E00E94C10AAC14BD0423 +:10143000B1F758CF61917191072E000C880B990B71 +:1014400093CFD52CE894D4F82AE030E08537E1F149 +:10145000952D997FD92E8F36A9F1F0F4883551F169 +:10146000F701868197812B960FB6F894DEBF0FBEE9 +:10147000CDBFDF91CF911F910F91FF90EF90DF9043 +:10148000CF90BF90AF909F908F907F906F905F9024 +:101490004F903F902F900895803749F0883701F79B +:1014A000D4FE02C06894D2F820E130E00DC0689408 +:1014B000D4F8F6CF54FE03C0E92FE660DE2E20E11B +:1014C00032E002C028E030E0F801D7FE0DC06191A3 +:1014D0007191819191918F01A5010E94F10AC82E0D +:1014E000CA18E894D7F856CF6191719190E080E0E6 +:1014F000F2CF52FC02C0839469CF8394839466CF69 +:10150000852D867809F462CFF6CFB70180E290E0AE +:101510000E94C10A83948414C0F3312C64CF342C0C +:101520003818841408F45FCFF8CF852D867809F435 +:101530006CCF8BE251FE80E257FC8DE2B70190E068 +:1015400062CFB70180E390E00E94C10A9A945DCF18 +:101550008FEF9FEF88CFFC01059061507040011024 +:10156000D8F7809590958E0F9F1F0895FC016150CC +:10157000704001900110D8F7809590958E0F9F1FB5 +:1015800008950F931F93CF93DF93182F092FEB012B +:101590008B8181FD09C01FEF0FEF812F902FDF910D +:1015A000CF911F910F91089582FF14C02E813F812A +:1015B0008C819D81281739073CF4E881F981CF019E +:1015C00001969983888310838E819F8101969F83E2 +:1015D0008E83E3CFE885F985812F1995892BA1F3B7 +:1015E000DACFFA01AA27283051F1203181F1E894AD +:1015F0006F936E7F6E5F7F4F8F4F9F4FAF4FB1E006 +:101600003ED0B4E03CD0670F781F891F9A1FA11D00 +:10161000680F791F8A1F911DA11D6A0F711D811D01 +:10162000911DA11D20D009F468943F912AE0269FC6 +:1016300011243019305D3193DEF6CF010895462F25 +:101640004770405D4193B3E00FD0C9F7F6CF462F06 +:101650004F70405D4A3318F0495D31FD405241936F +:1016600002D0A9F7EACFB4E0A6959795879577952C +:101670006795BA95C9F700976105710508959B01B3 +:10168000AC010A2E06945795479537952795BA953C +:10169000C9F7620F731F841F951FA01D0895F8944A +:0216A000FFCF7A +:1016A20000000002000000002A0500000000010105 +:1016B200E102ED02FA02FE02060313031C032303F6 +:1016C200C703D303E103EB03F60300040C04120483 +:1016D2001B042904C703D303E103EB03F60300044D +:1016E2000C0412041B04310436043C044204470473 +:1016F2004C04550459045F04700484049E04A50438 +:10170200AB04B104B604BB04CC04D404E004F60474 +:1017120005051405010100000001000000000000A1 +:1017220000000000000000000000000000000000B7 +:1017320000000000000000000000000000000000A7 +:101742000000000000000000000000000000000097 +:1017520000000000000000000000494E49540D0046 +:10176200596F752063616E3A002020202025730096 +:101772000A546F6F206D75636820696E70757421ED +:1017820000464C4F505059204449534B005343524A +:10179200455720445249564552004B455900534142 +:1017A200555341474500524F5454454E20464C45EF +:1017B2005348004B4559424F4152440050495354FB +:1017C2004F4C00596F7520737461726520696E7495 +:1017D2006F206120766F6964206F66206E6F746877 +:1017E200696E676E6573732E20596F752073656518 +:1017F200206E6F6F6E652C20796F7520686561723F +:10180200206E6F6F6E652C796F75206665656C2032 +:10181200736F6D656F6E652E0A20596F75206C6F40 +:101822006F6B2061726F756E642C20616E64207321 +:101832006565206E6F7468696E672C207965742007 +:10184200796F7520617265206E6F206C65737320ED +:101852007363617265642E20596F752068617665C5 +:1018620020776F6E2E2E004C4F4E454C5920524F12 +:10187200414400532F4E204449525420524F414478 +:101882000046495245504C414345004E2F57205384 +:101892007472656574004F4C4420484F555345009F +:1018A2004C4956494E4720524F4F4D0041545449DE +:1018B2004300424153454D454E5400434F4D505510 +:1018C20054455220524F4F4D004E4F5448494E47B7 +:1018D2000068656C70006E6F72746800736F757467 +:1018E200680077657374006561737400646573637F +:1018F2007269626500757365004552524F52004924 +:101902006E76616C696420636F6D6D616E64210037 +:10191200596F752063616E27742075736520746832 +:1019220061742100576861742061726520796F7556 +:1019320020676F696E6720746F20646F3F00676F66 +:10194200696E6720004E4F52544800534F55544819 +:101952000045415354005745535400594F55204DAB +:10196200415920414354204E4F572100697420644D +:1019720069656400697420737572766976656400BE +:1019820061206265617220626C6F636B73207468A0 +:1019920065207761790069742072616E20617761D8 +:1019A200792E2E2E00697420776F6E27742073743F +:1019B20061727400796F752063616E277420747987 +:0419C200706500004C :00000001FF diff --git a/code/textadv/build/dac.o b/code/textadv/build/dac.o index e1d1336..502be6a 100644 Binary files a/code/textadv/build/dac.o and b/code/textadv/build/dac.o differ diff --git a/code/textadv/build/game.o b/code/textadv/build/game.o index db45818..cb7aec8 100644 Binary files a/code/textadv/build/game.o and b/code/textadv/build/game.o differ diff --git a/code/textadv/build/main.o b/code/textadv/build/main.o index 06ed4ee..c58d676 100644 Binary files a/code/textadv/build/main.o and b/code/textadv/build/main.o differ diff --git a/code/textadv/build/sound.o b/code/textadv/build/sound.o index e95c105..a546b23 100644 Binary files a/code/textadv/build/sound.o and b/code/textadv/build/sound.o differ diff --git a/code/textadv/build/structures.o b/code/textadv/build/structures.o index e8b3114..1a45e3b 100644 Binary files a/code/textadv/build/structures.o and b/code/textadv/build/structures.o differ diff --git a/code/textadv/include/game.h b/code/textadv/include/game.h index f46a4d6..5757d29 100644 --- a/code/textadv/include/game.h +++ b/code/textadv/include/game.h @@ -22,7 +22,11 @@ extern char command_buffer[100]; extern uint8_t command_buffer_pointer; +extern uint8_t current_room; + void routine_game(); +void prepare_command_buffer(); void ingest_user_char(char in); +void perform_action(uint8_t action_id); #endif diff --git a/code/textadv/include/sound.h b/code/textadv/include/sound.h index 269f5c9..fb45afa 100644 --- a/code/textadv/include/sound.h +++ b/code/textadv/include/sound.h @@ -31,8 +31,11 @@ struct tone_t { * routine runs into undefined behaviour */ #define TRACK_END_MARKER {DAC_MODE_SILENT, 0, 0} -extern const struct tone_t computer_room[] PROGMEM; -extern const struct tone_t lonely_road[] PROGMEM; +extern const struct tone_t computer_room_track[] PROGMEM; +extern const struct tone_t lonely_road_track[] PROGMEM; + +#define INTRO_LEN 10350 +extern const struct tone_t intro_track[] PROGMEM; extern const struct tone_t * current_track; diff --git a/code/textadv/include/structures.h b/code/textadv/include/structures.h index a6171e7..b9f07d4 100644 --- a/code/textadv/include/structures.h +++ b/code/textadv/include/structures.h @@ -19,9 +19,26 @@ #include #include +#include + +#define NUM_ACTIONS 0x07 +#define ACTION_HELP 0x00 +#define ACTION_NORTH 0x01 +#define ACTION_SOUTH 0x02 +#define ACTION_WEST 0x03 +#define ACTION_EAST 0x04 +#define ACTION_DESCRIBE 0x05 +#define ACTION_USE 0x06 + extern const uint8_t sine_table[256] PROGMEM; extern const uint8_t noise_table[1024] PROGMEM; extern const char* text_table[]; +extern const char* info_table[]; +extern const char* action_table[NUM_ACTIONS]; +extern const char* room_table[]; +extern const char* room_description_table[]; +extern const bool room_action_table[][NUM_ACTIONS]; +extern const char* item_table[]; #endif diff --git a/code/textadv/src/game.c b/code/textadv/src/game.c index c1db0a7..47f7350 100644 --- a/code/textadv/src/game.c +++ b/code/textadv/src/game.c @@ -15,27 +15,52 @@ */ #include "game.h" +#include "structures.h" +#include "16550.h" + #include #include +#include char command_buffer[100]; uint8_t command_buffer_pointer = 0x00; +uint8_t current_room = 0x00; + void routine_game(){ if(command_buffer_pointer >= sizeof(command_buffer)){ + command_buffer_pointer = 0x00; memset(command_buffer, 0, sizeof(command_buffer)); + + println("\nToo much input!"); return; } if(command_buffer[command_buffer_pointer-1] == '\n' || command_buffer[command_buffer_pointer-1] == '\r'){ + /* A command from the user has been received, we are ready to + * do something!*/ + int8_t action_id = -1; + for(size_t i = 0; i < sizeof(action_table)/sizeof(const char*); + i++){ + if(strncasecmp(action_table[i], command_buffer, + strlen(action_table[i])) == 0){ + action_id = i; + break; + } + + } + if(action_id < 0){ + println(info_table[1]); + }else{ + perform_action(action_id); + + } - - command_buffer_pointer = 0x00; memset(command_buffer, 0, sizeof(command_buffer)); } @@ -47,3 +72,24 @@ void ingest_user_char(char in){ command_buffer[command_buffer_pointer++] = in; return; } + +void perform_action(uint8_t action_id){ + putchar_16550('\n', NULL); + switch(action_id){ + default: + case ACTION_HELP: + println("You can:"); + for(size_t i = 0; i < NUM_ACTIONS; i++){ + println(" %s",action_table[i]); + } + break; + + case ACTION_DESCRIBE: + println(room_table[current_room]); + putchar_16550('\n', NULL); + println(room_description_table[current_room]); + break; + }; + + return; +} diff --git a/code/textadv/src/main.c b/code/textadv/src/main.c index 2dbef5b..c2fa01f 100644 --- a/code/textadv/src/main.c +++ b/code/textadv/src/main.c @@ -65,7 +65,7 @@ void reset_modules(){ DATA_REG = 0x00; CTRL_REG = 0x00; - /* Cleanly reset the dac uart */ + /* Cleanly reset the dac and the uart */ CTRL_REG |= (1< #include -const struct tone_t computer_room[] PROGMEM = +const struct tone_t computer_room_track[] PROGMEM = { {DAC_MODE_SQUARE, 0,100}, {DAC_MODE_SQUARE, 10,100}, @@ -104,8 +104,72 @@ const struct tone_t computer_room[] PROGMEM = TRACK_END_MARKER }; -const struct tone_t lonely_road[] PROGMEM = +const struct tone_t lonely_road_track[] PROGMEM = { + + {DAC_MODE_SQUARE, -2,80}, + {DAC_MODE_SQUARE, -3,80}, + {DAC_MODE_SAW, -4,170}, + {DAC_MODE_SILENT, 0,30}, + {DAC_MODE_SAW, -6,170}, + {DAC_MODE_SILENT, 0,30}, + {DAC_MODE_SAW, -6,170}, + {DAC_MODE_SILENT, 0,30}, + + {DAC_MODE_SQUARE, -2,80}, + {DAC_MODE_SQUARE, -3,80}, + {DAC_MODE_SAW, -4,170}, + {DAC_MODE_SILENT, 0,30}, + {DAC_MODE_SAW, -6,170}, + {DAC_MODE_SILENT, 0,30}, + {DAC_MODE_SAW, -6,170}, + {DAC_MODE_SILENT, 0,30}, + + {DAC_MODE_SQUARE, -2,80}, + {DAC_MODE_SQUARE, -3,80}, + {DAC_MODE_SAW, -4,170}, + {DAC_MODE_SILENT, 0,30}, + {DAC_MODE_SAW, -6,170}, + {DAC_MODE_SILENT, 0,30}, + {DAC_MODE_SAW, -6,300}, + {DAC_MODE_SAW, -4,130}, + {DAC_MODE_SAW, -2,130}, + {DAC_MODE_SILENT, 0,80}, + + + {DAC_MODE_SQUARE, -1,80}, + {DAC_MODE_SQUARE, -2,80}, + {DAC_MODE_SAW, -3,170}, + {DAC_MODE_SILENT, 0,20}, + {DAC_MODE_SAW, -5,170}, + {DAC_MODE_SILENT, 0,20}, + {DAC_MODE_SAW, -5,170}, + {DAC_MODE_SILENT, 0,30}, + + {DAC_MODE_SQUARE, -1,80}, + {DAC_MODE_SQUARE, -2,80}, + {DAC_MODE_SAW, -3,170}, + {DAC_MODE_SILENT, 0,20}, + {DAC_MODE_SAW, -5,170}, + {DAC_MODE_SILENT, 0,20}, + {DAC_MODE_SAW, -5,170}, + {DAC_MODE_SILENT, 0,20}, + + {DAC_MODE_SQUARE, -1,80}, + {DAC_MODE_SQUARE, -2,80}, + {DAC_MODE_SAW, -3,170}, + {DAC_MODE_SILENT, 0,30}, + {DAC_MODE_SAW, -5,170}, + {DAC_MODE_SILENT, 0,30}, + {DAC_MODE_SAW, -5,300}, + {DAC_MODE_SAW, -3,130}, + {DAC_MODE_SAW, -1,130}, + {DAC_MODE_SILENT, 0,80}, + TRACK_END_MARKER +}; + +const struct tone_t intro_track[] PROGMEM = +{ {DAC_MODE_SQUARE, -3,200}, {DAC_MODE_SQUARE, -4,200}, {DAC_MODE_SQUARE, -5,200}, @@ -119,18 +183,6 @@ const struct tone_t lonely_road[] PROGMEM = {DAC_MODE_SQUARE, -4,200}, {DAC_MODE_SQUARE, -5,200}, - {DAC_MODE_SQUARE, -3,200}, - {DAC_MODE_SQUARE, -4,200}, - {DAC_MODE_SQUARE, -5,200}, - {DAC_MODE_SQUARE, -3,200}, - {DAC_MODE_SQUARE, -4,200}, - {DAC_MODE_SQUARE, -5,200}, - {DAC_MODE_SQUARE, -3,200}, - {DAC_MODE_SQUARE, -4,200}, - {DAC_MODE_SQUARE, -5,200}, - {DAC_MODE_SQUARE, -3,200}, - {DAC_MODE_SQUARE, -4,200}, - {DAC_MODE_SQUARE, -5,200}, {DAC_MODE_SQUARE, -3,200}, {DAC_MODE_SQUARE, -4,200}, @@ -148,25 +200,16 @@ const struct tone_t lonely_road[] PROGMEM = {DAC_MODE_SQUARE, -3,400}, {DAC_MODE_SQUARE, -4,400}, {DAC_MODE_SQUARE, -5,400}, - {DAC_MODE_SQUARE, -3,400}, - {DAC_MODE_SQUARE, -4,400}, - {DAC_MODE_SQUARE, -5,400}, + {DAC_MODE_SQUARE, -3,500}, + {DAC_MODE_SQUARE, -4,550}, + {DAC_MODE_SQUARE, -5,600}, {DAC_MODE_SQUARE, -3,800}, {DAC_MODE_SQUARE, -4,900}, {DAC_MODE_SQUARE, -5,1000}, - {DAC_MODE_SQUARE, 0,100}, - {DAC_MODE_NOISE, 0,100}, - {DAC_MODE_SAW, 0,200}, - {DAC_MODE_SQUARE, 0,100}, - {DAC_MODE_NOISE, 0,100}, - {DAC_MODE_SINE, 0,200}, - {DAC_MODE_SINE, 0,100}, - {DAC_MODE_NOISE, 0,100}, - {DAC_MODE_SINE, 0,200}, - {DAC_MODE_SQUARE, 0,100}, - + {DAC_MODE_SILENT, 0,1000}, + TRACK_END_MARKER }; diff --git a/code/textadv/src/structures.c b/code/textadv/src/structures.c index d703af2..d09f7f5 100644 --- a/code/textadv/src/structures.c +++ b/code/textadv/src/structures.c @@ -361,19 +361,18 @@ const char* info_table[] = { "you can't type" }; -const char* action_table[] = { +const char* action_table[NUM_ACTIONS] = { + "help", "north", "south", "west", "east", - "shoot", + "describe", "use" }; const char* room_table[] = { - "You stare into a void of nothingness. You see noone, you hear noone," - "you feel someone.\n You look around, and see nothing, yet " - "you are no less scared. You habe won.\n" + "NOTHING", "LONELY ROAD", "S/N DIRT ROAD", "FIREPLACE", @@ -385,8 +384,10 @@ const char* room_table[] = { "COMPUTER ROOM" }; -const char* room_description_table[] = { - "NOTHING" +const char* room_description_table[sizeof(room_table)/sizeof(const char*)] = { + "You stare into a void of nothingness. You see noone, you hear noone," + "you feel someone.\n You look around, and see nothing, yet " + "you are no less scared. You have won..", "LONELY ROAD", "S/N DIRT ROAD", "FIREPLACE", @@ -398,6 +399,11 @@ const char* room_description_table[] = { "COMPUTER ROOM" }; +const bool room_action_table[sizeof(room_table)/sizeof(const char*)] + [NUM_ACTIONS] = { + {1, 1,0,0,0,1,0} +}; + const char* item_table[] = { "FLOPPY DISK", "SCREW DRIVER", diff --git a/main.aux b/main.aux index 6620177..1a9e038 100644 --- a/main.aux +++ b/main.aux @@ -23,11 +23,13 @@ \@writefile{toc}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax } \@writefile{lof}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax } \@writefile{lot}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax } -\babel@aux{english}{} +\babel@aux{ngerman}{} \babel@aux{ngerman}{} \HyPL@Entry{1<>} \@writefile{toc}{\contentsline {section}{Gendererklärung}{i}{Doc-Start}\protected@file@percent } \@writefile{toc}{\contentsline {section}{Kurzfassung/Abstract}{ii}{Doc-Start}\protected@file@percent } +\babel@aux{ngerman}{} +\babel@aux{ngerman}{} \@writefile{toc}{\contentsline {section}{Projektergebnis}{iii}{Doc-Start}\protected@file@percent } \HyPL@Entry{4<>} \@writefile{toc}{\contentsline {section}{\numberline {1}Aufgabenstellung}{1}{section.1}\protected@file@percent } diff --git a/main.bcf b/main.bcf index bbbb491..4f23b28 100644 --- a/main.bcf +++ b/main.bcf @@ -159,7 +159,7 @@ sortlocale - english + ngerman sortingtemplatename diff --git a/main.lof b/main.lof index 0931f59..9766587 100644 --- a/main.lof +++ b/main.lof @@ -1,3 +1,5 @@ \boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax -\babel@toc {english}{} +\babel@toc {ngerman}{} +\babel@toc {ngerman}{} +\babel@toc {ngerman}{} \babel@toc {ngerman}{} diff --git a/main.log b/main.log index b1c9b37..639b7fd 100644 --- a/main.log +++ b/main.log @@ -1,6 +1,6 @@ -This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/Arch Linux) (preloaded format=xelatex 2020.2.5) 7 MAR 2020 20:01 +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/Arch Linux) (preloaded format=xelatex 2020.3.9) 16 MAR 2020 00:22 entering extended mode - restricted \write18 enabled. + \write18 enabled. %&-line parsing enabled. **main.tex (./main.tex @@ -36,13 +36,8 @@ Package: babel 2019/10/15 3.35 The Babel package (/usr/share/texmf-dist/tex/generic/babel/switch.def File: switch.def 2019/10/15 3.35 Babel switching mechanism ) -(/usr/share/texmf-dist/tex/generic/babel-german/ngerman.ldf -Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra -phy) - -(/usr/share/texmf-dist/tex/generic/babel-german/ngermanb.ldf -Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr -aphy) +(/usr/share/texmf-dist/tex/generic/babel-english/english.ldf +Language: english 2017/06/06 v3.3r English support from the babel system (/usr/share/texmf-dist/tex/generic/babel/babel.def File: babel.def 2019/10/15 3.35 Babel common definitions @@ -53,14 +48,19 @@ File: babel.def 2019/10/15 3.35 Babel common definitions (/usr/share/texmf-dist/tex/generic/babel/txtbabel.def)) \bbl@dirlevel=\count89 ) -Package babel Info: Making " an active character on input line 121. -)) -(/usr/share/texmf-dist/tex/generic/babel-english/english.ldf -Language: english 2017/06/06 v3.3r English support from the babel system \l@canadian = a dialect from \language\l@american \l@australian = a dialect from \language\l@british \l@newzealand = a dialect from \language\l@british -)) +) +(/usr/share/texmf-dist/tex/generic/babel-german/ngerman.ldf +Language: ngerman 2018/12/08 v2.11 German support for babel (post-1996 orthogra +phy) + +(/usr/share/texmf-dist/tex/generic/babel-german/ngermanb.ldf +Language: ngermanb 2018/12/08 v2.11 German support for babel (post-1996 orthogr +aphy) +Package babel Info: Making " an active character on input line 121. +))) (/usr/share/texmf-dist/tex/latex/base/fontenc.sty Package: fontenc 2018/08/11 v2.0j Standard LaTeX package @@ -119,7 +119,7 @@ Package pdftexcmds Info: \pdfdraftmode not found. ) (/usr/share/texmf-dist/tex/latex/tools/shellesc.sty Package: shellesc 2016/06/07 v0.02b unified shell escape interface for LaTeX -Package shellesc Info: Restricted shell escape enabled on input line 72. +Package shellesc Info: Unrestricted shell escape enabled on input line 70. ) (/usr/share/texmf-dist/tex/latex/trimspaces/trimspaces.sty Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list @@ -147,7 +147,22 @@ File: xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex \svg@box=\box27 \c@svg@param@lastpage=\count90 \c@svg@param@currpage=\count91 -) + +(/usr/share/texmf-dist/tex/latex/ifplatform/ifplatform.sty +Package: ifplatform 2017/10/13 v0.4a Testing for the operating system + +(/usr/share/texmf-dist/tex/generic/oberdiek/catchfile.sty +Package: catchfile 2016/05/16 v1.7 Catch the contents of a file (HO) + +(/usr/share/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +)) +runsystem(uname -s > "main.w18")...executed. + + (./main.w18) +runsystem(rm -- "main.w18")...executed. + +)) (/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) @@ -933,10 +948,7 @@ Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) (/usr/share/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) - -(/usr/share/texmf-dist/tex/generic/oberdiek/etexcmds.sty -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) -))) +)) (/usr/share/texmf-dist/tex/latex/logreq/logreq.sty Package: logreq 2010/08/04 v1.0 xml request logger \lrq@indent=\count276 @@ -2434,12 +2446,6 @@ Package tocbasic Info: setting babel extension for `lol' on input line 220. (/usr/share/texmf-dist/tex/latex/setspace/setspace.sty Package: setspace 2011/12/19 v6.7a set line spacing )) -Package biblatex Info: Trying to load language 'english'... -Package biblatex Info: ... file 'english.lbx' found. - -(/usr/share/texmf-dist/tex/latex/biblatex/lbx/english.lbx -File: english.lbx 2019/08/31 v3.13a biblatex localization (PK/MW) -) Package biblatex Info: Trying to load language 'ngerman'... Package biblatex Info: ... file 'ngerman.lbx' found. @@ -2457,10 +2463,16 @@ Package biblatex Info: ... file 'german.lbx' found. (/usr/share/texmf-dist/tex/latex/biblatex/lbx/german.lbx File: german.lbx 2019/08/31 v3.13a biblatex localization (PK/MW) )) +Package biblatex Info: Trying to load language 'english'... +Package biblatex Info: ... file 'english.lbx' found. + +(/usr/share/texmf-dist/tex/latex/biblatex/lbx/english.lbx +File: english.lbx 2019/08/31 v3.13a biblatex localization (PK/MW) +) Package csquotes Info: Checking for multilingual support... Package csquotes Info: ... found 'babel' package. Package csquotes Info: Adjusting default style. -Package csquotes Info: Redefining alias 'default' -> 'english'. +Package csquotes Info: Redefining alias 'default' -> 'ngerman'. (./main.aux) \openout1 = `main.aux'. @@ -2667,6 +2679,16 @@ File: pics/HTLgenlogo02.png Graphic file (type bmp) ] [1 ] (./sections/abstract.tex) +Underfull \hbox (badness 1168) in paragraph at lines 3--92 +\T1/pxss/m/n/12 Diese Di-plom-ar-beit be-schäf-tigt sich mit der Ar-beits-wei-s +e von Pro-zes-so-ren und + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 3--92 + + [] + [2 ] (./main.toc) @@ -2736,9 +2758,9 @@ preamble.tex size12.clo 2019/08/27 v1.4j Standard LaTeX file (size option) inputenc.sty 2018/08/11 v1.3c Input encoding file babel.sty 2019/10/15 3.35 The Babel package + english.ldf 2017/06/06 v3.3r English support from the babel system ngerman.ldf 2018/12/08 v2.11 German support for babel (post-1996 orthograph y) - english.ldf 2017/06/06 v3.3r English support from the babel system fontenc.sty ot2enc.def 2001/08/11 v3.3a Cyrillic encoding definition file t1enc.def 2018/08/11 v2.0j Standard LaTeX file @@ -2761,6 +2783,10 @@ graphics.sty 2019/10/08 v1.3c Standard LaTeX Graphics (DPC,SPQR) trig.sty 2016/01/03 v1.10 sin cos tan (DPC) graphics.cfg 2016/06/04 v1.11 sample graphics configuration xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex +ifplatform.sty 2017/10/13 v0.4a Testing for the operating system +catchfile.sty 2016/05/16 v1.7 Catch the contents of a file (HO) +etexcmds.sty 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) + "main.w18" xcolor.sty 2016/05/11 v2.12 LaTeX color extensions (UK) color.cfg 2016/01/02 v1.6 sample color configuration transparent.sty 2018/11/18 v1.3 Transparency via pdfTeX's color stack (HO) @@ -2838,7 +2864,6 @@ biblatex.sty 2019/08/31 v3.13a programmable bibliographies (PK/MW) etoolbox.sty 2019/09/21 v2.5h e-TeX tools for LaTeX (JAW) kvoptions.sty 2016/05/16 v3.12 Key value format for package options (HO) kvsetkeys.sty 2016/05/16 v1.17 Key value parser (HO) -etexcmds.sty 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) logreq.sty 2010/08/04 v1.0 xml request logger logreq.def 2010/08/04 v1.0 logreq spec v1.0 blx-dm.def 2019/08/31 v3.13a biblatex localization (PK/MW) @@ -2937,9 +2962,9 @@ pgfcalendar.code.tex 2019/08/03 v3.1.4b (3.1.4b) tocloft.sty 2017/08/31 v2.3i parameterised ToC, etc., typesetting tocbasic.sty 2019/10/12 v3.27 KOMA-Script package (handling toc-files) setspace.sty 2011/12/19 v6.7a set line spacing - english.lbx 2019/08/31 v3.13a biblatex localization (PK/MW) german.lbx 2019/08/31 v3.13a biblatex localization (PK/MW) ngerman.lbx 2019/08/31 v3.13a biblatex localization (PK/MW) + english.lbx 2019/08/31 v3.13a biblatex localization (PK/MW) omlpxmi.fd 2000/12/14 v1.0 omspxsy.fd 2000/12/14 v1.0 omxpxex.fd 2000/12/14 v1.0 @@ -2983,12 +3008,12 @@ Package logreq Info: Writing requests to 'main.run.xml'. ### semi simple group (level 1) entered at line 70 (\begingroup) ### bottom level Here is how much of TeX's memory you used: - 80226 strings out of 492483 - 1780181 string characters out of 6134980 - 2835186 words of memory out of 5000000 - 83545 multiletter control sequences out of 15000+600000 + 80293 strings out of 492483 + 1781125 string characters out of 6134980 + 2839048 words of memory out of 5000000 + 83601 multiletter control sequences out of 15000+600000 605667 words of font info for 115 fonts, out of 8000000 for 9000 1350 hyphenation exceptions out of 8191 - 67i,18n,108p,1149b,5528s stack positions out of 5000i,500n,10000p,200000b,80000s + 67i,18n,108p,1149b,7104s stack positions out of 5000i,500n,10000p,200000b,80000s Output written on main.pdf (8 pages). diff --git a/main.lol b/main.lol index 288f42a..2d52636 100644 --- a/main.lol +++ b/main.lol @@ -1,2 +1,4 @@ -\babel@toc {english}{} +\babel@toc {ngerman}{} +\babel@toc {ngerman}{} +\babel@toc {ngerman}{} \babel@toc {ngerman}{} diff --git a/main.lot b/main.lot index 0931f59..9766587 100644 --- a/main.lot +++ b/main.lot @@ -1,3 +1,5 @@ \boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax -\babel@toc {english}{} +\babel@toc {ngerman}{} +\babel@toc {ngerman}{} +\babel@toc {ngerman}{} \babel@toc {ngerman}{} diff --git a/main.pdf b/main.pdf index cfa5e2f..143e621 100644 --- a/main.pdf +++ b/main.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49fd3e03ba838c57fb360065dbbea72de6e921fd633eda7ec42593781f81dd28 -size 22432 +oid sha256:1c41ebfb3de56d4cb5e8cc0eb1cb5bcab161a24249bff156d6cbfe2b30ad9cc2 +size 24274 diff --git a/main.run.xml b/main.run.xml index 0fb7a7e..d8b1dcd 100644 --- a/main.run.xml +++ b/main.run.xml @@ -59,9 +59,9 @@ verbose.bbx authoryear-ibid.cbx biblatex.cfg - english.lbx german.lbx ngerman.lbx + english.lbx diff --git a/main.toc b/main.toc index 43835af..0428926 100644 --- a/main.toc +++ b/main.toc @@ -1,8 +1,10 @@ \boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax -\babel@toc {english}{} +\babel@toc {ngerman}{} \babel@toc {ngerman}{} \contentsline {section}{Gendererklärung}{i}{Doc-Start}% \contentsline {section}{Kurzfassung/Abstract}{ii}{Doc-Start}% +\babel@toc {ngerman}{} +\babel@toc {ngerman}{} \contentsline {section}{Projektergebnis}{iii}{Doc-Start}% \contentsline {section}{\numberline {1}Aufgabenstellung}{1}{section.1}% \contentsline {subsection}{\numberline {1.1}Daniel Plank}{1}{subsection.1.1}% diff --git a/preamble.tex b/preamble.tex index 6c273fa..175c153 100644 --- a/preamble.tex +++ b/preamble.tex @@ -14,7 +14,7 @@ %\usepackage{etex} %gegen 'no more room for new dimen...' error bei 'tikz' xh@RaE1 \usepackage[utf8]{inputenc} -\usepackage[ngerman,english]{babel} +\usepackage[english,ngerman,]{babel} \usepackage[OT2,T1]{fontenc} \usepackage{svg} % Allows the inclusion of SVG files diff --git a/sections/abstract.tex b/sections/abstract.tex index 31b1edd..51474ea 100644 --- a/sections/abstract.tex +++ b/sections/abstract.tex @@ -1,3 +1,29 @@ -\textbf{FIXME} - +\begin{otherlanguage}{ngerman} +Diese Diplomarbeit beschäftigt sich mit der Arbeitsweise von Prozessoren +und Prozessorperipherie in moderner und traditioneller Form. Sie versucht +anschaulich den +Aufbau eines Computersystems in Hard- und Software veranschaulichen +sowie diesen erklären. Dafür wurde auf einem XILINX FPGA ein RISC-V32I Prozessor +in VHDL +implementiert sowie diverse Parallelbus gebundene Hardwareperipherie entwickelt +und gebaut. Als Harwareperipherie wurde ein 8-Bit 2-Kanal DAC und eine serielle +Schnittstelle mit TIA-/EIA-232 Pegeln gebaut. Der Prozessor implementiert das +RISC-V32I base instruction set. Aufgrund der starken Verwendung von Englisch im +Software- und Hardwarebereich wurde diese Diplomarbeit in Englisch verfasst, was +ebenfalls die Lesbarkeit erhöhen soll. Die entstandene Dokumentation soll für +Menschen mit einem Grundlegenden Verständnis von Elektronik sowie der Hardware- +Beschreibungssprache VHDL verständlich sein. +\end{otherlanguage} +\\\\ +This diploma thesis deals with the operation of processors and their +orresponding peripherials in modern andd traditional forms. It attempts to +illustrate the structure of a computersystem in hard- and software. To reach +this goal a RISC-V32I processor has been implemented in VHDL on a XILINX FPGA +as well as some peripherials bound to the parallel bus. These peripherials +include a 2-channel 8-bit Digital to analog converter as well as a TIA-/EIA-232 +compliant serial interface. Due to the common use of english in the hardware and +software engineering field this thesis was written in english, which should +enhance readability as well. The written documentation should be understandable +for everyone with a basic understanding of electronics as well as the +hardware description language VHDL.