Benötige einen Tip.
Ich habe in meiner IC Kiste einen alten MC6803 gefunden und auf dem
Breadbooard in Betrieb genommen.
(Ich benutze einen weiteren MC als ROM Ersatz für den Resetvector ...)
Derzeit ended der Speicher bei 0x4FFF nun möchte ich 16K RAM am 16Bit
Addressbus ab addresse 0x5000 "einblenden".
Erstes Problem die 16K RAM beginnen nicht ab 0x4000 sondern ab 0x5000
sonnst könnte ich ja die Bank Number 0-3 als Chip select auskodieren
So wie ich das im Moment sehe benötige ich alleine für /CS 6-7
Logikgatter.
1 | AAAA _ AA
|
2 | 1111 C 11 16K RAM
|
3 | 5432 S 32
|
4 | ------|----|---------------
|
5 | 0x0000 0000| 1 --
|
6 | 0x1000 0001| 1 --
|
7 | 0x2000 0010| 1 --
|
8 | 0x3000 0011| 1 --
|
9 | 0x4000 0100| 1 --
|
10 | 0x5000 0101| 0 00
|
11 | 0x6000 0110| 0 01
|
12 | 0x7000 0111| 0 10
|
13 | 0x8000 1000| 0 11
|
14 | 0x9000 1001| 1 --
|
15 | 0xA000 1010| 1 --
|
16 | 0xB000 1011| 1 --
|
17 | 0xC000 1100| 1 --
|
18 | 0xD000 1101| 1 --
|
19 | 0xE000 1110| 1 --
|
20 | 0xF000 1111| 1 --
|
Wenn ich nun /CS aukodiert habe wie komme ich von
den bits A15-12 vom Adressbus zu A13-12 zum RAM ?
1 | AAAA AAAA
|
2 | 1111 1111
|
3 | 5432 5432
|
4 | BUS -|- RAM
|
5 | 0101 | --00 0x5 -> 0x0
|
6 | 0110 | --01 0x6 -> 0x1
|
7 | 0111 | --10 0x7 -> 0x2
|
8 | 1000 | --11 0x8 -> 0x3
|
Ich möchte keine fertige Lösung sondern nur einen Tip wie ich mit
möglicht wenigen Logikgattern auskomme.
Danke für einen Vorschlag.
(In Software wäre es ja nur eine Subtraction aber in Hardware!)
DJ