Home Creators Posts Import Register Favorites Logout
haven't archived this post yet. have a subscription? use the importer!

Content

Hello patrons!

Firstly I want to thank you for generously supporting my videos on Patreon. Your support means a lot to me and I want to find more ways to recognize that. To that end, when possible, I’d like to release videos early to $2 patrons. In some cases, the video may not be the final version I release, and I may even have time to incorporate your feedback. In other cases, there might be reasons I don’t have time to release a video early, so no guarantees. For example, it seems as though YouTube videos find more reach when they’re released at the beginning of a weekend. So I plan to release this video tomorrow morning, but since I’ve already wrapped it up, here you go! Let me know what you think.

Thanks again for your support,

-Ben

Files

Previews only

Conditional jump

Comments

David Courtney

I'm trying to work out this Fibonacci program that Ben showed 3 years ago: <a href="https://www.youtube.com/watch?v=a73ZXDJtU48" rel="nofollow noopener" target="_blank">https://www.youtube.com/watch?v=a73ZXDJtU48</a> I had to change the OPCODES of course because in this old video, his OPCODES are different than they are on his new build, but after doing that, mine works like his where it counts to 144 and then resets back to 0. At the end of the video, he indicates that he has steps 3 and 4 in the wrong order which is why it's not showing 233 before resetting. I swapped steps 3 and 4 in my program, but now it's going from 144 to 233 to 121 and then resetting to 0. I believe it's showing 121 because 144+233=377, and 377-256=121. I'm not completely sure that is what is happening, but it's the only thing that makes sense to me. Anyone else having this problem?

beneater

Here’s an updated Fibonacci program that works better. The version in that old video was outputting one step behind the most recent addition. After the ADD it would put the result at address 15, but then load from 13 before jumping back to the next OUT instruction. But in this version, it stores the most recent addition at address 13 and loads from 13 before the next OUT. A few other things had to be reshuffled, but the result is this outputs all of the Fibonacci numbers up to 233: 0: LDI 0 1: OUT 2: STA 15 3: LDI 1 4: OUT 5: STA 14 6: ADD 15 7: STA 13 8: LDA 14 9: STA 15 10: LDA 13 11: JC 0 12: JMP 4

David Courtney

Thanks Ben. I updated my notes, programmed this in to my breadboard computer - and it works! I feel comfortable and competent with higher level languages like C, but I'm definitely a noobie with this down to the metal stuff. This has been a fantastic learning experience. I really appreciate your work.

Anonymous

Crazy question: Ben have you ever thrown your table into a Karnaugh map? I used to use Microsoft excel to generate one, and make sure the math was correct coming out of the back end. Meaning coming up with the logic equation, then using the equation to make the table to verify the logic was correct. The biggest table I ever made was 64 bits white by 64 bits long for operating a hydronic heating system.

Anonymous

Here is a second crazy question: Have you ever thought of having the EEPROMS generate a nibble to control a 74ls154 to turn on and off parts of your logic? So lets say output 1 on the 74ls154 would control all your first things that need to happen on your list. Reason I am asking is it could help in reducing the number of EPROMS you need to control your Computer? Also if you use a multiplexer like the 74150 <a href="https://www.jameco.com/Jameco/Products/ProdDS/49509.pdf" rel="nofollow noopener" target="_blank">https://www.jameco.com/Jameco/Products/ProdDS/49509.pdf</a> you could use the inputs 0-15 to output an 1 or 0 to control your logic. You could hobble two 8 by 1 multiplexers together to make a 16 by 1 multiplexer do even do more incredible control functions. I remember doing this in logic class as a part of a state machine.