rileym65 / Cardiac

Cardiac emulator for Windows
1 stars 1 forks source link

1. Move the bug to cell 03 #1

Open Phi-Ho opened 3 years ago

Phi-Ho commented 3 years ago

Hi Mike,

I have spent this evening trying to figure out how to "Move the bug to cell 03" after clicking on the circle following the 01 in the memory cells.

The bug is the Program Counter, where is the PC. I can see Instruction Register on the right, an Accumulator and 2 registers(?) on the left. They are all blank.

Which switch do I use to move the bug to cell 03?

Please find appended a picture of Cardiac console.

Regards,

phiho

Cardiac

rileym65 commented 3 years ago

Hello Phiho, I am assuming you are going through the tutorial document that comes with the emulator. Keep in mind the CARDIAC was a manual device, the user acted as the computer and the CARDIAC acted as the control unit telling you what to do. In the tutorial you first load a small program into the memory and to setup two values on the input cards and then move the bug to cell 3. Here is what your screen should look like after doing so:

[cid:b33711b3-fb41-4d12-8060-40e47972fd7f]

You are correct that the "bug" is the program counter. In the actual CARDIAC, they gave you a little cardboard ladybug that would slide into holes on the CARDIAC to mark the current position of the program counter. So in step 1, move the bug to cell 3, which in your screenshot you did! You are correct that the circles next to the memory cells are where the "bug" goes and the one that is highlighted is where the bug is. You just missed putting the program into memory, your cells are blank.

Now you just start at the "START" and follow the instructions, so first it tells you to move the slides to agree with the contents of the bug's cell, which at cell 3 is 010, so using the 6 arrows right below start, you set the "Instruction Register" to be 010:

[cid:507a33c0-a5da-4e70-9988-f279860b8cc8]

Now just follow the arrows, which takes you to the "Move bug ahead one cell", since the bug is at 3, we move it to 4:

[cid:f85fc0e2-c857-4bbb-b39e-c9831845fae7]

And then follow the arrow to the "accumulator test" box, it asks "is input card blank?" Since the input card currently has 004 in it, it is not blank so you follow the "no" arrow, which takes you to the "instruction decoder" box, there it instructs you to "Copy input card into cell 10, advance card", so we copy the 004 of the input card to memory cell 10, and then hit the down arrow right below the input box to advance the card, your screen should now look like:

[cid:32b7d818-d746-4304-946a-7129559f0b34]

And then follow the arrow back to the "instruction register" box, we have now completed the first instruction, so now you again follow what it says which is to set the slides to agree with the bug's position, which is now at memory position 4, which contains 011. So set the slides to 011:

[cid:9c9fda85-18ef-4e84-a3e0-8ae35476afec]

And then follow the arrows around again, which will have you move the bug to memory position 5, the input card is not blank, it now has 005, so you follow the "no" path which instructs you to copy the input card to cell 11, and advance the card, so at the completion of this instruction you should have:

[cid:585c0360-7ef0-4f22-96b7-aa14c175c3ac]

Now I will just show what it should look like after each instruction, rather each step along the way. But now you are back at the "instruction register" and so follow its instructions, which the bug is at cell 5, so you set the instruction register to the value in cell 5, 110, then move to the next box, which tells you to move the bug, so you move the bug from 5 to 6, The "accumulator test" box now has nothing in but a continuation of the arrow, which takes you to the "instruction decoder" which tells you to: Erase Accumulator, copy contents of cell 10 into accumulator". Upon completing this step your screen should look like:

[cid:30339b5f-1778-4809-8fed-85fcc21d3707]

The bottom row of boxes is considered to be the Accumulator, the two rows above it are scratch space. On to the next instruction, 211, which the instruction decoder tells you to "add contents of cell 11 into accumulator. So here is a math instruction, when doing these you now use the scratch space above the accumulator, so you copy the accumulator value to the top row, then the instruction tells you to add in cell 11, which contains 005, which you write on the middle row, then add them together to get the answer which you put back into the accumulator (bottom row) Here is what the screen should look like after completing this instruction:

[cid:921682c9-2cb3-48df-868d-ebed61181b04]

Now the next instruction, 612, here is what the screen should look like upon completion:

[cid:3487b0dc-0c64-48d0-9d19-23d3481f1f2b]

The next instruction is 512, so here is what you should end up with:

[cid:f01684e0-5b88-421b-b692-ea6688e21553]

And then the last instruction is 900:

[cid:69d9fe87-7968-478b-853a-7e1cf0da2902]

Since the last part of the instruction is "STOP", you stop, the program is done. So that is an example of running in "classic" mode, where the user does all the work, you just follow the arrows and do what each step tells you to do.

Now the emulator gives you an "auto" mode, which now is more like a real computer in that it will perform all the steps automatically, you do not have to do anything. So if you reset back to where we started, but now select "auto" instead of "classic", so you start with your screen looking like (remember to move the bug to cell 3, since we loaded the program direct to memory instead of using the "boot loader" method):

[cid:fcaeb5a6-571e-4076-b9a9-36f2a84aa094]

Now just click the "Run" button and watch it do all the work, and you will end up with the same looking screen as the manual "classic" mode:

[cid:7b675eb5-4caf-45a3-9be4-4576499b7915]

So, there is a quick walk through in both "classic" and "auto" modes. Auto mode is more useful when you use the "boot loader" method, described in the documentation that comes with the emulator. I hope this clears up how to use this interesting little device. If you have further questions, feel free to ask.

 Mike

From: Phi-Ho notifications@github.com Sent: Monday, December 14, 2020 1:29 AM To: rileym65/Cardiac Cardiac@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [rileym65/Cardiac] 1. Move the bug to cell 03 (#1)

Hi Mike,

I have spent this evening trying to figure out how to "Move the bug to cell 03" after clicking on the circle following the 01 in the memory cells.

The bug is the Program Counter, where is the PC. I can see Instruction Register on the right, an Accumulator and 2 registers(?) on the left. They are all blank.

Which switch do I use to move the bug to cell 03?

Please find appended a picture of Cardiac console.

Regards,

phiho

[Cardiac]https://user-images.githubusercontent.com/4590410/102063631-48d90a80-3dc4-11eb-8640-bf5805b6ea7b.jpg

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/rileym65/Cardiac/issues/1, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAJ6ZWPNEDL3ZE5ZKSFAAK3SUXLJDANCNFSM4U2OHJEA.

Phi-Ho commented 3 years ago

Hi Mike,

Yes, I followed the tutorial and stuck.

Thank you very much but the pictures did not come through.

Cheers,

phiho

On Mon, Dec 14, 2020 at 8:41 AM Mike riley notifications@github.com wrote:

Hello Phiho, I am assuming you are going through the tutorial document that comes with the emulator. Keep in mind the CARDIAC was a manual device, the user acted as the computer and the CARDIAC acted as the control unit telling you what to do. In the tutorial you first load a small program into the memory and to setup two values on the input cards and then move the bug to cell 3. Here is what your screen should look like after doing so:

[cid:b33711b3-fb41-4d12-8060-40e47972fd7f]

You are correct that the "bug" is the program counter. In the actual CARDIAC, they gave you a little cardboard ladybug that would slide into holes on the CARDIAC to mark the current position of the program counter. So in step 1, move the bug to cell 3, which in your screenshot you did! You are correct that the circles next to the memory cells are where the "bug" goes and the one that is highlighted is where the bug is. You just missed putting the program into memory, your cells are blank.

Now you just start at the "START" and follow the instructions, so first it tells you to move the slides to agree with the contents of the bug's cell, which at cell 3 is 010, so using the 6 arrows right below start, you set the "Instruction Register" to be 010:

[cid:507a33c0-a5da-4e70-9988-f279860b8cc8]

Now just follow the arrows, which takes you to the "Move bug ahead one cell", since the bug is at 3, we move it to 4:

[cid:f85fc0e2-c857-4bbb-b39e-c9831845fae7]

And then follow the arrow to the "accumulator test" box, it asks "is input card blank?" Since the input card currently has 004 in it, it is not blank so you follow the "no" arrow, which takes you to the "instruction decoder" box, there it instructs you to "Copy input card into cell 10, advance card", so we copy the 004 of the input card to memory cell 10, and then hit the down arrow right below the input box to advance the card, your screen should now look like:

[cid:32b7d818-d746-4304-946a-7129559f0b34]

And then follow the arrow back to the "instruction register" box, we have now completed the first instruction, so now you again follow what it says which is to set the slides to agree with the bug's position, which is now at memory position 4, which contains 011. So set the slides to 011:

[cid:9c9fda85-18ef-4e84-a3e0-8ae35476afec]

And then follow the arrows around again, which will have you move the bug to memory position 5, the input card is not blank, it now has 005, so you follow the "no" path which instructs you to copy the input card to cell 11, and advance the card, so at the completion of this instruction you should have:

[cid:585c0360-7ef0-4f22-96b7-aa14c175c3ac]

Now I will just show what it should look like after each instruction, rather each step along the way. But now you are back at the "instruction register" and so follow its instructions, which the bug is at cell 5, so you set the instruction register to the value in cell 5, 110, then move to the next box, which tells you to move the bug, so you move the bug from 5 to 6, The "accumulator test" box now has nothing in but a continuation of the arrow, which takes you to the "instruction decoder" which tells you to: Erase Accumulator, copy contents of cell 10 into accumulator". Upon completing this step your screen should look like:

[cid:30339b5f-1778-4809-8fed-85fcc21d3707]

The bottom row of boxes is considered to be the Accumulator, the two rows above it are scratch space. On to the next instruction, 211, which the instruction decoder tells you to "add contents of cell 11 into accumulator. So here is a math instruction, when doing these you now use the scratch space above the accumulator, so you copy the accumulator value to the top row, then the instruction tells you to add in cell 11, which contains 005, which you write on the middle row, then add them together to get the answer which you put back into the accumulator (bottom row) Here is what the screen should look like after completing this instruction:

[cid:921682c9-2cb3-48df-868d-ebed61181b04]

Now the next instruction, 612, here is what the screen should look like upon completion:

[cid:3487b0dc-0c64-48d0-9d19-23d3481f1f2b]

The next instruction is 512, so here is what you should end up with:

[cid:f01684e0-5b88-421b-b692-ea6688e21553]

And then the last instruction is 900:

[cid:69d9fe87-7968-478b-853a-7e1cf0da2902]

Since the last part of the instruction is "STOP", you stop, the program is done. So that is an example of running in "classic" mode, where the user does all the work, you just follow the arrows and do what each step tells you to do.

Now the emulator gives you an "auto" mode, which now is more like a real computer in that it will perform all the steps automatically, you do not have to do anything. So if you reset back to where we started, but now select "auto" instead of "classic", so you start with your screen looking like (remember to move the bug to cell 3, since we loaded the program direct to memory instead of using the "boot loader" method):

[cid:fcaeb5a6-571e-4076-b9a9-36f2a84aa094]

Now just click the "Run" button and watch it do all the work, and you will end up with the same looking screen as the manual "classic" mode:

[cid:7b675eb5-4caf-45a3-9be4-4576499b7915]

So, there is a quick walk through in both "classic" and "auto" modes. Auto mode is more useful when you use the "boot loader" method, described in the documentation that comes with the emulator. I hope this clears up how to use this interesting little device. If you have further questions, feel free to ask.

Mike


From: Phi-Ho notifications@github.com Sent: Monday, December 14, 2020 1:29 AM To: rileym65/Cardiac Cardiac@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [rileym65/Cardiac] 1. Move the bug to cell 03 (#1)

Hi Mike,

I have spent this evening trying to figure out how to "Move the bug to cell 03" after clicking on the circle following the 01 in the memory cells.

The bug is the Program Counter, where is the PC. I can see Instruction Register on the right, an Accumulator and 2 registers(?) on the left. They are all blank.

Which switch do I use to move the bug to cell 03?

Please find appended a picture of Cardiac console.

Regards,

phiho

[Cardiac]< https://user-images.githubusercontent.com/4590410/102063631-48d90a80-3dc4-11eb-8640-bf5805b6ea7b.jpg

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub< https://github.com/rileym65/Cardiac/issues/1>, or unsubscribe< https://github.com/notifications/unsubscribe-auth/AAJ6ZWPNEDL3ZE5ZKSFAAK3SUXLJDANCNFSM4U2OHJEA

.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rileym65/Cardiac/issues/1#issuecomment-744447527, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDAWSSMFJT7FQ3UQGWQJ6TSUYIYRANCNFSM4U2OHJEA .

rileym65 commented 3 years ago

Hello Phiho, Ok, email me at my email address: mikehriley@hotmail.com with your email address so I can send you the email directly, it looks like GitHub messages just do not like pictures inline. Mike


From: Phi-Ho notifications@github.com Sent: Monday, December 14, 2020 7:02 AM To: rileym65/Cardiac Cardiac@noreply.github.com Cc: Mike riley mikehriley@hotmail.com; Comment comment@noreply.github.com Subject: Re: [rileym65/Cardiac] 1. Move the bug to cell 03 (#1)

Hi Mike,

Yes, I followed the tutorial and stuck.

Thank you very much but the pictures did not come through.

Cheers,

phiho

On Mon, Dec 14, 2020 at 8:41 AM Mike riley notifications@github.com wrote:

Hello Phiho, I am assuming you are going through the tutorial document that comes with the emulator. Keep in mind the CARDIAC was a manual device, the user acted as the computer and the CARDIAC acted as the control unit telling you what to do. In the tutorial you first load a small program into the memory and to setup two values on the input cards and then move the bug to cell 3. Here is what your screen should look like after doing so:

[cid:b33711b3-fb41-4d12-8060-40e47972fd7f]

You are correct that the "bug" is the program counter. In the actual CARDIAC, they gave you a little cardboard ladybug that would slide into holes on the CARDIAC to mark the current position of the program counter. So in step 1, move the bug to cell 3, which in your screenshot you did! You are correct that the circles next to the memory cells are where the "bug" goes and the one that is highlighted is where the bug is. You just missed putting the program into memory, your cells are blank.

Now you just start at the "START" and follow the instructions, so first it tells you to move the slides to agree with the contents of the bug's cell, which at cell 3 is 010, so using the 6 arrows right below start, you set the "Instruction Register" to be 010:

[cid:507a33c0-a5da-4e70-9988-f279860b8cc8]

Now just follow the arrows, which takes you to the "Move bug ahead one cell", since the bug is at 3, we move it to 4:

[cid:f85fc0e2-c857-4bbb-b39e-c9831845fae7]

And then follow the arrow to the "accumulator test" box, it asks "is input card blank?" Since the input card currently has 004 in it, it is not blank so you follow the "no" arrow, which takes you to the "instruction decoder" box, there it instructs you to "Copy input card into cell 10, advance card", so we copy the 004 of the input card to memory cell 10, and then hit the down arrow right below the input box to advance the card, your screen should now look like:

[cid:32b7d818-d746-4304-946a-7129559f0b34]

And then follow the arrow back to the "instruction register" box, we have now completed the first instruction, so now you again follow what it says which is to set the slides to agree with the bug's position, which is now at memory position 4, which contains 011. So set the slides to 011:

[cid:9c9fda85-18ef-4e84-a3e0-8ae35476afec]

And then follow the arrows around again, which will have you move the bug to memory position 5, the input card is not blank, it now has 005, so you follow the "no" path which instructs you to copy the input card to cell 11, and advance the card, so at the completion of this instruction you should have:

[cid:585c0360-7ef0-4f22-96b7-aa14c175c3ac]

Now I will just show what it should look like after each instruction, rather each step along the way. But now you are back at the "instruction register" and so follow its instructions, which the bug is at cell 5, so you set the instruction register to the value in cell 5, 110, then move to the next box, which tells you to move the bug, so you move the bug from 5 to 6, The "accumulator test" box now has nothing in but a continuation of the arrow, which takes you to the "instruction decoder" which tells you to: Erase Accumulator, copy contents of cell 10 into accumulator". Upon completing this step your screen should look like:

[cid:30339b5f-1778-4809-8fed-85fcc21d3707]

The bottom row of boxes is considered to be the Accumulator, the two rows above it are scratch space. On to the next instruction, 211, which the instruction decoder tells you to "add contents of cell 11 into accumulator. So here is a math instruction, when doing these you now use the scratch space above the accumulator, so you copy the accumulator value to the top row, then the instruction tells you to add in cell 11, which contains 005, which you write on the middle row, then add them together to get the answer which you put back into the accumulator (bottom row) Here is what the screen should look like after completing this instruction:

[cid:921682c9-2cb3-48df-868d-ebed61181b04]

Now the next instruction, 612, here is what the screen should look like upon completion:

[cid:3487b0dc-0c64-48d0-9d19-23d3481f1f2b]

The next instruction is 512, so here is what you should end up with:

[cid:f01684e0-5b88-421b-b692-ea6688e21553]

And then the last instruction is 900:

[cid:69d9fe87-7968-478b-853a-7e1cf0da2902]

Since the last part of the instruction is "STOP", you stop, the program is done. So that is an example of running in "classic" mode, where the user does all the work, you just follow the arrows and do what each step tells you to do.

Now the emulator gives you an "auto" mode, which now is more like a real computer in that it will perform all the steps automatically, you do not have to do anything. So if you reset back to where we started, but now select "auto" instead of "classic", so you start with your screen looking like (remember to move the bug to cell 3, since we loaded the program direct to memory instead of using the "boot loader" method):

[cid:fcaeb5a6-571e-4076-b9a9-36f2a84aa094]

Now just click the "Run" button and watch it do all the work, and you will end up with the same looking screen as the manual "classic" mode:

[cid:7b675eb5-4caf-45a3-9be4-4576499b7915]

So, there is a quick walk through in both "classic" and "auto" modes. Auto mode is more useful when you use the "boot loader" method, described in the documentation that comes with the emulator. I hope this clears up how to use this interesting little device. If you have further questions, feel free to ask.

Mike


From: Phi-Ho notifications@github.com Sent: Monday, December 14, 2020 1:29 AM To: rileym65/Cardiac Cardiac@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [rileym65/Cardiac] 1. Move the bug to cell 03 (#1)

Hi Mike,

I have spent this evening trying to figure out how to "Move the bug to cell 03" after clicking on the circle following the 01 in the memory cells.

The bug is the Program Counter, where is the PC. I can see Instruction Register on the right, an Accumulator and 2 registers(?) on the left. They are all blank.

Which switch do I use to move the bug to cell 03?

Please find appended a picture of Cardiac console.

Regards,

phiho

[Cardiac]< https://user-images.githubusercontent.com/4590410/102063631-48d90a80-3dc4-11eb-8640-bf5805b6ea7b.jpg

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub< https://github.com/rileym65/Cardiac/issues/1>, or unsubscribe< https://github.com/notifications/unsubscribe-auth/AAJ6ZWPNEDL3ZE5ZKSFAAK3SUXLJDANCNFSM4U2OHJEA

.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rileym65/Cardiac/issues/1#issuecomment-744447527, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDAWSSMFJT7FQ3UQGWQJ6TSUYIYRANCNFSM4U2OHJEA .

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/rileym65/Cardiac/issues/1#issuecomment-744499187, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAJ6ZWJPKI7TVUI3A5CQVZ3SUYSI3ANCNFSM4U2OHJEA.