Silkworm quick display analysis
Game is composed of 3 panels:
320 x 16 (score area)
320 x 168 (game area)
320 x 16 (credits, time, lives left, baddies left until Goosecopter)
Screen updates 50fps, 4 bitplane mode (16 colours), double buffered.
Background display scrolls 1 pixel every frame, and the parallax layer scolls 1 pixel every 2 frames. (Most of the game screen is the background layer)
Sprites are used for all bullets (player and baddies). Goosecopter and end of level explosions are not sprites. (Tested by turning off all sprites!)
Player, baddies, ground weapons are all blitted onto the screen.
Game does not use sprite collision for detecting bullet hits.
Scrolling area stores a row of data for bitplane 1, then a row of data for the hidden screen, then bitplane 2 etc.
The modulo for the 4 bitplane screen is a whopping $256 (598 bytes), so each screen area is very wide and only 320 pixels of it is displayed. Between the current screen and the double buffered screen is a gap of $34 (52 bytes).