src/musashi/example/history.txt

changeset 0
8bf1bf91a36d
     1.1 diff -r 000000000000 -r 8bf1bf91a36d src/musashi/example/history.txt
     1.2 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 +++ b/src/musashi/example/history.txt	Sat Nov 27 01:13:12 2010 +0000
     1.4 @@ -0,0 +1,114 @@
     1.5 +The history of Musashi for anyone who might be interested:
     1.6 +---------------------------------------------------------
     1.7 +
     1.8 +Musashi was born out of sheer boredom.
     1.9 +I needed something to code, and so having had fun with a few of the emulators
    1.10 +around, I decided to try my hand at CPU emulation.
    1.11 +I had owned an Amiga for many years and had done some assembly coding on it so
    1.12 +I figured it would be the ideal chip to cut my teeth on.
    1.13 +Had I known then how much work was involved in emulating a chip like this, I
    1.14 +may not have even started ;-)
    1.15 +
    1.16 +
    1.17 +
    1.18 +12-May-1998: First outline
    1.19 +
    1.20 +11-Jun-1998: Early disassembler
    1.21 +
    1.22 +20-Nov-1998: First prototype v0.1
    1.23 +
    1.24 +04-Dec-1998: Final prototype v0.4
    1.25 +
    1.26 +20-Dec-1998: Beta release of Musashi v0.5 that could run Rastan Saga under MAME
    1.27 +             (barely).
    1.28 +
    1.29 +06-Jan-1999: Musashi 1.0 released
    1.30 +
    1.31 +17-Mar-1999: Musashi 2.0 released
    1.32 +             - Major code overhaul.
    1.33 +             - Replaced monolithic codebase with a code generator program.
    1.34 +             - Added correct m68000 timing.
    1.35 +             - Moved timing into the opcode handlers.
    1.36 +
    1.37 +25-Mar-1999: Musashi 2.1 released
    1.38 +             - Added support for m68010.
    1.39 +             - Many bugfixes.
    1.40 +
    1.41 +13-May-1999: Musashi 2.2 released
    1.42 +             - Added support for m68020.
    1.43 +             - Lots of bugfixes.
    1.44 +
    1.45 +05-Apr-2000: Musashi 3.0 released
    1.46 +             - Major code overhaul.
    1.47 +             - Rewrote code generator program and changed the format of
    1.48 +               m68k_in.c.
    1.49 +             - Added support for m68ec020.
    1.50 +             - Removed timing from the opcode handlers.
    1.51 +             - Added correct timing for m68000, m68010, and m68020.
    1.52 +               Note: 68020 timing is the cache timing from the manual.
    1.53 +             - Removed the m68k_peek_xxx() and m68k_poke_xxx() instructions and
    1.54 +               replaced them with m68k_get_reg() and m68k_set_reg().
    1.55 +             - Added support for function codes.
    1.56 +             - Revamped m68kconf.h to be easier to configure and more powerful.
    1.57 +             - Added option to separate immediate and normal reads.
    1.58 +             - Added support for (undocumented) m68000 instruction prefetch.
    1.59 +             - Rewrote indexed addressing mode handling.
    1.60 +             - Rewrote interrupt handling.
    1.61 +             - Fixed a masking bug for m68k_get_reg() when requesting the PC.
    1.62 +             - Moved the instruction table sorting routine to m68kmake.c so
    1.63 +               that it is invoked at compile time rather than at runtime.
    1.64 +             - Rewrote the exception handling routines to support different
    1.65 +               stack frames (needed for m68020 emulation).
    1.66 +             - Rewrote faster status register and condition code flag handling
    1.67 +               functions / macros.
    1.68 +             - Fixed function code handling to fetch from program space when
    1.69 +               using pc-relative addressing.
    1.70 +             - Fixed initial program counter and stack pointer fetching on
    1.71 +               reset (loads from program space now).
    1.72 +             - A lot of code cleanup.
    1.73 +             - LOTS of bugfixes (especially in the m68020 code).
    1.74 +
    1.75 +28-May-2000: Musashi 3.1 released
    1.76 +             - Fixed bug in m68k_get_reg() that retrieved the wrong value for
    1.77 +               the status register.
    1.78 +             - Fixed register bug in movec.
    1.79 +             - Fixed cpu type comparison problem that caused indexed
    1.80 +               addressing modes to be incorrectly interpreted when in m68ec020
    1.81 +               mode.
    1.82 +             - Added code to speed up busy waiting on some branch instructions.
    1.83 +             - Fixed some bfxxx opcode bugs.
    1.84 +
    1.85 +14-Aug-2000: Musashi 3.2 released
    1.86 +             - Fixed RTE bug that killed the program counter when in m68020
    1.87 +               mode.
    1.88 +             - Minor fixes in negx and nbcd.
    1.89 +             - renamed d68k.c to m68kdasm.c and merged d68k.h into m68k.h.
    1.90 +               d68k_read_xxx() instructions have been renamed to
    1.91 +               m68k_read_xxx_disassembler().
    1.92 +             - Rewrote exception processing and fixed 68020 stack frame
    1.93 +               problems.
    1.94 +             - FINALLY fixed the mull and divl instructions.
    1.95 +             - Added 64-bit safe code fixes.
    1.96 +             - Added 64-bit optimizations (these will only  be ANSI compliant
    1.97 +               under c9x, and so to use them you must turn on M68K_USE_64_BIT
    1.98 +               in m68kconf.h).
    1.99 +
   1.100 +27-Jan-2001: Musashi 3.3 released
   1.101 +             Note: This is the last release of Musashi before I separate the
   1.102 +                   68020 core.
   1.103 +             - Fixed problem when displaying negative numbers in disassembler
   1.104 +             - Fixed cpu type selector - was allowing 020 instructions to be
   1.105 +               disassembled when in 000 mode.
   1.106 +             - Fixed opcode jumptable generator (ambiguous operators in the
   1.107 +               test for f-line ops)
   1.108 +             - Fixed signed/unsigned problem in divl and mull opcodes (not
   1.109 +               sure if this was causing an error but best to be sure)
   1.110 +             - Cleaned up the naming scheme for the opcode handlers
   1.111 +
   1.112 +02-Feb-2001: Musashi 3.3.1 released
   1.113 +             Note: due to the pc-relative requirement for some new drivers
   1.114 +                   in MAME, I've released this small update.
   1.115 +             - Added pc-relative read modes
   1.116 +             - small optimizations to the exception handling that will help
   1.117 +               when splitting the cores
   1.118 +             - Updated the example (oops!)