nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 21 Jan 2021 18:29



Reply to topic  [ 78 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Solid C - компилятор Си для Спринтера 
Author Message
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 19321
Location: Silicon Valley
Reply with quote
Shiru Otaku wrote:
Интересует, насколько реально юзание сабжа. Есть вопросы. Скажем, что и как там с банками памяти? Программа может быть больше 16к (64к)? Как с asm-вставками? Как с прерываниями?


Могу ответить по части памяти. Как я понял ввиду того, что компилятор портировался с CP/M ни о каких банках памяти речи нет (во всяком случае стандартными средствами языка). Для больших данных можно использовать прямое переключение окон. Для большого кода можно заюзать DLL-либы. Так как libman может их рассовывать хоть по всей памяти Спринтера мы можем получить более чем достаточно памяти для кода.

_________________
:eugeek: https://twitter.com/Shaos1973


08 Jan 2005 22:12
Profile WWW
Doomed
User avatar

Joined: 11 Dec 2003 15:34
Posts: 407
Reply with quote
Shiru Otaku wrote:

Quote:
Интересует, насколько реально юзание сабжа. Есть вопросы. Скажем, что
и как там с банками памяти?


В сишную библиотеку (clib.irl) данные функции пока не добавлял (на тот
момент устал от портирования целого пакета, да составления док). Пока есть
только стандартные си-шные функции sbrk, malloc, calloc. Вобщем память
выделяется из кучи т.е. пространства между стеком и концом программы.

Quote:
Программа может быть больше 16к (64к)?


Карта распределения памяти си-программ такая:

#4100 - "ORG" программы
#C000 - вершина стека программы

Обрати внимание, после запуска программы, #4000 может быть использован
под буферы некоторых функций сишной библы. С 3-ей банкой можешь делать
что угодно. А вообще, линкер может собрать бинарник макс. 64 кило.

Quote:
Как с asm-вставками?


Только прилинковкой отдельными rel-файлами (и/или процедуры своей
библиотеки). Хотя слово "asm" зарезервировано (но не юзается).

Quote:
Как с прерываниями?


В сишной библе (clib.irl) есть enable(), disable().
Что либо иное - через асм-вставки.

Quote:
Версии кросс-компилятора на PC нет, как я понимаю?


А откуда ей взяться - авторских сорцев нет.

Quote:
А в SPRINT`е компилер будет работать?


Не проверял, влом было ставить Sprint SDK.

Quote:
Мне для программы нужно:
чтение входных параметров exe-файла;
работа с файлами на диске (чтение и запись);


Под "входными параметрами exe-файла" что подразумеваешь ?.
Чтение/Запись файлов - без проблем.

Quote:
вывод в консоль (printf, как я понимаю, уже есть?);


Правильно понимаешь. Лучше юзать cprintf, поскольку он быстрее.
Для разнообразия загляни в папку "EXAMPLES" пакета.

Quote:
асм-вставки с возможным юзанием дополнительного обработчика IM2
(чтобы с портом через прерывание работать).


Пиши свою процедуру и прилинковывай к программе.

_________________
Vasil Ivanov
vasil-i@yandex.ru


19 Jan 2005 15:53
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 19321
Location: Silicon Valley
Reply with quote
Post 
Vasil Ivanov wrote:
Shaos wrote:
Напомни какие файлы надо переводить на английский в первую очередь?


readme.rus - первое, что надо перевести. Здесь особенности
пакета, портированного на Спринтер.

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 ты переведешь за
час, а может и быстрей ;).


Сделал черновой перевод:
ld.rus - дока линкера,
ol.rus - дока библиотекаря,
whatsnew.rus - история версий программ пакета.
Все положил в форум "Sprinter (ENG)".

Осталось перевести 2 оставшихся текста - cc.rus и devel-2.rus

_________________
:eugeek: https://twitter.com/Shaos1973


06 Mar 2005 17:36
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 19321
Location: Silicon Valley
Reply with quote
cr0acker wrote:
Вася сделал это! Правда я ничего скомпилировать им не могу:( Линкер виснет:(
Всем качать!:

Solid C


Сегодня линк перенаправлен на nedopc.org

_________________
:eugeek: https://twitter.com/Shaos1973


26 Nov 2005 20:34
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 19321
Location: Silicon Valley
Reply with quote
Post 
Завёл Спринтер - компилю солидом примеры ;)

_________________
:eugeek: https://twitter.com/Shaos1973


30 Oct 2007 22:11
Profile WWW
Doomed
User avatar

Joined: 11 Dec 2003 15:34
Posts: 407
Reply with quote
Post 
Shaos wrote:
Завёл Спринтер - компилю солидом примеры ;)


Чего это ты вдруг ?. Ностальгируешь по прошедшим временам ? ;)
Я уже давным давно Спринтер не включал и нет пока в планах.
Как писал один классик - "дела давно минувших дней, преданье старины глубокой".

_________________
Vasil Ivanov
vasil-i@yandex.ru


31 Oct 2007 08:56
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 19321
Location: Silicon Valley
Reply with quote
Post 
Vasil Ivanov wrote:
Shaos wrote:
Завёл Спринтер - компилю солидом примеры ;)


Чего это ты вдруг ?. Ностальгируешь по прошедшим временам ? ;)
Я уже давным давно Спринтер не включал и нет пока в планах.
Как писал один классик - "дела давно минувших дней, преданье старины глубокой".


Ну а чего бы не включить? ;)

_________________
:eugeek: https://twitter.com/Shaos1973


31 Oct 2007 17:58
Profile WWW
Doomed
User avatar

Joined: 11 Dec 2003 15:34
Posts: 407
Reply with quote
Post 
Shaos wrote:
Vasil Ivanov wrote:
Shaos wrote:
Завёл Спринтер - компилю солидом примеры ;)


Чего это ты вдруг ?. Ностальгируешь по прошедшим временам ? ;)
Я уже давным давно Спринтер не включал и нет пока в планах.
Как писал один классик - "дела давно минувших дней, преданье старины глубокой".


Ну а чего бы не включить? ;)


А смысл ?. Если бы проект был доступен (не закрытый), то был бы какой-то смысл.

_________________
Vasil Ivanov
vasil-i@yandex.ru


11 Nov 2007 01:39
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 19321
Location: Silicon Valley
Reply with quote
Post 
Vasil Ivanov wrote:
Shaos wrote:
Vasil Ivanov wrote:
Shaos wrote:
Завёл Спринтер - компилю солидом примеры ;)


Чего это ты вдруг ?. Ностальгируешь по прошедшим временам ? ;)
Я уже давным давно Спринтер не включал и нет пока в планах.
Как писал один классик - "дела давно минувших дней, преданье старины глубокой".


Ну а чего бы не включить? ;)


А смысл ?. Если бы проект был доступен (не закрытый), то был бы какой-то смысл.


Ну я всё ещё надеюсь построить некий минимально-функциональный аналог Спринтера с совместимым биосом и акселератором...

_________________
:eugeek: https://twitter.com/Shaos1973


11 Nov 2007 10:19
Profile WWW
Doomed
User avatar

Joined: 11 Dec 2003 15:34
Posts: 407
Reply with quote
Post 
Shaos wrote:
Vasil Ivanov wrote:
Shaos wrote:
Vasil Ivanov wrote:
Shaos wrote:
Завёл Спринтер - компилю солидом примеры ;)


Чего это ты вдруг ?. Ностальгируешь по прошедшим временам ? ;)
Я уже давным давно Спринтер не включал и нет пока в планах.
Как писал один классик - "дела давно минувших дней, преданье старины глубокой".


Ну а чего бы не включить? ;)


А смысл ?. Если бы проект был доступен (не закрытый), то был бы какой-то смысл.


Ну я всё ещё надеюсь построить некий минимально-функциональный аналог Спринтера с совместимым биосом и акселератором...


Т.е. на отдельной мат. плате ?. Что-то мне подсказывает, что это будет не скоро ;)

_________________
Vasil Ivanov
vasil-i@yandex.ru


14 Nov 2007 08:30
Profile
Maniac

Joined: 05 Oct 2009 20:44
Posts: 211
Location: 212.164.105.5
Reply with quote
Post 
я так и не понял, под какой страндарт си этот компилятор расчитан. пример кода:
Code:
#include <stdio.h>

void panic0(s)
char *s;
{
    printf("\nError: ");
    printf(s);
    printf("\n");
}

main(argc,argv)
int argc;
char *argv[];
{
     if(argc<2) panic0("Need some arguments.");
}
всё. у компилятора рвёт крышу. выдаёт неразумные ошибки об отсутствии скобок, о том что есть недекларированные переменные и вапще с десяток ошибок. однако в компиляторе HiTechC и на пц в VC всё прекрасно собирается. пример простой, но...


15 May 2012 22:55
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 19321
Location: Silicon Valley
Reply with quote
Post 
такой стиль указания аргументов функции давно отменили - пиши так, как в современных сях пишут (последние лет 15):

Code:
#include <stdio.h>

void panic0(char *s)
{
    printf("\nError: ");
    printf(s);
    printf("\n");
}

main(int argc, char **argv)
{
     if(argc<2) panic0("Need some arguments.");
}

_________________
:eugeek: https://twitter.com/Shaos1973


15 May 2012 23:20
Profile WWW
Maniac

Joined: 05 Oct 2009 20:44
Posts: 211
Location: 212.164.105.5
Reply with quote
Post 
проблемма в том, что это был первый вариант записи, с ним ошибок было ещё больше. хай тех уж поверь, древнющий компилятор под цпм, тем неменее он full ansi c совместимый. а вот солид мне показалось что он скорее k&r, и про анси даже не знает...
более того. хайтех си понимает оба варианта записи, описанный мной и тобой (его я первым испробовал).


15 May 2012 23:32
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 19321
Location: Silicon Valley
Reply with quote
Post 
Sayman wrote:
проблемма в том, что это был первый вариант записи, с ним ошибок было ещё больше. хай тех уж поверь, древнющий компилятор под цпм, тем неменее он full ansi c совместимый. а вот солид мне показалось что он скорее k&r, и про анси даже не знает...
более того. хайтех си понимает оба варианта записи, описанный мной и тобой (его я первым испробовал).


посмотрел примеры - таки оно k&r - значит твой вариант был вернее
там есть HELLO.C - попробуй его собрать через HELLO.BAT
может оно у тебя просто инклудник не может найти?

_________________
:eugeek: https://twitter.com/Shaos1973


17 May 2012 22:32
Profile WWW
Maniac

Joined: 05 Oct 2009 20:44
Posts: 211
Location: 212.164.105.5
Reply with quote
Post 
вобщем и целом - вариант с солидом не годится совершенно.
вижу только один рациональный путь - переписать библиотеки хайтеха под спринтер. сам компилятор потом использовать с эмулятором под фрибсд, на крайняк в z80mu под досом (или досБокс)...


23 May 2012 23:49
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 78 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.