Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | - | 1 | || FILE: #0166.PLD |
2 | || PROJ: 20170501 |
||
3 | || FD-02 FDC/ATA/DMA BOARD |
||
4 | || |
||
5 | || PART: G22V10-#0050 |
||
6 | || |
||
7 | || DEV : GAL22V10 |
||
8 | || |
||
9 | || DESC: RAM ACCESS CONTROL |
||
10 | || |
||
11 | | |
||
12 | |GAL22V10 |
||
13 | | |
||
14 | || input signal description |
||
15 | || GEN = gate enable |
||
16 | || /DMA = dma enable |
||
17 | || DIR = dma data bus direction (1 => read, 0 => write) |
||
18 | || /S1M = enable 1Mb ram bank (otherwise 128k) |
||
19 | || ATA = dma ata port select (0 => port 0, 1 => port 1) |
||
20 | || /FDC = enable dma for fdc operation (otherwise ata) |
||
21 | || /ALT = enable dma1 to use 1Mb ram bank (otherwise use 128Kb) |
||
22 | || |
||
23 | || INPUT |
||
24 | | 1:MA0, 2:CX2, 3:GEN, 4:OE0, 5:OE1, 6:DMA, 7:RW, 8:DIR, |
||
25 | | 9:S1M, 10:ATA, 11:FDC, 13:ALT, |
||
26 | || OUTPUT |
||
27 | | 14:CEL, 15:CEH, 16:CER, 17:ENL, 18:ENH, 19:BE0, |
||
28 | | 20:BE1, 21:MDIR, 22:AEN, 23:A16E |
||
29 | | |
||
30 | | ACTIVE-LOW: CEL, CEH, CER, ENL, ENH, BE0, BE1, A16E |
||
31 | | |
||
32 | | |
||
33 | | SIGNATURE: "0166 " |
||
34 | | |
||
35 | || -------------------------------------------------------- |
||
36 | || common signals when dma disabled (DMA = 1 => cpu access) |
||
37 | || |
||
38 | | RAM0 = CX2' & DMA & OE0 || cpu access ram (dma0 = off) |
||
39 | | RAM1 = CX2' & DMA & OE1 || cpu access ram (dma1 = off) |
||
40 | | MLC0 = RAM0 & S1M' & MA0' || cpu access 1Mb even ram |
||
41 | | MLC1 = RAM1 & S1M' & MA0' || cpu access 1Mb even ram |
||
42 | | MHC0 = RAM0 & S1M' & MA0 || cpu access 1Mb odd ram |
||
43 | | MHC1 = RAM1 & S1M' & MA0 || cpu access 1Mb odd ram |
||
44 | | MLCA = MLC0 # MLC1 || cpu access 1Mb even ram |
||
45 | | MHCA = MHC0 # MHC1 || cpu access 1Mb odd ram |
||
46 | | MLCS = MLCA & GEN || cpu select 1Mb even ram |
||
47 | | MHCS = MHCA & GEN || cpu select 1Mb odd ram |
||
48 | | MMC0 = RAM0 & S1M || cpu access 128Kb ram |
||
49 | | MMC1 = RAM1 & S1M || cpu access 128Kb ram |
||
50 | | MMCS = (MMC0 # MMC1) & GEN || cpu select 128Kb ram |
||
51 | || |
||
52 | | CDIR = RW & DMA & OE0 & OE1 || cpu bus direction to 1Mb ram |
||
53 | || |
||
54 | || common signals when dma enabled (DMA = 0) |
||
55 | | D0ON = DMA' & OE0' & OE1 & FDC || dma0 master |
||
56 | | D1ON = DMA' & OE0 & OE1' & FDC' || dma1 master |
||
57 | | D1MB = D1ON & ALT' || dma1 access 1Mb ram |
||
58 | | D1MBL = D1MB & MA0' || dma1 access 1Mb even ram |
||
59 | | D1MBH = D1MB & MA0 || dma1 access 1Mb odd ram |
||
60 | | D128K = D1ON & ALT || dma1 access 128kb ram |
||
61 | || |
||
62 | | D0DIR = DIR & DMA' & FDC || dma0 bus direction to 1Mb ram |
||
63 | | D1DIR = DIR' & DMA' & FDC' || dma1 bus direction to 1Mb ram |
||
64 | || |
||
65 | || output signals |
||
66 | | CEL = MLCS # D0ON # D1MB || select even ram 1Mb |
||
67 | | CEH = MHCS # D0ON # D1MB || select odd ram 1Mb |
||
68 | | CER = MMCS # D128K || select ram 128Kb |
||
69 | | ENL = MLCA # D1MBL || data bus to 1Mb even ram |
||
70 | | ENH = MHCA # D1MBH || data bus to 1Mb even ram |
||
71 | | BE0 = D0ON & ATA' || ata0 data bus to 1Mb ram |
||
72 | | BE1 = D0ON & ATA || ata1 data bus to 1Mb ram |
||
73 | | AEN = DMA' || cpu address enable |
||
74 | | A16E = D1ON || enable extern A16 line for dma1 |
||
75 | | MDIR = CDIR # D0DIR # D1DIR || bus direction to 1Mb ram |