It is currently Fri Dec 15, 2017 9:11 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 49 posts ]  Go to page 1, 2, 3, 4  Next
Author Message
 Post subject: I Made a Sudoku Thing
PostPosted: Thu Apr 23, 2015 1:14 pm 
Offline
User avatar

Joined: Sat Jan 03, 2015 5:58 pm
Posts: 368
Location: ...
http://www.smspower.org/forums/15481-Sudoku

Once again it's for the SMS. There's only like 5 puzzles in the game right now, but I plan on writing a program to generate somewhere around 700 of them.

Enjoy.


Top
 Profile  
 
PostPosted: Thu Apr 23, 2015 3:52 pm 
Offline
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3153
Location: Nacogdoches, Texas
I didn't know you were a SMS guy. The system seems pretty cool to me and it has the advantage of having an R-Type port (not that it matters anymore though with MAME) but sprites not having flip bits and no vertical line per line scrolling kind of dampens it. Also, doesn't the SMS use vram? I imagine in several situations, the tile data would about be halved for flipped versions of existing graphics. I guess you could blast more tiles in, but I don't know how much bandwidth there is. Sorry about my random discussion.


Top
 Profile  
 
PostPosted: Thu Apr 23, 2015 5:08 pm 
Offline
User avatar

Joined: Sat Jan 03, 2015 5:58 pm
Posts: 368
Location: ...
I'm gonna take your little chunk one piece at a time. (Gonna ignore the MAME part, cuz I know nothing about that).

Quote:
I didn't know you were a SMS guy.

It's pretty much my main console. XD

Quote:
but sprites not having flip bits and no vertical line per line scrolling kind of dampens it.

Yup, I suppose so. At least mapped tiles can be flipped.


Quote:
Also, doesn't the SMS use vram? I imagine in several situations, the tile data would about be halved for flipped versions of existing graphics. I guess you could blast more tiles in, but I don't know how much bandwidth there is.

Yup, in fact the whole display is just a certain part of vram being "transposed" to the screen. Yes, flipped tiles means less space taken up, and thankfully the SMS supports them (just not with sprites).


Top
 Profile  
 
PostPosted: Thu Apr 23, 2015 5:27 pm 
Offline
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3153
Location: Nacogdoches, Texas
nicklausw wrote:
I'm gonna take your little chunk one piece at a time. (Gonna ignore the MAME part, cuz I know nothing about that).

It's just an emulator for arcade games. R-Type was originally an arcade game that utilized hardware from 1987, so it's going to look better than the SMS version, even though they play just about the same from what I've seen.

nicklausw wrote:
It's pretty much my main console. XD

Aye. I didn't know a fourteen year old would be interested in something slightly obscure like that. (I'm not trying to be mean or anything.) Generally when people think of "8-bit consoles," they think about the NES, unless you had a SMS growing up from one of your relatives like I did for the SNES and Genesis. (The SNES was the only one I actually got though, and the same one is the one I play today. That's, not the case with the Genesis, as that got sold years ago...)

Quote:
but sprites not having flip bits and no vertical line per line scrolling kind of dampens it.

Yup, I suppose so. At least mapped tiles can be flipped.[/quote]
Interesting... Is the reason sprites can't be flipped because limited space in OAM? (Or sprite ram. basically whatever you want to call it.)
I assume it isn't so much to do with the video hardware not having enough power to do so. (I really don't have a clue how consoles handle sprite flipping.)

Quote:
Also, doesn't the SMS use vram? I imagine in several situations, the tile data would about be halved for flipped versions of existing graphics. I guess you could blast more tiles in, but I don't know how much bandwidth there is.

Yup, in fact the whole display is just a certain part of vram being "transposed" to the screen. Yes, flipped tiles means less space taken up, and thankfully the SMS supports them (just not with sprites).[/quote]
How fast can tiles be uploaded and replaced though?


Top
 Profile  
 
PostPosted: Thu Apr 23, 2015 5:37 pm 
Offline
User avatar

Joined: Sat Jan 03, 2015 5:58 pm
Posts: 368
Location: ...
The speed of tiles being copied into VRAM depends on how compressed they are. When uncompressed, it's very fast. You don't have to change the actual tile to flip it, though. Explanation is further below.

Now, I wasn't ever big on Sega until I tried getting into assembly programming. I found tutorials on the SMS before the NES, so I just rolled with it. Now I have an SMS and plan on saving up for a homebrew cart.

The reason sprites can't be flipped is because there isn't a byte in sprite ram to hold it, whereas on the display each tile has a modifier byte that lets you flip the tile, use the sprite palette, so on.


Top
 Profile  
 
PostPosted: Fri Apr 24, 2015 7:31 am 
Offline

Joined: Thu Aug 12, 2010 3:43 am
Posts: 1589
nicklausw wrote:
The reason sprites can't be flipped is because there isn't a byte in sprite ram to hold it

Actually, there is... it just goes unused. (the sprite table has a gap in the middle for no apparent reason) And even then there's the byte that has the "early clock" flag (I think it applies in mode 4?).

But yeah, sprites can't be flipped, background tiles can. This is the exact opposite of how the NES handles it. (this also meant that many Master System games preferred to render more stuff with background tiles)


Top
 Profile  
 
PostPosted: Fri Apr 24, 2015 12:28 pm 
Online
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10164
Location: Rio de Janeiro - Brazil
Sik wrote:
But yeah, sprites can't be flipped, background tiles can. This is the exact opposite of how the NES handles it.

This is usually not a problem for the main character, which normally has its patterns updated for each animation frame anyway, but this can be annoying for enemies.

On the NES it's possible to design a mapper with extended tile map attributes (à la MMC5) that can flip background tiles. That would be a fun feature in a homebrew mapper.

One of the biggest advantages the SMS has over the NES are the 16-color tiles, so graphics can look more colorful overall, even comparable to Genesis games, given a good artist (Deep Duck Trouble and Astérix and the Great Rescue for example are leagues ahead of anything the NES ever saw, in terms of graphics).

Another nice advantage the SMS has is priority control on the background tiles, not on the sprites. It may not allow for the complex masking tricks that are possible on the NES (which are limited anyway, because of the low sprites-per-scanline limit), it makes drawing foreground level elements much more practical.


Top
 Profile  
 
PostPosted: Fri Apr 24, 2015 1:35 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19347
Location: NE Indiana, USA (NTSC)
Priority only on background tiles bites the SMS when the life bar drops behind the lava at 11:58.


Top
 Profile  
 
PostPosted: Sat Apr 25, 2015 12:01 pm 
Offline
User avatar

Joined: Sat Jan 03, 2015 5:58 pm
Posts: 368
Location: ...
Update, 0.2 is out. Now there's 127 puzzles, along with some other changes. Check the link in the first post or in my description to get it.


Top
 Profile  
 
PostPosted: Sat Apr 25, 2015 1:56 pm 
Offline

Joined: Thu Aug 12, 2010 3:43 am
Posts: 1589
tokumaru wrote:
This is usually not a problem for the main character, which normally has its patterns updated for each animation frame anyway, but this can be annoying for enemies.

No, it's the exact opposite, because it means either the player sprites are stored twice (big problem because it makes the ROM bigger and you can't even afford to compress these sprites, and the player usually has many more unique sprites than enemies) or they have to be flipped on the fly before uploading (big problem because that eats a significant amount of precious CPU time). For enemies there isn't much of a problem, especially if you can afford to have frames where they don't have to be flipped.


Top
 Profile  
 
PostPosted: Sat Apr 25, 2015 2:06 pm 
Offline
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3153
Location: Nacogdoches, Texas
Well, the player not being able to flip greatly affects rom, but not vram, unlike what enemies could if they stay in vram. It seems games like shmups would be best suited to the SMS's abilities, because there isn't nearly as much sprite flipping as their would be in just about any other type of game.


Top
 Profile  
 
PostPosted: Sat Apr 25, 2015 5:43 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19347
Location: NE Indiana, USA (NTSC)
Flipping is one table lookup per byte. And if you're using real-time sprite scaling, you get flipping for free because you can bake flipping into a second set of scaling tables. Or is that sort of lookup hard on Z80?


Top
 Profile  
 
PostPosted: Sun Apr 26, 2015 12:17 pm 
Offline
User avatar

Joined: Wed Feb 13, 2008 9:10 am
Posts: 596
Location: Estonia, Rapla city (50 and 60Hz compatible :P)
You just make the artistic choice of having each angle looking different, like player is left handed and gun stays in that hand. That is something I do regardless of hardware so lack of sprite flipping never bothers me.

_________________
http://www.tmeeco.eu


Top
 Profile  
 
PostPosted: Wed May 13, 2015 5:21 pm 
Offline
User avatar

Joined: Sat Jan 03, 2015 5:58 pm
Posts: 368
Location: ...
https://github.com/NicklausW/sudoku-sms

This post is fairly late, but I felt like pointing out that Sudoku is now also on GitHub, cuz why not.

I've been wanting to experiment with the NES, and have a small dev environment set up with asm6 but man, this is WAY different from what I'm used to. Something this is teaching me, however, is that when someone tells you it takes one assembly language to learn another (easily, that is,) they aren't lying.

Anyway, I've kinda figured out the differences between NESASM (I called it nesdev on accident XD) and asm6 syntax, so guess it's time to start on the (self-translated?) Nerdy Nights tutorials. Woot woot...


Top
 Profile  
 
PostPosted: Wed May 13, 2015 8:06 pm 
Offline
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3153
Location: Nacogdoches, Texas
Man! We need more SNES people, dang it! :evil: I agree on learning another assembly language is a pain. I've tried to learn ARM, (but quickly quit... (I didn't like it at all.)) pre bulls*t x86, and MIPS (which doesn't look fun either...) and I have to say that I like 65xx assembly the best. I've never had much interest in the Z80 because nothing I've ever wanted to program for uses it and I hear it's slow as molasses. I can appreciate a processor that doesn't need a very high clock speed to get stuff done.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 49 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group