Prepared a more informed overview of the cards capabilities.

The tracker that is called YACH*PMS (was a joke working title, kept it because I'm lazy yet want to be fancy) for the actual card is now finished. At least it got all features I wanted to put into it. The next things to do is to write some docs, release the DOS version, then work on improving the emulation to make it similar to the real deal, then release the SDL version. Emulation is kinda tricky, as the thing is really got some analog weirdness in it, even though the sound sources all digital.

I also need to sort out some issues with the hardware, the card is missing channel #3 altogether (maybe something with the analog part), the hat section is overly loud (easy to fix with a resistor change), and it bleeds noise from the hat section all the time (curiously, the resistor change does not affect this bleed).

128

(164 replies, posted in Sinclair)

Very good points. Yeah, indeed, an external third party cross assembler does not solve the problem in a long run, and I really don't like to go to licenses other than WTFPL/CC0/CC-BY for my open projects (the MuzCell tracker uses a GPL 8253 core, thinking to replace it with my own basic implementation before release to avoid GPL'ing the whole thing). Custom multi-target assembler implemented on the front-end side and an ability to still use the script-implemented assemblers at will (how it works now) is probably the best way to go.

I agree, a new approach to the tracking is one of key features of the 1tracker, not adopted anywhere else at the moment, but ultimately proven to be viable, so better to stick to it. The CALL idea I think is another key element that may make the concept even more solid.

Either way, it is possible both to implement patterns in the front-end without reworking the engines (just dumping the song as one single pattern), and to implement order-less front-end that will cut the song into patterns for a pattern-based player. Some engines in 1tracker actually cutting the song into small patterns (Huby), and I kept the order list support intact in most of your engines too, just dumping the song into a single long pattern.

129

(164 replies, posted in Sinclair)

A small write up on the projects ten year anniversary. Yes, it was that long.

Thanks! The tracker is getting along, the main editing features are all there (no instrument editor yet), player architecture is coming together, it just started to make some sounds via crude emulation. Once I'll get the basics to work via SDL build and DosBox emulation, I'll move to the real thing on a MS-DOS rig to explore the actual sound possibilities.

At the moment I'm thinking to just drive all the control bits with software envelopes to begin with, to get most flexibility, then experiment with instruments, and maybe remove envelopes that aren't much useful.

Nice! More platforms to the 1-bit love. Having a simple tracker of sorts there would be nice, perhaps?

I can hear that Phaser1 tunes are missing the drums, is this part of the code wasn't ported?

My current strong obsession is this piece of obscurity - a late USSR (1990-91) designed sound card for a Soviet Apple II+ clone called Agat-9.

https://c10.patreonusercontent.com/4/patreon-media/p/post/65083315/6106a3384702428d8231ef84812da049/eyJ3Ijo2MjB9/1.jpg?token-time=1651363200&token-hash=cCucV35WHJCmhoOqYaSBRE9V6ANqZa4dDvhtakTf7_c%3D

It was virtually unknown to the public until five years back, when it resurfaced. Enthusiasts restored the schematics and made a modern replica of it using the authentic parts, but as Agat-9 in itself is a major obscurity, it didn't catch much attention. A very recently a guy called Tronix286 made another replica that keeps the sound synthesis part intact, but adds a regular ISA-8 bus, so now it can be plugged into any ISA-enabled old IBM PC compatible, which is way easier to get access to.

What is so interesting there? It is kind of a blend between basic 1-bit synthesis and analog sound processing. It uses a couple of the good old i8253 as square wave generators (5 channels originally, 6 for ISA version). Then the signal goes into a very basic, but analog nevertheless, amplitude shaper (can do very crude decay), and a set of passive register-controlled LP/HP filters, then it also gets into a phase inverter to get pseudo stereo output. It also equipped with crude but kinda analog bass/tom synth and a hat synth. Bizarre combo to say the least.

The resulting sound is pretty unique. It is kinda between SID and OPLL to my ear.

So I got very interested in this, got one from Tronix286 himself (huge thanks!), and is currently working on a MS-DOS (and Windows/Linux SDL fork) tracker for the beast. There is no emulation at the moment, but of course I will work on it, too. I'm posting about the progress at my Patreon and Twitter accounts, and when a runnable demo will be available, will post about it here, too.

An old sound demo from ~1991
The ISA replica related stuff in English

I guess with M68K and 6522 we can actually set the shift register to the highest shift frequency possible, hook up an IRQ fired when it gets empty, and generate bit stream for a few channels at once not in a timed loop, like we usually do, but for a few iterations ahead. So we'd have the traditional sounding beeper music that will still leave some time for other code to run.

Another idea is to have the same single voice music as I did on the PET, but modulate the volume with a timer driven rapid changes, like, triangle/saw/pulse, much among the lines of the AY-3-8910 envelope abuse. This approach won't bring the polyphony, but very complex timbres instead.

Either way, a good quality sound emulation is needed to be able to tackle the thing. I'm afraid I haven't seen an actual Lisa at any computer museum here, let alone someone's personal possession. It is even biggest challenge than the PET in this regard.

134

(164 replies, posted in Sinclair)

Yeah, can't see anything special there.

AngelScript's error messages can be kinda irritating at times, especially the 'out of bounds' ones for arrays. Like, no mention which array access caused it, so go make a guess if it happens (quite often).

135

(164 replies, posted in Sinclair)

PeskySoundZX script is probably one of the most complex ones. Have no idea what could be wrong with it, works for me under Windows, at least. Maybe try to disable JIT via the cfg file?

136

(164 replies, posted in Sinclair)

Yeah, and there is not enough personal time to those who are still up to make music. I myself have a mile long list of plans for music releases, albums and such (beeper, chiptune, synth, and so on), and some are waiting there for a decade by now. Making software is kinda less time consuming than making music to me, because at least I know the exact goals to achieve. With music it takes lots of experiments and sketches, and involves getting into a specific mood.

Actually that's one of reasons why I'm always returning to improve the software and to inventing more engines - I'm seeking the ways to balance out the amount of routine and creative effort needed to make music. 1-bit stuff is very appealing in this regard, because you have only so many sound possibilities within a particular engine, and it gets more about music than about fine tuning every single knob on a synth of 1000 knobs.

Greetings, kewatsdop!

Wow, just started to watch the video before seeing this post. Very interesting, hopefully will find time to give it a go. My list of obscure computer hardware to pay some love and get some sound of it grown a lot lately, though. Wish the days were 128 hours long.

138

(164 replies, posted in Sinclair)

v0.4 is here!

In general it was expanded a bit to adopt the numerous sample-driven engines. Script API updated, but it is a bit incompatible with the previous one. A capability to save files from script has been included, as well as capability to have a few different file dialogs within a script.

Envelope and text input editors has been improved. Now they're allow to edit envelopes and strings that are wider than the screen, and there are extra controls and visuals for more convenient navigation.

A built-in engine docs viewer in the Info tab (F6). Audio file export (Ctrl+F8).

WAV file import script updated to support files with extra info chunks (like ProTools exported, lots of garbage in these).


Ear Shaver and wtbeep engines has been updated. Ear Shaver EX, qaop, yawp, PhaserX, rawp, fluidcore, PeskySoundZX, Archie engines has been added.

Took a while, but I implemented the above as PeskySoundZX engine for 1tracker. The downside is that music data pretty large compared to the 6502 original engine, but it is not too bad, and the sound is all clean.

140

(4 replies, posted in Sinclair)

Got it supported in 1tracker. Sounds very clean and nice, indeed, which is pretty impressive for a 5 channel engine.

141

(4 replies, posted in Sinclair)

This pokemon has been caught into 1trackerball.

142

(5 replies, posted in Sinclair)

Got it supported in 1tracker, too. Paired channels in this one and some other newer engines does not seem to be a major trouble for the interface, and turned to be convenient enough to use.

143

(65 replies, posted in Sinclair)

Finally, the remainder of this bunch has been added to 1tracker. The latest additions are qaop and yawp.

144

(21 replies, posted in Sinclair)

Adopted the aligned unbalanced version to the 1tracker engine. The quiet channel is not so quiet, but we'll see. Having at least that much of difference sure should help to create more dynamic sound.

145

(6 replies, posted in Sinclair)

The engine had some issues indeed - tempo compensation was a bit off, sampled drums were corrupting the sound a bit. Got it all fixed.

Yeah, I want to explore ES concept more. It is very loud and clear, and it is kinda pleasant to the ear. Yeah, maybe getting a third channel in a mix, and some modulation to get some interesting effects.

Got a very slim 2.5mm to 3.5mm jack adapter, so it fit the deep socket of the TI84+, and it worked - I heard the sound of the HT2 for the first time. Going to play around with it now and scheme my evil plan.

So, a decade later I finally got another TI calculator, the USB-equipped TI-84+ this time, and it works. So I was able to see the HT2 running on the hardware for first time (not to hear yet, the 2.5 jack is a tricky one there).

On the installation instructions. TiLP gave me a lot of headache and did not work at all in the end, lots of issues on each step, with GTK+, with drivers etc, so I was not able to connect to the calc. The Ti-Connect worked out of box just fine, though, it was just a drag and drop.

148

(21 replies, posted in Sinclair)

I'll give them a test tomorrow. If it works, I think I'll add them to the 1tracker engine as a selectable option (like the Octode XL), so the user could choose whether he needs the classic one, +3 compatibility, or unbalanced volume.

149

(21 replies, posted in Sinclair)

Got some ideas for Phaser continuation, too, although nothing too special. Hooking up the new sampled drums code from the Ear Shaver EX is the obvious one.

150

(21 replies, posted in Sinclair)

As I was playing with it in the recent years, I came to conclusion that wtbeep is one of the finest engines available at the moment, at least in regards to the sound diversity combined with the ease of use. The two downsides are is that it is not compatible with +3 (not a big deal), and the carrier hiss that is a bit too audible at times.

So I thinking about possibilities to improve the latter issue. A couple ideas:

- Maybe do 3 sound loops, one is single channel, another is two channel, and the last one is the current three channel one. Tracker can adjust the pitch and set appropriate core per row. This will add a bit clarity, although maybe the hiss will get more noticeable, because it will be turning on and off all the time.

- Maybe make unorthogonal channels. Two with selectable waveforms, and one either a simple square tone (good enough for bass), or variable duty cycle tone. Should probably speed up the sound loop a little bit and make hiss less audible.

Another neat feature to have would be an unequal volume balance, maybe switchable on a per row basis, or two loud channels and one a bit quieter - would be good for echoing stuff. Not too sure if it can be done with the current design, though.