Difference between revisions of "Codemasters CD"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Links)
(Compilation, fix links)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
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.
 
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.
+
The '''Spectrum''' and '''Commodore''' versions have been actually released, but - as far as known - the Amstrad version wasn't ever released. According to the Oliver Twins (the makers of the CD), the '''Amstrad CPC''' hardware did exist, too. Though this seems to have been an unreleased prototype.
  
== Info Fragments on Spectrum CD Games Pack (Code Masters) (1989) ==
+
== Pictures ==
  
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).
+
<gallery>
 +
File:TheCdGamesPackForSpectrum128.jpg|Spectrum 128 version
 +
File:CodemastersCDforC64.jpg|Commodore 64 version
 +
File:NoPicture.gif|Amstrad CPC version
 +
File:Inside the adapter.jpg|Inside of plug/cable
 +
File:OliverTwinsCodemastersCD.gif|Info from http://www.olivertwins.com/
 +
File:CodemastersCdOriginalCable.jpg|Cable Connectors
 +
</gallery>
  
The loader has instructions and calibration so you can adjust the volume from the CD for optimal and error-free loading.
+
== ACU writes about Codemasters CD ==
  
The loader asked the user to choose to use kempston or sinclair joystick interface.
+
<gallery>
 +
File:Codemasters CD Gamespack p1.jpg|ACU of March 1990 - page 20
 +
File:Codemasters CD Gamespack p2.jpg|ACU of March 1990 - page 21
 +
File:Codemasters CD Gamespack p3.jpg|ACU of March 1990 - page 22
 +
</gallery>
  
A dissassembly of the loader reveals the following:
 
  
For kempston:
+
== Schematic ==
  
Bit 4 (joystick fire) of port &1f is data.
+
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 that multimeter tests can't reveal any additional small capacitors).
  
For sinclair:
+
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 you like to combine research with some minor destruction!'''
  
Bit 1 (joystick right/key '2') of port &f7fe is data.
+
== Audio Signals ==
  
The loader is patched according to the interface chosen and appears to be a modified Spectrum ROM loader.
+
Below screenshots are showing some interesting sections of the Tracks on a Codemasters CD (screenshots are based on WAV files, recorded from the Spectrum version).
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.
+
* 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).
  
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).
+
<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>
  
It is more probable that the Amstrad loader is similar to the Spectrum loader:
+
* 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.
1. The CPC has same CPU as the Spectrum
+
* 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.
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.
+
* 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.
  
== Links ==
+
== Info Fragments on Spectrum CD Games Pack (Code Masters) (1989) ==
  
* 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
+
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).
  
* 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)
+
The loader has instructions and calibration so you can adjust the volume from the CD for optimal and error-free loading.
  
* 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
+
The loader asked the user to choose to use kempston or sinclair joystick interface.
  
* http://www.speccy.org/trastero/cosas/JL/CableCD/CableCD.html Testing the wire of the CD Games Pack for Spectrum.
+
A dissassembly of the Spectrum loader reveals the following:
  
Whether or not the Amstrad CPC version was actually released is a bit unclear. Did anybody ever see it for real?
+
* For kempston: Bit 4 (joystick fire) (pin6 on a atari-style kempston port) of port &1f is data.
  
== Pictures ==
+
* For sinclair: Bit 1 (joystick right/key '2') (pin6 on amstrad's non-atari-style spectrum +2 joystick port) of port &f7fe is data.
  
<gallery>
+
The loader is patched according to the interface chosen and appears to be a modified version of the normal cassette loading functions in the Spectrum BIOS.
File:TheCdGamesPackForSpectrum128.jpg|Spectrum 128 version
+
It seems to load the standard tape data structure: pilot, sync byte, data bytes and checksum byte. The loader uses only 1 bit (mono).
File:CodemastersCDforC64.jpg|Commodore 64 version
+
 
File:NoPicture.gif|Amstrad CPC version
+
The CD capacity is said to be "12 Megs" (presumably meaning 12 Megabit = 60 tracks with 25Kbytes each).
File:NoPicture.gif|Inside of plug/cable
+
 
File:OliverTwinsCodemastersCD.gif|Info from http://www.olivertwins.com/
+
It is quite probable that the Amstrad loader is similar to the Spectrum loader:
</gallery>
+
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 ==
 +
 
 +
* https://worldofspectrum.org/ - has a review about the Spectrum version
 +
 
 +
* https://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
  
 +
* https://www.speccy.org/trastero/cosas/JL/CableCD/CableCD.html Rev-engineering the wire of the CD Games Pack for Spectrum.
  
[[Category:Vaporware]]
+
[[Category:Compilation]] [[Category:Games]] [[Category:Vaporware]] [[Category:DATA Storage]]

Latest revision as of 08:19, 13 February 2023

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.

The Spectrum and Commodore versions have been actually released, but - as far as known - the Amstrad version wasn't ever released. According to the Oliver Twins (the makers of the CD), the Amstrad CPC hardware did exist, too. Though this seems to have been an unreleased prototype.

Pictures

ACU writes about Codemasters CD


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 that 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 you 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 on 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 Spectrum loader reveals the following:

  • For kempston: Bit 4 (joystick fire) (pin6 on a atari-style kempston port) of port &1f is data.
  • For sinclair: Bit 1 (joystick right/key '2') (pin6 on amstrad's non-atari-style spectrum +2 joystick port) of port &f7fe is data.

The loader is patched according to the interface chosen and appears to be a modified version of the normal cassette loading functions in the Spectrum BIOS. It seems to load the standard tape data structure: pilot, sync byte, data bytes and checksum byte. The loader uses only 1 bit (mono).

The CD capacity is said to be "12 Megs" (presumably meaning 12 Megabit = 60 tracks with 25Kbytes each).

It is quite 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

  • https://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