- Link to my first successful test run: viewtopic.php?f=12&t=7501&start=75#p98622
- Link to important Ф2 fix with successful LCD operation: viewtopic.php?f=12&t=7501&start=90#p98645
Hi,
Being inspired by C64 and living in the age of cheap (well, mostly) hardware, I've finally decided to build a simple SBC!
I'm currently going through 6502 Primer to get some more details on implementation, but I've started planning a prototype to try and see 6502 in some simple action.
<s>My SBC will have two 32x8 SRAMs, 1 8KB ROM (or a larger EEPROM), and 74x138 address decoder. I'll get into I/O later. Decoder seems like overkill now, but I'm planning to have more stuff in the lower memory segment, including I/O and possibly SID (I'm lucky to have a whole bunch of good 6581s & 8580s).</s> EDIT: Nope - I'll have 128KB SRAM, 8KB ROM, 8-channel I/O address decoder via 74x138, 6522 VIA, and a 2004 LCD. I want to also include SID, EEPROM, & 6551 ACIA in my future build.
I'd like to know if I there are any important flaws in my design. In addition to that, I have few specific questions:
- Is there any major difference between CE & OE in 32x8 SRAMs? Can I connect Ф2 to either of them? (To prevent 6502 from accidentally writing to SRAM during low clock cycle as mentioned in the Primer)
- Is it OK to join outputs of 75x138? It makes address mapping so easy (since all my chips are aligned to 8K). It could all probably be achieved with a single NAND, but I've decided to keep things simple for now.
- Is it OK to keep address decoder enabled all the time?
- Am I missing any other important glue logic? My current design feels pretty simple, but... It feels too simple. I feel like I'm missing something very important. (EDIT: Yeah, I was missing a LOT of stuff.)
Thanks in advance!
EDIT: I'll keep my first post updated with the most recent version of the schematic. I'll also keep my very first version there to remind myself how dumb I was in the beginning.
All my stuff & sources are available here: https://github.com/and3rson/65ad02
Memory Map
Code: Select all
+-------+-----+------------------------+
| RANGE | TYP | Notes |
+-------+-----+------------------------+
| $0000 | RAM | A14 || A15 |
| $BFFF | 48k | |
+-------+-----+------------------------+
| $C000 | n/a | Reserved for future |
| $CFFF | 4k | |
+-------+-----+------------------------+
| $D000 | I/O | !RAM && !ROM && A12 |
| ... | 4k | $D000-$D0FF - LCD |
| ... | | $D100-$D1FF - 6522 VIA |
| ... | | $D200-$D2FF - EEPROM? |
| ... | | $D300-$D3FF - EEPROM? |
| $DFFF | | $D400-$D4FF - SID? |
+-------+-----+------------------------+
| $E000 | ROM | !RAM && A13 |
| $FFFF | 8k | |
+-------+-----+------------------------+