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


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

Is IOC Timer 0 usable in a non WIMP environment ?

Started byXavier <xltardy@gmail.com>
First post2011-11-01 16:30 -0700
Last post2011-11-10 09:07 -0800
Articles 14 — 6 participants

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


Contents

  Is IOC Timer 0 usable in a non WIMP environment ? Xavier <xltardy@gmail.com> - 2011-11-01 16:30 -0700
    Re: Is IOC Timer 0 usable in a non WIMP environment ? Theo Markettos <theom+news@chiark.greenend.org.uk> - 2011-11-02 00:00 +0000
      Re: Is IOC Timer 0 usable in a non WIMP environment ? Xavier <xltardy@gmail.com> - 2011-11-01 17:29 -0700
    Re: Is IOC Timer 0 usable in a non WIMP environment ? Rick Murray <heyrickmail-usenet@yahoo.co.uk> - 2011-11-02 19:17 +0100
      Re: Is IOC Timer 0 usable in a non WIMP environment ? Xavier <xltardy@gmail.com> - 2011-11-03 05:42 -0700
        Re: Is IOC Timer 0 usable in a non WIMP environment ? Martin Wuerthner <spamtrap@mw-software.com> - 2011-11-03 17:51 +0100
          Re: Is IOC Timer 0 usable in a non WIMP environment ? Rick Murray <heyrickmail-usenet@yahoo.co.uk> - 2011-11-03 20:09 +0100
    Re: Is IOC Timer 0 usable in a non WIMP environment ? "neil f" <news@anf.nildram.co.uk> - 2011-11-02 22:21 +0000
      Re: Is IOC Timer 0 usable in a non WIMP environment ? Xavier <xltardy@gmail.com> - 2011-11-03 05:44 -0700
      Re: Is IOC Timer 0 usable in a non WIMP environment ? Rik Griffin <nospam@denbridgemarine.com> - 2011-11-09 10:37 +0000
        Re: Is IOC Timer 0 usable in a non WIMP environment ? Xavier <xltardy@gmail.com> - 2011-11-09 13:11 -0800
          Re: Is IOC Timer 0 usable in a non WIMP environment ? Theo Markettos <theom+news@chiark.greenend.org.uk> - 2011-11-09 22:43 +0000
          Re: Is IOC Timer 0 usable in a non WIMP environment ? Rik Griffin <nospam@denbridgemarine.com> - 2011-11-10 09:24 +0000
            Re: Is IOC Timer 0 usable in a non WIMP environment ? Xavier <xltardy@gmail.com> - 2011-11-10 09:07 -0800

#978 — Is IOC Timer 0 usable in a non WIMP environment ?

FromXavier <xltardy@gmail.com>
Date2011-11-01 16:30 -0700
SubjectIs IOC Timer 0 usable in a non WIMP environment ?
Message-ID<c85b436d-f4fc-417f-a96a-b660c84003d5@g7g2000vbv.googlegroups.com>
Hello.

Hardware : pre RISC PC series with RISC OS 3.1

Fact : It's possible to use the IOC Timer 1, 'freely', to execute
one's own piece of code at a programmable frequency.

Question : Is it also the case with the IOC Timer 0 ?
I've read many times that the IOC Timer 0 can't be used because of
RISC OS using it.
Now, before trying to play with it, I'd like to know if this is true
in a non RISC OS Wimp environment.
I'd like to use it in a 'monotasking' non WIMP program as a game or a
demo.
If using Timer 0 in this kind of program affects some 'underlying'
RISC OS behaviour, what does it affect exactly, where are the
conflicts going to be ?
I'd like to know how to which are the conflicting bits, how to unplug
them, and what should be rewritten (if needed so that the computer
doesn't crash).

Thanks for your help.
Xavier.

[toc] | [next] | [standalone]


#979

FromTheo Markettos <theom+news@chiark.greenend.org.uk>
Date2011-11-02 00:00 +0000
Message-ID<+LA*micRt@news.chiark.greenend.org.uk>
In reply to#978
Xavier <xltardy@gmail.com> wrote:
> If using Timer 0 in this kind of program affects some 'underlying'
> RISC OS behaviour, what does it affect exactly, where are the
> conflicts going to be ?

I once wrote a module that fiddled with Timer 0 to make the machine 'run
faster'.  Effects:

The soft copy of the realtime clock runs fast.  It'll be 2014 before you
know it.
Things like keyboard auto-repeat breaks
The monotonic timer runs fast, so anything that relies on it will be
affected

Screen refresh was unaffected.  So the machine was usable (in the desktop)
but with the timers clearly crazy.  This was in RISC OS 2 or RISC OS 3.1.  I
doubt you'd have much problem out of the desktop.  Timed I/O like USB might
break though.

Theo

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


#981

FromXavier <xltardy@gmail.com>
Date2011-11-01 17:29 -0700
Message-ID<e484562d-8cf9-419c-bee4-015995c850ce@x8g2000yql.googlegroups.com>
In reply to#979
On Nov 2, 1:00 am, Theo Markettos <theom+n...@chiark.greenend.org.uk>
wrote:
> Xavier <xlta...@gmail.com> wrote:
> > If using Timer 0 in this kind of program affects some 'underlying'
> > RISC OS behaviour, what does it affect exactly, where are the
> > conflicts going to be ?
>
> I once wrote a module that fiddled with Timer 0 to make the machine 'run
> faster'.  Effects:
>
> The soft copy of the realtime clock runs fast.  It'll be 2014 before you
> know it.
> Things like keyboard auto-repeat breaks
> The monotonic timer runs fast, so anything that relies on it will be
> affected
>
> Screen refresh was unaffected.  So the machine was usable (in the desktop)
> but with the timers clearly crazy.  This was in RISC OS 2 or RISC OS 3.1.  I
> doubt you'd have much problem out of the desktop.  Timed I/O like USB might
> break though.
>
> Theo

Thanks for this ultrafast answer. With you it's 2014 now. ;-)

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


#985

FromRick Murray <heyrickmail-usenet@yahoo.co.uk>
Date2011-11-02 19:17 +0100
Message-ID<4eb18931$0$30759$ba4acef3@reader.news.orange.fr>
In reply to#978
On 02/11/2011 00:30, Xavier wrote:

> Now, before trying to play with it, I'd like to know if this is true
> in a non RISC OS Wimp environment.

To follow up on Theo's post, just because you are out of the Wimp 
doesn't mean RISC OS isn't doing a fair amount of work behind the scenes...

Further to this post, I *suspect* (don't have the sources available to 
check) that the IIC code uses the system timer to clock its 
communication to the CMOS RAM chip, so altering may affect this. I'd 
also want to check out code that might use timings for delays or 
timeout, specifically floppy/winchester/econet. While I think RISC OS 
tends to cycle-poll for actual transfer (quickest way), things like 
timeouts may well use the system timer. Consider floppy disc spinup, for 
instance.


> I'd like to use it in a 'monotasking' non WIMP program as a game or a
> demo.

Can you not organise Timer 1 to trigger in a way to support both 
activities you want?


> I'd like to know how to which are the conflicting bits, how to unplug
> them, and what should be rewritten (if needed so that the computer
> doesn't crash).

Probably easier to alter your code to work with only the one timer.


Best wishes,

Rick.

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


#991

FromXavier <xltardy@gmail.com>
Date2011-11-03 05:42 -0700
Message-ID<ef068abd-8833-4300-be97-4bfc3a1ce8d5@v5g2000vbh.googlegroups.com>
In reply to#985
On 2 nov, 19:17, Rick Murray <heyrickmail-use...@yahoo.co.uk> wrote:
[SNIP]
> Probably easier to alter your code to work with only the one timer.
>
> Best wishes,
>
> Rick.

Thanks for your explanations.
Well I could do everything with Timer 1 but 1/ I think it would be
less elegant, 2/ I'd lose some CPU cycles each time I enter the code
to know when to execute the second piece of code which is not on the
same frequency as the 1st one (every rasterline this one) and I must
say I'm very interested by discovering new details of these 'old'
machines.
I've recently found in an old disk the source code for a 'non system'
keyboard handler and this alone makes me very happy.
(it's not documented, I think it will keep me busy for a few hours to
understand what it does and how, and if it is or not usable).

Where could I find some infos to know exaclty what RISC OS keeps
running even when you think it's off ?

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


#996

FromMartin Wuerthner <spamtrap@mw-software.com>
Date2011-11-03 17:51 +0100
Message-ID<55056f2c52.martin@bach.planiverse.com>
In reply to#991
In message <ef068abd-8833-4300-be97-4bfc3a1ce8d5@v5g2000vbh.googlegrou 
ps.com>
          Xavier <xltardy@gmail.com> wrote:

> Where could I find some infos to know exaclty what RISC OS keeps
> running even when you think it's off ?

Just because your program is single-tasking does not mean that 
anything is switched off. All other programs are halted while your 
single-tasking program has control, but technically that is not much 
different from multi-tasking behaviour, your program just reserves an 
unusually big time-slice for itself.

-- 
Martin
---------------------------------------------------------------------
Martin Wuerthner         MW Software      http://www.mw-software.com/
        RISC OS Software for Design, Printing and Publishing
---------------------------------------------------------------------

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


#997

FromRick Murray <heyrickmail-usenet@yahoo.co.uk>
Date2011-11-03 20:09 +0100
Message-ID<4eb2e6f0$0$30790$ba4acef3@reader.news.orange.fr>
In reply to#996
On 03/11/2011 17:51, Martin Wuerthner wrote:

> Just because your program is single-tasking does not mean that
> anything is switched off. All other programs are halted while your
> single-tasking program has control, but technically that is not much
> different from multi-tasking behaviour, your program just reserves an
> unusually big time-slice for itself.

Exactly. Just go to BASIC in a full single tasking screen. See the 
blinking cursor? Notice how the machine responds to keypresses? Press 
Ctrl and G and notice the beep and length of it. There's a *load* of 
stuff going on behind the scenes.

As for Xavier - I don't think you need to worry so much about losing a 
few cycles to sort out your timer. After all, RISC OS itself hangs most 
of its timed functionality off Timer0...


Best wishes,

Rick.

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


#988

From"neil f" <news@anf.nildram.co.uk>
Date2011-11-02 22:21 +0000
Message-ID<j8sfp6$lgc$1@speranza.aioe.org>
In reply to#978
"Xavier" <xltardy@gmail.com> wrote in message 
news:c85b436d-f4fc-417f-a96a-b660c84003d5@g7g2000vbv.googlegroups.com...
> Hello.
>
> Hardware : pre RISC PC series with RISC OS 3.1
>
> Fact : It's possible to use the IOC Timer 1, 'freely', to execute
> one's own piece of code at a programmable frequency.
>
> Question : Is it also the case with the IOC Timer 0 ?
> I've read many times that the IOC Timer 0 can't be used because of
> RISC OS using it.
> Now, before trying to play with it, I'd like to know if this is true
> in a non RISC OS Wimp environment.
> I'd like to use it in a 'monotasking' non WIMP program as a game or a
> demo.
> If using Timer 0 in this kind of program affects some 'underlying'
> RISC OS behaviour, what does it affect exactly, where are the
> conflicts going to be ?
> I'd like to know how to which are the conflicting bits, how to unplug
> them, and what should be rewritten (if needed so that the computer
> doesn't crash).
>
> Thanks for your help.
> Xavier.
>

Can't you just use Druck's TimerMod module?

-Neil F. 

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


#992

FromXavier <xltardy@gmail.com>
Date2011-11-03 05:44 -0700
Message-ID<c24cc78f-e53b-449b-9a9a-65aac73cbaf1@q16g2000yqn.googlegroups.com>
In reply to#988
On 2 nov, 23:21, "neil f" <n...@anf.nildram.co.uk> wrote:
[SNIP]

> Can't you just use Druck's TimerMod module?
>
> -Neil F.

I must confess I love re inventing the wheel (even if it's not a
perfect circle, I'll be proud of it).

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


#1008

FromRik Griffin <nospam@denbridgemarine.com>
Date2011-11-09 10:37 +0000
Message-ID<d7c6632f52.rik-news@iyonix.elements>
In reply to#988
In message <j8sfp6$lgc$1@speranza.aioe.org>
          "neil f" <news@anf.nildram.co.uk> wrote:

> Can't you just use Druck's TimerMod module?

Or, blatent self promotion here, my HALTimer module:

  http://www.btinternet.com/~rik.griffin/

-- 
Rik Griffin
Standard disclaimer, not speaking for anyone but myself, blah blah
(Reply-To may be broken: use rik dot griffin at denbridge marine dot com)

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


#1009

FromXavier <xltardy@gmail.com>
Date2011-11-09 13:11 -0800
Message-ID<a9b0cf50-482b-4ac3-a1d3-9514910938dd@o13g2000vbo.googlegroups.com>
In reply to#1008
On 9 nov, 11:37, Rik Griffin <nos...@denbridgemarine.com> wrote:
> In message <j8sfp6$lg...@speranza.aioe.org>
>           "neil f" <n...@anf.nildram.co.uk> wrote:
>
> > Can't you just use Druck's TimerMod module?
>
> Or, blatent self promotion here, my HALTimer module:
>
>  http://www.btinternet.com/~rik.griffin/
>
> --
> Rik Griffin
> Standard disclaimer, not speaking for anyone but myself, blah blah
> (Reply-To may be broken: use rik dot griffin at denbridge marine dot com)

Hello.
Would you agree to send me the source code ?
(Using is good, understanding is closer to my goal).
Thanks.

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


#1010

FromTheo Markettos <theom+news@chiark.greenend.org.uk>
Date2011-11-09 22:43 +0000
Message-ID<K+f*+bSRt@news.chiark.greenend.org.uk>
In reply to#1009
Xavier <xltardy@gmail.com> wrote:
> On 9 nov, 11:37, Rik Griffin <nos...@denbridgemarine.com> wrote:
> > Or, blatent self promotion here, my HALTimer module:
> >
> >  http://www.btinternet.com/~rik.griffin/
> 
> Hello.
> Would you agree to send me the source code ?
> (Using is good, understanding is closer to my goal).
> Thanks.

You may find the source to my HAL26 module useful as well:
http://www.chiark.greenend.org.uk/~theom/riscos/othersoft.html
(in CVSWeb too if you want to read it on the web).  It implements the RISC
OS 5 HAL on earlier machines, so read in conjunction with the HAL
documentation.

Theo

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


#1011

FromRik Griffin <nospam@denbridgemarine.com>
Date2011-11-10 09:24 +0000
Message-ID<29e9e02f52.rik-news@iyonix.elements>
In reply to#1009
In message <a9b0cf50-482b-4ac3-a1d3-9514910938dd@o13g2000vbo.googlegroups.com>
          Xavier <xltardy@gmail.com> wrote:

> > Or, blatent self promotion here, my HALTimer module:
> >
> >  http://www.btinternet.com/~rik.griffin/
> 
> Hello.
> Would you agree to send me the source code ?
> (Using is good, understanding is closer to my goal).

Source code is included in the archive on my web site :)

-- 
Rik Griffin
Standard disclaimer, not speaking for anyone but myself, blah blah
(Reply-To may be broken: use rik dot griffin at denbridge marine dot com)

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


#1012

FromXavier <xltardy@gmail.com>
Date2011-11-10 09:07 -0800
Message-ID<18177f5e-db1b-4a2c-87b8-9293a07a2c04@t8g2000yql.googlegroups.com>
In reply to#1011
On 10 nov, 10:24, Rik Griffin <nos...@denbridgemarine.com> wrote:
> In message <a9b0cf50-482b-4ac3-a1d3-951491093...@o13g2000vbo.googlegroups.com>
>           Xavier <xlta...@gmail.com> wrote:
>
> > > Or, blatent self promotion here, my HALTimer module:
>
> > >http://www.btinternet.com/~rik.griffin/
>
> > Hello.
> > Would you agree to send me the source code ?
> > (Using is good, understanding is closer to my goal).
>
> Source code is included in the archive on my web site :)
>
> --
> Rik Griffin
> Standard disclaimer, not speaking for anyone but myself, blah blah
> (Reply-To may be broken: use rik dot griffin at denbridge marine dot com)

Great. Thanks !

[toc] | [prev] | [standalone]


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


csiph-web