* * ÏBJ3D TEST CODE * * ÓÌÊ 4/99 *  ÏÒÇ $1000 ÏBJÃØ = 0 ÏBJÃÙ = 2 ÏBJÃÚ = 4 ÏBJÄATA = 6 ÏBJÉÄ = 8 ÏBJÕSER = 9 ÏBÃENÐOS = 10 ÏBJÃØÒEM = 11 ÏBJÃÙÒEM = 12 ÏBJÃÚÒEM = 13 ÏBJÍAT = 14 ÏBJÓIZE = 32à;32 BYTES TOTAL à;ÊUMP TABLE ÉNIT3Ä = $5000à;ÉNITIALIZE LIB3D ÁDDÏBJ = ÉNIT3Ä+3à;ÁDD OBJECT TO OBJECT LIST ÄELÏBJ = ÁDDÏBJ+3à;ÄELETE OBJECT FROM LIST ÓETÃURÏB = ÄELÏBJ+3à;ÓET CURRENT OBJECT ÇETÃURÏB = ÓETÃURÏB+3à;ÇET CURRENT OBJECT ÇETÎEXTÏB = ÇETÃURÏB+3à;ÇET NEXT OBJECT IN LIST ÇETÏBJ = ÇETÎEXTÏB+3à;ÇET POINTER TO OBJECT ÓETÍAT = ÇETÏBJ+3à;ÃALCULATE AND SET OBJECT MATRIX ÐITCH = ÓETÍAT+3à;ÐITCH - ROTATE OBJECT AROUND X-AXIS ÙAW = ÐITCH+3à;ÙAW - ROTATE AROUND Y-AXIS ÒOLL = ÙAW+3à;ÒOLL - ROTATE AROUND Z-AXIS ÍOVEÓIDE = ÒOLL+3à;ÍOVE OBJECT ÍOVEÕP = ÍOVEÓIDE+3 ÍOVEÆORWARDS = ÍOVEÕP+3 ÇETÓIDEÖEC = ÍOVEÆORWARDS+3à;ÏRIENTATION VECTORS ÇETÕPÖEC = ÇETÓIDEÖEC+3à;(LENGTH=64) ÇETÆRONTÖEC = ÇETÕPÖEC+3 ÓETÐARMS = ÇETÆRONTÖEC+3à;ÓET RENDERING PARAMETERS ÓETÖISÐARMS = ÓETÐARMS+3à;ÓET VISIBILITY PARAMETERS ÃALCÖIEW = ÓETÖISÐARMS+3à;ÓET VIEWPOINT = OBJECT ÓORTÖIS = ÃALCÖIEW+3à;ÃOMPUTE AND SORT VISIBLE OBJECTS ÄRAWÁLLÖIS = ÓORTÖIS+3à;ÄRAW ALL VISIBLE OBJECTS ÄRAWÎEXTÖIS = ÄRAWÁLLÖIS+3à;ÄRAW NEXT OBJESIBLE OBJECT LIST ÒOTÄRAW = ÄRAWÎEXTÖIS+3à;ÒOTATE AND DRAW OBJECT ÄRAWÆACE = ÒOTÄRAW+3;ÄRAW SINGLE FACE (POLYGON) * LIB3D STUFF ÃÁÌÃÍÁÔ equ $8800 ÁÃÃÒÏÔØ equ $8803 ÁÃÃÒÏÔÙ equ $8806 ÁÃÃÒÏÔÚ equ $8809 ÇÌÏÂÒÏÔ equ $880c ÒÏÔÐÒÏÊ equ $880f ÐÏÌÙÆÉÌÌ equ $8812 ÐÌÏÔ ÅÑÕ $8815 ÄÒÁ×ÌÉÎÅ ÅÑÕ $8818 ÖÅÒÓÉÏΠÅÑÕ $881 ÐÑ equ $0200à;pOINT QUEUE *=============================== TEMP = $58à;TWO BYTES POINT = $5Aà;TWO BYTES Ø1 = $60à;ÌINE X-COORD Ù1 = $62 Ø2 = $64 Ù2 = $66 * * ÔEST CODE * * ÎICE PAIR OF TETS * ÏÂÓ = $0800à;ÏBJECT RECORDS ÇÅÔÉΠ= $ÆÆÅ4 ÔESTÃODE  ÌÄÁ $Ä011  ÏÒÁ #$20à;ÂITMAP MODE  ÓÔÁ $Ä011  ÌÄÁ #$08à;ÂITMAP -> $6000  ÓÔÁ $Ä018  ÌÄÁ $ÄÄ00  ÁÎÄ #$Æ8  ÏÒÁ #$02à;ÂANK 1  ÓÔÁ $ÄÄ00  ÌÄÁ #$80  ÓÔÁ $028Áà;ÁLL KEYS REPEAT  ÊÓÒ ÖÅÒÓÉÏÎà;ÉF MULTICOLOR...  ÂÐÌ :HIRES  ÌÄÁ $Ä016  ÏÒÁ #$10  ÓÔÁ $Ä016 :HIRES  ÊÓÒ ÃLRÃOLÍAP  ÌÄÁ #<ÏÂÓà;ÏBJECT RECORDS  ÌÄÙ #>ÏÂÓ  ÊÓÒ ÉNIT3Ä  ÌÄÁ #<ÔÅÔÄÁÔà;ÏBJECT DATA  ÌÄÙ #>ÔÅÔÄÁÔ  ÌÄØ #01à;ÉÄ  ÊÓÒ ÁDDÏBJ  ÓÔØ ÖÏÂà;ÖIEW OBJECT  ÌÄÁ #<ÓÔÁÒÄÁÔ  ÌÄÙ #>ÓÔÁÒÄÁÔ  ÌÄØ #02  ÊÓÒ ÁDDÏBJ  ÓÔØ ÒÏÂà;ÒOTATE OBJECT  ÓÔÁ ÐÏÉÎÔà;ÏBJECT POINTER  ÓÔÙ ÐÏÉÎÔ+1  ÌÄÙ #5à;ÓET CENTER :L1 ÌÄÁ ÏÃÅÎ,Ù  ÓÔÁ (ÐÏÉÎÔ),Ù  ÄÅÙ  ÂÐÌ :L1 :SEC ÓÅÃà;ÓOLID POLYGONS :SETP ÌÄØ #$60à;ÂITMAP AT $6000  ÌÄÁ #<ÐÁÔÓà;ÐATTERN TABLE  ÌÄÙ #>ÐÁÔÓ  ÊÓÒ ÓETÐARMS :LOOP  ÊÓÒ ÃLRÂITMAP  ÌÄØ ÖÏÂà;ÃALCULATE VIEW  ÊÓÒ ÃALCÖIEW  ÊÓÒ ÓORTÖISà;ÓORT OBJECTS  ÊÓÒ ÄRAWÁLLÖISà;ÄRAW OBJECTS  ÌÄØ ÒÏÂà;ÓET ROTATION OBJECT  ÊÓÒ ÓETÃURÏB :WAIT ÊÓÒ ÇÅÔÉÎ  ÂÅÑ :WAIT  ÃÍР#'A'  ÂÅÑ :PITCHDN  ÃÍР#'Z'  ÂÅÑ :PITCHUP  ÃÍР#'Q'  ÂÅÑ :ROLLL  ÃÍР#'W'  ÂÅÑ :ROLLR  ÃÍР#'S'  ÂÅÑ :YAWL  ÃÍР#'D'  ÂÅÑ :YAWR  ÃÍР#'@'  ÂÅÑ :MOVF  ÃÍР#'/'  ÂÅÑ :MOVB  ÃÍР#'='  ÂÅÑ :WIRE  ÃÍР#'*'  ÂÅÑ :SEC  ÃÍР#' '  ÂÎÅ :WAIT  ÌÄØ ÖÏÂà;ÓWAP VIEWPOINT  ÊÓÒ ÓETÃURÏB  ÊÓÒ ÇETÎEXTÏB  ÓÔØ ÖÏ  ÊÍР:LOOP :WIRE ÃÌà  ÂÃà:SETP :YAWR ÃÌà  ÄÆÂ $24 :YAWL ÓÅà  ÊÓÒ ÙAW  ÊÍР:LOOP :PITCHDN ÃÌà  ÄÆÂ $24 :PITCHUP ÓÅà  ÊÓÒ ÐITCH  ÊÍР:LOOP :ROLLL ÃÌà  ÄÆÂ $24 :ROLLR ÓÅà  ÊÓÒ ÒOLL  ÊÍР:LOOP :MOVF ÌÄÁ #$07  ÄÆÂ $2à :MOVB ÌÄÁ #$Æ9  ÊÓÒ ÍOVEÆORWARDS  ÊÍР:LOOP ÃLRÂITMAP  ÌÄÙ #00  ÔÙÁ :LOOP ÓÔÁ $6000,Ù  ÓÔÁ $6100,Ù  ÓÔÁ $6200,Ù  ÓÔÁ $6300,Ù  ÓÔÁ $6400,Ù  ÓÔÁ $6500,Ù  ÓÔÁ $6600,Ù  ÓÔÁ $6700,Ù  ÓÔÁ $6800,Ù  ÓÔÁ $6900,Ù  ÓÔÁ $6Á00,Ù  ÓÔÁ $6Â00,Ù  ÓÔÁ $6Ã00,Ù  ÓÔÁ $6Ä00,Ù  ÓÔÁ $6Å00,Ù  ÓÔÁ $6Æ00,Ù  ÓÔÁ $7000,Ù  ÓÔÁ $7100,Ù  ÓÔÁ $7200,Ù  ÓÔÁ $7300,Ù  ÓÔÁ $7400,Ù  ÓÔÁ $7500,Ù  ÓÔÁ $7600,Ù  ÓÔÁ $7700,Ù  ÓÔÁ $7800,Ù  ÓÔÁ $7900,Ù  ÓÔÁ $7Á00,Ù  ÓÔÁ $7Â00,Ù  ÓÔÁ $7Ã00,Ù  ÓÔÁ $7Ä00,Ù  ÓÔÁ $7Å00,Ù  ÓÔÁ $7Æ00,Ù  ÉÎÙ  ÂÎÅ :LOOP  ÒÔÓ ÃLRÃOLÍAPà;ÏNLY NEED TO CALL ONCE  ÌÄØ #00  ÌÄÁ #$12 :LOOP ÓÔÁ $4000,Ø  ÓÔÁ $4100,Ø  ÓÔÁ $4200,Ø  ÓÔÁ $4300,Ø  ÉÎØ  ÂÎÅ :LOOP  ÊÓÒ ÖÅÒÓÉÏÎ  ÂÐÌ :RTS  ÌÄÁ #00à;ÍULTICOLOR MODE  ÓÔÁ $Ä020  ÓÔÁ $Ä021  ÌÄÁ #14 :L2 ÓÔÁ $Ä800,Ø  ÓÔÁ $Ä900,Ø  ÓÔÁ $ÄÁ00,Ø  ÓÔÁ $ÄÂ00,Ø  ÉÎØ  ÂÎÅ :L2 :RTS ÒÔÓ ÖÏÂ ÄÆÂ 00à;ÖIEW OBJECT ÒÏÂ ÄÆÂ 00à;2ND OBJECT ÏÃÅΠÄÁ 00à;Ø-COORD  ÄÁ 00à;Ù-COORD  ÄÁ $0100à;Ú-COORD ÐÁÔÓà;ÐATTERN TABLE ÓÏÌÉÄ = 0  ÈÅØ ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ ÄÉÔÈÅÒ1 = 1  ÈÅØ 55ÁÁ55ÁÁ55ÁÁ55ÁÁ ÄÉÔÈÅÒ2 = 2  ÈÅØ ÁÁ55ÁÁ55ÁÁ55ÁÁ55 ÚÉÇÓ = 3  ÈÅØ ÅÅÄÄÂÂ77ÅÅÄÄÂÂ77 ÚÁÇÓ = 4  ÈÅØ 77ÂÂÄÄÅÅ77ÂÂÄÄÅÅ ÚÉÇÚÁÇ = 5  hex ÂÂ55ÅÅÆÆÂÂ55ÅÅÆÆ ÃÒÏÓÓÓÍ = 6  ÈÅØ 55ÅÅ55ÂÂ55ÅÅ55 ÂÒÉÃË = 7  ÈÅØ 00ÅÅÅÅÅÅ00 ÓÑÕÁÒÅÓ = 8  ÈÅØ ÆÆÁÁÆÆÁÁÆÆÁÁÆÆÁÁ ÉÎÖÓÑ = 9  ÈÅØ 0055005500550055 ÈÏÌÅÓ = 10  ÈÅØ ÂÄ7ÅÅ7ÄÂÄÂÅ77ÅÂÄ ÈÓÔÒÉÐÅÓ = 11  ÈÅØ ÆÆ00ÆÆ00ÆÆ00ÆÆ00 ÖÓÔÒÉÐÅÓ = 12  ÈÅØ ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ * * tEST OBJECT 1: SIMPLE TETRAHEDRON * ÔÅÔÄÁÔ  ÄÆÂ 0à;ÎORMAL OBJECT  ÄÆÂ 4à;ÎUMBER OF POINTS  ÄÆÂ 4à;ÎUMBER OF FACES * ÐOINT LIST ÔÅÔØ ÄÆÂ 45,45,0-45,0-45 tety ÄÆÂ 45,0-45,45,0-45 tetz ÄÆÂ 45,0-45,0-45,45 * ÆACE LIST ÆÁÃÅ1 ÄÆÂ 3à;ÎUMBER OF VERTICES  ÄÆÂ ÓÏÌÉÄà;ÆILL PATTERN  ÄÆÂ 0,1,2,0à;ÖERTICES ÆÁÃÅ2 ÄÆÂ 3  ÄÆÂ ÚÉÇÓ  ÄÆÂ 3,2,1,3 ÆÁÃÅ3 ÄÆÂ 3  ÄÆÂ ÃÒÏÓÓÓÍ  ÄÆÂ 3,0,2,3 ÆÁÃÅ4 ÄÆÂ 3  ÄÆÂ ÈÏÌÅÓ  ÄÆÂ 3,1,0,3 * * ÔEST OBJECT 2: A COMPOUND OBJECT, * SPACESHIP-KIND OF THING (ESSENTIALLY * COOL WORLD STARS) * ÓÔÁÒÄÁÔ  ÄÆÂ $80à;ÃOMPOUND OBJECT  ÄÆÂ 14à;ÎUMBER OF POINTS  ÄÆÂ 6à;ÎUMBER OF OBLETS * ÐOINT LIST  ÄÆÂ 50,0-50,0,0,0,0,15,15,15,15,0-15,0-15,0-15,0-15  ÄÆÂ 0,0,16,0-26,0,0,10,10,0-10,0-10,10,10,0-10,0-10  ÄÆÂ 0,0,0,0,94,0-22,15,0-15,0-15,15,15,0-15,0-15,15 * ÏBLET LIST: REFERENCE POINTS  ÄÆÂ 0à;ÆIRST 6 POINTS  ÄÆÂ 1  ÄÆÂ 2  ÄÆÂ 3  ÄÆÂ 4  ÄÆÂ 5 * ÏBLET 1  ÄÆÂ 26à;26 BYTES  ÄÆÂ 4à;4 FACES * FACES  ÄÆÂ 3à;4 POINTS  ÄÆÂ ÓÏÌÉÄà;PATTERN  dfb 0,8,7,0à;sTAR 2, tINE 0, FACE 1  ÄÆÂ 3  ÄÆÂ ÚÉÇÓ  ÄÆÂ 0,7,6,0  ÄÆÂ 3  ÄÆÂ ÚÁÇÓ  ÄÆÂ 0,6,9,0  ÄÆÂ 3  ÄÆÂ ÄÉÔÈÅÒ1  ÄÆÂ 0,9,8,0 * ÏBLET 2  ÄÆÂ 26à;26 BYTES  ÄÆÂ 4à;4 FACES  ÄÆÂ 3à;4 POINTS  ÄÆÂ ÚÉÇÓ  ÄÆÂ 1,11,12,1  ÄÆÂ 3  ÄÆÂ ÂÒÉÃË  ÄÆÂ 1,12,13,1  ÄÆÂ 3  ÄÆÂ ÄÉÔÈÅÒ2  ÄÆÂ 1,13,10,1  ÄÆÂ 3  ÄÆÂ ÚÁÇÓ  ÄÆÂ 1,10,11,1 * ÏBLET 3  ÄÆÂ 26à;26 BYTES  ÄÆÂ 4à;4 FACES  ÄÆÂ 3  ÄÆÂ ÓÑÕÁÒÅÓ  ÄÆÂ 2,7,11,2  ÄÆÂ 3  ÄÆÂ ÉÎÖÓÑ  ÄÆÂ 2,6,7,2  ÄÆÂ 3  ÄÆÂ ÄÉÔÈÅÒ1  ÄÆÂ 2,10,6,2  ÄÆÂ 3  ÄÆÂ ÄÉÔÈÅÒ2  ÄÆÂ 2,11,10,2 * ÏBLET 4  ÄÆÂ 26  ÄÆÂ 4  ÄÆÂ 3  ÄÆÂ ÃÒÏÓÓÓÍ  ÄÆÂ 3,12,8,3  ÄÆÂ 3  ÄÆÂ ÈÏÌÅÓ  ÄÆÂ 3,8,9,3  ÄÆÂ 3  ÄÆÂ ÖÓÔÒÉÐÅÓ  ÄÆÂ 3,9,13,3  ÄÆÂ 3  ÄÆÂ ÓÏÌÉÄ  ÄÆÂ 3,13,12,3 * ÏBLET 5  ÄÆÂ 26à;26 BYTES  ÄÆÂ 4à;4 FACES  ÄÆÂ 3  ÄÆÂ ÄÉÔÈÅÒ1  ÄÆÂ 4,9,6,4  ÄÆÂ 3  ÄÆÂ ÓÏÌÉÄ  ÄÆÂ 4,6,10,4  ÄÆÂ 3  ÄÆÂ ÄÉÔÈÅÒ2  ÄÆÂ 4,10,13,4  ÄÆÂ 3  ÄÆÂ ÈÓÔÒÉÐÅÓ  ÄÆÂ 4,13,9,4 * ÏBLET 6  ÄÆÂ 26à;26 BYTES  ÄÆÂ 4à;4 FACES  ÄÆÂ 3  ÄÆÂ ÚÉÇÚÁÇ  ÄÆÂ 5,8,12,5  ÄÆÂ 3  ÄÆÂ ÈÓÔÒÉÐÅÓ  ÄÆÂ 5,12,11,5  ÄÆÂ 3  ÄÆÂ ÖÓÔÒÉÐÅÓ  ÄÆÂ 5,11,7,5  ÄÆÂ 3  ÄÆÂ ÄÉÔÈÅÒ2  ÄÆÂ 5,7,8,5