I linked to the excellent MMBeeb project in an earlier post. It's been at the top of my project list again as I'm taking a pile of BBC B computers to TechAdventure which I'll be attending at the end of the month. I'm hoping to talk about MMC, old computers and the conjoining of the two. I'll have a table full of retro equipment to show, and some to sell.
As one of the first MMC projects I undertook, the MMBeeb board was a stepping stone that led much further than I expected. Whilst revisiting it in the light of all the knowledge I've acquired since then I've come to the conclusion that there are some subtle bugs with the original hardware. I'm hoping to contact the originator of the project and see what he thinks. I'll post an update here as soon as I've determined if I'm on the right path. In the mean time enjoy the view:
The revised circuit uses the same standard resistor divider as used on every other MMC interface I've ever made and a 3v3 regulator. That's it. It's not the hardware that makes MMBeeb special though - it's the software. It's a stupendously slick DFS conversion that integrates smoothly into a system. It also works with a second processor, which is an indication of the care and attention to detail that Martin has put into his work. And for the few paltry Great British Pounds that it costs for one of these you'd be crazy not to..!
Sorted by Squirrels.
Wednesday, 11 February 2009
Libraries
It's all go at the moment. Last weekend I attended my first DorkBot London meeting. I must confess I didn't really know what to expect but spent a very pleasant, if cold, day in the company of feverishly soldering artists and makers. I spoke to many people about uFat and the new DevicePrint library. This is some code that allows formatted textual output to a buffer in memory and thus onto some form of persistent storage...
You can get the new library here SMB_LIBRARIES. It adheres to the principles introduced in uFat:- it is lightweight and device agnostic. It should work with any storage medium as long as there is a function available to write a 512 byte sector.
The the code is initialised with a pointer to a buffer, some basic information about the destination sector area, and a writer function. From that point on you are free to use the familiar .print() functions which are best known in their Serial library incarnation. The Arduino base library provides you with so much more than a blinking LED ;)
As usual (1) - there is copious documentation in the form of comments and an example sketch configured to use MMC storage for you to play with. If you wanted to try it out without any devices available then you could always change the write proxy routine to dump the stored data to serial.
As usual (2) - comments welcome!
Toasted and
You can get the new library here SMB_LIBRARIES. It adheres to the principles introduced in uFat:- it is lightweight and device agnostic. It should work with any storage medium as long as there is a function available to write a 512 byte sector.
The the code is initialised with a pointer to a buffer, some basic information about the destination sector area, and a writer function. From that point on you are free to use the familiar .print() functions which are best known in their Serial library incarnation. The Arduino base library provides you with so much more than a blinking LED ;)
As usual (1) - there is copious documentation in the form of comments and an example sketch configured to use MMC storage for you to play with. If you wanted to try it out without any devices available then you could always change the write proxy routine to dump the stored data to serial.
As usual (2) - comments welcome!
Toasted and
Subscribe to:
Posts (Atom)
Contact Form
This is how we do it
MMC
(9)
acorn atom
(7)
sord m5
(7)
zx81
(7)
multicart
(6)
arduino
(5)
Sord
(4)
tatung einstein
(4)
Atari 800
(3)
Chuckie egg
(3)
M5
(3)
M5Multi
(3)
c128
(3)
sd card
(3)
sd2iec
(3)
sio2sd
(3)
6502
(2)
Max6956
(2)
QL
(2)
RCM
(2)
assembler
(2)
avr
(2)
c64
(2)
cadsoft eagle
(2)
eeprom
(2)
einSDein
(2)
mmbeeb
(2)
multi-cart
(2)
spi
(2)
system 80
(2)
ufat2
(2)
vic20
(2)
video genie
(2)
6502 second processor
(1)
6522
(1)
8255
(1)
Acorn BBC Micro
(1)
Apple 2e
(1)
Apple ][ 2 two
(1)
BBC 6502 second processor
(1)
BBC micro
(1)
DevicePrint
(1)
Double Choc Chip Muffins
(1)
FAT
(1)
IO
(1)
Jupiter Ace
(1)
LED
(1)
Master 128
(1)
PCB
(1)
PIC
(1)
POV
(1)
PROGMEM
(1)
Pineapple
(1)
ST
(1)
Spectrum 128
(1)
antex
(1)
arcade spinner
(1)
arduino shield
(1)
atari
(1)
atmel
(1)
bakewell tart
(1)
beer
(1)
bird's nest
(1)
bitbucket
(1)
brokenated XC special
(1)
cake
(1)
cassette
(1)
cassette interface
(1)
colecovision
(1)
compact flash
(1)
convert
(1)
dac
(1)
de-yellowing
(1)
dev cart
(1)
development tool
(1)
eaca
(1)
efficient
(1)
einsdein. z80
(1)
esp32
(1)
esp8266
(1)
eye strain
(1)
failosophy
(1)
filesystem
(1)
finally
(1)
fram
(1)
french polishing
(1)
fuse
(1)
fuses
(1)
game development
(1)
games
(1)
gaming
(1)
github
(1)
glue
(1)
google chrome
(1)
heroic failure
(1)
high voltage programming
(1)
hot irons
(1)
if
(1)
jiffydos
(1)
joey beltram
(1)
lego robot
(1)
library
(1)
lying
(1)
machine code
(1)
matron
(1)
microcode
(1)
mmc interface
(1)
mmc2iec
(1)
mmm
(1)
mouse guts
(1)
oscilloscopes
(1)
pcm
(1)
pic32mx
(1)
porn
(1)
proto shield
(1)
purple
(1)
repo
(1)
retro computer museum
(1)
retro hard-on
(1)
rom box
(1)
sd
(1)
sd-x
(1)
sd2mmc
(1)
seadragon
(1)
silliness
(1)
small
(1)
software master
(1)
soldering
(1)
spi software master
(1)
stray capacitance
(1)
string
(1)
techadventure
(1)
test equipment porn
(1)
ts1000
(1)
turtle cheesecake
(1)
tweaking
(1)
vc20
(1)
video head
(1)
video ram replacement
(1)
weewee
(1)
wingasm
(1)
wire library
(1)
wodges of IO
(1)
xilinx cpld
(1)
yellowing
(1)
z80
(1)
zx spectrum
(1)
zxpander
(1)
About Sir Morris
Unless otherwise stated all of the original work presented here is:
Licensed under a Creative Commons Attribution-Noncommercial 2.5 Generic License.
The work of others where referenced will be attributed appropriately. If I've failed to do this please let me know.
Licensed under a Creative Commons Attribution-Noncommercial 2.5 Generic License.
The work of others where referenced will be attributed appropriately. If I've failed to do this please let me know.