diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3f92dfc --- /dev/null +++ b/LICENSE @@ -0,0 +1,324 @@ +Creative Commons Attribution 4.0 International Creative Commons Corporation +("Creative Commons") is not a law firm and does not provide legal services +or legal advice. Distribution of Creative Commons public licenses does not +create a lawyer-client or other relationship. Creative Commons makes its licenses +and related information available on an "as-is" basis. Creative Commons gives +no warranties regarding its licenses, any material licensed under their terms +and conditions, or any related information. Creative Commons disclaims all +liability for damages resulting from their use to the fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and conditions +that creators and other rights holders may use to share original works of +authorship and other material subject to copyright and certain other rights +specified in the public license below. The following considerations are for +informational purposes only, are not exhaustive, and do not form part of our +licenses. + +Considerations for licensors: Our public licenses are intended for use by +those authorized to give the public permission to use material in ways otherwise +restricted by copyright and certain other rights. Our licenses are irrevocable. +Licensors should read and understand the terms and conditions of the license +they choose before applying it. Licensors should also secure all rights necessary +before applying our licenses so that the public can reuse the material as +expected. Licensors should clearly mark any material not subject to the license. +This includes other CC-licensed material, or material used under an exception +or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors + +Considerations for the public: By using one of our public licenses, a licensor +grants the public permission to use the licensed material under specified +terms and conditions. If the licensor's permission is not necessary for any +reason–for example, because of any applicable exception or limitation to copyright–then +that use is not regulated by the license. Our licenses grant only permissions +under copyright and certain other rights that a licensor has authority to +grant. Use of the licensed material may still be restricted for other reasons, +including because others have copyright or other rights in the material. A +licensor may make special requests, such as asking that all changes be marked +or described. Although not required by our licenses, you are encouraged to +respect those requests where reasonable. More considerations for the public +: wiki.creativecommons.org/Considerations_for_licensees Creative Commons Attribution +4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to +be bound by the terms and conditions of this Creative Commons Attribution +4.0 International Public License ("Public License"). To the extent this Public +License may be interpreted as a contract, You are granted the Licensed Rights +in consideration of Your acceptance of these terms and conditions, and the +Licensor grants You such rights in consideration of benefits the Licensor +receives from making the Licensed Material available under these terms and +conditions. + +Section 1 – Definitions. + +a. Adapted Material means material subject to Copyright and Similar Rights +that is derived from or based upon the Licensed Material and in which the +Licensed Material is translated, altered, arranged, transformed, or otherwise +modified in a manner requiring permission under the Copyright and Similar +Rights held by the Licensor. For purposes of this Public License, where the +Licensed Material is a musical work, performance, or sound recording, Adapted +Material is always produced where the Licensed Material is synched in timed +relation with a moving image. + +b. Adapter's License means the license You apply to Your Copyright and Similar +Rights in Your contributions to Adapted Material in accordance with the terms +and conditions of this Public License. + +c. Copyright and Similar Rights means copyright and/or similar rights closely +related to copyright including, without limitation, performance, broadcast, +sound recording, and Sui Generis Database Rights, without regard to how the +rights are labeled or categorized. For purposes of this Public License, the +rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + +d. Effective Technological Measures means those measures that, in the absence +of proper authority, may not be circumvented under laws fulfilling obligations +under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, +and/or similar international agreements. + +e. Exceptions and Limitations means fair use, fair dealing, and/or any other +exception or limitation to Copyright and Similar Rights that applies to Your +use of the Licensed Material. + +f. Licensed Material means the artistic or literary work, database, or other +material to which the Licensor applied this Public License. + +g. Licensed Rights means the rights granted to You subject to the terms and +conditions of this Public License, which are limited to all Copyright and +Similar Rights that apply to Your use of the Licensed Material and that the +Licensor has authority to license. + +h. Licensor means the individual(s) or entity(ies) granting rights under this +Public License. + +i. Share means to provide material to the public by any means or process that +requires permission under the Licensed Rights, such as reproduction, public +display, public performance, distribution, dissemination, communication, or +importation, and to make material available to the public including in ways +that members of the public may access the material from a place and at a time +individually chosen by them. + +j. Sui Generis Database Rights means rights other than copyright resulting +from Directive 96/9/EC of the European Parliament and of the Council of 11 +March 1996 on the legal protection of databases, as amended and/or succeeded, +as well as other essentially equivalent rights anywhere in the world. + +k. You means the individual or entity exercising the Licensed Rights under +this Public License. Your has a corresponding meaning. + +Section 2 – Scope. + + a. License grant. + +1. Subject to the terms and conditions of this Public License, the Licensor +hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, +irrevocable license to exercise the Licensed Rights in the Licensed Material +to: + + A. reproduce and Share the Licensed Material, in whole or in part; and + + B. produce, reproduce, and Share Adapted Material. + +2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions +and Limitations apply to Your use, this Public License does not apply, and +You do not need to comply with its terms and conditions. + + 3. Term. The term of this Public License is specified in Section 6(a). + +4. Media and formats; technical modifications allowed. The Licensor authorizes +You to exercise the Licensed Rights in all media and formats whether now known +or hereafter created, and to make technical modifications necessary to do +so. The Licensor waives and/or agrees not to assert any right or authority +to forbid You from making technical modifications necessary to exercise the +Licensed Rights, including technical modifications necessary to circumvent +Effective Technological Measures. For purposes of this Public License, simply +making modifications authorized by this Section 2(a)(4) never produces Adapted +Material. + + 5. Downstream recipients. + +A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed +Material automatically receives an offer from the Licensor to exercise the +Licensed Rights under the terms and conditions of this Public License. + +B. No downstream restrictions. You may not offer or impose any additional +or different terms or conditions on, or apply any Effective Technological +Measures to, the Licensed Material if doing so restricts exercise of the Licensed +Rights by any recipient of the Licensed Material. + +6. No endorsement. Nothing in this Public License constitutes or may be construed +as permission to assert or imply that You are, or that Your use of the Licensed +Material is, connected with, or sponsored, endorsed, or granted official status +by, the Licensor or others designated to receive attribution as provided in +Section 3(a)(1)(A)(i). + + b. Other rights. + +1. Moral rights, such as the right of integrity, are not licensed under this +Public License, nor are publicity, privacy, and/or other similar personality +rights; however, to the extent possible, the Licensor waives and/or agrees +not to assert any such rights held by the Licensor to the limited extent necessary +to allow You to exercise the Licensed Rights, but not otherwise. + +2. Patent and trademark rights are not licensed under this Public License. + +3. To the extent possible, the Licensor waives any right to collect royalties +from You for the exercise of the Licensed Rights, whether directly or through +a collecting society under any voluntary or waivable statutory or compulsory +licensing scheme. In all other cases the Licensor expressly reserves any right +to collect such royalties. + +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following +conditions. + + a. Attribution. + +1. If You Share the Licensed Material (including in modified form), You must: + +A. retain the following if it is supplied by the Licensor with the Licensed +Material: + +i. identification of the creator(s) of the Licensed Material and any others +designated to receive attribution, in any reasonable manner requested by the +Licensor (including by pseudonym if designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of warranties; + +v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + +B. indicate if You modified the Licensed Material and retain an indication +of any previous modifications; and + +C. indicate the Licensed Material is licensed under this Public License, and +include the text of, or the URI or hyperlink to, this Public License. + +2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner +based on the medium, means, and context in which You Share the Licensed Material. +For example, it may be reasonable to satisfy the conditions by providing a +URI or hyperlink to a resource that includes the required information. + +3. If requested by the Licensor, You must remove any of the information required +by Section 3(a)(1)(A) to the extent reasonably practicable. + +4. If You Share Adapted Material You produce, the Adapter's License You apply +must not prevent recipients of the Adapted Material from complying with this +Public License. + +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to +Your use of the Licensed Material: + +a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, +reuse, reproduce, and Share all or a substantial portion of the contents of +the database; + +b. if You include all or a substantial portion of the database contents in +a database in which You have Sui Generis Database Rights, then the database +in which You have Sui Generis Database Rights (but not its individual contents) +is Adapted Material; and + +c. You must comply with the conditions in Section 3(a) if You Share all or +a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace +Your obligations under this Public License where the Licensed Rights include +other Copyright and Similar Rights. + +Section 5 – Disclaimer of Warranties and Limitation of Liability. + +a. Unless otherwise separately undertaken by the Licensor, to the extent possible, +the Licensor offers the Licensed Material as-is and as-available, and makes +no representations or warranties of any kind concerning the Licensed Material, +whether express, implied, statutory, or other. This includes, without limitation, +warranties of title, merchantability, fitness for a particular purpose, non-infringement, +absence of latent or other defects, accuracy, or the presence or absence of +errors, whether or not known or discoverable. Where disclaimers of warranties +are not allowed in full or in part, this disclaimer may not apply to You. + +b. To the extent possible, in no event will the Licensor be liable to You +on any legal theory (including, without limitation, negligence) or otherwise +for any direct, special, indirect, incidental, consequential, punitive, exemplary, +or other losses, costs, expenses, or damages arising out of this Public License +or use of the Licensed Material, even if the Licensor has been advised of +the possibility of such losses, costs, expenses, or damages. Where a limitation +of liability is not allowed in full or in part, this limitation may not apply +to You. + +c. The disclaimer of warranties and limitation of liability provided above +shall be interpreted in a manner that, to the extent possible, most closely +approximates an absolute disclaimer and waiver of all liability. + +Section 6 – Term and Termination. + +a. This Public License applies for the term of the Copyright and Similar Rights +licensed here. However, if You fail to comply with this Public License, then +Your rights under this Public License terminate automatically. + +b. Where Your right to use the Licensed Material has terminated under Section +6(a), it reinstates: + +1. automatically as of the date the violation is cured, provided it is cured +within 30 days of Your discovery of the violation; or + + 2. upon express reinstatement by the Licensor. + +c. For the avoidance of doubt, this Section 6(b) does not affect any right +the Licensor may have to seek remedies for Your violations of this Public +License. + +d. For the avoidance of doubt, the Licensor may also offer the Licensed Material +under separate terms or conditions or stop distributing the Licensed Material +at any time; however, doing so will not terminate this Public License. + + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 – Other Terms and Conditions. + +a. The Licensor shall not be bound by any additional or different terms or +conditions communicated by You unless expressly agreed. + +b. Any arrangements, understandings, or agreements regarding the Licensed +Material not stated herein are separate from and independent of the terms +and conditions of this Public License. + +Section 8 – Interpretation. + +a. For the avoidance of doubt, this Public License does not, and shall not +be interpreted to, reduce, limit, restrict, or impose conditions on any use +of the Licensed Material that could lawfully be made without permission under +this Public License. + +b. To the extent possible, if any provision of this Public License is deemed +unenforceable, it shall be automatically reformed to the minimum extent necessary +to make it enforceable. If the provision cannot be reformed, it shall be severed +from this Public License without affecting the enforceability of the remaining +terms and conditions. + +c. No term or condition of this Public License will be waived and no failure +to comply consented to unless expressly agreed to by the Licensor. + +d. Nothing in this Public License constitutes or may be interpreted as a limitation +upon, or waiver of, any privileges and immunities that apply to the Licensor +or You, including from the legal processes of any jurisdiction or authority. + +Creative Commons is not a party to its public licenses. Notwithstanding, Creative +Commons may elect to apply one of its public licenses to material it publishes +and in those instances will be considered the "Licensor." The text of the +Creative Commons public licenses is dedicated to the public domain under the +CC0 Public Domain Dedication. Except for the limited purpose of indicating +that material is shared under a Creative Commons public license or as otherwise +permitted by the Creative Commons policies published at creativecommons.org/policies, +Creative Commons does not authorize the use of the trademark "Creative Commons" +or any other trademark or logo of Creative Commons without its prior written +consent including, without limitation, in connection with any unauthorized +modifications to any of its public licenses or any other arrangements, understandings, +or agreements concerning use of licensed material. For the avoidance of doubt, +this paragraph does not form part of the public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..94fd233 --- /dev/null +++ b/Makefile @@ -0,0 +1,194 @@ +#! /usr/bin/make -f +# Default Makefile for fxSDK add-ins. This file was probably copied there by +# the [fxsdk] program. +#--- + +# +# Configuration +# + +include project.cfg + +# Compiler flags +CFLAGSFX := $(CFLAGS) $(CFLAGS_FX) $(INCLUDE) +CFLAGSCG := $(CFLAGS) $(CFLAGS_CG) $(INCLUDE) + +# Linker flags +LDFLAGSFX := $(LDFLAGS) $(LDFLAGS_FX) +LDFLAGSCG := $(LDFLAGS) $(LDFLAGS_CG) + +# Dependency list generation flags +depflags = -MMD -MT $@ -MF $(@:.o=.d) -MP +# ELF to binary flags +BINFLAGS := -R .bss -R .gint_bss + +# G1A and G3A generation flags +NAME_G1A ?= $(NAME) +NAME_G3A ?= $(NAME) +G1AF := -i "$(ICON_FX)" -n "$(NAME_G1A)" --internal="$(INTERNAL)" +G3AF := -n basic:"$(NAME_G3A)" -i uns:"$(ICON_CG_UNS)" -i sel:"$(ICON_CG_SEL)" + +ifeq "$(TOOLCHAIN_FX)" "" +TOOLCHAIN_FX := sh3eb-elf +endif + +ifeq "$(TOOLCHAIN_CG)" "" +TOOLCHAIN_CG := sh4eb-elf +endif + +# fxconv flags +FXCONVFX := --fx --toolchain=$(TOOLCHAIN_FX) +FXCONVCG := --cg --toolchain=$(TOOLCHAIN_CG) + +# +# File listings +# + +NULL := +TARGET := $(subst $(NULL) $(NULL),-,$(NAME)) + +ifeq "$(TARGET_FX)" "" +TARGET_FX := $(TARGET).g1a +endif + +ifeq "$(TARGET_CG)" "" +TARGET_CG := $(TARGET).g3a +endif + +ELF_FX := build-fx/$(shell basename -s .g1a $(TARGET_FX)).elf +BIN_FX := $(ELF_FX:.elf=.bin) + +ELF_CG := build-cg/$(shell basename -s .g3a $(TARGET_CG)).elf +BIN_CG := $(ELF_CG:.elf=.bin) + +# Source files +src := $(wildcard src/*.[csS] \ + src/*/*.[csS] \ + src/*/*/*.[csS] \ + src/*/*/*/*.[csS]) +assets-fx := $(wildcard assets-fx/*/*) +assets-cg := $(wildcard assets-cg/*/*) + +# Object files +obj-fx := $(src:%=build-fx/%.o) \ + $(assets-fx:assets-fx/%=build-fx/assets/%.o) +obj-cg := $(src:%=build-cg/%.o) \ + $(assets-cg:assets-cg/%=build-cg/assets/%.o) + +# Additional dependencies +deps-fx := $(ICON_FX) +deps-cg := $(ICON_CG_UNS) $(ICON_CG_SEL) + +# All targets +all := +ifneq "$(wildcard build-fx)" "" +all += all-fx +endif +ifneq "$(wildcard build-cg)" "" +all += all-cg +endif + +# +# Build rules +# + +all: $(all) + +all-fx: $(TARGET_FX) +all-cg: $(TARGET_CG) + +$(TARGET_FX): $(obj-fx) $(deps-fx) + @ mkdir -p $(dir $@) + $(TOOLCHAIN_FX)-gcc -o $(ELF_FX) $(obj-fx) $(CFLAGSFX) $(LDFLAGSFX) + $(TOOLCHAIN_FX)-objcopy -O binary $(BINFLAGS) $(ELF_FX) $(BIN_FX) + fxg1a $(BIN_FX) -o $@ $(G1AF) + +$(TARGET_CG): $(obj-cg) $(deps-cg) + @ mkdir -p $(dir $@) + $(TOOLCHAIN_CG)-gcc -o $(ELF_CG) $(obj-cg) $(CFLAGSCG) $(LDFLAGSCG) + $(TOOLCHAIN_CG)-objcopy -O binary $(BINFLAGS) $(ELF_CG) $(BIN_CG) + mkg3a $(G3AF) $(BIN_CG) $@ + +# C sources +build-fx/%.c.o: %.c + @ mkdir -p $(dir $@) + $(TOOLCHAIN_FX)-gcc -c $< -o $@ $(CFLAGSFX) $(depflags) +build-cg/%.c.o: %.c + @ mkdir -p $(dir $@) + $(TOOLCHAIN_CG)-gcc -c $< -o $@ $(CFLAGSCG) $(depflags) + +# Assembler sources +build-fx/%.s.o: %.s + @ mkdir -p $(dir $@) + $(TOOLCHAIN_FX)-gcc -c $< -o $@ +build-cg/%.s.o: %.s + @ mkdir -p $(dir $@) + $(TOOLCHAIN_CG)-gcc -c $< -o $@ + +# Preprocessed assembler sources +build-fx/%.S.o: %.S + @ mkdir -p $(dir $@) + $(TOOLCHAIN_FX)-gcc -c $< -o $@ $(INCLUDE) +build-cg/%.S.o: %.S + @ mkdir -p $(dir $@) + $(TOOLCHAIN_CG)-gcc -c $< -o $@ $(INCLUDE) + +# Images +build-fx/assets/img/%.o: assets-fx/img/% + @ mkdir -p $(dir $@) + fxconv -i $< -o $@ $(FXCONVFX) name:img_$(basename $*) $(IMG.$*) +build-cg/assets/img/%.o: assets-cg/img/% + @ mkdir -p $(dir $@) + fxconv -i $< -o $@ $(FXCONVCG) name:img_$(basename $*) $(IMG.$*) + +# Fonts +build-fx/assets/fonts/%.o: assets-fx/fonts/% + @ mkdir -p $(dir $@) + fxconv -f $< -o $@ $(FXCONVFX) name:font_$(basename $*) $(FONT.$*) +build-cg/assets/fonts/%.o: assets-cg/fonts/% + @ mkdir -p $(dir $@) + fxconv -f $< -o $@ $(FXCONVCG) name:font_$(basename $*) $(FONT.$*) + +# Binaries +build-fx/assets/bin/%.o: assets-fx/bin/% + @ mkdir -p $(dir $@) + fxconv -b $< -o $@ $(FXCONVFX) name:bin_$(basename $*) $(BIN.$*) +build-cg/assets/bin/%.o: assets-cg/bin/% + @ mkdir -p $(dir $@) + fxconv -b $< -o $@ $(FXCONVCG) name:bin_$(basename $*) $(BIN.$*) + +# +# Cleaning and utilities +# + +# Dependency information +-include $(shell find build* -name *.d 2> /dev/null) +build-fx/%.d: ; +build-cg/%.d: ; +.PRECIOUS: build-fx build-cg build-fx/%.d build-cg/%.d %/ + +clean-fx: + @ rm -rf build-fx/ +clean-cg: + @ rm -rf build-cg/ + +distclean-fx: clean-fx + @ rm -f $(TARGET_FX) +distclean-cg: clean-cg + @ rm -f $(TARGET_CG) + +clean: clean-fx clean-cg + +distclean: distclean-fx distclean-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 0000000..7137b50 Binary files /dev/null and b/assets-cg/icon-cg-sel.png differ diff --git a/assets-cg/icon-cg-uns.png b/assets-cg/icon-cg-uns.png new file mode 100644 index 0000000..3c99f62 Binary files /dev/null and b/assets-cg/icon-cg-uns.png differ diff --git a/assets-cg/img/elevator.png b/assets-cg/img/elevator.png new file mode 100644 index 0000000..2df08a3 Binary files /dev/null and b/assets-cg/img/elevator.png differ diff --git a/assets-cg/img/elevator1.png b/assets-cg/img/elevator1.png new file mode 100644 index 0000000..6810489 Binary files /dev/null and b/assets-cg/img/elevator1.png differ diff --git a/assets-cg/img/elevator10.png b/assets-cg/img/elevator10.png new file mode 100644 index 0000000..418f953 Binary files /dev/null and b/assets-cg/img/elevator10.png differ diff --git a/assets-cg/img/elevator11.png b/assets-cg/img/elevator11.png new file mode 100644 index 0000000..d38971d Binary files /dev/null and b/assets-cg/img/elevator11.png differ diff --git a/assets-cg/img/elevator12.png b/assets-cg/img/elevator12.png new file mode 100644 index 0000000..aad06e5 Binary files /dev/null and b/assets-cg/img/elevator12.png differ diff --git a/assets-cg/img/elevator13.png b/assets-cg/img/elevator13.png new file mode 100644 index 0000000..cfd1c5e Binary files /dev/null and b/assets-cg/img/elevator13.png differ diff --git a/assets-cg/img/elevator14.png b/assets-cg/img/elevator14.png new file mode 100644 index 0000000..68820ba Binary files /dev/null and b/assets-cg/img/elevator14.png differ diff --git a/assets-cg/img/elevator15.png b/assets-cg/img/elevator15.png new file mode 100644 index 0000000..fae3c26 Binary files /dev/null and b/assets-cg/img/elevator15.png differ diff --git a/assets-cg/img/elevator16.png b/assets-cg/img/elevator16.png new file mode 100644 index 0000000..5b65ca4 Binary files /dev/null and b/assets-cg/img/elevator16.png differ diff --git a/assets-cg/img/elevator2.png b/assets-cg/img/elevator2.png new file mode 100644 index 0000000..0e8ce78 Binary files /dev/null and b/assets-cg/img/elevator2.png differ diff --git a/assets-cg/img/elevator3.png b/assets-cg/img/elevator3.png new file mode 100644 index 0000000..120a212 Binary files /dev/null and b/assets-cg/img/elevator3.png differ diff --git a/assets-cg/img/elevator4.png b/assets-cg/img/elevator4.png new file mode 100644 index 0000000..f909bc8 Binary files /dev/null and b/assets-cg/img/elevator4.png differ diff --git a/assets-cg/img/elevator5.png b/assets-cg/img/elevator5.png new file mode 100644 index 0000000..5dd1d8a Binary files /dev/null and b/assets-cg/img/elevator5.png differ diff --git a/assets-cg/img/elevator6.png b/assets-cg/img/elevator6.png new file mode 100644 index 0000000..e46c9af Binary files /dev/null and b/assets-cg/img/elevator6.png differ diff --git a/assets-cg/img/elevator7.png b/assets-cg/img/elevator7.png new file mode 100644 index 0000000..38035ec Binary files /dev/null and b/assets-cg/img/elevator7.png differ diff --git a/assets-cg/img/elevator8.png b/assets-cg/img/elevator8.png new file mode 100644 index 0000000..227736b Binary files /dev/null and b/assets-cg/img/elevator8.png differ diff --git a/assets-cg/img/elevator9.png b/assets-cg/img/elevator9.png new file mode 100644 index 0000000..811936f Binary files /dev/null and b/assets-cg/img/elevator9.png differ diff --git a/assets-cg/img/ground.png b/assets-cg/img/ground.png new file mode 100644 index 0000000..cabab6f Binary files /dev/null and b/assets-cg/img/ground.png differ diff --git a/assets-cg/img/ice.png b/assets-cg/img/ice.png new file mode 100644 index 0000000..4910965 Binary files /dev/null and b/assets-cg/img/ice.png differ diff --git a/assets-cg/img/player.png b/assets-cg/img/player.png new file mode 100644 index 0000000..23ee085 Binary files /dev/null and b/assets-cg/img/player.png differ diff --git a/assets-cg/img/spike.png b/assets-cg/img/spike.png new file mode 100644 index 0000000..2afe352 Binary files /dev/null and b/assets-cg/img/spike.png differ diff --git a/build-cg/assets/img/coin.png.o b/build-cg/assets/img/coin.png.o new file mode 100644 index 0000000..2d9d87b Binary files /dev/null and b/build-cg/assets/img/coin.png.o differ diff --git a/build-cg/assets/img/elevator.png.o b/build-cg/assets/img/elevator.png.o new file mode 100644 index 0000000..814fe4d Binary files /dev/null and b/build-cg/assets/img/elevator.png.o differ diff --git a/build-cg/assets/img/elevator1.png.o b/build-cg/assets/img/elevator1.png.o new file mode 100644 index 0000000..c3317d9 Binary files /dev/null and b/build-cg/assets/img/elevator1.png.o differ diff --git a/build-cg/assets/img/elevator10.png.o b/build-cg/assets/img/elevator10.png.o new file mode 100644 index 0000000..602fc4f Binary files /dev/null and b/build-cg/assets/img/elevator10.png.o differ diff --git a/build-cg/assets/img/elevator11.png.o b/build-cg/assets/img/elevator11.png.o new file mode 100644 index 0000000..07d4e5b Binary files /dev/null and b/build-cg/assets/img/elevator11.png.o differ diff --git a/build-cg/assets/img/elevator12.png.o b/build-cg/assets/img/elevator12.png.o new file mode 100644 index 0000000..781754c Binary files /dev/null and b/build-cg/assets/img/elevator12.png.o differ diff --git a/build-cg/assets/img/elevator13.png.o b/build-cg/assets/img/elevator13.png.o new file mode 100644 index 0000000..502f933 Binary files /dev/null and b/build-cg/assets/img/elevator13.png.o differ diff --git a/build-cg/assets/img/elevator14.png.o b/build-cg/assets/img/elevator14.png.o new file mode 100644 index 0000000..fe13102 Binary files /dev/null and b/build-cg/assets/img/elevator14.png.o differ diff --git a/build-cg/assets/img/elevator15.png.o b/build-cg/assets/img/elevator15.png.o new file mode 100644 index 0000000..0f78e36 Binary files /dev/null and b/build-cg/assets/img/elevator15.png.o differ diff --git a/build-cg/assets/img/elevator16.png.o b/build-cg/assets/img/elevator16.png.o new file mode 100644 index 0000000..9f127fa Binary files /dev/null and b/build-cg/assets/img/elevator16.png.o differ diff --git a/build-cg/assets/img/elevator2.png.o b/build-cg/assets/img/elevator2.png.o new file mode 100644 index 0000000..c8b8b8a Binary files /dev/null and b/build-cg/assets/img/elevator2.png.o differ diff --git a/build-cg/assets/img/elevator3.png.o b/build-cg/assets/img/elevator3.png.o new file mode 100644 index 0000000..974c6b7 Binary files /dev/null and b/build-cg/assets/img/elevator3.png.o differ diff --git a/build-cg/assets/img/elevator4.png.o b/build-cg/assets/img/elevator4.png.o new file mode 100644 index 0000000..db4b9cd Binary files /dev/null and b/build-cg/assets/img/elevator4.png.o differ diff --git a/build-cg/assets/img/elevator5.png.o b/build-cg/assets/img/elevator5.png.o new file mode 100644 index 0000000..078ddf7 Binary files /dev/null and b/build-cg/assets/img/elevator5.png.o differ diff --git a/build-cg/assets/img/elevator6.png.o b/build-cg/assets/img/elevator6.png.o new file mode 100644 index 0000000..e7f2894 Binary files /dev/null and b/build-cg/assets/img/elevator6.png.o differ diff --git a/build-cg/assets/img/elevator7.png.o b/build-cg/assets/img/elevator7.png.o new file mode 100644 index 0000000..7577948 Binary files /dev/null and b/build-cg/assets/img/elevator7.png.o differ diff --git a/build-cg/assets/img/elevator8.png.o b/build-cg/assets/img/elevator8.png.o new file mode 100644 index 0000000..ee27815 Binary files /dev/null and b/build-cg/assets/img/elevator8.png.o differ diff --git a/build-cg/assets/img/elevator9.png.o b/build-cg/assets/img/elevator9.png.o new file mode 100644 index 0000000..8e0517c Binary files /dev/null and b/build-cg/assets/img/elevator9.png.o differ diff --git a/build-cg/assets/img/glue.png.o b/build-cg/assets/img/glue.png.o new file mode 100644 index 0000000..6fad45a Binary files /dev/null and b/build-cg/assets/img/glue.png.o differ diff --git a/build-cg/assets/img/ground.png.o b/build-cg/assets/img/ground.png.o new file mode 100644 index 0000000..bdc9903 Binary files /dev/null and b/build-cg/assets/img/ground.png.o differ diff --git a/build-cg/assets/img/ice.png.o b/build-cg/assets/img/ice.png.o new file mode 100644 index 0000000..c97930e Binary files /dev/null and b/build-cg/assets/img/ice.png.o differ diff --git a/build-cg/assets/img/ice0.png.o b/build-cg/assets/img/ice0.png.o new file mode 100644 index 0000000..db64ee8 Binary files /dev/null and b/build-cg/assets/img/ice0.png.o differ diff --git a/build-cg/assets/img/ice1.png.o b/build-cg/assets/img/ice1.png.o new file mode 100644 index 0000000..f9524a3 Binary files /dev/null and b/build-cg/assets/img/ice1.png.o differ diff --git a/build-cg/assets/img/ice2.png.o b/build-cg/assets/img/ice2.png.o new file mode 100644 index 0000000..74dfe80 Binary files /dev/null and b/build-cg/assets/img/ice2.png.o differ diff --git a/build-cg/assets/img/ice3.png.o b/build-cg/assets/img/ice3.png.o new file mode 100644 index 0000000..520072a Binary files /dev/null and b/build-cg/assets/img/ice3.png.o differ diff --git a/build-cg/assets/img/ice4.png.o b/build-cg/assets/img/ice4.png.o new file mode 100644 index 0000000..59d6f68 Binary files /dev/null and b/build-cg/assets/img/ice4.png.o differ diff --git a/build-cg/assets/img/ice5.png.o b/build-cg/assets/img/ice5.png.o new file mode 100644 index 0000000..c5f55f3 Binary files /dev/null and b/build-cg/assets/img/ice5.png.o differ diff --git a/build-cg/assets/img/ice6.png.o b/build-cg/assets/img/ice6.png.o new file mode 100644 index 0000000..bff7732 Binary files /dev/null and b/build-cg/assets/img/ice6.png.o differ diff --git a/build-cg/assets/img/ice7.png.o b/build-cg/assets/img/ice7.png.o new file mode 100644 index 0000000..64619df Binary files /dev/null and b/build-cg/assets/img/ice7.png.o differ diff --git a/build-cg/assets/img/ice8.png.o b/build-cg/assets/img/ice8.png.o new file mode 100644 index 0000000..d6be433 Binary files /dev/null and b/build-cg/assets/img/ice8.png.o differ diff --git a/build-cg/assets/img/jitem.png.o b/build-cg/assets/img/jitem.png.o new file mode 100644 index 0000000..d8ead6e Binary files /dev/null and b/build-cg/assets/img/jitem.png.o differ diff --git a/build-cg/assets/img/jitem_popup.png.o b/build-cg/assets/img/jitem_popup.png.o new file mode 100644 index 0000000..4d09e1b Binary files /dev/null and b/build-cg/assets/img/jitem_popup.png.o differ diff --git a/build-cg/assets/img/player.png.o b/build-cg/assets/img/player.png.o new file mode 100644 index 0000000..c4dd952 Binary files /dev/null and b/build-cg/assets/img/player.png.o differ diff --git a/build-cg/assets/img/spike.png.o b/build-cg/assets/img/spike.png.o new file mode 100644 index 0000000..82ec22a Binary files /dev/null and b/build-cg/assets/img/spike.png.o differ diff --git a/build-cg/map b/build-cg/map new file mode 100644 index 0000000..5d83ea9 --- /dev/null +++ b/build-cg/map @@ -0,0 +1,917 @@ +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(memory.c.o) + build-cg/src/levels.c.o (_memcpy) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + (_start) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) (_gint_install) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) (_utlb_mapped_memory) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) (_gint_panic) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) (_SH7305_INTC) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) (_gint_exch_tlbh) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) (_gint_setvbr) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) (_hw_detect) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) (_dfont) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) + build-cg/src/draw.c.o (_dprint) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) + build-cg/src/draw.c.o (_dimage) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) + build-cg/src/draw.c.o (_dclear) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) (_gint_vram) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) + build-cg/src/draw.c.o (_drect) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) (_dtext) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) + build-cg/src/main.c.o (_dupdate) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) (_topti_glyph_fg_bg) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) (_bopti_render_clip) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + build-cg/src/main.c.o (_clearevents) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + build-cg/src/main.c.o (_timer_setup) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) (_dma_memset) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(font8x9.png.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) (_gint_font8x9) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) (_r61524_display) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) (_strlen) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) (_vsnprintf) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) (_gint_inth_7305) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) (_bopti_r5g6b5) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) (_clock_freq) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) (_getkey_repeat) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) (_inth_tmu) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) (_dma_transfer) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) (_inth_dma_te) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) (___movmemSI24) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) + /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(_mul_df.o) + build-cg/src/main.c.o (___muldf3) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) + build-cg/src/main.c.o (___nedf2) +/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(_ge_df.o) + build-cg/src/main.c.o (___gedf2) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) + build-cg/src/main.c.o (___ltdf2) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + build-cg/src/main.c.o (___floatsidf) +/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(_clzsi2.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) (___clzsi2) +/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(_ne_df.o) (___fpcmp_parts_d) + +Allocating common symbols +Common symbol size file + +coins 0x100 build-cg/src/main.c.o + +Discarded input sections + + .comment 0x0000000000000000 0x12 build-cg/src/collide.c.o + .comment 0x0000000000000000 0x12 build-cg/src/player.c.o + .comment 0x0000000000000000 0x12 build-cg/src/draw.c.o + .comment 0x0000000000000000 0x12 build-cg/src/levels.c.o + .comment 0x0000000000000000 0x12 build-cg/src/main.c.o + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + .debug_info 0x0000000000000000 0x737 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) + .debug_abbrev 0x0000000000000000 0x218 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) + .debug_loc 0x0000000000000000 0x6d5 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.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(_udivdi3.o) + .debug_ranges 0x0000000000000000 0xf0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) + .debug_line 0x0000000000000000 0x28f /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) + .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(_udivdi3.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(_udivdi3.o) + .eh_frame 0x0000000000000000 0x84 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) + .debug_info 0x0000000000000000 0x746 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) + .debug_abbrev 0x0000000000000000 0x229 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) + .debug_loc 0x0000000000000000 0x6ef /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.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(_umoddi3.o) + .debug_ranges 0x0000000000000000 0x108 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) + .debug_line 0x0000000000000000 0x2e5 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) + .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 0x6e9 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + .debug_abbrev 0x0000000000000000 0x27c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + .debug_loc 0x0000000000000000 0x4c5 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_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(_mul_df.o) + .debug_ranges 0x0000000000000000 0xa8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + .debug_line 0x0000000000000000 0x356 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + .debug_str 0x0000000000000000 0x5e5 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_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(_mul_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(_ne_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(_ne_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(_ne_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(_ne_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(_ne_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(_ne_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(_ne_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 0x4f4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_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(_ge_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(_ge_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(_ge_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(_ge_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(_ge_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(_ge_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(_lt_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(_lt_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(_lt_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(_lt_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(_lt_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(_lt_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(_lt_df.o) + .debug_info 0x0000000000000000 0x494 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + .debug_abbrev 0x0000000000000000 0x1fb /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + .debug_loc 0x0000000000000000 0xd1 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_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(_si_to_df.o) + .debug_ranges 0x0000000000000000 0x48 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + .debug_line 0x0000000000000000 0x19e /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + .debug_str 0x0000000000000000 0x57d /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_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(_si_to_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 + 0x0000000000000000 0x18 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o) + .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 0x3de /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + .debug_abbrev 0x0000000000000000 0x129 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + .debug_loc 0x0000000000000000 0x5a /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.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(_clzsi2.o) + .debug_ranges 0x0000000000000000 0x38 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + .debug_line 0x0000000000000000 0x13c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + .debug_str 0x0000000000000000 0x540 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.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(_clzsi2.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 + +Name Origin Length Attributes +rom 0x0000000000300000 0x0000000000037000 xr +ram 0x0000000008102000 0x000000000007e000 rw +vbr 0x000000008c160000 0x0000000000001400 xrw +rram 0x000000008c161400 0x0000000000000c00 xrw +ilram 0x00000000e5200000 0x0000000000001000 xrw +xram 0x00000000e5007000 0x0000000000002000 xrw +yram 0x00000000e5017000 0x0000000000002000 xrw +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +LOAD build-cg/src/collide.c.o +LOAD build-cg/src/player.c.o +LOAD build-cg/src/draw.c.o +LOAD build-cg/src/levels.c.o +LOAD build-cg/src/main.c.o +LOAD build-cg/assets/img/elevator13.png.o +LOAD build-cg/assets/img/elevator1.png.o +LOAD build-cg/assets/img/ground.png.o +LOAD build-cg/assets/img/elevator6.png.o +LOAD build-cg/assets/img/spike.png.o +LOAD build-cg/assets/img/elevator8.png.o +LOAD build-cg/assets/img/elevator2.png.o +LOAD build-cg/assets/img/elevator11.png.o +LOAD build-cg/assets/img/elevator5.png.o +LOAD build-cg/assets/img/elevator.png.o +LOAD build-cg/assets/img/ice.png.o +LOAD build-cg/assets/img/elevator12.png.o +LOAD build-cg/assets/img/elevator16.png.o +LOAD build-cg/assets/img/elevator4.png.o +LOAD build-cg/assets/img/elevator7.png.o +LOAD build-cg/assets/img/elevator10.png.o +LOAD build-cg/assets/img/player.png.o +LOAD build-cg/assets/img/elevator3.png.o +LOAD build-cg/assets/img/elevator15.png.o +LOAD build-cg/assets/img/elevator9.png.o +LOAD build-cg/assets/img/elevator14.png.o +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 + 0x000000000000864c _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + +.text 0x0000000000300000 0x4ca0 + *(.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) + 0x0000000000300000 _start + *(.pretext) + .pretext 0x00000000003001a4 0x30 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + .pretext 0x00000000003001d4 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) + 0x00000000003001d4 _hw_detect + .pretext 0x0000000000300214 0x110 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + 0x0000000000300214 _dfont + 0x000000000030022c _charset_size + 0x0000000000300258 _charset_decode + 0x00000000003002c6 _topti_offset + .pretext 0x0000000000300324 0x23c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + 0x0000000000300324 _topti_render + 0x0000000000300514 _dtext + .pretext 0x0000000000300560 0xc4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o) + 0x0000000000300560 _topti_glyph_fg_bg + 0x000000000030059e _topti_glyph_fg + 0x00000000003005d8 _topti_glyph_bg + 0x0000000000300624 _btors = . + *(.ctors .ctors.*) + 0x0000000000300624 _mtors = . + *(.dtors .dtors.*) + 0x0000000000300624 _etors = . + 0x0000000000300624 _gint_exch_tlbh_start = . + *(.gint.exch_tlbh) + *fill* 0x0000000000300624 0xc + .gint.exch_tlbh + 0x0000000000300630 0x4c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o) + 0x0000000000300630 _gint_exch_tlbh + 0x0000000000000058 _gint_exch_tlbh_size = ABSOLUTE ((. - _gint_exch_tlbh_start)) + *(.text .text.*) + .text 0x000000000030067c 0x19c build-cg/src/collide.c.o + 0x000000000030067c _collide + 0x00000000003006f4 _collide_point + 0x0000000000300722 _collide_solid + 0x0000000000300774 _collide_and_erase + .text 0x0000000000300818 0x58 build-cg/src/player.c.o + 0x0000000000300818 _jump_test + 0x0000000000300860 _set_start_pos + 0x0000000000300866 _reset_old_pos + .text 0x0000000000300870 0x1f8 build-cg/src/draw.c.o + 0x0000000000300870 _draw_player + 0x00000000003008c4 _draw_level + 0x000000000030096c _draw_level_anims + 0x00000000003009d0 _erase_tile + 0x0000000000300a24 _draw_timer + .text 0x0000000000300a68 0x4c build-cg/src/levels.c.o + 0x0000000000300a68 _set_level + .text 0x0000000000300ab4 0x14 build-cg/src/main.c.o + 0x0000000000300ab4 _callback + 0x0000000000300abc _sgn + .text.startup 0x0000000000300ac8 0x5a8 build-cg/src/main.c.o + 0x0000000000300ac8 _main + .text 0x0000000000301070 0xdc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o) + 0x0000000000301070 _memcpy + 0x000000000030112a __memmove + 0x000000000030112e __memcmp + 0x0000000000301132 _memset + .text 0x000000000030114c 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 0x000000000030114c 0x104 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) + 0x00000000003011b8 _gint_install + 0x0000000000301238 _gint_unload + .text 0x0000000000301250 0xf8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) + 0x0000000000301250 _utlb_addr + 0x0000000000301260 _utlb_data + 0x0000000000301270 _utlb_mapped_memory + .text 0x0000000000301348 0x2e4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) + 0x00000000003015f0 _gint_panic + 0x0000000000301600 _gint_panic_set + 0x0000000000301614 _gint_exc_catch + 0x0000000000301620 _gint_exc_skip + .text 0x000000000030162c 0x5c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) + 0x000000000030162c _gint_intlevel + 0x0000000000301664 _gint_inthandler + .text 0x0000000000301688 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 0x0000000000301688 0x2c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o) + 0x0000000000301688 _gint_setvbr + .text 0x00000000003016b4 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 0x00000000003016b4 0x9c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + 0x00000000003016b4 _dsize + .text 0x0000000000301750 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) + 0x0000000000301750 _dprint + .text 0x00000000003017a8 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) + 0x00000000003017a8 _dimage + 0x00000000003017d0 _dsubimage + .text 0x00000000003017e8 0x1c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) + 0x00000000003017e8 _dclear + .text 0x0000000000301804 0x4c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) + 0x0000000000301804 _dvram + 0x0000000000301830 _dvram_switch + .text 0x0000000000301850 0xc0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) + 0x0000000000301850 _drect + .text 0x0000000000301910 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 0x0000000000301910 0x3c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) + 0x0000000000301910 _dupdate + 0x0000000000301934 _dupdate_noint + .text 0x000000000030194c 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 0x000000000030194c 0x1e4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) + 0x000000000030194c _bopti_render + 0x0000000000301a3c _bopti_render_clip + 0x0000000000301b04 _bopti_render_noclip + .text 0x0000000000301b30 0x3ac /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + 0x0000000000301c88 _pollevent + 0x0000000000301dcc _waitevent + 0x0000000000301e18 _clearevents + 0x0000000000301e38 _keydown + 0x0000000000301e64 _keydown_all + 0x0000000000301ea0 _keydown_any + .text 0x0000000000301edc 0x4cc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + 0x0000000000302164 _timer_setup + 0x00000000003021f4 _timer_delay + 0x0000000000302254 _timer_start + 0x0000000000302288 _timer_reload + 0x00000000003022a8 _timer_pause + 0x00000000003022dc _timer_stop + 0x0000000000302338 _timer_timeout + 0x0000000000302344 _timer_address + 0x0000000000302378 _timer_clear + .text 0x00000000003023a8 0x4c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) + 0x00000000003023a8 _dma_memset + .text 0x00000000003023f4 0x2d4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + 0x0000000000302444 _r61524_win_get + 0x00000000003024fc _r61524_win_set + 0x00000000003025bc _r61524_display + .text 0x00000000003026c8 0x7c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) + 0x00000000003026c8 _strlen + 0x00000000003026d8 _strncpy + 0x00000000003026f0 _strcat + 0x0000000000302734 _strcmp + .text 0x0000000000302744 0xce4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) + 0x0000000000303140 _kprint_opt + 0x0000000000303288 _kprint + 0x0000000000303360 _kvsprint + 0x00000000003033a8 _sprintf + 0x00000000003033d0 _vsprintf + 0x00000000003033f0 _snprintf + 0x0000000000303410 _vsnprintf + .text 0x0000000000303428 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* 0x0000000000303428 0x8 + .text 0x0000000000303430 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) + 0x0000000000303430 _bopti_r5g6b5 + 0x0000000000303480 _bopti_r5g6b5a + 0x00000000003034b0 _bopti_p8 + 0x00000000003034e0 _bopti_p4 + .text 0x0000000000303530 0xc8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + 0x00000000003035ec _clock_freq + .text 0x00000000003035f8 0x1f0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) + 0x00000000003035f8 _getkey_opt + 0x00000000003037a0 _getkey + 0x00000000003037ac _getkey_repeat + .text 0x00000000003037e8 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 0x00000000003037e8 0x3f8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + 0x0000000000303abc _dma_transfer + 0x0000000000303afc _dma_transfer_wait + 0x0000000000303b74 _dma_transfer_noint + .text 0x0000000000303be0 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 0x0000000000303be0 0x78 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o) + 0x0000000000303be0 ___movstr + 0x0000000000303be0 ___movmem + 0x0000000000303c14 ___movmemSI64 + 0x0000000000303c14 ___movstrSI64 + 0x0000000000303c18 ___movstrSI60 + 0x0000000000303c18 ___movmemSI60 + 0x0000000000303c1c ___movmemSI56 + 0x0000000000303c1c ___movstrSI56 + 0x0000000000303c20 ___movstrSI52 + 0x0000000000303c20 ___movmemSI52 + 0x0000000000303c24 ___movstrSI48 + 0x0000000000303c24 ___movmemSI48 + 0x0000000000303c28 ___movstrSI44 + 0x0000000000303c28 ___movmemSI44 + 0x0000000000303c2c ___movstrSI40 + 0x0000000000303c2c ___movmemSI40 + 0x0000000000303c30 ___movstrSI36 + 0x0000000000303c30 ___movmemSI36 + 0x0000000000303c34 ___movmemSI32 + 0x0000000000303c34 ___movstrSI32 + 0x0000000000303c38 ___movmemSI28 + 0x0000000000303c38 ___movstrSI28 + 0x0000000000303c3c ___movstrSI24 + 0x0000000000303c3c ___movmemSI24 + 0x0000000000303c40 ___movmemSI20 + 0x0000000000303c40 ___movstrSI20 + 0x0000000000303c44 ___movstrSI16 + 0x0000000000303c44 ___movmemSI16 + 0x0000000000303c48 ___movmemSI12 + 0x0000000000303c48 ___movstrSI12 + 0x0000000000303c4c ___movmemSI8 + 0x0000000000303c4c ___movstrSI8 + 0x0000000000303c50 ___movmemSI4 + 0x0000000000303c50 ___movstrSI4 + .text 0x0000000000303c58 0x1e0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) + 0x0000000000303c58 ___udivdi3 + .text 0x0000000000303e38 0x208 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) + 0x0000000000303e38 ___umoddi3 + .text 0x0000000000304040 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) + 0x00000000003042e4 ___adddf3 + 0x0000000000304334 ___subdf3 + .text 0x0000000000304388 0x208 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + 0x0000000000304388 ___muldf3 + .text 0x0000000000304590 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) + 0x0000000000304590 ___nedf2 + .text 0x00000000003045e8 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) + 0x00000000003045e8 ___gtdf2 + .text 0x0000000000304640 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_df.o) + 0x0000000000304640 ___gedf2 + .text 0x0000000000304698 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) + 0x0000000000304698 ___ltdf2 + .text 0x00000000003046f0 0x98 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + 0x00000000003046f0 ___floatsidf + .text 0x0000000000304788 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) + 0x0000000000304788 ___fixdfsi + .text 0x0000000000304814 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* 0x0000000000304814 0x4 + .text 0x0000000000304818 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) + 0x0000000000304818 ___udiv_qrnnd_16 + .text 0x0000000000304878 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 0x0000000000304878 0x54 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + 0x0000000000304878 ___clzsi2 + .text 0x00000000003048cc 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) + 0x00000000003048cc ___pack_d + .text 0x0000000000304b0c 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) + 0x0000000000304b0c ___unpack_d + .text 0x0000000000304bd8 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) + 0x0000000000304bd8 ___fpcmp_parts_d + +.gint.blocks 0x0000000000304ca0 0x140 + *(.gint.blocks) + .gint.blocks 0x0000000000304ca0 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) + 0x0000000000304ca0 _gint_inth_7305 + .gint.blocks 0x0000000000304cc0 0xe0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + 0x0000000000304cc0 _inth_tmu + 0x0000000000304d40 _inth_etmu2 + 0x0000000000304d60 _inth_etmu_help + 0x0000000000304d80 _inth_etmux + .gint.blocks 0x0000000000304da0 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + 0x0000000000304da0 _inth_dma_te + 0x0000000000304dc0 _inth_dma_ae + +.gint.drivers 0x0000000000304de0 0xc8 + 0x0000000000304de0 _bdrv = . + *(.gint.drivers.0) + *(.gint.drivers.1) + .gint.drivers.1 + 0x0000000000304de0 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + 0x0000000000304de0 _drv_cpg + *(.gint.drivers.2) + .gint.drivers.2 + 0x0000000000304e08 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + 0x0000000000304e08 _drv_tmu + .gint.drivers.2 + 0x0000000000304e30 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + 0x0000000000304e30 _drv_dma0 + *(.gint.drivers.3) + *(.gint.drivers.4) + .gint.drivers.4 + 0x0000000000304e58 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + 0x0000000000304e58 _drv_keysc + *(.gint.drivers.5) + .gint.drivers.5 + 0x0000000000304e80 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + 0x0000000000304e80 _drv_r61524 + *(.gint.drivers.6) + 0x0000000000304ea8 _edrv = . + +.rodata 0x0000000000304ea8 0x37a4 + *(.rodata.4) + *(.rodata .rodata.*) + .rodata.str1.4 + 0x0000000000304ea8 0x8 build-cg/src/draw.c.o + .rodata.str1.4 + 0x0000000000304eb0 0x59d build-cg/src/levels.c.o + *fill* 0x000000000030544d 0x3 + .rodata 0x0000000000305450 0x208 build-cg/assets/img/elevator13.png.o + 0x0000000000305450 _img_elevator13 + 0x0000000000305658 _img_elevator13_end + .rodata 0x0000000000305658 0x208 build-cg/assets/img/elevator1.png.o + 0x0000000000305658 _img_elevator1 + 0x0000000000305860 _img_elevator1_end + .rodata 0x0000000000305860 0x208 build-cg/assets/img/ground.png.o + 0x0000000000305860 _img_ground + 0x0000000000305a68 _img_ground_end + .rodata 0x0000000000305a68 0x208 build-cg/assets/img/elevator6.png.o + 0x0000000000305a68 _img_elevator6 + 0x0000000000305c70 _img_elevator6_end + .rodata 0x0000000000305c70 0x208 build-cg/assets/img/spike.png.o + 0x0000000000305c70 _img_spike + 0x0000000000305e78 _img_spike_end + .rodata 0x0000000000305e78 0x208 build-cg/assets/img/elevator8.png.o + 0x0000000000305e78 _img_elevator8 + 0x0000000000306080 _img_elevator8_end + .rodata 0x0000000000306080 0x208 build-cg/assets/img/elevator2.png.o + 0x0000000000306080 _img_elevator2 + 0x0000000000306288 _img_elevator2_end + .rodata 0x0000000000306288 0x208 build-cg/assets/img/elevator11.png.o + 0x0000000000306288 _img_elevator11 + 0x0000000000306490 _img_elevator11_end + .rodata 0x0000000000306490 0x208 build-cg/assets/img/elevator5.png.o + 0x0000000000306490 _img_elevator5 + 0x0000000000306698 _img_elevator5_end + .rodata 0x0000000000306698 0x208 build-cg/assets/img/elevator.png.o + 0x0000000000306698 _img_elevator + 0x00000000003068a0 _img_elevator_end + .rodata 0x00000000003068a0 0x108 build-cg/assets/img/ice.png.o + 0x00000000003068a0 _img_ice + 0x00000000003069a8 _img_ice_end + .rodata 0x00000000003069a8 0x208 build-cg/assets/img/elevator12.png.o + 0x00000000003069a8 _img_elevator12 + 0x0000000000306bb0 _img_elevator12_end + .rodata 0x0000000000306bb0 0x208 build-cg/assets/img/elevator16.png.o + 0x0000000000306bb0 _img_elevator16 + 0x0000000000306db8 _img_elevator16_end + .rodata 0x0000000000306db8 0x208 build-cg/assets/img/elevator4.png.o + 0x0000000000306db8 _img_elevator4 + 0x0000000000306fc0 _img_elevator4_end + .rodata 0x0000000000306fc0 0x208 build-cg/assets/img/elevator7.png.o + 0x0000000000306fc0 _img_elevator7 + 0x00000000003071c8 _img_elevator7_end + .rodata 0x00000000003071c8 0x208 build-cg/assets/img/elevator10.png.o + 0x00000000003071c8 _img_elevator10 + 0x00000000003073d0 _img_elevator10_end + .rodata 0x00000000003073d0 0x188 build-cg/assets/img/player.png.o + 0x00000000003073d0 _img_player + 0x0000000000307558 _img_player_end + .rodata 0x0000000000307558 0x208 build-cg/assets/img/elevator3.png.o + 0x0000000000307558 _img_elevator3 + 0x0000000000307760 _img_elevator3_end + .rodata 0x0000000000307760 0x208 build-cg/assets/img/elevator15.png.o + 0x0000000000307760 _img_elevator15 + 0x0000000000307968 _img_elevator15_end + .rodata 0x0000000000307968 0x208 build-cg/assets/img/elevator9.png.o + 0x0000000000307968 _img_elevator9 + 0x0000000000307b70 _img_elevator9_end + .rodata 0x0000000000307b70 0x208 build-cg/assets/img/elevator14.png.o + 0x0000000000307b70 _img_elevator14 + 0x0000000000307d78 _img_elevator14_end + .rodata.str1.4 + 0x0000000000307d78 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 0x0000000000308000 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 + 0x0000000000308018 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* 0x000000000030801e 0x2 + .rodata.str1.4 + 0x0000000000308020 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 0x0000000000308024 0x49c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(font8x9.png.o) + 0x0000000000308024 _gint_font8x9 + 0x00000000003084c0 _gint_font8x9_end + .rodata.str1.4 + 0x00000000003084c0 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* 0x00000000003084c7 0x1 + .rodata.str1.4 + 0x00000000003084c8 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* 0x00000000003084f9 0x3 + .rodata.str1.4 + 0x00000000003084fc 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 0x0000000000308500 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 + 0x0000000000308530 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 0x0000000000308538 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) + 0x0000000000308538 ___thenan_df + .rodata 0x000000000030854c 0x100 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o) + 0x000000000030854c ___clz_tab + +.rela.dyn 0x000000000030864c 0x0 + .rela.pretext.entry + 0x000000000030864c 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 0x000000000030864c 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 0x000000000030864c 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 0x250 + 0x0000000008102000 _rbss = . + *(.bss COMMON) + .bss 0x0000000008102000 0x0 build-cg/src/collide.c.o + .bss 0x0000000008102000 0x0 build-cg/src/player.c.o + .bss 0x0000000008102000 0x0 build-cg/src/draw.c.o + .bss 0x0000000008102000 0x0 build-cg/src/levels.c.o + .bss 0x0000000008102000 0x0 build-cg/src/main.c.o + COMMON 0x0000000008102000 0x100 build-cg/src/main.c.o + 0x0000000008102000 _coins + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) + .bss 0x0000000008102100 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) + .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) + .bss 0x0000000008102100 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + .bss 0x0000000008102124 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + .bss 0x0000000008102124 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) + .bss 0x0000000008102124 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + .bss 0x0000000008102124 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) + .bss 0x0000000008102124 0x114 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) + .bss 0x0000000008102238 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) + .bss 0x0000000008102238 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o) + .bss 0x0000000008102238 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + .bss 0x0000000008102238 0xc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) + .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + .bss 0x0000000008102244 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 0x0000000008102244 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 0x0000000008102244 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 0x0000000008102244 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 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) + .bss 0x0000000008102244 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 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_df.o) + .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) + .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + .bss 0x0000000008102244 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 0x0000000008102244 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 0x0000000008102244 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 0x0000000008102244 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 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + .bss 0x0000000008102244 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 0x0000000008102244 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 0x0000000008102244 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) + 0x0000000008102250 . = ALIGN (0x10) + *fill* 0x0000000008102244 0xc + 0x0000000000000250 _sbss = SIZEOF (.bss) + +.data 0x0000000008102250 0xd0 load address 0x000000000030864c + 0x000000000030864c _ldata = LOADADDR (.data) + 0x0000000008102250 _rdata = . + *(.data .data.*) + .data 0x0000000008102250 0x0 build-cg/src/collide.c.o + .data 0x0000000008102250 0x0 build-cg/src/player.c.o + .data 0x0000000008102250 0x40 build-cg/src/draw.c.o + 0x0000000008102250 _ani_elevator + .data 0x0000000008102290 0x0 build-cg/src/levels.c.o + .data 0x0000000008102290 0x0 build-cg/src/main.c.o + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) + .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) + .data 0x0000000008102290 0xc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) + 0x0000000008102290 _gint_vram + .data 0x000000000810229c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) + .data 0x000000000810229c 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + 0x000000000810229c _topti_font + 0x00000000081022a0 _gint_default_font + .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) + .data 0x00000000081022a4 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) + .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) + .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) + .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) + .data 0x00000000081022a4 0x68 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) + 0x00000000081022a4 _kprint_formatters + .data 0x000000000810230c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) + .data 0x000000000810230c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o) + .data 0x000000000810230c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + .data 0x000000000810230c 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) + .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + .data 0x0000000008102314 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 0x0000000008102314 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 0x0000000008102314 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 0x0000000008102314 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 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) + .data 0x0000000008102314 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 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_df.o) + .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) + .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + .data 0x0000000008102314 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 0x0000000008102314 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 0x0000000008102314 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 0x0000000008102314 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 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + .data 0x0000000008102314 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 0x0000000008102314 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 0x0000000008102314 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) + 0x0000000008102320 . = ALIGN (0x10) + *fill* 0x0000000008102314 0xc + +.data.4 0x0000000008102320 0x0 load address 0x000000000030871c + *(.data.4) + 0x0000000008102320 . = ALIGN (0x10) + 0x00000000000000d0 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) + 0x00000000e5200000 . = ORIGIN (ilram) + +.ilram 0x00000000e5200000 0x20 load address 0x000000000030871c + 0x000000000030871c _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 0x000000000030873c + 0x000000000030873c _lxram = LOADADDR (.xram) + 0x00000000e5007000 _rxram = . + *(.xram) + 0x00000000e5007000 . = ALIGN (0x10) + 0x00000000e5017000 . = ORIGIN (yram) + +.yram 0x00000000e5017000 0x0 load address 0x000000000030873c + 0x000000000030873c _lyram = LOADADDR (.yram) + 0x00000000e5017000 _ryram = . + *(.yram) + 0x00000000e5017000 . = ALIGN (0x10) + 0x0000000000000020 _silram = SIZEOF (.ilram) + 0x0000000000000000 _sxram = SIZEOF (.xram) + 0x0000000000000000 _syram = SIZEOF (.yram) + 0x000000008c15ff00 _gint_vbr = (ORIGIN (vbr) - 0x100) + 0x000000008c161400 . = ORIGIN (rram) + +.gint.data 0x000000008c161400 0xe0 load address 0x000000000030873c + 0x000000000030873c _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) + 0x000000008c161400 _gint_exc_catcher + 0x000000008c161404 _gint_exc_panic + .gint.data 0x000000008c161408 0x10 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) + 0x000000008c161408 _SH7305_INTC + .gint.data.sh3 + 0x000000008c161418 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) + 0x000000008c161418 _SH7705_INTC + .gint.data 0x000000008c16143c 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + .gint.data 0x000000008c161460 0x70 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + .gint.data 0x000000008c1614d0 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + 0x000000008c1614e0 . = ALIGN (0x10) + *fill* 0x000000008c1614d8 0x8 + 0x00000000000000e0 _sgdata = SIZEOF (.gint.data) + +.gint.bss 0x000000008c1614e0 0x300 load address 0x000000000030881c + *(.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) + 0x000000008c1614fc _gint + .gint.bss 0x000000008c16153c 0x180 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + .gint.bss 0x000000008c1616bc 0x88 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + .gint.bss 0x000000008c161744 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + .gint.bss 0x000000008c16174c 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + .gint.bss 0x000000008c161770 0x68 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + 0x000000008c1617e0 . = ALIGN (0x10) + *fill* 0x000000008c1617d8 0x8 + 0x0000000000000300 _sgbss = SIZEOF (.gint.bss) + +/DISCARD/ + *(.gint.bss.sh3) + *(.gint.data.sh3) + *(.debug_info .debug_abbrev .debug_loc .debug_aranges .debug_ranges .debug_line .debug_str) + *(.jcr) + *(.eh_frame_hdr) + *(.eh_frame) + *(.comment) +OUTPUT(build-cg/platform.elf elf32-sh) + +.debug_frame 0x0000000000000000 0x414 + .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 0x98 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + .debug_frame 0x00000000000001a8 0x48 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) + .debug_frame 0x00000000000001f0 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 0x0000000000000238 0x48 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_df.o) + .debug_frame 0x0000000000000280 0x48 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) + .debug_frame 0x00000000000002c8 0x3c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + .debug_frame 0x0000000000000304 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 0x000000000000034c 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + .debug_frame 0x000000000000036c 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 0x00000000000003d4 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 0x00000000000003f4 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) diff --git a/build-cg/platform.bin b/build-cg/platform.bin new file mode 100755 index 0000000..f62de95 Binary files /dev/null and b/build-cg/platform.bin differ diff --git a/build-cg/platform.elf b/build-cg/platform.elf new file mode 100755 index 0000000..9e11564 Binary files /dev/null and b/build-cg/platform.elf differ diff --git a/build-cg/src/collide.c.d b/build-cg/src/collide.c.d new file mode 100644 index 0000000..82a3b5b --- /dev/null +++ b/build-cg/src/collide.c.d @@ -0,0 +1,5 @@ +build-cg/src/collide.c.o: src/collide.c include/collide.h include/draw.h + +include/collide.h: + +include/draw.h: diff --git a/build-cg/src/collide.c.o b/build-cg/src/collide.c.o new file mode 100644 index 0000000..4f556a3 Binary files /dev/null and b/build-cg/src/collide.c.o differ diff --git a/build-cg/src/draw.c.d b/build-cg/src/draw.c.d new file mode 100644 index 0000000..b6d5264 --- /dev/null +++ b/build-cg/src/draw.c.d @@ -0,0 +1,3 @@ +build-cg/src/draw.c.o: src/draw.c include/draw.h + +include/draw.h: diff --git a/build-cg/src/draw.c.o b/build-cg/src/draw.c.o new file mode 100644 index 0000000..faf7d58 Binary files /dev/null and b/build-cg/src/draw.c.o differ diff --git a/build-cg/src/levels.c.d b/build-cg/src/levels.c.d new file mode 100644 index 0000000..32ff5c6 --- /dev/null +++ b/build-cg/src/levels.c.d @@ -0,0 +1,3 @@ +build-cg/src/levels.c.o: src/levels.c include/levels.h + +include/levels.h: diff --git a/build-cg/src/levels.c.o b/build-cg/src/levels.c.o new file mode 100644 index 0000000..36b0892 Binary files /dev/null and b/build-cg/src/levels.c.o differ diff --git a/build-cg/src/main.c.d b/build-cg/src/main.c.d new file mode 100644 index 0000000..d08b3ca --- /dev/null +++ b/build-cg/src/main.c.d @@ -0,0 +1,10 @@ +build-cg/src/main.c.o: src/main.c include/draw.h include/collide.h \ + include/levels.h include/player.h + +include/draw.h: + +include/collide.h: + +include/levels.h: + +include/player.h: diff --git a/build-cg/src/main.c.o b/build-cg/src/main.c.o new file mode 100644 index 0000000..3cbd10d Binary files /dev/null and b/build-cg/src/main.c.o differ diff --git a/build-cg/src/player.c.d b/build-cg/src/player.c.d new file mode 100644 index 0000000..d1b6e38 --- /dev/null +++ b/build-cg/src/player.c.d @@ -0,0 +1,3 @@ +build-cg/src/player.c.o: src/player.c include/player.h + +include/player.h: diff --git a/build-cg/src/player.c.o b/build-cg/src/player.c.o new file mode 100644 index 0000000..e458323 Binary files /dev/null and b/build-cg/src/player.c.o differ diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..9eaee66 --- /dev/null +++ b/build.sh @@ -0,0 +1,7 @@ +#/bin/#!/usr/bin/env bash +echo "making levels.c" +rm src/levels.c +luajit levels.lua >> src/levels.c +echo "building for cg" +fxsdk build-cg +echo "done" diff --git a/editor.sh b/editor.sh new file mode 100755 index 0000000..1cd3d92 --- /dev/null +++ b/editor.sh @@ -0,0 +1,3 @@ +cd ../up-editor/ +love . + diff --git a/include/collide.h b/include/collide.h new file mode 100644 index 0000000..9be6f95 --- /dev/null +++ b/include/collide.h @@ -0,0 +1,4 @@ +char collide(int x, int y, char level[], char tile); +char collide_solid(int x, int y, char level[]); +char collide_point(int x, int y, char level[], char tile); +char collide_and_erase(int x, int y, char level[], char tile); diff --git a/include/draw.h b/include/draw.h new file mode 100644 index 0000000..a40d8f6 --- /dev/null +++ b/include/draw.h @@ -0,0 +1,5 @@ +void draw_player(int old_x, int old_y, int x, int y); +void draw_level(char level[]); +void draw_level_anims(char level[], unsigned int step); +void erase_tile(int x, int y, char level[]); +void draw_timer(unsigned int step); //coucou Lephé' diff --git a/include/levels.h b/include/levels.h new file mode 100644 index 0000000..04d8536 --- /dev/null +++ b/include/levels.h @@ -0,0 +1 @@ +void set_level(int level_id, char level[]); diff --git a/include/player.h b/include/player.h new file mode 100644 index 0000000..69af390 --- /dev/null +++ b/include/player.h @@ -0,0 +1,3 @@ +void jump_test(char *jump_pressed, char *jump_buffer, unsigned int *jump_hold); +void set_start_pos(int *start_x, int *start_y, int x, int y); +void reset_old_pos(int *old_x, int *old_y); diff --git a/levels.lua b/levels.lua new file mode 100755 index 0000000..f940ed1 --- /dev/null +++ b/levels.lua @@ -0,0 +1,31 @@ +#!/usr/bin/luajit + +io.write([[#include "levels.h" +#include +]]) +io.write("void set_level(int level_id, char level[]){") +io.write("switch (level_id){") +current = 0 +for i = 0, 9999, 1 do + file = io.open("../up-editor/screens/"..i..".scr") + file_content = nil + if file then + file_content = file:read() + formated_file = "" + for j = 1, #file_content, 1 do + if j == 1 then + formated_file = formated_file.."-----------------------------" + end + formated_file = formated_file..file_content:sub(j, j) + if j % 26 == 0 then formated_file = formated_file.."--" end + if j == 390 then + formated_file = formated_file.."---------------------------" + end + end + file:close() + io.write("case "..i..":memcpy(level,\"".. + formated_file.."\","..#formated_file..");") + io.write("break;") + end +end +io.write("}}") diff --git a/platform.g3a b/platform.g3a new file mode 100644 index 0000000..3340668 Binary files /dev/null and b/platform.g3a differ diff --git a/project.cfg b/project.cfg new file mode 100644 index 0000000..abf968c --- /dev/null +++ b/project.cfg @@ -0,0 +1,91 @@ +#--- +# fxSDK project configuration file for platform +#--- + +# Project name, should be at most 8 bytes long. +# (You can also specify NAME_G1A or NAME_G3A to override individually.) +NAME := platform + +# Internal name, should be '@' followed by at most 7 uppercase letters. +# WARNING: If this convention is not followed, the add-in might not appear in +# the main menu of the calculator! +INTERNAL := @PLATFRM + +# Output file name. The default is to take , replace spaces with dashes, +# and add .g1a (or .g3a). You can specify a different folder if you want. +TARGET_FX := +TARGET_CG := + +# 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 + +#--- +# Toolchain selection +#--- + +# Toolchain for fx9860g. Please see also CFLAGS_FX below. +TOOLCHAIN_FX := sh3eb-elf + +# Toolchain for fxcg50. Please see also CFLAGS_CG below. +TOOLCHAIN_CG := sh-elf + +#--- +# Compiler flags +#--- + +# Base compiler flags for the fxSDK, you usually want to keep these. +CFLAGS := -mb -ffreestanding -nostdlib -fstrict-volatile-bitfields + +# Platform-specific compiler flags. +# <> If you are using sh3eb-elf, use -m3. (You can do this on both FX and CG.) +# <> If you are using sh4eb-elf, use -m4-nofpu. (Not ideal on FX but works.) +# <> If you are using sh4eb-nofpu-elf, then your compiler will likely use the +# FPU and cause problems on the calculator. Consider another configuration. +# <> If you are using an sh-elf with several targets, specify whichever you +# support. I recommend -m3 on FX and -m4-nofpu on CG. +# Please see also TOOLCHAIN_FX and TOOLCHAIN_CG above. +CFLAGS_FX := -D FX9860G -m3 +CFLAGS_CG := -D FXCG50 -m4-nofpu + +# Additional compiler flags, change to your own taste! +CFLAGS += -Wall -Wextra -Os + +# Include paths. Add one -I option for each folder from which you want to +# be able to include files with #include<>. +INCLUDE := -I include + +# Libraries. Add one -l option for each library you are using, and also +# suitable -L options if you have library files in custom folders. To use +# fxlib, add libfx.a to the project directory and use "-L . -lfx". +LIBS := + +# Base linker flags for the fxSDK, you usually want to keep these. +LDFLAGS_FX := -T fx9860g.ld -lgint-fx $(LIBS) -lgint-fx -lgcc +LDFLAGS_CG := -T fxcg50.ld -lgint-cg $(LIBS) -lgint-cg -lgcc + +# Additional linker flags, if you need any. +LDFLAGS := + +# Additional platform-specific linker flags. +LDFLAGS_FX += -Wl,-Map=build-fx/map +LDFLAGS_CG += -Wl,-Map=build-cg/map + +#--- +# File conversion parameters +#--- + +#IMG.player.png = profile:p4 +#IMG.elevator.png = profile:p4 +#IMG.ground.png = profile:p4 +#IMG.jitem_popup.png = profile:p4 +#IMG.jitem.png = profile:p4 +#IMG.spike.png = profile:p4 + +# Here you can add fxconv options for each converted file, individually. +# The syntax is ".". For example, to specify the parameters for a +# font name "hexa.png", you might write: +# +# FONT.hexa.png = charset:print grid:size:3x5 grid.padding:1 diff --git a/src/collide.c b/src/collide.c new file mode 100644 index 0000000..2884185 --- /dev/null +++ b/src/collide.c @@ -0,0 +1,54 @@ +#include "collide.h" +#include "draw.h" + +#define PLAYER_H 15 +#define PLAYER_W 11 +#define LEVEL_WIDTH 28 + +char collide(int x, int y, char level[], char tile) +{ + if ((level[(int)(x/16) + (int)(y/16) * LEVEL_WIDTH] == tile) || + (level[(int)(x/16) + (int)((y+PLAYER_H)/16) * LEVEL_WIDTH] == tile) || + (level[(int)((x+PLAYER_W)/16) + (int)((y+PLAYER_H)/16) * + LEVEL_WIDTH] == tile) || (level[(int)((x+PLAYER_W)/16) + (int)(y/16) * + LEVEL_WIDTH] == tile)) return 1; + return 0; +} + +char collide_point(int x, int y, char level[], char tile) +{ + return (level[(int)(x/16) + (int)(y/16) * LEVEL_WIDTH] == tile); +} + +char collide_solid(int x, int y, char level[]) +{ + return (collide(x, y, level, '0') || + collide(x, y, level, '^') || + collide(x, y, level, '~')); +} + +char collide_and_erase(int x, int y, char level[], char tile) +{ + char collided = 0; + if (collide_point(x, y, level, tile)) + { + erase_tile(x, y, level); + collided = 1; + } + if (collide_point(x + PLAYER_W, y, level, tile)) + { + erase_tile(x + PLAYER_W, y, level); + collided = 1; + } + if (collide_point(x, y + PLAYER_H, level, tile)) + { + erase_tile(x, y + PLAYER_H, level); + collided = 1; + } + if (collide_point(x + PLAYER_W, y + PLAYER_H, level, tile)) + { + erase_tile(x + PLAYER_W, y + PLAYER_H, level); + collided = 1; + } + return collided; +} diff --git a/src/draw.c b/src/draw.c new file mode 100644 index 0000000..333f2eb --- /dev/null +++ b/src/draw.c @@ -0,0 +1,109 @@ +#include +#include "draw.h" + +#define PLAYER_H 15 +#define PLAYER_W 11 +#define BG_COLOR 0 +#define LEVEL_WIDTH 28 +#define DRAW_OFFSET_Y -24 +#define DRAW_OFFSET_X -27 + +extern image_t img_player; //player texture, 12x12 +extern image_t img_ground; //ground texture, 16x16 +extern image_t img_spike; //spike texture, 16x16 +extern image_t img_ice; //ice texture, 16x8 +//animated textures +extern image_t img_elevator1, img_elevator2, img_elevator3, img_elevator4; +extern image_t img_elevator5, img_elevator6, img_elevator7, img_elevator8; +extern image_t img_elevator9, img_elevator10, img_elevator11, img_elevator12; +extern image_t img_elevator13, img_elevator14, img_elevator15, img_elevator16; +const image_t * ani_elevator[16] = {&img_elevator1, &img_elevator2, + &img_elevator3, &img_elevator4, &img_elevator5, &img_elevator6, + &img_elevator7, &img_elevator8, &img_elevator9, &img_elevator10, + &img_elevator11, &img_elevator12, &img_elevator13, &img_elevator14, + &img_elevator15, &img_elevator16}; + +void draw_player(int old_x, int old_y, int x, int y) +{ + if (old_x != x || old_y != y) + { + drect(old_x + DRAW_OFFSET_X, old_y + DRAW_OFFSET_Y, + (old_x + PLAYER_W) + DRAW_OFFSET_X, + (old_y + PLAYER_H) + DRAW_OFFSET_Y, BG_COLOR); + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_player); + } +} + +void draw_level(char level[]) +{ + dclear(BG_COLOR); + unsigned int i = 0; + unsigned int x = 0; + unsigned int y = 0; + while (i != LEVEL_WIDTH*16) + { + switch (level[i]) + { + case '0': + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_ground); + break; + case 'v': + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_spike); + break; + case '~': + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_ground); + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_ice); + break; + case 's': + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_ground); + break; + } + x += 16; + if (x == 16*LEVEL_WIDTH) + { + x = 0; + y += 16; + } + i++; + } +} + +void draw_level_anims(char level[], unsigned int step) +{ + unsigned int i = 0; + unsigned int x = 0; + unsigned int y = 0; + while (i != LEVEL_WIDTH*16) + { + switch (level[i]) + { + case '^': + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, ani_elevator[(step/2)%16]); + break; + } + x += 16; + if (x == 16*LEVEL_WIDTH) + { + x = 0; + y += 16; + } + i++; + } +} + +void erase_tile(int x, int y, char level[]) +{ + x = (int)(x/16); + y = (int)(y/16); + level[x + y * LEVEL_WIDTH] = '.'; + x *= 16; + y *= 16; + drect(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, + x + 15 + DRAW_OFFSET_X, + y + 15 + DRAW_OFFSET_Y, BG_COLOR); +} + +void draw_timer(unsigned int step) +{ + dprint(0, 0, C_WHITE, C_BLACK, "%u.%02u", step/60, step%60); +} diff --git a/src/levels.c b/src/levels.c new file mode 100644 index 0000000..2782c8d --- /dev/null +++ b/src/levels.c @@ -0,0 +1,3 @@ +#include "levels.h" +#include +void set_level(int level_id, char level[]){switch (level_id){case 4950:memcpy(level,"-----------------------------..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--.......00000..............-----------------------------",476);break;case 5050:memcpy(level,"-----------------------------..........................--............00............--..........................--..........................--................00........--..........................--..........................--..........................--.....................00...--..........................--..........................--0........................0--000....................000--00000000..........00000000--00000000000000000000000000-----------------------------",476);break;case 5150:memcpy(level,"-----------------------------..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................-----------------------------",476);break;}} \ No newline at end of file diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..30bf627 --- /dev/null +++ b/src/main.c @@ -0,0 +1,223 @@ +#include +#include +#include +#include "draw.h" +#include "collide.h" +#include "levels.h" +#include "player.h" + +#define MAX_HSPD 2.5 +#define ACCELERATION 1 +#define DECELERATION 0.5 +#define MIN_VSPD -12.0 +#define MAX_VSPD 12 +#define JUMP_SPD -3.99 +#define GRAV 0.4 +#define JUMP_SCALE 12 +#define JUMP_REDUCTION -0.41 +#define UG_CAN_JUMP upgrades[0] +char coins[256]; +#define DRAW_LEVEL() draw_level(level) + +void dupdate(); //gint function +//test if jump pressed +int sgn(int number); //return the sign of input double + +int callback(volatile void *arg) +{ + volatile int *has_ticked = arg; + *has_ticked = 1; + return 0; +} + +int main(void) +{ + volatile int has_ticked = 1; //fps cap + char level[477]; + int level_id = 5050; + char jump_pressed = 1; //avoid holding jump + char jump_buffer = 0; //jump buffer, last 3 frames + unsigned int jump_hold = 0; //number of consecutive frames jump has been held + double vspd = 0.0; //player vertical speed + double hspd = 0; //player horizontal speed + int move = 0; + int direction = 0; + int on_ground = 6; //remember if player is on solid + int player_x = 0; + int player_y = 0; + int start_x = 18*16 + 2; + int start_y = 9*16 + 4; + int old_x, old_y; + char spawn_buffer = 0; + unsigned int step = 0; + set_level(level_id, level); + DRAW_LEVEL(); + draw_level_anims(level, step); + player_x = start_x; + player_y = start_y; + old_x = player_x + 1; //offset to draw it on first cycle + old_y = player_y; + //fps cap timer + timer_setup(0, timer_delay(0, 16667), 0, callback, &has_ticked); + timer_start(0); + while (1) { + while(!has_ticked) sleep(); + has_ticked = 0; + //START DRAW + step++; + draw_level_anims(level, step); + draw_player(old_x, old_y, player_x, player_y); + draw_timer(step); + dupdate(); + old_y = player_y; + old_x = player_x; + //END DRAW + clearevents(); + //horizontal movement & collision + { + move = 0; + double friction = 1; + int trunc_hspd; + //ice + if (collide(player_x, player_y + 1, level, '~')) friction = 0.2; + move = keydown(KEY_RIGHT) + 0 - keydown(KEY_LEFT); + if (move) { + if (hspd < MAX_HSPD) + { + hspd += ACCELERATION * friction; + if (hspd > MAX_HSPD) hspd = MAX_HSPD; + } + direction = move; + } + else if (hspd > 0) + { + if (friction != 0.2) hspd -= DECELERATION * friction; + else hspd -= DECELERATION / 4 * friction; + if (hspd < 0) hspd = 0; + } + trunc_hspd = hspd * direction; + if (1) //glue was here + { + if (!collide_solid(player_x + trunc_hspd, player_y, level)) + { + player_x += trunc_hspd; + } + else + { + int sign_hspd = sgn(trunc_hspd); + while (!collide_solid(player_x + sign_hspd, player_y, level)) + { + player_x += sign_hspd; + } + hspd = 0; + } + } + } + //ground detection + if (vspd >= 0 && collide_solid(player_x, player_y + 1, level)) + { + on_ground = 6; + vspd = 0; + if (spawn_buffer) + { + spawn_buffer = 0; + set_start_pos(&start_x, &start_y, player_x, player_y); + } + } + else + { + if (on_ground != 6 && vspd < MAX_VSPD) vspd += GRAV; + if (on_ground) on_ground--; + } + //vertical movement + jump_test(&jump_pressed, &jump_buffer, &jump_hold); + //jump + if (jump_buffer && on_ground) { + vspd = JUMP_SPD; + on_ground = 0; + jump_hold = JUMP_SCALE; + } + else if (jump_hold && keydown(KEY_SHIFT)) + { + jump_hold--; + vspd += JUMP_REDUCTION; + } + else jump_hold = 0; + //elevator collision and raise + if ((collide(player_x - 1, player_y, level, '^') || + collide(player_x + 1, player_y, level, '^')) && vspd > MIN_VSPD) + { + if (vspd > -2) + { + vspd -= GRAV; + } + vspd -= GRAV; + } + //vertical collision + { + int trunc_vspd = vspd; //truncate vspd + if (trunc_vspd) + { + if (!collide_solid(player_x, player_y + trunc_vspd, level)) + { + player_y += trunc_vspd; + } + else + { + int sign_vspd = sgn(trunc_vspd); + while (!collide_solid(player_x, player_y + sign_vspd, level)) + { + player_y += sign_vspd; + } + vspd = 0; + jump_hold = 0; + } + } + } + //spike collision and death + if (collide(player_x, player_y, level, 'v')) + { + player_x = start_x; + player_y = start_y; + vspd = 0; + } + //borders collision + if (player_x <= 22) + { + player_x = 414; + } + else if (player_x >= 416) + { + player_x = 24; + } + else if (player_y <= 8) + { + level_id -= 100; + player_y = 246; + spawn_buffer = 1; + set_start_pos(&start_x, &start_y, player_x, player_y); + set_level(level_id, level); + DRAW_LEVEL(); + reset_old_pos(&old_x, &old_y); + } + else if (player_y >= 248) + { + level_id += 100; + player_y = 10; + set_start_pos(&start_x, &start_y, player_x, player_y); + set_level(level_id, level); + DRAW_LEVEL(); + reset_old_pos(&old_x, &old_y); + } + //secret way/hidden passage + collide_and_erase(player_x, player_y, level, 's'); + //exit + if (keydown(KEY_EXIT)) return 0; + } +} + +int sgn(int number) +{ + if (number < 0) return -1; + else return 1; +} diff --git a/src/player.c b/src/player.c new file mode 100644 index 0000000..22a32b5 --- /dev/null +++ b/src/player.c @@ -0,0 +1,31 @@ +#include +#include "player.h" + +void jump_test(char *jump_pressed, char *jump_buffer, unsigned int *jump_hold) +{ + if (keydown(KEY_SHIFT)) + { + if (!*jump_pressed) + { + *jump_pressed = 1; + *jump_buffer = 3; + } + } + else { + *jump_hold = 0; + *jump_pressed = 0; + } + if (*jump_buffer) *jump_buffer -= 1; +} + +void set_start_pos(int *start_x, int *start_y, int x, int y) +{ + *start_x = x; + *start_y = y; +} + +void reset_old_pos(int *old_x, int *old_y) +{ + *old_x = -16; + *old_y = -16; +} diff --git a/transfer.sh b/transfer.sh new file mode 100755 index 0000000..6c66e40 --- /dev/null +++ b/transfer.sh @@ -0,0 +1,3 @@ +#/bin/#!/usr/bin/env bash +cp platform.g3a /media/user/disk/ -v +echo done