Someone knows this Commodore 64 and Commodore Plus/4 patterns ????

franco

RetroActive
Joined
15 Mαϊ 2010
Μηνύματα
264
Αντιδράσεις
5
Hi my friends everybody !!!!

well, I'm here in this section because I would like to show you two images and to ask you a curiosity about them... Probably some of you who use a Commodore 64 machine (or also a Commodore Plus/4), in their computer experiences, have met two graphic effects, two images that are like these shown below...

These two patterns are created by myself using the Vice emulator of the Commodore Plus/4... there are some reverse bars and some rectangles... here they are...

The first image appeared when the command "GRAPHIC 2" or "GRAPHIC 2,0" was introduced into the Plus/4... it's a pattern generated by the TED chip...

[edit] Dead pic [edit]

And, in the same way, here is the pattern generated by the TED chip when the command "GRAPHIC 3,0" was introduced...

[edit] Dead pic [edit]

But we also have the Commodore 64 version, that is produced by the VIC-II graphic chip, here it is (I have inserted the "POKE 53272,44" command to generate it)

[edit] Dead pic [edit]

I have to admit that these two graphic patterns have always woken up my curiosity... I remember for example that, when I was a kid and I was playing or programming on the Commodore Plus/4 (it was my first computer, before I had the Commodore 64), in certain cases the machine crashed and the pattern appeared, especially the first, the one with reverse bars... and I remember also that this pattern was made not always with green and black bars, but also sometimes from arrows "@" or other characters... furthermore, I remember also that the border changed its colour and, especially when a game was running and there were sounds playing, the computer stuck on the last note and repeated it in an infinite mode...

If someone had met these two patterns and knows the reason why they are produced, please tell me because I'm very curious (even if approximately 15-20 years had passed) to know why this happened...

Have a nice time !!!!

Geia !!!!

francesco.
 
Τελευταία επεξεργασία από έναν συντονιστή:
I'm glad you liked them !!!! :)

Let's have some fun programming with Commodore Plus/4 (actually, I think that is better than the Commodore 64 for programming, while the C64 is very better than the Plus/4 in gaming...) The images were produced by myself (Francesco Patrono) and of course there is no subjection to copyright laws, everyone can enjoy them !!!! :)

[edit] Dead pics [edit]
 
Τελευταία επεξεργασία από έναν συντονιστή:
franco just setting my c64 now!!!μολις ετοιμαζω τον c64!!!
 
Well my friend... I will also try to generate some graphics effects on the Commodore 64 if you want them, but for me is a little bit harder because the 2.0 version of the Basic included in the Commodore 64 replaces all the graphic commands of the 3.5 version included in the Plus/4 (e.g. CIRCLE,DRAW,CHAR,BOX,GRAPHIC and so on...) only with the POKE instruction...

However, if you want to "poke around" with some memory registries of the VIC II on the C64, you can type this little program and launch it with the "RUN & return"... here is a FOR-NEXT cycle that, applied to the specific VIC II memory value, shows you all the graphic patterns of the Commodore 64... Here it is...

10 FOR X=0 TO 255

20 POKE 53272,X

30 NEXT X

You can also change the line 20 in "POKE 53265,X" or "POKE 53270,X" in order to show further patterns...

... but beware !!!! in the case of "POKE 53272,X" instruction, the cycle comes to the end showing the reverse bars pattern that I put in the first message of this topic, so you have to restart the machine... and in the second and third case, the text area becomes all black, so also in this case you have to restart it... Here is also a funny youtube video clip of a "psychedelic" Commodore 64...

Another little trick that probably everybody of you know...

- Hold down at the same times the keys RUN STOP and RESTORE and clean the text area on the Commodore 64;

- Type this string "POKE 781,96:SYS 58251" and hit return

Here you will see the screen filled with random disposely question marks continuously falling from the upside of the screen... a sort of screen saver...

Geia kai xara !!!! :)
 
Τελευταία επεξεργασία από έναν συντονιστή:
Different ways of viewing a Commodore 64 intro screen...

With "green phosphores" effect...

[edit] Dead pic [edit]

Or in black and white mode...

[edit] Dead pic [edit]

(free image contents, they are produced by myself... :) )
 
Τελευταία επεξεργασία από έναν συντονιστή:
very interesting. just might get me programming the C64 again. Do I need something else besides the ROM BASIC of the C64?
 
No my friend !!!! :) all you need is only a Commodore 64 (or an emulator) to have fun... nothing else... these little examples of Basic coding are very very very simple... anyway, perhaps a Commodore 64's user manual or a Basic manual could be helpful if you have not programmed for many years and don't remember well how to do it... :)

A little tip that I would like also to give you: try also to code on a Plus/4 (real or emulator, the Vice has got also a Plus/4 emulator, but also "Minus/4" and "Yape" are very good emulating programs), because is more funny... the Basic 3.5 is more complete than the 2.0 version, and offers to the user a huge quantity of instructions and commands, for graphics, sounds, and subroutines !!!!

(of course, I can write to you here what are the most common used ones !!!!! :D )
 
Τελευταία επεξεργασία από έναν συντονιστή:
Thank you for sharing your efforts and experiments! :)

Commodore programming, although tedious at some cases, can work miracles since the hardware had lots of potential. Even nowadays I admire scene demos that deliver many surprises portraying unknown or unexplored features of this wonderful machine. Have you tried anything with assembly language too Fransceco?
 
Τελευταία επεξεργασία από έναν συντονιστή:
Well my friend... I know something in assembly and machine code, but very very very little... I have tried to work in the past with stuff like STA, LDA, JMP, BRK and so on (hehe !!!!) in order to make sounds or make flickering border color screen... but I have to restart to learn everything...

Moreover, my machine code experiments where on the Plus/4 and not on the C64, because the Plus/4 has got a built in monitor code machine, while for the C64 an external cartridge was needed... on the other hand, Plus/4 has a different registry memory mapping from the C64, so that in order to get the graphics and sound effects, I had to work on different values... :)

A little gift for you and the other friends... this hacking was made from a Greek coder... it's simply amazing !!!!

 
Τελευταία επεξεργασία από έναν συντονιστή:
Hehe..neat memory monitor, but the display mapping and 'interactive drawing' simply blew me away. That guy is a pro by all means and can bet he knows all C64 mem addressing by heart.

Haven't even dabbled with Plus/4, nor even knew any Greek programmer / oldtimer that ever owned it btw, so all insights on the differences & similarities with C64 basic are more than welcome.
 
With a very big pleasure my friend !!!! :) every time that someone asks to me to tell more about the Plus/4, I am very pleased...

In my opinion, the Plus/4 was better suitable for programming and working purposes, instead of the C64 that is superlative, as we know, for gaming purposes... The Plus/4 was concepted as the "major brother" of the Commodore 16... in fact, while the C16 had only 16k free for the users (12277 bytes free) the Plus/4 has 60k free (60671 bytes free to be exact...) The clock frequency of Plus/4 is approximately of 1.75 MHz (instead of the 0.89 of the Commodore 64) and this makes the Plus/4 faster... The "gem" of the Plus/4 was the so called "3-plus-1" software package, that was pre-loaded into the machine... I can't put the images here because there is the copyright of International Tri Micro Inc. who realized the software but, if you try to start a Commodore Plus/4 emulator and type the "SYS 1525" instruction, or alternatively press the F1 key, it will start... The "3-plus-1" consists of four programs (a sort of ancient "Office" suite hehe...) that were: a word processor, a spreadsheet editor, a data management and a database creating program, that was very useful, even if they worked only with the disk unit and not with the Datassette...

However, the Plus/4 had some faults in the gaming area, for these reasons:

- first, unlike the Commodore 64 that had the VIC-II chip for the video and the SID chip for the audio, the Plus/4 was equipped only with a chip, the so called "TED" ("Text Editing Device") that controlled both the audio and the video sections... The audio section was very poor, in fact there were only three sound generators... two of them produced only square wave frequency sounds, and the third produced white noise...

And regarding the TED video section, even if the color palette was of 121 colors (8 shades per colors plus black), has not the sprite handling and the sprite collisions, so the movements in games are less fluid than the Commodore 64 ones... another problem is that the connectors and the sockets are not the same for the joystick and the Datassette used for the Commodore 64... in fact, Plus/4 is equipped with mini DIN connectors, while C64 uses Atari-style connectors...

However, my opinion is that Plus/4 is more excellent than the Commodore 64 for programming... even because it had built in the 3.5 Basic version of Commodore, instead of the 2.0 of the Commodore 64... many instructions for graphic and sound handling are dedicated, instead of the Commodore 64 that uses the PEEK and POKE instructions for each two parts... Here are some little examples:

Producing a sound on the Commodore Plus/4

10 VOL 8

20 SOUND 1,266,60

("VOL 8" tells the system to turn the volume at the maximum level, and the syntax of the SOUND command is the following:

SOUND (tone generator,frequency,and duration in milliseconds... in our case, we have chosen to produce a sound using the tone generator number 1, a frequency of 266 hertz, and a duration of 60 ms.)

You can also change the tone generator... the tone generator 2 is similar to 1 (so typing SOUND 1,266,60 or SOUND 2,266,60 is the same)... but if we want to produce a white noise of the same frequency level, we have to choose the tone generator number 3 (so SOUND 3,266,60 can fulfill our request...)

The frequency range goes from 0 to 1023 that is the maximum level and cannot be heard by the human ear...

For graphics area, we have these instructions:

GRAPHIC 2,0 (it switched the computer in hi-resolution mode, but it's unuseful, because "garbage" appears on the screen... the first pattern that I put on the images in this topic... probably, but this is a personal opinion, the pattern is generated from the decodings of 00 and FF instructions that put the Plus/4 in hi-res mode... the location in memory is $1C00, a couple of BRK instructions (blank spaces) and FF instructions (green reverse bars or arrow "@" signs...)

GRAPHIC 2,1 (Switch the computer in hi-res mode, but clears the video cache and the "garbage" of the pattern, so we can operate...)

GRAPHIC 4,0 (Multi color hi-res mode, but with pattern... the second, that with pink and white rectangles...)

GRAPHIC 4,1 (Multi color hi-res mode, but with screen cleared...)

Typing these command preserves the bottom of the screen with five text lines so we can introduce commands... otherwise, if we want to switch all the screen in hi-res mode, we have to type:

GRAPHIC 1,0 (full screen pattern)

GRAPHIC 1,1 (hi-res mode with completely cleared screen)

GRAPHIC 3,0 (full screen multicolor pattern)

GRAPHIC 3,1 (full screen multicolor area with screen cleared)

The most used commands for the graphics area are:

CIRCLE (for creating circles)

BOX (for creating box and squares)

DRAW (for creating lines)

PAINT (for filling an area with specific color)

CHAR (to display letters and numbers in the hi-res area)

In order to change the colors of the screen we have these options:

COLOR 4,X (changes the border color, for example COLOR 4,1 changes into black)

COLOR 0,X (changes the text area border, for example COLOR 0,4 changes into cyan)

COLOR 1,X (changes the letter's color, let's try to put it in blue with COLOR 1,7)

However, in the syntax of the COLOR command, we also have a third option, that determinates the luminance and the brightness... look at this:

COLOR 1,7,1 (Text color will change in dark blue)

COLOR 1,7,7 (Text color will change in light blue)

And so on... COLOR 4,7,1 or COLOR 4,7,7... COLOR 0,7,1 or COLOR 0,7,7 and so on...

Some other commands included in the BASIC 3.5

HELP (This helps the user in finding an error in a program list)

for example let's suppose that the computer says "?SYNTAX ERROR IN 10" we can type "HELP" and the machine will show us the line and the error in flashing characters;

DELETE

It allows you to delete an interval of lines in a program listing (for example "DELETE 10-50" deletes the lines from 10 to 50)

GETKEY

"GETKEY" has two variables, A or A$... If we enter "GETKEY A" the computer stops and waits for the user to hit a numeric key to continue, while with "GETKEY A$" the computer stops and wait for the user to press any key to continue... for example:

10 PRINT"HIT A KEY PLEASE"

20 GETKEY A$

30 PRINT"WELL DONE"

The DO-LOOP cycle that is similar to the FOR-NEXT on the Commodore 64 or to the GOTO instruction... have a look at this:

10 DO

20 PRINT"RETROMANIAX"

30 LOOP

in this case, is like typing a PRINT-GOTO cycle...

Also, a map of all the error messages is available with the function ERR$... the syntax is:

PRINT ERR$(X)

in this case, X is a number included between 0 and 255, every number shows us the correspondant error message mapped in memory

MONITOR

Typing "MONITOR" and hitting return causes the computer to start the TED machine code monitor... a feature that is not supplied on the Commodore 64 unless you have a cartridge with the program... But beware !!!! The register memory addresses of the TED are different than those of the VIC-II or SID in the C64, so programming and using the same values of C64 on the Plus/4 can cause the crash of the system, the apparition of the pattern with reverse bars, production of continuous tone sounds or white noises and so on...

DLOAD and DSAVE

These two commands allow the user to load a program from the disk unit... the same as LOAD"PROGRAM NAME",8 and SAVE"PROGRAM NAME",8 on the C64... on the Plus/4 you can type DLOAD"PROGRAM NAME" or DSAVE"PROGRAM NAME" to reach the same objective...

SCNCLR

"SCNCLR" stands for "SCREEN CLEAR", it allows to clear immediately the content of the text area (even if we are in hi-res mode) and replaces the PRINT"(key CLR/HOME and SHIFT)" statement of the C64

KEY

"KEY" shows a complete list of all the function keys from F1 to F8 in the Commodore Plus/4... When you type KEY and hit return, Plus/4 will show as follows:

KEY 1"SYS 1525: 3- PLUS -1"

KEY 2"DLOAD"+CHR$(34)

KEY 3"DIRECTORY"+CHR$(13)

KEY 4"SCNCLR"+CHR$(13)

KEY 5"DSAVE"+CHR$(34)

KEY 6"RUN"+CHR$(13)

KEY 7"LIST"+CHR$(13)

KEY 8"HELP"+CHR$(13)

The "CHR$(34)" means that Plus 4 shows a " sign, while the "CHR$(13)" stands for an automatic input of the RETURN key... but these function keys can be redefined by the user...

And other commands like TRAP,TRON,TROFF,OPEN,CLOSE,DIRECTORY,LOCATE,WAIT,COLLECT,HEADER that are not supplied with the Commodore 64...

I hope that you have liked this brief explanation !!!! :)

Hugs !!!!

[edit] Dead pic [edit]
 
Τελευταία επεξεργασία από έναν συντονιστή:
Awesome info mate! Puts me into the temptation of creating an 'overloaded' version of C64 basic that would imitate Plus/4 syntax. Imagine a C64 based environenment that would comprise of much more user friendly command structure for the novice programmer than endless peekpoking and the inspiration for that taken straight off from another Commodore machine!

Ideally, I'd like to delve a bit deeper in machine code so I could hack straight into the basic itself and actually replace/overload parts of its ROM code (in emulation level of course) instead of eating up usable memory space like Simon's basic does. A syntactical combination of the best bits and pieces of Simon's basic, C128 basic and Plus/4 could do the trick. Anyway, consider this a long term project, but it actually might come true in the coming years. It could also become a joined effort with C64 assembly programmers contributing from all over the world. The principal concept is the creation an ultra 8bit Commodore computer version that would combine the best aspects of the existing 8bit Commodore machines in order to stress their abilities and user friendliness to the max. We'll see..
 
Τελευταία επεξεργασία από έναν συντονιστή:
Well my friend, this would be also a dream of mine... The perfection, in my opinion, would be if someone could improve a Plus/4 machine with the features of the 128 (the Basic 7.0 is still more rich, even if I have never experienced it...) and with a SID chip...

I think that Plus/4 does not express itself in gaming purposes also because most of the games were made using only 16k (since they were concepted for the Commodore 16) and not 64k like the Commodore Plus/4... I know that some people from Hungary, Finland and Germany had tried to make these modifies on the Plus/4 (for example, inserting a SID card on it or writing games at 64k and not only at 16k...) and the results are marvellous... Take a look at these two videos whenever you have a little bit of spare time... and you for sure will be impressed !!!! :)

This is HAZIASAN, with a combination of TED and SID sound parts...

and try also, if you want, to take a look at this website... here you will find tons of stuff about the Plus/4...

http://plus4world.powweb.com/

finally, here is the complete memory map of the 264 Commodore machine series (Commodore 16, Plus/4 and Commodore 116) if you are interested to have some fun with those type of machines...)

http://www.floodgap.com/retrobits/ckb/secret/264memory.txt

Hugs once again !!!!
 
Τελευταία επεξεργασία από έναν συντονιστή:
My God Fra! :eek: Now we have the confirmation you really are a Plus/4 addicted! :) I'd like to try these examples on Yape to see if I'm capable of! :) Grazieeeeeeeeeeeeeeeeeeeee! :)
 
I have tried this you suggested! :) Seems working! :)

 


10 DO



20 SCNCLR



30 VOL 8



40 FOR S=0 TO 1023



50 COLOR 4,S



60 COLOR 0,S



70 SOUND 1,S,1



80 NEXT S



90 LOOP


 


How beautiful colors!
:) Grazieeeeeeeeeeee! :)


 
Πίσω
Μπλουζα