70 lines
2.1 KiB
Markdown
70 lines
2.1 KiB
Markdown
# AT27C040 PLCC to Commodore PET/CBM ROM Adapter PCB
|
|
|
|
* Emulate 4K or 2K ROM
|
|
* Up to 16 different images on one ROM, selectable with 4 DIP switches
|
|
* Can be produced 1-sided (but then only 4 different images can be used)
|
|
|
|
## Variations
|
|
|
|
* 4K vs 2K
|
|
* 4K: Connect the two leftmost pads on the center 3-pad solder bridge
|
|
* 2K: Connect the two rightmost pads on the center 3-pad solder bridge
|
|
|
|
* Configuration
|
|
* unconfigurable
|
|
* Connect all 2-pad solder bridges
|
|
* Do not populate the pullup resistors
|
|
* 1-sided, 2-bit configurable
|
|
* Only connect the 2-pad solder bridges beneath the PLCC socket
|
|
* Populate the pullup resistors on the front side
|
|
* 2-sided, 4-bit configurable
|
|
* Don't connect any of the 2-pad solder bridges
|
|
* Populate the pullup resistors on both sides
|
|
|
|
## Image Generation
|
|
|
|
Use `./mk27c040.py` to generate one 512K image from multiple individual 4K oder 2K images, e.g.:
|
|
|
|
```
|
|
./mk27c040.py -o combined.bin --00000 image1.bin --20000 image2.bin
|
|
```
|
|
|
|
You can look up the base addresses for the different DIP switch positions in the tables below.
|
|
|
|
When the output image has been created, you can flash it to the ROM chip (using `minipro` in this example):
|
|
|
|
```
|
|
minipro -p AT27C040@PLCC32 -w combined.bin
|
|
```
|
|
|
|
### DIP Switch to Base Address Mapping
|
|
|
|
When only 2 and 3 are populated:
|
|
|
|
| 2 | 3 | Base Address |
|
|
|---|---|--------------|
|
|
| 0 | 0 | `$09000` |
|
|
| 0 | 1 | `$01000` |
|
|
| 1 | 0 | `$08000` |
|
|
| 1 | 1 | `$00000` |
|
|
|
|
When all 4 switches are populated:
|
|
|
|
| 1 | 2 | 3 | 4 | Base Address |
|
|
|---|---|---|---|--------------|
|
|
| 0 | 0 | 0 | 0 | `$39000` |
|
|
| 0 | 0 | 0 | 1 | `$19000` |
|
|
| 0 | 0 | 1 | 0 | `$31000` |
|
|
| 0 | 0 | 1 | 1 | `$11000` |
|
|
| 0 | 1 | 0 | 0 | `$38000` |
|
|
| 0 | 1 | 0 | 1 | `$18000` |
|
|
| 0 | 1 | 1 | 0 | `$30000` |
|
|
| 0 | 1 | 1 | 1 | `$10000` |
|
|
| 1 | 0 | 0 | 0 | `$29000` |
|
|
| 1 | 0 | 0 | 1 | `$09000` |
|
|
| 1 | 0 | 1 | 0 | `$21000` |
|
|
| 1 | 0 | 1 | 1 | `$01000` |
|
|
| 1 | 1 | 0 | 0 | `$28000` |
|
|
| 1 | 1 | 0 | 1 | `$08000` |
|
|
| 1 | 1 | 1 | 0 | `$20000` |
|
|
| 1 | 1 | 1 | 1 | `$00000` |
|