03-22-2017, 02:10 AM
Before I stopped building, I still had a bunch of ideas that have been poorly explored or barely touched in redstoning. I'm not active enough to really know what people are building (assuming people still are), but recently I've been inspired a small amount by all areas of electrical and computer engineering.
Here are some topics I think would be interesting to build:
1. Cryptography. This has been covered at least before, but I think an implementation of a hash function like MD5 is within reach. MD5 in particular already has a nice hardware implementation. SHA-1 and SHA-2 are just much more complex versions of the same idea. There is also DES, which is fairly simple, and AES, which really seems like a challenge. Historic methods like substitution and polyalphabetic ciphers shouldn't be too hard. The Enigma is a monster but is theoretically possible.
2. Multiplication. I'm not aware of how in-depth this has been treated, but what I've seen are just rows of adders. Booth's multiplication algorithm is pretty well known. Wikipedia page on binary multiplication has good resources and what in particular caught my eye was Wallace trees and Dadda multipliers, which have great potential for new efficient designs / compacting.
3. Trig functions and CORDIC. I remember a few years ago there was talk of this, but idk if anyone actually implemented these. According to Wikipedia, CORDIC only requires addition, subtraction, bitshift, and table lookup. I'm not sure how much is possible without floating-point, though. I recall Prop way back in the day with a FP adder, but FP is such a pain.
4. Error correcting and error detecting codes. Cyclic redundancy check (CRC) is very feasible. Lots of info on Wikipedia page.
5. Simple graphics. This was big back in the day with Prop and maybe Iceglade doing line drawing and circle drawing, but I still think there is interesting development here.
6. Sorting. This is one of the best researched areas of CS, but it is left to software. I wonder if it's possible to even implement more complex algorithms. It would be a unique challenge to implement something like mergesort in hardware.
This is just what I could come up with off the top of my head. I'll try to update this list if I remember. Most of these I discovered just by reading around on Wikipedia.
As for myself, I would love to implement these, but I have been out of the redstone game so long that it feels weird just building at all. As time goes on I get more and more sure that my redstone days are in the past. It's pretty sad, but I can't get myself back into it, especially with other video games I've wanted to play more also.
Here are some topics I think would be interesting to build:
1. Cryptography. This has been covered at least before, but I think an implementation of a hash function like MD5 is within reach. MD5 in particular already has a nice hardware implementation. SHA-1 and SHA-2 are just much more complex versions of the same idea. There is also DES, which is fairly simple, and AES, which really seems like a challenge. Historic methods like substitution and polyalphabetic ciphers shouldn't be too hard. The Enigma is a monster but is theoretically possible.
2. Multiplication. I'm not aware of how in-depth this has been treated, but what I've seen are just rows of adders. Booth's multiplication algorithm is pretty well known. Wikipedia page on binary multiplication has good resources and what in particular caught my eye was Wallace trees and Dadda multipliers, which have great potential for new efficient designs / compacting.
3. Trig functions and CORDIC. I remember a few years ago there was talk of this, but idk if anyone actually implemented these. According to Wikipedia, CORDIC only requires addition, subtraction, bitshift, and table lookup. I'm not sure how much is possible without floating-point, though. I recall Prop way back in the day with a FP adder, but FP is such a pain.
4. Error correcting and error detecting codes. Cyclic redundancy check (CRC) is very feasible. Lots of info on Wikipedia page.
5. Simple graphics. This was big back in the day with Prop and maybe Iceglade doing line drawing and circle drawing, but I still think there is interesting development here.
6. Sorting. This is one of the best researched areas of CS, but it is left to software. I wonder if it's possible to even implement more complex algorithms. It would be a unique challenge to implement something like mergesort in hardware.
This is just what I could come up with off the top of my head. I'll try to update this list if I remember. Most of these I discovered just by reading around on Wikipedia.
As for myself, I would love to implement these, but I have been out of the redstone game so long that it feels weird just building at all. As time goes on I get more and more sure that my redstone days are in the past. It's pretty sad, but I can't get myself back into it, especially with other video games I've wanted to play more also.