Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

How did you figure this out? I'll keep my eyes open for this in the microcode.


sort by: page size:

That's a great hint, I was almost at the point of writing a short script that checks the binary output for any soft FP operations.

The ASCII diagram is very helpful. I wish I had thought of including something like this in my original comment. Thanks a lot.

Ah I had missed the link to the github code in there. I like the idea of reading some floating analog pins to get some entropy.

SO many ways.

In college I did it in assembler (a couple hundred bytes of code) on a PDP11/34 and displayed the results on an oscilloscope screen :)


same, though tbf i am not well versed in logic boards, i was unsure of exactly what i was meant to be aiming for.

once i realised that i was meant to be setting the output results i figured it out quickly.


Not at the moment, I'll try and remember to have a look at that next time I test a module. Currently everything is shuffled into the corners so I can start the construction of the decoder frame.

Thanks! My brain seemed to think the R in Reduced Instruction Set was for real time ...whoops!

Neat project regardless.


How would one find this out? Sounds like it would be fun to figure out how to develop all possible reasonably compact instruction combinations to achieve the same basic block and then compare timings.

I guess I need to sit down and study this stuff in more detail, but do I understand correctly that the code you shared makes the decisions for each position independently? I am just astonished that this produces any coherent output. Also it is not clear to me how the length of the output sequence is determined.

Not sure. Can you point me to a basic implementation in Javascript, C or Fortran?

I wrote some code that does something like that. Learned very quickly that it's essentially impossible without a lot of manual data capturing - specifically is this a pack of 6 or 10 etc.

Still for the bits where it worked I was surprised how big the variances per unit were


This is like an assembly language or machine code program that does two different things depending on the alignment with which you jump into it.

Nice. Which loopback value did you use? Is it 3 by any chance? I'm currently at 2/7...

Making that value settable could be nice (as well as opening the source).


Check out MicroPython - they already did roughly that, although I don't remember the details.

How did the plugboard work? Is it literally 31 steps across (or down, or whichever way it was oriented) and you connected the bits in each step to locations that selected an operation?

Or was it more like microcode where you had to consider some contextual implementation details as well?


Still not an option on the platform in the article, though. You'd have to make your own pop count and implement it likely with a loop and bit shifting. It's almost certainly going to take more instructions than this and end up with as many branches as a result. The instruction set is very limited. Though quoting myself:

>> On an instruction set with that [pop count], I imagine it would be a useful trick though.


The rules are really complicated here. It's best to do this using a minifier instead of through hand-coding.

That sounds extremely interesting. I had not noticed that feature before. Do you happen to have some example input at hand that triggers such an adjustment?

Look at ASCII mapped out with four bits across and four bits down and the logic may suddenly snap into place. Also remember that it was implemented by mechanical printing terminals.
next

Legal | privacy