↓
 

L Break Into Program, 0:1

Retro Computer Preservation

  • Home
  • Programming
    • BASIC
      • Part 1: Hello!
      • Part 2: Variables
      • Part 3: IF…
      • Part 4: Loops
      • Part 5: Subroutines
    • Assembly Language
      • Primer
        • Part 1: Numbers
        • Part 2: Maths
        • Part 3: Branching and Loops
      • Z80
        • Z80 Opcodes
  • Hardware
    • Computers
      • Agon
      • ZX81
        • Motherboard
      • ZX Spectrum
        • Motherboard
        • Memory Map
        • Keyboard
        • Screen Memory Layout
        • Interrupts
        • Sound
        • Character Set
        • Assembly Language
          • Z80 Development Toolchain
          • Z80 Tutorials
          • Z80 Library Routines
          • Z80 Demos
      • ZX Spectrum Next
        • Assembly Language
          • Z80 Development Toolchain
          • Z80 Library Routines
          • Z80 Demos
    • Components
      • Z80
      • 8250 UART
  • Links
  • My Collection
  • About Me

Category Archives: Code

Source Code

Post navigation

← Older posts

Homebrew Z80 Computer (Part 3)

L Break Into Program, 0:1 Posted on May 14, 2020 by Break Into ProgramNovember 3, 2020

I left the project in the previous post with a ROM on-board, but still running NOPs – it was running an EEPROM filled with zeros. The next step is to find a way to run programs and see the output. In order to do that I will need to do a few things: Add an STM32 ‘Blue Pill’ microcontroller to handle I/O Add an LCD display module to output debug information from the STM32 Add …

Posted in Code, Homebrew Z80, Software Development | Tagged AY-3-8912, C, Homebrew, STM32, Z80

New demo – Simple 3D engine

L Break Into Program, 0:1 Posted on April 10, 2020 by Break Into ProgramApril 10, 2020

One of the demos I’ve carried across nearly all the platforms I’ve worked on is the rotating cube demo, typically with back-face culling (hidden line/face removal), perspective, and fast integer maths. The code has been ported to the Gameboy, CPC, PC, Atari ST and Scratch. On more capable systems I usually add filled-in polygons with simple texture mapping and Gouraud shading I first wrote this demo around 30-odd years ago for the Spectrum, and I …

Posted in Code, Software Development | Tagged 3D, Assembly, GitHub, Maths, Programming, Spectrum, Z80

Smooth Scrolling on the ZX Spectrum (Part 1)

L Break Into Program, 0:1 Posted on February 22, 2020 by Break Into ProgramFebruary 22, 2020

The Spectrum screen handling is not the most straightforward and, with lack of hardware sprites, scrolling, and an awkward layout, can be intimidating at first. This post details how I managed to scroll a 24×24 character block of tiles on the Spectrum within one VBLANK interval. The scroll routine employs a number of tricks to achieve this by: Using the stack pointer (SP) to fetch tile data and push it to the screen. Using self-modifying …

Posted in Code, Hardware, Software Development, ZX Spectrum | Tagged Assembly, Scrolling, Z80

ZX Spectrum development with modern tools

L Break Into Program, 0:1 Posted on February 2, 2020 by Break Into ProgramApril 4, 2020

I’ve been using the ZXSpin emulator for a while now to develop code on the ZX Spectrum. This has many advantages, namely an integrated assembler and disassembler, but quite a few quirks, and the editor, whilst adequate for small projects, is not really up to scratch for large ones. In addition, my main machine is an old Macbook, so have to boot into Windows on it to do any software development. My criteria for the …

Posted in Code, Software Development, ZX Spectrum | Tagged Assembly, Debugging, Programming, Z80

Smooth Scrolling on the ZX Spectrum (Intro)

L Break Into Program, 0:1 Posted on February 1, 2020 by Break Into ProgramFebruary 22, 2020

I’ve been writing a smooth scroll routine for the ZX Spectrum over the last few days, based upon my recollection of conversations I’d had with Mike Follin at Software Creations whilst he was developing LED Storm and Ghouls ‘n Ghosts. The code is written purely in Z80 assembler and demonstrates the following techniques: Using the stack as a quick way to read and write blocks of data Using the vertical blank interrupt to run a …

Posted in Code, Software Development, ZX Spectrum | Tagged Assembly, Programming, Racing the Beam, Scrolling, Spectrum, Sprites, Z80

Post navigation

← Older posts

Search

I ran the 2025 Manchester 10K in aid of

Click here to sponsor me

Recent Posts

  • Installing a Gotek in a Tatung Einstein TC-01
  • A guide to EinTrans
  • Installing a WCH CH352 PCI serial card on a Linux PC
  • Retro Computer Festival 2024
  • Don’t trust a multimeter with a low battery
  • Retro Computer Festival 2024 – Exhibit 4
  • Retro Computer Festival 2024 – Exhibit 3
  • Retro Computer Festival 2024 – Exhibit 2
  • Retro Computer Festival 2024 – Exhibit 1
  • Recreating my ’80s dev system (Epilogue)

Categories

  • Events (6)
  • Hardware (56)
    • Acorn BBC Micro (3)
      • Repairs (3)
    • Commodore 64 (4)
      • Repairs (4)
    • Spectrum Next (1)
    • Tatung Einstein (8)
    • ZX Spectrum (25)
      • Repairs (13)
    • ZX81 (2)
      • Repairs (1)
  • Musings (20)
  • Projects (19)
    • Cerberus 2080 (2)
      • BBC Basic (2)
    • Harlequin (1)
    • High Altitude Balloon (1)
    • Homebrew Z80 (8)
    • Pico (5)
    • Spectrum Next (2)
      • BBC Basic (2)
  • Reviews (3)
  • Software Development (28)
    • Code (13)
  • Twop Twips (1)
  • Uncategorized (1)

Tags

6502 Assembly AY-3-8912 BASIC BBC Basic BBC Micro C++ Clock Commodore 64 Composite Video Debugging DMA Electronics Emulator Game GitHub Hardware Homebrew Interrupts Maths PC PCB Pico PIO Power Supply Programming Python RAM Raspberry PI Recap Repair Retro Festival Scouts Screen Scrolling SD Card Sound Spectrum Spectrum Next Sprites Tatung Einstein Tim Follin YouTube Z80 ZX81
©2025 - L Break Into Program, 0:1
↑