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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Можно ли сделать устройство, которое писало бы с реала игровой процесс на манер RZX?

  1. #1
    Guru Аватар для ZX_NOVOSIB
    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,547
    Спасибо Благодарностей отдано 
    233
    Спасибо Благодарностей получено 
    258
    Поблагодарили
    178 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Можно ли сделать устройство, которое писало бы с реала игровой процесс на манер RZX?

    Ну то есть втыкаем это устройство в системный разъем, включаем спек, грузим игру, жмем REC и оно начинает на встроенную карту памяти писать RZX, т.е. картинку и музыку. (или любой другой формат, но который потом можно было бы сконвертировать в rzx)
    Куплю корпус и материнку от Spectrum +2/+3

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

  3. #2
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    RZX это не картинка и музыка, это нажатия на клаве и джойстике привязанные к тактам процессора и снимку памяти.
    Последний раз редактировалось Lion17; 12.04.2015 в 22:36.

  4. #3
    Guru Аватар для ZX_NOVOSIB
    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,547
    Спасибо Благодарностей отдано 
    233
    Спасибо Благодарностей получено 
    258
    Поблагодарили
    178 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Окей. Можно ли сделать устройство которое будет записывать нажатия клавиатуры, привязанные к тактам процессора и снимку памяти? )
    Куплю корпус и материнку от Spectrum +2/+3

  5. #4
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    Окей. Можно ли сделать устройство которое будет записывать нажатия клавиатуры, привязанные к тактам процессора и снимку памяти? )
    нет

    UPD: А хотя чего это нет. Все нужные сигналы в ZX BUS есть. Надо слушать шину, вычленять чтение портов и запоминать появившийся на шине данных результат.
    Привязка нужна не к тактам, а к фреймам, так что достаточно тупо ловить INT.
    Последний раз редактировалось Eltaron; 12.04.2015 в 23:31.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  6. #5
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Привязка нужна не к тактам, а к фреймам, так что достаточно тупо ловить INT.
    Не везде сработает. Например, рандомайзер в зависимости от момента нажатия. Не там поймал нажатие, монстр не оттуда вылетел и вся запись пошла не так.

    ---------- Post added 13.04.2015 at 00:02 ---------- Previous post was 12.04.2015 at 23:56 ----------

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    Можно ли сделать устройство которое будет записывать нажатия клавиатуры, привязанные к тактам процессора и снимку памяти? )
    Сделать-то можно, но не просто. Сначала нужно тормознуть систему, сделать полную копию памяти. Затем запустить систему причем с того же такта в фрейме, на котором ее тормозили. Затем писать каждое нажатие/отпускание с номером такта в фрейме и номером фрейма.

    Воспроизведение все также - только в записанные моменты имитировать нажатия/отпускания.

  7. #6
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lion17 Посмотреть сообщение
    Не везде сработает. Например, рандомайзер в зависимости от момента нажатия. Не там поймал нажатие, монстр не оттуда вылетел и вся запись пошла не так.
    Ну, rzx же как-то работает.

    Ещё раз - конкретный такт, когда было чтение порта, не запоминается. Запоминаются результаты всех чтений портов в течение фрейма. Сохраняются в массив, причем сохраняется только значение, а сам номер порта нам даже и не нужен. При воспроизведении rzx-ины, в этот фрейм как результат первого чтения (любого порта) используем первое значение из массива, как результат второго чтения - второе. Легко понять, что эта схема будет работать идеально - ведь единственный способ пустить программу не по тем ветвям исполнения, по которых она шла при записи (а, значит, получить другое количество чтений портов) - это получить не те данные при, опять же, чтении из порта. Замкнутый круг. Так что до тех пор, пока мы исполняем rzx на том же железе, на каком она была записана, проблем не будет вообще.

    Рандомайзер не проблема, он же не магическим образом работает. Самому алгоритму генерации псевдослучайного числа вообще пофиг rzx - не rzx. Seed же для его инициализации может быть получен только от внешнего устройства - а у нас все их состояния записаны.

    ---------- Post added at 02:38 ---------- Previous post was at 02:36 ----------

    Цитата Сообщение от Lion17 Посмотреть сообщение
    Затем запустить систему причем с того же такта в фрейме, на котором ее тормозили.
    Да, вот это самое тонкое место. Синхронизировать железку и программу, чтобы начать отсчет одновременно. Всё остальное, что требуется - это тупой сниффер шины.
    Последний раз редактировалось Eltaron; 13.04.2015 в 00:40.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

  8. #7
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Ещё раз - конкретный такт, когда было чтение порта, не запоминается.
    Согласен, если писать все чтения, то работать будет.

    ---------- Post added at 08:07 ---------- Previous post was at 08:06 ----------

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

    ---------- Post added at 08:10 ---------- Previous post was at 08:07 ----------

    Кстати, для 128к необходимо каким-то образом получить содержимое системного регистра. Для клонов проблем нет - нужно просто подключиться к выходам регистра, а вот для фирменного спекки.

    А при аппаратном воспроизведении надо его еще и записать.

  9. #8
    Master
    Регистрация
    18.01.2005
    Адрес
    Ростов-на-Дону
    Сообщений
    577
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    Что такое системный регистр? 7ffd?
    Ну да.

  10. #9
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,406
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для rzx нужно перед записью полный снепшот сделать, включая состояние регистра и счетчика тактов на видеогенераторе, а это через zxbus не сделаешь
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  11. #10
    Sinclair User Аватар для Eltaron
    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,045
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    463
    Поблагодарили
    326 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Для rzx нужно перед записью полный снепшот сделать, включая состояние регистра и счетчика тактов на видеогенераторе, а это через zxbus не сделаешь
    Мультифейс же сохраняет. Плюс сохранять можно всегда в нулевой такт, по INT. Вот 7ffd - эт, блин, да, проблема. Остается генерировать 16 снапшотов, хоть один, да заработает
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Scorpion: Что можно с ним сделать?
    от CodeMaster в разделе Scorpion
    Ответов: 91
    Последнее: 25.04.2015, 18:27
  2. 74F521: можно на ней сделать дешифратор адреса?...
    от SoftFelix в разделе Для начинающих
    Ответов: 1
    Последнее: 13.12.2013, 01:27
  3. "Новье", которое можно у меня заказать
    от andrews в разделе Барахолка (архив)
    Ответов: 22
    Последнее: 29.07.2009, 13:53

Ваши права

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