diff --git a/MARIOBRS.g1a b/MARIOBRS.g1a index 2044f53..d86c847 100644 Binary files a/MARIOBRS.g1a and b/MARIOBRS.g1a differ diff --git a/build-fx/map b/build-fx/map index d386a5e..db57e72 100644 --- a/build-fx/map +++ b/build-fx/map @@ -146,7 +146,7 @@ LOAD build-fx/assets/img/stone.png.o LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a 0x0000000000300000 _brom = 0x300000 - 0x0000000000005020 _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x00000000000050a0 _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) .pretext 0x0000000000300200 0x8d0 *(.pretext.entry) @@ -186,7 +186,7 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a *(.dtors .dtors.*) 0x0000000000300ad0 _etors = . -.text 0x0000000000300ad0 0x36c0 +.text 0x0000000000300ad0 0x3740 0x0000000000300ad0 _gint_exch_tlbh_start = . *(.gint.exch_tlbh) .gint.exch_tlbh @@ -196,270 +196,270 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a *(.text .text.*) .text 0x0000000000300b1c 0x40 build-fx/src/tile.o 0x0000000000300b1c draw_tile - .text 0x0000000000300b5c 0x140 build-fx/src/box.o + .text 0x0000000000300b5c 0x1a8 build-fx/src/box.o 0x0000000000300b5c sgn 0x0000000000300b6e box_move - .text 0x0000000000300c9c 0x200 build-fx/src/world.o - 0x0000000000300c9c world_get - 0x0000000000300ce4 display_cell - 0x0000000000300dbc world_get_ctg - 0x0000000000300dfc world_get_real_x0 - 0x0000000000300e0a world_get_real_y0 - 0x0000000000300e18 world_draw - .text 0x0000000000300e9c 0xf0 build-fx/src/mario.o - 0x0000000000300e9c mario_draw - 0x0000000000300ef4 test_sol_le_plus_proche - 0x0000000000300f60 mario_move - .text 0x0000000000300f8c 0x40 build-fx/src/main.o - 0x0000000000300f8c callback - 0x0000000000300f94 system_error - .text.startup 0x0000000000300fcc 0xb0 build-fx/src/main.o - 0x0000000000300fcc main - .text 0x000000000030107c 0xbc build-fx/src/keyboard.o - 0x000000000030107c update_keyboard - .text 0x0000000000301138 0x7c build-fx/src/sprite.o - 0x0000000000301138 hitbox - .text 0x00000000003011b4 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o) - 0x00000000003011b4 dupdate - 0x00000000003011cc dupdate_noint - .text 0x00000000003011d8 0xc8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) - 0x00000000003011d8 dimage - 0x000000000030122c dsubimage - .text 0x00000000003012a0 0x4c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dclear.c.o) - 0x00000000003012a0 dclear - .text 0x00000000003012ec 0x3fc /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o) - 0x0000000000301494 pollevent - 0x00000000003015d8 waitevent - 0x0000000000301624 clearevents - 0x0000000000301644 keydown - 0x0000000000301670 keydown_all - 0x00000000003016ac keydown_any - .text 0x00000000003016e8 0x124 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(iokbd.c.o) - 0x00000000003016f4 iokbd_row - 0x00000000003017dc iokbd_scan - .text 0x000000000030180c 0x1f4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(getkey.c.o) - 0x000000000030180c getkey_opt - 0x00000000003019b8 getkey - 0x00000000003019c4 getkey_repeat - .text 0x0000000000301a00 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) - .text 0x0000000000301a00 0x1c4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) - 0x0000000000301b90 gint_panic - 0x0000000000301ba0 gint_panic_set - 0x0000000000301bac gint_exc_catch - 0x0000000000301bb8 gint_exc_skip - .text 0x0000000000301bc4 0x17c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) - 0x0000000000301c78 gint_install - 0x0000000000301d28 gint_unload - .text 0x0000000000301d40 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o) - .text 0x0000000000301d40 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.s.o) - .text 0x0000000000301d40 0x1f4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(mmu.c.o) - 0x0000000000301d40 tlb_addr - 0x0000000000301d54 tlb_data - 0x0000000000301d68 tlb_mapped_memory - 0x0000000000301e3c utlb_addr - 0x0000000000301e4c utlb_data - 0x0000000000301e5c utlb_mapped_memory - .text 0x0000000000301f34 0x9c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) - 0x0000000000301f34 dsize - .text 0x0000000000301fd0 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dprint.c.o) - 0x0000000000301fd0 dprint - .text 0x0000000000302028 0x56c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) - 0x0000000000302348 timer_setup - 0x00000000003023d8 timer_delay - 0x0000000000302438 timer_start - 0x000000000030246c timer_reload - 0x000000000030248c timer_pause - 0x00000000003024c0 timer_stop - 0x000000000030251c timer_timeout - 0x0000000000302528 timer_address - 0x0000000000302564 timer_clear - .text 0x0000000000302594 0xce4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) - 0x0000000000302f90 kprint_opt - 0x00000000003030d8 kprint - 0x00000000003031b0 kvsprint - 0x00000000003031f8 sprintf - 0x0000000000303220 vsprintf - 0x0000000000303240 snprintf - 0x0000000000303260 vsnprintf - .text 0x0000000000303278 0xdc /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(memory.c.o) - 0x0000000000303278 memcpy - 0x0000000000303332 _memmove - 0x0000000000303336 _memcmp - 0x000000000030333a memset - .text 0x0000000000303354 0x1d8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) - 0x00000000003033ec t6k11_display - 0x00000000003034c0 t6k11_contrast - 0x00000000003034ec t6k11_backlight - .text 0x000000000030352c 0x150 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) - 0x0000000000303670 clock_freq - .text 0x000000000030367c 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o) - .text 0x000000000030367c 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti-asm.s.o) - 0x000000000030367c bopti_asm_mono - 0x00000000003036a2 bopti_asm_mono_alpha - .text 0x00000000003036d4 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) - .text 0x00000000003036d4 0x410 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) - 0x00000000003036d4 bopti_grid - 0x0000000000303848 bopti_render - 0x0000000000303978 bopti_render_clip - 0x0000000000303a8c bopti_render_noclip - .text 0x0000000000303ae4 0x9c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(masks.c.o) - 0x0000000000303ae4 masks - .text 0x0000000000303b80 0x2c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(vbr.s.o) - 0x0000000000303b80 gint_setvbr - .text 0x0000000000303bac 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(syscalls.S.o) - .text 0x0000000000303bac 0x78 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o) - 0x0000000000303bac gint_intlevel - 0x0000000000303c00 gint_inthandler - .text 0x0000000000303c24 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o) - .text 0x0000000000303c24 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o) - .text 0x0000000000303c24 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti-asm.s.o) - .text 0x0000000000303c24 0x78 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_movmem.o) - 0x0000000000303c24 __movstr - 0x0000000000303c24 __movmem - 0x0000000000303c58 __movmemSI64 - 0x0000000000303c58 __movstrSI64 - 0x0000000000303c5c __movstrSI60 - 0x0000000000303c5c __movmemSI60 - 0x0000000000303c60 __movmemSI56 - 0x0000000000303c60 __movstrSI56 - 0x0000000000303c64 __movstrSI52 - 0x0000000000303c64 __movmemSI52 - 0x0000000000303c68 __movstrSI48 - 0x0000000000303c68 __movmemSI48 - 0x0000000000303c6c __movstrSI44 - 0x0000000000303c6c __movmemSI44 - 0x0000000000303c70 __movstrSI40 - 0x0000000000303c70 __movmemSI40 - 0x0000000000303c74 __movstrSI36 - 0x0000000000303c74 __movmemSI36 - 0x0000000000303c78 __movmemSI32 - 0x0000000000303c78 __movstrSI32 - 0x0000000000303c7c __movmemSI28 - 0x0000000000303c7c __movstrSI28 - 0x0000000000303c80 __movstrSI24 - 0x0000000000303c80 __movmemSI24 - 0x0000000000303c84 __movmemSI20 - 0x0000000000303c84 __movstrSI20 - 0x0000000000303c88 __movstrSI16 - 0x0000000000303c88 __movmemSI16 - 0x0000000000303c8c __movmemSI12 - 0x0000000000303c8c __movstrSI12 - 0x0000000000303c90 __movmemSI8 - 0x0000000000303c90 __movstrSI8 - 0x0000000000303c94 __movmemSI4 - 0x0000000000303c94 __movstrSI4 - .text 0x0000000000303c9c 0x1f0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o) - 0x0000000000303c9c __udivdi3 - .text 0x0000000000303e8c 0x234 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_umoddi3.o) - 0x0000000000303e8c __umoddi3 - .text 0x00000000003040c0 0x6c /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivsi3.o) - 0x00000000003040e2 __udivsi3 - *fill* 0x000000000030412c 0x4 - .text 0x0000000000304130 0x60 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000304130 __udiv_qrnnd_16 - .text 0x0000000000304190 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o) + 0x0000000000300c9c box_jump + .text 0x0000000000300d04 0x200 build-fx/src/world.o + 0x0000000000300d04 world_get + 0x0000000000300d4c display_cell + 0x0000000000300e24 world_get_ctg + 0x0000000000300e64 world_get_real_x0 + 0x0000000000300e72 world_get_real_y0 + 0x0000000000300e80 world_draw + .text 0x0000000000300f04 0x10c build-fx/src/mario.o + 0x0000000000300f04 mario_draw + 0x0000000000300f5c test_sol_le_plus_proche + 0x0000000000300fc8 mario_move + .text 0x0000000000301010 0x40 build-fx/src/main.o + 0x0000000000301010 callback + 0x0000000000301018 system_error + .text.startup 0x0000000000301050 0xb0 build-fx/src/main.o + 0x0000000000301050 main + .text 0x0000000000301100 0xbc build-fx/src/keyboard.o + 0x0000000000301100 update_keyboard + .text 0x00000000003011bc 0x7c build-fx/src/sprite.o + 0x00000000003011bc hitbox + .text 0x0000000000301238 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o) + 0x0000000000301238 dupdate + 0x0000000000301250 dupdate_noint + .text 0x000000000030125c 0xc8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) + 0x000000000030125c dimage + 0x00000000003012b0 dsubimage + .text 0x0000000000301324 0x4c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dclear.c.o) + 0x0000000000301324 dclear + .text 0x0000000000301370 0x3fc /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o) + 0x0000000000301518 pollevent + 0x000000000030165c waitevent + 0x00000000003016a8 clearevents + 0x00000000003016c8 keydown + 0x00000000003016f4 keydown_all + 0x0000000000301730 keydown_any + .text 0x000000000030176c 0x124 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(iokbd.c.o) + 0x0000000000301778 iokbd_row + 0x0000000000301860 iokbd_scan + .text 0x0000000000301890 0x1f4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(getkey.c.o) + 0x0000000000301890 getkey_opt + 0x0000000000301a3c getkey + 0x0000000000301a48 getkey_repeat + .text 0x0000000000301a84 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) + .text 0x0000000000301a84 0x1c4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) + 0x0000000000301c14 gint_panic + 0x0000000000301c24 gint_panic_set + 0x0000000000301c30 gint_exc_catch + 0x0000000000301c3c gint_exc_skip + .text 0x0000000000301c48 0x17c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) + 0x0000000000301cfc gint_install + 0x0000000000301dac gint_unload + .text 0x0000000000301dc4 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o) + .text 0x0000000000301dc4 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.s.o) + .text 0x0000000000301dc4 0x1f4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(mmu.c.o) + 0x0000000000301dc4 tlb_addr + 0x0000000000301dd8 tlb_data + 0x0000000000301dec tlb_mapped_memory + 0x0000000000301ec0 utlb_addr + 0x0000000000301ed0 utlb_data + 0x0000000000301ee0 utlb_mapped_memory + .text 0x0000000000301fb8 0x9c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + 0x0000000000301fb8 dsize + .text 0x0000000000302054 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dprint.c.o) + 0x0000000000302054 dprint + .text 0x00000000003020ac 0x56c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + 0x00000000003023cc timer_setup + 0x000000000030245c timer_delay + 0x00000000003024bc timer_start + 0x00000000003024f0 timer_reload + 0x0000000000302510 timer_pause + 0x0000000000302544 timer_stop + 0x00000000003025a0 timer_timeout + 0x00000000003025ac timer_address + 0x00000000003025e8 timer_clear + .text 0x0000000000302618 0xce4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) + 0x0000000000303014 kprint_opt + 0x000000000030315c kprint + 0x0000000000303234 kvsprint + 0x000000000030327c sprintf + 0x00000000003032a4 vsprintf + 0x00000000003032c4 snprintf + 0x00000000003032e4 vsnprintf + .text 0x00000000003032fc 0xdc /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(memory.c.o) + 0x00000000003032fc memcpy + 0x00000000003033b6 _memmove + 0x00000000003033ba _memcmp + 0x00000000003033be memset + .text 0x00000000003033d8 0x1d8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + 0x0000000000303470 t6k11_display + 0x0000000000303544 t6k11_contrast + 0x0000000000303570 t6k11_backlight + .text 0x00000000003035b0 0x150 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + 0x00000000003036f4 clock_freq + .text 0x0000000000303700 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o) + .text 0x0000000000303700 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti-asm.s.o) + 0x0000000000303700 bopti_asm_mono + 0x0000000000303726 bopti_asm_mono_alpha + .text 0x0000000000303758 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + .text 0x0000000000303758 0x410 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) + 0x0000000000303758 bopti_grid + 0x00000000003038cc bopti_render + 0x00000000003039fc bopti_render_clip + 0x0000000000303b10 bopti_render_noclip + .text 0x0000000000303b68 0x9c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(masks.c.o) + 0x0000000000303b68 masks + .text 0x0000000000303c04 0x2c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(vbr.s.o) + 0x0000000000303c04 gint_setvbr + .text 0x0000000000303c30 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(syscalls.S.o) + .text 0x0000000000303c30 0x78 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o) + 0x0000000000303c30 gint_intlevel + 0x0000000000303c84 gint_inthandler + .text 0x0000000000303ca8 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o) + .text 0x0000000000303ca8 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o) + .text 0x0000000000303ca8 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti-asm.s.o) + .text 0x0000000000303ca8 0x78 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_movmem.o) + 0x0000000000303ca8 __movstr + 0x0000000000303ca8 __movmem + 0x0000000000303cdc __movmemSI64 + 0x0000000000303cdc __movstrSI64 + 0x0000000000303ce0 __movstrSI60 + 0x0000000000303ce0 __movmemSI60 + 0x0000000000303ce4 __movmemSI56 + 0x0000000000303ce4 __movstrSI56 + 0x0000000000303ce8 __movstrSI52 + 0x0000000000303ce8 __movmemSI52 + 0x0000000000303cec __movstrSI48 + 0x0000000000303cec __movmemSI48 + 0x0000000000303cf0 __movstrSI44 + 0x0000000000303cf0 __movmemSI44 + 0x0000000000303cf4 __movstrSI40 + 0x0000000000303cf4 __movmemSI40 + 0x0000000000303cf8 __movstrSI36 + 0x0000000000303cf8 __movmemSI36 + 0x0000000000303cfc __movmemSI32 + 0x0000000000303cfc __movstrSI32 + 0x0000000000303d00 __movmemSI28 + 0x0000000000303d00 __movstrSI28 + 0x0000000000303d04 __movstrSI24 + 0x0000000000303d04 __movmemSI24 + 0x0000000000303d08 __movmemSI20 + 0x0000000000303d08 __movstrSI20 + 0x0000000000303d0c __movstrSI16 + 0x0000000000303d0c __movmemSI16 + 0x0000000000303d10 __movmemSI12 + 0x0000000000303d10 __movstrSI12 + 0x0000000000303d14 __movmemSI8 + 0x0000000000303d14 __movstrSI8 + 0x0000000000303d18 __movmemSI4 + 0x0000000000303d18 __movstrSI4 + .text 0x0000000000303d20 0x1f0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o) + 0x0000000000303d20 __udivdi3 + .text 0x0000000000303f10 0x234 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_umoddi3.o) + 0x0000000000303f10 __umoddi3 + .text 0x0000000000304144 0x6c /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivsi3.o) + 0x0000000000304166 __udivsi3 + .text 0x00000000003041b0 0x60 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udiv_qrnnd_16.o) + 0x00000000003041b0 __udiv_qrnnd_16 + .text 0x0000000000304210 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o) *(C P) -.gint.blocks 0x0000000000304190 0x120 +.gint.blocks 0x0000000000304210 0x120 *(.gint.blocks) - .gint.blocks 0x0000000000304190 0x40 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o) - 0x0000000000304190 gint_inth_7305 - 0x00000000003041b0 gint_inth_7705 - .gint.blocks 0x00000000003041d0 0xe0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o) - 0x00000000003041d0 inth_tmu - 0x0000000000304250 inth_etmu2 - 0x0000000000304270 inth_etmu_help - 0x0000000000304290 inth_etmux + .gint.blocks 0x0000000000304210 0x40 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o) + 0x0000000000304210 gint_inth_7305 + 0x0000000000304230 gint_inth_7705 + .gint.blocks 0x0000000000304250 0xe0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o) + 0x0000000000304250 inth_tmu + 0x00000000003042d0 inth_etmu2 + 0x00000000003042f0 inth_etmu_help + 0x0000000000304310 inth_etmux -.gint.drivers 0x00000000003042b0 0x90 - 0x00000000003042b0 _bdrv = . +.gint.drivers 0x0000000000304330 0x90 + 0x0000000000304330 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x00000000003042b0 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) - 0x00000000003042b0 drv_cpg + 0x0000000000304330 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + 0x0000000000304330 drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 0x00000000003042d4 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) - 0x00000000003042d4 drv_tmu + 0x0000000000304354 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + 0x0000000000304354 drv_tmu *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x00000000003042f8 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o) - 0x00000000003042f8 drv_keysc + 0x0000000000304378 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o) + 0x0000000000304378 drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 0x000000000030431c 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) - 0x000000000030431c drv_t6k11 + 0x000000000030439c 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + 0x000000000030439c drv_t6k11 *(.gint.drivers.6) - 0x0000000000304340 _edrv = . + 0x00000000003043c0 _edrv = . -.rodata 0x0000000000304340 0x15b0 +.rodata 0x00000000003043c0 0x15b0 *(.rodata.4) *(.rodata .rodata.*) - .rodata 0x0000000000304340 0x404 build-fx/assets/img/level.png.o - 0x0000000000304340 img_level - 0x0000000000304744 img_level_end - .rodata 0x0000000000304744 0x64 build-fx/assets/img/mario.png.o - 0x0000000000304744 img_mario - 0x00000000003047a8 img_mario_end - .rodata 0x00000000003047a8 0x24 build-fx/assets/img/death.png.o - 0x00000000003047a8 img_death - 0x00000000003047cc img_death_end - .rodata 0x00000000003047cc 0x4c build-fx/assets/img/brick.png.o - 0x00000000003047cc img_brick - 0x0000000000304818 img_brick_end - .rodata 0x0000000000304818 0x404 build-fx/assets/img/main.png.o - 0x0000000000304818 img_main - 0x0000000000304c1c img_main_end - .rodata 0x0000000000304c1c 0xdc build-fx/assets/img/mariosmall.png.o - 0x0000000000304c1c img_mariosmall - 0x0000000000304cf8 img_mariosmall_end - .rodata 0x0000000000304cf8 0x28 build-fx/assets/img/gift.png.o - 0x0000000000304cf8 img_gift - 0x0000000000304d20 img_gift_end - .rodata 0x0000000000304d20 0x404 build-fx/assets/img/error.png.o - 0x0000000000304d20 img_error - 0x0000000000305124 img_error_end - .rodata 0x0000000000305124 0xb8 build-fx/assets/img/tuyau.png.o - 0x0000000000305124 img_tuyau - 0x00000000003051dc img_tuyau_end - .rodata 0x00000000003051dc 0x28 build-fx/assets/img/coin.png.o - 0x00000000003051dc img_coin - 0x0000000000305204 img_coin_end - .rodata 0x0000000000305204 0x4c build-fx/assets/img/stone.png.o - 0x0000000000305204 img_stone - 0x0000000000305250 img_stone_end - .rodata 0x0000000000305250 0x8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) + .rodata 0x00000000003043c0 0x404 build-fx/assets/img/level.png.o + 0x00000000003043c0 img_level + 0x00000000003047c4 img_level_end + .rodata 0x00000000003047c4 0x64 build-fx/assets/img/mario.png.o + 0x00000000003047c4 img_mario + 0x0000000000304828 img_mario_end + .rodata 0x0000000000304828 0x24 build-fx/assets/img/death.png.o + 0x0000000000304828 img_death + 0x000000000030484c img_death_end + .rodata 0x000000000030484c 0x4c build-fx/assets/img/brick.png.o + 0x000000000030484c img_brick + 0x0000000000304898 img_brick_end + .rodata 0x0000000000304898 0x404 build-fx/assets/img/main.png.o + 0x0000000000304898 img_main + 0x0000000000304c9c img_main_end + .rodata 0x0000000000304c9c 0xdc build-fx/assets/img/mariosmall.png.o + 0x0000000000304c9c img_mariosmall + 0x0000000000304d78 img_mariosmall_end + .rodata 0x0000000000304d78 0x28 build-fx/assets/img/gift.png.o + 0x0000000000304d78 img_gift + 0x0000000000304da0 img_gift_end + .rodata 0x0000000000304da0 0x404 build-fx/assets/img/error.png.o + 0x0000000000304da0 img_error + 0x00000000003051a4 img_error_end + .rodata 0x00000000003051a4 0xb8 build-fx/assets/img/tuyau.png.o + 0x00000000003051a4 img_tuyau + 0x000000000030525c img_tuyau_end + .rodata 0x000000000030525c 0x28 build-fx/assets/img/coin.png.o + 0x000000000030525c img_coin + 0x0000000000305284 img_coin_end + .rodata 0x0000000000305284 0x4c build-fx/assets/img/stone.png.o + 0x0000000000305284 img_stone + 0x00000000003052d0 img_stone_end + .rodata 0x00000000003052d0 0x8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) .rodata.str1.4 - 0x0000000000305258 0x6 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o) - *fill* 0x000000000030525e 0x2 + 0x00000000003052d8 0x6 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o) + *fill* 0x00000000003052de 0x2 .rodata.str1.4 - 0x0000000000305260 0x11a /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) + 0x00000000003052e0 0x11a /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) 0x11e (size before relaxing) - *fill* 0x000000000030537a 0x2 - .rodata 0x000000000030537c 0x18 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + *fill* 0x00000000003053fa 0x2 + .rodata 0x00000000003053fc 0x18 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) .rodata.str1.4 - 0x0000000000305394 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + 0x0000000000305414 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) .rodata.str1.4 - 0x0000000000305398 0x31 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) - *fill* 0x00000000003053c9 0x3 + 0x0000000000305418 0x31 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) + *fill* 0x0000000000305449 0x3 .rodata.str1.4 - 0x00000000003053cc 0x6 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) - *fill* 0x00000000003053d2 0x2 + 0x000000000030544c 0x6 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + *fill* 0x0000000000305452 0x2 .rodata.str1.4 - 0x00000000003053d4 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) - .rodata 0x00000000003053d8 0x10 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) - .rodata 0x00000000003053e8 0x408 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(font5x7.png.o) - 0x00000000003053e8 gint_font5x7 - 0x00000000003057f0 gint_font5x7_end - .rodata 0x00000000003057f0 0x100 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o) - 0x00000000003057f0 __clz_tab + 0x0000000000305454 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + .rodata 0x0000000000305458 0x10 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) + .rodata 0x0000000000305468 0x408 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(font5x7.png.o) + 0x0000000000305468 gint_font5x7 + 0x0000000000305870 gint_font5x7_end + .rodata 0x0000000000305870 0x100 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o) + 0x0000000000305870 __clz_tab -.rela.dyn 0x00000000003058f0 0x0 +.rela.dyn 0x0000000000305970 0x0 .rela.pretext.entry - 0x00000000003058f0 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) - .rela.text 0x00000000003058f0 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) + 0x0000000000305970 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) + .rela.text 0x0000000000305970 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) 0x0000000008100000 . = ORIGIN (ram) .bss 0x0000000008100000 0x570 @@ -516,8 +516,8 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a *fill* 0x0000000008100564 0xc 0x0000000000000570 _sbss = SIZEOF (.bss) -.data 0x0000000008100570 0x290 load address 0x00000000003058f0 - 0x00000000003058f0 _ldata = LOADADDR (.data) +.data 0x0000000008100570 0x290 load address 0x0000000000305970 + 0x0000000000305970 _ldata = LOADADDR (.data) 0x0000000008100570 _rdata = . *(.data .data.*) .data 0x0000000008100570 0x50 build-fx/src/tile.o @@ -577,28 +577,28 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a 0x0000000008100800 . = ALIGN (0x10) *fill* 0x00000000081007f4 0xc -.data.4 0x0000000008100800 0x0 load address 0x0000000000305b80 +.data.4 0x0000000008100800 0x0 load address 0x0000000000305c00 *(.data.4) 0x0000000008100800 . = ALIGN (0x10) 0x0000000000000290 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) 0x00000000e5200000 . = ORIGIN (ilram) -.ilram 0x00000000e5200000 0x0 load address 0x0000000000305b80 - 0x0000000000305b80 _lilram = LOADADDR (.ilram) +.ilram 0x00000000e5200000 0x0 load address 0x0000000000305c00 + 0x0000000000305c00 _lilram = LOADADDR (.ilram) 0x00000000e5200000 _rilram = . *(.ilram) 0x00000000e5200000 . = ALIGN (0x10) 0x00000000e5007000 . = ORIGIN (xram) -.xram 0x00000000e5007000 0x0 load address 0x0000000000305b80 - 0x0000000000305b80 _lxram = LOADADDR (.xram) +.xram 0x00000000e5007000 0x0 load address 0x0000000000305c00 + 0x0000000000305c00 _lxram = LOADADDR (.xram) 0x00000000e5007000 _rxram = . *(.xram) 0x00000000e5007000 . = ALIGN (0x10) 0x00000000e5017000 . = ORIGIN (yram) -.yram 0x00000000e5017000 0x0 load address 0x0000000000305b80 - 0x0000000000305b80 _lyram = LOADADDR (.yram) +.yram 0x00000000e5017000 0x0 load address 0x0000000000305c00 + 0x0000000000305c00 _lyram = LOADADDR (.yram) 0x00000000e5017000 _ryram = . *(.yram) 0x00000000e5017000 . = ALIGN (0x10) @@ -608,8 +608,8 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a 0x000000008800df00 _gint_vbr = 0x8800df00 0x000000008800f400 . = ORIGIN (rram) -.gint.data 0x000000008800f400 0x140 load address 0x0000000000305b80 - 0x0000000000305b80 _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008800f400 0x140 load address 0x0000000000305c00 + 0x0000000000305c00 _lgdata = LOADADDR (.gint.data) 0x000000008800f400 _rgdata = . *(.gint.data .gint.data.*) .gint.data 0x000000008800f400 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o) @@ -630,7 +630,7 @@ LOAD /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a 0x000000008800f540 . = ALIGN (0x10) 0x0000000000000140 _sgdata = SIZEOF (.gint.data) -.gint.bss 0x000000008800f540 0x290 load address 0x0000000000305cc0 +.gint.bss 0x000000008800f540 0x290 load address 0x0000000000305d40 *(.gint.bss .gint.bss.*) .gint.bss 0x000000008800f540 0x180 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(keysc.c.o) .gint.bss 0x000000008800f6c0 0x1c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) diff --git a/build-fx/src/MARIOBRS.bin b/build-fx/src/MARIOBRS.bin index 5a6aba5..25200f4 100755 Binary files a/build-fx/src/MARIOBRS.bin and b/build-fx/src/MARIOBRS.bin differ diff --git a/build-fx/src/MARIOBRS.elf b/build-fx/src/MARIOBRS.elf index bd287b1..fe96dfc 100755 Binary files a/build-fx/src/MARIOBRS.elf and b/build-fx/src/MARIOBRS.elf differ diff --git a/build-fx/src/box.o b/build-fx/src/box.o index ecec763..c12cbbc 100644 Binary files a/build-fx/src/box.o and b/build-fx/src/box.o differ diff --git a/build-fx/src/main.o b/build-fx/src/main.o index 92ece74..d67d6dc 100644 Binary files a/build-fx/src/main.o and b/build-fx/src/main.o differ diff --git a/build-fx/src/mario.o b/build-fx/src/mario.o index e862c91..e174de3 100644 Binary files a/build-fx/src/mario.o and b/build-fx/src/mario.o differ diff --git a/src/box.c b/src/box.c index ad2e9a3..0e2765f 100644 --- a/src/box.c +++ b/src/box.c @@ -88,32 +88,17 @@ int box_move(box_t * b) int box_jump(box_t * b, int height) { - int sgn_vx=-sgn(b->gravity)*sgn(height); - if (sgn_vx) + int sol=0; + int sgn_vy=-1*sgn(height); + if (sgn_vy) { - int i=sgn_vx; - int previous_tested_y=-545; - int type=CTG_EMPTY; - for (int j=0; jh; j++) - { - int t=(b->y+j)/8; - if (t!=previous_tested_y) - { - previous_tested_y=t; - int typetemp; - if (sgn_vx>0) - typetemp=world_get_ctg(b->x+b->w+i*sgn_vx,b->y+j); - else - typetemp=world_get_ctg(b->x+i*sgn_vx,b->y+j); - if (typetemp==CTG_DEATH || typetemp==CTG_SOIL) - { - b->x+=(i-1)*sgn_vx; - b->vx=0; - return; - } - - } - } - b->vx=height; + for (int j=0; jh; j++) + { + int typetemp=world_get_ctg(b->x+j ,b->y+sgn_vy); + if (typetemp==CTG_DEATH || typetemp==CTG_SOIL) + sol=1; + } + if (sol) + b->vy=height; } } \ No newline at end of file diff --git a/src/main.c b/src/main.c index 6607445..f49c7b2 100644 --- a/src/main.c +++ b/src/main.c @@ -29,7 +29,7 @@ int main(void) gint_panic_set(system_error); volatile int has_ticked = 1; - timer_setup(0, timer_delay(0, 3*10000), timer_Po_4, callback, &has_ticked); + timer_setup(0, timer_delay(0, 20000), timer_Po_16, callback, &has_ticked); timer_start(0); while(global_quit==0) diff --git a/src/mario.c b/src/mario.c index 84270a4..db7f919 100644 --- a/src/mario.c +++ b/src/mario.c @@ -21,7 +21,7 @@ pnj mario= void mario_draw() { if (mario.size==M_SMALL) - draw_tile(mario.p.x-world_get_real_x0(mario.p.x), mario.p.y-world_get_real_y0(mario.p.y)+2, &mario_small, mario.type1, mario.type2); + draw_tile(mario.p.x-world_get_real_x0(mario.p.x), mario.p.y-world_get_real_y0(mario.p.y), &mario_small, mario.type1, mario.type2); } int test_sol_le_plus_proche(int x, int y) @@ -51,26 +51,11 @@ void mario_move() { update_keyboard(); int jump = keys[MK_JUMP1] || keys[MK_JUMP2]; - mario.p.vx = keys[MK_RIGHT] - keys[MK_LEFT]; -/* - if (hitbox(mario.p.x, mario.p.y-1, 8, 8)==CTG_SOIL) - { - if (jump) - { - if (mario.running==1) - mario.vel_y=6; - else - mario.vel_y=5; - } - else - { - mario.vel_y=0; - } - } - else if (mario.vel_y>=-1) - mario.vel_y--; -*/ + if (jump) + box_jump(&mario.p, 12); - box_move(&mario.p); + mario.p.vx = keys[MK_RIGHT] - keys[MK_LEFT]; + + box_move(&mario.p); // <-> + gravity }