After this lesson, can we learn about how to turn program on from scratch with blank screen before we can go on to the next lesson?
No. Like I said, the 18th was basically the end. I don't have time anymore for more lessons. Even assuming I did have time, still no. There's a lot more I'd teach before doing anything at all with the NES. It's not to be mean. It's just not a good idea to try to avoid all the things you don't yet know while trying to build a ROM.
-Do I ALWAYS have to put LDX #$## at the start of each? or Each label always reset if outside of the labels or the BME/BDA labels stuff?
You put # when you want a number, and you don't put # when you want an address. Branches work with addresses, so you don't want a #. I am not sure what you mean by labels resetting.
A : You CANNOT use Register A for absolute effect! [Only X and Y can do it.]
You can totally use A with the absolute addressing mode. There's no such thing as absolute,a like absolute,x or absolute,y if that's what you mean.
-The Absolute Effect [Or The "Compass-Comma" I made it up]
Don't make up terms! And especially don't introduce made up terms before you define them. You used your new term absolute effect in the quote above "You CANNOT use Register A for absolute effect!" but how am I supposed to know what that is when you only defined it below, right here?
For more than 30 years, the already existing terms have been in use. You are creating a barrier for experienced people understanding you when you make up new things.
The numbers in STA 200/1/2 is treated as a file cabinet, and when you did LDA 200,X which is 1, you "basically pull out the file cabinet box, and take the numbers that's stored into Address Code $0201, which is 2." And that result, Register A is now holding number 2?
I don't know why no responses on other things that could help give insights; a lot of teachers in the past is willing to answer different questions that could help out students more. Being there for students even most ridiculous questions [at least in topic] raises confidences, curiosity, and trust....
I said three weeks ago, and a couple times since that I would not have much time for this anymore after September 18th. It is far after September 18th.
This is a horizontal line that can be made a loop.
Code: Select all
As is this:
Code: Select all
Note that it's writing to sequential addresses, it's just backwards. ($03B9 is first.) If you rearrange them like this:
Code: Select all
It should make it more clear that it's a sequence.
Here's the problem; I don't know how It supposed to work with the number from, "IF 0, GOTO LABEL" style. At this knowledge, there is no, "IF #==#, GOTO LABEL" style. When I tried the zero, it painted a lot of things until the X = 0. The only thing I got it good is on the last part of coding.
Because that's how the loops end. With a branch on zero. If you want to check other numbers, yes, you need to learn a new instruction. But you don't need to do so to complete the assignment, or I'd have taught it.
For the purposes of this assignment, If you want to stop at any random address, that's the address you use before the ",x". This works because zero plus anything equals that thing.
zero plus $456 = $456. zero plus $03B9 equals $03B9. You can stop on any address when X equals zero.
So if X is zero, sta $456,x will store the value in A to $456. If X is zero, sta $03B9,x will store the value in A to $03B9.
I'm not gonna get into signed/unsigned stuff that really requires a new lesson and I have much more sporadic time now. Apologies if the next post is in another week.