OldComp.cz

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


Právě je 28.03.2024, 19:57

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 17 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
PříspěvekNapsal: 22.05.2020, 09:07 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
Viz zprávička zde: https://devblogs.microsoft.com/commandline/microsoft-open-sources-gw-basic/

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 06:24 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
Příšerný bastl. A jak jsem do toho koukal, už začínám tušit proč nejvyšší číslo řádku mohlo být 65529 :lol:

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 09:05 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Tak ono vzdy lepsie 65529 nez napr. 16383 v basicu ZX Spektra :)


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 10:26 
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 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 ;)


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 12:02 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
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 :)


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 12:09 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
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...

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 12:59 
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
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 ;).


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 13:37 
Offline
Kecálek

Registrován: 10.07.2014, 01:57
Příspěvky: 168
Has thanked: 25 times
Been thanked: 225 times
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?


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 13:38 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1508
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 380 times
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.


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 13:40 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
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.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 15:51 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
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:


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 15:58 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
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 :)


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 15:59 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 14.05.2013, 19:10
Příspěvky: 1486
Bydliště: Kurim
Has thanked: 828 times
Been thanked: 577 times
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.

_________________
http://www.8bity.cz


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 16:13 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
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:

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
PříspěvekNapsal: 23.05.2020, 16:48 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1508
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 380 times
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


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ů: 17 ]  Přejít na stránku 1, 2  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 3 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