↓
 

L Break Into Program, 0:1

Retro Programming Made Simple

  • 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
  • Computers
    • ZX Spectrum
      • Hardware
      • 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
    • ZX81
      • Hardware
  • Links
  • Area 51
    • Run Demos
  • About Me

Category Archives: Code

Source Code

Post navigation

← Older posts

Homebrew Z80 Computer (Part 3)

L Break Into Program, 0:1

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 …

New demo – Simple 3D engine

L Break Into Program, 0:1

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 …

Smooth Scrolling on the ZX Spectrum (Part 1)

L Break Into Program, 0:1

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 …

Post navigation

← Older posts

Search

Recent Posts

  • Pico-mposite Update
  • BBC Basic for the Cerberus 2080 (Part 1)
  • BBC Basic for the Cerberus 2080 (Introduction)
  • BBC Basic for the Spectrum Next (Part 1)
  • BBC Basic for the Spectrum Next (Introduction)
  • Composite Video on the Raspberry Pi Pico
  • Fixing a Poorly Commodore 64 (Part 3)
  • Fixing a Poorly Commodore 64 (Part 2)
  • Fixing a Poorly Commodore 64 (Part 1)
  • Fixing a Poorly Commodore 64 (Intro)

Categories

  • Hardware (42)
    • Acorn BBC Micro (3)
      • Repairs (3)
    • Commodore 64 (4)
      • Repairs (4)
    • Spectrum Next (1)
    • ZX Spectrum (17)
      • Repairs (10)
    • ZX81 (2)
      • Repairs (1)
  • Musings (18)
  • Projects (16)
    • Cerberus 2080 (2)
      • BBC Basic (2)
    • Harlequin (1)
    • High Altitude Balloon (1)
    • Homebrew Z80 (8)
    • Pico (2)
    • Spectrum Next (2)
      • BBC Basic (2)
  • Reviews (3)
  • Software Development (27)
    • Code (13)

Tags

6502 Assembly AY-3-8912 Bare Metal BASIC BBC Basic BBC Micro C++ Clock Commodore 64 Composite Video Debugging DMA Emulator Game GitHub Goat Hardware Homebrew Interrupts Maths Networking Pico PIO Power Supply Programming RAM Raspberry PI Recap Repair Scouts Screen Scrolling SD Card Self Modifying Sound Spectrum Spectrum Next Sprites Tim Follin USB WiFi YouTube Z80 ZX81
©2022 - L Break Into Program, 0:1
↑