This site contains over 45 deep dive articles that explain how Revs weaves its magic. If you want to learn how Revs works under the hood, then this is the place for you.
See the quick start guide for some recommended starting points, or check out the following index of all the deep dive articles and jump straight in. The articles are presented in an order that makes sense for those wanting to unravel the inner workings of Revs, so if you're wondering where to start, I recommend simply working your way down the list.
Memory maps
-----------
- The Revs memory map - Memory usage is really tight in BBC Micro Revs
- The jigsaw puzzle binary - Exploring the mind-bending way that Revs is packed into memory
- Major variable blocks - A summary of the major variable blocks in Revs, of which there are quite a few
Main loop
---------
- Program flow of the main game loop - The sequence of events in the main game loop
- Scheduling tasks in the main loop - How Revs does the right thing at the right time
Graphics
--------
- Hidden secrets of the custom screen mode - Revs has a custom screen mode that conceals working code in a lush blue sky
- Drawing the track view - How Revs uses its screen buffer to produce smooth and speedy graphics
- Drawing around the dashboard - Revs is literally sculpted in the shape of a Formula 3 racing car; here's why
3D geometry
----------
- Pitch and yaw angles - Pitch and yaw angles are fundamental to the way Revs stores object positions
- Placing cars on the track - Pinpointing the positions of cars on the track by progress and racing line
- Trigonometry - A look at the various ways in which Revs implements trigonometry
3D objects
----------
- Object definitions - Details of the 13 objects that make up the signs, flags, markers and cars
- Drawing a 3D car from 2D parts - Using a paper-cut shadow-box effect to conjure 3D cars from 2D objects
- Scaling objects with scaffolds - Scaling the vector-based objects in Revs using scaffolds
- Creating objects from edges - How Revs draws on-screen objects using nothing but vertical edges
The track
---------
- The track data file format - Every byte in the Revs track data file, explained
- Building a 3D track from sections and segments - How Revs constructs such a detailed simulation of the track
- The track verges - How Revs calculates track verges in the track section and track segment lists
- Road signs - Each track supports up to 16 road signs, from starting flags to chicanes
- Corner markers - What the little markers by the trackside tell us about driving around corners
- Data structures for the track calculations - Details of the buffers and lists where the track calculations are stored
- Drawing the track verges - How Revs calculates track verges in the track section and track segment lists
The extra tracks
----------------
- Secrets of the extra tracks - How the extra track files modify the main game code using code hooks
- Code hooks in the extra tracks - Documentation on every modification and code hook in the extra tracks
- Dynamic track generation in the extra tracks - How Revs squeezes complex track layouts into extremely small data files
- The extra tracks data file format - Differences between the standard Silverstone track and the extra track files
- Backporting the Nürburgring track - Porting the Nürburgring track from the Commodore 64 to the BBC Micro
Track maps and statistics
-------------------------
- Comparing the tracks - How the six different tracks in Revs compare to each other
- The Brands Hatch track - One of the four extra tracks in the Revs 4 Tracks expansion
- The Donington Park track - One of the four extra tracks in the Revs 4 Tracks expansion
- The Nürburgring track - The last track to be released, as part of the Commodore 64 version of Revs+
- The Oulton Park track - One of the four extra tracks in the Revs 4 Tracks expansion
- The Silverstone track - The original track that came with the first release of Revs
- The Snetterton track - One of the four extra tracks in the Revs 4 Tracks expansion
The driving model
-----------------
- An overview of the driving model - Secrets of the sophisticated driving simulation that powers Revs
- The core driving model - The maths and physics behind the main part of the driving model
- Driving on grass - What happens when you spill off the track into the lush green grass
- Skidding - The calculations behind losing grip and squealing tyres
- Jumps and drops - Jumping over the verge and dropping down from the retrieval crane
- Modelling the engine - The maths behind engine torque, gear ratios and power transmission
- Matching the code to the driving model - Tracking down the driving model features that are mentioned in the manual
Driver tactics
--------------
- Tactics of the non-player drivers - How the computer-controlled drivers deal with corners, crashes and competitors
- Computer assisted steering (CAS) - The algorithm behind the steering assistant in the Superior Software release
The dashboard
-------------
- Wing mirrors - How Revs shows what's behind you, with a dash of shudder from the engines
- Starting lights - All about the starting lights schedule, and how they use the screen buffer
Miscellaneous
-------------
- Text tokens - How the game text in Revs is tokenised to save space
- The engine sounds - Creating a realistic three-tone engine sound
- Random numbers - How Revs generates random numbers