Files
Turing-Complete-PacMan/readme.md
2026-04-25 09:15:54 +02:00

41 lines
1.6 KiB
Markdown
Executable File

# Turing Complete PacMan
This program is intended to be used as "level validation" for the `IO` level (in which player add support for keyboard, timer and screen display).
It thus should be able to run on the architecture and ISA the players have built at that point, and must be able to run smoothly on a simulation speed of `1 MHz` or above.
## About this repository
The `main` branch contains a minimal implementation of the game.
The following branches contains variations, allowing comparisons of performances, visuals, gameplay, ...
- `res-2`:
- `256x192` screen resolution
- `17x17` tile resolution
- `res-2-prerendered`:
- `256x192` screen resolution
- `17x17` tile resolution
- initial screen prerendered
- no sprite rotation
## Build script
File inclusion is currently not supported by the game, so a `build.ts` script it provided that will concatenate the content of the hard-coded `.asm` files and output the result on stdout.
It also convert the PPM assets (map and sprites) into ASM raw values representation and append it after all the code.
Usage example:
```sh
./build.ts > /path/to/the/game/schematics/architecture/Symfony/sandbox/main.asm
# script output can easily be piped to strip it off all comments, leading whitespace, double spaces and empty lines:
./build.ts | sed -r 's/\s*;.*//' | sed -r 's/^\s+//' | sed -r 's/ +/ /' | sed -r '/^\s*$/d' > result.asm
```
The script is build over Deno's API, so you'll need to have a `deno` binary in your PATH to use it that way.
## Documentation
- [Assets](assets.md)
- [Visuals](visuals.md)