User Tag List

Страница 45 из 157 ПерваяПервая ... 414243444546474849 ... ПоследняяПоследняя
Показано с 441 по 450 из 1564

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

  1. #441

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    1$: BIT #200, @#177564
    BEQ 1$
    Но проще так:
    1$: TSTB @#177564
    BPL 1$
    Спасибо, Patron ! Я просто плаваю в этом откровенно, просто именно такой
    вариант работает, а простенький не работает ) То есть сравнение с нулём но с приставкой B и даже значение #200 как бы и не нужно.
    То есть получится Макрос можно так оформить
    Код:
    	.MACRO	.TTT	COM
    1$:	TSTB	@#177564
    	BPL	1$
    	MOV	COM, @#177566
    	.ENDM


    ---------- Post added at 18:01 ---------- Previous post was at 17:55 ----------

    Тогда ещё вопрос - принципиально что такое параметр COM в данном макрокоманде?
    Имею в виду один код или последовательность?
    Архив программ для УК-НЦ, ДВК и БК.

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

  2. #442

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

    По умолчанию игроделанье )

    ПРОГРАММИРОВАНИЕ ))) Для меня это просто хобби, поэтому не удивляйтесь,
    что какие-то моменты уже обжёванно - пережёванные могут мне не быть явными.

    Я уже писал на форуме, что делаю простенькую (символьную, но цветную "смайл"),
    игрушку для УК-НЦ. Добился очень правильной "своевременной" реакции на
    нажатие кнопок путём подбора задержки внутри цикла.

    Всё что сейчас работает, это "непрерывный" цикл (типо пульса)
    внутри которого идут в такой последовательности:
    Код:
    repeat /* основной цикл */
    	секция-= Обновление экрана
    		-персонаж
    		-статистика
    
    	секция-=(задержка DELAY - для плавности цикла в целом
    		значение подбирал экспериментально)
    	
    	секция-=опрос клавиатуры
    		оформлен так:
    		(через глобальные переменные (регистры УК-НЦшки)
    		VAR
    		INKEY ORIGIN 177560B:			INTEGER;
    		KEY ORIGIN 177562B:			INTEGER;
    		...
    		IF((INKEY AND 128)<>0) THEN (спасибо form'у ! - сначало
    		я просто ноль туда писал и был этому рад !)
    		...
    		в зависимости от значения нажатой кнопки
    		УПР+Ц - вызывает процедуру CANCEL (по сути EXIT,
    		только там можно будет что то ещё подвесить, типа
    		"ПОКА ПОКА!")
    		Либо перемещение АВАТАРА, 12346789 - меняет значение
    		переменной АВАТАР.НАПРАВЛЕНИЕ 
    		5 - это стоять на месте.
    		
    	секция-=смотрим изменился ли НАПРАВЛЕНИЕ и если да меняем
    		координаты АВАТАРА.		
    until 0>0 /* конец тела основного цикла */


    Это я всё к тому, что я пытался ввести одного АВАТАРА - которым
    управлял бы ИИ, и начинаются беды с плавностью, то есть реакция
    на клавиатуру становится немного не чёткой, а это не позволяет
    управлять игроком адекватно, а ведь ещё пульки должны летать, да
    и вражин лучше бы больше 1-го завести, буду рад любые советы по
    оптимизации услышать - вплоть до "ЗАВЯЗЫВАЙ С ПРОГРАММАМИ, ХОБОТ!"

    Прилепил недоделку что-бы можно было пощупать в UKNCBTL.
    Там файл называется TGAME.SAV, дискета загрузочная.
    Это просто рабочая модель. Идея игровая есть и сюжет там
    будет и брифинг и всё такое, но сначала математика )))
    Вложения Вложения
    Последний раз редактировалось hobot; 29.10.2012 в 04:15.
    Архив программ для УК-НЦ, ДВК и БК.

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

  3. #443

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    То есть сравнение с нулём но с приставкой B и даже значение #200 как бы и не нужно.
    Признаком готовности к передаче байта на экран служит бит 0200 в регистре статуса передатчика.

    Конструкция (A AND R)=0 ( так же как и BIT #200,@#177564 ) проверяет на равенство нулю не весь регистр статуса, а только его бит 0200.
    TSTB @#177564 проверяет младший байт регистра, для которого бит 0200 является битом знака.

    Метки в макросах лучше не использовать, а байт отправлять командой MOVB:
    Код:
    .MACRO	.TTT	ARG
    	TSTB	@#177564
    	BPL	.-4.
    	MOVB	ARG, @#177566
    .ENDM
    Цитата Сообщение от hobot Посмотреть сообщение
    принципиально что такое параметр COM в данном макрокоманде? Имею в виду один код или последовательность?
    Да, принципиально.

    Чтобы результат вызова .TTT < #'Y #'E #'S > совпал с результатом вызова .TTT #'Y | .TTT #'E | .TTT #'S - макрос должен выглядеть так:

    Код:
    .MACRO	.TTT	ARGS
    .IRP	ARG,	<ARGS>
    .IF	NB ARG
    	TSTB	@#177564
    	BPL	.-4.
    	MOVB	ARG, @#177566
    .ENDC
    .ENDM
    .ENDM

  4. #444

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Метки в макросах лучше не использовать
    Метки можно безопасно использовать в макросах, но нужно указать, что они являются локальными для макроса.

    Код:
            .MACRO  XXX,?L1,?L2
    L1:     ...
            ...
    L2:     ...
            .ENDM
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  5. #445

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

    Question ещё раз про RANDOM !!!

    Уселся попинать игрульку и снова затык с RND,
    я в этой теме уже вопрос задавал - но вот дошло по практики:
    Код:
    FUNCTION RND: REAL;
    VAR V: INTEGER;
    BEGIN
    /*$C	
    	BR	M1
    RN:	.WORD  	435     ; проблемная константа!!! чем заменить???
    M1:	MOV	RN, R1
    	MUL	#12869, R1
    	ADD	#6925, R1
    	MOV	R1, RN
    	BIC	#^O100000, R1
    	MOV	R1, V(SP)
    */
     	RND:=V/32767;
    END;
    Сразу скажу что функцию взял из старых исходников школьных времён.
    Ей можно пользоваться, но данном случае у меня получается "узор"
    и "время" для бонусов на уровне одинаковый всё время !
    (см. миниатюру)
    Я помню, что form, мне советовал использовать GetTime??? Но как это оформить ? Вместо RN - кидать в R1 что то из её параметров? А строка
    Код:
    	MOV	R1, RN
    тогда вообще не нужна?
    Хелп!
    Неужели в памяти всё время одинаковый рисунок?
    Должна же быть какая-то ячейка содержание которой случайно по определению и тогда её содержимое и можно было бы использовать?
    Таймер?
    Или RN - можно сделать глобальной и ввести дополнительную процедуру
    RANDOMIZE которая бы писала туда что-то "случайное" - результат вычислений ???

    Нужно авторитетное мнение для "супер-программиста" hobota!
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	err.jpg 
Просмотров:	291 
Размер:	19.1 Кб 
ID:	38411  
    Архив программ для УК-НЦ, ДВК и БК.

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

  6. #446

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

    По умолчанию

    На самом деле проблема для меня в том, что из хелпа
    я не вникаю в главное !!!

    Код:
    ПРИМЕР.
     
              .TITLE  .GTIM.MAC
     
      ;В ЭТОМ ПРИМЕРЕ ПОЛЬЗОВАТЕЛЬ ПОЛУЧАЕТ ТЕКУЩЕЕ ВРЕМЯ
      ;В ТИКАХ.
     
              .MCALL  .GTIM,.EXIT
     
      START:  .GTIM   #AREA,#TICKS    ;ОПРЕДЕЛИТЬ ТЕКУЩЕЕ
                                      ;ВРЕМЯ
              .EXIT
     
      TICKS:  .WORD   0,0
      AREA:   .BLKW   2
              
              .END START
    Куда в этом примере пишется определённое значение?
    Моя "версия", что в #TICKS ?


    ---------- Post added at 14:26 ---------- Previous post was at 14:23 ----------

    Да и макрос зависит от поддержки таймера монитором?
    Может это тупик заведомо?
    Архив программ для УК-НЦ, ДВК и БК.

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

  7. #447

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Если бы не TRAP
    Я не большой спец по системным вызовам, поэтому всегда делаю так, как советуют в их описании.

    В описании вызова .GTIM написано, что первый аргумент - адрес пустого блока из двух слов ( а не двух байтов ) для системных целей, а второй аргумент - адрес блока из двух слов, куда будет записан результат вызова:

    Код:
    Area:	.BlkW	2
    Buf:	.Word	0
    Ticks:	.Word	0
    
    START:
    	.GTIM 	#Area, #Buf
    После вызова в слове Buf будет старшее слово счётчика тиков, а в слове Ticks - младшее ( именно оно инкрементируется 50 раз в секунду ).

  8. #448

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    В описании вызова .GTIM написано,
    хочу просто убедиться, что мы один и тот же документ читаем?

    Код:
    5.3.16. .GTIM
            ЗАПРОС .GTIM ПОЗВОЛЯЕТ  ПРОГРАММЕ  ОПРЕДЕЛИТЬ  ТЕКУЩЕЕ
       ВРЕМЯ СУТОК.  ВЕЛИЧИНА  ВРЕМЕНИ  ОПРЕДЕЛЯЕТСЯ  В  ТИКАХ  (1
       ТИК=1/50 С).
            ФОРМАТ МАКРОКОМАНДЫ:
            .GTIM AREA,ADDR
       ГДЕ AREA - АДРЕС БЛОКА ИЗ 2-Х СЛОВ АРГУМЕНТОВ ЕМТ;
            ADDR - АДРЕС БЛОКА ИЗ 2-Х СЛОВ,  СОДЕРЖАЩЕГО  ЗНАЧЕНИЕ
       ВРЕМЕНИ ВО ВНУТРЕННЕМ ФОРМАТЕ; ПЕРВОЕ СЛОВО СОДЕРЖИТ  СТАР-
       ШИЕ РАЗРЯДЫ, ВТОРОЕ СЛОВО - МЛАДШИЕ.
            ФОРМАТ БЛОКА АРГУМЕНТОВ:
              AREA:   .BYTE   0,21
                      .WORD   ADDR
            ПОЛЬЗОВАТЕЛЬ ДОЛЖЕН ПРЕДУСМОТРЕТЬ  В  СВОЕЙ  ПРОГРАММЕ
       ОПЕРАЦИЮ  ПРЕОБРАЗОВАНИЯ  ТИКОВ  В  ЧАСЫ-МИНУТЫ-СЕКУНДЫ.  В
       РЕЖИМЕ FB ВЕЛИЧИНА ВРЕМЕНИ АВТОМАТИЧЕСКИ  ВОССТАНАВЛИВАЕТСЯ
       ПОСЛЕ 24:00:, В РЕЖИМЕ SJ  ОПЕРАЦИЯ  ВОССТАНОВЛЕНИЯ  ВЫПОЛ-
       НЯЕТСЯ, ЕСЛИ ПРИ ГЕНЕРАЦИИ СИСТЕМЫ БЫЛА ОПРЕДЕЛЕНА ПОДДЕРЖ-
       КА ТАЙМЕРА.
    И да, спасибо! Сейчас буду дальше двигаться, нашёл ещё вариант RND
    правда он там почти "отдельная программа" - т.е. очень много строчек.
    Вложения Вложения
    • Тип файла: rar SYSMAC.rar (47.9 Кб, Просмотров: 320)
    Последний раз редактировалось hobot; 24.11.2012 в 15:55.
    Архив программ для УК-НЦ, ДВК и БК.

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

  9. #449

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

    По умолчанию

    Что находится у RT-11 по адресу ОЗУ 170?

  10. #450

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Что находится у RT-11 по адресу ОЗУ 170?
    Адрес обработчика прерываний по вектору 170
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

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

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

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

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

Похожие темы

  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

Ваши права

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