Banner
Views: 722,868,098
Time:
14 users online: Emerald Shell, HammerGuy, Kazzzy, Kusrry, Mirann, Mr. K, Nicoke42, Pargelon, Sparky, Thomas, thtswutshesaidz, Tobio, WalkingPlaces, WhiteYoshiEgg - Guests: 63 - Bots: 145Users: 37,793 (1,822 active)
Latest: The Shocking Enterprises
Tip: Use Gopher Popcorn Stew to insert custom blocks into your hack.Not logged in.
I want to make a SNES game
Forum Index - Non-SMW Hacking - Misc. ROM Hacking - I want to make a SNES game
Pages: « 1 2 »
*Just so everyone knows, I am new to this community, and if I should post this topic on another thread or even another website, feel free to let me know and I will*

I want to begin making a SNES game. I have read Ersanio's "ASM for SMW" and his "ASM for the SNES", but unless I (probably) missed something, I can only do basic math with the stuff I learned from there. If you know of any tutorial that will be able to help me make a moving sprite or sound come out, it would be great if you could let me know.

Thanks in advance!
Well there's you're problem! Ersanio's document on this is pretty bad... There is a crap-ton of documents on programming the SNES on Rom Hacking.net. You can even find a link to the site here! hope that helps!
Thank you!

I will look into it when I have a chance.
Do you have any suggestions for documents? I am looking for ones talking graphical things, such as putting sprites on screen, vram, cgram, oam and other stuff. I got a vague hint of those things in something I read, and they seem to be important to what I am trying to figure out.
Thanks!
You could try looking at this series, but it mostly just covers the basics and doesn't really explain things from a coding perspective. It's not complete, either, but it's getting there.


My Little Pony: Cutie Re-Mark Adventure is on hiatus.
The authors of these 2 My Little Pony fan games have removed their games from the Internet. Download them now. Mirror 2. Spread these links!

I saw those, and they did help my understanding of how it worked alot. Thanks for replying anyway!
Originally posted by Thatguysotchi
I saw those, and they did help my understanding of how it worked alot. Thanks for replying anyway!

Me personally... I actually once was going through a short phase where I was actually discovering graphical formats for older consoles for myself. You know... after learning about binary. I was able to figure out how 8x8 tile are stored. The SNES was pretty tough to figure out! So I asked about it here. I don't think I got a reply very quickly. But I eventually figured it out on my own through YY-CHR. It turns out the entire time it was just the 2bpp Game-boy format with double the bit-planes (4bpp). Which leads to having a total of 15 visible colors minus transparency (Which I already knew obviously). By the time I got back to the post I made asking about this, I already knew about most of what was said, But I did learn about 8bpp on the SNES. So yeah...
Ok, after looking around, I found Bazz's tutorial over on the Super Famicom Dev Wiki very very helpful. But it is old and confusing, and once it starts talking about 2bpp and Gameboy, it looses me.

To my understanding so far: I am pretty sure that CGRAM holds the palettes for the tiles. And, VRAM holds an array of tiles that are copied from OAM (not so certian about OAM) using DMA. I think VRAM also a map that says which tile (from the array) goes where. I think that the values in the VRAM map are automatically outputted to the screen.

Please correct me if I am wrong. Thanks in advance!

P.S. I have not started on sprites yet. It would be helpful if you could link an easy to understand tutorial that explains it!
Have you looked at Nintendo's official.... h I forget what they call it. It's two books with information about the snes.
You might also consider reading disassemblys or sprites psople have written here to understand stand better.
Do you mean this?

If so, I'll look into it. Thanks!
Yes I do. Have you coded for anything else?
I know java, and that is pretty much it.
Originally posted by Thatguysotchi
Ok, after looking around, I found Bazz's tutorial over on the Super Famicom Dev Wiki very very helpful. But it is old and confusing, and once it starts talking about 2bpp and Gameboy, it looses me.

You said it lost you on 2bpp and Gameboy right? Well I can explain that easily!
You see... There's 2bpp which uses 3 colors plus transparency which is the same format for the Gameboy and also is the format used in BG3 with certain modes,3bpp which uses 7 colors plus transparency,4bpp which uses 15 colors plus transparency the most common format used by the 8 modes and also the only format that sprites are capable of using ,then there's 8bpp which uses 255 colors plus transparency!

I will now explain bit-planes.(bpp for short) A bit-plane is one byte that's one horizontal row of 8 pixels for 8 bits.(Assuming you know about binary.) Here's an example.

00111100

0=transparency
1=an opaque pixel

And given this is an 8x8 tile. a full 1bpp tile would be this.

00111100
01000010
10011001
10111101
10111101
10011001
01000010
00111100

If we add a 2nd bit-plane to the equation it would be like this.

00111100 00000000
01000010 + 00111100
10011001 01100110
10111101 01000010
10111101 01000010
10011001 01100110
01000010 00111100
00111100 00000000

any 1 in the 2nd bit-plane is the second color. But when a 1 in the 2nd bit-plane intersects with another 1 in the same place you get the third color, And this is just 2bpp as an example! it just gets more complex with the more bit-planes you add! Here's a summary of 4bpp as I figured it out myself! (I had to read about 8bpp on another website to know that it even existed, It's also too excessive to list.)

2bpp

Color-0 (No Bit plane) 0000-0000
Color-1 (Bit plane 1) 0000-0001
Color-2 (Bit plane 2) 0000-0010
Color-3 (Bit plane 2+1) 0000-0011

3bpp

Color-4 (Bit plane 3) 0000-0100
Color-5 (Bit plane 3+1) 0000-0101
Color-6 (Bit plane 3+2) 0000-0110
Color-7 (Bit plane 3+2+1) 0000-0111

4bpp

Color-8 (Bit plane 4) 0000-1000
Color-9 (Bit plane 4+1) 0000-1001
Color-A (Bit plane 4+2) 0000-1010
Color-B (Bit plane 4+2+1) 0000-1011

Color-C (Bit plane 4+3) 0000-1100
Color-D (Bit Plane 4+3+1) 0000-1101
Color-E (Bit plane 4+3+2) 0000-1110
Color-F (Bit plane 4+3+2+1) 0000-1111
oohhh, so that is what a bit plane is! I think bpp stand for Bits Per Pixel, right? So, by using that, a four bpp tile uses four ones or zeros per pixel to display color, I think. Thanks for explaining it to me!
Thanks Yak, that was an interesting read.
Is it like that for sprites as well?
There needs to be a website specifically for SNES homebrew, with lots of code libraries and stuff.
Originally posted by Thatguysotchi
Is it like that for sprites as well?

It's like that for all graphics. Except for Mode 7 tiles those use a completely different graphical format from all the other formats,Mode 7's graphical format is more similar to the graphical formats on the Genesis/GBA than on other Nintendo consoles, Sprites in all 8 modes only use 4bpp and nothing else.
Thanks!
A lot of 65816 ASM tutorials say you should not start off on 65816 if you haven't coded ASM yet. I first ignored them, but now I see my error. What is a good assembly to start off with? 6502? What are some tutorials, and where can I find some?
Pages: « 1 2 »
Forum Index - Non-SMW Hacking - Misc. ROM Hacking - I want to make a SNES game

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2019 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 24

Menu

Follow Us On

  • Facebook
  • Twitter
  • YouTube

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented