ps2link/ee/cmdHandler.c
function pkoDumpMem
You forgot to increase pointer, so it writes the same 16kB over and over (if user specified to get more than 16kB that means).
IMO, just change:
memcpy(dataBuffer, (void *)offset, len);
to:
memcpy(dataBuffer, (void *)(offset+total), len);
Or increase the offset just as you do in pkoWriteMem.