Hawkuletz
@hawk.ro
Somewhat passionate about retro-computing and other tech stuff
He / him
hawk.ro
He / him
hawk.ro
Reposted by Hawkuletz
Gelukkig hebben we de foto's nog😍
📷: Beeldbank Rijkswaterstaat
📷: Beeldbank Rijkswaterstaat
November 10, 2025 at 11:15 AM
Reposted by Hawkuletz
Do not taunt Carnivorous Death Ball.
November 7, 2025 at 6:21 AM
Do not taunt Carnivorous Death Ball.
Serial output from the run in the movie (note that number of steps is in hex)
Generated
3 4
45 6 8193
21 8
6 3 7
4 8 359
685
73 42
5 8
Solved
0035 steps
689315427
457628193
213479568
896153274
375294816
142867359
968531742
731942685
524786931
Done
8/8
Generated
3 4
45 6 8193
21 8
6 3 7
4 8 359
685
73 42
5 8
Solved
0035 steps
689315427
457628193
213479568
896153274
375294816
142867359
968531742
731942685
524786931
Done
8/8
November 9, 2025 at 11:29 AM
Serial output from the run in the movie (note that number of steps is in hex)
Generated
3 4
45 6 8193
21 8
6 3 7
4 8 359
685
73 42
5 8
Solved
0035 steps
689315427
457628193
213479568
896153274
375294816
142867359
968531742
731942685
524786931
Done
8/8
Generated
3 4
45 6 8193
21 8
6 3 7
4 8 359
685
73 42
5 8
Solved
0035 steps
689315427
457628193
213479568
896153274
375294816
142867359
968531742
731942685
524786931
Done
8/8
From the source code:
; repeat process until number of failures (failure = 2 solutions) exceed threshold (threshold is set at 16 decimal)
Once that's done, print (send to serial) the result.
I forgot to mention, in case anyone wonders: everything was written in PIC ASM 7/
; repeat process until number of failures (failure = 2 solutions) exceed threshold (threshold is set at 16 decimal)
Once that's done, print (send to serial) the result.
I forgot to mention, in case anyone wonders: everything was written in PIC ASM 7/
November 9, 2025 at 11:26 AM
From the source code:
; repeat process until number of failures (failure = 2 solutions) exceed threshold (threshold is set at 16 decimal)
Once that's done, print (send to serial) the result.
I forgot to mention, in case anyone wonders: everything was written in PIC ASM 7/
; repeat process until number of failures (failure = 2 solutions) exceed threshold (threshold is set at 16 decimal)
Once that's done, print (send to serial) the result.
I forgot to mention, in case anyone wonders: everything was written in PIC ASM 7/
taking out *random digits while checking that:
1. the removed digit doesn't result in 2 solutions.
2. the process doesn't take too long (i.e. after a while it will yield a puzzle, even if there are some digits that might still be removed)
(It also checks for user pressing of the C key) 6/
1. the removed digit doesn't result in 2 solutions.
2. the process doesn't take too long (i.e. after a while it will yield a puzzle, even if there are some digits that might still be removed)
(It also checks for user pressing of the C key) 6/
November 9, 2025 at 11:18 AM
taking out *random digits while checking that:
1. the removed digit doesn't result in 2 solutions.
2. the process doesn't take too long (i.e. after a while it will yield a puzzle, even if there are some digits that might still be removed)
(It also checks for user pressing of the C key) 6/
1. the removed digit doesn't result in 2 solutions.
2. the process doesn't take too long (i.e. after a while it will yield a puzzle, even if there are some digits that might still be removed)
(It also checks for user pressing of the C key) 6/
Of course the solver checks and reports both impossible puzzles and ones with more then one solution.
The Generator uses a XOR-shift PRNG fed from the timer when generate is requested.
It starts by generating an entire valid puzzle, and then starts taking out digits while checking that: 5/
The Generator uses a XOR-shift PRNG fed from the timer when generate is requested.
It starts by generating an entire valid puzzle, and then starts taking out digits while checking that: 5/
November 9, 2025 at 11:09 AM
Of course the solver checks and reports both impossible puzzles and ones with more then one solution.
The Generator uses a XOR-shift PRNG fed from the timer when generate is requested.
It starts by generating an entire valid puzzle, and then starts taking out digits while checking that: 5/
The Generator uses a XOR-shift PRNG fed from the timer when generate is requested.
It starts by generating an entire valid puzzle, and then starts taking out digits while checking that: 5/
change it. Of course this was done mainly as a fun project, but still.
The solver employs some tricks to speed-up the process (I think some I implemented while developing the generator); in particular it keeps a large array with "what digits can go where" to save time on trying them. 4/
The solver employs some tricks to speed-up the process (I think some I implemented while developing the generator); in particular it keeps a large array with "what digits can go where" to save time on trying them. 4/
November 9, 2025 at 11:07 AM
change it. Of course this was done mainly as a fun project, but still.
The solver employs some tricks to speed-up the process (I think some I implemented while developing the generator); in particular it keeps a large array with "what digits can go where" to save time on trying them. 4/
The solver employs some tricks to speed-up the process (I think some I implemented while developing the generator); in particular it keeps a large array with "what digits can go where" to save time on trying them. 4/
The Solve and -especially- Generate functions do take a while, even at 32MHz, but the rest of the interface is quite fast. The device is "ready" as soon as power is applied (well, within some ms)
The Edit function is not really optimal, in particular one has to clear and retype an entire line to 3/
The Edit function is not really optimal, in particular one has to clear and retype an entire line to 3/
November 9, 2025 at 11:03 AM
The Solve and -especially- Generate functions do take a while, even at 32MHz, but the rest of the interface is quite fast. The device is "ready" as soon as power is applied (well, within some ms)
The Edit function is not really optimal, in particular one has to clear and retype an entire line to 3/
The Edit function is not really optimal, in particular one has to clear and retype an entire line to 3/
It's all implemented on a single PIC16F1939 uC (8bit, 32MHz, 1024 *bytes* of data memory)
It also - and this was the really difficult part - implements reasonably good sudoku *generator*
The same PIC does the display driving, keyboard scanning, the works.
It is reasonably fast. 2/
It also - and this was the really difficult part - implements reasonably good sudoku *generator*
The same PIC does the display driving, keyboard scanning, the works.
It is reasonably fast. 2/
November 9, 2025 at 10:57 AM
It's all implemented on a single PIC16F1939 uC (8bit, 32MHz, 1024 *bytes* of data memory)
It also - and this was the really difficult part - implements reasonably good sudoku *generator*
The same PIC does the display driving, keyboard scanning, the works.
It is reasonably fast. 2/
It also - and this was the really difficult part - implements reasonably good sudoku *generator*
The same PIC does the display driving, keyboard scanning, the works.
It is reasonably fast. 2/
Reposted by Hawkuletz
oh here we go. I had to search the birdsite for my thread where I cleaned it up and fixed the left bulb.
November 8, 2025 at 1:09 AM
oh here we go. I had to search the birdsite for my thread where I cleaned it up and fixed the left bulb.