Wystarczy spojrzeć na to od strony binarnej, i wszystko jasne:
000001
000010
000011
000100
000101
000110
000111
001000
001001
001010
001011
Wystarczy spojrzeć na ostatnie dwie cyfry. Ich układ co pewien czas powtarza się, prawda?
Oczywiście powyższy przykład pokazuje na czym polega \'powtarzanie się\' kolorów, jeśli przekroczymy liczbę 3 a nie 15 (a więc tak jakby komodorek miał 4 kolory zamiast 16, co jednak nie przeszkadza w zrozumieniu mechanizmu kodowania koloru

). Pozostałe cyferki już nie mają znaczenia. Z tego powodu w prawdziwym C64 wpisanie liczb:
0, 16, 32, 48, 64 itd. zawsze spowoduje zmianę koloru na czarny (cztery pierwsze bity będą miały wartość 0 co po zamianie na wartość liczbową daje również oczywiście zero).
A wracając do Twojego programu (tego z błędami) - nawet jeśli w wersji mojej (poprawionej) zastąpisz:
IF A$=\'R\' THEN RUN
Linijką:
IF A$=\'R\' THEN LOAD \'PROGRAM TESTOWY\',8
Załadowany program to już będzie tylko kupa bezsensownych liter i innych znaków. I powiem szczerze, nie wiem do tej pory jak to zrobić, by jeden program mógł wczytać drugi tak, by ten drugi zadziałał. Na razie udało mi się to tylko dla króciutkich programów (max 4 linie) których jedynym zadaniem było wczytanie drugiego programu, a ten drugi wczytywał pierwszy i tak w kółko.