User Tag List

Показано с 11 по 20 из 26

Тема: Программирование Турбо 2+ в режиме 320x200x16

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #2

    Регистрация
    16.01.2005
    Адрес
    Москва
    Сообщений
    1,992
    Спасибо Благодарностей отдано 
    227
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от norduk Посмотреть сообщение
    Может быть есть какие-то куски примеров кода как инициализировать графический режим АТМки 320x200x16, как установить палитру, как нарисовать точку или что-то вроде того (или исходники какие-нибудь)?
    Ну, давай начнем просто с включения режима 320х200 (остальное как-нибудь в следующий раз):

    Код:
    ;включение графического режима 320х200 в ATM-turbo 2+ из обычной конфигурации TR-DOS:
    
    		LD A,%10101000	;биты 4-7 обязательны именно в таком 
    						;виде, бит 3=1 – турбо включено
    						;биты 0-2 код экрана - %000 – режим 320x200
    						;соответственно %10100000 тоже самое, но с 
    						;выключенной турбой, а %10101011 – ZX-экран
    		LD BC,retadr		;адрес возврата из TR-DOS
    		PUSH BC			;на стек
    		LD BC, #2A53		;адрес подпрограммы в TR-DOS с командой OUT (C),A:RET
    		PUSH BC			;на стек
    		LD BC, #FF77		;скрытый системный порт ATM
    		JP # 3D2F		;переходим в TR-DOS для доступа к скрытому порту
    retadr		…			;здесь продолжается программа пользователя
    
    
    ;включение графического режима 320х200 в ATM-turbo 2+ из ОС TASiS:
    
    		XOR A			;задание режима системному вызову на получение
    		INC A			; в HL’ адрес спецблока системных переменных OS TASiS
    		LD C,#79			;задаем номер системного вызова(рестарта) $PAL
    		RST #10			;получаем их адрес
    		EXX
    		PUSH HL
    		POP IX			;перекидываем адрес блока в индексный регистр
    		LD A, %10101011	;задаем экран 320х200 (значение байта точно как и выше)
    		LD (IX+55),A		;ставим номер экрана в «экранную» переменную
    		XOR A			;режим «восстановления» для следующего рестарта
    		LD BC,#007B		;рестарт #7B $set_pg (в регистре B один из режимов работы)
    		RST #10			;меняем экран
    		…				;продолжение программы пользователя
    
    P.S. В этом примере изменится экран только в программе пользователя, а при выходе из нее в систему
    восстановится «системный» экран (сейчас по умолчанию текстовый). Чтобы поменять системный экран,
    используйте (IX+54).
    Последний раз редактировалось Максагор; 07.09.2019 в 01:57.
    Максагор, NedoPC group
    ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
    [ZX rulezzz 4reva!!!]
    http://atmturbo.nedopc.com
    http://vk.com/atmturbo
    http://maksagor.livejournal.com
    http://moskprf.ru
    [СССР][Коммунизм][КПРФ] ну [ZX], естественно...

    Этот пользователь поблагодарил Максагор за это полезное сообщение:

    norduk(07.09.2019)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Муз. сопроцессор в турбо-режиме
    от KALDYH в разделе Звук
    Ответов: 13
    Последнее: 18.10.2021, 12:26
  2. Опознать дисковод 5.25. Будет ли он работать в режиме DS/DD?
    от gushin в разделе Внешние накопители
    Ответов: 10
    Последнее: 01.12.2017, 09:22
  3. Ответов: 17
    Последнее: 05.10.2012, 20:11
  4. Работа NemoBus устройств в TURBO режиме
    от Black_Cat в разделе Внешние накопители
    Ответов: 4
    Последнее: 06.07.2011, 08:33
  5. Глюк в режиме 512 точек
    от tki в разделе Вектор
    Ответов: 13
    Последнее: 31.01.2011, 20:47

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •