FineLineIDE


Closed Thread
Page 1 of 5 12345 LastLast
Results 1 to 40 of 188

Thread: FineLineIDE

  1. #1
    Join Date
    Oct 2004
    Posts
    440

    Default FineLineIDE

    Coming soon a new IDE: FineLineIDE!



    Features include:
    Bracket lines linking If-Endif, For-Next etc.
    Tabbed explorer so that the current line indicator is always visible for navigation as is the FineLineIDE theme.
    Skins included with additional downloadable.
    Two FineLineIDE’s can be opened at once.
    FL saves a recovery file every 30 seconds and prompt’s to restore on restart if improper shutdown or crash.
    FineLineIDE works with both Proton and PicBasicPro.
    FineLineIDE defines (currently used in PicBasicPro) establish in-code setting such as:
    Device: ‘< FL_PIC18F452 >‘ First valid PIC found within the first 200 lines will highlight and set device.
    Compiler: ‘< FL_PBPW >’ or ‘< FL_PBPL >’
    Assembler: ‘< FL_MPASM >‘ or ‘< FL_PM >’
    NOTE: THE WEB REMOVES THE ABOVE < AND > UNLESS I ADD A SPACE.
    IN USE REMOVE ABOVE SPACES IN FL DEFINES.

    In PicBasicPro setting FL will prompt on compile if there are improper setting including PBPW or PBPL and PM or MPASM.

    FineLineIDE is provided free and is under continued development with several new features planned in the future such as code folding and auto code indent/formatting.

    See FineLineIDE Demo Video.


    Norm
    Last edited by Normnet; - 11th December 2010 at 21:01.

  2. #2
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,793


    Did you find this post helpful? Yes | No

    Default

    One of the best!

    Congrats Norm.

    Ioannis

  3. #3
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    Compiler: ‘< FL_PBPW >’ or ‘< FL_PBPL >'
    WOOHOO!!!!!
    That is going to be nice!!!
    It keeps getting better and better!
    Thanks Norm
    Dave
    Always wear safety glasses while programming.

  4. #4
    Join Date
    Jan 2009
    Location
    Miami, Florida USA
    Posts
    637


    Did you find this post helpful? Yes | No

    Default

    Nice !! I like the "Bracket colored lines linking If-Endif, For-Next etc" feature. This feature would make the code a lot easier to read. Also, the current line indicator would be very helpful.

    Robert
    Last edited by rsocor01; - 11th December 2010 at 23:11.
    "No one is completely worthless. They can always serve as a bad example."

    Anonymous

  5. #5
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,516


    Did you find this post helpful? Yes | No

    Default

    Hi Norm,
    That looks fantastic! The bracketing is going to be real help.
    I hate doing this but have you considered some kind of code folding? That's one thing I miss a lot in MCSP when working on larger projects.

    /Henrik.

  6. #6
    Join Date
    Dec 2004
    Location
    USA
    Posts
    36


    Did you find this post helpful? Yes | No

    Question

    Looks great!

    How soon?

    How much?

  7. #7
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by HenrikOlsson View Post
    ...I hate doing this but have you considered some kind of code folding?...Henrik.
    Quote Originally Posted by khoog
    Looks great!
    How soon?
    How much?
    Probably post in about one week.

    FineLineIDE is provided free and is under continued development with several new features planned in the future such as code folding and auto code indent/formatting.


    Norm

  8. #8
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    3,793


    Did you find this post helpful? Yes | No

    Default

    With such good features, I want to keep on ... programming!

    Ioannis

  9. #9
    Join Date
    Dec 2004
    Location
    USA
    Posts
    36


    Did you find this post helpful? Yes | No

    Default

    I'd like to try it out.

    Where can I download?

  10. #10
    Join Date
    Sep 2009
    Posts
    737


    Did you find this post helpful? Yes | No

    Default

    It looks very very fine
    The bracketing will be helpful.
    I will try as soon as you publish it.

  11. #11
    malc-c's Avatar
    malc-c Guest


    Did you find this post helpful? Yes | No

    Default

    That code in the example looks familiar

    Looks like a nice alternative to MCS

  12. #12
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default

    FineLineIDE v1.0.0.0 Released!

    See FineLineIDE for download.


    Norm

  13. #13
    Join Date
    Aug 2010
    Location
    Maryland, USA
    Posts
    869


    Did you find this post helpful? Yes | No

    Default

    Just checked it out, looks VERY nice. Makes me want to buy a programmer to work with it.
    -Bert

    The glass is not half full or half empty, Its twice as big as needed for the job!

    http://foamcasualty.com/ - Warbird R/C scratch building with foam!

  14. #14
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by cncmachineguy View Post
    Just checked it out, looks VERY nice. Makes me want to buy a programmer to work with it.
    I thought you were using a PicKit2?
    Dave
    Always wear safety glasses while programming.

  15. #15
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default

    Norm , I just downloaded your latest version and I think it needs a bit more work. I use TAB's for my indenting and when edited with MCSP it looks as it should. When the same program is loaded into your latest version, it seems to get confused about the tab spacing and also seems to get confused about where to put the connecting lines to the left side of the screen. There are places where multiple connections are all covered up by the same line... If you can give me your email address I will send you the some screen shots...

    dave Purola,
    N8NTA

  16. #16
    Join Date
    Aug 2010
    Location
    Maryland, USA
    Posts
    869


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mackrackit View Post
    I thought you were using a PicKit2?
    No, I have ICD2 and ICD3. But a Pickit2 is on my wish list. Just haven't stopped to look at all the options it can come with.
    -Bert

    The glass is not half full or half empty, Its twice as big as needed for the job!

    http://foamcasualty.com/ - Warbird R/C scratch building with foam!

  17. #17
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Dave View Post
    Norm , I just downloaded your latest version and I think it needs a bit more work. I use TAB's for my indenting and when edited with MCSP it looks as it should. When the same program is loaded into your latest version, it seems to get confused about the tab spacing and also seems to get confused about where to put the connecting lines to the left side of the screen. There are places where multiple connections are all covered up by the same line... If you can give me your email address I will send you the some screen shots...

    dave Purola,
    N8NTA
    Click the "email suggestions" link on the Help > About Fineline window.

    Norm

  18. #18
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Dave View Post
    Norm , I just downloaded your latest version and I think it needs a bit more work. I use TAB's for my indenting and when edited with MCSP it looks as it should. When the same program is loaded into your latest version, it seems to get confused about the tab spacing and also seems to get confused about where to put the connecting lines to the left side of the screen. There are places where multiple connections are all covered up by the same line... If you can give me your email address I will send you the some screen shots...

    dave Purola,
    N8NTA
    FL requires an indent to allow room to draw to left of text.
    See how finelines draw to left of "SensorError:" label in post #1.
    Try a select all and indent one step.

    I will look into the tabs replacement width issue.


    Norm
    Last edited by Normnet; - 24th December 2010 at 02:00.

  19. #19
    malc-c's Avatar
    malc-c Guest


    Did you find this post helpful? Yes | No

    Default won't save settings

    Hi,

    I've just downloaded and "installed" the IDE - went through the config process of pointing the IDE at the installation folders for MPSAM, PBP etc and then loaded up one of my old programs. The IDE responded with a pop up about converting tabs or something and then displayed the code.

    A lot of the coloured brackets shown in your example were bunched up against the far left of the code window, so the "importation" didn't work for me. I tried compiling and each time I got an error about an invalid path statement, for either PBP or MPSAM. It seemed as if the IDE had lost it's settings, even though the INI files show the path statements to where the EXE's are

    Code:
    [PicBasicPro]
    Use MPASM=1
    Use PBPL=0
    Compiler Path=C:\PBP2.60\PBP.EXE
    Assembly Path=*:\
    IDE Path=C:\Program Files\Mecanique\MCS\CodeStudio.exe
    [Proton]
    Compiler Path=*:\
    IDE Path=*:\
    [Programmer]
    Name0=
    Name1=PICkit2  3.3 volt
    Name2=PICkit3
    Name3=EasyPic5
    Name4=melabs U2 Programmer          
    Location0=
    Location1=Browse to *\pk2cmd.exe
    Location2=Browse to *\pk3cmd.exe
    Location3=C:\Program Files\Mikroelektronika\PICFLASH-mikroICD\PICFLASH.exe
    Location4=Browse to *\meProg.exe
    Parameter0=
    I think I've set all the parameters up, to use my easypic5 board, MPSAM and PBP which is my current set up with MCS, but could be wrong. I did try the automatic scan as well for each option and if didn't find the exe's on some occasions and I used the manual browse option

    EDIT:

    Ignore that..... have found out where I was going wrong - can now compile OK !!! - USER ERROR ON THIS OCCASION !!!
    Last edited by malc-c; - 28th December 2010 at 12:15.

  20. #20
    malc-c's Avatar
    malc-c Guest


    Did you find this post helpful? Yes | No

    Default more feedback

    In the left column it's possible to select things like labels, variables, includes etc, and an option for none. Would it be possible to have an option for all, in the same way MCS does.

    Ive also noticed that when a file is opened in FL it changes the text of the commands. For example

    IF Temperatures(pid_Channel) > alarmhigh(pid_Channel) and Alarm = 1 then AlarmPin = 1
    IF Temperatures(pid_Channel) > alarmhigh(pid_Channel) and Alarm = 0 then AlarmPin = 0
    IF Temperatures(pid_Channel) <= alarmhigh(pid_Channel) then AlarmPin = 0
    IF Temperatures(pid_Channel) <= alarmlow(pid_Channel) then AlarmPin = 0
    if Temperatures(pid_Channel) < alarmlow(pid_Channel) and Alarm = 1 then AlarmPin = 1
    if Temperatures(pid_Channel) < alarmlow(pid_Channel) and Alarm = 0 then AlarmPin = 0
    Note the lower case "if" in the last two lines. I then use the option to open in MCS and looked at the same set of lines

    IF Temperatures(pid_Channel) > alarmhigh(pid_Channel) and Alarm = 1 then AlarmPin = 1
    IF Temperatures(pid_Channel) > alarmhigh(pid_Channel) and Alarm = 0 then AlarmPin = 0
    IF Temperatures(pid_Channel) <= alarmhigh(pid_Channel) then AlarmPin = 0
    IF Temperatures(pid_Channel) <= alarmlow(pid_Channel) then AlarmPin = 0
    IF Temperatures(pid_Channel) < alarmlow(pid_Channel) and Alarm = 1 then AlarmPin = 1
    IF Temperatures(pid_Channel) < alarmlow(pid_Channel) and Alarm = 0 then AlarmPin = 0
    Formatting was correct....

  21. #21
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    Are you relying on the program to do the capitalization? Or are you typing IF.
    Dave
    Always wear safety glasses while programming.

  22. #22
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by malc-c View Post
    In the left column it's possible to select things like labels, variables, includes etc, and an option for none. Would it be possible to have an option for all, in the same way MCS does.

    Ive also noticed that when a file is opened in FL it changes the text of the commands. For example



    Note the lower case "if" in the last two lines. I then use the option to open in MCS and looked at the same set of lines



    Formatting was correct....
    Files saved in MCS aren't saving the "IF" etc uppercase format.
    I will add a look through for case on open in FL.

    Norm

  23. #23
    malc-c's Avatar
    malc-c Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by mackrackit View Post
    Are you relying on the program to do the capitalization? Or are you typing IF.
    Dave, I was just opening an existing pbp code which already contained the statements. If I select the button to open in the original IDE (MCS) the same statements are capitalised - in FL half are, half are not !

    Don't get me wrong - not knocking FL - just filtering back some observations.

  24. #24
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by malc-c View Post
    Dave, I was just opening an existing pbp code which already contained the statements. If I select the button to open in the original IDE (MCS) the same statements are capitalised - in FL half are, half are not !

    Don't get me wrong - not knocking FL - just filtering back some observations.
    Did not think you were knocking FL.

    The same thing with upper/lower case I bet will happen if you open the same code in MPLAB. At least it does for me if I depend on MCS to apply upper case to key words. Just wondering if that was your case too...
    Dave
    Always wear safety glasses while programming.

  25. #25
    malc-c's Avatar
    malc-c Guest


    Did you find this post helpful? Yes | No

    Default

    Dave,

    Not only does it do the same in MPLAB, but also in Notepad.... strange that !

  26. #26
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by malc-c View Post
    ...Ive also noticed that when a file is opened in FL it changes the text of the commands. For example



    Note the lower case "if" in the last two lines. I then use the option to open in MCS and looked at the same set of lines



    Formatting was correct....
    NEW v1.0.0.4
    Added a format all button for keywords (case).
    User discretion required a button as both Proton and PicBasic files could be open with FL not certain of which style to use.
    Formatting would be recommended when opening a file edited in MicroCode Studio as it saves "as typed" but appears formatted.
    Proton IDE has a recommended option to "Commit formatting changes to source code" which would then require no FL format button press.
    Formatting does all compiler keywords as well as variables, constants, aliases, labels, macros, and data labels.


    Norm

  27. #27
    Join Date
    Mar 2009
    Location
    Colorado
    Posts
    378


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by Normnet View Post
    NEW v1.0.0.4
    Added a format all button for keywords (case).

    Formatting does all compiler keywords as well as variables, constants, aliases, labels, macros, and data labels.
    Your description of the v1.0.0.4 change confuses me, Norm.....I downloaded the latest version and I can't figure out which button is the new "Format All" button you refer to. Is it the button labeled "if-IF" ?

    I also endorse a suggestion I saw on the forum to add an "All" option in the Pull Down list for Includes, Constants, Variables, Defines, Variables, Alias & Modifiers, and Labels. MCS has this and it is sometimes very useful to not have to switch back and forth between the options.

    Another suggestion...with the lack of a User Manual some button context help would be useful or a pop-up window on cursor flyover of the button to explain its use.

  28. #28
    Join Date
    Mar 2009
    Location
    Colorado
    Posts
    378


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Norm, I cut/pasted some of Mackrackit's code for a ConnectOne WiFi module into FineLine and see something I can't figure out as shown in this code snippet:
    DIP:
    IF !ADR[1] AND !ADR[1] AND !ADR[2] AND !ADR[3]THEN SEROUT2 PORTC.3,16780,[" NOT "]
    SEROUT2 PORTC.3,16780,[" CONNECTED ",$d,$a]
    SEROUT2 PORTC.3,16780,["ADR - " ,DEC3 ADR[0],".",DEC3 ADR[1],".",DEC3 ADR[2],".",DEC3 ADR[3],$d,$a] PAUSE 1000
    RETURN
    The actual code listing in FineLine shows a red "0" at the beginning of the IF statement line. I tried to delete it and it won't delete. What is this red "0" signifying or trying to tell me?

  29. #29
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by jellis00 View Post
    Your description of the v1.0.0.4 change confuses me, Norm.....I downloaded the latest version and I can't figure out which button is the new "Format All" button you refer to. Is it the button labeled "if-IF" ?

    I also endorse a suggestion I saw on the forum to add an "All" option in the Pull Down list for Includes, Constants, Variables, Defines, Variables, Alias & Modifiers, and Labels. MCS has this and it is sometimes very useful to not have to switch back and forth between the options.

    Another suggestion...with the lack of a User Manual some button context help would be useful or a pop-up window on cursor flyover of the button to explain its use.
    Yes the "if-IF" button is "Format All".

    The reason for separating the Explorer types is a lot less scrolling.
    When "showing all" most are hidden.
    The next version of FL however replaces the Explorer drop down box with a one click "radio button" for a fast change of display type as displayed below.

    On my PC a hover over the "if-If" button displays a yellow "Format keywords for PicBasicPro".

    Norm

    Last edited by Normnet; - 11th July 2011 at 05:06. Reason: add screen shot

  30. #30
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by jellis00 View Post
    Norm, I cut/pasted some of Mackrackit's code for a ConnectOne WiFi module into FineLine and see something I can't figure out as shown in this code snippet:

    The actual code listing in FineLine shows a red "0" at the beginning of the IF statement line. I tried to delete it and it won't delete. What is this red "0" signifying or trying to tell me?
    The red "O" is for orphan.
    FineLine is telling you a corresponding Endif is missing.
    See screenshot in previous post.

    Norm
    Last edited by Normnet; - 11th July 2011 at 05:23. Reason: Changed screenshot

  31. #31
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,516


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Norm,
    In your screenshot the ENDIF is missing but in the code snippet Jellis posted it's not missing since the IF statement is a "one-liner"
    Code:
    IF !ADR[1] AND !ADR[1] AND !ADR[2] AND !ADR[3]THEN SEROUT2 PORTC.3,16780,[" NOT "]
    /Henrik.

  32. #32
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by HenrikOlsson View Post
    Norm,
    In your screenshot the ENDIF is missing but in the code snippet Jellis posted it's not missing since the IF statement is a "one-liner"
    Code:
    IF !ADR[1] AND !ADR[1] AND !ADR[2] AND !ADR[3]THEN SEROUT2 PORTC.3,16780,[" NOT "]
    /Henrik.
    PBP V2.50C gives the following error:
    Compiler: Error[Line XXX]: If without a matching ENDIF.

    Norm

  33. #33
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,516


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Hi Norm,

    Really? That's a surprise....It compiles without error here (on v2.44):

    Name:  Screenshot.JPG
Views: 4250
Size:  74.5 KB

    Weird... I'll try it on 2.6 tonight.

    /Henrik.


  34. #34
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    I did that before FL. It does work with PBP 2.6.
    I just tried it with FL and got the "O", but it compiled..
    Dave
    Always wear safety glasses while programming.

  35. #35
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by mackrackit View Post
    I did that before FL. It does work with PBP 2.6.
    I just tried it with FL and got the "O", but it compiled..
    I'll fix it for the next version of FL.
    A workaround is to keep a space in front of the "Then".


    Norm

  36. #36
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    The space fixed it!
    Dave
    Always wear safety glasses while programming.

  37. #37
    Join Date
    Mar 2009
    Location
    Colorado
    Posts
    378


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by Normnet View Post
    NEW v1.0.0.4

    Norm
    Norm, I really like FL but discovered one thing that I can't figure out how to do. I presumed since EasyPIC6 is one of the Programmer Options in FL that I could use it to program a PBPro application onto a PIC18F4550 in my EasyPic6 and run the application. I also presumed that selecting the EasyPIC6 as the programmer was as simple as going to its tab in the Programmer options, making sure it was setup correctly and then clicking OK. However I cannot get FL to target the EasyPic6 FLASH programmer by this setup method.....it keeps launching PICKIT2 as the programmer, even though I thought I had switched to the FLASH on EASYPIC6 via the otpions.

    How do I select any of the specific programmer options to operate with FL?

    John Ellis

  38. #38
    Join Date
    Mar 2009
    Location
    Colorado
    Posts
    378


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by jellis00 View Post
    Norm, I really like FL but discovered one thing that I can't figure out how to do. I presumed since EasyPIC6 is one of the Programmer Options in FL that I could use it to program a PBPro application onto a PIC18F4550 in my EasyPic6 and run the application. I also presumed that selecting the EasyPIC6 as the programmer was as simple as going to its tab in the Programmer options, making sure it was setup correctly and then clicking OK. However I cannot get FL to target the EasyPic6 FLASH programmer by this setup method.....it keeps launching PICKIT2 as the programmer, even though I thought I had switched to the FLASH on EASYPIC6 via the otpions.

    How do I select any of the specific programmer options to operate with FL?

    John Ellis
    Just found the answer to my own question while poking around in FL application screen. I found the window selector to the left of the green COMPILE pushbutton which allows the user to select which of the programmers that are setup in the OPTIONS. Worked like a charm! Sorry for the previous post. A user manual would have prevented my question.

  39. #39
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    A user manual is in the plans for the next version.

    Norm

  40. #40
    Join Date
    Mar 2009
    Location
    Colorado
    Posts
    378


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by Normnet View Post
    NEW v1.0.0.4
    Norm, I encountered a problem with FL not being able to compile the ReEnterPBP-18.bas version 1.4 which was an INCLUDE in one of my application codes.

    Here is the code for version 1.4
    Code:
    '****************************************************************
    '*  Name    : ReEnterPBP-18.bas                                 *
    '*  Author  : Darrel Taylor / Timothy Box                       *
    '*  Date    : MAR 18, 2006                                      *
    '*  Version : 1.4  MAR 24, 2008                                 *
    '*  Notes   : Allows re-entry to PBP from a High Priority       *
    '*          :                               ASM interrupt       *
    '*          : Must have DT_INTS-18.bas loaded first             *
    '****************************************************************
    '*  Versions:                                                   *
    '*   1.4  MAR 24, 2008                                          *
    '*       Corrects an initialization problem affecting the first *
    '*         pass system var save. Found by dcorraliza            *
    '*       Fixed T7 "Warning" error. Found by Kamikaze47          *
    '*   1.3  Aug 26, 2007                                          *
    '*       Update for PBP 2.50 using LONG's with PBPL             *
    '*   1.2  JUL 18, 2006                                          *
    '*       Modified to handle smaller BANKA in the newer chips    *
    '****************************************************************
    DISABLE DEBUG
    DEFINE   ReEnterHPused  1
    VarsSaved_H   VAR BIT
    VarsSaved_H = 0
    goto OverReEnterH
       
    ' Save locations for PBP system Vars during High Priority Interrupts
    HP_Vars  VAR  WORD[34]        ; group vars together for less banking
        R0_SaveH      VAR HP_Vars[0]
        R1_SaveH      VAR HP_Vars[2]
        R2_SaveH      VAR HP_Vars[4]
        R3_SaveH      VAR HP_Vars[6]
        R4_SaveH      VAR HP_Vars[8]
        R5_SaveH      VAR HP_Vars[9]
        R6_SaveH      VAR HP_Vars[10]
        R7_SaveH      VAR HP_Vars[11]
        R8_SaveH      VAR HP_Vars[12]
        Flag_GOP_H    VAR HP_Vars[13]
          Flags_SaveH   VAR Flag_GOP_H.lowbyte
          GOP_SaveH     VAR Flag_GOP_H.highbyte
        RM_H          VAR HP_Vars[14]
          RM1_SaveH     VAR RM_H.lowbyte
          RM2_SaveH     VAR RM_H.highbyte
        RR_H          VAR HP_Vars[15]
          RR1_SaveH     VAR RR_H.lowbyte
          RR2_SaveH     VAR RR_H.highbyte
        RS_H          VAR HP_Vars[16]
          RS1_SaveH     VAR RS_H.lowbyte
          RS2_SaveH     VAR RS_H.highbyte
        T1_SaveH      VAR HP_Vars[17]
        T2_SaveH      VAR HP_Vars[19]
        T3_SaveH      VAR HP_Vars[21]
        T4_SaveH      VAR HP_Vars[23]
        T5_SaveH      VAR HP_Vars[25]
        T6_SaveH      VAR HP_Vars[27]
        T7_SaveH      VAR HP_Vars[29]
        TBLPTRU_H     VAR HP_Vars[31]
          TBLPTRU_SaveH VAR TBLPTRU_H.lowbyte
        TBLPTR_H      VAR HP_Vars[32]
          TBLPTRH_SaveH VAR TBLPTR_H.highbyte
          TBLPTRL_SaveH VAR TBLPTR_H.lowbyte
        Product_H     VAR HP_Vars[33]
        
    SavePBP_H:               ' Save all PBP system Vars High Priority
      if VarsSaved_H = 0 then
        R0_SaveH = R0
        R1_SaveH = R1
        R2_SaveH = R2
        R3_SaveH = R3
        asm
            if (PBPLongs_Used == 1)
                MOVE?WW  R0+2, _R0_SaveH+2
                MOVE?WW  R1+2, _R1_SaveH+2
                MOVE?WW  R2+2, _R2_SaveH+2
                MOVE?WW  R3+2, _R3_SaveH+2
            endif
        endasm
        R4_SaveH = R4
        R5_SaveH = R5
        R6_SaveH = R6
        R7_SaveH = R7
        R8_SaveH = R8
        Flags_SaveH = FLAGS
        GOP_SaveH = GOP
        RM1_SaveH = RM1
        RM2_SaveH = RM2
        RR1_SaveH = RR1
        RR2_SaveH = RR2
    @ if Save_TBLPTR == 1
        TBLPTRU_SaveH = TBLPTRU
        TBLPTRH_SaveH = TBLPTRH
        TBLPTRL_SaveH = TBLPTRL
    @ endif
        ASM
            ifdef RS1
                MOVE?BB    RS1, _RS1_SaveH
            endif
            ifdef RS2
                MOVE?BB    RS2, _RS2_SaveH
            endif
            ifdef MUL_USED
                MOVE?WW    PRODL, _Product_H
            endif
            ifdef T1
                MOVE?WW    T1, _T1_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T1+2, _T1_SaveH+2
                endif
            endif
            ifdef T2
                MOVE?WW    T2, _T2_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T2+2, _T2_SaveH+2
                endif
            endif
            ifdef T3
                MOVE?WW    T3, _T3_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T3+2, _T3_SaveH+2
                endif
            endif
            ifdef T4
                MOVE?WW    T4, _T4_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T4+2, _T4_SaveH+2
                endif
            endif
            ifdef T5
                MOVE?WW    T5, _T5_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T5+2, _T5_SaveH+2
                endif
            endif
            ifdef T6
                MOVE?WW    T6, _T6_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T6+2, _T6_SaveH+2
                endif
            endif
            ifdef T7
                MOVE?WW    T7, _T7_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T7+2, _T7_SaveH+2
                endif
            endif
        ENDASM   
        VarsSaved_H = 1
      endif
    @ INT_RETURN
    RestorePBP_H:
      if VarsSaved_H = 1 then
        R0 = R0_SaveH
        R1 = R1_SaveH
        R2 = R2_SaveH
        R3 = R3_SaveH
        asm
            if (PBPLongs_Used == 1)
                MOVE?WW  _R0_SaveH+2, R0+2
                MOVE?WW  _R1_SaveH+2, R1+2 
                MOVE?WW  _R2_SaveH+2, R2+2 
                MOVE?WW  _R3_SaveH+2, R3+2 
            endif
        endasm
        R4 = R4_SaveH
        R5 = R5_SaveH
        R6 = R6_SaveH
        R7 = R7_SaveH
        R8 = R8_SaveH
        FLAGS = Flags_SaveH
        GOP = GOP_SaveH
        RM1 = RM1_SaveH
        RM2 = RM2_SaveH
        RR1 = RR1_SaveH
        RR2 = RR2_SaveH
    @ if Save_TBLPTR == 1
        TBLPTRU = TBLPTRU_SaveH
        TBLPTRH = TBLPTRH_SaveH
        TBLPTRL = TBLPTRL_SaveH
    @ endif
        ASM
            ifdef RS1
                MOVE?BB    _RS1_SaveH, RS1
            endif
            ifdef RS2
                MOVE?BB    _RS2_SaveH, RS2
            endif
            ifdef MUL
                MOVE?WW    _Product_H, PRODL
            endif
            ifdef T1
                MOVE?WW    _T1_SaveH, T1
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T1_SaveH+2, T1+2 
                endif
            endif
            ifdef T2
                MOVE?WW    _T2_SaveH, T2
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T2_SaveH+2, T2+2 
                endif
            endif
            ifdef T3
                MOVE?WW    _T3_SaveH, T3
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T3_SaveH+2, T3+2 
                endif
            endif
            ifdef T4
                MOVE?WW    _T4_SaveH, T4
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T4_SaveH+2, T4+2 
                endif
            endif
            ifdef T5
                MOVE?WW    _T5_SaveH, T5
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T5_SaveH+2, T5+2 
                endif
            endif
            ifdef T6
                MOVE?WW    _T6_SaveH, T6
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T6_SaveH+2, T6+2 
                endif
            endif
            ifdef T7
                MOVE?WW    _T7_SaveH, T7
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T7_SaveH+2, T7+2 
                endif
            endif
            ifdef T8
                ifndef NO_T7_WARNING
                    messg "Temp variables exceeding T7"
                endif
            endif
        ENDASM   
        VarsSaved_H = 0
      ENDIF
    @ INT_RETURN
    OverReEnterH:
    ENABLE DEBUG
    And here are the errors:

    Name:  FL_compile_errors.jpg
Views: 4786
Size:  262.2 KB

    Has anyone else had this problem with ReEnterPBP-18.bas ??

    John Ellis

Members who have read this thread : 4

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