PIC16F84 MICROCONTROLLER VIDEO GAME CIRCUIT (TETRIS, PONG)

Summary of PIC16F84 MICROCONTROLLER VIDEO GAME CIRCUIT (TETRIS, PONG)


Summary: A PIC16F84-based video game project generates PAL/NTSC video and audio plus joystick input using one 12 MHz PIC. It runs Pong and Tetris with hardware supporting two standard joysticks (C64/Amiga/Atari). Due to timing limits (156 instruction-resolution during the visible 52 μs line), horizontal pixel precision is constrained. The project includes PCB schematic, OrCAD files, PIC assembly (.asm) and hex code, and downloadable source files.

Parts used in the PIC16F84 Microcontroller Video Game Circuit:

  • PIC16F84 microcontroller (12 MHz operation)
  • Crystal or resonator for 12 MHz clock
  • Resistors (various values for video/audio interfacing)
  • Capacitors (various values for decoupling and timing)
  • Video output circuitry components (e.g., resistor network or transistor drivers)
  • Audio output components (e.g., resistor, capacitor, speaker or audio jack)
  • Two standard joystick connectors (C64/Amiga/Atari compatible)
  • PCB (OrCAD schematic and board layout)
  • Power supply components (voltage regulator, connectors)
  • Supporting wiring, headers, and connectors

Made a beautiful project with PIC16F84, both in video and joystick control provided by a single processor OrCAD program prepared by pcb schematic and pic assembly .asm, hex code It has been designed hardware of the system’s CIP game… Electronics Projects, PIC16F84 Microcontroller Video Game Circuit (tetris, pong) “microchip projects, microcontroller projects, pic assembly example, pic16f84 projects,

PIC16F84 MICROCONTROLLER VIDEO GAME CIRCUIT (TETRIS, PONG)

Made a beautiful project with PIC16F84, both in video and joystick control provided by a single processor OrCAD program prepared by pcb schematic and pic assembly .asm, hex code

It has been designed hardware of the system’s CIP game to play with different kinds of games. It has two outlets for standard joystick C64/Amiga/Atari, video and audio. The processor is a PIC16F84 operating in 12MHz and that generates the video signal (PAL and NTSC) and audio software. The description of the hardware is the same for both games, Pong and Tetris.

In a PIC16F84 12Mhz, there are 3 million instructions per second, during exploration of line 64us, there are 192 instructions, and during the visible part of 52us only 156 instructions can be executed. If the value of the DA was set for each instruction during the 52us, get a resolution of 156 pixels on the x-axis, which is really bad. What is even worse is that the 156 pixels can not be used exactly as they wish, can hardly Estimating the value of a pixel in a clock cycle unless they are always the same so it can be generated by an instruction from a bit of system.

PIC16F84 PONG GAME PIC16F84 TETRIS GAME TEST

A standard TV is built with a vacuum tube having a phosphor screen on which a cannon bombarded with electrons. When the electrons hit the screen canyon, the phosphor emits light when electrons pull the barrel on it, and also has a short afterglow. The electron beam of the electron can be bent using magnets and pulling in different parts of the screen. If this is handled well, draw horizontal lines all over the screen in multiple passes, while the intensity of the line is controlled, a picture can be drawn on the screen. The screen is redrawn 25 times per second on a PAL system, but to reduce the oscillation picture is interlaced, first all the odd lines showing uniforms, so the image is partially updated 50 times per second. Thanks are due to the “persistence of vision effect” of the human brain that the image appears to be constant instead of flickering at 50Hz. To get each color on the screen is divided into three colors: red, green and blue, however here only discuss television in black and white, because that is only what is possible to generate real-time software using a PIC.

Source: server-die.alc.upv.es PIC16F84 Microcontroller Video Game Circuit schematic pcb and pic assembly source code files alternative link:

FILE DOWNLOAD LINK LIST (in TXT format): LINKS-4308.zip

Source: PIC16F84 MICROCONTROLLER VIDEO GAME CIRCUIT (TETRIS, PONG)

Quick Solutions to Questions related to PIC16F84 Microcontroller Video Game Circuit:

  • What microcontroller is used in the project?
    The project uses a PIC16F84 microcontroller operating at 12 MHz.
  • Can one PIC generate video and handle joystick control simultaneously?
    Yes, a single PIC16F84 provides both video (PAL/NTSC) and joystick control in this project.
  • What games are implemented in the project?
    The hardware and software support Pong and Tetris games.
  • How many instructions are available during the visible part of a PAL line?
    During the visible 52 microsecond part of a PAL line, 156 instructions can be executed at 12 MHz.
  • Does the project include PCB and source code files?
    Yes, the project includes OrCAD schematic/PCB files and PIC assembly (.asm) and hex source code files.
  • What joystick standards are supported?
    Two outlets are provided for standard C64, Amiga, or Atari joysticks.
  • Why is pixel resolution limited on the x-axis?
    Because only 156 instructions can run during the visible 52 microsecond line, limiting horizontal pixel resolution and precise pixel timing.
  • Is the video output black and white or color?
    The discussion and implementation focus on black and white video since generating color in real time with the PIC is not feasible here.

About The Author

Muhammad Bilal

I am a highly skilled and motivated individual with a Master's degree in Computer Science. I have extensive experience in technical writing and a deep understanding of SEO practices.