Skip to content
This repository has been archived by the owner on Apr 25, 2023. It is now read-only.

jayzsh/TurboZAS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zombie Apocalypse Survivor

ZAS is a 16-bit environment old-school adventure game on the Windows 3.x terminal built with the TurboC/C++ compiler (v3.2.2, 1992).

Contents

Background

The program uses the ancient 1989 C++ 2.0 (C with Classes and more), the immediate precursor to the ISO/IEC 14882-1998 standard named C++98 which was later amended by C++03, C++11, C++14, C++17 and the latest as of this commit, C++20. We built what was our CS assignment as High School sophomores, on Borland's Turbo C/C++ IDE for hobbyists in the DOSBox emulator for 16-bit Windows. Around the same time of C++ 2.0 being popular, the pop-culture icon in the video game industry, Doom for MS-DOS was released.

...but why C++ 2.0? Because retro is cool! see also

Hello World

Documentation

The project documentation can be found in the docs folder.

Run

The 16-bit executable depends on DOSBox to run on modern 64 bit systems (variable OS) and requires it to be installed first. The next step involves cloning this repository, mounting the bin directory as legacy drive C on DOSBox terminal, switching prompt to C:\> and running ZAS.EXE. I've cut down the complexity and prepared the executable binary before hand to avoid rebuilding the code using the TC compiler.

Please note that the executables anywhere in this repository are not stand-alone and require the BGI graphics library with the path C:\TURBOC3\BGI\ relative to the directory mounted as C (here, ./bin) as assigned in the source. Following a wrong mount path, a BGI Error is encountered at the console and the program fails to load.

Windows:

  1. Install DOSBox 0.74 from dosbox.com.
  2. Run DOSBox.
  3. Assuming you cloned the repository and the path to the repository root is C:\path\to\repo\root, run the following at the Z:\> prompt and switch to C:. Note the appended \bin:
mount c C:\path\to\repo\root\bin
c:
  1. Then execute ZAS.EXE to play the game:
zas

Ubuntu (or refer to your distro specific packages):

  1. Install DOSBox 0.74.
sudo apt install dosbox
  1. Run DOSBox.
  2. Assuming you cloned the repository and the path to the repository root is /path/to/repo/root, run the following at the Z:\> prompt and switch to C:. Note the appended /bin:
mount c /path/to/repo/root/bin
c:
  1. Then execute ZAS.EXE to play the game:
zas

macOS:

  1. Install DOSBox 0.74 from dosbox.com or use brew:
brew install dosbox
  1. Run DOSBox.
  2. Assuming you cloned the repository and the path to the repository root is /path/to/repo/root, run the following at the Z:\> prompt and switch to C:. Note the appended /bin:
mount c /path/to/repo/root/bin
c:
  1. Then execute ZAS.EXE to play the game:
zas

Build

Out of sheer curiosity, if you feel like compiling the source code from scratch and see how things worked out for us, I've included the TurboC IDE binary labelled TC.EXE in bin/TCC. Follow the steps to get the prehistoric IDE up and running:

  1. Install and run DOSBox 0.74 (refer steps above).
  2. Assuming you cloned the repository and the path to the repository root is /path/to/repo/root or C:\path\to\repo\root, run the following at the Z:\> prompt and switch to C:. Note the appended /bin and \bin:

Unix:

mount c /path/to/repo/root/bin
c:

Windows:

mount c C:\path\to\repo\root\bin
c:
  1. cd into the TCC directory and execute TC.EXE:
cd tcc
tc
  1. FileOpen the source C:\TURBOC3\SOURCE\ZAS.CPP in a new window ➜ RunRun (Ctrl + F9). This will build the 16-bit binary in the path C:\TURBOC3\SOURCE and run it on the terminal. An additional binary data file labelled PLAYPROF.DAT will be created which will store the user profiles and player statistics.

Authors & Contributors

Contributions

Contributions are closed. This is an archived project and we treat the codebase as an artefact.

License

GPL License This project is licensed under the GNU General Public License v3.0.