Assembler

Friday, Feb 12th, 2010 8:27 AM

In the late 70's a new phenomenon arrived the video game and with it came a new challenge to programmers.  Programming and debugging these systems was undoubtedly a specialist job. There were no hard-drives everything was in silicon in EEProms or rewritable rom chips. Space Invaders There were no keyboards and everything had to be programmed in assembler with specialist equipment and a logic probe. There was no strinct division between hardware and software to program these bareboard systems required hardware knowledge and was the domain of hardware engineers. Most of the time the listings were unavailable an proprietary information as such programming these systems was laborious and required patience sifting through millions of lines of assembler and hex.

As if this was not enough most of the time the video games had custom processors making the task even more laborious. Due to the revolutionary aspect of this technology there were no training courses, books or documentation, consequently it was upto the engineer to put himself into the unenviable position of sink-or-swim and learn how the system worked before attempting to delve into the program itself. This required significant understanding of hardware at a discrete component low level understanding that a partiular binary input would yield a certain binary output.  

The arrival of gaming machines produced a more standardized approach to programming as the majority of these machines relied upon common processors such as the Texas Instruments central processors which virtually skipped 8 and 16bit processing and went straight to 32bit mainly due to the input output requirements, What is not common knowledge is that 32 bit processing was alive and kicking in the 80's and the forefront of technology. Similar to the video games there was no documentation, training or manuals available, programming was again left upto to invidual engineer's ingenuity.