Jump to content
IGNORED

Macro Assembler and Program-Text Editor


Recommended Posts

John Hardie just discovered a new version of Atari's Macro Assembler and Program-Text Editor. While all releases found so far were "V1.0A" editions, a "Company Confidential" disk with a hand-written "V1.0E" label was unearthed and dumped recently:

http://www.atarimania.com/utility-atari-400-800-xl-xe-atari-macro-assembler-and-program-text-editor_14315.html

 

 

 

  • Like 4
  • Thanks 3
Link to comment
Share on other sites

The excutable really differs.

Visible differences:

 

Startup message

ATARI Macro Assembler Ver  1.0A
Copyright 1981 ATARI

vs.

ATARI Macro Assembler Ver  1.0E
Copyright 1981 ATARI Inc.

 

Additional error message

Long Xref requires PS

 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

@tschak909 posted a copy of version 1.0C of the Macro Assembler a few years ago.

 

I have the disks he posted, but I can't locate the original post he made, ATM. The reason I was specifically looking for that is because he mentioned the differences for that version in his post. Maybe he'll comment about it...

 

amac10c.thumb.png.3cd3812ea0cbf285132fc8ac4510d712.png

 

Link to comment
Share on other sites

9 minutes ago, www.atarimania.com said:

My bad, I didn't know about V1.0C and found it on AtariWiki. Is it the same disk? The huge problem is that the density is wrong. Is the program from back in the day?

Yeah, AtariWiki has a copy of it (they got it from the same post here on AtariAge that I got it from).

 

You'll have to find out from @tschak909 about it's origins. That's why I was trying to find his original post about it. I've forgotten what he had to say about it at this point.

 

9 minutes ago, www.atarimania.com said:

What about V1.0D? Is this a hack?

I think so; and they should be noting that.

 

 

Link to comment
Share on other sites

V1.0C is a cracked V1.0A with one CMP changed

 

; code from V1.0A

; wild guess: this code is part of the parser because it checks for EOL
573C: A0 00             LDY #$00
573E: B1 8E             LDA ($8E),Y
5740: C9 44             CMP #$44
5742: D0 1B             BNE $575F
5744: 91 86             STA ($86),Y
5746: C8                INY
5747: B1 8E             LDA ($8E),Y
5749: C9 3A             CMP #$3A
574B: D0 0E             BNE $575B
574D: A9 31             LDA #$31
574F: 91 86             STA ($86),Y
5751: E6 86             INC $86
5753: D0 02             BNE $5757
5755: E6 87             INC $87
5757: A9 3A             LDA #$3A
5759: D0 14             BNE $576F
575B: C9 35             CMP #$35	; CMP #$39 in V1.0C
575D: 90 03             BCC $5762
575F: 4C F2 57          JMP $57F2

5762: C9 31             CMP #$31
5764: 90 F9             BCC $575F
5766: 91 86             STA ($86),Y
5768: C8                INY
5769: B1 8E             LDA ($8E),Y
576B: C9 3A             CMP #$3A
576D: D0 F0             BNE $575F
576F: 91 86             STA ($86),Y
5771: A2 00             LDX #$00
5773: C8                INY
5774: B1 8E             LDA ($8E),Y
5776: C9 9B             CMP #$9B	; check for EOL
5778: D0 03             BNE $577D
577A: 4C F4 57          JMP $57F4

 

V1.0D is a slightly patched V1.0C (the crack was done exactly the same as in V1.0C)

 

; differences in V1.0D

; V1.0D opens a file R/O whereas all the other versions open it R/W
4FFA: A2 70             LDX #$70
4FFC: A5 8E             LDA $8E
4FFE: 9D 44 03          STA ICBAL,X
5001: A5 8F             LDA $8F
5003: 9D 45 03          STA ICBAH,X
5006: A9 04             LDA #$04	; LDA #$0C in V1.0A and V1.0C
5008: 9D 4A 03          STA ICAX1,X
500B: A9 00             LDA #$00
500D: 9D 4B 03          STA ICAX2,X

;

; same area as in first code snippet
5749: C9 3A             CMP #$3A
574B: F0 22             BEQ $576F
574D: 90 13             BCC $5762
574F: 29 5F             AND #$5F
5751: C9 41             CMP #$41
5753: 90 0A             BCC $575F
5755: C9 50             CMP #$50
5757: 90 09             BCC $5762
5759: EA                NOP
575A: EA                NOP
575B: EA                NOP			; the changed CMP from the first
575C: EA                NOP			; code snippet would be here
575D: EA                NOP
575E: EA                NOP
575F: 4C F2 57          JMP $57F2

 

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, www.atarimania.com said:

Appreciate your in-depth analysis, we have a clear picture of what all the versions are now.

There's one more thing ;)

 

The code in the above mentioned differing areas in V1.0E is the same as in V1.0A; except that it is moved in memory by $42 bytes ($577E vs. $573C).

 

This leads to the conclusion that both C and D are not later releases but hacks for whatever reason.

Edited by DjayBee
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Final analysis :

 

The hacked code is not part of the parser but the check for entered file names. 

 

1.0C extends the range of allowed drives from D1-D4 to D1-D8. 

 

1.0D does the modification described by drac030 in the thread linked by MrFish :

 

"named the version 1.0d. It should produce binaries of non-zero size, and accept drive numbers D1: - D9: and DA: - DO: at the parameter prompt. Also, 😧 should no longer be explicitly translated to D1:" 

  • Like 5
  • Thanks 1
Link to comment
Share on other sites

5 minutes ago, _The Doctor__ said:

Gotta be a way to make it clear in the program display as well as on file naming convention...

Yes and no.

The unchanged filename was a mistake I corrected now but I won't change the program display besides 1.0E vs. 1.0e because there is no space to add something and I do not deliberately remove copyrights etc.

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