★ CODING ★ HACKER ONLY: Cassette capers ★ |
Read the Tape Data's Whitout the System (The Amstrad User) | Clefs1 19 Logiciel Interne Table Cassette | Clefs1 32 Blocs de Controle - Cassette | Turbo save speed for cassette users |
The section that brings out the CPC's darkest secrets to light. If you don't understand what's written here, bad luck. You'll get no explanation, for this is where the hackers hang out. Cassette capers The cassette deck included with the 464 (external device required with 664/6128 machines) outputs a square-wave signal of approximately 5 volts amplitude. Such a signal can be processed by the multi-functional 8255 parallel interface chip. The 8255 contains 24 input/output bits. These bits may be programmed in two blocks of 12 bits. To make matters simple think of the chip as having three 8-bit ports (A, B and C). Fort A gives input and output, port B input only and port C output only. We are only interested in the chips cassette control feature:
A write-only control register (located at &F700) determines whether a bit sunt to port C is either 0 or 1. The bits sent to &F700 do the following:
Confused? Try the following in Basic OUT &F700,9 or in Z80 assembler LD BC,&F7C9 You should have heard the cassette motor start up. If you convert 9 to binary you get 00001001. Bit 0 is set. This means that the bit sent to port C will also be set (1). The 3rd bit is also set which tells us that bit 4 of port C will be affected. To switch off the cassette motor issue an OUT &F700,8 - try and work out why it works. Another method of switching on the motor (or rather setting bit 4 of port C is OUT &F60D, 16. Get to grips with this manner of switching on and off the cassette motor as next month we shall go one step further - cassette reading and writing.
|