is used to store the raw programming data for various animatronic shows. Different stage types are denoted by the file extension used, but the file format otherwise remains the same for each type.
Each file represented a segment of a showtape, rather than the entirety of the showtape's runtime. Segments were never programmed for intermissions, and their file names were usually numbered, with accordance to actual segments with performances in the tape.
APS files are rather minimal and contain a length value, segment name, and control data. Data is stored at 29.97 FPS and each frame contains the state of all bits, so playback can be seeked to any arbitrary location without needing to process any preceding data.
Note that APS files do not contain the required information to sync with audio. It is unknown exactly how this was handled by the original programming software, but it is likely that the frame number within each show is determined based on the timecode value from the tape used in the editing system.
Frames are made up of 32 bytes, storing 256 channels of control data. A bit value of 1 indicates the particular bit is active. Any bits unused by the show controller are left as value 0. Show bits are stored with the least significant bit first, and the following table explains the arrangement for a few example bits:
Show types using multiple 'drawers' are stored with the second drawer's data starting at show bit 129. Of course, the exact mapping of bit to movement depends on the show type.
Frames are stored in 0x400-byte chunks, beginning at offset 0x200 in the file. While it would be possible to fit 32 frames total in each chunk, the last two frames in each chunk are left unused, so each chunk actually contains only 30 frames. It is assumed that this was done to allow easier seeking in the file, since each chunk containing one second worth of data is convenient, but it is also possible that this area was intended to be used for future expansion. None of the files examined so far appear to use it for that purpose, however.
For 3-Stage APS files, all data bytes past the 0x200 header space must be re-ordered for correct playback. This is due to an idiosyncrasy of the original Rock-afire control system, pertaining to the mapping of bits on the tape to original Pianocorder functions.
Every 16 bytes must be rearranged into this order (0-indexed)
10, 11, 0, 1, 2, 3, 4, 12, 13, 5, 6, 7, 8, 9, 14, 15
The file header starts at offset 0 and is not completely understood, but is easily human-readable in a hex editor for file identification purposes. It appears to be entirely plaintext. The exact size is also unknown, but definitely not larger than 0x200 bytes.
All gaps in the header should be filled with 0. It is reasonable to assume that strings are intended to be read as null-terminated with a maximum length determined by the location of the next string.
APS files for showtapes exist for all shows starting sometime in 1990, all the way to present day. This list narrows the shows provided to just the ones that have their APS files public.
Show Type |
APS Show |
Showtape / Live Show |
Earliest File Date |
Latest File Date |
Format |
3-Stage |
CEC September '90 3-Stage APS |
CEC September 1990 Show |
October 10, 1990, 8:43:02 AM |
October 10, 1990, 9:33:00 AM |
.sho |
Cyberamics |
CEC Christmas '90 Road Stage APS |
CEC Christmas '90 Wave Bday |
October 26, 1990, 9:57:28 AM |
October 27, 1990, 2:09:08 PM |
.roa |
Cyberamics |
CEC Jan '91 C-Stage APS |
CEC Jan '91 |
October 26, 1990, 4:23:30 PM |
November 14, 1990, 12:35:12 PM |
.sho |
Cyberamics |
CEC Birthday Wave Road Stage APS |
--- |
October 28, 1990, 9:35:34 AM |
--- |
.roa |
Cyberamics |
CEC Jan '91 Road Stage APS |
CEC Jan '91 |
October 31, 1990, 3:08:24 PM |
November 4, 1990, 3:23:34 PM |
.roa |
3-Stage |
CEC Jan '91 3-Stage APS |
CEC Jan '91 |
December 5, 1990, 3:38:16 PM |
December 6, 1990, 9:21:14 AM |
.sho |
Cyberamics |
Chuck E. Cheese's Live '90 Road Stage APS |
Chuck E Cheese's Live 90 |
December 6, 1990, 4:23:34 PM |
--- |
.roa |
3-Stage |
Chuck E. Cheese's Live '90 3-Stage APS |
Chuck E Cheese's Live 90 |
December 12, 1990, 4:06:06 PM |
March 21, 1991, 11:35:42 AM |
.sho, .3st |
Cyberamics |
Random Movements APS |
--- |
December 16, 1990, 10:43:28 AM |
December 16, 1990, 11:25:00 AM |
.mvt |
Cyberamics |
CEC Future C&R APS |
CEC Future |
January 10, 1991, 9:46:14 AM |
January 21, 1991, 9:36:14 AM |
.c&r |
Cyberamics |
CEC Future Road Stage APS |
CEC Future |
January 14, 1991, 11:55:36 AM |
January 21, 1991, 9:25:46 AM |
.roa |
3-Stage |
CEC Future 3-Stage APS |
CEC Future |
February 7, 1991, 9:04:18 AM |
February 7, 1991, 9:52:42 AM |
.3st |
Cabaret |
Beach Bowsers '91 I APS |
Beach Bowzers '91 I |
March 1, 1991, 6:23:54 PM |
March 11, 1991, 9:30:26 AM |
.bzr |
Cyberamics |
Birthday Star '91 C&R APS |
Birthday Star '91 |
March 13, 1991, 8:36 AM |
March 22, 1991, 5:17:22 PM |
.c&r |
Cyberamics |
Birthday Star '91 Road Stage APS |
Birthday Star '91 |
March 13, 1991, 11:07:18 AM |
March 20, 1991, 4:39:42 PM |
.roa |
Cyberamics |
CEC American Pride Road Stage APS |
CEC American Pride |
April 10, 1991, 1:55:38 PM |
April 10, 1991, 2:02:28 PM |
.roa |
Cyberamics |
CEC American Pride C&R APS |
CEC American Pride |
April 10, 1991, 4:26:06 PM |
April 11, 1991, 3:56:34 PM |
.c&r |
3-Stage |
CEC American Pride 3-Stage APS |
CEC American Pride |
April 17, 1991, 6:43:20 PM |
April 29, 1991, 11:55:46 AM |
.3st |
Cyberamics |
CEC TV Classics '91 Road Stage APS |
CEC TV Classics '91 |
May 21, 1991, 12:57:42 PM |
May 22, 1991 11:41:56 AM |
.roa |
Cyberamics |
CEC Games Road Stage APS |
CEC Games |
May 30, 1991 2:11:44 PM |
June 9, 1991, 11:59:44 AM |
.roa |
Cyberamics |
CEC Games C&R APS |
CEC Games |
June 9, 1991, 6:05:36 PM |
June 9, 1991, 6:51:28 PM |
.c&r |
3-Stage |
CEC Games 3-Stage APS |
CEC Games |
June 17, 1991, 5:04:40 PM |
July 3, 1991, 1:50:36PM |
.3st |
??? |
TV Intro HLF APS |
--- |
June 23, 1991, 12:03:02 PM |
--- |
.hlf |
3-Stage |
September '91 3-Stage APS |
CEC September 1991 Show |
June 23, 1991, 5:07:14 PM |
September 10, 1991, 2:06:04 PM |
.3st |
3-Stage |
TV Intro 3-Stage APS |
--- |
June 24, 1991, 3:34:22 PM |
--- |
.3st |
Cyberamics |
CEC Xmas '91 C&R APS |
CEC Xmas 1991 Show |
August 10, 1991, 11:26:16 AM |
August 14, 1991, 2:26:52 PM |
.c&r |
Cyberamics |
September '91 C&R APS |
CEC September 1991 Show |
August 26, 1991, 10:30:42 AM |
September 6, 1991, 9:38:02 AM |
.c&r |
Cyberamics |
September '91 Road Stage APS |
CEC September 1991 Show |
September 6, 1991, 3:16:36 PM |
September 6, 1991, 12:23:12 PM |
.roa |
Cyberamics |
Land Of 1,000 Dances Road Stage APS |
Land Of 1,000 Dances |
September 13, 1991, 10:56:48 AM |
--- |
.roa |
Cyberamics |
Land Of 1,000 Dances C&R APS |
Land Of 1,000 Dances |
September 13, 1991, 2:00:20 PM |
--- |
.c&r |
3-Stage |
Land Of 1,000 Dances 3-Stage APS |
Land Of 1,000 Dances |
September 17, 1991, 4:09:34 PM |
--- |
.3st |
Cyberamics |
CEC Xmas '91 3-Stage APS |
CEC Xmas 1991 Show |
November 1, 1991, 1:08:38 PM |
November 1, 1991, 1:55:32 PM |
.3st |
Cyberamics |
CEC Xmas '91 Road Stage APS |
CEC Xmas 1991 Show |
November 1, 1991, 3:56:44 PM |
November 1, 1991, 4:12:08 PM |
.roa |
Cyberamics |
Taking Care of Business C&R APS |
Taking Care of Business, Rhyming Rap |
November 5, 1991, 6:49:46 PM |
--- |
.c&r |
Cyberamics |
Taking Care of Business Road Stage APS |
Taking Care of Business, Rhyming Rap |
November 6, 1991, 1:21:52 PM |
--- |
.roa |
3-Stage |
Taking Care of Business 3-Stage APS |
Taking Care of Business, Rhyming Rap |
November 12, 1991, 9:48:10 AM |
--- |
.3st |
3-Stage |
CEC Rock It In Space 3-Stage APS |
CEC Rock It In Space |
November 22, 1991, 6:13:50 PM |
December 6, 1991, 11:27:54 AM |
.3st |
Cyberamics |
CEC Rock It In Space Road Stage APS |
CEC Rock It In Space |
December 9. 1991. 12:11:32 PM |
December 16, 1991, 3:35:28 PM |
.roa |
Cyberamics |
CEC Rock It In Space C&R APS |
CEC Rock It In Space |
December 9, 1991, 3:42:06 PM |
December 13, 1991, 10:08:08 AM |
.c&r |
Cyberamics |
Birthday Star '92 C&R APS |
Birthday Star '92 |
January 10, 1992, 2:07:34 PM |
--- |
.c&r |
Cyberamics |
Birthday Star '92 Road Stage APS |
Birthday Star '92 |
January 10, 1992, 4:23:02 PM |
--- |
.roa |
3-Stage |
Birthday Star '92 3-Stage APS |
Birthday Star '92 |
January 20, 1992, 11:03:56 AM |
--- |
.3st |
3-Stage |
Physical Fitness 3-Stage APS |
Physical Fitness |
January 30, 1992, 11:15:36 AM |
February 9, 1992, 9:56:02 AM |
.3st |
Cyberamics |
Physical Fitness C&R APS |
Physical Fitness |
February 13, 1992, 10:54:52 AM |
February 18, 1992, 11:36:40 AM |
.c&r |
Cyberamics |
Physical Fitness Road Stage APS |
Physical Fitness |
February 19, 1992, 11:45:26 AM |
February 19, 1992, 6:36:34 PM |
.roa |
Cyberamics |
Havin' A Party C&R APS |
Havin' A Party |
March 20, 1992, 10:43:44 AM |
--- |
.c&r |
3-Stage |
Havin' A Party R12 APS |
Havin' A Party |
March 20, 1992, 3:54:44 PM |
--- |
.r12 |
Cyberamics |
Havin' A Party 3-Stage APS |
Havin' A Party |
March 23, 1992 12:01:58 PM |
--- |
.3st |
3-Stage |
Dance to the Music 3-Stage APS |
Dance To The Music |
March 26, 1992, 10:55:08 AM |
--- |
.3st |
Cyberamics |
Dance to the Music C&R APS |
Dance To The Music |
March 27, 1992, 2:42:44 PM |
--- |
.c&r |
Cyberamics |
Dance to the Music R12 APS |
Dance To The Music |
March 28, 1992, 11:36:00 AM |
--- |
.r12 |
Cyberamics |
Environment '92 C&R APS |
Environment '92 |
March 30, 1992, 2:30:40 |
April 5, 1992, 4:45:36 PM |
.c&r |
Cyberamics |
Environment '92 R12 APS |
Environment '92 |
April 6, 1992, 11:32:50 AM |
April 8, 1992, 9:27:20 AM |
.r12 |
3-Stage |
Environment '92 3-Stage APS |
Environment '92 |
April 10, 1992, 2:25:02 PM |
April 18, 1992, 2:48:26 PM |
.3st |
Cyberamics |
Children of America '92 C&R APS |
Children of America '92 |
June 3, 1992, 3:18:08 PM |
June 9, 1992, 9:30:36 AM |
.c&r |
Cyberamics |
Children of America '92 R12 APS |
Children of America '92 |
June 3, 1992, 8:37:02 PM |
June 9, 1992, 3:21:46 PM |
.r12 |
3-Stage |
Children of America '92 3-Stage APS |
Children of America '92 |
June 12, 1992, 10:48:18 AM |
June 18, 1992, 3:05:12 PM |
.3st |
3-Stage |
Walking On Sunshine 3-Stage APS |
Walking On Sunshine |
July 8, 1992, 2:13:32 PM |
--- |
.3st |
Cyberamics |
Walking On Sunshine C&R APS |
Walking On Sunshine |
July 13, 1992, 8:58:28 AM |
--- |
.c&r |
Cyberamics |
Walking On Sunshine R12 APS |
Walking On Sunshine |
July 13, 1992, 2:04:54 PM |
--- |
.r12 |
3-Stage |
Working For A Living 3-Stage APS |
Working For A Living |
July 24, 1992, 3:04:22 PM |
August 14, 1992, 12:55:48 PM |
.3st |
Cyberamics |
Working For A Living C&R APS |
Working For A Living |
August 17, 1992, 3:57:38 PM |
August 23, 1992, 11:05:40 AM |
.c&r |
Cyberamics |
Working For A Living R12 APS |
Working For A Living |
August 20, 1992, 4:29:42 PM |
August 24, 1992, 11:19:52 AM |
.r12 |