gestions des communications

This commit is contained in:
Shadow 2019-07-22 15:27:32 +02:00
parent e526e4c02a
commit 8a4af86fb5
6 changed files with 362 additions and 336 deletions

Binary file not shown.

View File

@ -120,9 +120,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
0x0000000000002e80 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
0x0000000000002f60 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
.text 0x0000000000300000 0x2398
.text 0x0000000000300000 0x2478
*(.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)
@ -149,202 +149,202 @@ 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 0x4f8 build-cg/src/main.o
0x0000000000300604 _reset_comm
0x0000000000300618 _display_comm
0x0000000000300674 _add
0x00000000003006b8 _fill
0x00000000003006fc _communication
.text.startup 0x0000000000300afc 0x6c build-cg/src/main.o
0x0000000000300afc _main
.text 0x0000000000300b68 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 0x0000000000300b68 0xf8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(mmu.c.o)
0x0000000000300b68 _utlb_addr
0x0000000000300b78 _utlb_data
0x0000000000300b88 _utlb_mapped_memory
.text 0x0000000000300c60 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 0x0000000000300c60 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dvram.c.o)
0x0000000000300c60 _dvram
.text 0x0000000000300c64 0x30 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dupdate.c.o)
0x0000000000300c64 _dupdate
0x0000000000300c7c _dupdate_noint
.text 0x0000000000300c94 0x48 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dclear.c.o)
0x0000000000300c94 _dclear
.text 0x0000000000300cdc 0xc4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(drect.c.o)
0x0000000000300cdc _drect
.text 0x0000000000300da0 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 0x0000000000300da0 0x1e8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o)
0x0000000000300da0 _getkey_opt
0x0000000000300f40 _getkey
0x0000000000300f4c _getkey_repeat
.text 0x0000000000300f88 0x9c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o)
0x0000000000300f88 _dsize
.text 0x0000000000301024 0xd6 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o)
0x0000000000301024 _memcpy
0x00000000003010d8 __memmove
0x00000000003010dc __memcmp
0x00000000003010e0 _memset
.text 0x00000000003010fa 0x26 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o)
0x00000000003010fa _strlen
0x000000000030110a _strncpy
.text 0x0000000000301120 0x2cc /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o)
0x0000000000301170 _r61524_win_get
0x0000000000301228 _r61524_win_set
0x00000000003012e8 _r61524_display
.text 0x00000000003013ec 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 0x00000000003013ec 0xf0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o)
0x0000000000301458 _gint_install
0x00000000003014c4 _gint_unload
.text 0x00000000003014dc 0x2c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(vbr.s.o)
0x00000000003014dc _gint_setvbr
.text 0x0000000000301508 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 0x0000000000301508 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 0x0000000000301508 0x288 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o)
0x0000000000301684 _pollevent
0x0000000000301758 _waitevent
.text 0x0000000000301790 0x4d0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o)
0x0000000000301a18 _timer_setup
0x0000000000301aac _timer_delay
0x0000000000301b0c _timer_start
0x0000000000301b40 _timer_reload
0x0000000000301b60 _timer_pause
0x0000000000301b94 _timer_stop
0x0000000000301bf0 _timer_timeout
0x0000000000301bfc _timer_address
0x0000000000301c30 _timer_clear
.text 0x0000000000301c60 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 0x0000000000301c60 0x268 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o)
0x0000000000301c60 _dma_transfer_wait
0x0000000000301d3c _dma_transfer
0x0000000000301dec _dma_transfer_noint
.text 0x0000000000301ec8 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 0x0000000000301ec8 0x5c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o)
0x0000000000301ec8 _gint_intlevel
0x0000000000301f00 _gint_inthandler
.text 0x0000000000301f24 0xc8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o)
0x0000000000301fe0 _clock_freq
.text 0x0000000000301fec 0x78 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o)
0x0000000000301fec ___movmem
0x0000000000301fec ___movstr
0x0000000000302020 ___movmemSI64
0x0000000000302020 ___movstrSI64
0x0000000000302024 ___movmemSI60
0x0000000000302024 ___movstrSI60
0x0000000000302028 ___movstrSI56
0x0000000000302028 ___movmemSI56
0x000000000030202c ___movmemSI52
0x000000000030202c ___movstrSI52
0x0000000000302030 ___movstrSI48
0x0000000000302030 ___movmemSI48
0x0000000000302034 ___movmemSI44
0x0000000000302034 ___movstrSI44
0x0000000000302038 ___movstrSI40
0x0000000000302038 ___movmemSI40
0x000000000030203c ___movstrSI36
0x000000000030203c ___movmemSI36
0x0000000000302040 ___movstrSI32
0x0000000000302040 ___movmemSI32
0x0000000000302044 ___movmemSI28
0x0000000000302044 ___movstrSI28
0x0000000000302048 ___movmemSI24
0x0000000000302048 ___movstrSI24
0x000000000030204c ___movmemSI20
0x000000000030204c ___movstrSI20
0x0000000000302050 ___movstrSI16
0x0000000000302050 ___movmemSI16
0x0000000000302054 ___movmemSI12
0x0000000000302054 ___movstrSI12
0x0000000000302058 ___movstrSI8
0x0000000000302058 ___movmemSI8
0x000000000030205c ___movstrSI4
0x000000000030205c ___movmemSI4
*fill* 0x0000000000302064 0x1c
.text 0x0000000000302080 0x60 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem_i4.o)
0x0000000000302088 ___movmem_i4_even
0x0000000000302088 ___movstr_i4_even
0x000000000030208e ___movmem_i4_odd
0x000000000030208e ___movstr_i4_odd
0x00000000003020c0 ___movmemSI12_i4
0x00000000003020c0 ___movstrSI12_i4
.text 0x00000000003020e0 0x1ec /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o)
0x00000000003020e0 ___udivdi3
.text 0x00000000003022cc 0x6c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o)
0x00000000003022ee ___udivsi3
.text 0x0000000000302338 0x60 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o)
0x0000000000302338 ___udiv_qrnnd_16
.text 0x0000000000302398 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o)
.text 0x0000000000300604 0x5d8 build-cg/src/main.o
0x0000000000300604 _add
0x0000000000300648 _fill
0x0000000000300680 _fill_char
0x00000000003006aa _display_comm
0x0000000000300760 _communication
.text.startup 0x0000000000300bdc 0x74 build-cg/src/main.o
0x0000000000300bdc _main
.text 0x0000000000300c50 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 0x0000000000300c50 0xf8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(mmu.c.o)
0x0000000000300c50 _utlb_addr
0x0000000000300c60 _utlb_data
0x0000000000300c70 _utlb_mapped_memory
.text 0x0000000000300d48 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 0x0000000000300d48 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dvram.c.o)
0x0000000000300d48 _dvram
.text 0x0000000000300d4c 0x30 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dupdate.c.o)
0x0000000000300d4c _dupdate
0x0000000000300d64 _dupdate_noint
.text 0x0000000000300d7c 0x48 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dclear.c.o)
0x0000000000300d7c _dclear
.text 0x0000000000300dc4 0xc4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(drect.c.o)
0x0000000000300dc4 _drect
.text 0x0000000000300e88 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 0x0000000000300e88 0x1e8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o)
0x0000000000300e88 _getkey_opt
0x0000000000301028 _getkey
0x0000000000301034 _getkey_repeat
.text 0x0000000000301070 0x9c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o)
0x0000000000301070 _dsize
.text 0x000000000030110c 0xd6 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o)
0x000000000030110c _memcpy
0x00000000003011c0 __memmove
0x00000000003011c4 __memcmp
0x00000000003011c8 _memset
.text 0x00000000003011e2 0x26 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o)
0x00000000003011e2 _strlen
0x00000000003011f2 _strncpy
.text 0x0000000000301208 0x2cc /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o)
0x0000000000301258 _r61524_win_get
0x0000000000301310 _r61524_win_set
0x00000000003013d0 _r61524_display
.text 0x00000000003014d4 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 0x00000000003014d4 0xf0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o)
0x0000000000301540 _gint_install
0x00000000003015ac _gint_unload
.text 0x00000000003015c4 0x2c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(vbr.s.o)
0x00000000003015c4 _gint_setvbr
.text 0x00000000003015f0 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 0x00000000003015f0 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 0x00000000003015f0 0x288 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o)
0x000000000030176c _pollevent
0x0000000000301840 _waitevent
.text 0x0000000000301878 0x4d0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o)
0x0000000000301b00 _timer_setup
0x0000000000301b94 _timer_delay
0x0000000000301bf4 _timer_start
0x0000000000301c28 _timer_reload
0x0000000000301c48 _timer_pause
0x0000000000301c7c _timer_stop
0x0000000000301cd8 _timer_timeout
0x0000000000301ce4 _timer_address
0x0000000000301d18 _timer_clear
.text 0x0000000000301d48 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 0x0000000000301d48 0x268 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o)
0x0000000000301d48 _dma_transfer_wait
0x0000000000301e24 _dma_transfer
0x0000000000301ed4 _dma_transfer_noint
.text 0x0000000000301fb0 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 0x0000000000301fb0 0x5c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o)
0x0000000000301fb0 _gint_intlevel
0x0000000000301fe8 _gint_inthandler
.text 0x000000000030200c 0xc8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o)
0x00000000003020c8 _clock_freq
.text 0x00000000003020d4 0x78 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o)
0x00000000003020d4 ___movmem
0x00000000003020d4 ___movstr
0x0000000000302108 ___movmemSI64
0x0000000000302108 ___movstrSI64
0x000000000030210c ___movmemSI60
0x000000000030210c ___movstrSI60
0x0000000000302110 ___movstrSI56
0x0000000000302110 ___movmemSI56
0x0000000000302114 ___movmemSI52
0x0000000000302114 ___movstrSI52
0x0000000000302118 ___movstrSI48
0x0000000000302118 ___movmemSI48
0x000000000030211c ___movmemSI44
0x000000000030211c ___movstrSI44
0x0000000000302120 ___movstrSI40
0x0000000000302120 ___movmemSI40
0x0000000000302124 ___movstrSI36
0x0000000000302124 ___movmemSI36
0x0000000000302128 ___movstrSI32
0x0000000000302128 ___movmemSI32
0x000000000030212c ___movmemSI28
0x000000000030212c ___movstrSI28
0x0000000000302130 ___movmemSI24
0x0000000000302130 ___movstrSI24
0x0000000000302134 ___movmemSI20
0x0000000000302134 ___movstrSI20
0x0000000000302138 ___movstrSI16
0x0000000000302138 ___movmemSI16
0x000000000030213c ___movmemSI12
0x000000000030213c ___movstrSI12
0x0000000000302140 ___movstrSI8
0x0000000000302140 ___movmemSI8
0x0000000000302144 ___movstrSI4
0x0000000000302144 ___movmemSI4
*fill* 0x000000000030214c 0x14
.text 0x0000000000302160 0x60 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem_i4.o)
0x0000000000302168 ___movmem_i4_even
0x0000000000302168 ___movstr_i4_even
0x000000000030216e ___movmem_i4_odd
0x000000000030216e ___movstr_i4_odd
0x00000000003021a0 ___movmemSI12_i4
0x00000000003021a0 ___movstrSI12_i4
.text 0x00000000003021c0 0x1ec /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o)
0x00000000003021c0 ___udivdi3
.text 0x00000000003023ac 0x6c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o)
0x00000000003023ce ___udivsi3
.text 0x0000000000302418 0x60 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o)
0x0000000000302418 ___udiv_qrnnd_16
.text 0x0000000000302478 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o)
.gint.blocks 0x00000000003023a0 0x140
.gint.blocks 0x0000000000302480 0x140
*(.gint.blocks)
.gint.blocks 0x00000000003023a0 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o)
0x00000000003023a0 _exch_entry_7305
.gint.blocks 0x00000000003023c0 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o)
0x00000000003023c0 _inth_entry_7305
.gint.blocks 0x00000000003023e0 0xe0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o)
0x00000000003023e0 _inth_tmu
0x0000000000302460 _inth_etmu2
0x0000000000302480 _inth_etmu_help
0x00000000003024a0 _inth_etmux
.gint.blocks 0x00000000003024c0 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o)
0x00000000003024c0 _inth_dma_dma0
.gint.blocks 0x0000000000302480 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o)
0x0000000000302480 _exch_entry_7305
.gint.blocks 0x00000000003024a0 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o)
0x00000000003024a0 _inth_entry_7305
.gint.blocks 0x00000000003024c0 0xe0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o)
0x00000000003024c0 _inth_tmu
0x0000000000302540 _inth_etmu2
0x0000000000302560 _inth_etmu_help
0x0000000000302580 _inth_etmux
.gint.blocks 0x00000000003025a0 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o)
0x00000000003025a0 _inth_dma_dma0
.gint.drivers 0x00000000003024e0 0xb4
0x00000000003024e0 _bdrv = .
.gint.drivers 0x00000000003025c0 0xb4
0x00000000003025c0 _bdrv = .
*(.gint.drivers.0)
*(.gint.drivers.1)
.gint.drivers.1
0x00000000003024e0 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o)
0x00000000003024e0 _drv_cpg
0x00000000003025c0 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o)
0x00000000003025c0 _drv_cpg
*(.gint.drivers.2)
.gint.drivers.2
0x0000000000302504 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o)
0x0000000000302504 _drv_tmu
0x00000000003025e4 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o)
0x00000000003025e4 _drv_tmu
.gint.drivers.2
0x0000000000302528 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o)
0x0000000000302528 _drv_dma
0x0000000000302608 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o)
0x0000000000302608 _drv_dma
*(.gint.drivers.3)
*(.gint.drivers.4)
.gint.drivers.4
0x000000000030254c 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o)
0x000000000030254c _drv_keysc
0x000000000030262c 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o)
0x000000000030262c _drv_keysc
*(.gint.drivers.5)
.gint.drivers.5
0x0000000000302570 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o)
0x0000000000302570 _drv_r61524
0x0000000000302650 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o)
0x0000000000302650 _drv_r61524
*(.gint.drivers.6)
0x0000000000302594 _edrv = .
0x0000000000302674 _edrv = .
.rodata 0x0000000000302594 0x8f4
.rodata 0x0000000000302674 0x8f4
*(.rodata.assets)
*(.rodata .rodata.*)
.rodata.str1.4
0x0000000000302594 0x321 build-cg/src/main.o
0x329 (size before relaxing)
*fill* 0x00000000003028b5 0x3
.rodata 0x00000000003028b8 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 0x00000000003028d0 0x49c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(font8x9.png.o)
0x00000000003028d0 _gint_font8x9
0x0000000000302d6c _gint_font8x9_end
0x0000000000302674 0x321 build-cg/src/main.o
0x32d (size before relaxing)
*fill* 0x0000000000302995 0x3
.rodata 0x0000000000302998 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 0x00000000003029b0 0x49c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(font8x9.png.o)
0x00000000003029b0 _gint_font8x9
0x0000000000302e4c _gint_font8x9_end
.rodata.str1.4
0x0000000000302d6c 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* 0x0000000000302d73 0x1
0x0000000000302e4c 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* 0x0000000000302e53 0x1
.rodata.str1.4
0x0000000000302d74 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* 0x0000000000302d7a 0x2
0x0000000000302e54 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* 0x0000000000302e5a 0x2
.rodata.str1.4
0x0000000000302d7c 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o)
0x0000000000302e5c 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
0x0000000000302d80 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o)
0x0000000000302e60 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
0x0000000000302d84 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 0x0000000000302d88 0x100 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o)
0x0000000000302d88 ___clz_tab
0x0000000000302e64 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 0x0000000000302e68 0x100 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o)
0x0000000000302e68 ___clz_tab
.rela.dyn 0x0000000000302e88 0x0
.rela.text 0x0000000000302e88 0x0 build-cg/src/main.o
.rela.dyn 0x0000000000302f68 0x0
.rela.text 0x0000000000302f68 0x0 build-cg/src/main.o
.rela.pretext.entry
0x0000000000302e88 0x0 build-cg/src/main.o
.rela.pretext 0x0000000000302e88 0x0 build-cg/src/main.o
0x0000000000302f68 0x0 build-cg/src/main.o
.rela.pretext 0x0000000000302f68 0x0 build-cg/src/main.o
0x0000000008102000 . = ORIGIN (ram)
.bss 0x0000000008102000 0x30
@ -385,8 +385,8 @@ LOAD /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a
0x0000000008102030 . = ALIGN (0x10)
0x0000000000000030 _sbss = SIZEOF (.bss)
.data 0x0000000008102030 0x20 load address 0x0000000000302e88
0x0000000000302e88 _ldata = LOADADDR (.data)
.data 0x0000000008102030 0x20 load address 0x0000000000302f68
0x0000000000302f68 _ldata = LOADADDR (.data)
0x0000000008102030 _rdata = .
*(.data .data.*)
.data 0x0000000008102030 0x0 build-cg/src/main.o
@ -427,15 +427,15 @@ LOAD /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a
0x0000000008102050 . = ALIGN (0x10)
*fill* 0x0000000008102044 0xc
.data.4 0x0000000008102050 0x0 load address 0x0000000000302ea8
.data.4 0x0000000008102050 0x0 load address 0x0000000000302f88
*(.data.4)
0x0000000008102050 . = ALIGN (0x10)
0x0000000000000020 _sdata = (SIZEOF (.data) + SIZEOF (.data.4))
0x000000008c15ff00 _gint_vbr = (ORIGIN (vbr) - 0x100)
0x000000008c161400 . = ORIGIN (rram)
.gint.data 0x000000008c161400 0xd0 load address 0x0000000000302ea8
0x0000000000302ea8 _lgdata = LOADADDR (.gint.data)
.gint.data 0x000000008c161400 0xd0 load address 0x0000000000302f88
0x0000000000302f88 _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)
@ -450,7 +450,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 0x0000000000302f78
.gint.bss 0x000000008c1614d0 0x230 load address 0x0000000000303058
*(.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

@ -1,7 +1,7 @@
//-----
// Nom du projet : Fly Simulator
// Version : - dev -
// Dernière modification le : 19 juillet 2019
// Dernière modification le : 22 juillet 2019
//-----
#include <gint/display.h>
@ -14,13 +14,10 @@
//communication : gère les communications entre la tour et l'avion
int communication (int *com_id, int *ligne, int id);
void communication (int *com_id, int *id);
//display_comm : affiche les communications
void display_comm (char *msg, int *ligne, int joueur);
//reset_comm : vide l'historique des communications
void reset_comm (int *ligne);
void display_comm (char *msg_1, char *msg_2, char *msg_3, int *joueur);
//add : concatène deux chaines de caractère, str >> dest
char *add (char *dest, const char *src);
@ -28,231 +25,251 @@ char *add (char *dest, const char *src);
//fill : initialise une chaine de caractère en écrasant le texte contenu dans dest
char *fill (char *dest, const char *src);
//fill_char : initialise une chaine avec un nombre de caractères répétés 'n' fois
char *fill_char(char *dest, const char *src, unsigned int debut, unsigned int fin);
int main (void)
{
int com_id = 1, ligne = 0, id = 0;
//int key = 0;
int com_id = 1, id = 0;// variables des communications
int key = 0;//variables diverses
dclear(C_WHITE);
dupdate();
while(com_id < 26)
while(com_id <= 26)
{
id = communication(&com_id, &ligne, id);
getkey();
communication(&com_id, &id);
key = getkey().key;
dupdate();
if(key == KEY_EXIT) return 0;
}
getkey();
return 1;
return 0;
}
int communication(int *com_id, int *ligne, int id)
void communication(int *com_id, int *id)
{
//faire un choix de la langue Français / Anglais
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 personnes a bord, ", msg[100] = "";
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 personnes a bord, ", 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);
switch (*com_id)
{
case 1:
id = 1;
fill(msg, aipt_depart);
add(msg, "tour, ");
add(msg, immat);
add(msg, "bonjour.");
*id = 1;
fill(msg_1, aipt_depart);
add(msg_1, "tour, ");
add(msg_1, immat);
add(msg_1, "bonjour.");
break;
case 2:
id = 0;
fill(msg, immat);
add(msg, aipt_depart);
add(msg, "bonjour.");
*id = 0;
fill(msg_1, immat);
add(msg_1, aipt_depart);
add(msg_1, "bonjour.");
break;
case 3:
id = 1;
fill(msg, immat);
add(msg, avion);
add(msg, passagers);
add(msg, "demandons");
display_comm(msg, &(*ligne), id);
fill(msg, "vol vers ");
add(msg, aipt_arrivee);
*id = 1;
fill(msg_1, immat);
add(msg_1, avion);
add(msg_1, passagers);
add(msg_1, "demandons");
fill(msg_2, "vol vers ");
add(msg_2, aipt_arrivee);
break;
case 4:
id = 0;
fill(msg, immat_courte);
add(msg, "vol autorise. Rappelez pret au depart");
*id = 0;
fill(msg_1, immat_courte);
add(msg_1, "vol autorise. Rappelez pret au depart.");
break;
case 5:
id = 1;
fill(msg, "Rappelons pret au depart, ");
add(msg, immat_courte);
*id = 1;
fill(msg_1, "Rappelons pret au depart, ");
add(msg_1, immat_courte);
break;
case 6:
id = 1;
fill(msg, immat_courte);
add(msg, "pret au depart");
*id = 1;
fill(msg_1, immat_courte);
add(msg_1, "pret au depart.");
break;
case 7:
id = 0;
fill(msg, immat_courte);
add(msg, "autorise decollage.");
*id = 0;
fill(msg_1, immat_courte);
add(msg_1, "autorise decollage.");
break;
case 8:
id = 1;
fill(msg, "Autorise decollage, ");
add(msg, immat_courte);
*id = 1;
fill(msg_1, "Autorise decollage, ");
add(msg_1, immat_courte);
break;
case 9:
id = 0;
reset_comm (&(*ligne));
fill(msg, immat_courte);
add(msg, "Vous quittez mon espace. Services radar");
display_comm(msg, &(*ligne), id);
fill(msg, "et radio termines. Informations de vol avec");
display_comm(msg, &(*ligne), id);
fill(msg, "Controle, ");
add(msg, freq_cont);
add(msg, "au revoir.");
*id = 0;
fill(msg_1, immat_courte);
add(msg_1, "Vous quittez mon espace. Services radar");
fill(msg_2, "et radio termines. Informations de vol avec");
fill(msg_3, "Controle, ");
add(msg_3, freq_cont);
add(msg_3, "au revoir.");
break;
case 10:
id = 1;
fill(msg, "Controle ");
add(msg, freq_cont);
add(msg, "bonne journee. ");
add(msg, immat_courte);
*id = 1;
fill(msg_1, "Controle ");
add(msg_1, freq_cont);
add(msg_1, "bonne journee. ");
add(msg_1, immat_courte);
break;
case 11:
id = 1;
fill(msg, "Controle ");
add(msg, immat);
add(msg, "bonjour.");
*id = 1;
fill(msg_1, "Controle ");
add(msg_1, immat);
add(msg_1, "bonjour.");
break;
case 12:
id = 0;
fill(msg, immat_courte);
add(msg, "Controle, bienvenu.");
*id = 0;
fill(msg_1, immat_courte);
add(msg_1, "Controle, bienvenu.");
break;
case 13:
id = 1;
fill(msg, immat);
add(msg, avion);
add(msg, passagers);
add(msg, "sortie de ");
display_comm(msg, &(*ligne), id);
add(msg, aipt_depart);
add(msg, "vers ");
add(msg, aipt_arrivee);
*id = 1;
fill(msg_1, immat);
add(msg_1, avion);
add(msg_1, passagers);
add(msg_1, "sortie de ");
fill(msg_2, aipt_depart);
add(msg_2, "vers ");
add(msg_2, aipt_arrivee);
break;
case 14:
id = 0;
fill(msg, immat_courte);
add(msg, "identifie radar.");
*id = 0;
fill(msg_1, immat_courte);
add(msg_1, "identifie radar.");
break;
case 15:
id = 0;
reset_comm(&(*ligne));
fill(msg, immat_courte);
add(msg, "Vous quittez mon espace, contactez ");
add(msg, aipt_arrivee);
display_comm(msg, &(*ligne), id);
fill(msg, freq_arrivee);
add(msg, "bon vol.");
*id = 0;
fill(msg_1, immat_courte);
add(msg_1, "Vous quittez mon espace, contactez ");
add(msg_1, aipt_arrivee);
fill(msg_2, freq_arrivee);
add(msg_2, "bon vol.");
break;
case 16:
id = 1;
fill(msg, aipt_arrivee);
add(msg, freq_arrivee);
add(msg, "au revoir. ");
add(msg, immat_courte);
*id = 1;
fill(msg_1, aipt_arrivee);
add(msg_1, freq_arrivee);
add(msg_1, "au revoir. ");
add(msg_1, immat_courte);
break;
case 17:
id = 1;
fill(msg, aipt_arrivee);
add(msg, "tour, ");
add(msg, immat);
add(msg, "bonjour.");
*id = 1;
fill(msg_1, aipt_arrivee);
add(msg_1, "tour, ");
add(msg_1, immat);
add(msg_1, "bonjour.");
break;
case 18:
id = 0;
fill(msg, immat_courte);
add(msg, aipt_arrivee);
add(msg, "bonjour.");
*id = 0;
fill(msg_1, immat_courte);
add(msg_1, aipt_arrivee);
add(msg_1, "bonjour.");
break;
case 19:
id = 1;
fill(msg, immat);
add(msg, avion);
add(msg, passagers);
add(msg, "demandons");
display_comm(msg, &(*ligne), id);
fill(msg, "consignes pour atterrissage sur ");
add(msg, aipt_arrivee);
*id = 1;
fill(msg_1, immat);
add(msg_1, avion);
add(msg_1, passagers);
add(msg_1, "demandons");
fill(msg_2, "consignes pour atterrissage sur ");
add(msg_2, aipt_arrivee);
break;
case 20:
id = 0;
fill(msg, immat_courte);
add(msg, "Commencez votre approche");
*id = 0;
fill(msg_1, immat_courte);
add(msg_1, "Commencez votre approche");
break;
case 21:
id = 1;
fill(msg, "Commencons notre approche ");
add(msg, immat_courte);
*id = 1;
fill(msg_1, "Commencons notre approche ");
add(msg_1, immat_courte);
break;
case 22:
id = 1;
reset_comm(&(*ligne));
fill(msg, immat_courte);
add(msg, "en finale, demandons autorisation");
display_comm(msg, &(*ligne), id);
fill(msg, "d'atterrissage");
*id = 1;
fill(msg_1, immat_courte);
add(msg_1, "en finale, demandons autorisation");
fill(msg_2, "d'atterrissage");
break;
case 23:
id = 0;
fill(msg, immat_courte);
add(msg, "autorise aterrissage. Rappelez au sol.");
*id = 0;
fill(msg_1, immat_courte);
add(msg_1, "autorise aterrissage. Rappelez au sol.");
break;
case 24:
id = 1;
fill(msg, "Autorise aterrissage, rappelons au sol, ");
add(msg, immat_courte);
*id = 1;
fill(msg_1, "Autorise aterrissage, rappelons au sol, ");
add(msg_1, immat_courte);
break;
case 25:
id = 1;
fill(msg, immat_courte);
add(msg, "au sol, pour quitter, merci.");
*id = 1;
fill(msg_1, immat_courte);
add(msg_1, "au sol, pour quitter, merci.");
break;
case 26:
id = 0;
fill(msg, immat_courte);
add(msg, "quittez la frequence, a bientot.");
*id = 0;
fill(msg_1, immat_courte);
add(msg_1, "quittez la frequence, a bientot.");
}
display_comm(msg, &(*ligne), id);
display_comm(msg_1, msg_2, msg_3, &(*id));
*com_id += 1;
return id;
}
void display_comm (char *msg, int *ligne, int joueur)
void display_comm (char *msg_1, char *msg_2, char *msg_3, int *joueur)
{
if (*ligne >= 5) reset_comm(&(*ligne));
fill_char(msg_1, " ", strlen(msg_1), 70);
fill_char(msg_2, " ", strlen(msg_2), 70);
fill_char(msg_3, " ", strlen(msg_3), 70);
if (joueur)dtext(1, 1 + (*ligne * 12),msg, C_BLUE, C_NONE);
else dtext(1, 1 + (*ligne * 12),msg, C_BLACK, C_NONE);
*ligne += 1;
msg[0] = '\0';
if (*joueur == 1){
dtext(1, 1, msg_1, C_BLUE, C_WHITE);
dtext(1, 12, msg_2, C_BLUE, C_WHITE);
dtext(1, 23, msg_3, C_BLUE, C_WHITE);
}
else{
dtext(1, 1, msg_1, C_BLACK, C_WHITE);
dtext(1, 12, msg_2, C_BLACK, C_WHITE);
dtext(1, 23, msg_3, C_BLACK, C_WHITE);
}
}
void reset_comm (int *ligne)
{
*ligne = 0;
dclear(C_WHITE);
}
char *add(char *dest, const char *src)
{
@ -262,13 +279,22 @@ char *add(char *dest, const char *src)
return dest;
}
char *fill(char *dest, const char *src)
{
unsigned int i;
for (i = 0 ; i <= strlen(src) ; i++)
{
dest[i] = src[i];
}
dest[strlen(dest) + 1] = '\0';
for (i = 0 ; i <= strlen(src) ; i++) dest[i] = src[i];
return dest;
}
char *fill_char(char *dest, const char *src, unsigned int debut, unsigned int fin)
{
unsigned int i;
for (i = debut ; i < fin ; i++)
{
dest[i] = src[0];
}
dest[fin] = '\0';
return dest;
}