It is easy to change pitch, the converter calculates frequency table in runtime, deriving it from 3500000 Hz clock frequency. This value is valid for russian clones, but obviously a bit off for original 48K or 128K models. The problem is that Tritone was made so long back, so its XM converter was in C, and it takes a recompile to change that. Later engines had a Python converter that is easier to modify.
2 2024-12-24 16:42:27
Re: 1tracker v0.47 (166 replies, posted in Sinclair)
Good, will include it into a next release.
3 2024-09-19 08:32:57
Topic: A pin beeper engine on ESP32 (0 replies, posted in Other Platforms)
An interesting approach to the same problem with whole different tools and mindset:
https://habr.com/ru/companies/timeweb/articles/835798/
The article is in Russian only, and I can't get Google Translate to pick it up by some reason, but many example sounds are there.
4 2024-09-04 16:53:06
Re: New engine: QChan24 and QChan25 (5 replies, posted in Sinclair)
Actually second version is already here, along with minor fixes for the first one.
So, here is two flavors of the engine: QChan24 and QChan25. The difference is that it has 4 or 5 channels. The sound generation algorithm is the same, but the implementation is quite different. QChan25 obviously has a bit lower sound quality and takes even more memory to store song data.
Will include it into the 1tracker package after some testing.
5 2024-09-04 07:48:21
Topic: New engine: QChan24 and QChan25 (5 replies, posted in Sinclair)
Fresh and hot, just finished the first fully working version. Not tested properly, tho!
- Per note envelopes, attack/decay/sustain types
- Per note volume, detune, legato mode
- Slide up/down for ch1
- Digital drums from Ear Shaver EX
The downside is much larger data format.
Not done with it yet, another flavor of the engine is cooking.
6 2024-08-30 12:33:10
Re: Electric B12 (new beeper tune) (6 replies, posted in Sinclair)
QChan is a tough engine to master with its weak low end, and AtariTufty certainly is the black belt master.
I really like how this single-pin approach in QChan managed to maintain many of the Follin's multi-pin qualities without the vacuum cleaner background drone, it was a happy accident rather than a conscious design back then.
Maybe it is time to give it some small update, tho? Sampled drums perhaps?
7 2024-08-30 12:25:57
Re: Retro Heist - Beeper tune (4 replies, posted in Sinclair)
Normally intro speech samples located in the temp game buffers (like, off-screen buffer), so it is an one-off deal, while the music plays every time in the main menu.
8 2024-05-03 18:29:54
Re: upcoming beeper compos (135 replies, posted in Sinclair)
Another compo is nearing: Quantum Oscillation Party
This is a weird one, but may be a nice fit for the beeper: noise art. Includes an oldschool computer noise music, which is music made of noises. Seems to be a good case for the noise channels in our beeper engines, if you're in the experimental mood.
9 2024-05-01 20:15:42
Re: upcoming beeper compos (135 replies, posted in Sinclair)
Three sample channels is a good thing, but I think we need to intermix simple timbres such as the regular square wave or pin-tone with samples of a long duration that lasts for a few rows - drum pieces, some instruments. The problem is that to get a clean square wave it either needs to be encoded for a long length (maybe a pattern even), or some kind of sample looping considered, which is cycle-expensive.
10 2024-05-01 10:15:28
Re: upcoming beeper compos (135 replies, posted in Sinclair)
I was thinking about a Sqeeker-type engine with two pitchable non-interrupting sample channels. At least a couple tone channels wouldn't hurt, and the pitchable samples that can tune in to proper notes should open up a whole new lot of possibilities.
11 2024-04-30 20:11:09
Re: upcoming beeper compos (135 replies, posted in Sinclair)
Great work everyone! Congrats to utz! The sampled sounds are so clean and punchy in this one.
12 2024-04-29 19:06:52
Re: upcoming beeper compos (135 replies, posted in Sinclair)
No voting results yet, but it is sure a win in the engine diversity category this time. Like, each of the six entries used a different engine, including some of the lesser used. Neat!
13 2024-04-26 13:45:49
Re: upcoming beeper compos (135 replies, posted in Sinclair)
I'm in. Got some older stuff finished for ya.
14 2024-04-25 05:11:31
Re: 1bitstudio - a bundle of VST plugins (27 replies, posted in Other Platforms)
Actually, a bigger update. All plugins were cleaned up and updated. The output levels normalized between all plugins (were all over the place), all synths got the modulation setting (depth, speed), some got extra velocity or modulation targets.
Legacy code is dropped out, so a bit of incompatibility with the older versions got introduced, so use old builds for older projects.
15 2024-04-22 06:57:32
Re: 1bitstudio - a bundle of VST plugins (27 replies, posted in Other Platforms)
A small update:
- sweepsynth got wrap around options and expanded sweep speed range
- pulsesynth got a few extra oscillator mixing options, much similar to Phaser4
16 2024-02-17 15:52:29
Re: Jupiter Ace (6 replies, posted in Other Platforms)
Heh, the more fun is that Sol-20 Music System has been 'borrowed' for the RK86 back in 1988, and published as a hex dump in a paper magazine. It is even still called Music System (MS 3.2).
17 2024-02-17 14:12:50
Re: new engine: PhaserF (5 replies, posted in Sinclair)
I expected the challenge to be the flexible channel layouts and PWM drums, but in fact yeah, I forgot I already handled such configurations. However, there is a less expected issue, both ulasyn and phaserF use a macro to calculate their filter tables. My assembler is certainly not up to parse that, so I guess, I'll have to offload table generation into the engine script. Anyways, seems to be doable.
18 2024-02-17 09:34:29
Re: Jupiter Ace (6 replies, posted in Other Platforms)
Oh my, I actually never thought it could be done this way, via in/out. Never looked up ZX81 either, as I expected it to be just a regular output register.
So I guess they're connected tape output just to the IOWR, because it is the only writable I/O port, and thus saved a trigger/register. And when extra devices with writable ports added, you'll get a buzz on the tape output when they're accessed.
Another weird method of controlling a speaker is found in the 8080-based Soviet DIY computer RK86. It lacks any interrupts whatsoever, so EI/DI control the speaker.
19 2024-02-06 03:52:04
Re: new engine: PhaserF (5 replies, posted in Sinclair)
Still, it is very impressive. I wouldn't say the sound quality is any bad, we've had worse, and it is certainly on a new level.
This one feels to be tough to make into 1tracker, but anyways, I'll try.
20 2024-02-05 00:49:42
Re: new engine: ulasyn (9 replies, posted in Sinclair)
I'm certainly up to try to implement the 1tracker version, just waiting until it get settled down with the features.
21 2024-02-01 18:03:45
Re: A virtual 1-bit hardware proposal, 1-BOY (9 replies, posted in Other Platforms)
The cheapest I found locally as a DIY module is $7.7, and it is about the same at AliExpress, from China. Yeah, a bit on the expensive side, but luckily, it is easy to replace with the classic S series (a regular ESP32 with the Xtensa LX core), which is cheaper. The 1 euro is likely was a bulk order price for bare chips, not modules.
Anyways, I got a couple to try it out and see how fast they are for this application. There are two resource heavy things: LCD/TFT/OLED screen update, which is done via SPI (serial), and the VM/emulation core, which is going to be simpler than for a proper emulator, but still, lots of RAM fetches. It will define how fast the virtual Z80/6502 is going to be, and I guess it needs to be at the least a double-triple of the regular Spectrum speed to make the idea feasible, more the better.
22 2024-02-01 04:01:25
Re: A virtual 1-bit hardware proposal, 1-BOY (9 replies, posted in Other Platforms)
Here is an updated draft v03. I picked up some ideas from conversations with friends, so the thing shapes up nicely, into something that can offer not just internal architecture, but some interesting external gimmicks as well. For the user it is dual D-Pad, stereo sound, light effects, and cartridge.
Also, started to consider to use a RISC V powered MCU (ESP32-C3 has RISC V and WiFi in a single package). That would be a nice feature to feature an open core in an open console.
23 2024-02-01 00:53:06
Re: A virtual 1-bit hardware proposal, 1-BOY (9 replies, posted in Other Platforms)
Sure, I'll keep it reasonably powered, not too powerful - at least some challenge will be there.
The thing with VM is that any MCU and screen can be used. Arduboy and most of the crowd is tied to once picked type of MCU (particular revision even!) and screen (also of a specific revision!). It is only possible to change the components by modifying all the games in the wild. VM allows to untie the platform from the hardware. Basically it starts the life as a specification that can then be implemented in many different ways. If one MCU gets obsoleted, the VM itself can just be ported to a newer one, and all software will work - just like we're playing Spectrum games with emulators.
WiFi for uploading games and backing up the stuff is easy on the ESP8266 or ESP32 MCUs, they're made exactly for this purpose. If other MCU is picked, 8266 can just be added as a secondary chip to handle the task. It is also can be done for a particular implementation, and dropped in another.
Now the between-units connectivity, like a multiplay of sorts, is a whole different matter, I'm avoiding to get into it at the moment. I know it is doable with the ESPs as well, but the exchange rate isn't too fast, like 0.1 seconds lag at best.
24 2024-01-31 21:39:06
Re: new engine: ulasyn (9 replies, posted in Sinclair)
Oh my, now that is definitely some forbidden black magic. I can't wrap my head around it at the moment, but it sounds totally unbelievable for the beeper.
25 2024-01-31 21:15:51
Re: A virtual 1-bit hardware proposal, 1-BOY (9 replies, posted in Other Platforms)
To clarify, the point of picking an existing command set is the possibility of hooking up an existing C compiler (or a BASIC compiler, perhaps, like Boriel ZX Basic), which would make it much easier to use for those who aren't into the assembly code programming.
AVR is a good idea, but there are some minor hiccups with it. One is that it is a (modified) Harvard architecture system, with code and data split into separate spaces, and not intended to be self-modified. Another is that while I can easily re-target Z80 or 6502 C compiler to this design, modifying a modern gcc seem to be much more difficult. Another thing with Z80 is that it has the I/O space, but anything else will require to have memory mapped registers, and it makes the architecture less clean. Like, the regs has to have a reserved memory area.
I considered 6502 at first, because it is much easier to emulate, thus VM would be much faster. I believe it is a good pick, but I kinda felt that 1-bit stuff is more related to Z80.
Another crazy idea I had was to actually have a few VM cores to run different binaries within the same specs. Maybe it is actually a good idea, like, just imagine - you can pick Z80 or 6502 or AVR instruction set, and implement the same code for the otherwise same platform in either of the instructions. What a test bed for direct comparisons (sans the reduced T-states). Also enables a wide choice of the existing tool chains.
As for the sound system design, I can actually join a few approaches into the same setup. I drafted the 8x 1-bit system, but I can also just drop in 8 registers to auto reset each channel, it is very easy and will look just as clean.