HA 8 3 - sebhc/sebhc GitHub Wiki

TANG NANO 9K AND HDMI COMPATIBILITY. There's a known issue with the Tang Nano 9K where it will not work with some HDMI TVs. If you plug in your graphics board and you don't see anything on the screen try plugging it into a different monitor/TV.

GO HERE FOR V1.0R8 JUMPER SETTINGS: V1.0R8 JUMPERS

Default I/O addresses

VDP @ 270Q (0xB8)
PSG @ 272Q (0xBA)
APU @ 274Q (0xBC)
A/D @ 276Q (0xBE)

F18A DOCUMENTATION

F18A DOCUMENTATION PDF for accessing the extended features of the F18A FPGA graphics

ATARI PADDLE CONTROLLER MOD HERE

USEFUL ADAPTERS

HDMI RIGHT ANGLE so you can cleanly exit the cable to the left side
HDMI REPEATER to prevent the monitor from powering the Tang Nano F18
DB9 RIBBON CABLE for joystick adapter

COMPATIBLE GAME CONTROLLERS

ATARI JOYSTICKS Atari clone joystick
RANGER GAMEPAD gamepad style controller (paddles do not seem to work)

PARTS

AD7501JNZ QTY 10 for $15 from China
AD7501JN/KN QTY 10 for $5.00 from AliExpress
AD7574JN QTY 2 for $20 from U.S. supplier
AD7574JN/KN QTY 10 for $25 from China
AD7574KN QTY 5 for $3.20 from AliExpress
HA8-3 KIT for $18 from China - includes AD7501, AD7574, AY3-8910, TMS9918, 4116s
YM-2149F QTY 5 - AY-3-8910 compatible - lot 5 pcs for $4 from AliExpress
UA747CN OP AMP for $1/ea from Jameco
UA747CN QTY 5 for $1 from AliExpress
TANG NANO 9K for $15 from AliExpress

For mounting the Tang Nano to the PCB I usually use female headers on the Tang and male header pins on the PCB. For the female headers you can get the 24 pin female headers from Phoenix Enterprises:
24 PIN FEMALE HEADERS from Phoenix for $1/each

Or get 20 pieces of the 40 pin variety and carefully cut them down to 24 pins:
QTY 20 FROM AMAZON for $8

TANGFEMALEHEADERS1 TANGFEMALEHEADERS2

DOCUMENTATION

HA-8-3 User Manual
885-1098 COLOR GRAPHICS SOFTWARE H17 H8D DISK IMAGE
HA-8-3 DISTRIBUTION SOFTWARE H17 H8D DISK IMAGE

GAMES

KALEIDO for CP/M - press 'Q' on the keyboard to quit
MUSICK for CP/M - press 'Q' to quit - KALEIDO but with music
A/D TEST - analog to digital test - press 'Q' to quit
COLOR BARS for CP/M - displays color bars and returns to the command prompt
HA-8-3 DIAG - test graphics, audio and joysticks (8MHZ max speed)
BREAKOUT GAME for CP/M 4MHZ - (COMPLETED) paddle controller test game (8MHZ max speed) - press paddle button or '8' on the H8 keypad to launch the ball
WARLORDS ARCADE for CP/M 4MHZ - (COMPLETED) 2, 4 or 8 MHZ only - Warlords game based on the arcade version by Atari video
SPACE INVADERS for CP/M 8MHZ - (COMPLETED) Space Invaders clone. Use joystick to move and fire
PACMAN83 for CP/M 16MHZ (in-progress) RomWBW 16MHz CPU
How to play PACMAN83:
Use the H8 keypad to move Pacman

     8
     |
 4 <- -> 6
     |
     2

Or use the arrow keys on the keyboard
Press 'Q' on the keyboard to quit the game

MSX GAMES

Since the graphics board has a lot of the same hardware as the MSX computer, many of the MSX games can be run on the Heathkit computer using my MSX8 launcher. More information and download links can be found on my Github: MSX8 GITHUB PAGE

READING THE CONTROLLER PORTS

The controller ports work as follows:

  1. Joystick ports are on the AY3-8910 digital ports at address 272Q and register 14 (port A) and 15 (port B)
  2. Port A (register 14) reports UP/DOWN:
    • bits 1 and 2 for player 1
    • bits 3 and 4 for player 2
    • bits 5 and 6 for player 3
    • bits 7 and 8 for player 4
  3. Port B (register 15) reports LEFT/RIGHT:
    • bits 1 and 2 for player 1
    • bits 3 and 4 for player 2
    • bits 5 and 6 for player 3
    • bits 7 and 8 for player 4
  4. Analog values are on the A/D port at 276Q

DIGITAL PORT READ
01H player 1 UP on port A or LEFT on port B
02H player 1 DOWN on port A or RIGHT on port B
04H player 2 UP on port A or LEFT on port B
08H player 2 DOWN on port A or RIGHT on port B
10H player 3 UP on port A or LEFT on port B
20H player 3 DOWN on port A or RIGHT on port B
40H player 4 UP on port A or LEFT on port B
80H player 4 DOWN on port A or RIGHT on port B

TRIGGER will report UP+DOWN simultaneously

* SET UP PORT A/B FOR INPUT
INIT    EQU     $
        MVI     A,07
        OUT     272Q+1
        MVI     A,38H
        OUT     272Q
* READ PLAYER 1 UP VALUE (RETURNS 0 IF TRUE, NZ IF FALSE)
RDUP1   EQU     $
        MVI     A,14    ; PORT A (USE 15 TO READ PORT B)
        OUT     272Q+1
        IN      272Q+1
        ANI     01H     ; TEST PLAYER 1 UP BIT (PORT A BIT 1)
        RET

A/D ANALOG READ
00H player 1 channel 1 (X axis)
01H player 1 channel 2 (Y axis)
02H player 2 channel 1 (X axis)
03H player 2 channel 2 (Y axis)
04H player 3 channel 1 (X axis)
05H player 3 channel 2 (Y axis)
06H player 4 channel 1 (X axis)
07H player 4 channel 2 (Y axis)

* READ PLAYER 1 ANALOG VALUE (RETURNS 0 TO 255)
RDAD1   EQU     $
        MVI     A,00H   ; PLAYER 1 ANALOG CHANNEL 1
        OUT     276Q
* SHORT DELAY TO ALLOW MUX TO SWITCH AND OP-AMP TO SLEW
        MVI     A,08H
RDAD1D  EQU     $
        DCR     A
        JNZ     RDAD1D
        IN      276Q
        RET

H8-8-3-F18

New graphics card with integrated F18A clone on a Tang Nano 9K

V1.0R8 JUMPER SETTINGS (H8 MODE)

H8-8-3-F18 V1.0R8 JUMPERS

V1.0R8 JUMPER SETTINGS (NABU MODE)

For I/O address VDP at 240Q (0xA0) and PSG at 100Q (0x40) for playing NABU ported MSX games
MSX MODE WIRING

V1.0R6

H8-8-3-F18
H8-3-XRAY

v1.0R8 GERBERS

GERBERS V1.0R8

PHOTOS

H8-8-3 F18 INSTALLED
H8-8-3 F18 SIDE
TOPVIEW LV245S
TANG9KINSTALLED TOPVIEWCABLE
F18A SIGNON SCREEN
F18SIGNON
PACMAN83 SCREENSHOT
F18PACMAN83
WARLORDS SCREENSHOT
WARLORDS
BREAKOUT SCREENSHOT
BREAKOUT
INVADERS SCREENSHOT
INVADERS

PADDLE CONTROLLER

Wire a potentiometer as follows for paddle type controls for the HA-8-3 (view from front of potentiometer)
HA-8-3 Paddle

Center of potentiometer goes to pin 10: ANA IN
Left arm of potentiometer goes to pin 1: GND
Right arm of potentiometer goes to pin 3: VREG

If control movement in the game is reversed then swap pins 1 and 3

I used a 500ohm but the HA-8-3 schematics suggest using a 10K ohm.

ATARI 2600 PADDLE CONTROLLER

2024 PADDLE CONTROLLERS
Locate the open connector on the potentiometer and the RED wire on the button
ATARI2024PADDLE1

Solder a wire from the open connector to the RED wire. This needs to be done for both controllers.
ATARI2024PADDLE2

VINTAGE PADDLE CONTROLLERS
Solder a wire from the BLK wire connected to the button to the open connector on the potentiometer as shown here:
ATARI2600 INSIDE

Wire up a connector on the other end of the cable to be connected to the HA-8-3 as shown here:
ATARI2600 PADDLE CONNECTOR

And here is the wiring diagram:
ATARI2600 PADDLE WIRING DIAGRAM

SCHEMATICS

HA-8-3 Schematic Part 1

HA-8-3 Schematic Part 2

⚠️ **GitHub.com Fallback** ⚠️