Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > CSDb Discussions > What is PETSCII - A guide for compo orgas
2024-10-07 19:19
4gentE

Registered: Mar 2021
Posts: 285
What is PETSCII - A guide for compo orgas

Lately, We've seen several cases of releases that don't adhere to PETSCII standard being entered into compos. Examples are: 11th place at Revision 2024 Textmode Graphics compo called "U-MOD3L", 4th place at Deadline 2024 Textmode Graphics compo called "Depth Logo with Obligatory Skull & Blood" and 2nd place at Xenium 2024 ASCII/ANSI/PETSCII compo called "Fantastic 4 Cracking Group logo".

The first mentioned example uses a custom character set instead of standard PETSCII. The second and third mentioned examples use multiple background colors and a custom combination of both "upper" and "lower" PETSCII character sets which is not possible in standard PETSCII.

Several PETSCII editors/paint programs out there allow for this faux/"fantasy" modes by untying the newcomer authors from original hardware restrictions. Some of them churn out C64 executables that utilize either normal character mode but with custom character set defined and written along with the displayer, ECM mode again with custom character set being written in the prg file, or downright hires bitmap mode (which is way out of even most lenient definition of "textmode graphics"). This furtherly confuses both newcomer authors and compo orgas because it leaves them under false impression that the file is compliant with standard PETSCII.

The shortest possible definition of PETSCII would be: if a picture can be recreated by using BASIC to print it on the screen (thx Groepaz) then it's a PETSCII. Or, if you can recreate it with no commands whatsoever (other than 2 POKEs for border/paper colors), by physically using cursor keys and the rest of the C64 keyboard Raquel Meyers style then it's a PETSCII for sure. I know compo orgas can't go writing BASIC programs or playing around with a real C64. Therefore I've attached a precise PETSCII specification at the bottom of this text. The origin of this specification is Shine's PETSCII World Discord server and the author is wbochar (a PETSCII artist and coder/maintainer of Petmate). Now, I'm aware that orgas can't reprint all this text when organizing a compo, but if they read and understand it, I'm sure they can distill the gist of it into something shorter that fits their needs. As long as they themselves are aware of the precise definition. Additionally, if future orgas are not sure about a specific entry, they can always contact Shine's PETSCII World on Discord or X, as the place is inhabited by nice people ready to help.

=======================================================================

Single Frame 'standard' PETSCII in PRG format

1. Uses built in character rom, UPPER or LOWER case (no mixing or flipping between cases).
2. No relocating ROM's, soft/custom roms, or copied ROM's.
3. petscii/data in standard (for that machine) screen and color memory area (if there is a color area)
4. Frame size is the default character editor dimensions for that platform (c64: 40x25 chars)
5. static background and border color (if that machine has that)
6. loops showing the picture (ie "jmp *")
7. No sprites, music, splits. rasterbars or other code manipulating the system. If you have to clarify something else thats legal, then assume No.
8. Auto starts from basic

So basically the PRG (program) on c64 just loads the screen chars and colors, sets the background, border and "pauses/loops" showing the pic.
Most of the time, I mean 99% we are talking about a c64 showing the petscii.
But technically, there are few platforms out there with their own distinct PETSCII/Colors/Frame implementations.
examples:
c64: 40x25 chars, 16 colors, background and border color.
PetX032: 40x25 or 80x25 chars, Mono Color (green/White), black background and no border color. There are multiple Char roms available for various pet versions..
vic20: 22x23 chars, Color is Fluid.., border 8 colors, background can have 16. The char roms are closer to the Pet than the c64
c128, c16... all have different color, screen size and rom differences..
So when you enter a compo or post a 'PETSCII' online.. we are usually talking about c64 40x25 chars.
If the compo has specific rules like "C64 Micro PETSCII 16x16 Mono Color" then override the values in the list above with the compo values.
Which means I can put 16 x 16 anywhere on the 40x25 screen with one color and choose another color for the Background, Border.
Any messing with the underlying char ROM's makes this a highres image that resembles a PETSCII, but is not a PETSCII.
The whole fun of this, is to work within the confines of PETSCII.
It's great to make art however you want to do it.. but if you want to call it a PETSCII image.. then those are the rules/guidelines.
There are many other formats that are PETSCII.. Wide and Long that scroll, animations, gfx demos. They all use the default charset/colors for that platform.
 
... 70 posts hidden. Click here to view all posts....
 
2024-10-10 06:58
jab

Registered: Apr 2020
Posts: 20
Great findings, 4gentE! Very plausible that those pics are made with Playscii, and its converter was involved.

Quoting Krill
You mean one of those huge scrolling things with just 3 different chars (empty/full/checkered) and colours? =)

Don't forget the vertical and horizontal half blocks, they add so much variety...
2024-10-10 10:17
jmin

Registered: Feb 2024
Posts: 10
Quote: As said, a PC based viewer would be a requirement for this.

In case "PC based viewer" doesn't include the web, IMHO a small JavaScript widget (with parameters for allowing all the mentioned PETSCII variants) that's reading a .seq or bytestream or whatever and generate the corresponding PETSCII pic would be neat. Shouldn't be that hard to do.
That script could then be added by orgas to their party website right next to the compo's rules and their "remote entries"-info (high chance that newbiews do remote entries, right?) as a "validate your entry" thingy.
2024-10-10 12:33
chatGPZ

Registered: Dec 2001
Posts: 11386
Quote:
Shouldn't be that hard to do.

To be honest... its not trivial, "PRINT" has a lot of strange quirks that need to be considered for this. I put quite some effort to make petconv work with most of them, it's still not perfect though (but i am not sure it would affect anything that would be valid in such compo) :)
2024-10-10 13:08
Krill

Registered: Apr 2002
Posts: 2980
An automated validation tool would most likely give false negatives rather rarely.

In that rare case, someone in the know can step in and analyse the maybe-offending entry manually, or the author may be asked to provide a BASIC program instead, and the validation tool be improved.
2024-10-10 14:53
chatGPZ

Registered: Dec 2001
Posts: 11386
Oh, sure. It will certainly work fine for all practical purposes.

As for a pc based "seq viewer" - someone could easily hack up one of the existing PETSCII terminal programs to work like that. (CGTerm is SDL and already has "dump buffer" support IIRC)
2024-10-11 13:46
TheRyk

Registered: Mar 2009
Posts: 2246
Quoting Krill
... i fully agree with MagerValp that enforcing strict PETSCII or not (however defined) remains at the discretion of the compo organisers, as there are good reasons for and against depending on the type of compo and party.

Goes without saying imho.

However, if you host or compete at some various-systems or anything-goes-as-long-as-it's text compo and are unsure, then uploading stuff here without setting subcategory flag is an option, a better option than flagging sth PETSCII which has nothing to do with ROM font or displays upper and lower case or whatever.

-> Whenever uploader (no matter if that's author or orga) is unsure, just flag it release type "C64 Graphics" and enough peeps with expertise will jump out of their holes and check if it's PETSCII.
2024-10-13 14:26
oziphantom

Registered: Oct 2014
Posts: 490
C128 violates rules 1 and 2 within the confines of BASIC PRINTABLE.
It would be able to violate 4 with "BASIC PROGRAM" limits, and 7 as well but we can all agree that it is wrong to do so ;)
you could also violate any "animation" rules potentially with static C128 code as well. Be it BASIC or ML.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
csabanw
crayon/Hokuto Force
goto80/HT
DanPhillips
Guests online: 98
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 Antitrack  (9.8)
3 OTD  (9.8)
4 Fungus  (9.8)
5 S!R  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.063 sec.