Search the Community
Showing results for tags 'AI'.
-
View attachment: Original_CPU_Passing.nes View attachment: Original_CPU_Passing_Juiced.nes .define X_DISTANCE $DD.define Y_DISTANCE $DE .define RECEIVER_LO $40.define RECEIVER_HI $41 .define DEFENDER_LO $42.define DEFENDER_HI $43 .define X_LO_APART $44.define X_HI_APART $45 START:LDY #$00 ; SET TO FIRST COMMAND BYTETYAPHA@NEXT_RECEIVER:PLATAY; CHECK FOR NO MORE RECEIVERSCPY $DCBCC @CONTINUEBEQ @CONTINUE; NO OPEN RECEIVERS SO RANDOM THROWLDA $3BAND $DCTAYRTS@CONTINUE:INY ; SET TO NEXT RECEIVER ; FIND X DISTANCELDA ($3E),YAND #$F0LSRSTA X_DISTANCE ; DISTANCE * 8 PIXELSBNE @Y_GETJMP @EXIT @Y_GET:; FIND Y DISTANCELDA ($3E),YAND #$F0LSRLSRLSRLSRSTA Y_DISTANCEASLASLCLCADC Y_DISTANCESTA Y_DISTANCE ; DISTANCE * 5 PIXELS ; GET RECEIVER LOCATIONLDA ($3E),YAND #$0FASLTAXTYAPHA;LDY #$08LDA ($AE),YBMI @2PLDA $DEEB,XSTA RECEIVER_LOLDA $DEEC,XSTA RECEIVER_HIJMP @DEFENDER@2P:LDA $DF01,XSTA RECEIVER_LOLDA $DF02,XSTA RECEIVER_HI @DEFENDER:; GET DEFENDER LOCATIONLDX #$14@NEXT_DEFENDER:LDY #$08LDA ($AE),YBMI @1PLDA $DF01,XSTA DEFENDER_LOLDA $DF02,XSTA DEFENDER_HIJMP @CALC@1P:LDA $DEEB,XSTA DEFENDER_LOLDA $DEEC,XSTA DEFENDER_HI @CALC:; FIND X SIDELDY #$15LDA (RECEIVER_LO),YCMP (DEFENDER_LO),YBCC @RIGHT ; RECEIVER < DEFENDERBNE @LEFT ; RECEIVER > DEFENDERDEYLDA (RECEIVER_LO),YCMP (DEFENDER_LO),YBCC @RIGHT ; RECEIVER < DEFENDER ; RECEIVER > DEFENDER ; X DISTANCE CHECK@LEFT:LDY #$14LDA (RECEIVER_LO),YSECSBC (DEFENDER_LO),YSTA X_LO_APARTINYLDA (RECEIVER_LO),YSBC (DEFENDER_LO),YSTA X_HI_APARTJMP @XAPART @RIGHT:LDY #$14LDA (DEFENDER_LO),YSECSBC (RECEIVER_LO),YSTA X_LO_APARTINYLDA (DEFENDER_LO),YSBC (RECEIVER_LO),YSTA X_HI_APART @XAPART:LDA X_HI_APARTBNE @GOOD ; VERY LARGE DISTANCELDA X_LO_APARTCMP X_DISTANCEBCS @GOOD ; OUT OF X DISTANCE ; IN X DISTANCE = CHECK Y DISTANCE ; Y DISTANCE CHECK@TOP_BOTTOM:LDY #$17LDA (RECEIVER_LO),YCMP (DEFENDER_LO),YBCC @BOTTOM ; RECEIVER < DEFENDER ; RECEIVER > DEFENDER @TOP:LDA (RECEIVER_LO),YSECSBC (DEFENDER_LO),YCMP Y_DISTANCEJMP @YAPART @BOTTOM:LDA (DEFENDER_LO),YSECSBC (RECEIVER_LO),YCMP Y_DISTANCE @YAPART:BCC @NEXT ; IN Y DISTANCE = BAD THROW@GOOD:DEXDEXBMI @THROW ; OPENJMP @NEXT_DEFENDER@NEXT:JMP @NEXT_RECEIVER @THROW:PLATAY@EXIT:RTS Set Default Values: PRO T WAGGLE L = 93 54 22 R AND S FLARE C = 94 83 75 52 21 PRO T WAGGLE R = 63 54 21 ROLL OUT R = 94 63 45 31 ROLL OUT L = 93 74 45 22 T PLAY ACTION D = 93 73 42 21 PRO T SCREEN L = 93 54 45 21 PLAY ACTION = 93 54 42 PWR FAKE Z POST = 94 53 31 WTE F-FLICKER = 93 84 SHOTGUN X CURL = 63 64 45 42 21 R AND S Z FLY = 94 92 53 55 PRO T FLARE D = 94 73 45 22 21 OFFSET FLARE E = 94 63 41 32 ONEBACK Z CROSS = 93 92 44 31 ONEBACK FLARE A = 94 53 42 T FLEA FLICKER = 93 54 22 PWR FAKE X FLY = 93 94 55 31 SHOTGUN X DRIVE = 93 54 AND 93 95 54 61 22 R AND S 3-WING = 93 94 72 55 PLAYACTION Z IN = 93 51 54 42 FLEA FLICKER = 94 53 32 PRO T FLARE C = 93 75 64 42 SHOTGUN 3-WING = 93 74 52 45 31 SHOTGUN XY BOMB = 93 94 81 75 62 R AND S Y UP = 93 95 84 42 21 X OUT AND FLY = 94 83 55 32 31 REV-FAKE Z POST = 94 51 SLOT L Z DRIVE = 83 54 AND 83 71 54 45 22 NO BACK X DEEP = 94 72 53 21 SHOTGUN Z S-IN = 73 44 AND 95 73 62 44 21 REDGUN Z SLANT = 94 95 52 43 31 ;--------------- x90 COMMAND: FIRST NIBBLE (BOX DISTANCE) SECOND NIBBLE (RECEIVER): (8 Pixels = 1 Yard) 0 = 0 PIXELS LEFT AND RIGHT + 0 PIXELS UP AND DOWN (Forces Throw) 1 = 8 PIXELS LEFT AND RIGHT + 5 PIXELS UP AND DOWN 2 = 16 PIXELS LEFT AND RIGHT + 10 PIXELS UP AND DOWN 3 = 24 PIXELS LEFT AND RIGHT + 15 PIXELS UP AND DOWN 4 = 32 PIXELS LEFT AND RIGHT + 20 PIXELS UP AND DOWN 5 = 40 PIXELS LEFT AND RIGHT + 25 PIXELS UP AND DOWN 6 = 48 PIXELS LEFT AND RIGHT + 30 PIXELS UP AND DOWN 7 = 56 PIXELS LEFT AND RIGHT + 35 PIXELS UP AND DOWN 8 = 64 PIXELS LEFT AND RIGHT + 40 PIXELS UP AND DOWN 9 = 72 PIXELS LEFT AND RIGHT + 45 PIXELS UP AND DOWN A = 80 PIXELS LEFT AND RIGHT + 50 PIXELS UP AND DOWN B = 88 PIXELS LEFT AND RIGHT + 55 PIXELS UP AND DOWN C = 96 PIXELS LEFT AND RIGHT + 60 PIXELS UP AND DOWN D = 104 PIXELS LEFT AND RIGHT + 65 PIXELS UP AND DOWN E = 112 PIXELS LEFT AND RIGHT + 70 PIXELS UP AND DOWN F = 120 PIXELS LEFT AND RIGHT + 75 PIXELS UP AND DOWN View full article
-
View attachment: Original_CPU_Passing.nes View attachment: Original_CPU_Passing_Juiced.nes .define X_DISTANCE $DD.define Y_DISTANCE $DE .define RECEIVER_LO $40.define RECEIVER_HI $41 .define DEFENDER_LO $42.define DEFENDER_HI $43 .define X_LO_APART $44.define X_HI_APART $45 START:LDY #$00 ; SET TO FIRST COMMAND BYTETYAPHA@NEXT_RECEIVER:PLATAY; CHECK FOR NO MORE RECEIVERSCPY $DCBCC @CONTINUEBEQ @CONTINUE; NO OPEN RECEIVERS SO RANDOM THROWLDA $3BAND $DCTAYRTS@CONTINUE:INY ; SET TO NEXT RECEIVER ; FIND X DISTANCELDA ($3E),YAND #$F0LSRSTA X_DISTANCE ; DISTANCE * 8 PIXELSBNE @Y_GETJMP @EXIT @Y_GET:; FIND Y DISTANCELDA ($3E),YAND #$F0LSRLSRLSRLSRSTA Y_DISTANCEASLASLCLCADC Y_DISTANCESTA Y_DISTANCE ; DISTANCE * 5 PIXELS ; GET RECEIVER LOCATIONLDA ($3E),YAND #$0FASLTAXTYAPHA;LDY #$08LDA ($AE),YBMI @2PLDA $DEEB,XSTA RECEIVER_LOLDA $DEEC,XSTA RECEIVER_HIJMP @DEFENDER@2P:LDA $DF01,XSTA RECEIVER_LOLDA $DF02,XSTA RECEIVER_HI @DEFENDER:; GET DEFENDER LOCATIONLDX #$14@NEXT_DEFENDER:LDY #$08LDA ($AE),YBMI @1PLDA $DF01,XSTA DEFENDER_LOLDA $DF02,XSTA DEFENDER_HIJMP @CALC@1P:LDA $DEEB,XSTA DEFENDER_LOLDA $DEEC,XSTA DEFENDER_HI @CALC:; FIND X SIDELDY #$15LDA (RECEIVER_LO),YCMP (DEFENDER_LO),YBCC @RIGHT ; RECEIVER < DEFENDERBNE @LEFT ; RECEIVER > DEFENDERDEYLDA (RECEIVER_LO),YCMP (DEFENDER_LO),YBCC @RIGHT ; RECEIVER < DEFENDER ; RECEIVER > DEFENDER ; X DISTANCE CHECK@LEFT:LDY #$14LDA (RECEIVER_LO),YSECSBC (DEFENDER_LO),YSTA X_LO_APARTINYLDA (RECEIVER_LO),YSBC (DEFENDER_LO),YSTA X_HI_APARTJMP @XAPART @RIGHT:LDY #$14LDA (DEFENDER_LO),YSECSBC (RECEIVER_LO),YSTA X_LO_APARTINYLDA (DEFENDER_LO),YSBC (RECEIVER_LO),YSTA X_HI_APART @XAPART:LDA X_HI_APARTBNE @GOOD ; VERY LARGE DISTANCELDA X_LO_APARTCMP X_DISTANCEBCS @GOOD ; OUT OF X DISTANCE ; IN X DISTANCE = CHECK Y DISTANCE ; Y DISTANCE CHECK@TOP_BOTTOM:LDY #$17LDA (RECEIVER_LO),YCMP (DEFENDER_LO),YBCC @BOTTOM ; RECEIVER < DEFENDER ; RECEIVER > DEFENDER @TOP:LDA (RECEIVER_LO),YSECSBC (DEFENDER_LO),YCMP Y_DISTANCEJMP @YAPART @BOTTOM:LDA (DEFENDER_LO),YSECSBC (RECEIVER_LO),YCMP Y_DISTANCE @YAPART:BCC @NEXT ; IN Y DISTANCE = BAD THROW@GOOD:DEXDEXBMI @THROW ; OPENJMP @NEXT_DEFENDER@NEXT:JMP @NEXT_RECEIVER @THROW:PLATAY@EXIT:RTS Set Default Values: PRO T WAGGLE L = 93 54 22 R AND S FLARE C = 94 83 75 52 21 PRO T WAGGLE R = 63 54 21 ROLL OUT R = 94 63 45 31 ROLL OUT L = 93 74 45 22 T PLAY ACTION D = 93 73 42 21 PRO T SCREEN L = 93 54 45 21 PLAY ACTION = 93 54 42 PWR FAKE Z POST = 94 53 31 WTE F-FLICKER = 93 84 SHOTGUN X CURL = 63 64 45 42 21 R AND S Z FLY = 94 92 53 55 PRO T FLARE D = 94 73 45 22 21 OFFSET FLARE E = 94 63 41 32 ONEBACK Z CROSS = 93 92 44 31 ONEBACK FLARE A = 94 53 42 T FLEA FLICKER = 93 54 22 PWR FAKE X FLY = 93 94 55 31 SHOTGUN X DRIVE = 93 54 AND 93 95 54 61 22 R AND S 3-WING = 93 94 72 55 PLAYACTION Z IN = 93 51 54 42 FLEA FLICKER = 94 53 32 PRO T FLARE C = 93 75 64 42 SHOTGUN 3-WING = 93 74 52 45 31 SHOTGUN XY BOMB = 93 94 81 75 62 R AND S Y UP = 93 95 84 42 21 X OUT AND FLY = 94 83 55 32 31 REV-FAKE Z POST = 94 51 SLOT L Z DRIVE = 83 54 AND 83 71 54 45 22 NO BACK X DEEP = 94 72 53 21 SHOTGUN Z S-IN = 73 44 AND 95 73 62 44 21 REDGUN Z SLANT = 94 95 52 43 31 ;--------------- x90 COMMAND: FIRST NIBBLE (BOX DISTANCE) SECOND NIBBLE (RECEIVER): (8 Pixels = 1 Yard) 0 = 0 PIXELS LEFT AND RIGHT + 0 PIXELS UP AND DOWN (Forces Throw) 1 = 8 PIXELS LEFT AND RIGHT + 5 PIXELS UP AND DOWN 2 = 16 PIXELS LEFT AND RIGHT + 10 PIXELS UP AND DOWN 3 = 24 PIXELS LEFT AND RIGHT + 15 PIXELS UP AND DOWN 4 = 32 PIXELS LEFT AND RIGHT + 20 PIXELS UP AND DOWN 5 = 40 PIXELS LEFT AND RIGHT + 25 PIXELS UP AND DOWN 6 = 48 PIXELS LEFT AND RIGHT + 30 PIXELS UP AND DOWN 7 = 56 PIXELS LEFT AND RIGHT + 35 PIXELS UP AND DOWN 8 = 64 PIXELS LEFT AND RIGHT + 40 PIXELS UP AND DOWN 9 = 72 PIXELS LEFT AND RIGHT + 45 PIXELS UP AND DOWN A = 80 PIXELS LEFT AND RIGHT + 50 PIXELS UP AND DOWN B = 88 PIXELS LEFT AND RIGHT + 55 PIXELS UP AND DOWN C = 96 PIXELS LEFT AND RIGHT + 60 PIXELS UP AND DOWN D = 104 PIXELS LEFT AND RIGHT + 65 PIXELS UP AND DOWN E = 112 PIXELS LEFT AND RIGHT + 70 PIXELS UP AND DOWN F = 120 PIXELS LEFT AND RIGHT + 75 PIXELS UP AND DOWN