Fortunately for you and me, one happy reader of the book is Paul J. van Lit from the Netherlands. Among other things, he is highly skilled at creating Excel spreadsheets. He decided that he could create a working model of the Computer described in the book that emulates all aspects of its operation, and he did so. (As a byproduct of this project, he discovered the shortcomings of the carry bit that are now outlined in the Errata page.) Further, he has decided to allow me to share his work with other interested parties. And now, he has also created the YouTube video above. Therefore, many thanks to you, Mr. van Lit!
The spreadsheet is quite complex. I have spent hours studying it, and still only understand about half of it. But it is easy to use. Click the buttons and watch it run, see what the parts do. If you want to study how the spreadsheet accomplishes all this, have fun, you will learn a lot. If you email with questions, we'll try to answer, based on available time.
It is in the Excel 97-2003 format, saved that way from newer versions.
The spreadsheet has the ALU on the left, the Control Section in the middle, and the RAM on the right. Above and below are the various registers. On the far right is a program listing, then a chart of the instruction set that is used by the program listing, then the beginnings of a video RAM. In the Control section are these buttons: tic - Step the clock through one of its four phases. step - Run the clock for one clock cycle. cycle - Run the clock for one instruction cycle (=six clock cycles.) run - The computer will run until you press the <Esc> key. reset all - Return to all initial values. FAST - Like 'run' but with less animation, until you press the <Esc> key. Arrows - Change speed of run, or number of steps between screen updates in FAST
The program from line 50 to 67 is the demonstration of multiplication from the book, page 142.
You can reprogram the spreadsheet. You can write the program directly into the RAM, or you can use the program listing space which performs some of the functions of a compiler. You would write an address in column CW, then the command name in column DA, and any involved registers in DB and DC. For two-byte instructions, the next line would get the next address in CW, and the data or address in DA. The formulas act like a compiler and calculate CX, CY and CZ. Then the values in CY need to be copied manually to the correct cells in the RAM (first column is address 0-15, second is 16-31, etc.)(using the Hex addresses from CX is easier)
When you request a copy of the spreadsheet, you will get an email with a zip file of approximately 190k bytes. Do a 'Save As' on the attachment to get it on your disk, and unzip it. Then make a copy of it just in case! When you open it, it will ask you to open in read-only. Answer yes, this just protects the portions of the spreadsheet that aren't supposed to change. Then Excel will tell you that Macros have been disabled. Click 'Enable Content.'
If Windows wants to know whether to trust this program, you'll just have to trust us. After you get it, you can look at the macros and see that they do not access anything outside of the spreadsheet.
The current version of the spreadsheet is 'ScottCPU8bit#1f!.xls'. If newer versions become available, they will be announced here.
Most legitimate requests will be answered within a few days. If you don't get a reply, be sure to check your 'Junk Mail' folder, as the reply will be from an email address that you have never corresponded with before, and will have an attachment that is a .zip file. These are all criteria that email filters look at.
Acknowledgement
About the Spreadsheet
Terms of Use
The spreadsheet is copyright Paul J. van Lit. The design of the Computer contained therein is copyright John Clark Scott. It may be used freely for personal and educational use, as long as the copyrights and contact information on the spreadsheet are visible. For commercial use, please contact this web site.