Lavina of Gotu Creative Commons License 2018.05.29 0 0 8690

Ha ennyire gyors kód kell, akkor lehetett venni 4 és 8 MHz-es CPU kártyákat, Flash8, stb.. Nem muszáj az eredeti hardvert erőltetni. Ott van régóta a Turbo chameleon 64, mégse látok 1 demót, stb.-t se írva, ami kihasználná a kb. 14-16 MHz-et. Pedig több 100-at eladtak ebből.

 

Pont ezzel tapintottál a lényegre. A limitációt kell kihasználni.

 

Miért lenne lassú egy rövidebb, de ciklusokkal dolgozó kód, mint egy hosszabb, de ciklusok nélküli? Pl. a demóeffektednél.

 


Azért, mert a ciklusszámláló (és általában ilyenkor egyben indexáló) növelése/csökkentése, pl. INX +1 byte és 2 ciklusidő, annak figyelése pl. CPX #$NN +2 byte és +2 ciklusidő, + az ezekhez tartozó branch utasítás + 2 byte és +2 ciklusidő = +5 byte és +6 ciklusidő MINDEN CIKLUSBAN, tehát szorozva #$NN -el a plusz teher. Ez a kis effektemnél maradva alsó hangon is még + 1920 byte és + 2304 cpu ciklus, ha csak a render beviteli oldalát számolom, az outputot nem, mert így számoltam ki az előbbiekben a nondocumented opcode-ok hatását is.

 

Ezzel visszakanyarodtunk az eredeti kérdéshez: MIÉRT?

 

https://whatis.techtarget.com/definition/demo-and-demoscene

 

A demo is a non-interactive multimedia presentation that is rendered in real time .

 

Demos are usually created to showcase some or all of the following: computer hardware and/or software capabilities ... and/or the abilities of the programmer.

 

Láttam már C64 demót, ami ezzel az idézettel kezdődött, pont azért, hogy ha valaki véletlenül egy PC fókuszú partyn meglát egy oldschool demót 8bitre, akkor értse, hogy miről is szól a retroprogramozás, limitációk mentén.