
Doom Environment Simulator v1.92alpha
-------------------------------------

This is an early preview containing correctly textured floors &
ceilings. The walls still don't use the correct textures due to
lack of a suitable software graphics cache. This will be corrected
in the near future. Please ignore the fact that it also attempts to
(badly) depth-cue the sky in places. It's a stupid bug.

I would normally be quite pleased with this thing, but I just saw
Doom running on the SNES yesterday, and it upset me immensely. What
posessed ID to write something like Doom for a 65816 (6502) based
8-bit calculator like the SNES? Speeeeeeeedy kit!!!  :)

Mind you, I think it probably had an extra CPU & RAM on the game
cartridge, as the SNES is well known for that kind of thing.

Anyway, back to the plot...


Operational details:
--------------------

Commandline options:

 > doom192a.ttp <wadfile> <level>

Doom I example: Load episode 2, mission 3 from doom.wad

 > doom19a.ttp doom.wad e2m3

Doom II example: Load mission 13 from doom2.wad

 > doom19a.ttp doom2.wad map13


Movement keys:

 Arrow keys        left / right & forward / back
 ALT               hold down for strafe / sidestep


Option keys:

 ESC               quit
 TAB               toggle map on / off
 RETURN            toggle texture browser on / off
 '1'               rise
 '2'               drop
 '3'               toggle horizontal detail
 '4'               toggle vertical detail (not ready on VGA yet)
 'V'               select VGA aspect ratio (320x240 = fullscreen -> default)
 'R'               select RGB (PAL) aspect ratio (320x200 = fullscreen)
 'F'               toggle normal/full display height (320x200 <-> 320x240)
 '-'               decrease window size
 '+'               increase window size

When using the texture browser, you may use the arrow keys to move
forward and back through all of the available wall textures in the
IWAD. The textures displayed are full 'composite' TEXTURES from the
TEXTURE1 & TEXTURE2 directories in the IWAD - not simply patches from
the PNAMES directory. This is the beginnings of the graphics cache
which is needed for management of large numbers of textures in memory
at once.

The detail options are not yet complete, as the special hardware video
modes required to achieve 160x200, 320x100 & 160x100 are not yet
implemented on VGA. I have been sent the appropriate routines but have
not yet had time to make the necessary modifications to the engine in
order to make them useful. There is however software emulation for all
of these modes which is almost complete.

The currently supported modes are:-

RGB : 320x200 / 320x240
RGB : 320x100 / 320x120 (hardware emulation)
RGB : 160x200 / 160x240 (software emulation)
RGB : 160x100 / 160x120 (part software, part hardware emulation)

VGA : 320x200 / 320x240 (software emulation)
VGA : 160x200 / 160x240 (software emulation)

The other detail modes do work, but they will currently look
squashed.

The currently unfinished modes are:-

VGA : 320x100 / 320x120
VGA : 160x100 / 160x120

To use this demo, you will need a Doom IWAD level file of some
kind. PWAD (patch WAD) files will not work as they do not to
contain the correct number of textures. A 4MB Demo WAD is freely
available for the PC (shareware Doom). There are also 10MB
(commercial Doom) & 12MB (Ultimate Doom) versions if you have
access to those - and even a 14Mb Doom-II WAD which might also work.
WAD files from Heretic (Shareware & commercial) will work with
this program, but due to the default wall texture, may look a mess
until the graphics cache has been written. This will probably be
implemented in version 2.0 or upwards.

I will be using the 4MB & 12MB WADs for testing, just in case
problems arise and you need to know.

Any WAD smaller than the ones stated is likely to be a PWAD and
will not be much use in future, except later on when patches are
supported on top of IWADs, for overlaying customised levels.


Important modifications:
------------------------

* 1.32alpha -> 1.7alpha

> The NodeInCone function is now on the DSP.
> A new DSP function has been employed to defrag the floor runs.
> Rotational, perspected mapping function for floors & ceilings.
> Distance shading for floors & ceilings.
> Perspected mapping function for walls.

* 1.7alpha -> 1.8alpha

> Removed unwanted FPU instructions:

* 1.8alpha -> 1.9alpha

> Replaced 'additive' shading scheme with better 'scaled' shading.
> Added lighting to walls.
> Added depth-cueing to walls.
> Optimised texture mapping code for CPU bus pipeline.
> Optimised texture-index calculations
> Optimised texture-run storage & lookup
> Modified WAD parser for easy acess to individual resources.
> Different textures just for the hell of it.

* 1.9alpha -> 1.92alpha

> Floor & ceiling textures loaded from IWAD & used correctly.
> Fixed vertical aspect ratio for VGA.
> Changed the distance shading curve YET AGAIN! (I want ID's original source!)
> More accurate floor / ceiling rendering routines.
> Low detail modes now work fully on RGB & partially on VGA.
> Fixed the sky texture and then discovered it wasn't quite so fixed after all.
> DSP / CPU communications optimised for walls.
> New full-height (320x240) capability!
> New texture-browsing mode.


As always, have fun....

Doug @ BSS 

Preferred e-mail: <101573,1275@compuserve.com>
Alternate e-mail: <dlittle@nest.demon.co.uk>





