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

User Tag List

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

Тема: ZPU на Векторе

  1. #1
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    3,133
    Спасибо Благодарностей отдано 
    207
    Спасибо Благодарностей получено 
    191
    Поблагодарили
    118 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ZPU на Векторе

    Заголовком темы "современная разработка под Вектор" навеяло. Делюсь смелым экспериментом выходного дня: виртуальная машина, реализующая ZPU, исполняющая на Векторе программу, собранную GCC.

    Ссылки:
    прекрасм (жать RUN)
    gist — все файлы

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

    Реализация ZPU самая минимальная из всех возможных, то есть половина инструкций эмулируется самим ZPU. Если реализовать полный набор инструкций, будет пободрее.

    Для сборки под ZPU, например если кто-нибудь захочет запустить в этой системе эмулятор 8080 написанный на C++, потребуется тулчейн.
    Последний раз редактировалось svofski; 04.12.2020 в 18:36. Причина: ashiftleft
    Больше игр нет

  2. Эти 5 пользователя(ей) поблагодарили svofski за это полезное сообщение:

    AlexBel (01.12.2020), crackintosh (02.12.2020), ivagor (01.12.2020), nzeemin (01.12.2020), tnt23 (01.12.2020)

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

  4. #2
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,288
    Спасибо Благодарностей отдано 
    375
    Спасибо Благодарностей получено 
    565
    Поблагодарили
    447 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    и шо это за порнография? о_О
    де скриношоты?

    - - - Добавлено - - -

    так поинмаю это чисто интерпретатор проца?
    ничего готового запустить нельзя?

    и единственное сомнительное преимущуство что под оно есть GCC?

    - - - Добавлено - - -

    Цитата Сообщение от svofski Посмотреть сообщение
    и немного медленно.
    а для чего это? (про критичность к скоросте)
    Код:
            ; invert each byte and store them in reverse order -> total flip
            mov h, b
            dad h \ rar \ dad h \ rar \ dad h \ rar \ dad h \ rar
            dad h \ rar \ dad h \ rar \ dad h \ rar \ dad h \ rar
            pop h \ mov m, a
    
            mov h, c
            dad h \ rar \ dad h \ rar \ dad h \ rar \ dad h \ rar
            dad h \ rar \ dad h \ rar \ dad h \ rar \ dad h \ rar
            pop h \ mov m, a
    
            mov h, d
            dad h \ rar \ dad h \ rar \ dad h \ rar \ dad h \ rar
            dad h \ rar \ dad h \ rar \ dad h \ rar \ dad h \ rar
            pop h \ mov m, a
    
            mov h, e
            dad h \ rar \ dad h \ rar \ dad h \ rar \ dad h \ rar
            dad h \ rar \ dad h \ rar \ dad h \ rar \ dad h \ rar
            pop h \ mov m, a
    нельзя это делать таблично?

  5. #3
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    3,133
    Спасибо Благодарностей отдано 
    207
    Спасибо Благодарностей получено 
    191
    Поблагодарили
    118 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    нельзя это делать таблично?
    Все можно. У тебя же есть весь текст.
    Больше игр нет

  6. #4
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,288
    Спасибо Благодарностей отдано 
    375
    Спасибо Благодарностей получено 
    565
    Поблагодарили
    447 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    У тебя же есть весь текст.
    он на 8080 а я его с трудом понимать...
    а конвертение в z80 мнемоники всякими тулзами я так и не освоил

    на счет весь не уверен
    тк этот gist.github у меня отображется не лучшим образом
    если все и сразу в одном .аsm-е то весь

    Цитата Сообщение от svofski Посмотреть сообщение
    Все можно. У тебя же есть весь текст
    и я еще вникаю в целесобразность

  7. #5
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    3,133
    Спасибо Благодарностей отдано 
    207
    Спасибо Благодарностей получено 
    191
    Поблагодарили
    118 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Целесообразность точно не в быстродействии.

    Ускорение реализации инструкций дело благородное, но пока скорее бесполезное. Лучше помогает добавление недостающих инструкций. Например, я сейчас добавил callpcrel, poppcrel, neqbranch, eq, call — и время исполнения теста сократилось с 3:30 до 2:00. Пока ленюсь добавлять группу lessthanorequal. div/mul/mod тоже должны помочь, но без доработки newlib не все так однозначно.

    Почему не отображается gist? Я могу запостить куда-нибудь еще, если почему-то не достучаться до github-a.
    Больше игр нет

  8. #6
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,288
    Спасибо Благодарностей отдано 
    375
    Спасибо Благодарностей получено 
    565
    Поблагодарили
    447 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Почему не отображается gist?
    он отображается
    просто выглядтит все как помойка (они ж там до обновлялись до чертиков и на старых браузерах оно уже не фурычит)

  9. #7
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    3,133
    Спасибо Благодарностей отдано 
    207
    Спасибо Благодарностей получено 
    191
    Поблагодарили
    118 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Понятно. В общем там один ассемблерный файл, остальное — это чтобы скомпилировать то, что виртуальная машина будет исполнять.
    Больше игр нет

  10. #8
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,288
    Спасибо Благодарностей отдано 
    375
    Спасибо Благодарностей получено 
    565
    Поблагодарили
    447 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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


    ld a, b
    cp $04 \ jz insn_poppc
    cp $08 \ jz insn_load
    cp $0c \ jz insn_store
    cp $02 \ jz insn_pushsp
    cp $0d \ jz insn_popsp
    cp $05 \ jz insn_add
    cp $06 \ jz insn_and
    cp $07 \ jz insn_or
    cp $09 \ jz insn_not
    cp $0a \ jz insn_flip
    cp $0b \ jz insn_nop
    cp $00 \ jz insn_break
    это надо брать и сразу переписывать под sjasm+adp
    под быстрые таблицы переходов (пока немного кода)

    чтоб делать
    ld l,a ;4
    ld h,tab ;7
    ld h,(hl) ;7
    jp (hl) ;4

    декодер интерпретатора шняга прожорливая
    и его даже небольшое ускорение таки ощутимо

    - - - Добавлено - - -

    а можно готовый rom из того сорца?
    у меня и онлайнасм не фурычит

  11. #9
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    3,133
    Спасибо Благодарностей отдано 
    207
    Спасибо Благодарностей получено 
    191
    Поблагодарили
    118 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Заведи уже себе современный браузер. Тебе мнемоники не те, браузер не тот, процессор не тот, асм не фурычит, гитхаб не открывается, переписывать надо под sjasm. Мне переписывать под sjasm ничего не надо, хотя спасибо конечно.

    Вот собранный zpu8080.com. Кроме того, исходник можно собрать tasm-ом.
    Чтобы запустить в эмуляторе понадобится еще засунуть .com файл на образ диска с МикроДОС T34. В эмуляторе VV можно подключить каталог как диск. Ну или переделать консольный вывод под любимую систему. Там из всех внешних связей только один putchar. Например, чтобы запустить в эмуляторе https://www.tramm.li/i8080/emu8080.html достаточно изменить call putchar на out 1.

    Я знаю, что декодер прожорливый и неэффективный. Это вопрос приоритетов в распределении ресурсов, прежде всего моего времени и внимания. По-моему ты не представляешь о каком порядке быстродействия тут идет речь. Мы говорим о printf(), который печатает на экран со скоростью телетайпа. Посмотри на сишную программу в исходнике и оцени, что она исполняется сейчас две минуты.
    Больше игр нет

  12. Этот пользователь поблагодарил svofski за это полезное сообщение:

    NEO SPECTRUMAN (01.12.2020)

  13. #10
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,288
    Спасибо Благодарностей отдано 
    375
    Спасибо Благодарностей получено 
    565
    Поблагодарили
    447 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Заведи уже себе современный браузер.
    современный это сферических ахтунх
    придачу современных под ХРю кот наплакал...

    - - - Добавлено - - -

    Цитата Сообщение от svofski Посмотреть сообщение
    переписывать надо под sjasm
    я уже переписал
    теперь сверяю бинарники которые дико отличаются

    и втыкаю как на ваших векторах что либо запускают с дисководов

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

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

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

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

Похожие темы

  1. Биперная музыка на Векторе-06Ц
    от ivagor в разделе Вектор
    Ответов: 219
    Последнее: 13.03.2020, 21:01
  2. Джойстики на Векторе-06ц
    от svofski в разделе Вектор
    Ответов: 20
    Последнее: 11.08.2019, 02:39
  3. Какой игры не хватает на векторе?
    от ivagor в разделе Вектор
    Ответов: 56
    Последнее: 24.02.2017, 08:35
  4. Картинки демок Amstrad на векторе
    от yur в разделе Вектор
    Ответов: 13
    Последнее: 14.03.2016, 08:25
  5. Катинки С64 на Векторе
    от yur в разделе Вектор
    Ответов: 6
    Последнее: 13.03.2016, 15:40

Ваши права

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