[HN Gopher] Commodore 900: Unix-like workstation/server that was...
       ___________________________________________________________________
        
       Commodore 900: Unix-like workstation/server that was eclipsed by
       Amiga (2020)
        
       Author : indigodaddy
       Score  : 110 points
       Date   : 2022-01-07 11:42 UTC (11 hours ago)
        
 (HTM) web link (vintagecomputer.ca)
 (TXT) w3m dump (vintagecomputer.ca)
        
       | jamesdco wrote:
       | This is quite an interesting read for the retro game enthusiasts:
       | https://pikuma.com/blog/game-console-history-for-programmers
        
         | retrocoder wrote:
         | Great read!
        
       | clan wrote:
       | We have got one of those as well for those interested in more
       | details.
       | 
       | https://datamuseum.dk/wiki/Commodore/CBM900
       | 
       | The boot-roms of the CBM900 has been reverse-engineered in the
       | PyReveng3 project:
       | https://github.com/bsdphk/PyReveng3/tree/master/examples/CBM...
        
       | reaperducer wrote:
       | Unrelated to the post, but since this thread is likely to attract
       | a bunch of Commodore enthusiasts, I'll mention here that a
       | Commodore 64-DX/C-65 popped up on fleaBay a few days ago.
       | 
       | Unfortunately, it's in kinda rough shape, and the starting bid is
       | $15,000. I don't think he'll get any bidders at that price.
        
         | rsync wrote:
         | Huh.
         | 
         | I have a very nice 64-DX/C-65 on a shelf in the lab.
         | 
         | I also have a factory sealed, brand-new-in-box, Sun
         | Sparcstation 20 :)
        
       | nix23 wrote:
       | If one is interested you can try Confluence as a VM...and btw
       | it's opensource now:
       | 
       | https://www.autometer.de/unix4fun/coherent/#vbox
       | 
       | https://www.autometer.de/unix4fun/coherent/ftp/vms/
       | 
       | http://www.nesssoftware.com/home/mwc/manpage.php?contents
       | 
       | http://www.nesssoftware.com/home/mwc/manual.php
        
       | EvanAnderson wrote:
       | HN discusson re: the Coherent OS:
       | https://news.ycombinator.com/item?id=21200902
        
       | bullen wrote:
       | I bought an Amiga 1200 yesterday for 300EUR.
       | 
       | I had a new transparent case for it since a while back, time to
       | fill that case!
       | 
       | I also hoarded breadbins for a while with RR-Net and Nunchuk64 +
       | NES classic controllers, so I definitely have the Commodore
       | disease!
       | 
       | The first open successful computer; the last being the Raspberry
       | 4, for eternity probably... Q.E.D.
        
         | jacques-noris wrote:
         | >The first open successful computer
         | 
         | I love the C64, but the first was probably the Apple II
        
           | bullen wrote:
           | The Apple 2 was a prototype for the C64.
           | 
           | You have to look at the video and audio: the SID is still to
           | our day one of the best analog 8-bit generation synth chips,
           | the VIC-II pushed 8-bit graphics to their logical extreme.
           | 
           | NES and SMS both had separate video chips that where not
           | programmable from the CPU or shared the RAM in the same
           | manner. Also the C64 had software that you could copy!
           | 
           | Finally the C64 has more releases today than the PC, the
           | Apple 2 has maybe one release every 2 years: http://csdb.dk
           | 
           | Maybe I should have added "with audio/visual quality".
        
       | snuci wrote:
       | Not to be forgotten, Amiga's AMIX was a proper port of System V
       | Release 4 on the Amiga 2500UX and 3000UX. Here it is running on
       | the Amiga 2500UX: https://vintagecomputer.ca/wp-
       | content/uploads/2022/01/A2500U...
        
       | rbanffy wrote:
       | Past the boot, where it used a VGA/EGA/MDA-like font, the
       | terminal font looks remarkably similar to Sun's console font.
       | 
       | I love it!
       | 
       | BTW, if the Amiga came out with a Unix-like OS from the start
       | (such as Coherent), it'd have been a game changer. With some (a
       | lot, really) luck we could be all be running Unixes on different
       | CPUs instead of Windows on x86's...
       | 
       | I also like that cursor keys are closer to where the mouse uses
       | to be (for the right-handed, at least)
        
         | tyingq wrote:
         | Ah, yeah. The Sun serif console font.
         | 
         | https://virtuallyfun.com/wordpress/wp-content/uploads/2017/1...
        
           | bitwize wrote:
           | Gallant 12x22! Also available for your Linux console.
        
             | rbanffy wrote:
             | Sadly, Debian's `sudo dpkg --reconfigure console_setup`
             | doesn't offer it as an option. I think Oracle's Linux does,
             | IIRC.
        
         | beagle3 wrote:
         | Part of the reason the Amiga was well received is it's OS. It
         | was exceptionally well designed, and everything except, I
         | think, multiuser (which was missing) and process separation
         | (which did not have proper hardware support at first, and not
         | enough memory), was better than what Unix could offer at the
         | time.
         | 
         | Iirc, porting Unix software was actually very easy. I don't
         | think the non-Unix of AmigaOS is the reason we're stuck with
         | windows
        
           | foobarian wrote:
           | I still remember the first time I used Unix after a lifetime
           | on the 8-bit home computers and DOS/Windows PCs, and typed an
           | ampersand after a command. It took me about five minutes to
           | convince myself that what the computer said was happening was
           | actually happening. It was like finding an advanced alien
           | ship with an antigravity generator and not believing it
           | actually works.
        
             | rbanffy wrote:
             | > It took me about five minutes to convince myself that
             | what the computer said was happening was actually happening
             | 
             | And if you were on a terminal far from the machine, you
             | wouldn't even see or hear the computer busy at work.
             | 
             | I remember using a windowing terminal (all text windows)
             | that could have multiple sessions over a single RS_232
             | using a custom shell on the computer.
        
               | [deleted]
        
           | rbanffy wrote:
           | > I don't think the non-Unix of AmigaOS is the reason we're
           | stuck with windows
           | 
           | It was not, but if the Amiga users who ventured past the GUI
           | and into the command line interface were used to Unix, it'd
           | be a much more natural migration path for them to move to
           | Unixes than it was to move to Windows (as most did).
           | 
           | Also, if the Amiga was, even if by accident, positioned as an
           | entry level Unix workstation, it'd certainly be very popular
           | at computer labs everywhere. It cost a lot less than a
           | diskless workstation back then.
        
             | pjmlp wrote:
             | UNIX never had anything like AmigaDOS and the way it was
             | extensible via dyanmic libraries for file formats, or the
             | volume mounts as done on AmigaOS.
             | 
             | All the UNIX ports, including the follow up AMIX, were a
             | shadow of the multimedia capabilities of AmigaOS.
             | 
             | Irix, NeXTSTEP and Sun NeWS are the only UNIX based
             | experiences, that had remarkable hardware.
             | 
             | All of them managed it, by being more than mere UNIX
             | clones.
        
               | rbanffy wrote:
               | > UNIX never had anything like AmigaDOS and the way it
               | was extensible via dyanmic libraries for file formats
               | 
               | That's true, but all that could have been added to
               | Coherent. I'm stressing Coherent here because it was the
               | cheapest Unix clone available back then.
               | 
               | > All the UNIX ports, including the follow up AMIX, were
               | a shadow of the multimedia capabilities of AmigaOS.
               | 
               | That's a hardware enablement issue. The biggest drawback
               | of Coherent (and most Unixes back then) was that it
               | couldn't run from a floppy, so, the minimum viable Amiga
               | would need a hard disk. It could be possible to slim it
               | down, however, or, maybe, just adding a POSIX
               | compatibility layer on top of the AmigaDOS base would
               | suffice. My point is that, if Amiga users had an easier
               | path towards Unixes or if universities got lots of Amigas
               | instead of far fewer Unix workstations (for the same
               | money), we'd have a somewhat different world right now.
        
               | pjmlp wrote:
               | To this day POSIX has zero support about anything
               | multimedia.
        
               | rbanffy wrote:
               | It would be a superset of POSIX anyway. POSIX is the
               | minimum common denominator and should work with an ASR-33
               | teletype connected to a serial port.
        
               | pjmlp wrote:
               | Which never happened in 50 years.
        
               | rbanffy wrote:
               | Being POSIX compliant never prevented an OS from having
               | excellent multimedia capabilities. Perhaps Commodore
               | management didn't see the value of a Unix-like OS for a
               | home computer back then and, when they saw it, with the
               | 3000/UX, it was way too late for the 68K.
        
             | panzagl wrote:
             | Does anyone else remember Fred Fish disks? They always had
             | a bunch of ported Unix commands/utilities on them.
             | Certainly all the important stuff like UUCP and whatnot.
        
         | pjmlp wrote:
         | Although the team was full of UNIX heads, and they also went
         | and created AMIX, thankfully Amiga OS wasn't another UNIX
         | clone.
         | 
         | We wouldn't never had the desktop development experience that
         | keeps the Amiga nostalgy alive if that had been the case.
         | 
         | Hardly anyone discusses hardware from UNIX clones beyond what
         | CPU they might have used.
        
           | rbanffy wrote:
           | > We wouldn't never had the desktop development experience
           | that keeps the Amiga nostalgy alive if that had been the
           | case.
           | 
           | I know the Amiga GUI was way better than X, but that the
           | development experience would be better is not a given. Unixes
           | were always light-years ahead of anything else in development
           | and automation tools. That, combined with a good set of APIs
           | for all the custom hardware, would be extremely compelling.
           | 
           | What would be much harder to do is direct hardware access.
           | For that, you'd need to be running in runlevel 1 (which would
           | make sense for a stand-alone computer).
        
             | rjsw wrote:
             | The GUI for the HLH Orion [1] was nice, a vendor didn't
             | have to use X back then.
             | 
             | [1] https://en.wikipedia.org/wiki/HLH_Orion
        
               | rbanffy wrote:
               | True. The AT&T Unix PC and the NeXT didn't use X either
               | (it could be added to the NeXT, though).
        
             | pjmlp wrote:
             | I think you mixed up UNIX with Xerox PARC, regarding being
             | beyond everyone else, including the CLI experience.
        
               | rbanffy wrote:
               | Developing for Windows felt nicer than developing for
               | Amiga and I did both back then.
        
               | pjmlp wrote:
               | I thought the whole point was how great UNIX was.
        
               | rbanffy wrote:
               | Depends on what you are targeting. The bare Windows API
               | was tragic, but you could avoid a lot of the low-level
               | stuff with some care, and the Amiga felt much nicer - the
               | events you'd deal with were much higher level, but the
               | environment itself was not. Macs had a reasonable GUI
               | designer (at least for dialog boxes). Where Unix excelled
               | was in the rich tooling that didn't exist (or was poorly
               | implemented) on other platforms - lex, yacc, grep, sed,
               | m4, some source control versioning tools, pipes, etc - it
               | was developed mostly for programmers, by programmers, so
               | that's not surprising.
        
         | zozbot234 wrote:
         | > BTW, if the Amiga came out with a Unix-like OS from the start
         | (such as Coherent), it'd have been a game changer.
         | 
         | The first versions of the Amiga ran on the MC68000 processor
         | which could not support a MMU, so no Unix there. AIUI, this
         | became first possible with the MC68010, which however was quite
         | uncommon early on.
        
           | fulafel wrote:
           | Microsoft sold Xenix for the 68000, I wonder how that worked
           | given the often mentioned unix problem caused by inability of
           | the processor to recover from bus faults.
           | 
           | As for a MMU, I guess it's not a given that Unix requires
           | paged virtual memory. Traditionally whole processes were
           | swapped in and out.
        
             | ch_123 wrote:
             | Some of the early 68k workstations, including the original
             | Sun and Apollo hardware simulated an MMU by using an extra
             | 68k. IIRC, in the event of a trap, the second CPU would
             | kick in, set up some mappings, and then hand control back
             | to the main CPU.
        
               | retrac wrote:
               | Those workstations still had custom MMUs, and the 68K had
               | most of the signals to work with an MMU. The issue was
               | instruction recovery on exception, particularly page
               | fault.
               | 
               | With an instruction like move (a2)+, (a3) the processor
               | first loads the value from memory at the address in a2,
               | increments a2, then goes to store it at the address in
               | a3. If a3 holds an invalid address, the processor faults
               | halfway through the instruction. The problem is the 68000
               | doesn't store enough state anywhere to tell you how to
               | rollback and attempt the whole instruction again. (Was a2
               | incremented already or not?)
               | 
               | The dual 68K approach would keep the whole instruction
               | pending on the other processor, in case it needed to be
               | restarted, after resolving the page fault. And it was
               | still possible to implement classic base-and-bounds
               | swapping with a single 68K.
        
               | rjsw wrote:
               | Some C compilers for the 68000 added an instruction to do
               | a dummy read before doing any stack operations to trigger
               | a fault in a way that it didn't matter to the
               | instructions doing real work.
        
               | zozbot234 wrote:
               | This is still done today to guard against stack
               | overflows, in combination with unmapped "guard" pages.
        
             | jacquesm wrote:
             | The best thing about Xenix was the documentation, not the
             | OS. I used that set for years after I stopped using Xenix.
        
             | my123 wrote:
             | Xenix was also sold for the 8086.
        
               | retrac wrote:
               | The 8086 was the first microprocessor UNIX was ported to.
               | Maybe unsurprising as the first 16 bit processor that
               | could address more than 64 KB of RAM. 8086 segmentation
               | was and is much-lamented, but it did enable a poor man's
               | form of virtual memory. If the user process never touched
               | the segment registers, the OS could move allocated code,
               | stack and data blocks in RAM around transparently to the
               | process. It also allows every process to assume it starts
               | at address 0.
        
               | jacquesm wrote:
               | Before OS/9?
        
               | [deleted]
        
               | retrac wrote:
               | I think so. The 8086 port was done at AT&T in 1978. Xenix
               | was based on that work.
        
               | jacquesm wrote:
               | Close call then with OS/9 released in '79.
        
               | rbanffy wrote:
               | > it did enable a poor man's form of virtual memory.
               | 
               | Indeed. As long as you didn't need more than 64K, you'd
               | be completely happy. That, and malloc would fail if you
               | asked for too much memory.
        
               | rbanffy wrote:
               | I learned C on a Unix-like OS, QNX, running on a 640K
               | 8088 PC clone. It booted from a 360K floppy and had, in
               | those 360K, a shell, vi and a C compiler.
        
               | jacquesm wrote:
               | I _still_ miss QNX. Rock solid, super responsive, very
               | tight and a neat model to build scalable applications.
        
               | rbanffy wrote:
               | I'm probably unhealthily attached to my Blackberry Q10
               | because of this.
        
               | nullsmack wrote:
               | Wow, I didn't know QNX was always so compact. I remember
               | a demo disk released in '99 or '98 that would boot from
               | one floppy into a graphical environment with a web
               | browser and a few other things. It was really impressive
               | on a single floppy.
        
               | throwawayboise wrote:
               | Minix also ran on the 8086/8088.
        
             | vidarh wrote:
             | It was not entirely unable to recover from bus faults. It
             | was unable to _restart the instruction executing at the
             | time_ correctly.
             | 
             | So it was unusable for more complex setups without hacks
             | like ch_123 mentions Apollo and others used where you'd
             | have two CPU's and let one of them pause while the second
             | handled paging. But if you were content with killing the
             | offending process, you could do that with "just" a single
             | 68000 CPU and a simple MMU.
             | 
             | (on a side note, Apollo's OS was fascinating for the era
             | [1]: "Certain efficiencies were gained by careful design;
             | for example, the memory page size, network packet, and disk
             | sector were all 1K byte in size. With this arrangement, a
             | page fault could take place across the network as well as
             | on the individual computer and Aegis file system was a
             | single system of memory mapped files across the entire
             | network. The namespace of the network was self discovering
             | as new nodes (workstations) were added.")
             | 
             | [1] https://en.wikipedia.org/wiki/Apollo_Computer
        
               | rbanffy wrote:
               | Apollos were amazing. Truly a lost treasure.
               | 
               | It saddens me how some beautiful creations just died
               | because of worse is better.
        
         | zengargoyle wrote:
         | https://news.ycombinator.com/item?id=28081181
         | 
         | The OS was close enough and wonderful under the hood. So many
         | UNIX people bought one for home just because it was so easy to
         | port UNIX code. I wrote Amiga apps on a Sun3/50 using Sun's
         | compiler and just transferred the binary over to my machine.
         | The Amiga Pascal software even had a special program included
         | to transfer binaries over serial/parallel from a UNIX box
         | (usually a Sun). You mostly just needed to link to a different
         | crt.o / clib.
        
           | tralarpa wrote:
           | Maybe I am missing some context here, but are we talking
           | about AMIX or AmigaOS? I am asking because the latter never
           | looked particularly UNIX-like to me. But maybe that's because
           | I never worked with MS-DOS, so, being only familiar with
           | Linux, Windows, and AmigaOS, I might be overestimating the
           | difference between UNIX and AmigaOS.
           | 
           | Edit: btw, the AmigaDOS developers manual says that there was
           | also a cross compiler (and serial transfer tool) for MS-DOS.
           | I am wondering whether anybody every used that.
        
         | bni wrote:
         | The Amiga had to be sold with a minuscule amount of memory to
         | have any chance in the home computer market. Memory at this
         | time was very expensive and UNIX would have required too much
         | of it.
        
           | rbanffy wrote:
           | I'm not user that much memory would be needed in the lower
           | end models. A home computer would run on single-user mode and
           | that wouldn't need a lot of the extra memory structures a
           | multi-user environment needs.
        
             | reaperducer wrote:
             | FWIW, a mid-1980's high-end multi-user CP/M system I was
             | looking at has 1 meg of RAM for four users: 64K for each
             | user, and the rest to run the system. It was in the $8,000
             | range, without the terminals.
        
               | rbanffy wrote:
               | An Amiga 1000 came with 256K of RAM for a single user.
               | The 500 came out with at least twice as much. The TRS-80
               | Model 16 came with 128K and Xenix, about five years
               | before the 1000. A Unix-based Amiga 1000 would be
               | completely feasible.
        
         | runjake wrote:
         | > With some (a lot, really) luck we could be all be running
         | Unixes on different CPUs instead of Windows on x86's...
         | 
         | But, we _are_ doing this -- en masse. I get your jist, though.
        
           | rbanffy wrote:
           | We could be doing that since the 90's...
        
         | bitwize wrote:
         | Yeah, except no. AmigaOS was built on a lightweight, near-real-
         | time, multitasking microkernel that was designed in tandem with
         | the hardware and which a single person could understand in
         | totality. There's no way something as amazing as the Amiga
         | could be produced on a Unix base and still be affordable.
        
           | rbanffy wrote:
           | > Yeah, except no. AmigaOS was built on a lightweight, near-
           | real-time, multitasking microkernel
           | 
           | So was QNX and QNX felt a lot like Unix and had tons of tools
           | easily ported from Unix. It ran on an 8088 PC off a floppy
           | disk. I now runs a lot of in-car entertainment and
           | instrumentation systems (a nice home for an RTOS)
        
       | theodric wrote:
       | I remember when one of these appeared on eBay, and still regret
       | not buying it!
        
         | jamesdco wrote:
         | same here :)
        
       | jamesdco wrote:
       | Enjoyed reading this, nothing like a trip down the memory lane
        
       | cmrdporcupine wrote:
       | This machine actually could be in many ways considered a
       | predecessor to the Atari ST rather than the Amiga. Shiraz Shivji
       | (one of the designers of the C64 and eventually director of
       | engineering at Commodore) worked on it and then left to join the
       | new Atari Corp with Jack Tramiel where he was the chief designer
       | of the Atari ST hardware. In fact there was a lawsuit accusing
       | him of stealing IP from the CBM900 (he was acquitted.)
        
         | eschaton wrote:
         | Acquitted only applies to criminal charges. Since this was a
         | civil and not criminal matter, you'd just say that Shivji won
         | (or Commodore lost) the lawsuit.
        
         | alexisread wrote:
         | Looking at the specs and focus, out of interest, what would
         | have be taken from the C900 over to the ST? Different CPU,
         | board and bus, graphics on a plugin card, different OS,
         | different market focus and pricepoint. I can't see anything
         | there apart from Shivji that's common. I'm guessing that this
         | was a countersuit to delay Atari after they sued Commodore for
         | 'stealing' the Amiga, thereby delaying the Amiga.
         | 
         | As far as OS goes, ironically MultiTos is POSIX compatible. Had
         | Atari stuck it out, it might have ended up similar to OSX in
         | that you could cross-compile UNIX apps to MultiTos to use with
         | a standard UI (GEM).
        
           | cmrdporcupine wrote:
           | Yeah for sure there's little in common and I'm sure it was
           | just corporate legal hostility. But I'm sure the general
           | experience of developing a 16-bit machine was educational.
           | And I'm sure the choice to go with the 68000 (or NS32k which
           | they also evaluated at first at Atari) was likely informed by
           | the annoyance of having fiddled with the Z8000's awkward
           | segmented architecture.
           | 
           | Re: POSIX, we Atari users were already crosscompiling things
           | to MiNT (that MultiTOS was based on) back then before
           | MultiTOS came out. In 1990/1991 I ran a setup (off floppies!)
           | that had a bash shell, uucp, nn, etc all set up. Friends of
           | mine with larger hard drives and TTs were using GCC and so
           | on. This was all just before Linux came out and before I
           | moved to a 486, which I only did because Linux was an option
           | there.
           | 
           | Eric R Smith was the author of MiNT and was hired by Atari in
           | their latter days to work on TOS and make his work
           | "official." Sort of a last gasp effort after neglecting TOS
           | for years, and the last few OS releases for the Falcon and TT
           | were actually pretty compelling and competitive in some ways
           | with what was on the Mac, etc..
           | 
           | Later, MiNT was all open sourced under GPL as FreeMiNT and
           | it's still very actively developed today. You can set up a
           | whole open source Unix-like environment today on FreeMiNT +
           | EmuTOS complete with bash, login, initd, etc. RPM package
           | management, whole thing.
        
             | marktangotango wrote:
             | > informed by the annoyance of having fiddled with the
             | Z8000's awkward segmented architecture.
             | 
             | That's interesting, I was under the impression that Z8000
             | uptake was hindered due to bugs in it's implementation, do
             | you have any references about this segmented architecture?
        
               | cmrdporcupine wrote:
               | I'm not saying the segmentation is the reason Z8000
               | uptake was low, I have no idea why it didn't succeed.
               | 
               | But you can read about the Z8000's segmentation on WP: _"
               | The Z8000 used a segmented memory map, with a 7-bit
               | "segment number" and a 16-bit offset. Both numbers were
               | represented by pins on the Z8001, meaning that it could
               | directly address a 23-bit memory, or 8 MB.[4]
               | Instructions could only directly access a 16-bit
               | offset."_
               | https://en.wikipedia.org/wiki/Zilog_Z8000#Memory_handling
               | 
               | Many 16-bit systems around this time did this kind of
               | thing. Makes it really annoying to do things like draw in
               | a framebuffer bigger than 64k. It does look like at least
               | the PC could hold a whole 23-bit address, so that's good.
        
         | EvanAnderson wrote:
         | The whole situation with Jack Tramiel leaving Commodore,
         | acquiring Atari, Commodore staff following Jack to Atari, the
         | Amiga Corporation[1] loan from Atari pre-Tramiel, subsequent
         | repayment under Tramiel, and acquisition by post-Tramiel
         | Commodore reads like fiction. It's an amazing story to me.
         | 
         | [0] https://en.wikipedia.org/wiki/Amiga_Corporation
        
           | Zenst wrote:
           | Oh there are a few documentary's that cover it and was a a
           | good one saw recently that encompassed all this -
           | https://www.imdb.com/title/tt5706894/ do recommend that one.
        
             | foresto wrote:
             | The documentary is available here:
             | 
             | https://archive.org/details/8bit_Generation_The_Commodore_W
             | a...
             | 
             | Following the "by Commodore" link on that page leads to
             | some other interesting archives as well, including an
             | AmigaDOS manual.
        
       | rbanffy wrote:
       | Another interesting Z-8000-based machine (and this one was
       | actually produced and sold) is the Olivetti M-20. It's chunky,
       | but I really like it's monolithic design. It says "serious
       | computer" all over it. If anyone has a spare one, my birthday is
       | in March.
        
         | flohofwoe wrote:
         | Also the East German P8000
         | (https://en.wikipedia.org/wiki/P8000), unfortunately(?) the
         | "higher-ups" then decided to hop on the x86 train not much
         | later.
         | 
         | PS: the conversion from East German Mark to Deutsche Mark
         | doesn't make much sense on that Wikipedia page (the conversion
         | factor seems to be inverted).
        
           | pram wrote:
           | I'm impressed they had so many OS clones, even UNIX!
        
       ___________________________________________________________________
       (page generated 2022-01-07 23:01 UTC)