A2FPGA

From The ReActiveMicro Apple II Wiki
Revision as of 00:02, 20 August 2024 by Edanuff (talk | contribs)
Jump to navigation Jump to search


A2FPGA A2N20 v2.0

The A2FPGA is primarily an HD video and Mockingboard-compatible sound card for the Apple II, II+, //e, and IIgs. It's a small, Apple II peripheral card that can be installed in any Apple II computer II, II+, //e, IIgs. See Slots below for compatible slot locations by system type. The A2FPGA uses a modern FPGA (field-programmable gate array or "programmable logic") to provide precise timing-accurate interfacing to the Apple II bus. This allows the card to capture all access to Apple II display memory in order to faithfully generate Apple text and graphics in crisp 480p 60Hz HD as well as providing the functionality of a number of popular peripheral cards in a single Apple II slot. The A2FPGA has been tested with Apple II, II+, //e, and IIgs models and brings the classic Apple II experience to a whole new level on any monitor or television.


Product Status: Actively sold by ReActiveMicro.

Support: Post on the Discussion page (link above) or email ReActiveMicro Support.

Sales: Visit the ReActiveMicro Store.

Open Source: Visit the A2FPGA Core on GitHub.


Features

As of April 2024 the standard features currently are:

720x480 @ 60Hz HDMI output supporting all Apple II, II+, //e, & IIgs display modes.*
Mockingboard sound compatibility (Slot 4)
Both Apple II system speaker audio AND Mockingboard audio are output to your HDMI display's speakers
Synetix SuperSprite and Ciarcia EZ-Color TMS9918a compatibility (Slot 7)
  • If your monitor doesn't support 720x480 resolution, or some older "CCTV" type monitors, then you may not receive video. More common and newer HDMI monitors should not have any issues.
  • All functionality is supported simultaneously. Users don’t have to change modes or configuration to switch between features.
  • The A2N20-V2 Multicard does NOT connect the INT_IN/INT_OUT or DMA_IN/DMA_OUT daisy chain lines. Systems that have multiple cards which depend on daisy chaining may not function.

Slots:
II/Plus/e - Any Slot, We recommend Slot 7 for better HDMI cable routing
IIgs ROM0 - NOT TESTED, But Slot 3 ONLY
IIgs ROM1 - Slot 3 ONLY*
IIgs ROM3 - Any Slot 1-6 but WILL NOT function in Slot 7

*A user can use the A2FPGA in any slot in the ROM1 IIgs if they install a jumper wire mod from Slot 3, pin 35, to whichever slot they want to use the card, pin 35.


WARNING! This board MUST be installed with the HDMI connector facing the forward keyboard end of the chassis! Failure to do so will result in damage to your Apple II as all bus lines are active.

NOTE:

  • The A2FPGA is fully DMA compliant and cards such as the MicroDrive/Turbo do work with DMA mode enabled.
  • If Mockingboard is enabled, NO other card may be physically present in Slot 4. For IIgs, you must set the control panel slot 4 to "My Card"
  • The FPGA used on A2FPGA takes ~2 seconds to power on and sync to an HDMI display. During this time the Apple II system is held in RESET, meaning the II will do nothing (not even beep) until the A2FPGA board has been fully setup and synched. The initial Apple II power on "beep" will be missed, but all subsequent Apple II sound can be output to HDMI if SW2 is ON.
  • The A2FPGA is NOT an emulator. It is a full and complete implementation of all of the original logic for these hardware components plus bus decoding, memory shadowing, and the full range of video modes for the entire Apple II family. Plus a complete implementation of the TMS-9918A VDP and the SuperSprite and Ciarcia compatible means to hook into it.
  • TMS-9918A VDP: A complete implementation of the original V1 F18A Core (created by Matt Haggerty). 16K RAM is allocated to the VDP. That is implemented 100% in the FPGA.

Incompatibilities & Issues

  • Undead by 8-Bit-Shack- please update to the latest firmware that fixes the double-lores mode that the game uses. It should work fine with the latest firmware.
  • Any peripheral cards installed in Slots 4 or 7 might not work correctly, and other slots should be used. Slot 4 is where the Mockingboard is accessed, and Slot 7 is where the Synetix SuperSprite card is accessed. These options can be disabled with reprogramming the firmware. See Firmware / FPGA Core below for firmware options.
  • IIgs Ensoniq Sound does NOT get output to the HDMI audio - yet. This is currently in the works and there will be a firmware update available listed below.
  • Users have encountered issues when routing the output of the A2N20-V2 MultiCard through various video capture devices due to differing supported video modes. The recommended workaround is to use an HDMI audio embedder/extractor device, which forces the output packets to be re-encoded correctly for video capture devices. A successfully tested example is the SIIG device available on Amazon. Another option is to use an HDMI output splitter. We have tested this model available at Amazon [1] and it works well. Other less expensive options have not performed as well. The team is working on a potential firmware update or other possible solution to improve compatibility with video capture cards in the future and this page will be updated as new information becomes available.
  • BuGS and GS.Pacman might show some sprite issues when playing with elements disappearing. The IIgs has the ability to do set scan line interrupts that trigger when a video line is being output. This allows the software developer to time their writes to the screen after the raster is sent to the monitor. What this means is that game software can erase and redraw the graphics elements without flickering. Very few original IIgs games used this technique but it is more common with modern IIgs games. A fix is currently being researched for the few titles that are affected. A list will be maintained here for easy reference.
*BuGS
*GS.Pacman

KansasFest 2024

On July 27th, 2024, the A2FPGA team presented at KansasFest 2024 and the video of the presentation is here:

KansasFest 2024: Making of the A2FPGA


Reviews

On June 08th, 2024 Lon.TV posted a review video of the A2FPGA in a IIe environment. A IIgs review is planned in the future.

Lon.TV: Adding an FPGA for HDMI and Audio with the A2FPGA




On May 6th, 2024 Chris Torrence of Assembly Lines posted a review video of the A2FPGA in a IIgs environment. Also shows things like setting up the Control Panel in the IIgs.

Chris Torrence: A2FPGA in the Apple IIGS




On April 27nd, 2024 Chris Torrence of Assembly Lines posted a review video of the A2FPGA in a II Plus and IIe environment. Chris also reviews and does a firmware update in real time. Skip to 9:56 to see it and follow along!

Chris Torrence: Can One Apple II Card Replace Them All?
The Review Breakdown In 1 Minute




On April 22nd, 2024 Joe Strosnider of Joe's Computer Museum posted a review video of the A2FPGA in a IIgs environment. Joe also reviews and does a firmware update in real time. Skip to 15:03 to see it and follow along!

Joe Strosnider: Reviewing the A2FPGA!
The Review Breakdown In 1 Minute

DIP Switch Settings

The A2N20v2 has a 4-switch DIP switch that controls the following settings:

SW1: Enable Scanline effect when set to ON (default).
SW2: Enable Apple II speaker sounds via HDMI when set to ON (default).
SW3: Set to ON (default) for Power-on-Reset Hold - Delay Apple II start-up until FPGA is initialized and running.
SW4: Apple IIgs - Set to ON when installed in an Apple IIgs. OFF for II, II+ and II/e systems.

The Mockingboard functionality is directly tied to Slot #4. At present there is no way to override this behavior. In order for the Mockingboard implementation to work properly, no other card may be physically present in Slot 4 on any Apple II system. Further, if you have a IIgs, you must configure slot 4 as "My Card" in the Apple IIgs control panel.

The Synetix SuperSprite functionality is also directly tied to Slot #7. If you intend to use a card in slot #7, you will not be able to access the SuperSprite (TMS-9918A / F18A VDP functions). Additionally, making slot #7 usable for your own card requires that you perform a firmware update using the "NOSPRITE7" version of the firmware located below.


Firmware / FPGA Core

The A2FPGA firmware is easily updated on any PC or Mac and is based on open-source code so that new functionality and bug fixes from the developer community can be added over time.

You can learn more about this exciting project on its public GitHub repository: https://github.com/a2fpga/a2fpga_core.

The team also maintains a presence on X (formerly Twitter) here: https://twitter.com/a2fpga.

UPDATING THE A2N20-V2 FPGA FIRMWARE

All versions of the firmware for this product are listed below and organized by date.


https://wiki.reactivemicro.com/images/e/e9/A2fpga-08-17-2024-FIRMWARE.zip: The LATEST a2n20v2 Multicard Firmware Version 08-17-2024 (LATEST STABLE RELEASE, DEFAULT, NOSPRITE7, and VIDEO-ONLY BUILDS). NOTE: This ZIP file contains the latest DEFAULT, NOSPRITE7, and VIDEO-ONLY builds of the firmware. DEFAULT enables Mockingboard in Slot #4 and Synetix SuperSprite in Slot #7. NO OTHER BOARDS MAY BE PRESENT IN THESE SLOTS USING THE DEFAULT FIRMWARE. If you require the use of Slot #7, and do not plan to work with the Synetix SuperSprite functionality, we recommend that you install the NOSPRITE7 build of the firmware contained in this Zip file as it has been tested to properly function with the Reactive Microdrive Turbo in slot 7. If you only wish to use A2FPGA for high-quality video output of all Apple II video modes, we recommend the VIDEO-ONLY build. The README.pdf file contained in the ZIP file includes detailed instructions, release notes, and more information to help you choose the correct build for your configuration and flash it into your a2n20-v2 Multicard - please read it completely before attempting to flash your firmware.

https://wiki.reactivemicro.com/images/5/59/A2n20v2-04252024-ALL.zip: The a2n20v2 Multicard Firmware Version 04-25-2024 (PRIOR STABLE RELEASE, DEFAULT and NOSPRITE7 BUILDS).NOTE: This ZIP file contains BOTH the DEFAULT and NOSPRITE7 builds of the firmware. DEFAULT enables Mockingboard in Slot #4 and Synetix SuperSprite in Slot #7. NO OTHER BOARDS MAY BE PRESENT IN THESE SLOTS USING THE DEFAULT FIRMWARE. If you require the use of Slot #7, and do not plan to work with the Synetix SuperSprite functionality, we recommend that you install the NOSPRITE7 build of the firmware contained in this Zip file as it has been tested to properly function with the Reactive Microdrive Turbo in slot 7. The README.pdf file contained in the ZIP file includes detailed instructions and more information to help you choose the correct build for your configuration and flash it into your a2n20-v2 Multicard - please read it completely before attempting to flash your firmware.

Testing

The A2FPGA displays video immediately when installed in the correct slot. Sound depends on the DIP Switch setting.

Any diagnostic program can be used to test varying video modes. Other programs, such as games, could also be used. Sound testing can more simply be performed using the Mockingboard Demo disk.

For testing Synetix SuperSprite features, this link https://mirrors.apple2.org.za/ftp.apple.asimov.net/images/hardware/video/StarSprite-SuperSprite-Programs.zip is a ZIP file with images for the Synetix SuperSprite programs. When you unpack it, the Demonstration Disk is probably the best one to use for testing.


History

September 7th, 2023 A2FPGA contacted Henry to discuss their HDMI related project and about ReActiveMicro assisting with distribution and related sales, logistics, and support.