Pasta - Smart assembler for 65(C)02

discuss both original and modern hardware for the bbc micro/electron
Post Reply
User avatar
kieranhj
Posts: 923
Joined: Sat Sep 19, 2015 11:11 pm
Location: Farnham, Surrey, UK
Contact:

Pasta - Smart assembler for 65(C)02

Post by kieranhj » Tue Oct 20, 2015 5:49 pm

Hey all,

Since retrosoftware is still down, I thought I'd ask here. Has anyone tried, or used in anger, the Pasta 6502 assembler as written by the awesome CRTC demo guys? Details can be found here: https://github.com/crtc-demos/pasta

Until now I've been using RTW's fab beebasm but wondered if anyone had experience with this alternative? Looks pretty cool, although not sure if it means I'll be able to code demos as good as theirs right away. :)

On the side topic of demos, the sources to both Some Nasty Effects and Mode Infinity are also on that GitHub site if you're interested in deciphering how some of the effects were achieved.

Cheers,
Kieran
Bitshifters Collective | Retro Code & Demos for BBC Micro & Acorn computers | https://bitshifters.github.io/

User avatar
tricky
Posts: 4785
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Pasta - Smart assembler for 65(C)02

Post by tricky » Tue Oct 20, 2015 6:33 pm

The assembler looks quite good, but only offers me contexts and some zero page management.
The zero page management might be very helpful, but I have not had an issue doing it manually yet.
The context would save me quite a bit of fiddling if it allows jumping to labels within contexts (can't remember if it does), but the same would work for RichTW's excellent beebasm if it had global labels, that is, labels visible outside of {}, maybe ..label (Rich eh ;)

I would love to get an assembler that does the optimisations that an optimizing 6502 assembler which I once saw had, but built into an editor so that it can tell me which flags and registers are known, on each line and then allow me to export the optimised version or disable it if I know better (self modding code etc).

User avatar
Rich Talbot-Watkins
Posts: 1679
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca
Contact:

Re: Pasta - Smart assembler for 65(C)02

Post by Rich Talbot-Watkins » Tue Oct 20, 2015 7:25 pm

Very nice! And written in OCaml as well, which gets it extra brownie points.

I could never find a syntax I was happy with to denote global symbols within a local scope in BeebAsm. I agree though, it's the number 1 feature that I would like myself (I normally end up just removing the local scoping as a rubbish workaround).

I noticed that the CRTC team actually write most of their framework code in C (!) and compile it to 6502 using a version of gcc. Not an approach I'd consider in a million years (can't possibly output particularly good code) but an interesting one all the same.

User avatar
tricky
Posts: 4785
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Pasta - Smart assembler for 65(C)02

Post by tricky » Wed Oct 21, 2015 7:55 am

If they use their own assembler, I can see where the zero page allocator came from.

Post Reply

Return to “8-bit acorn hardware”