( TCH | 2021. 02. 23., k – 10:07 )

Thx.

> alap volt, hogy assembly-ben írtuk a programot

Ez maximum a 8 és 16 bites konzolokon volt alap, a homecomputereken viszont úgy nézett ki, hogy a sebességkritikus részeket volt célszerű assemblyben megírni, a többit meg abban, ami jól esett (C, BASIC, Pascal, FORTRAN, Amigán esetleg E és a többiek).
Ha valami szerintem alap, akkor az az, hogy az eszközt a feladathoz választjuk és nem a feladatot igazítjuk az eszközhöz. A 8 és 16-bites konzolokon gyakorlatilag a dolgok 95+%-a sebességkritikus volt, a maradék meg olyan kevés, hogy akár assemblyben is meg lehetett írni, tehát ott nem volt értelme bármi mást használni (meg ugye ott a futtató környezet is megnehezítette a dolgokat), de itt pl. mi előnyünk származott volna abból, hogy assemblyben írjuk meg az egészet? Semmi, lévén az OS függvényeit mindegy, hogy miből hívod, a videomemória egyszeri végigírása meg így tömbösen assemblyből kb. pár mikroszekundummal lett volna gyorsabb.

Fogok majd mutatni olyan cuccot, amiben lesznek assembly betétek, de az assemblyt tisztán erőltetni sosem volt túl sok értelme egy homecomputeren, maximum, ha az volt a cél, hogy beleférjen pár byte-ba. Bár egyébként még a 8-bites homecomputereken is ott volt a tokenizált BASIC, ami nem ritkán kisebb kódot eredményezett, mint az assembly (nyilván lassú volt és kellett hozzá a BASIC interpreter is, de most nem sebességkritikus dolgokról beszéltünk, a BASIC interpreter meg az alapfelszereltséghez tartozott).

> és az OS letiltása volt az első lépés, hogy ne maszatolja szét az időzítést semmi

Igazán nem kötekedésből írom, de pont ez a mentalitás volt az oka annak, hogy Amigán nagyon sok nyögvenyelősen használható szoftver keletkezett, mert nem rendszerbarát módon írták meg őket, hanem a rendszer megkerülésével, a hardware közvetlen - és nem jól implementált! - piszkálásával, holott a rendszer több, mint partner volt abban, hogy ugyanúgy meg tudd írni, hogy ne essen szét sem időzítés, sem semmi.
De sok 8-bitről és árkádról átszabadult programozó azzal nyitott, hogy letiltotta a rendszert, megkerülte a hardware funkciókat rendesen felprogramozó OS rutinokat és behányta a biteket úgy, hogy az ő gépén ment, aztán meg csodálkozott, hogy amit írt az stock A500/KS1.2-only; gyorsabb CPU-val nem megy, 32-bites címbuszú CPU-val nem megy, újabb KickStarttal nem megy, FastRAM-mal nem megy, HDD-vel nem megy, ECS-el nem megy, urambocsá' AGA-val nem megy...és még sorolhatnám.

A rendszert letiltani egyébként C-ből is le lehet...csak itt éppen minek?