NESe (pronounced "Nessie") is a NES emulator based on the e6502 emulator, also written in C with a focus on speed and portability for use on embedded platforms, especially ARM.
Ви не можете вибрати більше 25 тем
Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
|
- CC = gcc
- LD = $(CC)
- PFLAGS = -g
- #PFLAGS += -O3
- #PFLAGS += -DDEBUG_MAPPER
- #PFLAGS += -DDEBUG_RENDER
- #PFLAGS += -DDEBUG_PPU -DDEBUG_VRAM -DDEBUG_OAM
- PFLAGS += -DDEBUG_APU
- #PFLAGS += -DE6502_DEBUG
- CFLAGS = $(PFLAGS) -Wall -Werror -Wshadow -Wunused -I..
- LDFLAGS = $(PFLAGS)
-
- OBJDIR = obj
- SRCDIR = src
- BINDIR = bin
-
-
- # nese
-
- TARGET_1 = nese
- LDLIBS_1 = -lSDL2
-
- SRC_SRCS_1 = nese.c ines.c
- SRC_SRCS_1 += nes.c ppu.c input.c
- SRC_SRCS_1 += cart.c mapper.c
- SRC_SRCS_1 += apu.c audio.c
- SRC_SRCS_1 += sdl_render.c sdl_input.c sdl_audio.c
-
- MAPDIR = src/map
- MAP_SRCS_1 = nrom.c mmc1.c uxrom.c cnrom.c mmc3.c
-
- EXT_SRCS_1 = e6502/e6502.c e6502/opcodes.c blip-buf/blip_buf.c
-
-
- SRCS_1 = $(SRC_SRCS_1:%=$(SRCDIR)/%)
- SRCS_1 += $(MAP_SRCS_1:%=$(MAPDIR)/%)
- SRCS_1 += $(EXT_SRCS_1)
- OBJS_1 = $(SRCS_1:%.c=$(OBJDIR)/%.o)
-
-
- all: $(BINDIR)/$(TARGET_1)
-
- clean: ; rm -rf $(OBJDIR) $(BINDIR)
-
- $(BINDIR)/$(TARGET_1): $(OBJS_1)
- @mkdir -p $(@D)
- $(LD) $(LDFLAGS) $^ $(LDLIBS_1) -o $@
-
- $(OBJDIR)/%.o: %.c
- @mkdir -p $(@D)
- $(CC) $(CFLAGS) -c $< -o $@
|