[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4668: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4670: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4671: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4672: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
ПК-01 ЛЬВОВ • Просмотр темы - Форматы файлов ПК-01 "Львов" для эмуляторов

ПК-01 ЛЬВОВ

форум о ПК-01,02 "Львов"
Текущее время: 18 авг 2018, 04:15

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC + 2 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 53 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
СообщениеДобавлено: 14 ноя 2016, 12:52 
Не в сети
Site Admin
Аватар пользователя

Зарегистрирован: 24 июл 2008, 12:05
Сообщений: 994


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 дек 2017, 18:52 
Не в сети

Зарегистрирован: 18 май 2016, 19:55
Сообщений: 28


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 дек 2017, 19:56 
Не в сети
Site Admin
Аватар пользователя

Зарегистрирован: 24 июл 2008, 12:05
Сообщений: 994
Формат очень прост. Начало - это понлноценный образ SAV. Эмуялтор грузит его, как обычно, но при этом нужно установить некий внутренний счетчик тиков эмуляции в ноль. После SAV'а дописывается массив всех изменений управляющих устройств.
Каждый элемент состоит из 16 байт. Первые 8 - это long значение тиков процессора, от начала записи. Эмулятор должен сверять это занчение со своим счетсиком.
Следующий байт - тип устройства ввода.
Пока, используется только: 1 - клавиатура и 255 - конец записи.
Остальные 7 байт кодируют, что, собственно изменилось. Для клаваитуры используется только два байта. Первый - номер полуряда клавиатуры (0-7 - основная клава, 8-11 - расширенная). Второй - его состояние (8 бит, на каждую клавишу). Соответсвтенно, отслеживаются все изменения, как нажатие клавиши, так и ее отпускание.

Вот и все. Эмуль, как только счетчик дойдет но нужной метки, изменяет состояние порта клваиатуры. Когда доходит до 255, то либо остановка, либо перезагрузка (как вариант, можно предложить игроку продолжить игру).


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 дек 2017, 20:49 
Не в сети

Зарегистрирован: 18 май 2016, 19:55
Сообщений: 28
Я по моему думал когда-то о таком (или о подобном), но это всё слишком сложно и заморочливо! Ты представляешь как это всё реализовать то ?!... начиная с того, что надо записывать "скрипт" (назовём его "скрипт"), потом останавливать и сохранять, далее при загрузке твоего формата в какой-то эмуль блокировать клавиатуру, блокировать еще что-то например "крутилку скорости", если она есть (изменение частоты) и т.д. далее счётчики тактов как-то чтобы были согласованы у всех эмулятором (ведь они плюсуют не +1, а +4, +7 и т.д. согласно тактам команды КР580) ну пусть даже и обнуляются с начала... но всё равно.... не нравится мне это всё... и скорее всего хрен это будет реализовано в реале!
И ради чего это всё?! Чтобы демонстрация была ?

Я вот, что хочу предложить, тем более что когда-то делал пробы. Пойти по принципу, создать и утвердить формат "Видео-ПК-01", т.е каждый кадр состоит из 16483 байтов и значение порта "видео" (порт с2 насколько я помню) частота и т.д., каждый следующий кадр ксорится с предыдущим, как правило будет "много нулей" которые легко кодируються в "флаг нулей и колво нулей" (2-4 байта) и так далее. Формат видео будет получатся достаточно экономный, во всяком случае по сравнению с АВИ, МП4 и т.д. и вот этот формат можно дописывать в игрушку как видео демонстрацию. Далее при открытии формата и обнаружении видео, активируется кнопка "демо" или предлагает пользователю "смотреть демо или играть" как-то так. Но для начала надо утвердить форматы "кадр-пк-01" и "видео-пк-01" и т.д. да и вообще будут ли желающие этим заниматься ? т.е реализовавать свои эмули чтобы была такая возможность и единый "видео-пк-01" стандарт, вот в чём вопрос.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 дек 2017, 21:16 
Не в сети

Зарегистрирован: 18 май 2016, 19:55
Сообщений: 28
Знаешь, если ты всё таки убеждён в правильности своего решения. То почему бы не реализовывать его проще без всяких там счётчиков тактов и сравнения их...
Когда пишешь "скрипт" (демо):
1.точка отсчёта какая-то чёткая по адресу и состояним портов и регистров
2. сохраняешь начальное значение портов
ПРИ ОБРАЩЕНИИ К КАКОМУ-ТО ПОРТУ, ТОТ ПОРТ (его значение) И СОХРАНЯЕШЬ в "базу измениний портов"!

в режиме "воспроизведения" -
ПРИ ОБРАЩЕНИИ К КАКОМУ-ТО ПОРТУ, ТОТ ПОРТ (его значение) "ПОДСОВЫВАЕШЬ "ТО ЧТО НУЖНО из "базы измениний портов"!

Естественно всё что изменяет порты (клавиатура) должно быть "блокировано"! Они должны быть полностью подконтрольны ТОЛЬКО "скрипту".
Проще выражаясь это всё тупо перехват нужного порта в момент обращения к нему и подсовывание его в момент обращения при воспроизведении! Ну должно как часики работать!Пробовать надо это всё.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 дек 2017, 21:24 
Не в сети

Зарегистрирован: 18 май 2016, 19:55
Сообщений: 28


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 дек 2017, 13:53 
Не в сети
Site Admin
Аватар пользователя

Зарегистрирован: 24 июл 2008, 12:05
Сообщений: 994


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 21 дек 2017, 14:14 
Не в сети

Зарегистрирован: 18 май 2016, 19:55
Сообщений: 28


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 53 ]  На страницу Пред.  1, 2, 3, 4

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC + 2 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Free counters!
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB