The following machine code routine can be used for redefining the character set in bank O (14363-16383). I chose this set as it is the highest in the bank therefore leaving the most memory free. It is possible to use different banks but this means moving the screen to a new part of the memory and this may complicate programs.
The usual Basic program takes about 35 seconds whereas this is almost instant.
To use it, type SYS 49152. It is relocatable so to move it, change the variable in line 10.
To turn on the graphics, type: POKE 53272,31. To turn them off, type POKE 53272,21. (NB: Make sure the computer is in upper case.)