Here's preview emulation of one of the newest Apple II mass storage cards, the BOOTI.

[Linked Image from rbelmont.mameworld.info]

This card is interesting because it uses an off-the-shelf circuit module called a CH376, which was made to give Arduino-type systems access to files on a USB thumb drive or SD card. It has USB 2.0 and SD Card interfaces, and on the host side it allows you to create, enumerate, read, and write files on those devices via a command set that largely mirrors C stdio's FILE * operations. There are 3 host interfaces which you can use to do this: async bit serial, 4-wire SPI for Arduino/Pi/modern microcontrollers in general, and a Z80-ish 8-bit bus interface (8 data lines, chip select, read and write enable lines, one address line, and an IRQ output).

The heart of the CH376 is a 28-pin SOIC chip also labeled "CH376". There is no external ROM on the module (which is actually pretty tiny). So I've made it an HLE device which directs accesses to a directory on MAME's host system. My current idea is to add a share_directory to mame.ini which this and potentially other host file sharing implementations can use. With the existing firmware, this isn't exactly host file access, but the card has 64K of flash ROM space available, and it's fully rewritable from software (I've even tested reflashing the card in MAME, it works fine).