User Tag List

Показано с 1 по 10 из 56

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,387
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Ну он хоть в каком-то виде есть как бинарник? Чтоб например запустить какой-то уже скомпилированный простейший пример на Орионе в CP/M?
    В репозитории 7 примеров, из них 5 компилируются в cp/m-овские comы: hellozpu.com, intmand.com, sieve.com, startrek.com, uip.com. Для uip нужна специальная поддержка, а вот остальные можно запустить в любом cp/m (еще насчет startrek уверен не на 100%, но скорее всего), лишь бы памяти хватало. Бинарники (несколько устаревшие на сегодняшний день) есть тут.

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

    Цитата Сообщение от Error404 Посмотреть сообщение
    А уж дальше думать как собрать сам ZPU нативно в СP/M. Вполне посильная задача для M80, зачем все эти TASM ненашенские
    Runtime часть можно адаптировать для сборки с использованием любого асма 8080, в т.ч. и M80. Зачем делать это в cp/m мне не очень понятно (это усложнит сборку), zpugсс все равно будет работать в linux (или в win10 в докере или хоть где в виртуальной машине с linux). Компромиссный вариант - использовать что-то вроде адаптации M80 для win b2mа, скорее всего его вариант можно собрать и для linux (если он захочет).
    Последний раз редактировалось ivagor; 07.03.2021 в 06:39.

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

  3. #2

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    В репозитории 7 примеров, из них 5 компилируются в cp/m-овские comы: hellozpu.com, intmand.com, sieve.com, startrek.com, uip.com. Для uip нужна специальная поддержка, а вот остальные можно запустить в любом cp/m (еще насчет startrek уверен не на 100%, но скорее всего), лишь бы памяти хватало. Бинарники (несколько устаревшие на сегодняшний день) есть тут.

    Runtime часть можно адаптировать для сборки с использованием любого асма 8080, в т.ч. и M80. Зачем делать это в cp/m мне не очень понятно (это усложнит сборку), zpugсс все равно будет работать в linux (или в win10 в докере или хоть где в виртуальной машине с linux). Компромиссный вариант - использовать что-то вроде адаптации M80 для win b2mа, скорее всего его вариант можно собрать и для linux (если он захочет).
    Кажется я понял. Движок ZPU компилируется в каждый COM?
    Для оценить сойдет, но надо переделывать на запуск движка ZPU с параметром выполняемого файла а в последствии возможно и посадки движка в теневом ОЗУ как расширения ядра ОС. Т.к. странно выглядит - как например JRE компилировать в каждый jar или BDOS/BIOS CPM включать в каждый COM. Вообще конечно подход имеет право на существование, в UZIX так делали с эмулятором CP/M, но я переделал на отдельный эмулятор и стало удобнее.

    М80 мне привычен синтакисом (и вообще сделан более по людски чем тасм, за исключением всякого ненужного типо прочих платформ) и прекрасно работает в консоли винды с локальными файлами винды в правильном эмуляторе CP/M. Т.е. никакого проигрыша по удобству. Используя M80 всегда остается опция нативной сборки на Орионе или использования lib-ов М80 в CPM-овских С и Pascal, чего не будет в TASM.

    gcc тоже есть под виндой в cygwin и подобных mingw. Зачем его тащить в контейнеры - сходу тоже не понятно (кроме желания сделать стильномодномолодежно). Называя вещи своими именами, Linux по отношению к 8бит весьма неудобен (и никогда удобен не будет). Т.е. можно попробовать сделать полный тулчейн на винде.

    Да уж. Вот так начнешь и получается такая куча работы на переделывание, что глаза боятся. Но бинари надо будет попробовать, т.к. штука прикольная уже сама по себе.

    Еще опция если движок будет отдельно от байт-кода - можно будет один и тот же байт-код приложений запускать и на 8080 и на Z80 и на 6502 к примеру (просто у у каждого будет свой runtime-движок ZPU)
    Последний раз редактировалось Error404; 07.03.2021 в 12:52.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #3

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,387
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,366
    Поблагодарили
    1,316 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Движок ZPU компилируется в каждый COM?
    Да

    Цитата Сообщение от Error404 Посмотреть сообщение
    gcc тоже есть под виндой в cygwin и подобных mingw. Зачем его тащить в контейнеры - сходу тоже не понятно (кроме желания сделать стильномодномолодежно).
    Есть и он даже компилирует. То, что у меня не получилось скомпилировать виндовым вариантом ничего подходящего для zpu8080 - это ладно. Но у svofski тоже не совсем получилось, хотя он всерьез этим не занимался и если бы занялся, то наверняка смог бы. Есть еще один момент - к zpugcc для zpu8080 добавляется несколько патчей, без которых в принципе можно жить, но будет грустновато.

    Цитата Сообщение от Error404 Посмотреть сообщение
    Еще опция если движок будет отдельно от байт-кода - можно будет один и тот же байт-код приложений запускать и на 8080 и на Z80 и на 6502 к примеру
    При компиляции отдельные zpuшные бинарники создаются и для них можно написать запускалки для всяких разных процов.
    Какие плюсы у текущего подхода (код zpu + runtime zpu8080 в одном флаконе):
    1. При компиляции можно задать опции и убрать не нужные для данной программы фичи из runtime части. Или включить все опции и получить программу побыстрее, но и пожирнее.
    2. Можно компилировать не только в com для cp/m, но и в rom для запуска на голом векторе.
    3. Для человека, который не знает ничего про zpu, но знаком с cp/m проще запустить .com
    У отдельной запускалки есть свои плюсы и если кто-нибудь сделает (что сравнительно просто), то это будет здорово.

  5. #4

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    gcc тоже есть под виндой в cygwin и подобных mingw. Зачем его тащить в контейнеры - сходу тоже не понятно (кроме желания сделать стильномодномолодежно). Называя вещи своими именами, Linux по отношению к 8бит весьма неудобен (и никогда удобен не будет). Т.е. можно попробовать сделать полный тулчейн на винде.
    Потому что так мне проще. Я живу под линуксом. ivagor, который заинтересовался проектом и сразу принял в нем очень активное участие, под виндой. Dockerfile это рецепт, который на любой машине позволяет развернуть все зависимости по простому и понятному рецепту так, что оно будет повторяемо независимо от хоста. Так у нас получилось работать над одним проектом под разными системами, не тратя время на треш типа gcc под виндой. Вот зачем мне тратить неделю времени на то, чтобы собрать zpugcc под виндой? Нету у меня этого времени и удовольствия я от этого не получу.

    Про то, что сборка через make — это стильномодномолодежно, я думаю про это было бы приятно послушать дедушкам—изобретателям юниксового тулчейна. Жаль не все из них уже живы.

    Но вообще я ничего против сборки под виндой не имею. Так же как и против еще многих вещей, которых "не хватает" — та же работа с файлами. Сорцы открыты специально для того, чтобы можно было доделать то, чего нет. Вот ворчать и доказывать мне, что Линукс — это почему-то неудобно по отношению к 8бит, смысла нет никакого.

    Что до отдельной запускалки байткода — это можно, но требует усилий в той области, которая никому пока не была интересна. Сейчас сборка каждого индивидуального примера затачивает рантайм под себя через дефайны. Например куча всякой ерунды сделана для uIP, но она совершенно не нужна Стар Треку. И от этого зависит распределение памяти. Получается, что если делать хорошо, надо угрохать уйму времени на то, чтобы сделать рантайм конфигурируемым в рантайме. На это просто не хватает ни желания ни времени. А проект вообще задумывался скорее как шутка.
    Больше игр нет

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

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

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

Похожие темы

  1. Биперная музыка на Векторе-06Ц
    от ivagor в разделе Вектор
    Ответов: 352
    Последнее: 29.07.2025, 19:04
  2. Джойстики на Векторе-06ц
    от svofski в разделе Вектор
    Ответов: 104
    Последнее: 04.07.2025, 15:57
  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

Ваши права

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