Savetz Posted October 13, 2016 Share Posted October 13, 2016 I have scanned* the source code printouts for the Atari PILOT cartridge: https://archive.org/details/AtariPILOTSourceCode I've included the first page here to whet your appetite, but you'll have to download the full ZIP files from archive.org to see the whole things. *By scanned, I mean: photographed, because I promised the person who lent me the printouts that I would not separate the pages. The pictures are, I believe, good enough. Readable enough to be entered by hand if anyone is inclined to do so. more good stuff to come. 16 Quote Link to comment Share on other sites More sharing options...
jaybird3rd Posted October 13, 2016 Share Posted October 13, 2016 Thanks very much for photographing these pages! I bet we can get these transcribed if we divide up the pages among ourselves. Having an extra pair of eyes to proofread the transcribed copy would also be helpful. Quote Link to comment Share on other sites More sharing options...
+Stephen Posted October 13, 2016 Share Posted October 13, 2016 I don't know how you keep doing this, but holy crap! 1 Quote Link to comment Share on other sites More sharing options...
Atari_Ace Posted October 14, 2016 Share Posted October 14, 2016 Thanks very much for photographing these pages! I bet we can get these transcribed if we divide up the pages among ourselves. Having an extra pair of eyes to proofread the transcribed copy would also be helpful. I have a disassembly I've been working on and off again for PILOT and Logo, so I plan on generating a transcription like I did for the calculator source code. I find that you can OCR it and then pump it through an assembler to catch most of the typos. 6 Quote Link to comment Share on other sites More sharing options...
R4ngerM4n Posted October 14, 2016 Share Posted October 14, 2016 Wow! Thanks! Quote Link to comment Share on other sites More sharing options...
luckybuck Posted October 17, 2016 Share Posted October 17, 2016 Kevin, You are a miracle, again and again, and again. Speechless in Germany. Thank you so much! :-))))))))))))) Quote Link to comment Share on other sites More sharing options...
Atari_Ace Posted October 17, 2016 Share Posted October 17, 2016 Here's the transcription of the scan, along with a script I used to massage it to MADS format for validation. I verified the object code output is byte for byte identical to the cartridge image I originally disassembled, so I believe the transcription errors should be mostly minor. pilot1.zip 9 Quote Link to comment Share on other sites More sharing options...
Savetz Posted October 17, 2016 Author Share Posted October 17, 2016 @Atari_Ace, you are magical. I'll work on getting the next batch of pictures to ya'll soon. —Kevin 4 Quote Link to comment Share on other sites More sharing options...
Atari_Ace Posted October 18, 2016 Share Posted October 18, 2016 I expanded the transcription validation to the hex codes on the left hand side of the listing, which found a number of typos which I've now fixed. I'm going to apply the same approach to the Colleen floating point routines transcription I did later this week, and the DUP.SYS listing at some point as well. pilot2.zip 4 Quote Link to comment Share on other sites More sharing options...
Savetz Posted November 6, 2016 Author Share Posted November 6, 2016 Here's the source code to the unreleased PILOT II. This was marketed as Atari Super PILOT. Harry knew it as Summer Camp PILOT. (Atari Computer Camps were the only place where this programming language was used.) The source code is more than 300 pages! https://archive.org/details/AtariPILOTIISourceCode I previously discovered and released the application itself and the manual. Now the source code! -Kevin 5 Quote Link to comment Share on other sites More sharing options...
Atari_Ace Posted December 20, 2016 Share Posted December 20, 2016 Initially I wasn't going to transcribe PILOT II but something must have come over me, since here it is. I include some of the validation tools I used to verify the listing is accurate modulo typos in the comments. p2check.pl converts the source code to MADS format. It's chatty to STDERR where it detects discontinuities in the listing (since the listing only outputs five bytes per lines and some lines have more) or when it looks like a comment is a space off from where it should be. I've looked through these warnings and they can be ignored. p2x.pl takes the p2list.txt (the source listing) and the listing from MADS -l to compare the output hex codes on the left side of the listing. This caught the typos on the left hand side of the listing. obx.pl generates a memory dump from an obx/xex file. I used this to find the remaining typos, independent of the obx layout, since pilot46.obx is made of lots of small segments (presumably a quirk of the assembler used), whereas MADS generated a couple of segments. Enjoy! sp2_1.zip 8 Quote Link to comment Share on other sites More sharing options...
+Allan Posted December 20, 2016 Share Posted December 20, 2016 Thanks, Atari_Ace, for doing this. Do you think that this could be converted to a ROM file. Allan Quote Link to comment Share on other sites More sharing options...
Atari_Ace Posted December 20, 2016 Share Posted December 20, 2016 Thanks, Atari_Ace, for doing this. Do you think that this could be converted to a ROM file. Allan Not without some work. It's covers about 18K of space as currently assembled from 7800 to BFFF, and I don't think you can have a flat ROM greater than 16K. In truth it's less than 700 bytes over 16K, so it could get optimized/have a few features removed to squeeze it into a standard 16K rom. Quote Link to comment Share on other sites More sharing options...
Savetz Posted December 27, 2016 Author Share Posted December 27, 2016 Amazing work. Thank you! Initially I wasn't going to transcribe PILOT II but something must have come over me, since here it is. Quote Link to comment Share on other sites More sharing options...
luckybuck Posted December 27, 2016 Share Posted December 27, 2016 Thank you soooooooooooooooo much Atari_Ace, we are really deep your debt! Have a really good jump into 2017! Thank you so much. Quote Link to comment Share on other sites More sharing options...
JAC! Posted December 27, 2016 Share Posted December 27, 2016 Great job! Could you include the MADS version of the source here? I don't have a perl environment nor experience with perl. >Do you think that this could be converted to a ROM file.Since it can be compressed to around 13k that's possible. But since it is designed to run with/from DOS, the question is why you'd want to do that (part from startup time). Quote Link to comment Share on other sites More sharing options...
Atari_Ace Posted December 27, 2016 Share Posted December 27, 2016 Great job! Could you include the MADS version of the source here? I don't have a perl environment nor experience with perl. >Do you think that this could be converted to a ROM file. Since it can be compressed to around 13k that's possible. But since it is designed to run with/from DOS, the question is why you'd want to do that (part from startup time). I'm including it, but it hacks PROC blocks by incrementing a counter for every time a new block occurs and the prefixes local labels with L<index>_. I couldn't figure out how to make MADS work in a similar fashion, so although this assembles, it's not the cleanest translation. The other adjustments were minor in comparison. p2mads.zip Quote Link to comment Share on other sites More sharing options...
JAC! Posted December 27, 2016 Share Posted December 27, 2016 Placing PROCs correctly is must easier manually afterwards. Code like this often uses implicit procedure ends using branches etc. As a human you can just read the comment and see what it means. Interesting to see the compile time flags for the different features and that light pen and disk don't compile together. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.