Author |
Message |
Pyk
Maniac
Joined: 21 Jan 2003 04:08 Posts: 204
|

Всем привет! Я решил реанимировать, наконец, свой эмулятор. К сожалению, до добавления новых фич придется существенно переработать его внутреннюю структуру — там практически все ядро осталось еще с ДОС-версии ассемблерным. В общем, как всегда: задумок много, свободного времени мало, но потихоньку работаю. Сейчас очень нужно будет тестирование, поскольку переписывание ассемблерного кода чревато ошибками. Собрана также linux-версия. В свое время я так и не отладил ее до конца, сейчас вроде бы версия практически рабочая, наблюдаются только некоторые проблемы со звуком. В общем, также требуется тестирование. С мультиплатформенностью будет чуть проще после планируемого перехода на SDL2 - там реализовали некоторые вещи, которых очень не хватало в SDL. Исходники на github: https://github.com/vpyk/emu80Последние бинарные сборки для ознакомления и предварительного тестирования (linux-сборки требуют наличия библиотеки libsdl): 3.11 alpha: Windows-версия: http://emu80.org/files/Emu80SDL313_win.zipLinux-сборка (x86): http://emu80.org/files/Emu80SDL313_lnx.tgzЧто нового: 3.10 (08.04.2013): - linux-версия - немного исправлена цветовая палитра (не до конца) - полностью переписана эмуляция звука (в т.ч. таймера ВИ53) - разные внутренние изменения 3.11 (01.05.2013): - улучшена эмуляция таймера ВИ53 - внутренние изменения 3.13 (14.06.2013): - улучшена эмуляция процессора (переход на новое ядро эмуляции 8080 Александра Демина) По мере переработки кода буду выкладывать новые сборки для тестирования. С удовольствием отвечу на вопросы, а также выслушаю замечания, пожелания на будущее и т. п.
Last edited by Pyk on 14 Jun 2013 08:15, edited 7 times in total.
|
08 Apr 2013 12:16 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Как ты таймер заэмулил? Подробности можно?
_________________ iLavr
|
08 Apr 2013 12:41 |
|
 |
Pyk
Maniac
Joined: 21 Jan 2003 04:08 Posts: 204
|
Собственно, на данный момент все осталось практически в том же состоянии, как и было - эмулируются режимы 3 и 0 таймера (может быть, только чуть более полно), дискретность счета по прежнему 1/44100 с. Однако код полностью переписан, поэтому смогу без проблем улучшать при необходимости эмуляцию таймера.
Сейчас переписываю основной цикл эмулятора, после этого состояние счетчиков можно будет считывать в реальном времени.
|
08 Apr 2013 12:54 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Все три канала оригинального ВИ53?
_________________ iLavr
|
08 Apr 2013 13:05 |
|
 |
Pyk
Maniac
Joined: 21 Jan 2003 04:08 Posts: 204
|
Да, эмулируются все 3 канала в режимах 0 и 3. При этом подразумевается, что на входы GATE всех счетчиков всегда подается разрешающий счет уровень. На всех входах CLK подразумевается тактовая частота компьютера, только для РК-86 эмулируется подача на CLK2 сигнала с выхода OUT1. Режим BCD пока не поддерживается, но несложно добавить при необходимости. Всеми счетчиками можно пользоваться для отсчета времени (если устраивает грубая пока дискретизация), независимо от того, используется ли конкретный счетчик для генерации звука.
|
08 Apr 2013 13:35 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А я себе немножко по другому написал таймер ВИ53.
Канал 0 - использует реальный канал 0 таймера IBM с пересчётом для часов.
Канал 1 - виртуальный, использует данные реального канал 0 таймера IBM.
Канал 2 - использует реальный канал 2 таймера IBM.
Ну и всякая обработка - чтобы было соответствие и учет соотношения 1,19318МГц -
в IBM и 2МГц - в "Специалисте_МХ".
В "Специалисте_МХ" на входы GATE всех счетчиков также всегда подается
разрешающий счет уровень.
_________________ iLavr
Last edited by Lavr on 08 Apr 2013 14:08, edited 1 time in total.
|
08 Apr 2013 14:02 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21593 Location: Silicon Valley
|
А у меня пожелание всё тоже - сделать проект публично опенсорцным
Ибо мало кто из линуксоидов будет грузить линуксовый бинарь эмуля какой бы эмуль замечательный не был...
|
08 Apr 2013 14:04 |
|
 |
Pyk
Maniac
Joined: 21 Jan 2003 04:08 Posts: 204
|
Согласен, некрасиво это
Совет нужен: где стоит разместить исходники?
Sourceforge, github, google code и т. д.?
Какие плюсы/минусы у этих вариантов?
У кого есть опыт их использования?
|
08 Apr 2013 14:08 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Кто-то из них так тормозииииит...
Вот мне кажется, где Шаос и Демин выкладывали свои исходники эмуляции i8080.
Он и тормозит... 
_________________ iLavr
|
08 Apr 2013 14:12 |
|
 |
Pyk
Maniac
Joined: 21 Jan 2003 04:08 Posts: 204
|
Будет на GitHub.
У Дёмина тоже там исходники, а почему он тормозит? Вроде бы не замечал... В чем тормоза проявляются?
|
09 Apr 2013 23:49 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21593 Location: Silicon Valley
|
GitHub - однозначно 
|
10 Apr 2013 05:42 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Вот уж не знаю почему он тормозит...
При открытии замирает, как вкопанный... потом через паузу начинает разворачивать страницу.
Как будто " задумывается"... 
_________________ iLavr
|
10 Apr 2013 07:57 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21593 Location: Silicon Valley
|
Это знак тебе что пора прощаться с девятой оперой 
|
10 Apr 2013 12:25 |
|
 |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я постараюсь сам решить с кем из вас двоих мне пора прощаться, а с кем и - повременить...
_________________ iLavr
|
11 Apr 2013 02:11 |
|
 |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 21593 Location: Silicon Valley
|
Да я как ба и не претендую - у меня пользовтелей по любому меньше 
|
11 Apr 2013 06:32 |
|
|