Sunday, September 04, 2011

What now?

I've been having a look at what's working and what's not (on x86 systems).

The basic ROLF functionality is largely there, with some minor bugs (buttons appearing pressed when they aren't any more, etc.) It's largely unchanged, although it's easier to produce different Wimps for different display types (currently xlib, vnc and the original frame buffer are supported, I expect others, like SDL, would be fairly simple to implement). XLib needs to be able to support mouse movement outside the screen area (probably by including an offset to the X mouse position to ensure the mouse limit is always within the window area). Framebuffer needs autorepeat of keypresses to be implemented; the Terminal application is a bit of a pain to use without that. The only adjustment to the Wimp protocol still to be made is to allow an application to request the current state of the modifier keys, specifically for shift-activating application directories in the Filer.

From the point of view of RISC OS programs, support is patchy. For example, the ArtWorks renderer seems to work quite well, both using the AWRender module from the ROLF-native Viewer application as well as !AWViewer, a complete RISC OS application (given a RO4 ROM image to provide various modules).

On the other hand, of the ROM applications from RO4, none of them show their proper application icons [fixed] and only Edit gets to the point where it does anything useful. Draw drops out after adding an icon to the iconbar. Help requires the toolbox, which I've not included in the list of modules loaded by default. None of the others bother the scorer at all.

NetSurf needs tidying up and possibly merging with the NetSurf sources. It would be nice if ArtWorks files could be displayed, using AWRender, and even videos using mplayer. At the moment, none of the menu items work, you can't type in a URL, etc.

The MPlayer application hasn't changed in a long time, some videos appear in diagonal stripes, like the horizontal hold is broken; perhaps they have an unusual width or height? The one I just looked at has a width of 930, which isn't divisible by eight... [fixed - the stride passed in to the draw_slice routine was greater than needed for the width, my mistake]

I have no idea if GTK still compiles, let alone does anything useful.

Brandy 1.0.19 has a patch that may still work, but I tend to use the RO BASIC interpreter, because it's got an assembler built in (needed for AWViewer to run). I seem to recall that 1.0.20 needed quite a different patch approach, but I can't remember the details.

I think I'll have a go at the Filer, first, it's been a long time since I looked at it.