Tear Down: Game console goes way beyond the average DVD player
The challenges in this design were many, including adopting some high-volume components in a not-so-high-volume application.
With so much attention focused on the Playstation and Wii game systems these days, ZapIt was able to come under the radar with a game box that's suited more for the whole family than just the younger generation. The Game Wave is like Trivial Pursuit on steroids, with a DVD player thrown in for fun.
The concept behind the game was to have an interactive board-game type console that families could use to play classic games, like trivia, Blackjack, card games. Six remote controls can interact with that game. Using the embedded DVD playback capability, users could also watch a movie.
The target retail price for the system was $99. Hence, the target manufactured price (not the BOM) for manufacture in China had to be around $50. The engineering team at design house Nytric didn't achieve that figure, but they came close enough to maintain the $99 retail price. It's actually in stores now for around $80.
Conceptualization for the project started in March of 2003. Actual product development started in November 2003. Some engineers swear that any system design should start with the operating systems, while others claim that the host CPU is the starting point. The Nytric designers fall into the latter class.
"We originally started looking at all types of media processors," says Jon Clarke, head of Nytric's hardware design team. "Some of the challenges were that we needed a very low-cost media processor that could do MPEG playback, yet still had enough resources that would allow us to program the games. In addition, we wanted an integrated DVD navigator so we could process the DVD VOB files to handle playback of commercial movies."
Some of the processors that are specific to Windows CE were evaluated, but that brings in a new set of problems. For example, some were too expensive. Also, when you employ CE, in addition to the licensing issues, you need memory-management units and more RAM and ROM.
The processor they eventually settled on was the Mediamatics 8611. It was selected based on its OSD graphics capability, its sound playback features, the availability of a parser that can process commercial DVDs, and the ability for Nytric to write custom source code. Note that Mediamatics was purchased by National Semiconductor. Hence, you'll see both logos on the IC.
The Mediamatics processor wasn't the first choice. The design team first was looking at a microprocessor from STMicroelectronics, actually getting pretty far down the design path. The problem they faced with most of the processors they evaluated was that DVD processors, due to the sheer volumes they were shipping in, are fixed-function devices, doing one specific function, namely operating a DVD player. Unfortunately for the Nytric designers, they needed that functionality plus more, while still trying to gain from the cost economies of the high-volume DVD players.
Opening the source-code door
Not many vendors were willing to open up the software for custom development, partly because most of the support was coming from outside North America. The problem with ST, which was a deal-breaker, had to do with licensing issues.
"We made a case to National Semi in March of 2004," says Av Utukuri, CEO of Nytric. "We wrote a PC version of the game play, like an emulator, to document how the game would work. We flew down to National to pitch them on supporting us. The process seems backward, like they should be pitching us, but that's what it took to get the deal done."
Making this case allowed the designers to simultaneously do some performance testing on the Mediamatics part. While it had its limitations, the processor could perform the necessary functionality. Nytric also got the pricing and support that was needed to strike a deal.
CPLD helps connect the dots
The Mediamatics part required the use of an Altera CPLD, the Max II, to marry the processor to the DVD drive. Nytric's Clarke claims that this was one of the primary challenges they faced. "When a Samsung or a Sony makes a drive head and there's an interface chip for that drive head, you need glue logic to convert that data into the standard format that the Mediamatics chip is expecting."
The first prototype was ready in October 2004, which was used to start proving out the board and the concept. That's also the point at which the software team got into the act.
A problem the design team ran into was that the drive they had originally designed in, one manufactured by Sanyo, was discontinued, and no one else could be convinced to produce an identical drive. So this required a redesign.
An ATAPI loader was designed in, which is similar to the interface that's used in a PC to connect the DVD drive. ATAPI is a 16-bit interface, and unfortunately, it was not supported by the Mediamatics part. So, in conjunction with National and Altera, the Nytric designers developed a programmable part that converted the ATAPI commands in a byte format to a format that the 8611's 8-bit AV bus could handle.
The remaining components all came from the original design, which includes SRAM and 2 Mbytes of NOR flash memory. Both memory components push the limit of what the Mediamatics processor can support. The 16-Mbyte SRAM is the least expensive single-package part that could be had at the time. Within the flash resides a compressed version of National's "navigator," which is the software that lets the user play standard DVDs and navigate through the disk's menus.
The remaining key components are a two-channel audio DAC that's needed to get stereo audio. While the 8611 could have handled the audio, the designers decided that, from a cost point of view, it was better to go this route. As a result, those sections of the 8611 are turned off, and less royalties need to be paid. An Atmel one-million write-cycle serial EEPROM is used to store the point at which the users stop the game.
Finally, a few gates and latches were needed because the CPLD didn't have enough I/O to handle all of the address decoding. What remains are passives and regulators.
The remote controls presented another challenge, as all six could potentially be talking to the base platform simultaneously. Various technologies were explored, including RF and AM modulation. Again, the solution to the problem was answered by the cost factor, which brought them back to IR, where diodes sell for pennies.
"The real challenge was how do you make IR work simultaneously with six remotes," says Clarke. "All six must send out data at different beat frequencies. How it works is that if all six buttons are pressed at the same time, there's a collision. But the receiver knows that because there's a failure. Each remote then retransmit at a different beat frequency. This way, the probability of them all colliding is minimal. It's a guaranteed protocol because we know it's not expandable beyond six."
Generally, IR is a line-of-sight interface. However, the Nytric designers wanted to get a little beyond line-of-sight, giving the signals the ability to bounce off walls and get reflections.
"Because of the many hardware changes along the way, the software had to be written such that it had complete platform independence," says Allen Rego, head of Nytric's software design team. "For this reason, we couldn't have the games compiled. So we looked for an interpreted language, something like a Java. We decided on a scripting language called Lua, which is what all the games are written in."
Lua is an open-source freeware scripting language that needs a very low memory footprint as compared with Java and other competitive languages.
The software team then had to request direct hardware access from National Semiconductor, something National doesn't normally supply to third-party developers. This access was needed to develop the games. Along the way, the team rewrote some of the graphics libraries and drivers to get hardware access for speed optimizations.
Then, they wrote the software to support the late-arriving hardware, including the IR remotes and NOR flash, adding some tricks to squeeze out the highest possible performance.
"It's almost like developing a Web page," says Rego. "You come up with the scripting language, but at a very high level, define an architecture for the game, how you are going to move everything, what animations are going to occur, and so on. Then we wrote all the background software that went into the low level execution."
The scripting language is byte-code interpreted so that it's cross-platform compatible. Hence, the platform would be backward compatible down the road, even if a different processor is employed.
Another device of note on the board is an octal D-type latch, the SN54LVC573A, from Texas Instruments. It's designed for 2.7- to 3.6-V VCC operation. It features three-state outputs designed specifically to drive high capacitive or low-impedance loads, such as buffer registers, I/O ports, bidirectional bus drivers, and working registers.
At the final stages of the project, the designers ran into a slight bump in the road. To eliminate all potential emissions problems caused by the loader, a metal top was needed.
The next generation will probably come around 2009. Potential features could include an HD or BluRay DVD, and a more robust graphics engine. At this point, nothing is set in stone.
Richard Nass is editor in chief of Embedded Systems Design magazine. He can be reached at firstname.lastname@example.org.