True interlaced hires graphics
-
- Posts: 325
- Joined: Sat Sep 27, 2014 8:02 pm
- Location: Stockholm, Sweden
True interlaced hires graphics
Here is the source and binary to show the famous test-image Lena in 256x480 interlaced on a ZX81 with 16k WRX.
Code was done in ZX-IDE. Please excuse the poor source, it is a proof of concept, not a good coding example.
I developed this code about 10 years ago, and it is high time someone else saw it and could try it out.
This is the reason EightyOne has the option 'Interlace' in TV Emulation.
This should work on NTSC-equipment as well, but I have no true NTSC TVs to test it on.
It should be possible to combine with B0D0's 320-pixel resolution to get up to 320x512i, but that would require 24k RAM.
The interlace-vsyncs are not really following the standard. It would be possible to follow the standard with half-syncs if needed, but would require some (hairy) code.
Tested on:
- PAL ZX81 with 56k internal WRX-enabled RAM
- PAL ZX81, unmodified, with zxpand
- PAL B/W 5.5" TV, rf and composite video
- computer video-in card, rf and composite video
- Commodore 1081, composite video
Code was done in ZX-IDE. Please excuse the poor source, it is a proof of concept, not a good coding example.
I developed this code about 10 years ago, and it is high time someone else saw it and could try it out.
This is the reason EightyOne has the option 'Interlace' in TV Emulation.
This should work on NTSC-equipment as well, but I have no true NTSC TVs to test it on.
It should be possible to combine with B0D0's 320-pixel resolution to get up to 320x512i, but that would require 24k RAM.
The interlace-vsyncs are not really following the standard. It would be possible to follow the standard with half-syncs if needed, but would require some (hairy) code.
Tested on:
- PAL ZX81 with 56k internal WRX-enabled RAM
- PAL ZX81, unmodified, with zxpand
- PAL B/W 5.5" TV, rf and composite video
- computer video-in card, rf and composite video
- Commodore 1081, composite video
- Attachments
-
- ilena.zip
- (21.57 KiB) Downloaded 637 times
/Adam
Re: True interlaced hires graphics
Thanks, I tested it on my TV and got what I expected.
A nice graphic, but flickering.
Interlacing is not suitable for still pictures, especially for fine graphics.
As the frame repeat rate is halfed from 50 to 25 times per second this will give significant noise (or better flickering) to the eyes.
So that's the reason why all computer manufacturers did not use very high resolution and show the same picture twice for odd and even frames.
This effect is not seen when showing moving pictures (video) of course.
Anyway nice work from you, of course did take long time (8 minutes) to load on my new ZX80CORE II using the standard audio transfer.
A nice graphic, but flickering.
Interlacing is not suitable for still pictures, especially for fine graphics.
As the frame repeat rate is halfed from 50 to 25 times per second this will give significant noise (or better flickering) to the eyes.
So that's the reason why all computer manufacturers did not use very high resolution and show the same picture twice for odd and even frames.
This effect is not seen when showing moving pictures (video) of course.
Anyway nice work from you, of course did take long time (8 minutes) to load on my new ZX80CORE II using the standard audio transfer.
-
- Posts: 325
- Joined: Sat Sep 27, 2014 8:02 pm
- Location: Stockholm, Sweden
Re: True interlaced hires graphics
Good to hear that it works for you too!
I agree, interlaced graphics is very bad for the eyes. Not meant to be used for anything serious, but nice as a proof that the zeddy is more powerful than the speccy
I agree, interlaced graphics is very bad for the eyes. Not meant to be used for anything serious, but nice as a proof that the zeddy is more powerful than the speccy
/Adam
Re: True interlaced hires graphics
Do you think the Speccy couldn't handle this ?
-
- Posts: 325
- Joined: Sat Sep 27, 2014 8:02 pm
- Location: Stockholm, Sweden
Re: True interlaced hires graphics
Can the speccy control the vsync timing? I really have no idea, but it sounded nice
/Adam
Re: True interlaced hires graphics
Not by software, in that point you are right.
Re: True interlaced hires graphics
It can be done on a Spectrum 128 but it is almost impossible on a 48K. I don't think a whole 6144 bytes D-FILE can be updated quickly enough (for sure LDIR is too slow).
For the record, the interlaced mode is implemented on z88dk to be able to run the code using the same "gray" lib available for the TI calculators.. I recently provided also a chroma-81 variant but probably it is useless..
For the record, the interlaced mode is implemented on z88dk to be able to run the code using the same "gray" lib available for the TI calculators.. I recently provided also a chroma-81 variant but probably it is useless..
-
- Posts: 325
- Joined: Sat Sep 27, 2014 8:02 pm
- Location: Stockholm, Sweden
Re: True interlaced hires graphics
The interlacing in z88dk is not the same. That one is used to draw pixels on top of each other to get greyscale effects. This interlace is actually drawing a new field between the old field.
Feel free to add it to z88dk to get higher resolution, but be aware that it IS very flickery!
I suspect that your comment on the spectrum 128 refers to the same greyscale-interlace, not true interlace.
Feel free to add it to z88dk to get higher resolution, but be aware that it IS very flickery!
I suspect that your comment on the spectrum 128 refers to the same greyscale-interlace, not true interlace.
/Adam
Re: True interlaced hires graphics
>I suspect that your comment on the spectrum 128 refers to the same greyscale-interlace, not true interlace.
You're right. Thank you for pointing it out, this means your proof of concept is much more interesting than I thought !
You're right. Thank you for pointing it out, this means your proof of concept is much more interesting than I thought !
- 1024MAK
- Posts: 5118
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
Re: True interlaced hires graphics
As far as I am aware, if you are taking about true interlaced video, no none of the Spectrum models can do this, as all the relevant timing is fixed in the hardware of the ULA. No matter what the CPU does, the ULA scans the same pixels on the VDU.
For a similar reason, a lot of retro computers also cannot do it.
However some retro computers that use a 6845 CRTC can produce a true interlaced display. And also some that use later/more modern custom chips (I'm thinking of 16/32 bit computers).
Mark
For a similar reason, a lot of retro computers also cannot do it.
However some retro computers that use a 6845 CRTC can produce a true interlaced display. And also some that use later/more modern custom chips (I'm thinking of 16/32 bit computers).
Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp
Standby alert
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Looking forward to summer later in the year.