Re: [Ql-Users] QPC2 4.04 BUG (RWAP Software)

2018-04-23 Thread George Gwilt via Ql-Users


> On 23 Apr 2018, at 15:40, Michael Bulford via Ql-Users 
>  wrote:
> 
>> Does anyone know why the following in QPC2 reports "Invalid Channel ID"
>> 
>> WINDOW 448,200,32,16
>> PAPER #1,3
> 

I get no error message.

George
___
QL-Users Mailing List


Re: [Ql-Users] QPC2 for Mac update

2017-10-08 Thread George Gwilt via Ql-Users

> On 8 Oct 2017, at 16:48, Gerhard Plavec via Ql-Users 
>  wrote:
> 
> Tatsächlich... irgendwie gibt es da nichts zu laden !??

Events
1. I Click on the Downloads address given by Marcel.

2. Up comes a page called Downloads.

3. I then click on QPC2 v4.05 for MacOS X.

4. I now get a page called Nothing Here! with a notice Error 404 at the top.

There is a list of Recent Posts. By clicking on “Updated QPC2 for Mac OS X” I 
now get a nice picture under the heading “Updated QPC2 for Mac OS X”. The note 
above the picture says “Get it from the QPC downloads page."

Clicking on this produces Event 2.

I can go on forever doing this - but it becomes less interesting each time. 
(Also - of course - there is the disadvantage of having no actual download.)

George 
___
QL-Users Mailing List

Re: [Ql-Users] QMenu v8

2017-09-25 Thread George Gwilt via Ql-Users

> On 21 Sep 2017, at 09:48, Thierry Godefroy via Ql-Users 
>  wrote:
> 
>> 
>> QMenu 7.66 has a lot of problem, ink  color in view_file remains always
>> black, extension filter don't work and some other problems... Qmenu 8,
>> works well..
> 
> Yes, v7.66 is buggy, but v8 is not much better...

As I remember  v8 worked OK - the machine code interface at any rate.

George
___
QL-Users Mailing List


Re: [Ql-Users] TURBO and testing it exists

2017-08-19 Thread George Gwilt via Ql-Users

> On 18 Aug 2017, at 17:38, Per Witte via Ql-Users  
> wrote:
> 
> George, the question is relevant if you write programs intended for other
> people: You cant be sure THEY will load Turbo. However, IMHO, any serious
> Tinkerer should load Turbo as a matter of course.

I would usually expect to compile any programs before releasing them to the 
general public. In that case TURBO_TK_REM would have been added.

George
___
QL-Users Mailing List


Re: [Ql-Users] Test email

2017-05-31 Thread George Gwilt

> On 12 May 2017, at 20:42, Dilwyn Jones  wrote:
> 
> Oh, OK, I'll send 1,500 test emails to Tobias now as it's going direct to him 
> by mistake.
> (UK NHS hacking at work again)
> 
> Dilwyn

This was treated as junk.

(I’ve only just looked now!)

George
___
QL-Users Mailing List

Re: [Ql-Users] German Minerva ROM

2017-03-10 Thread George Gwilt

> On 8 Mar 2017, at 12:00, pg...@q40.de wrote:
> 
> 
> By now, SMSQ/E is also free software, Minerva offers no advantages 
> regarding licensing anymore. Native hardware interest moved from 
> targeting highspeed Motorola CPU to retrocomputing with FPGA. Which 
> is using plain 68000 at the moment, taking away most interest in 
> 68020+. Although I might change to 68020 later. And most developers 
> are gone, more work for less people, less playground for several 
> operating systems on one machine.

Any assembler program I write for my own use on QPC2 will certainly use the 
extremely useful 68020+ instructions.

George
___
QL-Users Mailing List


Re: [Ql-Users] German Minerva ROM

2017-03-08 Thread George Gwilt

> On 7 Mar 2017, at 15:53, pg...@q40.de wrote:
> 
> 
> GWASS did not produce the same code as QMAC from Minerva source, and 
> required various sourcecode changes, which now no longer allow to 
> use QMAC. We did not hunt down all the subtle differences yet. I'm 
> sure this could all be solved by more debugging and discussing the 
> issues with you, and you would be more than willing to help. But 
> this process would require a continuos period of time to concentrate 
> on the topic, which neither Richard nor me found.

I remember spending much time altering the source code of SMSQ/E so that it 
could be assembled by GWASS. I think the reason for doing this this was that 
GWASS allows the 68020+ instructions to be used, which QPC2 allows, but QMAC 
doesn't. Otherwise, I agree that it is silly to go to the trouble of altering 
the Minerva code just so that you could use GWASS.

George
___
QL-Users Mailing List


Re: [Ql-Users] Behaviour of DIV with negative numbers in SBASIC (QPC2)

2017-01-09 Thread George Gwilt

> On 9 Jan 2017, at 09:29, Jan Bredenbeek  wrote:
> 
> A word of warning!
>> 
>> It may be true that SMSQ/E supports Long INTs for DIV/MOD but I do
>> remember that QLIB does not.
>> I tried this in SQRview and it worked fine in SBasic but needed a
>> workaround for QLIB to avoid an "overflow" error.
>> It's possible that QLIB uses its own DIV/MOD routines.
> 
> 
> This is also true for plain interpreted SuperBASIC. Only SBASIC supports
> DIV/MOD with long INTs.

TURBO doesn’t.

For example 325 MOD 7 gives 5 in S*BASIC with QPC2, but overflow is 
reported by TURBO.

George
___
QL-Users Mailing List

Re: [Ql-Users] Bevaiour of DIV with negative numbers in SBASIC (QPC2)

2017-01-06 Thread George Gwilt

> On 5 Jan 2017, at 15:27, Martyn Hill  wrote:
> 
> Hi everyone
> 
> Can anyone tell me the expected behaviour for the integer-divide operator 
> 'DIV' in SBASIC, when provided with a negative dividend/numerator?
> 
> My number-theory is a bit rusty, but I would have thought that, say, -1 DIV 
> 10 should result in 0 (with remainder/MOD of -1).
> 
> Instead, on QPC2/SBASIC, I get the result -1 for that example - and (almost) 
> always 1 less than expected for negative dividends, thus:
> 
> 12 DIV 10 = 1
> 11 DIV 10 = 1
> 10 DIV 10 = 1
>   9 DIV 10 = 0
> ...
>   2 DIV 10 = 0
>   1 DIV 10 = 0
>   0 DIV 10 = 0
> * -1 DIV 10 = -1 - expected '0'**
> ** -2 DIV 10 = -1**
> **...**
> **  -9 DIV 10 = -1*
> *-10 DIV 10 = -1 - as expected*
> *-11 DIV 10 = -2 - expected '-1'
> -12 DIV 10 = -2
> 
> *etc...
> 
> Thanks in advance!
> 
> Martyn.

n DIV m = INT(n/m)

INT(a) gives the “integer part”  of a. There are three possibilities.

1. a is rounded up
2. a is rounded down
3. a is rounded to nearest

In S*BASIC a is rounded down. Thus -11 DIV 10 = INT(-11/10) = -2

George



___
QL-Users Mailing List

Re: [Ql-Users] Qliberator External on Turbo??

2016-12-09 Thread George Gwilt

> On 8 Dec 2016, at 15:02, Derek Stewart  wrote:
> 
> 
> But what I mean is, if a SBASIC procedure is written, it can be compiled with 
> Qliberator and LRESPRed into the Interpreter list.
> 
> E.g. from Qliberator Manual
> 
> 10 $$external
> 20 Def Proc Square(x)
> 30   print x*x
> 40 End Def Square
> 
> When this is compiled and the resulting OBJ file is LRESPRed, this adds the 
> command Square to the Interpreter.

TURBO allows this by use of TASCOM.

George
___
QL-Users Mailing List


Re: [Ql-Users] Qliberator External on Turbo??

2016-12-08 Thread George Gwilt

> On 8 Dec 2016, at 15:02, Derek Stewart  wrote:
> 
> But what I mean is, if a SBASIC procedure is written, it can be compiled with 
> Qliberator and LRESPRed into the Interpreter list.
> 
> E.g. from Qliberator Manual
> 
> 10 $$external
> 20 Def Proc Square(x)
> 30   print x*x
> 40 End Def Square
> 
> When this is compiled and the resulting OBJ file is LRESPRed, this adds the 
> command Square to the Interpreter.

That is certainly something TURBO does not do - - at the moment.

George
___
QL-Users Mailing List


Re: [Ql-Users] Qliberator External on Turbo??

2016-12-08 Thread George Gwilt

> On 8 Dec 2016, at 14:09, Derek Stewart  wrote:
> 
> I was reading my old Qliberator manual which I had forgotten about the 
> $$external function to allow S*Basic procedures and Functions to be compiled 
> to that added to the S*BASIC to extend the commands.
> 
> Can this be done in Turbo, or can Turbo be altered to do this.

You can add REM %%[ name of extension file ] to a program to be compiled by 
TURBO so that the extensions to S*BASIC therein are loaded. This mirrors the 
similar procedure in QLIB.

The details are in the TURBO Manual.

George
___
QL-Users Mailing List


Re: [Ql-Users] Software Preservation Project - Tasks

2016-07-13 Thread George Gwilt

> On 10 Jul 2016, at 14:14, Wolf  wrote:
> 
> isn't Turbo maintained by Grorge Gwilt?

Yes - ever since I read in a magazine that I was to maintain it!

But I have no idea whether this affects copyright or not.

George
___
QL-Users Mailing List


Re: [Ql-Users] A feature or a bug?

2016-06-14 Thread George Gwilt

> On 14 Jun 2016, at 16:45, François Van Emelen <francois.vaneme...@telenet.be> 
> wrote:
> 
> Op 14/06/2016 om 16:18 schreef George Gwilt:
>>> On 14 Jun 2016, at 14:56, Bob Spelten <b...@upcmail.nl> wrote:
>>> 
>>> Op Tue, 14 Jun 2016 15:43:00 +0200 schreef Marcel Kilgus 
>>> <ql-us...@mail.kilgus.net>:
>>> 
>>>> Marcel Kilgus wrote:
>>>>> François Van Emelen wrote:
>>>>>> 10 f$="":REMark empty string
>>>>>> 20 if FTEST(f$)=0
>>>>>> 30 DIR f$
>>>>>> 40 ELSE
>>>>>> 50 PRINT f$," can't be a file name"
>>>>>> 60 ENDIF
>>>>>> 
>>>>>> Why is line 30 executed (displaying the directory of datad$) instead of
>>>>>> line 50?
>>>>> Because SMSQ/E defaults to dev1_ if you don't give a filename, I
>>>>> presume.
>>>> Strike that, it defaults to datad$ of course, which is set to "dev1_"
>>>> in my case. I mean, that's what DATA_USE is for, providing a default
>>>> directory for file operations.
>>>> 
>>>> Marcel
>>>> 
>>> I understand the datad$ but the problem is why FTEST returns a zero?
>>> FTEST should return a -7, so DIR is should not be done.
>>> 
>>> 
>> The manual says that FTEST tests "a file or device”. Thus FTESTing win4_, 
>> say, returns “0” even if win4_ contains no files.
>> 
>> George
>> 
>> ___
>> QL-Users Mailing List
> 
> So, this seems to be a feature... a very dangerous one : replacing DIR f$ in 
> line 30 with DELETE f$ would wipe all directories and files on that device.
> 
> And there is no Undo available .
> 
> François Van Emelen
> 
> 
> 
> ___
> QL-Users Mailing List

Using Turbo Toolkit’s DEVICE_STATUS might be safer.

George
___
QL-Users Mailing List

Re: [Ql-Users] A feature or a bug?

2016-06-14 Thread George Gwilt

> On 14 Jun 2016, at 14:56, Bob Spelten  wrote:
> 
> Op Tue, 14 Jun 2016 15:43:00 +0200 schreef Marcel Kilgus 
> :
> 
>> Marcel Kilgus wrote:
>>> François Van Emelen wrote:
 10 f$="":REMark empty string
 20 if FTEST(f$)=0
 30 DIR f$
 40 ELSE
 50 PRINT f$," can't be a file name"
 60 ENDIF
 
 Why is line 30 executed (displaying the directory of datad$) instead of
 line 50?
>>> Because SMSQ/E defaults to dev1_ if you don't give a filename, I
>>> presume.
>> 
>> Strike that, it defaults to datad$ of course, which is set to "dev1_"
>> in my case. I mean, that's what DATA_USE is for, providing a default
>> directory for file operations.
>> 
>> Marcel
>> 
> I understand the datad$ but the problem is why FTEST returns a zero?
> FTEST should return a -7, so DIR is should not be done.
> 
> 

The manual says that FTEST tests "a file or device”. Thus FTESTing win4_, say, 
returns “0” even if win4_ contains no files.

George

___
QL-Users Mailing List

Re: [Ql-Users] EasyPtr and me

2016-04-07 Thread George Gwilt

> On 7 Apr 2016, at 12:19, Norman Dunbar  wrote:
> 
> A most enjoyable read, thanks Marcel. I might even take you up on the offer 
> of EasyMenu 4 sometime, but these days I'm using George's not-quite-WYSIWYG 
> assembly utilities. (Due to old age - 56 today - I'm afraid I can't remember 
> the damned name of the utility I use! Aargh! Better book my etirement home 
> soon I think. :-(

I certainly find it very hard to remember things. I do remember that my 
assembler routines are referred to as EasyPEasy and they are on my website. 
From that I can find the names of any specific program.

I see also that my website contains something called TurboPTR which enables you 
to write PE programs in S*BASIC and then compile them with TURBO. This must be 
similar to EasyPtr.

George
___
QL-Users Mailing List


Re: [Ql-Users] Emulators and 68020 instructions

2016-01-29 Thread George Gwilt

> On 29 Jan 2016, at 12:37, Norman Dunbar  wrote:
> 
> I know QPC can do these instructions but are the other emulators able to? 
> 
> Any advice gratefully received. Thanks as ever.

I think not. The only other machines are Q4, Q60 and some QXLs (if that is what 
they are called!). But no emulators.

George
___
QL-Users Mailing List


Re: [Ql-Users] screen info in assembler

2016-01-15 Thread George Gwilt

> On 14 Jan 2016, at 15:32, Marcos Cruz  wrote:
> 
> Is there a key for that $C4 offset? The only $C4 I've found in all keys
> files I have are ut_windw and pt_ptrok, which have nothing to do with
> this.

SYS_CLNK

George
___
QL-Users Mailing List


Re: [Ql-Users] screen info in assembler

2016-01-14 Thread George Gwilt

> On 14 Jan 2016, at 11:11, Wolfgang Lenerz  wrote:
> 
> but probably not on systems without smsq/e.

The original question assumed SMSQ/E present.

George
___
QL-Users Mailing List


Re: [Ql-Users] screen info in assembler

2016-01-14 Thread George Gwilt

> On 13 Jan 2016, at 20:26, Marcos Cruz  wrote:
> 
> Which is the easiest way to get the screen info from assembly is SMSQ/E?
> I mean, what `scr_base`, `scr_xlim`, `scr_ylim` and `scr_llen` do in
> SBASIC.

The information is in the CON linkage block. The address of this block is at 
$C4 of the system variables (usually $28000).

The keys for the contents of the block are held in “keys_con” a copy of which 
is in EasyPeasy.

For example, the screen limits, SCR_XLIM and SCR_YLIM are at $F2 and $F4 of the 
linkage block. The codes for these are pt_xscrs and pt_yscrs.

George
___
QL-Users Mailing List

Re: [Ql-Users] screen info in assembler

2016-01-14 Thread George Gwilt

> On 14 Jan 2016, at 14:56, Marcos Cruz  wrote:
> 
> That file is not in peasp02.zip (I downloaded it also from your site,
> just in case).  Anyway, the keys you mention are in the  file
> of the SMSQ/E sources.

You are right! the file KEYS_CON is in my own PE directory and was not 
transferred to peasp02.zip. I’m sorry.

The file is indeed in the SMSQ/E sources - if you know where to look.

George
___
QL-Users Mailing List

Re: [Ql-Users] Floating Point Questions

2015-08-18 Thread George Gwilt

 On 14 Aug 2015, at 17:56, Norman Dunbar nor...@dunbar-it.co.uk 
 mailto:nor...@dunbar-it.co.uk wrote:
 
 Second question, is there a simple way to look at the internal representation 
 of a float and determine whether it is an INT or not?

Yes. (An amended version) Put the fp number onto the arithmetic stack and use 
RI.EXECB to do the following:

qa.dup.qa.nlint,qa.float,qa_sub,0

This duplicates the number, finds the nearest long integer to the first copy 
and then converts that long integer to floating point whereupon it finds the 
difference between the converted number and the original.

This assumes that the internal from of the fp number is normalised. That is 
that bit 30 of the mantissa is 1 or that the number is very small indeed.

George


___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Floating Point Questions

2015-08-17 Thread George Gwilt

 On 14 Aug 2015, at 17:56, Norman Dunbar nor...@dunbar-it.co.uk wrote:
 
 Second question, is there a simple way to look at the internal representation 
 of a float and determine whether it is an INT or not?

Yes. Put the fp number onto the arithmetic stack and use RI.EXECB to do the 
following:

qa.dup.qa.nlint,qa.float,0

This duplicates the number, finds the nearest long integer to the first copy 
and then converts that long integer to floating point whereupon it finds the 
difference between the converted number and the original.

George


___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] New QL Assembly Language Book.

2015-07-18 Thread George Gwilt

 On 17 Jul 2015, at 20:27, Norman Dunbar nor...@dunbar-it.co.uk wrote:
 
 After much work, some wailing, some gnashing of teeth and a good few hours 
 typing on my phone while on holiday recently, I have finished updating the 
 file

Wow! Every serious QLer should have a copy.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Decompiler

2015-06-28 Thread George Gwilt

 On 28 Jun 2015, at 14:22, Derek Stewart de...@q40.de mailto:de...@q40.de 
 wrote:
 
 
 One question with regards to the temporary file that is created by the 
 Parser_task:
 
 a) Is this the input file to the Codegen_task

Yes

 b) Do we know the format of the file

It is known. In fact there is a program which decodes it in a readable form. 
When I  alter TURBO I  use it to check that the output is what I expect. 
However, this program is not generally available. I am not sure whether the 
format of the intermediate code is available either.

Also, I think that the location of the intermediate file can vary. It is 
obviously available to CODEGEN_TASK but not otherwise easily accessible by the 
general public!

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QDOS / SMS,Reference Manual ebook

2015-05-13 Thread George Gwilt

 On 12 May 2015, at 20:10, Derek Stewart de...@q40.de wrote:
 
 I have not looked at my paper copy of the manual, just used the PDF version.
 
 According to the PDF version:
 
 IOF.POSA D0=$42
 IOF.POSR D0=$43
 
 as you stated, there is no entry for D0=$44
 
 I have a look at my hard copy version of SMS Technical Manual. There is no 
 mention of a IOF.TEST, even though the same page in Section 5.3 refers to 
 IOF.TEST
 
 I looked in the older QDOS Technical Manual, nothing like IOF.TEST
 
 This is looking like a major fault in the documentation, I suppose the best 
 way to resolve this is to look at the SMSQ/E Sources and determine what the 
 missing Trap call should be.
 
 Unless anybody knows what IOF.TEST is defined as I will find out and issue an 
 update.
 

According to Norman Dunbar’s wiki D0=$44 was reserved for rename, but not 
implemented.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Re: [Ql-Users] Paruse Partyp

2014-11-29 Thread George Gwilt

On 29 Nov 2014, at 14:04, François Van Emelen francois.vaneme...@telenet.be 
wrote:

 Hi all,
 
 (Is there still someone listening here?)
 
 Three questions
 
 1. Can someone tell me why the values printed for PARTYP and PARUSE in lines 
 240 to 350 are always 2?
 Is there something wrong with these functions or am I missing something?
 
 100 :REMark  test return values of par_use,par_typ,parnam$
 110 REMark string
 120   pay$=Belgium
 130 REMark array
 140  DIM 
 langue$(2,10):langue$(0)=Dutch:langue$(1)=French:langue$(2)=German:
 150 REMark float
 160  keyboardcode=32
 170 REMark integer
 180  a%=1
 190 PRINT TEST_PARAM(pay$,langue$,keyboardcode,a%):PAUSE
 200 :
 210 DEFine FuNction TEST_PARAM (p$,l$,k,i%)
 220 :
 230 :
 240 PRINT PARNAM$(1)  :REMark prints 'pay$' as expected
 250 PRINT PARTYP(1)   :REMark prints 2  :shouldn't that be 1 -string

PRINT PARTYP(pay$) will give the answer 1

 260 PRINT PARUSE(1)   :REMark prints 2  :shouldn't that be 1 -variable

PARUSE like PARTYP is a function taking the name of the parameter of the 
procedure or function as its own parameter. I have not been able so far in 
testing this to find a value other than 2. How odd (or even rather).

 270 PRINT PARNAM$(2)  :REMark prints 'langue$' as expected
 280 PRINT PARTYP(2)   :REMark prints 2 :shouldn't that be 1 -string
 290 PRINT PARUSE(2)   :REMark prints 2 :shouldn't that be 2 -langue$ is an 
 array
 300 PRINT PARNAM$(3)  :REMark prints 'keyboardcode' as lexpected
 310 PRINT PARTYP(3)   :REMark prints 2: correct - keyboardcode is a float
 320 PRINT PARUSE(3)   :REMark prints 2::shouldn'tthat  be be 1 -string
 330 PRINT PARNAM$(4)  :REMark prints 'a%' as expected
 340 PRINT PARTYP(4)  : REMark prints 2 :shouldn't that be be 3 - a% is an 
 integer
 350 PRINT PARUSE(4)  : REMark prints 2 :shouldn't be be 1 -variable
 360 REMark the values for partyp and paruse are always 2:why?
 370  RETurn What's wrong?:
 380  REMark the returned value is not important here
 390 :
 400 END DEFine TEST_PARAM
 2. Is there a way to find out how many languages are supported 
 (English,French,..)?
 3. Once we know which language is active (with language($), can we access the 
 strings containing the days of the week
 and the string with the names of the months?
 
 Some help would be appreciated.
 François Van Emelen
 
 


George







___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] OUT NOW!

2014-11-04 Thread George Gwilt

On 4 Nov 2014, at 19:10, Ralf Reköndt ralf.rekoe...@t-online.de wrote:

 I have read the few demo pages at Amazon and find it a bit circumstancially 
 to use this version as a serious book. I have the native one, and this is a 
 lot better to flip from page to page and to search for special things.

My printed book has the numbers of the pages I want to look at written in 
pencil inside the cover.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


[Ql-Users] Program Updates

2014-10-27 Thread George Gwilt
There is an update on my website

http://gwiltprogs.info

TURBO  v 5.09 now correctly compiles COMMAND_LINE when this procedure has a 
parameter, which it does when a daughter basic is to be selected.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Assembly Language Issue 1 now available.

2014-03-06 Thread George Gwilt

On 5 Mar 2014, at 21:08, Norman Dunbar nor...@dunbar-it.co.uk wrote:

 Issue 1 of the QL Today Memorial Assembly Language Mailing List irregular 
 eMagazine is now available in three separate flavours:

Well done!

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


[Ql-Users] Program Updates

2014-01-30 Thread George Gwilt
There are two updates on my website

http://gwiltprogs.info

1. NET_PEEK  v 3.42 displays graphics information for CON/SCR channels in 
programs compiled by TURBO.

2. TURBO TK Code v 3.42 contains the keyword TURBO_DUMMY which can be used, in 
conjunction with TURBO_V, as a substitute for functions returning floating 
point.

(The fact that both new versions are 3.42 is purely coincidental!)

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] A quick plug: New blog post on 30 years of the QL and the Mac.

2014-01-25 Thread George Gwilt

On 25 Jan 2014, at 14:35, Stephen Usher st...@lingula.org.uk wrote:

 Just a shameless plug for a blog post I've just written... ;-)

Very interesting.

And here am I trying to update NET_PEEK using QPC2 on an apple MAC.

The QL just keeps on going!

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Developer assistance request.

2014-01-21 Thread George Gwilt

On 21 Jan 2014, at 15:41, Petri Pellinen p...@iki.fi wrote:

 Richard Zidlicky's document QDOS TCP/IP and socket functionality at
 http://www.dilwyn.me.uk/docs/manuals/socket.html seems to propose that most
 of the POSIX-type functionality be implemented as an extension to standard
 Trap #3 calls with D0 values $50-$7B inclusive mapped to socket API calls.
 
 Does anyone here on the mailing list know of possible conflicts with other
 drivers if this proposed scheme was used?

Trap#3 $50 to $5E, $60, $61 and $68 are used for GD2 colours.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Re: Final call for QL Today V17 + DVD orders

2013-11-28 Thread George Gwilt

On 28 Nov 2013, at 00:10, Michael Bulford wrote:

  QPC version 4.00 just simply has
 to be the very best version of the QL S*Basic language there ever is! 

I totally agree.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] How to query current Paper/Strip/Ink in HiColour/QPC2 windows?

2013-11-07 Thread George Gwilt

On 4 Nov 2013, at 22:49, Martyn Hill wrote:

 On an entirely different topic, and perhaps naively, can I ask how to query a 
 window in SBASIC to discover the current Paper/Strip and Ink settings - 
 specifically after using the COLOUR_PAL command in QPC2?
 
 My aim is to (arbitrarily) manipulate the colours on a window that's passed 
 to my SBASIC routine and to then reset the colours back to what they were on 
 entry, before returning.
 
 When using the default QL (8 colour) palette, the current Paper etc, could be 
 found in the window's channel definition block at offsets 68 - 70 (decimal). 
 Old-school, but effective, seeing as there doesn't appear to be a trap or 
 vectored routine to officially query such properties of a window.
 
 Once the 256 colour palette is selected, the values at these offsets appear 
 to get hammered (or at least reset to zero, regardless of what is set through 
 the PAPER/STRIP and INK commands.)
 
 Am I missing something really obvious?

The colour words for paper and strip are at positions $66 and $68 in the 
channel block for a particular CON/SCR. The address of the channel block for 
channel number n (system channel number NOT BASIC channel number) is in the nth 
long word from the start of the channel base ($2BC60).

If you are using QPC2 and GD2 colours and the default palette, the colour word 
for mustard, number 16 is $9480. Suppose you set COLOUR_PAL and then PAPER 16 
then when you look at the positions $66 and $68 of the channel block you will 
see $8094 because of the byte reversal. 

If you now set STRIP 2, you will see $00F8 in position $68, since $F800 is the 
word for red and palette number 2 is, normally, red.

George

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Job data space - foibles?

2013-10-10 Thread George Gwilt

On 10 Oct 2013, at 07:08, Tobias Fröschle wrote:

 
 Am 10.10.2013 um 00:37 schrieb Marcel Kilgus:
 
 Norman Dunbar wrote:
 
 The TK2 manual says If the parameters of EX start with '#channel TO',
 then the corresponding SuperBASIC channel will be closed (if it was
 already open) and a new channel opened as a pipe to the first
 program.
 
 Morale of the story: I should have looked at the documentation first
 ;-)
 Well, at least I had! ;-)
 
 Not this time ;)
 
 
 Marcel, Norman,
 
 I looked at both (the manual and the code), could see the mention of 'close' 
 in the manual, but not in the code. The original channel is not really 
 closed - It's channel ID in the SuperBASIC channel table is simply 
 overwritten.
 
 The TK2 Manual makes also interesting reading regarding the Special Jobs 
 paragraph that have a second $4afb in their header that is actually used to 
 flag to the OS that this job got its own command line parsing routine that 
 will be called within a SuperBASIC context - That is, you can apparently use 
 Basic variables in command lines.
 
 Tobias
 

The assembler routine, ending with RTS, following the second $4AFB is obeyed 
before the program is started. An example of that is in the source code for 
SMSQ/E in the file extras_exe_source_cct_asm.

If you start such a program with ET instead of EX, the special routine will be 
obeyed straight away.

George

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Job data space - foibles?

2013-10-08 Thread George Gwilt

On 7 Oct 2013, at 20:36, Norman Dunbar wrote:

 Evening all,
 
 I'm experimenting for the first exciting episode of the new assembly language 
 mailing list. It's the first time I've sat down with QPC since I started my 
 new job!
 
 I have noticed something a little odd, well, even to be honest. Strangely 
 enough, the answer is 42 - what is the question? ;-)
 
 Seriously, when I create a job with any given dataspace, when the job is 
 activated, A5.L is always set to that data space value plus 42 extra bytes.
 
 There's nothing in the QDOS docs (from Jochen) nor in Dickens or Pennell. The 
 closest I have found is in Pennell on page 20 where he says that ... TRNSP 
 is expanded by D2+D3+$68, memory permitting when a job is created.
 
 D2 is the code size, D3 is the requested dataspace size and the extra $68 is 
 for the standard job header area.
 
 I'm wondering if the mysterious 42 extra bytes is also accumulated in the 
 space desired in TRNSP (it has to be D2+D3+$68+42 or stuff would crash!) but 
 where does it come from?
 
 I cannot see it as being a rounding to the nearest 16 or 8 or whatever, 
 because it's always 42. When I say always, I have tried the same job with the 
 following dataspace sizes, and every one set A5 to be 42 extra:
 
 126, 256, 500, 512, 1000, 1024, 2000, 2048, 3000, 3172, 4000, 4096.
 
 I could, I suppose, look up the source for SMSQ but I don;t, sadly, have the 
 time at the moment. Not after doing all the above testing! I'm afraid I shall 
 be lazy and rely on the good will and knowledge of the list for answers.
 
 Thanks in advance.
 
 
 Cheers,
 Norm.
 

Pennel says that (A6,A4) points to the start of data and (A6,A5) points to 
immediately past the data area end. This implies that the size of the data 
space is A5 - A4.

Having experimented with a program having no parameter list and no channels on 
being executed, I found that there always was an excess of A5 - A4 over the 
data space requested in the program. In my case the excess was always positive, 
always even and never 42. The excess ranged from 12 to 34.

George

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QPC2 v3.40 Beta 2

2013-07-10 Thread George Gwilt

On 10 Jul 2013, at 14:18, Marcel Kilgus wrote:

 While I'm at it, does anybody still use the fullscreen mode?

All the time.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QPC2 v3.40 Beta 2

2013-07-10 Thread George Gwilt

On 10 Jul 2013, at 14:18, Marcel Kilgus wrote:

 While I'm at it, does anybody still use the fullscreen mode? I'm
 considering moving away from DirectX completely, which would also get
 rid of native full screen mode. But in times of LCDs it's probably not
 that important anymore anyway.

Although SHFT/CTRL/F12  (plus the fn key on my Apple Mac) sets full screen for 
v3.34 beta it has no effect on 3.40 beta 2.  Has full screen already been 
disallowed?

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Flightdeck

2013-05-16 Thread George Gwilt

On 15 May 2013, at 21:02, Jiri Dolezal wrote:

 
 Runs well on Super Gold Card with no other extensions or expansions.
 
 Stops on Sandy Q Board non-mouse version (640 K total RAM) with simillar 
 error messages (FOP - not found, Channel not open, ...).
 ... because it requires Toolkit II.
 With Toolkit, it draws flight instruments and freezes, as described by RWAP.

With TK2 this is what happens with JM rom plus Trump Card.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Flightdeck

2013-05-15 Thread George Gwilt

On 15 May 2013, at 09:23, Rich Mellor wrote:

 The demo version also has the same problem - I wonder if I never tested it on 
 anything less than a Gold Card ??
 
 Can others please give this a go on QL hardware 

Before trying out Flightdeck on a JM rom I tried it on QPC2 with this result:

The unzipped files on ram2_ were

1 Boot
2 Config (MenuConfig works)
3 FLIGHT_obj
4 MANUAL_doc
PRICES_doc
start_data
uk_navaids_cde
uk_world_cde

The result on running the BOOT with a configured FLIGHT_obj was the remark on a 
red strip:

Job 26 Flightdeck(Demo-1.05) LBYTES
not found
Retry Continue Abort R/C/A

Pressing A caused the message to change to:
 not found
Retry Continue Abort R/C/A
Data : 512 2304 3  Stack : 800 144

Does this help?

George

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Test email

2013-05-14 Thread George Gwilt

On 14 May 2013, at 15:01, Dilwyn Jones wrote:

 Please ignore this email (unless you have just read it in which case you 
 can’t, so recursively re-enter the Ignore procedure ...)

Duly ignored . . 

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Test email

2013-05-14 Thread George Gwilt

On 14 May 2013, at 15:25, Norman Dunbar wrote:

 
 
 Duly ignored . .
 U! You sure? ;-)


More or less. I was really wondering why QDOS doesn't have a vector setting 
long words to ASCII when suddenly - ping! - there was this ignorable email 
which I inadvertently sensed out of my eye's corner.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Test email

2013-05-14 Thread George Gwilt

On 14 May 2013, at 16:06, Norman Dunbar wrote:

 
 More or less. I was really wondering why QDOS doesn't have a vector setting 
 long words to ASCII when suddenly - ping! - there was this ignorable email 
 which I inadvertently sensed out of my eye's corner.
 
 Aha, I see. You inadvertently sensed it, and accidentally replied! :-)
 
 I think the problem is because the instruction to ignore it is at  the 
 bottom. However, it matters not. If you obey the instruction to ignore it, 
 then obviously, you didn't ignore it.
 
 Thus, we enter Dilwyn's recursive ignoring it scenario!
 
 I'm having a bad day!

Ah! I now see the problem. I must have ignored the instruction to ignore the 
email - or part thereof. Does that count as recursion?

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Test email

2013-05-14 Thread George Gwilt

On 14 May 2013, at 16:24, Wolfgang Lenerz wrote:

 Hi,
 
  More or less. I was really wondering why QDOS doesn't have a vector
  setting long words to ASCII
 
 Perhaps this will help.
 
 ; on entry, D0 = long int to convert to ascii
 ; A0 = space for ascii chars
 ; D1-D3,D7 : smashed
 cvtlong   CMP.L #$8000,D0
  BEQ.S oor; don't convert this
  LEA   table,A2
  MOVEQ #11,D1
  MOVEQ #0,D7
  BTST  #31,D0  ; is it minus?
  BEQ.S binlop1
  NEG.L D0
  BSET  #0,D7
 binlop1   SUBQ.W#1,D1   ; get rid of excess 0s
  CMP.L (A2)+,D0
  BLT.S binlop1
  SUBQ.L#4,A2
  MOVE.WD1,(A0)+; this will be length of final figure
  TST.W D7  ; was it minus?
  BEQ.S binlop2
  ADDQ.W#1,-2(A0)
  MOVE.B#'-',(A0)+
 binlop2   MOVE.L(A2)+,D3; merci Thierry!
  MOVEQ #-$30,D2
 binlop3   SUB.L D3,D0
  DBMI  D2,binlop3  ; sub this until neg (i.e. subbed too 
 much)
  NEG.B D2
  MOVE.BD2,(A0)+; figure now
  ADD.L D3,D0   ; overshot one
  DBRA  D1,binlop2  ; do it until no more...
 cvtoutMOVEQ #0,D0
 RTS
 
 oor   MOVEQ #-4,D0
  RTS
 
 table dc.l  10
  dc.l  1
  dc.l  1000
  dc.l  100
  dc.l  10
 table2dc.l  1
  dc.l  1000
  dc.l  100   ; 64
  dc.l  10
  dc.l  1
 
 Wolfgang

Interesting. I used:



George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Test email

2013-05-14 Thread George Gwilt

On 14 May 2013, at 16:54, George Gwilt wrote:

 
 Interesting. I used:
 


 This is what should have appeared earlier!!

At entry:
D0.L contains the (positive) number
A0 points to the end of the area to
contain the ASCII result

 At exit
D0 = 0
A0 points to the start of the number

LTODSWAPD0
BEQ.S   LTODW2
MOVE.W   D0,D1
BEQ.S   LTODW
EXT.L   D1
DIVU#10,D1
SWAPD1
MOVE.W D1,D0
SWAPD0
DIVU#10,D0
SWAPD0
ADDI.W  #48,D0
MOVE.B  D0,-(A0)
SWAPD0
MOVE.W   D0,D1
MOVE.L  D1,D0
BRA.S   LTOD
LTODW1  DIVU#10,D1
SWAPD0
LTODW2  ADDI.W  #48,D0
MOVE.B  D0,-(A0)
CLR.W   D0
LTODW   SWAPD0
BNE.S   LTODW1
RTS 

This, and a further routine to deal with negatives, is in the Library files on 
my website.


 
 
 George

George

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Test email

2013-05-14 Thread George Gwilt

On 14 May 2013, at 16:57, Wolfgang Lenerz wrote:

 And that works?

A treat.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Auto-hide

2013-04-16 Thread George Gwilt

On 16 Apr 2013, at 14:03, Dilwyn Jones wrote:

 This is a little programming challenge I left with George Gwilt at the Quanta 
 workshop this weekend.
 
 I’d like to create something which can behave a bit like an “auto-hide” 
 Windows taskbar, using the pointer environment.
 
 If the pointer rests at the bottom of the screen (or any edge for that 
 matter) for a couple of seconds, the program or taskbar (or whatever you use 
 it for) pops up, even if it was buried under other windows.
 
 Sounds simple: might be simple, I don’t yet know!

Let's see how many different solutions we come up with.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Auto-hide

2013-04-16 Thread George Gwilt

On 16 Apr 2013, at 14:03, Dilwyn Jones wrote:

 
 If the pointer rests at the bottom of the screen (or any edge for that 
 matter) for a couple of seconds, the program or taskbar (or whatever you use 
 it for) pops up, even if it was buried under other windows.
 
 Sounds simple: might be simple, I don’t yet know!

I've just written a small program which has no window that you can see, has no 
loose items, or indeed anything at all, except that it picks master basic (ID = 
0) when the pointer is moved to the top band of the screen. So yes it seems 
simple.

Of course you would have to supply to this program the ID of the program you 
want picked.


George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Auto-hide

2013-04-16 Thread George Gwilt

On 16 Apr 2013, at 16:42, tobias.froesc...@t-online.de wrote:

 how did you manage to detect where the pointer is without a window?

By having an invisible window by setting the MSbit of its attributes in the 
window definition. This stops the window being cleared so that you see what's 
beneath it. Ie it's invisible.

The detection is, of course, by setting D2 to 48 for IOP.RPTR

George


___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Auto-hide

2013-04-16 Thread George Gwilt

On 16 Apr 2013, at 17:10, Norman Dunbar wrote:

 
 Does the invisible window cover the whole screen by any chance? If so, what 
 happens to any other program running beneath the invisible window when you 
 attempt to click on it with the mouse to pick it to the top of the pile?
 

The window does, I think, cover the whole screen.

I have just tried picking the program (called 'pic') without any effect. Mind 
you its pointer is invisible as well as the window.

 I remember a program I wrote for Dilwyn some years ago (I can't remember the 
 name of it though!) which opened a full-screen window for some reason, which 
 effectively disabled using the pointer to pick the other running programs.


Other programs remain pickable.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Qliberator problems

2013-04-03 Thread George Gwilt

On 2 Apr 2013, at 18:32, Wolfgang Lenerz wrote:

 
 All,
 Turbo does the very same thing, in my understanding - just with two 
 different executables - parser_task and codegen_task, and the intermediate 
 file format is not QSAVE, but something different - which is not officially 
 documented. If you use such a file as input for codegen_task, Turbo can very 
 well compile from a file.
 
 Interesting - does parser_task actually generate a file?

Yes

 One difference is, of course, that you can qsave a file from any s*basic job, 
 whereas is seems that parser_task seems to need the program to be loaded into 
 job 0.

Yes

George

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Qliberator problems

2013-04-02 Thread George Gwilt

On 1 Apr 2013, at 16:38, Wolfgang Lenerz wrote:

 Turbo cannot choose the dataspace which might be needed in a program it is 
 compiling.
 
 You can either choose a specific dataspace on compilation or increase it 
 after compilation.
 
 From within my (basic or compiled) program?
 
 If not, Turbo would be unsuitable for what I'd want to achieve.
 

The TURBO_TK command DATA_AREA can be used in a basic program to set the 
dataspace. The number following DATA_SPACE is the required amount in kilobytes.

 
 
 Yes. Turbo won't compile a program unless the program resides, tokenised, in 
 the master basic area.
 Ah OK. Can't it handle Qsaved progs?

The program to be compiled must be loaded into ram under Job 0. A Qsaved 
program would first have to be loaded there before Turbo will compile it.

Does QLIB compile directly from a file?

George

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] qdosmsq.dunbar-it.co.uk back online

2013-04-02 Thread George Gwilt

On 2 Apr 2013, at 16:07, Norman Dunbar wrote:

 my website is once more online

Looks good.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Qliberator problems

2013-04-02 Thread George Gwilt

On 2 Apr 2013, at 16:18, Norman Dunbar wrote:

 I'd love to see Turbo being able to compile a QSAVE'd file, I'm not aware of 
 the internals of Turbo, yet, but I can't see too many problems with it? 
 Unless there's much to-ing and fro-ing in the SuperBasic area while compiling?

Turbo uses the BASIC name table to find the type of a variable. It therefore 
needs a name table. This will be set up when the BASIC program is loaded, 
whether from a SAV or a BAS file.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Qliberator problems

2013-04-01 Thread George Gwilt

On 1 Apr 2013, at 09:34, Wolfgang Lenerz wrote:

 
 I have a problem with Qliberator.
 
 Consider the following program :
 
 100 DEFine PROCedure increase_result_array
 110 LOCal dim1,dim2,temparray$(0,0)
 120   dim1=DIMN(result$,1)
 130   dim2=DIMN(result$,2)
 140   DIM temparray$(dim1,dim2)
 150 REMark  arrcopy result$,temparray$
 160   DIM result$(dim1+100,dim2)
 170 REMark  arrcopy temparray$,result$
 180   DIM temparray$(0)
 190 END DEFine increase_result_array
 200 :
 210 DEFine PROCedure p
 220 LOCal lp%
 230   DIM result$(1,40)
 240   FOR lp%=1 TO 90
 250 increase_result_array
 260   END FOR  lp%
 270 END DEFine p
 280 :
 290 p
 295 CLS
 300 PRINT DIMN(result$,1)
 310 kk$=INKEY$(-1)
 
 What is does is call the increase_result_array times, each time the result$ 
 array is increased by 100 elements (I've r'mmed out the parts where the old 
 array is copied to tthe new one and back)..
 
 The resulting array will have 9001 elements, 40 chars long each.
 
 When I run this in S, this Sbasic job occupies about 640 K (240 were already 
 occupied before running the prog, e.g. for the screen etc).
 
 OK, seems normal.
 
 If I compile  execute this, the resulting Qliberated job takes a whopping 32 
 MB!
 
 It seems to me that there is a bug in the variable allocation/deallocation 
 routines.
 
 Can anybody confirm this? More importantly, does anybody know a way around 
 this?

1. Alter the dimensioning of temparray$ from 0,0 (and later 0!!) to 1,1
2. Use TURBO (with a large enough dataspace)

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Qliberator problems

2013-04-01 Thread George Gwilt

On 1 Apr 2013, at 14:05, Wolfgang Lenerz wrote:

 
 1. Alter the dimensioning of temparray$ from 0,0 (and later 0!!) to 1,1
 
 Interesting - why would this work?
 temparray is a local var and should not have any existence once the procedure 
 is exited.
 

Turbo seems not to like zero dimensioning and does not allow a redimensioning 
of a variable with a number of dimensions differing from that when it was first 
defined.

 2. Use TURBO (with a large enough dataspace)
 
 I looked at Turbo some years ago, but AFAICR, it doesn't fit with my workflow 
 : is it possible, from another prog, to call Turbo and have it compile a 
 program that lies, say, on ram1_ (and recover any errors in an error file?)

You have to call TURBO from master basic. but you can do this from another 
program by using  COMMAND_LINE to select the master basic and then TYPE_IN to 
set the command CHARGE which causes the compilation with a report sent to ram1.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Qliberator problems

2013-04-01 Thread George Gwilt

On 1 Apr 2013, at 15:36, Wolfgang Lenerz wrote:

 
 
 2. Use TURBO (with a large enough dataspace)
 
 Doesn't turbo automatially cliam more heap space when it needs it?
 The whole purpose of this prog is that when the program starts.
 I don't know the dimension the array will ultimately need,

Turbo cannot choose the dataspace which might be needed in a program it is 
compiling. You can either choose a specific dataspace on compilation or 
increase it after compilation. My program adj_ds allows the increase of a 
program's dataspace and, if has been compiled by Turbo, the stack space too 
(which sometimes has to be increased).

 
 You have to call TURBO from master basic. but you can do this from another 
 program by using  COMMAND_LINE to select the master basic and then TYPE_IN 
 to set the command CHARGE which causes the compilation with a report sent to 
 ram1.
 
 
 Doesn't this mean that the program to be charged will need to be loaded 
 into Job 0, too?

Yes. Turbo won't compile a program unless the program resides, tokenised, in 
the master basic area.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Today

2013-03-23 Thread George Gwilt

On 22 Mar 2013, at 23:46, Billy wrote:

 poorer and fewer perhaps
 he he
 
 all the best Bill
 Sent from my ASUS Pad

and lesser?

A lesser mortal

(George)
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Punk chew asian.

2013-03-23 Thread George Gwilt

On 23 Mar 2013, at 16:33, Geoff Wicks wrote:

 
 This thread is reminiscent of Private Eye. They used to have a section on 
 their letters pages Pendants Corner.
 
 Then a pedant complained that it should be Pedant's Corner.
 
 Then another pedant corrected the previous pedant saying it should be 
 Pedants' Corner.
 
 The correspondence went on for some weeks before being solved by Private Eye, 
 who now call it Pedantry Corner.

Are you a pedant scorner?

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Today

2013-03-22 Thread George Gwilt

On 21 Mar 2013, at 23:51, Tony Firshman wrote:

 George Gwilt wrote, on 21/Mar/13 11:05 | Mar21:
 
 On 20 Mar 2013, at 21:06, Tony Firshman wrote:
 
 
 Thankyou to everybody for correcting my grammer, I am now considered told
 off.
 
  so I had better not tell you of for your spelling  of 'grammar'
 then (8-)#
 
 A long time ago I used to pause while reading articles when I found faulty 
 grammar. But  I eventually came to the conclusion that it was more 
 rewarding to take in what was written rather than how it was written. Even 
 later I realised that the grammar we were taught at school is not a set of 
 rules to be obeyed but a set of discoveries about how real people speak and 
 write.
 
 Okay, back to the Cue Ell.
 
 ... but grammar is the foundation of language *and* understanding.
 Let grammar slip and meaning becomes less clear, or even entirely different!

Which came first, language or grammar?

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Today

2013-03-22 Thread George Gwilt

On 22 Mar 2013, at 15:00, Dave Park wrote:

 I find some irony in that a thread about the demise of QL Today has
 degenerated into a conversation of violent agreement about grammar!

It's probably better than wondering what the plural of referendum is, which is 
exercising many in Scotland just now.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Today

2013-03-21 Thread George Gwilt

On 20 Mar 2013, at 20:02, peet vanpeebles wrote:

  
 On a personal note I'm terrible at thinking of things to write about so maybe 
 people thinking up topics would be good. The hardest bit for me is just to 
 start typing out something. Or what would people like to see reviewed etc? We 
 have lots of interesting characters in the QL scene with a long history so 
 maybe regular interview columns or old tales etc?   


It always surprises me how many different ways people use their QLs. This shows 
up for example in differing BOOTs. It would certainly interest me to have QL 
users describe their own BOOT programs.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Today

2013-03-21 Thread George Gwilt

On 20 Mar 2013, at 21:06, Tony Firshman wrote:

 
 Thankyou to everybody for correcting my grammer, I am now considered told
 off.
 
  so I had better not tell you of for your spelling  of 'grammar'
 then (8-)#

A long time ago I used to pause while reading articles when I found faulty 
grammar. But  I eventually came to the conclusion that it was more rewarding 
to take in what was written rather than how it was written. Even later I 
realised that the grammar we were taught at school is not a set of rules to be 
obeyed but a set of discoveries about how real people speak and write.

Okay, back to the Cue Ell.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Today

2013-03-21 Thread George Gwilt

On 21 Mar 2013, at 11:48, Norman Dunbar wrote:

 
 It always surprises me how many different ways people use their QLs. This 
 shows up for example in differing BOOTs. It would certainly interest me to 
 have QL users describe their own BOOT programs.
 
 How interesting! I have always been of the opposite view. Boot files are 
 about as boring as you can get - to my mind - but, with a little thought, I 
 can see where you are coming from.
 
 The boot file is obviously set up to help (or in my case, probably hinder) 
 efficient use of the QL.
 
 My own boot file is basically the following:
 
 Enable TK2.
 Prog and data_use set to win1_.
 Lrespr Qpac2, DJToolkit, Turbo Toolkit, QMON2, Liberator Run-times and QD.
 WTV 4
 
 Hot Pick for SuperBasic on key b.
 Hot wake for QPAC2 utilities on assorted keys:
 
 P Pick
 R Rjob
 F Files
 X Exec
 Z Wake
 Q QD
 
 Runs the clock in the button frame.
 
 Move along everyone, there's nothing to see here! :-)
 

Well well! Quite a lot for me to learn here. Would make an interesting article 
for me at any rate.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Today

2013-03-20 Thread George Gwilt

On 20 Mar 2013, at 12:26, Geoff Wicks wrote:

 
 Why do we have to think in terms of a magazine?
 
 What's wrong with a (simple) rolling website?

A website would cope with odd items of news and, mainly non varying lists of 
office bearers etc, but is not really suitable for the set of articles which 
also appear in QL Today (and QUANTA).

In fact I now have the QUANTA magazine sent by email and find it in many ways 
more convenient than by post. It arrives sooner and it has clickable links. But 
I rarely look at the Quanta website. 

I would much prefer a PDF magazine to a website.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Today

2013-03-20 Thread George Gwilt

On 20 Mar 2013, at 16:02, Geoff Wicks wrote:

 So let's move on to another problem that everyone has dodged so far.
 
 Where are the writers going to come from?
 
 One of the reasons QL Today is closing down is that we did not have 
 sufficient writers to ensure its long term future.
 
 We were fortunately to have some very loyal writers but they were too few in 
 number. I only had to lose one writer for me to be in serious editorial 
 difficulties.
 
 The Quanta Magazine is in a less favourable position with only two permanent 
 writers, the editor and the news editor. If I assassinate Dilwyn tonight who 
 will fill the next Quanta Magazine?

Until recently the date for receiving copy was consistently earlier than the 
date the magazine reached me so I rather gave up trying to write for QUANTA.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Today

2013-03-20 Thread George Gwilt

On 20 Mar 2013, at 18:00, Tony Firshman wrote:

 Ian Burkinshaw wrote, on 27/Mar/13 17:46 | Mar27:
 Sad though this is, I have to say it seems me inevitable this was going
 to happen sooner or later. The constant increase in postal rates is self
 defeating, the more they go up, the less poeple send.
 Really - so one leg is sending letters (8-)#
 You mean 'fewer' of course.

the less people send means the same number of people send less in total.

The other meaning would presumably be written as

the smaller the number of people who send

Anyway postage is rather high now and certainly to be avoided if possible.

The small newsletter produced by the Scottish group SQLUG is now emailed to 
members.

George






___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Today

2013-03-20 Thread George Gwilt

On 20 Mar 2013, at 18:18, Tony Firshman wrote:

 George Gwilt wrote, on 20/Mar/13 18:07 | Mar20:
 
 On 20 Mar 2013, at 18:00, Tony Firshman wrote:
 
 Ian Burkinshaw wrote, on 27/Mar/13 17:46 | Mar27:
 Sad though this is, I have to say it seems me inevitable this was going
 to happen sooner or later. The constant increase in postal rates is self
 defeating, the more they go up, the less poeple send.
 Really - so one leg is sending letters (8-)#
 You mean 'fewer' of course.
 
 the less people send means the same number of people send less in total.
 
 Not at all, but maybe it is different in Glasgow (8-)#
 
 'Less' and 'Fewer' are referring to 'people' not the letters.
 
 Fewer - when the noun can be counted. People, marbles
 Less - when it cannot. Flour, petrol.

Why say there is less sand on the beach when you could, if you had time, count 
the grains?

 
 The other meaning would presumably be written as
 
 the smaller the number of people who send
 
 Anyway postage is rather high now and certainly to be avoided if possible.
 
 The small newsletter produced by the Scottish group SQLUG is now emailed to 
 members.
 
 Tony
 
 
 -- 
   t...@firshman.co.uk http://firshman.co.uk
 Voice: +44(0)1442-828254 Fax: +44(0)1442-828255 Skype: tonyfirshman
TF Services, 29 Longfield Road, TRING, Herts, HP23 4DG
 ___
 QL-Users Mailing List
 http://www.q-v-d.demon.co.uk/smsqe.htm

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Plastic Feet for Sinclair QL

2013-02-02 Thread George Gwilt

On 2 Feb 2013, at 09:04, Rich Mellor wrote:

 Does anyone have spares of the plastic feet used to raise the back of the QL ?

I have 5

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Easy68K

2013-02-01 Thread George Gwilt

On 31 Jan 2013, at 17:31, Ian Burkinshaw wrote:

 Hi Norman
 
 I do read them. But up until recently I have not had the time, to get down 
 and learn it all. Some of it I do not fully understand. But if I started to 
 learn it properly, I am sure it would make much more sense.
 
 The way Easy68K, displays things does make it more understandable, at least 
 to me anyway.
 
 For example I have never realy understood which registers are used for what. 
 Also managing the stack is not clear to me either. But to be fair I have not 
 studied it that closely.
 
 I realy must go back to the start of your series in QLT, and re-read it all, 
 and start to work though your examples.
 
 I have played with some the PRT stuff in your more recent articles, which has 
 been of great interest to me. But have to admit I have not understood it all. 
 That is down my lack of knowledge, not your work. Since one of my planed 
 projects whould most likely be better done in MC.
 
 Ian
 - Original Message - From: Norman Dunbar nor...@dunbar-it.co.uk
 To: ql-users@lists.q-v-d.com
 Sent: Thursday, January 31, 2013 4:54 PM
 Subject: Re: [Ql-Users] Easy68K
 
 
 On 31/01/13 16:51, Ian Burkinshaw wrote:
 Must admit I have always kept away from machine code.
 Hmmm. Do my QL Today articles on the matter, since many many years ago, not 
 inspire you? :-(
 
 Cheers,
 Norm.
 

Although I have programmed in Assembler from years back on IBM and Ferranti 
machines as well as the QL it is only after reading Norman's articles that I 
find that Assembler is actually easier than SuperBASIC and much, much easier 
than C.

George

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


[Ql-Users] GWASL update

2013-01-27 Thread George Gwilt
Norman Dunbar has found a fault in GWASL which affects the reporting of errors 
in labels. This is corrected in version 2.05 which can be downloaded from my 
site at

 http://gwiltprogs.info/

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Is there a bug in QPC or am I bonkers (again!)

2013-01-25 Thread George Gwilt

On 25 Jan 2013, at 10:47, Norman Dunbar wrote:

 Morning all,
 
 I'm doing a bit more work on the next exciting episode of QL Today's LibGen 
 utility. I have spotted a huge pair of bugs in my code, viz:
 
 
 li_libfile equ $03
 ...
 
 li_unavmove.l #$,ws_litem+li_libfile(a1)
   bra.s li_rdrw
 ...
 li_avail   move.l #$01011101,ws_litem+li_libfile(a1)
 li_rdrwmoveq #-1,d3
   jmp wm_ldraw(a2)
 
 The idea was to set 4 consecutive loose item status bytes to unavailable 
 (#wsi_mkun) in the first case, and to set three of them to available 
 (#wsi_mkav) and one to unavailable (#wsi_mkun) in the second case.
 
 The code above is a huge problem because li_libfile is odd, A1 is even as is 
 ws_litem at $40. I would expect an address exception at the very least.
 
 Running the code under QMON2 shows that I'm attempting to store a long word 
 at $43(a1) where a1 is $4ABBA6. That works out at $4ABBE9 which is most 
 definitely odd.
 
 In QPC, version 3.33, the above works without any exceptions. PRINT PROCESSOR 
 gives 20, I must assume that either a 68020 doesn't barf at a long word 
 access to an odd address or something is not working correctly any more!
 
 I've checked and rechecked my paper and pdf copies of the Motorola processor 
 manual, and there is no mention that you can do a long move to an odd address.
 
 I'm not running any monitor code that would intercept the address 
 exceptions and quietly swallow it.
 
 I have stepped through the code for both, and it works, the MOVE.L is carried 
 out, after executing the code at li_avail, I can see the following results at 
 $43(a1) in QMON2:
 
QMON d $43(a1) 4
4ABBE9  0101 0101 004E FF6F  .NV.
 
 Is it any wonder I'm confused?
 
 What am I missing?
 
 
 Cheers,
 Norm.
 
 

An address error occurs if an attempt is made to fetch an instruction from an 
odd address. As far as I know the 680020+ machines allow long  and word fetches 
from odd addresses - they simply take longer than if the address is on a word 
boundary.

George


___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Is there a bug in QPC or am I bonkers (again!)

2013-01-25 Thread George Gwilt

On 25 Jan 2013, at 12:34, Norman Dunbar wrote:

 None of mt assembly books bother to mention this fact either, I've spent the 
 last hour or so looking up everything that could be possibly related. Sigh!

My THOR 21 came with Motorola's manual MC68020. The information about 
instruction and data alignment is included in that.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] SMSQmulator

2013-01-23 Thread George Gwilt

On 23 Jan 2013, at 16:02, Ralf Reköndt wrote:

 
 Not as quick as QPC2, but very acceptable speed and (better than QPC2) it
 handles the keyboard without a problemmeaning I have access to # and
 other characters I can't easily get under QPC2! 
 
 I never had (and have) problems with the keyboard with QPC2...???

I use QPC2 on Windows XP under VMware on a MAC. To get # (I just used ALT/3 
here) I use the |\ key (where hash would be on a normal QL keyboard.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] SMSQmulator

2013-01-23 Thread George Gwilt

On 23 Jan 2013, at 16:39, SMSQE wrote:

 Yes, I tried all (I think) these combinations when I first got my PC...the
 |\ key gives nothing at all evebn with SHIFT, CTRL, ALT, etc. ALT/3 gives 3,
 etc. I can get at some characters using clavier, but I have to use parts of
 the keyboard that work normally under QPC for them to work with the clavier
 mappings. Quite a few keys just don't work properly...strange. But, as I
 say, they do under SMSQmulator so I can probably start SBASIC coding again!
 
 Jon
 
 -Original Message-
 From: ql-users-boun...@lists.q-v-d.com
 [mailto:ql-users-boun...@lists.q-v-d.com] On Behalf Of George Gwilt
 Sent: 23 January 2013 16:28
 To: ql-us...@q-v-d.com
 Subject: Re: [Ql-Users] SMSQmulator
 
 
 On 23 Jan 2013, at 16:02, Ralf Reköndt wrote:
 
 
 Not as quick as QPC2, but very acceptable speed and (better than 
 QPC2) it handles the keyboard without a problemmeaning I have 
 access to # and other characters I can't easily get under QPC2!
 
 I never had (and have) problems with the keyboard with QPC2...???
 
 I use QPC2 on Windows XP under VMware on a MAC. To get # (I just used ALT/3
 here) I use the |\ key (where hash would be on a normal QL keyboard.
 
 George

When I take QPC2 abroad (USA or Germany for example) I have found trouble with 
keyboards. One trouble was with the |\ symbols. What I did was to use the ?/ 
symbols on the foreign keyboard to produce the ones I wanted. This was done by 
putting in the BOOT the instructions

Altkey '/',CHR$(92) to get \ and

Altkey '?',CHR$(124) to get |

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Quick QL Today Survey

2013-01-10 Thread George Gwilt

On 10 Jan 2013, at 12:29, Geoff Wicks wrote:

 
 It is not just on your articles I would like feedback. There has been more 
 emphasis on hardware in the last couple of years. Is this what people want? 
 More recently we have had more coverage on games - a largely forgotten area 
 in the magazines. I am also concerned about the lack of SuperBasic and 
 general articles.

I find myself using Assembler rather more now than  SuperBASIC mainly as a 
result of Norman's articles.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QDOS/SMS Questions

2012-11-05 Thread George Gwilt

On 5 Nov 2012, at 12:25, Norman Dunbar wrote:

 There is a system variable for the current keyboard queue. I assume that as 
 there is only one, that it refers to the currently executing job? So If 
 SuperBasic is executing, it will refer to the QDOS channel ID for Channel #0 
 in SuperBasic.

For QDOS CTRL/C takes you through the cursor winking list. A program without 
such a cursor was effectively lost. In SMSQ CTRL/C takes you through the list 
of jobs.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QDOS/SMS Questions

2012-11-05 Thread George Gwilt

On 5 Nov 2012, at 15:13, Norman Dunbar wrote:

 
 On 05/11/12 14:59, tobias.froesc...@t-online.de wrote:
 I can find sd_keyq at offset $68 of the Screen Driver Channel Definition 
 Block  in the SMSQ/E sources.
 But nowhere in the documents.
 
 In my docs, updated recently, I see sd_end at that offset in the screen 
 driver channel definition block. For QDOS 1.10 onwards.

The keyboard queue starts at the end of the channel block. For QDOS this is @ 
$68 for v1.01 onward and $64 for earlier versions.
For PE the value is $98 (counting from the start of the extended channel block).

The Turbo TK commands COMMAND_LINE and TYPE_IN allow you to push characters 
into an S*BASIC keyboard queue. The source code for these should show how to 
put characters into any queue.

George

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Quanta Web site down?

2012-10-19 Thread George Gwilt

On 19 Oct 2012, at 12:48, Geoff Wicks wrote:

 
 The Quanta site has been down for at least 2 days. Has Quanta closed down?
 
 Regards
 
 Duncan
 ___
 QL-Users Mailing List
 http://www.q-v-d.demon.co.uk/smsqe.htm
 
 
 I think the website has been deliberately taken down. It was no longer 
 available from the day of the committee meeting held to discuss it. I hope it 
 is only temporary.
 
 There was nothing wrong with the site as such other than that it was not kept 
 up to date. If all the committee, including the officers, pulled their weight 
 it would not be a difficult job.
 
 To my mind there are four areas to keep up to date:
 
 1: News. This is already happening so no problem there.
 
 2: Shows information. When the site was taken down it was still advertising 
 the Austrian show held 3 months previously. It should not be difficult to 
 keep show information up to date as there are only two or three shows per 
 year.
 
 3: Quanta Magazine. This is the most difficult part, but would only need 
 updating 6 times a year.
 
 4: Quanta News. This would be a new area in which the officers should keep 
 the members up to date on Quanta developments. Up to now Quanta has regarded 
 the magazine as being the first source of information for the members. This 
 should now become the web.
 
 There is also the question of the members' area. You have made constructive 
 suggestions that Quanta should consider,

Ah QUANTA is back!!

Geirge
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Loose Items in Pointer Environment

2012-10-02 Thread George Gwilt

On 1 Oct 2012, at 17:39, Dilwyn Jones wrote:

 The trouble seems to be that although the manual says that if D2 is a 
 negative long word
 the paper and oink will not be set, the actual code tests D2.B and not D2.L.
 Brilliant typo (oink) !

Actually, I have discovered that the PE code is correct in this respect. It is 
the top byte of D2.L which is tested not D2.B. The real reason for the 
non-setting lies in the definition of  the selected code. This is defined as 
$80 + $FF00. (Why not $FF80?) If you use either

MOVEQ   #WSI.SLCT,D2 or 
MOVE.L #WSI.SLCT,D2

The top bit of D2.L will be 1 and so paper and ink will not be set.

If you don't positively arrange for D2.L to be non-negative, the result of 
WM.SWLIT will be undefined.

Thus, you could write

MOVEQ   #0,D2  to clear D2.L
MOVE.W  #WSI.SLCT,D2

Better not to use WSI.SLCT and write

MOVE.L  #$80,D2

which is a pity, since who can remember what $80 means?

Oink ... Oink

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] New QJewels game

2012-07-23 Thread George Gwilt

On 17 Jul 2012, at 01:45, Marcel Kilgus wrote:

 Dilwyn Jones wrote:
 Download it free of charge from:
 http://www.dilwyn.me.uk/games/index.html#qjewels 
 (173kilobyte download)
 
 That thing is very cool, well done Tobias (and I thought so even
 before I read the nice shout out ;) ).
 
 Funny thing is, I unpacked it and thought Oh god, this being QL
 software I'll probably have to configure it first to let it know where
 its sound files are etc., how annoying. This would be so much easier
 if people just used the Home directory extension Wolfgang and I had
 developed and what do you know, it did exactly just that! :) After
 unpacking it somewhere clicking the exe was all it needed to make it
 work, that was a very nice surprise indeed! Also, I like the quit
 dialog :)
 

Although I put the program in an existing obscure directory (called Tobias) 
it ran without configuratrion. But there was no sound. Perhaps I should read 
the manual.

 Didn't score more than about 400 thus far, though. But I'll try just
 one more time now...
 

It's a horribly addictive, but very good, program. I managed a score of 967 I 
think. What is the limit?

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] New QJewels game

2012-07-23 Thread George Gwilt

On 23 Jul 2012, at 16:04, Marcel Kilgus wrote:

 Although I put the program in an existing obscure directory (called
 Tobias) it ran without configuratrion. But there was no sound. Perhaps I 
 should read the manual.
 
 You need to load Simon's sound_cde extension, which was already in my
 boot, so it did work from the get-go.


Good information.

My boots are obviously holey.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


[Ql-Users] New Version of SETW

2012-06-28 Thread George Gwilt
A new version (7.09) of SETW is now on my site - http://gwiltprogs.info/

This new version improves the appearance of _asm output on the lines of 
suggestions made by Norman Dunbar in the latest QL Today. Also SETW allows a 
user to present lists of text items, sprites, blobs and patterns by preset 
files rather than typing them in while SETW is running. This feature, which did 
not work on some previous versions, is now again operational .

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] The *ins...

2012-06-25 Thread George Gwilt

On 25 Jun 2012, at 14:54, Tony Firshman wrote:

 
 The moral here is secure passwords, and change regularly.
 Secure ones are like Ge4?pP9a  .

Hmm! Looks a bit like my grandfather's name.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QLToday arrived

2012-06-22 Thread George Gwilt

On 21 Jun 2012, at 20:07, Ralf Reköndt wrote:

 Not here in Germany...8-(.
 
 - Original Message - From: peet vanpeebles
 
 Mine arrived today, I liked the little joke on the front cover! :)
 

Not in Scotland either.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QLToday arrived

2012-06-22 Thread George Gwilt

On 22 Jun 2012, at 10:14, George Gwilt wrote:

 
 On 21 Jun 2012, at 20:07, Ralf Reköndt wrote:
 
 Not here in Germany...8-(.
 
 - Original Message - From: peet vanpeebles
 
 Mine arrived today, I liked the little joke on the front cover! :)
 
 
 Not in Scotland either.
 
 George

It's just arrived. This afternoon.

George

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] QL Forum

2012-06-08 Thread George Gwilt

On 8 Jun 2012, at 11:54, Dave Park wrote:

 If I create a REPeat loop thus:
 
 100 Frame=0 : Keypress=0
 110 REPEAT loop
 120   a$=INKEY$
 130   Frame=Frame+1
 140   IF a$ THEN Keypress=Keypress+1
 150   AT 0,0 : PRINT Frame, Keypress
 160 END REPeat loop

INKEY$(-1) will wait until you press a key. INKEY$(3) will wait for 3 ticks for 
your keypress. INKEY$ will return (nearly) immediately.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Debugging nightmare

2012-05-23 Thread George Gwilt

On 23 May 2012, at 13:24, Norman Dunbar wrote:

 
 On 23/05/12 12:52, Ian Pine wrote:
 Damn damn damn ...
 
 ... because I forgot that on m68k CPUs the MOVE instructions alter the flags 
 ...
 
 Well, it does alter the flags, unless:
 
 * You specifically use the MOVEA instruction; or
 
 * You specify MOVE with an address register as the destination AND your 
 assembler quietly converts the MOVE to MOVEA.
 
 Just to make things interesting.
 

Just for fun. MOVE USP,An, MOVE An.USP MOVE SR,ea and MOVEC Rc,Rn also leave 
the condition codes alone.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] UPUT Qubide

2012-05-03 Thread George Gwilt

On 30 Apr 2012, at 14:05, Marcel Kilgus wrote:

 Bob Spelten wrote:
 Nothing to do with BPUT here. The problem is that you're using an
 array expression x(0,1) with more than one dimension in the FOR loop.
 SBASIC got a bug there.
 Thanks for the insight.
 I was puzzled because it had worked before.
 But I did at one point replace the single var for the array var.
 This line may have been untested since.
 I'll check all my FOR loops and add this to my database of potential
 errors.
 
 Mind you, it only seems to be a problem for single line loops.
 
 The fix is fairly trivial (it's just one thrashed register), when we
 can get another SMSQ/E release together it will go in. Apart from that
 it's easy enough to avoid and at least results in a clean error and
 not in a crash or anything.

A new version of SMSQ/E should also have a corrected version of 
smsq_init_exv_asm. The code dealing with address errors for machines other than 
68000/8 contains the following three instructions intended to compress the 
stack.

MOVE.L  (A7),(A7,D0.W)
MOVE.W 4(A7),4(A7,D0.W)
MOVE.L  6(A7),6(A7,D0.W)

If D0 is greater than 0 and less than 6 this will fail. One of the possible 
values of D0 is indeed 4.

The correction is to swap the first and last instructions to prevent the 
premature overwriting.

I commented on this peculiarity some years ago but nobody noticed.


George


___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Bug in WM_ENAME

2012-05-02 Thread George Gwilt

On 2 May 2012, at 16:00, Norman Dunbar wrote:

 
 When I edit a string using this vector, and press ESC to terminate the edit, 
 I'm seeing zero in D0 instead of a positive number. D1.W is correctly set to 
 27 for the ESC key.
 
 The docs state that:
 
 D0 negative is an error.
 D0 zero means ENTER pressed to end the edit.
 D0 positive means another key ended the edit.
 
 What I'm finding in tracing the code is the following:
 
 D0=0, D1=27, ESC pressed.
 D0=0, D1=$0a, ENTER pressed.
 D0=0, D1=$d0, UP pressed.
 D0=0, D1=$d8, DOWN pressed.
 
 It appears that D0 is always zero on return.

The code in ee_wman_rname_asm (which contains the code for WM.ENAME) sets D0 to 
0 when a character is correctly read. If it is one of the terminators then D0 
remains zero. this means that the code distinguishing between ENTER and the 
rest is just not there!

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Raspberry Pi - starts

2012-04-21 Thread George Gwilt

On 20 Apr 2012, at 21:40, Dilwyn Jones wrote:

 
 I always thought it was a pity superBasic demanded line numbers. They were 
 not actually necessary,
 and if GOTO did not exist, not even used.
 I think QLiberator at least can compile without line numbers (never actually 
 tried that). Perhaps George could tell us if Turbo can too.

Turbo gives three options: omitting line numbers in the compiled program, 
including them without displaying them during compilation and including them as 
well as displaying them.

George 
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Raspberry Pi - starts

2012-04-21 Thread George Gwilt

On 21 Apr 2012, at 11:42, Ralf Reköndt wrote:

 I think, that wasn't the question. Don't confuse this with QLiberator's 
 option Line Numbers.
 
 As far as I know, QLiberator does not need line numbers, but this is not 
 possible via the interpreter. It is in fact possible with the QD5 Thing to 
 compile source code without line numbers.
 
 I think, Turbo is just able to compile a loaded SuperBASIC program, so no way 
 to compile without line numbers. QLiberator always compile from a QSAVEd file 
 (or QD5 Thing).

Turbo compiles from the tokenised SuperBASIC program.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Fw: query

2012-04-14 Thread George Gwilt

On 14 Apr 2012, at 07:26, Jochen Merz wrote:

 Marcel Kilgus schrieb:
 Norman Dunbar wrote:
 Mind you, it shows how well Marcel has done with QPC when it just works
 and just works in a manner that makes me think it's still QDOS. Ditto
 for SMSQ/e of course!
 
 Actually I hope it works much better than QDOS ;) The SBASIC command
 line history in SMSQ/E is something I'm particularly proud of and
 wouldn't want to live without anymore (yes, I know about the HISTORY
 extension for QDOS).
 
 Indeed, a great feature! - I use it every time I change something in my 
 programs or run some tests to adjust printouts etc.
 Wouldn't want to miss it, especially for testing in the command line.

A great feature indeed! I use it all the time and would hate to be without it.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Background colours`

2012-03-06 Thread George Gwilt

On 5 Mar 2012, at 18:07, Dilwyn Jones wrote:

 Does anyone know if it is possible to have a transparent menu background with 
 a pointer environment menu?

Do you mean by menu, items in an application sub window?

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


[Ql-Users] TURBO version 5.07

2012-03-03 Thread George Gwilt
Two faults in TURBO found by Michael Bulford (thanks)  have been corrected in 
v5.07 which is available from my site http://gwiltprogs.info/

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] Infinite loop in Turbo Parser

2012-02-29 Thread George Gwilt

On 27 Feb 2012, at 16:17, Michael Bulford wrote:

 I
 have been having a look at the Turbo Parser, and have noticed an error 
 in the first few lines of the code.  In the call to Init_Names 
 if there are too many structs then Complain is called.  Complain 
 will RETRY, however at this stage no RETRY_HERE has been encountered, 
 and so the only place where it can retry is at the start.  And so an 
 infinite loop is created.  Each time around this loop COMPILATION 
 ABORTED will be written to the log file.  I hope you don't mind me 
 bringing this to your attention, this is only a very minor bug – it 
 would not happen very often.

There is a RETRY_HERE when Init_Names is called. It is at the start of every 
program compiled by Turbo v4.11 and after. However, this would indeed lead to 
an infinite loop.

My suggested correction is:

10250 IF NOT _quit: Set_Links : Dialogue
10254 erased

(In Init_Names)

11508 RETRY_HERE
11509 IF _quit : RETurn

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] DEBUG

2012-02-22 Thread George Gwilt
Hi Michael

On 22 Feb 2012, at 13:31, Michael Bulford wrote:

 There is an error in the Turbo parser at line 14490.  Here is this line:
  
 14490  IF var%0
 AND (struct%(var%)directive_mask%)=directive_mask%
  
 Both sides of the AND get to be evaluated.  Although var% is tested for 
 being non
 negative on the left hand side, the right hand side will be evaluated in any
 event.  Should var% happen to be
 negative, then struct%(var%) would be outside of the array bounds and will
 crash SuperBASIC.

You are quite right. But how did you get var%=-3? Does this imply another 
mistake in Parser?

   The above line needs
 to be re written so that the right hand side will only be evaluated if the 
 left
 hand side evaluates to true.  Here is my
 suggested work-around:
  
 1  LOCal both :
 REMark (if needed)
 14488  both = 0
 14489  IF var%0:IF
 (struct%(var%)directive_mask%)=directive_mask% : both = 1
 14490  IF both
  

My solution is:

14490 IF var%0
14494  IF (struct%(var%)directive_mask%)=directive_mask%:Parse_Directive:ELSE 
Skip_Stmt

Cheers

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] DEBUG

2012-02-21 Thread George Gwilt
Hi Michael

On 21 Feb 2012, at 11:16, Michael Bulford wrote:

 
 I have a copy of parser506_bas and have managed to compile this
 with line numbers included.  Trying this
 on my program the parser stops at line 14490, which is in the middle of 
 ignoring
 code.  I then inserted the following line

Yes. At this stage if the DEBUG level is high enough code is not compiled.

  
 14488 PRINT #log%, BASIC_NAME$(value%) ! var%
  
 After recompiling and running, this produced the following
 output
  
 CLS 216
 PRINT 144
 p -3
  
 At line 14490, where the parser stops, struct% is an array
 and so the -3 has caused this to go out of range.

Although I have tried compiling large programs with DEBUG 1/DEBUG 0 insertions 
all over the place, no errors occur.

The error you find is presumably, therefore, due to something in the code being 
compiled, though whether Parser_task is at fault or not I couldn't say unless I 
have the actual code producing the errore. I could then try to track down the 
reason for the fault.

George
___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


Re: [Ql-Users] DEBUG

2012-02-19 Thread George Gwilt

On 18 Feb 2012, at 13:38, Michael Bulford wrote:

  
 I use DEBUG 0 and 1 for the same reasons as you and have never had the fault 
 you mention.
  
 If you could send me, privately, a copy of your program I'll try to locate 
 the problem.
  
 Thanks for your offer of help, this is really appreciated.  However, I 
 believe I have solved the problem.  I tried moving the piece of code to near 
 the beginning of the program, and this solved the puzzle.  My guess is that 
 because my program is over 64k, the DEBUG mechanism could not cope, so that 
 the fault is actually with Turbo.  DEBUG must be using unsigned integers, 
 when it should be using floating point variables.  That is my guess.  The 
 piece of code under question is:
  

DEBUG is trapped by PARSER_TASK to see whether code is to be ignored or 
compiled. If fact in PARSER_TASK the values 0 to 9 (which is the allowed range 
of DEBUG) are held in an fp variable.


 22268 REMark DEBUG 1
 22276 DEFine PROCedure how
 22284 LOCal p, scan_rt
 22292  CLS 2 : PRINT
 22300  p = BASIC_L(56)
 22308  REPeat scan_rt
 22316   p = p + 24
 22324   IF p  BASIC_L(60)-24 : EXIT scan_rt
 22332   IF BASIC_W%(p+18)0
 22340 PRINT Call at ;BASIC_W%(p+18); in ;
 22348   ELSE
 22356 PRINT Stop at ;BASIC_W%(146); in ;
 22364   END IF
 22372   IF BASIC_W%(p-12)  0 : IF NOT COMPILED : LIST #1; BASIC_W%(p-12)
 22380  END REPeat scan_rt
 22388 END DEFine how
 22396 REMark DEBUG 0
 

With the DEBUG commands REMarked out TURBO will ignore them.

With the DEBUG commands not REMarked out  the IF NOT COMPILED is, of course, 
not needed.


  
 This piece was copied from the Turbo Toolkit Demos file, the original 
 procedure name being How_COME.  My idea of using DEBUG was to try and save a 
 little bit of code, because my program is so large.
  
  

___
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm


  1   2   3   >