Привет, 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




Ответить с цитированием