Saturday, December 9, 2017

Analogue Nt Mini : Browsing the Core Store Pt 2, AV and Future Predictions

In what is likely to be the penultimate article in my Analogue Nt Mini series for some time I intend to devote some time to a few of the more interesting cores remaining in the system, then discuss the video output from the NES.  Finally, I will offer my predictions for the future.

Fairchild Channel F

The Fairchild Channel F/Fairchild-Zircon Video Entertainment System (VES) was the first fully programmable video game console.  There are two built in games and 26 "Videocarts" were released for the system.  There is a very good homebrew of Pac-Man for the system and Tetris also exists, but otherwise it is a thin library.  Alien Invasion, a clone of Space Invaders and the last official cartridge released may be the best game.  Several cartridges contain more than one game. Hockey and Tennis can be played without a cartridge inserted.

It is important with systems you do not know to read about them beforehand.  Some of these lesser-known systems have very non-intuitive ways of operation, and the Channel F is among those systems if you have never played it before.  The Channel F has four selection buttons on the console, and they are mapped to L, R, Select and Start.  The core supports using the Super Famicom NTT Data controller for the buttons on the console, in which case they are mapped to buttons 1-4 on that controller.  Most games will load to a G? prompt.  In order to start a game, you must typically select the game by pressing button 1.  Then you should see a S? prompt.  You start the game by pressing button 4.  You can use button 2 to set the length of time which the game will play for most games and button 3 to set speed and difficulty options.

The Fairchild Channel F Hand Controllers is an eight button digital controller.  The Controller is shaped like a stick with a wedge on top of it.  It functions as something like an early six degrees of freedom controller.  Pushing the wedge Forward, Back, Left and Right is mapped to Up, Down, Left and Right on the D-Pad.  Twisting the Controller Left and Right is mapped to buttons Y and A on the 8bitdo or other diamond shaped controller.  Pulling Up is mapped to X and Pushing Down is mapped to B.  Some games may expect input from the second controller, so ideally you will need two controllers with a diamond-style four button arrangement to get the most out of this core.

Honestly, there really isn't much more to say about this core.  There is a file in the jailbreak firmware to allow you to play the built-in games.  All you need is the Channel F BIOS and the ROMs and some instruction manuals in case you can't figure out how to start a game.

Magnavox Odyssey2

With only 49 games published in the US, the Magnavox Odyssey2 was probably the number three console behind the Atari 2600 and the Intellivision before the Colecovision was released.  Like the Channel F, the library is somewhat limited.  K.C. Munchkin is probably the best game that does not utilize any add-ons or special game pieces.

The Odyssey2 is one of the few cores that cannot be fully utilized with the 8bitdo or Super Famicom NTT controller.  It has a 49-key keyboard on the console.  Kevtris included schematics for an adapter that will allow a standard PS/2 keyboard to work.  The adapter only requires a pair of resistors, a pair of transistors and a PS/2 or DIN5 female and a DA-15 female connector.  This adapter, which is something you have to build yourself at the moment, can also be used with the Videobrain core.

If you cannot make an adapter, you can achieve most of the functionality with the 8bitdo pad.  Many games will allow you to start a game using 1-4 on the keyboard, and those numbers are mapped to Start, Select, A and X on the 8bitdo Pad.  The Left and Right triggers correspond to Enter and Clear on the keyboard.  The standard controllers for the Odyssey2 are a pair of eight way, one button joysticks.  Some games may use the first joystick for player one, others may use the second joystick.  Later revisions of the Odyssey2 had hard-wired joysticks.

The Odyssey2 Core does not support the Phillips Viceopac+ G7400 console, which is a more advanced version of the Odyssey2 only released in Europe.  Also, like all non-NES cores, PAL support is non-existent and PAL games can be glitchy when played on an NTSC console.

The Odyssey2 has three games that are really a combination of video game and board game,  Quest for the Rings!, Conquest of the World and The Great Wall Street Fortune Hunt.  Quest for the Rings also came with a keyboard overlay.  Without the board and the pieces and sheets that accompany these games, they are not likely to be playable.

The real attraction of the Odyssey2 is the The Voice module, a speech-synthesis add-on.  It has built in voice samples and sound effects and can construct new words from built-in phonemes.  The Core supports it very well, just enable it in the Core settings.  The games that support The Voice (all NTSC) are :

Attack of the Timelord
K.C.'s Krazy Chase
Killer Bees (Voice used for sound effects)
Nimble Numbers Ned
P.T. Barnum's Acrobats
Sid the Spellbinder (Requires full keyboard and contains additional sound effects and speech in the cartridge)
Smithereens (Voice used for sound effects)
Turtles (Voice used for music)
Type & Tell (Requires full keyboard)

If a non-Voice game generates weird noises with The Voice, simply disable it in the Core settings.  The Odyssey2 requires a BIOS ROM and the Voice requires a pair of Speech ROMs.  

Other Cores

You may have noticed that there are several cores to which I have yet to devote any space, either in this blog entry or the previous entries.  As of Jailbreak 2.0 firmware, in addition to the Cores already discussed, the Nt Mini supports the VTech CreatiVision, the RCA Studio II, the Entex Adventure Vision, the Umtech VideoBrain Family Computer, the Emerson Arcadia 2001, the Bit Corp./UMC Gamate, the Timetop Game King and Watara Supervision.  Unfortunately, none of the other systems merit any extended discussion.  Their games are few and undistinguished and their comparative hardware capabilities are weak.  Unlike the Game Boy and Game Gear, the lesser-handheld systems tend to lose their charm when not being used with the actual handheld (especially the Adventure Vision with its red LED display).  Kevtris reversed engineered these systems and made these cores  as an engineering exercise.  

Analog Video

The analog video output of the Nt Mini deserves some attention.  The Atari 2600 core suffers from using the composite-artifact color prone 256-pixel video mode of the Sega Master System. The Atari 7800 uses a 320-pixel mode that can support 160-pixel graphics without color artifacts or a 320-pixel mode with them.  The Sega Master System Core has more color fringing than a real Sega Master System or Sega Genesis due to the lack of FPGA multipliers to add more filtering.  The lack of multipliers also results in the lack of a low-pass filter for the FDS audio and a lack of color in certain Core menus.  

Although Kevtris has indicated that the analog voltage levels of his NES core matched his NES, I found that compared to my NES, Famicom and AV Famicom, the hue is shifted a little more toward the red on the Nt Mini.  Compare the screenshots from my capture card here, each using identical settings :


AV Famicom :

Famicom (via RF to AV conversion by VCR) :

Nt Mini :

Fortunately, a turn of your hue/tint control toward the green can get your Nt Mini looking nearly identical to your NES.  Without much effort, here is an attempt to get the hues closer to each other :


Nt Mini :

Our Future Lies Ahead

I have written to provide a snapshot of the Nt Mini as its jailbroken firmware exists today in v2.0.  That firmware was released in March of this year (2017) and since then kevtris has been too busy designing the Super Nt to devote any further attention to the Nt Mini.  He eagerly discussed releasing his Intellivision core and cartridge adapters, but did not have the time to finish the Intv Core and the code for the adapters before the Super Nt's design. I cannot find kevtris ever talking about implementing an Atari 5200 core, but given that he has implemented a 2600 and 5200, it could be possible.  He indicated that a Sega Genesis could be possible for the Nt Mini, but that the SNES was too complex and the TG16 required faster S-RAM access than the Nt Mini could provide.

A weakness of the Nt Mini is its reliance on NES peripherals as controllers for other systems.  With odd things like the NTT Data Controller or the Famicom Modem Controller, you can simulate things like a Coleco or Intv Number pads or Atari 2600 Keyboard Controllers, but other systems like the O2 require a dedicated keyboard and adapters for it.

Most of the Cores use controllers implemented with parallel based I/O.  Each directional or button on the controller would be sent to a separate pin.  The NES uses serial based I/O where the button states are sent down one wire with a corresponding trigger signal and clock signals on separate wires.  Translating one to the other for something other than a joystick may not be easy.  However, many NES and Famicom peripherals have analogues on other systems, for example :

NES Zapper/Famicom Gun = Sega Light Phaser
Famicom 3-D System = Sega 3-D Glasses
Arkanoid VAUS Controller = Sega Paddle Control (uses 2 buttons) and Atari Paddles
Family BASIC Keyboard = Odyssey2 Keyboard
Hori Track = Sega Sports Pad or Atari Trackball (and possibly Atari Driving Controller because of the way they work)

Depending on how flexible the I/O is for the Famicom Expansion Port, it may also be a way to connect multiple controllers.

Kevtris has unofficially nicknamed the Nt Mini as his Zimba 2000 and the Super Nt as his Zimba 2500.  He has been talking about his Zimba 3000 FPGA based console which should be powerful enough to run Neo Geo and PlayStation 1 games.  Hopefully the success of the Nt Mini and Super Nt will give him the ability to make his ultimate FPGA console.

Given that the Super Nt will be released in February or March of 2018, I would not expect another firmware release for the Nt Mini until some time after then.  Until then kevtris will be too busy getting the bugs worked out of the Super Nt and possibly adding some jailbroken features as well.

1 comment:

  1. Kevtris' comment regarding differences between posted images: "Probably slight edge rate differences and amplitude differences. The ntm's edge rate is going to be a lot higher than the original system's. It depends too on how the monitor/TV reacts to them. A capture card is possibly going to be more sensitive to edge rates vs. something else like a CRT due to how its decoder works (i.e. it is probably going to be a digital decoder and flat ADC system vs. the analog decoding hardware you'll find on a CRT)."


    And: "There's more variation between the different "official" hardware revs than the ntm's output IMO in those pictures. Remember there's no One True Palette™ for NES, and anyone that tells you there is, is lying :-) The video I generate uses the exact same timing as the real chip does, with the same voltage levels. The only real difference I could see is my quality is a bit higher over all (edge rate, noise floor). So it's pretty much as good as it can ever get. There's some unit to unit differences in PPU outputs, and it can vary some over the 7 PPU revisions as well.

    I don't have the resources to test this, but it'd be interesting to see a typical PTV distribution for say the G rev PPUs. (PTV = process, temperature, voltage). You'd have to characterize 10 to 20 PPUs and then vary the 5V supply probably 200mv either way to account for NES to NES variations in the power supply, and then vary temperature of them from say 0C to 40C or so. All of these things will affect the video output so making a "true" recreation is literally impossible, since pretty much everyones' NES experience will be slightly different. Throw in CRT differences and we arrive at the huge mess of palettes we have today."