beebasm
beebasm copied to clipboard
A portable 6502 assembler with BBC Micro style syntax
I'm not that good with git but I think I managed to do the rebase properly this time. The update to streampos is now gone.
Quoting from https://stardot.org.uk/forums/viewtopic.php?p=370117#p370117 I've been playing around with MACROs in RC2. Is there a way to do an IF on something being defined? An EXISTS or DEFINED keyword? What I...
Using a negative constant as an operand issues an error whereas negative constants work just fine for equb/w/d. I think this should be allowed for operands as well. Examples: lda...
As discussed in https://github.com/stardot/beebasm/issues/80, unless -w is used we should disallow macro definitions which define a macro starting with a mnemonic, as attempts to invoke it are likely to be...
Macro names which begin with mnemonics cause problems when you try to use them. If the mnenmonic is followed by a letter you just get a "Symbol not defined" error...
tricky has implemented this and I've put the code on a branch here: https://github.com/ZornsLemma/beebasm/tree/tricky-writes
lovebug asked if this was possible [over on stardot](https://stardot.org.uk/forums/viewtopic.php?p=364437#p364437) and ultimately created a custom tool to set the lock bits on the catalogue in the disc image. It would be...
Thanks to mikroman for reporting this in the discussion of https://github.com/stardot/beebasm/issues/64. The attached zip file contains a test case. The generated BASIC program fails when run, but re-typing the line...
This is different from https://github.com/stardot/beebasm/issues/45; the fix for that doesn't help. Reported on stardot by lovebug (https://stardot.org.uk/forums/viewtopic.php?p=337884#p337884) and (possibly) by mikroman_3526 (https://stardot.org.uk/forums/viewtopic.php?f=55&t=23547). I've created a test case (test/3-directives/basiclhstoken*) and a...
This can be seen by tweaking test/3-directives/basicrhstoken.bas to look like this: ``` 0p=PAGE PRINT p ?&900=PAGE MOD 256 PRINT FNpage PRINT ?&900 ?&901=TIME MOD 256 PRINT ?&901 PRINT FNtime END...