User Tag List

Страница 19 из 47 ПерваяПервая ... 151617181920212223 ... ПоследняяПоследняя
Показано с 181 по 190 из 466

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

  1. #181

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

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    Error404, как кросс средство (полукросс) хорошо использовать этот эмуль:
    http://homepage3.nifty.com/takeda-to...cpm/index.html
    он под винду. в нём сборка многих исходников hitech-c просто в пару секунд пролетает. при этом есть исходники, можно допиливать на своё усмотрение. удобна!
    да, зачисти свою личку, а то даже сообщение не отправить тебе.
    Я пользуюсь пока вот таким эмулятором под винду - он умеет возвращать винде код завершения HitechC, что нужно для make.
    Личку с дикими сожалениями почистил, т.к. похоже увеличения ящика не дождаться.

    Цитата Сообщение от Sergey Посмотреть сообщение
    Лично, я готов переписать все либы на асме Там даже то, что изначально на асме, как будто, нарочно писалось, чтобы памяти больше занимало
    Токо это долго будет, не меньше месяца (если загонюсь).
    ASM-оптимизацию для либ я думаю все равно когда-то делать придется даже если и не из-за размера кода, то из-за быстродействия. Только бы ошибок не наделать.

    Цитата Сообщение от Sergey Посмотреть сообщение
    Будь добр, поделись образом "среды" с хайтеком. Кстати, может ли он ассемблерный файлы выдавать, или сразу непосредственно в бинарники компилит?
    Кстати, наверное, можно будет этот CP/M HiTech и к Code::Blocks прикрутить.
    Среды как таковой я не делал, просто использую ProgrammersNotepad, где в проекте (фактически - списке файлов) описал используемые файлы и на кнопку F8 настроил сборку по make (Tools->Options->Tools->Scheme C/C++ -> Add)
    Но чаще после внесения всех правок в PN просто запускаю make под cmd.

    Тут мой рабочий каталог uzix (в нем UZIX.pnproj для примера), и каталог компилятора hitechC - на него должны быть настроены пути в переменных окружения PATH и CPMPATH:

    Название: uzix-wrk.zip
    Размер: 830.08 кб
    Доступен до: 2014-12-24 10:52:45
    http://rusfolder.com/42355049

    Название: HTC-win.zip
    http://rusfolder.com/42355053
    Доступен до: 2014-12-24 10:52:46
    Размер: 1.06 Мб

    А вот уж кто делал среду из ProgrammersNotepad - так это b2m: и экранный отладчик, и вообще всё. Чуть не хватило чтобы взлететь (из-за кривого SDCC).
    Последний раз редактировалось Error404; 24.11.2014 в 10:56.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

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

  3. #182

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

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    А вот уж кто делал среду из ProgrammersNotepad - так это b2m: и экранный отладчик, и вообще всё.
    Делать среду из ProgrammersNotepad - тупиковый путь. Слишком уж закрытый интерфейс к кишкам, всё приходится делать черезж. Я сейчас присматриваюсь к Eclipse, плагин для прикручивания sdcc в инете есть, но он датируется 2006-м годом, т.е. не актуальный (там даже манифестов нехватает, чтобы он нормально запустился в последних версиях Eclipse). Но с помощью напильника его можно прикрутить. У меня даже получилось собрать fuzix под виндой, пришлось однако править Makefile и собрать под винду binman.

    Кстати, виндовая версия sdcc ругается на конструкции типа: (char*)statloc, если statloc определён через #define statloc (int *)udata.u_argn1, такое встречается однажды в syscall_proc.c в процедуре waitpid.
    То ли препроцессор дурит, то ли компилятор не может обработать (char*)(int*)udata.u_argn1.

  4. #183

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

    По умолчанию

    Цитата Сообщение от Sergey Посмотреть сообщение
    Лично, я готов переписать все либы на асме Там даже то, что изначально на асме, как будто, нарочно писалось, чтобы памяти больше занимало
    Вот список всех используемых интерпретатором библиотечных функций c размерами. Я, честно говоря, вообще не вижу смысла переписывать мелочь. Всякие "вечные" вещи типа memcmp ещё может быть - ради скорости. Но ради объема надо резать malloc, vprintff и vfscanf.

    Скрытый текст


    Код:
    3224: _vfscanf
    2007: _vfprintf
    1328: _malloc
    658: _exit
    641: _putenv
    595: _fflush
    512: _strerror
    463: _isatty
    413: _fread
    351: _fgets
    331: _fgetc
    326: _readdir
    285: _fputc
    251: _opendir
    243: _free
    205: _ungetc
    205: _memset
    196: _atoi
    189: __modulong
    167: _getenv
    129: _getcwd
    128: __divulong
    126: _memcmp
    115: _itoa
    114: _closedir
    110: _ultoa
    110: ___mini_malloc
    100: _on_exit
    98: _strncpy
    93: _strchr
    84: _calloc
    82: _stat
    82: _perror
    82: _ltoa
    81: _lseek
    79: _memcpy
    69: ___do_exit
    67: ___stdio_close_all
    66: _strcmp
    61: _fstat
    49: _sscanf
    43: _strcat
    39: ___stdio_init_vars
    37: _printf
    36: _toupper
    36: _tolower
    23: _wait
    15: _atexit
    [свернуть]
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  5. #184

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

    По умолчанию

    Ну, vfprintf и vfscanf это классика, это они ещё наверное floating point не прицепили

  6. #185

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

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Я, честно говоря, вообще не вижу смысла переписывать мелочь. Всякие "вечные" вещи типа memcmp ещё может быть - ради скорости. Но ради объема надо резать malloc, vprintff и vfscanf.
    Понятное дело. Но мне надо "разогнаться", поэтому начинаю с маленьких процедур. В конечном итоге, их надо будет ВСЕ переписать на асм. Кроме того, выигрыш в memcmp составил 94(!) байта, - дюжина таких мелких п/п - вот и килобайт освободится.
    С уважением,
    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

  7. #186

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

    По умолчанию

    Цитата Сообщение от Sergey Посмотреть сообщение
    Понятное дело. Но мне надо "разогнаться", поэтому начинаю с маленьких процедур. В конечном итоге, их надо будет ВСЕ переписать на асм. Кроме того, выигрыш в memcmp составил 94(!) байта, - дюжина таких мелких п/п - вот и килобайт освободится.
    Только надо смотреть как написаны исходные процедуры. Например, копирование блока памяти можно делать простое (выразится только в LDIR), а можно с учетом перекрытий исходного и приемного блоков - и там по условию уже будут и LDIR и LDDR,

    ---------- Post added at 16:27 ---------- Previous post was at 16:26 ----------

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Вот список всех используемых интерпретатором библиотечных функций c размерами. Я, честно говоря, вообще не вижу смысла переписывать мелочь. Всякие "вечные" вещи типа memcmp ещё может быть - ради скорости. Но ради объема надо резать malloc, vprintff и vfscanf.
    И exit какой-то большеватый ИМХО.

    ---------- Post added at 16:42 ---------- Previous post was at 16:27 ----------

    Цитата Сообщение от b2m Посмотреть сообщение
    Делать среду из ProgrammersNotepad - тупиковый путь. Слишком уж закрытый интерфейс к кишкам, всё приходится делать черезж. Я сейчас присматриваюсь к Eclipse, плагин для прикручивания sdcc в инете есть, но он датируется 2006-м годом, т.е. не актуальный (там даже манифестов нехватает, чтобы он нормально запустился в последних версиях Eclipse). Но с помощью напильника его можно прикрутить. У меня даже получилось собрать fuzix под виндой, пришлось однако править Makefile и собрать под винду binman.
    И fuzix и сборка с помощью SDCC усложнены даже в сравнении с Uzix/HiTech (не говоря уж об Uzi). Я поэтому пока к fuzix не подступался. Лично мое мнение: не должен быть компилер таким корявым и недружелюбным как SDCC.
    Но еще до эпопеи с ProgrammerNotepad я стваил и Эклипс и плагин для SDCC. Ну что сказать: громоздко и минимум возможностей, фактически нечто демонстрационное как к Эклипсу прикручивать компилятор. Тут кто-то должен серьезно приложить руки, чтобы этим можно было пользоваться. И оно потом еще и развалиться будет с выходом каждой очередной "улучшенной" SDCC, 146% даю.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

  8. #187

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

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    И оно потом еще и развалиться будет с выходом каждой очередной "улучшенной" SDCC, 146% даю.
    Не должно - от sdcc требуется только выводить варнинги/ошибки в стандартном виде. Этот функционал там испокон веков, и не менялся вроде бы вообще.

    С Eclipse хуже другое - он слишком умный. Я пытался его скрестить с gdb-z80 и gdbserver, но не вышло оттого, что эклипс лезет и пытается самостоятельно распарсить выходной бинарник, прежде чем отдать его gdb. Причем, собака, из форматов понимает только PE и ELF.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  9. #188

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

    По умолчанию

    По поводу шелла ssh: первое, что надо сделать - выкинуть sscanf, она используется только как делитель строки на подстроки идущие через пробел. Буферы cmd и arg заменить на указатели, строку делить прямо в буфере buf (он потом используется, но аргументы там уже не нужны). Сэкономим порядка 3Кб.

  10. #189

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

    По умолчанию

    Кому интересно - вот загрузчик для пентевы и образ с ядром.

    Ядро должно иметь имя fuzix.b.
    Загркзчик - обычный хобетный файл, который пентева умеет по Enterу запускать.
    Вложения Вложения

  11. #190

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

    По умолчанию

    Цитата Сообщение от Sergey Посмотреть сообщение
    Зависает: кажет на экране мусор и 4 вертикальные полосы, шириной 8 знакомест.
    Зависание происходит после загрузки (на экран выводится какая-то таблица).
    Причем, если выставить в пентеве 14МГц, то после "матраца" экран очищается и в ЛВУ печатается какое-то слово, затем сразу сбрасывается.
    У меня конфигурация baseconf 0.55b версия вроде. Так?

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

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

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

Эту тему просматривают: 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

Ваши права

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