home *** CD-ROM | disk | FTP | other *** search
- From: Paul Corke <csc060@cent1.lancs.ac.uk>
- Message-Id: <3704.9506301324@cent1.lancs.ac.uk>
- Received: by cent1.lancs.ac.uk; Fri, 30 Jun 95 14:24:49 +0100
- Subject: Do you get these subject lines?
- To: ndouglas@digibank.demon.co.uk
- Date: Fri, 30 Jun 1995 14:24:48 +0100 (BST)
- X-Mailer: ELM [version 2.4 PL22]
- Mime-Version: 1.0
- Content-Type: text/plain; charset=US-ASCII
- Content-Transfer-Encoding: 7bit
- Content-Length: 6242
-
- Hello again,
-
- > [millisecond timer]
- > Emm, it's not hugely important as I was merely thinking it'd be nice if
-
- The timer I've got doesn't actually work on a RiscPC - attaches itself
- directly to hardware vectors so the installer need re-writing. I'll look
- at the IOMD this weekend.
-
- > preempted task has two problems: (a) its code must run for a minimum of 1cs,
-
- Can't you mark tasks as `blocked'? Then they wouldn't need to be switched in.
-
- > Two points to this which makes it impractical: (a) Using OS_SetMemMap is
- > extremely quick, as it's only MEMC's internal pointers that are being
- altered,
-
- If OS_SetMemMapEntries is so quick, why do Acorn reccomend that applications
- for ROS3.50+ use dynamic areas, and why does my desktop slow down when
- I have an app with a 4M wimpslot?
-
- > [subtasks]
- > What do you reckon?
-
- Need to decide on a policy. Execute at most once would seem logical - if
- there are any errors then assume that the subtask didn't do anything so
- perhaps start another subtask to try again. This would mean that subtasks
- would have to work on temp files and not the actual files - if half a file
- is updated and an error occurs (Address exception at 0x12345, for example)
- then you won't have to wonder where to start processing from.
-
- > On RO2, not doing anything about redraw is fine: the window is cleared.
- > Probably RO3+.
-
- I tried this again to check it - unless you call Wimp_RedrawWindow and
- Wimp_GetRectangle you definately get another Event_Redraw and other
- apps don't get an event.
-
- > See my problem with inefficiency? If you want to amalgamate all returned
- > rectangles while still allowing for the window to be resized, scroll offsets
-
- I'll be looking at this over the next few days - I have an app which needs to
- pull chunks of data from CD, convert from BMP format and use them to draw
- the screen. There's a total of about 8Mb of sprites, so I can't cache the
- lot. This is a good candidate for background redraws, so I'll let you have
- some of the code when it's done.
-
- > Fraid subtasks are release II, next Christmas. I've written in to the brief
- > most of the protocols: I'll email it out to you when I can. Meanwhile, do
- you > want anything changed in the data structures etc? >
-
- > :-) _IF_ you had studied the heap data structure more carefully, you'd see
-
- When I wrote most of my last letter I only had the first release - not Brief
- 0.01 so I didn't have the structure to read (only an introduction to the
- Tornado standard and a file called GBPB)...
-
- > garbage is done. Anyway, the garbage can be optionally disabled, and even
- then
- > it would be pretty quick, being written in C and all.
-
- Shurley assembler...
-
- > :-). Hehe, I wasn't planning to overwrite the hardware vectors, but have
-
- Pah! More fun that way!
-
- > Tornado hook itself into the environment handlers. I think this works on the
- > RPC too? :-)
-
- Yup. OS_ChangeEnvironment is unchanged.
-
- > Also, any code written specifically for the RPC will use the 32bit mode
- > /all/ the time. Has to, as it's in the aims that Tornado code should be
-
- Quoting the PRM (5-11):
-
- PRM> The new generation of ARM chips used have two modes: 26 bit (which is
- PRM> backwards compatible with ARM2 and 3), and 32 bit. RISC OS 3.5 only
- PRM> supports the 26 bit mode. *You must not execute code in 32 bit mode*.
- PRM> If you try to do so, you may get unpredictable crashes, especially
- PRM> if you tru to run the code in address space over 64M
-
- So it looks like 32 bit code is out. Basically, if you're in a 32 bit mode
- and an interrupt occurs, the OS will return to you in a 26 bit mode. This
- is likely to screw any uses of R15 and CPSR.
-
- > IMHO it will be when using an internal bus, which is way way way faster than
- > any i/o interface or disc.
-
- But the code has to be pulled off a disk into main memory. I don't know
- if translation is done at load time or execute time. There's a load of
- Taos stuff on http://www.acorn.co.uk/ - do you have w3 access?
-
- > > - TFS
- > Works okay on RO3.1!
-
- I'll have a lookie at it.
-
- > This is *BLASTED* RO3+ for you! RO3 Fileswitch does lots of Func16 all the
- > time, even if they aren't supported (which according to my PRM's it doesn't
-
- It doesn't do loads of Func16's. It issues *one* when `Shutdown' is chosen
- from the task manager. Func16 has nothing to do with wildcards...
-
- > The right is black, and blank, because it's meant to be! In reality,
- > Tornado would auto-shrink and extend if necessary and the appropriate bits
-
- The heap looks something like this:
-
- +----------------------------------------------------------------------+
- ||| ||| |||||| |||| | | | | |
- +----------------------------------------------------------------------+
-
- Okay, so the small black bits on the left are your small free bits, but why
- are there some lines in the middle. This is *after* garbage collection, btw.
- If you don't understand this I'll send you a UUcoded sprite.
-
- > Sorry if I sounded a bit ratty above - I know you're busy, but TBH you
- > obviously haven't read all the docs very well.
-
- As I said, when I wrote most of that last mail I'd only had chance to read
- through the first archive. I'd only glanced at the second. What (and where)
- is LegoCad? Do I have all the textfiles:
-
- rel0: GBPB, Info, Readme
- rel1: Aims, Brief, Readme
-
- I seem to have a file (GBPB) which refers to `guideline 5b' but no file which
- has guidelines 1..5a. I've now had chance to look at the second archive
- properly (all the SWI / *com documentation) I should have a bit of a better
- idea what I'm on about!
-
- > Let me know what you think? I'd like some input, and I'll be putting a
- message
- > onto fidonet asking for ideas.
-
- Don't think you were too popular putting your message in c.s.a.hardware...
- .misc and .programmer seem logical, but hardware? Nothing personal, but
- most denizens seem to be quite hostile towards messages in the wrong groups.
-
- I'll get on with this background window redrawing now - let you know how it
- goes.
-
- Paul.
- --
- ____ _ ____ _
- | _ \ __ _ _ _| | / ___|___ _ __| | _____
- | |_) / _` | | | | | | | / _ \| '__| |/ / _ \
- | __/ (_| | |_| | | | |__| (_) | | | < __/
- |_| \__,_|\__,_|_| \____\___/|_| |_|\_\___|
-
-
-
-
-
-