// HARDWARE DEEP DIVE :: 8 & 16 BIT COMPUTERS
# 8-BIT MACHINES
▸ Commodore 64 – VIC-II sprites, SID audio
▸ ZX Spectrum – colour clash & ULA tricks
▸ Atari 800 – ANTIC & GTIA chipset
▸ Apple II – softswitch & hi-res graphics
# 16-BIT POWERHOUSES
▸ Amiga 500 – Copper & Blitter, parallax
▸ Atari ST – MIDI & demoscene
▸ Mega Drive (Genesis) – VDP & 68k asm
▸ Amstrad CPC – Mode 7 & HDMA effects
// C64 PROGRAMMING
Memory map & background colour
; Commodore 64: change background colour (green $0D)
LDA #$0D
STA $D021 ; background color register
; sprite pointers at $07F8
; VIC-II bank: $D000–$DFFF
Raster interrupt skeleton
; Set up raster IRQ at line 100
SEI
LDA #<raster_isr
STA $0314
LDA #>raster_isr
STA $0315
LDA #100
STA $D012 ; target raster line
LDA $D011
AND #$7F
STA $D011 ; clear bit 8 of raster
LDA #$01
STA $D01A ; enable raster IRQ
CLI
raster_isr:
INC $D020 ; flash border – replace with effect
ASL $D019 ; ack IRQ
JMP $EA31 ; return via KERNAL
// AMIGA 500 – COPPER & BLITTER
amiga:~$ cat copper_notes.txt
Copper runs in sync with the beam – change colours mid-screen for free gradients.
Blitter handles fast block moves: fills, line draws, sprite compositing in hardware.
OCS chip set: 32 colours on screen (EHB: 64), 8 hardware sprites, 4-channel audio.
// AMSTRAD CPC – HARDWARE
amstrad:~$ cat cpc.txt
Amstrad CPC 464/664/6128 – Z80A CPU at 4 MHz, up to 128KB RAM.
Gate Array controls display modes: Mode 0 (16 col), Mode 1 (4 col), Mode 2 (2 col).
AY-3-8912 sound chip, 3 channels. Tape and 3" disc storage.