Skip to content

Commit 9997bca

Browse files
authored
Merge pull request #12 from froggestspirit/pc_sound
Pc sound
2 parents 3000461 + d3b6f3a commit 9997bca

File tree

8 files changed

+3132
-29
lines changed

8 files changed

+3132
-29
lines changed

Makefile_pc

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
1-
PREFIX := i686-w64-mingw32-
1+
PREFIX := i686-linux-gnu-
22
OBJCOPY := $(PREFIX)objcopy
33
CC := $(PREFIX)gcc
44
AS := $(PREFIX)as
55

6-
SDL_DIR := /home/pokeemerald/SDL2-2.0.14/i686-w64-mingw32
6+
# Native Linux build
7+
ifeq ($(shell uname),Linux)
8+
CFLAGS := -m32 -fsanitize=undefined
9+
ASFLAGS := --defsym NO_UNDERSCORE_HACK=1
10+
PLATFORM_LIBS := -lSDL2
11+
# Windows
12+
else
13+
PLATFORM_LIBS := -L$(SDL_DIR)/lib -lmingw32 -lSDLmain -lSDL.dll -lwinmm
14+
endif
15+
16+
SDL_DIR := /usr/lib/i386-linux-gnu
717
ASM_PSEUDO_OP_CONV := sed -e 's/\.4byte/\.int/g;s/\.2byte/\.short/g'
818

919
export CPP := $(PREFIX)cpp
@@ -23,8 +33,8 @@ MODERN := 1
2333

2434
SHELL := /bin/bash -o pipefail
2535

26-
ELF = $(ROM:.exe=.elf)
27-
MAP = $(ROM:.exe=.map)
36+
#ELF = $(ROM:.exe=.elf)
37+
#MAP = $(ROM:.exe=.map)
2838

2939
C_SUBDIR = src
3040
GFLIB_SUBDIR = gflib
@@ -49,10 +59,10 @@ GCC_VER := $(shell $(CC) -dumpversion)
4959

5060
CC1 := $(shell $(PREFIX)gcc --print-prog-name=cc1) -quiet
5161
override CFLAGS += -Wno-trigraphs -Wimplicit -Wparentheses -Wunused -m32 -std=gnu99 -fno-leading-underscore -fno-dce -fno-builtin -Wno-unused-function -DPORTABLE -DNONMATCHING -D UBFIX -DMODERN=$(MODERN)
52-
ROM := pokeemerald.exe
62+
ROM := pokeemerald.elf
5363
OBJ_DIR := build/pc
5464

55-
CPPFLAGS := -iquote include -iquote $(GFLIB_SUBDIR) -Wno-trigraphs -D NONMATCHING -D PORTABLE -D MODERN=$(MODERN) -D UBFIX -I$(SDL_DIR)/include -L$(SDL_DIR)/lib
65+
CPPFLAGS := -DNO_UNDERSCORE_HACK -iquote include -iquote $(GFLIB_SUBDIR) -Wno-trigraphs -D NONMATCHING -D PORTABLE -D MODERN=$(MODERN) -D UBFIX -I/usr/include/SDL2 -D_REENTRANT
5666

5767
LDFLAGS = -Map ../../$(MAP)
5868

@@ -189,7 +199,9 @@ include songs.mk
189199
$(CRY_SUBDIR)/%.bin: $(CRY_SUBDIR)/%.aif ; $(AIF) $< $@ --compress
190200
sound/%.bin: sound/%.aif ; $(AIF) $< $@
191201

192-
%src/platform/sdl2.o: CFLAGS += -fleading-underscore
202+
ifneq ($(shell uname),Linux)
203+
%src/platform/sdl2.o: CFLAGS += -fleading-underscore -O3
204+
endif
193205

194206
ifeq ($(NODEP),1)
195207
$(C_BUILDDIR)/%.o: c_dep :=
@@ -267,9 +279,9 @@ LD_SCRIPT_DEPS :=
267279
$(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS)
268280
cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../$(LD_SCRIPT) > ld_script.ld
269281

270-
$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
271-
cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB)
272-
$(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
282+
#$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
283+
# cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB)
284+
# $(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
273285

274286
$(ROM): $(OBJS)
275-
$(CC) $(CFLAGS) -Wl,--demangle $^ -static-libgcc -L$(SDL_DIR)/lib -lmingw32 -lSDL2main -lSDL2.dll -lwinmm -lxinput -o $@
287+
$(CC) $(CFLAGS) -Wl,--demangle $^ $(PLATFORM_LIBS) -static-libgcc -o $@

include/CGB_sound.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#ifndef CGB_SOUND_H
2+
#define CGB_SOUND_H
3+
4+
struct AudioCGB{
5+
u16 ch1Freq;
6+
u8 ch1SweepCounter;
7+
u8 ch1SweepCounterI;
8+
bool8 ch1SweepDir;
9+
u8 ch1SweepShift;
10+
u8 Vol[4];
11+
u8 VolI[4];
12+
u8 Len[4];
13+
u8 LenI[4];
14+
bool8 LenOn[4];
15+
u8 EnvCounter[4];
16+
u8 EnvCounterI[4];
17+
bool8 EnvDir[4];
18+
bool8 DAC[4];
19+
s16 WAVRAM[32];
20+
};
21+
22+
#endif

0 commit comments

Comments
 (0)