BBC Emulator as .DEB package
- richmond62
- Posts: 172
- Joined: Sun Apr 16, 2017 3:15 pm
- Contact:
BBC Emulator as .DEB package
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.
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.
Re: BBC Emulator as .DEB package
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.
cheers.
Phill.
- richmond62
- Posts: 172
- Joined: Sun Apr 16, 2017 3:15 pm
- Contact:
Re: BBC Emulator as .DEB package
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.
the thing depends on "Allegro 4" which my machine seemed unable to locate in the repositories.
Re: BBC Emulator as .DEB package
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
http://www.bbcbasic.co.uk/bbcsdl/
Jon
- richmond62
- Posts: 172
- Joined: Sun Apr 16, 2017 3:15 pm
- Contact:
Re: BBC Emulator as .DEB package
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.
Re: BBC Emulator as .DEB package
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?
- richmond62
- Posts: 172
- Joined: Sun Apr 16, 2017 3:15 pm
- Contact:
Re: BBC Emulator as .DEB package
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.
Re: BBC Emulator as .DEB package
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.
- richmond62
- Posts: 172
- Joined: Sun Apr 16, 2017 3:15 pm
- Contact:
Re: BBC Emulator as .DEB package
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
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
Re: BBC Emulator as .DEB package
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.

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.
- richmond62
- Posts: 172
- Joined: Sun Apr 16, 2017 3:15 pm
- Contact:
Re: BBC Emulator as .DEB package
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!!
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!!
Re: BBC Emulator as .DEB package
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.
- richmond62
- Posts: 172
- Joined: Sun Apr 16, 2017 3:15 pm
- Contact:
Re: BBC Emulator as .DEB package
./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
finally did the trick.
EXCEPT that to Quit the thing you have to send a KILL signal.
On 64-bit Xubuntu 16.04
- richmond62
- Posts: 172
- Joined: Sun Apr 16, 2017 3:15 pm
- Contact:
Re: BBC Emulator as .DEB package
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$
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$
Re: BBC Emulator as .DEB package
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.
Re: BBC Emulator as .DEB package
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.
Cheers.
FordP (Simon Ellwood)
Time is an illusion. Lunchtime, doubly so!
Time is an illusion. Lunchtime, doubly so!
Re: BBC Emulator as .DEB package
Slightly belated, but if you want a BBC Basic for Debian, Brandy is already there:
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).
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).
David Given
http://cowlark.com
http://cowlark.com
- richmond62
- Posts: 172
- Joined: Sun Apr 16, 2017 3:15 pm
- Contact:
Re: BBC Emulator as .DEB package
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.
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.