Shop OBEX P1 Docs P2 Docs Learn Events
PropBASIC Official Announcements thread — Parallax Forums

PropBASIC Official Announcements thread

BeanBean Posts: 8,129
edited 2009-11-11 01:34 in Propeller 1
Since Bill has been touting his Propeller Basic.
I thought I would give him a little jab and post the progress of PropBASIC.

I have attached a document that shows the commands.

PropBASIC compile to straight PASM code. I have done a video driver (monochrome 64 characters per line, 24 lines).

In a future release we want to support LMM, but it will be an option. So you can generate straight PASM or LMM.

Next month we will be looking for some beta testers.· Ideal beta testers will have a propeller demo board, be familiar with PASM, and be familiar with SX/B (since PropBASIC is based on the SX/B compiler). Send me a PM if you are interested.

When it is released PropBASIC will be made available at no charge.

I have also attached a zip file with some demo programs already compiled.

SndMeter - Uses the Propeller demo board microphone and LEDs to make a sound meter.

Video - A simple 256x192 monochome graphics video display (NTSC)

Video2 - A 256x192 monochome text display. Unique in that the video driver cog also updates the bitmap with the text font.

Serial_to_NTSC - A buffered serial NTSC display. One cog receives serial data and puts the characters into a buffer. Another cog generates a 64 character per line by 24 lines text display. Very low memory overhead. Display array holds the HUB address of the font bitmap.

I will post more as it become available.

Bean.





▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Does that byte of memory hold "A", 65, $41 or %01000001 ?
Yes it does...




Post Edited (Bean (Hitt Consulting)) : 11/10/2009 2:55:55 PM GMT

Comments

  • BeanBean Posts: 8,129
    edited 2009-11-10 14:55
    If anyone is able to create a front-end for the compiler. I would appreciate it.

    It would be basically a text editor with a "compile" button. When the "compile" button is pressed it will save the file, run the compiler (.EXE), then start the Propeller IDE tool with the filename.

    Thanks,

    Bean

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Does that byte of memory hold "A", 65, $41 or %01000001 ?
    Yes it does...


    ·
  • TinkersALotTinkersALot Posts: 535
    edited 2009-11-10 15:26
    where is prop-basic project? Can you put some links here so that others here can find it from this thread?
  • BeanBean Posts: 8,129
    edited 2009-11-10 15:29
    TinkersALot said...
    where is prop-basic project? Can you put some links here so that others here can find it from this thread?
    Not sure what you are asking ???
    The demo programs are in the first post as "demos.zip".
    The compiler itself is not released yet.

    Bean.


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Does that byte of memory hold "A", 65, $41 or %01000001 ?
    Yes it does...


    ·
  • potatoheadpotatohead Posts: 10,261
    edited 2009-11-10 15:56
    This is really great so far. Looking forward to the LMM option!

    For finalized .spin files, the original source PB could be placed in a block comment.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • RsadeikaRsadeika Posts: 3,847
    edited 2009-11-10 16:18
    @Bean, are you going to have global, and local variables, just like SX/B has? Did not see it mentioned in the pdf file.
  • BeanBean Posts: 8,129
    edited 2009-11-10 16:23
    No local variables. The Propeller is not RAM constrained like the SX chip.

    The __PARAMx variables are NEVER used by PropBASIC code (like they are in SX/B). So these can be freely used in subroutines without having to save them in seperate variables. PropBASIC uses a seperate set of __TEMPx variables for it's use.

    Note that TASKs do have their own variables (and SUBs) since TASK code runs in a seperate cog.

    Bean.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Does that byte of memory hold "A", 65, $41 or %01000001 ?
    Yes it does...


    ·
  • Bill HenningBill Henning Posts: 6,445
    edited 2009-11-10 17:14
    Nice work Bean!
    Bean (Hitt Consulting) said...
    Since Bill has been touting his Propeller Basic.
    I thought I would give him a little jab and post the progress of PropBASIC.



    I have attached a document that shows the commands.



    PropBASIC compile to straight PASM code. I have done a video driver (monochrome 64 characters per line, 24 lines).



    In a future release we want to support LMM, but it will be an option. So you can generate straight PASM or LMM.



    Next month we will be looking for some beta testers. Ideal beta testers will have a propeller demo board, be familiar with PASM, and be familiar with SX/B (since PropBASIC is based on the SX/B compiler). Send me a PM if you are interested.



    When it is released PropBASIC will be made available at no charge.



    I have also attached a zip file with some demo programs already compiled.



    SndMeter - Uses the Propeller demo board microphone and LEDs to make a sound meter.



    Video - A simple 256x192 monochome graphics video display (NTSC)



    Video2 - A 256x192 monochome text display. Unique in that the video driver cog also updates the bitmap with the text font.



    Serial_to_NTSC - A buffered serial NTSC display. One cog receives serial data and puts the characters into a buffer. Another cog generates a 64 character per line by 24 lines text display. Very low memory overhead. Display array holds the HUB address of the font bitmap.



    I will post more as it become available.



    Bean.
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
    Morpheusdual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory IO board kit $89.95, both kits $189.95
    Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
    Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
  • Mike HuseltonMike Huselton Posts: 746
    edited 2009-11-10 20:30
    Bean,

    I have suggested to Bill that he take a look at CodeBlocks, the front end that Rich chose for the ICC V7 compiler.
    Rich originally contacted me for the V7 rewrite in Visual Studio, but he chose the CodeBlocks compiler instead for the licensing freedom
    and in-house support. In all, sounded like good business decisions to me.

    Goodies like IntelliSense and compilation feedback are provided through a code feedback mechanism called Plugins.
    The user gets a consistant look and feel when using products that use CodeBlocks.

    Did I mention it is Open Source?

    No need to re-invent the UI wheel...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH

    Post Edited (James Michael Huselton) : 11/10/2009 8:40:54 PM GMT
  • BeanBean Posts: 8,129
    edited 2009-11-10 20:46
    James,
    It looks like CodeBlocks is for C++.
    The PropBASIC compiler is written in Delphi.

    Bean.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Does that byte of memory hold "A", 65, $41 or %01000001 ?
    Yes it does...


    ·
  • Mike HuseltonMike Huselton Posts: 746
    edited 2009-11-10 21:01
    Bean,

    Written in C++, but interfaces in script. At least have a look at the WIKI on documentation: wiki.codeblocks.org/index.php?title=User_documentation

    I did review code that was necessary to write a Visual Studio interface. Maybe you have a better grasp of the legal concerns than I do.

    p.s. - I loved Delphi when I was writing code in it - but it has been a few years since I last wrote any code in it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH

    Post Edited (James Michael Huselton) : 11/10/2009 10:30:50 PM GMT
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-11-11 00:27
    Wow, this is looking very exciting. Inline assembly too.

    I'm looking at some of my mbasic and sbasic programs and the ease with which they could be translated. Very easily I think. I've got a custom prop board with a big ram chip, sd card, vga, keyboard, 2 serial ports. Designed so that it can run CP/M in order to run various Basic programs in CP/M. The problem is that this needs 64k of memory in order to support a compiled basic program that takes 20k. But by running basic directly on the propeller, it means the memory overhead of an operating system may not be needed and hence it could all fit in 20k and then you don't need the external memory. Sweet!

    This leads to a board design not dissimilar to the demo board. Consider a board with a couple of serial ports, vga, keyboard (?mouse) and sd card. All standard spin objects already available. Still leaves a number of pins free. Support chips might just be the eeprom and a max232. Faster, smaller, cheaper than the basic stamp. And running the same/similar language.

    Re "If anyone is able to create a front-end for the compiler. I would appreciate it."

    I've got a front end for the CP/M N8VEM board. It has evolved over a number of years and can do basic, assembler, C, one button compiles, shells out to other programs, a VT100 terminal, file transfers with xmodem and has a text editor that can do coloured text like vb.net/picaxe basic where keywords are highlighted. The catch is that it is in vb.net and I've had a few xp machines that won't run vb.net. So in terms of a front end, I'm wondering what is the best language to write it in. Mustn't be a bloatware language. Must run on a range of platforms. RobotBasic? Delphi? Whatever language Brad wrote the BST in? Something else?

    I'm not familiar with Delphi - is it difficult to do a front end in this language?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/build
  • BradCBradC Posts: 2,601
    edited 2009-11-11 00:49
    Bean (Hitt Consulting) said...

    The PropBASIC compiler is written in Delphi.

    Compile it in lazarus and make it run on other platforms too.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • Luis DigitalLuis Digital Posts: 371
    edited 2009-11-11 00:52
    Bean (Hitt Consulting) said...

    The PropBASIC compiler is written in Delphi.

    Bean.

    Use Lazarus/Free pascal (Free Delphi clone) and "Write once, compile anywhere" (Windows, Linux, Mac OSX). smile.gif

    Lazarus Wiki
    Lazarus en espa
  • Luis DigitalLuis Digital Posts: 371
    edited 2009-11-11 00:58
    WOW BradC, Apparently we're big fans of Lazarus / Free Pascal. lol
  • BradCBradC Posts: 2,601
    edited 2009-11-11 01:11
    Luis Digital said...
    WOW BradC, Apparently we're big fans of Lazarus / Free Pascal. lol

    The bst suite is written in Lazarus / Free Pascal. A night club in Perth, Western Australia has run it's entire music / lighting system for the last 10 years on systems written in Free Pascal. I might be a fan [noparse]:)[/noparse]

    I was a Delphi programmer for years. I still have my 16 Bit Delphi 1 CD and Manuals here, but when (in 1996) I moved away from the Microsoft platform I found Free Pascal.
    Initially I used to use Delphi in a Windows 95 VM to create binaries I could run under WINE. This worked quite well, but as Lazarus came up to speed I moved over to native development.

    If PropBasic is written in Delphi and does not have a GUI, it would be _dead_ easy to compile it with FreePascal and have it actually run on non-microsoft platforms.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
  • Luis DigitalLuis Digital Posts: 371
    edited 2009-11-11 01:27
    WOW!!! I also have about 9 years with Free Pascal, first reporting bugs.

    With Lazarus is a different story, because Lazarus was in diapers.

    So I started bringing different types of aid:
    - Translation into Spanish.
    - Reporting bugs or repairing them.
    - Building components.
    And my last jobs were with Qt interface.

    Lately I'm a bit withdrawn.

    Do you use TFileListBox in BST? turn.gif
  • BradCBradC Posts: 2,601
    edited 2009-11-11 01:34
    Luis Digital said...

    Do you use TFileListBox in BST? turn.gif

    No, I don't. Looks interesting though.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    If you always do what you always did, you always get what you always got.
Sign In or Register to comment.