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
Telengard Tribute Site
Disk Files
The disk image for Telengard contains the following files:
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 ListingMap 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:
StellaThis is a very good emulator that runs on Linux, Unix, MSDOS, Power Mac, and Windows. The page has full source code and binaries.
Virtual 2600A 2600 emulator for Unix. This is the emulator that my Virtual VCS is based on.
Z26 Home PageAnother 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 SuperchargerAtari 2600 VCS Rev 13: