Previous Post

Coin-Op Collection Presents: NMK16 (Super Dimension Fortress Macross)

Next Post
Coin-Op Collection Presents: NMK16 (Super Dimension Fortress Macross)
1 / 6
DESCRIPTION

Today's release for the Analogue Pocket and MiSTerFPGA platforms is the first entry in the NMK16 platform. Super Dimension Fortress Macross is a vertically scrolling shooter built on NMK's 68000-based custom chipsets, the same hardware family behind:

Task Force Harrier (1989)US AAF Mustang (1990)Vandyke (1990)Bio-ship Paladin (1990)Black Heart (1991)Acrobat Mission (1991)Thunder Dragon (1991)Hacha Mecha Fighter (1991)Super Dimension Fortress Macross (1992)Koutetsu Yousai Strahl (1992)Saboten Bombers (1992)GunNail (1993)Super Dimension Fortress Macross II (1993)Thunder Dragon 2 (1993)Bombjack Twin (1993)Power Instinct (1993)Rapid Hero (1994)

Released in 1992 by Banpresto, Super Dimension Fortress Macross is the reference core for the platform and the foundation every following NMK16 title is built on. It is the first NMK16 release and the one that brings up the platform's entire custom chipset from the ground up.

This post covers a technical overview of Super Dimension Fortress Macross on NMK16 along with the new IP this first release introduces.

Licensing:

Super Dimension Fortress Macross is distributed through the Coin-Op Collection licensing portal, which serves both MiSTerFPGA and Pocket from the same dashboard.

Pocket patrons need to register their device and generate a key before launching the core. Step-by-step instructions and the FAQ are available on the Help page. More information can be found by clicking here and here.

Overview:

Super Dimension Fortress Macross runs on NMK's 68000-based hardware (PCB BP921), driven by a single Motorola MC68000 at 10 MHz. The audio system is built around the NMK004, a Toshiba TMP90C840 microcontroller running at 8 MHz that takes sound commands from the main CPU and drives the rest of the audio hardware: a YM2203 (OPN) at 1.5 MHz for FM and PSG output, and two OKI M6295 ADPCM samplers at 4 MHz, each with its own bank-switched sample ROM. Audio output is mono. A second TMP90C840, the NMK215 at 4 MHz, runs the board's protection routines and drives a pair of NMK214 descramblers that unscramble the sprite and background tile graphics ROMs.

The video system outputs 256x224 at approximately 56.205 Hz. Graphics are handled by a set of NMK custom ICs rather than a single sprite or tilemap chip: the NMK902 generates the interrupt and video timing chain, the NMK901 manages the sprite attribute table and its DMA, the NMK008 and NMK009 pair renders the sprites, two NMK903s latch and multiplex the graphics data, and the NMK111 acts as the palette and VRAM gateway. The display composites three layers from back to front, a scrolling 16x16 4bpp background tilemap, 16x16 4bpp sprites pulled from a DMA-buffered list, and a fixed 8x8 4bpp text layer on top for HUD elements. The palette holds 1024 entries split evenly across the background, sprites, and text layer.

Video timing is not generated by a programmable register set. Two bipolar PROMs drive it directly: a horizontal-timing 82S129 and a vertical-timing 82S135, both 256x8. The horizontal PROM defines the H counter chain and blanking, and the vertical PROM is stepped once every two scanlines to walk the frame. Each vertical PROM entry packs the active video, VBLANK, and VSYNC signals together with an interrupt trigger, a three-bit interrupt level, and a sprite DMA trigger. The NMK902 reads that PROM to raise the raster interrupts mid-frame, the vertical-blank-in and vertical-blank-out interrupts at the top and bottom of the active area, and the sprite DMA at the end of the frame, with no main CPU involvement. The interrupt level the 68000 sees on each event is taken straight from the PROM word. A third, smaller 82S123 32x8 PROM is the priority compositor; the displayed color itself is generated from the 16-bit palette RAM rather than a color lookup PROM, with four bits per channel plus a shared intensity bit expanded to eight bits at output.

Development Challenges:

Standing up the NMK16 platform meant building two new pieces of IP from the ground up before the board could run: x90840, a Toshiba TMP90C840 microcontroller, and x2203, a Yamaha YM2203 sound generator.

The TMP90C840 is the larger of the two by a wide margin, roughly 7,600 lines of Verilog across its CPU core and on-chip peripherals, and this board uses it twice, once as the NMK004 sound MCU and again as the NMK215 protection MCU, so a single new microcontroller core had to be correct enough to satisfy both roles. The YM2203 supplies the board's FM and PSG voices. Both were written new for this release.

x90840 microcontroller: The NMK004 and NMK215 are both Toshiba TMP90C840 microcontrollers, an 8-bit part built on Toshiba's TLCS-90 core with 8 KB of internal mask ROM, 256 bytes of internal RAM, and a full set of on-chip peripherals. x90840 is a cycle-accurate Verilog implementation of that microcontroller. The CPU covers the entire TLCS-90 instruction set, all 163 instructions across the four prefix-encoded pages of the instruction map, the Z80-derived main and alternate register sets, and the BX/BY bank registers that extend the 16-bit program counter across a 1 MB address space.

On-chip it carries the four 8-bit timers and the 16-bit timer, the asynchronous serial port, the six-channel analog-to-digital converter, the watchdog, and the fourteen-vector priority interrupt controller, with machine-cycle timing matched to the Toshiba TLCS-90 manual. The core was checked against a testbench of 1035 self-checking assertions spanning the instruction set, the ALU, and every peripheral.

On Macross the same core fills two distinct sockets. As the NMK004 it runs the sound firmware out of its internal ROM plus an external program ROM, reads sound commands from the 68000, and drives the YM2203 and both OKI M6295s, including their ROM bank-switching. As the NMK215 it runs the protection firmware and feeds the NMK214 descramblers. Writing the TLCS-90 microcontroller that holds up both roles was the largest single piece of work in this release.

Bringing up x90840 also meant getting internal ROMs out of the silicon. We built multiple TLCS-90 internal ROM readers from sergiopolog's design and used them to dump four MCUs, two for Jaleco Mega System 1 and two for NMK16. One was submitted as a fresh dump tom MAME while the others matched sergiopolog's existing dumps, confirming the reader and the images. This was all possible thanks to your support!

With x90840 complete, the same TMP90C840 core also clears the way for Jaleco Mega System 1, whose protection MCU is the same TLCS-90 part, and development on that platform can now resume.

The remaining custom hardware, the large NMK video set that draws the sprites and tile layers, is in place and verified against an original Macross board. The next post will continue covering the NMK custom chipsets in detail.

YM2203 (x2203): The YM2203, or OPN, provides three four-operator FM channels and a three-channel PSG. x2203 is a fully synchronous implementation that time-multiplexes a single operator datapath across the twelve FM operators each sample period and sums the FM accumulator with the PSG output for the chip's mono signal.

It covers the eight OPN connection algorithms, Channel 3's multi-frequency special mode, and CSM. On the board the YM2203 runs at 1.5 MHz under the NMK004, and its interrupt line feeds the NMK004 to time the music. The FM and PSG outputs are brought out separately in the core so each can be mixed independently. x2203 has been verified against an original Macross board.

NMK215 and NMK214 protection: The board protects its graphics ROMs by scrambling them and gating access behind the NMK215. The NMK215 is the second TMP90C840 on the board, running its own protection firmware, and it drives a pair of NMK214 devices, one for the sprite graphics and one for the background tiles, that descramble the ROM data before it reaches the graphics hardware.

The NMK214 reorders the data both at the address level and within each tile. In the core that descramble is resolved once at load time so working memory holds the unscrambled image and the runtime read path stays simple. The text layer is not scrambled and is read directly. Behavior across the protection path was verified against an original Macross board.

The remaining custom hardware, the large NMK video set that draws the sprites and tile layers, is in place and verified against an original Macross board. The next post will continue covering the NMK custom chipsets in detail.

Core Options:

The MiSTer core includes video settings for aspect ratio, vertical scaling and cropping, scandoubler effects, and vertical positioning and sync adjustments. Horizontal positioning and sync adjustments are not available: the board's horizontal timing is fixed by the 82S129 horizontal-timing PROM, just as it is on hardware, while the 82S135 vertical-timing PROM leaves the vertical adjustments open. The refresh rate toggle is disabled due to this.

Audio settings provide separate OPN FM, OPN PSG, and two M6295 PCM toggles with volume control for each. Arcade dip switches are directly accessible from the OSD. Game settings include per-player auto-fire with adjustable rates, mapping options for Player 1 and Player 2, and a synced mapping mode that mirrors Player 1's layout to Player 2.

Cheats are accessible from the OSD. The set includes a stage select that places the player on any of the first seven rounds, invincibility, infinite credits, per-player infinite lives, infinite bombs, and maximum firepower, and a per-player weapon select that locks the Valkyrie into its Fighter, Gerwalk, Battroid, or Armored-V form.

The Pocket core provides auto-fire with per-button targeting and adjustable rates. Its cheat set is a single-player-focused subset: starting round, infinite bombs, maximum firepower, invincibility, and weapon select. Arcade dip switches available on Pocket are Service Mode, Difficulty, and Lives.

History, Gameplay, and Regional Information:

Super Dimension Fortress Macross was developed by NMK and published by Banpresto in 1992, adapting the Macross anime, and the 1984 film Macross: Do You Remember Love? in particular, into an original arcade shooter. Development was headed by producer Toshifumi Kawashima, with Masahiko Takahashi as the sole planner and designer. Tamio Nakasato, a programmer on Capcom's 1942, and Youichi Koyama handled the programming, and the soundtrack was composed by Kazunori Hideya, Manabu Namiki, and H. Mizushima.

Players pilot a VF-1 Valkyrie against the invading Zentradi across seven stages. The Valkyrie transforms between three modes on the fly, the jet-form Fighter, the half-transformed Gerwalk, and the humanoid Battroid, each with its own weapon profile, and powers up by collecting items dropped during play. A fourth Armored Battroid mode adds defense along with a grenade and missile loadout. An 8-way joystick handles movement with two buttons for shot and bomb, and when the player is shot down the next Valkyrie resumes from the spot it was lost rather than a checkpoint. Clearing the seventh stage completes the first loop and sends the player back through a harder second pass, with heavier enemy fire and counterattacks, before the staff roll.

The game was released internationally under region-specific publishers, Banpresto in Japan in September 1992, Fabtek in North America that October, and Leisure & Allied Industries in Australia. The same board serves both regions through a language dip switch, presenting the English title as Super Spacefortress Macross and the Japanese as Chou-Jikuu Yousai Macross. It remains the only Macross arcade title to receive an official release outside Japan.

In its day the game was a steady earner. Its early stages were gentle by the standards of the period's shooters, and the draw of the license brought in players who would not otherwise have sat down at a vertical shooter, so it held cabinets for a long run on the strength of its faithfulness to the source and its polish as a shooter. It returned in late 2024 through Hamster's Arcade Archives line, a digital release on Nintendo Switch and PlayStation 4, with both the Japanese and overseas versions included. That re-release is available only in Japan.

Updates:

Super Dimension Fortress Macross is the first NMK16 release, and with the platform's hardware now standing on its own, the next title is US AAF Mustang. Task Force Harrier and Vandyke follow after that. Each one reuses the work done here and fills in the parts of the board that differ from set to set, so the cadence should pick up from this point.

Completing x2203 also clears a backlog beyond NMK16. The YM2203 turns up across a number of platforms, and several cores that were otherwise finished have been waiting on a clean, hardware-accurate in-house OPN before they could go out. With x2203 done, those releases will begin to roll out.

Disclaimer: All product names, trademarks, and registered trademarks mentioned are the property of their respective owners. "Analogue", "Analogue Pocket", "MiSTer", "MiSTerFPGA", "OpenFPGA", "Motorola", "Toshiba", "Yamaha", "OKI Semiconductor", "NMK", "Banpresto", "Big West", "Hamster", "Macross", and all derivative works are trademarks, registered trademarks, or copyrighted materials of their respective holders. Use of these names does not imply endorsement or association with this post. All rights reserved to their respective owners. This post is for educational and research purposes only.

Coin-Op Collection PATREON 2 favs
VIEWS1
FILES6 files
POSTEDMay 24, 2026
ARCHIVEDMay 24, 2026