Page 1 of 6

Advanced QL User Guide

Posted: Thu Jun 02, 2022 8:40 pm
by Derek_Stewart
I have scanned and OCRed my copy of the Advanced QL User Guide by Adrian Dickens and am in the process of converting the book into searchable PDF file, with LibreOffice.

My plan was to make the final procssed book available, but the book maybe still copyright to Adrian Dickens, ADDER Publications, or ADDER Technology.

Should I approach ADDER Technology to see if they wiil release he copyright of the book, or can a Common Creative Licence be applied, to make the book available, for creation of an updated revision.

Re: Advanced QL User Guide

Posted: Sat Jun 18, 2022 9:23 am
by Derek_Stewart
Hi,

Nearly finished the checking of ebook.

But I have come across an issue:


I have come across a problem with an example code fragment in the physical book, for the use of IO.SERIO or IOU.SSIO in SMSQ/E.

The example in the Advanced QL User Guide, uses the same example in the QL Technical and the SMSQ/E Reference Guide, Section 16 Page 7:

Code: Select all

MOVE.W  $E8,A4
JSR     (A4)
DC.L    TEST
DC.L    FETCH
RTS 
Should A4 not be assigned to $EA for general I/O handling?

Re: Advanced QL User Guide

Posted: Sat Jun 18, 2022 2:53 pm
by tofro
Derek_Stewart wrote:Hi,

Nearly finished the checking of ebook.

But I have come across an issue:


I have come across a problem with an example code fragment in the physical book, for the use of IO.SERIO or IOU.SSIO in SMSQ/E.

The example in the Advanced QL User Guide, uses the same example in the QL Technical and the SMSQ/E Reference Guide, Section 16 Page 7:

Code: Select all

MOVE.W  $E8,A4
JSR     (A4)
DC.L    TEST
DC.L    FETCH
RTS 
Should A4 not be assigned to $EA for general I/O handling?
IO.SERQ shold be vector E8.
IO.SERIO should be vector EA.

If this example code is indeed to be calling IO.SERIO, the vector is to be $EA, and the code is wrong as well: there should be a third pointer after the call (JSR (a4)) pointing to a "put byte" routine. Using vector $E8 as in your example - will crash - that calls IO.SERQ, and that doesn't expect longword pointers after the JSR (but code instead).

Apparently, this code is a direct copy from the Technical Guide - Which is just as wrong...

Note Dilwyn's edition of the technical guide seems to have a scanning glitch on this page - It mentions vector $EB for IO.SERQ, which clearly cannot be - that's an odd address.

Re: Advanced QL User Guide

Posted: Sat Jun 18, 2022 3:33 pm
by Derek_Stewart
tofro wrote:
Derek_Stewart wrote:Hi,

Nearly finished the checking of ebook.

But I have come across an issue:


I have come across a problem with an example code fragment in the physical book, for the use of IO.SERIO or IOU.SSIO in SMSQ/E.

The example in the Advanced QL User Guide, uses the same example in the QL Technical and the SMSQ/E Reference Guide, Section 16 Page 7:

Code: Select all

MOVE.W  $E8,A4
JSR     (A4)
DC.L    TEST
DC.L    FETCH
RTS 
Should A4 not be assigned to $EA for general I/O handling?
IO.SERQ shold be vector E8.
IO.SERIO should be vector EA.

If this example code is indeed to be calling IO.SERIO, the vector is to be $EA, and the code is wrong as well: there should be a third pointer after the call (JSR (a4)) pointing to a "put byte" routine. Using vector $E8 as in your example - will crash - that calls IO.SERQ, and that doesn't expect longword pointers after the JSR (but code instead).

Apparently, this code is a direct copy from the Technical Guide - Which is just as wrong...

Note Dilwyn's edition of the technical guide seems to have a scanning glitch on this page - It mentions vector $EB for IO.SERQ, which clearly cannot be - that's an odd address.
HI,

Thank you for the clarification, I did correct the Advanced QL User Guide, which the example code is taken from the published book.

It seems that the error was present in the QL Technical Manual, Adrian Dickens must of just copied Tony Tebby's manual, assuming no error, then the SMSQ/E Reference Manual was written, using the information from the QL Technical Manual, changing the operating system constants, this error went unnoticed, I have informed Wlolfgzng about required change.

The only correct information about IO.SERIO was in the Qdos Companion.

Just shows how much we all read the detail of the manuals.

Re: Advanced QL User Guide

Posted: Sat Jun 18, 2022 6:56 pm
by tofro
Derek_Stewart wrote:
HI,

Thank you for the clarification, I did correct the Advanced QL User Guide, which the example code is taken from the published book.

It seems that the error was present in the QL Technical Manual, Adrian Dickens must of just copied Tony Tebby's manual, assuming no error, then the SMSQ/E Reference Manual was written, using the information from the QL Technical Manual, changing the operating system constants, this error went unnoticed, I have informed Wlolfgzng about required change.

The only correct information about IO.SERIO was in the Qdos Companion.

Just shows how much we all read the detail of the manuals.
Well, you only need io.serio/io.serq when writing a device driver. Not many people have taken up that challenge.

Re: Advanced QL User Guide

Posted: Sat Jun 18, 2022 11:01 pm
by dilwyn
Have amended that and a few other scanning glitches in the QL Technical Guide on the Replacement Manuals page.

Re: Advanced QL User Guide

Posted: Sat Jun 18, 2022 11:25 pm
by janbredenbeek
tofro wrote: Well, you only need io.serio/io.serq when writing a device driver. Not many people have taken up that challenge.
And not straightforward to use, since it contains absolute long pointers to the actual handling routines. Which means you have to set up the code in RAM unless you're absolutely sure about its address (probably only if it's in the ROM or $C000-$FFFF area. In Minerva, this was avoided by adding an io.relio routine which uses relative pointers).

Re: Advanced QL User Guide

Posted: Mon Jun 20, 2022 5:57 pm
by Derek_Stewart
Hi,

I have finished checking the OCRing of the scan of The QL Advanced User Guide.

The manual maybe still under copyright to ADDER Publications, or ADDER Technology as it is now. So I have emailed them to ask if they would like to release the book from copyright. Once this request has been acceted I will post finished book here.

Meanwhile, I will type in all the listings and make sure they as expected.

Re: Advanced QL User Guide

Posted: Tue Jun 21, 2022 8:02 pm
by Cristian
Derek_Stewart wrote: The manual maybe still under copyright
In any case, great job Derek, and thanks for your effort

Re: Advanced QL User Guide

Posted: Thu Jun 23, 2022 11:04 am
by Derek_Stewart
Hi

Do response from Adder Technology, so if there is nothing forth comming I will apply a Open Source Licence to the scanned text, which has many corrections to be a Community Edition.

I will wait till the en of June for this.