src/musashi/example/Makefile

Fri, 12 Apr 2013 12:34:32 +0100

author
Philip Pemberton <philpem@philpem.me.uk>
date
Fri, 12 Apr 2013 12:34:32 +0100
branch
experimental_memory_mapper_v2
changeset 140
1e4c45b144c4
parent 0
8bf1bf91a36d
permissions
-rw-r--r--

Fix read-after-write logic

In some cases (notably reading from a page after having written to it), the
mapper may change the pagestate from "accessed and written" ("dirty"; PS0,PS1)
to "accessed but not written" (clean; PS1,!PS0). This should never, ever, EVER
happen. Once a page is dirty, it remains so until the 68k clears the DIRTY
bit.

Once again, this wonderful bit of logic was missing from the TRM.

     1 CC =     gcc
     2 WARNINGS = -Wall -pedantic
     3 CFLAGS = $(WARNINGS) -c -Iobj -I. -I..
     4 LFLAGS = $(WARNINGS)
     6 all: obj sim
     8 clean:
     9 	rm -rf obj
    10 	rm -f sim
    12 obj:
    13 	mkdir obj
    15 sim: obj/sim.o obj/m68kcpu.o obj/m68kops.o obj/m68kopac.o obj/m68kopdm.o obj/m68kopnz.o
    16 	$(CC) $(LFLAGS) obj/sim.o obj/m68kcpu.o obj/m68kops.o obj/m68kopac.o obj/m68kopdm.o obj/m68kopnz.o -o sim
    18 obj/sim.o: sim.c sim.h ../m68k.h ../m68kconf.h
    19 	$(CC) $(CFLAGS) sim.c -o obj/sim.o
    21 obj/m68kcpu.o: sim.h obj/m68kops.h sim.h ../m68k.h ../m68kconf.h
    22 	$(CC) $(CFLAGS) ../m68kcpu.c -o obj/m68kcpu.o
    24 obj/m68kops.o: obj/m68kmake obj/m68kops.h obj/m68kops.c sim.h ../m68k.h ../m68kconf.h
    25 	$(CC) $(CFLAGS) obj/m68kops.c -o obj/m68kops.o
    27 obj/m68kopac.o: obj/m68kmake obj/m68kops.h obj/m68kopac.c sim.h ../m68k.h ../m68kconf.h
    28 	$(CC) $(CFLAGS) obj/m68kopac.c -o obj/m68kopac.o
    30 obj/m68kopdm.o: obj/m68kmake obj/m68kops.h obj/m68kopdm.c sim.h ../m68k.h ../m68kconf.h
    31 	$(CC) $(CFLAGS) obj/m68kopdm.c -o obj/m68kopdm.o
    33 obj/m68kopnz.o: obj/m68kmake obj/m68kops.h obj/m68kopnz.c sim.h ../m68k.h ../m68kconf.h
    34 	$(CC) $(CFLAGS) obj/m68kopnz.c -o obj/m68kopnz.o
    36 obj/m68kops.h: obj/m68kmake
    37 	obj/m68kmake obj ../m68k_in.c
    39 obj/m68kmake: ../m68kmake.c ../m68k_in.c
    40 	$(CC) $(WARNINGS) ../m68kmake.c -o obj/m68kmake