Download the above file and rename to .exe ( wordpress won’t let me add exes or zips )


See post of lemon 64 for how to use.

This will be a course covering the basics of computers and programming. It is designed for those who have not programmed before, it will introduce the core concepts and principals of programming.

For this task I will use a Commodore 64 emulator and the Programming Language Microsoft BASIC Commodore Enhanced Version 2.0. Why?

  • There is no API to learn, no piles of classes and language semantics to learn first. I won’t need to give you a skeleton program which handles all the start up you need
  • It is small enough to fit in your head with 64K of RAM running at 1Mhz, you will out think it and it will do things slowly
  • It is standard, the Commodore 64 has been the same for the last 30 years and it will be the same for the next 30 years. If I teach you how to program in C++90 in Visual Studio 2103 for Windows 7, it won’t work on Windows 8, or 9 or 10, OSX 10.6, iOS etc. So people in the future will still be able to use this, as will you if you upgrade switch to a new machine.
  • The emulator is fully sandboxed so you are free to do what you want and experiment without risk of damaging your computer or files
  • There are a lot of books at the basic level for it if you want to read more

My Commodore 64 emulator of choice is VICE, it is open source and has pre-compiled binaries for Windows, OSX PPC, OSX Intel, Unix, BeOS, Amiga and a host of others, if your favourite is not there, you can just compile it. You can get it here http://vice-emu.sourceforge.net/

You can get Commodore V2 basic as an iPhone app, this will suffice for the early parts of the tutorial but eventually to do something exciting we will need to make use of the Commodore 64’s hardware features which the App does NOT support.

Once you have installed it on your system, find and run x64.

Setting up x64.
In the menu, select settings, then keyboard settings.., make sure it is in Symbolic US. This way when you type on a keyboard you get what you press and don’t need to remember/know the Commodore 64 keyboard. If you have a non US keyboard, alas you will need to map your keyboard to a US one. E.g. On a UK Keyboard the @ symbol is actually the ”

Select Save Current Settings option so you won’t have to do it next time.


Anatomy of a BASIC program

You should see this

Lesson 1_1

So lets make a program at the READY prompt type the following : note the C64 types in caps by default so you don’t need to press shift

10 PRINT "HELLO" ( press return/enter key )

Lesson 1_2Lets test the program
RUN (return)
you should see it printed out hello on the screen.

Lesson 1_3
Back to the anotomy
Line Number Command Param
the Line Number can be any number ( under 100 000 ) and tells the computer where in the list of instructions this line of code sits. So line 20 comes after 10, as would line 300, 9 comes before. The numbers don’t have to be sequential just higher than the line you want the instructions to be after. As a beginner it is wise to leave room between you initial instructions for when you forget something and need to add something later. A gap of 10 is the standard used by most programmers.
The Command is a BASIC instruction, this command is PRINT and it Prints something to the screen.
The Param is in the case is the string Hello, which is what the PRINT command is to print.

What is a string? A string is a string of characters, that make up a word or sentence. You tell BASIC you want a string with the ” character. All Strings must start and end with a “. The Commodore 64 has lots of special character codes and inputs for strings, so be careful not to press the arrow keys while you have a ” open or you will see some strange characters being typed.

Lets modify the program to print something else.


LIST ( return )

this will show you the program again.

now type

10 PRINT "( something you want)" (return)


Now you have learn’t how to update an existing line. If you enter a new line with the same line number as an existing Line, you will replace it with the new line.

Surface Old PC Mac
The Rig Surface Pro 2 128GB
Toshiba Dynadock
External HDMI Dell 16:9 monitor
Microsoft Softcurve 4000 wired keyboard
Loigitech cheap and nasty wired mouse
Athlon X2 64 2.8Ghz
4GB ram
Geforce GTS 5800 512MB
Creative X-Fi PCI
Sony 24” 16:10 monitor ( can also use Dell above as 2nd monitor )
Microsoft Softcurve 2000 wired keyboard
Mac Mini Mid 2010
16GB Ram
Monitor, keyboard and mouse as with the SP2
iPad 3 ios 7
iPad 1 ios 5.1
software Windows 8.1
Visual Studio 2013 Enterprise Edition
Windows 7 32 bit
Visual Studio 2008 Professional
OSX 10.8
XCode 4.8/5/5.02

The SP2

I thought I would HATE 8.1 really really hate it. I’m a Win + R to launch a Program kinda guy, I like Windows the way it is, and I hate OSX as a slow useless pretty but underpowered OS. I heard the horror stories of 8, the hover areas to do stuff, the hiding of the desktop….

8.1 Fixes a fair amount of those horror stores and I LOVE it, my friend who was also antsy about 8.1 also really likes it, it has been winning people over. They have fixed a few bug bears from 7, I really like the “tile” selection and once we get programs that are designed for 8.1 for people who know how to use 8.1 I think we will start to see some pretty programs. I know pretty programs on a windows machine what has the world come too..

There has been talk about how touch will kill the mouse, we can finally get rid of it. Having used an iPad since they came out and a DS since they came out, I was in ZERO rush to lose the mouse. Touch will not replace a mouse, it’s to imprecise and cumbersome, it’s ok for flipping through a book or photos. But once you get on to doing something serious, like editing and selecting text, picking items or following links on a website it fails. The DS uses buttons because they are just better. Even something like Bejewelled on iOS had to do a best guess as to what you want to do…

Enter the Pen, using the pen on the surface is a delight, simple, fast, precise, pinpoint accurate and natural. Years of typing whist holding a pen to jot things down has taught me to be able to type and hold a pen at the same time, so there is no pick up, put down. This plus the 1:1 hand-eye-coordination, removes the time lost in moving from keyboard to mouse, find the cursor and then move it to where you want. Also best most pointless feature, the pen has a mechanical pencil like advance press on the end of it, that serves no purpose at all, it’s not detectable able, you can’t use it to select or erase things, it’s just something to press in and out with a click sound…. and it’s fun to do!

Windows 8.1 makes a lot of sense once you figure it out and has what Apple termed “Edge to edge” design, to access all the menus you start swiping outside one of the edges, well if you are on the tablet and not on your desktop monitor…. This is the big 8.1 gripe, it’s really for touch screens, when you use it on a non touch screen it’s a bit clunky, usable, with some extra benefits, but clunky.

When used with a Touch and a Normal it really does shine. MS years ago when they first showed it said this was the indented use for it, and I was one of the first people to say that it was a joke of an idea. But look around you, replace your netbook, ubur thin laptop and your ipad with one of these and there you are. Dock it at your desk and away you go, with touch and normal. As much as I hate it, it is the future.

It’s snappy, its fast, just because it’s small doesn’t cost it in punch, the SSD allows it to be faster than my Win 7 Desktop ( which is running an 8 year old CPU, so it should ). It’s much faster to do things in Win 7 than OSX ( 95% of the time ) so Win 8 floors it too. Arranging windows in Win 8 when you have Metro and Desktop mixed is a bit more work than arraigning windows in 7 but still miles easier than the constant shuffle the cards that is OSX.

VS 2013

THANK THE GODS FOR THE DARK SKIN! On the small screen of the Pro 10.5”( 1366 x 768 ) it’s not comfortable, to many small buttons, menu, tables, options.. it’s too cluttered to be really practical.. it works, you can use it, the pen helps. But for long term coding you would want a bigger screen. So not the ideal Cafe Coder experience, but it would still be easier and nicer to the Cafe staff than having your Laptop + testing device, as it is all in one, less table space.

The 2 screen workflow.

This is king! You have VS up on the big screen and you can then edit and interact with your app on the touch screen ( a setup VS will automatically detect and execute ) while seeing the debugger in real time. This is like running XCode connected to the iPad. Except better…

1.) There is no app package and transfer time. You are on the device, you just incremental compile and run, it loads and pulls all assets live from the HDD, since it’s the same HDD there is no copy time. This make cycle times MUCH shorter. There is also another feature which mitigates a lot of this anyway in VS but more on that latter.

2.) Debug keys are awesome, if you have only dev’d for iOS you probably don’t know this, they are. Since you have full windows you have full keyboard support, or controller if you want to. You know those bugs on the 4th screen after you open the app, select something, enter some details, make another choice press a button.. wouldn’t it be nice if on the first screen you could just press F3 and just jump straight to the screen… you can.

3.) Assets live load, so you can just edit the image and save then make the app reload the image, no need to restart the app. All that time spent doing a tweak, save, compile, wait for app to install, load, get to the screen I want to see it on, it didn’t notice I changed the asset, clean, full compile, wait for app to install, get to the screen I want to see it on, no quit, rinse repeat GONE.

4.) You can run ALL of your dev tools on the device. How will this image look on the screen, draw it on the screen, it runs your image editor, vector program etc. Can I touch this button easily, you are on the screen press it and see right now. Are you a UX person, do you use Axure to do wireframe prototypes and test the UI in, want to test it on the final form factor, SP 1 & 2 run Axure, with live testing, you don’t even need to buy it again, you can just install the one you have now.

5.) Edit and Continue. If you are like me, you make a bunch of macros which define all you constants as static const on release and just static on debug. This way you can set a breakpoint in LLBD, it really needs to be in the file otherwise it will give you ‘not in context error’ msgs even though they are static and then you can use the debugger to prod the consents, run , test, go again. Once happy jot the values down… stop the app, edit the values in the code file and get on with the next step. Edit and continue makes this go away. Pause the app ( just hit the button doesn’t matter where it stops ), edit the code, hit F5 repeat until happy, that is it.

6.) LINQ data sources are Voodoo.

7.) It’s windows so you get all the windows management plus Snapping to make using multiple programs at once easier. You can even have 2 desktops snapped in different sizes on the 2 different screens.

8.) app sharing.. Yes the client will need to open a CMD prompt the first time.. this is a lot easier to explain than how to get a UDID. And I’m sure it’s something I could put into a BAT file for them. Then I export the app, drop it to them in skype. They download double click, install and use. I have done a change and updated the client in 3 mins. I would have still be waiting for the testflight app to see my new archive on my mac. The “oh hey can we get this on Blah blahs PC, I want them to see it.” Sure send the CMD instructions and the app.. 5 mins latter blah blah has the app to test. No UDID back and forth, no provisioning profiles, no certificates, no websites…

9.) the editor has visual and TEXT editing. XAML is a text file as well, so you can cut and paste areas of it, from one file to the next, duplicate rows and areas on the same screen, add it to your snippets. Or find in answers on the web. No more well I made a button, then I put a view next to it and made it X,Y then I right clicked it and dragged the line from this to that, then I move the button to here then I did this and then… Just here is the XAML copy paste it into yours and you can see exactly how it is set up.

10.) You know how I said XAML is a text file, one that a human can edit and read.. well that means you can MERGE them… No more two people need to edit a nib or worse still a storyboard object ( having it so only one person can edit the whole UI at once is a big reason ( not the only ) I have abandoned storyboards ) what do we do, well person A goes first then lets person B know, so they can sync. GONE both edit both check in, one just mergers an easy to read text file.

It’s not all Roses…

1.)    Windows App Store is new tech to MS, and it has new systems and new limits.. This means MS documentation ( which blows Apples we made a doc 4 years ago and it only gives you a list of what you can call out of the water ) can get difficult to find for the exact right case. XAML Siverlight VS XAML Windows VS XAML Windows App Store then you also want the XAML C#/C++ or the XAML JS version and not the Windows App Store Phone versions either. The good thing is ALL version are there and everything is in all the languages, just when you do a web search you have to be careful to get the RIGHT one. The other good news MS NOW FINALLY got 1 app 1 tech for ALL platforms making the Windows Store Desktop/Phone at thing of the past. Once you find the right area you will fine. Also you will not be reading how to do things on Stack Overflow anymore… like I know the Audio Recorder says you can use the MP3 format flag but it’s not supported. UIView animations with Blocks are awesome unless you want to change the background colour of a UILabel that is not supported, no it’s not in the docs.

2.)    The XAML editor is new and is not up to snuff. For starters I expect a gamut of align and spacing options, I want to select 3 things and evenly space them out with the click of a button. VS 2013 hasn’t quite hit the touch screen world yet, it’s still in the desktop world. On Win 7 there is no button to do that, and I don’t care. I would never use it. Win 8 I want it, it’s a MUST have. I hope they add it in a service pack, I don’t want to have to wait till VS 2014/5 for it…

3.)    There are no Ray Wenderlich for Windows yet, so if you are not a coder but a Google copypasta you are going to be sitting in a dry empty desert with no well to drink from.


When developing for hardware it’s always nice to be able to dev on more powerful hardware. When making something for a Commodore 64, were you have to make and run the app in the 64K , it’s a pain, you compile for Disk or worst Tape ( that’s a 30 mins assemble ) So as soon as the A500 hit the scene, cables were soldered dev was moved. Assemble and edit with the A500s bigger disks, 1M of RAM. SNES compile on the Amiga, them the PC. Making a PC game, you have your super powerful PC to work on and a standard PC to run on. The Surface Pro is the next step up from the iPad. It gives you the form, the fell of the iPad but lets you develop faster and easier. Due to it having more power, better tools and better workflow. A SP2 + Dock + Monitor < Mac + iPad + Monitor, so your hardware costs are down, your productivity is up. Once you have a completed app, which you can also sell and get early feedback on while you do a down port to iOS with a Mac. If only Apple would relent and we could make iOS from VS, it compiles ARM after all.

Good news, I’ve just got the Bar Code scanning feature working for DMC 117 threads…now to find the bar codes for the rest of them…..

The first two designs of the Roo rage, For you and For you too are now available in kit and Chart format.

The design fits within an  8″x6″ ( 20x15cm ) frame.
Uses 15 colours.
Contains Full Stitches, 3/4 stitches, backstitch and 1 French Knot, which could be replaced with a bead.
The colour chart provides DMC 6 strand, Anchor 6 strand and Madeira 6 strand values. Although DMC is recommended as it is what the chart was designed in.
The chart comes as a PDF with both the cover page (show above) a Colour Chart and a Black and White chart, each chart is a single A4 page.

For best results use Antique White Aida fabric, as it really makes the white of Roo pop out.

There is also a mirrored Pink Version available.

Charts cost $4.50AUS from http://www.etsy.com/shop/touchscreencraft
Kits of this design can be purchased from anywhere that carries the Classic Embroidery Range such as http://www.choicesembroidery.co.uk/acatalog/Classic_Embroidery_Cross_Stitch.html

Megan over at GenerationQ has done a round-up of apps for stitchers, Thread Tracker makes an appearance ( although it should be noted there is a iPad enhanced version of the App ).

Full details are here http://generationqmagazine.com/2011/08/scoop-app-attack-part-2-2/

I have added a new walk through/how-to for the Thread Tracker range with images on the Thread Tracker page. https://touchscreencraft.wordpress.com/thread-tracker/

%d bloggers like this: