Release BeebEm alpha, Acorn BBC Micro emulator


Hehe I remember those.. Some were better than others..
Beebem is running good.. Been setting up some configs last night..
I still can't get a nice key combo for planetoid :( that I'm happy with..
There's a couple of games that run too fast it seems..
Let me try and get the name .. ( I never played the game on a reel beeb but it's way too fast I reckon )

But great work sswam :) this is going to be played ALOT :)

When does the family get back?
 
The save states are working nice for me, using them I completed "Granny's Garden"

(yeah, I know it's for kids, but it's quite tricky, that witch pops up everywhere!)

and I got up to stage 5 in Killer Gorilla, which is more than I ever managed as a kid!

I'm going to have fun completing some of those old adventure games using save states,

Citadel, Exile, and Castle Quest for example.  You had to be ridiculous good

to beat those games with the old 3 lives then restart!  I was never that good!

I didn't notice any game running too fast, let me know if you find one.

Yeah I also found it hard to play planetoid, we want to use the D-pad for thrust and for changing direction, but it doesn't.

Maybe use the shoulder buttons for thrust and reverse...  would take some getting used to, just like the original keys!

Not sure if planetoid supported a joystick on the beeb, if it did maybe can do that.

Can potentially do nubs -> beeb analog joystick support, might be nice for playing elite.
 
Last edited by a moderator:
Hi..

So what's the trick to beebem remembering the directory where the games are after you close and restart?
Because its not working for me.. Tried going in, selecting the directory, playing a game..the quitting beebem..
 
Last edited by a moderator:
It's supposed to save the setting in config/saved.kbd, that should end up in your appdata under beebem-*/gp2x ...  it should say like "SET discimages_dir=/wherever"

At the moment it only works saves it if you do run a disc" and you do actually run the image; not if you do like "load a disc image", LOAD "PODD", RUN or whatever.

If it really doesn't work for you, that's weird... I'll try to figure out why...  are you sure you've got the new version?  did you notice the gui buttons are more spaced out on the config buttons page?  can you check what's in that file if anything?
 
Last edited by a moderator:
Hmmm I don't have a beebem folder in appdata??

I think is got just a pnd from you one time...
Yes the config buttons are spaced out more do I have the correct version..
I jus deleted beebem through pndmanager and re got..
Let's see if I have an appdata dir

EDIT: hmmm nope.. No dir in appdata... But it's in the menu and I can run it fine..
I have the .pnd in pandora/menu.. Thats it
 
Last edited by a moderator:
What firmware are you using?  upgrade it?

The pnd and its appdata should get mounted in a union to a directory under /mnt/utmp, and if you or the app writes there, it should end up in the appdata.

I'll try deleting my appdata and see if it creates it, that is meant to be done by the pnd_run program, not beebem pnd though.
 
DREDD
I have the latest current firmware..

I tried creating the dir manually.. Still nothing..
I removed beebem from pnd manager and downloaded again... I can play fine, just no appdata dir..

Weird huh?
 
Can you check the pnd_run log for beebem in your /tmp, post what it says here?  hopefully you do have that at least!
 
sure!!

spoiler tags..

=======================================================================================

PND             : /media/PAN1/pandora/menu/beebem.pnd

PND_FSTYPE      : Squashfs

APPDATADIR      : /media/PAN1/pandora/appdata/beebem-15428

APPDD_FSTYPE    : vfat

PND_CPUSPEED    : <unset>

EXENAME         : beebem.sh

ARGUMENTS       : <unset>

=======================================================================================

[ START ]--- Mount the PND ----------

Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/beebem-15428"

Mounting the Union FS : mount -t aufs -o exec,noplink,dirs="/media/PAN1/pandora/appdata/beebem-15428=rw+nolwh":"/mnt/pnd/beebem-15428=rr" none "/mnt/utmp/beebem-15428"

[sUCCESS]--- Mount the PND ----------

[ START ]--- Starting the application (beebem.sh ) ----------

 

Version: BeebEm 0.6 for GP2X

omapsdl: opened tslib touchscreen

omapsdl: in_evdev: found "keypad" with 84 events (type 00100013)

omapsdl: in_evdev: found "nub0" with 3 events (type 00000007)

omapsdl: in_evdev: found "nub1" with 3 events (type 00000007)

omapsdl: in_evdev: found "gpio-keys" with 16 events (type 00000023)

omapsdl: skip /dev/input/event5 as ts

omapsdl: found 5 evdev device(s).

omapsdl: detected 800x480 'lcd' (0) screen attached to fb 1 and overlay 1

fbdev: switching to 320x240@16

fbdev: /dev/fb1: 320x240@16

fbdev initialized.

xenv: X vendor: The X.Org Foundation, rel: 10704000, display: :0.0, protocol ver: 11.0

xenv: display is 800x480

Setting GUI_FONT_LOC to "/mnt/utmp/beebem-15428/gp2x/resources/font5x8.bmp"

Setting GUI_OWL_LOC to "/mnt/utmp/beebem-15428/gp2x/resources/owl.bmp"

Setting VIRTUAL_KEYBOARD_LOC to "/mnt/utmp/beebem-15428/gp2x/resources/virtualkeyboard.bmp"

Setting TELETEXT_FONT_LOC to "/mnt/utmp/beebem-15428/gp2x/resources/teletext.bmp"

Setting ROM_CONFIG_LOC to "/mnt/utmp/beebem-15428/gp2x/config/romimg.rc"

Setting ROMS_DIR to "/mnt/utmp/beebem-15428/gp2x/roms/"

Setting DEFAULT_CONFIG_LOC to "/mnt/utmp/beebem-15428/gp2x/config/default.kbd"

Setting FORCED_CONFIG_LOC to "/mnt/utmp/beebem-15428/gp2x/config/forced.kbd"

Setting DISC_IMAGES_DIR to "/mnt/utmp/beebem-15428/gp2x/discs/"

Setting SAVES_DIR to "/mnt/utmp/beebem-15428/gp2x/saves/"

Setting KBD_MAPPINGS_DIR to "/mnt/utmp/beebem-15428/gp2x/kbd/"

Invalid stick mode, please enter either 'smart', 'multi', 'horizontal' or 'vertical'.

Setting screen orientation to normal.

Setting screen centering to: scaled.

Setting DF0 R/W tab to Read only.

Setting DF1 R/W tab to Read only.

Setting hardware cursor to: ENABLED

gp2x = LEFT, sdlk = BBC_Z

apply_mapping gp2xButton = 276   [0][1] = 65596

gp2x = RIGHT, sdlk = BBC_X

apply_mapping gp2xButton = 275   [1][1] = 65577

gp2x = UP, sdlk = BBC_:

apply_mapping gp2xButton = 273   [2][1] = 65583

gp2x = DOWN, sdlk = BBC_/

apply_mapping gp2xButton = 274   [3][1] = 65603

gp2x = CLICK, sdlk = NOTHING

gp2x = A, sdlk = BBC_SPACE

apply_mapping gp2xButton = 278   [4][1] = 65597

gp2x = B, sdlk = BBC_SPACE

apply_mapping gp2xButton = 279   [5][1] = 65597

gp2x = X, sdlk = BBC_RETURN

apply_mapping gp2xButton = 281   [6][1] = 65584

gp2x = Y, sdlk = BBC_RETURN

apply_mapping gp2xButton = 280   [7][1] = 65584

gp2x = SELECT, sdlk = BBC_ESCAPE

apply_mapping gp2xButton = 306   [8][1] = 65605

gp2x = VOLUP, sdlk = VOLUME

gp2x = VOLDOWN, sdlk = VOLUME

gp2x = L, sdlk = NOTHING

apply_mapping gp2xButton = 303   [9][1] = 66536

gp2x = R, sdlk = NOTHING

apply_mapping gp2xButton = 305   [10][1] = 66536

gp2x = R_LEFT, sdlk = BBC_X

gp2x = R_RIGHT, sdlk = BBC_Z

gp2x = R_UP, sdlk = BBC_/

gp2x = R_DOWN, sdlk = BBC_:

gp2x = R_CLICK, sdlk = NOTHING

gp2x = R_A, sdlk = BBC_X

gp2x = R_B, sdlk = BBC_Z

gp2x = R_X, sdlk = BBC_:

gp2x = R_Y, sdlk = BBC_/

gp2x = R_SELECT, sdlk = ESCAPE

gp2x = R_L, sdlk = NOTHING

gp2x = R_R, sdlk = NOTHING

gp2x = R_VOLUP, sdlk = BBC_SPACE

gp2x = R_VOLDOWN, sdlk = BBC_RETURN

Ran startup script '/mnt/utmp/beebem-15428/gp2x/startup.cnf'.

Setting screen orientation to normal.

Setting screen centering to: scaled.

Setting stick to SMART mode.

Setting DF0 R/W tab to Read only.

Setting DF1 R/W tab to Read only.

Setting hardware cursor to: ENABLED

gp2x = LEFT, sdlk = BBC_Z

apply_mapping gp2xButton = 276   [0][1] = 65596

gp2x = RIGHT, sdlk = BBC_X

apply_mapping gp2xButton = 275   [1][1] = 65577

gp2x = UP, sdlk = BBC_:

apply_mapping gp2xButton = 273   [2][1] = 65583

gp2x = DOWN, sdlk = BBC_/

apply_mapping gp2xButton = 274   [3][1] = 65603

gp2x = A, sdlk = BBC_SPACE

apply_mapping gp2xButton = 278   [4][1] = 65597

gp2x = B, sdlk = BBC_SPACE

apply_mapping gp2xButton = 279   [5][1] = 65597

gp2x = X, sdlk = BBC_RETURN

apply_mapping gp2xButton = 281   [6][1] = 65584

gp2x = Y, sdlk = BBC_RETURN

apply_mapping gp2xButton = 280   [7][1] = 65584

gp2x = SELECT, sdlk = BBC_CTRL

apply_mapping gp2xButton = 306   [8][1] = 65536

gp2x = L, sdlk = NOTHING

apply_mapping gp2xButton = 303   [9][1] = 66536

gp2x = R, sdlk = NOTHING

apply_mapping gp2xButton = 305 EG initialized.

  [10][1] = 66536

Loaded default keyboard mapping file '/mnt/utmp/beebem-15428/gp2x/config/default.kbd'.

Loaded default force mapping file '/mnt/utmp/beebem-15428/gp2x/config/forced.kbd'.

Building font.

Loading keyboard image [/mnt/utmp/beebem-15428/gp2x/resources/virtualkeyboard.bmp].

-> Setting palette.

<-

 

-> Converting keyboard image to display format.

<-

 

-> Generating unselected.

<-

 

-> Generating selected.

<-

 

-> Generating pressed.

<-

 

-> Generating held and selected.

<-

 

-> Generating held.

<-

 

-> Generating LEDs.

<-

 

[/mnt/utmp/beebem-15428/gp2x/config/romimg.rc]

<OS><os12>

found os: 

<ROM><basic>

fullname = [/mnt/utmp/beebem-15428/gp2x/roms/basic]

<ROM><acorn_dnfs>

fullname = [/mnt/utmp/beebem-15428/gp2x/roms/acorn_dnfs]

[/mnt/utmp/beebem-15428/gp2x/roms/os12]

Sound:

freq=44100

format=8

channels=1

silence=128

samples=2048

size=2048

------------

 

window.c: 1511: EG_Window pointer is NULL.

window.c: 1511: EG_Window pointer is NULL.

slidebar.c: 984: EG_Widget is NULL.

0 0 6 (0)

slidebar.c: 984: EG_Widget is NULL.

0 1 6 (1)

slidebar.c: 984: EG_Widget is NULL.

0 0 6 (0)

slidebar.c: 984: EG_Widget is NULL.

0 1 6 (1)

slidebar.c: 984: EG_Widget is NULL.

PARENT

window.c: 1511: EG_Window pointer is NULL.

window.c: 1511: EG_Window pointer is NULL.

slidebar.c: 984: EG_Widget is NULL.

0 0 15 (0)

slidebar.c: 984: EG_Widget is NULL.

0 1 15 (1)

slidebar.c: 984: EG_Widget is NULL.

0 2 15 (2)

slidebar.c: 984: EG_Widget is NULL.

0 3 15 (3)

slidebar.c: 984: EG_Widget is NULL.

0 4 15 (4)

slidebar.c: 984: EG_Widget is NULL.

0 5 15 (5)

slidebar.c: 984: EG_Widget is NULL.

0 6 15 (6)

slidebar.c: 984: EG_Widget is NULL.

Dir=media

window.c: 1511: EG_Window pointer is NULL.

window.c: 1511: EG_Window pointer is NULL.

slidebar.c: 984: EG_Widget is NULL.

0 0 13 (0)

GOTO BOTTOM

slidebar.c: 984: EG_Widget is NULL.

0 12 13 (12)

slidebar.c: 984: EG_Widget is NULL.

0 11 13 (11)

slidebar.c: 984: EG_Widget is NULL.

0 10 13 (10)

slidebar.c: 984: EG_Widget is NULL.

0 9 13 (9)

slidebar.c: 984: EG_Widget is NULL.

Dir=PAN1

window.c: 1511: EG_Window pointer is NULL.

window.c: 1511: EG_Window pointer is NULL.

slidebar.c: 984: EG_Widget is NULL.

0 0 8 (0)

GOTO BOTTOM

slidebar.c: 984: EG_Widget is NULL.

0 7 8 (7)

slidebar.c: 984: EG_Widget is NULL.

0 6 8 (6)

slidebar.c: 984: EG_Widget is NULL.

0 5 8 (5)

slidebar.c: 984: EG_Widget is NULL.

Dir=pandora

window.c: 1511: EG_Window pointer is NULL.

window.c: 1511: EG_Window pointer is NULL.

slidebar.c: 984: EG_Widget is NULL.

0 0 8 (0)

GOTO BOTTOM

slidebar.c: 984: EG_Widget is NULL.

Dir=roms

window.c: 1511: EG_Window pointer is NULL.

window.c: 1511: EG_Window pointer is NULL.

slidebar.c: 984: EG_Widget is NULL.

0 0 12 (0)

slidebar.c: 984: EG_Widget is NULL.

0 1 12 (1)

slidebar.c: 984: EG_Widget is NULL.

0 2 12 (2)

slidebar.c: 984: EG_Widget is NULL.

0 3 12 (3)

slidebar.c: 984: EG_Widget is NULL.

0 4 12 (4)

slidebar.c: 984: EG_Widget is NULL.

0 5 12 (5)

slidebar.c: 984: EG_Widget is NULL.

Dir=Beeb

window.c: 1511: EG_Window pointer is NULL.

window.c: 1511: EG_Window pointer is NULL.

0 0 22 (0)

0 1 22 (1)

0 2 22 (2)

0 3 22 (3)

File=ARCADIAN.ssd

Reset.

[/mnt/utmp/beebem-15428/gp2x/config/romimg.rc]

<OS><os12>

found os: 

<ROM><basic>

fullname = [/mnt/utmp/beebem-15428/gp2x/roms/basic]

<ROM><acorn_dnfs>

fullname = [/mnt/utmp/beebem-15428/gp2x/roms/acorn_dnfs]

[/mnt/utmp/beebem-15428/gp2x/roms/os12]

Sound:

freq=44100

format=8

channels=1

silence=128

samples=2048

size=2048

------------

 

Setting screen orientation to normal.

Setting screen centering to: scaled.

Setting stick to SMART mode.

Setting DF0 R/W tab to Read only.

Setting DF1 R/W tab to Read only.

Setting hardware cursor to: ENABLED

gp2x = LEFT, sdlk = BBC_Z

apply_mapping gp2xButton = 276   [0][1] = 65596

gp2x = RIGHT, sdlk = BBC_X

apply_mapping gp2xButton = 275   [1][1] = 65577

gp2x = UP, sdlk = BBC_:

apply_mapping gp2xButton = 273   [2][1] = 65583

gp2x = DOWN, sdlk = BBC_/

apply_mapping gp2xButton = 274   [3][1] = 65603

gp2x = A, sdlk = BBC_SPACE

apply_mapping gp2xButton = 278   [4][1] = 65597

gp2x = B, sdlk = BBC_SPACE

apply_mapping gp2xButton = 279   [5][1] = 65597

gp2x = X, sdlk = BBC_RETURN

apply_mapping gp2xButton = 281   [6][1] = 65584

gp2x = Y, sdlk = BBC_RETURN

apply_mapping gp2xButton = 280   [7][1] = 65584

gp2x = SELECT, sdlk = BBC_CTRL

apply_mapping gp2xButton = 306   [8][1] = 65536

gp2x = L, sdlk = NOTHING

apply_mapping gp2xButton = 303   [9][1] = 66536

gp2x = R, sdlk = NOTHING

apply_mapping gp2xButton = 305   [10][1] = 66536

Loaded default keyboard mapping file '/mnt/utmp/beebem-15428/gp2x/config/default.kbd'.

Trying to load disc image: '/media/PAN1/pandora/roms/Beeb/ARCADIAN.ssd'

Setting screen centering to: scaled.

Setting screen orientation to normal.

Setting hardware cursor to: ENABLED

Setting stick to SMART mode.

Setting DF0 R/W tab to Read only.

Setting DF1 R/W tab to Read only.

gp2x = LEFT, sdlk = BBC_CAPSLOCK

apply_mapping gp2xButton = 276   [0][1] = 65575

gp2x = RIGHT, sdlk = BBC_CTRL

apply_mapping gp2xButton = 275   [1][1] = 65536

gp2x = UP, sdlk = NOTHING

apply_mapping gp2xButton = 273   [2][1] = 66536

gp2x = DOWN, sdlk = NOTHING

apply_mapping gp2xButton = 274   [3][1] = 66536

gp2x = A, sdlk = NOTHING

apply_mapping gp2xButton = 278   [4][1] = 66536

gp2x = B, sdlk = BBC_RETURN

apply_mapping gp2xButton = 279   [5][1] = 65584

gp2x = X, sdlk = NOTHING

apply_mapping gp2xButton = 281   [6][1] = 66536

gp2x = Y, sdlk = NOTHING

apply_mapping gp2xButton = 280   [7][1] = 66536

gp2x = L, sdlk = NOTHING

apply_mapping gp2xButton = 303   [9][1] = 66536

gp2x = R, sdlk = NOTHING

apply_mapping gp2xButton = 305   [10][1] = 66536

gp2x = SELECT, sdlk = NOTHING

apply_mapping gp2xButton = 306   [8][1] = 66536

Loaded mapping file '/media/PAN1/pandora/roms/Beeb/ARCADIAN.kbd'.

Loaded default force mapping file '/mnt/utmp/beebem-15428/gp2x/config/forced.kbd'.

window.c: 1375: EG_Window is hidden, cannot process SDL event.

window.c: 1375: EG_Window is hidden, cannot process SDL event.

window.c: 1375: EG_Window is hidden, cannot process SDL event.

entered message box

window.c: 1375: EG_Window is hidden, cannot process SDL event.

window.c: 1375: EG_Window is hidden, cannot process SDL event.

window.c: 1375: EG_Window is hidden, cannot process SDL event.

running at_exit.

[sUCCESS]--- Starting the application (beebem.sh ) ----------

[ START ]--- Restoring the frame buffer status ----------

[sUCCESS]--- Restoring the frame buffer status ----------

[ START ]--- uMount the PND ----------

[ START ]--- Waiting the Union to be available ----------

[sUCCESS]--- Waiting the Union to be available ----------

auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device

rmdir: failed to remove `/mnt/utmp/beebem-15428': Device or resource busy

[ START ]--- Waiting the PND mount dir to be free ----------

[sUCCESS]--- Waiting the PND mount dir to be free ----------

cleanup done

[sUCCESS]--- uMount the PND ----------

=======================================================================================

Return code is : 1
 
Last edited by a moderator:
So your appdata dir for beebem should be here:

    /media/PAN1/pandora/appdata/beebem-15428

and should I think contain a file /media/PAN1/pandora/appdata/beebem-15428/gp2x/config/saved.kbd

Is the appdata dir for beebem there or not?  How about the "saved" file?  (not sure I got the path right)  What's in the "saved" file?

I better put some debug print in there when it tries to save that file!
 
Last edited by a moderator:
Hang on are you saying you have no appdata dir at all?
This directory /media/PAN1/pandora/appdata isn't there?

Well, in that case you need to create it or no pnds on PAN1 will be able to save any data!
(I'm surprised they will run at all)

Run this in a terminal:
 


mkdir /media/PAN1/pandora/appdata

Then BeebEm should be able to save its data.

Or you can use the file manager to do it.

The Mystery is Solved!!  (I hope)
 
Last edited by a moderator:
I'm on irc freenode.net #openpandora a lot at the moment while my family is on holiday.

You can catch me there stainy, I'm sswam there as you know.
 
Hi. Just wanted to say thanks for your work on this. It was great on the GP2X and is now also great on the pandora.


Only played a few acornsoft games so far and of course killer gorilla. All run well and key mapping works well.


I had a bbc model b when I was a kid and absolutely loved it. Bought a secondhand one a couple of years ago and it even has an sd card reader attached to save loading tapes/discs


Thanks again.
 
Hi.. So what's the trick to beebem remembering the directory where the games are after you close and restart? Because its not working for me.. Tried going in, selecting the directory, playing a game..the quitting beebem..
 is this working for anyone?  It does work for me!  still not sure what the problem is, need to get an expert PND person to take a look at it

great on the pandora
cool, glad you're liking it! :)
 
:)   glad you're liking it, they do have some good games.  it was an "educational" computer, so may be some different games compared to a gaming console.  I wrote a whole lot of math teaching "games" for it, should try and find the disks for those.
 
Back
Top