Thanks MadAngus, I've read all those changes and like the way the project is developing.
I'm in the tedious and very time consuming stage of ploughing through the database editing stuff, matching examples, testing examples and testing 'limits'. The 'limits' are something missing in some of the original docs. For example,
Print Mid$("abcd",0,97) will
not give an error, but just what is the result? Many of the Basic statements and functions familiar to programmers in other dialects do not behave quite as expected. In one respect this is useful as it cuts down on error and bounds checking, etc. which, in turn, cuts down code size for those still working in limited memory. I've included these unexpected limits and behaviour for familiar commands in the reference manual. Which makes some entries not quite as terse as desired. However, it's useful I think.
Note that I keep banging on about 'the database'. All revision is being done in the database
not in a final document. Reason being that it's then a doddle to export whatever sections or level of detail may be required in other projects. For example, if you just want the Syntax, Parameters and Return Value sections for AMAL statements and functions, it's easy to query and export it - ready formatted in RTF if required. I can see it saving a lot of time down the track both for myself and anyone who needs organised doc text.
It also follows one of the basic tenets of data storage - "Store each piece of information in one, and only one, place." I realise this probably makes little sense unless the database is available to everyone! However, I'm trying to look to the future where it could maybe drive a Wiki? As Lego says "Limited only by your imagination".
Progress ReportWell some of that's in the waffle above. Editing and tidying up over 700 commands is taking some time. I'll just give a weekly progress report so's you don't think I've expired or overdosed on pizza or caught amnesia or have to work on a contract or something.
All the commands, tables, examples, etc, are now in the database including the missing ones. Without doing a trawl through the machine code in the AMOS executables and libraries , I'm pretty sure I've got them all. But may do that trawl anyway to make sure. Saving it up until I need a break from the manual editing!
The early sections of the manual are just about complete - the meat's there, I'm only re-checking that everything's as I want it. So, using the section headings in AMOS Help, that's:
- Using Help
- Editor
- Direct Mode
- Syntax Conventions
- Basics of AMOS
The to-do list is:
- Screen Control
- Object Control
- Audio
- AMOS Interface
- Input/Output
- AmigaDos
- Debugging
- Machine Code
- Tables
- Appendices
The Appendices is where I'm stuffing anything pulled in from other sources. So far, this includes (and not in any particular order yet):
- The example programs listings in full
- Ask Editor and Call Editor commands
- AMOS Equates stuff
- The 'Latest News' bits and pieces
Some of these will migrate into the main manual (Editor commands being obvious) and some chunks of example programs are already being used. I'll decide what to do with the rest later. I want to concentrate on the existing 'meat' for now.
Any ideas, inclusions or suggestions welcome. Just bear in mind that this is a reference work for just the AMOS Basic core language, not for any tools (Compiler, Object Editor, et al) nor for any Extensions (3D, AMCAF, et al).
So, long a way to go yet, but I'll keep posting these weekly updates.