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

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

BradCBradC Posts: 2,601
edited 2011-10-18 12:22 in Propeller 1
What is it? It's an attempt at a cross-platform clone of Propeller Tool.

It's probably stable enough on Linux and MacOS to call it Beta now.. don't get excited, it may still crash but it now takes plenty of care not to lose your data when it does.

It's got a few features from Propeller Tool that I use on a daily basis, and I do plan on implementing more as time permits.

It's a complete IDE/Compiler toolset. Linux machines require gtk2, but other than that there are zero other dependencies or runtimes required. What you see is what you get.
The aim is download, click and go. No futzing about required.

Free to download, free to use, unlimited in every way.


Please read this first :

propeller.wikispaces.com/Mac+and+Linux+native+development

There is a windows version for specific features, if you are a Windows user and are new to the Propeller, please use the Parallax Propeller tool. bst has some rough edges and is not designed for beginners. If you are a Mac or Linux user then this is probably your only native choice. Questions welcome. There is very little documentation, but every option in the tool is covered in this *very long* thread.

I actively support Linux and Mac OS users (I can't see why windows users would want to use it personally as you have the excellent Propeller Tool).
There are Windows builds available (that work on any version Win95 and up - although I do regret the effort required for me to get reliable Parallax font Unicode on the 9x series is beyond the resources I have available at the moment) and bug reports are welcome.

My benchmarks show the compiler is faster than Propellent under WINE and produces identical binaries.

Command line compiler/downloader available here http://forums.parallax.com/showthread.php?p=754811

up-to-date binaries for everything available here
www.fnarfbargle.com/bst/

Changes
0.03
Remember last directory we were in.
Win32 Character chart fix.
New AboutBox/Changelog.
General dialog box position fixes
MacOS preferences location fixed
MacOS set default root to $HOME to prevent scanning entire disk
MacOS fixed loader status hanging until mouse movement
Allow override of propeller device from command line
Allow open initial file from command line
Added port selection / configuration
Autorecovery for unsaved files prior to each compile
MacOS font defaults to Monaco 12 if Parallax not found
Fixes for Compiler prefs dialog

0.04 :
Added right-click menu on Tabs
Added option to save spin files in UTF-8 (Not proptool compatible!)
Updated compiler to cope with UTF-8
Try and detect broken Parallax.ttf and workaround
Properly cleanup port after download problem
Initial cross-version Win32 com port detection

0.05 :
Don't create new tab if loaded with a spin file to open or recovering files
Fixed popup menus on Win32
Popup menus disabled on MacOS
Only open once instance, and new files in main instance on select in the windowmanager
Added SaveAll / CloseAll
Option to SaveAll prior to compile
Serial debug terminal
Added ability to load/program binary/eeprom files
Added save binary/eeprom
Implemented Find / Replace in the editor
Fixed a timing glitch with binary downloads
Adjust font size in editor and serial terminal
Fixed "Cancel" when saving/closing tabs
Try *really* hard to detect the propeller
Updated compiler
Added status bar
Very experimental and unconfigurable syntax highlighting

0.06:
Fixed downloading for MacOS and Win32 (Improvements for Linux also) - Recommended upgrade

0.07 :
Fixes :
All -Removed grey line at 80 chars in editor and serial terminal (KeithE)
All -Don't try to open a file if it no longer exists (parts-man73)
All -Don't display "recent files" that are no longer accessible (parts-man73)
All -Settings changes now take place immediately (KeithE)
All -Updated compiler to 0.09 to avoid ')' crash bug (Oldbitcollector)
All -Dropped archive zip file in same directory as top object
All -Unicode bugs in syntax highlighter (Ale)
All -Compiler crashes IDE (agodwin)
OSX -Fixed text selection problem (Chuck Rice)
OSX -Fixed serial terminal font (KeithE)
OSX -Changed key mappings for OSX (KeithE and many others)
OSX -Fixed serial terminal preventing editor focus (KeithE)
Linux -Fixed shortcut keys when editor has focus
Win32 -Fixed serial terminal
Win32 -Fixed serial port detection on Win9x

Improvements :
All -Sorted file list in drive panel
All -Re-worked tab close button positioning
All -Added an application icon (tpw_man)
All -Added Line Number on/off toggle
All -Spin Block folding
All -Added "Detect Prop" function to port config box
All -Added popup menu to editor
All -Open / Download by dragging binary/eeprom/spin files onto application icon or opening with
All -Enhanced keymapping for later addition of user-defined keymaps
All -Compiler list file display
All -Changed Tab-widget to look cleaner on OSX
All -Popup menu in editor
OSX -associate .spin/.eeprom/.binary with bst in app bundle

0.08 :
Fixes :
All -Fixed unicode characters in Highlighter (evanh)
All -Autosize Gutter for line numbers > 1000 (Originator)
OSX -Editor focus on mouseclick returns to top of file (Originator)
All -Upgraded to compiler 0.10 for bugfixes

Improvements :
All -Allow setting background and font colour of editor when not using syntax highlighter (Originator)
All -Only refresh drives/paths box if path preference changed
All -Disable background/font colour selection when Syntax highlighting enabled
All -Improved Click-To-Go in error box

0.09 :
Fixes :
All -Workaround for fonts that are not entirely truthful about their monospace attribute

Improvements :
All -New compiler revision (Average 25% speedup)
Linux,
Win32 - Highlighter tweaked to be more like Propeller Tool.

0.10 :
Fixes :
OSX -Found a font workaround. MacOS now has the same highlighter everyone else does

Improvements :
All -Allow save listing to file

0.11 :
Fixes :
All -Fixed memory corruption in compiler manager
All -Fixed endless loop in highlighter if it encounters a <tab> rather than spaces
All -Fixed loss of 1st character in list file (Sapieha)
All -Fixed editor positioning if opened with a file from the shell (Oldbitcollector)

Improvements :
All -Added "Fold All" option to editor context (right-click/ctrl-click) menu
All -Double click on block line to fold/unfold block
All -Goto Line

0.12 :
Fixes :
All -Folded blocks now scroll properly
All -Fixed artifacts and line numbers disappearing when clicking on a folded line
All -Fixed mouse target for clicking on folded blocks
All -Fixed main window losing focus after compile (Originator)
All -Fixed sometimes generating compiler listing when list window not open
All -Fixed exception when insufficient permission to access serial port (heater)
All -Don't touch the propeller serial port unless we are about to download
OSX -Fixed badly rendering fonts in serial terminal and compiler list box (Jay Kickliter)
OSX -Significant font rendering improvements

Improvements :
All -Significant compiler speedup for large compiles (50%)
All -Significant speedup to compiler list view window
All -Slight improvements to highlighter performance
All -Enable compiler optimisations from the GUI
All -Compiler information dialog (F8. F9 now does a straight quick compile)
All -Enabled hotkeys in Terminal and Compiler Listing
All -Enabled changing of font size in Compiler Listing
All -Option to Enable/Disable anti-aliasing of editor font
All -Key jumps to filename in file listing box (TJHJ)
Win32 -Close button on Compiler Preferences dialog for Windows only (Sapieha)
OSX -More "Macification"
Linux -Detect serial port going away while serial terminal open and disconnect

0.13 :
Fixes
All -Fixed 2 pixels left of editor background having wrong colour (tpw_man)
All -Highlight Multi-line comments better
All -Triple click selects entire line including leading spaces and CR (Chuck Rice)
All -Disabled double-click fold/unfold (Chuck Rice)
All -Fixed missing object error message
All -Incorrect compiler error on using an assignment in repeat/while/until (Originator)
Linux -Fixed cut'n'paste crash on GTK2 2.14+ (Oldbitcollector)

Improvements :
All -More improvement to the syntax highlighter
All -Allow comment folding in highlighter
All -Speed up compiler when there are multiple redundant sub-objects
All -Auto-Select the first listed error when compile fails (Chuck Rice)
All -Highlight matched brackets

0.14 :
Fixes
All -Blank lines no longer take on random colours (Ale)
All -Treeview not properly checking the last character of a directory
All -Crash in highlighter block folder and block fold corruption
All -Compiler endless loop with invalid OBJ block
All -Compiler bug with incomplete strings
All -Compiler bug with ()+@ (Ale)
All -Undo history is properly cleared on file open
All -Highlighter background behaviour more consistent with Propeller Tool (tpw_man)
All -Speedup to scrolling / cursor movement / painting of editor
All -Using "Cancel" during a "Close All" really does cancel the operation

Improvements :
All -Single click on the code-fold line anywhere in a block will fold the entire block (TChapman)
All -Option to search/replace entire file (Chuck Rice)
All -Timed auto recovery save in addition to pre-compile save
All -Speedup in highlighter and compiler
All -Better port configuration options (Chuck Rice)
All -Allow each editor tab to have its own propeller port to download to (Chuck Rice)
All -Visual Studio / Delphi style modified line indicators in editor
All -Added Project file for persistence across sessions

0.15 :
Fixes
All -{'x'} properly highlights (Oldbitcollector)
All -"X << 6" on a line by itself is not valid spin (TChapman)
All -Allow address operators in repeat statements (Oldbitcollector)
All -Properly Parse the numerical construct $FE- (Oldbitcollector)
All -Allow searching for the propeller when it was not found to set the port properly (Ken Peterson)
All -Save included DAT files in bst archive (Oldbitcollector)
All -Properly report errors when a DAT include file blows out the object memory (Oldbitcollector)

Improvements :
All -Allow configuration of tab width and smart-tabs (Jay Kickliter)
All -Allow saving of separate compiler options and search paths in each project (Ken Peterson)
All -Properly initialise project save dialog (Chuck Rice)
OSX -Search for Prolific USB-Serial Devices (Gregg Harrington)

0.16 :
Fixes
All -Compiler options searchpaths (Jay Kickliter)
All -Closing project file no longer saves all files without asking first
All -Segfault if character chart item clicked when no editor was open

0.17 :
Fixes
All -Re-wrote download portions, please see http://forums.parallax.com/showthread.php?p=754527 for the gory details
All -Lots of compiler changes/fixes, please see http://forums.parallax.com/showthread.php?p=754811 for details
All -Prevent project opening if we are recovering from a crash and recovering files
All -Crash if no recent files or projects (J. A. Streich)
All -Segfault if unable to open file due to permissions error (J. A. Streich)
All -A number of un-handled IO errors
OSX -File associations (Jay Kickliter)
Linux -Stop bst crashing if it tries to scan a port it has no permission for (hinv)
Win32 -Improved guessing the best location for .bst.recover file across versions (sevs)
Win32 -Improved serial port handling for downloads

Improvements
All -Cleaned up block indicators
All -Right click in editor to select directory of current file in drive panel
All -More belts and braces for auto recovery file saves
All -Added option for Parallax style configurable tab-stops
All -Made Parallax tab-stops default
All -Added options for generating/reporting compiler warning and information messages
All -Sped up download/detection by "dense packing" LFSR and bytecode (~20% faster on average)
All -Broke downloader out into separate thread for better timing determinancy
All -Option to double download speed in compiler options (~25-50% faster on average)
All -Broke compiler out into separate thread to insulate it from GUI delays (faster compile on slower machines)
All -Option to report warnings and information from compiler

0.18 :
Fixes
OSX -Properly position directory tree scrollbars when setting path
OSX -Re-enabled TAB menu to allow selecting directory and other manipulation
Win32 -Properly remove recover file after a clean close (sevs)
Win32 -Serial terminal disconnect/reconnect no longer resets propeller (Proper DTR behaviour)
All -Improved highlighter accuracy
All -Parallax style tabs would crash when pressing the TAB key if colour syntax highlighter was disabled
All -Parallax style tabs would crash if not in a defined block yet (MachMan)
All -Performance increases when opening and closing lots of tabs (leaked references)
All -Prevented more than one instance of compiler running simultaneously
All -Compiler progress dialog now stays on top
All -Lockup detection for Compiler/Loader threads
All -Removed obsolete OSX bad font detection
All -Improved compiler error reporting
All -Removed duplicate serial port from terminal port menu when a port was already selected
All -Better initial position of Parallax character window
All -Prevent opening ay non-project file as a project file (Cluso99)
All -Proper case insensitivity to filenames (W9GFO)
All -Filter non-printable characters in the serial terminal (Ale)
All -Fix thread based intermittend deadlock when compiling/loading on OSX (Ale)
All -Make Ok button default on Compiler Status form
All -Properly restore editor scroll position from project files
All -Properly match directory path in DirTree component
All -Prevent project file being set/loaded on autosave recovery
All -Compiler status window tree was mis-ordering and corrupting hierarchy (heater, W9GFO)
All -Loader timing improvements
All -Serial terminal display / key handling improvements
All -Open read-only files correctly (dMajo)

Improvements
OSX -Key mapping closer to OSX HIG
Win32 -Improved serial port detection on all windows versions (95->)
All -Font rendering speed improvements
All -Allow Drag-to-Open for Project File (sevs)
All -Default Syntax Highlighter to enabled
All -Report symbol details in the editor where possible after a compile
All -Basic splash screen
All -Menu to toggle edit modes (Ale, EricR)
All -#define/#undef/#ifdef/#ifndef/#elseifdef/#elseifndef/#else/#endif/#warn/#info/#error (Cast of thousands / Ale / heater / Cluso99)
All -Explicit compiler option to enable Non-Parallax compatible extensions
All -Compiler list window remembers location of last scroll for same source file (Ale)
All -Allowed file selector to filter on all known extensions
All -Save file filter preferences
All -Allow copy (ctrl-c/cmd-c) from List and Terminal windows (Ale)
All -Serial terminal "Echo" option (W9GFO)
All -Option for Hex display in serial terminal
All -Allowed Override of selected font colour (fix for OSX mainly) (EricR / Chuck / Most other Mac users with the Blue theme)
All -Allow resizing and saving of Parallax Font window geometry (W9GFO, Jessica Uelmen)
All -Allow refreshing of directory tree window (right click sub-menu) (Painless)
All -Improved redundant SPIN method elimination

0.18.1:
All - Fixed bug in redundant SPIN method elimination to save even more space

0.18.2
All - Fixed backspace behaviour in serial terminal (that'll teach me to make last minute changes!)

0.18.3 :
Improvements
All -Wrap around Start/End of line in editor (Peter Jakacki / Fake-Name)
All -Alt-Shortcut keys for menus (Timmoore)
All -F3 to FindNext (Peter Jakacki)
All -Properly set focus in Find/Replace dialog (Peter Jakacki)

Fixes
Linux -Better Alt behaviour. Not fixed, but improved slightly
All -Compiler lockup with large/invalid memory allocations (Ale)
All -Right to left selection fix (W9GFO)

0.18.4 :
Fixes
All -Fix compiler error reporting bug when accessing data in another object (Ale)
All -Ensure internal names are properly set when loading file from command line

0.19 :
Improvements
All -Report unused local variables
All -Add '*.*' to file filter (Ale)
All -Ctrl+U to fold all blocks
All -Refactor load error reporting
All -Find/Replace on current word/selection
All -Find wraps at bottom by default
All -Add "Compile Information" to the right-click context menu (Brian Riley)
All -PropBasic integration (Bean)
All -Clearer descriptions in file type selector box (Brian Riley)
Win32 -Changed font rendering to properly anti-alias on XP (JonnyMac)

Fixes
All -Report correct location of assignment (<=) errors
All -Prevent changing tabs while downloading from corrupting port allocations
All -Properly clear manual port name seclection when switching back to autodetect
All -Clear project defines when closing project (heater)
All -Changes to reset procedure to work around an issue on some Linux machines
All -Completely re-worked keypress handlers to improve accuracy
All -Dismiss splash screen before crash recovery takes place (photomankc)
All -Indicate progress in load-time splash screen
All -Form geometry can go negative (dual head position fix) (Bob Anderson)
All -Don't crash if all IDE directory paths are removed (AJM)
All -Properly update status bar and menu entries after file save (Bean)
All -Mark all new files as modified (Brian Riley)
Linux -Crash when serial port goes away in odd fashion (heater)
Win32 -Prevent menu activation locking up loader/compiler (photomankc)
Win32 -Fix detection of ports > COM7 (Cluso99)
OSX -Properly configure home directory for first-time user
OSX -Find / Replace dialogs are not completely modal (Brian Riley)
OSX -Associated files now open in bst when it was closed (Brian Riley)

0.19.1 :
Improvements
All -If terminal is connected, automatically bring it forward after a successful propeller load (Cluso99)
OSX -Utilised proper application menu. Assigned correct key shortcut for preferences

Fixes
Win32 -Allowed switching cleartype rendering off (Cluso99)
All -Robustness against odd PropBASIC behaviour (Brian Riley)

0.19.2 :
Improvements
All -Properly remember terminal settings on all platforms (Brian Riley)
All -Remember the last port we had open in the terminal (Cluso99)
All -Internal re-factor of serial port selection

Fixes
All -Only bring terminal to front if prop loaded successfully (Cluso99)
All -Suppress SPIN warning/info for PropBASIC compiles (Bean)
All -Properly format defines from project options (heater)
All -Properly disable menus to stop Windows hijacking focus when pressing F10 twice quickly
Win32 -Fix serial port detection properly on Win2000-> (Bean)

0.19.3 :
Fixes
All -Fix crash when issuing a #warning under certain circumstances (heater)

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You only ever need two tools in life. If it moves and it shouldn't use Duct Tape. If it does not move and it should use WD40.

Post Edited (BradC) : 3/10/2010 6:41:07 AM GMT
1208 x 857 - 180K
1600 x 1200 - 342K
1582 x 1150 - 388K
«13456752

Comments

  • AleAle Posts: 2,363
    edited 2008-10-04 11:17
    BradC, it is just fantastic !, no more winblows!

    Well, you wanted feedback:

    - Without the parallax font the glyphts are placed one over the other one.
    - When errors are displayed, a white box that says +Untitled1 with some text shows at the right of the screen

    - It wants some PUB method... how about some raw byte bangling to create our own loaders and so on ?

    Screenshot added
    1812 x 795 - 150K
  • stevenmess2004stevenmess2004 Posts: 1,102
    edited 2008-10-04 11:29
    If you want someone to test the mac version I will [noparse]:)[/noparse].

    This will be brilliant. No more Wine hop.gif

    Will you make it so it has all the options of your command line compiler?
  • BradCBradC Posts: 2,601
    edited 2008-10-04 11:32
    Ale said...
    BradC, it is just fantastic !, no more winblows!

    Well, you wanted feedback:

    - Without the parallax font the glyphts are placed one over the other one.
    mmm I wonder what font it's defaulting to? That is a very peculiar one. I'll get that fixed, thanks [noparse]:)[/noparse]
    Ale said...

    - When errors are displayed, a white box that says +Untitled1 with some text shows at the right of the screen
    Ahh, that is the compiler progress box. Shows it's compiling "Untitled1" and the + means it's in the editor and not saved to disk yet.
    It positions itself at what it thinks is the screen centre (or should) and it should disappear after you click the ok box on the "no prop detected" message. Will fix.
    Ale said...


    - It wants some PUB method... how about some raw byte bangling to create our own loaders and so on ?

    Screenshot added

    Nice [noparse]:)[/noparse]

    Yes, it wants at least one PUB method (same as the Parallax compiler). Remember, you need a pub method as the interpreter launches looking for spin bytecode at PCURR.

    You at a minimum need one method, even if it says
    PUB ABCD
    cognew(@ralph,0)

    which is about the minimum you can use to bootstrap something else.
    If I'm wrong and there is another way to boot the propeller, please correct me (and I'll add it in)
    [noparse]:)[/noparse]

    If you want to get really raw, you can use the bytecode() instruction I slipped in to write your own bytecode into the spin method, but that is probably going overboard.

    Cheers for being guinea pig No. 1 [noparse]:)[/noparse]
    Really appreciate the feedback.

    I've got 2 weeks of holidays coming up starting with an 11 hour flight on Sunday night, so I'll have plenty of time to tinker over the next couple of weeks.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • BradCBradC Posts: 2,601
    edited 2008-10-04 11:36
    stevenmess2004 said...
    If you want someone to test the mac version I will [noparse]:)[/noparse].

    This will be brilliant. No more Wine hop.gif

    Will you make it so it has all the options of your command line compiler?

    It will have every option of the command line compiler, yes.
    Provided I can get some time in the next day or so, I'll belt out a universal Mac binary (they are a bit harder to get the build right on).

    Are you running the IDE under wine or just the propellent at the moment ?

    @Ale, I see what is happening with the font now. It's defaulted to a non-monospaced font. I'll have to figure out what is going on there.
    Maybe I'll just add a font picker option and allow you to select one. I guess I'd better disable the Parallax character chart if it can't find the parallax font also.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • BradCBradC Posts: 2,601
    edited 2008-10-04 12:08
    Ok, I've updated the binary at the original location to address the issues Ale found.
    You can now change the editor font from the IDE preferences panel, and the compiler progress dialog should behave better.

    Hopefully this will help those that don't have the Parallax font installed.
    Monspace at 11point looks nice and workable here.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • hippyhippy Posts: 1,981
    edited 2008-10-04 12:25
    BradC said...
    You at a minimum need one method, even if it says
    PUB ABCD
    cognew(@ralph,0)

    which is about the minimum you can use to bootstrap something else.
    If I'm wrong and there is another way to boot the propeller, please correct me (and I'll add it in)

    I don't know of anything less than that but it is possible to auto-insert it so the user doesn't have to. Is it worth the effort ? Probably not unless you were also allowing RAM Spin interpreters to be silently added as well, a checkbox to say use ROM or RAM Interpreter, or were creating a PASM programming environment rather than Spin+PASM.
  • BradCBradC Posts: 2,601
    edited 2008-10-04 13:36
    Ok mac users, here is a PPC binary that runs on Intel as well.
    It's only been tested on OSX 10.5, but has been compiled against the 10.4 headers so it _should_ work.

    I warn you now, it's sloooooooow.
    Loading FemtoBasic.spin can take nearly a minute.. so please be patient. Compiling and downloading is much quicker though.
    I've found the problem, in that OS syscalls on MacOS are literally 1000x slower than on Linux, and I load the files in a very non-optimal way.
    Rest assured I have a cure, but I need a couple of days to pull it all together.

    Yes, it's ugly, yes it has sharp edges and yes it might well crash from invalid input (so please save regularly).. but it works (such as it is).
    Suffers from all the limitations listed in the top post, but they are being worked on. For now, comments are more than warmly welcomed.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • BaggersBaggers Posts: 3,019
    edited 2008-10-04 13:42
    BradC, why not make it save a filename.tmp.spin before compilation, that way, if it does crash or anything, when you load a file, look or the .tmp.spin first, and it'll almost be like the proptool's excellent file recovery system [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • BradCBradC Posts: 2,601
    edited 2008-10-04 13:48
    Baggers said...
    BradC, why not make it save a filename.tmp.spin before compilation, that way, if it does crash or anything, when you load a file, look or the .tmp.spin first, and it'll almost be like the proptool's excellent file recovery system [noparse]:)[/noparse]

    I'm actually in the works of putting together a recovery system that does it the way proptool does it (as it's one of the best I've ever seen), but what with finishing the compiler and getting an ide into a usable state for linux and Mac I've kinda not finished it yet (like I've not finished find/replace, syntax highlighting or any of the other features).
    I just wanted to get people something to play with _now_ as it's actually capable of editing/compiling/downloading stuff.

    I'm hoping the next couple of weeks brings me some more time to get it polished a bit. I was thinking about finishing off the windows specific com port detection and building a windows version too, but I'm really not certain anymore. With Proptool and the stuff Praxis is working on I can't see anyone bothering with it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • tpw_mantpw_man Posts: 276
    edited 2008-10-04 15:32
    It seems that the Parallax font is missing the non-ASCII characters. (32-127 are ASCII)

    Screenshot attached.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    I am 1011, so be surprised!


    Advertisement sponsored by dfletch:
    Come and join us on the Propeller IRC channel for fast and easy help!
    Channel: #propeller
    Server: irc.freenode.net or freenode.net
    If you don't want to bother installing an IRC client, use Mibbit. www.mibbit.com
    tongue.gif
    1318 x 873 - 559K
  • BradCBradC Posts: 2,601
    edited 2008-10-04 15:46
    tpw_man said...
    It seems that the Parallax font is missing the non-ASCII characters. (32-127 are ASCII)

    Screenshot attached.

    Yep, thanks for that.. I broke the font selection on MacOS. I'll add it to the list [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • Erik FriesenErik Friesen Posts: 1,071
    edited 2008-10-04 20:42
    You have been burning some midnight oil here if I don't miss my guess. What programming language are you doing this in if I may ask?

    This may come in handy.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-10-04 20:45
    This is JUST AWESOME!

    Comments:

    I pulled a copy of my PARALLAX TTF from Windows. Unless I drop the character size to 8, the fonts
    overlap each other. Wasn't there a another PARALLAX font created somewhere that doesn't do this?

    Edit: found that font that fixes this.. attached.

    No more VMbox with Windows soon! Yeah!!

    Drop in some of the Parallax background color stuff and fix the font and I'm IN!

    Did I say this was awesome? <smirk>

    OBC

    Edit: Feature request, could you add a right-click and "Close" option on open tabs?

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

    Getting started with a Propeller Protoboard?
    Check out: Introduction to the Proboard & Propeller Cookbook 1.4
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS

    Post Edited (Oldbitcollector) : 10/4/2008 9:37:18 PM GMT
  • stevenmess2004stevenmess2004 Posts: 1,102
    edited 2008-10-04 22:08
    BradC said...
    It will have every option of the command line compiler, yes.
    Provided I can get some time in the next day or so, I'll belt out a universal Mac binary (they are a bit harder to get the build right on).

    Are you running the IDE under wine or just the propellent at the moment ?

    Great. I currently run the proptool under crossover.

    When I run the OSX version it comes up with a dialogue box saying "Adding default root". Then it thinks for awhile and then crashes. I have to go out for awhile but I'll give you some more details when I get home.
  • Luis DigitalLuis Digital Posts: 371
    edited 2008-10-05 02:38
    Erik Friesen said...
    You have been burning some midnight oil here if I don't miss my guess. What programming language are you doing this in if I may ask?

    This may come in handy.

    The best in the world:

    Free Pascal / Lazarus
  • DavidMDavidM Posts: 630
    edited 2008-10-05 02:42
    HI Bradc

    Great job so far! I got the app running on my mac G4 PPC DP 1.25 MAC OSX 10.4.11

    Can I ask

    Q1) What development software/language are you using?
    Q2) What other tools/libraries/code have you used?
    Q3) Could the same thing be done using REALBASIC?


    You may want to hide the "HIDDEN" files in the file browser that the make has.

    I would prefer if the spin files are listed as well in the file browser window ( not just the folders) this is something I dislike about the current SPIN app.
    I suggest that you use the bottom left hand window for the actual project tree only.


    feature requests ( if you are interested )

    F1) Open each spin file in its own window ( tear-away tabs? )
    F2) Build in a serial debugging window ( separate window )

    Keep at it Bradc!


    Thanks


    Dave M
  • potatoheadpotatohead Posts: 10,261
    edited 2008-10-05 03:46
    www.fnarfbargle.com/bst.gz

    That's just a clickable link to make stuff easy.

    Man! This thing is great. Just spent some time in Ubuntu working with it. I'm stoked!

    Thanks Oldbit for the quick ttf link. Was just what I needed.

    Good things first:

    File navigation was quick and easy. Love it. Editing text works fast too. Love having my X window middle mouse paste back! So much better than the usual win32 deal.

    I've been on win32 systems huge the last few months. Prop Tool is one of the reasons why and MCAD is another. Well, one program I use a lot runs on Linux, and now Propeller stuff does too! NICE.

    My feature request list (and it's a request as I'm happy to have even this much!)

    Syntax Highlight
    Show Indent
    Background colors by region (dat, var, etc...)

    Well done!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!

    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net

    Post Edited (potatohead) : 10/5/2008 4:18:43 AM GMT
  • potatoheadpotatohead Posts: 10,261
    edited 2008-10-05 05:11
    Here's the command line GTK chatter, just FYI:

    doug@doug-laptop:~$ ./bst
    X Error: BadDevice, invalid or uninitialized input device 168
    Major opcode: 145
    Minor opcode: 3
    Resource id: 0x0
    Failed to open device
    X Error: BadDevice, invalid or uninitialized input device 168
    Major opcode: 145
    Minor opcode: 3
    Resource id: 0x0
    Failed to open device

    (bst:5817): GLib-GObject-WARNING **: IA__g_object_get_valist: object class `GtkSettings' has no property named `gtk-cursor-blink-timeout'

    (bst:5817): GLib-GObject-WARNING **: IA__g_object_get_valist: object class `GtkSettings' has no property named `gtk-cursor-blink-timeout'

    (bst:5817): GLib-GObject-WARNING **: IA__g_object_get_valist: object class `GtkSettings' has no property named `gtk-cursor-blink-timeout'

    (bst:5817): GLib-GObject-WARNING **: IA__g_object_get_valist: object class `GtkSettings' has no property named `gtk-cursor-blink-timeout'

    (bst:5817): GLib-GObject-WARNING **: IA__g_object_get_valist: object class `GtkSettings' has no property named `gtk-cursor-blink-timeout'

    (bst:5817): GLib-GObject-WARNING **: IA__g_object_get_valist: object class `GtkSettings' has no property named `gtk-cursor-blink-timeout'

    (bst:5817): GLib-GObject-WARNING **: IA__g_object_get_valist: object class `GtkSettings' has no property named `gtk-cursor-blink-timeout'

    (bst:5817): GLib-GObject-WARNING **: IA__g_object_get_valist: object class `GtkSettings' has no property named `gtk-cursor-blink-timeout'

    (bst:5817): GLib-GObject-WARNING **: IA__g_object_get_valist: object class `GtkSettings' has no property named `gtk-cursor-blink-timeout'
    $081FE50A
    $081F347E
    $081F3C57
    $081F4318
    $081D3FBD
    $081327E5
    $0813274F
    $0817A794
    $B7A704A8

    (bst:5817): GLib-GObject-WARNING **: IA__g_object_get_valist: object class `GtkSettings' has no property named `gtk-cursor-blink-timeout'

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!

    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
  • stevenmess2004stevenmess2004 Posts: 1,102
    edited 2008-10-05 05:21
    Okay, my problem is that you need admin rights to get it to run. Is it possible to change that or not?
  • BradCBradC Posts: 2,601
    edited 2008-10-05 05:25
    Ok, yeah.. I've been working on the IDE and the compiler for months now in the background..

    Yes, it's written in FreePascal and Lazarus. The directory tree is really the only custom component, the rest are all available in the FPC/Lazarus source trees.
    The compiler is about 12,000 lines of code and the ide is currently about 3,000

    @DavidM, I guess you could do it in Realbasic. Sure.. start with the compiler and build on it from there.

    @stevenmess2004, the default root thing should only happen once. It creates a ~/.bst.ini file in your home directory with the required information and runs from that.
    Conversely, if you do something to really upset it, you can always rm ~/.bst.ini and start fresh.

    As for features, yes I have them all on my todo list..
    Syntax / BG highlighting
    Indent
    Serial debugging Window(s)
    Completion of the current code (like get find/replace hooked up)
    Crash recovery
    Resume from last directory on startup
    Fix unicode on Mac

    Tear away tabs are worth thinking about, but I've got an awful lot of other stuff to do before I even look at a re-structure of the current user interface.

    I've discovered several nasties in the Mac version (sorry about that) and yes, I plan on changing all the hot-keys away from the windows/linux (ctrl-s) to the usual Apple standards.
    I'm off for 2 weeks at midnight tonight, so I hope to have some time to work on the issues, but I'll be away from my Mac so testing Mac stuff will be a bit slower I'm afraid.

    On the up side, I've got it generating universal binaries now.

    Please, please, please remember that the compiler likely still has some crash bugs in it, and if it goes it will take the IDE with it. Save your work!
    Undo in the IDE is 1024 steps deep, and stays current after a save, so you can always undo with ctrl-Z after a save and compile if required.

    Thanks for the feedback, keep it coming. I wont be able to get an update out until after I reach Perth on Tuesday (any Proppers in Perth, Aus?).. so it'll be a couple of days before we see any improvements.

    What I _really_ want, is people to feed it invalid spin code and try to break it. The error handling in the compiler can use some TLC.
    The compiler is exactly the same code used in btsc, so if you find a crash you could use btsc to confirm it from the command line.

    Cheers [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • stevenmess2004stevenmess2004 Posts: 1,102
    edited 2008-10-05 05:45
    Okay, its not actually an admin problem. Must be some other setting somewhere cause I just enabled admin rights and it works in one account and not another. (maybe a problem with file permissions?, I'll have a look)

    Here is the stuff I get in the terminal if I run the actuall binary file burried in the application.
    /Users/stevenmessenger/Downloads/bst.app/Contents/MacOS/BST ; exit;
    steven-messengers-computer:~ stevenmessenger$ /Users/stevenmessenger/Downloads/bst.app/Contents/MacOS/BST ; exit;
    TCarbonWindow.SetScrollInfo TODO
    TCarbonWindow.SetScrollInfo TODO
    TApplication.HandleException Division by zero
      Stack trace:
      $001B5134
      $000E4614
      $000CE604
      $000D3090
      $000E4510
      $0000C3D8
      $000DBB60
      $000CFBA4
      $001C11D0
      $00173C58
      $001740D0
      $0018E3AC
      $95383E2C
      $95382FC4
      $95382DE0
      $953A7C08
      $953A77A0
    TApplication.HandleException: there was another exception during showing the first exception
      Stack trace:
      $001B5134
      $000E4614
      $000CE604
      $000D3090
      $000E4510
      $0000C3D8
      $000DBB60
      $000CFBA4
      $001C11D0
      $00173C58
      $001740D0
      $0018E3AC
      $95383E2C
      $95382FC4
      $95382DE0
      $953A7C08
      $953A77A0
    logout
    
    
  • BradCBradC Posts: 2,601
    edited 2008-10-05 06:01
    stevenmess2004 said...
    Okay, its not actually an admin problem. Must be some other setting somewhere cause I just enabled admin rights and it works in one account and not another. (maybe a problem with file permissions?, I'll have a look)

    It _looks_ like it can't write ~/.bst.ini but I can't be sure.
    I'll run some tests and see what turns up.

    Thanks for the feedback. I wish I'd left the line numbers in there, but the debug build is 25M!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • stevenmess2004stevenmess2004 Posts: 1,102
    edited 2008-10-05 06:17
    Can I do anything helpful with Instruments?
  • stevenmess2004stevenmess2004 Posts: 1,102
    edited 2008-10-05 06:26
    Well, the ~/.bst.ini file doesn't exist in the profile where it crashes and there is a ini file in the profile where it works. So it's crashing either before it gets to that stage or when it tries to write the file.
  • BradCBradC Posts: 2,601
    edited 2008-10-05 07:21
    I've uploaded a debug build for you stevenmess2004. URL in your PM

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • evanhevanh Posts: 16,128
    edited 2008-10-05 08:21
    The "Compiler Searchpaths" in the prefs is not used for Spin/Pasm? It looks to me like F8 is working without setting this.

    I need a Prop to test with. [noparse]:)[/noparse]
  • evanhevanh Posts: 16,128
    edited 2008-10-05 08:26
    BTW, it's nice in a dedicated editor like this not to have to manually flip the editor between UTF8 and UTF16 in a generic editor.

    I'm thinking that all .spin source files should be UTF16 exclusively anyway.
  • BradCBradC Posts: 2,601
    edited 2008-10-05 09:12
    evanh said...
    BTW, it's nice in a dedicated editor like this not to have to manually flip the editor between UTF8 and UTF16 in a generic editor.

    I'm thinking that all .spin source files should be UTF16 exclusively anyway.

    Ugh.. No way.. it makes them all twice the size and unable to be edited in vi. 90% of my spin files have nothing above $7F in them, why should I give up double the storage space and the ability to edit them in vi, or manipulate them easily with awk/grep/sed ?

    One thing bst does is scan the file when closing it, and if you've removed all the unicode chars it will save it as plain text.
    I know prop tool does the text->unicode conversion, but I never bothered to check if it goes the other way.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • BradCBradC Posts: 2,601
    edited 2008-10-05 10:54
    Ok, last revision before I skive off.

    www.fnarfbargle.com/bst

    Massive speed increase in loading files if they are on a network share.
    Unicode now works on Mac..

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Pull my finger!
  • evanhevanh Posts: 16,128
    edited 2008-10-05 11:46
    BradC said...
    evanh said...
    I'm thinking that all .spin source files should be UTF16 exclusively anyway.
    Ugh.. No way.. it makes them all twice the size and unable to be edited in vi. 90% of my spin files have nothing above $7F in them, why should I give up double the storage space and the ability to edit them in vi, or manipulate them easily with awk/grep/sed ?
    Are you serious? When did the source size become an issue? As for ASCII greping, it won't work for the existing UTF16 files. That one needs a better solution already. It's all academic anyway, since the files are not all UFT16.

    Thanks for the good work on your project BTW.
Sign In or Register to comment.