pet-plcc-multirom/README.md

74 lines
2.2 KiB
Markdown
Raw Normal View History

2023-03-19 02:02:29 +01:00
# 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
2023-03-19 02:02:29 +01:00
* Configuration
* unconfigurable
* Connect all 2-pad solder bridges
2023-03-19 02:02:29 +01:00
* Do not populate the pullup resistors
2023-03-19 02:18:39 +01:00
* Do not connect any DIP switches
2023-03-19 02:02:29 +01:00
* 1-sided, 2-bit configurable
* Only connect the 2-pad solder bridges beneath the PLCC socket
2023-03-19 02:02:29 +01:00
* Populate the pullup resistors on the front side
2023-03-19 02:18:39 +01:00
* Only connect 2 DIP switches in the two center positions. Leave the two outer positions unpopulated.
2023-03-19 02:02:29 +01:00
* 2-sided, 4-bit configurable
* Don't connect any of the 2-pad solder bridges
2023-03-19 02:02:29 +01:00
* Populate the pullup resistors on both sides
2023-03-19 02:18:39 +01:00
* Connect all 4 DIP switches.
2023-03-19 02:02:29 +01:00
## 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` |