6 ms·
SIMH – Old Computer Emulator
- thristian 3y ago> In May 2022, the MIT License of SIMH version 4 on GitHub was unilaterally modified by a contributor to make it non-free, by adding a clause that revokes the right to use any subsequent revisions of the software containing their contributions if modifications that "influence the behaviour of the disk access activities" are made. That seems weirdly specific. Looking at the actual LICENCE.txt file: > Any use of this codebase that changes the code to influence the behavior of the disk access activities provided by sim_disk.c and scp.c is free to do that as long as anyone doing this is explicitly not licensed to any subsequent changes to any part of the codebase in the master branch of the git repository (https://github.com/simh/simh https://github.com/simh/simh) made by Mark Pizzolato after the LICENSE.txt was added to the master branch of repository. Changes that qualify for this restriction at least include: changing the behavior or default of SET AUTOSIZE/NOAUTOSIZE, or any code in scp.c and sim_disk.c or any simulator components that use the sim_disk routines. I'm guessing this Mark Pizzolato made some changes to the implementation of "disk access activities" that he deemed were important but which other people found controversial, and he wanted to make sure they stayed?
- ziotom78 3y agoI didn't know this project existed, but that controversy on the license made me curious, and I have had a look at the repository. I stumbled upon this discussion, which shows another controversial decision by the new maintainer regarding the way disk files are managed by the emulator: https://github.com/simh/simh/issues/1059 https://github.com/simh/simh/issues/1059
- eschaton 3y agoHe’s not “the new maintainer,” he’s “one maintainer” but he decided he knew better than everyone else. Hence why the official SIMH repository is at open-simh.
- mlyle 3y agoHe's the overwhelming majority of contributions to the codebase for the last decade. What he did was toxic, but in fairness, there was out-of-band harassment coordinated towards him for nearly a year.
- eschaton 3y agoThere wasn’t “out-of-band harassment,” there were people calling out his toxicity and unilateral negative changes that he kept doubling down on. And no matter how many contributions he’s made, it’s always been Supnik’s project.
- mlyle 3y agoWhen you rally people over Twitter to come to an issue on an open-source project, it's A) out of band, and B) being a jerk. > And no matter how many contributions he’s made, it’s always been Supnik’s project. Basically the overwhelming majority of all work for the last 15 years has been him.
- deleted 3y ago[deleted]
- xvilka 3y agoIt just resulted in the open and official fork - OpenSIMH[1]. [1] https://opensimh.org/ https://opensimh.org/ [2] https://github.com/open-simh/simh https://github.com/open-simh/simh
- EgoIncarnate 3y agoIt seems Mark Pizzolato was at the time the primary maintainer and recent contributor (by a large margin) (https://groups.io/g/simh/message/1501 https://groups.io/g/simh/message/1501). Mark made a change to how the virtual disk system worked that broke an esoteric use case (using dd to image multiple disk images to an SD, without an actual file system). The user didn't want to use a workaround (specifying the transfer size in the dd command), and proceeded to use twitter to get people to harass Mark. (https://www.bentasker.co.uk/posts/blog/the-internet/toxicity-in-software-related-discussions.html https://www.bentasker.co.uk/posts/blog/the-internet/toxicity...) Mark got sick of the harrasment and decided to take his toys and go home. Toxic user prompts toxic reaction by developer.
- userbinator 3y agoI'm sure glad I don't work with developers like that, because that complaint makes perfectly reasonable sense to me and I certainly wouldn't consider it "toxic". Expecting a raw disk image file to be the exact size of the virtual device is not at all an "esoteric use case". Being a prolific contributor doesn't mean you get to force your mistakes on others and cry about it when your decisions come back to bite you. See what Big Tech is doing to us for a great example of what this "feelings-driven design" crap has given us. Words to live by: "if everyone tells you that you're wrong... maybe you are."
- deleted 3y ago[deleted]
- EgoIncarnate 3y agoIt sounds like there was a config option available to disable the signature addition to the image file ( https://github.com/simh/simh/issues/1059#issuecomment-1086899270 https://github.com/simh/simh/issues/1059#issuecomment-108689... ). I could see a benefits for having an embedded image signature for preservation and corruption detection issues. I don't think complaining about the design is toxic, but recruiting uninvolved people on twitter, and harassing out of band certainly is. Also reading the bug thread it seems the person with the issue wasn't the same as the one who instigated the harassment. (https://github.com/simh/simh/issues/1059#issuecomment-1086752061 https://github.com/simh/simh/issues/1059#issuecomment-108675...)
- deleted 3y ago[deleted]
- codezero 3y agoSomeone on HN must have been browsing similar Tindie listings as I have recently :) https://www.tindie.com/products/obso/pdp-11-replica-kit-the-pidp-11/ https://www.tindie.com/products/obso/pdp-11-replica-kit-the-...
- wkat4242 3y agoThat's not a recent thing. I've had that replica here for years. I built it during the first lockdown (it only took a day anyway) I've got their PDP-8 too. Really great kits. I think the designer was working on a PDP-10 too. But got sidetracked.
- codezero 3y agoIt was recent for me! but fair point :) Glad to hear the kit is great, helps me make up my mind!
- wkat4242 3y agoIt's great indeed. Extremely well designed, great instructions. Even comes with an alignment bar to make sure all the switches end up straight. And the frontpanel is truly a work of art. The multilayer printing on the plexiglas in particular, but also the surround. I soldered it all in a few hours but I'm very experienced. Even if you're new to soldering it'll be fine as long as you follow the instructions and take it slow. Double-check every switch type (there's several different types!) and position before you solder it. Make sure all the LEDs fully hit the board so they point the same way, the switches are aligned etc. It's really an amazing kit. You can feel the love that went into it. If there's anything I'd change I'd make it 1:1 scale. And the switches don't really feel like the real thing. I've played with a real PDP-11 and the switches really have that "someone paid 100 grand for this back in the day" feel to them. That satisfying affirmative thump. Which is very hard to replicate with off the shelf components of course.
- codezero 3y agoI've got an old RT-11 manual from the Pioneer space program which would pair really well with one of these as a display item, so I'm pretty convinced, but had some hesitance because I too would love a 1:1 version.
- mikewarot 3y agoI've had a lot of fun installing and running VAX/VMS on a simulated VAX 11/780. Automatic versioning of files is still a very nice idea. The general format is FileName.Ext;1 FileName.Ext;2 Etc.
- tgv 3y agoSounds like a good idea, but it had little value in practice (for me). Since disk space came at a premium back then, it led to constant manual/auto purging.
- Tor3 3y agoIt's so long since I was using VMS, but one thing I do remember is the constant purging. It was necessary.
- hulitu 3y agoThere are areas (CAD) where it made a lot of sense.
- mikewarot 3y agoYou could set the number of versions to keep on a per directory level.
- ngcc_hk 3y agoNo one told me then and keep on purging it. Any command to do that just for old time sake?
- mikewarot 3y agofor a single file (or directory, the syntax is the same). I've forgotten how much I love the HELP command on DEC systems. Having the old versions there saved my bacon more than once back in my student days. SET FILE /VERSION_LIMIT /VERSION_LIMIT[=n] Specifies the maximum number of versions for the specified file. If you do not specify a version limit, a value of 0 is used, indicating that the number of versions of a file is limited only to the Files-11 architectural limit of 32,767. When you exceed that limit, the earliest version of the file is deleted from the directory without notification to the user. For example, if you set the version limit to three when there are already five versions of that file in your directory, there will continue to be five versions of the file unless you specifically delete some or purge the directory. Once the number of versions is equal to or less than the current version limit, the version limit is maintained.
- nikau 3y agoAs cool as this is, I cant see it being the same experience as using a real Royal McBee jukebox style console with built in oscilloscope https://upload.wikimedia.org/wikipedia/commons/e/e3/LGP-30_German_control_panel.jpg https://upload.wikimedia.org/wikipedia/commons/e/e3/LGP-30_G...
- guenthert 3y agoI found the selection of computers emulated to be interesting. Other than fairly popular (in their time) computers like various VAXen, also machines like the SDS 940 of which only a few dozens were ever made. What the the SDS 940 lacks in numbers it makes up in historical importance though (first node on ARPANET, host of first BBS, host used for the Mother of All Demos etc.).
- pmcjones 3y agoThe time sharing system on the SDS 940 (https://en.wikipedia.org/wiki/Project_Genie https://en.wikipedia.org/wiki/Project_Genie) led to TENEX on the PDP-10.
- notsurenymore 3y agoI used it a while back to simulate something in the HP 1000 series. Funny enough, I actually had a machine from that family, along with a variety of other more obscure and niche retro computers and other equipment, sadly I lost all of it, but the reality was it was just costing me a ton of money to get them working again.
- miki123211 3y agoI wonder what the challenges of emulating 36-bit machines on 32 and 64 bit systems are. Can you even do JIT? You probably don't need to, considering how slow these PDPs actually were, but it's an interesting question nevertheless.
- flohofwoe 3y agoFor ALU ops and address computations, if the 36-bit machines are also using the 2s-complements convention you can just do all computations in 64 bits and ignore the top bits. For memory accesses you could simply round up the data bus width of emulated CPU to the next power-of-2 as the "host word size". For instance if the emulated CPU accesses memory as 12-bit words, use an uint16_t array on the host CPU and treat the top 4 bits as junk. JIT-ing probably wouldn't make much of a difference with this approach as long as your host CPU is wider, since you just ignore the top-bits. When writing a chip emulator, it's actually not uncommon to deal with 'odd' bit widths. For instance a sound chip might have 3- or 5-bit wide counters. Also, in a language like Zig this stuff is quite convenient since Zig allows integer types of any width (e.g. you can have u3, u5, u36 etc...). Just have to be careful about how those types are represented in memory (e.g. bit-packed or not).
- nxobject 3y agoI'm curious – is the Alpha simulation here as a proof of concept, or are its goals beyond that? I don't imagine a simulation of a complex architecture like this would live well in the same framework hosting, say, a PDP-8 simulation.
- rnd0 3y agoPeople ask about it from time to time -it seems to be more of a proof of concept than anything else. Patches welcome, of course.
- guerrilla 3y agoYeah, really old. No 8086.
- rnd0 3y agoThere is an Altair, though. z80 and 8080 if I remember correctly.
- NikkiA 3y agoThe altair simulator also simulates a 68k for cp/m-68
- zare_st 3y agoUse https://86box.net/ https://86box.net/ There's a ton of hardware profiles embedded. I found my old XT PC which is not that common. Goes up to Pentium era. It is not perfect tho. My XT has a Plantronics card which is a CGA+, with double memory granting few additional modes, but it's not emulated. There is some historical software targeting this graphics card, even some contemporary retro-indie games.
- rnd0 3y agoI love 86box to death, I really do. But it's apples to oranges. Simh is an emulator platform -closer to MAME than it is to PCEM/86Box. Unless I'm imagining things, there was an IBM pc emulator made for simh 5 or 6 years ago but eventually wound up being dropped -due to lack of interest? I recall it emulating just the 8086 and maybe a monochrome display? Anyway, 86Box is a great emulator but still a different idea.
- ngcc_hk 3y agoQuite a bad thing to contribute and make the whole project to change name as openxxxx. Sad. Do not aware of this last time working on one project.
- musicale 3y agoActually running/using Multics is remarkable. I still want to try ITS to continue my computing archaeology journey.