Larry Nelson was kind enough to send me a CD of the Apple I Owner's Club software library. On the CD were MP3 and WAV versions of several porgrams. I promised to test them and give a report on my results.
First, I deicded to just try the WAV files because I han no success so far with the MP3's I'd tried (I figure MP3 should work just fine, but so far I haven't got one to work yet). Also, I decided that dumping them out to cassette to load into my Apple I was going to be time consuming, so I added a new peripheral to my Apple I, a Titanium PowerBook G4 Mac. It looks real cute sitting on tom of the sanyo monitor I simply double clicked on one of the files and when it opened in the Quicktime player, I loaded it into the Apple I from the headphone jack of the PowerBook. Works like a champ! The first program I tried to load was Lunar Lander. It's not a Basic program, so it's the easiest to test. It loaded fine and runs perfectly, except I keep creaming the 29 megabuck lander ::)
Then I tried to load BASIC. Several attempts didn't result in a good load. Each time the cursor failed to came back after the load was supposedly complete. There was something loading because I could enter at $E000 and get the BASIC prompt. The Auto command yould give me line numbers, but if I wrote a simple program and tried to list it, it would only list the first line and hang up. There was a program titled "Super BASIC", so I decided to try to load it. Eureka! It works! It loads OK, and gives a cursor back at the end. You can write programs and they list OK and run fine! With a working BASIC loaded, I tried the other games: Blackjack, Gomoko and Hamurabi. None of them load properly. The cursor doesn't come back after any of them. I will have to do some investigation into the problems with these files. I'll give the MP3 versions a try and if they don't work, I'll look at the waveforms to see if there's some distortion anywhere.
I haven't tried the Dis-Assembler or "New Monitor" yet, that will be my next project. Now at least, with a working BASIC I can at least re-enter some of the old programs. I think I can find some of the listings on the Internet.
More Later....
I'm wondering if "Super Basic" is Larry's modified version he did years ago or some other version of Basic for the Apple 1?
If you get more running I'll have to talk to you about how to preserve the data!
Vince
It's great that some of the programs load. It proves you can still read the data written on tapes 25+ years ago.
SUPER BASIC
I made some "minor" modifications to BASIC. I added a few commands that Woz left out of the original. Nothing so earth-shattering that I even remember what they were at this time. There were some empty spaces in the BASIC program that I filled with short subroutines. SUPERBASIC should work just like BASIC, though.
LOADING BASIC PROGRAMS
In the years since I last used my Apple-1, I'm not sure I remember the storage points of each program. If I gave you the wrong loading instructions it would account for the problem of not being able to load a tape. Try this: On a BASIC program that won't load, just load the first segment; 4A.00FFR. If it loads and the computer returns to the monitor, the tape can be read. Now look at the memory locations 004A, 004B, 004C, and 004D.
004B is high byte of the starting address of the second segment on the tape. 004A is the low byte of that address.
004D and 004C respectively form high and low bytes of the ending address of the 2nd segment, plus 0001h. If the 004D,004C combination is <1000h> then the ending address would be 0FFFh (1000-0001=FFFF hex). Replace the addresses you have been using with the calculated addresses and see if you can load the program. If that works, WRITE IT DOWN! If not, the problem may be with the recording itself.
Larry Nelson
Little by little, I'm getting more of the programs to run. Larry's suggestions are very helpful. I had already tried to load just the first section of a BASIC load. But I was trying that for a different reason. None of the basic programs were giving me a cursor back at the end of the tape. But Lunar Lander and Super BASIC were returning the cursor as they should, and running fine. So the problem obviously was not the caassette interface. I decided to try loading just the first part of one of the basic programs (usually loads $4A to $FF) and see if I could get a cursor back from that portion. No Joy. I didn't bother to look at what had loaded though. Following Larry's tip, I loaded the first section again after zeroing out 4A to 4D. I then tried the first part of Black Jack. I loaded 00 08 00 10 which is 1 byte more than I was expecting to see, the last two bytes should have been FF 0F. I set those two bytes to what I thought they should be, and then proceeded to load the second the second half of Black Jack. It gave me a cursor back!!!! I entered BASIC at $E2B3 and did a list, there was a program! I ran it and up came Black Jack. I won two hands and quit (What a high roller I am). Then I tried the same technique with the other two programs, Hamurabi and Gomoko. The second sections of each of those programs load and return the cursor, the first part (pointers) do NOT return a cursor. Neither of those programs would run, but Hanurabi is close. There is some garbage in 3 or 4 of the first lines, but then everything looks OK. I think I can edit it and fix the problems. The Gomoko doesn't look so good. It's listing is riddled with garbage. But it's a start, at least there's one good program and one that may be repairable.
I also took a look at the Dis-Assembler again. The problem with trying to find the entry point of a machine language program is that it's much easier with a Dis-Assembler. So since the Dis-Assembler isn't working, it makes it tough. I tried loading it into an Apple II which has a built in Dis-Assembler. The Apple II cassette interface is functionally quite similar to the Apple I. I was able to load the Apple I Dis-Assembler and list some of it. Unfortunately, I don't seem to get a good complete load. It starts to garbage up a couple pages in and gets worse and worse. Must be some slight timing errors that are introducing garbage on the Apple II. In the part that does list OK, I haven't found anything that looks like a good entry point. I'll keep looking.
More later....
Steve,
Congratulations!!! Since you now have blackjack running I have something for you. Check your private message.
Vince
replica 1 The Apple 1 replica
http://home.comcast.net/~vbriel/index.htm
I know this thread stopped about a year ago, but did you make any further progress with getting the Apple 1 software to load? Also, once you had some of the programs running, did you try saving them out to cassette again?
Now that there is considerable support for software decoding of these MP3/WAV files, and full audio/WAV support in the Apple 1 driver in MESS, we may finally have a way to fully recover the entire library as it actually was (with the occasional disassembly/fix required, I'm sure - Lord knows it wasn't fun hex-editing Mastermind directly from the 3rd-gen PDF scan out there!!!).
Does anyone have an image of this CD, or if not, the capability to copy it? Is it permissible to put the full content of the CD online?
My intentions are to fully reconstruct/restore every recording out there in hex, listing (for BASIC), and FLAC/WAV form (in pure digital form direct from MESS to avoid digital-analog-digital loss), including documentation and disassembly listings where available, for a permanent archive of all legacy Apple 1 software that should stand the test of time.
Any pointers on where to get at the actual content? Some of it (like Integer BASIC) is easy and confirmed...others need more TLC to be sure what's out there is fully accurate to history.
Rodney
Hello, I have the following mp3 files for the Apple I.
basic.mp3 128kbps/44.100Hz 37seconds (BASIC) 588kb
blkjk.mp3 128kbps/44.100Hz 32seconds (Black Jack) 507kb
lunar.mp3 128kbps/44.100Hz 19seconds (Lunar Lander)296kb
strtrk.mp3 128kbps/44100Hz 39seconds (Star Trek) 617kb
I don´t know where I downloaded the files. Must be years ago.
If you wan´t the files, send me a mail to:
SchwindS@gmx.de
SchwindS