www.retrosoftware.co.uk
http://www.retrosoftware.co.uk/forum/

BeebAsm 1.05 Release Candidate available!
http://www.retrosoftware.co.uk/forum/viewtopic.php?f=17&t=616
Page 1 of 1

Author:  RichTW [ Mon Apr 25, 2011 4:13 am ]
Post subject:  BeebAsm 1.05 Release Candidate available!

Hi folks,

Finally managed to finish something I started about a month ago - a new release of BeebAsm! Just wander over to the RetroSoftware Mercurial repository, here, and you'll be able to download the very latest version (as a .zip, .bz2 or .gz archive - whatever takes your fancy).

This is a release candidate - it still needs a fair bit of testing, but it assembles my existing projects OK, as well as various tests I knocked up to check the new functionality.

So, what's new?

  • Macros
    For those who wanted them, it's now possible to define assembler macros which can use all the same high-level features of BeebAsm as regular code, including conditional assembly, FOR loops and complex expressions. Here's an example of how they can be used:
    Code:
       MACRO ADDI8 addr, val
          IF val=1
             INC addr
          ELIF val>1
             CLC
             LDA addr
             ADC #val
             STA addr
          ENDIF
       ENDMACRO
    Code:
       ADDI8 &900, 1                  ; increment &900
       ADDI8 score, 5                 ; add 5 to score

    Conditional expressions are evaluated at the time of instancing, rather than at the time of definition, which means that simple optimisations (such as the one in the example above) can be implemented easily and transparently.

    Macro definitions can contain other macros, and can also be called recursively, which in theory should allow for some quite complicated functional programming type constructs.

    Macros are by far the biggest change to the codebase, and definitely in need of some good robust testing, so if anyone fancies trying to break BeebAsm with the macro from hell, please do try! (And add your feedback on this thread!)

  • PUTFILE command
    This provides a simple way of adding a file from your host OS into the current disc image. It's provided as more of a convenience than anything else (since the same result can be achieved with CLEAR/INCBIN/SAVE), but someone asked for it - I forget who now, but it is 5.00 in the morning and I'm sitting here with a sniffling away with a cold.

  • PUTBASIC command
    Thanks to Thomas Harte's BASIC tokenisation code from this very website, I added this feature into BeebAsm - it is similar to PUTFILE, but it takes a plain text BBC BASIC file, tokenises it, and adds it to the current disc image as a native BBC BASIC format file.

  • In addition, I've fixed some almighty big bugs I had with my line parsing (I have to wonder why the code ever worked on any platform...), and tightened a few things up here and there.

Do feel free to try it, and get back to me with any cripplingly bad problems. Also, if anyone has any other small requests, I'll try and add them in before the next proper release.

Author:  tautology [ Mon Apr 25, 2011 6:51 am ]
Post subject:  Re: BeebAsm 1.05 Release Candidate available!

Wow! That's good news - two of the features I most wanted in one release!

Time to do some bug testing!

Author:  RichTW [ Mon Apr 25, 2011 1:22 pm ]
Post subject:  Re: BeebAsm 1.05 Release Candidate available!

Nice one Dave! I'm sure there'll be lurking problems with malformed macro definitions and suchlike (I already know of one which allows extra close braces within a macro definition, without an error being thrown).

I forgot to mention - another feature of the new release is the ability to SAVE without specifying a filename. In this case, the filename passed on the command line with the -o switch will be used. This allows BeebAsm to be used exactly like any other 6502 assembler if you so desire (which should make it much easier to integrate it with Swift).

There's a little bit more information in the about.txt file in the BeebAsm package.

Author:  RichTW [ Mon Apr 25, 2011 5:31 pm ]
Post subject:  Re: BeebAsm 1.05 Release Candidate available!

Small bugfix to the extra close brace problem mentioned above.

Available from the repository in the same place.

Author:  DaveF [ Sun May 15, 2011 8:53 am ]
Post subject:  Re: BeebAsm 1.05 Release Candidate available!

Great work Rich. I'll grab it from the mercurial repo later and give it a whirl!

Page 1 of 1 All times are UTC [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/