Subject: Re: Another one...
To: Ben Harris <bjh21@cam.ac.uk>
From: Michael Lorenz <ml@rz.uni-potsdam.de>
List: port-arm26
Date: 05/04/2000 08:29:37
Greetings !

> > > > > > ... then loaded the kernel and died. Second time I remembered that I had
> > > > > > to switch to 256 colours first...
> > > > > *grin*  Anyone feel like fixing rasops?
> > > > My knowledge of Acorn hardware is - well, limited. Next to nonexistant.
> > >
> > > This job doesn't require any particular Acorn knowledge, just an ability
> > > to try to code portable, fast rasterop code in C.
> > Hmm, did kind of this in assembler on x86, but someone must provide me
> > with information about the video memory organization in 4-bit color on
> > the Acorn ( planes like on the Amiga ? one byte - two pixels ? ) and how
> > to set the palette...
> 
> Don't worry about the palette -- that's my problem. 
> The pixel format is simply little-endian packed pixels, so in a four-bit mode, the
> least-significant four bits of the first word (or byte) of screen memory
> is the top-left pixel of the screen.  
And the other 4 bits of the first byte are the 2nd pixel in the first
line ? I have to ask, since I saw a lot of weird pixel formats...

> Other bit-depths work analogously.  If you're going to fix the rasops code, though, the first
> thing that needs doing is to make it properly endianness-independent.
Sounds awful but needs to be done.

> Working out which screen mode is equivalent to the current one at a
> different depth is non-trivial, since it involves snarfing the mode
> database and reading through it. 
Well, there aren't that much screen modes, a simple table stored
somewherein BBBB should do the job, eg. it could warn if it finds a
"non-approved" mode, switch to the equivalent 8bit mode when possible (
since there is no 800x600 in 8bit ) 
As far as I know (please correct me if I'm wrong) there is only one
thing machine dependant, the fact that A5k-style machines had an
additional oscillator that enables 800x600 in 4bit.
( Yes, I know hat there are several VIDC-enhancers and graphics boards
out there ( anyone wants to get rid of one ? ) but I think we should
worry first about internal video )

> Better would be to have the kernel change screen mode to something it can handle, but 
> changing screen modes is mildly tricky (it involves actually thinking about DMA timings).
Hmm, when does the kernel seriously trash RiscOS ? Is there a stage
where it is still able to do RiscOS SWIs ?

> > Cool ! I'll try it later ( no time today ) and send you the results...
> > btw. - what does the kernel expect when it asks for a root device ?
> > simply ea0 to make it RARP and rpc.bootparam ?
> Actually DHCP.  I'll turn on RARP/bootparam if people want it.
Whold be better for me since I have a RARP/bootparam environment
running. But what does the kernel expect on the prompt it displays after
hardware probing when it should mount it's filesystems ?

> > Sorry, can't keep it back - how hard is it to make the internal IDE on
> > A5k style machines work ?
> Should be easy enough, but I'm not trying it without the hardware in front
> of me.
I have an A4k with 4MB gathering dust, but without keyboard, mouse and
harddisk. Unfortunately it is in germany. 

bye
Michael