Page 1 of 2

Border colour

Posted: Fri Jul 11, 2014 9:51 pm
by bobs
Here's a question: can you change the border colour (ie not screen) to be black instead of white on a standard ZX81?

I know it goes black during FAST but isn't that just an absence of signal? If it can be done it would like likely change how I design my games.

Bob

Re: Border colour

Posted: Fri Jul 11, 2014 10:33 pm
by 1024MAK
I rather think that it is set by the design inside the ULA...
EDIT: Ignore the above, I'm talking rubbish. Thinking about it, if you were to use your own video routine and not the one in the ROM, it should be possible to have a black border.

Mark

Re: Border colour

Posted: Sat Jul 12, 2014 1:17 am
by PokeMon
This would be hard to program (hires) and decrease the calculation time drastically when reducing the margin top and bottom lines to the unvisible part inside TV. And think about people using inverted video - they would get white instead of black. ;)

Re: Border colour

Posted: Sat Jul 12, 2014 8:16 pm
by Andy Rea
changing the border to black on a standard unmodified ZX81 programmatically would be very impractical.

The ULA when not generating characters ( be it normally or fooled by hi-res routines ) it output WHITE, So on an unmodified ZX81 you would have to make it continuously load an all black character... inverting just the left and right side of the active part might be possible by making it 40 columns (320 pixels) and a custom display routine.

BUT to make the top and bottom black also that will require CPU time ( lots of it ) and thus leave practically no time for doing actual useful stuff...

ULA-2 ( if your lucky enough to own 1 ) can do BORDER inverting whilst leaving the active area non-inverted.

Maybe the better option is to make 2 versions ( if the only real difference is the graphics )

1) for normal display
2) for fully inverted display

Regards Andy

Re: Border colour

Posted: Sun Jul 13, 2014 11:18 am
by 1024MAK
Ahh, but there is a difference between possible and practical.
Black border on a unmodified ZX81, possible yes. Practical, not really. You would still have some CPU cycles free during the vertical flyback period. But nowhere enough for any action/arcade game.

Of course if you add one of Pokemon's video cleaners, you can invert the picture information and so convert the Zeddy white border and the normally white display area and have a black border with a white text on black display area :P

Mark

Re: Border colour

Posted: Mon Jul 14, 2014 9:52 am
by poglad
Andy Rea wrote:ULA-2 ( if your lucky enough to own 1 ) can do BORDER inverting whilst leaving the active area non-inverted.
That's interesting. Is there a thread that discusses the ULA differences further? All I know about is the addition of the back porch on later machines.

Re: Border colour

Posted: Mon Jul 14, 2014 11:48 am
by 1024MAK
Andy is talking about his "ULA" made from a CPLD mounted on a PCB that plugs into the ULA socket on the Zeddy :-)

And very good it is too :-)

There is a long thread all about it on this forum. Also from time to time they are sold on Sell My Retro.

Mark

Re: Border colour

Posted: Mon Jul 14, 2014 4:48 pm
by Moggy
Just to add my two bobs worth, the earliest ULA (2c158) did have a tendency to induce a breathing or ripple effect on the display when using cathode ray tube tv's along with a slight rightwards bending of the top display line once they had heated up. I have had about half a dozen of these early ULAs and they all displayed this effect. Maybe that's why the second ULA(2c184) came into being and seeing as it also lacked the back porch I cannot see any reason for its existence other than to eliminate the problems mentioned above.

Re: Border colour

Posted: Mon Jul 14, 2014 9:14 pm
by gozzo
Little bit off topic - is the ULA2 still available, and did I read somewhere on here there was an updated version that didn't have problems on turbo mode with the NEC ROM's, which the earlier version did, or did I dream it!! Now back on topic - as for changing border 'colour' (if you can call it colour!), I was thinking there 'may' be a way without a ULA2, but the circuitry involved would probably be rather cumbersome.. involving two monostables for each sync, line and frame (well, 'field' really, 2 fields make a frame), timings matching the 'active screen area', triggered from the sync pulses, so that when not in this area, inverting the video...

Re: Border colour

Posted: Mon Jul 14, 2014 9:49 pm
by bobs
What an interesting, and frankly largely over-my-head discussion!

What's obvious to me from my games writing point-of-view is that it isn't possible to do on a standard machine without spending most of the time dealing with it - and so it's a non-starter. I thought that was probably the case - I'd never seen it done - but just wanted to make sure as *if* it was just a case of poking a bit of memory then I would likely design some of my future games to be white-on-black, instead of always black-on-white, as I could then make the border match and it would all flowed together nicely.