I would have liked to delete thread #18 because that issue was resolved, I was missing some piece of code for MIBAM.
Anyways, I started off using Sayzer's code, then I was able to bypass the POT and make the LEDs scan automaticly.
I then added the MIBAM code (with no apparent difference) and I am still back to square one; I am not able to have about 20 LEDs on at the same time (or appear to be) to produce an effect similar as the video in thread #11
I am obviously not getting it and I would appreciate some guidance.
Below is the code I have so far, it is turning on then off LED1 to LED64 at the right speed but I am trying to turn on LED1, LED2...LED20 and from there when LED21 turns on the LED1 will turn off, LED22 on - LED2 off and so on.
Code:
@ __config _CONFIG1, _HS_OSC & _WDT_OFF & _PWRTE_OFF & _BOREN_OFF & _LVP_OFF & _CP_OFF

CLEAR
DEFINE OSC 20
BAM_COUNT CON 8
INCLUDE "MIBAM.pbp"
;____[ For 12F/16F only - Interrupt Context save locations]_________________
wsave  var byte    $20     SYSTEM  ' location for W if in bank0
;wsave  var byte    $70     SYSTEM  ' Alternate save location for W 
                                    ' if using $70, comment out wsave1-3
;       Comment them out to fix the problem ----
; -- The chip being used determines which variables are needed -------------
wsave1 VAR BYTE    $A0     SYSTEM      ' location for W if in bank1
wsave2 VAR BYTE    $120    SYSTEM      ' location for W if in bank2
wsave3 VAR BYTE    $1A0    SYSTEM      ' location for W if in bank3
;---DO NOT change these-----------------------------------------------------
ssave  VAR BYTE    BANK0   SYSTEM      ' location for STATUS register
psave  VAR BYTE    BANK0   SYSTEM      ' location for PCLATH register

DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 5
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 4
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

DEFINE ADC_BITS 8      ' Set number of bits in result
DEFINE ADC_CLOCK 3     ' Set clock source (rc = 3)
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in microseconds 

CM1CON0 = 0 
CM2CON0 = 0
pauseus 10
ADCON1 = 0
ADCON0 = 0              ' All analog, we just need RA0.
TRISA = 255             ' PORTA all input. Others output.
TRISB = 0
TRISC = 0
TRISD = 0
test var byte
X var PORTB
Y var PORTC
x = 0   ; make sure all LEDs are off 
y = 0   ; when powr is applied

I var byte
Index var byte
Index2 var byte
OldVal var byte
Pause 10

ASM
BAM_LIST  macro           ; Define PIN's to use for BAM
 BAM_PIN (PORTB,0, X)     ;   and the associated Duty variables
 BAM_PIN (PORTB,1, X)
 BAM_PIN (PORTB,2, X)
 BAM_PIN (PORTB,3, X)
 BAM_PIN (PORTB,4, X)
 BAM_PIN (PORTB,5, X)
 BAM_PIN (PORTB,6, X)
 BAM_PIN (PORTB,7, X)

 endm
 BAM_INIT  BAM_LIST        ; Initialize the Pins
ENDASM                 ' Mirror Image BAM module 

Begin:
    pause 500
    ;lcdout $fe,1,"Matrix Test"
    ;PAUSE 500
    
    X = 0               
    Y = 255
    
    index = 0
    oldval = 255

Start:
;    adcin 0, index      ' Index = max 255.

for i = 0 to 255
    index = i / 4   ' To get index values between 0 to 63.
    ;if oldval <> index then ' Act only when the number changes.
        index2 = index/8    ' X scans 8 bits.
        x = 0               ' turn it Off.
        x.0[index2] = 1     ' Set the bit in line.
        
        y = 255             ' turn all pins on (output is off).
        lookup index2,[7,15,23,31,39,47,55,63],index2   ' Get matrix line.
        y.0[index2-index] = 0                           ' Clear the bit in line (output is on)
    
        ;lcdout $fe,$c0,dec3 index , " ",dec3 index2 
        ;pause 10   
        oldval = index
    ;endif  
     pause 1
 next i 
 pause 100
    goto start

end