Jump to content
Kr0tki

OS source code - all revisions

Recommended Posts

I have attempted to recreate source codes of all known official revisions of the Atari OS. I have used the official source listings for 800 rev. B and XL rev. 2 published by Atari back in the day as a base, and deassembled ROM binaries of other revisions to find out the differences. The resulting archive contains sources for the following OS revisions:

 

400/800 rev. A

400/800 rev. B

1200XL rev. 10

1200XL rev. 11

600XL/800XL rev. 1

800XL/65XE/130XE rev. 2

1450XLD rev. 3 (prototype)

1450XLD rev. 3 ver. 4 (prototype)

XL Rev. 5 (prototype)

65XE/130XE rev. 3

XEGS rev. 4

Arabic 65XE rev. 59 (not fully commented)

Arabic 65XE rev. 59 (Kevin Savetz' prototype, not fully commented)

 

All source files can be assembled using ca65.

 

Remove the .txt part from the filename, then unpack with 7-zip. See README for details.

Edited by Kr0tki
  • Like 19

Share this post


Link to post
Share on other sites

Very impressive!! Many thanks for this, it should be an invaluable reference! :thumbsup: :-D

 

 

mysterious quote: How do you define relevant ? It all depends...

Share this post


Link to post
Share on other sites

Update:

* Added new details concerning the 400/800 OS 255 and 1200XL Rev. 11 in the README.

* Improved formatting of the BB1r59a source file (Kevin Savetz' Arabic 65XE).

Edited by Kr0tki
  • Like 3

Share this post


Link to post
Share on other sites

Nice work!

 

I checked the OS EPROMs (dated 6-15-79) in old #26 and they do NOT have OS 255. It looks like Rev. A, though I haven't fully compared them. PEEK(65528) would read 221, right?

Share this post


Link to post
Share on other sites

My November 1980 copy of the OS User's Manual includes a source listing, but only of the EQUATE file. Still, it's interesting. It starts with:

 

LIST X
; THIS IS THE ORIGINAL JUNE 1979 ATARI 400/800 COMPUTER OPERATING
; SYSTEM LISTING, MODIFIED TO ASSEMBLE ON THE MICROTEC CROSS
; ASSEMBLER. IN ACTUALITY, A COUPLE OF FILLER (ZERO) BYTES
; SHOWN IN THIS LISTING WERE NOT ZERO IN RELEASED ROMS.
; ALSO, RESET VECTORS, COLD START VECTOR, ROM CHECKSUM OF THE
; RELEASED CODE ARE NOT REPRESENTED HERE--THIS CODE ASSEMBLES
; INTO THE VERSION USED TO LOAD INTO ATARI'S RAM-BASED
; COMPUTER DEVELOPMENT SYSTEMS.
;

  • Like 1

Share this post


Link to post
Share on other sites

Interesting indeed. I'm gonna incorporate this bit in the source files in the next update.

 

Do you happen to know if the 1980 OS User's Manual was made available online? I would like to see the rest of the equate file.

 

Thanks for dumping the ROMs of the Engineering Serial #26.

Edited by Kr0tki

Share this post


Link to post
Share on other sites

I haven't seen it on line. Mine is a faded photocopy. I'll try to scan it some time (too busy this and next weeks, maybe during the holidays).

Share this post


Link to post
Share on other sites

Comparing the A (1980 manual) and B (1982 listing) Equates by eye, I noticed only these differences:

 

Initial comment page - A mentions format changes required for MICROTEC assembler (implying they used another assembler before)

A has no PALFLG label

In A, COLLEEN is pasted over with ATARI 400/800 in different font

A defines labels with *=*+N where B uses .RES N

A is missing the label definitions IMASK and JVECK - 5 spare bytes there

Most right side comments in A are missing semicolons

Many white-space format differences

Edited by ClausB

Share this post


Link to post
Share on other sites

Look at what I found.

P1010003_zps82c7c839.jpg

P1010004_zpsed51b3bc.jpg

P1010005_zps8845e40e.jpg

P1010006_zps8cd97f4f.jpg

 

It looks very much like an orignal. It is slightly different to yours tho.

P1010007_zps1422ec7d.jpg

 

James

Edited by sup8pdct
  • Like 1

Share this post


Link to post
Share on other sites

Yet another version! Your BOOT listing appears identical to the 1982 listing aside from line and page numbers. Your EQUATE listing looks the same except for the missing PALFLG. So is this A or B?

Share this post


Link to post
Share on other sites

Interesting bit of history - from the 1980 OS Manual section 10 - about the PDP-11 development system:

 

post-18605-0-81974900-1356814055_thumb.jpg

 

post-18605-0-67363700-1356814121_thumb.jpg

Edited by ClausB
  • Like 1

Share this post


Link to post
Share on other sites

Found my rev B source listing It too is an orignal or a very good photocopy.

Here is a page from it

ossource_zpsda5bb94c.jpg

When compaired to same place in rev A

ossource-2_zps77f97990.jpg

 

Yes, Rev B does list Palflg as one of the 1st lines. Other then that, not very much different from rev A as far as the opening page is concerned.

James

  • Like 1

Share this post


Link to post
Share on other sites

Thanks ClausB for the scans. I'm going to include this file in the next update.

 

sup8pdct, that's a great find! I was not aware that Rev. A was published at all.

 

Comparing the differences between Rev. A and B binaries I am able to determine which pages should be different in Rev. A source listing when compared against Rev. B. Could you take a few more photos? Please provide Rev. A pages that correspond to the following pages in Rev. B sources - they should contain differences in source code:

30-32 (lines 1216-1365)

34 (lines 1386-1439)

37 (lines 1548-1584)

46 (lines 1967-1996)

49 (lines 2128-2162)

58-59 (lines 2647-2670)

85-86 (lines 3752-3857)

92 (lines 4036-4082)

Share this post


Link to post
Share on other sites

there is a small diference near line 5782

ossourcepages-3_zpsd0cfff4c.jpg

 

ossourcepages-2_zps10a069dd.jpg

 

ossourcepages_zps82795ba9.jpg

 

ossourcepagestake2_zps1f3c9fe0.jpg

 

ossourcepagestake2-2_zps71168845.jpg

 

ossourcepagestake2-3_zpsdb52a217.jpg

 

ossourcepagestake2-5_zpse79f18f8.jpg

 

ossourcepagestake2-6_zps04129510.jpg

 

 

ossource-2_zps77f97990.jpg

 

ossourcepages-5_zps3140eae0.jpg

 

ossourcepages-9_zps21c28d62.jpg

 

ossourcepages-8_zpsfb06276d.jpg

ossourcepages-7_zpse68b0b5f.jpg

 

ossourcepages-6_zps8361d997.jpg

there are 2 missing lines around line 404. RevB has imask and jveck

ossourcepages-4_zpsd2eba887.jpg

Edited by sup8pdct

Share this post


Link to post
Share on other sites

Thank you James. I've edited the source file according to the photos.

 

I'm betting that there are other formatting differences between Rev. A and B that we don't know about yet (for example, line numbers on p. 9 indicate that there are 9 more lines of text somewhere between lines 62 and 387 in Rev. A), but it won't be possible to find them without scanning the whole document. At least the parts with differing source code are fully covered now.

 

Here's the package update.

Edited by Kr0tki
  • Like 3

Share this post


Link to post
Share on other sites

The books have been packed away now and won't be able to look at them for a year. Glad most stuff has been caught.

 

James

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...