#config Scanner=4 #config Weapon=1 #config Armor=2 #config Engine=2 #config Heatsinks=3 MOV AX 1 INT I_KEEPSHIFT OUT P_SHUTDOWN 500 !scanArc64 OUT P_SCANARC 64 !rescan64 OUT P_STEERING 8 OUT P_THROTTLE 100 IN P_SCAN AX MOV BX @3 ADD BX 6402 JNE BX JEQ BX :6402 CMP AX MAXINT JNE !scanArc16 OUT P_OFS_TURRET 128 JEQ !rescan64 :6400 ; -2 OUT P_OFS_TURRET -52 JNE !scanArc8 JEQ !scanArc8 :6404 ; 2 OUT P_OFS_TURRET 52 JNE !scanArc8 JEQ !scanArc8 :6401 ; -1 OUT P_OFS_TURRET -32 JNE !scanArc16 JEQ !scanArc16 :6403 ; 1 OUT P_OFS_TURRET 32 JNE !scanArc16 JEQ !scanArc16 !scanArc16 OUT P_SCANARC 16 !rescan16 IN P_SCAN AX MOV BX @3 ADD BX 1602 JNE BX JEQ BX :1602 CMP AX MAXINT JEQ !scanArc64 JNE !scanArc4 :1600 ; -2 OUT P_OFS_TURRET -13 JNE !scanArc4 JEQ !scanArc4 :1604 ; 2 OUT P_OFS_TURRET 13 JNE !scanArc4 JEQ !scanArc4 :1601 ; -1 OUT P_OFS_TURRET -8 JNE !scanArc4 JEQ !scanArc4 :1603 ; 1 OUT P_OFS_TURRET 8 JNE !scanArc4 JEQ !scanArc4 !scanArc8 OUT P_SCANARC 8 !rescan8 IN P_SCAN AX MOV BX @3 ADD BX 802 JNE BX JEQ BX :802 CMP AX MAXINT JEQ !scanArc16 JNE !scanArc4 :800 ; -2 OUT P_OFS_TURRET -7 JNE !scanArc4 JEQ !scanArc4 :804 ; 2 OUT P_OFS_TURRET 7 JNE !scanArc4 JEQ !scanArc4 :801 ; -1 OUT P_OFS_TURRET -4 JNE !scanArc4 JEQ !scanArc4 :803 ; 1 OUT P_OFS_TURRET 4 JNE !scanArc4 JEQ !scanArc4 !scanArc4 OUT P_SCANARC 2 !rescan4 !justrescan4 OUT P_THROTTLE 100 OUT P_STEERING @2 IN P_SCAN AX MOV BX @3 ADD BX 402 JNE BX JEQ BX :402 CMP AX MAXINT JEQ !scanArc8 CMP AX 200 JLE !justFire !turretAdjust4 IN P_HEAT DX CMP DX 270 JGR !justrescan4 MOV BX @7 CMP BX 15 JLE 500 CMP @7 10 Mov BX @6 Shr BX 3 Add BX 500 Jeq BX Jne BX !directionAdjust OUT P_FIRE AX OUT P_OFS_TURRET AX OUT P_FIRE AX Jne !rescan4 Jeq !rescan4 !justFire OUT P_FIRE @3 ADD AX 25 CMP AX 250 Jgr !rescan4 Jle !justFire :400 ; -2 OUT P_OFS_TURRET -3 JNE !turretAdjust4 JEQ !turretAdjust4 :404 ; 2 OUT P_OFS_TURRET 3 JNE !turretAdjust4 JEQ !turretAdjust4 :401 ; -1 OUT P_OFS_TURRET -1 JNE !turretAdjust4 JEQ !turretAdjust4 :403 ; 1 OUT P_OFS_TURRET -1 JNE !turretAdjust4 JEQ !turretAdjust4 :531 :515 :500 Mov AX 0 Jeq !directionAdjust Jne !directionAdjust :501 :514 Mov AX 1 Jeq !directionAdjust Jne !directionAdjust :502 :503 :512 :513 Mov AX 2 Jeq !directionAdjust Jne !directionAdjust :504 :505 :510 :511 Mov AX 3 Jeq !directionAdjust Jne !directionAdjust :506 :507 :508 :509 Mov AX 4 Jeq !directionAdjust Jne !directionAdjust :516 :517 :529 :530 Mov AX -1 Jeq !directionAdjust Jne !directionAdjust :518 :528 Mov AX -2 Jeq !directionAdjust Jne !directionAdjust :519 :520 :526 :527 Mov AX -3 Jeq !directionAdjust Jne !directionAdjust :521 :522 :523 :524 :525 Mov AX -4 Jeq !directionAdjust Jne !directionAdjust