Remix.run Logo
smokel 6 days ago

I'm really hoping that this will perhaps lead to other BASIC implementations being open sourced as well.

I've written a fully functional emulator for my first love, the Philips P2000T [1], but never released it because I couldn't find a legal way to distribute it. Most software for this machine requires the BASIC ROM, and even reverse engineering it might not be entirely legal.

If anyone knows where to address my requests to Microsoft, I'd be very happy to hear that.

[1] https://en.wikipedia.org/wiki/Philips_P2000

mrandish 5 days ago | parent | next [-]

> perhaps lead to other BASIC implementations being open sourced as well.

A good start would be for MSFT to also open source the related BASIC-68 and BASIC-69 versions.

> "The extended 8 KB version was then generalized into BASIC-80 (8080/85, Z80), and ported into BASIC-68 (6800), BASIC-69 (6809), and 6502-BASIC." - https://en.wikipedia.org/wiki/Microsoft_BASIC

ChickeNES 6 days ago | parent | prev | next [-]

Well, no reason you can't distribute the emulator and let the user provide the rom, right? If MAME can do it, why can't you?

mrandish 5 days ago | parent | prev | next [-]

P2000 appears to be at least partially emulated in MAME: https://emulation.gametechwiki.com/index.php/Philips_P2000_e...

Here's a video of it running: https://www.youtube.com/watch?v=PUa9Ktmsxww

The ROM seems to be available via the usual unofficial sources for MAME-supported ROMS: https://wowroms.com/en/roms/mame/download-philips-p2000t/974...

I'd suggest leveraging the MAME distribution model (distributing emulators separately from copyrighted ROMS). You could also contribute the abandonware software titles you've preserved to the MAME Software-List: https://docs.mamedev.org/contributing/softlist.html. There's no sense in re-inventing the processes and standards the preservation community has already established. Plus once you start the ball rolling, the active community of people trying to preserve cassette-based software from niche 8-bit platforms can join in.

Of course, getting ROM distribution officially blessed by the corporate owner of record would be lovely but it rarely happens because of the legal complexities involved. Obviously, there's zero commercial value anymore but it's still much easier for a corporation to tacitly look the other way than to grant express permission.

asdefghyk 6 days ago | parent | prev | next [-]

Maybe a Microsoft employee could give some hints?

Anyway, Id start with the Microsoft CEO. Id even email Bill Gates - he would have to"have some sway" if you could get his support - maybe internally ...?

May be the old authors of the software could request it be released. Is it know who the authors of the ROM was? OR Even other hardware designers / workers who worked on original system - would bring interest to Microsoft and have to have some kind of positive momentum to such a request.

Is it possible to work out the reasons how other old Microsoft software was released ? I imagine there would be reluctance to release anything that they thought had commercial value?

As several products have been released over the years - there must be some offical or unoffical process

Legal would have to have input

I imagine there would be some close examination of software to verify , no negatives against Microsoft would / could he harboured in code OR found.

So it would take some resources - maybe several days as a guess - but I really have no idea ... For example probably would want to verify it can be rebuilt - maybe?? would need to setup old toolchains , old hardware etc

Also Some of these software may have been lost - could be embarrassing for Microsoft to admit this.

{Aside - I used to work as a software configuration manager for a larger company - whose job it was to ensure all project code was collect, ensure we capture all the artifacts ( source and deliverables etc ) so it could be reliably independently rebuilt. This included all needed tools etc etc]

smokel 6 days ago | parent [-]

Thanks for the suggestions. I tried my very best a few years ago, and the release of 6502 BASIC has lifted my spirits a bit, so I'll try again and see where it gets me :)

Unfortunately, the outlook for most Philips P2000T software is rather bleak, at least from a legal standpoint. The machine enjoyed only limited popularity, and commercial developers showed little interest in supporting it. As a result, much of the available software, particularly games, was written by hobbyists, and sharing through copied tapes was common practice.

In the Netherlands, where the P2000T had its strongest following, copying software was legally permitted until 1990. After that, it became prohibited. Complicating matters further, many original developers released their programs under pseudonyms and provided no contact details. One can obtain quite a lot of this software by buying second-hand machines and tapes. However, redistribution is not legally allowed. As the magnetic tapes gradually degrade, many titles risk being lost forever.

astolarz 6 days ago | parent | prev | next [-]

I feel like Raymond Chen [0] might be a good place to start.

[0] https://devblogs.microsoft.com/oldnewthing/author/oldnewthin...

tom_ 6 days ago | parent | prev | next [-]

Regarding other BASIC versions: it's probably-abandonware rather than open source, but the (more than slightly inscrutable) source code for Acorn's 8-bit BBC BASIC is here: https://github.com/stardot/AcornDmosBasic (there are commented disassemblies available - you would probably find those more illuminating...)

(BBC BASIC is pretty horrid by modern standards, but you'll probably still like it more than Microsoft BASIC. Has arbitary length variable names, multi-dimensional arrays, integer variables, PROCs, FNs, and an inline assembler.)

billygoat 5 days ago | parent [-]

Atari Basic source with comments was published [1] in 1983. Literally published, as a spiral bound book! Teenage me learned a ton of 6502 from that book, back when learning 6502 was hugely useful!

The book has intro chapters describing the entire design, bugs that snuck in, etc.

While this code dump is cute, and MS basic more widespread (at the time), the overdone readme and the 48 year delay make it a lot less interesting

[1] https://archive.org/details/ataribooks-the-atari-basic-sourc...

qingcharles 6 days ago | parent | prev | next [-]

I would start with asking Scott direct:

https://github.com/shanselman

int_19h 5 days ago | parent | prev | next [-]

They have already released GW BASIC before:

https://github.com/microsoft/GW-BASIC

So I think it's likely that more will follow.

shanselman 6 days ago | parent | prev [-]

which basic rom is needed?

smokel 6 days ago | parent [-]

It's the P2305 cartridge, originally sold as "Module microsoft basic interpreter" [1], [2]. It's jointly copyrighted by Microsoft and Philips.

I have discussed this with Philips [3] a few years ago, and they were open to sharing it, but I could not find a contact at Microsoft.

[1] https://archive.org/details/20230420_20230420_1351

[2] https://www.retrocomputing.nl/p2000-basic-cartridge/

[3] https://github.com/philips-software

Edit: for reference, the startup screen shows

  PHILIPS CASSETTE BASIC
  Versie 1.1 NL

  14966 bytes vrij
jdswain 6 days ago | parent | next [-]

It's likely that is is mostly just the standard Microsoft Basic with some modified I/O routines. Since Microsoft Basic is now under the MIT license you are free to modify the code, it may be relatively easy to re-implement the I/O routines and have a legal 'recreation' of the P2305 cartridge.

smokel 5 days ago | parent [-]

This particular machine is Z80 based and not 6502, so it's not trivial to port.

I've looked into building my own BASIC implementation and got quite far with that. Unfortunately, most games that were written back then rely on timing that is near impossible to recreate at that level. Emulating cycle exact Z80 behavior and then having the original BASIC routines on top of that is a far easier route.

asdefghyk 6 days ago | parent | prev [-]

Jointly copyright would have to make it moore complicated ....