Jump to content

Porting the original classic Castlevania to the 2600


286 replies to this topic

#276  

    Dragonstomper

  • 654 posts
  • Joined: 07-September 06
  • Location:South Central US

Posted Wed Dec 21, 2011 3:27 PM

View PostPAC-MAN-RED, on Wed Dec 21, 2011 10:07 AM, said:

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.ne...evel/stake.html ROM not included. :P Illya

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

#277  

    River Patroller

  • 2,348 posts
  • Joined: 03-August 09
  • Location:Providence, RI, USA

Posted Fri Dec 23, 2011 4:20 PM

View Postgrafixbmp, on Sun Aug 28, 2011 9:38 AM, said:

View Posttoptenmaterial, on Sun Aug 28, 2011 7:54 AM, said:

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!!

#278  

    Dragonstomper

  • 654 posts
  • Joined: 07-September 06
  • Location:South Central US

Posted Fri Dec 23, 2011 5:03 PM

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

#279  

    Moonsweeper

  • 280 posts
  • Joined: 09-May 10

Posted Mon Dec 26, 2011 12:48 PM

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:

Attached Image: Dracula Chamber Stairs Comparison.PNG

Illya

#280  

    Dragonstomper

  • 654 posts
  • Joined: 07-September 06
  • Location:South Central US

Posted Mon Dec 26, 2011 10:37 PM

View PostPAC-MAN-RED, on Mon Dec 26, 2011 12:48 PM, said:

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:

Attachment Dracula Chamber Stairs Comparison.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.

#281  

    Moonsweeper

  • 280 posts
  • Joined: 09-May 10

Posted Sat Dec 31, 2011 11:41 PM

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:

Attached Image: Dracula Chamber Comparison.PNG

HAPPY NEW YEAR! :D

Illya

#282  

    Stargunner

  • 1,322 posts
  • Joined: 24-May 01
  • Location:Philly

Posted Sun Jan 1, 2012 8:49 AM

:D

#283  

    Dragonstomper

  • 654 posts
  • Joined: 07-September 06
  • Location:South Central US

Posted Sun Jan 1, 2012 7:46 PM

View PostPAC-MAN-RED, on Sat Dec 31, 2011 11:41 PM, said:



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:

Attachment Dracula Chamber Comparison.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.

#284  

    Dragonstomper

  • 654 posts
  • Joined: 07-September 06
  • Location:South Central US

Posted Mon Jan 30, 2012 8:44 PM

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.

Attached File  Castlevania 2600 kernel v2.6.3.bin   4K   48 downloads

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, Mon Jan 30, 2012 8:50 PM.


#285  

    Dragonstomper

  • 654 posts
  • Joined: 07-September 06
  • Location:South Central US

Posted Sun Feb 5, 2012 6:53 PM

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.

#286  

    Dragonstomper

  • 801 posts
  • Joined: 23-May 07

Posted Mon Feb 6, 2012 9:11 AM

Any compression going on?

Would some sort of scheme work where you have one completely drawn screen and then each screen thereafter is just differential data?

Edited by theloon, Mon Feb 6, 2012 9:12 AM.


#287  

    Dragonstomper

  • 654 posts
  • Joined: 07-September 06
  • Location:South Central US

Posted Mon Feb 6, 2012 2:50 PM

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.





2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users