BigDumbDinosaur wrote:
Also, you won't learn as much about the hardware with the 80C32 unit. Your best bet for learning about the nuts and bolts of computer hardware is to work with a 65C02 or 65C816 unit and discrete logic. If you hand-assemble it from components, so much the better.
Why ? 80C32 is a intel 51 microcontroller with uart and clock generator aboard, it is a so called "all-in-one" solution as intel 8085, but it has a multiplexed bus so the first thing you have to toy with is a latch in order to interface the bus; beside of this, i had to toy with 74138 and other glue logic in order to map the ram, the rom, and the port-IO (2 latches).
I do not like 51 core cause it is not a von neumann machine which has code and data phisically separated, the rom is asserted through a dedicated pin called psen (program storage enable) while the ram is not, so i am having the first 32Kbyte of ram in overlap with the first 32Kbyte of rom's addresses: too ugly. Also 51 has different opcodes to access the ram, and differenet opcodes to acccess the rom.
btw, i had to toy with 74xxx chips and data propagation, asincornous static ram, chips mapping, and more .... so why and where 65c02 should be more appropiate in order to learn about the nuts and bolts of computer hardware ?
i have chosen to switch to 6502 'cause i simply love the 6502 assembly =D