Jump to content
IGNORED

Action! Source Code


Recommended Posts


Hello together!




After all those years more and more source code is coming to the Atari community:



- Atari 800 OS B Source Code


- Atari Basic Source Code


- BUG/65


- Donkey Kong


- River Raid


- Eastern Front 1941


etc...



But does anyone has the Holy Grail: the source code of Action!?



As a titel for you, I suggest: publisher of the decade? Else: Atari Pulitzer Prize? IF THEN ELSE: Lifelong honor? Atari hall of fame? ...



Stay tuned, will be continued...



Many thanks in advance, all the best, live long and prosper,



luckyroland



  • Like 1
Link to comment
Share on other sites

  • 4 months later...

Funny, I had started recontructing it just yesterday for fun (and because FloppyDoc keeps on asking me for patches :-)

What's the legal state of ACTION! / its source?

Edited by JAC!
Link to comment
Share on other sites

Funny, I had started recontructing it just yesterday for fun (and because FloppyDoc keeps on asking me for patches :-)

What's the legal state of ACTION! / its source?

 

Honestly, I wouldn't have a clue. I got my copy from ICD long before Mike Hohman bought all their stuff. Later Mike H gave me the source code to MAC/65, SpartaDos 3.5 and SDX. I did ask him for Basic XE but he said he never got the rest of the OSS stuff from ICD, which was too bad. He didn't actually have a copy of Action! himself, I gave it to him. So as far as I know, Mike Hohman is the owner of the O.S.S. product line. I also have the source to DataQue's T816-OS as well as Chuck's 65816 assembler, and some stuff from Bob Puff, like the multiplexer code, BobTerm and some BB stuff.

 

I was given all this source on the understanding that I wouldn't pass it around. I've kept that promise for nearly twenty years now, and unfortunately I wouldn't have any idea how to reach some of these people to find out if they've changed their minds. I expect Steinman is probably deceased by now, as well as the Six Forks Assembler guy who also gave me his source as well as all his design notes.

Link to comment
Share on other sites

Dear Alfred!

 

We have contact to Bob Puff, he is really nice and answers to e-mails.

 

We have the e-mail from Clinton W. Parker (author of Action!), but maybe we didn't manage to go through his spam filter.

 

That is exactly the reason, we are in that. We want to keep it for generations to come. We are on a good way, but we need desperately help.

 

If you can find the source code, there must be a way. Even the source for Mac/65 would help us very much.

 

The very best regards. :-)

Link to comment
Share on other sites

I have a copy that Tom Harker gave me many, many years ago. it uses the ICD cross assembler that Mike wrote, which I think I still have as well.

 

What an unexpected news :). I really hope to see it released one day. Modern Action! cross-compiler is one of my dreams since the begining of my Action! experiments, but even having a chance to see 'how it was done' would be a great fun.

Link to comment
Share on other sites

@JAC! - not ony you :)

 

I think the closest approach is the Action Compiler by Jim Patchell. There is some work todo; he uses some weird (well, for me) parser generator; but he attaches all the sources.

 

I personally think, that if original sources are in asm format (they surely do for 100%, (Please don't call mi Shirley :D )), they would stay as they are, because everybody armed with dis6502 can create them from binary (as I did, but it ended quickly; they are really tough and hard to read) and if she didn't, she won't. So THE BIG THING ends with label THIS BELONGS TO MUSEUM. I really want to be wrong, but anyway museum is not the bad place for this stuff.

 

The problem with Action is that there are three banks which share address space, so the job has to be done separately for each part, which leads to special care about code flow from one bank to another. I think there's a central procedure in the permanent bank (b000-bfff) and three of them are switched by this one - this is simple approach.

 

The only true way is to translate asm sources to pure ansi C (or Action itself :), to keep the compatibility on high (100%) level. This is not difficult, I think (well, code tricks might do this difficult)

 

Personally I start thinking "C" way on 6502 and I think the tricks that minimise call stack or even remove it completely. I think for ordinary not recursive stuff both stack could sit in the stack space sharing it by 25% call stack and 75% parameter stack. Then normal games could be written in "C".

 

I have even got interested in Forth, because it has A Real Spirit Of 8-bit (small systems) Feeling.

 

But I know. The Magic Of Action!

Edited by jhusak
Link to comment
Share on other sites

Yes jhusak, you wrote it: The(!) magic of Action!

 

This link:

 

https://atariwiki.org/wiki/Wiki.jsp?page=Statistics

 

speaks a clear language! Even today!

 

But there is more. Imagine to isolate the editor, put in Mac/65, Turbo Basic XL or Basic XE?

 

There is still much to do.

 

Our hope is Alfred. It would be a giant leap for the Atari community.

Link to comment
Share on other sites

Action! is indeed written in assembly language:

 

$title(ACTION! 3.6 - 11/4/83)
$pagewidth=80
list off

; Copyright 1983 by Action Computer Services
; All Rights Reserved

; last modified November 4, 1983


org $bffa ; setup Left cartridge
dw cstart
dw $0500 ; boot disk and start cart.
dw init

include "1.asm"

org ml
version db $36
date db $1,$17,$84 ; assemble date of latest version!


include "2.asm"
propid ldx $a0
include "3.asm"
main

; ACTION! 3.6 - S.T.
; ------------------
org ll
include "4.asm"
include "5.asm"

cpyright
db "ACTION! ©1983 Action Computer Services"

org ll+$0fff
db lbank
doc

; ACTION! 3.6 - Editor
; --------------------
org el
include "6.asm"
include "7.asm"

org el+$0fff
db ebank

org ml+$08d8
include "8.asm"

editend

; "ACTION! 3.6 - Compiler
; -----------------------
org cl
include "9.asm"

cright db "ACTION! ©1983 Action Computer Services"

org cl+$0fff
db cbank

org ml+$0a80
include "10.asm"

amplfin
end

There is a paper floating around the web written by Clayton Parker describing a language called (iirc) micro-SPL. I believe it is the direct precursor to Action! and although there are virtually no comments in the source, I suspect he ported an existing micro-SPL compiler to the Atari. Hard to say now what it was originally written in, as Mike Gustafson at ICD ported it to use the assembler he wrote that ICD used for all their stuff.

Link to comment
Share on other sites

Dear Alfred!

 

 

Yes, that is exactly what we are searching for! :) :) :) :) :) :) ;-)

 

Alfred, I am speechless! Can you imagine you are searching 30 years for something and coming that close?

 

Incredible! :-)

 

It is the same with Calculator:

 

https://atariwiki.org/wiki/Wiki.jsp?page=Atari%20Calculator

 

But we found him! Now he is restored and Carol Shaw is our hearts for ever!

 

Please Alfred, take a short look here:

 

https://atariwiki.org/wiki/Wiki.jsp?page=ACTION

 

You will make thousands of Atari fans so happy. That is Christmas in February 10 times!

 

One of our intention is keep it for generations to come. Another is to get rid of the bugsheet:

 

https://atariwiki.org/wiki/Wiki.jsp?page=Action%20Bugsheet#section-Action+Bugsheet-3

 

At no time we interested in commercial exploit, we can keep the copyright at any time.

 

We do agree to requirements of any art.

 

But please share with us the 1.asm to 10.asm files.

 

In the name of the Atari community worldwide, we thank you so much in advance Alfred.

 

All the best to you. May god bless you at all times.

 

  • Like 1
Link to comment
Share on other sites

@JAC! - not only you

I knew you'd... Honestly this whole thing is not really a technical issue.

 

The problem with Action is that there are three banks which share address space, so the job has to be done separately for each part, which leads to special care about code flow from one bank to another. I think there's a central procedure in the permanent bank (b000-bfff) and three of them are switched by this one - this is simple approach.]

The code is very well structured along the banks. Only bank 0 has jumps to the other banks (77 of them).

 

            sty MMU.BANK3.D503
            jmp BANK3.D503.LA304

...         sta MMU.BANK1.D500
            jsr BANK1.D500.LA19C
Reconstructing and struturing the full source with reasonable structuring and comment would take about 2 weeks.

The output would be probably as good as what is posted above (esp. if there are no comments anyway :-).

The editor is one bank, the runtime is in another bank and a 1-pass compiler is not really a complex thing.

The idea that ACTION! itself was (possibly) created by decompiling an SPI compiler is striking (and really funny).

 

For me the point really is how we can put the on legally correct ground.

The investment is worth nothing, if you cannot give "Action 3.6+" to the community.

(After putting "Action 3.6" into the museum of course).

 

Maybe by hosting it as an abondonware project on US ground or similar.

 

If have plenty of ideas what could be improved easily (original or reconstructued source).

- Single key press to Compiler & Run

- built-in HELP key support showing the keyboard layout

- Less annyoing signal (beeeeep, esp. a different signal for ERROR vs. OK :-)

- Use extended RAM for source & runtime

- Make it run on ATARIMAX compatible carts

- Remove useless "A JUMP B; B JMP C; ..." in the output

Edited by JAC!
  • Like 1
Link to comment
Share on other sites

It is regular DIS6502. The "sty / jmp" is simply what's in there in the cart, I only choose the labels in a way they become understandable.

Nothing can beat an original source of course, so I keep my fingers crossed :-)

Edited by JAC!
Link to comment
Share on other sites

  • 11 months later...

I did receive the e-mail from Clinton Parker, too, but I do not have the source code yet.

 

First of all, where words can't do the job, mathematics can do:

 

post-32599-0-00880600-1422829910_thumb.jpg

 

Mr. Parker, in the name of the Atari community worldwide: a tera-thank you for your contribution, you will always be in our hearts and never be be forgotten. May god bless you, always, everywhere and at all times.

 

To all others: please take into account, that Mr. Parker needs a break. All questions concerning Action! can be read here:

 

https://atariwiki.org/wiki/Wiki.jsp?page=ACTION

 

Please don't try to contact him, he deserves at least that respect.

 

 

With this a new age of Atari rises: the source code age. This mile- sorry lightyear-step makes sure, that Atari will go on forever. Maybe some of the readers may think I am crazy, maybe I am, but let's talk back in a few years...

 

Meanwhile, I suggest Clinton Parker to be Atari user of the decade?

 

Further, if Alfred will post the source code here, hopefully very soon, we should find all an agreement how to name the new cart we will make of that code. According to version 3.6 of the latest Action! version:

 

post-32599-0-39882500-1422829920_thumb.jpg

 

I suggest: ACTION! © 2015 Clinton W. Parker

 

It would be so cool to bring then bugsheet #3 to zero.

 

What a time we do live in. :-)

  • Like 4
Link to comment
Share on other sites

Damn this is the best news in years.

 

What's next MAC/65 ? SparaDOS X? C65 ? I hope all OSS products in the future.

 

Can you also put Source code of Daimond GOS on your list :-)

 

I have the source to both SDX (4.22) and MAC/65. I thought though that I had read on these forums that Lawrow didn't want MAC/65 released.

  • Like 1
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...