The circuit design incorporates a Microchip PIC16F628A microcontroller, which serves as the core processing unit. The microcontroller executes all necessary functions for generating video and audio signals, ensuring a compact and efficient design. The power supply section consists of a battery connected to a power switch, with decoupling capacitors placed strategically to stabilize the power supply to the microcontroller. The design includes three user interface buttons connected with pull-up resistors, which can be used for game control, and a 9-pin D connector for an Atari-style joystick, providing flexibility in user input.
Programming capabilities are facilitated through an in-circuit programming connector, which allows for easy updates and modifications to the microcontroller's firmware. The microcontroller's clock is derived from a 20MHz crystal oscillator, ensuring precise timing for signal generation. The accompanying load capacitors are chosen to match the specifications of the crystal used, allowing for reliable operation.
Signal conditioning components, including resistors and capacitors, are utilized to ensure that the audio and video outputs meet the specifications required by the connected television. Basic anti-aliasing filters are implemented to enhance audio quality. The LED indicator provides a visual confirmation of circuit operation by lighting up when the RGB select pin is activated, a simple yet effective diagnostic feature.
The design emphasizes compatibility with modern televisions that support RGB input, which is crucial for achieving high-quality video output. The software controlling the microcontroller is complex and resource-intensive, utilizing nearly all available memory and storage capabilities of the device. This highlights the sophistication of the design, which leverages advanced programming techniques to deliver a functional gaming experience.
The prototype's physical construction demonstrates practical considerations in electronic design, such as mechanical stability and component placement, while also showcasing the use of readily available materials and enclosures. Overall, the circuit represents a comprehensive approach to creating a gaming console using a microcontroller, combining hardware and software elements to achieve the desired functionality.The circuit diagram is shown to the right. You can get a larger version or a PostScript version if you prefer. The design is based around a Microchip PIC16F628A microcontroller. At the time of writing, this device is available for less than one pound from (among others) Crownhill Associates. All the work, including colour video and synchronisatio n signal generation, is done in the microcontroller, and so there are no other active components. Purists who contend that the LED is an active component may replace it with a light bulb. We will describe the circuit from left to right. On the far left of the circuit diagram are the battery, power switch and decoupling capacitors. The smaller decoupling capacitor should be wired as close to the power pins of the microcontroller as possible. Three buttons with pull-up resistors provide the game controls. We have shown the buttons wired in parallel with a 9-pin D connector, into which you can plug an Atari-style digital joystick.
You can of course dispense with either the buttons or the connector if you wish. The connector to the above left of the microcontroller is for in-circuit programming of the device. You may need to change this part of the circuit to suit your programmer. Note that MCLR must be pulled high and RB4 pulled low for normal operation. The microcontroller derives its clock from a 20MHz crystal. The load capacitor values shown should be suitable for most readily-available crystals. A ceramic resonator could be used instead of the crystal, and should be accurate enough to allow most televisions to lock on to the resulting signal. On the right, a handful of resistors and capacitors match the audio (top right) and video (bottom right) signal levels to those required by the television.
Crude anti-alias filtering is provided for the audio. The LED lights when the microcontroller takes the RGB select pin on the SCART connector high: this occurs shortly after power-up, and so the LED provides some indication that the circuit is functioning correctly. Note that the SCART lead you use to connect the game to your television must be fully-wired: not all leads carry the RGB signals.
Your television must also be capable of accepting the RGB signals. Most modern televisions have at least one SCART input with this facility, though you may need to check the manual (or experiment) to determine which one it is. The software is by far the most complex part of the design, and it will not be described in detail here.
Large parts of it are automatically generated using specially-written tools. Almost all the resources of the PIC microcontroller are used: 99. 9% of the program memory (2046 out of 2048 locations), all but two of the data EEPROM locations, and almost all of the data RAM. You will need a programmer capable of writing to the program memory, data EEPROM and configuration bits of the device.
Here is the object code in Intel HEX format: many thanks to Adrian Higginson for preparing this file and testing it with MPLAB. The code is made available without warranty of any kind and is for hobby use only. Commercial use is not permitted. Here are a couple of pictures of the prototype, assembled using a DIL version of the microcontroller and mostly surface-mount resistors and capacitors.
Proper panel-mounted SCART connectors are hard, if not impossible, to obtain, and so the prototype employs a rather odd mounting arrangement to achieve mechanical strength. The corners have been cut away from the board so that it fits (just!) in a type H2855 ABS enclosure (available from Maplin Electronics) along with three AA cells.
Microchip does not recommend any specific circuit for In-Circuit Serial Programming (ICSP). Various diagrams exist for different tools, such as Pro Mate and PICKit2, which feature similar circuitry with minor variations. Some schematics may suggest resistor values that are lower...
A source code for a simple PIC-based digital timer is provided. The hardware for the project is not available; however, it will be demonstrated using a DIY PIC16F628A breadboard module and I/O board. The complete circuit diagram and firmware developed...
Acquire all the components required for this lecture here. It is highly recommended to obtain a multimeter with a continuity setting. A quality multimeter with this feature typically costs around $60, while premium models can reach $300. The $60 option...
This adaptor will capture plots or prints of your GPIB instrument to your PC through the serial port. It fills the need of anybody who has a test instrument with the GPIB port and likes to get the screen dump...
PIC controlled 500W Modified Sine Wave Inverter. The PIC16F628A is programmed to produce a logic 5V signal for 5ms at pin 17, followed by 15ms off.
The described circuit implements a 500W modified sine wave inverter controlled by a PIC16F628A microcontroller....
This program includes circuit design CAD, simulation, and auto-routing PC layout. PSPICE is also utilized at Unisys, which offers more capabilities but costs six times as much and requires annual renewal. With these requirements and others in mind, a variation...
The Multimeter Clock consists of three multimeters, the first meter displays hours, the second displays minutes and the last displays seconds. A 16F628A PIC microcontroller keeps track of time and outputs a calculated current to each meter to display the...
Embedded systems serve as the core of most electronics-based systems, enabling data access, processing, storage, and control. While some simple electronic circuits can be designed without a microprocessor or microcontroller, this approach is often economically impractical, except for basic passive...
Refer to the OSCCON register in the datasheet (currently on page 19). This register controls the speed of the internal clock, which operates at 31 kHz upon startup—considered too slow. By using the OSCCON register, the speed can be increased...
We use cookies to enhance your experience, analyze traffic, and (if you allow) serve personalized ads.
By clicking Accept All, you agree to our use of cookies.
Learn more