Pin Assignments

This commit is contained in:
techav 2021-04-19 21:01:08 -05:00
parent 85a3cc95d9
commit 3fe79659f3
1 changed files with 98 additions and 10 deletions

108
README.md
View File

@ -7,13 +7,101 @@ Plugs into SE PDS slot and snoops writes to the frame buffer memory locations. W
The Mac SE primary framebuffer starts at 0x5900 below the top of RAM. Since it's not in a static location for every system, the system's memory configuration is needed. This is set by three ramSize jumpers, which mask CPU address bits 21, 20, 19. Not all possible ramSize selections are valid memory sizes when using 30-pin SIMMs in the Mac SE. In theory, these combinations could be possible when using PDS memory expansion cards, but this is unlikely. The chart below indicates the valid & invalid ramSize configurations and the corresponding installed SIMM combinations.
|ramSize|Framebuffer Start|RAM Top Address + 1|RAM Size|Installed SIMMs |
|:-----:|:---------------:|:-----------------:|:------:|------------------------------|
| 111 | 0x3fa700 | $400000 | 4.0MB | `[ 1MB 1MB ][ 1MB 1MB ]` |
| 110 | 0x37a700 | $380000 | 3.5MB | Invalid combination |
| 101 | 0x2fa700 | $300000 | 3.0MB | Invalid combination |
| 100 | 0x27a700 | $280000 | 2.5MB | `[ 1MB 1MB ][256kB 256kB]` |
| 011 | 0x1fa700 | $200000 | 2.0MB | `[ 1MB 1MB ][ --- --- ]` |
| 010 | 0x17a700 | $180000 | 1.5MB | Invalid combination |
| 001 | 0x0fa700 | $100000 | 1.0MB | `[256kB 256kB][256kB 256kB]` |
| 000 | 0x07a700 | $080000 | 0.5MB | `[256kB 256kB][ --- --- ]` |
|ramSize|Main Framebuffer|Alt Framebuffer|RAM Top Address + 1|RAM Size|Installed SIMMs |
|:-----:|:--------------:|:-------------:|:-----------------:|:------:|------------------------------|
| 111 | 0x3fa700 | 0x3f2700 | 0x400000 | 4.0MB | `[ 1MB 1MB ][ 1MB 1MB ]` |
| 110 | 0x37a700 | 0x372700 | 0x380000 | 3.5MB | Invalid combination |
| 101 | 0x2fa700 | 0x2f2700 | 0x300000 | 3.0MB | Invalid combination |
| 100 | 0x27a700 | 0x272700 | 0x280000 | 2.5MB | `[ 1MB 1MB ][256kB 256kB]` |
| 011 | 0x1fa700 | 0x1f2700 | 0x200000 | 2.0MB | `[ 1MB 1MB ][ --- --- ]` |
| 010 | 0x17a700 | 0x172700 | 0x180000 | 1.5MB | Invalid combination |
| 001 | 0x0fa700 | 0x0f2700 | 0x100000 | 1.0MB | `[256kB 256kB][256kB 256kB]` |
| 000 | 0x07a700 | 0x072700 | 0x080000 | 0.5MB | `[256kB 256kB][ --- --- ]` |
## CPLD Pin Assignments
Logic uses nearly all available resources in the 128-macrocell CPLD. Attempting to order the I/O pins in a manner more favorable for board layout would just waste precious few remaining resources. Fitter pinout stands.
|signal|Direction|Pin|
|---|---|---|
|cpuAddr[23]|Input|PIN_100|
|cpuAddr[22]|Input|PIN_1|
|cpuAddr[21]|Input|PIN_2|
|cpuAddr[20]|Input|PIN_5|
|cpuAddr[19]|Input|PIN_6|
|cpuAddr[18]|Input|PIN_7|
|cpuAddr[17]|Input|PIN_8|
|cpuAddr[16]|Input|PIN_9|
|cpuAddr[15]|Input|PIN_10|
|cpuAddr[14]|Input|PIN_12|
|cpuAddr[13]|Input|PIN_13|
|cpuAddr[12]|Input|PIN_14|
|cpuAddr[11]|Input|PIN_16|
|cpuAddr[10]|Input|PIN_17|
|cpuAddr[9]|Input|PIN_19|
|cpuAddr[8]|Input|PIN_20|
|cpuAddr[7]|Input|PIN_21|
|cpuAddr[6]|Input|PIN_22|
|cpuAddr[5]|Input|PIN_23|
|cpuAddr[4]|Input|PIN_24|
|cpuAddr[3]|Input|PIN_25|
|cpuAddr[2]|Input|PIN_27|
|cpuAddr[1]|Input|PIN_28|
|cpuData[15]|Input|PIN_29|
|cpuData[14]|Input|PIN_30|
|cpuData[13]|Input|PIN_31|
|cpuData[12]|Input|PIN_32|
|cpuData[11]|Input|PIN_33|
|cpuData[10]|Input|PIN_35|
|cpuData[9]|Input|PIN_36|
|cpuData[8]|Input|PIN_37|
|cpuData[7]|Input|PIN_40|
|cpuData[6]|Input|PIN_41|
|cpuData[5]|Input|PIN_42|
|cpuData[4]|Input|PIN_44|
|cpuData[3]|Input|PIN_45|
|cpuData[2]|Input|PIN_46|
|cpuData[1]|Input|PIN_47|
|cpuData[0]|Input|PIN_48|
|cpuRnW|Input|PIN_96|
|nReset|Input|PIN_89|
|ncpuAS|Input|PIN_92|
|ncpuLDS|Input|PIN_93|
|ncpuUDS|Input|PIN_94|
|nhSync|Output|PIN_85|
|nvSync|Output|PIN_84|
|nvramCE0|Output|PIN_81|
|nvramCE1|Output|PIN_80|
|nvramOE|Output|PIN_79|
|nvramWE|Output|PIN_78|
|pixClk|Input|PIN_87|
|ramSize[2]|Input|PIN_97|
|ramSize[1]|Input|PIN_98|
|ramSize[0]|Input|PIN_99|
|vidOut|Output|PIN_83|
|vramAddr[14]|Output|PIN_77|
|vramAddr[13]|Output|PIN_76|
|vramAddr[12]|Output|PIN_75|
|vramAddr[11]|Output|PIN_72|
|vramAddr[10]|Output|PIN_71|
|vramAddr[9]|Output|PIN_70|
|vramAddr[8]|Output|PIN_69|
|vramAddr[7]|Output|PIN_68|
|vramAddr[6]|Output|PIN_67|
|vramAddr[5]|Output|PIN_65|
|vramAddr[4]|Output|PIN_64|
|vramAddr[3]|Output|PIN_63|
|vramAddr[2]|Output|PIN_61|
|vramAddr[1]|Output|PIN_60|
|vramAddr[0]|Output|PIN_58|
|vramData[7]|Bidir|PIN_57|
|vramData[6]|Bidir|PIN_56|
|vramData[5]|Bidir|PIN_55|
|vramData[4]|Bidir|PIN_54|
|vramData[3]|Bidir|PIN_53|
|vramData[2]|Bidir|PIN_52|
|vramData[1]|Bidir|PIN_50|
|vramData[0]|Bidir|PIN_49|
|TCK|Input|PIN_62|
|TDI|Input|PIN_4|
|TDO|Output|PIN_73|
|TMS|Input|PIN_15