Abstract: A cartridge programming system is provided for loading selected computer programs into a reprogrammable plug-in cartridge memory. A host computer controls a plurality of remote programming terminals. The terminals contain a library of programs. The consumer can select one and have it loaded into a blank cartridge. The terminal verifies the integrity of the copy and records the transaction. The host can send new programs to the terminals via dial-up telephone lines and can request data on copying-transactions. Various security measures help assure accurate accounting of copies made, thereby assuring authors and their assignees that proper royalties can be billed.