embRACE, a game developed on the embedded platform, entirely coded in assembly language. The game has been programmed on an ATMega16 micro-controller, interfaced with a 16×2 LCD display module.
The game possesses an interactive user interface and exclusive features like:
-Real Time Score display
-Life Indicator LEDs
-Non-volatile High Score storage
The LCD display uses custom LCD characters to display various characters in the game whose generation timing in the game is totally randomized by the code. In the design and code phase it has particularly been taken care of that the overall game is interesting and substantially user-interactive. Moreover, the assembly language programming has majorly contributed towards the development of a more optimized, machine-friendly and effective code.
Why Assembly Language?
Assembly language is a low-level programming language for a computer or other programmable device specific to particular computer architecture in contrast to most high-level programming languages, which are generally portable across multiple systems. If you are new to assembly language and earlier programmed in some other high-level language, the first advice for you is to temporarily forget the language as assembly is a lot different. However, assembly language is machine specific (specific for different micro-controller families) and might at times be tedious jobs to deal with. But it’s not a thing to worry about as the sacrifice of switching to assembly from a high-level language pays off well for certain projects. Assembly language comes with a number of advantages over other languages, some of them being:
– Substantially simplifies the complexity of applications,
– Suited for applications where time criticallity is an importrant factor,
– Occupies lesser memory (in most cases),
– Easier to understand,
– Easier to correct errors and modify
For more detail: embRACE: The Embedded Race