I'm pretty new to Arduino, but I have been 'playing' with AVR chips for nearly 20 years.
Much of my hobby was the challenge of programming in AVR Assembler rather than C, but I've reached a point in other hobbies which need quick, simple embedded electronics and Arduino offers a a quick, simple solution. I have quite a lot of projects, some of which would be useful to port to Arduino hardware (e.g. a GOTO mount controller that should work well with a 3D printer shield on a UNO).
I have two questions...
First, I assume that if I use the SPI port on an Arduino I can (mostly) treat it as a raw AVR and program it with code I already have using my AVRISP. Is there a summary somewhere of any forbidden pins/functions/pre-wired connections I should check before doing this?
Second, I've written some fairly involved code such as implementing the BBC BASIC VDU codes for control of a number of TFT displays. These allow advanced graphics and have the advantage I'm experienced in using them! As these are in assembler rather than C, is there a guide to incorporating chunks of assembler in Arduino code?