No, it doesn't run anything from the GPL interpreter. It does of course read data from GROM, but uses its own code to do that.
The p-code card doesn't only have 48 K GROM, it also has 12 K ROM with assembly code inside.
That ROM contains startup routines, BIOS and the main part of the PME, i. e. the P-Machine Emulator. The PME is flexible enough to run p-code directly from RAM as well as from memory-mapped autoincrementing memory, i.e. VDP RAM or GROM. Thus p-code can be run from GROM on the p-code card without first moving it to RAM.
Overall, the p-system doesn't use too much of the console's code. Floating point arithmetic is an exception. But even things like DSR calls are handled differently. They don't use DSRLNK or equivalent in the console. Printing on the screen is different, since the p-system always emulate an 80-column screen by sideways scrolling. Thus it has its own screen image in low memory expansion, and uses the VDP screen area simply as a viewport into the 80-column screen. This of course makes all print on screen routines different.
It has its own file handling system, which is why you can implement a RAMdisk for the p-system by supporting sector read/write only.
Edited by apersson850, Thu Aug 24, 2017 12:58 AM.