MB03+ Ultimate
The MB03+ Ultimate is a compact all-in-one interface, made by LMN128, that replaces more than 25 single hardware and system add-ons. It is compatible with many popular sound, graphics and memory expansions and also with several modern storage interfaces. The MB03+ is not a self-running FPGA computer, such as the ZX-UNO or the NEXT.
This interface provides graphic, sound and other hardware enhancements, even for basic ZX Spectrum model. It imitates a lot of combinations of small single interfaces joined together to the computer and improves some functionalities of software, e.g. displays the Gigascreen without flickering. The basic concepts of the device include the possibility of using modern PC peripherals with an old 8-bit home computer. Operating systems in the MB03+ support standard PC FAT-formatted media: SD card cards and CompactFlash cards. The MB03+ works with PC USB mice and keyboards that support the PS/2 protocol and it can be also connected to LCD TVs and PC monitors with HDMI input via an universal digital video output connector.
All development and production of the MB03+ is a hobby project on non-profit basis.
History
The story of the MB-family interfaces goes to 1990, when the AP-01, a ZX Spectrum compatible computer was created by Slovak coder and designer Róbert Letko, named MDV. The computer consisted of various peripherals and supporting circuits: 8255, 8251, Z80-CTC, Z80-DMA and also with a floppy disk drive. Almost the same progressive equipment had an interface made by Slovak coder Slavomír Lábsky (Busy): WD2797 and Z80-DMA chips, 64KB battery-backed additional RAM, two 8255 with six parallel ports, memory LED maps and connectors for two disk drives. And so the name "MB" came from nicknames of the authors - MDV and Busy.
Around 1996 the MB-01 was substantially improved to the MB-02. Then two Moravian Speccy-fans, Last Monster (aka LMN128) and Blazko/systems, associated in the 8bc group, made a new MB-02+ with a RTC chip, a bigger RAM up to 512KB, a booting EPROM and 4 disk drives. About 90 MB-02+ units were produced and delivered mainly to Germany, Austria, Slovakia, the Czech Republic, the Netherlands, the United Kingdom and Poland. After years, the design of the new MB03+ continues with the same philosophy of expanding the old good ZX Spectrum computer for modern times, in an effort to overcome the limitations that arise with new chips and modern peripherals when connected to older circuity of a 8-bit home computer.
Basic hardware
- Xilinx Spartan 7 XC7S50, the FPGA brain of the machine, with 484pins
- 16MB SRAM
- 4MB Fast SRAM
- 2MB FlashRAM
- 8KB FRAM for the system info and the BIOS config
- Maxim DS3234 - extremely accurate SPI bus Real-time clock with integrated crystal and SRAM
- UART with a Wi-Fi ESP8266 module
- Matrix LED display
The MB03+ is internally expandable (incl. every type of RAM), through two expansion sockets.
The hardware design meets the requirements of the ZX Interface standard, that is, as a ZXI™ compliant device, the MB03+ is inter-operable with other compliant interfaces without conflicts. It shares a common range of ZXi ports with the eLeMeNt ZX computer and also several ZXi ports with the famous ZX-Uno family.
Connectors and buttons
- 2x microSD cards sockets
- CompactFlash(IDE) card socket
- Type-A USB (for a PC-mouse)
- Mini-B USB (PC-link and update connector)
- Digital video and audio (e.g. HDMI)
- Stereo jack output
- Reset, Extra and NMI buttons
Memory layouts
The MB03+ can work in several operational modes, based on memory configurations. It can operate with its own or with legacy memory models, so-called "machines". It is possible to switch between machines. The basic memory paging size is 8KB. All-RAM mode (with or without a write protection) is supported. Other various interfaces, configurations and I/O ports, incl. extra ROMs, implemented in the MB03+, can be programmable switch on or off independently on the selected machine.
Currently the MB03+ provides these machines:
- ESXDOS Ultimate with a memory of 7MB RAM and 64KB FlashRAM
- BSDOS Ultimate with a memory of 7MB RAM and 64KB FlashRAM
- recovery/rescue mode
Because the MB03+ is only an external interface and original ZX Spectrum models do not have a RAM/CS signal on their expansion buses (as was a case with the previous ZX-80 and ZX-81 models), it cannot map the upper part of the computer's memory. However, this issue is solvable when handling a second videoRAM and graphics modes.
Four UserApp ROMs and eight system CustomROMs are part of the MB03+ firmware and can be (auto)run instead of the ZX BASIC ROM.
Other hardware via FPGA
- Z-Controller SD slot
- LCU – hardware calculator and LED display controller
- I/O ports-based LIFO stack
- RTC-72421 (MB-02 legacy)
- Z80-DMA
- K-Mouse interface (3 buttons supported)
- PC keyboard
Graphics enhancements
- Timex Hi-Color graphic mode (8*1 attributes)
- Timex Hi-Res graphic mode (512*192 pixels)
- ULA+ colour palette
- HiRes Colour graphic (HRC) of 512*192 pixels and 64*48 attribute cells
- HiRes Indexed Colour graphic (HRXC) with 32 indexed colours from the full BGR palette
- 3 types of Gigascreen graphic mode
- KeyLayer (Transparent) graphic mode
- Radastan, ZX-Uno based graphic of 128*96 pixels with 16 ULA+ colours
- legacy TV scan-line mode (7 levels)
The HiRes Colour graphics takes 12KB of memory and stores pixels in a linear way at the place of the first or the second videoram page. In the HRXC mode the flash bit in colour attributes is not present and the number of colours is enhanced.
Gigascreen is not originally a real graphic mode. It's an effect created by quick changes of screen images. Some TVs, old CRTs or LCD monitors can combine these images, each does this effect a little differently, but most of them produce a mix of colors. On the MB03+, screens are mixed in advance and then a digital output is generated, thus achieving a more perfect display, without flickering the image, on modern digital display devices.
The new KeyLayer graphic mode allows to display image data from the second video RAM at the place of one selected color in the video RAM no.1. This adds a third colour into an attribute cell.
The MB03+ can present the second video-ram, normally used on 128K computer models only, also with a basic ZX Spectrum 48K, when reading a shadow screen (normally stored in a 128K ram-bank no.7) from the address C000h. Similarly, the normal screen from the address 4000h can also be switched to the address C000h (like the the 128K ram-bank no.5).
Sound enhancements
- General Instrument AY-3-8910/YM2149F soundchip (ACB/ABC)
- TurboSound (2x or 3x AY/YM)
- 2x Yamaha YM2203 soundchip (TurboSound FM)
- Philips SAA1099 soundchip
- Sound Interface Device (SID) soundchip
- MonsterBlaster (Soundrive/Czech DA/Stereo Covox)
- SpecDrum
- General Sound
- ULA Sound (Beeper)
Compatibility with other interfaces
The MB03+ was tested and works fine with ZX-HD and ZX-VGA-JOY. It may be risky and is not suggested to connect devices that are already implemented in the MB03+, such as DivMMC or K-mouse interfaces. The full list of hardware, interfaces and accessories tested so far is written in the annex to the MB03+ Quick Start Guide.
Firmware
The firmware consist of a BIOS and a startup for installed operating systems and modes and also a detailed setup menu in order to configure or completely switch-off any part of hardware expansions.
Based on internal counters in the MB03+, the BIOS provides an info about time of use, number of button presses and device start-ups. From these data are following levels of user experience evaluated: "Loser", "Rookie", "Novice", "Beginner", "Enhanced", "Geek", "Guru" and "Ultimate".
Operating systems
Basically, the MB03+ can start (and switch between) 3 operating systems in a configuration for DivMMC, DivIDE and MB hardware.
- esxDOS for divMMC (or UnoDOS)
- esxDOS for divIDE or +divide, ResiDOS, MDOS3
- BSDOS for MB-02/MB03+
- TRDOS (via esxDOS)
From the start menu it is possible to run directly one of the 4 UserApp ROMs.
CustomROM
With the MB03+ connected, the ZX BASIC stored in ROM can be partly or fully switched off. The MB03+ does extra ROMs in combination of
- 8x16KB ROM
- 4x16KB ROM and 1x64KB ROM
- 2x64KB ROM
The 64KB ROM system is identical to the ROM paging of the ZX Spectrum +3/+2A.
Alternative and esxDOS-compatible ROMs tested on the MB03+ are:
- 64Char 16KB ROM
- "Pretty" Color 16KB ROM
- GAMA81 16KB ROM
- GOSH Wonderful 16KB ROM
- GROOT 16KB ROM
- IMC 16KB ROM
- Derby PRO 64KB ROM
Software
The interface is designed to run all software for ZX Spectrum computers, incl. software written for specific (Mid- and East-European) Speccy-clones and their peripherals, such as a Beta Disk drive interface or General Sound and TurboSound FM sound interfaces. Most software run smoothly without having to change the setup.
Software that uses special options and expansions of the MB03+:
- esxDOS v0.8.9 by lordcoxis - an advanced operation system with FAT16/FAT32 read/write support, virtual disks (images) support, TR-DOS and tape emulation using TRD and TAP files, extended BASIC commands, BASIC files integration using +3DOS headers for FAT filesystems, system "DOT" commands and POSIX-based API
- TurboSound FM Demo by LMN128 and Lanex, a demo with more than 100 FM tunes for YM2203
- HQ Digital Audio Demo by LMN128, with 15MB sample based music and Gigascreen graphics
- HRC PRINT Driver by Lanex
- LnxCopy by Lanex, a modern copy and transfer program and editor for the esxDOS, between tape casettes, TAP files and PC FAT formatted card used in esxDOS; manages advanced operations like creating TAPs and appending to TAPs, creating and browsing directories, smart renaming etc.
- LnxCommander by Lanex, a Opus-Directory-like file manager for the esxDOS, with the HRC and the K-Mouse support
- WifiSetup by Hood
- WifiBIOS by Hood and Busy
- Wifi (http) downloader by Lanex, Hood and Busy
- Moon Rabbit by Nihirash, gopher browser
- utilities TimeSync, SoftwareUpdater and WifiConnection by Shrek
- ReFlasher by Zoom, a tool which helps customize easily a set of operating systems and system ROMs
- NSID Player Pro by Neo Spectruman, an advanced SID-files music playe, versions for TSFM and for FPGA-SID implemented in the MB03+
- S98 Player by Neo Spectruman
- General Sound Control by Nihirash, esxDOS dot command
- Z-Player by E. Muchkin, music player
- Subliminal Extacy #4 by lordcoxis, the e-mag in the 64*24 characters format possible in the HRC mode
- Tochi by Busy, adapted for HRC graphics
- This is World of WarCraft by Lanex, HRXC animated movie
- Monty on the Run by Hood, SID music added
- Masters of Magic by Hood, SID music added
- Radastan Mandelbrot
- Radastan Control by SCjoe, esxDOS dot command
Emulation
The MB03+ is emulated in the LnxSpectrum emulator, that provides most functionalitites of the interface, incl. the General Sound interface and some eLeMeNt ZX expansions. The emulator can be used as a powerful software development studio (assembler, debugger, memory visualiser, sprite finder) for the all eLeMeNt/MB03+ platform.
External links
- MB03+ Ultimate Website
- Quick Start Guide with a list of supported and tested hardware
- MB03+ Ultimate Programmer´s Reference
- MB03+ Ultimate emulator for Windows and Linux/Wine
- Firmware source code
- Software sources for MB-02+ and MB03+ Ultimate
- MB03+ software collection
- Utilities for the MB03+ by Hood
- Utilities for the MB03+ by Lanex
- Utilities for the MB03+ by Shrek
- Indie Retro News review
- esxDOS for MB03+
- esxDOS-based software collection
- Comparison (2019): MB03+ vs. single interfaces
- MB02 disk interface - predecessor of the MB03+ (Czech)