Retrospecs

A PIXEL ART IMAGE PROCESSING APP FOR iOS

About

Retrospecs lets you convert images and videos so they appear as they would on a variety of home computers and consoles from the 70's, 80's and 90's. It's part image filter app, part tribute to the sort of computers I lusted after whilst pouring over copies of Byte magazine as a lad.

Retrospecs is available for iOS (it supports iPhones, iPods and iPads) and version 2 requires iOS 9 or above. (The 1.36 release will work on older devices, although it doesn't support image animations or video processing.)

View in the App Store

For a full list of the current computer and console presets, see the updates section.

Atari 2600 joystick

Tips and tricks

Whilst experimentation is often the key to getting the best results, here's some tips and tricks to help you get the most out of Retrospecs…

  • Different systems generally favour different dither styles. For example, a lot of ZX Spectrum images work best with Floyd-Steinberg dithering, whereas systems with a larger set of available colours tend to work best with Bayer 8x8.
  • Adding noise (via the “Noise” slider under the Options tab in the converter) tends to help the character emulations produce good results.
  • You can create a custom emulation based on an existing emulation by holding down two fingers on the preview in the converter.
  • If you're using a "random" based Option in the converter (noise, corruption, etc.) you can double tap the preview image to change the random seed.
  • If you're using an iPad that supports split-screen mode, you can drag media directly into the home view and converter.

Updates

13th June 2018

To coincide with Retrospecs' 4th birthday, the version 2.4 update is now available in the App Store.

New bits…

  • Added "ENDESGA / ARQ16", "AAP Micro12", "Castpixel 16 (PV8)", "FZT Ethereal 16", "JB4", "Haretro8", "Pear36", "Juice32", "Vine's Flexible Linear Ramps", "Zughy 32" & "Lux2K" palettes.
  • Added "DEC VT220", "Olivetti PC1", "Dither", "Sabine", "Antipodean Tale" & "Headspace" character sets.
  • Improved character conversion engine accuracy.

Bug fixins…

  • Fixed "slider creep" issue in the custom emulation editor.

The main version 2.0 update information follows…

     

After 35 updates to the v1.x series, version 2.0 of Retrospecs is now available in the App Store!

New bits…

  • You can now process videos! (As long as you're not in a hurry.)
  • You can also create basic animations from still images.
  • Added lots of new custom palettes, a new "Filament" custom font and additional dither modes.
  • Added levels tool with preview. (Tap to cycle the preview "window".)
  • Separated image and attribute table corruption options.
  • Attribute and character engines now make use of multiple processor cores. (You can disable this via the "Conserve battery power" setting.)
  • Added Reduce Motion support.
  • Updated icon.

Bug fixins…

  • Disabled double tap re-processing in the converter when the randomiser isn't in use.
  • Fixed bug in ZX Spectrum duotone mode which allowed white and bright white to coexist within a single attribute cell.

If you want to see any future updates to Retrospecs, please share your creations and help spread the word!

System Presets

The current system presets as of release 2.2 are:

  • Teletext
  • Apple ][ (Low res)
  • Atari 2600 (NTSC, PAL & SECAM)
  • Commodore PET (PETSCII)
  • Intellivision
  • NEC PC-8001
  • Atari 400/800 (CTIA & GTIA modes with NTSC & PAL palettes and two ATASCII options)
  • ZX80/81
  • IBM DOS/ANSI
  • IBM CGA (6 variations)
  • BBC Micro (Modes 0, 1 & 2)
  • Sinclair ZX Spectrum (normal, "dim only", "bright only" and duotone modes all with native .SCR and .TAP file export)
  • Commodore 64 (Low res, high res & CBMSCII modes with two palette options)
  • Colecovision
  • Dragon 32 (PMODE3 in green and buff)
  • Thomson TO7
  • Fujitsu FM-7
  • Camputers Lynx
  • Mattel Aquarius
  • MSX (Screen mode 2 and (for comedy value) 3)
  • NEC PC-6001 mkII
  • Timex Sinclair 2068 (6 modes)
  • Sinclair QL (Low res & high res modes)
  • Apple Macintosh (Original B&W 1984 model and two Mac OS 4.2 colour modes)
  • Thomson MO5
  • Amstrad CPC (Modes 0, 1 & 2 in both colour & green screen versions)
  • Tatung Einstein
  • Commodore C16/+4 (Low res, high res & CBMSCII modes)
  • IBM EGA (Standard and "CGA Colours" mode)
  • Enterprise 64/128 (4 modes)
  • Commodore Amiga (OCS & NTSC - 320x256/200 in 32 colours and 640x256/200 in 16 colours)
  • Atari ST (320x200 in 16 colours and 640x200 in 4 colours)
  • Sega Master System
  • MSX 2 (Modes 4, 5, 6, 7 & 8)
  • NEC PC-88VA
  • Acorn Archimedes (11 modes)
  • IBM VGA (Mode 13h and two Microsoft Windows palette modes)
  • Sega Mega Drive
  • Nintendo Game Boy (four variations)
  • Atari Lynx (16 colour standard and per-scanline modes)
  • SAM Coupé (Modes 3 & 4)
  • Amstrad 464/6128 plus (Modes 0, 1 & 2)
  • Sega Game Gear
  • Super Nintendo Entertainment System
  • Nintendo Virtual Boy
  • Tiger Electronics Game.com
  • Nintendo Game Boy Color (32 colour mode and 12 Type 1 palette modes)
  • Pebble Smart Watch (2 modes)
  • Spectrum Next (5 modes)

Dither modes:

  • Floyd-Steinberg
  • Atkinson
  • Stucki
  • Jarvis
  • Sierra (Standard and 2 row)
  • Checkerboard
  • Bayer 2x2
  • Bayer 4x4
  • Bayer 8x8
  • Bayer 8x8 (Adaptive)
  • Horizontal (normal and hard)
  • Vertical (normal and hard)
  • Diagonal
  • Halftone Angled 6x6
  • Halftone Angled 8x8
  • Halftone Orthogonal 6x6
  • Halftone Orthogonal 8x8

Custom emulations

To create a shiny new custom emulation, either hold two fingers down on the preview image in the converter (which should create a *roughly* equivalent custom emulation for you to begin customising) or select the "Custom" system and then tap "Create new emulation" under the mode tab.

The current custom emulation options as of release 2.2 are:

Bit depth palettes:

  • 1-bit (B&W)
  • 1-bit (Amber)
  • 1-bit (Green)
  • 1-bit (Atari Blues)
  • 1-bit (White on Blue)
  • 1-bit (Yellow on Blue)
  • 3-bit
  • 6-bit
  • 8-bit
  • 8-bit (Truecolor - RRRGGGBB)
  • 9-bit
  • 12-bit
  • 15-bit
  • 18-bit
  • 24-bit

System palettes:

  • Amstrad CPC
  • Amstrad CPC (Green screen)
  • Apple ][
  • Apple Macintosh (System 4.1)
  • Atari 2600 NTSC
  • Atari 2600 PAL
  • Atari 2600 SECAM
  • Atari GTIA NTSC
  • Atari GTIA PAL
  • Commodore 64
  • Commodore 64 (Pepto)
  • Commodore C16/+4
  • Commodore VIC-20
  • CGA Palette 0 Low
  • CGA Palette 0 High
  • CGA Palette 1 Low
  • CGA Palette 1 High
  • CGA Mode 5 Low
  • CGA Mode 5 High
  • Colecovision
  • Dragon 32 (Green)
  • Dragon 32 (Buff)
  • Enterprise
  • EGA (CGA Colours)
  • Intellivision
  • LCD (Green)
  • LCD (Grayscale)
  • LCD (Simulated)
  • LCD (Pure white)
  • LCD (Yellow)
  • Mattel Aquarius
  • MSX
  • Nintendo Entertainment System
  • Nintendo Gameboy
  • Nintendo Gameboy (Daylight)
  • Nintendo Gameboy (Pocket)
  • Nintendo Gameboy (Printer)
  • Nintendo Gameboy Color T1 Blue
  • Nintendo Gameboy Color T1 Blue (Remapped)
  • Nintendo Gameboy Color T1 Brown
  • Nintendo Gameboy Color T1 Brown (Remapped)
  • Nintendo Gameboy Color T1 Dark Blue
  • Nintendo Gameboy Color T1 Dark Blue (Remapped)
  • Nintendo Gameboy Color T1 Dark Brown
  • Nintendo Gameboy Color T1 Dark Brown (Remapped)
  • Nintendo Gameboy Color T1 Dark Green
  • Nintendo Gameboy Color T1 Dark Green (Remapped)
  • Nintendo Gameboy Color T1 Gray
  • Nintendo Gameboy Color T1 Gray (Remapped)
  • Nintendo Gameboy Color T1 Green
  • Nintendo Gameboy Color T1 Green (Remapped)
  • Nintendo Gameboy Color T1 Orange
  • Nintendo Gameboy Color T1 Orange (Remapped)
  • Nintendo Gameboy Color T1 Pastel
  • Nintendo Gameboy Color T1 Pastel (Remapped)
  • Nintendo Gameboy Color T1 Red
  • Nintendo Gameboy Color T1 Red (Remapped)
  • Nintendo Gameboy Color T1 Reverse
  • Nintendo Gameboy Color T1 Reverse (Remapped)
  • Nintendo Gameboy Color T1 Yellow
  • Nintendo Gameboy Color T1 Yellow (Remapped)
  • Nintendo Virtual Boy
  • Pebble Smart Watch (Colour)
  • Pico8
  • Sam Coupé
  • Sinclair QL (Low-res)
  • Sinclair QL (High-res)
  • Sinclair ZX Spectrum
  • Sinclair ZX Spectrum (Dim only)
  • Sinclair ZX Spectrum (Bright only)
  • RISC OS
  • Thomson MO5
  • Thomson TO5
  • Voxatron
  • Windows (16 Colour)
  • Windows (20 Colour)

Custom palettes:

  • AAP Micro12
  • AAP SimpleJPC-16
  • AAP Splendor128
  • AAP-16
  • AAP-64
  • ABS (Solid)
  • Alien tones
  • Almost mono
  • Amber
  • Arne 16
  • Arne 4
  • Arne 64
  • Arne CGArne
  • Arne Eroge Copper
  • Arne Famicube
  • Arne Generic 8 Color
  • Arne ZXArne
  • Backlink
  • Cargo tuner
  • Castpixel 16 (PV8)
  • CMYK
  • Comical
  • Crown protector
  • Dawnbringer 16
  • Dawnbringer 32
  • Dawnbringer 8
  • Dawnbringer ISO22
  • Desert
  • Doomed
  • Edwardian
  • Ella
  • ENDESGA / ARQ16
  • ENDESGA / ARQ4
  • ENDESGA / EDG16
  • ENDESGA / EDG32
  • ENDESGA / EDG36X
  • ENDESGA / EDG64
  • ENDESGA / EDG8
  • ENDESGA / EN4
  • ENDESGA / ENOS16
  • ENDESGA / SOFT 16
  • Engineer
  • Fantasy 24
  • Fastball
  • Fasterball
  • Fleja Master Palette
  • Flooded
  • FZT Ethereal 16
  • Gameboy (Alternate)
  • Generator
  • Grafxkid Arcade Standard 29
  • Grafxkid GB Chocolate
  • Grafxkid GB Grapefruit
  • Grafxkid Generic 15
  • Grafxkid Linear Color Palette Basic
  • Grafxkid Nature's Embrace 55
  • Grafxkid Oil 6
  • Grafxkid Sweetie 16
  • Haretro8
  • HeroHoop
  • Hopeless
  • Ice Cream GB
  • Inversion
  • Island Joy 16
  • JB4
  • Jolly Xanthic Quartet
  • Juice32
  • Lux2K
  • Matriax8c
  • Mega Ran - Church
  • Megablast
  • Miami
  • Miami horizon
  • Mist GB
  • Morlock's Quest
  • Mr Bumpkins
  • Neon
  • Nuked
  • Nurnie greebles
  • Nymph GB
  • Odyssey
  • Peachy Pop 16
  • Pear36
  • Pocket magic
  • Purple exxess
  • Quaked
  • Rewind
  • Robotronic
  • Rustic GB
  • Seaslide
  • Slow metal
  • Vine's Flexible Linear Ramps
  • Wish GB
  • Vine's Flexible Linear Ramps
  • Zughy 32

System character sets:

  • Amiga Workbench 1.3
  • Amiga Workbench 2
  • Amstrad CPC
  • Amstrad CPC (partial)
  • Apple ][
  • Atari 400/800 - ATASCII
  • Atari 400/800 - ATASCII (with inverse)
  • BBC Microcomputer
  • C64 - CBMSCII
  • C64 - CBMSCII (unshifted with inverse)
  • PET - PETSCII
  • PET - PETSCII (partial)
  • IBM DOS (BIOS 8x8)
  • Mattel Aquarius
  • Mattel Intellivision
  • MSX
  • Sega SC-300 (Europe)
  • Sega SC-300 (Japan)
  • Sharp MZ
  • Sharp MZ700sc
  • Sinclair ZX80/81
  • Sinclair ZX80/81 (partial)
  • Tatung Einstein
  • TRS-80 Model 100

Custom character sets:

  • Arcadian
  • Bars (Horizontal)
  • Bars (Horizontal, filled)
  • Bars (Vertical)
  • Bars (Vertical, filled)
  • Binary
  • Blocks
  • Arrowhead
  • Creature Bag
  • Filament
  • GeometriCam?
  • Glitch
  • Grafx
  • Marvellous Road Combatant
  • Marvellous Road Combatant II
  • Military
  • Necromancy
  • Ode to BIll
  • Takes Ages
  • Totality
  • Triangulation

Once apon a time

The idea for Retrospecs had been kicking about in my mind for a few years – the concept being part preservation/part tribute to the sort of computer systems I lusted after whilst pouring over handed down copies of Byte magazine as a lad. However, I didn't get around to implementing anything concrete until early February '14 when I roughed out some vague proof of concept algorithms.

At the time I was re-skilling between jobs (the goal being to transition between web and native app development), so I abandoned the other bits I was experimenting with and started focusing full time on the app proper. After several weeks intensive graft, the first conversion engine (the "attribute" engine, created specifically with the Sinclair ZX Spectrum in mind) was limping along natively on my trusty iPhone 4.

Early demo version of Retrospecs

Fast forwarding a bit, over the following three months I threw myself into expanding the available conversion engines, added a basic user interface and by Saturday the 7th of June 2014 I'd finally submitted the first build to the Apple App Store.

Shortly after that, I was back in full time work and so Retrospecs became a strictly weekend affair - adding new engines and emulations and building out the UI until it was roughly how I initially envisaged it. (Apart from a layer of output filters including phosphor and raster effects - they're still to come. Oh, and video. And all that other stuff lurking on the to-do.)

Fast forward three and a half years (and thirty-five updates to the 1.x app) and work began on version 2 - the focus being to provide support for video processing. (Although being realistic, this was only going to be feasible on more modern devices.) After a few months working on the app, the initial release of the 2.x series was on the 13th of March, 2018.

On top of that, I've also spent many snatched hours of an evening completely failing to attract much of a following for the app, usually by failing to convince people to accept a promo code on Twitter. (Sorry about that.)

As I recently phrased it:

"I think my attempts at marketing are, on a good day, perhaps best described as the distraught thrashings of a drowning man."

Contact

The best way to get in touch for quick queries is via Twitter, but if you'd prefer something less transient by all means send an email to:

support@8bitartwork.co.uk