;MIDAS MAZE.› MODULE››; CHECKSUM DATA›;[61 4F 6D B9 C9 38 9B 37›; 98 6A D4 94 37 3C E1 CC›; 66 F4 71 86 25 4D C2 DA›; C8 DD 8E 0C F2 7E 60 C4›; B0 C6 A0 DB EB 75 E1 2E›; CD BA 0D 76 60 2A 9B CE›; AC ]››;Your car's shape table.›; This holds the 4 direction ›; positions and each of them has 3›; animation shapes to them›BYTE ARRAY P0=[› 16 186 186 40 56 186 186 0› 16 56 186 40 56 186 56 0› 16 186 56 40 56 56 186 0› 0 186 186 56 40 186 186 16› 0 56 186 56 40 186 56 16› 0 186 56 56 40 56 186 16› 102 0 126 238 126 0 102 0› 36 0 126 238 126 0 36 0› 66 0 126 238 126 0 66 0› 102 0 126 119 126 0 102 0› 36 0 126 119 126 0 36 0› 66 0 126 119 126 0 66 0 ],››; Åîåíù ãáò óèáðå ôáâìå®›; Has the same as your car but›; different shape style› EP=[› 189 189 36 60 60 165 189 36› 60 189 36 60 60 165 60 36› 189 60 36 60 60 36 189 36› 36 189 165 60 60 36 189 189› 36 60 165 60 60 36 189 60› 36 189 36 60 60 36 60 189› 198 0 255 218 218 255 0 130› 68 0 255 218 218 255 0 68› 130 0 255 218 218 255 0 130› 99 0 255 91 91 255 0 99› 34 0 255 91 91 255 0 34› 65 0 255 91 91 255 0 99],››; Ãèáòáãôåò óåô äáôá®› CHST=[› 0 0 3 15 15 3 0 0› 0 0 0 192 192 0 0 0› 15 48 192 192 192 48 15 0› 192 48 12 12 12 48 192 0› 48 48 204 204 204 48 48 0› 255 0 0 0 0 0 255 0› 204 204 204 204 204 48 48 0› 48 48 204 204 204 204 204 204› 204 204 204 204 204 204 204 204› 192 192 192 192 192 192 192 192 › 12 12 12 12 12 12 12 12› 0 0 0 0 0 0 255 0› 255 0 0 0 0 0 0 0› 192 192 192 192 192 48 15 0› 12 12 12 12 12 48 192 0› 192 48 12 12 12 12 12 12› 15 48 192 192 192 192 192 192› 0 51 0 63 51 63 0 51› 0 0 0 85 0 0 0 0› 0 0 0 84 0 0 0 0› 16 16 16 16 16 16 16 0› 3 12 8 15 15 15 15 15› 192 240 240 240 240 240 240 240› 0 5 21 42 41 37 41 42› 0 80 84 168 104 88 104 168› 0 0 63 63 63 0 0 0› 0 0 240 245 240 0 0 0› 0 107 106 106 106 106 106 0› 0 253 253 253 189 189 173 0› 10 42 1 1 1 1 1 1› 128 144 0 0 0 0 0 0› 0 48 204 205 204 48 0 0› 0 0 0 84 16 0 0 0› 0 0 0 0 0 0 0 0› 51 15 12 60 252 255 60 15› 48 252 48 252 63 63 60 240],››; Ø ¦ Ù Ðïóéôéïîó for different›; screen objects.›; Èïòéúïîôáì ÷áììó®› PRL=[› 3 1 18 1 3 23 18 23 0 11 3 11 0› 13 3 13 9 4 18 4 9 11 15 11 12 7 15› 7 18 7 21 7 9 13 15 13 12 15 15 15› 40],››; Öåòôéãáì ÷áììó®› PUD=[› 3 1 3 11 3 13 3 23 6 3 6 11 6› 13 6 21 9 6 9 11 15 7 15 11 18 7 18› 11 9 13 9 21 12 15 12 21 18 13 18› 15 18 17 18 21 15 17 15 21 40],››; ×èéôå äïïòó®› DOOR=[› 3 12 15 14 10 7 19 1 10 21 16› 17 16 21 19 23 19 11],››; ÅÎÅÒÇÉÚÅÒÓ®› ENER=[› 10 14 16 19 4 7 28 14 22 19 34 7],› KEYS=[7 4 19 4 31 4 16 9 22 9› 7 17 31 17 19 14],› SPNA=[0 3 1 2],SCR,DLIST,T8M(12),› T3M(6),ST=632,PCOLR=704,HPOSP=53248,› HPOSM=53252,SIZEP=53256,MPL=53256,› AUDFC=53760,PARY,SH,SCOR(8),SC,› STX(5),STY(5),ODR(5),OSX(5),OSY(5),› CSX(5),CSY(5),CDX(5),CDY(5),SAX(5),› SAY(5),BRPO(5),DIR(5),DDU(5),DDD(5),› DDL(5),DDR(5),EH(5),EDF(4),PDF(5),› SPT(5),SPIN(5),SPN(5),ECT(4)›CARD ARRAY Y40(24),PAD(5)›CARD CHSET,DL,CLP0,PMTEMP,M0,PL0,PL1,›PL2,PL3,SHAD,GC,GG,POWER=[0],DELAY,›MBT›BYTE P106,LP0,LP1,R,PLX,PLY,DRX,DRY,›P0X,P0Y,P1X,P1Y,TALL,IC,S,S0,S1,PMTL,›SP=[2],PMNO,DI,TS0,TS1,TS2,TS3,STIK,›DCD,DCD0›BYTE› DDM,PMM,TM,SP1,PO,LB,SP0,ST0,ST1,› ST2,ST3,COL=[0],PT=[0],PD=[0],SSC,› XTRA=[3],OSCOR=[0],ESC=[2],ELP,SES,› MEM,INE=[0],THO=[1]››; ÏÓ ïò ÈÁÒÄ×ÁÒÅ ìïãáôéïîó®›BYTE RTCLOK=18,ATRACT=77,RAMTOP=106,› SDMCTL=559,GRPRIOR=623,STRIG0=644,› CHBAS=756,CH=764,PFCOLR2=53272,› P0C=53260,GRACTL=53277,HITCLR=53278,› CONSOL=53279,AUDCTL=53768,› PMBASE=54279,WSYNC=54282,› VCOUNT=54283››; Ðòéîôó óãïòå›PROC PRSCOR()› FOR SP0=0 TO 7 DO› SCR(10+SP0)=SCOR(SP0)+16› OD›RETURN››; Ãåãë æïò äéçéô ïöåòæìï÷›PROC SCLP()› LB=8› FOR SP1=0 TO 7 DO› LB==-1 PO=SCOR(LB)› IF PO>9 THEN› SCOR(LB)=SCOR(LB)-10› SCOR(LB-1)=SCOR(LB-1)+1› FI› OD›RETURN››; Ôáëåó ôèå öáòéáâìå ÁÄÄ áîä áääó›; éô ôï ùïõò óãïòå®›PROC SCORE(BYTE ADD)› IF ADD>0 THEN› ADD==-1› FOR SP0=0 TO ADD DO› SCOR(7)=SCOR(7)+1› SCLP() ;up data score› OD› FI› PRSCOR() ;Print it.›RETURN››; Áääó ÔÈ ôï ôèå ôèïõóáîäó ðïóéôéïî®›PROC THOUS(BYTE TH)› SCOR(4)==+TH› SCLP()› PRSCOR()›RETURN››; Áääó ÈÄ ôï èõîäòåäó ðïó®›PROC HUND(BYTE HD)› SCOR(5)==+HD› SCLP()› PRSCOR()›RETURN››; Ðìïô ÏΠôèå óãòååî®›PROC PL(BYTE PX,PY)› PLX=PX PLY=PY› SCR(PLX+Y40(PLY))=IC; Access screen.›RETURN››; Äòá÷ ãèáòáãôåòó ïî óãòååî›; éî èïòéúïîôáì ïò öåòôéãáì ìéîåó®›PROC DR(BYTE DX,DY)› DRX=DX DRY=DY› ;Find out which is greater› ; the plot or the drawto x position.› IF PLX<>DRX THEN› IF PLX>DRX THEN› S0=DRX S1=PLX› ELSE› S0=PLX S1=DRX› FI› IF IC=70 THEN› SCR(S0+Y40(DRY))=67› SCR(S1+Y40(DRY))=68› S0==+1 S1==-1› FI› FOR S=S0 TO S1 DO› SCR(S+Y40(DRY))=IC› OD› FI› ;Find out the greater y position.› IF PLY<>DRY THEN› IF PLY>DRY THEN› S0=DRY S1=PLY› ELSE› S0=PLY S1=DRY› FI› IF IC=73 THEN› SCR(PLX+Y40(S0))=72› SCR(PLX+Y40(S1))=71› TS0=SCR(DRX+1+Y40(S0))› TS2=SCR(DRX-1+Y40(S0))› ;Check for intersecting line and› ;add corners when needed.› IF TS0=70 THEN› SCR(DRX+Y40(S0))=80› FI› IF TS2=70 THEN› SCR(DRX+Y40(S0))=80› FI› TS1=SCR(DRX+1+Y40(S1))› TS2=SCR(DRX-1+Y40(S1))› IF TS1= 70 THEN› SCR(DRX+Y40(S1))=78› FI› IF TS2=70 THEN› SCR(DRX+Y40(S1))=79› FI› S0==+1 S1==-1› FI› FOR S=S0 TO S1 DO› SCR(DRX+Y40(S))=IC ;Plot character› OD ;on screen.› FI› ;Save drawto's values in plx and› ; ply variable for next drawto.› PLX=DRX PLY=DRY›RETURN››;Óåô­õð ðìáùåò áääòåóó áîä óèáðå›;áääòåóó áîä äéòåãôéïî æïò ÐÍßÇÏ ðòïã.›PROC PMST(CARD PMADR,SHADR,D)› ;Make array pray point to the› ;players ram area.› PARY=PMADR TM=T3M(D)› SHAD=SHADR DI=T8M(TM)› ;Check to see if player is player or› ;missle shaps.› IF PMADR>M0 THEN› PMNO=((PMADR-PMTEMP-1024)) RSH 8› ELSE› PMNO=4› FI›RETURN››;Ðõôó ôèå ðìáùåò ïò íéóóéìå óèáðå éî›;ôèå Ð¯Í íåíïòù áòåá çéöå éô§ó ù ðïó®›;áîä ðïëåó éô§ó èïòéúïîôáì ðïóéôéïî›;òåç.›PROC PM_GO(BYTE PMX,PMY,FR)› IF PMNO<4 THEN› HPOSP(PMNO)=PMX› ELSEIF PMNO=4 THEN› HPOSP(PMNO)=PMX+6› HPOSP(PMNO+1)=PMX+4› HPOSP(PMNO+2)=PMX+2› HPOSP(PMNO+3)=PMX› FI› SH=SHAD+((T8M(FR))+DI)› FOR TALL=0 TO SP DO› PARY((PMY-SP)+TALL)=0› PARY((PMY+7)+TALL)=0› OD› FOR TALL=0 TO 7 DO› PARY(PMY+TALL)=SH(TALL)› OD›RETURN››PROC VARSET(BYTE VN)› OSX(VN)=STX(VN)› OSY(VN)=STY(VN)› ODR(VN)=DIR(VN)› CSX(VN)=STX(VN)-48› CSY(VN)=STY(VN)-32› SAX(VN)=CSX(VN)&3› SAY(VN)=CSY(VN)&7› CDX(VN)=CSX(VN)/4› CDY(VN)=CSY(VN)/8›RETURN››PROC LOOK()› BYTE K0,K1,KP› IF STX(4)>52 AND STX(4)<192 THEN› DCD=SCR(CDX(4)+Y40(CDY(4)))› DCD0=SCR(CDX(4)+1+Y40(CDY(4)))› IF DCD=193 THEN› SCR(CDX(4)+Y40(CDY(4)))=0› SCR(CDX(4)+1+Y40(CDY(4)))=0› GG==+1› ST0=10› SCORE(5)› FI› IF DCD=86+INE THEN› FOR LP0=0 TO 12 STEP 2 DO› K0=ENER(LP0) K1=ENER(LP0+1)› IF K0=CDX(4) AND K1=CDY(4) THEN › IC=98› PL(CDX(4),CDY(4))› PL(CDX(4)+1,CDY(4))› FI› OD› KP=LP0 HUND((INE RSH 1)+1)› POWER=100› ST3=60 PT=60 PD=5› FOR LP0=0 TO 3 DO› ECT(LP0)=80› OD› FI› IF DCD=96 THEN› FOR LP0=0 TO 16 STEP 2 DO› K0=KEYS(LP0)› K1=KEYS(LP0+1)› IF K0=CDX(4) AND K1=CDY(4) THEN› IC=98› PL(CDX(4),CDY(4))› PL(CDX(4)+1,CDY(4))› KP=LP0› HUND(1)› ST2=20› FI › OD› IF KP<4 THEN› IC=98 PL(DOOR(KP),DOOR(KP+1))› PL(39-DOOR(KP),DOOR(KP+1))› ELSE› IC=98 PL(DOOR(KP),DOOR(KP+1))› PL(DOOR(KP)+1,DOOR(KP+1))› PL(38-DOOR(KP),DOOR(KP+1))› PL(38-DOOR(KP)+1,DOOR(KP+1))› FI› FI› FI› IF DCD=99 THEN IC=98› PL(CDX(4),CDY(4))› THOUS(THO)› PL(CDX(4)+1,CDY(4)) ST2=30› FI›RETURN››PROC CHCH(BYTE CN)› BYTE BPAS,BPAS2› IF SAY(CN)=0 AND SAX(CN)=0 THEN› DDU(CN)=0 DDD(CN)=0› DDL(CN)=0 DDR(CN)=0› DDM=0 EH(CN)=0› DCD=SCR(CDX(CN)+Y40(CDY(CN)-1))› DCD0=SCR(CDX(CN)+1+Y40(CDY(CN)-1))› IF DCD>66 AND DCD<86› OR DCD0>66 AND DCD0<86 THEN› DDU(CN)=1› FI› DCD=SCR(CDX(CN)+Y40(CDY(CN)+1))› DCD0=SCR(CDX(CN)+1+Y40(CDY(CN)+1))› IF DCD>66 AND DCD<86 › OR DCD0>66 AND DCD0<86 THEN› DDD(CN)=1› FI› DCD=SCR(CDX(CN)-1+Y40(CDY(CN)))› IF DCD>66 AND DCD<86 THEN› DDL(CN)=1› FI› DCD=SCR(CDX(CN)+2+Y40(CDY(CN)))› IF DCD>66 AND DCD<86 THEN› DDR(CN)=1 FI› IF CN=4 THEN› DCD=SCR(CDX(4)+Y40(CDY(4)))› DCD0=SCR(CDX(4)+1+Y40(CDY(4)))› IF DCD>0 AND DCD0>0 THEN› DDM=1› FI› FI› FI› IF STX(CN)<30 THEN› STX(CN)=220› FI› IF STX(CN)>220 THEN› STX(CN)=30› FI› IF STX(CN)<56 OR STX(CN)>192 THEN› DDU(CN)=1 DDD(CN)=1› DDL(CN)=0 DDR(CN)=0› FI› IF STY(CN)<48 OR STY(CN)>208 THEN› DDL(CN)=1 DDR(CN)=1› FI› IF DIR(CN)=0 AND DDU(CN)=1 THEN› DIR(CN)=ODR(CN) EH(CN)=1› FI› IF DIR(CN)=1 AND DDD(CN)=1 THEN› DIR(CN)=ODR(CN) EH(CN)=1› FI› IF DIR(CN)=2 AND DDL(CN)=1 THEN› DIR(CN)=ODR(CN) EH(CN)=1› FI› IF DIR(CN)=3 AND DDR(CN)=1 THEN› DIR(CN)=ODR(CN) EH(CN)=1› FI› IF DIR(CN)=0 AND DDU(CN)=0 THEN› STY(CN)==-SP› FI› IF DIR(CN)=1 AND DDD(CN)=0 THEN› STY(CN)=STY(CN)+SP› FI› IF DIR(CN)=2 AND DDL(CN)=0 THEN› STX(CN)=STX(CN)-SP FI› IF DIR(CN)=3 AND DDR(CN)=0 THEN› STX(CN)=STX(CN)+SP FI›RETURN››PROC EMBR(BYTE EN)› BYTE R,D,FL,D0,D1› FL=0 D=ODR(EN)› D0=OSY(EN) D1=OSX(EN)› VARSET(EN)› IF SAX(EN)=0 AND SAY(EN)=0 THEN› IF POWER=0 AND STX(EN)>STX(4)› AND STX(EN)STX(4)-48 THEN› DIR(EN)=3› ELSEIF STY(EN)>STX(4)› AND STY(EN)STY(4)-48 THEN› DIR(EN)=1› ELSE› R=RAND(4) DIR(EN)=R FI› DO› IF D=0 AND DIR(EN)=1 THEN FL=1› ELSEIF D=1 AND DIR(EN)=0 THEN› FL=1› ELSEIF D=2 AND DIR(EN)=3 THEN › FL=1› ELSEIF D=3 AND DIR(EN)=2 THEN› FL=1› ELSE› FL=0› FI› IF FL=1 THEN› R=RAND(4) DIR(EN)=R› FI› UNTIL FL=0› OD› IF STX(EN)=D1 AND STY(EN)=D0 THEN› R=RAND(4) DIR(EN)=R› FI› FI› CHCH(EN)›RETURN››INCLUDE "D:MIDAS2.ACT"››?????????????????????????????????????????????????????????????????