Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Assembly C C++
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
BBC MICRO USB DISC FILING SYSTEM The UDFS is a patched Acorn DFS ROM (based heavily on Martin Mathers' patches for his MMBEEB project), which allows a "real" BBC Micro to "mount" disc images stored on a host computer (Windows, MacOSX, Linux) using a cheap USB cable. TODO * BBC cannot save data to disc images yet * Perhaps the choice of disc image should be made by the BBC? SOFTWARE You need the MakeStuff build infrastructure to build the code. For the 6502 code you need ACME, and for the AVR code you need AVR-GCC. The important code is in these three directories: udfs_rom - The ROM itself, in 6502 assembler. firmware - The USB cable AT90USB162 firmware. server - The "disc image server" program. There's also some other code here which will probably be of no use to anyone, but which I don't want to lose, so I put it here: d6502 - Hacky disassembler to get an ACME-compatible MMBEEB ROM source file. uptx_rom - Simple sideways ROM for passing arbitrary commands to host over USB. xbm2bbc - Image converter to make BBC MODE4 screen-memory dumps from XBM files. HARDWARE For the USB cable you will need a board based on the Atmel AT90USB162 or similar. Probably the cheapest option is to buy a Minimus board, which will cost about £5. Since you want the AT90USB162 to draw power from the Beeb, you need to cut the USB power line, as shown on the left in . You then need a 20-pin IDC connector and a short (~30cm) length of ribbon cable, connected like this: +-------------+-------------+ | IDC Pin | Minimus Pin | +-------------+-------------+ | 1 | VCC* | | 2 | PC4 | | 3 | VCC* | | 4 | PC2 | | 5 | GND | | 6 | PD0 | | 7 | GND | | 8 | PD1 | | 9 | GND | | 10 | PD2 | | 11 | GND | | 12 | PD3 | | 13 | GND | | 14 | PD4 | | 15 | GND | | 16 | PD5 | | 17 | GND | | 18 | PD6 | | 19 | GND | | 20 | PD7 | +-------------+-------------+ * Put a 10uF tantalum capacitor between VCC and GND You need to write the udfs_rom.bin image to a suitable EPROM and install it in your BBC Micro. You then need to program the AT90USB162 in your Minimus board with the supplied firmware. Finally, with the cable installed in your BBC's user port and your PC's USB port, you should be able to mount a disc image: sudo ./linux.x86_64/rel/server -v 03eb:3002 ../../images/elite_a.ssd Hit Shift-Break on the BBC and you're away!  http://swhs.home.xs4all.nl/bbc/mmbeeb/  http://www.makestuff.eu/wordpress/?page_id=1489  http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/  http://www.ck3.co.uk/minimus-avr-usb-development-board.html  http://www.swaton.ukfsn.org/uploads/2012/02/minimusAVRISP2.jpg