Remix.run Logo
asdefghyk 4 hours ago

The answer would depend on what programming experience you have? Do you have any assembly language experience ? with other targets? ie have you used an assembler ( and maybe linker ) before. Are you familiar with hex? bytes, bits etc , You will learn this and much more ...

Id look for a book that targets Assembly programming on a Apple 2, ie not a book on general 6502 programming.

   Such a book Id expect to discuss things like Apple 2 memory map , Apple 2 hardware and how they are used in assembler language. 
Hopefully the book would also provide guidance using a particular assembler ( hopefully still available)

I googled phrase Apple 2 assembly language programming for beginners?

and lots of very good looking links popped up.

You aim is a challenging task. Much to learn. Good luck. However entirely do able these days.

My background is electronics engineer, embedded programing on in assembler (some Motorola processors and others) and C for a few years before moving on to other things ....

The book Assembly Lines: The Complete Book available as a FREE PDF download from .... site https://ct6502.org/product/assembly-lines-the-complete-book/

INCLUDES All 33 of Roger Wagner’s Assembly Lines articles from Softalk magazine, plus appendices, in one complete volume.

abkt 4 hours ago | parent [-]

I have litteraly no programming experience, that's partly why I want to learn 6502 Assembly.

zabzonk 3 hours ago | parent [-]

Much easier to start with BASIC. After all, why not?

Joel_Mckay 3 hours ago | parent [-]

I respectfully disagree, BASIC/Java/Arduino hides too much about how the CPU works from users.

Getting a 6502 kit from Ben Eater, and walking though how the CPU works will implicitly show how languages abstracted away whats actually happening. And more importantly, the skills necessary to understand how to write efficient programs.

https://www.youtube.com/watch?v=LnzuMJLZRdU&list=PLowKtXNTBy...

https://eater.net/6502

Starting with a simple architecture is highly recommended. =3

20wenty 2 hours ago | parent | next [-]

I second this -- I just found the Ben Eater series a month or so ago and put together his computer clock over the holidays. It really helps you understand clock cycles, logic chips, etc, and is a good foundation for the 6502 kit you build later in the course. And learning Assembly before BASIC is the right learning path IMO, if only to understand how CPU registers work at the electron level.

zabzonk 3 hours ago | parent | prev [-]

Starting with the 6502 is going to bring you up hard against its addressing modes. Better IMHO to learn about memory and how to access it using arrays in BASIC first.

Tor3 2 hours ago | parent | next [-]

My opinion differs - learning how memory is accessed via assembly language will make it super easy to understand e.g. how C pointers actually work, something which can be surprisingly difficult for those who go directly to a high level (compared to assembly) language, but very easy if you come from machine code/assembly.

Joel_Mckay 2 hours ago | parent | prev [-]

Depends on learning goals, as BASIC teaches people some really bad habits.

They say "one always ends up coding in whatever your first language was... regardless of what language you are using".

People could always bring up the BASIC software Rom at the end of the build if interest arises after learning how a simple computer works. =3

https://github.com/chelsea6502/BeebEater