Réécriture de la structure du code

This commit is contained in:
Jean-Paul NOEL 2020-04-21 14:01:45 +02:00
parent 391dcb240b
commit d4dc6e25c7
7 changed files with 284 additions and 293 deletions

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"C_Cpp.errorSquiggles": "Disabled"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -5,7 +5,7 @@ Archive member included to satisfy reference by file (symbol)
/home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
/home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(getkey.c.o) (_pollevent)
/home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memory.c.o)
build-cg/src/main.c.o (_memset)
build-cg/src/main.c.o (_memcpy)
/home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
/home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o) (_timer_setup)
/home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
@ -156,9 +156,9 @@ LOAD /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a
LOAD /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a
LOAD /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a
0x0000000000300000 _brom = 0x300000
0x0000000000004d98 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
0x0000000000004f20 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
.text 0x0000000000300000 0x3ab0
.text 0x0000000000300000 0x3850
*(.pretext.entry)
.pretext.entry
0x0000000000300000 0x1a4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
@ -193,240 +193,241 @@ LOAD /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a
0x0000000000000058 _gint_exch_tlbh_size = ABSOLUTE ((. - _gint_exch_tlbh_start))
*(.text .text.*)
.text 0x000000000030067c 0x0 build-cg/src/main.c.o
.text.startup 0x000000000030067c 0x408 build-cg/src/main.c.o
.text.startup 0x000000000030067c 0x1a8 build-cg/src/main.c.o
0x000000000030067c _main
.text 0x0000000000300a84 0x1f0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(getkey.c.o)
0x0000000000300a84 _getkey_opt
0x0000000000300c2c _getkey
0x0000000000300c38 _getkey_repeat
.text 0x0000000000300c74 0x3ac /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
0x0000000000300dcc _pollevent
0x0000000000300f10 _waitevent
0x0000000000300f5c _clearevents
0x0000000000300f7c _keydown
0x0000000000300fa8 _keydown_all
0x0000000000300fe4 _keydown_any
.text 0x0000000000301020 0xdc /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memory.c.o)
0x0000000000301020 _memcpy
0x00000000003010da __memmove
0x00000000003010de __memcmp
0x00000000003010e2 _memset
.text 0x00000000003010fc 0x4cc /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x0000000000301384 _timer_setup
0x0000000000301414 _timer_delay
0x0000000000301474 _timer_start
0x00000000003014a8 _timer_reload
0x00000000003014c8 _timer_pause
0x00000000003014fc _timer_stop
0x0000000000301558 _timer_timeout
0x0000000000301564 _timer_address
0x0000000000301598 _timer_clear
.text 0x00000000003015c8 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
.text 0x00000000003015c8 0x40 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dimage.c.o)
0x00000000003015c8 _dimage
0x00000000003015f0 _dsubimage
.text 0x0000000000301608 0x1c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dclear.c.o)
0x0000000000301608 _dclear
.text 0x0000000000301624 0x1e4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(bopti.c.o)
0x0000000000301624 _bopti_render
0x0000000000301714 _bopti_render_clip
0x00000000003017dc _bopti_render_noclip
.text 0x0000000000301808 0x3c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dupdate.c.o)
0x0000000000301808 _dupdate
0x000000000030182c _dupdate_noint
.text 0x0000000000301844 0x4c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dvram.c.o)
0x0000000000301844 _dvram
0x0000000000301870 _dvram_switch
.text 0x0000000000301890 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(hardware.c.o)
.text 0x0000000000301890 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
.text 0x0000000000301890 0x104 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(setup.c.o)
0x00000000003018fc _gint_install
0x000000000030197c _gint_unload
.text 0x0000000000301994 0x5c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(gint.c.o)
0x0000000000301994 _gint_intlevel
0x00000000003019cc _gint_inthandler
.text 0x00000000003019f0 0x2d4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
0x0000000000301a40 _r61524_win_get
0x0000000000301af8 _r61524_win_set
0x0000000000301bb8 _r61524_display
.text 0x0000000000301cc4 0xc8 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
0x0000000000301d80 _clock_freq
.text 0x0000000000301d8c 0x4c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memset.c.o)
0x0000000000301d8c _dma_memset
.text 0x0000000000301dd8 0x3f8 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
0x00000000003020ac _dma_transfer
0x00000000003020ec _dma_transfer_wait
0x0000000000302164 _dma_transfer_noint
.text 0x00000000003021d0 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
.text 0x00000000003021d0 0x100 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(bopti-asm.s.o)
0x00000000003021d0 _bopti_r5g6b5
0x0000000000302220 _bopti_r5g6b5a
0x0000000000302250 _bopti_p8
0x0000000000302280 _bopti_p4
.text 0x00000000003022d0 0xf8 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(mmu.c.o)
0x00000000003022d0 _utlb_addr
0x00000000003022e0 _utlb_data
0x00000000003022f0 _utlb_mapped_memory
.text 0x00000000003023c8 0x2e4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.c.o)
0x0000000000302670 _gint_panic
0x0000000000302680 _gint_panic_set
0x0000000000302694 _gint_exc_catch
0x00000000003026a0 _gint_exc_skip
.text 0x00000000003026ac 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.s.o)
.text 0x00000000003026ac 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.S.o)
.text 0x00000000003026ac 0x2c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(vbr.s.o)
0x00000000003026ac _gint_setvbr
.text 0x00000000003026d8 0x9c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
0x00000000003026d8 _dsize
.text 0x0000000000302774 0x58 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dprint.c.o)
0x0000000000302774 _dprint
.text 0x00000000003027cc 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
.text 0x00000000003027cc 0xc0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(drect.c.o)
0x00000000003027cc _drect
.text 0x000000000030288c 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti-asm.s.o)
.text 0x000000000030288c 0xce4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(stdio.c.o)
0x0000000000303288 _kprint_opt
0x00000000003033d0 _kprint
0x00000000003034a8 _kvsprint
0x00000000003034f0 _sprintf
0x0000000000303518 _vsprintf
0x0000000000303538 _snprintf
0x0000000000303558 _vsnprintf
.text 0x0000000000303570 0x7c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(string.c.o)
0x0000000000303570 _strlen
0x0000000000303580 _strncpy
0x0000000000303598 _strcat
0x00000000003035dc _strcmp
.text 0x00000000003035ec 0x78 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_movmem.o)
0x00000000003035ec ___movstr
0x00000000003035ec ___movmem
0x0000000000303620 ___movmemSI64
0x0000000000303620 ___movstrSI64
0x0000000000303624 ___movstrSI60
0x0000000000303624 ___movmemSI60
0x0000000000303628 ___movmemSI56
0x0000000000303628 ___movstrSI56
0x000000000030362c ___movstrSI52
0x000000000030362c ___movmemSI52
0x0000000000303630 ___movstrSI48
0x0000000000303630 ___movmemSI48
0x0000000000303634 ___movstrSI44
0x0000000000303634 ___movmemSI44
0x0000000000303638 ___movstrSI40
0x0000000000303638 ___movmemSI40
0x000000000030363c ___movstrSI36
0x000000000030363c ___movmemSI36
0x0000000000303640 ___movmemSI32
0x0000000000303640 ___movstrSI32
0x0000000000303644 ___movmemSI28
0x0000000000303644 ___movstrSI28
0x0000000000303648 ___movstrSI24
0x0000000000303648 ___movmemSI24
0x000000000030364c ___movmemSI20
0x000000000030364c ___movstrSI20
0x0000000000303650 ___movstrSI16
0x0000000000303650 ___movmemSI16
0x0000000000303654 ___movmemSI12
0x0000000000303654 ___movstrSI12
0x0000000000303658 ___movmemSI8
0x0000000000303658 ___movstrSI8
0x000000000030365c ___movmemSI4
0x000000000030365c ___movstrSI4
.text 0x0000000000303664 0x1e0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_udivdi3.o)
0x0000000000303664 ___udivdi3
.text 0x0000000000303844 0x208 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_umoddi3.o)
0x0000000000303844 ___umoddi3
*fill* 0x0000000000303a4c 0x4
.text 0x0000000000303a50 0x60 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
0x0000000000303a50 ___udiv_qrnnd_16
.text 0x0000000000303ab0 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_clz.o)
.text 0x0000000000300824 0x1f0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(getkey.c.o)
0x0000000000300824 _getkey_opt
0x00000000003009cc _getkey
0x00000000003009d8 _getkey_repeat
.text 0x0000000000300a14 0x3ac /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
0x0000000000300b6c _pollevent
0x0000000000300cb0 _waitevent
0x0000000000300cfc _clearevents
0x0000000000300d1c _keydown
0x0000000000300d48 _keydown_all
0x0000000000300d84 _keydown_any
.text 0x0000000000300dc0 0xdc /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memory.c.o)
0x0000000000300dc0 _memcpy
0x0000000000300e7a __memmove
0x0000000000300e7e __memcmp
0x0000000000300e82 _memset
.text 0x0000000000300e9c 0x4cc /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x0000000000301124 _timer_setup
0x00000000003011b4 _timer_delay
0x0000000000301214 _timer_start
0x0000000000301248 _timer_reload
0x0000000000301268 _timer_pause
0x000000000030129c _timer_stop
0x00000000003012f8 _timer_timeout
0x0000000000301304 _timer_address
0x0000000000301338 _timer_clear
.text 0x0000000000301368 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
.text 0x0000000000301368 0x40 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dimage.c.o)
0x0000000000301368 _dimage
0x0000000000301390 _dsubimage
.text 0x00000000003013a8 0x1c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dclear.c.o)
0x00000000003013a8 _dclear
.text 0x00000000003013c4 0x1e4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(bopti.c.o)
0x00000000003013c4 _bopti_render
0x00000000003014b4 _bopti_render_clip
0x000000000030157c _bopti_render_noclip
.text 0x00000000003015a8 0x3c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dupdate.c.o)
0x00000000003015a8 _dupdate
0x00000000003015cc _dupdate_noint
.text 0x00000000003015e4 0x4c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dvram.c.o)
0x00000000003015e4 _dvram
0x0000000000301610 _dvram_switch
.text 0x0000000000301630 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(hardware.c.o)
.text 0x0000000000301630 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
.text 0x0000000000301630 0x104 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(setup.c.o)
0x000000000030169c _gint_install
0x000000000030171c _gint_unload
.text 0x0000000000301734 0x5c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(gint.c.o)
0x0000000000301734 _gint_intlevel
0x000000000030176c _gint_inthandler
.text 0x0000000000301790 0x2d4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
0x00000000003017e0 _r61524_win_get
0x0000000000301898 _r61524_win_set
0x0000000000301958 _r61524_display
.text 0x0000000000301a64 0xc8 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
0x0000000000301b20 _clock_freq
.text 0x0000000000301b2c 0x4c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memset.c.o)
0x0000000000301b2c _dma_memset
.text 0x0000000000301b78 0x3f8 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
0x0000000000301e4c _dma_transfer
0x0000000000301e8c _dma_transfer_wait
0x0000000000301f04 _dma_transfer_noint
.text 0x0000000000301f70 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
.text 0x0000000000301f70 0x100 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(bopti-asm.s.o)
0x0000000000301f70 _bopti_r5g6b5
0x0000000000301fc0 _bopti_r5g6b5a
0x0000000000301ff0 _bopti_p8
0x0000000000302020 _bopti_p4
.text 0x0000000000302070 0xf8 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(mmu.c.o)
0x0000000000302070 _utlb_addr
0x0000000000302080 _utlb_data
0x0000000000302090 _utlb_mapped_memory
.text 0x0000000000302168 0x2e4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.c.o)
0x0000000000302410 _gint_panic
0x0000000000302420 _gint_panic_set
0x0000000000302434 _gint_exc_catch
0x0000000000302440 _gint_exc_skip
.text 0x000000000030244c 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.s.o)
.text 0x000000000030244c 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.S.o)
.text 0x000000000030244c 0x2c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(vbr.s.o)
0x000000000030244c _gint_setvbr
.text 0x0000000000302478 0x9c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
0x0000000000302478 _dsize
.text 0x0000000000302514 0x58 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dprint.c.o)
0x0000000000302514 _dprint
.text 0x000000000030256c 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
.text 0x000000000030256c 0xc0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(drect.c.o)
0x000000000030256c _drect
.text 0x000000000030262c 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti-asm.s.o)
.text 0x000000000030262c 0xce4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(stdio.c.o)
0x0000000000303028 _kprint_opt
0x0000000000303170 _kprint
0x0000000000303248 _kvsprint
0x0000000000303290 _sprintf
0x00000000003032b8 _vsprintf
0x00000000003032d8 _snprintf
0x00000000003032f8 _vsnprintf
.text 0x0000000000303310 0x7c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(string.c.o)
0x0000000000303310 _strlen
0x0000000000303320 _strncpy
0x0000000000303338 _strcat
0x000000000030337c _strcmp
.text 0x000000000030338c 0x78 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_movmem.o)
0x000000000030338c ___movstr
0x000000000030338c ___movmem
0x00000000003033c0 ___movmemSI64
0x00000000003033c0 ___movstrSI64
0x00000000003033c4 ___movstrSI60
0x00000000003033c4 ___movmemSI60
0x00000000003033c8 ___movmemSI56
0x00000000003033c8 ___movstrSI56
0x00000000003033cc ___movstrSI52
0x00000000003033cc ___movmemSI52
0x00000000003033d0 ___movstrSI48
0x00000000003033d0 ___movmemSI48
0x00000000003033d4 ___movstrSI44
0x00000000003033d4 ___movmemSI44
0x00000000003033d8 ___movstrSI40
0x00000000003033d8 ___movmemSI40
0x00000000003033dc ___movstrSI36
0x00000000003033dc ___movmemSI36
0x00000000003033e0 ___movmemSI32
0x00000000003033e0 ___movstrSI32
0x00000000003033e4 ___movmemSI28
0x00000000003033e4 ___movstrSI28
0x00000000003033e8 ___movstrSI24
0x00000000003033e8 ___movmemSI24
0x00000000003033ec ___movmemSI20
0x00000000003033ec ___movstrSI20
0x00000000003033f0 ___movstrSI16
0x00000000003033f0 ___movmemSI16
0x00000000003033f4 ___movmemSI12
0x00000000003033f4 ___movstrSI12
0x00000000003033f8 ___movmemSI8
0x00000000003033f8 ___movstrSI8
0x00000000003033fc ___movmemSI4
0x00000000003033fc ___movstrSI4
.text 0x0000000000303404 0x1e0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_udivdi3.o)
0x0000000000303404 ___udivdi3
.text 0x00000000003035e4 0x208 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_umoddi3.o)
0x00000000003035e4 ___umoddi3
*fill* 0x00000000003037ec 0x4
.text 0x00000000003037f0 0x60 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
0x00000000003037f0 ___udiv_qrnnd_16
.text 0x0000000000303850 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_clz.o)
.gint.blocks 0x0000000000303ab0 0x140
.gint.blocks 0x0000000000303850 0x140
*(.gint.blocks)
.gint.blocks 0x0000000000303ab0 0xe0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
0x0000000000303ab0 _inth_tmu
0x0000000000303b30 _inth_etmu2
0x0000000000303b50 _inth_etmu_help
0x0000000000303b70 _inth_etmux
.gint.blocks 0x0000000000303b90 0x40 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
0x0000000000303b90 _inth_dma_te
0x0000000000303bb0 _inth_dma_ae
.gint.blocks 0x0000000000303bd0 0x20 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.S.o)
0x0000000000303bd0 _gint_inth_7305
.gint.blocks 0x0000000000303850 0xe0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
0x0000000000303850 _inth_tmu
0x00000000003038d0 _inth_etmu2
0x00000000003038f0 _inth_etmu_help
0x0000000000303910 _inth_etmux
.gint.blocks 0x0000000000303930 0x40 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
0x0000000000303930 _inth_dma_te
0x0000000000303950 _inth_dma_ae
.gint.blocks 0x0000000000303970 0x20 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.S.o)
0x0000000000303970 _gint_inth_7305
.gint.drivers 0x0000000000303bf0 0xc8
0x0000000000303bf0 _bdrv = .
.gint.drivers 0x0000000000303990 0xc8
0x0000000000303990 _bdrv = .
*(.gint.drivers.0)
*(.gint.drivers.1)
.gint.drivers.1
0x0000000000303bf0 0x28 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
0x0000000000303bf0 _drv_cpg
0x0000000000303990 0x28 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
0x0000000000303990 _drv_cpg
*(.gint.drivers.2)
.gint.drivers.2
0x0000000000303c18 0x28 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x0000000000303c18 _drv_tmu
0x00000000003039b8 0x28 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x00000000003039b8 _drv_tmu
.gint.drivers.2
0x0000000000303c40 0x28 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
0x0000000000303c40 _drv_dma0
0x00000000003039e0 0x28 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
0x00000000003039e0 _drv_dma0
*(.gint.drivers.3)
*(.gint.drivers.4)
.gint.drivers.4
0x0000000000303c68 0x28 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
0x0000000000303c68 _drv_keysc
0x0000000000303a08 0x28 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
0x0000000000303a08 _drv_keysc
*(.gint.drivers.5)
.gint.drivers.5
0x0000000000303c90 0x28 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
0x0000000000303c90 _drv_r61524
0x0000000000303a30 0x28 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
0x0000000000303a30 _drv_r61524
*(.gint.drivers.6)
0x0000000000303cb8 _edrv = .
0x0000000000303a58 _edrv = .
.rodata 0x0000000000303cb8 0x10e0
.rodata 0x0000000000303a58 0x14c8
*(.rodata.4)
*(.rodata .rodata.*)
.rodata 0x0000000000303cb8 0x208 build-cg/assets/img/grass_1.png.o
0x0000000000303cb8 _img_grass_1
0x0000000000303ec0 _img_grass_1_end
.rodata 0x0000000000303ec0 0x208 build-cg/assets/img/grass_2.png.o
0x0000000000303ec0 _img_grass_2
0x00000000003040c8 _img_grass_2_end
.rodata 0x00000000003040c8 0x208 build-cg/assets/img/grass_3.png.o
0x00000000003040c8 _img_grass_3
0x00000000003042d0 _img_grass_3_end
.rodata 0x00000000003042d0 0x208 build-cg/assets/img/player.png.o
0x00000000003042d0 _img_player
0x00000000003044d8 _img_player_end
.rodata 0x0000000000303a58 0x3e8 build-cg/src/main.c.o
.rodata 0x0000000000303e40 0x208 build-cg/assets/img/grass_1.png.o
0x0000000000303e40 _img_grass_1
0x0000000000304048 _img_grass_1_end
.rodata 0x0000000000304048 0x208 build-cg/assets/img/grass_2.png.o
0x0000000000304048 _img_grass_2
0x0000000000304250 _img_grass_2_end
.rodata 0x0000000000304250 0x208 build-cg/assets/img/grass_3.png.o
0x0000000000304250 _img_grass_3
0x0000000000304458 _img_grass_3_end
.rodata 0x0000000000304458 0x208 build-cg/assets/img/player.png.o
0x0000000000304458 _img_player
0x0000000000304660 _img_player_end
.rodata.str1.4
0x00000000003044d8 0x6 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
*fill* 0x00000000003044de 0x2
0x0000000000304660 0x6 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
*fill* 0x0000000000304666 0x2
.rodata.str1.4
0x00000000003044e0 0x4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x0000000000304668 0x4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
.rodata.str1.4
0x00000000003044e4 0x7 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
*fill* 0x00000000003044eb 0x1
0x000000000030466c 0x7 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
*fill* 0x0000000000304673 0x1
.rodata.str1.4
0x00000000003044ec 0x4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
.rodata 0x00000000003044f0 0x30 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
0x0000000000304674 0x4 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
.rodata 0x0000000000304678 0x30 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
.rodata.str1.4
0x0000000000304520 0x5 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
*fill* 0x0000000000304525 0x3
0x00000000003046a8 0x5 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
*fill* 0x00000000003046ad 0x3
.rodata.str1.4
0x0000000000304528 0x288 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.c.o)
0x00000000003046b0 0x288 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.c.o)
0x28c (size before relaxing)
.rodata 0x00000000003047b0 0x18 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
.rodata 0x00000000003047c8 0x49c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(font8x9.png.o)
0x00000000003047c8 _gint_font8x9
0x0000000000304c64 _gint_font8x9_end
.rodata 0x0000000000304938 0x18 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
.rodata 0x0000000000304950 0x49c /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(font8x9.png.o)
0x0000000000304950 _gint_font8x9
0x0000000000304dec _gint_font8x9_end
.rodata.str1.4
0x0000000000304c64 0x31 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(stdio.c.o)
*fill* 0x0000000000304c95 0x3
.rodata 0x0000000000304c98 0x100 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_clz.o)
0x0000000000304c98 ___clz_tab
0x0000000000304dec 0x31 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(stdio.c.o)
*fill* 0x0000000000304e1d 0x3
.rodata 0x0000000000304e20 0x100 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_clz.o)
0x0000000000304e20 ___clz_tab
.rela.dyn 0x0000000000304d98 0x0
.rela.dyn 0x0000000000304f20 0x0
.rela.pretext.entry
0x0000000000304d98 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
.rela.text 0x0000000000304d98 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
.rela.pretext 0x0000000000304d98 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
0x0000000000304f20 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
.rela.text 0x0000000000304f20 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
.rela.pretext 0x0000000000304f20 0x0 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
0x0000000008102000 . = ORIGIN (ram)
.bss 0x0000000008102000 0x150
@ -474,8 +475,8 @@ LOAD /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a
*fill* 0x0000000008102144 0xc
0x0000000000000150 _sbss = SIZEOF (.bss)
.data 0x0000000008102150 0x90 load address 0x0000000000304d98
0x0000000000304d98 _ldata = LOADADDR (.data)
.data 0x0000000008102150 0x90 load address 0x0000000000304f20
0x0000000000304f20 _ldata = LOADADDR (.data)
0x0000000008102150 _rdata = .
*(.data .data.*)
.data 0x0000000008102150 0x0 build-cg/src/main.c.o
@ -523,29 +524,29 @@ LOAD /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a
0x00000000081021e0 . = ALIGN (0x10)
*fill* 0x00000000081021d4 0xc
.data.4 0x00000000081021e0 0x0 load address 0x0000000000304e28
.data.4 0x00000000081021e0 0x0 load address 0x0000000000304fb0
*(.data.4)
0x00000000081021e0 . = ALIGN (0x10)
0x0000000000000090 _sdata = (SIZEOF (.data) + SIZEOF (.data.4))
0x00000000e5200000 . = ORIGIN (ilram)
.ilram 0x00000000e5200000 0x20 load address 0x0000000000304e28
0x0000000000304e28 _lilram = LOADADDR (.ilram)
.ilram 0x00000000e5200000 0x20 load address 0x0000000000304fb0
0x0000000000304fb0 _lilram = LOADADDR (.ilram)
0x00000000e5200000 _rilram = .
*(.ilram)
.ilram 0x00000000e5200000 0x20 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memset.c.o)
0x00000000e5200020 . = ALIGN (0x10)
0x00000000e5007000 . = ORIGIN (xram)
.xram 0x00000000e5007000 0x0 load address 0x0000000000304e48
0x0000000000304e48 _lxram = LOADADDR (.xram)
.xram 0x00000000e5007000 0x0 load address 0x0000000000304fd0
0x0000000000304fd0 _lxram = LOADADDR (.xram)
0x00000000e5007000 _rxram = .
*(.xram)
0x00000000e5007000 . = ALIGN (0x10)
0x00000000e5017000 . = ORIGIN (yram)
.yram 0x00000000e5017000 0x0 load address 0x0000000000304e48
0x0000000000304e48 _lyram = LOADADDR (.yram)
.yram 0x00000000e5017000 0x0 load address 0x0000000000304fd0
0x0000000000304fd0 _lyram = LOADADDR (.yram)
0x00000000e5017000 _ryram = .
*(.yram)
0x00000000e5017000 . = ALIGN (0x10)
@ -555,8 +556,8 @@ LOAD /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a
0x000000008c15ff00 _gint_vbr = (ORIGIN (vbr) - 0x100)
0x000000008c161400 . = ORIGIN (rram)
.gint.data 0x000000008c161400 0xe0 load address 0x0000000000304e48
0x0000000000304e48 _lgdata = LOADADDR (.gint.data)
.gint.data 0x000000008c161400 0xe0 load address 0x0000000000304fd0
0x0000000000304fd0 _lgdata = LOADADDR (.gint.data)
0x000000008c161400 _rgdata = .
*(.gint.data .gint.data.*)
.gint.data 0x000000008c161400 0x24 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
@ -574,7 +575,7 @@ LOAD /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a
*fill* 0x000000008c1614d8 0x8
0x00000000000000e0 _sgdata = SIZEOF (.gint.data)
.gint.bss 0x000000008c1614e0 0x300 load address 0x0000000000304f28
.gint.bss 0x000000008c1614e0 0x300 load address 0x00000000003050b0
*(.gint.bss .gint.bss.*)
.gint.bss 0x000000008c1614e0 0x180 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
.gint.bss 0x000000008c161660 0x88 /home/leno/opt/sh-elf-2.34-9.3.0/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)

Binary file not shown.

View File

@ -1,83 +1,76 @@
#include <gint/display.h>
#include <gint/keyboard.h>
typedef struct entity entity;
int main(void)
{
//Initialisation de la map
int xMap = 50;
int yMap = 20;
int map[20][50] = { {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1}};
//Chargement des images
extern image_t img_grass_1;
extern image_t img_grass_2;
extern image_t img_grass_3;
//Initialisation du joueur
int x = 0;
int y = 0;
extern image_t img_player;
//Création des structures
struct map {
int width;
int height;
uint16_t palette;
uint8_t data;
};
struct entity {
int x;
int y;
image_t sprite;
};
//Initialisation de la map "world"
static const uint8_t world_data[1000] = {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1};
static const uint16_t world_palette[3] = {0, 1, 2};
//Création de la map "world"
struct map world = {50, 20, world_palette, world_data};
//Création du l'entité "joueur"
entity player = {0, 0, img_player};
//Initialisation de la camera
int xCamera, yCamera;
int xCameraOffset = 12;
int yCameraOffset = 7;
int xCameraMax = 0;
bool xCameraMax = false;
//Boucle de jeu
while(1)
{
while(1) {
//Positionement de la caméra par rapport au joueur
xCameraMax = 0;
if (x-xCameraOffset < 0)
{
if (player.x-xCameraOffset < 0) {
xCamera = 0;
} else if (x+xCameraOffset > xMap-1)
{
xCamera = xMap-1-xCameraOffset*2;
xCameraMax = 1;
}else
{
xCamera = x-xCameraOffset;
xCameraMax = false;
} else if (player.x+xCameraOffset > world.width-1) {
xCamera = world.width-1-xCameraOffset*2;
xCameraMax = true;
}else {
xCamera = player.x-xCameraOffset;
xCameraMax = false;
}
if (y-yCameraOffset < 0)
{
if (player.y-yCameraOffset < 0) {
yCamera = 0;
} else if (y+yCameraOffset > yMap)
{
yCamera = yMap-yCameraOffset*2;
}else
{
yCamera = y-yCameraOffset;
} else if (player.y+yCameraOffset > world.height) {
yCamera = world.height-yCameraOffset*2;
}else {
yCamera = player.y-yCameraOffset;
}
//Chargement de la partie de la map à afficher
dclear(C_WHITE);
int i, j;
for(j=0;j<14;j++)
{
for(i=0; i<25; i++)
{
switch(map[j+yCamera][i+xCamera])
{
for(j=0;j<14;j++) {
for(i=0; i<25; i++) {
switch(map[j+yCamera][i+xCamera]) {
case 0:
dimage(i*16-(4*xCameraMax), j*16, &img_grass_1);
break;
@ -92,41 +85,35 @@ int main(void)
}
//Affichage de l'écran
dimage((x-xCamera)*16-(4*xCameraMax), (y-yCamera)*16, &img_player);
dimage((player.x-xCamera)*16-(4*xCameraMax), (player.y-yCamera)*16, &img_player);
dupdate();
//Gestion du clavier
switch(getkey().key)
{
switch(getkey().key) {
case KEY_UP:
y--;
if (y < 0)
{
y = 0;
player.y--;
if (player.y < 0) {
player.y = 0;
}
break;
case KEY_DOWN:
y++;
if (y > yMap-1)
{
y = yMap-1;
player.y++;
if (player.y > world.height-1) {
player.y = world.height-1;
}
break;
case KEY_LEFT:
x--;
if (x < 0)
{
x = 0;
player.x--;
if (player.x < 0) {
player.x = 0;
}
break;
case KEY_RIGHT:
x++;
if (x > xMap-1)
{
x = xMap-1;
player.x++;
if (player.x > world.width-1) {
player.x = world.width-1;
}
break;
break;
case KEY_EXE:
return 0;
}