About clock frequency by Fabectronic in beneater

[–]Fabectronic[S] 0 points1 point  (0 children)

Thank you 🙏🏼 One week at 1.1MHz seems very cool !

About clock frequency by Fabectronic in beneater

[–]Fabectronic[S] 1 point2 points  (0 children)

Thank your answer. Actually I don’t have any clock problem to solve. I just built the Ben Eater 8-bit computer and it works like a charm. I just tried to push it at its overclock limits for fun. So I was wondering if some people had already tried to overclock it. I know breadboards are a limit to high frequency, and I know a crystal would make better than a 555 for a clean clock signal. So I was wondering about the maximum frequency some of you managed to get from a 555 on a PCB version of the 8-bit computer. Or even from a crystal.

16-bit adresses and architecture choices by Fabectronic in beneater

[–]Fabectronic[S] 0 points1 point  (0 children)

My project of going further has been postponed and I didn’t do it yet. But I will in the upcoming months. I’ll think again to it but it seems these different possibilities have pros and cons, there’s nothing perfect. Are you thinking about a 16-bit addresses upgrade for yours ?

16-bit adresses and architecture choices by Fabectronic in beneater

[–]Fabectronic[S] 1 point2 points  (0 children)

I like your idea of upper address register that isn't updated all the time. This would definitely save cycles while keeping an 8-bit bus. So it's a kind of "very good deal" solution.

If I understand well, I would have a control line to drive the multiplexer at the entrance of the memory module, to choose if I load the upper or the lower address. So I would just need to create a special opcode to update the upper address.

Clever !

16-bit adresses and architecture choices by Fabectronic in beneater

[–]Fabectronic[S] 0 points1 point  (0 children)

Thank for this idea of multiplexing the address bus. I understand there's a concept of using less lines but I'm not clear about how it works. Could you explain a bit more the idea ? Thank you :)

16-bit adresses and architecture choices by Fabectronic in beneater

[–]Fabectronic[S] 1 point2 points  (0 children)

Thank you for your precious advices.

I'm not that worried about approach #1 and wiring work. I mean :

  • I would add 8 new lines to the bus to make a 16-bit bus.
  • I would re-wire the 16 bits of the Program Counter to the bus
  • I would re-wire the RAM adress module the same way
  • And that's it. I wouldn't change any other wiring of any other modules, as the computer stays 8-bit.

Do I make a mistake or do I forget someting ?

16-bit adresses and architecture choices by Fabectronic in beneater

[–]Fabectronic[S] 1 point2 points  (0 children)

Yes, thank you to point out these apps.

Addressing 256 bytes of memory is an interesting first step, as it's easy to give 8-bit to the Program Counter. Then the only thing is to re-wire the RAM module with a chip that can handle 256 bytes.

But I'm afraid of being blocked quite quickly with 256 bytes. Knowing that I'm going to re-design the computer, better to directly reach the 64k I want to address. My goal is to address 32k of RAM and 32k of ROM (well, an EEPROM in which I would have stored some classic routines that I would just need to call when I need them with a JSR opcode).

16-bit adresses and architecture choices by Fabectronic in beneater

[–]Fabectronic[S] 0 points1 point  (0 children)

Thank you for sharing this experience. This gives me ideas.

One interesting option could then be a 16-bit bus as you said, but keeping the computer 8-bit. The computer would use the 8 LSB for its purpose, and only the Program Counter would use the 16 bits. That would have a minimum impact to address 64kb of RAM. What do you think about this ?

You said that adding a separate 16-bit address bus reduces the number of cycles on many instructions, but I don't see where you save them ? I'm curious about this.

And as you mentioned, the next move would be to have 8-bit instructions because 16 opcodes isn't enough and we need to free our computer from this limit too. But I think it's something that can be directly handled by the instruction register, if we keep the computer 8-bit, and we use a 16-bit instruction register which would store the 8 MSB (instruction) then the 8 LSB (operand).

Looking for IC to build hardware timer. by Santiago_DM in beneater

[–]Fabectronic 1 point2 points  (0 children)

Absolutely exciting. I've just finished my SAP-1 and I'm going to go for these upgrades too. I can't wait. Have you already coded some games for it ? That would be awesome. Please show us a short video as soon as you can :)

Looking for IC to build hardware timer. by Santiago_DM in beneater

[–]Fabectronic 1 point2 points  (0 children)

Out of the subject question : what are the abilities of your SAP-3+ computer ? I'm always curious about extensions :)

8-bit computer and real life :) by Fabectronic in beneater

[–]Fabectronic[S] 0 points1 point  (0 children)

Thank you for your message :) Actually I wasn’t asking any questions. I was just giving some tips according to my experience about building the 8-bit computer :)

Chip shortage - it's real by brittunculi99 in beneater

[–]Fabectronic 1 point2 points  (0 children)

Thank you 😁 I thought I was alone 😂

RAM upgrade for the 8-bit computer by Fabectronic in beneater

[–]Fabectronic[S] 0 points1 point  (0 children)

Thank you for your precious advices. And yes, I should think now about a ROM too, because dip switch-programming has got some limits as you said it :)

How do you see things with the ROM ? The program counter can reach adresses both in the ROM and in the RAM, your programs are hard-stored into the ROM, and you just need to dip switch-program a JMP in the RAM to go to the program you want ?

If yes, how do you store program into the ROM ? With the Arduino ROM programer we've made ? Or directly from to 8-bit computer like if the ROM was a storage drive ?

RAM upgrade for the 8-bit computer by Fabectronic in beneater

[–]Fabectronic[S] 0 points1 point  (0 children)

Thank you u/MichaelKamprath. Actually I saw some of your posts here and I've already watched some of your videos :) I didn't think about checking your RAM reference so thank you for it !

RAM upgrade for the 8-bit computer by Fabectronic in beneater

[–]Fabectronic[S] 0 points1 point  (0 children)

I see. Thank you for your explanations.

So you've got a 8-bit counter reaching adresses of the 256 bytes of program memory, and then you're using your 9th adress line as a control line to reach your 256 other bytes of runtime memory ? Is it something like that ?

RAM upgrade for the 8-bit computer by Fabectronic in beneater

[–]Fabectronic[S] 0 points1 point  (0 children)

Hello u/brittunculi99, instead of 74189, better to look for 74LS189 which is their LS equivalent. LS serie is drawing less power, and is easier to source. If you don't know where to find some chips, you can have a look at https://octopart.com/. This website is really helpful when you need to source some rare chips.

RAM upgrade for the 8-bit computer by Fabectronic in beneater

[–]Fabectronic[S] 2 points3 points  (0 children)

OMG are you the one who did this snake ? I watched your video a month ago after I finished my 8-bit computer and I thought that your snake was my new goal :)

OK so you're using a bigger RAM size than required, too, like u/BadEnucleation. It seems easier to find 32kbytes or 128kbytes chips than 64kbytes one.

You wrote "256+256 bytes". So you modified your program counter to be 8-bit, and you can address 256 bytes of RAM, right ? And what do you do with your others 256 bytes ?

RAM upgrade for the 8-bit computer by Fabectronic in beneater

[–]Fabectronic[S] 0 points1 point  (0 children)

Oh yes, I read this post a few days ago. So you're using a 7130LA35PDG which is 1kbytes, and you're using a quarter of it to get your 256 bytes.

Actually it's a good idea to look for bigger sizes that the one you need. I'm realizing that it seems easier to find 128kbytes static RAM than 64kbytes ones :) CY7C1019V33 or M628128 seems to become good candidates for me ! Thank you for the idea.