Re: Version 1 Postmortem & Proposal for future
Posted: Fri Feb 09, 2024 9:33 am
I thought I was being specific: I'd like the X16 to be a) sold as a complete unit, and b) looking more like a retro system than a PC. A wedge-shaped system would do nicely as long as it could accommodate expansion cards (like, say, the Apple II), and so would a pizza box-style unit with a detachable keyboard.
How much you're going to sell, depends on the size of your target audience and the quality of your product. I'll return to that topic below.
And it looks like a hastily cobbled-together prototype. Not what I would call a "proper" case at all.
Yes, it does matter. If you're going to choose a sound chip for its excellent merits, then sure, the fact that it is no longer made doesn't matter as long as an (emulating) replacement can be found.
But that's obviously not what happened here. The chip was chosen because of perceived availability, which turned out not to be the case at all. As for quality, the YM2151 was made for "budget pianos" (read: low-cost keyboards that sounded nothing like pianos) and was used in a number of arcade cabinets.
Any PSG with X channels can play X note polyphony.
The lack of volume envelopes means you have to write an interrupt handler if you want anything other than continuous bleeps while your program is running, and the lack of filters and ring modulation means you get your basic waveforms and that's it.
To get music that sounds half-decent, I guess you could combine the VERA channels with some YM2151 sounds using complex operator configurations and LFO modulation, and on top of that hammer the PCM channel with some percussion sounds. It's doable, but now your sound subroutine is both highly time-sensitive and ridiculously complex. It that what anyone wanted?
It sounds like bargain-basement AdLib sound on the PC (because it literally is), which was such a letdown that I threw out the card almost immediately and got a second-hand SoundBlaster instead.
Really? The quality of the ultra-low-end sound of the 1980s? Why would we want to emulate that?
Oh, come on. Now we're descending into sophistry.
You do have ears, right? YM2151 music sounds tinny and annoying, and this is a problem with Every. Single. Tune. Perhaps the YM2151 has a simple linear algorithm for volume, which doesn't take into account that the human ear is WAY more sensitive in the midrange. Perhaps this could have been worked around by dynamically adjusting the volume according to the frequency being played, and it's just that nobody ever did that. Regardless, I'd say that the results speak for themselves.
I was actually quite hyped about the YM2151, but after spending several weeks reading the specs and trying to make some interesting sounds, and then going on the Internet to look for sound fonts and listen to what others had made, I ended up pretty disillusioned.
I'm simply listening and comparing with both simple PSGs and PCM sound. The YM2151 seems to have a very characteristic sound with a surprising lack of substance in the low frequency range. The sound that's supposed to be the "bass guitar" track is more or less drowned out.
This has nothing to do with the "bitness" of the system. Besides, neither the VERA nor the YM2151 qualifies as an "8 bit component," and why should they? The video circuitry in the MSX2 wasn't "8 bit" either, but the CPU was, and that's what counts for the programmer.
The fact that the systems that replaced the 8-bit micros were all using 16-bit processors had everything to do with speed and availability. Today, we can compensate for the speed issue by cranking up the clock, an option that just wasn't available in the 1980s and 1990s.
If we're not limited to running the CPU at 1 or 2 MHz, and we don't have to restrict ourselves to 64k of RAM or low-resolution graphics, why stick with limited PSGs? I don't see a reason why we should be limited to reproducing the mediocre sound of the 1980s when we're not reproducing the mediocre graphics of the same period.
As long as the sound subsystem is reasonably easy to access for the programmer, I'd say the "retro" and "edutainment" factor is preserved.
The VERA is short on resources that would be better used enhancing VERA FX. A separate sound chip would be my preferred chioce, with it's own sample memory. Write samples to it the same way you access video RAM on the VERA, and tell it to play them back at a given speed. With today's technology you could easily include features like fairly aggressive oversampling and stereo panning.
How about this: You've seen the register map of the YM2151, right? It has a number of unused registers. Make a bit in one of them switch to an entirely alternate register set for the PCM subsystem, and you'd have YM2151 emulation and PCM sound in the same package that could be a drop-in replacement for the current chip. (A bit like what the Kawari does for the VIC-II on the C64, actually.)
And now we get to the crux of the matter: Who is the target audience for the X16?
"Nostalgia" will attract a very limited number of people: It will mostly be men in their late 40s and above who experienced the home computer revolution and would like to relive the experience. If that's the market you're going for, fine; you're never going to sell in any significant volume and you're competing against more than a dozen other "modern retro" systems, and thus the software library for your system will always be limited.
If on the other hand you really want to go for the "edutainment" niche, you need to appeal to an audience that wasn't even alive in the early 1990s. And I don't think it's reasonable to show someone an expensive system with pixel graphics and sound that goes "beep boop" and expect them to be impressed.
You can't say "doesn't this look and sound amazing?" when the cheap device in their pocket both looks and sounds way better, and RAD tools and devkits for Android are readily available.
My post wasn't very clear on this point. Allow me to elaborate: There are two issues, one is the keyboard layout, and another is the PETSCII character set.
The first issue makes it a bit impractical to use an off-the-shelf keyboard that isn't using the US layout, and it's a simple fact that absolutely no-one outside the US are using that particular layout. Not a dealbreaker by any means, but a bit annoying nevertheless.
The second issue means you can't type non-US characters at all, as they simply don't exist in the character set. PETSCII is a bone-headed "standard" that basically sacrifices half the character set in order to emulate a blocky cursor. Why would we want to do this today?
I have nieces and nephews that are somewhat interested in programming, and the idea of trying to make a simple version of "hangman" in BASIC came up. But it's just not possible on the X16, as our native language isn't English, so we can't even type some of the characters that occur in many of our words. This absolutely is a dealbreaker.