Changement du système de communications pour le rendre plus souple et leger.

This commit is contained in:
Shadow 2019-07-23 20:04:37 +02:00
parent 487bb43f56
commit 3c7ccd3cd6
6 changed files with 350 additions and 460 deletions

Binary file not shown.

View File

@ -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)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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;