Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Anonym Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR><pre>
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í &amp;proměnná (IMHO velmi závažné)
2) nemožnost vytváření statických polí uvnitř metod (lze obejít
<img src="BODY_IMAGES_WRAP_GIF"> deklarací
mimo metody, tj. nic důležitého)
3) žádná podpora vícerozměrných polí (lze obejít, nicméně trochu
<img src="BODY_IMAGES_WRAP_GIF">složitěji)

  Takže při překladu Sarienu jsem si hrál skoro s každým céčkovým
<img src="BODY_IMAGES_WRAP_GIF">souborem
zvlášť a nebylo to nic povzbudivého. Nakonec jsem toho zhruba někde v
<img src="BODY_IMAGES_WRAP_GIF">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
<img src="BODY_IMAGES_WRAP_GIF">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
<img src="BODY_IMAGES_WRAP_GIF">se
nám toho moc do paměti nevejde). Nehledě na C++ ;-)) Ale GCC prý umí
<img src="BODY_IMAGES_WRAP_GIF">dělat
velmi kvalitní a optimalizovaný kód (není o moc horší než čistý kód
<img src="BODY_IMAGES_WRAP_GIF">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é ;-)



|---------+---------------------------&gt;
|         |           &quot;Fuzzy          |
|         |           (sharpemu@pandor|
|         |           a.cz)&quot;          |
|         |           &lt;martin.matyas  |
|         |           18.09.2003 10:06|
|         |           Odpovězte prosím|
|         |           uživateli       |
|         |           &quot;Konference     |
|         |           &quot;Počítač SHARP  |
|         |           MZ-800 a        |
|         |           emulátory&quot;&quot;     |
|         |                           |
|---------+---------------------------&gt;
 
<img src="BODY_IMAGES_WRAP_GIF"><span class="replyquote1">&gt;-------------------------------------------------------------------------------
<img src="BODY_IMAGES_WRAP_GIF">------------------------------------------------|
</span>  |                                                                             
<img src="BODY_IMAGES_WRAP_GIF">|
  |        Komu:    &quot;Konference &quot;Počítač SHARP MZ-800 a emulátory&quot;&quot;
<img src="BODY_IMAGES_WRAP_GIF">&lt;sharpemu@pandora.cz&gt;                                         |
  |        Kopie:                                                               
<img src="BODY_IMAGES_WRAP_GIF">|
  |        Předmět: MZIX-proveditelnost-vyvojove nastroje                     
<img src="BODY_IMAGES_WRAP_GIF">|
  |                                                                             
<img src="BODY_IMAGES_WRAP_GIF">|
  |                                                                             
<img src="BODY_IMAGES_WRAP_GIF">|
 
<img src="BODY_IMAGES_WRAP_GIF"><span class="replyquote1">&gt;-------------------------------------------------------------------------------
<img src="BODY_IMAGES_WRAP_GIF">------------------------------------------------|
</span>



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
--





</pre>