 |
|
 |
| Parallax Forums > Public Forums > Propeller Chip > Mac/Linux/Windows IDE - Ver 0.19.3 "Now with new improved PropBasic" release | Forum Quick Jump
|
| | 1404 posts in this thread. Viewing Page : | | [ << Previous Thread | Next Thread >> ] | Show Newest Post First ] |
|  BradC *wibble*

       Date Joined Jul 2007 Total Posts : 2500 | Posted 10/4/2008 3:33 AM (GMT -7) |   | 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 forums.parallax.com/forums/default.aspx?f=25&m=297566
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 forums.parallax.com/forums/default.aspx?f=25&m=297274 for the gory details All -Lots of compiler changes/fixes, please see forums.parallax.com/forums/default.aspx?f=25&m=297566 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
Image Attachment :
 Screenshot.png 180KB (image/png)This image has been viewed 1061 time(s). | Image Attachment :
 bst-007.jpg 342KB (image/jpeg)This image has been viewed 807 time(s). | Image Attachment :
 bst-012.jpg 388KB (image/jpeg)This image has been viewed 827 time(s). | |
| | Back to Top | | |
  |  stevenmess2004 Registered Member
        Date Joined Dec 2007 Total Posts : 1076 | Posted 10/4/2008 4:29 AM (GMT -7) |   | If you want someone to test the mac version I will :).
This will be brilliant. No more Wine
Will you make it so it has all the options of your command line compiler? | | Back to Top | | |
 |  BradC *wibble*

       Date Joined Jul 2007 Total Posts : 2500 | Posted 10/4/2008 4:32 AM (GMT -7) |   | 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 :)
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 :)
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) :)
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 :) 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! | | Back to Top | | |
    |  BradC *wibble*

       Date Joined Jul 2007 Total Posts : 2500 | Posted 10/4/2008 6:36 AM (GMT -7) |   | 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! | | Back to Top | | |
     |  Erik Friesen Registered Member
        Date Joined Jun 2007 Total Posts : 688 | Posted 10/4/2008 1:42 PM (GMT -7) |   | 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. | | Back to Top | | |
    |  DavidM Registered Member
        Date Joined Feb 2006 Total Posts : 351 | Posted 10/4/2008 7:42 PM (GMT -7) |   | 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 | | Back to Top | | |
   |  stevenmess2004 Registered Member
        Date Joined Dec 2007 Total Posts : 1076 | Posted 10/4/2008 10:21 PM (GMT -7) |   | | Okay, my problem is that you need admin rights to get it to run. Is it possible to change that or not? | | Back to Top | | |
 |  BradC *wibble*

       Date Joined Jul 2007 Total Posts : 2500 | Posted 10/4/2008 10:25 PM (GMT -7) |   | 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 :) Pull my finger! | | Back to Top | | |
   |  stevenmess2004 Registered Member
        Date Joined Dec 2007 Total Posts : 1076 | Posted 10/4/2008 11:17 PM (GMT -7) |   | | Can I do anything helpful with Instruments? | | Back to Top | | |
 |  stevenmess2004 Registered Member
        Date Joined Dec 2007 Total Posts : 1076 | Posted 10/4/2008 11:26 PM (GMT -7) |   | | 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. | | Back to Top | | |
 | 1404 posts in this thread. Viewing Page : | | Forum Information | Currently it is Thursday, July 29, 2010 5:17 PM (GMT -7) There are a total of 462,440 posts in 62,066 threads. In the last 3 days there were 90 new threads and 803 reply posts. View Active Threads
| | Who's Online | This forum has 20143 registered members. Please welcome our newest member, ME01. 56 Guest(s), 9 Registered Member(s) are currently online. Details John Abshier, Rayman, BradC, prof_braino, Sapieha, Gene Bonin, laser-vector, localroger, Nick McClick |
Forum powered by dotNetBB v2.42EC SP2.02 dotNetBB © 2000-2010 |
|
|