How many of you used to sit around on your VIC-20 and C64 and draw things using the built-in screen editor? I know I did. I also know there were some programs available for drawing and saving such graphics for intent of use with BBS. However, at the moment I can't find one and I'm not sure those ever existed for the VIC-20.
So my intent is to create one. One feature I really wanted that wasn't available before is the ability to select a PETSCII character easily without having a real Commodore keyboard. I'm sure many of you have noticed how difficult it can be to find the right character when using an emulator. So I designed a screen where you can see the characters and pick them manually.
I'm designing it first for the C64 but I see no reason why it shouldn't port easily to the VIC-20. Just a matter of changing screen locations and various size constants.
One thing that has proven to be very complicated is designing a "pixel edit" mode.. really not using pixels, just using PETSCII characters to simulate a 80x50 dot matrix (on the VIC it would be 44x46) I've spent the last week trying to figure out exactly how to do it.. So far my best guess is to take each character cell and treat it like a 4-bit number and map each bit combination to a specific PETSCII character. That way I can turn on or off a specific "pixel" using AND and OR functions.. I'm writing in BASIC right now just as a test, but once I've figured out exactly how it should all work, I might re-do it in ML.
PETSCII drawing program
Moderator: Moderators
It reminds me about a C64 program in Your Computer that adds commands (well, SYS statements rather but it is only a matter of overhead to add a parser) to plot 1/4 characters, i.e. a resolution of 80x50. It includes commands to plot, remove or test for dots, as well as giving them a colour within the limits of colour clash.
I don't know if these routines would be useful to anyone. If you like, I could dig them up and perhaps even convert to VIC-20. I think it would be a piece of cake once doing it.
I don't know if these routines would be useful to anyone. If you like, I could dig them up and perhaps even convert to VIC-20. I think it would be a piece of cake once doing it.
Anders Carlsson
- Mike
- Herr VC
- Posts: 4856
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
You might try this program to double the horizontal resolution. Type 'POKE 44,26:POKE6656,0:NEW' beforehand (>= +8K RAM expansion recommended):adric22 wrote:[...] One thing that has proven to be very complicated is designing a "pixel edit" mode.. really not using pixels, just using PETSCII characters to simulate a 80x50 dot matrix (on the VIC it would be 44x46) [...]
Code: Select all
10 DIM B(15)
11 FOR A=0 TO 15:READ B(A):NEXT
12 AD=4096
13 FOR X=0 TO 15
14 FOR Y=0 TO 15
15 FOR Z=0 TO 3
16 POKE AD+8*(16*Y+X)+Z,B(X)
17 POKE AD+8*(16*Y+X)+4+Z,B(Y)
18 NEXT
19 NEXT
20 NEXT
21 POKE648,24:SYS58651:POKE36869,236
22 DATA 0,3,12,15,48,51,60,63,192,195,204,207,240,243,252,255
- Mike
- Herr VC
- Posts: 4856
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
This looks like Adric tried it at least twice:
Doodling displays is really a thing I gave up almost immediately. There are seldom more frustrating things than a work which is wiped out by CLR, or power-off, and cannot be saved - if you don't incorporate your ideas into PRINT statements.
Michael
Still, the move to user defined characters is one of the first things a VIC user can do to advance beyond the limits of the standard PETSCII display.adric22 wrote:Actually, the first time I typed it in, it erased itself because I didn't see those instructions you gave above the program...
Doodling displays is really a thing I gave up almost immediately. There are seldom more frustrating things than a work which is wiped out by CLR, or power-off, and cannot be saved - if you don't incorporate your ideas into PRINT statements.
Michael
Another benefit of this program I'm writing.. It will be able to save the screens.Mike wrote: Doodling displays is really a thing I gave up almost immediately. There are seldom more frustrating things than a work which is wiped out by CLR, or power-off, and cannot be saved - if you don't incorporate your ideas into PRINT statements.