Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Gorilla.BAS - CP/M version

This is a Modula-2 (despite the name) implementation for CP/M of the classic "GORILLA.BAS" BASIC game included in MS-DOS 5.0.

Why Turbo Modula-2?

The choice was mainly due to a historic interest: this compiler (never distributed by Borland) was written by Martin Odersky (the inventor of Scala language) and had never been used by a critical mass of users. So it was both a challenging choice and a historic research.

Contents of package

  • source - Source code in Turbo Modula-2 (despite the name ".BAS")
    • xterm.def - XTerm Library: definition module (for terminal portability)
    • xterm.mod - XTerm Library: implementation module
    • game.def - Game Engine: definition module
    • game.mod - Game Engine: implementation module
    • main.mod - Main module (run this)
  • binary - Compiled .COM executable files for CP/M-80
  • dists - Collection of CP/M bootable disk images for Commodore 128 and Memotech MTX
    • gorilla.d71 - Includes C128 CP/M boot code, all sources and binaries, some utilities
    • gorilla.d64 - Includes C128 CP/M boot code, all sources and binaries
    • gorilla.mfloppy - Includes Memotech MTX CP/M boot code and binaries (Memotech type 07 disk image)
    • gorilla-msx.dsk - Includes MSX-DOS boot code and binaries (MSX-DOS disk image)
    • gorilla-cpc.dsk - Includes CP/M for Amstrad CPC6128 boot code and binaries (CPC CP/M disk image)


Thanks to Fabrizio Radica for the idea, YAZE Team for the fantastic Z80 emulator that runs fine on Mac OS X, Lawrence Woodman for sharing informations about CP/M and Turbo Modula-2, Dave Stevenson for sharing informations about Memotech MTX and to Sergio Gervasini and Stefania Calcagno for support.

In-game screen on Commodore 128


Intro screen on Amstrad CPC 128


Multiple platforms: C128 / Amstrad CPC6128

Multiple platforms

Intro screen

C128 version

Game screen - 1

C128 version

Game screen - 2

C128 version

External links


No releases published


No packages published