Pinned post

Introductions 

I don't know if the oldbytes instance is big on introductions, but if so, here goes!

I am a Seattle area nerd interested in the small internet. Back in the day, I spent a lot of time as a forum moderator, and I feel like social media has become much bigger, louder, and less interesting since then. Perhaps Mastodon does better?

I'm probably not going to post a lot, but if I do, it'll be about my adventures with dawless music production and doing strange things with old technology. During lockdown I have collected lots of new gear and am still working out how best to make tracks with it. and (mod, xm) are my home turf.

If you like to do musical things, and/or want someone to listen to your tracks, please by all means @ me.

psf boosted
psf boosted

@lewlepton @oleksiy @dried I forgot to mention that I actually have the whole archive on the web! So if you want to have a look, you can 😄

music.hcoder.org/music-monday/

More than teaching music theory, my goal was to demystify music theory a bit, and encourage people to pay attention to details in music and recognise things they probably had heard before.

Today I learned about GEORGE, a 1950s stack-based RPN programming language that precedes by a good ten years. Also, fun fact, it is Australian!

en.wikipedia.org/wiki/GEORGE_(

sunny downtempo, notes on workflow and creativity 

Here is a sunny little track with plenty of angel piano. This has been up on Soundcloud for a week or so, but here's the mp3!

This track exists because I am tired of sequencers. Drag n' dropping notes on a piano roll is where my creativity goes to die. Starting this , I gave up MIDI sequencing and fell back to internal sequencers for drums and bass. Everything else must be hand-played.

It's been limiting, because my keyboard playing is poor, and I've discarded the tools that I'd normally use to fix it up. But the limitations are fun. Learning a melody by heart inspires shortcuts that make it more organic. Human imperfection contrasts with the machines' tight, robotic timing. Even needing multiple takes means I spend more time playing and less time producing.

Hopefully the results are listenable, but regardless, it's way too fun just playing with a disorganized pile o' gear and seeing where it takes me.

psf boosted

OK, just set the #repository for the #CGA Redux to public.
I will continue the development out in the open.

It's a clone (or an attempt at one) of the original #IBM Color Graphics Adapter #ISA card.

Enjoy!
github.com/hkzlab/CGA_Redux

#retrocomputing #homebrewcomputing

psf boosted
psf boosted

using a modern computer on the internet is like you've got this amazing studio workshop library full of tools and stuff, workbench space all over the place, and you're gonna put it all to use any minute now - except you just can't stop staring out out one dingy window at these people screaming at each other in the street

psf boosted

exploring the Forth-LISP duality 

Anyone around here written a Forth with hot recompilation? (I don't know if that's the right name. What I mean is, if you redefine say, DUP, now all existing words in the program that call DUP will use your new version. Same idea as changing the appearance of Smalltalk scrollbars by patching the running image.)

I think token-threading would lend itself very well to the idea, by abstracting away the memory addresses of your words. Then changing DUP's behavior would be easy as repointing its token to the address of your new function. You could even veer into some very Lispy territory by garbage-collecting old words when they lose their token. (Although then you would need to store your words in something like a memory pool, instead of the traditional linear dictionary.)

Are there any examples out there, or is this gasp somehow an original idea?

Throwing a question into the void for any old hands - Does anyone know how single-segment COM files are loaded on IBM PCs with < 64K RAM installed?

DOS itself could run on machines with as little as 32K. The MS-DOS 2.0 Technical Reference specifies that COM files are loaded at 0100h and their SP initialized to FFFEh, providing 64K to the loaded program. But this couldn't possibly work if the machine itself had less than 64K.

For these machines, was DOS smart enough to start SP at the top of installed memory instead of at FFFEh?

forth screenshot 

Have a belated hello world. I don't know why I waited so long to implement strings....

forth, self-modifying x86 pitfalls 

I can't recall last time I spent so long debugging eight assembly instructions... and all because x86 has no "int [r8]" instruction (sigh)

Anyway, a previous revision of this code worked only when "intx" was stored at an even memory address. The reason is that even writes flush the instruction cache on 80186, while odd writes do not, and therefore a stale interrupt target is used. The solution? Add "jmp flush" to manually flush the instruction cache, as shown below.

INT:
push ax
mov ax, [bp] ; get X, top item on stack...
mov byte ptr [intx], al ; ...modify code to call interrupt X
jmp flush ; ..."useless" jump flushes instruction cache
flush: ; (see Agner: optimizing_assembly.pdf)
pop ax
db 0cdh ; "int"
intx: db 03h
sub bp, 2 ; pop X from stack
ret

In related news, I'm finally able to interact with DOS and the video BIOS!

These two make a good team.
I just need to get SLIP going, to let the CHIP bridge the 200LX to wifi.

Stupid trick: cable it up to a USB audio interface. Presto, now you have a tiny multitrack audio recorder!

psf boosted

In this episode Chief O'Brien repurposes the station's computers to mine bitcoin but also finds an unexpected love.

Introductions 

I don't know if the oldbytes instance is big on introductions, but if so, here goes!

I am a Seattle area nerd interested in the small internet. Back in the day, I spent a lot of time as a forum moderator, and I feel like social media has become much bigger, louder, and less interesting since then. Perhaps Mastodon does better?

I'm probably not going to post a lot, but if I do, it'll be about my adventures with dawless music production and doing strange things with old technology. During lockdown I have collected lots of new gear and am still working out how best to make tracks with it. and (mod, xm) are my home turf.

If you like to do musical things, and/or want someone to listen to your tracks, please by all means @ me.

OldBytes Space - Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!