GEOS in REALLY high resolution

Started by Edwing, January 24, 2007, 07:52 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Edwing

Hello!

Of course, the 640x200 resolution GEOS gives us C128 users is quite nice, but are there programs to use interlaced ones, such as 640x480 multicolor?

I mean, the VDC could handle it, that's not the issue... "Only" a problem in software... :| Ideologically speaking, something that shouldn't be a limitation on a system relative to the glorious C64... ;)

I don't mean picture viewers or the like, but OS extensions so that you could e.g. run DeskTop or Dashboard or whatever in a higher resolution. I understand one issue with that is that the GEOS kernal uses one byte for y coordinate e.g. in the windowing routines, allowing for no greater y coordinates than 255. Would there be a way to patch that? Does something like that exist or does anybody have ideas on how to implement?

The X coordinates are stored in words, so maybe it would be easier to implement the whole stuff for an increased x-resolution?

As far as I know there's a VDC resolution of 720x350... So for starters someone could patch the routines to use 720x256 of that, and the bottom of screen could be used by Desk Accessories such as the calculator, in the sense that they are permanently there and could be activated by some hot-key (while not being able to be relocated due to the one-byte y-coordinate issue).

Or maybe one could multiply the y coordinate for display so that windows in 640x480 only could by changed in size not pixel by pixel but always two pixels at a time ... This would mean windows can strech over the whole visible screen while raster graphics such as fonts or icons still would only take 1/4 of what they do in GEOS 64 - wouldn't it be great to use GeoWrite or GeoPaint without having to keep in mind that what is displayed is always "stretched" to double y-size (relative to x-size) on screen? Square pixels, in short! ;)

At least, a "small solution" would be having one application on the upper half of the screen, and one on the lower. This could be done by first switching into interlace display and then by pressing some hot-key telling a wedge driver to add a certain value (e.g. 200) to every y-coordinate issued by GEOS drawing routines before sending them to the VDC ... ALT for "alternate screen half" would be a good key...

"GEOS proper" wouldn't even have to know ("GEOS don't mind what GEOS don't see" ;) ) ...

Would be nice if anybody had some thougts to share on that...

Regards,
George :)

Guest

This little bit of knowledge I have from the GEOS Programmers Reference Guide indicates that you would basically have to re-write the kernel to support more than 255 vertical lines because of the expectation of only one byte for the Y coordinate on each method that accepts a coordinate.

Mangelore

Some more info here...

http://www.ffd2.com/fridge/chacking/c=hacking3.txt

"A more tantalizing prospect would be to implement a 640x400 interlaced screen
for GEOS128.  This presents a number of problems, however.  First, there is
that terrible flicker.  But, this can be made reasonable through the use of
polarizing filters (in layman's terms, "sunglasses") and appropriate color
choices.  More seriously, the GEOS kernal graphic routines all take byte
argum`>:s for Y coordinates.  So, all 400 vertical pixels cannot be addressed
with those routines.  Thus, sombody implementing a GEOS interlaced screen is
faced with re-writing all of the graphics routines.  (Something to do with the
8K you've freed up at $a000, I suppose.)  Since each 640x400 graphic screen
would require 32K of memory for the bitmap, you could still have a VDC
Background screen."

Edwing