Важная информация

User Tag List

Страница 11 из 12 ПерваяПервая ... 789101112 ПоследняяПоследняя
Показано с 101 по 110 из 111

Тема: Super Joystick Port

  1. #101
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Сейчас прошивка дорабатыватся для работы с механическим джойстиком. Выбор типа будет осуществляться с PS/2 клавиатуры. К джойстику нужно припаять гнездо DB-09F со следующей распайкой:

    1 - UP
    2 - DOWN
    3 - LEFT
    4 - RIGHT
    5 -
    6 - FIRE1
    7 -
    8 - GND
    9 - FIRE2
    Последний раз редактировалось zx-kit; 21.08.2019 в 18:34.
    "L-256"

  2. #102
    Сибирский антропоморфн Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,561
    Спасибо Благодарностей отдано 
    923
    Спасибо Благодарностей получено 
    871
    Поблагодарили
    635 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Fire вроде надо на 6 для совместимости со стандартом Atari.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

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

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  3. #103
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Black Cat / Era CG Посмотреть сообщение
    Fire вроде надо на 6 для совместимости со стандартом Atari.
    Хорошо, переделаю на 6 контакт.
    "L-256"

  4. #104
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Для облегчения подключения к компьютерам "SCORPION" и "LENINGRAD", у которых общий провод KEMPSTON джойстика подключался к +5V, данные на KEMPSTON будут идти с инверсией. Но инверсию можно будет отключить, ести установить джампер между 1 и 2 контактами разъема, который раньше назывался UART.
    Думаю, что как джойстик лучше использовать курсор на цифровой клавиатуре справа - он похож на крестовину.
    У всех джойстиков перепрограммируемыми сделать стрелки и FIRE.
    Добавил в комплектацию красную кнопку и разъем IDC-10F для возможности RESTART и восстановления настроек по умолчанию.
    В комплекте шлейфы 10 и 20 жил по 20 см и разъемы IDC для подключения к компу и 10 жил 10 см для подключения красной кнопки.
    Кварц остается в комплектации "для красоты", но генератор будет использоваться внутренний.
    Последний раз редактировалось zx-kit; 17.08.2019 в 22:13.
    "L-256"

  5. #105
    Veteran
    Регистрация
    15.07.2009
    Адрес
    Череповец
    Сообщений
    1,751
    Спасибо Благодарностей отдано 
    149
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    39 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Надеюсь, в прошивке можно будет переопределить кнопки для джоя? А то на миниклавиатурах нет отдельного цифроблока.
    ZX-Evo Rev. C4 (Double-config) / VDAC2 / ZiFi / NeoGS / ZXM-Soundcard Extreme

  6. #106
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Gutten Посмотреть сообщение
    Надеюсь, в прошивке можно будет переопределить кнопки для джоя? А то на миниклавиатурах нет отдельного цифроблока.
    Тогда надо два курсора - основной и цифровой. Для джойстиков будет две кнопки.
    Основной на 6 контакте - или кнопка B на SEGA геймпаде.
    Дополнительный на 9 контакте - или кнопка C на SEGA геймпаде.

    Напиши список полезных макросов для Скорпиона.
    Последний раз редактировалось zx-kit; 21.08.2019 в 18:36.
    "L-256"

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

  8. #107
    Veteran
    Регистрация
    15.07.2009
    Адрес
    Череповец
    Сообщений
    1,751
    Спасибо Благодарностей отдано 
    149
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    39 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    .def    temp		= r16	; временный регистр для основной программы и подпрограмм, кроме п/п прерываний
    .def    delay_cnt		= r19	; счётчик для задержки времени
    .def    cnt			= r20	; регистр для счетчиков циклов

    Код:
    ;
    ***********************************************************************************************************************
    ;* 170930-03                            ВРЕМЕННАЯ ЗАДЕРЖКА 1 мс (1мсек=8МГЦ / 5 / 1000 = 0x000640)
    ;***********************************************************************************************************************
    Delay1mS:
    		push    temp
    		push	cnt
    		push	delay_cnt
    		
    		ldi	temp,243	; для 8 МГц
    		ldi	cnt, 107	; для 8 МГц
    		
    		mov	delay_cnt,temp
    Delay1ms_1:
    		inc	cnt
    		breq	Delay1ms_exit
    		mov	temp,delay_cnt
    Delay1ms_2:
    		inc	temp
    		breq	Delay1ms_1
    		rjmp	Delay1ms_2
    
    Delay1ms_exit:
    		pop 	delay_cnt
    		pop	cnt
     		pop	temp
    		ret
    		
    ;***********************************************************************************************************************
    ;* 170806-03                            ВРЕМЕННАЯ ЗАДЕРЖКА 5 мс
    ;***********************************************************************************************************************
    Delay5mS:
            rcall   Delay1mS
            rcall   Delay1mS
            rcall   Delay1mS		
            rcall   Delay1mS		
            rcall   Delay1mS
            ret
    		
    ;***********************************************************************************************************************
    ;* 170806-03                            ВРЕМЕННАЯ ЗАДЕРЖКА 50 мс
    ;***********************************************************************************************************************
    Delay50mS:
            push    temp
            ldi     temp,50
    
    Delay50mS_10:
            rcall   Delay1mS
            dec     temp
            brne    Delay50mS_10
    
            pop     temp
            ret
    		
    ;***********************************************************************************************************************
    ;* 150409-02                            ВРЕМЕННАЯ ЗАДЕРЖКА 100 мс
    ;***********************************************************************************************************************
    Delay100mS:
            push    temp
            ldi     temp,100
    
    Delay100mS_10:
            rcall   Delay1mS
            dec     temp
            brne    Delay100mS_10
    
            pop     temp
            ret
    
    ;***********************************************************************************************************************
    ;* 150409-02                            ВРЕМЕННАЯ ЗАДЕРЖКА 1 СЕК
    ;***********************************************************************************************************************
    Delay1S:
            rcall   Delay100mS
            rcall   Delay100mS
            rcall   Delay100mS
            rcall   Delay100mS
            rcall   Delay100mS
            rcall   Delay100mS
            rcall   Delay100mS
            rcall   Delay100mS
            rcall   Delay100mS
            rcall   Delay100mS
            ret
    	
    ;***********************************************************************************************************************
    ; короткая задержка
    ;***********************************************************************************************************************
    SMALL_WAIT:
    		nop
    		ret
    - - - Добавлено - - -

    Код:
    ;***********************************************************************************************************************
    ;* 170805-03                            Cold Reset (CurLeft+RESET) (COM+00: PrnScr)
    ;***********************************************************************************************************************
    Command_00:
    	PRESS	CS+KEY_5
    	rcall		Delay100mS	; время нажатия одной кнопки 100 милисекунд
    	PRESS	Z80_RESET	; включение сигнала RESET
    	PRESS	NULL			; отпускание всех кнопок
    	ret
    
    
    ;***********************************************************************************************************************
    ;* 170723-03                            Magic (NMI) (COM+15: ScrollLock)
    ;***********************************************************************************************************************
    Command_15:
    	PRESS	Z80_NMI 
    	PRESS	NULL			; отпускание всех кнопок и выключение NMI
    	rcall		Delay1S		; время нажатия одной кнопки 1 секунда
    	ret
    
    
    ;***********************************************************************************************************************
    ;* 170925-03                            Turbo On/Off (COM+16: NumLock)
    ;***********************************************************************************************************************
    Command_16:
    	PRESS	Z80_TURBO 
    	PRESS	NULL			; отпускание всех кнопок
    	rcall		Delay100mS	; время нажатия одной кнопки 1 милисекунда
    	ret
    
    
    ;***********************************************************************************************************************
    ;* 180604-03                            PAUSE, пауза /WAIT (COM+18))
    ;***********************************************************************************************************************
    Command_18:
    	sbis		PORTD,PD1	; проверяем состояние бита 1
    	rjmp		BIT_IS_LO		; если бит в 0, то включаем его
    	cbi		PORTD,PD1	; иначе выключаем его
    	rjmp		WAIT_EXIT
    
    BIT_IS_LOW:
    	sbi		PORTD,PD1	;включили бит
    
    WAIT_EXIT:
    	PRESS	NULL			; отпускание всех кнопок
    	rcall		Delay100mS	; время нажатия одной кнопки 100 милисекунд
    	ret
    Вроде бы для организации WAIT через разъём UART я ещё аппаратно припаивал диод или резистор на данный контроллер, счас не помню, а скорп убран.
    Если быстро нажать-отпустить PrnScr, то получается "тёплый старт" как простой сброс, если нажать-чуть подержать-отпустить, то срабатывает полноценный макрос "холодный старт" с инициализацией скорпиона. Почему так получается, если написан только один макрос - не понимаю.
    Последний раз редактировалось Gutten; 25.08.2019 в 03:12.
    ZX-Evo Rev. C4 (Double-config) / VDAC2 / ZiFi / NeoGS / ZXM-Soundcard Extreme

  9. #108
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Gutten Посмотреть сообщение
    Код:
    ;***********************************************************************************************************************
    ;* 170805-03                            Cold Reset (CurLeft+RESET) (COM+00: PrnScr)
    ;***********************************************************************************************************************
    Command_00:
        PRESS    CS+KEY_5
        rcall    Delay100mS    ; время нажатия одной кнопки 100 милисекунд
        PRESS    Z80_RESET      ; включение сигнала RESET
        PRESS    NULL                ; отпускание всех кнопок
        ret
    Если быстро нажать-отпустить PrnScr, то получается "тёплый старт" как простой сброс, если нажать-чуть подержать-отпустить, то срабатывает полноценный макрос "холодный старт" с инициализацией скорпиона. Почему так получается, если написан только один макрос - не понимаю.
    Кнопки надо было нажимать после ресета.
    Код:
    ;***********************************************************************************************************************
    ;* 170805-03                            Cold Reset (CurLeft+RESET) (COM+00: PrnScr)
    ;***********************************************************************************************************************
    Command_00:
        PRESS    Z80_RESET    ; включение сигнала RESET
        PRESS    CS+KEY_5
        rcall    Delay1S     
        PRESS    NULL              ; отпускание всех кнопок
        ret
    Последний раз редактировалось zx-kit; 25.08.2019 в 10:11.
    "L-256"

  10. #109
    Veteran
    Регистрация
    15.07.2009
    Адрес
    Череповец
    Сообщений
    1,751
    Спасибо Благодарностей отдано 
    149
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    39 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мммм, не знаю, может быть. Как дети подрастут немного и у меня появится свободного времени больше, проверю. Но текущий удобнее - холодный старт дольше идёт и реже нужен.
    ZX-Evo Rev. C4 (Double-config) / VDAC2 / ZiFi / NeoGS / ZXM-Soundcard Extreme

  11. #110
    Veteran
    Регистрация
    15.07.2009
    Адрес
    Череповец
    Сообщений
    1,751
    Спасибо Благодарностей отдано 
    149
    Спасибо Благодарностей получено 
    53
    Поблагодарили
    39 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вновь нашлось время посидеть поразбираться.
    1) Холодный рестарт переделал как указано выше. Замапил его на SHIFT + PrnScr. По обычному PrnScr просто выдаём RESET и выполняем тёплый рестарт.
    2) Проблема с геймпадом - не работают XYZ, LDU при нажатии одновременно в ZX передают как будто нажаты 2 кнопки. Причём эта кнопка-призрак всегда 1 или 2 или 3. Временно решено отключением опроса кнопок XYZ в файле INTERRUPTS. Сразу прекрасно заработал опрос UDLRABC, START. Работает переключение раскладок для геймпада. Может у меня геймпад не исправен, но проверить его не на чем. Заработало.
    3) Механический джойстик тоже работает (чего бы ему не работать, ведь опрос UDLRBC идёт не зависимо от сигнала SEL).
    4) Самая главная проблема. Так как кнопки обоих геймпадов кидаются в буфер клавиатуры, который ограничен 4 кнопками, то поиграть вдвоём получится только если один назначен как KEMPSTON. Ведь одновременное нажатие 2 направлений + огонь на обоих геймпадах дадут 6 кнопок! Так что получается второй порт этого контроллера можно захардкодить на KEMPSTON, а переключаемым сделать только первый порт. Либо надо увеличивать буфер клавиатуры.
    5) Кстати, ограничение буфера клавиатуры не даёт вводить всякие чит-коды в играх одновременным нажатием. Но тут ещё ограничение от самого контроллера в PS/2-клавиатуре.
    6) Интересен функционал назначения раскладок джойстиков на курсорные кнопки клавиатуры. Буду думать как это настроить.
    7) Надо подумать как оживить индикаторы на клавиатуре.
    Последний раз редактировалось Gutten; 19.05.2020 в 21:25.
    ZX-Evo Rev. C4 (Double-config) / VDAC2 / ZiFi / NeoGS / ZXM-Soundcard Extreme

Страница 11 из 12 ПерваяПервая ... 789101112 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Не сбрасываемый порт 254 (Non reset port #FE)
    от Black_Cat в разделе Разный софт
    Ответов: 31
    Последнее: 01.03.2012, 10:42
  2. Profi3.2-Incorrect Port #BFFD
    от solegstar в разделе Profi
    Ответов: 4
    Последнее: 18.01.2012, 18:35
  3. artyllery c64 demo music port to TSFM?
    от Renegade в разделе Музыка
    Ответов: 5
    Последнее: 25.05.2011, 22:29
  4. Модем на serial port
    от rw6hrm в разделе Несортированное железо
    Ответов: 20
    Последнее: 16.09.2005, 14:30

Ваши права

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