TurboBasic 1.5,Compiler, Runtime, Linker2.

By Administrator at June 18, 2026 22:00
Filed Under: Atari

Úvodná hlavička programu Linker2, najprv sa zobrazí rok, potom začne hľadať a ládovať z disku súbor Runtime2.exe

Následne nás program vyzve aby sme napísali názov uloženého skompilovaného CTB súboru.

 

Na diskete (atr) je TURBOBASIC v.1.5, nachádza sa tu COMPILER 1.1 (je v anglickej mutácii), RUNTIME - knižnica určená pre samostatné spúšťanie skompilovaných CTB súborov, RUNTIME2 - knižnica určená pre prilinkovanie ku skompilovanému CTB súboru a záverom je tu nový program LINKER2 ktorý pomocou kompilera vytvorený súbor CTB prilinkuje ku knižnici RUNTIME2 a teda priamo vygeneruje samostatný spustiteľný súbor. Súbor RUNTIME používa koncovku COM, súbor RUNTIME2 má použitú koncovku EXE - pre lepšie rozlíšenie medzi nimi.

No a poďme ďalej - upravil som pôvodný program LINKER, ten nie je veľmi užívateľsky prívetivý, snažil som sa aby bol v komunikácii s userom na tom o poznanie lepšie - je tu k dispozícii viacej pokecu pre lepšiu orientáciu v programe a popritom všetkom som dosiahol stav že program stále zvláda spracovať aj veľmi dlhé Basic súbory preložené do skompilovaného CTB súboru (otestovaný vytvorený 32.312 byte dlhý CTB súbor + následne k nemu bola prilinkovaná knižnica RUNTIME2 pomocou programu LINKER2.COM - no problem, takto vytvorený program beží tak ako má - a pritom je tam stále nejaká rezerva, ešte stále som nešiel "na doraz").

 

Prečo používať skompilované programy ? Samotný TurboBasic je rýchly, ale jeho rýchlosť sa dá ešte zvýšiť práve skompilovaním, rozdiel je náramný a proti pôvodnému Basicu je výsledná rýchlosť neporovnateľná (síce sa to dá vyčísliť, ale to nechám na hnidopichov). Skompilovať sa dajú taktiež aj programy určené pre pôvodný Atari Basic - i keď tam nie sú k dispozícii niektoré veľmi šikovné príkazy obsiahnuté v TB, ale rýchlosť prevádzania programu sa násobne zvýši.

 

Dávam sem atr súbor určený pre disketu s kapacitou 360kB, beží pod MyDOS 4.53/4. Priložený atr súbor funguje bez najmenších problémov aj na moderných náhradách disketových jednotiek - a na nich aj pri plnej prenosovej rýchlosti 125.000Bd - teda ak má počítač ošetrené na SIO porte Data_In a Data_Out tak že sú tam odstránené 1nF kapacity. Ak táto úprava nie je prevedená je maximálna prenosová rýchlosť obmedzená na 57.600Bd.

 _________________________________________________________

Programy sa dajú samozrejme nahrať aj na diskety s kapacitou 128kByte a 180kByte (tieto možnosti má k dispozícii Atari 1050, druhá možnosť je až po jej hw úprave). Pri 128kByte skoro okamžite narážame na malú dostupnú kapacitu diskety, pri 180kB je to predsa len o niečo lepšie - ale aj tu čoskoro asi narazíme na limity. Najlepším riešením je použiť kapacitu diskety na 360kB.

(Program LINKER2.com sa samozrejme dá preniesť aj na tieto spomenuté kapacity diskiet, akurát musíte počítať s tým že bude k dispozícii málo miesta - ale to nie je chyba programu LINKER2.COM ...)


Disketa Quad (360kByte) a jej obsah: MyDOS 4.53/4 a programy TURBOBASIC 1.5, RAMDISK,COMPILER 1.1,

RUNTIME, RUNTIME2 a LINKER 2.

_________________________________________________________

Quad hustota (Double Side/Double density), teda kapacita média je 360kByte a je priamo vhodný pre disketovú jednotku Atari XF551:

MyDOS_TB_Compiler_Runtime_Linker2_360kB.atr (359,64 kb)

Tu je už miesta viac ... tu štandartne nie je problém s nedostatkom voľného miesta - raz darmo 360kByte je 360kByte. I keď - aj toto sa dá rýchlo zaplniť.Smile (Bude to asi tým že sa teraz "prplem" s 64kB veľkými súbormi a vtedy sa to miesto zaplní naozaj rýchlo ..., pri predchádzajúcich voľbách s nižšou kapacitou by to ani nebolo možné.)

_________________________________________________________

Je potrebné umiestniť náš NAME.BAS súbor na disketu (atr), potom vyvolať kompilátor, skompilovať NAME.BAS súbor, uložiť NAME.CTB súbor naspäť na disketu (atr) a následne vyvolať program LINKER2 - toto všetko funguje bez najmenších problémov. Len dodám - právom predpokladám že viete čo všetko samotný kompilátor "nezožerie" a teda viete vyrobiť bezchybný CTB súbor, nakoniec - kompilátor na dosť chýb sám vie upozorniť hláškou na nájdenú chybu a to v konkrétnom riadku.

 

Poznámka:

Tu ešte venujem pár riadkov programu COMPILER. V nemeckej verzii programu pri jeho použití s upravenými OS s vysokorýchlostnými rutinami od Hias-a prichádza k tomu že sa na displeji po spustení programu namiesto čitateľného textu zobrazí tzv. "rozsypaný čaj". Je to dané tým že program sa interne prepne do nemeckej znakovej sady - tá ale v upravenom OS s vysokorýchlostnými rutinami už nie je k dispozícii. Anglická mutácia programu COMPILER znakovú sadu neprepína a teda je plne funkčná aj v týchto upravených OS.

Tu by som rád upozornil ešte na jednu vec - kompilátor ponecháva v programe REM riadky a taktiež riadky ktoré používa TB, napr. 70 -------------. Preto odporúčam po otestovaní plnej funkčnosti skompilovaného programu zo samotného Basic programu následne úplne odstrániť REM riadky a riadky s -------------- a program bez nich nanovo skompilovať - šetrí to vo výsledku pri dlhšom programe a podrobnom popise v REM riadkoch nezanedbateľne miesto! (Aj tak ich už v programe po skompilovaní nikto nikdy neuvidí. Pri tvorbe a testovaní programu sú poznámky určite veľmi užitočné, ale tu už naozaj žiaden ďalší úžitok neprinášajú - a zaberajú zbytočne miesto vo výslednom skompilovanom súbore.)

 

Ako to potom vyzerá v praxi?

Program LINKER2.COM po spustení a zobrazení úvodnej hlavičky začne hľadať na diskete program RUNTIME2.EXE, ak ho nájde začne s ním pracovať, ak uvedený program nie je na diskete (atr) tak na to upozorní a požiada o založenie diskety (atr) s týmto programom. Následne v programe treba vyplniť 2 položky:

Zdrojový skompilovaný súbor (má mať koncovku CTB)

Cieľový výsledný spustiteľný súbor (má mať koncovku COM)


Program nás upozorní že stále pracujeme s jednotkou D1:, čiže tu musia byť umiestnené očakávané súbory a taktiež sa sem ukladá vygenerovaný výsledný spustiteľný súbor. Je možné zadať názov bez čísla jednotky, program počíta s tým že všetko potrebné sa prevedie práve na jednotke č.1 (D:, alebo D1:). Po potvrdení cieľového mena súboru sa spustí a prevedie zápis výstupného súboru na médium a na záver sa vypíše infomácia o tom že prevod prebehol. Všetko ostatné funguje aj v pôvodnom programe LINKER - akurát o tom málokto vie.

 

Taktiež nerobí problém zápis s uvedením mena jednotky v tvare D:atď


A problémom nie je ani uvedená plnohodnotná uvedená cesta D1:atď., program si poradí zo všetkými tu

uvedenými možnosťami. Po vygenerovaní  NAME.COM súboru sa stlačením klávesy vrátime k novému

štartu programu LINKER2, stlačením klávesy ESC program ukončíme priamym skokom do DOS-u.

 

Určite ste si všimli že spracovaný prilinkovaný skompilovaný súbor má mať odporúčanú koncovku NAME.COM, ale aké označenie zvolíte je na Vás, LINKER2 "spapá" a bude správne fungovať aj ak zadáme koncovku NAME.EXE. Program LINKER2.COM bezproblémovo funguje aj na diskete s DOS 2.5 - len ako som spomínal - pozor na voľné miesto !

Prajem príjemne strávené chvíle pri vytváraní BAS súboru, potom pri jeho spracovaní kompilátorom a následnom prilinkovaní ním vygenerovaného CTB súboru cez program LINKER2 do jednoho priamo spustiteľného COM súboru.

_____________________________________________________

Vaše hodnotenie, Rate post:

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi.

Blog je o mojich záujmoch, predtým som pracoval ako IT špecialista na počítačové siete a redakčné systémy pre viaceré denníky - až som pred rokmi nakoniec v jednom z nich zakotvil a kde som to potiahol až do konca mojej profesnej kariéry.

Rok, mesiac, počet článkov: