Представления не имею. Если найдешь SOLiD-а, обязательно свистни мнеVasil Ivanov wrote:У него можно получить сорцы SOLID C или это глухое дело ?.
Solid C - компилятор Си для Спринтера
Moderator: Shaos
-
dhau
- Maniac
- Posts: 233
- Joined: 12 Oct 2004 13:49
-
Vasil Ivanov
- Doomed
- Posts: 413
- Joined: 11 Dec 2003 14:34
Свиснуdhau wrote:Представления не имею. Если найдешь SOLiD-а, обязательно свистни мнеVasil Ivanov wrote:У него можно получить сорцы SOLID C или это глухое дело ?.Он всплыл на пару сообщений в Фидо-эхе RU.MSX где-то в 2001-м году, но потом опять пропал
Vasil Ivanov
vasil-i@yandex.ru
vasil-i@yandex.ru
-
Shaos
- Admin
- Posts: 24395
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Вопрос - как перевести слово "библиотекарь", чтобы было правильно в том смысле, в котором оно тут используется?Vasil Ivanov wrote:readme.rus - первое, что надо перевести. Здесь особенностиShaos wrote:Напомни какие файлы надо переводить на английский в первую очередь?
пакета, портированного на Спринтер.
bugs.! - он совсем маленький
cc.rus - дока по си-компилятору.
devel-1.rus - некоторая инфа по сборке проги из нескольких
исходников.
devel-2.rus - создание своих библиотек (irl-формата),
для юзания с линкером ld.exe.
ld.rus - дока линкера.
ol.rus - дока библиотекаря.
whatsnew.rus - история версий программ пакета.
Очень не помешала бы дока по си-функциям (clib.rus) данного
пакета, потому, что в некоторых функциях встречаются отличия
от стандартных (PC-шных), например функции перемещения
указателя в файле. Но она объемистая.
Да я фактически все доки и перечислил. По .rel/.irl
форматам и по асму, уже есть англицкий вариант.
Вобщем все доки, кроме cc.rus и clib.rus ты переведешь за
час, а может и быстрей.
-
cr0acker
- God
- Posts: 1078
- Joined: 03 Feb 2003 13:53
LibrarianShaos wrote:Вопрос - как перевести слово "библиотекарь", чтобы было правильно в том смысле, в котором оно тут используется?Vasil Ivanov wrote:readme.rus - первое, что надо перевести. Здесь особенностиShaos wrote:Напомни какие файлы надо переводить на английский в первую очередь?
пакета, портированного на Спринтер.
bugs.! - он совсем маленький
cc.rus - дока по си-компилятору.
devel-1.rus - некоторая инфа по сборке проги из нескольких
исходников.
devel-2.rus - создание своих библиотек (irl-формата),
для юзания с линкером ld.exe.
ld.rus - дока линкера.
ol.rus - дока библиотекаря.
whatsnew.rus - история версий программ пакета.
Очень не помешала бы дока по си-функциям (clib.rus) данного
пакета, потому, что в некоторых функциях встречаются отличия
от стандартных (PC-шных), например функции перемещения
указателя в файле. Но она объемистая.
Да я фактически все доки и перечислил. По .rel/.irl
форматам и по асму, уже есть англицкий вариант.
Вобщем все доки, кроме cc.rus и clib.rus ты переведешь за
час, а может и быстрей.
-
Shaos
- Admin
- Posts: 24395
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
А вот то что на спм делает LBR-каталоги как называется?dhau wrote:Archiver
-
dhau
- Maniac
- Posts: 233
- Joined: 12 Oct 2004 13:49
-
Shaos
- Admin
- Posts: 24395
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
LBR = Library, а тот кто их делает, по идее, должен называться Librariandhau wrote:LBR = Librarian?Shaos wrote:А вот то что на спм делает LBR-каталоги как называется?
А тут речь идет о другом "библиотекаре" - OL, который делает IRL библиотеки. Вот его описание на английском http://www.seasip.demon.co.uk/Cpm/irl.html
И я собственно спрашивал как его назвать, т.к. в первом варианте я недолго думая написал "Library Maker", а потом cr0acker посоветовал назвать это "Librarian", т.е. непосредственный аналог первоначального слова "Библиотекарь", но я сильно подозреваю, что это должно уже как-то называться по английски, т.к. английский язык вроде как родной для CP/M и термины должны быть устоявшимися.
-
Shaos
- Admin
- Posts: 24395
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Положил переведенный bugs.txt в Sprinter (ENG) с комментарием про то что char не работает c %X в этом компиляторе.Shaos wrote:Только что проверил сам - похоже, что %X вообще неработает с типами char - ни с *buffer, ни с buffer[0], ни просто с переменной типа char - прибавляется еще старший байт, НО если предварительно сделать присвоение int i = *buffer и именно этот int скормить принтфу - то все будет ок.Shaos wrote:Да - это глюк. А если попробовать вот так:Vasil Ivanov wrote:В папке Examples-ов в bin2c.c, откуда этот пример, обращение идетShaos wrote: В данном случае нам не нужен массив чаров - нам нужен первый элемент массива, т.к. 0x%02X. Далее, чтобы подучить первый элемент массива надо разыменовать указатель на него, т.е. *buffer. Ты говоришь, что компилятор это не просекает, т.е. надо писать (char)*buffer, но никак не (char*)*buffer, т.к. последнее означает преобразовать первый символ по указателю к указателю...
именно как к чар-массиву.
Твои рассуждения правильны, но в отношении к данной версии Солида они не подходят. Только что проверил:
...
printf("0x%02X\n", *(char*)buffer);
кол-во звездочек такое же, но они переставлены и код является верным с точки зрения любого компилятора Си
-
Shaos
- Admin
- Posts: 24395
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
Shaos
- Admin
- Posts: 24395
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Перевел devel-1.txt - см. форум Sprinter (ENG)Vasil Ivanov wrote:readme.rus - первое, что надо перевести. Здесь особенностиShaos wrote:Напомни какие файлы надо переводить на английский в первую очередь?
пакета, портированного на Спринтер.
bugs.! - он совсем маленький
cc.rus - дока по си-компилятору.
devel-1.rus - некоторая инфа по сборке проги из нескольких
исходников.
devel-2.rus - создание своих библиотек (irl-формата),
для юзания с линкером ld.exe.
ld.rus - дока линкера.
ol.rus - дока библиотекаря.
whatsnew.rus - история версий программ пакета.
Очень не помешала бы дока по си-функциям (clib.rus) данного
пакета, потому, что в некоторых функциях встречаются отличия
от стандартных (PC-шных), например функции перемещения
указателя в файле. Но она объемистая.
Да я фактически все доки и перечислил. По .rel/.irl
форматам и по асму, уже есть англицкий вариант.
Вобщем все доки, кроме cc.rus и clib.rus ты переведешь за
час, а может и быстрей.
-
Vasil Ivanov
- Doomed
- Posts: 413
- Joined: 11 Dec 2003 14:34
Спасибо. Положу себе в солид-пакет.Shaos wrote: Перевел devel-1.txt - см. форум Sprinter (ENG)
Vasil Ivanov
vasil-i@yandex.ru
vasil-i@yandex.ru
-
Shaos
- Admin
- Posts: 24395
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
DLL library for Solid C
http://nedopc.org/nedopc/sprinter/download/sc_dll.zip
Автор: Vasil Ivanov
http://nedopc.org/nedopc/sprinter/download/libman13.zip
Про LIBMAN как таковой существует отдельная тема, созданная в декабре 2020:
http://www.nedopc.org/forum/viewtopic.php?f=60&t=20252
Автор: Vasil Ivanov
P.S. Эта разработка поддерживает Libman v1.3, изменённый Василием:LOADDLL
#include <stdlib.h>
int loaddll("name.ext");
Описание.
Функция загружает указанную dll-библиотеку в 3-е окно.
Возвращает дескриптор библиотеки или -1 при ошибке.
FREEDLL
#include <stdlib.h>
int freedll(handle);
Описание.
Функция выгружает из памяти библиотеку handle.
Возвращает 0, если не было ошибок и -1 при ошибке.
CALLDLL
#include <stdlib.h>
int calldll(handle, func, &inregs);
Описание.
Функция вызывает процедуру библиотеки handle, на исполнение.
Номер процедуры указывается в func, параметры вызываемой процедуре
передаются через объединение REGS inregs. Передавать параметры можно
через любые (не альтернативные) регистры или рег. пары.
Функция возвращает дескриптор библиотеки или -1 при ошибке.
INFODLL
#include <stdlib.h>
int infodll(handle, buffer);
Описание.
Получить информацию о загруженной библиотеке handle. Функция
заполняет буфер buffer размером 32 байта, первыми 32-мя байтами заго-
ловка dll-библиотеки.
Функция возвращает дескриптор библиотеки или -1 при ошибке.
http://nedopc.org/nedopc/sprinter/download/libman13.zip
Про LIBMAN как таковой существует отдельная тема, созданная в декабре 2020:
http://www.nedopc.org/forum/viewtopic.php?f=60&t=20252
-
Shiru Otaku
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
Solid C и память
Интересует, насколько реально юзание сабжа. Есть вопросы. Скажем, что и как там с банками памяти? Программа может быть больше 16к (64к)? Как с asm-вставками? Как с прерываниями?
Версии кросс-компилятора на PC нет, как я понимаю? А в SPRINT`е компилер будет работать?
Понятно, что я и сам могу всё узнать и проверить. Но это время...
Я примеряюсь, реально-ли поюзать Solid C для написания спринтеровской части линка Sprinter<->PC. Чтобы шибко много времени не тратить. Мне для программы нужно: чтение входных параметров exe-файла; работа с файлами на диске (чтение и запись); вывод в консоль (printf, как я понимаю, уже есть?); асм-вставки с возможным юзанием дополнительного обработчика IM2 (чтобы с портом через прерывание работать).
Версии кросс-компилятора на PC нет, как я понимаю? А в SPRINT`е компилер будет работать?
Понятно, что я и сам могу всё узнать и проверить. Но это время...
Я примеряюсь, реально-ли поюзать Solid C для написания спринтеровской части линка Sprinter<->PC. Чтобы шибко много времени не тратить. Мне для программы нужно: чтение входных параметров exe-файла; работа с файлами на диске (чтение и запись); вывод в консоль (printf, как я понимаю, уже есть?); асм-вставки с возможным юзанием дополнительного обработчика IM2 (чтобы с портом через прерывание работать).
-
Shaos
- Admin
- Posts: 24395
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Solid C
Могу ответить по части памяти. Как я понял ввиду того, что компилятор портировался с CP/M ни о каких банках памяти речи нет (во всяком случае стандартными средствами языка). Для больших данных можно использовать прямое переключение окон. Для большого кода можно заюзать DLL-либы. Так как libman может их рассовывать хоть по всей памяти Спринтера мы можем получить более чем достаточно памяти для кода.Shiru Otaku wrote:Интересует, насколько реально юзание сабжа. Есть вопросы. Скажем, что и как там с банками памяти? Программа может быть больше 16к (64к)? Как с asm-вставками? Как с прерываниями?
