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.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

72 rindas
1.7KB

  1. #CROSS_COMPILE = arm-none-eabi-
  2. SYS = linux
  3. GFX = sdl
  4. NESE_DEBUG = CART
  5. CC = $(CROSS_COMPILE)gcc
  6. LD = $(CC)
  7. #CFLAGS = -mcpu=cortex-m33 -mthumb
  8. CFLAGS += -Wall -Werror -Wshadow
  9. CFLAGS += -I src
  10. CFLAGS += -g #-Ofast
  11. #CFLAGS += -DF6502_FLAT
  12. #CFLAGS += -DF6502_TEST
  13. #CFLAGS += -DF6502_HCF
  14. #CFLAGS += -DF6502_TRACE
  15. OBJDIR = obj
  16. SRCDIR = src
  17. BINDIR = bin
  18. TEST_SRC_SRCS = f6502.c f6502_opcodes.c
  19. TEST_SRCS = test.c
  20. TEST_SRCS += $(TEST_SRC_SRCS:%=$(SRCDIR)/%)
  21. TEST_OBJS = $(TEST_SRCS:%.c=$(OBJDIR)/%.o)
  22. MAPDIR = $(SRCDIR)/map
  23. GFXDIR = $(SRCDIR)/$(GFX)
  24. SYSDIR = $(SRCDIR)/$(SYS)
  25. NESE_SYS_SRCS = $(notdir $(wildcard $(SYSDIR)/*.c))
  26. NESE_GFX_SRCS = $(notdir $(wildcard $(GFXDIR)/*.c))
  27. NESE_MAP_SRCS = $(notdir $(wildcard $(MAPDIR)/*.c))
  28. NESE_SRC_SRCS = f6502.c f6502_opcodes.c
  29. NESE_SRC_SRCS += nese.c nes.c cart.c mapper.c
  30. NESE_SRC_SRCS += memory.c ppu.c apu.c
  31. NESE_SRC_SRCS += serdes.c save.c rle.c cartinfo.c
  32. NESE_SRC_SRCS += menu.c list.c state.c menus.c
  33. NESE_SRCS += $(NESE_SRC_SRCS:%=$(SRCDIR)/%)
  34. NESE_SRCS += $(NESE_SYS_SRCS:%=$(SYSDIR)/%)
  35. NESE_SRCS += $(NESE_MAP_SRCS:%=$(MAPDIR)/%)
  36. NESE_SRCS += $(NESE_GFX_SRCS:%=$(GFXDIR)/%)
  37. NESE_OBJS = $(NESE_SRCS:%.c=$(OBJDIR)/%.o)
  38. nese: $(BINDIR)/nese
  39. all: $(BINDIR)/nese
  40. $(BINDIR)/test: CFLAGS += -DF6502_FLAT -DF6502_TEST -DF6502_TRACE
  41. $(BINDIR)/nese: CFLAGS += $(foreach debug,$(NESE_DEBUG), -DDEBUG_$(debug))
  42. $(BINDIR)/nese: CFLAGS += -I$(GFXDIR)
  43. $(BINDIR)/nese: CFLAGS += $(shell sdl2-config --cflags)
  44. $(BINDIR)/nese: LDFLAGS += $(shell sdl2-config --libs)
  45. $(BINDIR)/nese: $(NESE_OBJS)
  46. @mkdir -p $(@D)
  47. $(LD) $^ $(LDFLAGS) -o $@
  48. $(OBJDIR)/%.o : %.c
  49. @mkdir -p $(@D)
  50. $(CC) $(CFLAGS) -c $< -o $@
  51. clean:
  52. rm -rf $(OBJDIR) $(BINDIR)