Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.acorn.programmer > #6339 > unrolled thread

Problem returning from WGET from within an assembler prog

Started byBob Latham <bob@sick-of-spam.invalid>
First post2022-04-08 12:07 +0100
Last post2022-04-08 20:07 +0100
Articles 20 on this page of 21 — 8 participants

Back to article view | Back to comp.sys.acorn.programmer


Contents

  Problem returning from WGET from within an assembler prog Bob Latham <bob@sick-of-spam.invalid> - 2022-04-08 12:07 +0100
    Re:Problem returning from WGET from within an assembler prog Steve Drain <steve@kappa.me.uk> - 2022-04-08 13:08 +0100
      Re: Problem returning from WGET from within an assembler prog Bob Latham <bob@sick-of-spam.invalid> - 2022-04-08 17:33 +0100
        Re: Problem returning from WGET from within an assembler prog Harriet Bazley <harriet@bazleyfamily.co.uk> - 2022-04-08 18:07 +0100
          Re: Problem returning from WGET from within an assembler prog Bob Latham <bob@sick-of-spam.invalid> - 2022-04-08 20:05 +0100
          Re: Problem returning from WGET from within an assembler prog Bob Latham <bob@sick-of-spam.invalid> - 2022-04-09 12:15 +0100
            Re: Problem returning from WGET from within an assembler prog Steve Fryatt <news@stevefryatt.org.uk> - 2022-04-09 14:10 +0100
              Re: Problem returning from WGET from within an assembler prog Bob Latham <bob@sick-of-spam.invalid> - 2022-04-09 17:55 +0100
                Re: Problem returning from WGET from within an assembler prog Kevin Wells <kev@kevsoft.co.uk> - 2022-04-09 20:23 +0100
                  Re: Problem returning from WGET from within an assembler prog David Higton <dave@davehigton.me.uk> - 2022-04-09 22:29 +0100
                    Re: Problem returning from WGET from within an assembler prog Bob Latham <bob@sick-of-spam.invalid> - 2022-04-10 09:38 +0100
                  Re: Problem returning from WGET from within an assembler prog Bob Latham <bob@sick-of-spam.invalid> - 2022-04-10 09:36 +0100
                    Re: Problem returning from WGET from within an assembler prog Kevin Wells <kev@kevsoft.co.uk> - 2022-04-10 13:05 +0100
                      Re: Problem returning from WGET from within an assembler prog Kevin Wells <kev@kevsoft.co.uk> - 2022-04-11 18:09 +0100
                Re: Problem returning from WGET from within an assembler prog Harriet Bazley <harriet@bazleyfamily.co.uk> - 2022-04-10 13:01 +0100
                  Re: Problem returning from WGET from within an assembler prog Bob Latham <bob@sick-of-spam.invalid> - 2022-04-10 13:36 +0100
                  Re: Problem returning from WGET from within an assembler prog druck <news@druck.org.uk> - 2022-04-11 13:59 +0100
            Re: Problem returning from WGET from within an assembler prog Theo <theom+news@chiark.greenend.org.uk> - 2022-04-09 14:15 +0100
              Re: Problem returning from WGET from within an assembler prog Bob Latham <bob@sick-of-spam.invalid> - 2022-04-09 17:56 +0100
        Re: Problem returning from WGET from within an assembler prog Steve Fryatt <news@stevefryatt.org.uk> - 2022-04-08 19:15 +0100
          Re: Problem returning from WGET from within an assembler prog Bob Latham <bob@sick-of-spam.invalid> - 2022-04-08 20:07 +0100

Page 1 of 2  [1] 2  Next page →


#6339 — Problem returning from WGET from within an assembler prog

FromBob Latham <bob@sick-of-spam.invalid>
Date2022-04-08 12:07 +0100
SubjectProblem returning from WGET from within an assembler prog
Message-ID<59d5e28a96bob@sick-of-spam.invalid>
Hi,

I've written a program that works as two separate chunks but I cannot
find a way to add the chunks together.

My little program (assembler and not wimp) firstly uses WGET to down
load a file from the interweb. This is done in a subroutine where SWI
"OS_CLI" R0 points at a string with WGET in it and the file downloads
no problem. When it returns from the subroutine, the program then
*should* use the downloaded data to produce another angle on the data.

The two parts work fine apart but I can't join them together. It's
that the cpu isn't returning from the subroutine in the way I
expected and seems determined to stop the whole thing with "press
space bar" etc. it will not carry on with my program. 

I know there is something I'm not understanding here, could someone
enlighten me please.

Thanks.

Bob.

[toc] | [next] | [standalone]


#6340

FromSteve Drain <steve@kappa.me.uk>
Date2022-04-08 13:08 +0100
Message-ID<t2p8ka$1db3$1@gioia.aioe.org>
In reply to#6339
Bob Latham <bob@sick-of-spam.invalid> Wrote in message:r
> Hi,I've written a program that works as two separate chunks but I cannotfind a way to add the chunks together.My little program (assembler and not wimp) firstly uses WGET to download a file from the interweb. This is done in a subroutine where SWI"OS_CLI" R0 points at a string with WGET in it and the file downloadsno problem. When it returns from the subroutine, the program then*should* use the downloaded data to produce another angle on the data.The two parts work fine apart but I can't join them together. It'sthat the cpu isn't returning from the subroutine in the way Iexpected and seems determined to stop the whole thing with "pressspace bar" etc. it will not carry on with my program. I know there is something I'm not understanding here, could someoneenlighten me please.Thanks.Bob.

I woud guess Wimp_StartTask rather OS_CLI to avoid overwriting
 your application space.


----Android NewsGroup Reader----
https://piaohong.s3-us-west-2.amazonaws.com/usenet/index.html

[toc] | [prev] | [next] | [standalone]


#6341

FromBob Latham <bob@sick-of-spam.invalid>
Date2022-04-08 17:33 +0100
Message-ID<59d600739fbob@sick-of-spam.invalid>
In reply to#6340
In article <t2p8ka$1db3$1@gioia.aioe.org>,
   Steve Drain <steve@kappa.me.uk> wrote:

> I woud guess Wimp_StartTask rather OS_CLI to avoid overwriting
>  your application space.

Thanks Steve. That gives me something to read up about.

I don't understand what overwrites the application space though. 


Bob.

[toc] | [prev] | [next] | [standalone]


#6342

FromHarriet Bazley <harriet@bazleyfamily.co.uk>
Date2022-04-08 18:07 +0100
Message-ID<6a8503d659.harriet@bazleyfamily.co.uk>
In reply to#6341
On 8 Apr 2022 as I do recall,
          Bob Latham  wrote:

> In article <t2p8ka$1db3$1@gioia.aioe.org>,
>    Steve Drain <steve@kappa.me.uk> wrote:
> 
> > I woud guess Wimp_StartTask rather OS_CLI to avoid overwriting
> >  your application space.
> 
> Thanks Steve. That gives me something to read up about.
> 
> I don't understand what overwrites the application space though. 

As I understand it, when you use OSCLI to start a new application
directly then control never returns to the original program - you are
executing the equivalent of a GOTO rather than a PROC.

(Unless, apparently, you have a 'quit handler':
http://www.verycomputer.com/24_f48d3602910d170e_1.htm )

Wimp_StartTask launches it as an independent task with its own Wimpslot,
etc (although it also means that your program won't wait for this new
task to return before continuing on with its own next instruction - and
in the case of a wget command, I imagine that the result might
potentially take quite a while).

-- 
Harriet Bazley                     ==  Loyaulte me lie ==

Abstinence makes the heart grow fonder.

[toc] | [prev] | [next] | [standalone]


#6345

FromBob Latham <bob@sick-of-spam.invalid>
Date2022-04-08 20:05 +0100
Message-ID<59d60e593dbob@sick-of-spam.invalid>
In reply to#6342
In article <6a8503d659.harriet@bazleyfamily.co.uk>,
   Harriet Bazley <harriet@bazleyfamily.co.uk> wrote:


> As I understand it, when you use OSCLI to start a new application
> directly then control never returns to the original program - you
> are executing the equivalent of a GOTO rather than a PROC.

> (Unless, apparently, you have a 'quit handler':
> http://www.verycomputer.com/24_f48d3602910d170e_1.htm )

> Wimp_StartTask launches it as an independent task with its own
> Wimpslot, etc (although it also means that your program won't wait
> for this new task to return before continuing on with its own next
> instruction - and in the case of a wget command, I imagine that the
> result might potentially take quite a while).

Thanks for that. I really have got something to chew on now.

Cheers,

Bob.

[toc] | [prev] | [next] | [standalone]


#6346

FromBob Latham <bob@sick-of-spam.invalid>
Date2022-04-09 12:15 +0100
Message-ID<59d6672366bob@sick-of-spam.invalid>
In reply to#6342
In article <6a8503d659.harriet@bazleyfamily.co.uk>,
   Harriet Bazley <harriet@bazleyfamily.co.uk> wrote:

> Wimp_StartTask launches it as an independent task with its own
> Wimpslot, etc (although it also means that your program won't wait
> for this new task to return before continuing on with its own next
> instruction - and in the case of a wget command, I imagine that the
> result might potentially take quite a while).

Naively I tried this with fingers crossed.

I get an error..

'Invalid Wimp operation in this context.'


Clearly this is way beyond my understanding.

Bob.

[toc] | [prev] | [next] | [standalone]


#6347

FromSteve Fryatt <news@stevefryatt.org.uk>
Date2022-04-09 14:10 +0100
Message-ID<mpro.ra2pxr01s2b8u07k5.news@stevefryatt.org.uk>
In reply to#6346
On 9 Apr, Bob Latham wrote in message
    <59d6672366bob@sick-of-spam.invalid>:

> 'Invalid Wimp operation in this context.'

Ah. Wimp_StartTask must be called from a Wimp application which is already
calling Wimp_Poll.

I think your options are either to look at the Arthur way of doing stuff
(fiddle with the environment and shift things around in memory) or do
without WGet.

If you're using RISC OS 5, could you use the built-in HTTP fetcher? As a
module called by SWIs, that might run as part of your application (I don't
know; I've not looked at how it works, so I'm not sure if it expects to be
called from a polling application or not). If so, that would sidestep the
problem of launching a separate task to do the fetching.

-- 
Steve Fryatt - Leeds, England

http://www.stevefryatt.org.uk/

[toc] | [prev] | [next] | [standalone]


#6349

FromBob Latham <bob@sick-of-spam.invalid>
Date2022-04-09 17:55 +0100
Message-ID<59d68649a5bob@sick-of-spam.invalid>
In reply to#6347
In article <mpro.ra2pxr01s2b8u07k5.news@stevefryatt.org.uk>,
   Steve Fryatt <news@stevefryatt.org.uk> wrote:
> On 9 Apr, Bob Latham wrote in message
>     <59d6672366bob@sick-of-spam.invalid>:

> > 'Invalid Wimp operation in this context.'

> Ah. Wimp_StartTask must be called from a Wimp application which is
> already calling Wimp_Poll.

> I think your options are either to look at the Arthur way of doing
> stuff (fiddle with the environment and shift things around in
> memory) or do without WGet.

> If you're using RISC OS 5, could you use the built-in HTTP fetcher?
> As a module called by SWIs, that might run as part of your
> application (I don't know; I've not looked at how it works, so I'm
> not sure if it expects to be called from a polling application or
> not). If so, that would sidestep the problem of launching a
> separate task to do the fetching.

Thanks Steve.

I did look into that but quickly realised this is beyond my baby
steps.

Must admit, it surprises me that fetching a file from the net is so
difficult to do.

Thanks again.

Bob.

[toc] | [prev] | [next] | [standalone]


#6351

FromKevin Wells <kev@kevsoft.co.uk>
Date2022-04-09 20:23 +0100
Message-ID<13d593d659.Kevin@Kevsoft>
In reply to#6349
In message <59d68649a5bob@sick-of-spam.invalid>
          Bob Latham <bob@sick-of-spam.invalid> wrote:

>In article <mpro.ra2pxr01s2b8u07k5.news@stevefryatt.org.uk>,
>   Steve Fryatt <news@stevefryatt.org.uk> wrote:
>> On 9 Apr, Bob Latham wrote in message
>>     <59d6672366bob@sick-of-spam.invalid>:
>
>> > 'Invalid Wimp operation in this context.'
>
>> Ah. Wimp_StartTask must be called from a Wimp application which is
>> already calling Wimp_Poll.
>
>> I think your options are either to look at the Arthur way of doing
>> stuff (fiddle with the environment and shift things around in
>> memory) or do without WGet.
>
>> If you're using RISC OS 5, could you use the built-in HTTP fetcher?
>> As a module called by SWIs, that might run as part of your
>> application (I don't know; I've not looked at how it works, so I'm
>> not sure if it expects to be called from a polling application or
>> not). If so, that would sidestep the problem of launching a
>> separate task to do the fetching.
>
>Thanks Steve.
>
>I did look into that but quickly realised this is beyond my baby
>steps.
>
>Must admit, it surprises me that fetching a file from the net is so
>difficult to do.

From BASIC wget is easy to fetch files from the internet I use the
followiong:

SYS "Wimp_StartTask", "wget ...

Whilst fetching the computer is single tasking,
>
>Thanks again.
>
>Bob.
>


-- 
Kev Wells
http://kevsoft.co.uk/  https://ko-fi.com/kevsoft
carpe cervisium
24 hours in a day and 24 beers in a case. Hmmm..

[toc] | [prev] | [next] | [standalone]


#6352

FromDavid Higton <dave@davehigton.me.uk>
Date2022-04-09 22:29 +0100
Message-ID<44569fd659.DaveMeUK@BeagleBoard-xM>
In reply to#6351
In message <13d593d659.Kevin@Kevsoft>
          Kevin Wells <kev@kevsoft.co.uk> wrote:

> In message <59d68649a5bob@sick-of-spam.invalid>
>          Bob Latham <bob@sick-of-spam.invalid> wrote:
> 
> > In article <mpro.ra2pxr01s2b8u07k5.news@stevefryatt.org.uk>,
> >   Steve Fryatt <news@stevefryatt.org.uk> wrote:
> > > On 9 Apr, Bob Latham wrote in message
> > >     <59d6672366bob@sick-of-spam.invalid>:
> > 
> > > > 'Invalid Wimp operation in this context.'
> > 
> > > Ah. Wimp_StartTask must be called from a Wimp application which is
> > > already calling Wimp_Poll.
> > 
> > > I think your options are either to look at the Arthur way of doing
> > > stuff (fiddle with the environment and shift things around in memory)
> > > or do without WGet.
> > 
> > > If you're using RISC OS 5, could you use the built-in HTTP fetcher? As
> > > a module called by SWIs, that might run as part of your application (I
> > > don't know; I've not looked at how it works, so I'm not sure if it
> > > expects to be called from a polling application or not). If so, that
> > > would sidestep the problem of launching a separate task to do the
> > > fetching.
> > 
> > Thanks Steve.
> > 
> > I did look into that but quickly realised this is beyond my baby steps.
> > 
> > Must admit, it surprises me that fetching a file from the net is so
> > difficult to do.
> 
> From BASIC wget is easy to fetch files from the internet I use the
> followiong:
> 
> SYS "Wimp_StartTask", "wget ...
> 
> Whilst fetching the computer is single tasking,

Similarly, my UpdCaCert app launches curl by means of Wimp_StartTask,
and the resukt single-tasks for a few seconds.

So it's not difficult, really, but you do need to know some important
bits of information.  One is that you can't do Wimp operations except
from a registered Wimp task; another is that, in most cases, you can't
just do *OSCLI for an app because the new app will wipe out the app that
launched it.

David

[toc] | [prev] | [next] | [standalone]


#6353

FromBob Latham <bob@sick-of-spam.invalid>
Date2022-04-10 09:38 +0100
Message-ID<59d6dca04abob@sick-of-spam.invalid>
In reply to#6352
In article <44569fd659.DaveMeUK@BeagleBoard-xM>,
   David Higton <dave@davehigton.me.uk> wrote:

> So it's not difficult, really, but you do need to know some
> important bits of information.  One is that you can't do Wimp
> operations except from a registered Wimp task; another is that, in
> most cases, you can't just do *OSCLI for an app because the new app
> will wipe out the app that launched it.

So I've learned painfully this week. :-)

Thanks.

Bob.

[toc] | [prev] | [next] | [standalone]


#6354

FromBob Latham <bob@sick-of-spam.invalid>
Date2022-04-10 09:36 +0100
Message-ID<59d6dc7625bob@sick-of-spam.invalid>
In reply to#6351
In article <13d593d659.Kevin@Kevsoft>,
   Kevin Wells <kev@kevsoft.co.uk> wrote:

> >In article <mpro.ra2pxr01s2b8u07k5.news@stevefryatt.org.uk>,
> >   Steve Fryatt <news@stevefryatt.org.uk> wrote:

> >> Ah. Wimp_StartTask must be called from a Wimp application which
> >> is already calling Wimp_Poll.

> From BASIC wget is easy to fetch files from the internet I use the
> followiong:

> SYS "Wimp_StartTask", "wget ...

> Whilst fetching the computer is single tasking,

When you say "Basic", I'm starting to think you mean a full wimp
application written in Basic?

Thanks.

Bob.

[toc] | [prev] | [next] | [standalone]


#6357

FromKevin Wells <kev@kevsoft.co.uk>
Date2022-04-10 13:05 +0100
Message-ID<ad97efd659.Kevin@Kevsoft>
In reply to#6354
In message <59d6dc7625bob@sick-of-spam.invalid>
          Bob Latham <bob@sick-of-spam.invalid> wrote:

>In article <13d593d659.Kevin@Kevsoft>,
>   Kevin Wells <kev@kevsoft.co.uk> wrote:
>
>> >In article <mpro.ra2pxr01s2b8u07k5.news@stevefryatt.org.uk>,
>> >   Steve Fryatt <news@stevefryatt.org.uk> wrote:
>
>> >> Ah. Wimp_StartTask must be called from a Wimp application which
>> >> is already calling Wimp_Poll.
>
>> From BASIC wget is easy to fetch files from the internet I use the
>> followiong:
>
>> SYS "Wimp_StartTask", "wget ...
>
>> Whilst fetching the computer is single tasking,
>
>When you say "Basic", I'm starting to think you mean a full wimp
>application written in Basic?

Yes under DR Wimp

Another method I used in my QrCode application is to create an Obey file
with just wget ... in it file typed as FEB so that I can have more than
256 characters in it. If going down that route then anything with a % in
it will need %%
>
>Thanks.
>
>Bob.
>


-- 
Kev Wells
http://kevsoft.co.uk/  https://ko-fi.com/kevsoft
carpe cervisium
O it's Tommy this, an' Tommy that, an' " Tommy, go away " ;

[toc] | [prev] | [next] | [standalone]


#6359

FromKevin Wells <kev@kevsoft.co.uk>
Date2022-04-11 18:09 +0100
Message-ID<d1328fd759.Kevin@Kevsoft>
In reply to#6357
In message <ad97efd659.Kevin@Kevsoft>
          Kevin Wells <kev@kevsoft.co.uk> wrote:

>In message <59d6dc7625bob@sick-of-spam.invalid>
>          Bob Latham <bob@sick-of-spam.invalid> wrote:
>
>>In article <13d593d659.Kevin@Kevsoft>,
>>   Kevin Wells <kev@kevsoft.co.uk> wrote:
>>
>>> >In article <mpro.ra2pxr01s2b8u07k5.news@stevefryatt.org.uk>,
>>> >   Steve Fryatt <news@stevefryatt.org.uk> wrote:
>>
>>> >> Ah. Wimp_StartTask must be called from a Wimp application which
>>> >> is already calling Wimp_Poll.
>>
>>> From BASIC wget is easy to fetch files from the internet I use the
>>> followiong:
>>
>>> SYS "Wimp_StartTask", "wget ...
>>
>>> Whilst fetching the computer is single tasking,
>>
>>When you say "Basic", I'm starting to think you mean a full wimp
>>application written in Basic?
>
>Yes under DR Wimp
>
>Another method I used in my QrCode application is to create an Obey file
>with just wget ... in it file typed as FEB so that I can have more than
>256 characters in it. If going down that route then anything with a % in
>it will need %%

After a few pints of insperation juice (beer) I think I have a plan for
multitaksing the the above.

There is an an obey file that returns to the computer very quickly I
can't remember which one at the top of my head.

So you select the logging switch to save the log info to file scrap
would be the best place, and in the polling loop check to see if that
file is there and when it is carry on.
>>
>>Thanks.
>>
>>Bob.
>>
>
>


-- 
Kev Wells
http://kevsoft.co.uk/  https://ko-fi.com/kevsoft
carpe cervisium
Bring me my bow of burning gold!

[toc] | [prev] | [next] | [standalone]


#6355

FromHarriet Bazley <harriet@bazleyfamily.co.uk>
Date2022-04-10 13:01 +0100
Message-ID<0436efd659.harriet@bazleyfamily.co.uk>
In reply to#6349
On 9 Apr 2022 as I do recall,
          Bob Latham  wrote:

[snip]


> Must admit, it surprises me that fetching a file from the net is so
> difficult to do.
> 
Doesn't surprise me - fetching a file across the Internet is an order of
complexity above fetching a file from the local hard disc, and in
addition you're launching an external application in order to do it,
which is quite a lot for a small assembler routine to handle....

You originally said that you had two separate working routines but
simply couldn't seem to paste them together - would it not be possible
to have a 'parent' BASIC file that could call them both in succession?

(Registering yourself as a WIMP task is not in fact that complicated,
and I don't think your program actually needs to implement a Wimp_Poll
loop if it is single-tasking and not attempting to interact with the
desktop in any way - I seem to remember writing some pretty crude
software that just called Wimp_Initialise claiming to be a RISC OS 2
application, executed a few lines of BASIC and then quit.)

-- 
Harriet Bazley                     ==  Loyaulte me lie ==

We prefer to speak evil of ourselves than not speak of ourselves at all.

[toc] | [prev] | [next] | [standalone]


#6356

FromBob Latham <bob@sick-of-spam.invalid>
Date2022-04-10 13:36 +0100
Message-ID<59d6f26222bob@sick-of-spam.invalid>
In reply to#6355
In article <0436efd659.harriet@bazleyfamily.co.uk>,
   Harriet Bazley <harriet@bazleyfamily.co.uk> wrote:


> You originally said that you had two separate working routines but
> simply couldn't seem to paste them together - would it not be
> possible to have a 'parent' BASIC file that could call them both in
> succession?

Possibly.

> (Registering yourself as a WIMP task is not in fact that
> complicated, and I don't think your program actually needs to
> implement a Wimp_Poll loop if it is single-tasking and not
> attempting to interact with the desktop in any way -

Interesting.

> I seem to remember writing some pretty crude software that just
> called Wimp_Initialise claiming to be a RISC OS 2 application,
> executed a few lines of BASIC and then quit.)

Okay, thanks for that. I have written full wimp apps in Basic and in
assembler, I can do it but didn't feel it was needed for a simple
data grab from an html file.

Your half way idea looks promising.

Thanks.

Bob.

[toc] | [prev] | [next] | [standalone]


#6358

Fromdruck <news@druck.org.uk>
Date2022-04-11 13:59 +0100
Message-ID<t318na$g22$1@dont-email.me>
In reply to#6355
On 10/04/2022 13:01, Harriet Bazley wrote:
> Doesn't surprise me - fetching a file across the Internet is an order of
> complexity above fetching a file from the local hard disc, and in
> addition you're launching an external application in order to do it,
> which is quite a lot for a small assembler routine to handle....

Classic wrong tool for the job. It Python it is one line of code using 
the requests module. But of course we just need the requests module in 
the RISC OS version of Python3 <arrrrh>.

---druck

[toc] | [prev] | [next] | [standalone]


#6348

FromTheo <theom+news@chiark.greenend.org.uk>
Date2022-04-09 14:15 +0100
Message-ID<RJg*ahgLy@news.chiark.greenend.org.uk>
In reply to#6346
Bob Latham <bob@sick-of-spam.invalid> wrote:
> In article <6a8503d659.harriet@bazleyfamily.co.uk>,
>    Harriet Bazley <harriet@bazleyfamily.co.uk> wrote:
> 
> > Wimp_StartTask launches it as an independent task with its own
> > Wimpslot, etc (although it also means that your program won't wait
> > for this new task to return before continuing on with its own next
> > instruction - and in the case of a wget command, I imagine that the
> > result might potentially take quite a while).
> 
> Naively I tried this with fingers crossed.
> 
> I get an error..
> 
> 'Invalid Wimp operation in this context.'
> 
> 
> Clearly this is way beyond my understanding.

Wimp_StartTask only works if you're already in a Wimp task.  That might be a
desktop app, or a command line app running in a TaskWindow.  If you are
outside the desktop the Wimp isn't running so you can't launch other tasks.

Try your code in a Taskwindow?

Theo

[toc] | [prev] | [next] | [standalone]


#6350

FromBob Latham <bob@sick-of-spam.invalid>
Date2022-04-09 17:56 +0100
Message-ID<59d6865a36bob@sick-of-spam.invalid>
In reply to#6348
In article <RJg*ahgLy@news.chiark.greenend.org.uk>,
   Theo <theom+news@chiark.greenend.org.uk> wrote:
> Bob Latham <bob@sick-of-spam.invalid> wrote:
> > In article <6a8503d659.harriet@bazleyfamily.co.uk>,
> >    Harriet Bazley <harriet@bazleyfamily.co.uk> wrote:
> > 
> > > Wimp_StartTask launches it as an independent task with its own
> > > Wimpslot, etc (although it also means that your program won't wait
> > > for this new task to return before continuing on with its own next
> > > instruction - and in the case of a wget command, I imagine that the
> > > result might potentially take quite a while).
> > 
> > Naively I tried this with fingers crossed.
> > 
> > I get an error..
> > 
> > 'Invalid Wimp operation in this context.'
> > 
> > 
> > Clearly this is way beyond my understanding.

> Wimp_StartTask only works if you're already in a Wimp task.  That
> might be a desktop app, or a command line app running in a
> TaskWindow.  If you are outside the desktop the Wimp isn't running
> so you can't launch other tasks.

> Try your code in a Taskwindow?

Thanks for the information.

Cheers,

Bob.


> Theo

[toc] | [prev] | [next] | [standalone]


#6343

FromSteve Fryatt <news@stevefryatt.org.uk>
Date2022-04-08 19:15 +0100
Message-ID<mpro.ra19d101wzpa503r2.news@stevefryatt.org.uk>
In reply to#6341
On 8 Apr, Bob Latham wrote in message
    <59d600739fbob@sick-of-spam.invalid>:

> In article <t2p8ka$1db3$1@gioia.aioe.org>,
>    Steve Drain <steve@kappa.me.uk> wrote:
> 
> > I woud guess Wimp_StartTask rather OS_CLI to avoid overwriting
> >  your application space.
> 
> Thanks Steve. That gives me something to read up about.
> 
> I don't understand what overwrites the application space though.

WGet, which is an application that you've just started in application space.

RISC OS is a single tasking operating system with a thin veneer of fake
multi-tasking applied on top by the Wimp. As far as all of the non-Wimp bits
of the OS are concerned, applications reside at 0x8000. Since there can only
be one application at 0x8000 at a time, the act of launching WGet overwrites
and completely obliterates your application. This is why the subroutine can
never return: by that point, your application doesn't exist any more.

As Harriet notes, there are some messy work-arounds: either the old
Arthur-era one of shifting memory around, or the RISC OS-era one of passing
the problem to the Wimp.

-- 
Steve Fryatt - Leeds, England

http://www.stevefryatt.org.uk/

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | comp.sys.acorn.programmer


csiph-web