| |
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. |
|
... 67 posts hidden. Click here to view all posts.... |
| |
4gentE
Registered: Mar 2021 Posts: 285 |
Quote:there are good reasons for and against
What if I told you that the only reason why standard PETSCII specs were not respected in case of two offending entries (the one from Xenium and the one from Deadline) is simply because Playscii’s (tool that was used for making those two entries) built-in one-click bitmap to PETSCII converter is coded in a way that it doesn’t care from which set it takes chars and chooses background color anew for each cell instead of sticking to global background color? So that the authors were in fact accidentally stuck with invalid files during wiring, invalid files which you’re here bending backwards to present as valid for some unknown reason. Would that still be a “good reason” against sticking to PETSCII standard? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Also a big difference between compo organizers making rules that may allow this and that which may or may not comply with "strict PETSCII" (this is obviously fine AND NOT WHAT IS DISCUSSED HERE) - and organizers that are just clueless and/or not giving a damn.
Again, look at it from the ASCII/ANSI perspective, and imagine what happened if someone would suddenly enter such compo with a bitmap image. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting chatGPZAgain, look at it from the ASCII/ANSI perspective, and imagine what happened if someone would suddenly enter such compo with a bitmap image. You mean one of those huge scrolling things with just 3 different chars (empty/full/checkered) and colours? =) |
| |
jab
Registered: Apr 2020 Posts: 20 |
Great findings, 4gentE! Very plausible that those pics are made with Playscii, and its converter was involved.
Quoting KrillYou 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... |
| |
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. |
| |
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) :) |
| |
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. |
| |
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) |
| |
TheRyk
Registered: Mar 2009 Posts: 2244 |
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. |
| |
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 |