NES Mode7

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

User avatar
oRBIT2002
Posts: 643
Joined: Sun Mar 19, 2006 3:06 am
Location: Gothenburg/Sweden

Post by oRBIT2002 »

Very cool! I've always loved bitmap rotators. :)
Perhaps it would be possible doing a fullscreen 4x4 bitmap rotator, each pixel representing 4x4 pixels of a tile. Would perhaps be a bit faster at the cost of resolution?
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Yes, that would use exactly 256 tiles for possibilty. However, the resolution would be 32/2x30/2 wich is 16x15. It should then be about 4 times faster than my current demo. Maybe worth a try, altrough I doubt it will look any good.
User avatar
oRBIT2002
Posts: 643
Joined: Sun Mar 19, 2006 3:06 am
Location: Gothenburg/Sweden

Post by oRBIT2002 »

I'm looking forward to a new "demo" soon then. :)

I remember on the Amiga when using "low-resolution" graphics (like 4x4 or even 8x8 pixelblocks), sometimes every second pixelrow was scrolled a few pixels to the right to simulate "dithering". I'm not sure if this would work on the NES or perhaps it would take alot of raster-time to make it possible..
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Hey, I've finally done a working version of a NES mode 7 screen that :
- Uses the whole screen with bigger 4x2 pixels
- Is a lot faster (uses enormous lockout table+self modifying code), but it's still slow (it takes 36 frames to update the image instead of about 100 as before).
- Is still made of 64x64 "pixels", but this time it takes slighly more than one scanline to calculate it, and it does both timed $2000 writes and maths at the same time, leaving a little time for the CPU to do something else on the bottom of the screen
- Only uses NROM-128 configuration, but with SRAM (SRAM is used only to decompress the image's graphics, it could be ROM as well, but waste a lot of space). Also, the battery bit is set so that Nintendulator and Nestopia emulates SRAM, but there is no battery needed technically.

You can dowload this demo here : http://jonathan.microclub.ch/rotation

Note : It works as exepted in Nestopia, Nintendulator, VirtuaNES and FCEUltra (don't work only on Nesticle so far) but I really wish someone would test this on hardware, because I have no EPROM programmer, and even if I had I couldn't port the demo to PAL timing, because it uses all NTSC cycles for calculation exept 3 or 4, and PAL timing is shorter.
Celius
Posts: 2159
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Post by Celius »

Wow, this looks pretty cool! It's a lot smoother than the other one. It seems that pre-defined large pixels can actually do a lot. I was considering using them for a ray-casting demo on the NES. But this is kind of a break-through. Mode 7 on the NES is really possible without looking bad.
User avatar
Zepper
Formerly Fx3
Posts: 3264
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Post by Zepper »

...and it works with RockNES too. Why do you always make RockNES blind between us?
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

I'm glad you guys like it, I don't mention RockNES because I haven't installed it on my PC but I will if you insist.

Personally I think the big pixels doesn't good really good, especially when scaling the thing down. While technically havin the same number of "pixels" than the old one, this one looks better because it takes the whole screen but worse because of big pixels.
Celius
Posts: 2159
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Post by Celius »

Just a suggestion:

For this demo, you should update the next frame on one name table, and have the camera on the other, and after the other name table is done updating, just switch over to it. So you don't see the updates.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

I already use both nametables to make pixels smaller vertically (4x2 instead of 4x4), so this wouldn't be possible without 4-screen mirroring.
If you didn't even notice that I should belive my timed code is perfect then (it probably isn't).
CKY-2K/Clay Man
Posts: 214
Joined: Sun Apr 01, 2007 2:10 pm

Post by CKY-2K/Clay Man »

Wow I really hate when a site is down
Image
Here to at least get an idea of how the NES works. I mean I know alot of the basic things, but this place'll help me grasp more how NES functions.
Major respect to NES developers.
Celius
Posts: 2159
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Post by Celius »

CKY-2K/Clay Man wrote:Wow I really hate when a site is down
Are you suggesting Bregalad's site is down? I was able to get on it just fine.
Roth
Posts: 400
Joined: Wed Aug 03, 2005 3:15 pm
Contact:

Post by Roth »

CKY-2K/Clay Man wrote:Wow I really hate when a site is down
If you ARE referring to Bregalad's site, I usually have the same problem. I have to use a proxy site to access it, so maybe that will help you too.
CKY-2K/Clay Man
Posts: 214
Joined: Sun Apr 01, 2007 2:10 pm

Post by CKY-2K/Clay Man »

Roth wrote:
CKY-2K/Clay Man wrote:Wow I really hate when a site is down
If you ARE referring to Bregalad's site, I usually have the same problem. I have to use a proxy site to access it, so maybe that will help you too.
Yes, but when I use vtunnel.com the NES rom directs me to a bunch of text shit.
Image
Here to at least get an idea of how the NES works. I mean I know alot of the basic things, but this place'll help me grasp more how NES functions.
Major respect to NES developers.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Well, my "site" (http place where I upload my stuff would be more correct) doesn't seem down, but the link just points to a repertory (no index.html here), maybe this cause problem in some browsers (it doesn't in Firefox).
If you're just interested in the rom (and not in the source) then download from the following rom instead : http://jonathan.microclub.ch/rotation/rotation.nes
CKY-2K/Clay Man
Posts: 214
Joined: Sun Apr 01, 2007 2:10 pm

Post by CKY-2K/Clay Man »

It wont work in firefox either.
Image
Here to at least get an idea of how the NES works. I mean I know alot of the basic things, but this place'll help me grasp more how NES functions.
Major respect to NES developers.
Post Reply