65(C)02 development tools - your thoughts
- Firefox6502
- Posts: 44
- Joined: 01 Feb 2021
- Location: Sydney, Australia
65(C)02 development tools - your thoughts
Hi guys,
I'm reading up on 65(C)02 assembly language and have started to look into the tools, i.e. assemblers, simulators, emulators...
There seems to be many tools and I'm kinda confused where to start:
http://6502.org/tools/
My daily driver is Linux. But I also use Windows in a virtual machine (KVM/Qemu/libvirt). So I'd be happy to use 65(C)02 development tools in either OS.
My friend Joe (who is also on this forum) uses the Michal Kowalski simulator which is thankfully still being updated by Daryl - thank you!
https://github.com/jdimeglio/6502-Simulator
https://sbc.rictor.org/kowalski.html
I'm starting out so I guess an assembler would be sufficient at the moment. Then I would eventually look into a simulator/emulator (also what is the difference between an emulator and simulator? I've read a few answers in the forum and elsewhere but I still don't get it.)
I'm currently looking into the ca65 assembler (from cc65), but I would like to try others also.
I did notice the assembler directives differ between the Michal Kowalski assembler and the ca65 assembler. Which is understandable.
So I'd like to get a feel on what others are using for their 65(C)02 tools? It would be helpful. Thanks
Pete
I'm reading up on 65(C)02 assembly language and have started to look into the tools, i.e. assemblers, simulators, emulators...
There seems to be many tools and I'm kinda confused where to start:
http://6502.org/tools/
My daily driver is Linux. But I also use Windows in a virtual machine (KVM/Qemu/libvirt). So I'd be happy to use 65(C)02 development tools in either OS.
My friend Joe (who is also on this forum) uses the Michal Kowalski simulator which is thankfully still being updated by Daryl - thank you!
https://github.com/jdimeglio/6502-Simulator
https://sbc.rictor.org/kowalski.html
I'm starting out so I guess an assembler would be sufficient at the moment. Then I would eventually look into a simulator/emulator (also what is the difference between an emulator and simulator? I've read a few answers in the forum and elsewhere but I still don't get it.)
I'm currently looking into the ca65 assembler (from cc65), but I would like to try others also.
I did notice the assembler directives differ between the Michal Kowalski assembler and the ca65 assembler. Which is understandable.
So I'd like to get a feel on what others are using for their 65(C)02 tools? It would be helpful. Thanks
Pete
Greetings Professor Falken.
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: 65(C)02 development tools - your thoughts
Be sure to go through the 6502 primer. The chapters are put in a logical order, one more or less leading to the next, so do go mostly in order; but the ones of particular interest to your post are:
18. Program-writing: Where do I start?
19. Debugging
20. Tips For Programming the 65(c)02 (sometimes affecting hardware design optimization)
I've been doing this since the late 1980's, and I don't use anything other than what's mentioned there in the debugging chapter.
18. Program-writing: Where do I start?
19. Debugging
20. Tips For Programming the 65(c)02 (sometimes affecting hardware design optimization)
I've been doing this since the late 1980's, and I don't use anything other than what's mentioned there in the debugging chapter.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: 65(C)02 development tools - your thoughts
_________________________________________________________________________
Checkout my 2pass assembler/monitor https://github.com/jdimeglio/6502-Monitor
Checkout my 2pass assembler/monitor https://github.com/jdimeglio/6502-Monitor
Re: 65(C)02 development tools - your thoughts
I suspect I am something of an outlier, but I am very fond of Frank Kingswood's AS65 (https://www.kingswood-consulting.co.uk/ ... index.html).
It's available in Windows and Linux (I use Linux exclusively, with Geany as a text editor), and it uses syntax as close to that of the Avocet assembler I used forty-odd years ago as I can remember. It generates 6502 and 65c02 code though not the 16-bit variants; not a problem for me as I'm strictly eight bit. I don't use a formal debugger but instead tend to include code in my build to allow me to inspect blocks of memory as required (effectively, 'printf' debugging.)
Neil
It's available in Windows and Linux (I use Linux exclusively, with Geany as a text editor), and it uses syntax as close to that of the Avocet assembler I used forty-odd years ago as I can remember. It generates 6502 and 65c02 code though not the 16-bit variants; not a problem for me as I'm strictly eight bit. I don't use a formal debugger but instead tend to include code in my build to allow me to inspect blocks of memory as required (effectively, 'printf' debugging.)
Neil
Re: 65(C)02 development tools - your thoughts
I once tried to help with the endless debate: see
Terminology: Simulator vs. Emulator
In practical terms, either word will do the job and although any one person might hold strong opinions about the difference, two people might well disagree with their strong opinions. And believe me, they won't convince each other.
You'll find that the Kowalski simulator is so-named by its author, and the visual6502 simulator likewise, for different reasons. Almost every other case calls itself an emulator: hence VICE, MAME, MESS and so on.
What you'll also find is that there's no practical ambiguity, and everyone understands each others usage.
Terminology: Simulator vs. Emulator
In practical terms, either word will do the job and although any one person might hold strong opinions about the difference, two people might well disagree with their strong opinions. And believe me, they won't convince each other.
You'll find that the Kowalski simulator is so-named by its author, and the visual6502 simulator likewise, for different reasons. Almost every other case calls itself an emulator: hence VICE, MAME, MESS and so on.
What you'll also find is that there's no practical ambiguity, and everyone understands each others usage.
Re: 65(C)02 development tools - your thoughts
In terms of tool usage, pick something which suits your preference - your platform, your preference for GUI or CLI, your debugging needs, compatibility with others who program for the same platform. You might care about your ability to tweak the sources to adjust the tool you chose, in which case you might care about the implementation language, whether it's compiled or interpreted, perhaps whether it's open source.
You will find that different assemblers have different syntax. That's how it is, and in practice it's barely an inconvenience. Not worth arguing about.
You will find that different assemblers have different syntax. That's how it is, and in practice it's barely an inconvenience. Not worth arguing about.
Re: 65(C)02 development tools - your thoughts
Firefox6502 wrote:
I'm currently looking into the ca65 assembler (from cc65), but I would like to try others also.
http://theweb.dk/KickAssembler////Main.html#frontpage
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: 65(C)02 development tools - your thoughts
When I was on facebook (which I got off of a few years ago, and canceled my account), I was on a couple of 6502 groups (in fact, was a moderator), and I kept seeing things about the kick assembler. I never used it; but from all I kept reading, it seemed to be an excellent assembler with excellent support and was being actively maintained and improved.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: 65(C)02 development tools - your thoughts
Firefox6502 wrote:
My daily driver is Linux. But I also use Windows in a virtual machine (KVM/Qemu/libvirt). So I'd be happy to use 65(C)02 development tools in either OS.
Quote:
I'm currently looking into the ca65 assembler (from cc65), but I would like to try others also.
When I got back into the 6502 some years back (my own 40th anniversary of touching the 6502 was in 2018) I did look at the Symon emulator - it's all in Java, so ought to be reasonably cross platform and it did work well under Linux, but I had working hardware in a day or 2 so switched to that from then on.
-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Re: 65(C)02 development tools - your thoughts
I've been using VASM http://www.compilers.de/vasm.html because, like many, I got my 6502 assembler start by following along with a Ben Eater video. It seems like a good choice for a beginner. The cc65 tools seem more powerful, but also more complicated to use.
"The key is not to let the hardware sense any fear." - Radical Brad
Re: 65(C)02 development tools - your thoughts
Paganini wrote:
I've been using VASM http://www.compilers.de/vasm.html because, like many, I got my 6502 assembler start by following along with a Ben Eater video. It seems like a good choice for a beginner. The cc65 tools seem more powerful, but also more complicated to use.
Re: 65(C)02 development tools - your thoughts
I'm on Linux almost exclusively. My tool of choice is xa65, but I may be biased (I initially wrote it
)
xa65 is actually included in some Linux distributions (although not in the newest version)
André
xa65 is actually included in some Linux distributions (although not in the newest version)
André
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/
Re: 65(C)02 development tools - your thoughts
Code: Select all
barnacle@barnacle-Latitude-7480:~$ xa65
Command 'xa65' not found, did you mean:
command 'da65' from deb cc65 (2.19-1)
command 'x265' from deb x265 (3.5-2)
command 'ca65' from deb cc65 (2.19-1)
Try: sudo apt install <deb name>
barnacle@barnacle-Latitude-7480:~$Code: Select all
The following NEW packages will be installed
xa65
0 to upgrade, 1 to newly install, 0 to remove and 5 not to upgrade.
Need to get 103 kB of archives.
After this operation, 259 kB of additional disk space will be used.
...
Unpacking xa65 (2.3.12-0.1) ...
Setting up xa65 (2.3.12-0.1) ...
...
Neil
Re: 65(C)02 development tools - your thoughts
The actual command is 'xa'
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/
Re: 65(C)02 development tools - your thoughts
Well how about that? 
I'll give it a try when I have a bit of time to hand.
Neil
I'll give it a try when I have a bit of time to hand.
Neil