Please also use this topic to raise new product suggestions, and to advise us of a product you are creating, that you’d like us to add to the lists below together with the link to the main discussion Topic for your product.
This will help avoid re-inventing the wheel, if multiple users are planning on creating similar products.
Individual MECB Product - Topic Subject Naming Standard
Each topic created to discuss a specific MECB product should have the Subject prefixed with either [P], to indicate an in-Planning or in-Progress product, or [version number] (e.g. [v1.0]), to indicate a product that's now in-production (i.e. realised / available).
Roadmap
| Status | Product (and topic link) | Who |
| In-Progress | MECB Z80 CPU Card | Emil |
| In-Progress | MECB IDE Card | Emil |
| In-Progress | MECB I/O and RTC Card | Emil |
| Planning | MECB Mass Storage and/or Keyboard Interface Card | DigicoolThings |
| Planning | MECB WDC I/O + Sound Card Card | DigicoolThings |
| Planning | MECB AY-3-8900 / YM2149 Sound Card | Emil |
In-Production / Realised
| Version | Product (and topic link) | Who |
| v1.2 | MECB Backplane | DigicoolThings |
| v1.0 | MECB Backplane Extension | DigicoolThings |
| v2.0 | MECB Prototype Card | DigicoolThings |
| v1.0 | MECB Prototype 16V8 Card | DigicoolThings |
| v1.0 | MECB Prototype 22V10 Card | DigicoolThings |
| v1.0 | MECB Grid Card | DigicoolThings |
| v1.0 | MECB Grid 16V8 Card | DigicoolThings |
| v1.0 | MECB Grid 22V10 Card | DigicoolThings |
| v2.0 | MECB TMS9918 / TMS992x VDP Video Card | DigicoolThings |
| v1.2 | MECB V9958 or V9938 VDP RGBS Video Card | DigicoolThings |
| v2.5 | MECB MC6809 (or HD6309) CPU Card | DigicoolThings |
| v1.2 | MECB Motorola I/O + Sound Card | DigicoolThings |
| v2.0 | MECB 1MB ROM Expansion Card | DigicoolThings |
| v1.3 | MECB 6502 or 65C02 CPU Card | DigicoolThings |
| v1.0 | MECB 6309 CPU PLCC Card | DigicoolThings |
| v1.0 | MECB WDC W65C02S PLCC CPU Card | DigicoolThings |
| v1.2 | MECB OLED Display 128x64 Card | DigicoolThings |
| v2.0 | MECB 68008 CPU Card | DigicoolThings / Emil |
| v1.1 | MECB 8088 CPU Card | Emil |
In-Production / Realised - MECB Related Products
| Version | Product (and topic link) | Who |
| v2.0 | CreatiVision Controller Interface | DigicoolThings |
| v3.0 | CreatiVision Mechanical PS/2 Keyboard | DigicoolThings |
| v1.0 | Hexadecimal 4x5 Matrix Keypad - Ultimate Cherry MX Version | DigicoolThings |
| v2.0 | Keypad / Sound / Tape Interface | DigicoolThings |
| - | DREAM 6800 (6809) re-Creation | DigicoolThings |
Be sure to also first review the MECB Background & Introduction topic.
Address Decoding Glue Logic (ATF16V8 or ATF22V10)
For MECB, I originally standardised on the ATF16V8 as a good "retro friendly" solution for providing simplified & flexible Address Decoding Glue Logic. The 16V8 satisfies most use cases, and comes in a common retro-friendly DIP20 package.
In 2025, I added the ATF22V10 as an alternative MECB standardised glue logic choice, providing increased memory map granularity (8 byte granularity), and a 4th Chip Select output.
The MECB GitHub repository contains a folder for each MECB Card, containing the source file for the card's PLD. Each source file contains commented-out sections for various different standard memory maps.
To allow easily re-programming of your PLD chip with a simple USB programmer (e.g. TL866), without the need to install WinCupl (to compile the .pld source), I've also included in the GitHub folders, compiled .jed files, for most of the standard memory maps included in the source.
This should make life a lot easier for those who don't have WinCupl installed, or have no prior experience with PLD programming (but do have a USB programmer for your ROMs).
Default I/O Port Allocation
As described above, the MECB design allows flexibility in the Memory Map allocations. This is generally controlled via the logic rules programmed into each MECB Card’s glue-logic PLD.
For reference, the 256 address IORQ space is generally split into 32 x 8 byte blocks. This is due to the standardised PLD pin use having the A7 - A3 address line inputs available, and is also due to many I/O devices utilising 8 or less address locations.
The table below summarises the “default” I/O address allocation for each MECB Peripheral Card (i.e. based on the “default” PLD memory map programming).
This table should provide a quick reference to avoid any addressing conflicts in a multi-card system (i.e. by re-assigning conflicting cards).
| IORQ Block | MECB Card(s) | Device |
| $00-$07 | Motorola I/O + Sound Card | MC6840 PTM |
| $08-$0F | Motorola I/O + Sound Card | MC6850 ACIA |
| $10-$17 | Motorola I/O + Sound Card | MC6821 PIA |
| $18-$1F | unassigned | |
| $20-$27 | IDE | 82C55A |
| $28-$2F | unassigned | |
| $30-$37 | unassigned | |
| $38-$3F | unassigned | |
| $40-$47 | unassigned | |
| $48-$4F | unassigned | |
| $50-$57 | unassigned | |
| $58-$5F | unassigned | |
| $60-$67 | unassigned | |
| $68-$6F | unassigned | |
| $70-$77 | unassigned | |
| $78-$7F | Z80 CPU Card | memory paging registers |
| $80-$87 | TMS9918 / TMS992x VDP Video, V9938 or V9958 RGBS VDP Video | VDP |
| $88-$8F | OLED Display 128x64 | SSD1327 |
| $90-$97 | unassigned | |
| $98-$9F | unassigned | |
| $A0-$A7 | unassigned | |
| $A8-$AF | unassigned | |
| $B0-$B7 | unassigned | |
| $B8-$BF | unassigned | |
| $C0-$C7 | I/O and RTC Card | $C0 - RTC, $C1 - I/O port |
| $C8-$CF | unassigned | |
| $D0-$D7 | unassigned | |
| $D8-$DF | unassigned | |
| $E0-$E7 | Grid PLD 16V8, Grid PLD 22V10, Prototype PLD 16V8, Prototype PLD 22V10 | cs0 |
| $E8-$EF | Grid PLD 16V8, Grid PLD 22V10, Prototype PLD 16V8, Prototype PLD 22V10 | cs1 |
| $F0-$F7 | Grid PLD 16V8, Grid PLD 22V10, Prototype PLD 16V8, Prototype PLD 22V10 | cs2 |
| $F8-$FF | Grid PLD 22V10, Prototype PLD 22V10 | cs3 |
Last Updated: 26-Mar-2026


