Tue, 15 Jan 2013 17:02:56 +0000
Implement m68k_read_disassembler_* properly
The previous implementations of m68k_read_disassembler are unsuitable due to
interactions with the memory mapper. A read from memory by the DASM should not
mutate system state.
So we modify the m68k_read_disassembler_{8,16,32} functions to do the memory
mapping themselves without causing page faults (bus error exception) or
updating the page flag bits (which could really upset the kernel).
Now all we need is a debugger/disassembler...
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