Synergy
Synergy
172 / 7
30th Jul 2013
8th Mar 2015
View the thread called 'New 8-bit processor' in the creation section of the forum for instructions on how to create your own programs. Credit to Crionis for ARAY address decoder original design.
electronic 8bit processor complicated genius programmable heusedwifi computer

Comments

  • Synergy
    Synergy
    3rd Aug 2013
    Ah ok sweet. Now I know where to look.@Ferne, you mean being about to output using A/B as the address? I can add that.
  • Schmolendevice
    Schmolendevice
    2nd Aug 2013
    Yeah, every once and a while, the A ADD B, A/B -> C function sometimes doesn't work and 0 is written to A. Thus only the last result is displayed. In 13 time 13, the displayed result is result 4 + result 3, which is (13 * 2^3) + (13 * 2^2) = 104 + 52 = 56. From that, the first result, 13, wasn't included as I observed that it wasn't stored in C when it was supposed to. The program instructions are correct at that part though.
  • Ferne
    Ferne
    2nd Aug 2013
    I'm learning to program this (it's really fun, and not that hard if you write the instructions you want on some piece of paper) and I made a program that counts to 8 (using an IF EQUAL loop) but I can't display it in the loop :/... This is because in RAM -> OUTPUT you have to put the adress. Things would get waaay easier if you implement sending to OUTPUT with variable RAM adressing.
  • Schmolendevice
    Schmolendevice
    2nd Aug 2013
    The problem seems to be in the fact that at the end, when result 1 is added to result 2, the answer isn't stored in C and then stored into A. All additions after that seem to work. But it seems like empty slots are still being converted to 11111111 and not set back to off.
  • Synergy
    Synergy
    2nd Aug 2013
    I have fixed a couple things that could have made your program not function properly. I went through all of the steps and the processor does exactly what is written in every step now.I tried 11*11 and it gave me 88 (which is 11*8)I tried 9*9 and it gave me 72 (which is 9*8)I tried 13*13 and it gave me 156 (which is 13*12)Seems like something to do with the instructions as they are all landing on divisibles
  • Schmolendevice
    Schmolendevice
    2nd Aug 2013
    Seems to be doing the same thing.
  • Synergy
    Synergy
    2nd Aug 2013
    I think I found the problem! Gonna attempt to fix this with a little delay particle.
  • Schmolendevice
    Schmolendevice
    2nd Aug 2013
    I guess so. But one thing that I should is that you made one of the first tpt instruction sets that actually made sense to me.
  • Synergy
    Synergy
    2nd Aug 2013
    Hmm that didn't seem to change anything. I manually refreshed the RAM everytime 00000000 was converted to 11111111 and it still returns 79 at the end. It turns out when you attempt to read from the empty RAM, it still returns 0. It just converts the value to 11111111 afterwards and never converts it back.
  • Synergy
    Synergy
    2nd Aug 2013
    Ah I think I see what happened. You told ROM to write 0 in RAM. And then RAM tried to read that later, and since there was nothing in the RAM, the part of the RAM that is supposed to refresh the value never gets sparked. Therefore it leaves 11111111 in RAM. I shall fix this.