Oli's old stuff

Tinkering with retro and electronics

Jan 5, 2022 - 4 minute read - amstrad cpc z80 retro breadboard electronics hardware rc2014 bbz80

Breadboard Z80 Computer - Part 3

This is the third post in a series about building an RC2014 compatible Z80-based machine from scratch. It’s based loosely around the Amstrad CPC 464. In the last post I talked about designing the Z80 Cpu module and the backplane. Clock Module One of the things that a CPU needs to operate is a clock. It’s the thing that ticks through each cycle and makes the CPU does its thing.

Jan 1, 2022 - 7 minute read - amstrad cpc z80 retro breadboard electronics hardware rc2014 bbz80

Breadboard Z80 Computer - Part 2

This is the second post in a series about building an RC2014 compatible Z80-based machine from scratch. It’s based loosely around the Amstrad CPC 464. In the last post I talked about the breadboard computer I started building in early 2021. I’m loosely calling it “bbz80”, but perhaps I need a snappier name. It’s time to move away from breadboards to end up with something without as many wires! System Overview We’re building an 8-bit computer based on the Z80 CPU.

Dec 31, 2021 - 12 minute read - amstrad cpc z80 retro breadboard electronics hardware rc2014 bbz80

Breadboard Z80 Computer - Part 1

Some time in late 2020/early 2021 I started a project to build a Z80-based computer on a breadboard. In this post I’ll take a retrospective look at the initial version of the breadboard machine, the motivations for doing it and some of the design considerations. Then we’ll explore the next steps for the project which I am planning on documenting as I go along. Kit computers Making your own 8-bit computer seems to be a bit of a rite of passage for people with an interest in old stuff and electronics.

Nov 12, 2021 - 8 minute read - amstrad cpc z80 retro gamedev

Amstrad CPC Game Prototype

Recently, I’ve become somewhat intrigued by the Amstrad CPC. It’s a machine I never owned or had any exposure to outside of being about 7 or 8; the only other kid I knew who had any interest in computers showed me a few games on his green screen 464 before remarking that my Spectrum was more colourful. From a technical point of view, the Amstrad CPC 464 is pretty remarkable. 64K of RAM as standard with 2 banks of 16K ROMs built in - and you can page the ROM out to get access to all the RAM underneath.

Nov 12, 2021 - 9 minute read - spectrum amstrad cpc z80 retro gamedev smeg

Image compression in SMEGv2

Image compression in SMEGv2 There’s a few technical differences between SMEG v1 and the current v2 (SMEGCPC) codebase; most of which come about from looking at the original problems in a different way and tackling them without the burden of existing code. One of the “big” ones to talk about is how I am dealing with background images for the scenes. In both versions the “stage” area is 240x128 pixels (or 30x16 char cells).

Oct 27, 2021 - 7 minute read - spectrum cpc z80 retro gamedev smeg

Rebooting SMEG for the Amstrad CPC

Out with the Old I recently started messing about with the Amstrad CPC 464 to learn how to code on it. Specifically questions such as “how does the screen ram work?”, “how do I move software sprites?” and “how does input work?” etc. To speed up this I wrote some code to convert some of my early SMEG sprites into CPC pixel format and started plotting them and moving them around.

May 12, 2021 - 5 minute read - spectrum z80 retro gamedev smeg

What happened to SMEG?

What happened to SMEG? Chances are that a bunch of people reading this post will remember SMEG. Either from the introduction blog entry, the posts on twitter, the itch.io page or maybe you even pre-alpha tested the demo I put out to a couple of insiders. I originally started the project in November 2019 as a way of learning Z80 assembly and the ZX Spectrum hardware. I was (and still am) extremely excited by the idea - a point and click adventure game and system designed for the Speccy.

Feb 6, 2021 - 7 minute read - sinclair electronics retro hardware zx spectrum zxsprite

ZX-Sprite Hardware Prototype - Part 2

ZX-Sprite This is a short series about exploring ZX-Sprite, a fantasy hardware add-on for the ZX Spectrum that aims to bring Spectrum Next style sprites to the 48K and 128K systems. The series ZX-Sprite Introduction ZX-Sprite Prototype - Address decoding ZX-Sprite Prototype - Baremetal Pi GPIO (this post) Going Baremetal Last time we went over how to use a GAL22v10 to decode the 3 ports we need to control the sprite system.

Feb 5, 2021 - 9 minute read - sinclair electronics retro hardware zx spectrum zxsprite

ZX-Sprite Hardware Prototype - Part 1

ZX-Sprite This is a short series about exploring ZX-Sprite, a fantasy hardware add-on for the ZX Spectrum that aims to bring Spectrum Next style sprites to the 48K and 128K systems. The series ZX-Sprite Introduction ZX-Sprite Prototype - Address decoding (this post) ZX-Sprite Prototype - Baremetal Pi GPIO Introduction The last post introduced the idea of ZX-Sprite, a port of the Spectrum Next’s sprite system to the ZX Spectrum hardware.

Feb 5, 2021 - 9 minute read - sinclair electronics retro hardware zx spectrum zxsprite

ZX-Sprite Introduction

The series ZX-Sprite Introduction (this post) ZX-Sprite Prototype - Address decoding ZX-Sprite Prototype - Baremetal Pi GPIO ZX-Sprite: An Introduction Towards the backend of 2020 I started working on a Spectrum Next game; the game uses a couple of the cool features of Next - tilemaps and sprites. As a bit of fun, I started to adapt my emulator to support both of these; mostly because I’ve got into a bit of a nice workflow with this emulator; one that I can’t quite get from CSpect.