60x44 low res mode

The place for codemasters or beginners to talk about programming any language for the Spectrum.
Post Reply
User avatar
DenisGrachev
Dizzy
Posts: 88
Joined: Fri Feb 09, 2018 2:32 am
Location: Novosibirsk, RU
Contact:

60x44 low res mode

Post by DenisGrachev »

Hi, during a development of Twinlight i've made a lot of tests with a color lowres mode with 4x4 pixels.
I've found a 48k machine are not enough for me, but i think it may be useful for someone :)

So, here it is. A NIrvana based 60x44 low res test. It grab a attribute value during a nirvana loop and inject it to nirvana code )
Also there is a dirty setPixel proc to draw a single color pixel.

Image

Have fun!

https://www.dropbox.com/s/r6ytv7l9feg0m ... 3.zip?dl=0
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: 60x44 low res mode

Post by Ralf »

Why 60x44 and not 64x48? It's possible to do it full screen.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: 60x44 low res mode

Post by Nomad »

Could do some great Atari 2600 ports.
User avatar
MatGubbins
Dynamite Dan
Posts: 1238
Joined: Mon Nov 13, 2017 11:45 am
Location: Kent, UK

Re: 60x44 low res mode

Post by MatGubbins »

Looks great. thank you for sharing.
User avatar
DenisGrachev
Dizzy
Posts: 88
Joined: Fri Feb 09, 2018 2:32 am
Location: Novosibirsk, RU
Contact:

Re: 60x44 low res mode

Post by DenisGrachev »

Ralf wrote: Tue Feb 13, 2018 11:04 am Why 60x44 and not 64x48? It's possible to do it full screen.
Sure, for 128k using a shadow screen :)

As for 48k i think with Nirvana+ we can do 64x42 or so, but Nirvana+ more complex than Nirvana it'll be little harder, i think.
User avatar
Seven.FFF
Manic Miner
Posts: 735
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: 60x44 low res mode

Post by Seven.FFF »

This is great! Like Radastan lite :)
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
chernandezba
Microbot
Posts: 168
Joined: Tue Nov 28, 2017 7:39 am

Re: 60x44 low res mode

Post by chernandezba »

60x44 nirvana? why you need nirvana to do that?

You can do 64x48 without any scanline "tricks". It's like the zx81 "graphic" standard mode + paper + ink
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: 60x44 low res mode

Post by Ersh »

chernandezba wrote: Mon Feb 19, 2018 1:18 pm You can do 64x48 without any scanline "tricks". It's like the zx81 "graphic" standard mode + paper + ink
You can't have 4 individual colours in one 'char' without a raster split somewhere.
chernandezba
Microbot
Posts: 168
Joined: Tue Nov 28, 2017 7:39 am

Re: 60x44 low res mode

Post by chernandezba »

Well I forgot the 32x24 attribute limitation ;) So it's possible to 64x48 but combining paper/ink...
User avatar
DenisGrachev
Dizzy
Posts: 88
Joined: Fri Feb 09, 2018 2:32 am
Location: Novosibirsk, RU
Contact:

Re: 60x44 low res mode

Post by DenisGrachev »

chernandezba wrote: Mon Feb 19, 2018 1:56 pm So it's possible to 64x48 but combining paper/ink...
It's possible to 64x24 or 32x48 by just combining ink|papper without raster tricks
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: 60x44 low res mode

Post by RMartins »

DenisGrachev wrote: Tue Feb 20, 2018 5:49 am ...
It's possible to 64x24 or 32x48 by just combining ink|papper without raster tricks
Yes, but we will always get a rectangular "pixel", either vertical or horizontal, respectively.
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: 60x44 low res mode

Post by Ralf »

I did once a part of a demo using 64x48 mode in Spectrum 48. That's my only demoscene achievement in my entire life ;)

The demo is called Mission Highly Improbable, the girl on the combined screenshot below is my job:

http://www.pouet.net/prod.php?which=62802
Image

And the Youtube video. My part starts at 4:00
[youtube]https://youtu.be/dGl1uVeRbsQ[/youtube]

Actually I was able to do this multicolor in a loop. So the code doesn't take 8 kilobytes or so like in Nirvana where it is all unrolled but only about 300 bytes.

Of course Nirvana does a more ambitious job - it does 8x2 attributes not 8x4 so a loop would be too slow for such effect.
User avatar
Joefish
Rick Dangerous
Posts: 2041
Joined: Tue Nov 14, 2017 10:26 am

Re: 60x44 low res mode

Post by Joefish »

It's pretty easy to do 24-character wide 8x2 attributes in a loop, copying from a buffer.
But 64x48 graphics are even easier on a 128K - you just switch between two screens every four scanlines.
User avatar
Seven.FFF
Manic Miner
Posts: 735
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: 60x44 low res mode

Post by Seven.FFF »

Joefish wrote: Wed Feb 21, 2018 2:43 pm But 64x48 graphics are even easier on a 128K - you just switch between two screens every four scanlines.
I had an idea to make a multicolour speedloader doing exactly this. Although it would probably be a slowloader :D Would work best on the kind of graphics where there's lots of gradual incremental changes in the animation. Like two separate areas of the screen, one dissolving in while the other dissolves out, or something.

Zeus has some nice tools for writing custom loaders. It has a mode 4 loader with a data callback for your custom effects, and a simulation of speed errors and wow/flutter for testing how tolerant your code is. You bake the data into a section that gets loaded first, then it supplies data indexes in the callback so you can look them up and do small progressive changes.
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
Post Reply