diff --git a/Sources/FlySim.g3a b/Sources/FlySim.g3a index a60a657..f982f5c 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 e8aac27..ee37ac8 100644 --- a/Sources/build-cg/map +++ b/Sources/build-cg/map @@ -20,8 +20,10 @@ Archive member included to satisfy reference by file (symbol) build-cg/src/main.o (_getkey) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) (_charset_size) +/Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) + build-cg/src/main.o (_memcpy) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) - /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) (_strlen) + build-cg/src/main.o (_strlen) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(font8x9.png.o) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) (_gint_font8x9) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) @@ -38,12 +40,10 @@ Archive member included to satisfy reference by file (symbol) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) (_inth_entry_7305) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) (_waitevent) -/Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) - /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) (_memcpy) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) (_timer_setup) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) (_inth_tmu_0) + /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) (_inth_tmu) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) (_dma_transfer_wait) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) @@ -54,8 +54,10 @@ Archive member included to satisfy reference by file (symbol) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) (_clock_freq) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) (___movmemSI24) +/Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem_i4.o) + build-cg/src/main.o (___movmemSI12_i4) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o) - /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) (___udivdi3) + /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) (___udivdi3) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o) (___udivsi3) /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o) @@ -75,12 +77,12 @@ Discarded input sections .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(drect.c.o) .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) + .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(hardware.c.o) .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) - .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) .comment 0x0000000000000000 0x12 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o) @@ -118,226 +120,231 @@ 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 - 0x0000000000002738 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x0000000000002e80 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) -.text 0x0000000000300000 0x1ef0 +.text 0x0000000000300000 0x2398 *(.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) 0x0000000000300000 _start *(.pretext) - .pretext 0x00000000003001a4 0x258 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) - 0x00000000003001a4 _topti_glyph - 0x00000000003001f8 _topti_render - 0x00000000003003b8 _dtext - *fill* 0x00000000003003fc 0x4 - .pretext 0x0000000000300400 0xc4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti-asm.s.o) - 0x0000000000300400 _topti_glyph_fg_bg - 0x000000000030043e _topti_glyph_fg - 0x0000000000300478 _topti_glyph_bg - .pretext 0x00000000003004c4 0x110 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) - 0x00000000003004c4 _dfont - 0x00000000003004dc _charset_size - 0x0000000000300508 _charset_decode - 0x0000000000300576 _topti_offset - .pretext 0x00000000003005d4 0x40 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(hardware.c.o) - 0x00000000003005d4 _hw_detect - 0x0000000000300614 _btors = . + .pretext 0x00000000003001a4 0x240 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) + 0x00000000003001a4 _topti_render + 0x00000000003003a0 _dtext + *fill* 0x00000000003003e4 0xc + .pretext 0x00000000003003f0 0xc4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti-asm.s.o) + 0x00000000003003f0 _topti_glyph_fg_bg + 0x000000000030042e _topti_glyph_fg + 0x0000000000300468 _topti_glyph_bg + .pretext 0x00000000003004b4 0x110 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) + 0x00000000003004b4 _dfont + 0x00000000003004cc _charset_size + 0x00000000003004f8 _charset_decode + 0x0000000000300566 _topti_offset + .pretext 0x00000000003005c4 0x40 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(hardware.c.o) + 0x00000000003005c4 _hw_detect + 0x0000000000300604 _btors = . *(.ctors .ctors.*) - 0x0000000000300614 _mtors = . + 0x0000000000300604 _mtors = . *(.dtors .dtors.*) - 0x0000000000300614 _etors = . + 0x0000000000300604 _etors = . *(.text .text.*) - .text 0x0000000000300614 0x0 build-cg/src/main.o - .text.startup 0x0000000000300614 0x90 build-cg/src/main.o - 0x0000000000300614 _main - .text 0x00000000003006a4 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 0x00000000003006a4 0xf8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(mmu.c.o) - 0x00000000003006a4 _utlb_addr - 0x00000000003006b4 _utlb_data - 0x00000000003006c4 _utlb_mapped_memory - .text 0x000000000030079c 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 0x000000000030079c 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dvram.c.o) - 0x000000000030079c _dvram - .text 0x00000000003007a0 0x30 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dupdate.c.o) - 0x00000000003007a0 _dupdate - 0x00000000003007b8 _dupdate_noint - .text 0x00000000003007d0 0x48 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dclear.c.o) - 0x00000000003007d0 _dclear - .text 0x0000000000300818 0xc4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(drect.c.o) - 0x0000000000300818 _drect - .text 0x00000000003008dc 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 0x00000000003008dc 0x1a8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) - 0x0000000000300a38 _getkey - 0x0000000000300a44 _getkey_opt - 0x0000000000300a50 _getkey_repeat - .text 0x0000000000300a84 0x9c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) - 0x0000000000300a84 _dsize - .text 0x0000000000300b20 0x148 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) - 0x0000000000300b20 _strlen - 0x0000000000300b30 _strncpy - 0x0000000000300b46 _vsprintf - 0x0000000000300c44 _sprintf - .text 0x0000000000300c68 0x2cc /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) - 0x0000000000300cb8 _r61524_win_get - 0x0000000000300d70 _r61524_win_set - 0x0000000000300e30 _r61524_display - .text 0x0000000000300f34 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 0x0000000000300f34 0xf0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) - 0x0000000000300fa0 _gint_install - 0x000000000030100c _gint_unload - .text 0x0000000000301024 0x2c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(vbr.s.o) - 0x0000000000301024 _gint_setvbr - .text 0x0000000000301050 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 0x0000000000301050 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 0x0000000000301050 0x28c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) - 0x00000000003010a0 _keysc_frame - 0x00000000003011d4 _pollevent - 0x00000000003012a8 _waitevent - .text 0x00000000003012dc 0xd6 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) - 0x00000000003012dc _memcpy - 0x0000000000301390 __memmove - 0x0000000000301394 __memcmp - 0x0000000000301398 _memset - *fill* 0x00000000003013b2 0x2 - .text 0x00000000003013b4 0x480 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) - 0x0000000000301658 _timer_setup - 0x00000000003016ec _timer_delay - 0x000000000030174c _timer_start - 0x0000000000301780 _timer_reload - 0x00000000003017a0 _timer_pause - 0x00000000003017d4 _timer_stop - 0x0000000000301828 _timer_timeout - .text 0x0000000000301834 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 0x0000000000301834 0x268 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) - 0x0000000000301834 _dma_transfer_wait - 0x0000000000301910 _dma_transfer - 0x00000000003019c0 _dma_transfer_noint - .text 0x0000000000301a9c 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 0x0000000000301a9c 0x5c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o) - 0x0000000000301a9c _gint_intlevel - 0x0000000000301ad4 _gint_inthandler - .text 0x0000000000301af8 0xc8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) - 0x0000000000301bb4 _clock_freq - .text 0x0000000000301bc0 0x78 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o) - 0x0000000000301bc0 ___movmem - 0x0000000000301bc0 ___movstr - 0x0000000000301bf4 ___movmemSI64 - 0x0000000000301bf4 ___movstrSI64 - 0x0000000000301bf8 ___movmemSI60 - 0x0000000000301bf8 ___movstrSI60 - 0x0000000000301bfc ___movstrSI56 - 0x0000000000301bfc ___movmemSI56 - 0x0000000000301c00 ___movmemSI52 - 0x0000000000301c00 ___movstrSI52 - 0x0000000000301c04 ___movstrSI48 - 0x0000000000301c04 ___movmemSI48 - 0x0000000000301c08 ___movmemSI44 - 0x0000000000301c08 ___movstrSI44 - 0x0000000000301c0c ___movstrSI40 - 0x0000000000301c0c ___movmemSI40 - 0x0000000000301c10 ___movstrSI36 - 0x0000000000301c10 ___movmemSI36 - 0x0000000000301c14 ___movstrSI32 - 0x0000000000301c14 ___movmemSI32 - 0x0000000000301c18 ___movmemSI28 - 0x0000000000301c18 ___movstrSI28 - 0x0000000000301c1c ___movmemSI24 - 0x0000000000301c1c ___movstrSI24 - 0x0000000000301c20 ___movmemSI20 - 0x0000000000301c20 ___movstrSI20 - 0x0000000000301c24 ___movstrSI16 - 0x0000000000301c24 ___movmemSI16 - 0x0000000000301c28 ___movmemSI12 - 0x0000000000301c28 ___movstrSI12 - 0x0000000000301c2c ___movstrSI8 - 0x0000000000301c2c ___movmemSI8 - 0x0000000000301c30 ___movstrSI4 - 0x0000000000301c30 ___movmemSI4 - .text 0x0000000000301c38 0x1ec /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o) - 0x0000000000301c38 ___udivdi3 - .text 0x0000000000301e24 0x6c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o) - 0x0000000000301e46 ___udivsi3 - .text 0x0000000000301e90 0x60 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000301e90 ___udiv_qrnnd_16 - .text 0x0000000000301ef0 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) + .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) -.gint.blocks 0x0000000000301ef0 0x140 +.gint.blocks 0x00000000003023a0 0x140 *(.gint.blocks) - .gint.blocks 0x0000000000301ef0 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o) - 0x0000000000301ef0 _exch_entry_7305 - .gint.blocks 0x0000000000301f10 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o) - 0x0000000000301f10 _inth_entry_7305 - .gint.blocks 0x0000000000301f30 0xe0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - 0x0000000000301f30 _inth_tmu_0 - 0x0000000000301f50 _inth_tmu_1 - 0x0000000000301f70 _inth_tmu_2 - 0x0000000000301f90 _inth_tmu_storage - 0x0000000000301fb0 _inth_tmu_extra2 - 0x0000000000301fd0 _inth_tmu_extra_help - 0x0000000000301ff0 _inth_tmu_extra_others - .gint.blocks 0x0000000000302010 0x20 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - 0x0000000000302010 _inth_dma_dma0 + .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.drivers 0x0000000000302030 0xb4 - 0x0000000000302030 _bdrv = . +.gint.drivers 0x00000000003024e0 0xb4 + 0x00000000003024e0 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x0000000000302030 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) - 0x0000000000302030 _drv_cpg + 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 *(.gint.drivers.2) .gint.drivers.2 - 0x0000000000302054 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) - 0x0000000000302054 _drv_tmu + 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 .gint.drivers.2 - 0x0000000000302078 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) - 0x0000000000302078 _drv_dma + 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 *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x000000000030209c 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) - 0x000000000030209c _drv_keysc + 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 *(.gint.drivers.5) .gint.drivers.5 - 0x00000000003020c0 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) - 0x00000000003020c0 _drv_r61524 + 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 *(.gint.drivers.6) - 0x00000000003020e4 _edrv = . + 0x0000000000302594 _edrv = . -.rodata 0x00000000003020e4 0x654 +.rodata 0x0000000000302594 0x8f4 *(.rodata.assets) *(.rodata .rodata.*) .rodata.str1.4 - 0x00000000003020e4 0x6e build-cg/src/main.o - *fill* 0x0000000000302152 0x2 - .rodata 0x0000000000302154 0x18 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) + 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 .rodata.str1.4 - 0x000000000030216c 0x11 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) - *fill* 0x000000000030217d 0x3 - .rodata 0x0000000000302180 0x49c /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(font8x9.png.o) - 0x0000000000302180 _gint_font8x9 - 0x000000000030261c _gint_font8x9_end + 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 .rodata.str1.4 - 0x000000000030261c 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* 0x0000000000302623 0x1 + 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 .rodata.str1.4 - 0x0000000000302624 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* 0x000000000030262a 0x2 + 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) .rodata.str1.4 - 0x000000000030262c 0x4 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) + 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) .rodata.str1.4 - 0x0000000000302630 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 - 0x0000000000302634 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 0x0000000000302638 0x100 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) - 0x0000000000302638 ___clz_tab + 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 -.rela.dyn 0x0000000000302738 0x0 +.rela.dyn 0x0000000000302e88 0x0 + .rela.text 0x0000000000302e88 0x0 build-cg/src/main.o .rela.pretext.entry - 0x0000000000302738 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(start.c.o) - .rela.pretext 0x0000000000302738 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(start.c.o) - .rela.text 0x0000000000302738 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(start.c.o) + 0x0000000000302e88 0x0 build-cg/src/main.o + .rela.pretext 0x0000000000302e88 0x0 build-cg/src/main.o 0x0000000008102000 . = ORIGIN (ram) .bss 0x0000000008102000 0x30 @@ -352,34 +359,34 @@ LOAD /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a .bss 0x0000000008102000 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dclear.c.o) .bss 0x0000000008102000 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(drect.c.o) .bss 0x0000000008102000 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) - .bss 0x0000000008102000 0x8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) - .bss 0x0000000008102008 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) - .bss 0x0000000008102008 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) - .bss 0x0000000008102008 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) - .bss 0x0000000008102008 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(hardware.c.o) - .bss 0x0000000008102008 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) - .bss 0x0000000008102008 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(vbr.s.o) - .bss 0x0000000008102008 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o) - .bss 0x0000000008102008 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o) - .bss 0x0000000008102008 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o) - .bss 0x000000000810202c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) + .bss 0x0000000008102000 0xc /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) + .bss 0x000000000810200c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) + .bss 0x000000000810200c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) + .bss 0x000000000810200c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) + .bss 0x000000000810200c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) + .bss 0x000000000810200c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(hardware.c.o) + .bss 0x000000000810200c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) + .bss 0x000000000810200c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(vbr.s.o) + .bss 0x000000000810200c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o) + .bss 0x000000000810200c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o) + .bss 0x000000000810200c 0x24 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem_i4.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o) + .bss 0x0000000008102030 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) 0x0000000008102030 . = ALIGN (0x10) - *fill* 0x000000000810202c 0x4 0x0000000000000030 _sbss = SIZEOF (.bss) -.data 0x0000000008102030 0x10 load address 0x0000000000302738 - 0x0000000000302738 _ldata = LOADADDR (.data) +.data 0x0000000008102030 0x20 load address 0x0000000000302e88 + 0x0000000000302e88 _ldata = LOADADDR (.data) 0x0000000008102030 _rdata = . *(.data .data.*) .data 0x0000000008102030 0x0 build-cg/src/main.o @@ -394,46 +401,45 @@ LOAD /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dclear.c.o) .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(drect.c.o) .data 0x000000000810203c 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) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(hardware.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(vbr.s.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o) - .data 0x000000000810203c 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) - 0x0000000008102040 . = ALIGN (0x10) - *fill* 0x000000000810203c 0x4 + .data 0x000000000810203c 0x8 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(getkey.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(topti.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(memory.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(string.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(r61524.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(hardware.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(setup.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(vbr.s.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(exch.S.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.S.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(dma.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(inth.s.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(cpg.c.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_movmem_i4.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivdi3.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udivsi3.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_udiv_qrnnd_16.o) + .data 0x0000000008102044 0x0 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgcc.a(_clz.o) + 0x0000000008102050 . = ALIGN (0x10) + *fill* 0x0000000008102044 0xc -.data.4 0x0000000008102040 0x0 load address 0x0000000000302748 +.data.4 0x0000000008102050 0x0 load address 0x0000000000302ea8 *(.data.4) - 0x0000000008102040 . = ALIGN (0x10) - 0x0000000000000010 _sdata = (SIZEOF (.data) + SIZEOF (.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 0x0000000000302748 - 0x0000000000302748 _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008c161400 0xd0 load address 0x0000000000302ea8 + 0x0000000000302ea8 _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) .gint.data 0x000000008c161408 0x18 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(keysc.c.o) - 0x000000008c161408 _time - 0x000000008c161414 _state .gint.data 0x000000008c161420 0x70 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(tmu.c.o) .gint.data 0x000000008c161490 0x10 /Users/antoine/gcc/sh3eb-elf-2.32-8.3.0/lib/gcc/sh3eb-elf/8.3.0/libgint-cg.a(gint.c.o) 0x000000008c161490 _SH7305_INTC @@ -444,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 0x0000000000302818 +.gint.bss 0x000000008c1614d0 0x230 load address 0x0000000000302f78 *(.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 329ec32..2f50e6b 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 13c957e..bb44772 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 35aa8d4..20e955c 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 75c2138..889e282 100755 --- a/Sources/src/main.c +++ b/Sources/src/main.c @@ -1,22 +1,274 @@ -/* - Nom du projet : Fly Simulator - Version : - dev - - Dernière modification le : 16 juillet 2019 - */ +//----- +// Nom du projet : Fly Simulator +// Version : - dev - +// Dernière modification le : 19 juillet 2019 +//----- #include #include +#include -int main(void) -{ - dclear(C_WHITE); - dtext(1, 0, "Fly Simulator.", C_BLACK, C_NONE); - dtext(1, 15, "Test de texte.", C_BLACK, C_NONE); - dtext(1, 30, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", C_BLACK, C_NONE); - dtext(1, 45, "abcdefghijklmnopqrstuvwxyz", C_BLACK, C_NONE); - dtext(1, 60, "0123456789 ? ! \" ,.;:", C_BLACK, C_NONE); - dupdate(); +#define C_RED 0xf800 +#define C_GREEN 0x07e0 +#define C_BLUE 0x001f - getkey(); + +//communication : gère les communications entre la tour et l'avion +int communication (int *com_id, int *ligne, 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); + +//add : concatène deux chaines de caractère, str >> dest +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); + +int main (void) +{ + int com_id = 1, ligne = 0, id = 0; + //int key = 0; + + dclear(C_WHITE); + dupdate(); + + while(com_id < 26) + { + id = communication(&com_id, &ligne, id); + getkey(); + dupdate(); + + } + getkey(); return 1; } + +int communication(int *com_id, int *ligne, 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] = ""; + + switch (*com_id) + { + case 1: + id = 1; + fill(msg, aipt_depart); + add(msg, "tour, "); + add(msg, immat); + add(msg, "bonjour."); + break; + case 2: + id = 0; + fill(msg, immat); + add(msg, aipt_depart); + add(msg, "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); + break; + case 4: + id = 0; + fill(msg, immat_courte); + add(msg, "vol autorise. Rappelez pret au depart"); + break; + case 5: + id = 1; + fill(msg, "Rappelons pret au depart, "); + add(msg, immat_courte); + break; + case 6: + id = 1; + fill(msg, immat_courte); + add(msg, "pret au depart"); + break; + case 7: + id = 0; + fill(msg, immat_courte); + add(msg, "autorise decollage."); + break; + case 8: + id = 1; + fill(msg, "Autorise decollage, "); + add(msg, 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."); + break; + case 10: + id = 1; + fill(msg, "Controle "); + add(msg, freq_cont); + add(msg, "bonne journee. "); + add(msg, immat_courte); + break; + case 11: + id = 1; + fill(msg, "Controle "); + add(msg, immat); + add(msg, "bonjour."); + break; + case 12: + id = 0; + fill(msg, immat_courte); + add(msg, "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); + break; + case 14: + id = 0; + fill(msg, immat_courte); + add(msg, "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."); + break; + case 16: + id = 1; + fill(msg, aipt_arrivee); + add(msg, freq_arrivee); + add(msg, "au revoir. "); + add(msg, immat_courte); + break; + case 17: + id = 1; + fill(msg, aipt_arrivee); + add(msg, "tour, "); + add(msg, immat); + add(msg, "bonjour."); + break; + case 18: + id = 0; + fill(msg, immat_courte); + add(msg, aipt_arrivee); + add(msg, "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); + break; + case 20: + id = 0; + fill(msg, immat_courte); + add(msg, "Commencez votre approche"); + break; + case 21: + id = 1; + fill(msg, "Commencons notre approche "); + add(msg, 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"); + break; + case 23: + id = 0; + fill(msg, immat_courte); + add(msg, "autorise aterrissage. Rappelez au sol."); + break; + case 24: + id = 1; + fill(msg, "Autorise aterrissage, rappelons au sol, "); + add(msg, immat_courte); + break; + case 25: + id = 1; + fill(msg, immat_courte); + add(msg, "au sol, pour quitter, merci."); + break; + case 26: + id = 0; + fill(msg, immat_courte); + add(msg, "quittez la frequence, a bientot."); + + + + + + } + + display_comm(msg, &(*ligne), id); + *com_id += 1; + return id; +} + +void display_comm (char *msg, int *ligne, int joueur) +{ + if (*ligne >= 5) reset_comm(&(*ligne)); + + 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'; +} + +void reset_comm (int *ligne) +{ + *ligne = 0; + dclear(C_WHITE); +} + +char *add(char *dest, const char *src) +{ + unsigned long fin_dest = strlen(dest); + unsigned int i; + for (i = 0 ; i <= strlen(src) ; i++) dest[fin_dest + i] = src[i]; + 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'; + return dest; +}