From what limited testing I've done, it also looked like apack is the better general purpose compressor, but zx0 seems to have a slight edge over the former when compressing beeper music data. Surprised to see that zx5 performs so much better than zx0 for Freezing Point.

Thanks. Yeah some of the newer engines chew through RAM like crazy. I'm still surprised to hear that it was such a tight squeeze. Would you share some more details on how you pulled it off in the end?

I remember seeing that article before somewhere. Like the video, too, very detailed and thorough, just like the article. I'd have some small complaints about some of the more in-depth bits on code and such, but overall it's very solid.

That's a nice package indeed. Such kick-ass tracks all around. And this makes me realize once more what an absolute wiz you are when it comes to echoes. During DiHalt voting phase those are always a dead give-away, haha. Also, I think Geostorm might be my new all-time favourite of your tracks.

180

(164 replies, posted in Sinclair)

Excellent, thanks a lot. I'm also glad to report that this version compiles out-of-the-box on Linux.

181

(130 replies, posted in Sinclair)

Nah, no first place for me this time, that was to be expected. I only had one day to spend on this, so didn't polish things up as much as I could have. So, congratulations on your well-deserved win, Shiru. Excellent work. Especially beating we with my own engine hahaha.

It was a very strong battle overall. Really like BioMech as well, that middle section with the fast arps sounds so slick. Surprising entries from AER as well, glad to hear some beeper from him again.

What about using Padauk PMS150c? Might make for a circuitry small enough to fit into an actual gift card.

Excellent article, thanks. I have a hunch this lsfr trickery could also be useful for 1-bit engine code.

ATTiny would be an interesting hardware emulation backend to support in Bintracker, actually. So Bintracker could serve as an editor for greeting card melodies, haha. Perhaps that's overkill for something this simple though.

184

(130 replies, posted in Sinclair)

Next DiHalt is coming up! Jan 6th-8th, with beeper compo as usual.

Random brainfart, maybe the 16 bits rom are mask values for some binary counter that is related to the pitch lut? ie pitch lut contains base init values for the lsfr for one octave, and the 16bit rom has something to do with selecting an octave.

Ha, I always wondered how those work. Nice read indeed, thanks for sharing!
The part about using LSFR to produce frequencies is most interesting. I tried to implement this idea in a ZX beeper engine once but didn't manage to reduce the overhead from needing to implement the LSFR in software down to a level where it would offer any advantage over just using 16-bit counters.

187

(4 replies, posted in Sinclair)

The pinnacle of modern 1bit music. Fantastic compositions with a very distinct and recognizable style, and an incredible amount of polish. Who'd have thought something like this was even remotely possible back in the late '00s.

I think the only demoparty with 1-bit music this year was DiHalt Lite. I also played 2 live shows this year, but nothing about them has shown up online so far. Still waiting for some videos for one of them.

Thanks for the information. Unfortunately it's a bit hard for me to follow zx-pk.ru, as google translate does not do a very good job translating the mostly informal language used there.

Is the 8080 source code available for these ports?

Also, first time I hear about Lvov PK-01. Found this emulator, is it any good?
EDIT: nevermind, seems it's also available in MAME. Hard to find documentation on the machine, though.

Haha, no, I can't take any credit for that discovery, you figured that out by yourself!

I've done some experimenting with using bit 3 for reverb. However, volume levels for bit 3 vary considerably between 48K board revisions (not to mention different models), so it's not really useful. Generally speaking, the output from bit 3 is low enough that it can be ignored for practical purposes. (It does cause problems for engines with a high volume resolution, but that's another story.) Anyway, the main reason you'll see bit 3 being used is because it costs additional cycles to mask it out. Povver is a typical example of this: Use of bit 3 is by no means intentional, but there is at least one location where I couldn't find enough cycles to mask it. Aside from that, some PFM-based engines use bit 3 in sync with bit 4 for a little extra volume boost. Alone Coder's BeepTracker engines do this, for example.

191

(19 replies, posted in Sinclair)

Meh, that's pretty bad news. But great you figured it out, thanks a lot for your efforts!

So basically any engine that doesn't mask bit 3 will be incompatible with the +3. Which is like, most of my engines yikes So I guess you better stick to Shiru's engines for now.

192

(19 replies, posted in Sinclair)

It's totally unclear to me what's going on here. Let's wait for Noel.

193

(19 replies, posted in Sinclair)

Very odd. This should toggle the border color every scanline, but seems it's actually running much slower?
Admittedly I'm pretty much out of ideas, so let's wait and see if Noel will be kind enought to run some tests.

194

(19 replies, posted in Sinclair)

Ah, crap. Here you go.

195

(19 replies, posted in Sinclair)

Damn. Could you try the attached .tap and post an image of the screen? Probably won't tell us much either, though.
You don't happen to know any other +3 user who could test this on their machine?

196

(19 replies, posted in Sinclair)

I see. Very strange indeed. Yes, sounds like it's running in contended RAM, but then it seems to run at pretty much the same speed as the 48K version!?! Well, let's first rule out contention issues. Could you export an .asm file from 1tracker, and post it here? (Or, if you want, assemble it yourself at 0xc000 and try it out. 1tracker's asm output works with sjasmplus.)

Also, have you tried with any other engines?

Yeah, that looks a bit nicer for sure wink Care to make a pull request on Github, with the updated fritzing file? Or, if you can't be bothered, just attach the .fz here.

198

(20 replies, posted in Sinclair)

The problem on Speccy isn't so much one of finding some free cycles to update graphics. In fact, in PFM and Phaser type engines, you can actually waste quite a few cycles with barely any drawbacks. However, on Speccy we have this thing called memory contention. Very simply said, if you write to or read from certain memory locations on the Speccy, additional wait states will be introduced. While it is possible to predict when those wait states occur, actually writing an engine that will work around these limitations is extremely challenging, so basically nobody bothers. AMP16 is currently about as good as it gets when it comes to running 1-bit code in contended memory.

I can't comment on the headphone amp, since I didn't make that. You'd have to get in touch with @salkinitzor. I can confirm it works, though wink

Watcha mean, the gerber files won't download? You can't download them from github?
Just grab https://github.com/utz82/HoustonTracker … master.zip and it should have all the stuff.