Archive for February, 2008

It Lives!

February 24, 2008

So, it only took almost 2 years, but there it is, a VWF in Bare Knuckle 3! Check the main site for me screenshots. I still need to implement the code to initialize the VWF routine for Blaze’s letter and the warning message that’s shown before Stage 1, and I need to go over the script to see how much work it needs. Needless to say, the shot above and on my site are in no way any indication of the final patch.

Garbage, Garbage Every Where

February 23, 2008

So, I’ve been working on the VWF for Bare Knuckle 3 practically all day and I’ve just about got it and I’ve never been so happy to see random garbage spewed all over the screen. I started this day armed only with a flowchart and some pseudocode and I stand (sit really) before you with 24kb of code (that’s a little under 8 pages of code). There’s a few kinks left to work out of it, but they shouldn’t be too terribly difficult to fix. It really just depends on how many bugs I find in SEKAS.

On a somewhat related note, someone really needs to code a debugger for the Genesis. Debugging with only Gens Tracer is a bit of a pain. Great tool, it just doesn’t offer me the ability to stop execution mid-game and examine RAM like I need to. Fortunately, it isn’t that much more work this way. I’d still like to have a debugger, though.

All in all, today’s been an extremely productive day. I can’t recall the last time I spent all day working on a project and not wanting to kill someone by the time the day was over. I’m definitely gonna have to do this again. Yes, again…

Bare Knuckle 3: A Progress Report

February 16, 2008

As those of you who’ve checked the main site in the past week or so know, I’ve been working on Bare Knuckle 3 a lot in the past week. Actually, it’s been a week today since I started working on it again. Since this time last week, I’ve managed to figure out all of the text read and tilemap write routines that the game uses.

I spent most of today testing non-VWF code that I could test with the Japanese text still in place. Instead of having three independent routines to read text, they’re all now routed to a single routine. The tilemap routines, however, will stay independent of one another as they’re each handled slightly differently from the other. I’ve also thrown together a VWF routing. Although I haven’t begun testing it yet, I’m fairly confident that it’ll work.

At the moment I’m trying to come up with a viable way of handling line breaks. You see, instead of there being a control code like normal games, BK3 loads and draws an entire string in VRAM, one character right after the other. Line breaks (and line lengths) are determined in the tilemap routines. As you might have guessed, they’re hardcoded. I need to study the code a bit more and see what the most efficient course of action is.

There ya have it folks. Progress.  I hope you’re all as excited about this as I am. Like I’ve been saying for the past year, once SEKAS was finished up  progress on BK3 would pick up and sure enough it has. Stay tuned kiddies, we might just see make that Christmas ’08 release afterall.

SEKAS Update

February 9, 2008

I’ve spent the past 5 hours fixing bugs I’ve found in SEKAS over the past few months and it looks like I finally got them all. Most importantly, as I may have mentioned in a previous post, is the use of labels within non-branch and non-jump instructions, like the move “family”. Here’s an example:

movea.l text_read,a2

Now, instead of reporting text_read as an invalid source operand, SEKAS will take the label “text_read”, see if it is a label, and replace it with its effective address. That means you can have data stored in the source code and access it elsewhere by addressing it via a label. Pretty handy feature, n’cest pas?