5 ms·
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
by smokel 1y 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 https://en.wikipedia.org/wiki/Philips_P2000
- shanselman 1y agowhich basic rom is needed?
- smokel 1y agoIt'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 https://archive.org/details/20230420_20230420_1351 [2] https://www.retrocomputing.nl/p2000-basic-cartridge/ https://www.retrocomputing.nl/p2000-basic-cartridge/ [3] https://github.com/philips-software https://github.com/philips-software Edit: for reference, the startup screen shows PHILIPS CASSETTE BASIC Versie 1.1 NL 14966 bytes vrij
- asdefghyk 1y agoJointly copyright would have to make it moore complicated ....
- jdswain 1y agoIt'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 1y agoThis 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.
- astolarz 1y agoI feel like Raymond Chen [0] might be a good place to start. [0] https://devblogs.microsoft.com/oldnewthing/author/oldnewthing https://devblogs.microsoft.com/oldnewthing/author/oldnewthin...
- asdefghyk 1y agoMaybe 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 1y agoThanks 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.
- tom_ 1y agoRegarding 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 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 1y agoAtari 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-source-book https://archive.org/details/ataribooks-the-atari-basic-sourc...
- ChickeNES 1y agoWell, 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?
- qingcharles 1y agoI would start with asking Scott direct: https://github.com/shanselman https://github.com/shanselman
- mrandish 1y agoP2000 appears to be at least partially emulated in MAME: https://emulation.gametechwiki.com/index.php/Philips_P2000_emulators https://emulation.gametechwiki.com/index.php/Philips_P2000_e... Here's a video of it running: https://www.youtube.com/watch?v=PUa9Ktmsxww 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/97404.html 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 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.
- mrandish 1y ago> 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 https://en.wikipedia.org/wiki/Microsoft_BASIC
- int_19h 1y agoThey have already released GW BASIC before: https://github.com/microsoft/GW-BASIC https://github.com/microsoft/GW-BASIC So I think it's likely that more will follow.