A program I really would like...

Basic and Machine Language

Moderator: Moderators

Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

A program I really would like...

Post 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
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

A key combination to switch between standard and expanded screen would also be great ;)
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
vic user
VicGyver
Posts: 1401
Joined: Thu Mar 25, 2004 9:40 am

Post 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
User avatar
Schlowski
NoMess!
Posts: 892
Joined: Tue Jun 08, 2004 12:20 pm

Post by Schlowski »

Carlsson seems to have some more insights in this...

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

Björg
bbell
Vic 20 Hobbyist
Posts: 125
Joined: Thu Mar 10, 2005 7:43 am

Post 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).
User avatar
Schema
factor
Posts: 1430
Joined: Tue Mar 23, 2004 7:07 am
Website: http://www.jammingsignal.com
Location: Toronto, Ontario

Post 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.
bbell
Vic 20 Hobbyist
Posts: 125
Joined: Thu Mar 10, 2005 7:43 am

Post 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.
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post 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.
Anders Carlsson

Image Image Image Image Image
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

But maybe it's harder to get more rows than more columns? I'm thinking of the screen link table...
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

... as maybe nobody has done that before I mean...
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
User avatar
Schlowski
NoMess!
Posts: 892
Joined: Tue Jun 08, 2004 12:20 pm

Post by Schlowski »

"To boldly go where no one has gone before" or how does it read? :lol:

Björg
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post 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.
Anders Carlsson

Image Image Image Image Image
User avatar
Schlowski
NoMess!
Posts: 892
Joined: Tue Jun 08, 2004 12:20 pm

Post 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
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post 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.
Anders Carlsson

Image Image Image Image Image
User avatar
Schlowski
NoMess!
Posts: 892
Joined: Tue Jun 08, 2004 12:20 pm

Post 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
Post Reply