1

(6 replies, posted in Sinclair)

7 entries this year. No full results just yet, but congrats, AtariTufty!

2

(6 replies, posted in Sinclair)

Just a reminder, one week left before compo.

3

(4 replies, posted in General Discussion)

Tesla Coil Music was actually featured in a Disney's movie 'The Sorcerer's Apprentice' from 2010. The main character was a nerd who experimented with the coils, used them to play music to impress a girl, then used them in order to defeat the main villain (as far as I remember). So the thing kind of had a wide public exposure.

In case anyone interested, I also released a drum synth counterpart to ChipWave - ChipDrum. It is capable for some1-bit'ish sounds too.

The GUI is Windows only both in PCSPE and ChipWave, pure WinAPI, no third-party libraries there. You can't do anything regarding that for PCSPE, as it really needs the GUI to be functional. For ChipWave you can just delete the GUI code, and it will work just fine with the default interface - it actually started as a GUI-less plugin, was fully developed, then GUI has been added to the top.

Updated a little bit, fixed the annoying GUI flickering during plugin load.

Also a shameless plug, just released ChipWave, a synth plugin that has many characteristics of old sound chips such as AY, SID, POKEY, as well as some features that come from 1-bit synthesis. You may find it interesting.

The musical is a very cool work, I should say. Very well done overall, and the 1-bit part fits there so well.

I don't really have time to play the auction games, and the buy now prices is not that dirt cheap - it is a price of an used PS4/XBO here, and I don't even know how much the delivery would be, because almost no one sends to Russia. Likely as much, judging by past experiences. And the local prices is downright crazy, $500-1000. I can't afford any of it.

I'm sure it is possible to squeeze out some beeps out of it.

Actually, Odyssey 2/Videopac is my personal childhood dream. It was like the first 'home computer' (complete with keyboard) I ever seen in a German catalog, and I never seen one in real life, so I was puzzling what can it do and what games it could play, looking to the pictures in the catalog. Still thinking to get one and try to program something for it, a crude tracker/music editor perhaps. But it is quite expensive to get one here, so it always gets postponed. Maybe someday.

10

(82 replies, posted in Sinclair)

No, not yet.

11

(5 replies, posted in Sinclair)

Here it is

12

(5 replies, posted in Sinclair)

So, we're all failed to support this one. Only one beeper song from AER, 14 entries total, mostly AY music.

I was hoping to do a beeper track with the new engine (Ear Shaver), but other things interfered, so only finished the engine itself when the compo was already running.

13

(4 replies, posted in Other Platforms)

Yes, I remember that attempt with ED, but as far as I know it always had no sound in the editor and no playable output format, it basically used 1tracker as a text editor with a script to compile external data to be used with actual ED engine on Apple 2. I think it would be nice to have a proper support of (some subversion of) this engine.

Nice one!

Can you show a screenshot of how it looks in your DAW? I'm interested to see if my readme explains the intended workflow clear enough, and how you arranged the things.

15

(4 replies, posted in Other Platforms)

Very interesting find and read, thanks a lot! I always thought that ZX beeper music had some missing roots, maybe some computer science magazine or something, where authors of early engines got inspiration and techniques to develop further. Appie seemed a good candidate to be a platform where techniques could have been created, as it predates ZX well and has the same sound capabilities.

The MusiComp is very interesting too. 1980, and it has various duty cycle and something similar to duty modulation. Resembles early non-square wave single channel engines for ZX, such as the first Follin's one.


Maybe I should try to get some Electric Duet support in 1tracker? Just to have that sound color of the past in the sound palette. There is no Apple II sound rip format unfortunately, but there is NES and Atari 8-bit formats support, maybe it can fit there. I would have to make an AngelScript 6502 assembler for better convinience, though.

Another way is maybe try to recreate the engine as close as possible on Z80? Plenty of ZX Spectrum engines got ported to Atari 8-bit, and sounded much the same, so reverse process should be also possible.

One interesting thing to consider about these devices is that, like I mentioned, most of them using a 32768 Hz crystal. That's so called 'clock crystal', normally found in digital clocks, it has this specific frequency exactly because it is so easy to get 1 Hz clock out of it by dividing it by 32768 (just 15 D-triggers in sequence).

This, however, means, clock speed of an MCU is normally just 32768 Hz, i.e. it executes 32768 1-t opcodes in a second. We get used to have a 10-30 KHz sample loop in our ZX engines, but you simply can't have a loop that fast on an 4-bit MCU like that. Considering it is 4-bit, there is going to be a plenty opcodes even with simplest 8-bit counter based sound generation loop. Even if you have to generate just a 440 Hz tone, you can only have 32768/440=74 opcodes to do this! So a way to overcome this limitation has to be found, and I think that's what makes these specific non-pure square tones in old electronic games.

Recent castpixel's post made me think that we kind of missed a whole big underground of 1-bit sounds and music. One that we can't really exploit due to the nature of the things (one time programmable, made to cost the least possible amount), but it is still interesting in a historical perspective.

In my own experience, in my childhood I was very impressed by a keychain with like 8 buttons, making various sounds effects and melodies through a small speaker. There were plenty of those, some of them responded to a whistle. Here is a video of one of them, very similar to one I recall. As I realize this might be one of the earliest examples of 1-bit synthesized sounds I ever heard.

Then there were wristwatches with many melodies. Many of Casio ones, also a very popular brand Montana. Here is a video.

Later there were many musical greeting cards, paper ones that start to play a song when you open it. Today they all fancy and play digitized audio, but early ones had just a piezo with a monophonic melody, very similar to the wristwatch. Turns out to be somehow difficult to find a video of those now.

I also recall a Russian IC to make door bells, I think yet another clone of something older and similar from the West, first appeared in early 90s. It also played a monophonic melody. In fact those chips are still made, in dozens of versions with different songs! Have no slightest idea who would need them now. Here is a video.

I think I also have heard something non monophonic and non square wave among these things, but can't remember it now, besides those Brick Game toys.

I don't know what exactly is inside those devices, but I suppose it is some 4-bit MCU, similar to the SM-510 or TMS1x00. Most of these devices use a 32768 Hz crystal, so it must be something more fancy than just a set of counters and a ROM (a hard logic implementation of a song player).

18

(2 replies, posted in Sinclair)

Yes, no effect for W (duty) for ES. Was thinking what can I do for it, but not found an interesting application so far. Maybe will come up with something, so it will be Shaver 2. Would certainly add some noise mode there, maybe a Phaser and QChan like modes too.

Was thinking on those variable-channel engines too. Yes, it is just to difficult to fit into a generalized tracker design. One crude way would be just ignore extra channels in some modes, and add a large general purpose effect column on the side, so each engine will pick only values it needs to from there.

Like,

C-1 123 C-2 123 --- ... ---... ABCDEFG

Four chanenls first, some may be not used in some modes, and values of the ABCDEFG block get interpreted depending on currently active engine. Internally they may be compiled into different structures, or maybe just change a small array of parameter bytes, and each engine will interpret some of the bytes in its own way.

19

(2 replies, posted in Sinclair)

A new simple engine is made and added to 1tracker. Nothing too special, but it mixes a few features of various engines: the Earth Shaker engine sounding one (but implemented in a different way), two-channel Tritone-like engine, and sampled drums. This provides a major variety in the loudness, so it may get more dynamics to the 1-bit music.

The engine has two separate tone generation loops, either of those can be invoked for every row, both sharing the same register set to store accumulators and adders, as well as same timings (120t for sound loop, ~30 Khz sample rate). Technically even more different types of engines can be combined like that.

20

(82 replies, posted in Sinclair)

A new engine added without changing the version, Ear Shaver.

if you want to do an authentic sound of a LCD game, you should also consider memory constrains. The early games didn't have much of jingles and complex sound effects just because the mask ROM size is so limited on SM-510 or TMS1x00. It is just 1024 to 4096 bytes for everything, and it seems the code is quite sparse on those 4-bit MCUs - I mean, it needs more operations to do things because of limitations of the architecture.

Later LCD games, however, had quite a lot of music pieces, sometimes polyphonic, with white noise, or even actual (not LPC encoded) voice samples - for example, some of Brick Game versions. Those might be using some kind of 6502 core, but it is not known for sure.

So I guess you need to pick a period of LCD gaming, and if you want to stick to early ones, keep everything at minimum, if you going for later ones, add more stuff.

I would keep the overall pitch a little bit higher, it will sound better. That's due the way 8253 works, it does not restart count right away once a new divider is loaded, so if your pitch gets very low, like in a kick drum slide, to a few dozen hz, then you need a high pitched sound, it won't start until one period of the low pitched sound gets completed. So if the pitch was at, say, 24 Hz, it may take up to 1/24 second before higher pitch will take effect, but that maybe a time to play another pitch (arpeggiated) already, and it will sound distorted and kind of like having weird gaps or drop outs.

If you always keep pitch weil above the 'frame rate', it will sound good. I.e. if you use 60 hz update rate, try to keep your pitch not lower than 60 Hz, better to keep it higher than 60 Hz most of the time.

Arpeggios is not a problem for piezo speaker itself. Frequency response is, it cuts most of the low and mid-low end (like up to 700 Hz), and has various resonances in the higher end. Take a look:

https://a.pololu-files.com/picture/0J1721.1200.jpg?515c0c5df075fcd84c23e5d32ea31807

Remembered a fun fact, by the way - there is some quite extensive docs on the instruction set of SM-510 and its internals in Russian. It has been published in an IT mag back in 1987, because the Game & Watch has been cloned back then, complete with the MCU and mask ROM containing the Game & Watch program and Nintendo word in an unused area of the ROM.

As an alternative for Monotone, you can use my PCSPE VST plugin. It allows to create very complicated single channel music for actual PC Speaker, and you can use it with your favorite DAW. You can use some of my impulse responses to make it sound like a piezo as well.

Tamagotchi said to have a 6502 core inside. Bandai's LCD game is probably something along the lines of TMS1000.

It is sure possible to make some music routine for SM-510 that would sound more interesting than simple beeps. However, nothing has been done in this area yet, because this isn't some popular thing, it was reverse engineered and emulated just recently, and there is simply no development infrastructure yet. Like, you need an instruction set doc, an assembler, an emulator that allows to test your code, and you likely won't be able to run it on the original HW, as it uses mask ROM.

Another crazy idea to expand the world of 1-bit music.

There is a thing among electronics engineering enthusiasts - homebrew CPUs, usually made of separate TTL 74xx chips. Magic-1 is probably the most famous of them, but there are dozens more. Usually those are self-contained systems, made of dozens of chips, with a little bit of ROM and RAM, some of them has some LEDs, and sometimes a speaker output. Complete with unique instruction sets. Perfect place to apply our skills.

Many of those has way too many parts and no PCB, and of course no emulators available, so it is diffucult to obtain and/or get started. Thus I thought to find one simple design with least amount of chips and a PCB available. MP-4 would be a good choice, exactly a dozen of chips, but it has no PCB (yet), and no well settled down design actually. So after some search I found another one.

That's Nibbler, a 4-bit TTL CPU. It only has 17 chips, runs at 2.46 MHz (~1 MIPS), includes ROM, SRAM, has 16x2 text LCD interface, buttons, and a speaker - our beloved 1-bit one. As the chip count is so low, it can be build on a breadboard/perfboard. There is also a PCB design that used to be sold, it is out of stock, but the files are still there, so it can be reproduced. Even better, it already played some music 5 years ago.

Of course being such a simple 4-bit CPU, it lacks tons of basic features (many of those homebrew designs do), such as stack, or indirect indexing even. But that's just makes it more fun.


For now I have tons of other things to do, but I would like to try this idea out sometime in the future. In meanwhile we can discuss which of existing designs is more accessible and/or interesting, and eventually make the HW available and its emulator made.