Trying to be original in this first commit msg. Joking

This commit is contained in:
Darks 2020-05-29 16:14:52 +02:00
commit 622d8c6793
18 changed files with 870 additions and 0 deletions

196
Makefile Normal file
View File

@ -0,0 +1,196 @@
#! /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 --bopti-image $< -o $@ $(FXCONVFX) name:img_$(basename $*) $(IMG.$*)
build-cg/assets/img/%.o: assets-cg/img/%
@ mkdir -p $(dir $@)
fxconv --bopti-image $< -o $@ $(FXCONVCG) name:img_$(basename $*) $(IMG.$*) profile:p4
# 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)
cp $< /run/media/${USER}/disk/
umount /run/media/${USER}/disk/
# @ 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
Touhou.g3a Normal file

Binary file not shown.

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/bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
assets-fx/icon-fx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

BIN
assets-raw/battlefields.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
assets-raw/bullets.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 KiB

BIN
assets-raw/font.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
assets-raw/witches.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 KiB

BIN
build-cg/Touhou.bin Executable file

Binary file not shown.

BIN
build-cg/Touhou.elf Executable file

Binary file not shown.

Binary file not shown.

571
build-cg/map Normal file
View File

@ -0,0 +1,571 @@
Archive member included to satisfy reference by file (symbol)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
(_start)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) (_dma_transfer_wait)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) (_inth_dma_te)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o)
build-cg/src/main.c.o (_getkey)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) (_pollevent)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o)
build-cg/src/main.c.o (_dclear)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o)
build-cg/src/main.c.o (_dimage)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o)
build-cg/src/main.c.o (_dupdate)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) (_gint_vram)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
build-cg/src/main.c.o (_dtext)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) (_charset_size)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) (_strlen)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) (_timer_setup)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(font8x9.png.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) (_gint_font8x9)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) (_gint_panic)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) (_gint_intlevel)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) (_hw_detect)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) (_utlb_mapped_memory)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) (_gint_install)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) (_gint_setvbr)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) (_clock_freq)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) (_dma_memset)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) (_r61524_display)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) (_bopti_render_clip)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) (_drect)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) (_topti_glyph_fg_bg)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) (_dprint)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) (_memcpy)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) (_vsnprintf)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) (_inth_tmu)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) (_gint_exch_tlbh)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) (_gint_inth_7305)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) (_bopti_r5g6b5)
/usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) (___movmemSI24)
/usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) (___udivdi3)
/usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) (___umoddi3)
/usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) (___udiv_qrnnd_16)
/usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
/usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) (___clz_tab)
Discarded input sections
.comment 0x0000000000000000 0x12 build-cg/src/main.c.o
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
.eh_frame 0x0000000000000000 0x80 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
.comment 0x0000000000000000 0x12 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.eh_frame 0x0000000000000000 0x90 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.comment 0x0000000000000000 0x12 /usr/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 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/main.c.o
LOAD build-cg/assets/img/bg.png.o
LOAD /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a
LOAD /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a
LOAD /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a
0x0000000000300000 _brom = 0x300000
0x000000000000b914 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
.text 0x0000000000300000 0x39f0
*(.pretext.entry)
.pretext.entry
0x0000000000300000 0x1b0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
0x0000000000300000 _start
*(.pretext)
.pretext 0x00000000003001b0 0x30 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.pretext 0x00000000003001e0 0x23c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
0x00000000003001e0 _topti_render
0x00000000003003d0 _dtext
.pretext 0x000000000030041c 0x110 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
0x000000000030041c _dfont
0x0000000000300434 _charset_size
0x0000000000300460 _charset_decode
0x00000000003004ce _topti_offset
.pretext 0x000000000030052c 0x40 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o)
0x000000000030052c _hw_detect
*fill* 0x000000000030056c 0x4
.pretext 0x0000000000300570 0xc4 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o)
0x0000000000300570 _topti_glyph_fg_bg
0x00000000003005ae _topti_glyph_fg
0x00000000003005e8 _topti_glyph_bg
0x0000000000300634 _btors = .
*(.ctors .ctors.*)
0x0000000000300634 _mtors = .
*(.dtors .dtors.*)
0x0000000000300634 _etors = .
0x0000000000300634 _gint_exch_tlbh_start = .
*(.gint.exch_tlbh)
*fill* 0x0000000000300634 0xc
.gint.exch_tlbh
0x0000000000300640 0x4c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o)
0x0000000000300640 _gint_exch_tlbh
0x0000000000000058 _gint_exch_tlbh_size = ABSOLUTE ((. - _gint_exch_tlbh_start))
*(.text .text.*)
.text 0x000000000030068c 0x0 build-cg/src/main.c.o
.text.startup 0x000000000030068c 0x5c build-cg/src/main.c.o
0x000000000030068c _main
.text 0x00000000003006e8 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.text 0x00000000003006e8 0x420 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x00000000003008e0 _dma_transfer
0x0000000000300920 _dma_transfer_wait
0x0000000000300a9c _dma_transfer_noint
.text 0x0000000000300b08 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
.text 0x0000000000300b08 0x1f8 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o)
0x0000000000300b08 _getkey_opt
0x0000000000300cb8 _getkey
0x0000000000300cc4 _getkey_repeat
.text 0x0000000000300d00 0x42c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
0x0000000000300ee0 _pollevent
0x000000000030101c _waitevent
0x0000000000301068 _clearevents
0x0000000000301088 _keydown
0x00000000003010b4 _keydown_all
0x00000000003010f0 _keydown_any
.text 0x000000000030112c 0x1c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o)
0x000000000030112c _dclear
.text 0x0000000000301148 0x40 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o)
0x0000000000301148 _dimage
0x0000000000301170 _dsubimage
.text 0x0000000000301188 0x3c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o)
0x0000000000301188 _dupdate
0x00000000003011ac _dupdate_noint
.text 0x00000000003011c4 0x4c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o)
0x00000000003011c4 _dvram
0x00000000003011f0 _dvram_switch
.text 0x0000000000301210 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.text 0x0000000000301210 0x9c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
0x0000000000301210 _dsize
.text 0x00000000003012ac 0x7c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o)
0x00000000003012ac _strlen
0x00000000003012bc _strncpy
0x00000000003012d4 _strcat
0x0000000000301318 _strcmp
.text 0x0000000000301328 0x584 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
0x0000000000301618 _timer_setup
0x00000000003016e0 _timer_delay
0x0000000000301740 _timer_start
0x0000000000301778 _timer_reload
0x00000000003017b0 _timer_pause
0x00000000003017ec _timer_stop
0x0000000000301868 _timer_timeout
0x0000000000301874 _timer_clear
.text 0x00000000003018ac 0x2e4 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
0x0000000000301b54 _gint_panic
0x0000000000301b64 _gint_panic_set
0x0000000000301b78 _gint_exc_catch
0x0000000000301b84 _gint_exc_skip
.text 0x0000000000301b90 0x5c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o)
0x0000000000301b90 _gint_intlevel
0x0000000000301bc8 _gint_inthandler
.text 0x0000000000301bec 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o)
.text 0x0000000000301bec 0xf8 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o)
0x0000000000301bec _utlb_addr
0x0000000000301bfc _utlb_data
0x0000000000301c0c _utlb_mapped_memory
.text 0x0000000000301ce4 0x278 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o)
0x0000000000301e88 _gint_install
0x0000000000301f04 _gint_unload
0x0000000000301f1c _gint_switch
0x0000000000301f58 _gint_osmenu
.text 0x0000000000301f5c 0x2c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o)
0x0000000000301f5c _gint_setvbr
.text 0x0000000000301f88 0xc8 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
0x0000000000302044 _clock_freq
.text 0x0000000000302050 0x4c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o)
0x0000000000302050 _dma_memset
.text 0x000000000030209c 0x2d4 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
0x00000000003020ec _r61524_win_get
0x00000000003021a4 _r61524_win_set
0x0000000000302264 _r61524_display
.text 0x0000000000302370 0x1e4 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o)
0x0000000000302370 _bopti_render
0x0000000000302460 _bopti_render_clip
0x0000000000302528 _bopti_render_noclip
.text 0x0000000000302554 0xc0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o)
0x0000000000302554 _drect
.text 0x0000000000302614 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o)
.text 0x0000000000302614 0x58 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o)
0x0000000000302614 _dprint
.text 0x000000000030266c 0xdc /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o)
0x000000000030266c _memcpy
0x0000000000302726 __memmove
0x000000000030272a __memcmp
0x000000000030272e _memset
.text 0x0000000000302748 0xce4 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
0x0000000000303144 _kprint_opt
0x000000000030328c _kprint
0x0000000000303364 _kvsprint
0x00000000003033ac _sprintf
0x00000000003033d4 _vsprintf
0x00000000003033f4 _snprintf
0x0000000000303414 _vsnprintf
.text 0x000000000030342c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
.text 0x000000000030342c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o)
.text 0x000000000030342c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o)
*fill* 0x000000000030342c 0x4
.text 0x0000000000303430 0x100 /usr/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 0x78 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
0x0000000000303530 ___movstr
0x0000000000303530 ___movmem
0x0000000000303564 ___movmemSI64
0x0000000000303564 ___movstrSI64
0x0000000000303568 ___movstrSI60
0x0000000000303568 ___movmemSI60
0x000000000030356c ___movmemSI56
0x000000000030356c ___movstrSI56
0x0000000000303570 ___movstrSI52
0x0000000000303570 ___movmemSI52
0x0000000000303574 ___movstrSI48
0x0000000000303574 ___movmemSI48
0x0000000000303578 ___movstrSI44
0x0000000000303578 ___movmemSI44
0x000000000030357c ___movstrSI40
0x000000000030357c ___movmemSI40
0x0000000000303580 ___movstrSI36
0x0000000000303580 ___movmemSI36
0x0000000000303584 ___movmemSI32
0x0000000000303584 ___movstrSI32
0x0000000000303588 ___movmemSI28
0x0000000000303588 ___movstrSI28
0x000000000030358c ___movstrSI24
0x000000000030358c ___movmemSI24
0x0000000000303590 ___movmemSI20
0x0000000000303590 ___movstrSI20
0x0000000000303594 ___movstrSI16
0x0000000000303594 ___movmemSI16
0x0000000000303598 ___movmemSI12
0x0000000000303598 ___movstrSI12
0x000000000030359c ___movmemSI8
0x000000000030359c ___movstrSI8
0x00000000003035a0 ___movmemSI4
0x00000000003035a0 ___movstrSI4
.text 0x00000000003035a8 0x1e0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
0x00000000003035a8 ___udivdi3
.text 0x0000000000303788 0x208 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
0x0000000000303788 ___umoddi3
.text 0x0000000000303990 0x60 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
0x0000000000303990 ___udiv_qrnnd_16
.text 0x00000000003039f0 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
.gint.blocks 0x00000000003039f0 0x160
*(.gint.blocks)
.gint.blocks 0x00000000003039f0 0x40 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
0x00000000003039f0 _inth_dma_te
0x0000000000303a10 _inth_dma_ae
.gint.blocks 0x0000000000303a30 0xe0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
0x0000000000303a30 _inth_tmu
0x0000000000303ab0 _inth_etmu2
0x0000000000303ad0 _inth_etmu_help
0x0000000000303af0 _inth_etmux
.gint.blocks 0x0000000000303b10 0x40 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o)
0x0000000000303b10 _gint_inth_7305
.gint.drivers 0x0000000000303b50 0xb4
0x0000000000303b50 _bdrv = .
*(.gint.drivers.0)
*(.gint.drivers.1)
.gint.drivers.1
0x0000000000303b50 0x24 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
0x0000000000303b50 _drv_cpg
*(.gint.drivers.2)
.gint.drivers.2
0x0000000000303b74 0x24 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
0x0000000000303b74 _drv_dma0
.gint.drivers.2
0x0000000000303b98 0x24 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
0x0000000000303b98 _drv_tmu
*(.gint.drivers.3)
*(.gint.drivers.4)
.gint.drivers.4
0x0000000000303bbc 0x24 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
0x0000000000303bbc _drv_keysc
*(.gint.drivers.5)
.gint.drivers.5
0x0000000000303be0 0x24 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
0x0000000000303be0 _drv_r61524
*(.gint.drivers.6)
0x0000000000303c04 _edrv = .
.rodata 0x0000000000303c04 0x7d10
*(.rodata.4)
*(.rodata .rodata.*)
.rodata.str1.4
0x0000000000303c04 0x15 build-cg/src/main.c.o
*fill* 0x0000000000303c19 0x3
.rodata 0x0000000000303c1c 0x742c build-cg/assets/img/bg.png.o
0x0000000000303c1c _img_bg
0x000000000030b048 _img_bg_end
.rodata 0x000000000030b048 0x30 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
.rodata.str1.4
0x000000000030b078 0x5 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
*fill* 0x000000000030b07d 0x3
.rodata.str1.4
0x000000000030b080 0x6 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
*fill* 0x000000000030b086 0x2
.rodata 0x000000000030b088 0x18 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.rodata 0x000000000030b0a0 0xc /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
.rodata.str1.4
0x000000000030b0ac 0x4 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
.rodata 0x000000000030b0b0 0x49c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(font8x9.png.o)
0x000000000030b0b0 _gint_font8x9
0x000000000030b54c _gint_font8x9_end
.rodata.str1.4
0x000000000030b54c 0x288 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
0x28c (size before relaxing)
.rodata.str1.4
0x000000000030b7d4 0x4 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
.rodata.str1.4
0x000000000030b7d8 0x7 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
*fill* 0x000000000030b7df 0x1
.rodata.str1.4
0x000000000030b7e0 0x31 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
*fill* 0x000000000030b811 0x3
.rodata 0x000000000030b814 0x100 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
0x000000000030b814 ___clz_tab
.rela.dyn 0x000000000030b914 0x0
.rela.pretext.entry
0x000000000030b914 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.rela.pretext 0x000000000030b914 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.rela.text 0x000000000030b914 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
0x0000000008102000 . = ORIGIN (ram)
.bss 0x0000000008102000 0x170
0x0000000008102000 _rbss = .
*(.bss COMMON)
.bss 0x0000000008102000 0x0 build-cg/src/main.c.o
.bss 0x0000000008102000 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.bss 0x0000000008102000 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
.bss 0x0000000008102000 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
.bss 0x0000000008102000 0xc /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o)
.bss 0x000000000810200c 0x24 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o)
.bss 0x0000000008102030 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o)
.bss 0x0000000008102030 0x26 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o)
.bss 0x0000000008102056 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o)
.bss 0x0000000008102056 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
.bss 0x0000000008102056 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o)
.bss 0x0000000008102056 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
.bss 0x0000000008102056 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o)
.bss 0x0000000008102056 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o)
.bss 0x0000000008102056 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o)
.bss 0x0000000008102056 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o)
.bss 0x0000000008102056 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o)
*fill* 0x0000000008102056 0x2
.bss 0x0000000008102058 0x114 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
.bss 0x000000000810216c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
.bss 0x000000000810216c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o)
.bss 0x000000000810216c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o)
.bss 0x000000000810216c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o)
.bss 0x000000000810216c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
.bss 0x000000000810216c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
.bss 0x000000000810216c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.bss 0x000000000810216c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
.bss 0x000000000810216c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
0x0000000008102170 . = ALIGN (0x10)
*fill* 0x000000000810216c 0x4
0x0000000000000170 _sbss = SIZEOF (.bss)
.data 0x0000000008102170 0x90 load address 0x000000000030b914
0x000000000030b914 _ldata = LOADADDR (.data)
0x0000000008102170 _rdata = .
*(.data .data.*)
.data 0x0000000008102170 0x0 build-cg/src/main.c.o
.data 0x0000000008102170 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o)
.data 0x0000000008102170 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
.data 0x0000000008102170 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
.data 0x0000000008102170 0x8 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o)
.data 0x0000000008102178 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
.data 0x0000000008102178 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o)
.data 0x0000000008102178 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o)
.data 0x0000000008102178 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o)
.data 0x0000000008102178 0xc /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o)
0x0000000008102178 _gint_vram
.data 0x0000000008102184 0x8 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
0x0000000008102184 _topti_font
0x0000000008102188 _gint_default_font
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o)
.data 0x000000000810218c 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o)
.data 0x000000000810218c 0x68 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o)
0x000000000810218c _kprint_formatters
.data 0x00000000081021f4 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o)
.data 0x00000000081021f4 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o)
.data 0x00000000081021f4 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o)
.data 0x00000000081021f4 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o)
.data 0x00000000081021f4 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o)
.data 0x00000000081021f4 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o)
.data 0x00000000081021f4 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o)
.data 0x00000000081021f4 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
.data 0x00000000081021f4 0x0 /usr/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o)
0x0000000008102200 . = ALIGN (0x10)
*fill* 0x00000000081021f4 0xc
.data.4 0x0000000008102200 0x0 load address 0x000000000030b9a4
*(.data.4)
0x0000000008102200 . = ALIGN (0x10)
0x0000000000000090 _sdata = (SIZEOF (.data) + SIZEOF (.data.4))
0x00000000e5200000 . = ORIGIN (ilram)
.ilram 0x00000000e5200000 0x20 load address 0x000000000030b9a4
0x000000000030b9a4 _lilram = LOADADDR (.ilram)
0x00000000e5200000 _rilram = .
*(.ilram)
.ilram 0x00000000e5200000 0x20 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o)
0x00000000e5200020 . = ALIGN (0x10)
0x00000000e5007000 . = ORIGIN (xram)
.xram 0x00000000e5007000 0x0 load address 0x000000000030b9c4
0x000000000030b9c4 _lxram = LOADADDR (.xram)
0x00000000e5007000 _rxram = .
*(.xram)
0x00000000e5007000 . = ALIGN (0x10)
0x00000000e5017000 . = ORIGIN (yram)
.yram 0x00000000e5017000 0x0 load address 0x000000000030b9c4
0x000000000030b9c4 _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 0xa0 load address 0x000000000030b9c4
0x000000000030b9c4 _lgdata = LOADADDR (.gint.data)
0x000000008c161400 _rgdata = .
*(.gint.data .gint.data.*)
.gint.data 0x000000008c161400 0x24 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
.gint.data 0x000000008c161424 0x30 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
.gint.data 0x000000008c161454 0x8 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o)
0x000000008c161454 _gint_exc_catcher
0x000000008c161458 _gint_exc_panic
.gint.data 0x000000008c16145c 0x10 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o)
0x000000008c16145c _SH7305_INTC
.gint.data.sh3
0x000000008c16146c 0x24 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o)
0x000000008c16146c _SH7705_INTC
.gint.data 0x000000008c161490 0x8 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
0x000000008c1614a0 . = ALIGN (0x10)
*fill* 0x000000008c161498 0x8
0x00000000000000a0 _sgdata = SIZEOF (.gint.data)
.gint.bss 0x000000008c1614a0 0x4f0 load address 0x000000000030ba64
*(.gint.bss .gint.bss.*)
.gint.bss 0x000000008c1614a0 0xd0 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o)
.gint.bss 0x000000008c161570 0x180 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o)
.gint.bss 0x000000008c1616f0 0x200 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o)
.gint.bss 0x000000008c1618f0 0x40 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o)
0x000000008c1618f0 _gint
.gint.bss 0x000000008c161930 0x2c /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o)
.gint.bss 0x000000008c16195c 0x24 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o)
.gint.bss 0x000000008c161980 0x10 /usr/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o)
0x000000008c161990 . = ALIGN (0x10)
0x00000000000004f0 _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/Touhou.elf elf32-sh)

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

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

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

Binary file not shown.

85
project.cfg Normal file
View File

@ -0,0 +1,85 @@
#---
# fxSDK project configuration file for Touhou
#---
# Project name, should be at most 8 bytes long.
# (You can also specify NAME_G1A or NAME_G3A to override individually.)
NAME := Touhou
# 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 := TOUHOU
# 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 := sh-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_FX :=
LIBS_CG :=
# Base linker flags for the fxSDK, you usually want to keep these.
LDFLAGS_FX := -T fx9860g.ld -lgint-fx $(LIBS_FX) -lgint-fx -lgcc
LDFLAGS_CG := -T fxcg50.ld -lgint-cg $(LIBS_CG) -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 named "hexa.png", you might write:
#
# FONT.hexa.png = charset:print grid.size:3x5 grid.padding:1

17
src/main.c Normal file
View File

@ -0,0 +1,17 @@
#include <gint/display.h>
#include <gint/keyboard.h>
int main(void)
{
extern image_t img_bg;
dclear(C_WHITE);
dtext(1, 1, "Sample fxSDK add-in.", C_BLACK, C_NONE);
dimage(20, 0, &img_bg);
dupdate();
getkey();
return 1;
}