mirror of
https://github.com/mlaux/gb6.git
synced 2026-03-11 04:42:10 +00:00
- New CGB state management (cgb.c/cgb.h) - VRAM banking (VBK register) - WRAM banking (SVBK register, banks 1-7) - Speed switching (KEY1 register) - HDMA transfers (HDMA1-5 registers) - CGB palette registers (BCPS/BCPD, OCPS/OCPD) - CGB rendering (lcd_cgb.c, lcd_mac_cgb.c) - Tile attributes from VRAM bank 1 - Per-tile palettes, H/V flip, priority - 8 background and 8 sprite palettes - RGB555 to Mac indexed color conversion - JIT initialization sets A=$11 for CGB mode detection - UI: "Run as GBC" menu option, .gbc file filter Working: Tetris DX, Pokemon Gold Known issues: Crystal, SMB Deluxe, LADX hang at boot
33 lines
1.1 KiB
Makefile
33 lines
1.1 KiB
Makefile
CC = cc
|
|
CFLAGS = -Wall -Wextra -g -I. -I../src
|
|
|
|
# Musashi sources (pre-built objects in musashi/)
|
|
MUSASHI_DIR = musashi
|
|
MUSASHI_OBJS = $(MUSASHI_DIR)/m68kcpu.o $(MUSASHI_DIR)/m68kops.o $(MUSASHI_DIR)/softfloat/softfloat.o
|
|
|
|
# Compiler library
|
|
COMPILER_SRCS = compiler.c emitters.c branches.c flags.c interop.c cb_prefix.c reg_loads.c alu.c stack.c instructions.c timing.c
|
|
COMPILER_OBJS = compiler.o emitters.o branches.o flags.o interop.o cb_prefix.o reg_loads.o alu.o stack.o instructions.o timing.o
|
|
|
|
# Test binary
|
|
TEST_BIN = tests/test_compiler
|
|
TEST_SRCS = tests/test_compiler.c tests/test_exec_loads.c tests/test_exec_alu.c \
|
|
tests/test_exec_branches.c tests/test_exec_cb.c tests/test_exec_stack.c \
|
|
tests/test_exec_timing.c tests/test_exec_cgb.c
|
|
|
|
.PHONY: all test clean
|
|
|
|
all: $(TEST_BIN)
|
|
|
|
$(TEST_BIN): $(TEST_SRCS) $(COMPILER_OBJS) $(MUSASHI_OBJS)
|
|
$(CC) $(CFLAGS) -I$(MUSASHI_DIR) -o $@ $(TEST_SRCS) $(COMPILER_OBJS) $(MUSASHI_OBJS) -lm
|
|
|
|
compiler.o: compiler.c compiler.h
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
test: $(TEST_BIN)
|
|
./$(TEST_BIN)
|
|
|
|
clean:
|
|
rm -f $(COMPILER_OBJS) $(TEST_BIN)
|