(hide navigation)
  • Swedish content
Fund my projects
Patreon
Steady
Forum
Register
Log in
Latest comments
Syndication
RSS feed
Feedback

Forum comments in chronological order

Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.

Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.

Apr 2025

Nine

AtoMick-u235
Mick Bartram (UK)
Sun 6-Apr-2025 11:56
Hey, Phil gave me some tobacco Thursday, and it had some pot in it, I got a bit stoned and watched NINE for the first time, and it took on a pot induced spiritual meaning, , ha ha - Here are our songs, and a couple of CHIPTUNES on my mini webpage

I just put the NINE MP3 and VIDEO on my page !!, , And Oh yeah, the SID drum, , the best sounding C64 drum i've ever heard in 41 years, , , ha

https://www.micks-sci-tech-portal.co.uk/BCS/BC.html

Autosokoban

Anonymous
Mon 7-Apr-2025 16:38

lft wrote:

Thanks for reporting! I don't think it was exploitable, but I've tightened it now anyway.

I hope you’re doing well. I recently discovered AutoSokoban on your website and found it fascinating. I’m currently working on a university project focused on AI-driven procedural level generation for Sokoban, and your work aligns closely with my research.

I understand that the source code hasn’t been published yet, but if you’d be willing to share it, I would greatly appreciate the opportunity to study and learn from it as part of my project. Even a high-level explanation of the algorithm would be immensely helpful.

Please let me know if this would be possible. Thank you for your time, and I truly appreciate your contributions to this field!

Nine

Anonymous
Mon 7-Apr-2025 16:59
Hmmmm, just thinking of how LFT timed it, the numbers leaving\entering the hat is spot on with the beat of the tune, , and the general animation, , , He must of used the note data as some kind of reference ? !!

Haha, , the swirling spirits don't adhere to the laws of motion, they do the opposite and speed up as the circle widens, , ,

Nine Explained

AtoMick-u235
Mick Bartram (UK)
Sun 13-Apr-2025 13:46
Hey LFT, , can you explain = i was just thinking of how you timed it, the numbers leaving\entering the hat is spot on with the beat of the tune, , and the general animation, , ,

You must of used the note data as some kind of reference ? !!
lft
Linus Åkesson
Thu 17-Apr-2025 12:34

AtoMick-u235 wrote:

Hey LFT, , can you explain = i was just thinking of how you timed it, the numbers leaving\entering the hat is spot on with the beat of the tune, , and the general animation, , ,

You must of used the note data as some kind of reference ? !!

Well, yes and no. The song position does indeed trigger certain transitions in time with the music. But that isn't the whole explanation:

Normally on 8-bit systems you work with tables of 256 entries, for instance to represent sine curves. In this demo I chose something that was divisible by nine instead: My sine tables are 252 entries long, which is 9x28. To get a reasonable speed for the big rotating circle, I ended up going through the table two steps per video frame, which gives one whole revolution per 126 video frames. Thus, a digit moves to the "next position" in 14 frames.

To guarantee a good music sync, it was then natural to use tempo 7 as a basis for the music. This means, simplified, that new notes can be played every 7 frames. Since the music is in 9/8 time in groups of three notes per beat, that gives 21 frames per beat. In beats per minute, that's 60*50.12/21 = 143.2 bpm.

However, when the digits appear from the hat, each new digit must fill the slot immediately after the previous digit, and by that time the great circle has rotated 10/9 of a revolution. That is 252*10/9 = 280 frames later than the previous appearance. In tempo 7, that's 280/7 = 40 steps in the music. And so, for that part of the music, I went for a theme in 5/8 time. You can hear that the ostinato is a repeating motif of 20 quick notes; the motif repeats twice per digit, giving exactly 40 notes per digit.

I hope that gives a bit more insight into the process!
lft
Linus Åkesson
Thu 17-Apr-2025 12:38

Stein wrote:

Fantastic! I have only one question: Did you actually create a cross-stitch embroidery of the idle pattern for this write-up?

The thought did cross my mind, but I was lazy. =) I took a photo of an existing embroidery, cut out "on" and "off" squares and made them tileable in gimp, and then I wrote a program to create a mosaic from a given picture.

Kaleidoscopico

yrlf
Ferdinand Bachmann
Fri 25-Apr-2025 10:29
That's a great writeup and an amazing demo framework!

The idea of using bit reversal and PIO code addresses as a color lookup table is *genious*! That seems much more flexible and allows for nice paletted framebuffers that don't explode the RAM while still giving you lots of freedom. There a so many different mode ideas, but this one just seems really useful for demo effects. Back when I made my demo, I experimented with run-length encoded full-color modes (used in my demo pico4k) or 1-bpp black and white modes (hello bad apple, done via decrementing black to get white), but couldn't figure out how to do a palette.

I also found it interesting how you did vsync and hsync via gpio role switching and PWM, that must have been tricky to time right, but is probably better than the dedicated interrupt and PIO fifo for line timings I had in my demo. That one ate too many cycles at unpredictable points in time.

Simulating a copper-like thing on the second core is also really nice, since it probably makes writing the effects more similar to oldskool platforms.

I'll definitely try and see what I tricks I can build with the extra ideas from this one whenever I make another pico thing.

Thanks!

PS: have you tried how fast you can overclock the RP2350? The RP2040 can go as high as 420MHz in my testing without getting warm, and as far as I see, the PIO, GPIO, and PWM can keep up, but the flash needs to be clock-divided or left unused. Could potentially be fun for some mind-bogglingly complex effects that would be too cpu-intensive for the pico otherwise.
maxon
Manu Järvinen
Fri 25-Apr-2025 12:49
With everything you do and publish you've managed to get me enthusiastically study the inner workings of computers even though I'm a mere graphics artist :)

Planning to make a children's book about CPU and how mere electricity and transistors (pretty much) makes stuff happen. Very detailed, something that has never been done before, I feel. Just to explain things as simply as possible BUT not too simply!

Also very excited about RISC-V, which makes me to study this post like a bible :)
Open-source hardware forever!

manu@gearnoodle.com
Anonymous
Sat 26-Apr-2025 02:39
This is truly genius and a fantastic progression from your Atmel stuff of years ago.

Very impressed you used the RISC V cores as the stuff I've done on bare metal has been in ARM asm.

Love to see the full source - all 17,000 lines of it without having to resort to disassembly. Although it's definitely one way to learn a new instruction set architecture!

AndyG