1

(4 replies, posted in Nintendo Consoles)

I've gotten pretty adept at messing around with noCarrier's code to do all kinds of funky shit with GlitchNES.

What I wonder is if GlitchSNES could be done as easily, basically taking advantage of all the extra colors, sprite sizes, and buttons to perform a similar function with improved capabilities.

I understand the code, the relationship between .nam/.chr/.pal and such to basically make vanilla glitchNES my bitch.

On a scale of 1 to "fuck off you're insane", how hard would it be to take the original asm and update it to throw crap at an even more powerful visual mapper:ppu:whatever the hell that thing you flip random 1's and 0's on on the NES?

I'm actually trying to put MIDI into lsdj, rather than the other way around.   
I *think* this may be what I'm looking for:

http://littlesounddj.wikia.com/wiki/Multiboot_MIDI_Sync

So rather than having the LSDJ out controlling the volca, have the volca controlling the LSDJ.   Not even sure if this is possible, but I'm trying to explore it.   Looking for less of a way to use it as a live performance instrument, and more of an easy (pushbutton MIDI?) way to mute and unmute individual tracks within LSDJ.    I'm not sure if that's the proper terminology, as I'm researching this for a chiptune-making buddy Ten Pixels Tall and know very little about LSDJ.    I believe there are four different channels that can be tracked, and there is a way to toggle between them to mute and unmute during playback.

Ideally, I'd like to be able to simplify the process to a button press through Midi.   However, the midiout also looks like a gamechanger for chiptunes as well, if you can sync up something like a volca or midi anything to a LSDJ.

(Preamble - I know MIDI, kind of worked with LSDJ one time, use an emulator to test my GlitchNES custom .asm, and am otherwise dumb.   This may be a dumb question.   )

What all can actually be done with LSDJ MIDI?   Just clock sync, or are there more possibilities (for example, muting individual tracks, etc).   I have not found much documentation on what can actually be done once you get the ardurinoboy up and running.

And then from there, could it possibly be done in an emulator?   In theory you could plug a core compliant MIDI device into your emulation box and make something happen?   Perhaps not.   

Are there any documents on LSDJ midi and what control signals does the cartridge listen for?   And is it all versions of the ROM that do it, or just the ones marked ardurinoboy?

I've seen a lot of tutorials about building an ardurinoboy and whatnot, but very little regarding the actual signals that are transferred.   Is it just clock sync, or full on MIDI mapping?

Heavy W8 bit, you are literally the wind beneath my wings.

I use OSX and I found something with a flower icon that works fine.   I spent hours of my life trying to figure out why that wouldn't compile.   
Used a different text editor and works like a charm (I run the .bat file through wine)

We like to do custom glitchnes sets for our shows, but this is the first time we've gone beyond .chr editing and adding palettes on the empty left and right buttons on controller 2.    Also, I changed the rate of color blinking and the colors that get changed, although I don't really know what i'm doing.   The changes I made leave a neat "screen tearing" effect though.   The .chr (or pal0.pal) being greyscale is really important to things not looking like shit when the original glitchnes color flasher runs.

Next step is to add mutlitap support (we run this thing patched off a retron 5, so we've got 4 controllers + ready to go) so that I have more buttons to use.  I'd like to implement some of the effects from cmcwavy and possibly some more color palettes.

The thing about changing palettes in the code when assigned to a button is you have to do it all longform with reads/writes to 2006/2007 rather than doing it .byte (palette data) or .INCBIN "palette.pal" or else it'll freeze the code.    Is there a way to do that with nametables also?

What I mean with palettes is:

    lda #$3f
    sta $2006
    lda #$00
    sta $2006
    ldx #$15
    stx $2007
    lda #$01
    sta $2007
    lda #$3a
    sta $2007
    lda #$30
    sta $2007
    stx $2007
(etc. etc.)  - you can assign this to a button in glitchnes and it'll change the palette, which is a good recovery when your glitches have sent your entire color scheme to absolute hell, or even just one big grey blob or something.

Is there a similar notation that can be used for a nametable?

Editing my code in something that does RTF rather than TXT natively may be the second sick joke of ASM.    I think you're right.

This is sort of like how I spent 45 minutes of my life figuring out that a semicolon in ASM is for commenting out lines, not ending them.

Here's a new one - whenever I try to change the name of any nametable in the glitchnes.asm (or put a different palette name in, for that matter), I get this error upon compiling:

Let's take this:

pic0:
        .INCBIN "order.nam"
pic1:
        .INCBIN "order.nam"
pic2:
        .INCBIN "order.nam"
pic3:
        .INCBIN "order.nam"
pic4:
        .INCBIN "order.nam"
pic5:
        .INCBIN "order.nam"
pic6:
        .INCBIN "order.nam"
pic7:
        .INCBIN "icon.nam"


This will compile fine.   However, say I change it to:

pic0:
        .INCBIN "order.nam"
pic1:
        .INCBIN "order.nam"
pic2:
        .INCBIN "order.nam"
pic3:
        .INCBIN "order.nam"
pic4:
        .INCBIN "order.nam"
pic5:
        .INCBIN "order.nam"
pic6:
        .INCBIN “icon.nam"
pic7:
        .INCBIN "icon.nam"


Upon compiling, I get an error on the line number saying "can't open file".    I got around this with palettes by coding them directly into the ASM, but what's going on here?   I'm trying to import custom nametables and this is breaking all my shit.

The thing is, No Carrier's code is pretty straightforward here, and I can understand what it's doing.   I'm not sure how to make #3 and #4 this simple.

;       ---------------------------------------------------- controller #2

CheckSelect2:
    LDA #%00000100
    AND JustPressed2
    BEQ CheckStart2

        lda flash               ; toggles flashing background color #0
        eor #$01
        sta flash

CheckStart2:
    LDA #%00001000
    AND NewButtons2         ; notice this is NewButtons2
        BEQ NoPause

        lda #1                  ; if start is held, pause everything
        sta pause
        jmp CheckLeft2

NoPause:
        lda #0
        sta pause

CheckLeft2:
    LDA #%01000000
    AND JustPressed2
    BEQ CheckRight2

        ; DO SOMETHING HERE

CheckRight2:
    LDA #%10000000
    AND JustPressed2
    BEQ CheckDown2

        ; DO SOMETHING HERE, TOO

CheckDown2:
    LDA #%00100000          ; changes the screen / NAM & CHR bank
    AND JustPressed2
    BEQ CheckUp2

    DEC ScreenNumber        ; decrement screen number here
        LDA ScreenNumber
        BPL CheckUp2
    LDA #7                    ; equal to total # of screens, starting from 0
    STA ScreenNumber

CheckUp2:
    LDA #%00010000          ; changes the screen / NAM & CHR bank
    AND JustPressed2
    BEQ CheckB2

    INC ScreenNumber        ; increment screen number here
        LDA ScreenNumber
    CMP #8                    ; equal to total # of screens +1, starting from 0
    BNE CheckB2
    LDA #0
    STA ScreenNumber

Hello,

I've been having some fun adding new features to glitchNES and customizing the .asm code.   However, I have run out of buttons.   Is there an easy way to have it support the multitap/four score adapter and plug it into the code, so that I have more options to play with?

I'm hoping it's as simple as the code for controllers 1 and 2 are, but somehow I have my doubts and fears about such simplicity.

Also, since it's easy enough to swap button functions for controller 1 and 2, what should I assign the turbo buttons on the nes advantage to for maximum carnage?

Any ideas/thoughts on this?