Shop OBEX P1 Docs P2 Docs Learn Events
Mac/Linux/Windows IDE - Ver 0.19.3 "Now with new improved PropBasic" release - Page 35 — Parallax Forums

Mac/Linux/Windows IDE - Ver 0.19.3 "Now with new improved PropBasic" release

1323335373852

Comments

  • AleAle Posts: 2,363
    edited 2009-12-23 08:49
    BradC: you are correct but what I meant was that you get 1 extra bit from the second digit.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Visit some of my articles at Propeller Wiki:
    MATH on the propeller propeller.wikispaces.com/MATH
    pPropQL: propeller.wikispaces.com/pPropQL
    pPropQL020: propeller.wikispaces.com/pPropQL020
    OMU for the pPropQL/020 propeller.wikispaces.com/OMU
  • BradCBradC Posts: 2,601
    edited 2009-12-23 09:04
    Ale said...
    BradC: you are correct but what I meant was that you get 1 extra bit from the second digit.

    Ahh, I see. I think the string notation is more an array than a constant. Try

    long 0,"ABCD"

    and see what you get. I'd have thought that implicitly meant it was interpreted as an array type.

    If you were to want to use that, you could use
    mov zz, ("A" << 8 + "B") & $1FF

    One of the other points is immediates are not truncated, if they exceed $1FF they are reported as an error instead (I used to silently truncate until some of my test code failed to compile with Propellent one day).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Life may be "too short", but it's the longest thing we ever do.
  • AleAle Posts: 2,363
    edited 2009-12-23 10:04
    Yes I tested the long "ABCD" and got 4 longs with a letter each...The other method is of course preferred. Now that you mention it I think I truncate silently I thought most assemblers did so, now I'm not sure, I know they complain about jumps with longer than fitting values but for loads and the sort.. I'm not sure. I just modified the compiler to complain on longer than fitting literals, at least for instructions smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Visit some of my articles at Propeller Wiki:
    MATH on the propeller propeller.wikispaces.com/MATH
    pPropQL: propeller.wikispaces.com/pPropQL
    pPropQL020: propeller.wikispaces.com/pPropQL020
    OMU for the pPropQL/020 propeller.wikispaces.com/OMU
  • BradCBradC Posts: 2,601
    edited 2009-12-23 10:14
    Ale said...
    Now that you mention it I think I truncate silently I thought most assemblers did so, now I'm not sure, I know they complain about jumps with longer than fitting values but for loads and the sort.

    Data declarations are silently truncated, but immediate parms > $1FF are always flagged as errors.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Life may be "too short", but it's the longest thing we ever do.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-12-23 11:45
    As someone who uses BST every day (sometimes for many hours at a time) I'm pushing its limits and I was wondering if it is possible to add a small improvement?

    When finding bits of text, rather than type it in, sometimes I might highlight a bit and then hit CTRL F (or Edit/Find). In the prop tool, this takes the highlighted text and puts it in the popup Find menu. This is really handy for searching for text rather than typing it in, particularly when you have a Call to an object and you want to go through all the text and find the object itself.

    I was wondering if it is possible to add this feature? Hopefully it is only a little bit of code to add, and if it is too hard then don't bother.

    Cheers, James Moxham

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • BradCBradC Posts: 2,601
    edited 2009-12-23 15:39
    Dr_Acula said...
    As someone who uses BST every day (sometimes for many hours at a time) I'm pushing its limits and I was wondering if it is possible to add a small improvement?

    When finding bits of text, rather than type it in, sometimes I might highlight a bit and then hit CTRL F (or Edit/Find). In the prop tool, this takes the highlighted text and puts it in the popup Find menu. This is really handy for searching for text rather than typing it in, particularly when you have a Call to an object and you want to go through all the text and find the object itself.

    I was wondering if it is possible to add this feature? Hopefully it is only a little bit of code to add, and if it is too hard then don't bother.

    It's actually *really* high on my todo list. Stefan asked me about it a couple of months ago, and it sitting on the top of the pile. I'm taking my laptop away with me over the break, so I might get a chance to look at some of the stuff I've been contemplating for a while.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Life may be "too short", but it's the longest thing we ever do.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-12-23 15:48
    Just wanted to pop into this thread and also congratulate Brad being on the Parallax homepage!

    Are they going to do a "Linux" feature spot for BST as well? [noparse]:)[/noparse]

    BST (windows) also runs on lightweight ("older") machines where the Propeller Tool isn't so friendly. [noparse]:)[/noparse]
    I have an older laptop where BST works wonderfully! Thanks Brad!

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-12-23 17:42
    Congratulations Brad for having it on Parallax's front page. And thanks Parallax for acknowledging it smile.gif

    As OBC said, perhaps it should indicate "Linux" and "Windows" too.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • W9GFOW9GFO Posts: 4,010
    edited 2009-12-23 20:55
    Nice! Been waiting a while for Parallax to (advertise?) that there is a Mac solution for programming the Propeller chip.

    Thanks again Brad for your wonderful program!

    Rich H

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    The Simple Servo Tester, a kit from Gadget Gangster.
  • BradCBradC Posts: 2,601
    edited 2009-12-23 23:49
    Oldbitcollector said...
    BST (windows) also runs on lightweight ("older") machines where the Propeller Tool isn't so friendly. [noparse]:)[/noparse]
    I have an older laptop where BST works wonderfully! Thanks Brad!

    Try it on Windows 95! Except for Unicode (The propeller font special characters) the whole IDE runs well on Win95 & Win98. I test it on Win98OSR2 from time to time just to make sure.

    I pinged Ken to ask if they can amend the link and the page to state Linux as well, especially given I wrote bst in the first place for Linux.

    Cheers for the kind words guys [noparse]:)[/noparse] I'm incommunicado between Boxing Day and the 4th of Jan, so I hope all of you have a great, safe Christmas and New Year [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Life may be "too short", but it's the longest thing we ever do.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-12-24 01:31
    Thanks for looking into the Find code. And congrats on being on the homepage!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • jazzedjazzed Posts: 11,803
    edited 2009-12-24 04:28
    @BradC,

    Could you please add a flag for bstc to generate and prepend SpinFilename::lineNum to the .list file?

    That would "greatly" simplify PASM debug source level tools. It would also simplify SPIN debug tools.
    The SPIN line numbers alone are priceless for associating SPIN lines, but I have to "jump very high" to use them.

    Thanks and Merry Christmas,
    --Steve
  • BradCBradC Posts: 2,601
    edited 2009-12-24 06:38
    jazzed said...
    @BradC,

    Could you please add a flag for bstc to generate and prepend SpinFilename::lineNum to the .list file?

    Ok, so at the moment I'm simply giving the line number of the file the source line came from, you want each line number prepended by the file name? That is not at all difficult to do, but I'm not going to get a chance to get it done until I leave, so it won't be until after the 4th of Jan.

    With the file name, will the object name suffice or would you like the actual filename "FullDuplexSerial.Spin" ?

    Could I put the file name in the header for each object and you just pick it up in a linear pass? I'm just thinking it will really extend the source lines to push them out by that far. Open to suggestions anyway.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Life may be "too short", but it's the longest thing we ever do.
  • jazzedjazzed Posts: 11,803
    edited 2009-12-24 13:27
    Hi Brad,

    Thanks for the reply. I understand you're going on holiday soon, I also have plans at the same time.

    My request comes because BSTC list output gives the source file line numbers only for SPIN, and not for PASM.
    Without line numbers, having to guess/match the source line is error prone especially for copy-pasted code.

    I do "scape" list file info for the SPUD Spin debugger, but it is tedious which usually means unmaintainable.
    The actual file name would be easiest to use. The less list file parsing/scraping the better.

    Cheers,
    --Steve
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-12-29 23:38
    Hi Brad, I gather you are on holidays so this might need a bump on the 5th Jan, but in the meantime I was wondering if you could flag something as a possible error in the compiler?

    This has taken me a day of coding to find this bug. It is my own silly fault for not reading the manual closely enough and for being a Basic programmer, but I kept writing;

    if a <= value

    and the correct syntax is

    if a =< value

    This may or may not be a BST issue, but some experiments reveal:
    if a < value ' this works
    if a > value ' this works
    if a >= value ' this actually changes the value of 'a' to -1 !!
    if a <= value ' this changes the value of 'a' to 0
    if a =< value ' this works (correct syntax)
    if a => value ' this works (correct syntax)

    I have been most confused by an 'IF' changing the value of the variable it is testing!

    The manual doesn't actually give any examples of =< or => used with IF (page 220). But further down on page 276 are some examples of equalities. I'm not 100% sure if these refer to IF or if they refer to bitwise manipulation, but in those examples > and >= are listed as doing the same thing. Ditto < and <=

    So using that logic, < and <= above should give the same result with an IF test, although they don't.

    I'm not quite sure what is the best solution. Use the correct syntax (obviously!), but given you can use < instead of <=, would it be worth flagging <= and >= as syntax errors?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • Mike GreenMike Green Posts: 23,101
    edited 2009-12-30 00:16
    Dr_Acula,
    <= and >= may be confusing, but they're correct syntax.

    A <= value is equivalent to A := A < value

    A >= value is equivalent to A := A > value

    It would be helpful for most people to have an optional warning flag if either of these operators were used.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-12-30 01:09
    Thanks Mike.

    So maybe
    IF a >= value

    is being compiled as something like
    a := a < value

    There is something like that going on, because it is ? setting 'a' to values that are True or False (-1 and 0).

    I'm a Basic programmer from way back, so I use
    a=b

    and

    if a=b

    But of course in Spin, those are

    a:=b

    and

    if a == b

    And dumb me, I just found another error in my code:

    IF a:=b

    Which the compiler had not flagged as a syntax error (the prop tool compiler passes it too)

    Maybe we need special syntax error checking for Basic programmers? *grin*

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • Mike GreenMike Green Posts: 23,101
    edited 2009-12-30 02:03
    Actually "IF A := value" is handy to use sometimes when you want to refer to the "value" later. You can even do "IF (a := value1) < limit1 and (b := value2) < limit2"

    The Propeller Tool doesn't have any provisions for warning messages. I think BST does have this. It would be nice to have BST optionally flag the use of some of these potentially confusing operators or circumstances.
  • TronPlayerTronPlayer Posts: 5
    edited 2009-12-30 02:13
    Brad,
    Thanks for the work on this. BST was the final reason that persuaded me to start using the propeller system instead of PIC's. I know BST has a few bugs yet but just having the ability to use my iMac instead of a virtual machine was enough for me to jump in. A few days ago I purchased the PPDB combo with LCD and 2 propeller chips (I got the last one in stock). Can't wait to get it!

    Thanks again.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-12-30 02:28
    Ah Mike, so this is a valid syntax under certain circumstances? I knew there would be a catch.

    But, as you say, BST has warning messages at the bottom of the screen that give a warning but still compile. Indeed, they are very handy. I think I will tidy a few things up that have been coming up as warnings - eg ORG instead of ORG 0

    As an aside, I'm spending a day coding - 10 hours in front of BST and it isn't missing a beat!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • Cluso99Cluso99 Posts: 18,069
    edited 2009-12-30 05:37
    I find the warning for "jmp somewhere" great. It found a couple of bugs, but I always get 3 warnings when compiling ZiCog and this is correct smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • AleAle Posts: 2,363
    edited 2009-12-30 14:00
    @Drac:

    Those are the reasons why I despise Spin and only use PASM. Long live PASM !

    TronPlayer: At this point BST is great. I been using it since the first revisions and even those were very usable both in Linux and in Mac.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Visit some of my articles at Propeller Wiki:
    MATH on the propeller propeller.wikispaces.com/MATH
    pPropQL: propeller.wikispaces.com/pPropQL
    pPropQL020: propeller.wikispaces.com/pPropQL020
    OMU for the pPropQL/020 propeller.wikispaces.com/OMU
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2010-01-01 02:24
    Brad - On the Dracblade program, if compiled using the BST.EXE program from within a DOS window, it reports that it is out of memory. However, if compiling the same program from the BST IDE, it compiles fine (6621 longs). As far as I can see, both are using the same engine from 20th July. I've solved the problem by using the IDE, but is there a way to get the BST program working as well?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • mnajeramnajera Posts: 1
    edited 2010-01-01 05:42
    BradC said...
    Rsadeika said...
    As a side note, on my Ubuntu 9.10 setup, as of yesterday, there was a kernel update, but the functioning of BST has not been resolved. Still can not find the port.

    Yeah, I've been watching the kernel source as they update it, but no fix to the ftdi driver.

    I just noticed this as well. I had my BST working just fine with Ubuntu 8.06, but it doesn't connect under 9.10. (Using the board of education usb). I can see that the program on my stamp is working (the leds in my circuit blink like they should), just no communication is happening between the BST and the pc.

    Is there any indication of what might be wrong with the ftdi driver? We have a lot of hardware with FT232RL's at work, and those devices still work with 9.10.

    (I apologize if this is the wrong thread for this; this is the only place I could find that mentioned such a problem!)

    ... minutes later ...

    BAH! There is a temporary fix (temporary in the sense that a kernel update without the fix will re-break it) here: http://forums.parallaxinc.com/bugs.launchpad.net/ubuntu/+source/linux/+bug/460857. I tried it, it works!

    Post Edited (mnajera) : 1/1/2010 6:03:24 AM GMT
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-02 13:47
    Up until two days ago, BST showed the list of components on the left hand side below the main dir window. I am sure it apeared ther automatically when compile was selected etc. Now it refuses to appear, but I havent changed any option (that I know of). Opening each part, editing it, saving it and then closing it, to get ready for the next bit is a right faf.

    Simple answer, probably confused.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-01-02 16:11
    @Toby: When you do a "compile info" you get a popup screen that details the components used in a tree format and the space consumed. Is this what you are referring to?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-02 18:29
    Clusso

    No, I get that, What I am worrying about is that when the compile is completed I used to get all the different .spin s etc listed in the second window down on the LHS. This allowed me to open up individual bit, play with them, close, select the Main prog and compile. At the present I am opening individual bits, mollesting them, saving, closing and the opening up the Main for the compile.

    It was ok before and I havent changed anything, knowingly, and I can't see any options to choose from that would put it back.

    Its probably just me being thick, again.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • Cluso99Cluso99 Posts: 18,069
    edited 2010-01-02 18:46
    Toby

    I do not have that window either. Sure you are not confusing it with PropTool? I do not always bother closing the other sub-object files.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
    · Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
  • Toby SeckshundToby Seckshund Posts: 2,027
    edited 2010-01-02 19:08
    Confusion, is always option one (two, three, ... )

    I don't think so, the prop tool would crash out with all the conditional stuff.

    Hey-Ho, it's Saturday, and I can hear the calling of the squashed apples (perhaps after some of those I will remember what I did. I only drink to remember )

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Style and grace : Nil point
  • heaterheater Posts: 3,370
    edited 2010-01-02 19:10
    In my BST 0.18.5-Pre1 there are two windows on the left hand side. The top one has the directory structure. The lower one shows the files in the currently directory. There is a little widget below that which allows for filtering of which files are displayed, "all", "spin", "sprj", "binary" or "eeprom".

    Are you sure you a have not inadvertently changed this setting from from "all" to "sprj" or something?

    Are you displaying your current working directory there?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
Sign In or Register to comment.