Page 1 of 2

A program I really would like...

Posted: Wed Feb 01, 2006 4:23 am
by Boray
A program that expands the screen to for example 25x31 characters on PAL and that the vic-20 would work like normal after that (for basic programs/programming). Listing programs and programming, using print commands in basic etc...

The first part is no problem: Using expansion ram and moving the basic memory to make room for the bigger screen and then adjust the vic chip's screen size and position parameters. But then? I guess all print routines in the system has to be patched? As well as the screen link table... Anyone who feels up to the task? I would try to help as much as I could, but I don't know a bit about this.

A nice bonus feature could be that the screen contents are just converted to the new bigger format on startup. This way you would be able to use the screen and the keyboard buffer and load and start this program and then the main program as part of your game's loading.

/Anders

Posted: Wed Feb 01, 2006 4:25 am
by Boray
A key combination to switch between standard and expanded screen would also be great ;)

Posted: Wed Feb 01, 2006 5:21 am
by vic user
I would try to help as much as I could, but I don't know a bit about this.
god, if you don't know a bit about this, i am of no use for sure!

chris

Posted: Wed Feb 01, 2006 10:52 am
by Schlowski
Carlsson seems to have some more insights in this...

http://sleepingelephant.com/ipw-web/bul ... 8&start=30

Björg

Posted: Wed Feb 01, 2006 11:44 am
by bbell
It would be interesting to make a patched KERNAL ROM to do this, although I wonder how compatible it would be for apps that depend on the default screen size. Doubt there would be room to have old and new modes in the same ROM image.

The 40 column screen program SuperScreen (the software one, using the 4 bit wide characters) seems to be successful at making the screen editor work, so it must be possible, even from system RAM (Although it annoys me with its double spacing of system messages).

Posted: Wed Feb 01, 2006 2:36 pm
by Schema
bbell wrote:The 40 column screen program SuperScreen (the software one, using the 4 bit wide characters) seems to be successful at making the screen editor work, so it must be possible, even from system RAM (Although it annoys me with its double spacing of system messages).
There's another program called "40 Column O/S for the VIC-20" in October 1984 Ahoy! which does the same thing. I can't find a soft copy (and too lazy to type it in), so I can't say if it has the same annoyance. Might be worth a try though.

Posted: Wed Feb 01, 2006 3:23 pm
by bbell
I found "Fat 40" on Zimmers in the 8k utility section which seems to look better.

There are also a couple other ones on there, some PAL only.

Posted: Thu Feb 02, 2006 8:02 am
by carlsson
Yes, I was also thinking about the software 40 column programs. There are a few vectors we can point elsewhere, and the question is how many routines need to be copied. It should be easier to make a 25 column screen than a 40 column one, I'd think.

Posted: Thu Feb 02, 2006 12:22 pm
by Boray
But maybe it's harder to get more rows than more columns? I'm thinking of the screen link table...

Posted: Thu Feb 02, 2006 12:27 pm
by Boray
... as maybe nobody has done that before I mean...

Posted: Thu Feb 02, 2006 12:33 pm
by Schlowski
"To boldly go where no one has gone before" or how does it read? :lol:

Björg

Posted: Thu Feb 02, 2006 12:35 pm
by carlsson
Good point. The screen link table is 26 bytes, same size on VIC and 64. I don't quite know how it works, but as a first step, a 25x25 display should probably be doable.

Posted: Thu Feb 02, 2006 12:42 pm
by Schlowski
I had some fun with the screen link table when doing the Videopoker program...

As soon as you type over the last column or print over it, the actual line and the next line gets linked as a logical line, so afterwards cursor positioning for example treats the two screen lines as one logical line. These leads to one cursor down in a print statement to really go two physical lines down. On a VIC up to 4 lines are allowed to be linked, on a C=64 only two lines.

There is a very comprehensive explanation of the mechanism in "Compute's first book of VIC", chapter 3 pg's 91 and following.
Thanks again to Chris for the book :-)

Björg

Posted: Thu Feb 02, 2006 12:45 pm
by carlsson
Really? I can't remember I've been bitten by this, but most of my Basic programs would POKE into the screen matrix rather than print messages.

Posted: Thu Feb 02, 2006 12:53 pm
by Schlowski
Trying to save some precious bytes I printed two or more lines in one print statement. Afterwards cursor positioning with print commands is nearly impossible, especially if you try to print in each of the separate physical lines which are linked as a logical line.

And I used to PRINT instead of POKE as this was way faster in a pure basic program. Never underestimate the power of the PRINT commando :wink:

Björg