It is currently Fri Jul 20, 2018 7:22 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Sun Apr 01, 2018 8:42 pm 
Offline

Joined: Tue Jul 09, 2013 7:13 am
Posts: 61
I am working through the advanced nerdy nights tutorial and I am able to get 2 screens of data scrolling nicely. However when I try and add in 2 more screens I run in to problems. I am pretty sure this is as I am drawing the columns off screen incorrectly as this is what I get. It looks like my code is only drawing the top 2 rows of new data.

Image

The code works in ASM3 but I am using ASM6 so I am assuming I have done something wrong converting it to ASM6. Would anyone be kind enough to take a look at my code?

https://pastebin.com/qWVh7Xgd

Thanks!


Attachments:
scrolling.nes [40.02 KiB]
Downloaded 22 times


Last edited by lazerbeat on Sun Apr 01, 2018 11:13 pm, edited 1 time in total.
Top
 Profile  
 
PostPosted: Sun Apr 01, 2018 9:50 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2155
Location: DIGDUG
I didn't test this, but...lines 289 and 347

LDA sourceLow, y

perhaps you wanted indirect mode

LDA (sourceLow), y

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Sun Apr 01, 2018 11:15 pm 
Offline

Joined: Tue Jul 09, 2013 7:13 am
Posts: 61
Thanks so much that was it! Is (foobar),x in asm6 the same as [foobar],x in ASM3?


Top
 Profile  
 
PostPosted: Sun Apr 01, 2018 11:40 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3435
Location: Mountain View, CA
lazerbeat wrote:
Thanks so much that was it! Is (foobar),x in asm6 the same as [foobar],x in ASM3?

There is no (foobar),x addressing mode in 65xxx series. There is (foobar),y (this is called indirect indexed or sometimes "post-indexed") or (foobar,x) (this is called indexed indirect or sometimes "pre-indexed").

asm6 -- like most 65xxx assemblers -- uses parenthesis (()) for indirect addressing modes. It also uses parenthesis for operator ordering (ex. ((2+3)*4)); the assembler's parser is intelligent enough to know what you mean. NESASM chooses to use brackets ([]) to specify indirect addressing.

While I'm here: please stop saying "ASM3". You mean to say NESASM 3 -- and you should refer to the exact version of the assembler you're using. The term "asm3" is bizarre and confusing. NESASM 3 and asm6 have no relation to one another. They are completely different assemblers with completely different authors.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 4 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:  
Powered by phpBB® Forum Software © phpBB Group