BBC Emulator as .DEB package

want to talk about MESS/model b/beebem/b-em/electrem/elkulator? do it here!
User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

BBC Emulator as .DEB package

Postby richmond62 » Sun May 14, 2017 9:38 am

I have about 10 machines running various versions of Xubuntu in my EFL and programming school
and I wish to teach various tiny and unsuspecting sprogs a spot of BBC BASIC at the start of their Summer course
this year.

I have a BBC Master Compact set up in the classroom to demonstrate and for the inevitable "Wow!" when the machine boots up in the twinkle
of an eye.

However, for practical purposes I will need an emulator running on the motley collection of 32-bit and 64-bit machines (nothing more than 25 quid)
that run Xubuntu and have been doing everything else for material delivery and reinforcement without a hitch for the last 12 years (average to replace
2 machines a year).

Obviously having to compile and build on each of those machines is going to be a right %^&@#$.

So I was wondering if anyone knew of any pre-assembled .DEB package (or Debian derivative Linux) that would save me a lot of donkey work.

Prime
Posts: 2348
Joined: Sun May 31, 2009 11:52 pm

Re: BBC Emulator as .DEB package

Postby Prime » Sun May 14, 2017 1:33 pm

You may be able to configure and compile on one machine and just tar up and copy to the others, if you compile it to install all of it's files under somewhere like /usr/local/b-em (for example) you should be able to do the tar and copy method. Depending on how close the versions of Ubuntu are in terms of packages / libraries, you may need to copy of some of them over too.

cheers.

Phill.

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: BBC Emulator as .DEB package

Postby richmond62 » Sun May 14, 2017 6:06 pm

That's all very fine in theory: but tried building B-EM on Xubuntu 16.04 and fell foul of the fact that
the thing depends on "Allegro 4" which my machine seemed unable to locate in the repositories.

g7jjf
Posts: 354
Joined: Sun Aug 07, 2005 7:29 pm
Location: Notts, England
Contact:

Re: BBC Emulator as .DEB package

Postby g7jjf » Sun May 14, 2017 6:27 pm

If it is only BBC Basic you wish to emulate and not an actual BBC Computer, have you looked at BBC BASIC for SDL 2.0, available from :

http://www.bbcbasic.co.uk/bbcsdl/

Jon

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: BBC Emulator as .DEB package

Postby richmond62 » Sun May 14, 2017 7:19 pm

only BBC Basic

In a perfect world I'd like a full BBC emulator, but I'm certainly going to
have a look at this.

Thank you very much.

paulb
Posts: 784
Joined: Mon Jan 20, 2014 9:02 pm

Re: BBC Emulator as .DEB package

Postby paulb » Sun May 14, 2017 11:51 pm

richmond62 wrote:That's all very fine in theory: but tried building B-EM on Xubuntu 16.04 and fell foul of the fact that
the thing depends on "Allegro 4" which my machine seemed unable to locate in the repositories.


Does this search help with the Allegro libraries?

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: BBC Emulator as .DEB package

Postby richmond62 » Mon May 15, 2017 7:17 pm

Does this search help


Yes and No . . . Yup, all a bit surreal, as the main test
machine has those installed bu the compiler for B-EM
still tells me that Allegro 4 is not installed.

Ouch . . . .

There doesn't seem to be a version for 64-bit INTEL: that's why I'm in the soup.

I shall have to wait until I get to my workplace to try a build on a 32-bit INTEL.

paulb
Posts: 784
Joined: Mon Jan 20, 2014 9:02 pm

Re: BBC Emulator as .DEB package

Postby paulb » Mon May 15, 2017 8:06 pm

richmond62 wrote:
Does this search help


Yes and No . . . Yup, all a bit surreal, as the main test
machine has those installed bu the compiler for B-EM
still tells me that Allegro 4 is not installed.

Ouch . . . .

There doesn't seem to be a version for 64-bit INTEL: that's why I'm in the soup.

I shall have to wait until I get to my workplace to try a build on a 32-bit INTEL.


You might need to obtain the packages from the universe repository. If you don't want to unleash all sorts of upgrades by enabling that repository, you could just obtain the source package and then try and rebuild it with the system you have.

Indeed, you could probably configure pbuilder or something similar to do the job, although that might be more involved than what you had in mind if you're not familiar with those tools.

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: BBC Emulator as .DEB package

Postby richmond62 » Mon May 15, 2017 8:15 pm

I managed to get hold of the Allegro package, did a cd into the directory where I unpacked the file,
did ./compile

that ran ok, but then things went "funny" with make

Making all in src
make[1]: Entering directory '/home/richmond/Desktop/Boom/src'
source='32016.c' object='b_em-32016.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
gcc -DPACKAGE_NAME=\"B-em\" -DPACKAGE_TARNAME=\"b-em\" -DPACKAGE_VERSION=\"2.2\" -DPACKAGE_STRING=\"B-em\ 2.2\" -DPACKAGE_BUGREPORT=\"Tom\ Walker\ \<b-em@bbcmicro.com\>\" -DPACKAGE_URL=\"\" -DPACKAGE=\"b-em\" -DVERSION=\"2.2\" -DHAVE_LIBZ=1 -DHAVE_LIBOPENAL=1 -DHAVE_LIBALUT=1 -I. -I/usr/include -g -O2 -O3 -c -o b_em-32016.o `test -f '32016.c' || echo './'`32016.c
/bin/bash: ../depcomp: No such file or directory
Makefile:372: recipe for target 'b_em-32016.o' failed
make[1]: *** [b_em-32016.o] Error 127
make[1]: Leaving directory '/home/richmond/Desktop/Boom/src'
Makefile:236: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

paulb
Posts: 784
Joined: Mon Jan 20, 2014 9:02 pm

Re: BBC Emulator as .DEB package

Postby paulb » Mon May 15, 2017 9:23 pm

richmond62 wrote:I managed to get hold of the Allegro package, did a cd into the directory where I unpacked the file,
did ./compile

that ran ok, but then things went "funny" with make

Making all in src
make[1]: Entering directory '/home/richmond/Desktop/Boom/src'
source='32016.c' object='b_em-32016.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
gcc -DPACKAGE_NAME=\"B-em\" -DPACKAGE_TARNAME=\"b-em\" -DPACKAGE_VERSION=\"2.2\" -DPACKAGE_STRING=\"B-em\ 2.2\" -DPACKAGE_BUGREPORT=\"Tom\ Walker\ \<b-em@bbcmicro.com\>\" -DPACKAGE_URL=\"\" -DPACKAGE=\"b-em\" -DVERSION=\"2.2\" -DHAVE_LIBZ=1 -DHAVE_LIBOPENAL=1 -DHAVE_LIBALUT=1 -I. -I/usr/include -g -O2 -O3 -c -o b_em-32016.o `test -f '32016.c' || echo './'`32016.c
/bin/bash: ../depcomp: No such file or directory
Makefile:372: recipe for target 'b_em-32016.o' failed
make[1]: *** [b_em-32016.o] Error 127
make[1]: Leaving directory '/home/richmond/Desktop/Boom/src'
Makefile:236: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1


Yes, you will need to use the Debian (or Ubuntu) approach to compile it. It's been a while since I messed around with this, so, looking in my notes, I suggest the following:

Code: Select all

dget http://archive.ubuntu.com/ubuntu/pool/universe/a/allegro4.4/allegro4.4_4.4.2-7.dsc


This just uses the link on the Ubuntu package page for liballegro4-dev, which is what I imagine you will need. Then, enter the sources directory and do one of the magic Debian incantations:

Code: Select all

cd allegro4.4-4.4.2
dpkg-buildpackage -b -uc


The -b option just builds a binary package, and the -uc option skips the signing of the package. From memory, packages won't get signed anyway because the key specified will belong to the package maintainer/uploader, and you are probably not that person. :wink:

You can specify the -d option to stop it complaining about unmet dependencies. This is risky and clearly not recommended normally, but I just did it to see whether the packages on my Debian system (which will be differently named in some cases) will support the build.

Normally, I would use something like pbuilder/pdebuild for this, since it does everything in a controlled environment, but I guess we're trying to save some time here.

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: BBC Emulator as .DEB package

Postby richmond62 » Tue May 16, 2017 7:07 pm

I wonder:

allegro4.4_4.4.2-7.dsc:
dscverify: allegro4.4_4.4.2-7.dsc failed signature check:
gpg: Signature made 1.11.2015 (нд) 11:17:32 EET using RSA key ID B2DA2888
gpg: Can't check signature: No public key
Validation FAILED!!

paulb
Posts: 784
Joined: Mon Jan 20, 2014 9:02 pm

Re: BBC Emulator as .DEB package

Postby paulb » Tue May 16, 2017 7:39 pm

richmond62 wrote:I wonder:

allegro4.4_4.4.2-7.dsc:
dscverify: allegro4.4_4.4.2-7.dsc failed signature check:
gpg: Signature made 1.11.2015 (нд) 11:17:32 EET using RSA key ID B2DA2888
gpg: Can't check signature: No public key
Validation FAILED!!


Yes, I see this if I run dscverify as well. However, dget doesn't seem to have a problem with the .dsc file, at least on my Debian system.

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: BBC Emulator as .DEB package

Postby richmond62 » Wed May 17, 2017 5:52 pm

./configure --disable-dependency-tracking

finally did the trick.

EXCEPT that to Quit the thing you have to send a KILL signal.

On 64-bit Xubuntu 16.04

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: BBC Emulator as .DEB package

Postby richmond62 » Sat May 20, 2017 9:15 am

But still getting its knickers in a twist on Xubuntu 32-bit 14.04,
after COMPILE:

magwitch@magwitch-HP-d530-SFF-DC578AV:~/Desktop/Beeb$ make
Making all in src
make[1]: Entering directory `/home/magwitch/Desktop/Beeb/src'
g++ -DPACKAGE_NAME=\"B-em\" -DPACKAGE_TARNAME=\"b-em\" -DPACKAGE_VERSION=\"2.2\" -DPACKAGE_STRING=\"B-em\ 2.2\" -DPACKAGE_BUGREPORT=\"Tom\ Walker\ \<b-em@bbcmicro.com\>\" -DPACKAGE_URL=\"\" -DPACKAGE=\"b-em\" -DVERSION=\"2.2\" -DHAVE_LIBZ=1 -DHAVE_LIBOPENAL=1 -DHAVE_LIBALUT=1 -I. -c -o resid.o resid.cc
/bin/bash: g++: command not found
make[1]: *** [resid.o] Error 127
make[1]: Leaving directory `/home/magwitch/Desktop/Beeb/src'
make: *** [all-recursive] Error 1
magwitch@magwitch-HP-d530-SFF-DC578AV:~/Desktop/Beeb$

paulb
Posts: 784
Joined: Mon Jan 20, 2014 9:02 pm

Re: BBC Emulator as .DEB package

Postby paulb » Sat May 20, 2017 11:04 am

richmond62 wrote:But still getting its knickers in a twist on Xubuntu 32-bit 14.04,
after COMPILE:

magwitch@magwitch-HP-d530-SFF-DC578AV:~/Desktop/Beeb$ make
Making all in src
make[1]: Entering directory `/home/magwitch/Desktop/Beeb/src'
g++ -DPACKAGE_NAME=\"B-em\" -DPACKAGE_TARNAME=\"b-em\" -DPACKAGE_VERSION=\"2.2\" -DPACKAGE_STRING=\"B-em\ 2.2\" -DPACKAGE_BUGREPORT=\"Tom\ Walker\ \<b-em@bbcmicro.com\>\" -DPACKAGE_URL=\"\" -DPACKAGE=\"b-em\" -DVERSION=\"2.2\" -DHAVE_LIBZ=1 -DHAVE_LIBOPENAL=1 -DHAVE_LIBALUT=1 -I. -c -o resid.o resid.cc
/bin/bash: g++: command not found
make[1]: *** [resid.o] Error 127
make[1]: Leaving directory `/home/magwitch/Desktop/Beeb/src'
make: *** [all-recursive] Error 1
magwitch@magwitch-HP-d530-SFF-DC578AV:~/Desktop/Beeb$


Yes, you need to install the compilers. The build-essential package is useful for this.

User avatar
fordp
Posts: 923
Joined: Sun Feb 12, 2012 9:08 pm
Location: Kent, England

Re: BBC Emulator as .DEB package

Postby fordp » Wed Jun 07, 2017 11:22 am

Can an admin move this thread to 8 bit emulation please. I think the title should be changed to include "B-Em as a .DEB Package" too.

Cheers.
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!

User avatar
hjalfi
Posts: 74
Joined: Sat May 13, 2017 10:17 pm
Location: Zürich, Switzelrand
Contact:

Re: BBC Emulator as .DEB package

Postby hjalfi » Mon Jul 17, 2017 8:28 pm

Slightly belated, but if you want a BBC Basic for Debian, Brandy is already there:

Code: Select all

$ sudo apt install brandy
$ brandy
Brandy Basic V Interpreter Version 1.20.1 (Linux) 24-Sep-2014
Starting with 524288 bytes free


It's pretty good, and has enough VDU emulation to allow you to, e.g., do MODE 2 graphics and it all displays in an X window. I believe it's bytecode compatible with Acorn's BBC Basic, too (but you'd better check that).

User avatar
richmond62
Posts: 172
Joined: Sun Apr 16, 2017 3:15 pm

Re: BBC Emulator as .DEB package

Postby richmond62 » Wed Jul 19, 2017 7:02 pm

Well, it is a bit late as I have a version of B-em working very successfully indeed on both Xubuntu 32-bit and 64-bit machines
in my school (think of machines that are between 10 and 15 years old and you'll get the picture).

Notwithstanding that: thank you for the suggestion and I'll certainly have a look.

YES, it does work, but the display fonts are "awful" and loading it from a Terminal windows sucks as far
as getting 8-9 year olds started.


Return to “emulators”

Who is online

Users browsing this forum: No registered users and 4 guests