 ** Ï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
