
              **********
              * TempEd *
              **********

         Tempest Level Editor

               Ver 0.5


         (c) 1999 Simon Mills

  http://www.thundercross.freeserve.co.uk

E-mail : temped@thundercross.freeserve.co.uk


Introduction
------------

TempEd is a Win95/98 level editing utility for Atari's 1980 arcade game Tempest. The edited ROM files produced are designed to be used with an emulator such as MAME. Their use with a real arcade version of Tempest is untested, and discouraged.

In order to create new levels, you will need access to ROM images of Tempest. Where you get these from is your business, I cannot supply them and TempEd should NEVER be distributed with them.

TempEd is freeware. You may distribute it freely within the following restrictions:
	- You may not distribute it with any Tempest ROM images.
	- You may not charge for it.
	- You may not modify any of the files in any way.
	- You must distribute it with all of the files in the original zip archive.


Installation
------------

Unzip the archive into a suitably named directory. There should be 3 files : ReadMe.TXT (this file), TempEd.EXE (the editor) and TempEd.TLD (an example set of levels). The TLD file only contains level geometry, it does not contain any Tempest ROM data.


System Requirements
-------------------

Win 95/98. Untested under NT.
TempEd has only been tested on fairly high-spec machines.
To play your levels you will need Tempest ROM images and a suitable emulator such as MAME.


Usage
-----

Start the editor by double-clicking on TempEd.EXE. The editor's 'attract mode' will begin. During this phase, the only available commands are on the 'File' menu.

Once you have loaded some data (either a TLD file or a 118 file), you will see all the levels in a 4x4 grid. Click one with the left mouse button to select it.

The level will now appear in a similar fashion to how it looks in the game. The grey box is the 'bounding box' - this represents the limits of the arcade game's co-ordinate range. All of the points of the level must be within this box. The purple lines are the 'safe frame' - all of the arcade's original levels lie within these limits. If your levels go outside these lines, they may go off-screen.

Use the menu commands and keys described below to alter the level. When you are happy and wish to play your levels, choose the 'Save ROM' option on the 'File' menu. If this option is greyed out, it means you have not previously loaded any ROM data. In this case, save your levels as a TLD file, load a 118 file and then re-load your TLD file. You will now be able to save your data as a 118 ROM file.

To play your levels in MAME, you must first have a complete set of Tempest ROM images. If they are in a zip file, you must unzip them. Make a backup of the file '136002.118' as this contains the original levels for the game. Name your own ROM file '136002.118'. Now, when you run Tempest in MAME, you will play the new levels. Alternatively, you can name your ROM file 'Tube.118'. This will replace the levels of the Tempest Tubes variant. Run Tempest Tubes to play the new levels. In both cases, you will get a CRC error in DOS MAME - this is to be expected, and is not a problem.

Well, actually it is a problem. Tempest detects the altered ROMs, and tends to crash when you reach 150,000 points. If this is a problem, use the 'Hack ROM' option on the 'File' menu. Select the file '136002.119' and it will be hacked to raise the trigger level to 990,000 points.

Happy editing!


File Types
----------

TempEd supports two file types : *.118 and *.TLD. 118 files are ROM images, the data Tempest needs to run. You must supply an initial 118 file in order to modify it. TLD files only contain level geometry, and they store data at a higher accuracy than 118 files. It is recommended that you use TLD files to save your work, saving out a 118 file when you want to play the new levels.

To save out a 118 file, you must have first loaded a 118 file. You can use Tempest's original file (136002.118), the one from Tempest Tubes (Tube.118) or one you have previously created.


Menu Options
------------


'File' Menu
-----------

Load ROM	- loads a ROM *.118 file.

You must supply the initial ROM file.

Load TLD	- loads a *.TLD file.

This contains level data only. TempEd comes supplied with an example file, 'TempEd.TLD'.

Save ROM	- saves a ROM *.118 file.

You must have previously loaded a 118 file in order to do this. To play your levels with MAME, you will need to name it either '136002.118' or 'Tube.118'.

Save TLD	- saves a *.TLD file.

You must have previously loaded some data in order to do this, either a 118 file or another TLD file.

Hack ROM	- alters a different ROM file to avoid Tempest's protection.

Tempest performs some checksum calculations to see if the game has been altered - to prevent bootleggers altering copyright information and suchlike. Unfortunately, the altered levels produced by TempEd can also trigger this system (Tempest Tubes seems to suffer from the same problem). The result is some strange behaviour (or a crash) and it usually starts around the first few 'red' levels. The trigger event seems to be the score reaching 150,000 points. This hack alters the code so that the trigger value is raised to 990,000 points. The file to alter is '136002.119'. This option overwrites the original, so make a backup first. Always pick '136002.119' as the file to alter, as this is the file MAME will load. Note that this hack is partly guesswork, if you have better information, please mail me at temped@thundercross.freeserve.co.uk

Exit		- exits from the program. Make sure you have saved your data first.


'Edit' Menu
-----------

Select Level	- brings up the level selector screen.

This screen shows all 16 levels in a 4x4 grid. Use the mouse and left-click to select the level you wish to edit. You can also use this screen to alter the level order. Right-click a level to turn it red. Now, right-click another level and those two levels will be swapped.

Undo		- reverts the current level back to it's status when it was last selected.

Note that this does not just undo the previous action. You may like to re-select the level periodically, in order to update the undo buffer.

Copy		- copies the current level and all it's parameters to an internal buffer.
Paste		- replaces the current level with the contents of the internal buffer.

You must have 'copied' before you can 'paste'. You can 'copy' a level and then load a new set of levels, and 'paste' it into that. This allows you to transfer levels from one file to another.

Edit Level	- starts editing current level.
New level	- clears current level, and begins editing.

Both of these options enter Edit Mode, signified by the level being displayed in red. 'Edit Level' leaves all but the last sector of the current level intact. 'New Level' removes all but the first sector.

End Edit	- stops editing.

This option replaces 'Edit Level' when you are in Edit Mode. You will return to Normal Mode (blue level) - if you have not finished all the sectors in the level, the results may look strange.

Open / Closed	- changes open/closed status of level.

These two options act as radio buttons - selecting one deselects the other. A 'closed' level has 16 sectors and is arranged in a loop. An 'open' level has 15 sectors and does not loop.


'Tools' Menu
------------

Flip Horizontally	- flips the level left-to-right.
Flip Vertically		- flips the level top-to-bottom.

Note that you may need to use the 'Reverse' command afterwards to ensure correct ordering.

Centre		- centres the level within the bounding box.

The level must be fully contained within the bounding box. Any overlap will be 'squashed' to fit.

Rotate (angle)	- rotates the level by the selected amount in degrees.

Scale Points	- scales the level by moving it's points.

You can scale the X & Y axes independently by unchecking the 'Scale equally' box. Remember to keep the points within the bounding box.

Scale Level	- scales the level by changing it's 'scale' parameter.

This alters a value used by the arcade game to scale the level. Smaller numbers represent bigger levels. Note that, unlike 'Scale Points', this option scales the bounding box as well.

Reverse		- reverses the level ordering.

Tempest expects the sectors to run in anti-clockwise order. If they don't, the level will be 'inside-out', and the Claw (player) will face away from the centre. Use 'Reverse' to correct this as needed.

Kaleidoscope	- various level-creation functions:
	1-Axis Rotate	- takes the first 8 sectors and rotates them to complete the level.
	2-Axis Rotate	- takes the first 4 sectors and rotates them to complete the level.
	1-Axis Mirror	- takes the first 8 sectors and reflects them to complete the level.
	2-Axis Mirror	- takes the first 4 sectors and reflects them to complete the level.

Creating 'closed' levels with constant sector width is quite hard, and these functions are designed to help. Use Edit Mode to create 4 or 8 sectors, and then use one of the 'Kaleidoscope' functions to finish the level. You can also use 'Kaleidoscope' in Normal Mode if you wish.
'1-Axis Mirror' has some special functions. First, it rotates the level so that the axis of symmetry is vertical (this almost always looks best, but you are free to rotate the level to another position). Secondly, if the level is 'open', the axis of symmetry is moved to be perpendicular to the middle sector of the level.
'2-Axis Mirror' is the only one of the 'Kaleidoscope' functions that depends on the orientation of the level. Use the 'Rotate' function first for different results.

Set Angle Step	- changes the step size used with the keyboard 'rotate' commands.

See below for a description of the keyboard commands.

Bend		- toggles the state of the 'bend' parameter.

The 'bend' parameter is used in Edit Mode. If you rotate a sector that is in the middle of the level, 'bend' determines if the rest of the level will also rotate or not. If 'bend' is checked, the level will rotate.


'Display' Menu
--------------

3D View / 2D View	- determines how the level is drawn.

The default, '3D View', displays the level as it will appear in Tempest. '2D View' removes the perspective effects, and may be helpful in some circumstances.

ROM / Accurate Values	- determines how the points in the level are drawn.

The default, 'ROM values', displays the level as it will appear in Tempest, that is all the points are within the bounding box. If you have edited the level so that some points are outside the box, they will appear 'squashed' in order to fit. If you select 'Accurate Values' you will see the points even if they are outside the box. 'Accurate Values' are the values saved by TLD files, 'ROM values' are the values saved by 118 files. You should always select 'ROM values' before saving a 118 file, in order to check that everything looks OK.

Safe Frame		- toggles the appearance of the 'safe frame'.

The safe frame represents the maximum extents used by any of Tempest's original levels. If any parts of your level lie outside this frame, they may be off-screen, or overwrite the score information.

Bounding Box		- toggles the appearance of the 'bounding box'.

The bounding box represents the absolute limits of the level. The arcade game cannot display any points that are outside this box. TempEd will 'squash' any points that are outside in order to fit. You can switch between 'ROM values' & 'Accurate Values' to see if this affects your level.

Claw			- toggles the appearance of the 'claw'.

The Claw is the 'ship' controlled by the player. It should face 'inwards', towards the centre of the level. Use the 'Reverse' command if this is not so.


'Help' Menu
-----------

TBD		- in a future version, this document will become an on-line help file.

About TempEd	- copyright, version and author information.


Keyboard Commands
-----------------

These keys work in both Edit Mode and Normal Mode :

Q/A			- height offset up/down.

Moves the level up and down the screen.

W/S			- camera height up/down.

Changes the player's 'eye level'.

+/- (on numeric keypad)	- scale level up/down.

Similar to the menu option.

Ins/Del			- scale points up/down.

Similar to the menu option.


These keys work only in Normal Mode (blue level) :

Cursor keys		- move level.

Remember to keep the points within the bounding box, although you can use the 'squashing' effect to help shape your levels.

Z/X			- rotate level clockwise/anti-clockwise.

The level will be rotated by the current angle step size.

4/6 (on numeric keypad)	- interactive kaleidoscope.

Combines 'rotate' with '2-axis mirror'. The level will be rotated by the current angle step size.

F1			- select level.

As per the menu command.

F2			- new level.

As per the menu command.


These keys work only in Edit Mode (red level) :

Note : the 'current' sector is the one displayed in yellow.

Spacebar		- next sector.

Creates a new sector with the same width and orientation as the current one. If you have created all the sectors, you will return to Normal Mode.

Backspace		- delete sector.

Deletes the current sector, if it is the last one in the level.

Cursor keys		- change current sector.

You can select any sector to be the current sector.

Z/X			- rotate current sector clockwise/anti-clockwise.

The sector will rotate around the brighter of the two sector edges. The sector will be rotated by the current angle step size.

Page up/Page down	- increase/decrease width of current sector.

Use with care. Levels with differing sector widths can look ugly.


Feedback
--------

Mail bug reports and (useful) suggestions to temped@thundercross.freeserve.co.uk
Check the TempEd homepage at http://www.thundercross.freeserve.co.uk for the latest information.
Planned improvements to TempEd include :-
	On-line help file.
	Some kind of front end for MAME to make playing different sets of levels easier.
	Editing other aspects of Tempest, i.e. enemy graphics and text strings.


Thanks
------

Dave Theurer	- for writing Tempest, obviously.
Duncan Brown	- for creating Tempest Tubes, an invaluable reference.


Legal
-----

Tempest is (c) Atari 1980.
TempEd is (c) Simon Mills 1999.
Use of this program is at your own risk. In particular, use of ROM files created in TempEd with a real Tempest arcade game is strongly discouraged - it may be possible to create levels that would damage a vector monitor.

