Oui, c'est moi. (That
was a French accent, wasn't it?)
I certainly know your name, but afraid I don't quite recall the details of the Sega emulator contact. Hmm, was it something to do with you providing it for one of our embedded Network Computer-type things? Rings a bell.
Yes, it's a complete implementation of the universal CMOS set (but not the Rockwell oddities). Seemed pointless to do half a job. Basically it's what I think BBC BASIC IV provides. Thought for a few seconds about going to 65816 for the benefit of Mr Kortink's copro, then saw sense.
That includes the extra modes - I've got some minor use for the zero page unindexed indirect, and I've got a major use for the pre-indexed indirect jump.
TSB/TRB aren't
that weird, apart from the stupid mnemonics. We already know you "Clear" bits from CLI etc, not "Reset" them. And why "Test" - the existing test opcode is "BIT". It's a cut-down BIT followed by a set/clear of the same bits. So surely the opcodes should have been something like BIS and BIC? Or maybe BTS and BTC, if you think BIT is short for "BIt Test". Yes, that's probably better.
Anyway, they're useful enough just to set and clear flags. Test a flag with BIT m:BMI, set it with LDA #&80:TSB m and clear it with LDA #&80:TRB m. Two bytes and 1 cycle less than LDA/ORA/STA, even before you try to get clever with the flag behaviour.
My needs are quite heavy-weight - ROM, Tube, on-the-fly code copying, multiple build variants, lots of conditional compilation. And I'm cursing at the lack of macros. Part of me just wonders where I can get a copy of the 6502 Development Package to use MASM...
But BeebAsm is pretty neat, and being able to go to straight to disk image is handy for quick emulator turnaround. (Single-stepping in an emulator really spoils you).
I've just got ELIF working to my satisfaction. I'll put something up shortly. I wasn't aware this was such a hippy free-for-all in the code management area. Guess it's not that high traffic.
