Debug the Assembly program

Last months I have write some program’s for the 4004 system to emulate a ROM by a Propellerchip. I write these emulation program’s in the SPIN  language for the Propellerchip. This  SPIN program work’s fine but is relative slow. I use the Propeller olso for the clock for the 4004 and my maximum clock speed in the SPIN language is around 30 kHz. But the original speed of the 4004 is 740 kHz so I want to speedup my clock. I decide to rewrite the emulation program for the Propellerchip in Assembly.

This give me a lot of trouble. I am not very familiar with writing program’s in assembly but I don’t give up. The whole weekend I spend a lot of time to write and debug my assembly program.

20161009_debugI use a ZIF-socket with some resistor’s, to use as voltage-dividers, to bring down the 15 Volt for the 4004 down to 5 Volt, to measure the signal level’s with a logic analyser.


After some very long debug-session’s I have the 4004 processor working with a clockspeed of 300 kHz. This is just the beginning. It work’s and more speed come’s later. My goal is to work with a speed of at least 600 kHz.

For this moment I am very happy, a littele [-NOP and jump to zero-] program works good with the assembly program for the ROM emulation. Now I have to write a program for the 4004 to use the I/O to read from the 4001 and write to the 4002.

This challenge give me a lot off energy.


Author: avretro

I am a member of some section's of a computerclub in Holland, called the Hobby Computer Club or HCC. That section's are the Retro-, AI- and Robotica-section. Writing in Englische is not very easy for me, so don't blame me for it.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s