Thanks for the link. This ties into another discussion where I proposed simplified interpreters as a building block for more complex and trustworthy software. P-code was default reference given Pascal, BASIC, etc used it with implementations available probably. Lots of code out there. Good to consider other designs especially if they have advantages. That Woz’s SWEET16 fit into 300 bytes of memory is quite impressive. Its design or implementation are worth looking at if making another ultra-tiny interpreter.
[Comment removed by author]
Wow, I didn’t expect that! The kind of moments I strive to inadvertently create haha. Yeah, far as P-code, most labels will be under Pascal/P as Wirth named it that to distinguish from regular Pascal. Also, Lilith System was first where they applied it practically to system level. He created better language for systems programming (Modula-2), a P-code like scheme for it (M-code), and they did whole system in that. These days, they just use Oberon variants all the way as HW consolidated down to a few architectures with most really similar. Remember the original diversity in day-to-day use ranged from 8-bit microcomputers to 48-bit CDC’s.
Lilith is especially interesting as it’s start came from Xerox where Mac came from. I think, but memory is poor here, that Wirth’s and Mac’s GUI came out around same time to create different lineages with few remembering Wirth’s. Funny thing was he said he wanted a Xerox PC instead of dialing into minicomputer terminals or whatever. Said something like “They told me I couldn’t buy it. It wouldn’t be for sale. (pause) So I built one.” Such a casual way to describe the work that went into the system below. ;)
(See “A personal computer Lilith” for main reference of his method in action.)