70 lines
2 KiB
Markdown
70 lines
2 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: Leave center solder bridge uncut
|
|
* 2K: Cut center solder bridge
|
|
|
|
* Configuration
|
|
* unconfigurable
|
|
* Leave all solder bridges
|
|
* Do not populate the pullup resistors
|
|
* 1-sided, 2-bit configurable
|
|
* Cut the solder bridges beneath the dip switches
|
|
* Populate the pullup resistors on the front side
|
|
* 2-sided, 4-bit configurable
|
|
* Cut the solder bridges beneath the dip switches and on the bacl side
|
|
* 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` |
|