User Tag List

Страница 15 из 20 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя
Показано с 141 по 150 из 200

Тема: Пишем свою ОС. Практика

  1. #141
    DimkaM
    Гость

    По умолчанию

    И на чём её можно поиспользовать, в каких спектрумах она реализована?

  2. #142

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DimkaM Посмотреть сообщение
    И на чём её можно поиспользовать, в каких спектрумах она реализована?
    для начала я бы рекомендовал реализовать архитектуру в эмуляторе, т.к. как понимаю это самая удобная среда для отладки, а в конце можно перенести и на клоны с FPGA

  3. #143

    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от DimkaM Посмотреть сообщение
    У меня сейчас возникла необходимость в "длинных"(между страницами) переходах. Может у кого уже есть концепция-алгоритм как это организовать. И как передавать данные в процедуру, причём часто надо передавать указатели на данные.
    хе-хе... это самая ЖЕСТКАЯ проблема - 64kb limit. Пока функционал прог можно влепить в этот limit все как бы нормально. Как токо прога начинает быть хоть немного полезной (отвечать современным требованиям) так она уже никак не влазит в 64кб адресного. Многие платформы типа БЭСМ и PDP-11 погибли в основном по причине наличия этого лимита.

    Так что выхода тут токо 2:

    0. (обычный путь которым прошли все выжившие платформы) переход на процессор с большим лимитом адресного пространства и портирование нужного софта. В случае Химеры это установка ez80 + 16MB RAM.

    1. (СЛОЖНЫЙ ДО УЖАСА, реализован в некоторых реальных прогах) разбить функционал проги на куски так чтобы места в памяти хватало! Алгоритм такой:

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

    b) разбить МАССИВ ДАННЫХ написанной проги на куски которые не зависят друг от друга (т.е. сгрупировать куски ДАННЫХ которые используются кодом только ВМЕСТЕ в отдельные группы, тут главное чтобы эти куски ДАННЫХ помещались потом в свободный RAM, (свободный RAM для спекки это = ВЕСЬ RAM(49152байт) - минимальный сегмент кода (16384байта) - экран (6912байт) - STACK (2000 байт???) - KERNEL (856 байт???) и ТОГО ~23000 байт) ). Если вдруг длинна куска ДАННЫХ больше свободной RAM то пытаться переписать прогу так чтоб кусок ДАННЫХ влез!

    с) разбить весь код на куски длинной с минимальный сегмент кода (для спекки 16384байта);

    d) все межсегментные JMP-ы\CALL-ы, обработку прерываний, проводить через KERNEL - маленький кусочек кода; При этом нужно учесть что этот кусочек должен уметь "включать" нужный массив данных для нужного сегмента кода перед тем как сделать реальный JMP/CALL.

    e) если скорость будет все еще приемлемая то все должно получиться.

  4. #144

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXFanat Посмотреть сообщение
    Речь в теме идет о создании новой операционной системы для всех моделей ZX, где основным фактором, (поправьте меня, если я ошибаюсь!), будет наличие ядра системы, к которой будут подгружаться (или иным способом будут внедрены) конфигурации (можно их называть драйверами, кому как нравиться) для каждой модели отдельно.
    Ты себе это очень смутно представляешь, т.к. не знаешь основного постулата - на Спектруме невозожно создать ОС, под которой будет нормально работать спековский софт.
    Архитектура Хiмеra базируется на этом постулате, и позволяет его обойти путём аппаратного создания виртуальных машин для спековского софта, управляемых ОС.
    Поэтому ни о какой "новой операционной системы для всех моделей ZX" и речи быть не может. Многозадачная, и даже реалтайм ОС исполняющая нормально спековскй софт возможна только на архитектуре Хiмеra. Другое дело, что сама архитектура позволяет существовать виртуальным машинам (ВМ) четырёх базовых конфигураций, которые можно выбрать при создании ВМ:
    - SKAY (Scorpion+KAY)
    - Pentagon
    - Profi
    - +3.

  5. #145

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXFanat Посмотреть сообщение
    Я внимательно прочел всю тему: "ХИМЕРА" - реальная концепция в ZX-строении
    это не то , топик Концепция "ХИМЕРА" и аппаратная архитектура Хiмеra не связаны практически никак. Лучше посмотри десяток-два последних страниц этого топика http://www.zx.pk.ru/showthread.php?p=360130#post360130

  6. #146
    DimkaM
    Гость

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    разбить МАССИВ ДАННЫХ написанной проги на куски которые не зависят друг от друга
    Спасибо. Десять слов которые наверно смогут мне помочь. LVD мне уже говорил об этом, но я его не понял.
    Независимого кода очень мало, скорей всего придётся дублировать код в страницах. FATFS весит 24кило с драйверами ZSD+NEMOIDE+RTC, без учёта кешей(1.2кило) плюс активно юзается стек (~100-150 байт). По моим прикидкам чисто FATFS займёт 3-4 страницы памяти(с учётом дублирования кода). Опять же нужно место и для читаемого/записываемого файла, а с этим все намного сложнее, особенно при адаптации старых программ под FAT, очень много LDIRить придётся.
    Нда гемор ещё тот, скорей всего отложу до лучших времён(реализации Химеры). А пока буду допиливать свой проект под ZX-Евой, там немного по проще с памятью, и всё прекрасно работает. Почаще щёлкаю страничками в трех банках, в четвертой обёртка лежит.

    ---------- Post added at 09:26 ---------- Previous post was at 09:09 ----------

    Цитата Сообщение от ZXFanat Посмотреть сообщение
    Как вариант, брать за основу: "KalibriOS" и "MenuetOS".
    Там исходники на асме под х86, автоматом никак не переделаешь. Нужно всё руками переписывать, а для этого нужно очень хорошо знать архитектуру и ассемблер одновременно Спекки и РС.
    Причём таких людей нужно минимум десяток, что бы распараллелить конвертацию. Что бы понять трудоёмкость процесса, возьми 50 строк кода и попробуй их переписать под Z80.
    Последний раз редактировалось DimkaM; 25.07.2011 в 09:14.

  7. #147

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

    По умолчанию

    Цитата Сообщение от DimkaM Посмотреть сообщение
    FATFS весит 24кило с драйверами ZSD+NEMOIDE+RTC, без учёта кешей(1.2кило) плюс активно юзается стек (~100-150 байт).
    Интересно про FATFS. Какой используешь компилятор чтобы получать Z80-код? Ведь нужна нативная поддержка 32-битных типов. И какую версию FATFS? Я в свое время дошел только до 6-й (последней без длинных имен), остальные показались слишком сложными.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  8. #148

    Регистрация
    06.05.2006
    Адрес
    Ливны, Орловская обл
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black_Cat Посмотреть сообщение
    если Спектрум доработан до стандарта NemoBus v.1.2, то легким движением может быть вставлена плата расширения, расширяющая возможности до архитектуры Хiмеra
    И что из спековского железа в получившемся Франкенштейне будет использоваться? При том, что хочется и eZ80 и много памяти, остаётся клавиатура что ли?

    ZXFanat, Колибри - форк Менуэта, писана на 386 асме, внутри полнейший бардак из наслоений потоков мыслей целой толпы, для спека бесполезна.

    ---------- Post added at 10:23 ---------- Previous post was at 10:15 ----------

    Цитата Сообщение от DimkaM Посмотреть сообщение
    плюс активно юзается стек (~100-150 байт)
    Как оценивал?
    Цитата Сообщение от DimkaM Посмотреть сообщение
    Почаще щёлкаю страничками в трех банках, в четвертой обёртка лежит.
    Как вариант - RPC, но накладные расходы конечно вырастут.

  9. #149

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NovaStorm Посмотреть сообщение
    И что из спековского железа в получившемся Франкенштейне будет использоваться? При том, что хочется и eZ80 и много памяти, остаётся клавиатура что ли?
    задай вопрос по другому. Из спековского железа будет использоваться абсолютно всё, т.к. архитектура Хiмеra - это абсолютный Спектрум

  10. #150
    DimkaM
    Гость

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Интересно про FATFS. Какой используешь компилятор чтобы получать Z80-код? Ведь нужна нативная поддержка 32-битных типов. И какую версию FATFS? Я в свое время дошел только до 6-й (последней без длинных имен), остальные показались слишком сложными.
    z88dk
    Компилил самую последнюю версию(весной) R0.08b (revision ID 8237),LFN отключил, пока не нужно. Весь функционал проверил, работает на сто процентов.


    ---------- Post added at 12:01 ---------- Previous post was at 11:56 ----------

    Цитата Сообщение от NovaStorm Посмотреть сообщение
    Как оценивал?
    чисто субъективная оценка. Анализировал код после компиляции, т.к. были баги. FATFS писался под GCC, некоторые вещи z88dk неправильно компилились, преобразования типов в нескольких местах подправил и ещё что то, непомню что.
    Последний раз редактировалось DimkaM; 25.07.2011 в 12:10.

Страница 15 из 20 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Пишем на ассемблере под эмулятором
    от GM BIT в разделе Для начинающих
    Ответов: 76
    Последнее: 15.07.2016, 20:04
  2. Пишем свою ОС. Теория
    от Zet9 в разделе ZX Концепции
    Ответов: 280
    Последнее: 27.06.2012, 15:27
  3. Я ищу свою дему
    от AAA в разделе Демо
    Ответов: 4
    Последнее: 04.05.2005, 22:59
  4. Ищу свою gfx работу!!!
    от invador в разделе Игры
    Ответов: 7
    Последнее: 02.02.2005, 12:54

Ваши права

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