Konference: Počítač SHARP MZ-800 a emulátory

Od: Anonym
Datum: 18.9.2003 09:47
Předmět: Re: MZIX-proveditelnost-vyvojove nastroje


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          |
|         |           (sharpemu tu byla ta zakroucena vec pandor|
|         |           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""
<sharpemu tu byla ta zakroucena vec pandora.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
--






Ostatní příspěvky vlákna:

 
[2003/1 (22)] [2003/2 (25)] [2003/3 (14)] [2003/4 (20)] [2003/5 (73)] [2003/6 (108)] [2003/7 (88)] [2003/8 (81)] [2003/9 (146)] [2003/10 (60)] [2003/11 (12)] [2003/12 (5)]


[1999 (1)] [2000 (168)] [2001 (733)] [2002 (459)] [2003 (654)] [2004 (224)] [2005 (105)] [2006 (182)] [2007 (201)] [2008 (294)] [2009 (363)] [2010 (782)] [2011 (522)] [2012 (642)] [2013 (442)]