Jan
06
2010
0

Road to Emulation - 2

So the two main things that you should do to make is:

1-Make a Disassembler
2-Make a Interpreter

So first what we will do is to read the ROM in binary mode. Because the ROM consists of the opcode which are actually in bits. The second step will be to make it in Hexadecimal . The group of four consecutive bits for one Hexadecimal e.g 1001 is 0×8 ,1010 is 0xA. Each opcode of CHIP-8 is 2 bytes that is 16bits or four hexadecimal digits. The code of disassembler i made is in the file below

Disassembler

Change the filename in myFile to your desired file and the fire up the program. You will see the disassembled version of the file.

Written by admin in: Uncategorized |
Jan
05
2010
0

Road to Emulation - 1

You must have played those old retro games on your PC such as super mario, donkey kong, metroid prime etc. Actually those were made for different platforms but they were emulated to run on other hardware such as SNES game on PC. So emulation is actually mimicking the Processing, memory and I/O devices of the hardware for which the original game was made. The ROM is the file which contains the Opcode or in short its a binary file, which is interpreted according to the rules it was made by. Opcode is actually a hexadecimal code which can mean different things depending on the architecture. For example one opcode of CHIP-8 is 0×00E0 which means that when this is executed then it should clear the screen. So basically emulation is to read these opcodes and execute them how they meant to execute on the original hardware. Simple.. Isn’t it :D.

So the language of my choice is C++ because its great and gives low level access and i have some experience in it . The basic knowledge of Assembly is preferred and can be very beneficial. You should know what memory, registers, stack, bitwise logical operations etc is. Here is some CHIP-8 documentation that i have gathered. Read it and understand it

CHIP8-Documentation

Written by admin in: Tech | Tags: , , , , , ,
Jan
04
2010
0

Road to Emulation

I just have a few days off so i thought why not try something new. So after looking around i thought that lets dive into emulation and here i am. I have researched and found that the best starting is to emulate CHIP-8 as it is easy and gives you the basic concepts of emulation. So i am going to write a series of guide which actually will be my log of the development, so that others can benefit from it if i succeed in building it (InshAllah) . I will be starting from scratch. So the first question arises that what is CHIP-8. The answer lyes below.

“Chip-8 is a simple, interpreted, programming language which was first used on some do-it-yourself computer systems in the late 1970s and early 1980s. The COSMAC VIP, DREAM 6800, and ETI 660 computers are a few examples. These computers typically were designed to use a television as a display, had between 1 and 4K of RAM, and used a 16-key hexadecimal keypad for input. The interpreter took up only 512 bytes of memory, and programs, which were entered into the computer in hexadecimal, were even smaller.

In the early 1990s, the Chip-8 language was revived by a man named Andreas Gustafsson. He created a Chip-8 interpreter for the HP48 graphing calculator, called Chip-48. The HP48 was lacking a way to easily make fast games at the time, and Chip-8 was the answer. Chip-48 later begat Super Chip-48, a modification of Chip-48 which allowed higher resolution graphics, as well as other graphical enhancements.”

For more information: CHIP-8

See you later.

Written by admin in: Uncategorized |
Oct
13
2009
1

Beginning iPhone Programming

I am not going to show you how to program for iPhone. But instead i`m going to tell you the way that leads to the programming of iPhone. A person may ask that why one should start learning to program for iPhone. The answer is simple : Unlimited Possibilities :D . The iPhone is a great device to program for as the market available for it is vast. And i must also mention that iPhone is starting to dominate the smartphone market. And its not going to change soon. The App store is a great method to distribute and sell your make so you can make money right sitting at home. So what should you know and get for iphone.

1- iPhone (offcourse you will need that)
2- Macintosh with intel processor ( Its sad that you cant develop iPhone apps on windows as the iPhone SDK is only available for Mac).
3- Register with Apple to gain access to Apple Developer
4- You need to download and install iPhone SDK and Xcode.
5- Start learning Objective C as this is the only language used to develop for Mac and iPhone. You can see various books on it and there are tutorials on internet too (just Google them) .
6- Once you have gotten a grip on Objective C then you should learn how COCOA which is the GUI framework for apple.
7- Once you have done all of the above then learn the iPhone SDK. There are books on it and the Apple Developer has a lot of reference.
8- Once you have reached to a point where you can build apps or games for iPhone on simulator then you should register with Apple iPhone developer program . For individual developers it will cost 99 $ . But its worth it because you have access to test your app on your iPhone to see how it works in real time. And once you have completed your app you will submit it to apple and wait for approval. After approval your app will come on App store.

Hope you find the article informative.

Mar
01
2009
0

My Facebook App

I started making an app for facebook during my holidays and guess what , its starting to be in a form to be displayable . It`s a picture application in which user picture`s his friend with something that define hims or defines your relation with him. For example if your friend is a geek you can picture him as a geek, and if he is fat you can picture him as some fat cartoonish picture . You can change the pictures on daily basis and also view your own pictures added by your friend. So you`ll have fun seeing what pictures your friends have uploaded of you. I`ll show you a little glimpse of the app.

The page where you can add picture using google image
The page where you can see pictures of your friends

The page of application where you can see your pictures
Th page where you can add pictures of you friends

For the concerned ones, i am makeing the app using Facebook Markup Language or FBML , PHP and SQL .
But its been a month i have not worked on it mostly due to lack of motivation, but i hope that i will start it again and complete the project (God Willing).

Feb
25
2009
0

Oh !!!!!!

Oh……..Oh really!! …..Oh yeah….Oh Crap, gotta go…..Oh for crying out loud….off topic….original gangster….Oh guess what….Oh shit!….Oh no!….Oh I see….Oh no….Oh hell yeah….oops I broke my computer….Oh, I see….Oh i see i see….Oh, i see you!….Oh, i see what you did there….oops i did it again….Only In Your Dreams….Oh, just shut up!….okay….online love….Oh my dear god….Oh My Days….Oh My Fucking Gosh….Oh my fucking internet connection is slow…Oh My Flying Spaghetti Monster….Oh my God….Oh my gosh dude….Oh my gosh girl….Oh my goodness…. Oh my gosh….Oh my god thank you….Oh my God….on my way….Oh my!…Oh no…Oh no… Oh no you didn’t… Oh no you didn’t

Written by admin in: Lifeee | Tags: ,
Feb
23
2009
7

My Audio Amplifier

I am person who has varied interests and like to make things instead of buying them because in this way you can get a lot of knowledge on how things are made. A year ago i made and audio amplifier because i needed one for my guitar as i did not want to buy a proper amplifier. The instructions of how to make it , is posted by me on Instructables. You can check it out:

The Audio Amplifier

Audio Amplifier

Written by admin in: Tech | Tags: , , ,
Feb
17
2009
1

Long Time eehhhh !!!!

Woooffff !!!! Its been ages since i actually blogged, actually its been a month. I don’t know that why the heck i didn’t blogged inspite of the promise that i made with myself that i will try to blog regularly. Now i just out of the blue got an urge to write and i turned to the blog. Hopefully (God Willing) now i will again try to blog regularly. See you later.

Written by admin in: Lifeee | Tags:
Jan
15
2009
0

Facebook Apps

Facebook is a social networking site you all must be aware of it and also be a part of. The famous things of Facebook is its application( gifts, poke, games etc.) , which is built by people for the people. Have you ever wondered that how are these apps built and how to start building them. If you want to build a Facebook app you should be aware of some Scripting Language(eg PHP, Javascript, Python) and MySQL. Along with these you have to also learn Facebook`s tags called FBML or Facebook Markup Language which is similar to HTML tags. The best place to learn some Scripting Language is W3Schools and the place to get started with FBML is Facebook Developers Wiki .

Written by admin in: Tech |
Jan
09
2009
5

Multi-touch Technology

Multi-touch has been around for a while. Most of you can recall it from the pinching and stretching method of the iPhone. Apple was first to introduce the technology to the masses and made it popular among the people and showed its potential. Microsoft had it all figured it out earlier in their Surface Table, but the Surface Table is not meant for normal consumers , it is for the Restaurants and Cafes . The Geeks were obsessed with this technology and found the way to make their own way of creating Surface Table like table. And guess what the results were more then impressive.
Microsoft Surface Table
The basic technique includes a webcam, glass, light source and some box. But there are various techniques to build the multi-touch table.FTIR and DI are the two main technologies used.

Frustrated Total Internal Reflection (FTIR):

Infrared light is shined into the side of an acrylic panel (most often by shinning IR LEDs on the sides of the acrylic). The light is trapped inside the acrylic by internal reflection. When a finger touches the acrylic surface this light is “frustrated” causing the light to scatter downwards where it is picked up by an infrared camera.

A silicone rubber layer is often used as a “compliant surface” to help improve dragging and sensitivity of the device. When touching bare acrylic, one must press hard or have oily fingers in order to set off the FTIR effect. With a complaint surface (like silicone rubber) the sensitivity is greatly improved.



FTIR Parts List:

o Acrylic/Polycarbonate/Plexiglass
o Infrared LEDs (or similar infrared light source)
o Compliant Surface (silicone rubber ie. Sorta Clear 40, Elastosil, Lexel, etc. )
o Projection Surface (Rosco Grey, Vellum, Mylar, other, etc.)
o Infrared Camera/Modified Webcam

Diffused Illumination (DI):

Diffused Illumination comes in two main forms. Front Diffused Illumination and Rear Diffused Illumination. Both techniques use the same basic principles.

Rear DI:

Infrared light is shined at the screen from below the touch surface. A diffuser is placed on top or on bottom of the touch surface. When an object touches the surface it reflects more light than the diffuser or objects in the background; the extra light is sensed by a camera. Depending on the diffuser, this method can also detect hover and objects placed on the surface.



Rear DI Parts List:

o Clear sturdy clear surface (Glass, Acrylic, Polycarbonate, Plexiglass, etc.)
o Infrared Illuminator (Infrared LEDs, Infrared Illuminator, etc.)
o Diffuser/Projection Surface (Vellum, Mylar, Lee Filter, other, etc.) *Note: The Diffuser/Projection Surface must let some light through.
o Infrared Camera/Modified Webcam

Front DI:

Infrared light (often from the ambient surroundings) is shined at the screen from above the touch surface. A diffuser is placed on top or on bottom of the touch surface. When an object touches the surface, a shadow is created in the position of the object. The camera senses this shadow.

Front DI Parts List:

o Clear sturdy clear surface (Glass, Acrylic, Polycarbonate, Plexiglas, etc.)
o Diffuser/Projection Surface (Vellum, Mylar, Lee Filter, other, etc.) *Note: The Diffuser/Projection Surface must let some light through.
o Infrared Camera/Modified Webcam

Optional:
o Infrared Illuminator (Infrared LEDs, Infrared Illuminator, etc.)

I think now you have gotten some grip of DIY Multi-touch table Techniques.

From the above techniques the blobs are picked up by the software and translated into respective co-ordinates on the screen. Then these co-cordinates are used by the program to do various things. You can use it for educational purpose,commercial purpose or even just for fun.

The best source for DIY multitiouch is NUIGroup.

Source:
The techniques have been copied from “Getting Started With Multitouch”.

Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com