Hello, new here, and need best recommandations.

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

Post Reply
User avatar
pubby
Posts: 583
Joined: Thu Mar 31, 2016 11:15 am

Re: Hello, new here, and need best recommandations.

Post by pubby »

Do you understand variables, DocWaluigean?

Like in this C# code:

Code: Select all

foo = 5;
bar = 7;
foo = bar;
qux = foo;
What would the values of foo, bar, and qux be after running this?
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

Re: Hello, new here, and need best recommandations.

Post by DocWaluigean »

@Tokumaru:

on the pseudocode, I mean to "assign type of codes into one small word, like "CAKES". The "CAKES" has variables of 1, 2, 3, and 4 of those mentions, like INC CAKES or DEC CAKES. [INCrement / DECrement the number by one inside the CAKES, meaning 0, 1, 2, and 3 now with DEC.]

-

I'm more surprised I got the A X Y common questions right.

-

ooohh, A can increment by more than one, whether adding and multiplying, right? And X and Y only increment by only one, otherwise, same as A, right?

-
The wrong values will go to the wrong variables, decisions will be made based on the wrong conditions, causing the logic you tried to implement to fail.
Indeed, but I mean what would the result show upon? A hilarious glitches, or the decisions would be ignored, or crashes?

-

Before other comments, I feel that's offensive with "think like dumb CPU"...

For the first time, I'm finally starting to understand A X and Y styles, but it's a major progress compare with couple years. Seeing the Instructions references would mean I have a long way to make guides for all. It may take a lot of errors and progresses to finally make it suitable to learn.

I hope I don't miss out any replies. Again..
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Hello, new here, and need best recommandations.

Post by rainwarrior »

DocWaluigean wrote:Indeed, but I mean what would the result show upon? A hilarious glitches, or the decisions would be ignored, or crashes?
The specific result will follow the logic of whatever you actually told it to do.
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

Re: Hello, new here, and need best recommandations.

Post by DocWaluigean »

Kasumi wrote:
Like I said, the other countries like Japan has made coding really fun, and I feel we're really behind if lesser-grammar people can't understand the US style.
I'm curious what makes you think this is true. If you know Japanese enough to understand they make coding fun, then you why not just follow the better, more fun ways to learn? If you don't know Japanese, how are you sure it's any different?
Because there is no sources for 6502 programming tutorials in my taste and acknowledge, and there's no love or fun ways to learn programming languages of 6502 Assembly in English without grammar screw-ups, or mis-translation. If you look about many sites in English (At least from my perspective), there isn't any feelings of effort of love. It's only business writing to make the employees understand how programming concepts work on things "far more better to do than to make inprofitable children's toys." in old days. If I tried to do the fun ways, I'd get the info much worse then I were years ago, and I'm sure as heck be criticized as bad as Joe Cracker for getting many information wrong in case I want to teach the newcomers.

In USA, it's really hard to find the fun styles of learning because of big culture differences. I remember a stories in Japan in Car Industries, they explain even tiniest details of flaws if there's an error, and show and teaches the entire employees about what the tiniest problem is. It takes so much effort and time to even go down to tiniest examples, and they fix it. It's a massive effort of love I value. Imagine doing the same thing to teaching. In USA today[?], it's more struggling to find one person who has that kind of devotions to details and qualities and love, because they only think in themselves or other forms of things inside their mind. I want to help bring those love in and bring it back like Atari. EDIT: not the infamous Video Game Crash stories. I mean the Golden Age of Video Games.
Kasumi wrote:I realize I've mentioned it a dozen times already, but could you please try easy6502? It allows you to just try things and see what happens. Even if you don't even read it, you can still use it to look at exactly what happens with each instruction.
Image
The gif stops showing what happens with the mouse at stx $0704 because I didn't set up the memory viewer to go that far down. Still, it should demonstrate how one can run code instruction by instruction and follow along.

Edit: The reason I keep saying this is because rather than asking about abstract concepts, you can ask about exact behavior. The difference is between
"Does this do what I expect it to do?"
And,
"This doesn't do what I expected it to do, can you help me understand why?"
You're asking about the concepts which isn't exactly a problem, but tools exist to let you play directly with the CPU. Why aren't you trying them? I'm not asking to be snarky. Is there something about the tool you're having trouble with or don't understand?
I'll try soon again. I had the Easy6502, and I disliked the informations they are speaking, and going wrong directions. And after the "Introduction" list, I gave up few days after when it shows no result. All I keep getting is "LDA and STA is a color palette code." years ago.

-----------
Sumez wrote:
DocWaluigean wrote:It's my fault for not replying or read-and-think, and attempting to re-read it. But why is nearly every information has to be written so difficult?
That's one major difference between coding assembly, and coding high level languages.
The high level languages (especially super abstracted stuff like C# and Java) is designed by humans to be read by humans. They are better at making sense at a more straight forward level.

When you are writing machine code, you are talking the computer's language. And when stuff is designed for computers to do it most effectively, it might not always be the straightforward way humans expect. For example, this is why the A register can do a lot of stuff that the X and Y registers can.

Honestly, it's not really that complex, you just need to get into it. Get some hands-on experience. Once you get used to the quirks and limitations, you'll be able to apply human logic to your project. :)
As mush as I would agree with you if I was on everyone's level, things get complex when I put A and 1 and # and other characters together like playing with 3D toys fitting in a hole. The thing is everyone has style of learning abilities that in some cases, it's always omitted during lectures, which result in F in school stuff.

Think about if I was a Math student, and my preferences learning style is Visual learning, like watching cartoons or seeing funny scenes on a book, yet the Math teacher focuses on Read/Write method, which I were to get D- at best for trying hard to learn. That's exactly how it goes or feels to me. [In case your wondering, it's called The VARK Method. one of most important things need to understand before 100% learning levels for all like learning ABC and 123.]

I hope I'm not offending you in anyway. Sorry? If I did, sorry.
Last edited by DocWaluigean on Wed Aug 22, 2018 10:20 am, edited 4 times in total.
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

Re: Hello, new here, and need best recommandations.

Post by DocWaluigean »

pubby wrote:Do you understand variables, DocWaluigean?

Like in this C# code:

Code: Select all

foo = 5;
bar = 7;
foo = bar;
qux = foo;
What would the values of foo, bar, and qux be after running this?
Somewhat consequentially.

The values of those depends. It goes two ways:

foo will be shown as 5. bar will be shown as 7. There's a complete differences between " = " and " == " Either way, it possibly be converted into Boolean Logic and result in false, because 5 does not equal to 7. qux has no value, so by system's potential default, it'll be assign as "0" because it has no value. I forgot in some code cases, it will be 1. So by that idea, it will also be result in false because 0 [1?] does not equal to 5. So its either this...

Code: Select all

5
7
False.
False.
or it will go this...

Code: Select all

5
7
False.
[color=#BF0000][[[Insert Error and Shut Down Comments Here.]]][/color]
----------
rainwarrior wrote:
DocWaluigean wrote:Indeed, but I mean what would the result show upon? A hilarious glitches, or the decisions would be ignored, or crashes?
The specific result will follow the logic of whatever you actually told it to do.
I'll take it as hilarious glitches or crashes. Thanks!
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Hello, new here, and need best recommandations.

Post by Kasumi »

Let's switch up the thinking. Easy6502/Nerdy Nights were written for beginners. Keeping that in mind, they already tried to cover things down to the teeniest tiniest examples. They're not trying to show off or lose you. They're trying to help you.

Now, if you don't understand them, it doesn't mean the tutorials are bad. Indeed, they may just not suit your learning style. But the thing I'm trying to figure out is what kind of lesson are you expecting? In my mind, easy6502 is what you're describing. So how specifically is it failing you? "I disliked the information." Why? "going wrong directions" How? "I gave up few days after when it shows no result." What did you try specifically that got no result?

All you have to do to progress is be specific about what you want, and be specific about what you don't understand. Programming is literally all about being as specific as possible. I can't help you if you don't tell me what the problem is. And I genuinely don't know what the problem is.

All I want is your questions. If I mention easy6502 (lots of times) and then you don't use it and also don't ask about your issues with it, what do you actually want? Some resource that's "better"? I'm not in the business of offering solutions that aren't the best that I know!

I truly believe easy6502 is the best resource for you right now. It's fine if you don't get it, I'm happy to answer questions about it. But if you don't read it, or don't ask questions about what I consider the best resource, what else can I do? If you were me in this situation, trying to help you, what would you do? What do you want?
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

Re: Hello, new here, and need best recommandations.

Post by DocWaluigean »

Kasumi wrote:Let's switch up the thinking. Easy6502/Nerdy Nights were written for beginners. Keeping that in mind, they already tried to cover things down to the teeniest tiniest examples. They're not trying to show off or lose you. They're trying to help you.

Now, if you don't understand them, it doesn't mean the tutorials are bad. Indeed, they may just not suit your learning style. But the thing I'm trying to figure out is what kind of lesson are you expecting? In my mind, easy6502 is what you're describing. So how specifically is it failing you? "I disliked the information." Why? "going wrong directions" How? "I gave up few days after when it shows no result." What did you try specifically that got no result?

All you have to do to progress is be specific about what you want, and be specific about what you don't understand. Programming is literally all about being as specific as possible. I can't help you if you don't tell me what the problem is. And I genuinely don't know what the problem is.

All I want is your questions. If I mention easy6502 (lots of times) and then you don't use it and also don't ask about your issues with it, what do you actually want? Some resource that's "better"? I'm not in the business of offering solutions that aren't the best that I know!

I truly believe easy6502 is the best resource for you right now. It's fine if you don't get it, I'm happy to answer questions about it. But if you don't read it, or don't ask questions about what I consider the best resource, what else can I do? If you were me in this situation, trying to help you, what would you do? What do you want?
THIS is going to take a while for me to think. It'll be edit...

EDIT: It's too much, so I made new one instead.
Last edited by DocWaluigean on Wed Aug 22, 2018 11:37 am, edited 1 time in total.
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

Re: Hello, new here, and need best recommandations.

Post by DocWaluigean »

Kasumi wrote:Let's switch up the thinking. Easy6502/Nerdy Nights were written for beginners. Keeping that in mind, they already tried to cover things down to the teeniest tiniest examples. They're not trying to show off or lose you. They're trying to help you.

Now, if you don't understand them, it doesn't mean the tutorials are bad. Indeed, they may just not suit your learning style. But the thing I'm trying to figure out is what kind of lesson are you expecting? In my mind, easy6502 is what you're describing. So how specifically is it failing you? "I disliked the information." Why? "going wrong directions" How? "I gave up few days after when it shows no result." What did you try specifically that got no result?

All you have to do to progress is be specific about what you want, and be specific about what you don't understand. Programming is literally all about being as specific as possible. I can't help you if you don't tell me what the problem is. And I genuinely don't know what the problem is.

All I want is your questions. If I mention easy6502 (lots of times) and then you don't use it and also don't ask about your issues with it, what do you actually want? Some resource that's "better"? I'm not in the business of offering solutions that aren't the best that I know!

I truly believe easy6502 is the best resource for you right now. It's fine if you don't get it, I'm happy to answer questions about it. But if you don't read it, or don't ask questions about what I consider the best resource, what else can I do? If you were me in this situation, trying to help you, what would you do? What do you want?
*** Response ***
I am absolutely unsure how to explain it, so I may skip something because I feel I know I might repeat myself on same topic if I don't skip, and gives out hints.

If I were you, I would try to find someone who I hope I can successfully convince, like Shiru, Dahrkdaiz, etc. to tutor me, while recording those entire lectures, I will give details on "What Binary means to this?" "What is the usefulness of it?" "Is there much more examples?" or anything to help keep interests in. I would mention memorable parts of how one code impacts so big, like giving good examples of one or more codes usages inside the Kirby's Adventure, while showing the dramatic cut-scenes between Kirby and Sphere-Nnightmare. ANYTHING to help give them ideas. Even draw pictures or draw sprites of examples, like picture of Mario jumping using "JMP", and "If JMP = 0" Mario would not jump anymore, and shows him crying he can't jump. "If JMP = 255 [tHE LIMIT]", Mario jumps way too far into the moon.
Sounds really fun, but the important thing is how details this kind of code explanation can help children, teens, autism, even me, learn much more efficient than BunnyBoy. Every examples, even comparing one code to another, will be taught, and hopefully be able to understand.
Think yourself in Kindergarten, but there's no toys, rabbits or rainbows, etc... And learning isn't fun. It's written on piece of paper, with no pictures, just word that mentally just said, "Write me the answer. If you don't know, you fail." No sing songs, no cartoons that learn ABCs, Histories, etc. Just pure serious as adult work inside a cubical office.

It's depressing for the soul in youth. That's how I kind of feel when trying to learn to code long time ago. I don't ever want any other people go into my shoes and struggle and "find it boring" and give up too easily.

My questions about Easy6502:

What else can you do? Tutor me? Because 99% in this community will say no. 1% is a glimmering hope that's too hard to get.

What do I want? To master 6502 atm so I can make cartoons / comic / better than Bunnyboy in making 6502 programming so understandable, I hoped it will be in NESDev News when they mention with proof that a 9 year old girl has made one of the most quality game on NES.

What would I do? I think I mention this above.

What kind of lesson?

Imagine everything of 6502 assembly being taught in Codecademy. Where they give you pointers on first thing of "Hello World!" of each by each code on what it does. here it gives MANY examples on how each by each opcodes work. What examples in lovable or popular games used while demonstrating code performances. Shiru's game is the only game I know that's open sourced, and potentially can be used, but it's out of topic.

-------

How specifically? I'm re-reading it right now:

-The first conversation in this is "Lol Buddy! Yeah, this is the stuff for awesomeness!" talk. It's fine if the tutorial is going to be fun with pictures or stuff, but I looked ahead and it's nothing but words that bore the heck out of me. obviously pure ignorant response, but this is the stuff many people would find learning 6502 boring, which in turn, find learning to code not worth it. It's one of reasons why NESMaker is made, and even that didn't satisfied me today. [Maybe future with updates.]
Even if I tried to bypass it, the speaking feels like either I'm wasting my time hearing his conversation about off-topic which might have important info, or it's trying to challenge me to pay attention and read immature responses. [Huuuge no offenses. No vendetta against it, but Easy6502 and Bunnyboy is the most popular responses for all beginners who have trouble thinking normal as all of you, it's starting to give certain people wrong impression that this is elitist.]

-I know that this Easy6502 is for universal uses like Macintosh and older Apple products and Atari, but like I said, it's one of very popular choice for beginners, so why isn't there an NES CPU addresses explanation over the Easy6502 in favor for NESDev communities?

- SP is the stack pointer. I won’t get into the stack yet, but basically this register is decremented every time a byte is pushed onto the stack, and incremented when a byte is popped off the stack.
Terribly poor choice of words for this. You can't put this info in the middle of beginning and just say you can't get into stack yet.

-The last section shows the processor flags. Each flag is one bit, so all seven flags live in a single byte. The flags are set by the processor to give information about the previous instruction. More on that later. Read more about the registers and flags here.
So what if I don't care about what you said after this, and I want to learn more about registers and flags from you? If I read it from that link you provided me, it will take me to official 6502 guides, which is not what I want because they explained it more complex than how I can understand from you, the maker of EASY6502. I can't even use dictionary to help, because I will get fixated on words I know and words they said!

-Early times, at 2nd level, it shows nothing, and they said the problem about $FF. I re-read it before and it didn't tell me to put the code in. obviously it's on the below of it, but I am still fixated onto the 2nd 6502, and it feels wrong to go to the 3rd level because I didn't understood what it wants. Am I supposed to change the code to see the hidden picture? You can't arrange this. [This is obvious on very wrong post where I could be missing something...]

[This is the point I'm starting to get mad reading Easy6502 about the past. I can't continue more. I said earlier, I'm not like other people who can comprehend more clearer in this stuff.]

-------
All you have to do to progress is be specific about what you want, and be specific about what you don't understand. Programming is literally all about being as specific as possible. I can't help you if you don't tell me what the problem is. And I genuinely don't know what the problem is.
Please, tell me if you understand what I mean with specific after saying what my mind wants.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Hello, new here, and need best recommandations.

Post by tokumaru »

DocWaluigean wrote:A can increment by more than one, whether adding and multiplying, right?
There are a lot of things you can do only with A, such as add, subtract, shift/rotate... but multiplication is something the 6502 doesn't do out if the box at all. If you need multiplication, you'll need to implement a multiplication algorithm using shifting and addition.
And X and Y only increment by only one, otherwise, same as A, right?
They're the same as A in the sense that they all hold 8-bit values and can be loaded and stored, but other than that they're meant for different purposes.
Indeed, but I mean what would the result show upon? A hilarious glitches, or the decisions would be ignored, or crashes?
That's not easy to predict, it will depend on all the code that came before and all the code that'll come after. If you wanted to put 5 in a variable, but ended up putting 10, the consequence of that will depend on what this variable is used for at a later time. It may represent the speed of a character's jump, in which case the character will jump higher than he normally would, or it may be the index of an entry in a jump table, in which case the wrong destination would be jumped to and the program would crash. It's hard to predict all the ramifications of a bug.
Before other comments, I feel that's offensive with "think like dumb CPU"...
Offensive to the CPU? Well, it is a dumb piece of hardware... It can only execute a few commands, and will blindly follow whatever orders you give it. If that's not the definition of dumb, I don't know what is!

The CPU doesn't work anything like a human, so you can't expect it to know what you want it to do based on context, you have to break down each task in tiny little bits that the CPU is capable of handling.

For example, as a grown-up, you can easily understand the command "make a ham sandwich", but a young kid may not know how to do that, so you'll have to break that task in smaller tasks that the kid does know how to do. You may have to go "take a slice of bread", "put it on the plate", "take a slice of ham", "put it on the bread", and so on, until the whole sandwich is done. Working with the 6502 is the same thing: it only "knows" how to do a handful of things, so whenever you need to do something more complicated than it can handle, you have to break it down into smaller tasks that it can do.
User avatar
pubby
Posts: 583
Joined: Thu Mar 31, 2016 11:15 am

Re: Hello, new here, and need best recommandations.

Post by pubby »

DocWaluigean wrote:The values of those depends. It goes two ways:

foo will be shown as 5. bar will be shown as 7. There's a complete differences between " = " and " == " Either way, it possibly be converted into Boolean Logic and result in false, because 5 does not equal to 7. qux has no value, so by system's potential default, it'll be assign as "0" because it has no value. I forgot in some code cases, it will be 1. So by that idea, it will also be result in false because 0 [1?] does not equal to 5. So its either this...
Sorry dude but that's incorrect. All variables end up equal to 7.

I really think you should learn more programming before diving into the 6502. Get to the point where you can write actual programs that do useful things. The skills will transfer.

Right now, all of this is flying over your head because of fundamental misunderstandings. Registers, for example, are really similar to variables. If you don't understand variables, you're not going to understand registers. And it's easier to learn variables in an easy to use language, like C#.

Best of luck.
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

Re: Hello, new here, and need best recommandations.

Post by DocWaluigean »

tokumaru wrote:
DocWaluigean wrote:A can increment by more than one, whether adding and multiplying, right?
There are a lot of things you can do only with A, such as add, subtract, shift/rotate... but multiplication is something the 6502 doesn't do out if the box at all. If you need multiplication, you'll need to implement a multiplication algorithm using shifting and addition.
And X and Y only increment by only one, otherwise, same as A, right?
They're the same as A in the sense that they all hold 8-bit values and can be loaded and stored, but other than that they're meant for different purposes.
Indeed, but I mean what would the result show upon? A hilarious glitches, or the decisions would be ignored, or crashes?
That's not easy to predict, it will depend on all the code that came before and all the code that'll come after. If you wanted to put 5 in a variable, but ended up putting 10, the consequence of that will depend on what this variable is used for at a later time. It may represent the speed of a character's jump, in which case the character will jump higher than he normally would, or it may be the index of an entry in a jump table, in which case the wrong destination would be jumped to and the program would crash. It's hard to predict all the ramifications of a bug.
Before other comments, I feel that's offensive with "think like dumb CPU"...
Offensive to the CPU? Well, it is a dumb piece of hardware... It can only execute a few commands, and will blindly follow whatever orders you give it. If that's not the definition of dumb, I don't know what is!

The CPU doesn't work anything like a human, so you can't expect it to know what you want it to do based on context, you have to break down each task in tiny little bits that the CPU is capable of handling.

For example, as a grown-up, you can easily understand the command "make a ham sandwich", but a young kid may not know how to do that, so you'll have to break that task in smaller tasks that the kid does know how to do. You may have to go "take a slice of bread", "put it on the plate", "take a slice of ham", "put it on the bread", and so on, until the whole sandwich is done. Working with the 6502 is the same thing: it only "knows" how to do a handful of things, so whenever you need to do something more complicated than it can handle, you have to break it down into smaller tasks that it can do.
oh, I think I understand what you mean.

---
pubby wrote:
DocWaluigean wrote:The values of those depends. It goes two ways:

foo will be shown as 5. bar will be shown as 7. There's a complete differences between " = " and " == " Either way, it possibly be converted into Boolean Logic and result in false, because 5 does not equal to 7. qux has no value, so by system's potential default, it'll be assign as "0" because it has no value. I forgot in some code cases, it will be 1. So by that idea, it will also be result in false because 0 [1?] does not equal to 5. So its either this...
Sorry dude but that's incorrect. All variables end up equal to 7.

I really think you should learn more programming before diving into the 6502. Get to the point where you can write actual programs that do useful things. The skills will transfer.

Right now, all of this is flying over your head because of fundamental misunderstandings. Registers, for example, are really similar to variables. If you don't understand variables, you're not going to understand registers. And it's easier to learn variables in an easy to use language, like C#.

Best of luck.
?

This stuff I'm talking about is from BASIC programming languages.
User avatar
koitsu
Posts: 4201
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: Hello, new here, and need best recommandations.

Post by koitsu »

DocWaluigean wrote:This stuff I'm talking about is from BASIC programming languages.
The PL (programming language) was stated as C# in pubby's example. Let's circle back to the actual question: viewtopic.php?p=223961#p223961

Q:

Code: Select all

foo = 5;
bar = 7;
foo = bar;
qux = foo;
What would the values of foo, bar, and qux be after running this?
A:
Somewhat consequentially.

The values of those depends. It goes two ways:

foo will be shown as 5. bar will be shown as 7. There's a complete differences between " = " and " == " Either way, it possibly be converted into Boolean Logic and result in false, because 5 does not equal to 7. qux has no value, so by system's potential default, it'll be assign as "0" because it has no value. I forgot in some code cases, it will be 1. So by that idea, it will also be result in false because 0 [1?] does not equal to 5. So its either this...
This is incorrect, as pubby stated. Regardless of the PL. Here's how it works, in linear order at runtime:

foo is assigned a value of 5.
bar is assigned a value of 7.
foo is assigned a value of what bar contains at that time, i.e. 7.
qux is assigned a value of what foo contains at that time, i.e. 7.

All the operators used are =, i.e. assignment.

I understand what you're starting to get at, re: BASIC. You're talking about how in BASIC, = is also a comparison operator. However, that's only true in situations where comparison statements are being used, i.e. IF ... THEN. There are no conditionals in the above code. It's all 100% assignment. If you took his C# code and turned it into Applesoft BASIC (what I'm familiar with), it would be this:

Code: Select all

FOO = 5
BAR = 7
FOO = BAR
QUX = FOO
For the code given, that's it. There is no "potential default", "assign to 0" or "no value", nor "some cases it will be 1". These are assignments, not comparisons. I think your brain might have been thinking this (in BASIC):

Code: Select all

FOO = 5
BAR = 7
IF FOO = BAR THEN ...
IF QUX = FOO THEN ...
...which is not the case.

It's really pretty simple: you can think of 6502 registers as variables which can only hold values ranging from 0 to 255. The 6502 code that's equivalent to the above would be:

Code: Select all

foo = $00  ; Memory location $00
bar = $01  ; Memory location $01
qux = $02  ; Memory location $02

lda #5
sta foo   ; foo = 5
lda #7
sta bar   ; bar = 7
lda bar
sta foo   ; foo = bar
lda foo
sta qux   ; qux = foo
Finally: Easy6502 is mentioned because it provides a really easy way, via a web page, for someone to write 6502 code and "understand" it, with a way of doing visuals to indicate results. Its debugger is a bit "meh, I agree, but that's where the "coloured dots on the screen" aspect comes in handy. For truth statements (ex. "is bar == 7?"), you can for example say "if false, draw a blue dot. if true, draw red dot". Then you know what's true/false. A good debugger can make this possible too, but Easy6502 doesn't have that.

P.S. -- And I meant this with utmost respect (I myself do English/Chinese/little Korean/little Swedish): I get the impression there's a language barrier here. Am I wrong? If English isn't your native tongue, then what is? We have TONS of multi-lingual folks here (examples: Portuguese, Spanish, French, German, Swedish, Danish, Finnish, Dutch, Japanese, Chinese, and some Russian) who can help.
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

Re: Hello, new here, and need best recommandations.

Post by DocWaluigean »

koitsu wrote: Finally: Easy6502 is mentioned because it provides a really easy way, via a web page, for someone to write 6502 code and "understand" it, with a way of doing visuals to indicate results. Its debugger is a bit "meh, I agree, but that's where the "coloured dots on the screen" aspect comes in handy. For truth statements (ex. "is bar == 7?"), you can for example say "if false, draw a blue dot. if true, draw red dot". Then you know what's true/false. A good debugger can make this possible too, but Easy6502 doesn't have that.

P.S. -- And I meant this with utmost respect (I myself do English/Chinese/little Korean/little Swedish): I get the impression there's a language barrier here. Am I wrong? If English isn't your native tongue, then what is? We have TONS of multi-lingual folks here (examples: Portuguese, Spanish, French, German, Swedish, Danish, Finnish, Dutch, Japanese, Chinese, and some Russian) who can help.
My native tongue [Language I was born with] is Mexican Spanish... but I speak primarily with English most of my life. Personal issue-wise, I'm not really good with English, same thing with Spanish. Able to speak fluent English doesn't mean I know English grammar completely well... My forms of communication is very complex. I could draw every picture, and it could make more sense than what I'm talking right now...

I want to reply on the Easy6502, but I am not sure what to explain... even the BASIC != C#...
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Hello, new here, and need best recommandations.

Post by Kasumi »

If I were you, I would try to find someone who I hope I can successfully convince, like Shiru, Dahrkdaiz, etc. to tutor me,
Why do you think this will go differently? What I mean by that is, if I were to tutor you, I would be telling you to do exactly what I'm telling you to do in this thread. You'd be putting things into easy6502's debugger. The only difference would be you could get answers to questions immediately.

But you've gotten answers to questions on this thread pretty immediately when you've asked them too.

I understand your complaints about easy6502's tutorial. (Which... I didn't write? I'm not sure if you think I wrote easy6502.)

But ignoring that. Honestly, here is my ideal situation: That you are able to run 6502 code, on your own, and see exactly what happens. Here are the steps to do that:
Go the website: https://skilldrick.github.io/easy6502
Ignore all the text on it. Find one of the debugger windows. Do the following:
Delete all existing text in it.
Type

Code: Select all

lda #$01
sta $08
lda #$02
sta $0200
lda #$01
sta $05FF
Check "Monitor"
Click "Assemble".
Check "Debugger"
Click Run.

Tell me what happens in the black box in the right.
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

Re: Hello, new here, and need best recommandations.

Post by DocWaluigean »

Kasumi wrote:
If I were you, I would try to find someone who I hope I can successfully convince, like Shiru, Dahrkdaiz, etc. to tutor me,
Why do you think this will go differently? What I mean by that is, if I were to tutor you, I would be telling you to do exactly what I'm telling you to do in this thread. You'd be putting things into easy6502's debugger. The only difference would be you could get answers to questions immediately.

But you've gotten answers to questions on this thread pretty immediately when you've asked them too.

I understand your complaints about easy6502's tutorial. (Which... I didn't write? I'm not sure if you think I wrote easy6502.)

But ignoring that. Honestly, here is my ideal situation: That you are able to run 6502 code, on your own, and see exactly what happens. Here are the steps to do that:
Go the website: https://skilldrick.github.io/easy6502
Ignore all the text on it. Find one of the debugger windows. Do the following:
Delete all existing text in it.
Type

Code: Select all

lda #$01
sta $08
lda #$02
sta $0200
lda #$01
sta $05FF
Check "Monitor"
Click "Assemble".
Check "Debugger"
Click Run.

Tell me what happens in the black box in the right.
There is a white dot all the way down and right.

Code: Select all

0000: 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d3 
Post Reply