# Download

MEMU can be downloaded from `http://www.nyangau.org/memu/memu.zip`.

On Linux, you need to have `PortAudio` installed. I used `dnf -y install portaudio` to get this, on your Linux distro this may differ. See the Source page. I've included a Windows `portaudio_x86.dll` in the MEMU package.

Change log :-

Date | Changes
--- | ---
Various | Lots of development
2013-03-17 | Added Silicon Disc support, F1 Simulator and SDX FDC `-sdx-tracks` option
2013-03-31 | Merged in Raspberry Pi patches from Bill Brendling.
2013-04-17 | SDX FDC support now copes with 40 track media in an 80 track drive (only Linux version recompiled with this support at the moment). Hacked version of Pothole Pete included.
2013-04-19 | Telebunny included.
2013-05-19 | Very small improvements to CP/M emulation. ROM 2 now has 16 subpages. Fix to DYNAMIC_ROMS code used by Raspberry Pi port.
2013-06-16 | Added Sloopys Christmas and Soul of a Robot, sampled by Paul Daniels.
2013-06-25 | Added RAM page snapshot diagnostic feature, requested by Claus Bækkel (only Linux and Windows versions recompiled with this support at the moment).
2013-07-07 | Added keyboard auto-type feature, requested by Claus Bækkel and Dave Stevenson (only Linux and Windows versions recompiled with this support at the moment).
2013-07-14 | Fix for early clock bit on SIZE=0 MAG=0 sprites, allowing Combat game (included) to work.
2013-07-26 | Added Attack of the Killer Tomatoes, Designer, Felix in the Factory, Memocheque, courtesy of Paul Daniels, Diarmid Gibson and Dave Stevenson.
2013-08-10 | Added Joystick support on Linux and Windows. MEMU on Windows is now dependent on DirectX version 8 or later. Added Dennis Goes Bananas and the MTX Assembly Language Course, courtesy of Paul Daniels, Diarmid Gibson and Dave Stevenson.
2013-10-19 | Fix for SIZE=1 MAG=0 sprites. Added Level 9 Colossal Cave, courtesy of Dave Stevenson. Added First Letters and Memotech Demos, courtesy of Paul Daniels. Added new formats of existing games, and Bomber from Martin. Updated text describing FDXB Basic files in the light of seeing `BOMBER.BAS`. Added Danish piggy-back ROM, from Claus's machine. Added DART support from Bill Brendling, on Linux and MacOSX only.
2013-11-11 | Added Lords of Time, Quest One, Return to Eden, Dr. Frankie and Speech Synthesizer (not working), courtesy of Paul Daniels. Added Dennis and the Chickens, courtesy of Paul Daniels and Martin Allcorn.
2014-01-03 | Added Dennis at the Circus, Crystal and Edasm Macros, thanks to Paul and Diarmid. Added `-fdxb` option, so that MEMU can more easily run FDX Basic. Now compiled with Visual Studio 2013.
2014-01-12 | Full word I/O addresses are emulated. Changed some of the interactive diagnostic keypresses. Replaced MEMU specific `.zxtape` support with standard ZX Spectrum `.tap` file support. Initial stab at Speculator support.
2014-01-13 | Load more `.sna` files, and include a few more.
2014-01-14 | Added BEMEMU support on Linux. Include more `.tap` files.
2014-01-15 | Added BEMEMU support on Windows. Target older Intel processors.
2014-04-21 | Added Finnish piggy-back ROM, from Juha Ollila's machine. Added Z2. Made `.tap` file loading more tolerant. Added Claus's games in `.COM` format and some new text adventure games.
2014-08-25 | Added lots more `.mtx` files, courtesy of Jim and Paul.
2014-09-20 | Fix for CP/M file length logic, from Bill Brendling. Added Pontoon and Text Mode Invaders.
2015-03-07 | Add PowerPac, from Claus.
2015-10-16 | Add Old Mac Farmer, from Claus.
2015-10-19 | When loading `.COM` or `.RUN` files, honor `-cpm-drive-a`, if specified
2015-11-01 | VDP snapshot to bitmap feature
2016-10-28 | Added `-sidisc-huge` and `-sidisc-no-save` features
2017-05-20 | Added `-diag-z80-time`, `-diag-z80-time-iperiod`, `-diag-vid-time-check`, `-diag-vid-time-check-abort` and `-vid-time-check` (for Claus). Fixed bug in Z80 DJNZ instruction timing exposed by this work. Fixed bug in Z80 CTC exposed by this work.
2017-08-20 | Fixed bug regarding when input happens exactly within the INI,INIR,IND and INDR instructions. Fixed bug in Z80 disassembler, copied fix from BEZ80. Split `-diag-bad-ports` into `-diag-bad-ports-display` and `-diag-bad-ports-ignore` (for Timo). Hide `Pa_Initialize()` messages on UNIX unless `-diag-snd-init` specified.
2017-10-21 | Fixed longstanding bug regarding CTC and RETI instruction, as exposed by C-SO! game. Added C-SO! game ported by Claus.
2019-04-23 | Fixed a bug in CTC relating to clearing active interrupts. F1 Simulator doesn't always complete interrupt handling with RETI, and sometimes resets the whole CTC channel instead. Fixed a bug in VDP, where SciSoft programs had corrupt double height text. They set up the VDP address for output, but then input. Thanks for Paul Daniels for spotting these problems.
2019-04-27 | Added Hustle Chumy, SASA and Zombie Near, as ported by Claus. Also added other formats of existing games by Claus.
2019-10-12 | `-romX` can now load multiple subpages. Subpage support added to all ROM slots also. `-rompairX` added too. `-sdx` now loads SDX ROM to ROM 5, use `-sdx3` or `-sdx5` to explicitly place the ROM in either position. `-diag-all` fix, as per Bill's copy of MEMU.
2021-04-03 | Add VRAM dump and BEMEMU access to VRAM, for Dave. Fix transparent foreground in text mode.
2023-11-26 | Fix a few compiler warnings, and make it buildable on Windows with latest Microsoft tools, and in 64 bit mode.

Copying of this program is encouraged, as it is fully public domain. Even the source code is included in the package. It was created on the authors time and equipment, and AFAIK, makes no use of confidential or protected intellectual property. It obviously does include copies of the MTX ROMs and some games, but this is all material already available from several places on the net, such as emulator and retro-gaming sites, and they were originally marketed by long defunct companies. Caveat Emptor.

The author of MEMU and this documentation is Andy Key (email `andy.z.key@googlemail.com`). Generous contributions from others, in particular Bill Brendling, are credited on the Credits page.

{{{ Andy