Alternative full RAM mapping

This commit is contained in:
flowenol 2022-12-07 12:46:23 +01:00
parent 56113b8846
commit 9f9bff329c
4 changed files with 148 additions and 0 deletions

View File

@ -25,6 +25,8 @@ to overwrite itself in ROM.
The A1C expansion card in RAM mode works great in conjunction with [Apple-1 Serial Interface](http://github.com/flowenol/apple1serial)
card or the original Apple Cassette Interface, expanding the available address space to load programs.
You can also replace the Apple-1 on-board RAM entirely using an alternative address decoder mapping (check details in the [Mappings](#mappings) section).
## Memory map
With physical switch in ROM position:
@ -55,6 +57,17 @@ The contents of this repository are as following:
* scripts/ - a bunch of useful python scripts which do the conversion between binary and Woz monitor format and vice versa
* src/ - contains the 6502 assembly sources for the on-board ROM loader programs
## Mappings
There are two .jed files for the GAL22V10 based address decoder:
1. **address_decoder.jed** - defines the standard mapping where additional RAM memory is mapped to the regions `$1000-$BFFF` as
described above. This mapping assumes that your Apple-1 board has "X" and "W" RAM chips populated and mapped to regions
`$0000-$0FFF` and `$E000-$EFFF`.
2. **address_decoder1.jed** - defines an alternative mappig allowing tu run Apple-1 Computer entirely from the A1C. The regions
`$0000-$0FFF` and `$E000-$EFFF` are additionally mapped to the A1C RAM1 chip. Be sure to remove the "X" and "W" memory chips
from Apple-1 board for safety, and to disconnect the "X" and "W" lines (if they were mapped to the "0" and "E" segments).
## Requirements
You need the following to successfully build and install the firmware:

View File

@ -0,0 +1,22 @@
chip GAL22V10
NC=1 PHI=2 RW=3 MOD=4 A3=11 A4=10 A5=9 A6=8 A7=7 A8=6 A9=5 A10=17 GND=12
A11=18 A12=16 A13=14 A14=15 A15=13 RAM2=19 RAM1=20 ROM=21 FF=22 BANK=23 VCC=24
equations
/ROM = /A15 * A14 * /A13 * /A12 * /A11 * RW * MOD
+ /A15 * A14 * RW * BANK * MOD
+ A15 * /A14 * RW * BANK * MOD
/RAM1 = /A15 * /A14 * /A13 * /A12 * PHI
+ /A15 * /A14 * /A13 * A12 * PHI
+ /A15 * /A14 * A13 * /A12 * PHI
+ /A15 * /A14 * A13 * A12 * PHI
+ A15 * A14 * A13 * /A12 * PHI
/RAM2 = /A15 * A14 * /A13 * /A12 * A11 * /BANK * PHI * MOD
+ A15 * /A14 * /BANK * PHI * MOD
+ /A15 * A14 * A13 * /BANK * PHI * MOD
+ /A15 * A14 * /A13 * A12 * /BANK * PHI * MOD
+ /A15 * A14 * PHI * /MOD
+ A15 * /A14 * PHI * /MOD
FF = A3 * A4 * A5 * A6 * A7 * A8 * A9 * A10 * /A11 * /A12 * /A13 * A14 * /A15 * /RW * PHI * MOD

View File

@ -0,0 +1,37 @@

GAL22V10
EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
Copyright (c) National Semiconductor Corporation 1990-1993
Assembled from "e:/MAPPING/ADDRES~2.EQN". Date: 12-7-122
*
NOTE PINS PHI:2 RW:3 MOD:4 A9:5 A8:6 A7:7 A6:8 A5:9 A4:10 A3:11*
NOTE PINS GND:12 A15:13 A13:14 A14:15 A12:16 A10:17 A11:18 RAM2:19*
NOTE PINS RAM1:20 ROM:21 FF:22 BANK:23 VCC:24*
QF5828*QP24*F0*
L0440
11111111111111111111111111111111111111111111
11110111101101110111011001010110010101100110*
L0924
11111111111111111111111111111111111111111111
11111111011101111111111011111110110111101110
11011111011101111111111111111111110111111110
11011111011101111111111111111111111011111101*
L1496
11111111111111111111111111111111111111111111
11110111111111111111111111111110111011101110
11110111111111111111111111111101111011101110
11110111111111111111111111111110111011011110
11110111111111111111111111111101111011011110
11110111111111111111111111111110110111011101*
L2156
11111111111111111111111111111111111111111111
11100111111101111111110111111110110111101110
11100111111101111111111111111111111011111101
11100111111101111111111111111111110111011110
11100111111101111111111111111101110111101110
11110111111110111111111111111111110111111110
11110111111110111111111111111111111011111101*
L5808
01110101010101010101*
C5BFC*
0000

View File

@ -0,0 +1,76 @@
EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
Copyright (c) National Semiconductor Corporation 1990-1993
Log file for e:/MAPPING/ADDRES~2.EQN
Device: G22V10
Pin Label Type
--- ----- ----
2 PHI pos,com input
3 RW pos,com input
4 MOD pos,com input
5 A9 pos,com input
6 A8 pos,com input
7 A7 pos,com input
8 A6 pos,com input
9 A5 pos,com input
10 A4 pos,com input
11 A3 pos,com input
12 GND ground pin
13 A15 pos,com input
14 A13 pos,com input
15 A14 pos,com input
16 A12 pos,com input
17 A10 pos,com input
18 A11 pos,com input
19 RAM2 neg,trst,com output
20 RAM1 neg,trst,com output
21 ROM neg,trst,com output
22 FF pos,trst,com output
23 BANK pos,com input
24 VCC power pin
EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
Copyright (c) National Semiconductor Corporation 1990-1993
Device Utilization:
No of dedicated inputs used : 12/12 (100.0%)
No of feedbacks used as dedicated inputs : 5/10 (50.0%)
No of feedbacks used as dedicated outputs : 4/10 (40.0%)
------------------------------------------
Pin Label Terms Usage
------------------------------------------
22 FF.oe 1/1 (100.0%)
22 FF 1/10 (10.0%)
21 ROM.oe 1/1 (100.0%)
21 ROM 3/12 (25.0%)
20 RAM1.oe 1/1 (100.0%)
20 RAM1 5/14 (35.7%)
19 RAM2.oe 1/1 (100.0%)
19 RAM2 6/16 (37.5%)
------------------------------------------
Total Terms 19/132 (14.4%)
------------------------------------------
EQN2JED - Boolean Equations to JEDEC file assembler (Version V101)
Copyright (c) National Semiconductor Corporation 1990-1993
Chip diagram (DIP)
._____ _____.
| \__/ |
CLK | 1 24 | VCC
PHI | 2 23 | BANK
RW | 3 22 | FF
MOD | 4 21 | ROM
A9 | 5 20 | RAM1
A8 | 6 19 | RAM2
A7 | 7 18 | A11
A6 | 8 17 | A10
A5 | 9 16 | A12
A4 | 10 15 | A14
A3 | 11 14 | A13
GND | 12 13 | A15
|______________|