Easy Windows Service Development

I've just discovered Topshelf for creating Windows Services in .Net. It makes building Windows Services a breeze, and you can also run them in the Visual Studio debugger easily too. Just look at the simple code example here ... and you only need to create a console app to make this example work.
Adding Topshelf to your project is easy thanks to NuGet. Your service code just needs to be a plain object and doesn't need to inherit from any special base class. It makes the whole thing extremely simple.

When you've compiled your console app, you can run it in the debugger to check it, and when you want to install it as a proper service, you just pass "install" as a command line argument when you run the exe. To remove the service you re-run the console app and pass "uninstall" on the command line.

Starting RT-11 in SIMH for the first time

This post continues my SIMH RT-11 tutorial... When you start RT-11 from the install disk the first time, you'll see some text like this:

Welcome to RT-11 V5.3

You have bootstrapped the RT-11 Distribution Disk.  Use this disk to
install your RT-11 system, then store it in a safe place.

RT-11  V5.3  provides an automatic installation procedure which will
back up your distribution disk and build a working system disk which
should  be  used for your work with RT-11.
This  working  system disk will only  contain  the  RT-11  operating
system.  After  the  RT-11  installation  is  complete,  follow  the
installation instructions  packaged  with  any optional languages or
utility software which you will be using.

Press the "RETURN" key when ready to continue.


I usually try to skip the automatic install procedure, since I'm more likely to learn stuff if I do all the setting up by hand.  So after pressing RETURN, and getting asked "Do you want to use the automatic installation procedure?" I type "NO".  After pressing RETURN a couple of times, we should be booted into RT-11.

Remember, if you ever mess up your boot disk and things go wrong, you can just re-copy a fresh version of rtv53_rl.dsk and we will get back to the start point above.