Oh, that’s not new tech.
Programs used to be on standard audio cassettes.
In fact, there were even radio shows that would broadcast games. Listeners could then record the audio onto a cassette and play it on their zx spectrum or commodore 64
There were also TV shows that would have a little flickering box in the top right corner. You would attach a diode to the screen and by the end of the show, you had a working program recorded to cassette.
Programs were not just distributed on cassettes and via radio and TV broadcasts. There was software distributed on vinyl records as well. The very first programs distributed on CD were stored on CDs as audio.
All of this was done, because floppy disks and especially floppy drives were hideously expensive - and hard drives even more so. It wasn’t unusual for a floppy drive to cost more than the machine it was attached to. Everyone had a cassette recorder at home though and knew how to operate it.
If this seems cumbersome, consider that one of the most important software distribution methods for home computers in the '70s and '80s was through so-called listings: Magazines would print the program code and you manually typed it in, line by line. We are talking cryptic assembler code, not something an ordinary human being could actually understand:
If you were very lucky, there were checksums. If not, have fun going through every single one of the hundreds to thousands of lines of code, trying to find that one mistake you made. In case you were a kid on a tight budget, it wasn’t uncommon that you didn’t actually have any storage media to save this code to, so if you wanted to play a game, you had to type it in anew every time.
Even if you stored it on cassette tape, loading times on for example the C64 were typically between 15 and 30 minutes, if it loaded correctly.
It’s all data, whether that data is text, an image, audio, or a binary containing computer code.
Raw audio data is just a series of amplitudes. It has a bit depth (which says how many bits are in each amplitude sample) and a frequency (what is the change in time going from one amplitude to the next). Using those, you can convert it to an analog signal that can be played on a speaker. And if you use the same values to convert that signal back to digital, you end up with the same input signal (though with some random noise added and if you get unlucky and your sample phase lines up with the player’s transition phase, you won’t be able to extract the original signal, though it might sound similar). The multiple recordings help mitigate these issues.
Given that data format, any arbitrary file can be treated as raw sound that can be transmitted as analog audio.
The only real difference between this and other transfer methods we use to transfer files is that this involves a less reliable conversion from digital to analog back to digital because it wasn’t designed to do that like USB, COM, wifi, etc connections are.
Oh, that’s not new tech.
Programs used to be on standard audio cassettes.
In fact, there were even radio shows that would broadcast games. Listeners could then record the audio onto a cassette and play it on their zx spectrum or commodore 64
https://en.m.wikipedia.org/wiki/Ventilator_202
What the fuck, see know nothing about computers, despite a career in IT and a homelab addiction
There were also TV shows that would have a little flickering box in the top right corner. You would attach a diode to the screen and by the end of the show, you had a working program recorded to cassette.
Programs were not just distributed on cassettes and via radio and TV broadcasts. There was software distributed on vinyl records as well. The very first programs distributed on CD were stored on CDs as audio.
All of this was done, because floppy disks and especially floppy drives were hideously expensive - and hard drives even more so. It wasn’t unusual for a floppy drive to cost more than the machine it was attached to. Everyone had a cassette recorder at home though and knew how to operate it.
If this seems cumbersome, consider that one of the most important software distribution methods for home computers in the '70s and '80s was through so-called listings: Magazines would print the program code and you manually typed it in, line by line. We are talking cryptic assembler code, not something an ordinary human being could actually understand:
https://i.imgur.com/NW4Mhp6.jpg
If you were very lucky, there were checksums. If not, have fun going through every single one of the hundreds to thousands of lines of code, trying to find that one mistake you made. In case you were a kid on a tight budget, it wasn’t uncommon that you didn’t actually have any storage media to save this code to, so if you wanted to play a game, you had to type it in anew every time.
Even if you stored it on cassette tape, loading times on for example the C64 were typically between 15 and 30 minutes, if it loaded correctly.
Early home computing was wild.
It’s all data, whether that data is text, an image, audio, or a binary containing computer code.
Raw audio data is just a series of amplitudes. It has a bit depth (which says how many bits are in each amplitude sample) and a frequency (what is the change in time going from one amplitude to the next). Using those, you can convert it to an analog signal that can be played on a speaker. And if you use the same values to convert that signal back to digital, you end up with the same input signal (though with some random noise added and if you get unlucky and your sample phase lines up with the player’s transition phase, you won’t be able to extract the original signal, though it might sound similar). The multiple recordings help mitigate these issues.
Given that data format, any arbitrary file can be treated as raw sound that can be transmitted as analog audio.
The only real difference between this and other transfer methods we use to transfer files is that this involves a less reliable conversion from digital to analog back to digital because it wasn’t designed to do that like USB, COM, wifi, etc connections are.
https://yurichev.com/mirrors/machine-code-for-beginners.pdf and then https://github.com/jherskow/nand2tetris/blob/master/nand2tetris BOOK.pdf you will somewhat understand computers after this.