From 52eb0327181722524f0eeba8873f73af01339b0a Mon Sep 17 00:00:00 2001 From: Shadow Date: Tue, 23 Jul 2019 17:17:29 +0200 Subject: [PATCH] Ajout des communications en Anglais --- Sources/FlySim.g3a | Bin 43840 -> 45540 bytes Sources/build-cg/map | 351 +++++++++++++------------ Sources/build-cg/src/FlySim.bin | Bin 15164 -> 16864 bytes Sources/build-cg/src/FlySim.elf | Bin 22876 -> 24540 bytes Sources/build-cg/src/main.o | Bin 3772 -> 6016 bytes Sources/src/main.c | 444 +++++++++++++++++++++----------- 6 files changed, 472 insertions(+), 323 deletions(-) diff --git a/Sources/FlySim.g3a b/Sources/FlySim.g3a index dc0810b98431fde2ccb51a9928c8bdd785e1c0ee..f34a3197347b2c41a484a3c472aafff08f204aec 100644 GIT binary patch delta 3722 zcmai1dr(x@89(Q;5?&&16_pBHR-mA`dx2GfQhBH-&PEUo7-LheyLVw_*~Q((S4gfg z#sEP@*ILI(B3dWoIL^Ik*U8XKn%a&N(~gtE)N>ad|A59v9@a5p9jC)czjN*)=yayb z{Pvvto$vkq_T1r;#@+gcD>#4Qk7{q{$%FqGe+qv$o{o>N`>7pG`Bcno#CY<#V))3x z>|i5~=6-kUNaNk8W%)}(>v79;5WN)oJn^HgYb%m^l4ntay+|nUjY-O=MF`i%B=I0x zc^IMcUL?R)m~KTvMkW#pU|(<%3DE`}32XE9KHA+ z5=wePPXafvoO)ST1#>h$j)bT_%YnO9mgCJEEFW)MVfnPhUSql*kbC80#D51lMyulk zhPzdyEwZ;A8@gL{2N8F5ymd@G(-`W+|D1P_+dh7JZGLusc30VzsO!%B`8X9XK(X+* z6s<%X(JpiV^`evLERq%UHM)Urq5HT9SK`gshdVeUXXc8yN^T41cVx^@fM?2N9r7-0b6xEitV$ZSgm#h zky@&y{+n6Y$jj=J9ODR^YsGl(_GpSI&W>!{GuKtzE!WNd=qJTlmCZ#mB@FFdXluRTyC>J-q zbG%3zb&R&#mX1|G81c+@ywE7S<+hsamdD#3yB?$X=Esm;Ih`R7GkTPS6sGNwwz~(J_7OGNn!GN}x|a z;1b{~z%UXDDXqo;4`81I0IC&&UZD-J3vdE(0Ra3dyom&B3;=YjrGQO<4gdtPf{yhX z1T(`5eyvZCu!IMI&n2Zu7M5&;hIg|zbwQK6!rg3wU8Gy(p(>%#hRa19l3#;|D2n9Ej*OWi8*;Z-|1l6vKRDhn@T$rJ(s^9lQH zgbTGYQmg!#rBfi28f7Ol5y;EWNM+L&5}Wb~BNc=n%mwyVD`5+D$ZHG8YGoz031?^~ zvPxM_18FHN&^)MmVK{|VJ&%+r>1bE>b&jK!o_O=pTT$TCG> z?h?pSWf9xO5v!67JEXlt3Y84tE+gxU1YOb$LY)gmRtoqLc&r5KmarX_D9Hm z3HIjzmu2_@b}j{`FG~QF0~`Qg?=oQcvWtLWV67DiMM(f)Z4m@10)`j00geIA0{S5s z59>_;FuWLai!%XWSG*Aby2X%KF(g(Dy2anZ4Llbhms$>tV9RmK$CghmU)Gr9N7pjb zXO5tBH$#w|y0g%*Am{`}W{us%|_UF_}EO`c52|M&-}kJv)O8VLm1Op-1m}ChT>eEUX@K z*L&xaGigCrsp`~hLPeeTaa_t666iT(Cv>ml=4S`@cAHG8@KQ#o#xyWZ9_ zq0I}20R|*2>J2_R=!~YfbpZ-C9$H&M^ARrfBvUP6xF>lUtQo**zQ1SoICz*X3~~ce zB#I3omOe+$2ST?FrC}~>ZqU$Mz~vSNi+YzQCOtvI&pro@Ye>lXB(%TRh`9x|p%X_6 zqD*;bAs--fKFy1V6{60v!MYa-d2U$yg7=O+j9$DS3FesKtzX~aat*<&$9>dy`ES0A z%Yy;r4^!Px(us$d%iIz&octRXSJn%eHv*D_Lm$+0LSs<)ur+l0!)cgWp8Ket%e{8= zRApRQ4{Zh5e-&Jh=QRjr`}ODS`D{g~vnM$jerQ<~=k&9(PJLbY0qY+^b3q5{TR0!E zDWcP%uck31m>z)d+37-AK$oT7V=F>2Q0o8^(jfoz6QKvE1dMltGEQINi=P>hi z()M=A522lIS5tEU{8Dw@PHYb}dws4wl7rVz&HM_{?dIjJqP>N;yCu;_^#fvy#Cx4i zuwuvm`;_HME29bOwoWhDKQpHCDG?_Rz@}m{6OhX++;a|hd)s-)XNSbM?&d|8uT8W| zW`2X@+u^cHe%>cKL>~<$T}~f3XXGy$v+5Xonf=+%WTNXrn~Fi4rF=SsLUSnYQlM zYo#5~gHLd6&2C6qjyTHW-7bGX@|cm!;}7`S?Ro?0Sl!TQpd%$3r4tS84~V{ipSH=z zi*0Q_uV`~UFJUC%a?mXV7Q8h0wGBDz3K%J1iOpW_+xAX67SE0a>r%x`QKJuU24!z$H@=w$gqmQcD* z4;pnvv)8qYcSw*n&Ah1{is19jd=)K7bopswe1Vy-@HDw2k8vPM0ayXc0lx~3{r2HB zxnv057(*9kfCTOeKsnv8kMI+?k7iFiO|DcX%33g)o~# delta 1965 zcmZ8ieN0nV6hHU2t3dfE6^cSdD2Nm$y_C*W#2G|DZQj>b!LMTe-FAY|Afm&+vQf+1%Wg@0P#|pY=Bq2zkDKwV^M7bXQS#4?l-eyaj2xtVh?opU2wE}=tgqc#%^xEG5>mC6^l|>u? zmRtkO;XzCRGw4GIzZa6p1IopN-xF%=m+B7H(u5ba8mJy4YPH?WtGf)|V4!LY)NQ=VZuSO!`Vu3A4{h5ib#(6tdV`0{ z*3K3psqNhdNtW5a*MFcqWB2r~X)xAJV~#QrGgRTz^NK)4iP2$JD|m%B*p=lgQ_IJI zm)p<&DT-=)8%)CC}K+sJ+QI$wAaWE#{^26U|n{OXR;aTcJqGi$yQ^8}ogrQj2(z zYgUkx`yhOb1l;NdUMTlyvDtis{G%4@s+EMj`2_K(yA2D4s4K!Sh2q-qXSiu*623g&ANtUyOwzQgAN^r590vV2C<| z4{;pPjJSpvLEu>C;wkq8Cpe z&*SAhjklS{$vK*4(i$Ht`hXW;LRt3Zzj$I$!+Er9)qIxlNI5~%^xP<$Q3I9oa5>6u z7KapsodXCYkr#<@`SGU+fe%t%7oy*BVvIOC96gS&%WeLdkvIpYSQ$ICba?6AxI(;N zamT-!YbVDNoe8IrNGYznB1d6IaFg+{UaU%tyCQ3(Cg17DwUeXZ4=c~uGrcgBf`qXQ zaWwR_MUza$^r3|$TAvQ-CSXwaCv*@`w$}`!_|$I&W__x7j-8=2wMH6lw9&{WWv1~T zYPM|w788js%MjRYlS$GafB4*N68D;k56B4n^4NUAKxvA#2>GE2ssKrJT3#7W1 zWFeYbY>9~l<+ee+f7Vg&G42fd_2n6WEd-WWp!B!o5Sr8=O`W00ai2Js4Xc%<~U(tJ@j2R(&XPD-=oC6vkcfvuQoj-Nw&JR72e zI$V(}j3PI(NR3uIZAd&hOLVd6b$i0};`67b@v$lXUaK z#t8QV(GOr*dTBFR{vLCWhSq6YH3`tvY_Z@WY&hq(`=LGeyj(q^H4$JL`dmkSE24eg zXCx$3+`v*^#@z8MnR_r~OUl$FKo}l)5Jwd+!#b?=bu&ULm9funQ>FQm!QgjcU6<=} zjOHDNzn=Lx>uZ diff --git a/Sources/build-cg/map b/Sources/build-cg/map index 0ab2aac..878dc98 100644 --- a/Sources/build-cg/map +++ b/Sources/build-cg/map @@ -121,9 +121,9 @@ LOAD build-cg/src/main.o LOAD /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a LOAD /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a 0x0000000000300000 _brom = 0x300000 - 0x00000000000039ec _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x0000000000004090 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) -.text 0x0000000000300000 0x2e00 +.text 0x0000000000300000 0x30c0 *(.pretext.entry) .pretext.entry 0x0000000000300000 0x1a4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(start.c.o) @@ -150,204 +150,203 @@ LOAD /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a *(.dtors .dtors.*) 0x0000000000300604 _etors = . *(.text .text.*) - .text 0x0000000000300604 0x3d8 build-cg/src/main.o + .text 0x0000000000300604 0x644 build-cg/src/main.o 0x0000000000300604 _fill_char 0x000000000030062e _display_comm 0x00000000003006e4 _communication - .text.startup 0x00000000003009dc 0x74 build-cg/src/main.o - 0x00000000003009dc _main - .text 0x0000000000300a50 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(start.c.o) - .text 0x0000000000300a50 0xf8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(mmu.c.o) - 0x0000000000300a50 _utlb_addr - 0x0000000000300a60 _utlb_data - 0x0000000000300a70 _utlb_mapped_memory - .text 0x0000000000300b48 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) - .text 0x0000000000300b48 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dvram.c.o) - 0x0000000000300b48 _dvram - .text 0x0000000000300b4c 0x30 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dupdate.c.o) - 0x0000000000300b4c _dupdate - 0x0000000000300b64 _dupdate_noint - .text 0x0000000000300b7c 0x48 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dclear.c.o) - 0x0000000000300b7c _dclear - .text 0x0000000000300bc4 0xc4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(drect.c.o) - 0x0000000000300bc4 _drect - .text 0x0000000000300c88 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti-asm.s.o) - .text 0x0000000000300c88 0x1e8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) - 0x0000000000300c88 _getkey_opt - 0x0000000000300e28 _getkey - 0x0000000000300e34 _getkey_repeat - .text 0x0000000000300e70 0x9c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) - 0x0000000000300e70 _dsize - .text 0x0000000000300f0c 0xbf4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(stdio.c.o) - 0x0000000000301838 _kprint_opt - 0x0000000000301962 _kprint - 0x0000000000301a3c _kvsprint - 0x0000000000301a80 _sprintf - 0x0000000000301aa8 _vsprintf - 0x0000000000301ac8 _snprintf - 0x0000000000301ae8 _vsnprintf - .text 0x0000000000301b00 0x26 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) - 0x0000000000301b00 _strlen - 0x0000000000301b10 _strncpy - *fill* 0x0000000000301b26 0x2 - .text 0x0000000000301b28 0x2cc /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) - 0x0000000000301b78 _r61524_win_get - 0x0000000000301c30 _r61524_win_set - 0x0000000000301cf0 _r61524_display - .text 0x0000000000301df4 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(hardware.c.o) - .text 0x0000000000301df4 0xf0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) - 0x0000000000301e60 _gint_install - 0x0000000000301ecc _gint_unload - .text 0x0000000000301ee4 0x2c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(vbr.s.o) - 0x0000000000301ee4 _gint_setvbr - .text 0x0000000000301f10 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o) - .text 0x0000000000301f10 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o) - .text 0x0000000000301f10 0x288 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) - 0x000000000030208c _pollevent - 0x0000000000302160 _waitevent - .text 0x0000000000302198 0xd6 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) - 0x0000000000302198 _memcpy - 0x000000000030224c __memmove - 0x0000000000302250 __memcmp - 0x0000000000302254 _memset - *fill* 0x000000000030226e 0x2 - .text 0x0000000000302270 0x4d0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) - 0x00000000003024f8 _timer_setup - 0x000000000030258c _timer_delay - 0x00000000003025ec _timer_start - 0x0000000000302620 _timer_reload - 0x0000000000302640 _timer_pause - 0x0000000000302674 _timer_stop - 0x00000000003026d0 _timer_timeout - 0x00000000003026dc _timer_address - 0x0000000000302710 _timer_clear - .text 0x0000000000302740 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - .text 0x0000000000302740 0x268 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) - 0x0000000000302740 _dma_transfer_wait - 0x000000000030281c _dma_transfer - 0x00000000003028cc _dma_transfer_noint - .text 0x00000000003029a8 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - .text 0x00000000003029a8 0x5c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o) - 0x00000000003029a8 _gint_intlevel - 0x00000000003029e0 _gint_inthandler - .text 0x0000000000302a04 0xc8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) - 0x0000000000302ac0 _clock_freq - .text 0x0000000000302acc 0x78 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o) - 0x0000000000302acc ___movmem - 0x0000000000302acc ___movstr - 0x0000000000302b00 ___movmemSI64 - 0x0000000000302b00 ___movstrSI64 - 0x0000000000302b04 ___movmemSI60 - 0x0000000000302b04 ___movstrSI60 - 0x0000000000302b08 ___movstrSI56 - 0x0000000000302b08 ___movmemSI56 - 0x0000000000302b0c ___movmemSI52 - 0x0000000000302b0c ___movstrSI52 - 0x0000000000302b10 ___movstrSI48 - 0x0000000000302b10 ___movmemSI48 - 0x0000000000302b14 ___movmemSI44 - 0x0000000000302b14 ___movstrSI44 - 0x0000000000302b18 ___movstrSI40 - 0x0000000000302b18 ___movmemSI40 - 0x0000000000302b1c ___movstrSI36 - 0x0000000000302b1c ___movmemSI36 - 0x0000000000302b20 ___movstrSI32 - 0x0000000000302b20 ___movmemSI32 - 0x0000000000302b24 ___movmemSI28 - 0x0000000000302b24 ___movstrSI28 - 0x0000000000302b28 ___movmemSI24 - 0x0000000000302b28 ___movstrSI24 - 0x0000000000302b2c ___movmemSI20 - 0x0000000000302b2c ___movstrSI20 - 0x0000000000302b30 ___movstrSI16 - 0x0000000000302b30 ___movmemSI16 - 0x0000000000302b34 ___movmemSI12 - 0x0000000000302b34 ___movstrSI12 - 0x0000000000302b38 ___movstrSI8 - 0x0000000000302b38 ___movmemSI8 - 0x0000000000302b3c ___movstrSI4 - 0x0000000000302b3c ___movmemSI4 - .text 0x0000000000302b44 0x1ec /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o) - 0x0000000000302b44 ___udivdi3 - .text 0x0000000000302d30 0x6c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o) - 0x0000000000302d52 ___udivsi3 - *fill* 0x0000000000302d9c 0x4 - .text 0x0000000000302da0 0x60 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000302da0 ___udiv_qrnnd_16 - .text 0x0000000000302e00 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) + .text.startup 0x0000000000300c48 0xcc build-cg/src/main.o + 0x0000000000300c48 _main + .text 0x0000000000300d14 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(start.c.o) + .text 0x0000000000300d14 0xf8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(mmu.c.o) + 0x0000000000300d14 _utlb_addr + 0x0000000000300d24 _utlb_data + 0x0000000000300d34 _utlb_mapped_memory + .text 0x0000000000300e0c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) + .text 0x0000000000300e0c 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dvram.c.o) + 0x0000000000300e0c _dvram + .text 0x0000000000300e10 0x30 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dupdate.c.o) + 0x0000000000300e10 _dupdate + 0x0000000000300e28 _dupdate_noint + .text 0x0000000000300e40 0x48 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dclear.c.o) + 0x0000000000300e40 _dclear + .text 0x0000000000300e88 0xc4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(drect.c.o) + 0x0000000000300e88 _drect + .text 0x0000000000300f4c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti-asm.s.o) + .text 0x0000000000300f4c 0x1e8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) + 0x0000000000300f4c _getkey_opt + 0x00000000003010ec _getkey + 0x00000000003010f8 _getkey_repeat + .text 0x0000000000301134 0x9c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) + 0x0000000000301134 _dsize + .text 0x00000000003011d0 0xbf4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(stdio.c.o) + 0x0000000000301afc _kprint_opt + 0x0000000000301c26 _kprint + 0x0000000000301d00 _kvsprint + 0x0000000000301d44 _sprintf + 0x0000000000301d6c _vsprintf + 0x0000000000301d8c _snprintf + 0x0000000000301dac _vsnprintf + .text 0x0000000000301dc4 0x26 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) + 0x0000000000301dc4 _strlen + 0x0000000000301dd4 _strncpy + *fill* 0x0000000000301dea 0x2 + .text 0x0000000000301dec 0x2cc /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) + 0x0000000000301e3c _r61524_win_get + 0x0000000000301ef4 _r61524_win_set + 0x0000000000301fb4 _r61524_display + .text 0x00000000003020b8 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(hardware.c.o) + .text 0x00000000003020b8 0xf0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) + 0x0000000000302124 _gint_install + 0x0000000000302190 _gint_unload + .text 0x00000000003021a8 0x2c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(vbr.s.o) + 0x00000000003021a8 _gint_setvbr + .text 0x00000000003021d4 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o) + .text 0x00000000003021d4 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o) + .text 0x00000000003021d4 0x288 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) + 0x0000000000302350 _pollevent + 0x0000000000302424 _waitevent + .text 0x000000000030245c 0xd6 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) + 0x000000000030245c _memcpy + 0x0000000000302510 __memmove + 0x0000000000302514 __memcmp + 0x0000000000302518 _memset + *fill* 0x0000000000302532 0x2 + .text 0x0000000000302534 0x4d0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) + 0x00000000003027bc _timer_setup + 0x0000000000302850 _timer_delay + 0x00000000003028b0 _timer_start + 0x00000000003028e4 _timer_reload + 0x0000000000302904 _timer_pause + 0x0000000000302938 _timer_stop + 0x0000000000302994 _timer_timeout + 0x00000000003029a0 _timer_address + 0x00000000003029d4 _timer_clear + .text 0x0000000000302a04 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) + .text 0x0000000000302a04 0x268 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) + 0x0000000000302a04 _dma_transfer_wait + 0x0000000000302ae0 _dma_transfer + 0x0000000000302b90 _dma_transfer_noint + .text 0x0000000000302c6c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) + .text 0x0000000000302c6c 0x5c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o) + 0x0000000000302c6c _gint_intlevel + 0x0000000000302ca4 _gint_inthandler + .text 0x0000000000302cc8 0xc8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) + 0x0000000000302d84 _clock_freq + .text 0x0000000000302d90 0x78 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o) + 0x0000000000302d90 ___movmem + 0x0000000000302d90 ___movstr + 0x0000000000302dc4 ___movmemSI64 + 0x0000000000302dc4 ___movstrSI64 + 0x0000000000302dc8 ___movmemSI60 + 0x0000000000302dc8 ___movstrSI60 + 0x0000000000302dcc ___movstrSI56 + 0x0000000000302dcc ___movmemSI56 + 0x0000000000302dd0 ___movmemSI52 + 0x0000000000302dd0 ___movstrSI52 + 0x0000000000302dd4 ___movstrSI48 + 0x0000000000302dd4 ___movmemSI48 + 0x0000000000302dd8 ___movmemSI44 + 0x0000000000302dd8 ___movstrSI44 + 0x0000000000302ddc ___movstrSI40 + 0x0000000000302ddc ___movmemSI40 + 0x0000000000302de0 ___movstrSI36 + 0x0000000000302de0 ___movmemSI36 + 0x0000000000302de4 ___movstrSI32 + 0x0000000000302de4 ___movmemSI32 + 0x0000000000302de8 ___movmemSI28 + 0x0000000000302de8 ___movstrSI28 + 0x0000000000302dec ___movmemSI24 + 0x0000000000302dec ___movstrSI24 + 0x0000000000302df0 ___movmemSI20 + 0x0000000000302df0 ___movstrSI20 + 0x0000000000302df4 ___movstrSI16 + 0x0000000000302df4 ___movmemSI16 + 0x0000000000302df8 ___movmemSI12 + 0x0000000000302df8 ___movstrSI12 + 0x0000000000302dfc ___movstrSI8 + 0x0000000000302dfc ___movmemSI8 + 0x0000000000302e00 ___movstrSI4 + 0x0000000000302e00 ___movmemSI4 + .text 0x0000000000302e08 0x1ec /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o) + 0x0000000000302e08 ___udivdi3 + .text 0x0000000000302ff4 0x6c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o) + 0x0000000000303016 ___udivsi3 + .text 0x0000000000303060 0x60 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o) + 0x0000000000303060 ___udiv_qrnnd_16 + .text 0x00000000003030c0 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) -.gint.blocks 0x0000000000302e00 0x140 +.gint.blocks 0x00000000003030c0 0x140 *(.gint.blocks) - .gint.blocks 0x0000000000302e00 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o) - 0x0000000000302e00 _exch_entry_7305 - .gint.blocks 0x0000000000302e20 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o) - 0x0000000000302e20 _inth_entry_7305 - .gint.blocks 0x0000000000302e40 0xe0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - 0x0000000000302e40 _inth_tmu - 0x0000000000302ec0 _inth_etmu2 - 0x0000000000302ee0 _inth_etmu_help - 0x0000000000302f00 _inth_etmux - .gint.blocks 0x0000000000302f20 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - 0x0000000000302f20 _inth_dma_dma0 + .gint.blocks 0x00000000003030c0 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o) + 0x00000000003030c0 _exch_entry_7305 + .gint.blocks 0x00000000003030e0 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o) + 0x00000000003030e0 _inth_entry_7305 + .gint.blocks 0x0000000000303100 0xe0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) + 0x0000000000303100 _inth_tmu + 0x0000000000303180 _inth_etmu2 + 0x00000000003031a0 _inth_etmu_help + 0x00000000003031c0 _inth_etmux + .gint.blocks 0x00000000003031e0 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) + 0x00000000003031e0 _inth_dma_dma0 -.gint.drivers 0x0000000000302f40 0xb4 - 0x0000000000302f40 _bdrv = . +.gint.drivers 0x0000000000303200 0xb4 + 0x0000000000303200 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x0000000000302f40 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) - 0x0000000000302f40 _drv_cpg + 0x0000000000303200 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) + 0x0000000000303200 _drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 0x0000000000302f64 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) - 0x0000000000302f64 _drv_tmu + 0x0000000000303224 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) + 0x0000000000303224 _drv_tmu .gint.drivers.2 - 0x0000000000302f88 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) - 0x0000000000302f88 _drv_dma + 0x0000000000303248 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) + 0x0000000000303248 _drv_dma *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x0000000000302fac 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) - 0x0000000000302fac _drv_keysc + 0x000000000030326c 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) + 0x000000000030326c _drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 0x0000000000302fd0 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) - 0x0000000000302fd0 _drv_r61524 + 0x0000000000303290 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) + 0x0000000000303290 _drv_r61524 *(.gint.drivers.6) - 0x0000000000302ff4 _edrv = . + 0x00000000003032b4 _edrv = . -.rodata 0x0000000000302ff4 0x9f8 +.rodata 0x00000000003032b4 0xddc *(.rodata.assets) *(.rodata .rodata.*) .rodata.str1.4 - 0x0000000000302ff4 0x3f4 build-cg/src/main.o - .rodata 0x00000000003033e8 0x18 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) + 0x00000000003032b4 0x7d8 build-cg/src/main.o + .rodata 0x0000000000303a8c 0x18 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) .rodata.str1.4 - 0x0000000000303400 0x31 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(stdio.c.o) - *fill* 0x0000000000303431 0x3 - .rodata 0x0000000000303434 0x49c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(font8x9.png.o) - 0x0000000000303434 _gint_font8x9 - 0x00000000003038d0 _gint_font8x9_end + 0x0000000000303aa4 0x31 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(stdio.c.o) + *fill* 0x0000000000303ad5 0x3 + .rodata 0x0000000000303ad8 0x49c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(font8x9.png.o) + 0x0000000000303ad8 _gint_font8x9 + 0x0000000000303f74 _gint_font8x9_end .rodata.str1.4 - 0x00000000003038d0 0x7 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) - *fill* 0x00000000003038d7 0x1 + 0x0000000000303f74 0x7 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) + *fill* 0x0000000000303f7b 0x1 .rodata.str1.4 - 0x00000000003038d8 0x6 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) - *fill* 0x00000000003038de 0x2 + 0x0000000000303f7c 0x6 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) + *fill* 0x0000000000303f82 0x2 .rodata.str1.4 - 0x00000000003038e0 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) + 0x0000000000303f84 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) .rodata.str1.4 - 0x00000000003038e4 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) + 0x0000000000303f88 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) .rodata.str1.4 - 0x00000000003038e8 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) - .rodata 0x00000000003038ec 0x100 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) - 0x00000000003038ec ___clz_tab + 0x0000000000303f8c 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) + .rodata 0x0000000000303f90 0x100 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) + 0x0000000000303f90 ___clz_tab -.rela.dyn 0x00000000003039ec 0x0 - .rela.text 0x00000000003039ec 0x0 build-cg/src/main.o +.rela.dyn 0x0000000000304090 0x0 + .rela.text 0x0000000000304090 0x0 build-cg/src/main.o .rela.pretext.entry - 0x00000000003039ec 0x0 build-cg/src/main.o - .rela.pretext 0x00000000003039ec 0x0 build-cg/src/main.o + 0x0000000000304090 0x0 build-cg/src/main.o + .rela.pretext 0x0000000000304090 0x0 build-cg/src/main.o 0x0000000008102000 . = ORIGIN (ram) .bss 0x0000000008102000 0x150 @@ -389,8 +388,8 @@ LOAD /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a *fill* 0x0000000008102144 0xc 0x0000000000000150 _sbss = SIZEOF (.bss) -.data 0x0000000008102150 0x80 load address 0x00000000003039ec - 0x00000000003039ec _ldata = LOADADDR (.data) +.data 0x0000000008102150 0x80 load address 0x0000000000304090 + 0x0000000000304090 _ldata = LOADADDR (.data) 0x0000000008102150 _rdata = . *(.data .data.*) .data 0x0000000008102150 0x0 build-cg/src/main.o @@ -432,15 +431,15 @@ LOAD /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a 0x00000000081021d0 . = ALIGN (0x10) *fill* 0x00000000081021cc 0x4 -.data.4 0x00000000081021d0 0x0 load address 0x0000000000303a6c +.data.4 0x00000000081021d0 0x0 load address 0x0000000000304110 *(.data.4) 0x00000000081021d0 . = ALIGN (0x10) 0x0000000000000080 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) 0x000000008c15ff00 _gint_vbr = (ORIGIN (vbr) - 0x100) 0x000000008c161400 . = ORIGIN (rram) -.gint.data 0x000000008c161400 0xd0 load address 0x0000000000303a6c - 0x0000000000303a6c _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008c161400 0xd0 load address 0x0000000000304110 + 0x0000000000304110 _lgdata = LOADADDR (.gint.data) 0x000000008c161400 _rgdata = . *(.gint.data .gint.data.*) .gint.data 0x000000008c161400 0x8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) @@ -455,7 +454,7 @@ LOAD /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a *fill* 0x000000008c1614c4 0xc 0x00000000000000d0 _sgdata = SIZEOF (.gint.data) -.gint.bss 0x000000008c1614d0 0x230 load address 0x0000000000303b3c +.gint.bss 0x000000008c1614d0 0x230 load address 0x00000000003041e0 *(.gint.bss .gint.bss.*) .gint.bss 0x000000008c1614d0 0x8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) .gint.bss 0x000000008c1614d8 0x40 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(hardware.c.o) diff --git a/Sources/build-cg/src/FlySim.bin b/Sources/build-cg/src/FlySim.bin index 2bd08eedd72e9e846d9267fe756e3fb11514382b..9dc1bc3101f0bbdcc5a0d9f3a384c1335d0dfa62 100755 GIT binary patch delta 3638 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 OXG8GghAjPPH1dDUy1$tK delta 4245 zcmZ8k4QyN06+Z9f#jz7NO-$mZN&4!(q^T3P_O0VFQ$lb{8cdQlCap?^s*qLz0+gy0 zvqcq?I}M>s3ZvzARiq6mVywzGHg|Q0DuzbIBIux+Qk3Up(1~P%wm?D9WSzHV>%RNm zO=Hc{@x9-<=kK0-?$5jQmU8K|a@24?u#fB-Eoab5EX%rfE1!T6V9?V z31Svs@B}$zi}4m3_Er$FP5Z%{ASytUKYkY-d$Wy?ZuXs49#lFu?YE?b6#)RJ*NpdC_cD04~kDvp4kSo76P zuJA)8RRc3Z4eE6BCb5Fi(DPT?Lnkg%=;UKNx{c|<)X~)O$L}$}+dmgCNorTx&E#dW z`d!CAzS4e~%!Bcg$im)N{hT|;0A1T37w0H zq-G|j67iCdCz~)6{d1#D$*yeoEScSno)lnRQiE`(xhCUa$#N_N4u-@HBjTT5xJ`K^A0BOFdOXMJXK`pf>g zSw--Y+C_aTn5{8G!b19K%k}c?iu69AIaQhUnoa3`;V@flIb4RImra#gxmae_rw?QP zbR6rnSOcv32x=im4E4pB6Xe5K5N$uG1;juDpd{!y&@kvMXc}~l*hbXS##&Gu1euM` zf<{1Zf+j(b30Ht%HyouD3-_S|gJB4UkAucA`%1Gi-E76}F)PwRt5;?vzFg!13s8o( z>o@<#j4A6fOVhQMOp)nMudsTWS(5gkM_JW$rI$5V();R_%H(d-6AQuu2FVIwt< zg2qG7&nlr4p_8H4yNy(Cx*`MV1Sn*oYA4rW`Lz$y1idB6%__wUx8Y31VP(|kK$^(n~wn@vY?Xjiim)<_D8msQF4Mu8I;9;|Okk)pm8|KHjDqYIO@A&~?!a=|**ROSdthr4~YmVkM8x zrL^t_LJEmhw`9ikprY0c^7++&P-_`KN6e2v*2U0X;Ahu7;t)q* zD8}oJj!nXE5RyVF=o|JHqSZekwrYO3@+SC|?4mkRU=~=pb_r~c>+Z~$p)0Dflb^2( zs|`uMP}f>o8X;DnBeuGX*xGBEc)dqaeZ!eOYr_Rb;|$`dhnE;y9|C~&3M_H(9I?hR zv@`sa|GJ|IFwn-w8ZWC2F@Ch^kg%-<-YIUJfe!Q<$1;x#N&By)bldunkMHM(IG z)Wd(ucBvai`8<14TpO9bjSfX<4}^EA>&p1K@Rs7}Rgn*3P1>>9l@GA!j1B8{TP@Mh zu-A(@7$|e&6MHNw+jY}c4vDHD^CtScLC2-cwB7om#C+?I%~q~vQCwd5u^PYC5;-y5 z2^1=pqINQKs+lRuuFP!YT{Sa&=T--nC)3~|RX-Oe z_Uv%?*>2ttv*JVTLAA!u&$b6WNGMT-9R0gUF3*9zO3b0kW~(bvv~C`~w^a=iAG}vr zSC{dTdwV^;^$>DP-M?V%qTCtZt{MmV?s(8+RX}oSv~D*ai3d}`7?i|MBU0Z(HtZs> z@g#7YJ#3AC3_O~LKLvg@4}SyvNFH7Q?pwkIPT;XT?7>YCJdnp&0f8fVxDNPC9^L>v znuqTOwyV_&xL`Z*c;0v~@IoGb0=up%4M?Kc67GPCzp%VEG8~@RIvk^_p@hLd9in7eA%YwfG ziw#y^ZsX6a>jDcd<*(zMm=WVP)(VIhc9w^W6X2Ce9*QE=zhpx*5Q8`#s_YmvWG>+2 z@lM@SEmpuM**LNSj1P9|M$u*tTF#sUK`P7Y9~Uzp&)Z5wh-CqBFLd)}8I+)^p_HLewr0w%5f2SG)Fi|z5EVq&ESc~y7N2#9^zB-sIoiIcEF;yc8f zh!1oJQ@E6|O>JvM*v{6cl`My%r=hkU<6f!ueQdlwV7W<(FgL6ID!jQ0-VGsG&;A``prJdY-HPe5F54k`8zVV4gi z^l-^I*yFae6PHSUJvn{AB3W{~IPn0FPVlqBnh$Klw&vVxJ$NyY3r6+hxO!5}CCIgRooYWlph zyLV%YLPvV)o%iFJx!oJt(b1|z6jo>oTL&x++%k^-BGw=@YFPy<*PKm*_5Dwm z98zu{Iv#1NoK%`BkC*m1ldN@m70z;*{up7rj&Hy(oIi(R=a2@}9qqDih0&FONMl zRh@k6veH(5NtvpSJ(E0jxq`45fAR7X!Xu@fH3L^uR}Wr2aMifV%KNWQvBDZAugP7W zVr;&Ms_=2+2Eo{|sn*zY{k!3LGdz!XuDsxmoESODosU>zy1m>jooeOj0C$|6m}>oq z@l<QaBKbAcmIdtQ<_te+a*Nkm@x8y>y{#NBSWfgXt&o;3Zc0U_p$Jhz> zEA|r0viI2E*(LV5vPIdhJfzslkw{e}8rc%r9@!sBM$(Z-^ZOCn9lE+ zWZrJRr?x6FJ-**9#at)h^IdK!@5*OcJLi1AIY6>xIU@m z@AjH_bMAGqD$1L3?}=3nyfOC|8q3FoXLq=zUJc($p5^cG*6_PS-_GCF_tWRL=+lYm zOvk3{P1r?y;gGVfY9uw1?yM=+5Z+buSnfB%`fdEq1Ux36@^#)4UYDClOk=OLwN>8Y z^SAJ|G5Acgxxcdc7@y}Y$Z51PU*Rp_D|7MMDt59^avzl9s{*nZQU^&x+8|pYF61cW z1mt1)Z}M=O>z$*QszCzAJ5$^w12{n z=H>}B#7A-^K+GHDk7fT;TQ&CayO9e=3XE)EjjV(9Gn*X=IC%yUzQ-omRfQ=_m0G1i zX;k(rNhPg3q5M*LUU>mI{jrzg1KB^4-TVRXL4GiMM(hTbf{A+(OJ9DUh-EKNW?vVv z?BxluLIHc@**^&VA8{>vT6lLK@5$!GSOZG2bu&%&Dxyfb@PtXR+QE%2$s zTgN-HuL?e4_w#GP+xBceM)p*172la{p*8sx-b%hB`$O8tTQ2rlhM3pomy4K}@om{g zvCA_41F=H!zRkC0w~;>oKIwaczx=LTwa{D0H)q!iYZZJ`_6~t=;tkmvAm+{G8?!6G zTEKjWKXDG64bKN|r(zA-f<)Ag@5)hYqz0;43gw2~i%ivcT{F)2h zxebs6WK?C0wcfdN&jYQDHEX(wE?eWMu9dOt)HP02-ENr&(20t18d7`1k!Ia-Oiiud zyg{rXZA_;%$I<$9+fg;B+KH&zq7P_h!ZID$z{adYSKG8fTL)x=R!SWtWvr%t>z(9@ zut!r`#n_ICgr3%HmlpX`us>@~1R!kH&6WuGO4N<>152y6&{3W3YDBYjOx-Hs|{T+}FzBpQ9ltC~g@ zR1Nj8K@wt}>R^DVL~G*Kz<_SXQLI7BwRIH?vaNVOEKt709F@bIF&S)({OG2dG)#?Z zk_Z_baz<2=@}9U|-hLLZW=s_s4Dvb@c7bcMUL6ukOefEL#V{2jrf^6^?sL(Os`u)4 z+$hu{q-aW0leT^+Lph+si0Zo*P7Gpmt;2e7z;{|!0&KQT!|e0@$9$WfN?BwOSmKFp zii3^1^;#Mo?JhF!;8seejJ|#sc1hh|hqK#{!~3Y7Q2p7c+N`BgYOfYQsK!&eW|O+B z9n@7TnZ%;6nVpdXe=QD_v{-PYxS?c~QJzCb!tojQhOLYWcLsHJU|7`*`zsGMV!|ah z<6vv9jugx|+Ey}%73%D;;r2_XkMg*E80;$^NE+I$>nc15JPPMT)`Kdb2H|j>dRR|^ z*Mh^}P@5e?hD-HBtx>DshNV0OXLvX~!ZbEJ2f@uo`{MK#&nzx(;!+=xCa5ayL4gP& z^$r*BB!BOaXKlkiFDTGDHDx%iZbq45I;bm{og&26T!j4kwxG>HE7f3e#;o5Uk)52 z9eBFG2eWPEMn%uFqwevFt}idLk&4b5`OWWB<--MCUrsLHu;lnZlcz{O_pgiMozH*I zBj3eiJe&J6o=NbmGWVQ67JTk(ZoXTs-Fe@hwd$7W#wdP5zN!`8l}p);FJ*-iJV4Fr zW2o5B!81{@p+BeC!;=~woM!dsp-)0>9UchD{`f-xl=GVV?HCZ`SO(FQgBjC^`@d}6PTDq1H_5um4wS^5%ewn?_nUe@I?tv4R7T$MCP<69)W zRl!S_mhDsR0b44c2qW(LCiyHjjO@$`;6aHo(NAyl!XsDrR-@zy0M$u!Hh`SVd z7XO9PdYVIBSq+5xbP1uA4f)@NPd|45|1xmm8};g;Lu)qp7RcV*2_K73+Lz{c1m8g% z3wEJ@4idI7jz$bfaV)-seh-BH)1|dEM{(?ikX`VH+Cp%U;is+8XfBjUVU#U|zM`Uk n6NKU;dzBEfALImxRg!;wgn~x4s4ap>dbhNozn><8CiMObB|myf delta 1248 zcmZ9KUu+ab9LIk%w>|E9cl2(#KmI8~u5hxYvOo(V)qu5UIqAt=6w#1NOY2@rp_+o* zSc%E@!I=6YHPa9uFMViuVlWV53?`ZoHGvQ=FuNBuvFAgH5BR_~mnJr;GXtlqoBT4L znfd+Z_ucQzjDBPDTpEXe{bF0gS_XY_{LMnTHf_yW^QZgShlZOAnaYC!W-f!|{QPeZ z29|+M=0ZJdBMZMjeRh3M<}>|ATzhX%JKBsoAP7D13Y>>8VG*vtH*gc~zzPD?isGmT z9Yn{``)C?{f_LLyoW(=<6h4PPc82Q6wuUs74ORSx>y+wXpI{|THC$84g&}toNLTG5D;jR4)6Cn2 zI!NPiG(&I?kSW-4|E>lM-*%}%oehD$#;^SraQ zgYBnZ$)fFSpW$k%Xy|m?TUj@KXt;GG)=Z`PoU_Y*mg(XM`hjfSW~b<=sB{u`l66u; zG_+e~!w450aW+aXB5WHyZ@4heuj#*^0zg`Q5dl^G>WljILfTrb#dTi4C05;Zf78$LK7I@0 zCVo*zAJw1Po4UYN9O3gycnQkxU}#Davs`FAe3HzX7aop2S^_Ij$ed|3pN`j%_4R+e zIo#jhyLHFmqi<>C`L=r)uadR4Et;tU_<7FJW?u9$y#2rVFv&(s$*DC-v?-EGPfZ@cE(;rK{6J*g<43rTCjZie=~eV4!^7Ws_@;+{^6+iR{ZgloOK!^ac_hP0fVL;{!2pOhnZKY|lPAebi3RMd zk)=f1-^xwHFOxtrjg>IzN@m1xESd2uVF2F>nMtPo0nyVWmpF#`AH!~Pm!}6zvcl5? Zv!p$h!NE%;o601^Gkm|qqxs3Ee*@h;Tr>ax diff --git a/Sources/src/main.c b/Sources/src/main.c index c3aa369..b34a6e8 100644 --- a/Sources/src/main.c +++ b/Sources/src/main.c @@ -13,15 +13,9 @@ #define C_GREEN 0x07e0 #define C_BLUE 0x001f -/* - Ameliorations : - - - Quand tu prends des pointeurs en paramètres, si tu n'as pas l'intention de modifier les données alors mets const - -*/ //communication : gère les communications entre la tour et l'avion -void communication (int *com_id, int *id); +void communication (int *com_id, int *id, const int langue); //display_comm : affiche les communications void display_comm (char *msg_1,char *msg_2,char *msg_3, const int *joueur); @@ -31,15 +25,24 @@ char *fill_char(char *dest, const char *src, unsigned int debut, unsigned int fi int main (void) { - int com_id = 1, id = 0;// variables des communications + int com_id = 1, id = 0, langue = 0;// variables des communications int key = 0;//variables diverses dclear(C_WHITE); + dtext(1, 1, "Choix de la langue", C_RED, C_NONE); + dtext(1, 12, " 1. Francais", C_BLUE, C_NONE); + dtext(1, 23, " 2. Anglais", C_BLACK, C_NONE); dupdate(); + while (langue == 0) + { + key = getkey().key; + if (key == KEY_1) langue = 1; + if (key == KEY_2) langue = 2; + } while(com_id <= 26) { - communication(&com_id, &id); + communication(&com_id, &id, langue); key = getkey().key; dupdate(); if(key == KEY_EXIT) return 0; @@ -49,7 +52,7 @@ int main (void) return 0; } -void communication(int *com_id, int *id) +void communication(int *com_id, int *id, const int langue) { //faire un choix de la langue Français / Anglais const char *avion = "Cessna 172", *immat = "F-GUXF", *immat_courte = "F-XF", *aipt_depart = "Caen", *aipt_arrivee = "Le Havre", *freq_cont = "117.15", *freq_arrivee = "122.80", *passagers = "4";//données de l'avion et de son trajet @@ -60,145 +63,292 @@ void communication(int *com_id, int *id) fill_char(msg_2, " ", 0, 70); fill_char(msg_3, " ", 0, 70); - switch (*com_id) + if (langue == 1) { - case 1: - *id = 1; - - sprintf(msg_1, "%s tour, %s. Bonjour.", aipt_depart, immat); - break; - case 2: - *id = 0; - - sprintf(msg_1, "%s, %s bonjour.", immat, aipt_depart); - break; - case 3: - *id = 1; - - sprintf(msg_1, "%s %s. %s passagers a bord. Demandons", immat, avion, passagers); - sprintf(msg_2, "vol vers %s.", aipt_arrivee); - break; - case 4: - *id = 0; - - sprintf(msg_1, "%s vol autorise. Rappelez pret au depart.", immat_courte); - break; - case 5: - *id = 1; - - sprintf(msg_1, "Rappelons pret au depart, %s.", immat_courte); - break; - case 6: - *id = 1; - - sprintf(msg_1, "%s, pret au depart.", immat_courte); - break; - case 7: - *id = 0; - - sprintf(msg_1, "%s, autorise decollage.", immat_courte); - break; - case 8: - *id = 1; - - sprintf(msg_1, "Autorise decollage, %s.", immat_courte); - break; - case 9: - *id = 0; - - sprintf(msg_1, "%s, Vous quittez mon espace. Services radar", immat_courte); - sprintf(msg_2, "et radio termines. Informations de vol avec"); - sprintf(msg_3, "Controle, %s. Au revoir.", freq_cont); - break; - case 10: - *id = 1; - - sprintf(msg_1, "Controle, %s. Bonne journee, %s.", freq_cont, immat_courte); - break; - case 11: - *id = 1; - - sprintf(msg_1, "Controle %s. Bonjour.", immat); - break; - case 12: - *id = 0; - - sprintf(msg_1, "%s Controle, bienvenu.", immat_courte); - break; - case 13: - *id = 1; - - sprintf(msg_1, "%s %s. %s passagers a bord. Sortie de", immat, avion, passagers); - sprintf(msg_2, "%s vers %s.", aipt_depart, aipt_arrivee); - break; - case 14: - *id = 0; - - sprintf(msg_1, "%s, identifie radar.", immat_courte); - break; - case 15: - *id = 0; - - sprintf(msg_1, "%s, vous quittez mon espace. Contactez", immat_courte); - sprintf(msg_2, "%s, %s. Bon vol.", aipt_arrivee, freq_arrivee); - break; - case 16: - *id = 1; - - sprintf(msg_1, "%s %s. Au revoir, %s.", aipt_arrivee, freq_arrivee, immat_courte); - break; - case 17: - *id = 1; - - sprintf(msg_1, "%s tour, %s. Bonjour.", aipt_arrivee, immat); - break; - case 18: - *id = 0; - - sprintf(msg_1, "%s, %s, a l'ecoute.", immat_courte, aipt_arrivee); - break; - case 19: - *id = 1; - - sprintf(msg_1, "%s %s. %s passagers a bord. Demandons", immat, avion, passagers); - sprintf(msg_2, "consignes pour atterrissage sur %s.", aipt_arrivee); - break; - case 20: - *id = 0; - - sprintf(msg_1, "%s, commencez votre approche.", immat_courte); - break; - case 21: - *id = 1; - - sprintf(msg_1, "Commencons notre approche, %s.", immat_courte); - break; - case 22: - *id = 1; - - sprintf(msg_1, "%s en finale, demandons autorisation", immat_courte); - sprintf(msg_2, "d'atterrissage."); - break; - case 23: - *id = 0; - - sprintf(msg_1, "%s, autorise atterrissage. Rappelez au sol.", immat_courte); - break; - case 24: - *id = 1; - - sprintf(msg_1, "Autorise atterrissage, rappelons au sol, %s.", immat_courte); - break; - case 25: - *id = 1; - sprintf(msg_1, "%s, au sol, pour quitter. Merci.", immat_courte); - break; - case 26: - *id = 0; - - sprintf(msg_1, "%s, quittez la frequence a bientot.", immat_courte); - break; + switch (*com_id) + { + case 1: + *id = 1; + + sprintf(msg_1, "%s tour, %s. Bonjour.", aipt_depart, immat); + break; + case 2: + *id = 0; + + sprintf(msg_1, "%s, %s bonjour.", immat, aipt_depart); + break; + case 3: + *id = 1; + + sprintf(msg_1, "%s %s. %s passagers a bord. Demandons", immat, avion, passagers); + sprintf(msg_2, "vol vers %s.", aipt_arrivee); + break; + case 4: + *id = 0; + + sprintf(msg_1, "%s vol autorise. Rappelez pret au depart.", immat_courte); + break; + case 5: + *id = 1; + + sprintf(msg_1, "Rappelons pret au depart, %s.", immat_courte); + break; + case 6: + *id = 1; + + sprintf(msg_1, "%s, pret au depart.", immat_courte); + break; + case 7: + *id = 0; + + sprintf(msg_1, "%s, autorise decollage.", immat_courte); + break; + case 8: + *id = 1; + + sprintf(msg_1, "Autorise decollage, %s.", immat_courte); + break; + case 9: + *id = 0; + + sprintf(msg_1, "%s, vous quittez mon espace. Services radar", immat_courte); + sprintf(msg_2, "et radio termines. Informations de vol avec"); + sprintf(msg_3, "Controle, %s. Au revoir.", freq_cont); + break; + case 10: + *id = 1; + + sprintf(msg_1, "Controle, %s. Bonne journee, %s.", freq_cont, immat_courte); + break; + case 11: + *id = 1; + + sprintf(msg_1, "Controle %s. Bonjour.", immat); + break; + case 12: + *id = 0; + + sprintf(msg_1, "%s Controle, bienvenu.", immat_courte); + break; + case 13: + *id = 1; + + sprintf(msg_1, "%s %s. %s passagers a bord. Sortie de", immat, avion, passagers); + sprintf(msg_2, "%s vers %s.", aipt_depart, aipt_arrivee); + break; + case 14: + *id = 0; + + sprintf(msg_1, "%s, identifie radar.", immat_courte); + break; + case 15: + *id = 0; + + sprintf(msg_1, "%s, vous quittez mon espace. Contactez", immat_courte); + sprintf(msg_2, "%s, %s. Bon vol.", aipt_arrivee, freq_arrivee); + break; + case 16: + *id = 1; + + sprintf(msg_1, "%s %s. Au revoir, %s.", aipt_arrivee, freq_arrivee, immat_courte); + break; + case 17: + *id = 1; + + sprintf(msg_1, "%s tour, %s. Bonjour.", aipt_arrivee, immat); + break; + case 18: + *id = 0; + + sprintf(msg_1, "%s, %s, a l'ecoute.", immat_courte, aipt_arrivee); + break; + case 19: + *id = 1; + + sprintf(msg_1, "%s %s. %s passagers a bord. Demandons", immat, avion, passagers); + sprintf(msg_2, "consignes pour atterrissage sur %s.", aipt_arrivee); + break; + case 20: + *id = 0; + + sprintf(msg_1, "%s, commencez votre approche.", immat_courte); + break; + case 21: + *id = 1; + + sprintf(msg_1, "Commencons notre approche, %s.", immat_courte); + break; + case 22: + *id = 1; + + sprintf(msg_1, "%s en finale, demandons autorisation", immat_courte); + sprintf(msg_2, "d'atterrissage."); + break; + case 23: + *id = 0; + + sprintf(msg_1, "%s, autorise atterrissage. Rappelez au sol.", immat_courte); + break; + case 24: + *id = 1; + + sprintf(msg_1, "Autorise atterrissage, rappelons au sol, %s.", immat_courte); + break; + case 25: + *id = 1; + sprintf(msg_1, "%s, au sol, pour quitter. Merci.", immat_courte); + break; + case 26: + *id = 0; + + sprintf(msg_1, "%s, quittez la frequence a bientot.", immat_courte); + break; + } } + else + { + switch (*com_id) + { + case 1: + *id = 1; + + sprintf(msg_1, "%s tower, %s. Good morning.", aipt_depart, immat); + break; + case 2: + *id = 0; + + sprintf(msg_1, "%s, %s Hello.", immat, aipt_depart); + break; + case 3: + *id = 1; + + sprintf(msg_1, "%s %s. %s passengers on board. Request", immat, avion, passagers); + sprintf(msg_2, "flight to %s.", aipt_arrivee); + break; + case 4: + *id = 0; + + sprintf(msg_1, "%s authorized flight. Call back clear to take off.", immat_courte); + break; + case 5: + *id = 1; + + sprintf(msg_1, "Call back clear to take off, %s.", immat_courte); + break; + case 6: + *id = 1; + + sprintf(msg_1, "%s, clear for take off.", immat_courte); + break; + case 7: + *id = 0; + + sprintf(msg_1, "%s, authorized take off.", immat_courte); + break; + case 8: + *id = 1; + + sprintf(msg_1, "Authorized take off, %s.", immat_courte); + break; + case 9: + *id = 0; + + sprintf(msg_1, "%s, you leave my airpace. Services radar", immat_courte); + sprintf(msg_2, "and radio terminated. Informations of flight"); + sprintf(msg_3, "with Controle, %s. Bye.", freq_cont); + break; + case 10: + *id = 1; + + sprintf(msg_1, "Controle, %s. See you, %s.", freq_cont, immat_courte); + break; + case 11: + *id = 1; + + sprintf(msg_1, "Controle %s. Hello.", immat); + break; + case 12: + *id = 0; + + sprintf(msg_1, "%s Controle, welcome.", immat_courte); + break; + case 13: + *id = 1; + + sprintf(msg_1, "%s %s. %s passengers on board. Exit", immat, avion, passagers); + sprintf(msg_2, "%s towards %s.", aipt_depart, aipt_arrivee); + break; + case 14: + *id = 0; + + sprintf(msg_1, "%s, identify radar.", immat_courte); + break; + case 15: + *id = 0; + + sprintf(msg_1, "%s, you leave my airspace. Contact", immat_courte); + sprintf(msg_2, "%s, %s. Have a good flight.", aipt_arrivee, freq_arrivee); + break; + case 16: + *id = 1; + + sprintf(msg_1, "%s %s. Good bye, %s.", aipt_arrivee, freq_arrivee, immat_courte); + break; + case 17: + *id = 1; + + sprintf(msg_1, "%s tower, %s. Hy.", aipt_arrivee, immat); + break; + case 18: + *id = 0; + + sprintf(msg_1, "%s, %s, listen.", immat_courte, aipt_arrivee); + break; + case 19: + *id = 1; + + sprintf(msg_1, "%s %s. %s passengers on board. Request", immat, avion, passagers); + sprintf(msg_2, "instructions for landing on %s.", aipt_arrivee); + break; + case 20: + *id = 0; + + sprintf(msg_1, "%s, starts your approach.", immat_courte); + break; + case 21: + *id = 1; + + sprintf(msg_1, "We start our approach, %s.", immat_courte); + break; + case 22: + *id = 1; + + sprintf(msg_1, "%s on final, request clearance", immat_courte); + sprintf(msg_2, "to landing."); + break; + case 23: + *id = 0; + + sprintf(msg_1, "%s, authorized landing. Call back on ground.", immat_courte); + break; + case 24: + *id = 1; + + sprintf(msg_1, "Authorized landing, call back on ground, %s.", immat_courte); + break; + case 25: + *id = 1; + sprintf(msg_1, "%s, on ground for leave. Thanks.", immat_courte); + break; + case 26: + *id = 0; + + sprintf(msg_1, "%s, leave frequence, see you.", immat_courte); + break; + } + } + + display_comm(msg_1, msg_2, msg_3, &(*id)); *com_id += 1; }