1 (edited by Shiru 2020-12-22 13:32:10)

Topic: BK-0010

I think we've never discussed this one. This is an obscure Soviet era Russian home computer from 1983, one of earliest here. Actually a range of computers, kinda like ZX48/128 series. It is a 16-bit system, based on the LSI-11 architecture. It has extremely ugly graphics, much worse than CGA (imagine that), and of course no sound hardware besides our beloved beeper. Later models like BK-0011M had 128K, disk drive, Covox and AY-3-8910 hooked up, mostly borrowed from Spectrums of the era, but these are minority.

The platform wasn't much popular, always being in the shadow of ZX clones, but it had a following nevertheless, and was one of the second-popular platforms at demoparties. As it is not even remotely compatible with any game computer in existence, all software was created by its enthusiasts. A lot of stuff, from graphics to ideas, has been borrowed from other platforms, including ZX Spectrum. There are some impressive efforts, too, like, Prince of Persia and Monkey Island ports.

To my knowledge, there is a reasonable amount of beeper music. Mostly ripped from ZX Spectrum games, however, with engines rewritten into PDP-11 code, so the sound is much different. There is some original stuff, too, including a couple of music editors with multichannel engines. I would guess that it is the third beeper-heaviest platform after ZX and Apple II, by the sheer amount of stuff.

One problem is that there isn't much videos on YouTube. One can use an emulator (there is a few) and use this archive. Another one is that nearly everything you can find about this platform is written in Russian, so you're going to need a translator. For now a couple videos for you, hopefully will dig out and post some more.

https://www.youtube.com/watch?v=xuy59tQ-8B0
https://www.youtube.com/watch?v=OmR_vR_kEO8
https://www.youtube.com/watch?v=TE8L7-hrNx4

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

Re: BK-0010

Here is a list of emulators for Windows. The list says there are better options, but I prefer to stick to one I'm most familiar with, Bashkiria-2M emulator (called just Emu).

So far I have found about 5 beeper editors, but was able to load and hear something from with only one, with a 3-channel engine, called Klavesin (attached).

How to get it started:

Start Emu
Select BK-0010_01
File/Open, set filter to all, select klaves.bin

All others are disk based ones, so you have to be a bit familiar with the MK-DOS on BK-0011, which looks much like Norton Commander from DOS era. Then it gets worse, as neither of the editors have a demo song loaded (but there are some on disks), it is all in Russian, and it considers you know something about the thing. So I wasn't able to figure out any of those yet. Seen that one has loadable 2-ch and 4-ch drivers and a few songs ripped from ZX Spectrum (judging by the filenames).

Post's attachments

klavesin.zip 5.55 kb, 2 downloads since 2020-12-23 

You don't have the permssions to download the attachments of this post.
website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

Re: BK-0010

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?

4 (edited by Shiru 2020-12-23 14:41:36)

Re: BK-0010

Yes, it is direct bit-banging just like on ZX. There is register 177716 (oct), bit 6 drives both speaker and tape output.

BK uses a PDP-11 compatible single chip CPU, but other than that it is not compatible. It has either a BASIC or FOCAL built-in interpreter (different models), custom graphics mode, etc.

I vaguely remember there was a Tritone port to UT-88 with 8253, just three channels of square wave without duty cycle or different volumes. Maybe it was Apogee or Vector-06C, though. These two has 8253 built-in as well, with all three channels routed to the speaker. All of these are 8080-based machines.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

Re: BK-0010

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.

Re: BK-0010

There is also BKBTL that has a Qt port and is supposedly works under Linux.

To be honest, I have no idea what the BIN format is, and where it comes from.

177716 has a lot of other stuff, ranging from tape controls to CPU reset vector (!). Don't forget, it is a 16-bit register with plenty a bits on a really oldschool architecture.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

Re: BK-0010

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.

Re: BK-0010

I was able to run Klavesin in BKBTL Windows, using the BK 0010.01 FDD configuration. Reset machine, Load BIN, then it'll automatically type in S1000 command (start from the load address). Press Enter, and it starts. Had to also enable sound emulation, it was disabled by default.

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)

Re: BK-0010

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.

10 (edited by Shiru 2020-12-24 14:50:53)

Re: BK-0010

I'm not a BK user, I think I've never seen one working, so I have about as much clues as you do. Even knowing Russian does not help much there, it all looks extremely cryptic.

Don't put your expectations high, this was only supported by hobbyists who just did their first steps in software development. What you can expect from a computer with a keyboard that looks like it came straight up from a cartoon? In fact I think it is part of the puzzle, it had a ton of cryptic named keys.

https://www.computer-museum.ru/images/soviet-pk/soviet_pk_8_b.jpg

website - 1bit music - other music - youtube - bandcamp - patreon - twitter (latest news there)