Dotneteer's blog

Rock Around the Code.

ZX Spectrum IDE — Part #5: Implementing Z80 instructions (1)

The CPU has more than 1300 instructions, and thus Z80Cpu should take care each of them. In this post, you will learn the implementation details behind a few Z80 instructions.

ZX Spectrum IDE — Part #4: Emulating the Z80 CPU

In this article, you will learn how I used .NET and C# to implement the Z80 Emulator.

ZX Spectrum IDE — Part #3: A Brief Overview of the Z80 CPU

The soul of the ZX Spectrum 48K microcomputer—what a surprise—is the Z80 CPU. Obviously, you need to emulate the CPU to get closer to a full Spectrum emulator. Believe it or not, CPU emulation is not a big challenge compared to other devices of the machine (video display generation, tape emulation, etc.), but it is laborious due to the richness of Z80’s instruction set.

ZX Spectrum IDE — Part #2: The ZX Specrum Emulator Challenge

Today we have powerful computers on our desktops, notebooks and tablets in out satchels, bags or rucksacks, and smartphones in our pockets. In 1983 when my software developer career started—I was 15—, I had only a ZX Spectrum home computer (Figure 1) with an 8-bit Z80A CPU, 48K RAM and a separate cassette tape unit—which was the poor man’s hard disk drive that time.

ZX Spectrum IDE — Part #1: How I Started SpectNetIde

One morning in January 2017, I woke up with the idea of creating a ZX Spectrum emulator. I did not remember that I had dreamed of anything special, but still as I got out of bed, that was the first thought wedged in my mind. As an agile coach and architect, I spend most of my time with small teams that intend to shift to agile software development. I always look for new ideas and approaches to demonstrate the importance of automatic testing. That January morning had me recognized that writing an emulator software offers tremendous opportunities in this field.

VSXReloaded — Part #7: Creating Options Pages with Custom UI

Often, you need to add your custom UI instead of a property grid to provide a better user experience. For example, specifying a color with its textual name is not an excellent way,since you have names only for several dozen colors out of the 16 million available through RGB codes. In this post, you will learn to create your custom options page UI.

VSXReloaded — Part #6: Creating Options Pages

When you implement an extension package for Visual Studio, you often need to provide UI to allow the user to manage package specific settings. Though you can create your custom UI from scratch, there is an easier and faster way to integrate these settings with the IDE—by adding options pages.

VSXReloaded — Part #5: Creating a Package with a Tool Window

You often need to create custom user interfaces for tools and utilities you integrate with the Visual Studio IDE. There are several extensibility points to expand the existing user interface with commands, or output panes. When you want to add an entirely new, separate user interface that can be displayed individually, tool windows provide an easy solution.

VSXReloaded — Part #4: Creating a Package with a Single Command

In this post, you will create a very simple package that adds a command to the Tools menu. When you click the menu item that represents the command, a message box confirms that the command has been invoked.

VSXReloaded — Part #3: Adding an Action to a Package

In the previous posts, you created an empty Visual Studio Package that did not do add any useful functionality to the IDE, except showing up its identity in the Help | About dialog. In this post, you will learn a few more details about VSPackages.

VSXReloaded — Part #2: Creating an Empty Visual Studio Package

There is no better way to learn about Visual Studio Packages than creating a simple one. In this post, I will guide you through the steps of establishing a simple skeleton for your custom VSPackage.

VSXReloaded — Part #1: How to Start Learning Visual Studio Extensibility

It’s been a long time since I wrote my last Visual Studio Extensibility article, back in February 2009. That time—after about two years of active blogging about VSX—I turned to customers and projects that did not allow spending enough time with my favorite topic. Seven years of silence is too...

ES 2015 — New Block-Level Variable Declarations

In contrast to other curly brace programming languages like C, C++, Java, or C#, JavaScript shows some unusual behavior. In this article, you will learn about the new ES2015 block declarations.

Functional JavaScript Programming — Part #1: Introduction

Functional programming is an awesome thing. There are many functional languages out of the space, so if you want to cultivate your knowledge in an artistic level, you can turn to a significant number of them including Haskell, OCaml, F#, ML, Clojure, Erlang, Lisp, and many more.