Ж, Ш, Ц в древнерусском произношении раньше были мягкими и после них ставили «И», что, собственно, показывало саму мягкость. Это сложно передать, но, например, в таком случае «Ж» примерно звучала как ЖЗИ, «Ш» – ЩЩИ, «Ц» – ТИ.
В 13 веке «Ж» и «Ш» отвердились, а ещё через век твёрдой стала и «Ц», но слова писали по-старому – через «И», а не «Ы», хоть и звучали они уже твёрже. Ещё спустя три столетия изменения коснулись и письма: слова с шипящими, такие как цыган, цыпочки, цыплёнок, цыкать, цыц и т.п стали писать уже через «Ы».