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.
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

50 wiersze
926B

  1. CC = gcc
  2. LD = $(CC)
  3. PFLAGS = -g
  4. #PFLAGS = -O3
  5. #PFLAGS += -DDEBUG_MAPPER
  6. #PFLAGS += -DDEBUG_RENDER
  7. #PFLAGS += -DDEBUG_PPU -DDEBUG_VRAM -DDEBUG_OAM
  8. #PFLAGS += -DE6502_DEBUG
  9. CFLAGS = $(PFLAGS) -Wall -Werror -Wshadow -Wunused -I..
  10. LDFLAGS = $(PFLAGS)
  11. OBJDIR = obj
  12. SRCDIR = src
  13. BINDIR = bin
  14. # nese
  15. TARGET_1 = nese
  16. LDLIBS_1 = -lSDL2
  17. SRC_SRCS_1 = nese.c ines.c
  18. SRC_SRCS_1 += nes.c ppu.c input.c
  19. SRC_SRCS_1 += cart.c mapper.c
  20. SRC_SRCS_1 += sdl_render.c sdl_input.c
  21. MAPDIR = src/map
  22. MAP_SRCS_1 = nrom.c mmc1.c cnrom.c mmc3.c
  23. EXT_SRCS_1 = e6502/e6502.c e6502/opcodes.c
  24. SRCS_1 = $(SRC_SRCS_1:%=$(SRCDIR)/%)
  25. SRCS_1 += $(MAP_SRCS_1:%=$(MAPDIR)/%)
  26. SRCS_1 += $(EXT_SRCS_1)
  27. OBJS_1 = $(SRCS_1:%.c=$(OBJDIR)/%.o)
  28. all: $(BINDIR)/$(TARGET_1)
  29. clean: ; rm -rf $(OBJDIR) $(BINDIR)
  30. $(BINDIR)/$(TARGET_1): $(OBJS_1)
  31. @mkdir -p $(@D)
  32. $(LD) $(LDFLAGS) $^ $(LDLIBS_1) -o $@
  33. $(OBJDIR)/%.o: %.c
  34. @mkdir -p $(@D)
  35. $(CC) $(CFLAGS) -c $< -o $@