From 836dce915b69325c9a909ad4e7aa33b6954c8075 Mon Sep 17 00:00:00 2001 From: Milang Date: Sat, 11 Jan 2020 15:19:53 +0100 Subject: [PATCH] ajout des plateformes et corrections bug clavier --- SuperCbr.g1a | Bin 58900 -> 59896 bytes assets-fx/img/mainmenu.png | Bin 10489 -> 10445 bytes assets-fx/img/options.png | Bin 0 -> 1566 bytes assets-fx/img/plateforme.png | Bin 0 -> 552 bytes assets-fx/img/w4.png | Bin 1577 -> 707 bytes build-fx/SuperCbr.bin | Bin 58388 -> 59384 bytes build-fx/SuperCbr.elf | Bin 75664 -> 77180 bytes build-fx/assets/img/mainmenu.png.o | Bin 1448 -> 1448 bytes build-fx/assets/img/options.png.o | Bin 0 -> 1444 bytes build-fx/assets/img/plateforme.png.o | Bin 0 -> 444 bytes build-fx/assets/img/w4.png.o | Bin 1432 -> 492 bytes build-fx/map | 1183 +++++++++++++------------- build-fx/src/keyboard.c.o | Bin 2204 -> 2076 bytes build-fx/src/level.c.d | 4 +- build-fx/src/level.c.o | Bin 14584 -> 14912 bytes build-fx/src/levelchanger.c.d | 4 +- build-fx/src/levelchanger.c.o | Bin 2488 -> 2464 bytes build-fx/src/main.c.o | Bin 940 -> 888 bytes build-fx/src/plateforme.c.d | 15 + build-fx/src/plateforme.c.o | Bin 0 -> 1884 bytes build-fx/src/score.c.o | Bin 2056 -> 2100 bytes build-fx/src/tile.c.o | Bin 2216 -> 2304 bytes build-fx/src/world.c.d | 4 +- build-fx/src/world.c.o | Bin 3920 -> 4116 bytes include/keyboard.h | 2 + include/plateforme.h | 53 ++ include/tile.h | 2 + src/keyboard.c | 142 ++-- src/level.c | 25 +- src/levelchanger.c | 37 +- src/main.c | 3 - src/plateforme.c | 122 +++ src/score.c | 5 +- src/tile.c | 3 + src/world.c | 9 +- 35 files changed, 939 insertions(+), 674 deletions(-) create mode 100644 assets-fx/img/options.png create mode 100644 assets-fx/img/plateforme.png create mode 100644 build-fx/assets/img/options.png.o create mode 100644 build-fx/assets/img/plateforme.png.o create mode 100644 build-fx/src/plateforme.c.d create mode 100644 build-fx/src/plateforme.c.o create mode 100644 include/plateforme.h create mode 100644 src/plateforme.c diff --git a/SuperCbr.g1a b/SuperCbr.g1a index da285a8d53dd22735e6a6a9606dd2e4487bbf059..b5a695ef2b72f3eb325a8be9e19d25cfcb1b26b6 100644 GIT binary patch delta 7429 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 delta 6605 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 diff --git a/assets-fx/img/mainmenu.png b/assets-fx/img/mainmenu.png index a217b56628e83302aa831b42d52bb62957b42e4b..8f4c0d02f934f57821fc412eeb4f130a30f129f1 100644 GIT binary patch delta 8864 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 diff --git a/assets-fx/img/options.png b/assets-fx/img/options.png new file mode 100644 index 0000000000000000000000000000000000000000..56477e20109c1c696971a8bdb76282c429f79dde GIT binary patch literal 1566 zcmV+(2I2XMP)EX>4Tx04R}tkv&MmP!xqvQ^g{c4t5Z6$j~}j5EXIMDionYs1;guFnQ@8G-*gu zTpR`0f`dPcRR`~Iu}wO}zIAQI0q!?cMvh^IGg zgY!Odl$B+b_?&pmqyrK^a$WKGjdRImfoDd|Y-XM~N-UPTSm|O`HZ|fY;+U%GlrQ8w zRyl8R)~a>ZJ}19nxS+2rbDh=*QdqWZ_mlRF{y)TaQ5eNEqfmXwDzKHE(Y1eVjf3S(;V)1~@nb zMoW~v?sM-@_uT&NY0vKm1lw|ZsKaTm00009a7bBm000XU000XU0RWnu7ytkO2XskI zMF->o2oWSR>Iu7?0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbR z2uVaiRCwC$UE7kwAP8+b{QobzPnoeUa#0XX;HjHtmCEq|ipf<cnfxIM6B9*i+GNEeXW%8ff^xH=cA#5 zRXcB*sh;EBUWfb3mIbT~Rkz*tLn*A84bmASac^8(Ql`}C-O}_*8vr&qb;p*9aA?H_ zr0&0`hx8t9R^9h#^=Yrw?MU?Taw9#xYMo#OJxf@ioiS8EN*R-LWzu^z`be0Cqjs;^ z&)FBWvvNhG$_)Z{of>RSjH59M2Lj6A-Yh_k8E9$JI~F)Cu%z4%28vmrS!Mz#14Is{ z1hLl9F~xXNeW<{8m#nA9eBVd||13x}zSc8Ps{6qH*6K5}c(%g#Qv$o7v$qW0W+byS zU6U?q^pOOtJFbUZ^=8m21V*ENr$wLDkj&D#w$jYOdu+dxXa^tze50P6x$Nx{cX z?6j+1n*PDsSSKxrtf+aAmY{JHZKh3g0AK|c+5jk;CReS)OWUQu*nVfJD|r5B$xaxy zExe)z5!1no)g)uYRU2XVTI@7}#q8mN5Kg(3hf#Wl_5y*VJ#NbzE9|sl0@X9(vkOUl;?*y8LWldz z0omfWfG65#%Cep!8e@#QpBeCi=a1CZ^Q~F~h|B_Z>jPFHoC3q@6|-Iz5X}G)eSjAl zC3$UB{ISwt8nBNtQ5XYIK7W)_z0)wRZEJR-+#{BLQs)mT7Z%O{y_$IL@TLa{W)@2* zP>%vy>VkTOvf5xeEDO-&;*!&}qf}_I{!Ya%8oe}>zk2qY0zkU#OXcF0k-cVSO8<9c z^GLE@FL}NJ)>hbF0GCclm5}Uwc^iME4b9$#^pLA&H_$R*HFp6PO3nK1RXR#QAk8{7 zYy08#0G?6%)6NTcfHR~XK(dh%F^G}RHQZG%RUj-m9h}v-=jkQY4Q6M5B%)KVc@_X` zO4;4VzFn_Y@@Ux01#$?^6HE7!065U_+n0r>_($|JEU?`(f>PwhpJjp2=LDwA8^8Bl zrBOym037N9tkxb900$c#oB3K0e6a@e>0M_4L33okXV>og0wNw4pP~mvZP=0e3gA+O zH$Tet1V)&xt<3iZJ}fTao?3#wG^&?w)IKFyU=QPSfu7{#@xPZwwJ$kJqwgs*i$Co` z(!cixa+SL28upm|v;Y4O2zNzLKEwY#vBS^jwj?Z5zvr{aPi&B{kAJuP0i_)FEvcp5 Qd;kCd07*qoM6N<$g6MAEbpQYW literal 0 HcmV?d00001 diff --git a/assets-fx/img/plateforme.png b/assets-fx/img/plateforme.png new file mode 100644 index 0000000000000000000000000000000000000000..35cd9d06f7dfe34956ea39cf8b126c4eced85b63 GIT binary patch literal 552 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 Gj{gs4{(++a delta 6566 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 K;fa7@?0*4QFYhJ* delta 16089 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 Z0`g!@dqc(@k|SJwuK28%gez&!{s(*wrV#)D diff --git a/build-fx/assets/img/mainmenu.png.o b/build-fx/assets/img/mainmenu.png.o index 4e861e9f57471c7c97e9285560a684d38f17dbfb..4597f65b75e543907f4a938a236faf191be0436f 100644 GIT binary patch delta 19 bcmZ3%y@Gp#Cd))G-pTJ-WHtw}gfRjDLrw-R delta 30 dcmZ3%y@Gp#CJQg)e+2k9*^otUa|lZaBLD_!5Q_i+ diff --git a/build-fx/assets/img/options.png.o b/build-fx/assets/img/options.png.o new file mode 100644 index 0000000000000000000000000000000000000000..2f1579b1d630f4d56a3699b1504075578459a72e GIT binary patch literal 1444 zcma)6&ubGw6n-<=k`07*4Or4DHPQu352B!uLt$5GC5BMKf;S;XTC|7$Ak9I0$s&d3 zWQ%y{L1_+^{tFdKvIo8NZ}8B9XN}3Fm5}wD{ng#{P#?_B`{sM|-kUe`wl-II!Z@Qq z7)?VDEl58c?t$~2q9KwFXS^teZqB<6skb zvy&srD!_$(>3#M1I|r756XkuWK05w|Bd~+DnfP|M`?=>~$#fH98JCy*d_Bxvn#AG7 z{+Q2OF7|0L3qCBDv4-82@F3juWkrYiZLwt&gUQMsmOs=$J%!S%D^1%zF-%Z-@Vu@Z z*>>A7naT3@$kyMwav1Lca~=G>7vK-s*&D-@GA!S-#=sx-+F8St74X}2@J(CbRF37( zm09pDTi6e;u{^u;4SdV?{dIDD1Nc zIYF{vwnu#bO)Z%;wunx>_)RU|H+Gph=I1xT`bHyW4SD&ul9V*8_({w=UkgQcEDOIlvbN-os8N>c62xFw5-9c+Y{b zM<26z?}4z#KP~h_AZ&Js&@X|oTq2Er3WSw9Y9)+yK97F9kXpZj9tw*(*w10|Djm6s z|3~l-L2ZOSOe9HSuZM44VEYf1mX=?YR@bUat1IgfP+DABh%T%zZ7dSqU4Oe=Ex*KE zt+?}RU#qMxl&fVC>VM@13`LH9kK=FW=IS}{&l0u)C1vp`VuJflVq|~=Mg}b)8%coS3s}wsOlmN&GO#c(7%)Eoau)zGh{gw)A!fnN6M*mq zfqH;UFaeTNMezTBWQfnqO^+|gNi0cC%P-1JMd!z-=A~eW6=znZGBD^BSLT)^CIRV^ zA_$!UV-@A6B$gzC>?8q51J#1u#{|^_3I(vcp?sLXkkx>sT!1(Lh=JY*>jj1xSRW@; g3`l{&6d-8@WrHY~d7$tC>4kxFK!!4m1Ej&~0HLug&;S4c literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/w4.png.o b/build-fx/assets/img/w4.png.o index 897aefe29121e5a60482cb288e845b3d090b4a13..55a4b60c0864921761920654c1d7a5ac29f5c3b3 100644 GIT binary patch delta 186 zcmbQi{f2phQU;?60|=OaNeu>81{Ma!08tQ+x$^)62UwVaLHX|o1|N0-20;b^24z+O z27Mq717aT_b_8Ol1_1{D{{jpqi~kLxyd0c zQbG(7ATtFR7#M*R$fAhJ4J>_3KuUmBiHV_SvI(mi6T_X!F|2B04F7=g%0LVQAUzBK Deo7py literal 1432 zcmb`H&ubGw6vt<$t7s0=6a-Q1AysG!dI&vKPbD;=Eh18KFO?Q;p$ct5EKR#Jo78j< zVpdTpBDM5~jiE?SDrkcg13md4DE$M}UZk{f$M@cDw%G`JaoEhf&wk&`eBW$#XA)PE z8rPWLG}Z=j%?@BVZ=PAO5wb{gk&Zof zEZZSA!%{?JR?4zd#My9MM0;0K`yS7QBO+R`Q_}7xeJ&jl>F2Y~hBu$qmy$_uegAMF z!2JRZxL#KZ{scU$C85XsFX|^mnU194)NrM1+B?s(ngxAJkIN~E`6cHl@~QZSoJamT zMcf!)Q*ADv0KLMd*LsM5IL*M>aPsZwWz^Mo+TTpBX{5WHVaZ4D`baOM4lW;>RR2Nw z129~<=|$8JOk#&`I`n*Z&1Mk6toOWjHDoYbTpu~~17-^^U2a8xV7BR@(L?PGrZ`PQHR-}!&PfA#NsVD~y`aK9h^H>ATLWA z&p-ltSAZd$tl diff --git a/build-fx/map b/build-fx/map index 185b5eb..eb9f340 100644 --- a/build-fx/map +++ b/build-fx/map @@ -23,7 +23,7 @@ Archive member included to satisfy reference by file (symbol) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) (_iokbd_scan) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - build-fx/src/levelchanger.c.o (_getkey) + build-fx/src/level.c.o (_getkey) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) (_start) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) @@ -69,7 +69,7 @@ Archive member included to satisfy reference by file (symbol) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) build-fx/src/world.c.o (_ll_sendp) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) (___movmemSI24) + build-fx/src/level.c.o (___movmemSI44) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) (___udivdi3) /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) @@ -94,6 +94,7 @@ Discarded input sections .comment 0x0000000000000000 0x12 build-fx/src/config.c.o .comment 0x0000000000000000 0x12 build-fx/src/score.c.o .comment 0x0000000000000000 0x12 build-fx/src/tile.c.o + .comment 0x0000000000000000 0x12 build-fx/src/plateforme.c.o .comment 0x0000000000000000 0x12 build-fx/src/box.c.o .comment 0x0000000000000000 0x12 build-fx/src/world.c.o .comment 0x0000000000000000 0x12 build-fx/src/bonus.c.o @@ -175,6 +176,7 @@ LOAD build-fx/src/level.c.o LOAD build-fx/src/config.c.o LOAD build-fx/src/score.c.o LOAD build-fx/src/tile.c.o +LOAD build-fx/src/plateforme.c.o LOAD build-fx/src/box.c.o LOAD build-fx/src/world.c.o LOAD build-fx/src/bonus.c.o @@ -188,6 +190,7 @@ LOAD build-fx/assets/img/bonus.png.o LOAD build-fx/assets/img/bloc.png.o LOAD build-fx/assets/img/ram.png.o LOAD build-fx/assets/img/w5.png.o +LOAD build-fx/assets/img/options.png.o LOAD build-fx/assets/img/fleur.png.o LOAD build-fx/assets/img/w2.png.o LOAD build-fx/assets/img/main.png.o @@ -215,6 +218,7 @@ LOAD build-fx/assets/img/tuyau.png.o LOAD build-fx/assets/img/bullet.png.o LOAD build-fx/assets/img/carapace_verte.png.o LOAD build-fx/assets/img/nuage.png.o +LOAD build-fx/assets/img/plateforme.png.o LOAD build-fx/assets/img/koopa_verte.png.o LOAD build-fx/assets/img/level.png.o LOAD build-fx/assets/img/castle.png.o @@ -229,7 +233,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000000300000 _brom = 0x300000 - 0x000000000000da94 _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x000000000000de88 _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) .pretext 0x0000000000300200 0x8d0 *(.pretext.entry) @@ -269,7 +273,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a *(.dtors .dtors.*) 0x0000000000300ad0 _etors = . -.text 0x0000000000300ad0 0x61a0 +.text 0x0000000000300ad0 0x64f0 0x0000000000300ad0 _gint_exch_tlbh_start = . *(.gint.exch_tlbh) .gint.exch_tlbh @@ -277,465 +281,478 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000000300ad0 _gint_exch_tlbh 0x000000000000004c _gint_exch_tlbh_size = ABSOLUTE ((. - _gint_exch_tlbh_start)) *(.text .text.*) - .text 0x0000000000300b1c 0x26c build-fx/src/levelchanger.c.o + .text 0x0000000000300b1c 0x280 build-fx/src/levelchanger.c.o 0x0000000000300b1c _callback - 0x0000000000300b24 _launch_ui - 0x0000000000300c68 _system_error - 0x0000000000300ca0 _play_level - .text 0x0000000000300d88 0x440 build-fx/src/level.c.o - 0x0000000000300d88 _malloc_error - 0x0000000000300dc0 _init_level - 0x0000000000300e34 _init_ennemies - 0x0000000000300e94 _set_level - 0x0000000000301198 _get_lvl_id - .text 0x00000000003011c8 0xd8 build-fx/src/config.c.o - 0x00000000003011c8 _configmenu - .text 0x00000000003012a0 0x1dc build-fx/src/score.c.o - 0x00000000003012a0 _new_level - 0x00000000003012c4 _get_score - 0x00000000003012d0 _score_reset - 0x00000000003012f0 _score_add_coin - 0x0000000000301300 _score_add - 0x0000000000301350 _score_display - .text 0x000000000030147c 0x40 build-fx/src/tile.c.o - 0x000000000030147c _draw_tile - .text 0x00000000003014bc 0x42c build-fx/src/box.c.o - 0x00000000003014bc _sgn - 0x00000000003014ce _check_collision - 0x0000000000301560 _box_move - 0x0000000000301884 _box_jump - .text 0x00000000003018e8 0x5bc build-fx/src/world.c.o - 0x00000000003018e8 _world_get_width - 0x00000000003018f8 _world_get - 0x000000000030195c _display_cell - 0x0000000000301c68 _world_get_ctg - 0x0000000000301c9c _world_get_real_x0 - 0x0000000000301ce4 _world_get_real_y0 - 0x0000000000301cf8 _world_draw - 0x0000000000301e04 _world_move - .text 0x0000000000301ea4 0x56c build-fx/src/bonus.c.o - 0x0000000000301ea4 _bonus_set - 0x0000000000301ed4 _bonus_move - 0x0000000000302088 _bonus_draw - 0x000000000030219c _lance_bullet - 0x00000000003021f8 _bullet_display - 0x0000000000302290 _bullet_move - .text 0x0000000000302410 0x154 build-fx/src/save.c.o - 0x0000000000302410 _load_save - 0x0000000000302414 _flash_save - 0x0000000000302418 _get_highscore - 0x0000000000302468 _set_highscore - 0x00000000003024b8 _get_best_time - 0x0000000000302508 _set_best_time - 0x0000000000302558 _get_progress_status - .text 0x0000000000302564 0x770 build-fx/src/mario.c.o - 0x0000000000302574 _mario_bigger - 0x0000000000302590 _mario_smaller - 0x00000000003025bc _mario_draw - 0x0000000000302778 _test_sol_le_plus_proche - 0x00000000003027e4 _mario_move - .text 0x0000000000302cd4 0x0 build-fx/src/main.c.o - .text.startup 0x0000000000302cd4 0x38 build-fx/src/main.c.o - 0x0000000000302cd4 _main - .text 0x0000000000302d0c 0x2d8 build-fx/src/keyboard.c.o - 0x0000000000302d0c _keyboard_clear - 0x0000000000302d2c _menu_pause - 0x0000000000302ef4 _update_keyboard - .text 0x0000000000302fe4 0x7d0 build-fx/src/ennemi.c.o - 0x0000000000302fe4 _display_ennemi - 0x000000000030322c _ennemi_check_collision - 0x0000000000303290 _hurt_mario - 0x00000000003032c4 _move_ennemi - 0x0000000000303774 _display_ennemi_table - .text 0x00000000003037b4 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x00000000003041b0 _kprint_opt - 0x00000000003042f8 _kprint - 0x00000000003043d0 _kvsprint - 0x0000000000304418 _sprintf - 0x0000000000304440 _vsprintf - 0x0000000000304460 _snprintf - 0x0000000000304480 _vsnprintf - .text 0x0000000000304498 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - 0x0000000000304498 _memcpy - 0x0000000000304552 __memmove - 0x0000000000304556 __memcmp - 0x000000000030455a _memset - .text 0x0000000000304574 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .text 0x0000000000304574 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .text 0x0000000000304574 0x11c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) - 0x0000000000304574 _drect - .text 0x0000000000304690 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - 0x0000000000304690 _dupdate - 0x00000000003046a8 _dupdate_noint - .text 0x00000000003046b4 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - 0x00000000003046b4 _masks - .text 0x0000000000304750 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - 0x0000000000304750 _dimage - 0x00000000003047a4 _dsubimage - .text 0x0000000000304818 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - 0x0000000000304818 _dclear - .text 0x0000000000304864 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x0000000000304a0c _pollevent - 0x0000000000304b50 _waitevent - 0x0000000000304b9c _clearevents - 0x0000000000304bbc _keydown - 0x0000000000304be8 _keydown_all - 0x0000000000304c24 _keydown_any - .text 0x0000000000304c60 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - 0x0000000000304c6c _iokbd_row - 0x0000000000304d54 _iokbd_scan - .text 0x0000000000304d84 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - 0x0000000000304d84 _getkey_opt - 0x0000000000304f30 _getkey - 0x0000000000304f3c _getkey_repeat - .text 0x0000000000304f78 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .text 0x0000000000304f78 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - 0x0000000000305108 _gint_panic - 0x0000000000305118 _gint_panic_set - 0x0000000000305124 _gint_exc_catch - 0x0000000000305130 _gint_exc_skip - .text 0x000000000030513c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .text 0x000000000030513c 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - 0x00000000003051f0 _gint_install - 0x00000000003052a0 _gint_unload - .text 0x00000000003052b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .text 0x00000000003052b8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .text 0x00000000003052b8 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - 0x00000000003052b8 _tlb_addr - 0x00000000003052cc _tlb_data - 0x00000000003052e0 _tlb_mapped_memory - 0x00000000003053b4 _utlb_addr - 0x00000000003053c4 _utlb_data - 0x00000000003053d4 _utlb_mapped_memory - .text 0x00000000003054ac 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x00000000003054ac _dsize - .text 0x0000000000305548 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - 0x0000000000305548 _dprint - .text 0x00000000003055a0 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x00000000003058c0 _timer_setup - 0x0000000000305950 _timer_delay - 0x00000000003059b0 _timer_start - 0x00000000003059e4 _timer_reload - 0x0000000000305a04 _timer_pause - 0x0000000000305a38 _timer_stop - 0x0000000000305a94 _timer_timeout - 0x0000000000305aa0 _timer_address - 0x0000000000305adc _timer_clear - .text 0x0000000000305b0c 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - 0x0000000000305b0c _sleep_us - .text 0x0000000000305b64 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x0000000000305bfc _t6k11_display - 0x0000000000305cd0 _t6k11_contrast - 0x0000000000305cfc _t6k11_backlight - .text 0x0000000000305d3c 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x0000000000305e80 _clock_freq - .text 0x0000000000305e8c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) - .text 0x0000000000305e8c 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - 0x0000000000305e8c _bopti_asm_mono - 0x0000000000305eb2 _bopti_asm_mono_alpha - .text 0x0000000000305ee4 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - 0x0000000000305ee4 _bopti_grid - 0x0000000000306058 _bopti_render - 0x0000000000306188 _bopti_render_clip - 0x000000000030629c _bopti_render_noclip - .text 0x00000000003062f4 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - 0x00000000003062f4 _gint_setvbr - .text 0x0000000000306320 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - 0x0000000000306320 _gint_intlevel - 0x0000000000306374 _gint_inthandler - .text 0x0000000000306398 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .text 0x0000000000306398 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .text 0x0000000000306398 0x36c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) - 0x0000000000306478 _ll_set_size - 0x000000000030648c _ll_set_state - 0x00000000003064ac _ll_get_state - 0x00000000003064bc _ll_clear - 0x0000000000306508 _ll_send - 0x000000000030657c _ll_sendp - 0x00000000003065c8 _ll_display_custom - 0x0000000000306634 _ll_display - 0x0000000000306648 _ll_pause - 0x00000000003066a0 _ll_panic - 0x00000000003066dc _ll_set_panic - 0x00000000003066ec _ll_set_level - 0x00000000003066f8 _ll_get_level - .text 0x0000000000306704 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - 0x0000000000306704 ___movstr - 0x0000000000306704 ___movmem - 0x0000000000306738 ___movmemSI64 - 0x0000000000306738 ___movstrSI64 - 0x000000000030673c ___movstrSI60 - 0x000000000030673c ___movmemSI60 - 0x0000000000306740 ___movmemSI56 - 0x0000000000306740 ___movstrSI56 - 0x0000000000306744 ___movstrSI52 - 0x0000000000306744 ___movmemSI52 - 0x0000000000306748 ___movstrSI48 - 0x0000000000306748 ___movmemSI48 - 0x000000000030674c ___movstrSI44 - 0x000000000030674c ___movmemSI44 - 0x0000000000306750 ___movstrSI40 - 0x0000000000306750 ___movmemSI40 - 0x0000000000306754 ___movstrSI36 - 0x0000000000306754 ___movmemSI36 - 0x0000000000306758 ___movmemSI32 - 0x0000000000306758 ___movstrSI32 - 0x000000000030675c ___movmemSI28 - 0x000000000030675c ___movstrSI28 - 0x0000000000306760 ___movstrSI24 - 0x0000000000306760 ___movmemSI24 - 0x0000000000306764 ___movmemSI20 - 0x0000000000306764 ___movstrSI20 - 0x0000000000306768 ___movstrSI16 - 0x0000000000306768 ___movmemSI16 - 0x000000000030676c ___movmemSI12 - 0x000000000030676c ___movstrSI12 - 0x0000000000306770 ___movmemSI8 - 0x0000000000306770 ___movstrSI8 - 0x0000000000306774 ___movmemSI4 - 0x0000000000306774 ___movstrSI4 - .text 0x000000000030677c 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - 0x000000000030677c ___udivdi3 - .text 0x000000000030696c 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - 0x000000000030696c ___umoddi3 - .text 0x0000000000306ba0 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - 0x0000000000306bc2 ___udivsi3 - *fill* 0x0000000000306c0c 0x4 - .text 0x0000000000306c10 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000306c10 ___udiv_qrnnd_16 - .text 0x0000000000306c70 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000000300b24 _play_level + 0x0000000000300c20 _launch_ui + .text 0x0000000000300d9c 0x4a4 build-fx/src/level.c.o + 0x0000000000300d9c _malloc_error + 0x0000000000300dd4 _init_level + 0x0000000000300e48 _init_ennemies + 0x0000000000300ea8 _set_level + 0x0000000000301210 _get_lvl_id + .text 0x0000000000301240 0xd8 build-fx/src/config.c.o + 0x0000000000301240 _configmenu + .text 0x0000000000301318 0x1e4 build-fx/src/score.c.o + 0x0000000000301318 _new_level + 0x0000000000301338 _get_score + 0x0000000000301344 _score_reset + 0x0000000000301364 _score_add_coin + 0x0000000000301374 _score_add + 0x00000000003013c4 _score_display + .text 0x00000000003014fc 0x40 build-fx/src/tile.c.o + 0x00000000003014fc _draw_tile + .text 0x000000000030153c 0x2cc build-fx/src/plateforme.c.o + 0x000000000030153c _reset_plateforme + 0x000000000030154a _move_plateforme + 0x00000000003016f4 _display_plateformes + 0x0000000000301780 _move_plateformes + 0x00000000003017c0 _plateforme_check_collide + .text 0x0000000000301808 0x42c build-fx/src/box.c.o + 0x0000000000301808 _sgn + 0x000000000030181a _check_collision + 0x00000000003018ac _box_move + 0x0000000000301bd0 _box_jump + .text 0x0000000000301c34 0x5ec build-fx/src/world.c.o + 0x0000000000301c34 _world_get_width + 0x0000000000301c44 _world_get + 0x0000000000301ca8 _display_cell + 0x0000000000301fb4 _world_get_ctg + 0x0000000000302008 _world_get_real_x0 + 0x0000000000302050 _world_get_real_y0 + 0x0000000000302064 _world_draw + 0x0000000000302174 _world_move + .text 0x0000000000302220 0x56c build-fx/src/bonus.c.o + 0x0000000000302220 _bonus_set + 0x0000000000302250 _bonus_move + 0x0000000000302404 _bonus_draw + 0x0000000000302518 _lance_bullet + 0x0000000000302574 _bullet_display + 0x000000000030260c _bullet_move + .text 0x000000000030278c 0x154 build-fx/src/save.c.o + 0x000000000030278c _load_save + 0x0000000000302790 _flash_save + 0x0000000000302794 _get_highscore + 0x00000000003027e4 _set_highscore + 0x0000000000302834 _get_best_time + 0x0000000000302884 _set_best_time + 0x00000000003028d4 _get_progress_status + .text 0x00000000003028e0 0x770 build-fx/src/mario.c.o + 0x00000000003028f0 _mario_bigger + 0x000000000030290c _mario_smaller + 0x0000000000302938 _mario_draw + 0x0000000000302af4 _test_sol_le_plus_proche + 0x0000000000302b60 _mario_move + .text 0x0000000000303050 0x0 build-fx/src/main.c.o + .text.startup 0x0000000000303050 0x2c build-fx/src/main.c.o + 0x0000000000303050 _main + .text 0x000000000030307c 0x2b8 build-fx/src/keyboard.c.o + 0x000000000030307c _keyboard_clear + 0x000000000030309c _getkey_custom + 0x00000000003030ec _menu_pause + 0x0000000000303244 _update_keyboard + .text 0x0000000000303334 0x7d0 build-fx/src/ennemi.c.o + 0x0000000000303334 _display_ennemi + 0x000000000030357c _ennemi_check_collision + 0x00000000003035e0 _hurt_mario + 0x0000000000303614 _move_ennemi + 0x0000000000303ac4 _display_ennemi_table + .text 0x0000000000303b04 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x0000000000304500 _kprint_opt + 0x0000000000304648 _kprint + 0x0000000000304720 _kvsprint + 0x0000000000304768 _sprintf + 0x0000000000304790 _vsprintf + 0x00000000003047b0 _snprintf + 0x00000000003047d0 _vsnprintf + .text 0x00000000003047e8 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + 0x00000000003047e8 _memcpy + 0x00000000003048a2 __memmove + 0x00000000003048a6 __memcmp + 0x00000000003048aa _memset + .text 0x00000000003048c4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .text 0x00000000003048c4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .text 0x00000000003048c4 0x11c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) + 0x00000000003048c4 _drect + .text 0x00000000003049e0 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + 0x00000000003049e0 _dupdate + 0x00000000003049f8 _dupdate_noint + .text 0x0000000000304a04 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + 0x0000000000304a04 _masks + .text 0x0000000000304aa0 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x0000000000304aa0 _dimage + 0x0000000000304af4 _dsubimage + .text 0x0000000000304b68 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + 0x0000000000304b68 _dclear + .text 0x0000000000304bb4 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x0000000000304d5c _pollevent + 0x0000000000304ea0 _waitevent + 0x0000000000304eec _clearevents + 0x0000000000304f0c _keydown + 0x0000000000304f38 _keydown_all + 0x0000000000304f74 _keydown_any + .text 0x0000000000304fb0 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + 0x0000000000304fbc _iokbd_row + 0x00000000003050a4 _iokbd_scan + .text 0x00000000003050d4 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + 0x00000000003050d4 _getkey_opt + 0x0000000000305280 _getkey + 0x000000000030528c _getkey_repeat + .text 0x00000000003052c8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .text 0x00000000003052c8 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x0000000000305458 _gint_panic + 0x0000000000305468 _gint_panic_set + 0x0000000000305474 _gint_exc_catch + 0x0000000000305480 _gint_exc_skip + .text 0x000000000030548c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .text 0x000000000030548c 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + 0x0000000000305540 _gint_install + 0x00000000003055f0 _gint_unload + .text 0x0000000000305608 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .text 0x0000000000305608 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .text 0x0000000000305608 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + 0x0000000000305608 _tlb_addr + 0x000000000030561c _tlb_data + 0x0000000000305630 _tlb_mapped_memory + 0x0000000000305704 _utlb_addr + 0x0000000000305714 _utlb_data + 0x0000000000305724 _utlb_mapped_memory + .text 0x00000000003057fc 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x00000000003057fc _dsize + .text 0x0000000000305898 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + 0x0000000000305898 _dprint + .text 0x00000000003058f0 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000305c10 _timer_setup + 0x0000000000305ca0 _timer_delay + 0x0000000000305d00 _timer_start + 0x0000000000305d34 _timer_reload + 0x0000000000305d54 _timer_pause + 0x0000000000305d88 _timer_stop + 0x0000000000305de4 _timer_timeout + 0x0000000000305df0 _timer_address + 0x0000000000305e2c _timer_clear + .text 0x0000000000305e5c 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + 0x0000000000305e5c _sleep_us + .text 0x0000000000305eb4 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x0000000000305f4c _t6k11_display + 0x0000000000306020 _t6k11_contrast + 0x000000000030604c _t6k11_backlight + .text 0x000000000030608c 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x00000000003061d0 _clock_freq + .text 0x00000000003061dc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) + .text 0x00000000003061dc 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + 0x00000000003061dc _bopti_asm_mono + 0x0000000000306202 _bopti_asm_mono_alpha + .text 0x0000000000306234 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + 0x0000000000306234 _bopti_grid + 0x00000000003063a8 _bopti_render + 0x00000000003064d8 _bopti_render_clip + 0x00000000003065ec _bopti_render_noclip + .text 0x0000000000306644 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + 0x0000000000306644 _gint_setvbr + .text 0x0000000000306670 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + 0x0000000000306670 _gint_intlevel + 0x00000000003066c4 _gint_inthandler + .text 0x00000000003066e8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .text 0x00000000003066e8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .text 0x00000000003066e8 0x36c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) + 0x00000000003067c8 _ll_set_size + 0x00000000003067dc _ll_set_state + 0x00000000003067fc _ll_get_state + 0x000000000030680c _ll_clear + 0x0000000000306858 _ll_send + 0x00000000003068cc _ll_sendp + 0x0000000000306918 _ll_display_custom + 0x0000000000306984 _ll_display + 0x0000000000306998 _ll_pause + 0x00000000003069f0 _ll_panic + 0x0000000000306a2c _ll_set_panic + 0x0000000000306a3c _ll_set_level + 0x0000000000306a48 _ll_get_level + .text 0x0000000000306a54 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + 0x0000000000306a54 ___movstr + 0x0000000000306a54 ___movmem + 0x0000000000306a88 ___movmemSI64 + 0x0000000000306a88 ___movstrSI64 + 0x0000000000306a8c ___movstrSI60 + 0x0000000000306a8c ___movmemSI60 + 0x0000000000306a90 ___movmemSI56 + 0x0000000000306a90 ___movstrSI56 + 0x0000000000306a94 ___movstrSI52 + 0x0000000000306a94 ___movmemSI52 + 0x0000000000306a98 ___movstrSI48 + 0x0000000000306a98 ___movmemSI48 + 0x0000000000306a9c ___movstrSI44 + 0x0000000000306a9c ___movmemSI44 + 0x0000000000306aa0 ___movstrSI40 + 0x0000000000306aa0 ___movmemSI40 + 0x0000000000306aa4 ___movstrSI36 + 0x0000000000306aa4 ___movmemSI36 + 0x0000000000306aa8 ___movmemSI32 + 0x0000000000306aa8 ___movstrSI32 + 0x0000000000306aac ___movmemSI28 + 0x0000000000306aac ___movstrSI28 + 0x0000000000306ab0 ___movstrSI24 + 0x0000000000306ab0 ___movmemSI24 + 0x0000000000306ab4 ___movmemSI20 + 0x0000000000306ab4 ___movstrSI20 + 0x0000000000306ab8 ___movstrSI16 + 0x0000000000306ab8 ___movmemSI16 + 0x0000000000306abc ___movmemSI12 + 0x0000000000306abc ___movstrSI12 + 0x0000000000306ac0 ___movmemSI8 + 0x0000000000306ac0 ___movstrSI8 + 0x0000000000306ac4 ___movmemSI4 + 0x0000000000306ac4 ___movstrSI4 + .text 0x0000000000306acc 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + 0x0000000000306acc ___udivdi3 + .text 0x0000000000306cbc 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + 0x0000000000306cbc ___umoddi3 + .text 0x0000000000306ef0 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + 0x0000000000306f12 ___udivsi3 + *fill* 0x0000000000306f5c 0x4 + .text 0x0000000000306f60 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + 0x0000000000306f60 ___udiv_qrnnd_16 + .text 0x0000000000306fc0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(C P) -.gint.blocks 0x0000000000306c70 0x120 +.gint.blocks 0x0000000000306fc0 0x120 *(.gint.blocks) - .gint.blocks 0x0000000000306c70 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - 0x0000000000306c70 _gint_inth_7305 - 0x0000000000306c90 _gint_inth_7705 - .gint.blocks 0x0000000000306cb0 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - 0x0000000000306cb0 _inth_tmu - 0x0000000000306d30 _inth_etmu2 - 0x0000000000306d50 _inth_etmu_help - 0x0000000000306d70 _inth_etmux + .gint.blocks 0x0000000000306fc0 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + 0x0000000000306fc0 _gint_inth_7305 + 0x0000000000306fe0 _gint_inth_7705 + .gint.blocks 0x0000000000307000 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + 0x0000000000307000 _inth_tmu + 0x0000000000307080 _inth_etmu2 + 0x00000000003070a0 _inth_etmu_help + 0x00000000003070c0 _inth_etmux -.gint.drivers 0x0000000000306d90 0x90 - 0x0000000000306d90 _bdrv = . +.gint.drivers 0x00000000003070e0 0x90 + 0x00000000003070e0 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x0000000000306d90 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x0000000000306d90 _drv_cpg + 0x00000000003070e0 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x00000000003070e0 _drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 0x0000000000306db4 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x0000000000306db4 _drv_tmu + 0x0000000000307104 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000307104 _drv_tmu *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x0000000000306dd8 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x0000000000306dd8 _drv_keysc + 0x0000000000307128 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x0000000000307128 _drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 0x0000000000306dfc 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x0000000000306dfc _drv_t6k11 + 0x000000000030714c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x000000000030714c _drv_t6k11 *(.gint.drivers.6) - 0x0000000000306e20 _edrv = . + 0x0000000000307170 _edrv = . -.rodata 0x0000000000306e20 0x7544 +.rodata 0x0000000000307170 0x75e8 *(.rodata.4) *(.rodata .rodata.*) - .rodata 0x0000000000306e20 0x2de8 build-fx/src/level.c.o + .rodata 0x0000000000307170 0x2e14 build-fx/src/level.c.o .rodata.str1.4 - 0x0000000000309c08 0x22 build-fx/src/config.c.o - *fill* 0x0000000000309c2a 0x2 + 0x0000000000309f84 0x22 build-fx/src/config.c.o + *fill* 0x0000000000309fa6 0x2 .rodata.str1.4 - 0x0000000000309c2c 0x1a build-fx/src/score.c.o + 0x0000000000309fa8 0x1a build-fx/src/score.c.o 0x1e (size before relaxing) - *fill* 0x0000000000309c46 0x2 - .rodata 0x0000000000309c48 0x120 build-fx/src/tile.c.o - 0x0000000000309c48 _mario_big - 0x0000000000309c58 _mario_small - 0x0000000000309c68 _bullet - 0x0000000000309c78 _fleur - 0x0000000000309c88 _mario_starman - 0x0000000000309c98 _life_1up - 0x0000000000309ca8 _champi - 0x0000000000309cb8 _bloc - 0x0000000000309cc8 _end_level - 0x0000000000309cd8 _castle - 0x0000000000309ce8 _colline - 0x0000000000309cf8 _buisson - 0x0000000000309d08 _nuage - 0x0000000000309d18 _coin - 0x0000000000309d28 _gift - 0x0000000000309d38 _earth - 0x0000000000309d48 _brick - 0x0000000000309d58 _tuyau + *fill* 0x0000000000309fc2 0x2 + .rodata 0x0000000000309fc4 0x130 build-fx/src/tile.c.o + 0x0000000000309fc4 _tplateforme + 0x0000000000309fd4 _mario_big + 0x0000000000309fe4 _mario_small + 0x0000000000309ff4 _bullet + 0x000000000030a004 _fleur + 0x000000000030a014 _mario_starman + 0x000000000030a024 _life_1up + 0x000000000030a034 _champi + 0x000000000030a044 _bloc + 0x000000000030a054 _end_level + 0x000000000030a064 _castle + 0x000000000030a074 _colline + 0x000000000030a084 _buisson + 0x000000000030a094 _nuage + 0x000000000030a0a4 _coin + 0x000000000030a0b4 _gift + 0x000000000030a0c4 _earth + 0x000000000030a0d4 _brick + 0x000000000030a0e4 _tuyau .rodata.str1.4 - 0x0000000000309d68 0x63 build-fx/src/world.c.o - *fill* 0x0000000000309dcb 0x1 - .rodata 0x0000000000309dcc 0x28 build-fx/src/keyboard.c.o - .rodata 0x0000000000309df4 0x60 build-fx/src/ennemi.c.o - 0x0000000000309e24 _ennemi_heights - 0x0000000000309e3c _ennemi_widths - .rodata 0x0000000000309e54 0x204 build-fx/assets/fonts/mario.png.o - 0x0000000000309e54 _font_mario - 0x000000000030a058 _font_mario_end - .rodata 0x000000000030a058 0x20 build-fx/assets/img/bonus.png.o - 0x000000000030a058 _img_bonus - 0x000000000030a078 _img_bonus_end - .rodata 0x000000000030a078 0x24 build-fx/assets/img/bloc.png.o - 0x000000000030a078 _img_bloc - 0x000000000030a09c _img_bloc_end - .rodata 0x000000000030a09c 0x404 build-fx/assets/img/ram.png.o - 0x000000000030a09c _img_ram - 0x000000000030a4a0 _img_ram_end - .rodata 0x000000000030a4a0 0x58 build-fx/assets/img/w5.png.o - 0x000000000030a4a0 _img_w5 - 0x000000000030a4f8 _img_w5_end - .rodata 0x000000000030a4f8 0x44 build-fx/assets/img/fleur.png.o - 0x000000000030a4f8 _img_fleur - 0x000000000030a53c _img_fleur_end - .rodata 0x000000000030a53c 0x58 build-fx/assets/img/w2.png.o - 0x000000000030a53c _img_w2 - 0x000000000030a594 _img_w2_end - .rodata 0x000000000030a594 0x404 build-fx/assets/img/main.png.o - 0x000000000030a594 _img_main - 0x000000000030a998 _img_main_end - .rodata 0x000000000030a998 0x64 build-fx/assets/img/flag.png.o - 0x000000000030a998 _img_flag - 0x000000000030a9fc _img_flag_end - .rodata 0x000000000030a9fc 0x404 build-fx/assets/img/new_level.png.o - 0x000000000030a9fc _img_new_level - 0x000000000030ae00 _img_new_level_end - .rodata 0x000000000030ae00 0x4c build-fx/assets/img/brick.png.o - 0x000000000030ae00 _img_brick - 0x000000000030ae4c _img_brick_end - .rodata 0x000000000030ae4c 0xbc build-fx/assets/img/menu_pause.png.o - 0x000000000030ae4c _img_menu_pause - 0x000000000030af08 _img_menu_pause_end - .rodata 0x000000000030af08 0x18 build-fx/assets/img/select_arrow.png.o - 0x000000000030af08 _img_select_arrow - 0x000000000030af20 _img_select_arrow_end - .rodata 0x000000000030af20 0x804 build-fx/assets/img/dev.png.o - 0x000000000030af20 _img_dev - 0x000000000030b724 _img_dev_end - .rodata 0x000000000030b724 0x24 build-fx/assets/img/death.png.o - 0x000000000030b724 _img_death - 0x000000000030b748 _img_death_end - .rodata 0x000000000030b748 0x404 build-fx/assets/img/mainmenu.png.o - 0x000000000030b748 _img_mainmenu - 0x000000000030bb4c _img_mainmenu_end - .rodata 0x000000000030bb4c 0x58 build-fx/assets/img/w3.png.o - 0x000000000030bb4c _img_w3 - 0x000000000030bba4 _img_w3_end - .rodata 0x000000000030bba4 0x404 build-fx/assets/img/time_over.png.o - 0x000000000030bba4 _img_time_over - 0x000000000030bfa8 _img_time_over_end - .rodata 0x000000000030bfa8 0x4c build-fx/assets/img/coin.png.o - 0x000000000030bfa8 _img_coin - 0x000000000030bff4 _img_coin_end - .rodata 0x000000000030bff4 0x24 build-fx/assets/img/champi.png.o - 0x000000000030bff4 _img_champi - 0x000000000030c018 _img_champi_end - .rodata 0x000000000030c018 0xdc build-fx/assets/img/mariosmall.png.o - 0x000000000030c018 _img_mariosmall - 0x000000000030c0f4 _img_mariosmall_end - .rodata 0x000000000030c0f4 0x28 build-fx/assets/img/gift.png.o - 0x000000000030c0f4 _img_gift - 0x000000000030c11c _img_gift_end - .rodata 0x000000000030c11c 0x44 build-fx/assets/img/buisson.png.o - 0x000000000030c11c _img_buisson - 0x000000000030c160 _img_buisson_end - .rodata 0x000000000030c160 0x84 build-fx/assets/img/colline.png.o - 0x000000000030c160 _img_colline - 0x000000000030c1e4 _img_colline_end - .rodata 0x000000000030c1e4 0x24 build-fx/assets/img/star.png.o - 0x000000000030c1e4 _img_star - 0x000000000030c208 _img_star_end - .rodata 0x000000000030c208 0x224 build-fx/assets/img/mariobig.png.o - 0x000000000030c208 _img_mariobig - 0x000000000030c42c _img_mariobig_end - .rodata 0x000000000030c42c 0x804 build-fx/assets/img/error.png.o - 0x000000000030c42c _img_error - 0x000000000030cc30 _img_error_end - .rodata 0x000000000030cc30 0x44 build-fx/assets/img/1up.png.o - 0x000000000030cc30 _img_1up - 0x000000000030cc74 _img_1up_end - .rodata 0x000000000030cc74 0xb8 build-fx/assets/img/tuyau.png.o - 0x000000000030cc74 _img_tuyau - 0x000000000030cd2c _img_tuyau_end - .rodata 0x000000000030cd2c 0x24 build-fx/assets/img/bullet.png.o - 0x000000000030cd2c _img_bullet - 0x000000000030cd50 _img_bullet_end - .rodata 0x000000000030cd50 0x4c build-fx/assets/img/carapace_verte.png.o - 0x000000000030cd50 _img_carapace_verte - 0x000000000030cd9c _img_carapace_verte_end - .rodata 0x000000000030cd9c 0x44 build-fx/assets/img/nuage.png.o - 0x000000000030cd9c _img_nuage - 0x000000000030cde0 _img_nuage_end - .rodata 0x000000000030cde0 0xc4 build-fx/assets/img/koopa_verte.png.o - 0x000000000030cde0 _img_koopa_verte - 0x000000000030cea4 _img_koopa_verte_end - .rodata 0x000000000030cea4 0x404 build-fx/assets/img/level.png.o - 0x000000000030cea4 _img_level - 0x000000000030d2a8 _img_level_end - .rodata 0x000000000030d2a8 0xe4 build-fx/assets/img/castle.png.o - 0x000000000030d2a8 _img_castle - 0x000000000030d38c _img_castle_end - .rodata 0x000000000030d38c 0x4c build-fx/assets/img/goomba.png.o - 0x000000000030d38c _img_goomba - 0x000000000030d3d8 _img_goomba_end - .rodata 0x000000000030d3d8 0x4c build-fx/assets/img/stone.png.o - 0x000000000030d3d8 _img_stone - 0x000000000030d424 _img_stone_end - .rodata 0x000000000030d424 0x24 build-fx/assets/img/tickbox.png.o - 0x000000000030d424 _img_tickbox - 0x000000000030d448 _img_tickbox_end - .rodata 0x000000000030d448 0x404 build-fx/assets/img/w4.png.o - 0x000000000030d448 _img_w4 - 0x000000000030d84c _img_w4_end - .rodata 0x000000000030d84c 0x58 build-fx/assets/img/w1.png.o - 0x000000000030d84c _img_w1 - 0x000000000030d8a4 _img_w1_end - .rodata 0x000000000030d8a4 0x404 build-fx/assets/img/lvl0.png.o - 0x000000000030d8a4 _img_lvl0 - 0x000000000030dca8 _img_lvl0_end + 0x000000000030a0f4 0x63 build-fx/src/world.c.o + *fill* 0x000000000030a157 0x1 + .rodata 0x000000000030a158 0x28 build-fx/src/keyboard.c.o + .rodata 0x000000000030a180 0x60 build-fx/src/ennemi.c.o + 0x000000000030a1b0 _ennemi_heights + 0x000000000030a1c8 _ennemi_widths + .rodata 0x000000000030a1e0 0x204 build-fx/assets/fonts/mario.png.o + 0x000000000030a1e0 _font_mario + 0x000000000030a3e4 _font_mario_end + .rodata 0x000000000030a3e4 0x20 build-fx/assets/img/bonus.png.o + 0x000000000030a3e4 _img_bonus + 0x000000000030a404 _img_bonus_end + .rodata 0x000000000030a404 0x24 build-fx/assets/img/bloc.png.o + 0x000000000030a404 _img_bloc + 0x000000000030a428 _img_bloc_end + .rodata 0x000000000030a428 0x404 build-fx/assets/img/ram.png.o + 0x000000000030a428 _img_ram + 0x000000000030a82c _img_ram_end + .rodata 0x000000000030a82c 0x58 build-fx/assets/img/w5.png.o + 0x000000000030a82c _img_w5 + 0x000000000030a884 _img_w5_end + .rodata 0x000000000030a884 0x404 build-fx/assets/img/options.png.o + 0x000000000030a884 _img_options + 0x000000000030ac88 _img_options_end + .rodata 0x000000000030ac88 0x44 build-fx/assets/img/fleur.png.o + 0x000000000030ac88 _img_fleur + 0x000000000030accc _img_fleur_end + .rodata 0x000000000030accc 0x58 build-fx/assets/img/w2.png.o + 0x000000000030accc _img_w2 + 0x000000000030ad24 _img_w2_end + .rodata 0x000000000030ad24 0x404 build-fx/assets/img/main.png.o + 0x000000000030ad24 _img_main + 0x000000000030b128 _img_main_end + .rodata 0x000000000030b128 0x64 build-fx/assets/img/flag.png.o + 0x000000000030b128 _img_flag + 0x000000000030b18c _img_flag_end + .rodata 0x000000000030b18c 0x404 build-fx/assets/img/new_level.png.o + 0x000000000030b18c _img_new_level + 0x000000000030b590 _img_new_level_end + .rodata 0x000000000030b590 0x4c build-fx/assets/img/brick.png.o + 0x000000000030b590 _img_brick + 0x000000000030b5dc _img_brick_end + .rodata 0x000000000030b5dc 0xbc build-fx/assets/img/menu_pause.png.o + 0x000000000030b5dc _img_menu_pause + 0x000000000030b698 _img_menu_pause_end + .rodata 0x000000000030b698 0x18 build-fx/assets/img/select_arrow.png.o + 0x000000000030b698 _img_select_arrow + 0x000000000030b6b0 _img_select_arrow_end + .rodata 0x000000000030b6b0 0x804 build-fx/assets/img/dev.png.o + 0x000000000030b6b0 _img_dev + 0x000000000030beb4 _img_dev_end + .rodata 0x000000000030beb4 0x24 build-fx/assets/img/death.png.o + 0x000000000030beb4 _img_death + 0x000000000030bed8 _img_death_end + .rodata 0x000000000030bed8 0x404 build-fx/assets/img/mainmenu.png.o + 0x000000000030bed8 _img_mainmenu + 0x000000000030c2dc _img_mainmenu_end + .rodata 0x000000000030c2dc 0x58 build-fx/assets/img/w3.png.o + 0x000000000030c2dc _img_w3 + 0x000000000030c334 _img_w3_end + .rodata 0x000000000030c334 0x404 build-fx/assets/img/time_over.png.o + 0x000000000030c334 _img_time_over + 0x000000000030c738 _img_time_over_end + .rodata 0x000000000030c738 0x4c build-fx/assets/img/coin.png.o + 0x000000000030c738 _img_coin + 0x000000000030c784 _img_coin_end + .rodata 0x000000000030c784 0x24 build-fx/assets/img/champi.png.o + 0x000000000030c784 _img_champi + 0x000000000030c7a8 _img_champi_end + .rodata 0x000000000030c7a8 0xdc build-fx/assets/img/mariosmall.png.o + 0x000000000030c7a8 _img_mariosmall + 0x000000000030c884 _img_mariosmall_end + .rodata 0x000000000030c884 0x28 build-fx/assets/img/gift.png.o + 0x000000000030c884 _img_gift + 0x000000000030c8ac _img_gift_end + .rodata 0x000000000030c8ac 0x44 build-fx/assets/img/buisson.png.o + 0x000000000030c8ac _img_buisson + 0x000000000030c8f0 _img_buisson_end + .rodata 0x000000000030c8f0 0x84 build-fx/assets/img/colline.png.o + 0x000000000030c8f0 _img_colline + 0x000000000030c974 _img_colline_end + .rodata 0x000000000030c974 0x24 build-fx/assets/img/star.png.o + 0x000000000030c974 _img_star + 0x000000000030c998 _img_star_end + .rodata 0x000000000030c998 0x224 build-fx/assets/img/mariobig.png.o + 0x000000000030c998 _img_mariobig + 0x000000000030cbbc _img_mariobig_end + .rodata 0x000000000030cbbc 0x804 build-fx/assets/img/error.png.o + 0x000000000030cbbc _img_error + 0x000000000030d3c0 _img_error_end + .rodata 0x000000000030d3c0 0x44 build-fx/assets/img/1up.png.o + 0x000000000030d3c0 _img_1up + 0x000000000030d404 _img_1up_end + .rodata 0x000000000030d404 0xb8 build-fx/assets/img/tuyau.png.o + 0x000000000030d404 _img_tuyau + 0x000000000030d4bc _img_tuyau_end + .rodata 0x000000000030d4bc 0x24 build-fx/assets/img/bullet.png.o + 0x000000000030d4bc _img_bullet + 0x000000000030d4e0 _img_bullet_end + .rodata 0x000000000030d4e0 0x4c build-fx/assets/img/carapace_verte.png.o + 0x000000000030d4e0 _img_carapace_verte + 0x000000000030d52c _img_carapace_verte_end + .rodata 0x000000000030d52c 0x44 build-fx/assets/img/nuage.png.o + 0x000000000030d52c _img_nuage + 0x000000000030d570 _img_nuage_end + .rodata 0x000000000030d570 0x10 build-fx/assets/img/plateforme.png.o + 0x000000000030d570 _img_plateforme + 0x000000000030d580 _img_plateforme_end + .rodata 0x000000000030d580 0xc4 build-fx/assets/img/koopa_verte.png.o + 0x000000000030d580 _img_koopa_verte + 0x000000000030d644 _img_koopa_verte_end + .rodata 0x000000000030d644 0x404 build-fx/assets/img/level.png.o + 0x000000000030d644 _img_level + 0x000000000030da48 _img_level_end + .rodata 0x000000000030da48 0xe4 build-fx/assets/img/castle.png.o + 0x000000000030da48 _img_castle + 0x000000000030db2c _img_castle_end + .rodata 0x000000000030db2c 0x4c build-fx/assets/img/goomba.png.o + 0x000000000030db2c _img_goomba + 0x000000000030db78 _img_goomba_end + .rodata 0x000000000030db78 0x4c build-fx/assets/img/stone.png.o + 0x000000000030db78 _img_stone + 0x000000000030dbc4 _img_stone_end + .rodata 0x000000000030dbc4 0x24 build-fx/assets/img/tickbox.png.o + 0x000000000030dbc4 _img_tickbox + 0x000000000030dbe8 _img_tickbox_end + .rodata 0x000000000030dbe8 0x58 build-fx/assets/img/w4.png.o + 0x000000000030dbe8 _img_w4 + 0x000000000030dc40 _img_w4_end + .rodata 0x000000000030dc40 0x58 build-fx/assets/img/w1.png.o + 0x000000000030dc40 _img_w1 + 0x000000000030dc98 _img_w1_end + .rodata 0x000000000030dc98 0x404 build-fx/assets/img/lvl0.png.o + 0x000000000030dc98 _img_lvl0 + 0x000000000030e09c _img_lvl0_end .rodata.str1.4 - 0x000000000030dca8 0x31 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - *fill* 0x000000000030dcd9 0x3 - .rodata 0x000000000030dcdc 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x000000000030e09c 0x31 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + *fill* 0x000000000030e0cd 0x3 + .rodata 0x000000000030e0d0 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) .rodata.str1.4 - 0x000000000030dce4 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - *fill* 0x000000000030dcea 0x2 + 0x000000000030e0d8 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + *fill* 0x000000000030e0de 0x2 .rodata.str1.4 - 0x000000000030dcec 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x000000000030e0e0 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) 0x11e (size before relaxing) - *fill* 0x000000000030de06 0x2 - .rodata 0x000000000030de08 0x18 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + *fill* 0x000000000030e1fa 0x2 + .rodata 0x000000000030e1fc 0x18 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) .rodata.str1.4 - 0x000000000030de20 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .rodata 0x000000000030de24 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) - 0x000000000030de24 _gint_font5x7 - 0x000000000030e22c _gint_font5x7_end + 0x000000000030e214 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .rodata 0x000000000030e218 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) + 0x000000000030e218 _gint_font5x7 + 0x000000000030e620 _gint_font5x7_end .rodata.str1.4 - 0x000000000030e22c 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - *fill* 0x000000000030e232 0x2 + 0x000000000030e620 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + *fill* 0x000000000030e626 0x2 .rodata.str1.4 - 0x000000000030e234 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .rodata 0x000000000030e238 0x10 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + 0x000000000030e628 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .rodata 0x000000000030e62c 0x10 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) .rodata.str1.4 - 0x000000000030e248 0x1b /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) - *fill* 0x000000000030e263 0x1 - .rodata 0x000000000030e264 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) - 0x000000000030e264 ___clz_tab + 0x000000000030e63c 0x1b /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) + *fill* 0x000000000030e657 0x1 + .rodata 0x000000000030e658 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x000000000030e658 ___clz_tab -.rela.dyn 0x000000000030e364 0x0 - .rela.text 0x000000000030e364 0x0 build-fx/src/levelchanger.c.o +.rela.dyn 0x000000000030e758 0x0 + .rela.text 0x000000000030e758 0x0 build-fx/src/levelchanger.c.o .rela.pretext.entry - 0x000000000030e364 0x0 build-fx/src/levelchanger.c.o + 0x000000000030e758 0x0 build-fx/src/levelchanger.c.o 0x0000000008100000 . = ORIGIN (ram) -.bss 0x0000000008100000 0x730 +.bss 0x0000000008100000 0x740 0x0000000008100000 _rbss = . *(.bss COMMON) .bss 0x0000000008100000 0x0 build-fx/src/levelchanger.c.o @@ -743,176 +760,180 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000008100000 _frame_id .bss 0x0000000008100004 0x0 build-fx/src/level.c.o .bss 0x0000000008100004 0x0 build-fx/src/config.c.o - .bss 0x0000000008100004 0x14 build-fx/src/score.c.o - 0x0000000008100004 _time_left - 0x0000000008100008 _time_id - 0x000000000810000c _pieces - 0x0000000008100010 _combo - .bss 0x0000000008100018 0x4 build-fx/src/tile.c.o - 0x0000000008100018 _dark_theme - .bss 0x000000000810001c 0x0 build-fx/src/box.c.o - .bss 0x000000000810001c 0x1c build-fx/src/world.c.o - 0x000000000810001c _death - 0x0000000008100020 _w_mario_starty - 0x0000000008100024 _w_mario_startx - 0x0000000008100028 _w_current_y - 0x000000000810002c _w_current_x - 0x0000000008100030 _w_fond - 0x0000000008100034 _w_current - .bss 0x0000000008100038 0x0 build-fx/src/bonus.c.o - .bss 0x0000000008100038 0xb8 build-fx/src/save.c.o - 0x0000000008100038 _progress_status - 0x000000000810003c _level_highscores - COMMON 0x00000000081000f0 0xb4 build-fx/src/save.c.o - 0x00000000081000f0 _level_best_times - .bss 0x00000000081001a4 0x24 build-fx/src/mario.c.o - 0x00000000081001a4 _global_quit - 0x00000000081001a8 _mario_star_mode - 0x00000000081001ac _mario_immunity - 0x00000000081001b0 _mario_dead - 0x00000000081001b4 _mario_has_bullets - 0x00000000081001b8 _mario_x_max - 0x00000000081001bc _id_frame - .bss 0x00000000081001c8 0x0 build-fx/src/main.c.o - .bss 0x00000000081001c8 0x18 build-fx/src/keyboard.c.o - 0x00000000081001c8 _keys - .bss 0x00000000081001e0 0x8 build-fx/src/ennemi.c.o - 0x00000000081001e0 _ennemis_global_size - 0x00000000081001e4 _ennemis_global - .bss 0x00000000081001e8 0x114 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - .bss 0x00000000081002fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - .bss 0x00000000081002fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .bss 0x00000000081002fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .bss 0x00000000081002fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) - .bss 0x00000000081002fc 0x400 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - .bss 0x00000000081006fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - .bss 0x00000000081006fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - .bss 0x00000000081006fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - .bss 0x00000000081006fc 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - .bss 0x0000000008100720 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - .bss 0x0000000008100720 0xc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .bss 0x000000000810072c 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) - .bss 0x0000000008100730 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - .bss 0x0000000008100730 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - .bss 0x0000000008100730 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - .bss 0x0000000008100730 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - .bss 0x0000000008100730 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - .bss 0x0000000008100730 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + .bss 0x0000000008100004 0x18 build-fx/src/score.c.o + 0x0000000008100004 _finish_level + 0x0000000008100008 _time_left + 0x000000000810000c _time_id + 0x0000000008100010 _pieces + 0x0000000008100014 _combo + .bss 0x000000000810001c 0x4 build-fx/src/tile.c.o + 0x000000000810001c _dark_theme + .bss 0x0000000008100020 0x8 build-fx/src/plateforme.c.o + 0x0000000008100020 _plateformes + 0x0000000008100024 _plateforme_table_size + .bss 0x0000000008100028 0x0 build-fx/src/box.c.o + .bss 0x0000000008100028 0x1c build-fx/src/world.c.o + 0x0000000008100028 _death + 0x000000000810002c _w_mario_starty + 0x0000000008100030 _w_mario_startx + 0x0000000008100034 _w_current_y + 0x0000000008100038 _w_current_x + 0x000000000810003c _w_fond + 0x0000000008100040 _w_current + .bss 0x0000000008100044 0x0 build-fx/src/bonus.c.o + .bss 0x0000000008100044 0xb8 build-fx/src/save.c.o + 0x0000000008100044 _progress_status + 0x0000000008100048 _level_highscores + COMMON 0x00000000081000fc 0xb4 build-fx/src/save.c.o + 0x00000000081000fc _level_best_times + .bss 0x00000000081001b0 0x24 build-fx/src/mario.c.o + 0x00000000081001b0 _global_quit + 0x00000000081001b4 _mario_star_mode + 0x00000000081001b8 _mario_immunity + 0x00000000081001bc _mario_dead + 0x00000000081001c0 _mario_has_bullets + 0x00000000081001c4 _mario_x_max + 0x00000000081001c8 _id_frame + .bss 0x00000000081001d4 0x0 build-fx/src/main.c.o + .bss 0x00000000081001d4 0x18 build-fx/src/keyboard.c.o + 0x00000000081001d4 _keys + .bss 0x00000000081001ec 0x8 build-fx/src/ennemi.c.o + 0x00000000081001ec _ennemis_global_size + 0x00000000081001f0 _ennemis_global + .bss 0x00000000081001f4 0x114 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + .bss 0x0000000008100308 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + .bss 0x0000000008100308 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .bss 0x0000000008100308 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .bss 0x0000000008100308 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) + .bss 0x0000000008100308 0x400 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + .bss 0x0000000008100708 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + .bss 0x0000000008100708 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + .bss 0x0000000008100708 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + .bss 0x0000000008100708 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + .bss 0x000000000810072c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + .bss 0x000000000810072c 0xc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .bss 0x0000000008100738 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .bss 0x0000000008100738 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) + .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(B R) - 0x0000000008100730 . = ALIGN (0x10) - 0x0000000000000730 _sbss = SIZEOF (.bss) + 0x0000000008100740 . = ALIGN (0x10) + *fill* 0x000000000810073c 0x4 + 0x0000000000000740 _sbss = SIZEOF (.bss) -.data 0x0000000008100730 0x170 load address 0x000000000030e364 - 0x000000000030e364 _ldata = LOADADDR (.data) - 0x0000000008100730 _rdata = . +.data 0x0000000008100740 0x160 load address 0x000000000030e758 + 0x000000000030e758 _ldata = LOADADDR (.data) + 0x0000000008100740 _rdata = . *(.data .data.*) - .data 0x0000000008100730 0x0 build-fx/src/levelchanger.c.o - .data 0x0000000008100730 0x0 build-fx/src/level.c.o - .data 0x0000000008100730 0x54 build-fx/src/config.c.o - 0x0000000008100730 _loglevels - .data 0x0000000008100784 0xc build-fx/src/score.c.o - 0x0000000008100784 _finish_level - 0x0000000008100788 _combo_id - 0x000000000810078c _lifes - .data 0x0000000008100790 0x0 build-fx/src/tile.c.o - .data 0x0000000008100790 0x0 build-fx/src/box.c.o - .data 0x0000000008100790 0x0 build-fx/src/world.c.o - .data 0x0000000008100790 0x3c build-fx/src/bonus.c.o - .data 0x00000000081007cc 0x0 build-fx/src/save.c.o - .data 0x00000000081007cc 0x20 build-fx/src/mario.c.o - 0x00000000081007cc _last_vx_sign - 0x00000000081007d0 _mario - .data 0x00000000081007ec 0x0 build-fx/src/main.c.o - .data 0x00000000081007ec 0x0 build-fx/src/keyboard.c.o - .data 0x00000000081007ec 0x0 build-fx/src/ennemi.c.o - .data 0x00000000081007ec 0x68 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x00000000081007ec _kprint_formatters - .data 0x0000000008100854 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - .data 0x0000000008100854 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .data 0x0000000008100854 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x0000000008100854 _topti_font - 0x0000000008100858 _gint_default_font - .data 0x000000000810085c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) - .data 0x000000000810085c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - .data 0x000000000810085c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - .data 0x000000000810085c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - .data 0x000000000810085c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - .data 0x000000000810085c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - .data 0x000000000810085c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - .data 0x000000000810085c 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .data 0x0000000008100864 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .data 0x0000000008100864 0x30 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) - .data 0x0000000008100894 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - .data 0x0000000008100894 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - .data 0x0000000008100894 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - .data 0x0000000008100894 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - .data 0x0000000008100894 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - .data 0x0000000008100894 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + .data 0x0000000008100740 0x0 build-fx/src/levelchanger.c.o + .data 0x0000000008100740 0x0 build-fx/src/level.c.o + .data 0x0000000008100740 0x54 build-fx/src/config.c.o + 0x0000000008100740 _loglevels + .data 0x0000000008100794 0x8 build-fx/src/score.c.o + 0x0000000008100794 _combo_id + 0x0000000008100798 _lifes + .data 0x000000000810079c 0x0 build-fx/src/tile.c.o + .data 0x000000000810079c 0x0 build-fx/src/plateforme.c.o + .data 0x000000000810079c 0x0 build-fx/src/box.c.o + .data 0x000000000810079c 0x0 build-fx/src/world.c.o + .data 0x000000000810079c 0x3c build-fx/src/bonus.c.o + .data 0x00000000081007d8 0x0 build-fx/src/save.c.o + .data 0x00000000081007d8 0x20 build-fx/src/mario.c.o + 0x00000000081007d8 _last_vx_sign + 0x00000000081007dc _mario + .data 0x00000000081007f8 0x0 build-fx/src/main.c.o + .data 0x00000000081007f8 0x0 build-fx/src/keyboard.c.o + .data 0x00000000081007f8 0x0 build-fx/src/ennemi.c.o + .data 0x00000000081007f8 0x68 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x00000000081007f8 _kprint_formatters + .data 0x0000000008100860 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + .data 0x0000000008100860 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .data 0x0000000008100860 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x0000000008100860 _topti_font + 0x0000000008100864 _gint_default_font + .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) + .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + .data 0x0000000008100868 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .data 0x0000000008100870 0x30 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) + .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(D) 0x00000000081008a0 . = ALIGN (0x10) - *fill* 0x0000000008100894 0xc -.data.4 0x00000000081008a0 0x0 load address 0x000000000030e4d4 +.data.4 0x00000000081008a0 0x0 load address 0x000000000030e8b8 *(.data.4) 0x00000000081008a0 . = ALIGN (0x10) - 0x0000000000000170 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) + 0x0000000000000160 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) 0x00000000e5200000 . = ORIGIN (ilram) -.ilram 0x00000000e5200000 0x0 load address 0x000000000030e4d4 - 0x000000000030e4d4 _lilram = LOADADDR (.ilram) +.ilram 0x00000000e5200000 0x0 load address 0x000000000030e8b8 + 0x000000000030e8b8 _lilram = LOADADDR (.ilram) 0x00000000e5200000 _rilram = . *(.ilram) 0x00000000e5200000 . = ALIGN (0x10) 0x00000000e5007000 . = ORIGIN (xram) -.xram 0x00000000e5007000 0x0 load address 0x000000000030e4d4 - 0x000000000030e4d4 _lxram = LOADADDR (.xram) +.xram 0x00000000e5007000 0x0 load address 0x000000000030e8b8 + 0x000000000030e8b8 _lxram = LOADADDR (.xram) 0x00000000e5007000 _rxram = . *(.xram) 0x00000000e5007000 . = ALIGN (0x10) 0x00000000e5017000 . = ORIGIN (yram) -.yram 0x00000000e5017000 0x0 load address 0x000000000030e4d4 - 0x000000000030e4d4 _lyram = LOADADDR (.yram) +.yram 0x00000000e5017000 0x0 load address 0x000000000030e8b8 + 0x000000000030e8b8 _lyram = LOADADDR (.yram) 0x00000000e5017000 _ryram = . *(.yram) 0x00000000e5017000 . = ALIGN (0x10) @@ -922,8 +943,8 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x000000008800df00 _gint_vbr = 0x8800df00 0x000000008800f400 . = ORIGIN (rram) -.gint.data 0x000000008800f400 0x140 load address 0x000000000030e4d4 - 0x000000000030e4d4 _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008800f400 0x140 load address 0x000000000030e8b8 + 0x000000000030e8b8 _lgdata = LOADADDR (.gint.data) 0x000000008800f400 _rgdata = . *(.gint.data .gint.data.*) .gint.data 0x000000008800f400 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) @@ -944,7 +965,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x000000008800f540 . = ALIGN (0x10) 0x0000000000000140 _sgdata = SIZEOF (.gint.data) -.gint.bss 0x000000008800f540 0x290 load address 0x000000000030e614 +.gint.bss 0x000000008800f540 0x290 load address 0x000000000030e9f8 *(.gint.bss .gint.bss.*) .gint.bss 0x000000008800f540 0x180 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) .gint.bss 0x000000008800f6c0 0x1c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) diff --git a/build-fx/src/keyboard.c.o b/build-fx/src/keyboard.c.o index 6faea0baabda59e55f1d8f999d296a78b80a2942..cfbf959dcf44a622b9f24dfab93402e77507680a 100644 GIT binary patch delta 991 zcmZ8fT}V@L6hHU6xy?J$`*eL@=8c2#XlI7%~gnFE8AV4*ti5J*VbmbXtREYcy)*>7xN>y4zMWuZ*!31=$57pcAXS%S#JY;*+IE6# zT&itEqs42|16rpA!umis80Lgi;aPlToWf$S2N32?*pfY)@X2odL3;Tk9toq2SRVjoiGb85PCj{eJE)n z=<3^L(K55DUK^3SH#?V{YHLsA5xW@IedTPZs#iwtx;LAMtFkzG93tP)%Slkh7FI#C z1=nC0qM5s8uO|M$ESP1c6#s(p^@!3VKT`zh!@^1A8PjINITU(O>3pt!HcJEK>aIPx zcTe8GC%?Wsr(kq90TW2MIo!P=F5nZ(0|x9 z;6NoNaM=%z-X6xqvFW@c;0iL}@VSECfP-OO42bXLr93d`=SlCGHV;67gu4OMIgE{O z^Vk%?K8c^+ev91$&`A74bPWkV0U#y(6o8QMGk_ut_>3+#2aqon=647$0PL6e*V{cf z5|f6*k(jgqj>HOc{WucSNf?RczEc_M^Kq^Ys0?vI6vdDEA#6@OtuV@M=*~)!Q&2em tQyf>A(qSPRk_t0+K-4PDatms5ipP{jc^FMTD>6!>t`(t1A>j2cQ~(v)fTwUdx2D8kzZL6`9reJM>hV;hPnJIj43Z;DHKQhh0R3P@Kf(_X-} zKJ`0^2vBVi1xdIL*I*FF5kNjKpelYDsR&h54nY%i(YiM|QFuqB|!bp2PQY_<0V`2MHe4|~bszu*J9$M5TPJH4zg478UCxc#)64dGRsyO+hr?RC-) z_B_zxeg_j`)5+|9Cg1?t$@%RJM-PPEA-+Lc8bOZ%l<7mo13dvK5cM;B6{3C#uv^r) z7nP`A1E@v)7Cdyd02+nO6UI5UEjwOISqFx3l&T0uRAZ}EG z3y7PO-~yx=gA0_18W+&=&9W$3;OAr}DGq~8enUn{2qnK)UY<6M+r}lYK!^A-d4;qU cAHrRJMsAX(uVC=BL zN)1evt|hKYXV&d(8l7Idm9Vp`2et8K+%b}{PiR}n$E;IYVs-ywBDiU1qh;Fonnzu@ z-Doqp^rmyR%Yg!7PS%V5#-_1~qGaR%xt5d~h*O?b=GtjCyy9gU!kwP)@XK?A8#2jX zlgVTdB_a|d$opQo*g>y&9JwoA2SeUK-o>Fp#|c+rmq*Ct zjke?!Vzx=0{+KrzMaAIlUY9NrXPK$nFZYc$D*X=#`w1sUG5I%0oyX*(Yoan%qn9ST z(LyO&C}qg3Jcg_UK1t9apIh5S@OAbc}R&_zI}inL;i55pG?MjlW}tGhE%&; zYmqFMXMEErD0!wvPX?5}-IAqBxsPy`xeqGk0Zby+>6m5?(|kpo4wF2hjP7R3qlA0) zlRFvmIQewO`tnOI9n&-?hl#V~!i@P=A)1ORg94UNocnRziq~4cLFGKP4y*UzhkNi2 zoQE&qJGcVBK(5-9RhUQlzy#@)e}6})PSM5E6qt$`()@m_JV>}|U5=r*6X>iBoxM(+ zOUHiq$O%QVoVUz((2myaiOCY-wkus^Yjmt@Yj&3A>DqMN*yOk}>@fZ0(F%U{%EN^7 zG4iNpy=q;w`Iz8lknQ5M{GxjM#M`tOGHZu@4CJ;?{8qML$#^W&>Sc1QPi7S6yh{gZ z&76*POg1pW=F9=l*l|ZBC8oMlU8!&im{1Cq;ZL{=die(30w(&yo#M8N1?U62=VN=$HG9r40%S&KLsk2z z*CK)ba1S5nBY`;Z!pW0DB+Q3|aAznw06fn}dWIrGq`9H03iw_z5EVLl`Xd5{b`E?r z&@Kx6KzKv|zEgOZ71EG=ClF1i9B&%jjxSq63kSPlFvfX%>O0JDLg z2PiObJ;1{TZUi`D;1+;~4BQ5A5V5-7WfEvK^Z5Nh<_UmD4UB@L21Y@lfys`!Ow`(q z`w)Q1z#_mS2JQveryg~kqCQhUcd^+uZ{h4#)CCtu-BkZ}mEga?U6OSZpgd2lcXQNT kRdhSDo!FC%3iYg;&927QP_61EH*0a@!|)t_#@b5qAD-NbKmY&$ delta 1028 zcmY+B-)j?D9L2xWq+RP&8L1<2thhKv{2VA&%4}=diB5KLda1bi?DLkJ2A=Jjzi<@mlta3^D8yXcA91Nr8@hk zQ$SUisk|#Vh2<^f!du+Sg_o*xtYR-0-m7@0M%Vx{%bSz`IE9a)^2JY#QC@L5IKO%F zw&Q-hg*0nN($N!Fe>u31%QTTE+EL=8>bPD^*o2>!!U9XgnFmso7KwPCqrZ}zb_y+h z2%bUkvVKLfErr?|m%?o<`2o2r=Ub8K#rN~X_bNeCy6iZ;o}n@k=>W;Oov-_}-$}D0 z+aDbXYe{rSD~J6i@wtXoIZETBC-lSyV*-sy44*)B62sFU!+NI6^bX5d!HX5VEE%U6 zq=xWFf;DP%2I;|-gx_3@pr>C?@s~F6Ddd&@D9McsYchHAI`}@wt6BbjDRM31H{IWL znc7J`zTUFfLE}W^i*p_HEQa(2OpGaFj81%Q939Zp>uH+CfWb;#sRd8d7G3;g?;SGU zJA+~4nnHY~ZEsusCQa&6&2_8C+t~he2YfhCf#t98@GFdg2Gej0?m(k4FYaY`0tdL5 z2yn)%txfF(&NdC)+VpdNDiJYY(i9deVy!8xbs6U#(zE={4PP@$#8T_ET6CP`-f%c3 z{xm*!-O+7o=g=YRiidj^DsO%srV0@wEKOf$Ll=&_Gu3o;psG}Xm8x z?FMiQckR2|7yjzF$uM?fs`E#FYprT+t#$@x7l55x@OFK}c%-2rX;6vDl9H11IfxC$ ze^#=wQQSu%mXh+Z%t$7tB#le{KU6QkPG;>O+kSxUmOcnjZ|P2eZ!H}F*k$P+fM!dF z0a`457+{;Fj{xkp^f7=vmOcfr6}7R_-BNFF0^p5QV1fx7e+Ptyt~vY(Q-&ibGI^sX z=)r3;=&8>G9HADugP0qKKkBE zKVVQlSV_rBvBmwR2rF3svLG_>15^~9DA){%)qT)FJGLUss)P!IdT#P=KOTa(OYb|s z-#Nc??|J9mzINj2-e(vC1KWdvBZzl7%x%bx(3)3xzyjthQ*Q_B3iu|ojPK$a_})9) z>ASoN{q7~t#Ae1*W9zVjMKCTkaDNV)er~u0K6{6C71H&~hy7@Osn3GP&d)d6({;br z`B8hVj=SV?q}FV<~-j=TNTLmL|qQ8)^ZW`^J~?-MZG>?|ysso!K7i#OCs;9<1zU_ZnonPhw4d$g-y9^6AQe@mmAa#MEIW z7Ei6C)C`#?*IcNvW&CRvv@c~k^46buB5xZrkLRr|>#$Uqock)WMLv6xGu>X|9PAve z8abS>_^qlfeVp`S={V_p^A|IQu<^+IsjjxAnbPjE)PeD>u?yL|9!Kg!(wk^5l9O^f z9U6EenV4Ztm8DveBQr%=Lwm)vDOt9-HqKzAY}z<5_ok<v>A0-p6FNSHoYZZy!PXyW=XCLRb$mg` zKhW_{bo@IVzpCRmu`Reib585W9bNqIy`0%TpF(4qa$US$$D4G#@I^wWmj9S8{*;dQ z>iF|I9@xVrVMLIEVJ;dHWN#4IASX!yE;s~iT;j&rd>B|&j0iHz3+SRm5!6I{o2Z*Spj^YmRA|_665t@kc<-DP zp9VNY@fmM^JQb<{rwP*3qWfRY0C zD&rBA3xHQq<$?`UB;%F#s=}BGUc5aVcms+8-e4?(=Y5)CypDRl~%X zG<-jPUk^WF z+k?dDG;Djpa0Rt^o=}35)JW`t_1HAoS-7KdEGxM CWsA@N literal 2488 zcmbVOT}&fY6h6}yXf3X^%FmX+wm<_yTA-k~aS4QV7jaiMMiVzNnclWTJ2FGd%#@#v z39IW83`-i|x$WFiCYzY`q_^k$ z&d?;p`9-Xp-EjyZr3-)`kb9xL}&eGqo(Hu5^$8mjJ2iSaV4JWE0 z`)uBWF^=prc^m3W+2Nud&khxJPc~T8j$D(q(c-c-=BfhDDp$r|XRY+dL|*~aaf zBhx#ME9~^rbt1LFPt#n_=6ZkdtF&#hK5Y#JmkvY0)G7+B@|q-O#9@5RG2Ni zSr7|gj~BLoIDqZU0SBva4c^A?JfdW*fz@g6IQA%0lZR|g5mnzo4Yo-f+YcT-XJ9pO zQ=ACg+VxF)vEP61bmh2gS036OV>p*!-svEJ&0Bu#_zeP1YRP!+6j#YX^n)pTxAUj= zT{pSmX_Zf%@K8ET;q1ZOux~7vh*E(hd4dG zo~Dhvd$3}i_OX6^Xr8j)GjHD}H_ZD-t@xUrq5mi6CMHg~yU)G+T95lV|DeDB;j@&_ zs|614SB996on?BE>E}q0SdLiHS%th#w^^N~d>3*n!ZSMWVmW%?uz{a8@RtlcWZ-cF zPa61=fnPE3H3Lr@_@;qx;a<+8ZA9PCCkFqQ2L27kzl*kgJw9Xb-!eMoyoT#Q}$ZVl9IP|EPhVHSh}te#yX(_g@kg1St|Hb1^~jM}UtINeYw5 zEbtOZ%|+sTN(6pZSPmzM66GV3KosDkqD*1}@S+^!Wg^bW!dwdYn4s}VB@t5uRpnKU zXeqT6vN){kAzcS`J*eveoKg`Y8md$>N;I4rC&N{NSC>^ykadz2*48zKaba%;V}RQ!)E}T3{L_)$uQo* zdWN-%dhjkbF#B5-xmS*IO;~4>9%I5fPcn?PxfsUUsu{-Gni)hX6Vm#>TU~o8kanCA(i;mNgOvzp5!E9cM_vgX7nP zB@O&|CJFe%stW!{LdN5cO?nh@V=!H>T2I2>m?RxjWzli7j>k&8dJWUABc^#YpT^bV z@abHCx0tq&SBk!8=tH9w$A85QU<}Q{vqhyiAHM#|LVawQ%2qIaj%nEXb)#MUpWzhvdmIn~S0N5-5SYH}_ delta 219 zcmeytwuXIzk{Oc>0|Nsyg9(siV9;RTV&J^M;jeUs!-1QD^CE{Mh-8P6PZ<2w7=R)S zoD&O0CnokWT1@=l%FMuEHCcnv%{9IxGdHy;zPKd60Bjh83IhWNBZLVwnSm3=)?r}a zg0T%47`S0iG9683!(>)&;O*1vJ;sZsn{%L=j<1l+vn#Uf zx;ZfAwp`0FJ1~lzJH;K6cieLz=cmZYsMeyz-F?$%QKB}mpU>&WU>DdgT_&<-xt5g? z!<0vV)oJvOI$JZ0KII)r%ALCO`!`vyd(z#tl3{jX1X*{ByCiSg>_FCUDXa2!w79o# z`YuW|2KG)!Hx7HievhoTyH+Ucq({Hpi>!Uu`*c}_e%0%CAq#&5Ph+IFHO(MyNtbXg zZVr_8qFj-s)!{;@Fjsi35G;T?P-rmlal0}1sDlMV?jkS8Zi%vpJ*Ay`2<2YcHf-DX z+9o;{{?51YTK4UV#?Pk}~B==yRjH$!# zo=J_XUr=s=O)EUeD}RR#if2E!)-{jNgn`Z2TExa~HG9;?`g$y)jW%mKppz>+$ zp0w(e)_%e6xvV(RVn3CU#bx#rxbD4ZH>mGd@3&`gu&=$#^WsTMd$095YmcG0a)XS zSa}RcR!j)-)`XBufYr|@c(BgI<6!kg!eQZTf^O^oOFO30bsQ2)aDTEpqD=>S$EX}Z zrFK6mio%Fr*HLL5t*0>!s#(P18>xFL7^?j5;Q4|QwKk7pNu+t{JE8p811hC-ypk26 xF-c_=FUa-irZo+ybd8j+8I}HC)+~w{Li{7DB$SH^KC9Y11$~QsG$2YT?;nDnWEB7a literal 0 HcmV?d00001 diff --git a/build-fx/src/score.c.o b/build-fx/src/score.c.o index c0b6001985fd6e9ff015962ea1caebb89e0284c5..b692250e88ec40716d638242af8cfdc61709769e 100644 GIT binary patch delta 1046 zcmZ8eL1+_E5S^dh>?Yl!+a+yd(?hb6G_{u4wAh@)f`A_1OlB>>7_cyBp^Z%RKH*fyT&Z0|uZ{n)eE%h_I5|OEpEf8vIXA<%R`ys zWqlx8^$bL;_~WxxFtkYSK`L9T#Qxz+jBoW}zHeGgDu%WRsHN>|#V3mN5|ImsAGtEc z8-I>qPor4TnZ|$2^Z8=$!d%BTSb;CyBTO~0jyHHK0qh}Ex*DgSotD2!LQk#EkZ!7} z$W;AmJzobUSAYGUk4^7N0lGtaMK(J1x#ozEmRy5oPy-;CYODlru?-z>onc4ZkJ#gg zk0TDEx7zh1h>xTHctv)%eb4^RgM4`2kuu?gmgej-m#~ zCmr|{zyY2g1vtp@1%Nh=pW8YnYw*HBDmjD}n?huvnI~B6vxNxOwsVZN631A}A4+fs z{1N1hLvsnh+%H&ezK(ow2(2`yCm$X8PXHaf*=K-Gj#qJE9IpW!;`m2%qhtf1YcEgx zrH5pTE=yteF8-+;-9Us32M_hgVRsObpB|ILBuLN6J>&$Pk$c=@$Xua|vMz}#5`NNE OIoyuhg(Nz+hW=j>BdfIl delta 944 zcmY*VJ!n%=6#j1V^4AyiHO4g24#`VNo05_ywi#R`;Lt*`0dWhMXbr6utXQ;L#6c7l z(_Rq=2Mr<_1d9}L=-}Yc!NFG=iN(dx;?PA1WGcjS!@JG%z`6Ik=X~e8=bR1gp;n1z zR{+>CK_@VRK6ngAvlGz`$C?t+n=llp5uH`w=`zg2U{DLbZcJM(3@~kVf9N zi{!iHrvn(7S^a0G{I}$rYc(e8lhf+5QfehX{;}Ut_A#aIVK=p%E>^GTsgb5T6*I=4 z=9(z^V)Kt?=34c!|M*V9H{ukJFDuh($@d$i>h0dMWhY|X5Dl0@n4Z7i}he*<14|dOhIE_GLt*p()7Ted`3vHdX-D3h<-WkF}4(I`x|1Pwb1#&E3jQ`Nl%& z+HH!H1p$wkL)akDCvg~1B~DNa5}&u=Dd3ol&j80I&IA1tzqaVSH92MRShT*IdI6 XS|MBKJ1*U6KP197KO{nehu!{vm<62% diff --git a/build-fx/src/tile.c.o b/build-fx/src/tile.c.o index fc3056da9487111f65e8ad53474c08b762b4499f..29fc834dc521dcd1893b18434e7ebb9dbc4a9eaa 100644 GIT binary patch delta 721 zcmZ8ezb`{k82zr-_g-zSNQY{qd2M27BApB@4Cr7mG-0a_B@&HCYC>LZ#&Z7wqJzYM zFc>>XB&IGV1Hoos>|k*2ulBVk`QAO}JLkLiy>~C;^^t}*M)~)}_f*hDc zOf5551dYXsY^)2at(xFPR2pUcGPs1E--F1bjK8DY?)(w-Y|l^7;XvRRdim5E3(i5- zP-dqqa0z|V1B8z<{=IU$Cp|*fLw*ZfLeD=#G*D*#MY(1^pieZ;LV>sb0R2GUg#7OT z{|~wq@;m)L8-{N8d?tRkgnYq(*eKLHO1~kKeUVUvjf4J%{G{*%w4WtnQmVUT19#1) z;ftu*e@cV}L{kjUqtf6eFb6K74_M*{kzBIoZp4ye`+f0_n_*3!icZ+LRf~8bnh}hxazE-NTx4ibJT&B2 F{R0xpLXiLf delta 649 zcmZn=S|K<=iHYsQM3wN3-4__^H5s5l079DsDG*aYkb!{}NV`CUA%Z}51Q06#F-$%L z$OZ$b{uCg`0El7o31CT(0ECeZq#Qt8i1}s=RSBH6^2rR0>_CAJ2nCFMC<+)DWf>SiX21fQQ4&pF z11K+mB(H)duRnPWi}vO(Eb@$#h1ecXW@KN<#Cl}%8un^Ng~=KmN^Gnk*WZ{Nz@f}I pWpW9JI_nAs2Brs-7jP)Eb^wjGo_vBsNsJ9B$lwk$8AyYj1OV_EI`{wp diff --git a/build-fx/src/world.c.d b/build-fx/src/world.c.d index 110f754..69a4dad 100644 --- a/build-fx/src/world.c.d +++ b/build-fx/src/world.c.d @@ -1,6 +1,6 @@ build-fx/src/world.c.o: src/world.c include/world.h include/tile.h \ include/mario.h include/box.h include/ennemi.h include/bonus.h \ - include/constants.h + include/constants.h include/plateforme.h include/world.h: @@ -15,3 +15,5 @@ include/ennemi.h: include/bonus.h: include/constants.h: + +include/plateforme.h: diff --git a/build-fx/src/world.c.o b/build-fx/src/world.c.o index 83a35e78316fc8746322b0fb794fa3bcd0227ab2..16df994a311994c5151536ddea2171ba1711742d 100644 GIT binary patch delta 1181 zcmZ9LT}V@57{{M;&Q5L~w$#*}&FSW}ZKicJl?=Sth`=P8V0T4w+-92}%v1uqnP3DF zlJtfN34ww)1=0u6MHdAUU376wC-w!)h6PD^(@**SatI4`{C{r&&%^L{-KN2$2$ znsl?4>yN7^xen=uG!;9g6iV|!w_oV(bQz=EL_vyE%#k_25GF3;ZBvSo$JRO7(cqad zt}~S))C@8~Pj4oc0U?^XvMoCn{xo>N1lUNL>#mTdqZml`C ztTg)t5;auXI=jCOb@bkMdRnLDx$foTGodP{x6$$5OJ)rxZT5ihlUcF_1Tf{kqRJxq zWeDWqF=GIE}f)b+S^K~C3c(L3u~ zG~K>qoYMtd(&=HHP5|(J^d997xJ5RN&cp*<)H9u4)M-Vhzv%RDo!;KBStDvgwil{n z5i6olP0e6^^@(XQQ~Ve&A4 z;9&e}WS>_eoF*59tpt|Jl*>Pd_bSZsBV*z*^-Ta(bOLKxO}Q1|Fl9`>m+}h$ALW+-HI!cg9HETG;VHk}!}#D@ z>MPK`8?*vYM<>?yEcgs?l=>-vW0cc-VtxQfByOH$Ht$%f_`d+GpZF|p_JE6=wRp0_ oh&Ievyv#URw0QYx{3q(k7KY>P*m@!!beCFMFdJvE)25#FA9I+)JOBUy delta 984 zcmZ9LPiWIn9LImJNy=inHqLHMx7a_arkfLDT@{5LTJg|ZE4zqzFm;S>Q<&mGPerCO z!9nqjIdF$LMLdZ0PZ5oL>;v+qM!sFLnx^N$shTx%lRJ>6|-zw z$@FOB+EwkY_C$N3Efu#LBeDyJncm@IbZ%Qr=%2->*q}F+et$GIaM7=JPw1D^vs)(* zhWz0!`MHW8vOCv#ckO@g`1e&n<0sHykSfoQj-AO*n5#G9%O+;7SES@e)apT-W}zvq(0 zyGx44yEalL^#RHvK#;N?V*8nzA|2n9v&EzIJX`)cqa1UTJ?sDeP41VkkaeD!5 tGXCsTY}_&yU8)gwnBjmcjC$~hE6iocZ2~U1LI$BP_>GJF%g4@(?tfY5p6dVr diff --git a/include/keyboard.h b/include/keyboard.h index 6020707..88f90bc 100755 --- a/include/keyboard.h +++ b/include/keyboard.h @@ -17,4 +17,6 @@ void update_keyboard(); void keyboard_clear(); +int getkey_custom(); + #endif \ No newline at end of file diff --git a/include/plateforme.h b/include/plateforme.h new file mode 100644 index 0000000..813b868 --- /dev/null +++ b/include/plateforme.h @@ -0,0 +1,53 @@ +#ifndef PLATEFORME_H +#define PLATEFORME_H + +#define P_FALLING 0 +#define P_MOVING_H 1 +#define P_MOVING_V 2 + + + + +typedef struct +{ + unsigned type; + int xinit, yinit; + int x, y; + int width; // height fixed to 3 + int v, vinit; + + union + { + int xmin; + int ymin; + }; + union + { + int xmax; + int ymax; + }; + int counter; +} plateforme_t; + +#define PLATEFORME_HEIGHT 3 + +#define PLATEFORME_FALLING(x,y,w) {P_FALLING,x,y,x,y,w,0,0,.xmin=0,.xmax=0,0} +#define PLATEFORME_MOVING_H(x,y,w,v,x0,x1) {P_MOVING_H,x,y,x,y,w,0,v,.xmin=x0,.xmax=x0,0} +#define PLATEFORME_MOVING_V(x,y,w,v,y0,y1) {P_MOVING_V,x,y,x,y,w,0,v,.ymin=y0,.ymax=y0,0} + +//void reset_plateforme(plateforme_t* p); + + + +//void move_plateforme(plateforme_t* p); // touch mario stuff + +void move_plateformes(); + +void display_plateformes(); + +int plateforme_check_collide(int x, int y); + +extern int plateforme_table_size; +extern plateforme_t* plateformes; + +#endif \ No newline at end of file diff --git a/include/tile.h b/include/tile.h index 7715632..b537632 100755 --- a/include/tile.h +++ b/include/tile.h @@ -37,6 +37,8 @@ extern const tileset_t bloc; extern const tileset_t mario_small; extern const tileset_t mario_big; +extern const tileset_t tplateforme; + void draw_tile(int sx, int sy, tileset_t const * const set, int x, int y); #endif diff --git a/src/keyboard.c b/src/keyboard.c index 6fa0bce..6db4e76 100755 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -9,7 +9,7 @@ mkey_t keys[6]={0}; - + static int konami[]={KEY_UP,KEY_UP,KEY_DOWN,KEY_DOWN,KEY_LEFT,KEY_RIGHT,KEY_LEFT,KEY_RIGHT,KEY_ALPHA,KEY_SHIFT}; @@ -24,11 +24,9 @@ int menu_pause() // 1 exit, 0 continue { extern image_t img_menu_pause; extern image_t img_select_arrow; - key_event_t e; - e=pollevent(); - while(e.type!=KEYEV_NONE) - e=pollevent(); - int key; + + clearevents(); + int choice=0; int x=64-img_menu_pause.width/2; @@ -37,65 +35,63 @@ int menu_pause() // 1 exit, 0 continue keys[i]=0; while (1) { - e=pollevent(); - while(e.type!=KEYEV_NONE) - { - if (keydown(KEY_EXE)) - { - if (choice==2) - configmenu(); - else - return choice; - } - if (keydown(KEY_UP) && choice>0) - choice--; - if (keydown(KEY_DOWN) && choice<2) - choice++; - if (keydown(KEY_MENU)) - return 1; - if (keydown(KEY_EXIT)) - return 0; - if (keydown(KEY_OPTN)) - configmenu(); - if (keydown(KEY_F1)) - { - e=pollevent(); - int a=0; - while (a<10) - { - if (e.type==KEYEV_DOWN) - { - if (e.key==konami[a]) - a++; - else - break; - } - if (keydown(KEY_EXIT)) - break; - if (a==10) // CHEAT MENU - { - mario_bigger(); - mario_has_bullets=1; - lifes=50; - extern image_t img_dev; - dimage(0,0,&img_dev); - dupdate(); - sleep_ms(3,1000); - return 0; - } - else - e=pollevent(); - } - } - e=pollevent(); - } - - dimage(x,y,&img_menu_pause); dimage(x+2, y+2+7*choice, &img_select_arrow); - + dupdate(); - sleep_ms(3,1); + switch (getkey_custom()) + { + case KEY_EXIT: + return 0; + + case KEY_MENU: + return 1; + + case KEY_OPTN: + choice=2; + + case KEY_EXE: + if (choice==2) + configmenu(); + return choice & 1; + + case KEY_UP: + if (choice>0) + choice--; + break; + + case KEY_DOWN: + if (choice<2) + choice++; + break; + + case KEY_F1: + + for (int a=0; a<10; a++) + { + key_event_t e=pollevent(); + if (e.type==KEYEV_DOWN) + { + if (e.key!=konami[a]) + break; + } + if (keydown(KEY_EXIT)) + break; + if (a==10) // Cheat code + { + mario_bigger(); + mario_has_bullets=1; + lifes=50; + extern image_t img_dev; + dimage(0,0,&img_dev); + dupdate(); + sleep_ms(3,1000); + return 0; + } + else + e=pollevent(); + } + } } } @@ -128,7 +124,7 @@ void update_keyboard() if(keydown(KEY_EXIT)) menu=1; - + if (k!=MK_NONE) @@ -145,5 +141,23 @@ void update_keyboard() e=pollevent(); } if (menu) - global_quit=menu_pause(); + mario_dead=menu_pause(); +} + +int getkey_custom() +{ + key_event_t e; + + for (int i=0; i<6; i++) + keys[i]=0; + + clearevents(); + while (1) + { + e=pollevent(); + if (e.type==KEYEV_DOWN) + return e.key; + else + sleep(); + } } \ No newline at end of file diff --git a/src/level.c b/src/level.c index b103f6b..3252c8e 100644 --- a/src/level.c +++ b/src/level.c @@ -4,13 +4,15 @@ #include "score.h" #include "ennemi.h" #include "keyboard.h" -//#include "teleporteur.h" +#include + #include #include #include #include #include + void malloc_error() { extern image_t img_ram; @@ -52,6 +54,20 @@ void init_ennemies(ennemi_t * table) memcpy(ennemis_global, table, size); } +static void init_plateformes(plateforme_t * table) +{ + if (plateformes) + { + free(plateformes); + } + int size=sizeof(plateforme_t)*plateforme_table_size; + plateformes=malloc(size); + if (plateformes==0) + malloc_error(); + + memcpy(plateformes, table, size); +} + void set_level(int n) { new_level(); @@ -313,6 +329,13 @@ void set_level(int n) GOOMBA(924,16,-1) }; init_ennemies(ennemies0); + + plateforme_t plateforme0[]= + { + PLATEFORME_MOVING_H(15,25,16,1,0,60) + }; + plateforme_table_size=1; + init_plateformes(plateforme0); } } diff --git a/src/levelchanger.c b/src/levelchanger.c index 3fc14d1..d920b50 100644 --- a/src/levelchanger.c +++ b/src/levelchanger.c @@ -11,6 +11,7 @@ #include #include #include +#include extern image_t img_mainmenu; @@ -49,7 +50,8 @@ void launch_ui() drect(xt+24*choice_x,yt+24*choice_y, xt+24*choice_x+20,yt+24*choice_y+20, C_INVERT); dupdate(); - int key=getkey().key; + //int key=getkey_opt(GETKEY_REP_ARROWS,0).key; + int key=getkey_custom(); if (key==KEY_UP && choice_y>0) choice_y--; if (key==KEY_LEFT && choice_x>0) @@ -65,7 +67,19 @@ void launch_ui() if (choice_x==3 && choice_y==1) break; if (choice_x==2 && choice_y==1) - break; + { + configmenu(); + } + if (choice_y*choice_x==0) + { + int world_chosen=0; + if (choice_y==1) + world_chosen=4; + else + world_chosen=choice_x; + if (world_chosen<=get_progress_status()) + play_level(world_chosen); + } } if (key==KEY_EXIT || key==KEY_MENU) @@ -75,17 +89,6 @@ void launch_ui() } - - -extern image_t img_error; -GNORETURN void system_error(uint32_t code) -{ - timer_stop(0); - dimage(0,0,&img_error); - dupdate(); - while(1) getkey(); -} - int frame_id; int callback(volatile void *arg) { @@ -99,16 +102,12 @@ int callback(volatile void *arg) int play_level(int l) { - set_level(l); - - - volatile int has_ticked = 1; timer_setup(0, timer_delay(0, 50000), timer_Po_4, callback, &has_ticked); timer_start(0); //int finish_status=0; // FAil - finish_level=0; + finish_level=0; mario_dead=0; set_level(l); while(global_quit==0) { @@ -126,6 +125,7 @@ int play_level(int l) dupdate(); if (mario_dead || finish_level) { + timer_stop(0); return 0; } @@ -133,4 +133,5 @@ int play_level(int l) else sleep_ms(3,1); } + } \ No newline at end of file diff --git a/src/main.c b/src/main.c index 4e102db..4aa784e 100755 --- a/src/main.c +++ b/src/main.c @@ -24,9 +24,6 @@ int main(void) //gint_panic_set(system_error); ll_set_panic(); - int current_level=0; launch_ui(); - - timer_stop(0); } diff --git a/src/plateforme.c b/src/plateforme.c new file mode 100644 index 0000000..cecdf63 --- /dev/null +++ b/src/plateforme.c @@ -0,0 +1,122 @@ +#include + +#include +#include +#include +#include + +int plateforme_table_size=0; +plateforme_t* plateformes=0; + + +static int sgn(int x) +{ + if (x==0) + return 0; + else if (x>0) + return 1; + return -1; +} + + + +void reset_plateforme(plateforme_t* p) +{ + p->x=p->xinit; + p->y=p->yinit; + p->v=p->vinit; +} + +void move_plateforme(plateforme_t* p) +{/* + if (p->x+p->width-world_get_real_x0()<-50) + return; + if (p->x-world_get_real_x0()-128>50) + return; + + + if (p->y-world_get_real_y0()-64>50) + return; + if (p->y+3-world_get_real_y0()<-50) + return; + */ + + int xc = (mario.p.xx+p->width && mario.p.x>=p->x) || (mario.p.x+mario.p.wx+p->width && mario.p.x+mario.p.w>=p->x); + int yc = (mario.p.y+mario.p.h==p->y); + + if (p->type==P_FALLING) + { + if (p->v) + p->v++; + p->y+=p->v; + } + + if (p->type==P_MOVING_H) + { + int s=sgn(p->v); + int t_v=((s*p->v+time_id%2)/2)*s; + if (p->v==0) + p->v=p->vinit; + p->x+=t_v; + if (p->x+p->width >= p->xmax && p->v>0) + p->v *= -1; + if (p->x <= p->xmin && p->v<0) + p->v *= -1; + } + + if (p->type==P_MOVING_V) + { + int s=sgn(p->v); + int t_v=((s*p->v+time_id%2)/2)*s; + if (p->v==0) + p->v=p->vinit; + p->y+=t_v; + if (p->y > p->ymax || p->y+3 < p->ymin) + p->v *= -1; + } + + if (xc&&yc) + { + int s=sgn(p->v); + int t_v=((s*p->v+time_id%2)/2)*s; + if (p->type==P_FALLING) + mario.p.y+=t_v; + if (p->type==P_MOVING_H) + mario.p.x+=t_v; + if (p->type==P_MOVING_V) + mario.p.y+=t_v; + } +} + +void display_plateformes() +{ + plateforme_t * p=0; + for (int i=0; ix; j < p->x+p->width; j+=3) + draw_tile(j-world_get_real_x0(),p->y-world_get_real_y0(), &tplateforme, 0,0); + //drect(p->x-world_get_real_x0(),64-(p->y-world_get_real_y0()),p->x-world_get_real_x0()+p->width,64-(p->y-world_get_real_y0()-3), C_BLACK); + } +} + +void move_plateformes() +{ + plateforme_t * p=0; + for (int i=0; ix<=x && p->x+p->width>x && p->y<=y && p->y+3>y) + return 1; + } + return 0; +} \ No newline at end of file diff --git a/src/score.c b/src/score.c index 1db70cf..d90cb83 100644 --- a/src/score.c +++ b/src/score.c @@ -17,7 +17,7 @@ int pieces=0; int time_id=0; int time_left=0; -int finish_level=-1; +int finish_level=0; static void new_game() { @@ -32,7 +32,7 @@ static void new_game() void new_level() { - finish_level=-1; + finish_level=0; time_left=400; time_id=0; } @@ -105,5 +105,6 @@ void score_display() sleep_ms(3,1000); sleep_ms(3,1000); finish_level=0; + mario_dead=1; } } diff --git a/src/tile.c b/src/tile.c index 1cf5163..a65be83 100755 --- a/src/tile.c +++ b/src/tile.c @@ -56,6 +56,9 @@ const tileset_t mario_small={&img_mariosmall, TILE_W, TILE_H, 1}; extern image_t img_mariobig; const tileset_t mario_big={&img_mariobig, TILE_W, 2*TILE_H, 1}; +extern image_t img_plateforme; +const tileset_t tplateforme={&img_plateforme, 3, 3, 0}; + void draw_tile(int sx, int sy, tileset_t const * const set, int x, int y) { diff --git a/src/world.c b/src/world.c index 808961c..b1ba02e 100755 --- a/src/world.c +++ b/src/world.c @@ -7,6 +7,7 @@ #include #include "constants.h" #include "ennemi.h" +#include world_t * w_current=0; image_t * w_fond=0; @@ -138,6 +139,8 @@ int world_get_ctg(int x, int y) { return CTG_DEATH; } + if (plateforme_check_collide(x,y)) + return CTG_SOIL; switch (c->type) { case TUYAU: @@ -176,8 +179,8 @@ int world_get_real_y0() //mario delta en 0,0 void world_draw(int x, int y) { - int mx0=world_get_real_x0(x); - int my0=world_get_real_y0(y); + int mx0=world_get_real_x0(); + int my0=world_get_real_y0(); int sx0=mx0%8; int sy0=my0%8; int mx=mx0; @@ -196,6 +199,7 @@ void world_draw(int x, int y) display_ennemi_table(); bullet_display(); + display_plateformes(); mario_draw(); //int mx, my; @@ -228,6 +232,7 @@ void world_move() ll_sendp(LEVEL_INFO,"\n > Moved bonus"); bullet_move(); ll_sendp(LEVEL_INFO,"\n > Moved bullets"); + move_plateformes(); mario_move(); ll_sendp(LEVEL_INFO,"\n > Moved mario !\n");