Привет, atariki.

Вот код, который либо поможет, либо всё испортит.
Его ПРАВДА в том, что он работает!

Код:

; Resident COLORizer program
; Bump-Up the MEMLO pointer
        .ou colorize.com
; Included LIBS
        .in macro.mae

; --------------------------------
; equates
DOSINI  = $0c   ; standard DOS init
COLOR1  = $02c5 ; brightness
COLOR2  = $02c6 ; bgCOLOR
RUNAD   = $02e0 ; Run address
MEMLO   = $02e7 ; Word, - first free byte
LMARGIN = $52   ; Left Margin

;
; constants
brwhite = $0e
dkblue  = $92
; Resident part:
        .or $1900
start   jmp init
;
newmlo  .ds 2
dummy
;
trojan  jsr dummy
        maw newmlo MEMLO ; bumps up
;
        mib dkblue COLOR2
        mib brwhite COLOR1
        rts
finish   = *
;
; Executed ones:
; (then can be deleted)
init
        miw finish newmlo   ; fill newmlo with finish
        maw newmlo MEMLO    ; fill MEMLO as newmlo
;
        maw DOSINI 1+trojan ; save DOSINI into trojan
        miw trojan DOSINI   ; set DOSINI as trojan
;
        mib dkblue COLOR2
        mib brwhite COLOR1
        rts
;
        .or RUNAD
        .wo start
        .en
Где-то ранее (ищите!) я писал о том, что если ВЕРНЫЙ!!! код, написанный Вами будет РАНЕЕ исполнения стандартного кода Атари, то результата ПРОСТО не будет.
Стандартный код ЗАМЕСТИТ ВСЁ, а в случае наличия конфликтов памяти выгонит Атарьку в висняк.

То есть, Совет Шинни - ЗАЦИКЛИТЬ, просто означает, что Вы исполняете только Ваш ВЕРНЫЙ!!! код и БОЛЬШЕ НИЧЕГО!

Вышеуказанная программа является на самом деле иллюстрацией к защите памяти от ОС.

Цвета там - не Главное!
Но, если заметить, что:
1. Новые цвета задаются инициализацией!
2. Новые цвета переустанавливаются при софтресете.

И добавить конструкционную целостность программы, (Где нужен выход из прерывания - предоставляем RTI, Где нужен Выход из подпрограммы - проедоставляем RTS и пр.)

Добавлю:
Наличие или отсутствие Бейсика - для ассемблирования -НЕ СУЩЕСТВЕННО!

Хватило бы памяти... Например, для самого Ассемблера! Или, для самой Программы!

И, ВАЩЕ, к вопросу о выходах из подпрограмм...

Наконец примите ОДНО решение! Если Вы его
не примите, будет чёрный экранчик
(у Атари бывает ещё и DMA вывод необновляемого состояния - зависание, при работающих системах вывода графики.)
zen