Skocz do zawartości

[Pascal] Hmmm Free pascal


Dexarz

Polecane posty

Ojć coś ta część forum się nie rozkręca ...

 

Pytanie jest bardzo proste ...Pisząc program w free pascalu ,to czy będzie nadawał się na tryb rzeczywisty (który jest 16 bitowy ??) ..Czy może developerzy FPC dokonali 32 bitowe pascalowskie coś dla programistów ??

 

 

 

 

Piszę OS'a w pascalu z fragmentami asma (boot loader w asmie całkowicie .,kernel będzie pisany w pascalu z wstawkami asmowymi) Napisałem będzie ,bo mam dylemat czy mam wchodzić już w tryb chroniony tylko po to by obsłużyć pascala ,czy może zostawić tryb rzeczywisty i zgadywać czy kod napisany w fpc bedzie 16 lub 32 bitowy ...A co do OS i asma ..Widziałem OS'y pisane w Pascalu (DelphineOS) ,wiec wiem że jest to możliwe ...Asma także znam ,albo inaczej ,uczę się go jeszcze ,ale znam już podstawy ,które umożliwiają na napisanie takiego czegoś jak System Operacyjny ...Ogólnie plan działanie juz jest ,tylko właśnie ten dylemat ...Aha proszę mnie nie "zmuszać" do wchodzenia w tryb chroniony ,tylko dlatego bo jest lepszy ..Sam w niego wjadę jak będzie mi się chciało ,lub jak będę musiał przez pascala ...najpierw chce jeszcze nie bawić sie z GDT i innymi ,bo to mi tylko utrudnia prace ...Wolą Real Mode ,tak żeby pobawić się jeszcze normalnymi przerwaniami ...

 

 

Ale poco ja to piszę ,skoro DOS jest 16 bitowy i programy w fpc ,właśnie pod to wchodzą ...No ale nieważne dylemat to dylemat ,trzeba go rozwiązać w miarę dobry sposób ...

 

 

Czy pisze w niezrozumiały sposób ???

 

Proszę nie zadawać dziwnych ,wręcz głupich pytań ,które zniechęciły by mnie do pisania OS ...

 

 

Pozdrawiam miłych moderatorów (tych milczących też)

Pozdrawiam Tostera ,Ostatnio w TV jest o tym dużo (Patrz reklama banku ING)

 

I pozdrawiam również miłych i niemiłych userów ,którzy chcieli przeczytać do końca ten post ...

 

Dexarz

 

 

+5

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

Szukałem w googlach i tutaj przerażenie ...FPC jest w pełni 32 bitowym kompilatorem języka Pascal ...Fuj ....W takim razie spróbuje napisać kernel w Turbo Pascalu ,który jest 16 bitowy ...

 

 

Fuj ,Te linkery są zbyt głupie ....Kurcze gdzie w FPC można ustawić do jakiego formatu ma byc program ??No bo domyslnie wali wszystko pod *.exe ,a ja potrzebuje czysty kod binarny ...

 

 

 

A tak po za tym to coś to nie działa ...Zna ktos Kompilator 16 bitowy Pascal ,który zwraca czysty binarny kod ??Tzn żeby miał od razu rozszerzenie bin ???

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

Dzieki :) ...O Blind ,zmieniłeś avatar i teraz trudno rozpoznać ,że to ty ,czesio był spox ...

 

co do OS'a to jest pomysl ...Bootloader jest gotowy ,myślałem wiec ,aby napisać preloader (zostanie załadowany przez bootloader) ,który wchodzi w pmode ,a potem skacze do kodu w pascalu ,ale mam turbo pascal ,który jest 16 bitowy .

 

 

Blind ,skoro są do tego programy ,to znasz pewnie jak sie nazywa jeden z nich ...Pobrałem jakis PEinfo ,no i niby pokazuje ten nagłowek exe'ca ,przy czym coś to nie kasuje tego automatycznie ,i trzeba byłoby ręcznie ...Nie ma jakiś automatów ??? ...

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

O dzięki ...

 

Blind ,tak słyszałem o tym ,ale to już inna sprawa ...

 

Pytanie ,czy jeśli skorzystam jednak z FPC (panuje zrobic w przyszłosci przejście z tp na fpc) ,to czy mogę korzystać z takich rzeczy jak klasy ,obiekty itd ??Ogólnie ,czy mogę korzystać z obiektowości ???No bo mam napisany interpreter mojego języka skryptowego ,pisany w delphi ,ale można spokonie uzywać także w dosie (tym w windowsie)...no i nie wiem ..Delphi 32 bitowy ,wiec myślę że bedę musiał zamienić kod interpretera w 16 bitowy i skasować obiektowość ...

 

 

 

 

 

 

PS ...Jednym z powodów jakim chce zostać w trybie rzeczywistym to to że raczej na początku nie będę bawił się w ładowanie programów do pamieci ,więc i tak czy siak jestem bezpieczny ...Programy ,maja być właśnie w ASE2.0 (ten jezyk) ,więc nie martwie sie o bezpieczeństwo ,bo dostosuje język do systemu ...Oczywiście kiedyś zrobię obsługę tych oddzielnych programów ,ale bedzie to dopiero wtedy jak obcykam budowę HDD (chodzi o sektory itd) ,wtedy napisze bootloader na HDD i napiszę obsługę pamięci ...Póki co wystarczy mi 1.44 MB bo kody do skryptów w moim jezyku i tak zajmuja mało (zalezy od wielkosci kodu) ....

 

 

 

 

PS2 Nasunęło mi się pytanie ...Da radę zrobić w rmode obsługę sieci ???Ta żeby mozna wchodzić na neta ??

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

Aha ..ok ....

 

 

Te programy w pascalu są jakieś dziwne ...napisałem kod ,który zawiera jedynie begin end. i wiecie co ??Program skompilował mi kod ,który ma wielkość 1,5 KB !! Na 2 instrukcje ??Co za debilizm ,to już w asmie jest lepiej ...A do tego dochodzi jeszcze to ,że otworzyłem program w CFF Explorerze i program nawet nie wykrył formatu pliku ,tylko jakieś głupoty ,a jak próbowałem zdeassemblować ,to program wywalił z 1000 linijek i ciekawe poco ,skoro begin i end to elementy pascala ,które nie są jako tako kompilowane dosłownie ,tylko służą najwyżej do etykietowania i zrobienia porządku w kodzie pascalowym ... !!I teraz nagłówka nie da się skasować ...Co za dziwactwo ...

 

W FPC mam to samo ,czyżby wina Pascala ???No i przecież nie będę przepisywał kod z delphi na c ,bo to strata czasu ,dość ze nie znam się zbytnio w c ,to jeszcze kod interpretera ,nie jest krótki (z 2000 linijek będzię) ....Co tu wymyślać ....Albo ja coś zchrzaniłem ,albo komp robi sobie jajca ...

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

Cholera ze tez tacy debile na calym swiecie pisza takie glupie kompilatory ktore tyle bzdur robia. Kto to widzial aby taki prosty program ktory ma tylko Begin i end wczytywal do pamieci mapowania funkcji, alokowal stos, zwracal kod wyjscia, inicjowal rzeczy potrzebne do uruchomienia ewentualnego kodu ktorego przeciez nie ma pomiedzy begin i end. Ze juz o strukturze exe ktora musi przestrzegac nie wspomne... I to cale 1500 bajtow na to idzie, masakra...

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

No właśnie ,to jest głupie ,i jak tu mieć czysty kod ,bez "bajerów" ,jak taki kompilator nawali bzdur ...powinno być w opcjach możliwość zapisania tylko kodu w postaci binarnej ,a nie jakiś dodatki ...T o już C z tego co wiem ,ma kompilator ,który posiada funkcję kompilacji do pliku binarnego ...

 

 

 

PS. Nie wiem dlaczego ,ale mam podejrzenie ,że twój post Toster ,ma drugie znaczenie ,ukryte ...hmmm

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

Tzn ???Powód ??

 

 

Xevil ,nie nie ja przynajmniej nie robię sobie jaj ...

 

 

A tak poza tym ,to chyba już offtop sie robi ,ja wiem że TP jest 16 bitowy ,ale i tak nie nadaje się a OS ,A FPC tylko w pmode ...Zdecydowałem się więc na jedno ..Cały OS pisany w asmie ...I tak w pascalu ,byłyby wstawki asmowe więc .....

 

 

Temat Do zamkniecia ,no chyba że chcecie podyskutować o nonsensopedii ,tylko nie mieszajcie mnie w to ...

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

Co za ciota ze mnie ...Wrrr ,Blind ,wiesz że program automat do obcinania nagłówków exe jest w windowsie ??Nazywa się exe2bin i robi właśnie to o co mi chodziło ...Chodzi pod Dosem ,więc prawdopodobnie działa takze w wersji 16 bitowej ...Póki co mam już napisane w asmie OS z prostym shell'em ,więc już w tp nie będę się bawić ...może kiedyś w przyszłości ....

Aktualnie piszę 32 bitowy system operacyjny.

ASE2.0 100% ,DME (Dynamic Motion Engine) v2.0 10% ,32 bit PumaOS - 40%

Stick's Adventure 3 - 0%

Komp nr.1 AMD Duron 1,3 Ghz ,256 MB Ram DDR PC133 (na eBoostr mam jeszcze 1 GB) ,Nvidia GeForce FX 5500 256MB DDR

Komp nr.2 (laptop) AMD Athlon XP 2,0 Ghz , 192 MB Ram DDR PC2700 (na eBoostr mam jeszcze 3 GB) , Via S3 Unichrome IGP

Przykład programu w ASE2.0:

<?arg #CreateProcs; $i:?;

#For('$i,10,1,@Lab');@Lab;

#Sleep(100);

#Message("Ten komputer ulegnie autodestrukcji za $i sekund");

#Retf;

#Message('Dead'); arg?>

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...