************************************* Commodore Free Magazine http://www.commodorefree.com/ ************************************* Issue 37, February 2010 Free to download magazine dedicated to Commodore computers Available as PDF, HTML, TXT, SEQ and D64 disk image ===================================== ************************************* CONTENTS ************************************* * Editorial * NEWS - New retro trading website - Games That Weren't updated - VIC Multicart Development Cart - Transactor archive online - Jim Brain's online store - Denial VIC-20 Games Collection - Minimig port available for C=ONE - CC65 updated - Cottonwood/Borderline BBS back up - Jeff Minter talks about Llamasoft - Commodore Basic for Linux - Commodore 64 Best 80's Computer - Tape Master Pro * BASIC Programming Challenge * Interview with "Mathfigure" * My Commodore-Amiga Life * CCC (UK) MEMBERSHIP * CCC (UK) RULES AND REGULATIONS ===================================== ************************************* EDITORIAL ************************************* Hi This month sees an interview with "mathfigure" the creator of a Commodore hacking tool; the program has to be seen to be believed! If you ever wondered what truly goes on beneath the hood of a Commodore 64, you now have the tools available to see every byte change in real-time. This isn't just a Hackers tool its also useful for the curious or would be programmer. Of course the software needs emulation to run, but the tool is updated in real-time and once you see the demo, from YouTube you really will have a WOW factor. This month also sees the first of what is hoped to be several or semi-regular programming challenges. Many people have asked for programming tutorials in Commodore Free. The title of the challenge took some head scratching; hmmm what could we call a Commodore programming challenge; then in a light bulb moment I thought of the rather catchy title "COMMODORE BASIC PROGRAMMING CHALLENGE" the idea this month is to take a really simple BASIC game (you guide a ship well ok it's the letter V and have to collect fuel that are full stops "." and avoid the asteroids "*") and improve the code as you see fit, but please keep the code in BASIC and remember to comment heavily any changes, or with a separate text file note the changes made and why. These could range from Speed improvements to general code tidiness or more adventurous graphics and sound additions hopefully this will encourage new programmers and maybe even teach better coding. The listing, that is heavily REMarked by myself isn't perfect and could in its present state be tweaked, (heavily) but I wrote it in the hope that anyone could follow how it all works. (Its also short if you remove the REM statements. No one has contacted me regarding the Commodore FPS challenge or shoot up so is this really a project no one wants? We know what can be achieved, but still no coders or even potential purchasers have shown an interest "so far" Its strange as so many demos feature a Doom like 3d environment, albeit without monsters. Of course Cnet has told everyone what they already know, you will find more in the news section but apparently they claim some Commodore 64 machine is "The Best 80`s Computer" Personally I haven't come across this machine so can't comment. ===================================== ************************************* NEWS ************************************* ************************************* NEW RETRO TRADING WEBSITE ************************************* http://www.sellmyretro.com A new retro trading website has been set up for trading retro computers and hardware here is an announcement about the site We have recently launched a new Retro Computer and Electronics Auction website - http://www.sellmyretro.com There are some major changes over and above traditional sites, such as eBay which can help you to drive business for FREE! The aim of the site is to be a one stop shop for people interested in retro computers and electronics - we therefore actively encourage traders to open a free web store and use it to promote their own site. If you do choose to list items on the site, listing fees are free until 30th June 2010. After that date, we will be substantially cheaper than eBay. There is also the option of paying £5 per month for a web store and receiving a 50% discount on all fees. Any items which are listed for a fixed price are also automatically added to the Google Base search engine, which can be used for price comparison, or people just shopping around. Web store owners can also edit the wiki which is built into each category and we would welcome additions / modifications to the text which appears for each category to help drive visitors to the site. We would therefore love you to join the community and advertise your site. ------------------------------------- ************************************* GAMES THAT WEREN'T UPDATED ************************************* http://www.gtw64.co.uk First update of 2010... * 'Kayde' special (8 new entries from the obscure 1983 software house) * 'Jimmy's Grand Prix' major update (Clearer screenshots, developer details, game details) * 'Shove Off' / aka Pushover update (Another Beyond Belief title, more details) * 'Caveman Ninja' and 'Flimbo's Quest 2' tunes added * 'Thundercats V1' new entry added * 'The Secret Path' new entry added http://www.gtw64.co.uk ------------------------------------- ************************************* VIC MULTICART DEVELOPMENT CART ************************************* http://www.gamingenterprisesinc.com/ vic20/ Kent Rittenhouse has produced a VIC-20 Multicart/Development Cart with 32 games, games like Pac Man, Donkey Kong, Frogger, Dig Dug, etc.. The price is $28, not including shipping. This is what Kent says about it -- "I have recently dug my VIC-20 out of storage and have been reliving old memories playing through my games. I also decided to build a low cost MultiCart/Development Cart for the VIC-20. You can load the eprom with multiple games. There is also a prototyping area, and access to each of the 44 edge pins (by test points), for those who want to do their own experimenting." "I have made a batch of these for myself & some friends, but I have plenty left over. I don't know if this would be interesting/useful for anyone. Games include [0 = Switch OFF, 1 = Switch ON] 12345 (Switch Position) ----- 00000 AE 00001 Arachnoid 00010 Battlezone 00011 Buck Rogers 00100 Centipede 00101 Defender 00110 Dig Dug 00111 Donkey Kong 01000 Jungle Hunt 01001 Lode Runner 01010 Moon Patrol 01011 Ms. Pacman 01100 Pole Position 01101 Robotron 01110 Skyblazer 01111 Alien 10000 Atlantis 10001 Avenger 10010 Choplifter 10011 Chuck Norris 10100 Congo Bongo 10101 Demon Attack 10110 Dragonfire 10111 Frogger 11000 Galaxian 11001 Gorf 11010 Omega Race 11011 Pac Man 11100 Q-bert 11101 Raid on Fort Knox 11110 Shamus 11111 Star Trek http://www.gamingenterprisesinc.com/ vic20/ ------------------------------------- ************************************* TRANSACTOR ARCHIVE ONLINE ************************************* http://www.bombjack.org/commodore/ magazines/transactor/transactor.htm The Transactor magazine started as a 2-page newsletter dated April 30, 1978 and was published throughout the 1980's. One of the noted C64 hardware-hacking magazines, it was originally published by Commodore Canada. It was purchased from BMB Compuscience, the parent company, by the entire editorial team in April 1987 and sold to Antony Jacobsen & Ben Lewis, Croftward Limited (the publisher of Commodore Computing International among others) in November 1988. Croftward continued publishing both Transactor magazines until late 1989. The last issue of Transactor, January 1990, was fully prepared but never made it off the press. (Commodore Free) The Bombjack archive is a massive collection of Commodore reference material, now the Transactor magazines have been added to the collection. The collection also has a link to the Transactor disks collection ------------------------------------- ************************************* JIM BRAIN'S ONLINE STORE ************************************* www.jbrain.net Brain Innovations sets up new online store Jim Brain set up a new online store where you can purchase fine hardware items for the C64. These include the hardware speeder JiffyDOS, the uIEC/SD device or the 64NIC+ Network Card. Direct store URL: www.jbrain.net . Read Jim's comments below which are copied from the old web address www.jbrain.com Storefront Replacement by brain on Dec.31, 2009, under Storefront Since I've continued to battle some issues with the existing storefront solution initially chosen, I have decided to pursue another option. I spent the better part of the holiday researching and evaluating different solutions, and I hope the chosen replacement satisfies our business needs. Initially, I eschewed hosted solutions, due to monthly cost concerns, but I then found a solution that made it truly easy to add products and create a professional-looking storefront with a minimum of effort on my part. In fact, the solution made it so easy I spent the past evening adding products I had held off adding in the past (because previous product setup was not trivial, so I only added products I thought would sell enough to justify the effort). The old link will continue to work, but the new store is at www.jbrain.net. As noted, I added more of the JiffyDOS image variants, the uIEC/IDE, uIEC/SD variants, and the ROM-el line. Since it's so new, I am sure there are things I need to tweak. Please let me know if you find anything. ------------------------------------- ************************************* DENIAL VIC-20 GAMES COLLECTION ************************************* Jeff Daniels, founder of the Denial VIC-20 website, is releasing his Denial Collection 3, a group of 7 games on tape (6 on disk) for the unexpanded VIC. To follow the discussion thread of this game collection, go to http://sleepingelephant.com/ipw-web/ bulletin/bb/viewtopic.php?t=4077& start=0 My new project is finally done. I'll figure out the postage and start mailing them this weekend. It's a box set and requires a tape drive and joystick (no memory expansion). The box version contains seven modest games. A colour disk version with six games will also be available on request. I eventually plan to make the game programs that can be played without additional components available online in the future. The collection is a concept piece about dichotomies. Ten Ten, the only previously released game, is an example of the theme. I wanted to approach the collection as a musician would assemble an album (consider this my "Dark Side of the Moon"). I couldn't decide if I should tell all about the contents or let it be a surprise. A mystery box. I really want to recreate the experience of tape loaded games. I noticed that after waiting for a game to load, I'm more likely to explore its finer details; unlike the average 2.5 seconds I give to ROMs via emulation. Those of you with the first or second collection should know what to expect. "Basic games". A few other surprises are included this time. I'll have to get to the post office in find out how much postage will be first, but I estimate shipping to average US$5. The box is kind of heavy, so I should verify that first. I wanted to make it a winter gift for when you guys are all snowed in, but obviously, I can't make enough (or afford to ship) to all members. Asking for a donation to offset shipping would help me know how many to make. PM your shipping address if you think you may be interested. Also, if you want me to explain more, I will. ------------------------------------- ************************************* MINIMIG PORT AVAILABLE FOR C=ONE ************************************* www.c64upgra.de/c-one Tobias Gubener has created A new port of Minimig and it's available from the download page of the official C-One website www.c64upgra.de/c-one V2.0 is based on Jakub Bednarski's sources of September 2009. Features include: * emulation of four floppy drives (DF0: to DF3:) * emulation of two hard drives using two image files of up to 4GB each * FAT16 or FAT32 supported for the CF card * long filenames for ADF images allowed * max. memory 11.5MB: 2MB chipmem, 1.5MB slowmem and up to 8MB fast at the same time! * horizontal and vertical image interpolation in VGA 31kHz mode * scanline effect emulation like on Indivision flicker fixers While some of these features cannot be used on the original Minimig hardware, others are possible using Jakub's ARM board as a replacement for the PIC chip. However, Tobias' implementation uses a different approach: A second instance of the 68000 processor replaces the ARM processor. This makes the C-One with FPGA extender the best-equipped Minimig on the market! Kickstart ROMs and hard drive images must be placed in the root directory of the core. ADF files can be placed anywhere in subdirectories. If the core is launched from a subdirectory, a config file is being loaded from there. This config file contains information about the memory layout, name of the Kickstart ROM and names of the hard drive image files. ADF files must be attached during runtime through the OSD using the known key combinations. However, if files named DF0.ADF, DF1.ADF, DF2.ADF or DF3.ADF are found in the core directory, they are "inserted" by default (but can be ejected with the OSD menu). If these files are not found, the computer will be launched with the virtual drives empty. Thanks, Tobias! Jens Schönfeld ------------------------------------- ************************************* CC65 UPDATED ************************************* http://www.cc65.org/ I'm proud to announce version 2.13.1 of cc65. cc65 is a complete cross development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools. cc65 has C and runtime library support for many of the old 6502 machines, including * the following Commodore machines: VIC20 C16/C116 and Plus/4 C64 C128 CBM 510 (aka P500) the 600/700 family newer PET machines (not 2001). * the Apple ][ and successors. * the Atari 8 bit machines. * GEOS for the C64 and C128. * the Nintendo Entertainment System (NES). * the Supervision console. * the Oric Atmos. * the Lynx Console. The libraries are fairly portable, so creating a version for other 6502s shouldn't be too much work. This version is a bug fix release against 2.13.0. Changes have been made in the following areas: * Added a missing external declaration for ser_load_driver. * Fixed an error in the 32K linker config for the Commodore VIC-20. * Fixed a problem with bit-fields. * Fixed a problem with initialization of local arrays with unspecified size. * Function designators are now handled correctly when de-referenced. * Corrected a problem with qualifier handling in arrays and structs/unions. * Passing structs by value was never possible but is now correctly refused by the compiler. * Ignore unknown pre-processor directives in an #if group that is excluded. * Apple ][ target makes use of bit-fields in dirent.h. * Documentation improvements. Precompiled binaries are available for the most common platforms. On many other host platforms, the sources compile out of the box, so you'll able to create your own binaries. For Red Hat Enterprise Linux 5, ready made RPM packages are available. These packages may also work on other rpm-based Linux systems. Please note that there are separate RPMs for the compiler proper, the docs, and the target specific libraries. To develop code for one of the target machines, you need the compiler RPM package *and* one of the target machine packages. Be sure to download the documentation package if you're new to cc65. For windows users, there's a user friendly installer package (the one with the .exe extension). All sub packages are selectable from within the installer dialogue. The installer will also setup the necessary environment variables and start menu entries. It is recommended that Windows users choose this package instead of the .ZIP files. Precompiled binaries for DOS, OS/2 and Windows are available in ZIP archives. As with the RPM packages, you need the package for the development host system (Windows or whatever) *and* one or more of the target machine packages, plus optionally the doc package. All packages are available from the MU software FTP server: ftp://ftp.musoftware.de/pub/uz/cc65/ More information on cc65 can be found on the cc65 web page at http://www.cc65.org/ There is also a mailing list for discussing cc65 related issues (programming, suggestions, bugs, ...). See http://www.cc65.org/#List for information on how to subscribe to this list. While I'm the main developer of cc65, it is actually a joint effort. I would like to thank the target library developers, all the people on the cc65 mailing list, all those sending suggestions and feedback, and even those bugging me for a new stable release:-) The CREDITS file is probably incomplete, but you know who you are. Thank you! Uz ------------------------------------- ************************************* COTTONWOOD BBS & BORDERLINE BBS UP AND RUNNING AGAIN Andrew Wiskow ************************************* From: Andrew Wiskow Subject: Cottonwood BBS & Borderline BBS As of today, 10 January 2010, both Cottonwood and Borderline BBSs are back up and running. Thank you everyone for your support while I was away, and I hope you'll all continue to give your support by calling my boards. :) Call Borderline BBS at +1 (951)242-3593. "Call" Cottonwood BBS at cottonwood.servebbs.com:6400. ------------------------------------- ************************************* JEFF MINTER TALKS ABOUT LLAMASOFT ************************************* http://www.youtube.com/watch? v=vqxY3PkfT1A&NR=1 Here is a little chat from Jeff Minter about the history of Llamasoft, problems with distribution and even a look at one of Jeff's First games on the PET. It makes some interesting viewing and lasts over 1 hour, although some time is spent promoting his latest creations like Space Giraffe The title of the video is called "Llamasoft And The Space Giraffe" The video is by Google Google Tech Talks March 6, 2007 Abstract Jeff "Yak" Minter has been developing video games from the Sinclair Spectrum era on up through the present day. If you were alive in the 8-bit years, you've probably played one of his games: Llamatron, Attack of the Mutant Camels, Gridrunner and Iridis Alpha were among the better-known ones. If you were one of the 30 people to buy an Atari Jaguar, you probably bought his "Tempest 2000" and "Defender 2000" cartridges. And if you own an Xbox 360, you've also seen his work: the built-in music visualizer is his creation. His current project is an XBox Live Arcade game temporarily titled "Space Giraffe", which is an attempt to bring the classic Atari game Tempest... ------------------------------------- ************************************* COMMODORE BASIC FOR LINUX ************************************* http://www.pagetable.com/?p=48 This application is a recompiled version of the original Commodore 64 binary it is not a reimplementation, so while it runs at pretty much the maximum possible speed, it is still 100% compatible. The huge C file in the archive has been produced by feeding the original 6502 code into my static recompiler and optimizing it with LLVM. The original operating system interface (character I/O, LOAD, SAVE etc.) has been reimplemented in native C, so Commodore BASIC interfaces nicely with OS X/Windows/Unix you can use pipe I/O, and you can pass the filename of a BASIC program on the command line. Yes, you could also just run a standard C64 emulator, but it wouldn't be nearly this speed, and everything would run inside a sandbox; and there would be no way to interface this to your OS. ------------------------------------- ************************************* COMMODORE 64 BEST 80'S COMPUTER ************************************* CNET TV has posted a short video listing the Top 5 computers of the 1980's. The Commodore 64 comes out in pole position Here is the rundown 5. Commodore Amiga 4. TI-99/4A 3. Apple II 2. TRS-80 1. Commodore 64 To be honest I thought the Amiga would have won that chart, you can see a full video of the chart as well as some pictures of 80`s dress code and big hair days here. http://cnettv.cnet.com/1980s-computer s/9742-1_53-50081092.html?tag=smallCa rouselArea.1 ------------------------------------- ************************************* TAPE MASTER PRO ************************************* http://tnd64.unikat.sk/tools/ Tape_Master_Pro_v1_0.zip Have you written games and wanted to add the classic loading appearance to you game on tape?. Well this is the perfect tool for those of you who wish to make tape masters of your own games and load your games on tape with an auto boot turbo loader with music and loading picture. This utility comes with full documentation and some example files for you to play around with. (Sharkz II). The best part of this tool is the choice of the border stripes which you could choose from. From the classic Cyberload colours to a multicolour stripey border. The tape master utility itself has a wide range of options. Auto boot turbo loader/saver source was written by Martin Piper. http://tnd64.unikat.sk/ ===================================== ************************************* COMMODORE BASIC PROGRAMMING CHALLENGE ************************************* I thought I would start a challenge to all BASIC coders, (I know everyone hates BASIC; except of course the people who want to and still do use it) below is a small piece of code, its supposed to be a game called asteroid belt, you guide a ship "V" round the stars avoiding the asteroids "*" and collection fuel pods "." The game is unoriginal and has be written many times before, however! I thought it would be fun to start a challenge to all programmers to take my efforts and expand them as far as BASIC would permit. Also what about a Commodore 16/plus4 version or a Vic20 version or even an Amiga version in something like AMOS. Remember this is a learning experience so please heavily document all changes and write up what the changes do! whether that is to speed up the code or add enhancements. Speaking of enhancements here are some I could think of * Better Graphics * Sound * Alien ships appearing at random that need shooting * Better scrolling * On screen score and shields * High score table * Joystick support Here is the code and heavily commented so you can see what is happening Asteroid Belt Listing 5 rem a simple asteriods game by nigel parker for commodore free 7 rem we'll declare all of the global variables and strings used later 8 rem in the programme first as this is good practise and 9 rem also makes things just a little quicker for basic later on 10 a=0: b=a: c=a: i=a: s=a: a$="" 15 rem you can create your own title screen from line 11 16 rem through to 89 if you want to 88 rem right, let's clear the screen and set the border 89 rem and background colour to black and the characters white 90 print chr$(147);:poke 53280,0:poke 53281,0:poke 646,1 99 rem now lets scroll the screen upwards to get everything ready to play 100 fori=0 to 23:print:nexti 109 rem here are the first of the global variables we set up earlier 110 b=1504:c=20 111 rem the variable b is the ship's row on the screen 112 rem and c is for which column it appears in (0 through to 39) 120 a=int(40*rnd(1)) 121 rem the variable a is a randomly generated number between 0 and 39 122 rem this is used in the poke below to randomly generate where the 123 rem collectible dots will appear 130 poke 1984+a,46 131 rem line 140 will create a randomly generated floating point number 132 rem greater than zero and no more than one, if this is greater that 133 rem 0.1 then it pokes a star onto the screen in a random column 134 rem the stars must be avoided! 140 if rnd(1)>.1 then p=int(rnd(1)*40):poke p+1984,42 141 rem get a$ will input the key press into the string a$ 142 rem there is then a condition to check if the contents of a$ 143 rem are z (which moves the craft left) or m (which moves it right) 144 rem there is also a second condition: c must be greater than zero 145 rem to move left and less than 40 to move right, obviously because 146 rem the c64 has a 40-columns display 147 rem if there has been a key press of left or right, and c is greater 148 rem than zero and less than 40, the old screen position of the ship 149 rem is cleared by poking it with 32 before changing the value of c 150 get a$:if a$="z" and c>0 then pokeb+c,32:c=c-1 160 if a$="m" and c<40 then poke b+c,32:c=c+1 161 rem this bit clears pokes a space onto the screen at the player's 162 rem last location denoted by c before scrolling it one line-feed upwards 170 poke b+c,32 175 print 178 rem this now peeks at the location of the ship to see if an 179 rem asteriod is present - if so, it jumps to line 310 180 if peek(b+c)=42 then goto 310 189 rem and if there is a dot present, it jumps to a subroutine at line 400 190 if peek(b+c)=46 then gosub 400 193 rem and now we poke the ship denoted by a v onto the screen, jumping back 194 rem to line 120 until the condition at line 180 is met (you hit an asteriod) 195 poke b+c,22 300 goto120 309 rem looks like it is game over :-( 310 print chr$(147); 320 print "sorry you hit an asteroid" 330 print "you scored ";s;"points" 331 print 332 end 399 rem well, you score 10 points for collecting a dot 400 for i=0 to 16:poke 53280,i:next i:s=s+10:return Now for a full breakdown * lines 5-9 are just comments any line stating with REM is a REMark or comment and ignored by BASIC however leaving these lines in slows the program down. * line 10 Assigns variables with values, you notice A=0 B=A (A is nothing and so on ) and A$"" any variable ending with a $ is treated as a text string so the quotes give the value of no text * 15-89 Remarks * line 90 chr$(147) is a clear screen code so this just prints a CLEAR screen command poke 53280 is the border colour and 0 is black so turn the border black poke 53281 is the screen and 0 is black so turn the screen black poke 646 is the screen or text colours 1 is white so all characters are printed in white * line 100 There are 25 lines on a Commodore 64 down the screen this command sets i to Zero and prints nothing on screen after the print the Commodore does a carriage return to the next line, the next command makes the value of I increment (go up) until it reaches 23 what this does is move the cursor down the screen 24 lines so the next line printed is at the bottom of the screen * 109 REMark * 110 B=1504 this command sets B to a value of 1504 this is the 13th row down the screen (see screen MAP) c=20 sets the value of C to 20 used to place the ship 20 characters from the left of the screen (centre of the screen as the Commodore 64 has 40 columns across) * 111-112 REMarks * 120 This command sets the value of a to a integer or whole number between 0 and 39 this is used later to place the dots on screen in a random location across the screen * 121- 123 REMarks * line 130 the value 1984 is the start of the C64`s bottom row so at the start of the bottom row plus the value of A (that is a random value assigned in line 120 ,46 this prints the character 46 a . on the screen in a random location on the bottom row * 131-134 REMARKS * 140 This generates a random floating point number (less than 1) sets the value of P to a whole number between 0 and 39 and then places the * character (42) on the screen location value of P+1984 (bottom row) Experiment with the number 42 if you use the value 36 a $ (dollar) symbol will be printed on screen * 141-149 REMarks * 150 the Command GETA$ checks the keyboard for a key press if that key press is Z and the value of C is greater than 0 (so not less than the screen starting column they are 0 to 39) then a character is placed on screen at B+C then the character 32 (a SPACE) is printed on screen and C is equal to c -1 as we have moved our ship one place across the screen to the left * 160 Similar to 150 if the key is a M and c is less than 40 (the end column value as the c64 has 40 characters across the screen and 25 down) then place a 32 (or SPACE in the value) and we have moved so we need to increment the value of C by 1 we moved right 1 character * 161-162 REMarks * 170 this prints a SPACE remember the value of 32 on screen at our last location * 175 simply prints nothing with a carriage return what this does is move the screen up a line as we are on the last line so the screen scrolls (or jump scrolls 1 line) * 178-179 REMarks * 180 the peek command LOOKS at a value of memory in this case its the value of B+C if the value is 42 (that's a * or an asteroid) they your have crashed and the game ends it does this by going to line 310 * 189 REMark * 190 we check the value of the memory location B+C with the PEEK command if its a value of 46 we make the program temporarily move its sequence somewhere else this needs a RETURN to take us back. the value 46 is a . and so we hit a fuel pod we need to add some points to the placers score * 193-194 REMarks * 195 We better put a ship on screen so we can move it this is done by Poking or placing the Value 22 or the character V at location B+C ( you see maths and algebra do actually have a use, I wish I was more awake at school now) * 300 GOTO or make the program move back to line number 120 and that you remember starts all over again with printing random * asteroids and . Fuel pods * 309 REMark * 310 Prints character 147 or a clear screen code * 320 prints or places the text between the quote marks "" on screen * 330 prints or places the text between the quote marks "" on screen the value S is a variable you see it has no quote marks so as the value of S is a number it prints this number on screen. * 331 prints a blank line * 332 END this stops the program and returns you back to basic * 339 REMark * 400 ok this is another loop it increments the value of I from 0 or back to 16 well the c64 has only 16 colours and 0 to 16 makes 17 so 16 is actually printed as black again this ensures the screen stays black as we continue this value is poked or placed into the location 53280 (the commodore 64`s border) and RETURN makes the program go back to the line after the GOSUB command so this line makes the border flash all 15 colours and the 16 makes the screen go black try changing the value from 0 to 5 see what happens :-) ===================================== ************************************* INTERVIEW WITH "MATHFIGURE" Creator of the Commodore 64 hacking tool ICU64 ************************************* Q. Please introduce yourself to our readers. Hello, I'm Mathfigure, the creator of the Commodore 64 hacking tool ICU64. I am a Physicist from Greece, and was born in 1976. Q. How did you first start with computers and what are your earliest memories? As far as I remember myself my favourite "toy" was the hammer (the absolute disassembly tool). I always want to see inside the devices, to see how they work; but soon this interest proved too expensive (even later, when I discover the screwdriver!) So I changed my hobby and started to become an athlete. I first heard about computers in 1986. I asked my big brother what it (a computer) is; and he told me about a machine that looks like TV but also has a typewriter attached, via which you could give commands for what you wanted to see on the screen. I was fascinated by this idea: a machine that I could order! So in January 1988, after begging our parents daily for about 18 months (I think this is a record!), the first computer arrived at my home: a Commodore 128D. Since then I stuck with computers. I started to play with commands for graphics and thus I slowly started to program. I familiarized myself with the Cartesian Coordinates and some other aspects of Analytic Geometry before I learnt anything about Algebra and Geometry. In parallel there was also a Commodore 64, embedded to the C128, capable to running thousands of games! And I always wanted to beat a game within two ways: to finish it and to hack it. I have made innumerable resets between the C64 mode and the C128 mode trying to hack some games with the embedded debugger of the C128. Briefly, the C128 gave me a scientific view of the computer that led me finally to university, but the C64 was the machine that I always wanted to hack and that led me to the ICU64 project. Q. For the people who haven't see it or heard of it can you tell our readers about ICU64 for FRODO, what are the main functions you can do with the software? The project tries to manipulate the C64 as a whole (hardware and software) using the full power of the PC. The ICU64 is aimed to be a comprehensive tool for the most demanding user of the C64:the hacker. Its aim is to provide real-time visualizations for every internal component of the C64, as well as other combined visualizations that would make clearer the operation of the hardware and the intention of its software. To achieve this, the software runs in conjunction with a modified version of the C64 emulator FRODO that I call Frodo Redpill. The Frodo Redpill provides access from outside to almost every bit and every event that exists and occurs inside the C64 virtual machine. Currently, the main feature of the ICU64 is a handy view of the address space as a bitmap which shows the contents of the memory and every access that is performed by the CPU and the VIC-II. When a byte is accessed, a corresponding pixel is colorized: red if written, green if read and blue if executed (as you can imagine combinations occur fast and often). You can zoom out to see the whole memory and easily distinguish data and code, or zoom in down to the details where you can see the values of the individual bytes as hexadecimal numbers, or zoom further to see the addresses of the bytes and the machine language mnemonics, or even further to see the address of the code which accessed last that particular byte. Also, you can edit the values of the bytes at any time. All these functions are in real-time while the C64 is running any software you like. This "memory view" is highly dynamic and interactive, so it may sound complex, but is really easy and intuitive to use. Q. So you can see every memory access colour coded in the emulator of the Commodore 64 and change the bytes manually, what other features does the software have? There is a "graphics view" where the contents of the RAM are decoded in 4 main ways that the video chip (VIC-II) supports: sprites, bitmaps, charsets and text screens. This view is also editable. For example, you can draw on the screen and change the stage of a game on the fly, giving an immediate way for cheats. Other features are: the "display window" that emulates the C64 display and shows the VIC state for each raster line; a simple visualization of the SID state; a CPU instruction logger which tracks the executed instructions only once, so you can locate event handlers; and a "raster view" which is cycle-exact and visualizes the activity of the VIC. At any time, there is also the possibility to pause the virtual machine and trace it step-by-step, where the "step" may be: a frame, a raster line, a cycle, or a CPU instruction. Most of these features have lame implementation or they have only few functions but they will improve with time. Q. How long did this software take to program? Well, I don't count the hours. Usually I work on the project for a couple of weeks then test it for some days with several games and demos, and then I work again after several months. In the middle time I work on other projects (unrelated to C64). My first attempt to start the project was in 2000 but it was hopeless. In Nov 2006, and after working for 10 days, I had a stable version for the VICE and the CCS64 emulators, with the memory view (only the RAM), the graphics view (only the sprites), and the display window. The RAM view was a 256x256 gray scale bitmap and there was a red highlight for every byte when its value changed. No zoom and no memory accesses, nevertheless it was amazing, so I spend a lot of time watching many games and demos under this view. Realizing the potential, I start to prepare the Frodo version. Next year, several features were added (only for Frodo), and in Dec 2007 the program took form, in May 2009, it was shown to the public as a preview. During the summer some features were removed (as they were though too lame) and some others were added, before the first public release on Sep 2009. Q. Do you have any other features you would like to add? Many, and really I don't know what to add first: * visualization of the CPU, VIC-II, SID, CIA1 and CIA2; * unification of the memory view and the graphics view in a handy matrix editor; * breakpoints; * labels; * auto memory map; * several different color schemes of the memory; * customizable display; * more featured "raster view"; * more flexible instruction logger; * snapshot manager; * parallel executions on the same emulator; * parallel synchronization of multiple emulators. Be aware that some of these are just ideas, others are closer to implementation, and toward time other ideas may appear. Off course all these need a lot of time and with my rate so far I don't know how long will they take. Q. So who would best utilize this software and who did you think about when designing the software? Initially it was created for personal use only, but after the public demo and its acceptance, I decided to spread it as far as possible. The target user is the C64 hacker and my effort is to make his life easier. And since the hacker is the user who wants the most, everybody else should be pleased too (i.e. developers, self-learners, gamers). I would be happy if this tool could be utilized as a "gamer-to-hacker converter" since a gamer sees only the tip of the iceberg when playing a game and ignores how the game works (the big part). On the other hand, this software is not for engineers as it visualizes only the logical operation of the computer. Q. Do you have a Blog or Twitter page people can follow? I have a blog (http://icu64.blogspot.com ) where I post anything new that is related to the project (not much so far) the blog contains links to download the files needed to run the software. I'm also on YouTube (http://www.youtube.com/mathfigure) where I have upload some previews of the software in action. Q. How is the software beta tested for errors? I test the software myself looking for major bugs. Minor bugs may be fixed even after the release. If the same bug remains from one release to another, then it should be reported from the users, because probably I haven't noticed it. Q. What software did you use to produce the software? I use the C# of Microsoft Visual Studio where ICU64 is written and the C++ where Frodo Redpill is written. Also, I use the Wolfram Mathematica to test new features, or to do more advanced operations, during reverse engineering of a game, for example. Q. What do you need to run the software and is the software publicly available? The software it is free available from my blog. The requirements are: a PC that runs Windows XP or better, equipment with a mouse that has a handy wheel for easy pan & zoom. In the case of Windows XP, the Microsoft .NET Framework 2.0 or better must also be installed. There are two version of ICU64: the Frodo version which needs the Frodo v4.1 emulator, and the VICE version (with limited features) which needs the WinVICE v2.1 emulator. Q. Why implement this for Frodo first rather than any other emulator Building a prototype you want to concentrate more on what to do and not on how to do it. So you want anything around your project to be helpful and not a barrier. It was between Frodo and VICE. Frodo has elegant source code, and comes with an excellent article about the VIC-II from the creator of Frodo, Christian Bauer. Between the article and the emulator one could see a one-on-one map of "what" and "how". Thus the VIC article serves as a very good documentation for the source code making it even easier to understand. Though the VICE emulator was superior, its source code wasn't easy to read and sooner or later would stop my project. Actually I started to work with VICE but soon return to Frodo. Q. If our readers have suggestions to add extra features would you be open to their ideas? Any idea is welcome (preferably ideas about unifications, generalizations, or extensions). Q. Would you release the source code as freeware or similar? I would like to, but first I must get it well formed and perfected because currently the code is a mess. Q. Do you have any other Commodore related projects you would be prepared to tell our readers about? ICU64 is meant to be an all-in-one project, at least for me and anything I develop around C64. I can't imagine a tool for the C64 that couldn't embed with ICU64. One of the major goals of this project is to give to the user the full control over the machine which means, by definition, that he shouldn't need any other tool (off course it's still far from this). Q. For a system considered DEAD, why do you think there is so much interest in the Commodore 64 and for that matter "RETRO" computing in general? Nostalgia is the major reason why most users use a retro system periodically. Yet, the hackers have another reason as well: they are trying to get the maximum from the minimum (a hacker's principle). The C64 demo scene is full of creative hackers who still squeeze the C64 trying to extract the whole potential of this machine, and surprising they still continue to impress us. The best demo I have seen (Edge of Disgrace) is released in 2008! So, the C64 is actually LIVE. And there are a lot of people that try with their way to keep it like this (the fate of C64 is on the hands of its users). On the other hand, compare the C64 with the PC. Which is more "pretty"? The components of the C64 are chosen carefully to provide the maximum potential with the minimum cost. Have you opened a PC to see how much unnecessary complexity and redundancy exists there? So, the MODERN machine is "ugly" and this is another reason why the hobbyists who want to study a computer as a machine would prefer a "pretty" RETRO one. Note also that the emulation combines the RETRO with the MODERN, and my project moves toward this direction. Q. Do you think emulation will ever become so perfect we don't need to keep preserving the "REAL" machines anymore? Absolutely! It is known that a computer can simulate the operation of another computer. The fact that the current emulators have some weakness is due to the lack of detailed specifications and the need to be hosted on powerful and flexible real machines. Besides, a "real machine" is an implementation of a design which describes an "ideal machine". And a "virtual machine" is just another implementation of the same design. Which implementation could be closer to the "ideal"? On the other hand, if it so important for someone to touch the thing, I believe that in few years it will be possible to "print" the parts and assemble a real C64, at home! Q. Do you have any comments you would like to add? I want to thank all the guys who with their comments helped me to stay concentrated on the program during the last summer, so it can now be made available to all. I hope that the program will serve as a good gym for the mind for anyone trying to figure out how computer software actually works. Also, I hope that this project will inspire more developers to create similar tools, since there is a big unexploited potential here. Q. Thanks for working on such a great piece of software. I'm happy that you like it. Q. For anyone curious or in need of a demo look at these http://www.youtube.com/watch? v=1TdaoOluq0A http://www.youtube.com/watch? v=tjcvR5McmSg I think when our readers see what the software can do it won't leave many without that WOW factor this is the greatest thing I have seen in a long time, I couldn't begin to think how you wrote such piece of code have you had any negative comments? Indeed, there is lots of "WOW" under the demo video, wherever posted. However, there are some negative comments about the background music (as a kind of noise) and the song (because it is a little aggressive). Yet, this is the music on the ending titles of "The Matrix", and due to the obvious parallelism between the program and the movie, this was the only choice that I had (besides that I like it!). Q. I see you have quoted something about "everything is numbers". I guess most things can be explained with mathematics, the way trees form, flowers, snow etc can EVERYTHING be expressed as a number or formula? OUR mathematics is applicable everywhere human logic exists and in the cases where the human logic is vanished or banished (e.g. love) then we can't do anything about. However, this question touches the philosophy of science so prepare for a dive. First, the "everything is numbers" was a philosophical thesis of Pythagoreans (over 2500 years ago). In the virtual world of a digital computer EVERYTHING is numbers (you can see it with any debugger). As a physicist, I think the same thing for the real world. So far all our efforts were to try to guess the laws of the universe using our classic mathematics and by doing many physical experiments. But, could we just see the REAL CODE of the universe (like Neo in the Matrix)? The Quantum Computers use the nature as a mathematical library, with ignorance about HOW she does her math. But can we see HER math? We could debug a quantum computer but that would violate fundamental principles of quantum mechanics. Yet, maybe there is a chance if we could build a "Quantum Meta-Machine" (a kind of quantum emulator on a quantum computer) and then watch its operation with the hope that this way we could cheat the nature. We must just believe in a more powerful principle that says: "nothing is impossible". Q. I guess I know why you use the handle "mathfigure". I guess you guessed right! ===================================== ************************************* MY COMMODORE-AMIGA LIFE by Lord Ronin from Q-Link ************************************* COMMODORE FREE Dave wrote this for the last Village Green fanzine December 2009 I have reprinted the article as a mark of respect, Dave was a very keen supporter of Commodore Free (Dave Passed away on the 3rd December 2009) As a way to bring in more information about us and our interests in the sacred and most holy C=, I am starting this series, hoping that I will have information from the members for each issue on your life story with our beloved PC. Sort of been thinking about this idea since D. Mackey sent in his background on the sacred PC. So don't feel lonely; tell us about your life with the CBM line. OK, I'll start off; it is my job, I guess. Let's do a time warp back to the mid 80's. I was working as that most vile and evil thing, a telemarketer. Well, in my defence, it was for the state, and it was licensed, and it was for the Special Olympics. At that time I was computer-phobic, while my mother had been teaching adults to read for several years. She had one student that had to have his wife fill in the job applications and read the newspaper to him. Yet, he was a Commodore user, and I suspect but can't prove [that he was] a member of the users group in Grants Pass, Oregon. Don't ask me how he could use the C=, but he could and got my mum interested in it. So in 1986, she bought a 64, off-brand name monitor, black MPS-803 printer, 1541 drive, diabetic programmes, other programmes that I have yet to be able to look at, and a computer desk. Speed ahead for a moment. That desk is now in the shop and is the 64C set up. Disk drive was smashed by Mark Reed, and the print head went out on the printer. Sold the monitor, as I had six 1702s at the time. My wife at the time and I had visited [mum], and she came several times to visit me, saying that I needed a computer as I was a writer. Yeah, like we believed that last part. Skipping ahead to 1993, March to be exact. The wife had been gone for six years. Would have been nice if before she married me, she had divorced three other husbands. [That day], I get a cop at the door of the shop where we were still sweeping the. floor and moving things into our new location. I can still remember where everyone was standing at that time; [the cop informed me that] my mother was in the hospital with a heart problem. She was 400 miles away, and I had no transport. But one of my martial arts students and gamers had a car and time off. I had a few coins to lay on him for gas. He took me the 400 miles at breakneck speeds in a little Honda, I white-knuckled the entire trip. Literally, made it there in record time. Went to the hospital the next day. I had the keys for her place... oh, wait, I still have the keys... where I found out she had that she had heart trouble. A quintuple bypass had been performed, and they had jump-started her on the table around three times. Wish she had sued them, as she had a DNR (Do Not Resuscitate) on her paperwork that they ignored; I [could have] had a lot more C= stuff now and not be on disability (VBG). Oh, add here that it was 1987 that I was declared permanently disabled. Well, she had more tubes in her than my 1936 Hallicrafters SWR (shortwave radio). All she wanted to talk to me about was her OBE (out-of-body experience) with my father and the Commodore system she had for me in the shed. Like man, I was really interested in the computer at that time (not in the least). But how do you argue with a 70 year old mother that is pushing a computer on you? OK, when they tossed me out of the hospital, I went back to her place [which] was in walking distance for me at that time. In the shed at her retirement trailer court, there was a breadbox 64, SR-3000 monitor (she didn't know it also did 80 col.), Okidata 120 printer, funky joystick to my eyes, a couple of factory boxes of things, Word Writer 4, The Hobbit, and three boxes of "archive" disks. Loaded that up in the little car. No idea how it fit. Got good and drunk that night on Burgermeister, my father's fave beer (also not in the stores in Astoria). Said good-bye to her the next day and had another white-knuckle ride back to Astoria, where the system was laid out on a little coffee table. I was scared to death of it. Well, two of the commune/kibbutz members had some computer experience -- one with the Rat Shack "Colour 64", the other with an Apple. Tell you here that both were impressed with the Commodore. Good thing the users guide was in the mess. Now I'll add here that at that time, I didn't know about platform-specific or anything. Didn't know that C= disks didn't work in anything but Commodore. All I had done in computers in the past was key punch on cards in college and pop out 4K chips replacing them with 8K chips in TRaSh-80s at the Shack. Now I had this cybernetic monster in front of me. Hey, it had this great factory disk box and copy with manual of Acro Jet. The three of us destroyed the disk, playing it so much the first night I returned. Then all those arcade games in the "archive" disks... spent a few days playing with those and learned that I could make things in the Word Writer 4 programme. So I did a few little things for the nightly RPG (role-playing game) group. Looked better than my scrawl of handwriting. I was starting to like the "friendly" PC. During the year of 93, I was at the cafe that was next to the shop, [having] known the people for years. Not sure how the conversation started but in the end, they were selling off their C= system. I thought it was a great idea to have one in the shop at that time. Been one in the shop ever since. Well, it was a breadbox, some disks... all I remember was "archive" copy of Project Firestart that had me for months tearing out my hair on how to play it, but the intro scenes were what sold me on the power of the C=. Along with that came an amber monitor... not a lot of fun, I admit. Well, it was in October of that year... kids were out doing trick-or-treating with the downtown merchants a couple of days before Halloween, when a guy I had worked with in a small boat building place over a decade earlier came in and saw what I was playing with at the time. Told me all about the "Astoria Commodore Users Group", which he said was a big copy party group... like I understood what that meant at the time. Laid a phone number on me and hooked me with the fact that disks cost 25 cents each at the meetings. I didn't know about the how, where, or why to get the disks. Yeah, I was using the master copies... a real lamer. To be short, I went to the November meeting, joined in December, and Mark Reed joined in January of 94. Over the next approx. 16 years, my idea for a name change was accepted for the group. Became the editor, 128 librarian, 64 deputy librarian, 64 librarian, and finally the president... a title which was changed to Chancellor. Newsletter expanded. A BBS was up from 1996 to 2005 and will be up again. Shop added the hardcopy library to the floor space. Later, the software collection and hardware for sale, with a reduced rate for group members. I ended up doing more and more writing on the C= system, moving from the Newsroom to GEOS and later to GeoPub... then to Wheels and what we have today. OK, that is the short of it. As for my Amiga stuff... well, this has gone on too long, and the Amiga and me is better done at a later time. However, you can tell it was all my mother's fault that she created this Commodore fanatic. Now it is your turn to relate your C= history. Feel free to add what you doing today as well. ===================================== ************************************* COMMODORE COMPUTER CLUB UK. MEMBERSHIP ************************************* http://commodorecomputerclub.co.uk/me mbership.php My personal details Name _____________________________________ Address _____________________________________ _____________________________________ Postcode __________________________ Email address _____________________________________ Forum name (if registered) ________________________________ I wish to be a member for [_] 6 months* - £3 [_] 1 year* - £5 [_] Life member - £30 * Membership fees for 6 months or 1 year will be back-dated to the beginning of the month that the membership application has been made and relevant fee has been cleared into our account. This can be paid either by personal cheque, postal order or PayPal. Membership fees are currently £3 for six months, £5 per year or £30 for life membership. Please tick your interests from the following [_] Gaming [_] Tech/scene demos [_] GEOS JOS/WINGS [_] BASIC programming Machine language [_] Collecting Archiving/preservation [_] Other applications Specify other application _____________________________________ _____________________________________ Please tick if you use any of the following peripherals [_] Datasette [_] 1541 compatible drive [_] 1581 compatible drive [_] CMD FD2000/4000 [_] CMD HD or RAMLink [_] 1351 mouse/compatible [_] Commodore REU Other RAM expansion [_] SuperCPU 64/128 Other accelerator [_] MMC/Retro Replay [_] SwiftLINK/Turbo232 [_] RR-Net or FB-Net Other networking device [_] 1541Ultimate/+ [_] Action Replay [_] Expert Cartridge [_] Other cartridge upgrade [_] JiffyDOS Other speed loader [_] Commodore VDU Other hardware Hardware not above _____________________________________ _____________________________________ Please tick which computers you own [_] CBM/PET 40 columns [_] CBM/PET 80 columns [_] VIC 20 [_] C64/64c [_] C64GS SX-64 [_] C16/116 Plus/4 [_] C128/C128D C64DTV [_] Other Commodore 8-bit [_] Other Commodore 16-bit Specify other computer _____________________________________ _____________________________________ [_] I declare that I, the named applicant above, have read and understood the CCC (UK) rules and regulations, and agree to abide by them fully and co-operatively. I understand that I am joining this club on a personal level, and not as a representative of any group, developer, publisher or vendor that I belong to. ===================================== ************************************* COMMODORE COMPUTER CLUB (UK) RULES AND REGULATIONS ************************************* http://commodorecomputerclub.co.uk/vi ew.php?art=ccc_rules&loc=documents Commodore Computer Club (UK) rules and regulations: These rules were agreed on Saturday 26th July 2008 at our first meeting held at Blackburn, Lancashire. They cover all rules of the running of the Commodore Computer Club (UK), herein referred to as 'the club', and also regarding complaints made to the club, and membership of the club. (1) Membership subscriptions, raising funds and re-selling items. (a) All members will pay a membership fee as follows: £3 for six months, £5 per year and life membership at £30. This fee will entitle the holder to free entry to the meetings, and special limited areas of the website, such as private forums and exclusive downloads, should we get anything exclusive to download. Membership will always be back-dated to the start of the month in which the member took out the subscription, so that everyone joining in the month of April for one year will see their membership expire on the 31st of March the following year. (b) We should have a 'Commodore Computer Club Shop', which will stock all of the latest hardware mods and sods for Commodore computers where possible. To stop the 'Maurice Randall' effect, in which the club will have to repay people for not receiving their goods because they haven't been delivered but have been paid for, items will only be on sale if they are in stock. (c) There will be two prices, one for members (cost of item + postage and packing + 10%), and one for none members (cost + postage and packing + 20%). (d) Any members that do work for the club, organising events, donating items for auction, coding, or are otherwise active, with exception to posting on forums and turning up to meetings, will be considered for free membership and/or lifetime membership on merit based only on work they have done for the club. In certain instances, will include what they have contributed overall to Commodore computing or gaming during their life-time, should any 'Commodore legends' show sufficient interest to join the club. (2) Events, software and other developments. (a) Any money that is raised by the club should be used primarily for setting up events, or bolting onto other events as appropriate This is to go towards, or cover costs of van hire, hotels, and food and drink, so the person or people who are willing to travelling to these events, man stalls and generally promote the club and its work are not be out of pocket as far as possible. (b) Profits made from items sold at events should contribute to cover the costs of attending, or hosting, and/or expenses accrued during the event. This will not include monies raised from membership subscriptions paid for during the event. (c) The club should also seek to raise money for the purpose of developing hardware and/or software that will benefit Commodore users in the UK and world-wide, and such items could therefore be sold through the club Shop. (d) Payments to developers who are commissioned to work on behalf of the club should not be made in advanced or up front unless otherwise agreed by the treasurer and chair-person, and any other two members. This should be openly discussed with all members either in private members areas of the site, or at an organised meeting as appropriate (e) Hardware that is commissioned on behalf of the club which reaches production should be sold at a small profit, and monies raised to put back into the clubs funds. (f) If it is agreed that the club should commission entertainment software, the productions should be available to download for free from the site for members only. Real-media versions should also be sold through the shop with non-members able to buy copies, though at a higher price than members. (g) Any software commissioned by the club will either be purchased outright, paying the programmer an agreed fee on completion, or paying a lesser fee and splitting the profits at an agreed rate. This should be discussed on a case-by-case basis. The chair-person and treasurer, and two other members, must agree which method should be implemented. (3) Meetings and monies. (a) The club should hold an annual general meeting in which members have a say in its running, and are able to make suggestions and table official club business for the year ahead. Membership subscriptions should be reviewed at the annual general meeting, and any price increases must be agreed by the chair-person, treasurer and at least two other members. (b) There should be an annual audit of the clubs finances, with a news-letter at least every three months. The audit should be published before the annual general meeting, and this and the news-letter should be available to current members online in the private member areas. Former members may request this information, which will be granted on a case-by-case basis. (c) Members will be able to attend any events that organised and run by the club for free when ever possible, whilst non-members will pay a small signing in fee of at least £2.50. With agreement with other event organisers, and at events that the club is attending in an official capacity, we will work towards getting members a discounted entry fee. (d) All monies raised will go back into club funds. (4) End of line. (a) If it is apparent that the club is not running within its means to the extent that it is likely to fold, or that legal action against it will lead to the club being dissolved, all club assets should be sold or auctioned off, the monies raised pooled and members will be refunded their current subscriptions based on the length of time they have been members. The longest-serving paying members will be refunded first as appropriate, either partially or fully depending on the financial circumstances at the time. The newer members will be dealt with last. (b) Personal donations to the club's funds can never be fully refunded, and are not guaranteed to be paid back at all depending on the circumstances. Club complaints procedure: Phase 1: Where a complaint is made against the club, or one of the club members, there should initially be a private apology between the club or individual and the plaintiff. This apology should be for 'any undue harm or upset caused', and will not amount to an admission of guilt or a retraction in any way. The club will not be able to force any of its members to make this initial apology except in the instance that the individual has clearly and admittedly worked on the clubs behalf in the matter specifically relating to the complaint that has been lodged. Phase 2: The matter should then be investigated to establish the facts. If it is deemed that an individual club member has not been acting on the clubs behalf with regards to the specifics of the complaint, then this becomes a personal matter between the two parties. The club should therefore stop any further investigations or involvement in the matter. Phase 3: If the complaint lacks any real evidence, or it is felt that the findings are not conclusive, then the matter should be closed. Neither the club, nor any of its members, should therefore discuss the matter publicly. All findings should be reported to the plaintiff, and the matter should be considered closed from the club's point of view. Phase 4: Where a complaint is upheld, a public apology and/or retraction should be published through the official website, and in the newsletter. The club should also give the plaintiff the opportunity to give his or her point of view through the website and/or newsletter as appropriate In this instance, the case will be considered closed from the club's point of view unless the plaintiff wants to take the matter further through due legal process. Emergency phase: If at any point during this process the plaintiff feels aggrieved to the extent that he or she instructs a solicitor to take the matter up against the club or club members who have clearly being acting on behalf of the club in this instance, the club should then consider its legal position on the matter, and a meeting should be set up with the principle members of the club within two weeks of receiving legal notice to discuss the matter, and what to do next. Obviously, one would hope that any complaint would ever get to this stage. Membership: People who join the club will have a personal membership to it. They may not join the club as a company, publisher or software distributor or hardware vendor. Newsletter and reviews: The Commodore Computer Club (UK) is an independent user group which will review and stock all appropriate wares. We will do so on merit only, and invite all members to have their say about any literature published through the newsletter or any reviews written on behalf of the club. We will invite hardware and software vendors and publishers to have their say on reviews written, and we will publish their comments through the newsletter. =====================================