Jump to content

X16 Assembly Tutorial


SlithyMatt
 Share

Recommended Posts

  • 3 weeks later...
  • 2 weeks later...
  • 2 weeks later...
  • 2 weeks later...
  • 2 weeks later...
  • 2 weeks later...

Matt!

I've watched the first few episodes (and I subscribed.) Good stuff! I have set up my dev environment and will be beginning coding is the next few days. Thank you very much for the time and effort you put into the videos.

 

Rick 

  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

Wow! I didn't know the Commander X16 is capable of FM. I played around a lot with software synths over the years. FM is definitely one of the more interesting approaches to synthesis, if you ask me. There are so many directions you can take it in.

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

@SlithyMatt Hi I am a new programmer who is having a lot of difficultly understanding the assembly tutorials. I did some basic tutorials for the x16 but the program I want to write would be very difficult to write in basic, which I why I decided that assembly may be my best option. Do you have any advice for figuring out assembly for a beginner. I understand that I am calling things and preforming operations at certain hexadecimal addresses but when things like stack pointers are brought up it becomes very confusing and I have trouble understanding what is going on when I call these hexadecimal addresses. I understand that this is supposed to be more advanced because I am writing machine code, so I am not faulting your tutorials... just wondering if you have any advice to make it easier to understand.

 

Link to comment
Share on other sites

There are plenty of tutorials for 6502 assembly out there (here is one that starts gently https://codeburst.io/an-introduction-to-6502-assembly-and-low-level-programming-7c11fa6b9cb9). It might not be a bad idea to do read a few such documents before jumping into videos.

I think you probably should not start out with something too ambitious for your first attempts. You probably can a lot of smaller programs without having to deal directly with the stack pointer. You can start by transferring parameters in the registers (A, X and Y) and/or direct memory addresses (Zero Page or not) and limit your self to implicit stack use with JSR/RTS.

I'd also recommend taking looking at Prog8 (https://prog8.readthedocs.io/en/latest/#). This gives you something a lot faster than Basic while not being as completely low level as assembly.  Prog8 allow inclusion of assembly into the program fairly gracefully when you need "full speed" and if you just need a few really fast (non-recursive) functions you don't not need to learn to use the program stack. And since Prog8 produces assembly output (before producing the binary with 64tass) it will also allow you to learn a lot from looking at the produced output when you are interested.

BTW, back in the day (80's) when I did some limited machine code programming I basically had no understanding of the stack and the only stack related commands I used was just JSR and RTS. But what I wrote then was basically stuff gleaned from some assembly examples in various C64 magazines and I probably only understood about half the 6502 instruction set.

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

Please review our Terms of Use