Vilnius Basic: Skirtumas tarp puslapio versijų

68 pridėti baitai ,  02:14, 28 gruodžio 2025
nėra keitimo aprašymo
Žyma: visualeditor-switched
 
9 eilutė: 9 eilutė:


== Visokios neįdomios techninės detalės apie Vilniaus Basic ==
== Visokios neįdomios techninės detalės apie Vilniaus Basic ==
Vilnius Basic buvo sukurtas Vilniaus Universiteto skaičiavimo centre, [[1985]] metais, aiškiai klonuojant MSX Basic. Skirtas visokiems 16 bitų kompiuteriams, turintiems PDP-11 architektūrą, taip kad kaip kad DVK, BK-0010, BK-0011, UKNC, Nemiga ir panašūs.
Vilnius Basic buvo sukurtas Vilniaus Universiteto skaičiavimo centre, [[1985]] metais, aiškiai klonuojant [[MSX Basic]]. Skirtas visokiems [[16 bitų]] kompiuteriams, turintiems [[PDP-11]] architektūrą, taip kad kaip kad DVK, BK-0010, BK-0011, UKNC, Nemiga ir panašūs.


Su MSX Basic sutampa absoliuti dauguma operatorių ir funkcijų, o taip pat pranešimų kodai, tačiau Vilnius Basic yra kiek bukesnis: jame nesigauna parašyti kelių operatorių vienoje eilutėje, nėra PLAY operatoriaus ir dar ten kažko. O be to, kaip ir įprasta visiems sovietiniams kompiuteriams ir programoms, dolerio ženklas yra uždraustas ir pašalintas, taip kad vietoje imperialistinio ''$'' yra neaišku ką vaizduojantis simbolis ''¤''. Taip vat visokie kintamieji ir string tipo funkcijos rašomos su tuo simboliu.
Su [[MSX Basic]] sutampa absoliuti dauguma operatorių ir funkcijų, o taip pat pranešimų kodai, tačiau Vilnius Basic yra kiek bukesnis: jame nesigauna parašyti kelių operatorių vienoje eilutėje, nėra PLAY operatoriaus ir dar ten kažko. O be to, kaip ir įprasta visiems sovietiniams kompiuteriams ir programoms, dolerio ženklas yra uždraustas ir pašalintas, taip kad vietoje imperialistinio ''$'' yra neaišku ką vaizduojantis simbolis ''¤''. Taip vat visokie kintamieji ir string tipo funkcijos rašomos su tuo simboliu.


Paleidžiant Basic programą (su komanda RUN), programos tekstas būdavo kompiliuojamas į pseudokodą. Pseudokodas buvo kraštutinai primityvus - tiesiog Basic funkcijų adresai, kuriais interpretatorius darydavo tų funkcijų iškvietimus, perduodamas už tų pat adresų esančius parametrus. Gaudavosi kaip ir greičiau, nei šiaip interpretatoriumi viską daryti, bet visvien kažkaip nelabai aiškiai. Gal vienintelis privalumas tebuvo toksai, kad šitaip perdirbta programa užimdavo mažiau vietos, nes tuose kompiuteriuose atminties tebūdavo keli [[kilobaitai]].
Paleidžiant Basic programą (su komanda RUN), programos tekstas būdavo kompiliuojamas į pseudokodą. Pseudokodas buvo kraštutinai primityvus - tiesiog Basic funkcijų adresai, kuriais interpretatorius darydavo tų funkcijų iškvietimus, perduodamas už tų pat adresų esančius parametrus. Gaudavosi kaip ir greičiau, nei šiaip interpretatoriumi viską daryti, bet visvien kažkaip nelabai aiškiai. Gal vienintelis privalumas tebuvo toksai, kad šitaip perdirbta programa užimdavo mažiau vietos, nes tuose kompiuteriuose atminties tebūdavo keli [[kilobaitai]].


Pats Vilnius Basic užimdinėjo atmintyje cielus 24 kilobaitus ir būdavo įrašomas hardvariškai į ROM, esantį pačiame kompe, taip kad labai tenai vietą visi taupė, tai vietoje pranešimų apie klaidas būdavo parašomi kodai tiesiog. Ir aišku, viskas kvadratinėmis raidėmis, pvz., "Ошибка 2 в строке 54".
Pats Vilnius Basic užimdinėjo atmintyje cielus 24 kilobaitus ir būdavo įrašomas hardvariškai į [[ROM]], esantį pačiame kompe, taip kad labai tenai vietą visi taupė, tai vietoje pranešimų apie klaidas būdavo parašomi kodai tiesiog. Ir aišku, viskas [[kvadratinės raidės|kvadratinėmis raidėmis]], pvz., "Ошибка 2 в строке 54".


Kita vertus, be tos į ROM įrašomos versijos, buvo dar ir mokykliniam kompiuterių tinklui skirtas variantas, kuris užimdavo 28 kilobaitus ir diskeliams skirta versija, kuri užimdavo 30 kilobaitų. Tai šitose versijose visgi pranešimai apie klaidas būdavo normalūs.
Kita vertus, be tos į ROM įrašomos versijos, buvo dar ir mokykliniam kompiuterių tinklui skirtas variantas, kuris užimdavo 28 kilobaitus ir diskeliams skirta versija, kuri užimdavo 30 kilobaitų. Tai šitose versijose visgi pranešimai apie klaidas būdavo normalūs.
101 eilutė: 101 eilutė:
Taip pat buvo numatytas išorinių (mašininių) funkcijų iškvietimas, perskaitant per BLOAD arba tiesiogiai formuojant per POKE operatorių.  
Taip pat buvo numatytas išorinių (mašininių) funkcijų iškvietimas, perskaitant per BLOAD arba tiesiogiai formuojant per POKE operatorių.  


Dar reikia pasakyti, kad tenai buvo bugovas random generatorius, tai RND duodavo išties pseudorandomą, nes naudojo legendinį RANDU algoritmą, kuris labai greitas ir paprastas, bet su atsitiktiniais skaičiais išties nieko bendro neturintis, taip kad visiems tekdavo patiems rašytis kokį nors nuosavą randominį generatorių vietoje to, kad naudot būtų galima kokį nors standartinį.
Dar reikia pasakyti, kad tenai buvo bugovas [[random]] generatorius, tai RND duodavo išties [[pseudorandomas|pseudorandomą]], nes naudojo legendinį RANDU algoritmą, kuris labai greitas ir paprastas, bet su atsitiktiniais skaičiais išties nieko bendro neturintis, taip kad visiems tekdavo patiems rašytis kokį nors nuosavą randominį generatorių vietoje to, kad naudot būtų galima kokį nors standartinį.


== Dar žr. ==
== Dar žr. ==
924

pakeitimai