We changed our privacy policy. Read more.
64

Theoretically it could take 25 minutes (or more), in practice it never did. Theoretically it could, because the C-64's built-in tape handling routines had a data rate of about 300 bit/s. That's 37.5 bytes per second, or almost 30 minutes for a full 64K. In practice, it never did, because the tape handling / decoding was done almost entirely in software, ...


52

First, many thanks for the great question. This may well be my favourite retrocomputing video of them all, so I contemplated having a look at the executable for a while myself. So, this is what I did: To download the audio, I went to the same YouTube video and used 4K Video Downloader (mainly because it clearly shows which audio is the original one, so that ...


43

If (and only if) your audio player is battery powered, and your Spectrum is the 48K or 128K toastrack model, try the following procedure, intended to boost the volume of your wave signal, as seen by the Spectrum EAR circuitry: Get one of these audio cables. They are very common. And yes, they are stereo. Why do we need it to be stereo? The trick is that ...


27

These programs usually had a mono-color background with very little text. By setting the color of the screen as "black ink on black paper" or "white ink on white paper", it is possible to relocate the whole software in video RAM and hide it from view. These programs were tiny asm utilities (they used 1 or 2 kilobytes or RAM) which copied themselves to ...


25

Actually, the screen stripes while loading from tape first occurred on the ZX-81 - Where they were a result of Sinclair's typical savvy nature - the display and the "EAR IN/MIC OUT" had to share a pin on the ULA and thus made the (whole) screen flicker in stripes during tape loading and saving. This actually proved useful as a visual clue the computer still ...


23

There's so much to go wrong in a cassette mechanism that it's amazing they worked at all. can you adjust tape head azimuth? Misalignment is responsible for a lot of sound problems. how clean are your tape player heads? Are the capstan and various drive rollers clean too? are the pressure pads behind the tape intact? Sometimes the little felt pads come ...


21

There are multiple techniques used by tape copy programs to be able to copy large blocks of data. By large we mean close to the whole RAM capacity (48 KiB) or even more! Using maximum of the available RAM ZX Spectrum 48K (and ZX Spectrum+) has 48 KiB (49152 B) of RAM from which 6 KiB (monochrome pixels) + 768 B (colour attributes) are being used for video ...


20

The Card featured 256 bytes of ROM. Is there evidence documenting how the cassette program was stored? The evidence is right there in the PCB photo you added. The two MMI 6301 chips, labled APPLE A3 and APPLE A4, at position 3 and 4, are 256 by 4 PROMs. The same type, produced by Monolithic Memories, as used on the Apple 1 motherboard for the monitor ...


19

The Sprint cassette player/recorder, specially designed for the ZX Spectrum, allowed 4X load and save speeds. It works by speeding up the tape four times the standard playing speed. It is meant to load programs originally recorded at the Spectrum ROM standard speed (1500 bps). It provides a shadow ROM that pages in when the CPU starts executing a SAVE or ...


18

I've confirmed that mcleod_ideafix's method is reliable for regular tape images. Here is a shell script to do (effectively) the same thing: #!/bin/bash # wav2differential.sh - convert mono game tape audio to 2× stereo # usage: wav2differential.sh infile.wav # (creates infile-differential.wav) # scruss - 2016-06-07 # method by ‘mcleod_ideafix’; ...


18

You need to use OpenMSX, and get the system ROMs for the machine in question. Then run OpenMSX, set the machine to the FS-A1WSX. There's a little menu button at the top left of the OpenMSX window. In there, set your tape to the WAV file. Then: 10 M$ = "E4E8O3G16G32R32G2G4R4O4C8D8E8F8G2G8F8E8F4E8D8E4D8C4" 20 PLAY M$+M$ The listing above is the content of ...


18

Yes, cassettes were common, they took ages, and they were error prone. In Europe, disk drives for the ZX Spectrum and Commodore 64 were uncommon. It's the same for cartridge games for the C64. The market for the 8-bit micros in the 80s in the UK was driven by price, so the cassette interfaces were the majority here. (BBC Micros with floppy drives were common ...


18

The Datassette has a digital interface, and since it is not meant to process audio signals at all, it allows directly writing sharp digital magnetic transitions to the tape, using a single monophonic read/write head. The written pulses are always written at same amplitude, so there is no variation between equipment. Also when reading the transitions off the ...


17

Commodore 64 uses two CIA (Complex Interface Adapter) chips. CIA#1 is responsible for the keyboard, joystick, paddles, datasette and IRQ control, while CIA#2 controls the serial bus, RS-232, VIC memory and NMI. If you check the CIA#1 address map you will see that: Memory address $DC00 (Port A) is used for keyboard matrix columns and Joystick #2 at the same ...


17

As you guessed, LOAD "" loads a BASIC loader. LOAD "" CODE loads a machine code program saved on the tape straight into memory, at the addresses given when using SAVE name CODE start, length Doing it this way means you can squeeze the most code into the memory, not wasting any on the loader or a loading screen.


16

The Apple II recorded data as a frequency-modulated sine wave. A standard consumer cassette deck could be connected to the dedicated cassette port on the Apple ][, ][+, and //e. The //c, ///, and IIgs did not have this port. A tape could hold one or more chunks of data, each of which had the following structure: Entry tone: 10.6 seconds of 770Hz (8192 ...


16

In theory, it is fairly simple duplicating a tape. The problem with analog tape-to-tape copies is that sound quality lowers and spurious noises are also copied and more are generated into each new consecutive copy generation. It did not contribute to improve the situation, that later tape copy protection methods/turbo loaders (SpeedLock, Alcatraz...) were ...


15

No, they're purely for communication with the user. Coloured stripes = loading, slow colour changes = not loading. Setting the border colour on the Spectrum is achieved with a simple port output. The stripes are an elementary raster effect — all that's happening is that the tape loading routine is changing the border lots of times within a frame. If you ...


15

The simple reason is that interoperability was not a primary drive for this kind of storage, especially at the consumer level. Honestly, what's the point of reading a Commodore cassette on an Atari for 99% of the use cases? I look at the hardware on the sample diagram and, you know what? It's a lot. Most interfaces are a few bits of analog components like ...


14

Most of this info comes from the Color Computer 3 Service Manual (26-3334), except for the actual frequencies used on the cassette: On the tape, frequency shift keying is used, with a zero bit encoded by a single 1200 Hz sine wave, and a one bit encoded by a single 2400 Hz sine wave. (Yes, this means some bytes play faster than others.) The service manual ...


14

The analogue audio is turned into a 1-bit signal — either high or low. The machine then detects positive transitions, counting the amount of time between each. That allows them to be bucketed into one of three types: short, which are those closest to a 364 microseconds; long, which are those closest to 524 microseconds; and mark, which are 684 microseconds....


13

I'm not sure what you mean with "EAR/MIC I/O was level based". In the ZX Spectrum, the EAR input is a digital input, so it can only be 1 or 0. You cannot measure the input level beyond that. The main reason to use edges is for the system to work independently of the audio source. Other systems, such as the Commodore 64, need the datasette to supply a signal ...


13

The beep comes from the OS ROM, and it is actually derived from the timing of the start and stop bits of each byte shifted into POKEY, this is determined from the interaction of the interrupts generated. The frequency output is nominally half of the operating bit rate, e.g. approximately 960Hz for a 19200 baud transmission (e.g. from a disk drive at normal ...


13

A quick glance at the 'Theory of Operation, Tape Interface' section of the Exidy Sorcerer Technical Manual reveals that at 300 baud a 0 is encoded as four cycles of a 1200Hz square wave and a 1 is eight cycles at 2400Hz. At 1200 baud a 0 is half a cycle at 600Hz and a 1 is one cycle at 1200Hz tone. Or, if you prefer, at 1200 baud the output level is always ...


12

No, you won't need any 'HiFi' like recorders. After all, these were the very same devices you also used to record your own programs and/or data. While copying from recorder to recorder does always carry a loss in quality, this is of no big influence on a first or second degree copy (*1). The most important factor is volume. It's much the same as when ...


12

My father had a battery operated tape recorder bought in Singapore in the 1970s. Their appeal was that they were portable recording devices. A microphone with a long lead would plug into the mic and rem sockets. The microphone would have a switch on the side which could be used to pause the recording or playback of the tape. Journalists, academics etc would ...


12

Those variable amplitudes looks like electronics problem like failing caps somewhere along the way (recording/playback) or unshielded too long cables or partial remagnetization or even HW bug (some recorders like ELTA have a bug in writing head circuitry that corrupted tapes a bit each time it was played ...) the correct output should be a rectangular ...


12

I don't recall any mass-market commercial software for the Spectrum using the term "decrunching" - I'd associate that more with the demo and cracking scenes of central and eastern Europe, and my guess is that the software you saw originated from there. Around the early 1990s there were a few compression tools in use in that community, and while ...


11

Obviously, you can just switch tapes as you go, but systems that used cassette tapes for storage weren't really viable for collaborative development. Simply because with a cassette tape, you had "what's in memory" and "what's on tape", and the occasional task of saving and loading from a tape. So you could have someone walk over with a cassette so they can ...


10

Probably, no serious software development was done purely on tapes. Floppies were used extensively, as well as cross-tools, ROM emulators etc. This nice and free book, telling about the creation of the famous ZX Spectrum game named "R-Type", has also some insights into the typical development process for ZX Spectrum.


Only top voted, non community-wiki answers of a minimum length are eligible