Skip to content

Instantly share code, notes, and snippets.

View now-its-dark's full-sized avatar
🔍
always searching & ⭐️'ing interesting projects related to sound and MIDI

now_its_dark now-its-dark

🔍
always searching & ⭐️'ing interesting projects related to sound and MIDI
View GitHub Profile
@simondotm
simondotm / SN76489 tuning.md
Last active January 14, 2021 02:25
Retuning SN76489 chip tune music written for Sega Master System on a BBC Micro

We use Deflemask to author SN76489 chip music, for which support is aimed mainly at NTSC Sega Master System. We export these tunes as VGMs from Deflemask and then to get them working on a BBC Micro we have to do some shenanigans because the BBC version of the SN76489 has two key differences from the SMS:

  1. It is clocked at 4Mhz not 3.58Mhz
  2. It has a 15-bit linear-feedback shift register (LFSR) for noise channel generation (the SMS version has 16-bits).

Because the squarewave output of the sound chip is driven by its clockspeed, to transpose frequencies from NTSC to 4Mhz we have to adjust every pitch value sent to the chip registers. This is done mathematically by converting the NTSC pitch register value to Hz and then calculating the equivalent pitch register value on a 4Mhz clocked chip to deliver the same Hz frequency.

That bit is easy (ish).

The tricky bit is when musicians use the tuned periodic noise function on the chip to create basslines. In this scenario channel 2 pitch controls the pitch of t

@edro15
edro15 / ForceUSBtoTTY.md
Last active May 26, 2025 05:53
[How To] Force a specific USB device to a certain TTY

Scenario:

  • multiple USB devices plugged via hub to a host (Linux OS based),
  • multiple services/programs interacting with TTY running on top (e.g. GPSd)

Problem:

At boot TTY are randomly assigned to devices causing depending services/programs instabilities. They could indeed fail to start because of different TTY configurations.

Solution:

DX7

image

Note: One of the algorithms is incorrect due to a missing operator. Need to update the image. Will have to get on that soon.

These are the original 32 algorithms as used in Yamaha DX7.

The later Yamaha FS1R and Yamaha SY77 may have compatibility with these algorithms, but that's beyond the current scope. The FS1R contains 88 algorithms, while the SY77 contains 45 algorithms.

@bryc
bryc / YamahaFM.md
Last active December 8, 2025 00:29
Collecting info on Yamaha FM soundchips
@Pulimet
Pulimet / AdbCommands
Last active December 21, 2025 22:09
Adb useful commands list
Hi All!
I've recently launched a tool that wraps many of the commands here with a user interface. This desktop application is currently available for macOS. There's a roadmap outlining planned features for the near future.
Feel free to request any features you'd like to see, and I'll prioritize them accordingly.
One of the most important aspects of this application is that every command executed behind the scenes is displayed in a special log section. This allows you to see exactly what’s happening and learn from it.
Here's the link to the repository: https://github.com/Pulimet/ADBugger
App Description:
ADBugger is a desktop tool designed for debugging and QA of Android devices and emulators. It simplifies testing, debugging, and performance analysis by offering device management, automated testing, log analysis, and remote control capabilities. This ensures smooth app performance across various setups.
@paulhayes
paulhayes / Sun.cs
Last active November 23, 2025 11:15
Rotates a Unity directional light based on location and time. Includes time scale, and frame stepping for continuous use.
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Entropedia
{
[RequireComponent(typeof(Light))]
[ExecuteInEditMode]
@hsiboy
hsiboy / FastLED_DMX.ino
Created March 2, 2015 16:37
DMX control of neopixels, WS2811, WS2812 etc using FastLED Arduino Teensy3.1
#include <DmxReceiver.h>
#include <FastLED.h>
#define DMX_NUM_CHANNELS 15
#define NUM_LEDS 15
#define DATA_PIN 11
#define LED_TYPE WS2811
#define COLOUR_ORDER
#define CLOCK_PIN 13 // Clock pin only needed for SPI based chipsets when not using hardware SPI
@ryanchang
ryanchang / lldb_cheat_sheet.md
Last active October 14, 2025 23:58
LLDB Cheat Sheet

LLDB Cheat Sheet

A complete gdb to lldb command map.

Print out

  • Print object
(lldb) po responseObject
(lldb) po [responseObject objectForKey@"state"]
  • p - Print primitive type
@PyYoshi
PyYoshi / JCROMonIS01_20121021.diff
Created April 12, 2013 14:55
JCROMonIS01_20121021
--- kernel/deckard/arch/arm/configs/deckard_defconfig
+++ kernel/deckard/arch/arm/configs/deckard_defconfig
@@ -35,7 +35,7 @@
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="$(KERNEL_LOCAL_VERSION)-perf"
# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_SWAP is not set
+CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y