User Tag List

Страница 11 из 47 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя
Показано с 101 по 110 из 466

Тема: Алан Кокс представил Unix-подобную ОС Fuzix, ядро которой потребляет около 40 Кб ОЗУ

  1. #101

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    И на "bootdev:" не ждет? Странно
    После последнего паника там di:halt, по-моему, клава не должна уже обрабатываться. Но в процессе загрузки есть часто-часто (автоповтора ещё нет) нажимать какую-нибудь кнопку, она пару раз на консоли проскочит.
    ну я ещё попробую - солью твой мастер, поправлю порты и запущу. там всего то пара мест.

  2. #102

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

    По умолчанию

    Цитата Сообщение от Sergey Посмотреть сообщение
    Не совсем понял вопрос.
    Я хочу писать/читать сектора на BDI так, чтобы использовать на это минимум памяти. Мне это для игрушки, но, думаю, для ОС на обычный 128й тоже надо будет. Так чтобы прошить её код вместо 128го бейсика. (Так 128й по-моему ещё останется "обычным" 128м, каким он уже наверное не будет, если мы прошьём свой код вместо TRDOS, или в 4ю страницу ПЗУ.)
    Я не знаю, нужна ли для TRDOS память(для посекторного доступа, без ФС, сами найдём куда писать), используемая бейсиком, не знаю какую память использует сама TRDOS для своих переменных и буферов. Что по минимуму(а не целиком страницу) нужно сохранять? Или, как вариант, можно ли затереть эту память, а потом подёргать процедуры её инициализации(если при этом надо будет дёргать дисковод, уже плохо).
    Последний раз редактировалось NovaStorm; 20.11.2014 в 20:23.

  3. #103

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тут лежит для ZX-Pentevo. Пока что грузится только по ком-порту и не видит ещё дисков.

    https://github.com/salextpuru/FUZIX

  4. #104

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

    По умолчанию

    А я вообще не планирую дисководы поддерживать. Нафига они? Оставлю только IDE и SD. Зато будут поддерживаться MBR-партиции, до 4х на устройство, несколько физ. устройств - т.е. партиций будет 8 или больше (выбирать минорным номером). Т.е. можно будет такую SD-карту переставлять из Ориона в PC и все будет совместимо. У меня сейчас так под CP/M - схема с MBR-разделами, довольно удобно: разделы можно подмонтировать/отмонтировать "на лету".

    ---------- Post added at 22:22 ---------- Previous post was at 22:18 ----------

    Утилиту BD (block dump) кто-нить собирал? Что она выводит на экран (по свой сборке не пойму никак)? Если запустить к примеру так "bd 0: 1".
    Никак не пойму, а описания нет.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  5. #105

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Утилиту BD (block dump) кто-нить собирал? Что она выводит на экран (по свой сборке не пойму никак)?
    У меня утилиты вообще не собираются, жалуются на отсутствие __modslonglong
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  6. #106

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

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    У меня утилиты вообще не собираются, жалуются на отсутствие __modslonglong
    Я от Юзикс сейчас собираю. При помощи CPM-овского Hitech C.
    Т.е. на волне интереса к FUZIX предпринимаю очередной заход на Uzix (как на данный момент более полный дистрибутив). PogrammersNotepad, проект, makefile - пытаюсь делать как принято, чтобы потом не только мне было понятно что да как. От него, набравшись шишек и отладив низовые платформеннозависимые вещи, уже к FUZIX попробую. Только я наверное в оконцовке опять попробую Hitech C использовать и для FUZIX тоже - он более эффективный код дает.

    Думаю, в версии для FUZIX и в версии для Uzix утилиты на экран должны одно и то же выводить, почему и спрашиваю.

    ---------- Post added at 23:11 ---------- Previous post was at 23:07 ----------

    Кстати, дистрибутив UZIX, гуляющий в интернетах -несобираемый. Т.е. какие-то небольшие вещи HitechC не воспринимает в принципе, надо править (ассемблерные вставки, етс). Не знаю - может у авторов была не бесплатная V3.09, а какая-то чуть более другая, например платная HitechC более старших версий.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

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

  8. #107

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашел полную херню.

    Почему в crt0.s секция _INITIALIZER копируется вдруг в _COMMONMEM ?!

    Это ж полная х%::%:я!

    ; move the common memory where it belongs
    ld hl, #s__INITIALIZER
    ld de, #s__COMMONMEM
    ld bc, #l__COMMONMEM
    ldir
    По всем правилам надо так.

    ; move the common memory where it belongs

    ld bc, #l__INITIALIZER
    ld a, b
    or a, c
    jr Z, gsinit_next
    ld de, #s__INITIALIZED
    ld hl, #s__INITIALIZER
    ldir
    gsinit_next:

  9. #108

    Регистрация
    23.12.2006
    Адрес
    Славный город Самара
    Сообщений
    484
    Спасибо Благодарностей отдано 
    135
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NovaStorm Посмотреть сообщение
    Я хочу писать/читать сектора на BDI так, чтобы использовать на это минимум памяти. Мне это для игрушки, но, думаю, для ОС на обычный 128й тоже надо будет. Так чтобы прошить её код вместо 128го бейсика. (Так 128й по-моему ещё останется "обычным" 128м, каким он уже наверное не будет, если мы прошьём свой код вместо TRDOS, или в 4ю страницу ПЗУ.)
    Я не знаю, нужна ли для TRDOS память(для посекторного доступа, без ФС, сами найдём куда писать), используемая бейсиком, не знаю какую память использует сама TRDOS для своих переменных и буферов. Что по минимуму(а не целиком страницу) нужно сохранять? Или, как вариант, можно ли затереть эту память, а потом подёргать процедуры её инициализации(если при этом надо будет дёргать дисковод, уже плохо).
    Я так подробно не разбирался с этим вопросом. Но все переменные TR-DOS занимают 133 байта с 23734.
    http://zxpress.ru/book_articles.php?id=1353

    Еще здесь посмотри, может найдёшь ответ. http://zx-pk.ru/archive/index.php/t-7056.html
    Последний раз редактировалось Sergey; 21.11.2014 в 08:39.
    С уважением,
    Gris / Red Triangle.
    _____________________________________
    ZX-EVO/TS-Labs config/NGS/HDD/SD-card
    Amiga A1200/Blizzard 1230@50/32/60GB
    Amiga A1200/Apollo 1260@66/32/60GB
    UnAmiga (C5) AGA GM7123 VideoDAC

  10. #109

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    Почему в crt0.s секция _INITIALIZER копируется вдруг в _COMMONMEM ?!
    Это всё часть великого колдунства. Вторая половина в tools/binman. Там явно надо что-то чинить для zx128, т.к. у нас нет дыры между основной частью и commonmem, и какая-то специальная обработка не нужна. А то счас интересные эффекты - если удлинить commonmem на 1 байт, то образ удлиняется на два. А если удлинить достаточно сильно (байт на 100), то отваливаются прерывания и клава перестаёт работать.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  11. #110

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Это всё часть великого колдунства.
    Секция INITIALIZED, по мнению компилятора SDCC, располагается в ОЗУ и её нужно инициализировать из кода, который может быть и в ПЗУ (из INITIALIZER).

    Поскольку ядро грузится в ОЗУ, данное копирование излишне и данные из секции INITIALIZER утилита binman копирует сама (тут надо отметить, что после преобразования .ihx в .bin все сегменты располагаются на своих местах, а утилита binman пытается сжать слепок памяти, убрав дырки). На освободившееся место, которое обычно в самом конце кода ядра, и откуда будет начинаться распределяемое в процессе работы ядра ОЗУ, binman копирует данные секции COMMONMEM, которые располагаются отдельно от кода ядра в непереключаемой области. Именно они и копируются потом при запуске ядра на своё место, т.е. из секции INITIALIZER в секцию COMMONMEM.

    Секцию DISCARD можно расположить где-нибудь в конце кучи и копировать туда перед запуском. Соответственно в binman нужно добавить копирование её в конец COMMONMEM.
    Последний раз редактировалось b2m; 21.11.2014 в 12:56. Причина: Про DISCARD

Страница 11 из 47 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Куплю БК 0010 или подобную машинку в Украине
    от LeBohdan в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 06.07.2008, 23:29
  2. SDCC вокруг да около
    от andrews в разделе Программирование
    Ответов: 8
    Последнее: 26.03.2008, 08:16
  3. Ответов: 16
    Последнее: 02.08.2005, 12:20
  4. Ответов: 10
    Последнее: 18.02.2005, 17:45

Ваши права

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