This time I used a 320-pixel wide video mode, scrolling 2 pixels per frame.
The video memory layout is a bit complex as it only uses 8kb RAM.
The jittery left/right columns are hidden in the border on most TVs.
Source code, program and graphics to try on real zeddies will follow.
For now a quick preview:
For a very long time I've admired the demo effect of scrolling or panning a long picture. Not for its technical merit, which is not that hard to do, but for its artistic value in presenting still pictures that morph.
M.C. Escher is a long time favorite artist of mine, and his Metamorphosis I+II+III are very good pictures to show off this technique.
This tapestry scroller works on a ZX81 equipped with a ZXpand or ZXpand+. Since the hires graphics are streamed from the SD-card one row at a time, it is possible to scroll pictures that are as long as the card will fit, which is VERY long.
The technical challenge in this project was to make a 320-pixel wide video routine able to wrap around an 8k boundary in real time. The row-addressing is not trivial, but works very well.
Source code is enclosed, released as public domain. Hopefully someone will get some joy from it.
I used jasm-z80 for this project, a very nice assembler available at: https://bitbucket.org/bjonte/jasm
The file pan.p works at 50Hz.
The program streams data from the metawide.bin file.
- (153.55 KiB) Downloaded 162 times
Zedragon already uses this technique to a very good effect.
I think a decent shoot-em-up would be possible, somewhere along the lines of R-type maybe? I won't do it though, not my cup of tea.
Doodle jump is an even better fit for the HW-scrolling. Not that much moving around per frame, except the playfield scrolling, which is nearly free.