pMARS is a portable MARS
written in C by
Albert Ma,
Nándor Sieben,
Stefan Strack, and
Mintardjo Wangsaw.
The latest version supports the extended CWS'94 Redcode standard, p-space,
read/write limits, and is the official Redcode simulator
of rec.games.corewar. The first version of pMARS was released on . Download the source code or Windows binary for the latest version below to get started.
Current Development Snapshot
pMARS is actively maintained, and contributions are welcome. Please submit patches for review by email to John Metcalf or via the #pmars-dev Discord channel. We endeavour to review and apply patches to the dev snapshot within a couple of days. See the change log for a list of modifications since the last release.
- pMARS v0.9.6-dev (20 Jun 2026) - pmars-0.9.6-dev.zip, Windows binary, change log
Known Issues / Bugs
- Windows binaries compiled with the SDL display write to text files
stdout.txtandstderr.txtinstead of the console
Official pMARS Releases
- pMARS v0.9.5 () - pmars-0.9.5.zip, Windows binary
- pMARS v0.9.4 () - pmars-0.9.4.zip, Windows binary
- pMARS v0.9.2 (25 December 2000) - pmars-0.9.2.zip, Windows binary
- pMARS v0.9.1 (23 October 2000) - pmars-0.9.1.tar.gz
- pMARS v0.9.0 (31 August 2000) - pmars-0.9.0.tar.gz
- pMARS v0.8.6 (10 April 2000) - pmars-0.8.6.zip, Windows binary
- pMARS v0.8.5 (20 February 1996) - pmars-0.8.5.zip, Windows binary
- pMARS v0.8.0 (05 August 1995) - pmars-0.8.0.zip, Windows binary
pMARS-SDL
pMARS-SDL is a port of pMARS by Joonas Pihlaja, which uses the Simple DirectMedia Library to display the core. For more details, see the pMARS-SDL homepage. Pavel Šavara updated pMARS-SDL to create pMARS 0.9.3-a. SDL support has been merged into pMARS as of v0.9.6.
- pMARS 0.9.3-a (07 December 2006) - Windows binary, Linux binary, BSD binary
- pMARS-SDL v0.9.2-5 (26 April 2003) - pmars-0.9.2-5.tar.gz, Windows binary
Mac pMARS Binaries
- pMARS v0.9.4 / -SDL 0.9.2-5 - pmars-0.9.4-macos.zip for M-Series/macOS
- pMARS v0.9.2 - pmars-0.9.2-osx.zip for Intel/Mac OS X (requires X11/XQuartz)
- pMARS v0.9.2 - pmars.zip, pmarsv.zip for PowerPC/Mac OS X
- pMARS v0.8.6 - pmars.zip, pmarsv.zip for PowerPC/Mac OS X
- pMARS v0.8.6 - pmars.dmg for PowerPC/Mac OS X (requires XDarwin)
- MacpMARS v0.8.0 and v0.6.2 for Classic 68K/Mac OS
pMARS Manuals
- pMARS Manual for pMARS v0.9.5 (TXT)
- Redcode Reference is a quick reference for the extended ICWS'94 draft standard
- ICWS'94 Primer covers the new ICWS'94 features for players already familiar with ICWS'88
- CDB Primer is an introduction to the CDB debugger
Support Files
Special Purpose
- pQmars 2.0.0, 1.0.0-4, created by Alexander (Sasha) Wait for the Quantum Coreworld
- Football pMARS source code and Windows binary, created by trac for round 21 of the Redcoders Frenzy tournament
- pMARS 0.9.2 DAT 1,1,
initialise core with
DAT 1,1, by Sascha Zapf for round 10 of the Redcoders Frenzy tournament
pMARS Patches
- pMARS v0.9.5 macro patches by Bertram Felgenhauer,
fixes issues with
forand multi-lineequ - pMARS v0.9.4 patches by Andrius Merkys, fixes printf warnings and sighandler FTBFS (included in 0.9.5)
- pMARS v0.9.4 overflow patch by Joseph Espy, fixes several overflow / bounds errors (included in 0.9.5)
- pMARS v0.9.2 patch set by Joonas Pihlaja, adds read/write limits and a number of bug fixes (included in pMARS 0.9.4)
- pMARS v0.9.2 sound patch by Hermann Samso
- pMARS v0.8.6 sound patch by Hermann Samso
- pMARS v0.8.6 permutation patch by Ilmari Karonen (included in pMARS 0.9.0)
- pMARS v0.8.5 primordial soup patch by Ian Oversby for the Oversby Autumn 1998 Corewar Tournament
Archive
Old binaries for DOS, Windows XP or earlier, and other systems. May not be compatible with modern versions of Windows.
- pMARS v0.8.6 32-bit DOS binary
- pMARS v0.8.5 Amiga binary
- pMARS v0.8.1 16-bit DOS binary
- pMARS v0.8.0 BeOS binary
- pMARS v0.8.0 32-bit Windows binary optimized for Pentium Pro
- pMARS v0.8.0 32-bit Windows binary optimized for Pentium
- pMARS v0.8.0 32-bit Windows binary optimized for 486
- pMARS v0.8.0 binary for VMS and VMS makefiles/docs
- pMARS v0.8.0 32-bit Windows binary
- pMARS v0.8.0 32-bit Windows binary
- pMARS v0.8.0 32-bit DOS binary
- pMARS v0.6.2 16-bit DOS binary
- pMARS v0.3.1 Amiga binary