Negative Charge's Avatar

Negative Charge

@negativecharge.bsky.social

Retro-musician, 8-Bit, 6502. Mainly creating music drivers, players and conversion tools from 8 & 16-bit sound chips to the BBC Micro’s SN76489 and Acorn Electron’s ULA. ⎍∧∿⩘

294 Followers  |  110 Following  |  101 Posts  |  Joined: 17.08.2023  |  1.8901

Latest posts by negativecharge.bsky.social on Bluesky

I think the best way is to decode the whole file and compare the output with the original, uncompressed version. If I find time I’ll give that a go. Your code is significantly different from DMSC’s original with the use of the buffer offset, so not easy to compare directly.

02.10.2025 18:59 — 👍 1    🔁 0    💬 1    📌 0

Ah, okay. I’m using the original code I linked to from DMSC. check_end_song looks correct to me there unless I’m missing something?

02.10.2025 06:05 — 👍 1    🔁 0    💬 1    📌 0

Thanks! Trying to locate the issue in the original code. Is your fix the addition of the bne and bcs here?

github.com/dmsc/lzss-sa...

02.10.2025 05:27 — 👍 1    🔁 0    💬 1    📌 0
Video thumbnail

I've released a beta of the first BBC Micro David Whittaker Music Disk here: www.stardot.org.uk/forums/viewt...

Looking to get some feedback on compatibility with real hardware before I publish the final version to my website. Still may be one or two small bugs to fix.

28.09.2025 17:34 — 👍 10    🔁 1    💬 0    📌 0
Video thumbnail

I now have the ability to use 16kb of main memory if no SWRAM is present on the device, so those without at least get to hear songs that fit into that space and partial songs from those that don't. This also works for songs where you don't have enough SWRAM banks to fit the whole track.

22.09.2025 16:19 — 👍 8    🔁 2    💬 0    📌 0
Video thumbnail

Getting closer to releasing a whole batch of music disks I've put together for the BBC Micro. Spending some time on cycle-optimising the music driver as even two or three cycles make a difference when called in the main play loop. At the moment it requires SWRAM - about to fix that...

14.09.2025 09:49 — 👍 15    🔁 4    💬 0    📌 0
Video thumbnail

Here's a hint where I'm going with this sample sequencer. I've moved the playback loop to zero page and leave the WE (write enable) active which allows output of 16kHz samples (although memory becomes an issue). Need to combine this with my SN76489 conversion of the SID.

13.09.2025 09:44 — 👍 16    🔁 1    💬 0    📌 0

It's mightily impressive. Chris is the master. I've something slightly different in mind... sample playback alongside SN playback.

09.09.2025 13:06 — 👍 2    🔁 0    💬 0    📌 0
Video thumbnail

Just a little something I'm working on. This is RLE encoded for fast playback, but I'm sure I can compress the samples better to fit more in memory / SWRAM.

08.09.2025 19:47 — 👍 17    🔁 4    💬 3    📌 0
Video thumbnail
31.08.2025 18:26 — 👍 7    🔁 2    💬 1    📌 0

Sound chip you say? 😊

Unlike the BBC Micro, the Acorn Electron has no dedicated sound chip. It simply has a counter built into the system's ULA that can be programmed to drive a speaker as a primitive square wave generator with two volumes - on/off.

19.08.2025 16:53 — 👍 3    🔁 0    💬 1    📌 0
Video thumbnail

Some further progress! The ROM version of Speech! is now working on the Acorn Electron. The speed difference, and hence the quality of the sound, is quite dramatic.

Hopefully that's the whole disk and demo programs converted now. I'll package this up properly and post a link on Stardot.

19.08.2025 16:48 — 👍 33    🔁 4    💬 4    📌 2

It really just increases the pitch, so that would need to be adjusted on the SWRAM version if I can get that to work. The audio quality is mostly affected by the 4-bit samples that play on two channels on the Beeb being reduced to a 1-bit threshold on a singlr channel with no volume control.

16.08.2025 10:40 — 👍 2    🔁 0    💬 0    📌 0

Yes, I think further change is required to the BBC code. When I get some time I’ll investigate. There’s also no optimisation of the original code except for reducing two delay loops.

16.08.2025 10:30 — 👍 2    🔁 0    💬 1    📌 0
Electroniq Acorn Electron emulator

Acorn Electron Speech!

Here’s a work in progress build for you all to try on @0xc0de.bsky.social ’s excellent emulator.

Not sure the SWRAM version works yet, so load option 1, then CHAIN “DEMO” or reboot the disk.

0xc0de6502.github.io/electroniq/?...

16.08.2025 09:56 — 👍 10    🔁 0    💬 3    📌 0

Nice job! Hope the driver wasn’t too painful to work with. I must give the conversion another go at some point. I’m pretty sure I can get it to sound better.

13.08.2025 21:22 — 👍 3    🔁 0    💬 1    📌 0
Video thumbnail

Getting better... here's the official Speech! demo converted to Mode 6 on the Acorn Electron. This is still just using main memory. No speed up from SWRAM yet.

13.08.2025 20:45 — 👍 15    🔁 3    💬 1    📌 1

It’s already sounding better in my latest build. The original code contains a delay loop for the sample playback, which when halved sounds a lot better. Still many cycles to reclaim though.

13.08.2025 08:44 — 👍 2    🔁 0    💬 0    📌 0

Thanks. No, this is from main memory. Had to relocate it as the Beeb version uses memory close to the start of Mode 7. I’ll compile an SWRAM version soon to see if it makes any difference.

13.08.2025 04:21 — 👍 1    🔁 0    💬 0    📌 0
Video thumbnail

Well... it sort of works 😊

A lot of optimization needed, but I have a full disassembly that compiles to a byte identical binary and is relocatable. Speech! on the BBC Micro uses 4-bit values for attenuation, which I have to reduce to 1-bit on the Acorn Electron so quite a bit of fidelity is lost.

12.08.2025 19:50 — 👍 23    🔁 5    💬 4    📌 0

Not tried SWRAM on the Electron yet. Hopefully the code is similar enough to the BBC Micro implementation. I’ll have to research.

02.08.2025 11:26 — 👍 4    🔁 0    💬 0    📌 0

A release soon 😊. Still finding uninitialized memory bugs causing random crashes... but getting there...

02.08.2025 06:57 — 👍 14    🔁 1    💬 1    📌 0
Video thumbnail

So, three double sided disks of tracked music conversions to the BBC Micro's SN76489 are ready. Just testing that I've fixed the random crash in the player when switching tracks, and then I'll put them up on my website. Works on both Model B and Master, but requires several banks of SWRAM.

13.07.2025 15:25 — 👍 5    🔁 1    💬 1    📌 0
Video thumbnail

I've always wanted to put together a simple demo effect with some background music. I've never got around to this until now. Probably the most basic Sinus Scroller you'll see, with character based positioning. Hopefully I'll improve this over time and use bitmaps. Might even add a starfield :-)

30.06.2025 16:26 — 👍 12    🔁 3    💬 0    📌 0
Video thumbnail

...and here's an attempt on the Acorn Electron. There are additional timing differences to be resolved, but it's basically working.

21.06.2025 09:39 — 👍 9    🔁 0    💬 1    📌 0
Video thumbnail

Back in 1987, Your Sinclair published a type-in listing by Tim Follin titled Star Tip 2. It was a 1-bit beeper tune. Recently David Given ported this to 6502 assembler for the Commodore PET. Hence porting this to the BBC Micro was straightforward. It's not perfect, but I'll continue to tune it.

21.06.2025 09:06 — 👍 17    🔁 5    💬 1    📌 0
Video thumbnail

I'm back looking at 1-bit music engines again as I want to port a few others over from the Z80. First I thought I'd revisit the SquatM engine and see if I could optimise it. The first improvement was to get the sound playing on all three tone channels of the BBC Micro's SN76489.

16.06.2025 16:55 — 👍 17    🔁 5    💬 1    📌 0

Yes, I realised that after I posted. Makes a lot more sense too 😊

16.06.2025 14:48 — 👍 1    🔁 0    💬 0    📌 0
Video thumbnail

An SN76489 conversion of a new @h0ffman.bsky.social track from @gordon.plus's Oric demo, No Sleep 'Til Budleigh - 2nd in Old School Demo at Nova 2025.

As this was converted via the Euphoria emulator in DOSBox, it won't sound 100% accurate (easier to convert .pt3 files). demozoo.org/productions/...

15.06.2025 19:25 — 👍 18    🔁 4    💬 3    📌 0
Video thumbnail

Another bug squashed, and now the player is working consistently on the BBC Micro and BBC Master without screen corruption or crashing. Need to soak test it for a few hours, but close now to releasing two double sided music disks of demo scene conversions.

10.06.2025 19:43 — 👍 4    🔁 0    💬 0    📌 0

@negativecharge is following 20 prominent accounts