5

It is well established that Vilnius BASIC runs on PDP-11 compatible machines. For example, the BK-0010 and UKNC had Vilnius BASIC in ROM.

Apparently, it was closely modelled after MSX BASIC, which means that it is at least connected with a pre-x86 lineage. And the implementation used threaded code, which I imagine would make a BASIC interpreter easy to port, but I don't know that for sure.

Still I cannot find an example of a computer using a (clone or variant of) an 8080 or Z80 which runs Vilnius BASIC, even if both those CPUs and that BASIC were apparently extremely common in the USSR.

  • Why would a clone of Vilnius BASIC be needed or wanted for a 8080 or Z80, if there were existing Western implementations? Vilnius BASIC was needed for the combination of a PDP-11 CPU and a frame buffer, the only other machine with that combination being Terak, but I have not heard of a Terak BASIC. If it had existed, the BK-0010 BASIC would likely have been a clone of it. – Leo B. May 8 at 17:52
  • @LeoB. What difference does a framebuffer make? It's pretty easy to make something that looks like a serial terminal, but outputs to a framebuffer and scans a keyboard matrix. Especially with the PDP-11's memory-mapped I/O. But your perspective is an interesting one, I'd be interested in reading more if you can find a source or something. – Wilson May 9 at 6:27
  • The difference a framebuffer makes is that graphical primitives (a) become desirable, and (b) they get implemented in any programming system worth its salt. – Leo B. May 9 at 6:49
  • Soviet clones using a 8080 mostly ran "forks" of Microsoft Basic 3.2. If you read Russian (or care to run this post by Google Translate), here's quite a detailed analysis of the Soviet 8080 Basic "genealogy": zx-pk.ru/threads/… – DmytroL May 30 at 14:29
  • @DmytroL interesting info for the 8080, but there were more Z80 and ZX Spectrum BASIC based computers available in the USSR at the end of the soviet era right? – Paul Humphreys Jun 4 at 1:20
3

Definitely not. Vilnius Basic was created specifically for the 16bit K1801BMx chip family, and by and large was a port of MSX Basic for this CPU.

Porting it to 8-bit machines was impractical due to widespread clones (or should I say adaptations, because they typically included extra functionality such as graphics or music) of MS Basic 3.2.

5

Well this certainly isn't exhaustive, but from what I can see the answer is no.

I still find it fascinating that the Soviet basic school computer was a PDP-11 in a micro format. It makes me wonder what our systems of the era would have been like given a similar CPU. In any event, this is also a rather limiting factor. Porting MS BASIC from one 8-bit platform to another was difficult enough, to the point where the 6502 versions wouldn't even fit in 8k.

Porting a 16-bit BASIC, especially one for the register-heavy and orthogonal instruction set of the PDP-11 would make this all the more difficult. There would have to be an entirely new runtime library and a new compiler. Even the screen editor would have to be rewritten, although that would be on the easier side.

And for all that effort you would end up with what was ultimately a cut-down MSX, which you could buy off the shelf from a number of Japanese firms.

Looking over earlier DECUS catalogs and those materials that exist in the archive.org from the 1980s time frame, I cannot find references to Vilnius BASIC outside the Soviet sphere. For the reasons above, I would suspect that it was limited to the PDP-11 clone market.

  • "Porting MS BASIC from one 8-bit platform to another was difficult enough" - but in fact this is what was happening in reality for most of the Soviet machines using a 8080. – DmytroL May 30 at 14:35
  • Indeed, but that was porting the 8080 version to another 8080(-alike), as opposed to 8080 to PDP-11, which is another beast entirely. – Maury Markowitz Jun 4 at 15:28
  • Depends on how you define "porting". Porting from one 8080 version to another basically involved making minimal changes to the Basic "kernel" (primarily memory allocation and BIOS routines) and adding code that enabled extra capabilities such as graphics or music. Speaking of Vilnius BASIC, I'd rather say it was a complete rewrite that just partially borrowed the MSX syntax. It's now open source, by the way: github.com/sergev/vak-opensource/tree/master/bk/basic-vvu-1987 – DmytroL Jun 5 at 14:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.