Skip to main content

Posts

Showing posts from 2008

Simple method to decompile (Microsoft HTML Help File) CHM files

Microsoft compiled HTML help files are now commonly used in software applications and generally these files are opened using hh.exe (HTML Help) file in windows folder. The most important thing is, hh.exe have custom chm decompilation command. To use this option simple provide following parameters to hh.exe, hh.exe –decompile for example : hh.exe -decompile E:\test\output E:\test\help_demo.chm That’s all. Check the output directory for all HTML topics, Images and other related files.

9 Pin dot matrix printer using PIC16F84A

In this project we design 9 pin Microsoft Windows NT compatible dot matrix printer using two PIC16F84A microcontrollers. Printer mechanism is based on old Commodore dot matrix printer. At the moment this device support for Microsoft Windows 2000 and XP operating systems. Other most notable features of this implementation are, Drive 18V - 9pin magnetic dot matrix head unit Handle 12V paper feeder and head movement stepper motors Support A4 and compatible page formats System drives using 240V - 18V step-down transformer Audible warning system Low power consumption due to CMOS implementation Works with Standard Printer Port In this implementation we use Microsoft Windows Driver Development Kit (DDK) with Microsoft Visual C++ to create device driver for the system and use Delphi 7 to create front end application (printer maintenance – control panel applet). Both microcontrollers are programmed using MPLAB – ASM. In this system we use 2 microcontrollers with 7MHz oscillators, One PIC16F84A

Essential USB Specifications and Develop embedded systems with USB

Universal Serial Bus (USB) allows peripherals and computers to interconnect using standard protocol and provide plug and play feature to the devices. At the moment there are 2 specifications available for USB they are, USB 1.1 : In this specification data transfer rate is 12Mbps and 1.5Mbps. USB 2.0 : Support data transfer rate up to 480Mbps. Both these specifications support up to 127 devices and support for hot swapping (no need to power down to remove or connect the devices). In USB devices are categorized as a classes and each class represent the functionality that target device can provided to the host device. For example: AUDIO : Audio and related systems HID : Human Interface Devices. (E.g: Keyboard, Mouse, etc) POWER: Devices related with the power such as UPS systems. IrDA: Infrared devices. There are 4 types of transfers take place over USB, Control transfer : Used to configure the bus and devices on the bus. Bulk transfer : Move data asynchronously over USB. Isochron

Is Delphi for PHP successes ?

I’m trying Delphi for PHP 2.0 in few days back and I'm get very frustrated about it because of its pour implementation and technologies. Some key failures in Delphi for PHP 2.0 are, - IDE is very buggy and most of the times it produces "Access Violation" errors and IDE get confused. (In my computer Delphi 7 tries to debug it.) - Help is very pour and incomplete. - JavaScript and PHP integration is very complex and buggy. Most of the time JavaScript codes may not work in client side and it is heavily depends on the web browser. - Some times it is necessary to deploy entire "VCL" directory to the web server otherwise some of the VCL components produces invalid outputs. (specially RichEdit and TrackBar components) - MySQL integration is pour and buggy. - Build-in Apache web server crash several times and because of that reason we may not be able to debug/run web application using IDE. - Some times XML file (xml.php) generated by Form Designer may not compatible wit

Design USB Devices and interface them using Delphi

According to my experiences USB devices are bit complicated to design and writing software (drivers and support applications) for USB devices are time consuming and complex process. Most recommended (and easiest) method to design hardware interface for USB port is using Future Device Technologies FT245 or FT232 chips. At the moment both these chips support for USB 2.0 and have excellent set of APIs. To test the performance of this device I implement some experimental version of PC oscilloscope using FT245 USB Interface, AD7575 ADC, LF347 Op-amp, 4069 Hex Inverter and array of AM7205 FIFOs. Application program is design using Delphi 7 and it is totally based on FTDI Delphi APIs. This test system is worked perfectly in Windows XP and Windows 2003 systems during my test runs and produce excellent results. I choose FT245 for this design because it has 8 parallel input interfaces and this is perfectly matched with AD7575 ADC. (AD7575 also have 8 parallel outputs) I use 2705 FIFOs to captur

About Thoppigala 3D Computer Game

Thoppigala is a computer game developed by Vectronics and according to my observations it is developed using Game Creators FPS Creator. I have demonstration version of Thoppigala game and it is totally based on FPS Creator models and FPSC Model Pack 5. The vendor (Vectronics) do model’s texturing part only. Demonstration mission available in this release (file version 1.0.0.0) is based on the FPSC sample mission and it’s level designing is in very poor stages. In this game, player use Tommy Gun (Thompson Submachine Gun) for it’s operations, but the problem is according to my knowledge Sri Lanka Army may never use Tommy guns for there operations and it is widely used in World War II and currently it is not in use. FPSC model pack 5 contains good weapon collection and I don’t know why designers may not use them for these missions. This game have lot of other problems, most notable problems are, Enemy AI : During the attacks, and all the others just choose some random direction to run in,

Simple Variable Zener Diode

There are several variable zener diodes available in IC market, but in Sri Lanka it is difficult to obtain variable zener diodes. (For example LM431) So I build this circuit to get the functionality of Variable Zener diode. This circuit is based on two transistors and for Q1 you can use any general purpose NPN transistor and for Q2 use any general purpose PNP transistor. Using this circuit it is possible to get 3V to 25V (400mW) output. I use this circuit for one of my SMPS project (as a replacement for LM431) and it produces an excellent results.

Notable 3D Game Engines – Part1

This series contains list of game engines explore by me during the implementation of our STF game engine, Panda3D – Open source game engine (use BSD license) mainly based on C++ and Python. Engine is smart and has narrow learning curve. We got most of the ideas to our project from this game engine. http://panda3d.org/ Torque Game Engine – One of the best and full featured game engine. I try to select this engine for our game “Special Task Force” but it is not success because of the license problem. (STF is an open source game project, so we need to release all the source codes with it, but TGE license may not allow this.) Compared with other commercial game engines TGE is low cost 3D game engine (US$150 per programmer) but it had some wider learning curve. http://www.garagegames.com/pg/product/view.php?id=1 FPS Creator – Product from “the game creators”. Using FPSC anyone can create FPS (First Person Shooter) game without any coding. FPSC have drag and drop environment to create gam

Special Task Force Game – System Implementation

Implementation of our new 3D computer game “Special Task Force” has been started and all the development related news are available at Special Task Force Developers Center (STFDC) at http://stfgame.wiki.sourceforge.net/ . All the applications (including libraries) in this project are published according to the specifications of GNU GPL. All the documentations, guides and text files are protected using GNU FDL, and all the models, images, voice files and music files are protected using Creative Commons License.

Home-produced USB Sound Card

In this project I’m build USB sound card using single chip and it produce good audio output and compatible with Windows 9x operating systems and Windows NT family operating systems (I am not tested this circuit with Windows Vista and chip manufacturer say it is worked with Mac OS also) This is a plug and Play device and device driver is not required. Special feature of this sound card is its built-in HID controller. Using this HID controller user may be able to control Windows Volume control using 3 buttons located on the sound card. These buttons are used for Volume Up, Volume Down and for Audio Mute. This device is based on Burr-Brown’s PCM2904 USB CODEC chip and it produces stereo output. PCM2904 operates using USB power (self powered) and external power adapter is not required. I think this device is ideal for USB headphones or mini-speaker modules. My implementation is 10x9 cm. I spend Sri Lankan Rs. 1500 for this circuit.

13W x 4 Audio Amplifier with Surround Sounds

This is my new audio power amplifier which is based on TDA8511 power amplifier IC. According to the datasheet this IC produces 13W per channel (with 2R load) and single TDA8511 chip contain 4 inputs and outputs. Other than TDA8511 this amplifier use TA8184 for tone controls and LA2610 for surround sound processing. To obtain the high sound quality and good separation I use separate amplifier module for each tweeter and woofer in both left and right channels. (That’s why I’m select TDA8511 for this project) For the test run I couple this amplifier with my JVC DVD Player and it produces extreme high quality audio output. Front Panel controls available in this amplifier are, Volume Bass Treble Balance Surround Sound On/Off Loudness Switch Power On/Off Some of the calculated technical specifications are, Output Power : 13W x 4 Supply Voltage : 15V Single Rail Total Harmonic Distortion : 1% Bass Control Range : -12.5dB to +12.5dB Treble Control Range : -12.5dB to +12.5dB

Open Source 3D First Person Shooter – Special Task Force

We start new open source game project known as “Special Task Force”. It is a FOSS project and hosted at sourceforge.net. At the moment project is in planning stages. Some of the finalized features of this game are, Based on OpenGL 2.0 Graphic Technologies. Support Python 2.3 Scripting Use BASS sound system for audio Use ODE (Open Dynamics Engine) for game physics Support Multiple weapon configurations Support for downloadable missions Implement using Borland Delphi and C++Builder Still we are collecting information and getting ready for the implementation, Source code implementations are planned to start at the mid of June 2008. For more information please checkout http://sourceforge.net/projects/stfgame

My PIC16F73 base Digital Alarm Clock

In last two months I developed some electronic devices using Microchip microcontrollers. First device is an electronic alarm clock using PIC16F73 and 4060 timer chip. This clock has 2 programmable alarms and it is working successfully in last two months continually. I design this alarm clock using CMOS chips; due to the fact that power consumption is very low and may be able to operate with 3 penlight batteries. At the moment this device is working with mains power (230V AC) and has battery backup facility. Size of the entire device is 11x11x4 cm. As shown by the photograph device have 3 push buttons and 1 SPDT slide switch. These push buttons are used for, Alarm Mute / Mode Selection Hour Set Minutes Set SPDT Slider is use to select “Clock Run” and “Alarm Setup” modes. This system use following chips for its operation, 4060 – Act as an oscillator and divider 4027 – Toggle clock single and to control 1Hz clock pulse. 4017 – Divide by 10 counter PIC16F73 – Main contro

Welcome to My Web Log

Hello, welcome to my web log, in this web log I mostly discusses about technical subjects related to computer programming, digital electronic circuits (specially related with microcontrollers and control systems) and some mechanical implementations. This is my personal web log, so some non-technical stuff are possible to appear in this space.