All these puppies working in their own subdirectories!! 
title Puppy dpupbw32 23.12 (sda3/Bookworm)
root (hd0,2)
kernel /Bookworm/vmlinuz psubdir=/Bookworm pmedia=atahd pfix=fsck
initrd /Bookworm/initrd.gz
title Puppy upupbb 19.03 (sda3/Bionicupup19.03frugal)
root (hd0,2)
kernel /Bionicupup19.03frugal/vmlinuz psubdir=/Bionicupup19.03frugal pmedia=atahd pfix=fsck
initrd /Bionicupup19.03frugal/initrd.gz
title Puppy buster 8.0 (sda3/Buster)
root (hd0,2)
kernel /Buster/vmlinuz psubdir=/Buster pmedia=atahd pfix=fsck
initrd /Buster/initrd.gz
title Puppy upupff+d 20.12 (sda3/Focal)
root (hd0,2)
kernel /Focal/vmlinuz psubdir=/Focal pmedia=atahd pfix=fsck
initrd /Focal/initrd.gz
title Puppy upupnn+bw 24.04 (sda3/NoblePup)
root (hd0,2)
kernel /NoblePup/vmlinuz psubdir=/NoblePup pmedia=atahd pfix=fsck
initrd /NoblePup/initrd.gz
title Puppy s15pup32 22.12 (sda3/S15Pup)
root (hd0,2)
kernel /S15Pup/vmlinuz psubdir=/S15Pup pmedia=atahd pfix=fsck
initrd /S15Pup/initrd.gz
title Puppy slacko 7.0 (sda3/Slacko7)
root (hd0,2)
kernel /Slacko7/vmlinuz psubdir=/Slacko7 pmedia=atahd pfix=fsck
initrd /Slacko7/initrd.gz
title Puppy stretch 7.5 (sda3/Stretch)
root (hd0,2)
kernel /Stretch/vmlinuz psubdir=/Stretch pmedia=atahd pfix=fsck
initrd /Stretch/initrd.gz
title Puppy vpup32 22.02 (sda3/VoidPup)
root (hd0,2)
kernel /VoidPup/vmlinuz psubdir=/VoidPup pmedia=atahd pfix=fsck
initrd /VoidPup/initrd.gz