The game’s developers wanted to create an interactive board game-type console that families could use to play classic card games like Blackjack, with six remote controls and embedded DVD playback for watching movies.
The target retail price for the system was $99. Hence, the target cost to manufacture the product in China had to be around $50. The design team at Nytric came close enough to maintain the $99 retail price. The system is actually in stores now for roughly $80.
“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,” said Jon Clarke, head of Nytric’s hardware design team. “In addition, we wanted an integrated DVD navigator so we could process the DVD VOB files to handle playback of commercial movies.”
Processors specific to Windows CE were evaluated, but they were too expensive. There also were licensing issues, and significant memory-management, RAM and ROM requirements.
Nytric eventually chose the Mediamatics 8611 for its OSD graphics capability, its sound-playback features, the availability of a parser for processing commercial DVDs, and Nytric’s ability to write custom source. Since Mediamatics was purchased by National Semiconductor, both logos are on the IC code.
The design team initially had looked at a microprocessor from STMicroelectronics. The problem was, the DVD processors evaluated performed one specific function–namely, operating a DVD player. The designers needed more functionality while still benefiting from the cost economies of the high-volume DVD players.
Opening the source-code door
Not many vendors were willing to open up their software for custom development, partly because most of their support was coming from outside North America. The deal-breaker with STMicroelectronics involved licensing.
“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 seemed backward, like they should be pitching us, but that’s what it took to get the deal done.”
The designers took the opportunity to do performance testing on the Mediamatics part. The processor had its limitations, but it also had the necessary functionality. Nytric also got the pricing and support it needed.
CPLD helps connect the dots.
The Mediamatics part required an Altera CPLD, the MAX II (Data Sheet, Technical Paper), to marry the processor to the DVD drive. Nytric’s Clarke said this was one of the primary challenges.
“When a Samsung or a Sanyo 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,” he said.
The first prototype was ready in October 2004, which was used to start proving out the board and the concept. Then the software team got into the act.
The design team ran into a problem when the Sanyo drive they had originally designed in was discontinued, and no other company would produce an identical drive. This required a redesign.
An Atapi loader was designed in, similar to the interface used in a PC to connect the DVD drive. Atapi is a 16-bit interface and 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 came from the original design, including 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 was the least expensive single-package part the designers could find. A compressed version of National’s “navigator,” which lets the user play standard DVDs and navigate through the disk’s menus, resides within the flash.
The remaining key components are a two-channel audio D/A converter for stereo audio and an Atmel 1-million write-cycle serial E2PROM to store the point at which users stop a game.
Finally, a few gates and latches were needed because the CPLD didn’t have enough I/O to handle all the address decoding. What remains are passives and regulators.
Wireless remotes
The remote controls presented another challenge, as all six could potentially be talking to the base platform simultaneously. While RF and AM modulation were considered, the cost factor brought the design team back to IR, where diodes sell for pennies.
“The real challenge was how [to] make IR work simultaneously with six remotes,” Clarke said. “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 retransmits 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 produce reflections.
“Because of the many hardware changes along the way, the software had to be written [with] 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 low memory footprint compared with Java and other rival 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, the team members wrote the software to support the late-arriving hardware, including the IR remotes and NOR flash, adding some tricks to squeeze out the best performance.
“It’s almost like developing a Web page,” Rego said. “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 was employed.
Another device on the board is an octal D-type latch, the SN54LVC573A, from Texas Instruments. Designed for 2.7- to 3.6-volt VCC operation, it has three-state outputs to drive high-capacitive or low-impedance loads, such as buffer registers, I/O ports, bidirectional bus drivers and working registers.
The designers ran into a slight bump in the road in the final stages: A metal top was needed to eliminate potential emissions problems caused by the loader.
The next generation will probably come around 2009. Features could include an HD or BluRay DVD, and a more robust graphics engine. At this point, nothing is set in stone.
By Richard Nass
From the March 12, 2007 issue of EEtimes