bobbicodes's Avatar

bobbicodes

@bobbicodes.bsky.social

Programmer ♾️ chiptune composer πŸ³οΈβ€βš§οΈ she/her Lisp, Clojure, 6502 assembly, Web dev Author of LispyTunes: https://codeberg.org/bobbicodes/LispyTunes Main channei: https://www.youtube.com/@bobbiCodes Music channel: https://www.youtube.com/@bobbiChips

94 Followers  |  61 Following  |  210 Posts  |  Joined: 22.11.2024  |  1.9185

Latest posts by bobbicodes.bsky.social on Bluesky

Video thumbnail

A/B test of identity phase locking in phase vocoder based time stretching algorithm.

This eliminates the artifacts typically introduced due to vertical phase discontinuities.

See the paper "Phase Vocoder Done Right" by Zdenek PruΕ‘a and Nicki Holighaus: arxiv.org/pdf/2202.07382

13.02.2026 08:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

"i have a theory: pasta companies assume you're going to walk away from the stove. they're building in a buffer for idiots..."

But wouldn't that mean they would have to reduce the time listed on the box, not increase it

06.02.2026 20:57 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A web page with a button to load an audio file, set of input fields for wave size, wave count and resample period and text area for the wave output data. Below it is a graph showing the resampled PCM data as a white line and purple shading for the N163 wavetable values ranging from 0 to 15

A web page with a button to load an audio file, set of input fields for wave size, wave count and resample period and text area for the wave output data. Below it is a graph showing the resampled PCM data as a white line and purple shading for the N163 wavetable values ranging from 0 to 15

Making an N163 resampler webapp
codeberg.org/bobbicodes/n...

03.02.2026 13:52 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Made it so you can add/remove code blocks for driver customization
codeberg.org/bobbicodes/n...

30.01.2026 19:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Made another big improvement to the live SID scopes.

The emulator now manages all the resampling and triggering in order to minimize the amount of data being sent between threads, and make the rendering as smooth as possible, at least for a webapp running in real time.

28.01.2026 14:48 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Finally finished adding Namco 163 support and hooking it up to the viewers
codeberg.org/bobbicodes/n...

24.01.2026 05:57 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

messing with the Super Mario Bros. music engine to put it in a minor key

22.01.2026 12:46 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Oh yeah and it means you can export songs right from Famistudio and play with them in here

18.01.2026 20:20 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Got the Famistudio driver working in the nerdy6502 editor. This opens up a lot of possibilities because it supports every expansion and is way more efficient, both in CPU and rom space

18.01.2026 20:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Kreutzer Violin Etude No.13 (SID)
YouTube video by bobbiChips Kreutzer Violin Etude No.13 (SID)

www.youtube.com/watch?v=Gz3n...

15.01.2026 13:05 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
es65 6502 assembler for the browser

Did a bunch of work on this, now has conditionals, and added a proper expression evaluator which supports all common operators.
codeberg.org/bobbicodes/e...

15.01.2026 04:46 β€” πŸ‘ 3    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

interesting that he chose to use an analogy of something that is socially accepted yet morally questionable at best

12.01.2026 03:01 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

If something is tedious, that's a signal that either:

1. There could be a better way to do it
2. Some tool* could be built to make it less shitty

This is how things improve over time

Having the task completed by magic means they won't

* One that operates using explainable logic and rules

11.01.2026 11:28 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

the Ben Eater video where he builds a SID player on a fucking breadboard and then generates Python slop to read the bytes in

the fact that he did it isn't even as bad as his need to announce that he did

05.01.2026 19:05 β€” πŸ‘ 17    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

it should be fixed now. thanks for spotting that!

05.01.2026 08:52 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Oh I see! I found the bug, it's actually a stupid syntax thing

05.01.2026 08:38 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A 6502 assembly instruction using the zero page y addressing mode.

A 6502 assembly instruction using the zero page y addressing mode.

Isn't that what I'm doing here in the fetch routine?
I've got the assembler code open now, so if there's a bug I'll try to fix it.

05.01.2026 06:48 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Stop filling scope buffers when too large The `drawGraphics` function runs in a `requestAnimationFrame` loop which doesn't run if the tab is in the background, but the oscilloscope buffers are continuously filled by the audio thread. This wil...

this was an easy fix! updating the live app now codeberg.org/bobbicodes/n...

05.01.2026 06:27 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

yeah for some reason once you step with the debugger the song gets out of sync, and I can't figure out why

04.01.2026 19:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

hmm it could very well be a bug in (or rather, unimplemented part of) the assembler, which is just barely past the toy-stage if I'm being honest

but I designed it to be easy to extend so it shouldn't be difficult

04.01.2026 19:31 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

oh I bet it's the scope buffers, because it's in a loop that stops rendering if the tab is not active, but the emulator keeps filling them up

04.01.2026 04:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I tend to save often and refresh the page if it starts acting up

04.01.2026 04:29 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

oh wait, it seems that one doesn't let you, lol

04.01.2026 04:24 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

you can also edit the section headings to match your subroutines. you just can't add any new ones, yet

04.01.2026 04:21 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Cover of Vegetable Valley from Kirby's Adventure (NES), to test my new DPCM implementation in Nerdy6502

04.01.2026 03:36 β€” πŸ‘ 13    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0
Nemesis, the Warlock - Rob Hubbard (SID)
YouTube video by bobbiChips Nemesis, the Warlock - Rob Hubbard (SID)

Finally wrapped up this cover www.youtube.com/watch?v=CgYv...
Project files: codeberg.org/bobbicodes/n...
#C64 #SID #chiptune

01.01.2026 11:24 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Improve debugger Improved, as in, it works now lol. - Added read, write, execute breakpoint checks in relevant instructions - Only checks if debug panel is open for performance when not debugging - Pause audio/cpu/sc...

Got the built-in debugger working which is super useful when composing in assembly
codeberg.org/bobbicodes/n...

01.01.2026 03:18 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It's hard to even tell at this point, but this is actually built upon my fork of the Bytebeat editor, which is why it runs so well

31.12.2025 10:56 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
NerdyPOKEY Editor

ok so this is actually useful so I pushed it live: bobbicodes.codeberg.page/NerdyPOKEY-e...

31.12.2025 10:44 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 3    πŸ“Œ 0
Video thumbnail

ok how about I just put the tracker in the program that works, lol

31.12.2025 10:40 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

@bobbicodes is following 19 prominent accounts