It is currently Tue Nov 13, 2018 8:45 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 343 posts ]  Go to page Previous  1 ... 19, 20, 21, 22, 23
Author Message
PostPosted: Tue Oct 09, 2018 9:41 pm 
Offline
Formerly 43110
User avatar

Joined: Wed Feb 05, 2014 7:01 am
Posts: 362
Location: us-east
Yes it's is a "hello world" of sorts, but with the intention that we know that we can use asm6.

Like many command line programs, asm6 reads input, does some processing, and writes some output.
The input and output are files. In this case should contain what the first and last code boxes have.

The second code box is what you type in the command line prompt to command asm6 to do it's thing.

If you get stuck, explain a bit of what you tried when figuring out my instructions.


Top
 Profile  
 
PostPosted: Tue Oct 09, 2018 9:47 pm 
Offline

Joined: Sun Jun 17, 2018 6:41 pm
Posts: 150
tokumaru wrote:
DocWaluigean wrote:
If I use a template, I will literally be missing out on everything on starting to make the base for .NES ASM stuff.

Quite the contrary! It's better to study/dissect/break a known good template to figure it out than start from nothing without knowing what to do. You need quite a bit of knowledge about the NES architecture and how assemblers work to be able to create a valid .NES file on your own from scratch, and most newbies *don't* have that knowledge. You can't become a painter only from studying how paints and paintbrushes work, you have to see how other painters do it in practice.


That's true. But unfortunately, it may be difficult as there's a picky situations where I want something and what I don't want something from template: Like I want 1MB graphic, but I don't want music-limit stuff, which requires me to understand more about templates or mapper.

Quote:
It's waaaaaaaaay too soon to be thinking about mappers and audio expansions.


True. Although chances where I may learn very fast if the guide is really good!

Quote:
If you plan on following the Nerdy Nights tutorials to the letter, then NESASM is the way to go.


Not at this time. I'm still giving NHC a try to learn many.

Quote:
Please don't make up names for stuff, it's confusing. ASM6 and NESASM are equally easy to use, but they have slightly different syntax. The number 1 annoying thing about NESASM is that it forces you to use 8KB banks, regardless of the actual bank size of the mapper you're using.


If I can't make up names for codes, there's chances for me [or anyone] to forget connective mnemonics for me [or anyone] to understand or recognize the opcodes or other words. I would've struggle more with ,x / ,y / ,a if I never made up the name, "Charter Comma". Think about if I were young man [like 11 or 14] who really wants to learn 6502, but struggles with complex words like increments. It's one of obstacles where I want to tackle, and also help for autistic people.

Quote:
He's teaching you the basics of ASM6 so you understand how it translates a source file into a binary file. Once you get that, you can start changing the source file so the output is not any binary file, but a valid NES file.


Ah, I understand.


Top
 Profile  
 
PostPosted: Wed Oct 10, 2018 6:03 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20761
Location: NE Indiana, USA (NTSC)
DocWaluigean wrote:
If I can't make up names for codes, there's chances for me [or anyone] to forget connective mnemonics for me [or anyone] to understand or recognize the opcodes or other words. I would've struggle more with ,x / ,y / ,a if I never made up the name, "Charter Comma".

Would "index comma" have worked?


Top
 Profile  
 
PostPosted: Wed Oct 10, 2018 11:39 am 
Offline

Joined: Sun Jun 17, 2018 6:41 pm
Posts: 150
tepples wrote:
DocWaluigean wrote:
If I can't make up names for codes, there's chances for me [or anyone] to forget connective mnemonics for me [or anyone] to understand or recognize the opcodes or other words. I would've struggle more with ,x / ,y / ,a if I never made up the name, "Charter Comma".

Would "index comma" have worked?


Not likely, because I [or others] may get fixated on Index Finger or other terms I somehow failed to remember about. If I think about Index, maybe I'm thinking about a type of word-map of where the name, pages, etc. goes, but they called it Glossary? or possibly something geometry or mathematics.

Quote:
Quite the contrary! It's better to study/dissect/break a known good template to figure it out than start from nothing without knowing what to do. You need quite a bit of knowledge about the NES architecture and how assemblers work to be able to create a valid .NES file on your own from scratch, and most newbies *don't* have that knowledge. You can't become a painter only from studying how paints and paintbrushes work, you have to see how other painters do it in practice.


So which template is the best of the best, yet most basic, to start off?

Also, I'm having little trouble downloading ASM6 and Notepad ++ for the .nes cmd stuff.


Top
 Profile  
 
PostPosted: Wed Oct 10, 2018 2:56 pm 
Offline
User avatar

Joined: Thu Apr 23, 2009 11:21 pm
Posts: 940
Location: cypress, texas
asm6 download from nesdev wiki :)

Sorry, I don't remember loopy's new website url. (Maybe that's his new site... 3dscapture.com)

edit: I started our game's journey with "NES 101 Tutorial" by Michael Martin; however, I don't think any of his tutorial code exists in our game now. But, it was a very helpful start, for me, when I started to learn NES. :) Try searching nesdev wiki for NES 101 Tutorial

edit2.


Last edited by unregistered on Wed Oct 10, 2018 3:13 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Wed Oct 10, 2018 3:04 pm 
Offline

Joined: Sun Jun 17, 2018 6:41 pm
Posts: 150
unregistered wrote:
asm6 download from nesdev wiki :)

Sorry, I don't remember loopy's new website url.

edit: I started our game's journey with "NES 101 Tutorial" by Michael Martin; however, I don't think any of his tutorial code exists in our game. But, it was a very helpful start, for me, when I beginning to learn NES. :)


Ah! Thank you very much! Although to be honest, I'm a little scared attempting to do this since I feel I may go insane or mad if I failed. ^^;


Top
 Profile  
 
PostPosted: Wed Oct 10, 2018 3:20 pm 
Offline
User avatar

Joined: Thu Apr 23, 2009 11:21 pm
Posts: 940
Location: cypress, texas
I remember feeling that way too... but, I said a prayer and my heart was enveloped in peace. :) Hopefully, you'll be able to do this too.


Top
 Profile  
 
PostPosted: Wed Oct 10, 2018 3:26 pm 
Offline

Joined: Sun Jun 17, 2018 6:41 pm
Posts: 150
unregistered wrote:
I remember feeling that way too... but, I said a prayer and my heart was enveloped in peace. :) Hopefully, you'll be able to do this too.


As I believe you about religion, you gotta know that maybe[?] God want's us to do things ourselves for a while, like "Learn to take baby steps by yourself." So the prayer might annoy Him or Christ for abusing their helps? Sorry? Let's take it easy for now.

viewtopic.php?p=58138#p58138

According to this template, I am not sure which should I go specific on first. And which one I can disassemble to where I can open up with the fewest of fewest code possible.


Top
 Profile  
 
PostPosted: Wed Oct 10, 2018 4:04 pm 
Offline
User avatar

Joined: Thu Apr 23, 2009 11:21 pm
Posts: 940
Location: cypress, texas
DocWaluigean wrote:
unregistered wrote:
I remember feeling that way too... but, I said a prayer and my heart was enveloped in peace. :) Hopefully, you'll be able to do this too.


As I believe you about religion, you gotta know that maybe[?] God want's us to do things ourselves for a while, like "Learn to take baby steps by yourself." So the prayer might annoy Him or Christ for abusing their helps?
Read Phillipians 4:6-7 and notice that word "everything". :) I'm sorry again; in my quote above, my "this" was ment to only refer to what you were worried about doing; I should be more careful in my writting. :oops:


Sorry, I have to go.


Top
 Profile  
 
PostPosted: Wed Oct 10, 2018 4:40 pm 
Offline

Joined: Sun Jun 17, 2018 6:41 pm
Posts: 150
unregistered wrote:
DocWaluigean wrote:
unregistered wrote:
I remember feeling that way too... but, I said a prayer and my heart was enveloped in peace. :) Hopefully, you'll be able to do this too.


As I believe you about religion, you gotta know that maybe[?] God want's us to do things ourselves for a while, like "Learn to take baby steps by yourself." So the prayer might annoy Him or Christ for abusing their helps?
Read Phillipians 4:6-7 and notice that word "everything". :) I'm sorry again; in my quote above, my "this" was ment to only refer to what you were worried about doing; I should be more careful in my writting. :oops:


Sorry, I have to go.


Ah, I'm sorry. And it's alright. No need to apologize. I already and always forgiven you.

And it's alright. ttyl.

-

Code:
;----------------------------------------------------------------
; constants
;----------------------------------------------------------------

PRG_COUNT = 1 ;1 = 16KB, 2 = 32KB
MIRRORING = %0001 ;%0000 = horizontal, %0001 = vertical, %1000 = four-screen


This is the NROM template. So I am not sure why there's no "ines." in beginning.

And constants ; does it also mean any letter of alphabet that is NOT vowels [A E I O U] ? EDIT: it's consonant, not constants. Alongside, constant would also mean "keep going" in certain words like, "At constant rate..."?

PRG COUNT as maximum byte for 32000 byte, huh. Is it possible to get 1MB [or 1GB for the master coder of all master coder of 6502 NES coder?] or 2MB of it? Like PRG_COUNT = 255?

With the %, I'm calling that it's binary.

So 1 is vertical, 0 is horizontal, and 8 is four-screen...? Is the "MIRRORING" the support code?


Top
 Profile  
 
PostPosted: Wed Oct 10, 2018 5:19 pm 
Offline
Formerly 43110
User avatar

Joined: Wed Feb 05, 2014 7:01 am
Posts: 362
Location: us-east
I'm assuming you got ASM6 to work. If not, I've prepared a video if you wish to see.

DocWaluigean wrote:
Code:
;----------------------------------------------------------------
; constants
;----------------------------------------------------------------

PRG_COUNT = 1 ;1 = 16KB, 2 = 32KB
MIRRORING = %0001 ;%0000 = horizontal, %0001 = vertical, %1000 = four-screen

This is the NROM template. So I am not sure why there's no "ines." in beginning.

The actual iNES header is computed and written to the output file at the "iNES header" section.
That first part is there so that you can easily change some parts of the configuration without having to dig through the "iNES header" section

DocWaluigean wrote:
PRG COUNT as maximum byte for 32000 byte, huh. Is it possible to get 1MB [or 1GB for the master coder of all master coder of 6502 NES coder?] or 2MB of it? Like PRG_COUNT = 255?

Not in this case. Because this is NROM, you can only choose 1 or 2 for PRG_COUNT.

DocWaluigean wrote:
With the %, I'm calling that it's binary.

Correct

DocWaluigean wrote:
So 1 is vertical, 0 is horizontal, and 8 is four-screen...? Is the "MIRRORING" the support code?

It's Mirroring as in Nametable Mirroring. The NES has memory to lay out 2 screens of tiles, but the NES can scroll to display varying amounts of 4 different screens. So this Mirroring setting tells the NES how to duplicate the 2 actual screens. Best to leave this at %0001 so you can have more horizontal space to work with later, because with a setting of %0000 one screen will be duplicated (or mirrored) in the horizontal direction.


If you wish to know where you code begins, it's at the "program bank(s)" section where the Reset: label is. The is where the CPU starts when the power button or the reset button is pressed. The reason this is so is because the address for the Reset: label is placed at $fffc in the "interrupt vectors" section.

One last thing to note is that because of the .incbin in the "CHR-ROM bank" section you'll need a 8KiB file for the 512 graphic tiles of CHR-ROM. If you just want a quick way to get a gray screen, we can replace the line .incbin "tiles.chr" with .dsb 8192, 0 to fill CHR-ROM with all blank tiles until we can make a tiles.chr file with a NES tile editing tool of some sort.


Top
 Profile  
 
PostPosted: Tue Oct 16, 2018 3:00 pm 
Offline

Joined: Sun Jun 17, 2018 6:41 pm
Posts: 150
JRoatch wrote:
I'm assuming you got ASM6 to work. If not, I've prepared a video if you wish to see.

DocWaluigean wrote:
Code:
;----------------------------------------------------------------
; constants
;----------------------------------------------------------------

PRG_COUNT = 1 ;1 = 16KB, 2 = 32KB
MIRRORING = %0001 ;%0000 = horizontal, %0001 = vertical, %1000 = four-screen

This is the NROM template. So I am not sure why there's no "ines." in beginning.

The actual iNES header is computed and written to the output file at the "iNES header" section.
That first part is there so that you can easily change some parts of the configuration without having to dig through the "iNES header" section

DocWaluigean wrote:
PRG COUNT as maximum byte for 32000 byte, huh. Is it possible to get 1MB [or 1GB for the master coder of all master coder of 6502 NES coder?] or 2MB of it? Like PRG_COUNT = 255?

Not in this case. Because this is NROM, you can only choose 1 or 2 for PRG_COUNT.

DocWaluigean wrote:
With the %, I'm calling that it's binary.

Correct

DocWaluigean wrote:
So 1 is vertical, 0 is horizontal, and 8 is four-screen...? Is the "MIRRORING" the support code?

It's Mirroring as in Nametable Mirroring. The NES has memory to lay out 2 screens of tiles, but the NES can scroll to display varying amounts of 4 different screens. So this Mirroring setting tells the NES how to duplicate the 2 actual screens. Best to leave this at %0001 so you can have more horizontal space to work with later, because with a setting of %0000 one screen will be duplicated (or mirrored) in the horizontal direction.


If you wish to know where you code begins, it's at the "program bank(s)" section where the Reset: label is. The is where the CPU starts when the power button or the reset button is pressed. The reason this is so is because the address for the Reset: label is placed at $fffc in the "interrupt vectors" section.

One last thing to note is that because of the .incbin in the "CHR-ROM bank" section you'll need a 8KiB file for the 512 graphic tiles of CHR-ROM. If you just want a quick way to get a gray screen, we can replace the line .incbin "tiles.chr" with .dsb 8192, 0 to fill CHR-ROM with all blank tiles until we can make a tiles.chr file with a NES tile editing tool of some sort.


Yes please. I'm so sorry for being delayance...

So NROM is a limited but beginner-friendly template.

Ahhh, like the "double screen same" from the debug style.

On the last one, I mean making gray screen but with 100% code-placement friendly, like a piece of paper, and a pencil, and ready to "code" by drawing.


Top
 Profile  
 
PostPosted: Tue Oct 16, 2018 8:41 pm 
Offline
Formerly 43110
User avatar

Joined: Wed Feb 05, 2014 7:01 am
Posts: 362
Location: us-east
DocWaluigean wrote:
JRoatch wrote:
I'm assuming you got ASM6 to work. If not, I've prepared a video if you wish to see.

Yes please. I'm so sorry for being delayance...

How to use asm6.exe on windows 10.
Please excuse my accent. I'm not good with a microphone, and at times I could be mistaken for the english dub of Dr. Light from megaman 8. I hope you can follow along anyway. Let me know if this is actually harder to understand then just reading text.

DocWaluigean wrote:
So NROM is a limited but beginner-friendly template.

Being that it represents the most basic hardware configuration, it would be beginner-friendly.

DocWaluigean wrote:
On the last one, I mean making gray screen but with 100% code-placement friendly, like a piece of paper, and a pencil, and ready to "code" by drawing.

Once asm6.exe is working, you'll copy and paste the whole NROM template into your asm6.exe input file ("input.txt" in my video) and for your Command Prompt window type asm6.exe input.txt output.nes. If that works the file output.nes will be a valid nes rom and will successfully load and run in a emulator.

From there your code will begin at where the Reset: label is.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 343 posts ]  Go to page Previous  1 ... 19, 20, 21, 22, 23

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