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

User Tag List

Страница 1 из 11 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 109

Тема: Эмуляция ZX на J2ME

  1. #1
    Member Аватар для Dr.Lion/RSM
    Регистрация
    08.04.2005
    Адрес
    Kharkov mega city
    Сообщений
    188
    Благодарностей: 4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Эмуляция ZX на J2ME

    Здравствуйте, товарищи. После бурной работы над эмулем Dendy на J2ME (Nescube v1.2) я решил паралельно с написанием новой версии этого эмуля потихоньку уделять время своей другой мечте - сделать достойный эмуль ZX для телефонов с J2ME.

    К новому эмулю у меня есть несколько ключевых требований:

    - эмуляция памяти 48/128 Кб;
    - поддержка TR-DOS (работа с файлами trd и scl);
    - эмуляция AY в виде простенькой пищалки через MIDI-устройство телефона;
    - эмуляция двух экранов конфигурации 128 без поддержки бордерных/мультиколорных эффектов (так будет быстрее работать);
    - различные джойстики спековского стандарта + клава (пока еще не знаю, как реализовать наилучшим образом).


    Что есть на данный момент:

    1.Когда-то была написана мной альфа spectrum 48 (грузит sna). Время было протрачено на нее уйма, однако быстродействие невероятно низкое. Сейчас я взялся второй раз за эту работу, имея за плечами ценнейший опыт по написанию самого быстрого эмуля денди на J2ME.

    2.Найден эффективный (по предварительным оценкам) алгоритм работы с памятью, который при минимальном количестве операций по доступу к памяти обеспечивает возможность реализовать работу ПЗУ TR-DOS (именно с этим самая большая заморочка при желании организовать максимально быстрый доступ к памяти). Так же этот алгоритм без проблем позволяет организовать страничную память.

    3.Сейчас взялся за написание основы эмулятора - высокоэффективной эмуляции процессора Z80 + управления памятью (это 90% всего кода эмулятора).

    Опыт подсказывает, что все таки реально получить эмулятор ZX-Spectrum с достаточно неплохой производительностью (не мение 25 FPS). Но насколько я прав - покажет только время.

    Всвязи со всем вышеупомянутым прошу у вас помощи. Я давно отошел от спектрума и неплохо подзабыл его железо. Не хочется тратить время в пустую и искать какие-то материалы по железу, поэтому прошу вас - если у кого на примете есть приличная дока по железу спека (в формате html, doc, txt) или ссылки на ресурсы по теме - поделитесь, поможете поекту. Я когда-то здесь видел такую доку, но не могу вспомнить, что это было и где.

    Если у вас есть предложения или соображения по теме, высказывайте их здесь, я готов вести диалог.
    Автор эмуляторов Nescube, PocketZX.

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

  3. #2
    Master Аватар для проф
    Регистрация
    30.07.2006
    Адрес
    Рязань
    Сообщений
    606
    Благодарностей: 123
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    предложения конечно есть например побольше автоматизации(если это ваще возможно) т.е типа щёлкешь на скл и сразу появляется бут. есть и вопросы. где скачать твой эмулятор денди? и наконец третье хоть может оно чуть не в тему. нигде не встречал караоке плейера на яве который файлы кар поддерживает
    ПЕЙТЕ ДЕТИ МОЛОКО
    МУХА ТОЖЕ ВЕРТОЛЁТ

    http://professor61.narod2.ru/
    http://cruzworlds.ru/fans/

  4. #3
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,270
    Благодарностей: 190
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    по z80 проще посмотреть код boo_boo с его z80ex (есть на сорсфоржде, не помню точно где, и у меня в эмуле тоже в архиве лежит).
    эмуляция точная на 100% (ладно, может чего не протестили до конца, 99.999% )
    код простой и понятный.

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

    ВГшка опять же, самая лучшая у SMT. но код ужасный - без пол-литра не разобратсо.
    [target] [zemu] [js8x] [pouet 1, 2]
    KAY-1024, 5''FDD, 3''FDD, HDD

  5. #4
    Member Аватар для Dr.Lion/RSM
    Регистрация
    08.04.2005
    Адрес
    Kharkov mega city
    Сообщений
    188
    Благодарностей: 4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    когда писал свой муль
    Извини за необразованность, но как называется твой эмуль и где можно посмотреть его исходники?
    AY - там вроде всё просто. тем более что если реальный звук не генерить, а как-то через midi изголяться, то наверное никто тебе не помощник.
    Естетсвенно, здесь мне никто, кроме автора конвертера PSG > MIDI не поможет ибо нет нигде эмуляции AY через MIDI. НО! Сейчас я дописываю новую версию Nescube, в которой эмуляция APU через миди звучит очень даже хорошо, а при подборке специальных инструментов MIDI, даже лучше и естественней оригинала. Впрочем у дендиевского APU есть один существенный плюс - на логическом уровне его каналы не смешиваются и не влияют на звучание друг-друга, чего не скажешь про AY. Но думаю простейшую пищалку для звуковых эфектов в играх сделать можно.

    Плохо что никто не может подсказать литературы. С таким положением дел эмуль будет писаться очень долго.
    Автор эмуляторов Nescube, PocketZX.

  6. #5
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,270
    Благодарностей: 190
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    как называется твой эмуль и где можно посмотреть его исходники
    ZEmu, тема про него и ссылка на сорсы тут ->
    http://zx.pk.ru/showthread.php?t=2480&page=17
    вот точная линка на скачивание -> http://zx.pk.ru/attachment.php?attac...9&d=1144451087

    Плохо что никто не может подсказать литературы. С таким положением дел эмуль будет писаться очень долго.
    ну имхо lib_z80ex/opcodes/*.* будет понятнее любых доков.
    только с ВГшкой наверное придётся разбираться и всё.
    [target] [zemu] [js8x] [pouet 1, 2]
    KAY-1024, 5''FDD, 3''FDD, HDD

  7. #6
    Member Аватар для Dr.Lion/RSM
    Регистрация
    08.04.2005
    Адрес
    Kharkov mega city
    Сообщений
    188
    Благодарностей: 4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну имхо lib_z80ex/opcodes/*.* будет понятнее любых доков.
    Вообщем-то вопросов по эмуляции процессора z80 у меня пока нет, я уже когда-то написал одно ядро (кстати, очень короткое и классное получилось, кому интересно обращайтесь, поделюсь. Там декодирование комманд происходит на основе конкретных битов опкода, не case'ом). Вопросы именно по архитектуре спека, какие порты есть, какие биты в них за что отвечают и т.д. и т.п.

    P.S. Подскажите, как связаться с key-jee. Хочу пообщаться с ним по поводу AY и MIDI. В аську написал - не отвечает!
    Автор эмуляторов Nescube, PocketZX.

  8. #7
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,057
    Благодарностей: 1437
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dr.Lion/RSM Посмотреть сообщение
    я уже когда-то написал одно ядро (кстати, очень короткое и классное получилось, кому интересно обращайтесь, поделюсь. Там декодирование комманд происходит на основе конкретных битов опкода, не case'ом).
    А по скорости как? Имхо выборка по таблицам процедур (как в Unreal) самый быстродействующий вариант.

  9. #8
    Member Аватар для Dr.Lion/RSM
    Регистрация
    08.04.2005
    Адрес
    Kharkov mega city
    Сообщений
    188
    Благодарностей: 4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А по скорости как? Имхо выборка по таблицам процедур (как в Unreal) самый быстродействующий вариант.
    Я писал (и пока пишу) на яве. Там нет указателей, поэтому таблица процедур не возможна. По скорости так себе. Просто я пересмотрел уже кучу ядер Z80 и ни одного не видел, которое разбирает комманду Z80 по битам, тем самым декодируя ее и задействуя нужные для комманды узлы. Фактически напоминает аппаратную модель z80. Но это мое мнения, это же я его писал
    Автор эмуляторов Nescube, PocketZX.

  10. #9
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,270
    Благодарностей: 190
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопросы именно по архитектуре спека, какие порты есть, какие биты в них за что отвечают и т.д. и т.п.
    какой именно спек собираешься эмулировать?
    есть обычный 128kb, то вроде и так всё ясно
    out: #7FFD, #FD
    in: #xxFD
    +AY, +TRDOS
    [target] [zemu] [js8x] [pouet 1, 2]
    KAY-1024, 5''FDD, 3''FDD, HDD

  11. #10
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,292
    Благодарностей: 752
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sinus Посмотреть сообщение
    AY - там вроде всё просто. тем более что если реальный звук не генерить, а как-то через midi изголяться, то наверное никто тебе не помощник.
    По поводу AY на MIDI у меня была подобная разработка в одной из версий первого ZXMAK, еще до того как он появился в сети
    Если нужно могу поискать. Код там был довольно небольшой и на удивление простые звуки проигрывались хорошо. Серьезная проблема с MIDI - огибающая, получался дрожащий звук, возможностей MIDI для нормальной имитации огибающей AY я так и не нашел

    Еще когдато в инете видел софтину которая перегоняет файлы AY в *.MID, правда качество звука там не очень, а с огибающей еще хуже

    Цитата Сообщение от Sinus Посмотреть сообщение
    ВГшка опять же, самая лучшая у SMT. но код ужасный - без пол-литра не разобратсо.
    По поводу ВГ, можешь посмотреть ZXMAK.NET, я искал оптимальное и красивое решение на основе реализаций ZXMAK и Unreal. В версии 1.0.6.8 движок ВГ очень близок к движку Unreal, классы DiskImage и Track отличаются, они больше похожи на ZXMAK, но по смыслу сходство с Unreal есть.
    Класс WD1793 - практически полная копия Unreal, с модификациями того что касается DiskImage и Track ну и размеется с рефакторингом. Заняться этим классом я планировал позже (рефакторинг, переработка алгоритма - взять лучшее из ZXMAK и Unreal и т.п.), но т.к. код в ZXMAK сложный, а текущая реализация от Unreal вполне работает я его пока не трогал В коде ВГ Unreal'а есть нехорошая штука, CRC считается без учета маркеров, если маркеров будет не три, то скорее всего работать будет неправильно, детально не изучал, но отметил что этот вопрос нужно проработать.

    P.S.: т.к. код ZXMAK.NET на C#, думаю переделать на Java можно быстро
    Последний раз редактировалось ZXMAK; 04.05.2007 в 23:00.

Страница 1 из 11 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Nescube 1.2 - J2ME эмулятор консоли NES(Dendy)
    от Dr.Lion/RSM в разделе Nintendo
    Ответов: 7
    Последнее: 14.12.2007, 12:46
  2. J2ME ZX Spectrum emulator for Siemens x65
    от cbn в разделе Эмуляторы
    Ответов: 4
    Последнее: 16.08.2006, 13:25
  3. Эмуляция ТУРБО
    от Vladimir Kladov в разделе Эмуляторы
    Ответов: 19
    Последнее: 15.04.2006, 21:23
  4. конвертация и эмуляция
    от jimon в разделе Эмуляторы
    Ответов: 12
    Последнее: 25.02.2006, 22:19

Ваши права

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