First commit

master
KikooDX 3 years ago
commit 635888d71f
  1. 194
      Makefile
  2. BIN
      assets-cg/icon-cg-sel.png
  3. BIN
      assets-cg/icon-cg-uns.png
  4. BIN
      assets-cg/img/ground.png
  5. BIN
      assets-cg/img/player.png
  6. BIN
      assets-fx/icon-fx.png
  7. BIN
      build-cg/assets/img/ground.png.o
  8. BIN
      build-cg/assets/img/player.png.o
  9. 612
      build-cg/map
  10. BIN
      build-cg/platform.bin
  11. 1
      build-cg/src/collide.c.d
  12. BIN
      build-cg/src/collide.c.o
  13. 1
      build-cg/src/draw.c.d
  14. BIN
      build-cg/src/draw.c.o
  15. 3
      build-cg/src/levels.c.d
  16. BIN
      build-cg/src/levels.c.o
  17. 7
      build-cg/src/main.c.d
  18. BIN
      build-cg/src/main.c.o
  19. 4
      build.sh
  20. 29
      levels.lua
  21. BIN
      platform.g3a
  22. 84
      project.cfg
  23. 14
      src/collide.c
  24. 1
      src/collide.h
  25. 44
      src/draw.c
  26. 2
      src/draw.h
  27. 9
      src/levels.c
  28. 1
      src/levels.h
  29. 61
      src/main.c
  30. 3
      transfer.sh

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Binary file not shown.

@ -0,0 +1,612 @@
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(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)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.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/main.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 (_pollevent)
/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.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) (_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(memory.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) (_memcpy)
/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(_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)
Discarded input sections
.comment 0x0000000000000000 0x12 build-cg/src/collide.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(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(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(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 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)
Memory Configuration
Name Origin Length Attributes
rom 0x0000000000300000 0x0000000000037000 xr
ram 0x0000000008102000 0x0000000000080000 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/draw.c.o
LOAD build-cg/src/levels.c.o
LOAD build-cg/src/main.c.o
LOAD build-cg/assets/img/ground.png.o
LOAD build-cg/assets/img/player.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
0x0000000000004a34 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
.text 0x0000000000300000 0x38f0
*(.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 0xd2 build-cg/src/collide.c.o
0x000000000030067c _collide_with
*fill* 0x000000000030074e 0x2
.text 0x0000000000300750 0xd0 build-cg/src/draw.c.o
0x0000000000300750 _draw_player
0x00000000003007a4 _draw_level
.text 0x0000000000300820 0x4 build-cg/src/levels.c.o
0x0000000000300820 _get_level
.text 0x0000000000300824 0x34 build-cg/src/main.c.o
0x0000000000300824 _jump_test
.text.startup 0x0000000000300858 0xec build-cg/src/main.c.o
0x0000000000300858 _main
.text 0x0000000000300944 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 0x0000000000300944 0x104 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o)
0x00000000003009b0 _gint_install
0x0000000000300a30 _gint_unload
.text 0x0000000000300a48 0xf8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o)
0x0000000000300a48 _utlb_addr
0x0000000000300a58 _utlb_data
0x0000000000300a68 _utlb_mapped_memory
.text 0x0000000000300b40 0x2dc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
0x0000000000300de8 _gint_panic
0x0000000000300df8 _gint_panic_set
0x0000000000300e04 _gint_exc_catch
0x0000000000300e10 _gint_exc_skip
.text 0x0000000000300e1c 0x5c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o)
0x0000000000300e1c _gint_intlevel
0x0000000000300e54 _gint_inthandler
.text 0x0000000000300e78 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 0x0000000000300e78 0x2c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o)
0x0000000000300e78 _gint_setvbr
.text 0x0000000000300ea4 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 0x0000000000300ea4 0x9c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
0x0000000000300ea4 _dsize
.text 0x0000000000300f40 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o)
0x0000000000300f40 _dprint
.text 0x0000000000300f98 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o)
0x0000000000300f98 _dimage
0x0000000000300fc0 _dsubimage
.text 0x0000000000300fd8 0x1c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o)
0x0000000000300fd8 _dclear
.text 0x0000000000300ff4 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o)
0x0000000000300ff4 _dvram
.text 0x0000000000300ff8 0xc0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o)
0x0000000000300ff8 _drect
.text 0x00000000003010b8 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 0x00000000003010b8 0x30 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o)
0x00000000003010b8 _dupdate
0x00000000003010d0 _dupdate_noint
.text 0x00000000003010e8 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 0x00000000003010e8 0x1e4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o)
0x00000000003010e8 _bopti_render
0x00000000003011d8 _bopti_render_clip
0x00000000003012a0 _bopti_render_noclip
.text 0x00000000003012cc 0x3ac /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
0x0000000000301424 _pollevent
0x0000000000301568 _waitevent
0x00000000003015b4 _clearevents
0x00000000003015d4 _keydown
0x0000000000301600 _keydown_all
0x000000000030163c _keydown_any
.text 0x0000000000301678 0x4cc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
0x0000000000301900 _timer_setup
0x0000000000301990 _timer_delay
0x00000000003019f0 _timer_start
0x0000000000301a24 _timer_reload
0x0000000000301a44 _timer_pause
0x0000000000301a78 _timer_stop
0x0000000000301ad4 _timer_timeout
0x0000000000301ae0 _timer_address
0x0000000000301b14 _timer_clear
.text 0x0000000000301b44 0x4c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o)
0x0000000000301b44 _dma_memset
.text 0x0000000000301b90 0x2d4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
0x0000000000301be0 _r61524_win_get
0x0000000000301c98 _r61524_win_set
0x0000000000301d58 _r61524_display
.text 0x0000000000301e64 0x7c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o)
0x0000000000301e64 _strlen
0x0000000000301e74 _strncpy
0x0000000000301e8c _strcat
0x0000000000301ed0 _strcmp
.text 0x0000000000301ee0 0xce4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
0x00000000003028dc _kprint_opt
0x0000000000302a24 _kprint
0x0000000000302afc _kvsprint
0x0000000000302b44 _sprintf
0x0000000000302b6c _vsprintf
0x0000000000302b8c _snprintf
0x0000000000302bac _vsnprintf
.text 0x0000000000302bc4 0xdc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o)
0x0000000000302bc4 _memcpy
0x0000000000302c7e __memmove
0x0000000000302c82 __memcmp
0x0000000000302c86 _memset
.text 0x0000000000302ca0 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 0x0000000000302ca0 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)
0x0000000000302ca0 _bopti_r5g6b5
0x0000000000302cf0 _bopti_r5g6b5a
0x0000000000302d20 _bopti_p8
0x0000000000302d50 _bopti_p4
.text 0x0000000000302da0 0xc8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
0x0000000000302e5c _clock_freq
.text 0x0000000000302e68 0x1d0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o)
0x0000000000302e68 _getkey_opt
0x0000000000302ff0 _getkey
0x0000000000302ffc _getkey_repeat
.text 0x0000000000303038 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 0x0000000000303038 0x3f8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x000000000030330c _dma_transfer
0x000000000030334c _dma_transfer_wait
0x00000000003033c4 _dma_transfer_noint
.text 0x0000000000303430 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 0x0000000000303430 0x78 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
0x0000000000303430 ___movstr
0x0000000000303430 ___movmem
0x0000000000303464 ___movmemSI64
0x0000000000303464 ___movstrSI64
0x0000000000303468 ___movstrSI60
0x0000000000303468 ___movmemSI60
0x000000000030346c ___movmemSI56
0x000000000030346c ___movstrSI56
0x0000000000303470 ___movstrSI52
0x0000000000303470 ___movmemSI52
0x0000000000303474 ___movstrSI48
0x0000000000303474 ___movmemSI48
0x0000000000303478 ___movstrSI44
0x0000000000303478 ___movmemSI44
0x000000000030347c ___movstrSI40
0x000000000030347c ___movmemSI40
0x0000000000303480 ___movstrSI36
0x0000000000303480 ___movmemSI36
0x0000000000303484 ___movmemSI32
0x0000000000303484 ___movstrSI32
0x0000000000303488 ___movmemSI28
0x0000000000303488 ___movstrSI28
0x000000000030348c ___movstrSI24
0x000000000030348c ___movmemSI24
0x0000000000303490 ___movmemSI20
0x0000000000303490 ___movstrSI20
0x0000000000303494 ___movstrSI16
0x0000000000303494 ___movmemSI16
0x0000000000303498 ___movmemSI12
0x0000000000303498 ___movstrSI12
0x000000000030349c ___movmemSI8
0x000000000030349c ___movstrSI8
0x00000000003034a0 ___movmemSI4
0x00000000003034a0 ___movstrSI4
.text 0x00000000003034a8 0x1e0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
0x00000000003034a8 ___udivdi3
.text 0x0000000000303688 0x208 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
0x0000000000303688 ___umoddi3
.text 0x0000000000303890 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)
0x0000000000303890 ___udiv_qrnnd_16
.text 0x00000000003038f0 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
.gint.blocks 0x00000000003038f0 0x140
*(.gint.blocks)
.gint.blocks 0x00000000003038f0 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o)
0x00000000003038f0 _gint_inth_7305
.gint.blocks 0x0000000000303910 0xe0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
0x0000000000303910 _inth_tmu
0x0000000000303990 _inth_etmu2
0x00000000003039b0 _inth_etmu_help
0x00000000003039d0 _inth_etmux
.gint.blocks 0x00000000003039f0 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
0x00000000003039f0 _inth_dma_te
0x0000000000303a10 _inth_dma_ae
.gint.drivers 0x0000000000303a30 0xb4
0x0000000000303a30 _bdrv = .
*(.gint.drivers.0)
*(.gint.drivers.1)
.gint.drivers.1
0x0000000000303a30 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
0x0000000000303a30 _drv_cpg
*(.gint.drivers.2)
.gint.drivers.2
0x0000000000303a54 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
0x0000000000303a54 _drv_tmu
.gint.drivers.2
0x0000000000303a78 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x0000000000303a78 _drv_dma0
*(.gint.drivers.3)
*(.gint.drivers.4)
.gint.drivers.4
0x0000000000303a9c 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
0x0000000000303a9c _drv_keysc
*(.gint.drivers.5)
.gint.drivers.5
0x0000000000303ac0 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
0x0000000000303ac0 _drv_r61524
*(.gint.drivers.6)
0x0000000000303ae4 _edrv = .
.rodata 0x0000000000303ae4 0xf50
*(.rodata.4)
*(.rodata .rodata.*)
.rodata 0x0000000000303ae4 0x208 build-cg/assets/img/ground.png.o
0x0000000000303ae4 _img_ground
0x0000000000303cec _img_ground_end
.rodata 0x0000000000303cec 0x488 build-cg/assets/img/player.png.o
0x0000000000303cec _img_player
0x0000000000304174 _img_player_end
.rodata.str1.4
0x0000000000304174 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 0x00000000003043fc 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
0x0000000000304414 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* 0x000000000030441a 0x2
.rodata.str1.4
0x000000000030441c 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 0x0000000000304420 0x49c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(font8x9.png.o)
0x0000000000304420 _gint_font8x9
0x00000000003048bc _gint_font8x9_end
.rodata.str1.4
0x00000000003048bc 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* 0x00000000003048c3 0x1
.rodata.str1.4
0x00000000003048c4 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* 0x00000000003048f5 0x3
.rodata.str1.4
0x00000000003048f8 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 0x00000000003048fc 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
0x000000000030492c 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 0x0000000000304934 0x100 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
0x0000000000304934 ___clz_tab
.rela.dyn 0x0000000000304a34 0x0
.rela.text.startup
0x0000000000304a34 0x0 build-cg/src/main.c.o
.rela.pretext.entry
0x0000000000304a34 0x0 build-cg/src/main.c.o
.rela.text 0x0000000000304a34 0x0 build-cg/src/main.c.o
.rela.pretext 0x0000000000304a34 0x0 build-cg/src/main.c.o
0x0000000008102000 . = ORIGIN (ram)
.bss 0x0000000008102000 0x150
0x0000000008102000 _rbss = .
*(.bss COMMON)
.bss 0x0000000008102000 0x0 build-cg/src/collide.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
.bss 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102000 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 0x0000000008102024 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 0x0000000008102024 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 0x0000000008102024 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 0x0000000008102024 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 0x0000000008102024 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 0x0000000008102138 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 0x0000000008102138 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 0x0000000008102138 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 0x0000000008102138 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 0x0000000008102138 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 0x0000000008102144 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 0x0000000008102144 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 0x0000000008102144 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 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
.bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
0x0000000008102150 . = ALIGN (0x10)
*fill* 0x0000000008102144 0xc
0x0000000000000150 _sbss = SIZEOF (.bss)
.data 0x0000000008102150 0x80 load address 0x0000000000304a34
0x0000000000304a34 _ldata = LOADADDR (.data)
0x0000000008102150 _rdata = .
*(.data .data.*)
.data 0x0000000008102150 0x0 build-cg/src/collide.c.o
.data 0x0000000008102150 0x0 build-cg/src/draw.c.o
.data 0x0000000008102150 0x0 build-cg/src/levels.c.o
.data 0x0000000008102150 0x0 build-cg/src/main.c.o
.data 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 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 0x0000000008102150 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o)
0x0000000008102150 _gint_vram
.data 0x0000000008102154 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 0x0000000008102154 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
0x0000000008102154 _topti_font
0x0000000008102158 _gint_default_font
.data 0x000000000810215c 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 0x000000000810215c 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 0x000000000810215c 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 0x000000000810215c 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 0x000000000810215c 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 0x000000000810215c 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 0x000000000810215c 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 0x000000000810215c 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 0x000000000810215c 0x68 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
0x000000000810215c _kprint_formatters
.data 0x00000000081021c4 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 0x00000000081021c4 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 0x00000000081021c4 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 0x00000000081021c4 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 0x00000000081021c4 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 0x00000000081021cc 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 0x00000000081021cc 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 0x00000000081021cc 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 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
.data 0x00000000081021cc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
0x00000000081021d0 . = ALIGN (0x10)
*fill* 0x00000000081021cc 0x4
.data.4 0x00000000081021d0 0x0 load address 0x0000000000304ab4
*(.data.4)
0x00000000081021d0 . = ALIGN (0x10)
0x0000000000000080 _sdata = (SIZEOF (.data) + SIZEOF (.data.4))
0x00000000e5200000 . = ORIGIN (ilram)
.ilram 0x00000000e5200000 0x20 load address 0x0000000000304ab4
0x0000000000304ab4 _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 0x0000000000304ad4
0x0000000000304ad4 _lxram = LOADADDR (.xram)
0x00000000e5007000 _rxram = .
*(.xram)
0x00000000e5007000 . = ALIGN (0x10)
0x00000000e5017000 . = ORIGIN (yram)
.yram 0x00000000e5017000 0x0 load address 0x0000000000304ad4
0x0000000000304ad4 _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 0x0000000000304ad4
0x0000000000304ad4 _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 0x0000000000304bb4
*(.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)

Binary file not shown.

@ -0,0 +1 @@
build-cg/src/collide.c.o: src/collide.c

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

@ -0,0 +1,7 @@
build-cg/src/main.c.o: src/main.c src/draw.h src/collide.h src/levels.h
src/draw.h:
src/collide.h:
src/levels.h:

Binary file not shown.

@ -0,0 +1,4 @@
#/bin/#!/usr/bin/env bash
rm src/levels.c
lua5.3 levels.lua >> src/levels.c
fxsdk build-cg

@ -0,0 +1,29 @@
levels = {[[
0000000000
0........0
0........0
0........0
0........0
0........0
0........0
0s.......0
0........0
0000000000
]]
}
to_write = ""
--remove all "\n" from level strings
for i, v in ipairs(levels) do
v = string.gsub(v, "\n", "")
to_write = to_write.." case "..(i-1)..":\n level = \""..v.."\";\n break;"
end
--finish and write
to_write = [[#include "levels.h"
void get_level(unsigned char level_id, char level[]) {
switch (level_id)
{
]]..to_write.."\n }\n}\n"
io.write(to_write)

Binary file not shown.

@ -0,0 +1,84 @@
#---
# 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
#---
# 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

@ -0,0 +1,14 @@
#define PLAYER_SIDES 11
char collide_with(int x, int y, char level[], char tile, unsigned int level_width)
{
if ((level[(int)(x/8) + (int)(y/8) * level_width] == tile) ||
(level[(int)(x/8) + (int)((y+PLAYER_SIDES)/8) * level_width] == tile) ||
(level[(int)((x+PLAYER_SIDES)/8) + (int)((y+PLAYER_SIDES)/8) * level_width] == tile) ||
(level[(int)((x+PLAYER_SIDES)/8) + (int)(y/8) * level_width] == tile) ||
(level[(int)(x/8) + (int)((y+PLAYER_SIDES/2)/8) * level_width] == tile) ||
(level[(int)((x+PLAYER_SIDES/2)/8) + (int)(y/8) * level_width] == tile) ||
(level[(int)((x+PLAYER_SIDES/2)/8) + (int)((y+PLAYER_SIDES)/8) * level_width] == tile) ||
(level[(int)((x+PLAYER_SIDES)/8) + (int)((y+PLAYER_SIDES/2)/8) * level_width] == tile)) return 1;
else return 0;
}

@ -0,0 +1 @@
char collide(int x, int y, char level[], char tile, unsigned int level_width);

@ -0,0 +1,44 @@
#include <gint/display.h>
#define PLAYER_SIDES 11
#define BG_COLOR 0
extern image_t img_player; //player texture, 24x24
void draw_player(int old_x, int old_y, int x, int y)
{
if (old_x != x || old_y != y)
{
drect(old_x * 2, old_y * 2, (old_x + PLAYER_SIDES) * 2 + 1,
(old_y + PLAYER_SIDES) * 2 + 1, BG_COLOR);
dimage(x * 2, y * 2, &img_player);
}
}
void draw_level(char level[], int *player_x, int *player_y)
{
extern image_t img_ground; //ground texture, 16x16
unsigned int i = 0;
unsigned int x = 0;
unsigned int y = 0;
while (i != 100)
{
switch (level[i])
{
case '0':
dimage(x * 2, y * 2, &img_ground);
break;
case 's':
*player_x = x + 2;
*player_y = y + 4;
break;
}
x += 8;
if (x == 80)
{
x = 0;
y += 8;
}
i++;
}
}

@ -0,0 +1,2 @@
void draw_player(int old_x, int old_y, int x, int y);
void draw_level(char level[], int *player_x, int *player_y);

@ -0,0 +1,9 @@
#include "levels.h"
void get_level(unsigned char level_id, char level[]) {
switch (level_id)
{
case 0:
level = "00000000000........00........00........00........00........00........00s.......00........00000000000";
break;
}
}

@ -0,0 +1 @@
void get_level(unsigned char level_id, char level[]);

@ -0,0 +1,61 @@
#include <gint/keyboard.h>
#include "draw.h"
#include "collide.h"
#include "levels.h"
void jump_test(char *jump_pressed, char *jump_buffer); //test if jump pressed
int main(void)
{
char level[100];
char *level_ptr;
level_ptr = level;
unsigned char level_id = 0;
char jump_pressed = 0; //avoid holding jump
char jump_buffer = 0; //jump buffer, last 3 frames
double vspd = 0; //player vertical speed
char hspd = 0; //player horizontal speed
char on_ground = 6; //remember if player is on solid
int player_x = 0;
int player_y = 0;
int old_x, old_y;
const double jump_spd = -4; //default jump speed
const double grav = 0.2;
dclear(0); //0 -> black
draw_level(level, &player_x, &player_y);
old_x = player_x + 1; //offset to draw it on first cycle
old_y = player_y;
get_level(level_id, level);
while (1) {
draw_player(old_x, old_y, player_x, player_y);
dupdate();
old_x = player_x;
old_y = player_y;
pollevent();
//horizontal movement
hspd = 0;
if (keydown(KEY_LEFT)) hspd--;
if (keydown(KEY_RIGHT)) hspd++;
if (!collide(player_x + hspd, player_y, level, '0', 10))
{
player_x += hspd;
}
//vertical movement
jump_test(&jump_pressed, &jump_buffer);
if (jump_buffer) {}//if jump is pressed
if (keydown(KEY_EXIT)) return 0; //exit
}
}
void jump_test(char *jump_pressed, char *jump_buffer)
{
if (keydown(KEY_SHIFT))
{
if (!*jump_pressed)
{
*jump_pressed = 1;
*jump_buffer = 3;
}
}
else *jump_pressed = 0;
}

@ -0,0 +1,3 @@
#/bin/#!/usr/bin/env bash
cp platform.g3a /media/user/disk/
umount /media/user/disk/
Loading…
Cancel
Save