Machine Code History

PageTable covers computing at the deepest possible level, without turning to physics. The site covers topics such as quirks of the first ever CPU, the Intel 4004, copying disks on the C64quickly, using branch delay slots, and much, much more. The topics in themselves can be entertaining, as historical and nostalgic curiosities. However, the depth of the analysis turns them into lectures into how to do thing efficiently.

On a 1MHz CPU, wasting 10000 cycles per second means performance degradation. This eats 1% out of the complete performance of the system. On a multi-giga-Hertz system, with out-of-order execution and a super-scalar execution engine, not so much. Still, taking the extra time to optimize loops, calculating things intelligently, and not always rely on a dynamic list and for-loops can make a big difference.

For a more modern context, here and here is a list of instruction set manuals and ABI (Application Binary Interface, i.e. calling conventions, et cetera) collected by Thiago Macieria. This list covers IA-32, x86-64, IA-64, ARM (32 and 64 bits), MIPS (32 and 64 bits), POWER and SPARC. Not only do these documents carry loads on interesting information, they also serve as a reminder that even the very top notch systems of today, rely on the same basic mechanisms as their oldest and smallest relatives.

Posted in Programming | Comments Off on Machine Code History

Forums and Sites

As a part in our efforts to be a good source of information, we would like to introduce our resources page. Here, we will gather a set of electronic sites that can be useful for you.

When browsing the resources, do not miss our GCC Error Message list – one of the few that comes complete with a set of solutions.

If you have a site that you feel would be a good addition, please contact e8johan -at- gmail. If you want to read the motivation behind the first list of sites, continue reading below.

Continue reading

Posted in Meta | Comments Off on Forums and Sites

AVR Assembler

Programming in assembler is one of the key skills that I believe all engineers should acquire. It is not very important which architecture, only that one understands the basic language spoken by computers (machine code and assembler usually have a 1:1 mapping). This teaches you about the limitations of a machine, what takes effort and what is easy, what eats memory and what can be handled using a single accumulator. To put it in a single sentence – knowing assembler, you know how a computer works.

One architecture that is nice to learn is the AVRs. The PIC teaches you more about the quirks of a RISC CPU, the AVR teaches you more about proper assembler. RetroDan provides the great text A Moron’s Guide to Starting in AVR Assembler. It introduces the AVR and its assembler language. It also covers useful tidbits such as SPI, timers, counters, PWM, ADC, et cetera.

Posted in AVR, Programming | Comments Off on AVR Assembler

Stories of 2012

CC-BY http://www.flickr.com/photos/jenorton/2229437427/The year 2011 was an exciting year for Digital Fanatics, as it marked the birth of the site in a new format. The year 2012 will be even more exciting. We have multiple original series in the pipeline, and will soon start our coverage of one of the most widely spread hobbyist platforms of our time – the Arduino.

In 2011 we also grew from a single author to two, with a guest appearance of a third. We plan to continue this trend, so if you want to write about your project, or even become a regular contributor, feel free to contact e8johan -at- gmail.

As a reaction to our customer survey we are also looking into being able to offer discounts or group offers for hardware associated with the articles. This is being investigates right now, so I cannot tell you more at the moment.

All in all, it looks as if 2012 will be a great year and we at Digital Fanatics are happy to have you with us!

Posted in Meta | Comments Off on Stories of 2012

Daruino

The Daruino is an open hardware project aiming to build an Arduino pin-compatible board with a Arm-based CPU. The smallest board is based on the LPC1102 from NXP. This will bring around 50MIPS to a $5 package.

The standard board, EV01 is based around a Arm Cortex M0 with 128KB FLASH and 16KB RAM. Running at 50MHz, the PCB is the same size as the Atmel CPU used on the Arduino Uno boards. Remove the Atmel CPU, replace it with an EV01 board, and you’ve got something looking and working as an Arduino, but in a completely new performance range.

The idea here is not to interfere with the concept behind Arduino, instead to provide another option in the same spirit. Work is being made to support sketches on a code-compatibility level. Most shields will also work.

Posted in Arduino, Electronics, Platforms | Comments Off on Daruino

Happy New Year

The end of 2011 is approaching and we at Digital Fanatics wish to thank you all for reading.

The news will start flowing again on the other side of the New Years Eve parties. See you all again in January 2012!

Next year we will bring you more news on many exiting things:

  • Raspberry Pi – we have been accepted in the QtonPi program and will get a board.
  • Arduino – a full month will be devoted to 100% Arduino news, tutorials and projects.
  • 3D printing – the Huxley will be completed and gizmos will be created.
  • Embedded software – we will look at tools, tricks and history regarding this.
  • Much much more – only time will tell what is hot in 2012!
Posted in Uncategorized | Comments Off on Happy New Year

eMaker Huxley – Soldering

The work on assembling the eMaker Huxley 3D printer has been slowed down by other commitments, but now things are moving again. After some five hours of soldering (over several nights) the electronics are fully assembled.

When buying the kit, I opted for the kit with the surface mounted FTDI circuit pre-soldered. Given my soldering experience, that was the right choice. As I understand it, the new offering from RepRapPro (the result from merging eMaker and the existing RepRap company) includes a complete pre-solderred set of electronics.

Now, all that is left is wiring it all up and do the first function tests, but it will have to wait until after Christmas.

Posted in 3D Printing, eMaker Huxley | Comments Off on eMaker Huxley – Soldering

Printing Tangible Objects

I’ve been in contact with a researcher working with tangible user interfaces, TUIs. As a part of his thesis work, he needed handles for his end users to interact with. These handles where printed using a MakerBot. Here is Allen’s post about them. To quote Allen:

“The model looked fantastic and, as luck would have it, we had someone with access to a 3D printer who was willing to help us out. … if I had access to my own 3d printer I could see spending quite a bit of time iterating this design to perfect it.”

Continue reading

Posted in 3D Printing | Comments Off on Printing Tangible Objects

Raspberry Pi Gets an IO-board

The Gertboard, by Gert van Loo, is introduced over at the Pi-site blog. It is an extension board for all the tinkerers out there. It provides LEDs, GPIO, sensor inputs and motor drives. The plan is to sell it alongside Raspberry Pi. Personally, I think this is what really will set the Pi apart from other boards. Price might be a factor, but having a powerful, super-Arduino like platform with an open source software stack will change how projects are implemented fundamentally.

Posted in Uncategorized | Comments Off on Raspberry Pi Gets an IO-board

Historical Homebrew

How can one understand the present? By studying the past! My copy of The Complete Historically Brewed arrived.

As some might know, I’m a collector of old machined. My goal is to have working machines representing most of the major CPU architecture around. That includes x86, SPARC, Alpha, 68k, 6502, Z80 today – but I’m sure that the list will grow over time. I also enjoy a good read, so Digital Retro by Gordon Laing is highly recommended.

This year, I bought my-self a copy of David Greelish kickstarter funded publishing project.

Posted in Uncategorized | Comments Off on Historical Homebrew