![It's funny. Laugh. It's funny. Laugh.](http://a.fsdn.com/sd/topics/humor_64.png)
![Businesses Businesses](http://a.fsdn.com/sd/topics/business_64.png)
![Software Software](http://a.fsdn.com/sd/topics/software_64.png)
![Apple Apple](http://a.fsdn.com/sd/topics/apple_64.png)
1200-Baud Archeology 211
jamie found this singularly geeky article on reconstructing Apple I BASIC from a cassette tape. It claims to offer the first confirmed perfect dump (BIN) of the 4096 bytes of this venerable interpreter. Terrific fun for the whole family. "The Apple I is extremely rare. Only 200 were built, and less than 100 are believed to be in existence. Neither Steve nor Woz own an Apple I any more, and neither does Apple Inc. The cassettes are even rarer, as not every Apple I came with one... So here is how to decode the signal. Let us first open the audio file in Audacity and look at the waveform... It is now time to write a small program to measure and dump the width of the pulses."
Alternative tools (Score:5, Interesting)
Re:Alternative tools (Score:5, Interesting)
Yes - I thought this too - the article's slashdotted at the moment but the summary makes me think he made a mountain from a molehill. In the Sinclair Spectrum world, loading Speccy tapes on to a PC, and encoding them in a useful format (TZX) has been a solved problem for years.
All these tape formats were physically pretty similar when it comes to how they were encoded, and the same techniques could have been used by looking at any home computer emulator that loaded stuff from tape even if the details were different.
Re:Alternative tools (Score:4, Funny)
Re:Alternative tools (Score:5, Insightful)
I think the emphasis is more on the historical significance, given the rarity of the tapes and the fact that the only digitised copy floating about has been patched.
Re: (Score:2)
The article comes up fine for me. He lists a simple C routine comprised of 15 or so lines of code. So it wasn't like he made that big of a mountain out of it.
Re: (Score:3, Insightful)
The code being simple does not necessarily mean the though process of coming to those 15 lines was simple and/or straightforward.
Re:Alternative tools (Score:5, Interesting)
Didn't the Apple I use PSK instead of FSK encoding for the tape audio?
I though instead of Shifting frequency they shifted phase which is quite a but harder to detect than frequency shift.
BTW: Computer Tapes worked great to load software across Ham radio. 2 meter radio, I would load a game from a friend across the city over 2 meters by simply patching audio from the rig to the computer.
Luckily the C64 had a very slow bitrate (even the floppy drive was slow as hell) for it's storage tapes so it worked great.
Re:Alternative tools (Score:5, Interesting)
There used to be a Dutch radio program in the 80s called "NOS Hobbyscoop" that had their own basic interpreter for many computers of the day. (MSX, Acorn, Sharp MZ, etc.)
They actually broadcast computer programs every week on medium wave AM. They'd count down, you start the cassette recorder and you had some new programs.
Fun for the whole family, even if a bit painful on the ears!
Re:Alternative tools (Score:5, Interesting)
here in brasil, UFRGS (federeal university of rio grande do sul) broadcasted test programs using stereo FM. one chanel would broadcast audio, the other encoded text to be decoded by an MSX computer and displayed on screen. the idea was to make talk radio accessible to def people.
In Federated Brazil... (Score:4, Funny)
the idea was to make talk radio accessible to def people.
Like Mos Def and Def Leppard?
Re: (Score:3, Interesting)
There used to be a Dutch radio program in the 80s called "NOS Hobbyscoop" that had their own basic interpreter for many computers of the day. (MSX, Acorn, Sharp MZ, etc.)
They actually broadcast computer programs every week on medium wave AM. They'd count down, you start the cassette recorder and you had some new programs.
Very interesting - that may be the first instance of P2P!
Re:Alternative tools (Score:5, Interesting)
No. It's FSK, but it used a constant number of zero crossings per bit, rather than a constant bit period. So, to decode it, you count the average time between zero crossings rather than the number of zero crossings in a fixed time window.
On the plus side, it seems like the Woz scheme has some benefits. If you assign the shorter bit period to the more common bit value (likely, '0'), you shorten your average recording length a little. On the minus side, if you get an extra zero crossing in there (say, due to noise that wasn't filtered away by a Schmitt trigger or other hysteresis somewhere), recovery may be awkward.
BTW, the C64 floppy drives were slow as heck, but that had nothing to do with the bitrate for its media. There's some goofy history there, involving bugs in the shift register on the VIC-20's PIA, the decision to use CPU control loops instead to determine the bit period when communicating between the drive and the machine, and then the greater cycle-stealing period of the VIC-II as you get to the C64 throwing a monkey wrench in the works. The fast-load carts worked by restoring the native CIA hardware shift register to get rid of the CPU-controlled bit shifting to read bits from the floppy, restoring its speed to performance levels similar to the old IEEE-488 based bus they used back in the Commodore PET era. But that's a different story for another day.
--Joe
Re: (Score:2)
You forgot that there were more signal lines available, but unused. They had serial in and serial out. The fastload cartridges turned one line around and implemented a 2-bit parallel transfer. Fastload carts also offered a great place to solder in a reset button.
I'd tell you to get of my lawn, but that would just make more rocking chair ruts...
Re: (Score:2)
The 2-bit thing is still a hack that only buys back some of the performance. The original intention was to use the VIA's (I mistakenly called it the PIA) shift register, which would have kept it fast. For those of you who really care, someone actually wrote this all up on Wikipedia. [wikipedia.org]
And you're right, I was thinking of a different loader [cs.tut.fi] that uses the synchronous serial mode, and that requires a hardware mod. *sigh* I never owned a C64 back in the day (though I have one now), so I only got to hear about
Re: (Score:2)
That's also how the Spectrum loading scheme worked, too. A zero took less time than a 1. As a consequence there wasn't a fixed baud rate, but the average speed with the Spectrum's scheme was 1500 bps. Custom schemes were also made too, but they were all generally the same 'constant number of zero crossings per bit', but at different frequencies (generally for higher loading speed, or to make tape copying less trivial). Some people even used Manchester encoding (which was faster for the same fundamental freq
Re:Alternative tools (Score:4, Interesting)
Probably the most elaborate scheme I've seen so far is the Mattel Electronics Keyboard Component [spatula-city.org]. It encodes everything into blocks of 32 10-bit words, each protected by a 5-bit detect-2-correct-1 Hamming code. The 32 words are then re-interleaved as 15 32-bit words. Each 32-bit word gets prefixed with a 5-bit framing header. That's prefixed by a block of zeros and a special 64-bit sync pattern per block. (I believe the whole sync structure was about 256 bits long.) The whole shebang is then Manchester encoded and put out to tape. Furthermore, the drive had a carrier-detect signal that it supplied in addition to the Manchester decoded bits.
The net result is a fairly robust protocol. Because the 32 data words were interleaved, dropout errors would get spread among multiple words. Thus, a burst error would show up only as 1 or 2 bit errors in each individual word. In addition, if a given word shows up as non-correctable, it was sometimes recoverable by flipping bits based on where the carrier was lost and trying again.
Other nifty aspects of its design: There was an additional pre-header on blocks that was recorded at (I think) 1/3rd the normal carrier frequency. This allowed the drive to detect interesting headers while fast-forwarding or rewinding. Since the drive was computer controlled, it allowed for fully automatic operation, including hardware seeks.
What was the bit rate? Well, I believe the raw bit rate for data bits coming off the tape was about 3000 bps. Factoring in encoding overhead, though, I'd say the final throughput was less than half that. A quick calculation suggests a nominal throughput around 1200 baud, give or take.
--Joe
Re: (Score:2)
Re: (Score:3)
It was put together by a handful of bright folks working for APh Consulting out of Cal-Tech, actually. I've actually met one of the two people involved in that project.
Re: (Score:2)
No. PSK is a constant carrier frequency with shifts in phase. PSK still uses constant bit periods. Apple's format uses two different frequencies, with a constant number of cycles per bit.
Re: (Score:2)
I have no idea how they formatted it, but it worked in any cassette player that had a line out (and a counter if you wanted to load any other program on the same tape). The Apple tape drive was no speedster either, although the one I was familiar with came with the 48k Apple ][ (with DOS 3.1 it took about 15 minutes to load - if you were lucky - sometimes it took 2-3 tries). My experience with the tape drive was short lived, however, as my school got Disk ][s that school year and we immediately switched (
Re: (Score:3, Interesting)
What really got me hooked on the ][ was the release of Sabotage and Sneakers in 1981.
Heh, I liked SABOTAGE so much I first repackaged it as a SYS file to run it under ProDOS, then a full disassembly of it, which led to removal the last bit of copy protection in it (intended to prevent memory dump cards, it would periodically test the data in the second text screen's screen holes and go into a memory-wiping loop, which also prevented going into the Apple IIgs Control Panel to adjust the processor speed).
I had intended eventually to upgrade the game to use Apple IIgs graphics, a saved high sc
Re:Alternative tools (Score:5, Insightful)
When I was a teenager, I used to decode FAT tables and directory structures by hand, using pen and paper and printouts from a raw hex dump of a hard disk. I didn't do this because there was a problem needed to be solved; I knew what was on the disk and there sure were plenty of tools to read the data (like MS-DOS). But it was a fun challenge and I learned how FAT worked.
I can see how this is a similar challenge. It's nothing more than a geeky sudoku.
Re: (Score:3, Interesting)
Actually, If I remember right (digging back oh, nearly 30 years into the recesses of my mind), the C-64 had a fairly unusual tape format, unlike almost everyone else, just like their disk drive was unique (everyone else used a fixed number of sectors/track, where Commodore used a variable number, with more sectors/track as you moved out, to get more data on the disk)
Re: (Score:2)
Has anyone written a program that can take a .wav sample of a poor-quality c64/vic 20 tape (stretched tape, warbling output, drifting volume level, etc) and do modern DSP analysis on it to turn it into something the more mundane .wav->.tap converters can handle? I unfortunately don't have the background to actually implement such a beast, but from what I know about both DSP and the way signals were recorded to tape by a Datasette/C2N, it *should* be a somewhat straightforward exercise. In theory, it migh
Re: (Score:3, Informative)
this makes me want to take a dump of my own (Score:4, Funny)
*off to bathroom*
I'll report my findings later
Re:this makes me want to take a dump of my own (Score:4, Funny)
be sure to check the logs
Re: (Score:2, Informative)
be sure to check the logs
There are no logs with a cload.
Re: (Score:2)
Re: (Score:3, Funny)
Comment removed (Score:4, Funny)
Re: (Score:2)
Hmm I wonder if I could port XGS to my Treo? :)
Doing it the hard way (Score:2)
It is now time to write a small program to measure and dump the width of the pulses
Its just an FSK modem. I have an old computer right here in my house which would demodulate that, once I bumped the clock rate up by a factor of four.
Re:Doing it the hard way (Score:5, Interesting)
Yes. But a few people did some very magical things with tapes before the became obsolete. I saw a demo of a turbo tape system on an Atari 800XL which could load games "faster than a disk drive". Actually it about tied, but that was still impressive. The disk drive could probably managed 9600 baud sustained.
The modulator / demodulator was lump of potted electronics I could easily fit in my hand. Potting compound was a blank gunk you applied to electronics you didn't want people to tamper with, in this case to stop people seeing the components used. But whatever they were they could modulate and demodulate data at around 9600 baud. This was in the 80's back before DSPs too, so whatever circuit was used must have been made of Op Amps, transistors and passive components.
I never worked out how it worked. Though I can imagine exploiting the stereo nature of the tapes to send one carrier and phase shifted signal might work. Phase modulation is easy and demodulation is too if you have the carrier. Still phase modulation at 9kbaud+ would be a tight fit on an audio tape. I don't think things like QAM would be possible given the size of the package, the selling price (about twenty English pounds, or $40), and the primitive nature of 80's technology.
Re: (Score:3, Interesting)
9600 baud was common on C64 (Score:2)
But that had a dedicated "digital" tape drive (ie. it was optimized for recording those sorts of signals, not music.
QAM (Score:3, Interesting)
Still phase modulation at 9kbaud+ would be a tight fit on an audio tape. I don't think things like QAM would be possible given the size of the package
Quadrature amplitude modulation was in use in the 1960s: it's just two AM carriers out of phase by 90 degrees. The color encoding in NTSC and PAL used QAM.
Re: (Score:2)
The hardware itself probably isn't much more than a compander and signal cleaner, e.g. some LM111 plus according resistors/capacitors like I used on my ZX81 to get 2k4 and 3k6.
To go into the 9k6 range, you could eventually go for 4 different frequencies marking 00, 01, 10, and 11 instead of just mark and space. A slightly more dedicated hardware therefore would also install 1 LP (00), 1 HP (11), and 2 BP (01, 10) filters to avoid any confusion.
I wonder if DTMF was ever used for data recording, giving you 16
Re: (Score:2)
That black potting compound was easy to defeat. I did it weekly back then yanking proms off of Digicipher boards for Satellite receivers.
Re: (Score:2)
Potting compound was a blank gunk you applied to electronics you didn't want people to tamper with
They weren't so much worried about tampering as they were about reverse-engineering. Nowadays they have a different process they use on chips for cable boxes, which we saw an article here awhile ago on.
Re:Doing it the hard way (Score:5, Interesting)
The computer I designed and built around 1981 did 9600 bps with some TTL logic i designed myself. The format used was Manchester II, very simple to encode and decode if the clock can be recovered (the difficult part) for the decode phase. I think I used less PCB space than what was needed for the common 300 bps Kansas City format.
When the Atari sent data to the tape it had an internal modulator. But IIRC the demodulator was in the tape deck. And in any case you could output data to the disk drive, when it was a selectable baud 0-19200 rate and not modulated. So it seems like the turbo tape interface could use custom software to get 9600 baud TTL data to or from the tape and do its 9600 modem baud magic internally with a handful of components.
Tapes are stereo, so you could send the clock one one channel and the phase shifted clock (the signal) on the other.
You need an oscillator and a phase shifter made out of an XOR gate to modulate. Shifted single goes on one channel say left, unshifted one on the other, say right
To demodulate you use a phase detector made out of an XOR gate to compare the phase of the two channels.
This would be analogous to Manchester BPSK coding, except that you use one of the two audio channels to store the carrier so you don't need to spend expensive electronics regenerating it.
So something like this seems plausible. Unfortunately I didn't know enough about electronics back in the Atari days to try it.
Re: (Score:2)
Too long for the signature field? It appears it would compile the forkbomb, but not run it. Or am I missing something? :)
Teach it! (Score:5, Insightful)
They don't feel confortable enough in less than 1 GB, what if they had just 4 KB?
Re:Teach it! (Score:5, Interesting)
I think that at least the basic interpreter should be taught to the new generations.
To rain on the parade, I wonder if there is a copyright violation in posting the code online un-edited. How long is copyright nowdays?
It's something we need to address in this age of IP property where the market has expired years ago but the copyright is in force for many more decades.
Re:Teach it! (Score:5, Insightful)
Functionally "forever".
Re: (Score:2)
True, but if not even the creators nor their company held an actual copy any longer, when what right should they have to the copyright?
Re: (Score:2)
Re:Teach it! (Score:5, Insightful)
If Apple tried to sue, Woz would likely pay for your defense.
Re:Teach it! (Score:5, Interesting)
Of course I would! But this gets sticky. I gave away the Apple I schematics and monitor ROM (256 bytes to replace a front panel with a keyboard) but only a couple of copies of the BASIC, which I also intended to be in the open domain. I don't know if I ever gave away the completed Apple I BASIC because by then it was virtually the same for the Apple ][ (now completed) as well. We took the steps to retain the copyright for BASIC on the Apple ][. Any steps we took for the Apple I would be in the gray. I can't believe that it matters to Apple at all anyway.
Re:Teach it! (Score:4, Funny)
There's a simple solution; post it as a hex (or binary or octal) dump. You can then claim that it's just an excerpt of the first trillion or so digits of pi. By the time Apple's lawyers determine it isn't, the guys who decoded & published it will be long dead.
Re: (Score:3)
You can then claim that [the hex/binary/octal dump is] just an excerpt of the first trillion or so digits of pi. By the time Apple's lawyers determine it isn't, the guys who decoded & published it will be long dead.
Lawyer1: Is the first digit "3"?
Lawyer2: No.
Lawyer1: UNLEASH THE HOUNDS!!
Re: (Score:3, Insightful)
How long is copyright nowdays?
How old is Mickey Mouse?
Re: (Score:2)
80 years this year. I get your point, but Wikipedia says [wikipedia.org] that copyright usually last between 50 and 100 years after the creator's death. Walt Disney died in 1966, that is 42 years ago.
Re: (Score:2)
Seeing that the Apple I was made out of parts that Jobs and Woz stole from Atari, I imagine there's copyright violations all over the place!
Re: (Score:3, Insightful)
Yeah, but runners sometime train with weights on to build strength. When they remove them their speed improves.
Re: (Score:2)
Yes! Like Rock Lee in Naruto: http://www.youtube.com/watch?v=06wLqMNn3co [youtube.com]
Microcontrollers (Score:2)
Really? I am not sure about that, it would effectively be telling them to to not use what was available to them.
As long as there are integrated circuits, there will always be dirt-cheap microcontrollers that don't have a lot of ROM and RAM available to them.
Electron ROM Ripping, ol' school (Score:5, Interesting)
Re: (Score:2)
92-95 is "ol' school?"
God, I feel old now...
I had a TRS-80 Model 1
I pre-date the integrated circuit, you insensitive clod!
Nobody will ever use more than 640 vacuum tubes on a single storage frame...
Re: (Score:3, Funny)
Re:Electron ROM Ripping, ol' school (Score:4, Funny)
Re: (Score:3, Informative)
It was 500 baud. I've done a similar thing trying to read some of my own Model I tapes, but noise makes the simple decoding mechanism in TFA not work so well. (The Model III used 1500 baud)
I've also done some experimenting with Apple II and C-64 GCR decoding with a Catweasel board (FM/MFM already having been handled quite well), and the C-64 GCR is a lot harder to keep in sync because it doesn't have address-mark-only nibbles.
Very interesting (Score:3, Interesting)
I have a TI-99/4A that has been dead for nearly two decades, along with several hours worth of data stored on cassettes. I would love to recover the data off of those tapes. Most of it is the type of stuff a 10 year old would write in TI BASIC (and Extended Basic!), and it would really bring back some fond memories and certainly some good laughs.
Are there any generic utilities that can extract binary out of low-baud modem audio files? With the advantage of performing various audio processing and analysis in a non-linear, non-realtime manner, certainly data could be extracted by modern software that not even the actual legacy computer could decode.
Re:Very interesting (Score:4, Interesting)
http://www.cs1er.com/ [cs1er.com]
Re: (Score:2)
I have a TI-99/4A that has been dead for nearly two decades, along with several hours worth of data stored on cassettes. I would love to recover the data off of those tapes. Most of it is the type of stuff a 10 year old would write in TI BASIC (and Extended Basic!), and it would really bring back some fond memories and certainly some good laughs.
Are there any generic utilities that can extract binary out of low-baud modem audio files? With the advantage of performing various audio processing and analysis in a non-linear, non-realtime manner, certainly data could be extracted by modern software that not even the actual legacy computer could decode.
I'm sure there are emulators for the TI there. I met a few that came with a pretty complete cartridge collection including extended basic. Copyright is bound to be a little querky as there is TI stuff and there is Geneve. I think TI might have given up on their copyright, since their stuff has NO commercial value presently save the speech synthesizer.
http://www.mrousseau.org/programs/ti99sim/README.html [mrousseau.org]
Claims to be able to convert .wav file TI files to binary.
But it's rather funny, the TV tape drive was
Re: (Score:2)
Slightly OT, but will it decode this [spatula-city.org] copy of Pirate Adventure? ;-)
Uhh... (Score:5, Funny)
That must be one weird family...
Re: (Score:2)
I have a 14-years-old step-daughter who is crazy about Star Trek. Families are sure weird.
Re: (Score:2)
Nick Hodge Says (Score:4, Interesting)
Apple Inc does own an Apple I
It is actually owned by Apple Computer Australia, and on loan and display at the Powerhouse Museum in Sydney.
For many years, it was under a glass box in the foyer of the Apple Australia offices.
Re: (Score:2)
I wonder if that was the one that was on display at Apple's only distributor in Sydney when I used to go in (damn, I can almost remember the bus lines I took) and write game programs on the display models in the back. They didn't have much software back then so they let kids write stuff and leave it running as an early "attract mode". There was an Apple I in a display case... it was never powered on when I was there.
Memories (Score:3, Insightful)
I tell my kids about loading programs off cassette tapes but they just don't get it. I guess they'll never know the agony of having a program ruined by fragility of magnetic tape.
Re:Memories (Score:5, Interesting)
Tape, yes. But do you remember 45rpm floppy 7" "records" that came with magazines? Or programs broadcast over the radio late at night?
I've just written this article, coincidentally:
http://mark.tranchant.co.uk/2008/07/a-unique-generation [tranchant.co.uk]
Re: (Score:2)
:-)
My sister used to hide behind the sofa whilst games loaded off tape, as she had developed a phobia for that error message! As an annoying little brat, I would sometimes subtly turn down the volume on the tape player until the Spctrum could no longer recreate the signal, and bombed out with that error.
MP3 ? (Score:4, Informative)
The psychoacoustic models of MP3 compression must have done wonders for the ancient recording.
It's like compressing a bitmap of line art with JPEG.
Pom1 (Score:4, Informative)
http://pom1.sourceforge.net/ [sourceforge.net]
Re: (Score:2, Funny)
Hmmm....an Apple in Java....I'll have to try that.
*dunks a piece of Washington Golden Delicious in his coffee*
*munch*Not*munch*bad*munch*
Amazed it actually works (Score:5, Interesting)
The interesting thing about this article is:
This could have been done so much more easily :)
Period shift keying (Score:2)
I get the distinct impression the author doesn't know what FSK is, or that it's the encoding for the signal. Yet he still manages to decode it. The HARD way.
The author treated it as period shift keying, which is equivalent to frequency shift keying. What makes decoding an FSK signal in the period domain "the hard way"?
The decoder uses a Schmitt trigger (Score:3, Insightful)
It's not quite equivalent. The recorded wave file is heavily bandlimited so you can't reliably use a comparator to convert it to a period shift signal.
Which is why the decoder uses two comparators: one at 32768/DIVISOR and one at -32768/DIVISOR. In order to count a pair of transitions, the decoder has to see the waveform cross below the negative threshold and then above the positive threshold. This Schmitt trigger [wikipedia.org] provides a bit of hysteresis that cleans up the signal. The value of this DIVISOR corresponds to the tape deck's volume control.
If there were any noise around the zero-crossing point, it wouldn't work at all.
Such noise is what the DIVISOR is supposed to filter out. I disassembled parts of the Apple II BIOS once, and it turn
Re: (Score:3, Insightful)
the decoder uses two comparators: one at 32768/DIVISOR and one at -32768/DIVISOR.
He doesn't do that.
Read the code in the article. I'll summarize the relevant part:
That looks like a Schmitt trigger to me.
Re: (Score:2)
a 1ms pulse (if you mean rise, 1ms hold, fall) corresponds to 500hz - Pretty much smack dab in the middle of the human auditory range.
Any encoder that filtered that out would most likely only appeal to bats and insects, who don't tend to write all that much audio processing code.
Re: (Score:2)
You obviously know more about DSP than I do (which doesn't say much!) but perhaps the non-mangling has to do with the fact that the signal is not 1200 baud. As I recall, cassette tape interfaces recorded at 110 baud.
An interesting mistake. The author would seem to be somebody who is old enough to remember 1200 bps modems (technically, not 1200 baud, though most people called them that) and just can't conceive of any data channel being slower than that!
There is a MUCH Easier Way... (Score:5, Informative)
I own an Apple 1. ...And a copy of Apple 1 BASIC on cassette, and Woz's Mini-Assembler that is "origin-ed" for the Apple 1. (This is the same Mini-Assembler that was in the Apple ][ ROMs, at $F666). And a few other Apple 1 goodies.
Do you realize that the cassette interface for the Apple 1 and the Apple ][ are identical?
Yep, you can read an Apple 1 audio cassette with any old, easy-to-find Apple ][. And from there, you can use any one of a million methods to get the data out of memory and onto another medium.
Also, you can simply use the Apple ][ to create a NEW cassette for your Apple 1 (if you happen to be lucky enough to have one).
BTW, I think mine is "serial number" 0064. At least that's what I think the "0064 that is written in Sharpie on the PC board means...
Re: (Score:2)
Grab a Flickr [flickr.com] account, and upload the photos there.
Having scans of that book preserved somewhere for posterity would be pretty freakin' awesome too. I sincerely doubt Woz would mind...
This is your chance to be a geek hero. Share the wealth!
Those were the days... (Score:4, Funny)
Many seasons ago, in a high school computer lab in the Bronx. I would save programs from computer labs Commodore PET to tape and wonder why they would always be blank the next day. Over time I realized that riding the NYC trains with my school bag on the car floor was not such a cool idea. NYC trains were somehow erasing the tapes when they were place closed to the floor. Until I figured this out there were many nights spent pondering what the gods of computing had against me. Curse you Number 6 Line! Curse you!!!
"Ahhh the suffering...."
Re:Those were the days... (Score:4, Informative)
That's because they're electric trains with big spinning magnets ;-)
The BBC used to get people to take taxis rather than use the Underground, for the same reason.
Re: (Score:3, Informative)
Why they didn't use MESS? (Score:3, Interesting)
MESS emulates the Apple I, can read WAVE files, and the entire source code is available. :)
I miss my old CoCo3, but I hated cassette tapes. The saddest thing is that Audio Cassettes were designed to be lousy as a data storage media - they used two sides (interference), and were created to record just human voice. The only other option were floppy drives, and back then they were expensive and/or overpriced ($200 and up) which is equivalent to $400+ now in 2008. Most drives had to include the entire controller I/O inside the unit, and probably also a disk OS.
6502 assembly - now there's a blast from the past (Score:3)
I disassembled a few dozen bytes of the dump to see what it looked like. I have no idea what it's supposed to be doing, but seeing the code does take me back a few decades...
E000 4C B0 E2 JMP $E2B0
E003 AD 11 D0 LDA $D011
E006 10 FB BPL $E003
E008 AD 10 D0 LDA $D010
E00B 60 RTS
E00C 8A TXA
E00D 29 20 AND #$20
E00F F0 23 BEQ $E034
E011 A9 A0 LDA #$A0
E013 85 E4 STA $E4
E015 4C C9 E3 JMP $E3C9
E018 A9 20 LDA #$20
E01A C5 24 CMP $24
E01C B0 0C BCS $E02A
E01E A9 8D LDA #$8D
E020 A0 07 LDY #$07
E022 20 C9 E3 JSR $E3C9
E025 A9 A0 LDA #$A0
E027 88 DEY
E028 D0 F8 BNE $E022
E02A A0 00 LDY #$00
E02C B1 E2 LDA ($E2),Y
E02E E6 E2 INC $E2
E030 D0 02 BNE $E034
E032 E6 E3 INC $E3
E034 60 RTS
Back in my C64 days, I used to practically think in 65xx assembly code... ah, memories.
Two people? (Score:2)
Surprised none of the other grammar nazis* picked up on this:
"...neither Steve nor Woz..."
Erm, isn't Steve Wozniak one person?** Perhaps he meant "...neither Jobs nor Woz..."?
* sorry if I mis-capitalized/mis-punctuated "Nazi's"
** spare the fat jokes
Neither Steve nor Woz owns an Apple I? (Score:5, Informative)
I still own a couple Apple I's.
Re: (Score:2)
Re: (Score:2)
Wouldn't it be ironic if Apple sues this guy for copyright infringement and pushing the DMCA instead of being thankful that he recovered this piece of history?
It would be extremely unlikely. Apple has to respond promptly to schemes that bypass controls that they are are contractually obligated to provide. They have not, so far as I know (and I've used Apple computers almost as long as there have BEEN Apple computers) ever shown any interest in chasing after people over ancient legacy stuff.
Re:Apple I BASIC? (Score:4, Insightful)
Who cares? The fun is in recovering it, not using it! I'm sure that the archeologists that find mummies don't want to mummify dead people, they just want to learn about how the ancient people lived.
Re: (Score:3)
If you can read Portuguese, check my blog [blogspot.com]
If you can use Babelfish, check out his blog [yahoo.com] :-)
Re: (Score:2)
Re: (Score:2)
Re:Apple I BASIC? (Score:4, Funny)
The fun is in recovering it, not using it!
The real fun is in irritating Woz by reporting all the bugs to him again.
Hey Woz. I just found this small program you wrote and boy, is this code terrible!
Re: (Score:2, Informative)
Nope. Woz rolled his own standard. MUCH faster and MUCH more reliable than the Kansas City standard.
In fact, of all the cassette interfaces of the day, including some REALLY elaborate S-100 ones developed by Don Tarbell, the Apple 1 (and Apple ][) cassette interface stands alone in reliability and "forgiveness" to things like playback level and tape quality. That is because Woz depended SOLELY on the timing of ZERO CROSSINGS of the signal, which, unless the tape speed is enormously out of whack, or enormous