XPL0 Programming under WindowsHome | Windows | Raspberry Pi | MS-DOS This version of XPL0 runs under Windows 7 through 11. It runs the Sieve benchmark 20 times faster than it runs under DOSBox. Integers are 64 bits long. The enclosed readme.txt explains how to compile programs, and this manual explains how to write them. Download xplw354.zip (524k, 31-Oct-2026). Here are screenshots of some of the example programs included in the zip file:
Microsoft's ml64 assembler is required. It's available free with the Visual Studio C++ tools, which can be obtained here: visualstudio.microsoft.com/downloads/.
NewsThe F11 key alternates graphics displays between windowed and fullscreen. Intrinsic 34, WinCall, enables programs to call many Windows API functions. It has the form: ReturnValue:= WinCall(LibFileName, ProcName, rcx, rdx, r8, r9). For example, R:= WinCall("user32.dll", "MessageBoxA", 0, "Hello World!", "Test", 0) displays a popup message box. R = 0 if an error is detected. Intrinsic 35, MidiMsg, provides a simple way to play MIDI notes. For example, MidiMsg($90, 60, 100) plays middle C (note 60) on channel 0 using the default Acoustic Grand Piano, with velocity (volume) 100. A useful guide to MIDI messages is: midimusic.github.io/tech/midispec.html. A feature recently added to all versions of XPL0 is the constant byte array. It's similar to the traditional constant array, except its elements are restricted to byte values in the range -128 to 255. Braces instead of brackets indicate byte elements. For example, Array:= {123, $FF, -23, ^A}. Byte arrays are limited to one dimension. They are especially useful when porting arrays among the 16-, 32-, and 64-bit versions of XPL0.
GamesIf you're not ready to start programming, you might enjoy some of these games. They're all written in XPLW, and they all include source code. They are good examples for the more advanced programmer.
Autumn
▶
Demoscene-like prod that was mostly written by ChatGPT. For the
executable and source code, download autumn.zip
(43k, 31-Oct-2026).
Video Poker Try your luck and skill with Video Poker. Download poker.zip (117k, 29-May-2026).
Treat Halloween Treat: Little Herbie has donned his costume and is
eager for a night of trick-or-treating. Can you guide him through the
neighborhoods and collect all the treats? Download treat.zip (32k, 31-Jul-2026).
Matey Challenge Matey to a game of chess, or play against
another person with Matey enforcing the rules. Move pieces with the
mouse, specify skill level, undo bad moves, view Matey's thinking.
Download matey.zip (57k, 04-Nov-2026).
3D Isometric Sokoban Sliding box puzzle game with 36 levels. Download sokoban.zip (61k, 31-Jul-2026).
Mah Jongg Solitaire
Venerable Chinese tile game. 3D bamboo-laminated ivory tiles. Download mahjongg.zip (39k, 31-Oct-2026).
Asteroids
Classic Asteroids game with explosive sound effects. Written during a 24-hour coding challenge. Download aster.zip (227k, 04-Nov-2026).
Invaders In 1978 Space Invaders ushered in the golden age
of video games. Here is a faithful translation of the original Taito
version. Download invaders.zip (31k,
08-Oct-2026).
PacMan This mimicks the classic PacMan game. It was mostly
written by ChatGPT. The included source code demonstrates XPLW's
graphics, animation, and sound capabilities. This is a noncommercial
version that is not affiliated with or endorsed by Bandai Namco
Entertainment. Download PacMan.zip (45k,
31-Oct-2026).
Last update: 04-Nov-2026
|