Your EasyEDA usage duration is brief. In order to avoid advertising information, this action is not supported at present. Please extend your EasyEDA usage duration and try again.
Editor Version×
Standard
1.Easy to use and quick to get started
2.The process supports design scales of 300 devices or 1000 pads
3.Supports simple circuit simulation
4.For students, teachers, creators
Profession
1.Brand new interactions and interfaces
2.Smooth support for design sizes of over 5,000 devices or 10,000 pads
3.More rigorous design constraints, more standardized processes
# Expansion ROM cartridge for the Acorn BBC Master Compact 8-bit computer
This is an expansion ROM cartridge that plugs on the edge connector of the Acorn BBC Master Compact.
It is designed to be as compatct as possible and to fit a ZIF socket as well if needed.
## Quick start
- Ensure that the jumper *PL11* is set to the *north* position in the master compact mother board (factory configuration)
- Issue the command **ROMS* on the Master Compact and ensure that the programmed *ROM image*s are present in ROM space banks 0 and 1.
```
> *ROMS
ROM F UTILS 10
ROM E BASIC 40
ROM D ACORN ADFS 10
ROM C ?
ROM B ?
ROM A ?
ROM 9 ?
ROM 8 ?
RAM 7 ?
RAM 6 ?
RAM 5 ?
RAM 4 ?
ROM 3 ?
ROM 2 ?
ROM 1 ? <------------ HERE
ROM 0 ? <------------ HERE
```
The switch *SW1* on the cartridge helps selecting the upper or lower 32kbyte of memory of the external ROM if a 27512 EPROM chip is fitted.
If using a 27256 or lower capacity chip, ensure to set the *SW1* switch to the *ROM 0&1* position (0v).
**Commute the switch *SW1* only when the computer is powered off** to prevent MOS crashes.
Note: when I say *ROM image* I refer to what's actually programmed in any 16Kbyte, 16Kbyte aligned portion of the EPROM that contains runnable code like the Acorn DFS *ROM image*. A 27512 EPROM for instance can contain up to 4 16Kbyte *ROM image*s, but the Master Compact migh only see one or two of these images at the same time in the ROM space banks depending on wich socket the EPROM was installed.
## How I ended up with this schematic
The EPROM named *IC38* can only be accessed if putting the jumper *PL11* in the *south* position in the master compact mother board. That means that we must choose if to use an exteral ROM through the expansion port OR if to use a ROM on the *IC38* socket. Those two choises are mutual exclusive and can't be used at the same time. By default the jumper *PL11* is put on the *north* position.
### *PL11* jumper behaviour explanation
What the *PL11* jumper does is to pass the signal *AT13* aka *nOE* (not output enable)... to the *gate* pin of the multiplexer *IC12*. A pull up 10k resistor on that pin ensures that when the *PL11* is put to the *north* position, the gate pin goes to *high* and puts all the *Y* outputs pins of the multiplexer on *high* disabling the *IC38* ROM. The *nOE* pin on the ROM *IC38* will disable the output pins of the *IC38* ROM when set *high*.
The schematic of my cartridge extension circuit is a copy of the *IC38* + *IC12* design on the Master Compact mother board on an external cartridge circuit.
The EPROM slot *IC38* can accept only two kind of ROM chips
| ROM size | EPROM CHIP |
|----------|-------------|
| 16Kbyte | 27128 |
| 32Kbyte | 27256 |
all the other EPROM slots on the Master Compact except the MOS EPROM named *IC49* can only accept 16k byte/27128 ROMs.
My expansion cartridge ROM will accept 27512 ROM chips, but the Master Compact will only see two *ROM image*s at a time. With the switch *SW1* on the expansion cartridge is possible to select if to access the upper or lower *ROM image*s on the external cartridge. The images will be displayed as ROM space banks 0 and 1
## How to program the ROMs for this PCB design
The `*ROMS` command will list the ROMs `0` and `1` starting from the one at the bottom partition of the memory listed as `ROM 1`, through the one at the top partition of the system ROM listed as `ROM 0`. \
More specifically:
```
0x00000000-0x00003FFF corresponds to ROM 0 with SW @ low
0x00004000-0x00007FFF corresponds to ROM 1 with SW @ low
0x00008000-0x0000BFFF corresponds to ROM 0 with SW @ high
0x0000C000-0x0000FFFF corresponds to ROM 1 with SW @ high
```
## The system ROM socket *IC49*
The MOS ROM *IC49* is by default a 64Kbyte ROM/27512 ROM chip, but if putting the jumper *PL12* on the *south* position a 128Kbyte chip can be put there.
Unfortunately the 128Kbyte/1Mbyte chip (27C010) is a DIP32 IC, but the socket on the Master Compact is a DIP28 one. I couldn't find any 1Mbyte parallel EPROM chip that fits on a DIP28 socket, so I guess that at Acorn they probably had in mind to use a mask ROM.
It is possible to build a dip 28 to dip 32 adapter to fit a 27C010 EPROM in the *IC49* system ROM socket.
![Adaptor to enable 32-pin EPROM to be used in BBC Master](https://mdfs.net/Info/Comp/BBC/SROMs/28to32.gif)
Only 7 ROM space banks (9 to F) are assigned to the *IC49* ROM despite the 27512 EPROM can contain up to 4 16Kbyte ROM images because the MOS ROM isn't showed as bank 10. Only bank switchable ROMs are shown by the **ROM* command.
```
> *ROMS
ROM F UTILS 10 <----------- IC49 socket
ROM E BASIC 40 <----------- IC49 socket
ROM D ACORN ADFS 10 <------ IC49 socket
ROM C ? <------------------ IC49 socket with PL12 on south
ROM B ? <------------------ IC49 socket with PL12 on south
ROM A ? <------------------ IC49 socket with PL12 on south
ROM 9 ? <------------------ IC49 socket with PL12 on south
ROM 8 ?
RAM 7 ?
RAM 6 ?
RAM 5 ?
RAM 4 ?
ROM 3 ?
ROM 2 ?
ROM 1 ?
ROM 0 ?
```
See [Acorn BBC Master Compact 128K system ROM](https://oshwlab.com/black__man/acorn-bbc-master-compact-128k-system-rom) for a PCB design I made to fit two 27512 instead of a single 27C010 in the system socket
### *PL12* jumper behaviour explanation
The MOS ROM is always selected (*CS* pin set *low*) and has the *OE* pin set to *low* if *PL12* is on the *north* position and a 27512 ROM chip is present. Otherwise what should have been a 20C1024 chip(?) will not have an *OE* pin and in place of it there will be the *A16* pin with *PL12* set on the *south* position.
## ROM ICs
| ROM IC socket | EPROM | space bank | size | description |
| --- | --- | --- | --- | --- |
| IC49 | 27512 or 27C010 | D to F or 9 to F | 64Kbyte or 128Kbyte | system ROM quadruple or octuple image ROM |
| IC29 | 27128 | 8 | 16Kbyte | single image ROM |
| IC38 | 27128 or 27256 | 1 or 0 to 1 | 16Kbyte or 32Kbyte | edge connector or internal double image ROM |
| IC23 | 27128 | 2 | 16Kbyte | single image ROM |
| IC17 | 27128 | 3 | 16Kbyte | single image ROM |
## GitHub tool to merge multple ROM images into a single file
The following GitHub project can be used to merge 4 ROM images into a single one that can be programmed into a single 27128 EPROM chip
[github.com - ROM_images_merger](https://github.com/DanCasterIt/ROM_images_merger)
A Windows x86 (32-bit) executable file is pushed into the repository so that the program can be runt without compiling it
## Useful links
- [BBC Master Compact SERVICE MANUAL](https://www.progettosnaps.net/manuals/pdf/bbcmc.pdf) for the computer schematic and Jumper settings
- [Mapped Master Compact Motherboard](http://www.8bs.com/incompmapped.htm) Master Compact motherboard picture with IC descriptions
- [Paged ROM](https://beebwiki.mdfs.net/Paged_ROM#Master_Compact) Paged ROM explanation with socket to space bank table and ROMFS header description
- [PC128S con una EPROM da 128k ?](https://olivettipc128s.altervista.org/pc128s-con-una-eprom-da-128k/) how to put a 27C010 EPROM into the *IC49* socket
- [BBC ROMS](http://www.flaxcottage.com/BBC_ROMS/Default.asp), [MDFS::System.ROMs](https://mdfs.net/System/ROMs/) a collection of ROM software for the Acorn BBC computers
- [The BBC and Master Computer Public Domain Library Circuit Diagrams](http://8bs.com/othrdnld/manuals/circuitdiagrams.shtml) high resolution circuit schematics
- [BBC Master 128 Cartridge Interface](http://8bs.com/submit/acornappspdf/035.pdf) The BBC Master 128 Cartridge Interface has the same signals as the Master Compact edge connector with no user port pins
- [76K 2048x1600 EPROM cartridge](https://mdfs.net/Info/Comp/BBC/Circuits/Master/eprom.gif) Master 128 Cartridge circuit that can be easily adapter to work on the external edge connector of the Master Compact
- [Replacing the Master System ROM](https://mdfs.net/Info/Comp/BBC/SROMs/MegaROM.htm) How to build a dip 28 to dip32 adapter to fit a 128Kbyte EPROM
## Images
![](https://oshwlab.com/attachments/2023/9/uSzn1Kl0ADko5lGjmrp0Ovglh6o7KOOxuqHIODAs.jpeg)
![](https://oshwlab.com/attachments/2023/9/QBBOIjEcOmMrtnVRj3M7hkFt7PF5859bgB2Lv9QO.jpeg)
![](https://oshwlab.com/attachments/2023/9/3welaU0h2qezhIpmBgbcYkxrSg3ZXdBagnEBRueO.jpeg)
![](https://oshwlab.com/attachments/2023/9/1kqi924HNgHCPkfmsuyZtFZdK9A3oNhu5Q5kwt2E.jpeg)
Forked project will be set private in personal workspace. Do you continue?
Clone
Project
The Pro editor is about to be opened to save as. Do you want to continue?
private message
Send message to black__man
Delete
Comment
Are you sure to delete the comment?
Report
Acorn BBC Master compact cartridge
Expansion 27512 EPROM cartridge for the Acorn BBC Master Compact 8-bit computer
Announcer: Daniele Castro
Creation time: 2023-06-21 22:34:16
Published time:
2024-02-21 10:01:50
*
Report type:
Please select report type
*
Report reason:
Please fill in the reason for your report and the content is 2-1000
words
*
Upload image:
+
Upload image
*
Email address:
Please fill in your email address
Report
*
Report type:
Please select report type
*
Report reason:
Please fill in the reason for your report and the content is 2-1000
words
*
Upload image:
+
Upload image
*
Email address:
Please fill in your email address
Report
Submitted successfully! The review result can be viewed in the personal
center, review notification.
Kind tips
Your EasyEDA usage duration is brief. In order to avoid advertising information, this action is
not supported at present. Please extend your EasyEDA usage duration and try again.
Share
Project
Copy
Copy
Scan the QR code and open it on the mobile terminal