Qmenu - Outln_rext

Anything QL Software or Programming Related.
Post Reply
tcat
Super Gold Card
Posts: 633
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Qmenu - Outln_rext

Post by tcat »

Hi,

Just toying with Qmenu V4 and V7 on genuine black `QL'. There is `Outln_rext' extension. In standard boot file supplied in the package, windows are redifined,

Code: Select all

140 OUTLN#0,512,256,0,0
150 WINDOW#0,512,52,0,204:BORDER#0,1,4:PAPER#0,0:INK#0,7:CLS#0
160 WINDOW 256,204,256,0 :BORDER 1,4  :PAPER 0  :INK 7  :CLS
170 WINDOW#2,256,204,0,0 :BORDER#2,1,4:PAPER#2,0:INK#2,7:CLS#2
I can see some parameters 512,256, on which outln#0 gives bad parameter error.
Cannot figure out, what is the intended use of OUTLN command?

Many thanks
Tomas


User avatar
tofro
Font of All Knowledge
Posts: 2700
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Qmenu - Outln_rext

Post by tofro »

Tomas,

The S-Basic reference Manual has a pretty extensive and detailed explanation of the OUTLN command - I don't think I can do any better.

What needs to be mentioned is the difference between a primary (#0 in most cases) and a secondary window, because OUTLN sets different limits on them

Code: Select all

OUTLN #0, SCR_XLIM, SCR_YLIM, 0, 0
should always work IMHO, while doing the same thing with a secondary can come back with an error when you ask for a secondary to be bigger than the primary's outline. Maybe your version of OUTLN (there seem to be quite some) asks for a default shadow width that you must subtract from the outline.

Tobias

BTW:

Code: Select all

OUTLN #0,SCR_XLIM,SCR_YLIM,0,0
OUTLN #0,SCR_XLIM-5,SCR_YLIM-5,0,0,5 
does very funny things to my QPC screen when I test that - something must be wrong here


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
tcat
Super Gold Card
Posts: 633
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: Qmenu - Outln_rext

Post by tcat »

Hi Tobias,

Yes, needed to do some width, height recalc, to take border shadow into account.
My windows get redefined on booting from SER2 to adjust for non QL tely.

Code: Select all

2 WINDOW #0,467,51,35,205
3 BORDER #0 : PAPER #0,0 : INK #0,4 : CLS #0
4 WINDOW #2,225,202,32,0
5 BORDER #2,1,255 : PAPER #2,7 : INK #2,2 : CLS #2
6 WINDOW 242,202,257,0
7 BORDER 1,255 : PAPER 2 : INK 7 : CLS
8 PROG_USE mdv1_
9 DATA_USE mdv2_
Then I boot further with this for QMenu, and hopefully does resolve that bad parameter.

Code: Select all

10 BAUD 9600
20 LRESPR ser2: REMark menu_rext
30 LRESPR ser2: REMark outln_rext
40 OUTLN#0,469,256,32,0:WINDOW #0,467,51,32,205
50 BORDER#0,1,4:PAPER#0,0:INK#0,7:CLS#0
60 BORDER 1,4  :PAPER 0  :INK 7  :CLS
70 BORDER#2,1,4:PAPER#2,0:INK#2,7:CLS#2
Reading Dilwyn's article on QMenu to get me started, not having orginal manual, anyhere to be got?

Also I wonder what is the difference between V4 and V7, they differ by some 4K in size, but the former gets started with an earlier PTR_GEN I usually run on my genuine QL.

Many thanks.
Tomas


User avatar
NormanDunbar
Forum Moderator
Posts: 2273
Joined: Tue Dec 14, 2010 9:04 am
Location: Leeds, West Yorkshire, UK
Contact:

Re: Qmenu - Outln_rext

Post by NormanDunbar »

You can get the latest QMENU manual from Marcel's fine web site at https://www.kilgus.net/smsqe/qmenu/

Cheers,
Norm.


Why do they put lightning conductors on churches?
Author of Arduino Software Internals
Author of Arduino Interrupts

No longer on Twitter, find me on https://mastodon.scot/@NormanDunbar.
tcat
Super Gold Card
Posts: 633
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: Qmenu - Outln_rext

Post by tcat »

Hi,

Seeing picture on p.96 of J.Jones's book, made me tidy up the menu definition.

Code: Select all

2 WINDOW #0,464,50,34,206
3 BORDER #0 : PAPER #0,0 : INK #0,4
4 WINDOW #2,232,202,32,0
5 BORDER #2,1,255 : PAPER #2,7 : INK #2,2
6 WINDOW 232,202,264,0
7 BORDER 1,255 : PAPER 2 : INK 7
8 PROG_USE mdv1_ : DATA_USE mdv2_
9 MODE 4
And Qmenu boot

Code: Select all

10 BAUD 9600
20 LRESPR ser2: REMark menu_rext
30 LRESPR ser2: REMark outln_rext
40 OUTLN#0,464,256,32,0:WINDOW #0,464,50,32,206
50 BORDER#0,1,4:PAPER#0,0:INK#0,7:CLS#0
60 BORDER 1,4  :PAPER 0  :INK 7  :CLS
70 BORDER#2,1,4:PAPER#2,0:INK#2,7:CLS#2
Which I belive is almost right, if not already.


Post Reply