I've done another program that streams a graphics file from the ZXpand SD-card at 50fps.
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:
https://youtu.be/3JCbfZnvr78
Tapestry wide
-
- Posts: 330
- Joined: Sat Sep 27, 2014 8:02 pm
- Location: Stockholm, Sweden
Tapestry wide
Last edited by nollkolltroll on Fri Dec 07, 2018 12:53 pm, edited 1 time in total.
/Adam
-
- Posts: 330
- Joined: Sat Sep 27, 2014 8:02 pm
- Location: Stockholm, Sweden
Re: Tapestry wide
Tapestry wide v1.0
------------------
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.
------------------
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.
- Attachments
-
- tapestry_wide.zip
- (153.55 KiB) Downloaded 450 times
/Adam
Re: Tapestry wide
Superb work as always,Adam,many thanks for this.
Re: Tapestry wide
Brilliant stuff indeed, Shame the humble zeddy doesn't have sprites... Imagine some awesome scrolling action games...
Thanks for sharing this with us.
Andy
Thanks for sharing this with us.
Andy
what's that Smell.... smells like fresh flux and solder fumes...
Re: Tapestry wide
Brilliant !
-
- Posts: 330
- Joined: Sat Sep 27, 2014 8:02 pm
- Location: Stockholm, Sweden
Re: Tapestry wide
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.
/Adam