XPL0 Programming under Windows

Home | Windows | Raspberry Pi | MS-DOS

XPLW   |   News   |   Games


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:

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot


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/.


News

The 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.


Games

If 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

Watch Autumn on YouTube ▶ Demoscene-like prod that was mostly written by ChatGPT. For the executable and source code, download autumn.zip (43k, 31-Oct-2026).

Video Poker

Video Poker Try your luck and skill with Video Poker. Download poker.zip (117k, 29-May-2026).


Treat

Halloween
game 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

Chess board 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

Isometric
Sokoban Sliding box puzzle game with 36 levels. Download sokoban.zip (61k, 31-Jul-2026).

Mah Jongg Solitaire

Mah Jongg Venerable Chinese tile game.
3D bamboo-laminated ivory tiles.
Download mahjongg.zip (39k, 31-Oct-2026).

Asteroids

Asteroids Classic Asteroids game with explosive sound effects.
Written during a 24-hour coding challenge.
Download aster.zip (227k, 04-Nov-2026).

Invaders

Space 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

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).


Back to the main page

Last update: 04-Nov-2026