With all the controversy over 64bit pinball, and where and how things appeared, then disappeared to the discovery that the x64 version was a thing, but it was left off the install manifest but shipped on CD, along with my simple script to just extract it, the problem was that ARM32/64 users were left in the cold.
Don’t get me wrong, the original 32bit exe runs fine under emulation, but who wants emulation when you can have NATIVE CODE?! You’d have to try to find the source code (lol good luck!) or reverse engineer the program. And that’s what happened, enter:
I’m using Visual Studio 2019 to build this, and it was great it *just worked*. Hurray!
There is also a rebuild going on for SDL to bring Space Cadet Pin Ball to Linux and beyond. The only downside is that it uses a number of ‘new C++ features’ locking out older platforms. I’d done some work to dumb it down although there is a bit of this new fangled C++ I’m unsure of what is going on. So that means, unfortunately Itanium users are left in the dark, as Visual Studio 2010 is too old.
With all the talk of 64bit versions of Pinball I thought I’d share simple script to extract Pinball from an XP x64 CD-ROM so you can take it with you. It’s portable so thats nice too, although it doesn’t use any wad/pak/zip files so all the assets are loose files:
Naturally you’ll want to substitute F:\ with whatever drive letter your CD-ROM/ISO file is mounted on.
And thanks to a long needed feature in Windows 10 you can verify that yes indeed it is a 64bit version.
Isn’t that awesome?! Obviously ARM64 users are left out in the dark, as far as I know there was no ARM64 versions of Windows XP. As a matter of fact, was there any public versions of Windows XP for ARM? Naturally the Surface RT shipped with 8.0
Anyways at long last we can have our 64bit pinball despite the weird bugs, and how the plunger is mostly hidden no doubt due to yet more weird floating point/integer size inconsistencies
And well it’s a Mac. I did the Windows Key + R to boot into recovery mode and install some old version of OS X over the internet. Nice.
I updated to Catalina and kind of forgot about the break with the ‘awesome world of home 32bit computing’ as it’s all 64bit now.
Needless to say none of my favourite stuff runs.
I’ve been maintaining a subscription to Crossover for a while, as I really like to support the future of Wine. I know a while back they too had the 64bit freakout, but they apparently found some shim to keep on running Win32 apps. And sure enough I loaded up my old Fortran Power Station bottle and it actually run!
Sadly SQL Server 4.21 seems to lock up, but it has been doing that under Wine when I last gave up on OS X a few years back. I tried some Win16 games (SimCity) and it bombed out. Looks like there is no support for Win16 apps. Pitty.
Steam is 64bit now, however none of Valve’s hits that have 64bit versions for Windows have made the 64bit leap for OS X. I have a feeling it’ll never happen as OS X users are so few and far between they are literally outnumbered by Linux users.
I did fire-up Subnautica, and of course the PC with the RTX 2070 blows this thing away. Although it’s hardly a fare competition. But who wants to play fare?
It’s far too early to really tell, and who knows I might just wipe this thing and install Windows. In my opinion OS X 10.6 was the greatest release ever bridging the divide from PowerPC to x86, just as 10.2.7 on the G5 was the greatest PowerPC version to bridge that 68000 divide. I still have that G5, but now my 2006 machine is dead. I’ve seen them in the used stores for around $100 USD. Although I don’t know if I can be bothered as they are incredibly heavy. And I’m pretty sure 10.6 will run on VMWare thanks to hackintosh efforts.
Also I should add as a personal note, my 2006 MacPro 1,1 died. I let someone else use it, and she broke it in one day. I’ve had it for years, several moves in the USA, then to Canada, then to Hong Kong. It died with only one day on the job. Sad.
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.
As someone who’s owned a few G5’s over the years, and 2 intel ‘cheese grater/Mac Pros’ this is like exciting news! Although I don’t see why this machine took YEARS to churn out after the trashcan fire, but here we go!
Somehow the aesthetic is even more cheese grater than the prior G5/Pro’s. Almost a desperate call back to pros saying you missed the grater, so here it is again! Now with more grating action, and like the iPhone now with rounded corners!
One thing I’ve heard time and time again is that XNU really struggles with multiprocessor setups. And I guess we’ve hit that peak as that 2013 Mac Pro was single processor, and the new Mac Pro continues in this trend with a single processor, a Xeon from the ‘W’ or workstation lineup. Which I guess isn’t all that surprising.
The real great thing is expandibility is back! SLOTS SLOTS SLOTS! Although there is no front 3.5mm RCA audio (lol remember that?!) there is 2 USB-C on the top of the case for somewhat accessible ports. Still not too bad.
Another quick to open and upgrade machine. Just like the good old days of the cheese grater!
Although many were hoping for an end to the NVIDIA embargo, bringing CUDA to the table, there was no such luck. Instead the whole ‘dual GPU’ thing was doubled down on.
Bundled is the Radeon Pro Vega II Duo card, featuring dual GPU’s on the same card. Although the case is now large enough for two of these cards giving you 4 GPUs in the box.
So far, so good right?!
And then there is the expected MSRP. $5,999 USD. For the cheapest ‘base’ model featuring a bare 8 core, 16 threaded processor clocking in at 3.5Ghz.
However this does mean for people who want to collect old Mac stuff, the trashcans are no doubt going to crash in price. If you enjoy having a stack of external peripherals, and wires and cables everywhere. Kind of like the old Power Mac G4 Cube.
I’ve had this 2006 MacPro for quite a while. I’ve taken it home as didn’t have a ‘good’ home machine as I have my better stuff in the office. Anyways the machine is far obsolete with 10.7 being the last official release supported, and although you can treat it like a hackintosh and go much further, Apple is making their binaries tuned heavy enough that all the spectre/meltdown patches broke the old Xeons.
So I installed Windows 10, and found I can go all the way to 1809 without any issues. I put in a GT 1030 with DDR5 RAM and it can even game to extent, although the 13 year old 2Ghz processors were certainly holding it down. Upgrade processors have always been available when I had this machine but they were expensive, and I wasn’t sure if they’d work. Well I picked up a pair of Xeon x5365 for $88 RMB each and pulled the plug.
I thought the thing to do was a quick benchmark of before and after. I was getting a whopping 167! That means if Cinebench scales to 100% efficiency I get a core score of 41. While my ‘newer’ machine’s E5-2620 v2 was scoring 52, and the current E5-2667 v2 is scoring 77.
It took two hours, but I finally got these 2 Xeon x5365’s installed giving me a score of 560, or a score of 70 per core. Nice!
If you are expecting to run new and exciting software that requires SSE4/SSE4.1/SSE4.2 and the infamous POPCNT and LZCNT instructions you will be disappointed. Sorry Apex Legends fans. This also means that VMware Player is capped to version 12.
Another thing worth noting is that it’s worth looking at the TDP of the various sSPEC of Xeons. I was lucky and I was able to source the SLAED variation which has half the idle TDP of the SLAC3 variant.
So yeah, this is basically as far as this thing can go CPU wise. Although I have 16GB of RAM, apparently it can go to 32GB, which means buying all new memory modules. I guess I can do a better video card. I’m hoping that I can run more stuff at once, I was hitting a point with all 4 cores were maxed to 100% way too much.
I was going to show off the new CPU’s but apparently the pictures didn’t come out and I wanted to get this upgrade over with, as I had mentioned it did take 2 hours. The plastic retainer in the memory cage, and that stupid cover for the processors was the hardest PITA to remove. I probably spent at least 30 minutes pulling that damned thing off. I never removed the CPU shield before and 13 years, 3 nations, 2 continents worth of dust was unreal. Maybe it’s just as well the pictures didn’t come out, as it was pretty disgusting in there. It’s also no wonder the old CPU’s were running hot.
I wonder if this machine counts as being vintage now? Apple’s sliding scale of support is a weird thing.
Moved up from the old pair of E5-2620 v2’s to a pair of E5-2667 v2’s. What a big difference from a base clock of 2.1Ghz to 3.3Ghz. And yes, more cores!
And I can build DOSBox in 3 seconds using Visual C++ 6.0 Ultimate. I guess eventually I’ll get a modern machine, but for now this is pretty damned good. Which reminds me the newer processors for my 2006 Mac Pro should be arriving soon enough.
I couldn’t quite justify the more than double price for the E5-2697 v2 processor, although it has 50% more cores, but with a max clock of 3.5Ghz.
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 didn’t do anything to set this up. I just searched for ISQLW and for some reason this ancient one showed up in the search path, and it connected. I didn’t notice it at first until it didn’t like the newer shift insert/delete operations, as back then you needed to use Control C/V ..
Not being able to stop there, I fired up the admin tool. It complains that the stored procedure sp_MSAdmin_version is missing. However you can go ahead and create it…
create procedure sp_MSAdmin_version as select “Microsoft SQL Administrator script version 18.104.22.168” go
And it’ll connect.
Oddly enough things that talk to the server work okay. Things related to the databases don’t work at all.
I even can admin users from 4.21’s admin program.
I guess the sp_MSAdmin_* scripts could be fixed up for 2017, allowing for a more robust experience, but I really can’t think of any reason why to do it. I’m more surprised that all the new ODBC drivers since Vista won’t talk to SQL Server 4.21, 6.0, & 7.0, but it seems the client tools can talk to the new server.
I’ve even created the infamous ‘PUBS’ database from the 4.21a script as well. Again not very useful, but all the more fun!
Installation wasn’t too hard, but a little weird to re-produce. Anyways you’ll need to trust the MS key
And if everything goes correctly you will then be prompted for the edition to use, the SA password, and then you can start the server with:
systemctl restart mssql-server.service
And away you go.
My output was like this:
# cat /etc/issue
Debian GNU/Linux 9 \n \l
[email protected]:/# apt-get update;apt-get upgrade
Hit:1 http://security.debian.org stretch/updates InRelease
Ign:2 http://debian.uchicago.edu/debian stretch InRelease
Hit:3 http://debian.uchicago.edu/debian stretch Release
Hit:4 https://dl.yarnpkg.com/debian stable InRelease
Hit:5 http://ftp.debian.org/debian stretch-backports InRelease
Hit:7 https://deb.nodesource.com/node_8.x stretch InRelease
Hit:8 https://packages.microsoft.com/debian/9/prod stretch InRelease
Hit:9 https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017 xenial InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[email protected]:/# apt-get install mssql-tools mssql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libc++1 libodbc1 libsss-nss-idmap0 libunwind8 msodbcsql17 odbcinst odbcinst1debian2 unixodbc
clang libmyodbc odbc-postgresql tdsodbc unixodbc-bin
The following NEW packages will be installed:
libc++1 libodbc1 libsss-nss-idmap0 libunwind8 msodbcsql17 mssql-server mssql-tools odbcinst odbcinst1debian2 unixodbc
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/181 MB of archives.
After this operation, 932 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Preconfiguring packages ...
Selecting previously unselected package libc++1:amd64.
(Reading database ... 53362 files and directories currently installed.)
Preparing to unpack .../0-libc++1_3.5-2_amd64.deb ...
Unpacking libc++1:amd64 (3.5-2) ...
Selecting previously unselected package libodbc1:amd64.
Preparing to unpack .../1-libodbc1_2.3.4-1_amd64.deb ...
Unpacking libodbc1:amd64 (2.3.4-1) ...
Selecting previously unselected package libunwind8.
Preparing to unpack .../2-libunwind8_1.1-4.1_amd64.deb ...
Unpacking libunwind8 (1.1-4.1) ...
Selecting previously unselected package odbcinst1debian2:amd64.
Preparing to unpack .../3-odbcinst1debian2_2.3.4-1_amd64.deb ...
Unpacking odbcinst1debian2:amd64 (2.3.4-1) ...
Selecting previously unselected package odbcinst.
Preparing to unpack .../4-odbcinst_2.3.4-1_amd64.deb ...
Unpacking odbcinst (2.3.4-1) ...
Selecting previously unselected package unixodbc.
Preparing to unpack .../5-unixodbc_2.3.4-1_amd64.deb ...
Unpacking unixodbc (2.3.4-1) ...
Selecting previously unselected package libsss-nss-idmap0.
Preparing to unpack .../6-libsss-nss-idmap0_1.15.0-3_amd64.deb ...
Unpacking libsss-nss-idmap0 (1.15.0-3) ...
Selecting previously unselected package msodbcsql17.
Preparing to unpack .../7-msodbcsql17_22.214.171.124-1_amd64.deb ...
Unpacking msodbcsql17 (126.96.36.199-1) ...
Selecting previously unselected package mssql-server.
Preparing to unpack .../8-mssql-server_14.0.3037.1-2_amd64.deb ...
Unpacking mssql-server (14.0.3037.1-2) ...
Selecting previously unselected package mssql-tools.
Preparing to unpack .../9-mssql-tools_188.8.131.52-1_amd64.deb ...
Unpacking mssql-tools (184.108.40.206-1) ...
Setting up libsss-nss-idmap0 (1.15.0-3) ...
Setting up libodbc1:amd64 (2.3.4-1) ...
Setting up libunwind8 (1.1-4.1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Processing triggers for man-db (220.127.116.11-2) ...
Setting up libc++1:amd64 (3.5-2) ...
Setting up mssql-server (14.0.3037.1-2) ...
Setting up odbcinst1debian2:amd64 (2.3.4-1) ...
Setting up odbcinst (2.3.4-1) ...
Setting up unixodbc (2.3.4-1) ...
Setting up msodbcsql17 (18.104.22.168-1) ...
Setting up mssql-tools (22.214.171.124-1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
[email protected]:/# /opt/mssql/bin/mssql-conf setup
Choose an edition of SQL Server:
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID)
7) Enterprise Core (PAID)
8) I bought a license through a retail sales channel and have a product key to enter.
Details about editions can be found at
Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.
Enter your edition(1-8): 2
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
The privacy statement can be viewed at:
Do you accept the license terms? [Yes/No]:yes
Enter the SQL Server system administrator password:
Confirm the SQL Server system administrator password:
Configuring SQL Server...
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service → /lib/systemd/system/mssql-server.service.
Additionally you may not want to listen on every single IP address, but rather only on the loopback. So you would run this to configure the listening address:
/opt/mssql/bin/mssql-conf set network.ipaddress 127.0.0.1
I also use the SQL Agent, to enable that just simply run this:
/opt/mssql/bin/mssql-conf set sqlagent.enabled true
systemctl restart mssql-server
I kept on getting this error which I didn’t see any way to cleanly resolve to fix for running MSSQL on Debian. The best hint is the OpenSSL is either too new (unlikely) or too old (far too likely). Instead I just changed distros as that is what people do, they don’t troubleshoot problems in Linux, just change distros so why bother fighting it?
# /opt/mssql-tools/bin/sqlcmd -Usa -PMYPa55w0rd!# -S127.0.0.1
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.
Going further though, as much as I liked Debian it really does run better on Ubuntu. So as an addendum, use these sources (at the moment!). Since the SQL Agent wouldn’t run, and I couldn’t connect locally it was worse than useless.
deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04//prod xenial main
deb [arch=amd64] https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017 xenial main
Now the first time I tried to do anything on Ubuntu I got this lovely error:
terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
And it just hung the process. I had to control-Z & kill -9 %1 it to get it out of the way. Well it turns out that this VM didn’t have it’s locale set. Fixing that was pretty simple, once you know how:
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.