My BBC Micro (6502) even had a memory viewer in ROM that ran at ~50fps and I remember the fun looking at running timers and keyboard/joystick ports getting activated and such.
Years ago I wanted to do that on windows and found out that there was something called protected memory, now it finally looks like I can experience that fun again, although at a slower pace it seams ;-)
Which also meant you could do a lot of optimisations - like moving the stack pointer to point to the display memory area and using 'push' to blit a chunk of image data to screen which was quicker than using an 'ld' loop.
Also having polymorphic functions where you could write over a couple of bytes to make the function behave differently at runtime - saving code memory space - and learning the hex for most of the common opcodes at same time.