OldComp.cz

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


Právě je 29.03.2024, 14:11

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 Předchozí  1, 2, 3  Další
Autor Zpráva
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 11:00 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2571
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
RaceSoft píše:
ad velikost kódu: MT+ si v sobě při kompilaci pravděpodobně vytváří místo pro uživatelem definované proměnné

Určitě, velikost výsledného .com celkem odpovídá zadané velikosti toho pole booleanů. Slinkovat se to dá ještě pro 22000, ale při spuštění výsledku už je vidět, že to leze do framebufferu...
RaceSoft píše:
MT+: vlastní výpočet cca 4 sekundy, výpočet s výpisem prvočísel cca 14.5 sekundy

To už zní líp :) Asi polovina času co bobo na 2 MHz. Výpis je daný rychlostí PMD, takže skoro minuta. Ale to není fér srovnávat, když to zobrazuješ na něčem moderním, přes rychlou sériovou linku...

_________________
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, 11:15 
Offline
Profík

Registrován: 06.03.2018, 16:00
Příspěvky: 959
Bydliště: Valtínov, Kunžak
Has thanked: 39 times
Been thanked: 471 times
Rychlost obou výpisů u mě probíhá na stejném stroji (Stone64kb), neporovnávám to s PMD. Vím, že PMD ještě musí spočítat a vykreslit jednotlivé znaky. Porovnání uvádí, jak rychle je program přeložený různými kompilátory schopen terminál (nastavený stejně pro obě varianty) krmit daty k zobrazení.

P.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 02.04.2020, 12:40 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1509
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 380 times
RaceSoft píše:
CP/M je znakově (textově, terminálově) orientovaný OS a BIOS v sobě nemá obsluhu grafických příkazů zabudovanou.

Mluvíme-li o CP/M 2.2, ne o CP/M Plus (viz GSX).

screenshoty


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

Registrován: 06.03.2018, 16:00
Příspěvky: 959
Bydliště: Valtínov, Kunžak
Has thanked: 39 times
Been thanked: 471 times
Jistě, že mluvíme o CP/M v2.2. U terminálu VT100 mě grafika ani nenapadla :P . Ještě mám udělaný sériový "terminál" podle Granta Searla (PS/2 klávesnice + COMPOSITE VIDEO OUT), který jakousi pseudografiku přes Escape sekvence umí. Ale je to zase hardwarově vázané a není pro to nativní podpora v BIOSu.

P.


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

Registrován: 07.07.2019, 22:14
Příspěvky: 3767
Has thanked: 269 times
Been thanked: 452 times
Ha, takový jednoduchý Dr. Graph je pro PMD taky k dispozici a vystačí si jen s Basicem - PMDGRAF. Byť tedy bez slušivého GUI :-P. A na osmibitu přiměřené funkce by šel upravit Kreslič z příručky k PMD.

Hned je vidět jak si v logu zrychlovali vykreslování nižším rozlišením kruhů v kružítku, mám to reď docela v oku. :angel: Hádám že Mikros, inspirovaný ideově v CP/M 2.2 ( :lol: ) se s grafikou ale moc nekamarádí.


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

Registrován: 07.05.2014, 01:21
Příspěvky: 2571
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
Ještě jedno srovnání. Před časem Logout zorganizoval akci "Retrobenchmarking" kdy jsme basicem hledali prvních 250 prvočísel. http://web.archive.org/web/20190923180400/http://blog.i-logout.cz/retrobenchmarking.php
Pro PMD jsou v tabulce vidět časy lehce přes 110 s.
Binárka vyprodukovaná tímhle pascalem to zvládne asi za vteřinu (n=1583).
Stálo by za to srovnat to s "ROM" pascalem, ale ten se nejdřív musím naučit ovládat :twisted:

_________________
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: 03.04.2020, 07:52 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3767
Has thanked: 269 times
Been thanked: 452 times
Hned se ukáže, odkud ten ROM Pascal bral inspiraci :-). Docela rozdíl mezi Basicem a Pascalem, 1 sekunda vs 110, to je opět z PMD? Ale prvočísla dovedou o řády překvapit i na dnešních architekturách když se nevejdou do rychlejší cache... Zajímalo by mě jaký poměr ve výkonu by měl ještě čistý assembler vs Turbo Pascal/MT+.


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

Registrován: 07.05.2014, 01:21
Příspěvky: 2571
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
Stejný prográmek pro ROM Pascal v1.02
Výpočet proběhne asi za 20s, tedy víc než 2x pomaleji, než u prohnilého kapitalistického kompilátoru. Proti basicu ale pořád slušný kalup :)
(Kdyby někdo, jako já, nevěděl jak se vyskočí z editoru do hlavní nabídky, tak STOP+EOL - CTRL+Enter v emulátoru. Zbytek by snad měl být celkem intuitivní...)


Přílohy:
prvocisla.zip [538 bajtů]
422 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: 04.04.2020, 12:48 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3767
Has thanked: 269 times
Been thanked: 452 times
To je opravdu velký rozdíl. Projevuje se to i u méně matematicky orientovaných úloh? Škoda že pro PMD není jazyk C byť pro i8080 a CP/M nějaká verze existuje.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Pascal/MT+
PříspěvekNapsal: 04.04.2020, 13:20 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1509
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 380 times
Czech Human píše:
Škoda že pro PMD není jazyk C byť pro i8080 a CP/M nějaká verze existuje.

Pod CP/M na PMD bez problému.
TE byl přeložen v Aztec C, rombor měl FSED napsaný v BDS C přímo na PMD.
http://www.z80.eu/c-compiler.html


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

Registrován: 07.05.2014, 01:21
Příspěvky: 2571
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
Asi to není chyba, ale vlastnost a něco dělám špatně, ale nápady došly, tak zase jednou škermrám o pomoc...
Všechno funguje dokud používám integery, ale s float proměnnými jsem si rozbil hubu... Třeba tahle jednoduchá věc neskončí u desítky, ale běží dál...
Příloha:
placal_blbost.jpg
placal_blbost.jpg [ 48.71 KiB | Zobrazeno 8883 krát ]

Středník za endem může být i nemusí, přeloží se to bez chyb. Linkuju to s paslib a bcdreals, opět bez chyb...

_________________
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: 10.04.2020, 11:53 
Offline
Pan Generální

Registrován: 07.05.2014, 01:21
Příspěvky: 2571
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
Tak jako bych nic nepsal. Vyřešeno... Ta správná knihovna je FPREALS.ERL Takže zbývá akorát čistě akademická otázka co je BCDREALS.ERL a proč s ní tak jednoduchý prográmek nefunguje :)
Příloha:
dta_types_mtplus.jpg
dta_types_mtplus.jpg [ 69.99 KiB | Zobrazeno 8857 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: 11.04.2020, 01:38 
Offline
Pan Štábní

Registrován: 23.06.2013, 23:49
Příspěvky: 1100
Has thanked: 100 times
Been thanked: 157 times
Koukam ze BCD real je spis fixed point. a trochu je mi zahadou proc cely bajt obsahuje znamenko... :D Nula znamena kladne a 0xff zaporne.
Kód:
_1 _2 _3 _4 _5 _6 _7 __8 _9 _A
dd dd dd dd dd dd dd .dd dd +-


BCDREALS.ERL (BCD Fixed point REAL routines).

Note: The PaScal/MT+ system uses the_extension .ERL for
Extended ReLocatable files. These are, for the most part,
fully compatible Microsoft relocatable format (for 8080/Z80
CPUs) but may contain extended record formats if the .
disassembler is being used. See section 3 and 10 of the
applications guide.

http://www.bitsavers.org/pdf/mtMicrosystems/MT_Microsystems_Pascal_MT+_Release_5_Oct80.pdf

_________________
Z80 Forth compiler (ZX Spectrum 48kb): https://codeberg.org/DW0RKiN/M4_FORTH


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

Registrován: 07.05.2014, 01:21
Příspěvky: 2571
Bydliště: Praha
Has thanked: 502 times
Been thanked: 607 times
Taky jsem ty manuály nepročítal úplně pečlivě, ale co jsem našel, je tam tohle:
Kód:
3.3.4 REAL
Pascal/MT+ handles real numbers in two ways to support
different applications:
?? BCD for business applications
?? Binary floating point for scientific and engineering
applications.

Každopádně nic, co by vysvětlovalo proč nefunguje ta blbina, co jsem dal pár postů nahoře, proč to nabourá řídící proměnou cyklu. Možná si to nějak nesedne s PMD?

_________________
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: 12.04.2020, 10:26 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1509
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 380 times
Citace:
?? BCD for business applications
?? Binary floating point for scientific and engineering
applications.

Jako Calculus na ZX Spectru.
Floating point mantisa + exponent na vědecké výpočty, velký rozsah, ale s chybou v zaokrouhlení, a fixed point BCD tam, kde se počítá s miliardami, ale přesností na halíře a nepřesnost je nežádoucí (to raději menší rozsah).
Citace:
Každopádně nic, co by vysvětlovalo proč nefunguje ta blbina, co jsem dal pár postů nahoře, proč to nabourá řídící proměnou cyklu.

A kód to vygenerovalo jaký?
Asi to nebude úplně nejkratší, protože u toho budou runtimy a knihovna, ale ten samotný kód dlouhý nebude a dal by se v tom blobu najít.


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 Předchozí  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 4 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