OldComp.cz
http://oldcomp.cz/

Pascal/MT+
http://oldcomp.cz/viewtopic.php?f=113&t=8395
Stránka 13

Autor:  vanthomas [ 19.03.2020, 03:05 ]
Předmět příspěvku:  Pascal/MT+

Narazil jsem celkem náhodou na Pascal/MT+ https://winworldpc.com/product/pascal-mt/5x-cpm
Na rozdíl od Turbo Pascalu by to nemělo potřebovat Z80 - v manuálu píšou 8080/8085/Z80 a alespoň 48 Kb paměti.
Nezkoušel to někdo? Dává to docela naději, že by to mohlo chodit na PMD... Nebo třeba na NCB85.

Autor:  RaceSoft [ 19.03.2020, 09:30 ]
Předmět příspěvku:  Re: Pascal/MT+

Ahoj, někde jsem o něm zaslechl, když jsem sháněl programy pro svůj Stone64kb. Teď jsem si ho stáhl a nakopíroval do Stone a zkusil přeložit přiložený INDEXER.PAS - kompilace proběhla OK, slinkování též, výsledný program je funkční. Oproti klasickému Turbo Pascalu je ale nutné použít externí editor a po přeložení do mezikódu ještě slinkovat s knihovnou pascalu. Je tam sice parametr "A", který spustí linker automaticky, ale to mi nějak nefunguje. Pro 8080 je to jistě alternativa, ale na Z80 dám jistě přednost Turbo Pascalu. I při porovnání paměťových nároků mi Turbo vychází lépe 22544b Turba proti 16345b MTPascalu.

Petr

Přílohy:
MTPASCAL.png
MTPASCAL.png [ 26.47 KiB | Zobrazeno 12158 krát ]

Autor:  RaceSoft [ 20.03.2020, 16:14 ]
Předmět příspěvku:  Re: Pascal/MT+

Tak parametr $A vyřešen - ve starším manuálu jsem nalezl, že na disku musí být ještě soubor se stejným názvem jako je kompilovaný zdroják, ale s koncovkou .CMD, který obsahuje vlastní příkazové parametry pro linker - pak se vše přeloží a slinkuje "jedním tahem".

Petr

Přílohy:
LinkerMT.png
LinkerMT.png [ 20.57 KiB | Zobrazeno 12092 krát ]

Autor:  vanthomas [ 01.04.2020, 08:04 ]
Předmět příspěvku:  Re: Pascal/MT+

Vyzkoušeno na PMD - funguje :)
Příloha:
placal_pmd.jpg
placal_pmd.jpg [ 59.47 KiB | Zobrazeno 11799 krát ]

Autor:  vanthomas [ 01.04.2020, 11:38 ]
Předmět příspěvku:  Re: Pascal/MT+

Hodně pročištěná PMD disketa se vším nezbytným. Compiler, linker, chybové hlášky, knihovny... Nechal jsem tam i zmíněný indexer, ať je co kompilovat na zkoušku.
Ale určitě doporučuju stáhnout si to celé, na těch třech disketách je toho mnohem víc...

Přílohy:
pascal_mtplus.zip [159.19 KiB]
486 krát

Autor:  Czech Human [ 01.04.2020, 12:09 ]
Předmět příspěvku:  Re: Pascal/MT+

No bezva, další jazyk na PMD 85, jsem všema deseti pro :beer:

Autor:  vanthomas [ 02.04.2020, 05:51 ]
Předmět příspěvku:  Re: Pascal/MT+

Pro zajímavost jeden pokus. Někde jsem zcizil tuhle variaci na Eratosthena:
Kód:
program Prvocisla;
const MAX_N = 10000;
var
    n, i, nasobek, a: integer;
    sito: array[2..MAX_N] of boolean;
begin
    writeln('Program vypise prvocisla');
    writeln('do zadane hodnoty N <= ', MAX_N);
    write('Zadejte kladne cele cislo N: ');
    readln(n);
 
    if (n > 0) and (n <= MAX_N) then
    begin
        for i := 2 to n do
            sito[i] := true;
        for i := 2 to n do
        begin
            if sito[i] then
            begin
                nasobek := 2 * i;
                while nasobek <= n do
                begin
                    sito[nasobek] := false;
                    nasobek := nasobek + i;
                end;
            end
        end;
       
        a:=0;     
        for i:=2 to n do
        begin
            if (sito[i]) then
               a:=a+1;
        end;         
         
        writeln('Prvocisel je: ', a);
        write('Prvocisla jsou: ');
        for i := 2 to n do
        begin
            if (sito[i]) then
                write(i, ' ');
        end;
    end;
end.

Pro N=10000 proběhne první cyklus za 7 vteřin, pak začne výpis. Proti basicu je to asi trochu rychlejší :)

edit: upravená verze nejdřív napíše počet nalezených prvočísel

Autor:  RaceSoft [ 02.04.2020, 07:50 ]
Předmět příspěvku:  Re: Pascal/MT+

Ahoj, nedalo mi to a program jsem vyzkoušel jak v MT+ tak i na Turbu. Výpočet cca nastejno (okolo 0,5 sec - těžko přesněji rozlišit ;) ), možná subjektivně o něco rychlejší Turbo :?: , výpis výrazně svižnější ve prospěch Turba. Vzhled výsledku na obrazovce (formátování) je naprosto identické. Procesor je Z80 na 4MHz, sériová linka do terminálu 115.2kbps.

Petr

Autor:  vanthomas [ 02.04.2020, 08:08 ]
Předmět příspěvku:  Re: Pascal/MT+

Máš to trochu rychlejší než bobo na 2,048 :)
Ještě mě ale zaujala jedna věc, Turbo Pascal moc osahaný nemám, ale co jsem zkoušel, tak chyby to hlásilo stylem: "chyba na řádku číslo:" a hledej...
MTplus umí být docela ukecaný. Zapomenutý středník:
Příloha:
pascal_mt_chyba.jpg
pascal_mt_chyba.jpg [ 115.27 KiB | Zobrazeno 11659 krát ]

Autor:  RaceSoft [ 02.04.2020, 08:49 ]
Předmět příspěvku:  Re: Pascal/MT+

Záleží, jestli si necháš při spuštění načíst chybové hlášky. Pak je ukecaný taky (za cenu asi 1,25kb RAM). Při kompilaci vyplivne číslo a popis chyby a čeká na stisk <Esc>. Po jeho stisku skočí do editoru přímo na místo, kde se chyba při kompilaci vyskytla.

V již zkompilovaném a spuštěném programu mimo prostředí Turba (souboru .com) umí z adresy/čísla chyby dohledat místo vzniku chyby ve zdrojáku - volba "Find run-time error" ve volbě "compiler Options".

Ještě jsem koukal na velikost výsledného kódu a Turbo má 12k a MT+ 20k ;) , což je docela rozdíl... Je ale pravdou, že MT+ je cca rok 1981 a Turbo 1985.

Petr

Autor:  hynek [ 02.04.2020, 09:09 ]
Předmět příspěvku:  Re: Pascal/MT+

RaceSoft píše:
Ještě jsem koukal na velikost výsledného kódu a Turbo má 12k a MT+ 20k ;) , což je docela rozdíl... Je ale pravdou, že MT+ je cca rok 1981 a Turbo 1985.

Nemuze to byt i tim, ze MT+ pouziva instrukce 8080, kdezto TP pouziva Z80, takze nektere konstrukce potrebuji mene instrukci?

Autor:  Czech Human [ 02.04.2020, 09:39 ]
Předmět příspěvku:  Re: Pascal/MT+

Protože Pascal neznám tak jaké možnosti má s PMD? Je možné používat grafiku, komunikovat s porty apod. ve stylu Basicu G nebo bez přímého dotazování na nejnižší úrovni a vlastních rutinek máte smolíka? Když to je taková CP/M konverze. Ideální by jestli je to užránek bylo PP-01 se stránkováním RAM :-).

Autor:  vanthomas [ 02.04.2020, 10:17 ]
Předmět příspěvku:  Re: Pascal/MT+

Na grafiku bez assembleru zapomeň :) Nahoře máš odkaz na stažení, kde jsou i manuály, tam najdeš nejvíc... Knihoven je k tomu spousta, koukal jsem že je tam i něco k AMD9511, ale bez úprav to bude chodit těžko...

Autor:  RaceSoft [ 02.04.2020, 10:32 ]
Předmět příspěvku:  Re: Pascal/MT+

ad velikost kódu: MT+ si v sobě při kompilaci pravděpodobně vytváří místo pro uživatelem definované proměnné (v programu jsou velké "díry" obsazené hodnotou 000h - kousek od začátku je skoro 3k takových nul) nebo má přilinkované věci, které nepotřebuje. Turbo si paměť asi alokuje až při vlastním běhu programu - v něm žádné "díry" nejsou. Ale to nevím určitě, je to jen moje spekulace :D . A nemyslím si, že rozdíl v délce programu pro 8080A a Z80A by byl až tak propastný...

ad grafika: nevím, jak je na tom s grafikou Pascal přímo pro PMD z ROM modulu, ale pod CP/M grafika fungovat nebude, protože CP/M je znakově (textově, terminálově) orientovaný OS a BIOS v sobě nemá obsluhu grafických příkazů zabudovanou.

ad rychlost běhu: v předchozím příspěvku jsem trochu mystifikoval: v zadání jsem přehlédl jednu "0" a zpracovával jen 1000 prvočísel. Teď jsem to přeměřil znovu pro 10k čísel a výsledky jsou cca takovéto (měřeno na stopkách telefonu :lol: ):
MT+: vlastní výpočet cca 4 sekundy, výpočet s výpisem prvočísel cca 14.5 sekundy
Turbo: vlastní výpočet těsně pod 4 sekundy, výpočet s výpisem necelých 6 sekund.

Petr

Autor:  Czech Human [ 02.04.2020, 10:56 ]
Předmět příspěvku:  Re: Pascal/MT+

Já si hned myslel že to nebude žádná sláva, ale radši se zeptám u zdroje, žejo :-). Teď v dohledné době se budu ještě věnovat Dámě, která díky plotru a dostupnosti jen jednoho vývojáře "usnula" ale pak se na to rád podívám, Pascal se naučit neškodí a Am9511 je lahůdka, která se k PMD prostě musí dát připojit, kor když už mám jak to FPU, tak funkční i8238 :jump:.

Ad ta velikost programu - mám teorii že v roce 1981 asi bylo výhodnější binárku rovnou natáhnout na maximální velikost aby se nestalo že ji na nějakém 16k stroji sice napíšete a slavně skompilujete, ale pak na prezentaci ještě slavněji zhavaruje. Je to takhle nejbezpečnější. Poté v polovině 80.let už bylo u 8bitů paměti dost, obvykle ne méně než 64kB a profi svět se přehoupl k 16 a 32bitům, tak se to nemuselo tak řešit.

Stránka 13 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/