CHIP-8 on the COSMAC VIP ran at something resembling 7-15 cycles/frame and forced a vsync after every 'sprite' instruction, which places severe limits on maximum framerate in inverse proportion to the number of sprites being updated at any given time.
SCHIP on the HP-48 is closer to 20-30 cycles/frame.
The "normal" speed of XO-CHIP is 1000 cycles/frame, though it can be a satisfying challenge to create responsive programs in less.
I might make a PR, I personally don’t find that wording clear. It seems jump (and likely call) ARE allowed, so long as the targets are in the first 4kb… I just tested jump
and it works just fine.
Not sure how useful this is - except for a jump table where the entries were pretty spaced out (think VM opcode decoding from high bits of instructions)… Feels like a nice place to stuff an opcode jump table, to save the low 4k for the VM and opcodes.