Author Topic: TG 16-bit processing...  (Read 894 times)

guyjin

  • Hero Member
  • *****
  • Posts: 3896
Re: TG 16-bit processing...
« Reply #15 on: December 04, 2008, 04:31:51 AM »
Tom? Is that you, mal? If so, welcome back, your technical contributions were missed.

I second that.

I third it. If you need more, my other personalities n-th it.
"Fun is a strong word." - SNK
"Today, people do all kind of shit." - Tatsujin

spenoza

  • Hero Member
  • *****
  • Posts: 2751
Re: TG 16-bit processing...
« Reply #16 on: December 04, 2008, 10:29:56 AM »
So, why is Mal now Tom, with only 7 posts? Did someone run him off with massive annoyance or something?
<a href="http://www.pcedaisakusen.net/2/34/103/show-collection.htm" class="bbc_link" target="_blank">My meager PC Engine Collection so far.</a><br><a href="https://www.pcenginefx.com/forums/" class="bbc_link" target="_blank">PC Engine Software Bible</a><br><a href="http://www.racketboy.com/forum/" c

Tom

  • Guest
Re: TG 16-bit processing...
« Reply #17 on: December 04, 2008, 11:28:38 AM »
So, why is Mal now Tom, with only 7 posts? Did someone run him off with massive annoyance or something?

 Guess I just needed a little break ;)

spenoza

  • Hero Member
  • *****
  • Posts: 2751
Re: TG 16-bit processing...
« Reply #18 on: December 04, 2008, 11:51:39 AM »
Well, since you're back, maybe you can answer another question. The Genesis and SNES have dedicated (perhaps not fully, but enough) sound hardware, where the PCE controls sound generation within the CPU. That's my understanding, anyway. Does the task of sound generation, particularly for HuCard games where the soundtrack and sound effects must all by CPU generated and coordinated, put a significant strain on the CPU? Does that limit the available computing horsepower for other tasks?

Also, and this is completely random, I'm sure... how difficult is the PCE to program for compared to its compatriots? It certainly seems like there are many PCE games that do little to exploit the CPU, merely relying on lowest common denominator capabilities.
<a href="http://www.pcedaisakusen.net/2/34/103/show-collection.htm" class="bbc_link" target="_blank">My meager PC Engine Collection so far.</a><br><a href="https://www.pcenginefx.com/forums/" class="bbc_link" target="_blank">PC Engine Software Bible</a><br><a href="http://www.racketboy.com/forum/" c

ccovell

  • Hero Member
  • *****
  • Posts: 2245
Re: TG 16-bit processing...
« Reply #19 on: December 04, 2008, 01:00:25 PM »
Re: the "technically limited" PCE games: Here's what I think (copied from an older post):

You could look at it artistically/culturally: On the one hand, most/many of the PCE developers came from the NES/Famicom world, and treated the PCE as just a souped-up Famicom, especially at the beginning of the PCE's life.  Meaning blocky graphics, low colours when a lot higher number of colours could have been used.  They just didn't push themselves far enough at the beginning.  The most impressive games (with more colours and higher resolutions) came from the companies experienced with Japanese PCs.

On the other hand, a lot of the (earlier) developers on the Gen/Megadrive came from the arcade world, experienced with the 68000 CPU and the wider (typically 320) resolutions of their arcade games.  Either that or they came from the PC world, did X68000 ports, etc.

That's one big difference, as far as I see it.  The PCE was treated by too many of its programmers & artists as an "NES with knobs on", to misquote one British developer.

Tom

  • Guest
Re: TG 16-bit processing...
« Reply #20 on: December 04, 2008, 01:04:13 PM »
Well, since you're back, maybe you can answer another question. The Genesis and SNES have dedicated (perhaps not fully, but enough) sound hardware, where the PCE controls sound generation within the CPU. That's my understanding, anyway. Does the task of sound generation, particularly for HuCard games where the soundtrack and sound effects must all by CPU generated and coordinated, put a significant strain on the CPU? Does that limit the available computing horsepower for other tasks?

 Yes and no. Well, actually no.

 First. The CPU itself doesn't generate the signals and such for the audio unit. The audio unit is a separate device just like any other audio chip. It just happens to be located on the CPU dye for cost saving measures - you don't have to fabricate another chip, the system board doesn't need extra address lines and logic decoder chips. As far as the CPU (and programmer) is concerned, the audio chip is external like any of the other chip in the system or cd unit.

 Second. Most(all) PCE games keep the instruments simple in design - they change channel registers once every frame at the fastest. Most of the time it's about every 4-5 frames for register changes. This means the music engine only takes about 1-2% CPU resource. If you add PCM samples, then you start to eat a little more. About 4-5% cpu resource per sample being played. Most games only use one channel/PCM effect at a time and mostly for a drumkit or such. SF2 uses two and Batman uses two. And games like Bomberman 93/94 use not PCM samples. The drums and such are all done/modeled with 'noise' modes of channel 5 or 6. The PCE could have played samples at 1% cpu resource if it weren't for a bug in the audio chip. The audio unit channels actually hold PCM samples, just really small ones. You could treat that as a buffer and refill it at like less than 1khz to get really high playback rates (32khz, 44khz, 112khz and such), but the bug in the audio unit causes a sound blip when the channel DAC is turned off for sample reloading. At 1khz, the small spike in audio it causes a low cycle but loud tone - rendering the method unusable. The SGX and coregrafx I fix this bug, but Duo and later models do not. Enough of my ranting about that :wink:

 I've been doing a lot of audio/music research this year. Looking into how hucards create instruments, etc. Talking with David Shadoff, who did the MML functions for Magickit over 7 years ago, all the games he looked at used a version of Hudson's MML player for music engine. The developers didn't bother creating their own. Bloody Wolf is the only game that really stands out in how it does some if it's instruments, but for all I know it could still be using a revision of Hudson's player. The system card has this player build into it's bios routines.

 The real kicker is that the PCE is capable of playing MOD style music. Yet only two games did something like that. One was that boxing game, but it was reeeeaaallly generic in design and the other was Batman. Batman basically had 1 MOD channel where it could bend a sample into frequencies for notes like a MOD player does. The main instrument that's used for that channel is the 'bass guitar' and some other super r-type-ish sounding instrument. The drums are fixed frequency samples. The PCE is also capable of doing more complex instruments because of the TIMER chip and yet (again) no game ever does this. This isn't some secret knowledge or anything. I'm really at a loss there. Anyway, the PCE is capable of doing up to 6 MOD channels, though you really only need 4. The player code has to be extremely optimized since doing it all in software eats up gobs of cpu resource. I think the fast version I calculated base on my player code was about 26-27% cpu resource - 7khz stereo 4 channel. Not bad at all ;)


Quote
Also, and this is completely random, I'm sure... how difficult is the PCE to program for compared to its compatriots? It certainly seems like there are many PCE games that do little to exploit the CPU, merely relying on lowest common denominator capabilities.

 From what I could gather, it was more of a style of development. As CCovell put it, the PCE has that 8bit charm in a lot of it's games early games. Even as the games advanced, the game mechanics and over design were usually kept more simplified. It's target audience I guess. Not all games are like that, but overall you kinda get that feeling. It's just a charm about the games. Later games tend to be more sophisticated. Like Seiya Monogatari, Xanadu, Xanadu 2, etc. Not just in design, but hardware interface too. Earlier CD games are really bad at efficient design of code. Unnecessary loads time (really, longer than should be because of the design of the load structure), inefficient memory usage - i.e. most of the time no compression and wasted/empty ram/space. Stuff like that. If you look at Gate of Thunder, it's amazing. Not only does it efficiently store data as a single block for fast loading, it also uses 'real' compression so that the CD ram goes further, and the code is fast enough to decompressed sprites in real time on the fly - that's extremely impressive(I did a lot of research on GOT). The game script which controls all the events is optimized for minimal chance of flicker and sprite positioning. Basically a professionally build game. LOT is the same. Red really knew what they were doing. To top it off, it would have easy to make other shooters using either of the two game engines. Too bad they never did.

 Edit: Heh - Chris beat me to it  :)
« Last Edit: December 04, 2008, 01:13:39 PM by Tom »

Joe Redifer

  • Hero Member
  • *****
  • Posts: 8178
Re: TG 16-bit processing...
« Reply #21 on: December 04, 2008, 07:23:43 PM »
Quote from: Tom

some other super r-type-ish sounding instrument.



You mean the http://www.joeredifer.com/crap/superr-typeinstrument.mp3


It should be used in EVERY song.

guyjin

  • Hero Member
  • *****
  • Posts: 3896
Re: TG 16-bit processing...
« Reply #22 on: December 04, 2008, 10:03:51 PM »
what's an orch?
"Fun is a strong word." - SNK
"Today, people do all kind of shit." - Tatsujin

sunteam_paul

  • Hero Member
  • *****
  • Posts: 4732
Re: TG 16-bit processing...
« Reply #23 on: December 05, 2008, 12:23:56 AM »
The PC Engine Software Bible
Quote from: Tatsujin
I just felt in a hole!

Tatsujin

  • Hero Member
  • *****
  • Posts: 12311
Re: TG 16-bit processing...
« Reply #24 on: December 05, 2008, 01:19:34 AM »
what's an orch?

teh name for one of those typically & cheaper digi synth instruments called "orchestral hit".

www.pcedaisakusen.net
the home of your individual PC Engine collection!!
PCE Games coundown: 690/737 (47 to go or 93.6% clear)
PCE Shmups countdown: 111/111 (all clear!!)
Sega does what Nintendon't, but only NEC does better than both together!^^

guyjin

  • Hero Member
  • *****
  • Posts: 3896
Re: TG 16-bit processing...
« Reply #25 on: December 05, 2008, 04:09:03 AM »
what's an orch?

teh name for one of those typically & cheaper digi synth instruments called "orchestral hit".


 :oops: a non-native speaker had to tell me this  :oops:

I was hoping it was some sort of weird steelpan or something. http://en.wikipedia.org/wiki/Steelpan
"Fun is a strong word." - SNK
"Today, people do all kind of shit." - Tatsujin

spenoza

  • Hero Member
  • *****
  • Posts: 2751
Re: TG 16-bit processing...
« Reply #26 on: December 05, 2008, 02:31:11 PM »
I've been doing a lot of audio/music research this year. Looking into how hucards create instruments, etc. Talking with David Shadoff, who did the MML functions for Magickit over 7 years ago, all the games he looked at used a version of Hudson's MML player for music engine. The developers didn't bother creating their own.
....
The PCE is also capable of doing more complex instruments because of the TIMER chip and yet (again) no game ever does this. This isn't some secret knowledge or anything. I'm really at a loss there.

You know, this sounds like a case of Hudson simply not providing the tools. I remember many complaints from developers about the Genesis and especially the Saturn along the lines of whenever Sega developed new programming tricks they always kept them in-house for a couple games before rolling them into the dev kits, leaving developers effectively working with yesterdays libraries while Sega was always on the cutting edge. That fostered some bad blood. And if anyone knows who Jake Kaufman is (virt in the vgmusic world), it's notably that he complains how often he's had to use Nintendo's music kit in games instead of custom, quality sound libraries. So this is clearly still an ongoing battle.

Quote
From what I could gather, it was more of a style of development. As CCovell put it, the PCE has that 8bit charm in a lot of it's games early games.

My comments about game "quality", perhaps more appropriately style, were mostly about HuCard games. The later CD and SCD games really did push the envelope. Seems the HuCard was passed off a bit too early in its life. I would have liked to have seen some of the later programming techniques applied to more HuCard games. But sometimes the NES-styled design does irk me, because when you don't have a CD unit you want some HuCard love, and while there is some good out there, there's an awful lot of "merely OK".
<a href="http://www.pcedaisakusen.net/2/34/103/show-collection.htm" class="bbc_link" target="_blank">My meager PC Engine Collection so far.</a><br><a href="https://www.pcenginefx.com/forums/" class="bbc_link" target="_blank">PC Engine Software Bible</a><br><a href="http://www.racketboy.com/forum/" c

awack

  • Hero Member
  • *****
  • Posts: 692
Re: TG 16-bit processing...
« Reply #27 on: December 06, 2008, 01:49:52 AM »
Allot of the early games did have that 8 bit feel to them, ccovell gave some good reasons for this, but lets not forget some of the very first games like Rtype I/II which brought great looking arcade graphics, China Warrior with its huge sprites, all of these were only 2 megs.

Quote
You know, this sounds like a case of Hudson simply not providing the tools


That reminds me of something from DMA, the developers of Shadow of the Beast, they thought the software development kit that NEC gave them was awful and wrote their own, the following shots show dual layers using sprites with no flicker.

   

Tom

  • Guest
Re: TG 16-bit processing...
« Reply #28 on: December 06, 2008, 04:21:09 AM »
Quote from: awack
That reminds me of something from DMA, the developers of Shadow of the Beast, they thought the software development kit that NEC gave them was awful and wrote their own, the following shots show dual layers using sprites with no flicker.

   


 Mike Dailly also worked on that game (the PCECD one). He said something to the effect of regretting not doing a second scroll layer in the dungeon levels.

Quote
You mean the Orch Hit?

It should be used in EVERY song.


Is that what it's called? Heh



spenoza

  • Hero Member
  • *****
  • Posts: 2751
Re: TG 16-bit processing...
« Reply #29 on: December 08, 2008, 03:15:29 AM »
In theory an orchestra hit is supposed to be the sound of every instrument in the orchestra offering a short, loud note, simultaneously. A number of great works use it to positive effect. In translation to mod/midi/digital sound generation systems it just sorta became a muddled blat.
<a href="http://www.pcedaisakusen.net/2/34/103/show-collection.htm" class="bbc_link" target="_blank">My meager PC Engine Collection so far.</a><br><a href="https://www.pcenginefx.com/forums/" class="bbc_link" target="_blank">PC Engine Software Bible</a><br><a href="http://www.racketboy.com/forum/" c