diff --git a/config/emulators/bbc.conf b/config/emulators/bbc.conf
new file mode 100644
index 0000000000..2054b1c8bb
--- /dev/null
+++ b/config/emulators/bbc.conf
@@ -0,0 +1,10 @@
+SYSTEM_NAME="bbc"
+SYSTEM_FULLNAME="BBC Micro"
+SYSTEM_MANUFACTURER="Acorn"
+SYSTEM_RELEASE="1981"
+SYSTEM_HARDWARE="computer"
+SYSTEM_PATH="/storage/roms/bbc"
+SYSTEM_EXTENSION=".ssd .dsd"
+SYSTEM_PLATFORM="bbc"
+SYSTEM_THEME="bbc"
+SYSTEM_WIKI_PATH="bbc"
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/H700/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/H700/SUPPORTED_EMULATORS_AND_CORES.md
index f27144b658..6b112ba068 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/H700/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/H700/SUPPORTED_EMULATORS_AND_CORES.md
@@ -6,6 +6,7 @@
| System|Ports (ports)|System|`ports`|.sh|**portmaster:** portmaster (default)
|
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
| System|Tools (tools)|System|`modules`|.sh||
+|Acorn|BBC Micro (bbc)|1981|`bbc`|.ssd .dsd|**retroarch:** b2 (default)
|
|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/SM8250/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/SM8250/SUPPORTED_EMULATORS_AND_CORES.md
index 61adc7690f..63100919d3 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/SM8250/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/SM8250/SUPPORTED_EMULATORS_AND_CORES.md
@@ -6,6 +6,7 @@
| System|Ports (ports)|System|`ports`|.sh|**portmaster:** portmaster (default)
|
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
| System|Tools (tools)|System|`modules`|.sh||
+|Acorn|BBC Micro (bbc)|1981|`bbc`|.ssd .dsd|**retroarch:** b2 (default)
|
|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
diff --git a/projects/ROCKNIX/packages/emulators/libretro/b2-lr/package.mk b/projects/ROCKNIX/packages/emulators/libretro/b2-lr/package.mk
new file mode 100644
index 0000000000..a97cf28ae9
--- /dev/null
+++ b/projects/ROCKNIX/packages/emulators/libretro/b2-lr/package.mk
@@ -0,0 +1,40 @@
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
+#
+# This Program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This Program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC.tv; see the file COPYING. If not, write to
+# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+PKG_NAME="b2-lr"
+PKG_VERSION="ffcfcddc5ba05a97e04372672879bc25284ff653"
+PKG_LICENSE="GPLv3"
+PKG_SITE="https://github.com/zoltanvb/b2-libretro"
+PKG_URL="https://github.com/zoltanvb/b2-libretro/archive/${PKG_VERSION}.tar.gz"
+PKG_DEPENDS_TARGET="toolchain"
+PKG_LONGDESC="Adaptation of Tom Seddon's b2 emulator for BBC Micro"
+
+PKG_TOOLCHAIN="make"
+
+make_target() {
+ cd ${PKG_BUILD}/src/libretro
+ make -j$(getconf _NPROCESSORS_ONLN) clean
+ make -j$(getconf _NPROCESSORS_ONLN)
+}
+
+makeinstall_target() {
+ mkdir -p ${INSTALL}/usr/lib/libretro
+ cp b2_libretro.so ${INSTALL}/usr/lib/libretro/
+}
diff --git a/projects/ROCKNIX/packages/emulators/libretro/b2-lr/patches/01-fix-gcc14.patch b/projects/ROCKNIX/packages/emulators/libretro/b2-lr/patches/01-fix-gcc14.patch
new file mode 100644
index 0000000000..843c8592a8
--- /dev/null
+++ b/projects/ROCKNIX/packages/emulators/libretro/b2-lr/patches/01-fix-gcc14.patch
@@ -0,0 +1,17 @@
+diff --git a/src/shared/h/shared/system.h b/src/shared/h/shared/system.h
+index f5f38b34..2d765a07 100644
+--- a/src/shared/h/shared/system.h
++++ b/src/shared/h/shared/system.h
+@@ -289,7 +289,11 @@ int vasprintf(char **buf, const char *fmt, va_list v);
+ //
+ // See https://lwn.net/Articles/612244/
+ #ifndef HAVE_STRLCPY
++#if __GNUC__ >= 14
++extern "C" size_t strlcpy(char *dest, const char *src, size_t size) noexcept;
++#else
+ size_t strlcpy(char *dest, const char *src, size_t size);
++#endif
+ #endif // HAVE_STRLCPY
+ #endif
+
+
diff --git a/projects/ROCKNIX/packages/virtual/emulators/package.mk b/projects/ROCKNIX/packages/virtual/emulators/package.mk
index 3ea9ba63aa..eaaa481eca 100644
--- a/projects/ROCKNIX/packages/virtual/emulators/package.mk
+++ b/projects/ROCKNIX/packages/virtual/emulators/package.mk
@@ -13,7 +13,7 @@ EMUS_32BIT=""
PKG_RETROARCH="core-info libretro-database retroarch retroarch-assets retroarch-joypads retroarch-overlays slang-shaders"
-LIBRETRO_CORES="81-lr a5200-lr arduous-lr atari800-lr beetle-gba-lr beetle-lynx-lr beetle-ngp-lr beetle-pce-lr beetle-pce-fast-lr \
+LIBRETRO_CORES="81-lr a5200-lr arduous-lr atari800-lr b2-lr beetle-gba-lr beetle-lynx-lr beetle-ngp-lr beetle-pce-lr beetle-pce-fast-lr \
beetle-pcfx-lr bsnes-mercury-accuracy-lr bsnes-mercury-balanced-lr bsnes-mercury-performance-lr beetle-supafaust-lr \
beetle-supergrafx-lr beetle-vb-lr beetle-wswan-lr bluemsx-lr cap32-lr crocods-lr daphne-lr doublecherrygb-lr \
dosbox-core-lr dosbox-pure-lr easyrpg-lr emuscv-lr fake08-lr fbalpha2012-lr \
@@ -141,6 +141,10 @@ makeinstall_target() {
### Apply documentation header
start_system_doc
+ ### Acorn BBC Micro
+ add_emu_core bbc retroarch b2 true
+ add_es_system bbc
+
### Panasonic 3DO
add_emu_core 3do retroarch opera true
add_es_system 3do