User Tag List

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 49

Тема: Портирование Desolate на Вектор-06Ц

  1. #21

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,027
    Спасибо Благодарностей получено 
    811
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Самый простой пук наверное можно изобразить битом 0 порта 1. Что проще всего делать в режиме 8255 BSR. Если я ничего не путаю, это будет примерно так:
    Порт 0: Бит 7 = 0, биты 3:1 - номер бита, бит 0 = значение. То есть
    Код:
    mvi a, 1
    out 0 ; 8255 CSR
    ; <какое-то время>
    mvi a, 0
    out 0
    ; <какое-то время>
    Больше игр нет

  2. #22

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну если нужен не просто щелчёк динамиком, а типа как звук нажатия клавиш в МДОСе, то там используется такой код (из МДОС Т-72):
    Код:
    ; звук нажатия клавиши
    L_F6F6:	MVI  H, 030h	; Счётчик 1
    	XRA  A
    L_F6F9:	MVI  L, 040h	; Счётчик 2
    L_F6FB:	DCR  L
    	JNZ     L_F6FB	; Задержка 40h циклов
    	XRI     001h	; А=0000 000х, режим оперирования битами, инверсия бита 0
    	OUT     000h
    	DCR  H
    	JNZ     L_F6F9	; Цикл, повтор 30h раз

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

    aGGreSSor(19.10.2025), nzeemin(02.12.2020), Oleg N. Cher(02.12.2020)

  3. #23

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    Ну если нужен не просто щелчёк динамиком, а типа как звук нажатия клавиш в МДОСе, то там используется такой код (из МДОС Т-72):

    Скрытый текст

    Код:
    ; звук нажатия клавиши
    L_F6F6:	MVI  H, 030h	; Счётчик 1
    	XRA  A
    L_F6F9:	MVI  L, 040h	; Счётчик 2
    L_F6FB:	DCR  L
    	JNZ     L_F6FB	; Задержка 40h циклов
    	XRI     001h	; А=0000 000х, режим оперирования битами, инверсия бита 0
    	OUT     000h
    	DCR  H
    	JNZ     L_F6F9	; Цикл, повтор 30h раз
    [свернуть]


    Ну вот а я предлагаю не просто гнать туда 0 и 1 , а код самой программы... получится не просто "зззззз", а "хр-хр-хр"
    Выбрать только нужный фрагмент, экспериментальным путём.

  4. #24

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если устроит lfsr, то пример есть здесь. Если нужен именно 8 битный, то можно легко переделать, полиномы например здесь (а для 16 брал тут)
    Опробовал этот вариант. Не сказать что прям блестяще, но использовать вполне можно.

    Скрытый текст


    Код:
    rnd16:
    	lxi h,65535
    	dad h
    	shld rnd16+1
    	rnc
    	mvi a,00000001b ; flipped 80h - 10000000b
    	xra l
    	mov l,a
    	mvi a,01101000b	; flipped 16h - 00010110b
    	xra h
    	mov h,a
    	shld rnd16+1
    	ret
    Код:
      ld hl,$C000
      ld bc,$1000
    Start_A:
      push bc
      push hl
      call rnd16
      ex de,hl
      pop hl
      ld a,e
      ld (hl),a
      inc hl
      ld a,d
      ld (hl),a
      inc hl
      pop bc
      dec bc
      ld a,b
      or c
      jp nz,Start_A
    [свернуть]




    - - - Updated - - -

    Но вот этот вариант выглядит получше: https://wikiti.brandonw.net/index.ph...C_16-bit_seeds

    Скрытый текст


    Код:
    Random16:
        ld hl,(seed1)
        ld b,h
        ld c,l
        add hl,hl
        add hl,hl
        inc l
        add hl,bc
        ld (seed1),hl
        ld hl,(seed2)
        add hl,hl
        sbc a,a
        and %00101101
        xor l
        ld l,a
        ld (seed2),hl
        add hl,bc
        ret
    seed1: dw 12345
    seed2: dw 54321
    [свернуть]




    - - - Updated - - -

    В аттаче второй драфт.

    Улучшения:
    - Применять светлую/тёмную тему в зависимости от ситуации
    - Уменьшить задержки на 25-30%
    - Улучшить маппинг клавиш: АР2 escape
    - Генерация случайного числа

    Что ещё собираюсь сделать:
    - Улучшить маппинг клавиш: задублировать Look/Shoot
    - Моргать бордюром когда игрок получает урон
    - Звук "тык" при look/shoot
    - Сжатие основной части через LZSA1, распаковка

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

    crackintosh(04.12.2020), Improver(03.12.2020), ivagor(02.12.2020), KTSerg(02.12.2020), Oleg N. Cher(02.12.2020), parallelno(08.07.2022), svofski(02.12.2020)

  5. #25

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    Не сказать что прям блестяще
    Поэтому я и написал "если устроит lfsr". Как написано по ссылке "On their own, LCGs and LFSRs don't produce great results and are generally very cyclical". В качестве rnd общего назначения lfsr не так хорош, но в некоторых случаях именно то, что нужно.

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

    nzeemin(02.12.2020)

  6. #26

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    nzeemin, а это "фишка" такая, что лабиринт "не сходится" ?
    Типа комнаты находятся на разных этажах, и некоторые двери являются переходом на другой этаж?

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

    nzeemin(02.12.2020)

  7. #27

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

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    nzeemin, а это "фишка" такая, что лабиринт "не сходится" ?
    Типа комнаты находятся на разных этажах, и некоторые двери являются переходом на другой этаж?
    Хороший вопрос. нет, он вполне себе "сходится", т.е. укладывается на плоскость.
    Просто некоторые переходы - длинные, длинной в целую комнату.

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

    KTSerg(03.12.2020)

  8. #28
    zx_
    Гость

    По умолчанию

    nzeemin, может и под Специалист сделаете порт Desolate?
    игрушка прикольная

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

    nzeemin(03.12.2020)

  9. #29

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

    По умолчанию

    Цитата Сообщение от zx_ Посмотреть сообщение
    nzeemin, может и под Специалист сделаете порт Desolate?
    игрушка прикольная
    Надо сначала доделать порты под Спектрум и Вектор, а там видно будет. У меня ещё много работы.

    Посмотрел, экран Специалиста неудобный для этой игрушки, игровая часть экрана будет уже слишком маленькая. Так что скорее нет.
    Последний раз редактировалось nzeemin; 04.12.2020 в 14:47.

  10. #30

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

    По умолчанию

    Драфт 3 в аттаче.

    Что нового:
    - Сжатие основной части через LZSA1, распаковка - спасибо @ivagor за распаковщик!
    - Звук "тык" при look/shoot - использовал код который дал @Improver
    - Моргать бордюром когда игрок получает урон
    - Улучшить маппинг клавиш: задублировать Look/Shoot

    Маппинг клавиш теперь такой (если я всё сделал правильно конечно):
    - Движение в четырёх направлениях - стрелки.
    - Look/shoot - УС, Пробел
    - Переключатель Look/Shoot - ТАБ, РУС/ЛАТ
    - Инвентарь - 'I', 'M'
    - Закрыть диалог (Escape) - АР2, ЗБ, ПС
    - Выход в меню - 'P', 'R'

    Что ещё собираюсь сделать:
    - Багфиксы и возможно ещё какие-то мелочи

    В целом состояние - "почти готово".
    Последний раз редактировалось nzeemin; 04.12.2020 в 18:33.

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

    Improver(04.12.2020), ivagor(04.12.2020), KTSerg(05.12.2020), Oleg N. Cher(04.12.2020), Radon17(07.12.2020), Ramiros(04.12.2020), yur(07.12.2020)

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 4
    Последнее: 23.06.2016, 00:02
  2. Продам Вектор 06Ц
    от zzz в разделе Барахолка (архив)
    Ответов: 27
    Последнее: 29.04.2011, 12:20
  3. Вектор-06Ц
    от Robusta в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 17.03.2009, 23:18
  4. Вектор-06Ц: БП от PC
    от Dmitry Dubrovenko в разделе Вектор
    Ответов: 11
    Последнее: 08.03.2009, 21:53
  5. Вектор-06Ц
    от AlexBel в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 20.12.2007, 08:23

Ваши права

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