User Tag List

Страница 9 из 14 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя
Показано с 81 по 90 из 219

Тема: Descent - демо игры с 8-цветными спрайтами для УКНЦ

Комбинированный просмотр

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

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

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Для УКНЦ
    Кстати офигенно выручает твой эмулятор. Особенно когда звуки опробывать надо. Иначе железную технику постоянно по стык С2 грузить...

    Но вот бы еще пару вещей:
    1) вводишь адрес памяти - курсор ну совсем не виден там, нельзя инвертированным сделать его? Чтобы сразу в глаза бросался Ну или передвигать окно с памятью под первую позицию, раньше так было сделано и было удобнее да!
    2) ну и чтобы можно бы было поменять ячейки памяти (понимаю что это атас ведь окно дизассемблирования попортится если прям под него подпадет.. но клевая-бы была фича)

    (сорри что про эмулятор тут, но он юзается ведь.. отзывы потребителей мол все такое ага)

    Картинка про курсор, набрал например 12345 и .. ну не видно его где он там

    Про курсор в памяти UKNCBTL

    https://i.imgur.com/VcVwZi6.png
    [свернуть]


    Цитата Сообщение от nzeemin Посмотреть сообщение
    В комнате где нет света - пустые и неоткрытые клетки лучше бы разным цветом сделать, выглядят одинаково.
    Да самому неприятно когда темные тайлы 16х16 открываются, но быстрее похоже ничего не придумать. Просто тайл не рисуется в этом случае. Без фонарика тупо будет темнота неосвещенная. С фонариком ГГ "светит" немного на +1 тайл по всем направлениям. Планируется типа что его надо все-ж заюзывать когда он выдается чтобы потратился и был весь экран освещен, на записи я просто знаю куда идти (ну еще бы не знать) и не тратил фонарь а так его сразу надо было потратить на экране вроде как.
    Последний раз редактировалось BlaireCas; 20.08.2022 в 18:02.

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

    nzeemin(20.08.2022), Oleg N. Cher(20.08.2022), Ynicky(26.08.2022)

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

  3. #2

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    932
    Спасибо Благодарностей отдано 
    88
    Спасибо Благодарностей получено 
    226
    Поблагодарили
    160 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну или смешивать с кислотой по OR/AND/XOR, так нередко делают в спектрумовских играх, когда спрайты в воде.
    Глянуть, какой вариант будет лучше выглядеть, если устроит - так и делать. Маска при этом не нужна, смешиваем сразу спрайт.

  4. #3

    Регистрация
    05.04.2016
    Адрес
    г. Мончегорск, Мурманская обл.
    Сообщений
    414
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    45 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Заметил что после запуска игры, так же как и после запуска Krackout и RiverRide, не останавливается двигатель дисковода.

    Таймер работы двигателя навешен на прерывание по обратному ходу луча.
    Код:
    175306$:TST     @#07130          ; Двигатель НГМД вращается ?
            BEQ     0175326$         ; Нет
            DEC     @#07130          ; Уменьшить счетчик вращения двигателя
            BNE     0175326$         ; Еще не конец
            CALL    @#07132          ; Вызов п/п выключения двигателя НГМД
    175326$:
    Если обращение к дисководу больше не продполагается, то можно просто вызввать подпрограмму.
    Код:
    CALL @#07132
    Если двигатель был запущен, он будет остановлен.
    Последний раз редактировалось randomizer; 21.08.2022 в 21:45.
    aberrant_hacker

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

    BlaireCas(22.08.2022)

  5. #4

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    362
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от randomizer Посмотреть сообщение
    Если обращение к дисководу больше не продполагается, то можно просто вызввать подпрограмму.
    Код:
    CALL @#07132
    Нету такого в дизассемблированной версии. Не CALL @#07132, а CALL @7132. Идёт вызов подпрограммы не по адресу 07132, а по адресу, которая находится в ячейке 07132. Туда драйвер дисковода заносит значение 0134454, так что можно и так - CALL @#134454. Но это если контроллер дисковода есть. А если игра запускается с ЖД или грузится через стык С2, и нет контроллера дисковода, то будет TRAP4.

  6. #5

    Регистрация
    05.04.2016
    Адрес
    г. Мончегорск, Мурманская обл.
    Сообщений
    414
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    45 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Нету такого в дизассемблированной версии.
    В дизассемблированной версии ошибка, проверял по коду ПЗУ на реальной машинке.
    там JSR PC, @011604(PC), что эквивалентно CALL @#07132
    Если контроллера дисковода нет(или загрузка производилась не с дисковода), то по адресу 07132 будет значение 0, а по адресу 0, инструкция RETURN.
    aberrant_hacker

  7. #6

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,557
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    720
    Поблагодарили
    602 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от randomizer Посмотреть сообщение
    JSR PC, @011604(PC), что эквивалентно CALL @#07132
    JSR PC, @011604(PC) - 77 режим адресации
    CALL @#07132 - 37 режим адресации, так что такая трактовка точно ошибка

  8. #7

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,250
    Спасибо Благодарностей отдано 
    362
    Спасибо Благодарностей получено 
    639
    Поблагодарили
    415 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от randomizer Посмотреть сообщение
    В дизассемблированной версии ошибка, проверял по коду ПЗУ на реальной машинке.
    там JSR PC, @011604(PC), что эквивалентно CALL @#07132
    Ошибок в дизассемблированной версии не может быть, т.к. она потом транслировалась и сверялась с оригиналом.
    Ошибка у вас. Разберем.
    По адресу 0175322 находится команда 004777 011604. Сразу видим, что метод адресации используется косвенно-относительный с кодом 77, а не обращение к абсолютному адресу с кодом 37. А раз это косвенно-относительный способ адресации, то для получения адреса исполнения команды CALL надо вычислить адрес ячейки с адресом запуска. Для этого сложим значение 011604 с адресом после этого слова 0175326, в итоге и получим 07132.

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

    randomizer(21.08.2022)

  9. #8

    Регистрация
    05.04.2016
    Адрес
    г. Мончегорск, Мурманская обл.
    Сообщений
    414
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    45 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ошибка у вас. Разберем.
    Так и есть, Но тем не менее работало)
    Работало, в смысле программа не обрушивалась, а в итоге возвращалась к нормальному выполнению)

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

    В общем отключая прерывания по обратному ходу, нужно выполнить CALL @07132
    aberrant_hacker

  10. #9

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

    По умолчанию

    Цитата Сообщение от randomizer Посмотреть сообщение
    Заметил что после запуска игры, так же как и после запуска Krackout и RiverRide, не останавливается двигатель дисковода.
    Хм, я не использую в софте ничего из RT-11 после загрузки игрух, но если что-то не так то ну в этой-то игре код на гитхабе, в кракоуте и ривер рейде оно чего-то похожее. Может где-то и накосячил, вот уж не знаю точно. После считывания данных через ЕМТ больше не должно быть никаких обращений к дискам.

    Весь код чтения с диска:

    Тут некий код дурной

    Код:
    READFL:	mov	#MSG001, MSGADR		; possible error: device error
    	.fetch	#BUF001, #DKN001	; test device
    	bcc	10$
    	return
    10$:	mov	#MSG002, MSGADR		; possible error: channel is active
    	.looku	#AREA01, #7, #DKN001	; test file, return R0-file size in blocks
    	bcc	20$
    	tstb	@#52			; check what error
    	beq	12$			; it's channel is active?
    	mov	#MSG003, MSGADR		; file not found
    12$:	sec
    	return
    20$:	; reading prepare
    	mov	R0, MAXBLK		; file size
    	clr	CURBLK			; block to read
    	mov	#MSG005, MSGADR		; possible error: file read error
    	mov	#176640, R4
    	mov	#176642, R5
    40$:	; reading cycle
    	.readw	#AREA01, #7, #BUF002, #256., CURBLK
    	bcs	90$			; C=1 is error
    	tst	R0			; R0=readed words count
    	beq	50$			; nothing readed? (eof?)
    	; readed, data in BUF002
    	inc	CURBLK
    	mov	#BUF002, R0
    	mov	FILNUM, R2
    	asl	R2	
    	call	@WRITAB(R2)		; call per-file write proc
    	cmp	CURBLK, MAXBLK
    	blt	40$
    	; eof
    50$:	.close	#7
    	clc				; set no error
    	return
    90$:	; read error
    	tstb	@#52			; error word addr
    	beq	50$			; no error - it's what? eof again?
    	.close	#7
    	sec
    	return
    [свернуть]


    На эмуляторе UKNCBTL и правда показывает что мотор дисковода работает. Хм. Интересно конечно. А как его остановить получается тогда? (у меня железка с загрузкой через rs-232 и даже не знаю чего там с дисководом, но видимо это нехорошо)

    >Если обращение к дисководу больше не продполагается, то можно просто вызввать подпрограмму.
    >Код: CALL @#07132
    >Если двигатель был запущен, он будет остановлен.

    Это вот в ЦП или в ПП надо вызвать? В ПП наверное да? (блин у меня конечно там сильно портится вся память при загрузке, ну чтож.. работающий мотор дисковода это плохо и так нельзя)

    UPD: попробовал и там и сям вызвать, в ПП просто все зависло, в ЦП выдало веселящую надпись ***СТОП*** Короче нужны еще способы как остановить мотор у дисковода

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

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Ну не совсем. Это можно, если адрес вашей программы в ОЗУ ПП заранее известен, и программа так и транслируется. Но в ПП программа может грузится по разным адресам, потому лучше такую комбинацию: CLR R0, CALL @7132(R0).
    А вот это вот в ПП заработало. Я не знаю что оно делает но вроде мотор отключился после загрузки игрухи как показывает UKNCBTL.. Спс Алекс Чудеса какие-т, но оно сработало! Алилуйя Реально не знаю что сделал код, но мотор он отключил вроде.

    (надо будет встроить в ривер рейд и в кракоут если найду уже как их скомпилять)

    Получилось как-то так Но работает ведь да? У меня нет дисковода, могу только по Никитиному эмулятору смотреть.

    Еще один тупой код

    Код:
    ; //////////////////////////////////////////////////////////////////////////////	
    ; // PPU second phase prepare
    ; //////////////////////////////////////////////////////////////////////////////
    
    PPUST2:
    	CLR	R0		; I dunno what is here? Alex_K said DO THAT
    	CALL	@7132(R0)	; and it's working! stopping FD motor
    
    	; set PSW (HP**TNZVC) = 110000000 (HP=11, disable interrupts, halt mode)
    	mtps	#600
    	; 11 110 001 (all RAM banks of plane 0)
            ; WARNING !!! We can't read (and bit/tst so on..) from there, but CAN write
    [свернуть]


    Спасибо парни что заметили этот факап!
    Последний раз редактировалось BlaireCas; 22.08.2022 в 02:56.

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

    nzeemin(22.08.2022), randomizer(22.08.2022)

  11. #10

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,058
    Спасибо Благодарностей отдано 
    1,159
    Спасибо Благодарностей получено 
    1,480
    Поблагодарили
    528 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    BlaireCas, вот тут твоя игра попала в обзор про УКНЦ: https://youtu.be/dVenGboVfpE?t=686

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

    BlaireCas(04.09.2022)

Страница 9 из 14 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 42
    Последнее: 22.11.2021, 02:55
  2. Демо-версия новой игры SaNchez-а ;)
    от SaNchez в разделе Игры
    Ответов: 91
    Последнее: 26.02.2014, 22:08
  3. Помогите найти Демо из игры Dizzy
    от женя999 в разделе Демо
    Ответов: 8
    Последнее: 15.09.2012, 00:08
  4. Ответов: 10
    Последнее: 07.06.2012, 12:24

Ваши права

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