How to inhibit printing top-row of fonts...

Anything QL Software or Programming Related.
User avatar
pjw
QL Wafer Drive
Posts: 1608
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: How to inhibit printing top-row of fonts...

Post by pjw »

Or you could try a different approach altogether: Use BLOCK or WM_BLOCK to draw your seven-segment characters. It has been done before, by W Lenerz. In fact I devised an asynchronous timer toolkit incorporating Wolfgang's code. The timer is perhaps not much use to you as it is designed for use in S*Basic programs that need to sport a timer that just keeps going whatever else the program is busy doing. It can of course be read and controlled by your program. It uses the RTC rather than the 50Hz interrupt, ie the resolution is a second.

I dont know if its available online anymore, but if youre interested you can always get it from me. The toolkit comes with the source code in assembler.

Per


Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
User avatar
pjw
QL Wafer Drive
Posts: 1608
Joined: Fri Jul 11, 2014 8:44 am
Location: Norway
Contact:

Re: How to inhibit printing top-row of fonts...

Post by pjw »

Is something like this what you had in mind?
Output from WM_DRAW_LED. It always tries to fill the window its drawn in.
Output from WM_DRAW_LED. It always tries to fill the window its drawn in.
Per


Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
User avatar
Mr_Navigator
QL Fanatic
Posts: 782
Joined: Mon Dec 13, 2010 11:17 pm
Location: UK, Essex
Contact:

Re: How to inhibit printing top-row of fonts...

Post by Mr_Navigator »

pjw wrote:Is something like this what you had in mind?
The attachment Timer.jpg is no longer available
Per
That is certainly very useful pjw, I could use that myself.

My way is a little more elaborate and more about overcoming the tenth line and depends on specialised character fonts, however somebody might find this process useful.

Using the following code and loading the character font into memory 'a' the following can be achieved.

1000 :
1010 DEFine PROCedure c
1020 CLOSE
1030 OPEN #10,scr:INK#10,2: PAPER#10,7: CSIZE#10,1,0
1040 WINDOW#10,512,210,0,0: BORDER#10,2,7:CLS#10:PRINT #10
1050 CHAR_USE#10, a, a
1060 CHAR_INC #10,8,9
1070 PAPER#10,0
1080 FOR f=160 TO 220
1090 INK#10,2:PRINT#10,CHR$(f);" ";:INK#10,4:PRINT#10,f;" ",
1100 END FOR f
1110 :
1120 AT#10, 17,20:PRINT#10," ";
1130 FOR f=192 TO 200:PRINT#10, CHR$(f);:END FOR f
1140 PRINT#10," "
1150 AT#10, 16,20
1160 PRINT#10, " ";CHR$(201);" ";CHR$(202);" "
1165 AT#10, 16,26
1166 PRINT#10, CHR$(203)
1170 :
1180 END DEFine
1190 :

You will need to scroll own each image to see the result of adding specific characters together

With line at 1060 CHAR_INC #10, 10,11 you get this

10-11.png
10-11.png (9.52 KiB) Viewed 4946 times
With line at 1060 CHAR_INC #10, 9,10 you get this
9-10.png
9-10.png (9.21 KiB) Viewed 4946 times
With line at 1060 CHAR_INC #10, 8, 9 you get this[/color]
8-9.png
8-9.png (8.21 KiB) Viewed 4946 times


-----------------------------------------------------------------------------------
QLick here for the Back 2 the QL Blog http://backtotheql.blogspot.co.uk/
stevepoole
Aurora
Posts: 888
Joined: Mon Nov 24, 2014 2:03 pm

Re: How to inhibit printing top-row of fonts...

Post by stevepoole »

Hi,
I sent some font enlarging routines to Quanta. Dot_lookup gets the font définitions from memory and enlarges them to any SCALE. They should be in the Library. Maybe they could be of some use in this case. They were inspired by the QL World Fun with Fonts routines, which enable you to design fonts, but not enlarge them, except by the usual CSIZE commands.
Steve.


User avatar
Mr_Navigator
QL Fanatic
Posts: 782
Joined: Mon Dec 13, 2010 11:17 pm
Location: UK, Essex
Contact:

Re: How to inhibit printing top-row of fonts...

Post by Mr_Navigator »

Dot_lookup, was this the Magazine or the Library Steve?


-----------------------------------------------------------------------------------
QLick here for the Back 2 the QL Blog http://backtotheql.blogspot.co.uk/
stevepoole
Aurora
Posts: 888
Joined: Mon Nov 24, 2014 2:03 pm

Re: How to inhibit printing top-row of fonts...

Post by stevepoole »

Hi,
Dot_lookup was on a floppy sent to Quanta, not published. Dilwyn may have it on his site.
Steve.


martyn_hill
QL Wafer Drive
Posts: 1066
Joined: Sat Oct 25, 2014 9:53 am

Re: How to inhibit printing top-row of fonts...

Post by martyn_hill »

Hi again everyone and thank-you for such a wealth of good ideas!

As it stands, my testing so far has only been on QPC and it is here that the CHAR_INC 8,9 method correctly aligns the 8x9 standard font patterns on screen, but unless OVER -1 (xor) is also set, still appears to overwrite/blank the last pixel-row of the _previous_ character-line on screen.

None of your examples shown above seen to exhibit this behaviour, so my QPC setup must by screwy...

I haven't tried on my BBQL yet whilst I'm developing the program on my QPC...

Perhaps it will go away once I run it on the final target BBQL!

Thanks again everyone and Happy New Year!

M.


User avatar
Mr_Navigator
QL Fanatic
Posts: 782
Joined: Mon Dec 13, 2010 11:17 pm
Location: UK, Essex
Contact:

Re: How to inhibit printing top-row of fonts...

Post by Mr_Navigator »

martyn_hill wrote:Hi again everyone and thank-you for such a wealth of good ideas!

As it stands, my testing so far has only been on QPC and it is here that the CHAR_INC 8,9 method correctly aligns the 8x9 standard font patterns on screen, but unless OVER -1 (xor) is also set, still appears to overwrite/blank the last pixel-row of the _previous_ character-line on screen.

None of your examples shown above seen to exhibit this behaviour, so my QPC setup must by screwy...

I haven't tried on my BBQL yet whilst I'm developing the program on my QPC...

Perhaps it will go away once I run it on the final target BBQL!

Thanks again everyone and Happy New Year!

M.
Hi Martyn, it is unlikely that anything is screwy with your system, if you look at my code for CHAR_INC 8,9 you probably overlooked that the characters are printed in reverse so to speak (bottom first), this is to overcome the additional line showing without using OVER-1.


-----------------------------------------------------------------------------------
QLick here for the Back 2 the QL Blog http://backtotheql.blogspot.co.uk/
martyn_hill
QL Wafer Drive
Posts: 1066
Joined: Sat Oct 25, 2014 9:53 am

Re: How to inhibit printing top-row of fonts...

Post by martyn_hill »

Aha! Yes - I hadn't spotted how you did that - thank you!

So, this is expected behaviour - in summary, the std print routines will _always_ attempt to print an extra (10th or 0th, depending how you count it) blank pixel-line _above_ the row currently being printed regardless of the CHAR_INC settings in play (9 pixel-lines in this case).

So without OVER -1, such 'adjacent' printing needs to be issued bottom-up. Got it!

I can work with that - knowing now that I'm not just going mad!

And I promise to share the fruits of my labours here in due course (Alessandro - my 7 year old - asks me every night "When will my lapcounter be ready, daddy?" Even my boss isn't so demanding!


Post Reply