From 4ca506d2494a4d9e3a63e5cb2a1379071f1ba4df Mon Sep 17 00:00:00 2001 From: milangames-art Date: Thu, 21 Nov 2019 19:30:54 +0100 Subject: [PATCH] add old files --- AddinInfo.txt | 12 ++ Debug/Addin.mak | 100 ++++++++++ Debug/FXADDINror.abs | Bin 0 -> 5320 bytes Debug/FXADDINror.bin | Bin 0 -> 1196 bytes Debug/FXADDINror.dbg | Bin 0 -> 5568 bytes Debug/FXADDINror.fsy | 51 +++++ Debug/FXADDINror.map | 234 +++++++++++++++++++++++ Debug/MARIOBR.lst | 269 +++++++++++++++++++++++++++ Debug/MARIOBR.obj | Bin 0 -> 5308 bytes INIT/CasioRAM.mem | Bin 0 -> 53632 bytes INIT/CasioRAMCPU.mem | Bin 0 -> 80 bytes MARIOBRS.dlr | 1 + MARIOBRS.dlw | 112 +++++++++++ MARIOBRS.g1w | 15 ++ assets-fx/img/brick.png | Bin 0 -> 598 bytes assets-fx/img/coin.png | Bin 0 -> 585 bytes assets-fx/img/death.png | Bin 0 -> 1360 bytes assets-fx/img/error.png | Bin 0 -> 1546 bytes assets-fx/img/gift.png | Bin 0 -> 619 bytes assets-fx/img/mariosmall.png | Bin 0 -> 712 bytes assets-fx/img/stone.png | Bin 0 -> 10211 bytes build-fx/assets/img/brick.png.o | Bin 0 -> 488 bytes build-fx/assets/img/coin.png.o | Bin 0 -> 448 bytes build-fx/assets/img/death.png.o | Bin 0 -> 448 bytes build-fx/assets/img/error.png.o | Bin 0 -> 1440 bytes build-fx/assets/img/gift.png.o | Bin 0 -> 448 bytes build-fx/assets/img/mariosmall.png.o | Bin 0 -> 648 bytes build-fx/assets/img/stone.png.o | Bin 0 -> 488 bytes build-fx/src/MARIOBRS.elf | Bin 0 -> 34312 bytes build-fx/src/box.d | 5 + build-fx/src/box.o | Bin 0 -> 1020 bytes build-fx/src/keyboard.d | 8 + build-fx/src/keyboard.o | Bin 0 -> 972 bytes build-fx/src/mario.d | 12 ++ build-fx/src/mario.o | Bin 0 -> 1524 bytes build-fx/src/sprite.d | 5 + build-fx/src/sprite.o | Bin 0 -> 792 bytes src/box.c | 119 ++++++++++++ src/box.h | 21 +++ src/keyboard.c | 50 +++++ src/keyboard.h | 18 ++ src/mario.c | 76 ++++++++ src/mario.h | 39 ++++ src/sprite.c | 17 ++ src/sprite.h | 7 + 45 files changed, 1171 insertions(+) create mode 100644 AddinInfo.txt create mode 100644 Debug/Addin.mak create mode 100644 Debug/FXADDINror.abs create mode 100644 Debug/FXADDINror.bin create mode 100644 Debug/FXADDINror.dbg create mode 100644 Debug/FXADDINror.fsy create mode 100644 Debug/FXADDINror.map create mode 100644 Debug/MARIOBR.lst create mode 100644 Debug/MARIOBR.obj create mode 100644 INIT/CasioRAM.mem create mode 100644 INIT/CasioRAMCPU.mem create mode 100644 MARIOBRS.dlr create mode 100644 MARIOBRS.dlw create mode 100644 MARIOBRS.g1w create mode 100644 assets-fx/img/brick.png create mode 100644 assets-fx/img/coin.png create mode 100644 assets-fx/img/death.png create mode 100644 assets-fx/img/error.png create mode 100644 assets-fx/img/gift.png create mode 100644 assets-fx/img/mariosmall.png create mode 100644 assets-fx/img/stone.png create mode 100644 build-fx/assets/img/brick.png.o create mode 100644 build-fx/assets/img/coin.png.o create mode 100644 build-fx/assets/img/death.png.o create mode 100644 build-fx/assets/img/error.png.o create mode 100644 build-fx/assets/img/gift.png.o create mode 100644 build-fx/assets/img/mariosmall.png.o create mode 100644 build-fx/assets/img/stone.png.o create mode 100755 build-fx/src/MARIOBRS.elf create mode 100644 build-fx/src/box.d create mode 100644 build-fx/src/box.o create mode 100644 build-fx/src/keyboard.d create mode 100644 build-fx/src/keyboard.o create mode 100644 build-fx/src/mario.d create mode 100644 build-fx/src/mario.o create mode 100644 build-fx/src/sprite.d create mode 100644 build-fx/src/sprite.o create mode 100644 src/box.c create mode 100644 src/box.h create mode 100644 src/keyboard.c create mode 100644 src/keyboard.h create mode 100644 src/mario.c create mode 100644 src/mario.h create mode 100644 src/sprite.c create mode 100644 src/sprite.h diff --git a/AddinInfo.txt b/AddinInfo.txt new file mode 100644 index 0000000..26f42cb --- /dev/null +++ b/AddinInfo.txt @@ -0,0 +1,12 @@ +//------------------------------------------------------------------ +// Addin-Application header control file, created with the CASIO SDK +//------------------------------------------------------------------ +[OUTPUT] : "MARIOBRS.G1A" +[BINDATA] : "FXADDINror.bin" +[DISPNAME] : "MARIOBRS" +[APPNAME] : "@MARIOBR" +[VERSION] : "00.00.0000" +[APL_ICON] : "MainIcon.bmp" +[MODULE_NUM] : 0 +[MOD1_TITLE] : "MARIOBR" +[MOD1_ICON] : "eActivityIcon.bmp" diff --git a/Debug/Addin.mak b/Debug/Addin.mak new file mode 100644 index 0000000..1958d3a --- /dev/null +++ b/Debug/Addin.mak @@ -0,0 +1,100 @@ +################################################ +# Make file for CASIO fx-9860G SDK Addin +# +############################ +# Directory defines +TCDIR = C:\CASIO\fx-9860G SDK\OS\SH +OSDIR = C:\CASIO\fx-9860G SDK\OS +APPDIR = Z:\home\gmilan\dev\c\supercasiobros +OUTDIR = Z:\home\gmilan\dev\c\supercasiobros\Debug + +################ +# Main Defines +SH_EXEDIR=$(TCDIR)\bin + +# Hitachi SH C/C++ Compiler02 phase +SHCC02_EXE=shc.exe +SHCC02_DEP="$(OSDIR)\FX\include\fxlib.h" + +# Hitachi SH Assembler03 phase +SHASM03_EXE=asmsh.exe + +# Hitachi OptLinker04 phase +SHLINK04_EXE=Optlnk.exe +SHLINK04_DEP="$(OSDIR)\FX\lib\fx9860G_library.lib" +SHLINK04_DEP2="$(OSDIR)\FX\lib\setup.obj" + +####################### +# Files to build +FILE0=MARIOBR +FILESRC0="$(APPDIR)\$(FILE0).c" +FILEOBJ0="$(OUTDIR)\$(FILE0).obj" +RFILE=FXADDINror +USERALLOBJ=$(FILEOBJ0) + +####################### +# nmake "all" statement + +ALL: SH_ENV \ + $(USERALLOBJ) \ + $(OUTDIR)\$(RFILE).bin \ + +#################### +# Description blocks + +!MESSAGE %3#C$z`&'0? +!MESSAGE +!MESSAGE Executing Hitachi SH C/C++ Compiler/Assembler phase +!MESSAGE + +SH_ENV : + set SHC_INC=$(TCDIR)\include + set PATH=$(TCDIR)\bin + set SHC_LIB=$(TCDIR)\bin + set SHC_TMP=$(OUTDIR) + +$(FILEOBJ0) : $(FILESRC0) $(SHCC02_DEP) + "$(SH_EXEDIR)\$(SHCC02_EXE)" -subcommand=<< +-cpu=sh3 +-include="$(OSDIR)\FX\include","$(APPDIR)" +-objectfile=$(FILEOBJ0) +-show=source +-listfile="$(OUTDIR)\$(FILE0).lst" +-size +-noinline +-chgincpath +-errorpath +$(FILESRC0) +-lang=c +-nologo +-debug +<< + +!MESSAGE +!MESSAGE Executing Hitachi OptLinker04 phase +!MESSAGE + +"$(OUTDIR)\$(RFILE).bin" : $(USERALLOBJ) $(SHLINK04_DEP2) $(SHLINK04_DEP) + "$(SH_EXEDIR)\$(SHLINK04_EXE)" -subcommand=<< +noprelink +sdebug +rom D=R +nomessage +list "$(OUTDIR)\$(RFILE).map" +show symbol +nooptimize +start P_TOP,P,C,D,C$VTBL,C$INIT/0300200,B_BR_Size,B,R/08100000 +fsymbol P +nologo +input $(USERALLOBJ) +input $(SHLINK04_DEP2) +library $(SHLINK04_DEP) +output "$(OUTDIR)\$(RFILE).abs" +-nomessage=1100 +end +input "$(OUTDIR)\$(RFILE).abs" +form binary +output "$(OUTDIR)\$(RFILE).bin" +exit +<< + diff --git a/Debug/FXADDINror.abs b/Debug/FXADDINror.abs new file mode 100644 index 0000000000000000000000000000000000000000..0e28a5bdced48cbc971def1bb801fe491d54092a GIT binary patch literal 5320 zcmd6rZ)_9i9mk(L+t|VBXeel9bc^Gl&^00sAaQ;xsx*f7q$hWu=l8wm@9%kjPkek}WRT-IQcFB}0Pl7|FCi_TnzmjNAYO7mSx;K3 zc5Vad=Izg#@j|l)*^P|vxd80649P85v(xT5NxIkMt9H_lC(Uc97#ZJt-h};^c&CY$ z(d@7j;=7xgYN?T(mf5M1-Dex|tl2AEw39TUq?^B0X+Hj0)K8ig{a4))|1!6Z|eK zpWBv#m0;9=O}k3|(snUe=H$z!NJ(GLt*>$s?eZGN~lKb*Q4{lxHVl4|C z@n0g9ZKjuCPGTER@z=PrTb8bG?EP+u$i~3N1+XGr^F26SB8pULr`qbOhh7i;JoG~7 zhnVGmgc8X}Cerhb)2>AHkw}@JiYSr&kz{zs))IdpTIMIh2f`Ckw4FcG*0*CJJK9n@ zba_vI`@+oPx@Di3jQA&`qEu;a<)e7hT$9N?EhVn(`J;Ezo9C*31HQj{PPevlkFD&!aLRwMB3~KyD?gK6nU!N)f!lo{6g>S&Fb1D{vh;p=J89~h znDY&`ERZ?xU|Vt}b8fJ0u&t-RZ)=Hsk4xU@?Js||HHx~eIxpuM!gQ zg*q07Lw%P?+twXBw?EMC4R6`u{@>>9U6c1n=wD{_Pp(DRCDIn8@1zNSjWfhOR_{Bc zqn>@g~}=JT2=iA6Q12ULRu3^AM6lt5UPw+-oC^sIB!y=LWRtet%}I*u^& z)jqq?nSb3tNyrvhJk9VChM!>gCk+3J;d2bX!!YfGnXLA2)id`shC3PF#qh%n?`K$I z_y-I>%kWPb{td&wWB6@`m+F}hGTg=RPKNg~oMd>C;lm6cWB5sWp3*WGAqdd?0(=E$ zs>!sd1RpXJ0P&jt5%f00claOMz6Cq{nSYu39uDWk+|US( zx%}&>Z{K>ee)InE60IN0PM6e=_RczZJ@jet8cQEEV{%oG{<(MKF0%o6pJg9{{k-)( zwLgmb$`;f5AG7>##L^!$V+{mopXv+H@3HihkD|V!gWCGnwMteLYGmH z$lydgd2lwH?^1Qssv3DAtZ7lLAjD$(6XDTDswq`d21k-YRLdF4AfS=xkTNfzS3*L` zD`GLFW)&f(Oo_8vv4J`&YFb8=4uy-~o>hyZqN)$h>Jkm24a8HLF{tXY*?I%>v{FRd z4Geon)C}UVs)zI1z!627rS(T=6zNa{@xH8*rTrfreWZbPyrAk0#v#($1w*QuzUU%N z9ohEH{=V+Lfn;nrKq;8D?j&Hp1S4RD+IbIov%Ot%up;QB_xy za)Zy5LP5`=k#Q0w5h0QglIl@~j0>swIEj%6NsumC$;?g*sy>yo-^EO(pv>8XmTRx7 zuGsHW1uNrXFZD&iQcweulYio?o0F-KkECGLylPcf$kCPiCQPj-C@jU zi(;KL!=`xB1vk_y)dZW?hKTe2gG_E0bnQ;!k`&57Hu`4iRApm!enhy6mE`Zo8 zqs&gWj{dSj>vJIv<`EB1;@!RvQLU}RU9qOa|2p_R=(f$N!=2H*kGib5>$ExFzwFT2 zZP-tzZj(c2|31`6w;4J!@Y9dczqicrZiaQT2L<#Sgm}`9Y}bQVnp_`LpXOgW7c|lT z(-}2cqp@7w$w?%l`x>N%ly-(T69=nJFw!Vlh!qcwra06X$ j1KkOf;l5}m|67>Dvo_&L>!bN8WQVRr20w>vCsX%thHF7) literal 0 HcmV?d00001 diff --git a/Debug/FXADDINror.bin b/Debug/FXADDINror.bin new file mode 100644 index 0000000000000000000000000000000000000000..6efc410cf945af1d2f703884f52d3ba86a65db08 GIT binary patch literal 1196 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 literal 0 HcmV?d00001 diff --git a/Debug/FXADDINror.fsy b/Debug/FXADDINror.fsy new file mode 100644 index 0000000..eb13052 --- /dev/null +++ b/Debug/FXADDINror.fsy @@ -0,0 +1,51 @@ +;HITACHI OPTIMIZING LINKAGE EDITOR GENERATED FILE 2019.11.17 +;fsymbol = P + +;SECTION NAME = P + .export _AddIn_main +_AddIn_main: .equ h'0030020c + .export ___LINK_PROTECT +___LINK_PROTECT: .equ h'00300258 + .export _SetQuitHandler +_SetQuitHandler: .equ h'0030025c + .export _OnAppCloseDefault +_OnAppCloseDefault: .equ h'00300262 + .export __INITSCT_ADDIN +__INITSCT_ADDIN: .equ h'003002b6 + .export _INIT_ADDIN_APPLICATION +_INIT_ADDIN_APPLICATION: .equ h'003002fe + .export _Bdel_cychdr +_Bdel_cychdr: .equ h'00300374 + .export _Bdisp_AllClr_DDVRAM +_Bdisp_AllClr_DDVRAM: .equ h'00300384 + .export _BfileFLS_CloseFile +_BfileFLS_CloseFile: .equ h'00300394 + .export _Bkey_Set_RepeatTime_Default +_Bkey_Set_RepeatTime_Default: .equ h'003003a4 + .export _CallbackAtQuitMainFunction +_CallbackAtQuitMainFunction: .equ h'003003b4 + .export _flsFindClose +_flsFindClose: .equ h'003003c4 + .export _GetKey +_GetKey: .equ h'003003d4 + .export _GLibAddinAplExecutionCheck +_GLibAddinAplExecutionCheck: .equ h'003003e4 + .export _Hmem_SetMMU +_Hmem_SetMMU: .equ h'003003f4 + .export _Print +_Print: .equ h'00300404 + .export _PrintMini +_PrintMini: .equ h'00300414 + .export _locate +_locate: .equ h'00300430 + .export _Bdisp_ReadArea_DD +_Bdisp_ReadArea_DD: .equ h'00300458 + .export __divls +__divls: .equ h'0030058c + .export _DD_GET +_DD_GET: .equ h'00300640 + .export _locate_OS +_locate_OS: .equ h'00300650 + .export _PrintMiniSd +_PrintMiniSd: .equ h'00300660 + .end diff --git a/Debug/FXADDINror.map b/Debug/FXADDINror.map new file mode 100644 index 0000000..19a7036 --- /dev/null +++ b/Debug/FXADDINror.map @@ -0,0 +1,234 @@ +Hitachi Optimizing Linkage Editor (Ver. 7.1.03.000)17-Nov-2019 15:42:13 + +*** Options *** + +-subcommand=C:\users\gmilan\Temp\hmkaf9b.tmp +noprelink +sdebug +rom D=R +nomessage +list "Z:\home\gmilan\dev\c\supercasiobros\Debug\FXADDINror.map" +show symbol +nooptimize +start P_TOP,P,C,D,C$VTBL,C$INIT/0300200,B_BR_Size,B,R/08100000 +fsymbol P +nologo +input "Z:\home\gmilan\dev\c\supercasiobros\Debug\MARIOBR.obj" +input "C:\CASIO\fx-9860G SDK\OS\FX\lib\setup.obj" +library "C:\CASIO\fx-9860G SDK\OS\FX\lib\fx9860G_library.lib" +output "Z:\home\gmilan\dev\c\supercasiobros\Debug\FXADDINror.abs" +-nomessage=1100 +end + +*** Error information *** + +*** Mapping List *** + +SECTION START END SIZE ALIGN + +P_TOP + 00300200 0030020b c 4 +P + 0030020c 0030066f 464 4 +C + 00300670 003006a7 38 4 +D + 003006a8 003006ab 4 4 +B_BR_Size + 08100000 08100003 4 4 +B + 08100004 08100007 4 4 +R + 08100008 0810000b 4 4 + +*** Symbol List *** + +SECTION= +FILE= START END SIZE + SYMBOL ADDR SIZE INFO COUNTS OPT + +SECTION=P_TOP +FILE=Z:\home\gmilan\dev\c\supercasiobros\Debug\MARIOBR.obj + 00300200 0030020b c + _InitializeSystem + 00300200 c func ,g * + +SECTION=P +FILE=Z:\home\gmilan\dev\c\supercasiobros\Debug\MARIOBR.obj + 0030020c 00300257 4c + _AddIn_main + 0030020c 4c func ,g * +FILE=C:\CASIO\fx-9860G SDK\OS\FX\lib\setup.obj + 00300258 00300373 11c + ___LINK_PROTECT + 00300258 4 func ,g * + _SetQuitHandler + 0030025c 6 func ,g * + _OnAppCloseDefault + 00300262 54 func ,g * + __INITSCT_ADDIN + 003002b6 48 func ,g * + _INIT_ADDIN_APPLICATION + 003002fe 76 func ,g * +FILE=_Bdel_cychdr + 00300374 00300383 10 + _Bdel_cychdr + 00300374 0 none ,g * +FILE=_Bdisp_AllClr_DDVRAM + 00300384 00300393 10 + _Bdisp_AllClr_DDVRAM + 00300384 0 none ,g * +FILE=_BfileFLS_CloseFile + 00300394 003003a3 10 + _BfileFLS_CloseFile + 00300394 0 none ,g * +FILE=_Bkey_Set_RepeatTime_Default + 003003a4 003003b3 10 + _Bkey_Set_RepeatTime_Default + 003003a4 0 none ,g * +FILE=_CallbackAtQuitMainFunction + 003003b4 003003c3 10 + _CallbackAtQuitMainFunction + 003003b4 0 none ,g * +FILE=_flsFindClose + 003003c4 003003d3 10 + _flsFindClose + 003003c4 0 none ,g * +FILE=_getkey + 003003d4 003003e3 10 + _GetKey + 003003d4 0 none ,g * +FILE=_GLibAddinAplExecutionCheck + 003003e4 003003f3 10 + _GLibAddinAplExecutionCheck + 003003e4 0 none ,g * +FILE=_Hmem_SetMMU + 003003f4 00300403 10 + _Hmem_SetMMU + 003003f4 0 none ,g * +FILE=_Print + 00300404 00300413 10 + _Print + 00300404 0 none ,g * +FILE=dispbios + 00300414 00300589 176 + _PrintMini + 00300414 1c func ,g * + _locate + 00300430 28 func ,g * + _Bdisp_ReadArea_DD + 00300458 132 func ,g * +FILE=__divls + 0030058c 0030063f b4 + __divls + 0030058c 0 none ,g * + divls_zero + 0030062a 0 none ,l * + A_errno + 00300638 0 none ,l * + n_zerono + 0030063c 0 none ,l * +FILE=_DD_GET + 00300640 0030064f 10 + _DD_GET + 00300640 0 none ,g * +FILE=_locate + 00300650 0030065f 10 + _locate_OS + 00300650 0 none ,g * +FILE=_PrintMiniSd + 00300660 0030066f 10 + _PrintMiniSd + 00300660 0 none ,g * + +SECTION=C +FILE=addin_sct + 00300694 003006a7 14 + _B_BGN + 00300694 0 none ,g * + _B_END + 00300698 0 none ,g * + _R_BGN + 0030069c 0 none ,g * + _R_END + 003006a0 0 none ,g * + _D_ROM + 003006a4 0 none ,g * + +SECTION=B_BR_Size +FILE=Z:\home\gmilan\dev\c\supercasiobros\Debug\MARIOBR.obj + 08100000 08100003 4 + _BR_Size + 08100000 4 data ,g * + +SECTION=B +FILE=_errno + 08100004 08100007 4 + __errno + 08100004 4 data ,g * + +SECTION=R +FILE=C:\CASIO\fx-9860G SDK\OS\FX\lib\setup.obj + 08100008 0810000b 4 + _gb_OnAppClose + 08100008 4 data ,g * + +Absolute value symbols +FILE=_Bdel_cychdr + __JumpTableTOP + 80010070 0 none ,l * +FILE=_Bdisp_AllClr_DDVRAM + __JumpTableTOP + 80010070 0 none ,l * +FILE=_BfileFLS_CloseFile + __JumpTableTOP + 80010070 0 none ,l * +FILE=_Bkey_Set_RepeatTime_Default + __JumpTableTOP + 80010070 0 none ,l * +FILE=_CallbackAtQuitMainFunction + __JumpTableTOP + 80010070 0 none ,l * +FILE=_flsFindClose + __JumpTableTOP + 80010070 0 none ,l * +FILE=_getkey + __JumpTableTOP + 80010070 0 none ,l * +FILE=_GLibAddinAplExecutionCheck + __JumpTableTOP + 80010070 0 none ,l * +FILE=_Hmem_SetMMU + __JumpTableTOP + 80010070 0 none ,l * +FILE=_Print + __JumpTableTOP + 80010070 0 none ,l * +FILE=__divls + zerodiv + 0000044e 0 none ,l * +FILE=_DD_GET + __JumpTableTOP + 80010070 0 none ,l * +FILE=_locate + __JumpTableTOP + 80010070 0 none ,l * +FILE=_PrintMiniSd + __JumpTableTOP + 80010070 0 none ,l * + +*** Delete Symbols *** + +SYMBOL SIZE INFO + +*** Variable Accessible with Abs8 *** + +SYMBOL SIZE COUNTS OPTIMIZE + +*** Variable Accessible with Abs16 *** + +SYMBOL SIZE COUNTS OPTIMIZE + +*** Function Call *** + +SYMBOL COUNTS OPTIMIZE diff --git a/Debug/MARIOBR.lst b/Debug/MARIOBR.lst new file mode 100644 index 0000000..9dd3808 --- /dev/null +++ b/Debug/MARIOBR.lst @@ -0,0 +1,269 @@ +SH SERIES C/C++ Compiler (Ver. 6.0C) 17-Nov-2019 15:42:12 PAGE 1 + +************ OBJECT LISTING ************ + +FILE NAME: Z:\home\gmilan\dev\c\supercasiobros\MARIOBR.c + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + MARIOBR.c 1 /*****************************************************************/ + MARIOBR.c 2 /* */ + MARIOBR.c 3 /* CASIO fx-9860G SDK Library */ + MARIOBR.c 4 /* */ + MARIOBR.c 5 /* File name : [ProjectName].c */ + MARIOBR.c 6 /* */ + MARIOBR.c 7 /* Copyright (c) 2006 CASIO COMPUTER CO., LTD. */ + MARIOBR.c 8 /* */ + MARIOBR.c 9 /*****************************************************************/ + MARIOBR.c 10 #include "fxlib.h" + MARIOBR.c 11 + MARIOBR.c 12 + MARIOBR.c 13 //**************************************************************************** + MARIOBR.c 14 // AddIn_main (Sample program main function) + MARIOBR.c 15 // + MARIOBR.c 16 // param : isAppli : 1 = This application is launched by MAIN MENU. + MARIOBR.c 17 // : 0 = This application is launched by a strip in eACT application. + MARIOBR.c 18 // + MARIOBR.c 19 // OptionNum : Strip number (0~3) + MARIOBR.c 20 // (This parameter is only used when isAppli parameter is 0.) + MARIOBR.c 21 // + MARIOBR.c 22 // retval : 1 = No error / 0 = Error + MARIOBR.c 23 // + MARIOBR.c 24 //**************************************************************************** + MARIOBR.c 25 int AddIn_main(int isAppli, unsigned short OptionNum) +P 00000000 _AddIn_main: ; function: AddIn_main + ; frame size=4 + MARIOBR.c 26 { + MARIOBR.c 27 unsigned int key; + MARIOBR.c 28 + MARIOBR.c 29 Bdisp_AllClr_DDVRAM(); + 00000000 D30C MOV.L L316+2,R3 ; _Bdisp_AllClr_DDVRAM + 00000002 7FFC ADD #-4,R15 + 00000004 430B JSR @R3 + 00000006 0009 NOP + MARIOBR.c 30 + MARIOBR.c 31 locate(1,4); + 00000008 D20B MOV.L L316+6,R2 ; _locate + 0000000A E504 MOV #4,R5 + 0000000C 420B JSR @R2 + 0000000E E401 MOV #1,R4 + MARIOBR.c 32 Print((unsigned char*)"This application is"); + 00000010 D40A MOV.L L316+10,R4 ; L302 + 00000012 D30B MOV.L L316+14,R3 ; _Print + 00000014 430B JSR @R3 + 00000016 0009 NOP + MARIOBR.c 33 locate(1,5); + 00000018 D207 MOV.L L316+6,R2 ; _locate + 0000001A E505 MOV #5,R5 + 0000001C 420B JSR @R2 + 0000001E E401 MOV #1,R4 + MARIOBR.c 34 Print((unsigned char*)" sample Add-In."); + 00000020 D408 MOV.L L316+18,R4 ; L303 + 00000022 D307 MOV.L L316+14,R3 ; _Print + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 17-Nov-2019 15:42:12 PAGE 2 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 00000024 430B JSR @R3 + 00000026 0009 NOP + 00000028 DE07 MOV.L L316+22,R14; _GetKey + MARIOBR.c 35 + MARIOBR.c 36 while(1){ + 0000002A L313: + MARIOBR.c 37 GetKey(&key); + 0000002A 4E0B JSR @R14 + 0000002C 64F3 MOV R15,R4 + 0000002E AFFC BRA L313 + 00000030 0009 NOP + 00000032 L316: + 00000032 0000 .DATA.W 0 + 00000034 <00000000> .DATA.L _Bdisp_AllClr_DDVRAM + 00000038 <00000000> .DATA.L _locate + 0000003C <00000000> .DATA.L L302 + 00000040 <00000000> .DATA.L _Print + 00000044 <00000000> .DATA.L L303 + 00000048 <00000000> .DATA.L _GetKey + MARIOBR.c 38 } + MARIOBR.c 39 + MARIOBR.c 40 return 1; + MARIOBR.c 41 } + MARIOBR.c 42 + MARIOBR.c 43 + MARIOBR.c 44 + MARIOBR.c 45 + MARIOBR.c 46 //**************************************************************************** + MARIOBR.c 47 //************** **************** + MARIOBR.c 48 //************** Notice! **************** + MARIOBR.c 49 //************** **************** + MARIOBR.c 50 //************** Please do not change the following source. **************** + MARIOBR.c 51 //************** **************** + MARIOBR.c 52 //**************************************************************************** + MARIOBR.c 53 + MARIOBR.c 54 + MARIOBR.c 55 #pragma section _BR_Size + MARIOBR.c 56 unsigned long BR_Size; + MARIOBR.c 57 #pragma section + MARIOBR.c 58 + MARIOBR.c 59 + MARIOBR.c 60 #pragma section _TOP + MARIOBR.c 61 + MARIOBR.c 62 //**************************************************************************** + MARIOBR.c 63 // InitializeSystem + MARIOBR.c 64 // + MARIOBR.c 65 // param : isAppli : 1 = Application / 0 = eActivity + MARIOBR.c 66 // OptionNum : Option Number (only eActivity) + MARIOBR.c 67 // + MARIOBR.c 68 // retval : 1 = No error / 0 = Error + MARIOBR.c 69 // + MARIOBR.c 70 //**************************************************************************** + MARIOBR.c 71 int InitializeSystem(int isAppli, unsigned short OptionNum) +P_T 00000000 _InitializeSystem: ; function: InitializeSystem + ; frame size=0 + MARIOBR.c 72 { + MARIOBR.c 73 return INIT_ADDIN_APPLICATION(isAppli, OptionNum); + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 17-Nov-2019 15:42:12 PAGE 3 + + +SCT OFFSET CODE C LABEL INSTRUCTION OPERAND COMMENT + + 00000000 D301 MOV.L L317+2,R3 ; _INIT_ADDIN_APPLICATION + 00000002 432B JMP @R3 + 00000004 0009 NOP + 00000006 L317: + 00000006 0000 .DATA.W 0 + 00000008 <00000000> .DATA.L _INIT_ADDIN_APPLICATION + MARIOBR.c 74 } + MARIOBR.c 75 + MARIOBR.c 76 #pragma section + MARIOBR.c 77 +C 00000000 L302: + 00000000 5468697320 .SDATA "This application is" + 6170706C69 + 636174696F + 6E206973 + 00000013 00 .DATA.B H'00 + 00000014 L303: + 00000014 2073616D70 .SDATA " sample Add-In." + 6C65204164 + 642D496E2E + 00000023 00 .DATA.B H'00 +B_B 00000000 _BR_Size: ; static: BR_Size + 00000000 00000004 .RES.L 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SH SERIES C/C++ Compiler (Ver. 6.0C) 17-Nov-2019 15:42:12 PAGE 1 + + +******** STATISTICS INFORMATION ******** + + +********** ERROR INFORMATION *********** + +NUMBER OF ERRORS: 0 +NUMBER OF WARNINGS: 0 + + + + +******* SOURCE LINE INFORMATION ******** + +COMPILED SOURCE LINE: 77 + + + +******* SECTION SIZE INFORMATION ******* + +PROGRAM SECTION (P): 0000004C Byte(s) +PROGRAM SECTION (P_BR_Size): 00000000 Byte(s) +PROGRAM SECTION (P_TOP): 0000000C Byte(s) +CONSTANT SECTION (C): 00000024 Byte(s) +CONSTANT SECTION (C_BR_Size): 00000000 Byte(s) +CONSTANT SECTION (C_TOP): 00000000 Byte(s) +DATA SECTION (D): 00000000 Byte(s) +DATA SECTION (D_BR_Size): 00000000 Byte(s) +DATA SECTION (D_TOP): 00000000 Byte(s) +BSS SECTION (B): 00000000 Byte(s) +BSS SECTION (B_BR_Size): 00000004 Byte(s) +BSS SECTION (B_TOP): 00000000 Byte(s) + + TOTAL PROGRAM SIZE: 00000080 Byte(s) + + + +********** LABEL INFORMATION *********** + +NUMBER OF EXTERNAL REFERENCE SYMBOLS: 5 +NUMBER OF EXTERNAL DEFINITION SYMBOLS: 3 +NUMBER OF INTERNAL/EXTERNAL SYMBOLS: 13 + + + + + + + + + + + + + + + + + + + + + + +*** COMMAND PARAMETER *** + + + -subcommand=C:\users\gmilan\Temp\hmkab6e.tmp + diff --git a/Debug/MARIOBR.obj b/Debug/MARIOBR.obj new file mode 100644 index 0000000000000000000000000000000000000000..407d0c845f7379616f765a20da8edb29b6fc01ef GIT binary patch literal 5308 zcmds5U2I!d9Y6QO@lEVD$(nZUnvIMGR&{AeO4fB@>*CmsW8%b~?e$|axYzb|e3@fg z_RZG7P*a2u4zyG=CT%WW- zig@HNopXNwkMsYZ?{n_Gk<2V?4Za(B-&~B` z(SA3y6XAUL{SfD^oiOo#46j9MAN=4h8{~EO&58}TH(_@=O}A=$Zo4(%_Si(v-sm)) ziCC?6Hr<+LJ6inlz(BmuoGT6R@y1$U-l+u7u(~M>Wrot51KuLB~5^W<*5)dTqLf|bV zX-8_QQ}HkuHSSyBqhugR);S7ZVnFLXWXnjjdZ<3>sNT51D2N76BO^K4k&U!_Y#U6U z2GL*bw|$=bBz6i(?ZXdYH?oi2dC2s>JhTlv*s>v{BS;jN>Rm)q{Do&=_kGADQD2Cb zkR%3-U_6b#l0uNw<-tn~c=!Wk-xD@eNZmCB0}j85>@t!hY4;)o5(5tZ6WMKPr08B& zFyP2L$gUtsqW%(n5lQhkItG4`6oRDg4e$~Jj$T4WYfzHZeG>xd8*ub17h|6#f|SzZCvK3<0%~$V4zSK_eSZ)EMxO^8%URgYgmk{5|?$tqT1MLZ3n7 zG2U8T@KNw4dttuRXm2>B^$oXaw@NkVrBb!j+w3^qs@-$jm2SINT8-t?*~R>HmF;_5 z{ohNuIsiuR!%wIinGPa>9usR97`n9 zYvoujmr2KC#dLO!m2ustTjdSgZNaAHdam8X6<^rudCtaxhCM--dNBCy%4htEo5S9t zeM5ACv7-`WFB%drFm_DhgpkwP#QpQ2lv_A91g3jLqqBzgm(*u~u^u^1BB%S2h-_%z z5Jhifb45hOouSeBYMh&yeQI`g_Q}~N=FZKY(`0?=a|Jd}B9RZGfkz+p0nbT#d5?tl zb90Y`dg1MnjNfNNt@Uo+WNdd=1Udr=(dUqo9Qm2XJbdJJr#4Y-*j;96eL=6$?s_b&>$HbLW?w;kSmB%P);a{n zi1D;%ua^_)LT)j8g_-&(W<1k$>K=NEg`}S{jf);$$AYtrXS?otBhW^Tg-YA=+8f+} zg^ZZ=L;@pf#L0UqAImK#V#S#6Kk>3#^Za{*2S_%Yz$brhLTVXHokiE%u>H{Roa%ew zzQ>F-`OYWf#n@UZlk|OmGJ_{_tn1jkL2xu;tPs26wrWx|YGji2x>NNo;8$Zf1Xq)*+5A;Zy7{mW7mC?@ECoy5d_;;8 z<#;TgKtIOJYt)aWbS8<_zLe$tFe`2_7`j>YwmOdNi)q&CJ^EH6qIoc#n#xDbdZ*jQ z{pAIn8Zp=HTCMB!db|>rU85h4M1$H1O*yVfM4M?34QVIbUW~r%xL7MfknPYn-rAj-M7(6y-�y&+TghD5bd?WA=iWLO`u zMzA>bNoH6VBN04}j3ZiPcz*a3!v@ZJ^ANi*Z&kPJRl7&qz5|Q@SX*PaH zGK13^!Dpj}l^%I4x-f8NU{rem4IT;wZggA%k-0r=)Mx!_qz_2Hp+Ip+2NI^gdacj+ zNU0!Id#!Hq6Ypy}+qH(627=i^PBa#uFU4bpbhcE#e)g#g=VwwAg~UoJTPQ7EDY>m` zbF+rE)<5>(w|>3pR;C*iklqOux83u(y4!U69F{_#!HCoKf_!71&i z9zu&rJF^SYnEuK_beM%%SPSc6BW#94;el}2vaCUC$ck7|>yUNW8XjDTQ5{TNK$*qE zd|>I`ltlQV{L-T@GGlhnS~tGjU!%r1_Fb9qFe5G$=`|z3q$uSas*(A(d6;($R-dPR zCam$zF+lh&q`&vE7E&ND^goJ^Ct<`0enyU=|I#Pktfs`1I2t(q53LIB`v3p{ literal 0 HcmV?d00001 diff --git a/INIT/CasioRAM.mem b/INIT/CasioRAM.mem new file mode 100644 index 0000000000000000000000000000000000000000..c61ea28cf05458d7f412af53fa221167631075cb GIT binary patch literal 53632 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 OWz_8-w~S zE(XjOtstlFo8aHRAeHPh`KXU>sT6VYo7;MfH=jdJUEpt_j}E`e6{NZiIhJUSWj#xRA3LyfbpopL}TmPF@*YqL7apz~yFq=uLusOGp*! zdsOklVl=;@eNB&`c`6P1O~knL31}_={B7o#)crmZG5#bBpsP_%Udf|yDmtVxQa`i_ z3m!&ro{maXznHE7XR$i)agevg5hr?a^M!PA$KN>|qbOmXqf)&h)^Wh!J{s-|(j#`p zP?t)555xITW;(};U-_@oF>iuRIUvWp!KW-=lD1DhyA^S6z_YJWo3+7WwQnNRZdV=n zhu$X_NQ_MFnasPaxcJmxb0w7EK#T4}J}%^tpUCpo{>N*d*p?VwR_MJ4_p{v8in|mU z{C;i!&NYuQyp)A31^@1!`d-w2j3I9?F`NzDjKy|v$Xm5WFoDV11A6bB#7Bs@y_r^t zJrKb}InJ2^&jUtvK_?`+0T2f6y$xrUdhLyg{@*S36r=~ z)cL_Be@<17bOicTi_avsvFnG<2)WoNUfFxeW+#6~f??Zj6-_Mphzqo;eW7Pt?Yd{n z&NOU;#iM@um);7aj@NgNKict;5A{w2>2j7R%`;Va&t)}3uFKSZAMFnGb6!0B+_hq% z=!PbHPoz;(WZF5!+*2Nfmv>M8Y@;YbKc`ri31-6+L=C}@*`)H zh>rG7${nRBr2LkX9$N z88~Ov*)?l%ozD)N@m#{Odw(zms;qiVt-IxSZ->FbjpJt;d-Si@E~tIm=T=lK?U43K z$R@d+mk`#1L3|qc4ei|WXAd-${bDk@+01E^&^~Enj(^%GBi=~XV zn;eq1Om$xZ4;&57cN(30b)=w1XHb?XBO05PFc)D+;C&W3okMlvhTKVOlA%CnoZVM& zQiI=eqsL{#ZyA3=2;9#L;G~|?Mr*YxcL(^vAfd+JCyUl<&4w`GW~uIYM%ASF&~wuJ zcw3?VG=1P^EuVca3DTk$y1|@S0(c*s3A_q*FMV}kPOJcPVmV=8a3d@Qdw`pzL+)hm zpr;~d`KD@E(Od5TH=8vgJzaY4@Oq_}(wrq%L#SC=U%JD#&v~BU(hdY?HCc65CHmz! zI8(pK*ii;WU6`QH=N4jFwfu4?WSxssai?Fr$C|_f|AqzsDqF5=0ShG5#dd zua0Mqm^zm(=>X5ZO*j1Q{`SNVnsy^%$Pa^hhA7-koHs)TcA%cm=9%5+8@%!Uv)?%l zQ2wMIxY_9hvp7)^z0hGE!x(;;6KH2Rf@dQBy{c_&r-=c%p0HN7QsP-icY*tYdnxVw zJzQuWq%jH3eqXi`S#rV@2A6x3#TOtfN zDgzG9mAR@cXSrne=9uqkjxyt@OFG0`=C1Bj7_TKn*2DBgxCo3suoKa{;Pho?u6Sk0 zKcG?Cc*|FFd#W{`+)Unt*wBWo3`J51LaXT(g59LH@gZAsb%u%y?XWAS}ZLdvh;`7By$O(osnHi9hJm` z6B%w%Q{7ijF)9MdVc~qmaaO_sDf?v}<(z-5PF*}uVYIov=D5bd33EYbdC#F4HgEjA znqbGTC4cG#ai2aGTkw&ln3A7wF^pNbn#8_y6fDC-4+n5o$(=FBqiSJ~q4m#_AF{5Q zqmsR8gV52@1m2lG)W7MhHm~dl{c3Q{%8UAn?aoU(=YBmL2_bI z0CZAw$O5Pp8hgR{e~etV`%=MYRi9^T8h*9RrU^}Pmg%2F&t*>n&^3F|w~Emk-U|-# z5!^}2N659(rB+_^s(3YFjY8_VZPGfIA9wMA&j-^OWWv=Be#`2Bj4|-}bS8k`GE0ZO zE{Wjx63*3yUeNjA0tqz-L4#XF=6YWp@a4j}+RtQ_RcC8!@~ literal 0 HcmV?d00001 diff --git a/MARIOBRS.dlr b/MARIOBRS.dlr new file mode 100644 index 0000000..6b419a0 --- /dev/null +++ b/MARIOBRS.dlr @@ -0,0 +1 @@ +[DLSimRunSpace] diff --git a/MARIOBRS.dlw b/MARIOBRS.dlw new file mode 100644 index 0000000..b0d02c5 --- /dev/null +++ b/MARIOBRS.dlw @@ -0,0 +1,112 @@ +[DLSimWorkSpace] + +[_1] +Type=5 +Order=2 +Top=15 +Left=2235 +Height=4740 +Width=5565 +State=0 +Flags=00000020 +OptionA=0 + +[_2] +Type=1 +Order=0 +Top=15 +Left=7800 +Height=4740 +Width=5535 +State=0 +Flags=00000001 +OptionA=15 +OptionB=15 + +[_3] +Type=6 +Order=4 +Top=4740 +Left=7800 +Height=6390 +Width=5535 +State=0 +Flags=00000001 +OptionA=0 + +[_4] +Type=7 +Order=3 +Top=4740 +Left=2220 +Height=3165 +Width=5565 +State=0 +Flags=00000000 +OptionA=0 + +[_5] +Type=8 +Order=1 +Top=7905 +Left=2220 +Height=3225 +Width=5580 +State=0 +Flags=00000000 +OptionA=0 + +[_6] +Type=3 +Order=9 +Top=0 +Left=10788 +Height=6348 +Width=2232 +State=16 +Flags=00000000 +OptionA=0 + +[_7] +Type=2 +Order=8 +Top=6348 +Left=7800 +Height=3588 +Width=5220 +State=16 +Flags=00000000 +OptionA=0 + +[_8] +Type=17 +Order=5 +Top=15 +Left=-15 +Height=11115 +Width=2235 +State=0 +Flags=00000000 +OptionA=0 + +[_9] +Type=15 +Order=6 +Top=4740 +Left=2232 +Height=6348 +Width=5592 +State=16 +Flags=00000000 +OptionA=0 + +[_32] +Type=16 +Order=7 +Top=0 +Left=2208 +Height=4584 +Width=5592 +State=16 +Flags=00000020 +OptionA=0 diff --git a/MARIOBRS.g1w b/MARIOBRS.g1w new file mode 100644 index 0000000..c352a56 --- /dev/null +++ b/MARIOBRS.g1w @@ -0,0 +1,15 @@ +[DLSimProject] +Name=MARIOBRS +Version=00.00.0000 +Model=:fx-9860G.dlm +SourcePath=SRC +MemoryPath=INIT +MemCardPath=SDCard + +[Program1] +Program=MARIOBRS.G1A +Debug=Debug\FXADDINror.dbg +LoadAddress=80000000:90100000 + +[Files] +SourceFile=:MARIOBR.c diff --git a/assets-fx/img/brick.png b/assets-fx/img/brick.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b34c87366bdf642caeed296d93b5bbe19e13f2 GIT binary patch literal 598 zcmV-c0;&CpP)EX>4Tx04R}tkv&MmP!xqvQ%glF4(*`gkfAzR5EXIMDionYs1;guFnQ@8G-*gu zTpR`0f`dPcRR6lU)^qujoaXY7haLS;m|sCE>Zg?&0J6U5saW-}`g*sX2=QK9P8q8KzCVK|H-_ z8=UuvBdjQ^#OK6gCN)U>$aSU3Z=4G*3p_Jorc?985n{2>!Ab|SqNx#25l2-`r+gvP zWR>$4XRTaitv>k+LpgnAnd?-;NMI35kRU=q6(y8mBSyPUiiH%N$36T*u3sXTLaq`R zITlcX2HEw4|H1FsTKUO|W>P2)1YR8HV+0890*#vEd>=bb;{@f@@_FF>jJ_!ggl~bKwdUMf=Qw=;(lo2&4RCM> zj20++-Q(Teopby5PHTQY8EbNby%1r^00009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-;x6AL&wEw|DB0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN zKuJVFR2b9Ek3k9mAP5BA=>K1y4n~w<)FEhY!j7wE2|%%&>X9)^0wir51G?w&**^2G k`<9wOaXl<~cgs(|H&S&%3UZIgcK`qY07*qoM6N<$f@&`E%K!iX literal 0 HcmV?d00001 diff --git a/assets-fx/img/coin.png b/assets-fx/img/coin.png new file mode 100644 index 0000000000000000000000000000000000000000..998eff98d34de07254ca44917a1057d2ef75400e GIT binary patch literal 585 zcmV-P0=E5$P)EX>4Tx04R}tkv&MmKpe$iTT4YN3U*L&$WWauh>AFB6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfadlF3krMxx6k5c1aNLh~_a1le0DryARI_6oP&La) zCE`LRyDEfU(T#reA&5bVnfjb4CgC~0?&0I>U5saWpZjz4C^?e>K7n|a>4rtTK|H-_ z>74h8BdjPX#OK6g23?T&k?XR{Z=4Gb`*~)>NT=qBBg8_Xjpa6GMMEW?B91DmM*04X z%L?Z$&T6^Jn)l={4Cl0!WvWO9|j z$gzM5R7j2={11M2Yvv~>+@x?E2)@|%#|RMG1sXNm{yw(t#t9I32ClT0zfuQgK1r{& zwCEAgyA51iw={VVxZD8-o^;8O94SE4pU(sDXY@^3p#K)=T624A?&I_UNK;qI8{ps& z7%foty2raa+k5->OtZfqCCGA!59J1700009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-;x6A&#RZW`0O0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN zGf6~2R2b7^{Qv(y1L=SXnZwA)NU}CYM#lgD{}ZW`iGeIYrZz_8Ac44(WNkEeB$?U( X3HA>Sw)Z@<00000NkvXXu0mjfC*k!_ literal 0 HcmV?d00001 diff --git a/assets-fx/img/death.png b/assets-fx/img/death.png new file mode 100644 index 0000000000000000000000000000000000000000..bf723b881ccd49831f65511a88d482f3b34b7c30 GIT binary patch literal 1360 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 literal 0 HcmV?d00001 diff --git a/assets-fx/img/gift.png b/assets-fx/img/gift.png new file mode 100644 index 0000000000000000000000000000000000000000..396e92eda13009c57110e4086e836ba22a98edb5 GIT binary patch literal 619 zcmV-x0+juUP)EX>4Tx04R}tkv&MmKpe$iTT4YN3U*L&$WWauh>AFB6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfadlF3krMxx6k5c1aNLh~_a1le0DryARI_6oP&La) zCE`LRyDEfU(T#reA&5bVnfjb4CgC~0?&0I>U5saWpZjz4C^?e>K7n|a>4rtTK|H-_ z>74h8BdjPX#OK6g23?T&k?XR{Z=4Gb`*~)>NT=qBBg8_Xjpa6GMMEW?B91DmM*04X z%L?Z$&T6^Jn)l={4Cl0!WvWO9|j z$gzM5R7j2={11M2Yvv~>+@x?E2)@|%#|RMG1sXNm{yw(t#t9I32ClT0zfuQgK1r{& zwCEAgyA51iw={VVxZD8-o^;8O94SE4pU(sDXY@^3p#K)=T624A?&I_UNK;qI8{ps& z7%foty2raa+k5->OtZfqCCGA!59J1700009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-;x6A&f>SdL4S0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN zRY^oaR2b8pkwFRoF$e=Evj6{b_E0Ke>!EB;B4&&z0IOK7zx z4d?PKfJ*9^su9Vm^CT`*NgX|N$n1_2V@UmbfG&^u=mmwnMF!sJ5>fyF002ovPDHLk FV1m*M0zCi# literal 0 HcmV?d00001 diff --git a/assets-fx/img/mariosmall.png b/assets-fx/img/mariosmall.png new file mode 100644 index 0000000000000000000000000000000000000000..09ff407fba22db3a5b51aff4273063d3baee80a8 GIT binary patch literal 712 zcmV;(0yq7MP)EX>4Tx04R}tkv&MmKpe$iTT4YN3U*L&$WWauh>AFB6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfadlF3krMxx6k5c1aNLh~_a1le0DryARI_6oP&La) zCE`LRyDEfU(T#reA&5bVnfjb4CgC~0?&0I>U5saWpZjz4C^?e>K7n|a>4rtTK|H-_ z>74h8BdjPX#OK6g23?T&k?XR{Z=4Gb`*~)>NT=qBBg8_Xjpa6GMMEW?B91DmM*04X z%L?Z$&T6^Jn)l={4Cl0!WvWO9|j z$gzM5R7j2={11M2Yvv~>+@x?E2)@|%#|RMG1sXNm{yw(t#t9I32ClT0zfuQgK1r{& zwCEAgyA51iw={VVxZD8-o^;8O94SE4pU(sDXY@^3p#K)=T624A?&I_UNK;qI8{ps& z7%foty2raa+k5->OtZfqCCGA!59J1700009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-;x6A>sP{Glx60000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN zvPnciR7l6|mdg&rAP7ad#Q*jHF9tws3B=}Zk4YOG{*!J9us+_pL~LVFrNx%)^j zX59M}pw3JmS&pbAN?9HU{|WMn2~tKaGRl6Sb81z+Qa6(}qUScXcFFZc+K5skORd>Z u0w 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 literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/coin.png.o b/build-fx/assets/img/coin.png.o new file mode 100644 index 0000000000000000000000000000000000000000..440988c134a127c486537371705af9a211c468bb GIT binary patch literal 448 zcmb<-^>JflVq|~=Mg}b)8%coS2UyMoOlmN&GO#c(DsX~$96&6Bgh6~_0W-u7xIF?8 zJ~vRm2FMI3UlPIp|B)d+GdDdxIX^QG!HQ4KOF`llXI7;$Fz6Lm=9VNT0qK$=2%Q0A z73HTSmL!5~AR0&mRf62f1l0iw39uWXe3&1Q)qtd8fH(k%fnEjcWdYJaZ!v(v4kQKx YYk&-F<_QADk=0!R@|9tlfHc@%0PgZ5e*gdg literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/death.png.o b/build-fx/assets/img/death.png.o new file mode 100644 index 0000000000000000000000000000000000000000..2e1710e8ebfe40d377f510f76cb13ace14d9d044 GIT binary patch literal 448 zcmb<-^>JflVq|~=Mg}b)8%coS2UyMoOlmN&GO#c(G;qMxlfhtym=Cu@0K(@18l?g< z4$7BC@c(~gh|kPTk55TWEXhD(#;4|`Aajc|t5O*l^olEUOA?cSbV(6}&VaFs@>3E^ z56u{p+Ct4$DEj=YMjvj`Bgz(TwzcbqI2+)L1&lEJqcX`1rLhb64Y(Clj4fg`_AmT-|=8R_`df(-}htQ_se(Q-nko- zP=aHT;5zxjhP>s+`h2ayIglX&%qKw&cp*7Fk%0f@BcT}p>RyZ3@LmL2@vDKFqrF>7aLh_f54{$-k?# z++rT8TDr}Sy4p%sn=_b!-IesNU7f4sYkwR=FS@EGKeWL$-E3seAW?hgf7sOn&95Ia z)X?{airt~}n#E`+ZhB$9zgj&telmZ^Q$qQ1uN2}zuMpz+?^2kHr?X)&5CrcTF9ZZM zjT7@1!}Eu#>Hf{-^=+X6jx3H?PICjz#bJ9X%vMg|#Lmuku33PL-t?xxqvUrAY-f7f z3eARSrH!uP4QL2jZc2aDPRO6-5n$pQq)h%nnU(~|Fr}|AIRFuQAo~uQX+!Bu5l6Gy zio68(;9sQ6;^Rv;>ptZh7hKrmbb;EZ9)#%qo$ZP8&eJflVq|~=Mg}b)8%coS2UyMoOlmN&GO#c(DsUdIZ(x||(7>P))WE<4q$Plu z0muf4f#e7QW{4eddjueSZlFF5kX|TX62brfks&@aH$6T*Gpz){icif;LE;r>R;4m9 z=oMGymLw(t>5?J{odIJN<)-bUfTUu8H~@%& oUIpuA0n$KkF>pe~fD{<40g~9v69kHb^uoXuAVV3(0n%W50kJ$R*Z=?k literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/mariosmall.png.o b/build-fx/assets/img/mariosmall.png.o new file mode 100644 index 0000000000000000000000000000000000000000..a1c2e83c0dc372fadb15b278a7b57ec3008b8c16 GIT binary patch literal 648 zcmb<-^>JflVq|~=Mg}b)8(H80Sk44YYA~=eurM$=NXzi?v4ceF?B)9p0BJF9DP9mi z!GN&=#OGs|;REp_bl935fV7PqKYIg^&M}s3I{>870kP)6?1PzyZjOo&CrblR5Jtn~ z|JU!o{{YBobXX9e0HmE11v(snG%j<1QW$_45-#wt5rFUofeP<{6hrx{2>$<%4Dp${ z>G8RVMVa}@a41_r(2%G{E~Bp_W<1fervtfKss#F9jiog@Hh zpjwdInV@<=F$#7!ln?V4vKpWiBhXt60YD7&K3FdckOqlyLdAd-2rwo92`dl_3Sj1e U!Uv=m3K(Yr8OksokOr#*0AqtjkN^Mx literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/stone.png.o b/build-fx/assets/img/stone.png.o new file mode 100644 index 0000000000000000000000000000000000000000..204d51ad5409b751b0549ddd9995a3c2d200f0cf GIT binary patch literal 488 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 K{>&RuME3_l&|Y=` literal 0 HcmV?d00001 diff --git a/build-fx/src/box.d b/build-fx/src/box.d new file mode 100644 index 0000000..809537d --- /dev/null +++ b/build-fx/src/box.d @@ -0,0 +1,5 @@ +build-fx/src/box.o: src/box.c src/box.h src/world.h + +src/box.h: + +src/world.h: diff --git a/build-fx/src/box.o b/build-fx/src/box.o new file mode 100644 index 0000000000000000000000000000000000000000..ecec7636e8f4be49a8d81193ff57f0c7ae6cefd1 GIT binary patch literal 1020 zcmb<-^>JflVq|~=Mg}b)8%cm^3XsptU;M zwhU+eY5L3bx9K0#zo!4}wyVFAH+P7O0!Ob-Ci5L926k?#Jm%mQPIE>nJMmtdw+xfZ z7Z`^(hc-U{YkJ2p+-lWBb}dP(7_S;DgI-ln(SD|srr;(M8y{|yJ&*q?SavY>OC>K( zY^wXuH=Rk!P)9@PA%ld-MQum!kXE1_zM0IoH5u4>q;i>qS~=C3rEJYR9VWXiFn`BT z%NX8lTik!@AwwPG`hC`O5}OQd)<4n^ifVeuV6euJ9cnYr^S@xbWj#exnnD}<8BN}p z>UeXTo_X|FK@(`ZVDjR?#@he9VA~}GfwqhKtL1&m{g(4B`&-tx%x?_b8Q z`!6Ouu4P=m%VthsqoIz3U|?%d+xq8*8h`J@!`R)~*-Amf-7i#A!BWpq&j2og!hpvC z3&a19$TG|*@dJt+5JCVThXug{OR@s_>`*ZwA&7n+ARolkgYv~-dIUg>r2GoKWQO?S z^gM=mAUi%czbus@zC6DuCnY{TwIn{dBpsrj(Sm`24eC}#8wLgr2wShXGPfi#i9xTp zqzFQ1z*t48If;5DsTCy*dMSw|i41y4#l;MI$@#gtsd*(ZM-WFV0F{C4V}mLOrcy=+ zC>unzEpsRMf*}160QW#DvrtLd}Cl zG1xp{aKiz}JQ!wzi!v~F0NE3O7!+q9H-g*;iWW{FhS~{aF))GrpbBC^0nB}ZKt8g% O2q51IrU*!b)d2uQRiRV> literal 0 HcmV?d00001 diff --git a/build-fx/src/keyboard.d b/build-fx/src/keyboard.d new file mode 100644 index 0000000..9bf9bd7 --- /dev/null +++ b/build-fx/src/keyboard.d @@ -0,0 +1,8 @@ +build-fx/src/keyboard.o: src/keyboard.c src/keyboard.h src/mario.h \ + src/box.h + +src/keyboard.h: + +src/mario.h: + +src/box.h: diff --git a/build-fx/src/keyboard.o b/build-fx/src/keyboard.o new file mode 100644 index 0000000000000000000000000000000000000000..8cdf55c0ed70853bfc1db636cab01aede9d0f4d9 GIT binary patch literal 972 zcmb7CO=uHQ5T3V5nvK~*w5Ww5JS&7K<*flPEu{piwu0D`=k2Ch?9Zm#?rv&(@*qm2 zEJ6+*^ezfQdJs|QP4H}c>$P}TJn6xu2O-X6_oYj24mV5N5w$t`&dyTn#icb9nKDU7c7g+tGTo z7Oh55T#33rLs)v+?!6f4jLz_v`4e`i)l^ody4|m))+x;Jz0;$7P3`_sF7>coc*Z~h z>~>h@=jNt)W&Xj#>wHR7#m(V(j0fk>LhpB)f;$glIU&c(LycALIg2jTf{ysk*gwQN)P){YMXdoe-O zJrBgP(`-@~|0NvRRBt57qE~m2*tE#I9Z&2UIWgrFe>6(UqkQ7gotG0VXY>nkTI4w= z(W#=Qd1EP}tV?sD9I8b^`{76jLNTfM{G>3--$%`(Qjdg7sPsN%O*9$aJ={i>BKyO! Pr+Es!muX4Dwa@zpFMEFV literal 0 HcmV?d00001 diff --git a/build-fx/src/mario.d b/build-fx/src/mario.d new file mode 100644 index 0000000..576f248 --- /dev/null +++ b/build-fx/src/mario.d @@ -0,0 +1,12 @@ +build-fx/src/mario.o: src/mario.c src/mario.h src/box.h src/tile.h \ + src/world.h src/keyboard.h + +src/mario.h: + +src/box.h: + +src/tile.h: + +src/world.h: + +src/keyboard.h: diff --git a/build-fx/src/mario.o b/build-fx/src/mario.o new file mode 100644 index 0000000000000000000000000000000000000000..e862c91ee4da4d331bf41215c53363f481571cd4 GIT binary patch literal 1524 zcma)6K}-`t6#d&4C=|59w@2 zN2RZK8a}qhLfO*bN?}i38VxAVi^Af;w72Me*mPHj@5I8{vR>B8(`Bx`3r^iuwuF^G z23LyS#cz?~;-~n|+AcKWAKGSpEHoT|#c=`0p^dt}NL$-bcP#AYtCmIKQS`&; ze&*OY#=nz?2UySR1Q>}%2Rb4nSFWGv=okCM-kL&2xeoYX?^kt+_ph^{2SNY$4N2WT zbCUJQojqbd(c+Fj!fJYO6LkD>#v$kesfM4c;g^y3paEBJI3_pk*uTl zu>2!8ivliqQp2Cs@HNJLI3L~L%bNTf9VE)u~o|^mZ1?%B{N#iA~U9uOk>r)Y|>8gLAr4pQ@I&M zwpB8%77~VRDnOA1Bw^%1TN)PE@K19=qY#EY{qO(S51T5G-X|NH+>$Uf!~iy zcm+8g#bf69DnJv**8l<>zXCYG@n?WT9Dl)+;CQ!6|2tlD9>?=;b+Kp_bX!hb28oI7#ZFdv@*>+$Zos-^SYV=p NuM7EEnqcPC{QJflVq|~=Mg}b)8(Cljkk8Cu0#>2Hz{$X&-&Xcte_BSe{<2JG{cW!p^p9Ei z=wExor2i~0*k9?kSp6UUqQp;D!o6Y%hjSm>u1US@&7IQR!Pv_RW=-y3>}N{7{Du)K z&fL!fwfe-=!IV=bsSdtaU=YopW2to7%DF_e%QN;yC znI)-u$qexsnI%d26%6s^`9(P?@#(20@yR9WP^A?N4D1kh=@nPzmLw)I=oOa~LFfz^ zt0*-mQLiMmqJ%*&C9x!tK`*Jem_aW&KQ}iuuLNokk(2^Z9mqa5sCrNg)5CZx^~s0O457KI@5;Nc3D z1IdFh6A;6|5g?-hh}nS{KoU>@ GRtEq?;ALb0 literal 0 HcmV?d00001 diff --git a/src/box.c b/src/box.c new file mode 100644 index 0000000..ad2e9a3 --- /dev/null +++ b/src/box.c @@ -0,0 +1,119 @@ +#include "box.h" +#include "world.h" + +int sgn(int x) +{ + if (x==0) + return 0; + else if (x>0) + return 1; + return -1; +} + +static void move_x(box_t * b) +{ + int sgn_vx=sgn(b->vx); + if (sgn_vx) + { + for (int i=sgn_vx; i<=sgn_vx*b->vx; i++) + { + 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->x+=b->vx; + } +} + +static void move_y(box_t * b) +{ + int sgn_vy=sgn(b->vy); + if (sgn_vy) + { + for (int i=sgn_vy; i<=sgn_vy*b->vy; i++) + { + int previous_tested_x=-545; + for (int j=0; jh; j++) + { + int t=(b->w+j)/8; + if (t!=previous_tested_x) + { + previous_tested_x=t; + int typetemp; + if (sgn_vy>0) + typetemp=world_get_ctg(b->x+j ,b->y+b->h+i*sgn_vy); + else + typetemp=world_get_ctg(b->x+j ,b->y+i*sgn_vy); + if (typetemp==CTG_DEATH || typetemp==CTG_SOIL) + { + b->y+=(i-1)*sgn_vy; + b->vy=0; + return; + } + + } + } + } + b->y+=b->vy; + } + b->vy-=b->gravity; + +} + +int box_move(box_t * b) +{ + //velx + move_x(b); + move_y(b); +} + +int box_jump(box_t * b, int height) +{ + int sgn_vx=-sgn(b->gravity)*sgn(height); + if (sgn_vx) + { + 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; + } +} \ No newline at end of file diff --git a/src/box.h b/src/box.h new file mode 100644 index 0000000..abfa177 --- /dev/null +++ b/src/box.h @@ -0,0 +1,21 @@ +#ifndef BOX_H +#define BOX_H + +typedef struct +{ + int x; + int y; + + int w; + int h; + + int vx; + int vy; + + int gravity; +} box_t; + +int box_move(box_t * b); +int box_jump(box_t * b, int height); // hauteur du saut + +#endif \ No newline at end of file diff --git a/src/keyboard.c b/src/keyboard.c new file mode 100644 index 0000000..b6f181a --- /dev/null +++ b/src/keyboard.c @@ -0,0 +1,50 @@ +#include "keyboard.h" +#include "mario.h" +#include + +mkey_t keys[6]={0}; + +void update_keyboard() +{ + key_event_t e; + e=pollevent(); + while(e.type!=KEYEV_NONE) + { + mkey_t k = MK_NONE; + + if(e.key==KEY_LEFT) + k=MK_LEFT; + if(e.key==KEY_RIGHT) + k=MK_RIGHT; + + if(e.key==KEY_SHIFT) + k=MK_JUMP1; + if(e.key==KEY_UP) + k=MK_JUMP2; + + if(e.key==KEY_DOWN) + k=MK_LITTLE; + + if(e.key==KEY_ALPHA) + k=MK_RUN; + + if(keydown(KEY_EXIT)) + { + global_quit=1; + return; + } + + if (k!=MK_NONE) + { + if (e.type==KEYEV_DOWN) + { + keys[k]=1; + } + if (e.type==KEYEV_UP) + { + keys[k]=0; + } + } + e=pollevent(); + } +} \ No newline at end of file diff --git a/src/keyboard.h b/src/keyboard.h new file mode 100644 index 0000000..19ff66f --- /dev/null +++ b/src/keyboard.h @@ -0,0 +1,18 @@ +#ifndef KEYBOARD_CUSTOM_H +#define KEYBOARD_CUSTOM_H + +typedef enum +{ + MK_NONE=-1, + MK_LEFT, + MK_RIGHT, + MK_JUMP1, + MK_JUMP2, + MK_RUN, + MK_LITTLE +} mkey_t; +extern mkey_t keys[6]; + +void update_keyboard(); + +#endif \ No newline at end of file diff --git a/src/mario.c b/src/mario.c new file mode 100644 index 0000000..84270a4 --- /dev/null +++ b/src/mario.c @@ -0,0 +1,76 @@ +#include "mario.h" +#include "tile.h" +#include "world.h" +#include +#include +#include "keyboard.h" +#include "box.h" + +extern image_t img_mariosmall; +int numero_frame=0; +tileset_t mario_small={&img_mariosmall, 8,8, 1}; + +pnj mario= +{ + {26,17,8,8,0,0,1}, + M_SMALL, + M_RIGHT1, M_WALK, + 0 +}; + +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); +} + +int test_sol_le_plus_proche(int x, int y) +{ + int distance=0; + int t=0; + while (t==0) + { + int type_sol = world_get_ctg(x, y-1); + if (type_sol==CTG_SOIL) + t=1; + if (type_sol==CTG_DEATH) + return distance+1; + type_sol = world_get_ctg(x+7, y-1); + if (type_sol==CTG_SOIL) + t=1; + if (type_sol==CTG_DEATH) + return distance+1; + y--; + distance++; + } + return distance; +} + +int global_quit=0; +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--; +*/ + + box_move(&mario.p); +} + diff --git a/src/mario.h b/src/mario.h new file mode 100644 index 0000000..9323def --- /dev/null +++ b/src/mario.h @@ -0,0 +1,39 @@ +#ifndef MARIO_H +#define MARIO_H + +#define M_SMALL 0 +#define M_BIG 1 + +#define M_LEFT1 0 +#define M_LEFT2 1 +#define M_RIGHT1 2 +#define M_RIGHT2 3 + +#define M_WALK 0 +#define M_LITTLE 1 +#define M_SWIM 2 + +#include "box.h" + +typedef struct +{ + box_t p; + int size; // small, big + int type1; // left1 left2, right1, right2, + int type2; // jump, down... + int running; +} pnj; +extern pnj mario; +extern int coins; + +void mario_draw(); + +//void mario_physics(); + +void mario_jump(); + +void mario_move(); + +extern int global_quit; +extern int numero_frame; +#endif \ No newline at end of file diff --git a/src/sprite.c b/src/sprite.c new file mode 100644 index 0000000..73f1b85 --- /dev/null +++ b/src/sprite.c @@ -0,0 +1,17 @@ +#include "sprite.h" +#include "world.h" + +int hitbox(int x, int y, int width, int height) +{ + height--; + width--; + int type=CTG_EMPTY; + for (int i=0; i<=height; i++) + { + if (world_get_ctg(x+width, y+i)==CTG_SOIL || world_get_ctg(x, y+i)==CTG_SOIL) + type=CTG_SOIL; + if (world_get_ctg(x+width, y+i)==CTG_DEATH || world_get_ctg(x, y+i)==CTG_DEATH) + return CTG_DEATH; + } + return type; +} \ No newline at end of file diff --git a/src/sprite.h b/src/sprite.h new file mode 100644 index 0000000..2d31a85 --- /dev/null +++ b/src/sprite.h @@ -0,0 +1,7 @@ +#ifndef SPRITE_H +#define SPRITE_H + +int hitbox(int x, int y, int width, int height); + + +#endif \ No newline at end of file