Home

Awesome

PTM Logo

PTM - Programmable Tile Machine

About

PTM (Programmable Tile Machine) is a "pseudo-8-bit fantasy computer" that you can program using a built-in programming language called PTML. The system aims to be similar in look-and-feel to some early 8-bit, computer systems such as the MSX, ZX Spectrum and Atari 800 with a low-resolution, tile-based display. Also inspired by the modern game engines Bitsy and PICO-8.

PTML is an interpreted, imperative, loosely typed, line-based, low-level programming language, with only two basic data types: strings and integers. The syntax is based on early dialects of BASIC and assembly languages for 8-bit computers. Familiarity with any of those will probably make it easier to learn and work with PTML, but the language itself is designed to be fairly straightforward.

Version history

This project is currently in early alpha stage. All released versions are to be considered as experimental, but mostly functional.

VersionRelease date or statusComments
0.4In developmentCurrent implementation, started from scratch. PTML is an entirely different language from earlier versions. Program editor and interpreter operate seamlessly within the same application, similar to many line-based BASIC programming environments found in early 8-bit computers such as the Atari 800, MSX and ZX Spectrum. As such, no longer requires the use of any external code editor.
0.3UnreleasedThis is an unreleased, abandoned version which included a complete IDE (PTM Studio, unrelated to the tool included in version 0.2).
0.2July 1, 2023Many PTML improvements and new commands. This version also included a few standalone tools (PTM Studio and PTM Tile Editor) besides the main PTM interpreter.
0.1May 14, 2023First release. Ranked 4th out of 61 entries in the Tool Jam 3.

Downloads

You can download pre-built PTM releases on Itch.io here: https://fernandoairescastello.itch.io/ptm

The latest released version is 0.2.
The current development version is 0.4 (pictured below).

PTM v0.4b

Note: development builds can be very unstable since they are being actively worked on and change frequently, so use at your own risk!

Documentation