Hírek | Archívum | Fórum | IRC | Amiga | AmigaOS | FAQ | RSS

 - Fórumok - Keresés - Statisztika - Szabályzat - Pegasos.hu fórum
forum.amigaspirit.hu / Fejlesztés / Free Pascal Compiler (classic és OS4 is)
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . 11 . >>
Szerző Üzenet
Awe
Tag

# Elküldve: 2019. Jan. 30. 10:08


Tudna valaki részletes leírást adni, hogyan kell a Lazarust beállítani Linux alatt úgy, hogy m68k-amiga célt fordítson? A google eddig nem igazás segített, mert az ott talált leírások nekem nem működtek.

Chain-Q
Divatamigás

# Elküldve: 2019. Jan. 30. 14:47 - Szerkesztve: charlie


Én nem értem mi ebben a bonyolult, mert kb. ugyanaz mint command line-ból, nagyjábol 3-4 paraméter kell hozzá, amit meg kell tanítani Lazarusnak, ami ugyanúgy meghívja csak a fordítót mintha te tennéd.

De írtam egy ilyet:

http://wiki.amigaspirit.hu/index.php/Setting_up_Lazarus_IDE_for_Amiga_Crosscompiling

Most tesztelve Lazarus 2.0 RC3-on és macOS-en, de kb. Linux vagy Windows alól is ugyanúgy működik.

Awe
Tag

# Elküldve: 2019. Jan. 30. 15:18


Remek, már látom mit hagytam ki. Köszi!

Awe
Tag

# Elküldve: 2019. Jan. 30. 17:51


A "Hello world!" program elég nagyra fordítódott. több mint 300k. Gondolom ez az ára annak, hogy teljesen rendszerbarát.

Chain-Q
Divatamigás

# Elküldve: 2019. Jan. 31. 11:10 - Szerkesztve: charlie


A leirasomban az is latszik, hogy az en hello worldom 39K. :) A Viaduct, ami egy komplett app es FPC-ben van, es 3 subthreadet futtat, az kevesebb mint 64K...

Szoval nem, nem az az ara... Az van, hogy kelloen fejlett assembler es linker tamogatas nelkul (ami a 3.0.x-ben meg nincs benne), a jovo hetet is statikusan belinkeli a cucc az exe-be. Emiatt lehet h. a hello world 300K, de vegul az appod sem lesz sokkal nagyobb (ill. igen, ha sok unitot hasznalsz, mert minden 1:1-ben bekerul a vegleges exe-be). A 3.2.x/3.3.x-ben mar van ra tamogatas, hogy csak a szukseges dolgok keruljenek vegul a cuccba, de ehhez vlink/vasm kell, es a megfelelo parameterek.

Eloszor is, melyik verziot hasznalod? A 3.0.x-et vagy a 3.2.x/3.3.x-et? Ezen kivul, GNU AS/LD-vel, vagy vasm/vlink-kel forditassz?

Awe
Tag

# Elküldve: 2019. Jan. 31. 18:28


FPC 3.3.1 -et használok. A vasm nálam nem megy, mert valami hiba üzenettel leáll. A GNU AS 2.14 fordít.

Chain-Q
Divatamigás

# Elküldve: 2019. Jan. 31. 22:35 - Szerkesztve: charlie


Ha megirnad a "valami hiba uzenet"-et, esetleg meg segiteni is tudnek? :) Ill. hogy milyen vasm verziot hasznalsz. A GNU AS-sel forditott objektumok a.out formatumuak, amiben osszesen 1db kodszegmens van, igy a linker nem tudja kivalogatni h. mi az ami valoban hasznalt belole. Szoval a problemad ebbol fakad.

Awe
Tag

# Elküldve: 2019. Feb. 01. 15:32


Jövő héten megnézem, hogy mit ír ki hibaként. A munkahelyi gépemen van ezért csak hétfőn tudom megnézni.
Kérdés: A binutils -ból az FPC -nek csak az assembler és a linker kell?

Chain-Q
Divatamigás

# Elküldve: 2019. Feb. 01. 16:16 - Szerkesztve: charlie


Igen, csak az kell. Egyebkent elofordulhat, hogy frissebb vlink/vasm kell, ha regebben forditottad. Hasznalunk nehany ficsort a legfrissebbol, es egy par bugfix is bekerult a keresunkre.

Szerk: ja es sajnos a bebbo-fele meg ujabb binutils se jo, mert elf objektek es named sectionok tamogatasa helyett inkabb visszatakolta a binutilsba a classic-Amiga fele nativ objektek tamogatasat, ami egyreszt bizonyos usecase-ekhez ertheto, masreszt meg lehetetlenne teszi az ilyesmi link-ideju meretoptimalizalast. Szoval csak vasm/vlink jo, sajnos.

(Amig be nem fejezem az FPC nativ linkeret, mindjart kesz mar majdnem elkezdtem...)

Awe
Tag

# Elküldve: 2019. Feb. 04. 10:21


vasm 1.8d (c) in 2002-2018 Volker Barthelmann
vasm M68k/CPU32/ColdFire cpu backend 2.3c (c) 2002-2018 Frank Wille
vasm motorola syntax module 3.11d (c) 2002-2018 Frank Wille
vasm test output module 1.0 (c) 2002 Volker Barthelmann



project1.lpr(5,25) Error: Error while assembling exitcode 1

Chain-Q
Divatamigás

# Elküldve: 2019. Feb. 04. 13:25 - Szerkesztve: charlie


Hat, ami biztosan nemjo, hogy Motorola szintaxis frontenddel van forditva a VASM, viszont a Free Pascal a "standard" szintaxist ir az asm fajlba (azaz azonost mint a GNU AS).

A helyes assemblerhez a VASM-ot igy kell leforditani:

make CPU=m68k SYNTAX=std

Ezutan kapsz egy vasmm68k_std nevu fajlt, aminek az elinditasakor valami ilyesmit kene latnod:

vasm 1.8e (c) in 2002-2018 Volker Barthelmann
vasm M68k/CPU32/ColdFire cpu backend 2.3c (c) 2002-2018 Frank Wille
vasm std syntax module 5.1d (c) 2002-2018 Volker Barthelmann
vasm test output module 1.0 (c) 2002 Volker Barthelmann

Mint latszik, ez az std syntax modullal van forditva, ez kell az FPC-nek. Az hogy atnevezed a vasmm68k_mot fajlt, ami a Motorola szintaxissal valo forditaskor keletkezik nem palya. :)

Honnet szedted azt a vasm-ot? Sajat forditas, vagy valami csomag rakta fel?

Szerk: egyebkent most rajottem, hogy ez, marmint hogy standard szintaxisu VASM kell az FPC-nek, nincs dokumentalva. Szoval meg is teszem.

Szerk #2: Dokumentalva itt: http://wiki.freepascal.org/Amiga#Assembler

Awe
Tag

# Elküldve: 2019. Feb. 04. 14:08


Projekt fordítása, OS: amiga, CPU: m68k, Cél: Teszt: Kilépési kód: 1, Hibák: 1
Free Pascal Compiler version 3.3.1 [2019/01/29] for m68k
Copyright (c) 1993-2018 by Florian Klaempfl and others
Target OS: Commodore Amiga
Compiling project1.lpr
Assembling project1
/home/awe74/Projects/Amiga/lib/m68k-amiga/project1.o: file not recognized: File format not recognized
Linking /home/awe74/Projects/Amiga/Teszt
project1.lpr(5,25) Error: Error while linking


vlink V0.16a (c)1997-2017 by Frank Wille
build date: Jan 24 2019, 13:47:52

Chain-Q
Divatamigás

# Elküldve: 2019. Feb. 04. 14:20


Mit ad vissza a "file /home/awe74/Projects/Amiga/lib/m68k-amiga/project1.o:" parancs?

Awe
Tag

# Elküldve: 2019. Feb. 04. 14:37


/home/awe74/Projects/Amiga/lib/m68k-amiga/project1.o: ELF 32-bit MSB relocatable, Motorola m68k, 68020, version 1 (SYSV), not stripped

Chain-Q
Divatamigás

# Elküldve: 2019. Feb. 04. 16:32 - Szerkesztve: charlie


Akkor az van, hogy nem vlink-kel akar linkelni, hanem GNU LD-vel, ami meg csak a.out modulokat hajlando kezelni Amigahoz.

Szoval, eloszor is az -XV opciot kell megadni a Lazarusban (ahogy a leirasomban ez szerepel is), mert ez most baromira a GNU ld-t hivogatja, szvsz...

Masreszt meg, gondolom mivel eddig mukodott GNU as/ld-vel, a komplett FPC amit hasznalsz is GNU as/ld-vel lett forditva, igy sajnos mindent ujra kell forditani, mert a meglevo objektumok az RTL-ben meg mindenhol is GNU as-sel vannak forditva, ergo hiaba a vlink, attol meg ugyanugy lonagyok lesznek vegul a binarisok (ugye az assembler fuz ossze mindent egy szekcioba, onnantol meg a linker mar tehetetlen). :(

Ha nincs meg az FPC keresztforditas, az SVN trunk gyokerebol igy:

make crossall crossinstall OS_TARGET=amiga CPU_TARGET=m68k CROSSOPT="-XV -Avasm" INSTALL_DEST=<ide_tedd_az_fpc-t>

A lenyeg a CROSSOPT= szekcioban van. Igy az FPC build-rendszere is a vasm/vlink-re fog valtani az RTL es a csomagok buildolasakor. Persze a vlink/vasmm68k_std-nek ilyenkor a PATH-ban kell lenni, vagy az -FD parametert kell ugyanugy megadni a CROSSOPT=-ban, mint a Lazarusban. Ja es megegy szivas van, hogy valszeg a keresztforditas miatt ele fogja fuzni a vlink/vasm binarisoknak hogy m68k-amiga- ... Szoval csinalj egy symlinket vagy valamit m68k-amiga-vlink neven a vlinkre, es ugyanugy a m68k-amiga-vasmm68k_std neven a vasmm68k_std-re is...

Nagyon bonyi? :P Az egesz forditas amugy 2-3 percig tart egy atlagos gepen, szoval nem kell tole felni, nem 30 perces muvelet mint GCC-nel.

Szerk: amugy most nezem, a vasm/vlink-kel valo forditas a wikiben is dokumentalt mar. ;) Lehet h. nem tul egyertelmuen van fogalmazva, majd megprobalok valamit okozni...

Awe
Tag

# Elküldve: 2019. Feb. 05. 08:48


Nagyon szépen köszönöm a segítséget. majd megírom mire jutottam.

Awe
Tag

# Elküldve: 2019. Feb. 05. 11:27


Most működik, mind a kétfajta fordítóval és linkerrel.
A GNU 305Kb-os, a vasm+vlink 206Kb-os exét fordít debug infók nélkül.

Chain-Q
Divatamigás

# Elküldve: 2019. Feb. 05. 12:59 - Szerkesztve: charlie


Igen, a vlink 206k-s exe-t fog forditani, ha a GNU AS-sel forditott runtime libet hasznalod, mert mint irtam, abban csak egy osszefuzott kodszekcio van, ergo a linker nem tudja kivalogatni h. mi kell belole tenyleg.

Szerk: Esetleg ha megis a vlink-kel forditott RTL-tol lesz nagy, megprobalkozhatsz meg a Lazarus projektedben a -XX -CX parameterek hasznalataval, ami bekapcsolja a "smartlinking"-et. Nalam lehet h. ez bentvan alapbol valami fpc.cfg-ben, nem emlekszem.

Chain-Q
Divatamigás

# Elküldve: 2019. Már. 03. 23:14


Free Pascal MacroSystem Draco-n:

https://blog.alb42.de/2019/03/02/taming-my-dragon

Yellow Dog
Tag

# Elküldve: 2019. Már. 04. 10:43


Csak lesek, miket írogattok, egy szót sem értek az egészből, talán az "RTL" amit ismerek, igaz nem szoktam nézni ;-) :-D

Chain-Q
Divatamigás

# Elküldve: 2019. Jún. 01. 00:44


Alb42 mar megint akcioban.

Most eppen egy LibreOffice file viewert csinal... Free Pascalban, MUI-val, mukodik barmely Amiga rendszeren:

https://blog.alb42.de/2019/05/31/libreoffice-amiga/

dh1
Mr. DTP

# Elküldve: 2019. Jún. 02. 03:48


jol latom, hogy Alb42 OS4 themet hasznal MOS alatt? :)

Chain-Q
Divatamigás

# Elküldve: 2019. Jún. 02. 13:25


Nem?

Chain-Q
Divatamigás

# Elküldve: 2019. Jún. 10. 14:54


Alb42 tovabb fejleszt:

- most mar XLS/XLSX (Excel) es TurboCalc allomanyokat is betolt(!)
- ODS-t menteni is tud(!!!)
- a cellakat szerkeszteni is lehet
- fuggvenyeket es cella-kepleteket is tamogat, bar meg nem teljes a support

Reszletek a blogjan, ahonnan a Leu nevre keresztelt cucc legujabb verzioja le is toltheto:

https://blog.alb42.de/2019/06/08/libre-turbocalc/
https://blog.alb42.de/2019/06/02/why-just-view-if-you-can-edit/
https://blog.alb42.de/2019/06/02/its-a-leu/

Yellow Dog
Tag

# Elküldve: 2020. Feb. 20. 15:14


Jól értelmezem, hogy ez a bizonyos "Lazarus" fut Windows-on is, és fordít 68k-t...?

Chain-Q
Divatamigás

# Elküldve: 2020. Feb. 23. 11:37


@Yellow Dog:

A Lazarus nem fordit semmit sehova, az csak egy IDE (integralt fejlesztoi kornyezet) ami a Free Pascalra epul (ertsd: konkretan meghivja a parancssoros FPC-t neked maga alatt). De igen, barmelyik keresztforditot be lehet ala masszirozni, akar az Amiga-68k-t is. Mintha Alb42-ne lett volna olyan konfigja Lazarushoz, ami "kulcsrakeszen" integralta az Amiga forditot, de lehet h. az Linuxos volt, nem emlekszem.

Yellow Dog
Tag

# Elküldve: 2020. Feb. 23. 12:41


Quoting: charlie
Lazarus nem fordit semmit sehova, az csak egy IDE

Igen, természetesen így gondoltam, elnézést a téves fogalmazásért, köszönöm az infót.

Chain-Q
Divatamigás

# Elküldve: 2020. Ápr. 06. 22:03 - Szerkesztve: charlie


Öö, szóval az van, hogy Alb42 már egyszer korábban ezt megcsinálta, de aztán valahol elhagytuk a kódot, és sosem volt rendesen az SVN-ben integrálva, demost! Lett Kickstart 1.3-at támogató gyári Free Pascal (jórészt általam), szóval lett forgó kocka A500-ra is. :D

https://twitter.com/chainq/status/1247248848109658112

v33+-on elindul minden (ha úgy van fordítva a runtime lib, hogy ne használjon újabb cuccokat), szóval OS1.2+. De ígyis megvannak a Free Pascal advanced fícsörök, vagyis felszabadítja a memóriát kilépéskor, és lezárja a nyitott fájlokat, saját stacket tud foglani, egy csomó kényelmi függvény van, stb.

Yellow Dog, mikor kezded el átírni a waréd valami rendes programozási nyelvbe? :P

Yellow Dog
Tag

# Elküldve: 2020. Ápr. 07. 10:43


Quoting: charlie
mikor kezded el átírni a waréd valami rendes programozási nyelvbe? :P

Őszinte leszek, már elgondolkodtam rajta, legelőször, amikor megosztottad jó múltkor a "most éppen nem találom" forrásod, és én meg le C-ztem ;-) Utólag is elnézést kérek ismételten emiatt. Egész olvasható volt, nem úgy mint a C... amivel ma sem tudok azonosulni. Viszont az asm-ot így leszólni, hát az mi, ha nem rendes (az igazi) nyelv? :-D Arról nem beszélve, jelenleg vasm-al nyomom, űűűber-gyors, csak leütöm az Entert és már kész is a kód, indulhat is a WinUAE alatt , amit szintén Te ajánlottál ;-) Viccet félretéve, eléggé előrehaladott a dolog, most már befejezem assembly-ben addig amíg az alap funkciók működnek. Már csak a sebesség miatt is, kíváncsi vagyok mit lehet gépikódból kihozni... Ezt követően nem mondom, hogy nem próbálkozom meg áttenni egy, vagyis az egyetlen rendes programozási nyelvre, de ahhoz segítened kell, már most szólok előre! ;-)

Quoting: charlie
v33+-on elindul minden (ha úgy van fordítva a runtime lib, hogy ne használjon újabb cuccokat), szóval OS1.2+

Ez nagyon jól hangzik :-)

Yellow Dog
Tag

# Elküldve: 2020. Ápr. 07. 17:34 - Szerkesztve: yellowdog


Quoting: charlie
lett forgó kocka A500-ra is

Ez volt az én egyik első próbálkozásom is A500 időszakban, miután megkaptam a gépet és szétjátszottuk magunkat. Igaz nekem csak vízszintesen lehetett forgatni, viszont állítható volt a mélysége, és sima AmigaBASIC-ben készült :-) Jó újra látni :-)

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . 11 . >>
forum.amigaspirit.hu / Fejlesztés / Free Pascal Compiler (classic és OS4 is)
 
 

Powered by easy forum software miniBB™ © 2001-2020