1,009

(33 replies, posted in Nintendo Consoles)

in an effort to further understand nintendo sav files, i thought i would modify one of No Carrier's tutorial programs to be able to save info. i used his sprite program - http://socialmovement.org/playpower/TUT … sprite.zip

first, i added two variables for the horizontal and vertical positions of the sprite right after the variables that were already listed:

buttons EQU $20                 ; variables for the buttons
oldbuttons EQU $22
justpressed EQU $24

v_position EQU $6000
h_position EQU $6001

then i modified the rom header information to support the MMC1 mapper.

        .ORG $7ff0              ; start at $7ff0 - 16 byte .NES header (iNES format)
Header:                         ; this is used only for emulators
    .db "NES", $1a
    .db $02
    .db $01
    .db %00000010
    .db %00000000
        .db $00
        .db $00
        .db $00
        .db $00
        .db $00
        .db $00
        .db $00

easy enough so far. next step, i'll make it so when you press start, it saves the vertical and horizontal positions of the sprite to the two variables i created earlier.

CheckStart:
    LDA #%00001000
    AND justpressed
    BEQ CheckB

    lda $0500
    sta v_position

    lda $0503
    sta h_position

and now i'll make it so when you press select, it will store the info from the variables into the horizontal and vertical positions of the sprite.

CheckSel:
    LDA #%00000100
    AND justpressed
    BEQ CheckStart


    lda v_position
    sta $0500

    lda h_position
    sta $0503

and that's it! open the program, move the sprite around, save it's position, close / reopen the program, then when you press select it will move the sprite to wherever you had saved it. works perfect. aside from those few changes, the code is exactly the same as what's in the zip file i linked before.

this is pretty basic but i'm really excited that i've figured it out. does everything look like it's supposed to? any other tips?

here's a link to download my modified version of the sprite program - http://www.box.net/shared/5seixkoha1

1,010

(12 replies, posted in Nintendo Consoles)

neilbaldwin wrote:

Have to agree - I loved working on the SNES. The audio engine I wrote on it was ace - ran on compressed (optimised) MIDI files and had multi-sampled instruments, velocity switching, dynamic playback controlled be external variables, all sorts of cool stuff.

I wonder if I still have the code....hmmm...

yeah bust that code out! sntrq!

1,011

(29 replies, posted in Nintendo Consoles)

Theta_Frost wrote:

Or we could wait for low-gain's 3 channel NESMod.  wink

can i pre-order that now?

1,012

(29 replies, posted in Nintendo Consoles)

low-gain wrote:

you can also take the vrc6output pin and run it through 1k resistor and 10uF cap to a 1/4" jack and have that as an individual output as well.

yeah, this is what i was trying to say!

1,013

(29 replies, posted in Nintendo Consoles)

yeah basically, but i personally think it's a better idea to not do the 47k resistor mod. what that does is feeds the vrc channels into the existing audio channels. so it would be like, the pulse channels AND the vrc channels coming out of the same output of the NES mod.

in my opinion, it's better to give the expansion channels their own output, so then you'd have three outputs. it's a really simple mod to do and maybe someone can post better instructions on how to do it than i can. but essentially, you ditch the resistor. and you just solder a wire from pin 3 to an audio jack, and then solder the ground pin on that audio jack to the same place you solder the ground wire for the NES mod.

you can just do the 47k resistor mod and that's totally fine but i really like having 3 outputs on the back of my NES instead of two. also, lowgain's NES mod is a really awesome product. i love mine.

1,014

(37 replies, posted in Nintendo Consoles)

my friend paul just posted this on his blog -

this is an NES controller wired inside a guitar hero controller. Both came from Goodwill a long time ago and I’ve just been waiting for the right inspiration to use them. Then I saw Nintendo Chords by Nick Maynard and it was pretty obvious what had to be done

http://pschlieter.tumblr.com/post/27228 … e-a-guitar

1,015

(37 replies, posted in Nintendo Consoles)

i just tried to sign up for box.net and found out i already had an account. then i look inside and find it's got about a dozen weird songs i made in 07. for example - http://www.box.net/shared/0hlqo855n5

nintendo chords one - http://www.box.net/shared/tp27mbz2j1

nintendo chords two - http://www.box.net/shared/hjy9g1uht0

nintendo drums beta - http://www.box.net/shared/hr5op3yzdg

also, i just mapped out what i want the final version of this program to be like. i'm really excited.

1,016

(37 replies, posted in Nintendo Consoles)

i can host it somewhere else, sure, but i'm curious why you guys dislike mediafire?

SurfaceDragon wrote:

Thanks Nick. Nintendo Drums Beta sounds so hectic but I really like it. Keep up the good work!

Also-
I'm using your Nintendo Chords Two in a new song by my band Sexy Androids. I found a great sound by setting it to Arp mode with a 50% Duty cycle, then I changed the timing in Nestopia by setting the speed to the lowest setting. I'm not finished recording everything yet but what I have so far sounds amazing. Thank you!

awesome! the next version of nintendo chords will have a tempo control feature so you can slow it down and speed it up while it's playing back.

1,017

(37 replies, posted in Nintendo Consoles)

obviously this is still VERY early in the development of this program but i got so many good ideas from people on this board and others that i wanted to share what i've got done of the next step of nintendo chords, which is NINTENDO DRUMS.

download it here - http://www.mediafire.com/download.php?echmsojotr9pn5e

eventually, i want it to be a basic drum machine. there will be three rows for the DPCM, Noise, and Triangle channels, and you'll be able to add all sorts of different notes to those. right now, there's only one row (noise) and you can only add one kind of note to it (open hi hat). you'll also be able to change the tempo while the beat's playing back (and obviously when it isn't playing back too).

i want to design this with the beginner and the non-musician in mind. and down the line, i'd like to combine this with my chords program so you can play along to the beats.

edit - i almost forgot to mention that the characters i'm using here are all no carrier's.

1,018

(33 replies, posted in Nintendo Consoles)

awesome! it works perfectly now neil. thanks for the lesson.

there's so much about this i don't know yet and most of the documentation i've been able to find assumes a certain level of coding experience that i just don't have. so it's really helpful for you to go through some of this with me.

1,019

(33 replies, posted in Nintendo Consoles)

so, i've been messing with this a lot and i've got a quick question. can you tell me why THIS code seems to work...

    .ORG $7ff0
Header:
    .db "NES", $1a
    .db $02
    .db $01
    .db %00000010
    .db %00000000
    .db $00
    .db $00
    .db $00
    .db $00
    .db $00
    .db $00
    .db $00
    .db $00

WRAM     EQU $6000

     .org $8000

Reset:
    SEI
    ldx #$FF
    txs

    lda #$25
    sta WRAM

LOOP:    jmp LOOP
NMI:    RTI
IRQ:    RTI

    .ORG $fffa
    .dw NMI
    .dw Reset
    .dw IRQ

...while this code does NOT work?

    .ORG $7ff0
Header:
    .db "NES", $1a
    .db $02
    .db $01
    .db %00000010
    .db %00000000
        .db $00
        .db $00
        .db $00
        .db $00
        .db $00
        .db $00
        .db $00
        .db $00

WRAM     EQU $6000

        .org $8000

Reset:
        SEI
    ldx #$FF
    txs

LOOP:    jmp LOOP
NMI:    


    lda #$25
    sta WRAM

    RTI
IRQ:    RTI

    .ORG $fffa
    .dw NMI
    .dw Reset
    .dw IRQ

the code looks kind of wonky when i paste it in here, but it's not all weirdly tabbed in my .asm file. #$25 is just a totally random value, by the way.

1,020

(33 replies, posted in Nintendo Consoles)

neilbaldwin wrote:

I realised afterwards that some of that might be confusing (or that your code for the Chords program is set up a little differently) - I wanted to give you something that would compile and work in ASM6 (I guessed that was what you used?)

Really, the only parts you need that can be transplanted in your own code is setting bit 1 of the 6th header byte and then knowing you just read/write addresses $6000-$7FFF to access the battery RAM. The rest of my example is just reset code and the necessary layout to make a working ROM.

yeah, i actually think i get it. i tried out your code and saw that it wrote that info to the sav file. i'm going to set up a little test program where you can set a variable, then save it, then see if the program can call that information back up when i reopen the program.

thanks a lot for the help!

1,021

(32 replies, posted in Past Events)

likeluke wrote:

this shit is INCREDIBLE so far. playing in richmond tomorrow, VA bros come do it! big_smile heart

my band played in richmond a year ago. it's a great town. check out the civil war monuments too.

1,022

(33 replies, posted in Nintendo Consoles)

awesome, thanks for the code. some of this is still over my head but this is a great place to start learning.

1,023

(33 replies, posted in Nintendo Consoles)

neilbaldwin wrote:
nickmaynard wrote:

hey neil, i want to make a nintendo program that has a sav file, are there any good tutorials or resources online that you can point me to that will help me figure this out?

It's fairly straightforward - you need to change your ROM configuration to use MMC1 mapper (I think that's the minimum you need mapper-wise) and you'll need to change the ROM header. After that, NVRAM (battery-backed RAM) is mapped at $6000-$7FFF and you can just read and write to it like normal RAM.

I'll send you some code.

wow, that would be really great neil. thanks!

1,024

(18 replies, posted in Nintendo Handhelds)

akira^8GB wrote:

I recently sold one of those, it's totally horrible, space-wasting and useless.

i can't imagine using it to play games.