From 04fd7be5feafad39a94c4f423c976b3bc49d05bb Mon Sep 17 00:00:00 2001 From: milangames-art Date: Sat, 16 Nov 2019 11:44:09 +0100 Subject: [PATCH] add initial project --- MARIOBRS.g1a | Bin 0 -> 17432 bytes Makefile | 149 ++++++++ assets-cg/icon-cg-sel.png | Bin 0 -> 8388 bytes assets-cg/icon-cg-uns.png | Bin 0 -> 4629 bytes assets-fx/icon-fx.png | Bin 0 -> 7429 bytes assets-fx/img/level.png | Bin 0 -> 1113 bytes assets-fx/img/main.png | Bin 0 -> 1336 bytes assets-fx/img/mario.png | Bin 0 -> 670 bytes assets-fx/img/sprites.png | Bin 0 -> 695 bytes assets-fx/img/tuyau.png | Bin 0 -> 629 bytes build-fx/assets/img/level.png.o | Bin 0 -> 1440 bytes build-fx/assets/img/main.png.o | Bin 0 -> 1436 bytes build-fx/assets/img/mario.png.o | Bin 0 -> 512 bytes build-fx/assets/img/sprites.png.o | Bin 0 -> 548 bytes build-fx/assets/img/tuyau.png.o | Bin 0 -> 480 bytes build-fx/map | 552 ++++++++++++++++++++++++++++++ build-fx/src/MARIOBRS.bin | Bin 0 -> 16920 bytes build-fx/src/main.d | 1 + build-fx/src/main.o | Bin 0 -> 1452 bytes build-fx/src/tile.d | 3 + build-fx/src/tile.o | Bin 0 -> 756 bytes build-fx/src/world.d | 5 + build-fx/src/world.o | Bin 0 -> 21392 bytes project.cfg | 20 ++ src/main.c | 41 +++ src/tile.c | 9 + src/tile.h | 21 ++ src/world.c | 24 ++ src/world.h | 35 ++ 29 files changed, 860 insertions(+) create mode 100644 MARIOBRS.g1a create mode 100644 Makefile create mode 100644 assets-cg/icon-cg-sel.png create mode 100644 assets-cg/icon-cg-uns.png create mode 100644 assets-fx/icon-fx.png create mode 100644 assets-fx/img/level.png create mode 100644 assets-fx/img/main.png create mode 100644 assets-fx/img/mario.png create mode 100644 assets-fx/img/sprites.png create mode 100644 assets-fx/img/tuyau.png create mode 100644 build-fx/assets/img/level.png.o create mode 100644 build-fx/assets/img/main.png.o create mode 100644 build-fx/assets/img/mario.png.o create mode 100644 build-fx/assets/img/sprites.png.o create mode 100644 build-fx/assets/img/tuyau.png.o create mode 100644 build-fx/map create mode 100755 build-fx/src/MARIOBRS.bin create mode 100644 build-fx/src/main.d create mode 100644 build-fx/src/main.o create mode 100644 build-fx/src/tile.d create mode 100644 build-fx/src/tile.o create mode 100644 build-fx/src/world.d create mode 100644 build-fx/src/world.o create mode 100644 project.cfg create mode 100644 src/main.c create mode 100644 src/tile.c create mode 100644 src/tile.h create mode 100644 src/world.c create mode 100644 src/world.h diff --git a/MARIOBRS.g1a b/MARIOBRS.g1a new file mode 100644 index 0000000000000000000000000000000000000000..9e9d52ff20f4822ef182da9b1b0557d9d78ed15c GIT binary patch literal 17432 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 /dev/null) +build-fx/%.d: ; +build-cg/%.d: ; +.PRECIOUS: build-fx build-cg build-fx/%.d build-cg/%.d %/ + +clean: + @ rm -rf build* +distclean: clean + @ rm -f $(target-fx) $(target-cg) + +install-fx: $(target-fx) + p7 send -f $< +install-cg: $(target-cg) + @ while [[ ! -h /dev/Prizm1 ]]; do sleep 0.25; done + @ while ! mount /dev/Prizm1; do sleep 0.25; done + @ rm -f /mnt/prizm/$< + @ cp $< /mnt/prizm + @ umount /dev/Prizm1 + @- eject /dev/Prizm1 + +.PHONY: all all-fx all-cg clean distclean install-fx install-cg diff --git a/assets-cg/icon-cg-sel.png b/assets-cg/icon-cg-sel.png new file mode 100644 index 0000000000000000000000000000000000000000..7137b504cfd44f62f3105ce7a203b9100a557d0f GIT binary patch literal 8388 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 ag#Q8hHNm}t`+-sb0000 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 LNkvXXu0mjfMjhGA literal 0 HcmV?d00001 diff --git a/assets-fx/icon-fx.png b/assets-fx/icon-fx.png new file mode 100644 index 0000000000000000000000000000000000000000..c92f12afab0af9f7b3d8e2bec76a1dc5cc9c08a1 GIT binary patch literal 7429 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 Ef=o3h{Qv*} literal 0 HcmV?d00001 diff --git a/assets-fx/img/sprites.png b/assets-fx/img/sprites.png new file mode 100644 index 0000000000000000000000000000000000000000..c87747d6bb17eb6ce82e0a8b25f949e859684409 GIT binary patch literal 695 zcmV;o0!aOdP)EX>4Tx04R}tkv&MmKpe$iTSd`o5j%)DWT;LS#ELj-6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfadlF3krMxx6k5c1aNLh~_a1le0DryARI_6OP&La) zCE`LRyDD_Oq8I%bKnO93nfjb4CgC~0?&0I>U6f~epZjz4DLIn?K7n|a>4rtTK|H-_ z>74h8!>lMN#OK8023?T&k?XR{Z=4Gb`*~*ANT=qB!^A?Njpa6GMMEW?B917kM*04X z%L?Z$&T6^Jn)l={4Cb_zWv~|df(QXJswklh3sG7%QcR?1KknflcKjl_WO9|j z$gzM5R7j2={11M2YvyBOtZfqbz*X;bQC`u00009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-;x4iXa`)6*F zmD`+ijIp*hF<5KlW0kB@#H7DYKUgA1e9`goV#eg2+uj;-~aJ|J-{zB&s2Kd9fYLWi@ dv`EUI*&FPURs3GatRDaX002ovPDHLkV1jLbGg|-v literal 0 HcmV?d00001 diff --git a/assets-fx/img/tuyau.png b/assets-fx/img/tuyau.png new file mode 100644 index 0000000000000000000000000000000000000000..74439f6b2af6541dc2899855b53e6415e4ef1572 GIT binary patch literal 629 zcmV-*0*d{KP)EX>4Tx04R}tkv&MmKpe$iQ^l`}f*nL0GPF(>MMWI73Pq?8YK2xEOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4RLxH>7iNQwVT3N2ziIPS;0dyl(!fKV+m&1xG5G~G56 zv8b3zuZkV7=s`caFov+qEMrcR;%GU(?&0I>U4&<~KKJM7RWlX?d?N8IGfbO!gLrz= zHaPDS2U%WLiO-2gO}ZfQBi9v=-#F)77IteDHam6A8p|ua{Usy6mk{7 z$gzMDG{~+W{11M2Yh@=Vyre)BXn%2>k1)`&3)Cu(^L^|%wG+Vq3|#3Af2j)0e3D*i zXrUvZZyUI{ZfMFLaJd5vJ{htpyON)#kj(<`XY@^JVBi+$Uh{gZ@8k3VNK#kv8{ps& z7|BugdW&~=Huv`LnR8yq!&%Si zso;irS~X8z4$ul}2JhyHtq>DwHvu)6KY6>b>t9cRga!x(ZWu+B;?RQqT~l5l8}_Pc>ue- zfiG}iaj#$(3&Bnh1RKpdvzLoI2ZE(Iu)Fik&)&>tv!lI(eGwC|6agEkYX;*%`L@+u zgajC1LRrxtn06vH6eAq%l7%#smIUaF-+GLprXkBE zyS~?dW#RjNcm~w3ux*>Ml#+2Smt*`mUtxS`KQW#S-x)h6Z=AXRdFHeD>FJ=S$74CH zo=H%Tm}3ytFQp)VGBpl(Y7eL%)2uA~AM+7%3Gx9?R^>6WhgT`c|CH#*zgQg9M$XU>&Ny*dhgAx}eSlhkei*#-M7@({hA^eloICZ*)B@9AsOF Vaf8ZcNVtak(H+<0?vU4`abJhEk4^vp literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/main.png.o b/build-fx/assets/img/main.png.o new file mode 100644 index 0000000000000000000000000000000000000000..ef0541cadc08b5541d024c45c1f8f2fa83d5fd5a GIT binary patch literal 1436 zcmb7^&ubGw6vroZO*crgStwW$Y>SuDg9>^GcxW!`$%BW2$0X8Xb4W{?9E>JpO%C>y zzd<}nE_zH@2phbv@#4jUxDuqEW;aBrb=$X+)&UKjv|I5wW?UmZGiQxE& zHQu(9+EzN`ckQdS$AZ4Qp=w)D%Io)gE1IC|AQ8J@J61ue{?Yzfe43kmKHGm4qB$nS`%)L zU~t7Q35cRmlr@FKvW)aqfwK^c1M0w0aB9KbV?it)kI#5)){4bSQFJ_Kv(>SfJZF5~ z^Lp5p|9%8-2)qP-d<7wi`~k+-LY|ILCSQ1(Ddh5dVU*d~+ZL#lf4+mztx}~>&OL#? zd_enM9v$p&=gPVBR&-(RI$P%gtAJOIu8}d{gWvNS2&EJ>kHGyC^z;6{U|T2#E}W`# X2)qu?jgO~7Laciae3KVJPwM^xt_uyg literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/mario.png.o b/build-fx/assets/img/mario.png.o new file mode 100644 index 0000000000000000000000000000000000000000..5d0192ea3cab2e56696b7cede0cf24c065a1a9d7 GIT binary patch literal 512 zcma)2I}UlMUKJW(j z6xu)=&Yg_>(vpU#{37U2Ygh9%GxjQNp&{ZXrH5breo~O6#~=;!B-3aRpCers$u%aL z7nigQ55O|7@Km!ri^4MGkNj^u2hZA4E&L~CPNnNT^cqgxarQV^S9(n#R->+p0mL4- VXNoh_@AbjCSD7&Y8Py6Xbsrb)FGTJflVq|~=Mg}b)8(AO*EN22HH5gbKSQt1MIR39X{Qv)dr~e`_jiEDD8XKJs z!ubDJsr>)n=(JblKSV)jD95?J{odIJN<)JflVq|~=Mg}b)8(BaCEN22HH5gbKSb&h@|9?f3|Nj{n8fGe*G&aKM|NlY! z|BVbV8YU0sgVcfbH3Bu_0n8Bl;cgIs@Ogk*TtM2Od}###|3`-S%-r<&lG4h=QY2=4 zYF-L5w>YyZm4QL8xH7jSF$qYQ6hY_=7^^5hC9xzCWC`&A-|U_zYwy!#F@1tPTK~ CtwB!! literal 0 HcmV?d00001 diff --git a/build-fx/map b/build-fx/map new file mode 100644 index 0000000..91a3a2b --- /dev/null +++ b/build-fx/map @@ -0,0 +1,552 @@ +Archive member included to satisfy reference by file (symbol) + +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o) + build-fx/src/main.o (dupdate) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) + build-fx/src/tile.o (dsubimage) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dclear.c.o) + build-fx/src/main.o (dclear) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) + (start) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) (gint_panic) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) (gint_install) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) (hw_detect) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.s.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) (gint_exch_tlbh) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(mmu.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) (tlb_mapped_memory) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) (dfont) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dprint.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) (dprint) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + build-fx/src/main.o (timer_setup) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dprint.c.o) (vsnprintf) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(memory.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) (memcpy) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o) (t6k11_display) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) (clock_freq) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) (dtext) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti-asm.s.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) (bopti_asm_mono) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o) (topti_render) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) (bopti_render_clip) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(masks.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) (masks) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(vbr.s.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) (gint_setvbr) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(syscalls.S.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) (__os_version) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) (gint_intlevel) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) (gint_inth_7305) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) (inth_tmu) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(font5x7.png.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) (gint_font5x7) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti-asm.s.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o) (topti_asm_text) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_movmem.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) (__movmemSI24) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) (__udivdi3) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_umoddi3.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) (__umoddi3) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivsi3.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o) (__udivsi3) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udiv_qrnnd_16.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o) (__udiv_qrnnd_16) +/usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o) + /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o) (__clz_tab) + +Discarded input sections + + .comment 0x0000000000000000 0x12 build-fx/src/tile.o + .comment 0x0000000000000000 0x12 build-fx/src/world.o + .comment 0x0000000000000000 0x12 build-fx/src/main.o + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dclear.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(mmu.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dprint.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(memory.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(masks.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_umoddi3.o) + .comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o) + +Memory Configuration + +Name Origin Length Attributes +rom 0x0000000000300200 0x0000000000037000 xr +ram 0x0000000008100000 0x0000000000002000 rw +vbr 0x000000008800e000 0x0000000000001400 xrw +rram 0x000000008800f400 0x0000000000000c00 xrw +ilram 0x00000000e5200000 0x0000000000001000 xrw +xram 0x00000000e5007000 0x0000000000002000 xrw +yram 0x00000000e5017000 0x0000000000002000 xrw +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +LOAD build-fx/src/tile.o +LOAD build-fx/src/world.o +LOAD build-fx/src/main.o +LOAD build-fx/assets/img/mario.png.o +LOAD build-fx/assets/img/main.png.o +LOAD build-fx/assets/img/tuyau.png.o +LOAD build-fx/assets/img/level.png.o +LOAD build-fx/assets/img/sprites.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 + 0x0000000000008dd0 _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + +.pretext 0x0000000000300200 0x8d0 + *(.pretext.entry) + .pretext.entry + 0x0000000000300200 0x1cc /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) + 0x0000000000300200 start + *(.pretext) + .pretext 0x00000000003003cc 0x30 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) + .pretext 0x00000000003003fc 0xd0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o) + 0x00000000003003fc hw_detect + .pretext 0x00000000003004cc 0x110 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + 0x00000000003004cc dfont + 0x00000000003004e4 charset_size + 0x0000000000300510 charset_decode + 0x000000000030057e topti_offset + .pretext 0x00000000003005dc 0x4c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o) + 0x00000000003005dc dtext + .pretext 0x0000000000300628 0x2f0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + 0x00000000003006ca topti_render + .pretext 0x0000000000300918 0x88 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(syscalls.S.o) + 0x0000000000300918 __os_version + 0x0000000000300924 malloc + 0x0000000000300930 free + 0x000000000030093c calloc + 0x0000000000300948 realloc + 0x0000000000300954 BFile_Remove + 0x0000000000300960 BFile_Create + 0x000000000030096c BFile_Open + 0x0000000000300978 BFile_Close + 0x0000000000300984 BFile_Write + 0x0000000000300990 BFile_Read + .pretext 0x00000000003009a0 0x130 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti-asm.s.o) + 0x0000000000300ab0 topti_asm_text + 0x0000000000300ad0 _btors = . + *(.ctors .ctors.*) + 0x0000000000300ad0 _mtors = . + *(.dtors .dtors.*) + 0x0000000000300ad0 _etors = . + +.text 0x0000000000300ad0 0x2a78 + 0x0000000000300ad0 _gint_exch_tlbh_start = . + *(.gint.exch_tlbh) + .gint.exch_tlbh + 0x0000000000300ad0 0x4c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.s.o) + 0x0000000000300ad0 gint_exch_tlbh + 0x000000000000004c _gint_exch_tlbh_size = ABSOLUTE ((. - _gint_exch_tlbh_start)) + *(.text .text.*) + .text 0x0000000000300b1c 0x34 build-fx/src/tile.o + 0x0000000000300b1c tuyau_draw + .text 0x0000000000300b50 0x68 build-fx/src/world.o + 0x0000000000300b50 world_get + 0x0000000000300b80 display_cell + .text 0x0000000000300bb8 0x8 build-fx/src/main.o + 0x0000000000300bb8 callback + .text.startup 0x0000000000300bc0 0xc0 build-fx/src/main.o + 0x0000000000300bc0 main + .text 0x0000000000300c80 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o) + 0x0000000000300c80 dupdate + 0x0000000000300c98 dupdate_noint + .text 0x0000000000300ca4 0xc8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) + 0x0000000000300ca4 dimage + 0x0000000000300cf8 dsubimage + .text 0x0000000000300d6c 0x4c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dclear.c.o) + 0x0000000000300d6c dclear + .text 0x0000000000300db8 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) + .text 0x0000000000300db8 0x1c4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) + 0x0000000000300f48 gint_panic + 0x0000000000300f58 gint_panic_set + 0x0000000000300f64 gint_exc_catch + 0x0000000000300f70 gint_exc_skip + .text 0x0000000000300f7c 0x17c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) + 0x0000000000301030 gint_install + 0x00000000003010e0 gint_unload + .text 0x00000000003010f8 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o) + .text 0x00000000003010f8 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.s.o) + .text 0x00000000003010f8 0x1f4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(mmu.c.o) + 0x00000000003010f8 tlb_addr + 0x000000000030110c tlb_data + 0x0000000000301120 tlb_mapped_memory + 0x00000000003011f4 utlb_addr + 0x0000000000301204 utlb_data + 0x0000000000301214 utlb_mapped_memory + .text 0x00000000003012ec 0x9c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + 0x00000000003012ec dsize + .text 0x0000000000301388 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dprint.c.o) + 0x0000000000301388 dprint + .text 0x00000000003013e0 0x56c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + 0x0000000000301700 timer_setup + 0x0000000000301790 timer_delay + 0x00000000003017f0 timer_start + 0x0000000000301824 timer_reload + 0x0000000000301844 timer_pause + 0x0000000000301878 timer_stop + 0x00000000003018d4 timer_timeout + 0x00000000003018e0 timer_address + 0x000000000030191c timer_clear + .text 0x000000000030194c 0xce4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) + 0x0000000000302348 kprint_opt + 0x0000000000302490 kprint + 0x0000000000302568 kvsprint + 0x00000000003025b0 sprintf + 0x00000000003025d8 vsprintf + 0x00000000003025f8 snprintf + 0x0000000000302618 vsnprintf + .text 0x0000000000302630 0xdc /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(memory.c.o) + 0x0000000000302630 memcpy + 0x00000000003026ea _memmove + 0x00000000003026ee _memcmp + 0x00000000003026f2 memset + .text 0x000000000030270c 0x1d8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + 0x00000000003027a4 t6k11_display + 0x0000000000302878 t6k11_contrast + 0x00000000003028a4 t6k11_backlight + .text 0x00000000003028e4 0x150 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + 0x0000000000302a28 clock_freq + .text 0x0000000000302a34 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o) + .text 0x0000000000302a34 0x58 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti-asm.s.o) + 0x0000000000302a34 bopti_asm_mono + 0x0000000000302a5a bopti_asm_mono_alpha + .text 0x0000000000302a8c 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + .text 0x0000000000302a8c 0x410 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) + 0x0000000000302a8c bopti_grid + 0x0000000000302c00 bopti_render + 0x0000000000302d30 bopti_render_clip + 0x0000000000302e44 bopti_render_noclip + .text 0x0000000000302e9c 0x9c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(masks.c.o) + 0x0000000000302e9c masks + .text 0x0000000000302f38 0x2c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(vbr.s.o) + 0x0000000000302f38 gint_setvbr + .text 0x0000000000302f64 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(syscalls.S.o) + .text 0x0000000000302f64 0x78 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o) + 0x0000000000302f64 gint_intlevel + 0x0000000000302fb8 gint_inthandler + .text 0x0000000000302fdc 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o) + .text 0x0000000000302fdc 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o) + .text 0x0000000000302fdc 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti-asm.s.o) + .text 0x0000000000302fdc 0x78 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_movmem.o) + 0x0000000000302fdc __movstr + 0x0000000000302fdc __movmem + 0x0000000000303010 __movmemSI64 + 0x0000000000303010 __movstrSI64 + 0x0000000000303014 __movstrSI60 + 0x0000000000303014 __movmemSI60 + 0x0000000000303018 __movmemSI56 + 0x0000000000303018 __movstrSI56 + 0x000000000030301c __movstrSI52 + 0x000000000030301c __movmemSI52 + 0x0000000000303020 __movstrSI48 + 0x0000000000303020 __movmemSI48 + 0x0000000000303024 __movstrSI44 + 0x0000000000303024 __movmemSI44 + 0x0000000000303028 __movstrSI40 + 0x0000000000303028 __movmemSI40 + 0x000000000030302c __movstrSI36 + 0x000000000030302c __movmemSI36 + 0x0000000000303030 __movmemSI32 + 0x0000000000303030 __movstrSI32 + 0x0000000000303034 __movmemSI28 + 0x0000000000303034 __movstrSI28 + 0x0000000000303038 __movstrSI24 + 0x0000000000303038 __movmemSI24 + 0x000000000030303c __movmemSI20 + 0x000000000030303c __movstrSI20 + 0x0000000000303040 __movstrSI16 + 0x0000000000303040 __movmemSI16 + 0x0000000000303044 __movmemSI12 + 0x0000000000303044 __movstrSI12 + 0x0000000000303048 __movmemSI8 + 0x0000000000303048 __movstrSI8 + 0x000000000030304c __movmemSI4 + 0x000000000030304c __movstrSI4 + .text 0x0000000000303054 0x1f0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o) + 0x0000000000303054 __udivdi3 + .text 0x0000000000303244 0x234 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_umoddi3.o) + 0x0000000000303244 __umoddi3 + .text 0x0000000000303478 0x6c /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivsi3.o) + 0x000000000030349a __udivsi3 + *fill* 0x00000000003034e4 0x4 + .text 0x00000000003034e8 0x60 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udiv_qrnnd_16.o) + 0x00000000003034e8 __udiv_qrnnd_16 + .text 0x0000000000303548 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o) + *(C P) + +.gint.blocks 0x0000000000303550 0x120 + *(.gint.blocks) + .gint.blocks 0x0000000000303550 0x40 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o) + 0x0000000000303550 gint_inth_7305 + 0x0000000000303570 gint_inth_7705 + .gint.blocks 0x0000000000303590 0xe0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o) + 0x0000000000303590 inth_tmu + 0x0000000000303610 inth_etmu2 + 0x0000000000303630 inth_etmu_help + 0x0000000000303650 inth_etmux + +.gint.drivers 0x0000000000303670 0x6c + 0x0000000000303670 _bdrv = . + *(.gint.drivers.0) + *(.gint.drivers.1) + .gint.drivers.1 + 0x0000000000303670 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + 0x0000000000303670 drv_cpg + *(.gint.drivers.2) + .gint.drivers.2 + 0x0000000000303694 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + 0x0000000000303694 drv_tmu + *(.gint.drivers.3) + *(.gint.drivers.4) + *(.gint.drivers.5) + .gint.drivers.5 + 0x00000000003036b8 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + 0x00000000003036b8 drv_t6k11 + *(.gint.drivers.6) + 0x00000000003036dc _edrv = . + +.rodata 0x00000000003036dc 0x5fcc + *(.rodata.4) + *(.rodata .rodata.*) + .rodata 0x00000000003036dc 0x5000 build-fx/src/world.o + .rodata 0x00000000003086dc 0x64 build-fx/assets/img/mario.png.o + 0x00000000003086dc img_mario + 0x0000000000308740 img_mario_end + .rodata 0x0000000000308740 0x404 build-fx/assets/img/main.png.o + 0x0000000000308740 img_main + 0x0000000000308b44 img_main_end + .rodata 0x0000000000308b44 0x44 build-fx/assets/img/tuyau.png.o + 0x0000000000308b44 img_tuyau + 0x0000000000308b88 img_tuyau_end + .rodata 0x0000000000308b88 0x404 build-fx/assets/img/level.png.o + 0x0000000000308b88 img_level + 0x0000000000308f8c img_level_end + .rodata 0x0000000000308f8c 0x84 build-fx/assets/img/sprites.png.o + 0x0000000000308f8c img_sprites + 0x0000000000309010 img_sprites_end + .rodata 0x0000000000309010 0x8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) + .rodata.str1.4 + 0x0000000000309018 0x11a /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) + 0x11e (size before relaxing) + *fill* 0x0000000000309132 0x2 + .rodata 0x0000000000309134 0x18 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + .rodata.str1.4 + 0x000000000030914c 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + .rodata.str1.4 + 0x0000000000309150 0x31 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) + *fill* 0x0000000000309181 0x3 + .rodata.str1.4 + 0x0000000000309184 0x6 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + *fill* 0x000000000030918a 0x2 + .rodata.str1.4 + 0x000000000030918c 0x4 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + .rodata 0x0000000000309190 0x10 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) + .rodata 0x00000000003091a0 0x408 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(font5x7.png.o) + 0x00000000003091a0 gint_font5x7 + 0x00000000003095a8 gint_font5x7_end + .rodata 0x00000000003095a8 0x100 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o) + 0x00000000003095a8 __clz_tab + +.rela.dyn 0x00000000003096a8 0x0 + .rela.text.startup + 0x00000000003096a8 0x0 build-fx/src/main.o + .rela.pretext.entry + 0x00000000003096a8 0x0 build-fx/src/main.o + .rela.text 0x00000000003096a8 0x0 build-fx/src/main.o + 0x0000000008100000 . = ORIGIN (ram) + +.bss 0x0000000008100000 0x520 + 0x0000000008100000 _rbss = . + *(.bss COMMON) + .bss 0x0000000008100000 0x0 build-fx/src/tile.o + .bss 0x0000000008100000 0x0 build-fx/src/world.o + .bss 0x0000000008100000 0x0 build-fx/src/main.o + .bss 0x0000000008100000 0x400 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dclear.c.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.s.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(mmu.c.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dprint.c.o) + .bss 0x0000000008100400 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + .bss 0x0000000008100400 0x114 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(memory.c.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti-asm.s.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(masks.c.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(vbr.s.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(syscalls.S.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti-asm.s.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_movmem.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_umoddi3.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivsi3.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udiv_qrnnd_16.o) + .bss 0x0000000008100514 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o) + *(B R) + 0x0000000008100520 . = ALIGN (0x10) + *fill* 0x0000000008100514 0xc + 0x0000000000000520 _sbss = SIZEOF (.bss) + +.data 0x0000000008100520 0x70 load address 0x00000000003096a8 + 0x00000000003096a8 _ldata = LOADADDR (.data) + 0x0000000008100520 _rdata = . + *(.data .data.*) + .data 0x0000000008100520 0x0 build-fx/src/tile.o + .data 0x0000000008100520 0x0 build-fx/src/world.o + .data 0x0000000008100520 0x0 build-fx/src/main.o + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dupdate.c.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dimage.c.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dclear.c.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(start.c.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.s.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(mmu.c.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dprint.c.o) + .data 0x0000000008100520 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + .data 0x0000000008100520 0x68 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(stdio.c.o) + 0x0000000008100520 kprint_formatters + .data 0x0000000008100588 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(memory.c.o) + .data 0x0000000008100588 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + .data 0x0000000008100588 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + .data 0x0000000008100588 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(dtext.c.o) + .data 0x0000000008100588 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti-asm.s.o) + .data 0x0000000008100588 0x8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti.c.o) + 0x0000000008100588 topti_font + 0x000000000810058c gint_default_font + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(bopti.c.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(masks.c.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(vbr.s.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(syscalls.S.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.s.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(topti-asm.s.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_movmem.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivdi3.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_umoddi3.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udivsi3.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_udiv_qrnnd_16.o) + .data 0x0000000008100590 0x0 /usr/lib/gcc/sh3eb-elf/9.1.0/libgcc.a(_clz.o) + *(D) + 0x0000000008100590 . = ALIGN (0x10) + +.data.4 0x0000000008100590 0x0 load address 0x0000000000309718 + *(.data.4) + 0x0000000008100590 . = ALIGN (0x10) + 0x0000000000000070 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) + 0x00000000e5200000 . = ORIGIN (ilram) + +.ilram 0x00000000e5200000 0x0 load address 0x0000000000309718 + 0x0000000000309718 _lilram = LOADADDR (.ilram) + 0x00000000e5200000 _rilram = . + *(.ilram) + 0x00000000e5200000 . = ALIGN (0x10) + 0x00000000e5007000 . = ORIGIN (xram) + +.xram 0x00000000e5007000 0x0 load address 0x0000000000309718 + 0x0000000000309718 _lxram = LOADADDR (.xram) + 0x00000000e5007000 _rxram = . + *(.xram) + 0x00000000e5007000 . = ALIGN (0x10) + 0x00000000e5017000 . = ORIGIN (yram) + +.yram 0x00000000e5017000 0x0 load address 0x0000000000309718 + 0x0000000000309718 _lyram = LOADADDR (.yram) + 0x00000000e5017000 _ryram = . + *(.yram) + 0x00000000e5017000 . = ALIGN (0x10) + 0x0000000000000000 _silram = SIZEOF (.ilram) + 0x0000000000000000 _sxram = SIZEOF (.xram) + 0x0000000000000000 _syram = SIZEOF (.yram) + 0x000000008800df00 _gint_vbr = 0x8800df00 + 0x000000008800f400 . = ORIGIN (rram) + +.gint.data 0x000000008800f400 0x120 load address 0x0000000000309718 + 0x0000000000309718 _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) + 0x000000008800f400 gint_vram + .gint.data 0x000000008800f404 0x8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(exch.c.o) + 0x000000008800f404 gint_exc_catcher + 0x000000008800f408 gint_exc_panic + .gint.data 0x000000008800f40c 0x70 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + .gint.data 0x000000008800f47c 0x8 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + .gint.data 0x000000008800f484 0x10 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o) + 0x000000008800f484 SH7305_INTC + .gint.data.sh3 + 0x000000008800f494 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(gint.c.o) + 0x000000008800f494 SH7705_INTC + *fill* 0x000000008800f4b8 0x8 + .gint.data 0x000000008800f4c0 0x60 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(inth.S.o) + 0x000000008800f520 . = ALIGN (0x10) + 0x0000000000000120 _sgdata = SIZEOF (.gint.data) + +.gint.bss 0x000000008800f520 0x110 load address 0x0000000000309838 + *(.gint.bss .gint.bss.*) + .gint.bss 0x000000008800f520 0x1c /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(setup.c.o) + .gint.bss 0x000000008800f53c 0x40 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(hardware.c.o) + 0x000000008800f53c gint + .gint.bss 0x000000008800f57c 0x88 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(tmu.c.o) + .gint.bss 0x000000008800f604 0x1 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(t6k11.c.o) + *fill* 0x000000008800f605 0x3 + .gint.bss 0x000000008800f608 0x24 /usr/lib/gcc/sh3eb-elf/9.1.0/libgint-fx.a(cpg.c.o) + 0x000000008800f630 . = ALIGN (0x10) + *fill* 0x000000008800f62c 0x4 + 0x0000000000000110 _sgbss = SIZEOF (.gint.bss) + +/DISCARD/ + *(.debug_info .debug_abbrev .debug_loc .debug_aranges .debug_ranges .debug_line .debug_str) + *(.jcr) + *(.eh_frame_hdr) + *(.eh_frame) + *(.comment) +OUTPUT(build-fx/src/MARIOBRS.elf elf32-sh) diff --git a/build-fx/src/MARIOBRS.bin b/build-fx/src/MARIOBRS.bin new file mode 100755 index 0000000000000000000000000000000000000000..33bfaf10d75ec04081f9c55e1aab9d7aeb65eb04 GIT binary patch literal 16920 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 literal 0 HcmV?d00001 diff --git a/build-fx/src/main.d b/build-fx/src/main.d new file mode 100644 index 0000000..1b98fec --- /dev/null +++ b/build-fx/src/main.d @@ -0,0 +1 @@ +build-fx/src/main.o: src/main.c diff --git a/build-fx/src/main.o b/build-fx/src/main.o new file mode 100644 index 0000000000000000000000000000000000000000..99945f779e2fbbabc7623511af221fc4be31593f GIT binary patch literal 1452 zcmb7EO=}ZT6g_EzO`57rY*pG~qxexprmeV85o{^i3St-1_4tx`*rAzBoS9mKi*7_* zD7et#!i5VLE(Be;5OmR>kbjC@uuOcaoc=gP>kG^Uk^N%$+xP-kX*4moCJ* zVrWGS$B1_%62qk9I2k%d(SuYib})dcFn6Gi>b{j9tEWaXlWC-MygIDD zUr&4(`iimaWV(*^!B2xzG=3bcp^lNvMRLs&s(aX9-QB*f4@_}pAk6g3wI1Y>_dnOL zp5-bVSV_(uwl|Sp*qjP8$=(_@D1@^&){^-#RVvEq&r9 zp(`>^sdkV^v{mTeMmpKdC9{osG=#B6g#CM)8hs6ND56h9^tp(hiRdd4osZ~JMBj?& z+Y$XJqMt?d%PrbbcF8EfEU02JuL_GWIRi7W9qpNxE~<(MUk6L&mI#y=z_bcQtvr~^ zu2-~7%TvoRb*ZEsTl-DvD9?7A+%8>Hj&2HTscfl0!(7yrysJFR^mNfxR!0TLy+QM~ zPY%mnZY|3X+;aF9cY&1bhkHPe@CQJ*@P|NJ_+y|~_!D5e@Tb5I;nc64!k+_u!e0Ox z;je(K@YldD;ctL`;qQQf1~>eQ6R124Kkypkg0Mi}3}8?j6pXy@!=M%@gR^9&4pYO8 zg6lZC6v$`$mvM+p{A}LO9Q?PCea%|V#eU-KlXG#FCp)6Ce&7h@`2N57CdkwIT&}l9 zkl^#fah$+>l0Xq>O}$1pf%A-B0-qhOH%{RANs#l%n&$-aPMqo^TqVM5mYS3c|4s4^ bB)iIVc}tMsS{xZdhcEt~^ej&_BlP_ScGjto literal 0 HcmV?d00001 diff --git a/build-fx/src/tile.d b/build-fx/src/tile.d new file mode 100644 index 0000000..2d8fe47 --- /dev/null +++ b/build-fx/src/tile.d @@ -0,0 +1,3 @@ +build-fx/src/tile.o: src/tile.c src/tile.h + +src/tile.h: diff --git a/build-fx/src/tile.o b/build-fx/src/tile.o new file mode 100644 index 0000000000000000000000000000000000000000..fafc5e10cef2115258976d9f584af095c2933901 GIT binary patch literal 756 zcma)4%}T>S5T3NPjnqS}9t01mJ(Mc4S}3SJDMfn`D~RW?`JpW|3dsg76#4=ld^IoL z^$GL|bSB$Llame|X1e+icv49aP85M~AA`VuP%Pwsv4J!? zue_wwcJzjHf!|^mA?4?~Y@A};L8m#Ir``s7Yl-(^b literal 0 HcmV?d00001 diff --git a/build-fx/src/world.d b/build-fx/src/world.d new file mode 100644 index 0000000..b09411d --- /dev/null +++ b/build-fx/src/world.d @@ -0,0 +1,5 @@ +build-fx/src/world.o: src/world.c src/world.h src/tile.h + +src/world.h: + +src/tile.h: diff --git a/build-fx/src/world.o b/build-fx/src/world.o new file mode 100644 index 0000000000000000000000000000000000000000..ba3ca0d38a4bb80c8a68d3cc1bcf7f8343314930 GIT binary patch literal 21392 zcmeI)&1w@-6bJB=v`HsPkyN3Zb`eBM{NT2QMy#u7Te}H1DRd`HCYfm`FflSSrDo+q z5W5f&L0q`-5qtn2qJl4wom)5Aw&%>9n?@0I&?eOa2JjijPVMJl{o*jPNBAC+s1ZwlMiwpD9<&+S;XC$&a7wX6F2%RH7xyO)mT{KO>6(w+>$z*SwckAgwR3CK<+>?1EG+wDcq0%vG< zy?__u-+p`Tj4^vuNX+kiI9HM(~Ve4EOAP|&dJgG$juGTIZoLxYxA5d z>Dc@ypLjeS=J(#=NsIGub?aOsd$ODoe7&ab>DD~oCJ&`9eVv+eU;gVRA!{bhwRo!e pg&RqE7D>5YnN!{$^K9I0wYj;=X+o|gA@9v}-B%tzl!Y{sx(nOMTxb9Q literal 0 HcmV?d00001 diff --git a/project.cfg b/project.cfg new file mode 100644 index 0000000..f96d4de --- /dev/null +++ b/project.cfg @@ -0,0 +1,20 @@ +#--- +# fxSDK project configuration file for MARIOBRS +#--- + +# Project name, should be at most 8 bytes long. +NAME = MARIOBRS +# Internal name, should be '@' followed by at most 7 uppercase letters. +INTERNAL = MARIOBR + +# fx-9860G icon location +ICON_FX = assets-fx/icon-fx.png +# fx-CG 50 icon locations +ICON_CG_UNS = assets-cg/icon-cg-uns.png +ICON_CG_SEL = assets-cg/icon-cg-sel.png + +# Additional compiler flags +CFLAGS = -std=c11 -Os +# Additional linker flags. This is followed by -lgcc. When using fxlib, add +# libfx.a to the projet directory and set LDFLAGS to "-L . -lfx". +LDFLAGS = diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..8041ed4 --- /dev/null +++ b/src/main.c @@ -0,0 +1,41 @@ +#include +#include +#include + +int callback(volatile void *arg) +{ + volatile int *has_ticked = arg; + *has_ticked = 1; + return 0; +} + +int main(void) +{ + volatile int has_ticked = 1; + int game_running = 1; + + timer_setup(0, timer_delay(0, 16667), timer_Po_4, callback, &has_ticked); + timer_start(0); + + while(game_running) + { + has_ticked=0; + + dclear(C_WHITE); + + world_draw(); + //ennemies_draw(); + //mario_draw(); + //ingame_draw(); + + dupdate(); + + keyboard_reload(); + ennemies_move(); + + + if(keydown(KEY_EXIT)) game_running = 0; + } + + timer_stop(0); +} \ No newline at end of file diff --git a/src/tile.c b/src/tile.c new file mode 100644 index 0000000..23be098 --- /dev/null +++ b/src/tile.c @@ -0,0 +1,9 @@ +#include "tile.h" + +#include + +void tuyau_draw(int state, int x, int y) +{ + extern image_t img_tuyau; + dsubimage(x,y, &img_tuyau, 8*state, 0, 8*(state+1), 8,0); +} \ No newline at end of file diff --git a/src/tile.h b/src/tile.h new file mode 100644 index 0000000..1df76a2 --- /dev/null +++ b/src/tile.h @@ -0,0 +1,21 @@ +#ifndef TILE_H +#define TILE_H + +#define TUYAU_H_TOP_LE 0 +#define TUYAU_H_TOP_RI 1 + +#define TUYAU_H_MID_LE 2 +#define TUYAU_H_MID_RI 3 + + +#define TUYAU_L_TOP_DO 4 +#define TUYAU_L_TOP_UP 5 + +#define TUYAU_L_MID_UP 6 +#define TUYAU_L_MID_DO 7 + +void tuyau_draw(int state, int x, int y); + + + +#endif \ No newline at end of file diff --git a/src/world.c b/src/world.c new file mode 100644 index 0000000..8f8922e --- /dev/null +++ b/src/world.c @@ -0,0 +1,24 @@ +#include "world.h" +#include "tile.h" + + +static world global = {0}; + +world_t world_get(int x, int y) +{ + if (0<=x && x<=W_SIZE_X && 0<=y && y<=W_SIZE_Y) + return global[x][y]; + else + { + world_t cell = {W_DEATH,0}; + return cell; + } +} + +void display_cell(int cx, int cy, int sx, int sy) +{ + world_t cell=world_get(cx,cy); + if (cell.type==W_TUYAU) + tuyau_draw(cell.state, sx, sy); +} + diff --git a/src/world.h b/src/world.h new file mode 100644 index 0000000..4551510 --- /dev/null +++ b/src/world.h @@ -0,0 +1,35 @@ +#ifndef WORLD_H +#define WORLD_H + +#include + +#define W_CELL_SIZEPX 8 +#define W_SIZE_X 160 +#define W_SIZE_Y 16 + +#define W_DEATH -1 +#define W_EMPTY 0 +#define W_FLOOR 1 +#define W_EARTH 2 +#define W_STONE 3 +#define W_BRICK 4 +#define W_BOX 5 +#define W_PLATEFORM 6 +#define W_TUYAU 7 + +typedef struct +{ + char type; + int state; // numéro de tile + int state2; // visible, invisible, téléporteur/en train de tirer (canon par exemple) +} world_t; + +typedef world_t world[W_SIZE_X][W_SIZE_Y]; + +world_t world_get(int x, int y); + +void display_cell(int cx, int cy, int sx, int sy); + +void world_set(world const * const w); + +#endif \ No newline at end of file