Lol, was too lazy to add a keyhandler, cause I thought nobody would use this anyway
Pushed an updated version with keyhandling to github. Source is for Pasmo assembler, btw.
226 2021-01-24 15:25:46
Re: utz' beeper engine releases (5 replies, posted in Sinclair)
227 2021-01-14 23:46:45
Re: 1tracker v0.47 (164 replies, posted in Sinclair)
Yay for new docs, and for Robin. Does that one predate Tim Follin's first engine, actually?
SquatE engine still segfaults on entering a note. It does not segfault in v0.29, so the bug is somewhere in 1tracker itself, not in the engine.
./instrument_editor.h:646:187: error: use of undeclared identifier 'FALSE'
...set_input_string(instrumentGuiParamXOff, instrumentGuiList[instrumentGuiCursor].y + PATTERN_YPOS + 1, instrumentGuiList[instrumentGuiCursor].max_len, MODE_INSTRUMENT_INPUT_DONE, FALSE, (char*)&module.instrument[curInstrument].data[...
Should be "false", I suppose?
Also, gui.h:72, char is always < 128, so the "||c>=128" is redundant.
Compiler is also throwing a lot of warnings about strncat ("the value of the size argument in 'strncat' is too large, might lead to a buffer overflow"), doesn't seem to be an actual problem though.
228 2021-01-10 13:10:59
Re: utz' beeper engine releases (5 replies, posted in Sinclair)
ud - Ultimate Drum Synth
Added one to the collection of reusable click drum routines. This one can mix tone slides (kick/tom) and noise. Pitch and volume control for everything. Unlike the "kick" routine, the kick synth in ud uses only exponential pitch decay, but the decay speed can be controlled. 16-bit tempo control, because why not.
The source code can be found in the CLICK_DRUMS directory on my 1-bit engine github repo.
229 2021-01-10 13:01:39
Re: upcoming beeper compos (130 replies, posted in Sinclair)
Ok, thanks. Let's hope he'll discover some more advanced engines eventually.
230 2021-01-09 15:44:28
Re: Dubstep generator (6 replies, posted in Sinclair)
I've been wondering for some time if there is a way of replacing the usual 16-bit frequency counters with an LFSR or something of that sort. Feels like such a waste to spend 4 registers on a simple counter every time.
231 2021-01-09 15:37:55
Re: upcoming beeper compos (130 replies, posted in Sinclair)
Thanks! That was some very strong competition from you guys. Listening again, I think "Repeating Itself" is actually my favourite from this compo. And yup, I was likewise a bit puzzled by "who the hell is trying to beat me at Squat", but the "author's comment" was a give-away. Now who's hellraver, though?
232 2021-01-07 23:54:58
Re: Welcome to the 1-Bit Forum (aka The Introduction Thread) (49 replies, posted in General Discussion)
Did you check out AMP16k already?
233 2021-01-07 23:42:11
Re: Dubstep generator (6 replies, posted in Sinclair)
Ah, yes, Serzhsoft delivers, as usual. Thanks for reminding me about that one, I forgot to check that out when it was released!
234 2021-01-07 19:04:28
Re: Dubstep generator (6 replies, posted in Sinclair)
Sounds surprisingly nice for being so simple.
start
ld b,1
ld hl,#4000
loop
ld a,(hl)
add a,b
ld b,a
ld (hl),a
out (#fe),a
inc hl
ld a,h
cp #58
jp nz,loop
jp start
Could've easily shaved at least 3 bytes off, though
I still would like to see a bytebeat interpreter for beeper one day. Or rather, bitbeat... I don't see how it could be done though, considering the thing needs to run in constant time.
235 2021-01-07 15:33:26
Topic: utz' beeper engine releases (5 replies, posted in Sinclair)
Should've done this much earlier, I guess, but anyway: This will be where I announce my new engines from now on, instead of spamming the board with a new thread every time.
So, here we go, first new Speccy beeper engine of 2021. Basically this one is just wrapping up my recent experiments with PD synthesis. Might still tweak things later on, but for a simple proof-of-concept it's good enough as is methinks. No converter for now, though of course it'll be available in Bintracker sooner or later.
Aczidbox
Aczidbox is a 1-bit sound engine for the ZX Spectrum beeper. It implements a simplified version of Phase Distortion Synthesis, as introduced by the Casio CZ range of synthesizers.
The two tone channels each feature a 16-bit base oscillator and a LFO-controlled 12-bit resonant oscillator. Channels each use 7 bits of volume information internally, which are reduced to 4 bits for the final mix.
3 different configurable click drum modes are available: synthesized kicks, synthesized noise, and PWM sample playback. Drums interrupt tone playback.
The core synthesis runs at 7812 Hz (double 224 cycle loop).
The source code is available on github, as usual.
236 2020-12-28 00:46:06
Re: next gen engine ideas (135 replies, posted in Sinclair)
Horray, got it working in 2 channels, with lfo-controlled resonance. That was surprisingly tough. Sadly, no room for a low-pass. It's also fairly noisy when mixing 2 channels. Will try to get it a little cleaner than this, though I'm slowly running out of ideas.
237 2020-12-26 20:23:22
Re: next gen engine ideas (135 replies, posted in Sinclair)
Yes, was thinking the same thing. What I'd really want is to have some sort of an lfo-controlled lo-pass. A simple FIR lo-pass at a fixed cut-off is fairly easy to implement, but I haven't been able to pull off a variable cut-off in constant CPU time. Maybe could be done with another table lookup but I'm currently already short one register pair for implementing the second channel.
238 2020-12-26 16:46:58
Re: next gen engine ideas (135 replies, posted in Sinclair)
Cooking up some new stuff. Seems like I've got phase distortion synthesis working. Not entirely sure if I got the maths correct, but it sounds interesting at least.
239 2020-12-24 13:27:26
Re: BK-0010 (9 replies, posted in Other Platforms)
Alright, with that I was able to load the program (no autotyping S1000 but whatever). Now what? I can move around in the menu. INIT and EXIT do something. I gather Q should exit from the menu, but nothing happens when I press that. No other keypress seems to do anything. Overall the program is extremely sluggish, barely reacting to keypresses. Is it the prog itself, or the emul? Before starting klavesin, it's pretty responsive though.
Will have to sit down again with this in a couple of days, when I have more time.
240 2020-12-23 20:19:29
Re: BK-0010 (9 replies, posted in Other Platforms)
Hm, it compiled without a problem, and generally it seems to work. However, when I load klavesin.bin and press any key, it puts garbage on the screen and then crashes (hangs with 100% CPU usage). Does that happen with the Windows version? Am I supposed to press a specific key? If I run in FOCAL mode, I get some error message instead.
241 2020-12-23 18:46:02
Re: BK-0010 (9 replies, posted in Other Platforms)
I don't have a working Windows anymore so need to find another way. Managed to get the machine to work in MAME. However, that will only accept tape images. Any idea what would be needed to convert klavesin to the appropriate tape format? And how to load it? Otherwise I can inject the bin into memory via the Lua console, but that'd be a bit tedious and I'd need to know the load address.
Does register 177716 do anything else besides driving beeper/tape? Otherwise it might be quite easy to fake some pcm on the machine.
242 2020-12-23 14:20:58
Re: BK-0010 (9 replies, posted in Other Platforms)
How is the beeper accessed on this one? Direct like on Spectrum?
Also, how compatible is it with PDP-11? Iirc there were various music programs for the PDP-11, would be interesting to know if some of these work on BK-0010.
Also, I faintly remember there being a port of Tritone for it, or was that another machine?
243 2020-12-18 15:03:55
Re: Welcome to the 1-Bit Forum (aka The Introduction Thread) (49 replies, posted in General Discussion)
I'm not sure what you're trying to say. If you want you can write in Dutch, then I'll translate.
244 2020-12-18 15:00:49
Re: 1-bit on the Vtech Laser210/310 and VZ200/VZ300 Z80 computers. (42 replies, posted in Other Platforms)
Good work! But indeed I think you've got a bug somewhere, sounds like several notes are missing to me.
245 2020-12-14 19:31:26
Re: Welcome to the 1-Bit Forum (aka The Introduction Thread) (49 replies, posted in General Discussion)
Hoi Crisis, welkom Weren't you also experimenting with beeper sound on 16K/contended memory a while ago?
246 2020-12-14 19:28:32
Re: PETs Can't Keep Dying by AYCE (13 replies, posted in Other Platforms)
Done: https://github.com/mamedev/mame/issues/7559
Can't upload the .prg there, cause github managed to break file uploads from ff on linux again.
247 2020-12-14 19:25:33
Re: TwinCh engine demo (10 replies, posted in Sinclair)
I think the approach is interesting. It could indeed produce very compact data. In theory Bintracker could support such a format (though at this point it's still missing various required bits here and there). The interface would not reflect the data structure at all though. It'd still be just a normal tracker interface and then conversion to the actual format would be done by the compiler/optimizer. I even have reasonably accurate scale/mood recognition working, though it's just a very simple proof-of-concept at this point.
One problem I see though is that this format optimizes for a certain style of writing the music. Someone who doesn't care about time signature and/or mood might not benefit from size savings as much. Then again, the chance that someone is going to write dubsteb with that thing isn't that high I guess.
248 2020-12-13 21:36:00
Re: PETs Can't Keep Dying by AYCE (13 replies, posted in Other Platforms)
However, MAME's SR produced pitch is twice higher than it should be.
Ugh. Do you want me to file an issue against MAME? Occasionally folks there are pretty quick with fixing stuff. I'd need some sort of "proof" though.
249 2020-12-13 21:26:25
Re: TwinCh engine demo (10 replies, posted in Sinclair)
Wow, these sound really good.
What's your idea regarding a new song data format? Sure, 16K is pretty big I think generally it's not necessary for beeper data to be super optimized, though. Usually things compresses quite well with common compressors (zx7, apack, etc).
250 2020-12-11 12:36:08
Re: In-game (during gameplay) music (20 replies, posted in Sinclair)
Welcome back, mate! Looking forward to what you will come up with. If you have any questions we're here to help, of course.
I think Hikaru's new AMP16k might be interesting for you to study as well. Generally, the "Squeaker" method used there is a good candidate for in-game music because its CPU requirements are not that high, and it tolerates some deviance in timing as well. Though pin-pulse like synthesis like in Qchan should work well, too.