AtariGeezer #1 Posted August 7, 2014 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.com/s/4qk4cu0vngxuic1/My%20Scans.rar Thanks, Jay 1 Quote Share this post Link to post Share on other sites
+Allan #2 Posted August 7, 2014 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 Quote Share this post Link to post Share on other sites
+Allan #3 Posted August 7, 2014 Plus today we hit a milestone of over 150 Atari books posted on Atarimania. Allan 5 Quote Share this post Link to post Share on other sites
+remowilliams #4 Posted August 7, 2014 Different versions from the ones scanned already? Quote Share this post Link to post Share on other sites
AtariGeezer #5 Posted August 7, 2014 (edited) Different versions from the ones scanned already? Where are the others? These are what I scanned: Edited August 8, 2014 by AtariGeezer Quote Share this post Link to post Share on other sites
venom4728a #6 Posted August 8, 2014 Here is a PDF of the First Manual. I will do the Reference manual tomorrow night. Best Regards Robert Action Tool Kit.pdf 2 Quote Share this post Link to post Share on other sites
AtariGeezer #7 Posted August 8, 2014 The second one is on AtariMania under the name of "The Action! Run Time Package" leaving out "A Reference GUIDE to Using"... Quote Share this post Link to post Share on other sites
Madi #8 Posted August 8, 2014 (edited) a reference manual for The Action! System http://www.noniandjim.com/Jim/atari/ACTION_Reference_Manual-Def_Ed.pdf Same as above but a typed version: http://www.noniandjim.com/Jim/atari/ACTION_REF_MANUAL.pdf A Reference GUIDE to Using The ACTION! Run Time Package with Atari Computers http://atariwiki.strotmann.de/wiki/attach/ACTION/The%20ACTION!%20Run%20Time%20Package-A%20Reference%20GUIDE.pdf Edited August 8, 2014 by Madi 1 Quote Share this post Link to post Share on other sites
GoodByteXL #9 Posted October 9, 2014 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,stopparameters: <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 oldelements 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. Quote Share this post Link to post Share on other sites
ricortes #10 Posted October 9, 2014 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] Quote Share this post Link to post Share on other sites
Xuel #11 Posted October 9, 2014 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? Quote Share this post Link to post Share on other sites
joyfulcoder #12 Posted October 10, 2014 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. Quote Share this post Link to post Share on other sites
danwinslow #13 Posted October 10, 2014 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. Quote Share this post Link to post Share on other sites
ricortes #14 Posted October 10, 2014 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),Y2021: F0 0D BEQ $2030 ... 2030: 60 RTS checks for a zero => source string length zero and bails to an RTS. Quote Share this post Link to post Share on other sites
GoodByteXL #15 Posted October 12, 2014 Thanks for the help ... Of course if you are machine language guru you could probably do it from the HEX. 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 copiedstarting at element 'start' of <dest>, and the copyingwill stop at element 'stop' of <dest>. If the spaceallowed (stop-start+1) in <dest> is greater than thelength of <source>, then 'stop' will be changed tothe length <source>.The copying this procedure does will overwrite the oldelements 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 ZZQQJUNKSET $680 = $E^SET $B5 = $5800SET $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. Quote Share this post Link to post Share on other sites
GoodByteXL #16 Posted October 17, 2014 Changed the page about the PROC Sassign this way: action_proc_assign.pdf Quote Share this post Link to post Share on other sites
GoodByteXL #17 Posted October 19, 2014 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. Quote Share this post Link to post Share on other sites
GoodByteXL #18 Posted November 19, 2014 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. action_rev_3-4_GBXL_2014.zip 2 Quote Share this post Link to post Share on other sites
bfollett #19 Posted November 19, 2014 (edited) I'm unable to open the zip file, what do you mean by: "To open use my pseudo"? Bob Edited November 19, 2014 by bfollett Quote Share this post Link to post Share on other sites
Bill Loguidice #20 Posted November 19, 2014 It doesn't work for me either, unfortunately, saying there's an error with the zip file. Quote Share this post Link to post Share on other sites
MrFish #21 Posted November 19, 2014 what do you mean by: "To open use my pseudo"? GoodByteXL Quote Share this post Link to post Share on other sites
bfollett #22 Posted November 19, 2014 (edited) OK, GoodByteXL may be his pseudo, but how do you use it to open, it doesn't ask for a password??? Bob Edited November 19, 2014 by bfollett Quote Share this post Link to post Share on other sites
barnsey123 #23 Posted November 19, 2014 Not working for me neither...can't open or preview PDF. (on win7) Quote Share this post Link to post Share on other sites
MrFish #24 Posted November 19, 2014 (edited) 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 November 19, 2014 by MrFish Quote Share this post Link to post Share on other sites
Bill Loguidice #25 Posted November 19, 2014 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. Quote Share this post Link to post Share on other sites