Jump to content
IGNORED

Modern 6502 programming methods?


dukes909

Recommended Posts

I dabbled with 6502 programming back in the day on my 800 with Atari's Macro Assembler and Program Editor. I would like to mess around with iassembly language programming again, but I'm sure there is a better way now than trying to run MEDIT and then AMAC in the Atari800 emulator, right? Right? (this is a question about current ways to create assembly language programs for the 8-bits and maybe even the VCS, not accessing my old assembly files, btw). How are you folks doing this in 2024?
Cheers

Edited by dukes909
added tag
  • Like 1
Link to comment
Share on other sites

Welcome @dukes909

 

There is a whole section dedicated to programming pinned:

 

https://forums.atariage.com/forum/51-atari-5200-8-bit-programming/

 

Also, get yourself the Altirra emulator - most people swear by it and it has great features for coders.

 

https://www.virtualdub.org/altirra.html

 

There are some very cool and custom Windows programme a lot of coders use, and also a good few game are being created in Mad Pascal.

 

https://mads.atari8.info/

 

Check out Flob and Time Wizard:

 

 

 

Generally there are some amazing things being coded as we speak:

 

 

Edited by Beeblebrox
  • Like 3
Link to comment
Share on other sites

5 minutes ago, Beeblebrox said:

There is a whole section dedicated to programming pinned:

 

https://forums.atariage.com/forum/51-atari-5200-8-bit-programming/

OOOF how did I miss that? (slinks away quietly)

 

8 minutes ago, Beeblebrox said:

There are some very cool and custom Windows programme a lot of coders use

Ugh drat, I'm a Linux user almost exclusively (except for work)
 

  • Like 2
Link to comment
Share on other sites

Just now, dukes909 said:

OOOF how did I miss that? (slinks away quietly)

 

Ugh drat, I'm a Linux user almost exclusively (except for work)
 

 

I use ca65, on LInux, with Notepad++.  So, it's quite possible to use Linux.

 

Altirra runs on Linux, via wine, as well.

 

 

  • Like 5
Link to comment
Share on other sites

I second WUDSN, Mads, and Altirra + atari800 combination. mads is a tad intimidating for starters, but if you squint a bit and use the basic stuff it is just an assembler.

If you go for Mad Pascal (a really solid piece of code), go with mads, you'll need it.

If you go with C - cc65 + ca65 is the way to go. Much more oldskool than Mad Pascal which looks pleasant to work with.

  • Like 2
Link to comment
Share on other sites

On 9/4/2024 at 11:27 PM, dukes909 said:

OOOF how did I miss that? (slinks away quietly)

 

Ugh drat, I'm a Linux user almost exclusively (except for work)
 

That's not a problem, I would say it's an advantage :)

There are good extensions for Sublime, vscode and some other editors, any that support 6502 syntax is enough in practice.
I'm using kickassembler (mostly c64 oriented) with sublime + altirra. Even wrote python scripts to process kickass compiler output and adjust for Altirra (labels, break points etc)...

 

On the other hand Wudsn is really nice tool, maybe easier for new beginning :)

 

And most important I would say is documentation. For that I recommend Altirra hardware reference manual and my "atari bible" :)
https://www.atariarchives.org/agagd/

 

Enjoy and don't be afraid to ask for help :)

 

  • Like 1
Link to comment
Share on other sites

My development preferences.

 

BASIC/Turbo BASIC for quick/dirty testing of ideas. 

Very rarely MAC/BUG 65 for assembler as all my code from bitd. is written in it (too lazy to convert everything over to MADS).

WUDSN/MADS for assembler, this is by far the best for assembler, ton's of modern features.

CC65/CA65 for 'C' and assembler mix using Sublime Text 3 to create/edit/compile projects.

 

and of course Altirra (it's debugging facilities are awesome)

 

Now and then I've also done some things in ACTION!

  • Like 1
Link to comment
Share on other sites

3 hours ago, popmilo said:

For that I recommend Altirra hardware reference manual and my "atari bible" :)

Thanks, great info! One thing I'm still not clear on is the Atari800 emulator I use in Linux. When it starts it has a splash screen that says "Altirra". Is the Atari800 and Altirra the same thing? 

Link to comment
Share on other sites

18 minutes ago, dukes909 said:

When it starts it has a splash screen that says "Altirra". Is the Atari800 and Altirra the same thing? 

No, very different beasts.

 

Just downloaded it and ran it, what it's using is Altirra's OS ROM, that's why you see that message

Edited by TGB1718
  • Like 1
Link to comment
Share on other sites

37 minutes ago, TGB1718 said:

As I just downloaded Atari800, thought I would give it a try as I've was never happy with it in the past.

 

After 1/2 hour of "trying" to configure it, I now know why I only use Altirra :)

 

Is it that bad compared to Altirra!? Sounds like I should come up with a Windows machine just for Altirra and some of these other tools. 🤷‍♂️

Link to comment
Share on other sites

What I found was you go into settings in Atari800 (F1), make some changes then save the config, but when you restart

your saved config "isn't" saved (well not all of it) I found you have to manually change things in the .cfg file for them to work which is a real pain

Don't think I was doing anything wrong I would have thought "Save Config" was pretty obvious, but I couldn't get it to save.

 

Altirra is much more user friendly, all dropdown menus as you would expect with a Windows program.

Link to comment
Share on other sites

7 hours ago, dukes909 said:

Is it that bad compared to Altirra!? Sounds like I should come up with a Windows machine just for Altirra and some of these other tools. 🤷‍♂️

Nah, it's not bad :)
In fact it starts like 1000% faster than Altirra over wine.

The only thing it's missing from Altirra is a nice debugger. Altirra is really one of the best emulators out there for retro development. Integrated memory viewer, heatmap, registers, dissasembler, break points, profiler... 100 useful options.

But... If you write your code as any decent coder should do, make it correct, then you don't need a debugger, and your code will start lightning fast and atari800 will be your best friend ;)

 

  • Like 1
Link to comment
Share on other sites

Hi!

4 hours ago, popmilo said:

Nah, it's not bad :)
In fact it starts like 1000% faster than Altirra over wine.

Yea, that is one of the main reasons I almost always test in atari800 during development.

4 hours ago, popmilo said:

The only thing it's missing from Altirra is a nice debugger. Altirra is really one of the best emulators out there for retro development. Integrated memory viewer, heatmap, registers, dissasembler, break points, profiler... 100 useful options.

I use the atari800 debugger sometimes, it is spartan but usable.

 

But for my own development, I use my own simulator that is a lot faster because it only simulates the CPU and OS, and allows me to do unit testing of the code - see for example the FastBasic "make test" that tests the native and cross compilers.

 

Were I find Altirra shines is in trying to debug complex hardware interactions, where precise emulation is needed, and wine runs Altirra really well (thanks to the support by phaeron)

 

4 hours ago, popmilo said:

But... If you write your code as any decent coder should do, make it correct, then you don't need a debugger, and your code will start lightning fast and atari800 will be your best friend ;)

Agree 😛 

 

Have Fun!

  • Like 2
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.
Note: Your post will require moderator approval before it will be visible.

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.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...