maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   BBC Micro (https://talk.maemo.org/showthread.php?t=31696)

lcuk 2009-09-18 01:33

Re: BBC Micro
 
Quote:

Originally Posted by marnanel (Post 328944)
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

Quote:


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?


Quote:


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?

Quote:


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.

marnanel 2009-09-18 13:14

Re: BBC Micro
 
Quote:

Originally Posted by lcuk (Post 328965)
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.

Quote:

Originally Posted by lcuk (Post 328965)
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.

Quote:

Originally Posted by lcuk (Post 328965)
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.

Jaffa 2009-09-21 11:11

Re: BBC Micro
 
Quote:

Originally Posted by marnanel (Post 328123)
[*]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 :-)

marnanel 2009-11-28 22:26

Re: BBC Micro
 
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.
http://marnanel.org/pics/lj/elite

marnanel 2009-11-28 22:28

Re: BBC Micro
 
Quote:

Originally Posted by Jaffa (Post 330622)
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 2009-11-29 13:47

Re: BBC Micro
 
Quote:

Originally Posted by marnanel (Post 398169)
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.

marnanel 2010-01-07 03:28

Re: BBC Micro
 
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.

KristianW 2010-01-29 20:56

Re: BBC Micro
 
Quote:

Originally Posted by Jaffa (Post 330622)
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.

Jaffa 2010-01-31 16:27

Re: BBC Micro
 
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.


All times are GMT. The time now is 13:43.

vBulletin® Version 3.8.8