Skip to content

Enable BBC Micro to access web-based .ssd disc images over wifi

License

Notifications You must be signed in to change notification settings

8bitkick/ArduinoHost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ArduinoHost

Enables a BBC Micro to view an Arduino as a file system host over a serial connection.

Arduino connects to wifi, enabling the BBC Micro to mount a .ssd DFS disc image over the Internet. Using HTTP range requests it is possible to download just the catalogue information bytes, and using this information subsequently just the bytes relevant to a specified file.

Setup

Connect an Arduino MKR1000, running the sketch in this repository, to a BBC Micro running the UPURSFS client ROM.

Arduino software

The Arduino connects to your wifi AP and searches disc images on bbcmicro.co.uk, allowing to you load files (i.e. sections of a given .ssd hosted on the website) to the beeb. You will need to define the SSID and password in a secrets.h file, and either edit the IP address, gateway and DNS defined in the code or remove them to enable DHCP client. Edit as required, compile and upload to the Arduino. The Arduino will act as a file system host to the BBC Micro.

UPURSFS ROM

The required ROM can be downloaded from UPURSFS, burnt to EPROM and inserted in a spare BBC Micro ROM socket. NB - this sketch has been tested with HostFS:UPURS verison 0.03

UPURS connection

The Arduino is then connected to the BBC User Port as specified by UPURS. The sketch in this repository is currently specific to MKR1000 / SAMD21 based Arduino boards. This hardware requires all IO signals to be level shifted - 5v at the BBC and 3.3v at the Arduino. On the BBC side, UPURS also assumes RX and TX levels are inverted. In this set-up we are doing this in external hardware (with a SN74ACT14N) so the Arduino is presented with standard 115200 baud serial.

BBC Micro UPURS connection

.    .    nRX RTS   .    .    .    .   CTS  nTX
   
5V   .    .    .    .    .   GND   .    .    .
                    =====              
                                      

BBC User Port connection (looking into port with BBC upside down...)

Usage

Screenshot

With the BBC Micro powered on

  1. Connect to WiFi

*WIFI or <ctrl-break>

  1. Search bbcmicro.co.uk (max 10 results returned at the moment)

*SEARCH ARCADI

  1. Select a disc image number to mount from the search results.

*MOUNT 3

  1. Show remote .ssd contents

*.

  1. Run game!

CHAIN"ARCADIA"

Save

*SAVE currently sends BBC memory region to the Arduino serial montior.

When in MODE 7 typing *SAVE A 7c00 8000 will send BBC screen to the Arduino console

To do

This is just a proof of concept. Lots of tidy-up, debugging and optimization still required. And many TubeHost functions still need to be implemented.

Testing with existing games images online, Repton2, Knight Lore, Frak, Chuckie Egg have been run successfully. Elite and Dare Devil Denis currently fail.

About

Enable BBC Micro to access web-based .ssd disc images over wifi

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages