Difference between revisions of "Codemasters CD"
Line 19: | Line 19: | ||
|\ | |\ | ||
| C---------- Joystick.Pin6 (Fire) | | C---------- Joystick.Pin6 (Fire) | ||
− | The above circuit was rev-engineered by measuring the resistance between the cable pins, but without opening (=destroying) the moulded plastic connector that houses the original circuit - so far, it isn't fully confirmed if the original cable does really contain the above components. | + | The above circuit was rev-engineered by measuring the resistance between the cable pins, but without opening (=destroying) the moulded plastic connector that houses the original circuit - so far, it isn't fully confirmed if the original cable does really contain the above components (not to mention multimeter tests can't reveal any additional small capacitors). |
+ | |||
+ | The material of the connector is still unknown, but if it's soft/elastic then it should be extremly easy to peal off the plastic with a knife and pincers, for revealing what is really in there. | ||
+ | '''You are welcome to add your own results here if like to combine research with some minor destruction!''' | ||
+ | |||
+ | == Audio Signals == | ||
+ | |||
+ | Below screenshots are showing some interesting sections of the Tracks on a Codemasters CD (screenshots are based WAV files, recorded from the Spectrum version). | ||
+ | |||
+ | * Theoretically the audio signals should contain perfect '''rectangular waveforms''' - the tested WAV files did contain some '''analog dirt''' (the source of that dirt is unknown, either the original CD was mastered using analog equipment, or the CD-to-WAV conversion was done using analog sound input - or both). | ||
+ | * As seen on the screenshots, the '''stereo signals''' contain the same data on both left and right channel, so it's effectively a mono signal (without a clock signal or second data bit on one of the channels). | ||
+ | |||
+ | <gallery> | ||
+ | File:Spectrum Codemasters CD Test Signal (Closeup).png|Track 1 - Test Signal (Closeup) | ||
+ | File:Spectrum Codemasters CD Low Speed Block.png|Low Speed Block | ||
+ | File:Spectrum Codemasters CD High Speed Block.png|High Speed Block | ||
+ | </gallery> | ||
+ | |||
+ | * Track 1 contains a repeated '''Test Signal''' consisting of two long and two short pulses, intended to be used with the volume calibration function in the cassette loader. The length of the test signal is about 110 seconds, and it's a 'raw' waveform without preceeding header or pilot pulses. | ||
+ | * Track 2-33 contain 32 spectrum games (average length 45 seconds each). Track 34 contains a slide show demo (about 390 seconds). Track 35-66 contain backup-copies of Track 2-33. | ||
+ | * For whatever reason, the first block on each Track (except Track 1) is '''Low Speed Block''', using about the same pilot/sync/data pulse timings as normal Spectrum Cassette files. However, it is NOT a cassette file (which would consists of TWO such blocks, and which would contain other header/filetype values), the low speed block is around 6 seconds in length. | ||
+ | * All further block(s) on each track are '''High Speed Blocks''', pilot/data pulses are shorter as on cassette blocks, the two sync files are longer as on cassettes. | ||
== Info Fragments on Spectrum CD Games Pack (Code Masters) (1989) == | == Info Fragments on Spectrum CD Games Pack (Code Masters) (1989) == |
Revision as of 16:06, 10 August 2010
The Codemasters CD was a compilation of games from Codemasters which came on a Audio CD, bundled with a special connection cable to connect an Audio CD Player to the Joystick Port. Since the computer can't boot from the Joystick Port, it also included boot software on cassette. The Codemasters CD was announced for ZX Spectrum, Commodore C64, and Amstrad CPC.
However, only the Spectrum and Commodore versions seem to have been actually released. According to the Oliver Twins (the makers of the CD), the Amstrad CPC hardware did exist, too. Though this seems to have been only an unreleased prototype.
Contents
Schematic
José Leandro Novellón did some reverse engineering on the Spectrum cable in 2008. The results were released on http://www.speccy.org/trastero/cosas/JL/CableCD/CableCD.html (spanish). According that results, the cable is assumed to contain hardware like this:
| C---------- Joystick.Pin1 (Up) |/ Audio Left (Tip) ------o----[330]----B| BC549B | |\ [1K] | E--+ | | Audio Gnd (Base) ------o----[470]----------o------- Joystick Pin8 (Common) | | [1K] | E--+ | |/ Audio Right (Mid)------o----[330]----B| BC549B |\ | C---------- Joystick.Pin6 (Fire)
The above circuit was rev-engineered by measuring the resistance between the cable pins, but without opening (=destroying) the moulded plastic connector that houses the original circuit - so far, it isn't fully confirmed if the original cable does really contain the above components (not to mention multimeter tests can't reveal any additional small capacitors).
The material of the connector is still unknown, but if it's soft/elastic then it should be extremly easy to peal off the plastic with a knife and pincers, for revealing what is really in there. You are welcome to add your own results here if like to combine research with some minor destruction!
Audio Signals
Below screenshots are showing some interesting sections of the Tracks on a Codemasters CD (screenshots are based WAV files, recorded from the Spectrum version).
- Theoretically the audio signals should contain perfect rectangular waveforms - the tested WAV files did contain some analog dirt (the source of that dirt is unknown, either the original CD was mastered using analog equipment, or the CD-to-WAV conversion was done using analog sound input - or both).
- As seen on the screenshots, the stereo signals contain the same data on both left and right channel, so it's effectively a mono signal (without a clock signal or second data bit on one of the channels).
- Track 1 contains a repeated Test Signal consisting of two long and two short pulses, intended to be used with the volume calibration function in the cassette loader. The length of the test signal is about 110 seconds, and it's a 'raw' waveform without preceeding header or pilot pulses.
- Track 2-33 contain 32 spectrum games (average length 45 seconds each). Track 34 contains a slide show demo (about 390 seconds). Track 35-66 contain backup-copies of Track 2-33.
- For whatever reason, the first block on each Track (except Track 1) is Low Speed Block, using about the same pilot/sync/data pulse timings as normal Spectrum Cassette files. However, it is NOT a cassette file (which would consists of TWO such blocks, and which would contain other header/filetype values), the low speed block is around 6 seconds in length.
- All further block(s) on each track are High Speed Blocks, pilot/data pulses are shorter as on cassette blocks, the two sync files are longer as on cassettes.
Info Fragments on Spectrum CD Games Pack (Code Masters) (1989)
The pack consists of a Audio CD with about 30 spectrum games (each one recorded twice), and a connection cable (cd player's 3.5mm (or 6.3mm via adapter) stereo headphone socket to spectrum 9pin DSUB joystick port) (for Spectrum 128/+2/+3 or 48K with Kempston or sinclair joystick interface), and loading software on tape, to start loading or after a game is loaded one can press Q,U,I,T on keyboard to load (without needing to load tape loader again).
The loader has instructions and calibration so you can adjust the volume from the CD for optimal and error-free loading.
The loader asked the user to choose to use kempston or sinclair joystick interface.
A dissassembly of the loader reveals the following:
For kempston:
Bit 4 (joystick fire) of port &1f is data.
For sinclair:
Bit 1 (joystick right/key '2') of port &f7fe is data.
The loader is patched according to the interface chosen and appears to be a modified Spectrum ROM loader. It seems to load the standard tape data structure: pilot, sync byte, data bytes and checksum byte.
The cable is most likely to be mono, because only 1-bit is used for loading.
No info if/how the stereo signal is used. The cable does reportedly contain a 1bit A/D converter, which is probably a single transistor or so (so it's mono, not stereo?). The CD capacity is said to be "12 Megs" (presumably meaning 12 Megabit = 60 tracks with 25Kbytes each).
It is more probable that the Amstrad loader is similar to the Spectrum loader: 1. The CPC has same CPU as the Spectrum 2. The CPC already has a number of loaders based directly on the Spectrum ROM loader, so a conversion of this loader to CPC would be easy.
Links
- http://www.kjthacker.f2s.com/docs/audiocd2.html - DIY - caution: the disclaimer on that webpage says that it is not based on the real Codemasters CD - so it may be totally incompatible to the original Codemasters CD - also, Kevin has confirmed that it's an untested and unfinished DIY project
- http://worldofspectrum.org/ - has a review about the Spectrum version - which conflicts with the DIY info (the Spectrum review implies it contains a mono 1-bit A/D converter, not a stereo connection without A/D converter) (the A/D converter - if it does exist - might refer to something simple, like a transistor)
- http://www.olivertwins.com/ - according to this webpage, the Oliver Twins created "The CD Games Pack" in December 1989, for Amstrad CPC, Spectrum, and Commodore 64, published by Codemasters
- http://www.speccy.org/trastero/cosas/JL/CableCD/CableCD.html Testing the wire of the CD Games Pack for Spectrum.
Whether or not the Amstrad CPC version was actually released is a bit unclear. Did anybody ever see it for real?
Pictures
Info from http://www.olivertwins.com/