background preloader

6502

Facebook Twitter

Z-80. The 8-bit Z-80 processor was very popular in the late 1970s and early 1980s, powering many personal computers such as the Osborne 1, TRS-80, and Sinclair ZX Spectrum.

Z-80

It has a 16-bit incrementer/decrementer that efficiently updates the program counter and stack pointer, as well as supporting several 16-bit instructions and memory refresh. By reverse engineering detailed die photographs of the Z-80, we can see exactly how this increment/decrement circuit works and discover the interesting optimizations it uses for efficiency. The Z-80 microprocessor die, showing the main components of the chip. The increment/decrement circuit in the lower left corner of the chip photograph above.

This circuit takes up a significant amount of space on the chip, illustrating its complexity. The fundamental use for an incrementer is to step the program counter from instruction to instruction as the program executes. The incrementer/decrementer in the Z-80 is also used for a variety of other instructions. Secrets of Arduino PWM. Pulse-width modulation (PWM) can be implemented on the Arduino in several ways.

Secrets of Arduino PWM

This article explains simple PWM techniques, as well as how to use the PWM registers directly for more control over the duty cycle and frequency. This article focuses on the Arduino Diecimila and Duemilanove models, which use the ATmega168 or ATmega328. If you're unfamiliar with Pulse Width Modulation, see the tutorial. Briefly, a PWM signal is a digital square wave, where the frequency is constant, but that fraction of the time the signal is on (the duty cycle) can be varied between 0 and 100%. PWM has several uses: Dimming an LED Providing an analog output; if the digital output is filtered, it will provide an analog voltage between 0% and 100% . Simple Pulse Width Modulation with analogWrite The Arduino's programming language makes PWM easy to use; simply call analogWrite(pin, dutyCycle), where dutyCycle is a value from 0 to 255, and pin is one of the PWM pins (3, 5, 6, 9, 10, or 11). Timer Registers Fast PWM. Oric Atmos on Pipistrello - Pipistrello - Gadget Factory Forum.

Following in the trails of ZX Spectrum on Pipistrello I present you with...

Oric Atmos on Pipistrello - Pipistrello - Gadget Factory Forum

Oric Atmos on Pipistrello. The Atmos is dear to my heart as it is my first personal computer I used when I was young. While all my friends were playing games on their Spectrums and Commodores I was bucking the trend spending countless hours with my Oric, my soldering iron and my Oric bible, the "Oric Advanced User Guide" writing 6502 machine code (back in those days we didn't have assemblers and compilers The only reason this is "for the Pipistrello" is because the Papilio Pro is one RAMB block short of being able to fit the design.

The Oric Atmos 48K as the name implies has 48KB RAM and 16KB ROM. I have uploaded the source code for you to play with it. After a large number of hours simulating and fixing issues I got it down to 38 warnings and only one gated clock. Untitled. Untitled. Anatomy of an Ignite Talk. Connect Arduino to Your Car. The Arduino OBDCAN Shield connects Arduino board to CAN OBD-II compliant car, light truck, or motorcycle.

Connect Arduino to Your Car

For those who don’t know, OBD stands For ‘On-Board-Diagnostics’. OBD, is an automotive term referring to a vehicle’s self-diagnostic and reporting capability. OBD systems give the vehicle owner or repair technician access to the status of the various vehicle sub-systems. The Arduino OBDCAN Shield is an OBD to UART interpreter hiding all the complexity of OBD protocol and exposing it as a simple request/reply interface with the help of OBDCAN library. Using this shield is ideal for OBD data logger or scanner application. Read. Blogland. Easy 6502 by skilldrick. Introduction In this tiny ebook I’m going to show you how to get started writing 6502 assembly language.

Easy 6502 by skilldrick

The 6502 processor was massive in the seventies and eighties, powering famous computers like the BBC Micro, Atari 2600, Commodore 64, Apple II, and the Nintendo Entertainment System. Bender in Futurama has a 6502 processor for a brain. Even the Terminator was programmed in 6502. So, why would you want to learn 6502? (Actually, I’ve been reliably informed that 6502 processors are still being produced by Western Design Center and sold to hobbyists, so clearly 6502 isn’t a dead language! Seriously though, I think it’s valuable to have an understanding of assembly language. Then why 6502? Our first program So, let’s dive in!