Upgrading CPUVille SBC ROM

Introduction to Upgrading CPUVille SBC ROM In this section, we’ll walk through the process of Upgrading CPUVille SBC ROM to version 15. This is a Z80 Computer which was designed by Donn Stewart. You can purchase the computer, and the bus display kit (slow board) from the CPUVille website. It Read More »

Upgrading CPUVille SBC ROM

1802 Membership Card Timer

Introduction to the 1802 Membership Card Timer In this section, we’ll crate a scan based 1802 Membership Card Timer using BASIC3. The 1802 Membership card uses the COSMAC 1802 Processor. Since we are basing the timer on the scan rate, you may have to vary the delay loops to calibrate Read More »

1802 Membership Card Timer

COSMAC 1802 I/O Operations

Introduction to COSMAC 1802 I/O Operations COSMAC 1802 I/O Operations allow us to get data from an input port, and write data to an output port. In this case, I’m using the 1802 membership card. On the 1802 Membership Card, we use Port 4 for both the switches and the Read More »

COSMAC 1802 I/O Operations

Assembly Programming Tips

Introduction to Assembly Programming Tips In this section, I’m compiling a list of Assembly Programming Tips. Mainly, this is for manipulating data in assembly language. Most of these methods will work with any processor. It’s important to realize, though, that you might have special instructions in some processors that handle Read More »

Assembly Programming Tips

6502 Stack Operations

Introduction to 6502 Stack Operations 6502 Stack Operations are very useful in programming. You can temporarily store data that you need to retrieve later. Specifically, we might use the stack when calling subroutines in the 6502. We might back up register data that we need to retrieve later on. The Read More »

6502 Stack Operations

Assembly Language Addressing Modes

Introduction to Assembly Language Addressing Modes There are several Assembly Language Addressing Modes that we will discuss in this section: Immediate, Direct, Indirect, base-pointer, and Indexed mode. There are other modes, but these are the main modes you will use when starting out in assembly. Depending on which processor you Read More »

Assembly Language Addressing Modes

Customized System Training with ControlLogix

Introduction to Customized System Training with ControlLogix Customized System Training with ControlLogix uses your own schematics, and your own programs to TRAIN your students. If you are sending students to seminar-type training, then your students may not be getting the most out of the class. Your plant programs are proprietary. Read More »

Customized System Training with ControlLogix

Hello World in Modern Assembly

Creating Hello World in Modern Assembly To create Hello World in Modern Assembly (x86 / x64) we’ll need to have an assembler installed. In this case, I’m using the GNU Assembler (GAS). I’ll set this up in Debian Linux. This assembler is in the “build-essential” package. We’ll walk through the Read More »

Hello World in Modern Assembly

Assembly Registers and Compatibility Modes

Introduction to Assembly Registers and Compatibility Modes Before we begin to program, we need to understand Assembly Registers and Compatibility Modes. In this case, we’ll discuss Assembly Language with the x86 / x64 processors. Assembly is a low level language that allows you to write machine code without the need Read More »

Assembly Registers and Compatibility Modes

Modern x86_64 Assembly Language

Overview of Modern x86_64 Assembly Language Mnemonics Modern x86_64 Assembly Language allows us to write programs on your computer.. Assembly is a low level language. In other words, you are basically writing machine code directly. This forces you to have a good understanding of how the processor and memory work Read More »

Modern x86_64 Assembly Language