Saturday, October 13, 2018

The CollectorVision Phoenix - An FPGA Console Behind the Times?

The ColecoVision has a very driven fan community.  I did not own one and really do not share the love that those who do or did have, but nonetheless it is a classic gaming system that has new products and peripherals released for it.  The idea of recreating the Coleco in a modern, updated console, has long been talked about.  Currently, no less than three different groups have announced some kind of FPGA-based Coleco.  One of those project, called the CollectorVision Phoenix, is now accepting funding on kickstarter.  Let's look into the Phoenix's campaign and features and I will explain why I think you should give this FPGA console a pass.

Here is the kickstarter :  You may want to have it open in another tab or window because we have a lot of ground to cover.

Thanks to kickstater's rules on hardware projects requiring a working prototype, it is an achievement for the CollectorVision team that they were able to post their campaign on kickstarter and not another crowdfunding site like Indiegoogo which does not require a working prototype.  As CollectorVision has stated, it has taken five engineers and two years to get to this point.  Despite its brand name and resources, Atari went to Indiegoogo for its Ataribox's backing.  The Ataribox has attracted a lot of negative publicity by the inability of Atari to show off a verifiably functional unit.  Similarly, the Polymega CD-based emulation system used its own site to solicit pre-orders despite the wider audience kickstarter could have afforded that console.  Having a working prototype is no guarantee of success, suppliers can fail to deliver or use substandard clone parts. The molds may not fit right from the factory, requiring a second batch to be manufactured at your expense.  The supply of chips you are using can dry up from being End of Life'd.  Or your chief financial officer can embezzle most of your kickstarter funds to build his dream home.  This actually happened to a highly successful kickstarter project called the "Peachy Printer" :  

Faith and good intentions is not enough to deliver a quality product in this day and age.  In 2015, the Phoenix would have been an amazing system.  No one had brought an FPGA-based classic console system to the general public.  However, as we are approaching the year 2019, this is no longer virgin territory for the retro-gaming market.  The AVS, the Nt Mini and the Super Nt have preceded the Phoenix and set the bar ever increasingly high for what consumers expect in an FPGA-based classic console.  Given that the base price of the Phoenix is $199, it will have to work hard to impress when compared to the competition's prior products.

Let's look at the outer design of the Phoenix first.  The rendering software CollectorVision used drew an image that would not look out of place on a Windows 3.1 system.  Their 3-D printed case doesn't give you a good sense of what the final, injection-molded case, will look like on your shelf because it lacks the silver highlights of the render.  And those start and reset buttons on the rear left corner are, in my opinion, warts on what is otherwise aesthetically inoffensive design.  I understand they were trying to evoke an arcade cabinet presentation, as well as the look of the original system when the controllers were stored in the hole provided for in the Coleco's original enclosure.   Given their position and height on the enclosure the buttons on the Phoenix stick out like sore thumbs.  An original Coleco has buttons which are flush with the enclosure or nearly so.

The ports of this device are interesting.  Video and audio is via HDMI only, no analog outputs are provided.  There are a pair of DE-9 ports for your Coleco controller, a PS/2 port for a keyboard and a single SNES controller port.  It also has an SD-card slot for loading ROMs and a 30-pin cartridge port for Coleco cartridges.  The DE-9 ports are a must, obviously, because you cannot truly call a retro-console a ColecoVision Console if you cannot use the original controllers.  However, unlike the SNES no one has made fully compatible controllers for the Coleco since 1985.  The controllers included in the atgames Coleco Flashback do not function in quite the same way. as original controllers, even though they have the same knob joystick, side buttons and keypad.  While CollectorVision could add compatibility with the Flashback controller, they have not indicated any interest in doing so.

The DE-9 ports of the ColecoVision could support 1-button Atari 2600 or 2-button Sega Master System controllers.  The Phoenix will as well.  The Phoenix also should work with the Sega Genesis 3 & 6-button gamepads, but you presumably will be limited to two buttons.  I do not know if they will allow the extra buttons of the 6-button Sega pad to work as keypad keys.  A six button controller could be made to assign Buttons A, X, Y & Z to Coleco keypad buttons 1, 2, 3 & 4.  If you hit the Start or Mode button on the six button controller, that might "shift" those buttons to report Coleco keypad responses 5, 6, 7 & 8 and 9, 0, * and #.  Kevtris did something a like this on the Nt Mini for the NES30 and SNES controllers but he did not do the "shifting" thing.  CollectorVision does "plan" to support the ColecoVision Driving and Roller controllers, but they may need a separate power supply solution.  

Might the PS/2 port allow the keypad to be implemented via keyboard?  I do not know, CollectorVision has not commented on that.  A standard keyboard has two sets of number keys, which would be quite sufficient for the Coleco gamepads.  Some people have criticized the use of PS/2 rather than USB for the keyboard interface, but CollectorVision explained that it would have to implement a USB interface chip and that would increase costs.  We will review how wisely CollectorVision has spent its development budget later on.  PS/2 keyboards, if you do not care about quality, can be had for cheap often at your local thrift store.  I hope the Phoenix can handle the current draw of an IBM Model M keyboard, which usually comes with a PS/2 cable.  If you are not into vintage computing, needing to keep a PS/2 keyboard around for this purpose may be annoying.  Because the Phoenix is open source, the keyboard port could be used to add a keyboard if an MSX core or Adam Computer core is run.  There are no guarantees that extra cores will be added to the system.

The SNES port is intended for the NTT Data Pad.  The NTT Data Pad was released for the Super Famicom and included a keypad sandwiched in between the D-pad and action buttons of the standard Super Famicom/SNES controller.  It was only supported in a few software titles which allowed on-line betting on horse races.  The Coleco community have used these controllers in a hacked form to substitute for a Coleco controller for some years now.  However, the Nt Mini also used them as controllers for its ColecoVision core, so the price on them has shot up considerably in the past two years.  However, while there is plenty of room on the board for two SNES controller ports, they only have designed the Phoenix for one controller.  I feel this was a big oversight, either they should have implemented two SNES ports or none at all.  Regular SNES controllers have enough buttons to implement all keypad buttons using the shifting method I outlined above.

The cartridge port does allow you to play Coleco cartridges, which is always a plus.  One positive thing to note is that there are level converters between the cartridge slot and the FPGA, so your rare cartridges and expensive system won't be attempting to kill each other with incompatible logic levels.   They will make the the specification open source so others can contribute or port cores to the hardware.  So you could, with a cartridge adapter and a core, run Atari 2600 cartridges on the Phoenix.  (No such core or adapter has been announced).  However, with only 30 pins, running a Sega Master System cartridge or a NES cartridge is out of the question.  

The expansion port on an original Coleco was a 60-pin card edge, the expansion port on this device is a standard DB-25 parallel-port connector.  Obviously devices like Expansion Port #1, the 2600 Adapter, and Expansion Port #3, the Adam Computer upgrade, are not going to work with the Phoenix.  I am not aware of any plans for this port.  While there should also be level converters for the controller ports, this expansion port does not use them.  This would limit this expansion port to modern or new peripherals.  

Turning to this device's capabilities, the system intends to be fully compatible with the ColecoVision at launch.  Above the abilities of the stock ColecoVision, it offers three enhancements.  The first is the Super Game Module, a RAM and audio upgrade.  The second is the F18A, a video enhancement.  The third is the SEX7264 Courtney Wavetable Sound Generator.  I will talk about each in turn.

The Super Game Module replaces the 1KB of RAM in a stock Coleco system with 32KB of RAM for more complex games and software.  It also includes an AY-3-8910 sound chip, providing for stereo sound.  It was designed by Opcode Games in 2012 as an expansion module for the original Coleco.  It is priced at $100 and is sold in batches, so when it isn't available, it tends to get scalped.  CollectorVision is reputedly paying Opcode Games $20 a unit to license the design.  However, the SGM implements the extra RAM a Coleco Adam computer implements RAM, so it's only really novel idea is adding a sound chip to one of the I/O registers.  

While adding an extra sound chip was not a bad idea, the reason why the AY-3-8910 was selected had to do with the intended purpose to which the SGM was to be put.  In short, the SGM was to make the Coleco look more like an MSX console.  An MSX computer typically came 32KB of RAM and always had an AY-3-8910 sound chip.  By adding this extra RAM and sound chip, the Coleco community could more easily port games from the MSX.  Games from Konami (Gradius, Twinbee), Namco (Galaga, Mappy) and Taito (Arkanoid, Operation Wolf) originally released on the MSX have been given new life in the form of  SGM-required cartridges.  So Opcode Games, CollectorVision, Team PixelBoy and others have been giving the Coleco homebrew community many new SGM-enhanced releases since 2013.  Of course no one bothered to obtain the permission of these license holders before selling these cartridges.

The second upgrade is the F18A.  The F18A was an FPGA-based video upgrade/replacement module for the Coleco's VDP (Video Display Processor).  You would remove the VDP from your Coleco and insert the F18A, which would scale the graphics 2x horizontally and vertically to output to VGA.  It can work with other systems that use the TMS9918-family VDP like the MSX and Sega SG-1000.  It also has many enhanced features, such as 4096 colors, hardware horizontal and pixel scrolling, more color choices for tiles and sprites, eliminating sprite flicker and support for higher resolutions.  (The TMS9918 can only display four 8x8 sprites per line).  In terms of game support, Opcode Games' Tank Batallion (Namco's Battle City) and CollectorVision's Tank Mission support enhanced palettes when run on the F18A.  Other than the F18A's ability to eliminate sprite flicker for all games, these are the only games I know of which support any enhanced feature of the F18A.

The reason why CollectorVision went with the F18A is that it was a compatible solution which scaled ColecoVision graphics and provided features that are mostly only likely to be for future exploitation.  Unfortunately, that choice has left the Phoenix supporting only 480p.  That's right, not 576p, not 720p, not 1080p, 480p.  Their kickstarter does not mention that anywhere.  HDMI stands for "High Definition Multimedia Interface" and 480p is not high-definition anymore.  So essentially you will get the native Coleco graphics, 256x192 pixels, scaled 2x to 512x384 pixels.  Then the F18A will add borders on each side to get to 640x480 and the FPGA will send that by HDMI to your display.  At least the HDMI port has a protection chip before it to avoid short circuits when hotswapping plugs.

Donkey Kong - 256x192 Native Resolution

So far, in addition to the kickstarter video showing the Phoenix in action, AtariAge forum moderator TPR also received a prototype unit and has posted two videos showing it off as well.  All three videos show the image as displayed on a smallish LCD TV screen.  There is no direct video or audio capture from the Phoenix available at this time.  A request for a direct capture was made the other day on the AtariAge forum, but so far no response has been forthcoming either from CollectorVision or TPR.  I might suggest  that any true direct capture, being limited to 480p, would not look very good on Youtube.  Youtube does not allow for 60fps at 480p generally, and upscaling it might give the appearance of false advertising without a Prominent Disclaimer which would draw more attention to the issue.  Your TV is likely to scale a 480p signal in a rather fuzzy fashion because nearest neighbor scaling looks awful with video and film material.  It will probably look best on a PC VGA CRT via HDMI converter, which was, ironically, what the F18A was designed to display to in the first place.  Also, without a direct capture it is hard to appreciate the sound quality.  While you may think that simple square waves and noise would be hard to screw up, without proper filtering you can get really high frequencies or aliasing that make it difficult to listen to the audio.

Donkey Kong as it Could be Displayed by the Phoenix, 512x384 within a 640x480 frame

The COURTNEY sound module is something CollectorVision invented for the Phoenix.  Unless some games come to support it in the future, it is not going to add any value to the product.  Wavetable Sound Generators were used in many arcade boards like Pac-Man, but the closest thing in a home console was probably the wavetable channels of the Famicom Disk System, PC Engine and Game Boy.  The Konami SCC sound chip, used in several MSX games, is also wavetable-based.  CollectorVision does publish many Coleco homebrew games, so you might expect support from their upcoming products, provided they are not just the typical straight MSX port.  

Donkey Kong as Displayed by the Nt Mini, 1280x960 within a 1920x1080 frame.
All screenshots courtesy of Mobygames.
Let's look to the kickstarter campaign and CollectorVision's kickstarter history.  First, this is not CollectorVision's first crowdfunding rodeo.  Back in May of 2015, they had a successful kickstarter for their Sydney Hunter and the Caverns of Death game for the SNES and NES.  They indicated that the game would be estimated to ship in January of 2016.  The SNES game finally was released in January of 2018.  What was released was, in my opinion, something of a mess.  There were glitches in the graphics that should not have been present in a $60 game.  The graphics were rather simple and the elements like the lava was animated poorly.  Hit detection against your character was too generous for a game with only one-hit deaths.  The gameplay was extremely simplistic for a SNES game.  The NES version has yet to be released and the latest update video still shows an alpha-quality build.  The Sydney Hunter kickstarter was done under John "Gamester81" Lester's account, but the Phoenix one is being done under Brian "Bmack36" Burney's account.  It is still the same outfit regardless of which one of the principal's accounts are being used.  

If you want the Coleco version of Sydney Hunter and the Caverns of Death, the kickstarter is the only way to get it right now.  Fortunately you can pledge for the game and console separately.  If the kickstarter fails, CollectorVision will almost certainly sell the cartridge on its website.  Frankly, Sydney Hunter and the Sacred Tribe, which is included with the Phoenix as a built-in game along with nine other built-in games, looks to be the better game.  

As of this writing, CollectorVision has raised just over $40K of its $230K goal.  It must meet its goal in order to get any money per kickstarter rules.  I find there are three patterns to kickstarter funding.  First there is the project that is almost funded or fully funded within a day or two.  Second are projects which have a spike at the beginning and gradually decrease into a slow and steady progression.  Those sometimes go down to the wire.  Then there are those which have the spike and slowly descend after several days into very little activity, not enough to meet the goal.  The funding progress of the Phoenix seems somewhere between the second and third patterns.  Whether this kickstarter will have enough sustained pledges is looking very uncertain as I write on day 5 of their 30 day kickstarter.  

Some of the money spent on this console's production is questionable.  First is the $20 license fee for the Super Game Module.  Opcode Games has no patent on the SGM, the technical data is fully available and the functionality is trivial to implement in an FPGA.  I know that CollectorVision and Opcode Games try to support each other, but when that support adds $20 to a console unit, the customer is losing out.  Opcode Games has announced its own FPGA Coleco called Project Prometheus and an French outfit called HBVision has also showed off an FPGA Coleco prototype.  Then there is the 2MB SRAM chip being used.  That chip costs $21 in quantity.  An SDRAM of the same capacity chip costs about $0.30 and is quite sufficient for a project of this scope.  It does require a slightly more complex implementation but other FPGA-based console systems have managed it and spend their development budget more wisely elsewhere.  

Becoming an licensed HDMI adopter costs $5,000 plus a royalty on each product sold.  CollectorVision indicated in an AtariAge forum thread that they will be a licensed adopter, but I have not seen them yet on the list.  HD Retrovision also announced recently that they are a licensed adopter and I can verify that assertion on the HDMI official adopter list.  I doubt there will be any official HDMI licensing if this kickstarter fails.  

Now, if the kickstarter fails, CollectorVision still intends to sell the Phoenix.  However they will have to charge $300 and can only provide a 3-D printed enclosure.  At $200, the price was rather a pill to swallow, but at $300, only Coleco diehards like TPR will ante up I suspect.  In that case, it will be much harder to attract developers to write or port cores to the open source Phoenix.  

Let us compare the CollectorVision to its predecessors in its price range.  The AVS uses similar hardware and costs $185.  It displays the NES, a more advanced console, in 720p and has a menu for options.  It also has four controller ports and the Famicom expansion port on the rear.  The Phoenix has not been shown to have a menu to change settings like horizontal width or to turn on/off sprite flicker.  While the Phoenix can load ROMs from an SD card, its loader looks extremely basic.  I am not sure if subdirectories are supported by its ROM loader.  I cannot say I am impressed with its loading times, it took 8 seconds to load a ROM in the kickstarter video.  It took almost as long to boot from a power-off state.

But then if you compare the Phoenix to the Super Nt, the comparison is a hands-down winner for the Super Nt in every respect.  The Super Nt has a beautiful plastic enclosure, has much more powerful hardware and does 1080p output.  It can load SNES ROMs through a menu system that is overlaid on the screen and supports subdirectories and costs $189.99.  It has many other features for scaling, interpolation, sprite flicker reduction, audio balance and the like.  And when the shipping is added to both systems, they came to within $1 of each other for me!  The kickstarter boasts it took five engineers two years to build the Phoenix.  And their Z80 core is open source and the F18A core was adapted from the original F18A board.  Kevtris designed the Super Nt and programmed the SNES core it runs on his own (with the enclosure designed by Ernest Dorazio) in less than one year.  If the Coleco is the easiest systems to recreate in an FPGA, the SNES is among the most difficult to accurately model the hardware.  The Super Nt is not open source, so any core updates are limited to what kevtris and Analogue are willing to provide.

The Phoenix is not the first time a Coleco has been recreated on an FPGA.  Now, I could show you what I predict would be the ideal output from the Coleco using my Nt Mini.  My Nt Mini can display the Coleco in 480p, 720p and 1080p.  But the Nt Mini was expensive ($449.99) when it was released and now it is much more expensive due to the lack of interest from Analogue in making the console again.  Fortunately for 8-bit fans, there is another alternative for Coleco fans.  The open source MiSTer FPGA project uses a DE-10 Nano development board to implement home computer, video game console and arcade machines.  It does have a Coleco core as well as an MSX core, so you do not need SGM support to play most of the games that were ported to the SGM.  The FPGA on the MiSTer is far more powerful than that found on the Phoenix and can easily handle 1080p without a sweat.  The base board costs $130 but does require USB controllers, cannot run cartridges and the MSX core requires an SDRAM board which costs about $30 to buy.  There is an active homebrew community for MiSTer, and while some cores like the NES core are unimpressive, the Coleco and MSX cores should be good.

In summary, while I would like to recommend any FPGA console, I feel that the negatives outweigh the positives too much to support the CollectorVision Phoenix.  480p is simply nonsense in this day and age and CollectorVision knows it.  Even cheap emulator boxes like the NES Classic and RetroN 77 can do 720p.  I do not care for many of the design decisions made with the Phoenix and there are other alternatives out there that can do as well or better for similar money.  While they CollectorVision team has not tried to pull a fast one with a non-working prototype, there are unanswered questions about the final product to which backers and potential backers should be receiving responses.  I am not sure if there is going to be the critical mass required for the kickstarter to succeed.  Also, it almost one year since Analogue announced the Super Nt and kevtris "has been hard at work on stuff for quite a while now."  I might wait a few weeks to see if Analogue announces anything before making expensive purchases.  If Analogue does announce something, it is likely to be far more impressive than the Phoenix and will probably have a similar price tag.  


Tom said...

Sorry, pedantic point only, not of substantial value: the TMS can do four 16x16 sprites per line, not just 8x8s. But it's a global setting, so not the most convenient thing to use. That's 16 real, unique pixels; it also has a scale-by-two feature but I'm not referring to that.

Sadly I think I agree with you as to the project as a whole, and I've got a Spectrum Next on the way so could not be called prudent.

Great Hierophant said...

Bmack36 contacted me to inform me of certain inaccuracies in this article. They are not paying Opcode Games $20 per unit to use the SGM, but "only a fixed fee that didn't add much per unit cost to the production systems." Additionally, they are not using a $20 2MB SRAM part but only a $3 512KB SRAM part. There should be some direct capture footage between now and the end of the Portland Retro Gaming Expo. While there are five engineers working on the project now, some of them have recently joined the project and have only been working on the system for a few months. He is still hoping to get 720p working on the console.

He pointed out that I failed to mention that the Nt Mini has a boot time and cannot play ColecoVision cartridges. The Nt takes approximately 24 seconds to load a core except for the built-in NES and NSF cores. After that, loads of Coleco games are nearly instantaneous. By the time you load your fourth game you will have made up the difference. You can also freely switch from Coleco to Master System or Game Gear without incurring another load penalty.

Steve said...

I'm a backer of this already as a ColecoVision fanboy. Just wanted to say I appreciate your critical insight. You make some valid points!

Why a SNES port at all (and if it's a must, why not 2)? If the parts are that much cheaper than you projected on build out, then where is the rest of the money going? i know it's not realistic to expect a price drop because your numbers were off on OpCode or the RAM, but it does beg the desire (although no actual right) to see a breakdown of the expenses for the kickstarter.

I'm also a proponent of simple loading of various FPGA Cores-- I've suggested in the past that a console be made with physical adapters for the cores and cartridge slots. It's over my head technically to make it happen, but I'd love to see a system that uses something akin to the Genesis Power Base or the AtariMax cartridge dumper adapters with various slots on each console's separate unit (sold separately!), and the core in the base to tell the console to laod that system and cartridge. #Dreaming

That said, I still hope the Phoenix succeeds. Collectorvision has been a great asset to the gaming community, and the Coleco scene in particular IMO. Happy gaming!

Great Hierophant said...

"Why a SNES port at all (and if it's a must, why not 2)? If the parts are that much cheaper than you projected on build out, then where is the rest of the money going? i know it's not realistic to expect a price drop because your numbers were off on OpCode or the RAM, but it does beg the desire (although no actual right) to see a breakdown of the expenses for the kickstarter."

The SNES port is for an NTT Data Pad, which is a Super Famicom controller which has a full numberpad on it. Why not two? Excellent question, especially since they saved all that money by going to the cheaper SRAM chip :)