That BioMechanical Dude's Youtube Channel

You can talk about almost anything that you want to on this board.

Moderator: Moderators

User avatar
BioMechanical Dude
Formerly AlienX
Posts: 137
Joined: Fri Apr 18, 2014 7:41 am
Location: Bulgaria

That BioMechanical Dude's Youtube Channel

Post by BioMechanical Dude » Fri Oct 09, 2015 12:03 pm

Because I'll make more than "Obscure Room" reviews on my channel, I decided to create this thread, where I will notify you every time I upload a new video.
Speaking of "Obscure Room"... I just uploaded the third episode! Sorry it took so long to make. There were some problems with the production(at one point I was cleaning my hard drive and I accidentally deleted the voice recordings for the episode :oops: ). I'll try to make these more often(after all, how are you supposed to build up a good audience, if you don't release stuff frequently).

Today's game is... "Castlevania" for the MS-DOS! Yeah, did you know there was a port of "Castlevania" and a bunch of other Konami games for the old IBM PC? Did you also know how horrible most of them are? In this review, I'll take a look at the "Castlevania" port and see why it doesn't hold up to the original.

Here's the link to the video:
https://youtu.be/hL-Vwn0OyMk

Take a look at it and tell me what you think. As I make more videos, I try to improve my skills, so it's very important for me to know what works and what doesn't. Your feedback will be very important.

Also, can you figure out which game I'll be reviewing next? Tell me your guess!

About other types of videos I'll post: one of them is coming very soon. It's a project of mine, that was released on the Famitracker forums a while ago... But this time... it's gonna be in Stereo!
Greetings! I'm That Bio Mechanical Dude and I like creating various stuff like movies, games and of course chiptunes!
You can check out my YouTube Channel.
You can also follow me on Twitter.

User avatar
dougeff
Posts: 2712
Joined: Fri May 08, 2015 7:17 pm
Location: DIGDUG
Contact:

Re: That BioMechanical Dude's Youtube Channel

Post by dougeff » Fri Oct 09, 2015 11:35 pm

1 error...you state (2:45) that the NES can show 28 colors at once. I believe it's 25. 3 per palette, times 8 (4 BG / 4 Sprite), plus 1 background color.

I would guess your next will be Final Fantasy II.
nesdoug.com -- blog/tutorial on programming for the NES

User avatar
BioMechanical Dude
Formerly AlienX
Posts: 137
Joined: Fri Apr 18, 2014 7:41 am
Location: Bulgaria

Re: That BioMechanical Dude's Youtube Channel

Post by BioMechanical Dude » Sat Oct 10, 2015 5:30 am

dougeff wrote:1 error...you state (2:45) that the NES can show 28 colors at once. I believe it's 25. 3 per palette, times 8 (4 BG / 4 Sprite), plus 1 background color.
No, actually. Background palettes don't use transparency and don't share colors. So, you have 4 x 4 = 16 for the backgrounds and 4 x 3 = 12 for the sprites, which is a total of 28.
dougeff wrote:I would guess your next will be Final Fantasy II.
Nope! I said the game is based on a huge franchise, that was popular in Japan, meaning, it's a licensed game.
The music I play at the end also hints at what it is. :)
Greetings! I'm That Bio Mechanical Dude and I like creating various stuff like movies, games and of course chiptunes!
You can check out my YouTube Channel.
You can also follow me on Twitter.

tepples
Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: That BioMechanical Dude's Youtube Channel

Post by tepples » Sat Oct 10, 2015 5:35 am

Colors at palette indices 4, 8, and 12 (addresses $3F04, $3F08, and $3F0C), which are 0 of the second, third, and fourth sets of four background colors, are ignored during rendering. Color 0 of the first color set (address $3F00) is used instead. The only way to see colors 4, 8, and 12 is to turn rendering off and point the VRAM pointer at their respective addresses. This is where the 25 comes from.

The above is true of the NES, Genesis, Super NES, and Game Boy Advance. Game Boy Color, on the other hand, actually shows all distinct color 0 entries.

User avatar
Drew Sebastino
Formerly Espozo
Posts: 3503
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: That BioMechanical Dude's Youtube Channel

Post by Drew Sebastino » Sat Oct 10, 2015 7:14 am

tepples wrote:Game Boy Color, on the other hand, actually shows all distinct color 0 entries.
Wait a minute, why isn't everything like this if it's possible at all?

tepples
Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: That BioMechanical Dude's Youtube Channel

Post by tepples » Sat Oct 10, 2015 7:47 am

In the case of the NES, it's probably because the Family Computer was rushed.

The Famicom was a "skunkworks" project to one-up the SG-1000. Nintendo was impressed with how arcade-accurate the licensed port of Donkey Kong to the ColecoVision was, and I presume it didn't want Sega (whose SG-1000 console had exactly the same specs as the ColecoVision) to own the market. For more information, see 6502freak's post and the "Mario's Shame" section of this article, where Mario in DK (ColecoVision), third from the left, is the only one that actually looks like Mario pixel for pixel. So Nintendo engineers, pressed for time, didn't implement all features that they could have implemented, such as a VRAM write FIFO or more general DMA or distinct color 0 in each background palette. The Famicom was so rushed, in fact, that launch consoles had to be recalled due to hardware bugs.

In the case of the Super NES, Genesis, and Game Boy Advance, it's because color 0 isn't quite as important on a machine with 4-bit tiles and more than one background layer. Only the rearmost layer's color 0 would make sense anyway.

User avatar
Drew Sebastino
Formerly Espozo
Posts: 3503
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: That BioMechanical Dude's Youtube Channel

Post by Drew Sebastino » Sat Oct 10, 2015 9:15 am

tepples wrote:In the case of the Super NES, Genesis, and Game Boy Advance, it's because color 0 isn't quite as important on a machine with 4-bit tiles and more than one background layer. Only the rearmost layer's color 0 would make sense anyway.
Still seems kind of odd to just outright exclude it, especially when on the SNES, the most popular video mode generally has a 2bpp layer in the background... I'm guessing on a multi BG layer system, it also has to do with the fact that backmost layers would have to be treated differently then higher priority layers in that they'd actually have to look at what color the first color in the palette is instead of just ignoring it? (Kind of like how the SNES uses planar graphics so that no extra hardware is needed for different bit depths for tiles?) I'm just guessing, because to me, it seems strange that every BG layer system I know of, (obviously the Neo Geo has this behavior) including arcade systems like the Irem M92, CPS1 and 2 and others, have color 0 act as the first color in every palette on the backmost BG layer.

tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Re: That BioMechanical Dude's Youtube Channel

Post by tomaitheous » Sat Oct 10, 2015 11:28 am

AlienX wrote:
dougeff wrote:1 error...you state (2:45) that the NES can show 28 colors at once. I believe it's 25. 3 per palette, times 8 (4 BG / 4 Sprite), plus 1 background color.
No, actually. Background palettes don't use transparency and don't share colors. So, you have 4 x 4 = 16 for the backgrounds and 4 x 3 = 12 for the sprites, which is a total of 28.
It would have been a nice feature had they had a register that allowed that, sort of a "Kangaroo mode", but that wasn't the case. It's 25. It has to be for sprites to appear behind the tiles of all BG subpalettes.
tepples wrote:In the case of the NES, it's probably because the Family Computer was rushed.
Maybe. It was probably the cheaper method for sprite to tile priority feature than how the SMS does it (the tilemap entry itself has the priority flag). The PC-Engine does the exact same thing (priority setting is per sprite instead of per tile). One exploit is that you can do this: https://www.youtube.com/watch?v=KtKUeSeXIOA (@ 6:45 and @ 7:00). The SMS can't do that. All sprites are either above the tile or behind it. It's nice in that you don't need sprites to masks such transition edges on the SMS, but it's less flexible in other areas (NES can have sprites behind the BG and in front of the BG in the same spot/tile).
In the case of the Super NES, Genesis, and Game Boy Advance, it's because color 0 isn't quite as important on a machine with 4-bit tiles and more than one background layer.
Since the SNES and Genesis are subpalette systems, how else are you going to get "see through" areas of a tile assigned subpalette other than 1 when the pixel color 0 in that subpalette is shown?
__________________________
http://pcedev.wordpress.com

tepples
Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: That BioMechanical Dude's Youtube Channel

Post by tepples » Sat Oct 10, 2015 11:31 am

You'd do what the Game Boy Color does. Game Boy Color has eight separate color 0s, one for each of eight background palettes, but it still allows sprites to go behind background tiles. If both background and sprites are transparent at a particular pixel, it uses the color 0 that corresponds to the palette of the particular tile as the backdrop color.

EDIT for clarification: In a multiplane background, it could have used color 0 of the rearmost plane.

User avatar
Drew Sebastino
Formerly Espozo
Posts: 3503
Joined: Mon Sep 15, 2014 4:35 pm
Location: Richmond, Virginia

Re: That BioMechanical Dude's Youtube Channel

Post by Drew Sebastino » Sat Oct 10, 2015 11:38 am

That's what I was thinking. Just because each palette has its own first color doesn't mean sprites couldn't be behind that. It'd be like the Irem M72 and M92's split tilemap functionality, where the first 8 colors (excluding the first color, which is transparent) are behind sprites, and the last 8 are above sprites, (I believe the SNES has something similar for Mode 7?) except that it would be like the first color is behind sprites, and the last 3 are above.

User avatar
Bregalad
Posts: 7890
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Re: That BioMechanical Dude's Youtube Channel

Post by Bregalad » Sat Oct 10, 2015 11:50 am

Oh my it souds like Casvlevania DOS is absolutely terrible. But Mega Man (DOS) was even worse !
AlienX wrote: No, actually. Background palettes don't use transparency and don't share colors. So, you have 4 x 4 = 16 for the backgrounds and 4 x 3 = 12 for the sprites, which is a total of 28.
Actually yes they do, and it's 25.
Also, can you figure out which game I'll be reviewing next? Tell me your guess!
Just a random wild guess, but what about Dragon Ball ? Licenced games that sucked hard aren't exactly rare :)

tepples
Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: That BioMechanical Dude's Youtube Channel

Post by tepples » Sat Oct 10, 2015 11:54 am

Bregalad wrote:Licenced games that sucked hard aren't exactly rare :)
Does A Nightmare on Elm Street suck? It's licensed, it's LJN, and it's so Rare it's AMROM.

tomaitheous
Posts: 592
Joined: Thu Aug 28, 2008 1:17 am
Contact:

Re: That BioMechanical Dude's Youtube Channel

Post by tomaitheous » Sat Oct 10, 2015 12:00 pm

Wasn't the famicom ppu chip designed with video overlay in mind, though? If so, then BG layer wouldn't be the farthest layer in such a setup. I know the PCE was designed for video overlay (the outputs on the back are all there for it), and when plugged into the LD player for PCE-LD games, it needs all entries of 0 in the subpalettes to be transparent (as well as the SGX). The Genesis does this too and needs it for both the 32x and the Mega-LD to work properly.
__________________________
http://pcedev.wordpress.com

User avatar
BioMechanical Dude
Formerly AlienX
Posts: 137
Joined: Fri Apr 18, 2014 7:41 am
Location: Bulgaria

Re: That BioMechanical Dude's Youtube Channel

Post by BioMechanical Dude » Sat Oct 10, 2015 2:42 pm

Wow! I did not expect to start a whole conversation about graphics rendering and colors. :lol:
OK, guess I was wrong, it is 25 colors. Kind of a bummer, considering you can define more colors. Oh, well...

As for the game, it's actually a pretty good one. As I keep saying, I'll be reviewing retro games games, whether they're good, bad or just OK. :)
Greetings! I'm That Bio Mechanical Dude and I like creating various stuff like movies, games and of course chiptunes!
You can check out my YouTube Channel.
You can also follow me on Twitter.

psycopathicteen
Posts: 2937
Joined: Wed May 19, 2010 6:12 pm

Re: That BioMechanical Dude's Youtube Channel

Post by psycopathicteen » Sat Oct 10, 2015 4:42 pm

tepples wrote:In the case of the NES, it's probably because the Family Computer was rushed.

The Famicom was a "skunkworks" project to one-up the SG-1000. Nintendo was impressed with how arcade-accurate the licensed port of Donkey Kong to the ColecoVision was, and I presume it didn't want Sega (whose SG-1000 console had exactly the same specs as the ColecoVision) to own the market. For more information, see 6502freak's post and the "Mario's Shame" section of this article, where Mario in DK (ColecoVision), third from the left, is the only one that actually looks like Mario pixel for pixel. So Nintendo engineers, pressed for time, didn't implement all features that they could have implemented, such as a VRAM write FIFO or more general DMA or distinct color 0 in each background palette. The Famicom was so rushed, in fact, that launch consoles had to be recalled due to hardware bugs.

In the case of the Super NES, Genesis, and Game Boy Advance, it's because color 0 isn't quite as important on a machine with 4-bit tiles and more than one background layer. Only the rearmost layer's color 0 would make sense anyway.
SNES was even more of a skunkwork job than NES, even though it ended up taking a long time in development. From what I read, they kept going over budget.

EDIT: I could imagine the FIFO only being able to write 6 bytes per scanline for the theoretical "perfect NES." The real NES has 2 unused cycles, and 4 extra cycles can be squeezed out by not fetching the 34th tile. Of course every sprite name table fetch has a dummy attribute table fetch, but a "perfect NES" would probably use those fetch cycles to reduce flicker.

Post Reply