A very basic file tree will look like this
First your computer gets the pxelinux.0 file which instructs it to get the default file which then points to the OS folder with the files to be loaded.
A very basic DNSMasq config (without the DNS + DHCP) with just the relevant TFTP part would look like this:
A very basic default file:
A good start is to install atftp and configure DNSMasq to serve pxelinux.0 then try to download pxelinux.0 inside tmp. This confirms your machines can get pxelinux.0