Basic jump system with buffer

This commit is contained in:
KikooDX 2020-02-12 10:47:12 +01:00
parent 0c574a7e1d
commit 10eb356b1d
16 changed files with 404 additions and 249 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

View File

@ -72,10 +72,24 @@ Archive member included to satisfy reference by file (symbol)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) (___udivdi3)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) (___umoddi3)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
build-cg/src/main.c.o (___adddf3)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
build-cg/src/main.c.o (___gtdf2)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
build-cg/src/main.c.o (___fixdfsi)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o) (___thenan_df)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) (___udiv_qrnnd_16)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) (___clz_tab)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o) (___pack_d)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o) (___unpack_d)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o) (___fpcmp_parts_d)
Discarded input sections
@ -128,6 +142,38 @@ Discarded input sections
.debug_str 0x0000000000000000 0x5a6 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.eh_frame 0x0000000000000000 0x94 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.debug_info 0x0000000000000000 0x740 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.debug_abbrev 0x0000000000000000 0x244 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.debug_loc 0x0000000000000000 0x6aa /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.debug_aranges
0x0000000000000000 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.debug_ranges 0x0000000000000000 0x60 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.debug_line 0x0000000000000000 0x400 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.debug_str 0x0000000000000000 0x613 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.debug_info 0x0000000000000000 0x4f4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
.debug_abbrev 0x0000000000000000 0x1b7 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
.debug_loc 0x0000000000000000 0x50 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
.debug_aranges
0x0000000000000000 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
.debug_line 0x0000000000000000 0x11a /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
.debug_str 0x0000000000000000 0x5a2 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
.comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
.debug_info 0x0000000000000000 0x4ce /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
.debug_abbrev 0x0000000000000000 0x1bb /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
.debug_loc 0x0000000000000000 0x49 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
.debug_aranges
0x0000000000000000 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
.debug_line 0x0000000000000000 0x152 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
.debug_str 0x0000000000000000 0x59a /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
.comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
.debug_info 0x0000000000000000 0x391 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
.debug_abbrev 0x0000000000000000 0x11c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
.debug_aranges
0x0000000000000000 0x18 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
.debug_line 0x0000000000000000 0xab /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
.debug_str 0x0000000000000000 0x530 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
.comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
.debug_info 0x0000000000000000 0x371 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
.debug_abbrev 0x0000000000000000 0xcf /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
.debug_aranges
@ -135,6 +181,30 @@ Discarded input sections
.debug_line 0x0000000000000000 0xe2 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
.debug_str 0x0000000000000000 0x523 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
.comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
.debug_info 0x0000000000000000 0x4d4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.debug_abbrev 0x0000000000000000 0x1cb /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.debug_loc 0x0000000000000000 0x31c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.debug_aranges
0x0000000000000000 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.debug_ranges 0x0000000000000000 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.debug_line 0x0000000000000000 0x282 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.debug_str 0x0000000000000000 0x58e /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.debug_info 0x0000000000000000 0x45d /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
.debug_abbrev 0x0000000000000000 0x18b /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
.debug_loc 0x0000000000000000 0xb5 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
.debug_aranges
0x0000000000000000 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
.debug_line 0x0000000000000000 0x1a8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
.debug_str 0x0000000000000000 0x570 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
.comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
.debug_info 0x0000000000000000 0x425 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)
.debug_abbrev 0x0000000000000000 0x173 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)
.debug_aranges
0x0000000000000000 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)
.debug_line 0x0000000000000000 0x1f6 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)
.debug_str 0x0000000000000000 0x553 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)
.comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)
Memory Configuration
@ -160,9 +230,9 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a
LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a
LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a
0x0000000000300000 _brom = 0x300000
0x0000000000004bb4 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
0x0000000000005194 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
.text 0x0000000000300000 0x3910
.text 0x0000000000300000 0x4214
*(.pretext.entry)
.pretext.entry
0x0000000000300000 0x1a4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
@ -204,237 +274,256 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a
0x00000000003007ac _draw_level
.text 0x0000000000300830 0x20 build-cg/src/levels.c.o
0x0000000000300830 _set_level
.text 0x0000000000300850 0x34 build-cg/src/main.c.o
.text 0x0000000000300850 0x4c build-cg/src/main.c.o
0x0000000000300850 _jump_test
.text.startup 0x0000000000300884 0xe0 build-cg/src/main.c.o
0x0000000000300884 _main
.text 0x0000000000300964 0xdc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o)
0x0000000000300964 _memcpy
0x0000000000300a1e __memmove
0x0000000000300a22 __memcmp
0x0000000000300a26 _memset
.text 0x0000000000300a40 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.text 0x0000000000300a40 0x104 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o)
0x0000000000300aac _gint_install
0x0000000000300b2c _gint_unload
.text 0x0000000000300b44 0xf8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o)
0x0000000000300b44 _utlb_addr
0x0000000000300b54 _utlb_data
0x0000000000300b64 _utlb_mapped_memory
.text 0x0000000000300c3c 0x2dc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
0x0000000000300ee4 _gint_panic
0x0000000000300ef4 _gint_panic_set
0x0000000000300f00 _gint_exc_catch
0x0000000000300f0c _gint_exc_skip
.text 0x0000000000300f18 0x5c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o)
0x0000000000300f18 _gint_intlevel
0x0000000000300f50 _gint_inthandler
.text 0x0000000000300f74 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o)
.text 0x0000000000300f74 0x2c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o)
0x0000000000300f74 _gint_setvbr
.text 0x0000000000300fa0 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o)
.text 0x0000000000300fa0 0x9c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
0x0000000000300fa0 _dsize
.text 0x000000000030103c 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o)
0x000000000030103c _dprint
.text 0x0000000000301094 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o)
0x0000000000301094 _dimage
0x00000000003010bc _dsubimage
.text 0x00000000003010d4 0x1c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o)
0x00000000003010d4 _dclear
.text 0x00000000003010f0 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o)
0x00000000003010f0 _dvram
.text 0x00000000003010f4 0xc0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o)
0x00000000003010f4 _drect
.text 0x00000000003011b4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.text 0x00000000003011b4 0x30 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o)
0x00000000003011b4 _dupdate
0x00000000003011cc _dupdate_noint
.text 0x00000000003011e4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o)
.text 0x00000000003011e4 0x1e4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o)
0x00000000003011e4 _bopti_render
0x00000000003012d4 _bopti_render_clip
0x000000000030139c _bopti_render_noclip
.text 0x00000000003013c8 0x3ac /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
0x0000000000301520 _pollevent
0x0000000000301664 _waitevent
0x00000000003016b0 _clearevents
0x00000000003016d0 _keydown
0x00000000003016fc _keydown_all
0x0000000000301738 _keydown_any
.text 0x0000000000301774 0x4cc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
0x00000000003019fc _timer_setup
0x0000000000301a8c _timer_delay
0x0000000000301aec _timer_start
0x0000000000301b20 _timer_reload
0x0000000000301b40 _timer_pause
0x0000000000301b74 _timer_stop
0x0000000000301bd0 _timer_timeout
0x0000000000301bdc _timer_address
0x0000000000301c10 _timer_clear
.text 0x0000000000301c40 0x4c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o)
0x0000000000301c40 _dma_memset
.text 0x0000000000301c8c 0x2d4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
0x0000000000301cdc _r61524_win_get
0x0000000000301d94 _r61524_win_set
0x0000000000301e54 _r61524_display
.text 0x0000000000301f60 0x7c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o)
0x0000000000301f60 _strlen
0x0000000000301f70 _strncpy
0x0000000000301f88 _strcat
0x0000000000301fcc _strcmp
.text 0x0000000000301fdc 0xce4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
0x00000000003029d8 _kprint_opt
0x0000000000302b20 _kprint
0x0000000000302bf8 _kvsprint
0x0000000000302c40 _sprintf
0x0000000000302c68 _vsprintf
0x0000000000302c88 _snprintf
0x0000000000302ca8 _vsnprintf
.text 0x0000000000302cc0 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o)
.text 0x0000000000302cc0 0x100 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o)
0x0000000000302cc0 _bopti_r5g6b5
0x0000000000302d10 _bopti_r5g6b5a
0x0000000000302d40 _bopti_p8
0x0000000000302d70 _bopti_p4
.text 0x0000000000302dc0 0xc8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
0x0000000000302e7c _clock_freq
.text 0x0000000000302e88 0x1d0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o)
0x0000000000302e88 _getkey_opt
0x0000000000303010 _getkey
0x000000000030301c _getkey_repeat
.text 0x0000000000303058 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
.text 0x0000000000303058 0x3f8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x000000000030332c _dma_transfer
0x000000000030336c _dma_transfer_wait
0x00000000003033e4 _dma_transfer_noint
.text 0x0000000000303450 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
.text 0x0000000000303450 0x78 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
0x0000000000303450 ___movstr
0x0000000000303450 ___movmem
0x0000000000303484 ___movmemSI64
0x0000000000303484 ___movstrSI64
0x0000000000303488 ___movstrSI60
0x0000000000303488 ___movmemSI60
0x000000000030348c ___movmemSI56
0x000000000030348c ___movstrSI56
0x0000000000303490 ___movstrSI52
0x0000000000303490 ___movmemSI52
0x0000000000303494 ___movstrSI48
0x0000000000303494 ___movmemSI48
0x0000000000303498 ___movstrSI44
0x0000000000303498 ___movmemSI44
0x000000000030349c ___movstrSI40
0x000000000030349c ___movmemSI40
0x00000000003034a0 ___movstrSI36
0x00000000003034a0 ___movmemSI36
0x00000000003034a4 ___movmemSI32
0x00000000003034a4 ___movstrSI32
0x00000000003034a8 ___movmemSI28
0x00000000003034a8 ___movstrSI28
0x00000000003034ac ___movstrSI24
0x00000000003034ac ___movmemSI24
0x00000000003034b0 ___movmemSI20
0x00000000003034b0 ___movstrSI20
0x00000000003034b4 ___movstrSI16
0x00000000003034b4 ___movmemSI16
0x00000000003034b8 ___movmemSI12
0x00000000003034b8 ___movstrSI12
0x00000000003034bc ___movmemSI8
0x00000000003034bc ___movstrSI8
0x00000000003034c0 ___movmemSI4
0x00000000003034c0 ___movstrSI4
.text 0x00000000003034c8 0x1e0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
0x00000000003034c8 ___udivdi3
.text 0x00000000003036a8 0x208 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
0x00000000003036a8 ___umoddi3
.text 0x00000000003038b0 0x60 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
0x00000000003038b0 ___udiv_qrnnd_16
.text 0x0000000000303910 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
0x0000000000300890 _sgn
.text.startup 0x000000000030089c 0x1bc build-cg/src/main.c.o
0x000000000030089c _main
.text 0x0000000000300a58 0xdc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o)
0x0000000000300a58 _memcpy
0x0000000000300b12 __memmove
0x0000000000300b16 __memcmp
0x0000000000300b1a _memset
.text 0x0000000000300b34 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.text 0x0000000000300b34 0x104 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o)
0x0000000000300ba0 _gint_install
0x0000000000300c20 _gint_unload
.text 0x0000000000300c38 0xf8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o)
0x0000000000300c38 _utlb_addr
0x0000000000300c48 _utlb_data
0x0000000000300c58 _utlb_mapped_memory
.text 0x0000000000300d30 0x2dc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
0x0000000000300fd8 _gint_panic
0x0000000000300fe8 _gint_panic_set
0x0000000000300ff4 _gint_exc_catch
0x0000000000301000 _gint_exc_skip
.text 0x000000000030100c 0x5c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o)
0x000000000030100c _gint_intlevel
0x0000000000301044 _gint_inthandler
.text 0x0000000000301068 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o)
.text 0x0000000000301068 0x2c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o)
0x0000000000301068 _gint_setvbr
.text 0x0000000000301094 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o)
.text 0x0000000000301094 0x9c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
0x0000000000301094 _dsize
.text 0x0000000000301130 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o)
0x0000000000301130 _dprint
.text 0x0000000000301188 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o)
0x0000000000301188 _dimage
0x00000000003011b0 _dsubimage
.text 0x00000000003011c8 0x1c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o)
0x00000000003011c8 _dclear
.text 0x00000000003011e4 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o)
0x00000000003011e4 _dvram
.text 0x00000000003011e8 0xc0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o)
0x00000000003011e8 _drect
.text 0x00000000003012a8 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.text 0x00000000003012a8 0x30 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o)
0x00000000003012a8 _dupdate
0x00000000003012c0 _dupdate_noint
.text 0x00000000003012d8 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o)
.text 0x00000000003012d8 0x1e4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o)
0x00000000003012d8 _bopti_render
0x00000000003013c8 _bopti_render_clip
0x0000000000301490 _bopti_render_noclip
.text 0x00000000003014bc 0x3ac /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
0x0000000000301614 _pollevent
0x0000000000301758 _waitevent
0x00000000003017a4 _clearevents
0x00000000003017c4 _keydown
0x00000000003017f0 _keydown_all
0x000000000030182c _keydown_any
.text 0x0000000000301868 0x4cc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
0x0000000000301af0 _timer_setup
0x0000000000301b80 _timer_delay
0x0000000000301be0 _timer_start
0x0000000000301c14 _timer_reload
0x0000000000301c34 _timer_pause
0x0000000000301c68 _timer_stop
0x0000000000301cc4 _timer_timeout
0x0000000000301cd0 _timer_address
0x0000000000301d04 _timer_clear
.text 0x0000000000301d34 0x4c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o)
0x0000000000301d34 _dma_memset
.text 0x0000000000301d80 0x2d4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
0x0000000000301dd0 _r61524_win_get
0x0000000000301e88 _r61524_win_set
0x0000000000301f48 _r61524_display
.text 0x0000000000302054 0x7c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o)
0x0000000000302054 _strlen
0x0000000000302064 _strncpy
0x000000000030207c _strcat
0x00000000003020c0 _strcmp
.text 0x00000000003020d0 0xce4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
0x0000000000302acc _kprint_opt
0x0000000000302c14 _kprint
0x0000000000302cec _kvsprint
0x0000000000302d34 _sprintf
0x0000000000302d5c _vsprintf
0x0000000000302d7c _snprintf
0x0000000000302d9c _vsnprintf
.text 0x0000000000302db4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o)
*fill* 0x0000000000302db4 0xc
.text 0x0000000000302dc0 0x100 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o)
0x0000000000302dc0 _bopti_r5g6b5
0x0000000000302e10 _bopti_r5g6b5a
0x0000000000302e40 _bopti_p8
0x0000000000302e70 _bopti_p4
.text 0x0000000000302ec0 0xc8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
0x0000000000302f7c _clock_freq
.text 0x0000000000302f88 0x1d0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o)
0x0000000000302f88 _getkey_opt
0x0000000000303110 _getkey
0x000000000030311c _getkey_repeat
.text 0x0000000000303158 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
.text 0x0000000000303158 0x3f8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x000000000030342c _dma_transfer
0x000000000030346c _dma_transfer_wait
0x00000000003034e4 _dma_transfer_noint
.text 0x0000000000303550 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
.text 0x0000000000303550 0x78 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
0x0000000000303550 ___movstr
0x0000000000303550 ___movmem
0x0000000000303584 ___movmemSI64
0x0000000000303584 ___movstrSI64
0x0000000000303588 ___movstrSI60
0x0000000000303588 ___movmemSI60
0x000000000030358c ___movmemSI56
0x000000000030358c ___movstrSI56
0x0000000000303590 ___movstrSI52
0x0000000000303590 ___movmemSI52
0x0000000000303594 ___movstrSI48
0x0000000000303594 ___movmemSI48
0x0000000000303598 ___movstrSI44
0x0000000000303598 ___movmemSI44
0x000000000030359c ___movstrSI40
0x000000000030359c ___movmemSI40
0x00000000003035a0 ___movstrSI36
0x00000000003035a0 ___movmemSI36
0x00000000003035a4 ___movmemSI32
0x00000000003035a4 ___movstrSI32
0x00000000003035a8 ___movmemSI28
0x00000000003035a8 ___movstrSI28
0x00000000003035ac ___movstrSI24
0x00000000003035ac ___movmemSI24
0x00000000003035b0 ___movmemSI20
0x00000000003035b0 ___movstrSI20
0x00000000003035b4 ___movstrSI16
0x00000000003035b4 ___movmemSI16
0x00000000003035b8 ___movmemSI12
0x00000000003035b8 ___movstrSI12
0x00000000003035bc ___movmemSI8
0x00000000003035bc ___movstrSI8
0x00000000003035c0 ___movmemSI4
0x00000000003035c0 ___movstrSI4
.text 0x00000000003035c8 0x1e0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
0x00000000003035c8 ___udivdi3
.text 0x00000000003037a8 0x208 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
0x00000000003037a8 ___umoddi3
.text 0x00000000003039b0 0x348 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
0x0000000000303c54 ___adddf3
0x0000000000303ca4 ___subdf3
.text 0x0000000000303cf8 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
0x0000000000303cf8 ___gtdf2
.text 0x0000000000303d50 0x8c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
0x0000000000303d50 ___fixdfsi
.text 0x0000000000303ddc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
*fill* 0x0000000000303ddc 0x4
.text 0x0000000000303de0 0x60 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
0x0000000000303de0 ___udiv_qrnnd_16
.text 0x0000000000303e40 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
.text 0x0000000000303e40 0x240 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
0x0000000000303e40 ___pack_d
.text 0x0000000000304080 0xcc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
0x0000000000304080 ___unpack_d
.text 0x000000000030414c 0xc8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)
0x000000000030414c ___fpcmp_parts_d
.gint.blocks 0x0000000000303910 0x140
.gint.blocks 0x0000000000304220 0x140
*(.gint.blocks)
.gint.blocks 0x0000000000303910 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o)
0x0000000000303910 _gint_inth_7305
.gint.blocks 0x0000000000303930 0xe0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
0x0000000000303930 _inth_tmu
0x00000000003039b0 _inth_etmu2
0x00000000003039d0 _inth_etmu_help
0x00000000003039f0 _inth_etmux
.gint.blocks 0x0000000000303a10 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
0x0000000000303a10 _inth_dma_te
0x0000000000303a30 _inth_dma_ae
.gint.blocks 0x0000000000304220 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o)
0x0000000000304220 _gint_inth_7305
.gint.blocks 0x0000000000304240 0xe0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
0x0000000000304240 _inth_tmu
0x00000000003042c0 _inth_etmu2
0x00000000003042e0 _inth_etmu_help
0x0000000000304300 _inth_etmux
.gint.blocks 0x0000000000304320 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
0x0000000000304320 _inth_dma_te
0x0000000000304340 _inth_dma_ae
.gint.drivers 0x0000000000303a50 0xb4
0x0000000000303a50 _bdrv = .
.gint.drivers 0x0000000000304360 0xb4
0x0000000000304360 _bdrv = .
*(.gint.drivers.0)
*(.gint.drivers.1)
.gint.drivers.1
0x0000000000303a50 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
0x0000000000303a50 _drv_cpg
0x0000000000304360 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
0x0000000000304360 _drv_cpg
*(.gint.drivers.2)
.gint.drivers.2
0x0000000000303a74 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
0x0000000000303a74 _drv_tmu
0x0000000000304384 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
0x0000000000304384 _drv_tmu
.gint.drivers.2
0x0000000000303a98 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x0000000000303a98 _drv_dma0
0x00000000003043a8 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x00000000003043a8 _drv_dma0
*(.gint.drivers.3)
*(.gint.drivers.4)
.gint.drivers.4
0x0000000000303abc 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
0x0000000000303abc _drv_keysc
0x00000000003043cc 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
0x00000000003043cc _drv_keysc
*(.gint.drivers.5)
.gint.drivers.5
0x0000000000303ae0 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
0x0000000000303ae0 _drv_r61524
0x00000000003043f0 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
0x00000000003043f0 _drv_r61524
*(.gint.drivers.6)
0x0000000000303b04 _edrv = .
0x0000000000304414 _edrv = .
.rodata 0x0000000000303b04 0x10b0
.rodata 0x0000000000304414 0xd8c
*(.rodata.4)
*(.rodata .rodata.*)
.rodata.str1.4
0x0000000000303b04 0x15f build-cg/src/levels.c.o
*fill* 0x0000000000303c63 0x1
.rodata 0x0000000000303c64 0x208 build-cg/assets/img/ground.png.o
0x0000000000303c64 _img_ground
0x0000000000303e6c _img_ground_end
.rodata 0x0000000000303e6c 0x488 build-cg/assets/img/player.png.o
0x0000000000303e6c _img_player
0x00000000003042f4 _img_player_end
0x0000000000304414 0x187 build-cg/src/levels.c.o
*fill* 0x000000000030459b 0x1
.rodata 0x000000000030459c 0x208 build-cg/assets/img/ground.png.o
0x000000000030459c _img_ground
0x00000000003047a4 _img_ground_end
.rodata 0x00000000003047a4 0x128 build-cg/assets/img/player.png.o
0x00000000003047a4 _img_player
0x00000000003048cc _img_player_end
.rodata.str1.4
0x00000000003042f4 0x288 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
0x00000000003048cc 0x288 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
0x28c (size before relaxing)
.rodata 0x000000000030457c 0x18 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.rodata 0x0000000000304b54 0x18 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.rodata.str1.4
0x0000000000304594 0x6 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
*fill* 0x000000000030459a 0x2
0x0000000000304b6c 0x6 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
*fill* 0x0000000000304b72 0x2
.rodata.str1.4
0x000000000030459c 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
.rodata 0x00000000003045a0 0x49c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(font8x9.png.o)
0x00000000003045a0 _gint_font8x9
0x0000000000304a3c _gint_font8x9_end
0x0000000000304b74 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
.rodata 0x0000000000304b78 0x49c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(font8x9.png.o)
0x0000000000304b78 _gint_font8x9
0x0000000000305014 _gint_font8x9_end
.rodata.str1.4
0x0000000000304a3c 0x7 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
*fill* 0x0000000000304a43 0x1
0x0000000000305014 0x7 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
*fill* 0x000000000030501b 0x1
.rodata.str1.4
0x0000000000304a44 0x31 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
*fill* 0x0000000000304a75 0x3
0x000000000030501c 0x31 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
*fill* 0x000000000030504d 0x3
.rodata.str1.4
0x0000000000304a78 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
.rodata 0x0000000000304a7c 0x30 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x0000000000305050 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
.rodata 0x0000000000305054 0x30 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
.rodata.str1.4
0x0000000000304aac 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x0000000000305084 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x5 (size before relaxing)
.rodata 0x0000000000304ab4 0x100 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
0x0000000000304ab4 ___clz_tab
.rodata 0x000000000030508c 0x14 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
0x000000000030508c ___thenan_df
.rodata 0x00000000003050a0 0x100 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
0x00000000003050a0 ___clz_tab
.rela.dyn 0x0000000000304bb4 0x0
.rela.dyn 0x00000000003051a0 0x0
.rela.pretext.entry
0x0000000000304bb4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.rela.text 0x0000000000304bb4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.rela.pretext 0x0000000000304bb4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
0x00000000003051a0 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.rela.text 0x00000000003051a0 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.rela.pretext 0x00000000003051a0 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
0x0000000008102000 . = ORIGIN (ram)
.bss 0x0000000008102000 0x150
@ -479,14 +568,21 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)
0x0000000008102150 . = ALIGN (0x10)
*fill* 0x0000000008102144 0xc
0x0000000000000150 _sbss = SIZEOF (.bss)
.data 0x0000000008102150 0x80 load address 0x0000000000304bb4
0x0000000000304bb4 _ldata = LOADADDR (.data)
.data 0x0000000008102150 0x80 load address 0x00000000003051a0
0x00000000003051a0 _ldata = LOADADDR (.data)
0x0000000008102150 _rdata = .
*(.data .data.*)
.data 0x0000000008102150 0x0 build-cg/src/collide.c.o
@ -532,34 +628,41 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)
0x00000000081021d0 . = ALIGN (0x10)
*fill* 0x00000000081021cc 0x4
.data.4 0x00000000081021d0 0x0 load address 0x0000000000304c34
.data.4 0x00000000081021d0 0x0 load address 0x0000000000305220
*(.data.4)
0x00000000081021d0 . = ALIGN (0x10)
0x0000000000000080 _sdata = (SIZEOF (.data) + SIZEOF (.data.4))
0x00000000e5200000 . = ORIGIN (ilram)
.ilram 0x00000000e5200000 0x20 load address 0x0000000000304c34
0x0000000000304c34 _lilram = LOADADDR (.ilram)
.ilram 0x00000000e5200000 0x20 load address 0x0000000000305220
0x0000000000305220 _lilram = LOADADDR (.ilram)
0x00000000e5200000 _rilram = .
*(.ilram)
.ilram 0x00000000e5200000 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o)
0x00000000e5200020 . = ALIGN (0x10)
0x00000000e5007000 . = ORIGIN (xram)
.xram 0x00000000e5007000 0x0 load address 0x0000000000304c54
0x0000000000304c54 _lxram = LOADADDR (.xram)
.xram 0x00000000e5007000 0x0 load address 0x0000000000305240
0x0000000000305240 _lxram = LOADADDR (.xram)
0x00000000e5007000 _rxram = .
*(.xram)
0x00000000e5007000 . = ALIGN (0x10)
0x00000000e5017000 . = ORIGIN (yram)
.yram 0x00000000e5017000 0x0 load address 0x0000000000304c54
0x0000000000304c54 _lyram = LOADADDR (.yram)
.yram 0x00000000e5017000 0x0 load address 0x0000000000305240
0x0000000000305240 _lyram = LOADADDR (.yram)
0x00000000e5017000 _ryram = .
*(.yram)
0x00000000e5017000 . = ALIGN (0x10)
@ -569,8 +672,8 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a
0x000000008c15ff00 _gint_vbr = (ORIGIN (vbr) - 0x100)
0x000000008c161400 . = ORIGIN (rram)
.gint.data 0x000000008c161400 0xe0 load address 0x0000000000304c54
0x0000000000304c54 _lgdata = LOADADDR (.gint.data)
.gint.data 0x000000008c161400 0xe0 load address 0x0000000000305240
0x0000000000305240 _lgdata = LOADADDR (.gint.data)
0x000000008c161400 _rgdata = .
*(.gint.data .gint.data.*)
.gint.data 0x000000008c161400 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
@ -588,7 +691,7 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a
*fill* 0x000000008c1614d8 0x8
0x00000000000000e0 _sgdata = SIZEOF (.gint.data)
.gint.bss 0x000000008c1614e0 0x300 load address 0x0000000000304d34
.gint.bss 0x000000008c1614e0 0x300 load address 0x0000000000305320
*(.gint.bss .gint.bss.*)
.gint.bss 0x000000008c1614e0 0x1c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o)
.gint.bss 0x000000008c1614fc 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o)
@ -611,3 +714,11 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a
*(.eh_frame)
*(.comment)
OUTPUT(build-cg/platform.elf elf32-sh)
.debug_frame 0x0000000000000000 0x248
.debug_frame 0x0000000000000000 0x110 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o)
.debug_frame 0x0000000000000110 0x48 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o)
.debug_frame 0x0000000000000158 0x48 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o)
.debug_frame 0x00000000000001a0 0x68 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o)
.debug_frame 0x0000000000000208 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o)
.debug_frame 0x0000000000000228 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,18 +1,19 @@
levels = {[[
.........................
.00000000000000000000000.
.0.....................0.
.0.....................0.
.0.....................0.
.0.....................0.
.0.....................0.
.0.....................0.
.0.....................0.
.0.....................0.
.0s....................0.
.0.....................0.
.00000000000000000000000.
.........................
..........................
.000000000000000000000000.
.0......................0.
.0......................0.
.0......................0.
.0......................0.
.0.........00...........0.
.0.........00...........0.
.0......................0.
.0...............0......0.
.0......................0.
.0.........00...........0.
.0.s.......00...........0.
.000000000000000000000000.
..........................
]]
}

Binary file not shown.

View File

@ -1,5 +1,5 @@
#define PLAYER_SIDES 11
#define LEVEL_WIDTH 25
#define PLAYER_SIDES 5
#define LEVEL_WIDTH 26
char collide(int x, int y, char level[], char tile)
{

View File

@ -1,20 +1,21 @@
#include <gint/display.h>
#define PLAYER_SIDES 11
#define PLAYER_SIDES 5
#define BG_COLOR 0
#define LEVEL_WIDTH 25
#define DRAW_OFFSET -2
#define LEVEL_WIDTH 26
#define DRAW_OFFSET_Y -8
#define DRAW_OFFSET_X -11
extern image_t img_player; //player texture, 24x24
extern image_t img_player; //player texture, 12x12
void draw_player(int old_x, int old_y, int x, int y)
{
if (old_x != x || old_y != y)
{
drect(old_x * 2 + DRAW_OFFSET, old_y * 2 + DRAW_OFFSET,
(old_x + PLAYER_SIDES) * 2 + 1 + DRAW_OFFSET,
(old_y + PLAYER_SIDES) * 2 + 1 + DRAW_OFFSET, BG_COLOR);
dimage(x * 2 + DRAW_OFFSET, y * 2 + DRAW_OFFSET, &img_player);
drect(old_x * 2 + DRAW_OFFSET_X, old_y * 2 + DRAW_OFFSET_Y,
(old_x + PLAYER_SIDES) * 2 + 1 + DRAW_OFFSET_X,
(old_y + PLAYER_SIDES) * 2 + 1 + DRAW_OFFSET_Y, BG_COLOR);
dimage(x * 2 + DRAW_OFFSET_X, y * 2 + DRAW_OFFSET_Y, &img_player);
}
}
@ -29,11 +30,11 @@ void draw_level(char level[], int *player_x, int *player_y)
switch (level[i])
{
case '0':
dimage(x * 2 + DRAW_OFFSET, y * 2 + DRAW_OFFSET, &img_ground);
dimage(x * 2 + DRAW_OFFSET_X, y * 2 + DRAW_OFFSET_Y, &img_ground);
break;
case 's':
*player_x = x + 2;
*player_y = y + 4;
*player_x = x + 1;
*player_y = y + 2;
break;
}
x += 8;

View File

@ -4,7 +4,7 @@ void set_level(unsigned char level_id, char *level) {
switch (level_id)
{
case 0:
memcpy(level, "..........................00000000000000000000000..0.....................0..0.....................0..0.....................0..0.....................0..0.....................0..0.....................0..0.....................0..0.....................0..0s....................0..0.....................0..00000000000000000000000..........................", 350);
memcpy(level, "...........................000000000000000000000000..0......................0..0......................0..0......................0..0......................0..0.........00...........0..0.........00...........0..0......................0..0...............0......0..0......................0..0.........00...........0..0.s.......00...........0..000000000000000000000000...........................", 390);
break;
}
}

View File

@ -4,6 +4,7 @@
#include "levels.h"
void jump_test(char *jump_pressed, char *jump_buffer); //test if jump pressed
char sgn(int number); //return the sign of input double
int main(void)
{
@ -11,14 +12,15 @@ int main(void)
unsigned char level_id = 0;
char jump_pressed = 0; //avoid holding jump
char jump_buffer = 0; //jump buffer, last 3 frames
//double vspd = 0; //player vertical speed
double vspd = 0; //player vertical speed
char hspd = 0; //player horizontal speed
//char on_ground = 6; //remember if player is on solid
char on_ground = 6; //remember if player is on solid
int player_x = 0;
int player_y = 0;
int old_x, old_y;
//const double jump_spd = -4; //default jump speed
//const double grav = 0.2;
const double jump_spd = -4; //default jump speed
const double grav = 0.2;
const double min_vspd = -8;
dclear(0); //0 -> black
set_level(level_id, level);
draw_level(level, &player_x, &player_y);
@ -38,10 +40,39 @@ int main(void)
{
player_x += hspd;
}
//ground detection
if (collide(player_x, player_y + 1, level, '0')) on_ground = 6;
else
{
if (vspd > min_vspd) vspd += grav;
if (on_ground) on_ground--;
}
//vertical movement
jump_test(&jump_pressed, &jump_buffer);
if (jump_buffer) {}//if jump is pressed
if (keydown(KEY_EXIT)) return 0; //exit
//if jump is pressed and on ground
if (jump_buffer && on_ground) {
vspd = jump_spd;
on_ground = 0;
}
//vertical collision
{
int trunc_vspd = vspd; //truncate vspd
if (!collide(player_x, player_y + trunc_vspd, level, '0'))
{
player_y += trunc_vspd;
}
else
{
char sign_vspd = sgn(trunc_vspd);
while (!collide(player_x, player_y + sign_vspd, level, '0'))
{
player_y += sign_vspd;
}
vspd = 0;
}
}
//exit
if (keydown(KEY_EXIT)) return 0;
}
}
@ -55,5 +86,14 @@ void jump_test(char *jump_pressed, char *jump_buffer)
*jump_buffer = 3;
}
}
else *jump_pressed = 0;
else {
*jump_pressed = 0;
}
if (*jump_buffer) *jump_buffer -= 1;
}
char sgn(int number)
{
if (number < 0) return -1;
else return 1;
}

View File

@ -1,2 +1,4 @@
#/bin/#!/usr/bin/env bash
echo cp
cp platform.g3a /media/user/disk/
echo done