Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

Posit-92

Not retro for nostalgia. Retro for power

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

Posit-92 Posit-92

preview 1

preview 2

"Not retro for nostalgia. Retro for power."

A handcrafted game framework for Turbo Pascal 7.0. Inspired by the raw speed, minimalism and creativity of pre-2000 tools.

Rainfall demo (YouTube):

demo preview

Games that I've made are available on my itch.io page:

https://hevanafa.itch.io/

Requirements

  • Turbo Pascal 7.0
  • DOS or a DOS emulator such as DOSBox-X
  • Perl (at least v5.38.2) for the dev helper scripts
  • Optional: Lazarus IDE with FPC configured with the msdos-i8086 target

Getting started

Make a shallow clone of this project, basically without all the commit history:

powershell
git clone --depth 1 https://github.com/Hevanafa/Posit-92.git

Creating a new DOS project

Refer to this documentation: docs/new_dos_project.md

Building

Refer to this documentation: docs/building.md

Configuring custom directives

In case you want to make use of the AdLib or immediate GUI, which aren't included during compile process by default, you can use any combination of these directives:

  • P92_ADLIB
  • P92_IMGUI
  • P92_MODE_X

These custom directives can be enabled in Options menu > Compiler

And then fill in the Conditio(n)al defines with any of the built-in directives listed above

For example, if you want to enable both AdLib and immediate GUI for your game:

pascal
P92_ADLIB;P92_IMGUI

After adding a new directive, always rebuild all the TPU files from the Compile menu > Build, or Alt+C then B

If you want to make the conditional defines persist, press Options menu > Save, or shorter: Alt+O then S

Recommended emulator settings

For general use, change the cycles to 12010, which is the speed of a 486DX CPU

For test projects, set the cycles to 20000

As for the memory size, make it at least 4 MB

Project structure

  • DEMOS - Example Posit-92 programmes
  • UNITS - Posit-92 engine units
  • TESTS - Test programmes

Credits and Inspirations

The name comes from Positron and 1992 (the year in which TP7 was released), combined to resemble an isotope like Uranium-235 because it sounds cool :D

My goal is to create a framework that resembles a fantasy computer, that is similar in spirit to PICO-8 and TIC-80, but built around TP7. Why? I believe it's fast enough & easier than C, added with inline assembly, it's even closer to metal

I'm also inspired by: