diff --git a/Sources/FlySim.g3a b/Sources/FlySim.g3a index f34a319..24b256c 100644 Binary files a/Sources/FlySim.g3a and b/Sources/FlySim.g3a differ diff --git a/Sources/build-cg/map b/Sources/build-cg/map index 878dc98..9ae40e1 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 - 0x0000000000004090 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x0000000000004028 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) -.text 0x0000000000300000 0x30c0 +.text 0x0000000000300000 0x3058 *(.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,203 +150,204 @@ 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 0x644 build-cg/src/main.o + .text 0x0000000000300604 0x5d4 build-cg/src/main.o 0x0000000000300604 _fill_char 0x000000000030062e _display_comm 0x00000000003006e4 _communication - .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) + .text.startup 0x0000000000300bd8 0xd0 build-cg/src/main.o + 0x0000000000300bd8 _main + .text 0x0000000000300ca8 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 0x0000000000300ca8 0xf8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(mmu.c.o) + 0x0000000000300ca8 _utlb_addr + 0x0000000000300cb8 _utlb_data + 0x0000000000300cc8 _utlb_mapped_memory + .text 0x0000000000300da0 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 0x0000000000300da0 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dvram.c.o) + 0x0000000000300da0 _dvram + .text 0x0000000000300da4 0x30 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dupdate.c.o) + 0x0000000000300da4 _dupdate + 0x0000000000300dbc _dupdate_noint + .text 0x0000000000300dd4 0x48 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dclear.c.o) + 0x0000000000300dd4 _dclear + .text 0x0000000000300e1c 0xc4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(drect.c.o) + 0x0000000000300e1c _drect + .text 0x0000000000300ee0 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 0x0000000000300ee0 0x1e8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) + 0x0000000000300ee0 _getkey_opt + 0x0000000000301080 _getkey + 0x000000000030108c _getkey_repeat + .text 0x00000000003010c8 0x9c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) + 0x00000000003010c8 _dsize + .text 0x0000000000301164 0xbf4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(stdio.c.o) + 0x0000000000301a90 _kprint_opt + 0x0000000000301bba _kprint + 0x0000000000301c94 _kvsprint + 0x0000000000301cd8 _sprintf + 0x0000000000301d00 _vsprintf + 0x0000000000301d20 _snprintf + 0x0000000000301d40 _vsnprintf + .text 0x0000000000301d58 0x26 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) + 0x0000000000301d58 _strlen + 0x0000000000301d68 _strncpy + *fill* 0x0000000000301d7e 0x2 + .text 0x0000000000301d80 0x2cc /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) + 0x0000000000301dd0 _r61524_win_get + 0x0000000000301e88 _r61524_win_set + 0x0000000000301f48 _r61524_display + .text 0x000000000030204c 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 0x000000000030204c 0xf0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) + 0x00000000003020b8 _gint_install + 0x0000000000302124 _gint_unload + .text 0x000000000030213c 0x2c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(vbr.s.o) + 0x000000000030213c _gint_setvbr + .text 0x0000000000302168 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 0x0000000000302168 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 0x0000000000302168 0x288 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) + 0x00000000003022e4 _pollevent + 0x00000000003023b8 _waitevent + .text 0x00000000003023f0 0xd6 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) + 0x00000000003023f0 _memcpy + 0x00000000003024a4 __memmove + 0x00000000003024a8 __memcmp + 0x00000000003024ac _memset + *fill* 0x00000000003024c6 0x2 + .text 0x00000000003024c8 0x4d0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) + 0x0000000000302750 _timer_setup + 0x00000000003027e4 _timer_delay + 0x0000000000302844 _timer_start + 0x0000000000302878 _timer_reload + 0x0000000000302898 _timer_pause + 0x00000000003028cc _timer_stop + 0x0000000000302928 _timer_timeout + 0x0000000000302934 _timer_address + 0x0000000000302968 _timer_clear + .text 0x0000000000302998 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 0x0000000000302998 0x268 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) + 0x0000000000302998 _dma_transfer_wait + 0x0000000000302a74 _dma_transfer + 0x0000000000302b24 _dma_transfer_noint + .text 0x0000000000302c00 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 0x0000000000302c00 0x5c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o) + 0x0000000000302c00 _gint_intlevel + 0x0000000000302c38 _gint_inthandler + .text 0x0000000000302c5c 0xc8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) + 0x0000000000302d18 _clock_freq + .text 0x0000000000302d24 0x78 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o) + 0x0000000000302d24 ___movmem + 0x0000000000302d24 ___movstr + 0x0000000000302d58 ___movmemSI64 + 0x0000000000302d58 ___movstrSI64 + 0x0000000000302d5c ___movmemSI60 + 0x0000000000302d5c ___movstrSI60 + 0x0000000000302d60 ___movstrSI56 + 0x0000000000302d60 ___movmemSI56 + 0x0000000000302d64 ___movmemSI52 + 0x0000000000302d64 ___movstrSI52 + 0x0000000000302d68 ___movstrSI48 + 0x0000000000302d68 ___movmemSI48 + 0x0000000000302d6c ___movmemSI44 + 0x0000000000302d6c ___movstrSI44 + 0x0000000000302d70 ___movstrSI40 + 0x0000000000302d70 ___movmemSI40 + 0x0000000000302d74 ___movstrSI36 + 0x0000000000302d74 ___movmemSI36 + 0x0000000000302d78 ___movstrSI32 + 0x0000000000302d78 ___movmemSI32 + 0x0000000000302d7c ___movmemSI28 + 0x0000000000302d7c ___movstrSI28 + 0x0000000000302d80 ___movmemSI24 + 0x0000000000302d80 ___movstrSI24 + 0x0000000000302d84 ___movmemSI20 + 0x0000000000302d84 ___movstrSI20 + 0x0000000000302d88 ___movstrSI16 + 0x0000000000302d88 ___movmemSI16 + 0x0000000000302d8c ___movmemSI12 + 0x0000000000302d8c ___movstrSI12 + 0x0000000000302d90 ___movstrSI8 + 0x0000000000302d90 ___movmemSI8 + 0x0000000000302d94 ___movstrSI4 + 0x0000000000302d94 ___movmemSI4 + .text 0x0000000000302d9c 0x1ec /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o) + 0x0000000000302d9c ___udivdi3 + .text 0x0000000000302f88 0x6c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o) + 0x0000000000302faa ___udivsi3 + *fill* 0x0000000000302ff4 0x4 + .text 0x0000000000302ff8 0x60 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o) + 0x0000000000302ff8 ___udiv_qrnnd_16 + .text 0x0000000000303058 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) -.gint.blocks 0x00000000003030c0 0x140 +.gint.blocks 0x0000000000303060 0x140 *(.gint.blocks) - .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.blocks 0x0000000000303060 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o) + 0x0000000000303060 _exch_entry_7305 + .gint.blocks 0x0000000000303080 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o) + 0x0000000000303080 _inth_entry_7305 + .gint.blocks 0x00000000003030a0 0xe0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) + 0x00000000003030a0 _inth_tmu + 0x0000000000303120 _inth_etmu2 + 0x0000000000303140 _inth_etmu_help + 0x0000000000303160 _inth_etmux + .gint.blocks 0x0000000000303180 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) + 0x0000000000303180 _inth_dma_dma0 -.gint.drivers 0x0000000000303200 0xb4 - 0x0000000000303200 _bdrv = . +.gint.drivers 0x00000000003031a0 0xb4 + 0x00000000003031a0 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 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 + 0x00000000003031a0 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) + 0x00000000003031a0 _drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 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 + 0x00000000003031c4 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) + 0x00000000003031c4 _drv_tmu .gint.drivers.2 - 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 + 0x00000000003031e8 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) + 0x00000000003031e8 _drv_dma *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 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 + 0x000000000030320c 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) + 0x000000000030320c _drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 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 + 0x0000000000303230 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) + 0x0000000000303230 _drv_r61524 *(.gint.drivers.6) - 0x00000000003032b4 _edrv = . + 0x0000000000303254 _edrv = . -.rodata 0x00000000003032b4 0xddc +.rodata 0x0000000000303254 0xddc *(.rodata.assets) *(.rodata .rodata.*) .rodata.str1.4 - 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) + 0x0000000000303254 0x7d8 build-cg/src/main.o + .rodata 0x0000000000303a2c 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 - 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 + 0x0000000000303a44 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* 0x0000000000303a75 0x3 + .rodata 0x0000000000303a78 0x49c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(font8x9.png.o) + 0x0000000000303a78 _gint_font8x9 + 0x0000000000303f14 _gint_font8x9_end .rodata.str1.4 - 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 + 0x0000000000303f14 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* 0x0000000000303f1b 0x1 .rodata.str1.4 - 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 + 0x0000000000303f1c 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* 0x0000000000303f22 0x2 .rodata.str1.4 - 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) + 0x0000000000303f24 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 - 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) + 0x0000000000303f28 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 - 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 + 0x0000000000303f2c 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 0x0000000000303f30 0x100 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) + 0x0000000000303f30 ___clz_tab -.rela.dyn 0x0000000000304090 0x0 - .rela.text 0x0000000000304090 0x0 build-cg/src/main.o +.rela.dyn 0x0000000000304030 0x0 + .rela.text 0x0000000000304030 0x0 build-cg/src/main.o .rela.pretext.entry - 0x0000000000304090 0x0 build-cg/src/main.o - .rela.pretext 0x0000000000304090 0x0 build-cg/src/main.o + 0x0000000000304030 0x0 build-cg/src/main.o + .rela.pretext 0x0000000000304030 0x0 build-cg/src/main.o 0x0000000008102000 . = ORIGIN (ram) .bss 0x0000000008102000 0x150 @@ -388,8 +389,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 0x0000000000304090 - 0x0000000000304090 _ldata = LOADADDR (.data) +.data 0x0000000008102150 0x80 load address 0x0000000000304030 + 0x0000000000304030 _ldata = LOADADDR (.data) 0x0000000008102150 _rdata = . *(.data .data.*) .data 0x0000000008102150 0x0 build-cg/src/main.o @@ -431,15 +432,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 0x0000000000304110 +.data.4 0x00000000081021d0 0x0 load address 0x00000000003040b0 *(.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 0x0000000000304110 - 0x0000000000304110 _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008c161400 0xd0 load address 0x00000000003040b0 + 0x00000000003040b0 _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) @@ -454,7 +455,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 0x00000000003041e0 +.gint.bss 0x000000008c1614d0 0x230 load address 0x0000000000304180 *(.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 9dc1bc3..2c498ee 100755 Binary files a/Sources/build-cg/src/FlySim.bin and b/Sources/build-cg/src/FlySim.bin differ diff --git a/Sources/build-cg/src/FlySim.elf b/Sources/build-cg/src/FlySim.elf index 6536d86..8120c04 100755 Binary files a/Sources/build-cg/src/FlySim.elf and b/Sources/build-cg/src/FlySim.elf differ diff --git a/Sources/build-cg/src/main.o b/Sources/build-cg/src/main.o index 18f982e..2cb75c8 100644 Binary files a/Sources/build-cg/src/main.o and b/Sources/build-cg/src/main.o differ diff --git a/Sources/src/main.c b/Sources/src/main.c index b34a6e8..593bfbf 100644 --- a/Sources/src/main.c +++ b/Sources/src/main.c @@ -39,7 +39,7 @@ int main (void) if (key == KEY_1) langue = 1; if (key == KEY_2) langue = 2; } - + langue -= 1; while(com_id <= 26) { communication(&com_id, &id, langue); @@ -57,297 +57,186 @@ 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 + char *comm_1[2] = {"%s tour, %s. Bonjour.", "%s tower, %s. Good morning."}, + *comm_2[2] = {"%s, %s bonjour.", "%s, %s Hello."}, + *comm_3_1[2] = {"%s %s. %s passagers a bord. Demandons", "%s %s. %s passengers on board. Request"}, + *comm_3_2[2] = {"vol vers %s.", "flight to %s."}, + *comm_4[2] = {"%s vol autorise. Rappelez pret au depart.", "%s authorized flight. Call back clear to take off."}, + *comm_5[2] = {"Rappelons pret au depart, %s.", "Call back clear to take off, %s."}, + *comm_6[2] = {"%s, pret au depart.", "%s, clear for take off." }, + *comm_7[2] = {"%s, autorise decollage.", "%s, authorized take off."}, + *comm_8[2] = {"Autorise decollage, %s.", "Authorized take off, %s."}, + *comm_9_1[2] = {"%s, vous quittez mon espace. Services radar", "%s, you leave my airpace. Services radar"}, + *comm_9_2[2] = {"et radio termines. Informations de vol avec", "and radio terminated. Informations for flight"}, + *comm_9_3[2] = {"Controle, %s. Au revoir.", "with Controle, %s. Bye."}, + *comm_10[2] = {"Controle, %s. Bonne journee, %s.", "Controle, %s. See you, %s."}, + *comm_11[2] = {"Controle %s. Bonjour.", "Controle %s. Hello."}, + *comm_12[2] = {"%s Controle, bienvenu.", "%s Controle, welcome."}, + *comm_13_1[2] = {"%s %s. %s passagers a bord. Sortie de", "%s %s. %s passengers on board. Exit"}, + *comm_13_2[2] = {"%s vers %s.", "%s towards %s."}, + *comm_14[2] = {"%s, identifie radar.", "%s, identify radar."}, + *comm_15_1[2] = {"%s, vous quittez mon espace. Contactez", "%s, you leave my airspace. Contact"}, + *comm_15_2[2] = {"%s, %s. Bon vol.", "%s, %s. Have a good flight."}, + *comm_16[2] = {"%s %s. Au revoir, %s.", "%s %s. Good bye, %s."}, + *comm_17[2] = {"%s tour, %s. Bonjour.", "%s tower, %s. Hy."}, + *comm_18[2] = {"%s, %s, a l'ecoute.", "%s, %s, listen."}, + *comm_19_1[2] = {"%s %s. %s passagers a bord. Demandons", "%s %s. %s passengers on board. Request"}, + *comm_19_2[2] = {"consignes pour atterrissage sur %s.", "instructions for landing on %s."}, + *comm_20[2] = {"%s, commencez votre approche.", "%s, starts your approach."}, + *comm_21[2] = {"Commencons notre approche, %s.", "We start our approach, %s."}, + *comm_22_1[2] = {"%s en finale, demandons autorisation", "%s on final, request clearance"}, + *comm_22_2[2] = {"d'atterrissage.", "to landing."}, + *comm_23[2] = {"%s, autorise atterrissage. Rappelez au sol.", "%s, authorized landing. Call back on ground."}, + *comm_24[2] = {"Autorise atterrissage, rappelons au sol, %s.", "Authorized landing, call back on ground, %s."}, + *comm_25[2] = {"%s, au sol, pour quitter. Merci.", "%s, on ground for leave. Thanks."}, + *comm_26[2] = {"%s, quittez la frequence a bientot.", "%s, leave frequence, see you."}; + + char msg_1[70], msg_2[70], msg_3[70]; fill_char(msg_1, " ", 0, 70); fill_char(msg_2, " ", 0, 70); fill_char(msg_3, " ", 0, 70); - - if (langue == 1) + + switch (*com_id) { - 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; - } + case 1: + *id = 1; + + sprintf(msg_1, comm_1[langue], aipt_depart, immat); + break; + case 2: + *id = 0; + + sprintf(msg_1, comm_2[langue], immat, aipt_depart); + break; + case 3: + *id = 1; + + sprintf(msg_1, comm_3_1[langue], immat, avion, passagers); + sprintf(msg_2, comm_3_2[langue], aipt_arrivee); + break; + case 4: + *id = 0; + + sprintf(msg_1, comm_4[langue], immat_courte); + break; + case 5: + *id = 1; + + sprintf(msg_1, comm_5[langue], immat_courte); + break; + case 6: + *id = 1; + + sprintf(msg_1, comm_6[langue], immat_courte); + break; + case 7: + *id = 0; + + sprintf(msg_1, comm_7[langue], immat_courte); + break; + case 8: + *id = 1; + + sprintf(msg_1, comm_8[langue], immat_courte); + break; + case 9: + *id = 0; + + sprintf(msg_1, comm_9_1[langue], immat_courte); + sprintf(msg_2, comm_9_2[langue]); + sprintf(msg_3, comm_9_3[langue], freq_cont); + break; + case 10: + *id = 1; + + sprintf(msg_1, comm_10[langue], freq_cont, immat_courte); + break; + case 11: + *id = 1; + + sprintf(msg_1, comm_11[langue], immat); + break; + case 12: + *id = 0; + + sprintf(msg_1, comm_12[langue], immat_courte); + break; + case 13: + *id = 1; + + sprintf(msg_1, comm_13_1[langue], immat, avion, passagers); + sprintf(msg_2, comm_13_2[langue], aipt_depart, aipt_arrivee); + break; + case 14: + *id = 0; + + sprintf(msg_1, comm_14[langue], immat_courte); + break; + case 15: + *id = 0; + + sprintf(msg_1, comm_15_1[langue], immat_courte); + sprintf(msg_2, comm_15_2[langue], aipt_arrivee, freq_arrivee); + break; + case 16: + *id = 1; + + sprintf(msg_1, comm_16[langue], aipt_arrivee, freq_arrivee, immat_courte); + break; + case 17: + *id = 1; + + sprintf(msg_1, comm_17[langue], aipt_arrivee, immat); + break; + case 18: + *id = 0; + + sprintf(msg_1, comm_18[langue], immat_courte, aipt_arrivee); + break; + case 19: + *id = 1; + + sprintf(msg_1, comm_19_1[langue], immat, avion, passagers); + sprintf(msg_2, comm_19_2[langue], aipt_arrivee); + break; + case 20: + *id = 0; + + sprintf(msg_1, comm_20[langue], immat_courte); + break; + case 21: + *id = 1; + + sprintf(msg_1, comm_21[langue], immat_courte); + break; + case 22: + *id = 1; + + sprintf(msg_1, comm_22_1[langue], immat_courte); + sprintf(msg_2, comm_22_2[langue]); + break; + case 23: + *id = 0; + + sprintf(msg_1, comm_23[langue], immat_courte); + break; + case 24: + *id = 1; + + sprintf(msg_1, comm_24[langue], immat_courte); + break; + case 25: + *id = 1; + sprintf(msg_1, comm_25[langue], immat_courte); + break; + case 26: + *id = 0; + + sprintf(msg_1, comm_26[langue], 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;