coding
 

There's not much here I'm afraid, aside from some S-NES utils and very old code examples. I hope one day, after my translation commitments are completed, to add more and dirverse stuff to this section.

S-NES ASM 2 IPS Method.

Wishing to code S-NES ASM to patch directly to translations, or modify data/code in S-NES games? Then download this archive! ;)
This archive contains the method I've used for the past few years.
Download the S-NES x816 Assember version here. View the PDF manual here.
Download the S-NES Psy-Q/SNSYS Assembler version here. View the PDF manual here.


Old S-NES Projects #1

This archive contains:
* RAM-Editor
* Break Vector Handler
* Scroll Test
* Pad Test
Download here: oldproj1.zip ( 20.6Kb)

 


Notes

Please be aware that these were written when I was first learning programming, and were written without the aid of emulators or debuggers (just a disk and a copier!). The results were more educational than anything. Moreover, I *still* use the RAM Editor to this day for testing on a real S-NES. Here's some stuff you can all try with the RAM Editor - either on a real S-NES or emulator:

RAM Editor Explorations

The RAM Editor allows you to explore your S-NES Hardware. Here is one document, widely available on the Internet and one of the earliest, which was copied from the S-NES Development Manual and gives you the PPU Register List (btw,the majority of early 'original' S-NES documents were plagarised from the Dev' Manual.. so much for l33tness :p ). Use it to refer to the following RAM-Editor examples: snesmap.txt. Here's an article I did on using the RAM editor a long while ago:

=======================================================================
   Mosaic Effects
   ==============
   Here's an example of S-NES code using mosaic effects:
   lda 	#$11 		; $xy: x=Mosaic Level, y=BG enable.
   sta	$002106 	; Store in 'Mosaic' Register.

The above code can be entered as follows:
  1. Set "Address" to $002106
  2. Press TR
  3. Set "Write Value" as $11
  4. Press B
      You'll notice the picture has broken up into a mosaic effect.
        If you wish to increase the effect, simply increase the value
        of the high part (or nibble) of the byte, ie.: $21,$31,$41,etc.
      ========================================================================
      
   Scrolling Effects
   =================
 Here's some example S-NES code of scrolling a Background by 128 ($80) pixels
   to the left. S-NES scroll registers are "16-bit write twice" registers,    in that
   they take a 16-bit value in two 8-byte writes. (Best way to think of it is of    a
   Mail Man tearing a letter in half, and putting the two halves in one at a time!    =P )
        lda	  #$80 	        ; load low part of #$0080.
        sta	  $00210d       ; Store in 'Background 1 Horizontal Scroll' Register.
        lda	  #$00 	        ; load high part of #$0080.
        sta	  $00210d       ; Store in 'Background 1 Horizontal Scroll' Register.
		
      The above code can be entered in RAM-Editor as follows:
   1. Set "Address" to $00210d
   2. Press TR
   3. Set "Write Value" as $80
   4. Press B
   5. Set "Write Value" as $00
   6. Press B
   ==========================================================================
      Colour Effects.
===============
        lda	  #$02 	        ; Parameter for 'Fixed Colour Add/Sub' Enable.
        sta	  $002130       ; Store in 'Initial Settings for Colour Add/Sub' Register.
        lda	  #$71 	        ; Affect BG1 and Background colour.
        sta	  $002131       ; Store in 'Designation of Colour Add/Sub' Register.
        lda	  #$f7 	        ; %111 00111: RGB component set to 7.
        sta	  $002132       ; Store in 'Fixed Colour Data' Register.
   
   
   I'll leave this one for you to try!! =)
   Please just try experimenting with any of the settings, and refer
   to the S-NES PPU Register Reference!!
      
   I hope you found this fun to play with some of that Hardware that's behind
   those games you know 'n luv!! I would like to know if you found it
   of any use! :)
      -- FH