OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 17:50

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 34 ]  Přejít na stránku 1, 2, 3  Další
Autor Zpráva
 Předmět příspěvku: Pascal/MT+
PříspěvekNapsal: 19.03.2020, 03:05 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2570
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
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.

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 19.03.2020, 09:30 
Offline
Profík

Registrován: 06.03.2018, 16:00
Příspěvky: 955
Bydliště: Valtínov, Kunžak
Has thanked: 39 times
Been thanked: 471 times
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 12036 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 20.03.2020, 16:14 
Offline
Profík

Registrován: 06.03.2018, 16:00
Příspěvky: 955
Bydliště: Valtínov, Kunžak
Has thanked: 39 times
Been thanked: 471 times
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 11970 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 01.04.2020, 08:04 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2570
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
Vyzkoušeno na PMD - funguje :)
Příloha:
placal_pmd.jpg
placal_pmd.jpg [ 59.47 KiB | Zobrazeno 11677 krát ]

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 01.04.2020, 11:38 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2570
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
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]
481 krát

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 01.04.2020, 12:09 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
No bezva, další jazyk na PMD 85, jsem všema deseti pro :beer:


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 05:51 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2570
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
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

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500


Naposledy upravil vanthomas dne 02.04.2020, 08:42, celkově upraveno 2

Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 07:50 
Offline
Profík

Registrován: 06.03.2018, 16:00
Příspěvky: 955
Bydliště: Valtínov, Kunžak
Has thanked: 39 times
Been thanked: 471 times
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


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 08:08 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2570
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
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 11537 krát ]

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 08:49 
Offline
Profík

Registrován: 06.03.2018, 16:00
Příspěvky: 955
Bydliště: Valtínov, Kunžak
Has thanked: 39 times
Been thanked: 471 times
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


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 09:09 
Offline
Kecálek

Registrován: 07.05.2014, 12:10
Příspěvky: 197
Bydliště: Jbc
Has thanked: 0 time
Been thanked: 39 times
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?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 09:39 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
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 :-).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 10:17 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2570
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
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...

_________________
ZX80, ZX81, ZX Spectrum, ZX Spectrum +2, Didaktik M, PMD 85-1,2A,3, Olivetti Prodest PC 128, Acorn BBC Micro, PC-XT, Amiga 500


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 10:32 
Offline
Profík

Registrován: 06.03.2018, 16:00
Příspěvky: 955
Bydliště: Valtínov, Kunžak
Has thanked: 39 times
Been thanked: 471 times
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


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 10:56 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
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.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 34 ]  Přejít na stránku 1, 2, 3  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 5 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz