Jump to content

Photo

Action! Toolkit and Action! Reference Guide Manuals

Action! Manuals

34 replies to this topic

#1 AtariGeezer ONLINE  

AtariGeezer

    River Patroller

  • 2,888 posts
  • Location:Santee, CA

Posted Thu Aug 7, 2014 2:14 PM

I've just uploaded my scans of these to dropbox (305.22 MB)

Someone care to make a PDF of these and repost?

 

https://www.dropbox....c1/My Scans.rar

 

Thanks,

Jay

 



#2 Allan OFFLINE  

Allan

    Quadrunner

  • 6,326 posts
  • Location:Wallingford, CT

Posted Thu Aug 7, 2014 3:09 PM

Thanks Jay.

If someone could convert all into a single-page-across PDF file it would be greatly appreciated. We are getting close to have all the OSS manuals available in one spot on Atarimania.com. I'm uploading a ton of Atari books and manuals today now that I got my Windows XP working again.

 

Allan



#3 Allan OFFLINE  

Allan

    Quadrunner

  • 6,326 posts
  • Location:Wallingford, CT

Posted Thu Aug 7, 2014 3:16 PM

Plus today we hit a milestone of over 150 Atari books posted on Atarimania.

 

Allan

 



#4 remowilliams OFFLINE  

remowilliams

    Quadrunner

  • 10,607 posts
  • Location:Detonation Boulevard

Posted Thu Aug 7, 2014 4:10 PM

Different versions from the ones scanned already?



#5 AtariGeezer ONLINE  

AtariGeezer

    River Patroller

  • Topic Starter
  • 2,888 posts
  • Location:Santee, CA

Posted Thu Aug 7, 2014 5:45 PM

Different versions from the ones scanned already?

Where are the others?

 

These are what I scanned:

scan0001.gif scan0023.jpg


Edited by AtariGeezer, Thu Aug 7, 2014 6:05 PM.


#6 venom4728a OFFLINE  

venom4728a

    Dragonstomper

  • 617 posts

Posted Thu Aug 7, 2014 8:52 PM

Here is a PDF of the First Manual.

 

I will do the Reference manual tomorrow night.

 

Best Regards

Robert

Attached Files



#7 AtariGeezer ONLINE  

AtariGeezer

    River Patroller

  • Topic Starter
  • 2,888 posts
  • Location:Santee, CA

Posted Thu Aug 7, 2014 9:35 PM

The second one is on AtariMania under the name of "The Action! Run Time Package" leaving out "A Reference GUIDE to Using"...



#8 Madi OFFLINE  

Madi

    Moonsweeper

  • 383 posts

Posted Fri Aug 8, 2014 1:54 AM

a reference  manual for The Action! System

http://www.noniandji...nual-Def_Ed.pdf

 

Same as above but a typed version:

http://www.noniandji..._REF_MANUAL.pdf

 

A Reference GUIDE to Using The ACTION! Run Time Package with Atari Computers

http://atariwiki.str...rence GUIDE.pdf


Edited by Madi, Fri Aug 8, 2014 1:55 AM.


#9 GoodByteXL OFFLINE  

GoodByteXL

    Moonsweeper

  • 339 posts
  • Location:XL heaven

Posted Thu Oct 9, 2014 9:14 AM

Working on a fully re-edited version of all Action! manuals in one guide for a while now, the work is nearly finished. Currently I try to validate some descriptions, which I cannot resolve in meaning (maybe because it's not my mother tongue). One of it is this section in the chapter library:
 
6.1.4 PROC SAssign
------------------
purpose:    to copy one string into part of another
            string.
Format:     PROC SAssign(<dest>,<source>, BYTE start,stop
parameters: <dest>   - is the identifier of the
                       destination string (CHAR ARRAY)
                       for the string copy.
            <source> - is the string with double quotes
                       or identifier of the CHAR ARRAY
                       used as the source string for
                       the copy.
            start    - is the starting point in <dest>
                       for the copy.
            stop     - is the stopping point in <dest>
                       for the copy. If 'stop' is
                       greater than the length of <dest>,

                       then the length of <dest> is

                       changed to 'stop'.
 

description:
This procedure is used to copy one string (<source>)

into part of another (<dest>). <source> will be copied

starting at element 'start' of <dest>, and the copying

will stop at element 'stop' of <dest>. If the space

allowed (stop-start+l) in <dest> is greater than the

length of <source>, then 'stop' will be changed to make

the space available and the length equal.

The copying this procedure does will overwrite the old
elements of <dest> as it puts in <source>.

---------------

This reads to me as if the dest string will be enlarged to the needs of the copy. Since dest is an already defined string/array, something will be overwritten then and very likely destroy some code.

 

Can somebody explain please?

 

An excerpt of the running project is available on my homepage.



#10 ricortes OFFLINE  

ricortes

    Dragonstomper

  • 646 posts

Posted Thu Oct 9, 2014 10:37 AM

At one time it seemed that Action was intended to handle strings ~dynamically, that is they could be changed on the fly. There was only a single blurb by Bill Wilkinson <I think> saying ~don't try it, allocate all space for strings.

 

I have always interpreted this to mean: In spite of what is said in the manuals, it is the programmers responsibility to make sure everything fits.

 

*IF* you want to double check, you can compile that part of the RT that is used and use a debugger to see what the actual code produced looks like. Of course if you are machine language guru you could probably do it from the HEX. :)

I'm guessing the last SCopy+14 is just a jump to the 14th byte of the Scopy procedure. I didn't check for any other JMPs or JSRs that transfer control to OS or other routines.

 

PROC SCopy=*(BYTE ARRAY d,s)
[$A085$A186$A284$A0$0$A2B1$A091$8F0$A8$A2B1$A091$88$F9D0$60]

 

PROC SAssign=*(BYTE ARRAY d,s,BYTE b,e)
[$A085$A186$A284$A0$0$A2B1$DF0$A685$A4C6$38$A5A5$A4E5$2F0
$1B0$AA60$A6C5$890$18$A6A5$AA$A465$A585
$A5A5$A0D1$390$A091$18$A0A5$A465$A085$290
$A1E6$4C8ASCopy+14]



#11 Xuel OFFLINE  

Xuel

    Dragonstomper

  • 740 posts
  • Location:US

Posted Thu Oct 9, 2014 11:41 AM

Disassembled with Altirra:

SCopy:
2000: 85 A0             STA $A0
2002: 86 A1             STX $A1
2004: 84 A2             STY $A2
2006: A0 00             LDY #$00
2008: B1 A2             LDA ($A2),Y
200A: 91 A0             STA ($A0),Y
200C: F0 08             BEQ $2016
200E: A8                TAY
200F: B1 A2             LDA ($A2),Y
2011: 91 A0             STA ($A0),Y
2013: 88                DEY
2014: D0 F9             BNE $200F
2016: 60                RTS
SAssign:
2017: 85 A0             STA $A0
2019: 86 A1             STX $A1
201B: 84 A2             STY $A2
201D: A0 00             LDY #$00
201F: B1 A2             LDA ($A2),Y
2021: F0 0D             BEQ $2030
2023: 85 A6             STA $A6
2025: C6 A4             DEC $A4
2027: 38                SEC
2028: A5 A5             LDA $A5
202A: E5 A4             SBC $A4
202C: F0 02             BEQ $2030
202E: B0 01             BCS $2031
2030: 60                RTS
2031: AA                TAX
2032: C5 A6             CMP $A6
2034: 90 08             BCC $203E
2036: 18                CLC
2037: A5 A6             LDA $A6
2039: AA                TAX
203A: 65 A4             ADC $A4
203C: 85 A5             STA $A5
203E: A5 A5             LDA $A5
2040: D1 A0             CMP ($A0),Y
2042: 90 03             BCC $2047
2044: 91 A0             STA ($A0),Y
2046: 18                CLC
2047: A5 A0             LDA $A0
2049: 65 A4             ADC $A4
204B: 85 A0             STA $A0
204D: 90 02             BCC $2051
204F: E6 A1             INC $A1
2051: 8A                TXA
2052: 4C 0E 20          JMP $200E

Haven't had time to analyze it yet. What are Action!'s calling conventions?



#12 joyfulcoder OFFLINE  

joyfulcoder

    Star Raider

  • 96 posts
  • Location:Western Mass

Posted Thu Oct 9, 2014 8:47 PM

I believe it means if the source string is shorter than the requested number of characters to copy (stop - start + 1) then stop will be decreased to make sure you do not copy past the end of the source string.



#13 danwinslow OFFLINE  

danwinslow

    River Patroller

  • 2,574 posts

Posted Fri Oct 10, 2014 7:02 AM

Yes, it means stop will be truncated to the available length. So if I pass in 20, and then available length is 10, then stop gets forced to 10.



#14 ricortes OFFLINE  

ricortes

    Dragonstomper

  • 646 posts

Posted Fri Oct 10, 2014 11:35 AM

I'm doing this on the fly so it is just about a sure thing I am making mistakes. The manual gives parameters passed to Procedures in order register A, X, Y,  address $A3 on the rest.

 

So if you pass byte values Fubar(byte one, two) the A reg will have the value one, the X reg the value of two. It automatically passes card/int values in 6502 low/high format. In the string functions the Sassign call will have something like

 

page zero $A0-$A1 destination string address

page zero $A2-$A3 source string address

page zero $A4 byte start

page zero $A5 byte end

 

Then uses SOP (indirect), Y addressing to do the move.

Action! only allows for 256 byte strings and the first byte of the string is string length so the

201F: B1 A2             LDA ($A2),Y
2021: F0 0D             BEQ $2030

...

2030: 60                RTS

checks for a zero => source string length zero and bails to an RTS.



#15 GoodByteXL OFFLINE  

GoodByteXL

    Moonsweeper

  • 339 posts
  • Location:XL heaven

Posted Sun Oct 12, 2014 9:53 AM

Thanks for the help ...
 

Of course if you are machine language guru you could probably do it from the HEX. icon_smile.gif

Unfortunately I am not.
 

I believe it means if the source string is shorter than the requested number of characters to copy (stop - start + 1) then stop will be decreased to make sure you do not copy past the end of the source string.

Yes, that's what I also found while testing around. I guess one wouldn't figure this out when reading the corresponding description.
 

Yes, it means stop will be truncated to the available length. So if I pass in 20, and then available length is 10, then stop gets forced to 10.

confirmed twice, that's good :-).

So I guess the description should read like this:

This procedure is used to copy one string (<source>)
into part of another (<dest>). <source> will be copied
starting at element 'start' of <dest>, and the copying
will stop at element 'stop' of <dest>. If the space
allowed (stop-start+1) in <dest> is greater than the
length of <source>, then 'stop' will be changed to
the length <source>.

The copying this procedure does will overwrite the old
elements of <dest> as it puts in <source>.

And, I found one more thing:

Bug sheet #3 gives advice to change this
|->

5. On page 17 of the Reference Guide for the Runtime Package, the DEFINE for ROM will cause incorrect code if you use local variables.

Fix: Use the following form of definition, instead:

DEFINE ROM = "BYTE ZZQQJUNK
SET $680 = $E^
SET $B5 = $5800
SET $E = $682^"

<-|

Of course the underline chars have been take away before testing ...

Can someone provide a proper example please that works?

As far as I can see now this is the last issue to be solved, before the manual can go online.
Possibly another appendix showing a disassembled run time in table format might be added.



#16 GoodByteXL OFFLINE  

GoodByteXL

    Moonsweeper

  • 339 posts
  • Location:XL heaven

Posted Fri Oct 17, 2014 9:22 AM

Changed the page about the PROC Sassign this way:

 

Attached Files



#17 GoodByteXL OFFLINE  

GoodByteXL

    Moonsweeper

  • 339 posts
  • Location:XL heaven

Posted Sun Oct 19, 2014 10:10 AM

This will be the final product:

 

A manual, comprising all parts of Action!, revised and updated using the known sources. The zipped pdf file is approx. 750KiB in size. 

 

It reflects the current status of the cart system, run time package and toolkit. Please see the preface for more details.

 

The print format is an A5 sized book.

 

Currently another proof reading session is going on to minimize typing errors and layout flaws. If you are an experienced Action! user and interested in supporting the proof reading, I'd be happy to share it.

 

What I am not really happy with is that I was not able to find a proper font. So courier had to do it, which is lacking the dashed zero. Therefore in Appendix J another font was used to differ 0 and O more easily.

 

 

Attached Thumbnails

  • front_cover.jpg
  • back_cover.jpg
  • screenshot.jpg


#18 GoodByteXL OFFLINE  

GoodByteXL

    Moonsweeper

  • 339 posts
  • Location:XL heaven

Posted Wed Nov 19, 2014 10:12 AM

This will be the final product:

 

A manual, comprising all parts of Action!, revised and updated using the known sources. The zipped pdf file is approx. 750KiB in size. 

Hopefully all typos are found and deleted. Let me know what your impressions are ...

 

If there are any failures to fix, please let me know.

 

For those who are not familiar with e.g. Adobe Reader: F4, F8, F9 helps.

To open it please use my pseudo.

Attached Files



#19 bfollett OFFLINE  

bfollett

    Dragonstomper

  • 567 posts

Posted Wed Nov 19, 2014 10:16 AM

I'm unable to open the zip file, what do you mean by: "To open use my pseudo"?

 

Bob


Edited by bfollett, Wed Nov 19, 2014 10:18 AM.


#20 Bill Loguidice OFFLINE  

Bill Loguidice

    Quadrunner

  • 7,257 posts
  • Armchair Arcade Managing Director
  • Location:Burlington, New Jersey, USA

Posted Wed Nov 19, 2014 10:21 AM

It doesn't work for me either, unfortunately, saying there's an error with the zip file.



#21 MrFish OFFLINE  

MrFish

  • 5,423 posts

Posted Wed Nov 19, 2014 10:24 AM

what do you mean by: "To open use my pseudo"?

 

GoodByteXL



#22 bfollett OFFLINE  

bfollett

    Dragonstomper

  • 567 posts

Posted Wed Nov 19, 2014 10:45 AM

OK, GoodByteXL may be his pseudo, but how do you use it to open, it doesn't ask for a password???

 

Bob


Edited by bfollett, Wed Nov 19, 2014 10:46 AM.


#23 barnsey123 OFFLINE  

barnsey123

    Space Invader

  • 19 posts
  • Drink! Feck! Girls!
  • Location:Birmingham,UK

Posted Wed Nov 19, 2014 11:00 AM

Not working for me neither...can't open or preview PDF. (on win7)



#24 MrFish OFFLINE  

MrFish

  • 5,423 posts

Posted Wed Nov 19, 2014 11:22 AM

OK, GoodByteXL may be his pseudo, but how do you use it to open, it doesn't ask for a password???

 

It worked fine for me. I'm using IZArc to open.


Edited by MrFish, Wed Nov 19, 2014 11:26 AM.


#25 Bill Loguidice OFFLINE  

Bill Loguidice

    Quadrunner

  • 7,257 posts
  • Armchair Arcade Managing Director
  • Location:Burlington, New Jersey, USA

Posted Wed Nov 19, 2014 11:25 AM

 

It worked fine for me. I'm us IZArc to open.

 

OK, that's the answer. It doesn't work using the extractor built into Windows. I used 7-zip and it worked fine (it asked for the stated password). Thanks.







Also tagged with one or more of these keywords: Action!, Manuals

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users