Subject: Re: Another one...
To: Michael Lorenz <ml@rz.uni-potsdam.de>
From: Ben Harris <bjh21@cam.ac.uk>
List: port-arm26
Date: 05/04/2000 11:30:29
On Thu, 4 May 2000, Michael Lorenz wrote:

> 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...

Yep.  The VIDC is one of Acorn's saner creations.  Of course, it'd be nice
if the rasops code could handle less sane devices as well.

> > 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.

Yep.  And you need to allow for the CPU and the framebuffer being
different endiannesses, and there being multiple framebuffers of different
endiannesses installed at once and so on.  All good fun.
 
> > 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.

Actually two additional oscillators -- there's a 25.125 MHz one for
640x480 modes.  Anyway, if you want to code this, feel free.  I'm not
about to, but I'll incorporate worthwhile patches.

> > 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 ?

RISC OS's exception vectors are trashed when we replace zero page in
start.c, just before calling pmap_bootstrap.  The allocsys call before
that might wipe something RISC OS needs, though.  I'd rather not add
calls into RISC OS just to work around a rasops bug, though.  If you want
to solve this problem, fix rasops.

> 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 ?

If you type something it doesn't understand, it'll tell you (who says Unix
isn't user-friendly?).  You either want the name of a disc partition or of
a network interface.

> > > 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. 

Pity.  Such a thing would be very useful to me.

-- 
Ben Harris