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

DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

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

Post by DocWaluigean »

Kasumi wrote:
What do you mean? or why? You didn't told me we had to re-write or replace LDA with LDX.
I didn't tell you you had to replace LDA with LDX because you didn't have to do that. The code did it to itself.

I told you that in easy6502, your code starts at address $0600. This means the first opcode of the first instruction is at $0600. The code I gave you writes to $0600 which changes what the first instruction is. Does that make sense?
Or you never told me I need to disassemble...
You didn't need to disassemble, but I'm very glad you found that resource without me directing you to it. What I was hoping for is that you'd make the connection that since your code starts at $0600 and the program writes to $0600, that that might change the code. I left a bunch of hints about it in the post.

Anyway. Does it make sense now? Even if not, I guess I'm cool with it. Not every example is gonna land. If you wanna get back to branching, give me the address of all of these instructions, and tell me how you found those addresses.

Code: Select all

lda #$00
sta $0201
tay
lda $0200
Knowing the purpose of the PC should help.
If I want to know everything, I can't risk skipping branching..........I told a lot to myself about how bad and/or difficult the 6502 lectures could be...and I do not want to fail and lie to myself that I ignore and refuse to help and skip... Would I even respect myself if I skip even tiny lessons about it after I said how I keep struggling to learn? it happens to everyone on everything in any time, and the potentials become decayed or destroyed. I do never want it happen to here...
I am not racist, yet potentially, I could be delusional, but if the whole people in Japan accept skipping and refusal to keep going and understanding even tiniest problems, what qualities of life and inventions would we be missing out, or worse, never come true?

Is there another example about branching................?
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

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

Post by Kasumi »

Just to note something: From now on, I'm going to be writing way less. I'm gonna take advantage of the format of having you reply. Why risk writing a long document when I can just write parts at a time and immediately course correct for understanding?

So, remember that literally all the Program Counter does is keep track of the address of the next instruction to run. The "Step" button in easy6502 runs exactly one instruction. With these two pieces of knowledge, that assignment should be complete-able.

(Seriously, though, does how the code ends up getting changed make sense after the post you just quoted? "No," is an acceptable answer but I did ask because I actually wanted to know.)
Is there another example about branching................?
Probably not! I'll probably give you the old examples and the old assignments again once I'm sure you understand about the PC and labels. We're not skipping branching. We're handling the prerequisite knowledge for branching.
Last edited by Kasumi on Sun Sep 09, 2018 10:23 pm, 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:Just to note something: From now on, I'm going to be writing way less. I'm gonna take advantage of the format of having you reply. Why risk writing a long document when I can just write parts at a time and immediately course correct for understanding?

So, remember that literally all the Program Counter does it keep track of the address of the next instruction to run. The "Step" button in easy6502 runs exactly one instruction. With these two pieces of knowledge, that assignment should be complete-able.

(Seriously, though, does how the code ends up getting changed make sense after the post you just quoted? "No," is an acceptable answer but I did ask because I actually wanted to know.)
Is there another example about branching................?
Probably not! I'll probably give you the old examples and the old assignments again once I'm sure you understand about the PC and labels. We're not skipping branching. We're handling the prerequisite knowledge for branching.
No on the code changed making sense...

I don't like change, but we'll see if this less-write format would help more effectively than long-write like before.

Maybe I have to start drawing and show-and-tell to give examples of what I think or HOW it works. Like the quote I show:
83687ea12f0290b392644e7ae37d1b8a.jpg
index.jpg
index.jpg (7.34 KiB) Viewed 2857 times
...not sure if off-topic, but this would help encourage me to try to do different explanation in the future...
unregistered
Posts: 1318
Joined: Thu Apr 23, 2009 11:21 pm
Location: cypress, texas

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

Post by unregistered »

DocWaluigean wrote:
unregistered wrote:
Kasumi wrote:You can see how long each version of each instruction will be in the documentation: http://www.obelisk.me.uk/6502/reference.html#LDA
DocWaluigean, if you are scared by that site's design cause of its all-text-and-thin-table-lines ilk, than you share that fear with me. After finding the creator of the 6502 (MOS Technology)'s 6502 programming manual and printing out its Appendices it made finding the length of each instruction more fun for me.
starting at pdf page 204, I think, is where the MOS Technology helpful, to me at least, info starts. :)
That's very kind, Unregistered. But It's more of how awfully dull it looks. There is no legend or meaning when looking through it. It's like looking at a map of California, but there's no bus, restaurant, city, etc. It's no soul or heart into trying to teach everyone who DEEPLY want to learn how to program 6502.
I mean sure, this IS advanced, and it's expected to give a sense of "low point of motivations" where 99% of beginners decide to quit, and stuff. But I don't ever want to be like those.

If I were to read it again, I maaay give different replies, but I don't ever want to offend anyone. :oops:
You aren't offending me. :) There is a "legend" of sorts on page 204. It describes the meanings of each of the characters/symbols used in that Appendix. Obviously, it's not a detailed explanation; but, it was enough to make me have fun learning how to use that Appendix. When Kasumi, or someone else, talks about the high bytes, for instance, it was really fun and helpful for me to go to page 204, read the line where MOS Technology gives a symbol for "high byte", and then look through that Appendix to see how MOS Technology uses that symbol. It's not instantly useable, but the journey learning how that Appendix works was very fun for me. :) And, it's a super helpful Appendix so I recommend it to you.

p.s. I didn't mention that the inclusion of lots of whitespace by MOS Technology is what makes their Appendix much better, for me, than the link Kasumi provided.
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

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

Post by DocWaluigean »

unregistered wrote:You aren't offending me. :) There is a "legend" of sorts on page 204. It describes the meanings of each of the characters/symbols used in that Appendix. Obviously, it's not a detailed explanation; but, it was enough to make me have fun learning how to use that Appendix. When Kasumi, or someone else, talks about the high bytes, for instance, it was really fun and helpful for me to go to page 204, read the line where MOS Technology gives a symbol for "high byte", and then look through that Appendix to see how MOS Technology uses that symbol. It's not instantly useable, but the journey learning how that Appendix works was very fun for me. :) And, it's a super helpful Appendix so I recommend it to you.

p.s. I didn't mention that the inclusion of lots of whitespace by MOS Technology is what makes their Appendix much better, for me, than the link Kasumi provided.
Hmmm... you may have a point... but remember that I don't know completely on 6502 Assembly.

Also, reading an old code from decades past, on the timeline where C++ rules all just feels like insult and waste of time... I admit it's my ignorances about the fact that even people like you can read more better and more concentrated than I am, but like I said earlier, the fact that I understood BASIC, C# increasingly, Java, yet I can't understand 6502, just means something is wrong with lectures before I came here, and something is wrong with myself, Unregistered.

So soon for the lesson, I'll try to draw as alternative of my answers or explanations if I couldn't explain well about it. Thanks for the MOS guideline, though!
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

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

Post by DocWaluigean »

(Cough cough?)
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

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

Post by Kasumi »

I gave an assignment. You did not complete, nor ask questions about the assignment. What should I say?
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

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

Post by DocWaluigean »

Kasumi wrote:I gave an assignment. You did not complete, nor ask questions about the assignment. What should I say?
Wait what??? The assignment??? Where was it???
Kasumi wrote:Just to note something: From now on, I'm going to be writing way less. I'm gonna take advantage of the format of having you reply. Why risk writing a long document when I can just write parts at a time and immediately course correct for understanding?

So, remember that literally all the Program Counter does is keep track of the address of the next instruction to run. The "Step" button in easy6502 runs exactly one instruction. With these two pieces of knowledge, that assignment should be complete-able.

(Seriously, though, does how the code ends up getting changed make sense after the post you just quoted? "No," is an acceptable answer but I did ask because I actually wanted to know.)
Is there another example about branching................?
Probably not! I'll probably give you the old examples and the old assignments again once I'm sure you understand about the PC and labels. We're not skipping branching. We're handling the prerequisite knowledge for branching.
This was the last reply. I didn't see any assignment? :?: :?: :?: :?: :?: I thought you were making a big assignment for days about the next one?????
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

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

Post by DocWaluigean »

Kasumi wrote:
What do you mean? or why? You didn't told me we had to re-write or replace LDA with LDX.
I didn't tell you you had to replace LDA with LDX because you didn't have to do that. The code did it to itself.

I told you that in easy6502, your code starts at address $0600. This means the first opcode of the first instruction is at $0600. The code I gave you writes to $0600 which changes what the first instruction is. Does that make sense?
Or you never told me I need to disassemble...
You didn't need to disassemble, but I'm very glad you found that resource without me directing you to it. What I was hoping for is that you'd make the connection that since your code starts at $0600 and the program writes to $0600, that that might change the code. I left a bunch of hints about it in the post.

Anyway. Does it make sense now? Even if not, I guess I'm cool with it so long as you understand about how 6502 deals with addresses. Not every example is gonna land. If you wanna get back to branching, give me the address of all of these instructions, and tell me how you found those addresses. Edit: I guess I should say, assume the first one starts at $0600.

Code: Select all

lda #$00
sta $0201
tay
lda $0200
Knowing the purpose of the PC should help.
THIS is the assignment?? I thought it was overview of what we learned while you said bingo??? :?: :?:

There is a poor or big miscommunications here, and I'm lost right now.
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

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

Post by Kasumi »

It says, "Give me the address of all these instructions, and tell me how you found these addresses." How could it be overview?
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

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

Post by DocWaluigean »

Kasumi wrote:It says, "Give me the address of all these instructions, and tell me how you found these addresses." How could it be overview?
If you have the same mindset as me, you'd understand about my random or unknown explanations and emotions. T-T And you'd understand struggling in life in my shoes, even forgetting it...

---

I'll see about all instructions you mentioned with address.
DocWaluigean
Posts: 205
Joined: Sun Jun 17, 2018 6:41 pm

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

Post by DocWaluigean »

; PC=$0600

lda #$00 ; Put number 0 into Register A.

; PC=$0602

sta $0201 ; Place number 0 into Address Code $0201.

; PC=$0605

tay ; Copy-and-Paste number 0 from Register A into Register Y.

; PC=$0606

lda $0200 ; Put numbers contained inside Address Code $0200 into Register A. [WRONG!?]

; PC=$0609
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

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

Post by Kasumi »

DocWaluigean wrote:If you have the same mindset as me, you'd understand about my random or unknown explanations and emotions. T-T And you'd understand struggling in life in my shoes, even forgetting it...
I say this with sympathy, but all I can do is offer content. If the content can't be understood because of a real mental block, I can't realistically help. I don't have the training for it. I understand you're trying really hard, but I don't have infinite time or patience.

I can't do this forever. You've got another week of this. Ideally I'd like to get you to a point where you'll know enough to get past the blocks you've had in other online resources. Let's try to get there. We're going to take very small steps.

I have other things I need the time for. This doesn't mean no more help from nesdev at large, nor does it necessarily mean I won't answer any more questions, but I can't keep providing this level of attention forever.
---
Your answers are correct.

Except it's put the "number" from address $0200 into A, rather than the "numbers". It always is, and always will be just one 8 bit value.

Now it's time for labels again. All a label does is provide a name for the address of whatever byte is below it. So imagine there was a label above all the instructions I gave you.

Code: Select all

label1:
lda #$00
label2:
sta $0201
label3:
tay
label4:
lda $0200
label5:
label1 is now a name for $0600.
label2 is now a name for $0602.
label3 is now a name for $0605.
label4 is now a name for $0606.
label5 is now a name for $0609.

As you can see, it matches what the Program Counter was when the 6502 CPU was about to run each instruction.

It's very simple, but just to prove you've got it, tell me what address each of the labels below would be a name for.

Code: Select all

start:
ldx #$FF
afterload:
txa
aftertransfer:
tay
drawpixel:
stx $0200
changecolor:
inx
drawpixel2:
stx $0201
drawpixel3:
sty $0202
Use the format above for your answers.
"start" is now a name for ????
"afterload" is now a name for ???
etc.
unregistered
Posts: 1318
Joined: Thu Apr 23, 2009 11:21 pm
Location: cypress, texas

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

Post by unregistered »

DocWaluigean wrote:
unregistered wrote:You aren't offending me. :) There is a "legend" of sorts on page 204. It describes the meanings of each of the characters/symbols used in that Appendix. Obviously, it's not a detailed explanation; but, it was enough to make me have fun learning how to use that Appendix. When Kasumi, or someone else, talks about the high bytes, for instance, it was really fun and helpful for me to go to page 204, read the line where MOS Technology gives a symbol for "high byte", and then look through that Appendix to see how MOS Technology uses that symbol. It's not instantly useable, but the journey learning how that Appendix works was very fun for me. :) And, it's a super helpful Appendix so I recommend it to you.

p.s. I didn't mention that the inclusion of lots of whitespace by MOS Technology is what makes their Appendix much better, for me, than the link Kasumi provided.
Hmmm... you may have a point... but remember that I don't know completely on 6502 Assembly.
I understand... I did say that that Appendix wouldn't be instantly useable. :)
DocWaluigean wrote:Also, reading an old code from decades past, on the timeline where C++ rules all just feels like insult and waste of time... I admit it's my ignorances about the fact that even people like you can read more better and more concentrated than I am, but like I said earlier, the fact that I understood BASIC, C# increasingly, Java, yet I can't understand 6502, just means something is wrong with lectures before I came here, and something is wrong with myself, Unregistered.
Remember that MOS Technology created the 6502. This is their Appendix and yes, it's an old Appendix... but, it helped me to get more comfortable using concepts like "high byte" and it became so helpful to me after I became familiar with it and learned how to use it. 6502 assembly language requires you to problem solve tremendously. To start assembly problem solving you have to understand basic assembly concepts such as the addresses of instructions that Kasumi is helping you to learn. Assembly language is really powerful though (I explained why in a much earlier post in your thread). Something, at least, is wrong with everyone here... including me. I was diagnosed with Skitzophrenia and my medicine destroyed my brain but, now I'm doing much better!! PRAISE GOD!! :D Never give up and keep applying yourself. :)



edit: lumosity.com really helped and helps my brain. It's a brain training program where you spend money to sign up and then you are able to play all of their brain training games until your subscription expires... renew it just like a magazine subscription. It's run by Lumos Labs and they just added "ity" to the end of "lumos". Pretty cool/creative and that is an easy way to remember the url. :)
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

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

Post by tepples »

Or if you have a Nintendo DS or Nintendo 3DS, you could buy used copies of Brain Age and Big Brain Academy.
Post Reply