User Tag List

Страница 142 из 157 ПерваяПервая ... 138139140141142143144145146 ... ПоследняяПоследняя
Показано с 1,411 по 1,420 из 1564

Тема: Программирование на УКНЦ как?

  1. #1411

    Регистрация
    22.11.2009
    Адрес
    Москва
    Сообщений
    1,699
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    195
    Поблагодарили
    127 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашлось такое описание, но без самих библиотек:
    Код:
        Описание макровызовов для работы с периферийным процессором УК-НЦ
        		        Автор: Жалнин Д.Н. 11.3.92
    
        Все макрорасширения включены в библиотеку SYSMAC.MLB и поддерживаются 
    объектной библиотекой при компоновке (все макрорасширения вызовов  ЕМТ не
    содержат - отсюда необходимость использования SYSLIB.OBJ). После  вызовов 
    регистры общего назначения не нарушаются, исходные параметры не изменяют-
    ся.
    	
    	.PPINI	-	инициализация работы с периферийным процессором.
    			Команду необходимо подать один раз в начале про-
    			граммы.
    
    	.PPEXI	-	Удаление всех подпрограмм из памяти ПП,  которые
    			были загружены командой .PPINI .  Удаление  под-
    			программ,  загруженных  командой  .PPRUN  должно
    			производиться командой .PPDEL .
    
    	.SLPRI	ADR -	печать текста в служебной  строке.  ADR - обяза-
    			тельный аргумент, содержащий адрес строки.  Пер-
    			вый байт строки должен содержать номер позиции в
    			строке.
    
    	.PPRUN	BEG,FIN,FACT,LEN - загрузка и запуск программы в ПП.
    			Входные параметры: 
    				BEG  - начало программы
    				FIN  - конец программы
    			Выходные параметры:
    				FACT - 
    				  фактический адрес загрузки программы в
    				       периферийный процессор (использу-
    				       ется для  повторного  пуска  про-
    				       граммы в ПП  командой  .PPCAL,  a
    				       так же для удаления программы  из
    				       памяти ПП)
    				LEN -  фактическая количество  переданых
    				       байтов (используется для последу-
    				       ющего удаления программы из памя-
    				       ти ПП.
    	.PPCAL	FACT -	вызов загруженной в память ПП подпрограммы.
    			FACT - фактический адрес запуска подпрограммы.
    
    	.PPDEL	FACT,LEN - удаление подпрограммы из памяти ПП.
    			FACT - фактический адрес начала подпрограммы
    			LEN  - длина удаляемой подпрограммы
    
    	.PPRED	ADRIN,ADROUT,LEN - чтение данных из озу ПП.
    			ADRIN  - адрес озу ПП
    			ADROUT - адрес озу ЦП, куда передаются данные
    			LEN    - длина в байтах
    
    	.PPWRI	ADRIN,ADROUT,LEN - запись данных в озу ПП.
    			ADRIN  - адрес озу ЦП, откуда читаются данные
    			ADROUT - адрес озу ПП, куда записываются данные
    			LEN    - длина в байтах
    
    	После макровызова байт ошибки 52 содержит , если операция заверши-
        лась успешно, в противном случае - код ошибки (см. описание 31-1 9
        1)
    	ПРИМЕЧАНИЕ. В каждой макрокоманде необходимо указывать  все  огово-
        ренные в ее описании параметры. В противном случае правильность  работы
        макрокоманд не гарантируется!
    
        -----------------------------------------------------------------------
    
                  Макроопределения для прямой работы с дисководом
    
    	.SCTRE	NDSK,LOC,ADDR,LEN - чтение сектора с диска
    			NDSK  	  - номер привода, 7 бит - верхняя сторона
    			LOC   	  - мл. байт номер дорожки,
    				    старший байт - номер сектора
    			ADDR  	  - адрес буфера
    			LEN       - количество слов
    
    	.SCTWR	NDSK,LOC,ADDR,LEN - запись сектора на диск
    			NDSK  	  - номер привода, 7 бит - верхняя сторона
    			LOC   	  - мл. байт номер дорожки,
    				    старший байт - номер сектора
    			ADDR  	  - адрес буфера
    			LEN       - количество слов
    
    	.FORMAT NDSK,NTRK	  - форматирование
    			NDSK  	  - номер привода, 7 бит - верхняя сторона
    			NTRK	  - номер дорожки
    
    	ПРИМЕЧАНИЕ. Метка LOC обязана иметь четный адрес, как и другие мет-
        ки, или быть регистром.
    
        =======================================================================

    Эти 2 пользователя(ей) поблагодарили shattered за это полезное сообщение:

    hobot(26.10.2020), Oleg N. Cher(13.01.2024)

  2. #1411
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #1412

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    484
    Спасибо Благодарностей отдано 
    139
    Спасибо Благодарностей получено 
    391
    Поблагодарили
    146 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного помучавшись с таблицей строк возникла не то чтобы проблема, а вопрос такой.
    Зачем в УКНЦ первые 18 элементов в таблице строк?
    Обычно у них прописываются адреса видеопамяти типа 0, мол не используется. Но туда можно ставить палитру/разрешение экрана/яркость.
    Второй момент - почему установка палитры слетает для каждого кадра, а установка разрешения и яркости не слетает? То-есть не получается один раз сделать палитру, а потом закольцевать без палитры таблицу строк только на видеопамять? Необходимо хоть раз установить палитру (разрешение все-ж не нужно устанавливать, достаточно один раз и потом переделать таблицу строк на 2-word'a на строку
    (фраза из фильма - "хотел бы я тому изобретателю взглянуть в глаза")

    Установка таблицы строк (в периферийном процессоре):
    (я ставлю адреса таблицы строк с адреса 2000, но это не суть важно)

    Код:
    	; set lines table
    	; idea here is to make plain ppu vram -> device projection
    	; WARNING! lines table starts with 18 lines (i don't know the reason)
    	; first 2 lines to set palette and resolution
    	; to set palette as soon as possible is ... important I think
    	mov	#2000, R0
    	mov	#152140, R1	; bottom 18th line vaddr
    	mov	#^B1111101011111000, (R0)+	; YGRB for 011 010 001 000
    	mov	#^B1111101111111110, (R0)+	; YRGB for 111 110 101 100
    	mov	#0, (R0)+	; vaddr
    	mov	R0, (R0)
    	add	#2, (R0)
    	bis	#2, (R0)+	; next 4-word to set resolution
    	mov	#^B0000000000010000, (R0)+ ; no cursor
    	mov	#^B0000000000000111, (R0)+ ; 640x288, max luminance (..010111 - 320, ..100111 - 160, ..110111 - 80)
    	add	#80., R1	; advance to next line
    	mov	#0, (R0)+	; vaddr
    	mov	R0, (R0)
    	add	#2, (R0)+	; next are 2-word elements		
    	; second 16 bottom lines
    	mov	#16., R5
    10$:	add	#80., R1
    	mov	#0, (R0)+
    	mov	R0, (R0)
    	add	#2, (R0)+	
    	sob	R5, 10$
    	; next 288 'main' lines from top, vaddr = 100000
    	mov	#100000, R1
    	mov	#288., R5
    20$:	mov	R1, (R0)+
    	mov	R0, (R0)
    	add	#2, (R0)+
    	add	#80., R1
    	sob	R5, 20$
    	; cycle to 'first' element
    	dec	R0
    	dec	R0
    	mov	#2120, (R0)+
    	; all lines are set - put them to work
    	clr	@#270
    	mov	#2006, @#272
    Первые 18 (почему 18, что за магическое число?) можно установить на нижние адреса и потом закольцевать, то-есть последнюю часть не делать с 288 строками, а делать только с 270-ю и закольцевать на первую.
    (проще говоря - УКНЦ это какая-то жуть)

    Эти 2 пользователя(ей) поблагодарили BlaireCas за это полезное сообщение:

    nzeemin(30.10.2020), Oleg N. Cher(01.11.2020)

  4. #1413

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Немного помучавшись с таблицей строк возникла не то чтобы проблема, а вопрос такой.
    Если будешь мучиться дальше.. слезная просьба.. разберись с мусором котjрый возникает вверху экрана при переносе адреса ВОЗУ в ЦП
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  5. #1414

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    484
    Спасибо Благодарностей отдано 
    139
    Спасибо Благодарностей получено 
    391
    Поблагодарили
    146 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    переносе адреса ВОЗУ в ЦП
    Это невозможно. Из ЦП только через регистры в ВОЗУ.

    Можно сделать таблицу строк на plain адреса 100000.. в ПП. Но с одним но - там будет только plane 0 в этих адресах. Отключив ПЗУ из этих адресов.
    Код:
            ; WARNING !!! We can't read (and bit/tst so on..) from there, but CAN write
    	mov	#161, @#177054
    	; get ROM banks back
    	; mov	#1, @#177054
    Ты сможешь банально ставить точки белым цветом (например установив палитру нужную) записав что-то навроде mov #1, @#100000 в ПП. Без регистров и прочей ерунды, навроде как в "нормальных" компьютерах (шучу, укнц тоже неплохая техника).
    Но считывать из них не выйдет. Только записывать. Команды со считыванием памяти (типа bis) будут в любом случае начинать читать из ПЗУ (оно быстрее как пояснял Alex_K поэтому считается из него первым, то-есть отключение банков ПЗУ неполноценное).

    (однако команда movb несмотря на то что утверждается что она сначала читает слово - работает нормально в таком случае, эмуляторы такое не умеют, реальная укнц подтверждает что это так)

    Эти 2 пользователя(ей) поблагодарили BlaireCas за это полезное сообщение:

    hobot(30.10.2020), Oleg N. Cher(01.11.2020)

  6. #1415

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Это невозможно. Из ЦП только через регистры в ВОЗУ.
    Кто сказал?
    Можно.... только планы у тебя будут разнсены физически.. и третий план будет в ПП
    А два первых будут лежать последовательно и занимать почти всю память
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  7. #1416

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    374
    Поблагодарили
    311 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    шучу, укнц тоже неплохая техника
    я уже писал, извиняюсь, что тут не по теме - приятно порадовал звук на живой машинке в KRK )
    Пищалка рулит !!! )
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  8. #1417

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,400
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,221
    Поблагодарили
    874 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Немного помучавшись с таблицей строк возникла не то чтобы проблема, а вопрос такой.
    Зачем в УКНЦ первые 18 элементов в таблице строк?
    Ребята, все же описано уже в теме с реверсом: Описание циклов памяти видеоконтроллера

    - - - Добавлено - - -

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Это невозможно. Из ЦП только через регистры в ВОЗУ.
    Конечно возможно.

    - - - Добавлено - - -

    Цитата Сообщение от S_V_B Посмотреть сообщение
    Если будешь мучиться дальше.. слезная просьба.. разберись с мусором котjрый возникает вверху экрана при переносе адреса ВОЗУ в ЦП
    Возможно, ты не отключил системные прерывания или не перенес стек, вот поэтому и мусор был в начале экрана.

  9. #1418

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Ребята, все же описано уже в теме с реверсом: Описание циклов памяти видеоконтроллера
    Если найдешь время чиркни.. как это делать правильно (не с одной строкой).., а так чтобы можно было реально пользоваться
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  10. #1419

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,400
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,221
    Поблагодарили
    874 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    Если найдешь время чиркни.. как это делать правильно (не с одной строкой).., а так чтобы можно было реально пользоваться
    Я не понимаю твоего вопроса)
    По ссылке описана подробно работа видеоконтроллера.

  11. #1420

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Это невозможно. Из ЦП только через регистры в ВОЗУ.
    Titus, почему ты всегда стараешься быть вне контекста? Развиваешь наши когнитивные возможности???

    - - - Добавлено - - -

    Я так же с китайцами общаюсь Когда деньги возвращать - "моя-твоя не понимать... мы все сделать"
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

Страница 142 из 157 ПерваяПервая ... 138139140141142143144145146 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

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