[ql-users] Re: [ql-users] £ 0.00 to spend! (1st attempt)

2004-03-15 Thread P Witte

Peter Graf writes:

<>
>Time for an offer: I could possibly be persuaded to try and
>integrate my drivers into SMSQ/E for the whole range of QL style
>machines, by a simple act of wisdom: Place SMSQ/E under the GPL.
>(I have no problem to accept modifications to allow QPC remain
>commercial.)

Speaking for myself, the only persuasion Id be inclined to attempt is for
you to come in from the cold.

Per







ql-users@quanta.org.uk

2004-03-15 Thread P Witte

Ive tried to post a certain message on this topic a number of times, but it
doesnt get through! It doesnt contain any obscene language or anything like
that (although the words size and large appear three times - could that be
the problem?)

I dont find this list server very reliable. Messages sometimes take a long
time to arrive, and do so rather higgledy-piggledy (probably as a result) -
much more so than with nvg.ntnu.no...

Per



[ql-users] Re: [ql-users] £ 0.00 to spend! (1st attempt)

2004-03-15 Thread P Witte

Tarquin Mills writes:

<>
> Four years a go I became a QLer and started writing a web browser on a
> emulator (QLay), but the PC I did this on no longer exists and the
emulated
> environment limited development. So I decide to buy a QL system to
continue
> development on, over £1000 later (cost mounting) and still no working
> system. This is why HyperBrowser development stalled, I even tried
> cross-development on M$ Windoze and Debian Linux. A refund plus damages,
> or small claims court action are looming. This all could have been
> avoid, but the ball has not been in my half of the court, so I could
> do nothing.

£1000 for a non-working QL system? How on earth did you manage that?

Per





ql-users@quanta.org.uk

2004-03-14 Thread P Witte

Wolfgang Uhlig writes:

> I have two questions, though:
>
> 1) With the PVAL procedure (result%(10 and 11)) I can determine the origin
> of a window.
> How would I have to alter your line 100 when PVAL returns xorg%=500,
> yorg%=300 (just to take an example)

As you will know by now, I sent you the solution in a private mail: A small
SBasic function to cut out any reasonable sized piece of screen and convert
it to a pointer sprite.

> 2) In line 150 you define the opacity of the sprite. Could you explain
> which change to the value would result in which degree of opacity?

Possible alpha-mask values go from 0..255, with 0 being totally transparent
and 255 being solid. Thus the value I chose, 128, makes the sprite
semi-transparent.

Per



[ql-users] Re: [ql-users] £ 1000 to spend! (2nd attempt!)

2004-03-14 Thread P Witte

Geoff Wicks writes:

> Remember your subscription is your money, not Quanta's. How would you like
> them to spend it on your behalf?

In a way, hardware development is more deserving as hw developers have real
outlays apart from spare time, ie their "profit" can go negative rather than
just zero. But how relevant is hw development at this time? Rather than the
sexy stuff, like an AuroraII or a Q3500 (!), we would need things like
USB, CD drives and Ethernet just to stay afloat. Can a small sect support
such an undertaking, even with leveraged assistance from Quanta?

I think possibly the best place to start would be with a survey - a massive
and thorough one - to try to determine what punters really, really want.
(See http://www.questionpro.com/ for a way of doing it via email or the web)
I know our record on responding to surveys has not been great in the past,
but things change and lessons are learnt, so, together with the sort of
promotion we saw for QL2000, it could still be a sucess. Without it, we are
blind and cant really hope to get it right.

A survey should determine what people already have and what they wish for;
how much they would be prepared to spend on various proposed strategic and
desirable items; how punters would respond to un-renewable hardware packing
up; how well aware people are of existing alternatives; etc

Keep up the good work Geoff! We need it ;)

Per



[ql-users] Turbo

2004-03-14 Thread P Witte

Just thought I should mention something that might cause a few strange
hiccoughs: Turbo Toolkit (TTK) comes in two different forms, one version for
SMSQ/E and one "generic" version. The generic PEEK$ and POKE$ are a sub-set
of SMSQ/E's PEEK$ and POKE$ and have therefore been ommitted in the SMSQ/E
version. This implies, among other things, that (Basic or compiled Basic)
programs that claim to be SMSQ/E compatible wont be if you have loaded the
generic version of TTK into SMSQ/E. Always use TURBO_SMSQ_CODE in SMSQ/E.

Per



ql-users@quanta.org.uk

2004-03-13 Thread P Witte

Wolfgang Uhlig writes:

<>
> Isn't there a possibility to "make" a sprite out of the string "on the
> fly"? Possibly with a background-system-colour?
> I know that there is something like blobs and patterns but I have
> never understood how this works.
>
> I'd like that very much and think it would make drag&drop routines much
> more attractive and clear.

Provided the text item you wish to convert is already visible on screen this
is not difficult, just a little fiddly.

If its not visible it would probably be about as difficult to do as writing
a winprinter driver for the QL..., ie not exactly trivial!

Per

I thought Id have a go just to demonstrate:

The routine below is not guaranteed to be bug-free, so save your work before
testing!

This is just a test and not designed to be universal. It will need some
modifications if you are not using QPC2 with GD2!

To test, start an instance of SBasic in the top lefthad corner of your
screen. Print some text in window#2, eg LIST this program, then RUN it. If
you dont have EasyPtr you'll need to change SPRW on line 330 to some other
keyword to draw the sprite

100 s = SCR_BASE + SCR_LLEN + 4   : rem Start at top left of screen
110 xs = 100: ys = 10 : rem X/y size
120 pixw = xs * 2 : rem Pixel words
125 CLS
130 :
140 a = ALCHP(24 + (pixw + xs) * ys)
150 POKE_L a, $2200020: rem Mode 32 sprite w alpha channel
160 POKE_W a + 4, xs: POKE_W a + 6, ys: rem Create sprite header
170 POKE_L a + 8, 0
180 POKE_L a + 12, 12
190 POKE_L a + 16, 8 + pixw * ys
200 POKE_L a + 20, 0
210 t = a + 24: rem Target address for sprite data
220 : : rem Create sprite, line at a time
230 FOR i = 1 TO ys
240  POKE$ t, PEEK$(s, pixw)
250  s = s + SCR_LLEN
260  t = t + pixw
270 END FOR i
280 : : rem Create mask (ghost)
290 FOR i = 1 TO xs * ys
300  POKE t, 128: t = t + 1
310 END FOR i
320 :
330 SPRW #1, 10, 50, a: rem Draw sprite using EasyPtr
340 SBYTES_O 'ram1_txt_spr', a, 24 + (pixw + xs) * ys: rem Save sprite
350 RECHP a





Re: [ql-users] Menu_rext

2004-03-13 Thread P Witte

Wolfgang Lenerz writes:

> On 13 Mar 2004 at 1:37, P Witte wrote:
>  (...)
>
>
> I've now also tested this on ram,
>
> and the problem does, indeed, exist there
> But this is still with a patched version of menu_rext

Thanks for your help - Marcel too. This gave me enough info to get a grip on
the issue. I first thought there might be a difference between the German
and English versions of Menu_rext, but that wasnt the problem. The problem
is a bug in the "short filenames" implementation. This is set in the
configuration item: Menu Extension/General/Short filenames in File-Select/
If you configure this item to Yes you get the deviant behaviour as described
in my earlier mail. Strangely, this doesnt affect FILE_SELECT$ anymore.

Can this be fixed, please?

Per




Re: [ql-users] Menu_rext

2004-03-13 Thread P Witte

On March 13, 2004 6:52 AM, Wolfgan Lenerz wrote:

> On 13 Mar 2004 at 1:37, P Witte wrote:
> (...)
> On 13 Mar 2004 at 3:17, Marcel Kilgus wrote:
> (...)
> 
> 
> 
> Don't you guys ever sleep?

Of course. Only we get up a wee bit earlier than you ;)

Per
 





[ql-users] Menu_rext

2004-03-12 Thread P Witte

Hi all,

I have a wee problem with Menu_rext, the ubiquitous menu toolkit from Jochen
Merz Software. I need to find out whether the problem Im experiencing  is
confined only to my systems or whether there is a bug in menu_rext. Could as
many as possible of you please perform the following test: This applies to
any system (please specify in your feedback) with PE and menu_rext loaded.
Also your system should support "hard" directories and have at least two
drives or devices available.

Save and secure any valuable data in memory first!
In SuperBasic or an SBASIC instance type

OUTLN
PRINT DIR_SELECT$

(If youre not using SMSQ/E you may need to use a different keyword for
Outline, eg OUTL in EasyPtr)

Say you have two drives, win1 and win2_. Select a directory that exists on
one drive, such as win1_prg_, that does not exist on the other.

Now click on 2, so the directory selector shows win2_prg_ (which mustnt
exist)

If your computer crashes, or you see garbage in the directory window, or,
checking the Qpac2 Jobs menu, you see "memory corrupted" the test is
complete. If not, try some other directories, eg

dos1_windows_ then click WIN to get win1_windows_

If everything is still ok, please let me know too.

Thanks for your help!

Per




Re: [ql-users] New Mode 16 Sprite Collection

2004-03-06 Thread P Witte

Tim Swenson writes:

> Per Witte is working on a MultiSprite Viewer.  I have it but since he has
not released
> it, I have not mentioned it or put it on my page.  His viewer will view a
whole
> directory of sprites.  I viewed a directory of 485 sprites with no
problem.   I hope Per
> will release it soon.

Sprite Viewer and Multi Sprite Viewer (imaginativeley named Sprv and Msprv,
respectively) are available now. Under-the-bonnet access to these programs
is enabled by inclusion of the source code.

Sprv is best attached to your FileInfo2 database; view a sprite directly
from Qpac Files or similar program; view it in its various states and under
different system palettes; view some basic information on the sprite.

Msprv allows viewing all sprites located in a single directory in one go.
DOing one of the displayed sprites brings up that sprite in an instance of
Sprv for more detailed inspection.

Once Ive sorted out the hosting, the package will be available on the web
somewhere. In the mean time it can be had directly from me at pj dot witte
at fsbusiness dot co dot uk.

Per



Re: [ql-users] Quanta

2004-02-13 Thread P Witte

Phoebus R. Dokos  writes:

> >> and a couple of others running custom QDOS-based software,
> >> that unfortunately cannot work with SMSQ/e either.
> >
> > "custom" often meant pretty dirty; didn't it?
>
> Most likely, but where the user is concerned they really don't care as
> long as it works correct? :-D

I agree 100%: as long as, as you say, it works. And keeps working. And
doesnt stop other legally constituted stuff from working.

Unfortunately, a lot of "dirty" software only starts screwing your system
years later, eg when the OS gets ugraded..

We all make mistakes, but a deliberate high-handedness with the rules of the
game makes life hell for everyone else long after the author has moved on to
greener pastures.

Per




Re: [ql-users] Quanta

2004-02-13 Thread P Witte

Dave P writes:

> a. The number of gun owners in the US is 80,000,000.
> b. The number of accidental gun deaths per year (all age groups) is 1,500.
> c. The number of accidental deaths per gun owner is 0.000188.

Its the deliberate ones that are the worry.

Per





Re: [ql-users] Quanta

2004-02-11 Thread P Witte

Dilwyn Jones writes:

<>
> What I'm getting at (not being familar with PC networks) is would you
> need a driver to access Ethernet in general (or another QL on
> ethernet), another driver to access a PC over a network, another
> driver to talk to a printer hub, another to talk to a Mac etc etc. I
> am still smarting a bit from other QL hardware like Aurora which for
> all their promised merits (no blame fired at anyone here) were not
> fully usable until the drivers eventually came along (thinking of
> Aurora 256 colours which were not fully supported until Marcel took
> the law into his own hands).
>
> You can probably see what I'm hinting at, if drivers are an issue, and
> we were asking Quanta to assist with development costs, need this only
> apply to the hardware or do we need to think of the software costs
> too.

How about the existing NET driver; could that be easily converted to run
over Ethernet? At least that would enable non-QL QLs with Ethernet
capabilities to communicate..

Per



Re: [ql-users] wman

2004-02-06 Thread P Witte

Jerome Grimbert writes,

<>
> } I think this project would be good for the QL community as it would help
> } new PE programmers save the time in designing sprites.  The more the
same
> } sprites were used, the more PE programs would start looking more
standard.
>
> There is, in the new SMSQ/E, a set of 'system' sprites which should do
that.
> Look at the documentation.

Sure, but it is not "complete" in my opinion.

> } As someone new to working with sprites, I'm willing to take some
feedback
> } on what size the sprites should be or if they should be of multiple
size.
>
> Sprites should be single size, but mode-linked (so that mode 4, mode 33
and
> mode 16 users always get

What I meant by different sizes in my original mail on the subject was for
small, standard and large sized suits of sprites: It is not always suitable
to have a large, say 32x32 pixel, Quit sprite in a submenu.

I think Tim's offer of hosting a sprite library is a great idea!

Per



Re: [ql-users] Wanted: Aurora Tower System

2004-02-03 Thread P Witte

John Gilpin writes:

> Have you considered an Aurora System in a Pandora Case? The two I use are
so
> reliable that I think I could manage without my spare one.

Famous last words ?

Per



Re: [ql-users] Athlon 1,8GHz + Pentium 3 GHz + XP + QPC

2004-01-28 Thread P Witte

Roy wood writes:

<>
> ...  and hard drives need defragmentation  - even QL ones except we do
> not have a tool for it.

QPC users have a simple workaround, though: Simply create a new QXL.WIN file
and, from within QPC, copy the contents of the drive you need to defragment
to the new drive, then delete the old QXL.WIN file. This takes in the order
of 5 minutes to do.

Per




Re: [ql-users] EasyPtr revisited

2004-01-22 Thread P Witte

Rich  Mellor writes:

> I have the sources for EasyPtr Per, if you would like to take a  look.
They
> do not make easy reading unfortunately and despite offers of  help
initially,
> no-one seems willing to take on the task of upgrading this  software.

Ok, lets take a look then, if its ok with Albin.

Per



Re: [ql-users] EasyPtr revisited

2004-01-20 Thread P Witte

I wrote:

> All the above relate to ptrmenX_cde V 3.05 E

Sorry, a tpyo: Should be V3.50 E

BTW, all I wrote about MAWITEM also occurs with MITEM (and possibly MINOB):
You need to define a QL mode sprite first and attach the hicolor sprite to
that, or else EasyPtr wont want to know. A skeleton sprite definition will
do (provided your program will never run in QL colour mode.)

Per






[ql-users] EasyPtr revisited

2004-01-20 Thread P Witte

Hi all EasyPtr enthusiasts.

Could you please confirm that MAWITEM wont process a high definition (mode
16 or 64)sprites/icons: Returns err_bp. I found a way around, though (after
much hassle!) Define a sprite chain, with the first sprite a mode 0 one, eg:

sprite ; mode 0 sprite definition
 dc.w  $0100,$  ;form, time/adaption
 dc.w  $0006,$0009  ;x size, y size
 dc.w  $,$  ;x origin, y origin
 dc.l  pattern-*  ;pointer to colour pattern
 dc.l  mask-*  ;pointer to pattern mask
 dc.l  spr_hi-*   ;pointer to next definition
...
...

spr_hi ; mode 64 sprite definition
dc.w $0240,$0020 ;form, time/adaption
dc.w $0010,$0010,0,0   ; etc
dc.l blank_col-*
dc.l blank_mask-*
dc.l 0,0,0

Wman2 then takes over and displays the correct hi definition sprite when
machine is in the right mode. None of the other keywords appear to be
affected by this (eg MAWDRAW & SPRW).

Another problem I experienced was with the MCALLT keyword. The pointer
sprite noticably blinks each time the call times out. I find this
irritating, and therefore cannot use it for something like "popup help",
which would timeout every 1 to 5 seconds. This does not appear to happen
with the equivalent Qptr call, so it must be an MCALLT issue (please check
for yourselves).

All the above relate to ptrmenX_cde V 3.05 E

Is any progress being made in updating the EasyPtr package?

Per




Re: [ql-users] Birthday & QL 2004

2004-01-19 Thread P Witte

Wolfgang writes:

> On 18 Jan 2004 at 10:20, P Witte wrote:
> (...)
>  How about a panel
> > of Wise (Wo)Men to answer specific questions from the audience? That way
we
> > could have a number of short talks (eg 2 to 15 minutes each) on a
varitey of
> > special interest questions.
> >
> Who could propose a topic to be talked about?

The audience: Part pre-submitted questions (once the panel is known,
perhaps, with the panellists deciding which questions they wish to take up)
part real-time.

Just a thought - trying to be helpful ;)

Per




Re: [ql-users] Birthday & QL 2004

2004-01-18 Thread P Witte

Jon writes:

> As I said in the QL-Today poll I will do my absolute best to get to either
> or evenboth events whether in UK or NL. Would an Internet connection
> workshop be of interest?
> I'm thinking in terms of "Bring along your QL get it fitted with Hermes,"
>  "Help with registering with an ISP, setting up an email account, etc."
> "Install and try-out the soQL TCP/IP stack "
> Aim of the workshop would be that none connected QLers could go
> home with the know-how, hardware and software to participate on ql-users.
> Any comments?

Sounds like the right kind of idea. But there may not be that many QLers who
are not yet connected (by some means). And how are those going to find out
about the show ?

Per





Re: [ql-users] Birthday & QL 2004

2004-01-18 Thread P Witte

Geoff Wicks writes:

> Indeed the response has been disappointing. Just 4 replies to a possible
> Eindhoven event, and 3 of those were "business" replies on specific
> matters.
<>

Apologies for my lack of response. Shows and all that is not my thing, but I
recognise that they are important for the totality of the scene, and every
now and again I enjoy attending one. I shall certainly try to attend a QL
2004.

I believe some people have mentioned a lack of workshops and talks as things
they miss about shows in recent years. The problem may partially have to do
with too great a spread of interests over too few people. How about a panel
of Wise (Wo)Men to answer specific questions from the audience? That way we
could have a number of short talks (eg 2 to 15 minutes each) on a varitey of
special interest questions.

Per






[ql-users] wman

2004-01-04 Thread P Witte

Hi all, hope you had a good break! (As did I ;)

Now to business: I want to update a couple of my PE programs to the new wman
standard. The first obstacle I encountered was sprites/icons. What a bummer
to have to design those bloomin things - as if writing programs wasnt
enough!

Thanks to Wolfgang, Marcel, Jerome and probably others, we at least
have some tools to create and convert them. Thats a good start!

I dont particularly want to nick sprites from Windoze as Id prefer to keep
the QL-side as unpolluted as possible, so I suppose I'll have to do my own.
Id like to take this opportunity to apologise for what they might look like
in advance!

If, however, anyone was twiddling his thumbs wondering how to become a
QL saint, he could do worse than design a PD sprite/icon collection...

Finally, I think it would be a great idea if some more standard sprites
could be included with the system. At present the system sprites consist of:

0 = default pointer
1 = padlock
2 = mode 4(?)
3 = mode 8
4 = K - keyboard
5 = No entry/busy
6 = move selected
7 = resize selected
8 = move
9 = resize
   10 = sleep
   11 = wake
   12 = F1 ...
   23 = F12
   24 = CF1 ...
   35 = CF12
   36 = cursor block?
   37 = ?

How about the following additional standard system sprites:

wake icon, help icon, quit/close window icon, escape/back icon,   precision
pointer (cross), resize right/left pointer(s), resize up/down pointer(s),
resize diagonal forward pointer, resize diagonal backward pointer, move
pointer (arrows pointing NESW), hand pointer (or link select), standard
block cursor (animated) pointer, text select pointer, help pointer...?

The current scheme allows for up to 256 system sprites in each display mode,
so perhaps the sprites could be provided in two different sizes, large and
small. Alternatively, two different schemes could be provided, eg normal and
hi-contrast...

Just a thought...

Per




Re: [ql-users] WM.RPTRT again

2004-01-04 Thread P Witte

George Gwilt writes:

> As everyone will realise by now, the events given to WM.RPTRT in D2.B are
job
> events, not pointer events. So, obviously, WM.RPTRT will return on any
> pointer event just as WM.RPTR does whatever the value in D2.B.

Sorry I wasnt more helpful but Ive been extermely busy being lazy this
Christmas. Glad you resolved it.

> However, there is another question (which I may be able to answer before
> anyone else too). The addition of job events to SMSQ/E has caused a change
in
> IOP.RPTR. This will now allow a return from a job event. The manual states
clearly
> that the job event will be placed in the top 8 bits of the pointer event
> (pt_pvent) in the status area. It also seems to suggest that the top 8
bits of D2
> in a call to IOP.RPTR should contain the job events on which to return. A
> short test seems to bear this out. Now comes the question.
>
> Since the original IOP.RPTR asks for D2.B to be set, does this not mean
that
> old programs calling the routine might find peculiar things happening? For
> example, the contents of D2.L could have $FF as the top byte. D2 might
have been
> -1 before D2.B was set with the required pointer events return. In that
case
> any job event sent to the program would cause a spurious return.
>
> What steps have been taken to prevent this?

I have no intelligent answer to this. However, I expect that in most
instances people will have used a moveq instruction to set the byte in d2..

Per



Re: [ql-users] SMSQ/E Version 3.04

2003-12-14 Thread P Witte

John Sadler writes:

> On the demo & SMSQ/E gold ALT enter does not give you
> the last command. Is this an error or has this useful facilty
> been removed? If so a history facilty would be better.

The default keystrokes have (by mistake, I think) been set to ALT+s and
ALT+S. For some reason this does not automatically get updated to your
preference when using MenuConfig/Update; you have to do it manually.

Per





Re: [ql-users] isp

2003-12-11 Thread P Witte

TonyTebby writes:

> You're lucky.
<>

When Tiscali took over my beautiful knoware.nl ISP I had similar experiences
to the ones you describe but I put it down to them being mean rather than
crooked. What a wunch of bankers! I think its time to get outta here!

Per




Re: [ql-users] isp

2003-12-11 Thread P Witte

Tony Firshman writes:

> With all this moving of accounts, I am amazed that more don't buy a
> domain (£1.99 a year from oneandone.co.uk  - beware the £1.99 a
> MONTH offer).

Can you use a domain via a dial-up connection? Having your own domain doesnt
solve the dail-up problem. You still need an ISP, yes?

Can anyone recommend a reliable Pay-As-You-Go ISP?

Per




Re: [ql-users] isp

2003-12-10 Thread P Witte

John Hitchcock writes:

> Why not the ubiquitous TISCALI ?  I've set up many for different users.

My personal experience with Tiscali.co.uk is that you get swamped with spam,
the negotiation time with the host computer (both logging in and logging
out) takes longer than with freeserve (thus clocking up extra revenue for
Tiscali at your expense), that sometimes you are not allowed to log on to
your email account via another ISP (thus forcing you to use Tiscali to get
your Tiscali mail), and finally, that they dont permit your sending mail on
another ISP account than your Tiscali account while connected via them.
Freeserve offers an altogether cheaper and more reliable service. I was able
to set up a freeserve account a year or two ago without using their CD
which, however, is widely available from Dixons, PC World, etc, and on
computer magazine cover disks.

Id be happy to be recommended another ISP myself. Preferably something with
a memorable name so its easy to give to people verbally. For example pj at
witte dot fsbusiness dot co dot uk doesnt exactly roll off the tounge, while
pjwitte at tiscali dot co dot uk is very convenient; the only positive point
about tiscali ISP.

Per




Re: [ql-users] BMP2SPRT v. 1.01

2003-12-07 Thread P Witte

Wolfgang writes:

> version 1.01 of BMP2sprt can be found at
>
> www.scp-paulet-lenerz.com/14mljkl24/wolf/download

Great little program, Wolfgang. Looks good too. Thanks!

BTW, I cant change the paper colour using the non-Wman option. Eg if I enter
ff (or any other number) the window goes black. $xxx, though, works as
advertised.

Per



Re: [ql-users] Sbasic and slicing

2003-11-16 Thread P Witte

I wrote:

<>
>get1string  ;SB string on stack. a1->string
>move.w 0(a6,a1.l),d0;get len
>   lea.l 2(a1,d0.w),a0;a0 -> end string

That last line above should of course have read:

   lea.l 1(a1,d0.w),a0;a0 -> last char

Per







Re: [ql-users] Sbasic and slicing

2003-11-15 Thread P Witte

Phoebus R. Dokos  writes:

> >> I always thought that slices could work in reverse as well (and they
> >> should actually) so eg.
> >>
> >> a$ = "hi"
> >> b$ = a$ (2 TO 1)
> >>
> >> PRINT b$ should return "ih" but maybe it's just me :-)
> >>
> >> Phoebus
> > Patience my boy! Marcel The Miracle Maker will crack this one
> > eventually!
> >
> 
> Hehe that or crack our head for making these suggestions ;-)
> Seriously though that would be a great improvement as it would eliminate 
> the need for a reverse function (Geoff would love that one as well I'd 
> imagine)
> It's rather annoying to have to resort to LEN(String$)-1 iterations to 
> solve this :-)

It would be trivial to write your own m/c routine to do the job!

Off the top of my head, something along the lines of

get1string  ;SB string on stack. a1->string
move.w 0(a6,a1.l),d0;get len
lea.l 2(a1,d0.w),a0;a0 -> end string
lsr.w #1,d0;only need to swap half the string
bra.s loop_end   ;dont bother if 1 char or less
loop
move.b 2(a6,a1.l),d1  ;swap chars
move.b 0(a6,a0.l),2(a6,a1.l)
move.b d1,0(a6,a0.l)
subq.l #1,a0;next pair
addq.l #1,a1
loop_end
dbra d0,loop
returnstring;reset a1 and return string to SB

should work.

Per




Re: [ql-users] Sbasic and slicing

2003-11-14 Thread P Witte

François Van Emelen writes:

>Hi all,
>Could someone explain me this?
>
>P1
>100 a$="SMSQE"
>110 b$=a$(4 to 3)
>120 print b$,len(b$)
>
>Line 120 prints an empty string with length 0.
>
>P2
>100 a$="SMSQE"
>110 b$=a$(4 to 2)
>120 print b$,len(b$)
>
>Line 120 returns the error 'unacceptable array index list'
>
>Question: Why doesn't P1 return the same error as P2?
>
>Any ideas?

Because

len(a$(4 to 4)) = 1,
len(a$(4 to 3)) = 0 - still an acceptable string, but
len(a$(4 to 2)) = -1, is not

It probably saves time not to have to test for these odd cases, and it
returns the "right" answer, in my opinion.

Per




Re: [ql-users] Byfleet workshop

2003-11-12 Thread P Witte

Dilwyn Jones writes:

> I also added a few new and updated pictures to the QL Rogues page:

Oughtnt you to feature prominently on the page yourself, Dilwyn, rather than
skulking in some godforsaken corner of your web. I mean, whats the point of
calling it QL *Rogues* Gallery without you?

Per




Re: [ql-users] The Byfleet Show

2003-11-07 Thread P Witte

If anyone at the show requires a Kingston 256Mb SD flash ram thingy, Ive got
one surplus to requirements. Bought it for £61 a couple of weeks ago, but
found I couldnt use it as my PDA doesnt recognise anything over 196Mb.
Thanks to the dumbed down manuals and specs you get these days this was not
obvious :( Best offer over £40 secures. If theres a Bring'n Buy stall youll
find it there else ask someone to point me out (Jochen, Tony F and Roy know
my face).

Per



Re: [ql-users] wm.rptrt

2003-10-28 Thread P Witte

Wolfgang writes:

<>
> > I feared, but was hoping I wouldnt have to, go there
>
> 

having to fiddle around to do it manually.

> > Thank you for your code ;) I think this is just what Im looking for. I
> > shall test it as soon as I can.
> OK let me know if it breaks.
>
> (...)
> > By DOing the liberated button, I want it to jump back into the BF, but
> > whatever the x-coordinate I provide, wm.prpos positions the button
wherever
> > it thinks fit. Eg, if the free button was at (0,100) wm.prpos puts it in
> > the correct place at the end of the row of buttons at the top of the
screen,
> > eg (764,0), exactly as specified. However, if the free button was at the
> > other screen edge, eg (972,50), wm.prpos puts it at (0,0)! If the free
> > button was anywhere in between, wm.prpos puts it in some intermediate
> > position (xxx,0). Surely this must be an "issue"? BTW, this behaviour is
the
> > same whether QPC is running in HiColor or QLColor mode
> ?
> This something I'm unable to reproduce.

init (open con, wm.setup etc)
wm.prpos
wm.wdraw
loop
wm.rptrt
if HIT then release BF and interactively move
elseif DO then
get coordinates from BF Thing and
wm.prpos
endif
endloop

As you see from this (partial and oversimplified) representation, I dont
wm.rset or anything like that, just re-call wm.prpos. This may not be
how wm.prpos is designed to operate..

<>> Anyway, the BF doesn't place anything anywhere, it is your code that
does so.
> The second code example I've sent you should tell you how to position your
wdw again
> where you want it.

Yes, Im aware of that, hence my need to use wm.prpos.

> Just as a recap, let me remind you how the PE positions (primary) windows.
> If you tell it to position a window at coords x,y, it puts the POINTER at
x,y.
> Then it draws the wdw around the pointer in such a way that the pointer,
being at
> coords x,y, will be located within the window at the coords x2,y2
(relative to the wdw
> origin), the coords x2,y2 being the coords given in ww_xorg in the working
definition
> (!!!).
>
> In other words, when positioning primary wdws, ww_xorg and ww_yorg contain
not the
> window position, but the initial pointer position of the pointer within
the window.

This explains why the buttons overlap initially. My WD's default pointer
position was set to (0,0), but this is inside the border.

> I'm sorry if the above sounded pedantic and only told you things you
already knew!

Its always difficult to know what others know. Its years since I last did
any serious PE programming in assembler, so Im starting again almost from
scratch. And I thought doing just a simple little button affair would allow
me to get acquainted with some of the new facilities in a controlled,
overseeable environment! Ha!

Thanks for your help. I hope to get it all sorted out this weekend.

Per





Re: [ql-users] wm.rptrt

2003-10-27 Thread P Witte

Wolfgang writes:

<>
> > How do I position a PE window accurately?
<>

> Does the software have to be able to run on a machine
> that may NOT have the menu extensions installed?
>
> If not I suggest you use the menu extensions to set up your button.
> (I could help you there)

I hadnt thought of that, (I dont yet have the new Qmenu). But Id still
prefer to know how to do it myself ;)

> if not, I've dug up some old code I hd used previously for a button
> with a standard border
<>

I feared, but was hoping I wouldnt have to, go there

Thank you for your code ;) I think this is just what Im looking for. I shall
test it as soon as I can.

> > In certain circumstances, I want to be able to liberate the button from
> > the Button Frame and then, after doing whatever to it, put it back
> > again (automatically, ie not using wm.chwin). wm.prpos makes it jump
> > all over the place!
>
> I'm not sure I understand your problem - what jumps all over the palce?
> I presume it is not the button, but your "normal" wdw.

By DOing the liberated button, I want it to jump back into the BF, but
whatever the x-coordinate I provide, wm.prpos positions the button wherever
it thinks fit. Eg, if the free button was at (0,100) wm.prpos puts it in
the correct place at the end of the row of buttons at the top of the screen,
eg (764,0), exactly as specified. However, if the free button was at the
other screen edge, eg (972,50), wm.prpos puts it at (0,0)! If the free
button was anywhere in between, wm.prpos puts it in some intermediate
position (xxx,0). Surely this must be an "issue"? BTW, this behaviour is the
same whether QPC is running in HiColor or QLColor mode

<>
> If that is so, here is the code I use for that in some of my programs:
<>

Thanks a lot for the code! I'll see if I can make it work for me.

Per






Re: [ql-users] wm.rptrt

2003-10-26 Thread P Witte

Sorry for being such a pain, but I have some further questions:

How do I position a PE window accurately? Problem is, I want to create a
button, to go into the button frame. Im hoping to use a standard Window
Definition with a single Loose Item. If I use a window with a border width
of 1 and then use wm.prpos, my button overlaps part of the adjacent button.
(This occurs even when my button's x-origen is divisible by 4). If I use a
borderless window, ie border width 0, there is no problem, except as below:

In certain circumstances, I want to be able to liberate the button from the
Button Frame and then, after doing whatever to it, put it back again
(automatically, ie not using wm.chwin). wm.prpos makes it jump all over
the place!

Ive spent ages trying various alternatives. Please help!

Per




Re: [ql-users] Launchpad

2003-10-25 Thread P Witte

Dilwyn Jones writes:

<>
> > I noticed some reference in the documentation to an EasyPtr keyword
> called
> > MCALLT. Is this a new keyword implementing wm.rptrt? Where can I get
> it?
>
> This is new in version 3.50 of the Easyptr extensions (I got Easyptr
> upgraded from Roy Wood), only documented in the updates file, as
> follows:
<>

Thanks for the info, Dilwyn, and good luck with Launchpad! - A major opus
from the house of DJC. Check it out!

I believe I bought my EasyPtr direct from Albin himself. Since hes no longer
in business, would someone else (Roy, perhaps?) be prepared to update me?

Per




Re: [ql-users] wm.rptrt

2003-10-25 Thread P Witte

John Gilpin writes:

> I have just checked in the Quanta library and the latest I can find is
Qmac
> V1.06 and Qlink V1.03

Thanks for checking.

Per





Re: [ql-users] wm.rptrt

2003-10-25 Thread P Witte

Marcel Kilgus writes:

> > Also, can others confirm that the DATA directive in Qmac 1.06 doesnt
work?
>
> It works. You probably also have to include the line
>filetype 1

The file is supposed to be relocatable, as it has to be linked with others
to make up the complete job code. Closer investigation reveals that Qmac
does afterall correctly set the dataspace in the relocatable fileheader, but
the linker (Qlink 1.03) does not seem to pick it up as it should. Qlink is
supposed to accumulate all dataspace requirements given in the various
relocatable files and set the total amount in the header of the resulting
executable, unless overridden by a larger specification given in a DATA
directive in the link file itself.

I never noticed the current behaviour before, so I suspect that something
got broken in the recent update.

Per




Re: [ql-users] wm.rptrt

2003-10-25 Thread P Witte

Wolfgang Lenerz writes:

> > What are the call and return parameters (all of them) for wm.rptrt 
> > again?
>
> Here are the notes I have on that
>
> -
> Vector $78 WM.RPTRT
<>

How do I know Ive timed out?cmpi.w   #-1,d0?

> from basic:
<>
> if event% = 0 timeout% can't be -1, must be <>-1,
> solution: pass event% as 1 (this is ignored anyway)

Does this apply to wm.rptrt too?

Thanks for your help.

Per






Re: [ql-users] Re:smsqe 3.03 - sources are out

2003-10-24 Thread P Witte

Wolfgang writes:

> The sources for smsqe 3.03 are now officially out.
>
> (smsqe 3.03 itself is avaialble from your usual reseller).
>
> I have enclosed, as an attachment, some small text files, they tell you
> what is new in this version.
>
> I shall be sending the sources out on monday to those who have
> recently requested them from me.

How very exciting! An enormous amount of work seems to have gone into this.
Thanks to all you hard-working contributers. Where would we be without you?

Please include me on your mailing list, Wolfgang. (A blank disk and postage
will be dispatched this weekend.)

Per




Re: [ql-users] Launchpad

2003-10-24 Thread P Witte

Dilwyn Jones writes:

Just had a quick peek at the demo. Its not hard to detect that you have been
very busy indeed. You must have worn at least 5mm off you fingertips!

I noticed some reference in the documentation to an EasyPtr keyword called
MCALLT. Is this a new keyword implementing wm.rptrt? Where can I get it?

Per



[ql-users] wm.rptrt

2003-10-24 Thread P Witte

Hi all,

What a shock to get back from a 10-day absence to discover nearly 200
ql-user mails in my inbox! My first thought was that something major had
happened, eg large chunks of Smsq/e source code had been discovered
at the heart of Windows and here was Bill Gates frantically trying to defend
himself on this list. But alas! it was only the same old licensing issue
again.
Rattles and cut-off noses all over the place, as was to be expected. But
this
time, did I detect the first overtures of a rapprochement? If so, I hope the
protagonists are willing to pursue this one as its importance to the
community cannot be overstated.

In the mean time, the show goes on, and Im stuck for some info. What are the
call and return parameters (all of them) for wm.rptrt again?

Also, can others confirm that the DATA directive in Qmac 1.06 doesnt work?
If so, can this be fixed? Is 1.06 the current version?

TIA

Per




Re: [ql-users] What printers do people use with their QL??

2003-10-04 Thread P Witte

Phoebus R. Dokos writes:



Its an important point you mention about the print heads. With HP you
get a new print head with every new cartridge, with the Epson you only get
the one you bought with your printer, and when that goes, so, pretty much,
does your printer. I also have the same opinion as you regarding the lousy
HP sheet feeder, at least on the old Deskjet series.

My Epson has worked well for me, and at £70, or whatever Rich is selling
them for, you can hardly go wrong. Another thing is I could simply use my
old LX80 printer drivers for the new Stylus 850; they are pretty much
compatible.

Is there anyone among us who is in a position (eg working in a computer
shop) to test the latest generation of printers suitable for for QL users?
The four most important things I can think of to know about a printer are:

1) Connectors (serial, parallel, USB, dual)
2) Printer language (built-in fonts and plain text)
3) Running costs
4) Design (reliability, long-term cost)

Per




Re: [ql-users] What printers do people use with their QL??

2003-10-03 Thread P Witte

Rich Mellor writes:

> Just a quick survey.
>
> A lot of people have expressed an interest in Epson 850 colour stylus
> printers for their QL.
>
> However, what printers are people actually using nowadays with their QL??
<>

Epson stylus colour 850. Beats the LX80 hands down, George. The speed is up
and the decibels are down. Epson ink is more expensive than Dom Pérignon and
doesnt taste as good, but generics are available at 1/4 of the price.

Per





Re: [ql-users] QL Hot-removable Compact Flash Adapters - ONE LEFT!!

2003-10-02 Thread P Witte

Darren Branagh writes:

> I still have ONE hot-removable compact flash adapter left!!
>
> This is definitely the last one - first come, first served.

And when he runs out, Im floging one surplus-to-requirements "Hot removable"
CF adapter including brackets and cover to insert into a 5 1/4" drive bay. I
say "Hot removable" as it didnt work for me with Windows 2000. You have to
have the flash card in at boot-up for it to work. The same applies to my
Q60,
but that was understood when I bought it.

Per





Re: [ql-users] RFC

2003-10-02 Thread P Witte

Marcel Kilgus writes:

> P Witte wrote:
> > In some older programs I use a different scheme, with F10 stuffing the
> > edited string into the stuffer buffer.
>
> Oh well, so you're already doing exactly the same.
>
> > Those, and any other existing programs that do something similar,
> > will find that they get two copies of the keyboard queue contents.
> > The first copy would hold what iob.edlin thinks is the resultant
> > string (accessed by Alt+Shift+Space or equivalent) while the second
> > would hold what your program knows to be the correct version.
> > Disconcerting, messy and quite unnecessary, methinks.
>
> This I don't really understand. Either you use iob.edlin, in this case
> F10 was useless in the past and now could be filled with some life. Or
> you don't use iob.edlin, then the change doesn't really concern you.

Youre right. I got confused. It shouldnt affect my line editor as I use
iob.fbyt not iob.elin or iob.flin.

As an aside, iob.elin is/was incompatible with the documentation: it doesnt
update the cursor position on return, so it was of no use to me. I asked TT
whether hed fix it but in the end he didnt as he feared it would introduce
incompatibilities with existing programs.

I still think the key should be configurable.

Per



Re: [ql-users] RFC

2003-10-01 Thread P Witte

Marcel Kilgus writes:

> > I already use this keystroke in a number of my programs for the purpose
(F5
> > in Qwirc, FF and others, and F10 in older programs) so in my case Id
want to
> > override, disable or avoid this facility in individual programs.
>
> Why? It wouldn't change the behaviour of your program at all. It would
> just add the additional feature of reacting to F10 within a read-line
> trap (instead of doing nothing at all).

Just trying to be controversial in these quiete times ;)

There are however some good reasons. A number of my programs (and
probably  other people's too) have their own line editor using editing
keystrokes that are not understood by the edlin trap. In FF and Qwirc,
for example, I use F5 to stuff the resulting string into the global stuffer
buffer and F10 to stuff it into a local buffer. This is so you have a
CHOICE:
A frequently used file name might be held in the global stuffer buffer while
intermediate or more dynamic data can be held in the local buffer.

In some older programs I use a different scheme, with F10 stuffing the
edited string into the stuffer buffer. Those, and any other existing
programs that do something similar, will find that they get two copies of
the keyboard queue contents. The first copy would hold what iob.edlin thinks
is the resultant string (accessed by Alt+Shift+Space or equivalent) while
the second would hold what your program knows to be the correct version.
Disconcerting, messy and quite unnecessary, methinks.

Per




Re: [ql-users] RFC

2003-09-30 Thread P Witte

Wolfgang writes:

>  Per :
> > I think it is a good idea. Great that you are prepared to do it! Might
it be
> > an idea to add some kind of test for this functionality (eg set a bit on
> > some sysvar), as application programmers may wish to eg provide a
limited
> > functionality on systems that dont support it.
> Do you mean that the application programmer will build this facility into
his program (via
> some special keystroke or menu item?) so that , for example, in QDOS this
can also be
> achieved?
> Well, then it would simply be possible to achive it with 2 different
methods on an
> SMSQ/E system.

I already use this keystroke in a number of my programs for the purpose (F5
in Qwirc, FF and others, and F10 in older programs) so in my case Id want to
override, disable or avoid this facility in individual programs.

> (remember, as Marcel rightly points out, the keystroke is trapped anyway,
the
> application doesn't even get it)
>
> > > CTRL-C is, of course, out of the question, as that is used elsewhere.
> >
> > Couldnt this also be an Smsq/e configurable item (Im aware that it is
easy
> > enough to do as a POKE, but..) together with the Hotstuff keys, F10, and
> > anything else that may crop up?
> >
> > Per
> Yes, it could be. Personally, I'm not so sure that it is really such a
good idea, I like the
> idea of systemwide unified keystrokes. Everybody knows not to use CTRL-C
in one's
> applications because it is a fixed system wide keystroke. Same for CTRL F5
for screen
> freeze, or Alt Enter etc
>
> Some of these may be changeable via POKEs in the sysvars, but in general,
they are
> fairly constant over all systems.

We could of course all walk round in Mao-suits then no one would be
embarrassed for mis-dressing at dinner parties. ;) People use different
platforms, have different keyboards, different disabilities, different
needs.. Choice is not always a luxury.

> For the new keystroke I'll probably foresee some kind of configuration
item, since I
> realistically can't really know that it will work in all circumstances at
all times

Actually Ctrl+c seems a good (optional) choice to copy the keyboard queue ,
as this
avoids confusion when working with QPC under Windoze. Its a convenient
keystroke as its easy to remember and can be accessed with one hand (by
people with two or more fingers). As someone said, PE users hardly need to
use Ctrl+c to change queue anymore. It is virtually redundant. Might as well
make it configurable so it can be used for something else.

If the application programmer can find out what keys the system is
configured to use then a program can use (or avoid) these keys, ie forget
the suggestion of setting a bit: Set the complete keycode somewhere in
sysvars - as for Change Queue.

Per





Re: [ql-users] RFC

2003-09-25 Thread P Witte

Wolfgang  writes:

> I'm toying with the idea of implementing, withing SMSQ/E, some sort of
> general keystroke which will put the content of a con channel into the
> stuffer buffer (similar to CTRL-C on Windows) when using the edit/input
> string OS call (eg. INPUT inSbasic).. Thus, all software which uses the
> normal edit string OS call would profit from that.  You can get the string
> back with the ususal ALT-ENTER.

Are you thinking of buffering output sent to each scr/con channel, or are
you thinking of using OCR, as in Qlip, or something else?

> The key so used will be effectively unusable for the application
> whenever it makes this OS call (but not for anything else).
>
> Marcel proposed the F10 key for that, as the ED command in SBasic
> already uses that for the same purpose and, as he rightly points out,
> this OS call already screen out the function keys and such.
>
> Does anybody have some strong feeling about this (or even just an
> idea?).

I think it is a good idea. Great that you are prepared to do it! Might it be
an idea to add some kind of test for this functionality (eg set a bit on
some sysvar), as application programmers may wish to eg provide a limited
functionality on systems that dont support it.

> CTRL-C is, of course, out of the question, as that is used elsewhere.

Couldnt this also be an Smsq/e configurable item (Im aware that it is easy
enough to do as a POKE, but..) together with the Hotstuff keys, F10, and
anything else that may crop up?

Per






Re: [ql-users] sernet

2003-09-24 Thread P Witte

Dilwyn Jones writes:

<>
> Wiring is critical, the slightest booboo and it will either not work
> at all or only at very low baudrates (usually not at all). Sernet is
> one off those things that either it fails miserably and takes ages to
> set up, or once working works perfectly, faultlessly and quickly
> becomes one of those things you could never have managed without it.
<>

I dont know about booboos. Im not a serial virgin, in case that wasnt
obvious. I had QTPI running at 115k baud. Perhaps there are two
dud versions of sernet?

If anyone can put together a piece of plug'n play kit that includes a copy
of sernet plus a 3m cable (D9 plugs either end) for QPC2<->Q60, and
guaranteed to work at full speed first time! Im in the market.

Per




Re: [ql-users] sernet

2003-09-22 Thread P Witte

Phoebus R. Dokos  writes:

<>
> It's a matter of cabling actually usually. However as Jochen said in that
> Sernet Special on QLT and I quote: "It DOES work"
>
> I have been using SERNET with: QPC to Aurora, QPC to Q40, Q40 to Aurora
> even QemuLator to Aurora and QXL...
>
> If you are using QDOS Classic however it WILL NOT work. You need the
> H.P.R's SimSer to emulate SMSQ/E's ports.

There are just too many variables: sernet version, cables, OSes, ports,
hardware, etc, plus virtually no feedback except some general error 
message after every 5 minute hogging of your machines. Either 
you have the luck of the Devil or your fortitude deserves a citation. 
For the rest of us:  Its just not worth the pain. Forget it!

Per




Re: [ql-users] sernet

2003-09-22 Thread P Witte

George  writes:

> > > I cant use sernet between my q40 and qpc2. Iget
> > > sernet aborted .
> > >
> > > any help ?
> >
> > Yes. Transfer data using some other method. Eg use a CD instead.
> >
> > Per
> >
> >
>
> Might be quicker to print out what is to be transferred from one end and
type
> it in at the other.
>
> Or use handwriting for the output end.
>
> (I have NEVER been able to get sernet to work ANYWHERE.)

Hehe. Actually, after messing with sernet for three days (at least in this
latest (and last!) desperate attempt), I did what I should have done from
the start: copied the main stuff onto some 160 floppies and moved it over.
After that it wasnt so difficult to keep it up to date.

Per



Re: [ql-users] sernet

2003-09-20 Thread P Witte

Michael Grunditz writes:

> I cant use sernet between my q40 and qpc2. Iget 
> sernet aborted . 
>
> any help ?

Yes. Transfer data using some other method. Eg use a CD instead.

Per



Re: [ql-users] Whats up?

2003-09-19 Thread P Witte

Jerome Grimbert writes:

You got the wrong end of the stick, Jerome. I believe Darren was talking
about WINDOWS, the Woefully Idiotic Nasty Destructive and Obnoxious Wrecking
System that is commonly found on computers sporting the much-loathed Intel
(Intuitively Non-programmable Topsy-turvy-Endian Logic-defying) chip. Since
WINDOWS is an acronym, the final S is not indicative of plurality, therefore
it is correct to say Windows IS.., although the subsequent sentiments
expressed by Darren must be considered to be erronous or mischieveous.

I HTH,

Per

> [EMAIL PROTECTED] makes some magical things to make me read
> }
> } I think its time to start a riot then -
> }
> } Aren't  QL's  rubbish??  Windows is much better.
>
> Windows ? What's the relation between computer and house hardware ?
(excepted
> home-computing of course). QL-compatible are just fine, anyway.
>
> And to get the fresh air someone seems to need: Doors are much better!
>
> Btw, your grammar is bogus, plural requires "are" instead of "is".
> Repeat after me:
>  I am, you are, he/she/it is, we are, you are, they are.
>  I was, you were, he/she/it was, we were, you were, they were.
>  I will, you will, he/she/it will, we will, you will, they will.
>  I have been, you have been, he/she/it has been, we have been, you have
been, they have been
>  I had been, you had been, he/she/it had been, we had been, you had been,
they had been
> ...



[ql-users] Whats up?

2003-09-18 Thread P Witte

Is anybody body out there out there out there?




Re: [ql-users] Dual IDE controller needed for Q40 - Will Exchange :-)

2003-09-04 Thread P Witte

Phoebus R. Dokos  writes:

> > I want me too one of this 4 IDE card for my Q60, I have already one in
my
> > Q40 that work very well (2xHD,1xCDRW,1x CF reader). On the other side I
> > bought a new one controller like this, some time ago, by myself from a
> > computer shop but it did not work, I think (if I remeber well from an
old
> > e-mail from Peter) that not all this kind of controller works when
> > installed in a Qx0.
> > Another possible solution is a 3 slot ISA riser card, i found this site
> > in Canada http://www.barada.ca/eng/index.htm and the BBP3R could be an
> > example to allow to mount 2 controller plus the ethernet.
> > BTW I am available to spend 40 $ for the card if proved working with
Q60.
> > Ciao Fabrizio
> >
>
> Hi Fabrizio,
>
> I will be willing to try them first and maybe get all of them for you and
> ship them to Europe if they work. I will be calling the vendor tomorrow to
> verify possibility of conditional purchase (if it works fine and we buy a
> couple more, if it doesn't we return)
> You interested?

Id also be interested, provided it works properly, as life is too short to
mess with hardware..

Per




Re: [ql-users] Keith Mitchell contact details

2003-08-22 Thread P Witte

Tony Firshman writes:

> You might not be aware that publishing literal email addresses like this 
> in _any_ group, even an email based one like this, is favourite spam 
> harvesting material.  I am sure that this area is archived all over the 
> place on the web.

Its all in the headers anyway, so does it really matter?

Per



Re: [ql-users] Testing new email - please ignore

2003-08-20 Thread P Witte

Norman Dunbar writes:

> It's only me - getting sorted aout at home.

Your dysqwertya is getting worse, Norman.

Per



Re: [ql-users] an [OT] favour

2003-08-16 Thread P Witte

Roy wood writes:

> Sorry to continue an OT discussion here but you are wrong. You can go to
> the Microsoft site and download the SP4. The pack you need to download
> is the one for network users. This is because people with multiple
> machine do not want to connect them individually to do the updates.

You are exactly right. Another reason I like to have the whole thing on a CD
is that I regularly have to re-install Windoze from scratch to keep it
ticking over nicely. This is a pain, but well worth it. Qdos/Smsq never
needs to be "installed", thats one of the beauties of that system.

BTW Has anyone tried HyperOs? Theyve run a 16 page ad in Computer Shopper
every month for the past 6(?) months.

I ask for two reasons, one is that it appears to promise that I wont have to
keep doing these re-installations as you can simply clone a pristine
installation, use it until it screws itself silly in the normal Windoze
fashion, and then just clone a new, pristine one in a couple of seconds.

The other reason is that the ad campaign reminds me suspiciously of ol'
Freddy Vaccha's approach to advertising. Does anyone know whether he has a
hand in it? Its either Freddy or a very close relative. Id be prepared to
bet a penny on it!

Per




Re: [ql-users] an [OT] favour

2003-08-16 Thread P Witte

To my
 
 >I urgently need to install the latest service pack on my W2k machines!
<>

Thanks to all who responded. I am now sorted!

Per





[ql-users] an [OT] favour

2003-08-16 Thread P Witte

I urgently need to install the latest service pack on my W2k machines!
However, it is a 120+Mb download! and I dont have broadband. Would any of
you like to contact me about downloading this file onto a CD and sending it
to me for a fiver or so?

SOO unpatriotic and off-topic, I know, but I dont know of any other option.

Per

PS Contact me privately first - I only need one. And please dont email this
file to me or dump it on the list! ;)

P










Re: [ql-users] Machine Code Extension

2003-08-14 Thread P Witte


- Original Message -
From: "Thierry Godefroy" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, August 11, 2003 12:33 AM
Subject: Re: [ql-users] Machine Code Extension


>
> On Sat, 9 Aug 2003 06:20:20 EDT, [EMAIL PROTECTED] wrote:
>
> > Hmm - one of my old machine code extensions reports an error on QL2K
(oddly
> > enough, it reports Channel Not Open when I use d$=SAV_DEV$).

Possibly an RI stack problem in another (nearby) keyword is causing this.

<>
> > *  Def SB extensions
> > Lab1000A  dc.w  0
> >   dc.w  0
> >   dc.w  2
> >   dc.w  lab1001e-*
> >   dc.b  8
> >   dc.b  'SAV_DEV$'
> >   dc.b  0
> >   dc.w  0
> > *  End SB ext
>
> That last 'dc.b 0' should be removed, although it will not make a
> difference here given their is no more function name after that one
> and that the following bytes are 0 as well...
> The number of bytes in the name table must be kept even: as
> SAV_DEV$ counts 8 bytes, you don't need for a padding null byte.

The padding byte needs to be there: Nametable name strings all have byte
sized length counters.

<>
> The code seems correct although far than optimized. I'd propose:
>
> Lab1001Emoveq #0,d5  Clear MS word.
> lea   Lab10076,a4Name string address
> move.w(a2)+,d5   Name length
> addq.l#3,d5  | Take length word into account
> bclr  #0,d5  |  and round up to word boundary

or
moveq #3,d5
lea.l Lab10076,a4
add.w (a4),d5wont overflow in this context
bclr #0,d5

> move.ld5,d1  Number of bytes to reserve
> movea.l   $58(a6),a1 Arithmetic stack address.
> movea.w   $011a,a0   QA.RESRI
> jsr   (a0)   Reserve the space on the stack
> movea.l   $58(a6),a1 New stack address
> suba.ld5,a1  Make space for the string
> move.la1,$58(a6) Store the new top of stack

or
jsr (a0)
sub.l d5,$58(a6)
move.l $58(a6),a1

> movea.l   a1,a2  Copy of stack pointer
> lsr.l #1,d5  | Number of words to transfer

or

lsr.l #1,d5
loop
move.w (a4)+,0(a6,a2.l) first move is length word
addq.l #2,a2

   dbra d5,loopmin once through loop

> subq.l#1,d5  |
> Lab1005Amove.w(a4)+,0(a6,a2.l)   Transfer a word.
> addq.l#2,a2  Increment stack pointer
> dbf   d5,Lab1005AContinue until end of name.
> moveq #1,d4  Parameter on stack = string
> moveq #0,d0  No error
> rts  retuns...
>
> Lab1006Edc.b  '<>'
>
> Lab10076dc.w  13
> dc.b  'win2_NEMESIS_'
> Lab10086ds.b  35
>
> The above is tested and working.

Per





[ql-users] Crash help

2003-08-14 Thread P Witte

After having downloaded the latest batch of mails from this list the mighty
Windoze 2000 silently hung on me. Could someone kindly do me the favour of
forwarding the last few mails to me, ie everything that arrived between
05/08/2003 23:34 and this mail. (I dont mind if I receive 200+ copies, as
long as I get one. I'll let you know when to stop ;)

TIA

Per




Re: [ql-users] Crash help

2003-08-14 Thread P Witte

Per Witte writes:

> After having downloaded the latest batch of mails from this list the
mighty
> Windoze 2000 silently hung on me. Could someone kindly do me the favour of
> forwarding the last few mails to me, ie everything that arrived between
> 05/08/2003 23:34 and this mail. (I dont mind if I receive 200+ copies, as
> long as I get one. I'll let you know when to stop ;)
>
> TIA

Thanks, I got it.

Per




[ql-users] Bugs

2003-08-12 Thread P Witte

Ive recently discovered the following bugs in Smsq/e

PRINT PRT_USE$ crashes Smsq/e since at least version 2.98 on QPC2 (and QPC2
itself).

PARTYP, PARUSE, PARNAM$, and PARSTR$ dont work on Smsq/e 3.00 and 3.01. Ok
on 2.93 and 2.98

Can anyone confirm? (Save your work first!)

Is there somewhere to report bugs in Smsq/e? Preferably it should be
somewhere where they can also be looked up by others who are experiencing
problems or who are out looking for something to fix..

Per




[ql-users] Issues raised by Geoff Wicks

2003-08-04 Thread P Witte

Geoff Wicks writes:

> As promised, some detailed reasons. It is a long piece, about 1,700 words,
> so I have done it as an attachment. It is in four sections, which can each
> be read separately. One of the sections is positive.

While I sympathise with your struggles I find your conclusion, ie to walk
away, rather strange.

First of all, I have never really noticed your struggles; this is the first
I conciously hear of them. Im sorry about that as I may somehow have found a
way to avoid being another straw on the camel's back. As you may have
detected, I have been prepared to make a fuss over those issues that have
come to my notice, especially the tendency in this group to generate
virtually no feedback, often even in cases of direct one-to-one
communication (which bears more of a likeness to rudeness than mere
lethargy).

Secondly, the timing seems particularly ill-chosen as, despite all problems,
so much is going on just now, a lot of it with no other apparent
justification than as a gambit to generate more interest in developing
software and keeping the whole caboodle afloat.

Finally, I want to say that although our ways have never really crossed, I
am a user of some of your software (about four commercial titles, I believe)
I read your letters and articles, and basically agree with most of what you
say, or at least dont disagree enough to contradict you, which is why youve
never had any feedback from me ;) (Not that it matters much, but at least
you now know of one more person who appreciates your contributions, which
you perhaps didnt know about before.)

Let me candidly declare my interests, so that no-one can suspect me of being
an "insider" with a priviliged stake in this whole business. I am not a
regular attendee at events (though I really feel I ought to try harder). I
dont "know" any of the Great and Good in the QL community. I am not a
professional programmer, nor do I sell or trade in QL software. I am merely
a
ql-user who has invested hundreds, or even thousands, of pounds over the
years in hardware and software, not to mention the hundreds (or thousands)
of hours I have spent writing programs - mainly for my own use or amusement.
I regularly use Windoze, mainly for those things for which there presently
is no QL equivalent, and I have muddled through with Linux when necessity
has compelled. I use the QL (mainly QPC) out of choice, both for business
and privately. The reason I stick my neck out at all is to safeguard and
maintain my investment. That is not to say that I dont consider many of the
people I have met over the years, on-line and in the flesh, as "freinds".

Of course, I dont mean to imply that I expect you (Geoff) or anyone else, to
have to fork out a small fortune for the privilige of supporting my
interest. I do think it unfair that some people carry a disproportionate
cost in time and/or money to keep the whole thing going. I think ways should
be considered to distribute this load more fairly. But how?

The benefit of committing hari-kiri on-line, as opposed to the real thing,
is of course that you can review, and possibly even reverse the act in the
light of the subsequent obituaries. I sincerely hope you will take the
opportunity to reconsider. I have many a time tottered on the very cusp of
doing the same, and perhaps only the fact that I did not have an exposure
£100 per anum to gain from it, restrained me from pushing that final "send"
button.

Now that you have brought your concerns into the open, and there have been
responses that indicate that these concerns are shared by others too, lets
get to the bottom of this and try and find the causes and some constructive
solutions.

Per




Re: [ql-users] Quanta workshop support

2003-07-28 Thread P Witte

John G writes:

> I have noticed the comments regarding a QUANTA 2000 type event but all the
> contributions are coming from the expected sources. (Thanks Dilwyn J,
Darren
> B, Geoff W and John T). What about the rest of you? come on. Put your ten
> penn'orth in. (Should that be "Dimesworth" in USA or "Centsworth" in
> Europe?) Let's here from you ALL.

It would be highly unusual to hear from ALL of us on any topic. 2-5% of the
subscriber mass is about as close as youll get, and possibly represents the
full spectre of opinion.

Im all for all of Dilwyn's ideas on the subject.

> We even have venues other than Scout Huts in Manchester and also such a
lot
> to see in the surrounding areas (for those not QL minded). We have
Motorways
> (Full of congestion), International Airports (BA Check-in staff
> permitting!), Ports with easy access on both sides of the country and The
> City of Culture 2008 is only 35 miles away.

As to venue I dont have a preference as I know a lot of people are going to
have to travel far to get there wherever its going to be. Not being a very
sociable type myself, I might find it attractive if the venue could be
available 24 hours and near, or combined with, the place of repose, so that
those who prefer computing to eating/sleeping could get on with it at any
unsociable hour they saw fit. (Perhaps some extra shaver sockets could be
laid on?)

> There. -  QUANTA have thrown down the gauntlet so what's the challenge?
>
> Let's start a list of celebrities to invite.
>
> Let's bring everyone up to date on the latest and best in the QL world (or
> QL Today - to keep certain members happy!)
>
> Keep the comments coming - yes we realise that this needs attention NOW.
>
> Still no update on "Roy's most practical offer" (I don't even know which
Roy
> we are talking about)
>
> Add your thoughts about what is to happen to the QL and Quanta in the
> future. What is the way forward?
>
> Who is out there with something interesting and/or informative to say in
the
> form of a tutorial or lecture and what do we want to learn about?

Some talks on more advanced aspects of Qdos/Smsq might make a nice change:
GD2, Wman2, PE, Things, etc, ie beyond the basics that are available in the
various tutorials. Anything that will promote the development of good
software by the sort of people who develop software for the "QL", ie
amateurs, or programmers/computerati that work professionally in other
environments. This may also be interesting for lapsed QL professionals. By
all means lay on the "How to improve your chances of promotion using Quill"
and "Cataloguing your vintage whisky collection with Archive" if there is a
demand, just dont forget the rest of us.

<>

Per






Re: [ql-users] New(er) SourceEdit SuperBasic Language file

2003-07-14 Thread P Witte

Phoebus Dokos writes:

> Jimmy and I prepared a newer version of the SuperBasic Language File for
> SourceEdit.We sent it already to SourceEdit.com (not available yet
though).
> Until it is, contact me or Jimmy for a copy.
>
> Among other new things in the newest release is inclusion of ALL operators
> (some were missing previously), new (previously missing) keywords for the
> (Super)Gold Card and removal of the FOR...NEXT construct (as Next is not
> really the formal end of the looping mechanism, just a "jumper" like
> RETurn. These two have been moved to the "operators" section, thus
allowing
> for different colour that will attract your attention.

Id like a copy of the language file, please. Please include:

defproc/enddef
deffn/enddef
def proc/enddef
def fn/enddef
sel on/endsel
if/endif
rep/endrep
for/endfor
ret
rem

as these are all legal S*Basic shortcuts!

Source Edit is not wonderfully stable. Ive crashed it a couple of times
without even trying, and after that it wont as much as talk to me without
re-installing ;(

Per





Re: [ql-users] Dynamic arrays?

2003-07-13 Thread P Witte

Wolfgang Lenerz writes:

<>
> As an example, I have at least two assembler  toolkits of a total of 
> 17000 bytes (compiled) - I don't really know how many assembler 
> lines that makes. At least some fo the commands se vector $120 - 
> this is an easy way of returning several values tro Sbasic by one 
> command. Perhaps it would be easier to amend SMSQ/E in such 
> a way that, for Turbo programs, some special form of vector $120 is 
> used. I've submited this idea to George - let's see what he thinks of 
> the feasbility of htis. This would lift THE major obstacle to using 
> Turbo (for me, at least!)

..plus array slicing, of course
 
Per



Re: [ql-users] Dynamic arrays?

2003-07-08 Thread P Witte

Wolfgang writes:

> I wonder whether anybody out there has come across the same
> problem I have, (and has found a solution).

A few possible solutions, depending on how your program uses the arrays
between re-dimensioning, etc:

1) Dimension the array to the max youre ever going to need right from the
start. (This is analogous to your suggestion re the buffer problem we
discussed earlier ;) Ie
# Its fast but greedy.

2) Use "rubber arrays" as described in the Turbo manual.
# Slow, but not too bad on "QLs" with fast drives.

3) Take the re-DIMentioning ouside the sub-routine. However, like the
method you suggest by your example, this could be expensive in terms
of memory, as the old memory occupied by the the array is, I believe,
not released back into the common heap (at least not in Qdos) but remains
part of the Basic area. Dont know if Qlib knows how to free that memory
again either.
# Possibly wasteful.

4) Dont pass the array to the sub-routine as a parameter, but use the
array(s) globally. I was going to suggest using PARNAM$ here as a way of
determining which global array was to be re-dimensioned, but noticed there
is a bug in Smsq regarding this and PARSTR$. So use an extra parameter
instead:

def proc check_array(array$,count%,new_string_to_add$, which_array%)
local b%,temp_array$
  if count%

Re: [ql-users] QPC2 v3.11 & SMSQ&E v3.01

2003-07-04 Thread P Witte

Marcel writes:

> Announcement
> =-=-=-=-=-=-

Ive been playing around with the new QPC and Smsq/e for a couple of days
now, and I must say that Im very impressed! Marcel, Wolfgang and others have
done a splendid job. Bravo! guys, and many thanks!

I find it a bit sad that one of the biggest things to have hit the QL world
in recent times has barely caused a ripple on this list. Lets assure these
guys that they made the right choice in poring over their overheated
computers in darkend rooms for the benefit of their friends and fellow
nerds, instead of taking up fishing in the healthy fresh outdoors, or
pursuing wealth and glory in the material world!

I very much hope that we shall see some great new software that takes full
advantage of all the new treats weve now got! The problem is that there are
virtually no tools to make a programmer or user's life easier. We need tools
to help creating styles, to pick colours, to design sprites and menus, and
so on. Its going to be very difficult for casual programmers, such as me, to
produce new stuff or upgrade old stuff if we have to do all the hard work by
hand. I dont enjoy creating user-interfaces in a text editor!

There are some promising beginnings, as was pointed out in a recent QL
Toady. But it could take a very long time before some of these products
become generally useful to the average punter. If the same level of
collaboration could be achieved in developing or improving some of these
tools, as was the case with Smsq/e, we might really get somewhere.

This requires that programmers make clear what kind of help they need, and
that people take them up on it. Things like the translation of manuals,
reviews-cum-tutorials, sprites, add-ons, help, collaboration over standards,
etc could all be useful.

For those that feel they dont have anything to contribute, how about at the
very least registering the use of a product with the author, or making your
interest and appreciation clear, or even sending a donation, where this is
wanted?

C'mon guys! Weve all got things to do!

Per





Re: [ql-users] Is there a right way to detect if TK2 is installed.

2003-06-30 Thread P Witte

Jimmy MONTESINOS writes:

> I'm searching what is the right way to detect if TK2 is installed on
> a QL system.
>
> I need to make the difference between a TK2 loaded from ROM cartridge
> or LRESPR command too.
>
> If anyone know the superbasic code to check this out...

I dont know if there is an "official" way, or how secure this method is (but
no doubt you will hear the howls of disapproval if Im wrong ;) but you could
try something along these lines:

First check if a TK2 ROM is plugged in:

rom = 49152: rem $C000
if peek_l(rom) = '1257963522' then
rem $4AFB0001 is the ROM signature
rem You may get a bus error or some other
rem hysterics if nothing is plugged in. Dont know
rem how the various emulators will react..
rem OK with QL2K plug plugg
s$ = ""
for i = 1 to peek_w(rom + 10)
 s$ = s$ & chr$(peek(rom + 11 + i))
endfor i
if "Care / Qjump  Toolkit" instr s$ then
rem you can assume that TK2 is in ROM
else
rem Not in ROM, at least
rem Check whether TK2 is loaded
sv = 163840: rem $28000 sys vars
p = peek_l(sv + 172): rem $ac => PROGD
if p <> 0 then
rem you can assume that TK2 is RESPRed
endif,etc

Per



Re: [ql-users] Is there a right way to detect if TK2 is installed.

2003-06-29 Thread P Witte

Jimmy MONTESINOS writes:

> I'm searching what is the right way to detect if TK2 is installed on
> a QL system.
>
> I need to make the difference between a TK2 loaded from ROM cartridge
> or LRESPR command too.
>
> If anyone know the superbasic code to check this out...

I dont know if there is an "official" way, or how secure this method is (but
no doubt you will hear the howls of disapproval if Im wrong ;) but you could
try something along these lines:

First check if a TK2 ROM is plugged in:

rom = 49152: rem $C000
if peek_l(rom) = '1257963522' then
rem $4AFB0001 is the ROM signature
rem You may get a bus error or some other
rem hysterics if nothing is plugged in. Dont know
rem how the various emulators will react..
rem OK with QL2K plug plugg
s$ = ""
for i = 1 to peek_w(rom + 10)
 s$ = s$ & chr$(peek(rom + 11 + i))
endfor i
if "Care / Qjump  Toolkit" instr s$ then
rem you can assume that TK2 is in ROM
else
rem Not in ROM, at least
rem Check whether TK2 is loaded
sv = 163840: rem $28000 sys vars
p = peek_l(sv + 172): rem $ac => PROGD
if p <> 0 then
rem you can assume that TK2 is RESPRed
endif,etc

Per




Re: [ql-users] efficient buffer size

2003-06-24 Thread P Witte

Robert Newson writes:

<>
>   [If you're interested, I found egrep to be the fasted for the grepping I
do.]

I am interested. Was it you I corresponded with about a multi-file version
of grep? The current versions for the QL will only allow one file at a time
which makes it rather inefficient for scanning a whole directory or disk.

Per



Re: [ql-users] efficient buffer size

2003-06-23 Thread P Witte

Robert Newson writes:

<>
>   [If you're interested, I found egrep to be the fasted for the grepping I
do.]

I am interested. Was it you I corresponded with about a multi-file version
of grep? The current versions for the QL will only allow one file at a time
which makes it rather inefficient for scanning a whole directory or disk.

Per



Re: [ql-users] efficient buffer size

2003-06-22 Thread P Witte

Lau writes:

> > As far as I know, nothing my program does should be affected by the size
> > of the buffer, apart from filling it in the first place. So my findings
> > would seem to indicate that a buffer size of between 256 bytes! and 1k
are
> > optimal for this kind of thing. This is strange enough, considering that
> > iob.fmul is called more frequently the smaller the buffer. What
surprises
> > me is why were not seeing the benefits of iof.load in this (or at least
I
> > dont). Anyone got a theory?
> >
>
> I was watching this thread with interest. Maybe I should have commented
> earlier... that the results you have obtained are exactly what I was
> expecting.

Your explanation made reminded me that a considerable amount of buffering
is already going on (the hard disk, Windoze, and Smsq). iof.load is possibly
not much more efficient under those circumstances than iob.fmul. Compared
with the processing of the data going on, probably only a small proportion
of the time is spent on replenishing the data from storage.

<>
> Then there's caching... if you had enough memory, your test would
> produce some curious results... whichever buffer size you ran first
> would seem to be rather slow compared to the rest. As you ran your tests
> on your hard disk, the caching effect doesn't come into it, but I
> thought I'd mention it.

That was the significance of

2^n  size   no.  s remarks
--- - - --- ---
 x:   xxx   xxx  xx Primer run
 ;)

> Finally, it all depends on how fast your processor and hard disk are.
> These days, processors tend to have a lot of cycles available per byte
> transferred from(to) disk. That's the reason why compressed hard disk
> partitions are actually *faster* to handle that uncompressed. The
> processor has lots of spare time on its hands to perform the
> (de)compression. Overall time to process a file becomes tied mainly to
> the raw disk access time to get all the data on/off the disk. A
> compressed file occupies about half the physical space, so can be
> handled in handled in half the overall time.

But I thought that PIO mode hard disks, the current norm, actually pushed
the data into memory with barely any intervention from the CPU. In that case
there would be some reduction in overall responsiveness if the CPU was busy
uncompressing data as opposed to having it readily available?

> Back to my earlier mention of caching... hard drives and their
> controllers do caching as well. I'm not certain if they do read-ahead
> caching.
>
> In summary, I believe your results are just giving the shear time it
> takes the drive to spin on its axis tracks * cylinders * interleave
> times, and have very little to do with any CPU processing.
>
> Answer to your original question: "How big a buffer should I use?"...
> one byte?

Hehe, youre probably right, though I think I'll rely on my test results in
this particular case. I suppose my real question was whether there is some
"sweet" buffer size pertaining to Qdos/Smsq, that minimises fiddly
edge conditions and the like. Just like the mc68 processor prefers to work
with words and long words rather than bytes and bits, is there a "word size"
for the file system? Even though it wont make much difference, I like to
know that everything is ticking over as efficiently as possible.

Per





Re: [ql-users] efficient buffer size

2003-06-21 Thread P Witte

Wolfgang Lenerz writes:

> I'd still simply grab just as much memory I can use.
> If speed is of the essence, as you said in your requirements, then
> the user will probably also know to let the machine alone (tell him!)
> and not have too many other progs trying to get memory at the
> same time. If notn, then speed is not that essential, after all.
>
> So I'd still go for as much memory as I can get and read in the
> entire file.
>
> If that can't be done (not enough space):
>
> Ultimately, it will then be the read operations that slow everything
> down.
>
> Now, considering that iob.fmul & fstrg use D2 to indicate how many
> bytes they should get, and since D2 only can be word sized, you
> can, at most, read $f bytes in one go.
>
> If nothing else, I'd use that as my buffer size

... in which case youd be in serious trouble.. ;)

Actually, it isnt quite that straightforward. I ran a program that scans
files (and does unspeakable things to them, but that is of no concern
here). It works like this: If the whole file fits in the buffer then the
whole file is loaded (using iof.load), otherwise chunks to the size of the
available buffer are loaded piece by piece, (using iob.fmul) until the
whole file has been processed.

I ran this program for every file on the hard disk, using increasing
buffer sizes. The table below shows how I fared:


2^n  size   no.  s remarks
--- - - --- ---
 x:   xxx   xxx  xx Primer run
 7:   128   282  81
 8:   256   543  79
 9:   512   722  80
10:  1024   769  79
11:  2048  1063  80
12:  4096   977  82
13:  8192   620  85
14: 16384   290  88
15: 32768   220  90 Actually 32766
16: 65536   233  ??
--- - - --- ---
   5719 Total files
--- - - --- ---


2^n  -  I only tried buffer sizes of this series. The numbers 7..16 are
the n.

size -  these are the buffer sizes tested.

no.  -  these, incidentally, are the number of files on the hard disk that
would fit entirly into a buffer of that size (plus all the smaller
ones), eg there are 1063 files larger than 1024b and <= 2048.
233 are larger than 65536b.

s-  is the number of seconds to scan all the files on the disk with
the given buffer size.

remark  iob.fmul does not accept sizes greater than $7FFF, so I reduced
the size to $7FFE to complete this experiment.

As far as I know, nothing my program does should be affected by the size
of the buffer, apart from filling it in the first place. So my findings
would seem to indicate that a buffer size of between 256 bytes! and 1k are
optimal for this kind of thing. This is strange enough, considering that
iob.fmul is called more frequently the smaller the buffer. What surprises
me is why were not seeing the benefits of iof.load in this (or at least I
dont). Anyone got a theory?

Per







Re: [ql-users] efficient buffer size

2003-06-20 Thread P Witte

Wolfgang writes:

> > A question: A program uses io.fstrg/iob.fmul to load files in
> > smaller chunks for scanning. The files could be of any size on
> > any media (first of all hard disks). What, theoretically, is the
> > smallest efficient buffer size to use? (Im thinking *speed* here.)
> > Eg 512 bytes, as a whole sector can be loaded in at once? Or
> > allocation unit size? Or any arbitrary size that best suits my
> > program?
>
> If you're thinking "speed", then the larger the buffer, the
> better - reading the data in small chunks will always cost more
> time. If at all possible use a buffer for the entire file & (scatter)
> read it in.

Yes, that is understood. It is in situations where the whole file cannot be
read at once, Im thinking about. (Besides, on a multitasking machine it is
probably not very polite to grab huge buffers ;)

> "Sector" (512 bytes) sized buffers don't make that much sense
> IMHO, since the file data doesn't occupy the whole of the first
> sector (there's the file header), so reading the first 512 bytes from
> a file will read from 2 separate sectors.

This brings us to the heart of the question: What would be a sensible size?
First one block of 512-64b and then subsequent blocks of 512 bytes (or
multiples thereof)?

Per







[ql-users] efficient buffer size

2003-06-19 Thread P Witte

A question: A program uses io.fstrg/iob.fmul to load files in smaller chunks
for scanning. The files could be of any size on any media (first of all hard
disks). What, theoretically, is the smallest efficient buffer size to use?
(Im thinking *speed* here.) Eg 512 bytes, as a whole sector can be loaded in
at once? Or allocation unit size? Or any arbitrary size that best suits my
program?

TIA

Per








Re: [ql-users] is minus one = -1?

2003-06-16 Thread P Witte

Darren.Branagh writes:

> I just spelt 'remember' wrongly TWICE in that email. I'm getting old.

My spellings gone down the drain, too (in three languages) I started
spelling remeber just like you, so now I keep a lookout for that word (among
others) and usually catch it. Old age, you think? Whats next! Incontinence?
Floppy dikss? (phew, back OT!)

Per





Re: [ql-users] is minus one = -1?

2003-06-11 Thread P Witte

Lau writes:

> Tony Firshman wrote:
> >
> > On  Tue, 10 Jun 2003 at 00:43:13, Lau wrote:
> > (ref: <[EMAIL PROTECTED]>)
> >
> >>
> >> Marcel Kilgus wrote:
> >>
> >>> The history is documented here
> >>> http://www.cs.berkeley.edu/~wkahan/ieee754status/754story.html
> >
> > Can someone please define "Gradual Underflow".
> > That was the core issue being addressed.
> > (don't if I have simply missed it in this thread)
> > Pity Lau wasn't involved.

Working in the care "industry" I thought Id heard it all, but this sounds
scary:
"One used traps, one trap to catch results that underflowed and denormalize
them to produce subnormal numbers, and another trap to catch subnormal
operands and prenormalize them." If numbers have rights someone ought to
go after these guys.

Per






Re: [ql-users] is minus one = -1?

2003-06-09 Thread P Witte


TonyTebby writes:

> The 68xxx series is 16 bit word oriented (even on the 68008 8 bit bus
> version) so a whole word exponent makes sense.
> But, by using only 12 bits for the exponent (enough for astonomical
> callculations) the 4 MSBs can be used as the "floating point number token"
> flag without needing to use an extra word in to flag a floating point
> number - a 25% space saving for almost no cost.
> At the time, "mass storage" was of the order of 100 kbytes, not the 100
> Gbyte today.

That makes goods sense. But (my apologies to all those for whom it is as
obvious as an elephant in the living room) with a 12 bit exponent, how come
the range is only +/-617? Ie, why isnt it +/-$800 ?

> > It allows all operations on the exponent to be done with unsigned
> > arithmetic, which saves some brain work when implementing the stuff.
> >
>
> Saving brainwork also means saving time and cost
>
> > It gives an easy test for a "magic" value of zero exponent, which is
> > handy for the "special" cases. If is were not biased, you would have to
> > use a value like "0x8000", which would become messy.
> >
>
> A floating point value = 0.0 is 6 bytes of zero - not just neat but
> economical

In practise Qdos seems to interpret $xxx : $ as zero, in other words
there are 4096 different ways of saying nothing. That may be neat but hardly
economical ;)

Per




Re: [ql-users] is minus one = -1?

2003-06-08 Thread P Witte

Lau writes:

> P Witte wrote:
> > While were talking fp, can someone please explain what the purpose of
the
> > $81f bias (or whatever the technical term) is? Why not just represent
> > exponents as +/-32k ?
> >
> > Per
> >
> >
>
> It's a bit "historic", I suspect.
>
> It allows all operations on the exponent to be done with unsigned
> arithmetic, which saves some brain work when implementing the stuff.
>
> It gives an easy test for a "magic" value of zero exponent, which is
> handy for the "special" cases. If is were not biased, you would have to
> use a value like "0x8000", which would become messy.
>
> The specific bias varies, but to some extent is one that preserves a
> balance of mantissa precision for maximum and minimum absolute values.
> It is generally just one off what you'd expect.
>
> Note that, with the IEEE format, operations on both exponent and
> mantissa are unsigned (as it uses a separate flag to indicate
> positive/negative value). The QDOS implementation is somewhat of a
> hybrid, as it uses signed arithmetic for the mantissa. I suspect
> Sinclair adopted that format to make the code a fraction quicker. By
> doing so (instead of using the "concealed leading bit"), you lose one
> bit of precision (and introduce the "invalid representation" problems),
> but you can write shorter, more straightforward software code. The IEEE
> format is expected to be done by harware, which can happily
> "re-manifest" the concealed leading bit of the fly. I'm waffling a bit
> here... but if QL used a concealed leading one on a 32-bit mantissa, it
> would have to do 33-bit arithmetic all the time.
>
> PS. Just as an aside, I cut my teeth on IBM System/360 floating point,
> which used a hexadecimal exponent! Very ragged precision - not a good
> idea at all!

Thanks for the explanation.

Per



Re: [ql-users] is minus one = -1?

2003-06-08 Thread P Witte

Lau writes:

> P Witte wrote:
> > While were talking fp, can someone please explain what the purpose of
the
> > $81f bias (or whatever the technical term) is? Why not just represent
> > exponents as +/-32k ?
> >
> > Per
> >
> >
>
> It's a bit "historic", I suspect.
>
> It allows all operations on the exponent to be done with unsigned
> arithmetic, which saves some brain work when implementing the stuff.
>
> It gives an easy test for a "magic" value of zero exponent, which is
> handy for the "special" cases. If is were not biased, you would have to
> use a value like "0x8000", which would become messy.
>
> The specific bias varies, but to some extent is one that preserves a
> balance of mantissa precision for maximum and minimum absolute values.
> It is generally just one off what you'd expect.
>
> Note that, with the IEEE format, operations on both exponent and
> mantissa are unsigned (as it uses a separate flag to indicate
> positive/negative value). The QDOS implementation is somewhat of a
> hybrid, as it uses signed arithmetic for the mantissa. I suspect
> Sinclair adopted that format to make the code a fraction quicker. By
> doing so (instead of using the "concealed leading bit"), you lose one
> bit of precision (and introduce the "invalid representation" problems),
> but you can write shorter, more straightforward software code. The IEEE
> format is expected to be done by harware, which can happily
> "re-manifest" the concealed leading bit of the fly. I'm waffling a bit
> here... but if QL used a concealed leading one on a 32-bit mantissa, it
> would have to do 33-bit arithmetic all the time.
>
> PS. Just as an aside, I cut my teeth on IBM System/360 floating point,
> which used a hexadecimal exponent! Very ragged precision - not a good
> idea at all!

Thanks for the explanation. (I may have to come back to this ;)

Per





Re: [ql-users] is minus one = -1?

2003-06-07 Thread P Witte

While were talking fp, can someone please explain what the purpose of the 
$81f bias (or whatever the technical term) is? Why not just represent 
exponents as +/-32k ?

Per






Re: [ql-users] is minus one = -1?

2003-06-06 Thread P Witte

Marcel Kilgus writes:

<>
> BTW, I've read that Quanta published some IEEE<->QDOS FP conversion
> routines in the past (might have been quite some time ago). Does
> anybody remember this and can scan me a copy?

I scanned through my pile of Quanta magazines, but no luck. Perhaps it could
have been during the year or two I was a lapsed member (96-98?) Some issues
also were missing. Also checked the QL-User/World index. Sorry, cant help.
(BTW: In my version of the QLindex, Quanta is only listed up to V6/I9. Did
anyone ever continue updating it?)

> In a somewhat related story, exactly that piece of code we're talking
> about once helped Connectix (recently bought by Microsoft) to fix a
> bug they were experiencing in their VirtualPC for Mac emulator. In
> fact my code didn't work at all on their software but after sending
> them a heavily cut down version (about 50 lines in total) they were
> able to solve the problem right away (a very small number was wrongly
> rounded to infinite by their FPU emulation). Still waiting for my
> cheque in the mail, though ;-)

M$ only ever pay one Bill, it seems.

Per




Re: [ql-users] is minus one = -1?

2003-06-04 Thread P Witte

Robert Newson writes:

> Does it happen on all negative exact powers of 2, ie:
>
> -(2^x) <> -(2^x) + 0
>
> for x = 0, 1, 2, 3, ... (ie -1, -2, -4, -8, -16, etc)?

Youre right. Take the program:

for i=0 to 16:print i!-i=(-i+0)

The results are:

Smsq/e 3.00 Qdos JM/JS/Minerva 1.98
0 1  0 1
1 0  1 1
2 0  2 1
3 1  3 1
4 0  4 1
5 1  5 1
6 1  6 1
7 1  7 1
8 0  8 1
etc

>  > Is this a bug?
>
> Naa, just a feature...

It does mean that unless one takes suitable care, programs will not behave
the same on different machines.

> I'm no fp expert (fp dummy is probably the best description), but is it a
> normalisation bug (based on -8 failing, but -9 working)?  [In my very
> limited experience of fp I vaguely remember that the mantissa should be
> normalised so that a one is implied to the left of it, and the exponent is
> offset - so that zero is recognised by (mantissa =) exponent = 0.  Thus,
> exact powers of 2 should have a zero mantissa - excepting sign bit?]

Thats right, so the result of the addition -1+0 does, for some reason not
get normalised in Smsq.

Per





Re: [ql-users] is minus one = -1?

2003-06-04 Thread P Witte

Marcel Kilgus writes:

> > In internal format, Exponent . Mantissa:
>
> > -1= $800 . $C000
> > -1 + 0  = $801 . $8000
>
> > which can be a flaming nuisance!
>
> You got the mantissas and exponents mixed up, $800 $8000 is "-1"
> and $801 $C000 is "-1" but not your two. As Robert wrote this is a

Just checking whether everyone was paying attention. You obviously were ;)

> question of normalisation, however, QDOS FP values don't have the
> implied "1." he mentions (this is for example found in the IEEE
> standard, except the 80bit one which is a bit special in this
> respect). As far as I know normalisation is not required for QDOS FP
> values.

A "bit" special, eh. Nice pun.

<>
> Example: Epsilon = 0.1
>  IF (a - b) < Epsilon THEN PRINT "They are equal".
>
> In SuperBasic I believe this technique is already implied when using
> the "=" operator. But you cannot just compare the bytes of the two

The S*Basic "==" (double equals) works in this case.

> values (e.g. in assembler) because of the different representations a
> value can have (there's some rounding going on almost every time one
> uses FP).

So that means a hefty re-write of my old assembler float comparison
routine ;(  And anyone using SNG's diy stuff, based on the same
assumptions, is in for a surprise too. I just checked.)

> > Is this a bug?
>
> Point of view, I'd say no. The original SMSQ/E routines give the same
> result for both -1 and -1+0, it's the PC FPU (or the IEEE->QDOS
> translation) that gives something different on QPC. I could probably
> do some normalisation, which could solve your problem in THIS case,
> but other than that...

Bug or no bug, it is a compatibility issue, and one that may trash existing
programs. Are there any other likely pitfalls?

Thanks for your comprehensive reply!

Per






[ql-users] is minus one = -1?

2003-06-03 Thread P Witte

A question to my learned friends:

In Smsq -1 <> (-1 + 0)

In internal format, Exponent . Mantissa:

-1= $800 . $C000
-1 + 0  = $801 . $8000 

which can be a flaming nuisance!

However,

-1 == (-1 + 0)

which is some relief!

This behaviour appears to apply to all (small?) negative numbers, thus

-8 <> -8 + 0 but

-9 = -9 + 0 !

Is this a bug?

Per



Re: [ql-users] Minerva

2003-04-05 Thread P Witte

Lau writes:

> Well, I've finally got around to it.
> 
> It's not perfect (as I've had a bit of trouble...).
> 
> See the (very out-of-date) web site.

Bravo! Ive been looking forward for a long time now.. Thanks a lot!

FYI the gzip version unzips without problems on the QL side. 

You seem to have forgotten the inc directory; the files 

win1_m_inc_assert
win1_m_inc_bv
win1_m_inc_choff
win1_m_inc_delay
win1_m_inc_err
win1_m_inc_gw
win1_m_inc_hp
win1_m_inc_io
win1_m_inc_jb
win1_m_inc_mc
win1_m_inc_md
win1_m_inc_pc
win1_m_inc_ri
win1_m_inc_sd
win1_m_inc_sv
win1_m_inc_token
win1_m_inc_vect4000

are missing.

Per




Re: [ql-users] News

2003-04-03 Thread P Witte


Norman writes:

> I'm puzzled - why did it become an embarrasment then ?

I dont particularly want to advertise the sorry details, if you dont mind
;)

> It worked for me !!

Im happy to hear it.

Per






Re: [ql-users] News

2003-04-02 Thread P Witte

Norman writes:

<>
> >> Another minor project Ive been working on recently is fixing and
updating
> >> my asm2htm utility (big yawn, everyone!)
> No big yawns from me - I thought that it was a great little utility - and
> then it vanished !

Ah yes. Good old user no. #3 of 4, I seem to recall. To tell you the
truth, it became an embarrassment and so was withdrawn for the benfit of the
ql-ing public and my own reputation.

> >> Personally, I think the output is impressive. Whether anyone apart
> >> from me finds it useful is another question.
> I'll find it useful - when I get time to that is !

Im sure all of us on this list meditate over a few lines of the Smsq sources
before bed. This should make it easier.

Per




Re: [ql-users] News

2003-03-31 Thread P Witte

Dilwyn writes:

> I usually only put news of my freeware stuff here for fear of being
> seen as advertising.

I dont particularly want to see pure adverts on this list, but I certainly
wouldnt mind being informed of updates, changes (to products or services),
or new creations, whether commercial or not. I also wouldnt mind information
on what a product does in cases where developers or traders feel that they
cannot fit this in a normal advert, provided it is balanced, designed to
enlighten rather than obfuscate and manipulate, and is not merely an endless
reptition of what we have heard before. I think our poor traders are far too
reticent here. What do others think?

 Per




Re: [ql-users] News

2003-03-31 Thread P Witte

Dilwyn writes:

> > I have long been wanting to have some sort of "home directory"
> facility in
> > Smsq, ie a way for programs to "know" which (sub)directory they were
> > executed from, so that they could easily find any associated
> resource files,
> > eg configuration files, help files, saved settings, and the like,
> without
> > any further user input or configuration.
> >
> I totally agree - this is needed. The simplest way to apprach it would
> be to change the O.S. code to execute files which then places the
> execute source in a system or environment variable or perhaps in part
> of the job header code, though this might make the job self-modifying.
> What I;m getting at is that as the program is executed, the EXEC code
> (at OS level, not BASIC of course) stores the execution drive/dir name
> in somewhere where the job can access it, as it would potentially be
> different for each job of course.

The current plan is to reserve additional dataspace when the job is executed
and insert the home directory there, at least for normal jobs. Im hoping
that this will also work for compiled jobs without any problems. For SBasics
I thought of employing a similar scheme to that used by JOB_NAME to store
the directory, but I havent investigated this thoroughly yet. In this case
the home directory
would be that of the last program file loaded, using a copy of PROGD$ as a
default. As you see, it  could get rather involved if I go the whole hog,
and this is why it will take some time.

Coming as I do from the kilobyte school of computing Im rather parsimonous
regarding memory usage. Since the current plan uses up 44 bytes of overhead
for each job (a two-byte marker plus device name plus the max length
directory qstring) Ive been trying to figure out a way to conserve memory in
cases where no home directory is wanted. One problem here is that I have no
control over how compiled executables use their dataspace. Any ideas anyone?

Per






[ql-users] News

2003-03-29 Thread P Witte

Hi all,

This recent spat of silences is really off-topic, imho. About time we got
the show back on the road. At least here, in this tiny corner of unreality,
our thoughts and opinions matter and can make a difference. So why not put
morbid thoughts aside and share with us the very latest developments in the
weird, wizzo world of QL computing? Eg: Whats the latest on QPC? on SMSQ/E
v3? EasyPtr? High precision maths? SOQL/PPP? Membranes? Q60? the Branagh
succession? etc, etc..

Due to my present job I get far too little time to do much development
myself. I hope this situation will change over time. Even so, I manage to
produce a little something here and tweak a little something there, not much
of which will interest anybody apart from myself. But since I go to such
lengths and stick my neck out to exhort everyone else, I think I should, in
all fairness, make some mention of my own recent activities:

I have long been wanting to have some sort of "home directory" facility in
Smsq, ie a way for programs to "know" which (sub)directory they were
executed from, so that they could easily find any associated resource files,
eg configuration files, help files, saved settings, and the like, without
any further user input or configuration. It is not quite straightforward to
do as there is no single system utility to execute files, and there are also
a number of special cases that have to be considered, eg plain Basic or
compiled Basic versus normal executables. Id want to have them all work in a
similar, "intuitive" way. At present Im trying to get my head wrapped around
the Smsq source code relating to all this and to work out a scheme that will
satisfy my goals without compromising compatibility and without wasting
resources unneccessarily. I dont have a completion date in mind, and it may
never work to my (or anyone else's) satisfaction, so dont hold your breath.

Another minor project Ive been working on recently is fixing and updating my
asm2htm utility (big yawn, everyone!) with a view to enabling it to html-ise
the Smsq sources for easy, logical browsing, as an aid to understanding the
code  - for novice and expert alike. This is now just about complete. I have
no intention of re-releasing this program at the present time as that would
just be too much trouble for the amount of interest there is in it. However,
I hope to produce a html-ised version of the latest version of Smsq, to be
included with the next distribution CD, viewable in most modern
Windoze/Linux/Mac browsers. As asm2htm now supports style sheets, and also
differentiates more elements of the code than previous versions, it should
be simple enough for the punter to modify the appearance according to taste
and need. Personally, I think the output is impressive. Whether anyone apart
from me finds it useful is another question.

So you see, Im not all mouth and no fingers, I hope you agree. Thats
basically all from me for now. Over to you.

Per





Re: [ql-users] Sbasic and numbers

2003-03-16 Thread P Witte

TonyTebby writes:

<>
> No need for fancy modifications - the SBASIC arithmetic routines already
> check the types of the variables involved in calculations and do different
> operations for integers and floats. All you need to do is detect
> string{+-*/}string and do string arithmetic with string result instead of
> float. Lau Has a really dinky routine for doing square root in the same
> number of operations as divide and other more complex functions can be
left
> for later.
>
> A$ = "123456789.01" - "123456789"
>
> would give A$ = ".01" - IEEE double precision will never give
> you that result - it would be quicker, but wrong. Do you want it quick or
> right?
>
> The only "parameterisation" required is setting the maximum precision for
> inexact operations (divide, square root, non positive integer powers and
> trig)

Good one! The same would presumably apply to any scheme devised to do the
maths, ie you could just as well use IEEE fp, eg

result$ = "s.s" - "s.s"

if you see what I mean. In fact you could probably cater for both string
arithmetic and IEEE by, for example,  prefixing a marker to the IEEE
numbers.

The only disadvantage with this approach is that it would break a
fundamental compatibility with Qdos. Perhaps that doesnt matter?

> Isn't it great being able to think up work for other people to do - I am
> enjoying myself!

Welcome to the club!

Per





Re: [ql-users] Sbasic and numbers

2003-03-16 Thread P Witte

Lau writes:

> By way of a complete diversion, I did produce a *very* high precision
> package for the QL. All in assembler, very optimised, and/but requiring
> the precision (in multiples of 16 bit) to be stated in advance (anything
> from 64 bit up to a ludicrous number of digits). Not IEEE, but close,
> and easily converted. It took the form of a library that operated on a
> stack (very similarly to the QL's FP stack and its operations) and a
> front end to that.

Oh to have a peek!

> I later converted the whole thing to Delphi, allowing up to 315,643
> digit precision, which you can find on my web site. Converting the
> Pascal to C wouldn't be a huge task, and I might just do that anyway.

I saw your Ecalc. It looks great! Im rather disappointed that it doesnt
handle googolplexes, but then, one cant have everything I suppose ;)

During development of my high precision (80 bit) fp package, the idea was to
implement an RPN calculator Thing (I wasnt aware of Things at the time
(86/87) but it was to have been implemented as a general system resource)
based on the HP41 programmable calculator/computer. All calculations
internal to the package would use it directly, and it was to be accessable
from Basic (and any other language, including assembler). Of course the
dream was ultimately to resurect and enhance my much beloved HP41CX, ie to
have a simple programmable interface that would manipulate the stack and the
rest of the calculator environment natively, but Ive had to shift all that
on to my retirement todo list. (Mind you, dont expect any gamma function or
FFT multiplication, as I dont even know what they are ;)

> The reason I mention it is that it gets to be very inefficient doing
> every operation as a separate *BASIC call - the call overhead itself
> will be as great as the computation time (for precisions less that about
> 256 bit, IIRC).
>
> Certainly it's a bad idea to convert to/from decimal! That typically
> takes longer than the calculation itself.

Agreed. That is why it is more sensible to store the numbers in strings in
their internal format. Since C handles types differently to S*Basic, I
thought it a good idea to hitch the type to the number format, thus saving
time on validation, etc, and to allow a more S*Basic-like feel to coercion
within the package.

Per




  1   2   3   >