Windows 7 64 bit problem..can anyone help???


Closed Thread
Results 1 to 17 of 17
  1. #1
    Join Date
    Feb 2010
    Posts
    2

    Unhappy Windows 7 64 bit problem..can anyone help???

    im trying to run MCSP 3.0.0.5 and PBP 2.47 on windows 7. I've managed to fix other problems with the compiler and the version of MCSP using these links

    http://www.picbasic.co.uk/forum/show...ight=windows+7

    http://www.mecanique.co.uk/code-stud...de_notice.html

    now when i compile i get "c:\pbp\PM.EXE cannot start or run due to incompatibility with 64-bit version of Windows"

    i tried changing the compatibility mode for PM.EXE and tried using as administrator with my regular log in and logged in as administrator but i still get the same error.

    anyone have any ideas????? I've searched but cannot find any....
    thanks

  2. #2
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,521


    Did you find this post helpful? Yes | No

    Default

    Hi,
    You can not use PM as the assembler when using 64bit version of Windows, you must use MPASM.

    /Henrik.

  3. #3
    Join Date
    Feb 2010
    Posts
    2


    Did you find this post helpful? Yes | No

    Talking

    thank you!!!!!!!!!!!!!!!!!!!!!!!!
    finally everything is right and now i can use my new laptop

  4. #4
    Join Date
    Aug 2005
    Location
    Ontario, Canada
    Posts
    5


    Did you find this post helpful? Yes | No

    Smile Windows 7 Virtual XP

    For anyone having problems with X64 programs/drivers etc.
    I have a programmer that would not run on Vista x64. Xeltek 3000U
    Xeltek does not support new operating systems for this.
    I installed Windows 7, downloaded and installed Windows Virtual XP (it's free)
    Everything runs great.

  5. #5
    Join Date
    Apr 2009
    Posts
    3


    Did you find this post helpful? Yes | No

    Default

    really
    is there compability with vista 64 bit computer?
    Help?

  6. #6
    Join Date
    Oct 2003
    Location
    holland
    Posts
    251


    Did you find this post helpful? Yes | No

    Default

    I have a 64 bit Windows 7 computer.
    I run PBP 2.60 as the compiler.
    I use MPASM as the asembler.
    I use PICKIT2 as the programmer.
    And I use (please don't laugh) CDlite as the editor (I' am an oldfashion guy ).
    I do make several different programms a month.
    And I dont have any problems at all.

    So Windows 7 64bit is a great operating system.

  7. #7
    Join Date
    Apr 2009
    Posts
    3


    Did you find this post helpful? Yes | No

    Default

    I have a vista 64 bit windows computer.
    I use MCS plus 3.0.0.5
    I use PBP 2.50 and PBP 2.60
    But I have a problem
    This is problem.
    Attached Images Attached Images  

  8. #8
    Join Date
    Oct 2003
    Location
    holland
    Posts
    251


    Did you find this post helpful? Yes | No

    Default

    Als already said in this topic:
    USE MPASM instead of PM.
    Then the problem is gone.

  9. #9
    Join Date
    Aug 2006
    Location
    SWITZERLAND (french speaking)
    Posts
    891


    Did you find this post helpful? Yes | No

    Default Re: Windows 7 64 bit problem..can anyone help???

    Hi All,

    I changed my PC and installed W7/64.

    So I reinstalled all my software (MCS, PBP2.60A, MPLAB an PICKIT2) and set them up as state in the previous posts.

    In MCS, now using MPLAB to compile, I get a bunch of errors I didn't have before.

    Can anyone explain what I have to do?

    Name:  MCS_Compile-errors.jpg
Views: 1415
Size:  19.5 KB
    Roger

  10. #10
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    What are the error's that are being reported?
    DT

  11. #11
    Join Date
    Aug 2006
    Location
    SWITZERLAND (french speaking)
    Posts
    891


    Did you find this post helpful? Yes | No

    Default Re: Windows 7 64 bit problem..can anyone help???

    That would be one of the codes I'm working on and that was not generating any error in MCS while on Win XP:
    Code:
    '****************************************************************
    '*  Name    : Fly-GPS_V1-0-3-0_16F690                           *
    '*  Author  : FLOTUL                                            *
    '*  Notice  : Copyright (c) 2006 Flotulopex & Co.               *
    '*          : All Rights Reserved                               *
    '*  Date    : 22.04.2010                                        *
    '*  Version : 1.0                                               *
    '*  Notes   : FOR USE WITH MPX4115A pressure sensor             *
    '*          :                                                   *
    '****************************************************************
    
    
    data 1,0,3,0 'major/minor HW-SF
    
    'Version history
    '1-0-3-0:
    ' Changed DOGM display settings to work under 3,3V instead of 5V
    ' Added switch to scroll through different displays
    '
    '1-0-2-5:
    ' Display distance instead of course
    '
    '1-0-2-4:
    ' Working version
    
    '-------------------------------------------------------------------------------
    ' PIC 16F690 Fuses
    @ DEVICE FCMEN_OFF
    @ DEVICE IESO_OFF
    @ DEVICE BOD_OFF
    @ DEVICE CPD_OFF
    @ DEVICE PROTECT_OFF
    @ DEVICE MCLR_OFF
    @ DEVICE PWRT_OFF
    @ DEVICE WDT_OFF
    @ DEVICE XT_OSC
    '@ DEVICE INTRC_OSC_NOCLKOUT
    
    ' Registers   76543210
    OPTION_REG = %10000000 'PORT A&B Pull-Ups disabled (look WPUA & WPUB)
    'OSCCON     = %01100000 'Internal RC set to 4Mhz - not to be used with XTal
    ANSEL      = %00000000 'Disable analog inputs Channels 0 to 7
    ANSELH     = %00000000 'Disable analog inputs Channels 8 to 11
    WPUB       = %00000000 'Disable weak pull-ups
    ADCON0     = %00000000 'A/D Module is OFF
    CM1CON0    = %00000000 'Comparator1 Module is OFF
    CM2CON0    = %00000000 'Comparator2 Module is OFF
    INTCON     = %00000000 'INTerrupts CONtrol
    TRISA      = %00000000 'Set Input/Output (0 to 5)
    PORTA      = %00000000 'Ports High/Low (0 to 5)
    TRISB      = %00010000 'Set Input/Output (4 to 7)
    PORTB      = %00000000 'Ports High/Low (4 to 7)
    TRISC      = %00000000 'Set Input/Output (0 to 7)
    PORTC      = %00000000 'Ports High/Low (0 to 7)
    
    '-------------------------------------------------------------------------------
    ' LCD circuitry
    '-            ( 1) Vss - GND
    '-            ( 2) Vdd / Vcc +5V
    '-            ( 3) Vee / Vo / Contrast adjust / Pot 4k7(1-2-W3) or R2k2(GND-3)
    'PORTC.2    ( 4) RS
    '-            ( 5) R/W -> to Vss
    'PORTC.3    ( 6) E
    'PORTC.4    (11) D4
    'PORTC.5    (12) D5
    'PORTC.6    (13) D6
    'PORTC.7    (14) D7
    
    DEFINE LCD_DREG PORTC  'LCD data port 
    DEFINE LCD_DBIT 4      'LCD data starting PORT.bit (0 or 4)
    DEFINE LCD_RSREG PORTC 'LCD register select port 
    DEFINE LCD_RSBIT 2     'LCD register select bit 
    DEFINE LCD_EREG PORTC  'LCD enable port 
    DEFINE LCD_EBIT 3      'LCD enable bit 
    DEFINE LCD_BITS 4      'LCD bus size 4 or 8 
    DEFINE LCD_LINES 2     'Number lines on LCD 
    
    ' SERIAL communication connections (may need level-shifter such as MAX232 chip)
    'PC's TX pin on DB9=3 or DB25=2
    'PC's RX pin on DB9=2 or DB25=3
    'GND: DB9=5 or DB25=7
    
    ' 13 is carriage return and 10 is line feed
    
    '-------------------------------------------------------------------------------
    INIT:
    clear
    Ctr_A       var byte    'Counter
    Ctr_B       var byte    'Counter
    Cnt_E       var byte    'Counter end value
    GPS_D       var byte(80)'Incomming data bit array
    Spd_U       var word    'Speed Units
    Cou_U       var word    'Course Units
    AltMSL      var word    'Altitude above Mean Sea Level
    Cdls        var byte(4) 'Cardinals holding variables
    Tenths      var byte    'Holds tenths
    CommaCnt    var byte    'comma count
    Temp        var byte
    PosFix      var byte    'GPS Position Fix Indicator
    Sats        var byte    'Number of used Satellites
    GPSfrom     var PORTB.4 'use a TTL I/O port on PIC!
    GPSto       var PORTB.5 'use a TTL I/O port on PIC!
    GPSbps      var word
    GPSbps      = 32852     'Open,True,N,9600bps (TTL level)
                 '32956     'Open,True,N,4800bps (TTL level)
    Timeout     con 255     'seems to be a problem in SERIN2 if > 255
    
    ' Custom character definition
    LCDOUT $FE,$40,$0C,$12,$12,$0C,$00,$00,$00,$00 'character 0 = "°"
    lcDOUT $FE,$48,$14,$18,$14,$00,$1E,$15,$15,$00 'character 1 = "km"
    LCDOUT $FE,$50,$1E,$15,$15,$00,$1E,$15,$15,$00 'character 2 = "m/m"
    
    '-------------------------------------------------------------------------------
    MAIN:
    
    ' DOGM LCD display Mandatory settings
    pause 1000      'Time to settle Vdd (THIS IS VERY IMPORTANT!!!)
    lcdout $FE, $29 'Function Set: 4 bits bus mode
    lcdout $FE, $1C 'Bias set
    lcdout $FE, $55 'Power control + Contrast (HiByte)(for 5V=$52/3,3V=55)
    lcdout $FE, $6D 'Follower control  (5V=$69/3,3V=6D)
    Lcdout $FE, $75 'Contrast (LowByte)
    
    lcdout $FE,2,"Fly GPS "
    pause 3000
    lcdout $FE,2,"RL v2.4 "
    pause 2000
    
    
    '-------------------------------------------------------------------------------
    ' SEROUT initialisation
    serout2 GPSto,Gpsbps,[,13,10] 'don't know why, but must be!!!
    
    ' Set GPS BaudRate to 4800 (
    'serout2 GPSto,Gpsbps,["$PMTK251,4800,*14",13,10]  'set Baudrate to 4800bps
    
    
    '-------------------------------------------------------------------------------
    GPGGA:
    ' Get GPS GGA sentence and store it into GPS_D var (max 80 caracters)
    ctr_a = 0
    commacnt = 0
    SERIN2 GPSfrom,Gpsbps,[WAIT("$GPGGA,"),str GPS_D\80\"*"]
    
    ' Get UTC time
    lcdout $FE,2,Gps_d(0),Gps_d(1),":",Gps_d(2),Gps_d(3),":",Gps_d(4),Gps_d(5)
    pause 1000
    
    ' extract POSITION FIX data after 5th comma
    ctr_a = 0
    posfix = 0
    while commacnt < 5
        if gps_d(ctr_a) = "," then commacnt = commacnt + 1
        ctr_a = ctr_a + 1
    wend
    posfix = gps_d(ctr_a)-48
    if posfix <1 then
        ctr_b = 0
        lcdout $FE,2,"No Fix! "
        goto gpgga:
    else
        ctr_b = ctr_B + 1
        if ctr_b = 10 then
            serout2 GPSto,Gpsbps,["$PSRF103,04,00,00,01*20",13,10]  'set OFF RMC
            CHECK_VTG:
            SERIN2 GPSfrom,Gpsbps,Timeout,NoVTG,[WAIT("$GPVTG")]
            goto GPVTG:
            NoVTG:
            serout2 GPSto,Gpsbps,["$PSRF103,05,00,01,01*20",13,10]  'set ON VTG
            goto CHECK_VTG:        
        endif
    endif
    if posfix = 1 then lcdout $FE,2,"Fix: SPS"
    if posfix = 2 then lcdout $FE,2,"Fix:Diff"
    if posfix = 3 then lcdout $FE,2,"Fix: PPS"
    'lcdout $FE,2,"Fix: ", dec posfix, "  "
    pause 1000
    
    ' go to next data field (SATELLITES USED)
    ctr_a = ctr_a + 2
    
    ' extract SATELLITES USED data
    sats = 0
    while gps_d(ctr_a) != ","
        sats = 10 * sats + (gps_d(ctr_a)-48)
        ctr_a = ctr_a + 1
    WEND
    lcdout $FE,2,"Sats: ", dec2 sats
    pause 1000
    
    ' go to next data field (ALTITUDE)
    ctr_a = 0
    commacnt = 0
    while commacnt < 8
        if gps_d(ctr_a) = "," then commacnt = commacnt + 1
        ctr_a = ctr_a + 1
    wend
    
    ' extract ALTITUDE data
    altmsl = 0
    while gps_d(ctr_a) != "."
        altmsl = 10 * altmsl + (gps_d(ctr_a)-48)
        ctr_a = ctr_a + 1
    WEND
    
    ' data "right" align data
    lcdout $FE,1,"Alt"
    if altmsl > 999 then lcdout $FE,$83,dec4 altmsl,2
    if altmsl > 99  then lcdout $FE,$84,dec3 altmsl,2
    if altmsl > 9   then lcdout $FE,$85,dec2 altmsl,2
    if altmsl <= 9  then lcdout $FE,$86,dec1 altmsl,2
    pause 800
    
    goto GPGGA:
    
    
    '-------------------------------------------------------------------------------
    GPVTG:
    ' Get VTG sentence and store it into GPS_D var until "*" is found
    SERIN2 GPSfrom,Gpsbps,[WAIT("$GPVTG,"),str GPS_D\80\"*"]
    
    'No data: $GPVTG,,T,,M,,N,,K*4E
    'Data   : $GPVTG,206.86,T,,M,0.47,N,0.9,K*60
    
    'no data yet (not moving yet)
    if gps_d(0) = "," then
        lcdout $FE,2,"No Data!"
        goto GPVTG:
    endif
    
    ' extract COURSE data
    ctr_a = 0
    cou_u = 0
    while gps_d(ctr_a) != "."
        Cou_u = 10 * cou_u + (gps_d(ctr_a)-48)
        ctr_a = ctr_a + 1
    WEND
    
    ' locate SPEED data after 6th comma
    ctr_a = 0
    commacnt = 0
    while commacnt < 6
        if gps_d(ctr_a) = "," then commacnt = commacnt + 1
        ctr_a = ctr_a + 1
    wend
    
    ' extract SPEED data
    spd_u = 0
    while gps_d(ctr_a) != "."
        spd_u = 10 * spd_u + (gps_d(ctr_a)-48)
        ctr_a = ctr_a + 1
    WEND
    
    ' go to next character after the dot
    ctr_a = ctr_a + 1
    
    ' if speed tenths >= 5, round up speed to +1
    Tenths = gps_d(ctr_a)-48
    if tenths >= 5 then spd_u = spd_u + 1
    
    lcdout $FE,1
    
    ' convert course in cardinals
    if spd_u = 0 then   ' If the speed is zero, don't display any course
        lcdout $FE,2,"----"
    else
    
    '    ' eight cardinals displayed
    '    if cou_u >= 0   then ctr_a = 0
    '    if cou_u >= 34  then ctr_a = 8
    '    if cou_u >= 80  then ctr_a = 16
    '    if cou_u >= 124 then ctr_a = 24
    '    if cou_u >= 170 then ctr_a = 32
    '    if cou_u >= 214 then ctr_a = 40
    '    if cou_u >= 260 then ctr_a = 48
    '    if cou_u >= 304 then ctr_a = 56
    '    if cou_u >= 350 then ctr_a = 0
    
        ' sixteen cardinals displayed
        if cou_u >= 0   then ctr_a = 0
        if cou_u >= 11  then ctr_a = 4
        if cou_u >= 34  then ctr_a = 8
        if cou_u >= 57  then ctr_a = 12
        if cou_u >= 80  then ctr_a = 16
        if cou_u >= 101 then ctr_a = 20
        if cou_u >= 124 then ctr_a = 24
        if cou_u >= 147 then ctr_a = 28
        if cou_u >= 170 then ctr_a = 32
        if cou_u >= 191 then ctr_a = 36
        if cou_u >= 214 then ctr_a = 40
        if cou_u >= 237 then ctr_a = 44
        if cou_u >= 260 then ctr_a = 48
        if cou_u >= 281 then ctr_a = 52
        if cou_u >= 304 then ctr_a = 56
        if cou_u >= 327 then ctr_a = 60
        if cou_u >= 350 then ctr_a = 0
    
        cnt_e = CTR_A + 3
        ctr_b = 0
        FOR ctr_A = ctr_A TO cnt_e
            lookup ctr_a,_
            ["-N- N-NEN-E E-NE-E- E-SES-E S-SE-S- S-SOS-O O-SO-O- O-NON-O N-NO"],Temp
            Cdls(ctr_b) = temp
            ctr_b = ctr_b + 1
        NEXT ctr_a
        lcdout $FE,2,Cdls(0),Cdls(1),Cdls(2),Cdls(3)
    endif
    
    if spd_u > 99 then lcdout $FE,$84,dec3 spd_u,1
    if spd_u > 9  then lcdout $FE,$85,dec2 spd_u,1
    if spd_u <= 9 then lcdout $FE,$86,dec1 spd_u,1
    
    goto GPVTG:
    and there is it's corresponding error list from MCS:
    Name:  errors.jpg
Views: 1405
Size:  75.2 KB
    Roger

  12. #12
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default Re: Windows 7 64 bit problem..can anyone help???

    DEVICE is for the PM assembler, which you can't use with 64-bit systems.

    With MPASM you need to use __CONFIG.

    See this page ...
    http://melabs.com/support/config_defaults.htm
    DT

  13. #13
    Join Date
    Aug 2006
    Location
    SWITZERLAND (french speaking)
    Posts
    891


    Did you find this post helpful? Yes | No

    Unhappy Re: Windows 7 64 bit problem..can anyone help???

    Thanks Darrel.

    Shall I change all my codes or simply go back to a 32 bits system?

    Just demotivating...
    Roger

  14. #14
    Join Date
    Aug 2006
    Location
    SWITZERLAND (french speaking)
    Posts
    891


    Did you find this post helpful? Yes | No

    Default Re: Windows 7 64 bit problem..can anyone help???

    Well then...

    I tried following code that still generates errors:
    Code:
    @ __config  _FCMEN_OFF & _IESO_OFF & _BOD_OFF & _CPD_OFF &  _PROTECT_OFF & _MCLR_OFF & _PWRT_OFF & _WDT_OFF &  _XT_OSC
    And here's the error list:
    Name:  MCS_errors.jpg
Views: 1442
Size:  33.1 KB

    Any ideas what I'm doing wrong or missing?
    Last edited by flotulopex; - 17th July 2011 at 21:06.
    Roger

  15. #15
    Join Date
    Aug 2006
    Location
    SWITZERLAND (french speaking)
    Posts
    891


    Did you find this post helpful? Yes | No

    Default Re: Windows 7 64 bit problem..can anyone help???

    Actually, I noticed the syntax change in my PIC's INC file so I corrected as follow:
    Code:
    @ __config _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_OFF & _WDT_OFF & _XT_OSC
    Nevertheless, I still get an error message:
    Name:  MCS_errors.jpg
Views: 1413
Size:  13.5 KB
    Roger

  16. #16
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default Re: Windows 7 64 bit problem..can anyone help???

    You need to comment the default __CONFIG in the 16F690.inc in your PBP folder.
    Use a semicolon.
    DT

  17. #17
    Join Date
    Aug 2006
    Location
    SWITZERLAND (french speaking)
    Posts
    891


    Did you find this post helpful? Yes | No

    Default Re: Windows 7 64 bit problem..can anyone help???

    Thanks Darrel,

    It works fine now ;-)
    Roger

Similar Threads

  1. Bits, Bytes Words and Arrays
    By Melanie in forum FAQ - Frequently Asked Questions
    Replies: 24
    Last Post: - 14th June 2016, 07:55
  2. How to receive stream of bytes using PIC USART
    By unifoxz in forum mel PIC BASIC Pro
    Replies: 34
    Last Post: - 20th June 2009, 10:38
  3. Microcontroller with 2 way paging application problem
    By oneohthree in forum mel PIC BASIC Pro
    Replies: 30
    Last Post: - 20th April 2007, 17:27
  4. Replies: 0
    Last Post: - 8th February 2006, 13:52
  5. 7 segment digit problem (using Mister E's code)
    By jmgelba in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 9th September 2005, 20:25

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts