Black Flag

Description of the page content

[Project:] Remake of ZX Spectrum's Jolly Roger, written in Forth, for ZX Spectrum 128.

Active project. Started on 2015-11-12. 24% completed.


README file of the project

Black Flag


Black Flag is a project under development, a remake of a ZX Spectrum game called Jolly Roger, which was written by Barry Jones in 1984.

Black Flag is written in Forth with Solo Forth, for ZX Spectrum 128.


Compared to the original game, Black Flag has the following (planned) features:

  • Much, much faster (no surprise, Forth inside!)

  • Similar look and feel

  • Improved logic

  • Improved interface

  • Improved plot

  • Improved graphics

  • Improved sound effects

  • New fonts

  • Trilingual

  • Configurable

  • And many more…​


I find the original game very nice. In its simplicity (it was written in plain Sinclair BASIC in 1984), it combines features of simulation, estrategy, text adventure and arcade.

Also a couple of little friends of mine found it very enjoyable. So, in 2011-08 I decided to translate the original game to Spanish, improve its interface and other details. That project was called Bandera negra ("black flag", in Spanish). It was developed first in Sinclair BASIC for ZX Spectrum 128, and later in MasterBASIC for its much more powerful cousin, and considerably Spectrum-compatible, SAM Coupé. For technical reasons, explained in the home page of that project, both remakes were finally abandoned.

By the end of 2015, the development status of Solo Forth made it the perfect choice to resurrect the project. In Forth there’s no technical limitation to creativity. Beside, the development of Black Flag became a very useful workbench for the parallel development of Solo Forth.

How to compile and run

  1. Make sure the required programs, listed in the header of the <Makefile> file, are installed on your system.

  2. Type make in the project directory to build the <disk_2_black_flag.mgt> disk image.

  3. Start a ZX Spectrum 128 emulator with the Plus D interface.

  4. Enter 128 BASIC.

  5. Insert the Solo Forth’s <disk_0_boot.mgt> disk image into drive 1.

  6. Type run to load G+DOS and Solo Forth from drive 1.

  7. Insert the <disk_2_black_flag.mgt> disk image into drive 1.

  8. Type 1 load to load block 1 from the current drive. This will start the compilation. Messages will be shown during the process.

  9. Set your emulator to its maximum speed and wait. When the compilation is finished, the screen is cleared and a message is displayed.

  10. Type run to start the game.

  11. Save a SZX snapshot with your emulator.

Brief history

2015-11-02: Start modifying the source of the abandoned remake in MasterBASIC, in order to convert it to Forth, with the precious help of the Vim editor.

2016-12-15: Create a local Git repository to resume the development. Version 0.0.0: The conversion from MasterBASIC to Forth is in progress.

2016-12-20: Version 0.1.0: The language conversion is finished.

2017-02-05: Version 0.48.0: The Git repository is uploaded to GitHub.


The program is far from finished, but here you are some screenshots of its current status (2017-02-10), still with original graphics and some debuggin info in the sky...:



The program can be downloaded in GitHub.

Related pages

Solo Forth
[Project:] A disk-based Forth system for ZX Spectrum 128, for cross-development of ZX Spectrum programs.
Bandera negra
[Proyecto abandonado:] Versión traducida y mejorada del juego Jolly Roger de ZX Spectrum.