OldComp.cz
http://oldcomp.cz/

Microsoft uvolnil GW-BASIC jako open-source
http://oldcomp.cz/viewtopic.php?f=113&t=8600
Stránka 12

Autor:  Jiiira [ 22.05.2020, 09:07 ]
Předmět příspěvku:  Microsoft uvolnil GW-BASIC jako open-source

Viz zprávička zde: https://devblogs.microsoft.com/commandline/microsoft-open-sources-gw-basic/

Autor:  faraon [ 23.05.2020, 06:24 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Příšerný bastl. A jak jsem do toho koukal, už začínám tušit proč nejvyšší číslo řádku mohlo být 65529 :lol:

Autor:  Busy [ 23.05.2020, 09:05 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Tak ono vzdy lepsie 65529 nez napr. 16383 v basicu ZX Spektra :)

Autor:  Czech Human [ 23.05.2020, 10:26 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

No to je tedy problém, takový malý počet řádků k dispozici :P Jako byste snad mohli využít i těch 16384 na Spectru. Kdybyste nic nepsali, jen čísla prázdných řádků, zabraly by u Spektra 17382 bajtů, což je poněkud víc než má celá jeho RAM u 16k verze. U 48k už byste si mohli dovolit možná i 2 písmenka dovnitř každého řádku a u 128k celých 6 :lol: Holt to Sir Sinclair patrně nedomyslel když Spectrum dělali a teprve teď to vyplulo na povrch...

Kdo z vás dělal basicovský program co měl výrazně víc než 1000 řádků, jakákoliv rozsáhlejší věc se pro tyhle stroje hodí dělat jedině v assembleru, Basic samotný zabere notný díl RAM a jeho rychlost je prostě základní - Basic ;)

Autor:  Busy [ 23.05.2020, 12:02 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Czech Human píše:
No to je tedy problém, takový malý počet řádků k dispozici :P Jako byste snad mohli využít i těch 16384 na Spectru. Kdybyste nic nepsali, jen čísla prázdných řádků, zabraly by u Spektra 17382 bajtů
Zrovna 17382 ? Ako si prisiel k tomuto cislu ?
Czech Human píše:
což je poněkud víc než má celá jeho RAM u 16k verze. U 48k už byste si mohli dovolit možná i 2 písmenka dovnitř každého řádku a u 128k celých 6 :lol:
A na toto cislo 6 si ako prisiel ?
Czech Human píše:
Kdo z vás dělal basicovský program co měl výrazně víc než 1000 řádků
Napriklad ja :)

Autor:  faraon [ 23.05.2020, 12:09 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Nejde o počet, který stejně nikdy nevyužiješ celý. Mě těch 9999 na Didaktiku vystačilo vždycky. Ale je dobré začínat podprogramy na zaokrouhlených číslech, dejme tomu na stovky, a jednotlivé kategorie pak rozlišit třeba tisíci. Ono se to v té nudli řádků pak o dost lépe rozeznává ;-)

Mě spíš roky udivovalo, že šestnáctibitový int by dával 65535 možných řádků, ale při čísle vyšším než 65529 hodil GW-BASIC error.

No a teď konečně vím proč:
Kód:
PUBLIC   CURLIN
; CURLIN:
   ADR   0+65534D   ;CURRENT LINE #
            ;SET TO 65534 IN PURE VERSION DURING INIT EXECUTION
            ;SET TO 65535 WHEN DIRECT STATEMENTS EXECUTE

Jsou tam i kusy původního kódu z roku 1975, prohnané automatickým konvertorem na i8086, a flagy pro spoustu různých systémů včetně mnoha OEM verzí CP/M, nebo intelovského ISIS-II. To je holt vidět jak to dělají "profesionálové" :-D

Pak si člověk vzpomene třeba na tohle, a zjistí že to vlastně tak daleko od skutečnosti nebylo...

Autor:  Czech Human [ 23.05.2020, 12:59 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Busy píše:
Zrovna 17382 ? Ako si prisiel k tomuto cislu ?

No jak, je to jen blbý a špatný odhad kdy jsem si narychlo a chybně sčítal bajty řádků, jenže jsem si neuvědomil že to je číslo a ne znaky, tak se vystačí s 1 bajtem na prvních 256 a 2 bajty na řádek na zbytek z rozsahu :-).Tak to je 256 + 32256 bajtů, tedy 4288 bajtů. Tak se opravuju, to by se vlezlo :-).


Busy píše:
A na toto cislo 6 si ako prisiel ?


Stejně tak hloupý odhad jako u bodu jedna, tupě jsem vydělil objem RAM počtem řádků. Neměl jsem ale potřebu to dělat přesně, spíš mi šlo o konstatování, že pro běžný zápis programu, kdy se na řádek vměstná několik desítek znaků i ten rozsah 16384 řádků dojde těžko. Ostatně kdo píše program o délce >1000 řádků už to obvykle dělá profesionálněji a má k tomu snad nějakou dokumentaci. To už jsem se stihl naučit ;).

Busy píše:
Kdo z vás dělal basicovský program co měl výrazně víc než 1000 řádků? Napriklad ja :)

U odborníka jako ty jsem tuto odpověď tak nějak čekal ;).

Autor:  ub880d [ 23.05.2020, 13:37 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Czech Human píše:
Busy píše:
Zrovna 17382 ? Ako si prisiel k tomuto cislu ?

No jak, je to jen blbý a špatný odhad kdy jsem si narychlo a chybně sčítal bajty řádků, jenže jsem si neuvědomil že to je číslo a ne znaky, tak se vystačí s 1 bajtem na prvních 256 a 2 bajty na řádek na zbytek z rozsahu :-).Tak to je 256 + 32256 bajtů, tedy 4288 bajtů. Tak se opravuju, to by se vlezlo :-).
a mozno by si mal prestat vymyslat a radsej trochu popatrat ako je zx basic riadok v pamati vlastne ulozeny. ako nic v zlom, ale niekto neznaly ta moze zobrat vazne a zacat sirit tieto nicim nepodlozene bludy ;] a okrem ineho.. v ktorej galaxii plati, ze 256+32256 bajtov je 4288 bajtov?

Autor:  dex [ 23.05.2020, 13:38 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Citace:
tak se vystačí s 1 bajtem na prvních 256 a 2 bajty na řádek na zbytek z rozsahu :-).Tak to je 256 + 32256 bajtů, tedy 4288 bajtů.

To je pořád špatně.
Struktura řádku Basicu na ZX Spectru je tato:
Obrázek
Prázdný řádek tedy sežere pět bajtů a prázdný řádek na ZX Spectru nejde vytvořit (editor se snaží příslušný řádek smazat).
Na řádku tedy něco (pokud ho máme vytvořit v editoru a ne nějak nestandardně) musí být (aspoň REM), což je šest bajtů.
16383 řádků by pak zabralo skoro 96 kilo.
Protože volných je 41613 bajtů, vlezlo by se 6935 řádek.

Autor:  Panda38 [ 23.05.2020, 13:40 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Rozsah řádků není důležitý kvůli celkovému počtu řádků, ale protože se řádky odpočítávají po větších krocích (typicky po 10), aby bylo snadnější později doplnit další řádky mezi. Pro 16384 je to tedy něco přes 1000 řádků, což už není tak nereálné zaplnit.

Autor:  Busy [ 23.05.2020, 15:51 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

faraon píše:
Ale je dobré začínat podprogramy na zaokrouhlených číslech, dejme tomu na stovky, a jednotlivé kategorie pak rozlišit třeba tisíci. Ono se to v té nudli řádků pak o dost lépe rozeznává ;-)
Potom zistis ze v nejakom podprograme uz mas riadky 100,101,102,103,104... a chces dopnit nieco medzi riadky 102 a 103 ... a kedze sa ti to nechce rucne editovat cisla cisla riadkov 103,104... tak pouzijes renumber a cela krasna myslienka zacinat podprogramy na zaokruhlenych cislach a oddelovaka kategorii je v pr.... zadku :lol:

Autor:  Busy [ 23.05.2020, 15:58 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

dex píše:
Na řádku tedy něco (pokud ho máme vytvořit v editoru a ne nějak nestandardně) musí být (aspoň REM)
Uplne postaci aj obycajna medzera. Proste natukam cislo, medzeru a odoslem. V listingu potom budu prazdne riadky, ja ich napr. pouzivam na graficke oddelenie funkcnych casti programu. A takyto sposob clenenia a oddelovania prezije aj zasah renumberu :)

Autor:  Martin8bity [ 23.05.2020, 15:59 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Mne teda celkem zaujalo, ze ty assemblerovy zdrojaky jsou generovany z jinych zdrojaku a pouzivali na to nejaky CPU translator. Ten bych docela chtel videt.

Autor:  faraon [ 23.05.2020, 16:13 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Busy píše:
tak pouzijes renumber a cela krasna myslienka ...

RENUM jsem zkoušel jenom na Philipsu v MS BASICu, a tam se dalo nastavit od kterého řádku se má přečíslovat, takže se to naopak dalo vylepšovat.

Ale na Didaktiku jsem takovýhle luxus samozřejmě neměl, tam jsem to musel dělat (mnohokrát!) ručně, a to mě naučilo přemýšlet o návrhu programu hodně dopředu :lol:

Autor:  dex [ 23.05.2020, 16:48 ]
Předmět příspěvku:  Re: Microsoft uvolnil GW-BASIC jako open-source

Martin8bity píše:
Mne teda celkem zaujalo, ze ty assemblerovy zdrojaky jsou generovany z jinych zdrojaku a pouzivali na to nejaky CPU translator. Ten bych docela chtel videt.

Byl to jen převod ze zdrojáků pro 8080 do 8086.
Microsoft používal (a snad i prodával) TRANS.COM (což byl TRANS86.COM od Seattle Computer Products, běžící původně pod CP/M-80, přeložený sám sebou).
Digital Research nabízela XLT86 a na trhu byl i TRANS86.COM od Sorcim.
https://tech-insider.org/personal-computers/research/acrobat/8206-b.pdf

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