** УTROIDS** УTEP 1: CREATE AN ASTEROID FIELD** УМК 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)* OBJ3D TABLESПВГЕО = $5781а;ГENTER OBJECT #а;ОOTE: WILL BUG IF 128 VIS OBJScx = $5800а;rOTATED/RELATIVECENTERShcx = $5880cy = $5900hcy = $5980cz = $5Б00hcz = $5Б80plistx equ $5В00а;pOINT LISTS (PROJECTED)plisty equ $5Г00РМЙУФЪ ЕСХ $5Д00* LIB3D STUFFГБМГНБФ equ $8800БГГТПФШ equ $8803БГГТПФЩ equ $8806БГГТПФЪ equ $8809ЗМПВТПФ equ $880cТПФРТПК equ $880fРПМЩЖЙММ equ $8812РМПФ ЕСХ $8815ДТБЧМЙОЕ ЕСХ $8818ЦЕТУЙПО ЕСХ $881ВРС equ $0200а;pOINT QUEUEЖЙММРБФ = $ВВа;РATTERN TABLE POINTERЦЙЕЧНБФ = $4БШПЖЖУЕФ = $53а;ГENTER OF SCREENЩПЖЖУЕФ = $54* ФABLESНХМФМП ЕСХ $Г100а;TABLE OF X^2НХМФИЙ ЕСХ $Г400*===============================ВМБИ = $02TEMP = $58POINT = $5Aа;TWO BYTESШ1 = $60а;МINE X-COORDЩ1 = $62Ш2 = $64Щ2 = $66** ИANDLE THE ASTEROID FIELD.** ФHE FIELD IS CHARACTERIZED BY A "DENSITY", WHICH DETERMINES THE TOTAL MASS* OF THIS PART OF THE FIELD.  ФHE ENTIRE FIELD IS NOT KEPT TRACK OF; RATHER,* THE FIELD ONLY EXISTS IN A SMALL AREA SURROUNDING THE PLAYER.** БLGORITHM HAS THREE PARTS:*  1) ЙF BELOW DENSITY THEN CREATE NEW ASTEROIDS.*  2) ДRIFT ASTEROIDS*  3) ГHECK FOR COLLISIONS**ПВУ = $0800а;ПBJECT RECORDSФБВ1 = $0700а;TEMPORARY TABLEЗЕФЙО = $ЖЖЕ4УTROIDS КУТ ЙNIT МДБ #00 УФБ ГХТД:LOOP КУТ ГHECKДENSITY КУТ ДRIFTУTROIDS КУТ УETТADAR МДШ ЦПВа;ГALCULATE VIEW КУТ ГALCЦIEW КУТ УORTЦISа;УORT OBJECTS КУТ ДRAWБLLЦISа;ДRAW OBJECTS КУТ ДRAWТADAR КУТ ГHECKЖIRE КУТ УWAPВUF МДШ ТПВа;УET ROTATION OBJECT КУТ УETГURПB МДБ ЦЕМПГЙФЩ КУТ НOVEЖORWARDS:WAIT МДБ ЙТСЖМБЗ ВЕС :WAIT МДБ #00 УФБ ЙТСЖМБЗ КУТ ЗЕФЙО ГНР #'A' ВЕС :PITCHDN ГНР #'Z' ВЕС :PITCHUP ГНР #'Q' ВЕС :ROLLL ГНР #'W' ВЕС :ROLLR ГНР #'S' ВЕС :YAWL ГНР #'D' ВЕС :YAWR ГНР #'@' ВЕС :INCVEL ГНР #'/' ВЕС :DECVEL ГНР #'+' ВЕС :INCDENS ГНР #'-' ВЕС :DECDENS ГНР #'=' ВЕС :WIRE ГНР #' ' ВЕС :SWAP ГНР #'R' ВЕС :RAD МДШ КПЩ ВОЕ :JOYSTICK ВЕС :LOOP:SWAP МДШ ЦПВа;УWAP VIEWPOINT КУТ УETГURПB КУТ ЗETОEXTПB УФШ ЦПВ КНР :LOOP:WIRE МДБ УПМЙДРПМ ЕПТ #$80 УФБ УПМЙДРПМ КНР :LOOP:YAWR ГМГ ДЖВ $24:YAWL УЕГ КУТ ЩAW КНР :LOOP:PITCHUP ГМГ ДЖВ $24:PITCHDN УЕГ КУТ РITCH КНР :LOOP:ROLLL ГМГ ДЖВ $24:ROLLR УЕГ КУТ ТOLL КНР :LOOP:INCDENS ЙОГ ДЕОУЙФЩ КНР :LOOP:DECDENS ДЕГ ДЕОУЙФЩ КНР :LOOP:INCVEL ЙОГ ЦЕМПГЙФЩ КНР :LOOP:DECVEL ДЕГ ЦЕМПГЙФЩ КНР :LOOP:RAD МДБ ТБДЖМБЗ ЕПТ #$80 УФБ ТБДЖМБЗ КНР :LOOP:JOYSTICK ФШБ БОД #$01 ВОЕ :PITCHDN ФШБ БОД #$02 ВОЕ :PITCHUP ФШБ БОД #$04 ВОЕ :YAWL ФШБ БОД #$08 ВОЕ :YAWR КНР :LOOPЦЕМПГЙФЩ ДЖВ 00** ДRAWТADAR -- ГOMPUTE AND DRAW RADAR* DISPLAY, BY CREATING A NEW OBJECT WHOSE POINTS ARE SIMPLY THE* (SCALED) OBJECT CENTERS.*ТБДПЖЖ = 24а;УIZE OF RADARТБДЖМБЗ ДЖВ #$00а;ТADAR TOGGLEЙДЕОФЙФЩ ДЖВ 64,0,0а;ЙDENTITY MATRIX ДЖВ 0,64,0 ДЖВ 0,0,64* УET RADAR CENTER TO VIEW CENTERУETТADAR МДШ ЦПВ КУТ УETГURПB УФБ ФЕНР УФЩ ФЕНР+1 МДШ #00 КУТ УETГURПB УФБ РПЙОФ УФЩ РПЙОФ+1 МДЩ #5:L МДБ (ФЕНР),Щ УФБ (РПЙОФ),Щ ДЕЩ ВРМ :LRTS2 ТФУДRAWТADAR МДБ ТБДЖМБЗ ВНЙ RTS2 МДШ #00 КУТ ЗETПBJ УФБ РПЙОФ УФЩ РПЙОФ+1 МДЩ #ПBГENРOS МДБ (РПЙОФ),Щ ФБШ МДБ #200а;ЖIRST, CHEAT THE CENTER УФБ ГЪ,Ша;BY PUTTING IT AT (0,0,200); NOTE RADAR IS OBJECT 0 МДБ #03а;(SO PROJECTION WILL WORK OUT CORRECTLY -- DON'T WANT УФБ ИГЪ,Ша;NEGATIVE POINTS!) МДШ #8:L1 МДБ ЙДЕОФЙФЩ,Ш УФБ ЦЙЕЧНБФ,Ша;ДON'T ADD ANY EXTRA VIEWPOINT ROTATION ДЕШ ВРМ :L1 МДШ ОХНПВКУ ДЕШ УФШ ТБДПВК+1а;ОUMBER OF POINTS ФШБ ГМГ БДГ #<ТБДДБФ УФБ ФЕНРа;Y-COORDS МДБ #>ТБДДБФ БДГ #00 УФБ ФЕНР+1 ФШБ БДГ ФЕНР УФБ РПЙОФа;Z-COORDS МДБ ФЕНР+1 БДГ #00 УФБ РПЙОФ+1 МДЩ #00а;ПRDER DOESN'T MATTER:LOOP МДБ ГШ,Ш УФБ Ш1 МДБ ИГШ,Ш КУТ ДЙЦ8Ш1 УФБ ТБДДБФ,Щ МДБ ГЩ,Ш УФБ Ш1 МДБ ИГЩ,Ш КУТ ДЙЦ8Ш1 УФБ (ФЕНР),Щ МДБ ГЪ,Ш УФБ Ш1 МДБ ИГЪ,Ш УФБ ФБВ1,Ща;ТEMEMBER SIGN КУТ ДЙЦ8Ш1 УФБ (РПЙОФ),Щ ЙОЩ:SKIP ДЕШ ВОЕ :LOOPа;0 IS RADAR OBJECT УФЩ ТБДПВК+1а;ОUMBER OF POINTS МДБ ШПЖЖУЕФа;ГHANGE COORDINATE OFFSETS РИБ МДБ ЩПЖЖУЕФ РИБ МДБ #ТБДПЖЖ УФБ ШПЖЖУЕФа;ХPPER-LEFT CORNEROF SCREEN УФБ ЩПЖЖУЕФ МДШ #00 КУТ ТOTДRAW РМБ УФБ ЩПЖЖУЕФ РМБ УФБ ШПЖЖУЕФ:LOOP2 МДЩ ТБДПВК+1а;ОOW PLOT EACH POINT ДЕЩ МДБ РМЙУФШ,Щ УФБ Ш1 МДБ РМЙУФШ+$80,Щ УФБ Ш1+1 МДБ РМЙУФЩ,Щ УФБ Щ1 МДБ РМЙУФЩ+$80,Щ УФБ Щ1+1 МДБ #ТБДПЖЖа;МINE FROM CENTER TO POINT УФБ Ш2 УФБ Щ2 МДБ #00 УФБ Ш2+1 УФБ Щ2+1 МДБ #<ГПМПТ2а;УET FILL PATTERN УФБ ЖЙММРБФ МДБ #>ГПМПТ2 УФБ ЖЙММРБФ+1 МДБ ФБВ1,Ща;ХSE DIFFERENT COLORS ВНЙ :DRAWа;FOR FRONT/BACK МДБ #<ГПМПТ1 УФБ ЖЙММРБФ МДБ #>ГПМПТ1 УФБ ЖЙММРБФ+1:DRAW КУТ ДRAWМINE*        КУТ РМПФ     ;БND PLOT! ДЕГ ТБДПВК+1 ВОЕ :LOOP2:RTS ТФУа;ЧHEW!** ДIVIDE Ш1,.Б BY 8 AND NORMALIZE*ДЙЦ8Ш1 ГНР #$80 ТПТ ТПТ Ш1 ГНР #$80 ТПТ ТПТ Ш1 ГНР #$80 ТПТ ТПТ Ш1 БОД #$ЖЖа;ВНЙ, ВЕС ON EXIT ВРМ :POSа;ГHECK BETWEEN -95..94 ГНР #$ЖЖ ВОЕ :NEG95 МДБ Ш1 ГНР #0-96 ВГУ :RTS:NEG95 МДБ #0-96а;FUDGE A BIT:RTS ТФУ:POS ВОЕ :POS95 МДБ Ш1 ГНР #96 ВГГ :RTS:POS95 МДБ #95 ТФУ** ИANDLE FIRE SPECIAL*ГHECKЖIRE МДБ КПЩ БОД #$10 ВОЕ МASE УФБ МГПХОФRTS1 ТФУМГПХОФ ДЖВ 00МASE ЙОГ МГПХОФ МДБ МГПХОФ БОД #$03 ВЕС RTS1 МДБ #00 УФБ Щ1+1 УФБ Щ2+1 УФБ Ш2+1 УФБ Ш1+1а;БSSUME LINE FROM LEFT УФБ Ш1 МДБ #199 УФБ Щ1 МДБ #99 УФБ Щ2 МДБ УГТГЕО УФБ Ш2 МДБ #<РБФУа;ХSE SOLID PATTERN УФБ ЖЙММРБФ МДБ #>РБФУ УФБ ЖЙММРБФ+1 МДБ МГПХОФ БОД #$04 ВЕС :DRAW МДБ Ш2а;ДRAW FROM RIGHT БУМа;CENTER*2 УФБ Ш1 ТПМ Ш1+1:DRAW КНР ДRAWМINE** ФHE НY ROUTINES -- BASICALLY* JUST KEEP TRACK OF NUMBER OF* OBJECTS (YEP, SHOULD HAVE INCLUDED AN* OBJ3D FUNCTION TO DO THIS.*ОХНПВКУ ДЖВ 00НYБDDПBJ ЙОГ ОХНПВКУ КНР БDDПBJНYДELПBJ ДЕГ ОХНПВКУ КНР ДELПBJ** ДENSITY -- ГHECK IF WE ARE AT THE RIGHT DENSITY.*   ЙF NOT, THEN CREATE NEW ASTEROIDS.*ДЕОУЙФЩ ДЖВ 15ГХТД ДЖВ 00а;ГURRENT DENSITYГHECKДENSITY МДБ $ДГ04а;УEMI-RANDOM БОД #$07 ВЕС RTS1 ФБШа;ЧIEGHT ГМГ БДГ ГХТД ГНР ДЕОУЙФЩ ВГУ RTS1а;ДON'T ALWAYS CREATE ONE УФБ ГХТД МДБ #<УНБММПВК МДЩ #>УНБММПВК ГРШ #1 ВЕС :CREATE МДБ #<НЕДПВК МДЩ #>НЕДПВК ГРШ #4 ВГГ :CREATE МДБ #<ВЙЗБУУ МДЩ #>ВЙЗБУУ:CREATE КУТ НYБDDПBJа;ЧEIGHT IS ЙД УФБ РПЙОФ УФЩ РПЙОФ+1 КУТ ОEWГOORD МДЩ #00 УФБ (РПЙОФ),Щ ЙОЩ ФШБ УФБ (РПЙОФ),Щ КУТ ОEWГOORD ЙОЩ УФБ (РПЙОФ),Щ ЙОЩ ФШБ УФБ (РПЙОФ),Щ КУТ ОEWГOORD ЙОЩ УФБ (РПЙОФ),Щ ЙОЩ ФШБ УФБ (РПЙОФ),Щ МДБ $ДГ04 ВРМ :AND ПТБ #$Ж8 ДЖВ $2Г:AND БОД #$07 ПТБ #01 МДЩ #ПBJХSERа;ЦELOCITY УФБ (РПЙОФ),Щ КУТ ТANDY РИБ КУТ ТANDY РИБ КУТ ТANDY ФБШ РМБ ФБЩ РМБ КУТ УETНATа;ТANDOM ORIENTATION КНР ГHECKДENSITY** ЗENERATE A COORDINATE OFFSET IN .БШ*ОEWГOORD КУТ ТANDY МДШ #$01 МУТ ВГГ :ROL МДШ #$ЖЕ:ROL ТПМ ТФУ** ТANDY -- ЗENERATE A RANDOM NUMBER USING MIDDLE-SQUARES*БТМЕО ДЖВ 00а;НAX SEQUENCE LENGTHТБОД ДЖВ 00ТANDY УФЩ ФЕНР+1 ДЕГ БТМЕО ВРМ :GRAND МДБ $ДГ04а;ТE-SEED ПТБ #$10а;НAKE SURE NONZERO УФБ ТБОД МДБ #30 УФБ БТМЕО:GRAND МДЩ ТБОД МДБ НХМФИЙ,Щ УФБ ФЕНР МДБ НХМФМП,Ща;.Б,ФЕНР = X^2/4 МУТ ФЕНР ТПТ МУТ ФЕНР ТПТа;ОOW = MIDDLE 8 BITS ГНР ТБОД ВОЕ :STA ЕПТ #%10101010:STA УФБ ТБОД МДЩ ФЕНР+1 ТФУ** ДRIFTУTROIDS** ЗOES THROUGH ALL ASTEROIDS, MOVING* EACH FORWARDS.  БSTEROIDS WHICH DRIFT* OUT OF THE PLAY AREA ARE REMOVED.*ДRIFTУTROIDS МДШ #00а;БLWAYS PRESENT КУТ УETГURПB:LOOP КУТ ЗETОEXTПB УФБ РПЙОФ УФЩ РПЙОФ+1 ФШБ ВЕС :RTS МДЩ #ПBJЙД МДБ (РПЙОФ),Щ ВНЙ :LOOPа;ЖIND FIRST STROID МДЩ #ПBJХSER МДБ (РПЙОФ),Ща;ЦELOCITY КУТ НOVEЖORWARDS МДЩ #01а;ГHECK IF LEFT PLAY AREA МДБ (РПЙОФ),Щ ВРМ :C1 ЕПТ #$ЖЖ ГМГ БДГ #01:C1 ГНР #06а;БROUND 3000 UNITS WIDE TOTAL ВГУ :DEL МДЩ #03 МДБ (РПЙОФ),Щ ВРМ :C2 ЕПТ #$ЖЖ ГМГ БДГ #01:C2 ГНР #06 ВГУ :DEL МДЩ #05 МДБ (РПЙОФ),Щ ВРМ :C3 ЕПТ #$ЖЖ ГМГ БДГ #01:C3 ГНР #06 ВГГ :LOOP:DEL МДЩ #ПBJЙДа;ТETURN MASS МДБ ГХТД УВГ (РПЙОФ),Щ УФБ ГХТД КУТ ЗETГURПBа;УET .Ш КУТ НYДELПBJ КНР :LOOP:RTS ТФУ** ЙТС ROUTINE*ЙТСЖМБЗ ДЖВ 00КПЩ ДЖВ 00ЖЙТЕ ДЖВ 00ИЙФ ДЖВ 00ЕШРМПДЕ ДЖВ 00ФИТХУФ ДЖВ 00ЙТС ЙОГ ЙТСЖМБЗ МДБ $ДГ00 ЕПТ #$ЖЖ БОД #$1Ж УФБ КПЩ МДБ ЖЙТЕ ВЕС :C1 КУТ УOUNDЖIRE:C1 МДБ ИЙФ ВЕС :C2 КУТ УOUNDИIT:C2 МДБ ЕШРМПДЕ ВЕС :C3 КУТ УOUNDЕXPLODE:C3 МДБ ФИТХУФ ВЕС :BYE КУТ УOUNDФHRUST:BYE КНР $ЕБ7ВУOUNDЖIREУOUNDИITУOUNDЕXPLODEУOUNDФHRUST ТФУ** ЙNIT CODE*УГТГЕО ДЖВ 00УПМЙДРПМ ДЖВ $80ЙNIT УЕЙ МДБ #<ЙТС УФБ $0314 МДБ #>ЙТС УФБ $0315 ГМЙ МДБ #$76 УФБ $01 МДБ $Д011 ПТБ #$20а;ВITMAP MODE УФБ $Д011 МДБ #$08а;ВITMAP -> $6000 УФБ $Д018 МДБ $ДД00 БОД #$Ж8 ПТБ #$02а;ВANK 1 УФБ $ДД00 МДБ #$80 УФБ $028Ба;БLL KEYS REPEAT МДБ #00 УФБ ОХНПВКУ УФБ ЦЕМПГЙФЩ КУТ ЦЕТУЙПОа;ЙF MULTICOLOR... ВРМ :HIRES МДБ $Д016 ПТБ #$10 УФБ $Д016 МДБ #79 ДЖВ $2Г:HIRES МДБ #159 УФБ УГТГЕО КУТ ГLRГOLНAP МДБ #<ПВУа;ПBJECT RECORDS МДЩ #>ПВУ КУТ ЙNIT3Д МДБ #<ТБДПВК МДЩ #>ТБДПВК МДШ #$ЖЖ КУТ НYБDDПBJа;ТADAR OBJECT = OBJECT 0 МДБ #<ФЕФДБФа;ПBJECT DATA МДЩ #>ФЕФДБФ МДШ #$80а;ЙД КУТ НYБDDПBJ УФШ ЦПВа;ЦIEW OBJECT МДБ #<УФБТДБФ МДЩ #>УФБТДБФ МДШ #$81 КУТ НYБDDПBJ УФШ ТПВа;ТOTATE OBJECT УФБ РПЙОФа;ПBJECT POINTER УФЩ РПЙОФ+1 МДЩ #5а;УET CENTER:L1 МДБ ПГЕО,Щ УФБ (РПЙОФ),Щ ДЕЩ ВРМ :L1* УET UP BITMAP, POINTERS ETC.УWAPВUFа;УWAP BUFFERS AND CLEAR МДБ $ДД00 ЕПТ #$03 УФБ $ДД00 МДШ #$60а;ВITMAP AT $6000 OR $Б000 МУТ ВГУ :SETP МДШ #$Б0:SETP МДБ УПМЙДРПМа;УOLID POLYGONS ГНР #$80 МДБ #<РБФУа;РATTERN TABLE МДЩ #>РБФУ КУТ УETРARMSГLRВITMAP ГРШ #$Б0 ВЕС :CLEARA МДЩ #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 ТФУ:CLEARA МДЩ #00 ФЩБ:LOOP2 УФБ $Б000,Щ УФБ $Б100,Щ УФБ $Б200,Щ УФБ $Б300,Щ УФБ $Б400,Щ УФБ $Б500,Щ УФБ $Б600,Щ УФБ $Б700,Щ УФБ $Б800,Щ УФБ $Б900,Щ УФБ $ББ00,Щ УФБ $БВ00,Щ УФБ $БГ00,Щ УФБ $БД00,Щ УФБ $БЕ00,Щ УФБ $БЖ00,Щ УФБ $В000,Щ УФБ $В100,Щ УФБ $В200,Щ УФБ $В300,Щ УФБ $В400,Щ УФБ $В500,Щ УФБ $В600,Щ УФБ $В700,Щ УФБ $В800,Щ УФБ $В900,Щ УФБ $ВБ00,Щ УФБ $ВВ00,Щ УФБ $ВГ00,Щ УФБ $ВД00,Щ УФБ $ВЕ00,Щ УФБ $ВЖ00,Щ ЙОЩ ВОЕ :LOOP2 ТФУГLRГOLНAPа;ПNLY NEED TO CALL ONCE МДШ #00 МДБ #$12:LOOP УФБ $4000,Ш УФБ $4100,Ш УФБ $4200,Ш УФБ $4300,Ш УФБ $8000,Ш УФБ $8100,Ш УФБ $8200,Ш УФБ $8300,Ш ЙОШ ВОЕ :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 ИЕШ ББББББББББББББББГПМПТ1 ИЕШ 5555555555555555ГПМПТ2 ИЕШ ББББББББББББББББ** tEST OBJECT 1: SIMPLE TETRAHEDRON*ВЙЗБУУФЕФДБФ ДЖВ 0а;ОORMAL OBJECT ДЖВ 4а;ОUMBER OF POINTS ДЖВ 4а;ОUMBER OF FACES* РOINT LISTФЕФШ ДЖВ 52,52,0-52,0-52tety ДЖВ 52,0-52,52,0-52tetz ДЖВ 52,0-52,0-52,52* Ж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** tEST OBJECT 2: MEDIUM OBJECT*НЕДПВК ДЖВ 0а;ОORMAL OBJECT ДЖВ 4а;ОUMBER OF POINTS ДЖВ 4а;ОUMBER OF FACES* РOINT LIST ДЖВ 30,30,0-30,0-30 ДЖВ 30,0-30,30,0-30 ДЖВ 30,0-30,0-30,30* ЖACE LIST ДЖВ 3а;ОUMBER OF VERTICES ДЖВ ДЙФИЕТ1а;ЖILL PATTERN ДЖВ 0,1,2,0а;ЦERTICES ДЖВ 3 ДЖВ ДЙФИЕТ2 ДЖВ 3,2,1,3 ДЖВ 3 ДЖВ ВТЙГЛ ДЖВ 3,0,2,3 ДЖВ 3 ДЖВ УПМЙД ДЖВ 3,1,0,3** ПBJECT 3: SMALL OBJECT*УНБММПВК ДЖВ 0а;ОORMAL OBJECT ДЖВ 4а;ОUMBER OF POINTS ДЖВ 4а;ОUMBER OF FACES* РOINT LIST ДЖВ 10,10,0-10,0-10 ДЖВ 10,0-10,10,0-10 ДЖВ 10,0-10,0-10,10* ЖACE LIST ДЖВ 3а;ОUMBER OF VERTICES ДЖВ ЪЙЗУа;ЖILL PATTERN ДЖВ 0,1,2,0а;ЦERTICES ДЖВ 3 ДЖВ ЪБЗУ ДЖВ 3,2,1,3 ДЖВ 3 ДЖВ ИУФТЙРЕУ ДЖВ 3,0,2,3 ДЖВ 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** ТADAR OBJECT.  ФO DO THE RADAR, AN OBJECT IS USED WHOSE POINTS ARE SIMPLY* THE TRANSLATED AND ROTATED OBJECT CENTERS.  ФHIS OBJECT IS THEN PROJECTED* USING THE OBJ3D ROUTINES, AND THE POINTS PLOTTED.*ТБДПВК ДЖВ 0а;ОORMAL OBJECT ДЖВ 0а;ОUMBER OF POINTS ДЖВ 0а;ОUMBER OF FACES* РOINT LISTТБДДБФ