Jump to content

Photo

Atari PILOT source code


17 replies to this topic

#1 Savetz OFFLINE  

Savetz

    Dragonstomper

  • 834 posts
  • Location:Portland OR

Posted Thu Oct 13, 2016 2:03 PM

I have scanned* the source code printouts for the Atari PILOT cartridge:

 

https://archive.org/...PILOTSourceCode

 
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.
 
PILOT412.JPG PILOT414.JPG


#2 jaybird3rd OFFLINE  

jaybird3rd

    Quadrunner

  • 8,502 posts
  • "Excuse me, sir? I have a question ..."
  • Location:806.4616.0110

Posted Thu Oct 13, 2016 4:53 PM

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.



#3 Stephen OFFLINE  

Stephen

    Quadrunner

  • 6,513 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Thu Oct 13, 2016 5:44 PM

I don't know how you keep doing this, but holy crap!



#4 Atari_Ace ONLINE  

Atari_Ace

    Star Raider

  • 95 posts
  • https://ksquiggle.neocities.org/
  • Location:Seattle, WA

Posted Thu Oct 13, 2016 7:53 PM

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.



#5 R4ngerM4n OFFLINE  

R4ngerM4n

    Moonsweeper

  • 397 posts
  • Beware of my friends!
  • Location:Sofa cushion.

Posted Fri Oct 14, 2016 2:59 AM

Wow! Thanks!



#6 luckybuck OFFLINE  

luckybuck

    Dragonstomper

  • 725 posts

Posted Mon Oct 17, 2016 2:09 AM

Kevin,

 

You are a miracle, again and again, and again.

 

Speechless in Germany.

 

Thank you so much! :-)))))))))))))



#7 Atari_Ace ONLINE  

Atari_Ace

    Star Raider

  • 95 posts
  • https://ksquiggle.neocities.org/
  • Location:Seattle, WA

Posted Mon Oct 17, 2016 10:20 AM

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.

Attached Files



#8 Savetz OFFLINE  

Savetz

    Dragonstomper

  • Topic Starter
  • 834 posts
  • Location:Portland OR

Posted Mon Oct 17, 2016 10:49 AM

@Atari_Ace, you are magical.

 

I'll work on getting the next batch of pictures to ya'll soon.

 

—Kevin



#9 Atari_Ace ONLINE  

Atari_Ace

    Star Raider

  • 95 posts
  • https://ksquiggle.neocities.org/
  • Location:Seattle, WA

Posted Tue Oct 18, 2016 7:58 AM

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.

Attached Files



#10 Savetz OFFLINE  

Savetz

    Dragonstomper

  • Topic Starter
  • 834 posts
  • Location:Portland OR

Posted Sun Nov 6, 2016 4:34 PM

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/...LOTIISourceCode

 

I previously discovered and released the application itself and the manual. Now the source code!

 

-Kevin

 

PILOTII_8796.JPG

PILOTII_8798.JPG

 



#11 Atari_Ace ONLINE  

Atari_Ace

    Star Raider

  • 95 posts
  • https://ksquiggle.neocities.org/
  • Location:Seattle, WA

Posted Tue Dec 20, 2016 1:10 PM

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!

 

Attached Files



#12 Allan ONLINE  

Allan

    Quadrunner

  • 6,098 posts
  • Location:Wallingford, CT

Posted Tue Dec 20, 2016 1:47 PM

Thanks, Atari_Ace, for doing this.

 

Do you think that this could be converted to a ROM file.

 

Allan



#13 Atari_Ace ONLINE  

Atari_Ace

    Star Raider

  • 95 posts
  • https://ksquiggle.neocities.org/
  • Location:Seattle, WA

Posted Tue Dec 20, 2016 2:31 PM

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.



#14 Savetz OFFLINE  

Savetz

    Dragonstomper

  • Topic Starter
  • 834 posts
  • Location:Portland OR

Posted Tue Dec 27, 2016 10:25 AM

Amazing work. Thank you!

 

Initially I wasn't going to transcribe PILOT II but something must have come over me, since here it is.

 

 



#15 luckybuck OFFLINE  

luckybuck

    Dragonstomper

  • 725 posts

Posted Tue Dec 27, 2016 10:39 AM

Thank you soooooooooooooooo much Atari_Ace, we are really deep your debt! Have a really good jump into 2017! Thank you so much.



#16 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,550 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Tue Dec 27, 2016 3:33 PM

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).



#17 Atari_Ace ONLINE  

Atari_Ace

    Star Raider

  • 95 posts
  • https://ksquiggle.neocities.org/
  • Location:Seattle, WA

Posted Tue Dec 27, 2016 4:06 PM

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.

Attached Files



#18 JAC! OFFLINE  

JAC!

    Stargunner

  • 1,550 posts
  • Always looking for GFX and MSX for my demos
  • Location:Lebach, Germany

Posted Tue Dec 27, 2016 4:34 PM

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.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users