"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

TI-92 cube demo

MetalBlade 28.02.2002 - 23:04 936 4
Posts

MetalBlade

stainless steel
Avatar
Registered: Feb 2001
Location: Linz
Posts: 1052
jo, das eh schonmal an thread mit ti92 programmieren gegeben hat muss ich mal a kleines programm posten :)

da ich grad wieder a bissl mehr zeit hab und wieder a bissl was fürn ti92 machen will (es gibt einfach zu wenig gute spiele dafür ;)) hab ich mal zum 'aufwärmen' gestern&heute den klassischen 3d-cube gecoded...

linien werden nach bresenham algorithmus gezeichnet ;) wenn mans ohne do-nothing-loop laufen lasst gehts so schnell das ma nix mehr sieht

gibts zwar sicher schon a paar progs von der sorte aber vielleicht will sichs ja trotzdem wer anschaun :)



so schauts aus (shot ausm emu)
cube_v02_shot_5291.gif (downloaded 61x)

MetalBlade

stainless steel
Avatar
Registered: Feb 2001
Location: Linz
Posts: 1052
und das programm selber...

fargo2 brauchts, librarys sollt ma keine brauchen - is alles selbergemacht...

mit den cursor tasten kann ma zusätzlich noch a bissl "rumdrehen" und mit der hand kommt ma wieder raus


file in cube_v02.92p umbenennen...
cube_v02_5292.zip (downloaded 107x)

noledge

CWNE #540
Avatar
Registered: Apr 2001
Location: ::1
Posts: 6837
w00t, "benchmark"-funktion auch schon drinn? :D

MetalBlade

stainless steel
Avatar
Registered: Feb 2001
Location: Linz
Posts: 1052
hehe, fps könnt ich anzeigen lassen, müsst ich aber zuerst den timer-interrupt (350hz) wieder enablen, wirds wahrscheinlich a bissl langsamer dadurch...

najo, zuerst noch a bissl auf size optimieren (auf kosten der geschwindigkeit halt) ... 830 brutto lines sans daweil

MetalBlade

stainless steel
Avatar
Registered: Feb 2001
Location: Linz
Posts: 1052
also das in C 800 lines a bissl viel wärn is sowieso klar, is natürlich alles asm...

bin mir auch der tatsache voll und ganz bewusst das ein 'cube' keinesfalls irgendetwas besonders tolles ist und erhebe auch keinerlei anspruch darauf deshalb ein 13373|2 coder zu sein...

zu den (zu?)vielen lines muss ich mich aber noch verteidigen ;)
- erstens hab ich eh brutto geschrieben, das heist da sind asm-üblich ein haufen leer und kommentarzeilen drinnen...
- zweitens is natürlich alles selbstgemacht und teilweise unnötige sachen drinnen... allein schon die funktion für die ausgabe der dezimalzahlen unten hat 100lines, dann frag ich die keyboardmatrix auf pfeiltasten und hand ab - braucht auch a bissl was, es wird auch a screen-buffer allociert damits ned flimmert..., und die line braucht auch ca 150 lines - is ned so einfach am ti92 weil die pixel jeweils nur durch 1bit dargestellt werdn ... ausserdem is alles jeweis in der 'schnellen' statt in der 'kleinen' variante gemacht, also lieber 4x die selbe instruction dortstehen als extra a schleiffn machen... zu gut der letzt hat der 'daten-teil' auch ca 100 zeilen weil besonders da viel mit leerzeilen draufgeht...
und ich zeichne zB. die linien vom würfel ned in ner schleife in der ich abcheck welche punkte miteinander verbunden gehören und dann die line ziehe sondern ich zeichne 12x 'manuell' die richtige linie was pro aufruf 6 zeilen braucht...
im nachhinein gesehen hätte ma sicher so einiges auf size statt auf speed optimieren können weil eh noch relativ viel rechenzeit übrig ist...


die rotationen hab ich nicht über matrizen gemacht sondern 'ganz normal' (?) gerechnet - hab mich auch noch nie mit dem rotieren über matrizen beschäftigt, weis auch nicht was der vorteil davon ist - wenn du mich darüber aufklären könntest oder irgendwelche tutorials für mich hast wär ich dankbar ;)

fallst du mit vertex-sharing meinst das ich jeden punkt nur 1x berechne - natürlich :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz