recording CD-ROM on Spectrum

ZXNet echo conference «hardware.zx»

From Kirill Frolov To All 28 June 2003

Press RESET immediately, All! At the moment, recording CDs on the Spectrum is considered impossible due to limited speed of both the IDE controller and the Spectrum itself. Smallest Possible write speed -- 4x requires reading from HDD and writing to CD recorder about 500kb per second. That is, at least 1MB/sec. The existing IDE controllers do not allow reading more than 200kb per second, The recording is even slower. It is easy to see that if the disk image for recording (*.iso file) is prepared in advance and is located on the HDD, then the main thread data can be transferred from the HDD to the recording device without any processing CD device. In fact, to directly transfer data between two IDEs devices only require separate control of the IORD and IOWR signals IDE buses, other signals can be combined. It's obvious that single-channel (using one cable to connect two devices) The IDE controller cannot control signals separately in any way. IORD and IOWR for different devices. And an IDE controller having several separate channels will be able. Moreover, for the sake of simplicity, all the rest IDE bus signals, except IORW and IOWR, can be combined for all controller channels. For burning discs at 24x speed PIO-2 mode may well be sufficient. For higher speedsand higher speed exchange modes will require device synchronization by signal IORDY. Using DMA modes from my point of view unnecessarily complicated, although it allows you to further increase the exchange speed. In mode PIO for transferring a block of data between drives from Spectrum is required only 256 times (block size -- 512 bytes) issue an IORD pulse for one drive and IOWR to another drive, which must be done controller logic. To record a CD using this scheme, the HDD must be delays in issuing the next requested sector, which is impossible. Delays can be compensated for by the recorder's cache buffer and HDD. You should select a recording speed and recording device with a buffer of sufficient size to compensate for maximum latency reading from HDD. This is me giving an idea of how you can easily modify the IDE controller and get the ability to quickly transfer data between two drives on different channels, and the ability to connect more than two drives. For Nemo it is possible and simple, for Sprinter it may be..., possible for SMUC and others. Ready-made circuits, software, etc. I have no.