Tim Budd (of Oregon State U) wrote a "Tiny Smalltalk" years ago, a companion implementation to a book he wrote at the same time.
It was a pretty lousy implementation, with many architectural shortcuts. (Sorry, Prof. Budd!).
Years later, I came across his latest tiny Smalltalk implementation, which was quite a decent implementation of "real" Smalltalk.
This is that source base, as fixed to be compiled in modern environments. It also has some missing bits added, including a source debugger.