home *** CD-ROM | disk | FTP | other *** search
- CUSTOM MEMORY DECODER AS BOOLEAN EQUATIONS
-
- This memory decoder is for a microcomputer with one megabyte of memory,
- the lowest memory address being hexadecimal 00000, the highest being
- hexadecimal FFFFF. The memory is organized into blocks like this:
-
- Memory Address
- ------------------- Length Usage
- Hexadecimal Dec
-
- 00000..9FFFF 0K 640K System memory (1)
- A0000..AFFFF 640K 64K EGA area (2)
- B0000..B0FFF 704K 4K MDA area (3)
- B1000..B7FFF 708K 28K Open
- B8000..BBFFF 736K 16K CGA area (4)
- BC000..BFFFF 752K 16K Open
- C0000..C7FFF 768K 32K Open
- C8000..CBFFF 800K 16K Fixed disk (5)
- CC000..CFFFF 816K 16K Peripheral i/o (6)
- D0000..DFFFF 832K 64K Expanded memory (7)
- E0000..FFFFF 896K 128K Read only memory (8)
-
- Output signal SMEM is active when the address is in the range
- 00000..9FFFF, EGA is active when the address is in the range A0000..AFFFF,
- and so forth. The decoder is worked out in detailed Boolean form below.
- Contrast this with the two other forms in files MEMORY2.PLD and
- MEMORY3.PLD.
-
- |"?" in: ADR[19..12], io:(SMEM, EGA, MDA, CGA, DISK, IO, EM, ROM)
- |
- |SMEM = ADR19' # (ADR19 & ADR18' & ADR17')
- |EGA = ADR19 & ADR18' & ADR17 & ADR16'
- |MDA = ADR19 & ADR18' & ADR17 & ADR16 & ADR15' & ADR14' & ADR13' & ADR12'
- |CGA = ADR19 & ADR18' & ADR17 & ADR16 & ADR15 & ADR14'
- |DISK = ADR19 & ADR18 & ADR17' & ADR16' & ADR15 & ADR14'
- |IO = ADR19 & ADR18 & ADR17' & ADR16' & ADR15 & ADR14
- |EM = ADR19 & ADR18 & ADR17' & ADR16
- |ROM = ADR19 & ADR18 & ADR17
-
-