From 97a31051096d269f22d643cbeae39ae4d2878ecd Mon Sep 17 00:00:00 2001 From: tyrolyean Date: Tue, 17 Mar 2020 16:25:58 +0100 Subject: [PATCH] A usual commit Signed-off-by: tyrolyean --- README.md | 1 + code/textadv/bin/mc.elf | Bin 17724 -> 17716 bytes code/textadv/bin/mc.hex | 569 +++++++++++++++--------------- code/textadv/build/main.o | Bin 1744 -> 1740 bytes code/textadv/build/sound.o | Bin 2640 -> 2632 bytes code/textadv/include/sound.h | 7 +- code/textadv/include/structures.h | 6 +- code/textadv/src/main.c | 6 +- code/textadv/src/sound.c | 99 ++++-- code/textadv/src/structures.c | 9 +- main.aux | 4 +- main.bcf | 2 +- main.lof | 4 +- main.log | 95 +++-- main.lol | 4 +- main.lot | 4 +- main.pdf | Bin 130 -> 24274 bytes main.run.xml | 2 +- main.toc | 4 +- preamble.tex | 2 +- sections/abstract.tex | 30 +- 21 files changed, 480 insertions(+), 368 deletions(-) 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 1188b22d14c289a7c48294826b21ff186678afaa..197b964ba6a59308a67c8839219d3ee103643c8c 100755 GIT binary patch delta 2330 zcmb`Ie`s4(6vyv-dCl*7dF`MwKB|6qgBe`^R;|;g8xje(%f6e7ROoSm0jn z=bUrTuY2Fk^fBqeF)3CkDe3YaDO=l!Lz@~>|A54(a@>`>EvFIXXkWu8JRlLGR%$FG2X8TK*R$tFhSnALK7 zVTD4D67L3^JJE~5*c^QpQWFX4a6Bd@Xvp#Ox*p}ovUR3EdHLb5?APsg?Wcb03iTz` z#2&itSi5eI(vj3jX-oEVDfqCi^*Vi_X4@Pc0re<-Dc20Q>rpPl{|+nnF&B5kelBi* zHxu;*XDOmaozF}2bj7*JHLtYAXB6&to*r^lufN&)`?h^?os}dscamud_dHK!?f|{x zDtF8)2Nu$MK6P!(fsf>m6nFVZbr)oLEOR$&H(QrX9;cN%@rz1YmiBqVeaN6SIn%c!nJ6ap^f4Q3IGSsbSB1(2PT~*E)DRMz-7%=^T~jzAg<+ zoXou{OKjp$e!nI!skFG!?>%kT&qP0#2+n7mf)xwRQ--tB-W5{KvkxrY*o|m^@X0)TqTV#%T95&q^#(pyPjPgA+RHa2x^fGkjEL1RmK>3eXQfNWCtrV=*q$%23t!1_CC1LZc z0{4PjO{e;nppOYWD)2`FU$C$(S=r7A248^NP+dN<=hxt>puYwlqhO6*4CW`OvnGVX zMs&$!&9t=7I1 z-L5ktHbOd!(j)L*Xv4c2eUjHE1Q@Bp^nsXV~rJZ$JG=|uj zUR{Iq2gG{Ri1jo08|1Rx;6K1;!D|e5TC*!$BXF_6<=|WBZpQy6D=W@wStATSfx(kT zfEF-rURaY_Xe(xX&*4yoxsa1Wi1Pv`!HX(=9xmU!n7Pxk%x*yZE1rW6<7xOs*p?F5 zWz)M@pWVfvF72%6i4E0UR4AY<$GJ)@9)NM{-X(%bYk=I?14 M`ra*!9p(DJ0I)~aV=`U|Zw}1l6!gq!n-*0(+0i@v9(DZZ znA#mr{!fcJtH_(BWhUR|!!16PQ4{$8My*`Pza>sfs2am9K5X*Aij6klDI2T>8}>KJ z6h7D(!xH~OZ2B_adDCj3VKoi}4cgkMD8Gs~IyYf^!)`0+CEDR?4n(Rv*_ZJ$mZ#6d zzU+A#cI}YPljeF@8lz8K+q9&T)>C>uQ%V=ptLc2&Ig==y)P32cl7P;CNAz)%xAc@g zt*5EOo}za9xf|2ECp%P?rwRCsDXEfsiO(8SmXYlV$DuHf?Lm}$#yMlw;Fv0=7C&A5 zSzp&vw69u4JR$JXGLl(Rc*YfSyW8(w8~%N7GGnl!!*WyKQh1gXI^f>t zT2T%cxBM5~5ky&Yw^T$q;11EFo}KF2@NG+^%gW8nN6MDA6^lGCRBd1do~(lc-jmYD zG~1&oQQP4joot=B#e_ftC zQkzmE4t`OMM`lg@=9-Vf)=OdV2hOr0vlw`ug3;pORa0%m2{;VZ$}b6gTHtB$aSvlY z1g^#WH@ThSyPCas(Z1a1~MEbxOC z=J5x>R{};l^|+U@8>Uyz@EUJZwI^MSwVCQw zu3DP*jlkc5C()Ev)4u>t;EM6P##^!h?n0KRX_sNM#`A&yZq|CK(S}J$3bv~fN^Vy* ztMgOBSPaG} z#XG`SSjJFhJN5>Tq1*;@_FL$gb-C|>>nYgDXAE|#eO8+t|Fp_W<%ggSY_+Qbw}7W< zwo{Fd;$(E083&+#jorJ; diff --git a/code/textadv/bin/mc.hex b/code/textadv/bin/mc.hex index 24b37af..f403939 100644 --- a/code/textadv/bin/mc.hex +++ b/code/textadv/bin/mc.hex @@ -1,286 +1,285 @@ -:100000000C9432040C9462040C9462040C94620408 -:100010000C9462040C9462040C9462040C946204C8 -:100020000C9462040C9462040C9462040C946204B8 -:100030000C9462040C9462040C9462040C946204A8 -:100040000C9462040C9462040C9462040C94620498 -:100050000C9462040C9471060C9462040C94620477 -:100060000C9462040C9462040C9462040C94620478 -:100070000C9462040C9462040C9462040C94620468 -:100080000C9462040C9462040C9462040C94620458 -:100090000C9462040C9462040C9462040C94620448 -:1000A0000C9462040C9462040C9462040C94620438 -:1000B0000C9462040C9462040C9462040C94620428 -:1000C0000C9462040C9462040C9462040C94620418 -:1000D0000C9462040C9462040C9462040C94620408 -:1000E0000C9462040C948B0402FDFFC80002FCFF18 -:1000F000C80002FBFFC80002FDFFC80002FCFFC8E9 -:100100000002FBFFC80002FDFFC80002FCFFC800A0 -:1001100002FBFFC80002FDFFC80002FCFFC800028E -:10012000FBFFC80002FDFFC80002FCFFC80002FB85 -: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 -:1008700000E00CBF84B78093390514BE0FB6F8941E -:10088000A89580916000886180936000109260005C -:100890000FBE14E0A0E0B2E0E8E0FFE000E00BBF34 -:1008A00002C007900D92AA3BB107D9F725E0AAEB49 -:1008B000B4E001C01D92A933B207E1F70E943107ED -:1008C0000C9482070C940000CF93C62F0E949906C7 -:1008D0008FEF80BBC1BBEBE0F1E08081857F80833F -:1008E00085E08A95F1F7000080818A608083CF914E -:1008F00008950E94990610BA11BAEBE0F1E08081E8 -:10090000837F808385E08A95F1F700008FB1908125 -:100910009C6090830895CF92DF92EF92FF92CF93E5 -:10092000C82F80E4C82E82E4D82E8FE0E82EF12C68 -:1009300085E00E94790485FD06C081E0C81AD108CF -:10094000E108F108A9F76C2F80E00E94640490E0B0 -:1009500080E0CF91FF90EF90DF90CF90089563E813 -:1009600083E00E94640463E080E00E94640460E02D -:1009700081E00E94640463E083E00E94640480E0FC -:1009800092E090933605809335058EE692E00C94C4 -:100990005607CF9385E00E94790480FF0BC080E06A -:1009A0000E947904C82F0E945C066C2F80E0CF91D2 -:1009B0000C946404CF910895CF93C62F0E9499069A -:1009C0008FEF80BBC1BBEBE0F1E080818D7E808347 -:1009D00085E08A95F1F700008081806180838081C5 -:1009E00082608083CF9108950E94990610BA11BA4F -:1009F000EBE0F1E080818B7E808385E08A95F1F7E2 -:100A000000008FB190819461908308950F931F939C -:100A1000CF93DF9380910F02833009F4B3C0A8F421 -:100A2000813009F444C0CFE7823009F476C0C0E0D9 -:100A300060E08C2F81700E94DC04CF5FCF3FC1F754 -:100A4000DF91CF911F910F910895843009F4C8C0B0 -:100A50001FE7CFEFD0E00FEF853049F76091C0047A -:100A60008FEF860F8E3F28F080910E028195809344 -:100A70000E0280E00E94DC046091C00481E00E94CC -:100A8000DC044091BA045091BB0457FDDFC0809153 -:100A9000BE049091BF040196841795070CF0CAC05C -:100AA0009093BF048093BE041150C1F6C9CFCFE725 -:100AB000E091C004F0E0ED59F84F649181E00E94AC -:100AC000DC04E091C004F0E0ED59F84F649180E05F -:100AD0000E94DC042091BA043091BB0437FD19C098 -:100AE0008091BE049091BF040196821793073CF455 -:100AF0009093BF048093BE04C150D1F6A1CF109251 -:100B0000BF041092BE048091C0048F5F8093C00424 -:100B1000F3CF8091C004821BF9CF8091C00487FF7E -:100B20001DC06FEF80E00E94DC046FEF81E00E9447 -:100B3000DC042091BA043091BB0437FD1FC08091C2 -:100B4000BE049091BF040196821793076CF49093B2 -:100B5000BF048093BE04C15001F772CF60E080E013 -:100B60000E94DC0460E0E2CF1092BF041092BE0449 -:100B70008091C0048F5F8093C004EDCF8091C0044A -:100B8000821BF9CFCFE76091C00480E00E94DC04B3 -:100B90006091C00481E00E94DC042091BA0430918D -:100BA000BB0437FD19C08091BE049091BF0401962B -:100BB000821793073CF49093BF048093BE04C15006 -:100BC00011F73ECF1092BF041092BE048091C00472 -:100BD0008F5F8093C004F3CF8091C004821BF9CF54 -:100BE000CFE7E091BC04F091BD04ED59FC4F649156 -:100BF00081E00E94DC04E091BC04F091BD04ED5959 -:100C0000FC4F649180E00E94DC048091BC049091D0 -:100C1000BD040196811524E0920738F49093BD0439 -:100C20008093BC04C150E9F60BCF1092BD04109222 -:100C3000BC04F8CF1092BF041092BE048091C0048F -:100C400090910E02890F8093C0042ECF20910E0246 -:100C50002403B001259F700D11248091C004FE0172 -:100C6000E81BF109E617F7071CF40093C0041CCF3A -:100C7000249F202D11242093C00416CF80E00E94D1 -:100C8000F40480FF0C9406050895E091C104E43655 -:100C900050F01092C104EFECF4E084E6DF011D9205 -:100CA0008A95E9F70895F0E0E253FB4F80818A309E -:100CB00081F38D3071F30895E091C10491E09E0FAE -:100CC0009093C104F0E0E153FB4F8083089582E8E4 -:100CD00084BD84E085BD80E487BD82E080936E00A2 -:100CE00008951F920F920FB60F9211240BB60F9218 -:100CF0002F933F934F935F936F937F938F939F9324 -:100D0000AF93BF93EF93FF930E94BE06FF91EF91C5 -:100D1000BF91AF919F918F917F916F915F914F9113 -:100D20003F912F910F900BBE0F900FBE0F901F9011 -:100D300018958093080108958FEF80BB8093070179 -:100D400080930A011092080111BAEBE0F1E01082E1 -:100D500080818F6180838FE891E00197F1F700C077 -:100D6000000080818E7F808308950E943E060E944D -:100D7000C9040E94450690E080E008956091C20495 -:100D80007091C3046115710529F41092CE0410927C -:100D9000CD0408958091CD049091CE040196909356 -:100DA000CE048093CD042091C6043091C7044091B5 -:100DB000CB045091CC048417950720F46217730775 -:100DC00021F408956217730761F01092C504109220 -:100DD000C4041092CE041092CD047093C7046093A3 -:100DE000C6042091C4043091C50445E0429FC0016F -:100DF000439F900D1124680F791F45E050E088EC67 -:100E000094E00E944D078091CB049091CC04892BF3 -:100E100071F41092C5041092C4046091C2047091E0 -:100E2000C30445E050E088EC94E00E944D078091B7 -:100E3000C80480930F028091C9049091CA049093D2 -:100E4000BB048093BA041092CE041092CD0480911A -:100E5000C4049091C50401969093C5048093C40482 -:100E60000895F8940E949C060E94AF040E946706B1 -:100E700080E092E09093C3048093C204789488E168 -:100E80009EE00FB6F894A895809360000FBE9093F3 -:100E90006000A8950E94B506FCCFFB01DC0102C0F2 -:100EA00005900D9241505040D8F708950F931F932D -:100EB000CF93DF93E0913505F0913605238110E063 -:100EC00000E021FD0EC00FEF1FEFC801DF91CF91B1 -:100ED0001F910F9108951995892B11F00FEF1FEFB6 -:100EE000CE01EC0189916091350570913605DB01E9 -:100EF0001896ED91FC918111EECF8AE01995892B1E -:080F000021F3E1CFF894FFCFCB -:100F080000000002000000008B0400000000010146 -:100F1800740280028D0291029902A602AF02B60203 -:100F2800C902D702E102EC02F60202030803110328 -:100F38001F03C902D702E102EC02F602020308030A -:100F48001103CE03D403DA03DF03E403EA03EE0359 -:100F5800F40307041B0435043C04420448044D040C -:100F6800520463046B0477048D049C04AB04494E5B -:100F780049540D00464C4F505059204449534B009A -:100F8800534352455720445249564552004B455900 -:100F9800005341555341474500524F5454454E2044 -:100FA800464C455348004B4559424F415244005026 -:100FB8004953544F4C004E4F5448494E474C4F4E9E -:100FC800454C5920524F414400532F4E204449521A -:100FD8005420524F41440046495245504C414345E4 -:100FE800004E2F5720537472656574004F4C44208F -:100FF800484F555345004C4956494E4720524F4F8C -:101008004D00415454494300424153454D454E54C7 -:1010180000434F4D505554455220524F4F4D0059A3 -:101028006F7520737461726520696E746F2061201A -:10103800766F6964206F66206E6F7468696E676E7C -:101048006573732E20596F7520736565206E6F6FF9 -:101058006E652C20796F752068656172206E6F6FE0 -:101068006E652C796F75206665656C20736F6D658C -:101078006F6E652E0D0A20596F75206C6F6F6B208F -:1010880061726F756E642C20616E642073656520D3 -:101098006E6F7468696E672C2079657420796F7536 -:1010A80020617265206E6F206C65737320736361B5 -:1010B8007265642E20596F75206861626520776FAC -:1010C8006E2E4C4F4E454C5920524F4144006E6F86 -:1010D80072746800736F757468007765737400655F -:1010E8006173740073686F6F74007573650045529F -:1010F800524F5200596F752063616E277420646FD8 -:1011080020746861742100596F752063616E2774BB -:1011180020757365207468617421005768617420B4 -:1011280061726520796F7520676F696E6720746FCB -:1011380020646F3F00676F696E6720004E4F5254FE -:101148004800534F555448004541535400574553A0 -:101158005400594F55204D415920414354204E4F7A -:101168005721006974206469656400697420737587 -:101178007276697665640061206265617220626CCE -:101188006F636B73207468652077617900697420D8 -:1011980072616E20617761792E2E2E006974207736 -:1011A8006F6E277420737461727400796F75206391 -:0A11B800616E2774207479706500E1 +:100000000C942D040C945D040C945D040C945D041C +:100010000C945D040C945D040C945D040C945D04DC +:100020000C945D040C945D040C945D040C945D04CC +:100030000C945D040C945D040C945D040C945D04BC +:100040000C945D040C945D040C945D040C945D04AC +:100050000C945D040C946C060C945D040C945D048B +:100060000C945D040C945D040C945D040C945D048C +:100070000C945D040C945D040C945D040C945D047C +:100080000C945D040C945D040C945D040C945D046C +:100090000C945D040C945D040C945D040C945D045C +:1000A0000C945D040C945D040C945D040C945D044C +:1000B0000C945D040C945D040C945D040C945D043C +:1000C0000C945D040C945D040C945D040C945D042C +:1000D0000C945D040C945D040C945D040C945D041C +:1000E0000C945D040C94860402FEFF500002FDFF98 +:1000F000500003FCFFAA000000001E0003FAFFAA44 +:10010000000000001E0003FAFFAA000000001E000D +:1001100002FEFF500002FDFF500003FCFFAA00009A +:1001200000001E0003FAFFAA000000001E0003FAF0 +:10013000FFAA000000001E0002FEFF500002FDFFAB +:10014000500003FCFFAA000000001E0003FAFFAAF3 +:10015000000000001E0003FAFF2C0103FCFF8200D8 +:1001600003FEFF8200000000500002FFFF5000026B +:10017000FEFF500003FDFFAA00000000140003FB77 +:10018000FFAA00000000140003FBFFAA000000000B +:100190001E0002FFFF500002FEFF500003FDFFAAF9 +:1001A00000000000140003FBFFAA00000000140080 +:1001B00003FBFFAA00000000140002FFFF50000232 +:1001C000FEFF500003FDFFAA000000001E0003FB1D +:1001D000FFAA000000001E0003FBFF2C0103FDFF2F +:1001E000820003FFFF82000000005000000000F4C6 +:1001F0000100000000000200006400020A00640028 +:100200000200006400020A006400020000640004AE +:100210000000C800010A00320001F6FF3200010AA6 +:1002200000320001F6FF32000200006400020A0002 +:1002300064000200006400020A006400020000641E +:1002400000040000C800010A00320001F6FF32007D +:10025000010A00320001F6FF3200020000640002D1 +:100260000A0064000200006400020A006400020048 +:10027000006400040000C800010A00320001F6FF1B +:100280003200010A00320001F6FF32000200006471 +:1002900000020A0064000200006400020A00640018 +:1002A0000200006400040000C800010A00320001DE +:1002B000F6FF3200010A00320001F6FF32000200B0 +:1002C000006400020A0064000200006400020A00E8 +:1002D00064000200006400040000C800010A00324B +:1002E0000001F6FF3200010A00320001F6FF320081 +:1002F00002FEFF6400020800640002FEFF640002C8 +:100300000800640002FEFF6400040000C800010C45 +:1003100000320001F8FF3200010C00320001F8FF4A +:10032000320002FDFF6400020700640002FDFF646A +:1003300000020700640002FDFF6400040000C80022 +:10034000010D00320001F9FF3200010D0032000101 +:10035000F9FF32000000000000300C03DF31FA2BFF +:1003600078D5D86C2945A1026969918D6571B8432A +:10037000DEF2F6786E1DBF344ECB382EFD32597545 +:100380000732E231778433E1EDC56E523627961598 +:10039000198D8D88AB4DBCF918F5271627818C2F48 +:1003A000B46E602BF2940CE0597B338FA3C9A4BDCB +:1003B000573245027F02FB98F723AE1EA53A4D59EE +:1003C000A9AE849B42917C9B0CB02BB07ACF6DD1AF +:1003D00002B2D381B4CE19ACF2C7CB970218F0ABFE +:1003E000C774470906C4A51374D0C3EEA030BFA2DA +:1003F000E2922497613D4453050FEA0728DAB3EFF0 +:100400004FFAF955BE9F68336F2B21105CE0B23F65 +:1004100073D6D7D4141B271A2A122153ECD5423C89 +:10042000CF3C918EDBFAC24B26E35B82C40EC13710 +:10043000E5980BFAB43314DE453631320B746EDBBB +:10044000B1006A8CFA2CD7210F33A3D342650A2757 +:10045000FE1621B24935918E6BC3C077382E52E912 +:100460002FBC7629E84D4BF781EFCBC354D5EB5326 +:10047000EC0D06354398C3AF5B842694B3787DE2D8 +:1004800035F30C1D415715C346E0879BB672EEA3AA +:100490007FF5D8C28D9C72E920987DD311FBB546BB +:1004A000EFC164311979F45F5A7BFA11EEE9B46E49 +:1004B000DE8C316C29A355493BD31C4DCED293BE63 +:1004C00094F7EFAD71E40DCC6008DD4EF192BCD035 +:1004D0001FED3C48909291CC65AE193481ADF21578 +:1004E000A5E2C317C6D0E327D8C175CA53329B72A1 +:1004F0001FD8BBB06A4D7DD0FB97047D45F793EACA +:10050000D95601A027E4C700A53DCBF96F666C8FD3 +:100510003F2740A974BE7A70557FEE9A7681855048 +:10052000D787F1FF6BB9FF11F7CA0B673177F77007 +:100530009F371A14F694854B1373E68AF46CDBCB61 +:10054000F3CCCB5F86CA717D957CE4C6F4DC369330 +:100550001350A70AE52D55F9A03C8394A95F609C30 +:100560002B2BFCB2F66D308BE91451DEF088710450 +:10057000D8190EBE4664B7E6A13B7B4A9ADBE7C6B4 +:1005800007E378FD51A8883BBDDA19AE628AB33A19 +:10059000A4C2F9EB26B0D2C8EC4D138629FA4D302F +:1005A000DEC62E2F6FB66A2D9083DBF20E8F2DB331 +:1005B00051279E78D87140C4BE544BE84E98182DF0 +:1005C0005F465DCEFDC7FB8E4BD7815A66AF0EB737 +:1005D000D6AC2FAE1D7072DCC4BDC41356DD40B660 +:1005E000249D84216580B0B157310BBDE01975B6EB +:1005F000C6A564E415D7C1DA9585EDEC632EA28714 +:10060000CC26A932A659E3FD8AEFBB6B093021CF76 +:10061000D586B4EB5D75C5F3FBB3DF5EE281E6AF73 +:10062000A78FE14EE8C54C73B407DFBE38018E0DCD +:100630008742F8E5B8BED8B472B7125439F904E06D +:1006400088E62F71AB7BE56083C41EBBC5ACC94D8A +:10065000EFC233A7800C5BF3C36E48FC674CDDF040 +:10066000320D61DD88473E0B0B5CC7D109901EF847 +:1006700052529FD25EFBC622690E1FD15AFDC28C18 +:100680000A236A926AA99E760565470EF5660647B3 +:10069000B9A61A17A2E0390CEE59DD49569FD6606B +:1006A000C341F32EEA91A4F0F7ECFEEC5305340CB1 +:1006B000AC4F244E2F5D5A1EB738670DD83E6D9C47 +:1006C0007F61CA69F26F59E95C58D6B05E0BBC0A0B +:1006D0005AE0598A3EB4A8F5EC1003C54E7161CEBC +:1006E000D22C37C49C91AEF8EA85A848906552EBAD +:1006F00046AC7584601E7A4D2F7D137DEE744CC020 +:10070000A183853D153436FFBADF474B449A368ABC +:1007100047AC0FA7CA89F5F9070877F57DC3B61F5F +:10072000473C5C5C71935C2B72A376B73EAC418511 +:1007300058512D23DB221CE22B93D8A8578FC79E3C +:10074000CB24FB3CB757682AFBDEE1398B23BFE49F +:1007500074EC074F0F24323AB87F8285888C8F92D1 +:1007600095989B9EA1A4A7AAADB0B3B6B9BBBEC1D4 +:10077000C3C6C9CBCED0D3D5D7D9DCDEE0E2E4E620 +:10078000E8E9EBEDEEF0F1F2F4F5F6F7F8F9FAFB43 +:10079000FCFCFDFDFEFEFEFEFEFEFEFEFEFEFDFD81 +:1007A000FCFCFBFAFAF9F8F7F6F4F3F2F0EFEDECF3 +:1007B000EAE8E7E5E3E1DFDDDBD8D6D4D1CFCCCA88 +:1007C000C7C5C2BFBDBAB7B4B1AFACA9A6A3A09DFF +:1007D0009A9693908D8A8784817D7A7774716E6BF7 +:1007E0006864615E5B5855524F4D4A4744413F3CF7 +:1007F000393734322F2D2A282623211F1D1B191784 +:10080000161412110F0E0C0B0A0807060504040338 +:1008100002020101000000000000000000000101D0 +:100820000202030405060708090A0C0D0E10111335 +:100830001516181A1C1E20222527292B2E30333579 +:10084000383B3D404345484B4E5154575A5D6063D9 +:1008500066696C6F7276797C7F0011241FBECFEFC2 +:10086000D1E2DEBFCDBF00E00CBF84B78093390575 +:1008700014BE0FB6F894A8958091600088618093AB +:100880006000109260000FBE14E0A0E0B2E0EEEF56 +:10089000FEE000E00BBF02C007900D92AA3BB1073B +:1008A000D9F725E0AAEBB4E001C01D92A933B20745 +:1008B000E1F70E942C070C947D070C940000CF9365 +:1008C000C62F0E9494068FEF80BBC1BBEBE0F1E026 +:1008D0008081857F808385E08A95F1F700008081A3 +:1008E0008A608083CF9108950E94940610BA11BA4D +:1008F000EBE0F1E08081837F808385E08A95F1F7EA +:1009000000008FB190819C6090830895CF92DF9218 +:10091000EF92FF92CF93C82F80E4C82E82E4D82EA6 +:100920008FE0E82EF12C85E00E94740485FD06C05E +:1009300081E0C81AD108E108F108A9F76C2F80E01E +:100940000E945F0490E080E0CF91FF90EF90DF90F5 +:10095000CF90089563E883E00E945F0463E080E045 +:100960000E945F0460E081E00E945F0463E083E036 +:100970000E945F0480E092E09093360580933505F5 +:100980008EE692E00C945107CF9385E00E947404A8 +:1009900080FF0BC080E00E947404C82F0E9457069D +:1009A0006C2F80E0CF910C945F04CF910895CF938A +:1009B000C62F0E9494068FEF80BBC1BBEBE0F1E035 +:1009C00080818D7E808385E08A95F1F700008081AB +:1009D00080618083808182608083CF9108950E94AE +:1009E000940610BA11BAEBE0F1E080818B7E80832F +:1009F00085E08A95F1F700008FB190819461908332 +:100A000008950F931F93CF93DF9380910F0283304C +:100A100009F4B3C0A8F4813009F444C0CFE78230B0 +:100A200009F476C0C0E060E08C2F81700E94D7048A +:100A3000CF5FCF3FC1F7DF91CF911F910F91089505 +:100A4000843009F4C8C01FE7CFEFD0E00FEF853046 +:100A500049F76091C0048FEF860F8E3F28F0809198 +:100A60000E02819580930E0280E00E94D70460916F +:100A7000C00481E00E94D7044091BA045091BB04A5 +:100A800057FDDFC08091BE049091BF04019684178A +:100A900095070CF0CAC09093BF048093BE04115018 +:100AA000C1F6C9CFCFE7E091C004F0E0E75AF84FB4 +:100AB000649181E00E94D704E091C004F0E0E75A1D +:100AC000F84F649180E00E94D7042091BA043091DD +:100AD000BB0437FD19C08091BE049091BF040196FC +:100AE000821793073CF49093BF048093BE04C150D7 +:100AF000D1F6A1CF1092BF041092BE048091C00421 +:100B00008F5F8093C004F3CF8091C004821BF9CF24 +:100B10008091C00487FF1DC06FEF80E00E94D70462 +:100B20006FEF81E00E94D7042091BA043091BB049A +:100B300037FD1FC08091BE049091BF0401968217BB +:100B400093076CF49093BF048093BE04C15001F7E7 +:100B500072CF60E080E00E94D70460E0E2CF1092A4 +:100B6000BF041092BE048091C0048F5F8093C004C4 +:100B7000EDCF8091C004821BF9CFCFE76091C00414 +:100B800080E00E94D7046091C00481E00E94D704F5 +:100B90002091BA043091BB0437FD19C08091BE0486 +:100BA0009091BF040196821793073CF49093BF0481 +:100BB0008093BE04C15011F73ECF1092BF04109233 +:100BC000BE048091C0048F5F8093C004F3CF8091F6 +:100BD000C004821BF9CFCFE7E091BC04F091BD04C3 +:100BE000E75AFC4F649181E00E94D704E091BC0475 +:100BF000F091BD04E75AFC4F649180E00E94D70455 +:100C00008091BC049091BD040196811524E0920767 +:100C100038F49093BD048093BC04C150E9F60BCF27 +:100C20001092BD041092BC04F8CF1092BF04109231 +:100C3000BE048091C00490910E02890F8093C0047D +:100C40002ECF20910E022403B001259F700D112498 +:100C50008091C004FE01E81BF109E617F7071CF4B8 +:100C60000093C0041CCF249F202D11242093C00486 +:100C700016CF80E00E94EF0480FF0C9401050895D8 +:100C8000E091C104E43650F01092C104EFECF4E0BE +:100C900084E6DF011D928A95E9F70895F0E0E253BA +:100CA000FB4F80818A3081F38D3071F30895E0919C +:100CB000C10491E09E0F9093C104F0E0E153FB4F1B +:100CC0008083089582E884BD84E085BD80E487BD8B +:100CD00082E080936E0008951F920F920FB60F92DC +:100CE00011240BB60F922F933F934F935F936F9303 +:100CF0007F938F939F93AF93BF93EF93FF930E9444 +:100D0000B906FF91EF91BF91AF919F918F917F9124 +:100D10006F915F914F913F912F910F900BBE0F906C +:100D20000FBE0F901F9018958093080108958FEFC4 +:100D300080BB8093070180930A011092080111BAC9 +:100D4000EBE0F1E0108280818F6180838FE891E099 +:100D50000197F1F700C0000080818E7F80830895A5 +:100D60000E9439060E94C4040E94400690E080E080 +:100D700008956091C2047091C3046115710529F44E +:100D80001092CE041092CD0408958091CD049091DC +:100D9000CE0401969093CE048093CD042091C60496 +:100DA0003091C7044091CB045091CC04841795072F +:100DB00020F46217730721F408956217730761F036 +:100DC0001092C5041092C4041092CE041092CD0467 +:100DD0007093C7046093C6042091C4043091C50485 +:100DE00045E0429FC001439F900D1124680F791F79 +:100DF00045E050E088EC94E00E9448078091CB04E5 +:100E00009091CC04892B71F41092C5041092C40403 +:100E10006091C2047091C30445E050E088EC94E016 +:100E20000E9448078091C80480930F028091C904F2 +:100E30009091CA049093BB048093BA041092CE049C +:100E40001092CD048091C4049091C50401969093B2 +:100E5000C5048093C4040895F8940E9497060E94E4 +:100E6000AA040E94620688EE90E09093C3048093E7 +:100E7000C204789488E19EE00FB6F894A895809318 +:100E800060000FBE90936000A8950E94B006FCCF52 +:100E9000FB01DC0102C005900D9241505040D8F793 +:100EA00008950F931F93CF93DF93E0913505F09151 +:100EB0003605238110E000E021FD0EC00FEF1FEF8B +:100EC000C801DF91CF911F910F9108951995892B3A +:100ED00011F00FEF1FEFCE01EC0189916091350504 +:100EE00070913605DB011896ED91FC918111EECFE2 +:0E0EF0008AE01995892B21F3E1CFF894FFCF0A +:100EFE000000000200000000860400000000010156 +:100F0E00740280028D0291029902A602AF02B6020D +:100F1E00C902D702E102EC02F60202030803110332 +:100F2E001F03C902D702E102EC02F6020203080314 +:100F3E001103CE03D403DA03DF03E403EA03EE0363 +:100F4E00F40307041B0435043C04420448044D0416 +:100F5E00520463046B0477048D049C04AB04494E65 +:100F6E0049540D00464C4F505059204449534B00A4 +:100F7E00534352455720445249564552004B45590A +:100F8E00005341555341474500524F5454454E204E +:100F9E00464C455348004B4559424F415244005030 +:100FAE004953544F4C004E4F5448494E474C4F4EA8 +:100FBE00454C5920524F414400532F4E2044495224 +:100FCE005420524F41440046495245504C414345EE +:100FDE00004E2F5720537472656574004F4C442099 +:100FEE00484F555345004C4956494E4720524F4F96 +:100FFE004D00415454494300424153454D454E54D2 +:10100E0000434F4D505554455220524F4F4D0059AD +:10101E006F7520737461726520696E746F20612024 +:10102E00766F6964206F66206E6F7468696E676E86 +:10103E006573732E20596F7520736565206E6F6F03 +:10104E006E652C20796F752068656172206E6F6FEA +:10105E006E652C796F75206665656C20736F6D6596 +:10106E006F6E652E0D0A20596F75206C6F6F6B2099 +:10107E0061726F756E642C20616E642073656520DD +:10108E006E6F7468696E672C2079657420796F7540 +:10109E0020617265206E6F206C65737320736361BF +:1010AE007265642E20596F75206861626520776FB6 +:1010BE006E2E4C4F4E454C5920524F4144006E6F90 +:1010CE0072746800736F7574680077657374006569 +:1010DE006173740073686F6F7400757365004552A9 +:1010EE00524F5200596F752063616E277420646FE2 +:1010FE0020746861742100596F752063616E2774C6 +:10110E0020757365207468617421005768617420BE +:10111E0061726520796F7520676F696E6720746FD5 +:10112E0020646F3F00676F696E6720004E4F525408 +:10113E004800534F555448004541535400574553AA +:10114E005400594F55204D415920414354204E4F84 +:10115E005721006974206469656400697420737591 +:10116E007276697665640061206265617220626CD8 +:10117E006F636B73207468652077617900697420E2 +:10118E0072616E20617761792E2E2E006974207740 +:10119E006F6E277420737461727400796F7520639B +:0A11AE00616E2774207479706500EB :00000001FF diff --git a/code/textadv/build/main.o b/code/textadv/build/main.o index 06ed4eeb9caa6c56a83e034866bff390bce02d34..af633805e91494fb9ed77e2b4db384a74285d5d9 100644 GIT binary patch delta 98 zcmcb>dxm#{0^^*GisejdrMZE$sTWpZC~Z*Oe?V|8+JWo~p|baG*1 tYXAVVf&+R10f>|R1fK!Klbr=m0nn4}1)~AolaU4^1v~@*0AZ6+1rx*IAHDzp diff --git a/code/textadv/build/sound.o b/code/textadv/build/sound.o index e95c1058ff45ac76a8415bdf36223fe719978752..1fd7be785e52129a9704cfe6d1b03693b5a27bfe 100644 GIT binary patch delta 362 zcmca0azbQ+0^^Q}iofdr{SRPZ`U@nO|NLLY00eRj%)c;MOw>}R!w9sfiGleakN|>u zpzZ%bP5_zD{1;-e2m|wPbe0^E>O`=p19}N+9+(Am!e5XR{sRdvpc?`}4*9~kS(mAs zaq~9jC`MjBMg|5!23CgKKncFhvaHN3j2e>_Ijb29C(q?nX6&APkW-y;!Q_`f(qOV6 Tm%2m=2Lpo>$QUR9>IVY=tk-Nc delta 364 zcmX>hazSK*0^@;+iofdr{y)LM^an)z1`+h;){|-R1V*5vfy8eR@fSoOa}}6@+!kh_ z>^}_cNsc@%zmim?Ic@K}rP~ zSQ%~uWhFL?vNE$U8cdettY)m9Je5OV 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..6e9dc14 100644 --- a/code/textadv/include/structures.h +++ b/code/textadv/include/structures.h @@ -23,5 +23,9 @@ 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[]; +extern const char* room_table[]; +extern const char* room_description_table[]; +extern const char* item_table[]; #endif diff --git a/code/textadv/src/main.c b/code/textadv/src/main.c index d20aaaa..9967af0 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 c1b9c3f..a7f1036 100644 --- a/code/textadv/src/structures.c +++ b/code/textadv/src/structures.c @@ -362,18 +362,19 @@ const char* info_table[] = { }; const char* action_table[] = { + "help", "north", "south", "west", "east", - "shoot", + "describe", "use" }; -const char* room_table[] = { +const char* room_description_table[] = { "You stare into a void of nothingness. You see noone, you hear noone," "you feel someone.\r\n You look around, and see nothing, yet " - "you are no less scared. You habe won." + "you are no less scared. You have won.." "LONELY ROAD", "S/N DIRT ROAD", "FIREPLACE", @@ -385,7 +386,7 @@ const char* room_table[] = { "COMPUTER ROOM" }; -const char* room_description_table[] = { +const char* room_table[] = { "NOTHING" "LONELY ROAD", "S/N DIRT ROAD", 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 cfa5e2f8aed36a7208dccc2de72ff6afbcb588e5..e9610839bcdf54158b496e2d4b62fba3967612cb 100644 GIT binary patch literal 24274 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 X)zjI`9GQcYmx~RVnp#p>3i-bPLZ@tu literal 130 zcmWN?%MrpL5CG6SRnUL|cKIdU0J{h?DjC5XtX|*cUHqPXykuMJoQG2PzHW~?xBu;v zw=$k;o?O&r#ONevOW^!r_e#hbbBY*?3pJzH+B?dbQvhPmJD5ryktqc(7Tk^@ni>re ML^1o9C4fZ`KmXDv%m4rY 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.