I fixed most issues but 3 of them are incorrect.
(a sub is not called but it is from in another module, and 2 for a variable that's not set but it is during the init of the class)
It is still slower than on your (faster) phone tho.
but 10ms * 12 items = 1.2s while it would be instant with a normal regional bitmap copy.
it can probably be bypassed by
using seperate images for each tile instead of 1 big tilesheet where bitmap data gets copied from
or
using a get ready or level completed screen while the level gets build in the background
so more things to keep in mind when doing games