There was a 128k version of Apple Pascal available on the Apple II. My question, applicable to both this and the Apple III version, is: Was the bank switching managed by the developer or by the Pascal runtime? If it's managed by the runtime, the addresses must have been encodable with >16 bits.
All versions of Apple Pascal use 16-bit pointers, so data was always limited to a 64 KB address space. On the 128K Apple II, p-code was located in aux memory, and data was located in main memory.
Apple III Pascal had similar limitations, with separate 64K address spaces for p-code and data. On machines with more than 128 KB of RAM, there were assembly routines available for allocating additional memory and swapping data memory.
Apple III Pascal had similar limitations, with separate 64K address spaces for p-code and data. On machines with more than 128 KB of RAM, there were assembly routines available for allocating additional memory and swapping data memory.