6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Wed May 08, 2024 11:01 pm

All times are UTC




Post new topic Reply to topic  [ 15 posts ] 
Author Message
PostPosted: Thu Mar 21, 2024 2:45 am 
Offline
User avatar

Joined: Mon Feb 01, 2021 1:07 am
Posts: 44
Location: Sydney, Australia
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

_________________
Greetings Professor Falken.


Top
 Profile  
Reply with quote  
PostPosted: Thu Mar 21, 2024 3:10 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8432
Location: Southern California
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.

_________________
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?


Top
 Profile  
Reply with quote  
PostPosted: Thu Mar 21, 2024 3:40 am 
Offline
User avatar

Joined: Wed Nov 11, 2020 3:33 am
Posts: 22
Location: Sydney
:D Nice..

_________________
_________________________________________________________________________
Checkout my 2pass assembler/monitor https://github.com/jdimeglio/6502-Monitor


Top
 Profile  
Reply with quote  
PostPosted: Thu Mar 21, 2024 6:15 am 
Offline

Joined: Mon Jan 19, 2004 12:49 pm
Posts: 683
Location: Potsdam, DE
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


Top
 Profile  
Reply with quote  
PostPosted: Thu Mar 21, 2024 7:44 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10800
Location: England
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.


Top
 Profile  
Reply with quote  
PostPosted: Thu Mar 21, 2024 7:45 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10800
Location: England
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.


Top
 Profile  
Reply with quote  
PostPosted: Sat May 04, 2024 8:59 pm 
Offline

Joined: Wed Nov 16, 2011 9:39 am
Posts: 25
Firefox6502 wrote:
I'm currently looking into the ca65 assembler (from cc65), but I would like to try others also.


I am using Kick Assembler for all my 6502 coding and can wholeheartedly recommend it. It's aimed towards Commodore 64 (6510) development but it has 65C02 instruction support as well. It also has a wonderful scripting language for pre-calculating tables, converting data on the fly etc that would otherwise require one to run e.g. Python scripts before assembly.

http://theweb.dk/KickAssembler////Main.html#frontpage


Top
 Profile  
Reply with quote  
PostPosted: Sat May 04, 2024 9:43 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8432
Location: Southern California
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?


Top
 Profile  
Reply with quote  
PostPosted: Sun May 05, 2024 5:55 am 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1405
Location: Scotland
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.


Another Linux user here - I do have an old XP Laptop for the G540 programmer, but that'll change when I buy my next one as I know it'll program the things I need (GALs) under Linux...

Quote:
I'm currently looking into the ca65 assembler (from cc65), but I would like to try others also.


That's my "daily driver" for 6502, C02 and '816 code. It lets me maintain files in the same way I'd maintain them for any other programming project under Linux (C or assembler for various CPUs) and I have all the standard unix tools at my fingertips (find, grep, etc.)

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/


Top
 Profile  
Reply with quote  
PostPosted: Sun May 05, 2024 3:57 pm 
Online

Joined: Fri Mar 18, 2022 6:33 pm
Posts: 442
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


Top
 Profile  
Reply with quote  
PostPosted: Sun May 05, 2024 8:40 pm 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 142
Location: Texas
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.


I actually had a lot of trouble getting VASM to work correctly. I initially used the WLA assembler, but I've been using ca65 lately.


Top
 Profile  
Reply with quote  
PostPosted: Mon May 06, 2024 11:22 am 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 993
Location: near Heidelberg, Germany
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é

_________________
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/


Top
 Profile  
Reply with quote  
PostPosted: Mon May 06, 2024 3:53 pm 
Offline

Joined: Mon Jan 19, 2004 12:49 pm
Posts: 683
Location: Potsdam, DE
Code:
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:
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) ...
...

And yet... it still says it doesn't exist. Curious... (Mint Cinnamon)

Neil


Top
 Profile  
Reply with quote  
PostPosted: Mon May 06, 2024 4:00 pm 
Offline

Joined: Tue Jul 05, 2005 7:08 pm
Posts: 993
Location: near Heidelberg, Germany
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/


Top
 Profile  
Reply with quote  
PostPosted: Mon May 06, 2024 6:34 pm 
Offline

Joined: Mon Jan 19, 2004 12:49 pm
Posts: 683
Location: Potsdam, DE
Well how about that? :D

I'll give it a try when I have a bit of time to hand.

Neil


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 15 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: