* COMPOWINNER - a short demo for Forndata 2022 ** Target machine Commodore PET 8032 with Basic v4.0 (* see note at bottom). As I don't have access to a real machine, I have only tested it in Vice 3.5. The demo creates a few sound effects on PETs with a sound chip - should run fine on machines without sound chips too. ** Starting the demo in Vice See the attached file run.sh which contains the command I use to start it. Notable flags include the -drive8type 2031 -dos2031 "vice/system/DRIVES/dos2031" as xpet can't find the demo binary without them. ** Is it safe to run on hardware? What about the "killer POKE"? "This is THE POKE of computer lore, the command that WILL physically break a computer! Of course other commands and methods are known that can potentially cause damage (usually to disks, hard drives or other mechanical units), but this is the most notable mainly because it was a command somewhat commonly used and it affects solid-state circuitry." As I don't have a real machine, I can't be sure, so run it at your own risk. I have taken the following measures to make sure it doesn't happen: - avoid writes to memory address $e842 - monitor the Vice log for it's warning message: "VIA: Warning - PET: Killer POKE! might kill a real PET!" The FAQ has this to say about how to know when a killer POKE has occured: "When active, the screen starts to warp after about the third line and the display stops around the fifth, the keyboard is also unresponsive. When a PET is in this mode, the only solution is to turn it off, FAST!" So when running the demo for the first time, you could be ready on the power switch if you want to feel extra safe. Read more about the killer POKE here: https://portcommodore.com/dokuwiki/doku.php?id=larry:comp:commodore:pet:pet_faq-programming#what_is_the_killer_poke_and_should_i_worry_about_it ** Inspiration I got curious about the PET when I happened to find the demo No Pets Allowed by Orb, and found a writeup they made about it. Enjoy! Hedgewizard // SGC *) I use a kernal routine from Basic to place the cursor at a specific point at a stage of the demo - but if you have another version of Basic it's probably OK, the worst thing that will happen is that the cursor will be located in the wrong place.