The cassette input and output is based on square wave signals. The cassette out is generating a square wave signal by switching the Q flag between 0 and 1. The cassette input is linked to the EF2. At the same time the screen background is changed during loading and saving with the same frequency as the Q or EF2 flag.
Every bit is generated either by a high or low square tone to represent a 0 or 1. Where the start tone is a long square wave with a high tone, followed by some header information which is loaded to address page @7Dxx including program start and end information, after this a new long square wave with a high tone is started followed by all program data.