OVR: Change the way to walk and rotate with the controller
[mercenary-reloaded.git] / src / libcpu / history.txt
1 The history of Musashi for anyone who might be interested:
2 ---------------------------------------------------------
3
4 Musashi was born out of sheer boredom.
5 I needed something to code, and so having had fun with a few of the emulators
6 around, I decided to try my hand at CPU emulation.
7 I had owned an Amiga for many years and had done some assembly coding on it so
8 I figured it would be the ideal chip to cut my teeth on.
9 Had I known then how much work was involved in emulating a chip like this, I
10 may not have even started ;-)
11
12
13 15-Jul-2013: Musashi license changed to MIT.
14
15 10-Jun-2002: Musashi 3.4 released
16              - Added various undocumented m68k features thanks to Bart
17                Trzynadlowski's experiments.
18                See http://dynarec.com/~bart/files/68knotes.txt for details.
19              - Fixed a bug that caused privilege violation and illegal
20                instruction exceptions to stack the wrong PC value.
21              - Added emulation of address errors (Note: this only works
22                in 68000 mode.  All other CPUs require a LOT of overhead
23                to emulate this.  I'm not sure if I'll implement them or not.
24
25 27-Jan-2001: Musashi 3.3 released
26              - Fixed problem when displaying negative numbers in disassembler
27              - Fixed cpu type selector - was allowing 020 instructions to be
28                disassembled when in 000 mode.
29              - Fixed opcode jumptable generator (ambiguous operators in the
30                test for f-line ops)
31              - Fixed signed/unsigned problem in divl and mull opcodes (not
32                sure if this was causing an error but best to be sure)
33              - Cleaned up the naming scheme for the opcode handlers
34
35 14-Aug-2000: Musashi 3.2 released
36              - Fixed RTE bug that killed the program counter when in m68020
37                mode.
38              - Minor fixes in negx and nbcd.
39              - renamed d68k.c to m68kdasm.c and merged d68k.h into m68k.h.
40                d68k_read_xxx() instructions have been renamed to
41                m68k_read_xxx_disassembler().
42              - Rewrote exception processing and fixed 68020 stack frame
43                problems.
44              - FINALLY fixed the mull and divl instructions.
45              - Added 64-bit safe code fixes.
46              - Added 64-bit optimizations (these will only  be ANSI compliant
47                under c9x, and so to use them you must turn on M68K_USE_64_BIT
48                in m68kconf.h).
49
50 28-May-2000: Musashi 3.1 released
51              - Fixed bug in m68k_get_reg() that retrieved the wrong value for
52                the status register.
53              - Fixed register bug in movec.
54              - Fixed cpu type comparison problem that caused indexed
55                addressing modes to be incorrectly interpreted when in m68ec020
56                mode.
57              - Added code to speed up busy waiting on some branch instructions.
58              - Fixed some bfxxx opcode bugs.
59
60 05-Apr-2000: Musashi 3.0 released
61              - Major code overhaul.
62              - Rewrote code generator program and changed the format of
63                m68k_in.c.
64              - Added support for m68ec020.
65              - Removed timing from the opcode handlers.
66              - Added correct timing for m68000, m68010, and m68020.
67                Note: 68020 timing is the cache timing from the manual.
68              - Removed the m68k_peek_xxx() and m68k_poke_xxx() instructions and
69                replaced them with m68k_get_reg() and m68k_set_reg().
70              - Added support for function codes.
71              - Revamped m68kconf.h to be easier to configure and more powerful.
72              - Added option to separate immediate and normal reads.
73              - Added support for (undocumented) m68000 instruction prefetch.
74              - Rewrote indexed addressing mode handling.
75              - Rewrote interrupt handling.
76              - Fixed a masking bug for m68k_get_reg() when requesting the PC.
77              - Moved the instruction table sorting routine to m68kmake.c so
78                that it is invoked at compile time rather than at runtime.
79              - Rewrote the exception handling routines to support different
80                stack frames (needed for m68020 emulation).
81              - Rewrote faster status register and condition code flag handling
82                functions / macros.
83              - Fixed function code handling to fetch from program space when
84                using pc-relative addressing.
85              - Fixed initial program counter and stack pointer fetching on
86                reset (loads from program space now).
87              - A lot of code cleanup.
88              - LOTS of bugfixes (especially in the m68020 code).
89
90 13-May-1999: Musashi 2.2 released
91              - Added support for m68020.
92              - Lots of bugfixes.
93
94 25-Mar-1999: Musashi 2.1 released
95              - Added support for m68010.
96              - Many bugfixes.
97
98 17-Mar-1999: Musashi 2.0 released
99              - Major code overhaul.
100              - Replaced monolithic codebase with a code generator program.
101              - Added correct m68000 timing.
102              - Moved timing into the opcode handlers.
103
104 06-Jan-1999: Musashi 1.0 released
105
106 20-Dec-1998: Beta release of Musashi v0.5 that could run Rastan Saga under MAME
107              (barely).
108
109 04-Dec-1998: Final prototype v0.4
110
111 20-Nov-1998: First prototype v0.1
112
113 11-Jun-1998: Early disassembler
114
115 12-May-1998: First outline