The STC15Fx chips use a simple TTL/CMOS async programming interface that is suited to the common USB-RS232(TTL) adapters, some of which are less than A$2 on eBay (CH341 chip).
Above, the completed adapter. Both DIP-8 and DIP-28 are located furthese from the operating lever, and pin 1 towards the operating lever, the same jumper connections are used for both chip sizes for STC15F104E and STC15F204E.
There are two spare Gnd pins next to the black jumper above but hidden from view. They are for grounding jumpers that may be required to enable programming of some ‘bootloader protected’ chips.
The 6 pin male and female headers at lower left accept a USB-RS232 adapter (break out board style or cable) with the common Arduino pinout. The only thing that commits the pinout is the 1µF bypass capacitor between Vcc and Gnd pins and the spare Gnd pins. The USB-RS232 adapter powers the chip being programmed, and it needs to be a 5V adapter.
Alternatively one of the little MAX232 adapter boards could be used with a physical RS232 port, but power will be required.