Getting Started(Updated:Jun. '10)
Page 1 of 2

Author:  Laserbeak43 [ Sun Dec 16, 2007 7:17 pm ]
Post subject:  Getting Started(Updated:Jun. '10)

***Latest Update = Jun 17, 2010***
*New This Update:*
- Links to tutorials, thanks to CartCollector
- ASM6: By Loopy!!!
- Highlighter for conTEXT Editor
- A tutorial to set NESASM up with ConTEXT Editor
- NotePad++ Language Definition Files by Fib Gibbley Miau and Banshaku

Contributions Encouraged!!

OK, less talk, more walk. so here it is. the sticky!!
(will get bigger with time) Please let me know if you would like to submit something!!!

* For those of you who just stumbled upon this forum and don't know about the nesdev homepage, it's here

* Nesdev Wiki here.


*** Assemblers/Compilers/Editors etc. ***


- NESICIDE Nintendo Entertainment System Integrated Development Environment. Looks pretty good.
and according to the author, it's "Everything you need in one package... "

- ConTEXT A text editor for windows with lots of different "highlighters", including one for 6502 Assembly language.
you can get it and the highlighter here, on the downloads page.

- NESASM Highlighter for ConTEXT Can be found here
NES Assembly highlighter(for NESASM by Me (opcodes, registers etc. ripped from Banshaku and Miau's LDFs Notepad++).

- Setting Up NESASM with ConTEXT Editor This shows you how to get NESASM running with ConTEXT, so you can hit F9 and go! :D Tutorial is Here

- Notepad++ can be found here. A nice code editor with some Language definition files by Fib Gibbley Miau and Banshaku

- v1.0 6502 compatible assembler and emulator in javascript, can be found here. Pretty good looking, and with example code!! :)

- 6502 Simulator Can be found here. I remember trying this out a long time ago. I'm glad i've found it again!!! I don't know if this is a new feature, but when you type an opcode, information pops up on the side panel, similar to intellisense!! nice!!!

"Integrated macro assembler, simulator and debugger for 650x microprocessor family.
Lets you write, test and run 6502/65c02 programs."

- ASM6 Loopy's Assembler!! :D Can be found here

- cc65 Can be found here
"cc65 is a complete cross development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools."

- WLA-DX Can be found here. i don't know much about this assembler, i'm still a NESASM n00b :) but i hear it's more accurate than NESASM. Some of its features are:

- Fast
- SNES support
- SMS/GG support
- Gameboy support
- PC-Engine support
- NO$GMB symbol file writing
- Support for object and library files
- You can patch ROM images with code
- WLA GB-Z80 disassembler included
- Numerous ways to comment code away
- ROM image and program file compiling
- Multilevel macros (actually, functions)

- Some cool but unsupported stuff to compile it can be found here

- MagicKit v2.51 Can be found here
The archive contains :

- a NES assembler : NESASM
- a PC-Engine assembler : PCEAS
- a PC-Engine basic library (video, sound, joypad, interrupts)
- some documentation (assembler, hardware, tutorials)
- the source code of the assembler
- this site also keeps an archive of ASM demos for PCE or NES on the bottom of the page!!!! NICE I didn't notice that before!!!

- DASM - DASM is a versatile macro assembler, written in C, with support for target microprocessors including 6502, 68HC11, 68705, 6803, HD6303, F8 and 6507.

- NBASIC can be found here

NBASIC is a BASIC interpreter designed to mimic the operation of 8/16bit microcomputers of the early 1980’s like the Tandy Color Computer®, Apple ][e®, Commodore 64®, Texas Instruments TI-99/4A®, and others.


*** Setups ***


- (Celius) A simple WLA-DX NROM setup so people could start coding right away.
Get It Here
Celius wrote:
All you need to do is put the test code under the reset routine.


*** Exercises/Tutorials/Examples/Reading ***


CartCollector wrote:
This hasn't been updated in a while, but I just found some docs that I think should be included (though some are already on the main site).

- Assembly In One Step CartCollector: "(this is a great read if you're new to 6502 assembly)" Yep, I do remember this one!

- M.J. Malone's DR6502 docs, especially these ones for beginners: First lesson, Second lesson
There's an archive of all that he wrote for the DR6502, including some helpful programming examples, here

- Gravity FAQ (must read if you want to make a platformer) Ding!

- NESASM Tutorial Can be found here. "New version in the works" according to the author (bunnyboy).

- Another by bunnyboy Can be found here. Looks really cool, so get yourself and account and check it out.

- Opcodes Tutorial Can be found here.
Some cool stuff about Opcodes.

- NesHacking Can be found here Nice intro tutorial with some exercises at the end. Second one is here

- Commodore64 Programmer's Reference Guide Can be found here.
Loads of info, some might not be useful to you though. Check out chapter 5 (about page 176 of the PDF version) :)

- RomHacking.Net List of tutorials contributed by users, categorized as "Assembly".

- (electro) Shows us sound lovers how to ask the right questions!!!

- (Jeroen) makes his first ROM and contributes the *source* to the community!! Cool points for him!

- (scanty) make a simple demo that goes through all the colour s(more info to come)

- (kyuusaku) there are some building blocks that I think are EXTREMELY important to learn (actually to *know*!) in order to succeed:

- Number systems (decimal vs hexadecimal vs binary)
- Boolean gates (and, or, not, xor)
- Address space and word size
- Pointers (addresses in memory as opposed to data in memory)
- Stacks
- Roughly how an ALU works (especially the flags)
- Signed numbers ("two's complement")

- ROM Hacking tutorial - Super Mario Clouds you'll need DASM and NBASIC, along with the source code on the website

* Logic Operations
;thanks blargg

1 1 0 0  A   Inputs
1 0 1 0  B
0 0 0 0  FALSE
0 0 0 1  NOR
0 0 1 0  JUST B
0 0 1 1  NOT A
0 1 0 0  JUST A
0 1 0 1  NOT B
0 1 1 0  A XOR  B
0 1 1 1  A NAND B
1 0 0 0  A AND  B
1 0 0 1  A XNOR B
1 0 1 0  B
1 0 1 1  A IMP  B
1 1 0 0  A
1 1 0 1  A LIMP B
1 1 1 0  A OR   B
1 1 1 1  TRUE

- thanks kyuusaku
kyuusaku wrote:

NOT 0 = 1
NOT 1 = 0

0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1

0 OR 0 = 0
0 OR 1 = 1
1 OR 0 = 1
1 OR 1 = 1

0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

NAND = AND with inverted (NOT) output
NOR = OR with inverted output
XNOR = XOR with inverted output

Author:  frantik [ Fri Oct 16, 2009 8:03 am ]
Post subject: 

ASM6 - Loopy's Assembler:

Author:  CartCollector [ Sat Jan 16, 2010 11:56 pm ]
Post subject: 

This hasn't been updated in a while, but I just found some docs that I think should be included (though some are already on the main site).

Assembly In One Step (this is a great read if you're new to 6502 assembly):

M.J. Malone's DR6502 docs, especially these ones for beginners:
There's an archive of all that he wrote for the DR6502, including some helpful programming examples, here:

Gravity FAQ (must read if you want to make a platformer):

Author:  Petruza [ Sun May 16, 2010 8:34 am ]
Post subject: 

It would be great to have such a sticky for emulator development.

Author:  Laserbeak43 [ Thu Jun 17, 2010 2:54 pm ]
Post subject: 

wow, nice adds guys. I'll get to it asap

Author:  Laserbeak43 [ Fri Jun 18, 2010 2:52 pm ]
Post subject:  Setting Up NESASM with ConTEXT Editor


*** Setting Up NESASM with ConTEXT Editor ***


1 - Get a copy of ConTEXT Editor and install the syntax highlighter file. Both are listed above:

2 - In the menu, click Options>Environment Options:

3 - Click the Execute Keys tab, click Add and then type "asm" in the dialog box that pops up and click OK.
Note: DO NOT prefix "asm" with a "." or this will not work!!!
Your settings should now look like this:

4 - Click F9 so that it's highlighted:

5- Click the file dialog button next to the text box labeled "Execute" and navigate to your copy of NESASM.exe(you can probably just write NESASM if you've already added the executable to your path variables):

6 - Once you've found your executable, make the rest of the options in this dialog look like this:

7 - When you create a new project and add files to it, edit and run NESASM, everything will be saved and the output will be shown in the output window! :D

now you can add other tools to the other keys, F10 etc. or set parameters for NESASM to your liking. Hope you find it useful!!!! :)

Author:  qbradq [ Sun Mar 20, 2011 5:08 pm ]
Post subject: 

You should add FamiTone in a libraries section as well as FCEUDSP and thefox's source-debug enhancements to Nintendulater. These things have been a huge help durring development, but I had to find them the hard way :)

Author:  Laserbeak43 [ Sun Mar 20, 2011 9:27 pm ]
Post subject: 

yeah i need to dedicate a section to music all together.
thanks :)

Author:  yesyesyall [ Sun Mar 20, 2011 10:10 pm ]
Post subject: 

qbradq wrote:
thefox's source-debug enhancements to Nintendulater
link, please!

Author:  Laserbeak43 [ Mon Mar 21, 2011 4:49 am ]
Post subject: 

yesyesyall wrote:
qbradq wrote:
thefox's source-debug enhancements to Nintendulater
link, please!

his site is here:
i've only heard mention of his nintedulator mod though.

Author:  qbradq [ Mon Mar 21, 2011 5:23 am ]
Post subject: 

Yea, I should have included links.

Nintendulator Source Code Debugging Mod
FamiTone Audio Library

Author:  dsv101 [ Sat Jun 18, 2011 6:21 pm ]
Post subject:  NESICIDE LINK = bad?

The link to NESICIDE seems to not load, and when it does i get a HTTP 400 Error, anyone wanna look into that?

THanks :)

Author:  qbradq [ Sat Jun 18, 2011 7:05 pm ]
Post subject: 

That's the right link, but the page is down. You might want to PM cpow, he is the author.

Author:  dsv101 [ Sat Jun 18, 2011 8:22 pm ]
Post subject: 

Im on it :)

Author:  Fatboy [ Wed Dec 07, 2011 7:05 pm ]
Post subject: 

Will context work with other assemblers as well?

EDIT: Nvmd, tried setting up ConTEXT with WLA-DX and it all works perfectly :)

Page 1 of 2 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group