23 March 2024, 09:51 | #61 | |
Registered User
Join Date: Aug 2010
Location: Germany
Posts: 538
|
Quote:
I won't argue that we lost something there. How the dos.library works is peculiar, though, as most of the legacy and also new functions in V36 pass through the same function invocation mechanism which the BCPL interface used to make use of. This has side effects, such as the InfoData and FileInfoBlock address alignment requirements in Info() and Examine()/ExNext(), respectively, which are otherwise hard to explain in context. TRIPOS favours simplicity in its implementation, and this choice repeatedly comes back to haunt you in the dos.library form, especially the file system interface Some historic context is given by Dr. Tim King in this [ Show youtube player ], and it explains a lot. Not necessarily something that would naturally fit into the RKM format, though. As strange as dos.library is in context, the mystery of "why?" will linger. I would argue that you can ask the same kind of questions on why graphics.library was implemented that way, with a similar myster of "why?", but dos.library looks, by comparison, much more like an accomplished "juggling act" |
|
23 March 2024, 17:58 | #62 | |||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,389
|
Quote:
There is minimal information on the Global Vector in my work in section 11.5.4, which describes the Tripos - pardon - AmigaDos internal BCPL runtime binder which is used to populate the GV. It contains just enough information to write a BCPL hander or the CLI, both depending on this legacy interface. Unfortunately, you (still?) need such information if you want to replace the Port-Handler or the "CLI" segment (not the "shell" nor the "BootShell", both of which use "C linkage"). This is more practical information, and it's not found in Ralph's book nor anywere else, yet needed for some functionality. I would not want to go beyond that and explain what the GV entries are, and how to call a BCPL function since nothing depends on this interface anymore, and nobody shall depend on this mechanism anymore, and no advantage can be taken from it anymore. Quote:
Quote:
graphics and its extensions, in particular those that came in with v36 with its "GfxAssociate()" function and "struct Monitor" is probably another such candidate indeed. Unfortunately, it does not really become much better with rtg graphics on top. graphics is seriously lacking an internal interface for such extensions - or rather, there is a tiny heavily underdocumented interface (struct VecInfo in graphics/displayinfo.h) that is so minimal that it does not serve well and missed some very important aspects. This was already somewhat fixed in v45 aka 3.1.4 with the new AllocBitMapTags() interface which could finally "bootstrap" an RTG viewport, but it is still insufficient in terms of abstracting blitting. This is something we should seriously attempt to fix at some point. But first things first, I really want to get this book project out of the door, it is a bit more improtant to provide programmers a long missing up-to-date documentation. |
|||
31 March 2024, 13:44 | #63 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,389
|
Folks,
went through a third round and fixed a couple of more issues on the way. I also run the spell-checker on it. Thus, now is the time to report any spelling errors left in the text, and any other issues you find. Things should be in a much better shape now. Edit: I also added now a cover page and a back page in the RKRM style. It is a tiny little bit customized, but fits quite nicely into the remaining series. Happy Easter! Thomas Last edited by Thomas Richter; 31 March 2024 at 22:36. |
01 April 2024, 03:33 | #64 |
Moderator
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,451
|
How can I login to check for spelling errors for you. I would live to help out.
|
01 April 2024, 09:57 | #65 |
Registered User
Join Date: Nov 2010
Location: .
Posts: 388
|
|
01 April 2024, 10:02 | #66 | |
Registered User
Join Date: Nov 2010
Location: .
Posts: 388
|
Quote:
If you don't have a GitHub account you can simply download the latest version of the book source code (this link) or of the PDF (this link) and proof-read it. Then probably report here any suggestions. |
|
01 April 2024, 10:19 | #67 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,389
|
|
01 April 2024, 12:11 | #68 |
Registered User
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,150
|
Just had a brief glance and it's very well written. So far just one thing to mention:
"Worth to remember" isn't correct English; should be "Worth remembering". |
01 April 2024, 13:35 | #69 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,389
|
Thanks, fixed.
|
02 April 2024, 00:56 | #70 |
Registered User
Join Date: Dec 2010
Location: Norway
Posts: 840
|
Great work, Thomas!
Here are a few suggestions: Copyright page: - ‘The program’ and ‘The archive’ -> ‘The publication’ ? - There is a mix of lower case and upper case nouns. (Publication/publication, Stick, Disk) - ‘in and of themselves’ : Sentence is better with this removed Chapter 1 - Introduction: - ‘the Tripos’ -> just ‘Tripos’. - The tripos sentence says ‘Amiga, an experimental OS..’ perhaps rewrite to ‘..nothing but an amiga port of Tripos, an…’ ? - ‘This book is, similar to AmigaDOS..’ -> ‘This book, like the AmigaDOS manual, is..’ ? - ‘and answering’ -> ‘and for answering’ - ‘implements interface’ -> ‘implements an interface’ or ‘implements the interface’ Everywhere: - AmigaOS has lowercase s everywhere. - 4 uses of ‘obviously’. Has no place in a technical manual in my opinion - ‘the dos.library’ -> Just ‘dos.library’ most places. (Purpose of the dos.library, the dos.library is, the dos.library does not..’’ etc. ) Last edited by fgh; 02 April 2024 at 01:43. |
02 April 2024, 18:43 | #71 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,389
|
Thanks, I addressed most of your comments.
|
01 May 2024, 17:08 | #72 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,389
|
Today is "Labor Day" in Germany (and not in September, as in the US), and thus it meant some "labor" to continue cleaning up the RKRM AmigaDOS. Actually, lot happened in the last month, and I went a fourth time over the volume, fixing many tiny issues. In particular, I noted that I missed "StrToLong()", and thus also had to insert a subsection on an inverse function, namely how to print an integer to a string, and how to realize a "sprintf()" on AmigaDOS grounds. The index had been improved, false references are hopefully gone, grammar should have improved to a large extend (though note that I'm not a native speaker, so there is probably room for improvement - please report!).
Thus, at this point: Is there anything you still miss? Any function I might have forgotten? Any mistake you might have spotted? Any language issues you noted and want to get fixed? Any topics you believe that should go into the work? Thanks, and happy to receive your ideas. Thomas |
03 May 2024, 17:41 | #73 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,389
|
A little bit of polish. The book has now a click-able index, and references within the book can now also be clicked on. I also changed the paper format to US Letter (despite my dislike of non-metric systems), but this way it would fit perfectly in the existing RKRM series also printed in letter. If my measurements are correct, even the yellow bar on the back of the book should align perfectly with the existing volumes.
|
04 May 2024, 00:57 | #74 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,569
|
The last sentence of 11.6.8 (HUNK_EXT) confuses me:
Code:
However, the SAS/C compiler can also be configured to emit such common symbol references to implicitly create objects referenced through extern declarations missing a definition. extern int symbol;to create a common symbol reference, while this actually avoids such a common symbol reference in all compilers. A common symbol reference may be created by int symbol;, though. Thanks for the acknowledgement in your book, BTW! |
04 May 2024, 09:06 | #75 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 3,389
|
That's from what I remember, but I'll check with the SAS/C manual - namely it could create common symbols (if correctly configured) if you would reference a symbol with extern in all units but had no single definition of such an object. Edit: You are, of course, right. I'll fix that right away, thank you again.
Last edited by Thomas Richter; 04 May 2024 at 10:58. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Uni-Launcher (Work in Progress) Ideas? | DisasterIncarna | support.Apps | 10 | 10 August 2022 11:36 |
PdfTools Suite - Work in Progress a New Programs | savior | News | 18 | 26 April 2019 19:31 |
Work in progress. | Cowcat | Coders. General | 7 | 18 February 2014 22:33 |
Work In Progress - Speedball 2 | Bitmap Brother | Nostalgia & memories | 3 | 21 September 2005 00:50 |
Trick Or Treat Remake - Work in Progress | ant512 | Amiga scene | 15 | 16 November 2004 17:25 |
|
|