PICList Project

LCD based PIC Register Monitor

Jinx says:

I needed a way to look inside an F88 while it was running, so as to check what was happening to certain RAM registers. So I knocked up this RAM sniffer

On a regular basis (every 2 seconds, as determined by a system tick) the F88 bitbangs its RAM contents out. The 2520 picks this data up, if set to, and shows it as 2 lines of 4 bytes, each line starting with the address. Two buttons allow you to move up and down

Could be made into something flashy, but for now it does all I need it to. Maybe someone else can use it, I found it tremendously helpful

Connections to the circuit are 4 clipped leads - 0V, 5V, clock, data.

Some 2520 routines are there for another day and aren't used here

ram_show.asm

ram_show_source.asm

Also:

A timing oversight - I found that a 48MHz USB PIC needs a few NOPs in the transmit routine (as offered above) to give the 2520 a chance to store incoming and get back to data pick-up  

The transmit routine could also of course include FSRs and program/EEPROM locations

Generally now I have a pushbutton in the main loop or other convenient wait place to send data on demand, using the bbdata line as both button press detect and data transmit

Or the routine p2p is called to skip the button press and delay

(this example for an 8MHz 18F1320)

pic2pic  btfss   showram      ;wait for button release
         bra     $-2
         call    ms50         ;short debounce delay
         movlw   b'00101000'  ;i/p off, bbdata o/p on
         movwf   trisa

p2p      movlw   b'00101000'  ;i/p off, bbdata o/p on
         movwf   trisa

         lfsr    fsr0,0x0000

d_loop   movlw   0x08
         movwf   temp4
         movf    indf0,w
         movwf   temp1
         call    send_d
         incfsz  fsr0l
         bra     d_loop
         movlw   b'10101000'  ;i/p on, bbdata o/p off
         movwf   trisa
         return