SNES SNASM658?

Discussion in 'Nintendo Game Development' started by cdoty, Feb 26, 2006.

  1. cdoty

    cdoty Gutsy Member

    Joined:
    Mar 23, 2005
    Messages:
    413
    Likes Received:
    2
    Does anyone have example source code for the SNASM658?

    I'd love to use the assembler for SNES development, but don't have a clue about setting up stuff like the execution addresses, banks, etc. (Under SNASM658, that is).
     
  2. Mark30001

    Mark30001 Guest

    Hey there,

    I think what you are looking for is just "SNASM", which uses 65816 ASSEMBLY.

    You can find that here:
    http://beatmag.tripod.com/prog.htm

    What exactly are you trying to do, and maybe I could help :icon_bigg.
     
    Last edited by a moderator: Feb 26, 2006
  3. cdoty

    cdoty Gutsy Member

    Joined:
    Mar 23, 2005
    Messages:
    413
    Likes Received:
    2
    I'm actually looking for sample code for snasm658 by SN Systems. I want to use a tool that was used 'in the day' to create games for the SNES. (Kinda like SNASM68k for the Genesis).

    It been awhile since I programmed for the SNES, but I understand most of it.

    I just don't know the directives to set up parameters under SNASM658.

    I currently use:
    CartridgeHeader:
    ds $FFB4-CartridgeHeader
    db "00"
    db "SNES"
    CartridgeTitle:
    ds $FFC0-CartridgeTitle
    db "Game Name "
    CartridgeInfo:
    ds $FFD6-CartridgeInfo
    db $00
    db $08
    db $00
    db $00
    db $00
    dw $0000
    dw $0000
    NativeVectors:
    ds $FFE4-NativeVectors

    dw Unused ; Native COP
    dw Unused ; Native break
    dw Unused ; Native abort
    dw Unused ; Native NMI
    dw Unused ; Unused
    dw VBlank ; VBlank
    EmulatedVectors:
    ds $FFF4-EmulatedVectors

    dw Unused ; Native COP
    dw Unused ; Native break
    dw Unused ; Native abort
    dw Unused ; Native NMI
    dw Start ; Reset
    dw VBlank ; VBlank

    There's gotta be a better way.

    I also need to know how banks are setup.


    If there's no other choice, I might have to use wla-65816.
     
  4. babu

    babu Mamihlapinatapai

    Joined:
    Apr 15, 2005
    Messages:
    2,945
    Likes Received:
    3
    you really should consider changeing assmembler... I mean if you even have to setup things like the header manually ^^
    I would recommend x816 or wla-dx (wla-65816). I personaly use wla-dx.. thought I'm not 100% happy with it. I feel it's lacking some features and got some "features" that shouldn't be there..
     
  5. cdoty

    cdoty Gutsy Member

    Joined:
    Mar 23, 2005
    Messages:
    413
    Likes Received:
    2
    Last edited: Feb 28, 2006
  6. FH

    FH Member

    Joined:
    Mar 25, 2004
    Messages:
    22
    Likes Received:
    0
    Hi there,

    I don't know if this helps, but I have some sample code using the psyq snes assembler which uses similar - if not the same - directives as snasm658: http://rpgd.emulationworld.com/fh/pages/rs1vwf.htm

    If you are downloading the snes (or any) CPE to SN/PsyQ hardware, I know you have to define the Program Counter with the REGS directive; ie: 'REGS pc=$008000' (the other 65816 registers could also be set with that).

    As for building a Cartridge Header, I use the EQUS directive to string equate a Title, and then have conditional IFDEFs in the cartridge header Section to see if the Title and the reset vectors need to be added or defaulted.

    -- FH
     
  7. cdoty

    cdoty Gutsy Member

    Joined:
    Mar 23, 2005
    Messages:
    413
    Likes Received:
    2
    Thnaks foe the link!
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page