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.
Du kannst nicht mehr als 25 Themen auswählen
Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
|
- 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 $@
|