Back in Jul-15 I introduced the Lo-tech MIF-IPC-B, a clone of Roland’s MIF-IPC board that connects the legendary MPU-401 to the IBM PC. Unfortunately an error in the schematic in the address decoder meant the prototypes were effectively useless – but when does anything work first time?
So here at last is the Lo-tech MIF-IPC-B, rev.2 – hopefully with everything as it should be:
Finally a prototype of the new Lo-tech MIF-IPC-B board, a Roland MIF-IPC compatible adapter that combines the functionality of the original (multiple MPU-401 support) with the compatibility of the revised MIF-IPC-A board (for PC/AT systems). This board also has fully populated resource selector headers, for easier system integration.
Unfortunately the DB-25 is 2mm to far away from the ISA bracket but apart from that it looks good. Next step is to get this to someone that will know what to do with it and what it should be doing – so it’s being sent to a top-secret lab in Maryland testing. Watch this space!
I’ve been experimenting with 3D printing options for Lo-tech ISA card slot brackets for some time, the idea being for customers ultimately to print their own slot brackets at home as the technology becomes ever more accessible – the XT-CF-lite rev.2 adapter bracket is only currently available in .STL format.
Weight is 19g, and though slightly ‘ripply’ along the flat surface, this bracket has a great, solid feel and seems sturdy enough to take the force required to insert the card. Currently this process is quite expensive, but of course that should come down given time.
Unfortunately the PU coating on this prototype has left the card guides slightly too small for the CompactFlash card, but here’s a plain version (type 3), for example for the Lo-tech RAM, EMS, and 8-bit IDE adapters:
Another metal based material available is alumide, “a strong, somewhat rigid material that can take small impacts and resist some pressure while being bent. The surface has a sandy, granular look and is slightly porous”, according to the website.
This feels more like the SLA printed ABS, being quite bending and, at 3g, has a light-weight almost paper-like feel. Though certainly up to holding a card in situ, this bracket (like the ABS versions) isn’t strong enough to be used to apply force to insert or remove the card, so requires some care in use.
The bronze process is perfect for this application, just a little pricey at the moment. Stainless steel is another option (and actually gold and titanium too!) but is currently too expensive to seriously consider for this application.
The pictured ISA slot bracket is 3D printed (SLA process) and includes guide rails and an exact Type II cutout, making it much easier to insert the card than with the previous punch-press bracket. The plastic is however fragile and though perfectly adequate once installed, it’s easy to break the tabs when fitting the card. 3D printing is however a rapidly evolving field and more prototypes, this time metal, are due towards the end of the month – watch this space!
Testing has been performed with this board in my ever-stable IBM Portable PC 5155. Besides the usual functional testing (flashing the BIOS and formatting media):
Copied 16,000 files (mixed of source and object code) totalling 1.2GB three times – on CompactFlash in slot 5 and again in slot 8, and on a Seagate ST1 Microdrive in slot 5. Files then binary-compared with no differences found.
Ran pattern tests totalling 128MB on CompactFlash and again on ST1 Microdrive, both in slot 5.
With over 1011 bits transferred, this card has already been tested to beyond the quoted soft error rate of the original ST-412.
Any CompactFlash card or Microdrive should work, however there are some more recent CompactFlash cards that appear to have dropped support for 8-bit transfer mode (despite this being a required feature in the specification). Cards I’ve tested include SanDisk’s Ultra II and Kingston 4GB, and Seagate ST1 Microdrives.
The performance of this card is identical to all other current Lo-tech XT-CF cards, it will do between 190 and 300KB/s in a PC/XT, depending on the mode and media capabilities – much faster than an MFM drive, which generally did more like 60 to 90KB/s. It can reach about 1MB/s in a 12MHz 286.
ISA slot brackets can be printed either at home or through a 3D printing shop using the STL file available from the site wiki. Metal processes are now available – I’ll be posting a review of three options later this month!
An email from a user of the Lo-tech XT-CF-lite caught my attention recently, the board being used in an IBM PC 5150 that’s being set up with the original Roland MPU-401 MIDI interface. It’s something I’d never looked at in detail, but a quick search quickly pulled up a couple of recent hardware projects to make compatible ISA interface cards for it. There’s an interesting article about the MPU-401 on the Nerdly Pleasures blog, but basically the system consisted of an ISA card (‘MIF-IPC’) in the PC connected to the MPU-401 via a 25-pin DSUB connector, which then provides MIDI outputs.
Flicking through the manuals then turned up something interesting… it looks like Roland had originally intended for up to four MPU-401 devices to be connected to the IBM PC, as the original MIF-IPC card sends A1 & A2 to the MPU-401, which then has fitted an ‘LS138 1-of-8 decoder:
By the time the second card was produced, the MIF-IPC-A, these lines had been simply connected to ground so effectively disabling this functionality. MIDI isn’t something I know anything about, but I’ve been told that having more than one MPU-401 attached would be “like going back to 1981 with an iPhone”!
Now of course software support would be another problem, and then there’s the question of whether the 8088 in the 5150 – or the ISA bus itself – is fast enough to keep them fed with data… but it’s something I’d like to at least have the option to try.
The Lo-tech MIF-IPC-B
So, roll on another Lo-tech PCB…, I’m calling it the MIF-IPC-B, since it builds on the Roland MIF-IPC-A (by including the reset signal masking apparently need for compatibility with PC/AT systems) with some new features. Here’s the current GerbV image:
In terms of differences from the MIF-IPC-A, the board has:
Option to present A1 & A2 as either ground (like the MIF-IPC-A), or from the ISA Address Bus (like the original MIF-IPC), so making possible the connection of up to four MPU-401 devices to a single card
Option to work in PC/XT slot 8
Selectable IO port base address (15 options)
Selectable IRQ line (6 options)
Assuming this board works as intended, there will be some further work involved in getting multiple MPU-401’s hooked up, since the schematic clearly shows that the device ID is pre-selected on the PCB. I’m not sure many owners will be too keen on modifying the MPU-401 itself, but there are two ways of getting multiple devices hooked up with this card:
By using multiple cards, since the IO port can be individually selected, or
By running a short 25-pin DSUB lead to a break-out board, providing address decoding there and up to four DSUB connectors.
Using multiple cards isn’t a great option for 5150 owners, since the system needs a graphics board, a memory board, and at least one storage adapter (and likely two) meaning possibly only one slot free. For 5160 machines, the slot-8 compatibility of this board should make this a practical option, though this will still need testing.
This board is currently at the design phase – any thoughts or ideas are welcome!
My first attempt at an ISA slot bracket produced on a 3D printer (see here) went reasonably well, with the result perfectly able to do the job of supporting the cards in the slot. But they were a bit more bendy that I’d hoped, so here is a revision 2 with ribs running down the length and either side of the card mounting fingers:
These have again been printed with a high definition SLA process and are much less flexible than the first version. These look good installed and do the job of holding the cards upright perfectly:
The Lo-tech ISA ROM Board is a simple and cheap to make 8-bit ISA board that provides a 32 or 64KB ROM via a flash chip, and was first released in 2012 primarily to help with XT-IDE Universal BIOS development. It now enters it’s third revision, adding PC/XT Slot-8 support.
The board retains all the previous features, including selectable 32KB or 64KB operating modes, in-system programming, extensive address selection options, and entirely through-hole component choice for easy home assembly.
This kit is ideal for anyone tinkering with IBM PC BIOS or option ROM development, or as a handy flash ROM to add option ROMs for example to support high density floppy, IDE controllers without their own ROM, or network boot (like ATAoE).
Along with a few component changes and the addition of configuration information on the silkscreen, the main changes are the addition of PC/XT slot-8 compatibility to the RAM Board, and a better choice of IO port addresses on the EMS Board.
Both boards now also use the same mounting hole placement, meaning a new ISA slot bracket, which is currently in development.
RAM chips in early 1980’s PCs are a fairly regular cause of problems, and then there’s the issue of only have some meager amount of RAM installed on the system board, as little as 16KB on the first IBM 5150.
Mostly RAM is expanded up to the maximum (usually 640KB) via a multi-function ISA expansion card, but these boards don’t provide upper memory blocks (above 640KB) nor generally EMS, a memory expansion technology for 8088/8086 PCs providing up to 32MB defined by Lotus, Intel and Microsoft. For that, something like an Intel AboveBoard is required, which is a full-length and now rare card.
The lo-tech 1MB RAM board, providing from 48KB to 1MB of system RAM, with each 64KB page individually switchable to provide a universal expansion board for any 8-bit PC, regardless of how much RAM is installed on the system board. The first 16KB can also be switched off, enabling its use with a stock 16KB 5150.
2MB EMS Board
The lo-tech 2MB EMS board, providing from 512KB to 2MB of LIM 3.2 expanded (EMS) memory (available capacity is dependent on how many SRAM chips are populated). Applications like Lotus 1-2-3 and Windows 2.x and 3.0 will use EMS when available.
Both boards are built on 1.27mm pitch SMT components in order to fit everything on the available 80x100mm Eagle Lite routing area. Assembly of these components is perfectly acheivable at home – see the lo-tech SMT soldering guide.
These boards are both in first-prototype testing phase and so should not yet be considered fully functional; some refinements are likely in future revisions. Initial test results have though been positive – using the lo-tech test-bench IBM 5155:
The RAM board is detected as configured on the DIP switches and the machine is able to run through Trixter’s 8088 Corruption (which utilises all available RAM) without issue
The EMS board is correctly identified by a low-level test routine and passes basic page register and fill operation tests
But, more test hours are needed and the driver for the EMS board is yet to be written – that’s work-in-progress!
Being simple to make and cheap, the adapter has found a home in many machines besides the Sinclair already – only a couple of PCBs are left and the feedback from assemblers has been good.
The main challenge with the Sinclair is the available expansion slot height, which is what the small form-factor adapter was designed to solve. Here it is fitted to the Sinclair, with the top cover fitted.
Since the Sinclair doesn’t have any spare power connectors, make use of the 4-hole power outlet on the PCB to attach a floppy-drive style power lead to power an IDE to CompactFlash adapter (alternatively the keypin on the adapter will supply 5V, if the CompactFlash adapter in use supports this).
Testing, after a couple of false starts, has been successful so far. Be sure to set ‘IDE Controllers’ to 1 (and the adapter type to XT-CF of course) when configuring the XTIDE Universal BIOS. The BIOS can be written out using the lo-tech XT-CF flash utility.
Privacy & Cookies Policy
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.