Subversion Repositories MB01 Project

Rev

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 # D1MBL		|| select even ram 1Mb
67
|  CEH   = MHCS # D0ON # D1MBH		|| 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