title artwork

Nifty Spot -ARM Assembly Introduction site

ARM chips are everywhere. They are found in every handheld Apple product (iPhone iPod iPad), and in inexpensive game systems such as Nintendo DS, and Gameboy Advance.
The iPhone 3GS, iPod Touch (3rd Gen), and iPhone 4 have an ARMv7-A Cortex-A8 CPU, and the chip manuals for them, disregarding common THUMB manuals, would be the 2000+ page book in the link 'ARM Architecture Ref Manual ARMv7-A and ARMv7-R' and the link 'Cortex-A8 Technical Reference'.
There are other documents at arm.com for the iPad2.

If doing assembler for the iPad 2, the Cortex-A9 is described in a PDf at arm.com in this PDF link .

Modern Arm Chips have lots of parallelism not only by offering an extra core in some devices, but by SIMD in NEON. Just as SIMD helped PowerPC shine, SIMD NEON in ARM offers 16 128-bit registers. Half as many vector registers as a Macintosh, and far less than the 128 registers of a PowerPC in a XBOX 360, but 16 is enough registers to perform some useful tricks. A List of NEON opcodes for iOS devices is seen here : 'NEON opcode Instructions'

GCC offers countless Intrinsic NEON functions expressable in C and Objective-C (1870 of them!)

There are also libraries of multimedia routines offered by various ARM manufacturers in binary form that you can link in. One is ARM's OpenMAX DL implementation.

To explore ARM and SIMD Cortex in Apple's iPad emulator and write in ARM assembler, there are web sites to consider such as :

Miscellaneous ARM Links for Assembly Language for the iPhone, iPad, iPod:
ARM in depth : FASM assembler (FASMARM) ARM subroutines : Begin Programming Assembler with GCC
How to write Assembly code for the iPhone Assembler clock cycle computer for Cortex-A8

Traditional ARM7 on Mac quick-start tutorial pages

If you are a skilled software engineer already, and you want to start enjoying using your talents in the home-brew video game scene for GameBoy Advance, or Nintendo DS, you will quickly learn that there are no web sites that will show you, or help you, if you desire to use a Macintosh, and desire to avoid command line nonsense and prefer to use graphical tools and IDEs.
That is what this wonderful little web site is for : ARM on a Mac

Its for people that want to use their ARM 7 skills on their Macs, and furthermore with exciting game design.

Its also for people who want to merely follow my word-by-word simple instructions to write and run some simple tests on an emulator.

Modern Gameboy Advance software emulators perfectly run all 1800 GameBoy cartridges... even yours soon! Nintendo DS Emulation needs ARM9.

Your games and little utilities can easily be uploaded to 3rd party devices that then insert into GameBoy Advance, or Nintendo DS http://www.dslinux.org/

Even more exciting, though its been a long while, after all these months it finally happened...

flashable ARM chips are under three dollars, and high end development boards and tools are under 300 dollars now!

IAR Systems and AMTEL market the $295 AT91SAM7S KickStart Kit for rapid prototyping, and low hassle debugging using flashable 3 dollar ARM chips.

You need to use other compilers and tricks to use more than 32K of code with it, but thats an amazing bargain (aminly for the hardware debugging cable and USB oriented design.

PowerPC chips are only 9 dollars from Motorola, but the development boards are THOUSANDS of dollars. (Yes thousands, and 256 pin grids and 7 layer board minimums, <sigh>)

Better than 295 dollars is FREE development, Yes FREE. This web site will show you how you can install top quality assembler, C compiler, C++ Compiler, Debugger and GBA Emulator all no cost, and use Apple's GUI based XCode IDE. Its more than convenient, its actually fun.

Build with one click, run your ROM cart with a double click, dump registers with another simple menu command.

There are many steps to do, though I have not updated these pages in months, so choose the pages that interest you below.



Installing and Setting Up your Mac
Photo of amazing 295 dollar ARM protoyping kit

ARM: ARM Core CPU overview ARM: ARM Core official manuals
OKI : ARM FAQ Imagination Technologies PowerVR (iPad iPhone) PDFs
SkyEye : Study ARM Linux, uClinux, uc/OS-II (ucos-ii) Nut/OS : How to port a uOS to GBA
Hardware ICE : ARM7 $$$ Hardware ICE (Lauterbach) Apple ARM comparisions to Cortex A9 iPad2
Document - Optimizing ARM7TDMI assembly code ARM Book : Peter Cockerell Free ARM Book (via Yahoo)
ARM Book : Richard Murray's ARM Assembler (Free) ARM Book : (Commercial) : Arm System-On-Chip Architecture
Nintendo GBA: ARM Nintendo GBA software emulation Nintendo DS : ARM Nintendo DS software emulation
Nintendo GBA: ARM Nintendo GBA software emulation (2nd) Weather patterns (live space cam!)

I hope you enjoyed this ARM site, I wish it existed when I started.
Email server admin at: webmaster4@NiftySpot.com