Are there graphic tools like charpad for the VIC 20?

You need an actual VIC.

Moderator: Moderators

User avatar
Mozartkügel
Vic 20 Amateur
Posts: 43
Joined: Thu Dec 27, 2018 2:22 pm
Website: https://www.youtube.com/channel/UC-WR1I ... GRkZne4B_Q
Location: Finland

Are there graphic tools like charpad for the VIC 20?

Post by Mozartkügel »

Hi, are there any nice graphic tools similar to charpad for the VIC-20? What would you guys recommend for going about making graphics for the VIC-20? Are there any tools for creating those changing/"scrolling" characters for pixel by pixel animation other than doing it by hand? I mean if you for example want to move your 'main character' in a way other than 8x8 pixels at a time.

Thanks in advance! :D
User avatar
beamrider
Vic 20 Scientist
Posts: 1456
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Are there graphic tools like charpad for the VIC 20?

Post by beamrider »

There's my online designer

http://www.fox-ts.co.uk/vic20sdd/Vic20SDD.htm

There's also a newer version that does map and tiles, but is less easy to use.

Other than that there's CbmPrg for Windows

http://www.ajordison.co.uk/

As for "creating those changing/"scrolling" characters for pixel by pixel animation" would suggest looking at Robert Hursts Sprite library (Vic SSS).

https://github.com/theflyingape/vic-sss
Last edited by beamrider on Mon Dec 31, 2018 3:34 am, edited 1 time in total.
User avatar
Mike
Herr VC
Posts: 4976
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Are there graphic tools like charpad for the VIC 20?

Post by Mike »

Here's a list a native graphics packages:

http://sleepingelephant.com/ipw-web/bul ... 54&start=1

... which of course also run fine in emulation on the PC. :)
User avatar
Mozartkügel
Vic 20 Amateur
Posts: 43
Joined: Thu Dec 27, 2018 2:22 pm
Website: https://www.youtube.com/channel/UC-WR1I ... GRkZne4B_Q
Location: Finland

Re: Are there graphic tools like charpad for the VIC 20?

Post by Mozartkügel »

Thank you so much for the links/info guys, I will look into these asap.

@beamrider, your online tool looks very nice! I wonder what BC, CHAR and AUX stands for in mulitcolour chars? Apparently it doesn't work the same way as with the c64 where two multicolour character colours always are shared across all characters and one is individual per character (and one is bg/transparent")? It seems I need to set aside some time to study the Vic 20's graphic modes. Well, at least the most common one(s). Apparently there are so many my head spins :lol: I found this:
http://sleepingelephant.com/ipw-web/bul ... php?t=7254

I wonder what mode most games use? I'd like to try something out that would be an equalient of the c64 'multicolour mode' when I get around doing some graphics and coding for the vic20..
User avatar
beamrider
Vic 20 Scientist
Posts: 1456
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Are there graphic tools like charpad for the VIC 20?

Post by beamrider »

Thanks!

There are some instructions, but perhaps they need updating a little..

BC = Border Colour
BG = Background Colour
AUX = Aux Colour
CHAR = Character Colour

3 Colours are common with only the Character colour definable per cell.

There's a mixture of games on the Vic, some are "hi-res" in monochrome, some hi-res with different character colours per cell with the penalty of "colour clash" for the sprites. Others (my own Pooyan and Popeye for example) use exclusively multi-colour mode.
English Invader
Vic 20 Scientist
Posts: 1186
Joined: Tue Apr 28, 2009 3:51 pm

Re: Are there graphic tools like charpad for the VIC 20?

Post by English Invader »

I think Robert Hurst did a program along those lines a few years back (it's the SSS file I believe):
https://robert.hurst-ri.us/downloads/

If memory serves, it's quite an advanced program that's intended for people who have experience with assembly language but it comes with some very detailed documentation.
User avatar
beamrider
Vic 20 Scientist
Posts: 1456
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Are there graphic tools like charpad for the VIC 20?

Post by beamrider »

I think the GitHub repository I posted above is the latest version of SSS.
User avatar
Mike
Herr VC
Posts: 4976
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Are there graphic tools like charpad for the VIC 20?

Post by Mike »

Mozartkügel wrote:Apparently it doesn't work the same way as with the c64 where two multicolour character colours always are shared across all characters and one is individual per character (and one is bg/transparent")?
The main difference is, that on the VIC-20 the exterior border colour doubles as one of the multi-colour sources. Otherwise, VIC-20 and C64 multi-colour text mode work quite the same, just foreground colour is addressed by the bit-pair %10 on VIC-20 and %11 on C64.

In total, 3 global colours (one of them is the background colour), and one foreground colour per character/tile.
Apparently there are so many [graphic modes] my head spins :lol:
For (static) title screens, about anything goes. But for in-game graphics, you don't want to use a mode that eats away most of the CPU cycles, and/or clobbers zeropage or OS space (at $0200). That excludes most modes in the bottom half of my list you linked to.
I'd like to try something out that would be an [equivalent] of the c64 'multicolour mode' when I get around doing some graphics and coding for the vic20..
For text mode, see above.

As for the counterpart to the 'standard' C64 Koala: that would be mode and file format used by MINIPAINT, hands-down.
User avatar
Mozartkügel
Vic 20 Amateur
Posts: 43
Joined: Thu Dec 27, 2018 2:22 pm
Website: https://www.youtube.com/channel/UC-WR1I ... GRkZne4B_Q
Location: Finland

Re: Are there graphic tools like charpad for the VIC 20?

Post by Mozartkügel »

Thanks again everyone for all the info! It's really helpful for a Vic-20 noob.

Btw. Does the vic-20 not have that limitation like the c64 that only half of the palette is available for the character 'individual color' (i.e. 'character color' in beamriders editor) in 'multicolour mode'?

@beamrider I tried out your tool and it's wonderful! In some ways it's even better than charpad. I liked the newer version more (I found it in the super mario thread) since you can see the map. Is there a downloadable version of the new version of the tool? I love that chunky multicolor look both on the c64 and the vic-20! I checked out both Pooyan and Popeye on youtube, they look fantastic! When I played around with the tool I also realized it would make better sense to modify some more obscure characters and keep the alphanumeric characters for in game text and score.

I've been checking out a lot of vic-20 game videos on youtube but somehow a few of the games don't look quite as colorful as I expected (I'm not counting the hi-res stuff/ monochrome games), so I'm thinking maybe I'm still misunderstanding something. Shouldn't the games be as colorful as c64 games minus the sprites? I'm thinking that perhaps some color(s) usually are sacrificed for tricks to get pixel by pixel scrolling and/or transparent illusion on the player and enemies? I assume beamriders tool enforces "the correct graphic rules"? The tool implies that you can change the individual color of every multicolour character in color ram when drawing up a screen?

Looking forward to trying to draw up my first screen on the vic-20 though! :D I don't know what programming language I'm going to use yet, Basic, C or Assembler.

Thanks again for any help while trying to wrap my head around the vic.
User avatar
Mike
Herr VC
Posts: 4976
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Are there graphic tools like charpad for the VIC 20?

Post by Mike »

Mozartkügel wrote:Btw. Does the vic-20 not have that limitation like the c64 that only half of the palette is available for the character 'individual color' (i.e. 'character color' in beamriders editor) in 'multicolour mode'?
Bit 3 in colour RAM decides, whether the character is displayed in hires or multi-colour. That leaves only bits 0..2, i.e. 8 values to define the foreground colour. The same situation as in C64 multi-colour text mode.

As one of the colour sources for multi-colour characters is identical to the border colour (see above), that has also only the choice from the "lower" 8 colours. Only background and auxiliary colour can use all 16 colours - and the upper 8 colours are not the same as on the C64! Especially, the VIC-20 has no greys.
I've been checking out a lot of vic-20 game videos on youtube but somehow a few of the games don't look quite as colorful as I expected (I'm not counting the hi-res stuff/ monochrome games), so I'm thinking maybe I'm still misunderstanding something. Shouldn't the games be as colorful as c64 games minus the sprites?
Yes, they are. You see, what extra bonus the sprites on the C64 provide: a means to combine small moving objects into the playfield without attribute clash.

That doesn't mean it wouldn't anyhow be possible to produce more colourful graphics on the VIC-20. Just take a look at Victragic's implementation of Pitfall: that one indeed uses a software-defined mode, and it's pretty good at it. 8) (unfortunately, the image links in the thread are defunct, so you'll have to try out)
Looking forward to trying to draw up my first screen on the vic-20 though! :D I don't know what programming language I'm going to use yet, Basic, C or Assembler.
All of these 3 are good choices. For myself, I tend to use a blend of BASIC and machine code. :)
User avatar
beamrider
Vic 20 Scientist
Posts: 1456
Joined: Sun Oct 17, 2010 2:28 pm
Location: UK

Re: Are there graphic tools like charpad for the VIC 20?

Post by beamrider »

@Mozartkügel

Thanks, yes it does enforce the Vic's hardware restrictions (it would be a bit pointless otherwise :P ).

You can download the new version from the following link: http://www.fox-ts.co.uk/betavic20sdd/download.zip. If you look in the examples folder, you can load up the map for the mario music/scroller demo.

I usually redesign the entire character set with just the letters I need as I personally find lack of available characters for graphics, the most pressing limitation on the Vic.
User avatar
Mozartkügel
Vic 20 Amateur
Posts: 43
Joined: Thu Dec 27, 2018 2:22 pm
Website: https://www.youtube.com/channel/UC-WR1I ... GRkZne4B_Q
Location: Finland

Re: Are there graphic tools like charpad for the VIC 20?

Post by Mozartkügel »

Thanks so much again Mike and beamrider for taking time to help a vic noob and giving all these valuable answers! I'll post here when I get further with my vic-20 experiments.
beamrider wrote:@Mozartkügel
Thanks, yes it does enforce the Vic's hardware restrictions (it would be a bit pointless otherwise :P ).
Yeah, should've been pretty obvious! :lol:
beamrider wrote: I usually redesign the entire character set with just the letters I need as I personally find lack of available characters for graphics, the most pressing limitation on the Vic.
A-haa, so is it like that on the vic that you only have two banks of 256 characters to redefine and that's it? Do you write the modified characters to the same addresses as the ROM or do you move character memory / have the vic chip to read the characters from other memory addresses?
User avatar
Mike
Herr VC
Posts: 4976
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Are there graphic tools like charpad for the VIC 20?

Post by Mike »

Mozartkügel wrote:A-haa, so is it like that on the vic that you only have two banks of 256 characters to redefine and that's it?
The VIC-20 comes with 2 predefined character sets in the character ROM, yes, but you couldn't anyhow infer a 'limit' of two 'banks' from that: a full character set has 256 characters with either 8 bytes (single height) or 16 bytes (double height) each. That means, 2 KB or 4 KB in total. In principle, there's no restriction on the number of sets or 'banks' - if it weren't for the fact, that the VIC in the VIC-20 can only access the internal RAM or the character ROM for any kind of data (text screen or character definitions).

VIC register $9005 contains the character base address in bits 0..3. For a given base address, you get those corresponding 256 characters on screen. It is possible to change $9005 along with the electron beam, which gives access to more than 256 characters, but that involves some programming techniques far beyond the scope of this thread here.
Do you write the modified characters to the same addresses as the ROM or do you move character memory / have the vic chip to read the characters from other memory addresses?
The VIC-20 has a fixed memory layout, unlike to the C64 there is no "RAM under ROM". For details, please look up the sticky thread 'VIC-20 Memory Layout' in the Programming section.
Thanks so much again Mike and beamrider for taking time to help a vic noob and giving all these valuable answers! I'll post here when I get further with my vic-20 experiments.
Sure, go ahead!

...

To recap the premise of the thread topic - you asked for graphics tools specific to the VIC-20. Beamrider and I have pointed you to some of them, on PC, browser based or even native. With those, you can create character sets with characters in hires or multi-colour, the latter adhering to the definition how bit pairs are mapped to colour sources. It's now mainly your business, how you arrange (and possibly change) the UDGs to produce graphics. Alternatively, you can lay out unique characters as grid, and just manipulate the character definitions. Then you're working with a bitmapped screen, simple as that. And the list of tools given also includes that method.
User avatar
Mozartkügel
Vic 20 Amateur
Posts: 43
Joined: Thu Dec 27, 2018 2:22 pm
Website: https://www.youtube.com/channel/UC-WR1I ... GRkZne4B_Q
Location: Finland

Re: Are there graphic tools like charpad for the VIC 20?

Post by Mozartkügel »

Mike wrote: The VIC-20 comes with 2 predefined character sets in the character ROM, yes, but you couldn't anyhow infer a 'limit' of two 'banks' from that: a full character set has 256 characters with either 8 bytes (single height) or 16 bytes (double height) each. That means, 2 KB or 4 KB in total. In principle, there's no restriction on the number of sets or 'banks' - if it weren't for the fact, that the VIC in the VIC-20 can only access the internal RAM or the character ROM for any kind of data (text screen or character definitions).
Ok, I see, thanks for enlightening me. That's very restricting. I love restrictions! :mrgreen:
Mike wrote: VIC register $9005 contains the character base address in bits 0..3. For a given base address, you get those corresponding 256 characters on screen. It is possible to change $9005 along with the electron beam, which gives access to more than 256 characters, but that involves some programming techniques far beyond the scope of this thread here.
To get anything done I'll need to keep everything as simple as possible, interresting info nevertheless.
Mike wrote: The VIC-20 has a fixed memory layout, unlike to the C64 there is no "RAM under ROM". For details, please look up the sticky thread 'VIC-20 Memory Layout' in the Programming section.
Thanks for the link, I've already studied the memory layout a bit. I guess it potentially should be easier to wrap your head around it than on the c64 except for the different memory expansions / moving addresses. I also found this link: http://sleepingelephant.com/ipw-web/bul ... 98&start=4 via your link, which was the exact thing that has been bothering my mind since I fell in love with the Vic-20.
User avatar
Mozartkügel
Vic 20 Amateur
Posts: 43
Joined: Thu Dec 27, 2018 2:22 pm
Website: https://www.youtube.com/channel/UC-WR1I ... GRkZne4B_Q
Location: Finland

Re: Are there graphic tools like charpad for the VIC 20?

Post by Mozartkügel »

Here's my first result using beamriders designer, 'Baron Lovejoy Travels in Time' :D I've been playing around programming a little bit on the Vic-20 in parallel with the c64 and plus/4 lately, and it's so much fun. I wanted to prioritize more colors instead of trancparency, also I don't know if I'm going for 'pixel-scrolling' yet.



Here's a small first version on the C64 for comparison of graphics:
Last edited by Mozartkügel on Mon Jun 10, 2019 3:12 pm, edited 3 times in total.
Post Reply