Jump to content
IGNORED

Porting the original classic Castlevania to the 2600


grafixbmp

Recommended Posts

Here's a utility that may also help: "Stake is a Windows-based level editor for the NES ROM, Castlevania. It was developed using Delphi 6, on the Windows XP operating system. It supports the many versions of Castlevania, such as the european ROM, the american ROM, and even Akumajou Dracula - the special rerelease of the Japanese CV. It doesn't however, support the Famicom Disk System original of CV. (Yet :))" http://www.zophar.net/utilities/neslevel/stake.html ROM not included. :P Illya

 

Now thats nice. wish I knew about this program earlier on. inspiration is high.

Link to comment
Share on other sites

Vampire Killer 2600! Are you gonna go the Gyruss route and exclude sound fx to take advantage of both sound channels?

 

 

Ever since the early stages in design and the briliant work of thegoldenband with enough music to start out with, I thought about which way to go about incorporating as much sound as possible.

 

I plan on using a music engine based directly on the one created by Richi_S. It was always what I wanted in a sound system and far better than I could ever do. I especialy like the envelopes available. Channel 0 will be lead and channel 1 the bass line. I am however hoping to add an aditional part that doesn't run during vsync. This runs as a multiplexer of the 2 channels. The portion for channel 1 adds percussion multiplexed in with the base and the additions to channel 0 are unique. with chalnnel 0, I'm going to try doing a strait multiplex between the lead music and sound FX only because one is actiual notes and the other is just noise. It will allow for musical continuity even though it may not sound great at least it will be less broken and still allow for SFX. nd because they are so diffrent from each other, the SFX will have their own volume controls and will never share the same waveform as the lead in order to keep distiction between them.

 

To interpit this for a novice like me....

 

Are you talking about a way to squeeze more than two sound channels out simultainiously?

 

Thanks and Merry Christmas!!

Link to comment
Share on other sites

eh yes and no. of the 2 real channels the system has, they will both be doing harmony music with a lead and a base line almost all the time.The sound channel settings can be adjusted really anytime while the game runs but often this is designed to adjust the settings 60 times a second. The channel doing the base line also handles pricussion. pricussion sounds are fast, short, and full of noise. When this happens, pricussion simply over writes the current musical data for a single frame. Just enough to get a "tat" sound without destroying the sound of the base once the it has been reloaded the next frame.

 

I havne't tested the last part yet, but It may accomplish what I want to hear. sound FX are short sound patterns that last less than a few seconds. since they are so diffrent from the actual game music, I want to alternate between lead and soundFX by alternating them 30 times a second. its gonna be choppy but may hold continuity with the music.

 

If I wanted to really get extra channels out of the 2 the system has, I'd probably need to adjust them every 2-4 scanlines.

 

say roughly (262/ 3)*60 = big #. bigger than I want to mess with lol

Link to comment
Share on other sites

I think I did this right... I was just experimenting with the 78 scanline layout, and lemme tell ya... it's not easy, but then again it's not too difficult either just time consuming:

 

post-26314-0-51681100-1324924133_thumb.png

 

Illya

Everything is quite recognizable. But you also get to choose the background color behind the visible scanline. the left and right borders are always black though.

Link to comment
Share on other sites

 

 

I adjusted the colors to the Atari palette, made some minor changes to my first drawing and finished all of the screens of Dracula's Chamber:

 

post-26314-0-56759200-1325395917_thumb.png

 

HAPPY NEW YEAR! :D

 

Illya

 

excellent. when I get f4sc setup, I'll start loading in screens to test the screen loading code. this part should be the easiest of all.

  • Like 1
Link to comment
Share on other sites

  • 5 weeks later...

Ok ladies and gents, after a time where I couldn't concentrate on coding. i'm slowly coming back with some long time comming help from my roommate. Your a lifesaver Matt. It's a small update (very tiny) but it means all the world to me since it works properly now and I'm no longer frustrated by it. He can now crouch with the best of them. God knows what will be comming next.

 

Castlevania 2600 kernel v2.6.3.bin

 

Well, kinda spoke too soon. It works, don't get me wrong. But a bug crept back up when going from down to an imediate left or right. Just a split second graphics garble that i'll fix later. Otherwise, I'm perfectly happy with the results.

Edited by grafixbmp
  • Like 2
Link to comment
Share on other sites

Ok. Thought I would share some quick info about data storage of the game. In particular enemies, all candles (where and what). all hidden items, brick items All collision detection, and level screens. All info for each screen takes 50 bytes.

 

for each screen:

1 byte for enemy

4 bytes for candle/brick/hidden items

5 bytes for collision data

and 40 for playfield image data

 

Since I intend to use f4sc for the bankswitching format, this is the basic grouping of the ROM starting with the above mentioned:

 

 

About a page an a half for screen data

 

Two pages for all graphics image data as well as screen kernel

 

one page for music and sound.

 

one page for all object attributes and tables

 

one page for main game engine

 

And what ever is left for opening/ map sequence/ closing/ an anything else left.

 

Gonna suck now cause I need to build some extensive tables of data.

  • Like 1
Link to comment
Share on other sites

As a matter of fact, there is a sort of compression going on.

 

Each screen worth of data (40 bytes) pulls its graphic info from one of 2 master data tables.

 

5 bytes for collision data references the 40 bytes themselves which in turn re-references the 40 bytes again. 1 = used for collisions 0 = ignore for collisions.

 

4 bytes for nearly all items is split into 2 groups

 

2 indicate positioning and depending on what the positioning is, may indicate what type of items there are to be placed

 

The other 2 indicate 4 items per screen.

 

with the last full byte for enemy data.

 

Alot o his comes from table lookups which is where the compresion comes from. Not much diffrent from techniques use for music compaction.

Link to comment
Share on other sites

Hello all. I've been redesigning the screen layout to come closer into sync with the look of the NES version and in doing so added more color to the scene. this may closer refect the final look than anything thus far. Once I have the screen loader code in place and simon can move, then new screens will be added. enjoy the latest demo.

 

Castlevania 2600 kernel v2.6.3.bin

 

post-10601-0-96647600-1329203897_thumb.png

 

Thanks go out to pac man red. Your rendition of dracula's castle helped me to upate the first level. And to the others who have contribute as well. Much thanks.

Edited by grafixbmp
  • Like 3
Link to comment
Share on other sites

been thinkin about adding in another level of compression to data storage. This may or maynot work but it's worth exploring. I already have 5 bytes to indicate which scanlines are used for collisions. I thought about breaking the screen into 8 sections am use a single byte to tell the screen kernel to switch over to one that loads the screen data diffrently. It would only store the first and second bytes/sections of the screen, and then, with the timming right, re-store that same data backwards.

 

data:

A

B

C

D

F

 

Color PF1 PF2 PF2 PF1

 

standard kernel

 

B A C D F

 

repeat kernel

 

B A C A C

 

And then collision etection will take this into effect based on the byte that shifts the kernel(s)

.

Link to comment
Share on other sites

  • 4 months later...

It's a rare treat that I have today to share with you some of the recent progress with castlevania 2600. I don't have regular access to an ISP anymore so updates will be sparse. With that said, here are 2 versions with some new additions. Jumping is added and previous bugs with crouching are gone. I still haven't aded horizontal movement yet. Both versions have the same controls but I've added a new background to one. Enjoy.

Link to comment
Share on other sites

It's a rare treat that I have today to share with you some of the recent progress with castlevania 2600. I don't have regular access to an ISP anymore so updates will be sparse. With that said, here are 2 versions with some new additions. Jumping is added and previous bugs with crouching are gone. I still haven't aded horizontal movement yet. Both versions have the same controls but I've added a new background to one. Enjoy.

Castlevania 2600 kernel v2.6.4.bin

Castlevania 2600 kernel v2.6.4.5.bin

  • Like 2
Link to comment
Share on other sites

It's a rare treat that I have today to share with you some of the recent progress with castlevania 2600. I don't have regular access to an ISP anymore so updates will be sparse. With that said, here are 2 versions with some new additions. Jumping is added and previous bugs with crouching are gone. I still haven't aded horizontal movement yet. Both versions have the same controls but I've added a new background to one. Enjoy.

 

Good to see you're still working on it. It's been a while since this thread's been at the top...

Link to comment
Share on other sites

  • 8 months later...
  • 4 months later...

Bump!

 

Been awhile since there were any updates. Jan 1st 2013 was also the last time that grafixbmp was in the forums. Hope everything is okay.

 

Well, I appreciate the concern. Everything is fine now. Took some time to get back on my feet with the horrible economy the way it is. been in a new job for a while. Just recently got Internet access up and running and a new computer. So ive had alot on my plate the last couple of years and have now been able to even consider getting back to coding. But the coding I want to begin with won't be castlevania right now. When I do, im starting with a fresh kernel.

 

Right now i'm doing some starting work on another game that I've had in the back of my mind for a while and want to have some rock solid stuff before I reveal too much.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Well, I appreciate the concern. Everything is fine now. Took some time to get back on my feet with the horrible economy the way it is. been in a new job for a while. Just recently got Internet access up and running and a new computer. So ive had alot on my plate the last couple of years and have now been able to even consider getting back to coding. But the coding I want to begin with won't be castlevania right now. When I do, im starting with a fresh kernel.

 

Right now i'm doing some starting work on another game that I've had in the back of my mind for a while and want to have some rock solid stuff before I reveal too much.

 

Welcome back! :D

 

I'm desperately looking for work myself in these hard economic times as I've been out of work for nearly a year now. That's my sob story. Anyway, glad to have you back and I wish you well. :)

 

illya

Link to comment
Share on other sites

  • 5 months later...
  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...