It is currently Sun Oct 22, 2017 3:10 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Sun Jul 06, 2014 8:30 pm 
Offline

Joined: Wed Mar 19, 2014 4:31 pm
Posts: 14
Hey folks! Decided to dive into NES development a bit, and started with Shiru's C setup to get my feet wet. I've completed my first project, a port/version of robotfindskitten (it's virtually 100% new code, so I'm not sure "port" fits).

More information about it can be found at http://robotfindskitten.org . I've submitted it to the site to be listed, but it may not be up there yet. It's available for download at http://iamscott.net/robotfindskitten.nes , so feel free to give it a spin. I'm considering adding a two player mode, even though it's not canonical to the game. Or maybe even four player mode?


Top
 Profile  
 
PostPosted: Mon Jul 07, 2014 4:42 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6294
Location: Seattle
Only concern: on NTSC NESes the top and bottom 8-16 scanlines may be concealed by the top and bottom of the screen.

Otherwise, looks like a quite competently done port!


Top
 Profile  
 
PostPosted: Mon Jul 07, 2014 4:48 pm 
Offline

Joined: Wed Mar 19, 2014 4:31 pm
Posts: 14
Hmm, I thought I'd accounted for that (I'm in an NTSC territory myself), but that's a fair point. I'll have to do some more testing and perhaps adjust it. I'll be putting it on a real cartridge, perhaps tonight, so I'll be able to test it on actual hardware. I'll definitely tweak it if it looks like a problem.


Top
 Profile  
 
PostPosted: Mon Jul 07, 2014 5:15 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6294
Location: Seattle
May as well mention a wishlist item while I'm here: how about a proportional font for the NKI text (like what tepples is using for RHDNRHDE) ?


Last edited by lidnariq on Mon Jul 07, 2014 8:51 pm, edited 2 times in total.

Top
 Profile  
 
PostPosted: Mon Jul 07, 2014 5:35 pm 
Offline

Joined: Wed Mar 19, 2014 4:31 pm
Posts: 14
You're right, it would have been cut off if I'd put it on a cart. Did some comparison with other games and I misunderstood how the emulator was presenting it. I've also corrected a bug with bounds checking that let robot move too far up. Good catch and thanks for the advise; I'm still brand new to this. Saved me having to resolder an eprom!

As for the proportional font, I'll look into it. I probably have the chr space for it - right now half of it is taken up by "beta content" from before I'd finalized my title screen. I was sort of going for the "retro" look, as the original rfk was written for DOS and many of the early ports were for fixed-width consoles. I'm already deviating from the baseline rfk anyway, so there'd be no harm to it.

I've reuploaded a fixed version to the same location. Feel free to update.


Top
 Profile  
 
PostPosted: Mon Jul 07, 2014 8:40 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19115
Location: NE Indiana, USA (NTSC)
RHDN is either romhacking.net or something to do with Red Hat. RHIDE is Robert Höhne's DJGPP source code editor. RHDE is the furniture arranging game. I know it can sometimes be confusing.

A proportional font needs CHR RAM, so you might start by porting to that. Do you plan on making source code available? Otherwise I might have to start my own RFK port from scratch.


Top
 Profile  
 
PostPosted: Mon Jul 07, 2014 9:05 pm 
Offline

Joined: Wed Mar 19, 2014 4:31 pm
Posts: 14
tepples wrote:
Do you plan on making source code available? Otherwise I might have to start my own RFK port from scratch.


I've submitted it to robotfindskitten.org as an official port, which requires the source to be gpl. So it'll be available there once it's posted. I'm working on getting a q&d webpage up about it; I'll throw the source up there.

Since the C environment is limited to NROM, using CHR-RAM with it would be tricky. Even more reason to dig into proper assembly :D


Top
 Profile  
 
PostPosted: Mon Jul 07, 2014 9:16 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19115
Location: NE Indiana, USA (NTSC)
Mapper 0 + CHR RAM should work in most emulators, and rewiring an authentic NROM board for it is as straightforward as any other NES repro. That's the configuration that both Ian Bell's tank demo and RHDE use.

Would the villain be Sirhan?


Top
 Profile  
 
PostPosted: Tue Jul 08, 2014 8:36 am 
Offline

Joined: Wed Mar 19, 2014 4:31 pm
Posts: 14
I'll take a look. I don't have a spare CHR-RAM right now but I'm sure I could find a donor somewhere. I've done a couple MMC3 repros so I'm sure I can handle it.

I've also made a real cartridge of this, and I'm seeing a strange background color problem on the text. I've tried it in a couple different emulators and it doesn't exhibit that problem. I also ran into an invisible NKI, which I haven't seen in the couple hundred rounds I've played on an emulator. Odd. It doesn't seem to correspond to anything I can see. Also makes me miss my CRT.

Image


Top
 Profile  
 
PostPosted: Tue Jul 08, 2014 8:46 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2963
Location: Tampere, Finland
Not sure what is causing it, but that's certainly the attribute table getting corrupted for whatever reason.

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
PostPosted: Thu Jul 10, 2014 5:30 am 
Offline

Joined: Wed Mar 19, 2014 4:31 pm
Posts: 14
I finally got around to packaging up the source and stuck it up at http://iamscott.net/rfk/rfk-src.zip . Also threw up a quick page at http://iamscott.net/rfk . The source could still use a little more cleanup; I made an attempt to at least comment everything but there's a couple vestiges of leftover bits.

I also included the modified neslib.s where I changed out the RNG.


Top
 Profile  
 
PostPosted: Fri Jul 11, 2014 2:04 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19115
Location: NE Indiana, USA (NTSC)
So anyway, I've read through the RFK RFC, and I found a few points that I don't think are so easy to satisfy on NES. Fortunately, both of these are marked SHOULD because of platform limits that the RFC acknowledges.

Quote:
11.2. Programmatic Sources

These descriptions SHOULD come from a static, external source in order to facilitate the addition and subtraction of custom non-kitten items without recompilation. Early versions of robotfindskitten used an embedded, hard-coded NKI list. This design is deprecated. There is no standard format for the NKI file, although a user-friendly format (such as plain text) is RECOMMENDED.

Unless something reads NKI descriptions from a text file at $6000-$7FFF, I don't see how to satisfy external editability.

Quote:
10.2. kitten and Non-kitten Items

The number of non-kitten items SHOULD be configurable before the start of a new simulation.

Due to memory limits associated with the definition of each item (position, color, and identity make 5 bytes) and the PPU's limit on adjacent sprites, I don't see how more than, say, 15 NKIs on an NES-size screen are practical especially with two robots running around.

As an exercise, I spent the past four days implementing my own version of robotfindskitten with a variable width font and 2 robots. It currently fits the "engine", including all code, instructions, and the font, into 4352 bytes ($8000-$90FF), leaving the rest of the ROM for NKI descriptions. (I'm working on getting that down to the symbolic 4096.) And those are compressed with byte pair encoding, which is common in Super NES RPGs, to save about one-third vs. straight 8-bit ASCII. I don't want to release it publicly just yet in order not to steal your thunder.


Top
 Profile  
 
PostPosted: Fri Jul 11, 2014 3:44 pm 
Offline
Formerly 43110
User avatar

Joined: Wed Feb 05, 2014 7:01 am
Posts: 311
Location: us-east
tepples wrote:
So anyway, I've read through the RFK RFC,...
I took a double take after reading that sentence. I guess technically it's an expired draft rather then a numbered IETF RFC.


Top
 Profile  
 
PostPosted: Fri Jul 11, 2014 5:08 pm 
Offline

Joined: Wed Mar 19, 2014 4:31 pm
Posts: 14
Huh. Oddly enough I'd missed the RFC in the download list, embarrassingly enough. That might have tweaked the final design, but ah well. NES games were often... adapted for the platform anyway :D

I'd worked a bit on implementing runtime NKI count selection, but I spent a lot of time chasing a bug that caused my KoNKI to flicker above about 30, and by the time I fixed that I forgot about it. I was also thinking about implementing a two-player mode, but I didn't want to take up so much of the screen with text lines. A variable-width font may help that if it can take up less space. I may yet add them, if I get frustrated by my next project (a re-implementation of Dance Fantasy by Fisher Price. I know, silly choice, but it has a lot of memories of my sister and me growing up. It actually has a lot of frames of animation and a somewhat complex dance performance routine. Especially considering the whole thing was in 8k on an Atari 8-bit cartridge. It'll also let me practice my sprite animation and music/sound handling).


Top
 Profile  
 
PostPosted: Fri Jul 11, 2014 5:45 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19115
Location: NE Indiana, USA (NTSC)
Is this what it might look like?


Attachments:
my_rfk_implementation.png
my_rfk_implementation.png [ 1.04 KiB | Viewed 3348 times ]
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 guests


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