When I used to host one of my tourney tables in my (rectangular) dining room, I made a simple but very usable topper myself as follows:
* Bought three yards of closed-cell foam from a local distributor. This can also be found online. IIRC it was 1/4" thick.
* Cut the foam to the table size.
* Got three yards of the same material I used for my main (super-elliptical) table to the foam using 3M 77 spray adhesive from Home Depot. I cut the fabric to a size where it would hang over the table edge about 5 inches, like a tablecloth.
My recollection is that I sprayed one side of closed-cell foam, set it aside, then put the the fabric face down on the table, sprayed that too, then had a friend help me carefully lower the foam onto the fabric. Then flipped it over, made sure there were no air pockets, and covered it with heavy books for 24 hours.
At some point later I also adhered a piece of Naugahyde or other lightly-textured faux leather to the underside, since the foam would pick up dust/grit and also tends to slip a little.
This all probably cost about $50, and the topper lasted for years before I stopped using the dining room for poker.
The one issue was that closed-cell foam does not seem to like being tightly rolled for long periods. It can get ripples in it. These will usually flatten back out over time, but I found it better to put a few grommets on one edge and hang it on a basement wall.