Dan B's Videogame Tech Web Site Dan B's Telengard Page
Advertisement
Telengard

Telengard, published by Avalon Hill in 1982, is an early example of the dungeon crawl style of adventure game. If was published for a number of different computers including the Atari 8-bit systems which is the one that this page is about.




Links
Atarimania - You can download the disk image of the game from this site, along with a copy of the instruction manual.

Telengard Information
Telengard Tribute Site

Disk Files

The disk image for Telengard contains the following files:

AUTORUN.SYS - Atari autorun file, starts TELEN.BAS
TELEN.BAS - Atari Basic game startup program
DSKTEL.BAS - Atari Basic main game program (older version)
DSKTELEN.BAS - Atari Basic main game program (newer version)
TELINI.DAT - Game constant data loaded by the main program
TELEN.SET - Redefined character set data
ALAN.PLR - Saved game
Basic Listing

This file contains a listing of the main game program that I have extensively commented to describe how the game works.

Basic Listing
Map Generation

One of the interesting parts of Telengard is the way it generates the dungeon map. The dungeon in the game is very large, it has 50 level and each level is 200 by 200 rooms. The dungeon is also the same every time you play so you can map it out as you go along. This is achieved by using a pseudo-random algorithm to generate the map. This results in a map that is complex enough to be interesting, but not so complex that it's unplayable.

This is the formula that is used to determine the appearance of each room:

XO = 1.6915
YO = 1.4278
ZO = 1.2462

q = x * XO + y * YO + z * ZO + x * YO + y * ZO + z * XO
hi = q And &HFF
q = x * y * ZO + y * z * XO + z * x * YO

If (q And 3) = 0 Then

q = (q / 4) And &HF
If q > 9 Then q = q - 9
hi = hi + q * 256

End If

XO, YO and ZO are constants
z = dungeon level
x,y = room position in level

hi describes the room as follows:

bits 0,1: Upper wall: 0,1 = nothing, 2 = door, 3 = wall
bits 2,3: Left wall: 0,1 = nothing, 2 = door, 3 = wall
bits 8-11: If not 0 then there is something special in the room

1 = Inn
2 = Pit
3 = Teleporter
4 = Stairway
5 = Alter
6 = Fountain
7 = Cube
8 = Throne
9 = Box

To view the entire map I created a VB.NET map generator program. This program required the Microsoft .NET Framework 2.0:

Map Viewer - Executable and source

Emulators

One of the easiest ways of doing 2600 development is to simply run you code on an emulator. There are a number of emulators currently available for MSDOS, Windows, and other platforms. For development work I recommend PC Atari by John Dullea.

Here are some links to good 2600 emulators:

Stella

This is a very good emulator that runs on Linux, Unix, MSDOS, Power Mac, and Windows. The page has full source code and binaries.

Virtual 2600

A 2600 emulator for Unix. This is the emulator that my Virtual VCS is based on.

Z26 Home Page

Another good 2600 emulator with source code available.


Virtual VCS V0.60:

Virtual VCS is an MSDOS port of the x2600 VCS emulator (later now known as Virtual 2600) which was written by Alex Hornby. This was the first emulation project I worked on and I was quite proud of the results. I have stopped further development on it since it has been superceeded by other much better 2600 emulators, and because I have moved onto other projects. I am leaving the source and binary here for educational purposes.

Virtual VCS and x2600 are distributed under the terms of the GNU Public Licence.

Click here to download version 0.60 of Virtual VCS.

Click here to download version 0.60 of Virtual VCS source code.

NOTE:

Due to the flood of good Atari 2600 emulators in the past few months I will not be doing any future development on VVCS. I am very glad to have provided the first non-commercial Atari 2600 emulator for MSDOS and to have given a boost to some of the later 2600 authors, who's emulators are now superior to mine.

Schematics

The following are schematics that I have traced out by hand. I cannot guarantee that these schematics are accurate, or that they are the same for all versions of a piece of equipment. These where all draw with Orcad, exported to a DXF file, imported into Corel Photopaint, then exported as a GIF.

Starpath/Arcadia Supercharger

Logic

Atari 2600 VCS Rev 13:

Audio/Video

Main Logic

Ports/Switches

Power/Clock