[ Home | Up | Disclaimer ]
In 2004 John Kortink in the Netherlands announced GoMMC, heralding and arguably inspiring the present wave of new hardware products for the BBC Micro, Master and Electron. GoMMC is a compact, self-contained circuit board that plugs into a paged ROM socket and enables read-write access to vast libraries of software stored on an MMC memory card.
Why would someone build and sell a device like GoMMC? Similar add-ons are popular for other early home computers and can regularly be seen at retro gaming expositions. Floppy discs and cassettes from the period have frequently degraded, along with the drives to load them and even so, their authentic slowness or lack of capacity is inadequate for the younger user, the time-pressed nostalgic professional or the computer exhibitor, each armed with a huge collection of downloaded games to try.
MMCs themselves are slim cousins of the ubiquitous SD card. Though harder to obtain, they remain competitive with capacities up to at least 4GB. MMCplus, MMCmobile, RS-MMC and classic MultiMediaCards are all suitable and can be bought online, retail, second-hand or with your interface. Conveniently most PC card readers and cameras accept MMCs, but the more plentiful SD card will not fit the GoMMC's onboard socket.
The mainboard is solidly constructed and feels pleasingly substantial. Fitting is a simple two-minute procedure, and in the BBC machines the board hides neatly inside the case. For the Electron a GoMMC adaptor board (sold separately) or a contemporary ROM box will connect the unit to the expansion port; as a bonus the adaptor features a utility socket to accommodate 128K of paged ROM or RAM.
As software compatibility is critical to the success of a Flash upgrade, GoMMC is designed for minimum impact on the micro’s resources, and it is the two special-purpose chips on board that make the design practical. The driver firmware, and all its working memory, resides in half of a 32K non-volatile FeRAM chip mounted between the paged ROM header pins; the other half acts as a free bank of reprogrammable paged ROM, which in the Model B is made accessible by a supplied ROM adaptor. This is a convenient place to put one of the keys unlocking GoMMC’s power: a set of eleven DFS and ADFS ROM binaries, minimally patched to divert low-level media accesses to a partition on the memory card managed by GoMMC, no disc interface required. The other chip is an Altera CPLD in a bulky square socket. The custom logic inside communicates with the card and also controls the FeRAM: by a clever separation of the address space, the firmware signals reads and writes through the host’s read-only socket.
To applications, the expanded system appears identical to a machine running authentic DFS or ADFS, with no extra memory consumed, in this way compatibility with all the old software is kept extremely high. Filing system ROMs can be automatically loaded into FeRAM or sideways RAM on power-up, and swapped using the *MMCReset command.
As with other Flash solutions, the absence of moving parts is a big plus. What really makes GoMMC stand out, besides its read-write ability, is the organisation of content on the MMC: a custom catalogue partitions the card into potentially thousands of virtual discs, each with a 48-character name, especially convenient for large pre-arranged software archives such as those found online. Each disc can be any size, to suit large ADFS volumes or to pack together part-full DFS images. The card can also store filing system ROMs, utility programs for quick access by the *MMCTool command and, uniquely, virtual cassette tapes playable with the aid of a replacement OS ROM supplied by the user.
Selecting a disc for use is straightforward: –
A disc can then immediately be booted with Shift-Break, for instance. All four commands accept wildcard *s anywhere in <name>, creating search tools that are quite powerful when dealing with fully-loaded cards. To help organise large collections
For even greater ease-of-use Kortink provides MMCmenu, an interactive selection tool.
Management of the GoMMC system is provided by the GoMMCIO utility for Windows XP and x86 Linux, and by a suite of programs for the BBC and Electron. Thoughtfully, the mainboard and memory card can be set up and populated without involving a PC: discs can be rapidly copied to and from the card with the MMCADI and MMCFlop utilities, in conjunction with a disc interface and its original ROM. (GoMMC can be configured to unplug other paged ROMs to help switch between real and virtual filing systems). Kortink however recommends using GoMMCIO, which has more comprehensive features such as: –
The system opens up a viable route to and from the PC now that floppy drives and RS232 ports have all but disappeared. It would be the perfect bulk-archiving solution for crates full of ageing floppies, but MMCADI gives up on the inevitable bad discs far too soon.
Since the introduction of GoMMC, its feature set has grown organically. Fortunately the latest software (v1.11) is distributed as a single archive including a restructured and much clearer HTML manual. To demonstrate the high throughput of 220K per second, Kortink has also released astonishing demonstrations of full motion video. A number of owners have reported frequent hang-ups due to corruption of firmware in the FeRAM; Kortink has addressed this with the latest binaries and CPLD chip but to improve electrical contact I have had a turned-pin ROM socket fitted to my Model B. Altogether these have cured the problem and my interface now operates reliably.
GoMMC, while explicitly a hobby project, nevertheless receives punctual, and exhaustive, personal support from John Kortink. Additionally a mailing list has been set up for owners. Six years on, alternative flash expansions from the basic to the baroque give the product stiff competition; however it is still a great solution to turn your 8-bit Acorn into a convenient, all-in-one games machine.
Warning: You are using this Web site at your own risk. The author of the files contained herein accepts no liability for any loss, injury or death, of any nature and howsoever caused, arising directly or indirectly from the use of, or failure, inability, or unwillingness to use, this Web site or the files contained herein. The aforementioned author accepts neither responsibilty nor liability for the content of linked Internet sites.Greg Cook,
[ Top of page ]