1970s from NME

Markdown

NME made a good list of 1970s songs. Since I didn’t experience the 1970s myself, I can’t tell you how accurate this list is. I know that it’s subjective, but it was really fun to convert to a Youtube playlist and listen to. How did I do this? Well, see the bottom for some simple source code.

NME’s list of 100 best songs of the 1970s

Read more »

OPL2


Oct 3, 2020

I’ve been working on OPL2 code for a while now. I’ve started to understand at a level beyond what I could a few years ago. This is progress. What does it mean? Let’s discuss problem-solving in the context of OPL2 in 2020. I want to write a piece of software for the Intel X86 architecture. I want it to be below the kernel of the computer meaning that there is no operating system, no bootloader and if you’re really wild, only a single function needed from the BIOS. I wrote all this and there are bugs, but instead of focusing on those bugs, we’re instead going to look at just OPL2.

Audacity view of Qemu bug waveform
Qemu bug

If I were to get this code working on a host machine, our process of problem-solving would actually be a lot easier. Write more code and fix anything that comes up. Because testing on a host is one step more difficult than testing on a VM, I decided that most people would choose to use a VM instead of running my game on their host or a random piece of ancient hardware they have in storage. It is true of me, but I have an excuse. There is a debugger for my VM, Qemu but there is not one in my game’s kernel. That comes in mighty handy when things go wrong.

Read more »

Think 一緒に


Aug 22, 2020

Melody 1: C E♭ G F G
Melody 2: C E♭ G F G C G F C
Chords: C7 C7 C7 C7 C7 F7 F7 C7 C7 G7 F7 C7 C7
Bass: CCC_C_CCC_
Bass synchronizes with measure after 3 repetitions (4 measures) by resting 2 8th notes.
Bass variation: CCF_C_CCC_ used once on measure 10
Hi hat: 8 open 2 open 1 closed 5 open

So…

Read more »

Drum Attack 2

A quick piece of code for you and a bit of computer synthesized drums for you.

import itertools
a = list(itertools.product('^ox', repeat=8))
print(''.join([''.join(x) for x in a[:1000]]))

Drum Attack 2 output

Drum Attack 2 FLAC [501MB] torrent [magnet]
Drum Attack 2 16th notes midi
Drum Attack 2 8th notes midi
Drum Attack 2 sample FLAC
Drum Attack 2 sample Ogg Vorbis

Read more »

next »