Jump to content
IGNORED

Atari DOS 2.5 source code from OSS - working!


Recommended Posts

But does the binary match?

 

Though you'll probably get some differences - Dos has the various flags for drives/buffers at the start and I'm fairly sure both Dos/Dup have embedded work areas that change and get written off if you write the Dos files.

Link to comment
Share on other sites

Rybags, you are dam right and I am dam wrong. Maybe, it was too late and I was too happy...

 

Have done a binary compare on Unix:

 

 

differ: char 3387, line 38

column 2 is the original DOS 2.5, column 3 is the one compiled from the source code. Please find the ATR-image of the compiled one attached.

3387 314 0

3395 31 0

3409 103 0

3410 117 0

3411 120 0

3412 131 0

3413 63 0

3414 124 0

3415 117 0

3416 62 0

3417 103 0

3418 117 0

3419 115 0

3899 263 0

3900 352 0

4026 32 340

4027 32 2

4028 32 341

4029 32 2

4542 27 0

4543 240 0

4544 220 0

4545 140 0

5109 340 0

5110 2 0

5111 341 0

5112 2 0

5113 165 0

5114 40 0

5115 225 0

5116 40 0

5117 26 0

5118 2 0

5119 363 0

5120 1 0

5121 11 0

5122 1 0

6326 4 0

6327 4 0

6328 66 0

6329 71 0

6330 67 0

6331 40 0

6332 106 0

6333 122 0

6334 105 0

6335 105 0

6336 40 0

6337 123 0

6338 105 0

6339 103 0

6340 124 0

6341 117 0

6342 122 0

6343 123 0

6344 233 0

6345 233 0

6361 70 116

6363 103 0

6364 117 0

6365 120 0

6366 131 0

6367 63 0

6368 62 0

6369 56 0

6370 103 0

6371 117 0

6372 115 0

6373 233 0

6374 233 0

10140 64 0

10141 64 0

Well, I am just a wannabe padawan 1st year, maybe a jedi master can take over from here? Just a few bytes... ;-)
Link to comment
Share on other sites

The places with a long run of values in sequential memory don't look a lot like missing code. The long sequences of zeros that don't match the original suggests there's a lookup table declared without data... just guessing.

 

Doesn't Mac/65 make a lot of segments in large object files? Or am I thinking of another assembler?

Link to comment
Share on other sites

Yep, if there's an ORG or +*= change then Mac-65 as most other assemblers will start a new segment.

AFAIK the Dos files as supplied are raw dump for Dos.sys and single code/data segment for Dup.sys plus a segment with the run address.

 

Note Atari Dos 2.5 boots 3 sectors @ $700 but the DOS.SYS seems to get loaded at $7CB.

Link to comment
Share on other sites

Yes, that's the way it's going. Booting was with DOS 2.0s to have access to a disk. The MAC/65's main advantage was to assemble to and from disk. The object code was, as Rybags said, an ORG +*= change in order to not run into the actual DOS 2.0s. Of course, we can use the BUG/65 here, load from cassette and move the needed code the the desired places, but much more work...

 

Didn't has JAC! the same with the Action! cartridge?

 

Myself, if I disassemble something and later assemble it, there are always some screws left... ;-)

Link to comment
Share on other sites

Mac65 always has segments of about 256 bytes or so regardless. I always run m65 assembled files through a desegmenter before i call it complete.

No good doing a M65 Bsave either, same segmenting happens.

 

James

Edited by sup8pdct
Link to comment
Share on other sites

Mac65 always has segments of about 256 bytes or so regardless. I always run m65 assembled files through a desegmenter before i call it complete.

No good doing a M65 Bsave either, same segmenting happens.

 

What do you use for a "de-segmenter"?

Link to comment
Share on other sites

Check out this thread

http://atariage.com/forums/topic/218689-desegment-mac65-obj-files/

 

You could also use the spartados construction set OFF_LOAD command with limitations.

 

 

Edit:

found this.

https://archive.org/stream/analog-computing-magazine-56/Analog_Computing_56_1987-07_Four-Star_Software#page/n35/mode/2up

 

James

Edited by sup8pdct
Link to comment
Share on other sites

  • 5 years later...

Thanks Ivo, but this is not what I was searching for. ;)

I am trying to find out which parts of the Syncalc-embedded DOS are modified. To do this I must look up the source which got assembled to certain addresses in memory. Therefore I need the addresses of the resulting binary code in the listing.

 

Meanwhile I found it myself in a different corner of AtariAge. The neocities.org links are the ones.

 

Link to comment
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.
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...