To Lephé'

This commit is contained in:
KikooDX 2020-03-17 18:01:24 +01:00
parent 24eb9a4f46
commit 9196d2b6ea
87 changed files with 2027 additions and 0 deletions

324
LICENSE Normal file
View File

@ -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
reasonfor example, because of any applicable exception or limitation to copyrightthen
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.

194
Makefile Normal file
View File

@ -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

BIN
assets-cg/icon-cg-sel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

BIN
assets-cg/icon-cg-uns.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
assets-cg/img/elevator.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

BIN
assets-cg/img/elevator1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

BIN
assets-cg/img/elevator2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 B

BIN
assets-cg/img/elevator3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

BIN
assets-cg/img/elevator4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

BIN
assets-cg/img/elevator5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

BIN
assets-cg/img/elevator6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

BIN
assets-cg/img/elevator7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

BIN
assets-cg/img/elevator8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

BIN
assets-cg/img/elevator9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

BIN
assets-cg/img/ground.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

BIN
assets-cg/img/ice.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

BIN
assets-cg/img/player.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

BIN
assets-cg/img/spike.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

917
build-cg/map Normal file
View File

@ -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)

BIN
build-cg/platform.bin Executable file

Binary file not shown.

BIN
build-cg/platform.elf Executable file

Binary file not shown.

5
build-cg/src/collide.c.d Normal file
View File

@ -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:

BIN
build-cg/src/collide.c.o Normal file

Binary file not shown.

3
build-cg/src/draw.c.d Normal file
View File

@ -0,0 +1,3 @@
build-cg/src/draw.c.o: src/draw.c include/draw.h
include/draw.h:

BIN
build-cg/src/draw.c.o Normal file

Binary file not shown.

3
build-cg/src/levels.c.d Normal file
View File

@ -0,0 +1,3 @@
build-cg/src/levels.c.o: src/levels.c include/levels.h
include/levels.h:

BIN
build-cg/src/levels.c.o Normal file

Binary file not shown.

10
build-cg/src/main.c.d Normal file
View File

@ -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:

BIN
build-cg/src/main.c.o Normal file

Binary file not shown.

3
build-cg/src/player.c.d Normal file
View File

@ -0,0 +1,3 @@
build-cg/src/player.c.o: src/player.c include/player.h
include/player.h:

BIN
build-cg/src/player.c.o Normal file

Binary file not shown.

7
build.sh Executable file
View File

@ -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"

3
editor.sh Executable file
View File

@ -0,0 +1,3 @@
cd ../up-editor/
love .

4
include/collide.h Normal file
View File

@ -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);

5
include/draw.h Normal file
View File

@ -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é'

1
include/levels.h Normal file
View File

@ -0,0 +1 @@
void set_level(int level_id, char level[]);

3
include/player.h Normal file
View File

@ -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);

31
levels.lua Executable file
View File

@ -0,0 +1,31 @@
#!/usr/bin/luajit
io.write([[#include "levels.h"
#include <gint/std/string.h>
]])
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("}}")

BIN
platform.g3a Normal file

Binary file not shown.

91
project.cfg Normal file
View File

@ -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 <NAME>, 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 "<type>.<file>". 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

54
src/collide.c Normal file
View File

@ -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;
}

109
src/draw.c Normal file
View File

@ -0,0 +1,109 @@
#include <gint/display.h>
#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);
}

3
src/levels.c Normal file
View File

@ -0,0 +1,3 @@
#include "levels.h"
#include <gint/std/string.h>
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;}}

223
src/main.c Normal file
View File

@ -0,0 +1,223 @@
#include <gint/keyboard.h>
#include <gint/timer.h>
#include <gint/clock.h>
#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;
}

31
src/player.c Normal file
View File

@ -0,0 +1,31 @@
#include <gint/keyboard.h>
#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;
}

3
transfer.sh Executable file
View File

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