This is something I've been working on. It's not much. It's very basic, but the motion took way too long to get working the way I like. It's my 2nd game, so I'm still figuring things out: mostly audio and sprite positioning. It's coded in assembly.
It started out as a background scrolling experiment. Then it became a kick ball game. Then I added motion acceleration. Then the player became a space ship. I suppose now it's going to be a shoot 'em up.
The ground detail was supposed to be 1 line resolution, but that didn't leave enough cycles left, so it's a 2 line kernel now. The ground pattern is generated by an algorithm at compile time and repeats on a 64 byte cycle. I was thinking about doing horizontal scrolling too, but I'm not sure yet. I'm going to add some alien ships and some ground bases. It'll be about defending an exoplanet colony called Proton.
It's also using my code for table driven vertical positioning. It's an algorithm that uses a generic table of offsets, which is referenced by pointers. It shaves off a couple cycles at the expense of ROM (2 x 192 bytes + SpriteHeight). All sprites share the same table, so it's not duplicated. I'll put code samples in a blog post later on.