Cau, Dovolil bych si nastolit 1. tema co se tyka proveditelnosti MZIXu: Jsou k dispozici odpovidajici vyvojove nastroje - bez nich by to prece neslo, ne? Potrebujeme minimalne: 1. Pro vyvoj MZIX samotneho : prekladac C + assembler 2. Pro preklad (popr. vyvoj) UNIXovskych aplikaci pro MZIX: prekladac C + prislusne nastroje potrebne pro vytvoreni binarky v urcitem formatu akceptovatelnem pro MZIX predpokladam, ze bysme pro oba dva ucely mohli pouzivat do znacne miry stejne vyvojove nastroje. S assemblery nebo cross-assemblery by nemely byt zadne problemy, zameril bych se na C prekladace. Pokud sahaji moje znalosti, tak mame na vyber z nasledujiciho: ============================================= 1. Hitech Z80 C cross-compiler ($$$) http://www.htsoft.com je to vyvojove prostredi (prekladac C, z80 assembler, linker) pod msdos pro vyvoj aplikaci na Z80. Dle meho nazoru nejpropracovanejsi a nejvice kompatibilni s ANSI-C z tech, co jsem nasel. Ma ale jednu (asi velkou, mozna neprekonatelnou) nevyhodu - je to komercni produkt. 2. Hitech CP/M C compiler http://www.htsoft.com varianta (1.) pro CPM. Hitech ji prestal podporovat a uvolnil jako free. Obsahuje podmnozinu funkcnosti (1.), ale stale je to (myslim) kvalitni reseni. 3. SDCC http://sdcc.sourceforge.net/ Small Device C Compiler - tvrdi o sobe, ze je ANSI C kompatibilni, jinak o nem zatim nic moc nevim. Open Source. 4. z88dk http://z88dk.sourceforge.net/ jde o OpenSource development kit pro Sinclair Z88 (postaven na z80, a o to nam jde). Jde o Small C+ a assembler/linker. Small C+ je subset ANSI C - jsou jista omezeni. Velmi uzitecna feature assembleru/linkeru je, ze umi vyprodukovat binarku s relokacni tabulkou - a to nejspis budeme potrebovat. Open Source. 5. ZCC ($$$) http://www.softools.com/ ma byt 100% ANSI C kompatibilni. Jinak o nem nic moc nevim, ale jsou na nej velmi dobre reference. Komercni produkt. 6. Lattice C ($$$) www.lattice.com opet ma byt 100% ANSI C kompatibilni. Opet komercni. ============================================= UZI byl prelozen pod Q/C Compilerem (o tom nic nevim) zatimco UZIX pod Hitech C (asi ta komercni cross-varianta) nebo Turbo C (Broland? o tom jsem taky nic nezjistil) Dovolil bych si tedy tvrdit, ze na urovni vyvojovych nastroju nebude nejaky fatalni problem. V teto fazi bych nechtel definitivne rozhodovat, co se vlastne skutecne pouzije, nechal bych na to jeste nejaky cas; mozna to bude nejaka kombinace vyse uvedenych. Doufam, ze bude mozno zustat ve svete free produktu. Co vy na to? Mate zkusenosti s nekterymi z uvedenych vyvojovych nastroju? Nebo vite o necem co jsem opomenul? Fuzzy
Celé vlákno · 10 zpráv
Re: MZIX-proveditelnost-vyvojove nastroje
Anonym SHARP MZ-800
Zdar, zhruba pred mesicem jsem hledal slusny C compiler, ktery by hodne pohodlne generoval kod pro MZ.. Chystal jsem se (a stale jsem to jeste nezavrhnul) preportovat Sarien na Sharpa... Vybiral jsem mezi SDCC a z88dk (oba volne dostupne) a zvolil z88dk. Ma v sobe implementovany zaklad LIBC pro CP/M, dokonce i pro MZ-700 (vcetne klavesnice), takze pripadny port zakladni LIBC do modu 800 by nemusel byt takovy problem. Ale narazil jsem.. z88dk nepodporuje dost veci, z hlavniho mi uvizlo v pameti: 1) adresace pomocí &proměnná (IMHO velmi závažné) 2) nemožnost vytváření statických polí uvnitř metod (lze obejít deklarací mimo metody, tj. nic důležitého) 3) žádná podpora vícerozměrných polí (lze obejít, nicméně trochu složitěji) Takže při překladu Sarienu jsem si hrál skoro s každým céčkovým souborem zvlášť a nebylo to nic povzbudivého. Nakonec jsem toho zhruba někde v půlce zanechal a odložil Sarien na neurčito. Takže moje stanoviska: - nepoužívat komerční C, aby bylo výsledné prostředí snadno kýmkoli překompilovatelné - poučit se ze z88dk, ale nepoužít ho jako primární C kompiler - zvolit LIBC, kterou budeme používat a najít céčko, kterým by šla přeložit. Vzhledem k tomu, že jako jediná pořádná LIBC mne napadá jen RedHat NewLib, začal bych s ní (o LIBC ze z88dk moc neuvažuji).. Možná se tedy jako jediná logická alternativa jeví SDCC.. Můžeme se na něj zkusit podívat.. Taky jsem se pral s GCC s patchi pro Z80. Kdyby se podařilo, jsme za vodou.. GCC + NewLib nám zpřístupní většinu zdrojáků pro konzolové ulitility z Linuxu (samozřejmě odhlížím od velikosti, tj. je možné, že se nám toho moc do paměti nevejde). Nehledě na C++ ;-)) Ale GCC prý umí dělat velmi kvalitní a optimalizovaný kód (není o moc horší než čistý kód psaný v assembleru), takže kdo ví.. Zatím jsem se dostal do 2. compile stage.. Kdyžtak budu informovat, pokud se mi podaří rozběhat funkční cross-platform GCC pro Z80.. tak později, Roman P.S.: FYI: Sarien je interpretr grafických adventur od Sierry - Leisure Suit Larry, Police Quest, King Quest, Space Quest a plno dalších.. Samozřejmě nevím, zda by se pracovní prostor Sarienu vešel do 64kB RAM Sharpa, ale možná to není úplně nereálné ;-) |---------+---------------------------> | | "Fuzzy | | | (sharpemupandor| | | a.cz)" | | | <martin.matyas | | | 18.09.2003 10:06| | | Odpovězte prosím| | | uživateli | | | "Konference | | | "Počítač SHARP | | | MZ-800 a | | | emulátory"" | | | | |---------+---------------------------> >------------------------------------------------------------------------------- ------------------------------------------------| | | | Komu: "Konference "Počítač SHARP MZ-800 a emulátory"" <sharpemupandora.cz> | | Kopie: | | Předmět: MZIX-proveditelnost-vyvojove nastroje | | | | | >------------------------------------------------------------------------------- ------------------------------------------------| Cau, Dovolil bych si nastolit 1. tema co se tyka proveditelnosti MZIXu: Jsou k dispozici odpovidajici vyvojove nastroje - bez nich by to prece neslo, ne? Potrebujeme minimalne: 1. Pro vyvoj MZIX samotneho : prekladac C + assembler 2. Pro preklad (popr. vyvoj) UNIXovskych aplikaci pro MZIX: prekladac C + prislusne nastroje potrebne pro vytvoreni binarky v urcitem formatu akceptovatelnem pro MZIX predpokladam, ze bysme pro oba dva ucely mohli pouzivat do znacne miry stejne vyvojove nastroje. S assemblery nebo cross-assemblery by nemely byt zadne problemy, zameril bych se na C prekladace. Pokud sahaji moje znalosti, tak mame na vyber z nasledujiciho: ============================================= 1. Hitech Z80 C cross-compiler ($$$) http://www.htsoft.com je to vyvojove prostredi (prekladac C, z80 assembler, linker) pod msdos pro vyvoj aplikaci na Z80. Dle meho nazoru nejpropracovanejsi a nejvice kompatibilni s ANSI-C z tech, co jsem nasel. Ma ale jednu (asi velkou, mozna neprekonatelnou) nevyhodu - je to komercni produkt. 2. Hitech CP/M C compiler http://www.htsoft.com varianta (1.) pro CPM. Hitech ji prestal podporovat a uvolnil jako free. Obsahuje podmnozinu funkcnosti (1.), ale stale je to (myslim) kvalitni reseni. 3. SDCC http://sdcc.sourceforge.net/ Small Device C Compiler - tvrdi o sobe, ze je ANSI C kompatibilni, jinak o nem zatim nic moc nevim. Open Source. 4. z88dk http://z88dk.sourceforge.net/ jde o OpenSource development kit pro Sinclair Z88 (postaven na z80, a o to nam jde). Jde o Small C+ a assembler/linker. Small C+ je subset ANSI C - jsou jista omezeni. Velmi uzitecna feature assembleru/linkeru je, ze umi vyprodukovat binarku s relokacni tabulkou - a to nejspis budeme potrebovat. Open Source. 5. ZCC ($$$) http://www.softools.com/ ma byt 100% ANSI C kompatibilni. Jinak o nem nic moc nevim, ale jsou na nej velmi dobre reference. Komercni produkt. 6. Lattice C ($$$) www.lattice.com opet ma byt 100% ANSI C kompatibilni. Opet komercni. ============================================= UZI byl prelozen pod Q/C Compilerem (o tom nic nevim) zatimco UZIX pod Hitech C (asi ta komercni cross-varianta) nebo Turbo C (Broland? o tom jsem taky nic nezjistil) Dovolil bych si tedy tvrdit, ze na urovni vyvojovych nastroju nebude nejaky fatalni problem. V teto fazi bych nechtel definitivne rozhodovat, co se vlastne skutecne pouzije, nechal bych na to jeste nejaky cas; mozna to bude nejaka kombinace vyse uvedenych. Doufam, ze bude mozno zustat ve svete free produktu. Co vy na to? Mate zkusenosti s nekterymi z uvedenych vyvojovych nastroju? Nebo vite o necem co jsem opomenul? Fuzzy --
Re: Re: MZIX-proveditelnost-vyvojove nastroje
Fuzzy SHARP MZ-800
Co se tyka LIBC: Dalsi varianta je LIBC od Hitechu, je to public domain a pouziva ho i UZIX. Komercni/nekomercni: Pokud to bude jen trochu mozne, tak samozrejme zvolime nekomercni vyvojove prostredi. Prekladac C: Jestli by se podarilo napatchovat GNU C pro Z80, tak by to bylo uplne super. Dal - pripominam, ze dost pouzitelna varianta je Hitech C pod CP/M. Da se s nim delat tak, ze se pro preklad vola z dos/win/linuxu pod emulatorem CP/M. Jinak dik za zkusenosti se z88dk. Me se tam libil ten linker, co umi generovat relokovatelny binarky. V tehle fazi bych navrhoval jeste nic nerozhodovat co se tyka vyvojovych nastroju, muzeme zkouset a zjistovat. Ale co si myslim ze muzeme rict - a snad se mnou, Romane, budes souhlasit - ze otazka vyvojovych nastroju je realne resitelna a nebude predstavovat neprekonatelny problem, a to by mel byt hlavni vysledek tehle diskuse v tomhle threadu. Kdo mate cas a chut, tak se please na nejake vyse uvedene free C compilery podivejte. Ja se zkusim podivat na SDCC. Fuzzy
Re: Re: MZIX-proveditelnost-vyvojove nastroje
Anonym SHARP MZ-800
Kdyby to slo hlasoval bych pro variantu Hitech C pod CP/M aby to nebylo zavisle na prekladacich pitomejch 16 a vicebitovych stroju kdyz stylovej OS pro 8-bit tak na stylovem C pro Z80. ale tohle neni racionalni duvod :-))) Petr
Zobrazit citovaný text (3 řádky)
> > Prekladac C: > Jestli by se podarilo napatchovat GNU C pro Z80, tak by to bylo uplne
super.
Zobrazit citovaný text (2 řádky)
> Dal - pripominam, ze dost pouzitelna varianta je Hitech C pod CP/M. > Da se s nim delat tak, ze se pro preklad vola z dos/win/linuxu pod
emulatorem CP/M.
Zobrazit citovaný text (2 řádky)
> > Jinak dik za zkusenosti se z88dk. Me se tam libil ten linker, co umi
generovat
Re: Re: MZIX-proveditelnost-vyvojove nastroje
Anonym SHARP MZ-800
Nemyslim, ze to je neracionalni duvod. Pokud budeme chtit plne funkcni Unix, mel by k nemu patrit i C compiler (integrovany v prostredi). Hitech C pod CP/M je, IMHO, kvalitni volba. Jen by byl problem v tom, ze nepodporuje adresarovou strukturu, coz by vyzadovalo u hodne zdrojaku praci navic.. Kdyby se nekomu nakonec podarilo naportovat GCC pro Z80, neni uplne vylouceno, ze by neslo prekompilovat primo GCC samo sebou, abychom ho měli přímo na Sharpu. Jen jeste takova zajimavost: Jestli jsem spravne cetl dokumentaci GCC, umi prekladany kod segmentovat do libovolne velkych kusu, ktere se mezi sebou volaji co nejmene. Pro prechod mezi nimi je volan system. Je tak mozne kompilovat libovolne velky kod, i kdyz umi samotná Z80 jen 64kB "paměťové okno". R.
Zobrazit citovaný text (1 řádek)
>Dne 18.09.2003 13:14:40 "miksovsky[doména skryta] (sharpemupandora.cz)"
napsal:
Zobrazit citovaný text (20 řádků)
> >Kdyby to slo hlasoval bych pro variantu Hitech C pod CP/M >aby to nebylo zavisle na prekladacich pitomejch 16 a vicebitovych stroju >kdyz stylovej OS pro 8-bit tak na stylovem C pro Z80. > >ale tohle neni racionalni duvod :-))) > >Petr > >> >> Prekladac C: >> Jestli by se podarilo napatchovat GNU C pro Z80, tak by to bylo uplne >super. >> Dal - pripominam, ze dost pouzitelna varianta je Hitech C pod CP/M. >> Da se s nim delat tak, ze se pro preklad vola z dos/win/linuxu pod >emulatorem CP/M. >> >> Jinak dik za zkusenosti se z88dk. Me se tam libil ten linker, co umi >generovat >
Re: Re: Re: MZIX-proveditelnost-vyvojove nastroje
Fuzzy SHARP MZ-800
C compiler v MZIXu by byl pekny, ale nebral bych to jako 'must' - cross-compilovat na jinem systemu se muze stejne dobre. Roman: Jak je to s tim GCC na z80: dela na tom nekdo, mas o tom nejake informace/odkazy? Fuzzy
Re: Re: MZIX-proveditelnost-vyvojove nastroje
Feri SHARP MZ-800
v poslednej dobe (cca 6 rokov) som neskusal C kompilatory, ani v unixe, ani v Z80 (kedysi davno som robil s Borlandom a DJCPP ako prve pokusy na UMZE). ale podla toho co som o C cital, udajne prve unixove C bolo pisane "sendvicovo" - jadro kompilatora cez assembler, akonahle bezal tak vsetky dalsie casti kompilatora C/samotneho unixu boli dopisovane a dokompilovavane v C. neslo by to takto nejako robit aj tu? tzn. jadro napisat v assembleri, a v prvom rade napisat chodivy C kompilator priamo v shelli, ktory by sa pouzil na pisanie dalsich utilit unixu (MZIXu). to len ako napad, mozno nepreveditelny, ale za uvahu (ked uz nie za pokus) to stoji, IMHO. Feri.
Re: Re: MZIX-proveditelnost-vyvojove nastroje
Feri SHARP MZ-800
este som zabudol: moj predchadzajuci prispevok bol ako reakcia na uvahu o pouziti CP/M kompilatora C. pripada mi to hlupe, pouzivat CP/M pre kompilaciu, ked sucastou unixu ma byt (by mal byt) aj C kompilator. Feri.
Re: Re: MZIX-proveditelnost-vyvojove nastroje
Anonym SHARP MZ-800
LIBC: O tom Hitechu jsem neslyšel, ale mohlo by to být ono. Samozřejmě je otázka, jak je to s podporou adresářových struktur a podobně. Mrknu se... Prekladac C: Na GCC se jeste podivam, to mi za to stoji ;-) Ale i to Hitech C nezni spatne! Pokud by bylo spustitelne primo z Linuxu, jsem v pohode. Nejak jsem si uz zvykl na komfortni editaci, takze bych chtel vyvijet v prostredi, ktere znam ;-) z88dk: Ono neni tak spatne. Kdyby se podarilo vyresit nejake mouchy, bylo by hodne pouzitelne.. Ten linker se mi taky libil, navic je hodne dobre citelny i ASM generovany z ceckoveho zdrojaku. Kazdopadne si taky nemyslim, ze bychom meli v teto fazi rozhodovat o pouziti vyvojovych nastroju - proste neco vyzkousime a uvidime ;-) Rozhodne souhlasim, ze nepujde o neprekonatelny problem.. R.
Zobrazit citovaný text (4 řádky)
>Dne 18.09.2003 13:01:25 "Fuzzy (sharpemupandora.cz)" napsal: > >Co se tyka LIBC: >Dalsi varianta je LIBC od Hitechu, je to public domain a pouziva ho i
UZIX.
Zobrazit citovaný text (3 řádky)
> >Komercni/nekomercni: >Pokud to bude jen trochu mozne, tak samozrejme zvolime nekomercni vyvojove
Zobrazit citovaný text (4 řádky)
>prostredi. > >Prekladac C: >Jestli by se podarilo napatchovat GNU C pro Z80, tak by to bylo uplne
super.
Zobrazit citovaný text (2 řádky)
>Dal - pripominam, ze dost pouzitelna varianta je Hitech C pod CP/M. >Da se s nim delat tak, ze se pro preklad vola z dos/win/linuxu pod
emulatorem
Zobrazit citovaný text (3 řádky)
>CP/M. > >Jinak dik za zkusenosti se z88dk. Me se tam libil ten linker, co umi
generovat
Zobrazit citovaný text (7 řádků)
>relokovatelny binarky. > >V tehle fazi bych navrhoval jeste nic nerozhodovat co se tyka vyvojovych >nastroju, >muzeme zkouset a zjistovat. > >Ale co si myslim ze muzeme rict - a snad se mnou, Romane, budes souhlasit
-
Zobrazit citovaný text (2 řádky)
>ze otazka vyvojovych nastroju je realne resitelna a nebude predstavovat >neprekonatelny problem, a to by mel byt hlavni vysledek tehle diskuse v
tomhle
Zobrazit citovaný text (3 řádky)
>threadu. > >Kdo mate cas a chut, tak se please na nejake vyse uvedene free C compilery
Zobrazit citovaný text (5 řádků)
>podivejte. >Ja se zkusim podivat na SDCC. > >Fuzzy >--
Re: Re: Re: MZIX-proveditelnost-vyvojove nastroje
Fuzzy SHARP MZ-800
Napsat C prekadac by byl velmi narocny projekt sam o sobe. Neni k tomu zadny duvod, kdyz mame jine moznosti - cross kompilace. Snad az budou aspon zaklady MZIXu, tak by tam nekdo mohl nejaky C prekladac portovat. Fuzzy