program wirth(input, output); begin end.
program wirth(input, output); begin end.
Why, the very mention of NetWare almost certainly caused those of you familiar with it to get an instant mental image of MONITOR.NLM, like this as shown in Bochs:
But Novell wanted NetWare servers to be more than just PCs (and the PC ecosystem to be more than just Microsoft), and in an attempt to gain footholds elsewhere the company accumulated some strange bedfellows. HP, Sun and Data General were on board, and IBM did so in grander form, but surely the most unexpected company Novell tried to court was ... Apple. Yes, that screenshot is a real Power Macintosh 6100 (actually a Performa 6116CD) in the Floodgap lab running exactly what you think it's running. As a matter of fact, that Apple logo superimposed on the '90s Novell "teeth" I led off with was a real resource image that came from it.No, I don't mean Macintoshes accessing NetWare servers as clients: we mean Macs as NetWare servers themselves. As proof, we'll take an entire tour of Power Macintosh NetWare on the 6116CD and try to boot it on the Apple Network Server, its actual intended target. NetWare on the Mac really existed as part of the same bizarro universe that ported the Macintosh Finder to Novell DR-DOS — meaning it's time for yet another weird Apple story during Apple's weirdest days.
This release also deprecates printcbm(1), since it's not been touched in a long time, was never really a core part of an assembler suite, and VICE petcat does everything it did and more (even I don't use it; I have my own Perl detokenizer). It will be removed in a future version also. Of things that were already deprecated in 2.3.x, the old 16-bit argument syntax for 65816 mvn/mvp is now not accepted and the old -S and -x options are finally removed. If you need those, you must use 2.3.14.
Between 2.4.x and the next version (2.5 or 3.0, depending on my mood and the scope), we will be slowly embarking on cleaning up the source code's readability which has been an admitted issue for years. One big reason for not doing this earlier was because of regression risk and as André and I are xa's most important users, we definitely didn't want cleanup to impair our ability to build our own projects. Now that we have an extensive and growing regression testsuite, this can be done slowly in stages so that we have something more maintainable without introducing new bugs in the process or incompatibilities with the C compilers we already test against (our oldest in the test rotation is egcs-1.1.2 and it probably works on even earlier ones). As these changes are expressly intended not to change code functionality, they will incrementally roll out with future 2.4.x releases.
You can download it and read documentation in man(1) format (converted to HTML) from the main xa65 home page.
About a year later the University said they'd throw it in with my consultant compensation because they wanted to get rid of it anyway, so it became officially mine, and I was delighted to have it. That machine, later upgraded to 200MHz and 512MB of parity FPM RAM, variously powered my E-mail and the Floodgap gopher and webservers from 2000 to 2012, and still does backup duty when the POWER6 has to be down for repairs.
That's because the POWER6 runs everything the ANS did — because the ANS also runs AIX. The ANS 500 and 700 were not Apple's first Unix-specific servers (that would be the Apple Workgroup Server 95, a Quadra 950 using a special PDS card that only worked with A/UX, Apple's own Unix with a bolted-on Mac compatibility layer), but they were Apple's first Mac derivatives that could not boot classic Mac OS at all and natively ran a non-Apple operating system. Indeed, most people treated it as exactly that, a big Unix server from Apple, and at the time I did too.However, there was a secret weapon hidden in ANS AIX most of us at the time never knew about. Built-in to the operating system was a fully Unix-native AppleTalk stack and support for receiving and sending Apple Events, surfaced in the form of Apple's disk administration tools and AppleShare. But Apple had a much more expansive vision for this feature: full server-client "symbiotic" applications that could do their number-crunching on the ANS and present the results on a desktop Mac. Using the Program-to-Program Communication Toolbox ("PPCToolbox"), and because AIX's throughput far exceeded anything the classic Mac OS ever could ever handle, an ANS could augment a whole bunch of Macs at once that didn't have to stop to do the work themselves.
Well, today we're going to write one of those "symbiotic" applications doing something this little Mystic Color Classic could never efficiently do itself — accessing and processing a JSON API over TLS 1.3 — and demonstrate not only how such an client application looked on the Mac side, but also how the server component worked on the AIX side. If you're lucky enough to have an ANS running AIX too, you can even compile and run it yourself. But before we do that, it might be a little instructive to talk about how the Apple Network Server came to run AIX in the first place.
Cyberdog's initial release belied some wild changes afoot, for in the world it inhabited, the document told the system what it needed to display, and the parts within the document displayed it. The document ruled all. The document was king.
And all of this came together in a special Cyberdog software development kit, complete with example code and the very first 1.0 release of the browser. Now that we have our PowerBook Duo 2300 rehabilitated, guess what we're gonna look at?
The 7600 is now fairly well understood thanks to Sean Riddle's die photo, which Ken Shirriff exhaustively explored, but no one had ever found a data sheet — until earlier this summer. This data sheet is dated "Preliminary April 1976/Revision 1 June 1976," consistent with the earliest 7600 I've seen from 42nd week 1976, and gives the 7600 an official name, the Video Game Array (an unfortunate acronym collision). It specifically covers the original 7600-001 variant, an NTSC TV-compatible part that plays Pong in tennis, hockey and handball/squash/racquetball variations as well as a target practice mode, and is the variation present in most Pong consoles that used the MOS VGA. The mask ROM is explicitly stated as 512 words in size, which is read and executed by the "frame processor," acting as a combination I/O chip and CPU. The FP reads the opcodes from ROM, acquires player input, maintains the score, and sets up the display and audio output for the chip's analogue output stages.
The part that's gratifying is that the pinout and circuitry Ken and Sean independently figured out is nicely confirmed by the documentation, including the external colour support circuitry generated independently for player 1's paddle ("bat"); player 2's; and the ball, background, walls and score numbers. For even lower-cost systems, it supports a rainbow sweep system that just generates a rainbow colour pattern instead and is generated internally on-chip, though I have yet to find one of these systems myself. Interestingly, this mode requires a 3.595314MHz crystal instead of the usual NTSC colourburst frequency 3.579545MHz oscillator, which is one "line frequency" greater than the standard subcarrier (and that may be why I haven't encountered one yet, since ~3.58MHz crystals are substantially more common). It doesn't appear that the 7600 supported any other clock rates.
This data sheet confirms virtually all of our informed conjecture and fills in a few more gaps, but it appears to be missing at least two pages (between figures 4.1B and 4.6), does not have a complete pinout (only block diagrams), and since it comes from the beginning of the line naturally completely lacks a production history. We also don't know if there were pinout differences between the -001 and the later -002 through -004 variants, though this particular data sheet warns that "[f]uture games of the VGA series (MPS 7600-XXX) may make use of an expanded switch matrix ... Designers may wish to take account of this fact when producing printed circuit board layouts incorporating the VGA." The best understanding presently remains that there were only ever four game versions and Commodore, MOS' new owners that same year, discontinued production around 1978.