/Bine

Bine is not an emulator but it can run some BBC Micro ROMs in a shell

Primary LanguageHaskellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Bine

Run BBC Micro ROMs on a modern computer.

Status

This isn't intended to be a complete project. It's just a playground for me to learn a bit about the BBC Micro internals. But you can run many BASIC programs with it as long as you don't expect correct graphics or sound.

The purpose of Bine is to run BBC Micro ROMs without emulating BBC Micro hardware. The BBC Micro operating system had a well-defined API so instead of mapping OS calls to emulated BBC hardware they are mapped to OS calls on the host operating system. This means you have a BBC Micro with access to your native file system. For example you can run authentic BBC Basic in a modern environment.

Because it doesn't emulate the BBC Micro hardware, Bine Is Not an Emulator, though it does contain a 6502 emulator.

You need to have cc65 in your path. On my Mac I installed it with

    brew install cc65

You need to have Stack installed because it's written in Haskell. There are instructions for that.

Once you have Stack installed you can enter the root directory of the Bine project and run BASIC with

    sh scripts/run_bbc

You'll need to have a BBC Basic ROM stored in roms/BASIC.

Bine screenshot

Goals

I have a number of goals. One is to resurrect the first compiler I ever worked with. It's here. Another goal is to have a look at some of the alternative languages that you could get for the Beeb. Comal already runs. I think Lisp does. Having some issues with OS errors in the various Forths available. And one major goal is to get BCPL, a predecessor of C, up and running.

I don't intend to do graphics, sound or anything like that.

You can, of course, compile and run 6502 code from BBC Basic.

Also

I like Bine by Autechre: https://www.youtube.com/watch?v=6ZRkOhu3KLY