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

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

1222325272852

Comments

  • BradCBradC Posts: 2,601
    edited 2009-06-15 09:38
    heater said...
    I'm using BST 0.18-Pre8, BSTC 0.15-pre6.

    But I want to use $ instead of the "padding" label. Haven't managed to get it to work any way yet.

    No, it won't ever. $ is a cog address only, so it won't do what you want it to do. I want to reproduce that bug however so I can fix it. I'll download the -pre8 bst and see what is going on. Thanks for your constant feedback and tolerance of the bugs, it's always appreciated [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Eccles : How do I open the door?
    Bluebottle : You turn the knob on your side
    Eccles : I haven't got a knob on my side!
  • heaterheater Posts: 3,370
    edited 2009-06-15 10:01
    This is on Linux by the way.

    I seem to get BST into a strange state after a compiler crash where even if the code is edited back to be correct in still will not compile until I restart BST.

    For example try to compile this:

    PUB start
    
    DAT
    
    align   LONG
    first   BYTE 0
    second  BYTE 0
    
            BYTE  0[noparse][[/noparse]1024 - ($ - @first)]
    
    testbyte    BYTE 0 
    
    
    



    That's OK. Now compile this:

    PUB start
    
    DAT
    
    align   LONG
    first   BYTE 0
    second  BYTE 0
    
            BYTE  0[noparse][[/noparse]1024 - (@$ - @first)]
    
    testbyte    BYTE 0 
    
    



    That crashes the compiler.

    Now take the "@" away. It still will not compile.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • BradCBradC Posts: 2,601
    edited 2009-06-15 10:28
    I must say if the compiler crashes things are likely to be pretty messed up. Maybe I should force a restart if the compiler crashes. When the compiler crashes it's usually trying to reference unallocated memory (which is often likely to really mess things up). It *used* to just crash *boom* but I made it catch the crash gracefully to allow you time to save your files and shut it down.

    I'll fix the @$ crash, but don't do that, it won't work anyway.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Eccles : How do I open the door?
    Bluebottle : You turn the knob on your side
    Eccles : I haven't got a knob on my side!
  • heaterheater Posts: 3,370
    edited 2009-06-15 10:59
    No I was not expecting @$ to do anything nice I just knew it was a good crash grenade I could throw in there to demonstrate the point.

    Thanks for you thanks by the way. As it happens I get a perverse kind of buzz out of finding other peoples bugs it makes a change from having to deal with so many of my own[noparse]:)[/noparse]

    Also comes from years of writing test cases for flight control software on Airbus, Boeing 777 etc.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • BradCBradC Posts: 2,601
    edited 2009-06-15 11:20
    For interest the @$ is not actually crashing the compiler, it's just returning -1 from the math evaluator which is then trying to allocate $FFFFFFFF bytes. Sooner or later the compiler will return either having exploded or telling you that it overflows the available memory. A unique bug I must say [noparse];)[/noparse]

    That might be why bst is misbehaving with it. The compiler is still actually running, its closed but it hasn't died. I might see if I can sort that out before I fix the bug in the compiler. At least its an easy way to reproduce the bug, nice work!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Eccles : How do I open the door?
    Bluebottle : You turn the knob on your side
    Eccles : I haven't got a knob on my side!
  • hinvhinv Posts: 1,255
    edited 2009-06-15 21:23
    Hi Brad,

    I was playing with FullDuplexSerialPlus from the PEKit connected to the serial terminal. I was hoping that I could copy and paste, from another window but it did not work. You think you could implement that?

    THanks,
    Doug
  • BradCBradC Posts: 2,601
    edited 2009-06-16 00:07
    hinv said...
    Hi Brad,

    I was playing with FullDuplexSerialPlus from the PEKit connected to the serial terminal. I was hoping that I could copy and paste, from another window but it did not work. You think you could implement that?

    THanks,
    Doug

    I've done copy, but paste is a bit ugly. I'll look at it but I can't promise anything.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Eccles : How do I open the door?
    Bluebottle : You turn the knob on your side
    Eccles : I haven't got a knob on my side!
  • RsadeikaRsadeika Posts: 3,837
    edited 2009-06-20 19:05
    I just installed Fedora 11.0 on my laptop, and I am trying to get bst to find a port, it keeps coming up with, no port found. I just had bst installed on my Ubuntu computer, and it seems to find a port without any trouble. So, does anybody have bst installed on a Fedora 11.0 unit, and has gotten around the port issue? I wonder why bst is having issues with finding a port on a Fedora 11.0 setup?

    Thanks

    Ray
  • heaterheater Posts: 3,370
    edited 2009-06-20 21:18
    A weeny bug: # defines and comments are fighting with each other.

    The following produces a warning that something is being compiled in when it is not:

    PUB start
    
    DAT
    
    #define DO_SOMETHING_IMPORTANT
    
    mul  {
                            mov     foo, bar
    #ifdef DO_SOMETHING_IMPORTANT
    #warn Doing something important
                            and     foo, bar
    #else
    #warn Not doing something important
                            mov     foo, bar
    
    #endif
         }
    
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • BradCBradC Posts: 2,601
    edited 2009-06-21 00:36
    Rsadeika said...
    I just installed Fedora 11.0 on my laptop, and I am trying to get bst to find a port, it keeps coming up with, no port found. I just had bst installed on my Ubuntu computer, and it seems to find a port without any trouble. So, does anybody have bst installed on a Fedora 11.0 unit, and has gotten around the port issue? I wonder why bst is having issues with finding a port on a Fedora 11.0 setup?

    Thanks

    Ray

    How does Fedora present the configured ports? Do you have permissions to access to the port? Can you see the port if you do..

    ls -la /dev/ttyU*

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Missed it by ->" "<- that much!
  • BradCBradC Posts: 2,601
    edited 2009-06-21 00:37
    heater said...
    A weeny bug: # defines and comments are fighting with each other.

    The following produces a warning that something is being compiled in when it is not:

    Oh, well spotted! I'll get that fixed [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Missed it by ->" "<- that much!
  • heaterheater Posts: 3,370
    edited 2009-06-21 02:20
    Bug: Whilst we are looking at comments the following is not quite right, no warning for mismatched braces.

    PUB start
    
    DAT
            org   0
    
            jmp   #begin
    
    a       long  0
    b       long  0
    
    begin   mov   a,b
            mov   b,0
       {
            jmp   #begin
    
    
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • BradCBradC Posts: 2,601
    edited 2009-06-21 12:19
    heater said...
    Bug: Whilst we are looking at comments the following is not quite right, no warning for mismatched braces.


    Indeed, it's not something I ever gave a thought to, but since you've raised it I'll add it in.
    Cheers [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Missed it by ->" "<- that much!
  • heaterheater Posts: 3,370
    edited 2009-06-21 12:28
    BradC. Did I ever say "thank you" for creating and providing such a brilliant tool. I know it's a phenomenal lot of work. A tool that gives me one less reason to waste time firing up Windows which is now gathering dust in a VirtuaBox whilst at the same time adding features we sorely need. Amazing.

    Thank you.

    Bug reports might be a pain but that's what happens when one creates something people actually use. They find "features" and then ask for more features[noparse]:)[/noparse]

    Thank you again.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • stevenmess2004stevenmess2004 Posts: 1,102
    edited 2009-06-24 12:34
    Brad, first I'll second what heater said, a great big thanks smile.gif

    Are you taking feature requests? If you are would it be possible to add the following to bst. If can do it without too much trouble and want to discuss it with me you should have my email address.
    1. An extension to the '@' operator for objects. What I would like it to do is to return the index of the object in the method table when used like this
    OBJ
      obj1:"someObject"
    
    VAR
    long objIndex
    
    PUB method1
      objIndex:=@obj1 'value should be 2 in this case I think
    
    


    This is so I can dynamically load an object and patch the object table without having to calculate the address by hand.
    and
    2. An extension to object declaration so that an object can be treated as a header. i.e. It is treated normally and allocated space in the object/method table but not included in the output binary file. Syntax could be either a new block type called OBJH (object header) or a marker before an object something like this
    OBJ
      #obj1:"someObject"
      obj2:"someOtherObject"
    
    


    This means that the binaries I generate to be dynamically can be a lot smaller and I have less mucking around to do to make duplicates of the files with the methods but without any of the code.

    I realise these could be pretty easy or pretty difficult depending on exactly how your code is setup so if it's too hard don't worry about it.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2009-06-24 16:29
    Just want to cheer you on.

    Since M/S has made it next to impossible to buy a new machine with the English version of Vista bundled, I switched over to Ubuntu for 95% of my computing. If I were to want English, I have to upgrade to Vista Ultra for $$$ and the darned 64bit Quad computer came bundled with 32bit Vista no less! It is a Lemel [noparse][[/noparse]Asus motherboard, but discount brand for chassis, etc].

    I retain a dual boot - mainly for Parallax IDEs - but my Vista remains all Chinese.

    I've already shifted to using Eagle in Linux, so eventually doing the Propeller in Linux would be delightful.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Ain't gadetry a wonderful thing?

    aka G. Herzog [noparse][[/noparse] 黃鶴 ] in Taiwan
  • DarrenYDarrenY Posts: 61
    edited 2009-06-28 17:42
    Just installed the MAC version. Got t all running and downloading OK, but I get no colour coding on the source code, and can't find an option to turn it on?
  • BradCBradC Posts: 2,601
    edited 2009-06-28 23:13
    DarrenY said...
    Just installed the MAC version. Got t all running and downloading OK, but I get no colour coding on the source code, and can't find an option to turn it on?

    Try here :

    Tools -> IDE Preferences -> Fonts and Colours -> Enable Colour Syntax Highlighting

    I've made it the default for the forthcoming release, but having just moved house again my Macs are still in boxes and I'm back to a dialup internet (it's taken me nearly a minute just to load this page) so my release testing is a little slower than I'd like.

    If you are using 0.17 I *strongly* suggest you update to the 0.18-pre8 snapshot. 0.17 has a couple of nasty crash bugs in it that are pretty frighteningly easy to hit in the editor.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Missed it by ->" "<- that much!
  • Chris MicroChris Micro Posts: 160
    edited 2009-07-02 13:24
    Hi Brad,

    what is the development system and the programming language you made your BSTC with? I like that there is only on file.
  • BradCBradC Posts: 2,601
    edited 2009-07-02 13:48
    Chris Micro said...
    Hi Brad,

    what is the development system and the programming language you made your BSTC with? I like that there is only on file.

    My development system is vi. The compiler is freepascal (fpc).
    bst uses the Lazarus framework and is fpc based also.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Missed it by ->" "<- that much!
  • Chris MicroChris Micro Posts: 160
    edited 2009-07-02 13:52
    Thank you. I was looking for a simple to use, small GUI system with witch I can build my applications.
  • AJMAJM Posts: 171
    edited 2009-07-02 14:35
    Hey Brad,

    Just wanted to say thanks for putting the time in effort into this project.

    I would not have dove into using the propeller if it weren't for this software appearing last year.

    Thanks for your work
  • dMajodMajo Posts: 855
    edited 2009-07-02 17:04
    BST: "Unable to open drive:\path\file.spin"

    The IDE refuse to open files with the read-only flag set. Win-bst0.18-pre8. Usually I have lib files (eg. the ones in the PropTool dir) write protected: better to ask for new name/location when saved than refuse to open.

    Regards
  • Ole Man EarlOle Man Earl Posts: 262
    edited 2009-07-02 17:16
    Brad,
    Thank you for BST. I got to the Expo and only had an eeepc with ubuntu on it. I was lamenting that the prop ide did not run on linux but OBC said try BST. In less than 10 mins I had BST up and running on the EEEPC and was able to download to my prop board.
    You are a lifesaver.
    Again, Thanks
    Earl
  • AleAle Posts: 2,363
    edited 2009-07-02 18:08
    BradC said...

    My development system is vi

    I'd have sworn it was emacs. [noparse]:ducks:[/noparse] tongue.gif just joking wink.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Visit the home of pPropQL: propeller.wikispaces.com/pPropQL
    pPropQL020: propeller.wikispaces.com/pPropQL
    OMU for the pPropQL/020 propeller.wikispaces.com/OMU
  • BradCBradC Posts: 2,601
    edited 2009-07-03 00:07
    dMajo said...
    BST: "Unable to open drive:\path\file.spin"

    The IDE refuse to open files with the read-only flag set. Win-bst0.18-pre8. Usually I have lib files (eg. the ones in the PropTool dir) write protected: better to ask for new name/location when saved than refuse to open.

    Regards

    Hrm, that is most odd. I thought I had fixed that problem long ago. I've never really tested it on Windows though. Thanks for the headsup, I'll get it fixed.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Missed it by ->" "<- that much!
  • BradCBradC Posts: 2,601
    edited 2009-07-03 00:22
    Ale said...
    BradC said...

    My development system is vi

    I'd have sworn it was emacs. [noparse]:ducks:[/noparse] tongue.gif just joking wink.gif

    I should have written the compiler in lisp [noparse]:)[/noparse]

    But seriously, I do most of my editing between vi and gedit. I reckon now Catalina is up and running someone should try and compile the busybox version of vi (which is *tiny*) for the Propeller.

    @AJM, Old Man Earl, heater & stevenmess2004 : Thanks for the kind words lads, I'm glad you get some use out of it.

    I had planned a new release today, but I have to squash the read-only bug on Windows dMajo pointed out first. News at 11.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Missed it by ->" "<- that much!
  • BradCBradC Posts: 2,601
    edited 2009-07-03 02:22
    0.18 Released
    Changelog in top post.

    Notable Changes :
    - #define support
    - Improvements to serial terminal (hex display, echo and internal improvements)
    - Ability to click on a label and see its contents in the status bar (same as Propeller Tool) provided the file has not been modified since it was compiled (F9)
    - OSX key mapping is closer to Apple HIG
    - Allow copy text from serial terminal / list window
    - Allow override of selected text colour in editor (for those using the blue theme on OSX) - its in the IDE config dialog
    - Allow resizing of the Parallax special characters window
    - Added a "Refresh" right click menu to the directory tree to allow manual refreshing of all directories (warning, this can be slow)
    - All the fixes and improvements that went into bstc 0.15
    - Splash screen [noparse]:)[/noparse]
    - Better font rendering on OSX
    - Loads of little things!

    Known issues :
    - The highlighter is not making some symbols bold where it should
    - The serial terminal has "issues" on windows to do with the enter key sending a CR/CR/LF combo instead of a straight CR
    <edit> - Redundant spin removal in bst uses the old method (poo). bstc uses the new method. I'll get that sorted. This means bstc makes smaller binaries than bst right now.
    - Backspace malfunctions in the serial terminal <sigh>

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Missed it by ->" "<- that much!

    Post Edited (BradC) : 7/3/2009 4:51:51 AM GMT
  • BradCBradC Posts: 2,601
    edited 2009-07-03 04:19
    0.18.1 Uploaded

    Fixed bug in redundant spin elimination to save even more space.

    To give you a rough idea of available space savings from just bolting objects together, here is one of my current test projects compile with and without optimisation.

    brad@bkmac:/media/raid3/Viridian-Work/Prop-Projects$ bstc -L Library/ Stuff/CarComp.spin 
    Found a USB Serial Device
    Brads Spin Tool Compiler v0.15.1 - Copyright 2008,2009 All rights reserved
    Compiled for i386 Linux at 12:24:51 on 2009/07/03
    Loading Object CarComp
    Loading Object Servo32V3
    Loading Object TV_TEXT
    Loading Object tv
    Loading Object RTC_002
    Loading Object One_Wire_3PinP_001
    Loading Object Simple_Numbers_BKC001
    [b]Program size is 4376 longs[/b]
    Compiled 1096 Lines of Code in 0.749 Seconds
    brad@bkmac:/media/raid3/Viridian-Work/Prop-Projects$ bstc -L Library/ Stuff/CarComp.spin -Oa
    Found a USB Serial Device
    Brads Spin Tool Compiler v0.15.1 - Copyright 2008,2009 All rights reserved
    Compiled for i386 Linux at 12:24:51 on 2009/07/03
    Loading Object CarComp
    Loading Object Servo32V3
    Loading Object TV_TEXT
    Loading Object tv
    Loading Object RTC_002
    Loading Object One_Wire_3PinP_001
    Loading Object Simple_Numbers_BKC001
    [b]Program size is 3628 longs[/b]
    Compiled 1096 Lines of Code in 0.16 Seconds
    brad@bkmac:/media/raid3/Viridian-Work/Prop-Projects$ 
    
    

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Missed it by ->" "<- that much!

    Post Edited (BradC) : 7/3/2009 4:27:22 AM GMT
  • BradCBradC Posts: 2,601
    edited 2009-07-03 06:20
    Sigh, groan, whine. Well, you make last minute changes and don't QA them properly and this happens.

    0.18.2 - Backspace behaviour in serial terminal fixed.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Missed it by ->" "<- that much!
Sign In or Register to comment.