So yeah, I’ve been crazy busy this holiday season, between work and vacation so updates have . well not been forth coming.
I wanted to touch on old StarWars games for the new movie, and even got to play Star Wars on a x68000! If it were the 80’s I would super recommend one. But in this day/age it’s plagued by poor draw distances, poor wire frame 3d, and just poor game play. It is probably more of a fault with the arcade version that was revolutionary for it’s time, then it rotted and was ported out. Something like Frontier puts Star Wars to shame on low grade 68000 based hardware.
But the sound, sure was awesome!
I also want to do some passable review of the retro freak! I picked up one for about $150 USD. It is expensive, there is no doubt about that, and it is emulation. I also picked up a NES on a chip console clone for about $13 USD. At the same time I can score a MegaDrive for about 30-40 USD, and 25-30 for a SNES. Which brings me to an interesting observation:
There is next to NO Mega Drive stuff. There is far more Saturn, and very few Dreamcast, but I’s seen maybe 15 Mega Drive carts. Meanwhile I’ve found Famicom/Super Famicom stuff almost everywhere I look. My favorite is the local chain “Book Off” that almost always has a nice retro section, along with used PS1, PS2, PS3 and PS4 stuff.
Otherwise, I have horrible to non existent internet in the house I rented (it is like the yacht in Hong Kong from a few years back), so I’ve been forced to spend my time in internet cafes for 12+ hours a day.
Oh yeah, Tokyo is just like London. After 6pm, everyone goes home, the stores close, and there is nothing open. After 10 the trains stop and that is that.
While I’m on the subject of living in the future, and working physically wherever, the Microsoft Surface is a HORRIBLE HORRIBLE thing. Granted I didn’t pay for this one, but it’s wifi chip is utter crap, it is prone to locking hard, and the kickstand and detachable keyboard is a JOKE. I know Balmer wanted in on the iPad action, and then the Surface RT, eventually became just another PC, but damn a laptop this is not. The only nice thing I can say is that it boots fast. Which is something you’ll be doing lots of. The fan is noisy and distracting, the display is OK, but nothing fancy in this modern age.
I currently had to go out and buy 2 USB Ethernet adapters and bridge the cafe’s internet so I could connect this POS. I give the Microsoft Surface Pro v3 a 1/5*. AVOID DO NOT BUY.
In the “neato” section, I did find an eval copy of Citrix. And a NIB quality box of Postal 2! I didn’t know there was any updates so that was a surprise. But now I see it is on sale over on Steam, for $7.50 Hong Kong Dollars. I would do some give away but I also found out that my account got converted. YAY.
Steam is now priced in Hong Kong Dollars!
Which means I cannot give anything away as apparently I now live in a poorer area and get subsidized games. I guess that is to make up for censored and restricted catalogs.
So yeah, I am alive.
And MERRY CHRISTMAS!!!!!!
Crazy to think that 2016 is literally around the corner!
A few days ago I wrote a basic packet sniffer / analyzer for Windows for fun. I was working with raw sockets for another application and out of curiosity winged a small packet sniffer in just 200 lines of code. I actually used it already several times to resolve some firewall port blocking issues, instead of spinning up Wireshark, so I decided to release it to public.
Portable, a single, tiny exe
Easy to use
Doesn’t install any driver like libpcap
Extensible, just 200 lines of simple code
It’s very basic and doesn’t allow anything outside of simple unicast TCP, UDP and ICMP, most importantly layer 2, broadcasts, multicasts, etc are out of question
Currently it doesn’t directly support filtering, however you can just pipe it to findstr to filter for anything you want
Raw socket limitations are possibly the biggest issue, but if you just want to find out simple stuff like traffic going to a given port or ip address it’s a perfect little handy dandy tool to carry around.
To use snoopy you specific IP address of the interface on which you want to listen:
There also is a verbose mode which shows some more detailed protocol information:
Today I decode ICMP message types, TCP flags, sequence, ack and window numbers and DSCP, ECN, TTL and Dont Fragment flags for IP. I’m thinking of embedding /etc/protocols and /etc/services in a .h file to resolve them on the fly.
Just stumbled across this: someone has forked Windows NT 4.0 and created an open source version of it. But wait, forked what? Windows source code doesn’t live on Github. Is it ReactOS? No! Upon some digging, it was apparently born from the leaked source code of NT4.0, some W2K bits and 2003 WRK.
It’s hard to believe that it has been 20 years since the release of Windows 95. But here we are.
Windows 95 started it’s life as a 32bit upgrade from Windows 3.1 code named ‘Chicago’ to compete with the 32bit version of OS/2 for the desktop. Chicago is more famous for it’s incredible delays as the project suffered from feature creep, along with a complete UI redesign. It’s also worth noting that even back as far as October of 1992, just after the release of Windows 3.1 Microsoft was already hard at work on Win32s, the Win32 subset and compatibility layer for Windows 3.1 to run Windows NT Win32 applications.
In my opinion, Windows 3.0 was the most significant piece of software that Microsoft has ever shipped. This was the point where they broke away from IBM, and went their own way. And it showed that they were capable of launching a major environment without the support of their biggest partner. Although sadly, OS/2 paid the price.
Windows 95 would be a close second as to what would be Microsoft’s most significant software, as it brought 32bit computing to the masses, along with a completely different user interface, one that remains popular to this day with the start button. Even the marketing used to Rolling Stones song ‘Start me up’. Windows 95 is also the first time (and last) that I can ever recall there being a Microsoft release party where actual users showed up, but were enthused. Back when OS X shipped on physical media, you would see Apple fans camping out for the latest release, but for Microsoft this was the one time where the next release was going to be so significant with a whole new generation of applications like Office 95, and a much more easier to use interface people really were excited about it. As much as Windows 10 is a great improvement on Windows 8, I don’t see anywhere near this kind of enthusiasm compared to Windows 95.
Before Windows 95 people had to fight the Program Manager, which was a MDI application which means it has windows inside of windows. And it’s easy to obscure and lose place of programs. I’ve seen users re-install applications because ‘they lost them’ not realizing the program group was hiding behind another window. To many average users Program Manager was a nightmare to work with on a daily basis.
And to say that it’s complimentary program, File manager was also a MDI nightmare to work with was an understatement. Again windows get hidden behind windows, it is all inside of another window so it can be confusing moving things around, and trying to get a good view. To an average user, it’s tedious to work with and to get two full screen views of files, requires two copies of the application to run, which in the days of 4MB of ram or less was a luxury when you figure they were running an application as well. Not to mention since there is no task bar, it was also common for people to launch multiple copies of an application since it would be hiding behind a window they didn’t know about.
Windows 95 Desktop
The Windows 95 UI solved all of these problems by showing us what is running, and by unifying Program Manager, and File Manager into one. Now we can see what is running, we have a desktop to move things around, and we can open up multiple file windows and move them around at will. Even in this simple screen shot with multiple applications running, it’s trivial to see what is going on, and how to navigate it. We take it for granted today, but compared to the old Program Manager, File Manager paradigm this was simply an upgrade to get enthusiastic about!
Mikol Furneaux proudly shows off his Windows 95
And just look at this picture, isn’t this the look of excitement? Over a piece of software? From Microsoft? The transition from 16bit to 32bit was so great, I really wonder if they ever again will have this kind of appeal. Going from 32bit to 64bit has been so seamless I suspect many 64bit users don’t even know they are.
32bit applications promised (and delivered) on greater stability, and of course being able to actually use RAM that people had bought. It was the end of segmented 64kb segments, and the use of 32bit flat memory models, that even in the game industry everyone had been flocking to 32bit MS-DOS extenders. Now 32bit was going mainstream on the desktop. Even though Borland had captured so much of the developer mindshare on MS-DOS, they just couldn’t achieve the same success level on Windows, and especially with Windows 95, it started the rise of Visual C++ and Visual Basic everywhere.
Networking was another strong point of Windows 95, as it included not only LAN support for TCP/IP, IPX and NetBEUI out of the box, but it also included dialup PPP support for all three protocols. This is basically where other consumer OS really blew it, and why Microsoft not only ended up owning the desktop, but also the server space in corporations. It was a common practise to sell the networking stack, and applications separately making a networked machine quite expensive. SCO Xenix charged for the OS, Streams, and TCP/IP. IBM charged separately for their TCP/IP as well. By 1994 IBM started to see this as a mistake, and included DIALUP ONLY networking for Warp. This stop gap measure was barely acceptable for 1994, but as the PC world got more and more connected this meant LAN connections along with wide area which IBM dropped the ball by charging yet even more for Warp Connect. Where Windows for workgroups, Windows 95, and Windows NT included all of this, and multi-protocol support.
Microsoft also was busy creating their own online service, MSN, a competitor to AOL, CompuServe, Prodigy et al. There is a better writeup on winsupersite than I could do, since I never did use it. But the upshoot is that Microsoft was late to the internet party, and did not include any browser with the first retail version of Windows 95. Later versions of course did include Internet Explorer.
The most significant early version of Internet Explorer has to be version 3, which is when Microsoft finally started to take it serious, and included things like SMTP/POP3 and USENET clients. Back then, USENET was actually big. This is before the rise of every website being a forum, instead we had a global distributed database that everyone could post onto. It wasn’t instant though, so it could take days for a reply. The kind of thing we take for granted now with many AJAX enabled websites able to alert you right away, or you can check the status with a simple refresh.
A worker packs the shelves of PC World, Croydon, with copies of the Microsoft Windows 95 upgrade computer package. The package will go on sale at midnight across the country.
I may have to touch on the rise and fall of Internet explorer at a later date, but check out the exciting back of the Windows 95 box that included Internet Explorer:
Windows 95 box SE, back
For those who want to remember, the Windows 95 start sound!
And speaking of which next year will be 20 years of Windows NT 4.0, and how it utterly changed the server market forever.
Well from popular request I finally got around to loading this up. I went ahead with my favourite retro emulator, PCem for this, as it can nicely emulate an EGA display, unlike most emulators which do VGA, however when it comes to older versions of Microsoft products they really can detect the difference between EGA and VGA.
So to start off, I downloaded from the project page, this version of PCem, compiled it, and installed MS-DOS 4.01 , from April of 1989. The Windows 3.0 Debug Release 1.14 itself is dated from February 22nd, 1989. Which I figured is close enough to the time period. I’m using the 486SX2/50 because I’m too impatient for the 386 speeds, but it does work fine on 386 or higher emulators. It does NOT work with any 286 emulation. I’m also using the HIMEM.SYS from MS-DOS 4.01 vs the one with the Windows 3.0 (Alpha? Beta? Technical Preview?) since it is slightly newer.
There is no setup program per say, rather it just xcopies all the files to a directory, and from there you run ‘d.bat’ and away you go. This version is hard coded to an EGA display, which again is the reason I went with PCem. Once you start it up, you are greeted with:
Windows v3.0 Debug Release 1.14
And it identifies itself as Windows Version 2.1
Look at all the memory!
And first thing to notice is that on my setup with 8MB of ram, I have over 6MB of RAM free. Compare this to regular Windows 2.1 which gives me 399Kb of ram in my current setup.
Windows 2.1 running in real mode
And with Windows/386 Version 2.1 it provides 383Kb of real memory, along with 6.7MB of EMS memory, as the Windows/386 Hypervisor includes EMS emulation.
Of course the major limitation of Windows 2 is that it runs in real mode, or in the case of Windows/386 an 8086VM. As I mentioned a while back in a post about Windows 3.0, This was game changing.
As now with Windows running in protected mode, all the memory in my PC is available to Windows, and I am using MS-DOS, with nothing special.
Besides the limitation of being EGA only, the Debug version of 3.0 is that there is no support for MS-DOS applications, as WINOLDAP.MOD is missing.
NO MS-DOS for you!
This is clearly an interim build of Windows 3.0 as mentioned in Murray Sargent’s MSDN blog Saving Windows from the OS/2 Bulldozer. As mentioned from the article they began their work in the summer of 1988, so considering this is early 1989 it shows just how much progress they had made in getting Windows 2 to run in protected mode. Along with Larry Osterman’s MSDN blog post Farewell to one of the great ones, which details how the Windows 3.0 skunkworks project was writing the new improved 386 hypervisor, and how Windows 3.0 got the green light, and changed the direction of not only Microsoft but the entire software industry.
I’ve been able to run most of the Windows 2.1 applets, however I’ve not been able to run Excel 2, or Word 1. I suspect at this point that only small memory model stuff from Windows 1 or 2 is capable of running. Although at the same time, when 3.0 did ship, you really needed updated versions of Word 2 and Excel 3 to operate correctly.
Windows 3.0 Debug Release 1.14 on a 12MB system
The applets from Windows 2.1 seem to work a LOT better than the one from Windows/386 2.1 if that helps any.
This is an interesting peek at an exceptionally early build of Microsoft Windows.
I found this repository by accident, cbmbasic which is a ‘portable’ version of the old Microsoft Basic for the Commodore 8bit computers in C which can run on any manner of machine.
Really cool, right?
So for the heck of it, I fired up the x68000 toolchain, and in no time after gutting the file open operation as some stuff isn’t defined, and I wanted to see it run, I had a working executable.
All the commands MUST BE IN UPPERCASE… Then again the Commodore did default to upper case, so I guess that isn’t a surprise. There is no ‘system’ command to take you out of basic, but Control-C works just the same.
If you are like me buying a compiler is something I don’t do terribly often. Or I end up doing it for projects or even worse, I end up using old versions I bought over 10 years ago, because Visual C++ 5.0 should be good enough for anyone, right? (I also own Visual Studio 2003, so it’s not THAT bad….)