> alap volt, hogy assembly-ben írtuk a programot
Ez maximum a 8 és 16 bites konzolokon volt alap, a homecomputereken viszont
Konzolokat nem programoztam, csak C=64-et és Amigákat.
Úgy értem, ilyen módon, amit írtam.
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.
Nem azt mondom, hogy neked bármi miatt assembly-ben kellett volna ezt írnod, illetve bármi előnyöd származott volna belőle. Csak azt mondom, hogy 20 évvel ezelőtt, amikor mi hasonló dolgokat csináltunk (demók, játékok), akkor assembly-t használtunk és rácsodálkoztam, hogy valaki máshogy közelíti meg, mint mi akkor. Hogy mi miért assembly-ben az OS és interruptok letiltása után programoztunk annak két (lehet, hogy három) oka volt:
- az interruptok és a multitaszk rendszer bármikor elveheti a vezérlést. Ha a processzor annyira gyors, hogy egy erősen optimalizált ciklust megszakítás nélkül végrehajtva pont jól sikerül kirajzolnia egy képet, akkor logikus volt ezt a lehetőséget letiltani. Pl. egy pixel széles oszlopokból kirajzolt szinusz scroller nem hagyott sok időt másra.
- Nem az OS függvényeit hívtuk, hanem kézzel hajtottuk végre kb. ugyanazt (illetve gondolom néhány esetben egyszerűbbet, kevesebbet, csak annyit, amennyit éppen kellett. Elhagyva ilyen-olyan paraméterek vizsgálatát, elhagyva mondjuk nem kritikus hibák kezelését, stb.) Én nem teszteltem, de elfgoadtam amikor a nálam okosabbak és tapasztaltabbak azt mondták, hogy az OS függvényeket nem lehet használni mert túl lassúak.
- Simán lehet, hogy megszokás volt a legfontosabb. C=64-en assembly-ben toltuk, Amigán meg csak ugyanazt a megközelítést folytattuk.
És abban igazad van, hogy ha az OS függvényeit hívjuk, akkor nincs semmi értelme assembly-ből hívni. Én pont akkor kezdtem el sok év assembly programozás után C-t megtanulni és használni, amikor olyan programokat kezdtem írni Amigán, amik OS függvények hívásával dolgoztak. Viszont ezek nem próbáltak időkritikus módon video memóriát manipulálni, stb. Kitettek ilyen-olyan requestereket meg ablakot rajzoltak meg fájlokat nyitottak meg, írtak, másoltak, stb.)