OldComp.cz http://oldcomp.cz/ |
|
Pascal/MT+ http://oldcomp.cz/viewtopic.php?f=113&t=8395 |
Stránka 1 z 3 |
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 [ 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
|
Autor: | vanthomas [ 01.04.2020, 08:04 ] |
Předmět příspěvku: | Re: Pascal/MT+ |
Vyzkoušeno na PMD - funguje Příloha:
|
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...
|
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 |
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:
|
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 . 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 ): 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 . 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 1 z 3 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |