I know it’s been a long time coming but here we are. Such a shame compatibility isn’t a priority. No more crazy stuff like running GCC 1.3 on OS X.
I got this email yesterday :
If you use CrossOver for macOS, this information is VERY IMPORTANT for you.
Earlier today, Apple released the new macOS Catalina. Catalina does not support 32-bit applications. Currently, CrossOver still uses pieces of 32-bit code for every function and will not launch or install any Windows apps in Catalina. If CrossOver is critical to you macOS experience, we ask that you wait on upgrading to Catalina until we release a Catalina compatible version.
At this time, we anticipate that an alpha version will be available sometime in the next 30 days. We will continue to update you as development progresses.
So I picked up this board on AliExpress for about $200 USD. Natrually the x79 chipset is NOT a dual CPU chipset, so yeah it’s one of those ‘not exactly 100% legit’ Chinese motherboards.
One thing about Chinese companies that many don’t sell directly to consumers, instead they sell on Tao Bao, Alibaba, or to foreigners, AliExpress. The company’s site is http://www.huananzhi.com, as they had written on the box. Yes you need the www. portion of the name, as again many things are… well dated on the Chinese internet.
High-speed USB3.0, SATA3.0 interface transmission speed is increased
PCI-E expansion slot*4
RJ45 Gigabit LAN interface
North Korean heat sink with HUANAN logo
Yes, I don’t get the whole Korean heat sink thing either. Anyways I thought it’d be fun to try so I ordered the thing. It took 3 days to get to my office in China, and an additional week to get from China to Hong Kong. I hear these things can take upwards of a month to arrive in North America.
Also worth noting is that they will not ship with a CMOS battery, so you need to supply your own CR-2032 battery, otherwise the board will not operate correctly.
The contents of the box are VERY minimal, but they did include 2 SATA cables, some CPU thermal paste, a very bare and … well not very good manual, a CD which I haven’t even tried to read, along with an IO shield.
I decided to pair this with a pair of E5-2620 v2‘s that I got for $40 USD shipped, as I didn’t want to initially spend a lot of money in case all of this just exploded or something. These were the ‘widest’ and cheapest processors I could find, I wanted a v2 E5 as they are faster then the first generation.
Also worth noting is that the board is only capable of driving v1 & v2 E5’s. And they need to be the E5-2 type, which support operating in pairs, unlike the E5-1 set. I have no idea if the E5-4’s aka 4-way part would work in a pair. Although it may be an interesting experiment to try.
The board apparently doesn’t support overclocking or anything that fancy.
Although it reports itself as an x79 based motherboard, it is in reality an Intel C602, based chipset. I don’t know if they are harvesting them off of recycled servers, or if they have located a giant cache of repair parts that have been pushed beyond 5 year warranties, so they are prime candidates for being re-purposed as end user motherboards. Nice things about these boards vs standard server boards is the inclusion of a Realtek HD Audio chip, VIA USB 3.0 controller, and even the nice spacing out of the slots so you could really use all the slots.
Since this is a dual processor board you really want a PSU with dual 8 pin power connectors, however as mentioned in the poorly translated manual, you can take a PCI-E 6 pin adapter, and place it into the 8 pin socket, just position it backwards so that the 12v+ pins are facing inwards.
It may look strange (well more so as I’m using an extension cable that is sadly more focused on aesthetics than function, but heh it was cheap), but rest assured it works!
Another thing to keep in mind is that since this board uses a server chipset, not a consumer one, just as it is using server processors, you will need server grade memory. In this case it’s REG ECC DDR3 based memory. I went with 1833Mhz parts, which are the fastest DDR3 parts they made. Although the processors I chose have a maximum frequency support of 1600Mhz, but the memory works fine when underclocked.
Another gotcha is the CPU fans. These need to fit the Intel Xeon 2011, but have support for the 2011 motherbards. Which unlike the consumer versions don’t have a separate plate to bolt to the underside, rather they screw in all from the top. I had purchased a pair of cheap heatsinks that were about the right size, but didn’t include any of the mounting hardware for a 2011 board. I picked up these GELID Phantom Black CPU’s for about $80 for the pair.
They are quite big, and include a pair of fans for each processor which will make the end build look a little crazy.
I didn’t want to spend a lot, and went with the cheapest PSU I could find to output more than 450 watts. Although it did turn on and run with the lower PSU the machine did shut off overnight for no apparent reason. I’ve been okay with the larger and cheap Antec NX 650 PSU.
Although, this is the older style ‘bundle o cables’ type of PSU which I’m not such a fan of.
If I had charged up a cordless screwdriver this would have taken a few minutes, but screwing in the heatsinks was a chore, and they really do dominate the boards real estate.
I thought I had a case, but it turns out that it was for normal ATX sized boards, and this is an E-ATX board so it simply will not fit.
Another nice server like feature is that the board has an LED readout for early post codes, as booting this board will take some time. I think with 32GB of RAM it’s almost a minute.
I took the SSD & Hard disk out of my MacPro 2010 and put them into the new machine, and it booted up right away. Once connected to the internet Windows 10 picked up the new hardware and downloaded and installed the board drivers as needed. Interestingly enough Windows 10 also wanted a new activation code as the CPU/Motherboard was changed, although it didn’t complain about it.
When it comes to jobs that can run in parallel this is an incredible build. Obviously single core performance at 2Ghz is. well. terrible. I know going to a 4Ghz max E5-2667 v2 won’t be exactly magic either, but there is something nice about having 32 threads. Running stuff like parallel compiles, compression and video encoding is a dream on these massively parallel machines.
Games, are ‘okay’. I get 60fps with Fallout 76 on this current 2Ghz build on medium settings with the 1050 video card.
I do plan on getting faster CPU’s after the Chinese New Year, as right now basically everything is shut down (it sucks being the only person in the office building, literally), and shipments wont’ resume for at least another week.
I still run an ancient BBS, using Synchronet on OS/2. The problem being that I not only get port scanned an incredible amount of times, but so many things out there now logon as root/root and they think they are on a Linux machine and can then shell script their way into some exploits. Ive tried rate limiting, and other methods, but I end up with so many distributed connections that SIO can’t cope and it’ll crash. A reboot will fix it, of course, but rebooting 2-3 times a day is a bummer. So I thought I’d front my BBS with a stub BBS, which means building Synchronet from source. And while there is some guides on how to do this, I naturally hit some weird undocumented error.
So yeah, get ready for this fun error:
jsapi.cpp: In function ‘JSIdArray* JS_Enumerate(JSContext*, JSObject*)’:
jsapi.cpp:3988:16: error: cannot convert ‘bool’ to ‘JSIdArray*’ in return
So what I really need is g++ 4.x, and what is the quickest and easiest way to get the old compiler? Ugh, grab the package from the prior version Jessie. Seriously. Add this into your /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
and then run:
apt-get update && apt-get install g++-4.9
And take the new line out of /etc/apt/sources.list or you will have hell to pay.
After that it was a matter of modifying some of the logon code to streamline the logon process, and to gut the ‘ham radio’ door into something that’ll telnet to the OS/2 BBS. After a bit of work it actually works. I even tested Zmodem, and that works too!
Logging into the proxy
I need some ASCII art or something. That and probably turn off new user registration. Guest access is all anyone can get on the proxy.
I could probably do more here. Years ago I ran some public access Ancient UNIX stuff, but the problems were that it got slammed from the internet. But if Synchronet can keep up with the idiots on the outside, I guess this works as a jump point into something else? I may have to see about adding some 386BSD, and Linux 1.0
QEMUOS2 via modern Synchronet
And here we are, at the old BBS. I never got that many people to begin with, and I did like having the only OS/2 BBS on the internet up. The other BBS O-Zone seems to have given up, as their domain expired. So it’s just me, once more again.
I’m sure the vast majority of people won’t care, but I guess I finally hit the tipping point where 1996’s SIO just can’t keep up in 2017’s world of relentless port knocking.
Well it turns out that this ‘system32’ directory is actually the 64bit system directory! And attempting to do this will just result in the error:
64bit regsvr32 on a 32bit COM object
The module was loaded but the call to DllRegisterServer failed with the code 0x80040005. Well great. This typically goes back to a permissions issue, or the wrong regsvr32.exe being called.
However on a Win64 based OS, you actually need to specify the Win32 version of regsvr32 which actually lives in the SysWOW64 directory, and run the command prompt at administrator! So you would run it like this:
With this COM object registered, you can now launch the Enterprise manager!
Also I found a semi fun way to rename the SQL server:
sp_configure ‘allow updates’, 1
reconfigure with override
Running this and it renamed the local SQL instance, and shut it down. Restarting and it connected to itself just fine. Naturally change YOURSERVERNAME to whatever your hostname is. SQL server always wants to be called whatever the actual hostname is, otherwise things break in strange and confusing ways.
Is this terribly useful? Probably not. But I think it’s kind of interesting to run 90’s era server software in the 21st century. Sure I wouldn’t want to run any of it in any type of production environment, but it shows at it’s core how Win32 has not drifted. However looking at the Microsoft Management console of SQL Server 7.0, and how it will not either run on Windows 10, nor will the snapin run show just how fragile the house of COM turned out to be, and meanwhile good old fashioned Sybase/Win32 code still runs from 1993 onward.
I suppose the next thing to do is to try it on Wine, or a fun enough debugger/syscall trace to see what on earth SQL 7.0’s problem is. I don’t have any doubt that it’s nothing that can’t be fixed, although back to the root point, would you really want SQL 7.0 in 2016… or even SQL 2000 for that matter.
So I was cruising around New Capital Computer Plaza, looking for some cisco console cables, and I saw a bunch of old Xeon desktop computers for sale. Prices were in the 250-500 USD range, which seemed pricey to me. And keeping in mind that my desktop is already a Xeon E3-1230, it did seem kind of pointless. But then I saw this Dell Precision 490 for about $99 USD.
Dell Precision 490
Great, so what are the general specs?
Well the ‘nice’ thing about Dell is that they keep all their old stuff online, so looking at the specsheet we can see It’s not a bad machine for something circa 2006. Even archive.org has the old pricing online too!
Mine came with a Xeon 5160, 8GB of ram, 250 GB disk, and an ATI HD 4850
250GB SATA 3.0Gb/s,7200 RPM NCQ Hard Drive with 8MB DataBurst Cache™ [add $90]
By my calculations this machine was about $5,012 USD, and that isn’t including the after market video card, which would be about $180 USD when it was new in 2008, bringing the total MSRP on this thing to $5,192 USD!
Of course it is now 2016, and this machine is 10 years old, with an 8 year old video card. Also of interest is that it came licensed for Windows XP x64, which was the first publicly available AMD64 OS from Microsoft. Unlike traditional Windows XP, this 64bit version is actually built around Windows server 2003.
The computer came with a pirated copy of Windows 7, which I wanted to promptly remove. I have an old MSDN copy of Windows XP x64 that I wanted to install, however the optical drive is broken, and I needed to install from USB. Thankfully even though this machine is old, it can boot from USB devices. The first step was to download WinSetupFromUSB 1.2 to get XP onto a USB stick. Naturally once I had booted from USB, the disk controller wasn’t supported. The BIOS screen revealed that it was a:
Serial ATA AHCI BIOS, Version iSrc 1.02.25 07222007. Copyright (c) 2003-2006 Intel Corporation. Copyright (c) 2003-2006 Dell, Inc. Controller …
This translated into the Intel iaStor product, and I was able to slipstream in the last version from 2009, 126.96.36.199 into the USB by using nlite.
I have to say that once I had removed the gratuitous pirated Chinese Windows 7, and installed XP that this machine was pretty damned snappy! As always I updated to service pack 2.
I have to say that Half-Life 2 runs GREAT. According to it’s onboard FPS counter I was getting anywhere around 60-180 FPS. Pretty awesome. Fallout 3 runs pretty snappy too. I tried Deus Ex: Human Revolution, and much to my surprise this vintage 2011 game runs on my 2006 Windows XP x64 setup.
What about the overall internet experience? Well this being Windows XP, You are pretty limited by the traditional browsers. Internet Explorer 6 is the default browser which to say it’s dated is an understatement. I prefer Internet Explorer 7 over 6, but they are both so old it doesn’t matter. Internet Explorer 8 is also an option. The last version of Google Chrome to support Windows XP was 49.0.2623.75. Chrome 49 plays youtube just fine, Scripted Amiga is a little pokey, but does run.
Installing additional software was possible via Virtual Clone Drive, while I did have ISO images of stuff I’ve had physical media of in the past, a broken drive wasn’t going to help me read anything.
I didn’t activate it, but Windows 10 will run on this machine as well. I’ll probably upgrade by getting a second JD210 heat sink (I already found another 5160 processor for $10)
It’s a great machine for sub $100. I’d hate to have spent over $5,000 on this thing, but it’s kind of cool to see that a 10 year old machine like this can still be sort of usable. Of course updating the software will certainly go a long way in making it really usable.
So how does it fare? I thought I’d take the old Wolf4GW, and compile it with this toolset. The first hurdle I hit was this fun feature:
The C++ compiler now treats warning W737, implicit conversion of pointers to integral types of same size, as an error.
Which is an integral part of wl_menu.cpp . So this was somewhat problematic, until I just commented out that block, and while I was expecting no working keyboard, I’m able to play, and load/save games…. Even the boss key works.
So with the W737 taken care of, I have to say this thing compiles FAST. Incredibly FAST. If for some reason you have to build 16bit or 32bit anything, you should look at a 64bit tool chain, well assuming you have a 64bit computer by now.
If anyone want’s to build their own Wolf4GW with the newer OpenWatcom, my source drop is here.
the v86-64 patch, Allows you to enter v86 mode from long mode on a 64bit linux kernel.
Basically it works just like an old school DOS Extender, where it’ll switch from long mode, to 32bit compatible mode, then enter v86 mode run some code, then re-enter 32bit mode, to jump back into 64bit long mode.
This 64-bit DOSEMU compile runs substantially slower than the 32-bit compile
that I used previously on this computer. I have several rather large
PowerBASIC/DOS programs that are, in fact, the main reason why I use DOSEMU.
Up until a couple of days ago, I had Fedora 7/i386 on this computer. I just
happen to still have the numbers when compiling one of those programs with
PowerBASIC/DOS under DOSEMU:
With F7/i386: 1686600 lines per minute -- total time to compile the program:
With F8/x86_64: 230400 lines per minute -- total time to compile the program:
The F8/x86_64 DOSEMU is running approximately 13 times slower.
Which I bet runs a bit faster than an old 386.
As always testing is very minimal, all I’ve done is installed MS-DOS 6.22 & Doom 1.1, and tested the SoundBlaster 16 emulation. And as with the pre-release versions, the adlib code is still broken. And Ive done the ‘better’ fix in this code regarding that.
I haven’t run anything else, including fun things like the PowerPC & OS X emulation, MIPS with Windows NT, or even trying anything x64 based as I’m sure it is still broken from back in the Qemu 0.90 days.
They blew the 11/11/11 launch date. I guess Oracle really just doesn’t care about magical numbers or whatever.
I guess for the two or three people who even run this stuff (no doubt to run Oralce and it’s draconian licensing) you can find out all about it here.
It appears they still keep the Fortran stuff around for it… Oh and this release is x86_64 only. Sorry 32bit users.
Installing gcc (and I imagine everything else) revolves around the pkg command… In this case ‘pkg install gcc-3’ will download and install gcc 3. While ‘pkg install gcc-45’ will install GCC 4!. Don’t forget to install system/header or you won’t have things like stdio.h!!
Another GCC tidbit, is that you can build 64bit binaries with GCC 4.5 by supplying the -m64 flag!
While Solaris 11 installs somewhat quickly in VirtualBox (but wow does it take forever to boot), it is bare minimum…
Also for those who want it, here is lynx & ircII for Solaris Oh and a Quake World Server. At least wget is in the base, but I don’t see why lynx isn’t.
For anyone who’s been using neko x64 on Windows Vista or Windows 7 and seeing something like the above, it turns out the fix was really easy and really simple. As mentioned by mikesword221, all you have to do is make it ‘always on top’.
Just right click on the cat in the task bar (he may be hiding, check under the up arrow…)
And make your settings something like this:
Then hit ok and Neko will now look normal, with no more ghosting.
Later on I’ll have to make an installer, and fix it so that neko is always on top.