Notices


Reply
Thread Tools
lcuk's Avatar
Posts: 1,635 | Thanked: 1,816 times | Joined on Apr 2008 @ Manchester, England
#21
Originally Posted by marnanel View Post
When an app refuses focus, the focus ends up on the desktop. When a keypress is received by the desktop, this is interpreted as a request to look up contacts beginning with that letter.
yes


I would be a whole lot happier if applications did not attempt to mess with focus and left this to the window manager. That's what we have a window manager for. The ICCCM actually forbids you to do this unilaterally (4.2.7); you're also not supposed to be using RevertToPointerRoot or CurrentTime (see the footnotes of 4.2.7).
cool, i see.
so the workaround as suggested to me originally is due to a generic problem that has been there all along in fremantle, but was obviously handled differently by the n8x0 window manager?



I'm not sure why you think I didn't explain the problem, since I went into some detail here.

To recap:
  • A window can have a field called WM_HINTS.
  • One of the bits in this field is called InputHint.
  • If this bit is not set, the window is saying that it never wants input focus. If the window manager was to give such a window focus, the window manager would be broken.
  • libsdl contains a bug which clears this bit if you set an icon on your window.
  • Therefore, if you set an icon on an SDL window, the window manager will never give that window focus.
  • This is correct behaviour on the part of the window manager.
  • On the other hand, if you don't set an icon on the window, it doesn't matter, because Maemo is clever and will get the icon from elsewhere.
  • Therefore, not setting an icon is a perfect workaround until the libsdl bug is fixed.
yes, but the same code in liqbase runs perfectly on diablo, i gather likewise for yourself the code seem to work properly for SDL on diablo too?


I don't know whether your program is suffering from a similar bug, but I can check if you like. Or you can check, if you want, by running xprop against your toplevel window.
thanks

the version in extras-devel is unstable atm, its just waiting for me to push some updates after a short trip, but since you know what you are looking for, if you identify the patch point, I would be most appreciative.
if it can be solved in a similar way to your fix - ie once for the entire app run, it will hopefully cure the other secondary liqbase problem where the symptoms of no text input return after minimizing.

i'm sorry i didnt see the reasoning beforehand, i just saw the same symptoms and knew a fairly simple workaround existed.
__________________
liqbase sketching the future.
like what i say? hit the Thanks, thanks!
twitter.com/lcuk
 
marnanel's Avatar
Posts: 26 | Thanked: 45 times | Joined on Sep 2009 @ Philadelphia
#22
Originally Posted by lcuk View Post
so the workaround as suggested to me originally is due to a generic problem that has been there all along in fremantle, but was obviously handled differently by the n8x0 window manager?
I don't know how the N8x0 window manager handled it, but I imagine it was in a similar way. The fault is not with the window manager but with libsdl. It is possible (probable, indeed) that the version of libsdl on the N8x0 did not contain the bug, and so the issue never came up.

Originally Posted by lcuk View Post
yes, but the same code in liqbase runs perfectly on diablo, i gather likewise for yourself the code seem to work properly for SDL on diablo too?
I don't know whether it worked on diablo. I'm afraid I've never used any Nseries operating system but fremantle.

Originally Posted by lcuk View Post
the version in extras-devel is unstable atm, its just waiting for me to push some updates after a short trip, but since you know what you are looking for, if you identify the patch point, I would be most appreciative.
if it can be solved in a similar way to your fix - ie once for the entire app run, it will hopefully cure the other secondary liqbase problem where the symptoms of no text input return after minimizing.
Thanks, I'll take a look.
 

The Following 2 Users Say Thank You to marnanel For This Useful Post:
Jaffa's Avatar
Posts: 2,535 | Thanked: 6,681 times | Joined on Mar 2008 @ UK
#23
Originally Posted by marnanel View Post
[*]Even if Beebem was free software, it's still unclear about the legality of distributing the Beeb's MOS and BASIC roms, without which the emulator would be useless;
IIRC, RISCOS Ltd. have given permission for the distribution of BBC MOS and RISC OS 3.1 ROMs for the use of emulators.

The problem with Elite would be the keys - the keyboard of an N900 is better than an N810's, but it ain't that good.

Perhaps emulators (including DrNokSnes) could have a mapping from the accelerometers to keys on a game-by-game basis :-)
__________________
Andrew Flegg -- mailto:andrew@bleb.org | http://www.bleb.org
 

The Following User Says Thank You to Jaffa For This Useful Post:
marnanel's Avatar
Posts: 26 | Thanked: 45 times | Joined on Sep 2009 @ Philadelphia
#24
I have modified the emulator a bit so it runs more smoothly on the device. So there are four things I want to sort out before I release anything.
  1. The upstream licensing of Beebem. But this has been verified to be GPL, so we're okay.
  2. What to do about the ROMs which the emulator needs to boot. I might add a screen on first running the emulator which explains that they need to be downloaded, and requires the user to consent to doing so. (That could be extended to a generalised disc image downloader, later.) On the other hand, I might release an early version and require people to find the ROMs themselves and install them manually.
  3. Remapping the hardware keyboard to match the BBC's somehow.
  4. Replacing the beebem menu system with Hildon menu widgets.

For the hardware keys, I'm thinking of turning the N900's comma key into an extra shift (I'll call it "ultra" here), so that the keystrokes which don't exist on the N900 can be typed for the Beeb (most importantly, so that ultra-[P/0] can be f0, ultra-[Q/1] can be f1, etc.

Here, have another screenshot. This has the processor speed of the Beeb turned right down so that the FPS will be higher.
 
marnanel's Avatar
Posts: 26 | Thanked: 45 times | Joined on Sep 2009 @ Philadelphia
#25
Originally Posted by Jaffa View Post
IIRC, RISCOS Ltd. have given permission for the distribution of BBC MOS and RISC OS 3.1 ROMs for the use of emulators.
Really‽ That's wonderful! Do you have a link I can point people to, or anything like that?
 
Jaffa's Avatar
Posts: 2,535 | Thanked: 6,681 times | Joined on Mar 2008 @ UK
#26
Originally Posted by marnanel View Post
Really‽ That's wonderful! Do you have a link I can point people to, or anything like that?
Unfortunately, Googling for anything involving "ROM" isn't very productive and I can't find any source.
__________________
Andrew Flegg -- mailto:andrew@bleb.org | http://www.bleb.org
 
marnanel's Avatar
Posts: 26 | Thanked: 45 times | Joined on Sep 2009 @ Philadelphia
#27
I've now put a few minutes into packaging the thing; it's here:

http://people.collabora.co.uk/~tthur...01-1_armel.deb

It works well enough to boot and load discs, but not well enough to do much else. I've turned off AMX (mouse) support and made the main menu come up instead when you tap the screen, because beforehand it came up on F12.

Try this: boot the BBC. Touch the screen. Choose "Discs". Choose "Select, load, and run a disc". Select "welcome.ssd". Press OK. You will be running the Welcome disk.

Note that the default screen size cuts off the bottom of the menus and the screen on the N900, unless you run in fullscreen mode, when it fits exactly. This can be a nuisance, because you might not be able to press the OK button on the menus. See points 3 and 4 below.

Things which fairly urgently need doing with this:

1) I've found copies of Beebem which say they're GPL and copies which say they aren't. I'd like to know for sure when its status changed.

2) Really, I'd like it to download the MOS/BASIC/DFS roms on first boot, to save us having to package them.

3) It would be better if the main window was a GTK window than an SDL window. Then we could put a conventional Hildon menu on it and do away with the tapping-the-screen thing.

4) A screen mode that scaled the BBC's output onto the size of the screen *minus* the titlebar would be very useful.

5) The keyboard setup is a bit crappy at the moment. The N900's alt key doesn't work at all, so you can't type numbers. I meant to have it so that the comma key was a "hyper" key to let you use QWE... as f1, f2, f3... but that seems not to be working at present.

6) It should default to a sensible speed; the current default slows down the BBC too much, making everything sluggish.

7) What I would really like is a menu when you started up which listed a few dozen games, and if you chose one it didn't already have installed it would download it.

8) An onscreen virtual keyboard would be lovely.

Last edited by marnanel; 2010-01-07 at 03:33.
 

The Following 4 Users Say Thank You to marnanel For This Useful Post:
Posts: 263 | Thanked: 77 times | Joined on Jan 2009 @ Sigtuna, Sweden
#28
Originally Posted by Jaffa View Post
IIRC, RISCOS Ltd. have given permission for the distribution of BBC MOS and RISC OS 3.1 ROMs for the use of emulators.
- - -
http://www.riscosopen.org/wiki/docum...Cortex-A8+port
>>
Documentation: Cortex-A8 port
This section of the wiki documents contains information about the port of the shared-source branch of RISC OS to the new ARM Cortex-A8 processors.

http://www.riscosopen.org/news/artic...o-beagle-board
>>
Info on beagleboard port of RISC OS.

Last edited by KristianW; 2010-01-29 at 21:24.
 

The Following User Says Thank You to KristianW For This Useful Post:
Jaffa's Avatar
Posts: 2,535 | Thanked: 6,681 times | Joined on Mar 2008 @ UK
#29
Indeed, taking RISC OS Open's branch and running it on an RPCemu port would be good (hell, even porting RISC OS directly ;-))

But this isn't a thread about RISC OS :-)

Might be worth checking if !65host (including the BBC MOS ROMs) is included in the RISC OS Open shared source bundle.
__________________
Andrew Flegg -- mailto:andrew@bleb.org | http://www.bleb.org
 
Reply

Tags
bbc micro, bugs, n900, sdl

Thread Tools

 
Forum Jump


All times are GMT. The time now is 11:00.