↓
 

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

Tag Archives: Assembly

Post navigation

← Older posts

BBC Basic for the Cerberus 2080 (Part 1)

L Break Into Program, 0:1

In the previous post I mentioned at the end that the BIOS, running on the ATMega328p, was only capable of communication one way. There are a couple of mailbox memory locations that are used to pass keystrokes to the 8-bit CPUs (Z80 or 6502), yet no way of receiving data back, other than an acknowledgement that the keystroke has been processed. In order to make the BIOS a bit more BASIC-friendly, I needed to 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
↑