pic18f lookup table problem - Page 1
Forum section: electronics / general

author: Lesterwyatt
author_rank: Regular Contributor
timestamp: January 05, 2015, 07:12:35 pm
content: Hello everyone.I was wondering if anyone could help me or point me in the right direction.I have implemented a lookup table for my Nokia LCD project. The lookup table consists of bitmap data (7 byte for each character 'see below'). what I was hoping to do, is select and display a character based on a BCD value. So for instance; if I had a unpacked BCD value of 00000010 this value would select entry number '2' in my table data, and return it to the LCD display. As it stands, what ever value I throw at my table it displays all of the data from my table on the LCD .i.e. 1234567890.My project is based on the pic18f46k20/ds1306 RTC. I am hoping to display the time and date on the LCD.Many thanks LesterPart of my code below:NEXT movlw high MY_DATA ; load font1 H address to tbptrHmovwf TBLPTRHmovlw upper MY_DATA ; load font1 U addressmovwf TBLPTRUmovlw low MY_DATA ; load font1 L address to tbptrLmovwf TBLPTRLmovf TEMP ,Waddwf TBLPTRLtblrd *+ ;read table entry into TABLATmovf TABLAT,w ;in WREGcall SPI ; get data and write outincf TEMPMOVLW -.2CPFSEQ TEMPgoto NEXTRETURNORG 0x500MY_DATAdb 0x3E,0x7F,0x71,0x59,0x4D,0x7F,0x3E,0 ; '0'db 0x40,0x42,0x7F,0x7F,0x40,0x40,0x00,0 ; '1'db 0x62,0x73,0x59,0x49,0x6F,0x66,0x00,0 ; '2'db 0x22,0x63,0x49,0x49,0x7F,0x36,0x00,0 ; '3'db 0x18,0x1C,0x16,0x53,0x7F,0x7F,0x50,0 ; '4'db 0x27,0x67,0x45,0x45,0x7D,0x39,0x00,0 ; '5'db 0x3C,0x7E,0x4B,0x49,0x79,0x30,0x00,0 ; '6'db 0x03,0x03,0x71,0x79,0x0F,0x07,0x00,0 ; '7'db 0x36,0x7F,0x49,0x49,0x7F,0x36,0x00,0 ; '8'db 0x06,0x4F,0x49,0x69,0x3F,0x1E,0x00,0 ; '9'END

author: Brutte
author_rank: Frequent Contributor
timestamp: January 05, 2015, 10:01:47 pm
content: Quote from: Lesterwyatt on January 05, 2015, 07:12:35 pmC

author: dannyf
author_rank: Super Contributor
timestamp: January 06, 2015, 01:32:07 am
content: I think you will find it much easier and more productive coding in a high level language like C.Assembly is great for simple tasks or experts pushing the envelope of a chip.

author: westfw
author_rank: Super Contributor
timestamp: January 06, 2015, 08:59:22 am
content: So... I'm not much of a PIC programmer, but...Starts with the BCD digit it W?Code::movwf TBLPTRLmovf TEMP ,Waddwf TBLPTRLDon't you need a multiply-by-8 in there to get the right set of bits?Code:tblrd *+ ;read table entry into TABLATmovf TABLAT,w ;in WREGcall SPI ; get data and write outincf TEMPMOVLW -.2CPFSEQ TEMPgoto NEXTI'm not familiar with that "-.2" syntax, but I'm not seeing how this is going to loop 7 times...

author: deephaven
author_rank: Frequent Contributor
timestamp: January 06, 2015, 09:37:56 am
content: The easiest way to debug something like this is run it in the MPLAB simulator - you don't even need the target device to do this. Put a watch on the variables and see what it's doing.

author: picandmix
author_rank: Frequent Contributor
timestamp: January 06, 2015, 09:59:00 am
content: The routine you show is for sending out a LINE of 16 characters to the screen , the original code had a MovLW of 16 for the 16 characters to be sent out.As the TBLPTRL was incremented by the routines looping then when it got to 16 it would exit the routine.You have placed -.2 (0xFE) as the value it must reach before it exits the loop.If you look at that code you will see the routine below this one " glcd_write_character " is the one to use for sending out just one character at a time.

author: Brutte
author_rank: Frequent Contributor
timestamp: January 06, 2015, 06:29:57 pm
content: Lesterwyatt is flooding the forum with this asm crap:https://www.eevblog.com/forum/beginners/table-lookup-problem-%28pic18f%29/msg580899/#msg580899https://www.eevblog.com/forum/beginners/nokia-lcd-problem/msg578636/#msg578636

author: Lesterwyatt
author_rank: Regular Contributor
timestamp: January 06, 2015, 08:19:47 pm
content: Quote from: Brutte on January 06, 2015, 06:29:57 pmBrutte(nice name). what's wrong with ASM? Also what's wrong with posting in a forum for help? What do you use this forum for Brutte? To piss people off I suspect!

author: picandmix
author_rank: Frequent Contributor
timestamp: January 06, 2015, 09:51:03 pm
content: As mentioned that code is not easy to follow.Have a look at the attached code which I have cut down to a bare minimum to take that 'EADOG..' String of data and send it out as screen bytes.You can see it working by using MPlabs SIMulator and F9 RUN to that Breakpoint ( or F7 Single step though the code) when it stops and shows the contents of W in the Watch Window, as shown in the jpeg.All you need to do is take your RTC data and present it into that routine.Edit, should have said, regarding sending data to your screen, think the easiest way is to allocate a block of Ram the same size as your screen.Place all the data you want displaying in to that Ram area and then send the whole ram section out using one of those other routines.Even if you only upload the Ram bank with a changeof just the RTC value, its easier to send out the whole bank than trying to directly change individual characters on the screen.

author: dannyf
author_rank: Super Contributor
timestamp: January 07, 2015, 02:04:16 am
content: QuoteNothing wrong with asm per se. It is just that as the project's complexity increases, it becomes exponentially more difficult to keep track of asm code pieces and re-use earlier modules.It is really an excellent language for a simple project or for a pro.

author: Howardlong
author_rank: Super Contributor
timestamp: January 08, 2015, 03:59:03 pm
content: Plus the XC8 compiler will deal with constants in program memory for you, so no explicit fannying around with the TBL registers is necessary.I don't think I've written an entire program in assembler for over ten years at the very least. While it's a very good skill to have, and I look at generated code pretty much daily when debugging, it's only occasionally that I feel the need to actually write any anymore, and even then it only tends to be a couple of dozen lines of inline asm at a pinch point.But as an academic exercise, I admire your tenacity.

author: Lesterwyatt
author_rank: Regular Contributor
timestamp: January 11, 2015, 01:09:25 am
content: I have managed to display the 'time' 'date' 'year', using ds1306 and a pic18f,its a little crude but I have done it in ASM.Thanks for everybody's help.Lester

author: Lesterwyatt
author_rank: Regular Contributor
timestamp: January 11, 2015, 01:17:54 am
content: Sorry forgot to attach the code.It may be crude, but I don't care it works!!!LesterCode:;*****************************************************************************;; NOKIA 5110 GLCD (48 x 84 PIXELS) FOR PIC18F. DISPLAYS THE TIME AND DATE; FROM DS1306 RTC ON THE NOKIA 5110 GLCD; PROGRAM WRITTEN IN ASM; BY LESTER WYATT 09/01/2015LIST P=PIC18F46K20#include <p18F46K20.inc>; CONFIG1HCONFIG FOSC = INTIO67 ; Oscillator Selection bits (Internal oscillator block, port function on RA6 and RA7)CONFIG FCMEN = OFF ; Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor disabled)CONFIG IESO = OFF ; Internal/External Oscillator Switchover bit (Oscillator Switchover mode disabled); CONFIG2LCONFIG PWRT = OFF ; Power-up Timer Enable bit (PWRT disabled)CONFIG BOREN = SBORDIS ; Brown-out Reset Enable bits (Brown-out Reset enabled in hardware only (SBOREN is disabled))CONFIG BORV = 18 ; Brown Out Reset Voltage bits (VBOR set to 1.8 V nominal); CONFIG2HCONFIG WDTEN = off ; Watchdog Timer Enable bit (WDT is always enabled. SWDTEN bit has no effect)CONFIG WDTPS = 32768 ; Watchdog Timer Postscale Select bits (1:32768); CONFIG3HCONFIG CCP2MX = PORTC ; CCP2 MUX bit (CCP2 input/output is multiplexed with RC1)CONFIG PBADEN = ON ; PORTB A/D Enable bit (PORTB<4:0> pins are configured as analog input channels on Reset)CONFIG LPT1OSC = OFF ; Low-Power Timer1 Oscillator Enable bit (Timer1 configured for higher power operation)CONFIG HFOFST = ON ; HFINTOSC Fast Start-up (HFINTOSC starts clocking the CPU without waiting for the oscillator to stablize.)CONFIG MCLRE = ON ; MCLR Pin Enable bit (MCLR pin enabled; RE3 input pin disabled); CONFIG4LCONFIG STVREN = ON ; Stack Full/Underflow Reset Enable bit (Stack full/underflow will cause Reset)CONFIG LVP = ON ; Single-Supply ICSP Enable bit (Single-Supply ICSP enabled)CONFIG XINST = OFF ; Extended Instruction Set Enable bit (Instruction set extension and Indexed Addressing mode disabled (Legacy mode)); CONFIG5LCONFIG CP0 = OFF ; Code Protection Block 0 (Block 0 (000800-003FFFh) not code-protected)CONFIG CP1 = OFF ; Code Protection Block 1 (Block 1 (004000-007FFFh) not code-protected)CONFIG CP2 = OFF ; Code Protection Block 2 (Block 2 (008000-00BFFFh) not code-protected)CONFIG CP3 = OFF ; Code Protection Block 3 (Block 3 (00C000-00FFFFh) not code-protected); CONFIG5HCONFIG CPB = OFF ; Boot Block Code Protection bit (Boot block (000000-0007FFh) not code-protected)CONFIG CPD = OFF ; Data EEPROM Code Protection bit (Data EEPROM not code-protected); CONFIG6LCONFIG WRT0 = OFF ; Write Protection Block 0 (Block 0 (000800-003FFFh) not write-protected)CONFIG WRT1 = OFF ; Write Protection Block 1 (Block 1 (004000-007FFFh) not write-protected)CONFIG WRT2 = OFF ; Write Protection Block 2 (Block 2 (008000-00BFFFh) not write-protected)CONFIG WRT3 = OFF ; Write Protection Block 3 (Block 3 (00C000h-00FFFFh) not write-protected); CONFIG6HCONFIG WRTC = OFF ; Configuration Register Write Protection bit (Configuration registers (300000-3000FFh) not write-protected)CONFIG WRTB = OFF ; Boot Block Write Protection bit (Boot Block (000000-0007FFh) not write-protected)CONFIG WRTD = OFF ; Data EEPROM Write Protection bit (Data EEPROM not write-protected); CONFIG7LCONFIG EBTR0 = OFF ; Table Read Protection Block 0 (Block 0 (000800-003FFFh) not protected from table reads executed in other blocks)CONFIG EBTR1 = OFF ; Table Read Protection Block 1 (Block 1 (004000-007FFFh) not protected from table reads executed in other blocks)CONFIG EBTR2 = OFF ; Table Read Protection Block 2 (Block 2 (008000-00BFFFh) not protected from table reads executed in other blocks)CONFIG EBTR3 = OFF ; Table Read Protection Block 3 (Block 3 (00C000-00FFFFh) not protected from table reads executed in other blocks); CONFIG7HCONFIG EBTRB = OFF ; Boot Block Table Read Protection bit (Boot Block (000000-0007FFh) not protected from table reads executed in other blocks)cblock 0x000result1GWORK2GWORK3TEMPENDCorg 0MAIN MOVLW B'0110000' ;SET PIC CLOCK TO 8 MHZMOVWF OSCCONMOVLW D'6'MOVWF CNTCLRF TRISCBSF TRISC,SDICLRF TRISDBSF PORTD,RD6;-------------REGISTERS FOR TIME AND DATE AND COUNTERS------------Dus EQU D'10' ;delay byteDRus EQU 0x0D ;delay registerDAYW EQU 10H ;day of week register (mon,tue,wed...)MONTH EQU 11H ;file reg starting with monthDAT EQU 12H ; day of month(1st 2nd 3rd...)YR EQU 13H ; yearHR EQU 14H ; hourMIN EQU 15H ;minSEC EQU 16H ;secCNT EQU 20H ;counterCNT1 EQU 23H ;counterTMP EQU 21H ; conversion from BCD to ASCII; SPI PORT ALLOCATION PORT RC5 = SDO; PORT RC4 = SDI; PORT RC3 = SCK; PORT RC2 = CE; LCD PORT ALLOCATION PORT RD7 = D/C; PORT RD6 = RST; PORT RD5 = SCE; PORT RC5 = DATA;; RTC PORT ALLOCATION PORT RC4 = SDI; PORT RC5 = SDO; PORT RC3 = SCK; PORT RC2 = CELCD_MAINCALL SPI_INT ;SET UP SPICALL GLCD_RESET ; RESET ROUTINE FOR LCDCALL GLCD_INT ; SETUP ROUTINE FOR LCDCALL SET_TIME ;SET TIME ON RTCGLOOP CALL GET_TIMECALL SEND_TIMECALL XYGOTO GLOOP;----------------Set up and initialize lcd---------GLCD_RESET BCF PORTD,RD5 ;CE = 0CALL DELAYCALL DELAYCALL DELAYBCF PORTD,RD6 ;RESET PULSECALL DELAYCALL DELAYCALL DELAYBSF PORTD,RD6CALL DELAYCALL DELAYRETURN;--------SPI INITIALIZE---------------------SPI_INT MOVLW 0x00MOVWF SSPSTAT ;read on middle dens on active edgeMOVLW 0x31MOVWF SSPCON1 ; SSP 1/16RETURN;------------CONTROL SETUP--------------------------------GLCD_INT MOVLW 0x21 ;PD=0 V=0 extended function set H=1CALL GLCD_COMMOVLW 0xBF ;VOP set tp 16xvbCALL GLCD_COMMOVLW 0x04 ;set biasCALL GLCD_COMMOVLW 0x14 ;CALL GLCD_COMMOVLW 0x0C ;PD=0 V=0 extended function set H=0CALL GLCD_COMMOVLW 0x20 ;display control normalCALL GLCD_COM ;senDMOVLW 0x0CCALL GLCD_COMCALL XYRETURN;----------------RTC SETUP----------------------SET_TIME BSF PORTC,RC2 ;ENABLE RTCCALL DELAYMOVLW 0x8F ;CONTROL REGISTER ADDRESSCALL RTCMOVLW 0x00 ;CLEAR WPCALL RTCBCF PORTC,RC2 ;DISABLE RTCCALL DELAY;---------SEND (SET) THE TIME FOLLOWED BY DATEBSF PORTC,RC2 ;ENABLE RTCCALL DELAYMOVLW 0x80 ;REGISTER FOR SECONDSCALL RTCMOVLW 0x00 ; SET FOR 00 SECONDSCALL RTCMOVLW 0x04 ;SET FOR 04 MINCALL RTCMOVLW 0x01 ;SET FOR 01 HRCALL RTCMOVLW 0x06 ;SET FOR DAY OF WEEK (FRI)CALL RTCMOVLW 0x09 ;SET FOR 9TH DAY OF MONTHCALL RTCMOVLW 0x01 ;SET FOR (JAN)CALL RTCMOVLW 0x15 ;SET FOR YEARCALL RTCBCF PORTC,RC2 ;DISABLE RTCCALL DELAYRETURN;-------------GET TIME FROM RTC AND SAVE IN REGISTERS -----------------GET_TIME BSF PORTC,RC2CALL DELAYMOVLW 0x00 ; SECONDS REGISTER FOR ADDRESS READCALL RTC ; SENDCALL RTC ;START RECEIVING TIME AND DATEMOVWF SECCALL RTCMOVWF MINCALL RTCMOVWF HRCALL RTCMOVWF DAYWCALL RTCMOVWF DATCALL RTCMOVWF MONTHCALL RTCMOVWF YRBCF PORTC,RC2CALL DELAYRETURN;---------CONVERT PACKED BCD TO ASCII READY FOR DISPLAY ON NOKIA SCREEN--------SEND_TIME LFSR FSR0,0x11 ;ADDRESS OF FILE REGISTER FOR TIME AND DATEMOVLW D'6' ;6 BYTES OF DATA TO DISPLAYMOVWF CNT ;SET UO COUNTERSND MOVFF INDF0,TMP ;DATA FOR HIGH NIBBLEMOVLW 0xF0 ;CLEAR LOW NIBBLEANDWF TMP,f ;KEEP IN TEMPSWAPF TMP,f ;SWITCH HIGH AND LOW NIBBLEMOVLW 0x30 ;CONVERT TO ASCIIIORWF TMP,W ;PUT IN WCALL glcd_write_character ; SEND TO TABLE READ TO DISPLAYMOVFF POSTINC0,TMP ;GET DATA POINT TO NEXTMOVLW 0x0FN ;CLEAR HIGH NIBBLEANDWF TMP,f ;KEEP IN TMPMOVLW 0x30 ;CONVERT TO ASCIIIORWF TMP,W ;PUT IN WCALL glcd_write_character ; SEND TO TABLE READ TO DISPLAYMOVLW ':'CALL glcd_write_characteRDECFSZ CNT ;IS IT THE LAST ONE?BRA SND ;NOBRA GET_TIME ;START AGAINRETURN;----------TRASNMIT TO LCD--------------SPI BCF PORTD,RD5 ;LCD ENABLEBSF PORTD,RD7 ;D/C HIGH FOR WRITEMOVWF SSPBUF ;LOAD FOR TRANSFERWAIT BTFSS SSPSTAT,BF ;WAIT FOR ALL BITSBRA WAITMOVF SSPBUF,W ;GET THE RECEIVED BYTEBSF PORTD,RD5 ;CHIP ENABLE HIGHBSF PORTD,RD7 ;D/C HIGH FOR WRITERETURN ;RETURN WITH BYTE IN W;------------RTC SPI------------RTC MOVWF SSPBUFWAIT2 BTFSS SSPSTAT,BFBRA WAIT2MOVF SSPBUF,WRETURN;-------------GLCD SPI----------------------------------GLCD_COM BCF PORTD,RD5 ;CHIP ENABLE LOW FOR WRITEBCF PORTD,RD7 ;D/C LOWMOVWF SSPBUFWAIT1 BTFSS SSPSTAT,BFBRA WAIT1MOVF SSPBUF,WBSF PORTD,RD5 ;CHIP ENABLE HIGH FOR DISABLEBSF PORTD,RD7 ;D/C HIGH TO DISABLE CONTROLRETURN;-----------CURSOR PLACEMENT ON GLCD---------------------XY MOVLW 0x9E ;X = 158CALL GLCD_COMMOVLW 0x42 ;Y = 66CALL GLCD_COMRETURN;---------------------------- DISPLAY A LINE OF TEXT ------------------glcd_page0data CLRF TEMPclrf GWORK3MOVWF TEMPgnext_pb1 movlw high TEMP ; load font1 H address to tbptrHmovwf TBLPTRHmovlw upper TEMP ; load font1 U addressmovwf TBLPTRUmovlw low TEMP ; load font1 L address to tbptrLmovwf TBLPTRLmovf GWORK3,Waddwf TBLPTRLtblrd *+ ;read table entry into TABLATmovf TABLAT,w ;in WREGcall glcd_write_character ; get data and write outincf GWORK3MOVLW .6CPFSEQ GWORK3goto gnext_pb1return;-------------FIND CHRACTER FROM RTC ASCII DATA AND SENT TO LCDglcd_write_character clrf PRODLclrf PRODHaddlw -.32 ; subtract 32 to get valuemullw .6 ; multipy value by 8 to get offset valuEmovlw .6 ; preload data byte counter for 7 bitsmovwf GWORK2bcf STATUS,C ; clear carry bitmovlw high MY_DATA ; load font1 H address to tbptrHmovwf TBLPTRHmovf PRODH,W ; add in any prodH offset valueaddwf TBLPTRH,Fmovlw upper MY_DATA ; load font1 U addressmovwf TBLPTRUmovlw low MY_DATA ; load font1 L address to tbptrLmovwf TBLPTRLmovf PRODL,W ; add ProdL with offset valueaddwf TBLPTRLbtfsc STATUS,C ; has add created a carry overincf TBLPTRH,F ; yes, so add 1 to tbptrHgnext_pb tblrd *+ ;read table entry into TABLATmovf TABLAT,w ;in WREGcall SPI ; send datadecfsz GWORK2 ;IF YOU LOOK AT THE WATCH WINDOW YOU CAN SEE EACH BYTE OFgoto gnext_pb ; THE IMAGE BEING SENT OUT; SHOWN IN w IS 0X41 THE FIRST 'LINE' OF THE CHARACTER 'E'return;--------------------DELAY ROUTINE-----------------------DELAY MOVLW DusMOVWF DRusDS1 DECF DRus,FBNZ DS1RETURN;----------FOR A LINE OF TEXT---------------------------gpage0_datadb "",0;---------------------ASCII TABLE------------------------MY_DATAFont1DB 0x00, 0x00, 0x00, 0x00, 0x00DB 0x00, 0x00, 0x5f, 0x00, 0x00DB 0x00, 0x07, 0x00, 0x07, 0x00DB 0x14, 0x7f, 0x14, 0x7f, 0x14DB 0x24, 0x2a, 0x7f, 0x2a, 0x12DB 0x23, 0x13, 0x08, 0x64, 0x62DB 0x36, 0x49, 0x55, 0x22, 0x50DB 0x00, 0x05, 0x03, 0x00, 0x00DB 0x00, 0x1c, 0x22, 0x41, 0x00DB 0x00, 0x41, 0x22, 0x1c, 0x00DB 0x14, 0x08, 0x3e, 0x08, 0x14DB 0x08, 0x08, 0x3e, 0x08, 0x08DB 0x00, 0x50, 0x30, 0x00, 0x00DB 0x08, 0x08, 0x08, 0x08, 0x08DB 0x00, 0x60, 0x60, 0x00, 0x00DB 0x20, 0x10, 0x08, 0x04, 0x02DB 0x3e, 0x51, 0x49, 0x45, 0x3eDB 0x00, 0x42, 0x7f, 0x40, 0x00DB 0x42, 0x61, 0x51, 0x49, 0x46DB 0x21, 0x41, 0x45, 0x4b, 0x31DB 0x18, 0x14, 0x12, 0x7f, 0x10DB 0x27, 0x45, 0x45, 0x45, 0x39DB 0x3c, 0x4a, 0x49, 0x49, 0x30DB 0x01, 0x71, 0x09, 0x05, 0x03DB 0x36, 0x49, 0x49, 0x49, 0x36DB 0x06, 0x49, 0x49, 0x29, 0x1eDB 0x00, 0x36, 0x36, 0x00, 0x00DB 0x00, 0x56, 0x36, 0x00, 0x00DB 0x08, 0x14, 0x22, 0x41, 0x00DB 0x14, 0x14, 0x14, 0x14, 0x14DB 0x00, 0x41, 0x22, 0x14, 0x08DB 0x02, 0x01, 0x51, 0x09, 0x06DB 0x32, 0x49, 0x79, 0x41, 0x3eDB 0x7e, 0x11, 0x11, 0x11, 0x7eDB 0x7f, 0x49, 0x49, 0x49, 0x36DB 0x3e, 0x41, 0x41, 0x41, 0x22DB 0x7f, 0x41, 0x41, 0x22, 0x1cDB 0x7f, 0x49, 0x49, 0x49, 0x41DB 0x7f, 0x09, 0x09, 0x09, 0x01DB 0x3e, 0x41, 0x49, 0x49, 0x7aDB 0x7f, 0x08, 0x08, 0x08, 0x7fDB 0x00, 0x41, 0x7f, 0x41, 0x00DB 0x20, 0x40, 0x41, 0x3f, 0x01DB 0x7f, 0x08, 0x14, 0x22, 0x41DB 0x7f, 0x40, 0x40, 0x40, 0x40DB 0x7f, 0x02, 0x0c, 0x02, 0x7fDB 0x7f, 0x04, 0x08, 0x10, 0x7fDB 0x3e, 0x41, 0x41, 0x41, 0x3eDB 0x7f, 0x09, 0x09, 0x09, 0x06DB 0x3e, 0x41, 0x51, 0x21, 0x5eDB 0x7f, 0x09, 0x19, 0x29, 0x46DB 0x46, 0x49, 0x49, 0x49, 0x31DB 0x01, 0x01, 0x7f, 0x01, 0x01DB 0x3f, 0x40, 0x40, 0x40, 0x3fDB 0x1f, 0x20, 0x40, 0x20, 0x1fDB 0x3f, 0x40, 0x38, 0x40, 0x3fDB 0x63, 0x14, 0x08, 0x14, 0x63DB 0x07, 0x08, 0x70, 0x08, 0x07DB 0x61, 0x51, 0x49, 0x45, 0x43DB 0x00, 0x7f, 0x41, 0x41, 0x00DB 0x02, 0x04, 0x08, 0x10, 0x20DB 0x00, 0x41, 0x41, 0x7f, 0x00DB 0x04, 0x02, 0x01, 0x02, 0x04DB 0x40, 0x40, 0x40, 0x40, 0x40DB 0x00, 0x01, 0x02, 0x04, 0x00DB 0x20, 0x54, 0x54, 0x54, 0x78DB 0x7f, 0x48, 0x44, 0x44, 0x38DB 0x38, 0x44, 0x44, 0x44, 0x20DB 0x38, 0x44, 0x44, 0x48, 0x7fDB 0x38, 0x54, 0x54, 0x54, 0x18DB 0x08, 0x7e, 0x09, 0x01, 0x02DB 0x0c, 0x52, 0x52, 0x52, 0x3eDB 0x7f, 0x08, 0x04, 0x04, 0x78DB 0x00, 0x44, 0x7d, 0x40, 0x00DB 0x20, 0x40, 0x44, 0x3d, 0x00DB 0x7f, 0x10, 0x28, 0x44, 0x00DB 0x00, 0x41, 0x7f, 0x40, 0x00DB 0x7c, 0x04, 0x18, 0x04, 0x78DB 0x7c, 0x08, 0x04, 0x04, 0x78DB 0x7c, 0x14, 0x14, 0x14, 0x08DB 0x08, 0x14, 0x14, 0x18, 0x7cDB 0x7c, 0x08, 0x04, 0x04, 0x08DB 0x48, 0x54, 0x54, 0x54, 0x20DB 0x04, 0x3f, 0x44, 0x40, 0x20DB 0x3c, 0x40, 0x40, 0x20, 0x7cDB 0x1c, 0x20, 0x40, 0x20, 0x1cDB 0x3c, 0x40, 0x30, 0x40, 0x3cDB 0x44, 0x28, 0x10, 0x28, 0x44DB 0x0c, 0x50, 0x50, 0x50, 0x3cDB 0x44, 0x64, 0x54, 0x4c, 0x44DB 0x00, 0x08, 0x36, 0x41, 0x00DB 0x00, 0x00, 0x7f, 0x00, 0x00DB 0x00, 0x41, 0x36, 0x08, 0x00DB 0x10, 0x08, 0x08, 0x10, 0x08DB 0x78, 0x46, 0x41, 0x46, 0x78END

author: picandmix
author_rank: Frequent Contributor
timestamp: January 12, 2015, 10:11:50 am
content: Sent you 3 replies to your PMs regarding the code in the last 2 days but they do not show up in my Sent Box.Not sure if thats because you have not opened them or there was a problem sending them out.Can you have a look in your PM folder and let me know if they are there with the code I sent back.