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


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

Online RISC OS colour converter

Started bychrisbazley@bigfoot.com
First post2011-04-22 18:12 -0700
Last post2011-05-02 16:29 -0700
Articles 13 — 6 participants

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


Contents

  Online RISC OS colour converter chrisbazley@bigfoot.com - 2011-04-22 18:12 -0700
    Re: Online RISC OS colour converter Gerph <gerph@gerph.org> - 2011-04-23 08:40 -0700
      Re: Online RISC OS colour converter chrisbazley@bigfoot.com - 2011-04-24 06:28 -0700
        Re: Online RISC OS colour converter Alan Wrigley <spamhater@keepyourfilthyspamtoyourself.co.uk> - 2011-04-24 16:21 +0100
          Re: Online RISC OS colour converter Alan Wrigley <spamhater@keepyourfilthyspamtoyourself.co.uk> - 2011-04-24 16:26 +0100
        Re: Online RISC OS colour converter Gerph <gerph@gerph.org> - 2011-04-26 13:44 -0700
          Re: Online RISC OS colour converter "Ste (news)" <steve@revi11.plus.com> - 2011-04-27 14:00 +0100
            Re: Online RISC OS colour converter Gerph <gerph@gerph.org> - 2011-04-30 05:25 -0700
            Re: Online RISC OS colour converter Rick Murray <heyrickmail-usenet@yahoo.co.uk> - 2011-04-28 13:07 +0200
              Re: Online RISC OS colour converter chrisbazley@bigfoot.com - 2011-04-28 12:28 -0700
                Re: Online RISC OS colour converter "Ste (news)" <steve@revi11.plus.com> - 2011-05-03 12:06 +0100
    Re: Online RISC OS colour converter jgharston <jgh@arcade.demon.co.uk> - 2011-05-02 15:48 -0700
      Re: Online RISC OS colour converter chrisbazley@bigfoot.com - 2011-05-02 16:29 -0700

#201 — Online RISC OS colour converter

Fromchrisbazley@bigfoot.com
Date2011-04-22 18:12 -0700
SubjectOnline RISC OS colour converter
Message-ID<c5884f32-501b-45b4-b501-541da552da52@c26g2000vbq.googlegroups.com>
Hello,

For many years I didn't really understand the difference between the
various colour formats used in 256 colour screen modes. (e.g. why
can't the value returned by ColourTrans_ReturnGCOL be used with
BASIC's GCOL command?) Then, I found a bug in ColourTrans related to
256 colour modes with a fully-definable palette, had an argument with
Gerph about it, and during this period wrote several BASIC programs to
test GCOLs and took a lot of notes.

Now, I present an online converter written in JavaScript that can be
used to convert between the following colour formats: Colour number,
separate GCOL and TINT, packed GCOL, Wimp and HTML colours. Alongside,
I have published some of my notes about each format and its usage.
Colours can be entered in decimal format (except HTML, which must be
hexadecimal) or by clicking on checkboxes to set a binary pattern.

http://cs99cjb.pwp.blueyonder.co.uk/convert.html

--
Chris Bazley

[toc] | [next] | [standalone]


#202

FromGerph <gerph@gerph.org>
Date2011-04-23 08:40 -0700
Message-ID<2ff1dcca-09ac-4de2-b3c0-dce9b328eb83@17g2000prr.googlegroups.com>
In reply to#201
On Apr 23, 2:12 am, chrisbaz...@bigfoot.com wrote:
> Hello,
>
> For many years I didn't really understand the difference between the
> various colour formats used in 256 colour screen modes. (e.g. why
> can't the value returned by ColourTrans_ReturnGCOL be used with
> BASIC's GCOL command?) Then, I found a bug in ColourTrans related to
> 256 colour modes with a fully-definable palette, had an argument with
> Gerph about it, and during this period wrote several BASIC programs to
> test GCOLs and took a lot of notes.

Be fair... we had /lots/ of arguments about the colour system :-)
between what we understood (which differed as we understood it more),
what the system did (which differed as we fixed things),
and what the PRMs said (which generally wasn't to bad but sometimes
differed from reality).

I'm pretty certain (well, reasonable certain) that we fixed the vast
bulk
of the issues with 256 colour modes when fully defined and when
greyscale
compared to the old-style 256 colour modes. If there was anything
lingering
then I'm sure it got sorted later.

It's amusing to me quite how broken fully-defined modes really were,
from simply getting the wrong results through to crashing.

Hmm. My list of ThingsNotToDo only contains a single reference to the
colour system, for pre-S3 do not:

 * Use ColourTrans to render deep sprites

Probably the stuff we found was non-fatal so not worthy of going in
there.
Ah, good memories...

--
Gerph.

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


#205

Fromchrisbazley@bigfoot.com
Date2011-04-24 06:28 -0700
Message-ID<92050f20-60c9-403f-b7c5-57fab28617c9@z31g2000vbs.googlegroups.com>
In reply to#202
On Apr 23, 4:40 pm, Gerph <ge...@gerph.org> wrote:
> Hmm. My list of ThingsNotToDo only contains a single reference to the
> colour system, for pre-S3 do not:
>
>  * Use ColourTrans to render deep sprites
>
> Probably the stuff we found was non-fatal so not worthy of going in
> there.
> Ah, good memories...

I've never heard of a things-not-to-do list before. It sounds like a
useful idea.

* Fall in love.
* Reverse into bollards.
* Go out without your house keys.
* Mix signed and unsigned types in expressions.
* Confuse solipsism with solecism, for fear of malapropism.
* Use MOVS PC,R14 to return from a software vector claimant in a 32
bit mode.
* Use BL with interrupts enabled in IRQ mode.
* Pass go.
* Collect $326.10.
* (add your own)

The list may be endless!

--
Chris Bazley

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


#206

FromAlan Wrigley <spamhater@keepyourfilthyspamtoyourself.co.uk>
Date2011-04-24 16:21 +0100
Message-ID<gemini.lk5xcj00h3ljt009k.spamhater@keepyourfilthyspamtoyourself.co.uk>
In reply to#205
chrisbazley@bigfoot.com wrote:

> On Apr 23, 4:40 pm, Gerph <ge...@gerph.org> wrote:
> > Hmm. My list of ThingsNotToDo only contains a single reference to the
> > colour system, for pre-S3 do not:
> >
> >  * Use ColourTrans to render deep sprites
> >
> > Probably the stuff we found was non-fatal so not worthy of going in
> > there.
> > Ah, good memories...
> 
> I've never heard of a things-not-to-do list before. It sounds like a
> useful idea.
> 
> [snip list ]

Is this a things-never-to-do list or a things-I-wish-I-hadn't-done list?

Alan

-- 
RISC OS - you know it makes cents

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


#207

FromAlan Wrigley <spamhater@keepyourfilthyspamtoyourself.co.uk>
Date2011-04-24 16:26 +0100
Message-ID<gemini.lk5xkg00h9ozi009k.spamhater@keepyourfilthyspamtoyourself.co.uk>
In reply to#206
Alan Wrigley <spamhater@keepyourfilthyspamtoyourself.co.uk> wrote:

> chrisbazley@bigfoot.com wrote:
> 
> > On Apr 23, 4:40 pm, Gerph <ge...@gerph.org> wrote:
> > > Hmm. My list of ThingsNotToDo only contains a single reference to the
> > > colour system, for pre-S3 do not:
> > >
> > >  * Use ColourTrans to render deep sprites
> > >
> > > Probably the stuff we found was non-fatal so not worthy of going in
> > > there.
> > > Ah, good memories...
> > 
> > I've never heard of a things-not-to-do list before. It sounds like a
> > useful idea.
> > 
> > [snip list ]
> 
> Is this a things-never-to-do list or a things-I-wish-I-hadn't-done list?

And ten seconds after writing that post I discovered one of my own:

Don't spend an afternoon taking photographs (and spending money on petrol)
when the memory card is still in the computer after uploading the morning's
pics.

Bah.

Alan

-- 
RISC OS - you know it makes cents

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


#215

FromGerph <gerph@gerph.org>
Date2011-04-26 13:44 -0700
Message-ID<6b45a6aa-08ca-4cbc-b2c9-15746c3012aa@u26g2000vby.googlegroups.com>
In reply to#205
On Apr 24, 2:28 pm, chrisbaz...@bigfoot.com wrote:
> On Apr 23, 4:40 pm, Gerph <ge...@gerph.org> wrote:
>
> > Hmm. My list of ThingsNotToDo only contains a single reference to the
> > colour system, for pre-S3 do not:
>
> >  * Use ColourTrans to render deep sprites
>
> > Probably the stuff we found was non-fatal so not worthy of going in
> > there.
> > Ah, good memories...
>
> I've never heard of a things-not-to-do list before. It sounds like a
> useful idea.

Ah. It's just a list of things that you can do that are fatal, or
likely to be
critically destructive. If not immediately killing the system, killing
the
application in short order. The more pervasive the problem, the
better.
Nice examples:
 * Use Obey.
 * Use Alt-Break.

Amusingly (to me) 'Use TaskWindow' isn't actually on the list, despite
it being a general encompassment of 3 or 4 of the things on the list.
ISTR the former has pathological cases which can occur more the
more you use it, which corrupt the memory that is used for its buffers
(RMA in the failing versions, IIRC).
The latter has race conditions aplenty, which affect multiple other OS
components. Worst case is that you stiff the machine completely
when you trigger it. Next worst is that you trigger a repeating
exception
error box. It is increasingly likely the higher the load on the OS,
which
is (generally) the times at which you wish to use it.

Tra-la-la-la.

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


#220

From"Ste (news)" <steve@revi11.plus.com>
Date2011-04-27 14:00 +0100
Message-ID<51ca81058dsteve@revi11.plus.com>
In reply to#215
In article
<6b45a6aa-08ca-4cbc-b2c9-15746c3012aa@u26g2000vby.googlegroups.com>,
   Gerph <gerph@gerph.org> wrote:
> Amusingly (to me) 'Use TaskWindow' isn't actually on the list, despite it
> being a general encompassment of 3 or 4 of the things on the list. ISTR
> the former has pathological cases which can occur more the more you use
> it, which corrupt the memory that is used for its buffers (RMA in the
> failing versions, IIRC). The latter has race conditions aplenty, which
> affect multiple other OS components. Worst case is that you stiff the
> machine completely when you trigger it. Next worst is that you trigger a
> repeating exception error box. It is increasingly likely the higher the
> load on the OS, which is (generally) the times at which you wish to use it.

Yes. I did a classic cock-up one time in writing a command line program
which processed a sprite file in some way. The processing involved
redirecting output to a sprite, doing something and restoring output. This
is fine if you run it in a command window or some other single-tasking
context.

As soon as you run it in a Task Window, there's the risk that it pre-empts
away from you in the middle of the process and things get rather confused
because output is still redirected into the sprite...

In the end, I had to bodge a work-around which checks to see if the program
is running in a Task Windows (SWI TaskWindow_TaskInfo) and if it is, push
something onto the SVC stack before the sprite manipulation and pop it
afterwards (the Task Window won't pre-empt when the SVC stack is non-empty).

As you say: Tra-la-la-la.

Ta,

Steve

-- 
Steve Revill @ Home
Note: All opinions expressed herein are my own.

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


#234

FromGerph <gerph@gerph.org>
Date2011-04-30 05:25 -0700
Message-ID<e776bdef-d351-447e-9e9e-543bf8db88b9@y12g2000yqh.googlegroups.com>
In reply to#220
On Apr 28, 8:28 pm, chrisbaz...@bigfoot.com wrote:
> On Apr 28, 12:07 pm, Rick Murray <heyrickmail-use...@yahoo.co.uk>
> wrote:
>
> > On 27/04/2011 15:00, Ste (news) wrote:
>
> > > push something onto the SVC stack before the sprite manipulation and pop it
> > > afterwards (the Task Window won't pre-empt when the SVC stack is non-empty).
>
> > That's useful to know.
>
> It's one of the most horrible hacks I've ever heard. Wouldn't "Don't
> use the TaskWindow module to run tasks that modify VDU driver state"
> be better advice?

No, because that's one of the many, many problems that TaskWindow had,
and that particular problem is sprite specific, not VDU driver
specific.

> Would it be impossible for TaskWindow to save VDU driver state around
> wimp poll?

I'll just use my time machine, pop back to 2003 and implement that.
No, wait... I already did that.

--
Gerph

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


#240

FromRick Murray <heyrickmail-usenet@yahoo.co.uk>
Date2011-04-28 13:07 +0200
Message-ID<4db94a7c$0$14675$ba4acef3@reader.news.orange.fr>
In reply to#220
On 27/04/2011 15:00, Ste (news) wrote:

> push something onto the SVC stack before the sprite manipulation and pop it
> afterwards (the Task Window won't pre-empt when the SVC stack is non-empty).

That's useful to know.


Best wishes,

Rick.

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


#241

Fromchrisbazley@bigfoot.com
Date2011-04-28 12:28 -0700
Message-ID<2761ebcf-75c9-4065-924a-cbaa9d1df5b7@x10g2000vbn.googlegroups.com>
In reply to#240
On Apr 28, 12:07 pm, Rick Murray <heyrickmail-use...@yahoo.co.uk>
wrote:
> On 27/04/2011 15:00, Ste (news) wrote:
>
> > push something onto the SVC stack before the sprite manipulation and pop it
> > afterwards (the Task Window won't pre-empt when the SVC stack is non-empty).
>
> That's useful to know.

It's one of the most horrible hacks I've ever heard. Wouldn't "Don't
use the TaskWindow module to run tasks that modify VDU driver state"
be better advice?

Would it be impossible for TaskWindow to save VDU driver state around
wimp poll?

Chris Bazley

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


#276

From"Ste (news)" <steve@revi11.plus.com>
Date2011-05-03 12:06 +0100
Message-ID<51cd8d9fb5steve@revi11.plus.com>
In reply to#241
In article
<2761ebcf-75c9-4065-924a-cbaa9d1df5b7@x10g2000vbn.googlegroups.com>,
   <chrisbazley@bigfoot.com> wrote:
> On Apr 28, 12:07 pm, Rick Murray <heyrickmail-use...@yahoo.co.uk>
> wrote:
> > On 27/04/2011 15:00, Ste (news) wrote:
> >
> > > push something onto the SVC stack before the sprite manipulation and
> > > pop it afterwards (the Task Window won't pre-empt when the SVC stack
> > > is non-empty).
> >
> > That's useful to know.
>
> It's one of the most horrible hacks I've ever heard.

Why, thank you. <bows>

:)

Steve

-- 
Steve Revill @ Home
Note: All opinions expressed herein are my own.

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


#273

Fromjgharston <jgh@arcade.demon.co.uk>
Date2011-05-02 15:48 -0700
Message-ID<23bd32bc-3444-4a6a-87a8-b90f52aa7905@s2g2000yql.googlegroups.com>
In reply to#201
chrisbaz wrote:
> http://cs99cjb.pwp.blueyonder.co.uk/convert.html

"The lower 3 bits are used as a palette index."
The lower *4* bits, shirley?

JGH

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


#274

Fromchrisbazley@bigfoot.com
Date2011-05-02 16:29 -0700
Message-ID<f767ac91-0740-45bd-aee8-e042dabcdd5d@q32g2000yqn.googlegroups.com>
In reply to#273
On May 2, 11:48 pm, jgharston <j...@arcade.demon.co.uk> wrote:
> chrisbaz wrote:
> >http://cs99cjb.pwp.blueyonder.co.uk/convert.html
>
> "The lower 3 bits are used as a palette index."
> The lower *4* bits, shirley?
>
> JGH

Since corrected - thanks.
--
Chris Bazley

[toc] | [prev] | [standalone]


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


csiph-web