Jump to content
IGNORED

a800ossrc


Bruce Tomlin

Recommended Posts

I was skimming over some old messages in csa8 when I noticed someone asking about the OS ROM source code. Someone pointed to a 6 meg PDF of an Atari publication with a listing of the source. Someone else whined about it being a grayscale PDF file with the listing sideways, and that he couldn't do anything with the PDF. So I downloaded it, found that Preview on OS X was perfectly capable of saving a rotated version. Even more, I found that Omnipage Pro X had no major complaints about it, other than automatically rotating most of the pages to upside-down.

 

So I OCR'ed it, then spent a couple of evenings cleaning up the listing. I even got it to assemble (after doing a few search 'n replaces to get around the assembler syntax it used) to something much like a ROM file I had. The comments may still have a few errors, but it did seem to assemble correctly.

 

The differences between it and a ROM file I had were 1) the floating point and character set regions were not included, 2) the reset/interrupt vectors were missing, and 3) there were some patches that may have been made to improve emulator performance. After adding the code below, I got it to match the top 8K.

 

 .ORG  IHINIT+$12; $E6E7
NOP
NOP
NOP

.ORG  $E90B      ; not defined above
.BYTE $66,$66,$7E,$66,$00,$00,$7C
.ORG  *+3; JMP SETVBL
.BYTE $66,$7C,$00,$00,$3C,$66,$60,$60
.BYTE $66,$3C,$00,$00,$78,$6C,$66,$66
.BYTE $6C,$78,$00,$00,$7E,$60,$7C,$60
.BYTE $60,$7E,$00,$00,$7E,$60,$7C,$60
.BYTE $60,$60,$00,$00,$3E,$60,$60,$6E
.BYTE $66,$3E,$00,$00,$66,$66,$7E

.ORG  $EDE8     ; not defined above
.WORD $8524

.ORG  PWRUP+9   ; $F12E
.JSR  SPECL+5   ; $F244

.ORG  SPECL     ; $F23F
CMP   #$D0
BNE   HOWMCH    ; $F25F
RTS

.ORG  HOWMCH+8  ; $F267
BNE   SPECL+4   ; $F243 (=RTS)

.ORG  HOWMCH+$15; $F274
JMP   SPECL

.ORG  CLRCHP+9  ; $F283
NOP
NOP
NOP

.ORG  BELL      ; $F90A
RTS

.ORG  $FFF8     ; 6502 vectors
.WORD PIRQ,PNMI,PWRUP,PIRQ; $E6F3,$E791,$F125,$E6F3

a800ossrc.zip

  • Like 1
Link to comment
Share on other sites

And I'm going to go ahead and say that I know someone has probably already done this, but I went ahead and did it anyhow because if someone had, then nobody who knew about it said so in that thread. And I felt like doing it.

 

I definitely know others have disassembled and commented it on their own. I don't even have to look, it's just natural that someone would have done so. Well, that's nice, but it's no substitute for the historical preservation of the original source code.

Link to comment
Share on other sites

I was skimming over some old messages in csa8 when I noticed someone asking about the OS ROM source code.

 

I thought that they were asking for the XL source code. Which AFAIK was lost and never found till now. But, let me dream, might be in the VAX that Kurt recently got!

 

The source code you list (800 OS-B) is widely available in hardocpy as part of the "Technical Reference". Some dealers still have them brand new, and they show often at Ebay as well. But it is nice to have an OCRed version, thanks.

 

The differences between it and a ROM file I had were 1) the floating point and character set regions were not included, 2) the reset/interrupt vectors were missing, and 3) there were some patches that may have been made to improve emulator performance.

 

It doesn't include the floating point because it is(was) not by copyright atari, but by OSS instead. This is because the FP is actually part of Basic, and was included in the main OS because lack of space in the cart. The source was published by OSS along with the souce of Basic.

 

The interrupt vectors are modified for a LINT version, this is explained in the header of the source.

Link to comment
Share on other sites

So I OCR'ed it, then spent a couple of evenings cleaning up the listing.  I even got it to assemble (after doing a few search 'n replaces to get around the assembler syntax it used) to something much like a ROM file I had.  The comments may still have a few errors, but it did seem to assemble correctly.

 

Thanks!

Link to comment
Share on other sites

I will post on my Computers section this coming week all of the various versions I have on file.

 

 

 

Curt

 

OKay, here is the source to the XL OS Rev5,

 

This is FABULOUS ! Thanks a lot Kurt.

 

Do you happen to have older revisions? Rev2 would be the best because that's the one in most (all?) standard XL/XE systems.

962719[/snapback]

Link to comment
Share on other sites

  • 6 years later...

OKay, here is the source to the XL OS Rev5, this should cover most of the needed information for everything up to the 800XL, I know I have the patches and sources to the 1450XLD "TONG OS" someplace...

 

And here, years later, is an assembled binary of this OS revision:

 

 

I will post on my Computers section this coming week all of the various versions I have on file.

 

... still waiting, Curt ...

Edited by Kr0tki
Link to comment
Share on other sites

OKay, here is the source to the XL OS Rev5, this should cover most of the needed information for everything up to the 800XL, I know I have the patches and sources to the 1450XLD "TONG OS" someplace...

 

And here, years later, is an assembled binary of this OS revision:

 

Which is the one you assembled?

 

Quote mentions "Rev5" but your file name reads "1r4" (1984, crc32 "D0C84956")

Link to comment
Share on other sites

Not really confusing if you know the details. The above "Rev. 5" OS was not used in any production machine. OS versions BB000001 rev. 3 and 4, that were featured in the XEs and XEGS, were not developed from the above OS but were modifcations of the earlier BB000001 rev. 2, which was mounted in the 600/800XLs.

Link to comment
Share on other sites

  • 3 months later...

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.

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