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.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

58 lignes
1.2KB

  1. #CROSS_COMPILE = arm-none-eabi-
  2. OS = linux
  3. CC = $(CROSS_COMPILE)gcc
  4. LD = $(CC)
  5. #CFLAGS = -mcpu=cortex-m33 -mthumb
  6. CFLAGS += -Wall -Werror -Wshadow
  7. CFLAGS += -I src
  8. CFLAGS += -g #-Ofast
  9. #CFLAGS += -DF6502_FLAT
  10. #CFLAGS += -DF6502_TEST
  11. #CFLAGS += -DF6502_HCF
  12. #CFLAGS += -DF6502_TRACE
  13. OBJDIR = obj
  14. SRCDIR = src
  15. BINDIR = bin
  16. TEST_SRC_SRCS = f6502.c f6502_opcodes.c
  17. TEST_SRCS = test.c
  18. TEST_SRCS += $(TEST_SRC_SRCS:%=$(SRCDIR)/%)
  19. TEST_OBJS = $(TEST_SRCS:%.c=$(OBJDIR)/%.o)
  20. MAPDIR = $(SRCDIR)/map
  21. NESE_SRC_SRCS = f6502.c f6502_opcodes.c
  22. NESE_SRC_SRCS += nese.c nes.c cart.c mapper.c
  23. NESE_SRC_SRCS += ppu.c
  24. NESE_SRC_SRCS += $(OS)/port.c
  25. NESE_MAP_SRCS = $(notdir $(wildcard $(MAPDIR)/*.c))
  26. NESE_DEBUG = CART
  27. NESE_SRCS += $(NESE_SRC_SRCS:%=$(SRCDIR)/%)
  28. NESE_SRCS += $(NESE_MAP_SRCS:%=$(MAPDIR)/%)
  29. NESE_OBJS = $(NESE_SRCS:%.c=$(OBJDIR)/%.o)
  30. all: $(BINDIR)/nese
  31. $(BINDIR)/test: CFLAGS += -DF6502_FLAT -DF6502_TEST -DF6502_TRACE
  32. $(BINDIR)/nese: CFLAGS += $(foreach debug,$(NESE_DEBUG), -DDEBUG_$(debug))
  33. $(BINDIR)/nese: $(NESE_OBJS)
  34. @mkdir -p $(@D)
  35. $(LD) $^ $(LDFLAGS) -o $@
  36. $(OBJDIR)/%.o : %.c
  37. @mkdir -p $(@D)
  38. $(CC) $(CFLAGS) -c $< -o $@
  39. clean:
  40. rm -rf $(OBJDIR) $(BINDIR)