GithubHelp home page GithubHelp logo

jonathanopalise / lotus-ste Goto Github PK

View Code? Open in Web Editor NEW
40.0 6.0 2.0 802 KB

Enhancements to the Atari ST version of Lotus Esprit Turbo Challenge to support STE hardware features

Shell 0.02% PHP 7.40% Assembly 90.06% Makefile 2.52%
atari-st atari-ste

lotus-ste's Introduction

Lotus STE

Enhancements to the Atari ST version of Lotus Esprit Turbo Challenge to support STE hardware features

Screenshot of current progress

Credits

  • Graphics enhancements: Chicane/AF (Jonathan Thomas)
  • Sound enhancements: Junosix/AF (Jamie Hamshere)
  • Loader and other technical assistance: Grazey/PHF
  • LZ4 decoder: Anima

Thanks to:

  • masteries/AF - for providing the original sound mixer code, without which we might not have digital sound in this project
  • Defence Force/Dbug - for code review and suggestions around performance optimisation
  • metalages/AF - for ideas and discussion around the idea of a YM-based engine sound

(AF = Atari-Forum - https://www.atari-forum.com/)

What STE enhancements have been made?

  • The road is rendered by the Blitter and features graphical details resembling those of the Amiga version;
  • All roadside scenery and cars are rendered by the Blitter at single-pixel horizontal accuracy (as opposed to at 16 pixel intervals on the standard ST version);
  • The background mountains are rendered by the Blitter and scroll at single-pixel horizontal accuracy (as opposed to at 4 pixel intervals on the standard ST version);
  • The sky features a gradient of raster bars resembling those of the Amiga version;
  • The road and roadside colours are refined to leverage the enhanced STE colour palette;
  • Sampled sound effects and engine noise are present.

Possible forthcoming objectives for this project are as follows:

  • Fullscreen mode for player 1;
  • New tracks, or modification to existing tracks;
  • Modified trackside objects, or additional zoom levels for trackside objects.

Does the enhanced game work on non-STE models?

The game will work on STF, STM, STFM and Mega ST models, but only if the machine has a Blitter chip fitted. In this case, only a subset of the full set of STE enhancements will be available:

  • The sky gradient will feature less colours than on the STE;
  • The road and roadside colours will be less refined than those on the STE;
  • No sampled sound effects and engine noise will be available.

Directory layout

Directory layout is as follows:

  • bin - contains binary patches generated by means of compiling the code in src;
  • doc - contains informal documentation pertaining to the reverse engineering efforts of the ST side;
  • gamefiles - contains a source directory that must be manually populated with the contents of the Empire crack of Lotus (see below) before running the Makefile. Also contains a destination directory used as an intermediate step in the build process;
  • release - contains a bootable disk image named lotus_ste.st upon successful completion of the build process.
  • src - contains the core source code to generate the code for use on the ST side. There is a generated subdirectory within that contains machine generated source files;
  • util - contains utilities for use in reverse engineering efforts.

How to build

The build process is controlled by a Makefile. The Makefile is confirmed to work with Linux and OSX (thanks to Rajesh Singh for help with getting the build working on OSX). It could possibly be repurposed for Windows with some changes - please get in touch if you can help. Before attempting to run the Makefile, you'll need to obtain the "Empire" crack of Lotus, which needs to obtained separately from the usual channels. The filename of this disk image is Lotus Esprit Turbo Challenge (1990)(Gremlin)[cr Empire][a].st and the md5sum is 942911068dd0a82debfba6d45d3370c4.

Once the disk image has been obtained, the gamefiles/source directory needs to be populated with the contents of the root directory of the above disk image. This can be done by using the Hatari emulator (https://hatari.tuxfamily.org/) to map a Gemdos hard drive to a directory on the host machine, entering the GEM environment on the Atari ST, and copying the files from drive A: to drive C:, at which point they should appear on the filesystem of the host machine, within the directory assigned to the Gemdos hard drive. The files will then need to be copied from this location to the gamefiles/source directory.

Following the above step, run make to start the build process. The following executable dependencies will need to be present in the path:

Should the build process succeed, there will be a lotus_ste.st file present within the release directory that can be run within an emulator such as Hatari (https://hatari.tuxfamily.org/) or transferred elsewhere to run on real STE hardware. Whether running on an emulator or real hardware, the machine will need to be configured as an STE with one meg or more of memory. In the event that the build process fails, please raise an issue against the project and I'll help in any way I can.

lotus-ste's People

Contributors

jonathanopalise avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

lotus-ste's Issues

TOS 2.06 - not supported

Seems that TOS 2.06 and running either form HDD or FDD - crashes after inital check screen (4 bombs, back to desktop, distorted palette). Atari STE with 4MB RAM.

Game could potentially support STFM with Blitter

If the DMA sound code was conditionalised, the game would run fine on the STFM. The only visual downgrade would be the sky gradient, and no code changes would be required beyond sound code.

Width of Blitter-drawn road is incorrect

When compared to the standard road rendering technique, the width of the road is incorrect. This needs to be brought into line with the standard road rendering technique.

NFSR required on scenery

The NFSR feature of the Blitter needs to be used for roadside scenery - this will provide a modest performance boost.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.