Credits
Racing the ULA: How Programmers Broke the ZX Spectrum's Rules
The film's page has its chapters, every source, the code and the full transcript: Racing the ULA: How Programmers Broke the ZX Spectrum's Rules.
Sources and credits for the film. Every fact in the narration is tied to a quotation from a captured source; every image, clip and piece of music is listed with its licence and where it came from. Archive images and footage are public domain, openly licensed or used for commentary, criticism and historical analysis. Maps, charts and diagrams were made for this film from the cited sources.
Images and footage (21)
- The demo 70908 (Forever 2019, 1st in the ZX demo competition), named after the 128K's frame length in T-states: its title, a red picture with lines into the border, multicolour plasma inside detailed artwork
70908 (Scoopex, 2019): Mr Spiv, Lordcoxis, LaesQ and others. Fair dealing (criticism, review, quotation): 70908 (Scoopex, 2019): Mr Spiv, Lordcoxis, LaesQ and others; recorded by Retro Computer TV. - The demo In Color (Revision 2023, 1st in the oldskool demo competition): colour bars, the COLOR logo in a different colour on every line, chevron plasmas across 28 of the screen's 32 columns (up to 622 cells finer than 8x8, the colour changing every line: experiments/cells.py), multicolour dots; the border never drawn in
In Color (Darklite and Offence, 2023): PAL, Neon, Response. Fair dealing (criticism, review, quotation): In Color (Darklite and Offence, 2023): PAL, Neon, Response; recorded by Retro Computer TV. - The demo In Color (Revision 2023, 1st in the oldskool demo competition), our recording demo-in-color shown at three times the Spectrum's pixels in place of four, its black border around it: colour bars, the COLOR logo, the chevron plasmas, multicolour dots
In Color (Darklite and Offence, 2023): PAL, Neon, Response. Fair dealing (criticism, review, quotation): In Color (Darklite and Offence, 2023): PAL, Neon, Response; recorded by Retro Computer TV. - The demo pack Ahh.. the tape loading era!: intros made to look like tape loaders, border stripes as artwork and loading screens building
Ahh.. the tape loading era! (ate bit: evilpaul, 4mat, 2009). Fair dealing (criticism, review, quotation): Ahh.. the tape loading era! (ate bit: evilpaul, 4mat, 2009); recorded by Retro Computer TV. - Our own multicolour band, 16 columns wide, in character row 8 of a 48K Spectrum: the routine rewrites the row's colours once per pixel line, and every one of the 8 lines holds its own colour across the band
Retro Computer TV. Own work. - Our own multicolour band, 17 columns wide, in character row 8 of a 48K Spectrum: the routine rewrites the row's colours once per pixel line, one column past what it can keep up with: the right-hand end breaks into steps, cells keeping the previous line's colour, growing line by line
Retro Computer TV. Own work. - The Rainbow Processor from Your Sinclair's August 1987 type-in running: RAINBOW PROCESSOR, By Dominic Robinson, over animated bars with a different colour on every pixel line, twenty characters wide, around a drawn target
Star Tip 1: the Rainbow Processor (Dominic Robinson, Your Sinclair #20, August 1987). Fair dealing (criticism, review, quotation): Star Tip 1: the Rainbow Processor (Dominic Robinson, Your Sinclair #20, August 1987); recorded by Retro Computer TV. - A ZX Spectrum 48K (the original rubber-key model, ZX Spectrum on the case, the rainbow stripe at the right) photographed on white
Bill Bertram / Wikimedia Commons / CC BY-SA 2.5. CC BY-SA 2.5. Source - A Sinclair ZX Spectrum +3 (Amstrad's 128K model with a built-in 3-inch disc drive: ZX Spectrum +3 and 128K on the case) photographed on white
Frode Tennebø / Wikimedia Commons / public domain. Source - In Color's lettering with one 8 x 8 cell magnified; Cobra running on a 48K beside the same game frozen on a +3; the ULA's fetches against the processor's writes; our probe on both machines
In Color (Darklite and Offence, 2023); Cobra (Ocean Software, 1986) by Jonathan "Joffa" Smith. Fair dealing (criticism, review, quotation): In Color (Darklite and Offence, 2023); Cobra (Ocean Software, 1986) by Jonathan "Joffa" Smith; recorded by Retro Computer TV. - The race between a write and the ULA's read; the beam drawing lines; one 48K line of 224 T-states; frames of 69,888 and 70,908 T-states between interrupts
Retro Computer TV. Own work. - The border colour register against a raster; out ($fe),a and its bits; our stripes program at screen timing and one T-state later, the edge one 8-pixel step apart
Retro Computer TV. Own work. - Our floating-bus probe on a 48K and a +3; one cell's attribute; the data bus when nothing answers port $00FF; the reads, 9 in the band and $FF elsewhere
Retro Computer TV. Own work. - Cobra on a 48K and a +3; its routine at $95FE from Paul Hughes's documented source; the reads it compares; the +3 reading $FF every time
Cobra (Ocean Software, 1986) by Jonathan "Joffa" Smith. Fair dealing (criticism, review, quotation): Cobra (Ocean Software, 1986) by Jonathan "Joffa" Smith; recorded by Retro Computer TV. - The 48K's resistors and the +3's buffers; the timeline to the Hit Squad release; both routines at $95FE; the Hit Squad release on a +3; the ports Moore names
Cobra (The Hit Squad re-release, 1989; Ocean Software, 1986) by Jonathan "Joffa" Smith. Fair dealing (criticism, review, quotation): Cobra (The Hit Squad re-release, 1989; Ocean Software, 1986) by Jonathan "Joffa" Smith; recorded by Retro Computer TV. - Our multicolour band programs: one column, then 4, 8, 12, 16 and 17; the ULA fetching a cell's attribute each line; LD (HL),A and INC L
Retro Computer TV. Own work. - The 48K schedule in T-states: the ULA's fetches every 4, our writes held to every 16, the line's deadline of 224; 17 columns missing it
Retro Computer TV. Own work. - Dominic Robinson's Rainbow Processor running and its Your Sinclair page; Uridium's title; the stack and PUSH BC filling 20 cells
Star Tip 1: the Rainbow Processor (Dominic Robinson, Your Sinclair #20, August 1987); Uridium (Hewson Consultants, 1986). Fair dealing (criticism, review, quotation): Star Tip 1: the Rainbow Processor (Dominic Robinson, Your Sinclair #20, August 1987); Uridium (Hewson Consultants, 1986); recorded by Retro Computer TV. - DreamWalker's engine credit and Yazzie's multicolour against our 8 x 8 conversion; BIFROST* and NIRVANA+ cells; 48K and 128K line schedules; frame budgets
DreamWalker: Alter Ego 2 (RetroSouls, 2014); Yazzie (RetroSouls, 2019). Fair dealing (criticism, review, quotation): DreamWalker: Alter Ego 2 (RetroSouls, 2014); Yazzie (RetroSouls, 2019); recorded by Retro Computer TV. - In Color beside our 8 x 8 conversion of the same frame; the 128K frame of 70,908 T-states; 70908 running
In Color (Darklite and Offence, 2023); 70908 (Scoopex, 2019). Fair dealing (criticism, review, quotation): In Color (Darklite and Offence, 2023); 70908 (Scoopex, 2019); recorded by Retro Computer TV. - Your Sinclair issue 20 (August 1987), page 55, Programming: STAR TIP 1 by Dominic Robinson, with his photograph: Hewson's rainbow lettering, Rainbow Effects Processor used in Zynaps and Uridium on the title and hi-score screens, a different colour on each pixel line in a band twenty characters wide, Interrupt Mode 2, 'can only really be used for title screens and special effects', the hex dump and demo program; below it, Star Tip 2 by Tim Follin
Your Sinclair 20 (Dennis Publishing, August 1987). Fair dealing (criticism, review, quotation): Your Sinclair 20 (Dennis Publishing, August 1987); recorded by Retro Computer TV. Source
Music (10)
- "Beside Me" by Patrick Patrikios (YouTube Audio Library). YouTube Audio Library. Source
- "Between The Spaces" by The Soundlings (YouTube Audio Library). YouTube Audio Library. Source
- "Denied Access" by Density & Time (YouTube Audio Library). YouTube Audio Library. Source
- "Galactic Bass" by John Patitucci (YouTube Audio Library). YouTube Audio Library. Source
- "To Have to in Least Water" by pATCHES (YouTube Audio Library). YouTube Audio Library. Source
- "Lifelong" by Anno Domini Beats (YouTube Audio Library). YouTube Audio Library. Source
- "Loading Screen" by Dyalla (YouTube Audio Library). YouTube Audio Library. Source
- "Peaceful Mind" by Astron (YouTube Audio Library). YouTube Audio Library. Source
- "Run Letting" by pATCHES (YouTube Audio Library). YouTube Audio Library. Source
- "Sun Awakening" by Futuremono (YouTube Audio Library). YouTube Audio Library. Source
Sources (33)
- Racing the ULA: our findings (Retro Computer TV research record)
- The Definitive Programmer’s Guide to Using the Floating Bus Trick on the ZX Spectrum
- 48K ZX Spectrum Technical Information
- ZX Spectrum (Wikipedia)
- StarTip1.txt (spectrumcomputing.co.uk, PDF)
- BIFROSTENGINEV1.2.txt (spectrumcomputing.co.uk, PDF)
- Spectrum timing information
- Cobra (Spectrum Computing)
- Racing the ULA: our findings, revision 7 (Retro Computer TV research record)
- 128K ZX Spectrum Technical Information
- Racing the ULA: our findings, revision 5 (Retro Computer TV research record)
- Racing the ULA: our findings, revision 3 (Retro Computer TV research record)
- NIRVANA+ENGINE.txt (spectrumcomputing.co.uk, PDF)
- Racing the ULA: our findings, revision 4 (Retro Computer TV research record)
- Z80 Opcode Table
- Performing the IN FF mod on a Spectrum +2A / +3 (Spectrum for Everyone)
- NIRVANAENGINE.txt (spectrumcomputing.co.uk, PDF)
- GitHub - Paulie68000/ZXSpectrumCobra: Full reverse engineered source code of Jonathan "Joffa" Smith's Cobra
- BIFROST2ENGINE.txt (spectrumcomputing.co.uk, PDF)
- Racing the ULA: our findings, revision 2 (Retro Computer TV research record)
- In Color by Darklite & Offence (pouët.net)
- Cobra (video game) (Wikipedia)
- Star Tip 1 (Spectrum Computing)
- Jonathan Smith (games programmer) (Wikipedia)
- Uridium (Wikipedia)
- 70908 by Scoopex (pouët.net)
- 70908 (Spectrum Computing)
- Zilog Z80A Technical Information
- Racing the ULA: our findings, revision 6 (Retro Computer TV research record)
- Dominic Robinson (Wikipedia)
- Zynaps (Wikipedia)
- Call stack (Wikipedia)
- NIRVANA ENGINE (Spectrum Computing)