Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср ноя 22, 2017 12:25 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 50 сообщений ]  На страницу Пред. 1 2 3 4 След.
Автор Сообщение
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Пн фев 11, 2008 7:33 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн мар 20, 2006 10:44 am
Сообщения: 557
mike.dld - толково придумал )))

andrew_programmer - например это работает так:
t = time_stamp();
z80_run(100);
t = time_stamp() - t;
sleep(CT - t); // пусть параметр в миллесекундах

где CT - сремя в мс выполнения 100 тактов на целевой машине (Z80)

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

и еще не надо забывать что выполнение (эмуляция) целевого кода, ввод данных (клавиатура/джойстик/etc) и отображение вирт. экрана должно обрабатыватся в разных потокам (хотя в отображение и ввод можно объединить) иначе это будет не эмулятор а пошаговая головная боль.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Вт фев 12, 2008 7:40 am 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
частоту Z80 думаю взять стандартную - 3,5 МГц (хотя можно сделать в виде переменной и изменять, например, разгонять до 7 МГц, как это делали радиолюбители на настоящих спектрумах, или вообще не осуществлять задержки, тем самым можно быстрее прогонять некоторые циклы с вычислениями)


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Ср июн 25, 2008 5:42 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Проект жив!!!

После 2 переписываний с нуля ядра эмулятора проца Z80 решил взять готовое. Выбор остановился на ядре, которое написал Santiago Romero Iglesias.
За день напрограммировал эмулятор, который в принципе запускается и даже грузит файлы SNA. Но сделать ещё нужно очень много.

Кто-нибудь знает, какая клавиша (в матрице спектрума) соответствует BackSpace?


Вложения:
e80-0.1.zip [25.11 КБ]
133 скачивания
Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Чт июн 26, 2008 10:11 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пт май 18, 2007 11:11 pm
Сообщения: 125
Клавиша BackSpace (или по спектрумовски DELETE) набирается комбинацией CAPS/0 а значит соответственно по портам #FEFE и #EFFE выдает значение ???11110b, где ??? - биты остающиеся от состояния шины данных ( как правило 111 но если шина не стабильна то могут прыгать).
Вопрос на засыпку: твой эмуль проца обрабатывает регистр регенерации?

_________________
Заглянул на огонёк


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Чт июн 26, 2008 6:56 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Alver
Спасибо за подсказку по клавиатуре. Сделал BackSpace, но он стирает всю строку, а не последний символ. Почему?

Цитата:
Вопрос на засыпку: твой эмуль проца обрабатывает регистр регенерации?

Точно на засыпку! :) Ядро вроде поддерживает обработку этого регистра, но если честно я не пока не разбирался и сам его не обрабатывал.

P.S. Я живого спектрума не видел, пользовался только эмуляторами. Из инфы только 1 книга и немного факов, в основном на инглише.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Чт июн 26, 2008 8:18 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт май 18, 2007 11:11 pm
Сообщения: 125
Цитата:
Сделал BackSpace, но он стирает всю строку, а не последний символ. Почему?

Гдето глюк. А стирает где, в командной строке?
Цитата:
Я живого спектрума не видел, пользовался только эмуляторами. Из инфы только 1 книга и немного факов, в основном на инглише.

А у меня вся не слишком большая инфа по тетрадкам, да на шкафу еще Profi+ с 512 kb RAM валяется, а диски поразмагнитились давно(жалко) :( .
Вот тут есть много книжек, не знаю может чего пригодится. http://trd.speccy.cz.

_________________
Заглянул на огонёк


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Чт июн 26, 2008 10:19 pm 
Не в сети

Зарегистрирован: Ср июн 25, 2008 9:45 am
Сообщения: 35
Хочется задать вопрос немножко не по теме. А какой платформы эмулятор написать проще: Денди или Спектрум?


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Чт июн 26, 2008 10:34 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт май 18, 2007 11:11 pm
Сообщения: 125
Той, о которой больше знаешь.

_________________
Заглянул на огонёк


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Пт июн 27, 2008 8:43 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн мар 20, 2006 10:44 am
Сообщения: 557
Alver прав. Но из опыта замечу что под NES видюха (PPU) сложнее Спектрумовского, и форматов образов на порядок больше.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Пт июн 27, 2008 5:49 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт май 18, 2007 11:11 pm
Сообщения: 125
Зы, а если прилично эмулировать Спектрум, то (ну расширения памяти не проблема) добавь минимум AY-3-8910(12) и BetaDiskInterface с TR-DOS . Ну а если очень хорошо эмулировать то еще там всякие Kempston Mouse, GeneralSound, COVOX, примочки с графическими расширениями ... :mrgreen:

_________________
Заглянул на огонёк


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Пт июн 27, 2008 6:40 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Цитата:
Зы, а если прилично эмулировать Спектрум, то (ну расширения памяти не проблема) добавь минимум AY-3-8910(12) и BetaDiskInterface с TR-DOS . Ну а если очень хорошо эмулировать то еще там всякие Kempston Mouse, GeneralSound, COVOX, примочки с графическими расширениями ...


ну это ты уже загнул! многие эмуляторы под винду такого не могут! не то что под Колибри. например, как я буду эмулировать AY-3-8910 без дров на звуковуху?!!! :)


Вложения:
Комментарий к файлу: Версия 0.2 :)
e80-0.2.zip [25.92 КБ]
130 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Пт июн 27, 2008 7:31 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
Я так и не разобрался с управлением...

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Пт июн 27, 2008 8:16 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Цитата:
Я так и не разобрался с управлением...


Если запустить e80 без параметров, то стартует BASIC. После появления информации о прошивке нужно нажать Enter. Появляется командная строка. Здесь имеется 3 режима ввода (режимы в эмуляторе вручную пока не переключаются), особенностью 2-х из которых является то, что для ввода команды требуется нажатие всего одной клавиши. Например, клавише P соответстует оператор PRINT, I - INPUT, K - LIST, A - NEW, R - RUN. Простой пример:

10 PRINT "HELLO"
20 INPUT A
30 PRINT A

Для ввода кавычек используется комбинация Ctrl+P. Кстати, в процедуре обработки нажатия клавиш многие клавиши (знаки препинания и математические операции, например) ещё не прописаны .
После нажатия R и Enter запускается программа - выводится на экран HELLO, ожидается ввод переменной A и производится вывод этой переменной.
Команды S (SAVE) и J (LOAD) пока не реализованы.


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Сб июн 28, 2008 12:02 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пт май 18, 2007 11:11 pm
Сообщения: 125
Albom
В обработке клавиш надо как то обрабатывать одновременные нажатия (ну хотябы с шифтами), чтобы биты одновременно нажимаемых клавиш одновременно обнулялись по соответствующимдля них портам. Тогда хотя бы основная клава спектрума будет работать как надо. А потом уже комбинации на отдельные клавиши вешать.
Блин а емуль всетаки смотрится!
Успехов!

_________________
Заглянул на огонёк


Вернуться к началу
 Заголовок сообщения: Re: Эмулятор ZX Spectrum
СообщениеДобавлено: Сб июн 28, 2008 6:45 am 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Цитата:
В обработке клавиш надо как то обрабатывать одновременные нажатия (ну хотябы с шифтами)

так и сейчас уже есть обработка клавиш с шифтом и контроллом! :)

Цитата:
Блин а емуль всетаки смотрится!

значит не зря над ним работаю!


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

Часовой пояс: UTC+03:00


Кто сейчас на конференции

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


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB