Skip to content
David Banks edited this page Mar 9, 2020 · 49 revisions

Contents

Overview

The BeebFpga project now includes two cores for the Spectrum Next:

  • a BBC Micro (Model B) core, using the cycle accurate T65 6502 implementation
  • a BBC Master core, using Alan Daly's 65C02 implementation

These cores include a common set of features:

  • High quality VGA output @ 50Hz
  • Original sRGB SCART output @ 50Hz
  • Membrane Keyboard support
  • Beeb SID support
  • Music 5000 support
  • Internal 4MHz 65C02 Co Processor (for Tube Elite!)
  • VideoNuLA (an extended colour palette and additional screen modes)
  • MMFS SD Card File System

There are further features in develoment that are currently disabled in this release:

  • an ICE 6502/65C02 debugger (uses the ESP Wiki connector as a 115,200 baud serial port)
  • an external Pi Tube Direct Co Processor (uses the Pi Accelerator connector)

These are disabled because of possibile compatability issues with the normal use of the Spectrum Next Wifi Module and Pi Accelerator.

Known Issues

  • The PS/2 Keyboard does not work in this release

Installation

The latest version of the Spectrum Next BeebFpga cores can be found here: https://github.com/hoglet67/BeebFpga/releases/latest

It contains the following files:

./cores/AcornMaster/adfs.rom
./cores/AcornMaster/bbc_master_spec_next.bit
./cores/AcornMaster/boot.ssd
./cores/AcornMaster/dfs.rom
./cores/AcornMaster/edit.rom
./cores/AcornMaster/launch.bas
./cores/AcornMaster/owl.rom
./cores/AcornMaster/view.rom
./cores/AcornMaster/viewsht.rom
./cores/AcornModelB/bbc_micro_spec_next.bit

These should be copied onto your Spec Next SD Card.

Follow the normal process to install the core as your extra core:

  • copy the appropriate core .bit file to the SD card root directory, and rename it to CORE001.bit
  • hard reset the Spectrum Next while holding down the C key to launch the Extra Core Updater
  • press Y to write the extra core to FLASH
  • hard reset the Spectrum Next
  • from the Spectrum Basic command line, type reg 16,255 to switch to extra core

ROMs

Both the BBC Micro (Model B) and BBC Master Cores contain 64KB of ROM data in the .bit file. This is sufficient to provide a runnable system (i.e. OS, Basic and a SD File System). So if all you want to do is to play games, you don't need any additional ROMs.

In the case if the BBC Master Core, several standard ROMs (DFS, ADFS, Edit, View and View Sheet) are omitted, as is the Owl Logo ROM. There is a ROM loader Basic program provided in /Cores/AcornMaster/launch.bas that will pre-load these missing ROM images into memory (at the right banks), then switch to the core. Running this program is a convenient way to start a complete BBC Master system.

MMFS SD Card File System

MMFS is a modern SD Card File System, widely used in the Acorn community, and is included as standard in the Beeb FPGA Cores. MMFS uses a FAT16/32 formatted SD Card containing a single file called BEEB.MMB. This file is normally ~100MB, and is a concatenation of 511 raw 200KB 80-track disc images.

There are two limitations with MMFS's use of the SD Card:

  • BEEB.MMB must be one of the first 16 files in the root directory
  • BEEB.MMB must be contiguous (i.e. it cannot be fragmented)

For these reasons, it's recommended that you use a seperate SD card for MMFS.

However, it is possible to build a SD card that contains both MMFS's BEEB.MMB file, and the Spec Next distribution, by following these steps:

  • start with freshly formatted SD Card (FAT16 or FAT32)
  • copy the BEEB.MMB file to the SD Card
  • copy the Spec Next distribution files to the SD Card
  • copy the BeebFpga additional core files to the SD Card

Here is a link to a standard BEEB.MMB file: https://github.com/hoglet67/BeebFpga/releases/download/specnext_beta1/BEEB.MMB.zip

It contains the following

  • Disk 0: Stairway to Hell Archive MENU
  • Disk 1: Beeb FPGA Support Disk
  • Disk 2: MMFS 1.44 ROM images
  • Disk 3: Klaus Dormann 6502 Test Suite
  • Disk 4: Bruce Clark BCD Test Suite
  • Disks 20-252: Stairway to Hell Archive Disks
  • Disk 299: 6502 Co Processor Life
  • Disks 301-315: Beeb SID Demos
  • Disk 320: Music 5000 System Disk
  • Disks 323-352: Music 5000 Compilation Disks
  • Disk 360: Bad Apple
  • Disk 370: Video NulA System Disk
  • Disk 371-377: Video NulA Demo Disks (gallery, games, etc)
  • Disk 400-437: Retro Software Games

See the examples section below for some things to actually try out!

The complete MMFS Command Reference can be found here: https://github.com/hoglet67/MMFS/wiki/Command-Reference

Basic Operation of the Core

The buttons on the side of the Spec Next are used by the core as follows:

A short press on the Red (Reset) button will perform a power-up reset on the Beeb Core. This should recover from any possible program crash.

A long (1s) press on the Red (Reset) button will reconfigure the system back to the Spec Next core. This saves having to power cycle.

A short press on the Green (Drive) button will toggle the internal 65C02 Co Processor on/off. Initially it is off. A Control-BREAK is needed after changing this setting. (Control is mapped to the GRAPH key)

A short press on the Yellow (NMI) will cycle through four different video output modes:

  • Mode 0: RGB SCART Video with Composite Sync
  • Mode 1: VGA, using the RGBtoVGA scan doubler for all screen modes
  • Mode 2: VGA, using the Mist scan doubler for all screen modes
  • Mode 3: VGA, using the Mist scan doubler for Modes 0-6, and native VGA output for Mode 7

All of these use the VGA connector; HDMI may be supported in a future release.

The RGB SCART mode is identical to an original BBC Micro. It requires a VGA to SCART cable, and a television woth an RGB capable SCART input.

The VGA modes are all 50Hz, so your VGA monitor must support 50Hz for this to work (many don't). I personally use a HP LP2065 monitor, which is excellent. Depending on the monitor, you may need to play around with the monitor's CLOCK and PHASE settings to get a good looking image.

The default video mode when the core starts is always mode 3.

Membrane Keyboard Mapping

Mapping the 58-key Spectrum Next keyboard to 74-key BBC Micro keyboard was somewhat of a challenge.

The mapping is as follows:

Spec Next Key Beeb Key
BREAK BREAK
EDIT ESCAPE
TRUE VIDEO TAB
INV VIDEO COPY
CAPS LOCK CAPS LOCK
GRAPH CTRL
CAPS SHIFT SHIFT
EXTEND See below
SYMBOL SHIFT See below
DELETE DELETE
ENTER RETURN
Up/Down/Left/Right Up/Down/Left/Right
A-Z A-Z
0-9 0-9
; ; and +
" : and *
, , and <
. . and >

This misses out the following Beeb keys:

  • @
  • ‐ and =
  • ^ and ~
  • / and |
  • [ and {
  • ] and }
  • _ and £
  • / and ?

To access these, it's necessary to use the Spec Next SYMBOL SHIFT as a modifier, which operates exactly as it does in the Spec Next core. For example, SYMBOL SHIFT + L should give you =. i.e. just look for the key cap with the symbol character you need.

Finally, the EXTEND key is also used as a modifier to access the 10 red BBC function keys. For example, F1 is Extend + 1.

PS/2 Keyboard Mapping

The PS/2 Keyboard mapping is the same as other Beeb Fpga implementations, and attempts to map keys by physical position.

For example, the Beeb ; key is next to L, and the Beeb : key is just to the right of that.

This can be confusing at first, but it gives a better experience when playing games (most of the time!)

Examples

These instructions all assume the Master version of the Core is loaded.

Planetoids

  • Shift-BREAK to boot STH Menu
  • 43
  • E
  • Enter

Rocket Raid

  • Shift-BREAK to boot STH Menu
  • 47
  • T
  • Enter

Pheonix (by Tricky)

  • *DBOOT 436

Tube Elite

  • Enable the Co Processor by pressing the Green DRIVE button
  • Control Break (Control = GRAPH key)
  • *DIN 45
  • *TUBEELT
  • Press Space
  • Press F0 (Extend-0) to launch

The flight controls are documented here: http://www.elitehomepage.org/playguide.htm#A14

And here's a scan of the original "Space Trader's Flight Training Manual": https://openretro.org/file/37a540d376344ac9add72431ecf70ab46dfb7fe4

The Spec Next keyboard layout is not ideal for this!

Music 5000

  • *DBOOT 320
  • *DBOOT 320
  • Use Up/Down/Enter to select "Load program"
  • enter filename: ppach
  • Enter to "Run program"

Other music files on this disc are:

  • concert
  • pavane
  • ppach
  • jukebox

After pressing Escape, F0 (Extend-0) will return to the menu.

Beeb SID

  • *UNPLUG 9
  • Control BREAK
  • *DBOOT 305 ( or any disk from 301 to 315)