Atari VCS Product Q&A #1
My name is Rob Wyatt. I’m the System Architect for the Atari VCS project.
The Atari community has asked some really great questions about the new VCS, and I hope to answer some of your more technical ones about the project today. We really look to the Atari community as both a source of inspiration and collaboration for the Atari VCS, and look forward to an ongoing dialogue over the next several months as the development process unfolds!
1) Please tell us about some of your past projects. How do you plan to bring what you learned into the Atari VCS?
I worked on the system architecture of the original Xbox nearly 20 years ago and it was a pivotal moment in game consoles. Prior to the Xbox, consoles only played games and they used custom esoteric hardware which were difficult (but fun) to program. For the Xbox we used PC hardware, we had a full operating system, HD video, internet access, online play and apps that weren’t games. The biggest thing I took away from this, and at the time, had to fight for within Microsoft, is that the game console is not “a PC under your TV.”
The “console” is all about the streamlined experience. It’s all based on known hardware for both users and developers. Years ago this was just about the quality of the games, and today games are still the most important part — but being able to watch Netflix or listen to Spotify while receiving notifications from your online friends all adds to the overall experience and increases the amount of time you spend within a given ecosystem.
The Atari VCS, while in the Atari ecosystem, is certainly not just a PC under your TV. If you want a PC under your TV you can already do that. However, if we turn this problem on its head and assume that the Atari VCS is already connected to your TV, then why not have the option to use it as a PC if its what the end user wants? Other bespoke console platforms don’t offer this and the Atari VCS looks much better in your family room than a typical PC!
On the technical side the biggest take away from working on other platforms is to openly embrace developers and not enforce sometimes overly-strict usage models by strict APIs. In the spirit of being open, Atari wants the VCS platform to give developers all the freedom they need to be creative. Your solution to a problem doesn’t have to make sense to me, it just has to make sense to you. We’ll support you as much as we can to make sure your solution works. One thing you’ll never hear from us is “Why do you want to do that?”
2) Can you give more details or updates on the Atari VCS hardware specs? Any possibility you and the team might be considering and/or able to share news of any upgrades from the currently published hardware?
The VCS hardware will be powered by an AMD Bristol Ridge family APU with Radeon R7 graphics and is now going to get 8 gigabytes of unified memory. This is a huge upgrade from what was originally specified and unlike other consoles it’s all available, we won’t reserve 25% of hardware resources for system use.
We looked at the whole series of AMD APUs and when you factor in cost and thermals in addition to performance the Bristol Ridge family came out on top. Thermals are a much bigger deal in a consumer product than in a typical PC. Yes, on paper the Ryzen family is technically better but without increasing the cost and having a higher thermal capacity, a Ryzen APU would never run at full performance. When the Ryzen is operating in a thermally limited environment its performance is only marginally better than Bristol Ridge. We figured any additional cost would be better spent on more memory in an optimal bank layout to maximize bandwidth as this benefits everybody all the time. A thermally-limited but higher performance APU adds some performance here and there but it’s not a universal gain. We will continue to maximize the thermals to allow the Bristol Ridge APU to run at maximum speed.
3) In addition to the new Atari Joystick and Modern Controller, what kind of controllers and input devices do you expect to be compatible with the Atari VCS? (Xbox, Dualshock 4, mouse & keyboard, etc.)
The Atari Classic Joystick and the Atari Modern Controller are standard USB Human Input Devices (HID devices). At the system level any compliant HID device is supported, including game controllers, keyboards, mice and even other devices that don’t yet exist. Applications can operate at this level but they need to understand the specific device.
To ease the burden for applications using game controllers, the AtariOS will have standardized controller support which includes a built-in controller remapping tool. This tool will allow you to remap physical controller buttons to logical standardized buttons, remap analog inputs and apply curves to get the exact response and feel you want, as well as allow for the “lefty” joystick that some have asked us for. This tool will let you use any controller and the applications always see a standard controller with your own button mapping. The button mapping data can be stored per controller, per user and/or per game and can also be exported and shared with other users.
The original Atari 2600 joysticks and analog paddles are not directly compatible with the Atari VCS. The Atari VCS, although retro inspired, is not a retro box and the old input devices don’t have functionality needed for the new system. If you really want the retro experience and want to use the original joysticks then there will be a solution… In line with remaining as open as possible, an enterprising end user could use their Arduino skills and make an interface board. This board would declare itself as a USB HID game controller to the VCS and read a vintage 9 pin Atari joystick. Then you can use the system remapping tool to assign the buttons/paddles as necessary. (Maybe we’ll do this in a future post and open source the design as then it can be used as a reference design for custom input devices.)
The light gun for the Atari 2600, and in fact any analog light gun, is never going to work with a modern TV. It would require an entire separate post to explain the numerous reasons why old fashioned light guns are problematic.
4) Can you say anything about AR/VR and the Atari VCS? Will there be compatibility at launch or beyond?
Not much to say at this time, other than we have AR/VR plans but it will be an after-launch feature. More info to come on this somewhere down the road.
5) How and when can developers get on board and start creating games for the Atari VCS? Will there be an SDK or Dev Tools available?
We won’t have dedicated development hardware. You won’t need it. Any Atari VCS device can be a development kit. All you will have to do is sign up to our developer program, download the SDK and start creating. If you don’t want to develop in native code then common game engine platforms will be available for the VCS.
To get an application into the Atari Store there will be a few technical requirements and rules as to what is permissible. As with other curated stores indecent and offensive material will be prohibited. All content will be appropriately age rated and subject to parental controls to ensure users of all ages only see decent and quality applications. Atari is a neutral partner and we have no say in what applications get developed or when an application gets released, you are free to develop any application you like as long as it’s within our guidelines.
At this time the developer program is not open yet and it will come online in the coming months. If you have an application in mind you can start today, make sure it runs on Linux at HD resolution using standard runtime libraries, the changes from this to the AtariOS will be minimal and mostly related to application startup and application packaging. In the very near future we will release documentation on the AtariOS which will detail all the runtime components we support as well as libraries for Linux that mimic the AtariOS.
6) Can you please explain your vision for the Atari VCS “open platform” and “Sandbox?”
Since game consoles and various set top boxes have existed, people have wanted to play with them, modify them, write code for them. This has traditionally been met with an iron first from the platform owners who maintain high and artificial barriers to enter their platforms. Any attempts to circumvent the platforms’ security is met with lawsuits rather than solid engineering.
Everyone has heard the traditional arguments of platform security and user experience as the reasons why the barriers exist. In reality, the reasons why platform holders maintain tight control of their platforms run much deeper than user experience. First and foremost if the console is sold at a loss, the platform holder’s business model assumes you will buy a certain amount of content or peripherals to recoup that loss. If the consumer installs Linux and doesn’t buy any additional products then that money is lost and the platform holder gave you a gift. Microsoft learnt this the hard way on the first Xbox: People would buy an Xbox, hack it and install XMBC. It was a fantastic media player but Microsoft lost a fortune. Another reason is they really don’t want competition, the last thing a platform holder wants is a game you can download for free, or worse buy from someone else, that runs on an operating system they don’t control and is better than content they have in their own store. When Sony experimented with Linux on PS3 they never provided any access to the GPU so you wouldn’t be able to make compelling 3D content to compete with their own. In fact their hypervisor explicitly blocked the GPU so you couldn’t write a new GPU driver even if you wanted to.
A platform holder really needs to be a neutral party to eliminate political or competitive reasons for restricting content. Too many times a good third party game has been rejected or delayed simply because there is similar content coming out from a first party team. A developer should never have to compete with the platform holder, the public should decide which game they want to buy and that is only possible on an open and neutral platform. It’s also not unheard of that a platform holder restricts some type of service or media formats because they have their own competing formats.
In the grand scheme of things, there is no reason why a console cannot be neutral, open and secure at the same time. A more modern business model ensures all parties can be successful. How are we going to do this with Atari VCS?
Our core architecture consists of the Atari Secure Hypervisor and a heavily modified linux kernel called the AtariOS. All of this is in flash memory and before the AtariOS loads, any external storage device is checked, and if a bootable device is found, the OtherOS on that device is loaded instead. We don’t have a typical OS loader like UBoot or GRUB, and because the CPU is already in 64 bit protected mode from our boot code, the OtherOS will need its typical startup code changing. These changes are minimal and we’ll provide example code to show how to configure and boot standard Ubuntu. The OtherOS is running under the Atari Secure Hypervisor but the OtherOS has full access to the CPU, GPU, Memory, Audio, USB, Network, Display etc, and you can make full performance applications without restriction.
While you are in the Atari world, running on the AtariOS, you are in a secure world. From here you can buy games with secure credentials, play online without cheating, utilize parental controls, stream 4K media and utilize all the other things you can do on a traditional game console. While running OtherOS no Atari services are provided, the device is no longer an Atari device, its your device, to do with it what you wish. If you wish to return to the Atari world and use the Atari services then simply reboot to the AtariOS and everything will be as you left it.
It is up to us to make the Atari environment compelling enough that the natural place to go for content is the Atari VCS Store. We will do this by having a fantastic user experience, sound business practices, great publishing support, with novel and compelling content.
We never want to lose sight that it’s your hardware to do with as you want.
7) When should fans and backers expect to see the next Atari VCS working prototype?
There are many prototype aspects to a complicated product such as the Atari VCS. Different things will come online at different times. You’ll see working prototypes for Industrial Design, Controllers, Software and Hardware all independently. Only once all the sub sections are functioning will a complete form factor prototype be developed. We already have prototype hardware up and running with the Bristol Ridge processor but the form factor isn’t final. These initial boards are for developing the boot code and operating system, testing games and applications, measuring performance, power consumption, temperatures and lots of other metrics. They have lots of connectors and sensors that aren’t needed in a final product. We have also shared the stunning Industrial Design prototypes that have captured so much attention.
That’s all for now. We look forward to bringing you more updates, explorations and viewpoints from the Atari VCS team as the project develops.
Until next time!
Rob Wyatt & The Atari VCS Team