OldComp.cz

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


Právě je 28.03.2024, 18:34

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 8 ] 
Autor Zpráva
 Předmět příspěvku: Basic compilers
PříspěvekNapsal: 20.01.2023, 14:35 
Offline
Kecálek

Registrován: 13.01.2023, 09:42
Příspěvky: 88
Has thanked: 0 time
Been thanked: 24 times
Chvíli jsem si hrál s různými kompilery (Blitz, Basic-Boss, Basic 64) a nakonec jsem zůstal u toho posledního, protože zahrnuje i Basic 4 a Simons Basic. Zrychlení je asi dvojnásobné, tedy nic moc, ale alespoň něco. Psát to v Asembleru by bylo vyčerpávající (tedy pro mě). Je nějaká šance najít něco novodobého co má větší potenciál?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Basic compilers
PříspěvekNapsal: 20.01.2023, 17:14 
Offline
Profík
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 994
Bydliště: Praha
Has thanked: 63 times
Been thanked: 372 times
Já bych v dnešní době asi zkusil použít nějaký překladač, který běží na PC. Třeba XC=BASIC.
Je to samozřejmě moderní dialekt s mnoha výhodami. Zato konverze stávajících programů by asi byla pracná.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Basic compilers
PříspěvekNapsal: 20.01.2023, 22:48 
Offline
Kecálek

Registrován: 13.01.2023, 09:42
Příspěvky: 88
Has thanked: 0 time
Been thanked: 24 times
Díky, na tohle jsem koukal již dříve, je to i pro Mac pod příkazovou řádkou. Tak jsem to dnes vyzkoušel, ta nekompatibilita s Commodore Basicem V2.0 je děsná, hlásí to chyby i v běžných příkazech jako INT() apod., netuším proč se mu třeba nelíbí jednoduchý příkaz a=int((y-1)/100).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Basic compilers
PříspěvekNapsal: 27.01.2023, 22:13 
Offline
Kecálek

Registrován: 13.01.2023, 09:42
Příspěvky: 88
Has thanked: 0 time
Been thanked: 24 times
Dělal jsem dnes test rychlosti C64 C, pro některé programy je kompilovaný m-code rychlejší přibližně 2x, pro matematické operace s mnoha průchody až 6x. Rozdíl mezi p-code a m-code je asi 30% ve prospěch m-code. Kompiloval jsem Basic v programu Basic 64 Compiler v1.03. Spouštěný program se používal pro testování kalkulaček a malých počítačů, takže existuje i pěkné srovnání rychlosti s ostatními přístroji. První řádek Basic v2.0 a druhý řádek kompilovaný m-code. První je výsledek výpočtu (0.880..) a druhé číslo je čas v sekundách.

http://www.thimet.de/CalcCollection/Cal ... mance.html

Kód:
10 N=10
20 L=10
30 X=L
40 X=X+1
50 X=X-4.567E-4
60 X=X+70
70 X=X-69
80 X=X*7
90 X=X/11
100 L=L-1
110 IF L<>0 THEN 30
120 X=LOG(X)
130 X=SIN(X)
140 X=SQR(X)
150 X=SQR(X)
160 N=N-1
170 IF N<>0 THEN 20
180 PRINT X
190 END


Přílohy:
Snímek obrazovky 2023-01-27 v 21.01.16.png
Snímek obrazovky 2023-01-27 v 21.01.16.png [ 58.1 KiB | Zobrazeno 5013 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Basic compilers
PříspěvekNapsal: 31.01.2023, 12:14 
Offline
Radil
Uživatelský avatar

Registrován: 23.05.2013, 20:30
Příspěvky: 322
Bydliště: Východní Čechy
Has thanked: 2 times
Been thanked: 48 times
Aktuálně co se používá pro BBS je Blitz a pro decomp Deblitz, oboje portnuté PC utility.

https://csdb.dk/release/?id=173267
https://csdb.dk/release/?id=165744

_________________
JMP $FCE2

C64, C128DCR, IDE64, SuperCPU64, 1541 Ultimate-II, MMC Replay, FC3, REU 2MB, Geroram512, NeoRAM 2MB, RR-Net, SilverSurfer, Wiznet64 , 1541-II,1571,1581,Oceanic


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Basic compilers
PříspěvekNapsal: 01.02.2023, 01:32 
Offline
Kecálek

Registrován: 13.01.2023, 09:42
Příspěvky: 88
Has thanked: 0 time
Been thanked: 24 times
Díky, Blitz jsem zkoušel, ale pro lepší Basic typu 4.0 nebo 7.0 je to nepoužitelné. Nakonec používám Abacus Basic 1.03, který umí několik verzí (Simons Basic, Basic 4.0., Super Expander apod.). V roce 1988 zveřejnil John Wolker program Rainy Day Moon, který ukazuje nejen fázi Měsíce pro zvolené datum a čas, ale i vzdálenost nebo předpověď dalších fází. Program byl napsán pro Commodore 128 a Basic 7.0. Přepsal jsem ho pro C64 a upravil, protože přesnost výpočtů byla dost špatná. Bohužel autor použil nepřesné algoritmy a ty správné by nebylo úplně jednoduché zakomponovat do stávajícího programu, tedy jsem upravil stávající tak, aby program byl použitelný. Celé jsem to přeložil do Assembleru v Abacus Basic 64, aby byla rychlost výpočtů lepší a běh programu v reálném čase. Pro spuštění stačí zadat LOAD "LOADER",8 a run (v emulátoru VICE spustit přes Smart attach..) pouze je nutné připojit Catridge se Super Expander 64 (ve VICE soubor .crt, nebo v počítači přes např. Kung Fu Cartridge).

Příloha:
Snímek obrazovky 2023-02-01 v 0.29.59.png
Snímek obrazovky 2023-02-01 v 0.29.59.png [ 445.95 KiB | Zobrazeno 4828 krát ]


Přílohy:
super-expander-64.crt [8.08 KiB]
64 krát
moon phase.d64 [170.75 KiB]
64 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Basic compilers
PříspěvekNapsal: 02.02.2023, 23:53 
Offline
Radil
Uživatelský avatar

Registrován: 23.05.2013, 20:30
Příspěvky: 322
Bydliště: Východní Čechy
Has thanked: 2 times
Been thanked: 48 times
Josef01 píše:
Díky, Blitz jsem zkoušel, ale pro lepší Basic typu 4.0 nebo 7.0 je to nepoužitelné.


On je pouze pro Basic 2.0.

_________________
JMP $FCE2

C64, C128DCR, IDE64, SuperCPU64, 1541 Ultimate-II, MMC Replay, FC3, REU 2MB, Geroram512, NeoRAM 2MB, RR-Net, SilverSurfer, Wiznet64 , 1541-II,1571,1581,Oceanic


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Basic compilers
PříspěvekNapsal: 03.02.2023, 01:27 
Offline
Kecálek

Registrován: 13.01.2023, 09:42
Příspěvky: 88
Has thanked: 0 time
Been thanked: 24 times
Ano, je to tak, což je při příkazech ze Simons Basicu apod. nepoužitelné.


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ů: 8 ] 

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