Skip to content

Disassembly (CA65) of the Commodore 64 port of the seminal space-sim Elite, by Ian Bell / David Braben.

License

Notifications You must be signed in to change notification settings

bjotos/elite-harmless

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elite : Harmless

Elite : Harmless is a greatly enhanced version of the Commodore 64 port of the seminal space-trading-combat sim Elite, made possible by a full disassembly.

State Of The Project

The game is disassembled but documentation is on-going.
Some improvements have been implemented, see below. Help is needed in these areas:

  • Understanding / commenting the 3D math code
  • Commenting SID code (I know literally nothing of audio theory)
  • See also the list of "Help Wanted" issues

Improvements Implemented

  • Multiplication routine upgraded to a faster version: I was able to free up 2 KB and insert some multiplication look-up tables which gives a general speed-up for 3D math

  • Faster line-drawing code, provided by dyme

  • The code was unnecessarily storing and copying the blank space either side of the HUD, where the C64's screen is 320px wide rather than 256px on the BBC, on every frame; and with an inefficient copy routine. Needless to say, in Elite : Harmless the blank space is neither stored nor copied and the copy method is much faster

Planned Improvements

Getting Elite : Harmless

Due to legal concerns, Elite : Harmless binaries (i.e. disk images) are not made available, you will have to build the source code yourself using the instructions provided in INSTALL.md.

Acknowledgements

This work was made possible by various resources available on the web, for which I would like to give thanks to the people involved and for the love and effort they've poured into their work:

  • Both Dyme and nc513 (Lemon64 forums) have contributed solid technical understanding and code to the project

  • Ian Bell's Elite Archives for providing the original BBC Tape source code, as well as numerous resources for all classic Elite fans

  • Gregory Naçu's blog post The 6510 Processor Port for the neat memory map optimisation and general C64 internals knowledge
  • Pixcen, a C64 image editor by Hammarberg/CensorDesign(?)

Legal

"Elite" is copyright David Braben & Ian Bell, Acornsoft (BBC / Electron versions), Firebird / British Telecom (C64 version), 1984-1985, all rights reserved. The name "Elite" is used in this project for historical, educational and archival purposes only.

To protect the legal interests involved, "Elite : Harmless" is made available under a Creative Commons Attribution, Non-Commercial, Share-Alike Licence.

About

Disassembly (CA65) of the Commodore 64 port of the seminal space-sim Elite, by Ian Bell / David Braben.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Assembly 74.6%
  • C 23.1%
  • Yacc 0.8%
  • Shell 0.7%
  • Makefile 0.5%
  • Python 0.2%
  • C++ 0.1%